File tree 4 files changed +33
-6
lines changed
4 files changed +33
-6
lines changed Original file line number Diff line number Diff line change @@ -55,6 +55,28 @@ $b: '.#{variables.$ns}menu2-item';
55
55
content : ' ' ;
56
56
}
57
57
58
+ & _theme {
59
+ & _info {
60
+ --_--text-color : var (--g-color-text-info );
61
+ }
62
+
63
+ & _success {
64
+ --_--text-color : var (--g-color-text-positive );
65
+ }
66
+
67
+ & _warning {
68
+ --_--text-color : var (--g-color-text-warning );
69
+ }
70
+
71
+ & _danger {
72
+ --_--text-color : var (--g-color-text-danger );
73
+ }
74
+
75
+ & _utility {
76
+ --_--text-color : var (--g-color-text-utility );
77
+ }
78
+ }
79
+
58
80
& _active {
59
81
--_--background-color : var (--g-color-base-generic-hover );
60
82
}
Original file line number Diff line number Diff line change @@ -40,6 +40,7 @@ export const MenuItem = React.forwardRef(
40
40
| React . Ref < T extends string ? React . ComponentRef < T > : T > ,
41
41
) => {
42
42
const {
43
+ theme,
43
44
selected = false ,
44
45
disabled = false ,
45
46
icon,
@@ -120,6 +121,7 @@ export const MenuItem = React.forwardRef(
120
121
tabIndex,
121
122
className : b (
122
123
{
124
+ theme,
123
125
size : menuContext . size ,
124
126
active : isActive ,
125
127
selected,
Original file line number Diff line number Diff line change @@ -31,7 +31,11 @@ export function getSimpleMenuItems(args: MenuProps, icon?: boolean) {
31
31
< MenuItem key = "move" icon = { icon ? < Icon data = { ArrowsExpand } size = { iconSize } /> : undefined } >
32
32
Move
33
33
</ MenuItem > ,
34
- < MenuItem key = "delete" icon = { icon ? < Icon data = { TrashBin } size = { iconSize } /> : undefined } >
34
+ < MenuItem
35
+ key = "delete"
36
+ icon = { icon ? < Icon data = { TrashBin } size = { iconSize } /> : undefined }
37
+ theme = "danger"
38
+ >
35
39
Delete
36
40
</ MenuItem > ,
37
41
] ;
@@ -64,11 +68,7 @@ export function getFullFeaturedMenuItems(args: MenuProps, inline?: boolean) {
64
68
Cut
65
69
</ Menu . Item > ,
66
70
< Menu . Divider key = "divider1" /> ,
67
- < Menu . Item
68
- key = "delete"
69
- icon = { < Icon data = { TrashBin } size = { iconSize } /> }
70
- style = { { color : 'var(--g-color-text-danger)' } }
71
- >
71
+ < Menu . Item key = "delete" icon = { < Icon data = { TrashBin } size = { iconSize } /> } theme = "danger" >
72
72
Delete
73
73
</ Menu . Item > ,
74
74
] ;
Original file line number Diff line number Diff line change @@ -7,6 +7,8 @@ import type {DOMProps, QAProps} from '../../types';
7
7
8
8
export type MenuSize = 's' | 'm' | 'l' | 'xl' ;
9
9
10
+ export type MenuItemTheme = 'normal' | 'info' | 'success' | 'warning' | 'danger' | 'utility' ;
11
+
10
12
export interface MenuProps
11
13
extends Pick < PopupProps , 'open' | 'onOpenChange' | 'placement' > ,
12
14
DOMProps ,
@@ -24,6 +26,7 @@ export interface MenuProps
24
26
}
25
27
26
28
interface MenuItemCommonProps extends QAProps {
29
+ theme ?: MenuItemTheme ;
27
30
selected ?: boolean ;
28
31
disabled ?: boolean ;
29
32
icon ?: React . ReactElement ;
You can’t perform that action at this time.
0 commit comments