@threadlabs/looma 0.6.5 → 0.7.0
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-button/ui-button.html +103 -81
- package/components/ui-checkbox/ui-checkbox.html +4 -1
- package/components/ui-combobox/ui-combobox.html +40 -3
- package/components/ui-combobox/ui-combobox.js +27 -5
- package/components/ui-select/ui-select.html +3 -5
- package/dist/index.js +1 -1
- package/package.json +1 -1
- package/styles/ui-button.css +111 -79
- package/styles/ui-checkbox.css +4 -1
- package/styles/ui-combobox.css +37 -0
- package/styles/ui-select.css +3 -4
- package/theme-dark.css +6 -30
- package/theme-high-contrast.css +30 -20
- package/theme-light.css +2 -16
- package/tokens.css +33 -24
- package/vanilla/UiButton.d.ts +1 -1
- package/vanilla/UiButton.js +1 -1
- package/vanilla/UiCombobox.js +1 -1
- package/vanilla/UiSelect.d.ts +0 -1
- package/vanilla/UiSelect.js +3 -6
- package/vue/UiButton.d.ts +2 -2
- package/vue/UiButton.vue +103 -96
- package/vue/UiCheckbox.vue +4 -1
- package/vue/UiCombobox.vue +46 -4
- package/vue/UiSelect.d.ts +0 -2
- package/vue/UiSelect.vue +2 -6
- package/vue/chunks/UiButton.js +3 -3
- package/vue/chunks/UiCheckbox.js +1 -1
- package/vue/chunks/UiCombobox.js +2 -2
- package/vue/chunks/UiSelect.js +1 -7
- package/vue/components.css +236 -189
package/vue/components.css
CHANGED
|
@@ -204,197 +204,210 @@
|
|
|
204
204
|
display: none;
|
|
205
205
|
}
|
|
206
206
|
|
|
207
|
-
[data-component~="ui-button"][data-v-
|
|
207
|
+
[data-component~="ui-button"][data-v-8513eb5d] {
|
|
208
|
+
--_hue: var(--ui-accent);
|
|
209
|
+
--_hue-hover: var(--ui-accent-hover);
|
|
210
|
+
--_hue-active: var(--ui-accent-active);
|
|
211
|
+
--_hue-text: var(--ui-accent-active);
|
|
212
|
+
--_on-hue: var(--ui-on-accent);
|
|
213
|
+
|
|
214
|
+
--_tone: var(--_hue);
|
|
215
|
+
--_tone-hover: var(--_hue-hover);
|
|
216
|
+
--_tone-active: var(--_hue-active);
|
|
217
|
+
--_tone-text: var(--_hue-text);
|
|
218
|
+
--_on-tone: var(--_on-hue);
|
|
219
|
+
|
|
208
220
|
display: inline-flex;
|
|
209
221
|
align-items: center;
|
|
210
222
|
justify-content: center;
|
|
211
223
|
vertical-align: middle;
|
|
212
|
-
color: var(--
|
|
213
|
-
}
|
|
214
|
-
[data-component~="ui-button"][data-ui-button-state~="variant=solid"][data-v-4fd0ad7f] {
|
|
215
|
-
color: var(--ui-action-primary-text, var(--ui-text-on-accent));
|
|
224
|
+
color: var(--_tone-text);
|
|
216
225
|
}
|
|
217
|
-
[data-component~="ui-button"][data-ui-button-state~="align=start"][data-v-
|
|
226
|
+
[data-component~="ui-button"][data-ui-button-state~="align=start"][data-v-8513eb5d] {
|
|
218
227
|
justify-content: flex-start;
|
|
219
228
|
text-align: start;
|
|
220
229
|
}
|
|
221
|
-
[data-component~="ui-button"][data-ui-button-state~="stretch"][data-v-
|
|
230
|
+
[data-component~="ui-button"][data-ui-button-state~="stretch"][data-v-8513eb5d] {
|
|
222
231
|
display: flex;
|
|
223
232
|
inline-size: 100%;
|
|
224
233
|
}
|
|
225
|
-
[data-component~="ui-button"][data-v-
|
|
234
|
+
[data-component~="ui-button"][data-v-8513eb5d] {
|
|
226
235
|
appearance: none;
|
|
227
236
|
min-block-size: var(--ui-button-min-block-size, var(--ui-control-size-md));
|
|
228
|
-
border:
|
|
237
|
+
border-style: solid;
|
|
238
|
+
border-width: 1px;
|
|
239
|
+
border-color: var(--ui-button-border, var(--_tone));
|
|
229
240
|
border-radius: var(--ui-button-radius, var(--ui-radius-md));
|
|
230
|
-
background: var(--ui-button-surface, var(--
|
|
231
|
-
color: var(--ui-button-text, var(--
|
|
241
|
+
background-color: var(--ui-button-surface, oklch(from var(--_tone) l c h / 5%));
|
|
242
|
+
color: var(--ui-button-text, var(--_tone-text));
|
|
232
243
|
font: inherit;
|
|
233
244
|
font-weight: var(--ui-font-medium);
|
|
234
245
|
line-height: var(--ui-line-height-tight);
|
|
235
246
|
padding: var(--ui-space-2) var(--ui-space-3);
|
|
236
247
|
background-image: var(--ui-raised-highlight);
|
|
237
|
-
box-shadow: var(--ui-button-shadow, var(--ui-raised
|
|
248
|
+
box-shadow: var(--ui-button-shadow, var(--ui-raised));
|
|
238
249
|
cursor: pointer;
|
|
239
250
|
transition:
|
|
240
251
|
background-color var(--ui-motion-fast) var(--ui-motion-ease),
|
|
241
252
|
border-color var(--ui-motion-fast) var(--ui-motion-ease),
|
|
242
253
|
color var(--ui-motion-fast) var(--ui-motion-ease),
|
|
243
|
-
box-shadow var(--ui-motion-fast) var(--ui-motion-ease)
|
|
244
|
-
transform var(--ui-motion-fast) var(--ui-motion-ease);
|
|
254
|
+
box-shadow var(--ui-motion-fast) var(--ui-motion-ease);
|
|
245
255
|
margin: 0;
|
|
246
256
|
}
|
|
247
257
|
@supports (text-box-trim: trim-both) {
|
|
248
|
-
[data-component~="ui-button"][data-v-
|
|
258
|
+
[data-component~="ui-button"][data-v-8513eb5d] {
|
|
249
259
|
text-box-trim: trim-both;
|
|
250
260
|
text-box-edge: cap alphabetic;
|
|
251
261
|
}
|
|
252
262
|
}
|
|
253
|
-
[data-component~="ui-button"][data-ui-button-state~="size=sm"][data-v-
|
|
263
|
+
[data-component~="ui-button"][data-ui-button-state~="size=sm"][data-v-8513eb5d] {
|
|
254
264
|
min-block-size: var(--ui-control-size-sm);
|
|
255
265
|
padding: var(--ui-space-1) var(--ui-space-2);
|
|
256
266
|
font-size: 0.875rem;
|
|
257
267
|
}
|
|
258
|
-
[data-component~="ui-button"][data-ui-button-state~="size=lg"][data-v-
|
|
268
|
+
[data-component~="ui-button"][data-ui-button-state~="size=lg"][data-v-8513eb5d] {
|
|
259
269
|
min-block-size: var(--ui-control-size-lg);
|
|
260
270
|
padding: var(--ui-space-3) var(--ui-space-4);
|
|
261
271
|
font-size: 1rem;
|
|
262
272
|
}
|
|
263
|
-
[data-component~="ui-button"][data-v-
|
|
264
|
-
|
|
265
|
-
|
|
266
|
-
}
|
|
267
|
-
|
|
268
|
-
|
|
269
|
-
|
|
270
|
-
|
|
271
|
-
|
|
272
|
-
|
|
273
|
-
|
|
274
|
-
|
|
275
|
-
|
|
276
|
-
|
|
277
|
-
|
|
278
|
-
);
|
|
279
|
-
|
|
280
|
-
|
|
281
|
-
|
|
282
|
-
|
|
283
|
-
|
|
284
|
-
|
|
285
|
-
|
|
286
|
-
|
|
287
|
-
|
|
288
|
-
|
|
289
|
-
box-shadow:
|
|
290
|
-
|
|
291
|
-
|
|
292
|
-
|
|
293
|
-
|
|
294
|
-
|
|
295
|
-
|
|
296
|
-
|
|
297
|
-
|
|
298
|
-
|
|
299
|
-
|
|
300
|
-
|
|
301
|
-
|
|
302
|
-
[data-component~="ui-button"][data-ui-button-state~="variant=danger"][data-v-
|
|
303
|
-
|
|
304
|
-
|
|
305
|
-
|
|
306
|
-
|
|
307
|
-
|
|
308
|
-
|
|
309
|
-
|
|
310
|
-
|
|
311
|
-
|
|
312
|
-
|
|
313
|
-
|
|
314
|
-
|
|
315
|
-
|
|
316
|
-
|
|
317
|
-
|
|
318
|
-
|
|
319
|
-
|
|
320
|
-
|
|
321
|
-
|
|
322
|
-
|
|
323
|
-
|
|
324
|
-
|
|
325
|
-
);
|
|
326
|
-
|
|
327
|
-
|
|
328
|
-
|
|
329
|
-
}
|
|
330
|
-
[data-component~="ui-button"][data-ui-button-state~="variant=ghost"][data-v-
|
|
273
|
+
[data-component~="ui-button"][data-v-8513eb5d]:hover:enabled {
|
|
274
|
+
border-color: var(--ui-button-hover-border, var(--_tone-hover));
|
|
275
|
+
background-color: var(--ui-button-hover-surface, oklch(from var(--_tone) l c h / 12%));
|
|
276
|
+
}
|
|
277
|
+
|
|
278
|
+
/* Pressed reads as pressed in: the highlight goes, and the shadow moves inside. */
|
|
279
|
+
[data-component~="ui-button"][data-v-8513eb5d]:active:enabled {
|
|
280
|
+
background-color: var(--ui-button-active-surface, oklch(from var(--_tone) l c h / 18%));
|
|
281
|
+
background-image: none;
|
|
282
|
+
box-shadow: var(--ui-pressed);
|
|
283
|
+
}
|
|
284
|
+
[data-component~="ui-button"][data-ui-button-state~="variant=solid"][data-v-8513eb5d],
|
|
285
|
+
[data-component~="ui-button"][data-ui-button-state~="variant=danger"][data-v-8513eb5d] {
|
|
286
|
+
border-color: var(--_tone);
|
|
287
|
+
background-color: var(--_tone);
|
|
288
|
+
color: var(--_on-tone);
|
|
289
|
+
box-shadow: var(--ui-button-solid-shadow, var(--ui-raised));
|
|
290
|
+
}
|
|
291
|
+
:is([data-component~="ui-button"][data-ui-button-state~="variant=solid"][data-v-8513eb5d], [data-component~="ui-button"][data-ui-button-state~="variant=danger"][data-v-8513eb5d]):hover:enabled {
|
|
292
|
+
background-color: var(--_tone-hover);
|
|
293
|
+
border-color: var(--_tone-hover);
|
|
294
|
+
}
|
|
295
|
+
:is([data-component~="ui-button"][data-ui-button-state~="variant=solid"][data-v-8513eb5d], [data-component~="ui-button"][data-ui-button-state~="variant=danger"][data-v-8513eb5d]):active:enabled {
|
|
296
|
+
background-color: var(--_tone-active);
|
|
297
|
+
border-color: var(--_tone-active);
|
|
298
|
+
background-image: none;
|
|
299
|
+
box-shadow: var(--ui-pressed);
|
|
300
|
+
}
|
|
301
|
+
|
|
302
|
+
/* Tone is the colour, variant is the volume. Every pairing works: a danger outline is a
|
|
303
|
+
destructive secondary action, not a special case. */
|
|
304
|
+
[data-component~="ui-button"][data-ui-button-state~="tone=neutral"][data-v-8513eb5d] {
|
|
305
|
+
--_hue: var(--ui-text);
|
|
306
|
+
--_hue-hover: var(--ui-text);
|
|
307
|
+
--_hue-active: var(--ui-text);
|
|
308
|
+
--_hue-text: var(--ui-text);
|
|
309
|
+
--_on-hue: var(--ui-surface);
|
|
310
|
+
}
|
|
311
|
+
[data-component~="ui-button"][data-ui-button-state~="tone=danger"][data-v-8513eb5d],
|
|
312
|
+
[data-component~="ui-button"][data-ui-button-state~="variant=danger"][data-v-8513eb5d] {
|
|
313
|
+
--_hue: var(--ui-danger);
|
|
314
|
+
--_hue-hover: var(--ui-danger-hover);
|
|
315
|
+
--_hue-active: var(--ui-danger-hover);
|
|
316
|
+
--_hue-text: var(--ui-danger-hover);
|
|
317
|
+
--_on-hue: var(--ui-on-danger);
|
|
318
|
+
}
|
|
319
|
+
[data-component~="ui-button"][data-ui-button-state~="tone=success"][data-v-8513eb5d] {
|
|
320
|
+
--_hue: var(--ui-success);
|
|
321
|
+
--_hue-hover: color-mix(in srgb, var(--ui-success) 85%, #000);
|
|
322
|
+
--_hue-active: color-mix(in srgb, var(--ui-success) 75%, #000);
|
|
323
|
+
--_hue-text: color-mix(in srgb, var(--ui-success) 85%, #000);
|
|
324
|
+
--_on-hue: var(--ui-surface);
|
|
325
|
+
}
|
|
326
|
+
[data-component~="ui-button"][data-ui-button-state~="tone=warning"][data-v-8513eb5d] {
|
|
327
|
+
--_hue: var(--ui-warning);
|
|
328
|
+
--_hue-hover: color-mix(in srgb, var(--ui-warning) 85%, #000);
|
|
329
|
+
--_hue-active: color-mix(in srgb, var(--ui-warning) 75%, #000);
|
|
330
|
+
--_hue-text: color-mix(in srgb, var(--ui-warning) 85%, #000);
|
|
331
|
+
--_on-hue: var(--ui-surface);
|
|
332
|
+
}
|
|
333
|
+
[data-component~="ui-button"][data-ui-button-state~="tone=info"][data-v-8513eb5d] {
|
|
334
|
+
--_hue: var(--ui-info);
|
|
335
|
+
--_hue-hover: color-mix(in srgb, var(--ui-info) 85%, #000);
|
|
336
|
+
--_hue-active: color-mix(in srgb, var(--ui-info) 75%, #000);
|
|
337
|
+
--_hue-text: color-mix(in srgb, var(--ui-info) 85%, #000);
|
|
338
|
+
--_on-hue: var(--ui-surface);
|
|
339
|
+
}
|
|
340
|
+
[data-component~="ui-button"][data-ui-button-state~="variant=ghost"][data-v-8513eb5d] {
|
|
331
341
|
border-color: transparent;
|
|
332
342
|
background: transparent;
|
|
333
343
|
box-shadow: none;
|
|
334
|
-
color: var(--ui-button-ghost-text, var(--
|
|
344
|
+
color: var(--ui-button-ghost-text, var(--_tone-text));
|
|
335
345
|
}
|
|
336
346
|
|
|
337
347
|
/* Tints derive from the text colour, not a surface token, so hover and press show on any background. */
|
|
338
|
-
[data-component~="ui-button"][data-ui-button-state~="variant=ghost"][data-v-
|
|
339
|
-
background: var(
|
|
340
|
-
--ui-button-ghost-hover-surface,
|
|
341
|
-
color-mix(in srgb, currentColor 8%, transparent)
|
|
342
|
-
);
|
|
348
|
+
[data-component~="ui-button"][data-ui-button-state~="variant=ghost"][data-v-8513eb5d]:hover:enabled {
|
|
349
|
+
background-color: var(--ui-button-ghost-hover-surface, oklch(from var(--_tone) l c h / 10%));
|
|
343
350
|
border-color: transparent;
|
|
344
351
|
}
|
|
345
|
-
[data-component~="ui-button"][data-ui-button-state~="variant=ghost"][data-v-
|
|
346
|
-
background: var(
|
|
347
|
-
--ui-button-ghost-active-surface,
|
|
348
|
-
color-mix(in srgb, currentColor 14%, transparent)
|
|
349
|
-
);
|
|
352
|
+
[data-component~="ui-button"][data-ui-button-state~="variant=ghost"][data-v-8513eb5d]:active:enabled {
|
|
353
|
+
background-color: var(--ui-button-ghost-active-surface, oklch(from var(--_tone) l c h / 16%));
|
|
350
354
|
border-color: transparent;
|
|
355
|
+
box-shadow: var(--ui-pressed);
|
|
351
356
|
}
|
|
352
357
|
|
|
353
358
|
/* A soft halo that transitions in with the other box-shadow changes, layered on the raised shadow. */
|
|
354
|
-
[data-component~="ui-button"][data-v-
|
|
359
|
+
[data-component~="ui-button"][data-v-8513eb5d]:focus-visible {
|
|
355
360
|
outline: none;
|
|
356
361
|
box-shadow:
|
|
357
|
-
var(--ui-button-shadow, var(--ui-raised
|
|
362
|
+
var(--ui-button-shadow, var(--ui-raised)),
|
|
358
363
|
var(--ui-focus-halo);
|
|
359
364
|
}
|
|
360
|
-
[data-component~="ui-button"][data-ui-button-state~="variant=solid"][data-v-
|
|
365
|
+
[data-component~="ui-button"][data-ui-button-state~="variant=solid"][data-v-8513eb5d]:focus-visible {
|
|
361
366
|
box-shadow:
|
|
362
|
-
var(--ui-button-solid-shadow,
|
|
367
|
+
var(--ui-button-solid-shadow, var(--ui-raised)),
|
|
363
368
|
var(--ui-focus-halo);
|
|
364
369
|
}
|
|
365
370
|
|
|
366
|
-
/* Disabled
|
|
367
|
-
|
|
371
|
+
/* Disabled drops the tone rather than the shape: every variant keeps its own structure, so a
|
|
372
|
+
disabled outline is still an outline and a disabled ghost is still text. Intent goes — an
|
|
373
|
+
unavailable action says "unavailable", not "unavailable, and destructive" — and so do the
|
|
374
|
+
highlight and shadow, because nothing that cannot be pressed should look raised. */
|
|
375
|
+
[data-component~="ui-button"][data-v-8513eb5d]:disabled {
|
|
376
|
+
/* Derived from the tone itself, not from a separate disabled palette: faded toward the
|
|
377
|
+
page, which desaturates it at the same time. Toward the page rather than toward white,
|
|
378
|
+
so a dark theme dims where a light one lightens — the same rule, both schemes. */
|
|
379
|
+
--_tone: color-mix(in oklab, var(--_hue) 58%, var(--ui-surface));
|
|
380
|
+
--_tone-hover: var(--_tone);
|
|
381
|
+
--_tone-active: var(--_tone);
|
|
382
|
+
--_tone-text: color-mix(in oklab, var(--_hue-text) 72%, var(--ui-surface));
|
|
383
|
+
--_on-tone: var(--_tone-text);
|
|
384
|
+
|
|
368
385
|
opacity: var(--ui-button-disabled-opacity, 1);
|
|
369
386
|
cursor: not-allowed;
|
|
370
|
-
|
|
371
|
-
|
|
372
|
-
color: var(--ui-button-disabled-text, var(--ui-disabled-text));
|
|
373
|
-
}
|
|
374
|
-
[data-component~="ui-button"][data-ui-button-state~="variant=solid"][data-v-4fd0ad7f]:disabled {
|
|
375
|
-
border-color: var(--ui-button-disabled-border, var(--ui-border));
|
|
376
|
-
background-color: var(--ui-button-disabled-surface, var(--ui-disabled-surface));
|
|
377
|
-
color: var(--ui-button-disabled-text, var(--ui-disabled-text));
|
|
387
|
+
background-image: none;
|
|
388
|
+
box-shadow: none;
|
|
378
389
|
}
|
|
379
|
-
|
|
380
|
-
|
|
381
|
-
|
|
382
|
-
|
|
390
|
+
|
|
391
|
+
/* A filled button keeps its fill, faded further so its text stays legible on it. */
|
|
392
|
+
:is([data-component~="ui-button"][data-ui-button-state~="variant=solid"][data-v-8513eb5d], [data-component~="ui-button"][data-ui-button-state~="variant=danger"][data-v-8513eb5d]):disabled {
|
|
393
|
+
--_tone: color-mix(in oklab, var(--_hue) 34%, var(--ui-surface));
|
|
383
394
|
}
|
|
384
|
-
|
|
385
|
-
|
|
395
|
+
|
|
396
|
+
/* Ghost has no hover to fall back on, so disabled is the one state it has to state outright:
|
|
397
|
+
it takes a surface, light and tinted, rather than reading as plain text. */
|
|
398
|
+
[data-component~="ui-button"][data-ui-button-state~="variant=ghost"][data-v-8513eb5d]:disabled {
|
|
399
|
+
background-color: color-mix(in oklab, var(--_hue) 28%, var(--ui-surface));
|
|
386
400
|
border-color: transparent;
|
|
387
|
-
color: var(--ui-button-disabled-text, var(--ui-disabled-text));
|
|
388
401
|
}
|
|
389
402
|
@media (pointer: coarse) {
|
|
390
|
-
[data-component~="ui-button"][data-v-
|
|
403
|
+
[data-component~="ui-button"][data-v-8513eb5d] {
|
|
391
404
|
min-block-size: var(--ui-control-min-block-size);
|
|
392
405
|
}
|
|
393
406
|
}
|
|
394
407
|
|
|
395
408
|
/* Link: an inline text action. No box, padding, or minimum height (inline targets are exempt under
|
|
396
409
|
WCAG 2.5.8); the inherited font; an underline that strengthens on hover; a visible focus ring. */
|
|
397
|
-
[data-component~="ui-button"][data-ui-button-state~="variant=link"][data-v-
|
|
410
|
+
[data-component~="ui-button"][data-ui-button-state~="variant=link"][data-v-8513eb5d] {
|
|
398
411
|
display: inline;
|
|
399
412
|
min-block-size: 0;
|
|
400
413
|
padding: 0;
|
|
@@ -412,22 +425,22 @@
|
|
|
412
425
|
color var(--ui-motion-fast) var(--ui-motion-ease),
|
|
413
426
|
text-decoration-color var(--ui-motion-fast) var(--ui-motion-ease);
|
|
414
427
|
}
|
|
415
|
-
[data-component~="ui-button"][data-ui-button-state~="variant=link"][data-v-
|
|
428
|
+
[data-component~="ui-button"][data-ui-button-state~="variant=link"][data-v-8513eb5d]:hover:enabled {
|
|
416
429
|
color: var(--ui-button-link-hover-text, var(--ui-text-primary));
|
|
417
430
|
text-decoration-color: currentColor;
|
|
418
431
|
background: none;
|
|
419
432
|
transform: none;
|
|
420
433
|
}
|
|
421
|
-
[data-component~="ui-button"][data-ui-button-state~="variant=link"][data-v-
|
|
434
|
+
[data-component~="ui-button"][data-ui-button-state~="variant=link"][data-v-8513eb5d]:active:enabled {
|
|
422
435
|
background: none;
|
|
423
436
|
transform: none;
|
|
424
437
|
}
|
|
425
|
-
[data-component~="ui-button"][data-ui-button-state~="variant=link"][data-v-
|
|
438
|
+
[data-component~="ui-button"][data-ui-button-state~="variant=link"][data-v-8513eb5d]:disabled {
|
|
426
439
|
background: none;
|
|
427
440
|
border-color: transparent;
|
|
428
441
|
color: var(--ui-button-disabled-text, var(--ui-disabled-text));
|
|
429
442
|
}
|
|
430
|
-
[data-component~="ui-button"][data-ui-button-state~="variant=link"][data-v-
|
|
443
|
+
[data-component~="ui-button"][data-ui-button-state~="variant=link"][data-v-8513eb5d]:focus-visible {
|
|
431
444
|
box-shadow: none;
|
|
432
445
|
/* Fallback keeps the ring if the token is missing: an unresolved var() would void the outline. */
|
|
433
446
|
outline: 2px solid var(--ui-focus-ring);
|
|
@@ -435,7 +448,7 @@
|
|
|
435
448
|
}
|
|
436
449
|
|
|
437
450
|
/* A component that sets its display still honours the hidden attribute on its root. */
|
|
438
|
-
[data-component~="ui-button"][hidden][data-v-
|
|
451
|
+
[data-component~="ui-button"][hidden][data-v-8513eb5d] {
|
|
439
452
|
display: none;
|
|
440
453
|
}
|
|
441
454
|
|
|
@@ -505,7 +518,7 @@
|
|
|
505
518
|
display: none;
|
|
506
519
|
}
|
|
507
520
|
|
|
508
|
-
[data-component~="ui-checkbox"][data-v-
|
|
521
|
+
[data-component~="ui-checkbox"][data-v-964081a0] {
|
|
509
522
|
display: inline-flex;
|
|
510
523
|
align-items: flex-start;
|
|
511
524
|
gap: var(--ui-checkbox-gap, var(--ui-space-2));
|
|
@@ -513,11 +526,11 @@
|
|
|
513
526
|
color: var(--ui-text-primary);
|
|
514
527
|
cursor: pointer;
|
|
515
528
|
}
|
|
516
|
-
.label[data-v-
|
|
529
|
+
.label[data-v-964081a0] {
|
|
517
530
|
min-inline-size: 0;
|
|
518
531
|
line-height: var(--ui-line-height-md);
|
|
519
532
|
}
|
|
520
|
-
input[data-v-
|
|
533
|
+
input[data-v-964081a0] {
|
|
521
534
|
appearance: none;
|
|
522
535
|
-webkit-appearance: none;
|
|
523
536
|
position: relative;
|
|
@@ -535,30 +548,33 @@ input[data-v-d8891b6a] {
|
|
|
535
548
|
border-color var(--ui-motion-fast) var(--ui-motion-ease),
|
|
536
549
|
box-shadow var(--ui-motion-fast) var(--ui-motion-ease);
|
|
537
550
|
}
|
|
538
|
-
input[data-v-
|
|
551
|
+
input[data-v-964081a0]::after {
|
|
539
552
|
content: "";
|
|
540
553
|
position: absolute;
|
|
541
554
|
opacity: 0;
|
|
542
555
|
}
|
|
543
|
-
input[data-v-
|
|
544
|
-
input[data-v-
|
|
556
|
+
input[data-v-964081a0]:checked,
|
|
557
|
+
input[data-v-964081a0]:indeterminate {
|
|
545
558
|
border-color: var(--ui-accent-solid);
|
|
546
559
|
background: var(--ui-accent-solid);
|
|
547
560
|
box-shadow: inset 0 1px 2px color-mix(in srgb, #000 16%, transparent);
|
|
548
561
|
}
|
|
549
562
|
|
|
550
563
|
/* Centre the tick's box, then lift it: a rotated L's ink sits ~0.11rem below its box centre. */
|
|
551
|
-
input[data-v-
|
|
564
|
+
input[data-v-964081a0]:checked::after {
|
|
552
565
|
inset: 0;
|
|
553
566
|
margin: auto;
|
|
554
567
|
inline-size: 0.32rem;
|
|
555
568
|
block-size: 0.58rem;
|
|
556
|
-
border: solid var(
|
|
569
|
+
/* Longhands, not `border: solid var(...)`: lowering drops a shorthand that omits a
|
|
570
|
+
component, which left the tick with no style and no colour. */
|
|
571
|
+
border-style: solid;
|
|
572
|
+
border-color: var(--ui-text-on-accent);
|
|
557
573
|
border-width: 0 0.125rem 0.125rem 0;
|
|
558
574
|
opacity: 1;
|
|
559
575
|
transform: translateY(-0.11rem) rotate(45deg);
|
|
560
576
|
}
|
|
561
|
-
input[data-v-
|
|
577
|
+
input[data-v-964081a0]:indeterminate::after {
|
|
562
578
|
inset: 50% 0.23rem auto;
|
|
563
579
|
block-size: 0.125rem;
|
|
564
580
|
border-radius: var(--ui-radius-round);
|
|
@@ -566,25 +582,25 @@ input[data-v-d8891b6a]:indeterminate::after {
|
|
|
566
582
|
opacity: 1;
|
|
567
583
|
transform: translateY(-50%);
|
|
568
584
|
}
|
|
569
|
-
input[data-v-
|
|
585
|
+
input[data-v-964081a0]:hover:enabled {
|
|
570
586
|
border-color: var(--ui-accent-solid);
|
|
571
587
|
}
|
|
572
|
-
input[data-v-
|
|
588
|
+
input[data-v-964081a0]:focus-visible {
|
|
573
589
|
outline: 2px solid var(--ui-focus-ring, var(--ui-accent-solid));
|
|
574
590
|
outline-offset: 2px;
|
|
575
591
|
}
|
|
576
|
-
[data-component~="ui-checkbox"][data-ui-checkbox-state~="disabled"][data-v-
|
|
592
|
+
[data-component~="ui-checkbox"][data-ui-checkbox-state~="disabled"][data-v-964081a0] {
|
|
577
593
|
color: var(--ui-text-muted);
|
|
578
594
|
cursor: not-allowed;
|
|
579
595
|
}
|
|
580
|
-
[data-component~="ui-checkbox"][data-ui-checkbox-state~="disabled"] input[data-v-
|
|
596
|
+
[data-component~="ui-checkbox"][data-ui-checkbox-state~="disabled"] input[data-v-964081a0] {
|
|
581
597
|
border-color: var(--ui-border-default);
|
|
582
598
|
background: var(--ui-control-surface-disabled, var(--ui-surface-muted));
|
|
583
599
|
cursor: not-allowed;
|
|
584
600
|
}
|
|
585
601
|
|
|
586
602
|
/* A component that sets its display still honours the hidden attribute on its root. */
|
|
587
|
-
[data-component~="ui-checkbox"][hidden][data-v-
|
|
603
|
+
[data-component~="ui-checkbox"][hidden][data-v-964081a0] {
|
|
588
604
|
display: none;
|
|
589
605
|
}
|
|
590
606
|
|
|
@@ -723,27 +739,27 @@ input[data-v-d8891b6a]:focus-visible {
|
|
|
723
739
|
}
|
|
724
740
|
}
|
|
725
741
|
|
|
726
|
-
[data-component~="ui-combobox"][data-v-
|
|
742
|
+
[data-component~="ui-combobox"][data-v-1aba7b21] {
|
|
727
743
|
display: grid;
|
|
728
744
|
gap: var(--ui-space-1);
|
|
729
745
|
min-inline-size: 0;
|
|
730
746
|
color: var(--ui-text-primary);
|
|
731
747
|
font: inherit;
|
|
732
748
|
}
|
|
733
|
-
label[data-v-
|
|
749
|
+
label[data-v-1aba7b21] {
|
|
734
750
|
color: var(--ui-combobox-label-text, var(--ui-text-primary));
|
|
735
751
|
font-size: var(--ui-combobox-label-font-size, 0.875rem);
|
|
736
752
|
font-weight: 500;
|
|
737
753
|
}
|
|
738
754
|
/* The field and anything that annotates it sit on one row; the help button is beside the box,
|
|
739
755
|
not inside it, because a control's box holds its value. */
|
|
740
|
-
.control[data-v-
|
|
756
|
+
.control[data-v-1aba7b21] {
|
|
741
757
|
display: flex;
|
|
742
758
|
align-items: center;
|
|
743
759
|
gap: var(--ui-space-2);
|
|
744
760
|
min-inline-size: 0;
|
|
745
761
|
}
|
|
746
|
-
.field[data-v-
|
|
762
|
+
.field[data-v-1aba7b21] {
|
|
747
763
|
flex: 1 1 auto;
|
|
748
764
|
display: flex;
|
|
749
765
|
min-inline-size: 0;
|
|
@@ -755,14 +771,14 @@ label[data-v-aef83c81] {
|
|
|
755
771
|
border-color var(--ui-motion-fast) var(--ui-motion-ease),
|
|
756
772
|
box-shadow var(--ui-motion-fast) var(--ui-motion-ease);
|
|
757
773
|
}
|
|
758
|
-
.field[data-v-
|
|
774
|
+
.field[data-v-1aba7b21]:focus-within {
|
|
759
775
|
border-color: var(--ui-control-focus, var(--ui-accent-solid));
|
|
760
776
|
box-shadow:
|
|
761
777
|
var(--ui-control-inset),
|
|
762
778
|
var(--ui-control-focus-halo-shadow);
|
|
763
779
|
}
|
|
764
780
|
/* A ghost icon button: the affordance is the mark, not a box around it. */
|
|
765
|
-
.help[data-v-
|
|
781
|
+
.help[data-v-1aba7b21] {
|
|
766
782
|
flex: none;
|
|
767
783
|
display: inline-flex;
|
|
768
784
|
align-items: center;
|
|
@@ -779,28 +795,28 @@ label[data-v-aef83c81] {
|
|
|
779
795
|
background-color var(--ui-motion-fast) var(--ui-motion-ease),
|
|
780
796
|
color var(--ui-motion-fast) var(--ui-motion-ease);
|
|
781
797
|
}
|
|
782
|
-
.help[data-v-
|
|
783
|
-
.help[aria-expanded="true"][data-v-
|
|
798
|
+
.help[data-v-1aba7b21]:hover:enabled,
|
|
799
|
+
.help[aria-expanded="true"][data-v-1aba7b21] {
|
|
784
800
|
background: color-mix(in srgb, currentColor 8%, transparent);
|
|
785
801
|
color: var(--ui-text-primary);
|
|
786
802
|
}
|
|
787
|
-
.help[data-v-
|
|
803
|
+
.help[data-v-1aba7b21]:focus-visible {
|
|
788
804
|
outline: none;
|
|
789
805
|
box-shadow: var(--ui-focus-halo);
|
|
790
806
|
}
|
|
791
|
-
.help[data-v-
|
|
807
|
+
.help[data-v-1aba7b21]:disabled {
|
|
792
808
|
color: var(--ui-disabled-text);
|
|
793
809
|
cursor: not-allowed;
|
|
794
810
|
}
|
|
795
|
-
.help-icon[data-v-
|
|
811
|
+
.help-icon[data-v-1aba7b21] {
|
|
796
812
|
inline-size: var(--ui-icon-size-sm);
|
|
797
813
|
block-size: var(--ui-icon-size-sm);
|
|
798
814
|
}
|
|
799
|
-
input[data-v-
|
|
815
|
+
input[data-v-1aba7b21]::selection {
|
|
800
816
|
background: color-mix(in srgb, var(--ui-accent-solid) 20%, transparent);
|
|
801
817
|
color: inherit;
|
|
802
818
|
}
|
|
803
|
-
input[data-v-
|
|
819
|
+
input[data-v-1aba7b21] {
|
|
804
820
|
appearance: none;
|
|
805
821
|
width: 100%;
|
|
806
822
|
min-inline-size: 0;
|
|
@@ -816,11 +832,11 @@ input[data-v-aef83c81] {
|
|
|
816
832
|
margin: 0;
|
|
817
833
|
outline: none;
|
|
818
834
|
}
|
|
819
|
-
[data-component~="ui-combobox"][data-ui-combobox-state~="size=sm"] input[data-v-
|
|
835
|
+
[data-component~="ui-combobox"][data-ui-combobox-state~="size=sm"] input[data-v-1aba7b21] {
|
|
820
836
|
min-block-size: calc(var(--ui-control-size-sm) - 2px);
|
|
821
837
|
padding: var(--ui-space-1) var(--ui-space-2);
|
|
822
838
|
}
|
|
823
|
-
button[data-v-
|
|
839
|
+
button[data-v-1aba7b21] {
|
|
824
840
|
appearance: none;
|
|
825
841
|
display: inline-grid;
|
|
826
842
|
place-items: center;
|
|
@@ -835,31 +851,31 @@ button[data-v-aef83c81] {
|
|
|
835
851
|
padding: 0 var(--ui-space-1);
|
|
836
852
|
cursor: pointer;
|
|
837
853
|
}
|
|
838
|
-
.affordance-icon[data-v-
|
|
854
|
+
.affordance-icon[data-v-1aba7b21] {
|
|
839
855
|
display: block;
|
|
840
856
|
inline-size: var(--ui-icon-size-sm);
|
|
841
857
|
block-size: var(--ui-icon-size-sm);
|
|
842
858
|
}
|
|
843
|
-
button[data-v-
|
|
859
|
+
button[data-v-1aba7b21]:hover:enabled {
|
|
844
860
|
background: var(--ui-surface-muted);
|
|
845
861
|
color: var(--ui-text-primary);
|
|
846
862
|
}
|
|
847
|
-
button[data-v-
|
|
863
|
+
button[data-v-1aba7b21]:focus-visible {
|
|
848
864
|
outline: none;
|
|
849
865
|
background: var(--ui-surface-muted);
|
|
850
866
|
box-shadow: inset 0 0 0 2px color-mix(in srgb, var(--ui-focus-ring) 45%, transparent);
|
|
851
867
|
}
|
|
852
|
-
input[data-v-
|
|
868
|
+
input[data-v-1aba7b21]:disabled, button[data-v-1aba7b21]:disabled {
|
|
853
869
|
color: var(--ui-text-muted);
|
|
854
870
|
cursor: not-allowed;
|
|
855
871
|
}
|
|
856
|
-
.field[data-v-
|
|
872
|
+
.field[data-v-1aba7b21]:has(input:disabled) {
|
|
857
873
|
background: var(--ui-control-surface-disabled, var(--ui-surface-muted));
|
|
858
874
|
}
|
|
859
|
-
[data-component~="ui-combobox"][data-ui-combobox-state~="validationStatus=error"] .field[data-v-
|
|
875
|
+
[data-component~="ui-combobox"][data-ui-combobox-state~="validationStatus=error"] .field[data-v-1aba7b21] {
|
|
860
876
|
border-color: var(--ui-danger-solid, var(--ui-accent-active));
|
|
861
877
|
}
|
|
862
|
-
.popup[data-v-
|
|
878
|
+
.popup[data-v-1aba7b21] {
|
|
863
879
|
box-sizing: border-box;
|
|
864
880
|
min-inline-size: 12rem;
|
|
865
881
|
max-inline-size: calc(100vw - 1rem);
|
|
@@ -873,40 +889,40 @@ input[data-v-aef83c81]:disabled, button[data-v-aef83c81]:disabled {
|
|
|
873
889
|
color: var(--ui-text-primary);
|
|
874
890
|
box-shadow: var(--ui-elevation-overlay, var(--ui-shadow-lg));
|
|
875
891
|
}
|
|
876
|
-
[hidden][data-v-
|
|
892
|
+
[hidden][data-v-1aba7b21] {
|
|
877
893
|
display: none;
|
|
878
894
|
}
|
|
879
|
-
.option[data-v-
|
|
895
|
+
.option[data-v-1aba7b21] {
|
|
880
896
|
padding: var(--ui-space-2) var(--ui-space-3);
|
|
881
897
|
border-radius: var(--ui-radius-sm);
|
|
882
898
|
cursor: pointer;
|
|
883
899
|
overflow-wrap: anywhere;
|
|
884
900
|
}
|
|
885
|
-
.option[data-v-
|
|
901
|
+
.option[data-v-1aba7b21]:hover, .option.active[data-v-1aba7b21] {
|
|
886
902
|
background: var(--ui-surface-muted);
|
|
887
903
|
outline: 1px solid var(--ui-focus-ring);
|
|
888
904
|
outline-offset: -1px;
|
|
889
905
|
}
|
|
890
|
-
.option[aria-disabled="true"][data-v-
|
|
906
|
+
.option[aria-disabled="true"][data-v-1aba7b21] {
|
|
891
907
|
color: var(--ui-text-muted);
|
|
892
908
|
cursor: not-allowed;
|
|
893
909
|
}
|
|
894
|
-
.primary[data-v-
|
|
910
|
+
.primary[data-v-1aba7b21] {
|
|
895
911
|
display: block;
|
|
896
912
|
color: var(--ui-combobox-option-text, var(--ui-text-primary));
|
|
897
913
|
font-weight: 500;
|
|
898
914
|
}
|
|
899
|
-
.message[data-v-
|
|
915
|
+
.message[data-v-1aba7b21], .group[data-v-1aba7b21] {
|
|
900
916
|
color: var(--ui-combobox-message-text, var(--ui-text-secondary));
|
|
901
917
|
font-weight: 400;
|
|
902
918
|
font-size: var(--ui-font-size-sm);
|
|
903
919
|
line-height: var(--ui-line-height-md);
|
|
904
920
|
overflow-wrap: anywhere;
|
|
905
921
|
}
|
|
906
|
-
.group[data-v-
|
|
922
|
+
.group[data-v-1aba7b21], .popup .message[data-v-1aba7b21] {
|
|
907
923
|
padding: var(--ui-space-2) var(--ui-space-3);
|
|
908
924
|
}
|
|
909
|
-
.sr-only[data-v-
|
|
925
|
+
.sr-only[data-v-1aba7b21] {
|
|
910
926
|
position: absolute;
|
|
911
927
|
inline-size: 1px;
|
|
912
928
|
block-size: 1px;
|
|
@@ -915,35 +931,67 @@ input[data-v-aef83c81]:disabled, button[data-v-aef83c81]:disabled {
|
|
|
915
931
|
white-space: nowrap;
|
|
916
932
|
}
|
|
917
933
|
@media (pointer: coarse) {
|
|
918
|
-
button[data-v-
|
|
934
|
+
button[data-v-1aba7b21] {
|
|
919
935
|
min-inline-size: 2.75rem;
|
|
920
936
|
min-block-size: 2.75rem;
|
|
921
937
|
}
|
|
922
938
|
}
|
|
923
939
|
@media (forced-colors: active) {
|
|
924
|
-
.field[data-v-
|
|
940
|
+
.field[data-v-1aba7b21], .popup[data-v-1aba7b21] {
|
|
925
941
|
border-color: CanvasText;
|
|
926
942
|
}
|
|
927
|
-
.option.active[data-v-
|
|
943
|
+
.option.active[data-v-1aba7b21] {
|
|
928
944
|
outline-color: Highlight;
|
|
929
945
|
}
|
|
930
946
|
}
|
|
931
947
|
|
|
948
|
+
/* Multiple mode: every option carries a checkbox, so a list that takes several answers says so
|
|
949
|
+
before anything is picked. aria-selected is the state; this draws it.
|
|
950
|
+
Longhands, not shorthands: lowering drops a shorthand that omits a component. */
|
|
951
|
+
[data-component~="ui-combobox"][data-ui-combobox-state~="multiple"] .option[data-v-1aba7b21] {
|
|
952
|
+
display: flex;
|
|
953
|
+
gap: var(--ui-space-2);
|
|
954
|
+
align-items: center;
|
|
955
|
+
}
|
|
956
|
+
[data-component~="ui-combobox"][data-ui-combobox-state~="multiple"] .option[data-v-1aba7b21]::before {
|
|
957
|
+
content: "";
|
|
958
|
+
flex: none;
|
|
959
|
+
inline-size: 1.125rem;
|
|
960
|
+
block-size: 1.125rem;
|
|
961
|
+
border-style: solid;
|
|
962
|
+
border-width: 1px;
|
|
963
|
+
border-color: var(--ui-control-border-hover, var(--ui-border-strong));
|
|
964
|
+
border-radius: var(--ui-radius-sm);
|
|
965
|
+
background-color: var(--ui-control-surface, var(--ui-surface-default));
|
|
966
|
+
background-repeat: no-repeat;
|
|
967
|
+
background-position: center;
|
|
968
|
+
background-size: 0.7rem;
|
|
969
|
+
}
|
|
970
|
+
[data-component~="ui-combobox"][data-ui-combobox-state~="multiple"]
|
|
971
|
+
.option[aria-selected="true"][data-v-1aba7b21]::before {
|
|
972
|
+
border-color: var(--ui-accent-solid);
|
|
973
|
+
background-color: var(--ui-accent-solid);
|
|
974
|
+
background-image: var(
|
|
975
|
+
--ui-combobox-option-check,
|
|
976
|
+
url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23ffffff' stroke-width='3' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='m5 12 5 5 9-9'/%3E%3C/svg%3E")
|
|
977
|
+
);
|
|
978
|
+
}
|
|
979
|
+
|
|
932
980
|
/* Multiple mode: chips wrap before the cursor on one flexible field line. */
|
|
933
|
-
[data-component~="ui-combobox"][data-ui-combobox-state~="multiple"] .field[data-v-
|
|
981
|
+
[data-component~="ui-combobox"][data-ui-combobox-state~="multiple"] .field[data-v-1aba7b21] {
|
|
934
982
|
flex-wrap: wrap;
|
|
935
983
|
align-items: center;
|
|
936
984
|
gap: var(--ui-space-1);
|
|
937
985
|
min-block-size: var(--ui-combobox-item-min-block-size, 2.5rem);
|
|
938
986
|
padding: var(--ui-space-1);
|
|
939
987
|
}
|
|
940
|
-
[data-component~="ui-combobox"][data-ui-combobox-state~="multiple"] input[data-v-
|
|
988
|
+
[data-component~="ui-combobox"][data-ui-combobox-state~="multiple"] input[data-v-1aba7b21] {
|
|
941
989
|
flex: 1 0 var(--ui-combobox-item-input-min-inline-size, 5rem);
|
|
942
990
|
width: auto;
|
|
943
991
|
min-block-size: 1.75rem;
|
|
944
992
|
padding: var(--ui-space-0-5) var(--ui-space-1);
|
|
945
993
|
}
|
|
946
|
-
.item[data-v-
|
|
994
|
+
.item[data-v-1aba7b21] {
|
|
947
995
|
appearance: none;
|
|
948
996
|
display: inline-flex;
|
|
949
997
|
min-inline-size: 0;
|
|
@@ -957,16 +1005,16 @@ button[data-v-aef83c81] {
|
|
|
957
1005
|
font: inherit;
|
|
958
1006
|
cursor: default;
|
|
959
1007
|
}
|
|
960
|
-
.item[data-v-
|
|
1008
|
+
.item[data-v-1aba7b21]:focus-visible {
|
|
961
1009
|
outline: 2px solid var(--ui-focus-ring);
|
|
962
1010
|
outline-offset: 1px;
|
|
963
1011
|
}
|
|
964
|
-
.item[data-v-
|
|
1012
|
+
.item[data-v-1aba7b21]:disabled {
|
|
965
1013
|
opacity: 0.6;
|
|
966
1014
|
}
|
|
967
1015
|
|
|
968
1016
|
/* A component that sets its display still honours the hidden attribute on its root. */
|
|
969
|
-
[data-component~="ui-combobox"][hidden][data-v-
|
|
1017
|
+
[data-component~="ui-combobox"][hidden][data-v-1aba7b21] {
|
|
970
1018
|
display: none;
|
|
971
1019
|
}
|
|
972
1020
|
|
|
@@ -3258,7 +3306,7 @@ dialog[data-v-d27d0d8a] {
|
|
|
3258
3306
|
display: none;
|
|
3259
3307
|
}
|
|
3260
3308
|
|
|
3261
|
-
[data-component~="ui-select"][data-v-
|
|
3309
|
+
[data-component~="ui-select"][data-v-2a885e02] {
|
|
3262
3310
|
box-sizing: border-box;
|
|
3263
3311
|
display: inline-block;
|
|
3264
3312
|
inline-size: 100%;
|
|
@@ -3280,9 +3328,9 @@ dialog[data-v-d27d0d8a] {
|
|
|
3280
3328
|
background-color var(--ui-motion-fast) var(--ui-motion-ease);
|
|
3281
3329
|
}
|
|
3282
3330
|
|
|
3283
|
-
/*
|
|
3331
|
+
/* The select draws its own chevron: the native caret cannot be inset or sized consistently.
|
|
3284
3332
|
* The root stays a native <s-lect>, so the icon is a background image rather than an element. */
|
|
3285
|
-
[data-component~="ui-select"][data-v-
|
|
3333
|
+
[data-component~="ui-select"][data-v-2a885e02] {
|
|
3286
3334
|
appearance: none;
|
|
3287
3335
|
padding-inline-end: calc(var(--ui-space-3) + 1.5rem);
|
|
3288
3336
|
background-image: var(
|
|
@@ -3293,10 +3341,10 @@ dialog[data-v-d27d0d8a] {
|
|
|
3293
3341
|
background-position: right var(--ui-space-3) center;
|
|
3294
3342
|
background-size: 1.125rem 1.125rem;
|
|
3295
3343
|
}
|
|
3296
|
-
[data-component~="ui-select"][data-v-
|
|
3344
|
+
[data-component~="ui-select"][data-v-2a885e02]:hover:not(:focus):not(:disabled) {
|
|
3297
3345
|
border-color: var(--ui-control-border-hover, var(--ui-text-secondary));
|
|
3298
3346
|
}
|
|
3299
|
-
[data-component~="ui-select"][data-v-
|
|
3347
|
+
[data-component~="ui-select"][data-v-2a885e02]:focus-visible {
|
|
3300
3348
|
border-color: var(--ui-control-focus, var(--ui-accent-solid));
|
|
3301
3349
|
outline: none;
|
|
3302
3350
|
box-shadow: var(
|
|
@@ -3307,29 +3355,28 @@ dialog[data-v-d27d0d8a] {
|
|
|
3307
3355
|
}
|
|
3308
3356
|
|
|
3309
3357
|
/* The app's invalid flag, or the browser's own verdict once the user has left an invalid field. */
|
|
3310
|
-
[data-component~="ui-select"][aria-invalid="true"][data-v-
|
|
3311
|
-
[data-component~="ui-select"][data-v-
|
|
3358
|
+
[data-component~="ui-select"][aria-invalid="true"][data-v-2a885e02],
|
|
3359
|
+
[data-component~="ui-select"][data-v-2a885e02]:is(:user-invalid, [data-user-invalid]) {
|
|
3312
3360
|
border-color: var(--ui-danger-solid);
|
|
3313
3361
|
}
|
|
3314
|
-
[data-component~="ui-select"][data-v-
|
|
3362
|
+
[data-component~="ui-select"][data-v-2a885e02]:is([aria-invalid="true"], :is(:user-invalid, [data-user-invalid])):focus-visible {
|
|
3315
3363
|
box-shadow:
|
|
3316
3364
|
var(--ui-control-inset),
|
|
3317
3365
|
0 0 0 3px color-mix(in srgb, var(--ui-danger-solid) 22%, transparent);
|
|
3318
3366
|
}
|
|
3319
|
-
[data-component~="ui-select"][data-v-
|
|
3367
|
+
[data-component~="ui-select"][data-v-2a885e02]:disabled {
|
|
3320
3368
|
background-color: var(--ui-control-surface-disabled, var(--ui-surface-muted));
|
|
3321
3369
|
color: var(--ui-text-muted);
|
|
3322
3370
|
box-shadow: none;
|
|
3323
3371
|
cursor: not-allowed;
|
|
3324
3372
|
}
|
|
3325
|
-
[data-component~="ui-select"][
|
|
3326
|
-
[data-component~="ui-select"][size][data-v-d36968b7]:not([size="1"]) {
|
|
3373
|
+
[data-component~="ui-select"][size][data-v-2a885e02]:not([size="1"]) {
|
|
3327
3374
|
min-block-size: 7rem;
|
|
3328
3375
|
padding: var(--ui-space-2);
|
|
3329
3376
|
}
|
|
3330
3377
|
|
|
3331
3378
|
/* A component that sets its display still honours the hidden attribute on its root. */
|
|
3332
|
-
[data-component~="ui-select"][hidden][data-v-
|
|
3379
|
+
[data-component~="ui-select"][hidden][data-v-2a885e02] {
|
|
3333
3380
|
display: none;
|
|
3334
3381
|
}
|
|
3335
3382
|
|