@electroplix/components 0.4.1 → 0.5.0-alpha.11
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/CHANGELOG.md +154 -0
- package/LICENSE +21 -0
- package/README.md +88 -474
- package/SECURITY.md +19 -0
- package/cli.cjs +544 -485
- package/dist/config.d.ts +73 -0
- package/dist/config.esm.js +229 -0
- package/dist/index.esm.js +10195 -8528
- package/dist/package.json +100 -0
- package/dist/src/components/blog/index.d.ts +21 -21
- package/dist/src/components/blog/index.d.ts.map +1 -1
- package/dist/src/components/buttons/index.d.ts +41 -16
- package/dist/src/components/buttons/index.d.ts.map +1 -1
- package/dist/src/components/content/BlockquoteTestimonial.d.ts +3 -5
- package/dist/src/components/content/BlockquoteTestimonial.d.ts.map +1 -1
- package/dist/src/components/content/CalloutBox.d.ts +4 -6
- package/dist/src/components/content/CalloutBox.d.ts.map +1 -1
- package/dist/src/components/content/HeadingSection.d.ts +4 -6
- package/dist/src/components/content/HeadingSection.d.ts.map +1 -1
- package/dist/src/components/content/InlineCodeText.d.ts +5 -6
- package/dist/src/components/content/InlineCodeText.d.ts.map +1 -1
- package/dist/src/components/content/ParagraphBlock.d.ts +5 -7
- package/dist/src/components/content/ParagraphBlock.d.ts.map +1 -1
- package/dist/src/components/content/RichMarkdown.d.ts +5 -6
- package/dist/src/components/content/RichMarkdown.d.ts.map +1 -1
- package/dist/src/components/content/TeamGrid.d.ts +3 -2
- package/dist/src/components/content/TeamGrid.d.ts.map +1 -1
- package/dist/src/components/content/index.d.ts +7 -7
- package/dist/src/components/content/index.d.ts.map +1 -1
- package/dist/src/components/data-display/Badge.d.ts +6 -5
- package/dist/src/components/data-display/Badge.d.ts.map +1 -1
- package/dist/src/components/data-display/BadgeGroup.d.ts +6 -4
- package/dist/src/components/data-display/BadgeGroup.d.ts.map +1 -1
- package/dist/src/components/data-display/BarChart.d.ts +3 -2
- package/dist/src/components/data-display/BarChart.d.ts.map +1 -1
- package/dist/src/components/data-display/CalendarGrid.d.ts +4 -3
- package/dist/src/components/data-display/CalendarGrid.d.ts.map +1 -1
- package/dist/src/components/data-display/DataTable.d.ts +5 -5
- package/dist/src/components/data-display/DataTable.d.ts.map +1 -1
- package/dist/src/components/data-display/LineChart.d.ts +3 -2
- package/dist/src/components/data-display/LineChart.d.ts.map +1 -1
- package/dist/src/components/data-display/PieChart.d.ts +3 -2
- package/dist/src/components/data-display/PieChart.d.ts.map +1 -1
- package/dist/src/components/data-display/ProgressBar.d.ts +3 -2
- package/dist/src/components/data-display/ProgressBar.d.ts.map +1 -1
- package/dist/src/components/data-display/RatingStars.d.ts +3 -2
- package/dist/src/components/data-display/RatingStars.d.ts.map +1 -1
- package/dist/src/components/data-display/Sparkline.d.ts +3 -2
- package/dist/src/components/data-display/Sparkline.d.ts.map +1 -1
- package/dist/src/components/data-display/Timeline.d.ts +4 -3
- package/dist/src/components/data-display/Timeline.d.ts.map +1 -1
- package/dist/src/components/data-display/index.d.ts +11 -11
- package/dist/src/components/data-display/index.d.ts.map +1 -1
- package/dist/src/components/ecommerce/index.d.ts +24 -21
- package/dist/src/components/ecommerce/index.d.ts.map +1 -1
- package/dist/src/components/forms/AddressAutocomplete.d.ts +2 -4
- package/dist/src/components/forms/AddressAutocomplete.d.ts.map +1 -1
- package/dist/src/components/forms/Captcha.d.ts +3 -5
- package/dist/src/components/forms/Captcha.d.ts.map +1 -1
- package/dist/src/components/forms/ContactForm.d.ts +2 -4
- package/dist/src/components/forms/ContactForm.d.ts.map +1 -1
- package/dist/src/components/forms/DateTimePicker.d.ts +3 -5
- package/dist/src/components/forms/DateTimePicker.d.ts.map +1 -1
- package/dist/src/components/forms/FileUploader.d.ts +2 -4
- package/dist/src/components/forms/FileUploader.d.ts.map +1 -1
- package/dist/src/components/forms/FormShell.d.ts +2 -5
- package/dist/src/components/forms/FormShell.d.ts.map +1 -1
- package/dist/src/components/forms/InputField.d.ts +2 -4
- package/dist/src/components/forms/InputField.d.ts.map +1 -1
- package/dist/src/components/forms/MultiStepWizard.d.ts +2 -4
- package/dist/src/components/forms/MultiStepWizard.d.ts.map +1 -1
- package/dist/src/components/forms/NewsletterSignup.d.ts +2 -4
- package/dist/src/components/forms/NewsletterSignup.d.ts.map +1 -1
- package/dist/src/components/forms/RadioGroup.d.ts +2 -4
- package/dist/src/components/forms/RadioGroup.d.ts.map +1 -1
- package/dist/src/components/forms/SelectDropdown.d.ts +2 -4
- package/dist/src/components/forms/SelectDropdown.d.ts.map +1 -1
- package/dist/src/components/forms/TextAreaField.d.ts +2 -4
- package/dist/src/components/forms/TextAreaField.d.ts.map +1 -1
- package/dist/src/components/forms/ToggleSwitch.d.ts +2 -4
- package/dist/src/components/forms/ToggleSwitch.d.ts.map +1 -1
- package/dist/src/components/forms/ValidationWrapper.d.ts +2 -4
- package/dist/src/components/forms/ValidationWrapper.d.ts.map +1 -1
- package/dist/src/components/forms/index.d.ts +28 -28
- package/dist/src/components/forms/index.d.ts.map +1 -1
- package/dist/src/components/hero/CTAOverlayHero.d.ts +2 -4
- package/dist/src/components/hero/CTAOverlayHero.d.ts.map +1 -1
- package/dist/src/components/hero/CarouselHero.d.ts +2 -4
- package/dist/src/components/hero/CarouselHero.d.ts.map +1 -1
- package/dist/src/components/hero/HeroShell.d.ts +2 -5
- package/dist/src/components/hero/HeroShell.d.ts.map +1 -1
- package/dist/src/components/hero/ImageHero.d.ts +35 -0
- package/dist/src/components/hero/ImageHero.d.ts.map +1 -0
- package/dist/src/components/hero/PatternedHero.d.ts +3 -5
- package/dist/src/components/hero/PatternedHero.d.ts.map +1 -1
- package/dist/src/components/hero/SplitHero.d.ts +2 -4
- package/dist/src/components/hero/SplitHero.d.ts.map +1 -1
- package/dist/src/components/hero/StaticHero.d.ts +3 -5
- package/dist/src/components/hero/StaticHero.d.ts.map +1 -1
- package/dist/src/components/hero/VideoHeaderHero.d.ts +2 -4
- package/dist/src/components/hero/VideoHeaderHero.d.ts.map +1 -1
- package/dist/src/components/hero/index.d.ts +16 -14
- package/dist/src/components/hero/index.d.ts.map +1 -1
- package/dist/src/components/lists-cards/index.d.ts +17 -20
- package/dist/src/components/lists-cards/index.d.ts.map +1 -1
- package/dist/src/components/marketing/index.d.ts +22 -22
- package/dist/src/components/marketing/index.d.ts.map +1 -1
- package/dist/src/components/media/index.d.ts +27 -29
- package/dist/src/components/media/index.d.ts.map +1 -1
- package/dist/src/components/miscellaneous/index.d.ts +18 -17
- package/dist/src/components/miscellaneous/index.d.ts.map +1 -1
- package/dist/src/components/modals/index.d.ts +23 -34
- package/dist/src/components/modals/index.d.ts.map +1 -1
- package/dist/src/components/navigation/AnchorLinks.d.ts +4 -6
- package/dist/src/components/navigation/AnchorLinks.d.ts.map +1 -1
- package/dist/src/components/navigation/Breadcrumbs.d.ts +3 -5
- package/dist/src/components/navigation/Breadcrumbs.d.ts.map +1 -1
- package/dist/src/components/navigation/Footer.d.ts +3 -4
- package/dist/src/components/navigation/Footer.d.ts.map +1 -1
- package/dist/src/components/navigation/LanguageSelector.d.ts +3 -5
- package/dist/src/components/navigation/LanguageSelector.d.ts.map +1 -1
- package/dist/src/components/navigation/MegaMenu.d.ts +3 -5
- package/dist/src/components/navigation/MegaMenu.d.ts.map +1 -1
- package/dist/src/components/navigation/Pagination.d.ts +3 -2
- package/dist/src/components/navigation/Pagination.d.ts.map +1 -1
- package/dist/src/components/navigation/PrimaryNav.d.ts +3 -2
- package/dist/src/components/navigation/PrimaryNav.d.ts.map +1 -1
- package/dist/src/components/navigation/SideDrawerNav.d.ts +5 -4
- package/dist/src/components/navigation/SideDrawerNav.d.ts.map +1 -1
- package/dist/src/components/navigation/SidebarMenu.d.ts +4 -3
- package/dist/src/components/navigation/SidebarMenu.d.ts.map +1 -1
- package/dist/src/components/navigation/Stepper.d.ts +4 -3
- package/dist/src/components/navigation/Stepper.d.ts.map +1 -1
- package/dist/src/components/navigation/Tabs.d.ts +5 -4
- package/dist/src/components/navigation/Tabs.d.ts.map +1 -1
- package/dist/src/components/navigation/index.d.ts +22 -22
- package/dist/src/components/navigation/index.d.ts.map +1 -1
- package/dist/src/components/onboarding/index.d.ts +17 -17
- package/dist/src/components/onboarding/index.d.ts.map +1 -1
- package/dist/src/components/search/index.d.ts +13 -12
- package/dist/src/components/search/index.d.ts.map +1 -1
- package/dist/src/components/site-identity/index.d.ts +13 -14
- package/dist/src/components/site-identity/index.d.ts.map +1 -1
- package/dist/src/components/social/index.d.ts +19 -18
- package/dist/src/components/social/index.d.ts.map +1 -1
- package/dist/src/components/user-accounts/index.d.ts +17 -17
- package/dist/src/components/user-accounts/index.d.ts.map +1 -1
- package/dist/src/core/config.d.ts +1 -1
- package/dist/src/core/config.d.ts.map +1 -1
- package/dist/src/core/icons.d.ts +1 -1
- package/dist/src/core/icons.d.ts.map +1 -1
- package/dist/src/core/index.d.ts +7 -7
- package/dist/src/core/index.d.ts.map +1 -1
- package/dist/src/core/provider.d.ts +20 -20
- package/dist/src/core/provider.d.ts.map +1 -1
- package/dist/src/core/styles.d.ts +2 -0
- package/dist/src/core/styles.d.ts.map +1 -0
- package/dist/src/core/types.d.ts +4 -4
- package/dist/src/core/types.d.ts.map +1 -1
- package/dist/src/core/utils.d.ts +1 -1
- package/dist/src/core/utils.d.ts.map +1 -1
- package/dist/src/index.d.ts +19 -19
- package/dist/src/index.d.ts.map +1 -1
- package/metadata/blog.json +807 -0
- package/metadata/buttons.json +2186 -0
- package/metadata/content.json +1152 -0
- package/metadata/data-display.json +822 -0
- package/metadata/ecommerce.json +1059 -0
- package/metadata/forms.json +2637 -0
- package/metadata/hero.json +1401 -0
- package/metadata/lists-cards.json +848 -0
- package/metadata/marketing.json +1235 -0
- package/metadata/media.json +800 -0
- package/metadata/miscellaneous.json +778 -0
- package/metadata/modals.json +954 -0
- package/metadata/navigation.json +1348 -0
- package/metadata/onboarding.json +615 -0
- package/metadata/search.json +559 -0
- package/metadata/site-identity.json +555 -0
- package/metadata/social.json +654 -0
- package/metadata/user-accounts.json +727 -0
- package/package.json +22 -7
- package/dist/README.md +0 -35
- package/dist/src/__tests__/test-utils.d.ts +0 -8
- package/dist/src/__tests__/test-utils.d.ts.map +0 -1
|
@@ -0,0 +1,848 @@
|
|
|
1
|
+
{
|
|
2
|
+
"$schema": "electroplix-component-metadata-v1",
|
|
3
|
+
"category": "lists-cards",
|
|
4
|
+
"label": "Lists & Cards",
|
|
5
|
+
"description": "Layout components for lists, grids, accordions, pricing tables, and card-based content organization",
|
|
6
|
+
"themeKey": "listsCards",
|
|
7
|
+
"icon": "layout",
|
|
8
|
+
"sortOrder": 8,
|
|
9
|
+
"components": [
|
|
10
|
+
{
|
|
11
|
+
"id": "listsCards.BlockShell",
|
|
12
|
+
"name": "BlockShell",
|
|
13
|
+
"description": "Generic section shell/container that wraps child content with consistent padding, max-width, and background styling. Use as a layout wrapper for any section.",
|
|
14
|
+
"whenToUse": "Use as a foundational layout container on any page to wrap sections with consistent spacing, max-width constraints, and background colors. Ideal for structuring body content across all page types.",
|
|
15
|
+
"isShell": true,
|
|
16
|
+
"props": [
|
|
17
|
+
{
|
|
18
|
+
"name": "as",
|
|
19
|
+
"type": "ElementType",
|
|
20
|
+
"required": false,
|
|
21
|
+
"default": "\"section\"",
|
|
22
|
+
"description": "HTML element or component to render as"
|
|
23
|
+
},
|
|
24
|
+
{
|
|
25
|
+
"name": "maxW",
|
|
26
|
+
"type": "number",
|
|
27
|
+
"required": false,
|
|
28
|
+
"default": "900",
|
|
29
|
+
"description": "Maximum width of the shell in pixels"
|
|
30
|
+
},
|
|
31
|
+
{
|
|
32
|
+
"name": "px",
|
|
33
|
+
"type": "number",
|
|
34
|
+
"required": false,
|
|
35
|
+
"default": "24",
|
|
36
|
+
"description": "Horizontal padding in pixels"
|
|
37
|
+
},
|
|
38
|
+
{
|
|
39
|
+
"name": "py",
|
|
40
|
+
"type": "number",
|
|
41
|
+
"required": false,
|
|
42
|
+
"default": "24",
|
|
43
|
+
"description": "Vertical padding in pixels"
|
|
44
|
+
},
|
|
45
|
+
{
|
|
46
|
+
"name": "radius",
|
|
47
|
+
"type": "number",
|
|
48
|
+
"required": false,
|
|
49
|
+
"default": "theme",
|
|
50
|
+
"description": "Border radius"
|
|
51
|
+
},
|
|
52
|
+
{
|
|
53
|
+
"name": "gap",
|
|
54
|
+
"type": "number",
|
|
55
|
+
"required": false,
|
|
56
|
+
"default": "16",
|
|
57
|
+
"description": "Gap between child elements in pixels"
|
|
58
|
+
},
|
|
59
|
+
{
|
|
60
|
+
"name": "bgColor",
|
|
61
|
+
"type": "string",
|
|
62
|
+
"required": false,
|
|
63
|
+
"default": "theme",
|
|
64
|
+
"description": "Background color override"
|
|
65
|
+
},
|
|
66
|
+
{
|
|
67
|
+
"name": "textColor",
|
|
68
|
+
"type": "string",
|
|
69
|
+
"required": false,
|
|
70
|
+
"default": "theme",
|
|
71
|
+
"description": "Text color override"
|
|
72
|
+
},
|
|
73
|
+
{
|
|
74
|
+
"name": "fontFamily",
|
|
75
|
+
"type": "string",
|
|
76
|
+
"required": false,
|
|
77
|
+
"default": "theme",
|
|
78
|
+
"description": "Font family override"
|
|
79
|
+
},
|
|
80
|
+
{
|
|
81
|
+
"name": "style",
|
|
82
|
+
"type": "CSSProperties",
|
|
83
|
+
"required": false,
|
|
84
|
+
"default": null,
|
|
85
|
+
"description": "Custom inline styles"
|
|
86
|
+
},
|
|
87
|
+
{
|
|
88
|
+
"name": "className",
|
|
89
|
+
"type": "string",
|
|
90
|
+
"required": false,
|
|
91
|
+
"default": null,
|
|
92
|
+
"description": "Custom CSS class"
|
|
93
|
+
},
|
|
94
|
+
{
|
|
95
|
+
"name": "children",
|
|
96
|
+
"type": "ReactNode",
|
|
97
|
+
"required": false,
|
|
98
|
+
"default": null,
|
|
99
|
+
"description": "Child content to render inside the shell"
|
|
100
|
+
}
|
|
101
|
+
],
|
|
102
|
+
"themeTokens": [
|
|
103
|
+
"bgColor",
|
|
104
|
+
"textColor",
|
|
105
|
+
"accentColor",
|
|
106
|
+
"borderColor",
|
|
107
|
+
"fontFamily",
|
|
108
|
+
"radius",
|
|
109
|
+
"spacing",
|
|
110
|
+
"cardBg",
|
|
111
|
+
"cardRadius",
|
|
112
|
+
"cardBorder",
|
|
113
|
+
"inputBg",
|
|
114
|
+
"inputText",
|
|
115
|
+
"maxW",
|
|
116
|
+
"px",
|
|
117
|
+
"py",
|
|
118
|
+
"gap"
|
|
119
|
+
],
|
|
120
|
+
"aiHints": {
|
|
121
|
+
"pageTypes": [
|
|
122
|
+
"landing",
|
|
123
|
+
"marketing",
|
|
124
|
+
"dashboard",
|
|
125
|
+
"blog",
|
|
126
|
+
"ecommerce",
|
|
127
|
+
"portfolio",
|
|
128
|
+
"saas",
|
|
129
|
+
"documentation",
|
|
130
|
+
"admin"
|
|
131
|
+
],
|
|
132
|
+
"placement": "body",
|
|
133
|
+
"priority": 4,
|
|
134
|
+
"sequenceOrder": 4,
|
|
135
|
+
"pairsWellWith": [
|
|
136
|
+
"listsCards.Accordion",
|
|
137
|
+
"listsCards.GenericList",
|
|
138
|
+
"listsCards.FeatureGrid",
|
|
139
|
+
"content.HeadingSection"
|
|
140
|
+
],
|
|
141
|
+
"maxPerPage": 10,
|
|
142
|
+
"isContainer": true
|
|
143
|
+
}
|
|
144
|
+
},
|
|
145
|
+
{
|
|
146
|
+
"id": "listsCards.Accordion",
|
|
147
|
+
"name": "Accordion",
|
|
148
|
+
"description": "Expandable content panels where each item has a clickable title that reveals or hides its content. Supports single or multiple open panels.",
|
|
149
|
+
"whenToUse": "Use for FAQs, documentation sections, settings panels, or any content that benefits from progressive disclosure. Great for reducing visual clutter while keeping information accessible.",
|
|
150
|
+
"isShell": false,
|
|
151
|
+
"props": [
|
|
152
|
+
{
|
|
153
|
+
"name": "items",
|
|
154
|
+
"type": "AccordionItem[]",
|
|
155
|
+
"required": true,
|
|
156
|
+
"default": null,
|
|
157
|
+
"description": "Array of accordion items: {id, title, content: ReactNode}"
|
|
158
|
+
},
|
|
159
|
+
{
|
|
160
|
+
"name": "allowMultiple",
|
|
161
|
+
"type": "boolean",
|
|
162
|
+
"required": false,
|
|
163
|
+
"default": "false",
|
|
164
|
+
"description": "Whether multiple panels can be expanded simultaneously"
|
|
165
|
+
},
|
|
166
|
+
{
|
|
167
|
+
"name": "bgColor",
|
|
168
|
+
"type": "string",
|
|
169
|
+
"required": false,
|
|
170
|
+
"default": "theme",
|
|
171
|
+
"description": "Background color override"
|
|
172
|
+
},
|
|
173
|
+
{
|
|
174
|
+
"name": "textColor",
|
|
175
|
+
"type": "string",
|
|
176
|
+
"required": false,
|
|
177
|
+
"default": "theme",
|
|
178
|
+
"description": "Text color override"
|
|
179
|
+
},
|
|
180
|
+
{
|
|
181
|
+
"name": "accentColor",
|
|
182
|
+
"type": "string",
|
|
183
|
+
"required": false,
|
|
184
|
+
"default": "theme",
|
|
185
|
+
"description": "Accent color override"
|
|
186
|
+
},
|
|
187
|
+
{
|
|
188
|
+
"name": "borderColor",
|
|
189
|
+
"type": "string",
|
|
190
|
+
"required": false,
|
|
191
|
+
"default": "theme",
|
|
192
|
+
"description": "Border color override"
|
|
193
|
+
},
|
|
194
|
+
{
|
|
195
|
+
"name": "fontFamily",
|
|
196
|
+
"type": "string",
|
|
197
|
+
"required": false,
|
|
198
|
+
"default": "theme",
|
|
199
|
+
"description": "Font family override"
|
|
200
|
+
}
|
|
201
|
+
],
|
|
202
|
+
"themeTokens": [
|
|
203
|
+
"bgColor",
|
|
204
|
+
"textColor",
|
|
205
|
+
"accentColor",
|
|
206
|
+
"borderColor",
|
|
207
|
+
"fontFamily",
|
|
208
|
+
"radius",
|
|
209
|
+
"spacing",
|
|
210
|
+
"cardBg",
|
|
211
|
+
"cardRadius",
|
|
212
|
+
"cardBorder",
|
|
213
|
+
"inputBg",
|
|
214
|
+
"inputText",
|
|
215
|
+
"maxW",
|
|
216
|
+
"px",
|
|
217
|
+
"py",
|
|
218
|
+
"gap"
|
|
219
|
+
],
|
|
220
|
+
"aiHints": {
|
|
221
|
+
"pageTypes": [
|
|
222
|
+
"documentation",
|
|
223
|
+
"faq",
|
|
224
|
+
"settings",
|
|
225
|
+
"landing",
|
|
226
|
+
"saas",
|
|
227
|
+
"restaurant",
|
|
228
|
+
"education",
|
|
229
|
+
"fitness",
|
|
230
|
+
"health",
|
|
231
|
+
"agency"
|
|
232
|
+
],
|
|
233
|
+
"placement": "body",
|
|
234
|
+
"priority": 7,
|
|
235
|
+
"sequenceOrder": 5,
|
|
236
|
+
"pairsWellWith": [
|
|
237
|
+
"listsCards.BlockShell",
|
|
238
|
+
"content.HeadingSection",
|
|
239
|
+
"listsCards.GenericList"
|
|
240
|
+
],
|
|
241
|
+
"maxPerPage": 3,
|
|
242
|
+
"isContainer": true
|
|
243
|
+
}
|
|
244
|
+
},
|
|
245
|
+
{
|
|
246
|
+
"id": "listsCards.GenericList",
|
|
247
|
+
"name": "GenericList",
|
|
248
|
+
"description": "Simple vertical list displaying items with labels, optional descriptions, and optional icons. Lightweight and versatile.",
|
|
249
|
+
"whenToUse": "Use for displaying any simple list of items such as features, benefits, steps, or informational entries. Works well on all page types as a general-purpose list component.",
|
|
250
|
+
"isShell": false,
|
|
251
|
+
"props": [
|
|
252
|
+
{
|
|
253
|
+
"name": "items",
|
|
254
|
+
"type": "GenericListItem[]",
|
|
255
|
+
"required": true,
|
|
256
|
+
"default": null,
|
|
257
|
+
"description": "Array of list items: {id, label, description?, icon?}"
|
|
258
|
+
},
|
|
259
|
+
{
|
|
260
|
+
"name": "title",
|
|
261
|
+
"type": "string",
|
|
262
|
+
"required": false,
|
|
263
|
+
"default": null,
|
|
264
|
+
"description": "Optional heading displayed above the list"
|
|
265
|
+
},
|
|
266
|
+
{
|
|
267
|
+
"name": "bgColor",
|
|
268
|
+
"type": "string",
|
|
269
|
+
"required": false,
|
|
270
|
+
"default": "theme",
|
|
271
|
+
"description": "Background color override"
|
|
272
|
+
},
|
|
273
|
+
{
|
|
274
|
+
"name": "textColor",
|
|
275
|
+
"type": "string",
|
|
276
|
+
"required": false,
|
|
277
|
+
"default": "theme",
|
|
278
|
+
"description": "Text color override"
|
|
279
|
+
},
|
|
280
|
+
{
|
|
281
|
+
"name": "accentColor",
|
|
282
|
+
"type": "string",
|
|
283
|
+
"required": false,
|
|
284
|
+
"default": "theme",
|
|
285
|
+
"description": "Accent color override"
|
|
286
|
+
},
|
|
287
|
+
{
|
|
288
|
+
"name": "borderColor",
|
|
289
|
+
"type": "string",
|
|
290
|
+
"required": false,
|
|
291
|
+
"default": "theme",
|
|
292
|
+
"description": "Border color override"
|
|
293
|
+
},
|
|
294
|
+
{
|
|
295
|
+
"name": "fontFamily",
|
|
296
|
+
"type": "string",
|
|
297
|
+
"required": false,
|
|
298
|
+
"default": "theme",
|
|
299
|
+
"description": "Font family override"
|
|
300
|
+
}
|
|
301
|
+
],
|
|
302
|
+
"themeTokens": [
|
|
303
|
+
"bgColor",
|
|
304
|
+
"textColor",
|
|
305
|
+
"accentColor",
|
|
306
|
+
"borderColor",
|
|
307
|
+
"fontFamily",
|
|
308
|
+
"radius",
|
|
309
|
+
"spacing",
|
|
310
|
+
"cardBg",
|
|
311
|
+
"cardRadius",
|
|
312
|
+
"cardBorder",
|
|
313
|
+
"inputBg",
|
|
314
|
+
"inputText",
|
|
315
|
+
"maxW",
|
|
316
|
+
"px",
|
|
317
|
+
"py",
|
|
318
|
+
"gap"
|
|
319
|
+
],
|
|
320
|
+
"aiHints": {
|
|
321
|
+
"pageTypes": [
|
|
322
|
+
"landing",
|
|
323
|
+
"marketing",
|
|
324
|
+
"dashboard",
|
|
325
|
+
"blog",
|
|
326
|
+
"ecommerce",
|
|
327
|
+
"portfolio",
|
|
328
|
+
"saas",
|
|
329
|
+
"documentation",
|
|
330
|
+
"admin"
|
|
331
|
+
],
|
|
332
|
+
"placement": "body",
|
|
333
|
+
"priority": 6,
|
|
334
|
+
"sequenceOrder": 5,
|
|
335
|
+
"pairsWellWith": [
|
|
336
|
+
"listsCards.BlockShell",
|
|
337
|
+
"content.HeadingSection",
|
|
338
|
+
"listsCards.Accordion"
|
|
339
|
+
],
|
|
340
|
+
"maxPerPage": 5,
|
|
341
|
+
"isContainer": false
|
|
342
|
+
}
|
|
343
|
+
},
|
|
344
|
+
{
|
|
345
|
+
"id": "listsCards.FeatureGrid",
|
|
346
|
+
"name": "FeatureGrid",
|
|
347
|
+
"description": "Responsive grid of feature or benefit cards, each with an optional icon, title, and description. Configurable column count.",
|
|
348
|
+
"whenToUse": "Use on landing pages, marketing pages, and SaaS product pages to showcase features, benefits, or value propositions in an organized grid layout.",
|
|
349
|
+
"isShell": false,
|
|
350
|
+
"props": [
|
|
351
|
+
{
|
|
352
|
+
"name": "items",
|
|
353
|
+
"type": "FeatureItem[]",
|
|
354
|
+
"required": true,
|
|
355
|
+
"default": null,
|
|
356
|
+
"description": "Array of feature items: {id, icon?, title, description?}"
|
|
357
|
+
},
|
|
358
|
+
{
|
|
359
|
+
"name": "columns",
|
|
360
|
+
"type": "number",
|
|
361
|
+
"required": false,
|
|
362
|
+
"default": "3",
|
|
363
|
+
"description": "Number of columns in the grid"
|
|
364
|
+
},
|
|
365
|
+
{
|
|
366
|
+
"name": "title",
|
|
367
|
+
"type": "string",
|
|
368
|
+
"required": false,
|
|
369
|
+
"default": null,
|
|
370
|
+
"description": "Optional heading displayed above the grid"
|
|
371
|
+
},
|
|
372
|
+
{
|
|
373
|
+
"name": "bgColor",
|
|
374
|
+
"type": "string",
|
|
375
|
+
"required": false,
|
|
376
|
+
"default": "theme",
|
|
377
|
+
"description": "Background color override"
|
|
378
|
+
},
|
|
379
|
+
{
|
|
380
|
+
"name": "textColor",
|
|
381
|
+
"type": "string",
|
|
382
|
+
"required": false,
|
|
383
|
+
"default": "theme",
|
|
384
|
+
"description": "Text color override"
|
|
385
|
+
},
|
|
386
|
+
{
|
|
387
|
+
"name": "accentColor",
|
|
388
|
+
"type": "string",
|
|
389
|
+
"required": false,
|
|
390
|
+
"default": "theme",
|
|
391
|
+
"description": "Accent color override"
|
|
392
|
+
},
|
|
393
|
+
{
|
|
394
|
+
"name": "borderColor",
|
|
395
|
+
"type": "string",
|
|
396
|
+
"required": false,
|
|
397
|
+
"default": "theme",
|
|
398
|
+
"description": "Border color override"
|
|
399
|
+
},
|
|
400
|
+
{
|
|
401
|
+
"name": "fontFamily",
|
|
402
|
+
"type": "string",
|
|
403
|
+
"required": false,
|
|
404
|
+
"default": "theme",
|
|
405
|
+
"description": "Font family override"
|
|
406
|
+
}
|
|
407
|
+
],
|
|
408
|
+
"themeTokens": [
|
|
409
|
+
"bgColor",
|
|
410
|
+
"textColor",
|
|
411
|
+
"accentColor",
|
|
412
|
+
"borderColor",
|
|
413
|
+
"fontFamily",
|
|
414
|
+
"radius",
|
|
415
|
+
"spacing",
|
|
416
|
+
"cardBg",
|
|
417
|
+
"cardRadius",
|
|
418
|
+
"cardBorder",
|
|
419
|
+
"inputBg",
|
|
420
|
+
"inputText",
|
|
421
|
+
"maxW",
|
|
422
|
+
"px",
|
|
423
|
+
"py",
|
|
424
|
+
"gap"
|
|
425
|
+
],
|
|
426
|
+
"aiHints": {
|
|
427
|
+
"pageTypes": [
|
|
428
|
+
"landing",
|
|
429
|
+
"marketing",
|
|
430
|
+
"saas",
|
|
431
|
+
"education",
|
|
432
|
+
"fitness",
|
|
433
|
+
"agency",
|
|
434
|
+
"health",
|
|
435
|
+
"nonprofit"
|
|
436
|
+
],
|
|
437
|
+
"placement": "body",
|
|
438
|
+
"priority": 8,
|
|
439
|
+
"sequenceOrder": 4,
|
|
440
|
+
"pairsWellWith": [
|
|
441
|
+
"listsCards.BlockShell",
|
|
442
|
+
"hero.StaticHero",
|
|
443
|
+
"hero.SplitHero",
|
|
444
|
+
"content.HeadingSection"
|
|
445
|
+
],
|
|
446
|
+
"maxPerPage": 2,
|
|
447
|
+
"isContainer": false
|
|
448
|
+
}
|
|
449
|
+
},
|
|
450
|
+
{
|
|
451
|
+
"id": "listsCards.ItemCardGrid",
|
|
452
|
+
"name": "ItemCardGrid",
|
|
453
|
+
"description": "Generic card-based grid for items such as products, projects, posts, services, team members, job listings, course catalogs, speaker profiles, property listings, or any entity collection.",
|
|
454
|
+
"whenToUse": "Use for ecommerce product grids, portfolio galleries, blog post cards, or any content that benefits from visual card-based browsing with images.",
|
|
455
|
+
"isShell": false,
|
|
456
|
+
"props": [
|
|
457
|
+
{
|
|
458
|
+
"name": "items",
|
|
459
|
+
"type": "ItemCardData[]",
|
|
460
|
+
"required": true,
|
|
461
|
+
"default": null,
|
|
462
|
+
"description": "Array of card items: {id, title, image?, subtitle?, badge?}"
|
|
463
|
+
},
|
|
464
|
+
{
|
|
465
|
+
"name": "columns",
|
|
466
|
+
"type": "number",
|
|
467
|
+
"required": false,
|
|
468
|
+
"default": "3",
|
|
469
|
+
"description": "Number of columns in the grid"
|
|
470
|
+
},
|
|
471
|
+
{
|
|
472
|
+
"name": "onItemClick",
|
|
473
|
+
"type": "(id: string) => void",
|
|
474
|
+
"required": false,
|
|
475
|
+
"default": null,
|
|
476
|
+
"description": "Callback when a card is clicked, receives item id"
|
|
477
|
+
},
|
|
478
|
+
{
|
|
479
|
+
"name": "bgColor",
|
|
480
|
+
"type": "string",
|
|
481
|
+
"required": false,
|
|
482
|
+
"default": "theme",
|
|
483
|
+
"description": "Background color override"
|
|
484
|
+
},
|
|
485
|
+
{
|
|
486
|
+
"name": "textColor",
|
|
487
|
+
"type": "string",
|
|
488
|
+
"required": false,
|
|
489
|
+
"default": "theme",
|
|
490
|
+
"description": "Text color override"
|
|
491
|
+
},
|
|
492
|
+
{
|
|
493
|
+
"name": "accentColor",
|
|
494
|
+
"type": "string",
|
|
495
|
+
"required": false,
|
|
496
|
+
"default": "theme",
|
|
497
|
+
"description": "Accent color override"
|
|
498
|
+
},
|
|
499
|
+
{
|
|
500
|
+
"name": "borderColor",
|
|
501
|
+
"type": "string",
|
|
502
|
+
"required": false,
|
|
503
|
+
"default": "theme",
|
|
504
|
+
"description": "Border color override"
|
|
505
|
+
},
|
|
506
|
+
{
|
|
507
|
+
"name": "fontFamily",
|
|
508
|
+
"type": "string",
|
|
509
|
+
"required": false,
|
|
510
|
+
"default": "theme",
|
|
511
|
+
"description": "Font family override"
|
|
512
|
+
}
|
|
513
|
+
],
|
|
514
|
+
"themeTokens": [
|
|
515
|
+
"bgColor",
|
|
516
|
+
"textColor",
|
|
517
|
+
"accentColor",
|
|
518
|
+
"borderColor",
|
|
519
|
+
"fontFamily",
|
|
520
|
+
"radius",
|
|
521
|
+
"spacing",
|
|
522
|
+
"cardBg",
|
|
523
|
+
"cardRadius",
|
|
524
|
+
"cardBorder",
|
|
525
|
+
"inputBg",
|
|
526
|
+
"inputText",
|
|
527
|
+
"maxW",
|
|
528
|
+
"px",
|
|
529
|
+
"py",
|
|
530
|
+
"gap"
|
|
531
|
+
],
|
|
532
|
+
"aiHints": {
|
|
533
|
+
"pageTypes": [
|
|
534
|
+
"ecommerce",
|
|
535
|
+
"portfolio",
|
|
536
|
+
"blog",
|
|
537
|
+
"services",
|
|
538
|
+
"event",
|
|
539
|
+
"education",
|
|
540
|
+
"restaurant",
|
|
541
|
+
"agency",
|
|
542
|
+
"fitness",
|
|
543
|
+
"realestate",
|
|
544
|
+
"community",
|
|
545
|
+
"health",
|
|
546
|
+
"nonprofit",
|
|
547
|
+
"recruitment"
|
|
548
|
+
],
|
|
549
|
+
"placement": "body",
|
|
550
|
+
"priority": 7,
|
|
551
|
+
"sequenceOrder": 5,
|
|
552
|
+
"pairsWellWith": [
|
|
553
|
+
"listsCards.BlockShell",
|
|
554
|
+
"navigation.Pagination",
|
|
555
|
+
"content.HeadingSection"
|
|
556
|
+
],
|
|
557
|
+
"maxPerPage": 2,
|
|
558
|
+
"isContainer": false
|
|
559
|
+
}
|
|
560
|
+
},
|
|
561
|
+
{
|
|
562
|
+
"id": "listsCards.PricingTable",
|
|
563
|
+
"name": "PricingTable",
|
|
564
|
+
"description": "Pricing plan comparison table displaying multiple plans side-by-side with names, prices, feature lists, and call-to-action buttons. Supports highlighting a recommended plan.",
|
|
565
|
+
"whenToUse": "Use on SaaS pricing pages, marketing landing pages, or any page where users need to compare and select from multiple pricing tiers.",
|
|
566
|
+
"isShell": false,
|
|
567
|
+
"props": [
|
|
568
|
+
{
|
|
569
|
+
"name": "plans",
|
|
570
|
+
"type": "Plan[]",
|
|
571
|
+
"required": true,
|
|
572
|
+
"default": null,
|
|
573
|
+
"description": "Array of plans: {id, name, price, period?, features: PricingFeature[]{label, included}, highlighted?, cta?}"
|
|
574
|
+
},
|
|
575
|
+
{
|
|
576
|
+
"name": "onSelect",
|
|
577
|
+
"type": "(planId: string) => void",
|
|
578
|
+
"required": false,
|
|
579
|
+
"default": null,
|
|
580
|
+
"description": "Callback when a plan's CTA is clicked, receives plan id"
|
|
581
|
+
},
|
|
582
|
+
{
|
|
583
|
+
"name": "bgColor",
|
|
584
|
+
"type": "string",
|
|
585
|
+
"required": false,
|
|
586
|
+
"default": "theme",
|
|
587
|
+
"description": "Background color override"
|
|
588
|
+
},
|
|
589
|
+
{
|
|
590
|
+
"name": "textColor",
|
|
591
|
+
"type": "string",
|
|
592
|
+
"required": false,
|
|
593
|
+
"default": "theme",
|
|
594
|
+
"description": "Text color override"
|
|
595
|
+
},
|
|
596
|
+
{
|
|
597
|
+
"name": "accentColor",
|
|
598
|
+
"type": "string",
|
|
599
|
+
"required": false,
|
|
600
|
+
"default": "theme",
|
|
601
|
+
"description": "Accent color override"
|
|
602
|
+
},
|
|
603
|
+
{
|
|
604
|
+
"name": "borderColor",
|
|
605
|
+
"type": "string",
|
|
606
|
+
"required": false,
|
|
607
|
+
"default": "theme",
|
|
608
|
+
"description": "Border color override"
|
|
609
|
+
},
|
|
610
|
+
{
|
|
611
|
+
"name": "fontFamily",
|
|
612
|
+
"type": "string",
|
|
613
|
+
"required": false,
|
|
614
|
+
"default": "theme",
|
|
615
|
+
"description": "Font family override"
|
|
616
|
+
}
|
|
617
|
+
],
|
|
618
|
+
"themeTokens": [
|
|
619
|
+
"bgColor",
|
|
620
|
+
"textColor",
|
|
621
|
+
"accentColor",
|
|
622
|
+
"borderColor",
|
|
623
|
+
"fontFamily",
|
|
624
|
+
"radius",
|
|
625
|
+
"spacing",
|
|
626
|
+
"cardBg",
|
|
627
|
+
"cardRadius",
|
|
628
|
+
"cardBorder",
|
|
629
|
+
"inputBg",
|
|
630
|
+
"inputText",
|
|
631
|
+
"maxW",
|
|
632
|
+
"px",
|
|
633
|
+
"py",
|
|
634
|
+
"gap"
|
|
635
|
+
],
|
|
636
|
+
"aiHints": {
|
|
637
|
+
"pageTypes": [
|
|
638
|
+
"saas",
|
|
639
|
+
"marketing",
|
|
640
|
+
"landing",
|
|
641
|
+
"fitness",
|
|
642
|
+
"education",
|
|
643
|
+
"agency",
|
|
644
|
+
"health",
|
|
645
|
+
"restaurant",
|
|
646
|
+
"community"
|
|
647
|
+
],
|
|
648
|
+
"placement": "body",
|
|
649
|
+
"priority": 9,
|
|
650
|
+
"sequenceOrder": 6,
|
|
651
|
+
"pairsWellWith": [
|
|
652
|
+
"listsCards.BlockShell",
|
|
653
|
+
"content.HeadingSection",
|
|
654
|
+
"listsCards.FeatureGrid",
|
|
655
|
+
"marketing.MarketingHeroBlock",
|
|
656
|
+
"onboarding.FAQAccordion"
|
|
657
|
+
],
|
|
658
|
+
"maxPerPage": 1,
|
|
659
|
+
"isContainer": false
|
|
660
|
+
}
|
|
661
|
+
},
|
|
662
|
+
{
|
|
663
|
+
"id": "listsCards.SortableTable",
|
|
664
|
+
"name": "SortableTable",
|
|
665
|
+
"description": "Generic sortable data table with configurable columns, custom cell renderers, and optional caption. Supports sorting by clicking column headers.",
|
|
666
|
+
"whenToUse": "Use on dashboard and admin pages to display tabular data that users need to sort and scan. Ideal for user lists, transaction logs, analytics data, or any structured dataset.",
|
|
667
|
+
"isShell": false,
|
|
668
|
+
"props": [
|
|
669
|
+
{
|
|
670
|
+
"name": "columns",
|
|
671
|
+
"type": "TableColumn<T>[]",
|
|
672
|
+
"required": true,
|
|
673
|
+
"default": null,
|
|
674
|
+
"description": "Array of column definitions: {key, label, sortable?, width?, render?}"
|
|
675
|
+
},
|
|
676
|
+
{
|
|
677
|
+
"name": "rows",
|
|
678
|
+
"type": "T[]",
|
|
679
|
+
"required": true,
|
|
680
|
+
"default": null,
|
|
681
|
+
"description": "Array of row data objects matching the column keys"
|
|
682
|
+
},
|
|
683
|
+
{
|
|
684
|
+
"name": "caption",
|
|
685
|
+
"type": "string",
|
|
686
|
+
"required": false,
|
|
687
|
+
"default": null,
|
|
688
|
+
"description": "Optional table caption for accessibility and context"
|
|
689
|
+
},
|
|
690
|
+
{
|
|
691
|
+
"name": "bgColor",
|
|
692
|
+
"type": "string",
|
|
693
|
+
"required": false,
|
|
694
|
+
"default": "theme",
|
|
695
|
+
"description": "Background color override"
|
|
696
|
+
},
|
|
697
|
+
{
|
|
698
|
+
"name": "textColor",
|
|
699
|
+
"type": "string",
|
|
700
|
+
"required": false,
|
|
701
|
+
"default": "theme",
|
|
702
|
+
"description": "Text color override"
|
|
703
|
+
},
|
|
704
|
+
{
|
|
705
|
+
"name": "accentColor",
|
|
706
|
+
"type": "string",
|
|
707
|
+
"required": false,
|
|
708
|
+
"default": "theme",
|
|
709
|
+
"description": "Accent color override"
|
|
710
|
+
},
|
|
711
|
+
{
|
|
712
|
+
"name": "borderColor",
|
|
713
|
+
"type": "string",
|
|
714
|
+
"required": false,
|
|
715
|
+
"default": "theme",
|
|
716
|
+
"description": "Border color override"
|
|
717
|
+
},
|
|
718
|
+
{
|
|
719
|
+
"name": "fontFamily",
|
|
720
|
+
"type": "string",
|
|
721
|
+
"required": false,
|
|
722
|
+
"default": "theme",
|
|
723
|
+
"description": "Font family override"
|
|
724
|
+
}
|
|
725
|
+
],
|
|
726
|
+
"themeTokens": [
|
|
727
|
+
"bgColor",
|
|
728
|
+
"textColor",
|
|
729
|
+
"accentColor",
|
|
730
|
+
"borderColor",
|
|
731
|
+
"fontFamily",
|
|
732
|
+
"radius",
|
|
733
|
+
"spacing",
|
|
734
|
+
"cardBg",
|
|
735
|
+
"cardRadius",
|
|
736
|
+
"cardBorder",
|
|
737
|
+
"inputBg",
|
|
738
|
+
"inputText",
|
|
739
|
+
"maxW",
|
|
740
|
+
"px",
|
|
741
|
+
"py",
|
|
742
|
+
"gap"
|
|
743
|
+
],
|
|
744
|
+
"aiHints": {
|
|
745
|
+
"pageTypes": ["dashboard", "admin"],
|
|
746
|
+
"placement": "body",
|
|
747
|
+
"priority": 7,
|
|
748
|
+
"sequenceOrder": 5,
|
|
749
|
+
"pairsWellWith": [
|
|
750
|
+
"listsCards.BlockShell",
|
|
751
|
+
"navigation.Pagination",
|
|
752
|
+
"content.HeadingSection"
|
|
753
|
+
],
|
|
754
|
+
"maxPerPage": 3,
|
|
755
|
+
"isContainer": false
|
|
756
|
+
}
|
|
757
|
+
},
|
|
758
|
+
{
|
|
759
|
+
"id": "listsCards.LCTimeline",
|
|
760
|
+
"name": "LCTimeline",
|
|
761
|
+
"description": "Vertical timeline displaying chronological events with titles, optional descriptions, dates, and icons. Renders a connected line between entries.",
|
|
762
|
+
"whenToUse": "Use on portfolio pages to show work history, changelog pages to display version history, or about pages to present company milestones and career timelines.",
|
|
763
|
+
"isShell": false,
|
|
764
|
+
"props": [
|
|
765
|
+
{
|
|
766
|
+
"name": "items",
|
|
767
|
+
"type": "LCTimelineItem[]",
|
|
768
|
+
"required": true,
|
|
769
|
+
"default": null,
|
|
770
|
+
"description": "Array of timeline items: {id, title, description?, date?, icon?}"
|
|
771
|
+
},
|
|
772
|
+
{
|
|
773
|
+
"name": "bgColor",
|
|
774
|
+
"type": "string",
|
|
775
|
+
"required": false,
|
|
776
|
+
"default": "theme",
|
|
777
|
+
"description": "Background color override"
|
|
778
|
+
},
|
|
779
|
+
{
|
|
780
|
+
"name": "textColor",
|
|
781
|
+
"type": "string",
|
|
782
|
+
"required": false,
|
|
783
|
+
"default": "theme",
|
|
784
|
+
"description": "Text color override"
|
|
785
|
+
},
|
|
786
|
+
{
|
|
787
|
+
"name": "accentColor",
|
|
788
|
+
"type": "string",
|
|
789
|
+
"required": false,
|
|
790
|
+
"default": "theme",
|
|
791
|
+
"description": "Accent color override"
|
|
792
|
+
},
|
|
793
|
+
{
|
|
794
|
+
"name": "borderColor",
|
|
795
|
+
"type": "string",
|
|
796
|
+
"required": false,
|
|
797
|
+
"default": "theme",
|
|
798
|
+
"description": "Border color override"
|
|
799
|
+
},
|
|
800
|
+
{
|
|
801
|
+
"name": "fontFamily",
|
|
802
|
+
"type": "string",
|
|
803
|
+
"required": false,
|
|
804
|
+
"default": "theme",
|
|
805
|
+
"description": "Font family override"
|
|
806
|
+
}
|
|
807
|
+
],
|
|
808
|
+
"themeTokens": [
|
|
809
|
+
"bgColor",
|
|
810
|
+
"textColor",
|
|
811
|
+
"accentColor",
|
|
812
|
+
"borderColor",
|
|
813
|
+
"fontFamily",
|
|
814
|
+
"radius",
|
|
815
|
+
"spacing",
|
|
816
|
+
"cardBg",
|
|
817
|
+
"cardRadius",
|
|
818
|
+
"cardBorder",
|
|
819
|
+
"inputBg",
|
|
820
|
+
"inputText",
|
|
821
|
+
"maxW",
|
|
822
|
+
"px",
|
|
823
|
+
"py",
|
|
824
|
+
"gap"
|
|
825
|
+
],
|
|
826
|
+
"aiHints": {
|
|
827
|
+
"pageTypes": [
|
|
828
|
+
"portfolio",
|
|
829
|
+
"changelog",
|
|
830
|
+
"about",
|
|
831
|
+
"education",
|
|
832
|
+
"landing",
|
|
833
|
+
"marketing",
|
|
834
|
+
"saas",
|
|
835
|
+
"event",
|
|
836
|
+
"nonprofit",
|
|
837
|
+
"agency"
|
|
838
|
+
],
|
|
839
|
+
"placement": "body",
|
|
840
|
+
"priority": 5,
|
|
841
|
+
"sequenceOrder": 6,
|
|
842
|
+
"pairsWellWith": ["listsCards.BlockShell", "content.HeadingSection"],
|
|
843
|
+
"maxPerPage": 2,
|
|
844
|
+
"isContainer": false
|
|
845
|
+
}
|
|
846
|
+
}
|
|
847
|
+
]
|
|
848
|
+
}
|