@@ -7,11 +7,6 @@ import type { MenuItemCheckboxState } from '../MenuItemCheckbox/index';
7
7
import type { MenuItemSlots , MenuItemState } from './MenuItem.types' ;
8
8
import type { SlotClassNames } from '@fluentui/react-utilities' ;
9
9
10
- const cssVars = {
11
- menuItemMultilineGridAreas : '--fui-MenuItem-grid-areas' ,
12
- menuItemMultilineGridColumns : '--fui-MenuItem-grid-columns' ,
13
- } ;
14
-
15
10
export const menuItemClassNames : SlotClassNames < MenuItemSlots > = {
16
11
root : 'fui-MenuItem' ,
17
12
icon : 'fui-MenuItem__icon' ,
@@ -119,8 +114,6 @@ const useSubmenuIndicatorBaseStyles = makeResetStyles({
119
114
120
115
const useSubtextBaseStyles = makeResetStyles ( {
121
116
...typographyStyles . caption2 ,
122
- paddingLeft : '2px' ,
123
- paddingRight : '2px' ,
124
117
} ) ;
125
118
126
119
const useStyles = makeStyles ( {
@@ -188,62 +181,20 @@ const useStyles = makeStyles({
188
181
} ) ;
189
182
190
183
const useMultilineStyles = makeStyles ( {
191
- root : {
192
- display : 'grid' ,
193
- gridTemplateColumns : `var(${ cssVars . menuItemMultilineGridColumns } )` ,
194
- gridTemplateAreas : `var(${ cssVars . menuItemMultilineGridAreas } )` ,
195
- } ,
196
-
197
- checkmark : {
198
- gridArea : 'checkmark' ,
199
- } ,
200
-
201
- icon : {
202
- gridArea : 'icon' ,
203
- } ,
204
-
205
184
content : {
206
- gridArea : 'content' ,
185
+ display : 'flex' ,
186
+ flexDirection : 'column' ,
207
187
} ,
208
188
209
189
secondaryContent : {
210
- gridArea : 'secondaryContent' ,
211
190
alignSelf : 'center' ,
212
191
} ,
213
192
214
- subText : {
215
- gridArea : 'subText' ,
216
- } ,
217
-
218
193
submenuIndicator : {
219
194
alignSelf : 'center' ,
220
- gridArea : 'submenuIndicator' ,
221
195
} ,
222
196
} ) ;
223
197
224
- const buildMultilineGridArea = ( slots : MenuItemSlots , hasSubmenu : boolean ) => {
225
- const checkmark = slots . checkmark ? 'checkmark' : '' ;
226
- const icon = slots . icon ? 'icon' : '' ;
227
- const secondaryContent = slots . secondaryContent ? 'secondaryContent' : '' ;
228
- const submenuIndicator = slots . submenuIndicator || hasSubmenu ? 'submenuIndicator' : '' ;
229
-
230
- return `
231
- "${ checkmark } ${ icon } content ${ secondaryContent } ${ submenuIndicator } "
232
- "${ checkmark } ${ icon } subText ${ secondaryContent } ${ submenuIndicator } "
233
- ` ;
234
- } ;
235
-
236
- const buildMultilineGridColumns = ( slots : MenuItemSlots , hasSubmenu : boolean ) => {
237
- const checkmark = slots . checkmark ? 'auto' : '' ;
238
- const icon = slots . icon ? 'auto' : '' ;
239
- const secondaryContent = slots . secondaryContent ? 'auto' : '' ;
240
- const submenuIndicator = slots . submenuIndicator || hasSubmenu ? 'auto' : '' ;
241
-
242
- return `
243
- ${ checkmark } ${ icon } 1fr ${ secondaryContent } ${ submenuIndicator }
244
- ` ;
245
- } ;
246
-
247
198
/** Applies style classnames to slots */
248
199
export const useMenuItemStyles_unstable = ( state : MenuItemState ) : MenuItemState => {
249
200
'use no memo' ;
@@ -261,18 +212,9 @@ export const useMenuItemStyles_unstable = (state: MenuItemState): MenuItemState
261
212
menuItemClassNames . root ,
262
213
rootBaseStyles ,
263
214
state . disabled && styles . disabled ,
264
- multiline && multilineStyles . root ,
265
215
state . root . className ,
266
216
) ;
267
217
268
- if ( multiline ) {
269
- state . root . style ??= { } ;
270
- Object . assign ( state . root . style , {
271
- [ cssVars . menuItemMultilineGridAreas ] : buildMultilineGridArea ( state , state . hasSubmenu ) ,
272
- [ cssVars . menuItemMultilineGridColumns ] : buildMultilineGridColumns ( state , state . hasSubmenu ) ,
273
- } ) ;
274
- }
275
-
276
218
if ( state . content ) {
277
219
state . content . className = mergeClasses (
278
220
menuItemClassNames . content ,
@@ -283,12 +225,7 @@ export const useMenuItemStyles_unstable = (state: MenuItemState): MenuItemState
283
225
}
284
226
285
227
if ( state . checkmark ) {
286
- state . checkmark . className = mergeClasses (
287
- menuItemClassNames . checkmark ,
288
- styles . checkmark ,
289
- state . checkmark . className ,
290
- multiline && multilineStyles . checkmark ,
291
- ) ;
228
+ state . checkmark . className = mergeClasses ( menuItemClassNames . checkmark , styles . checkmark , state . checkmark . className ) ;
292
229
}
293
230
294
231
if ( state . secondaryContent ) {
@@ -301,12 +238,7 @@ export const useMenuItemStyles_unstable = (state: MenuItemState): MenuItemState
301
238
}
302
239
303
240
if ( state . icon ) {
304
- state . icon . className = mergeClasses (
305
- menuItemClassNames . icon ,
306
- iconBaseStyles ,
307
- state . icon . className ,
308
- multiline && multilineStyles . icon ,
309
- ) ;
241
+ state . icon . className = mergeClasses ( menuItemClassNames . icon , iconBaseStyles , state . icon . className ) ;
310
242
}
311
243
312
244
if ( state . submenuIndicator ) {
@@ -319,12 +251,7 @@ export const useMenuItemStyles_unstable = (state: MenuItemState): MenuItemState
319
251
}
320
252
321
253
if ( state . subText ) {
322
- state . subText . className = mergeClasses (
323
- menuItemClassNames . subText ,
324
- state . subText . className ,
325
- subtextBaseStyles ,
326
- multiline && multilineStyles . subText ,
327
- ) ;
254
+ state . subText . className = mergeClasses ( menuItemClassNames . subText , state . subText . className , subtextBaseStyles ) ;
328
255
}
329
256
330
257
useCheckmarkStyles_unstable ( state as MenuItemCheckboxState ) ;
0 commit comments