Skip to content

Commit f286989

Browse files
committed
feat: enhance Menu component to support color variations for content and sub-content
1 parent 1b3c708 commit f286989

File tree

1 file changed

+10
-6
lines changed

1 file changed

+10
-6
lines changed

src/components/menu/Menu.tsx

Lines changed: 10 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -1,7 +1,7 @@
11
import React from "react";
22
import "./Menu.style.scss"
33

4-
import {Code0ComponentProps} from "../../utils/types";
4+
import {Code0ComponentProps, Color} from "../../utils/types";
55
import {mergeCode0Props} from "../../utils/utils";
66
import {
77
DropdownMenu, DropdownMenuArrow,
@@ -22,18 +22,22 @@ import {
2222
export type MenuProps = Code0ComponentProps & DropdownMenuProps
2323
export type MenuTriggerProps = Code0ComponentProps & DropdownMenuTriggerProps
2424
export type MenuPortalProps = Code0ComponentProps & DropdownMenuPortalProps
25-
export type MenuContentProps = Code0ComponentProps & DropdownMenuContentProps
25+
export type MenuContentProps = Code0ComponentProps & DropdownMenuContentProps & {
26+
color?: Color
27+
}
2628
export type MenuLabelProps = Code0ComponentProps & DropdownMenuLabelProps
2729
export type MenuItemProps = Code0ComponentProps & DropdownMenuItemProps
2830
export type MenuGroupProps = Code0ComponentProps & DropdownMenuGroupProps
2931
export type MenuSubProps = Code0ComponentProps & DropdownMenuSubProps
3032
export type MenuSubTriggerProps = Code0ComponentProps & DropdownMenuSubTriggerProps
31-
export type MenuSubContentProps = Code0ComponentProps & DropdownMenuSubContentProps
33+
export type MenuSubContentProps = Code0ComponentProps & DropdownMenuSubContentProps & {
34+
color?: Color
35+
}
3236
export type MenuSeparatorProps = Code0ComponentProps & DropdownMenuSeparatorProps
3337
export type MenuArrowProps = Code0ComponentProps & DropdownMenuArrowProps
3438

3539
export const Menu: React.FC<MenuProps> = (props) => {
36-
return <DropdownMenu {...mergeCode0Props("menu", props) as MenuProps}/>
40+
return <DropdownMenu {...mergeCode0Props(`menu`, props) as MenuProps}/>
3741
}
3842

3943
export const MenuTrigger: React.FC<MenuTriggerProps> = (props) => {
@@ -45,7 +49,7 @@ export const MenuPortal: React.FC<MenuPortalProps> = (props) => {
4549
}
4650

4751
export const MenuContent: React.FC<MenuContentProps> = (props) => {
48-
return <DropdownMenuContent align={props.align} {...mergeCode0Props("menu__content", props) as MenuContentProps}/>
52+
return <DropdownMenuContent align={props.align} {...mergeCode0Props(`menu__content menu__content--${props.color ?? "primary"}`, props) as MenuContentProps}/>
4953
}
5054

5155
export const MenuLabel: React.FC<MenuLabelProps> = (props) => {
@@ -69,7 +73,7 @@ export const MenuSubTrigger: React.FC<MenuSubTriggerProps> = (props) => {
6973
}
7074

7175
export const MenuSubContent: React.FC<MenuSubContentProps> = (props) => {
72-
return <DropdownMenuSubContent {...mergeCode0Props("menu__sub-content", props) as MenuSubContentProps}/>
76+
return <DropdownMenuSubContent {...mergeCode0Props(`menu__sub-content menu__sub-content--${props.color ?? "primary"}`, props) as MenuSubContentProps}/>
7377
}
7478

7579
export const MenuSeparator: React.FC<MenuSeparatorProps> = (props) => {

0 commit comments

Comments
 (0)