@@ -20,7 +20,7 @@ import { UUIMenuItemEvent } from './UUIMenuItemEvent';
20
20
* @slot default - nested menu items go here
21
21
* @slot icon - icon area
22
22
* @slot actions - actions area
23
- * @slot label-slot - area to place the label (name: label)
23
+ * @slot label - area to place the label
24
24
*/
25
25
@defineElement ( 'uui-menu-item' )
26
26
export class UUIMenuItemElement extends SelectOnlyMixin (
@@ -30,17 +30,14 @@ export class UUIMenuItemElement extends SelectOnlyMixin(
30
30
css `
31
31
:host {
32
32
display: block;
33
- background-color: var(--uui-interface-surface);
34
- /** consider transparent. */
35
33
--uui-menu-item-child-indent: calc(var(--uui-menu-item-indent, 0) + 1);
36
34
37
35
user-select: none;
38
36
}
39
37
40
38
#menu-item {
41
39
position: relative;
42
- display: flex;
43
- align-items: stretch;
40
+
44
41
padding-left: calc(var(--uui-menu-item-indent, 0) * var(--uui-size-4));
45
42
46
43
display: grid;
@@ -74,7 +71,6 @@ export class UUIMenuItemElement extends SelectOnlyMixin(
74
71
grid-column-start: 2;
75
72
white-space: nowrap;
76
73
overflow: hidden;
77
- text-overflow: ellipsis;
78
74
79
75
display: inline-flex;
80
76
align-items: center;
@@ -83,6 +79,12 @@ export class UUIMenuItemElement extends SelectOnlyMixin(
83
79
min-height: var(--uui-size-12);
84
80
z-index: 1;
85
81
}
82
+
83
+ #label-button .label {
84
+ white-space: nowrap;
85
+ overflow: hidden;
86
+ text-overflow: ellipsis;
87
+ }
86
88
span#label-button {
87
89
pointer-events: none; /* avoid hovering state on this. */
88
90
}
@@ -134,6 +136,14 @@ export class UUIMenuItemElement extends SelectOnlyMixin(
134
136
margin-right: var(--uui-size-2);
135
137
}
136
138
139
+ #badge {
140
+ font-size: 12px;
141
+ --uui-badge-position: relative;
142
+ --uui-badge-position: auto;
143
+ display: block;
144
+ margin-left: 6px;
145
+ }
146
+
137
147
:host([disabled]) {
138
148
color: var(--uui-interface-surface-contrast-disabled);
139
149
}
@@ -285,7 +295,8 @@ export class UUIMenuItemElement extends SelectOnlyMixin(
285
295
id ="icon "
286
296
style =${ this . iconSlotHasContent ? '' : 'display: none;' }
287
297
@slotchange =${ this . iconSlotChanged } > </ slot >
288
- ${ this . renderLabel ( ) } ` ;
298
+ ${ this . renderLabel ( ) }
299
+ < slot name ="badge " id ="badge "> </ slot > ` ;
289
300
}
290
301
291
302
private _renderLabelAsAnchor ( ) {
0 commit comments