zabi-components 5.0.22 → 7.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.
Files changed (207) hide show
  1. package/README.md +139 -1478
  2. package/THEME.md +473 -0
  3. package/THEMING.md +248 -0
  4. package/dist/atoms/ActionPanel.svelte +116 -0
  5. package/dist/atoms/ActionPanel.svelte.d.ts +19 -0
  6. package/dist/atoms/Badge.svelte +1 -1
  7. package/dist/atoms/Badge.svelte.d.ts +1 -1
  8. package/dist/atoms/Button.svelte +35 -16
  9. package/dist/atoms/Button.svelte.d.ts +3 -1
  10. package/dist/atoms/Card.svelte +49 -67
  11. package/dist/atoms/Card.svelte.d.ts +4 -4
  12. package/dist/atoms/CardHeader.svelte +15 -2
  13. package/dist/atoms/CardHeader.svelte.d.ts +5 -0
  14. package/dist/atoms/Checkbox.svelte +50 -76
  15. package/dist/atoms/Checkbox.svelte.d.ts +7 -2
  16. package/dist/atoms/CodeBlock.svelte +20 -34
  17. package/dist/atoms/CodeBlock.svelte.d.ts +1 -0
  18. package/dist/atoms/ColorPicker.svelte +3 -7
  19. package/dist/atoms/Container.svelte +41 -0
  20. package/dist/atoms/Container.svelte.d.ts +12 -0
  21. package/dist/atoms/Divider.svelte +68 -0
  22. package/dist/atoms/Divider.svelte.d.ts +13 -0
  23. package/dist/atoms/FeatureCard.svelte +35 -50
  24. package/dist/atoms/FeatureCard.svelte.d.ts +9 -4
  25. package/dist/atoms/IconButton.svelte +33 -24
  26. package/dist/atoms/IconButton.svelte.d.ts +4 -8
  27. package/dist/atoms/Input.svelte +58 -26
  28. package/dist/atoms/Input.svelte.d.ts +6 -1
  29. package/dist/atoms/List.svelte +2 -7
  30. package/dist/atoms/List.svelte.d.ts +1 -6
  31. package/dist/atoms/ListItem.svelte +54 -65
  32. package/dist/atoms/ListItem.svelte.d.ts +7 -13
  33. package/dist/atoms/ListItemLeading.svelte +19 -0
  34. package/dist/atoms/ListItemLeading.svelte.d.ts +9 -0
  35. package/dist/atoms/Progress.svelte +2 -2
  36. package/dist/atoms/Radio.svelte +51 -0
  37. package/dist/atoms/Radio.svelte.d.ts +14 -0
  38. package/dist/atoms/Select.svelte +28 -33
  39. package/dist/atoms/Select.svelte.d.ts +0 -10
  40. package/dist/atoms/SelectionControl.svelte +98 -0
  41. package/dist/atoms/SelectionControl.svelte.d.ts +26 -0
  42. package/dist/atoms/Skeleton.svelte +39 -15
  43. package/dist/atoms/Skeleton.svelte.d.ts +7 -3
  44. package/dist/atoms/Table.svelte +27 -0
  45. package/dist/atoms/Table.svelte.d.ts +10 -0
  46. package/dist/atoms/Text.svelte +46 -0
  47. package/dist/atoms/Text.svelte.d.ts +13 -0
  48. package/dist/atoms/Textarea.svelte +74 -53
  49. package/dist/atoms/Textarea.svelte.d.ts +6 -2
  50. package/dist/atoms/ThemeToggle.svelte +35 -24
  51. package/dist/atoms/ThemeToggle.svelte.d.ts +1 -0
  52. package/dist/atoms/Toast.svelte +55 -31
  53. package/dist/atoms/Toast.svelte.d.ts +4 -1
  54. package/dist/atoms/Toggle.svelte +37 -22
  55. package/dist/atoms/Toggle.svelte.d.ts +2 -1
  56. package/dist/atoms/Tooltip.svelte +90 -11
  57. package/dist/atoms/index.d.ts +6 -0
  58. package/dist/atoms/index.js +6 -0
  59. package/dist/atoms/selection-control.styles.d.ts +25 -0
  60. package/dist/atoms/selection-control.styles.js +30 -0
  61. package/dist/components/atoms/index.d.ts +6 -0
  62. package/dist/components/atoms/index.d.ts.map +1 -1
  63. package/dist/components/atoms/selection-control.styles.d.ts +26 -0
  64. package/dist/components/atoms/selection-control.styles.d.ts.map +1 -0
  65. package/dist/components/index.d.ts +42 -7
  66. package/dist/components/index.d.ts.map +1 -1
  67. package/dist/components/molecules/index.d.ts +10 -0
  68. package/dist/components/molecules/index.d.ts.map +1 -1
  69. package/dist/components/molecules/navigation-menu-context.d.ts +11 -0
  70. package/dist/components/molecules/navigation-menu-context.d.ts.map +1 -1
  71. package/dist/components/molecules/toast-store.d.ts +39 -0
  72. package/dist/components/molecules/toast-store.d.ts.map +1 -0
  73. package/dist/components/organisms/index.d.ts +3 -3
  74. package/dist/components/organisms/index.d.ts.map +1 -1
  75. package/dist/components/types/page.types.d.ts +69 -0
  76. package/dist/components/types/page.types.d.ts.map +1 -0
  77. package/dist/components/types/page.types.js +1 -0
  78. package/dist/components/types/variants.d.ts +64 -0
  79. package/dist/components/types/variants.d.ts.map +1 -0
  80. package/dist/components/types/variants.js +44 -0
  81. package/dist/components/util/fixed-sidebar-flyout.d.ts +23 -0
  82. package/dist/components/util/fixed-sidebar-flyout.d.ts.map +1 -0
  83. package/dist/components/util/focus-utils.d.ts +12 -0
  84. package/dist/components/util/focus-utils.d.ts.map +1 -0
  85. package/dist/components/util/ssr-safe.d.ts +17 -0
  86. package/dist/components/util/ssr-safe.d.ts.map +1 -0
  87. package/dist/index.d.ts +42 -7
  88. package/dist/index.js +45 -10
  89. package/dist/lib/layout-width-tokens.d.ts +17 -0
  90. package/dist/lib/layout-width-tokens.d.ts.map +1 -0
  91. package/dist/lib/showcase/component-docs/Button.d.ts +3 -0
  92. package/dist/lib/showcase/component-docs/Button.d.ts.map +1 -0
  93. package/dist/lib/showcase/component-docs/Input.d.ts +3 -0
  94. package/dist/lib/showcase/component-docs/Input.d.ts.map +1 -0
  95. package/dist/lib/showcase/component-docs/List.d.ts +3 -0
  96. package/dist/lib/showcase/component-docs/List.d.ts.map +1 -0
  97. package/dist/lib/showcase/component-docs/Modal.d.ts +3 -0
  98. package/dist/lib/showcase/component-docs/Modal.d.ts.map +1 -0
  99. package/dist/lib/showcase/component-docs/Radio.d.ts +3 -0
  100. package/dist/lib/showcase/component-docs/Radio.d.ts.map +1 -0
  101. package/dist/lib/showcase/component-docs/SidebarNavigation.d.ts +3 -0
  102. package/dist/lib/showcase/component-docs/SidebarNavigation.d.ts.map +1 -0
  103. package/dist/lib/showcase/component-docs/Skeleton.d.ts +3 -0
  104. package/dist/lib/showcase/component-docs/Skeleton.d.ts.map +1 -0
  105. package/dist/lib/showcase/component-docs/_shared.d.ts +12 -0
  106. package/dist/lib/showcase/component-docs/_shared.d.ts.map +1 -0
  107. package/dist/lib/showcase/component-docs/index.d.ts +4 -0
  108. package/dist/lib/showcase/component-docs/index.d.ts.map +1 -0
  109. package/dist/lib/showcase/components-catalog.d.ts +3 -0
  110. package/dist/lib/showcase/components-catalog.d.ts.map +1 -0
  111. package/dist/lib/showcase/components-showcase-constants.d.ts +89 -0
  112. package/dist/lib/showcase/components-showcase-constants.d.ts.map +1 -0
  113. package/dist/lib/showcase/docs-sidebar-helpers.d.ts +15 -0
  114. package/dist/lib/showcase/docs-sidebar-helpers.d.ts.map +1 -0
  115. package/dist/molecules/Alert.svelte +50 -23
  116. package/dist/molecules/Alert.svelte.d.ts +1 -1
  117. package/dist/molecules/ComponentDemo.svelte +54 -51
  118. package/dist/molecules/ContactForm.svelte +70 -65
  119. package/dist/molecules/Dropdown.svelte +99 -108
  120. package/dist/molecules/Dropdown.svelte.d.ts +12 -6
  121. package/dist/molecules/EmptyState.svelte +44 -0
  122. package/dist/molecules/EmptyState.svelte.d.ts +11 -0
  123. package/dist/molecules/FormField.svelte +89 -0
  124. package/dist/molecules/FormField.svelte.d.ts +23 -0
  125. package/dist/molecules/Header.svelte +41 -0
  126. package/dist/molecules/Header.svelte.d.ts +10 -0
  127. package/dist/molecules/ImageUpload.svelte +1 -1
  128. package/dist/molecules/Modal.svelte +39 -26
  129. package/dist/molecules/Modal.svelte.d.ts +4 -2
  130. package/dist/molecules/NavigationMenu.svelte +16 -0
  131. package/dist/molecules/NavigationMenu.svelte.d.ts +2 -0
  132. package/dist/molecules/NavigationMenuContent.svelte +9 -1
  133. package/dist/molecules/NavigationMenuLink.svelte +1 -1
  134. package/dist/molecules/NavigationMenuTrigger.svelte +9 -4
  135. package/dist/molecules/Page.svelte +16 -0
  136. package/dist/molecules/Page.svelte.d.ts +8 -0
  137. package/dist/molecules/PropsTable.svelte +61 -0
  138. package/dist/molecules/PropsTable.svelte.d.ts +8 -0
  139. package/dist/molecules/RadioGroup.svelte +197 -0
  140. package/dist/molecules/RadioGroup.svelte.d.ts +20 -0
  141. package/dist/molecules/Section.svelte +14 -23
  142. package/dist/molecules/Section.svelte.d.ts +2 -11
  143. package/dist/molecules/SidebarBrandHeader.svelte +68 -0
  144. package/dist/molecules/SidebarBrandHeader.svelte.d.ts +10 -0
  145. package/dist/molecules/SidebarFooter.svelte +119 -0
  146. package/dist/molecules/SidebarFooter.svelte.d.ts +23 -0
  147. package/dist/molecules/SidebarNavSection.svelte +49 -0
  148. package/dist/molecules/SidebarNavSection.svelte.d.ts +14 -0
  149. package/dist/molecules/SlideUp.svelte +21 -16
  150. package/dist/molecules/SlideUp.svelte.d.ts +1 -1
  151. package/dist/molecules/Tabs.svelte +6 -11
  152. package/dist/molecules/Toaster.svelte +21 -0
  153. package/dist/molecules/Toaster.svelte.d.ts +6 -0
  154. package/dist/molecules/ToasterToast.svelte +217 -0
  155. package/dist/molecules/ToasterToast.svelte.d.ts +7 -0
  156. package/dist/molecules/index.d.ts +10 -0
  157. package/dist/molecules/index.js +10 -0
  158. package/dist/molecules/navigation-menu-context.d.ts +11 -0
  159. package/dist/molecules/navigation-menu-context.js +18 -0
  160. package/dist/molecules/toast-store.d.ts +38 -0
  161. package/dist/molecules/toast-store.js +34 -0
  162. package/dist/organisms/SidebarAccountPanel.svelte +118 -0
  163. package/dist/organisms/SidebarAccountPanel.svelte.d.ts +20 -0
  164. package/dist/organisms/SidebarNavigation.svelte +286 -212
  165. package/dist/organisms/SidebarNavigation.svelte.d.ts +22 -1
  166. package/dist/organisms/{SidebarProjectPanel.svelte → SidebarPanel.svelte} +67 -34
  167. package/dist/organisms/{SidebarProjectPanel.svelte.d.ts → SidebarPanel.svelte.d.ts} +9 -6
  168. package/dist/organisms/TopNavbar.svelte +214 -0
  169. package/dist/organisms/TopNavbar.svelte.d.ts +35 -0
  170. package/dist/organisms/index.d.ts +3 -3
  171. package/dist/organisms/index.js +3 -3
  172. package/dist/routes/lib/focus-utils.d.ts +7 -18
  173. package/dist/routes/lib/focus-utils.ts +32 -34
  174. package/dist/routes/lib/ssr-safe.ts +5 -4
  175. package/dist/routes/lib/variant-utils.ts +48 -39
  176. package/dist/types/components.d.ts +187 -0
  177. package/dist/types/components.d.ts.map +1 -0
  178. package/dist/types/events.d.ts +200 -0
  179. package/dist/types/events.d.ts.map +1 -0
  180. package/dist/types/index.d.ts +171 -0
  181. package/dist/types/index.d.ts.map +1 -0
  182. package/dist/types/page.types.d.ts +3 -0
  183. package/dist/types/page.types.d.ts.map +1 -0
  184. package/dist/types/page.types.js +1 -0
  185. package/dist/types/page.types.ts +79 -0
  186. package/dist/types/variants.d.ts +3 -0
  187. package/dist/types/variants.d.ts.map +1 -0
  188. package/dist/types/variants.js +1 -0
  189. package/dist/types/variants.ts +75 -0
  190. package/dist/util/fixed-sidebar-flyout.d.ts +22 -0
  191. package/dist/util/fixed-sidebar-flyout.js +148 -0
  192. package/dist/util/focus-utils.d.ts +11 -0
  193. package/dist/util/focus-utils.js +94 -0
  194. package/dist/util/ssr-safe.d.ts +16 -0
  195. package/dist/util/ssr-safe.js +48 -0
  196. package/dist/zabi-components-colors.css +360 -324
  197. package/dist/zabi-components-theme-dark-only.css +164 -151
  198. package/dist/zabi-components-theme-dark.css +164 -151
  199. package/dist/zabi-components-theme-only.css +253 -230
  200. package/dist/zabi-components-theme.css +253 -230
  201. package/dist/zabi-components.css +1262 -241
  202. package/docs/theme-imports.md +112 -0
  203. package/package.json +32 -10
  204. package/dist/organisms/Navbar.svelte +0 -92
  205. package/dist/organisms/Navbar.svelte.d.ts +0 -14
  206. package/dist/organisms/Navigation.svelte +0 -119
  207. package/dist/organisms/Navigation.svelte.d.ts +0 -21
