@threadlabs/looma 0.23.10 → 0.23.11
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-combobox/ui-combobox.html +6 -0
- package/components/ui-combobox/ui-combobox.js +17 -1
- package/dist/index.js +1 -1
- package/package.json +1 -1
- package/vanilla/UiCombobox.d.ts +2 -0
- package/vanilla/UiCombobox.js +1 -1
- package/vue/UiCombobox.d.ts +18 -0
- package/vue/UiCombobox.vue +39 -0
- package/vue/chunks/UiCombobox.js +46 -1
- package/vue/components.css +53 -53
package/vue/UiCombobox.vue
CHANGED
|
@@ -36,6 +36,15 @@ const propValidityContract = {
|
|
|
36
36
|
description: 'Allows values that do not match an authored option.',
|
|
37
37
|
default: false,
|
|
38
38
|
},
|
|
39
|
+
autoHighlight: {
|
|
40
|
+
type: { kind: 'terminal', name: 'keyword' },
|
|
41
|
+
required: false,
|
|
42
|
+
target: { attribute: 'autohighlight' },
|
|
43
|
+
description:
|
|
44
|
+
'single highlights the only enabled authored suggestion while typing. Ambiguous results and an empty query stay unhighlighted. none preserves manual\n highlighting with the arrow keys.',
|
|
45
|
+
values: ['none', 'single'],
|
|
46
|
+
default: 'none',
|
|
47
|
+
},
|
|
39
48
|
clearable: {
|
|
40
49
|
type: { kind: 'terminal', name: 'boolean' },
|
|
41
50
|
required: false,
|
|
@@ -206,6 +215,14 @@ const propValidityContract = {
|
|
|
206
215
|
'Requires a value: adds an asterisk to the label, marks the input required for native form validation, and makes validation report "A value is required."\n when the field is left empty. In multiple mode a chosen item satisfies it, whatever is left in the input.',
|
|
207
216
|
default: false,
|
|
208
217
|
},
|
|
218
|
+
selectOnTab: {
|
|
219
|
+
type: { kind: 'terminal', name: 'boolean' },
|
|
220
|
+
required: false,
|
|
221
|
+
target: { attribute: 'selectontab' },
|
|
222
|
+
description:
|
|
223
|
+
'Commits a highlighted authored suggestion on forward Tab, then lets focus advance normally. In multiple mode a selected suggestion is retained without\n duplication or removal. Shift+Tab does not commit, and Tab never chooses the create offer.',
|
|
224
|
+
default: false,
|
|
225
|
+
},
|
|
209
226
|
selectedValues: {
|
|
210
227
|
type: { kind: 'list', item: { kind: 'terminal', name: 'string' } },
|
|
211
228
|
required: false,
|
|
@@ -241,6 +258,7 @@ const propValidityContract = {
|
|
|
241
258
|
const props = defineProps({
|
|
242
259
|
allowCreate: { type: null as unknown as PropType<boolean | null>, default: false },
|
|
243
260
|
allowFreeText: { type: null as unknown as PropType<boolean | null>, default: false },
|
|
261
|
+
autoHighlight: { type: null as unknown as PropType<'none' | 'single' | null>, default: 'none' },
|
|
244
262
|
clearable: { type: null as unknown as PropType<boolean | null>, default: false },
|
|
245
263
|
disabled: { type: null as unknown as PropType<boolean | null>, default: false },
|
|
246
264
|
disclosure: { type: null as unknown as PropType<boolean | null>, default: false },
|
|
@@ -278,6 +296,7 @@ const props = defineProps({
|
|
|
278
296
|
query: { type: null as unknown as PropType<string | null>, default: null },
|
|
279
297
|
readonly: { type: null as unknown as PropType<boolean | null>, default: false },
|
|
280
298
|
required: { type: null as unknown as PropType<boolean | null>, default: false },
|
|
299
|
+
selectOnTab: { type: null as unknown as PropType<boolean | null>, default: false },
|
|
281
300
|
selectedValues: { type: null as unknown as PropType<readonly (string)[] | null>, default: null },
|
|
282
301
|
size: { type: null as unknown as PropType<'sm' | 'md' | 'lg' | null>, default: 'md' },
|
|
283
302
|
tokenSeparators: { type: null as unknown as PropType<readonly (string)[] | null>, default: null },
|
|
@@ -286,6 +305,7 @@ const props = defineProps({
|
|
|
286
305
|
const acceptedProps: Record<string, unknown> = {
|
|
287
306
|
allowCreate: false,
|
|
288
307
|
allowFreeText: false,
|
|
308
|
+
autoHighlight: 'none',
|
|
289
309
|
clearable: false,
|
|
290
310
|
disabled: false,
|
|
291
311
|
disclosure: false,
|
|
@@ -303,6 +323,7 @@ const acceptedProps: Record<string, unknown> = {
|
|
|
303
323
|
query: null,
|
|
304
324
|
readonly: false,
|
|
305
325
|
required: false,
|
|
326
|
+
selectOnTab: false,
|
|
306
327
|
selectedValues: null,
|
|
307
328
|
size: 'md',
|
|
308
329
|
tokenSeparators: null,
|
|
@@ -323,6 +344,13 @@ const checkedProps = computed(() => ({
|
|
|
323
344
|
'allowFreeText',
|
|
324
345
|
acceptedProps,
|
|
325
346
|
) as boolean,
|
|
347
|
+
autoHighlight: checkedProp<'none' | 'single'>(
|
|
348
|
+
props['autoHighlight'],
|
|
349
|
+
{ kind: 'terminal', name: 'keyword' },
|
|
350
|
+
false,
|
|
351
|
+
'autoHighlight',
|
|
352
|
+
acceptedProps,
|
|
353
|
+
) as 'none' | 'single',
|
|
326
354
|
clearable: checkedProp<boolean>(
|
|
327
355
|
props['clearable'],
|
|
328
356
|
{ kind: 'terminal', name: 'boolean' },
|
|
@@ -491,6 +519,13 @@ const checkedProps = computed(() => ({
|
|
|
491
519
|
'required',
|
|
492
520
|
acceptedProps,
|
|
493
521
|
) as boolean,
|
|
522
|
+
selectOnTab: checkedProp<boolean>(
|
|
523
|
+
props['selectOnTab'],
|
|
524
|
+
{ kind: 'terminal', name: 'boolean' },
|
|
525
|
+
false,
|
|
526
|
+
'selectOnTab',
|
|
527
|
+
acceptedProps,
|
|
528
|
+
) as boolean,
|
|
494
529
|
selectedValues: checkedProp<readonly (string)[]>(
|
|
495
530
|
props['selectedValues'],
|
|
496
531
|
{ kind: 'list', item: { kind: 'terminal', name: 'string' } },
|
|
@@ -1271,6 +1306,7 @@ const { host, ready } = useComponentHost(() => import('../components/ui-combobox
|
|
|
1271
1306
|
propNames: [
|
|
1272
1307
|
'allowCreate',
|
|
1273
1308
|
'allowFreeText',
|
|
1309
|
+
'autoHighlight',
|
|
1274
1310
|
'clearable',
|
|
1275
1311
|
'disabled',
|
|
1276
1312
|
'disclosure',
|
|
@@ -1288,6 +1324,7 @@ const { host, ready } = useComponentHost(() => import('../components/ui-combobox
|
|
|
1288
1324
|
'query',
|
|
1289
1325
|
'readonly',
|
|
1290
1326
|
'required',
|
|
1327
|
+
'selectOnTab',
|
|
1291
1328
|
'selectedValues',
|
|
1292
1329
|
'size',
|
|
1293
1330
|
'tokenSeparators',
|
|
@@ -1402,6 +1439,7 @@ function uniqueKeys<T>(
|
|
|
1402
1439
|
v-prop-validity="{ contract: propValidityContract, values: { ...props } }"
|
|
1403
1440
|
:data-allow-create="reflectedProp('allowCreate', 'allow-create', checkedProps.allowCreate, undefined, false)"
|
|
1404
1441
|
:data-allow-free-text="reflectedProp('allowFreeText', 'allow-free-text', checkedProps.allowFreeText, undefined, false)"
|
|
1442
|
+
:data-auto-highlight="reflectedProp('autoHighlight', 'auto-highlight', checkedProps.autoHighlight, undefined, false)"
|
|
1405
1443
|
:data-clearable="reflectedProp('clearable', 'clearable', checkedProps.clearable, undefined, false)"
|
|
1406
1444
|
:data-disabled="reflectedProp('disabled', 'disabled', checkedProps.disabled, undefined, false)"
|
|
1407
1445
|
:data-disclosure="reflectedProp('disclosure', 'disclosure', checkedProps.disclosure, undefined, false)"
|
|
@@ -1419,6 +1457,7 @@ function uniqueKeys<T>(
|
|
|
1419
1457
|
:data-query="reflectedProp('query', 'query', checkedProps.query, undefined, false)"
|
|
1420
1458
|
:data-readonly="reflectedProp('readonly', 'readonly', checkedProps.readonly, undefined, false)"
|
|
1421
1459
|
:data-required="reflectedProp('required', 'required', checkedProps.required, undefined, false)"
|
|
1460
|
+
:data-select-on-tab="reflectedProp('selectOnTab', 'select-on-tab', checkedProps.selectOnTab, undefined, false)"
|
|
1422
1461
|
:data-selected-values="reflectedProp('selectedValues', 'selected-values', checkedProps.selectedValues, undefined, false)"
|
|
1423
1462
|
:data-size="reflectedProp('size', 'size', checkedProps.size, undefined, false)"
|
|
1424
1463
|
:data-token-separators="reflectedProp('tokenSeparators', 'token-separators', checkedProps.tokenSeparators, undefined, false)"
|
package/vue/chunks/UiCombobox.js
CHANGED
|
@@ -9,6 +9,7 @@ import { Fragment, computed, createBlock, createCommentVNode, createElementBlock
|
|
|
9
9
|
var _hoisted_1 = [
|
|
10
10
|
"data-allow-create",
|
|
11
11
|
"data-allow-free-text",
|
|
12
|
+
"data-auto-highlight",
|
|
12
13
|
"data-clearable",
|
|
13
14
|
"data-disabled",
|
|
14
15
|
"data-disclosure",
|
|
@@ -26,6 +27,7 @@ var _hoisted_1 = [
|
|
|
26
27
|
"data-query",
|
|
27
28
|
"data-readonly",
|
|
28
29
|
"data-required",
|
|
30
|
+
"data-select-on-tab",
|
|
29
31
|
"data-selected-values",
|
|
30
32
|
"data-size",
|
|
31
33
|
"data-token-separators",
|
|
@@ -140,6 +142,10 @@ var UiCombobox_default = /*#__PURE__*/ _plugin_vue_export_helper_default(/* @__P
|
|
|
140
142
|
type: null,
|
|
141
143
|
default: false
|
|
142
144
|
},
|
|
145
|
+
autoHighlight: {
|
|
146
|
+
type: null,
|
|
147
|
+
default: "none"
|
|
148
|
+
},
|
|
143
149
|
clearable: {
|
|
144
150
|
type: null,
|
|
145
151
|
default: false
|
|
@@ -208,6 +214,10 @@ var UiCombobox_default = /*#__PURE__*/ _plugin_vue_export_helper_default(/* @__P
|
|
|
208
214
|
type: null,
|
|
209
215
|
default: false
|
|
210
216
|
},
|
|
217
|
+
selectOnTab: {
|
|
218
|
+
type: null,
|
|
219
|
+
default: false
|
|
220
|
+
},
|
|
211
221
|
selectedValues: {
|
|
212
222
|
type: null,
|
|
213
223
|
default: null
|
|
@@ -263,6 +273,17 @@ var UiCombobox_default = /*#__PURE__*/ _plugin_vue_export_helper_default(/* @__P
|
|
|
263
273
|
description: "Allows values that do not match an authored option.",
|
|
264
274
|
default: false
|
|
265
275
|
},
|
|
276
|
+
autoHighlight: {
|
|
277
|
+
type: {
|
|
278
|
+
kind: "terminal",
|
|
279
|
+
name: "keyword"
|
|
280
|
+
},
|
|
281
|
+
required: false,
|
|
282
|
+
target: { attribute: "autohighlight" },
|
|
283
|
+
description: "single highlights the only enabled authored suggestion while typing. Ambiguous results and an empty query stay unhighlighted. none preserves manual\n highlighting with the arrow keys.",
|
|
284
|
+
values: ["none", "single"],
|
|
285
|
+
default: "none"
|
|
286
|
+
},
|
|
266
287
|
clearable: {
|
|
267
288
|
type: {
|
|
268
289
|
kind: "terminal",
|
|
@@ -531,6 +552,16 @@ var UiCombobox_default = /*#__PURE__*/ _plugin_vue_export_helper_default(/* @__P
|
|
|
531
552
|
description: "Requires a value: adds an asterisk to the label, marks the input required for native form validation, and makes validation report \"A value is required.\"\n when the field is left empty. In multiple mode a chosen item satisfies it, whatever is left in the input.",
|
|
532
553
|
default: false
|
|
533
554
|
},
|
|
555
|
+
selectOnTab: {
|
|
556
|
+
type: {
|
|
557
|
+
kind: "terminal",
|
|
558
|
+
name: "boolean"
|
|
559
|
+
},
|
|
560
|
+
required: false,
|
|
561
|
+
target: { attribute: "selectontab" },
|
|
562
|
+
description: "Commits a highlighted authored suggestion on forward Tab, then lets focus advance normally. In multiple mode a selected suggestion is retained without\n duplication or removal. Shift+Tab does not commit, and Tab never chooses the create offer.",
|
|
563
|
+
default: false
|
|
564
|
+
},
|
|
534
565
|
selectedValues: {
|
|
535
566
|
type: {
|
|
536
567
|
kind: "list",
|
|
@@ -584,6 +615,7 @@ var UiCombobox_default = /*#__PURE__*/ _plugin_vue_export_helper_default(/* @__P
|
|
|
584
615
|
const acceptedProps = {
|
|
585
616
|
allowCreate: false,
|
|
586
617
|
allowFreeText: false,
|
|
618
|
+
autoHighlight: "none",
|
|
587
619
|
clearable: false,
|
|
588
620
|
disabled: false,
|
|
589
621
|
disclosure: false,
|
|
@@ -601,6 +633,7 @@ var UiCombobox_default = /*#__PURE__*/ _plugin_vue_export_helper_default(/* @__P
|
|
|
601
633
|
query: null,
|
|
602
634
|
readonly: false,
|
|
603
635
|
required: false,
|
|
636
|
+
selectOnTab: false,
|
|
604
637
|
selectedValues: null,
|
|
605
638
|
size: "md",
|
|
606
639
|
tokenSeparators: null,
|
|
@@ -615,6 +648,10 @@ var UiCombobox_default = /*#__PURE__*/ _plugin_vue_export_helper_default(/* @__P
|
|
|
615
648
|
kind: "terminal",
|
|
616
649
|
name: "boolean"
|
|
617
650
|
}, false, "allowFreeText", acceptedProps),
|
|
651
|
+
autoHighlight: checkedProp(props["autoHighlight"], {
|
|
652
|
+
kind: "terminal",
|
|
653
|
+
name: "keyword"
|
|
654
|
+
}, false, "autoHighlight", acceptedProps),
|
|
618
655
|
clearable: checkedProp(props["clearable"], {
|
|
619
656
|
kind: "terminal",
|
|
620
657
|
name: "boolean"
|
|
@@ -781,6 +818,10 @@ var UiCombobox_default = /*#__PURE__*/ _plugin_vue_export_helper_default(/* @__P
|
|
|
781
818
|
kind: "terminal",
|
|
782
819
|
name: "boolean"
|
|
783
820
|
}, false, "required", acceptedProps),
|
|
821
|
+
selectOnTab: checkedProp(props["selectOnTab"], {
|
|
822
|
+
kind: "terminal",
|
|
823
|
+
name: "boolean"
|
|
824
|
+
}, false, "selectOnTab", acceptedProps),
|
|
784
825
|
selectedValues: checkedProp(props["selectedValues"], {
|
|
785
826
|
kind: "list",
|
|
786
827
|
item: {
|
|
@@ -1063,6 +1104,7 @@ var UiCombobox_default = /*#__PURE__*/ _plugin_vue_export_helper_default(/* @__P
|
|
|
1063
1104
|
propNames: [
|
|
1064
1105
|
"allowCreate",
|
|
1065
1106
|
"allowFreeText",
|
|
1107
|
+
"autoHighlight",
|
|
1066
1108
|
"clearable",
|
|
1067
1109
|
"disabled",
|
|
1068
1110
|
"disclosure",
|
|
@@ -1080,6 +1122,7 @@ var UiCombobox_default = /*#__PURE__*/ _plugin_vue_export_helper_default(/* @__P
|
|
|
1080
1122
|
"query",
|
|
1081
1123
|
"readonly",
|
|
1082
1124
|
"required",
|
|
1125
|
+
"selectOnTab",
|
|
1083
1126
|
"selectedValues",
|
|
1084
1127
|
"size",
|
|
1085
1128
|
"tokenSeparators",
|
|
@@ -1176,6 +1219,7 @@ var UiCombobox_default = /*#__PURE__*/ _plugin_vue_export_helper_default(/* @__P
|
|
|
1176
1219
|
return withDirectives((openBlock(), createElementBlock("div", mergeProps({ "data-component": "ui-combobox" }, nativeAttrs(_ctx.$attrs), {
|
|
1177
1220
|
"data-allow-create": reflectedProp("allowCreate", "allow-create", checkedProps.value.allowCreate, void 0, false),
|
|
1178
1221
|
"data-allow-free-text": reflectedProp("allowFreeText", "allow-free-text", checkedProps.value.allowFreeText, void 0, false),
|
|
1222
|
+
"data-auto-highlight": reflectedProp("autoHighlight", "auto-highlight", checkedProps.value.autoHighlight, void 0, false),
|
|
1179
1223
|
"data-clearable": reflectedProp("clearable", "clearable", checkedProps.value.clearable, void 0, false),
|
|
1180
1224
|
"data-disabled": reflectedProp("disabled", "disabled", checkedProps.value.disabled, void 0, false),
|
|
1181
1225
|
"data-disclosure": reflectedProp("disclosure", "disclosure", checkedProps.value.disclosure, void 0, false),
|
|
@@ -1193,6 +1237,7 @@ var UiCombobox_default = /*#__PURE__*/ _plugin_vue_export_helper_default(/* @__P
|
|
|
1193
1237
|
"data-query": reflectedProp("query", "query", checkedProps.value.query, void 0, false),
|
|
1194
1238
|
"data-readonly": reflectedProp("readonly", "readonly", checkedProps.value.readonly, void 0, false),
|
|
1195
1239
|
"data-required": reflectedProp("required", "required", checkedProps.value.required, void 0, false),
|
|
1240
|
+
"data-select-on-tab": reflectedProp("selectOnTab", "select-on-tab", checkedProps.value.selectOnTab, void 0, false),
|
|
1196
1241
|
"data-selected-values": reflectedProp("selectedValues", "selected-values", checkedProps.value.selectedValues, void 0, false),
|
|
1197
1242
|
"data-size": reflectedProp("size", "size", checkedProps.value.size, void 0, false),
|
|
1198
1243
|
"data-token-separators": reflectedProp("tokenSeparators", "token-separators", checkedProps.value.tokenSeparators, void 0, false),
|
|
@@ -1413,6 +1458,6 @@ var UiCombobox_default = /*#__PURE__*/ _plugin_vue_export_helper_default(/* @__P
|
|
|
1413
1458
|
}]]);
|
|
1414
1459
|
};
|
|
1415
1460
|
}
|
|
1416
|
-
}), [["__scopeId", "data-v-
|
|
1461
|
+
}), [["__scopeId", "data-v-8e9a00eb"]]);
|
|
1417
1462
|
//#endregion
|
|
1418
1463
|
export { UiCombobox_default as t };
|
package/vue/components.css
CHANGED
|
@@ -1800,7 +1800,7 @@ input[data-v-cb5d05aa]:focus-visible {
|
|
|
1800
1800
|
syntax: "*";
|
|
1801
1801
|
inherits: false;
|
|
1802
1802
|
}
|
|
1803
|
-
[data-component~="ui-combobox"][data-v-
|
|
1803
|
+
[data-component~="ui-combobox"][data-v-8e9a00eb] {
|
|
1804
1804
|
/* Hooks do not inherit, so the parts below read them from the root. */
|
|
1805
1805
|
--_ui-combobox-label-text: var(--ui-combobox-label-text);
|
|
1806
1806
|
--_ui-combobox-label-font-size: var(--ui-combobox-label-font-size);
|
|
@@ -1825,20 +1825,20 @@ input[data-v-cb5d05aa]:focus-visible {
|
|
|
1825
1825
|
color: var(--ui-text-primary);
|
|
1826
1826
|
font: inherit;
|
|
1827
1827
|
}
|
|
1828
|
-
label[data-v-
|
|
1828
|
+
label[data-v-8e9a00eb] {
|
|
1829
1829
|
color: var(--_ui-combobox-label-text, var(--ui-text-primary));
|
|
1830
1830
|
font-size: var(--_ui-combobox-label-font-size, var(--ui-font-size-sm));
|
|
1831
1831
|
font-weight: 500;
|
|
1832
1832
|
}
|
|
1833
1833
|
/* The field and anything that annotates it sit on one row; the help button is beside the box,
|
|
1834
1834
|
not inside it, because a control's box holds its value. */
|
|
1835
|
-
.control[data-v-
|
|
1835
|
+
.control[data-v-8e9a00eb] {
|
|
1836
1836
|
display: flex;
|
|
1837
1837
|
align-items: center;
|
|
1838
1838
|
gap: var(--ui-space-2);
|
|
1839
1839
|
min-inline-size: 0;
|
|
1840
1840
|
}
|
|
1841
|
-
.field[data-v-
|
|
1841
|
+
.field[data-v-8e9a00eb] {
|
|
1842
1842
|
flex: 1 1 auto;
|
|
1843
1843
|
display: flex;
|
|
1844
1844
|
min-inline-size: 0;
|
|
@@ -1850,19 +1850,19 @@ label[data-v-a593ab08] {
|
|
|
1850
1850
|
border-color var(--ui-motion-fast) var(--ui-motion-ease),
|
|
1851
1851
|
box-shadow var(--ui-motion-fast) var(--ui-motion-ease);
|
|
1852
1852
|
}
|
|
1853
|
-
.field[data-v-
|
|
1853
|
+
.field[data-v-8e9a00eb]:focus-within {
|
|
1854
1854
|
border-color: var(--ui-control-focus, var(--ui-accent-solid));
|
|
1855
1855
|
box-shadow:
|
|
1856
1856
|
var(--ui-control-inset),
|
|
1857
1857
|
var(--ui-control-focus-halo-shadow);
|
|
1858
1858
|
}
|
|
1859
|
-
.entry[data-v-
|
|
1859
|
+
.entry[data-v-8e9a00eb] {
|
|
1860
1860
|
display: flex;
|
|
1861
1861
|
flex: 1 1 auto;
|
|
1862
1862
|
min-inline-size: 0;
|
|
1863
1863
|
}
|
|
1864
1864
|
/* A ghost icon button: the affordance is the mark, not a box around it. */
|
|
1865
|
-
.help[data-v-
|
|
1865
|
+
.help[data-v-8e9a00eb] {
|
|
1866
1866
|
flex: none;
|
|
1867
1867
|
display: inline-flex;
|
|
1868
1868
|
align-items: center;
|
|
@@ -1879,28 +1879,28 @@ label[data-v-a593ab08] {
|
|
|
1879
1879
|
background-color var(--ui-motion-fast) var(--ui-motion-ease),
|
|
1880
1880
|
color var(--ui-motion-fast) var(--ui-motion-ease);
|
|
1881
1881
|
}
|
|
1882
|
-
.help[data-v-
|
|
1883
|
-
.help[aria-expanded="true"][data-v-
|
|
1882
|
+
.help[data-v-8e9a00eb]:hover:enabled,
|
|
1883
|
+
.help[aria-expanded="true"][data-v-8e9a00eb] {
|
|
1884
1884
|
background: color-mix(in srgb, currentColor 8%, transparent);
|
|
1885
1885
|
color: var(--ui-text-primary);
|
|
1886
1886
|
}
|
|
1887
|
-
.help[data-v-
|
|
1887
|
+
.help[data-v-8e9a00eb]:focus-visible {
|
|
1888
1888
|
outline: none;
|
|
1889
1889
|
box-shadow: var(--ui-focus-halo);
|
|
1890
1890
|
}
|
|
1891
|
-
.help[data-v-
|
|
1891
|
+
.help[data-v-8e9a00eb]:disabled {
|
|
1892
1892
|
color: var(--ui-disabled-text);
|
|
1893
1893
|
cursor: not-allowed;
|
|
1894
1894
|
}
|
|
1895
|
-
.help-icon[data-v-
|
|
1895
|
+
.help-icon[data-v-8e9a00eb] {
|
|
1896
1896
|
inline-size: var(--ui-icon-size-sm);
|
|
1897
1897
|
block-size: var(--ui-icon-size-sm);
|
|
1898
1898
|
}
|
|
1899
|
-
input[data-v-
|
|
1899
|
+
input[data-v-8e9a00eb]::selection {
|
|
1900
1900
|
background: color-mix(in srgb, var(--ui-accent-solid) 20%, transparent);
|
|
1901
1901
|
color: inherit;
|
|
1902
1902
|
}
|
|
1903
|
-
input[data-v-
|
|
1903
|
+
input[data-v-8e9a00eb] {
|
|
1904
1904
|
appearance: none;
|
|
1905
1905
|
width: 100%;
|
|
1906
1906
|
min-inline-size: 0;
|
|
@@ -1916,20 +1916,20 @@ input[data-v-a593ab08] {
|
|
|
1916
1916
|
margin: 0;
|
|
1917
1917
|
outline: none;
|
|
1918
1918
|
}
|
|
1919
|
-
[data-component~="ui-combobox"][data-ui-combobox-state~="size=sm"][data-v-
|
|
1919
|
+
[data-component~="ui-combobox"][data-ui-combobox-state~="size=sm"][data-v-8e9a00eb] {
|
|
1920
1920
|
--_row: var(--ui-control-size-sm);
|
|
1921
1921
|
}
|
|
1922
|
-
[data-component~="ui-combobox"][data-ui-combobox-state~="size=sm"] input[data-v-
|
|
1922
|
+
[data-component~="ui-combobox"][data-ui-combobox-state~="size=sm"] input[data-v-8e9a00eb] {
|
|
1923
1923
|
min-block-size: calc(var(--_row) - 2px);
|
|
1924
1924
|
padding: var(--ui-space-1) var(--ui-space-2);
|
|
1925
1925
|
font-size: var(--ui-font-size-sm);
|
|
1926
1926
|
}
|
|
1927
|
-
[data-component~="ui-combobox"][data-ui-combobox-state~="size=lg"] input[data-v-
|
|
1927
|
+
[data-component~="ui-combobox"][data-ui-combobox-state~="size=lg"] input[data-v-8e9a00eb] {
|
|
1928
1928
|
min-block-size: calc(var(--ui-control-size-lg) - 2px);
|
|
1929
1929
|
padding: var(--ui-space-3) var(--ui-space-4);
|
|
1930
1930
|
font-size: var(--ui-font-size-md);
|
|
1931
1931
|
}
|
|
1932
|
-
button[data-v-
|
|
1932
|
+
button[data-v-8e9a00eb] {
|
|
1933
1933
|
appearance: none;
|
|
1934
1934
|
display: inline-grid;
|
|
1935
1935
|
place-items: center;
|
|
@@ -1944,36 +1944,36 @@ button[data-v-a593ab08] {
|
|
|
1944
1944
|
padding: 0 var(--ui-space-1);
|
|
1945
1945
|
cursor: pointer;
|
|
1946
1946
|
}
|
|
1947
|
-
.affordance-icon[data-v-
|
|
1947
|
+
.affordance-icon[data-v-8e9a00eb] {
|
|
1948
1948
|
display: block;
|
|
1949
1949
|
inline-size: var(--ui-icon-size-sm);
|
|
1950
1950
|
block-size: var(--ui-icon-size-sm);
|
|
1951
1951
|
}
|
|
1952
|
-
button[data-v-
|
|
1952
|
+
button[data-v-8e9a00eb]:hover:enabled {
|
|
1953
1953
|
background: var(--ui-surface-muted);
|
|
1954
1954
|
color: var(--ui-text-primary);
|
|
1955
1955
|
}
|
|
1956
|
-
button[data-v-
|
|
1956
|
+
button[data-v-8e9a00eb]:focus-visible {
|
|
1957
1957
|
outline: none;
|
|
1958
1958
|
background: var(--ui-surface-muted);
|
|
1959
1959
|
box-shadow: inset 0 0 0 var(--ui-focus-width)
|
|
1960
1960
|
color-mix(in srgb, var(--ui-focus-ring) 45%, transparent);
|
|
1961
1961
|
}
|
|
1962
|
-
input[data-v-
|
|
1962
|
+
input[data-v-8e9a00eb]:disabled, button[data-v-8e9a00eb]:disabled {
|
|
1963
1963
|
color: var(--ui-disabled-text);
|
|
1964
1964
|
cursor: not-allowed;
|
|
1965
1965
|
}
|
|
1966
|
-
.field[data-v-
|
|
1966
|
+
.field[data-v-8e9a00eb]:has(input:disabled) {
|
|
1967
1967
|
background: var(--ui-control-surface-disabled, var(--ui-surface-muted));
|
|
1968
1968
|
}
|
|
1969
|
-
[data-component~="ui-combobox"][data-ui-combobox-state~="validationStatus=error"] .field[data-v-
|
|
1970
|
-
[data-component~="ui-combobox"][data-ui-combobox-state~="invalid"] .field[data-v-
|
|
1969
|
+
[data-component~="ui-combobox"][data-ui-combobox-state~="validationStatus=error"] .field[data-v-8e9a00eb],
|
|
1970
|
+
[data-component~="ui-combobox"][data-ui-combobox-state~="invalid"] .field[data-v-8e9a00eb] {
|
|
1971
1971
|
border-color: var(
|
|
1972
1972
|
--_ui-combobox-invalid-border,
|
|
1973
1973
|
var(--ui-field-danger, var(--ui-danger-solid, var(--ui-accent-active)))
|
|
1974
1974
|
);
|
|
1975
1975
|
}
|
|
1976
|
-
.popup[data-v-
|
|
1976
|
+
.popup[data-v-8e9a00eb] {
|
|
1977
1977
|
box-sizing: border-box;
|
|
1978
1978
|
min-inline-size: 12rem;
|
|
1979
1979
|
max-inline-size: calc(100vw - 1rem);
|
|
@@ -1994,46 +1994,46 @@ input[data-v-a593ab08]:disabled, button[data-v-a593ab08]:disabled {
|
|
|
1994
1994
|
var(--ui-overlay-shadow, var(--ui-elevation-overlay, var(--ui-shadow-lg)))
|
|
1995
1995
|
);
|
|
1996
1996
|
}
|
|
1997
|
-
[hidden][data-v-
|
|
1997
|
+
[hidden][data-v-8e9a00eb] {
|
|
1998
1998
|
display: none;
|
|
1999
1999
|
}
|
|
2000
|
-
.option[aria-disabled="true"] .primary[data-v-
|
|
2001
|
-
.option[aria-disabled="true"] .secondary[data-v-
|
|
2000
|
+
.option[aria-disabled="true"] .primary[data-v-8e9a00eb],
|
|
2001
|
+
.option[aria-disabled="true"] .secondary[data-v-8e9a00eb] {
|
|
2002
2002
|
color: var(--ui-disabled-text);
|
|
2003
2003
|
}
|
|
2004
|
-
.primary[data-v-
|
|
2004
|
+
.primary[data-v-8e9a00eb] {
|
|
2005
2005
|
display: block;
|
|
2006
2006
|
color: var(--_ui-combobox-option-text, inherit);
|
|
2007
2007
|
font-weight: 500;
|
|
2008
2008
|
}
|
|
2009
2009
|
/* A row with a tag or a description: the label and its tag on one line, the description under them. */
|
|
2010
|
-
.detail[data-v-
|
|
2010
|
+
.detail[data-v-8e9a00eb] {
|
|
2011
2011
|
display: grid;
|
|
2012
2012
|
gap: var(--ui-space-0-5);
|
|
2013
2013
|
min-inline-size: 0;
|
|
2014
2014
|
}
|
|
2015
|
-
.line[data-v-
|
|
2015
|
+
.line[data-v-8e9a00eb] {
|
|
2016
2016
|
display: flex;
|
|
2017
2017
|
flex-wrap: wrap;
|
|
2018
2018
|
align-items: center;
|
|
2019
2019
|
gap: var(--ui-space-2);
|
|
2020
2020
|
}
|
|
2021
|
-
.description[data-v-
|
|
2021
|
+
.description[data-v-8e9a00eb] {
|
|
2022
2022
|
color: var(--ui-text-muted);
|
|
2023
2023
|
font-size: var(--ui-font-size-sm);
|
|
2024
2024
|
line-height: var(--ui-line-height-md);
|
|
2025
2025
|
}
|
|
2026
|
-
.message[data-v-
|
|
2026
|
+
.message[data-v-8e9a00eb], .group[data-v-8e9a00eb] {
|
|
2027
2027
|
color: var(--_ui-combobox-message-text, var(--ui-text-secondary));
|
|
2028
2028
|
font-weight: 400;
|
|
2029
2029
|
font-size: var(--ui-font-size-sm);
|
|
2030
2030
|
line-height: var(--ui-line-height-md);
|
|
2031
2031
|
overflow-wrap: anywhere;
|
|
2032
2032
|
}
|
|
2033
|
-
.group[data-v-
|
|
2033
|
+
.group[data-v-8e9a00eb], .popup .message[data-v-8e9a00eb] {
|
|
2034
2034
|
padding: var(--ui-space-2) var(--ui-space-3);
|
|
2035
2035
|
}
|
|
2036
|
-
.sr-only[data-v-
|
|
2036
|
+
.sr-only[data-v-8e9a00eb] {
|
|
2037
2037
|
position: absolute;
|
|
2038
2038
|
inline-size: 1px;
|
|
2039
2039
|
block-size: 1px;
|
|
@@ -2042,45 +2042,45 @@ input[data-v-a593ab08]:disabled, button[data-v-a593ab08]:disabled {
|
|
|
2042
2042
|
white-space: nowrap;
|
|
2043
2043
|
}
|
|
2044
2044
|
@media (pointer: coarse) {
|
|
2045
|
-
button[data-v-
|
|
2045
|
+
button[data-v-8e9a00eb] {
|
|
2046
2046
|
min-inline-size: 2.75rem;
|
|
2047
2047
|
min-block-size: 2.75rem;
|
|
2048
2048
|
}
|
|
2049
2049
|
/* Under touch a small field is still a touch-sized target, as a small button is, and keeps
|
|
2050
2050
|
body-size text: below 16px, iOS zooms the page into the focused field. */
|
|
2051
|
-
[data-component~="ui-combobox"][data-ui-combobox-state~="size=sm"][data-v-
|
|
2051
|
+
[data-component~="ui-combobox"][data-ui-combobox-state~="size=sm"][data-v-8e9a00eb] {
|
|
2052
2052
|
--_row: var(--ui-control-min-block-size);
|
|
2053
2053
|
}
|
|
2054
|
-
[data-component~="ui-combobox"][data-ui-combobox-state~="size=sm"] input[data-v-
|
|
2054
|
+
[data-component~="ui-combobox"][data-ui-combobox-state~="size=sm"] input[data-v-8e9a00eb] {
|
|
2055
2055
|
font-size: inherit;
|
|
2056
2056
|
}
|
|
2057
2057
|
}
|
|
2058
2058
|
@media (forced-colors: active) {
|
|
2059
|
-
.field[data-v-
|
|
2059
|
+
.field[data-v-8e9a00eb], .popup[data-v-8e9a00eb] {
|
|
2060
2060
|
border-color: CanvasText;
|
|
2061
2061
|
}
|
|
2062
|
-
.option.active[data-v-
|
|
2062
|
+
.option.active[data-v-8e9a00eb] {
|
|
2063
2063
|
outline-color: Highlight;
|
|
2064
2064
|
}
|
|
2065
2065
|
}
|
|
2066
2066
|
|
|
2067
2067
|
/* Multiple mode keeps one control height. Chips and the input scroll within the entry,
|
|
2068
2068
|
while the clear and disclosure controls remain fixed at the end of the field. */
|
|
2069
|
-
[data-component~="ui-combobox"][data-ui-combobox-state~="multiple"] .field[data-v-
|
|
2069
|
+
[data-component~="ui-combobox"][data-ui-combobox-state~="multiple"] .field[data-v-8e9a00eb] {
|
|
2070
2070
|
align-items: center;
|
|
2071
2071
|
min-block-size: var(--_ui-combobox-item-min-block-size, 2.5rem);
|
|
2072
2072
|
padding: var(--ui-space-1);
|
|
2073
2073
|
}
|
|
2074
|
-
[data-component~="ui-combobox"][data-ui-combobox-state~="multiple"] .entry[data-v-
|
|
2074
|
+
[data-component~="ui-combobox"][data-ui-combobox-state~="multiple"] .entry[data-v-8e9a00eb] {
|
|
2075
2075
|
align-items: center;
|
|
2076
2076
|
gap: var(--ui-space-1);
|
|
2077
2077
|
overflow-x: auto;
|
|
2078
2078
|
scrollbar-width: none;
|
|
2079
2079
|
}
|
|
2080
|
-
[data-component~="ui-combobox"][data-ui-combobox-state~="multiple"] .entry[data-v-
|
|
2080
|
+
[data-component~="ui-combobox"][data-ui-combobox-state~="multiple"] .entry[data-v-8e9a00eb]::-webkit-scrollbar {
|
|
2081
2081
|
display: none;
|
|
2082
2082
|
}
|
|
2083
|
-
[data-component~="ui-combobox"][data-ui-combobox-state~="multiple"] input[data-v-
|
|
2083
|
+
[data-component~="ui-combobox"][data-ui-combobox-state~="multiple"] input[data-v-8e9a00eb] {
|
|
2084
2084
|
flex: 1 0 var(--_ui-combobox-item-input-min-inline-size, 5rem);
|
|
2085
2085
|
width: auto;
|
|
2086
2086
|
min-block-size: 1.75rem;
|
|
@@ -2088,27 +2088,27 @@ button[data-v-a593ab08] {
|
|
|
2088
2088
|
}
|
|
2089
2089
|
/* Size variants keep their control height as selections are added. */
|
|
2090
2090
|
[data-component~="ui-combobox"][data-ui-combobox-state~="multiple"][data-component~="ui-combobox"][data-ui-combobox-state~="size=sm"]
|
|
2091
|
-
.field[data-v-
|
|
2091
|
+
.field[data-v-8e9a00eb] {
|
|
2092
2092
|
min-block-size: 0;
|
|
2093
2093
|
padding: var(--ui-space-0-5);
|
|
2094
2094
|
}
|
|
2095
2095
|
[data-component~="ui-combobox"][data-ui-combobox-state~="multiple"][data-component~="ui-combobox"][data-ui-combobox-state~="size=sm"]
|
|
2096
|
-
input[data-v-
|
|
2096
|
+
input[data-v-8e9a00eb] {
|
|
2097
2097
|
min-block-size: calc(var(--_row) - 2 * var(--ui-border-width) - 2 * var(--ui-space-0-5));
|
|
2098
2098
|
padding: 0 var(--ui-space-1);
|
|
2099
2099
|
}
|
|
2100
2100
|
/* A large multiple field starts at the large control height, as sm starts at the small one. */
|
|
2101
2101
|
[data-component~="ui-combobox"][data-ui-combobox-state~="multiple"][data-component~="ui-combobox"][data-ui-combobox-state~="size=lg"]
|
|
2102
|
-
.field[data-v-
|
|
2102
|
+
.field[data-v-8e9a00eb] {
|
|
2103
2103
|
min-block-size: 0;
|
|
2104
2104
|
}
|
|
2105
2105
|
[data-component~="ui-combobox"][data-ui-combobox-state~="multiple"][data-component~="ui-combobox"][data-ui-combobox-state~="size=lg"]
|
|
2106
|
-
input[data-v-
|
|
2106
|
+
input[data-v-8e9a00eb] {
|
|
2107
2107
|
min-block-size: calc(
|
|
2108
2108
|
var(--ui-control-size-lg) - 2 * var(--ui-border-width) - 2 * var(--ui-space-1)
|
|
2109
2109
|
);
|
|
2110
2110
|
}
|
|
2111
|
-
.item[data-v-
|
|
2111
|
+
.item[data-v-8e9a00eb] {
|
|
2112
2112
|
appearance: none;
|
|
2113
2113
|
display: inline-flex;
|
|
2114
2114
|
flex: none;
|
|
@@ -2123,16 +2123,16 @@ button[data-v-a593ab08] {
|
|
|
2123
2123
|
font: inherit;
|
|
2124
2124
|
cursor: default;
|
|
2125
2125
|
}
|
|
2126
|
-
.item[data-v-
|
|
2126
|
+
.item[data-v-8e9a00eb]:focus-visible {
|
|
2127
2127
|
outline: var(--ui-focus-width) solid var(--ui-focus-ring);
|
|
2128
2128
|
outline-offset: var(--ui-border-width);
|
|
2129
2129
|
}
|
|
2130
|
-
.item[data-v-
|
|
2130
|
+
.item[data-v-8e9a00eb]:disabled {
|
|
2131
2131
|
color: var(--ui-disabled-text);
|
|
2132
2132
|
}
|
|
2133
2133
|
|
|
2134
2134
|
/* A component that sets its display still honours the hidden attribute on its root. */
|
|
2135
|
-
[data-component~="ui-combobox"][hidden][data-v-
|
|
2135
|
+
[data-component~="ui-combobox"][hidden][data-v-8e9a00eb] {
|
|
2136
2136
|
display: none;
|
|
2137
2137
|
}
|
|
2138
2138
|
|