zabi-components 5.0.21 → 6.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 (89) hide show
  1. package/README.md +42 -44
  2. package/THEME.md +473 -0
  3. package/THEMING.md +248 -0
  4. package/dist/atoms/Card.svelte +40 -67
  5. package/dist/atoms/Card.svelte.d.ts +3 -3
  6. package/dist/atoms/CardContent.svelte +1 -1
  7. package/dist/atoms/CardHeader.svelte +10 -1
  8. package/dist/atoms/CardHeader.svelte.d.ts +3 -0
  9. package/dist/atoms/Checkbox.svelte +1 -7
  10. package/dist/atoms/CodeBlock.svelte +7 -7
  11. package/dist/atoms/ColorPicker.svelte +81 -73
  12. package/dist/atoms/Input.svelte +16 -12
  13. package/dist/atoms/Input.svelte.d.ts +2 -0
  14. package/dist/atoms/List.svelte +47 -0
  15. package/dist/atoms/List.svelte.d.ts +19 -0
  16. package/dist/atoms/ListItem.svelte +148 -0
  17. package/dist/atoms/ListItem.svelte.d.ts +35 -0
  18. package/dist/atoms/Progress.svelte +4 -6
  19. package/dist/atoms/Select.svelte +65 -20
  20. package/dist/atoms/Select.svelte.d.ts +13 -1
  21. package/dist/atoms/Textarea.svelte +13 -11
  22. package/dist/atoms/Textarea.svelte.d.ts +1 -0
  23. package/dist/atoms/Toast.svelte +1 -1
  24. package/dist/atoms/Toggle.svelte +1 -7
  25. package/dist/atoms/Tooltip.svelte +8 -15
  26. package/dist/atoms/index.d.ts +2 -0
  27. package/dist/atoms/index.js +2 -0
  28. package/dist/components/atoms/index.d.ts +2 -0
  29. package/dist/components/atoms/index.d.ts.map +1 -1
  30. package/dist/components/index.d.ts +4 -1
  31. package/dist/components/index.d.ts.map +1 -1
  32. package/dist/components/molecules/index.d.ts +0 -1
  33. package/dist/components/molecules/index.d.ts.map +1 -1
  34. package/dist/components/molecules/navigation-menu-context.d.ts +7 -0
  35. package/dist/components/molecules/navigation-menu-context.d.ts.map +1 -0
  36. package/dist/components/organisms/index.d.ts +2 -1
  37. package/dist/components/organisms/index.d.ts.map +1 -1
  38. package/dist/index.d.ts +4 -1
  39. package/dist/index.js +5 -9
  40. package/dist/lib/showcase/components-catalog.d.ts +3 -0
  41. package/dist/lib/showcase/components-catalog.d.ts.map +1 -0
  42. package/dist/lib/showcase/components-showcase-constants.d.ts +63 -0
  43. package/dist/lib/showcase/components-showcase-constants.d.ts.map +1 -0
  44. package/dist/lib/showcase/docs-sidebar-helpers.d.ts +15 -0
  45. package/dist/lib/showcase/docs-sidebar-helpers.d.ts.map +1 -0
  46. package/dist/molecules/Alert.svelte +9 -4
  47. package/dist/molecules/ComponentDemo.svelte +53 -50
  48. package/dist/molecules/ContactForm.svelte +113 -76
  49. package/dist/molecules/ContactForm.svelte.d.ts +1 -4
  50. package/dist/molecules/Dropdown.svelte +4 -2
  51. package/dist/molecules/ImageUpload.svelte +27 -4
  52. package/dist/molecules/ImageUpload.svelte.d.ts +1 -0
  53. package/dist/molecules/Modal.svelte +46 -45
  54. package/dist/molecules/NavigationMenu.svelte +7 -10
  55. package/dist/molecules/NavigationMenuContent.svelte +9 -9
  56. package/dist/molecules/NavigationMenuItem.svelte +7 -6
  57. package/dist/molecules/NavigationMenuLink.svelte +8 -6
  58. package/dist/molecules/NavigationMenuList.svelte +0 -7
  59. package/dist/molecules/NavigationMenuTrigger.svelte +8 -11
  60. package/dist/molecules/Section.svelte +12 -12
  61. package/dist/molecules/SlideUp.svelte +32 -2
  62. package/dist/molecules/Tabs.svelte +74 -7
  63. package/dist/molecules/index.d.ts +0 -1
  64. package/dist/molecules/index.js +0 -1
  65. package/dist/molecules/navigation-menu-context.d.ts +6 -0
  66. package/dist/molecules/navigation-menu-context.js +1 -0
  67. package/dist/organisms/Navbar.svelte +170 -53
  68. package/dist/organisms/Navbar.svelte.d.ts +31 -4
  69. package/dist/organisms/SidebarNavigation.svelte +464 -0
  70. package/dist/organisms/SidebarNavigation.svelte.d.ts +49 -0
  71. package/dist/organisms/SidebarPanel.svelte +175 -0
  72. package/dist/organisms/SidebarPanel.svelte.d.ts +32 -0
  73. package/dist/organisms/index.d.ts +2 -1
  74. package/dist/organisms/index.js +2 -1
  75. package/dist/types/page.types.d.ts +32 -0
  76. package/dist/types/page.types.d.ts.map +1 -0
  77. package/dist/types/variants.ts +76 -0
  78. package/dist/zabi-components-colors.css +347 -324
  79. package/dist/zabi-components-theme-dark-only.css +159 -151
  80. package/dist/zabi-components-theme-dark.css +159 -151
  81. package/dist/zabi-components-theme-only.css +245 -230
  82. package/dist/zabi-components-theme.css +245 -230
  83. package/dist/zabi-components.css +722 -84
  84. package/docs/theme-imports.md +112 -0
  85. package/package.json +20 -9
  86. package/dist/molecules/Sidebar.svelte +0 -324
  87. package/dist/molecules/Sidebar.svelte.d.ts +0 -30
  88. package/dist/organisms/Navigation.svelte +0 -116
  89. package/dist/organisms/Navigation.svelte.d.ts +0 -20
