@womp/kookie-ui 0.25.2 → 0.26.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.css +215 -527
- package/dist/cjs/components/_internal/base-checkbox.props.d.ts +0 -6
- package/dist/cjs/components/_internal/base-checkbox.props.d.ts.map +1 -1
- package/dist/cjs/components/_internal/base-checkbox.props.js +1 -1
- package/dist/cjs/components/_internal/base-checkbox.props.js.map +3 -3
- package/dist/cjs/components/_internal/base-radio.props.d.ts +0 -6
- package/dist/cjs/components/_internal/base-radio.props.d.ts.map +1 -1
- package/dist/cjs/components/_internal/base-radio.props.js +1 -1
- package/dist/cjs/components/_internal/base-radio.props.js.map +3 -3
- package/dist/cjs/components/checkbox-group.d.ts.map +1 -1
- package/dist/cjs/components/checkbox-group.js +1 -1
- package/dist/cjs/components/checkbox-group.js.map +3 -3
- package/dist/cjs/components/checkbox-group.props.d.ts +0 -6
- package/dist/cjs/components/checkbox-group.props.d.ts.map +1 -1
- package/dist/cjs/components/checkbox-group.props.js +1 -1
- package/dist/cjs/components/checkbox-group.props.js.map +3 -3
- package/dist/cjs/components/checkbox.js +1 -1
- package/dist/cjs/components/checkbox.js.map +3 -3
- package/dist/cjs/components/checkbox.props.js +1 -1
- package/dist/cjs/components/checkbox.props.js.map +3 -3
- package/dist/cjs/components/index.js +2 -2
- package/dist/cjs/components/index.js.map +4 -4
- package/dist/cjs/components/radio-group.d.ts.map +1 -1
- package/dist/cjs/components/radio-group.js +1 -1
- package/dist/cjs/components/radio-group.js.map +4 -4
- package/dist/cjs/components/radio-group.props.d.ts +0 -6
- package/dist/cjs/components/radio-group.props.d.ts.map +1 -1
- package/dist/cjs/components/radio-group.props.js +1 -1
- package/dist/cjs/components/radio-group.props.js.map +4 -4
- package/dist/cjs/components/radio.js +1 -1
- package/dist/cjs/components/radio.js.map +3 -3
- package/dist/cjs/components/radio.props.js +1 -1
- package/dist/cjs/components/radio.props.js.map +3 -3
- package/dist/cjs/components/slider.js +1 -1
- package/dist/cjs/components/slider.js.map +3 -3
- package/dist/cjs/components/slider.props.d.ts +0 -6
- package/dist/cjs/components/slider.props.d.ts.map +1 -1
- package/dist/cjs/components/slider.props.js +1 -1
- package/dist/cjs/components/slider.props.js.map +3 -3
- package/dist/cjs/components/switch.js +1 -1
- package/dist/cjs/components/switch.js.map +3 -3
- package/dist/cjs/components/switch.props.d.ts +0 -6
- package/dist/cjs/components/switch.props.d.ts.map +1 -1
- package/dist/cjs/components/switch.props.js +1 -1
- package/dist/cjs/components/switch.props.js.map +3 -3
- package/dist/cjs/index.js +4 -4
- package/dist/cjs/index.js.map +4 -4
- package/dist/esm/chunk-37GC4A2O.js +3 -0
- package/dist/esm/chunk-37GC4A2O.js.map +7 -0
- package/dist/esm/chunk-4S5L25RO.js +3 -0
- package/dist/esm/chunk-4S5L25RO.js.map +7 -0
- package/dist/esm/chunk-6BB2A6VU.js +3 -0
- package/dist/esm/chunk-6BB2A6VU.js.map +7 -0
- package/dist/esm/chunk-CBWERXF4.js +3 -0
- package/dist/esm/chunk-CBWERXF4.js.map +7 -0
- package/dist/esm/{chunk-XPVRXQSW.js → chunk-FCKJD2PW.js} +2 -2
- package/dist/esm/chunk-HV7USGHD.js +3 -0
- package/dist/esm/chunk-HV7USGHD.js.map +7 -0
- package/dist/esm/chunk-IE5ACUZS.js +3 -0
- package/dist/esm/{chunk-ZDSY6CJL.js → chunk-JS23YQ4M.js} +2 -2
- package/dist/esm/chunk-M3NI3D6R.js +3 -0
- package/dist/esm/chunk-M3NI3D6R.js.map +7 -0
- package/dist/esm/{chunk-PZZJH2LR.js → chunk-NZCAGHCL.js} +2 -2
- package/dist/esm/chunk-R7THBMND.js +3 -0
- package/dist/esm/chunk-R7THBMND.js.map +7 -0
- package/dist/esm/{chunk-3CY6H4TE.js → chunk-YDBFIJHB.js} +2 -2
- package/dist/esm/components/_internal/base-checkbox.props.d.ts +0 -6
- package/dist/esm/components/_internal/base-checkbox.props.d.ts.map +1 -1
- package/dist/esm/components/_internal/base-checkbox.props.js +1 -1
- package/dist/esm/components/_internal/base-radio.props.d.ts +0 -6
- package/dist/esm/components/_internal/base-radio.props.d.ts.map +1 -1
- package/dist/esm/components/_internal/base-radio.props.js +1 -1
- package/dist/esm/components/checkbox-group.d.ts.map +1 -1
- package/dist/esm/components/checkbox-group.js +1 -1
- package/dist/esm/components/checkbox-group.props.d.ts +0 -6
- package/dist/esm/components/checkbox-group.props.d.ts.map +1 -1
- package/dist/esm/components/checkbox-group.props.js +1 -1
- package/dist/esm/components/checkbox.js +1 -1
- package/dist/esm/components/checkbox.props.js +1 -1
- package/dist/esm/components/index.js +1 -1
- package/dist/esm/components/radio-group.d.ts.map +1 -1
- package/dist/esm/components/radio-group.js +1 -1
- package/dist/esm/components/radio-group.props.d.ts +0 -6
- package/dist/esm/components/radio-group.props.d.ts.map +1 -1
- package/dist/esm/components/radio-group.props.js +1 -1
- package/dist/esm/components/radio.js +1 -1
- package/dist/esm/components/radio.props.js +1 -1
- package/dist/esm/components/slider.js +1 -1
- package/dist/esm/components/slider.props.d.ts +0 -6
- package/dist/esm/components/slider.props.d.ts.map +1 -1
- package/dist/esm/components/slider.props.js +1 -1
- package/dist/esm/components/switch.js +1 -1
- package/dist/esm/components/switch.props.d.ts +0 -6
- package/dist/esm/components/switch.props.d.ts.map +1 -1
- package/dist/esm/components/switch.props.js +1 -1
- package/dist/esm/index.js +1 -1
- package/package.json +1 -1
- package/src/components/_internal/base-button.css +11 -5
- package/src/components/_internal/base-card.css +2 -2
- package/src/components/_internal/base-checkbox.css +39 -199
- package/src/components/_internal/base-checkbox.props.ts +0 -3
- package/src/components/_internal/base-dialog.css +1 -1
- package/src/components/_internal/base-menu.css +3 -2
- package/src/components/_internal/base-radio.css +38 -173
- package/src/components/_internal/base-radio.props.ts +0 -3
- package/src/components/accordion.css +2 -2
- package/src/components/avatar.css +2 -2
- package/src/components/chatbar.css +3 -4
- package/src/components/checkbox-group.css +1 -1
- package/src/components/checkbox-group.tsx +0 -2
- package/src/components/checkbox.css +1 -1
- package/src/components/chip.css +1 -1
- package/src/components/popover.css +1 -1
- package/src/components/radio-group.props.tsx +0 -5
- package/src/components/radio-group.tsx +0 -2
- package/src/components/segmented-control.css +4 -1
- package/src/components/select.css +14 -31
- package/src/components/shell.css +16 -16
- package/src/components/sidebar.css +10 -0
- package/src/components/slider.css +9 -40
- package/src/components/slider.props.tsx +0 -3
- package/src/components/switch.css +11 -52
- package/src/components/switch.props.tsx +0 -3
- package/src/components/text-area.css +16 -31
- package/src/components/text-field.css +16 -32
- package/src/components/toolbar.css +1 -1
- package/src/styles/tokens/color.css +31 -2
- package/src/styles/tokens/shadow.css +50 -122
- package/styles.css +260 -561
- package/tokens/base.css +45 -34
- package/tokens.css +45 -34
- package/dist/esm/chunk-2Z2I27ZS.js +0 -3
- package/dist/esm/chunk-2Z2I27ZS.js.map +0 -7
- package/dist/esm/chunk-AZHSPPBV.js +0 -3
- package/dist/esm/chunk-AZHSPPBV.js.map +0 -7
- package/dist/esm/chunk-BMKUGZ4I.js +0 -3
- package/dist/esm/chunk-FFJE25TJ.js +0 -3
- package/dist/esm/chunk-FFJE25TJ.js.map +0 -7
- package/dist/esm/chunk-FM3GBCX5.js +0 -3
- package/dist/esm/chunk-FM3GBCX5.js.map +0 -7
- package/dist/esm/chunk-N5H7C3PZ.js +0 -3
- package/dist/esm/chunk-N5H7C3PZ.js.map +0 -7
- package/dist/esm/chunk-RB5VHWAW.js +0 -3
- package/dist/esm/chunk-RB5VHWAW.js.map +0 -7
- package/dist/esm/chunk-ZFDHZEWN.js +0 -3
- package/dist/esm/chunk-ZFDHZEWN.js.map +0 -7
- /package/dist/esm/{chunk-XPVRXQSW.js.map → chunk-FCKJD2PW.js.map} +0 -0
- /package/dist/esm/{chunk-BMKUGZ4I.js.map → chunk-IE5ACUZS.js.map} +0 -0
- /package/dist/esm/{chunk-ZDSY6CJL.js.map → chunk-JS23YQ4M.js.map} +0 -0
- /package/dist/esm/{chunk-PZZJH2LR.js.map → chunk-NZCAGHCL.js.map} +0 -0
- /package/dist/esm/{chunk-3CY6H4TE.js.map → chunk-YDBFIJHB.js.map} +0 -0
|
@@ -354,14 +354,14 @@
|
|
|
354
354
|
* *
|
|
355
355
|
***************************************************************************************************/
|
|
356
356
|
|
|
357
|
-
/* Raised variant
|
|
357
|
+
/* Raised variant: the default. A flat soft fill with a faint edge, as in v2. A field casts no shadow. */
|
|
358
358
|
.kui-TextAreaRoot:where(.kui-variant-raised) {
|
|
359
|
-
--text-area-border-width:
|
|
359
|
+
--text-area-border-width: 1px;
|
|
360
360
|
--v-selection-color: var(--focus-a5);
|
|
361
361
|
--v-focus-color: var(--focus-8);
|
|
362
362
|
|
|
363
|
-
background-color: var(--
|
|
364
|
-
box-shadow: var(--
|
|
363
|
+
background-color: var(--field-fill);
|
|
364
|
+
box-shadow: var(--control-chrome);
|
|
365
365
|
|
|
366
366
|
& :where(.kui-TextAreaInput) {
|
|
367
367
|
&::placeholder {
|
|
@@ -371,25 +371,25 @@
|
|
|
371
371
|
|
|
372
372
|
/* Hover effects */
|
|
373
373
|
@media (hover: hover) {
|
|
374
|
-
&:where(:hover:not(:has(.kui-TextAreaInput:where(:focus, :disabled)))) {
|
|
375
|
-
background-color: var(--
|
|
376
|
-
box-shadow: var(--shadow-2);
|
|
374
|
+
&:where(:hover:not(:has(.kui-TextAreaInput:where(:focus, :disabled, :read-only)))) {
|
|
375
|
+
background-color: var(--field-fill-hover);
|
|
377
376
|
}
|
|
378
377
|
}
|
|
379
378
|
|
|
380
|
-
/* Focus state - accent ring with minimal inset */
|
|
381
|
-
&:where(:has(.kui-TextAreaInput:focus)) {
|
|
382
|
-
box-shadow: var(--shadow-2), 0 0 0 2px var(--focus-8);
|
|
383
|
-
}
|
|
384
|
-
|
|
385
379
|
/* prettier-ignore */
|
|
386
380
|
&:where(:has(.kui-TextAreaInput:where(:autofill, [data-com-onepassword-filled]):not(:disabled, :read-only))) {
|
|
387
381
|
background-image: linear-gradient(var(--focus-a2), var(--focus-a2));
|
|
388
|
-
box-shadow: var(--
|
|
382
|
+
box-shadow: inset 0 0 0 1px var(--focus-a5);
|
|
389
383
|
}
|
|
390
384
|
|
|
391
|
-
|
|
392
|
-
|
|
385
|
+
/* Read-only keeps the value and drops the fill: nothing here takes input. */
|
|
386
|
+
&:where(:has(.kui-TextAreaInput:read-only:not(:disabled))) {
|
|
387
|
+
background-color: transparent;
|
|
388
|
+
}
|
|
389
|
+
|
|
390
|
+
&:where(:has(.kui-TextAreaInput:disabled)) {
|
|
391
|
+
background-color: var(--field-fill-disabled);
|
|
392
|
+
box-shadow: inset 0 0 0 1px var(--field-edge-disabled);
|
|
393
393
|
}
|
|
394
394
|
}
|
|
395
395
|
|
|
@@ -447,7 +447,7 @@
|
|
|
447
447
|
.kui-TextAreaRoot:where(:has(> .kui-TextAreaInput[aria-invalid='true'])) {
|
|
448
448
|
--v-focus-color: var(--red-8);
|
|
449
449
|
|
|
450
|
-
&:where(.kui-variant-outline, .kui-variant-surface, .kui-variant-soft, .kui-variant-ghost) {
|
|
450
|
+
&:where(.kui-variant-raised, .kui-variant-outline, .kui-variant-surface, .kui-variant-soft, .kui-variant-ghost) {
|
|
451
451
|
box-shadow: inset 0 0 0 1px var(--red-6);
|
|
452
452
|
|
|
453
453
|
@media (hover: hover) {
|
|
@@ -456,21 +456,6 @@
|
|
|
456
456
|
}
|
|
457
457
|
}
|
|
458
458
|
}
|
|
459
|
-
|
|
460
|
-
&:where(.kui-variant-raised) {
|
|
461
|
-
box-shadow: var(--shadow-2), inset 0 0 0 1px var(--red-6);
|
|
462
|
-
|
|
463
|
-
@media (hover: hover) {
|
|
464
|
-
&:where(:hover:not(:has(.kui-TextAreaInput:where(:focus, :disabled)))) {
|
|
465
|
-
box-shadow: var(--shadow-2), inset 0 0 0 1px var(--red-7);
|
|
466
|
-
}
|
|
467
|
-
}
|
|
468
|
-
|
|
469
|
-
/* The raised focus ring is a box-shadow, not the outline */
|
|
470
|
-
&:where(:has(.kui-TextAreaInput:focus)) {
|
|
471
|
-
box-shadow: var(--shadow-2), inset 0 0 0 1px var(--red-6), 0 0 0 2px var(--red-8);
|
|
472
|
-
}
|
|
473
|
-
}
|
|
474
459
|
}
|
|
475
460
|
|
|
476
461
|
/***************************************************************************************************
|
|
@@ -392,29 +392,23 @@
|
|
|
392
392
|
}
|
|
393
393
|
}
|
|
394
394
|
|
|
395
|
-
/* raised */
|
|
395
|
+
/* raised: the default. A flat soft fill with a faint edge, as in v2. A field casts no shadow. */
|
|
396
396
|
|
|
397
397
|
.kui-TextFieldRoot:where(.kui-variant-raised) {
|
|
398
398
|
--text-field-selection-color: var(--focus-a5);
|
|
399
399
|
--text-field-focus-color: var(--focus-8);
|
|
400
|
-
--text-field-border-width:
|
|
400
|
+
--text-field-border-width: 1px;
|
|
401
401
|
|
|
402
|
-
background-color: var(--
|
|
403
|
-
box-shadow: var(--
|
|
402
|
+
background-color: var(--field-fill);
|
|
403
|
+
box-shadow: var(--control-chrome);
|
|
404
404
|
|
|
405
405
|
/* Hover effects */
|
|
406
406
|
@media (hover: hover) {
|
|
407
|
-
&:where(:hover:not(:has(.kui-TextFieldInput:where(:focus, :disabled)))) {
|
|
408
|
-
background-color: var(--
|
|
409
|
-
box-shadow: var(--shadow-2);
|
|
407
|
+
&:where(:hover:not(:has(.kui-TextFieldInput:where(:focus, :disabled, :read-only)))) {
|
|
408
|
+
background-color: var(--field-fill-hover);
|
|
410
409
|
}
|
|
411
410
|
}
|
|
412
411
|
|
|
413
|
-
/* Focus state - accent ring with minimal inset */
|
|
414
|
-
&:where(:has(.kui-TextFieldInput:focus)) {
|
|
415
|
-
box-shadow: var(--shadow-2), 0 0 0 2px var(--focus-8);
|
|
416
|
-
}
|
|
417
|
-
|
|
418
412
|
& :where(.kui-TextFieldInput) {
|
|
419
413
|
&::placeholder {
|
|
420
414
|
color: var(--neutral-a10);
|
|
@@ -433,12 +427,17 @@
|
|
|
433
427
|
&:where(:has(.kui-TextFieldInput:where(:autofill, [data-com-onepassword-filled]):not(:disabled, :read-only))) {
|
|
434
428
|
/* Blend with focus color */
|
|
435
429
|
background-image: linear-gradient(var(--focus-a2), var(--focus-a2));
|
|
436
|
-
box-shadow: var(--
|
|
430
|
+
box-shadow: inset 0 0 0 1px var(--focus-a5);
|
|
437
431
|
}
|
|
438
432
|
|
|
439
|
-
|
|
440
|
-
|
|
441
|
-
background-
|
|
433
|
+
/* Read-only keeps the value at full contrast and drops the fill: nothing here takes input. */
|
|
434
|
+
&:where(:has(.kui-TextFieldInput:read-only:not(:disabled))) {
|
|
435
|
+
background-color: transparent;
|
|
436
|
+
}
|
|
437
|
+
|
|
438
|
+
&:where(:has(.kui-TextFieldInput:disabled)) {
|
|
439
|
+
background-color: var(--field-fill-disabled);
|
|
440
|
+
box-shadow: inset 0 0 0 1px var(--field-edge-disabled);
|
|
442
441
|
}
|
|
443
442
|
}
|
|
444
443
|
|
|
@@ -634,7 +633,7 @@
|
|
|
634
633
|
.kui-TextFieldRoot:where(:has(> .kui-TextFieldInput[aria-invalid='true'])) {
|
|
635
634
|
--text-field-focus-color: var(--red-8);
|
|
636
635
|
|
|
637
|
-
&:where(.kui-variant-outline, .kui-variant-surface, .kui-variant-soft, .kui-variant-ghost) {
|
|
636
|
+
&:where(.kui-variant-raised, .kui-variant-outline, .kui-variant-surface, .kui-variant-soft, .kui-variant-ghost) {
|
|
638
637
|
box-shadow: inset 0 0 0 1px var(--red-6);
|
|
639
638
|
|
|
640
639
|
@media (hover: hover) {
|
|
@@ -643,21 +642,6 @@
|
|
|
643
642
|
}
|
|
644
643
|
}
|
|
645
644
|
}
|
|
646
|
-
|
|
647
|
-
&:where(.kui-variant-raised) {
|
|
648
|
-
box-shadow: var(--shadow-2), inset 0 0 0 1px var(--red-6);
|
|
649
|
-
|
|
650
|
-
@media (hover: hover) {
|
|
651
|
-
&:where(:hover:not(:has(.kui-TextFieldInput:where(:focus, :disabled)))) {
|
|
652
|
-
box-shadow: var(--shadow-2), inset 0 0 0 1px var(--red-7);
|
|
653
|
-
}
|
|
654
|
-
}
|
|
655
|
-
|
|
656
|
-
/* The raised focus ring is a box-shadow, not the outline */
|
|
657
|
-
&:where(:has(.kui-TextFieldInput:focus)) {
|
|
658
|
-
box-shadow: var(--shadow-2), inset 0 0 0 1px var(--red-6), 0 0 0 2px var(--red-8);
|
|
659
|
-
}
|
|
660
|
-
}
|
|
661
645
|
}
|
|
662
646
|
|
|
663
647
|
/* Error message styling */
|
|
@@ -80,7 +80,7 @@
|
|
|
80
80
|
/* Over content, the well is a raised surface of its own, like a raised button beside it. */
|
|
81
81
|
:where(.kui-Toolbar[data-backdrop]) .kui-ToolbarGroup {
|
|
82
82
|
background-color: var(--color-surface);
|
|
83
|
-
box-shadow: var(--
|
|
83
|
+
box-shadow: var(--control-chrome);
|
|
84
84
|
}
|
|
85
85
|
|
|
86
86
|
/* A button in the group is hosted: the group's height minus the inset on both sides, and a
|
|
@@ -11,6 +11,30 @@
|
|
|
11
11
|
/* The ground a raised surface sits on: one step below it, so a white card reads as lifted. */
|
|
12
12
|
--color-ground: var(--neutral-1, var(--gray-1));
|
|
13
13
|
|
|
14
|
+
/*
|
|
15
|
+
* A field (text field, text area, select trigger) is a flat soft fill with a faint edge, as in v2.
|
|
16
|
+
* It casts no shadow. Hover moves the fill one step; disabled drops it one step and fades the edge.
|
|
17
|
+
*/
|
|
18
|
+
--field-fill: var(--color-surface);
|
|
19
|
+
--field-fill-hover: var(--neutral-2);
|
|
20
|
+
--field-fill-disabled: var(--neutral-2);
|
|
21
|
+
--field-edge: var(--neutral-a3);
|
|
22
|
+
--field-edge-disabled: var(--neutral-a2);
|
|
23
|
+
|
|
24
|
+
/*
|
|
25
|
+
* The marks, as in v2. A switch track or slider rail is a well: a soft fill with no edge.
|
|
26
|
+
* A grip (switch thumb, slider thumb) is the surface colour, near-white in dark.
|
|
27
|
+
* An unchecked checkbox or radio is a soft fill with a hairline edge.
|
|
28
|
+
*/
|
|
29
|
+
--color-track: var(--neutral-4);
|
|
30
|
+
--color-track-hover: var(--neutral-5);
|
|
31
|
+
--color-track-active: var(--neutral-6);
|
|
32
|
+
--color-thumb: var(--color-surface);
|
|
33
|
+
--color-mark: var(--neutral-4);
|
|
34
|
+
--color-mark-hover: var(--neutral-5);
|
|
35
|
+
--color-mark-active: var(--neutral-6);
|
|
36
|
+
--color-mark-edge: var(--neutral-a7);
|
|
37
|
+
|
|
14
38
|
/*
|
|
15
39
|
* The neutral scale, named as in v2. It defaults to the plain gray palette; a Theme grayColor
|
|
16
40
|
* (mauve, olive, sage, sand, slate) points it at another palette below.
|
|
@@ -52,6 +76,11 @@
|
|
|
52
76
|
--color-overlay: var(--black-a8);
|
|
53
77
|
--color-surface: var(--neutral-2, var(--gray-2));
|
|
54
78
|
--color-ground: var(--neutral-1, var(--gray-1));
|
|
79
|
+
--field-edge: var(--neutral-a4);
|
|
80
|
+
--color-thumb: var(--neutral-12, var(--gray-12));
|
|
81
|
+
--color-mark: var(--neutral-5, var(--gray-5));
|
|
82
|
+
--color-mark-hover: var(--neutral-6, var(--gray-6));
|
|
83
|
+
--color-mark-active: var(--neutral-7, var(--gray-7));
|
|
55
84
|
}
|
|
56
85
|
|
|
57
86
|
/* */
|
|
@@ -1046,8 +1075,8 @@
|
|
|
1046
1075
|
--accent-solid-selection-contrast: var(--accent-12);
|
|
1047
1076
|
/* Thin marks (Tabs indicator): light yellow uses step 10 here */
|
|
1048
1077
|
--accent-solid-indicator: var(--accent-indicator);
|
|
1049
|
-
/* Thumb that sits on a solid fill (Switch, Slider) */
|
|
1050
|
-
--accent-solid-thumb:
|
|
1078
|
+
/* Thumb that sits on a solid fill (Switch, Slider): the grip colour */
|
|
1079
|
+
--accent-solid-thumb: var(--color-thumb);
|
|
1051
1080
|
/* Badge chip on a solid-highlighted row (Sidebar) */
|
|
1052
1081
|
--accent-solid-badge: var(--accent-12);
|
|
1053
1082
|
--accent-solid-badge-contrast: var(--accent-1);
|
|
@@ -1,130 +1,58 @@
|
|
|
1
|
-
/*
|
|
2
|
-
|
|
3
|
-
|
|
4
|
-
|
|
5
|
-
|
|
6
|
-
|
|
7
|
-
|
|
8
|
-
|
|
9
|
-
|
|
10
|
-
|
|
11
|
-
|
|
12
|
-
|
|
13
|
-
|
|
14
|
-
|
|
15
|
-
|
|
16
|
-
|
|
17
|
-
|
|
18
|
-
|
|
19
|
-
0 10px 15px -3px var(--black-a3),
|
|
20
|
-
0 4px 6px -4px var(--black-a3);
|
|
21
|
-
|
|
22
|
-
--shadow-5:
|
|
23
|
-
0 0 0 0.5px var(--neutral-a6),
|
|
24
|
-
0 20px 25px -5px var(--black-a3),
|
|
25
|
-
0 8px 10px -6px var(--black-a3);
|
|
26
|
-
|
|
27
|
-
--shadow-6:
|
|
28
|
-
0 0 0 0.5px var(--neutral-a6),
|
|
29
|
-
0 25px 50px -12px var(--black-a5);
|
|
30
|
-
}
|
|
1
|
+
/*
|
|
2
|
+
* Shadows follow v2's two layers.
|
|
3
|
+
*
|
|
4
|
+
* The palette, --shadow-1 to --shadow-6, is a set of values. Components never read it.
|
|
5
|
+
* 1 is an inset well, 2 a small drop, 3 a floating drop, 4 a surface drop, 5 a wide drop,
|
|
6
|
+
* 6 the deepest drop. No step draws a ring: an edge is a border's job.
|
|
7
|
+
*
|
|
8
|
+
* Components read roles:
|
|
9
|
+
* --surface-chrome: a raised card or a pane.
|
|
10
|
+
* --control-chrome: a raised control or field, such as a button, a text field or a select.
|
|
11
|
+
* --control-chrome-active: the same control while pressed. The drop tightens toward the surface.
|
|
12
|
+
* --grip-chrome: the thumb of a switch or slider.
|
|
13
|
+
* --control-light: an optional light across a raised control's top half (a background image); none by default.
|
|
14
|
+
* --floating-chrome: a popover, menu, select list, hover card or tooltip.
|
|
15
|
+
* --dialog-chrome: a dialog. Like v2, a dialog is a surface that covers the page.
|
|
16
|
+
*
|
|
17
|
+
* Fields (text field, text area, select trigger) cast nothing. They are a flat soft fill.
|
|
18
|
+
*/
|
|
31
19
|
|
|
32
20
|
/* prettier-ignore */
|
|
33
|
-
|
|
34
|
-
:
|
|
35
|
-
|
|
36
|
-
|
|
37
|
-
|
|
38
|
-
|
|
39
|
-
|
|
40
|
-
|
|
41
|
-
|
|
42
|
-
|
|
43
|
-
|
|
44
|
-
|
|
45
|
-
|
|
46
|
-
|
|
47
|
-
|
|
48
|
-
|
|
49
|
-
--shadow-4:
|
|
50
|
-
0 0 0 0.5px var(--neutral-a6),
|
|
51
|
-
0 10px 15px -3px var(--black-a3),
|
|
52
|
-
0 4px 6px -4px var(--black-a3);
|
|
53
|
-
|
|
54
|
-
--shadow-5:
|
|
55
|
-
0 0 0 0.5px var(--neutral-a6),
|
|
56
|
-
0 20px 25px -5px var(--black-a3),
|
|
57
|
-
0 8px 10px -6px var(--black-a3);
|
|
58
|
-
|
|
59
|
-
--shadow-6:
|
|
60
|
-
0 0 0 0.5px var(--neutral-a6),
|
|
61
|
-
0 25px 50px -12px var(--black-a5);
|
|
62
|
-
}
|
|
21
|
+
:where(.kui-theme) {
|
|
22
|
+
--shadow-1: inset 0 1px 1px rgb(0 0 0 / 0.12), inset 0 2px 4px rgb(0 0 0 / 0.06);
|
|
23
|
+
--shadow-2: 0 1px 2px rgb(0 0 0 / 0.1), 0 5px 14px -4px rgb(0 0 0 / 0.1), 0 12px 30px -8px rgb(0 0 0 / 0.09);
|
|
24
|
+
--shadow-3: 0 1px 2px rgb(0 0 0 / 0.1), 0 8px 22px -6px rgb(0 0 0 / 0.1), 0 18px 48px -14px rgb(0 0 0 / 0.09);
|
|
25
|
+
--shadow-4: 0 1px 2px rgb(0 0 0 / 0.1), 0 24px 64px -12px rgb(0 0 0 / 0.11);
|
|
26
|
+
--shadow-5: 0 1px 2px rgb(0 0 0 / 0.1), 0 12px 32px -8px rgb(0 0 0 / 0.11), 0 32px 80px -16px rgb(0 0 0 / 0.1);
|
|
27
|
+
--shadow-6: 0 1px 2px rgb(0 0 0 / 0.1), 0 16px 40px -10px rgb(0 0 0 / 0.12), 0 40px 100px -20px rgb(0 0 0 / 0.12);
|
|
28
|
+
|
|
29
|
+
--surface-chrome: var(--shadow-4);
|
|
30
|
+
--control-chrome: inset 0 0 0 1px rgb(0 0 0 / 0.08), 0 1px 2px rgb(0 0 0 / 0.04), 0 4px 14px -4px rgb(0 0 0 / 0.08);
|
|
31
|
+
--control-chrome-active: inset 0 0 0 1px rgb(0 0 0 / 0.1), 0 1px 1px rgb(0 0 0 / 0.04);
|
|
32
|
+
--control-light: none;
|
|
33
|
+
/* A grip: the thumb of a switch or slider. A small round object, so a tighter, darker cast. */
|
|
34
|
+
--grip-chrome: 0 1px 2px rgb(0 0 0 / 0.16), 0 2px 6px -1px rgb(0 0 0 / 0.18);
|
|
35
|
+
--floating-chrome: var(--shadow-3);
|
|
36
|
+
--dialog-chrome: var(--surface-chrome);
|
|
63
37
|
}
|
|
64
38
|
|
|
65
39
|
/* prettier-ignore */
|
|
66
40
|
:is(.dark, .dark-theme),
|
|
67
41
|
:is(.dark, .dark-theme) :where(.kui-theme:not(.light, .light-theme)) {
|
|
68
|
-
|
|
69
|
-
--shadow-
|
|
70
|
-
|
|
71
|
-
|
|
72
|
-
|
|
73
|
-
--shadow-
|
|
74
|
-
|
|
75
|
-
|
|
76
|
-
|
|
77
|
-
|
|
78
|
-
--
|
|
79
|
-
|
|
80
|
-
|
|
81
|
-
|
|
82
|
-
|
|
83
|
-
--
|
|
84
|
-
0 0 0 0.5px var(--neutral-a6),
|
|
85
|
-
0 10px 15px -3px var(--black-a3),
|
|
86
|
-
0 4px 6px -4px var(--black-a3);
|
|
87
|
-
|
|
88
|
-
--shadow-5:
|
|
89
|
-
0 0 0 0.5px var(--neutral-a6),
|
|
90
|
-
0 20px 25px -5px var(--black-a3),
|
|
91
|
-
0 8px 10px -6px var(--black-a3);
|
|
92
|
-
|
|
93
|
-
--shadow-6:
|
|
94
|
-
0 0 0 0.5px var(--neutral-a6),
|
|
95
|
-
0 25px 50px -12px var(--black-a5);
|
|
96
|
-
}
|
|
97
|
-
|
|
98
|
-
/* prettier-ignore */
|
|
99
|
-
@supports (color: color-mix(in oklab, white, black)) {
|
|
100
|
-
:is(.dark, .dark-theme),
|
|
101
|
-
:is(.dark, .dark-theme) :where(.kui-theme:not(.light, .light-theme)) {
|
|
102
|
-
--shadow-1:
|
|
103
|
-
inset 0 0 0 0.5px var(--neutral-a6),
|
|
104
|
-
inset 0 1px 1px 0 var(--black-a3);
|
|
105
|
-
|
|
106
|
-
--shadow-2:
|
|
107
|
-
0 0 0 0.5px var(--neutral-a6),
|
|
108
|
-
0 1px 3px 0 var(--black-a3),
|
|
109
|
-
0 1px 2px -1px var(--black-a3);
|
|
110
|
-
|
|
111
|
-
--shadow-3:
|
|
112
|
-
0 0 0 0.5px var(--neutral-a6),
|
|
113
|
-
0 4px 6px -1px var(--black-a3),
|
|
114
|
-
0 2px 4px -2px var(--black-a3);
|
|
115
|
-
|
|
116
|
-
--shadow-4:
|
|
117
|
-
0 0 0 0.5px var(--neutral-a6),
|
|
118
|
-
0 10px 15px -3px var(--black-a3),
|
|
119
|
-
0 4px 6px -4px var(--black-a3);
|
|
120
|
-
|
|
121
|
-
--shadow-5:
|
|
122
|
-
0 0 0 0.5px var(--neutral-a6),
|
|
123
|
-
0 20px 25px -5px var(--black-a3),
|
|
124
|
-
0 8px 10px -6px var(--black-a3);
|
|
125
|
-
|
|
126
|
-
--shadow-6:
|
|
127
|
-
0 0 0 0.5px var(--neutral-a6),
|
|
128
|
-
0 25px 50px -12px var(--black-a5);
|
|
129
|
-
}
|
|
42
|
+
--shadow-1: inset 0 1px 1px rgb(0 0 0 / 0.5), inset 0 2px 4px rgb(0 0 0 / 0.25);
|
|
43
|
+
--shadow-2: 0 1px 2px rgb(0 0 0 / 0.4), 0 5px 14px -4px rgb(0 0 0 / 0.36), 0 12px 30px -8px rgb(0 0 0 / 0.3);
|
|
44
|
+
--shadow-3: 0 1px 2px rgb(0 0 0 / 0.4), 0 8px 22px -6px rgb(0 0 0 / 0.36), 0 18px 48px -14px rgb(0 0 0 / 0.3);
|
|
45
|
+
--shadow-4: 0 1px 2px rgb(0 0 0 / 0.4), 0 24px 64px -12px rgb(0 0 0 / 0.45);
|
|
46
|
+
--shadow-5: 0 1px 2px rgb(0 0 0 / 0.4), 0 12px 32px -8px rgb(0 0 0 / 0.4), 0 32px 80px -16px rgb(0 0 0 / 0.34);
|
|
47
|
+
--shadow-6: 0 1px 2px rgb(0 0 0 / 0.4), 0 16px 40px -10px rgb(0 0 0 / 0.45), 0 40px 100px -20px rgb(0 0 0 / 0.4);
|
|
48
|
+
|
|
49
|
+
--surface-chrome: var(--shadow-4);
|
|
50
|
+
/* On a dark page a raised control's drop is barely visible, so the control also draws a faint
|
|
51
|
+
inner edge. v1 drew this edge with a ring in every shadow; now only the control role has it. */
|
|
52
|
+
--control-chrome: inset 0 0 0 1px rgb(255 255 255 / 0.08), 0 1px 2px rgb(0 0 0 / 0.35), 0 4px 14px -4px rgb(0 0 0 / 0.45);
|
|
53
|
+
--control-chrome-active: inset 0 0 0 1px rgb(255 255 255 / 0.1), 0 1px 1px rgb(0 0 0 / 0.4);
|
|
54
|
+
--control-light: none;
|
|
55
|
+
--grip-chrome: 0 1px 2px rgb(0 0 0 / 0.5), 0 2px 6px -1px rgb(0 0 0 / 0.4);
|
|
56
|
+
--floating-chrome: inset 0 1px 0 rgb(255 255 255 / 0.05), var(--shadow-3);
|
|
57
|
+
--dialog-chrome: var(--surface-chrome);
|
|
130
58
|
}
|