@electroplix/components 0.4.1 → 0.5.0-alpha.2

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 (173) hide show
  1. package/CHANGELOG.md +66 -0
  2. package/LICENSE +21 -0
  3. package/README.md +88 -474
  4. package/SECURITY.md +19 -0
  5. package/cli.cjs +510 -485
  6. package/dist/config.d.ts +73 -0
  7. package/dist/config.esm.js +229 -0
  8. package/dist/index.esm.js +6531 -6668
  9. package/dist/package.json +97 -0
  10. package/dist/src/components/blog/index.d.ts +5 -5
  11. package/dist/src/components/blog/index.d.ts.map +1 -1
  12. package/dist/src/components/buttons/index.d.ts +38 -8
  13. package/dist/src/components/buttons/index.d.ts.map +1 -1
  14. package/dist/src/components/content/BlockquoteTestimonial.d.ts +1 -1
  15. package/dist/src/components/content/BlockquoteTestimonial.d.ts.map +1 -1
  16. package/dist/src/components/content/CalloutBox.d.ts +4 -3
  17. package/dist/src/components/content/CalloutBox.d.ts.map +1 -1
  18. package/dist/src/components/content/HeadingSection.d.ts +2 -2
  19. package/dist/src/components/content/HeadingSection.d.ts.map +1 -1
  20. package/dist/src/components/content/InlineCodeText.d.ts +4 -3
  21. package/dist/src/components/content/InlineCodeText.d.ts.map +1 -1
  22. package/dist/src/components/content/ParagraphBlock.d.ts +5 -4
  23. package/dist/src/components/content/ParagraphBlock.d.ts.map +1 -1
  24. package/dist/src/components/content/RichMarkdown.d.ts +4 -3
  25. package/dist/src/components/content/RichMarkdown.d.ts.map +1 -1
  26. package/dist/src/components/content/TeamGrid.d.ts.map +1 -1
  27. package/dist/src/components/content/index.d.ts +7 -7
  28. package/dist/src/components/content/index.d.ts.map +1 -1
  29. package/dist/src/components/data-display/Badge.d.ts +5 -4
  30. package/dist/src/components/data-display/Badge.d.ts.map +1 -1
  31. package/dist/src/components/data-display/BadgeGroup.d.ts +4 -3
  32. package/dist/src/components/data-display/BadgeGroup.d.ts.map +1 -1
  33. package/dist/src/components/data-display/BarChart.d.ts.map +1 -1
  34. package/dist/src/components/data-display/CalendarGrid.d.ts +1 -1
  35. package/dist/src/components/data-display/CalendarGrid.d.ts.map +1 -1
  36. package/dist/src/components/data-display/DataTable.d.ts +3 -3
  37. package/dist/src/components/data-display/DataTable.d.ts.map +1 -1
  38. package/dist/src/components/data-display/LineChart.d.ts.map +1 -1
  39. package/dist/src/components/data-display/PieChart.d.ts +1 -1
  40. package/dist/src/components/data-display/PieChart.d.ts.map +1 -1
  41. package/dist/src/components/data-display/ProgressBar.d.ts.map +1 -1
  42. package/dist/src/components/data-display/RatingStars.d.ts.map +1 -1
  43. package/dist/src/components/data-display/Sparkline.d.ts.map +1 -1
  44. package/dist/src/components/data-display/Timeline.d.ts +1 -1
  45. package/dist/src/components/data-display/Timeline.d.ts.map +1 -1
  46. package/dist/src/components/data-display/index.d.ts +11 -11
  47. package/dist/src/components/data-display/index.d.ts.map +1 -1
  48. package/dist/src/components/ecommerce/index.d.ts +8 -8
  49. package/dist/src/components/ecommerce/index.d.ts.map +1 -1
  50. package/dist/src/components/forms/AddressAutocomplete.d.ts +1 -1
  51. package/dist/src/components/forms/AddressAutocomplete.d.ts.map +1 -1
  52. package/dist/src/components/forms/Captcha.d.ts +2 -2
  53. package/dist/src/components/forms/Captcha.d.ts.map +1 -1
  54. package/dist/src/components/forms/ContactForm.d.ts +1 -1
  55. package/dist/src/components/forms/ContactForm.d.ts.map +1 -1
  56. package/dist/src/components/forms/DateTimePicker.d.ts +2 -2
  57. package/dist/src/components/forms/DateTimePicker.d.ts.map +1 -1
  58. package/dist/src/components/forms/FileUploader.d.ts +1 -1
  59. package/dist/src/components/forms/FileUploader.d.ts.map +1 -1
  60. package/dist/src/components/forms/FormShell.d.ts +1 -1
  61. package/dist/src/components/forms/FormShell.d.ts.map +1 -1
  62. package/dist/src/components/forms/InputField.d.ts +1 -1
  63. package/dist/src/components/forms/InputField.d.ts.map +1 -1
  64. package/dist/src/components/forms/MultiStepWizard.d.ts +1 -1
  65. package/dist/src/components/forms/MultiStepWizard.d.ts.map +1 -1
  66. package/dist/src/components/forms/NewsletterSignup.d.ts +1 -1
  67. package/dist/src/components/forms/NewsletterSignup.d.ts.map +1 -1
  68. package/dist/src/components/forms/RadioGroup.d.ts +1 -1
  69. package/dist/src/components/forms/RadioGroup.d.ts.map +1 -1
  70. package/dist/src/components/forms/SelectDropdown.d.ts +1 -1
  71. package/dist/src/components/forms/SelectDropdown.d.ts.map +1 -1
  72. package/dist/src/components/forms/TextAreaField.d.ts +1 -1
  73. package/dist/src/components/forms/TextAreaField.d.ts.map +1 -1
  74. package/dist/src/components/forms/ToggleSwitch.d.ts +1 -1
  75. package/dist/src/components/forms/ToggleSwitch.d.ts.map +1 -1
  76. package/dist/src/components/forms/ValidationWrapper.d.ts +1 -1
  77. package/dist/src/components/forms/ValidationWrapper.d.ts.map +1 -1
  78. package/dist/src/components/forms/index.d.ts +28 -28
  79. package/dist/src/components/forms/index.d.ts.map +1 -1
  80. package/dist/src/components/hero/CTAOverlayHero.d.ts +1 -1
  81. package/dist/src/components/hero/CTAOverlayHero.d.ts.map +1 -1
  82. package/dist/src/components/hero/CarouselHero.d.ts +1 -1
  83. package/dist/src/components/hero/CarouselHero.d.ts.map +1 -1
  84. package/dist/src/components/hero/HeroShell.d.ts +1 -1
  85. package/dist/src/components/hero/HeroShell.d.ts.map +1 -1
  86. package/dist/src/components/hero/PatternedHero.d.ts +2 -2
  87. package/dist/src/components/hero/PatternedHero.d.ts.map +1 -1
  88. package/dist/src/components/hero/SplitHero.d.ts +1 -1
  89. package/dist/src/components/hero/SplitHero.d.ts.map +1 -1
  90. package/dist/src/components/hero/StaticHero.d.ts +2 -2
  91. package/dist/src/components/hero/StaticHero.d.ts.map +1 -1
  92. package/dist/src/components/hero/VideoHeaderHero.d.ts +1 -1
  93. package/dist/src/components/hero/VideoHeaderHero.d.ts.map +1 -1
  94. package/dist/src/components/hero/index.d.ts +14 -14
  95. package/dist/src/components/hero/index.d.ts.map +1 -1
  96. package/dist/src/components/lists-cards/index.d.ts +7 -7
  97. package/dist/src/components/lists-cards/index.d.ts.map +1 -1
  98. package/dist/src/components/marketing/index.d.ts +5 -5
  99. package/dist/src/components/marketing/index.d.ts.map +1 -1
  100. package/dist/src/components/media/index.d.ts +7 -7
  101. package/dist/src/components/media/index.d.ts.map +1 -1
  102. package/dist/src/components/miscellaneous/index.d.ts +4 -4
  103. package/dist/src/components/miscellaneous/index.d.ts.map +1 -1
  104. package/dist/src/components/modals/index.d.ts +5 -5
  105. package/dist/src/components/modals/index.d.ts.map +1 -1
  106. package/dist/src/components/navigation/AnchorLinks.d.ts +2 -2
  107. package/dist/src/components/navigation/AnchorLinks.d.ts.map +1 -1
  108. package/dist/src/components/navigation/Breadcrumbs.d.ts +1 -1
  109. package/dist/src/components/navigation/Breadcrumbs.d.ts.map +1 -1
  110. package/dist/src/components/navigation/Footer.d.ts +1 -1
  111. package/dist/src/components/navigation/Footer.d.ts.map +1 -1
  112. package/dist/src/components/navigation/LanguageSelector.d.ts +1 -1
  113. package/dist/src/components/navigation/LanguageSelector.d.ts.map +1 -1
  114. package/dist/src/components/navigation/MegaMenu.d.ts +1 -1
  115. package/dist/src/components/navigation/MegaMenu.d.ts.map +1 -1
  116. package/dist/src/components/navigation/Pagination.d.ts.map +1 -1
  117. package/dist/src/components/navigation/PrimaryNav.d.ts.map +1 -1
  118. package/dist/src/components/navigation/SideDrawerNav.d.ts +2 -2
  119. package/dist/src/components/navigation/SideDrawerNav.d.ts.map +1 -1
  120. package/dist/src/components/navigation/SidebarMenu.d.ts +1 -1
  121. package/dist/src/components/navigation/SidebarMenu.d.ts.map +1 -1
  122. package/dist/src/components/navigation/Stepper.d.ts +1 -1
  123. package/dist/src/components/navigation/Stepper.d.ts.map +1 -1
  124. package/dist/src/components/navigation/Tabs.d.ts +2 -2
  125. package/dist/src/components/navigation/Tabs.d.ts.map +1 -1
  126. package/dist/src/components/navigation/index.d.ts +22 -22
  127. package/dist/src/components/navigation/index.d.ts.map +1 -1
  128. package/dist/src/components/onboarding/index.d.ts +7 -7
  129. package/dist/src/components/onboarding/index.d.ts.map +1 -1
  130. package/dist/src/components/search/index.d.ts +3 -3
  131. package/dist/src/components/search/index.d.ts.map +1 -1
  132. package/dist/src/components/site-identity/index.d.ts +5 -5
  133. package/dist/src/components/site-identity/index.d.ts.map +1 -1
  134. package/dist/src/components/social/index.d.ts +7 -7
  135. package/dist/src/components/social/index.d.ts.map +1 -1
  136. package/dist/src/components/user-accounts/index.d.ts +6 -6
  137. package/dist/src/components/user-accounts/index.d.ts.map +1 -1
  138. package/dist/src/core/config.d.ts +1 -1
  139. package/dist/src/core/config.d.ts.map +1 -1
  140. package/dist/src/core/icons.d.ts +1 -1
  141. package/dist/src/core/icons.d.ts.map +1 -1
  142. package/dist/src/core/index.d.ts +7 -7
  143. package/dist/src/core/index.d.ts.map +1 -1
  144. package/dist/src/core/provider.d.ts +20 -20
  145. package/dist/src/core/provider.d.ts.map +1 -1
  146. package/dist/src/core/types.d.ts +4 -4
  147. package/dist/src/core/types.d.ts.map +1 -1
  148. package/dist/src/core/utils.d.ts +1 -1
  149. package/dist/src/core/utils.d.ts.map +1 -1
  150. package/dist/src/index.d.ts +19 -19
  151. package/dist/src/index.d.ts.map +1 -1
  152. package/metadata/blog.json +807 -0
  153. package/metadata/buttons.json +2186 -0
  154. package/metadata/content.json +1152 -0
  155. package/metadata/data-display.json +822 -0
  156. package/metadata/ecommerce.json +1059 -0
  157. package/metadata/forms.json +2637 -0
  158. package/metadata/hero.json +1401 -0
  159. package/metadata/lists-cards.json +848 -0
  160. package/metadata/marketing.json +1235 -0
  161. package/metadata/media.json +800 -0
  162. package/metadata/miscellaneous.json +778 -0
  163. package/metadata/modals.json +954 -0
  164. package/metadata/navigation.json +1348 -0
  165. package/metadata/onboarding.json +615 -0
  166. package/metadata/search.json +559 -0
  167. package/metadata/site-identity.json +555 -0
  168. package/metadata/social.json +654 -0
  169. package/metadata/user-accounts.json +727 -0
  170. package/package.json +18 -6
  171. package/dist/README.md +0 -35
  172. package/dist/src/__tests__/test-utils.d.ts +0 -8
  173. package/dist/src/__tests__/test-utils.d.ts.map +0 -1