@@ -1,158 +1,166 @@
1
1
  /* Dark Mode Theme - CSS Custom Properties */
2
2
  /* Import this file after the main theme to enable dark mode support */
3
3
  .dark {
4
+ /* Mirror @theme --zabi-base-* ramp (same physical hex; required for standalone dark import) */
5
+ --zabi-base-50: #fafafa
6
+ --zabi-base-75: #f7f7f7
7
+ --zabi-base-100: #f4f4f5
8
+ --zabi-base-150: #ececee
9
+ --zabi-base-200: #e4e4e7
10
+ --zabi-base-250: #dcdcdf
11
+ --zabi-base-300: #d4d4d8
12
+ --zabi-base-350: #babac1
13
+ --zabi-base-400: #a1a1aa
14
+ --zabi-base-450: #898992
15
+ --zabi-base-500: #71717a
16
+ --zabi-base-550: #61616a
17
+ --zabi-base-600: #52525b
18
+ --zabi-base-650: #484850
19
+ --zabi-base-700: #3f3f46
20
+ --zabi-base-750: #333338
21
+ --zabi-base-800: #27272a
22
+ --zabi-base-850: #1f1f22
23
+ --zabi-base-900: #18181b
24
+ --zabi-base-925: #101013
25
+ --zabi-base-950: #09090b
4
26
  /* Brand Color Scale - Dark mode variants */
5
- --color-brand-50: theme(colors.brand.950);
6
- --color-brand-100: theme(colors.brand.900);
7
- --color-brand-200: theme(colors.brand.800);
8
- --color-brand-300: theme(colors.brand.700);
9
- --color-brand-400: theme(colors.brand.600);
10
- --color-brand-500: theme(colors.brand.500);
11
- --color-brand-600: theme(colors.brand.400);
12
- --color-brand-700: theme(colors.brand.300);
13
- --color-brand-800: theme(colors.brand.200);
14
- --color-brand-900: theme(colors.brand.100);
15
- --color-brand-950: theme(colors.brand.50);
16
-
17
- /* Citron Color Scale - Dark mode variants */
18
- --color-citron-50: theme(colors.citron.950);
19
- --color-citron-100: theme(colors.citron.900);
20
- --color-citron-200: theme(colors.citron.800);
21
- --color-citron-300: theme(colors.citron.700);
22
- --color-citron-400: theme(colors.citron.600);
23
- --color-citron-500: theme(colors.citron.500);
24
- --color-citron-600: theme(colors.citron.400);
25
- --color-citron-700: theme(colors.citron.300);
26
- --color-citron-800: theme(colors.citron.200);
27
- --color-citron-900: theme(colors.citron.100);
28
- --color-citron-950: theme(colors.citron.50);
29
-
30
- /* Pine Color Scale - Dark mode variants */
31
- --color-pine-50: theme(colors.pine.950);
32
- --color-pine-100: theme(colors.pine.900);
33
- --color-pine-200: theme(colors.pine.800);
34
- --color-pine-300: theme(colors.pine.700);
35
- --color-pine-400: theme(colors.pine.600);
36
- --color-pine-500: theme(colors.pine.500);
37
- --color-pine-600: theme(colors.pine.400);
38
- --color-pine-700: theme(colors.pine.300);
39
- --color-pine-800: theme(colors.pine.200);
40
- --color-pine-900: theme(colors.pine.100);
41
- --color-pine-950: theme(colors.pine.50);
42
-
43
- /* Iris Color Scale - Dark mode variants */
44
- --color-iris-50: theme(colors.iris.950);
45
- --color-iris-100: theme(colors.iris.900);
46
- --color-iris-200: theme(colors.iris.800);
47
- --color-iris-300: theme(colors.iris.700);
48
- --color-iris-400: theme(colors.iris.600);
49
- --color-iris-500: theme(colors.iris.500);
50
- --color-iris-600: theme(colors.iris.400);
51
- --color-iris-700: theme(colors.iris.300);
52
- --color-iris-800: theme(colors.iris.200);
53
- --color-iris-900: theme(colors.iris.100);
54
- --color-iris-950: theme(colors.iris.50);
55
-
56
- /* Base Color Scale - Dark mode variants (inverted neutral palette) */
57
- --color-base-50: theme(colors.neutral.950);
58
- --color-base-100: theme(colors.neutral.900);
59
- --color-base-200: theme(colors.neutral.800);
60
- --color-base-300: theme(colors.neutral.700);
61
- --color-base-400: theme(colors.neutral.600);
62
- --color-base-500: theme(colors.neutral.500);
63
- --color-base-600: theme(colors.neutral.400);
64
- --color-base-700: theme(colors.neutral.300);
65
- --color-base-800: theme(colors.neutral.200);
66
- --color-base-900: theme(colors.neutral.100);
67
- --color-base-950: theme(colors.neutral.50);
68
-
69
- /* Background Colors - No dark mode overrides needed, base colors are already inverted */
70
-
71
- /* Page Colors - No dark mode overrides needed, base colors are already inverted */
72
-
73
- /* Card Colors */
74
- --color-card: var(--color-base-200);
75
- --color-card-hover: var(--color-base-300);
76
- --color-card-active: var(--color-base-400);
77
- --color-card-elevated: var(--color-base-200);
78
-
79
- /* Overlay Colors */
80
- --color-overlay: rgba(0, 0, 0, 0.7);
81
-
82
- /* Input Colors */
83
- --color-input: var(--color-base-300);
84
- --color-input-hover: var(--color-base-400);
85
- --color-input-focus: var(--color-base-300);
86
- --color-input-disabled: var(--color-base-400);
87
-
88
- /* Text Colors - No dark mode overrides needed, base colors are already inverted */
89
-
90
- /* Border Colors - No dark mode overrides needed, base colors are already inverted */
91
-
92
- /* Focus Colors - No dark mode overrides needed, brand colors are already inverted */
93
-
94
- /* Primary Colors - No dark mode overrides needed, brand colors are already inverted */
95
-
96
- /* Secondary Colors - No dark mode overrides needed, base colors are already inverted */
97
-
98
- /* Success Colors */
99
- --color-success: theme(colors.pine.400);
100
- --color-success-weak: theme(colors.pine.500);
101
- --color-success-medium: theme(colors.pine.300);
102
- --color-success-strong: theme(colors.pine.200);
103
-
104
- /* Warning Colors */
105
- --color-warning: theme(colors.amber.500);
106
- --color-warning-weak: theme(colors.amber.600);
107
- --color-warning-medium: theme(colors.amber.400);
108
- --color-warning-strong: theme(colors.amber.300);
109
-
110
- /* Error Colors */
111
- --color-error: theme(colors.red.500);
112
- --color-error-weak: theme(colors.red.600);
113
- --color-error-medium: theme(colors.red.400);
114
- --color-error-strong: theme(colors.red.300);
115
-
116
- /* Energetic Colors (Citron) */
117
- --color-energetic: theme(colors.citron.400);
118
- --color-energetic-weak: theme(colors.citron.500);
119
- --color-energetic-medium: theme(colors.citron.300);
120
- --color-energetic-strong: theme(colors.citron.200);
121
-
122
- /* Neutral Colors - No dark mode overrides needed, base colors are already inverted */
123
-
124
- /* Info Colors */
125
- --color-info: theme(colors.iris.500);
126
- --color-info-weak: theme(colors.iris.600);
127
- --color-info-active: theme(colors.iris.400);
128
- --color-info-medium: theme(colors.iris.400);
129
- --color-info-strong: theme(colors.iris.300);
130
- /* Text alias */
131
- --color-info-text: var(--color-info);
132
-
133
- /* ========================================
27
+ --color-brand-50: theme(colors.brand.950)
28
+ --color-brand-100: theme(colors.brand.900)
29
+ --color-brand-200: theme(colors.brand.800)
30
+ --color-brand-300: theme(colors.brand.700)
31
+ --color-brand-400: theme(colors.brand.600)
32
+ --color-brand-500: theme(colors.brand.500)
33
+ --color-brand-600: theme(colors.brand.400)
34
+ --color-brand-700: theme(colors.brand.300)
35
+ --color-brand-800: theme(colors.brand.200)
36
+ --color-brand-900: theme(colors.brand.100)
37
+ --color-brand-950: theme(colors.brand.50)
38
+ /* Citron Color Scale - Dark mode variants */
39
+ --color-citron-50: theme(colors.citron.950)
40
+ --color-citron-100: theme(colors.citron.900)
41
+ --color-citron-200: theme(colors.citron.800)
42
+ --color-citron-300: theme(colors.citron.700)
43
+ --color-citron-400: theme(colors.citron.600)
44
+ --color-citron-500: theme(colors.citron.500)
45
+ --color-citron-600: theme(colors.citron.400)
46
+ --color-citron-700: theme(colors.citron.300)
47
+ --color-citron-800: theme(colors.citron.200)
48
+ --color-citron-900: theme(colors.citron.100)
49
+ --color-citron-950: theme(colors.citron.50)
50
+ /* Pine Color Scale - Dark mode variants */
51
+ --color-pine-50: theme(colors.pine.950)
52
+ --color-pine-100: theme(colors.pine.900)
53
+ --color-pine-200: theme(colors.pine.800)
54
+ --color-pine-300: theme(colors.pine.700)
55
+ --color-pine-400: theme(colors.pine.600)
56
+ --color-pine-500: theme(colors.pine.500)
57
+ --color-pine-600: theme(colors.pine.400)
58
+ --color-pine-700: theme(colors.pine.300)
59
+ --color-pine-800: theme(colors.pine.200)
60
+ --color-pine-900: theme(colors.pine.100)
61
+ --color-pine-950: theme(colors.pine.50)
62
+ /* Iris Color Scale - Dark mode variants */
63
+ --color-iris-50: theme(colors.iris.950)
64
+ --color-iris-100: theme(colors.iris.900)
65
+ --color-iris-200: theme(colors.iris.800)
66
+ --color-iris-300: theme(colors.iris.700)
67
+ --color-iris-400: theme(colors.iris.600)
68
+ --color-iris-500: theme(colors.iris.500)
69
+ --color-iris-600: theme(colors.iris.400)
70
+ --color-iris-700: theme(colors.iris.300)
71
+ --color-iris-800: theme(colors.iris.200)
72
+ --color-iris-900: theme(colors.iris.100)
73
+ --color-iris-950: theme(colors.iris.50)
74
+ /* Base Color Scale — semantic → physical mirror (1000 − step); 500 is fixed point */
75
+ --color-base-50: #09090b
76
+ --color-base-75: #101013
77
+ --color-base-100: #18181b
78
+ --color-base-150: #1f1f22
79
+ --color-base-200: #27272a
80
+ --color-base-250: #333338
81
+ --color-base-300: #3f3f46
82
+ --color-base-350: #484850
83
+ --color-base-400: #52525b
84
+ --color-base-450: #61616a
85
+ --color-base-500: #71717a
86
+ --color-base-550: #898992
87
+ --color-base-600: #a1a1aa
88
+ --color-base-650: #babac1
89
+ --color-base-700: #d4d4d8
90
+ --color-base-750: #dcdcdf
91
+ --color-base-800: #e4e4e7
92
+ --color-base-850: #ececee
93
+ --color-base-900: #f4f4f5
94
+ --color-base-925: #f7f7f7
95
+ --color-base-950: #fafafa
96
+ /* Background Colors - No dark mode overrides needed, base colors are already inverted */
97
+ /* Page Colors - No dark mode overrides needed, base colors are already inverted */
98
+ /* Card Colors */
99
+ --color-card: var(--color-base-200)
100
+ --color-card-hover: var(--color-base-300)
101
+ --color-card-active: var(--color-base-400)
102
+ --color-card-elevated: var(--color-base-200)
103
+ /* Overlay Colors */
104
+ --color-overlay: rgba(0, 0, 0, 0.7)
105
+ /* Input Colors */
106
+ --color-input: var(--color-base-250)
107
+ --color-input-border: var(--color-base-350)
108
+ --color-input-hover: var(--color-base-300)
109
+ --color-input-focus: var(--color-base-300)
110
+ --color-input-disabled: var(--color-base-300)
111
+ /* Text Colors - No dark mode overrides needed, base colors are already inverted */
112
+ /* Border Colors - No dark mode overrides needed, base colors are already inverted */
113
+ /* Focus Colors - No dark mode overrides needed, brand colors are already inverted */
114
+ /* Primary Colors - No dark mode overrides needed, brand colors are already inverted */
115
+ /* Secondary Colors - No dark mode overrides needed, base colors are already inverted */
116
+ /* Success Colors */
117
+ --color-success: theme(colors.pine.400)
118
+ --color-success-weak: theme(colors.pine.500)
119
+ --color-success-medium: theme(colors.pine.300)
120
+ --color-success-strong: theme(colors.pine.200)
121
+ /* Warning Colors */
122
+ --color-warning: theme(colors.amber.500)
123
+ --color-warning-weak: theme(colors.amber.600)
124
+ --color-warning-medium: theme(colors.amber.400)
125
+ --color-warning-strong: theme(colors.amber.300)
126
+ /* Error Colors */
127
+ --color-error: theme(colors.red.500)
128
+ --color-error-weak: theme(colors.red.600)
129
+ --color-error-medium: theme(colors.red.400)
130
+ --color-error-strong: theme(colors.red.300)
131
+ /* Energetic Colors (Citron) */
132
+ --color-energetic: theme(colors.citron.400)
133
+ --color-energetic-weak: theme(colors.citron.500)
134
+ --color-energetic-medium: theme(colors.citron.300)
135
+ --color-energetic-strong: theme(colors.citron.200)
136
+ /* Neutral Colors - No dark mode overrides needed, base colors are already inverted */
137
+ /* Info Colors */
138
+ --color-info: theme(colors.iris.500)
139
+ --color-info-weak: theme(colors.iris.600)
140
+ --color-info-active: theme(colors.iris.400)
141
+ --color-info-medium: theme(colors.iris.400)
142
+ --color-info-strong: theme(colors.iris.300)
143
+ /* Text alias */
144
+ --color-info-text: var(--color-info)
145
+ /* ========================================
134
146
  ACTION COLORS - Dark Mode Overrides
135
147
  ======================================== */
136
-
137
- /* Primary Actions - Background adapts automatically via brand color inversion */
138
- /* 🎯 TO CHANGE bg-action-primary IN DARK MODE: Edit --color-brand-800 in .dark block (line ~275) */
139
- /* Text color - Use brand-50 (which maps to brand-950/darkest in dark mode) for proper contrast */
140
- --color-action-primary-text: var(--color-brand-50);
141
-
142
- /* Secondary Actions - No dark mode overrides needed, base colors are already inverted */
143
-
144
- /* Danger Actions */
145
- --color-action-danger: theme(colors.red.500);
146
- --color-action-danger-hover: theme(colors.red.600);
147
- --color-action-danger-active: theme(colors.red.700);
148
- --color-action-danger-disabled: theme(colors.red.700);
149
- --color-action-danger-subtle: theme(colors.red.950);
150
- --color-action-danger-subtle-hover: theme(colors.red.900);
151
-
152
- /* Shadow Colors */
153
- --shadow-opacity: 0.3;
154
- --shadow-sm: 0 1px 3px 0 rgb(var(--shadow-color) / var(--shadow-opacity)), 0 1px 2px -1px rgb(var(--shadow-color) / var(--shadow-opacity));
155
- --shadow-md: 0 4px 6px -1px rgb(var(--shadow-color) / var(--shadow-opacity)), 0 2px 4px -2px rgb(var(--shadow-color) / var(--shadow-opacity));
156
- --shadow-lg: 0 10px 15px -3px rgb(var(--shadow-color) / var(--shadow-opacity)), 0 4px 6px -4px rgb(var(--shadow-color) / var(--shadow-opacity));
157
- --shadow-xl: 0 20px 25px -5px rgb(var(--shadow-color) / var(--shadow-opacity)), 0 8px 10px -6px rgb(var(--shadow-color) / var(--shadow-opacity));
148
+ /* Primary Actions - Background adapts automatically via brand color inversion */
149
+ /* 🎯 TO CHANGE bg-action-primary IN DARK MODE: Edit --color-brand-800 in .dark block (line ~275) */
150
+ /* Text color - Use brand-50 (which maps to brand-950/darkest in dark mode) for proper contrast */
151
+ --color-action-primary-text: var(--color-brand-50)
152
+ /* Secondary Actions - No dark mode overrides needed, base colors are already inverted */
153
+ /* Danger Actions */
154
+ --color-action-danger: theme(colors.red.500)
155
+ --color-action-danger-hover: theme(colors.red.600)
156
+ --color-action-danger-active: theme(colors.red.700)
157
+ --color-action-danger-disabled: theme(colors.red.700)
158
+ --color-action-danger-subtle: theme(colors.red.950)
159
+ --color-action-danger-subtle-hover: theme(colors.red.900)
160
+ /* Shadow Colors */
161
+ --shadow-opacity: 0.3
162
+ --shadow-sm: 0 1px 3px 0 rgb(var(--shadow-color) / var(--shadow-opacity)), 0 1px 2px -1px rgb(var(--shadow-color) / var(--shadow-opacity))
163
+ --shadow-md: 0 4px 6px -1px rgb(var(--shadow-color) / var(--shadow-opacity)), 0 2px 4px -2px rgb(var(--shadow-color) / var(--shadow-opacity))
164
+ --shadow-lg: 0 10px 15px -3px rgb(var(--shadow-color) / var(--shadow-opacity)), 0 4px 6px -4px rgb(var(--shadow-color) / var(--shadow-opacity))
165
+ --shadow-xl: 0 20px 25px -5px rgb(var(--shadow-color) / var(--shadow-opacity)), 0 8px 10px -6px rgb(var(--shadow-color) / var(--shadow-opacity))
158
166
  }