@threadlabs/looma 0.14.6 → 0.14.8
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 +52 -11
- package/components/ui-combobox/ui-combobox.js +29 -14
- package/dist/index.js +1 -1
- package/package.json +1 -1
- package/styles/ui-combobox.css +18 -0
- package/vanilla/UiCombobox.d.ts +8 -7
- package/vanilla/UiCombobox.js +43 -27
- package/vue/UiCombobox.d.ts +80 -3
- package/vue/UiCombobox.vue +279 -8
- package/vue/chunks/UiCombobox.js +64 -25
- package/vue/components.css +67 -50
package/vue/chunks/UiCombobox.js
CHANGED
|
@@ -57,22 +57,35 @@ var _hoisted_16 = [
|
|
|
57
57
|
"id",
|
|
58
58
|
"aria-selected",
|
|
59
59
|
"aria-disabled",
|
|
60
|
-
"data-index"
|
|
60
|
+
"data-index",
|
|
61
|
+
"aria-labelledby",
|
|
62
|
+
"aria-describedby"
|
|
61
63
|
];
|
|
62
|
-
var _hoisted_17 = {
|
|
63
|
-
|
|
64
|
-
|
|
64
|
+
var _hoisted_17 = {
|
|
65
|
+
key: 0,
|
|
66
|
+
class: "detail"
|
|
67
|
+
};
|
|
68
|
+
var _hoisted_18 = { class: "line" };
|
|
69
|
+
var _hoisted_19 = ["id"];
|
|
70
|
+
var _hoisted_20 = ["id"];
|
|
71
|
+
var _hoisted_21 = ["id"];
|
|
72
|
+
var _hoisted_22 = {
|
|
73
|
+
key: 1,
|
|
74
|
+
class: "primary"
|
|
75
|
+
};
|
|
76
|
+
var _hoisted_23 = ["id", "data-index"];
|
|
77
|
+
var _hoisted_24 = {
|
|
65
78
|
key: 1,
|
|
66
79
|
class: "message"
|
|
67
80
|
};
|
|
68
|
-
var
|
|
69
|
-
var
|
|
81
|
+
var _hoisted_25 = ["id", "hidden"];
|
|
82
|
+
var _hoisted_26 = {
|
|
70
83
|
class: "sr-only",
|
|
71
84
|
role: "status",
|
|
72
85
|
"aria-live": "polite",
|
|
73
86
|
"aria-atomic": "true"
|
|
74
87
|
};
|
|
75
|
-
var
|
|
88
|
+
var _hoisted_27 = {
|
|
76
89
|
class: "authored-options",
|
|
77
90
|
hidden: "",
|
|
78
91
|
"aria-hidden": "true",
|
|
@@ -104,6 +117,7 @@ var UiCombobox_default = /*#__PURE__*/ _plugin_vue_export_helper_default(/* @__P
|
|
|
104
117
|
type: Boolean,
|
|
105
118
|
default: false
|
|
106
119
|
},
|
|
120
|
+
filter: { default: "label" },
|
|
107
121
|
help: { default: "" },
|
|
108
122
|
items: {},
|
|
109
123
|
label: { default: "" },
|
|
@@ -188,31 +202,37 @@ var UiCombobox_default = /*#__PURE__*/ _plugin_vue_export_helper_default(/* @__P
|
|
|
188
202
|
"display",
|
|
189
203
|
"trigger"
|
|
190
204
|
].includes(key));
|
|
191
|
-
const isValueChangeDetail = (detail) => detail !== null && typeof detail === "object" && !Array.isArray(detail) && (typeof detail["value"] === "string" || detail["value"] === null) && typeof detail["query"] === "string" && (detail["option"] !== null && typeof detail["option"] === "object" && !Array.isArray(detail["option"]) && typeof detail["option"]["id"] === "string" && typeof detail["option"]["value"] === "string" && typeof detail["option"]["label"] === "string" && (detail["option"]["group"] === void 0 || typeof detail["option"]["group"] === "string") && (detail["option"]["disabled"] === void 0 || typeof detail["option"]["disabled"] === "boolean") && Object.keys(detail["option"]).every((key) => [
|
|
205
|
+
const isValueChangeDetail = (detail) => detail !== null && typeof detail === "object" && !Array.isArray(detail) && (typeof detail["value"] === "string" || detail["value"] === null) && typeof detail["query"] === "string" && (detail["option"] !== null && typeof detail["option"] === "object" && !Array.isArray(detail["option"]) && typeof detail["option"]["id"] === "string" && typeof detail["option"]["value"] === "string" && typeof detail["option"]["label"] === "string" && (detail["option"]["group"] === void 0 || typeof detail["option"]["group"] === "string") && (detail["option"]["disabled"] === void 0 || typeof detail["option"]["disabled"] === "boolean") && (detail["option"]["description"] === void 0 || typeof detail["option"]["description"] === "string") && (detail["option"]["tag"] === void 0 || detail["option"]["tag"] !== null && typeof detail["option"]["tag"] === "object" && !Array.isArray(detail["option"]["tag"]) && typeof detail["option"]["tag"]["label"] === "string" && (detail["option"]["tag"]["tone"] === void 0 || detail["option"]["tag"]["tone"] === "neutral" || detail["option"]["tag"]["tone"] === "accent" || detail["option"]["tag"]["tone"] === "info" || detail["option"]["tag"]["tone"] === "success" || detail["option"]["tag"]["tone"] === "warning" || detail["option"]["tag"]["tone"] === "danger") && Object.keys(detail["option"]["tag"]).every((key) => ["label", "tone"].includes(key))) && Object.keys(detail["option"]).every((key) => [
|
|
192
206
|
"id",
|
|
193
207
|
"value",
|
|
194
208
|
"label",
|
|
195
209
|
"group",
|
|
196
|
-
"disabled"
|
|
210
|
+
"disabled",
|
|
211
|
+
"description",
|
|
212
|
+
"tag"
|
|
197
213
|
].includes(key)) || detail["option"] === null) && (detail["kind"] === "selection" || detail["kind"] === "clear" || detail["kind"] === "free-entry" || detail["kind"] === "create") && (detail["trigger"] === "keyboard" || detail["trigger"] === "pointer" || detail["trigger"] === "programmatic") && Object.keys(detail).every((key) => [
|
|
198
214
|
"value",
|
|
199
215
|
"query",
|
|
200
216
|
"option",
|
|
201
217
|
"kind",
|
|
202
218
|
"trigger"
|
|
203
|
-
].includes(key)) || Array.isArray(detail) && detail.every((item) => item !== null && typeof item === "object" && !Array.isArray(item) && typeof item["id"] === "string" && typeof item["value"] === "string" && typeof item["label"] === "string" && (item["group"] === void 0 || typeof item["group"] === "string") && (item["disabled"] === void 0 || typeof item["disabled"] === "boolean") && Object.keys(item).every((key) => [
|
|
219
|
+
].includes(key)) || Array.isArray(detail) && detail.every((item) => item !== null && typeof item === "object" && !Array.isArray(item) && typeof item["id"] === "string" && typeof item["value"] === "string" && typeof item["label"] === "string" && (item["group"] === void 0 || typeof item["group"] === "string") && (item["disabled"] === void 0 || typeof item["disabled"] === "boolean") && (item["description"] === void 0 || typeof item["description"] === "string") && (item["tag"] === void 0 || item["tag"] !== null && typeof item["tag"] === "object" && !Array.isArray(item["tag"]) && typeof item["tag"]["label"] === "string" && (item["tag"]["tone"] === void 0 || item["tag"]["tone"] === "neutral" || item["tag"]["tone"] === "accent" || item["tag"]["tone"] === "info" || item["tag"]["tone"] === "success" || item["tag"]["tone"] === "warning" || item["tag"]["tone"] === "danger") && Object.keys(item["tag"]).every((key) => ["label", "tone"].includes(key))) && Object.keys(item).every((key) => [
|
|
204
220
|
"id",
|
|
205
221
|
"value",
|
|
206
222
|
"label",
|
|
207
223
|
"group",
|
|
208
|
-
"disabled"
|
|
224
|
+
"disabled",
|
|
225
|
+
"description",
|
|
226
|
+
"tag"
|
|
209
227
|
].includes(key)));
|
|
210
|
-
const isFreeEntryDetail = (detail) => detail !== null && typeof detail === "object" && !Array.isArray(detail) && (typeof detail["value"] === "string" || detail["value"] === null) && typeof detail["query"] === "string" && (detail["option"] !== null && typeof detail["option"] === "object" && !Array.isArray(detail["option"]) && typeof detail["option"]["id"] === "string" && typeof detail["option"]["value"] === "string" && typeof detail["option"]["label"] === "string" && (detail["option"]["group"] === void 0 || typeof detail["option"]["group"] === "string") && (detail["option"]["disabled"] === void 0 || typeof detail["option"]["disabled"] === "boolean") && Object.keys(detail["option"]).every((key) => [
|
|
228
|
+
const isFreeEntryDetail = (detail) => detail !== null && typeof detail === "object" && !Array.isArray(detail) && (typeof detail["value"] === "string" || detail["value"] === null) && typeof detail["query"] === "string" && (detail["option"] !== null && typeof detail["option"] === "object" && !Array.isArray(detail["option"]) && typeof detail["option"]["id"] === "string" && typeof detail["option"]["value"] === "string" && typeof detail["option"]["label"] === "string" && (detail["option"]["group"] === void 0 || typeof detail["option"]["group"] === "string") && (detail["option"]["disabled"] === void 0 || typeof detail["option"]["disabled"] === "boolean") && (detail["option"]["description"] === void 0 || typeof detail["option"]["description"] === "string") && (detail["option"]["tag"] === void 0 || detail["option"]["tag"] !== null && typeof detail["option"]["tag"] === "object" && !Array.isArray(detail["option"]["tag"]) && typeof detail["option"]["tag"]["label"] === "string" && (detail["option"]["tag"]["tone"] === void 0 || detail["option"]["tag"]["tone"] === "neutral" || detail["option"]["tag"]["tone"] === "accent" || detail["option"]["tag"]["tone"] === "info" || detail["option"]["tag"]["tone"] === "success" || detail["option"]["tag"]["tone"] === "warning" || detail["option"]["tag"]["tone"] === "danger") && Object.keys(detail["option"]["tag"]).every((key) => ["label", "tone"].includes(key))) && Object.keys(detail["option"]).every((key) => [
|
|
211
229
|
"id",
|
|
212
230
|
"value",
|
|
213
231
|
"label",
|
|
214
232
|
"group",
|
|
215
|
-
"disabled"
|
|
233
|
+
"disabled",
|
|
234
|
+
"description",
|
|
235
|
+
"tag"
|
|
216
236
|
].includes(key)) || detail["option"] === null) && (detail["kind"] === "selection" || detail["kind"] === "clear" || detail["kind"] === "free-entry" || detail["kind"] === "create") && (detail["trigger"] === "keyboard" || detail["trigger"] === "pointer" || detail["trigger"] === "programmatic") && Object.keys(detail).every((key) => [
|
|
217
237
|
"value",
|
|
218
238
|
"query",
|
|
@@ -231,19 +251,23 @@ var UiCombobox_default = /*#__PURE__*/ _plugin_vue_export_helper_default(/* @__P
|
|
|
231
251
|
"issues",
|
|
232
252
|
"output"
|
|
233
253
|
].includes(key));
|
|
234
|
-
const isOptionsChangeDetail = (detail) => Array.isArray(detail) && detail.every((item) => item !== null && typeof item === "object" && !Array.isArray(item) && typeof item["id"] === "string" && typeof item["value"] === "string" && typeof item["label"] === "string" && (item["group"] === void 0 || typeof item["group"] === "string") && (item["disabled"] === void 0 || typeof item["disabled"] === "boolean") && Object.keys(item).every((key) => [
|
|
254
|
+
const isOptionsChangeDetail = (detail) => Array.isArray(detail) && detail.every((item) => item !== null && typeof item === "object" && !Array.isArray(item) && typeof item["id"] === "string" && typeof item["value"] === "string" && typeof item["label"] === "string" && (item["group"] === void 0 || typeof item["group"] === "string") && (item["disabled"] === void 0 || typeof item["disabled"] === "boolean") && (item["description"] === void 0 || typeof item["description"] === "string") && (item["tag"] === void 0 || item["tag"] !== null && typeof item["tag"] === "object" && !Array.isArray(item["tag"]) && typeof item["tag"]["label"] === "string" && (item["tag"]["tone"] === void 0 || item["tag"]["tone"] === "neutral" || item["tag"]["tone"] === "accent" || item["tag"]["tone"] === "info" || item["tag"]["tone"] === "success" || item["tag"]["tone"] === "warning" || item["tag"]["tone"] === "danger") && Object.keys(item["tag"]).every((key) => ["label", "tone"].includes(key))) && Object.keys(item).every((key) => [
|
|
235
255
|
"id",
|
|
236
256
|
"value",
|
|
237
257
|
"label",
|
|
238
258
|
"group",
|
|
239
|
-
"disabled"
|
|
259
|
+
"disabled",
|
|
260
|
+
"description",
|
|
261
|
+
"tag"
|
|
240
262
|
].includes(key)));
|
|
241
|
-
const isAddItemDetail = (detail) => detail !== null && typeof detail === "object" && !Array.isArray(detail) && detail["item"] !== null && typeof detail["item"] === "object" && !Array.isArray(detail["item"]) && typeof detail["item"]["id"] === "string" && typeof detail["item"]["value"] === "string" && typeof detail["item"]["label"] === "string" && (detail["item"]["group"] === void 0 || typeof detail["item"]["group"] === "string") && (detail["item"]["disabled"] === void 0 || typeof detail["item"]["disabled"] === "boolean") && Object.keys(detail["item"]).every((key) => [
|
|
263
|
+
const isAddItemDetail = (detail) => detail !== null && typeof detail === "object" && !Array.isArray(detail) && detail["item"] !== null && typeof detail["item"] === "object" && !Array.isArray(detail["item"]) && typeof detail["item"]["id"] === "string" && typeof detail["item"]["value"] === "string" && typeof detail["item"]["label"] === "string" && (detail["item"]["group"] === void 0 || typeof detail["item"]["group"] === "string") && (detail["item"]["disabled"] === void 0 || typeof detail["item"]["disabled"] === "boolean") && (detail["item"]["description"] === void 0 || typeof detail["item"]["description"] === "string") && (detail["item"]["tag"] === void 0 || detail["item"]["tag"] !== null && typeof detail["item"]["tag"] === "object" && !Array.isArray(detail["item"]["tag"]) && typeof detail["item"]["tag"]["label"] === "string" && (detail["item"]["tag"]["tone"] === void 0 || detail["item"]["tag"]["tone"] === "neutral" || detail["item"]["tag"]["tone"] === "accent" || detail["item"]["tag"]["tone"] === "info" || detail["item"]["tag"]["tone"] === "success" || detail["item"]["tag"]["tone"] === "warning" || detail["item"]["tag"]["tone"] === "danger") && Object.keys(detail["item"]["tag"]).every((key) => ["label", "tone"].includes(key))) && Object.keys(detail["item"]).every((key) => [
|
|
242
264
|
"id",
|
|
243
265
|
"value",
|
|
244
266
|
"label",
|
|
245
267
|
"group",
|
|
246
|
-
"disabled"
|
|
268
|
+
"disabled",
|
|
269
|
+
"description",
|
|
270
|
+
"tag"
|
|
247
271
|
].includes(key)) && Number.isInteger(detail["index"]) && (detail["trigger"] === "keyboard" || detail["trigger"] === "pointer" || detail["trigger"] === "programmatic") && Object.keys(detail).every((key) => [
|
|
248
272
|
"item",
|
|
249
273
|
"index",
|
|
@@ -462,8 +486,23 @@ var UiCombobox_default = /*#__PURE__*/ _plugin_vue_export_helper_default(/* @__P
|
|
|
462
486
|
id: `${uid.value}-option-${row.index}`,
|
|
463
487
|
"aria-selected": row.selected,
|
|
464
488
|
"aria-disabled": row.disabled,
|
|
465
|
-
"data-index": row.index
|
|
466
|
-
|
|
489
|
+
"data-index": row.index,
|
|
490
|
+
"aria-labelledby": row.labelledBy ?? void 0,
|
|
491
|
+
"aria-describedby": row.detail ?? void 0
|
|
492
|
+
}, [renderSlot(_ctx.$slots, `option-${row.id}`, {}, () => [row.detail ? (openBlock(), createElementBlock("span", _hoisted_17, [createElementVNode("span", _hoisted_18, [createElementVNode("span", {
|
|
493
|
+
class: "primary",
|
|
494
|
+
id: `${uid.value}-option-${row.index}-label`
|
|
495
|
+
}, toDisplayString(row.label), 9, _hoisted_19), row.tag ? (openBlock(), createBlock(UiBadge_default, {
|
|
496
|
+
key: 0,
|
|
497
|
+
tone: row.tag?.tone
|
|
498
|
+
}, {
|
|
499
|
+
default: withCtx(() => [createElementVNode("span", { id: `${uid.value}-option-${row.index}-tag` }, toDisplayString(row.tag?.label), 9, _hoisted_20)]),
|
|
500
|
+
_: 2
|
|
501
|
+
}, 1032, ["tone"])) : createCommentVNode("v-if", true)]), row.description ? (openBlock(), createElementBlock("span", {
|
|
502
|
+
key: 0,
|
|
503
|
+
class: "description",
|
|
504
|
+
id: `${uid.value}-option-${row.index}-description`
|
|
505
|
+
}, toDisplayString(row.description), 9, _hoisted_21)) : createCommentVNode("v-if", true)])) : createCommentVNode("v-if", true), !row.detail ? (openBlock(), createElementBlock("span", _hoisted_22, toDisplayString(row.label), 1)) : createCommentVNode("v-if", true)], true)], 10, _hoisted_16);
|
|
467
506
|
}), 128))], 8, _hoisted_14);
|
|
468
507
|
}), 128)),
|
|
469
508
|
creatable.value ? (openBlock(), createElementBlock("div", {
|
|
@@ -473,8 +512,8 @@ var UiCombobox_default = /*#__PURE__*/ _plugin_vue_export_helper_default(/* @__P
|
|
|
473
512
|
"aria-selected": "false",
|
|
474
513
|
id: `${uid.value}-option-${createIndex.value}`,
|
|
475
514
|
"data-index": createIndex.value
|
|
476
|
-
}, toDisplayString(`Create “${raw.value}”`), 11,
|
|
477
|
-
message.value ? (openBlock(), createElementBlock("div",
|
|
515
|
+
}, toDisplayString(`Create “${raw.value}”`), 11, _hoisted_23)) : createCommentVNode("v-if", true),
|
|
516
|
+
message.value ? (openBlock(), createElementBlock("div", _hoisted_24, toDisplayString(message.value), 1)) : createCommentVNode("v-if", true)
|
|
478
517
|
], 8, _hoisted_13), renderSlot(_ctx.$slots, "footer", {}, void 0, true)], 8, _hoisted_12),
|
|
479
518
|
createElementVNode("div", {
|
|
480
519
|
class: "message",
|
|
@@ -482,12 +521,12 @@ var UiCombobox_default = /*#__PURE__*/ _plugin_vue_export_helper_default(/* @__P
|
|
|
482
521
|
hidden: !validation.value.issues.length
|
|
483
522
|
}, [(openBlock(true), createElementBlock(Fragment, null, renderList(validation.value.issues, (issue, index) => {
|
|
484
523
|
return openBlock(), createElementBlock("div", { key: index }, toDisplayString(issue.message), 1);
|
|
485
|
-
}), 128))], 8,
|
|
486
|
-
createElementVNode("div",
|
|
487
|
-
createElementVNode("div",
|
|
524
|
+
}), 128))], 8, _hoisted_25),
|
|
525
|
+
createElementVNode("div", _hoisted_26, toDisplayString(statusText.value), 1),
|
|
526
|
+
createElementVNode("div", _hoisted_27, [renderSlot(_ctx.$slots, "default", {}, void 0, true)], 512)
|
|
488
527
|
], 16, _hoisted_1);
|
|
489
528
|
};
|
|
490
529
|
}
|
|
491
|
-
}), [["__scopeId", "data-v-
|
|
530
|
+
}), [["__scopeId", "data-v-10aa8368"]]);
|
|
492
531
|
//#endregion
|
|
493
532
|
export { UiCombobox_default as t };
|
package/vue/components.css
CHANGED
|
@@ -1356,7 +1356,7 @@ input[data-v-bfcc98e1]:focus-visible {
|
|
|
1356
1356
|
syntax: "*";
|
|
1357
1357
|
inherits: false;
|
|
1358
1358
|
}
|
|
1359
|
-
[data-component~="ui-combobox"][data-v-
|
|
1359
|
+
[data-component~="ui-combobox"][data-v-10aa8368] {
|
|
1360
1360
|
/* Hooks do not inherit, so the parts below read them from the root. */
|
|
1361
1361
|
--_ui-combobox-label-text: var(--ui-combobox-label-text);
|
|
1362
1362
|
--_ui-combobox-label-font-size: var(--ui-combobox-label-font-size);
|
|
@@ -1375,20 +1375,20 @@ input[data-v-bfcc98e1]:focus-visible {
|
|
|
1375
1375
|
color: var(--ui-text-primary);
|
|
1376
1376
|
font: inherit;
|
|
1377
1377
|
}
|
|
1378
|
-
label[data-v-
|
|
1378
|
+
label[data-v-10aa8368] {
|
|
1379
1379
|
color: var(--_ui-combobox-label-text, var(--ui-text-primary));
|
|
1380
1380
|
font-size: var(--_ui-combobox-label-font-size, var(--ui-font-size-sm));
|
|
1381
1381
|
font-weight: 500;
|
|
1382
1382
|
}
|
|
1383
1383
|
/* The field and anything that annotates it sit on one row; the help button is beside the box,
|
|
1384
1384
|
not inside it, because a control's box holds its value. */
|
|
1385
|
-
.control[data-v-
|
|
1385
|
+
.control[data-v-10aa8368] {
|
|
1386
1386
|
display: flex;
|
|
1387
1387
|
align-items: center;
|
|
1388
1388
|
gap: var(--ui-space-2);
|
|
1389
1389
|
min-inline-size: 0;
|
|
1390
1390
|
}
|
|
1391
|
-
.field[data-v-
|
|
1391
|
+
.field[data-v-10aa8368] {
|
|
1392
1392
|
flex: 1 1 auto;
|
|
1393
1393
|
display: flex;
|
|
1394
1394
|
min-inline-size: 0;
|
|
@@ -1400,14 +1400,14 @@ label[data-v-fd4a871f] {
|
|
|
1400
1400
|
border-color var(--ui-motion-fast) var(--ui-motion-ease),
|
|
1401
1401
|
box-shadow var(--ui-motion-fast) var(--ui-motion-ease);
|
|
1402
1402
|
}
|
|
1403
|
-
.field[data-v-
|
|
1403
|
+
.field[data-v-10aa8368]:focus-within {
|
|
1404
1404
|
border-color: var(--ui-control-focus, var(--ui-accent-solid));
|
|
1405
1405
|
box-shadow:
|
|
1406
1406
|
var(--ui-control-inset),
|
|
1407
1407
|
var(--ui-control-focus-halo-shadow);
|
|
1408
1408
|
}
|
|
1409
1409
|
/* A ghost icon button: the affordance is the mark, not a box around it. */
|
|
1410
|
-
.help[data-v-
|
|
1410
|
+
.help[data-v-10aa8368] {
|
|
1411
1411
|
flex: none;
|
|
1412
1412
|
display: inline-flex;
|
|
1413
1413
|
align-items: center;
|
|
@@ -1424,28 +1424,28 @@ label[data-v-fd4a871f] {
|
|
|
1424
1424
|
background-color var(--ui-motion-fast) var(--ui-motion-ease),
|
|
1425
1425
|
color var(--ui-motion-fast) var(--ui-motion-ease);
|
|
1426
1426
|
}
|
|
1427
|
-
.help[data-v-
|
|
1428
|
-
.help[aria-expanded="true"][data-v-
|
|
1427
|
+
.help[data-v-10aa8368]:hover:enabled,
|
|
1428
|
+
.help[aria-expanded="true"][data-v-10aa8368] {
|
|
1429
1429
|
background: color-mix(in srgb, currentColor 8%, transparent);
|
|
1430
1430
|
color: var(--ui-text-primary);
|
|
1431
1431
|
}
|
|
1432
|
-
.help[data-v-
|
|
1432
|
+
.help[data-v-10aa8368]:focus-visible {
|
|
1433
1433
|
outline: none;
|
|
1434
1434
|
box-shadow: var(--ui-focus-halo);
|
|
1435
1435
|
}
|
|
1436
|
-
.help[data-v-
|
|
1436
|
+
.help[data-v-10aa8368]:disabled {
|
|
1437
1437
|
color: var(--ui-disabled-text);
|
|
1438
1438
|
cursor: not-allowed;
|
|
1439
1439
|
}
|
|
1440
|
-
.help-icon[data-v-
|
|
1440
|
+
.help-icon[data-v-10aa8368] {
|
|
1441
1441
|
inline-size: var(--ui-icon-size-sm);
|
|
1442
1442
|
block-size: var(--ui-icon-size-sm);
|
|
1443
1443
|
}
|
|
1444
|
-
input[data-v-
|
|
1444
|
+
input[data-v-10aa8368]::selection {
|
|
1445
1445
|
background: color-mix(in srgb, var(--ui-accent-solid) 20%, transparent);
|
|
1446
1446
|
color: inherit;
|
|
1447
1447
|
}
|
|
1448
|
-
input[data-v-
|
|
1448
|
+
input[data-v-10aa8368] {
|
|
1449
1449
|
appearance: none;
|
|
1450
1450
|
width: 100%;
|
|
1451
1451
|
min-inline-size: 0;
|
|
@@ -1461,20 +1461,20 @@ input[data-v-fd4a871f] {
|
|
|
1461
1461
|
margin: 0;
|
|
1462
1462
|
outline: none;
|
|
1463
1463
|
}
|
|
1464
|
-
[data-component~="ui-combobox"][data-ui-combobox-state~="size=sm"][data-v-
|
|
1464
|
+
[data-component~="ui-combobox"][data-ui-combobox-state~="size=sm"][data-v-10aa8368] {
|
|
1465
1465
|
--_row: var(--ui-control-size-sm);
|
|
1466
1466
|
}
|
|
1467
|
-
[data-component~="ui-combobox"][data-ui-combobox-state~="size=sm"] input[data-v-
|
|
1467
|
+
[data-component~="ui-combobox"][data-ui-combobox-state~="size=sm"] input[data-v-10aa8368] {
|
|
1468
1468
|
min-block-size: calc(var(--_row) - 2px);
|
|
1469
1469
|
padding: var(--ui-space-1) var(--ui-space-2);
|
|
1470
1470
|
font-size: var(--ui-font-size-sm);
|
|
1471
1471
|
}
|
|
1472
|
-
[data-component~="ui-combobox"][data-ui-combobox-state~="size=lg"] input[data-v-
|
|
1472
|
+
[data-component~="ui-combobox"][data-ui-combobox-state~="size=lg"] input[data-v-10aa8368] {
|
|
1473
1473
|
min-block-size: calc(var(--ui-control-size-lg) - 2px);
|
|
1474
1474
|
padding: var(--ui-space-3) var(--ui-space-4);
|
|
1475
1475
|
font-size: var(--ui-font-size-md);
|
|
1476
1476
|
}
|
|
1477
|
-
button[data-v-
|
|
1477
|
+
button[data-v-10aa8368] {
|
|
1478
1478
|
appearance: none;
|
|
1479
1479
|
display: inline-grid;
|
|
1480
1480
|
place-items: center;
|
|
@@ -1489,31 +1489,31 @@ button[data-v-fd4a871f] {
|
|
|
1489
1489
|
padding: 0 var(--ui-space-1);
|
|
1490
1490
|
cursor: pointer;
|
|
1491
1491
|
}
|
|
1492
|
-
.affordance-icon[data-v-
|
|
1492
|
+
.affordance-icon[data-v-10aa8368] {
|
|
1493
1493
|
display: block;
|
|
1494
1494
|
inline-size: var(--ui-icon-size-sm);
|
|
1495
1495
|
block-size: var(--ui-icon-size-sm);
|
|
1496
1496
|
}
|
|
1497
|
-
button[data-v-
|
|
1497
|
+
button[data-v-10aa8368]:hover:enabled {
|
|
1498
1498
|
background: var(--ui-surface-muted);
|
|
1499
1499
|
color: var(--ui-text-primary);
|
|
1500
1500
|
}
|
|
1501
|
-
button[data-v-
|
|
1501
|
+
button[data-v-10aa8368]:focus-visible {
|
|
1502
1502
|
outline: none;
|
|
1503
1503
|
background: var(--ui-surface-muted);
|
|
1504
1504
|
box-shadow: inset 0 0 0 2px color-mix(in srgb, var(--ui-focus-ring) 45%, transparent);
|
|
1505
1505
|
}
|
|
1506
|
-
input[data-v-
|
|
1506
|
+
input[data-v-10aa8368]:disabled, button[data-v-10aa8368]:disabled {
|
|
1507
1507
|
color: var(--ui-disabled-text);
|
|
1508
1508
|
cursor: not-allowed;
|
|
1509
1509
|
}
|
|
1510
|
-
.field[data-v-
|
|
1510
|
+
.field[data-v-10aa8368]:has(input:disabled) {
|
|
1511
1511
|
background: var(--ui-control-surface-disabled, var(--ui-surface-muted));
|
|
1512
1512
|
}
|
|
1513
|
-
[data-component~="ui-combobox"][data-ui-combobox-state~="validationStatus=error"] .field[data-v-
|
|
1513
|
+
[data-component~="ui-combobox"][data-ui-combobox-state~="validationStatus=error"] .field[data-v-10aa8368] {
|
|
1514
1514
|
border-color: var(--ui-danger-solid, var(--ui-accent-active));
|
|
1515
1515
|
}
|
|
1516
|
-
.popup[data-v-
|
|
1516
|
+
.popup[data-v-10aa8368] {
|
|
1517
1517
|
box-sizing: border-box;
|
|
1518
1518
|
min-inline-size: 12rem;
|
|
1519
1519
|
max-inline-size: calc(100vw - 1rem);
|
|
@@ -1527,40 +1527,57 @@ input[data-v-fd4a871f]:disabled, button[data-v-fd4a871f]:disabled {
|
|
|
1527
1527
|
color: var(--ui-text-primary);
|
|
1528
1528
|
box-shadow: var(--ui-elevation-overlay, var(--ui-shadow-lg));
|
|
1529
1529
|
}
|
|
1530
|
-
[hidden][data-v-
|
|
1530
|
+
[hidden][data-v-10aa8368] {
|
|
1531
1531
|
display: none;
|
|
1532
1532
|
}
|
|
1533
|
-
.option[data-v-
|
|
1533
|
+
.option[data-v-10aa8368] {
|
|
1534
1534
|
padding: var(--ui-space-2) var(--ui-space-3);
|
|
1535
1535
|
border-radius: var(--ui-radius-sm);
|
|
1536
1536
|
cursor: pointer;
|
|
1537
1537
|
overflow-wrap: anywhere;
|
|
1538
1538
|
}
|
|
1539
|
-
.option[data-v-
|
|
1539
|
+
.option[data-v-10aa8368]:hover, .option.active[data-v-10aa8368] {
|
|
1540
1540
|
background: var(--ui-surface-muted);
|
|
1541
1541
|
outline: 1px solid var(--ui-focus-ring);
|
|
1542
1542
|
outline-offset: -1px;
|
|
1543
1543
|
}
|
|
1544
|
-
.option[aria-disabled="true"][data-v-
|
|
1544
|
+
.option[aria-disabled="true"][data-v-10aa8368] {
|
|
1545
1545
|
color: var(--ui-disabled-text);
|
|
1546
1546
|
cursor: not-allowed;
|
|
1547
1547
|
}
|
|
1548
|
-
.primary[data-v-
|
|
1548
|
+
.primary[data-v-10aa8368] {
|
|
1549
1549
|
display: block;
|
|
1550
1550
|
color: var(--_ui-combobox-option-text, var(--ui-text-primary));
|
|
1551
1551
|
font-weight: 500;
|
|
1552
1552
|
}
|
|
1553
|
-
|
|
1553
|
+
/* A row with a tag or a description: the label and its tag on one line, the description under them. */
|
|
1554
|
+
.detail[data-v-10aa8368] {
|
|
1555
|
+
display: grid;
|
|
1556
|
+
gap: var(--ui-space-0-5);
|
|
1557
|
+
min-inline-size: 0;
|
|
1558
|
+
}
|
|
1559
|
+
.line[data-v-10aa8368] {
|
|
1560
|
+
display: flex;
|
|
1561
|
+
flex-wrap: wrap;
|
|
1562
|
+
align-items: center;
|
|
1563
|
+
gap: var(--ui-space-2);
|
|
1564
|
+
}
|
|
1565
|
+
.description[data-v-10aa8368] {
|
|
1566
|
+
color: var(--ui-text-muted);
|
|
1567
|
+
font-size: var(--ui-font-size-sm);
|
|
1568
|
+
line-height: var(--ui-line-height-md);
|
|
1569
|
+
}
|
|
1570
|
+
.message[data-v-10aa8368], .group[data-v-10aa8368] {
|
|
1554
1571
|
color: var(--_ui-combobox-message-text, var(--ui-text-secondary));
|
|
1555
1572
|
font-weight: 400;
|
|
1556
1573
|
font-size: var(--ui-font-size-sm);
|
|
1557
1574
|
line-height: var(--ui-line-height-md);
|
|
1558
1575
|
overflow-wrap: anywhere;
|
|
1559
1576
|
}
|
|
1560
|
-
.group[data-v-
|
|
1577
|
+
.group[data-v-10aa8368], .popup .message[data-v-10aa8368] {
|
|
1561
1578
|
padding: var(--ui-space-2) var(--ui-space-3);
|
|
1562
1579
|
}
|
|
1563
|
-
.sr-only[data-v-
|
|
1580
|
+
.sr-only[data-v-10aa8368] {
|
|
1564
1581
|
position: absolute;
|
|
1565
1582
|
inline-size: 1px;
|
|
1566
1583
|
block-size: 1px;
|
|
@@ -1569,24 +1586,24 @@ input[data-v-fd4a871f]:disabled, button[data-v-fd4a871f]:disabled {
|
|
|
1569
1586
|
white-space: nowrap;
|
|
1570
1587
|
}
|
|
1571
1588
|
@media (pointer: coarse) {
|
|
1572
|
-
button[data-v-
|
|
1589
|
+
button[data-v-10aa8368] {
|
|
1573
1590
|
min-inline-size: 2.75rem;
|
|
1574
1591
|
min-block-size: 2.75rem;
|
|
1575
1592
|
}
|
|
1576
1593
|
/* Under touch a small field is still a touch-sized target, as a small button is, and keeps
|
|
1577
1594
|
body-size text: below 16px, iOS zooms the page into the focused field. */
|
|
1578
|
-
[data-component~="ui-combobox"][data-ui-combobox-state~="size=sm"][data-v-
|
|
1595
|
+
[data-component~="ui-combobox"][data-ui-combobox-state~="size=sm"][data-v-10aa8368] {
|
|
1579
1596
|
--_row: var(--ui-control-min-block-size);
|
|
1580
1597
|
}
|
|
1581
|
-
[data-component~="ui-combobox"][data-ui-combobox-state~="size=sm"] input[data-v-
|
|
1598
|
+
[data-component~="ui-combobox"][data-ui-combobox-state~="size=sm"] input[data-v-10aa8368] {
|
|
1582
1599
|
font-size: inherit;
|
|
1583
1600
|
}
|
|
1584
1601
|
}
|
|
1585
1602
|
@media (forced-colors: active) {
|
|
1586
|
-
.field[data-v-
|
|
1603
|
+
.field[data-v-10aa8368], .popup[data-v-10aa8368] {
|
|
1587
1604
|
border-color: CanvasText;
|
|
1588
1605
|
}
|
|
1589
|
-
.option.active[data-v-
|
|
1606
|
+
.option.active[data-v-10aa8368] {
|
|
1590
1607
|
outline-color: Highlight;
|
|
1591
1608
|
}
|
|
1592
1609
|
}
|
|
@@ -1594,12 +1611,12 @@ button[data-v-fd4a871f] {
|
|
|
1594
1611
|
/* Multiple mode: every option carries a checkbox, so a list that takes several answers says so
|
|
1595
1612
|
before anything is picked. aria-selected is the state; this draws it.
|
|
1596
1613
|
Longhands, not shorthands: lowering drops a shorthand that omits a component. */
|
|
1597
|
-
[data-component~="ui-combobox"][data-ui-combobox-state~="multiple"] .option[data-v-
|
|
1614
|
+
[data-component~="ui-combobox"][data-ui-combobox-state~="multiple"] .option[data-v-10aa8368] {
|
|
1598
1615
|
display: flex;
|
|
1599
1616
|
gap: var(--ui-space-2);
|
|
1600
1617
|
align-items: center;
|
|
1601
1618
|
}
|
|
1602
|
-
[data-component~="ui-combobox"][data-ui-combobox-state~="multiple"] .option[data-v-
|
|
1619
|
+
[data-component~="ui-combobox"][data-ui-combobox-state~="multiple"] .option[data-v-10aa8368]::before {
|
|
1603
1620
|
content: "";
|
|
1604
1621
|
flex: none;
|
|
1605
1622
|
inline-size: 1.125rem;
|
|
@@ -1614,7 +1631,7 @@ button[data-v-fd4a871f] {
|
|
|
1614
1631
|
background-size: 0.7rem;
|
|
1615
1632
|
}
|
|
1616
1633
|
[data-component~="ui-combobox"][data-ui-combobox-state~="multiple"]
|
|
1617
|
-
.option[aria-selected="true"][data-v-
|
|
1634
|
+
.option[aria-selected="true"][data-v-10aa8368]::before {
|
|
1618
1635
|
border-color: var(--ui-accent-solid);
|
|
1619
1636
|
background-color: var(--ui-accent-solid);
|
|
1620
1637
|
background-image: var(
|
|
@@ -1624,14 +1641,14 @@ button[data-v-fd4a871f] {
|
|
|
1624
1641
|
}
|
|
1625
1642
|
|
|
1626
1643
|
/* Multiple mode: chips wrap before the cursor on one flexible field line. */
|
|
1627
|
-
[data-component~="ui-combobox"][data-ui-combobox-state~="multiple"] .field[data-v-
|
|
1644
|
+
[data-component~="ui-combobox"][data-ui-combobox-state~="multiple"] .field[data-v-10aa8368] {
|
|
1628
1645
|
flex-wrap: wrap;
|
|
1629
1646
|
align-items: center;
|
|
1630
1647
|
gap: var(--ui-space-1);
|
|
1631
1648
|
min-block-size: var(--_ui-combobox-item-min-block-size, 2.5rem);
|
|
1632
1649
|
padding: var(--ui-space-1);
|
|
1633
1650
|
}
|
|
1634
|
-
[data-component~="ui-combobox"][data-ui-combobox-state~="multiple"] input[data-v-
|
|
1651
|
+
[data-component~="ui-combobox"][data-ui-combobox-state~="multiple"] input[data-v-10aa8368] {
|
|
1635
1652
|
flex: 1 0 var(--_ui-combobox-item-input-min-inline-size, 5rem);
|
|
1636
1653
|
width: auto;
|
|
1637
1654
|
min-block-size: 1.75rem;
|
|
@@ -1639,25 +1656,25 @@ button[data-v-fd4a871f] {
|
|
|
1639
1656
|
}
|
|
1640
1657
|
/* A small multiple field starts at the small control height; chosen items still wrap it taller. */
|
|
1641
1658
|
[data-component~="ui-combobox"][data-ui-combobox-state~="multiple"][data-component~="ui-combobox"][data-ui-combobox-state~="size=sm"]
|
|
1642
|
-
.field[data-v-
|
|
1659
|
+
.field[data-v-10aa8368] {
|
|
1643
1660
|
min-block-size: 0;
|
|
1644
1661
|
padding: var(--ui-space-0-5);
|
|
1645
1662
|
}
|
|
1646
1663
|
[data-component~="ui-combobox"][data-ui-combobox-state~="multiple"][data-component~="ui-combobox"][data-ui-combobox-state~="size=sm"]
|
|
1647
|
-
input[data-v-
|
|
1664
|
+
input[data-v-10aa8368] {
|
|
1648
1665
|
min-block-size: calc(var(--_row) - 2px - 2 * var(--ui-space-0-5));
|
|
1649
1666
|
padding: 0 var(--ui-space-1);
|
|
1650
1667
|
}
|
|
1651
1668
|
/* A large multiple field starts at the large control height, as sm starts at the small one. */
|
|
1652
1669
|
[data-component~="ui-combobox"][data-ui-combobox-state~="multiple"][data-component~="ui-combobox"][data-ui-combobox-state~="size=lg"]
|
|
1653
|
-
.field[data-v-
|
|
1670
|
+
.field[data-v-10aa8368] {
|
|
1654
1671
|
min-block-size: 0;
|
|
1655
1672
|
}
|
|
1656
1673
|
[data-component~="ui-combobox"][data-ui-combobox-state~="multiple"][data-component~="ui-combobox"][data-ui-combobox-state~="size=lg"]
|
|
1657
|
-
input[data-v-
|
|
1674
|
+
input[data-v-10aa8368] {
|
|
1658
1675
|
min-block-size: calc(var(--ui-control-size-lg) - 2px - 2 * var(--ui-space-1));
|
|
1659
1676
|
}
|
|
1660
|
-
.item[data-v-
|
|
1677
|
+
.item[data-v-10aa8368] {
|
|
1661
1678
|
appearance: none;
|
|
1662
1679
|
display: inline-flex;
|
|
1663
1680
|
min-inline-size: 0;
|
|
@@ -1671,16 +1688,16 @@ button[data-v-fd4a871f] {
|
|
|
1671
1688
|
font: inherit;
|
|
1672
1689
|
cursor: default;
|
|
1673
1690
|
}
|
|
1674
|
-
.item[data-v-
|
|
1691
|
+
.item[data-v-10aa8368]:focus-visible {
|
|
1675
1692
|
outline: 2px solid var(--ui-focus-ring);
|
|
1676
1693
|
outline-offset: 1px;
|
|
1677
1694
|
}
|
|
1678
|
-
.item[data-v-
|
|
1695
|
+
.item[data-v-10aa8368]:disabled {
|
|
1679
1696
|
opacity: 0.6;
|
|
1680
1697
|
}
|
|
1681
1698
|
|
|
1682
1699
|
/* A component that sets its display still honours the hidden attribute on its root. */
|
|
1683
|
-
[data-component~="ui-combobox"][hidden][data-v-
|
|
1700
|
+
[data-component~="ui-combobox"][hidden][data-v-10aa8368] {
|
|
1684
1701
|
display: none;
|
|
1685
1702
|
}
|
|
1686
1703
|
|