@fluentui/react-menu 9.17.6 → 9.19.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/CHANGELOG.md +30 -2
- package/dist/index.d.ts +6 -2
- package/lib/components/Menu/Menu.types.js.map +1 -1
- package/lib/components/Menu/useMenu.js +4 -3
- package/lib/components/Menu/useMenu.js.map +1 -1
- package/lib/components/MenuDivider/useMenuDividerStyles.styles.raw.js +18 -0
- package/lib/components/MenuDivider/useMenuDividerStyles.styles.raw.js.map +1 -0
- package/lib/components/MenuGroup/useMenuGroupStyles.styles.raw.js +9 -0
- package/lib/components/MenuGroup/useMenuGroupStyles.styles.raw.js.map +1 -0
- package/lib/components/MenuGroupHeader/useMenuGroupHeaderStyles.styles.raw.js +23 -0
- package/lib/components/MenuGroupHeader/useMenuGroupHeaderStyles.styles.raw.js.map +1 -0
- package/lib/components/MenuItem/useMenuItemStyles.styles.js +29 -3
- package/lib/components/MenuItem/useMenuItemStyles.styles.js.map +1 -1
- package/lib/components/MenuItem/useMenuItemStyles.styles.raw.js +241 -0
- package/lib/components/MenuItem/useMenuItemStyles.styles.raw.js.map +1 -0
- package/lib/components/MenuItemCheckbox/useMenuItemCheckboxStyles.styles.raw.js +33 -0
- package/lib/components/MenuItemCheckbox/useMenuItemCheckboxStyles.styles.raw.js.map +1 -0
- package/lib/components/MenuItemLink/useMenuItemLinkStyles.styles.raw.js +40 -0
- package/lib/components/MenuItemLink/useMenuItemLinkStyles.styles.raw.js.map +1 -0
- package/lib/components/MenuItemRadio/useMenuItemRadioStyles.styles.raw.js +32 -0
- package/lib/components/MenuItemRadio/useMenuItemRadioStyles.styles.raw.js.map +1 -0
- package/lib/components/MenuItemSwitch/useMenuItemSwitchStyles.styles.raw.js +117 -0
- package/lib/components/MenuItemSwitch/useMenuItemSwitchStyles.styles.raw.js.map +1 -0
- package/lib/components/MenuList/useMenuListStyles.styles.raw.js +22 -0
- package/lib/components/MenuList/useMenuListStyles.styles.raw.js.map +1 -0
- package/lib/components/MenuPopover/useMenuPopoverStyles.styles.raw.js +31 -0
- package/lib/components/MenuPopover/useMenuPopoverStyles.styles.raw.js.map +1 -0
- package/lib/components/MenuSplitGroup/useMenuSplitGroupStyles.styles.raw.js +42 -0
- package/lib/components/MenuSplitGroup/useMenuSplitGroupStyles.styles.raw.js.map +1 -0
- package/lib/components/MenuTrigger/useMenuTrigger.js +23 -11
- package/lib/components/MenuTrigger/useMenuTrigger.js.map +1 -1
- package/lib/selectable/useCheckmarkStyles.styles.raw.js +24 -0
- package/lib/selectable/useCheckmarkStyles.styles.raw.js.map +1 -0
- package/lib-commonjs/components/Menu/Menu.types.js.map +1 -1
- package/lib-commonjs/components/Menu/useMenu.js +4 -3
- package/lib-commonjs/components/Menu/useMenu.js.map +1 -1
- package/lib-commonjs/components/MenuDivider/useMenuDividerStyles.styles.raw.js +36 -0
- package/lib-commonjs/components/MenuDivider/useMenuDividerStyles.styles.raw.js.map +1 -0
- package/lib-commonjs/components/MenuGroup/useMenuGroupStyles.styles.raw.js +27 -0
- package/lib-commonjs/components/MenuGroup/useMenuGroupStyles.styles.raw.js.map +1 -0
- package/lib-commonjs/components/MenuGroupHeader/useMenuGroupHeaderStyles.styles.raw.js +41 -0
- package/lib-commonjs/components/MenuGroupHeader/useMenuGroupHeaderStyles.styles.raw.js.map +1 -0
- package/lib-commonjs/components/MenuItem/useMenuItemStyles.styles.js +54 -3
- package/lib-commonjs/components/MenuItem/useMenuItemStyles.styles.js.map +1 -1
- package/lib-commonjs/components/MenuItem/useMenuItemStyles.styles.raw.js +259 -0
- package/lib-commonjs/components/MenuItem/useMenuItemStyles.styles.raw.js.map +1 -0
- package/lib-commonjs/components/MenuItemCheckbox/useMenuItemCheckboxStyles.styles.raw.js +51 -0
- package/lib-commonjs/components/MenuItemCheckbox/useMenuItemCheckboxStyles.styles.raw.js.map +1 -0
- package/lib-commonjs/components/MenuItemLink/useMenuItemLinkStyles.styles.raw.js +56 -0
- package/lib-commonjs/components/MenuItemLink/useMenuItemLinkStyles.styles.raw.js.map +1 -0
- package/lib-commonjs/components/MenuItemRadio/useMenuItemRadioStyles.styles.raw.js +50 -0
- package/lib-commonjs/components/MenuItemRadio/useMenuItemRadioStyles.styles.raw.js.map +1 -0
- package/lib-commonjs/components/MenuItemSwitch/useMenuItemSwitchStyles.styles.raw.js +136 -0
- package/lib-commonjs/components/MenuItemSwitch/useMenuItemSwitchStyles.styles.raw.js.map +1 -0
- package/lib-commonjs/components/MenuList/useMenuListStyles.styles.raw.js +38 -0
- package/lib-commonjs/components/MenuList/useMenuListStyles.styles.raw.js.map +1 -0
- package/lib-commonjs/components/MenuPopover/useMenuPopoverStyles.styles.raw.js +47 -0
- package/lib-commonjs/components/MenuPopover/useMenuPopoverStyles.styles.raw.js.map +1 -0
- package/lib-commonjs/components/MenuSplitGroup/useMenuSplitGroupStyles.styles.raw.js +61 -0
- package/lib-commonjs/components/MenuSplitGroup/useMenuSplitGroupStyles.styles.raw.js.map +1 -0
- package/lib-commonjs/components/MenuTrigger/useMenuTrigger.js +23 -11
- package/lib-commonjs/components/MenuTrigger/useMenuTrigger.js.map +1 -1
- package/lib-commonjs/selectable/useCheckmarkStyles.styles.raw.js +30 -0
- package/lib-commonjs/selectable/useCheckmarkStyles.styles.raw.js.map +1 -0
- package/package.json +5 -5
@@ -0,0 +1,241 @@
|
|
1
|
+
import { mergeClasses, makeStyles, makeResetStyles } from '@griffel/react';
|
2
|
+
import { iconFilledClassName, iconRegularClassName } from '@fluentui/react-icons';
|
3
|
+
import { createFocusOutlineStyle } from '@fluentui/react-tabster';
|
4
|
+
import { tokens, typographyStyles } from '@fluentui/react-theme';
|
5
|
+
import { useCheckmarkStyles_unstable } from '../../selectable/index';
|
6
|
+
export const menuItemClassNames = {
|
7
|
+
root: 'fui-MenuItem',
|
8
|
+
icon: 'fui-MenuItem__icon',
|
9
|
+
checkmark: 'fui-MenuItem__checkmark',
|
10
|
+
submenuIndicator: 'fui-MenuItem__submenuIndicator',
|
11
|
+
content: 'fui-MenuItem__content',
|
12
|
+
secondaryContent: 'fui-MenuItem__secondaryContent',
|
13
|
+
subText: 'fui-MenuItem__subText'
|
14
|
+
};
|
15
|
+
const useRootBaseStyles = makeResetStyles({
|
16
|
+
borderRadius: tokens.borderRadiusMedium,
|
17
|
+
position: 'relative',
|
18
|
+
color: tokens.colorNeutralForeground2,
|
19
|
+
backgroundColor: tokens.colorNeutralBackground1,
|
20
|
+
paddingRight: tokens.spacingVerticalSNudge,
|
21
|
+
paddingLeft: tokens.spacingVerticalSNudge,
|
22
|
+
paddingTop: tokens.spacingVerticalSNudge,
|
23
|
+
paddingBottom: tokens.spacingVerticalSNudge,
|
24
|
+
boxSizing: 'border-box',
|
25
|
+
maxWidth: '290px',
|
26
|
+
minHeight: '32px',
|
27
|
+
flexShrink: 0,
|
28
|
+
display: 'flex',
|
29
|
+
alignItems: 'start',
|
30
|
+
fontSize: tokens.fontSizeBase300,
|
31
|
+
cursor: 'pointer',
|
32
|
+
gap: '4px',
|
33
|
+
':hover': {
|
34
|
+
backgroundColor: tokens.colorNeutralBackground1Hover,
|
35
|
+
color: tokens.colorNeutralForeground2Hover,
|
36
|
+
[`& .${iconFilledClassName}`]: {
|
37
|
+
display: 'inline'
|
38
|
+
},
|
39
|
+
[`& .${iconRegularClassName}`]: {
|
40
|
+
display: 'none'
|
41
|
+
},
|
42
|
+
[`& .${menuItemClassNames.icon}`]: {
|
43
|
+
color: tokens.colorNeutralForeground2BrandSelected
|
44
|
+
},
|
45
|
+
[`& .${menuItemClassNames.subText}`]: {
|
46
|
+
color: tokens.colorNeutralForeground3Hover
|
47
|
+
}
|
48
|
+
},
|
49
|
+
':hover:active': {
|
50
|
+
backgroundColor: tokens.colorNeutralBackground1Pressed,
|
51
|
+
color: tokens.colorNeutralForeground2Pressed,
|
52
|
+
[`& .${menuItemClassNames.subText}`]: {
|
53
|
+
color: tokens.colorNeutralForeground3Pressed
|
54
|
+
}
|
55
|
+
},
|
56
|
+
// High contrast styles
|
57
|
+
'@media (forced-colors: active)': {
|
58
|
+
':hover': {
|
59
|
+
backgroundColor: 'Canvas',
|
60
|
+
borderColor: 'Highlight',
|
61
|
+
color: 'Highlight'
|
62
|
+
},
|
63
|
+
...createFocusOutlineStyle({
|
64
|
+
style: {
|
65
|
+
outlineColor: 'Highlight'
|
66
|
+
}
|
67
|
+
})
|
68
|
+
},
|
69
|
+
userSelect: 'none',
|
70
|
+
...createFocusOutlineStyle()
|
71
|
+
});
|
72
|
+
const useContentBaseStyles = makeResetStyles({
|
73
|
+
paddingLeft: '2px',
|
74
|
+
paddingRight: '2px',
|
75
|
+
backgroundColor: 'transparent',
|
76
|
+
flexGrow: 1
|
77
|
+
});
|
78
|
+
const useSecondaryContentBaseStyles = makeResetStyles({
|
79
|
+
paddingLeft: '2px',
|
80
|
+
paddingRight: '2px',
|
81
|
+
...typographyStyles.caption1,
|
82
|
+
lineHeight: tokens.lineHeightBase300,
|
83
|
+
color: tokens.colorNeutralForeground3,
|
84
|
+
':hover': {
|
85
|
+
color: tokens.colorNeutralForeground3Hover
|
86
|
+
},
|
87
|
+
':focus': {
|
88
|
+
color: tokens.colorNeutralForeground3Hover
|
89
|
+
}
|
90
|
+
});
|
91
|
+
const useIconBaseStyles = makeResetStyles({
|
92
|
+
width: '20px',
|
93
|
+
height: '20px',
|
94
|
+
fontSize: '20px',
|
95
|
+
lineHeight: 0,
|
96
|
+
alignItems: 'center',
|
97
|
+
display: 'inline-flex',
|
98
|
+
justifyContent: 'center',
|
99
|
+
flexShrink: 0
|
100
|
+
});
|
101
|
+
const useSubmenuIndicatorBaseStyles = makeResetStyles({
|
102
|
+
width: '20px',
|
103
|
+
height: '20px',
|
104
|
+
fontSize: '20px',
|
105
|
+
lineHeight: 0,
|
106
|
+
alignItems: 'center',
|
107
|
+
display: 'inline-flex',
|
108
|
+
justifyContent: 'center'
|
109
|
+
});
|
110
|
+
const useSubtextBaseStyles = makeResetStyles({
|
111
|
+
...typographyStyles.caption2,
|
112
|
+
color: tokens.colorNeutralForeground3
|
113
|
+
});
|
114
|
+
const useStyles = makeStyles({
|
115
|
+
checkmark: {
|
116
|
+
marginTop: '2px'
|
117
|
+
},
|
118
|
+
splitItemMain: {
|
119
|
+
flexGrow: 1
|
120
|
+
},
|
121
|
+
splitItemTrigger: {
|
122
|
+
borderTopLeftRadius: 0,
|
123
|
+
borderBottomLeftRadius: 0,
|
124
|
+
paddingLeft: 0,
|
125
|
+
'::before': {
|
126
|
+
content: '""',
|
127
|
+
width: tokens.strokeWidthThin,
|
128
|
+
height: '24px',
|
129
|
+
backgroundColor: tokens.colorNeutralStroke1
|
130
|
+
}
|
131
|
+
},
|
132
|
+
disabled: {
|
133
|
+
color: tokens.colorNeutralForegroundDisabled,
|
134
|
+
':hover': {
|
135
|
+
color: tokens.colorNeutralForegroundDisabled,
|
136
|
+
backgroundColor: tokens.colorNeutralBackground1,
|
137
|
+
cursor: 'not-allowed',
|
138
|
+
[`& .${iconFilledClassName}`]: {
|
139
|
+
display: 'none'
|
140
|
+
},
|
141
|
+
[`& .${iconRegularClassName}`]: {
|
142
|
+
display: 'inline'
|
143
|
+
},
|
144
|
+
[`& .${menuItemClassNames.icon}`]: {
|
145
|
+
color: tokens.colorNeutralForegroundDisabled
|
146
|
+
},
|
147
|
+
[`& .${menuItemClassNames.subText}`]: {
|
148
|
+
color: tokens.colorNeutralForegroundDisabled
|
149
|
+
}
|
150
|
+
},
|
151
|
+
':hover:active': {
|
152
|
+
color: tokens.colorNeutralForegroundDisabled,
|
153
|
+
backgroundColor: tokens.colorNeutralBackground1,
|
154
|
+
[`& .${menuItemClassNames.subText}`]: {
|
155
|
+
color: tokens.colorNeutralForegroundDisabled
|
156
|
+
}
|
157
|
+
},
|
158
|
+
':focus': {
|
159
|
+
color: tokens.colorNeutralForegroundDisabled
|
160
|
+
},
|
161
|
+
'@media (forced-colors: active)': {
|
162
|
+
color: 'GrayText',
|
163
|
+
':hover': {
|
164
|
+
color: 'GrayText',
|
165
|
+
backgroundColor: 'Canvas',
|
166
|
+
[`& .${menuItemClassNames.icon}`]: {
|
167
|
+
color: 'GrayText',
|
168
|
+
backgroundColor: 'Canvas'
|
169
|
+
},
|
170
|
+
[`& .${menuItemClassNames.subText}`]: {
|
171
|
+
color: 'GrayText'
|
172
|
+
}
|
173
|
+
},
|
174
|
+
':hover:active': {
|
175
|
+
color: 'GrayText',
|
176
|
+
backgroundColor: 'Canvas',
|
177
|
+
[`& .${menuItemClassNames.subText}`]: {
|
178
|
+
color: 'GrayText'
|
179
|
+
}
|
180
|
+
},
|
181
|
+
':focus': {
|
182
|
+
color: 'GrayText',
|
183
|
+
backgroundColor: 'Canvas'
|
184
|
+
}
|
185
|
+
}
|
186
|
+
}
|
187
|
+
});
|
188
|
+
const useSubTextStyles = makeStyles({
|
189
|
+
disabled: {
|
190
|
+
color: tokens.colorNeutralForegroundDisabled,
|
191
|
+
'@media (forced-colors: active)': {
|
192
|
+
color: 'GrayText'
|
193
|
+
}
|
194
|
+
}
|
195
|
+
});
|
196
|
+
const useMultilineStyles = makeStyles({
|
197
|
+
content: {
|
198
|
+
display: 'flex',
|
199
|
+
flexDirection: 'column'
|
200
|
+
},
|
201
|
+
secondaryContent: {
|
202
|
+
alignSelf: 'center'
|
203
|
+
},
|
204
|
+
submenuIndicator: {
|
205
|
+
alignSelf: 'center'
|
206
|
+
}
|
207
|
+
});
|
208
|
+
/** Applies style classnames to slots */ export const useMenuItemStyles_unstable = (state)=>{
|
209
|
+
'use no memo';
|
210
|
+
const styles = useStyles();
|
211
|
+
const rootBaseStyles = useRootBaseStyles();
|
212
|
+
const contentBaseStyles = useContentBaseStyles();
|
213
|
+
const secondaryContentBaseStyles = useSecondaryContentBaseStyles();
|
214
|
+
const iconBaseStyles = useIconBaseStyles();
|
215
|
+
const submenuIndicatorBaseStyles = useSubmenuIndicatorBaseStyles();
|
216
|
+
const multilineStyles = useMultilineStyles();
|
217
|
+
const subtextBaseStyles = useSubtextBaseStyles();
|
218
|
+
const subTextStyles = useSubTextStyles();
|
219
|
+
const multiline = !!state.subText;
|
220
|
+
state.root.className = mergeClasses(menuItemClassNames.root, rootBaseStyles, state.disabled && styles.disabled, state.root.className);
|
221
|
+
if (state.content) {
|
222
|
+
state.content.className = mergeClasses(menuItemClassNames.content, contentBaseStyles, state.content.className, multiline && multilineStyles.content);
|
223
|
+
}
|
224
|
+
if (state.checkmark) {
|
225
|
+
state.checkmark.className = mergeClasses(menuItemClassNames.checkmark, styles.checkmark, state.checkmark.className);
|
226
|
+
}
|
227
|
+
if (state.secondaryContent) {
|
228
|
+
state.secondaryContent.className = mergeClasses(menuItemClassNames.secondaryContent, secondaryContentBaseStyles, state.disabled && styles.disabled, state.secondaryContent.className, multiline && multilineStyles.secondaryContent);
|
229
|
+
}
|
230
|
+
if (state.icon) {
|
231
|
+
state.icon.className = mergeClasses(menuItemClassNames.icon, iconBaseStyles, state.icon.className);
|
232
|
+
}
|
233
|
+
if (state.submenuIndicator) {
|
234
|
+
state.submenuIndicator.className = mergeClasses(menuItemClassNames.submenuIndicator, submenuIndicatorBaseStyles, state.submenuIndicator.className, multiline && multilineStyles.submenuIndicator);
|
235
|
+
}
|
236
|
+
if (state.subText) {
|
237
|
+
state.subText.className = mergeClasses(menuItemClassNames.subText, state.disabled && subTextStyles.disabled, state.subText.className, subtextBaseStyles);
|
238
|
+
}
|
239
|
+
useCheckmarkStyles_unstable(state);
|
240
|
+
return state;
|
241
|
+
};
|
@@ -0,0 +1 @@
|
|
1
|
+
{"version":3,"sources":["../src/components/MenuItem/useMenuItemStyles.styles.ts"],"sourcesContent":["import { mergeClasses, makeStyles, makeResetStyles } from '@griffel/react';\nimport { iconFilledClassName, iconRegularClassName } from '@fluentui/react-icons';\nimport { createFocusOutlineStyle } from '@fluentui/react-tabster';\nimport { tokens, typographyStyles } from '@fluentui/react-theme';\nimport { useCheckmarkStyles_unstable } from '../../selectable/index';\nimport type { MenuItemCheckboxState } from '../MenuItemCheckbox/index';\nimport type { MenuItemSlots, MenuItemState } from './MenuItem.types';\nimport type { SlotClassNames } from '@fluentui/react-utilities';\n\nexport const menuItemClassNames: SlotClassNames<MenuItemSlots> = {\n root: 'fui-MenuItem',\n icon: 'fui-MenuItem__icon',\n checkmark: 'fui-MenuItem__checkmark',\n submenuIndicator: 'fui-MenuItem__submenuIndicator',\n content: 'fui-MenuItem__content',\n secondaryContent: 'fui-MenuItem__secondaryContent',\n subText: 'fui-MenuItem__subText',\n};\n\nconst useRootBaseStyles = makeResetStyles({\n borderRadius: tokens.borderRadiusMedium,\n position: 'relative',\n color: tokens.colorNeutralForeground2,\n backgroundColor: tokens.colorNeutralBackground1,\n paddingRight: tokens.spacingVerticalSNudge, // 6px\n paddingLeft: tokens.spacingVerticalSNudge,\n paddingTop: tokens.spacingVerticalSNudge,\n paddingBottom: tokens.spacingVerticalSNudge,\n boxSizing: 'border-box',\n maxWidth: '290px',\n minHeight: '32px',\n flexShrink: 0,\n display: 'flex',\n alignItems: 'start',\n fontSize: tokens.fontSizeBase300,\n cursor: 'pointer',\n gap: '4px',\n\n ':hover': {\n backgroundColor: tokens.colorNeutralBackground1Hover,\n color: tokens.colorNeutralForeground2Hover,\n\n [`& .${iconFilledClassName}`]: {\n display: 'inline',\n },\n [`& .${iconRegularClassName}`]: {\n display: 'none',\n },\n [`& .${menuItemClassNames.icon}`]: {\n color: tokens.colorNeutralForeground2BrandSelected,\n },\n\n [`& .${menuItemClassNames.subText}`]: {\n color: tokens.colorNeutralForeground3Hover,\n },\n },\n\n ':hover:active': {\n backgroundColor: tokens.colorNeutralBackground1Pressed,\n color: tokens.colorNeutralForeground2Pressed,\n\n [`& .${menuItemClassNames.subText}`]: {\n color: tokens.colorNeutralForeground3Pressed,\n },\n },\n\n // High contrast styles\n '@media (forced-colors: active)': {\n ':hover': {\n backgroundColor: 'Canvas',\n borderColor: 'Highlight',\n color: 'Highlight',\n },\n ...createFocusOutlineStyle({ style: { outlineColor: 'Highlight' } }),\n },\n\n userSelect: 'none',\n ...createFocusOutlineStyle(),\n});\n\nconst useContentBaseStyles = makeResetStyles({\n paddingLeft: '2px',\n paddingRight: '2px',\n backgroundColor: 'transparent',\n flexGrow: 1,\n});\n\nconst useSecondaryContentBaseStyles = makeResetStyles({\n paddingLeft: '2px',\n paddingRight: '2px',\n ...typographyStyles.caption1,\n lineHeight: tokens.lineHeightBase300,\n color: tokens.colorNeutralForeground3,\n ':hover': {\n color: tokens.colorNeutralForeground3Hover,\n },\n ':focus': {\n color: tokens.colorNeutralForeground3Hover,\n },\n});\n\nconst useIconBaseStyles = makeResetStyles({\n width: '20px',\n height: '20px',\n fontSize: '20px',\n lineHeight: 0,\n alignItems: 'center',\n display: 'inline-flex',\n justifyContent: 'center',\n flexShrink: 0,\n});\n\nconst useSubmenuIndicatorBaseStyles = makeResetStyles({\n width: '20px',\n height: '20px',\n fontSize: '20px',\n lineHeight: 0,\n alignItems: 'center',\n display: 'inline-flex',\n justifyContent: 'center',\n});\n\nconst useSubtextBaseStyles = makeResetStyles({\n ...typographyStyles.caption2,\n color: tokens.colorNeutralForeground3,\n});\n\nconst useStyles = makeStyles({\n checkmark: {\n marginTop: '2px',\n },\n\n splitItemMain: {\n flexGrow: 1,\n },\n\n splitItemTrigger: {\n borderTopLeftRadius: 0,\n borderBottomLeftRadius: 0,\n paddingLeft: 0,\n '::before': {\n content: '\"\"',\n width: tokens.strokeWidthThin,\n height: '24px',\n backgroundColor: tokens.colorNeutralStroke1,\n },\n },\n disabled: {\n color: tokens.colorNeutralForegroundDisabled,\n ':hover': {\n color: tokens.colorNeutralForegroundDisabled,\n backgroundColor: tokens.colorNeutralBackground1,\n cursor: 'not-allowed',\n [`& .${iconFilledClassName}`]: {\n display: 'none',\n },\n [`& .${iconRegularClassName}`]: {\n display: 'inline',\n },\n [`& .${menuItemClassNames.icon}`]: {\n color: tokens.colorNeutralForegroundDisabled,\n },\n [`& .${menuItemClassNames.subText}`]: {\n color: tokens.colorNeutralForegroundDisabled,\n },\n },\n\n ':hover:active': {\n color: tokens.colorNeutralForegroundDisabled,\n backgroundColor: tokens.colorNeutralBackground1,\n\n [`& .${menuItemClassNames.subText}`]: {\n color: tokens.colorNeutralForegroundDisabled,\n },\n },\n\n ':focus': {\n color: tokens.colorNeutralForegroundDisabled,\n },\n\n '@media (forced-colors: active)': {\n color: 'GrayText',\n ':hover': {\n color: 'GrayText',\n backgroundColor: 'Canvas',\n [`& .${menuItemClassNames.icon}`]: {\n color: 'GrayText',\n backgroundColor: 'Canvas',\n },\n [`& .${menuItemClassNames.subText}`]: {\n color: 'GrayText',\n },\n },\n ':hover:active': {\n color: 'GrayText',\n backgroundColor: 'Canvas',\n [`& .${menuItemClassNames.subText}`]: {\n color: 'GrayText',\n },\n },\n ':focus': {\n color: 'GrayText',\n backgroundColor: 'Canvas',\n },\n },\n },\n});\n\nconst useSubTextStyles = makeStyles({\n disabled: {\n color: tokens.colorNeutralForegroundDisabled,\n\n '@media (forced-colors: active)': {\n color: 'GrayText',\n },\n },\n});\n\nconst useMultilineStyles = makeStyles({\n content: {\n display: 'flex',\n flexDirection: 'column',\n },\n\n secondaryContent: {\n alignSelf: 'center',\n },\n\n submenuIndicator: {\n alignSelf: 'center',\n },\n});\n\n/** Applies style classnames to slots */\nexport const useMenuItemStyles_unstable = (state: MenuItemState): MenuItemState => {\n 'use no memo';\n\n const styles = useStyles();\n const rootBaseStyles = useRootBaseStyles();\n const contentBaseStyles = useContentBaseStyles();\n const secondaryContentBaseStyles = useSecondaryContentBaseStyles();\n const iconBaseStyles = useIconBaseStyles();\n const submenuIndicatorBaseStyles = useSubmenuIndicatorBaseStyles();\n const multilineStyles = useMultilineStyles();\n const subtextBaseStyles = useSubtextBaseStyles();\n const subTextStyles = useSubTextStyles();\n const multiline = !!state.subText;\n state.root.className = mergeClasses(\n menuItemClassNames.root,\n rootBaseStyles,\n state.disabled && styles.disabled,\n state.root.className,\n );\n\n if (state.content) {\n state.content.className = mergeClasses(\n menuItemClassNames.content,\n contentBaseStyles,\n state.content.className,\n multiline && multilineStyles.content,\n );\n }\n\n if (state.checkmark) {\n state.checkmark.className = mergeClasses(menuItemClassNames.checkmark, styles.checkmark, state.checkmark.className);\n }\n\n if (state.secondaryContent) {\n state.secondaryContent.className = mergeClasses(\n menuItemClassNames.secondaryContent,\n secondaryContentBaseStyles,\n state.disabled && styles.disabled,\n state.secondaryContent.className,\n multiline && multilineStyles.secondaryContent,\n );\n }\n\n if (state.icon) {\n state.icon.className = mergeClasses(menuItemClassNames.icon, iconBaseStyles, state.icon.className);\n }\n\n if (state.submenuIndicator) {\n state.submenuIndicator.className = mergeClasses(\n menuItemClassNames.submenuIndicator,\n submenuIndicatorBaseStyles,\n state.submenuIndicator.className,\n multiline && multilineStyles.submenuIndicator,\n );\n }\n\n if (state.subText) {\n state.subText.className = mergeClasses(\n menuItemClassNames.subText,\n state.disabled && subTextStyles.disabled,\n state.subText.className,\n subtextBaseStyles,\n );\n }\n\n useCheckmarkStyles_unstable(state as MenuItemCheckboxState);\n\n return state;\n};\n"],"names":["mergeClasses","makeStyles","makeResetStyles","iconFilledClassName","iconRegularClassName","createFocusOutlineStyle","tokens","typographyStyles","useCheckmarkStyles_unstable","menuItemClassNames","root","icon","checkmark","submenuIndicator","content","secondaryContent","subText","useRootBaseStyles","borderRadius","borderRadiusMedium","position","color","colorNeutralForeground2","backgroundColor","colorNeutralBackground1","paddingRight","spacingVerticalSNudge","paddingLeft","paddingTop","paddingBottom","boxSizing","maxWidth","minHeight","flexShrink","display","alignItems","fontSize","fontSizeBase300","cursor","gap","colorNeutralBackground1Hover","colorNeutralForeground2Hover","colorNeutralForeground2BrandSelected","colorNeutralForeground3Hover","colorNeutralBackground1Pressed","colorNeutralForeground2Pressed","colorNeutralForeground3Pressed","borderColor","style","outlineColor","userSelect","useContentBaseStyles","flexGrow","useSecondaryContentBaseStyles","caption1","lineHeight","lineHeightBase300","colorNeutralForeground3","useIconBaseStyles","width","height","justifyContent","useSubmenuIndicatorBaseStyles","useSubtextBaseStyles","caption2","useStyles","marginTop","splitItemMain","splitItemTrigger","borderTopLeftRadius","borderBottomLeftRadius","strokeWidthThin","colorNeutralStroke1","disabled","colorNeutralForegroundDisabled","useSubTextStyles","useMultilineStyles","flexDirection","alignSelf","useMenuItemStyles_unstable","state","styles","rootBaseStyles","contentBaseStyles","secondaryContentBaseStyles","iconBaseStyles","submenuIndicatorBaseStyles","multilineStyles","subtextBaseStyles","subTextStyles","multiline","className"],"rangeMappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;","mappings":"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"}
|
@@ -0,0 +1,33 @@
|
|
1
|
+
import { mergeClasses } from '@griffel/react';
|
2
|
+
import { useCheckmarkStyles_unstable } from '../../selectable/index';
|
3
|
+
import { useMenuItemStyles_unstable } from '../MenuItem/useMenuItemStyles.styles';
|
4
|
+
export const menuItemCheckboxClassNames = {
|
5
|
+
root: 'fui-MenuItemCheckbox',
|
6
|
+
icon: 'fui-MenuItemCheckbox__icon',
|
7
|
+
checkmark: 'fui-MenuItemCheckbox__checkmark',
|
8
|
+
content: 'fui-MenuItemCheckbox__content',
|
9
|
+
secondaryContent: 'fui-MenuItemCheckbox__secondaryContent',
|
10
|
+
subText: 'fui-MenuItemCheckbox__subText'
|
11
|
+
};
|
12
|
+
export const useMenuItemCheckboxStyles_unstable = (state)=>{
|
13
|
+
'use no memo';
|
14
|
+
state.root.className = mergeClasses(menuItemCheckboxClassNames.root, state.root.className);
|
15
|
+
if (state.content) {
|
16
|
+
state.content.className = mergeClasses(menuItemCheckboxClassNames.content, state.content.className);
|
17
|
+
}
|
18
|
+
if (state.secondaryContent) {
|
19
|
+
state.secondaryContent.className = mergeClasses(menuItemCheckboxClassNames.secondaryContent, state.secondaryContent.className);
|
20
|
+
}
|
21
|
+
if (state.icon) {
|
22
|
+
state.icon.className = mergeClasses(menuItemCheckboxClassNames.icon, state.icon.className);
|
23
|
+
}
|
24
|
+
if (state.checkmark) {
|
25
|
+
state.checkmark.className = mergeClasses(menuItemCheckboxClassNames.checkmark, state.checkmark.className);
|
26
|
+
}
|
27
|
+
if (state.subText) {
|
28
|
+
state.subText.className = mergeClasses(menuItemCheckboxClassNames.subText, state.subText.className);
|
29
|
+
}
|
30
|
+
useMenuItemStyles_unstable(state);
|
31
|
+
useCheckmarkStyles_unstable(state);
|
32
|
+
return state;
|
33
|
+
};
|
@@ -0,0 +1 @@
|
|
1
|
+
{"version":3,"sources":["../src/components/MenuItemCheckbox/useMenuItemCheckboxStyles.styles.ts"],"sourcesContent":["import { mergeClasses } from '@griffel/react';\nimport { useCheckmarkStyles_unstable } from '../../selectable/index';\nimport { useMenuItemStyles_unstable } from '../MenuItem/useMenuItemStyles.styles';\nimport type { SlotClassNames } from '@fluentui/react-utilities';\nimport type { MenuItemSlots } from '../index';\nimport type { MenuItemCheckboxState } from './MenuItemCheckbox.types';\n\nexport const menuItemCheckboxClassNames: SlotClassNames<Omit<MenuItemSlots, 'submenuIndicator'>> = {\n root: 'fui-MenuItemCheckbox',\n icon: 'fui-MenuItemCheckbox__icon',\n checkmark: 'fui-MenuItemCheckbox__checkmark',\n content: 'fui-MenuItemCheckbox__content',\n secondaryContent: 'fui-MenuItemCheckbox__secondaryContent',\n subText: 'fui-MenuItemCheckbox__subText',\n};\n\nexport const useMenuItemCheckboxStyles_unstable = (state: MenuItemCheckboxState): MenuItemCheckboxState => {\n 'use no memo';\n\n state.root.className = mergeClasses(menuItemCheckboxClassNames.root, state.root.className);\n\n if (state.content) {\n state.content.className = mergeClasses(menuItemCheckboxClassNames.content, state.content.className);\n }\n\n if (state.secondaryContent) {\n state.secondaryContent.className = mergeClasses(\n menuItemCheckboxClassNames.secondaryContent,\n state.secondaryContent.className,\n );\n }\n\n if (state.icon) {\n state.icon.className = mergeClasses(menuItemCheckboxClassNames.icon, state.icon.className);\n }\n\n if (state.checkmark) {\n state.checkmark.className = mergeClasses(menuItemCheckboxClassNames.checkmark, state.checkmark.className);\n }\n\n if (state.subText) {\n state.subText.className = mergeClasses(menuItemCheckboxClassNames.subText, state.subText.className);\n }\n\n useMenuItemStyles_unstable(state);\n useCheckmarkStyles_unstable(state);\n\n return state;\n};\n"],"names":["mergeClasses","useCheckmarkStyles_unstable","useMenuItemStyles_unstable","menuItemCheckboxClassNames","root","icon","checkmark","content","secondaryContent","subText","useMenuItemCheckboxStyles_unstable","state","className"],"rangeMappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;","mappings":"AAAA,SAASA,YAAY,QAAQ,iBAAiB;AAC9C,SAASC,2BAA2B,QAAQ,yBAAyB;AACrE,SAASC,0BAA0B,QAAQ,uCAAuC;AAKlF,OAAO,MAAMC,6BAAsF;IACjGC,MAAM;IACNC,MAAM;IACNC,WAAW;IACXC,SAAS;IACTC,kBAAkB;IAClBC,SAAS;AACX,EAAE;AAEF,OAAO,MAAMC,qCAAqC,CAACC;IACjD;IAEAA,MAAMP,IAAI,CAACQ,SAAS,GAAGZ,aAAaG,2BAA2BC,IAAI,EAAEO,MAAMP,IAAI,CAACQ,SAAS;IAEzF,IAAID,MAAMJ,OAAO,EAAE;QACjBI,MAAMJ,OAAO,CAACK,SAAS,GAAGZ,aAAaG,2BAA2BI,OAAO,EAAEI,MAAMJ,OAAO,CAACK,SAAS;IACpG;IAEA,IAAID,MAAMH,gBAAgB,EAAE;QAC1BG,MAAMH,gBAAgB,CAACI,SAAS,GAAGZ,aACjCG,2BAA2BK,gBAAgB,EAC3CG,MAAMH,gBAAgB,CAACI,SAAS;IAEpC;IAEA,IAAID,MAAMN,IAAI,EAAE;QACdM,MAAMN,IAAI,CAACO,SAAS,GAAGZ,aAAaG,2BAA2BE,IAAI,EAAEM,MAAMN,IAAI,CAACO,SAAS;IAC3F;IAEA,IAAID,MAAML,SAAS,EAAE;QACnBK,MAAML,SAAS,CAACM,SAAS,GAAGZ,aAAaG,2BAA2BG,SAAS,EAAEK,MAAML,SAAS,CAACM,SAAS;IAC1G;IAEA,IAAID,MAAMF,OAAO,EAAE;QACjBE,MAAMF,OAAO,CAACG,SAAS,GAAGZ,aAAaG,2BAA2BM,OAAO,EAAEE,MAAMF,OAAO,CAACG,SAAS;IACpG;IAEAV,2BAA2BS;IAC3BV,4BAA4BU;IAE5B,OAAOA;AACT,EAAE"}
|
@@ -0,0 +1,40 @@
|
|
1
|
+
import { makeStyles, mergeClasses } from '@griffel/react';
|
2
|
+
import { useMenuItemStyles_unstable } from '../MenuItem/useMenuItemStyles.styles';
|
3
|
+
export const menuItemLinkClassNames = {
|
4
|
+
root: 'fui-MenuItemLink',
|
5
|
+
icon: 'fui-MenuItemLink__icon',
|
6
|
+
checkmark: 'fui-MenuItemLink__checkmark',
|
7
|
+
content: 'fui-MenuItemLink__content',
|
8
|
+
secondaryContent: 'fui-MenuItemLink__secondaryContent'
|
9
|
+
};
|
10
|
+
/**
|
11
|
+
* Styles for the root slot
|
12
|
+
*/ const useStyles = makeStyles({
|
13
|
+
resetLink: {
|
14
|
+
textDecorationLine: 'none',
|
15
|
+
textDecorationThickness: 'initial',
|
16
|
+
textDecorationStyle: 'initial',
|
17
|
+
textDecorationColor: 'initial'
|
18
|
+
}
|
19
|
+
});
|
20
|
+
/**
|
21
|
+
* Apply styling to the MenuItemLink slots based on the state
|
22
|
+
*/ export const useMenuItemLinkStyles_unstable = (state)=>{
|
23
|
+
'use no memo';
|
24
|
+
useMenuItemStyles_unstable(state);
|
25
|
+
const styles = useStyles();
|
26
|
+
state.root.className = mergeClasses(menuItemLinkClassNames.root, styles.resetLink, state.root.className);
|
27
|
+
if (state.icon) {
|
28
|
+
state.icon.className = mergeClasses(menuItemLinkClassNames.icon, state.icon.className);
|
29
|
+
}
|
30
|
+
if (state.content) {
|
31
|
+
state.content.className = mergeClasses(menuItemLinkClassNames.content, state.content.className);
|
32
|
+
}
|
33
|
+
if (state.secondaryContent) {
|
34
|
+
state.secondaryContent.className = mergeClasses(menuItemLinkClassNames.secondaryContent, state.secondaryContent.className);
|
35
|
+
}
|
36
|
+
if (state.checkmark) {
|
37
|
+
state.checkmark.className = mergeClasses(menuItemLinkClassNames.checkmark, state.checkmark.className);
|
38
|
+
}
|
39
|
+
return state;
|
40
|
+
};
|
@@ -0,0 +1 @@
|
|
1
|
+
{"version":3,"sources":["../src/components/MenuItemLink/useMenuItemLinkStyles.styles.ts"],"sourcesContent":["import { makeStyles, mergeClasses } from '@griffel/react';\nimport type { MenuItemLinkSlots, MenuItemLinkState } from './MenuItemLink.types';\nimport type { SlotClassNames } from '@fluentui/react-utilities';\nimport { useMenuItemStyles_unstable } from '../MenuItem/useMenuItemStyles.styles';\nimport { MenuItemState } from '../MenuItem/MenuItem.types';\n\nexport const menuItemLinkClassNames: SlotClassNames<MenuItemLinkSlots> = {\n root: 'fui-MenuItemLink',\n icon: 'fui-MenuItemLink__icon',\n checkmark: 'fui-MenuItemLink__checkmark',\n content: 'fui-MenuItemLink__content',\n secondaryContent: 'fui-MenuItemLink__secondaryContent',\n};\n\n/**\n * Styles for the root slot\n */\nconst useStyles = makeStyles({\n resetLink: {\n textDecorationLine: 'none',\n textDecorationThickness: 'initial',\n textDecorationStyle: 'initial',\n textDecorationColor: 'initial',\n },\n});\n\n/**\n * Apply styling to the MenuItemLink slots based on the state\n */\nexport const useMenuItemLinkStyles_unstable = (state: MenuItemLinkState): MenuItemLinkState => {\n 'use no memo';\n\n useMenuItemStyles_unstable(state as MenuItemState);\n const styles = useStyles();\n state.root.className = mergeClasses(menuItemLinkClassNames.root, styles.resetLink, state.root.className);\n\n if (state.icon) {\n state.icon.className = mergeClasses(menuItemLinkClassNames.icon, state.icon.className);\n }\n\n if (state.content) {\n state.content.className = mergeClasses(menuItemLinkClassNames.content, state.content.className);\n }\n\n if (state.secondaryContent) {\n state.secondaryContent.className = mergeClasses(\n menuItemLinkClassNames.secondaryContent,\n state.secondaryContent.className,\n );\n }\n\n if (state.checkmark) {\n state.checkmark.className = mergeClasses(menuItemLinkClassNames.checkmark, state.checkmark.className);\n }\n\n return state;\n};\n"],"names":["makeStyles","mergeClasses","useMenuItemStyles_unstable","menuItemLinkClassNames","root","icon","checkmark","content","secondaryContent","useStyles","resetLink","textDecorationLine","textDecorationThickness","textDecorationStyle","textDecorationColor","useMenuItemLinkStyles_unstable","state","styles","className"],"rangeMappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;","mappings":"AAAA,SAASA,UAAU,EAAEC,YAAY,QAAQ,iBAAiB;AAG1D,SAASC,0BAA0B,QAAQ,uCAAuC;AAGlF,OAAO,MAAMC,yBAA4D;IACvEC,MAAM;IACNC,MAAM;IACNC,WAAW;IACXC,SAAS;IACTC,kBAAkB;AACpB,EAAE;AAEF;;CAEC,GACD,MAAMC,YAAYT,WAAW;IAC3BU,WAAW;QACTC,oBAAoB;QACpBC,yBAAyB;QACzBC,qBAAqB;QACrBC,qBAAqB;IACvB;AACF;AAEA;;CAEC,GACD,OAAO,MAAMC,iCAAiC,CAACC;IAC7C;IAEAd,2BAA2Bc;IAC3B,MAAMC,SAASR;IACfO,MAAMZ,IAAI,CAACc,SAAS,GAAGjB,aAAaE,uBAAuBC,IAAI,EAAEa,OAAOP,SAAS,EAAEM,MAAMZ,IAAI,CAACc,SAAS;IAEvG,IAAIF,MAAMX,IAAI,EAAE;QACdW,MAAMX,IAAI,CAACa,SAAS,GAAGjB,aAAaE,uBAAuBE,IAAI,EAAEW,MAAMX,IAAI,CAACa,SAAS;IACvF;IAEA,IAAIF,MAAMT,OAAO,EAAE;QACjBS,MAAMT,OAAO,CAACW,SAAS,GAAGjB,aAAaE,uBAAuBI,OAAO,EAAES,MAAMT,OAAO,CAACW,SAAS;IAChG;IAEA,IAAIF,MAAMR,gBAAgB,EAAE;QAC1BQ,MAAMR,gBAAgB,CAACU,SAAS,GAAGjB,aACjCE,uBAAuBK,gBAAgB,EACvCQ,MAAMR,gBAAgB,CAACU,SAAS;IAEpC;IAEA,IAAIF,MAAMV,SAAS,EAAE;QACnBU,MAAMV,SAAS,CAACY,SAAS,GAAGjB,aAAaE,uBAAuBG,SAAS,EAAEU,MAAMV,SAAS,CAACY,SAAS;IACtG;IAEA,OAAOF;AACT,EAAE"}
|
@@ -0,0 +1,32 @@
|
|
1
|
+
import { mergeClasses } from '@griffel/react';
|
2
|
+
import { useCheckmarkStyles_unstable } from '../../selectable/index';
|
3
|
+
import { useMenuItemStyles_unstable } from '../MenuItem/useMenuItemStyles.styles';
|
4
|
+
export const menuItemRadioClassNames = {
|
5
|
+
root: 'fui-MenuItemRadio',
|
6
|
+
icon: 'fui-MenuItemRadio__icon',
|
7
|
+
checkmark: 'fui-MenuItemRadio__checkmark',
|
8
|
+
content: 'fui-MenuItemRadio__content',
|
9
|
+
secondaryContent: 'fui-MenuItemRadio__secondaryContent',
|
10
|
+
subText: 'fui-MenuItemRadio__subText'
|
11
|
+
};
|
12
|
+
export const useMenuItemRadioStyles_unstable = (state)=>{
|
13
|
+
'use no memo';
|
14
|
+
state.root.className = mergeClasses(menuItemRadioClassNames.root, state.root.className);
|
15
|
+
if (state.content) {
|
16
|
+
state.content.className = mergeClasses(menuItemRadioClassNames.content, state.content.className);
|
17
|
+
}
|
18
|
+
if (state.secondaryContent) {
|
19
|
+
state.secondaryContent.className = mergeClasses(menuItemRadioClassNames.secondaryContent, state.secondaryContent.className);
|
20
|
+
}
|
21
|
+
if (state.icon) {
|
22
|
+
state.icon.className = mergeClasses(menuItemRadioClassNames.icon, state.icon.className);
|
23
|
+
}
|
24
|
+
if (state.checkmark) {
|
25
|
+
state.checkmark.className = mergeClasses(menuItemRadioClassNames.checkmark, state.checkmark.className);
|
26
|
+
}
|
27
|
+
if (state.subText) {
|
28
|
+
state.subText.className = mergeClasses(menuItemRadioClassNames.subText, state.subText.className);
|
29
|
+
}
|
30
|
+
useMenuItemStyles_unstable(state);
|
31
|
+
useCheckmarkStyles_unstable(state);
|
32
|
+
};
|
@@ -0,0 +1 @@
|
|
1
|
+
{"version":3,"sources":["../src/components/MenuItemRadio/useMenuItemRadioStyles.styles.ts"],"sourcesContent":["import { mergeClasses } from '@griffel/react';\nimport { useCheckmarkStyles_unstable } from '../../selectable/index';\nimport { useMenuItemStyles_unstable } from '../MenuItem/useMenuItemStyles.styles';\nimport type { SlotClassNames } from '@fluentui/react-utilities';\nimport type { MenuItemSlots } from '../index';\nimport type { MenuItemRadioState } from './MenuItemRadio.types';\n\nexport const menuItemRadioClassNames: SlotClassNames<Omit<MenuItemSlots, 'submenuIndicator'>> = {\n root: 'fui-MenuItemRadio',\n icon: 'fui-MenuItemRadio__icon',\n checkmark: 'fui-MenuItemRadio__checkmark',\n content: 'fui-MenuItemRadio__content',\n secondaryContent: 'fui-MenuItemRadio__secondaryContent',\n subText: 'fui-MenuItemRadio__subText',\n};\n\nexport const useMenuItemRadioStyles_unstable = (state: MenuItemRadioState) => {\n 'use no memo';\n\n state.root.className = mergeClasses(menuItemRadioClassNames.root, state.root.className);\n\n if (state.content) {\n state.content.className = mergeClasses(menuItemRadioClassNames.content, state.content.className);\n }\n\n if (state.secondaryContent) {\n state.secondaryContent.className = mergeClasses(\n menuItemRadioClassNames.secondaryContent,\n state.secondaryContent.className,\n );\n }\n\n if (state.icon) {\n state.icon.className = mergeClasses(menuItemRadioClassNames.icon, state.icon.className);\n }\n\n if (state.checkmark) {\n state.checkmark.className = mergeClasses(menuItemRadioClassNames.checkmark, state.checkmark.className);\n }\n\n if (state.subText) {\n state.subText.className = mergeClasses(menuItemRadioClassNames.subText, state.subText.className);\n }\n\n useMenuItemStyles_unstable(state);\n useCheckmarkStyles_unstable(state);\n};\n"],"names":["mergeClasses","useCheckmarkStyles_unstable","useMenuItemStyles_unstable","menuItemRadioClassNames","root","icon","checkmark","content","secondaryContent","subText","useMenuItemRadioStyles_unstable","state","className"],"rangeMappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;","mappings":"AAAA,SAASA,YAAY,QAAQ,iBAAiB;AAC9C,SAASC,2BAA2B,QAAQ,yBAAyB;AACrE,SAASC,0BAA0B,QAAQ,uCAAuC;AAKlF,OAAO,MAAMC,0BAAmF;IAC9FC,MAAM;IACNC,MAAM;IACNC,WAAW;IACXC,SAAS;IACTC,kBAAkB;IAClBC,SAAS;AACX,EAAE;AAEF,OAAO,MAAMC,kCAAkC,CAACC;IAC9C;IAEAA,MAAMP,IAAI,CAACQ,SAAS,GAAGZ,aAAaG,wBAAwBC,IAAI,EAAEO,MAAMP,IAAI,CAACQ,SAAS;IAEtF,IAAID,MAAMJ,OAAO,EAAE;QACjBI,MAAMJ,OAAO,CAACK,SAAS,GAAGZ,aAAaG,wBAAwBI,OAAO,EAAEI,MAAMJ,OAAO,CAACK,SAAS;IACjG;IAEA,IAAID,MAAMH,gBAAgB,EAAE;QAC1BG,MAAMH,gBAAgB,CAACI,SAAS,GAAGZ,aACjCG,wBAAwBK,gBAAgB,EACxCG,MAAMH,gBAAgB,CAACI,SAAS;IAEpC;IAEA,IAAID,MAAMN,IAAI,EAAE;QACdM,MAAMN,IAAI,CAACO,SAAS,GAAGZ,aAAaG,wBAAwBE,IAAI,EAAEM,MAAMN,IAAI,CAACO,SAAS;IACxF;IAEA,IAAID,MAAML,SAAS,EAAE;QACnBK,MAAML,SAAS,CAACM,SAAS,GAAGZ,aAAaG,wBAAwBG,SAAS,EAAEK,MAAML,SAAS,CAACM,SAAS;IACvG;IAEA,IAAID,MAAMF,OAAO,EAAE;QACjBE,MAAMF,OAAO,CAACG,SAAS,GAAGZ,aAAaG,wBAAwBM,OAAO,EAAEE,MAAMF,OAAO,CAACG,SAAS;IACjG;IAEAV,2BAA2BS;IAC3BV,4BAA4BU;AAC9B,EAAE"}
|
@@ -0,0 +1,117 @@
|
|
1
|
+
import { makeStyles, makeResetStyles, mergeClasses, shorthands } from '@griffel/react';
|
2
|
+
import { tokens } from '@fluentui/react-theme';
|
3
|
+
import { useMenuItemStyles_unstable } from '../MenuItem/useMenuItemStyles.styles';
|
4
|
+
export const menuItemSwitchClassNames = {
|
5
|
+
root: 'fui-MenuItemSwitch',
|
6
|
+
icon: 'fui-MenuItemSwitch__icon',
|
7
|
+
content: 'fui-MenuItemSwitch__content',
|
8
|
+
secondaryContent: 'fui-MenuItemSwitch__secondaryContent',
|
9
|
+
switchIndicator: 'fui-MenuItemSwitch__switchIndicator',
|
10
|
+
subText: 'fui-MenuItemSwitch__subText'
|
11
|
+
};
|
12
|
+
export const circleFilledClassName = 'fui-MenuItemSwitch__switchIndicator__circleFilled';
|
13
|
+
// Thumb and track sizes used by the component.
|
14
|
+
const spaceBetweenThumbAndTrack = 2;
|
15
|
+
const trackHeight = 20;
|
16
|
+
const trackWidth = 40;
|
17
|
+
const thumbSize = trackHeight - spaceBetweenThumbAndTrack;
|
18
|
+
const useSwitchIndicatorBaseClassName = makeResetStyles({
|
19
|
+
borderRadius: tokens.borderRadiusCircular,
|
20
|
+
border: `${tokens.strokeWidthThin} solid ${tokens.colorNeutralStrokeAccessible}`,
|
21
|
+
lineHeight: 0,
|
22
|
+
boxSizing: 'border-box',
|
23
|
+
fill: 'currentColor',
|
24
|
+
flexShrink: 0,
|
25
|
+
fontSize: `${thumbSize}px`,
|
26
|
+
height: `${trackHeight}px`,
|
27
|
+
transitionDuration: tokens.durationNormal,
|
28
|
+
transitionTimingFunction: tokens.curveEasyEase,
|
29
|
+
transitionProperty: 'background, border, color',
|
30
|
+
width: `${trackWidth}px`,
|
31
|
+
marginRight: tokens.spacingHorizontalXS,
|
32
|
+
'@media screen and (prefers-reduced-motion: reduce)': {
|
33
|
+
transitionDuration: '0.01ms'
|
34
|
+
},
|
35
|
+
color: tokens.colorNeutralStrokeAccessible,
|
36
|
+
':hover': {
|
37
|
+
color: tokens.colorNeutralStrokeAccessibleHover,
|
38
|
+
borderColor: tokens.colorNeutralStrokeAccessibleHover
|
39
|
+
},
|
40
|
+
':hover:active': {
|
41
|
+
color: tokens.colorNeutralStrokeAccessiblePressed,
|
42
|
+
borderColor: tokens.colorNeutralStrokeAccessiblePressed
|
43
|
+
},
|
44
|
+
[`& .${circleFilledClassName}`]: {
|
45
|
+
transitionDuration: tokens.durationNormal,
|
46
|
+
transitionTimingFunction: tokens.curveEasyEase,
|
47
|
+
transitionProperty: 'transform',
|
48
|
+
'@media screen and (prefers-reduced-motion: reduce)': {
|
49
|
+
transitionDuration: '0.01ms'
|
50
|
+
}
|
51
|
+
}
|
52
|
+
});
|
53
|
+
const useSwitchIndicatorStyles = makeStyles({
|
54
|
+
checked: {
|
55
|
+
[`& .${circleFilledClassName}`]: {
|
56
|
+
transform: `translateX(${trackWidth - thumbSize - spaceBetweenThumbAndTrack}px)`
|
57
|
+
},
|
58
|
+
backgroundColor: tokens.colorCompoundBrandBackground,
|
59
|
+
color: tokens.colorNeutralForegroundInverted,
|
60
|
+
...shorthands.borderColor(tokens.colorTransparentStroke),
|
61
|
+
':hover': {
|
62
|
+
color: tokens.colorNeutralForegroundInverted,
|
63
|
+
backgroundColor: tokens.colorCompoundBrandBackgroundHover,
|
64
|
+
...shorthands.borderColor(tokens.colorTransparentStrokeInteractive)
|
65
|
+
},
|
66
|
+
':hover:active': {
|
67
|
+
color: tokens.colorNeutralForegroundInverted,
|
68
|
+
backgroundColor: tokens.colorCompoundBrandBackgroundPressed,
|
69
|
+
...shorthands.borderColor(tokens.colorTransparentStrokeInteractive)
|
70
|
+
}
|
71
|
+
}
|
72
|
+
});
|
73
|
+
const useMultilineStyles = makeStyles({
|
74
|
+
switch: {
|
75
|
+
alignSelf: 'center'
|
76
|
+
}
|
77
|
+
});
|
78
|
+
/**
|
79
|
+
* Apply styling to the MenuItemSwitch slots based on the state
|
80
|
+
*/ export const useMenuItemSwitchStyles_unstable = (state)=>{
|
81
|
+
'use no memo';
|
82
|
+
const { checked, subText } = state;
|
83
|
+
const multiline = !!subText;
|
84
|
+
const switchIndicatorStyles = useSwitchIndicatorStyles();
|
85
|
+
const switchIndicatorBaseStyles = useSwitchIndicatorBaseClassName();
|
86
|
+
const multilineStyles = useMultilineStyles();
|
87
|
+
state.root.className = mergeClasses(menuItemSwitchClassNames.root, state.root.className);
|
88
|
+
if (state.content) {
|
89
|
+
state.content.className = mergeClasses(menuItemSwitchClassNames.content, state.content.className);
|
90
|
+
}
|
91
|
+
if (state.secondaryContent) {
|
92
|
+
state.secondaryContent.className = mergeClasses(menuItemSwitchClassNames.secondaryContent, state.secondaryContent.className);
|
93
|
+
}
|
94
|
+
if (state.icon) {
|
95
|
+
state.icon.className = mergeClasses(menuItemSwitchClassNames.icon, state.icon.className);
|
96
|
+
}
|
97
|
+
if (state.subText) {
|
98
|
+
state.subText.className = mergeClasses(menuItemSwitchClassNames.subText, state.subText.className);
|
99
|
+
}
|
100
|
+
if (state.switchIndicator) {
|
101
|
+
state.switchIndicator.className = mergeClasses(menuItemSwitchClassNames.switchIndicator, switchIndicatorBaseStyles, checked && switchIndicatorStyles.checked, state.switchIndicator.className, multiline && multilineStyles.switch);
|
102
|
+
}
|
103
|
+
useMenuItemStyles_unstable({
|
104
|
+
...state,
|
105
|
+
components: {
|
106
|
+
// eslint-disable-next-line @typescript-eslint/no-deprecated
|
107
|
+
...state.components,
|
108
|
+
checkmark: 'span',
|
109
|
+
submenuIndicator: 'span'
|
110
|
+
},
|
111
|
+
checkmark: undefined,
|
112
|
+
submenuIndicator: undefined,
|
113
|
+
hasSubmenu: false,
|
114
|
+
persistOnClick: true
|
115
|
+
});
|
116
|
+
return state;
|
117
|
+
};
|
@@ -0,0 +1 @@
|
|
1
|
+
{"version":3,"sources":["../src/components/MenuItemSwitch/useMenuItemSwitchStyles.styles.ts"],"sourcesContent":["import { makeStyles, makeResetStyles, mergeClasses, shorthands } from '@griffel/react';\nimport { tokens } from '@fluentui/react-theme';\nimport { type SlotClassNames } from '@fluentui/react-utilities';\nimport type { MenuItemSwitchSlots, MenuItemSwitchState } from './MenuItemSwitch.types';\nimport { useMenuItemStyles_unstable } from '../MenuItem/useMenuItemStyles.styles';\n\nexport const menuItemSwitchClassNames: SlotClassNames<MenuItemSwitchSlots> = {\n root: 'fui-MenuItemSwitch',\n icon: 'fui-MenuItemSwitch__icon',\n content: 'fui-MenuItemSwitch__content',\n secondaryContent: 'fui-MenuItemSwitch__secondaryContent',\n switchIndicator: 'fui-MenuItemSwitch__switchIndicator',\n subText: 'fui-MenuItemSwitch__subText',\n};\n\nexport const circleFilledClassName = 'fui-MenuItemSwitch__switchIndicator__circleFilled';\n\n// Thumb and track sizes used by the component.\nconst spaceBetweenThumbAndTrack = 2;\nconst trackHeight = 20;\nconst trackWidth = 40;\nconst thumbSize = trackHeight - spaceBetweenThumbAndTrack;\n\nconst useSwitchIndicatorBaseClassName = makeResetStyles({\n borderRadius: tokens.borderRadiusCircular,\n border: `${tokens.strokeWidthThin} solid ${tokens.colorNeutralStrokeAccessible}`,\n lineHeight: 0,\n boxSizing: 'border-box',\n fill: 'currentColor',\n flexShrink: 0,\n fontSize: `${thumbSize}px`,\n height: `${trackHeight}px`,\n transitionDuration: tokens.durationNormal,\n transitionTimingFunction: tokens.curveEasyEase,\n transitionProperty: 'background, border, color',\n width: `${trackWidth}px`,\n marginRight: tokens.spacingHorizontalXS,\n\n '@media screen and (prefers-reduced-motion: reduce)': {\n transitionDuration: '0.01ms',\n },\n\n color: tokens.colorNeutralStrokeAccessible,\n ':hover': {\n color: tokens.colorNeutralStrokeAccessibleHover,\n borderColor: tokens.colorNeutralStrokeAccessibleHover,\n },\n\n ':hover:active': {\n color: tokens.colorNeutralStrokeAccessiblePressed,\n borderColor: tokens.colorNeutralStrokeAccessiblePressed,\n },\n [`& .${circleFilledClassName}`]: {\n transitionDuration: tokens.durationNormal,\n transitionTimingFunction: tokens.curveEasyEase,\n transitionProperty: 'transform',\n\n '@media screen and (prefers-reduced-motion: reduce)': {\n transitionDuration: '0.01ms',\n },\n },\n});\n\nconst useSwitchIndicatorStyles = makeStyles({\n checked: {\n [`& .${circleFilledClassName}`]: {\n transform: `translateX(${trackWidth - thumbSize - spaceBetweenThumbAndTrack}px)`,\n },\n\n backgroundColor: tokens.colorCompoundBrandBackground,\n color: tokens.colorNeutralForegroundInverted,\n ...shorthands.borderColor(tokens.colorTransparentStroke),\n\n ':hover': {\n color: tokens.colorNeutralForegroundInverted,\n backgroundColor: tokens.colorCompoundBrandBackgroundHover,\n ...shorthands.borderColor(tokens.colorTransparentStrokeInteractive),\n },\n\n ':hover:active': {\n color: tokens.colorNeutralForegroundInverted,\n backgroundColor: tokens.colorCompoundBrandBackgroundPressed,\n ...shorthands.borderColor(tokens.colorTransparentStrokeInteractive),\n },\n },\n});\n\nconst useMultilineStyles = makeStyles({\n switch: {\n alignSelf: 'center',\n },\n});\n\n/**\n * Apply styling to the MenuItemSwitch slots based on the state\n */\nexport const useMenuItemSwitchStyles_unstable = (state: MenuItemSwitchState): MenuItemSwitchState => {\n 'use no memo';\n\n const { checked, subText } = state;\n const multiline = !!subText;\n const switchIndicatorStyles = useSwitchIndicatorStyles();\n const switchIndicatorBaseStyles = useSwitchIndicatorBaseClassName();\n const multilineStyles = useMultilineStyles();\n state.root.className = mergeClasses(menuItemSwitchClassNames.root, state.root.className);\n if (state.content) {\n state.content.className = mergeClasses(menuItemSwitchClassNames.content, state.content.className);\n }\n\n if (state.secondaryContent) {\n state.secondaryContent.className = mergeClasses(\n menuItemSwitchClassNames.secondaryContent,\n state.secondaryContent.className,\n );\n }\n\n if (state.icon) {\n state.icon.className = mergeClasses(menuItemSwitchClassNames.icon, state.icon.className);\n }\n\n if (state.subText) {\n state.subText.className = mergeClasses(menuItemSwitchClassNames.subText, state.subText.className);\n }\n\n if (state.switchIndicator) {\n state.switchIndicator.className = mergeClasses(\n menuItemSwitchClassNames.switchIndicator,\n switchIndicatorBaseStyles,\n checked && switchIndicatorStyles.checked,\n state.switchIndicator.className,\n multiline && multilineStyles.switch,\n );\n }\n\n useMenuItemStyles_unstable({\n ...state,\n components: {\n // eslint-disable-next-line @typescript-eslint/no-deprecated\n ...state.components,\n checkmark: 'span',\n submenuIndicator: 'span',\n },\n checkmark: undefined,\n submenuIndicator: undefined,\n hasSubmenu: false,\n persistOnClick: true,\n });\n\n return state;\n};\n"],"names":["makeStyles","makeResetStyles","mergeClasses","shorthands","tokens","useMenuItemStyles_unstable","menuItemSwitchClassNames","root","icon","content","secondaryContent","switchIndicator","subText","circleFilledClassName","spaceBetweenThumbAndTrack","trackHeight","trackWidth","thumbSize","useSwitchIndicatorBaseClassName","borderRadius","borderRadiusCircular","border","strokeWidthThin","colorNeutralStrokeAccessible","lineHeight","boxSizing","fill","flexShrink","fontSize","height","transitionDuration","durationNormal","transitionTimingFunction","curveEasyEase","transitionProperty","width","marginRight","spacingHorizontalXS","color","colorNeutralStrokeAccessibleHover","borderColor","colorNeutralStrokeAccessiblePressed","useSwitchIndicatorStyles","checked","transform","backgroundColor","colorCompoundBrandBackground","colorNeutralForegroundInverted","colorTransparentStroke","colorCompoundBrandBackgroundHover","colorTransparentStrokeInteractive","colorCompoundBrandBackgroundPressed","useMultilineStyles","switch","alignSelf","useMenuItemSwitchStyles_unstable","state","multiline","switchIndicatorStyles","switchIndicatorBaseStyles","multilineStyles","className","components","checkmark","submenuIndicator","undefined","hasSubmenu","persistOnClick"],"rangeMappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;","mappings":"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"}
|
@@ -0,0 +1,22 @@
|
|
1
|
+
import { mergeClasses, makeStyles } from '@griffel/react';
|
2
|
+
export const menuListClassNames = {
|
3
|
+
root: 'fui-MenuList'
|
4
|
+
};
|
5
|
+
const useStyles = makeStyles({
|
6
|
+
root: {
|
7
|
+
display: 'flex',
|
8
|
+
flexDirection: 'column',
|
9
|
+
gap: '2px'
|
10
|
+
},
|
11
|
+
hasMenuContext: {
|
12
|
+
height: '100%'
|
13
|
+
}
|
14
|
+
});
|
15
|
+
/**
|
16
|
+
* Apply styling to the Menu slots based on the state
|
17
|
+
*/ export const useMenuListStyles_unstable = (state)=>{
|
18
|
+
'use no memo';
|
19
|
+
const styles = useStyles();
|
20
|
+
state.root.className = mergeClasses(menuListClassNames.root, styles.root, state.hasMenuContext && styles.hasMenuContext, state.root.className);
|
21
|
+
return state;
|
22
|
+
};
|
@@ -0,0 +1 @@
|
|
1
|
+
{"version":3,"sources":["../src/components/MenuList/useMenuListStyles.styles.ts"],"sourcesContent":["import type { SlotClassNames } from '@fluentui/react-utilities';\nimport { mergeClasses, makeStyles } from '@griffel/react';\nimport type { MenuListSlots, MenuListState } from './MenuList.types';\n\nexport const menuListClassNames: SlotClassNames<MenuListSlots> = {\n root: 'fui-MenuList',\n};\n\nconst useStyles = makeStyles({\n root: {\n display: 'flex',\n flexDirection: 'column',\n gap: '2px',\n },\n hasMenuContext: {\n height: '100%',\n },\n});\n\n/**\n * Apply styling to the Menu slots based on the state\n */\nexport const useMenuListStyles_unstable = (state: MenuListState): MenuListState => {\n 'use no memo';\n\n const styles = useStyles();\n state.root.className = mergeClasses(\n menuListClassNames.root,\n styles.root,\n state.hasMenuContext && styles.hasMenuContext,\n state.root.className,\n );\n return state;\n};\n"],"names":["mergeClasses","makeStyles","menuListClassNames","root","useStyles","display","flexDirection","gap","hasMenuContext","height","useMenuListStyles_unstable","state","styles","className"],"rangeMappings":";;;;;;;;;;;;;;;;;;;;;","mappings":"AACA,SAASA,YAAY,EAAEC,UAAU,QAAQ,iBAAiB;AAG1D,OAAO,MAAMC,qBAAoD;IAC/DC,MAAM;AACR,EAAE;AAEF,MAAMC,YAAYH,WAAW;IAC3BE,MAAM;QACJE,SAAS;QACTC,eAAe;QACfC,KAAK;IACP;IACAC,gBAAgB;QACdC,QAAQ;IACV;AACF;AAEA;;CAEC,GACD,OAAO,MAAMC,6BAA6B,CAACC;IACzC;IAEA,MAAMC,SAASR;IACfO,MAAMR,IAAI,CAACU,SAAS,GAAGb,aACrBE,mBAAmBC,IAAI,EACvBS,OAAOT,IAAI,EACXQ,MAAMH,cAAc,IAAII,OAAOJ,cAAc,EAC7CG,MAAMR,IAAI,CAACU,SAAS;IAEtB,OAAOF;AACT,EAAE"}
|
@@ -0,0 +1,31 @@
|
|
1
|
+
import { mergeClasses, makeStyles } from '@griffel/react';
|
2
|
+
import { tokens, typographyStyles } from '@fluentui/react-theme';
|
3
|
+
import { createSlideStyles } from '@fluentui/react-positioning';
|
4
|
+
export const menuPopoverClassNames = {
|
5
|
+
root: 'fui-MenuPopover'
|
6
|
+
};
|
7
|
+
const useStyles = makeStyles({
|
8
|
+
root: {
|
9
|
+
borderRadius: tokens.borderRadiusMedium,
|
10
|
+
backgroundColor: tokens.colorNeutralBackground1,
|
11
|
+
color: tokens.colorNeutralForeground1,
|
12
|
+
boxSizing: 'border-box',
|
13
|
+
minWidth: '138px',
|
14
|
+
maxWidth: '300px',
|
15
|
+
overflowX: 'hidden',
|
16
|
+
width: 'max-content',
|
17
|
+
boxShadow: `${tokens.shadow16}`,
|
18
|
+
padding: '4px',
|
19
|
+
border: `1px solid ${tokens.colorTransparentStroke}`,
|
20
|
+
...typographyStyles.body1,
|
21
|
+
...createSlideStyles(10)
|
22
|
+
}
|
23
|
+
});
|
24
|
+
/**
|
25
|
+
* Apply styling to the Menu slots based on the state
|
26
|
+
*/ export const useMenuPopoverStyles_unstable = (state)=>{
|
27
|
+
'use no memo';
|
28
|
+
const styles = useStyles();
|
29
|
+
state.root.className = mergeClasses(menuPopoverClassNames.root, styles.root, state.root.className);
|
30
|
+
return state;
|
31
|
+
};
|
@@ -0,0 +1 @@
|
|
1
|
+
{"version":3,"sources":["../src/components/MenuPopover/useMenuPopoverStyles.styles.ts"],"sourcesContent":["import { mergeClasses, makeStyles } from '@griffel/react';\nimport { tokens, typographyStyles } from '@fluentui/react-theme';\nimport type { MenuPopoverSlots, MenuPopoverState } from './MenuPopover.types';\nimport type { SlotClassNames } from '@fluentui/react-utilities';\nimport { createSlideStyles } from '@fluentui/react-positioning';\n\nexport const menuPopoverClassNames: SlotClassNames<MenuPopoverSlots> = {\n root: 'fui-MenuPopover',\n};\n\nconst useStyles = makeStyles({\n root: {\n borderRadius: tokens.borderRadiusMedium,\n backgroundColor: tokens.colorNeutralBackground1,\n color: tokens.colorNeutralForeground1,\n boxSizing: 'border-box',\n minWidth: '138px',\n maxWidth: '300px',\n overflowX: 'hidden',\n width: 'max-content',\n boxShadow: `${tokens.shadow16}`,\n padding: '4px',\n border: `1px solid ${tokens.colorTransparentStroke}`,\n ...typographyStyles.body1,\n ...createSlideStyles(10),\n },\n});\n\n/**\n * Apply styling to the Menu slots based on the state\n */\nexport const useMenuPopoverStyles_unstable = (state: MenuPopoverState): MenuPopoverState => {\n 'use no memo';\n\n const styles = useStyles();\n state.root.className = mergeClasses(menuPopoverClassNames.root, styles.root, state.root.className);\n return state;\n};\n"],"names":["mergeClasses","makeStyles","tokens","typographyStyles","createSlideStyles","menuPopoverClassNames","root","useStyles","borderRadius","borderRadiusMedium","backgroundColor","colorNeutralBackground1","color","colorNeutralForeground1","boxSizing","minWidth","maxWidth","overflowX","width","boxShadow","shadow16","padding","border","colorTransparentStroke","body1","useMenuPopoverStyles_unstable","state","styles","className"],"rangeMappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;","mappings":"AAAA,SAASA,YAAY,EAAEC,UAAU,QAAQ,iBAAiB;AAC1D,SAASC,MAAM,EAAEC,gBAAgB,QAAQ,wBAAwB;AAGjE,SAASC,iBAAiB,QAAQ,8BAA8B;AAEhE,OAAO,MAAMC,wBAA0D;IACrEC,MAAM;AACR,EAAE;AAEF,MAAMC,YAAYN,WAAW;IAC3BK,MAAM;QACJE,cAAcN,OAAOO,kBAAkB;QACvCC,iBAAiBR,OAAOS,uBAAuB;QAC/CC,OAAOV,OAAOW,uBAAuB;QACrCC,WAAW;QACXC,UAAU;QACVC,UAAU;QACVC,WAAW;QACXC,OAAO;QACPC,WAAW,CAAC,EAAEjB,OAAOkB,QAAQ,CAAC,CAAC;QAC/BC,SAAS;QACTC,QAAQ,CAAC,UAAU,EAAEpB,OAAOqB,sBAAsB,CAAC,CAAC;QACpD,GAAGpB,iBAAiBqB,KAAK;QACzB,GAAGpB,kBAAkB,GAAG;IAC1B;AACF;AAEA;;CAEC,GACD,OAAO,MAAMqB,gCAAgC,CAACC;IAC5C;IAEA,MAAMC,SAASpB;IACfmB,MAAMpB,IAAI,CAACsB,SAAS,GAAG5B,aAAaK,sBAAsBC,IAAI,EAAEqB,OAAOrB,IAAI,EAAEoB,MAAMpB,IAAI,CAACsB,SAAS;IACjG,OAAOF;AACT,EAAE"}
|