@@ -1,235 +1,258 @@
1
1
  @theme {
2
+ /*
3
+ * Custom base (gray) ramp — single physical scale for --color-base-*.
4
+ * 21 stops: 50 … 950 (lightest → darkest). Edit hex here; mirror the same block in .dark for standalone imports.
5
+ * Dark: semantic step S maps to physical (1000 − S), e.g. 50↔950, 75↔925; 500 stays fixed.
6
+ * Midpoints are frozen hex values (default mode: fixed).
7
+ */
8
+ --zabi-base-50: #fafafa
9
+ --zabi-base-75: #f7f7f7
10
+ --zabi-base-100: #f4f4f5
11
+ --zabi-base-150: #ececee
12
+ --zabi-base-200: #e4e4e7
13
+ --zabi-base-250: #dcdcdf
14
+ --zabi-base-300: #d4d4d8
15
+ --zabi-base-350: #babac1
16
+ --zabi-base-400: #a1a1aa
17
+ --zabi-base-450: #898992
18
+ --zabi-base-500: #71717a
19
+ --zabi-base-550: #61616a
20
+ --zabi-base-600: #52525b
21
+ --zabi-base-650: #484850
22
+ --zabi-base-700: #3f3f46
23
+ --zabi-base-750: #333338
24
+ --zabi-base-800: #27272a
25
+ --zabi-base-850: #1f1f22
26
+ --zabi-base-900: #18181b
27
+ --zabi-base-925: #101013
28
+ --zabi-base-950: #09090b
2
29
  /* Typography - Nunito Sans font family */
3
- --font-family-sans: 'Nunito Sans', ui-sans-serif, system-ui, sans-serif;
4
-
5
- /* Brand Color Scale */
6
- --color-brand-50: #f7faff;
7
- --color-brand-100: #edf2fb;
8
- --color-brand-200: #dfe7fb;
9
- --color-brand-300: #ccdbfd;
10
- --color-brand-400: #abc4ff;
11
- --color-brand-500: #8fa8ff;
12
- --color-brand-600: #6e84fa;
13
- --color-brand-700: #5366e2;
14
- --color-brand-800: #3f4fc0;
15
- --color-brand-900: #2f3c99;
16
- --color-brand-950: #1f2866;
17
-
18
- /* Citron Color Scale */
19
- --color-citron-50: #f9faeb;
20
- --color-citron-100: #f1f5cf;
21
- --color-citron-200: #e4ecaa;
22
- --color-citron-300: #d5e184;
23
- --color-citron-400: #c7d460;
24
- --color-citron-500: #bbbe64;
25
- --color-citron-600: #a3a852;
26
- --color-citron-700: #848a43;
27
- --color-citron-800: #666c35;
28
- --color-citron-900: #4d5229;
29
- --color-citron-950: #323518;
30
-
31
- /* Pine Color Scale */
32
- --color-pine-50: #e9f6f2;
33
- --color-pine-100: #d2ece4;
34
- --color-pine-200: #a7d9c9;
35
- --color-pine-300: #78c4ad;
36
- --color-pine-400: #49ad91;
37
- --color-pine-500: #0C5D43;
38
- --color-pine-600: #0a513a;
39
- --color-pine-700: #084532;
40
- --color-pine-800: #063a2a;
41
- --color-pine-900: #04231a;
42
- --color-pine-950: #02160f;
43
-
44
- /* Iris Color Scale */
45
- --color-iris-50: #f4f4fa;
46
- --color-iris-100: #e9e9f7;
47
- --color-iris-200: #d6d6f0;
48
- --color-iris-300: #bdbde6;
49
- --color-iris-400: #a3a3d8;
50
- --color-iris-500: #6969B3;
51
- --color-iris-600: #58589e;
52
- --color-iris-700: #474788;
53
- --color-iris-800: #38386f;
54
- --color-iris-900: #2a2a56;
55
- --color-iris-950: #1b1b37;
56
-
57
- /* Base Color Scale - Maps to neutral palette */
58
- --color-base-50: theme(colors.neutral.50);
59
- --color-base-100: theme(colors.neutral.100);
60
- --color-base-200: theme(colors.neutral.200);
61
- --color-base-300: theme(colors.neutral.300);
62
- --color-base-400: theme(colors.neutral.400);
63
- --color-base-500: theme(colors.neutral.500);
64
- --color-base-600: theme(colors.neutral.600);
65
- --color-base-700: theme(colors.neutral.700);
66
- --color-base-800: theme(colors.neutral.800);
67
- --color-base-900: theme(colors.neutral.900);
68
- --color-base-950: theme(colors.neutral.950);
69
-
70
-
71
- /* Background Colors */
72
- --color-background: var(--color-base-100);
73
- --color-background-secondary: var(--color-base-50);
74
- --color-background-tertiary: var(--color-base-100);
75
-
76
- /* Page Colors */
77
- --color-page: var(--color-base-100);
78
- --color-page-secondary: var(--color-base-200);
79
-
80
- /* Card Colors */
81
- --color-card: theme(colors.white);
82
- --color-card-hover: var(--color-base-100);
83
- --color-card-active: var(--color-base-100);
84
- --color-card-elevated: theme(colors.white);
85
-
86
- /* Overlay Colors */
87
- --color-overlay: rgba(0, 0, 0, 0.5);
88
-
89
- /* Input Colors */
90
- --color-input: var(--color-base-200);
91
- --color-input-hover: var(--color-base-100);
92
- --color-input-focus: var(--color-base-100);
93
- --color-input-disabled: var(--color-base-100);
94
-
95
- /* Text Colors */
96
- --color-headline: var(--color-base-900);
97
- --color-body: var(--color-base-800);
98
- --color-description: var(--color-base-600);
99
- --color-caption: var(--color-base-500);
100
- --color-input-placeholder: var(--color-base-400);
101
- --color-label: var(--color-base-700);
102
- --color-link: theme(colors.brand.600);
103
- --color-link-hover: theme(colors.brand.700);
104
- --color-success-text: var(--color-success);
105
- --color-warning-text: theme(colors.amber.700);
106
- --color-neutral-text: var(--color-base-700);
107
- --color-energetic-text: theme(colors.citron.700);
108
- --color-error-text: theme(colors.red.700);
109
- --color-inverse: theme(colors.white);
110
- --color-disabled: var(--color-base-400);
111
-
112
- /* Border Colors */
113
- --color-border: var(--color-base-200);
114
- --color-border-weak: var(--color-base-300);
115
- --color-border-medium: var(--color-base-400);
116
- --color-border-strong: var(--color-base-500);
117
-
118
- /* Focus Colors */
119
- --color-focus: theme(colors.brand.500);
120
- --color-focus-weak: theme(colors.brand.600);
121
- --color-focus-medium: theme(colors.brand.700);
122
- --color-focus-strong: theme(colors.brand.800);
123
-
124
- /* Primary Colors */
125
- --color-primary: theme(colors.brand.600);
126
- --color-primary-weak: theme(colors.brand.700);
127
- --color-primary-medium: theme(colors.brand.800);
128
- --color-primary-strong: theme(colors.brand.900);
129
-
130
- /* Secondary Colors */
131
- --color-secondary: var(--color-base-600);
132
- --color-secondary-weak: var(--color-base-700);
133
- --color-secondary-medium: var(--color-base-800);
134
- --color-secondary-strong: var(--color-base-900);
135
-
136
- /* Success Colors */
137
- --color-success: theme(colors.pine.600);
138
- --color-success-weak: theme(colors.pine.700);
139
- --color-success-medium: theme(colors.pine.800);
140
- --color-success-strong: theme(colors.pine.900);
141
-
142
- /* Warning Colors */
143
- --color-warning: theme(colors.amber.500);
144
- --color-warning-weak: theme(colors.amber.600);
145
- --color-warning-medium: theme(colors.amber.400);
146
- --color-warning-strong: theme(colors.amber.300);
147
-
148
- /* Error Colors */
149
- --color-error: theme(colors.red.500);
150
- --color-error-weak: theme(colors.red.600);
151
- --color-error-medium: theme(colors.red.400);
152
- --color-error-strong: theme(colors.red.300);
153
-
154
- /* Energetic Colors (Citron) */
155
- --color-energetic: theme(colors.citron.500);
156
- --color-energetic-weak: theme(colors.citron.600);
157
- --color-energetic-medium: theme(colors.citron.400);
158
- --color-energetic-strong: theme(colors.citron.300);
159
-
160
- /* Neutral Colors */
161
- --color-neutral: var(--color-base-600);
162
- --color-neutral-weak: var(--color-base-700);
163
- --color-neutral-medium: var(--color-base-800);
164
- --color-neutral-strong: var(--color-base-900);
165
-
166
- /* Info Colors */
167
- --color-info: theme(colors.iris.600);
168
- --color-info-weak: theme(colors.iris.700);
169
- --color-info-medium: theme(colors.iris.800);
170
- --color-info-strong: theme(colors.iris.900);
171
- /* Text alias */
172
- --color-info-text: var(--color-info);
173
-
174
- /* ========================================
30
+ --font-family-sans: 'Nunito Sans', ui-sans-serif, system-ui, sans-serif
31
+ /* Brand Color Scale */
32
+ --color-brand-50: #f7faff
33
+ --color-brand-100: #edf2fb
34
+ --color-brand-200: #dfe7fb
35
+ --color-brand-300: #ccdbfd
36
+ --color-brand-400: #abc4ff
37
+ --color-brand-500: #8fa8ff
38
+ --color-brand-600: #6e84fa
39
+ --color-brand-700: #5366e2
40
+ --color-brand-800: #3f4fc0
41
+ --color-brand-900: #2f3c99
42
+ --color-brand-950: #1f2866
43
+ /* Citron Color Scale */
44
+ --color-citron-50: #f9faeb
45
+ --color-citron-100: #f1f5cf
46
+ --color-citron-200: #e4ecaa
47
+ --color-citron-300: #d5e184
48
+ --color-citron-400: #c7d460
49
+ --color-citron-500: #bbbe64
50
+ --color-citron-600: #a3a852
51
+ --color-citron-700: #848a43
52
+ --color-citron-800: #666c35
53
+ --color-citron-900: #4d5229
54
+ --color-citron-950: #323518
55
+ /* Pine Color Scale */
56
+ --color-pine-50: #e9f6f2
57
+ --color-pine-100: #d2ece4
58
+ --color-pine-200: #a7d9c9
59
+ --color-pine-300: #78c4ad
60
+ --color-pine-400: #49ad91
61
+ --color-pine-500: #0C5D43
62
+ --color-pine-600: #0a513a
63
+ --color-pine-700: #084532
64
+ --color-pine-800: #063a2a
65
+ --color-pine-900: #04231a
66
+ --color-pine-950: #02160f
67
+ /* Iris Color Scale */
68
+ --color-iris-50: #f4f4fa
69
+ --color-iris-100: #e9e9f7
70
+ --color-iris-200: #d6d6f0
71
+ --color-iris-300: #bdbde6
72
+ --color-iris-400: #a3a3d8
73
+ --color-iris-500: #6969B3
74
+ --color-iris-600: #58589e
75
+ --color-iris-700: #474788
76
+ --color-iris-800: #38386f
77
+ --color-iris-900: #2a2a56
78
+ --color-iris-950: #1b1b37
79
+ /* Base Color Scale — semantic tokens alias the physical ramp (light: 1:1) */
80
+ --color-base-50: var(--zabi-base-50)
81
+ --color-base-75: var(--zabi-base-75)
82
+ --color-base-100: var(--zabi-base-100)
83
+ --color-base-150: var(--zabi-base-150)
84
+ --color-base-200: var(--zabi-base-200)
85
+ --color-base-250: var(--zabi-base-250)
86
+ --color-base-300: var(--zabi-base-300)
87
+ --color-base-350: var(--zabi-base-350)
88
+ --color-base-400: var(--zabi-base-400)
89
+ --color-base-450: var(--zabi-base-450)
90
+ --color-base-500: var(--zabi-base-500)
91
+ --color-base-550: var(--zabi-base-550)
92
+ --color-base-600: var(--zabi-base-600)
93
+ --color-base-650: var(--zabi-base-650)
94
+ --color-base-700: var(--zabi-base-700)
95
+ --color-base-750: var(--zabi-base-750)
96
+ --color-base-800: var(--zabi-base-800)
97
+ --color-base-850: var(--zabi-base-850)
98
+ --color-base-900: var(--zabi-base-900)
99
+ --color-base-925: var(--zabi-base-925)
100
+ --color-base-950: var(--zabi-base-950)
101
+ /* Background Colors */
102
+ --color-background: var(--color-base-100)
103
+ --color-background-secondary: var(--color-base-50)
104
+ --color-background-tertiary: var(--color-base-100)
105
+ /* Page Colors */
106
+ --color-page: var(--color-base-100)
107
+ --color-page-secondary: var(--color-base-200)
108
+ /* Card Colors */
109
+ --color-card: theme(colors.white)
110
+ --color-card-hover: var(--color-base-100)
111
+ --color-card-active: var(--color-base-100)
112
+ --color-card-elevated: theme(colors.white)
113
+ /* Surfaces — layered UI (ascending number = higher layer / more contrast against page) */
114
+ --color-surface-1: theme(colors.white)
115
+ --color-surface-2: var(--color-base-50)
116
+ --color-surface-3: var(--color-base-75)
117
+ --color-surface-4: var(--color-base-100)
118
+ /* Overlay Colors */
119
+ --color-overlay: rgba(0, 0, 0, 0.5)
120
+ /* Input Colors */
121
+ --color-input: var(--color-base-250)
122
+ --color-input-border: var(--color-base-350)
123
+ --color-input-hover: var(--color-base-300)
124
+ --color-input-focus: var(--color-base-300)
125
+ --color-input-disabled: var(--color-base-100)
126
+ /* Text Colors */
127
+ --color-headline: var(--color-base-900)
128
+ --color-body: var(--color-base-800)
129
+ --color-description: var(--color-base-600)
130
+ --color-caption: var(--color-base-500)
131
+ --color-input-placeholder: var(--color-base-400)
132
+ --color-label: var(--color-base-700)
133
+ --color-link: theme(colors.brand.600)
134
+ --color-link-hover: theme(colors.brand.700)
135
+ /* Navigation menu item — menubar triggers, menu links, inline/sidebar nav rows */
136
+ --color-nav-menu-item: var(--color-body)
137
+ --color-nav-menu-item-hover: var(--color-headline)
138
+ --color-nav-menu-item-active: var(--color-link)
139
+ --color-nav-menu-hover: var(--color-base-100)
140
+ --color-nav-menu-active: var(--color-action-primary-subtle)
141
+ --color-nav-menu-focus: var(--color-brand-500)
142
+ --color-success-text: var(--color-success)
143
+ --color-warning-text: theme(colors.amber.700)
144
+ --color-neutral-text: var(--color-base-700)
145
+ --color-energetic-text: theme(colors.citron.700)
146
+ --color-error-text: theme(colors.red.700)
147
+ --color-inverse: theme(colors.white)
148
+ --color-disabled: var(--color-base-400)
149
+ /* Border Colors */
150
+ --color-border: var(--color-base-300)
151
+ --color-border-weak: var(--color-base-300)
152
+ --color-border-medium: var(--color-base-400)
153
+ --color-border-strong: var(--color-base-500)
154
+ /* Focus Colors */
155
+ --color-focus: theme(colors.brand.500)
156
+ --color-focus-weak: theme(colors.brand.600)
157
+ --color-focus-medium: theme(colors.brand.700)
158
+ --color-focus-strong: theme(colors.brand.800)
159
+ /* Aliases for `ring-focus-ring`, `.focus-ring`, and form utils */
160
+ --color-focus-ring: var(--color-focus)
161
+ --color-focus-ring-offset: var(--color-card)
162
+ /* Primary Colors */
163
+ --color-primary: theme(colors.brand.600)
164
+ --color-primary-weak: theme(colors.brand.700)
165
+ --color-primary-medium: theme(colors.brand.800)
166
+ --color-primary-strong: theme(colors.brand.900)
167
+ /* Secondary Colors */
168
+ --color-secondary: var(--color-base-600)
169
+ --color-secondary-weak: var(--color-base-700)
170
+ --color-secondary-medium: var(--color-base-800)
171
+ --color-secondary-strong: var(--color-base-900)
172
+ /* Success Colors */
173
+ --color-success: theme(colors.pine.600)
174
+ --color-success-weak: theme(colors.pine.700)
175
+ --color-success-medium: theme(colors.pine.800)
176
+ --color-success-strong: theme(colors.pine.900)
177
+ /* Warning Colors */
178
+ --color-warning: theme(colors.amber.500)
179
+ --color-warning-weak: theme(colors.amber.600)
180
+ --color-warning-medium: theme(colors.amber.400)
181
+ --color-warning-strong: theme(colors.amber.300)
182
+ /* Error Colors */
183
+ --color-error: theme(colors.red.500)
184
+ --color-error-weak: theme(colors.red.600)
185
+ --color-error-medium: theme(colors.red.400)
186
+ --color-error-strong: theme(colors.red.300)
187
+ /* Energetic Colors (Citron) */
188
+ --color-energetic: theme(colors.citron.500)
189
+ --color-energetic-weak: theme(colors.citron.600)
190
+ --color-energetic-medium: theme(colors.citron.400)
191
+ --color-energetic-strong: theme(colors.citron.300)
192
+ /* Neutral Colors */
193
+ --color-neutral: var(--color-base-600)
194
+ --color-neutral-weak: var(--color-base-700)
195
+ --color-neutral-medium: var(--color-base-800)
196
+ --color-neutral-strong: var(--color-base-900)
197
+ /* Info Colors */
198
+ --color-info: theme(colors.iris.600)
199
+ --color-info-weak: theme(colors.iris.700)
200
+ --color-info-medium: theme(colors.iris.800)
201
+ --color-info-strong: theme(colors.iris.900)
202
+ /* Text alias */
203
+ --color-info-text: var(--color-info)
204
+ /* ========================================
175
205
  ACTION COLORS - For interactive elements (buttons, links, etc.)
176
206
  ======================================== */
177
-
178
- /* Primary Actions - Used by bg-action-primary utility class */
179
- /* 🎯 TO CHANGE bg-action-primary COLOR: Edit the values below */
180
- --color-action-primary: var(--color-brand-950);
181
- --color-action-primary-hover: var(--color-brand-900);
182
- --color-action-primary-active: var(--color-brand-400);
183
- --color-action-primary-disabled: var(--color-brand-500);
184
- --color-action-primary-subtle: var(--color-brand-100);
185
- --color-action-primary-subtle-hover: var(--color-brand-200);
186
- --color-action-primary-text: var(--color-brand-50);
187
-
188
- /* Secondary Actions - Used by bg-action-secondary utility class */
189
- --color-action-secondary: color-mix(in srgb, var(--color-brand-800) 10%, transparent);
190
- --color-action-secondary-hover: color-mix(in srgb, var(--color-brand-800) 20%, transparent);
191
- --color-action-secondary-active: var(--color-brand-400);
192
- --color-action-secondary-disabled: var(--color-brand-500);
193
- --color-action-secondary-subtle: var(--color-brand-600);
194
- --color-action-secondary-subtle-hover: var(--color-brand-700);
195
-
196
- /* Danger Actions - Used by bg-action-danger utility class */
197
- --color-action-danger: theme(colors.red.600);
198
- --color-action-danger-hover: theme(colors.red.700);
199
- --color-action-danger-active: theme(colors.red.800);
200
- --color-action-danger-disabled: theme(colors.red.300);
201
- --color-action-danger-subtle: theme(colors.red.50);
202
- --color-action-danger-subtle-hover: theme(colors.red.100);
203
-
204
- /* Shadow Colors */
205
- --shadow-color: 0 0 0;
206
- --shadow-opacity: 0.1;
207
- --shadow-sm: 0 1px 3px 0 rgb(var(--shadow-color) / var(--shadow-opacity)), 0 1px 2px -1px rgb(var(--shadow-color) / var(--shadow-opacity));
208
- --shadow-md: 0 4px 6px -1px rgb(var(--shadow-color) / var(--shadow-opacity)), 0 2px 4px -2px rgb(var(--shadow-color) / var(--shadow-opacity));
209
- --shadow-lg: 0 10px 15px -3px rgb(var(--shadow-color) / var(--shadow-opacity)), 0 4px 6px -4px rgb(var(--shadow-color) / var(--shadow-opacity));
210
- --shadow-xl: 0 20px 25px -5px rgb(var(--shadow-color) / var(--shadow-opacity)), 0 8px 10px -6px rgb(var(--shadow-color) / var(--shadow-opacity));
211
-
212
- /* Spacing */
213
- --spacing-xs: 0.25rem;
214
- --spacing-sm: 0.5rem;
215
- --spacing-md: 1rem;
216
- --spacing-lg: 1.5rem;
217
- --spacing-xl: 2rem;
218
- --spacing-2xl: 3rem;
219
-
220
- /* Border Radius */
221
- --radius-sm: 0.25rem;
222
- --radius-md: 0.375rem;
223
- --radius-lg: 0.5rem;
224
- --radius-xl: 0.75rem;
225
-
226
- /* Z-index */
227
- --z-dropdown: 1000;
228
- --z-sticky: 1020;
229
- --z-fixed: 1030;
230
- --z-modal-backdrop: 1040;
231
- --z-modal: 1050;
232
- --z-popover: 1060;
233
- --z-tooltip: 1070;
234
- --z-toast: 1080;
207
+ /* Primary Actions - Used by bg-action-primary utility class */
208
+ /* 🎯 TO CHANGE bg-action-primary COLOR: Edit the values below */
209
+ --color-action-primary: var(--color-brand-950)
210
+ --color-action-primary-hover: var(--color-brand-900)
211
+ --color-action-primary-active: var(--color-brand-400)
212
+ --color-action-primary-disabled: var(--color-brand-500)
213
+ --color-action-primary-subtle: var(--color-brand-100)
214
+ --color-action-primary-subtle-hover: var(--color-brand-200)
215
+ --color-action-primary-text: var(--color-brand-50)
216
+ /* Secondary Actions - Used by bg-action-secondary utility class */
217
+ --color-action-secondary: color-mix(in srgb, var(--color-brand-800) 10%, transparent)
218
+ --color-action-secondary-hover: color-mix(in srgb, var(--color-brand-800) 20%, transparent)
219
+ --color-action-secondary-active: var(--color-brand-400)
220
+ --color-action-secondary-disabled: var(--color-brand-500)
221
+ --color-action-secondary-subtle: var(--color-brand-600)
222
+ --color-action-secondary-subtle-hover: var(--color-brand-700)
223
+ /* Danger Actions - Used by bg-action-danger utility class */
224
+ --color-action-danger: theme(colors.red.600)
225
+ --color-action-danger-hover: theme(colors.red.700)
226
+ --color-action-danger-active: theme(colors.red.800)
227
+ --color-action-danger-disabled: theme(colors.red.300)
228
+ --color-action-danger-subtle: theme(colors.red.50)
229
+ --color-action-danger-subtle-hover: theme(colors.red.100)
230
+ /* Shadow Colors */
231
+ --shadow-color: 0 0 0
232
+ --shadow-opacity: 0.1
233
+ --shadow-sm: 0 1px 3px 0 rgb(var(--shadow-color) / var(--shadow-opacity)), 0 1px 2px -1px rgb(var(--shadow-color) / var(--shadow-opacity))
234
+ --shadow-md: 0 4px 6px -1px rgb(var(--shadow-color) / var(--shadow-opacity)), 0 2px 4px -2px rgb(var(--shadow-color) / var(--shadow-opacity))
235
+ --shadow-lg: 0 10px 15px -3px rgb(var(--shadow-color) / var(--shadow-opacity)), 0 4px 6px -4px rgb(var(--shadow-color) / var(--shadow-opacity))
236
+ --shadow-xl: 0 20px 25px -5px rgb(var(--shadow-color) / var(--shadow-opacity)), 0 8px 10px -6px rgb(var(--shadow-color) / var(--shadow-opacity))
237
+ /* Spacing */
238
+ --spacing-xs: 0.25rem
239
+ --spacing-sm: 0.5rem
240
+ --spacing-md: 1rem
241
+ --spacing-lg: 1.5rem
242
+ --spacing-xl: 2rem
243
+ --spacing-2xl: 3rem
244
+ /* Border Radius */
245
+ --radius-sm: 0.25rem
246
+ --radius-md: 0.375rem
247
+ --radius-lg: 0.5rem
248
+ --radius-xl: 0.75rem
249
+ /* Z-index */
250
+ --z-dropdown: 1000
251
+ --z-sticky: 1020
252
+ --z-fixed: 1030
253
+ --z-modal-backdrop: 1040
254
+ --z-modal: 1050
255
+ --z-popover: 1060
256
+ --z-tooltip: 1070
257
+ --z-toast: 1080
235
258
  }