@rtkelly-labs/design-system 0.0.0-bootstrap.0 → 0.16.0-dev.0.37dedac
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/CHANGELOG.md +347 -0
- package/LICENSE +21 -0
- package/README.md +317 -2
- package/dist/components/AlertDialog.js +95 -0
- package/dist/components/AlertDialog.js.map +1 -0
- package/dist/components/AppShell.js +261 -0
- package/dist/components/AppShell.js.map +1 -0
- package/dist/components/AsciiDivider.js +8 -0
- package/dist/components/AsciiDivider.js.map +1 -0
- package/dist/components/AsciiGauge.js +130 -0
- package/dist/components/AsciiGauge.js.map +1 -0
- package/dist/components/Avatar.js +87 -0
- package/dist/components/Avatar.js.map +1 -0
- package/dist/components/Badge.js +25 -0
- package/dist/components/Badge.js.map +1 -0
- package/dist/components/BarChart.js +288 -0
- package/dist/components/BarChart.js.map +1 -0
- package/dist/components/BracketText.js +23 -0
- package/dist/components/BracketText.js.map +1 -0
- package/dist/components/BulletChart.js +50 -0
- package/dist/components/BulletChart.js.map +1 -0
- package/dist/components/Button.js +130 -0
- package/dist/components/Button.js.map +1 -0
- package/dist/components/Card.js +181 -0
- package/dist/components/Card.js.map +1 -0
- package/dist/components/ChartTooltip.js +54 -0
- package/dist/components/ChartTooltip.js.map +1 -0
- package/dist/components/Checkbox.js +55 -0
- package/dist/components/Checkbox.js.map +1 -0
- package/dist/components/ColophonCard.js +122 -0
- package/dist/components/ColophonCard.js.map +1 -0
- package/dist/components/DataTable.js +299 -0
- package/dist/components/DataTable.js.map +1 -0
- package/dist/components/Divider.js +42 -0
- package/dist/components/Divider.js.map +1 -0
- package/dist/components/Drawer.js +81 -0
- package/dist/components/Drawer.js.map +1 -0
- package/dist/components/EmptyState.js +39 -0
- package/dist/components/EmptyState.js.map +1 -0
- package/dist/components/ErrorSummary.js +122 -0
- package/dist/components/ErrorSummary.js.map +1 -0
- package/dist/components/Fieldset.js +37 -0
- package/dist/components/Fieldset.js.map +1 -0
- package/dist/components/Glyph.js +60 -0
- package/dist/components/Glyph.js.map +1 -0
- package/dist/components/Input.js +111 -0
- package/dist/components/Input.js.map +1 -0
- package/dist/components/LinkProvider.js +76 -0
- package/dist/components/LinkProvider.js.map +1 -0
- package/dist/components/Menu.js +144 -0
- package/dist/components/Menu.js.map +1 -0
- package/dist/components/MetadataGrid.js +184 -0
- package/dist/components/MetadataGrid.js.map +1 -0
- package/dist/components/MobileNav.js +120 -0
- package/dist/components/MobileNav.js.map +1 -0
- package/dist/components/Modal.js +79 -0
- package/dist/components/Modal.js.map +1 -0
- package/dist/components/NerdIcon.js +177 -0
- package/dist/components/NerdIcon.js.map +1 -0
- package/dist/components/NoteBlock.js +84 -0
- package/dist/components/NoteBlock.js.map +1 -0
- package/dist/components/PageHeader.js +34 -0
- package/dist/components/PageHeader.js.map +1 -0
- package/dist/components/PageTitle.js +21 -0
- package/dist/components/PageTitle.js.map +1 -0
- package/dist/components/Pagination.js +96 -0
- package/dist/components/Pagination.js.map +1 -0
- package/dist/components/Popover.js +87 -0
- package/dist/components/Popover.js.map +1 -0
- package/dist/components/Progress.js +83 -0
- package/dist/components/Progress.js.map +1 -0
- package/dist/components/RadioGroup.js +74 -0
- package/dist/components/RadioGroup.js.map +1 -0
- package/dist/components/ReportDocument.js +75 -0
- package/dist/components/ReportDocument.js.map +1 -0
- package/dist/components/SectionContainer.js +18 -0
- package/dist/components/SectionContainer.js.map +1 -0
- package/dist/components/Select.js +199 -0
- package/dist/components/Select.js.map +1 -0
- package/dist/components/SiteFooter.js +29 -0
- package/dist/components/SiteFooter.js.map +1 -0
- package/dist/components/SiteHeader.js +59 -0
- package/dist/components/SiteHeader.js.map +1 -0
- package/dist/components/SiteNav.js +141 -0
- package/dist/components/SiteNav.js.map +1 -0
- package/dist/components/Skeleton.js +51 -0
- package/dist/components/Skeleton.js.map +1 -0
- package/dist/components/SocialIcon.js +77 -0
- package/dist/components/SocialIcon.js.map +1 -0
- package/dist/components/Sparkline.js +104 -0
- package/dist/components/Sparkline.js.map +1 -0
- package/dist/components/Spinner.js +65 -0
- package/dist/components/Spinner.js.map +1 -0
- package/dist/components/StatCard.js +53 -0
- package/dist/components/StatCard.js.map +1 -0
- package/dist/components/StatusPage.js +99 -0
- package/dist/components/StatusPage.js.map +1 -0
- package/dist/components/Swatch.js +55 -0
- package/dist/components/Swatch.js.map +1 -0
- package/dist/components/Switch.js +53 -0
- package/dist/components/Switch.js.map +1 -0
- package/dist/components/TLDR.js +53 -0
- package/dist/components/TLDR.js.map +1 -0
- package/dist/components/Table.js +155 -0
- package/dist/components/Table.js.map +1 -0
- package/dist/components/Tabs.js +325 -0
- package/dist/components/Tabs.js.map +1 -0
- package/dist/components/Tag.js +19 -0
- package/dist/components/Tag.js.map +1 -0
- package/dist/components/TelemetryGauge.js +112 -0
- package/dist/components/TelemetryGauge.js.map +1 -0
- package/dist/components/ThemeProvider.js +87 -0
- package/dist/components/ThemeProvider.js.map +1 -0
- package/dist/components/TickerTape.js +196 -0
- package/dist/components/TickerTape.js.map +1 -0
- package/dist/components/Toast.js +200 -0
- package/dist/components/Toast.js.map +1 -0
- package/dist/components/Tooltip.js +69 -0
- package/dist/components/Tooltip.js.map +1 -0
- package/dist/components/TrackCard.js +206 -0
- package/dist/components/TrackCard.js.map +1 -0
- package/dist/components/blog/BlogPost.js +116 -0
- package/dist/components/blog/BlogPost.js.map +1 -0
- package/dist/components/blog/LoremIpsumPost.js +62 -0
- package/dist/components/blog/LoremIpsumPost.js.map +1 -0
- package/dist/components/blog/author.js +25 -0
- package/dist/components/blog/author.js.map +1 -0
- package/dist/components/booleanControl.js +50 -0
- package/dist/components/booleanControl.js.map +1 -0
- package/dist/components/dialogPopupRef.js +28 -0
- package/dist/components/dialogPopupRef.js.map +1 -0
- package/dist/components/dialogSurface.js +75 -0
- package/dist/components/dialogSurface.js.map +1 -0
- package/dist/components/docs/AnchorHeading.js +80 -0
- package/dist/components/docs/AnchorHeading.js.map +1 -0
- package/dist/components/docs/Breadcrumbs.js +26 -0
- package/dist/components/docs/Breadcrumbs.js.map +1 -0
- package/dist/components/docs/CodeBlock.js +63 -0
- package/dist/components/docs/CodeBlock.js.map +1 -0
- package/dist/components/docs/CodeTabs.js +71 -0
- package/dist/components/docs/CodeTabs.js.map +1 -0
- package/dist/components/docs/DocPager.js +28 -0
- package/dist/components/docs/DocPager.js.map +1 -0
- package/dist/components/docs/DocsHeader.js +124 -0
- package/dist/components/docs/DocsHeader.js.map +1 -0
- package/dist/components/docs/DocsLayout.js +61 -0
- package/dist/components/docs/DocsLayout.js.map +1 -0
- package/dist/components/docs/DocsLinkProvider.js +25 -0
- package/dist/components/docs/DocsLinkProvider.js.map +1 -0
- package/dist/components/docs/DocsSidebar.js +147 -0
- package/dist/components/docs/DocsSidebar.js.map +1 -0
- package/dist/components/docs/Prose.js +56 -0
- package/dist/components/docs/Prose.js.map +1 -0
- package/dist/components/docs/TableOfContents.js +71 -0
- package/dist/components/docs/TableOfContents.js.map +1 -0
- package/dist/components/docs/codeTabsStore.js +75 -0
- package/dist/components/docs/codeTabsStore.js.map +1 -0
- package/dist/components/docs/figures/ActivityGrid.js +116 -0
- package/dist/components/docs/figures/ActivityGrid.js.map +1 -0
- package/dist/components/docs/figures/BeforeAfter.js +64 -0
- package/dist/components/docs/figures/BeforeAfter.js.map +1 -0
- package/dist/components/docs/figures/ChangeSummary.js +74 -0
- package/dist/components/docs/figures/ChangeSummary.js.map +1 -0
- package/dist/components/docs/figures/Decision.js +34 -0
- package/dist/components/docs/figures/Decision.js.map +1 -0
- package/dist/components/docs/figures/DrawingSheet.js +37 -0
- package/dist/components/docs/figures/DrawingSheet.js.map +1 -0
- package/dist/components/docs/figures/FigureFrame.js +226 -0
- package/dist/components/docs/figures/FigureFrame.js.map +1 -0
- package/dist/components/docs/figures/FileChangeTree.js +134 -0
- package/dist/components/docs/figures/FileChangeTree.js.map +1 -0
- package/dist/components/docs/figures/FlowDiagram.js +82 -0
- package/dist/components/docs/figures/FlowDiagram.js.map +1 -0
- package/dist/components/docs/figures/GanttChart.js +79 -0
- package/dist/components/docs/figures/GanttChart.js.map +1 -0
- package/dist/components/docs/figures/IndexedSection.js +45 -0
- package/dist/components/docs/figures/IndexedSection.js.map +1 -0
- package/dist/components/docs/figures/MetricStrip.js +23 -0
- package/dist/components/docs/figures/MetricStrip.js.map +1 -0
- package/dist/components/docs/figures/Steps.js +58 -0
- package/dist/components/docs/figures/Steps.js.map +1 -0
- package/dist/components/docs/figures/SwatchCompare.js +42 -0
- package/dist/components/docs/figures/SwatchCompare.js.map +1 -0
- package/dist/components/docs/figures/TermGrid.js +22 -0
- package/dist/components/docs/figures/TermGrid.js.map +1 -0
- package/dist/components/docs/figures/Terminal.js +37 -0
- package/dist/components/docs/figures/Terminal.js.map +1 -0
- package/dist/components/docs/figures/Timeline.js +61 -0
- package/dist/components/docs/figures/Timeline.js.map +1 -0
- package/dist/components/docs/figures/TokenTable.js +42 -0
- package/dist/components/docs/figures/TokenTable.js.map +1 -0
- package/dist/components/docs/figures/TreeDiagram.js +76 -0
- package/dist/components/docs/figures/TreeDiagram.js.map +1 -0
- package/dist/components/docs/figures/UptimeStrip.js +68 -0
- package/dist/components/docs/figures/UptimeStrip.js.map +1 -0
- package/dist/components/docs/figures/index.js +24 -0
- package/dist/components/docs/figures/index.js.map +1 -0
- package/dist/components/docs/index.js +15 -0
- package/dist/components/docs/index.js.map +1 -0
- package/dist/components/docs/mdxComponents.js +108 -0
- package/dist/components/docs/mdxComponents.js.map +1 -0
- package/dist/components/experiments/DesignSandbox.js +206 -0
- package/dist/components/experiments/DesignSandbox.js.map +1 -0
- package/dist/components/experiments/ExperimentsView.js +138 -0
- package/dist/components/experiments/ExperimentsView.js.map +1 -0
- package/dist/components/fieldFrame.js +200 -0
- package/dist/components/fieldFrame.js.map +1 -0
- package/dist/components/floatingSurface.js +35 -0
- package/dist/components/floatingSurface.js.map +1 -0
- package/dist/components/marketing/CTASection.js +47 -0
- package/dist/components/marketing/CTASection.js.map +1 -0
- package/dist/components/marketing/FeatureGrid.js +49 -0
- package/dist/components/marketing/FeatureGrid.js.map +1 -0
- package/dist/components/marketing/Hero.js +44 -0
- package/dist/components/marketing/Hero.js.map +1 -0
- package/dist/components/marketing/PricingGrid.js +65 -0
- package/dist/components/marketing/PricingGrid.js.map +1 -0
- package/dist/components/marketing/SectionGrid.js +51 -0
- package/dist/components/marketing/SectionGrid.js.map +1 -0
- package/dist/components/paginationRange.js +28 -0
- package/dist/components/paginationRange.js.map +1 -0
- package/dist/components/portalTheme.js +14 -0
- package/dist/components/portalTheme.js.map +1 -0
- package/dist/components/saas/SaasLandingPage.js +201 -0
- package/dist/components/saas/SaasLandingPage.js.map +1 -0
- package/dist/components/siteNavContext.js +24 -0
- package/dist/components/siteNavContext.js.map +1 -0
- package/dist/components/slides/Slide.js +84 -0
- package/dist/components/slides/Slide.js.map +1 -0
- package/dist/components/slides/SlideDeck.js +228 -0
- package/dist/components/slides/SlideDeck.js.map +1 -0
- package/dist/components/themeInitScript.js +16 -0
- package/dist/components/themeInitScript.js.map +1 -0
- package/dist/components/themeScope.js +9 -0
- package/dist/components/themeScope.js.map +1 -0
- package/dist/components/toastLifetime.js +21 -0
- package/dist/components/toastLifetime.js.map +1 -0
- package/dist/fonts/DSSymbols-OFL.txt +98 -0
- package/dist/fonts/DSSymbols-Regular.woff2 +0 -0
- package/dist/fonts/SymbolsNerdFontMono-Regular.woff2 +0 -0
- package/dist/hooks/useActiveHeading.js +59 -0
- package/dist/hooks/useActiveHeading.js.map +1 -0
- package/dist/hooks/useCopyToClipboard.js +58 -0
- package/dist/hooks/useCopyToClipboard.js.map +1 -0
- package/dist/index.d.ts +6394 -0
- package/dist/index.js +117 -0
- package/dist/index.js.map +1 -0
- package/dist/lib/accentClasses.js +87 -0
- package/dist/lib/accentClasses.js.map +1 -0
- package/dist/lib/recipe.js +33 -0
- package/dist/lib/recipe.js.map +1 -0
- package/dist/lib/slug.js +39 -0
- package/dist/lib/slug.js.map +1 -0
- package/dist/lib/theme.js +76 -0
- package/dist/lib/theme.js.map +1 -0
- package/dist/lib/tokenRules.js +51 -0
- package/dist/lib/tokenRules.js.map +1 -0
- package/dist/prose.css +766 -0
- package/dist/styles.css +203 -0
- package/dist/theme/ansi.js +77 -0
- package/dist/theme/ansi.js.map +1 -0
- package/dist/theme/contrast.js +342 -0
- package/dist/theme/contrast.js.map +1 -0
- package/dist/theme/levels.js +234 -0
- package/dist/theme/levels.js.map +1 -0
- package/dist/theme/media.js +115 -0
- package/dist/theme/media.js.map +1 -0
- package/dist/theme/recommended.js +105 -0
- package/dist/theme/recommended.js.map +1 -0
- package/dist/theme.css +538 -0
- package/dist/tokens.js +1 -0
- package/dist/tokens.js.map +1 -0
- package/package.json +209 -6
- package/skills/design-system-usage/SKILL.md +75 -0
- package/terminal/rtk-midnight.alacritty.toml +33 -0
- package/terminal/rtk-midnight.ghostty.conf +24 -0
- package/terminal/rtk-midnight.itermcolors +167 -0
- package/terminal/rtk-midnight.windows-terminal.json +23 -0
- package/terminal/rtk-sketch.alacritty.toml +33 -0
- package/terminal/rtk-sketch.ghostty.conf +24 -0
- package/terminal/rtk-sketch.itermcolors +167 -0
- package/terminal/rtk-sketch.windows-terminal.json +23 -0
- package/tokens/palette.midnight.tokens.json +477 -0
- package/tokens/palette.sketch.tokens.json +477 -0
package/dist/theme.css
ADDED
|
@@ -0,0 +1,538 @@
|
|
|
1
|
+
/* GENERATED FILE — DO NOT EDIT.
|
|
2
|
+
*
|
|
3
|
+
* Source: src/theme/levels.ts (edit that, not this)
|
|
4
|
+
* Regenerate: pnpm tokens:build · Verify: pnpm tokens:check
|
|
5
|
+
*
|
|
6
|
+
* Import order in a consumer's entrypoint:
|
|
7
|
+
*
|
|
8
|
+
* @import "tailwindcss";
|
|
9
|
+
* @import "@rtkelly-labs/design-system/theme.css";
|
|
10
|
+
*
|
|
11
|
+
* ============================================================================
|
|
12
|
+
* How the cascade works here, because it is not obvious
|
|
13
|
+
* ============================================================================
|
|
14
|
+
*
|
|
15
|
+
* Every level block below declares LITERAL colours. That matters: a custom
|
|
16
|
+
* property containing a var() reference is substituted where it is DECLARED,
|
|
17
|
+
* not where it is used, so a token defined once on :root as var(--something)
|
|
18
|
+
* inherits into descendants already resolved to the root theme's value — and a
|
|
19
|
+
* nested theme panel keeps the outer theme's colours. The previous hand-written
|
|
20
|
+
* token layer worked around that by re-declaring the indirected tokens on every
|
|
21
|
+
* mode class. With literals the problem does not arise at all, and nesting to
|
|
22
|
+
* any depth resolves by ordinary CSS inheritance.
|
|
23
|
+
*
|
|
24
|
+
* The Tailwind --color-* aliases DO indirect through --ds-*, so that a consumer
|
|
25
|
+
* can override a role and have the utilities follow. Those are therefore
|
|
26
|
+
* re-declared inside each level block, which is free in a generated file.
|
|
27
|
+
*/
|
|
28
|
+
|
|
29
|
+
/* Tailwind v4 skips node_modules during automatic content detection, so the
|
|
30
|
+
* utilities used inside the compiled components would never be generated in a
|
|
31
|
+
* consumer's build without this. */
|
|
32
|
+
@source "./";
|
|
33
|
+
|
|
34
|
+
/* ==========================================================================
|
|
35
|
+
Variants — one per level, plus the two polarity groups
|
|
36
|
+
==========================================================================
|
|
37
|
+
|
|
38
|
+
Prefer a role token over a variant: a component written against
|
|
39
|
+
--ds-surface-raised needs no variant at all and picks up a fifth level for
|
|
40
|
+
free. Reach for these only for what tokens genuinely cannot express, such as
|
|
41
|
+
a different border weight on one level. */
|
|
42
|
+
|
|
43
|
+
@custom-variant midnight (&:where([data-theme="midnight"], [data-theme="midnight"] *):not(:where([data-theme]:not([data-theme="midnight"]), [data-theme]:not([data-theme="midnight"]) *)));
|
|
44
|
+
@custom-variant sketch (&:where([data-theme="sketch"], [data-theme="sketch"] *):not(:where([data-theme]:not([data-theme="sketch"]), [data-theme]:not([data-theme="sketch"]) *)));
|
|
45
|
+
|
|
46
|
+
/* Polarity is a declared property of a level, so these are derived rather than
|
|
47
|
+
* being the axis the system hangs off. Use them for non-colour utilities that
|
|
48
|
+
* genuinely depend on light-vs-dark — a shadow spread, an image filter — never
|
|
49
|
+
* for colour, which the tokens already handle. */
|
|
50
|
+
@custom-variant dark (&:where([data-theme="midnight"], [data-theme="midnight"] *):not(:where([data-theme]:not([data-theme="midnight"]), [data-theme]:not([data-theme="midnight"]) *)));
|
|
51
|
+
@custom-variant light (&:where([data-theme="sketch"], [data-theme="sketch"] *):not(:where([data-theme]:not([data-theme="sketch"]), [data-theme]:not([data-theme="sketch"]) *)));
|
|
52
|
+
|
|
53
|
+
/* `light:` is not declared here: a level named `light` already declares it
|
|
54
|
+
* above, and the two would be the same rule. `dark:` still spans polarity
|
|
55
|
+
* rather than naming a level, which is why it survives the collapse. */
|
|
56
|
+
|
|
57
|
+
/* ==========================================================================
|
|
58
|
+
Utility surface
|
|
59
|
+
==========================================================================
|
|
60
|
+
|
|
61
|
+
Declaring the token here is what makes Tailwind emit `bg-surface-raised`,
|
|
62
|
+
`text-accent-primary`, `border-edge-subtle` and friends. The values are
|
|
63
|
+
references; the literals live in the level blocks below. */
|
|
64
|
+
|
|
65
|
+
@theme {
|
|
66
|
+
--color-surface-base: var(--ds-surface-base);
|
|
67
|
+
--color-surface-raised: var(--ds-surface-raised);
|
|
68
|
+
--color-surface-sunken: var(--ds-surface-sunken);
|
|
69
|
+
--color-surface-overlay: var(--ds-surface-overlay);
|
|
70
|
+
--color-content-primary: var(--ds-text-primary);
|
|
71
|
+
--color-content-secondary: var(--ds-text-secondary);
|
|
72
|
+
--color-content-muted: var(--ds-text-muted);
|
|
73
|
+
--color-content-inverse: var(--ds-text-inverse);
|
|
74
|
+
--color-edge-strong: var(--ds-border-strong);
|
|
75
|
+
--color-edge-default: var(--ds-border-default);
|
|
76
|
+
--color-edge-subtle: var(--ds-border-subtle);
|
|
77
|
+
--color-accent-primary: var(--ds-accent-primary);
|
|
78
|
+
--color-accent-secondary: var(--ds-accent-secondary);
|
|
79
|
+
--color-accent-tertiary: var(--ds-accent-tertiary);
|
|
80
|
+
--color-accent-quiet: var(--ds-accent-quiet);
|
|
81
|
+
--color-intent-info: var(--ds-intent-info);
|
|
82
|
+
--color-intent-success: var(--ds-intent-success);
|
|
83
|
+
--color-intent-warning: var(--ds-intent-warning);
|
|
84
|
+
--color-intent-danger: var(--ds-intent-danger);
|
|
85
|
+
--color-palette-red: var(--ds-palette-red);
|
|
86
|
+
--color-palette-orange: var(--ds-palette-orange);
|
|
87
|
+
--color-palette-yellow: var(--ds-palette-yellow);
|
|
88
|
+
--color-palette-green: var(--ds-palette-green);
|
|
89
|
+
--color-palette-teal: var(--ds-palette-teal);
|
|
90
|
+
--color-palette-cyan: var(--ds-palette-cyan);
|
|
91
|
+
--color-palette-blue: var(--ds-palette-blue);
|
|
92
|
+
--color-palette-violet: var(--ds-palette-violet);
|
|
93
|
+
--color-palette-magenta: var(--ds-palette-magenta);
|
|
94
|
+
--color-palette-pink: var(--ds-palette-pink);
|
|
95
|
+
--color-palette-bright-red: var(--ds-palette-bright-red);
|
|
96
|
+
--color-palette-bright-orange: var(--ds-palette-bright-orange);
|
|
97
|
+
--color-palette-bright-yellow: var(--ds-palette-bright-yellow);
|
|
98
|
+
--color-palette-bright-green: var(--ds-palette-bright-green);
|
|
99
|
+
--color-palette-bright-teal: var(--ds-palette-bright-teal);
|
|
100
|
+
--color-palette-bright-cyan: var(--ds-palette-bright-cyan);
|
|
101
|
+
--color-palette-bright-blue: var(--ds-palette-bright-blue);
|
|
102
|
+
--color-palette-bright-violet: var(--ds-palette-bright-violet);
|
|
103
|
+
--color-palette-bright-magenta: var(--ds-palette-bright-magenta);
|
|
104
|
+
--color-palette-bright-pink: var(--ds-palette-bright-pink);
|
|
105
|
+
--shadow-hard-sm: var(--ds-elev-sm) var(--ds-shadow-color);
|
|
106
|
+
--shadow-hard-md: var(--ds-elev-md) var(--ds-shadow-color);
|
|
107
|
+
--shadow-hard-lg: var(--ds-elev-lg) var(--ds-shadow-color);
|
|
108
|
+
--shadow-hard-accent-primary: 4px 4px 0px 0px var(--ds-accent-primary);
|
|
109
|
+
--shadow-hard-accent-secondary: 4px 4px 0px 0px var(--ds-accent-secondary);
|
|
110
|
+
--shadow-hard-accent-tertiary: 4px 4px 0px 0px var(--ds-accent-tertiary);
|
|
111
|
+
--shadow-hard-accent-quiet: 4px 4px 0px 0px var(--ds-accent-quiet);
|
|
112
|
+
--shadow-hard-intent-info: 4px 4px 0px 0px var(--ds-intent-info);
|
|
113
|
+
--shadow-hard-intent-success: 4px 4px 0px 0px var(--ds-intent-success);
|
|
114
|
+
--shadow-hard-intent-warning: 4px 4px 0px 0px var(--ds-intent-warning);
|
|
115
|
+
--shadow-hard-intent-danger: 4px 4px 0px 0px var(--ds-intent-danger);
|
|
116
|
+
--shadow-glow-accent-primary: 0 0 10px color-mix(in oklab, var(--ds-accent-primary) 50%, transparent), 0 0 20px color-mix(in oklab, var(--ds-accent-primary) 30%, transparent);
|
|
117
|
+
--shadow-glow-accent-secondary: 0 0 10px color-mix(in oklab, var(--ds-accent-secondary) 50%, transparent), 0 0 20px color-mix(in oklab, var(--ds-accent-secondary) 30%, transparent);
|
|
118
|
+
--shadow-glow-accent-tertiary: 0 0 10px color-mix(in oklab, var(--ds-accent-tertiary) 50%, transparent), 0 0 20px color-mix(in oklab, var(--ds-accent-tertiary) 30%, transparent);
|
|
119
|
+
--shadow-glow-accent-quiet: 0 0 10px color-mix(in oklab, var(--ds-accent-quiet) 50%, transparent), 0 0 20px color-mix(in oklab, var(--ds-accent-quiet) 30%, transparent);
|
|
120
|
+
--shadow-glow-intent-info: 0 0 10px color-mix(in oklab, var(--ds-intent-info) 50%, transparent), 0 0 20px color-mix(in oklab, var(--ds-intent-info) 30%, transparent);
|
|
121
|
+
--shadow-glow-intent-success: 0 0 10px color-mix(in oklab, var(--ds-intent-success) 50%, transparent), 0 0 20px color-mix(in oklab, var(--ds-intent-success) 30%, transparent);
|
|
122
|
+
--shadow-glow-intent-warning: 0 0 10px color-mix(in oklab, var(--ds-intent-warning) 50%, transparent), 0 0 20px color-mix(in oklab, var(--ds-intent-warning) 30%, transparent);
|
|
123
|
+
--shadow-glow-intent-danger: 0 0 10px color-mix(in oklab, var(--ds-intent-danger) 50%, transparent), 0 0 20px color-mix(in oklab, var(--ds-intent-danger) 30%, transparent);
|
|
124
|
+
--shadow-glow-accent: 0 0 10px color-mix(in oklab, var(--ds-accent-primary) 50%, transparent), 0 0 20px color-mix(in oklab, var(--ds-accent-primary) 30%, transparent);
|
|
125
|
+
|
|
126
|
+
--font-sans: var(--ds-font-body);
|
|
127
|
+
--font-display: var(--ds-font-display);
|
|
128
|
+
--font-mono: var(--ds-font-mono);
|
|
129
|
+
--font-pixel: var(--ds-font-pixel);
|
|
130
|
+
}
|
|
131
|
+
|
|
132
|
+
/* ==========================================================================
|
|
133
|
+
Fixed colours — level-independent, and that is the point
|
|
134
|
+
==========================================================================
|
|
135
|
+
|
|
136
|
+
These three do not swap with the level. `--color-black` and
|
|
137
|
+
`--color-white` below DO — they are compat aliases tracking
|
|
138
|
+
`surface.base` and `text.primary`, which is why `--color-black`
|
|
139
|
+
resolves to #ffffff on the `white` level. Use these when true black or
|
|
140
|
+
true white is meant; use `surface.base` for a page ground. */
|
|
141
|
+
|
|
142
|
+
:root {
|
|
143
|
+
--ds-fixed-black: #000000;
|
|
144
|
+
--ds-fixed-white: #ffffff;
|
|
145
|
+
--ds-fixed-transparent: transparent;
|
|
146
|
+
}
|
|
147
|
+
|
|
148
|
+
@theme {
|
|
149
|
+
--color-fixed-black: var(--ds-fixed-black);
|
|
150
|
+
--color-fixed-white: var(--ds-fixed-white);
|
|
151
|
+
--color-fixed-transparent: var(--ds-fixed-transparent);
|
|
152
|
+
}
|
|
153
|
+
|
|
154
|
+
/* ==========================================================================
|
|
155
|
+
The web Medium — geometry and time, level-independent
|
|
156
|
+
==========================================================================
|
|
157
|
+
|
|
158
|
+
The second axis. A Level varies colour and is selected at runtime; a Medium
|
|
159
|
+
varies geometry and time and is selected at build time by which artifact is
|
|
160
|
+
being emitted. Neither varies on the other's axis, so none of this appears
|
|
161
|
+
inside a level block. See `docs/adr/0004-two-axes-level-and-medium.md`.
|
|
162
|
+
|
|
163
|
+
`video` and `graphic` are real Media with their own numbers — a 1080p
|
|
164
|
+
frame's type scale is not this one scaled — and they are emitted to their own
|
|
165
|
+
artifacts rather than to a selector here. */
|
|
166
|
+
|
|
167
|
+
:root {
|
|
168
|
+
--ds-space-0: 0;
|
|
169
|
+
--ds-space-1: 0.25rem;
|
|
170
|
+
--ds-space-2: 0.5rem;
|
|
171
|
+
--ds-space-3: 0.75rem;
|
|
172
|
+
--ds-space-4: 1rem;
|
|
173
|
+
--ds-space-5: 1.5rem;
|
|
174
|
+
--ds-space-6: 2rem;
|
|
175
|
+
--ds-space-7: 3rem;
|
|
176
|
+
--ds-space-8: 4rem;
|
|
177
|
+
--ds-space-9: 6rem;
|
|
178
|
+
--ds-space-10: 8rem;
|
|
179
|
+
--ds-type-caption: 0.75rem;
|
|
180
|
+
--ds-leading-caption: 1.4;
|
|
181
|
+
--ds-type-body: 1rem;
|
|
182
|
+
--ds-leading-body: 1.6;
|
|
183
|
+
--ds-type-lead: 1.125rem;
|
|
184
|
+
--ds-leading-lead: 1.55;
|
|
185
|
+
--ds-type-title: 1.5rem;
|
|
186
|
+
--ds-leading-title: 1.2;
|
|
187
|
+
--ds-type-display: 2.25rem;
|
|
188
|
+
--ds-leading-display: 1.05;
|
|
189
|
+
--ds-type-hero: 3rem;
|
|
190
|
+
--ds-leading-hero: 0.95;
|
|
191
|
+
--ds-weight-regular: 400;
|
|
192
|
+
--ds-weight-bold: 700;
|
|
193
|
+
--ds-weight-black: 900;
|
|
194
|
+
--ds-stroke-hairline: 1px;
|
|
195
|
+
--ds-stroke-edge: 2px;
|
|
196
|
+
--ds-stroke-heavy: 4px;
|
|
197
|
+
--ds-elev-sm: 2px 2px 0px 0px;
|
|
198
|
+
--ds-elev-md: 4px 4px 0px 0px;
|
|
199
|
+
--ds-elev-lg: 6px 6px 0px 0px;
|
|
200
|
+
--ds-radius-none: 0px;
|
|
201
|
+
--ds-radius-soft: 0px;
|
|
202
|
+
--ds-duration-instant: 0ms;
|
|
203
|
+
--ds-duration-quick: 150ms;
|
|
204
|
+
--ds-duration-considered: 300ms;
|
|
205
|
+
--ds-ease: cubic-bezier(0.4, 0, 0.2, 1);
|
|
206
|
+
--ds-layer-base: 0;
|
|
207
|
+
--ds-layer-raised: 10;
|
|
208
|
+
--ds-layer-overlay: 100;
|
|
209
|
+
--ds-layer-top: 1000;
|
|
210
|
+
--ds-focus-width: 2px;
|
|
211
|
+
--ds-focus-offset: 2px;
|
|
212
|
+
}
|
|
213
|
+
|
|
214
|
+
@theme {
|
|
215
|
+
--text-caption: var(--ds-type-caption);
|
|
216
|
+
--text-caption--line-height: var(--ds-leading-caption);
|
|
217
|
+
--text-body: var(--ds-type-body);
|
|
218
|
+
--text-body--line-height: var(--ds-leading-body);
|
|
219
|
+
--text-lead: var(--ds-type-lead);
|
|
220
|
+
--text-lead--line-height: var(--ds-leading-lead);
|
|
221
|
+
--text-title: var(--ds-type-title);
|
|
222
|
+
--text-title--line-height: var(--ds-leading-title);
|
|
223
|
+
--text-display: var(--ds-type-display);
|
|
224
|
+
--text-display--line-height: var(--ds-leading-display);
|
|
225
|
+
--text-hero: var(--ds-type-hero);
|
|
226
|
+
--text-hero--line-height: var(--ds-leading-hero);
|
|
227
|
+
--font-weight-regular: var(--ds-weight-regular);
|
|
228
|
+
--font-weight-bold: var(--ds-weight-bold);
|
|
229
|
+
--font-weight-black: var(--ds-weight-black);
|
|
230
|
+
--radius-none: var(--ds-radius-none);
|
|
231
|
+
--radius-soft: var(--ds-radius-soft);
|
|
232
|
+
--radius-xs: var(--ds-radius-none);
|
|
233
|
+
--radius-sm: var(--ds-radius-none);
|
|
234
|
+
--radius-md: var(--ds-radius-none);
|
|
235
|
+
--radius-lg: var(--ds-radius-none);
|
|
236
|
+
--radius-xl: var(--ds-radius-none);
|
|
237
|
+
--radius-2xl: var(--ds-radius-none);
|
|
238
|
+
--radius-3xl: var(--ds-radius-none);
|
|
239
|
+
--radius-4xl: var(--ds-radius-none);
|
|
240
|
+
--duration-instant: var(--ds-duration-instant);
|
|
241
|
+
--duration-quick: var(--ds-duration-quick);
|
|
242
|
+
--duration-considered: var(--ds-duration-considered);
|
|
243
|
+
--z-index-base: var(--ds-layer-base);
|
|
244
|
+
--z-index-raised: var(--ds-layer-raised);
|
|
245
|
+
--z-index-overlay: var(--ds-layer-overlay);
|
|
246
|
+
--z-index-top: var(--ds-layer-top);
|
|
247
|
+
--ease-brutalist: var(--ds-ease);
|
|
248
|
+
}
|
|
249
|
+
|
|
250
|
+
/* Looping animations — `animate-ds-spin`, `-spin-slow`, `-pulse`, `-track`.
|
|
251
|
+
* Declared in `src/theme/media.ts` (`LOOPS`); the period is a multiple of
|
|
252
|
+
* the Medium's `considered` duration and the keyframes are invariant.
|
|
253
|
+
* `prefers-reduced-motion` is answered at the call site with `motion-reduce:`. */
|
|
254
|
+
@theme {
|
|
255
|
+
--animate-ds-spin: ds-spin calc(var(--ds-duration-considered) * 3) linear infinite;
|
|
256
|
+
--animate-ds-spin-slow: ds-spin calc(var(--ds-duration-considered) * 9) linear infinite;
|
|
257
|
+
--animate-ds-pulse: ds-pulse calc(var(--ds-duration-considered) * 4) var(--ds-ease) infinite;
|
|
258
|
+
--animate-ds-track: ds-track calc(var(--ds-duration-considered) * 5) var(--ds-ease) infinite;
|
|
259
|
+
|
|
260
|
+
@keyframes ds-spin {
|
|
261
|
+
to {
|
|
262
|
+
transform: rotate(360deg);
|
|
263
|
+
}
|
|
264
|
+
}
|
|
265
|
+
|
|
266
|
+
@keyframes ds-pulse {
|
|
267
|
+
0%, 100% {
|
|
268
|
+
opacity: 1;
|
|
269
|
+
}
|
|
270
|
+
50% {
|
|
271
|
+
opacity: 0.45;
|
|
272
|
+
}
|
|
273
|
+
}
|
|
274
|
+
|
|
275
|
+
@keyframes ds-track {
|
|
276
|
+
0% {
|
|
277
|
+
transform: translateX(-100%);
|
|
278
|
+
}
|
|
279
|
+
100% {
|
|
280
|
+
transform: translateX(400%);
|
|
281
|
+
}
|
|
282
|
+
}
|
|
283
|
+
}
|
|
284
|
+
|
|
285
|
+
/* ==========================================================================
|
|
286
|
+
Typography roles — level-independent
|
|
287
|
+
========================================================================== */
|
|
288
|
+
|
|
289
|
+
:root {
|
|
290
|
+
/* Fallback chains matter as much as the first choice: when the web font has
|
|
291
|
+
* not loaded — a blocked CDN, a slow connection, the first paint — the next
|
|
292
|
+
* entry decides the metrics, and a different fallback reflows the page. These
|
|
293
|
+
* chains are the ones the global rules in styles.css have always used, so the
|
|
294
|
+
* tokens and the globals now agree instead of quietly disagreeing.
|
|
295
|
+
*
|
|
296
|
+
* Every stack ends its shipped part with the two symbol faces, before any
|
|
297
|
+
* system font: both are unicode-range bounded, so they draw only what the text
|
|
298
|
+
* face lacks, and a symbol never falls to whatever the machine has installed.
|
|
299
|
+
* check:fonts holds every rendered character to that. */
|
|
300
|
+
--ds-font-display: var(--font-space-grotesk, "Space Grotesk Variable", "Space Grotesk"), var(--font-inter, "Inter Variable", "Inter"), "Symbols Nerd Font Mono", "DS Symbols", sans-serif;
|
|
301
|
+
--ds-font-body: var(--font-inter, "Inter Variable", "Inter"), "Symbols Nerd Font Mono", "DS Symbols", -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, sans-serif;
|
|
302
|
+
--ds-font-mono: var(--font-ibm-plex-mono, "IBM Plex Mono"), "Symbols Nerd Font Mono", "DS Symbols", "Courier New", monospace;
|
|
303
|
+
--ds-font-pixel: var(--font-vt323, "VT323"), "Symbols Nerd Font Mono", "DS Symbols", monospace;
|
|
304
|
+
}
|
|
305
|
+
|
|
306
|
+
/* ==========================================================================
|
|
307
|
+
The ladder
|
|
308
|
+
========================================================================== */
|
|
309
|
+
|
|
310
|
+
/* Midnight — Neon on blue-black. The maximal end of the ladder. */
|
|
311
|
+
:root, [data-theme="midnight"] {
|
|
312
|
+
color-scheme: dark;
|
|
313
|
+
--ds-ink-weight: 400;
|
|
314
|
+
|
|
315
|
+
--ds-surface-base: #0a0a1a;
|
|
316
|
+
--ds-surface-raised: #14142a;
|
|
317
|
+
--ds-surface-sunken: #050510;
|
|
318
|
+
--ds-surface-overlay: rgba(5, 5, 16, 0.82);
|
|
319
|
+
--ds-text-primary: #ffffff;
|
|
320
|
+
--ds-text-secondary: #c3c3d4;
|
|
321
|
+
--ds-text-muted: #9d9db4;
|
|
322
|
+
--ds-text-inverse: #0a0a1a;
|
|
323
|
+
--ds-border-strong: #ffffff;
|
|
324
|
+
--ds-border-default: #9d9db4;
|
|
325
|
+
--ds-border-subtle: #33334d;
|
|
326
|
+
--ds-accent-primary: #22d3ee;
|
|
327
|
+
--ds-accent-secondary: #facc15;
|
|
328
|
+
--ds-accent-tertiary: #f955a4;
|
|
329
|
+
--ds-accent-quiet: #8b8ba3;
|
|
330
|
+
--ds-intent-info: #22d3ee;
|
|
331
|
+
--ds-intent-success: #39ff14;
|
|
332
|
+
--ds-intent-warning: #facc15;
|
|
333
|
+
--ds-intent-danger: #f955a4;
|
|
334
|
+
--ds-palette-red: #ff586e;
|
|
335
|
+
--ds-palette-orange: #ff8c00;
|
|
336
|
+
--ds-palette-yellow: #facc15;
|
|
337
|
+
--ds-palette-green: #39ff14;
|
|
338
|
+
--ds-palette-teal: #34d399;
|
|
339
|
+
--ds-palette-cyan: #22d3ee;
|
|
340
|
+
--ds-palette-blue: #38bdf8;
|
|
341
|
+
--ds-palette-violet: #c3afff;
|
|
342
|
+
--ds-palette-magenta: #ff1cff;
|
|
343
|
+
--ds-palette-pink: #f955a4;
|
|
344
|
+
--ds-palette-bright-red: #ff939b;
|
|
345
|
+
--ds-palette-bright-orange: #ffba85;
|
|
346
|
+
--ds-palette-bright-yellow: #ffeaab;
|
|
347
|
+
--ds-palette-bright-green: #c0ffb8;
|
|
348
|
+
--ds-palette-bright-teal: #00f7ae;
|
|
349
|
+
--ds-palette-bright-cyan: #88ebff;
|
|
350
|
+
--ds-palette-bright-blue: #8cd7ff;
|
|
351
|
+
--ds-palette-bright-violet: #ddd4ff;
|
|
352
|
+
--ds-palette-bright-magenta: #ff88fd;
|
|
353
|
+
--ds-palette-bright-pink: #ff8ebe;
|
|
354
|
+
--ds-shadow-color: #ffffff;
|
|
355
|
+
--ds-polarity: dark;
|
|
356
|
+
|
|
357
|
+
--color-surface-base: var(--ds-surface-base);
|
|
358
|
+
--color-surface-raised: var(--ds-surface-raised);
|
|
359
|
+
--color-surface-sunken: var(--ds-surface-sunken);
|
|
360
|
+
--color-surface-overlay: var(--ds-surface-overlay);
|
|
361
|
+
--color-content-primary: var(--ds-text-primary);
|
|
362
|
+
--color-content-secondary: var(--ds-text-secondary);
|
|
363
|
+
--color-content-muted: var(--ds-text-muted);
|
|
364
|
+
--color-content-inverse: var(--ds-text-inverse);
|
|
365
|
+
--color-edge-strong: var(--ds-border-strong);
|
|
366
|
+
--color-edge-default: var(--ds-border-default);
|
|
367
|
+
--color-edge-subtle: var(--ds-border-subtle);
|
|
368
|
+
--color-accent-primary: var(--ds-accent-primary);
|
|
369
|
+
--color-accent-secondary: var(--ds-accent-secondary);
|
|
370
|
+
--color-accent-tertiary: var(--ds-accent-tertiary);
|
|
371
|
+
--color-accent-quiet: var(--ds-accent-quiet);
|
|
372
|
+
--color-intent-info: var(--ds-intent-info);
|
|
373
|
+
--color-intent-success: var(--ds-intent-success);
|
|
374
|
+
--color-intent-warning: var(--ds-intent-warning);
|
|
375
|
+
--color-intent-danger: var(--ds-intent-danger);
|
|
376
|
+
--color-palette-red: var(--ds-palette-red);
|
|
377
|
+
--color-palette-orange: var(--ds-palette-orange);
|
|
378
|
+
--color-palette-yellow: var(--ds-palette-yellow);
|
|
379
|
+
--color-palette-green: var(--ds-palette-green);
|
|
380
|
+
--color-palette-teal: var(--ds-palette-teal);
|
|
381
|
+
--color-palette-cyan: var(--ds-palette-cyan);
|
|
382
|
+
--color-palette-blue: var(--ds-palette-blue);
|
|
383
|
+
--color-palette-violet: var(--ds-palette-violet);
|
|
384
|
+
--color-palette-magenta: var(--ds-palette-magenta);
|
|
385
|
+
--color-palette-pink: var(--ds-palette-pink);
|
|
386
|
+
--color-palette-bright-red: var(--ds-palette-bright-red);
|
|
387
|
+
--color-palette-bright-orange: var(--ds-palette-bright-orange);
|
|
388
|
+
--color-palette-bright-yellow: var(--ds-palette-bright-yellow);
|
|
389
|
+
--color-palette-bright-green: var(--ds-palette-bright-green);
|
|
390
|
+
--color-palette-bright-teal: var(--ds-palette-bright-teal);
|
|
391
|
+
--color-palette-bright-cyan: var(--ds-palette-bright-cyan);
|
|
392
|
+
--color-palette-bright-blue: var(--ds-palette-bright-blue);
|
|
393
|
+
--color-palette-bright-violet: var(--ds-palette-bright-violet);
|
|
394
|
+
--color-palette-bright-magenta: var(--ds-palette-bright-magenta);
|
|
395
|
+
--color-palette-bright-pink: var(--ds-palette-bright-pink);
|
|
396
|
+
--shadow-hard-sm: var(--ds-elev-sm) var(--ds-shadow-color);
|
|
397
|
+
--shadow-hard-md: var(--ds-elev-md) var(--ds-shadow-color);
|
|
398
|
+
--shadow-hard-lg: var(--ds-elev-lg) var(--ds-shadow-color);
|
|
399
|
+
--shadow-hard-accent-primary: 4px 4px 0px 0px var(--ds-accent-primary);
|
|
400
|
+
--shadow-hard-accent-secondary: 4px 4px 0px 0px var(--ds-accent-secondary);
|
|
401
|
+
--shadow-hard-accent-tertiary: 4px 4px 0px 0px var(--ds-accent-tertiary);
|
|
402
|
+
--shadow-hard-accent-quiet: 4px 4px 0px 0px var(--ds-accent-quiet);
|
|
403
|
+
--shadow-hard-intent-info: 4px 4px 0px 0px var(--ds-intent-info);
|
|
404
|
+
--shadow-hard-intent-success: 4px 4px 0px 0px var(--ds-intent-success);
|
|
405
|
+
--shadow-hard-intent-warning: 4px 4px 0px 0px var(--ds-intent-warning);
|
|
406
|
+
--shadow-hard-intent-danger: 4px 4px 0px 0px var(--ds-intent-danger);
|
|
407
|
+
--shadow-glow-accent-primary: 0 0 10px color-mix(in oklab, var(--ds-accent-primary) 50%, transparent), 0 0 20px color-mix(in oklab, var(--ds-accent-primary) 30%, transparent);
|
|
408
|
+
--shadow-glow-accent-secondary: 0 0 10px color-mix(in oklab, var(--ds-accent-secondary) 50%, transparent), 0 0 20px color-mix(in oklab, var(--ds-accent-secondary) 30%, transparent);
|
|
409
|
+
--shadow-glow-accent-tertiary: 0 0 10px color-mix(in oklab, var(--ds-accent-tertiary) 50%, transparent), 0 0 20px color-mix(in oklab, var(--ds-accent-tertiary) 30%, transparent);
|
|
410
|
+
--shadow-glow-accent-quiet: 0 0 10px color-mix(in oklab, var(--ds-accent-quiet) 50%, transparent), 0 0 20px color-mix(in oklab, var(--ds-accent-quiet) 30%, transparent);
|
|
411
|
+
--shadow-glow-intent-info: 0 0 10px color-mix(in oklab, var(--ds-intent-info) 50%, transparent), 0 0 20px color-mix(in oklab, var(--ds-intent-info) 30%, transparent);
|
|
412
|
+
--shadow-glow-intent-success: 0 0 10px color-mix(in oklab, var(--ds-intent-success) 50%, transparent), 0 0 20px color-mix(in oklab, var(--ds-intent-success) 30%, transparent);
|
|
413
|
+
--shadow-glow-intent-warning: 0 0 10px color-mix(in oklab, var(--ds-intent-warning) 50%, transparent), 0 0 20px color-mix(in oklab, var(--ds-intent-warning) 30%, transparent);
|
|
414
|
+
--shadow-glow-intent-danger: 0 0 10px color-mix(in oklab, var(--ds-intent-danger) 50%, transparent), 0 0 20px color-mix(in oklab, var(--ds-intent-danger) 30%, transparent);
|
|
415
|
+
--shadow-glow-accent: 0 0 10px color-mix(in oklab, var(--ds-accent-primary) 50%, transparent), 0 0 20px color-mix(in oklab, var(--ds-accent-primary) 30%, transparent);
|
|
416
|
+
|
|
417
|
+
}
|
|
418
|
+
|
|
419
|
+
/* Sketch — Warm paper and pen ink. The light half of the pair. */
|
|
420
|
+
[data-theme="sketch"] {
|
|
421
|
+
color-scheme: light;
|
|
422
|
+
--ds-ink-weight: 450;
|
|
423
|
+
|
|
424
|
+
--ds-surface-base: #f5f3ec;
|
|
425
|
+
--ds-surface-raised: #ffffff;
|
|
426
|
+
--ds-surface-sunken: #efeadf;
|
|
427
|
+
--ds-surface-overlay: rgba(35, 38, 46, 0.72);
|
|
428
|
+
--ds-text-primary: #23262e;
|
|
429
|
+
--ds-text-secondary: #33373f;
|
|
430
|
+
--ds-text-muted: #5c5546;
|
|
431
|
+
--ds-text-inverse: #f5f3ec;
|
|
432
|
+
--ds-border-strong: #23262e;
|
|
433
|
+
--ds-border-default: #8f8672;
|
|
434
|
+
--ds-border-subtle: #c8c3b4;
|
|
435
|
+
--ds-accent-primary: #1450d7;
|
|
436
|
+
--ds-accent-secondary: #006b2e;
|
|
437
|
+
--ds-accent-tertiary: #bd0010;
|
|
438
|
+
--ds-accent-quiet: #6a6252;
|
|
439
|
+
--ds-intent-info: #1450d7;
|
|
440
|
+
--ds-intent-success: #006b2e;
|
|
441
|
+
--ds-intent-warning: #974503;
|
|
442
|
+
--ds-intent-danger: #bd0010;
|
|
443
|
+
--ds-palette-red: #bd0010;
|
|
444
|
+
--ds-palette-orange: #974503;
|
|
445
|
+
--ds-palette-yellow: #705a00;
|
|
446
|
+
--ds-palette-green: #006b2e;
|
|
447
|
+
--ds-palette-teal: #006859;
|
|
448
|
+
--ds-palette-cyan: #006675;
|
|
449
|
+
--ds-palette-blue: #1450d7;
|
|
450
|
+
--ds-palette-violet: #7d00f4;
|
|
451
|
+
--ds-palette-magenta: #a300ad;
|
|
452
|
+
--ds-palette-pink: #b4006c;
|
|
453
|
+
--ds-palette-bright-red: #8f002a;
|
|
454
|
+
--ds-palette-bright-orange: #6c3700;
|
|
455
|
+
--ds-palette-bright-yellow: #534200;
|
|
456
|
+
--ds-palette-bright-green: #024f00;
|
|
457
|
+
--ds-palette-bright-teal: #004d34;
|
|
458
|
+
--ds-palette-bright-cyan: #004b56;
|
|
459
|
+
--ds-palette-bright-blue: #004e6d;
|
|
460
|
+
--ds-palette-bright-violet: #6000bd;
|
|
461
|
+
--ds-palette-bright-magenta: #7f0080;
|
|
462
|
+
--ds-palette-bright-pink: #8a0052;
|
|
463
|
+
--ds-shadow-color: #23262e;
|
|
464
|
+
--ds-polarity: light;
|
|
465
|
+
|
|
466
|
+
--color-surface-base: var(--ds-surface-base);
|
|
467
|
+
--color-surface-raised: var(--ds-surface-raised);
|
|
468
|
+
--color-surface-sunken: var(--ds-surface-sunken);
|
|
469
|
+
--color-surface-overlay: var(--ds-surface-overlay);
|
|
470
|
+
--color-content-primary: var(--ds-text-primary);
|
|
471
|
+
--color-content-secondary: var(--ds-text-secondary);
|
|
472
|
+
--color-content-muted: var(--ds-text-muted);
|
|
473
|
+
--color-content-inverse: var(--ds-text-inverse);
|
|
474
|
+
--color-edge-strong: var(--ds-border-strong);
|
|
475
|
+
--color-edge-default: var(--ds-border-default);
|
|
476
|
+
--color-edge-subtle: var(--ds-border-subtle);
|
|
477
|
+
--color-accent-primary: var(--ds-accent-primary);
|
|
478
|
+
--color-accent-secondary: var(--ds-accent-secondary);
|
|
479
|
+
--color-accent-tertiary: var(--ds-accent-tertiary);
|
|
480
|
+
--color-accent-quiet: var(--ds-accent-quiet);
|
|
481
|
+
--color-intent-info: var(--ds-intent-info);
|
|
482
|
+
--color-intent-success: var(--ds-intent-success);
|
|
483
|
+
--color-intent-warning: var(--ds-intent-warning);
|
|
484
|
+
--color-intent-danger: var(--ds-intent-danger);
|
|
485
|
+
--color-palette-red: var(--ds-palette-red);
|
|
486
|
+
--color-palette-orange: var(--ds-palette-orange);
|
|
487
|
+
--color-palette-yellow: var(--ds-palette-yellow);
|
|
488
|
+
--color-palette-green: var(--ds-palette-green);
|
|
489
|
+
--color-palette-teal: var(--ds-palette-teal);
|
|
490
|
+
--color-palette-cyan: var(--ds-palette-cyan);
|
|
491
|
+
--color-palette-blue: var(--ds-palette-blue);
|
|
492
|
+
--color-palette-violet: var(--ds-palette-violet);
|
|
493
|
+
--color-palette-magenta: var(--ds-palette-magenta);
|
|
494
|
+
--color-palette-pink: var(--ds-palette-pink);
|
|
495
|
+
--color-palette-bright-red: var(--ds-palette-bright-red);
|
|
496
|
+
--color-palette-bright-orange: var(--ds-palette-bright-orange);
|
|
497
|
+
--color-palette-bright-yellow: var(--ds-palette-bright-yellow);
|
|
498
|
+
--color-palette-bright-green: var(--ds-palette-bright-green);
|
|
499
|
+
--color-palette-bright-teal: var(--ds-palette-bright-teal);
|
|
500
|
+
--color-palette-bright-cyan: var(--ds-palette-bright-cyan);
|
|
501
|
+
--color-palette-bright-blue: var(--ds-palette-bright-blue);
|
|
502
|
+
--color-palette-bright-violet: var(--ds-palette-bright-violet);
|
|
503
|
+
--color-palette-bright-magenta: var(--ds-palette-bright-magenta);
|
|
504
|
+
--color-palette-bright-pink: var(--ds-palette-bright-pink);
|
|
505
|
+
--shadow-hard-sm: var(--ds-elev-sm) var(--ds-shadow-color);
|
|
506
|
+
--shadow-hard-md: var(--ds-elev-md) var(--ds-shadow-color);
|
|
507
|
+
--shadow-hard-lg: var(--ds-elev-lg) var(--ds-shadow-color);
|
|
508
|
+
--shadow-hard-accent-primary: 4px 4px 0px 0px var(--ds-accent-primary);
|
|
509
|
+
--shadow-hard-accent-secondary: 4px 4px 0px 0px var(--ds-accent-secondary);
|
|
510
|
+
--shadow-hard-accent-tertiary: 4px 4px 0px 0px var(--ds-accent-tertiary);
|
|
511
|
+
--shadow-hard-accent-quiet: 4px 4px 0px 0px var(--ds-accent-quiet);
|
|
512
|
+
--shadow-hard-intent-info: 4px 4px 0px 0px var(--ds-intent-info);
|
|
513
|
+
--shadow-hard-intent-success: 4px 4px 0px 0px var(--ds-intent-success);
|
|
514
|
+
--shadow-hard-intent-warning: 4px 4px 0px 0px var(--ds-intent-warning);
|
|
515
|
+
--shadow-hard-intent-danger: 4px 4px 0px 0px var(--ds-intent-danger);
|
|
516
|
+
--shadow-glow-accent-primary: 0 0 10px color-mix(in oklab, var(--ds-accent-primary) 50%, transparent), 0 0 20px color-mix(in oklab, var(--ds-accent-primary) 30%, transparent);
|
|
517
|
+
--shadow-glow-accent-secondary: 0 0 10px color-mix(in oklab, var(--ds-accent-secondary) 50%, transparent), 0 0 20px color-mix(in oklab, var(--ds-accent-secondary) 30%, transparent);
|
|
518
|
+
--shadow-glow-accent-tertiary: 0 0 10px color-mix(in oklab, var(--ds-accent-tertiary) 50%, transparent), 0 0 20px color-mix(in oklab, var(--ds-accent-tertiary) 30%, transparent);
|
|
519
|
+
--shadow-glow-accent-quiet: 0 0 10px color-mix(in oklab, var(--ds-accent-quiet) 50%, transparent), 0 0 20px color-mix(in oklab, var(--ds-accent-quiet) 30%, transparent);
|
|
520
|
+
--shadow-glow-intent-info: 0 0 10px color-mix(in oklab, var(--ds-intent-info) 50%, transparent), 0 0 20px color-mix(in oklab, var(--ds-intent-info) 30%, transparent);
|
|
521
|
+
--shadow-glow-intent-success: 0 0 10px color-mix(in oklab, var(--ds-intent-success) 50%, transparent), 0 0 20px color-mix(in oklab, var(--ds-intent-success) 30%, transparent);
|
|
522
|
+
--shadow-glow-intent-warning: 0 0 10px color-mix(in oklab, var(--ds-intent-warning) 50%, transparent), 0 0 20px color-mix(in oklab, var(--ds-intent-warning) 30%, transparent);
|
|
523
|
+
--shadow-glow-intent-danger: 0 0 10px color-mix(in oklab, var(--ds-intent-danger) 50%, transparent), 0 0 20px color-mix(in oklab, var(--ds-intent-danger) 30%, transparent);
|
|
524
|
+
--shadow-glow-accent: 0 0 10px color-mix(in oklab, var(--ds-accent-primary) 50%, transparent), 0 0 20px color-mix(in oklab, var(--ds-accent-primary) 30%, transparent);
|
|
525
|
+
|
|
526
|
+
}
|
|
527
|
+
|
|
528
|
+
/* Native form controls, scrollbars and the caret follow `color-scheme`, which
|
|
529
|
+
* each level declares above. Without it a light level renders dark scrollbars
|
|
530
|
+
* and an unreadable date picker while every styled element looks correct. */
|
|
531
|
+
|
|
532
|
+
/* Running-text weight by polarity — INK_WEIGHT in src/theme/levels.ts. */
|
|
533
|
+
@layer base {
|
|
534
|
+
:root, [data-theme] {
|
|
535
|
+
font-weight: var(--ds-ink-weight);
|
|
536
|
+
}
|
|
537
|
+
}
|
|
538
|
+
|
package/dist/tokens.js
ADDED
|
@@ -0,0 +1 @@
|
|
|
1
|
+
//# sourceMappingURL=tokens.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"sources":[],"sourcesContent":[],"mappings":"","names":[]}
|