@kenlo/sds-design-system 0.9.9
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 +129 -0
- package/components/Accordion/Accordion.css +186 -0
- package/components/Accordion/accordion-variants.js +17 -0
- package/components/Accordion/accordion.marko +264 -0
- package/components/AccordionGroup/AccordionGroup.css +35 -0
- package/components/AccordionGroup/accordion-group.marko +17 -0
- package/components/Alert/Alert.css +104 -0
- package/components/Alert/alert-variants.js +35 -0
- package/components/Alert/alert.marko +94 -0
- package/components/AttachmentList/AttachmentList.css +92 -0
- package/components/AttachmentList/attachment-list.marko +51 -0
- package/components/AttachmentList/attachment-row.marko +167 -0
- package/components/Avatar/Avatar.css +110 -0
- package/components/Avatar/avatar-variants.js +12 -0
- package/components/Avatar/avatar.marko +71 -0
- package/components/Badge/Badge.css +381 -0
- package/components/Badge/badge-dismissible.marko +143 -0
- package/components/Badge/badge-variants.js +35 -0
- package/components/Badge/badge.marko +134 -0
- package/components/BottomSheet/BottomSheet.css +300 -0
- package/components/BottomSheet/bottom-sheet.marko +340 -0
- package/components/BulkActionBar/BulkActionBar.css +88 -0
- package/components/BulkActionBar/bulk-action-bar.marko +186 -0
- package/components/Button/Button.css +340 -0
- package/components/Button/button-variants.js +25 -0
- package/components/Button/button.marko +139 -0
- package/components/Card/Card.css +391 -0
- package/components/Card/card-body.marko +5 -0
- package/components/Card/card-collapsible.marko +94 -0
- package/components/Card/card-footer.marko +12 -0
- package/components/Card/card-header.marko +30 -0
- package/components/Card/card-info-pair.marko +17 -0
- package/components/Card/card-info-row.marko +12 -0
- package/components/Card/card-section.marko +14 -0
- package/components/Card/card-variants.js +24 -0
- package/components/Card/card.marko +124 -0
- package/components/Checkbox/Checkbox.css +249 -0
- package/components/Checkbox/checkbox-variants.js +21 -0
- package/components/Checkbox/checkbox.marko +128 -0
- package/components/ColorPicker/ColorPicker.css +253 -0
- package/components/ColorPicker/color-maths.js +104 -0
- package/components/ColorPicker/color-picker.marko +474 -0
- package/components/DatePicker/DatePicker.css +429 -0
- package/components/DatePicker/date-logic.js +225 -0
- package/components/DatePicker/date-picker.marko +492 -0
- package/components/Drawer/Drawer.css +174 -0
- package/components/Drawer/drawer.marko +262 -0
- package/components/Floating/Floating.css +28 -0
- package/components/Floating/floating-position.js +251 -0
- package/components/Floating/floating.marko +291 -0
- package/components/Form/Form.css +15 -0
- package/components/Form/form-context.js +69 -0
- package/components/Form/form.marko +73 -0
- package/components/GradientPicker/GradientPicker.css +179 -0
- package/components/GradientPicker/gradient-picker.marko +398 -0
- package/components/Grid/Grid.css +161 -0
- package/components/Grid/col.marko +36 -0
- package/components/Grid/grid-variants.js +43 -0
- package/components/Grid/grid.marko +25 -0
- package/components/Header/Header.css +457 -0
- package/components/Header/header.marko +523 -0
- package/components/Icon/Icon.css +44 -0
- package/components/Icon/icon-colors.js +31 -0
- package/components/Icon/icon.marko +56 -0
- package/components/IconButton/IconButton.css +85 -0
- package/components/IconButton/icon-button-variants.js +18 -0
- package/components/IconButton/icon-button.marko +103 -0
- package/components/Incrementer/Incrementer.css +94 -0
- package/components/Incrementer/incrementer.marko +70 -0
- package/components/Input/Input.css +547 -0
- package/components/Input/input-countries.js +109 -0
- package/components/Input/input-masks.js +218 -0
- package/components/Input/input-types.js +194 -0
- package/components/Input/input.marko +530 -0
- package/components/Menu/Menu.css +651 -0
- package/components/Menu/menu-variants.js +89 -0
- package/components/Menu/menu.marko +560 -0
- package/components/Modal/Modal.css +160 -0
- package/components/Modal/modal.marko +296 -0
- package/components/Nav/Nav.css +298 -0
- package/components/Nav/nav-variants.js +23 -0
- package/components/Nav/nav.marko +164 -0
- package/components/Notification/Notification.css +78 -0
- package/components/Notification/notification-variants.js +30 -0
- package/components/Notification/notification.marko +55 -0
- package/components/Pagination/Pagination.css +78 -0
- package/components/Pagination/pagination-pages.js +66 -0
- package/components/Pagination/pagination.marko +141 -0
- package/components/Pill/Pill.css +193 -0
- package/components/Pill/pill-variants.js +16 -0
- package/components/Pill/pill.marko +165 -0
- package/components/Popover/Popover.css +121 -0
- package/components/Popover/popover.marko +96 -0
- package/components/Radio/Radio.css +230 -0
- package/components/Radio/radio-variants.js +16 -0
- package/components/Radio/radio.marko +93 -0
- package/components/RadioGroup/RadioGroup.css +32 -0
- package/components/RadioGroup/radio-group.marko +93 -0
- package/components/SearchBar/SearchBar.css +181 -0
- package/components/SearchBar/search-bar-variants.js +24 -0
- package/components/SearchBar/search-bar.marko +157 -0
- package/components/Select/Select.css +427 -0
- package/components/Select/select-options.js +163 -0
- package/components/Select/select.marko +449 -0
- package/components/Separator/Separator.css +22 -0
- package/components/Separator/separator.marko +14 -0
- package/components/Skeleton/Skeleton.css +100 -0
- package/components/Skeleton/skeleton-avatar.marko +28 -0
- package/components/Skeleton/skeleton-button.marko +22 -0
- package/components/Skeleton/skeleton-image.marko +20 -0
- package/components/Skeleton/skeleton-input.marko +22 -0
- package/components/Skeleton/skeleton-variants.js +16 -0
- package/components/Skeleton/skeleton.marko +53 -0
- package/components/Spinner/Spinner.css +173 -0
- package/components/Spinner/spinner-geometry.js +39 -0
- package/components/Spinner/spinner-overlay.marko +97 -0
- package/components/Spinner/spinner.marko +88 -0
- package/components/StatCard/StatCard.css +90 -0
- package/components/StatCard/stat-card-group.marko +5 -0
- package/components/StatCard/stat-card.marko +57 -0
- package/components/Switch/Switch.css +209 -0
- package/components/Switch/switch.marko +99 -0
- package/components/Table/Table.css +270 -0
- package/components/Table/table-cell.marko +28 -0
- package/components/Table/table-header.marko +27 -0
- package/components/Table/table-logic.js +129 -0
- package/components/Table/table.marko +372 -0
- package/components/Text/Text.css +79 -0
- package/components/Text/text-variants.js +25 -0
- package/components/Text/text.marko +48 -0
- package/components/TextEditor/TextEditor.css +78 -0
- package/components/TextEditor/safe-url.js +50 -0
- package/components/TextEditor/text-editor-commands.js +22 -0
- package/components/TextEditor/text-editor.marko +253 -0
- package/components/Toast/Toast.css +88 -0
- package/components/Toast/toast-api.js +19 -0
- package/components/Toast/toast-store.js +118 -0
- package/components/Toast/toast-variants.js +16 -0
- package/components/Toast/toast.marko +93 -0
- package/components/Toast/toaster.marko +70 -0
- package/components/Toggle/Toggle.css +169 -0
- package/components/Toggle/toggle.marko +93 -0
- package/components/Tooltip/Tooltip.css +115 -0
- package/components/Tooltip/tooltip.marko +77 -0
- package/components/Uploader/Uploader.css +180 -0
- package/components/Uploader/crop-geometry.js +161 -0
- package/components/Uploader/uploader.marko +269 -0
- package/foundations/Scrollbar/Scrollbar.css +26 -0
- package/foundations/attrs.js +27 -0
- package/foundations/breakpoints.js +27 -0
- package/foundations/contrast.js +74 -0
- package/foundations/custom-scheme.js +222 -0
- package/foundations/overlay.js +108 -0
- package/foundations/styles.css +284 -0
- package/foundations/text.js +22 -0
- package/foundations/theme-server.js +81 -0
- package/foundations/theme.js +42 -0
- package/foundations/tokens.css +1656 -0
- package/icons/custom/custom-video-horizontal-filled.marko +6 -0
- package/icons/custom/custom-video-horizontal-regular.marko +6 -0
- package/icons/custom/custom-video-tour-3d-filled.marko +7 -0
- package/icons/custom/custom-video-tour-3d-regular.marko +9 -0
- package/icons/custom/custom-video-vertical-filled.marko +6 -0
- package/icons/custom/custom-video-vertical-regular.marko +6 -0
- package/icons/generated/fluent-add-regular.marko +3 -0
- package/icons/generated/fluent-alert-regular.marko +3 -0
- package/icons/generated/fluent-apps-regular.marko +3 -0
- package/icons/generated/fluent-arrow-download-regular.marko +3 -0
- package/icons/generated/fluent-arrow-left-regular.marko +3 -0
- package/icons/generated/fluent-arrow-right-regular.marko +3 -0
- package/icons/generated/fluent-arrow-rotate-clockwise-regular.marko +3 -0
- package/icons/generated/fluent-arrow-rotate-counterclockwise-regular.marko +3 -0
- package/icons/generated/fluent-border-all-regular.marko +3 -0
- package/icons/generated/fluent-calendar-regular.marko +3 -0
- package/icons/generated/fluent-checkmark-circle-filled.marko +3 -0
- package/icons/generated/fluent-checkmark-regular.marko +3 -0
- package/icons/generated/fluent-chevron-down-regular.marko +3 -0
- package/icons/generated/fluent-chevron-left-regular.marko +3 -0
- package/icons/generated/fluent-chevron-right-regular.marko +3 -0
- package/icons/generated/fluent-chevron-up-regular.marko +3 -0
- package/icons/generated/fluent-circle-half-fill-regular.marko +3 -0
- package/icons/generated/fluent-clock-regular.marko +3 -0
- package/icons/generated/fluent-color-regular.marko +3 -0
- package/icons/generated/fluent-crop-regular.marko +3 -0
- package/icons/generated/fluent-dark-theme-regular.marko +3 -0
- package/icons/generated/fluent-delete-regular.marko +3 -0
- package/icons/generated/fluent-desktop-regular.marko +3 -0
- package/icons/generated/fluent-dismiss-circle-filled.marko +3 -0
- package/icons/generated/fluent-dismiss-regular.marko +3 -0
- package/icons/generated/fluent-document-pdf-regular.marko +3 -0
- package/icons/generated/fluent-document-regular.marko +3 -0
- package/icons/generated/fluent-eye-off-regular.marko +3 -0
- package/icons/generated/fluent-eye-regular.marko +3 -0
- package/icons/generated/fluent-eyedropper-regular.marko +3 -0
- package/icons/generated/fluent-grid-regular.marko +3 -0
- package/icons/generated/fluent-history-regular.marko +3 -0
- package/icons/generated/fluent-home-regular.marko +3 -0
- package/icons/generated/fluent-image-regular.marko +3 -0
- package/icons/generated/fluent-info-regular.marko +3 -0
- package/icons/generated/fluent-link-regular.marko +3 -0
- package/icons/generated/fluent-more-horizontal-regular.marko +3 -0
- package/icons/generated/fluent-navigation-regular.marko +3 -0
- package/icons/generated/fluent-paint-brush-regular.marko +3 -0
- package/icons/generated/fluent-question-circle-regular.marko +3 -0
- package/icons/generated/fluent-search-regular.marko +3 -0
- package/icons/generated/fluent-settings-regular.marko +3 -0
- package/icons/generated/fluent-square-hint-regular.marko +3 -0
- package/icons/generated/fluent-subtract-regular.marko +3 -0
- package/icons/generated/fluent-text-align-center-regular.marko +3 -0
- package/icons/generated/fluent-text-align-left-regular.marko +3 -0
- package/icons/generated/fluent-text-align-right-regular.marko +3 -0
- package/icons/generated/fluent-text-bold-regular.marko +3 -0
- package/icons/generated/fluent-text-bullet-list-regular.marko +3 -0
- package/icons/generated/fluent-text-font-regular.marko +3 -0
- package/icons/generated/fluent-text-font-size-regular.marko +3 -0
- package/icons/generated/fluent-text-italic-regular.marko +3 -0
- package/icons/generated/fluent-text-number-list-ltr-regular.marko +3 -0
- package/icons/generated/fluent-video-regular.marko +3 -0
- package/icons/generated/fluent-warning-filled.marko +3 -0
- package/icons/generated/fluent-weather-moon-regular.marko +3 -0
- package/icons/generated/fluent-weather-sunny-regular.marko +3 -0
- package/icons/generated/fluent-zoom-in-regular.marko +3 -0
- package/icons/generated/fluent-zoom-out-regular.marko +3 -0
- package/icons/manifest.json +61 -0
- package/icons/social/social-facebook-color.marko +7 -0
- package/icons/social/social-facebook.marko +6 -0
- package/icons/social/social-google-color.marko +20 -0
- package/icons/social/social-google.marko +6 -0
- package/icons/social/social-instagram-color.marko +16 -0
- package/icons/social/social-instagram.marko +6 -0
- package/icons/social/social-linkedin-color.marko +8 -0
- package/icons/social/social-linkedin.marko +8 -0
- package/icons/social/social-messenger-color.marko +15 -0
- package/icons/social/social-messenger.marko +6 -0
- package/icons/social/social-pinterest-color.marko +6 -0
- package/icons/social/social-pinterest.marko +6 -0
- package/icons/social/social-telegram-color.marko +7 -0
- package/icons/social/social-telegram.marko +6 -0
- package/icons/social/social-whatsapp-color.marko +8 -0
- package/icons/social/social-whatsapp.marko +7 -0
- package/icons/social/social-x-color.marko +7 -0
- package/icons/social/social-x.marko +6 -0
- package/icons/social/social-youtube-color.marko +7 -0
- package/icons/social/social-youtube.marko +6 -0
- package/marko.json +203 -0
- package/package.json +55 -0
|
@@ -0,0 +1,1656 @@
|
|
|
1
|
+
/* SDS design tokens.
|
|
2
|
+
Derived from kdls-design-system v2.5.1 (0f3edf8) by scripts/derive-tokens.mjs.
|
|
3
|
+
Divergences from KDLS, all deliberate:
|
|
4
|
+
- the secondary, tertiary and lya colour families are removed, along with
|
|
5
|
+
their [data-color-scheme] blocks and the --color-kenlo-blue-* aliases;
|
|
6
|
+
- primary is a slot with a neutral floor, never a Kenlo value;
|
|
7
|
+
- the Kenlo radius scheme named `default` is removed; `soft` is the install
|
|
8
|
+
default and keeps its name.
|
|
9
|
+
SDS owns this file from here on — edit it directly, do not regenerate. */
|
|
10
|
+
/* Source for foundations/tokens.css — run `npm run gen:tokens` after editing.
|
|
11
|
+
No usage-rule comments here — token usage rules live in
|
|
12
|
+
.claude/tokens-reference.md. General component rules: .claude/component-rules.md. */
|
|
13
|
+
|
|
14
|
+
/* ── The one layout rule this package asserts ──────────────────────────────────
|
|
15
|
+
|
|
16
|
+
A component that sets `width: 100%` and also has padding is wider than its parent
|
|
17
|
+
under the CSS default of `content-box`. Measured at 320px: Alert, Checkbox, Switch,
|
|
18
|
+
RadioGroup, Pagination, Skeleton, AccordionGroup and Separator each reached 48px past
|
|
19
|
+
their container, and the page scrolled sideways under every section.
|
|
20
|
+
|
|
21
|
+
KDLS has the same components and does not say this anywhere in the package — its
|
|
22
|
+
portal carries a global reset (`portal/src/styles/_reset.css`), so the problem is
|
|
23
|
+
invisible there and arrives in any consumer that does not have one.
|
|
24
|
+
|
|
25
|
+
The selector claims only elements this package named. A design system may not impose
|
|
26
|
+
a global reset on a page it does not own; it may insist its own boxes measure the way
|
|
27
|
+
its stylesheets assume. It lives in the token sheet because that is the one file SDS
|
|
28
|
+
cannot be used without.
|
|
29
|
+
─────────────────────────────────────────────────────────────────────────── */
|
|
30
|
+
|
|
31
|
+
[class*="sds-"],
|
|
32
|
+
[class*="sds-"]::before,
|
|
33
|
+
[class*="sds-"]::after {
|
|
34
|
+
box-sizing: border-box;
|
|
35
|
+
}
|
|
36
|
+
@import url("https://fonts.googleapis.com/css2?family=Manrope:wght@200..800&display=swap");
|
|
37
|
+
@import url("https://fonts.googleapis.com/css2?family=Inter:wght@400;500;600;700&family=Montserrat:wght@400;500;600;700&family=Nunito:wght@400;500;600;700&family=Source+Sans+3:wght@400;500;600;700&display=swap");/* -------------------------------SEMANTIC ALIASES------------------------------- */
|
|
38
|
+
:root {
|
|
39
|
+
/* The absolutes: the two ends of the neutral ramp, and the only colours in the system
|
|
40
|
+
that do NOT invert with the theme.
|
|
41
|
+
|
|
42
|
+
`--color-neutral-00` used to invert — #ffffff in the light theme, #1a1a1a in the dark
|
|
43
|
+
one — which made two tokens with symmetric names behave in opposite ways once
|
|
44
|
+
`--color-neutral-100` existed. Rafael asked for them as a pair, and a pair is what
|
|
45
|
+
they are now: white and black, meaning exactly that in both themes.
|
|
46
|
+
|
|
47
|
+
What inverts moved to where it belongs, which is the semantic layer. Every one of the
|
|
48
|
+
29 rules that read `--color-neutral-00` was painting a component's ground, and says so
|
|
49
|
+
now with `--component-bg-color` — which reads the inverting pair directly. Nothing on
|
|
50
|
+
screen changed; the same colour arrives by a name that admits what it is for.
|
|
51
|
+
|
|
52
|
+
`--color-white` and `--color-black` stay as the plain names for the same two values.
|
|
53
|
+
Both spellings are in the system already and neither is wrong. */
|
|
54
|
+
--color-white: #ffffff;
|
|
55
|
+
--color-black: #000000;
|
|
56
|
+
--color-neutral-00: var(--color-white);
|
|
57
|
+
--color-neutral-100: var(--color-black);
|
|
58
|
+
/* What goes ON a primary-50 surface. It was a fixed `--color-white`, and
|
|
59
|
+
`--color-primary-50` inverts between the themes while white does not — so in the dark
|
|
60
|
+
theme every filled primary surface painted white text on #f2f2f2, measured at 1.12:1.
|
|
61
|
+
A Button, a Notification, an Avatar's initials, an active Pill, an active Toggle item:
|
|
62
|
+
all unreadable, all for the same reason.
|
|
63
|
+
|
|
64
|
+
Thirteen rules across the components tried to patch it with
|
|
65
|
+
`[data-color-scheme="neutral"][data-theme="dark"]`, and not one of them ever ran:
|
|
66
|
+
`neutral` is the install default, and a value equal to the default is written by
|
|
67
|
+
REMOVING the attribute rather than setting it (see theme-server.js `resolveSlot`). The
|
|
68
|
+
selector could not match in the configuration it was written for.
|
|
69
|
+
|
|
70
|
+
`--color-primary-50-on` is the palette's own answer for this surface — it is derived
|
|
71
|
+
per family and it inverts with the theme, so the guards are not needed and the
|
|
72
|
+
per-scheme black overrides are not either. */
|
|
73
|
+
--color-on-primary: var(--color-primary-50-on);
|
|
74
|
+
/* The pair, not the tone: `--color-neutral-00` is absolute white now, and this is the
|
|
75
|
+
thing that has to follow the theme. `--color-neutral-00-90` is the pair it always
|
|
76
|
+
read through. */
|
|
77
|
+
--component-bg-color: var(--color-neutral-00-90);
|
|
78
|
+
--border-interactive-color: var(--color-neutral-30);
|
|
79
|
+
--border-static-color: var(--color-neutral-20);
|
|
80
|
+
--placeholder-color: var(--color-neutral-50);
|
|
81
|
+
--focus-stroke-color: var(--color-neutral-90-00);
|
|
82
|
+
|
|
83
|
+
/* The focus ring, declared once.
|
|
84
|
+
Two rings rather than one: the inner one is the surface the control sits on, so the
|
|
85
|
+
outer one reads as a ring and not as a thick border, whatever the control is touching.
|
|
86
|
+
`--focus-ring-inset` is the same shape turned inwards, for a control whose own box is
|
|
87
|
+
clipped by something above it.
|
|
88
|
+
`--focus-ring-outline` is for a control inside a scroll container, where a box-shadow
|
|
89
|
+
would be cut off — an outline is never clipped. */
|
|
90
|
+
--focus-ring-width: 2px;
|
|
91
|
+
--focus-ring: 0 0 0 var(--focus-ring-width) var(--component-bg-color),
|
|
92
|
+
0 0 0 calc(var(--focus-ring-width) * 2) var(--focus-stroke-color);
|
|
93
|
+
--focus-ring-inset: inset 0 0 0 var(--focus-ring-width) var(--component-bg-color),
|
|
94
|
+
inset 0 0 0 calc(var(--focus-ring-width) * 2) var(--focus-stroke-color);
|
|
95
|
+
}
|
|
96
|
+
|
|
97
|
+
/* ------------------------------------------------------------------------------ *//* ORDER MATTERS HERE. :root and [data-color-scheme="x"] have the same specificity, so
|
|
98
|
+
whichever comes last in the file wins. This floor must therefore sit BEFORE the scheme
|
|
99
|
+
blocks — placed after them, it silently overrode every one of them and selecting a
|
|
100
|
+
colour scheme did nothing at all. */
|
|
101
|
+
/* Primary is a slot, not a value.
|
|
102
|
+
SDS carries no Kenlo brand colour. The slot is filled by the site's own colour
|
|
103
|
+
through applyCustomColor / applyCustomGradient, and falls back to neutral so a
|
|
104
|
+
consumer that declares nothing still gets a coherent system.
|
|
105
|
+
|
|
106
|
+
In kdls-design-system v2.5.1 (0f3edf8) this section held the Kenlo blue ramp
|
|
107
|
+
(--color-primary-*-* hexes, light and dark) plus the --color-kenlo-blue-*
|
|
108
|
+
aliases. All of it is removed; the mapping below is lifted verbatim from that
|
|
109
|
+
file's own [data-color-scheme="neutral"] block. */
|
|
110
|
+
:root {
|
|
111
|
+
--color-primary-10: var(--color-neutral-10);
|
|
112
|
+
--color-primary-20: var(--color-neutral-20);
|
|
113
|
+
--color-primary-30: var(--color-neutral-30);
|
|
114
|
+
--color-primary-40: var(--color-neutral-50);
|
|
115
|
+
/* The principal tone. It points at neutral-80 rather than neutral-50, and it is the only
|
|
116
|
+
scheme where the 50 is not the family's own 50: a mid grey has no presence as the
|
|
117
|
+
colour of a button. */
|
|
118
|
+
--color-primary-50: var(--color-neutral-80);
|
|
119
|
+
/* Above the 50 the neutral ramp runs out — it ends at 90, and the slot still needs four
|
|
120
|
+
steps. KDLS answered by repeating neutral-90 four times, and the port carried that
|
|
121
|
+
verbatim: tones 60, 70, 80 and 90 were ONE colour. That is 81 declarations across the
|
|
122
|
+
stylesheets resolving to #1a1a1a, and it showed: a primary button's `:hover` reads
|
|
123
|
+
`--color-primary-60` and its `:active` reads `--color-primary-70`, so in the default
|
|
124
|
+
scheme pressing the button changed nothing at all.
|
|
125
|
+
|
|
126
|
+
The missing steps are mixed from the two ends rather than written as new hexes — the
|
|
127
|
+
rule here is that the answer to a missing value is a token, not a literal, which is
|
|
128
|
+
how --color-scrim is built too. The ramp is monotonic again: each step is darker than
|
|
129
|
+
the one before it, and nothing repeats. */
|
|
130
|
+
--color-primary-60: var(--color-neutral-90);
|
|
131
|
+
--color-primary-70: color-mix(in srgb, var(--color-neutral-90) 65%, var(--color-black));
|
|
132
|
+
--color-primary-80: color-mix(in srgb, var(--color-neutral-90) 30%, var(--color-black));
|
|
133
|
+
--color-primary-90: var(--color-black);
|
|
134
|
+
}
|
|
135
|
+
|
|
136
|
+
/* --------------------------------COLOR SCHEMES--------------------------------- */
|
|
137
|
+
[data-color-scheme="neutral"] {
|
|
138
|
+
--color-primary-10: var(--color-neutral-10);
|
|
139
|
+
--color-primary-20: var(--color-neutral-20);
|
|
140
|
+
--color-primary-30: var(--color-neutral-30);
|
|
141
|
+
--color-primary-40: var(--color-neutral-50);
|
|
142
|
+
--color-primary-50: var(--color-neutral-80);
|
|
143
|
+
--color-primary-60: var(--color-neutral-90);
|
|
144
|
+
--color-primary-70: var(--color-neutral-90);
|
|
145
|
+
--color-primary-80: var(--color-neutral-90);
|
|
146
|
+
--color-primary-90: var(--color-neutral-90);
|
|
147
|
+
}
|
|
148
|
+
|
|
149
|
+
/* Map key = attribute value; tuple = (source family, force --color-on-primary: black?) */
|
|
150
|
+
[data-color-scheme="leaf"] {
|
|
151
|
+
--color-primary-10: var(--color-leaf-10);
|
|
152
|
+
--color-primary-20: var(--color-leaf-20);
|
|
153
|
+
--color-primary-30: var(--color-leaf-30);
|
|
154
|
+
--color-primary-40: var(--color-leaf-40);
|
|
155
|
+
--color-primary-50: var(--color-leaf-50);
|
|
156
|
+
--color-primary-60: var(--color-leaf-60);
|
|
157
|
+
--color-primary-70: var(--color-leaf-70);
|
|
158
|
+
--color-primary-80: var(--color-leaf-80);
|
|
159
|
+
--color-primary-90: var(--color-leaf-90);
|
|
160
|
+
}
|
|
161
|
+
|
|
162
|
+
[data-color-scheme="sand"] {
|
|
163
|
+
--color-primary-10: var(--color-sand-10);
|
|
164
|
+
--color-primary-20: var(--color-sand-20);
|
|
165
|
+
--color-primary-30: var(--color-sand-30);
|
|
166
|
+
--color-primary-40: var(--color-sand-40);
|
|
167
|
+
--color-primary-50: var(--color-sand-50);
|
|
168
|
+
--color-primary-60: var(--color-sand-60);
|
|
169
|
+
--color-primary-70: var(--color-sand-70);
|
|
170
|
+
--color-primary-80: var(--color-sand-80);
|
|
171
|
+
--color-primary-90: var(--color-sand-90);
|
|
172
|
+
}
|
|
173
|
+
|
|
174
|
+
[data-color-scheme="wood"] {
|
|
175
|
+
--color-primary-10: var(--color-wood-10);
|
|
176
|
+
--color-primary-20: var(--color-wood-20);
|
|
177
|
+
--color-primary-30: var(--color-wood-30);
|
|
178
|
+
--color-primary-40: var(--color-wood-40);
|
|
179
|
+
--color-primary-50: var(--color-wood-50);
|
|
180
|
+
--color-primary-60: var(--color-wood-60);
|
|
181
|
+
--color-primary-70: var(--color-wood-70);
|
|
182
|
+
--color-primary-80: var(--color-wood-80);
|
|
183
|
+
--color-primary-90: var(--color-wood-90);
|
|
184
|
+
}
|
|
185
|
+
|
|
186
|
+
[data-color-scheme="clay"] {
|
|
187
|
+
--color-primary-10: var(--color-clay-10);
|
|
188
|
+
--color-primary-20: var(--color-clay-20);
|
|
189
|
+
--color-primary-30: var(--color-clay-30);
|
|
190
|
+
--color-primary-40: var(--color-clay-40);
|
|
191
|
+
--color-primary-50: var(--color-clay-50);
|
|
192
|
+
--color-primary-60: var(--color-clay-60);
|
|
193
|
+
--color-primary-70: var(--color-clay-70);
|
|
194
|
+
--color-primary-80: var(--color-clay-80);
|
|
195
|
+
--color-primary-90: var(--color-clay-90);
|
|
196
|
+
}
|
|
197
|
+
|
|
198
|
+
[data-color-scheme="flower"] {
|
|
199
|
+
--color-primary-10: var(--color-flower-10);
|
|
200
|
+
--color-primary-20: var(--color-flower-20);
|
|
201
|
+
--color-primary-30: var(--color-flower-30);
|
|
202
|
+
--color-primary-40: var(--color-flower-40);
|
|
203
|
+
--color-primary-50: var(--color-flower-50);
|
|
204
|
+
--color-primary-60: var(--color-flower-60);
|
|
205
|
+
--color-primary-70: var(--color-flower-70);
|
|
206
|
+
--color-primary-80: var(--color-flower-80);
|
|
207
|
+
--color-primary-90: var(--color-flower-90);
|
|
208
|
+
}
|
|
209
|
+
|
|
210
|
+
[data-color-scheme="dusk"] {
|
|
211
|
+
--color-primary-10: var(--color-dusk-10);
|
|
212
|
+
--color-primary-20: var(--color-dusk-20);
|
|
213
|
+
--color-primary-30: var(--color-dusk-30);
|
|
214
|
+
--color-primary-40: var(--color-dusk-40);
|
|
215
|
+
--color-primary-50: var(--color-dusk-50);
|
|
216
|
+
--color-primary-60: var(--color-dusk-60);
|
|
217
|
+
--color-primary-70: var(--color-dusk-70);
|
|
218
|
+
--color-primary-80: var(--color-dusk-80);
|
|
219
|
+
--color-primary-90: var(--color-dusk-90);
|
|
220
|
+
}
|
|
221
|
+
|
|
222
|
+
[data-color-scheme="sky"] {
|
|
223
|
+
--color-primary-10: var(--color-sky-10);
|
|
224
|
+
--color-primary-20: var(--color-sky-20);
|
|
225
|
+
--color-primary-30: var(--color-sky-30);
|
|
226
|
+
--color-primary-40: var(--color-sky-40);
|
|
227
|
+
--color-primary-50: var(--color-sky-50);
|
|
228
|
+
--color-primary-60: var(--color-sky-60);
|
|
229
|
+
--color-primary-70: var(--color-sky-70);
|
|
230
|
+
--color-primary-80: var(--color-sky-80);
|
|
231
|
+
--color-primary-90: var(--color-sky-90);
|
|
232
|
+
}
|
|
233
|
+
|
|
234
|
+
[data-color-scheme="sea"] {
|
|
235
|
+
--color-primary-10: var(--color-sea-10);
|
|
236
|
+
--color-primary-20: var(--color-sea-20);
|
|
237
|
+
--color-primary-30: var(--color-sea-30);
|
|
238
|
+
--color-primary-40: var(--color-sea-40);
|
|
239
|
+
--color-primary-50: var(--color-sea-50);
|
|
240
|
+
--color-primary-60: var(--color-sea-60);
|
|
241
|
+
--color-primary-70: var(--color-sea-70);
|
|
242
|
+
--color-primary-80: var(--color-sea-80);
|
|
243
|
+
--color-primary-90: var(--color-sea-90);
|
|
244
|
+
}
|
|
245
|
+
|
|
246
|
+
[data-color-scheme="lake"] {
|
|
247
|
+
--color-primary-10: var(--color-lake-10);
|
|
248
|
+
--color-primary-20: var(--color-lake-20);
|
|
249
|
+
--color-primary-30: var(--color-lake-30);
|
|
250
|
+
--color-primary-40: var(--color-lake-40);
|
|
251
|
+
--color-primary-50: var(--color-lake-50);
|
|
252
|
+
--color-primary-60: var(--color-lake-60);
|
|
253
|
+
--color-primary-70: var(--color-lake-70);
|
|
254
|
+
--color-primary-80: var(--color-lake-80);
|
|
255
|
+
--color-primary-90: var(--color-lake-90);
|
|
256
|
+
}
|
|
257
|
+
|
|
258
|
+
/* ------------------------------------------------------------------------------ *//* -----------------------------------NEUTRAL------------------------------------ */
|
|
259
|
+
:root {
|
|
260
|
+
--color-neutral-00-90: #ffffff;
|
|
261
|
+
--color-neutral-10-80: #f2f2f2;
|
|
262
|
+
--color-neutral-20-70: #e6e6e6;
|
|
263
|
+
--color-neutral-30-60: #d8d8d8;
|
|
264
|
+
--color-neutral-40-50: #b8b8b8;
|
|
265
|
+
--color-neutral-50-40: #808080;
|
|
266
|
+
--color-neutral-60-30: #595959;
|
|
267
|
+
--color-neutral-70-20: #404040;
|
|
268
|
+
--color-neutral-80-10: #262626;
|
|
269
|
+
--color-neutral-90-00: #1a1a1a;
|
|
270
|
+
}
|
|
271
|
+
|
|
272
|
+
[data-theme="dark"] {
|
|
273
|
+
--color-neutral-00-90: #1a1a1a;
|
|
274
|
+
--color-neutral-10-80: #262626;
|
|
275
|
+
--color-neutral-20-70: #404040;
|
|
276
|
+
--color-neutral-30-60: #595959;
|
|
277
|
+
--color-neutral-40-50: #808080;
|
|
278
|
+
--color-neutral-50-40: #b8b8b8;
|
|
279
|
+
--color-neutral-60-30: #d8d8d8;
|
|
280
|
+
--color-neutral-70-20: #e6e6e6;
|
|
281
|
+
--color-neutral-80-10: #f2f2f2;
|
|
282
|
+
--color-neutral-90-00: #ffffff;
|
|
283
|
+
}
|
|
284
|
+
|
|
285
|
+
:root {
|
|
286
|
+
--color-neutral-10: var(
|
|
287
|
+
--color-neutral-10-80
|
|
288
|
+
);
|
|
289
|
+
--color-neutral-20: var(
|
|
290
|
+
--color-neutral-20-70
|
|
291
|
+
);
|
|
292
|
+
--color-neutral-30: var(
|
|
293
|
+
--color-neutral-30-60
|
|
294
|
+
);
|
|
295
|
+
--color-neutral-40: var(
|
|
296
|
+
--color-neutral-40-50
|
|
297
|
+
);
|
|
298
|
+
--color-neutral-50: var(
|
|
299
|
+
--color-neutral-50-40
|
|
300
|
+
);
|
|
301
|
+
--color-neutral-60: var(
|
|
302
|
+
--color-neutral-60-30
|
|
303
|
+
);
|
|
304
|
+
--color-neutral-70: var(
|
|
305
|
+
--color-neutral-70-20
|
|
306
|
+
);
|
|
307
|
+
--color-neutral-80: var(
|
|
308
|
+
--color-neutral-80-10
|
|
309
|
+
);
|
|
310
|
+
--color-neutral-90: var(
|
|
311
|
+
--color-neutral-90-00
|
|
312
|
+
);
|
|
313
|
+
}
|
|
314
|
+
|
|
315
|
+
/* ------------------------------------------------------------------------------ *//* -----------------------------------PRIMARY------------------------------------ */
|
|
316
|
+
|
|
317
|
+
|
|
318
|
+
/* Solid companions to the primary slot.
|
|
319
|
+
`background` accepts a gradient; `color`, `box-shadow` and `border-color` do not —
|
|
320
|
+
they treat one as an invalid value and fall back. So every component that paints
|
|
321
|
+
TEXT or a BORDER from the primary slot reads the -solid companion instead, and
|
|
322
|
+
every component that paints a SURFACE reads the slot itself.
|
|
323
|
+
|
|
324
|
+
In solid mode these are the same value and this costs nothing. applyCustomGradient
|
|
325
|
+
overrides only the companions, with a representative stop, so a gradient theme keeps
|
|
326
|
+
readable text and a visible outline while surfaces still get the real gradient. */
|
|
327
|
+
:root {
|
|
328
|
+
--color-primary-10-solid: var(--color-primary-10);
|
|
329
|
+
--color-primary-20-solid: var(--color-primary-20);
|
|
330
|
+
--color-primary-30-solid: var(--color-primary-30);
|
|
331
|
+
--color-primary-40-solid: var(--color-primary-40);
|
|
332
|
+
--color-primary-50-solid: var(--color-primary-50);
|
|
333
|
+
--color-primary-60-solid: var(--color-primary-60);
|
|
334
|
+
--color-primary-70-solid: var(--color-primary-70);
|
|
335
|
+
--color-primary-80-solid: var(--color-primary-80);
|
|
336
|
+
--color-primary-90-solid: var(--color-primary-90);
|
|
337
|
+
}
|
|
338
|
+
|
|
339
|
+
/* ------------------------------FEEDBACK - SUCCESS------------------------------ */
|
|
340
|
+
:root {
|
|
341
|
+
--color-success-10-90: #d1fad8;
|
|
342
|
+
--color-success-20-80: #a3f5b1;
|
|
343
|
+
--color-success-30-70: #75f08a;
|
|
344
|
+
--color-success-40-60: #47eb63;
|
|
345
|
+
--color-success-50-50: #14b830;
|
|
346
|
+
--color-success-60-40: #0f8a24;
|
|
347
|
+
--color-success-70-30: #0a5c18;
|
|
348
|
+
--color-success-80-20: #084512;
|
|
349
|
+
--color-success-90-10: #052e0c;
|
|
350
|
+
}
|
|
351
|
+
|
|
352
|
+
[data-theme="dark"] {
|
|
353
|
+
--color-success-10-90: #052e0c;
|
|
354
|
+
--color-success-20-80: #084512;
|
|
355
|
+
--color-success-30-70: #0a5c18;
|
|
356
|
+
--color-success-40-60: #0f8a24;
|
|
357
|
+
--color-success-50-50: #14b830;
|
|
358
|
+
--color-success-60-40: #47eb63;
|
|
359
|
+
--color-success-70-30: #75f08a;
|
|
360
|
+
--color-success-80-20: #a3f5b1;
|
|
361
|
+
--color-success-90-10: #d1fad8;
|
|
362
|
+
}
|
|
363
|
+
|
|
364
|
+
:root {
|
|
365
|
+
--color-success-10: var(
|
|
366
|
+
--color-success-10-90
|
|
367
|
+
);
|
|
368
|
+
--color-success-20: var(
|
|
369
|
+
--color-success-20-80
|
|
370
|
+
);
|
|
371
|
+
--color-success-30: var(
|
|
372
|
+
--color-success-30-70
|
|
373
|
+
);
|
|
374
|
+
--color-success-40: var(
|
|
375
|
+
--color-success-40-60
|
|
376
|
+
);
|
|
377
|
+
--color-success-50: var(
|
|
378
|
+
--color-success-50-50
|
|
379
|
+
);
|
|
380
|
+
--color-success-60: var(
|
|
381
|
+
--color-success-60-40
|
|
382
|
+
);
|
|
383
|
+
--color-success-70: var(
|
|
384
|
+
--color-success-70-30
|
|
385
|
+
);
|
|
386
|
+
--color-success-80: var(
|
|
387
|
+
--color-success-80-20
|
|
388
|
+
);
|
|
389
|
+
--color-success-90: var(
|
|
390
|
+
--color-success-90-10
|
|
391
|
+
);
|
|
392
|
+
}
|
|
393
|
+
|
|
394
|
+
/* ------------------------------------------------------------------------------ *//* -------------------------------FEEDBACK - ALERT------------------------------- */
|
|
395
|
+
:root {
|
|
396
|
+
--color-alert-10-90: #faecd1;
|
|
397
|
+
--color-alert-20-80: #f5daa3;
|
|
398
|
+
--color-alert-30-70: #f0c775;
|
|
399
|
+
--color-alert-40-60: #ebb447;
|
|
400
|
+
--color-alert-50-50: #e5a119;
|
|
401
|
+
--color-alert-60-40: #b88114;
|
|
402
|
+
--color-alert-70-30: #8a610f;
|
|
403
|
+
--color-alert-80-20: #5c410a;
|
|
404
|
+
--color-alert-90-10: #2e2005;
|
|
405
|
+
}
|
|
406
|
+
|
|
407
|
+
[data-theme="dark"] {
|
|
408
|
+
--color-alert-10-90: #2e2005;
|
|
409
|
+
--color-alert-20-80: #5c410a;
|
|
410
|
+
--color-alert-30-70: #8a610f;
|
|
411
|
+
--color-alert-40-60: #b88114;
|
|
412
|
+
--color-alert-50-50: #e5a119;
|
|
413
|
+
--color-alert-60-40: #ebb447;
|
|
414
|
+
--color-alert-70-30: #f0c775;
|
|
415
|
+
--color-alert-80-20: #f5daa3;
|
|
416
|
+
--color-alert-90-10: #faecd1;
|
|
417
|
+
}
|
|
418
|
+
|
|
419
|
+
:root {
|
|
420
|
+
--color-alert-10: var(
|
|
421
|
+
--color-alert-10-90
|
|
422
|
+
);
|
|
423
|
+
--color-alert-20: var(
|
|
424
|
+
--color-alert-20-80
|
|
425
|
+
);
|
|
426
|
+
--color-alert-30: var(
|
|
427
|
+
--color-alert-30-70
|
|
428
|
+
);
|
|
429
|
+
--color-alert-40: var(
|
|
430
|
+
--color-alert-40-60
|
|
431
|
+
);
|
|
432
|
+
--color-alert-50: var(
|
|
433
|
+
--color-alert-50-50
|
|
434
|
+
);
|
|
435
|
+
--color-alert-60: var(
|
|
436
|
+
--color-alert-60-40
|
|
437
|
+
);
|
|
438
|
+
--color-alert-70: var(
|
|
439
|
+
--color-alert-70-30
|
|
440
|
+
);
|
|
441
|
+
--color-alert-80: var(
|
|
442
|
+
--color-alert-80-20
|
|
443
|
+
);
|
|
444
|
+
--color-alert-90: var(
|
|
445
|
+
--color-alert-90-10
|
|
446
|
+
);
|
|
447
|
+
}
|
|
448
|
+
|
|
449
|
+
/* ------------------------------------------------------------------------------ *//* -------------------------------FEEDBACK - ERROR------------------------------- */
|
|
450
|
+
:root {
|
|
451
|
+
--color-error-10-90: #fad5d1;
|
|
452
|
+
--color-error-20-80: #f5aaa3;
|
|
453
|
+
--color-error-30-70: #ef8076;
|
|
454
|
+
--color-error-40-60: #ea5548;
|
|
455
|
+
--color-error-50-50: #e52b1a;
|
|
456
|
+
--color-error-60-40: #b72215;
|
|
457
|
+
--color-error-70-30: #891a10;
|
|
458
|
+
--color-error-80-20: #5c110a;
|
|
459
|
+
--color-error-90-10: #2e0905;
|
|
460
|
+
}
|
|
461
|
+
|
|
462
|
+
[data-theme="dark"] {
|
|
463
|
+
--color-error-10-90: #2e0905;
|
|
464
|
+
--color-error-20-80: #5c110a;
|
|
465
|
+
--color-error-30-70: #891a10;
|
|
466
|
+
--color-error-40-60: #b72215;
|
|
467
|
+
--color-error-50-50: #e52b1a;
|
|
468
|
+
--color-error-60-40: #ea5548;
|
|
469
|
+
--color-error-70-30: #ef8076;
|
|
470
|
+
--color-error-80-20: #f5aaa3;
|
|
471
|
+
--color-error-90-10: #fad5d1;
|
|
472
|
+
}
|
|
473
|
+
|
|
474
|
+
:root {
|
|
475
|
+
--color-error-10: var(
|
|
476
|
+
--color-error-10-90
|
|
477
|
+
);
|
|
478
|
+
--color-error-20: var(
|
|
479
|
+
--color-error-20-80
|
|
480
|
+
);
|
|
481
|
+
--color-error-30: var(
|
|
482
|
+
--color-error-30-70
|
|
483
|
+
);
|
|
484
|
+
--color-error-40: var(
|
|
485
|
+
--color-error-40-60
|
|
486
|
+
);
|
|
487
|
+
--color-error-50: var(
|
|
488
|
+
--color-error-50-50
|
|
489
|
+
);
|
|
490
|
+
--color-error-60: var(
|
|
491
|
+
--color-error-60-40
|
|
492
|
+
);
|
|
493
|
+
--color-error-70: var(
|
|
494
|
+
--color-error-70-30
|
|
495
|
+
);
|
|
496
|
+
--color-error-80: var(
|
|
497
|
+
--color-error-80-20
|
|
498
|
+
);
|
|
499
|
+
--color-error-90: var(
|
|
500
|
+
--color-error-90-10
|
|
501
|
+
);
|
|
502
|
+
}
|
|
503
|
+
|
|
504
|
+
/* ------------------------------------------------------------------------------ *//* --------------------------------SUPPORT - LEAF-------------------------------- */
|
|
505
|
+
:root {
|
|
506
|
+
--color-leaf-10-90: #ecf2d9;
|
|
507
|
+
--color-leaf-20-80: #d9e5b3;
|
|
508
|
+
--color-leaf-30-70: #c5d98c;
|
|
509
|
+
--color-leaf-40-60: #b2cc66;
|
|
510
|
+
--color-leaf-50-50: #9fbf40;
|
|
511
|
+
--color-leaf-60-40: #7f9933;
|
|
512
|
+
--color-leaf-70-30: #5f7326;
|
|
513
|
+
--color-leaf-80-20: #404c1a;
|
|
514
|
+
--color-leaf-90-10: #20260d;
|
|
515
|
+
}
|
|
516
|
+
|
|
517
|
+
[data-theme="dark"] {
|
|
518
|
+
--color-leaf-10-90: #20260d;
|
|
519
|
+
--color-leaf-20-80: #404c1a;
|
|
520
|
+
--color-leaf-30-70: #5f7326;
|
|
521
|
+
--color-leaf-40-60: #7f9933;
|
|
522
|
+
--color-leaf-50-50: #9fbf40;
|
|
523
|
+
--color-leaf-60-40: #b2cc66;
|
|
524
|
+
--color-leaf-70-30: #c5d98c;
|
|
525
|
+
--color-leaf-80-20: #d9e5b3;
|
|
526
|
+
--color-leaf-90-10: #ecf2d9;
|
|
527
|
+
}
|
|
528
|
+
|
|
529
|
+
:root {
|
|
530
|
+
--color-leaf-10: var(
|
|
531
|
+
--color-leaf-10-90
|
|
532
|
+
);
|
|
533
|
+
--color-leaf-20: var(
|
|
534
|
+
--color-leaf-20-80
|
|
535
|
+
);
|
|
536
|
+
--color-leaf-30: var(
|
|
537
|
+
--color-leaf-30-70
|
|
538
|
+
);
|
|
539
|
+
--color-leaf-40: var(
|
|
540
|
+
--color-leaf-40-60
|
|
541
|
+
);
|
|
542
|
+
--color-leaf-50: var(
|
|
543
|
+
--color-leaf-50-50
|
|
544
|
+
);
|
|
545
|
+
--color-leaf-60: var(
|
|
546
|
+
--color-leaf-60-40
|
|
547
|
+
);
|
|
548
|
+
--color-leaf-70: var(
|
|
549
|
+
--color-leaf-70-30
|
|
550
|
+
);
|
|
551
|
+
--color-leaf-80: var(
|
|
552
|
+
--color-leaf-80-20
|
|
553
|
+
);
|
|
554
|
+
--color-leaf-90: var(
|
|
555
|
+
--color-leaf-90-10
|
|
556
|
+
);
|
|
557
|
+
}
|
|
558
|
+
|
|
559
|
+
/* ------------------------------------------------------------------------------ *//* --------------------------------SUPPORT - SAND-------------------------------- */
|
|
560
|
+
:root {
|
|
561
|
+
--color-sand-10-90: #f2eed9;
|
|
562
|
+
--color-sand-20-80: #e5ddb3;
|
|
563
|
+
--color-sand-30-70: #d9cc8c;
|
|
564
|
+
--color-sand-40-60: #ccbb66;
|
|
565
|
+
--color-sand-50-50: #bfaa40;
|
|
566
|
+
--color-sand-60-40: #998833;
|
|
567
|
+
--color-sand-70-30: #736626;
|
|
568
|
+
--color-sand-80-20: #4c441a;
|
|
569
|
+
--color-sand-90-10: #26220d;
|
|
570
|
+
}
|
|
571
|
+
|
|
572
|
+
[data-theme="dark"] {
|
|
573
|
+
--color-sand-10-90: #26220d;
|
|
574
|
+
--color-sand-20-80: #4c441a;
|
|
575
|
+
--color-sand-30-70: #736626;
|
|
576
|
+
--color-sand-40-60: #998833;
|
|
577
|
+
--color-sand-50-50: #bfaa40;
|
|
578
|
+
--color-sand-60-40: #ccbb66;
|
|
579
|
+
--color-sand-70-30: #d9cc8c;
|
|
580
|
+
--color-sand-80-20: #e5ddb3;
|
|
581
|
+
--color-sand-90-10: #f2eed9;
|
|
582
|
+
}
|
|
583
|
+
|
|
584
|
+
:root {
|
|
585
|
+
--color-sand-10: var(
|
|
586
|
+
--color-sand-10-90
|
|
587
|
+
);
|
|
588
|
+
--color-sand-20: var(
|
|
589
|
+
--color-sand-20-80
|
|
590
|
+
);
|
|
591
|
+
--color-sand-30: var(
|
|
592
|
+
--color-sand-30-70
|
|
593
|
+
);
|
|
594
|
+
--color-sand-40: var(
|
|
595
|
+
--color-sand-40-60
|
|
596
|
+
);
|
|
597
|
+
--color-sand-50: var(
|
|
598
|
+
--color-sand-50-50
|
|
599
|
+
);
|
|
600
|
+
--color-sand-60: var(
|
|
601
|
+
--color-sand-60-40
|
|
602
|
+
);
|
|
603
|
+
--color-sand-70: var(
|
|
604
|
+
--color-sand-70-30
|
|
605
|
+
);
|
|
606
|
+
--color-sand-80: var(
|
|
607
|
+
--color-sand-80-20
|
|
608
|
+
);
|
|
609
|
+
--color-sand-90: var(
|
|
610
|
+
--color-sand-90-10
|
|
611
|
+
);
|
|
612
|
+
}
|
|
613
|
+
|
|
614
|
+
/* ------------------------------------------------------------------------------ *//* --------------------------------SUPPORT - WOOD-------------------------------- */
|
|
615
|
+
:root {
|
|
616
|
+
--color-wood-10-90: #f2e1d9;
|
|
617
|
+
--color-wood-20-80: #e5c3b3;
|
|
618
|
+
--color-wood-30-70: #d9a68c;
|
|
619
|
+
--color-wood-40-60: #cc8866;
|
|
620
|
+
--color-wood-50-50: #bf6a40;
|
|
621
|
+
--color-wood-60-40: #995533;
|
|
622
|
+
--color-wood-70-30: #734026;
|
|
623
|
+
--color-wood-80-20: #4c2a1a;
|
|
624
|
+
--color-wood-90-10: #26170d;
|
|
625
|
+
}
|
|
626
|
+
|
|
627
|
+
[data-theme="dark"] {
|
|
628
|
+
--color-wood-10-90: #26170d;
|
|
629
|
+
--color-wood-20-80: #4c2a1a;
|
|
630
|
+
--color-wood-30-70: #734026;
|
|
631
|
+
--color-wood-40-60: #995533;
|
|
632
|
+
--color-wood-50-50: #bf6a40;
|
|
633
|
+
--color-wood-60-40: #cc8866;
|
|
634
|
+
--color-wood-70-30: #d9a68c;
|
|
635
|
+
--color-wood-80-20: #e5c3b3;
|
|
636
|
+
--color-wood-90-10: #f2e1d9;
|
|
637
|
+
}
|
|
638
|
+
|
|
639
|
+
:root {
|
|
640
|
+
--color-wood-10: var(
|
|
641
|
+
--color-wood-10-90
|
|
642
|
+
);
|
|
643
|
+
--color-wood-20: var(
|
|
644
|
+
--color-wood-20-80
|
|
645
|
+
);
|
|
646
|
+
--color-wood-30: var(
|
|
647
|
+
--color-wood-30-70
|
|
648
|
+
);
|
|
649
|
+
--color-wood-40: var(
|
|
650
|
+
--color-wood-40-60
|
|
651
|
+
);
|
|
652
|
+
--color-wood-50: var(
|
|
653
|
+
--color-wood-50-50
|
|
654
|
+
);
|
|
655
|
+
--color-wood-60: var(
|
|
656
|
+
--color-wood-60-40
|
|
657
|
+
);
|
|
658
|
+
--color-wood-70: var(
|
|
659
|
+
--color-wood-70-30
|
|
660
|
+
);
|
|
661
|
+
--color-wood-80: var(
|
|
662
|
+
--color-wood-80-20
|
|
663
|
+
);
|
|
664
|
+
--color-wood-90: var(
|
|
665
|
+
--color-wood-90-10
|
|
666
|
+
);
|
|
667
|
+
}
|
|
668
|
+
|
|
669
|
+
/* ------------------------------------------------------------------------------ *//* --------------------------------SUPPORT - CLAY-------------------------------- */
|
|
670
|
+
:root {
|
|
671
|
+
--color-clay-10-90: #f2d9df;
|
|
672
|
+
--color-clay-20-80: #e5b3bf;
|
|
673
|
+
--color-clay-30-70: #d98ca0;
|
|
674
|
+
--color-clay-40-60: #cc6680;
|
|
675
|
+
--color-clay-50-50: #bf4060;
|
|
676
|
+
--color-clay-60-40: #99334d;
|
|
677
|
+
--color-clay-70-30: #73263a;
|
|
678
|
+
--color-clay-80-20: #4c1a26;
|
|
679
|
+
--color-clay-90-10: #260d13;
|
|
680
|
+
}
|
|
681
|
+
|
|
682
|
+
[data-theme="dark"] {
|
|
683
|
+
--color-clay-10-90: #260d13;
|
|
684
|
+
--color-clay-20-80: #4c1a26;
|
|
685
|
+
--color-clay-30-70: #73263a;
|
|
686
|
+
--color-clay-40-60: #99334d;
|
|
687
|
+
--color-clay-50-50: #bf4060;
|
|
688
|
+
--color-clay-60-40: #cc6680;
|
|
689
|
+
--color-clay-70-30: #d98ca0;
|
|
690
|
+
--color-clay-80-20: #e5b3bf;
|
|
691
|
+
--color-clay-90-10: #f2d9df;
|
|
692
|
+
}
|
|
693
|
+
|
|
694
|
+
:root {
|
|
695
|
+
--color-clay-10: var(
|
|
696
|
+
--color-clay-10-90
|
|
697
|
+
);
|
|
698
|
+
--color-clay-20: var(
|
|
699
|
+
--color-clay-20-80
|
|
700
|
+
);
|
|
701
|
+
--color-clay-30: var(
|
|
702
|
+
--color-clay-30-70
|
|
703
|
+
);
|
|
704
|
+
--color-clay-40: var(
|
|
705
|
+
--color-clay-40-60
|
|
706
|
+
);
|
|
707
|
+
--color-clay-50: var(
|
|
708
|
+
--color-clay-50-50
|
|
709
|
+
);
|
|
710
|
+
--color-clay-60: var(
|
|
711
|
+
--color-clay-60-40
|
|
712
|
+
);
|
|
713
|
+
--color-clay-70: var(
|
|
714
|
+
--color-clay-70-30
|
|
715
|
+
);
|
|
716
|
+
--color-clay-80: var(
|
|
717
|
+
--color-clay-80-20
|
|
718
|
+
);
|
|
719
|
+
--color-clay-90: var(
|
|
720
|
+
--color-clay-90-10
|
|
721
|
+
);
|
|
722
|
+
}
|
|
723
|
+
|
|
724
|
+
/* ------------------------------------------------------------------------------ *//* -------------------------------SUPPORT - FLOWER------------------------------- */
|
|
725
|
+
:root {
|
|
726
|
+
--color-flower-10-90: #f2d9f2;
|
|
727
|
+
--color-flower-20-80: #e5b3e5;
|
|
728
|
+
--color-flower-30-70: #d98cd9;
|
|
729
|
+
--color-flower-40-60: #cc66cc;
|
|
730
|
+
--color-flower-50-50: #bf40bf;
|
|
731
|
+
--color-flower-60-40: #993399;
|
|
732
|
+
--color-flower-70-30: #732673;
|
|
733
|
+
--color-flower-80-20: #4c1a4c;
|
|
734
|
+
--color-flower-90-10: #260d26;
|
|
735
|
+
}
|
|
736
|
+
|
|
737
|
+
[data-theme="dark"] {
|
|
738
|
+
--color-flower-10-90: #260d26;
|
|
739
|
+
--color-flower-20-80: #4c1a4c;
|
|
740
|
+
--color-flower-30-70: #732673;
|
|
741
|
+
--color-flower-40-60: #993399;
|
|
742
|
+
--color-flower-50-50: #bf40bf;
|
|
743
|
+
--color-flower-60-40: #cc66cc;
|
|
744
|
+
--color-flower-70-30: #d98cd9;
|
|
745
|
+
--color-flower-80-20: #e5b3e5;
|
|
746
|
+
--color-flower-90-10: #f2d9f2;
|
|
747
|
+
}
|
|
748
|
+
|
|
749
|
+
:root {
|
|
750
|
+
--color-flower-10: var(
|
|
751
|
+
--color-flower-10-90
|
|
752
|
+
);
|
|
753
|
+
--color-flower-20: var(
|
|
754
|
+
--color-flower-20-80
|
|
755
|
+
);
|
|
756
|
+
--color-flower-30: var(
|
|
757
|
+
--color-flower-30-70
|
|
758
|
+
);
|
|
759
|
+
--color-flower-40: var(
|
|
760
|
+
--color-flower-40-60
|
|
761
|
+
);
|
|
762
|
+
--color-flower-50: var(
|
|
763
|
+
--color-flower-50-50
|
|
764
|
+
);
|
|
765
|
+
--color-flower-60: var(
|
|
766
|
+
--color-flower-60-40
|
|
767
|
+
);
|
|
768
|
+
--color-flower-70: var(
|
|
769
|
+
--color-flower-70-30
|
|
770
|
+
);
|
|
771
|
+
--color-flower-80: var(
|
|
772
|
+
--color-flower-80-20
|
|
773
|
+
);
|
|
774
|
+
--color-flower-90: var(
|
|
775
|
+
--color-flower-90-10
|
|
776
|
+
);
|
|
777
|
+
}
|
|
778
|
+
|
|
779
|
+
/* ------------------------------------------------------------------------------ *//* --------------------------------SUPPORT - DUSK-------------------------------- */
|
|
780
|
+
:root {
|
|
781
|
+
--color-dusk-10-90: #e1d9f2;
|
|
782
|
+
--color-dusk-20-80: #c3b3e5;
|
|
783
|
+
--color-dusk-30-70: #a68cd9;
|
|
784
|
+
--color-dusk-40-60: #8866cc;
|
|
785
|
+
--color-dusk-50-50: #6a40bf;
|
|
786
|
+
--color-dusk-60-40: #553399;
|
|
787
|
+
--color-dusk-70-30: #402673;
|
|
788
|
+
--color-dusk-80-20: #2a1a4c;
|
|
789
|
+
--color-dusk-90-10: #150d26;
|
|
790
|
+
}
|
|
791
|
+
|
|
792
|
+
[data-theme="dark"] {
|
|
793
|
+
--color-dusk-10-90: #150d26;
|
|
794
|
+
--color-dusk-20-80: #2a1a4c;
|
|
795
|
+
--color-dusk-30-70: #402673;
|
|
796
|
+
--color-dusk-40-60: #553399;
|
|
797
|
+
--color-dusk-50-50: #6a40bf;
|
|
798
|
+
--color-dusk-60-40: #8866cc;
|
|
799
|
+
--color-dusk-70-30: #a68cd9;
|
|
800
|
+
--color-dusk-80-20: #c3b3e5;
|
|
801
|
+
--color-dusk-90-10: #e1d9f2;
|
|
802
|
+
}
|
|
803
|
+
|
|
804
|
+
:root {
|
|
805
|
+
--color-dusk-10: var(
|
|
806
|
+
--color-dusk-10-90
|
|
807
|
+
);
|
|
808
|
+
--color-dusk-20: var(
|
|
809
|
+
--color-dusk-20-80
|
|
810
|
+
);
|
|
811
|
+
--color-dusk-30: var(
|
|
812
|
+
--color-dusk-30-70
|
|
813
|
+
);
|
|
814
|
+
--color-dusk-40: var(
|
|
815
|
+
--color-dusk-40-60
|
|
816
|
+
);
|
|
817
|
+
--color-dusk-50: var(
|
|
818
|
+
--color-dusk-50-50
|
|
819
|
+
);
|
|
820
|
+
--color-dusk-60: var(
|
|
821
|
+
--color-dusk-60-40
|
|
822
|
+
);
|
|
823
|
+
--color-dusk-70: var(
|
|
824
|
+
--color-dusk-70-30
|
|
825
|
+
);
|
|
826
|
+
--color-dusk-80: var(
|
|
827
|
+
--color-dusk-80-20
|
|
828
|
+
);
|
|
829
|
+
--color-dusk-90: var(
|
|
830
|
+
--color-dusk-90-10
|
|
831
|
+
);
|
|
832
|
+
}
|
|
833
|
+
|
|
834
|
+
/* ------------------------------------------------------------------------------ *//* --------------------------------SUPPORT - SKY--------------------------------- */
|
|
835
|
+
:root {
|
|
836
|
+
--color-sky-10-90: #d9e1f2;
|
|
837
|
+
--color-sky-20-80: #b3c3e5;
|
|
838
|
+
--color-sky-30-70: #8ca6d9;
|
|
839
|
+
--color-sky-40-60: #6688cc;
|
|
840
|
+
--color-sky-50-50: #406abf;
|
|
841
|
+
--color-sky-60-40: #335599;
|
|
842
|
+
--color-sky-70-30: #264073;
|
|
843
|
+
--color-sky-80-20: #1a2a4c;
|
|
844
|
+
--color-sky-90-10: #0d1526;
|
|
845
|
+
}
|
|
846
|
+
|
|
847
|
+
[data-theme="dark"] {
|
|
848
|
+
--color-sky-10-90: #0d1526;
|
|
849
|
+
--color-sky-20-80: #1a2a4c;
|
|
850
|
+
--color-sky-30-70: #264073;
|
|
851
|
+
--color-sky-40-60: #335599;
|
|
852
|
+
--color-sky-50-50: #406abf;
|
|
853
|
+
--color-sky-60-40: #6688cc;
|
|
854
|
+
--color-sky-70-30: #8ca6d9;
|
|
855
|
+
--color-sky-80-20: #b3c3e5;
|
|
856
|
+
--color-sky-90-10: #d9e1f2;
|
|
857
|
+
}
|
|
858
|
+
|
|
859
|
+
:root {
|
|
860
|
+
--color-sky-10: var(
|
|
861
|
+
--color-sky-10-90
|
|
862
|
+
);
|
|
863
|
+
--color-sky-20: var(
|
|
864
|
+
--color-sky-20-80
|
|
865
|
+
);
|
|
866
|
+
--color-sky-30: var(
|
|
867
|
+
--color-sky-30-70
|
|
868
|
+
);
|
|
869
|
+
--color-sky-40: var(
|
|
870
|
+
--color-sky-40-60
|
|
871
|
+
);
|
|
872
|
+
--color-sky-50: var(
|
|
873
|
+
--color-sky-50-50
|
|
874
|
+
);
|
|
875
|
+
--color-sky-60: var(
|
|
876
|
+
--color-sky-60-40
|
|
877
|
+
);
|
|
878
|
+
--color-sky-70: var(
|
|
879
|
+
--color-sky-70-30
|
|
880
|
+
);
|
|
881
|
+
--color-sky-80: var(
|
|
882
|
+
--color-sky-80-20
|
|
883
|
+
);
|
|
884
|
+
--color-sky-90: var(
|
|
885
|
+
--color-sky-90-10
|
|
886
|
+
);
|
|
887
|
+
}
|
|
888
|
+
|
|
889
|
+
/* ------------------------------------------------------------------------------ *//* --------------------------------SUPPORT - SEA--------------------------------- */
|
|
890
|
+
:root {
|
|
891
|
+
--color-sea-10-90: #d9eaf2;
|
|
892
|
+
--color-sea-20-80: #b3d5e5;
|
|
893
|
+
--color-sea-30-70: #8cbfd9;
|
|
894
|
+
--color-sea-40-60: #66aacc;
|
|
895
|
+
--color-sea-50-50: #4095bf;
|
|
896
|
+
--color-sea-60-40: #337799;
|
|
897
|
+
--color-sea-70-30: #265973;
|
|
898
|
+
--color-sea-80-20: #1a3c4c;
|
|
899
|
+
--color-sea-90-10: #0d1e26;
|
|
900
|
+
}
|
|
901
|
+
|
|
902
|
+
[data-theme="dark"] {
|
|
903
|
+
--color-sea-10-90: #0d1e26;
|
|
904
|
+
--color-sea-20-80: #1a3c4c;
|
|
905
|
+
--color-sea-30-70: #265973;
|
|
906
|
+
--color-sea-40-60: #337799;
|
|
907
|
+
--color-sea-50-50: #4095bf;
|
|
908
|
+
--color-sea-60-40: #66aacc;
|
|
909
|
+
--color-sea-70-30: #8cbfd9;
|
|
910
|
+
--color-sea-80-20: #b3d5e5;
|
|
911
|
+
--color-sea-90-10: #d9eaf2;
|
|
912
|
+
}
|
|
913
|
+
|
|
914
|
+
:root {
|
|
915
|
+
--color-sea-10: var(
|
|
916
|
+
--color-sea-10-90
|
|
917
|
+
);
|
|
918
|
+
--color-sea-20: var(
|
|
919
|
+
--color-sea-20-80
|
|
920
|
+
);
|
|
921
|
+
--color-sea-30: var(
|
|
922
|
+
--color-sea-30-70
|
|
923
|
+
);
|
|
924
|
+
--color-sea-40: var(
|
|
925
|
+
--color-sea-40-60
|
|
926
|
+
);
|
|
927
|
+
--color-sea-50: var(
|
|
928
|
+
--color-sea-50-50
|
|
929
|
+
);
|
|
930
|
+
--color-sea-60: var(
|
|
931
|
+
--color-sea-60-40
|
|
932
|
+
);
|
|
933
|
+
--color-sea-70: var(
|
|
934
|
+
--color-sea-70-30
|
|
935
|
+
);
|
|
936
|
+
--color-sea-80: var(
|
|
937
|
+
--color-sea-80-20
|
|
938
|
+
);
|
|
939
|
+
--color-sea-90: var(
|
|
940
|
+
--color-sea-90-10
|
|
941
|
+
);
|
|
942
|
+
}
|
|
943
|
+
|
|
944
|
+
/* ------------------------------------------------------------------------------ *//* --------------------------------SUPPORT - LAKE-------------------------------- */
|
|
945
|
+
:root {
|
|
946
|
+
--color-lake-10-90: #d9f2ee;
|
|
947
|
+
--color-lake-20-80: #b3e5dd;
|
|
948
|
+
--color-lake-30-70: #8cd9cc;
|
|
949
|
+
--color-lake-40-60: #66ccbb;
|
|
950
|
+
--color-lake-50-50: #40bfaa;
|
|
951
|
+
--color-lake-60-40: #339988;
|
|
952
|
+
--color-lake-70-30: #267366;
|
|
953
|
+
--color-lake-80-20: #1a4c44;
|
|
954
|
+
--color-lake-90-10: #0d2622;
|
|
955
|
+
}
|
|
956
|
+
|
|
957
|
+
[data-theme="dark"] {
|
|
958
|
+
--color-lake-10-90: #0d2622;
|
|
959
|
+
--color-lake-20-80: #1a4c44;
|
|
960
|
+
--color-lake-30-70: #267366;
|
|
961
|
+
--color-lake-40-60: #339988;
|
|
962
|
+
--color-lake-50-50: #40bfaa;
|
|
963
|
+
--color-lake-60-40: #66ccbb;
|
|
964
|
+
--color-lake-70-30: #8cd9cc;
|
|
965
|
+
--color-lake-80-20: #b3e5dd;
|
|
966
|
+
--color-lake-90-10: #d9f2ee;
|
|
967
|
+
}
|
|
968
|
+
|
|
969
|
+
:root {
|
|
970
|
+
--color-lake-10: var(
|
|
971
|
+
--color-lake-10-90
|
|
972
|
+
);
|
|
973
|
+
--color-lake-20: var(
|
|
974
|
+
--color-lake-20-80
|
|
975
|
+
);
|
|
976
|
+
--color-lake-30: var(
|
|
977
|
+
--color-lake-30-70
|
|
978
|
+
);
|
|
979
|
+
--color-lake-40: var(
|
|
980
|
+
--color-lake-40-60
|
|
981
|
+
);
|
|
982
|
+
--color-lake-50: var(
|
|
983
|
+
--color-lake-50-50
|
|
984
|
+
);
|
|
985
|
+
--color-lake-60: var(
|
|
986
|
+
--color-lake-60-40
|
|
987
|
+
);
|
|
988
|
+
--color-lake-70: var(
|
|
989
|
+
--color-lake-70-30
|
|
990
|
+
);
|
|
991
|
+
--color-lake-80: var(
|
|
992
|
+
--color-lake-80-20
|
|
993
|
+
);
|
|
994
|
+
--color-lake-90: var(
|
|
995
|
+
--color-lake-90-10
|
|
996
|
+
);
|
|
997
|
+
}
|
|
998
|
+
|
|
999
|
+
/* ------------------------------------------------------------------------------ *//* -----------------------------------OPACITY------------------------------------ */
|
|
1000
|
+
:root {
|
|
1001
|
+
--color-opacity-05: rgba(26, 26, 26, 0.05);
|
|
1002
|
+
/* The step between hover and active, which is where a keyboard focus sits: Nav and
|
|
1003
|
+
BottomSheet both reach for it by name, and neither KDLS nor this system had ever
|
|
1004
|
+
declared it — so the declaration was dropped and a focused row had no tint at all. */
|
|
1005
|
+
--color-opacity-08: rgba(26, 26, 26, 0.08);
|
|
1006
|
+
--color-opacity-10: rgba(26, 26, 26, 0.1);
|
|
1007
|
+
--color-opacity-20: rgba(26, 26, 26, 0.2);
|
|
1008
|
+
--color-opacity-30: rgba(26, 26, 26, 0.3);
|
|
1009
|
+
--color-opacity-40: rgba(26, 26, 26, 0.4);
|
|
1010
|
+
--color-opacity-50: rgba(26, 26, 26, 0.5);
|
|
1011
|
+
}
|
|
1012
|
+
|
|
1013
|
+
[data-theme="dark"] {
|
|
1014
|
+
--color-opacity-05: rgba(255, 255, 255, 0.05);
|
|
1015
|
+
--color-opacity-08: rgba(255, 255, 255, 0.08);
|
|
1016
|
+
--color-opacity-10: rgba(255, 255, 255, 0.1);
|
|
1017
|
+
--color-opacity-20: rgba(255, 255, 255, 0.2);
|
|
1018
|
+
--color-opacity-30: rgba(255, 255, 255, 0.3);
|
|
1019
|
+
--color-opacity-40: rgba(255, 255, 255, 0.4);
|
|
1020
|
+
--color-opacity-50: rgba(255, 255, 255, 0.5);
|
|
1021
|
+
}
|
|
1022
|
+
|
|
1023
|
+
/* The same veil, for a surface that runs against the theme.
|
|
1024
|
+
|
|
1025
|
+
A toast is dark in the light theme and light in the dark one, so --color-opacity-*, which
|
|
1026
|
+
follows the theme, is exactly backwards on it: a dark hover state on an already dark
|
|
1027
|
+
panel. KDLS writes the four values below as rgba literals inside Toast.css for want of a
|
|
1028
|
+
token; this is that token, and anything else with an inverted surface can now reach it.
|
|
1029
|
+
|
|
1030
|
+
The dark-theme alphas are lower on purpose, carried from KDLS: a dark veil reads stronger
|
|
1031
|
+
than a light one at the same opacity, so matching the numbers would not match the effect. */
|
|
1032
|
+
:root {
|
|
1033
|
+
--color-opacity-inverse-10: rgba(255, 255, 255, 0.1);
|
|
1034
|
+
--color-opacity-inverse-20: rgba(255, 255, 255, 0.2);
|
|
1035
|
+
}
|
|
1036
|
+
|
|
1037
|
+
[data-theme="dark"] {
|
|
1038
|
+
--color-opacity-inverse-10: rgba(26, 26, 26, 0.08);
|
|
1039
|
+
--color-opacity-inverse-20: rgba(26, 26, 26, 0.16);
|
|
1040
|
+
}
|
|
1041
|
+
|
|
1042
|
+
/* ------------------------------------------------------------------------------ *//* ---------------------------CORNER RADIUS (SOFT)---------------------------- */
|
|
1043
|
+
|
|
1044
|
+
/* Radius: `soft` is the install default.
|
|
1045
|
+
KDLS had a fifth, Kenlo-specific scheme living in :root and named `default`
|
|
1046
|
+
(8 / 8 / 12 / 24 px). SDS removes it and promotes `soft` into :root instead.
|
|
1047
|
+
[data-radius="soft"] still exists below, unchanged in name and value. */
|
|
1048
|
+
:root {
|
|
1049
|
+
--corner-radius-x-small: 4px;
|
|
1050
|
+
--corner-radius-small: 8px;
|
|
1051
|
+
--corner-radius-medium: 16px;
|
|
1052
|
+
--corner-radius-large: 28px;
|
|
1053
|
+
--corner-radius-full: 9999px;
|
|
1054
|
+
--radius-xs: var(--corner-radius-x-small);
|
|
1055
|
+
--radius-sm: var(--corner-radius-small);
|
|
1056
|
+
--radius-md: var(--corner-radius-medium);
|
|
1057
|
+
--radius-lg: var(--corner-radius-large);
|
|
1058
|
+
--radius-full: var(--corner-radius-full);
|
|
1059
|
+
}
|
|
1060
|
+
/* ------------------------------------------------------------------------------ */
|
|
1061
|
+
/* ----------------------------------LAYERING------------------------------------ */
|
|
1062
|
+
|
|
1063
|
+
/* The stacking order, which KDLS has as an implicit scale spread across eight stylesheets
|
|
1064
|
+
as bare numbers: 100, 200, 300, 400, 500, 9900, 9999. The numbers were consistent, which
|
|
1065
|
+
is lucky rather than designed — nothing said what they meant and nothing stopped the next
|
|
1066
|
+
component picking 150.
|
|
1067
|
+
|
|
1068
|
+
Naming them is what makes the order arguable. The gaps are deliberate: something that
|
|
1069
|
+
needs to sit between two of these has room without renumbering the system. */
|
|
1070
|
+
:root {
|
|
1071
|
+
/* Sticks to the page but does not cover it: a header, a bulk action bar. */
|
|
1072
|
+
--z-sticky: 100;
|
|
1073
|
+
/* Anchored to something on the page: menus, popovers, select panels. */
|
|
1074
|
+
--z-floating: 200;
|
|
1075
|
+
/* Covers the page and takes the keyboard: a modal and its veil. */
|
|
1076
|
+
--z-modal: 300;
|
|
1077
|
+
/* Covers the page from an edge: a drawer, a bottom sheet. Above a modal, because a modal
|
|
1078
|
+
can open one. */
|
|
1079
|
+
--z-overlay: 400;
|
|
1080
|
+
/* Said over everything and never reachable any other way: a toast, a tooltip, a
|
|
1081
|
+
fullscreen spinner. Nothing may be hidden behind these. */
|
|
1082
|
+
--z-notice: 9900;
|
|
1083
|
+
}
|
|
1084
|
+
|
|
1085
|
+
/* -----------------------------------SPACING------------------------------------ */
|
|
1086
|
+
:root {
|
|
1087
|
+
--spacing-0-5: 2px;
|
|
1088
|
+
--spacing-1: 4px;
|
|
1089
|
+
/* Half steps. KDLS has only 0-5 and writes the rest as literals — the tooltip's
|
|
1090
|
+
`padding: 6px 10px` is the case that forced these two to exist. Added rather than
|
|
1091
|
+
carried, because a value with no token is a value nobody can theme. */
|
|
1092
|
+
--spacing-1-5: 6px;
|
|
1093
|
+
--spacing-2: 8px;
|
|
1094
|
+
--spacing-2-5: 10px;
|
|
1095
|
+
--spacing-3: 12px;
|
|
1096
|
+
--spacing-4: 16px;
|
|
1097
|
+
--spacing-5: 20px;
|
|
1098
|
+
--spacing-6: 24px;
|
|
1099
|
+
--spacing-7: 28px;
|
|
1100
|
+
--spacing-8: 32px;
|
|
1101
|
+
--spacing-9: 36px;
|
|
1102
|
+
--spacing-10: 40px;
|
|
1103
|
+
--spacing-12: 48px;
|
|
1104
|
+
--spacing-14: 56px;
|
|
1105
|
+
--spacing-16: 64px;
|
|
1106
|
+
}
|
|
1107
|
+
|
|
1108
|
+
/* ------------------------------------------------------------------------------ *//* ----------------------------------TYPOGRAPHY---------------------------------- */
|
|
1109
|
+
:root {
|
|
1110
|
+
--font-family-base: "Manrope", -apple-system, BlinkMacSystemFont, sans-serif;
|
|
1111
|
+
--font-weight-regular: 400;
|
|
1112
|
+
/* KDLS had no token for 500 and components wrote the number — Badge's root is one.
|
|
1113
|
+
The scale needs the step, so the step exists. */
|
|
1114
|
+
--font-weight-medium: 500;
|
|
1115
|
+
--font-weight-semibold: 600;
|
|
1116
|
+
--font-weight-bold: 700;
|
|
1117
|
+
--font-size-display-lg: 56px;
|
|
1118
|
+
--font-size-display-md: 40px;
|
|
1119
|
+
--font-size-display-sm: 32px;
|
|
1120
|
+
--font-size-title-lg: 24px;
|
|
1121
|
+
--font-size-title-md: 20px;
|
|
1122
|
+
--font-size-title-sm: 16px;
|
|
1123
|
+
--font-size-body-md: 16px;
|
|
1124
|
+
--font-size-body-sm: 14px;
|
|
1125
|
+
--font-size-label-sm: 12px;
|
|
1126
|
+
--lh-display-lg: 64px;
|
|
1127
|
+
--lh-display-md: 48px;
|
|
1128
|
+
--lh-display-sm: 40px;
|
|
1129
|
+
--lh-title-lg: 32px;
|
|
1130
|
+
--lh-title-md: 24px;
|
|
1131
|
+
--lh-title-sm: 24px;
|
|
1132
|
+
--lh-body-md: 24px;
|
|
1133
|
+
--lh-body-sm: 20px;
|
|
1134
|
+
--lh-label-sm: 16px;
|
|
1135
|
+
--display-color: var(--color-neutral-90);
|
|
1136
|
+
--title-color: var(--color-neutral-90);
|
|
1137
|
+
--body-color: var(--color-neutral-80);
|
|
1138
|
+
--label-color: var(--color-neutral-50);
|
|
1139
|
+
}
|
|
1140
|
+
|
|
1141
|
+
/* ------------------------------------------------------------------------------ *//* -------------------------------ICON SIZE------------------------------- */
|
|
1142
|
+
:root {
|
|
1143
|
+
/* KDLS drew a few small controls with 12px inline SVG and had no token for it — the
|
|
1144
|
+
Input's incrementer chevrons are one. The step exists now. */
|
|
1145
|
+
--icon-size-xs: 12px;
|
|
1146
|
+
--icon-size-sm: 16px;
|
|
1147
|
+
--icon-size-md: 24px;
|
|
1148
|
+
--icon-size-lg: 32px;
|
|
1149
|
+
}
|
|
1150
|
+
|
|
1151
|
+
/* ------------------------------------------------------------------------------ *//* -----------------------------------SHADOWS------------------------------------ */
|
|
1152
|
+
:root {
|
|
1153
|
+
--shadow-drop-sm: 0 1px 4px 0 rgba(0, 0, 0, 0.12);
|
|
1154
|
+
--shadow-drop-md: 0 4px 12px 0 rgba(0, 0, 0, 0.12);
|
|
1155
|
+
--shadow-drop-lg: 0 8px 24px 0 rgba(0, 0, 0, 0.16);
|
|
1156
|
+
}
|
|
1157
|
+
|
|
1158
|
+
[data-theme="dark"] {
|
|
1159
|
+
--shadow-drop-sm: 0 2px 10px 0 rgba(255, 255, 255, 0.07);
|
|
1160
|
+
--shadow-drop-md: 0 4px 18px 0 rgba(255, 255, 255, 0.09);
|
|
1161
|
+
--shadow-drop-lg: 0 8px 28px 0 rgba(255, 255, 255, 0.11);
|
|
1162
|
+
}
|
|
1163
|
+
|
|
1164
|
+
/* ------------------------------------------------------------------------------ *//* ------------------------------------EASING------------------------------------ */
|
|
1165
|
+
:root {
|
|
1166
|
+
--ease-standard: cubic-bezier(0.4, 0, 0.2, 1);
|
|
1167
|
+
--ease-spring: cubic-bezier(0.32, 0.72, 0, 1);
|
|
1168
|
+
}
|
|
1169
|
+
|
|
1170
|
+
/* ------------------------------------------------------------------------------ *//* --------------------------------------SCRIM---------------------------------- */
|
|
1171
|
+
/* The veil behind a fullscreen overlay. Deliberately NOT part of the opacity family:
|
|
1172
|
+
that family inverts with the theme, and a scrim must darken in both — a white veil in
|
|
1173
|
+
dark mode would light the screen up instead of dimming it.
|
|
1174
|
+
|
|
1175
|
+
Derived from --color-black rather than written as rgba(), so no new literal enters the
|
|
1176
|
+
system. This is the token that did not exist when the Spinner's overlay was ported;
|
|
1177
|
+
the rule is that the answer to a missing value is a token, not a literal. */
|
|
1178
|
+
:root {
|
|
1179
|
+
--color-scrim: color-mix(in srgb, var(--color-black) 70%, transparent);
|
|
1180
|
+
}
|
|
1181
|
+
|
|
1182
|
+
/* ------------------------------------------------------------------------------ *//* -----------------------------PAGE BACKGROUND----------------------------- */
|
|
1183
|
+
/* KDLS wrote both of these as literals. They are the palette values they always meant:
|
|
1184
|
+
#f2f2f2 is --color-neutral-10 in the light theme, and #000000 is --color-black. */
|
|
1185
|
+
:root {
|
|
1186
|
+
--page-bg-color: var(--color-neutral-10);
|
|
1187
|
+
}
|
|
1188
|
+
|
|
1189
|
+
[data-theme="dark"] {
|
|
1190
|
+
--page-bg-color: var(--color-black);
|
|
1191
|
+
}
|
|
1192
|
+
|
|
1193
|
+
/* ------------------------------------------------------------------------------ *//* -----------------------------FEEDBACK SURFACES----------------------------- */
|
|
1194
|
+
/* The tinted ground a message sits on — the Alert today, and anything else that tints a
|
|
1195
|
+
whole surface with a feedback family rather than just its text or its border.
|
|
1196
|
+
|
|
1197
|
+
The families invert themselves between the themes: `--color-success-10` reads the pair
|
|
1198
|
+
`10-90`, so in the dark theme it resolves to the palette's tone 90, the darkest step
|
|
1199
|
+
there is. That is right for a line of text and too much for a surface — the message
|
|
1200
|
+
reads as a hole cut in the page, and next to the near-black page background it barely
|
|
1201
|
+
separates at all.
|
|
1202
|
+
|
|
1203
|
+
So the surface takes tone 10 in the light theme and tone 80 in the dark, which is the
|
|
1204
|
+
step above. There is no `10-80` pair and there should not be one: the pairs are the
|
|
1205
|
+
palette's own symmetry and inventing an asymmetric one hides the exception inside a
|
|
1206
|
+
name that promises otherwise. The exception is spelled out here instead, reading the
|
|
1207
|
+
pair that already lands on 80 in the dark — `--color-success-20` is `20-80`.
|
|
1208
|
+
|
|
1209
|
+
No literal enters the system: both sides are the palette's own tokens. */
|
|
1210
|
+
:root {
|
|
1211
|
+
--surface-info: var(--color-primary-10);
|
|
1212
|
+
--surface-success: var(--color-success-10);
|
|
1213
|
+
--surface-alert: var(--color-alert-10);
|
|
1214
|
+
--surface-error: var(--color-error-10);
|
|
1215
|
+
--surface-neutral: var(--color-neutral-10);
|
|
1216
|
+
}
|
|
1217
|
+
|
|
1218
|
+
[data-theme="dark"] {
|
|
1219
|
+
--surface-info: var(--color-primary-20);
|
|
1220
|
+
--surface-success: var(--color-success-20);
|
|
1221
|
+
--surface-alert: var(--color-alert-20);
|
|
1222
|
+
--surface-error: var(--color-error-20);
|
|
1223
|
+
--surface-neutral: var(--color-neutral-20);
|
|
1224
|
+
}
|
|
1225
|
+
|
|
1226
|
+
/* ------------------------------------------------------------------------------ *//* -------------------------------RADIUS VARIANTS-------------------------------- */
|
|
1227
|
+
/* A escada dos cantos é uma crescente, e nos dois degraus pequenos ela não era.
|
|
1228
|
+
|
|
1229
|
+
`--corner-radius-x-small` valia 8px tanto em `medium` quanto em `rounded`, e
|
|
1230
|
+
`--corner-radius-small` valia 16px nos dois. Todo controle pequeno do sistema — o
|
|
1231
|
+
Checkbox, o Switch, as células do calendário — chegava ao seu formato final um esquema
|
|
1232
|
+
antes do fim, e os dois últimos ficavam indistinguíveis.
|
|
1233
|
+
|
|
1234
|
+
Ajustado em 2026-09-14, a pedido do Rafael, depois de ele encontrar o mesmo sintoma em
|
|
1235
|
+
três componentes diferentes. `rounded` não mudou: quem desceu foi o meio, que é o que
|
|
1236
|
+
abre espaço para os quatro passos serem quatro.
|
|
1237
|
+
|
|
1238
|
+
x-small 0 → 4 → 6 → 8
|
|
1239
|
+
small 0 → 8 → 12 → 16
|
|
1240
|
+
|
|
1241
|
+
`medium` e `large` já cresciam e ficaram como estavam. */
|
|
1242
|
+
[data-radius="soft"] {
|
|
1243
|
+
--corner-radius-x-small: 4px;
|
|
1244
|
+
--corner-radius-small: 8px;
|
|
1245
|
+
--corner-radius-medium: 16px;
|
|
1246
|
+
--corner-radius-large: 28px;
|
|
1247
|
+
--corner-radius-full: 9999px;
|
|
1248
|
+
--radius-xs: var(--corner-radius-x-small);
|
|
1249
|
+
--radius-sm: var(--corner-radius-small);
|
|
1250
|
+
--radius-md: var(--corner-radius-medium);
|
|
1251
|
+
--radius-lg: var(--corner-radius-large);
|
|
1252
|
+
--radius-full: var(--corner-radius-full);
|
|
1253
|
+
}
|
|
1254
|
+
|
|
1255
|
+
[data-radius="flat"] {
|
|
1256
|
+
--corner-radius-x-small: 0px;
|
|
1257
|
+
--corner-radius-small: 0px;
|
|
1258
|
+
--corner-radius-medium: 0px;
|
|
1259
|
+
--corner-radius-large: 0px;
|
|
1260
|
+
--corner-radius-full: 9999px;
|
|
1261
|
+
--radius-xs: var(--corner-radius-x-small);
|
|
1262
|
+
--radius-sm: var(--corner-radius-small);
|
|
1263
|
+
--radius-md: var(--corner-radius-medium);
|
|
1264
|
+
--radius-lg: var(--corner-radius-large);
|
|
1265
|
+
--radius-full: var(--corner-radius-full);
|
|
1266
|
+
}
|
|
1267
|
+
|
|
1268
|
+
[data-radius="medium"] {
|
|
1269
|
+
--corner-radius-x-small: 6px;
|
|
1270
|
+
--corner-radius-small: 12px;
|
|
1271
|
+
--corner-radius-medium: 24px;
|
|
1272
|
+
--corner-radius-large: 32px;
|
|
1273
|
+
--corner-radius-full: 9999px;
|
|
1274
|
+
--radius-xs: var(--corner-radius-x-small);
|
|
1275
|
+
--radius-sm: var(--corner-radius-small);
|
|
1276
|
+
--radius-md: var(--corner-radius-medium);
|
|
1277
|
+
--radius-lg: var(--corner-radius-large);
|
|
1278
|
+
--radius-full: var(--corner-radius-full);
|
|
1279
|
+
}
|
|
1280
|
+
|
|
1281
|
+
[data-radius="rounded"] {
|
|
1282
|
+
--corner-radius-x-small: 8px;
|
|
1283
|
+
--corner-radius-small: 16px;
|
|
1284
|
+
--corner-radius-medium: 32px;
|
|
1285
|
+
--corner-radius-large: 40px;
|
|
1286
|
+
--corner-radius-full: 9999px;
|
|
1287
|
+
--radius-xs: var(--corner-radius-x-small);
|
|
1288
|
+
--radius-sm: var(--corner-radius-small);
|
|
1289
|
+
--radius-md: var(--corner-radius-medium);
|
|
1290
|
+
--radius-lg: var(--corner-radius-large);
|
|
1291
|
+
--radius-full: var(--corner-radius-full);
|
|
1292
|
+
}
|
|
1293
|
+
|
|
1294
|
+
/* ------------------------------------------------------------------------------ *//* ----------------------------FONT FAMILY OVERRIDES----------------------------- */
|
|
1295
|
+
[data-font="inter"] {
|
|
1296
|
+
--font-family-base: "Inter", sans-serif;
|
|
1297
|
+
}
|
|
1298
|
+
|
|
1299
|
+
[data-font="helvetica"] {
|
|
1300
|
+
--font-family-base: "Helvetica Neue", Helvetica, Arial, sans-serif;
|
|
1301
|
+
}
|
|
1302
|
+
|
|
1303
|
+
[data-font="source-sans"] {
|
|
1304
|
+
--font-family-base: "Source Sans 3", "Source Sans Pro", sans-serif;
|
|
1305
|
+
}
|
|
1306
|
+
|
|
1307
|
+
[data-font="nunito"] {
|
|
1308
|
+
--font-family-base: "Nunito", sans-serif;
|
|
1309
|
+
}
|
|
1310
|
+
|
|
1311
|
+
[data-font="montserrat"] {
|
|
1312
|
+
--font-family-base: "Montserrat", sans-serif;
|
|
1313
|
+
}
|
|
1314
|
+
|
|
1315
|
+
/* ------------------------------------------------------------------------------ */
|
|
1316
|
+
|
|
1317
|
+
/* >>> generated: label contrast tokens — do not edit by hand <<< */
|
|
1318
|
+
|
|
1319
|
+
/* The colour a label must be to stay readable on each surface.
|
|
1320
|
+
Derived from the palettes above by scripts/gen-contrast-tokens.mjs: the step of the
|
|
1321
|
+
family itself that reads best, falling back to white or black only where the family
|
|
1322
|
+
cannot reach WCAG AA. A component paints its label with these and never picks a step
|
|
1323
|
+
by eye. */
|
|
1324
|
+
|
|
1325
|
+
:root {
|
|
1326
|
+
--color-neutral-10-on: var(--color-neutral-90);
|
|
1327
|
+
--color-neutral-20-on: var(--color-neutral-90);
|
|
1328
|
+
--color-neutral-30-on: var(--color-neutral-90);
|
|
1329
|
+
--color-neutral-40-on: var(--color-neutral-90);
|
|
1330
|
+
--color-neutral-50-on: var(--color-black);
|
|
1331
|
+
--color-neutral-60-on: var(--color-neutral-10);
|
|
1332
|
+
--color-neutral-70-on: var(--color-neutral-10);
|
|
1333
|
+
--color-neutral-80-on: var(--color-neutral-10);
|
|
1334
|
+
--color-neutral-90-on: var(--color-neutral-10);
|
|
1335
|
+
--color-success-10-on: var(--color-success-90);
|
|
1336
|
+
--color-success-20-on: var(--color-success-90);
|
|
1337
|
+
--color-success-30-on: var(--color-success-90);
|
|
1338
|
+
--color-success-40-on: var(--color-success-90);
|
|
1339
|
+
--color-success-50-on: var(--color-success-90);
|
|
1340
|
+
--color-success-60-on: var(--color-black);
|
|
1341
|
+
--color-success-70-on: var(--color-success-10);
|
|
1342
|
+
--color-success-80-on: var(--color-success-10);
|
|
1343
|
+
--color-success-90-on: var(--color-success-10);
|
|
1344
|
+
--color-alert-10-on: var(--color-alert-90);
|
|
1345
|
+
--color-alert-20-on: var(--color-alert-90);
|
|
1346
|
+
--color-alert-30-on: var(--color-alert-90);
|
|
1347
|
+
--color-alert-40-on: var(--color-alert-90);
|
|
1348
|
+
--color-alert-50-on: var(--color-alert-90);
|
|
1349
|
+
--color-alert-60-on: var(--color-alert-90);
|
|
1350
|
+
--color-alert-70-on: var(--color-alert-10);
|
|
1351
|
+
--color-alert-80-on: var(--color-alert-10);
|
|
1352
|
+
--color-alert-90-on: var(--color-alert-10);
|
|
1353
|
+
--color-error-10-on: var(--color-error-90);
|
|
1354
|
+
--color-error-20-on: var(--color-error-90);
|
|
1355
|
+
--color-error-30-on: var(--color-error-90);
|
|
1356
|
+
--color-error-40-on: var(--color-error-90);
|
|
1357
|
+
--color-error-50-on: var(--color-black);
|
|
1358
|
+
--color-error-60-on: var(--color-error-10);
|
|
1359
|
+
--color-error-70-on: var(--color-error-10);
|
|
1360
|
+
--color-error-80-on: var(--color-error-10);
|
|
1361
|
+
--color-error-90-on: var(--color-error-10);
|
|
1362
|
+
--color-leaf-10-on: var(--color-leaf-90);
|
|
1363
|
+
--color-leaf-20-on: var(--color-leaf-90);
|
|
1364
|
+
--color-leaf-30-on: var(--color-leaf-90);
|
|
1365
|
+
--color-leaf-40-on: var(--color-leaf-90);
|
|
1366
|
+
--color-leaf-50-on: var(--color-leaf-90);
|
|
1367
|
+
--color-leaf-60-on: var(--color-leaf-90);
|
|
1368
|
+
--color-leaf-70-on: var(--color-leaf-10);
|
|
1369
|
+
--color-leaf-80-on: var(--color-leaf-10);
|
|
1370
|
+
--color-leaf-90-on: var(--color-leaf-10);
|
|
1371
|
+
--color-sand-10-on: var(--color-sand-90);
|
|
1372
|
+
--color-sand-20-on: var(--color-sand-90);
|
|
1373
|
+
--color-sand-30-on: var(--color-sand-90);
|
|
1374
|
+
--color-sand-40-on: var(--color-sand-90);
|
|
1375
|
+
--color-sand-50-on: var(--color-sand-90);
|
|
1376
|
+
--color-sand-60-on: var(--color-black);
|
|
1377
|
+
--color-sand-70-on: var(--color-sand-10);
|
|
1378
|
+
--color-sand-80-on: var(--color-sand-10);
|
|
1379
|
+
--color-sand-90-on: var(--color-sand-10);
|
|
1380
|
+
--color-wood-10-on: var(--color-wood-90);
|
|
1381
|
+
--color-wood-20-on: var(--color-wood-90);
|
|
1382
|
+
--color-wood-30-on: var(--color-wood-90);
|
|
1383
|
+
--color-wood-40-on: var(--color-wood-90);
|
|
1384
|
+
--color-wood-50-on: var(--color-black);
|
|
1385
|
+
--color-wood-60-on: var(--color-white);
|
|
1386
|
+
--color-wood-70-on: var(--color-wood-10);
|
|
1387
|
+
--color-wood-80-on: var(--color-wood-10);
|
|
1388
|
+
--color-wood-90-on: var(--color-wood-10);
|
|
1389
|
+
--color-clay-10-on: var(--color-clay-90);
|
|
1390
|
+
--color-clay-20-on: var(--color-clay-90);
|
|
1391
|
+
--color-clay-30-on: var(--color-clay-90);
|
|
1392
|
+
--color-clay-40-on: var(--color-clay-90);
|
|
1393
|
+
--color-clay-50-on: var(--color-white);
|
|
1394
|
+
--color-clay-60-on: var(--color-clay-10);
|
|
1395
|
+
--color-clay-70-on: var(--color-clay-10);
|
|
1396
|
+
--color-clay-80-on: var(--color-clay-10);
|
|
1397
|
+
--color-clay-90-on: var(--color-clay-10);
|
|
1398
|
+
--color-flower-10-on: var(--color-flower-90);
|
|
1399
|
+
--color-flower-20-on: var(--color-flower-90);
|
|
1400
|
+
--color-flower-30-on: var(--color-flower-90);
|
|
1401
|
+
--color-flower-40-on: var(--color-flower-90);
|
|
1402
|
+
--color-flower-50-on: var(--color-black);
|
|
1403
|
+
--color-flower-60-on: var(--color-flower-10);
|
|
1404
|
+
--color-flower-70-on: var(--color-flower-10);
|
|
1405
|
+
--color-flower-80-on: var(--color-flower-10);
|
|
1406
|
+
--color-flower-90-on: var(--color-flower-10);
|
|
1407
|
+
--color-dusk-10-on: var(--color-dusk-90);
|
|
1408
|
+
--color-dusk-20-on: var(--color-dusk-90);
|
|
1409
|
+
--color-dusk-30-on: var(--color-dusk-90);
|
|
1410
|
+
--color-dusk-40-on: var(--color-black);
|
|
1411
|
+
--color-dusk-50-on: var(--color-dusk-10);
|
|
1412
|
+
--color-dusk-60-on: var(--color-dusk-10);
|
|
1413
|
+
--color-dusk-70-on: var(--color-dusk-10);
|
|
1414
|
+
--color-dusk-80-on: var(--color-dusk-10);
|
|
1415
|
+
--color-dusk-90-on: var(--color-dusk-10);
|
|
1416
|
+
--color-sky-10-on: var(--color-sky-90);
|
|
1417
|
+
--color-sky-20-on: var(--color-sky-90);
|
|
1418
|
+
--color-sky-30-on: var(--color-sky-90);
|
|
1419
|
+
--color-sky-40-on: var(--color-sky-90);
|
|
1420
|
+
--color-sky-50-on: var(--color-white);
|
|
1421
|
+
--color-sky-60-on: var(--color-sky-10);
|
|
1422
|
+
--color-sky-70-on: var(--color-sky-10);
|
|
1423
|
+
--color-sky-80-on: var(--color-sky-10);
|
|
1424
|
+
--color-sky-90-on: var(--color-sky-10);
|
|
1425
|
+
--color-sea-10-on: var(--color-sea-90);
|
|
1426
|
+
--color-sea-20-on: var(--color-sea-90);
|
|
1427
|
+
--color-sea-30-on: var(--color-sea-90);
|
|
1428
|
+
--color-sea-40-on: var(--color-sea-90);
|
|
1429
|
+
--color-sea-50-on: var(--color-sea-90);
|
|
1430
|
+
--color-sea-60-on: var(--color-white);
|
|
1431
|
+
--color-sea-70-on: var(--color-sea-10);
|
|
1432
|
+
--color-sea-80-on: var(--color-sea-10);
|
|
1433
|
+
--color-sea-90-on: var(--color-sea-10);
|
|
1434
|
+
--color-lake-10-on: var(--color-lake-90);
|
|
1435
|
+
--color-lake-20-on: var(--color-lake-90);
|
|
1436
|
+
--color-lake-30-on: var(--color-lake-90);
|
|
1437
|
+
--color-lake-40-on: var(--color-lake-90);
|
|
1438
|
+
--color-lake-50-on: var(--color-lake-90);
|
|
1439
|
+
--color-lake-60-on: var(--color-lake-90);
|
|
1440
|
+
--color-lake-70-on: var(--color-lake-10);
|
|
1441
|
+
--color-lake-80-on: var(--color-lake-10);
|
|
1442
|
+
--color-lake-90-on: var(--color-lake-10);
|
|
1443
|
+
}
|
|
1444
|
+
|
|
1445
|
+
[data-theme="dark"] {
|
|
1446
|
+
--color-neutral-10-on: var(--color-neutral-90);
|
|
1447
|
+
--color-neutral-20-on: var(--color-neutral-90);
|
|
1448
|
+
--color-neutral-30-on: var(--color-neutral-90);
|
|
1449
|
+
--color-neutral-40-on: var(--color-black);
|
|
1450
|
+
--color-neutral-50-on: var(--color-neutral-10);
|
|
1451
|
+
--color-neutral-60-on: var(--color-neutral-10);
|
|
1452
|
+
--color-neutral-70-on: var(--color-neutral-10);
|
|
1453
|
+
--color-neutral-80-on: var(--color-neutral-10);
|
|
1454
|
+
--color-neutral-90-on: var(--color-neutral-10);
|
|
1455
|
+
--color-success-10-on: var(--color-success-90);
|
|
1456
|
+
--color-success-20-on: var(--color-success-90);
|
|
1457
|
+
--color-success-30-on: var(--color-success-90);
|
|
1458
|
+
--color-success-40-on: var(--color-black);
|
|
1459
|
+
--color-success-50-on: var(--color-success-10);
|
|
1460
|
+
--color-success-60-on: var(--color-success-10);
|
|
1461
|
+
--color-success-70-on: var(--color-success-10);
|
|
1462
|
+
--color-success-80-on: var(--color-success-10);
|
|
1463
|
+
--color-success-90-on: var(--color-success-10);
|
|
1464
|
+
--color-alert-10-on: var(--color-alert-90);
|
|
1465
|
+
--color-alert-20-on: var(--color-alert-90);
|
|
1466
|
+
--color-alert-30-on: var(--color-alert-90);
|
|
1467
|
+
--color-alert-40-on: var(--color-alert-10);
|
|
1468
|
+
--color-alert-50-on: var(--color-alert-10);
|
|
1469
|
+
--color-alert-60-on: var(--color-alert-10);
|
|
1470
|
+
--color-alert-70-on: var(--color-alert-10);
|
|
1471
|
+
--color-alert-80-on: var(--color-alert-10);
|
|
1472
|
+
--color-alert-90-on: var(--color-alert-10);
|
|
1473
|
+
--color-error-10-on: var(--color-error-90);
|
|
1474
|
+
--color-error-20-on: var(--color-error-90);
|
|
1475
|
+
--color-error-30-on: var(--color-error-90);
|
|
1476
|
+
--color-error-40-on: var(--color-error-90);
|
|
1477
|
+
--color-error-50-on: var(--color-black);
|
|
1478
|
+
--color-error-60-on: var(--color-error-10);
|
|
1479
|
+
--color-error-70-on: var(--color-error-10);
|
|
1480
|
+
--color-error-80-on: var(--color-error-10);
|
|
1481
|
+
--color-error-90-on: var(--color-error-10);
|
|
1482
|
+
--color-leaf-10-on: var(--color-leaf-90);
|
|
1483
|
+
--color-leaf-20-on: var(--color-leaf-90);
|
|
1484
|
+
--color-leaf-30-on: var(--color-leaf-90);
|
|
1485
|
+
--color-leaf-40-on: var(--color-leaf-10);
|
|
1486
|
+
--color-leaf-50-on: var(--color-leaf-10);
|
|
1487
|
+
--color-leaf-60-on: var(--color-leaf-10);
|
|
1488
|
+
--color-leaf-70-on: var(--color-leaf-10);
|
|
1489
|
+
--color-leaf-80-on: var(--color-leaf-10);
|
|
1490
|
+
--color-leaf-90-on: var(--color-leaf-10);
|
|
1491
|
+
--color-sand-10-on: var(--color-sand-90);
|
|
1492
|
+
--color-sand-20-on: var(--color-sand-90);
|
|
1493
|
+
--color-sand-30-on: var(--color-sand-90);
|
|
1494
|
+
--color-sand-40-on: var(--color-black);
|
|
1495
|
+
--color-sand-50-on: var(--color-sand-10);
|
|
1496
|
+
--color-sand-60-on: var(--color-sand-10);
|
|
1497
|
+
--color-sand-70-on: var(--color-sand-10);
|
|
1498
|
+
--color-sand-80-on: var(--color-sand-10);
|
|
1499
|
+
--color-sand-90-on: var(--color-sand-10);
|
|
1500
|
+
--color-wood-10-on: var(--color-wood-90);
|
|
1501
|
+
--color-wood-20-on: var(--color-wood-90);
|
|
1502
|
+
--color-wood-30-on: var(--color-wood-90);
|
|
1503
|
+
--color-wood-40-on: var(--color-white);
|
|
1504
|
+
--color-wood-50-on: var(--color-black);
|
|
1505
|
+
--color-wood-60-on: var(--color-wood-10);
|
|
1506
|
+
--color-wood-70-on: var(--color-wood-10);
|
|
1507
|
+
--color-wood-80-on: var(--color-wood-10);
|
|
1508
|
+
--color-wood-90-on: var(--color-wood-10);
|
|
1509
|
+
--color-clay-10-on: var(--color-clay-90);
|
|
1510
|
+
--color-clay-20-on: var(--color-clay-90);
|
|
1511
|
+
--color-clay-30-on: var(--color-clay-90);
|
|
1512
|
+
--color-clay-40-on: var(--color-clay-90);
|
|
1513
|
+
--color-clay-50-on: var(--color-white);
|
|
1514
|
+
--color-clay-60-on: var(--color-clay-10);
|
|
1515
|
+
--color-clay-70-on: var(--color-clay-10);
|
|
1516
|
+
--color-clay-80-on: var(--color-clay-10);
|
|
1517
|
+
--color-clay-90-on: var(--color-clay-10);
|
|
1518
|
+
--color-flower-10-on: var(--color-flower-90);
|
|
1519
|
+
--color-flower-20-on: var(--color-flower-90);
|
|
1520
|
+
--color-flower-30-on: var(--color-flower-90);
|
|
1521
|
+
--color-flower-40-on: var(--color-flower-90);
|
|
1522
|
+
--color-flower-50-on: var(--color-black);
|
|
1523
|
+
--color-flower-60-on: var(--color-flower-10);
|
|
1524
|
+
--color-flower-70-on: var(--color-flower-10);
|
|
1525
|
+
--color-flower-80-on: var(--color-flower-10);
|
|
1526
|
+
--color-flower-90-on: var(--color-flower-10);
|
|
1527
|
+
--color-dusk-10-on: var(--color-dusk-90);
|
|
1528
|
+
--color-dusk-20-on: var(--color-dusk-90);
|
|
1529
|
+
--color-dusk-30-on: var(--color-dusk-90);
|
|
1530
|
+
--color-dusk-40-on: var(--color-dusk-90);
|
|
1531
|
+
--color-dusk-50-on: var(--color-dusk-90);
|
|
1532
|
+
--color-dusk-60-on: var(--color-black);
|
|
1533
|
+
--color-dusk-70-on: var(--color-dusk-10);
|
|
1534
|
+
--color-dusk-80-on: var(--color-dusk-10);
|
|
1535
|
+
--color-dusk-90-on: var(--color-dusk-10);
|
|
1536
|
+
--color-sky-10-on: var(--color-sky-90);
|
|
1537
|
+
--color-sky-20-on: var(--color-sky-90);
|
|
1538
|
+
--color-sky-30-on: var(--color-sky-90);
|
|
1539
|
+
--color-sky-40-on: var(--color-sky-90);
|
|
1540
|
+
--color-sky-50-on: var(--color-white);
|
|
1541
|
+
--color-sky-60-on: var(--color-sky-10);
|
|
1542
|
+
--color-sky-70-on: var(--color-sky-10);
|
|
1543
|
+
--color-sky-80-on: var(--color-sky-10);
|
|
1544
|
+
--color-sky-90-on: var(--color-sky-10);
|
|
1545
|
+
--color-sea-10-on: var(--color-sea-90);
|
|
1546
|
+
--color-sea-20-on: var(--color-sea-90);
|
|
1547
|
+
--color-sea-30-on: var(--color-sea-90);
|
|
1548
|
+
--color-sea-40-on: var(--color-white);
|
|
1549
|
+
--color-sea-50-on: var(--color-sea-10);
|
|
1550
|
+
--color-sea-60-on: var(--color-sea-10);
|
|
1551
|
+
--color-sea-70-on: var(--color-sea-10);
|
|
1552
|
+
--color-sea-80-on: var(--color-sea-10);
|
|
1553
|
+
--color-sea-90-on: var(--color-sea-10);
|
|
1554
|
+
--color-lake-10-on: var(--color-lake-90);
|
|
1555
|
+
--color-lake-20-on: var(--color-lake-90);
|
|
1556
|
+
--color-lake-30-on: var(--color-lake-90);
|
|
1557
|
+
--color-lake-40-on: var(--color-lake-10);
|
|
1558
|
+
--color-lake-50-on: var(--color-lake-10);
|
|
1559
|
+
--color-lake-60-on: var(--color-lake-10);
|
|
1560
|
+
--color-lake-70-on: var(--color-lake-10);
|
|
1561
|
+
--color-lake-80-on: var(--color-lake-10);
|
|
1562
|
+
--color-lake-90-on: var(--color-lake-10);
|
|
1563
|
+
}
|
|
1564
|
+
|
|
1565
|
+
/* The primary slot follows the scheme it is pointed at. applyCustomColor and
|
|
1566
|
+
applyCustomGradient override these at runtime with the same contrast rule. */
|
|
1567
|
+
|
|
1568
|
+
:root {
|
|
1569
|
+
--color-primary-10-on: var(--color-neutral-10-on);
|
|
1570
|
+
--color-primary-20-on: var(--color-neutral-20-on);
|
|
1571
|
+
--color-primary-30-on: var(--color-neutral-30-on);
|
|
1572
|
+
--color-primary-40-on: var(--color-neutral-50-on);
|
|
1573
|
+
--color-primary-50-on: var(--color-neutral-80-on);
|
|
1574
|
+
}
|
|
1575
|
+
|
|
1576
|
+
[data-color-scheme="leaf"] {
|
|
1577
|
+
--color-primary-10-on: var(--color-leaf-10-on);
|
|
1578
|
+
--color-primary-20-on: var(--color-leaf-20-on);
|
|
1579
|
+
--color-primary-30-on: var(--color-leaf-30-on);
|
|
1580
|
+
--color-primary-40-on: var(--color-leaf-40-on);
|
|
1581
|
+
--color-primary-50-on: var(--color-leaf-50-on);
|
|
1582
|
+
}
|
|
1583
|
+
|
|
1584
|
+
[data-color-scheme="sand"] {
|
|
1585
|
+
--color-primary-10-on: var(--color-sand-10-on);
|
|
1586
|
+
--color-primary-20-on: var(--color-sand-20-on);
|
|
1587
|
+
--color-primary-30-on: var(--color-sand-30-on);
|
|
1588
|
+
--color-primary-40-on: var(--color-sand-40-on);
|
|
1589
|
+
--color-primary-50-on: var(--color-sand-50-on);
|
|
1590
|
+
}
|
|
1591
|
+
|
|
1592
|
+
[data-color-scheme="wood"] {
|
|
1593
|
+
--color-primary-10-on: var(--color-wood-10-on);
|
|
1594
|
+
--color-primary-20-on: var(--color-wood-20-on);
|
|
1595
|
+
--color-primary-30-on: var(--color-wood-30-on);
|
|
1596
|
+
--color-primary-40-on: var(--color-wood-40-on);
|
|
1597
|
+
--color-primary-50-on: var(--color-wood-50-on);
|
|
1598
|
+
}
|
|
1599
|
+
|
|
1600
|
+
[data-color-scheme="clay"] {
|
|
1601
|
+
--color-primary-10-on: var(--color-clay-10-on);
|
|
1602
|
+
--color-primary-20-on: var(--color-clay-20-on);
|
|
1603
|
+
--color-primary-30-on: var(--color-clay-30-on);
|
|
1604
|
+
--color-primary-40-on: var(--color-clay-40-on);
|
|
1605
|
+
--color-primary-50-on: var(--color-clay-50-on);
|
|
1606
|
+
}
|
|
1607
|
+
|
|
1608
|
+
[data-color-scheme="flower"] {
|
|
1609
|
+
--color-primary-10-on: var(--color-flower-10-on);
|
|
1610
|
+
--color-primary-20-on: var(--color-flower-20-on);
|
|
1611
|
+
--color-primary-30-on: var(--color-flower-30-on);
|
|
1612
|
+
--color-primary-40-on: var(--color-flower-40-on);
|
|
1613
|
+
--color-primary-50-on: var(--color-flower-50-on);
|
|
1614
|
+
}
|
|
1615
|
+
|
|
1616
|
+
[data-color-scheme="dusk"] {
|
|
1617
|
+
--color-primary-10-on: var(--color-dusk-10-on);
|
|
1618
|
+
--color-primary-20-on: var(--color-dusk-20-on);
|
|
1619
|
+
--color-primary-30-on: var(--color-dusk-30-on);
|
|
1620
|
+
--color-primary-40-on: var(--color-dusk-40-on);
|
|
1621
|
+
--color-primary-50-on: var(--color-dusk-50-on);
|
|
1622
|
+
}
|
|
1623
|
+
|
|
1624
|
+
[data-color-scheme="sky"] {
|
|
1625
|
+
--color-primary-10-on: var(--color-sky-10-on);
|
|
1626
|
+
--color-primary-20-on: var(--color-sky-20-on);
|
|
1627
|
+
--color-primary-30-on: var(--color-sky-30-on);
|
|
1628
|
+
--color-primary-40-on: var(--color-sky-40-on);
|
|
1629
|
+
--color-primary-50-on: var(--color-sky-50-on);
|
|
1630
|
+
}
|
|
1631
|
+
|
|
1632
|
+
[data-color-scheme="sea"] {
|
|
1633
|
+
--color-primary-10-on: var(--color-sea-10-on);
|
|
1634
|
+
--color-primary-20-on: var(--color-sea-20-on);
|
|
1635
|
+
--color-primary-30-on: var(--color-sea-30-on);
|
|
1636
|
+
--color-primary-40-on: var(--color-sea-40-on);
|
|
1637
|
+
--color-primary-50-on: var(--color-sea-50-on);
|
|
1638
|
+
}
|
|
1639
|
+
|
|
1640
|
+
[data-color-scheme="lake"] {
|
|
1641
|
+
--color-primary-10-on: var(--color-lake-10-on);
|
|
1642
|
+
--color-primary-20-on: var(--color-lake-20-on);
|
|
1643
|
+
--color-primary-30-on: var(--color-lake-30-on);
|
|
1644
|
+
--color-primary-40-on: var(--color-lake-40-on);
|
|
1645
|
+
--color-primary-50-on: var(--color-lake-50-on);
|
|
1646
|
+
}
|
|
1647
|
+
|
|
1648
|
+
[data-color-scheme="neutral"] {
|
|
1649
|
+
--color-primary-10-on: var(--color-neutral-10-on);
|
|
1650
|
+
--color-primary-20-on: var(--color-neutral-20-on);
|
|
1651
|
+
--color-primary-30-on: var(--color-neutral-30-on);
|
|
1652
|
+
--color-primary-40-on: var(--color-neutral-50-on);
|
|
1653
|
+
--color-primary-50-on: var(--color-neutral-80-on);
|
|
1654
|
+
}
|
|
1655
|
+
|
|
1656
|
+
/* <<< end generated: label contrast tokens >>> */
|