@evinvest/uikit 0.32.0 → 0.33.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/README.md +21 -10
- package/dist/components/atomic/accordion.js +2 -1
- package/dist/components/atomic/accordion.js.map +1 -1
- package/dist/components/atomic/alert.js +4 -4
- package/dist/components/atomic/alert.js.map +1 -1
- package/dist/components/atomic/badge.js +4 -3
- package/dist/components/atomic/badge.js.map +1 -1
- package/dist/components/atomic/breadcrumb.js +7 -9
- package/dist/components/atomic/breadcrumb.js.map +1 -1
- package/dist/components/atomic/button.js +4 -3
- package/dist/components/atomic/button.js.map +1 -1
- package/dist/components/atomic/calendar.js +10 -25
- package/dist/components/atomic/calendar.js.map +1 -1
- package/dist/components/atomic/checkbox.js +2 -1
- package/dist/components/atomic/checkbox.js.map +1 -1
- package/dist/components/atomic/command.js +5 -20
- package/dist/components/atomic/command.js.map +1 -1
- package/dist/components/atomic/context-menu.js +6 -13
- package/dist/components/atomic/context-menu.js.map +1 -1
- package/dist/components/atomic/dialog.js +4 -2
- package/dist/components/atomic/dialog.js.map +1 -1
- package/dist/components/atomic/dropdown-menu.js +6 -14
- package/dist/components/atomic/dropdown-menu.js.map +1 -1
- package/dist/components/atomic/hover-card.js.map +1 -1
- package/dist/components/atomic/info-tip.js +8 -9
- package/dist/components/atomic/info-tip.js.map +1 -1
- package/dist/components/atomic/input-otp.js +2 -1
- package/dist/components/atomic/input-otp.js.map +1 -1
- package/dist/components/atomic/key-value.js +5 -4
- package/dist/components/atomic/key-value.js.map +1 -1
- package/dist/components/atomic/menubar.js +7 -18
- package/dist/components/atomic/menubar.js.map +1 -1
- package/dist/components/atomic/native-select.js +1 -1
- package/dist/components/atomic/native-select.js.map +1 -1
- package/dist/components/atomic/navigation-menu.js +6 -14
- package/dist/components/atomic/navigation-menu.js.map +1 -1
- package/dist/components/atomic/pagination.js +18 -19
- package/dist/components/atomic/pagination.js.map +1 -1
- package/dist/components/atomic/popover.js.map +1 -1
- package/dist/components/atomic/radio-group.js +5 -4
- package/dist/components/atomic/radio-group.js.map +1 -1
- package/dist/components/atomic/section-descriptor.js +5 -8
- package/dist/components/atomic/section-descriptor.js.map +1 -1
- package/dist/components/atomic/select-listbox.js +2 -2
- package/dist/components/atomic/select-listbox.js.map +1 -1
- package/dist/components/atomic/select.js +5 -13
- package/dist/components/atomic/select.js.map +1 -1
- package/dist/components/atomic/sheet.js +4 -2
- package/dist/components/atomic/sheet.js.map +1 -1
- package/dist/components/atomic/sidebar.js +7 -26
- package/dist/components/atomic/sidebar.js.map +1 -1
- package/dist/components/atomic/slider.js.map +1 -1
- package/dist/components/atomic/sonner.js +20 -18
- package/dist/components/atomic/sonner.js.map +1 -1
- package/dist/components/atomic/spinner.js +6 -3
- package/dist/components/atomic/spinner.js.map +1 -1
- package/dist/components/atomic/tabs.js.map +1 -1
- package/dist/components/atomic/toggle-group.js +2 -2
- package/dist/components/atomic/toggle-group.js.map +1 -1
- package/dist/components/atomic/toggle.js +3 -6
- package/dist/components/atomic/toggle.js.map +1 -1
- package/dist/components/atomic/tooltip.js.map +1 -1
- package/dist/components/derived/carousel.js +6 -6
- package/dist/components/derived/carousel.js.map +1 -1
- package/dist/components/derived/command-palette.js +8 -7
- package/dist/components/derived/command-palette.js.map +1 -1
- package/dist/components/derived/confirm-dialog.js +8 -13
- package/dist/components/derived/confirm-dialog.js.map +1 -1
- package/dist/components/derived/date-time-picker.js +10 -14
- package/dist/components/derived/date-time-picker.js.map +1 -1
- package/dist/components/derived/field.js.map +1 -1
- package/dist/components/derived/form.js +0 -1
- package/dist/components/derived/form.js.map +1 -1
- package/dist/components/derived/icon-button.js.map +1 -1
- package/dist/components/derived/item.js +0 -1
- package/dist/components/derived/item.js.map +1 -1
- package/dist/components/derived/popover-form.js +4 -3
- package/dist/components/derived/popover-form.js.map +1 -1
- package/dist/components/derived/settings.js +4 -4
- package/dist/components/derived/settings.js.map +1 -1
- package/dist/components/shell/account-menu-profile.js +1 -1
- package/dist/components/shell/account-menu-profile.js.map +1 -1
- package/dist/components/shell/account-settings-dialog.js +3 -2
- package/dist/components/shell/account-settings-dialog.js.map +1 -1
- package/dist/components/shell/aside.js +6 -4
- package/dist/components/shell/aside.js.map +1 -1
- package/dist/components/shell/auth-wall.js +3 -5
- package/dist/components/shell/auth-wall.js.map +1 -1
- package/dist/components/shell/bottom-tab-bar.js +3 -3
- package/dist/components/shell/bottom-tab-bar.js.map +1 -1
- package/dist/components/shell/chat-composer.js +9 -7
- package/dist/components/shell/chat-composer.js.map +1 -1
- package/dist/components/shell/chat-message.js.map +1 -1
- package/dist/components/shell/chat-typing.js +2 -1
- package/dist/components/shell/chat-typing.js.map +1 -1
- package/dist/components/shell/footer.js +26 -24
- package/dist/components/shell/footer.js.map +1 -1
- package/dist/components/shell/header-controls.js +17 -15
- package/dist/components/shell/header-controls.js.map +1 -1
- package/dist/components/shell/hotbar.js +158 -0
- package/dist/components/shell/hotbar.js.map +1 -0
- package/dist/components/shell/logo.js +3 -2
- package/dist/components/shell/logo.js.map +1 -1
- package/dist/components/shell/mobile-app-bar.js +4 -4
- package/dist/components/shell/mobile-app-bar.js.map +1 -1
- package/dist/components/shell/nav-collapse.js +6 -5
- package/dist/components/shell/nav-collapse.js.map +1 -1
- package/dist/components/shell/resource-error.js +2 -2
- package/dist/components/shell/resource-error.js.map +1 -1
- package/dist/components/shell/section-nav.js +3 -3
- package/dist/components/shell/section-nav.js.map +1 -1
- package/dist/components/shell/shell-icons.js +7 -22
- package/dist/components/shell/shell-icons.js.map +1 -1
- package/dist/components/shell/shell-nav.js +4 -4
- package/dist/components/shell/shell-nav.js.map +1 -1
- package/dist/components/shell/smart-header.js.map +1 -1
- package/dist/components/shell/status-screen.js +35 -35
- package/dist/components/shell/status-screen.js.map +1 -1
- package/dist/components/shell/system-banner.js +6 -6
- package/dist/components/shell/system-banner.js.map +1 -1
- package/dist/components/shell/workspace-tab.js +2 -1
- package/dist/components/shell/workspace-tab.js.map +1 -1
- package/dist/generated/accent.js +10 -10
- package/dist/generated/accent.js.map +1 -1
- package/dist/generated/accordion.js +6 -2
- package/dist/generated/accordion.js.map +1 -1
- package/dist/generated/account-list.js +4 -4
- package/dist/generated/account-list.js.map +1 -1
- package/dist/generated/account-settings-dialog.js +6 -2
- package/dist/generated/account-settings-dialog.js.map +1 -1
- package/dist/generated/alert-dialog.js +1 -1
- package/dist/generated/alert-dialog.js.map +1 -1
- package/dist/generated/alert.js +3 -10
- package/dist/generated/alert.js.map +1 -1
- package/dist/generated/aside.js +7 -0
- package/dist/generated/aside.js.map +1 -1
- package/dist/generated/badge.js +2 -11
- package/dist/generated/badge.js.map +1 -1
- package/dist/generated/band.js +10 -10
- package/dist/generated/band.js.map +1 -1
- package/dist/generated/breadcrumb.js +1 -1
- package/dist/generated/breadcrumb.js.map +1 -1
- package/dist/generated/button-group.js +3 -3
- package/dist/generated/button-group.js.map +1 -1
- package/dist/generated/button.js +4 -20
- package/dist/generated/button.js.map +1 -1
- package/dist/generated/calendar.js +5 -5
- package/dist/generated/calendar.js.map +1 -1
- package/dist/generated/card.js +1 -1
- package/dist/generated/card.js.map +1 -1
- package/dist/generated/carousel.js +1 -1
- package/dist/generated/carousel.js.map +1 -1
- package/dist/generated/chat-composer.js +9 -2
- package/dist/generated/chat-composer.js.map +1 -1
- package/dist/generated/chat-message.js +25 -19
- package/dist/generated/chat-message.js.map +1 -1
- package/dist/generated/checkbox.js +1 -1
- package/dist/generated/checkbox.js.map +1 -1
- package/dist/generated/command-palette.js +10 -1
- package/dist/generated/command-palette.js.map +1 -1
- package/dist/generated/command.js +8 -6
- package/dist/generated/command.js.map +1 -1
- package/dist/generated/confirm-dialog.js +8 -8
- package/dist/generated/confirm-dialog.js.map +1 -1
- package/dist/generated/context-menu.js +7 -5
- package/dist/generated/context-menu.js.map +1 -1
- package/dist/generated/copy.js +97 -0
- package/dist/generated/copy.js.map +1 -0
- package/dist/generated/date-time-picker.js +10 -0
- package/dist/generated/date-time-picker.js.map +1 -1
- package/dist/generated/dialog.js +2 -2
- package/dist/generated/dialog.js.map +1 -1
- package/dist/generated/drawer.js +6 -6
- package/dist/generated/drawer.js.map +1 -1
- package/dist/generated/dropdown-menu.js +7 -5
- package/dist/generated/dropdown-menu.js.map +1 -1
- package/dist/generated/empty.js +5 -5
- package/dist/generated/empty.js.map +1 -1
- package/dist/generated/field.js +9 -7
- package/dist/generated/field.js.map +1 -1
- package/dist/generated/footer.js +45 -0
- package/dist/generated/footer.js.map +1 -0
- package/dist/generated/header-controls.js +5 -10
- package/dist/generated/header-controls.js.map +1 -1
- package/dist/generated/hover-card.js +1 -1
- package/dist/generated/hover-card.js.map +1 -1
- package/dist/generated/icon-button.js +4 -2
- package/dist/generated/icon-button.js.map +1 -1
- package/dist/generated/icons.js +36 -0
- package/dist/generated/icons.js.map +1 -0
- package/dist/generated/info-tip.js +5 -0
- package/dist/generated/info-tip.js.map +1 -0
- package/dist/generated/input-group.js +10 -10
- package/dist/generated/input-group.js.map +1 -1
- package/dist/generated/input-otp.js +2 -2
- package/dist/generated/input-otp.js.map +1 -1
- package/dist/generated/input.js +4 -4
- package/dist/generated/input.js.map +1 -1
- package/dist/generated/item.js +11 -11
- package/dist/generated/item.js.map +1 -1
- package/dist/generated/kbd.js +1 -1
- package/dist/generated/kbd.js.map +1 -1
- package/dist/generated/key-value.js +7 -1
- package/dist/generated/key-value.js.map +1 -1
- package/dist/generated/label.js +1 -1
- package/dist/generated/label.js.map +1 -1
- package/dist/generated/logo.js +9 -0
- package/dist/generated/logo.js.map +1 -0
- package/dist/generated/menu.js +7 -0
- package/dist/generated/menu.js.map +1 -0
- package/dist/generated/menubar.js +10 -8
- package/dist/generated/menubar.js.map +1 -1
- package/dist/generated/navigation-menu.js +11 -5
- package/dist/generated/navigation-menu.js.map +1 -1
- package/dist/generated/orientation.js +5 -0
- package/dist/generated/orientation.js.map +1 -0
- package/dist/generated/pagination.js +15 -0
- package/dist/generated/pagination.js.map +1 -0
- package/dist/generated/popover-form.js +5 -0
- package/dist/generated/popover-form.js.map +1 -1
- package/dist/generated/popover.js +1 -1
- package/dist/generated/popover.js.map +1 -1
- package/dist/generated/primitives.js +7 -0
- package/dist/generated/primitives.js.map +1 -0
- package/dist/generated/radio-group.js +5 -1
- package/dist/generated/radio-group.js.map +1 -1
- package/dist/generated/section-descriptor.js +7 -0
- package/dist/generated/section-descriptor.js.map +1 -0
- package/dist/generated/select.js +16 -10
- package/dist/generated/select.js.map +1 -1
- package/dist/generated/settings.js +2 -7
- package/dist/generated/settings.js.map +1 -1
- package/dist/generated/sheet.js +1 -1
- package/dist/generated/sheet.js.map +1 -1
- package/dist/generated/sidebar.js +24 -12
- package/dist/generated/sidebar.js.map +1 -1
- package/dist/generated/size.js +12 -0
- package/dist/generated/size.js.map +1 -0
- package/dist/generated/skeleton.js +1 -1
- package/dist/generated/skeleton.js.map +1 -1
- package/dist/generated/slider.js +2 -2
- package/dist/generated/slider.js.map +1 -1
- package/dist/generated/slot.js +5 -0
- package/dist/generated/slot.js.map +1 -0
- package/dist/generated/smart-header.js +2 -0
- package/dist/generated/smart-header.js.map +1 -1
- package/dist/generated/sonner.js +11 -13
- package/dist/generated/sonner.js.map +1 -1
- package/dist/generated/spinner.js +5 -0
- package/dist/generated/spinner.js.map +1 -0
- package/dist/generated/status-screen.js +27 -0
- package/dist/generated/status-screen.js.map +1 -0
- package/dist/generated/switch.js +2 -2
- package/dist/generated/switch.js.map +1 -1
- package/dist/generated/system-banner.js +6 -16
- package/dist/generated/system-banner.js.map +1 -1
- package/dist/generated/table.js +9 -9
- package/dist/generated/table.js.map +1 -1
- package/dist/generated/tabs.js +2 -2
- package/dist/generated/tabs.js.map +1 -1
- package/dist/generated/textarea.js +1 -1
- package/dist/generated/textarea.js.map +1 -1
- package/dist/generated/toggle-group.js +9 -0
- package/dist/generated/toggle-group.js.map +1 -0
- package/dist/generated/toggle.js +1 -9
- package/dist/generated/toggle.js.map +1 -1
- package/dist/generated/tone.js +12 -0
- package/dist/generated/tone.js.map +1 -0
- package/dist/generated/tooltip.js +1 -1
- package/dist/generated/tooltip.js.map +1 -1
- package/dist/generated/workspace-tab.js +3 -3
- package/dist/generated/workspace-tab.js.map +1 -1
- package/dist/icons/icon-shapes.js +10 -0
- package/dist/icons/icon-shapes.js.map +1 -0
- package/dist/icons/select-chevron.js +2 -1
- package/dist/icons/select-chevron.js.map +1 -1
- package/dist/icons/ui-icons.js +3 -57
- package/dist/icons/ui-icons.js.map +1 -1
- package/dist/index.d.ts +203 -155
- package/dist/index.js +1 -0
- package/dist/lib/cn.js +1 -0
- package/dist/lib/cn.js.map +1 -1
- package/dist/primitives/use-floating.js.map +1 -1
- package/dist/primitives/use-roving-focus.js.map +1 -1
- package/package.json +1 -1
- package/styles/ev.css +13 -76
- package/styles/theme.css +133 -66
- package/styles/tokens.css +157 -149
package/styles/tokens.css
CHANGED
|
@@ -23,17 +23,21 @@
|
|
|
23
23
|
* accent-trace · accent-debug · accent-info · accent-warn · accent-error
|
|
24
24
|
* primary-ink — the primary role as ink on a surface, where the
|
|
25
25
|
* fill and the readable value are different colours;
|
|
26
|
-
* primary-hover ·
|
|
26
|
+
* primary-hover · accent-*-hover — a solid fill's hover, derived;
|
|
27
|
+
* primary-border — the primary button's edge;
|
|
28
|
+
* on-secondary — the ink, derived
|
|
27
29
|
* positive-ink · accent-info-ink — a quiet status role as text on
|
|
28
30
|
* a surface; derived from the role and the ink, a palette may pin
|
|
29
31
|
* them. warn and error are text in their own colour
|
|
30
|
-
* FACES button-
|
|
31
|
-
*
|
|
32
|
-
* what a Button or
|
|
32
|
+
* FACES button-danger-* ({bg,hover,border,ink}) and
|
|
33
|
+
* tint-{neutral,primary,positive,info,warn,error,trace,debug}-{fill,edge}:
|
|
34
|
+
* what a Button or a toned chip, toast or banner paints, pinned per theme by EV and
|
|
33
35
|
* derived for a brand. Not part of what a brand file owes.
|
|
34
36
|
* TYPE text-caption · body-s · body · body-l · h3 · h2 · h1 ·
|
|
35
|
-
* figure-m · figure-l (size and line height)
|
|
36
|
-
*
|
|
37
|
+
* figure-m · figure-l (size and line height), derived from
|
|
38
|
+
* body-{size,step,leading} and display-{base,step,leading} ·
|
|
39
|
+
* figure-leading · display-scale; fonts
|
|
40
|
+
* SCALARS radius · control-radius · chip-radius · control-* · disabled-opacity · body-* · display-* · figure-leading ·
|
|
37
41
|
* page-* · shell-* · depth-* (behind shadow-card/elevated/overlay)
|
|
38
42
|
* MOTION ev-ease-* · ev-dur-* · ev-rise · ev-stagger(-section)
|
|
39
43
|
* CHARTS chart-1 … chart-6
|
|
@@ -720,6 +724,11 @@
|
|
|
720
724
|
--radius-lg: var(--radius);
|
|
721
725
|
--radius-xl: calc(var(--radius) + 4px);
|
|
722
726
|
--radius-2xl: calc(var(--radius) + 8px);
|
|
727
|
+
/* the roles the kit's tables name; the steps above are the consumer's */
|
|
728
|
+
--radius-control: var(--control-radius);
|
|
729
|
+
--radius-panel: var(--radius);
|
|
730
|
+
--radius-chip: var(--chip-radius);
|
|
731
|
+
--radius-row: calc(var(--radius) - 4px); /* concentric inside a panel's p-1 */
|
|
723
732
|
|
|
724
733
|
/* The names stay, the values are per theme: u2 is flat (`--depth-*` is a
|
|
725
734
|
* zero shadow), Oldschool brings the ladder back in ev.css. */
|
|
@@ -727,25 +736,25 @@
|
|
|
727
736
|
--shadow-elevated: var(--depth-elevated);
|
|
728
737
|
--shadow-overlay: var(--depth-overlay);
|
|
729
738
|
|
|
730
|
-
/* Type scale:
|
|
731
|
-
--text-caption:
|
|
732
|
-
--text-caption--line-height:
|
|
733
|
-
--text-body-s:
|
|
734
|
-
--text-body-s--line-height:
|
|
735
|
-
--text-body:
|
|
736
|
-
--text-body--line-height:
|
|
737
|
-
--text-body-l:
|
|
738
|
-
--text-body-l--line-height:
|
|
739
|
-
--text-h3:
|
|
740
|
-
--text-h3--line-height:
|
|
741
|
-
--text-h2:
|
|
742
|
-
--text-h2--line-height:
|
|
743
|
-
--text-h1:
|
|
744
|
-
--text-h1--line-height:
|
|
745
|
-
--text-figure-m:
|
|
746
|
-
--text-figure-m--line-height:
|
|
747
|
-
--text-figure-l:
|
|
748
|
-
--text-figure-l--line-height:
|
|
739
|
+
/* Type scale: two even-step ramps off the geometry rule's inputs (docs/spec/roles.md). */
|
|
740
|
+
--text-caption: calc(var(--body-size) - 2 * var(--body-step));
|
|
741
|
+
--text-caption--line-height: calc(var(--body-leading) - 4 * var(--body-step));
|
|
742
|
+
--text-body-s: calc(var(--body-size) - var(--body-step));
|
|
743
|
+
--text-body-s--line-height: calc(var(--body-leading) - 2 * var(--body-step));
|
|
744
|
+
--text-body: var(--body-size);
|
|
745
|
+
--text-body--line-height: var(--body-leading);
|
|
746
|
+
--text-body-l: calc(var(--body-size) + var(--body-step));
|
|
747
|
+
--text-body-l--line-height: calc(var(--body-leading) + 2 * var(--body-step));
|
|
748
|
+
--text-h3: calc(var(--body-size) + var(--body-step));
|
|
749
|
+
--text-h3--line-height: calc(var(--body-leading) + 2 * var(--body-step));
|
|
750
|
+
--text-h2: calc((var(--display-base) + 2 * var(--display-step)) * var(--display-scale));
|
|
751
|
+
--text-h2--line-height: calc((var(--display-base) + 2 * var(--display-step) + var(--display-leading)) * var(--display-scale));
|
|
752
|
+
--text-h1: calc((var(--display-base) + 4 * var(--display-step)) * var(--display-scale));
|
|
753
|
+
--text-h1--line-height: calc((var(--display-base) + 4 * var(--display-step) + var(--display-leading)) * var(--display-scale));
|
|
754
|
+
--text-figure-m: calc((var(--display-base) + var(--display-step)) * var(--display-scale));
|
|
755
|
+
--text-figure-m--line-height: calc((var(--display-base) + var(--display-step) + var(--figure-leading)) * var(--display-scale));
|
|
756
|
+
--text-figure-l: calc((var(--display-base) + 3 * var(--display-step)) * var(--display-scale));
|
|
757
|
+
--text-figure-l--line-height: calc((var(--display-base) + 3 * var(--display-step) + var(--figure-leading)) * var(--display-scale));
|
|
749
758
|
|
|
750
759
|
/* The families are parameters, apart from the colour contract: a brand scope
|
|
751
760
|
* sets `--brand-font-sans`, `--brand-font-serif` and `--brand-font-mono`
|
|
@@ -804,38 +813,51 @@
|
|
|
804
813
|
--color-positive-ink: var(--positive-ink);
|
|
805
814
|
--color-accent-trace: var(--accent-trace);
|
|
806
815
|
--color-on-accent-trace: var(--on-accent-trace);
|
|
816
|
+
--color-accent-trace-hover: var(--accent-trace-hover);
|
|
807
817
|
--color-accent-debug: var(--accent-debug);
|
|
808
818
|
--color-on-accent-debug: var(--on-accent-debug);
|
|
819
|
+
--color-accent-debug-hover: var(--accent-debug-hover);
|
|
809
820
|
--color-accent-info: var(--accent-info);
|
|
810
821
|
--color-on-accent-info: var(--on-accent-info);
|
|
822
|
+
--color-accent-info-hover: var(--accent-info-hover);
|
|
811
823
|
--color-accent-info-ink: var(--accent-info-ink);
|
|
812
824
|
--color-accent-warn: var(--accent-warn);
|
|
813
825
|
--color-on-accent-warn: var(--on-accent-warn);
|
|
826
|
+
--color-accent-warn-hover: var(--accent-warn-hover);
|
|
814
827
|
--color-accent-error: var(--accent-error);
|
|
815
828
|
--color-on-accent-error: var(--on-accent-error);
|
|
829
|
+
--color-accent-error-hover: var(--accent-error-hover);
|
|
816
830
|
|
|
817
|
-
/* component faces: derived below, pinned per theme by EV, so `bg-button-
|
|
818
|
-
* and `border-
|
|
819
|
-
--color-button-primary-bg: var(--button-primary-bg);
|
|
820
|
-
--color-button-primary-hover: var(--button-primary-hover);
|
|
821
|
-
--color-button-primary-border: var(--button-primary-border);
|
|
822
|
-
--color-button-primary-ink: var(--button-primary-ink);
|
|
831
|
+
/* component faces: derived below, pinned per theme by EV, so `bg-button-danger-bg`
|
|
832
|
+
* and `border-tint-error-edge` are real utilities the class merge understands */
|
|
823
833
|
--color-button-danger-bg: var(--button-danger-bg);
|
|
824
834
|
--color-button-danger-hover: var(--button-danger-hover);
|
|
825
835
|
--color-button-danger-border: var(--button-danger-border);
|
|
826
836
|
--color-button-danger-ink: var(--button-danger-ink);
|
|
827
|
-
--color-
|
|
828
|
-
--color-
|
|
829
|
-
--color-
|
|
830
|
-
--color-
|
|
831
|
-
--color-
|
|
832
|
-
--color-
|
|
833
|
-
--color-
|
|
834
|
-
--color-
|
|
835
|
-
--color-
|
|
836
|
-
--color-
|
|
837
|
-
--color-
|
|
838
|
-
--color-
|
|
837
|
+
--color-tint-neutral-fill: var(--tint-neutral-fill);
|
|
838
|
+
--color-tint-neutral-edge: var(--tint-neutral-edge);
|
|
839
|
+
--color-tint-neutral-wash: var(--tint-neutral-wash);
|
|
840
|
+
--color-tint-primary-fill: var(--tint-primary-fill);
|
|
841
|
+
--color-tint-primary-edge: var(--tint-primary-edge);
|
|
842
|
+
--color-tint-primary-wash: var(--tint-primary-wash);
|
|
843
|
+
--color-tint-positive-fill: var(--tint-positive-fill);
|
|
844
|
+
--color-tint-positive-edge: var(--tint-positive-edge);
|
|
845
|
+
--color-tint-positive-wash: var(--tint-positive-wash);
|
|
846
|
+
--color-tint-info-fill: var(--tint-info-fill);
|
|
847
|
+
--color-tint-info-edge: var(--tint-info-edge);
|
|
848
|
+
--color-tint-info-wash: var(--tint-info-wash);
|
|
849
|
+
--color-tint-warn-fill: var(--tint-warn-fill);
|
|
850
|
+
--color-tint-warn-edge: var(--tint-warn-edge);
|
|
851
|
+
--color-tint-warn-wash: var(--tint-warn-wash);
|
|
852
|
+
--color-tint-error-fill: var(--tint-error-fill);
|
|
853
|
+
--color-tint-error-edge: var(--tint-error-edge);
|
|
854
|
+
--color-tint-error-wash: var(--tint-error-wash);
|
|
855
|
+
--color-tint-trace-fill: var(--tint-trace-fill);
|
|
856
|
+
--color-tint-trace-edge: var(--tint-trace-edge);
|
|
857
|
+
--color-tint-trace-wash: var(--tint-trace-wash);
|
|
858
|
+
--color-tint-debug-fill: var(--tint-debug-fill);
|
|
859
|
+
--color-tint-debug-edge: var(--tint-debug-edge);
|
|
860
|
+
--color-tint-debug-wash: var(--tint-debug-wash);
|
|
839
861
|
|
|
840
862
|
/* charts — distinguishable hues carrying no significance */
|
|
841
863
|
--color-chart-1: var(--chart-1);
|
|
@@ -875,7 +897,14 @@
|
|
|
875
897
|
* side — ink over white needs ~47% to clear it, dark lands near 4:1. */
|
|
876
898
|
--input: color-mix(in srgb, var(--ink) 48%, transparent);
|
|
877
899
|
--ring: var(--primary-ink);
|
|
878
|
-
--
|
|
900
|
+
--on-secondary: var(--ink);
|
|
901
|
+
/* a solid fill's hover moves away from its label, so the label only gains contrast */
|
|
902
|
+
--primary-hover: color-mix(in srgb, rgb(from var(--on-primary) calc(255 - r) calc(255 - g) calc(255 - b)) var(--tint-hover), var(--primary));
|
|
903
|
+
--accent-trace-hover: color-mix(in srgb, rgb(from var(--on-accent-trace) calc(255 - r) calc(255 - g) calc(255 - b)) var(--tint-hover), var(--accent-trace));
|
|
904
|
+
--accent-debug-hover: color-mix(in srgb, rgb(from var(--on-accent-debug) calc(255 - r) calc(255 - g) calc(255 - b)) var(--tint-hover), var(--accent-debug));
|
|
905
|
+
--accent-info-hover: color-mix(in srgb, rgb(from var(--on-accent-info) calc(255 - r) calc(255 - g) calc(255 - b)) var(--tint-hover), var(--accent-info));
|
|
906
|
+
--accent-warn-hover: color-mix(in srgb, rgb(from var(--on-accent-warn) calc(255 - r) calc(255 - g) calc(255 - b)) var(--tint-hover), var(--accent-warn));
|
|
907
|
+
--accent-error-hover: color-mix(in srgb, rgb(from var(--on-accent-error) calc(255 - r) calc(255 - g) calc(255 - b)) var(--tint-hover), var(--accent-error));
|
|
879
908
|
--primary-border: color-mix(in srgb, var(--primary-ink) 55%, transparent);
|
|
880
909
|
/* the quiet status roles as text on a surface: a fill is a shape, and as text
|
|
881
910
|
* it reads far below AA on a light plane. warn and error have none: they are
|
|
@@ -890,31 +919,40 @@
|
|
|
890
919
|
* same scopes, listed in another order so the contract reader finds one rule
|
|
891
920
|
* per selector. */
|
|
892
921
|
:where([data-theme], [data-brand], .light, .dark, :root) {
|
|
893
|
-
/*
|
|
894
|
-
--button-primary-bg: transparent;
|
|
895
|
-
--button-primary-hover: var(--hover);
|
|
896
|
-
--button-primary-border: color-mix(in srgb, var(--ink) 60%, transparent);
|
|
897
|
-
--button-primary-ink: var(--ink);
|
|
922
|
+
/* danger is an outline in the error role */
|
|
898
923
|
--button-danger-bg: transparent;
|
|
899
|
-
--button-danger-hover: color-mix(in srgb, var(--accent-error)
|
|
924
|
+
--button-danger-hover: color-mix(in srgb, var(--accent-error) var(--tint-hover), transparent);
|
|
900
925
|
--button-danger-border: var(--accent-error);
|
|
901
926
|
--button-danger-ink: var(--accent-error);
|
|
902
927
|
|
|
903
|
-
/*
|
|
904
|
-
* the edge and the label are one hue
|
|
905
|
-
*
|
|
906
|
-
|
|
907
|
-
--
|
|
908
|
-
--
|
|
909
|
-
--
|
|
910
|
-
--
|
|
911
|
-
--
|
|
912
|
-
--
|
|
913
|
-
--
|
|
914
|
-
--
|
|
915
|
-
--
|
|
916
|
-
--
|
|
917
|
-
--
|
|
928
|
+
/* a tone worn as a tint: a chip's fill and edge are the tone's ink at
|
|
929
|
+
* --tint-fill and --tint-edge, so the edge and the label are one hue, and an
|
|
930
|
+
* area's wash is it at --tint-wash. warn and error are their own ink
|
|
931
|
+
* (docs/spec/accents.md). */
|
|
932
|
+
--tint-neutral-fill: var(--hover);
|
|
933
|
+
--tint-neutral-edge: var(--border);
|
|
934
|
+
--tint-neutral-wash: transparent;
|
|
935
|
+
--tint-primary-fill: color-mix(in srgb, var(--primary-ink) var(--tint-fill), transparent);
|
|
936
|
+
--tint-primary-edge: color-mix(in srgb, var(--primary-ink) var(--tint-edge), transparent);
|
|
937
|
+
--tint-primary-wash: color-mix(in srgb, var(--primary-ink) var(--tint-wash), transparent);
|
|
938
|
+
--tint-positive-fill: color-mix(in srgb, var(--positive-ink) var(--tint-fill), transparent);
|
|
939
|
+
--tint-positive-edge: color-mix(in srgb, var(--positive-ink) var(--tint-edge), transparent);
|
|
940
|
+
--tint-positive-wash: color-mix(in srgb, var(--positive-ink) var(--tint-wash), transparent);
|
|
941
|
+
--tint-info-fill: color-mix(in srgb, var(--accent-info-ink) var(--tint-fill), transparent);
|
|
942
|
+
--tint-info-edge: color-mix(in srgb, var(--accent-info-ink) var(--tint-edge), transparent);
|
|
943
|
+
--tint-info-wash: color-mix(in srgb, var(--accent-info-ink) var(--tint-wash), transparent);
|
|
944
|
+
--tint-warn-fill: color-mix(in srgb, var(--accent-warn) var(--tint-fill), transparent);
|
|
945
|
+
--tint-warn-edge: color-mix(in srgb, var(--accent-warn) var(--tint-edge), transparent);
|
|
946
|
+
--tint-warn-wash: color-mix(in srgb, var(--accent-warn) var(--tint-wash), transparent);
|
|
947
|
+
--tint-error-fill: color-mix(in srgb, var(--accent-error) var(--tint-fill), transparent);
|
|
948
|
+
--tint-error-edge: color-mix(in srgb, var(--accent-error) var(--tint-edge), transparent);
|
|
949
|
+
--tint-error-wash: color-mix(in srgb, var(--accent-error) var(--tint-wash), transparent);
|
|
950
|
+
--tint-trace-fill: color-mix(in srgb, var(--accent-trace) var(--tint-fill), transparent);
|
|
951
|
+
--tint-trace-edge: color-mix(in srgb, var(--accent-trace) var(--tint-edge), transparent);
|
|
952
|
+
--tint-trace-wash: color-mix(in srgb, var(--accent-trace) var(--tint-wash), transparent);
|
|
953
|
+
--tint-debug-fill: color-mix(in srgb, var(--accent-debug) var(--tint-fill), transparent);
|
|
954
|
+
--tint-debug-edge: color-mix(in srgb, var(--accent-debug) var(--tint-edge), transparent);
|
|
955
|
+
--tint-debug-wash: color-mix(in srgb, var(--accent-debug) var(--tint-wash), transparent);
|
|
918
956
|
}
|
|
919
957
|
|
|
920
958
|
/* Geometry. A `[data-brand]` scope is a theme root of its own, so it restarts
|
|
@@ -924,22 +962,37 @@
|
|
|
924
962
|
--radius: 0.375rem; /* panels and menus */
|
|
925
963
|
/* control geometry, so a consumer reshapes every button/input at once */
|
|
926
964
|
--control-radius: 0.25rem;
|
|
965
|
+
--control-h: 2.25rem;
|
|
966
|
+
--control-step: 0.25rem;
|
|
967
|
+
--control-inset: 1rem; /* the md rung's side inset; every other rung's moves with its height */
|
|
927
968
|
--chip-radius: 0.25rem;
|
|
928
|
-
|
|
929
|
-
|
|
930
|
-
|
|
931
|
-
--
|
|
969
|
+
--disabled-opacity: 0.5;
|
|
970
|
+
/* how much of its ink a tint's fill and edge take: an outline by default, a
|
|
971
|
+
* tinted pill where a theme raises the fill; and a tone's pointed-at row or face */
|
|
972
|
+
--tint-fill: 0%;
|
|
973
|
+
--tint-edge: 50%;
|
|
974
|
+
--tint-hover: 10%;
|
|
975
|
+
/* how much of its ink an area in a tone (a banner, an alert) is washed with:
|
|
976
|
+
* an area needs a body to read as content, where a chip reads as an outline.
|
|
977
|
+
* At 10 % Light's positive and warn labels fall under their floor. */
|
|
978
|
+
--tint-wash: 6%;
|
|
932
979
|
/* u2 is flat: depth is surface steps and hairlines. Never `none` — inside
|
|
933
980
|
* Tailwind's comma-separated box-shadow list it invalidates the whole
|
|
934
981
|
* declaration, and the focus ring goes with it. */
|
|
935
982
|
--depth-card: 0 0 #0000;
|
|
936
983
|
--depth-elevated: 0 0 #0000;
|
|
937
984
|
--depth-overlay: 0 0 #0000;
|
|
938
|
-
|
|
939
|
-
/* the Xl (call-to-action) button reads all three */
|
|
985
|
+
/* the Xl (call-to-action) rung's inset and text */
|
|
940
986
|
--control-px: 2rem;
|
|
941
987
|
--control-text: 1rem;
|
|
942
|
-
/*
|
|
988
|
+
/* the type ramps: text steps 1 px, display steps 4 px, a scale over the display tier */
|
|
989
|
+
--body-size: 0.8125rem;
|
|
990
|
+
--body-step: 0.0625rem;
|
|
991
|
+
--body-leading: 1.125rem;
|
|
992
|
+
--display-base: 1rem;
|
|
993
|
+
--display-step: 0.25rem;
|
|
994
|
+
--display-leading: 0.375rem; /* h1, h2 */
|
|
995
|
+
--figure-leading: 0.25rem; /* figure-m, figure-l */
|
|
943
996
|
--display-scale: 1;
|
|
944
997
|
/* the vertical rhythm of a full-bleed <Section>; `tight` is the sub-page one */
|
|
945
998
|
--band-py: 2.25rem;
|
|
@@ -983,6 +1036,24 @@
|
|
|
983
1036
|
*/
|
|
984
1037
|
}
|
|
985
1038
|
|
|
1039
|
+
/* The control height and inset ramps a `Size` step names, re-derived on every
|
|
1040
|
+
* scope that may set `--control-h`. Pin one step to bend the ramp. */
|
|
1041
|
+
:where(:root, [data-brand], [data-theme]) {
|
|
1042
|
+
--control-h-2xs: calc(var(--control-h) - 3 * var(--control-step));
|
|
1043
|
+
--control-h-xs: calc(var(--control-h) - 2 * var(--control-step));
|
|
1044
|
+
--control-h-sm: calc(var(--control-h) - var(--control-step));
|
|
1045
|
+
--control-h-md: var(--control-h);
|
|
1046
|
+
--control-h-lg: calc(var(--control-h) + var(--control-step));
|
|
1047
|
+
--control-h-xl: calc(var(--control-h) + 3 * var(--control-step));
|
|
1048
|
+
--control-h-touch: max(var(--control-h-lg), 2.75rem); /* the 44 px pointer-target floor (WCAG 2.5.5) */
|
|
1049
|
+
--control-inset-xs: calc(var(--control-h-xs) - var(--control-h) + var(--control-inset));
|
|
1050
|
+
--control-inset-sm: calc(var(--control-h-sm) - var(--control-h) + var(--control-inset));
|
|
1051
|
+
--control-inset-md: var(--control-inset);
|
|
1052
|
+
--control-inset-lg: calc(var(--control-h-lg) - var(--control-h) + var(--control-inset));
|
|
1053
|
+
--control-inset-xl: var(--control-px);
|
|
1054
|
+
--control-inset-touch: calc(var(--control-h-touch) - var(--control-h) + var(--control-inset));
|
|
1055
|
+
}
|
|
1056
|
+
|
|
986
1057
|
:root {
|
|
987
1058
|
/* shell offset — viewport space reserved by whatever shell hosts the app.
|
|
988
1059
|
Standalone apps get 0; a hosting shell overrides on :root. Size
|
|
@@ -1051,7 +1122,6 @@
|
|
|
1051
1122
|
--background: #0d0d0f;
|
|
1052
1123
|
--card: #151518;
|
|
1053
1124
|
--secondary: #1c1c20;
|
|
1054
|
-
--on-secondary: var(--ink);
|
|
1055
1125
|
--popover: #252529;
|
|
1056
1126
|
--muted: #070709;
|
|
1057
1127
|
--hover: #e6e1d30f;
|
|
@@ -1075,13 +1145,11 @@
|
|
|
1075
1145
|
|
|
1076
1146
|
/* brand and primary. A fill and an ink are different jobs (docs/spec/accents.md):
|
|
1077
1147
|
* --primary carries white at 4.62:1 and reads as a shape on every plane (3.30:1
|
|
1078
|
-
* on the popover); --primary-ink is the teal that reads as text (4.96:1 there).
|
|
1079
|
-
* Figma's hover #18998b is 3.52:1 under white, so #127c71 (5.06:1) is pinned. */
|
|
1148
|
+
* on the popover); --primary-ink is the teal that reads as text (4.96:1 there). */
|
|
1080
1149
|
--brand: #0d1627;
|
|
1081
1150
|
--primary: #138377;
|
|
1082
1151
|
--on-primary: #ffffff;
|
|
1083
1152
|
--primary-ink: #35a395;
|
|
1084
|
-
--primary-hover: #127c71;
|
|
1085
1153
|
--primary-border: #35a3958c;
|
|
1086
1154
|
|
|
1087
1155
|
/* status. Fills carry the dark label (white fails 3:1–3.4:1 on these); the
|
|
@@ -1107,29 +1175,6 @@
|
|
|
1107
1175
|
--chart-4: #e68aaf;
|
|
1108
1176
|
--chart-5: #2e9e5c;
|
|
1109
1177
|
--chart-6: #988eef;
|
|
1110
|
-
|
|
1111
|
-
--button-primary-bg: #e6e1d300;
|
|
1112
|
-
--button-primary-hover: #e6e1d314;
|
|
1113
|
-
--button-primary-border: #e6e1d399;
|
|
1114
|
-
--button-primary-ink: #e6e1d3;
|
|
1115
|
-
--button-danger-bg: #f05b5200;
|
|
1116
|
-
--button-danger-hover: #f05b521a;
|
|
1117
|
-
--button-danger-border: #f05b52;
|
|
1118
|
-
--button-danger-ink: var(--accent-error);
|
|
1119
|
-
|
|
1120
|
-
/* chips are outlines: a transparent fill and the label's hue at 50 % */
|
|
1121
|
-
--chip-neutral-bg: var(--hover);
|
|
1122
|
-
--chip-neutral-border: var(--border);
|
|
1123
|
-
--chip-primary-bg: #35a39500;
|
|
1124
|
-
--chip-primary-border: #35a3958c;
|
|
1125
|
-
--chip-positive-bg: #2e9e5c00;
|
|
1126
|
-
--chip-positive-border: #4abf7680;
|
|
1127
|
-
--chip-info-bg: #4990d800;
|
|
1128
|
-
--chip-info-border: #6ca6e480;
|
|
1129
|
-
--chip-warn-bg: #f5c84e00;
|
|
1130
|
-
--chip-warn-border: #f5c84e80;
|
|
1131
|
-
--chip-error-bg: #f05b5200;
|
|
1132
|
-
--chip-error-border: #f05b5280;
|
|
1133
1178
|
}
|
|
1134
1179
|
|
|
1135
1180
|
/* ── u2 Light ────────────────────────────────────────────────── */
|
|
@@ -1139,7 +1184,6 @@
|
|
|
1139
1184
|
--background: #efebdf;
|
|
1140
1185
|
--card: #f6f3eb;
|
|
1141
1186
|
--secondary: #fbfaf6;
|
|
1142
|
-
--on-secondary: var(--ink);
|
|
1143
1187
|
--popover: #ffffff;
|
|
1144
1188
|
--muted: #e6e1d3;
|
|
1145
1189
|
--hover: #0d0d0f0d;
|
|
@@ -1161,7 +1205,6 @@
|
|
|
1161
1205
|
--primary: #138377;
|
|
1162
1206
|
--on-primary: #ffffff;
|
|
1163
1207
|
--primary-ink: #116f65;
|
|
1164
|
-
--primary-hover: #116f65;
|
|
1165
1208
|
--primary-border: #116f658c;
|
|
1166
1209
|
|
|
1167
1210
|
/* Figma's positive #228a4e carries neither label at 4.5:1 (white 4.36, dark
|
|
@@ -1190,29 +1233,6 @@
|
|
|
1190
1233
|
--chart-4: #b74679;
|
|
1191
1234
|
--chart-5: #228a4e;
|
|
1192
1235
|
--chart-6: #6d5acc;
|
|
1193
|
-
|
|
1194
|
-
--button-primary-bg: #0d0d0f00;
|
|
1195
|
-
--button-primary-hover: #0d0d0f0f;
|
|
1196
|
-
--button-primary-border: #0d0d0fa6;
|
|
1197
|
-
--button-primary-ink: #080e1a;
|
|
1198
|
-
--button-danger-bg: #db383400;
|
|
1199
|
-
--button-danger-hover: #db383414;
|
|
1200
|
-
--button-danger-border: #db3834;
|
|
1201
|
-
--button-danger-ink: var(--accent-error);
|
|
1202
|
-
|
|
1203
|
-
/* the solid hue at 50 % (warning 60 %), where Dark uses the ink's */
|
|
1204
|
-
--chip-neutral-bg: var(--hover);
|
|
1205
|
-
--chip-neutral-border: var(--border);
|
|
1206
|
-
--chip-primary-bg: #13837700;
|
|
1207
|
-
--chip-primary-border: #116f658c;
|
|
1208
|
-
--chip-positive-bg: #228a4e00;
|
|
1209
|
-
--chip-positive-border: #228a4e80;
|
|
1210
|
-
--chip-info-bg: #2d79c200;
|
|
1211
|
-
--chip-info-border: #2d79c280;
|
|
1212
|
-
--chip-warn-bg: #a77f1200;
|
|
1213
|
-
--chip-warn-border: #a77f1299;
|
|
1214
|
-
--chip-error-bg: #db383400;
|
|
1215
|
-
--chip-error-border: #db383480;
|
|
1216
1236
|
}
|
|
1217
1237
|
|
|
1218
1238
|
/* ── Oldschool ───────────────────────────────────────────────── *
|
|
@@ -1232,7 +1252,6 @@
|
|
|
1232
1252
|
--background: #070d18;
|
|
1233
1253
|
--card: #16233c;
|
|
1234
1254
|
--secondary: #0d1526;
|
|
1235
|
-
--on-secondary: var(--ink);
|
|
1236
1255
|
--popover: #1d2c49;
|
|
1237
1256
|
--muted: #26375c;
|
|
1238
1257
|
--hover: #e6e1d312;
|
|
@@ -1254,7 +1273,6 @@
|
|
|
1254
1273
|
--primary: #138377;
|
|
1255
1274
|
--on-primary: #ffffff;
|
|
1256
1275
|
--primary-ink: #35a395;
|
|
1257
|
-
--primary-hover: #127c71;
|
|
1258
1276
|
--primary-border: #35a39500;
|
|
1259
1277
|
|
|
1260
1278
|
--positive: #2e9e5c;
|
|
@@ -1279,31 +1297,21 @@
|
|
|
1279
1297
|
--chart-5: #2e9e5c;
|
|
1280
1298
|
--chart-6: #988eef;
|
|
1281
1299
|
|
|
1282
|
-
/*
|
|
1283
|
-
--button-
|
|
1284
|
-
--button-
|
|
1285
|
-
--button-
|
|
1286
|
-
--button-
|
|
1287
|
-
|
|
1288
|
-
|
|
1289
|
-
--
|
|
1290
|
-
--
|
|
1291
|
-
|
|
1292
|
-
/* chips are tinted pills with no edge */
|
|
1293
|
-
--chip-neutral-bg: var(--hover);
|
|
1294
|
-
--chip-neutral-border: #e6e1d300;
|
|
1300
|
+
/* danger is a fill */
|
|
1301
|
+
--button-danger-bg: var(--accent-error);
|
|
1302
|
+
--button-danger-hover: var(--accent-error-hover);
|
|
1303
|
+
--button-danger-border: var(--accent-error);
|
|
1304
|
+
--button-danger-ink: var(--on-accent-error);
|
|
1305
|
+
|
|
1306
|
+
/* tints are pills with no edge */
|
|
1307
|
+
--tint-fill: 18%;
|
|
1308
|
+
--tint-edge: 0%;
|
|
1309
|
+
--tint-neutral-edge: transparent;
|
|
1295
1310
|
/* Figma tints the accent chip 16 %, which leaves its teal label at 4.03:1 on
|
|
1296
1311
|
* the card; 8 % holds 4.56:1 */
|
|
1297
|
-
--
|
|
1298
|
-
|
|
1299
|
-
--
|
|
1300
|
-
--chip-positive-border: #4abf7600;
|
|
1301
|
-
--chip-info-bg: #4990d82e;
|
|
1302
|
-
--chip-info-border: #6ca6e400;
|
|
1303
|
-
--chip-warn-bg: #f5c84e29;
|
|
1304
|
-
--chip-warn-border: #f5c84e00;
|
|
1305
|
-
--chip-error-bg: #f05b522e;
|
|
1306
|
-
--chip-error-border: #f06c6100;
|
|
1312
|
+
--tint-primary-fill: color-mix(in srgb, var(--primary-ink) 8%, transparent);
|
|
1313
|
+
/* at 18 % the info label reads 4.43:1 on its fill; 16 % clears 4.5:1 */
|
|
1314
|
+
--tint-info-fill: color-mix(in srgb, var(--accent-info-ink) 16%, transparent);
|
|
1307
1315
|
|
|
1308
1316
|
--radius: 0.5rem;
|
|
1309
1317
|
--control-radius: 0.375rem;
|