-
+ {showHandles && (
+
+ )}
#{key.trim() === "" ? "" : key}
diff --git a/autogpt_platform/frontend/src/app/(platform)/build/components/FlowEditor/nodes/widgets/SelectWidget.tsx b/autogpt_platform/frontend/src/components/renderers/input-renderer/widgets/SelectWidget.tsx
similarity index 80%
rename from autogpt_platform/frontend/src/app/(platform)/build/components/FlowEditor/nodes/widgets/SelectWidget.tsx
rename to autogpt_platform/frontend/src/components/renderers/input-renderer/widgets/SelectWidget.tsx
index 1c5d54930e..db68a1628c 100644
--- a/autogpt_platform/frontend/src/app/(platform)/build/components/FlowEditor/nodes/widgets/SelectWidget.tsx
+++ b/autogpt_platform/frontend/src/components/renderers/input-renderer/widgets/SelectWidget.tsx
@@ -1,5 +1,8 @@
import { WidgetProps } from "@rjsf/utils";
-import { InputType, mapJsonSchemaTypeToInputType } from "../helpers";
+import {
+ InputType,
+ mapJsonSchemaTypeToInputType,
+} from "@/app/(platform)/build/components/FlowEditor/nodes/helpers";
import { Select } from "@/components/atoms/Select/Select";
import {
MultiSelector,
@@ -11,9 +14,14 @@ import {
} from "@/components/__legacy__/ui/multiselect";
export const SelectWidget = (props: WidgetProps) => {
- const { options, value, onChange, disabled, readonly, id } = props;
+ const { options, value, onChange, disabled, readonly, id, formContext } =
+ props;
const enumOptions = options.enumOptions || [];
const type = mapJsonSchemaTypeToInputType(props.schema);
+ const { size = "small" } = formContext || {};
+
+ // Determine select size based on context
+ const selectSize = size === "large" ? "medium" : "small";
const renderInput = () => {
if (type === InputType.MULTI_SELECT) {
@@ -44,7 +52,7 @@ export const SelectWidget = (props: WidgetProps) => {
id={id}
hideLabel={true}
disabled={disabled || readonly}
- size="small"
+ size={selectSize as any}
value={value ?? ""}
onValueChange={onChange}
options={
diff --git a/autogpt_platform/frontend/src/app/(platform)/build/components/FlowEditor/nodes/widgets/SwitchWidget.tsx b/autogpt_platform/frontend/src/components/renderers/input-renderer/widgets/SwitchWidget.tsx
similarity index 100%
rename from autogpt_platform/frontend/src/app/(platform)/build/components/FlowEditor/nodes/widgets/SwitchWidget.tsx
rename to autogpt_platform/frontend/src/components/renderers/input-renderer/widgets/SwitchWidget.tsx
diff --git a/autogpt_platform/frontend/src/app/(platform)/build/components/FlowEditor/nodes/widgets/TextInputWidget.tsx b/autogpt_platform/frontend/src/components/renderers/input-renderer/widgets/TextInputWidget.tsx
similarity index 87%
rename from autogpt_platform/frontend/src/app/(platform)/build/components/FlowEditor/nodes/widgets/TextInputWidget.tsx
rename to autogpt_platform/frontend/src/components/renderers/input-renderer/widgets/TextInputWidget.tsx
index 5a27ea631d..e10b09bcf9 100644
--- a/autogpt_platform/frontend/src/app/(platform)/build/components/FlowEditor/nodes/widgets/TextInputWidget.tsx
+++ b/autogpt_platform/frontend/src/components/renderers/input-renderer/widgets/TextInputWidget.tsx
@@ -1,11 +1,17 @@
import { WidgetProps } from "@rjsf/utils";
-import { InputType, mapJsonSchemaTypeToInputType } from "../helpers";
+import {
+ InputType,
+ mapJsonSchemaTypeToInputType,
+} from "@/app/(platform)/build/components/FlowEditor/nodes/helpers";
import { Input } from "@/components/atoms/Input/Input";
import { BlockUIType } from "@/lib/autogpt-server-api/types";
export const TextInputWidget = (props: WidgetProps) => {
const { schema, formContext } = props;
- const { uiType } = formContext as { uiType: BlockUIType };
+ const { uiType, size = "small" } = formContext as {
+ uiType: BlockUIType;
+ size?: string;
+ };
const mapped = mapJsonSchemaTypeToInputType(schema);
@@ -53,6 +59,9 @@ export const TextInputWidget = (props: WidgetProps) => {
return props.onChange(config.handleChange(v));
};
+ // Determine input size based on context
+ const inputSize = size === "large" ? "medium" : "small";
+
if (uiType === BlockUIType.NOTE) {
return (
{
hideLabel={true}
type={config.htmlType as any}
label={""}
- size="small"
+ size={inputSize as any}
wrapperClassName="mb-0"
value={props.value ?? ""}
onChange={handleChange}
diff --git a/autogpt_platform/frontend/src/app/(platform)/build/components/FlowEditor/nodes/widgets/TimeInputWidget.tsx b/autogpt_platform/frontend/src/components/renderers/input-renderer/widgets/TimeInputWidget.tsx
similarity index 61%
rename from autogpt_platform/frontend/src/app/(platform)/build/components/FlowEditor/nodes/widgets/TimeInputWidget.tsx
rename to autogpt_platform/frontend/src/components/renderers/input-renderer/widgets/TimeInputWidget.tsx
index 3279b1eec6..032c33e62c 100644
--- a/autogpt_platform/frontend/src/app/(platform)/build/components/FlowEditor/nodes/widgets/TimeInputWidget.tsx
+++ b/autogpt_platform/frontend/src/components/renderers/input-renderer/widgets/TimeInputWidget.tsx
@@ -2,7 +2,13 @@ import { WidgetProps } from "@rjsf/utils";
import { TimeInput } from "@/components/atoms/TimeInput/TimeInput";
export const TimeInputWidget = (props: WidgetProps) => {
- const { value, onChange, disabled, readonly, placeholder, id } = props;
+ const { value, onChange, disabled, readonly, placeholder, id, formContext } =
+ props;
+ const { size = "small" } = formContext || {};
+
+ // Determine input size based on context
+ const inputSize = size === "large" ? "medium" : "small";
+
return (
{
label={""}
id={id}
hideLabel={true}
- size="small"
+ size={inputSize as any}
wrapperClassName="!mb-0 "
disabled={disabled || readonly}
placeholder={placeholder}
diff --git a/autogpt_platform/frontend/src/app/(platform)/build/components/FlowEditor/nodes/widgets/index.ts b/autogpt_platform/frontend/src/components/renderers/input-renderer/widgets/index.ts
similarity index 100%
rename from autogpt_platform/frontend/src/app/(platform)/build/components/FlowEditor/nodes/widgets/index.ts
rename to autogpt_platform/frontend/src/components/renderers/input-renderer/widgets/index.ts