@threadlabs/looma 0.13.3 → 0.13.5
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/shared/icons.js +1 -0
- package/components/ui-cluster/ui-cluster.html +12 -0
- package/components/ui-combobox/ui-combobox.html +8 -1
- package/components/ui-combobox/ui-combobox.js +45 -16
- package/components/ui-icon-button/ui-icon-button.html +4 -0
- package/dist/index.js +1 -1
- package/editor/icons.d.ts +1 -0
- package/editor/index.js +2 -1
- package/package.json +1 -1
- package/styles/ui-cluster.css +9 -0
- package/styles/ui-icon-button.css +4 -0
- package/vanilla/UiCluster.d.ts +1 -0
- package/vanilla/UiCluster.js +2 -0
- package/vanilla/UiCombobox.d.ts +2 -0
- package/vanilla/UiCombobox.js +1 -1
- package/vue/UiCluster.d.ts +1 -0
- package/vue/UiCluster.vue +11 -0
- package/vue/UiCombobox.d.ts +11 -0
- package/vue/UiCombobox.vue +20 -1
- package/vue/UiIconButton.vue +4 -0
- package/vue/chunks/UiCluster.js +8 -3
- package/vue/chunks/UiCombobox.js +13 -4
- package/vue/chunks/UiIconButton.js +1 -1
- package/vue/components.css +92 -79
package/vue/chunks/UiCombobox.js
CHANGED
|
@@ -123,12 +123,14 @@ var UiCombobox_default = /*#__PURE__*/ _plugin_vue_export_helper_default(/* @__P
|
|
|
123
123
|
type: Boolean,
|
|
124
124
|
default: false
|
|
125
125
|
},
|
|
126
|
+
selectedValues: {},
|
|
126
127
|
size: { default: "md" },
|
|
127
128
|
tokenSeparators: {},
|
|
128
129
|
value: {}
|
|
129
130
|
},
|
|
130
131
|
emits: [
|
|
131
132
|
"update:query",
|
|
133
|
+
"update:selectedValues",
|
|
132
134
|
"update:value",
|
|
133
135
|
"query-change",
|
|
134
136
|
"value-change",
|
|
@@ -138,7 +140,8 @@ var UiCombobox_default = /*#__PURE__*/ _plugin_vue_export_helper_default(/* @__P
|
|
|
138
140
|
"options-change",
|
|
139
141
|
"add-item",
|
|
140
142
|
"remove-item",
|
|
141
|
-
"create-item"
|
|
143
|
+
"create-item",
|
|
144
|
+
"selected-values-change"
|
|
142
145
|
],
|
|
143
146
|
setup(__props, { expose: __expose, emit: __emit }) {
|
|
144
147
|
const props = __props;
|
|
@@ -247,6 +250,7 @@ var UiCombobox_default = /*#__PURE__*/ _plugin_vue_export_helper_default(/* @__P
|
|
|
247
250
|
"trigger"
|
|
248
251
|
].includes(key));
|
|
249
252
|
const isCreateItemDetail = (detail) => detail !== null && typeof detail === "object" && !Array.isArray(detail) && typeof detail["query"] === "string" && (detail["trigger"] === "keyboard" || detail["trigger"] === "pointer" || detail["trigger"] === "programmatic") && Object.keys(detail).every((key) => ["query", "trigger"].includes(key));
|
|
253
|
+
const isSelectedValuesChangeDetail = (detail) => detail !== null && typeof detail === "object" && !Array.isArray(detail) && Array.isArray(detail["selectedValues"]) && detail["selectedValues"].every((item) => typeof item === "string") && (detail["trigger"] === "keyboard" || detail["trigger"] === "pointer" || detail["trigger"] === "programmatic") && Object.keys(detail).every((key) => ["selectedValues", "trigger"].includes(key));
|
|
250
254
|
const dispatch = createDispatch(root, emit, {
|
|
251
255
|
checks: {
|
|
252
256
|
"query-change": isQueryChangeDetail,
|
|
@@ -257,9 +261,14 @@ var UiCombobox_default = /*#__PURE__*/ _plugin_vue_export_helper_default(/* @__P
|
|
|
257
261
|
"options-change": isOptionsChangeDetail,
|
|
258
262
|
"add-item": isAddItemDetail,
|
|
259
263
|
"remove-item": isAddItemDetail,
|
|
260
|
-
"create-item": isCreateItemDetail
|
|
264
|
+
"create-item": isCreateItemDetail,
|
|
265
|
+
"selected-values-change": isSelectedValuesChangeDetail
|
|
261
266
|
},
|
|
262
|
-
modeled: [
|
|
267
|
+
modeled: [
|
|
268
|
+
"query",
|
|
269
|
+
"selectedValues",
|
|
270
|
+
"value"
|
|
271
|
+
]
|
|
263
272
|
});
|
|
264
273
|
const { host, ready } = useComponentHost(controllerModule.default, {
|
|
265
274
|
root,
|
|
@@ -479,6 +488,6 @@ var UiCombobox_default = /*#__PURE__*/ _plugin_vue_export_helper_default(/* @__P
|
|
|
479
488
|
], 16, _hoisted_1);
|
|
480
489
|
};
|
|
481
490
|
}
|
|
482
|
-
}), [["__scopeId", "data-v-
|
|
491
|
+
}), [["__scopeId", "data-v-1482f333"]]);
|
|
483
492
|
//#endregion
|
|
484
493
|
export { UiCombobox_default as t };
|
|
@@ -59,6 +59,6 @@ var UiIconButton_default = /*#__PURE__*/ _plugin_vue_export_helper_default(/* @_
|
|
|
59
59
|
}), [renderSlot(_ctx.$slots, "default")], 16, _hoisted_1);
|
|
60
60
|
};
|
|
61
61
|
}
|
|
62
|
-
}), [["__scopeId", "data-v-
|
|
62
|
+
}), [["__scopeId", "data-v-006fa1b2"]]);
|
|
63
63
|
//#endregion
|
|
64
64
|
export { UiIconButton_default as t };
|
package/vue/components.css
CHANGED
|
@@ -1094,7 +1094,7 @@ input[data-v-e122df08]:focus-visible {
|
|
|
1094
1094
|
syntax: "*";
|
|
1095
1095
|
inherits: false;
|
|
1096
1096
|
}
|
|
1097
|
-
[data-component~="ui-cluster"][data-v-
|
|
1097
|
+
[data-component~="ui-cluster"][data-v-81b18ffc] {
|
|
1098
1098
|
--_layout-gap: var(--ui-space-3);
|
|
1099
1099
|
display: flex;
|
|
1100
1100
|
flex-wrap: wrap;
|
|
@@ -1104,33 +1104,42 @@ input[data-v-e122df08]:focus-visible {
|
|
|
1104
1104
|
max-inline-size: 100%;
|
|
1105
1105
|
margin: 0;
|
|
1106
1106
|
}
|
|
1107
|
-
[data-component~="ui-cluster"][data-ui-cluster-state~="gap=xs"][data-v-
|
|
1107
|
+
[data-component~="ui-cluster"][data-ui-cluster-state~="gap=xs"][data-v-81b18ffc] {
|
|
1108
1108
|
--_layout-gap: var(--ui-space-2);
|
|
1109
1109
|
}
|
|
1110
|
-
[data-component~="ui-cluster"][data-ui-cluster-state~="gap=s"][data-v-
|
|
1110
|
+
[data-component~="ui-cluster"][data-ui-cluster-state~="gap=s"][data-v-81b18ffc] {
|
|
1111
1111
|
--_layout-gap: var(--ui-space-3);
|
|
1112
1112
|
}
|
|
1113
|
-
[data-component~="ui-cluster"][data-ui-cluster-state~="gap=m"][data-v-
|
|
1113
|
+
[data-component~="ui-cluster"][data-ui-cluster-state~="gap=m"][data-v-81b18ffc] {
|
|
1114
1114
|
--_layout-gap: var(--ui-space-4);
|
|
1115
1115
|
}
|
|
1116
|
-
[data-component~="ui-cluster"][data-ui-cluster-state~="gap=l"][data-v-
|
|
1116
|
+
[data-component~="ui-cluster"][data-ui-cluster-state~="gap=l"][data-v-81b18ffc] {
|
|
1117
1117
|
--_layout-gap: var(--ui-space-5);
|
|
1118
1118
|
}
|
|
1119
|
-
[data-component~="ui-cluster"][data-ui-cluster-state~="gap=xl"][data-v-
|
|
1119
|
+
[data-component~="ui-cluster"][data-ui-cluster-state~="gap=xl"][data-v-81b18ffc] {
|
|
1120
1120
|
--_layout-gap: var(--ui-space-6);
|
|
1121
1121
|
}
|
|
1122
|
-
[data-component~="ui-cluster"][data-ui-cluster-state~="align=start"][data-v-
|
|
1122
|
+
[data-component~="ui-cluster"][data-ui-cluster-state~="align=start"][data-v-81b18ffc] {
|
|
1123
1123
|
align-items: flex-start;
|
|
1124
1124
|
}
|
|
1125
|
-
[data-component~="ui-cluster"][data-ui-cluster-state~="align=end"][data-v-
|
|
1125
|
+
[data-component~="ui-cluster"][data-ui-cluster-state~="align=end"][data-v-81b18ffc] {
|
|
1126
1126
|
align-items: flex-end;
|
|
1127
1127
|
}
|
|
1128
|
-
[data-component~="ui-cluster"][data-ui-cluster-state~="align=stretch"][data-v-
|
|
1128
|
+
[data-component~="ui-cluster"][data-ui-cluster-state~="align=stretch"][data-v-81b18ffc] {
|
|
1129
1129
|
align-items: stretch;
|
|
1130
1130
|
}
|
|
1131
|
+
[data-component~="ui-cluster"][data-ui-cluster-state~="justify=center"][data-v-81b18ffc] {
|
|
1132
|
+
justify-content: center;
|
|
1133
|
+
}
|
|
1134
|
+
[data-component~="ui-cluster"][data-ui-cluster-state~="justify=end"][data-v-81b18ffc] {
|
|
1135
|
+
justify-content: flex-end;
|
|
1136
|
+
}
|
|
1137
|
+
[data-component~="ui-cluster"][data-ui-cluster-state~="justify=between"][data-v-81b18ffc] {
|
|
1138
|
+
justify-content: space-between;
|
|
1139
|
+
}
|
|
1131
1140
|
|
|
1132
1141
|
/* A component that sets its display still honours the hidden attribute on its root. */
|
|
1133
|
-
[data-component~="ui-cluster"][hidden][data-v-
|
|
1142
|
+
[data-component~="ui-cluster"][hidden][data-v-81b18ffc] {
|
|
1134
1143
|
display: none;
|
|
1135
1144
|
}
|
|
1136
1145
|
|
|
@@ -1318,7 +1327,7 @@ input[data-v-e122df08]:focus-visible {
|
|
|
1318
1327
|
syntax: "*";
|
|
1319
1328
|
inherits: false;
|
|
1320
1329
|
}
|
|
1321
|
-
[data-component~="ui-combobox"][data-v-
|
|
1330
|
+
[data-component~="ui-combobox"][data-v-1482f333] {
|
|
1322
1331
|
/* Hooks do not inherit, so the parts below read them from the root. */
|
|
1323
1332
|
--_ui-combobox-label-text: var(--ui-combobox-label-text);
|
|
1324
1333
|
--_ui-combobox-label-font-size: var(--ui-combobox-label-font-size);
|
|
@@ -1337,20 +1346,20 @@ input[data-v-e122df08]:focus-visible {
|
|
|
1337
1346
|
color: var(--ui-text-primary);
|
|
1338
1347
|
font: inherit;
|
|
1339
1348
|
}
|
|
1340
|
-
label[data-v-
|
|
1349
|
+
label[data-v-1482f333] {
|
|
1341
1350
|
color: var(--_ui-combobox-label-text, var(--ui-text-primary));
|
|
1342
1351
|
font-size: var(--_ui-combobox-label-font-size, var(--ui-font-size-sm));
|
|
1343
1352
|
font-weight: 500;
|
|
1344
1353
|
}
|
|
1345
1354
|
/* The field and anything that annotates it sit on one row; the help button is beside the box,
|
|
1346
1355
|
not inside it, because a control's box holds its value. */
|
|
1347
|
-
.control[data-v-
|
|
1356
|
+
.control[data-v-1482f333] {
|
|
1348
1357
|
display: flex;
|
|
1349
1358
|
align-items: center;
|
|
1350
1359
|
gap: var(--ui-space-2);
|
|
1351
1360
|
min-inline-size: 0;
|
|
1352
1361
|
}
|
|
1353
|
-
.field[data-v-
|
|
1362
|
+
.field[data-v-1482f333] {
|
|
1354
1363
|
flex: 1 1 auto;
|
|
1355
1364
|
display: flex;
|
|
1356
1365
|
min-inline-size: 0;
|
|
@@ -1362,14 +1371,14 @@ label[data-v-7616cc1c] {
|
|
|
1362
1371
|
border-color var(--ui-motion-fast) var(--ui-motion-ease),
|
|
1363
1372
|
box-shadow var(--ui-motion-fast) var(--ui-motion-ease);
|
|
1364
1373
|
}
|
|
1365
|
-
.field[data-v-
|
|
1374
|
+
.field[data-v-1482f333]:focus-within {
|
|
1366
1375
|
border-color: var(--ui-control-focus, var(--ui-accent-solid));
|
|
1367
1376
|
box-shadow:
|
|
1368
1377
|
var(--ui-control-inset),
|
|
1369
1378
|
var(--ui-control-focus-halo-shadow);
|
|
1370
1379
|
}
|
|
1371
1380
|
/* A ghost icon button: the affordance is the mark, not a box around it. */
|
|
1372
|
-
.help[data-v-
|
|
1381
|
+
.help[data-v-1482f333] {
|
|
1373
1382
|
flex: none;
|
|
1374
1383
|
display: inline-flex;
|
|
1375
1384
|
align-items: center;
|
|
@@ -1386,28 +1395,28 @@ label[data-v-7616cc1c] {
|
|
|
1386
1395
|
background-color var(--ui-motion-fast) var(--ui-motion-ease),
|
|
1387
1396
|
color var(--ui-motion-fast) var(--ui-motion-ease);
|
|
1388
1397
|
}
|
|
1389
|
-
.help[data-v-
|
|
1390
|
-
.help[aria-expanded="true"][data-v-
|
|
1398
|
+
.help[data-v-1482f333]:hover:enabled,
|
|
1399
|
+
.help[aria-expanded="true"][data-v-1482f333] {
|
|
1391
1400
|
background: color-mix(in srgb, currentColor 8%, transparent);
|
|
1392
1401
|
color: var(--ui-text-primary);
|
|
1393
1402
|
}
|
|
1394
|
-
.help[data-v-
|
|
1403
|
+
.help[data-v-1482f333]:focus-visible {
|
|
1395
1404
|
outline: none;
|
|
1396
1405
|
box-shadow: var(--ui-focus-halo);
|
|
1397
1406
|
}
|
|
1398
|
-
.help[data-v-
|
|
1407
|
+
.help[data-v-1482f333]:disabled {
|
|
1399
1408
|
color: var(--ui-disabled-text);
|
|
1400
1409
|
cursor: not-allowed;
|
|
1401
1410
|
}
|
|
1402
|
-
.help-icon[data-v-
|
|
1411
|
+
.help-icon[data-v-1482f333] {
|
|
1403
1412
|
inline-size: var(--ui-icon-size-sm);
|
|
1404
1413
|
block-size: var(--ui-icon-size-sm);
|
|
1405
1414
|
}
|
|
1406
|
-
input[data-v-
|
|
1415
|
+
input[data-v-1482f333]::selection {
|
|
1407
1416
|
background: color-mix(in srgb, var(--ui-accent-solid) 20%, transparent);
|
|
1408
1417
|
color: inherit;
|
|
1409
1418
|
}
|
|
1410
|
-
input[data-v-
|
|
1419
|
+
input[data-v-1482f333] {
|
|
1411
1420
|
appearance: none;
|
|
1412
1421
|
width: 100%;
|
|
1413
1422
|
min-inline-size: 0;
|
|
@@ -1423,11 +1432,11 @@ input[data-v-7616cc1c] {
|
|
|
1423
1432
|
margin: 0;
|
|
1424
1433
|
outline: none;
|
|
1425
1434
|
}
|
|
1426
|
-
[data-component~="ui-combobox"][data-ui-combobox-state~="size=sm"] input[data-v-
|
|
1435
|
+
[data-component~="ui-combobox"][data-ui-combobox-state~="size=sm"] input[data-v-1482f333] {
|
|
1427
1436
|
min-block-size: calc(var(--ui-control-size-sm) - 2px);
|
|
1428
1437
|
padding: var(--ui-space-1) var(--ui-space-2);
|
|
1429
1438
|
}
|
|
1430
|
-
button[data-v-
|
|
1439
|
+
button[data-v-1482f333] {
|
|
1431
1440
|
appearance: none;
|
|
1432
1441
|
display: inline-grid;
|
|
1433
1442
|
place-items: center;
|
|
@@ -1442,31 +1451,31 @@ button[data-v-7616cc1c] {
|
|
|
1442
1451
|
padding: 0 var(--ui-space-1);
|
|
1443
1452
|
cursor: pointer;
|
|
1444
1453
|
}
|
|
1445
|
-
.affordance-icon[data-v-
|
|
1454
|
+
.affordance-icon[data-v-1482f333] {
|
|
1446
1455
|
display: block;
|
|
1447
1456
|
inline-size: var(--ui-icon-size-sm);
|
|
1448
1457
|
block-size: var(--ui-icon-size-sm);
|
|
1449
1458
|
}
|
|
1450
|
-
button[data-v-
|
|
1459
|
+
button[data-v-1482f333]:hover:enabled {
|
|
1451
1460
|
background: var(--ui-surface-muted);
|
|
1452
1461
|
color: var(--ui-text-primary);
|
|
1453
1462
|
}
|
|
1454
|
-
button[data-v-
|
|
1463
|
+
button[data-v-1482f333]:focus-visible {
|
|
1455
1464
|
outline: none;
|
|
1456
1465
|
background: var(--ui-surface-muted);
|
|
1457
1466
|
box-shadow: inset 0 0 0 2px color-mix(in srgb, var(--ui-focus-ring) 45%, transparent);
|
|
1458
1467
|
}
|
|
1459
|
-
input[data-v-
|
|
1468
|
+
input[data-v-1482f333]:disabled, button[data-v-1482f333]:disabled {
|
|
1460
1469
|
color: var(--ui-disabled-text);
|
|
1461
1470
|
cursor: not-allowed;
|
|
1462
1471
|
}
|
|
1463
|
-
.field[data-v-
|
|
1472
|
+
.field[data-v-1482f333]:has(input:disabled) {
|
|
1464
1473
|
background: var(--ui-control-surface-disabled, var(--ui-surface-muted));
|
|
1465
1474
|
}
|
|
1466
|
-
[data-component~="ui-combobox"][data-ui-combobox-state~="validationStatus=error"] .field[data-v-
|
|
1475
|
+
[data-component~="ui-combobox"][data-ui-combobox-state~="validationStatus=error"] .field[data-v-1482f333] {
|
|
1467
1476
|
border-color: var(--ui-danger-solid, var(--ui-accent-active));
|
|
1468
1477
|
}
|
|
1469
|
-
.popup[data-v-
|
|
1478
|
+
.popup[data-v-1482f333] {
|
|
1470
1479
|
box-sizing: border-box;
|
|
1471
1480
|
min-inline-size: 12rem;
|
|
1472
1481
|
max-inline-size: calc(100vw - 1rem);
|
|
@@ -1480,40 +1489,40 @@ input[data-v-7616cc1c]:disabled, button[data-v-7616cc1c]:disabled {
|
|
|
1480
1489
|
color: var(--ui-text-primary);
|
|
1481
1490
|
box-shadow: var(--ui-elevation-overlay, var(--ui-shadow-lg));
|
|
1482
1491
|
}
|
|
1483
|
-
[hidden][data-v-
|
|
1492
|
+
[hidden][data-v-1482f333] {
|
|
1484
1493
|
display: none;
|
|
1485
1494
|
}
|
|
1486
|
-
.option[data-v-
|
|
1495
|
+
.option[data-v-1482f333] {
|
|
1487
1496
|
padding: var(--ui-space-2) var(--ui-space-3);
|
|
1488
1497
|
border-radius: var(--ui-radius-sm);
|
|
1489
1498
|
cursor: pointer;
|
|
1490
1499
|
overflow-wrap: anywhere;
|
|
1491
1500
|
}
|
|
1492
|
-
.option[data-v-
|
|
1501
|
+
.option[data-v-1482f333]:hover, .option.active[data-v-1482f333] {
|
|
1493
1502
|
background: var(--ui-surface-muted);
|
|
1494
1503
|
outline: 1px solid var(--ui-focus-ring);
|
|
1495
1504
|
outline-offset: -1px;
|
|
1496
1505
|
}
|
|
1497
|
-
.option[aria-disabled="true"][data-v-
|
|
1506
|
+
.option[aria-disabled="true"][data-v-1482f333] {
|
|
1498
1507
|
color: var(--ui-disabled-text);
|
|
1499
1508
|
cursor: not-allowed;
|
|
1500
1509
|
}
|
|
1501
|
-
.primary[data-v-
|
|
1510
|
+
.primary[data-v-1482f333] {
|
|
1502
1511
|
display: block;
|
|
1503
1512
|
color: var(--_ui-combobox-option-text, var(--ui-text-primary));
|
|
1504
1513
|
font-weight: 500;
|
|
1505
1514
|
}
|
|
1506
|
-
.message[data-v-
|
|
1515
|
+
.message[data-v-1482f333], .group[data-v-1482f333] {
|
|
1507
1516
|
color: var(--_ui-combobox-message-text, var(--ui-text-secondary));
|
|
1508
1517
|
font-weight: 400;
|
|
1509
1518
|
font-size: var(--ui-font-size-sm);
|
|
1510
1519
|
line-height: var(--ui-line-height-md);
|
|
1511
1520
|
overflow-wrap: anywhere;
|
|
1512
1521
|
}
|
|
1513
|
-
.group[data-v-
|
|
1522
|
+
.group[data-v-1482f333], .popup .message[data-v-1482f333] {
|
|
1514
1523
|
padding: var(--ui-space-2) var(--ui-space-3);
|
|
1515
1524
|
}
|
|
1516
|
-
.sr-only[data-v-
|
|
1525
|
+
.sr-only[data-v-1482f333] {
|
|
1517
1526
|
position: absolute;
|
|
1518
1527
|
inline-size: 1px;
|
|
1519
1528
|
block-size: 1px;
|
|
@@ -1522,16 +1531,16 @@ input[data-v-7616cc1c]:disabled, button[data-v-7616cc1c]:disabled {
|
|
|
1522
1531
|
white-space: nowrap;
|
|
1523
1532
|
}
|
|
1524
1533
|
@media (pointer: coarse) {
|
|
1525
|
-
button[data-v-
|
|
1534
|
+
button[data-v-1482f333] {
|
|
1526
1535
|
min-inline-size: 2.75rem;
|
|
1527
1536
|
min-block-size: 2.75rem;
|
|
1528
1537
|
}
|
|
1529
1538
|
}
|
|
1530
1539
|
@media (forced-colors: active) {
|
|
1531
|
-
.field[data-v-
|
|
1540
|
+
.field[data-v-1482f333], .popup[data-v-1482f333] {
|
|
1532
1541
|
border-color: CanvasText;
|
|
1533
1542
|
}
|
|
1534
|
-
.option.active[data-v-
|
|
1543
|
+
.option.active[data-v-1482f333] {
|
|
1535
1544
|
outline-color: Highlight;
|
|
1536
1545
|
}
|
|
1537
1546
|
}
|
|
@@ -1539,12 +1548,12 @@ button[data-v-7616cc1c] {
|
|
|
1539
1548
|
/* Multiple mode: every option carries a checkbox, so a list that takes several answers says so
|
|
1540
1549
|
before anything is picked. aria-selected is the state; this draws it.
|
|
1541
1550
|
Longhands, not shorthands: lowering drops a shorthand that omits a component. */
|
|
1542
|
-
[data-component~="ui-combobox"][data-ui-combobox-state~="multiple"] .option[data-v-
|
|
1551
|
+
[data-component~="ui-combobox"][data-ui-combobox-state~="multiple"] .option[data-v-1482f333] {
|
|
1543
1552
|
display: flex;
|
|
1544
1553
|
gap: var(--ui-space-2);
|
|
1545
1554
|
align-items: center;
|
|
1546
1555
|
}
|
|
1547
|
-
[data-component~="ui-combobox"][data-ui-combobox-state~="multiple"] .option[data-v-
|
|
1556
|
+
[data-component~="ui-combobox"][data-ui-combobox-state~="multiple"] .option[data-v-1482f333]::before {
|
|
1548
1557
|
content: "";
|
|
1549
1558
|
flex: none;
|
|
1550
1559
|
inline-size: 1.125rem;
|
|
@@ -1559,7 +1568,7 @@ button[data-v-7616cc1c] {
|
|
|
1559
1568
|
background-size: 0.7rem;
|
|
1560
1569
|
}
|
|
1561
1570
|
[data-component~="ui-combobox"][data-ui-combobox-state~="multiple"]
|
|
1562
|
-
.option[aria-selected="true"][data-v-
|
|
1571
|
+
.option[aria-selected="true"][data-v-1482f333]::before {
|
|
1563
1572
|
border-color: var(--ui-accent-solid);
|
|
1564
1573
|
background-color: var(--ui-accent-solid);
|
|
1565
1574
|
background-image: var(
|
|
@@ -1569,20 +1578,20 @@ button[data-v-7616cc1c] {
|
|
|
1569
1578
|
}
|
|
1570
1579
|
|
|
1571
1580
|
/* Multiple mode: chips wrap before the cursor on one flexible field line. */
|
|
1572
|
-
[data-component~="ui-combobox"][data-ui-combobox-state~="multiple"] .field[data-v-
|
|
1581
|
+
[data-component~="ui-combobox"][data-ui-combobox-state~="multiple"] .field[data-v-1482f333] {
|
|
1573
1582
|
flex-wrap: wrap;
|
|
1574
1583
|
align-items: center;
|
|
1575
1584
|
gap: var(--ui-space-1);
|
|
1576
1585
|
min-block-size: var(--_ui-combobox-item-min-block-size, 2.5rem);
|
|
1577
1586
|
padding: var(--ui-space-1);
|
|
1578
1587
|
}
|
|
1579
|
-
[data-component~="ui-combobox"][data-ui-combobox-state~="multiple"] input[data-v-
|
|
1588
|
+
[data-component~="ui-combobox"][data-ui-combobox-state~="multiple"] input[data-v-1482f333] {
|
|
1580
1589
|
flex: 1 0 var(--_ui-combobox-item-input-min-inline-size, 5rem);
|
|
1581
1590
|
width: auto;
|
|
1582
1591
|
min-block-size: 1.75rem;
|
|
1583
1592
|
padding: var(--ui-space-0-5) var(--ui-space-1);
|
|
1584
1593
|
}
|
|
1585
|
-
.item[data-v-
|
|
1594
|
+
.item[data-v-1482f333] {
|
|
1586
1595
|
appearance: none;
|
|
1587
1596
|
display: inline-flex;
|
|
1588
1597
|
min-inline-size: 0;
|
|
@@ -1596,16 +1605,16 @@ button[data-v-7616cc1c] {
|
|
|
1596
1605
|
font: inherit;
|
|
1597
1606
|
cursor: default;
|
|
1598
1607
|
}
|
|
1599
|
-
.item[data-v-
|
|
1608
|
+
.item[data-v-1482f333]:focus-visible {
|
|
1600
1609
|
outline: 2px solid var(--ui-focus-ring);
|
|
1601
1610
|
outline-offset: 1px;
|
|
1602
1611
|
}
|
|
1603
|
-
.item[data-v-
|
|
1612
|
+
.item[data-v-1482f333]:disabled {
|
|
1604
1613
|
opacity: 0.6;
|
|
1605
1614
|
}
|
|
1606
1615
|
|
|
1607
1616
|
/* A component that sets its display still honours the hidden attribute on its root. */
|
|
1608
|
-
[data-component~="ui-combobox"][hidden][data-v-
|
|
1617
|
+
[data-component~="ui-combobox"][hidden][data-v-1482f333] {
|
|
1609
1618
|
display: none;
|
|
1610
1619
|
}
|
|
1611
1620
|
|
|
@@ -3484,7 +3493,7 @@ svg[data-v-03a5b772-s] {
|
|
|
3484
3493
|
syntax: "*";
|
|
3485
3494
|
inherits: false;
|
|
3486
3495
|
}
|
|
3487
|
-
[data-component~="ui-icon-button"][data-v-
|
|
3496
|
+
[data-component~="ui-icon-button"][data-v-006fa1b2] {
|
|
3488
3497
|
/* Hooks do not inherit, so the parts below read them from the root. */
|
|
3489
3498
|
--_ui-icon-button-icon-size: var(--ui-icon-button-icon-size);
|
|
3490
3499
|
--_ui-icon-button-icon-stroke-width: var(--ui-icon-button-icon-stroke-width);
|
|
@@ -3492,10 +3501,10 @@ svg[data-v-03a5b772-s] {
|
|
|
3492
3501
|
display: inline-flex;
|
|
3493
3502
|
color: var(--ui-text-secondary);
|
|
3494
3503
|
}
|
|
3495
|
-
[data-component~="ui-icon-button"][data-ui-icon-button-state~="anticipatory"][data-v-
|
|
3504
|
+
[data-component~="ui-icon-button"][data-ui-icon-button-state~="anticipatory"][data-v-006fa1b2] {
|
|
3496
3505
|
position: relative;
|
|
3497
3506
|
}
|
|
3498
|
-
[data-component~="ui-icon-button"][data-ui-icon-button-state~="anticipatory"][data-v-
|
|
3507
|
+
[data-component~="ui-icon-button"][data-ui-icon-button-state~="anticipatory"][data-v-006fa1b2]::before {
|
|
3499
3508
|
content: "";
|
|
3500
3509
|
position: absolute;
|
|
3501
3510
|
inset: 50% auto auto 50%;
|
|
@@ -3514,17 +3523,17 @@ svg[data-v-03a5b772-s] {
|
|
|
3514
3523
|
* surface and icon. The root is the native button, so hiding it outright would hide the dot
|
|
3515
3524
|
* too, and slotted icons sit outside this scope; `color: transparent` hides currentColor icons. */
|
|
3516
3525
|
@media (hover: hover) and (pointer: fine) {
|
|
3517
|
-
[data-component~="ui-icon-button"][data-ui-icon-button-state~="anticipatory"][data-v-
|
|
3526
|
+
[data-component~="ui-icon-button"][data-ui-icon-button-state~="anticipatory"][data-v-006fa1b2]:not([data-component~="ui-icon-button"][data-ui-icon-button-state~="variant=solid"], [data-ui-proximity="near"], :hover, :focus-visible) {
|
|
3518
3527
|
border-color: transparent;
|
|
3519
3528
|
background: transparent;
|
|
3520
3529
|
box-shadow: none;
|
|
3521
3530
|
color: transparent;
|
|
3522
3531
|
}
|
|
3523
3532
|
}
|
|
3524
|
-
[data-component~="ui-icon-button"][data-ui-icon-button-state~="anticipatory"][data-v-
|
|
3533
|
+
[data-component~="ui-icon-button"][data-ui-icon-button-state~="anticipatory"][data-v-006fa1b2]:is([data-component~="ui-icon-button"][data-ui-icon-button-state~="variant=solid"], [data-ui-proximity="near"], :hover, :focus-visible)::before {
|
|
3525
3534
|
opacity: 0;
|
|
3526
3535
|
}
|
|
3527
|
-
[data-component~="ui-icon-button"][data-v-
|
|
3536
|
+
[data-component~="ui-icon-button"][data-v-006fa1b2] {
|
|
3528
3537
|
/* The size prop resolves here; --ui-icon-button-size overrides it on an element. */
|
|
3529
3538
|
--_size: 2rem;
|
|
3530
3539
|
appearance: none;
|
|
@@ -3550,7 +3559,7 @@ svg[data-v-03a5b772-s] {
|
|
|
3550
3559
|
transform var(--ui-motion-fast) var(--ui-motion-ease);
|
|
3551
3560
|
}
|
|
3552
3561
|
@media (hover: none), (pointer: coarse) {
|
|
3553
|
-
[data-component~="ui-icon-button"][data-ui-icon-button-state~="anticipatory"][data-v-
|
|
3562
|
+
[data-component~="ui-icon-button"][data-ui-icon-button-state~="anticipatory"][data-v-006fa1b2]::before {
|
|
3554
3563
|
opacity: 0;
|
|
3555
3564
|
}
|
|
3556
3565
|
}
|
|
@@ -3558,10 +3567,10 @@ svg[data-v-03a5b772-s] {
|
|
|
3558
3567
|
/* A touch target without a bigger button: an invisible hit area, at least the control
|
|
3559
3568
|
minimum, centred on the button (::before is the anticipatory guide). */
|
|
3560
3569
|
@media (pointer: coarse) {
|
|
3561
|
-
[data-component~="ui-icon-button"][data-v-
|
|
3570
|
+
[data-component~="ui-icon-button"][data-v-006fa1b2] {
|
|
3562
3571
|
position: relative;
|
|
3563
3572
|
}
|
|
3564
|
-
[data-component~="ui-icon-button"][data-v-
|
|
3573
|
+
[data-component~="ui-icon-button"][data-v-006fa1b2]::after {
|
|
3565
3574
|
content: "";
|
|
3566
3575
|
position: absolute;
|
|
3567
3576
|
inset: 50% auto auto 50%;
|
|
@@ -3570,10 +3579,10 @@ svg[data-v-03a5b772-s] {
|
|
|
3570
3579
|
transform: translate(-50%, -50%);
|
|
3571
3580
|
}
|
|
3572
3581
|
}
|
|
3573
|
-
html[data-ui-input-modality="touch"] [data-component~="ui-icon-button"][data-v-
|
|
3582
|
+
html[data-ui-input-modality="touch"] [data-component~="ui-icon-button"][data-v-006fa1b2] {
|
|
3574
3583
|
position: relative;
|
|
3575
3584
|
}
|
|
3576
|
-
html[data-ui-input-modality="touch"] [data-component~="ui-icon-button"][data-v-
|
|
3585
|
+
html[data-ui-input-modality="touch"] [data-component~="ui-icon-button"][data-v-006fa1b2]::after {
|
|
3577
3586
|
content: "";
|
|
3578
3587
|
position: absolute;
|
|
3579
3588
|
inset: 50% auto auto 50%;
|
|
@@ -3581,29 +3590,29 @@ html[data-ui-input-modality="touch"] [data-component~="ui-icon-button"][data-v-a
|
|
|
3581
3590
|
block-size: max(100%, var(--ui-control-min-block-size));
|
|
3582
3591
|
transform: translate(-50%, -50%);
|
|
3583
3592
|
}
|
|
3584
|
-
[data-component~="ui-icon-button"][data-ui-icon-button-state~="size=sm"][data-v-
|
|
3593
|
+
[data-component~="ui-icon-button"][data-ui-icon-button-state~="size=sm"][data-v-006fa1b2] {
|
|
3585
3594
|
--_size: 1.75rem;
|
|
3586
3595
|
inline-size: var(--ui-icon-button-size, var(--_size));
|
|
3587
3596
|
block-size: var(--ui-icon-button-size, var(--_size));
|
|
3588
3597
|
min-inline-size: var(--ui-icon-button-size, var(--_size));
|
|
3589
3598
|
min-block-size: var(--ui-icon-button-size, var(--_size));
|
|
3590
3599
|
}
|
|
3591
|
-
[data-component~="ui-icon-button"][data-ui-icon-button-state~="size=lg"][data-v-
|
|
3600
|
+
[data-component~="ui-icon-button"][data-ui-icon-button-state~="size=lg"][data-v-006fa1b2] {
|
|
3592
3601
|
--_size: 2.5rem;
|
|
3593
3602
|
inline-size: var(--ui-icon-button-size, var(--_size));
|
|
3594
3603
|
block-size: var(--ui-icon-button-size, var(--_size));
|
|
3595
3604
|
min-inline-size: var(--ui-icon-button-size, var(--_size));
|
|
3596
3605
|
min-block-size: var(--ui-icon-button-size, var(--_size));
|
|
3597
3606
|
}
|
|
3598
|
-
[data-component~="ui-icon-button"][data-ui-icon-button-state~="round"][data-v-
|
|
3607
|
+
[data-component~="ui-icon-button"][data-ui-icon-button-state~="round"][data-v-006fa1b2] {
|
|
3599
3608
|
border-radius: var(--ui-radius-round);
|
|
3600
3609
|
}
|
|
3601
|
-
[data-component~="ui-icon-button"][data-ui-icon-button-state~="variant=outline"][data-v-
|
|
3610
|
+
[data-component~="ui-icon-button"][data-ui-icon-button-state~="variant=outline"][data-v-006fa1b2] {
|
|
3602
3611
|
border-color: var(--ui-icon-button-border, var(--ui-border-default));
|
|
3603
3612
|
background: var(--ui-icon-button-outline-surface, var(--ui-surface-default));
|
|
3604
3613
|
color: var(--ui-icon-button-outline-text, var(--ui-text-primary));
|
|
3605
3614
|
}
|
|
3606
|
-
[data-component~="ui-icon-button"][data-ui-icon-button-state~="variant=solid"][data-v-
|
|
3615
|
+
[data-component~="ui-icon-button"][data-ui-icon-button-state~="variant=solid"][data-v-006fa1b2] {
|
|
3607
3616
|
background: var(--ui-icon-button-solid-surface, var(--ui-accent-solid));
|
|
3608
3617
|
color: var(--ui-icon-button-solid-text, var(--ui-text-on-accent));
|
|
3609
3618
|
box-shadow: var(
|
|
@@ -3611,43 +3620,47 @@ html[data-ui-input-modality="touch"] [data-component~="ui-icon-button"][data-v-a
|
|
|
3611
3620
|
0 1px 2px color-mix(in srgb, var(--ui-accent-solid) 18%, transparent)
|
|
3612
3621
|
);
|
|
3613
3622
|
}
|
|
3614
|
-
[data-component~="ui-icon-button"][data-v-
|
|
3623
|
+
[data-component~="ui-icon-button"][data-v-006fa1b2]:hover:enabled {
|
|
3615
3624
|
/* Derived from the text colour so the ghost hover shows on any background. */
|
|
3616
3625
|
background: var(--ui-icon-button-hover-surface, color-mix(in srgb, currentColor 8%, transparent));
|
|
3617
3626
|
color: var(--ui-icon-button-hover-text, var(--ui-text-primary));
|
|
3618
3627
|
}
|
|
3619
|
-
[data-component~="ui-icon-button"][data-ui-icon-button-state~="variant=outline"][data-v-
|
|
3628
|
+
[data-component~="ui-icon-button"][data-ui-icon-button-state~="variant=outline"][data-v-006fa1b2]:hover:enabled {
|
|
3620
3629
|
border-color: var(--ui-icon-button-hover-border, var(--ui-border-strong));
|
|
3621
3630
|
}
|
|
3622
|
-
[data-component~="ui-icon-button"][data-ui-icon-button-state~="variant=solid"][data-v-
|
|
3631
|
+
[data-component~="ui-icon-button"][data-ui-icon-button-state~="variant=solid"][data-v-006fa1b2]:hover:enabled {
|
|
3623
3632
|
background: var(--ui-icon-button-solid-hover-surface, var(--ui-accent-hover));
|
|
3624
3633
|
}
|
|
3625
|
-
[data-component~="ui-icon-button"][data-v-
|
|
3634
|
+
[data-component~="ui-icon-button"][data-v-006fa1b2]:active:enabled {
|
|
3626
3635
|
transform: scale(var(--ui-icon-button-active-scale, 0.96));
|
|
3627
3636
|
}
|
|
3628
|
-
[data-component~="ui-icon-button"][data-v-
|
|
3637
|
+
[data-component~="ui-icon-button"][data-v-006fa1b2]:focus-visible {
|
|
3629
3638
|
outline: none;
|
|
3630
3639
|
box-shadow: var(--ui-focus-halo);
|
|
3631
3640
|
}
|
|
3632
3641
|
|
|
3633
3642
|
/* Disabled colours fall back to each variant's own; ghost takes only the icon colour. */
|
|
3634
3643
|
/* Disabled washes the button out the way Button does: the same shape, one filter. */
|
|
3635
|
-
[data-component~="ui-icon-button"][data-v-
|
|
3644
|
+
[data-component~="ui-icon-button"][data-v-006fa1b2]:disabled {
|
|
3636
3645
|
filter: var(--ui-icon-button-disabled-filter, var(--ui-disabled-filter));
|
|
3637
3646
|
opacity: var(--ui-icon-button-disabled-opacity, 1);
|
|
3638
3647
|
cursor: not-allowed;
|
|
3639
3648
|
box-shadow: none;
|
|
3640
3649
|
}
|
|
3641
|
-
[data-component~="ui-icon-button"][data-v-
|
|
3650
|
+
[data-component~="ui-icon-button"][data-v-006fa1b2] {
|
|
3642
3651
|
--_icon-button-icon-default: var(--ui-icon-size-md);
|
|
3652
|
+
/* A slotted ui-icon is its own component, out of reach of the svg rule below; these are its
|
|
3653
|
+
defaults, which its own --ui-icon-* hooks still override. */
|
|
3654
|
+
--_ui-default-icon-size: var(--_ui-icon-button-icon-size, var(--_icon-button-icon-default));
|
|
3655
|
+
--_ui-default-icon-stroke-width: var(--_ui-icon-button-icon-stroke-width, 1.75);
|
|
3643
3656
|
}
|
|
3644
|
-
[data-component~="ui-icon-button"][data-ui-icon-button-state~="size=sm"][data-v-
|
|
3657
|
+
[data-component~="ui-icon-button"][data-ui-icon-button-state~="size=sm"][data-v-006fa1b2] {
|
|
3645
3658
|
--_icon-button-icon-default: var(--ui-icon-size-sm);
|
|
3646
3659
|
}
|
|
3647
|
-
[data-component~="ui-icon-button"][data-ui-icon-button-state~="size=lg"][data-v-
|
|
3660
|
+
[data-component~="ui-icon-button"][data-ui-icon-button-state~="size=lg"][data-v-006fa1b2] {
|
|
3648
3661
|
--_icon-button-icon-default: var(--ui-icon-size-lg);
|
|
3649
3662
|
}
|
|
3650
|
-
svg[data-v-
|
|
3663
|
+
svg[data-v-006fa1b2-s] {
|
|
3651
3664
|
inline-size: var(--_ui-icon-button-icon-size, var(--_icon-button-icon-default));
|
|
3652
3665
|
block-size: var(--_ui-icon-button-icon-size, var(--_icon-button-icon-default));
|
|
3653
3666
|
flex-shrink: 0;
|
|
@@ -3655,7 +3668,7 @@ svg[data-v-a20a82b7-s] {
|
|
|
3655
3668
|
}
|
|
3656
3669
|
|
|
3657
3670
|
/* A component that sets its display still honours the hidden attribute on its root. */
|
|
3658
|
-
[data-component~="ui-icon-button"][hidden][data-v-
|
|
3671
|
+
[data-component~="ui-icon-button"][hidden][data-v-006fa1b2] {
|
|
3659
3672
|
display: none;
|
|
3660
3673
|
}
|
|
3661
3674
|
|