zabi-components 7.0.2 → 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 +80 -22
- 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 +2 -2
- package/dist/zabi-components-theme-dark-only.css +139 -92
- package/dist/zabi-components-theme-dark.css +139 -92
- package/dist/zabi-components-theme-only.css +268 -122
- package/dist/zabi-components-theme.css +268 -122
- package/dist/zabi-components.css +831 -883
- package/docs/lucide-icons.md +3 -1
- package/package.json +19 -24
- 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
|
@@ -26,17 +26,17 @@
|
|
|
26
26
|
--zabi-base-925: #101013
|
|
27
27
|
--zabi-base-950: #09090b
|
|
28
28
|
/* Mirror @theme --zabi-brand-* ramp (same physical hex; required for standalone dark import) */
|
|
29
|
-
--zabi-brand-50: #
|
|
30
|
-
--zabi-brand-100: #
|
|
31
|
-
--zabi-brand-200: #
|
|
32
|
-
--zabi-brand-300: #
|
|
33
|
-
--zabi-brand-400: #
|
|
34
|
-
--zabi-brand-500: #
|
|
35
|
-
--zabi-brand-600: #
|
|
36
|
-
--zabi-brand-700: #
|
|
37
|
-
--zabi-brand-800: #
|
|
38
|
-
--zabi-brand-900: #
|
|
39
|
-
--zabi-brand-950: #
|
|
29
|
+
--zabi-brand-50: #f4f6ff
|
|
30
|
+
--zabi-brand-100: #e9eeff
|
|
31
|
+
--zabi-brand-200: #d3dcff
|
|
32
|
+
--zabi-brand-300: #b5c6ff
|
|
33
|
+
--zabi-brand-400: #92a9ff
|
|
34
|
+
--zabi-brand-500: #6d87f1
|
|
35
|
+
--zabi-brand-600: #4f68da
|
|
36
|
+
--zabi-brand-700: #3c52ba
|
|
37
|
+
--zabi-brand-800: #2b3e95
|
|
38
|
+
--zabi-brand-900: #1c2c6d
|
|
39
|
+
--zabi-brand-950: #111d49
|
|
40
40
|
/* Brand Color Scale — semantic → physical mirror (1000 − step); 500 fixed point */
|
|
41
41
|
--color-brand-50: var(--zabi-brand-950)
|
|
42
42
|
--color-brand-100: var(--zabi-brand-900)
|
|
@@ -50,17 +50,17 @@
|
|
|
50
50
|
--color-brand-900: var(--zabi-brand-100)
|
|
51
51
|
--color-brand-950: var(--zabi-brand-50)
|
|
52
52
|
/* Mirror @theme --zabi-citron-* ramp (same physical hex; required for standalone dark import) */
|
|
53
|
-
--zabi-citron-50: #
|
|
54
|
-
--zabi-citron-100: #
|
|
55
|
-
--zabi-citron-200: #
|
|
56
|
-
--zabi-citron-300: #
|
|
57
|
-
--zabi-citron-400: #
|
|
58
|
-
--zabi-citron-500: #
|
|
59
|
-
--zabi-citron-600: #
|
|
60
|
-
--zabi-citron-700: #
|
|
61
|
-
--zabi-citron-800: #
|
|
62
|
-
--zabi-citron-900: #
|
|
63
|
-
--zabi-citron-950: #
|
|
53
|
+
--zabi-citron-50: #f6f7ef
|
|
54
|
+
--zabi-citron-100: #edefdf
|
|
55
|
+
--zabi-citron-200: #dcdfbf
|
|
56
|
+
--zabi-citron-300: #c5ca95
|
|
57
|
+
--zabi-citron-400: #aab063
|
|
58
|
+
--zabi-citron-500: #8c9027
|
|
59
|
+
--zabi-citron-600: #707400
|
|
60
|
+
--zabi-citron-700: #5a5d00
|
|
61
|
+
--zabi-citron-800: #454700
|
|
62
|
+
--zabi-citron-900: #313200
|
|
63
|
+
--zabi-citron-950: #202100
|
|
64
64
|
/* Citron Color Scale — semantic → physical mirror (1000 − step); 500 fixed point */
|
|
65
65
|
--color-citron-50: var(--zabi-citron-950)
|
|
66
66
|
--color-citron-100: var(--zabi-citron-900)
|
|
@@ -74,17 +74,17 @@
|
|
|
74
74
|
--color-citron-900: var(--zabi-citron-100)
|
|
75
75
|
--color-citron-950: var(--zabi-citron-50)
|
|
76
76
|
/* Mirror @theme --zabi-pine-* ramp (same physical hex; required for standalone dark import) */
|
|
77
|
-
--zabi-pine-50: #
|
|
78
|
-
--zabi-pine-100: #
|
|
79
|
-
--zabi-pine-200: #
|
|
80
|
-
--zabi-pine-300: #
|
|
81
|
-
--zabi-pine-400: #
|
|
82
|
-
--zabi-pine-500: #
|
|
83
|
-
--zabi-pine-600: #
|
|
84
|
-
--zabi-pine-700: #
|
|
85
|
-
--zabi-pine-800: #
|
|
86
|
-
--zabi-pine-900: #
|
|
87
|
-
--zabi-pine-950: #
|
|
77
|
+
--zabi-pine-50: #f0f8f5
|
|
78
|
+
--zabi-pine-100: #e2f1eb
|
|
79
|
+
--zabi-pine-200: #c5e4d7
|
|
80
|
+
--zabi-pine-300: #9fd1bd
|
|
81
|
+
--zabi-pine-400: #70ba9e
|
|
82
|
+
--zabi-pine-500: #399c7a
|
|
83
|
+
--zabi-pine-600: #00805e
|
|
84
|
+
--zabi-pine-700: #00674a
|
|
85
|
+
--zabi-pine-800: #004f37
|
|
86
|
+
--zabi-pine-900: #003826
|
|
87
|
+
--zabi-pine-950: #002518
|
|
88
88
|
/* Pine Color Scale — semantic → physical mirror (1000 − step); 500 fixed point */
|
|
89
89
|
--color-pine-50: var(--zabi-pine-950)
|
|
90
90
|
--color-pine-100: var(--zabi-pine-900)
|
|
@@ -98,17 +98,17 @@
|
|
|
98
98
|
--color-pine-900: var(--zabi-pine-100)
|
|
99
99
|
--color-pine-950: var(--zabi-pine-50)
|
|
100
100
|
/* Mirror @theme --zabi-iris-* ramp (same physical hex; required for standalone dark import) */
|
|
101
|
-
--zabi-iris-50: #
|
|
102
|
-
--zabi-iris-100: #
|
|
103
|
-
--zabi-iris-200: #
|
|
104
|
-
--zabi-iris-300: #
|
|
105
|
-
--zabi-iris-400: #
|
|
106
|
-
--zabi-iris-500: #
|
|
107
|
-
--zabi-iris-600: #
|
|
108
|
-
--zabi-iris-700: #
|
|
109
|
-
--zabi-iris-800: #
|
|
110
|
-
--zabi-iris-900: #
|
|
111
|
-
--zabi-iris-950: #
|
|
101
|
+
--zabi-iris-50: #f6f6fd
|
|
102
|
+
--zabi-iris-100: #ecedfb
|
|
103
|
+
--zabi-iris-200: #dadbf6
|
|
104
|
+
--zabi-iris-300: #c1c4ef
|
|
105
|
+
--zabi-iris-400: #a5a7e2
|
|
106
|
+
--zabi-iris-500: #8486cd
|
|
107
|
+
--zabi-iris-600: #6969b4
|
|
108
|
+
--zabi-iris-700: #535397
|
|
109
|
+
--zabi-iris-800: #3f3f78
|
|
110
|
+
--zabi-iris-900: #2c2c58
|
|
111
|
+
--zabi-iris-950: #1d1d3a
|
|
112
112
|
/* Iris Color Scale — semantic → physical mirror (1000 − step); 500 fixed point */
|
|
113
113
|
--color-iris-50: var(--zabi-iris-950)
|
|
114
114
|
--color-iris-100: var(--zabi-iris-900)
|
|
@@ -122,17 +122,17 @@
|
|
|
122
122
|
--color-iris-900: var(--zabi-iris-100)
|
|
123
123
|
--color-iris-950: var(--zabi-iris-50)
|
|
124
124
|
/* Mirror @theme --zabi-warning-* ramp (same physical hex; required for standalone dark import) */
|
|
125
|
-
--zabi-warning-50: #
|
|
126
|
-
--zabi-warning-100: #
|
|
127
|
-
--zabi-warning-200: #
|
|
128
|
-
--zabi-warning-300: #
|
|
129
|
-
--zabi-warning-400: #
|
|
130
|
-
--zabi-warning-500: #
|
|
131
|
-
--zabi-warning-600: #
|
|
132
|
-
--zabi-warning-700: #
|
|
133
|
-
--zabi-warning-800: #
|
|
134
|
-
--zabi-warning-900: #
|
|
135
|
-
--zabi-warning-950: #
|
|
125
|
+
--zabi-warning-50: #fbf6ed
|
|
126
|
+
--zabi-warning-100: #f7ecda
|
|
127
|
+
--zabi-warning-200: #f1d9b6
|
|
128
|
+
--zabi-warning-300: #e8bf87
|
|
129
|
+
--zabi-warning-400: #db9e4c
|
|
130
|
+
--zabi-warning-500: #c17b00
|
|
131
|
+
--zabi-warning-600: #9e6000
|
|
132
|
+
--zabi-warning-700: #824c00
|
|
133
|
+
--zabi-warning-800: #663800
|
|
134
|
+
--zabi-warning-900: #4b2600
|
|
135
|
+
--zabi-warning-950: #341800
|
|
136
136
|
/* Warning Color Scale — semantic → physical mirror (1000 − step); 500 fixed point */
|
|
137
137
|
--color-warning-50: var(--zabi-warning-950)
|
|
138
138
|
--color-warning-100: var(--zabi-warning-900)
|
|
@@ -146,17 +146,17 @@
|
|
|
146
146
|
--color-warning-900: var(--zabi-warning-100)
|
|
147
147
|
--color-warning-950: var(--zabi-warning-50)
|
|
148
148
|
/* Mirror @theme --zabi-error-* ramp (same physical hex; required for standalone dark import) */
|
|
149
|
-
--zabi-error-50: #
|
|
150
|
-
--zabi-error-100: #
|
|
151
|
-
--zabi-error-200: #
|
|
152
|
-
--zabi-error-300: #
|
|
153
|
-
--zabi-error-400: #
|
|
154
|
-
--zabi-error-500: #
|
|
155
|
-
--zabi-error-600: #
|
|
156
|
-
--zabi-error-700: #
|
|
157
|
-
--zabi-error-800: #
|
|
158
|
-
--zabi-error-900: #
|
|
159
|
-
--zabi-error-950: #
|
|
149
|
+
--zabi-error-50: #fff4f3
|
|
150
|
+
--zabi-error-100: #ffe9e6
|
|
151
|
+
--zabi-error-200: #ffd2cd
|
|
152
|
+
--zabi-error-300: #ffb2ab
|
|
153
|
+
--zabi-error-400: #ff877d
|
|
154
|
+
--zabi-error-500: #ed564e
|
|
155
|
+
--zabi-error-600: #d22828
|
|
156
|
+
--zabi-error-700: #b20912
|
|
157
|
+
--zabi-error-800: #8c0006
|
|
158
|
+
--zabi-error-900: #660002
|
|
159
|
+
--zabi-error-950: #460202
|
|
160
160
|
/* Error Color Scale — semantic → physical mirror (1000 − step); 500 fixed point */
|
|
161
161
|
--color-error-50: var(--zabi-error-950)
|
|
162
162
|
--color-error-100: var(--zabi-error-900)
|
|
@@ -193,24 +193,58 @@
|
|
|
193
193
|
--color-base-950: #fafafa
|
|
194
194
|
/* Background Colors - No dark mode overrides needed, base colors are already inverted */
|
|
195
195
|
/* Page Colors - No dark mode overrides needed, base colors are already inverted */
|
|
196
|
-
/*
|
|
197
|
-
|
|
198
|
-
|
|
199
|
-
|
|
200
|
-
|
|
201
|
-
|
|
202
|
-
|
|
203
|
-
|
|
204
|
-
--color-surface-
|
|
196
|
+
/* Surface elevation — shadows don't read on dark, so each level steps up +6 OKLCH lightness
|
|
197
|
+
* from the page background (L 21 → 27 → 33 → 39).
|
|
198
|
+
*
|
|
199
|
+
* GENERATED by scripts/generate-surfaces.js from tokens/surface-ladder.js — do not hand-edit.
|
|
200
|
+
* Each level is #fafafa (the same light as the dark hover tint) washed over the page at
|
|
201
|
+
* 6.4% / 13.1% / 19.7%, so every level is the one below it with more light on it. Baked to
|
|
202
|
+
* opaque hex so the static checks can still resolve them and a modal stays opaque.
|
|
203
|
+
* Enforced by scripts/check-surface-elevation.js (strictly increasing, 5–8 points). */
|
|
204
|
+
--color-surface-base: #18181b
|
|
205
|
+
--color-surface-raised: #262629
|
|
206
|
+
--color-surface-elevated: #363638
|
|
207
|
+
--color-surface-overlay: #454547
|
|
208
|
+
--color-surface-overlay-hover: #52525b
|
|
209
|
+
/* Distinct from base, raised AND elevated — a neutral chip has no hue to
|
|
210
|
+
* separate it, so it has to separate on lightness wherever it lands. */
|
|
211
|
+
--color-neutral-subtle: var(--color-base-300)
|
|
212
|
+
--color-border-overlay: var(--color-base-450)
|
|
213
|
+
/* Background Colors */
|
|
214
|
+
--color-background: var(--color-surface-base)
|
|
215
|
+
/* Card Colors — aliases of the surface levels */
|
|
216
|
+
--color-card: var(--color-surface-raised)
|
|
217
|
+
--color-card-hover: var(--color-surface-elevated)
|
|
218
|
+
--color-card-active: var(--color-surface-overlay)
|
|
219
|
+
--color-card-elevated: var(--color-surface-elevated)
|
|
220
|
+
/* Surfaces — numbered aliases of the surface levels */
|
|
221
|
+
--color-surface-1: var(--color-surface-raised)
|
|
222
|
+
--color-surface-2: var(--color-surface-elevated)
|
|
223
|
+
--color-surface-3: var(--color-surface-overlay)
|
|
205
224
|
--color-surface-4: var(--color-base-400)
|
|
225
|
+
/*
|
|
226
|
+
* Secondary text keeps ≥ 4.5:1 on every surface level, including overlays (L39).
|
|
227
|
+
* Only base-650 and lighter pass on the overlay, so caption takes base-650 and description
|
|
228
|
+
* moves one step up to base-700 to stay visibly stronger than caption.
|
|
229
|
+
*/
|
|
230
|
+
--color-description: var(--color-base-700)
|
|
231
|
+
--color-caption: var(--color-base-650)
|
|
232
|
+
/* Interaction fills — light tint on dark, mirroring the light-mode rule.
|
|
233
|
+
* Alpha keeps these one step away from every surface level, which a fixed
|
|
234
|
+
* ramp step cannot guarantee (base-100 in dark IS the page background). */
|
|
235
|
+
--color-surface-hover: rgba(250, 250, 250, 0.08)
|
|
236
|
+
--color-surface-active: rgba(250, 250, 250, 0.14)
|
|
206
237
|
/* Overlay Colors */
|
|
207
238
|
--color-overlay: rgba(0, 0, 0, 0.7)
|
|
208
|
-
/* Input Colors
|
|
209
|
-
|
|
210
|
-
|
|
211
|
-
--color-input
|
|
212
|
-
--color-input-
|
|
213
|
-
--color-input-
|
|
239
|
+
/* Input Colors
|
|
240
|
+
* Dark fields are INSET: one step below the raised surface they sit on,
|
|
241
|
+
* which is the dark-mode equivalent of a white field on a grey page. */
|
|
242
|
+
--color-input: var(--color-base-150)
|
|
243
|
+
--color-input-border: var(--color-base-300)
|
|
244
|
+
--color-input-hover: var(--color-base-200)
|
|
245
|
+
--color-input-focus: var(--color-base-150)
|
|
246
|
+
--color-input-disabled: var(--color-base-100)
|
|
247
|
+
--color-input-placeholder: var(--color-base-500)
|
|
214
248
|
/* Text Colors - No dark mode overrides needed, base colors are already inverted */
|
|
215
249
|
/* Border Colors - No dark mode overrides needed, base colors are already inverted */
|
|
216
250
|
/* Focus Colors - No dark mode overrides needed, brand colors are already inverted */
|
|
@@ -220,23 +254,36 @@
|
|
|
220
254
|
/* Warning Colors — no overrides: @theme uses --color-warning-* scale; it mirrors in .dark via --zabi-warning-* */
|
|
221
255
|
/* Error Colors — no overrides: @theme uses --color-error-* scale; it mirrors in .dark via --zabi-error-* */
|
|
222
256
|
/* Energetic Colors — no overrides: @theme uses --color-citron-*; citron mirrors in .dark via --zabi-citron-* */
|
|
223
|
-
/* Neutral Colors -
|
|
257
|
+
/* Neutral Colors — base-550 mirrors to L* 57, which is only 4.35:1 on a
|
|
258
|
+
* raised surface. One step lighter clears AA on every dark surface level. */
|
|
259
|
+
--color-neutral: var(--color-base-600)
|
|
224
260
|
/* Info Colors — no overrides: @theme uses --color-iris-* (incl. --color-info-active); iris mirrors in .dark via --zabi-iris-* */
|
|
225
261
|
/* ========================================
|
|
226
262
|
ACTION COLORS - Dark Mode Overrides
|
|
227
263
|
======================================== */
|
|
228
264
|
/* Primary Actions - Background adapts automatically via brand color inversion */
|
|
229
265
|
/* 🎯 TO CHANGE bg-action-primary IN DARK MODE: Edit --zabi-brand-* physical ramp above (semantic --color-brand-* follows mirror) */
|
|
230
|
-
/* Text color -
|
|
231
|
-
|
|
232
|
-
|
|
233
|
-
/*
|
|
234
|
-
--color-action-
|
|
235
|
-
--color-action-
|
|
236
|
-
--color-action-
|
|
237
|
-
|
|
238
|
-
|
|
239
|
-
--color-
|
|
266
|
+
/* Text color - the physical dark end of the brand ramp, on the physical
|
|
267
|
+
* light end used as the dark-mode primary fill. 7.21:1. */
|
|
268
|
+
--color-action-primary-text: var(--zabi-brand-950)
|
|
269
|
+
/* Secondary Actions - light alpha tint instead of the light-mode dark tint */
|
|
270
|
+
--color-action-secondary: rgba(250, 250, 250, 0.09)
|
|
271
|
+
--color-action-secondary-hover: rgba(250, 250, 250, 0.15)
|
|
272
|
+
--color-action-secondary-active: rgba(250, 250, 250, 0.21)
|
|
273
|
+
/* Disabled Actions - base-200 in dark is #27272a, still the quietest fill */
|
|
274
|
+
/* Danger Actions — restated as aliases, not re-pointed.
|
|
275
|
+
* These resolve through the mirrored --color-error-* scale, so dark danger
|
|
276
|
+
* is the same step of the same ramp as light danger. They are repeated here
|
|
277
|
+
* only because `zabi-components/theme-dark-only` has to stand alone as a
|
|
278
|
+
* complete import (validate-theme.js enforces that). The raw hex this
|
|
279
|
+
* replaced pinned dark danger brighter than light, which is why the
|
|
280
|
+
* destructive action was the loudest element on a dark page. */
|
|
281
|
+
--color-action-danger: var(--color-error-600)
|
|
282
|
+
--color-action-danger-hover: var(--color-error-700)
|
|
283
|
+
--color-action-danger-active: var(--color-error-800)
|
|
284
|
+
--color-action-danger-subtle: var(--color-error-100)
|
|
285
|
+
--color-action-danger-subtle-hover: var(--color-error-200)
|
|
286
|
+
--color-action-danger-text: var(--color-error-50)
|
|
240
287
|
/* Shadow Colors */
|
|
241
288
|
--shadow-opacity: 0.3
|
|
242
289
|
--shadow-sm: 0 1px 3px 0 rgb(var(--shadow-color) / var(--shadow-opacity)), 0 1px 2px -1px rgb(var(--shadow-color) / var(--shadow-opacity))
|