diff --git a/apps/demo/config/blocks/ButtonGroup/index.tsx b/apps/demo/config/blocks/ButtonGroup/index.tsx index 26d7a95593..0a30a77bbe 100644 --- a/apps/demo/config/blocks/ButtonGroup/index.tsx +++ b/apps/demo/config/blocks/ButtonGroup/index.tsx @@ -14,6 +14,7 @@ export type ButtonGroupProps = { }; export const ButtonGroup: ComponentConfig = { + label: "Button Group", fields: { buttons: { type: "array", diff --git a/apps/demo/config/blocks/VerticalSpace/index.tsx b/apps/demo/config/blocks/VerticalSpace/index.tsx index f56b3a842f..8befe58e39 100644 --- a/apps/demo/config/blocks/VerticalSpace/index.tsx +++ b/apps/demo/config/blocks/VerticalSpace/index.tsx @@ -8,6 +8,7 @@ export type VerticalSpaceProps = { }; export const VerticalSpace: ComponentConfig = { + label: "Vertical Space", fields: { size: { type: "select", diff --git a/packages/core/components/ComponentList/index.tsx b/packages/core/components/ComponentList/index.tsx index 3f7e960bb1..4bd140a199 100644 --- a/packages/core/components/ComponentList/index.tsx +++ b/packages/core/components/ComponentList/index.tsx @@ -9,15 +9,16 @@ const getClassName = getClassNameFactory("ComponentList", styles); const ComponentListItem = ({ name, + label, index, }: { name: string; + label?: string; index: number; }) => { const { overrides } = useAppContext(); - return ( - + {overrides.componentItem} ); @@ -71,6 +72,9 @@ const ComponentList = ({ return ( diff --git a/packages/core/components/Drawer/index.tsx b/packages/core/components/Drawer/index.tsx index dc0c63b687..a52672ccf3 100644 --- a/packages/core/components/Drawer/index.tsx +++ b/packages/core/components/Drawer/index.tsx @@ -43,11 +43,13 @@ const DrawerItem = ({ name, children, id, + label, index, }: { name: string; children?: (props: { children: ReactNode; name: string }) => ReactElement; id?: string; + label?: string; index: number; }) => { const ctx = useContext(drawerContext); @@ -68,7 +70,7 @@ const DrawerItem = ({
-
{name}
+
{label ?? name}
diff --git a/packages/core/components/DropZone/index.tsx b/packages/core/components/DropZone/index.tsx index d2670d152f..ed74ca5bf9 100644 --- a/packages/core/components/DropZone/index.tsx +++ b/packages/core/components/DropZone/index.tsx @@ -237,7 +237,10 @@ function DropZoneEdit({ zone, allow, disallow, style }: DropZoneProps) { }} > void; @@ -30,9 +32,7 @@ export const LayerTree = ({ label?: string; }) => { const zones = data.zones || {}; - const ctx = useContext(dropZoneContext); - return ( <> {label && ( @@ -128,7 +128,9 @@ export const LayerTree = ({ )}
-
{item.type}
+
+ {config.components[item.type]["label"] ?? item.type} +
@@ -136,6 +138,7 @@ export const LayerTree = ({ Object.keys(zonesForItem).map((zoneKey, idx) => (
{ - const { dispatch, state, overrides } = useAppContext(); + const { dispatch, state, overrides, config } = useAppContext(); const { data, ui } = state; const { itemSelector } = ui; @@ -23,7 +23,6 @@ export const Outline = () => { ); const Wrapper = useMemo(() => overrides.outline || "div", [overrides]); - return ( @@ -31,6 +30,7 @@ export const Outline = () => { <> {ctx?.activeZones && ctx?.activeZones[rootDroppableId] && ( { ([zoneKey, zone]) => { return ( diff --git a/packages/core/lib/use-component-list.tsx b/packages/core/lib/use-component-list.tsx index f8f3a4dee3..740663f95c 100644 --- a/packages/core/lib/use-component-list.tsx +++ b/packages/core/lib/use-component-list.tsx @@ -25,10 +25,13 @@ export const useComponentList = (config: Config, ui: UiState) => { > {category.components.map((componentName, i) => { matchedComponents.push(componentName as string); - return ( @@ -59,6 +62,10 @@ export const useComponentList = (config: Config, ui: UiState) => { ); @@ -69,7 +76,7 @@ export const useComponentList = (config: Config, ui: UiState) => { setComponentList(_componentList); } - }, [config.categories, ui.componentList]); + }, [config.categories, config.components, ui.componentList]); return componentList; }; diff --git a/packages/core/types/Config.tsx b/packages/core/types/Config.tsx index f72d25f1f1..b3d2c80dee 100644 --- a/packages/core/types/Config.tsx +++ b/packages/core/types/Config.tsx @@ -164,6 +164,7 @@ export type ComponentConfig< DataShape = ComponentData > = { render: PuckComponent; + label?: string; defaultProps?: DefaultProps; fields?: Fields; resolveData?: (