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