zabi-components 7.0.1 → 8.0.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/README.md +46 -3
- package/THEMING.md +255 -15
- package/dist/atoms/ActionPanel.svelte +12 -7
- package/dist/atoms/ActionPanel.svelte.d.ts +2 -0
- package/dist/atoms/Badge.svelte +93 -56
- package/dist/atoms/Badge.svelte.d.ts +15 -3
- package/dist/atoms/Button.svelte +49 -49
- package/dist/atoms/Button.svelte.d.ts +3 -0
- package/dist/atoms/Card.svelte +31 -28
- package/dist/atoms/Card.svelte.d.ts +5 -2
- package/dist/atoms/CardContent.svelte +10 -2
- package/dist/atoms/CardContent.svelte.d.ts +2 -0
- package/dist/atoms/CardFooter.svelte +10 -2
- package/dist/atoms/CardFooter.svelte.d.ts +2 -0
- package/dist/atoms/CardHeader.svelte +10 -2
- package/dist/atoms/CardHeader.svelte.d.ts +2 -0
- package/dist/atoms/Checkbox.svelte +4 -0
- package/dist/atoms/Checkbox.svelte.d.ts +2 -0
- package/dist/atoms/CodeBlock.svelte +15 -7
- package/dist/atoms/CodeBlock.svelte.d.ts +9 -3
- package/dist/atoms/ColorPicker.svelte +19 -9
- package/dist/atoms/ColorPicker.svelte.d.ts +3 -1
- package/dist/atoms/Container.svelte +2 -3
- package/dist/atoms/Divider.svelte +4 -4
- package/dist/atoms/FeatureCard.svelte +4 -3
- package/dist/atoms/Heading.svelte +56 -27
- package/dist/atoms/Heading.svelte.d.ts +17 -4
- package/dist/atoms/IconButton.svelte +30 -37
- package/dist/atoms/Input.svelte +26 -34
- package/dist/atoms/List.svelte +10 -2
- package/dist/atoms/List.svelte.d.ts +2 -0
- package/dist/atoms/ListItem.svelte +2 -2
- package/dist/atoms/ListItemLeading.svelte +4 -2
- package/dist/atoms/ListItemLeading.svelte.d.ts +1 -1
- package/dist/atoms/OptimizedImage.svelte +11 -2
- package/dist/atoms/OptimizedImage.svelte.d.ts +2 -0
- package/dist/atoms/Progress.svelte +4 -1
- package/dist/atoms/Progress.svelte.d.ts +2 -0
- package/dist/atoms/Radio.svelte +4 -0
- package/dist/atoms/Radio.svelte.d.ts +2 -0
- package/dist/atoms/Select.svelte +65 -67
- package/dist/atoms/Select.svelte.d.ts +4 -0
- package/dist/atoms/SelectionControl.svelte +5 -1
- package/dist/atoms/SelectionControl.svelte.d.ts +2 -0
- package/dist/atoms/Skeleton.svelte +5 -3
- package/dist/atoms/Table.svelte +2 -1
- package/dist/atoms/Text.svelte +34 -5
- package/dist/atoms/Text.svelte.d.ts +7 -1
- package/dist/atoms/Textarea.svelte +7 -6
- package/dist/atoms/ThemeToggle.svelte +17 -14
- package/dist/atoms/ThemeToggle.svelte.d.ts +2 -0
- package/dist/atoms/Toast.svelte +10 -8
- package/dist/atoms/Toggle.svelte +21 -13
- package/dist/atoms/Toggle.svelte.d.ts +7 -0
- package/dist/atoms/Tooltip.svelte +89 -57
- package/dist/atoms/Tooltip.svelte.d.ts +15 -0
- package/dist/components/index.d.ts +3 -1
- package/dist/components/index.d.ts.map +1 -1
- package/dist/components/organisms/index.d.ts +1 -0
- package/dist/components/organisms/index.d.ts.map +1 -1
- package/dist/components/util/cn.d.ts +8 -0
- package/dist/components/util/cn.d.ts.map +1 -0
- package/dist/components/util/ssr-safe.d.ts +4 -4
- package/dist/components/util/ssr-safe.d.ts.map +1 -1
- package/dist/index.d.ts +3 -1
- package/dist/index.js +3 -6
- package/dist/molecules/Alert.svelte +43 -64
- package/dist/molecules/Alert.svelte.d.ts +7 -1
- package/dist/molecules/ComponentDemo.svelte +10 -2
- package/dist/molecules/ComponentDemo.svelte.d.ts +2 -0
- package/dist/molecules/ContactForm.svelte +12 -2
- package/dist/molecules/ContactForm.svelte.d.ts +2 -0
- package/dist/molecules/Dropdown.svelte +40 -11
- package/dist/molecules/Dropdown.svelte.d.ts +4 -0
- package/dist/molecules/EmptyState.svelte +2 -1
- package/dist/molecules/Form.svelte +25 -14
- package/dist/molecules/Form.svelte.d.ts +13 -5
- package/dist/molecules/FormField.svelte +2 -1
- package/dist/molecules/Header.svelte +13 -3
- package/dist/molecules/Header.svelte.d.ts +2 -0
- package/dist/molecules/ImageUpload.svelte +54 -15
- package/dist/molecules/ImageUpload.svelte.d.ts +16 -5
- package/dist/molecules/Modal.svelte +110 -31
- package/dist/molecules/Modal.svelte.d.ts +9 -6
- package/dist/molecules/NavigationMenu.svelte +15 -3
- package/dist/molecules/NavigationMenu.svelte.d.ts +4 -0
- package/dist/molecules/NavigationMenuContent.svelte +36 -38
- package/dist/molecules/NavigationMenuContent.svelte.d.ts +2 -0
- package/dist/molecules/NavigationMenuItem.svelte +10 -2
- package/dist/molecules/NavigationMenuItem.svelte.d.ts +2 -0
- package/dist/molecules/NavigationMenuLink.svelte +10 -2
- package/dist/molecules/NavigationMenuLink.svelte.d.ts +2 -0
- package/dist/molecules/NavigationMenuList.svelte +10 -2
- package/dist/molecules/NavigationMenuList.svelte.d.ts +2 -0
- package/dist/molecules/NavigationMenuTrigger.svelte +16 -3
- package/dist/molecules/NavigationMenuTrigger.svelte.d.ts +2 -0
- package/dist/molecules/Page.svelte +8 -2
- package/dist/molecules/Page.svelte.d.ts +2 -0
- package/dist/molecules/PropsTable.svelte +6 -3
- package/dist/molecules/PropsTable.svelte.d.ts +2 -0
- package/dist/molecules/RadioGroup.svelte +5 -1
- package/dist/molecules/RadioGroup.svelte.d.ts +2 -0
- package/dist/molecules/Section.svelte +12 -4
- package/dist/molecules/Section.svelte.d.ts +3 -1
- package/dist/molecules/SidebarBrandHeader.svelte +13 -4
- package/dist/molecules/SidebarBrandHeader.svelte.d.ts +2 -0
- package/dist/molecules/SidebarFooter.svelte +12 -4
- package/dist/molecules/SidebarFooter.svelte.d.ts +2 -0
- package/dist/molecules/SidebarNavSection.svelte +12 -4
- package/dist/molecules/SidebarNavSection.svelte.d.ts +2 -0
- package/dist/molecules/SlideUp.svelte +85 -21
- package/dist/molecules/SlideUp.svelte.d.ts +5 -4
- package/dist/molecules/Tabs.svelte +25 -19
- package/dist/molecules/Tabs.svelte.d.ts +8 -4
- package/dist/molecules/Toaster.svelte +3 -2
- package/dist/molecules/ToasterToast.svelte +41 -10
- package/dist/molecules/ToasterToast.svelte.d.ts +2 -0
- package/dist/organisms/SidebarAccountPanel.svelte +4 -0
- package/dist/organisms/SidebarAccountPanel.svelte.d.ts +2 -0
- package/dist/organisms/SidebarNavigation.svelte +102 -59
- package/dist/organisms/SidebarNavigation.svelte.d.ts +2 -0
- package/dist/organisms/SidebarPanel.svelte +19 -11
- package/dist/organisms/SidebarPanel.svelte.d.ts +2 -0
- package/dist/organisms/SidebarShell.svelte +112 -0
- package/dist/organisms/SidebarShell.svelte.d.ts +52 -0
- package/dist/organisms/TopNavbar.svelte +88 -17
- package/dist/organisms/TopNavbar.svelte.d.ts +2 -0
- package/dist/organisms/index.d.ts +1 -0
- package/dist/organisms/index.js +1 -0
- package/dist/routes/lib/variant-utils.d.ts +26 -0
- package/dist/routes/lib/{variant-utils.ts → variant-utils.js} +15 -46
- package/dist/types/events.js +1 -0
- package/dist/types/index.js +3 -0
- package/dist/util/cn.d.ts +7 -0
- package/dist/util/cn.js +48 -0
- package/dist/util/ssr-safe.d.ts +4 -4
- package/dist/zabi-components-colors.css +3 -437
- package/dist/zabi-components-theme-dark-only.css +223 -103
- package/dist/zabi-components-theme-dark.css +223 -103
- package/dist/zabi-components-theme-only.css +347 -107
- package/dist/zabi-components-theme.css +347 -107
- package/dist/zabi-components.css +953 -843
- package/docs/lucide-icons.md +3 -1
- package/package.json +20 -25
- package/dist/lib/layout-width-tokens.d.ts +0 -17
- package/dist/lib/layout-width-tokens.d.ts.map +0 -1
- package/dist/lib/showcase/component-docs/Button.d.ts +0 -3
- package/dist/lib/showcase/component-docs/Button.d.ts.map +0 -1
- package/dist/lib/showcase/component-docs/Input.d.ts +0 -3
- package/dist/lib/showcase/component-docs/Input.d.ts.map +0 -1
- package/dist/lib/showcase/component-docs/List.d.ts +0 -3
- package/dist/lib/showcase/component-docs/List.d.ts.map +0 -1
- package/dist/lib/showcase/component-docs/Modal.d.ts +0 -3
- package/dist/lib/showcase/component-docs/Modal.d.ts.map +0 -1
- package/dist/lib/showcase/component-docs/Radio.d.ts +0 -3
- package/dist/lib/showcase/component-docs/Radio.d.ts.map +0 -1
- package/dist/lib/showcase/component-docs/SidebarNavigation.d.ts +0 -3
- package/dist/lib/showcase/component-docs/SidebarNavigation.d.ts.map +0 -1
- package/dist/lib/showcase/component-docs/Skeleton.d.ts +0 -3
- package/dist/lib/showcase/component-docs/Skeleton.d.ts.map +0 -1
- package/dist/lib/showcase/component-docs/_shared.d.ts +0 -12
- package/dist/lib/showcase/component-docs/_shared.d.ts.map +0 -1
- package/dist/lib/showcase/component-docs/index.d.ts +0 -4
- package/dist/lib/showcase/component-docs/index.d.ts.map +0 -1
- package/dist/lib/showcase/components-catalog.d.ts +0 -3
- package/dist/lib/showcase/components-catalog.d.ts.map +0 -1
- package/dist/lib/showcase/components-showcase-constants.d.ts +0 -89
- package/dist/lib/showcase/components-showcase-constants.d.ts.map +0 -1
- package/dist/lib/showcase/docs-sidebar-helpers.d.ts +0 -15
- package/dist/lib/showcase/docs-sidebar-helpers.d.ts.map +0 -1
- package/dist/routes/lib/focus-utils.d.ts +0 -12
- package/dist/routes/lib/focus-utils.ts +0 -110
- package/dist/routes/lib/ssr-safe.ts +0 -58
- package/scripts/fix-lucide-svelte-icon-dts.js +0 -35
|
@@ -23,54 +23,150 @@
|
|
|
23
23
|
--zabi-base-900: #18181b
|
|
24
24
|
--zabi-base-925: #101013
|
|
25
25
|
--zabi-base-950: #09090b
|
|
26
|
-
/*
|
|
27
|
-
--
|
|
28
|
-
--
|
|
29
|
-
--
|
|
30
|
-
--
|
|
31
|
-
--
|
|
32
|
-
--
|
|
33
|
-
--
|
|
34
|
-
--
|
|
35
|
-
--
|
|
36
|
-
--
|
|
37
|
-
--
|
|
38
|
-
/*
|
|
39
|
-
--color-
|
|
40
|
-
--color-
|
|
41
|
-
--color-
|
|
42
|
-
--color-
|
|
43
|
-
--color-
|
|
44
|
-
--color-
|
|
45
|
-
--color-
|
|
46
|
-
--color-
|
|
47
|
-
--color-
|
|
48
|
-
--color-
|
|
49
|
-
--color-
|
|
50
|
-
/*
|
|
51
|
-
--
|
|
52
|
-
--
|
|
53
|
-
--
|
|
54
|
-
--
|
|
55
|
-
--
|
|
56
|
-
--
|
|
57
|
-
--
|
|
58
|
-
--
|
|
59
|
-
--
|
|
60
|
-
--
|
|
61
|
-
--
|
|
62
|
-
/*
|
|
63
|
-
--color-
|
|
64
|
-
--color-
|
|
65
|
-
--color-
|
|
66
|
-
--color-
|
|
67
|
-
--color-
|
|
68
|
-
--color-
|
|
69
|
-
--color-
|
|
70
|
-
--color-
|
|
71
|
-
--color-
|
|
72
|
-
--color-
|
|
73
|
-
--color-
|
|
26
|
+
/* Mirror @theme --zabi-brand-* ramp (same physical hex; required for standalone dark import) */
|
|
27
|
+
--zabi-brand-50: #f4f6ff
|
|
28
|
+
--zabi-brand-100: #e9eeff
|
|
29
|
+
--zabi-brand-200: #d3dcff
|
|
30
|
+
--zabi-brand-300: #b5c6ff
|
|
31
|
+
--zabi-brand-400: #92a9ff
|
|
32
|
+
--zabi-brand-500: #6d87f1
|
|
33
|
+
--zabi-brand-600: #4f68da
|
|
34
|
+
--zabi-brand-700: #3c52ba
|
|
35
|
+
--zabi-brand-800: #2b3e95
|
|
36
|
+
--zabi-brand-900: #1c2c6d
|
|
37
|
+
--zabi-brand-950: #111d49
|
|
38
|
+
/* Brand Color Scale — semantic → physical mirror (1000 − step); 500 fixed point */
|
|
39
|
+
--color-brand-50: var(--zabi-brand-950)
|
|
40
|
+
--color-brand-100: var(--zabi-brand-900)
|
|
41
|
+
--color-brand-200: var(--zabi-brand-800)
|
|
42
|
+
--color-brand-300: var(--zabi-brand-700)
|
|
43
|
+
--color-brand-400: var(--zabi-brand-600)
|
|
44
|
+
--color-brand-500: var(--zabi-brand-500)
|
|
45
|
+
--color-brand-600: var(--zabi-brand-400)
|
|
46
|
+
--color-brand-700: var(--zabi-brand-300)
|
|
47
|
+
--color-brand-800: var(--zabi-brand-200)
|
|
48
|
+
--color-brand-900: var(--zabi-brand-100)
|
|
49
|
+
--color-brand-950: var(--zabi-brand-50)
|
|
50
|
+
/* Mirror @theme --zabi-citron-* ramp (same physical hex; required for standalone dark import) */
|
|
51
|
+
--zabi-citron-50: #f6f7ef
|
|
52
|
+
--zabi-citron-100: #edefdf
|
|
53
|
+
--zabi-citron-200: #dcdfbf
|
|
54
|
+
--zabi-citron-300: #c5ca95
|
|
55
|
+
--zabi-citron-400: #aab063
|
|
56
|
+
--zabi-citron-500: #8c9027
|
|
57
|
+
--zabi-citron-600: #707400
|
|
58
|
+
--zabi-citron-700: #5a5d00
|
|
59
|
+
--zabi-citron-800: #454700
|
|
60
|
+
--zabi-citron-900: #313200
|
|
61
|
+
--zabi-citron-950: #202100
|
|
62
|
+
/* Citron Color Scale — semantic → physical mirror (1000 − step); 500 fixed point */
|
|
63
|
+
--color-citron-50: var(--zabi-citron-950)
|
|
64
|
+
--color-citron-100: var(--zabi-citron-900)
|
|
65
|
+
--color-citron-200: var(--zabi-citron-800)
|
|
66
|
+
--color-citron-300: var(--zabi-citron-700)
|
|
67
|
+
--color-citron-400: var(--zabi-citron-600)
|
|
68
|
+
--color-citron-500: var(--zabi-citron-500)
|
|
69
|
+
--color-citron-600: var(--zabi-citron-400)
|
|
70
|
+
--color-citron-700: var(--zabi-citron-300)
|
|
71
|
+
--color-citron-800: var(--zabi-citron-200)
|
|
72
|
+
--color-citron-900: var(--zabi-citron-100)
|
|
73
|
+
--color-citron-950: var(--zabi-citron-50)
|
|
74
|
+
/* Mirror @theme --zabi-pine-* ramp (same physical hex; required for standalone dark import) */
|
|
75
|
+
--zabi-pine-50: #f0f8f5
|
|
76
|
+
--zabi-pine-100: #e2f1eb
|
|
77
|
+
--zabi-pine-200: #c5e4d7
|
|
78
|
+
--zabi-pine-300: #9fd1bd
|
|
79
|
+
--zabi-pine-400: #70ba9e
|
|
80
|
+
--zabi-pine-500: #399c7a
|
|
81
|
+
--zabi-pine-600: #00805e
|
|
82
|
+
--zabi-pine-700: #00674a
|
|
83
|
+
--zabi-pine-800: #004f37
|
|
84
|
+
--zabi-pine-900: #003826
|
|
85
|
+
--zabi-pine-950: #002518
|
|
86
|
+
/* Pine Color Scale — semantic → physical mirror (1000 − step); 500 fixed point */
|
|
87
|
+
--color-pine-50: var(--zabi-pine-950)
|
|
88
|
+
--color-pine-100: var(--zabi-pine-900)
|
|
89
|
+
--color-pine-200: var(--zabi-pine-800)
|
|
90
|
+
--color-pine-300: var(--zabi-pine-700)
|
|
91
|
+
--color-pine-400: var(--zabi-pine-600)
|
|
92
|
+
--color-pine-500: var(--zabi-pine-500)
|
|
93
|
+
--color-pine-600: var(--zabi-pine-400)
|
|
94
|
+
--color-pine-700: var(--zabi-pine-300)
|
|
95
|
+
--color-pine-800: var(--zabi-pine-200)
|
|
96
|
+
--color-pine-900: var(--zabi-pine-100)
|
|
97
|
+
--color-pine-950: var(--zabi-pine-50)
|
|
98
|
+
/* Mirror @theme --zabi-iris-* ramp (same physical hex; required for standalone dark import) */
|
|
99
|
+
--zabi-iris-50: #f6f6fd
|
|
100
|
+
--zabi-iris-100: #ecedfb
|
|
101
|
+
--zabi-iris-200: #dadbf6
|
|
102
|
+
--zabi-iris-300: #c1c4ef
|
|
103
|
+
--zabi-iris-400: #a5a7e2
|
|
104
|
+
--zabi-iris-500: #8486cd
|
|
105
|
+
--zabi-iris-600: #6969b4
|
|
106
|
+
--zabi-iris-700: #535397
|
|
107
|
+
--zabi-iris-800: #3f3f78
|
|
108
|
+
--zabi-iris-900: #2c2c58
|
|
109
|
+
--zabi-iris-950: #1d1d3a
|
|
110
|
+
/* Iris Color Scale — semantic → physical mirror (1000 − step); 500 fixed point */
|
|
111
|
+
--color-iris-50: var(--zabi-iris-950)
|
|
112
|
+
--color-iris-100: var(--zabi-iris-900)
|
|
113
|
+
--color-iris-200: var(--zabi-iris-800)
|
|
114
|
+
--color-iris-300: var(--zabi-iris-700)
|
|
115
|
+
--color-iris-400: var(--zabi-iris-600)
|
|
116
|
+
--color-iris-500: var(--zabi-iris-500)
|
|
117
|
+
--color-iris-600: var(--zabi-iris-400)
|
|
118
|
+
--color-iris-700: var(--zabi-iris-300)
|
|
119
|
+
--color-iris-800: var(--zabi-iris-200)
|
|
120
|
+
--color-iris-900: var(--zabi-iris-100)
|
|
121
|
+
--color-iris-950: var(--zabi-iris-50)
|
|
122
|
+
/* Mirror @theme --zabi-warning-* ramp (same physical hex; required for standalone dark import) */
|
|
123
|
+
--zabi-warning-50: #fbf6ed
|
|
124
|
+
--zabi-warning-100: #f7ecda
|
|
125
|
+
--zabi-warning-200: #f1d9b6
|
|
126
|
+
--zabi-warning-300: #e8bf87
|
|
127
|
+
--zabi-warning-400: #db9e4c
|
|
128
|
+
--zabi-warning-500: #c17b00
|
|
129
|
+
--zabi-warning-600: #9e6000
|
|
130
|
+
--zabi-warning-700: #824c00
|
|
131
|
+
--zabi-warning-800: #663800
|
|
132
|
+
--zabi-warning-900: #4b2600
|
|
133
|
+
--zabi-warning-950: #341800
|
|
134
|
+
/* Warning Color Scale — semantic → physical mirror (1000 − step); 500 fixed point */
|
|
135
|
+
--color-warning-50: var(--zabi-warning-950)
|
|
136
|
+
--color-warning-100: var(--zabi-warning-900)
|
|
137
|
+
--color-warning-200: var(--zabi-warning-800)
|
|
138
|
+
--color-warning-300: var(--zabi-warning-700)
|
|
139
|
+
--color-warning-400: var(--zabi-warning-600)
|
|
140
|
+
--color-warning-500: var(--zabi-warning-500)
|
|
141
|
+
--color-warning-600: var(--zabi-warning-400)
|
|
142
|
+
--color-warning-700: var(--zabi-warning-300)
|
|
143
|
+
--color-warning-800: var(--zabi-warning-200)
|
|
144
|
+
--color-warning-900: var(--zabi-warning-100)
|
|
145
|
+
--color-warning-950: var(--zabi-warning-50)
|
|
146
|
+
/* Mirror @theme --zabi-error-* ramp (same physical hex; required for standalone dark import) */
|
|
147
|
+
--zabi-error-50: #fff4f3
|
|
148
|
+
--zabi-error-100: #ffe9e6
|
|
149
|
+
--zabi-error-200: #ffd2cd
|
|
150
|
+
--zabi-error-300: #ffb2ab
|
|
151
|
+
--zabi-error-400: #ff877d
|
|
152
|
+
--zabi-error-500: #ed564e
|
|
153
|
+
--zabi-error-600: #d22828
|
|
154
|
+
--zabi-error-700: #b20912
|
|
155
|
+
--zabi-error-800: #8c0006
|
|
156
|
+
--zabi-error-900: #660002
|
|
157
|
+
--zabi-error-950: #460202
|
|
158
|
+
/* Error Color Scale — semantic → physical mirror (1000 − step); 500 fixed point */
|
|
159
|
+
--color-error-50: var(--zabi-error-950)
|
|
160
|
+
--color-error-100: var(--zabi-error-900)
|
|
161
|
+
--color-error-200: var(--zabi-error-800)
|
|
162
|
+
--color-error-300: var(--zabi-error-700)
|
|
163
|
+
--color-error-400: var(--zabi-error-600)
|
|
164
|
+
--color-error-500: var(--zabi-error-500)
|
|
165
|
+
--color-error-600: var(--zabi-error-400)
|
|
166
|
+
--color-error-700: var(--zabi-error-300)
|
|
167
|
+
--color-error-800: var(--zabi-error-200)
|
|
168
|
+
--color-error-900: var(--zabi-error-100)
|
|
169
|
+
--color-error-950: var(--zabi-error-50)
|
|
74
170
|
/* Base Color Scale — semantic → physical mirror (1000 − step); 500 is fixed point */
|
|
75
171
|
--color-base-50: #09090b
|
|
76
172
|
--color-base-75: #101013
|
|
@@ -95,73 +191,97 @@
|
|
|
95
191
|
--color-base-950: #fafafa
|
|
96
192
|
/* Background Colors - No dark mode overrides needed, base colors are already inverted */
|
|
97
193
|
/* Page Colors - No dark mode overrides needed, base colors are already inverted */
|
|
98
|
-
/*
|
|
99
|
-
|
|
100
|
-
|
|
101
|
-
|
|
102
|
-
|
|
103
|
-
|
|
104
|
-
|
|
105
|
-
|
|
106
|
-
--color-surface-
|
|
194
|
+
/* Surface elevation — shadows don't read on dark, so each level steps up +6 OKLCH lightness
|
|
195
|
+
* from the page background (L 21 → 27 → 33 → 39).
|
|
196
|
+
*
|
|
197
|
+
* GENERATED by scripts/generate-surfaces.js from tokens/surface-ladder.js — do not hand-edit.
|
|
198
|
+
* Each level is #fafafa (the same light as the dark hover tint) washed over the page at
|
|
199
|
+
* 6.4% / 13.1% / 19.7%, so every level is the one below it with more light on it. Baked to
|
|
200
|
+
* opaque hex so the static checks can still resolve them and a modal stays opaque.
|
|
201
|
+
* Enforced by scripts/check-surface-elevation.js (strictly increasing, 5–8 points). */
|
|
202
|
+
--color-surface-base: #18181b
|
|
203
|
+
--color-surface-raised: #262629
|
|
204
|
+
--color-surface-elevated: #363638
|
|
205
|
+
--color-surface-overlay: #454547
|
|
206
|
+
--color-surface-overlay-hover: #52525b
|
|
207
|
+
/* Distinct from base, raised AND elevated — a neutral chip has no hue to
|
|
208
|
+
* separate it, so it has to separate on lightness wherever it lands. */
|
|
209
|
+
--color-neutral-subtle: var(--color-base-300)
|
|
210
|
+
--color-border-overlay: var(--color-base-450)
|
|
211
|
+
/* Background Colors */
|
|
212
|
+
--color-background: var(--color-surface-base)
|
|
213
|
+
/* Card Colors — aliases of the surface levels */
|
|
214
|
+
--color-card: var(--color-surface-raised)
|
|
215
|
+
--color-card-hover: var(--color-surface-elevated)
|
|
216
|
+
--color-card-active: var(--color-surface-overlay)
|
|
217
|
+
--color-card-elevated: var(--color-surface-elevated)
|
|
218
|
+
/* Surfaces — numbered aliases of the surface levels */
|
|
219
|
+
--color-surface-1: var(--color-surface-raised)
|
|
220
|
+
--color-surface-2: var(--color-surface-elevated)
|
|
221
|
+
--color-surface-3: var(--color-surface-overlay)
|
|
107
222
|
--color-surface-4: var(--color-base-400)
|
|
223
|
+
/*
|
|
224
|
+
* Secondary text keeps ≥ 4.5:1 on every surface level, including overlays (L39).
|
|
225
|
+
* Only base-650 and lighter pass on the overlay, so caption takes base-650 and description
|
|
226
|
+
* moves one step up to base-700 to stay visibly stronger than caption.
|
|
227
|
+
*/
|
|
228
|
+
--color-description: var(--color-base-700)
|
|
229
|
+
--color-caption: var(--color-base-650)
|
|
230
|
+
/* Interaction fills — light tint on dark, mirroring the light-mode rule.
|
|
231
|
+
* Alpha keeps these one step away from every surface level, which a fixed
|
|
232
|
+
* ramp step cannot guarantee (base-100 in dark IS the page background). */
|
|
233
|
+
--color-surface-hover: rgba(250, 250, 250, 0.08)
|
|
234
|
+
--color-surface-active: rgba(250, 250, 250, 0.14)
|
|
108
235
|
/* Overlay Colors */
|
|
109
236
|
--color-overlay: rgba(0, 0, 0, 0.7)
|
|
110
|
-
/* Input Colors
|
|
111
|
-
|
|
112
|
-
|
|
113
|
-
--color-input
|
|
114
|
-
--color-input-
|
|
115
|
-
--color-input-
|
|
237
|
+
/* Input Colors
|
|
238
|
+
* Dark fields are INSET: one step below the raised surface they sit on,
|
|
239
|
+
* which is the dark-mode equivalent of a white field on a grey page. */
|
|
240
|
+
--color-input: var(--color-base-150)
|
|
241
|
+
--color-input-border: var(--color-base-300)
|
|
242
|
+
--color-input-hover: var(--color-base-200)
|
|
243
|
+
--color-input-focus: var(--color-base-150)
|
|
244
|
+
--color-input-disabled: var(--color-base-100)
|
|
245
|
+
--color-input-placeholder: var(--color-base-500)
|
|
116
246
|
/* Text Colors - No dark mode overrides needed, base colors are already inverted */
|
|
117
247
|
/* Border Colors - No dark mode overrides needed, base colors are already inverted */
|
|
118
248
|
/* Focus Colors - No dark mode overrides needed, brand colors are already inverted */
|
|
119
249
|
/* Primary Colors - No dark mode overrides needed, brand colors are already inverted */
|
|
120
250
|
/* Secondary Colors - No dark mode overrides needed, base colors are already inverted */
|
|
121
|
-
/* Success Colors */
|
|
122
|
-
--color-
|
|
123
|
-
--color-
|
|
124
|
-
--color-
|
|
125
|
-
|
|
126
|
-
|
|
127
|
-
--color-
|
|
128
|
-
--color-
|
|
129
|
-
--color-warning-medium: #fbbf24
|
|
130
|
-
--color-warning-strong: #fcd34d
|
|
131
|
-
/* Error Colors */
|
|
132
|
-
--color-error: #ef4444
|
|
133
|
-
--color-error-weak: #dc2626
|
|
134
|
-
--color-error-medium: #f87171
|
|
135
|
-
--color-error-strong: #fca5a5
|
|
136
|
-
/* Energetic Colors (Citron) */
|
|
137
|
-
--color-energetic: var(--color-citron-400)
|
|
138
|
-
--color-energetic-weak: var(--color-citron-500)
|
|
139
|
-
--color-energetic-medium: var(--color-citron-300)
|
|
140
|
-
--color-energetic-strong: var(--color-citron-200)
|
|
141
|
-
/* Neutral Colors - No dark mode overrides needed, base colors are already inverted */
|
|
142
|
-
/* Info Colors */
|
|
143
|
-
--color-info: var(--color-iris-500)
|
|
144
|
-
--color-info-weak: var(--color-iris-600)
|
|
145
|
-
--color-info-active: var(--color-iris-400)
|
|
146
|
-
--color-info-medium: var(--color-iris-400)
|
|
147
|
-
--color-info-strong: var(--color-iris-300)
|
|
148
|
-
/* Text alias */
|
|
149
|
-
--color-info-text: var(--color-info)
|
|
251
|
+
/* Success Colors — no overrides: @theme uses --color-pine-*; semantic pine resolves to mirrored physical ramp inside .dark */
|
|
252
|
+
/* Warning Colors — no overrides: @theme uses --color-warning-* scale; it mirrors in .dark via --zabi-warning-* */
|
|
253
|
+
/* Error Colors — no overrides: @theme uses --color-error-* scale; it mirrors in .dark via --zabi-error-* */
|
|
254
|
+
/* Energetic Colors — no overrides: @theme uses --color-citron-*; citron mirrors in .dark via --zabi-citron-* */
|
|
255
|
+
/* Neutral Colors — base-550 mirrors to L* 57, which is only 4.35:1 on a
|
|
256
|
+
* raised surface. One step lighter clears AA on every dark surface level. */
|
|
257
|
+
--color-neutral: var(--color-base-600)
|
|
258
|
+
/* Info Colors — no overrides: @theme uses --color-iris-* (incl. --color-info-active); iris mirrors in .dark via --zabi-iris-* */
|
|
150
259
|
/* ========================================
|
|
151
260
|
ACTION COLORS - Dark Mode Overrides
|
|
152
261
|
======================================== */
|
|
153
262
|
/* Primary Actions - Background adapts automatically via brand color inversion */
|
|
154
|
-
/* 🎯 TO CHANGE bg-action-primary IN DARK MODE: Edit --
|
|
155
|
-
/* Text color -
|
|
156
|
-
|
|
157
|
-
|
|
158
|
-
/*
|
|
159
|
-
--color-action-
|
|
160
|
-
--color-action-
|
|
161
|
-
--color-action-
|
|
162
|
-
|
|
163
|
-
|
|
164
|
-
--color-
|
|
263
|
+
/* 🎯 TO CHANGE bg-action-primary IN DARK MODE: Edit --zabi-brand-* physical ramp above (semantic --color-brand-* follows mirror) */
|
|
264
|
+
/* Text color - the physical dark end of the brand ramp, on the physical
|
|
265
|
+
* light end used as the dark-mode primary fill. 7.21:1. */
|
|
266
|
+
--color-action-primary-text: var(--zabi-brand-950)
|
|
267
|
+
/* Secondary Actions - light alpha tint instead of the light-mode dark tint */
|
|
268
|
+
--color-action-secondary: rgba(250, 250, 250, 0.09)
|
|
269
|
+
--color-action-secondary-hover: rgba(250, 250, 250, 0.15)
|
|
270
|
+
--color-action-secondary-active: rgba(250, 250, 250, 0.21)
|
|
271
|
+
/* Disabled Actions - base-200 in dark is #27272a, still the quietest fill */
|
|
272
|
+
/* Danger Actions — restated as aliases, not re-pointed.
|
|
273
|
+
* These resolve through the mirrored --color-error-* scale, so dark danger
|
|
274
|
+
* is the same step of the same ramp as light danger. They are repeated here
|
|
275
|
+
* only because `zabi-components/theme-dark-only` has to stand alone as a
|
|
276
|
+
* complete import (validate-theme.js enforces that). The raw hex this
|
|
277
|
+
* replaced pinned dark danger brighter than light, which is why the
|
|
278
|
+
* destructive action was the loudest element on a dark page. */
|
|
279
|
+
--color-action-danger: var(--color-error-600)
|
|
280
|
+
--color-action-danger-hover: var(--color-error-700)
|
|
281
|
+
--color-action-danger-active: var(--color-error-800)
|
|
282
|
+
--color-action-danger-subtle: var(--color-error-100)
|
|
283
|
+
--color-action-danger-subtle-hover: var(--color-error-200)
|
|
284
|
+
--color-action-danger-text: var(--color-error-50)
|
|
165
285
|
/* Shadow Colors */
|
|
166
286
|
--shadow-opacity: 0.3
|
|
167
287
|
--shadow-sm: 0 1px 3px 0 rgb(var(--shadow-color) / var(--shadow-opacity)), 0 1px 2px -1px rgb(var(--shadow-color) / var(--shadow-opacity))
|