diff --git a/apps/builder/app/builder/features/settings-panel/controls/boolean.tsx b/apps/builder/app/builder/features/settings-panel/controls/boolean.tsx index 36c10ea017..a2086c92ac 100644 --- a/apps/builder/app/builder/features/settings-panel/controls/boolean.tsx +++ b/apps/builder/app/builder/features/settings-panel/controls/boolean.tsx @@ -6,22 +6,19 @@ import { } from "~/builder/shared/binding-popover"; import { type ControlProps, - Label, - RemovePropButton, $selectedInstanceScope, updateExpressionValue, useBindingState, humanizeAttribute, } from "../shared"; +import { PropertyLabel } from "../property-label"; export const BooleanControl = ({ meta, prop, propName, computedValue, - deletable, onChange, - onDelete, }: ControlProps<"boolean">) => { const label = humanizeAttribute(meta.label || propName); const { scope, aliases } = useStore($selectedInstanceScope); @@ -34,18 +31,14 @@ export const BooleanControl = ({ return ( - + - {deletable && } ); }; diff --git a/apps/builder/app/builder/features/settings-panel/controls/check.tsx b/apps/builder/app/builder/features/settings-panel/controls/check.tsx index bea4e4a2bb..c399b3de68 100644 --- a/apps/builder/app/builder/features/settings-panel/controls/check.tsx +++ b/apps/builder/app/builder/features/settings-panel/controls/check.tsx @@ -14,6 +14,7 @@ import { useBindingState, humanizeAttribute, } from "../shared"; +import { PropertyLabel } from "../property-label"; const add = (array: string[], item: string) => { if (array.includes(item)) { @@ -34,9 +35,7 @@ export const CheckControl = ({ prop, propName, computedValue, - deletable, onChange, - onDelete, }: ControlProps<"check" | "inline-check" | "multi-select">) => { const value = Array.isArray(computedValue) ? computedValue.map((item) => String(item)) @@ -57,16 +56,8 @@ export const CheckControl = ({ return ( - {label} - + } - deletable={deletable} - onDelete={onDelete} > {options.map((option) => ( diff --git a/apps/builder/app/builder/features/settings-panel/controls/code.tsx b/apps/builder/app/builder/features/settings-panel/controls/code.tsx index 9c46f49078..b5002d7aa6 100644 --- a/apps/builder/app/builder/features/settings-panel/controls/code.tsx +++ b/apps/builder/app/builder/features/settings-panel/controls/code.tsx @@ -1,19 +1,4 @@ import { useStore } from "@nanostores/react"; -import { CodeEditor } from "~/builder/shared/code-editor"; -import { - BindingControl, - BindingPopover, -} from "~/builder/shared/binding-popover"; -import { - useLocalValue, - type ControlProps, - VerticalLayout, - Label, - updateExpressionValue, - $selectedInstanceScope, - useBindingState, - humanizeAttribute, -} from "../shared"; import { useState } from "react"; import { Button, @@ -29,6 +14,21 @@ import { theme, } from "@webstudio-is/design-system"; import { InfoCircleIcon } from "@webstudio-is/icons"; +import { CodeEditor } from "~/builder/shared/code-editor"; +import { + BindingControl, + BindingPopover, +} from "~/builder/shared/binding-popover"; +import { + useLocalValue, + type ControlProps, + VerticalLayout, + updateExpressionValue, + $selectedInstanceScope, + useBindingState, + humanizeAttribute, +} from "../shared"; +import { PropertyLabel } from "../property-label"; const ErrorInfo = ({ error, @@ -126,9 +126,7 @@ export const CodeControl = ({ prop, propName, computedValue, - deletable, onChange, - onDelete, }: ControlProps<"code"> | ControlProps<"codetext">) => { const [error, setError] = useState(); const metaOverride = { @@ -177,17 +175,10 @@ export const CodeControl = ({ - + {errorInfo} } - deletable={deletable} - onDelete={onDelete} > ) => { @@ -81,15 +80,7 @@ export const FileControl = ({ ); return ( - - {label} - - } - deletable={deletable} - onDelete={onDelete} - > + }> ) => { const [error, setError] = useState(false); const valueString = formatValue(computedValue ?? ""); @@ -50,7 +46,6 @@ export const JsonControl = ({ // empty block } }); - const label = humanizeAttribute(meta.label || propName); const { scope, aliases } = useStore($selectedInstanceScope); const expression = prop?.type === "expression" ? prop.value : valueString; @@ -61,12 +56,8 @@ export const JsonControl = ({ return ( - {label} - + } - deletable={deletable} - onDelete={onDelete} > ) => { const id = useId(); @@ -56,16 +54,8 @@ export const NumberControl = ({ return ( - {label} - + } - deletable={deletable} - onDelete={onDelete} > ) => { const value = computedValue === undefined ? undefined : String(computedValue); // making sure that the current value is in the list of options @@ -43,16 +42,8 @@ export const RadioControl = ({ return ( - {label} - + } - deletable={deletable} - onDelete={onDelete} > ) => { const resources = useStore($resources); const { variableValues, scope, aliases } = useStore( @@ -98,17 +97,6 @@ export const ResourceControl = ({ }); }; - const deletePropAndResource = () => { - updateWebstudioData((data) => { - if (prop?.type === "resource") { - data.resources.delete(prop.value); - } - if (prop) { - data.props.delete(prop.id); - } - }); - }; - const id = useId(); const label = humanizeAttribute(meta.label || propName); let variant: BindingVariant = "bound"; @@ -122,14 +110,8 @@ export const ResourceControl = ({ ); return ( - - {label} - - } - deletable={deletable} - onDelete={deletePropAndResource} + } > - + ); }; diff --git a/apps/builder/app/builder/features/settings-panel/controls/select.tsx b/apps/builder/app/builder/features/settings-panel/controls/select.tsx index d26291d1db..5923c0899e 100644 --- a/apps/builder/app/builder/features/settings-panel/controls/select.tsx +++ b/apps/builder/app/builder/features/settings-panel/controls/select.tsx @@ -8,21 +8,19 @@ import { import { type ControlProps, VerticalLayout, - Label, $selectedInstanceScope, updateExpressionValue, useBindingState, humanizeAttribute, } from "../shared"; +import { PropertyLabel } from "../property-label"; export const SelectControl = ({ meta, prop, propName, computedValue, - deletable, onChange, - onDelete, }: ControlProps<"select">) => { const id = useId(); @@ -44,16 +42,8 @@ export const SelectControl = ({ return ( - {label} - + } - deletable={deletable} - onDelete={onDelete} >