@sableui/react 0.0.0-stage → 0.1.1
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/AGENTS.md +157 -0
- package/CHANGELOG.md +55 -0
- package/CONTRIBUTING.md +221 -0
- package/DESIGN.md +548 -0
- package/LICENSE +21 -0
- package/README.md +194 -2
- package/THIRD_PARTY_NOTICES.md +44 -0
- package/bin/sable-lint.mjs +0 -0
- package/bin/sable.mjs +1223 -0
- package/dist/_contract-CYScOdf5.d.ts +150 -0
- package/dist/chunk-3IWZYBGH.js +398 -0
- package/dist/chunk-5Z5KLOAU.js +167 -0
- package/dist/chunk-7MG4SHYX.js +15 -0
- package/dist/chunk-ADLLDWLW.js +15 -0
- package/dist/chunk-EP55KSYA.js +14 -0
- package/dist/chunk-J23ELQQZ.js +9396 -0
- package/dist/chunk-JI7WJP2L.js +286 -0
- package/dist/chunk-K7RUHUGC.js +14 -0
- package/dist/chunk-KO3NAEBF.js +15 -0
- package/dist/chunk-L4IEIQQA.js +14 -0
- package/dist/chunk-L6Y46C62.js +270 -0
- package/dist/chunk-NEQNXI2G.js +25 -0
- package/dist/chunk-PAOZBZME.js +40 -0
- package/dist/chunk-RWP4XBSK.js +139 -0
- package/dist/chunk-SRQWQUTW.js +63 -0
- package/dist/chunk-YXBOYWBN.js +15 -0
- package/dist/foundations/index.d.ts +88 -0
- package/dist/foundations/index.js +792 -0
- package/dist/icon/index.d.ts +60 -0
- package/dist/icon/index.js +2 -0
- package/dist/icon-sets/brands.d.ts +44 -0
- package/dist/icon-sets/brands.js +147 -0
- package/dist/icon-sets/reicon.d.ts +8 -0
- package/dist/icon-sets/reicon.js +1 -0
- package/dist/index.d.ts +7013 -0
- package/dist/index.js +15462 -0
- package/dist/ios/chrome.css +83 -0
- package/dist/ios/frame.css +5 -0
- package/dist/ios/index.d.ts +70 -0
- package/dist/ios/index.js +313 -0
- package/dist/ios/preview.d.ts +64 -0
- package/dist/ios/preview.js +133 -0
- package/dist/ios/styles.css +77 -0
- package/dist/layout/index.d.ts +280 -0
- package/dist/layout/index.js +2 -0
- package/dist/meta-6dUzgC6M.d.ts +205 -0
- package/dist/patterns/index.d.ts +36 -0
- package/dist/patterns/index.js +934 -0
- package/dist/presets/index.d.ts +37 -0
- package/dist/presets/index.js +117 -0
- package/dist/registry-CyL28OzJ.d.ts +28 -0
- package/dist/styles.css +1893 -0
- package/dist/theme-provider-BWcizhAt.d.ts +105 -0
- package/dist/themes/atelier/atelier.css +213 -0
- package/dist/themes/atelier/index.d.ts +9 -0
- package/dist/themes/atelier/index.js +1 -0
- package/dist/themes/base/base.css +443 -0
- package/dist/themes/base/index.d.ts +9 -0
- package/dist/themes/base/index.js +1 -0
- package/dist/themes/ember/ember.css +270 -0
- package/dist/themes/ember/index.d.ts +9 -0
- package/dist/themes/ember/index.js +1 -0
- package/dist/themes/index.d.ts +10 -0
- package/dist/themes/index.js +8 -0
- package/dist/themes/meridian/index.d.ts +9 -0
- package/dist/themes/meridian/index.js +1 -0
- package/dist/themes/meridian/meridian.css +255 -0
- package/dist/themes/poppy/index.d.ts +6 -0
- package/dist/themes/poppy/index.js +1 -0
- package/dist/themes/poppy/poppy.css +174 -0
- package/dist/themes/prism/index.d.ts +6 -0
- package/dist/themes/prism/index.js +1 -0
- package/dist/themes/prism/prism.css +183 -0
- package/dist/themes/verdant/index.d.ts +9 -0
- package/dist/themes/verdant/index.js +1 -0
- package/dist/themes/verdant/verdant.css +210 -0
- package/dist/themes.css +30 -0
- package/llms/components/accordion.md +93 -0
- package/llms/components/app-header.md +70 -0
- package/llms/components/app-shell.md +117 -0
- package/llms/components/attachment.md +105 -0
- package/llms/components/avatar.md +141 -0
- package/llms/components/badge.md +117 -0
- package/llms/components/banner.md +119 -0
- package/llms/components/bottom-nav.md +80 -0
- package/llms/components/breadcrumbs.md +75 -0
- package/llms/components/browser.md +67 -0
- package/llms/components/bubble.md +119 -0
- package/llms/components/button.md +199 -0
- package/llms/components/calendar.md +75 -0
- package/llms/components/card.md +135 -0
- package/llms/components/carousel.md +87 -0
- package/llms/components/chat-composer.md +126 -0
- package/llms/components/checkbox-card.md +98 -0
- package/llms/components/checkbox.md +90 -0
- package/llms/components/code-block.md +81 -0
- package/llms/components/code.md +62 -0
- package/llms/components/collapsible.md +83 -0
- package/llms/components/color-field.md +100 -0
- package/llms/components/combobox.md +119 -0
- package/llms/components/command-menu.md +158 -0
- package/llms/components/context-card.md +73 -0
- package/llms/components/context-menu.md +79 -0
- package/llms/components/data-table.md +99 -0
- package/llms/components/date-picker.md +97 -0
- package/llms/components/description.md +96 -0
- package/llms/components/destructive-action-modal.md +76 -0
- package/llms/components/dialog.md +127 -0
- package/llms/components/dots-menu.md +64 -0
- package/llms/components/empty-state.md +113 -0
- package/llms/components/entity.md +67 -0
- package/llms/components/feedback.md +63 -0
- package/llms/components/fieldset.md +106 -0
- package/llms/components/file-dropzone.md +103 -0
- package/llms/components/form.md +111 -0
- package/llms/components/gliding-highlight.md +84 -0
- package/llms/components/inline-status.md +62 -0
- package/llms/components/input.md +127 -0
- package/llms/components/kbd.md +57 -0
- package/llms/components/label.md +73 -0
- package/llms/components/marker.md +99 -0
- package/llms/components/marquee.md +66 -0
- package/llms/components/menu.md +122 -0
- package/llms/components/message-scroller.md +110 -0
- package/llms/components/message.md +114 -0
- package/llms/components/meter.md +124 -0
- package/llms/components/middle-truncate.md +62 -0
- package/llms/components/note.md +81 -0
- package/llms/components/notification-badge.md +67 -0
- package/llms/components/number-field.md +70 -0
- package/llms/components/otp-field.md +101 -0
- package/llms/components/page-header.md +76 -0
- package/llms/components/page-loader.md +67 -0
- package/llms/components/pagination.md +92 -0
- package/llms/components/panel-group.md +120 -0
- package/llms/components/panel-section.md +122 -0
- package/llms/components/phone.md +70 -0
- package/llms/components/pill.md +73 -0
- package/llms/components/popover.md +79 -0
- package/llms/components/progress.md +98 -0
- package/llms/components/radio-card.md +90 -0
- package/llms/components/radio.md +86 -0
- package/llms/components/relative-time.md +60 -0
- package/llms/components/scroller.md +88 -0
- package/llms/components/scrub-field.md +97 -0
- package/llms/components/search-input.md +84 -0
- package/llms/components/select.md +106 -0
- package/llms/components/separator.md +70 -0
- package/llms/components/settings-menu.md +139 -0
- package/llms/components/sheet.md +97 -0
- package/llms/components/show-more.md +59 -0
- package/llms/components/side-nav.md +106 -0
- package/llms/components/sidebar.md +87 -0
- package/llms/components/skeleton.md +62 -0
- package/llms/components/slider.md +114 -0
- package/llms/components/spinner.md +87 -0
- package/llms/components/status-bar.md +91 -0
- package/llms/components/status-dot.md +70 -0
- package/llms/components/stepper.md +125 -0
- package/llms/components/streaming-text.md +86 -0
- package/llms/components/switch.md +87 -0
- package/llms/components/table.md +112 -0
- package/llms/components/tabs.md +84 -0
- package/llms/components/textarea.md +88 -0
- package/llms/components/theme-selector.md +95 -0
- package/llms/components/theme-switcher.md +71 -0
- package/llms/components/thinking-orb.md +91 -0
- package/llms/components/toast.md +130 -0
- package/llms/components/toggle.md +95 -0
- package/llms/components/toolbar.md +168 -0
- package/llms/components/tooltip.md +93 -0
- package/llms/components/tree.md +227 -0
- package/llms/components/video.md +66 -0
- package/llms/components/workspace.md +138 -0
- package/llms/foundations/accessibility.md +60 -0
- package/llms/foundations/motion.md +96 -0
- package/llms/foundations/scrolling.md +41 -0
- package/llms/foundations/shape.md +73 -0
- package/llms/foundations/spacing.md +82 -0
- package/llms/foundations/surfaces.md +69 -0
- package/llms/foundations/typography.md +120 -0
- package/llms/layout/aspect-box.md +37 -0
- package/llms/layout/bleed.md +31 -0
- package/llms/layout/center.md +37 -0
- package/llms/layout/columns.md +51 -0
- package/llms/layout/grid-overlay.md +40 -0
- package/llms/layout/grid.md +47 -0
- package/llms/layout/page.md +39 -0
- package/llms/layout/region.md +49 -0
- package/llms/layout/row.md +40 -0
- package/llms/layout/safe-area.md +37 -0
- package/llms/layout/spacer.md +39 -0
- package/llms/layout/split-pane.md +41 -0
- package/llms/layout/stack.md +39 -0
- package/llms/patterns/auth-page.md +68 -0
- package/llms/patterns/brand-landing-page.md +423 -0
- package/llms/patterns/chat-panel.md +210 -0
- package/llms/patterns/dashboard-page.md +170 -0
- package/llms/patterns/feed-page.md +103 -0
- package/llms/patterns/landing-page.md +122 -0
- package/llms/patterns/list-detail-page.md +100 -0
- package/llms/patterns/settings-page.md +121 -0
- package/llms/reference/token-intent.md +324 -0
- package/llms/reference/utilities.md +129 -0
- package/llms/tasks/adding-a-component.md +113 -0
- package/llms/tasks/auditing-an-app.md +216 -0
- package/llms/tasks/building-a-page.md +109 -0
- package/llms/tasks/building-a-tool.md +141 -0
- package/llms/tasks/building-an-ios-prototype.md +105 -0
- package/llms/tasks/building-with-sable.md +73 -0
- package/llms/tasks/choosing-a-component.md +109 -0
- package/llms/tasks/converting-an-app.md +139 -0
- package/llms/tasks/creating-a-preset.md +43 -0
- package/llms/tasks/creating-design-assets.md +96 -0
- package/llms/tasks/designing-a-surface.md +115 -0
- package/llms/tasks/developing-taste.md +157 -0
- package/llms/tasks/getting-started.md +63 -0
- package/llms/tasks/learning-from-builds.md +74 -0
- package/llms/tasks/reviewing-a-design.md +114 -0
- package/llms/tasks/reviewing-a-journey.md +84 -0
- package/llms/tasks/reviewing-motion.md +92 -0
- package/llms/tasks/using-presets.md +87 -0
- package/llms/taste/asset-plan.template.json +53 -0
- package/llms/taste/composition-follows-content.md +20 -0
- package/llms/taste/hierarchy-is-a-relationship.md +22 -0
- package/llms/taste/lessons.json +57 -0
- package/llms/taste/motion-needs-a-reason.md +21 -0
- package/llms/taste/surface-states-travel-together.md +20 -0
- package/llms-full.txt +14906 -0
- package/llms.txt +405 -0
- package/package.json +185 -3
- package/registry.json +18812 -0
- package/scripts/agent-setup.mjs +54 -0
- package/scripts/design-atlas.mjs +221 -0
- package/scripts/design-directions.mjs +123 -0
- package/scripts/design-memory.mjs +166 -0
- package/scripts/design-preferences.mjs +227 -0
- package/scripts/design-presets.mjs +48 -0
- package/scripts/grade.mjs +509 -0
- package/scripts/lint-rules.mjs +1065 -0
- package/scripts/review-evidence.mjs +120 -0
- package/scripts/skeleton.mjs +248 -0
- package/skills/entry/SKILL.md +34 -0
- package/skills/sable/SKILL.md +187 -0
- package/skills/sable/agents/openai.yaml +6 -0
- package/targets/ios.json +982 -0
- package/third-party/reicon-LICENSE.txt +20 -0
|
@@ -0,0 +1,174 @@
|
|
|
1
|
+
/* poppy: an original Sable playful preset. No third-party assets. */
|
|
2
|
+
[data-sable-theme="poppy"] {
|
|
3
|
+
--font-sans: "Albert Sans", ui-sans-serif, system-ui, sans-serif;
|
|
4
|
+
--font-mono: "Red Hat Mono", ui-monospace, monospace;
|
|
5
|
+
--font-display: "Unbounded", ui-sans-serif, system-ui, sans-serif;
|
|
6
|
+
--page-inset: clamp(16px, 3vw, 40px);
|
|
7
|
+
--region-form: 480px;
|
|
8
|
+
--region-feed: 640px;
|
|
9
|
+
--region-content: 896px;
|
|
10
|
+
--region-wide: 1280px;
|
|
11
|
+
--region-full: 1536px;
|
|
12
|
+
--region-ultrawide: 1800px;
|
|
13
|
+
--theme-radius-none: 0px;
|
|
14
|
+
--theme-radius-xs: 6px;
|
|
15
|
+
--theme-radius-sm: 10px;
|
|
16
|
+
--theme-radius-md: 16px;
|
|
17
|
+
--theme-radius-lg: 24px;
|
|
18
|
+
--theme-radius-xl: 32px;
|
|
19
|
+
--theme-radius-full: 9999px;
|
|
20
|
+
--type-display-4xl-weight: 800;
|
|
21
|
+
--type-display-4xl-leading: 1;
|
|
22
|
+
--type-display-4xl-tracking: -0.035em;
|
|
23
|
+
--type-display-3xl-size: 6rem;
|
|
24
|
+
--type-display-3xl-weight: 800;
|
|
25
|
+
--type-display-3xl-leading: 1;
|
|
26
|
+
--type-display-3xl-tracking: -0.035em;
|
|
27
|
+
--type-display-2xl-size: 4.5rem;
|
|
28
|
+
--type-display-2xl-weight: 800;
|
|
29
|
+
--type-display-2xl-leading: 1;
|
|
30
|
+
--type-display-2xl-tracking: -0.035em;
|
|
31
|
+
--type-display-xl-size: 4rem;
|
|
32
|
+
--type-display-xl-weight: 800;
|
|
33
|
+
--type-display-xl-leading: 1.1;
|
|
34
|
+
--type-display-xl-tracking: -0.035em;
|
|
35
|
+
--type-display-lg-size: 3rem;
|
|
36
|
+
--type-display-lg-weight: 800;
|
|
37
|
+
--type-display-lg-leading: 1.15;
|
|
38
|
+
--type-display-lg-tracking: -0.035em;
|
|
39
|
+
--type-heading-weight: 800;
|
|
40
|
+
--type-heading-1-size: 2.5rem;
|
|
41
|
+
--type-heading-1-leading: 1.15;
|
|
42
|
+
--type-heading-1-tracking: -0.015em;
|
|
43
|
+
--type-heading-2-size: 2rem;
|
|
44
|
+
--type-heading-2-leading: 1.2;
|
|
45
|
+
--type-heading-2-tracking: -0.015em;
|
|
46
|
+
--type-heading-3-size: 1.5rem;
|
|
47
|
+
--type-heading-3-leading: 1.25;
|
|
48
|
+
--type-heading-3-tracking: -0.015em;
|
|
49
|
+
--type-heading-4-size: 1.25rem;
|
|
50
|
+
--type-heading-4-leading: 1.3;
|
|
51
|
+
--type-heading-4-tracking: -0.015em;
|
|
52
|
+
--type-title-weight: 700;
|
|
53
|
+
--type-title-leading: 1.4;
|
|
54
|
+
--type-title-tracking: -0.01em;
|
|
55
|
+
--type-title-sm-tracking: -0.005em;
|
|
56
|
+
--type-overline-size: 0.8571rem;
|
|
57
|
+
--type-overline-weight: 600;
|
|
58
|
+
--type-overline-leading: 1.4;
|
|
59
|
+
--type-overline-tracking: 0.08em;
|
|
60
|
+
--type-overline-transform: uppercase;
|
|
61
|
+
--background: oklch(98.05242% 0.021102 85.9423);
|
|
62
|
+
--foreground: oklch(27.91553% 0.070219 323.8141);
|
|
63
|
+
--card: oklch(99.77841% 0.001061 17.1777);
|
|
64
|
+
--card-foreground: oklch(27.91553% 0.070219 323.8141);
|
|
65
|
+
--popover: oklch(99.77841% 0.001061 17.1777);
|
|
66
|
+
--popover-foreground: oklch(27.91553% 0.070219 323.8141);
|
|
67
|
+
--muted: oklch(92.10223% 0.025248 333.7540);
|
|
68
|
+
--muted-foreground: oklch(43.69479% 0.076345 321.3851);
|
|
69
|
+
--border: oklch(69.96908% 0.055090 333.3586);
|
|
70
|
+
--border-strong: oklch(54.87925% 0.056525 333.9456);
|
|
71
|
+
--input: oklch(69.96908% 0.055090 333.3586);
|
|
72
|
+
--ring: oklch(40.99289% 0.130336 325.3125);
|
|
73
|
+
--primary: oklch(38.38082% 0.116390 323.6155);
|
|
74
|
+
--primary-foreground: oklch(100.00000% 0.000000 89.8756);
|
|
75
|
+
--secondary: oklch(92.10223% 0.025248 333.7540);
|
|
76
|
+
--secondary-foreground: oklch(27.91553% 0.070219 323.8141);
|
|
77
|
+
--accent: oklch(87.83223% 0.046910 333.7803);
|
|
78
|
+
--accent-foreground: oklch(27.91553% 0.070219 323.8141);
|
|
79
|
+
--destructive: oklch(51.71923% 0.183122 13.5471);
|
|
80
|
+
--destructive-foreground: oklch(100.00000% 0.000000 89.8756);
|
|
81
|
+
--success: oklch(44.82304% 0.085811 158.9570);
|
|
82
|
+
--success-foreground: oklch(100.00000% 0.000000 89.8756);
|
|
83
|
+
--tone-standard: oklch(45.04846% 0.050543 265.7140);
|
|
84
|
+
--tone-collectible: oklch(44.74226% 0.160756 301.6122);
|
|
85
|
+
--tone-edition: oklch(48.37678% 0.151106 344.8805);
|
|
86
|
+
--tone-info: oklch(47.10428% 0.117665 253.7666);
|
|
87
|
+
--tone-warning: oklch(48.46763% 0.102195 75.1153);
|
|
88
|
+
--highlight: oklch(86.64637% 0.118528 86.6791);
|
|
89
|
+
--tone-standard-foreground: oklch(100.00000% 0.000000 89.8756);
|
|
90
|
+
--tone-collectible-foreground: oklch(100.00000% 0.000000 89.8756);
|
|
91
|
+
--tone-edition-foreground: oklch(100.00000% 0.000000 89.8756);
|
|
92
|
+
--tone-info-foreground: oklch(100.00000% 0.000000 89.8756);
|
|
93
|
+
--tone-warning-foreground: oklch(100.00000% 0.000000 89.8756);
|
|
94
|
+
--highlight-foreground: oklch(27.91553% 0.070219 323.8141);
|
|
95
|
+
--overlay: oklch(23.10300% 0.056738 321.2844);
|
|
96
|
+
--overlay-foreground: oklch(100.00000% 0.000000 89.8756);
|
|
97
|
+
--sidebar: oklch(98.05242% 0.021102 85.9423);
|
|
98
|
+
--sidebar-foreground: oklch(27.91553% 0.070219 323.8141);
|
|
99
|
+
--sidebar-primary: oklch(38.38082% 0.116390 323.6155);
|
|
100
|
+
--sidebar-primary-foreground: oklch(100.00000% 0.000000 89.8756);
|
|
101
|
+
--sidebar-accent: oklch(87.83223% 0.046910 333.7803);
|
|
102
|
+
--sidebar-accent-foreground: oklch(27.91553% 0.070219 323.8141);
|
|
103
|
+
--sidebar-border: oklch(69.96908% 0.055090 333.3586);
|
|
104
|
+
--sidebar-ring: oklch(40.99289% 0.130336 325.3125);
|
|
105
|
+
--motion-scale: 1;
|
|
106
|
+
--motion-duration-instant: calc(60ms * var(--motion-scale));
|
|
107
|
+
--motion-duration-fast: calc(150ms * var(--motion-scale));
|
|
108
|
+
--motion-duration-base: calc(220ms * var(--motion-scale));
|
|
109
|
+
--motion-duration-slow: calc(320ms * var(--motion-scale));
|
|
110
|
+
--motion-duration-slower: calc(500ms * var(--motion-scale));
|
|
111
|
+
--motion-duration-enter: calc(280ms * var(--motion-scale));
|
|
112
|
+
--motion-duration-exit: calc(180ms * var(--motion-scale));
|
|
113
|
+
--motion-ease-standard: cubic-bezier(0.4, 0, 0.2, 1);
|
|
114
|
+
--motion-ease-decelerate: cubic-bezier(0, 0, 0.2, 1);
|
|
115
|
+
--motion-ease-emphasized: cubic-bezier(0.2, 0, 0, 1);
|
|
116
|
+
--motion-ease-spring: cubic-bezier(0.34, 1.35, 0.5, 1);
|
|
117
|
+
--motion-ease-bounce: cubic-bezier(0.34, 1.56, 0.64, 1);
|
|
118
|
+
--motion-ease-linear: linear;
|
|
119
|
+
--spacing: 0.28rem;
|
|
120
|
+
--theme-button-radius: 12px;
|
|
121
|
+
--button-radius: var(--theme-button-radius);
|
|
122
|
+
--theme-shadow-sm: 3px 3px 0 oklch(32% 0.05 320 / 0.12);
|
|
123
|
+
--theme-shadow-md: 5px 5px 0 oklch(32% 0.05 320 / 0.14);
|
|
124
|
+
}
|
|
125
|
+
|
|
126
|
+
.dark[data-sable-theme="poppy"],
|
|
127
|
+
[data-sable-theme="poppy"].dark,
|
|
128
|
+
[data-sable-theme="poppy"] .dark,
|
|
129
|
+
.dark [data-sable-theme="poppy"]:not(.light) {
|
|
130
|
+
--background: oklch(20.33265% 0.047438 308.8247);
|
|
131
|
+
--foreground: oklch(96.99788% 0.031195 84.5922);
|
|
132
|
+
--card: oklch(28.82474% 0.059607 315.2029);
|
|
133
|
+
--card-foreground: oklch(96.99788% 0.031195 84.5922);
|
|
134
|
+
--popover: oklch(35.18833% 0.068806 316.2087);
|
|
135
|
+
--popover-foreground: oklch(96.99788% 0.031195 84.5922);
|
|
136
|
+
--muted: oklch(39.93612% 0.069763 317.7095);
|
|
137
|
+
--muted-foreground: oklch(89.33070% 0.038250 332.6274);
|
|
138
|
+
--border: oklch(62.48980% 0.070560 325.5308);
|
|
139
|
+
--border-strong: oklch(72.17143% 0.060424 328.9840);
|
|
140
|
+
--input: oklch(62.48980% 0.070560 325.5308);
|
|
141
|
+
--ring: oklch(86.64637% 0.118528 86.6791);
|
|
142
|
+
--primary: oklch(86.64637% 0.118528 86.6791);
|
|
143
|
+
--primary-foreground: oklch(27.91553% 0.070219 323.8141);
|
|
144
|
+
--secondary: oklch(39.93612% 0.069763 317.7095);
|
|
145
|
+
--secondary-foreground: oklch(96.99788% 0.031195 84.5922);
|
|
146
|
+
--accent: oklch(45.76059% 0.076204 319.6398);
|
|
147
|
+
--accent-foreground: oklch(96.99788% 0.031195 84.5922);
|
|
148
|
+
--destructive: oklch(80.09751% 0.118613 6.8786);
|
|
149
|
+
--destructive-foreground: oklch(27.91553% 0.070219 323.8141);
|
|
150
|
+
--success: oklch(83.08052% 0.080357 158.1865);
|
|
151
|
+
--success-foreground: oklch(27.91553% 0.070219 323.8141);
|
|
152
|
+
--tone-standard: oklch(82.64273% 0.059760 270.2687);
|
|
153
|
+
--tone-collectible: oklch(81.83406% 0.094036 306.4836);
|
|
154
|
+
--tone-edition: oklch(82.56509% 0.096677 343.4480);
|
|
155
|
+
--tone-info: oklch(85.19509% 0.074997 252.9332);
|
|
156
|
+
--tone-warning: oklch(86.64637% 0.118528 86.6791);
|
|
157
|
+
--highlight: oklch(86.64637% 0.118528 86.6791);
|
|
158
|
+
--highlight-foreground: oklch(27.91553% 0.070219 323.8141);
|
|
159
|
+
--overlay: oklch(13.55719% 0.032037 309.1234);
|
|
160
|
+
--overlay-foreground: oklch(100.00000% 0.000000 89.8756);
|
|
161
|
+
--sidebar: oklch(20.33265% 0.047438 308.8247);
|
|
162
|
+
--sidebar-foreground: oklch(96.99788% 0.031195 84.5922);
|
|
163
|
+
--sidebar-primary: oklch(86.64637% 0.118528 86.6791);
|
|
164
|
+
--sidebar-primary-foreground: oklch(27.91553% 0.070219 323.8141);
|
|
165
|
+
--sidebar-accent: oklch(45.76059% 0.076204 319.6398);
|
|
166
|
+
--sidebar-accent-foreground: oklch(96.99788% 0.031195 84.5922);
|
|
167
|
+
--sidebar-border: oklch(62.48980% 0.070560 325.5308);
|
|
168
|
+
--sidebar-ring: oklch(86.64637% 0.118528 86.6791);
|
|
169
|
+
--tone-standard-foreground: oklch(27.91553% 0.070219 323.8141);
|
|
170
|
+
--tone-collectible-foreground: oklch(27.91553% 0.070219 323.8141);
|
|
171
|
+
--tone-edition-foreground: oklch(27.91553% 0.070219 323.8141);
|
|
172
|
+
--tone-info-foreground: oklch(27.91553% 0.070219 323.8141);
|
|
173
|
+
--tone-warning-foreground: oklch(27.91553% 0.070219 323.8141);
|
|
174
|
+
}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
export { prism_default as default, prismTheme } from '../../chunk-7MG4SHYX.js';
|
|
@@ -0,0 +1,183 @@
|
|
|
1
|
+
/* prism: an original Sable technical preset. No third-party assets. */
|
|
2
|
+
[data-sable-theme="prism"] {
|
|
3
|
+
--font-sans: "Outfit", ui-sans-serif, system-ui, sans-serif;
|
|
4
|
+
--font-mono: "Roboto Mono", ui-monospace, monospace;
|
|
5
|
+
--font-display: "Playfair Display", ui-serif, Georgia, serif;
|
|
6
|
+
--page-inset: clamp(16px, 3vw, 40px);
|
|
7
|
+
--region-form: 480px;
|
|
8
|
+
--region-feed: 640px;
|
|
9
|
+
--region-content: 896px;
|
|
10
|
+
--region-wide: 1280px;
|
|
11
|
+
--region-full: 1536px;
|
|
12
|
+
--region-ultrawide: 1800px;
|
|
13
|
+
--theme-radius-none: 0px;
|
|
14
|
+
--theme-radius-xs: 2px;
|
|
15
|
+
--theme-radius-sm: 4px;
|
|
16
|
+
--theme-radius-md: 4px;
|
|
17
|
+
--theme-radius-lg: 6px;
|
|
18
|
+
--theme-radius-xl: 8px;
|
|
19
|
+
--theme-radius-full: 9999px;
|
|
20
|
+
--type-display-4xl-weight: 600;
|
|
21
|
+
--type-display-4xl-leading: 1;
|
|
22
|
+
--type-display-4xl-tracking: -0.025em;
|
|
23
|
+
--type-display-3xl-size: 6rem;
|
|
24
|
+
--type-display-3xl-weight: 600;
|
|
25
|
+
--type-display-3xl-leading: 1;
|
|
26
|
+
--type-display-3xl-tracking: -0.025em;
|
|
27
|
+
--type-display-2xl-size: 4.5rem;
|
|
28
|
+
--type-display-2xl-weight: 600;
|
|
29
|
+
--type-display-2xl-leading: 1;
|
|
30
|
+
--type-display-2xl-tracking: -0.025em;
|
|
31
|
+
--type-display-xl-size: 3.5rem;
|
|
32
|
+
--type-display-xl-weight: 600;
|
|
33
|
+
--type-display-xl-leading: 1.1;
|
|
34
|
+
--type-display-xl-tracking: -0.025em;
|
|
35
|
+
--type-display-lg-size: 3rem;
|
|
36
|
+
--type-display-lg-weight: 600;
|
|
37
|
+
--type-display-lg-leading: 1.15;
|
|
38
|
+
--type-display-lg-tracking: -0.025em;
|
|
39
|
+
--type-heading-weight: 600;
|
|
40
|
+
--type-heading-1-size: 2.5rem;
|
|
41
|
+
--type-heading-1-leading: 1.15;
|
|
42
|
+
--type-heading-1-tracking: -0.015em;
|
|
43
|
+
--type-heading-2-size: 2rem;
|
|
44
|
+
--type-heading-2-leading: 1.2;
|
|
45
|
+
--type-heading-2-tracking: -0.015em;
|
|
46
|
+
--type-heading-3-size: 1.5rem;
|
|
47
|
+
--type-heading-3-leading: 1.25;
|
|
48
|
+
--type-heading-3-tracking: -0.015em;
|
|
49
|
+
--type-heading-4-size: 1.25rem;
|
|
50
|
+
--type-heading-4-leading: 1.3;
|
|
51
|
+
--type-heading-4-tracking: -0.015em;
|
|
52
|
+
--type-title-weight: 600;
|
|
53
|
+
--type-title-leading: 1.4;
|
|
54
|
+
--type-title-tracking: -0.01em;
|
|
55
|
+
--type-title-sm-tracking: -0.005em;
|
|
56
|
+
--type-overline-size: 0.8571rem;
|
|
57
|
+
--type-overline-weight: 600;
|
|
58
|
+
--type-overline-leading: 1.4;
|
|
59
|
+
--type-overline-tracking: 0.08em;
|
|
60
|
+
--type-overline-transform: uppercase;
|
|
61
|
+
--background: oklch(96.82603% 0.006854 247.8956);
|
|
62
|
+
--foreground: oklch(26.55994% 0.047330 255.4106);
|
|
63
|
+
--card: oklch(100.00000% 0.000000 89.8756);
|
|
64
|
+
--card-foreground: oklch(26.55994% 0.047330 255.4106);
|
|
65
|
+
--popover: oklch(100.00000% 0.000000 89.8756);
|
|
66
|
+
--popover-foreground: oklch(26.55994% 0.047330 255.4106);
|
|
67
|
+
--muted: oklch(93.05963% 0.014930 251.1615);
|
|
68
|
+
--muted-foreground: oklch(45.04961% 0.039163 252.7680);
|
|
69
|
+
--border: oklch(79.84882% 0.029246 251.5080);
|
|
70
|
+
--border-strong: oklch(64.27577% 0.042824 253.1390);
|
|
71
|
+
--input: oklch(79.84882% 0.029246 251.5080);
|
|
72
|
+
--ring: oklch(50.45463% 0.203215 263.5596);
|
|
73
|
+
--primary: oklch(50.45463% 0.203215 263.5596);
|
|
74
|
+
--primary-foreground: oklch(100.00000% 0.000000 89.8756);
|
|
75
|
+
--secondary: oklch(93.05963% 0.014930 251.1615);
|
|
76
|
+
--secondary-foreground: oklch(26.55994% 0.047330 255.4106);
|
|
77
|
+
--accent: oklch(90.43693% 0.027753 253.2434);
|
|
78
|
+
--accent-foreground: oklch(26.55994% 0.047330 255.4106);
|
|
79
|
+
--destructive: oklch(51.62734% 0.183834 19.4551);
|
|
80
|
+
--destructive-foreground: oklch(100.00000% 0.000000 89.8756);
|
|
81
|
+
--success: oklch(45.54384% 0.081395 166.9049);
|
|
82
|
+
--success-foreground: oklch(100.00000% 0.000000 89.8756);
|
|
83
|
+
--tone-standard: oklch(44.17719% 0.043085 257.4210);
|
|
84
|
+
--tone-collectible: oklch(45.52411% 0.167785 299.9667);
|
|
85
|
+
--tone-edition: oklch(46.78672% 0.141265 343.5094);
|
|
86
|
+
--tone-info: oklch(46.18475% 0.139719 259.8084);
|
|
87
|
+
--tone-warning: oklch(48.72795% 0.103396 73.7587);
|
|
88
|
+
--highlight: oklch(87.60451% 0.060193 266.4847);
|
|
89
|
+
--tone-standard-foreground: oklch(100.00000% 0.000000 89.8756);
|
|
90
|
+
--tone-collectible-foreground: oklch(100.00000% 0.000000 89.8756);
|
|
91
|
+
--tone-edition-foreground: oklch(100.00000% 0.000000 89.8756);
|
|
92
|
+
--tone-info-foreground: oklch(100.00000% 0.000000 89.8756);
|
|
93
|
+
--tone-warning-foreground: oklch(100.00000% 0.000000 89.8756);
|
|
94
|
+
--highlight-foreground: oklch(26.55994% 0.047330 255.4106);
|
|
95
|
+
--overlay: oklch(21.14912% 0.029163 257.5277);
|
|
96
|
+
--overlay-foreground: oklch(100.00000% 0.000000 89.8756);
|
|
97
|
+
--sidebar: oklch(96.82603% 0.006854 247.8956);
|
|
98
|
+
--sidebar-foreground: oklch(26.55994% 0.047330 255.4106);
|
|
99
|
+
--sidebar-primary: oklch(50.45463% 0.203215 263.5596);
|
|
100
|
+
--sidebar-primary-foreground: oklch(100.00000% 0.000000 89.8756);
|
|
101
|
+
--sidebar-accent: oklch(90.43693% 0.027753 253.2434);
|
|
102
|
+
--sidebar-accent-foreground: oklch(26.55994% 0.047330 255.4106);
|
|
103
|
+
--sidebar-border: oklch(79.84882% 0.029246 251.5080);
|
|
104
|
+
--sidebar-ring: oklch(50.45463% 0.203215 263.5596);
|
|
105
|
+
--motion-scale: 1;
|
|
106
|
+
--motion-duration-instant: calc(60ms * var(--motion-scale));
|
|
107
|
+
--motion-duration-fast: calc(100ms * var(--motion-scale));
|
|
108
|
+
--motion-duration-base: calc(150ms * var(--motion-scale));
|
|
109
|
+
--motion-duration-slow: calc(220ms * var(--motion-scale));
|
|
110
|
+
--motion-duration-slower: calc(350ms * var(--motion-scale));
|
|
111
|
+
--motion-duration-enter: calc(180ms * var(--motion-scale));
|
|
112
|
+
--motion-duration-exit: calc(100ms * var(--motion-scale));
|
|
113
|
+
--motion-ease-standard: cubic-bezier(0.4, 0, 0.2, 1);
|
|
114
|
+
--motion-ease-decelerate: cubic-bezier(0, 0, 0.2, 1);
|
|
115
|
+
--motion-ease-emphasized: cubic-bezier(0.2, 0, 0, 1);
|
|
116
|
+
--motion-ease-spring: cubic-bezier(0.34, 1.35, 0.5, 1);
|
|
117
|
+
--motion-ease-bounce: cubic-bezier(0.34, 1.56, 0.64, 1);
|
|
118
|
+
--motion-ease-linear: linear;
|
|
119
|
+
--spacing: 0.22rem;
|
|
120
|
+
--theme-button-radius: 4px;
|
|
121
|
+
--button-radius: var(--theme-button-radius);
|
|
122
|
+
--type-body-md-size: 1rem;
|
|
123
|
+
--type-body-lg-size: 1.125rem;
|
|
124
|
+
--type-label-lg-size: 0.9375rem;
|
|
125
|
+
--type-mono-sm-size: 0.875rem;
|
|
126
|
+
--theme-shadow-2xs: 0 0 #0000;
|
|
127
|
+
--theme-shadow-xs: 0 0 #0000;
|
|
128
|
+
--theme-shadow-sm: 0 0 #0000;
|
|
129
|
+
--theme-shadow-md: 0 0 #0000;
|
|
130
|
+
--theme-shadow-lg: 0 0 #0000;
|
|
131
|
+
--theme-shadow-xl: 0 0 #0000;
|
|
132
|
+
--theme-shadow-2xl: 0 0 #0000;
|
|
133
|
+
}
|
|
134
|
+
|
|
135
|
+
.dark[data-sable-theme="prism"],
|
|
136
|
+
[data-sable-theme="prism"].dark,
|
|
137
|
+
[data-sable-theme="prism"] .dark,
|
|
138
|
+
.dark [data-sable-theme="prism"]:not(.light) {
|
|
139
|
+
--background: oklch(21.51885% 0.027284 255.8198);
|
|
140
|
+
--foreground: oklch(96.50786% 0.016545 259.4182);
|
|
141
|
+
--card: oklch(29.77801% 0.039648 256.2166);
|
|
142
|
+
--card-foreground: oklch(96.50786% 0.016545 259.4182);
|
|
143
|
+
--popover: oklch(35.46732% 0.045045 253.8944);
|
|
144
|
+
--popover-foreground: oklch(96.50786% 0.016545 259.4182);
|
|
145
|
+
--muted: oklch(39.92007% 0.047979 253.4360);
|
|
146
|
+
--muted-foreground: oklch(85.60192% 0.027564 255.1044);
|
|
147
|
+
--border: oklch(58.06940% 0.052170 251.5856);
|
|
148
|
+
--border-strong: oklch(69.19219% 0.042050 253.1082);
|
|
149
|
+
--input: oklch(58.06940% 0.052170 251.5856);
|
|
150
|
+
--ring: oklch(82.28684% 0.088371 261.1846);
|
|
151
|
+
--primary: oklch(82.28684% 0.088371 261.1846);
|
|
152
|
+
--primary-foreground: oklch(25.20350% 0.047984 259.9119);
|
|
153
|
+
--secondary: oklch(39.92007% 0.047979 253.4360);
|
|
154
|
+
--secondary-foreground: oklch(96.50786% 0.016545 259.4182);
|
|
155
|
+
--accent: oklch(44.66150% 0.052212 253.9323);
|
|
156
|
+
--accent-foreground: oklch(96.50786% 0.016545 259.4182);
|
|
157
|
+
--destructive: oklch(79.47983% 0.122016 8.7083);
|
|
158
|
+
--destructive-foreground: oklch(25.20350% 0.047984 259.9119);
|
|
159
|
+
--success: oklch(82.23776% 0.085532 165.8233);
|
|
160
|
+
--success-foreground: oklch(25.20350% 0.047984 259.9119);
|
|
161
|
+
--tone-standard: oklch(82.02131% 0.046953 256.4806);
|
|
162
|
+
--tone-collectible: oklch(77.28561% 0.118760 301.0442);
|
|
163
|
+
--tone-edition: oklch(80.44093% 0.102099 341.6738);
|
|
164
|
+
--tone-info: oklch(80.57243% 0.097939 259.4939);
|
|
165
|
+
--tone-warning: oklch(84.66478% 0.108333 84.1636);
|
|
166
|
+
--highlight: oklch(82.28684% 0.088371 261.1846);
|
|
167
|
+
--highlight-foreground: oklch(25.20350% 0.047984 259.9119);
|
|
168
|
+
--overlay: oklch(14.80476% 0.014876 256.6891);
|
|
169
|
+
--overlay-foreground: oklch(100.00000% 0.000000 89.8756);
|
|
170
|
+
--sidebar: oklch(21.51885% 0.027284 255.8198);
|
|
171
|
+
--sidebar-foreground: oklch(96.50786% 0.016545 259.4182);
|
|
172
|
+
--sidebar-primary: oklch(82.28684% 0.088371 261.1846);
|
|
173
|
+
--sidebar-primary-foreground: oklch(25.20350% 0.047984 259.9119);
|
|
174
|
+
--sidebar-accent: oklch(44.66150% 0.052212 253.9323);
|
|
175
|
+
--sidebar-accent-foreground: oklch(96.50786% 0.016545 259.4182);
|
|
176
|
+
--sidebar-border: oklch(58.06940% 0.052170 251.5856);
|
|
177
|
+
--sidebar-ring: oklch(82.28684% 0.088371 261.1846);
|
|
178
|
+
--tone-standard-foreground: oklch(25.20350% 0.047984 259.9119);
|
|
179
|
+
--tone-collectible-foreground: oklch(25.20350% 0.047984 259.9119);
|
|
180
|
+
--tone-edition-foreground: oklch(25.20350% 0.047984 259.9119);
|
|
181
|
+
--tone-info-foreground: oklch(25.20350% 0.047984 259.9119);
|
|
182
|
+
--tone-warning-foreground: oklch(25.20350% 0.047984 259.9119);
|
|
183
|
+
}
|
|
@@ -0,0 +1,9 @@
|
|
|
1
|
+
import { T as ThemeManifest } from '../../_contract-CYScOdf5.js';
|
|
2
|
+
|
|
3
|
+
/**
|
|
4
|
+
* Verdant — a Sable theme. Concrete token values live in
|
|
5
|
+
* `verdant.css`; this manifest is the typed, machine-readable description.
|
|
6
|
+
*/
|
|
7
|
+
declare const verdantTheme: ThemeManifest;
|
|
8
|
+
|
|
9
|
+
export { verdantTheme as default, verdantTheme };
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
export { verdant_default as default, verdantTheme } from '../../chunk-KO3NAEBF.js';
|
|
@@ -0,0 +1,210 @@
|
|
|
1
|
+
/* ==========================================================================
|
|
2
|
+
Verdant — a Sable theme, developed from reference analysis.
|
|
3
|
+
|
|
4
|
+
Components must reference the SEMANTIC tokens (--background, --primary,
|
|
5
|
+
--tone-edition, …), never any palette ramp directly. See themes/_contract.ts.
|
|
6
|
+
========================================================================== */
|
|
7
|
+
|
|
8
|
+
[data-sable-theme="verdant"] {
|
|
9
|
+
/* Font stacks (theme-internal; host app provides the actual font files) */
|
|
10
|
+
--font-sans: "Inter", system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;
|
|
11
|
+
--font-mono: "IBM Plex Mono", ui-monospace, SFMono-Regular, Menlo, Monaco, Consolas, "Courier New", monospace;
|
|
12
|
+
--font-display: "Instrument Serif", Georgia, "Times New Roman", serif;
|
|
13
|
+
|
|
14
|
+
/*
|
|
15
|
+
* Region/page-inset foundation vars, explicitly declared per the Sable theme
|
|
16
|
+
* plugin's theme.md "Layout foundation" rule (previously omitted here, which
|
|
17
|
+
* meant every Region in this build was silently drawing on the original default theme's own
|
|
18
|
+
* defaults via styles.css's unconditional default-theme import — see atelier's
|
|
19
|
+
* theme for the full writeup of that bug). Findings doc measured a ~1280px
|
|
20
|
+
* capped inner container almost everywhere — matches Sable's own --region-wide
|
|
21
|
+
* default exactly, so no deviation needed; --page-inset has no direct
|
|
22
|
+
* measurement in the findings doc, defaulted to Sable's standard clamp.
|
|
23
|
+
*/
|
|
24
|
+
--page-inset: clamp(16px, 4vw, 32px);
|
|
25
|
+
--region-form: 480px;
|
|
26
|
+
--region-feed: 640px;
|
|
27
|
+
--region-content: 896px;
|
|
28
|
+
--region-wide: 1280px; /* 1280px — observed: "1280px capped inner container almost everywhere" */
|
|
29
|
+
--region-full: 1536px;
|
|
30
|
+
--region-ultrawide: 1800px;
|
|
31
|
+
|
|
32
|
+
/* Theme foundation vars consumed by styles.css. */
|
|
33
|
+
--theme-radius-none: 0px;
|
|
34
|
+
--theme-radius-xs: 6px;
|
|
35
|
+
--theme-radius-sm: 10px;
|
|
36
|
+
--theme-radius-md: 12px;
|
|
37
|
+
--theme-radius-lg: 16px;
|
|
38
|
+
--theme-radius-xl: 24px;
|
|
39
|
+
--theme-radius-full: 9999px;
|
|
40
|
+
|
|
41
|
+
/* Type-scale foundation vars consumed by styles.css's paired text-* utilities. */
|
|
42
|
+
--type-display-4xl-weight: 400;
|
|
43
|
+
--type-display-4xl-leading: 1.0;
|
|
44
|
+
--type-display-4xl-tracking: 0em;
|
|
45
|
+
--type-display-3xl-size: 6.8571rem /* 96px at the 14px desktop root */;
|
|
46
|
+
--type-display-3xl-weight: 400;
|
|
47
|
+
--type-display-3xl-leading: 1.0;
|
|
48
|
+
--type-display-3xl-tracking: 0em;
|
|
49
|
+
--type-display-2xl-size: 5.7143rem /* 80px at the 14px desktop root */;
|
|
50
|
+
--type-display-2xl-weight: 400;
|
|
51
|
+
--type-display-2xl-leading: 1.1;
|
|
52
|
+
--type-display-2xl-tracking: 0em;
|
|
53
|
+
--type-display-xl-size: 4.5714rem /* 64px at the 14px desktop root */;
|
|
54
|
+
--type-display-xl-weight: 400;
|
|
55
|
+
--type-display-xl-leading: 1.2;
|
|
56
|
+
--type-display-xl-tracking: 0em;
|
|
57
|
+
--type-display-lg-size: 3.4286rem /* 48px at the 14px desktop root */;
|
|
58
|
+
--type-display-lg-weight: 400;
|
|
59
|
+
--type-display-lg-leading: 1.0;
|
|
60
|
+
--type-display-lg-tracking: 0em;
|
|
61
|
+
--type-heading-weight: 700;
|
|
62
|
+
--type-heading-1-size: 2.8571rem /* 40px at the 14px desktop root */;
|
|
63
|
+
--type-heading-1-leading: 1.3;
|
|
64
|
+
--type-heading-1-tracking: 0em;
|
|
65
|
+
--type-heading-2-size: 2.2857rem /* 32px at the 14px desktop root */;
|
|
66
|
+
--type-heading-2-leading: 1.1;
|
|
67
|
+
--type-heading-2-tracking: 0em;
|
|
68
|
+
--type-heading-3-size: 1.7143rem /* 24px at the 14px desktop root */;
|
|
69
|
+
--type-heading-3-leading: 1.15;
|
|
70
|
+
--type-heading-3-tracking: 0em;
|
|
71
|
+
--type-heading-4-size: 1.4286rem /* 20px at the 14px desktop root */;
|
|
72
|
+
--type-heading-4-leading: 1.3;
|
|
73
|
+
--type-heading-4-tracking: 0em;
|
|
74
|
+
--type-title-weight: 600;
|
|
75
|
+
--type-title-leading: 1.4;
|
|
76
|
+
--type-title-tracking: -0.01em;
|
|
77
|
+
--type-title-sm-tracking: 0em;
|
|
78
|
+
--type-title-lg-tracking: 0em;
|
|
79
|
+
--type-title-md-tracking: 0em;
|
|
80
|
+
|
|
81
|
+
/* Overline/eyebrow foundation vars consumed by styles.css's text-overline utility. */
|
|
82
|
+
--type-overline-size: 0.8571rem /* 12px at the 14px desktop root */;
|
|
83
|
+
--type-overline-weight: 600;
|
|
84
|
+
--type-overline-leading: 1.333;
|
|
85
|
+
--type-overline-tracking: 0em;
|
|
86
|
+
--type-overline-transform: uppercase;
|
|
87
|
+
|
|
88
|
+
/* ----------------------------------------------------------------------
|
|
89
|
+
Semantic tokens — light mode
|
|
90
|
+
---------------------------------------------------------------------- */
|
|
91
|
+
--background: oklch(98.6% 0.004 106);
|
|
92
|
+
--foreground: oklch(24% 0.035 175);
|
|
93
|
+
--card: oklch(96.1% 0.005 106);
|
|
94
|
+
--card-foreground: oklch(24% 0.035 175);
|
|
95
|
+
--popover: oklch(98.6% 0.004 106);
|
|
96
|
+
--popover-foreground: oklch(24% 0.035 175);
|
|
97
|
+
--muted: oklch(93% 0.007 106);
|
|
98
|
+
--muted-foreground: oklch(49% 0.018 175);
|
|
99
|
+
--border: oklch(88.5% 0.005 106);
|
|
100
|
+
--border-strong: oklch(81% 0.008 130);
|
|
101
|
+
--input: oklch(88.5% 0.005 106);
|
|
102
|
+
--ring: oklch(24% 0.035 175);
|
|
103
|
+
--primary: oklch(24% 0.035 175);
|
|
104
|
+
--primary-foreground: oklch(98.6% 0.004 106);
|
|
105
|
+
--secondary: oklch(93% 0.007 106);
|
|
106
|
+
--secondary-foreground: oklch(24% 0.035 175);
|
|
107
|
+
--accent: oklch(91.5% 0.014 170);
|
|
108
|
+
--accent-foreground: oklch(24% 0.035 175);
|
|
109
|
+
--destructive: oklch(51% 0.19 22);
|
|
110
|
+
--destructive-foreground: oklch(98.6% 0.004 106);
|
|
111
|
+
--success: oklch(50% 0.11 173);
|
|
112
|
+
--success-foreground: oklch(98.6% 0.004 106);
|
|
113
|
+
--tone-standard: oklch(49% 0.018 175);
|
|
114
|
+
--tone-standard-foreground: oklch(98.6% 0.004 106);
|
|
115
|
+
--tone-collectible: oklch(45% 0.07 175);
|
|
116
|
+
--tone-collectible-foreground: oklch(98.6% 0.004 106);
|
|
117
|
+
--tone-edition: oklch(50% 0.11 173);
|
|
118
|
+
--tone-edition-foreground: oklch(98.6% 0.004 106);
|
|
119
|
+
--tone-info: oklch(51% 0.12 250);
|
|
120
|
+
--tone-info-foreground: oklch(98.6% 0.004 106);
|
|
121
|
+
--tone-warning: oklch(53% 0.12 65);
|
|
122
|
+
--tone-warning-foreground: oklch(98.6% 0.004 106);
|
|
123
|
+
--highlight: oklch(90% 0.05 100);
|
|
124
|
+
--highlight-foreground: oklch(24% 0.035 175);
|
|
125
|
+
--overlay: oklch(16% 0.03 175 / 0.6);
|
|
126
|
+
--overlay-foreground: oklch(98.6% 0.004 106);
|
|
127
|
+
--sidebar: oklch(96.1% 0.005 106);
|
|
128
|
+
--sidebar-foreground: oklch(24% 0.035 175);
|
|
129
|
+
--sidebar-primary: oklch(24% 0.035 175);
|
|
130
|
+
--sidebar-primary-foreground: oklch(98.6% 0.004 106);
|
|
131
|
+
--sidebar-accent: oklch(93% 0.008 170);
|
|
132
|
+
--sidebar-accent-foreground: oklch(24% 0.035 175);
|
|
133
|
+
--sidebar-border: oklch(88.5% 0.005 106);
|
|
134
|
+
--sidebar-ring: oklch(24% 0.035 175);
|
|
135
|
+
|
|
136
|
+
/* ----------------------------------------------------------------------
|
|
137
|
+
Motion tokens (mode-independent)
|
|
138
|
+
---------------------------------------------------------------------- */
|
|
139
|
+
--motion-scale: 1;
|
|
140
|
+
--motion-duration-instant: calc(75ms * var(--motion-scale));
|
|
141
|
+
--motion-duration-fast: calc(150ms * var(--motion-scale));
|
|
142
|
+
--motion-duration-base: calc(200ms * var(--motion-scale));
|
|
143
|
+
--motion-duration-slow: calc(300ms * var(--motion-scale));
|
|
144
|
+
--motion-duration-slower: calc(500ms * var(--motion-scale));
|
|
145
|
+
--motion-duration-enter: calc(300ms * var(--motion-scale));
|
|
146
|
+
--motion-duration-exit: calc(200ms * var(--motion-scale));
|
|
147
|
+
--motion-ease-standard: ease;
|
|
148
|
+
--motion-ease-decelerate: cubic-bezier(0, 0, 0.2, 1);
|
|
149
|
+
--motion-ease-emphasized: cubic-bezier(0.2, 0, 0, 1);
|
|
150
|
+
--motion-ease-spring: cubic-bezier(0.3, 1.2, 0.5, 1);
|
|
151
|
+
--motion-ease-bounce: cubic-bezier(0.3, 1.2, 0.5, 1);
|
|
152
|
+
--motion-ease-linear: linear;
|
|
153
|
+
}
|
|
154
|
+
|
|
155
|
+
/* ==========================================================================
|
|
156
|
+
Semantic tokens — dark mode
|
|
157
|
+
========================================================================== */
|
|
158
|
+
.dark[data-sable-theme="verdant"],
|
|
159
|
+
[data-sable-theme="verdant"].dark,
|
|
160
|
+
/* A dark island inside a light page: an inspector, a dark sidebar, a dark
|
|
161
|
+
hero. Without this arm, a nested .dark kept the light tokens. */
|
|
162
|
+
[data-sable-theme="verdant"] .dark,
|
|
163
|
+
/* …and the reverse: a preset-scoped subtree inside a dark page follows the page
|
|
164
|
+
into dark mode. Add `.light` to the subtree to pin it light. */
|
|
165
|
+
.dark [data-sable-theme="verdant"]:not(.light) {
|
|
166
|
+
--background: oklch(16% 0.03 175);
|
|
167
|
+
--foreground: oklch(98.6% 0.004 106);
|
|
168
|
+
--card: oklch(24% 0.035 175);
|
|
169
|
+
--card-foreground: oklch(98.6% 0.004 106);
|
|
170
|
+
--popover: oklch(28% 0.035 175);
|
|
171
|
+
--popover-foreground: oklch(98.6% 0.004 106);
|
|
172
|
+
--muted: oklch(30.5% 0.032 175);
|
|
173
|
+
--muted-foreground: oklch(70% 0.012 172);
|
|
174
|
+
--border: oklch(36% 0.03 175);
|
|
175
|
+
--border-strong: oklch(40% 0.028 175);
|
|
176
|
+
--input: oklch(36% 0.03 175);
|
|
177
|
+
--ring: oklch(85% 0.015 170);
|
|
178
|
+
--primary: oklch(98.6% 0.004 106);
|
|
179
|
+
--primary-foreground: oklch(24% 0.035 175);
|
|
180
|
+
--secondary: oklch(32% 0.035 175);
|
|
181
|
+
--secondary-foreground: oklch(98.6% 0.004 106);
|
|
182
|
+
--accent: oklch(33% 0.045 175); /* above --popover: a hover row or chip inside a menu/dialog must still read */
|
|
183
|
+
--accent-foreground: oklch(98.6% 0.004 106);
|
|
184
|
+
--destructive: oklch(64% 0.19 22);
|
|
185
|
+
--destructive-foreground: oklch(16% 0.03 175);
|
|
186
|
+
--success: oklch(72% 0.13 173);
|
|
187
|
+
--success-foreground: oklch(16% 0.03 175);
|
|
188
|
+
--tone-standard: oklch(72% 0.015 175);
|
|
189
|
+
--tone-standard-foreground: oklch(16% 0.03 175);
|
|
190
|
+
--tone-collectible: oklch(74% 0.09 175);
|
|
191
|
+
--tone-collectible-foreground: oklch(16% 0.03 175);
|
|
192
|
+
--tone-edition: oklch(76% 0.12 173);
|
|
193
|
+
--tone-edition-foreground: oklch(16% 0.03 175);
|
|
194
|
+
--tone-info: oklch(74% 0.11 250);
|
|
195
|
+
--tone-info-foreground: oklch(16% 0.03 175);
|
|
196
|
+
--tone-warning: oklch(80% 0.13 75);
|
|
197
|
+
--tone-warning-foreground: oklch(16% 0.03 175);
|
|
198
|
+
--highlight: oklch(40% 0.06 90);
|
|
199
|
+
--highlight-foreground: oklch(98.6% 0.004 106);
|
|
200
|
+
--overlay: oklch(8% 0.015 175 / 0.7);
|
|
201
|
+
--overlay-foreground: oklch(98.6% 0.004 106);
|
|
202
|
+
--sidebar: oklch(13.5% 0.026 175);
|
|
203
|
+
--sidebar-foreground: oklch(98.6% 0.004 106);
|
|
204
|
+
--sidebar-primary: oklch(98.6% 0.004 106);
|
|
205
|
+
--sidebar-primary-foreground: oklch(24% 0.035 175);
|
|
206
|
+
--sidebar-accent: oklch(24% 0.035 175);
|
|
207
|
+
--sidebar-accent-foreground: oklch(98.6% 0.004 106);
|
|
208
|
+
--sidebar-border: oklch(30% 0.03 175);
|
|
209
|
+
--sidebar-ring: oklch(85% 0.015 170);
|
|
210
|
+
}
|
package/dist/themes.css
ADDED
|
@@ -0,0 +1,30 @@
|
|
|
1
|
+
/* ==========================================================================
|
|
2
|
+
@sableui/react — all bundled alternate themes, in one import.
|
|
3
|
+
|
|
4
|
+
@import "tailwindcss";
|
|
5
|
+
@import "@sableui/react/styles.css";
|
|
6
|
+
@import "@sableui/react/themes.css"; ← this file
|
|
7
|
+
|
|
8
|
+
For an app that offers the bundled set as user-selectable themes (a
|
|
9
|
+
`<ThemeSelector>` over Base / Meridian / Prism / Verdant / Ember / Poppy). `styles.css`
|
|
10
|
+
carries Base alone, since the alternates are `[data-sable-theme]`-scoped
|
|
11
|
+
and dead weight in the overwhelmingly common single-theme app.
|
|
12
|
+
|
|
13
|
+
Needing exactly one alternate? Import just that one instead — this file is a
|
|
14
|
+
convenience for "all of them", not the recommended default:
|
|
15
|
+
|
|
16
|
+
@import "@sableui/react/theme/prism.css";
|
|
17
|
+
|
|
18
|
+
Base is NOT here: it ships in `styles.css` and must, since it declares
|
|
19
|
+
the layout floor (`--page-inset`, `--region-*`, `--rhythm-unit`) on a bare
|
|
20
|
+
`:root` that every other theme inherits.
|
|
21
|
+
========================================================================== */
|
|
22
|
+
|
|
23
|
+
@import "./themes/meridian/meridian.css";
|
|
24
|
+
@import "./themes/prism/prism.css";
|
|
25
|
+
@import "./themes/verdant/verdant.css";
|
|
26
|
+
@import "./themes/ember/ember.css";
|
|
27
|
+
@import "./themes/poppy/poppy.css";
|
|
28
|
+
|
|
29
|
+
/* Legacy selectors remain available for existing consumers. */
|
|
30
|
+
@import "./themes/atelier/atelier.css";
|