@@ -0,0 +1,73 @@
1
+ // Type declarations for @electroplix/components/config
2
+ // Auto-generated by scripts/postbuild.cjs
3
+
4
+ import type {
5
+ BaseTheme,
6
+ BlogTheme,
7
+ ButtonTheme,
8
+ ContentTheme,
9
+ DataDisplayTheme,
10
+ EcommerceTheme,
11
+ FormsTheme,
12
+ HeroTheme,
13
+ ListsCardsTheme,
14
+ MarketingTheme,
15
+ MediaTheme,
16
+ MiscTheme,
17
+ ModalsTheme,
18
+ NavigationTheme,
19
+ OnboardingTheme,
20
+ SearchTheme,
21
+ SiteIdentityTheme,
22
+ SocialTheme,
23
+ UserAccountsTheme,
24
+ ElectroplixConfig,
25
+ } from './index';
26
+
27
+ export type {
28
+ BaseTheme,
29
+ BlogTheme,
30
+ ButtonTheme,
31
+ ContentTheme,
32
+ DataDisplayTheme,
33
+ EcommerceTheme,
34
+ FormsTheme,
35
+ HeroTheme,
36
+ ListsCardsTheme,
37
+ MarketingTheme,
38
+ MediaTheme,
39
+ MiscTheme,
40
+ ModalsTheme,
41
+ NavigationTheme,
42
+ OnboardingTheme,
43
+ SearchTheme,
44
+ SiteIdentityTheme,
45
+ SocialTheme,
46
+ UserAccountsTheme,
47
+ ElectroplixConfig,
48
+ };
49
+
50
+ export declare const defaultBlogTheme: Required<BlogTheme>;
51
+ export declare const defaultButtonTheme: Required<ButtonTheme>;
52
+ export declare const defaultContentTheme: Required<ContentTheme>;
53
+ export declare const defaultDataDisplayTheme: Required<DataDisplayTheme>;
54
+ export declare const defaultEcommerceTheme: Required<EcommerceTheme>;
55
+ export declare const defaultFormsTheme: Required<FormsTheme>;
56
+ export declare const defaultHeroTheme: Required<HeroTheme>;
57
+ export declare const defaultListsCardsTheme: Required<ListsCardsTheme>;
58
+ export declare const defaultMarketingTheme: Required<MarketingTheme>;
59
+ export declare const defaultMediaTheme: Required<MediaTheme>;
60
+ export declare const defaultMiscTheme: Required<MiscTheme>;
61
+ export declare const defaultModalsTheme: Required<ModalsTheme>;
62
+ export declare const defaultNavigationTheme: Required<NavigationTheme>;
63
+ export declare const defaultOnboardingTheme: Required<OnboardingTheme>;
64
+ export declare const defaultSearchTheme: Required<SearchTheme>;
65
+ export declare const defaultSiteIdentityTheme: Required<SiteIdentityTheme>;
66
+ export declare const defaultSocialTheme: Required<SocialTheme>;
67
+ export declare const defaultUserAccountsTheme: Required<UserAccountsTheme>;
68
+ export declare const defaultConfig: ElectroplixConfig;
69
+ export declare function defineConfig(config: ElectroplixConfig): ElectroplixConfig;
70
+ export declare function mergeTheme<T extends Record<string, unknown>>(
71
+ target: T,
72
+ ...sources: Array<Partial<T> | undefined>
73
+ ): T;
@@ -0,0 +1,229 @@
1
+ // @electroplix/components/config — server-safe configuration utilities.
2
+ // This module intentionally does NOT include "use client" so it can be
3
+ // imported from Server Components, config files, and Node.js scripts.
4
+ // Auto-generated by scripts/postbuild.cjs — mirrors src/core/config.ts.
5
+
6
+ /* ── base palette ────────────────────────────────────────── */
7
+
8
+ const base = {
9
+ bgColor: "#0b0b0c",
10
+ textColor: "#F3F4F6",
11
+ accentColor: "#8B5CF6",
12
+ borderColor: "rgba(255,255,255,0.12)",
13
+ fontFamily: "Inter, ui-sans-serif, system-ui",
14
+ radius: 14,
15
+ spacing: 14,
16
+ headingSize: 20,
17
+ bodySize: 14,
18
+ fontWeight: "400",
19
+ lineHeight: 1.5,
20
+ letterSpacing: 0,
21
+ shadow: "none",
22
+ };
23
+
24
+ /* ── per-category defaults ───────────────────────────────── */
25
+
26
+ export const defaultBlogTheme = {
27
+ ...base,
28
+ cardBg: "rgba(128,128,128,0.1)",
29
+ cardRadius: 10,
30
+ cardBorder: "rgba(255,255,255,0.12)",
31
+ tagBg: "rgba(139,92,246,0.15)",
32
+ tagColor: "#C4B5FD",
33
+ };
34
+
35
+ export const defaultButtonTheme = {
36
+ bgColor: "#2563eb",
37
+ textColor: "#fff",
38
+ accentColor: "#8B5CF6",
39
+ borderColor: "transparent",
40
+ fontFamily: "Inter, sans-serif",
41
+ fontSize: 15,
42
+ fontWeight: "500",
43
+ letterSpacing: 0,
44
+ lineHeight: 1,
45
+ radius: 8,
46
+ paddingX: 18,
47
+ paddingY: 10,
48
+ gap: 8,
49
+ opacity: 1,
50
+ shadow: "none",
51
+ transitionDuration: 200,
52
+ };
53
+
54
+ export const defaultContentTheme = {
55
+ ...base,
56
+ cardBg: "rgba(128,128,128,0.1)",
57
+ cardRadius: 10,
58
+ cardBorder: "rgba(255,255,255,0.12)",
59
+ maxW: 800,
60
+ px: 24,
61
+ py: 24,
62
+ gap: 16,
63
+ };
64
+
65
+ export const defaultDataDisplayTheme = {
66
+ ...base,
67
+ cardBg: "#0b0b0c",
68
+ cardRadius: 12,
69
+ cardBorder: "rgba(255,255,255,0.1)",
70
+ gridColor: "rgba(255,255,255,0.08)",
71
+ };
72
+
73
+ export const defaultEcommerceTheme = {
74
+ ...base,
75
+ headingSize: 22,
76
+ accentColor: "#7C3AED",
77
+ borderColor: "rgba(255,255,255,0.12)",
78
+ cardBg: "#0b0b0c",
79
+ cardRadius: 12,
80
+ cardBorder: "rgba(255,255,255,0.1)",
81
+ inputBg: "rgba(128,128,128,0.1)",
82
+ inputText: "#E5E7EB",
83
+ buttonSize: 14,
84
+ };
85
+
86
+ export const defaultFormsTheme = {
87
+ ...base,
88
+ cardBg: "rgba(128,128,128,0.1)",
89
+ cardRadius: 10,
90
+ cardBorder: "rgba(255,255,255,0.12)",
91
+ inputBg: "rgba(128,128,128,0.1)",
92
+ inputText: "#E5E7EB",
93
+ maxW: 600,
94
+ px: 24,
95
+ py: 24,
96
+ gap: 16,
97
+ };
98
+
99
+ export const defaultHeroTheme = {
100
+ ...base,
101
+ cardBg: "rgba(128,128,128,0.1)",
102
+ cardRadius: 12,
103
+ cardBorder: "rgba(255,255,255,0.12)",
104
+ minH: 480,
105
+ maxW: 1200,
106
+ px: 24,
107
+ py: 48,
108
+ gap: 24,
109
+ };
110
+
111
+ export const defaultListsCardsTheme = {
112
+ ...base,
113
+ cardBg: "rgba(128,128,128,0.1)",
114
+ cardRadius: 10,
115
+ cardBorder: "rgba(255,255,255,0.12)",
116
+ inputBg: "rgba(128,128,128,0.1)",
117
+ inputText: "#E5E7EB",
118
+ maxW: 1200,
119
+ px: 24,
120
+ py: 24,
121
+ gap: 16,
122
+ };
123
+
124
+ export const defaultMarketingTheme = {
125
+ ...base,
126
+ cardBg: "rgba(128,128,128,0.1)",
127
+ cardRadius: 10,
128
+ cardBorder: "rgba(255,255,255,0.12)",
129
+ inputBg: "#191a1f",
130
+ inputText: "#E5E7EB",
131
+ mutedText: "rgba(255,255,255,0.7)",
132
+ gridColor: "rgba(255,255,255,0.08)",
133
+ shadow: "0 10px 25px rgba(0,0,0,0.35)",
134
+ };
135
+
136
+ export const defaultMediaTheme = { ...base };
137
+
138
+ export const defaultMiscTheme = {
139
+ ...base,
140
+ radius: 16,
141
+ spacing: 16,
142
+ headingSize: 18,
143
+ shadow: "0 20px 50px rgba(0,0,0,0.5)",
144
+ surfaceColor: "rgba(255,255,255,0.03)",
145
+ codeBg: "rgba(139,92,246,0.1)",
146
+ codeText: "#E5E7EB",
147
+ mutedText: "rgba(255,255,255,0.6)",
148
+ };
149
+
150
+ export const defaultModalsTheme = { ...base };
151
+
152
+ export const defaultNavigationTheme = {
153
+ ...base,
154
+ height: 72,
155
+ padding: 24,
156
+ sticky: false,
157
+ showSearch: false,
158
+ showCTA: false,
159
+ };
160
+
161
+ export const defaultOnboardingTheme = {
162
+ ...base,
163
+ cardBg: "rgba(128,128,128,0.1)",
164
+ cardRadius: 10,
165
+ cardBorder: "rgba(255,255,255,0.12)",
166
+ };
167
+
168
+ export const defaultSearchTheme = {
169
+ ...base,
170
+ cardBg: "rgba(128,128,128,0.1)",
171
+ cardRadius: 10,
172
+ cardBorder: "rgba(255,255,255,0.12)",
173
+ };
174
+
175
+ export const defaultSiteIdentityTheme = { ...base };
176
+
177
+ export const defaultSocialTheme = {
178
+ ...base,
179
+ mutedText: "rgba(255,255,255,0.65)",
180
+ buttonText: "#ffffff",
181
+ };
182
+
183
+ export const defaultUserAccountsTheme = {
184
+ ...base,
185
+ inputBg: "rgba(128,128,128,0.1)",
186
+ inputText: "#E5E7EB",
187
+ };
188
+
189
+ /* ── aggregate config ────────────────────────────────────── */
190
+
191
+ export const defaultConfig = {
192
+ blog: { ...defaultBlogTheme },
193
+ buttons: { ...defaultButtonTheme },
194
+ content: { ...defaultContentTheme },
195
+ dataDisplay: { ...defaultDataDisplayTheme },
196
+ ecommerce: { ...defaultEcommerceTheme },
197
+ forms: { ...defaultFormsTheme },
198
+ hero: { ...defaultHeroTheme },
199
+ listsCards: { ...defaultListsCardsTheme },
200
+ marketing: { ...defaultMarketingTheme },
201
+ media: { ...defaultMediaTheme },
202
+ miscellaneous: { ...defaultMiscTheme },
203
+ modals: { ...defaultModalsTheme },
204
+ navigation: { ...defaultNavigationTheme },
205
+ onboarding: { ...defaultOnboardingTheme },
206
+ search: { ...defaultSearchTheme },
207
+ siteIdentity: { ...defaultSiteIdentityTheme },
208
+ social: { ...defaultSocialTheme },
209
+ userAccounts: { ...defaultUserAccountsTheme },
210
+ };
211
+
212
+ /* ── utilities ───────────────────────────────────────────── */
213
+
214
+ export function defineConfig(config) {
215
+ return config;
216
+ }
217
+
218
+ export function mergeTheme(target, ...sources) {
219
+ const result = { ...target };
220
+ for (const source of sources) {
221
+ if (!source) continue;
222
+ for (const key of Object.keys(source)) {
223
+ if (source[key] !== undefined) {
224
+ result[key] = source[key];
225
+ }
226
+ }
227
+ }
228
+ return result;
229
+ }