diff --git a/app/client/packages/design-system/headless/src/components/Menu/src/MenuItem.tsx b/app/client/packages/design-system/headless/src/components/Menu/src/MenuItem.tsx index 9687e89ab5..5de624f154 100644 --- a/app/client/packages/design-system/headless/src/components/Menu/src/MenuItem.tsx +++ b/app/client/packages/design-system/headless/src/components/Menu/src/MenuItem.tsx @@ -17,6 +17,7 @@ export const MenuItem = (props: MenuItemProps) => { data-focused={isFocused ? "" : undefined} data-hovered={isFocused ? "" : undefined} data-selected={isSelected ? "" : undefined} + data-separator={Boolean(item.props.isSeparator) ? "" : undefined} ref={ref} >
{item.rendered}
diff --git a/app/client/packages/design-system/widgets/src/components/ActionGroup/src/ActionGroup.tsx b/app/client/packages/design-system/widgets/src/components/ActionGroup/src/ActionGroup.tsx index e329d6a113..6484b5fa61 100644 --- a/app/client/packages/design-system/widgets/src/components/ActionGroup/src/ActionGroup.tsx +++ b/app/client/packages/design-system/widgets/src/components/ActionGroup/src/ActionGroup.tsx @@ -73,14 +73,29 @@ const _ActionGroup = ( ); })} {menuChildren?.length > 0 && ( - + item.props.isSeparator) + .map((item) => item.key), + ]} + onAction={onAction} + > - {menuChildren.map((item) => ( - - {item.rendered} - - ))} + {menuChildren.map((item) => { + return ( + + {item.rendered} + + ); + })} )} diff --git a/app/client/packages/design-system/widgets/src/components/ActionGroup/stories/ActionGroup.stories.mdx b/app/client/packages/design-system/widgets/src/components/ActionGroup/stories/ActionGroup.stories.mdx index d3cc75e0c6..6ed4b13d32 100644 --- a/app/client/packages/design-system/widgets/src/components/ActionGroup/stories/ActionGroup.stories.mdx +++ b/app/client/packages/design-system/widgets/src/components/ActionGroup/stories/ActionGroup.stories.mdx @@ -113,9 +113,11 @@ The `ActionGroup` can be `collapse`. By default it is not collapsed. When collpa
- Option 1 - + + Option 1 + Option 2 + {"Option 3"} diff --git a/app/client/packages/design-system/widgets/src/components/Menu/src/styles.module.css b/app/client/packages/design-system/widgets/src/components/Menu/src/styles.module.css index 2220e01eca..4a8f1e143b 100644 --- a/app/client/packages/design-system/widgets/src/components/Menu/src/styles.module.css +++ b/app/client/packages/design-system/widgets/src/components/Menu/src/styles.module.css @@ -75,3 +75,13 @@ 0 0 0 2px var(--color-bg), 0 0 0 4px var(--color-bd-focus); } + +.menuList li[data-separator] { + border-top: var(--border-width-1) solid var(--color-bd); + padding: 0; +} + +/* making sure the first and last child are not displayed when they have the data-separator attribute */ +.menuList li:is(:first-child, :last-child):is([data-separator]) { + display: none; +} diff --git a/app/client/src/widgets/wds/WDSInlineButtonsWidget/thumbnail.svg b/app/client/src/widgets/wds/WDSInlineButtonsWidget/thumbnail.svg index c1c5702620..8aaff72647 100644 --- a/app/client/src/widgets/wds/WDSInlineButtonsWidget/thumbnail.svg +++ b/app/client/src/widgets/wds/WDSInlineButtonsWidget/thumbnail.svg @@ -1 +1 @@ - \ No newline at end of file + \ No newline at end of file diff --git a/app/client/src/widgets/wds/WDSToolbarButtonsWidget/thumbnail.svg b/app/client/src/widgets/wds/WDSToolbarButtonsWidget/thumbnail.svg index 8aaff72647..c1c5702620 100644 --- a/app/client/src/widgets/wds/WDSToolbarButtonsWidget/thumbnail.svg +++ b/app/client/src/widgets/wds/WDSToolbarButtonsWidget/thumbnail.svg @@ -1 +1 @@ - \ No newline at end of file + \ No newline at end of file