@threadlabs/looma 0.26.17 → 0.26.18
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/components/ui-menu/ui-menu.html +6 -0
- package/components/ui-menu-item/ui-menu-item.html +26 -0
- package/dist/index.js +1 -1
- package/package.json +1 -1
- package/styles/ui-menu-item.css +25 -0
- package/styles/ui-menu.css +5 -0
- package/vanilla/UiMenu.d.ts +1 -0
- package/vanilla/UiMenu.js +4 -4
- package/vanilla/UiMenuItem.d.ts +1 -0
- package/vanilla/UiMenuItem.js +77 -49
- package/vue/UiMenu.d.ts +9 -0
- package/vue/UiMenu.vue +25 -1
- package/vue/UiMenuItem.d.ts +13 -0
- package/vue/UiMenuItem.vue +48 -2
- package/vue/chunks/UiMenu.js +24 -1
- package/vue/chunks/UiMenuItem.js +55 -12
- package/vue/components.css +52 -28
package/vue/chunks/UiMenu.js
CHANGED
|
@@ -6,6 +6,7 @@ import { computed, createElementBlock, createElementVNode, defineComponent, getC
|
|
|
6
6
|
var _hoisted_1 = [
|
|
7
7
|
"data-density",
|
|
8
8
|
"data-for",
|
|
9
|
+
"data-icons",
|
|
9
10
|
"data-inline",
|
|
10
11
|
"data-open",
|
|
11
12
|
"data-placement",
|
|
@@ -27,6 +28,10 @@ var UiMenu_default = /*#__PURE__*/ _plugin_vue_export_helper_default(/* @__PURE_
|
|
|
27
28
|
type: null,
|
|
28
29
|
default: ""
|
|
29
30
|
},
|
|
31
|
+
icons: {
|
|
32
|
+
type: null,
|
|
33
|
+
default: false
|
|
34
|
+
},
|
|
30
35
|
inline: {
|
|
31
36
|
type: null,
|
|
32
37
|
default: false
|
|
@@ -73,6 +78,16 @@ var UiMenu_default = /*#__PURE__*/ _plugin_vue_export_helper_default(/* @__PURE_
|
|
|
73
78
|
description: "ID of the control that toggles and anchors the menu.",
|
|
74
79
|
default: ""
|
|
75
80
|
},
|
|
81
|
+
icons: {
|
|
82
|
+
type: {
|
|
83
|
+
kind: "terminal",
|
|
84
|
+
name: "boolean"
|
|
85
|
+
},
|
|
86
|
+
required: false,
|
|
87
|
+
target: { attribute: "icons" },
|
|
88
|
+
description: "Reserves a fixed icon column in every item, including items without an icon. Supply item icons through their icon slot.",
|
|
89
|
+
default: false
|
|
90
|
+
},
|
|
76
91
|
inline: {
|
|
77
92
|
type: {
|
|
78
93
|
kind: "terminal",
|
|
@@ -119,6 +134,7 @@ var UiMenu_default = /*#__PURE__*/ _plugin_vue_export_helper_default(/* @__PURE_
|
|
|
119
134
|
const acceptedProps = {
|
|
120
135
|
density: "comfortable",
|
|
121
136
|
for: "",
|
|
137
|
+
icons: false,
|
|
122
138
|
inline: false,
|
|
123
139
|
open: false,
|
|
124
140
|
placement: "bottom-start",
|
|
@@ -133,6 +149,10 @@ var UiMenu_default = /*#__PURE__*/ _plugin_vue_export_helper_default(/* @__PURE_
|
|
|
133
149
|
kind: "terminal",
|
|
134
150
|
name: "string"
|
|
135
151
|
}, false, "for", acceptedProps),
|
|
152
|
+
icons: checkedProp(props["icons"], {
|
|
153
|
+
kind: "terminal",
|
|
154
|
+
name: "boolean"
|
|
155
|
+
}, false, "icons", acceptedProps),
|
|
136
156
|
inline: checkedProp(props["inline"], {
|
|
137
157
|
kind: "terminal",
|
|
138
158
|
name: "boolean"
|
|
@@ -185,6 +205,7 @@ var UiMenu_default = /*#__PURE__*/ _plugin_vue_export_helper_default(/* @__PURE_
|
|
|
185
205
|
checkedProps.value.density != null && `density=${encodeURIComponent(checkedProps.value.density)}`,
|
|
186
206
|
checkedProps.value.size && "size",
|
|
187
207
|
checkedProps.value.size != null && `size=${encodeURIComponent(checkedProps.value.size)}`,
|
|
208
|
+
checkedProps.value.icons && "icons",
|
|
188
209
|
internalOpen.value && "internalOpen",
|
|
189
210
|
checkedProps.value.inline && "inline"
|
|
190
211
|
].filter(Boolean).join(" "));
|
|
@@ -231,6 +252,7 @@ var UiMenu_default = /*#__PURE__*/ _plugin_vue_export_helper_default(/* @__PURE_
|
|
|
231
252
|
propNames: [
|
|
232
253
|
"density",
|
|
233
254
|
"for",
|
|
255
|
+
"icons",
|
|
234
256
|
"inline",
|
|
235
257
|
"open",
|
|
236
258
|
"placement",
|
|
@@ -250,6 +272,7 @@ var UiMenu_default = /*#__PURE__*/ _plugin_vue_export_helper_default(/* @__PURE_
|
|
|
250
272
|
}, nativeAttrs(_ctx.$attrs), {
|
|
251
273
|
"data-density": reflectedProp("density", "density", checkedProps.value.density, void 0, false),
|
|
252
274
|
"data-for": reflectedProp("for", "for", checkedProps.value.for, void 0, false),
|
|
275
|
+
"data-icons": reflectedProp("icons", "icons", checkedProps.value.icons, void 0, false),
|
|
253
276
|
"data-inline": reflectedProp("inline", "inline", checkedProps.value.inline, void 0, false),
|
|
254
277
|
"data-open": reflectedProp("open", "open", checkedProps.value.open, void 0, false),
|
|
255
278
|
"data-placement": reflectedProp("placement", "placement", checkedProps.value.placement, void 0, false),
|
|
@@ -263,6 +286,6 @@ var UiMenu_default = /*#__PURE__*/ _plugin_vue_export_helper_default(/* @__PURE_
|
|
|
263
286
|
}]]);
|
|
264
287
|
};
|
|
265
288
|
}
|
|
266
|
-
}), [["__scopeId", "data-v-
|
|
289
|
+
}), [["__scopeId", "data-v-b6bd5ab3"]]);
|
|
267
290
|
//#endregion
|
|
268
291
|
export { UiMenu_default as t };
|
package/vue/chunks/UiMenuItem.js
CHANGED
|
@@ -10,32 +10,42 @@ var _hoisted_1 = [
|
|
|
10
10
|
"data-checked",
|
|
11
11
|
"data-disabled",
|
|
12
12
|
"data-href",
|
|
13
|
+
"data-tone",
|
|
13
14
|
"data-type",
|
|
14
15
|
"data-value",
|
|
15
16
|
"data-ui-menu-item-state"
|
|
16
17
|
];
|
|
17
|
-
var _hoisted_2 = {
|
|
18
|
-
|
|
18
|
+
var _hoisted_2 = {
|
|
19
|
+
class: "icon",
|
|
20
|
+
"aria-hidden": "true"
|
|
21
|
+
};
|
|
22
|
+
var _hoisted_3 = { class: "label" };
|
|
23
|
+
var _hoisted_4 = {
|
|
19
24
|
class: "shortcut",
|
|
20
25
|
"aria-hidden": "true"
|
|
21
26
|
};
|
|
22
|
-
var
|
|
27
|
+
var _hoisted_5 = [
|
|
23
28
|
"role",
|
|
24
29
|
"aria-checked",
|
|
25
30
|
"aria-disabled",
|
|
26
31
|
"data-checked",
|
|
27
32
|
"data-disabled",
|
|
28
33
|
"data-href",
|
|
34
|
+
"data-tone",
|
|
29
35
|
"data-type",
|
|
30
36
|
"data-value",
|
|
31
37
|
"data-ui-menu-item-state"
|
|
32
38
|
];
|
|
33
|
-
var
|
|
39
|
+
var _hoisted_6 = {
|
|
34
40
|
class: "indicator",
|
|
35
41
|
"aria-hidden": "true"
|
|
36
42
|
};
|
|
37
|
-
var _hoisted_6 = { class: "label" };
|
|
38
43
|
var _hoisted_7 = {
|
|
44
|
+
class: "icon",
|
|
45
|
+
"aria-hidden": "true"
|
|
46
|
+
};
|
|
47
|
+
var _hoisted_8 = { class: "label" };
|
|
48
|
+
var _hoisted_9 = {
|
|
39
49
|
class: "shortcut",
|
|
40
50
|
"aria-hidden": "true"
|
|
41
51
|
};
|
|
@@ -65,6 +75,10 @@ var UiMenuItem_default = /*#__PURE__*/ _plugin_vue_export_helper_default(/* @__P
|
|
|
65
75
|
type: null,
|
|
66
76
|
default: ""
|
|
67
77
|
},
|
|
78
|
+
tone: {
|
|
79
|
+
type: null,
|
|
80
|
+
default: "neutral"
|
|
81
|
+
},
|
|
68
82
|
type: {
|
|
69
83
|
type: null,
|
|
70
84
|
default: "action"
|
|
@@ -112,6 +126,17 @@ var UiMenuItem_default = /*#__PURE__*/ _plugin_vue_export_helper_default(/* @__P
|
|
|
112
126
|
description: "A destination makes an action item a real link, with native navigation and link context actions.",
|
|
113
127
|
default: ""
|
|
114
128
|
},
|
|
129
|
+
tone: {
|
|
130
|
+
type: {
|
|
131
|
+
kind: "terminal",
|
|
132
|
+
name: "keyword"
|
|
133
|
+
},
|
|
134
|
+
required: false,
|
|
135
|
+
target: { attribute: "tone" },
|
|
136
|
+
description: "Danger identifies a destructive action without changing its behavior.",
|
|
137
|
+
values: ["neutral", "danger"],
|
|
138
|
+
default: "neutral"
|
|
139
|
+
},
|
|
115
140
|
type: {
|
|
116
141
|
type: {
|
|
117
142
|
kind: "terminal",
|
|
@@ -143,6 +168,7 @@ var UiMenuItem_default = /*#__PURE__*/ _plugin_vue_export_helper_default(/* @__P
|
|
|
143
168
|
checked: false,
|
|
144
169
|
disabled: false,
|
|
145
170
|
href: "",
|
|
171
|
+
tone: "neutral",
|
|
146
172
|
type: "action",
|
|
147
173
|
value: ""
|
|
148
174
|
};
|
|
@@ -159,6 +185,10 @@ var UiMenuItem_default = /*#__PURE__*/ _plugin_vue_export_helper_default(/* @__P
|
|
|
159
185
|
kind: "terminal",
|
|
160
186
|
name: "string"
|
|
161
187
|
}, false, "href", acceptedProps),
|
|
188
|
+
tone: checkedProp(props["tone"], {
|
|
189
|
+
kind: "terminal",
|
|
190
|
+
name: "keyword"
|
|
191
|
+
}, false, "tone", acceptedProps),
|
|
162
192
|
type: checkedProp(props["type"], {
|
|
163
193
|
kind: "terminal",
|
|
164
194
|
name: "keyword"
|
|
@@ -227,7 +257,12 @@ var UiMenuItem_default = /*#__PURE__*/ _plugin_vue_export_helper_default(/* @__P
|
|
|
227
257
|
})
|
|
228
258
|
});
|
|
229
259
|
/** The values the styles' :host-state() rules test. */
|
|
230
|
-
const hostState = computed(() => [
|
|
260
|
+
const hostState = computed(() => [
|
|
261
|
+
checkedProps.value.tone && "tone",
|
|
262
|
+
checkedProps.value.tone != null && `tone=${encodeURIComponent(checkedProps.value.tone)}`,
|
|
263
|
+
checkedProps.value.type && "type",
|
|
264
|
+
checkedProps.value.type != null && `type=${encodeURIComponent(checkedProps.value.type)}`
|
|
265
|
+
].filter(Boolean).join(" "));
|
|
231
266
|
const isChangeDetail = (detail) => detail !== null && typeof detail === "object" && !Array.isArray(detail) && typeof detail["checked"] === "boolean" && typeof detail["value"] === "string" && (detail["type"] === "checkbox" || detail["type"] === "radio") && (detail["trigger"] === "keyboard" || detail["trigger"] === "pointer" || detail["trigger"] === "programmatic") && Object.keys(detail).every((key) => [
|
|
232
267
|
"checked",
|
|
233
268
|
"value",
|
|
@@ -263,6 +298,7 @@ var UiMenuItem_default = /*#__PURE__*/ _plugin_vue_export_helper_default(/* @__P
|
|
|
263
298
|
"checked",
|
|
264
299
|
"disabled",
|
|
265
300
|
"href",
|
|
301
|
+
"tone",
|
|
266
302
|
"type",
|
|
267
303
|
"value"
|
|
268
304
|
],
|
|
@@ -298,11 +334,16 @@ var UiMenuItem_default = /*#__PURE__*/ _plugin_vue_export_helper_default(/* @__P
|
|
|
298
334
|
"data-checked": reflectedProp("checked", "checked", checkedProps.value.checked, void 0, false),
|
|
299
335
|
"data-disabled": reflectedProp("disabled", "disabled", checkedProps.value.disabled, void 0, false),
|
|
300
336
|
"data-href": reflectedProp("href", "href", checkedProps.value.href, void 0, false),
|
|
337
|
+
"data-tone": reflectedProp("tone", "tone", checkedProps.value.tone, void 0, false),
|
|
301
338
|
"data-type": reflectedProp("type", "type", checkedProps.value.type, void 0, false),
|
|
302
339
|
"data-value": reflectedProp("value", "value", checkedProps.value.value, void 0, true),
|
|
303
340
|
"data-ui-menu-item-state": hostState.value || void 0,
|
|
304
341
|
ref: "@html-next/root"
|
|
305
|
-
}), [
|
|
342
|
+
}), [
|
|
343
|
+
createElementVNode("span", _hoisted_2, [renderSlot(_ctx.$slots, "icon")]),
|
|
344
|
+
createElementVNode("span", _hoisted_3, [renderSlot(_ctx.$slots, "default")]),
|
|
345
|
+
createElementVNode("span", _hoisted_4, [renderSlot(_ctx.$slots, "shortcut")])
|
|
346
|
+
], 16, _hoisted_1)), [[unref(vPropValidity), {
|
|
306
347
|
contract: propValidityContract,
|
|
307
348
|
values: { ...props }
|
|
308
349
|
}]]) : withDirectives((openBlock(), createElementBlock("div", mergeProps({
|
|
@@ -320,23 +361,25 @@ var UiMenuItem_default = /*#__PURE__*/ _plugin_vue_export_helper_default(/* @__P
|
|
|
320
361
|
"data-checked": reflectedProp("checked", "checked", checkedProps.value.checked, void 0, false),
|
|
321
362
|
"data-disabled": reflectedProp("disabled", "disabled", checkedProps.value.disabled, void 0, false),
|
|
322
363
|
"data-href": reflectedProp("href", "href", checkedProps.value.href, void 0, false),
|
|
364
|
+
"data-tone": reflectedProp("tone", "tone", checkedProps.value.tone, void 0, false),
|
|
323
365
|
"data-type": reflectedProp("type", "type", checkedProps.value.type, void 0, false),
|
|
324
366
|
"data-value": reflectedProp("value", "value", checkedProps.value.value, void 0, true),
|
|
325
367
|
"data-ui-menu-item-state": hostState.value || void 0,
|
|
326
368
|
ref: "@html-next/root"
|
|
327
369
|
}), [
|
|
328
|
-
createElementVNode("span",
|
|
370
|
+
createElementVNode("span", _hoisted_6, [(checkedProps.value.type === "checkbox" || checkedProps.value.type === "radio") && internalChecked.value ? (openBlock(), createBlock(UiIcon_default, {
|
|
329
371
|
key: 0,
|
|
330
372
|
name: "check"
|
|
331
373
|
})) : createCommentVNode("v-if", true)]),
|
|
332
|
-
createElementVNode("span",
|
|
333
|
-
createElementVNode("span",
|
|
334
|
-
|
|
374
|
+
createElementVNode("span", _hoisted_7, [renderSlot(_ctx.$slots, "icon")]),
|
|
375
|
+
createElementVNode("span", _hoisted_8, [renderSlot(_ctx.$slots, "default")]),
|
|
376
|
+
createElementVNode("span", _hoisted_9, [renderSlot(_ctx.$slots, "shortcut")])
|
|
377
|
+
], 16, _hoisted_5)), [[unref(vPropValidity), {
|
|
335
378
|
contract: propValidityContract,
|
|
336
379
|
values: { ...props }
|
|
337
380
|
}]]);
|
|
338
381
|
};
|
|
339
382
|
}
|
|
340
|
-
}), [["__scopeId", "data-v-
|
|
383
|
+
}), [["__scopeId", "data-v-32e2a3e1"]]);
|
|
341
384
|
//#endregion
|
|
342
385
|
export { UiMenuItem_default as t };
|
package/vue/components.css
CHANGED
|
@@ -6254,7 +6254,7 @@ svg[data-v-219fa683-s] {
|
|
|
6254
6254
|
|
|
6255
6255
|
/* Compact sets its items' defaults, so nothing has to rescale a global; an item's own hooks
|
|
6256
6256
|
still win. */
|
|
6257
|
-
[data-component~="ui-menu"][data-ui-menu-state~="density=compact"][data-v-
|
|
6257
|
+
[data-component~="ui-menu"][data-ui-menu-state~="density=compact"][data-v-b6bd5ab3] {
|
|
6258
6258
|
--_ui-default-menu-item-padding-block: var(--ui-space-1);
|
|
6259
6259
|
--_ui-default-menu-item-padding-inline: var(--ui-space-2);
|
|
6260
6260
|
--_ui-default-menu-item-font-size: var(--ui-font-size-sm);
|
|
@@ -6264,7 +6264,7 @@ svg[data-v-219fa683-s] {
|
|
|
6264
6264
|
}
|
|
6265
6265
|
|
|
6266
6266
|
/* Small follows its trigger down: an item's own hooks still win. */
|
|
6267
|
-
[data-component~="ui-menu"][data-ui-menu-state~="size=sm"][data-v-
|
|
6267
|
+
[data-component~="ui-menu"][data-ui-menu-state~="size=sm"][data-v-b6bd5ab3] {
|
|
6268
6268
|
--_ui-default-menu-item-padding-block: var(--ui-space-0-5);
|
|
6269
6269
|
--_ui-default-menu-item-padding-inline: var(--ui-space-2);
|
|
6270
6270
|
--_ui-default-menu-item-font-size: var(--ui-font-size-xs);
|
|
@@ -6275,7 +6275,10 @@ svg[data-v-219fa683-s] {
|
|
|
6275
6275
|
padding: var(--ui-space-1);
|
|
6276
6276
|
gap: 0;
|
|
6277
6277
|
}
|
|
6278
|
-
[data-component~="ui-menu"][data-v-
|
|
6278
|
+
[data-component~="ui-menu"][data-ui-menu-state~="icons"][data-v-b6bd5ab3] {
|
|
6279
|
+
--_ui-default-menu-icon-display: inline-flex;
|
|
6280
|
+
}
|
|
6281
|
+
[data-component~="ui-menu"][data-v-b6bd5ab3] {
|
|
6279
6282
|
--_ui-menu-surface: var(--ui-menu-surface);
|
|
6280
6283
|
--_ui-menu-border: var(--ui-menu-border);
|
|
6281
6284
|
--_ui-menu-radius: var(--ui-menu-radius);
|
|
@@ -6287,6 +6290,7 @@ svg[data-v-219fa683-s] {
|
|
|
6287
6290
|
--_ui-default-menu-item-radius: initial;
|
|
6288
6291
|
--_ui-default-menu-item-min-block-size: initial;
|
|
6289
6292
|
--_ui-default-menu-indicator-size: initial;
|
|
6293
|
+
--_ui-default-menu-icon-display: none;
|
|
6290
6294
|
display: flex;
|
|
6291
6295
|
flex-direction: column;
|
|
6292
6296
|
box-sizing: border-box;
|
|
@@ -6301,7 +6305,7 @@ svg[data-v-219fa683-s] {
|
|
|
6301
6305
|
box-shadow: none;
|
|
6302
6306
|
overflow: visible;
|
|
6303
6307
|
}
|
|
6304
|
-
.surface[data-v-
|
|
6308
|
+
.surface[data-v-b6bd5ab3] {
|
|
6305
6309
|
display: flex;
|
|
6306
6310
|
flex-direction: column;
|
|
6307
6311
|
box-sizing: border-box;
|
|
@@ -6318,17 +6322,17 @@ svg[data-v-219fa683-s] {
|
|
|
6318
6322
|
max-block-size: inherit;
|
|
6319
6323
|
overflow: auto;
|
|
6320
6324
|
}
|
|
6321
|
-
.surface hr[data-v-
|
|
6325
|
+
.surface hr[data-v-b6bd5ab3] {
|
|
6322
6326
|
align-self: stretch;
|
|
6323
6327
|
block-size: 0;
|
|
6324
6328
|
margin: var(--ui-space-1) 0;
|
|
6325
6329
|
border: 0;
|
|
6326
6330
|
border-block-start: var(--ui-border-width) solid var(--ui-border-divider);
|
|
6327
6331
|
}
|
|
6328
|
-
[data-component~="ui-menu"][data-v-
|
|
6332
|
+
[data-component~="ui-menu"][data-v-b6bd5ab3]:not([data-component~="ui-menu"][data-ui-menu-state~="internalOpen"]):not([data-component~="ui-menu"][data-ui-menu-state~="inline"]) {
|
|
6329
6333
|
display: none;
|
|
6330
6334
|
}
|
|
6331
|
-
[data-component~="ui-menu"][popover][data-v-
|
|
6335
|
+
[data-component~="ui-menu"][popover][data-v-b6bd5ab3] {
|
|
6332
6336
|
position: fixed;
|
|
6333
6337
|
inset: auto;
|
|
6334
6338
|
margin: 0;
|
|
@@ -6342,21 +6346,21 @@ svg[data-v-219fa683-s] {
|
|
|
6342
6346
|
display var(--ui-motion-fast) allow-discrete,
|
|
6343
6347
|
overlay var(--ui-motion-fast) allow-discrete;
|
|
6344
6348
|
}
|
|
6345
|
-
[data-component~="ui-menu"][popover][data-v-
|
|
6349
|
+
[data-component~="ui-menu"][popover][data-v-b6bd5ab3]:popover-open {
|
|
6346
6350
|
opacity: 1;
|
|
6347
6351
|
transform: translateY(0) scale(1);
|
|
6348
6352
|
}
|
|
6349
6353
|
@starting-style {
|
|
6350
|
-
[data-component~="ui-menu"][popover][data-v-
|
|
6354
|
+
[data-component~="ui-menu"][popover][data-v-b6bd5ab3]:popover-open {
|
|
6351
6355
|
opacity: 0;
|
|
6352
6356
|
transform: translateY(-4px) scale(0.99);
|
|
6353
6357
|
}
|
|
6354
6358
|
}
|
|
6355
|
-
[data-component~="ui-menu"][hidden][data-v-
|
|
6359
|
+
[data-component~="ui-menu"][hidden][data-v-b6bd5ab3] {
|
|
6356
6360
|
display: none;
|
|
6357
6361
|
}
|
|
6358
6362
|
@media (prefers-reduced-motion: reduce) {
|
|
6359
|
-
[data-component~="ui-menu"][popover][data-v-
|
|
6363
|
+
[data-component~="ui-menu"][popover][data-v-b6bd5ab3] {
|
|
6360
6364
|
transition: none;
|
|
6361
6365
|
}
|
|
6362
6366
|
}
|
|
@@ -6401,7 +6405,7 @@ svg[data-v-219fa683-s] {
|
|
|
6401
6405
|
syntax: "*";
|
|
6402
6406
|
inherits: false;
|
|
6403
6407
|
}
|
|
6404
|
-
[data-component~="ui-menu-item"][data-v-
|
|
6408
|
+
[data-component~="ui-menu-item"][data-v-32e2a3e1] {
|
|
6405
6409
|
display: flex;
|
|
6406
6410
|
align-items: center;
|
|
6407
6411
|
gap: var(--ui-space-2);
|
|
@@ -6433,14 +6437,34 @@ svg[data-v-219fa683-s] {
|
|
|
6433
6437
|
background-color var(--ui-motion-fast) var(--ui-motion-ease),
|
|
6434
6438
|
color var(--ui-motion-fast) var(--ui-motion-ease);
|
|
6435
6439
|
}
|
|
6436
|
-
|
|
6440
|
+
|
|
6441
|
+
/* A named icon has a fixed column; an icon-enabled menu reserves it on every row. */
|
|
6442
|
+
.icon[data-v-32e2a3e1] {
|
|
6443
|
+
display: var(--_ui-default-menu-icon-display, none);
|
|
6444
|
+
align-items: center;
|
|
6445
|
+
justify-content: center;
|
|
6446
|
+
flex: none;
|
|
6447
|
+
inline-size: var(--ui-icon-size-sm);
|
|
6448
|
+
block-size: var(--ui-icon-size-sm);
|
|
6449
|
+
}
|
|
6450
|
+
.icon[data-v-32e2a3e1]:not(:empty) {
|
|
6451
|
+
display: inline-flex;
|
|
6452
|
+
}
|
|
6453
|
+
.icon svg[data-v-32e2a3e1-s] {
|
|
6454
|
+
inline-size: 100%;
|
|
6455
|
+
block-size: 100%;
|
|
6456
|
+
}
|
|
6457
|
+
[data-component~="ui-menu-item"][data-ui-menu-item-state~="tone=danger"][data-v-32e2a3e1] {
|
|
6458
|
+
color: var(--ui-danger);
|
|
6459
|
+
}
|
|
6460
|
+
.label[data-v-32e2a3e1] {
|
|
6437
6461
|
display: flex;
|
|
6438
6462
|
align-items: center;
|
|
6439
6463
|
gap: var(--ui-space-2);
|
|
6440
6464
|
flex: 1;
|
|
6441
6465
|
min-inline-size: 0;
|
|
6442
6466
|
}
|
|
6443
|
-
.indicator[data-v-
|
|
6467
|
+
.indicator[data-v-32e2a3e1] {
|
|
6444
6468
|
display: inline-flex;
|
|
6445
6469
|
align-items: center;
|
|
6446
6470
|
justify-content: center;
|
|
@@ -6453,39 +6477,39 @@ svg[data-v-219fa683-s] {
|
|
|
6453
6477
|
color: var(--ui-surface);
|
|
6454
6478
|
--_ui-default-icon-size: 0.75rem;
|
|
6455
6479
|
}
|
|
6456
|
-
[data-component~="ui-menu-item"][data-ui-menu-item-state~="type=action"] .indicator[data-v-
|
|
6480
|
+
[data-component~="ui-menu-item"][data-ui-menu-item-state~="type=action"] .indicator[data-v-32e2a3e1] {
|
|
6457
6481
|
display: none;
|
|
6458
6482
|
}
|
|
6459
6483
|
[data-component~="ui-menu-item"][data-ui-menu-item-state~="type=checkbox"][aria-checked="true"]
|
|
6460
|
-
.indicator[data-v-
|
|
6484
|
+
.indicator[data-v-32e2a3e1] {
|
|
6461
6485
|
border-color: var(--ui-accent);
|
|
6462
6486
|
background: var(--ui-accent);
|
|
6463
6487
|
}
|
|
6464
6488
|
|
|
6465
6489
|
/* A menu marks its chosen item with a check, as menus conventionally do; a radio circle reads
|
|
6466
6490
|
as a form control. The empty slot keeps unchosen labels aligned with the chosen one. */
|
|
6467
|
-
[data-component~="ui-menu-item"][data-ui-menu-item-state~="type=radio"] .indicator[data-v-
|
|
6491
|
+
[data-component~="ui-menu-item"][data-ui-menu-item-state~="type=radio"] .indicator[data-v-32e2a3e1] {
|
|
6468
6492
|
border-color: transparent;
|
|
6469
6493
|
color: var(--ui-text-secondary);
|
|
6470
6494
|
}
|
|
6471
|
-
.shortcut[data-v-
|
|
6495
|
+
.shortcut[data-v-32e2a3e1] {
|
|
6472
6496
|
margin-inline-start: auto;
|
|
6473
6497
|
color: var(--ui-text-secondary);
|
|
6474
6498
|
font-size: var(--ui-font-size-sm);
|
|
6475
6499
|
font-weight: var(--ui-font-normal);
|
|
6476
6500
|
}
|
|
6477
|
-
.shortcut[data-v-
|
|
6501
|
+
.shortcut[data-v-32e2a3e1]:empty {
|
|
6478
6502
|
display: none;
|
|
6479
6503
|
}
|
|
6480
6504
|
|
|
6481
6505
|
/* A <kbd> takes the browser's monospace; the hint reads in the item's own type. */
|
|
6482
|
-
.shortcut kbd[data-v-
|
|
6506
|
+
.shortcut kbd[data-v-32e2a3e1-s] {
|
|
6483
6507
|
font: inherit;
|
|
6484
6508
|
}
|
|
6485
6509
|
|
|
6486
6510
|
/* Keep the text row at the shared control height where cap trimming is available. */
|
|
6487
6511
|
@supports (text-box-trim: trim-both) {
|
|
6488
|
-
[data-component~="ui-menu-item"][data-v-
|
|
6512
|
+
[data-component~="ui-menu-item"][data-v-32e2a3e1] {
|
|
6489
6513
|
min-block-size: var(
|
|
6490
6514
|
--ui-menu-item-min-block-size,
|
|
6491
6515
|
var(--_ui-default-menu-item-min-block-size, var(--ui-control-size-md, 2.5rem))
|
|
@@ -6494,34 +6518,34 @@ svg[data-v-219fa683-s] {
|
|
|
6494
6518
|
text-box-edge: cap alphabetic;
|
|
6495
6519
|
}
|
|
6496
6520
|
}
|
|
6497
|
-
[data-component~="ui-menu-item"][data-v-
|
|
6521
|
+
[data-component~="ui-menu-item"][data-v-32e2a3e1]:is(:hover, :focus-visible):not([aria-disabled="true"]) {
|
|
6498
6522
|
background: var(--ui-menu-item-hover-surface, var(--ui-surface-subtle));
|
|
6499
6523
|
}
|
|
6500
|
-
[data-component~="ui-menu-item"][data-v-
|
|
6524
|
+
[data-component~="ui-menu-item"][data-v-32e2a3e1]:focus-visible {
|
|
6501
6525
|
outline: var(--ui-focus-width) solid var(--ui-focus-ring);
|
|
6502
6526
|
outline-offset: calc(-1 * var(--ui-focus-width));
|
|
6503
6527
|
}
|
|
6504
|
-
[data-component~="ui-menu-item"][aria-disabled="true"][data-v-
|
|
6528
|
+
[data-component~="ui-menu-item"][aria-disabled="true"][data-v-32e2a3e1] {
|
|
6505
6529
|
background: var(--ui-disabled-surface);
|
|
6506
6530
|
color: var(--ui-disabled-text);
|
|
6507
6531
|
cursor: not-allowed;
|
|
6508
6532
|
}
|
|
6509
|
-
[data-component~="ui-menu-item"][aria-disabled="true"] .indicator[data-v-
|
|
6533
|
+
[data-component~="ui-menu-item"][aria-disabled="true"] .indicator[data-v-32e2a3e1] {
|
|
6510
6534
|
border-color: var(--ui-disabled-border);
|
|
6511
6535
|
background: transparent;
|
|
6512
6536
|
color: var(--ui-disabled-text);
|
|
6513
6537
|
}
|
|
6514
|
-
[data-component~="ui-menu-item"][aria-disabled="true"] .indicator[data-v-
|
|
6538
|
+
[data-component~="ui-menu-item"][aria-disabled="true"] .indicator[data-v-32e2a3e1]::after {
|
|
6515
6539
|
background: var(--ui-disabled-text);
|
|
6516
6540
|
}
|
|
6517
6541
|
@media (forced-colors: active) {
|
|
6518
|
-
[data-component~="ui-menu-item"][data-v-
|
|
6542
|
+
[data-component~="ui-menu-item"][data-v-32e2a3e1]:focus-visible {
|
|
6519
6543
|
outline-color: Highlight;
|
|
6520
6544
|
}
|
|
6521
6545
|
}
|
|
6522
6546
|
|
|
6523
6547
|
/* A component that sets its display still honours the hidden attribute on its root. */
|
|
6524
|
-
[data-component~="ui-menu-item"][hidden][data-v-
|
|
6548
|
+
[data-component~="ui-menu-item"][hidden][data-v-32e2a3e1] {
|
|
6525
6549
|
display: none;
|
|
6526
6550
|
}
|
|
6527
6551
|
|