@electroplix/components 0.4.1 → 0.5.0-alpha.10
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 +144 -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 +9548 -8432
- 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/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 +14 -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,1059 @@
|
|
|
1
|
+
{
|
|
2
|
+
"$schema": "electroplix-component-metadata-v1",
|
|
3
|
+
"category": "ecommerce",
|
|
4
|
+
"label": "Ecommerce",
|
|
5
|
+
"description": "Shopping, cart, product display, checkout, and payment components for online stores",
|
|
6
|
+
"themeKey": "ecommerce",
|
|
7
|
+
"icon": "shopping-cart",
|
|
8
|
+
"sortOrder": 7,
|
|
9
|
+
"components": [
|
|
10
|
+
{
|
|
11
|
+
"id": "ecommerce.CartDrawer",
|
|
12
|
+
"name": "CartDrawer",
|
|
13
|
+
"description": "Slide-out cart panel that overlays the page. Displays cart items with quantity controls, remove actions, and a checkout button.",
|
|
14
|
+
"whenToUse": "Use as the primary cart interface that slides in from the side when a user adds an item or clicks the cart icon. Ideal for ecommerce sites that want a non-disruptive cart experience without navigating away from the current page.",
|
|
15
|
+
"isShell": false,
|
|
16
|
+
"props": [
|
|
17
|
+
{
|
|
18
|
+
"name": "items",
|
|
19
|
+
"type": "CartItem[]",
|
|
20
|
+
"required": true,
|
|
21
|
+
"default": null,
|
|
22
|
+
"description": "Array of cart items: {id, title, image, price, qty, variant?}"
|
|
23
|
+
},
|
|
24
|
+
{
|
|
25
|
+
"name": "currency",
|
|
26
|
+
"type": "Currency",
|
|
27
|
+
"required": false,
|
|
28
|
+
"default": "\"USD\"",
|
|
29
|
+
"description": "Currency code for formatting prices: \"USD\" | \"INR\" | \"EUR\" | \"GBP\""
|
|
30
|
+
},
|
|
31
|
+
{
|
|
32
|
+
"name": "onQtyChange",
|
|
33
|
+
"type": "(id: string, qty: number) => void",
|
|
34
|
+
"required": false,
|
|
35
|
+
"default": null,
|
|
36
|
+
"description": "Callback when item quantity is changed"
|
|
37
|
+
},
|
|
38
|
+
{
|
|
39
|
+
"name": "onRemove",
|
|
40
|
+
"type": "(id: string) => void",
|
|
41
|
+
"required": false,
|
|
42
|
+
"default": null,
|
|
43
|
+
"description": "Callback when an item is removed from the cart"
|
|
44
|
+
},
|
|
45
|
+
{
|
|
46
|
+
"name": "onCheckout",
|
|
47
|
+
"type": "() => void",
|
|
48
|
+
"required": false,
|
|
49
|
+
"default": null,
|
|
50
|
+
"description": "Callback when the checkout button is clicked"
|
|
51
|
+
},
|
|
52
|
+
{
|
|
53
|
+
"name": "open",
|
|
54
|
+
"type": "boolean",
|
|
55
|
+
"required": false,
|
|
56
|
+
"default": "true",
|
|
57
|
+
"description": "Whether the drawer is open"
|
|
58
|
+
},
|
|
59
|
+
{
|
|
60
|
+
"name": "width",
|
|
61
|
+
"type": "number",
|
|
62
|
+
"required": false,
|
|
63
|
+
"default": "380",
|
|
64
|
+
"description": "Width of the drawer panel in pixels"
|
|
65
|
+
},
|
|
66
|
+
{
|
|
67
|
+
"name": "bgColor",
|
|
68
|
+
"type": "string",
|
|
69
|
+
"required": false,
|
|
70
|
+
"default": "theme",
|
|
71
|
+
"description": "Background color override"
|
|
72
|
+
},
|
|
73
|
+
{
|
|
74
|
+
"name": "textColor",
|
|
75
|
+
"type": "string",
|
|
76
|
+
"required": false,
|
|
77
|
+
"default": "theme",
|
|
78
|
+
"description": "Text color override"
|
|
79
|
+
},
|
|
80
|
+
{
|
|
81
|
+
"name": "accentColor",
|
|
82
|
+
"type": "string",
|
|
83
|
+
"required": false,
|
|
84
|
+
"default": "theme",
|
|
85
|
+
"description": "Accent color override"
|
|
86
|
+
},
|
|
87
|
+
{
|
|
88
|
+
"name": "borderColor",
|
|
89
|
+
"type": "string",
|
|
90
|
+
"required": false,
|
|
91
|
+
"default": "theme",
|
|
92
|
+
"description": "Border color override"
|
|
93
|
+
},
|
|
94
|
+
{
|
|
95
|
+
"name": "fontFamily",
|
|
96
|
+
"type": "string",
|
|
97
|
+
"required": false,
|
|
98
|
+
"default": "theme",
|
|
99
|
+
"description": "Font family override"
|
|
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
|
+
"buttonSize"
|
|
116
|
+
],
|
|
117
|
+
"aiHints": {
|
|
118
|
+
"pageTypes": ["ecommerce", "retail", "marketplace"],
|
|
119
|
+
"placement": "overlay",
|
|
120
|
+
"priority": 9,
|
|
121
|
+
"sequenceOrder": 10,
|
|
122
|
+
"pairsWellWith": [
|
|
123
|
+
"ecommerce.ProductGrid",
|
|
124
|
+
"ecommerce.ProductCard",
|
|
125
|
+
"ecommerce.QuickAddButton",
|
|
126
|
+
"navigation.PrimaryNav"
|
|
127
|
+
],
|
|
128
|
+
"maxPerPage": 1,
|
|
129
|
+
"isContainer": false
|
|
130
|
+
}
|
|
131
|
+
},
|
|
132
|
+
{
|
|
133
|
+
"id": "ecommerce.MiniCartPanel",
|
|
134
|
+
"name": "MiniCartPanel",
|
|
135
|
+
"description": "Compact inline cart summary showing item count, subtotal, and quick actions. Designed to be embedded in headers or sidebars.",
|
|
136
|
+
"whenToUse": "Use as a lightweight cart preview embedded in the page layout, such as inside a header dropdown or sidebar. Suitable when you want a persistent cart overview without a full drawer.",
|
|
137
|
+
"isShell": false,
|
|
138
|
+
"props": [
|
|
139
|
+
{
|
|
140
|
+
"name": "items",
|
|
141
|
+
"type": "CartItem[]",
|
|
142
|
+
"required": true,
|
|
143
|
+
"default": null,
|
|
144
|
+
"description": "Array of cart items: {id, title, image, price, qty, variant?}"
|
|
145
|
+
},
|
|
146
|
+
{
|
|
147
|
+
"name": "currency",
|
|
148
|
+
"type": "Currency",
|
|
149
|
+
"required": false,
|
|
150
|
+
"default": "\"USD\"",
|
|
151
|
+
"description": "Currency code for formatting prices: \"USD\" | \"INR\" | \"EUR\" | \"GBP\""
|
|
152
|
+
},
|
|
153
|
+
{
|
|
154
|
+
"name": "onQtyChange",
|
|
155
|
+
"type": "(id: string, qty: number) => void",
|
|
156
|
+
"required": false,
|
|
157
|
+
"default": null,
|
|
158
|
+
"description": "Callback when item quantity is changed"
|
|
159
|
+
},
|
|
160
|
+
{
|
|
161
|
+
"name": "onRemove",
|
|
162
|
+
"type": "(id: string) => void",
|
|
163
|
+
"required": false,
|
|
164
|
+
"default": null,
|
|
165
|
+
"description": "Callback when an item is removed from the cart"
|
|
166
|
+
},
|
|
167
|
+
{
|
|
168
|
+
"name": "onCheckout",
|
|
169
|
+
"type": "() => void",
|
|
170
|
+
"required": false,
|
|
171
|
+
"default": null,
|
|
172
|
+
"description": "Callback when the checkout button is clicked"
|
|
173
|
+
},
|
|
174
|
+
{
|
|
175
|
+
"name": "bgColor",
|
|
176
|
+
"type": "string",
|
|
177
|
+
"required": false,
|
|
178
|
+
"default": "theme",
|
|
179
|
+
"description": "Background color override"
|
|
180
|
+
},
|
|
181
|
+
{
|
|
182
|
+
"name": "textColor",
|
|
183
|
+
"type": "string",
|
|
184
|
+
"required": false,
|
|
185
|
+
"default": "theme",
|
|
186
|
+
"description": "Text color override"
|
|
187
|
+
},
|
|
188
|
+
{
|
|
189
|
+
"name": "accentColor",
|
|
190
|
+
"type": "string",
|
|
191
|
+
"required": false,
|
|
192
|
+
"default": "theme",
|
|
193
|
+
"description": "Accent color override"
|
|
194
|
+
},
|
|
195
|
+
{
|
|
196
|
+
"name": "borderColor",
|
|
197
|
+
"type": "string",
|
|
198
|
+
"required": false,
|
|
199
|
+
"default": "theme",
|
|
200
|
+
"description": "Border color override"
|
|
201
|
+
},
|
|
202
|
+
{
|
|
203
|
+
"name": "fontFamily",
|
|
204
|
+
"type": "string",
|
|
205
|
+
"required": false,
|
|
206
|
+
"default": "theme",
|
|
207
|
+
"description": "Font family override"
|
|
208
|
+
}
|
|
209
|
+
],
|
|
210
|
+
"themeTokens": [
|
|
211
|
+
"bgColor",
|
|
212
|
+
"textColor",
|
|
213
|
+
"accentColor",
|
|
214
|
+
"borderColor",
|
|
215
|
+
"fontFamily",
|
|
216
|
+
"radius",
|
|
217
|
+
"spacing",
|
|
218
|
+
"cardBg",
|
|
219
|
+
"cardRadius",
|
|
220
|
+
"cardBorder",
|
|
221
|
+
"inputBg",
|
|
222
|
+
"inputText",
|
|
223
|
+
"buttonSize"
|
|
224
|
+
],
|
|
225
|
+
"aiHints": {
|
|
226
|
+
"pageTypes": ["ecommerce"],
|
|
227
|
+
"placement": "body",
|
|
228
|
+
"priority": 7,
|
|
229
|
+
"sequenceOrder": 9,
|
|
230
|
+
"pairsWellWith": ["ecommerce.CartDrawer", "ecommerce.ProductGrid", "navigation.PrimaryNav"],
|
|
231
|
+
"maxPerPage": 1,
|
|
232
|
+
"isContainer": false
|
|
233
|
+
}
|
|
234
|
+
},
|
|
235
|
+
{
|
|
236
|
+
"id": "ecommerce.OrderSummary",
|
|
237
|
+
"name": "OrderSummary",
|
|
238
|
+
"description": "Order review panel displaying line items, subtotal, shipping, tax, and total. Shows order status, shipping address, and estimated delivery.",
|
|
239
|
+
"whenToUse": "Use on checkout confirmation pages, order detail pages, or post-purchase review screens. Essential for any ecommerce checkout flow to summarize what the customer is purchasing.",
|
|
240
|
+
"isShell": false,
|
|
241
|
+
"props": [
|
|
242
|
+
{
|
|
243
|
+
"name": "orderId",
|
|
244
|
+
"type": "string",
|
|
245
|
+
"required": false,
|
|
246
|
+
"default": null,
|
|
247
|
+
"description": "Unique order identifier"
|
|
248
|
+
},
|
|
249
|
+
{
|
|
250
|
+
"name": "status",
|
|
251
|
+
"type": "\"processing\" | \"shipped\" | \"delivered\" | \"cancelled\"",
|
|
252
|
+
"required": false,
|
|
253
|
+
"default": "\"processing\"",
|
|
254
|
+
"description": "Current order status"
|
|
255
|
+
},
|
|
256
|
+
{
|
|
257
|
+
"name": "lines",
|
|
258
|
+
"type": "OrderLine[]",
|
|
259
|
+
"required": true,
|
|
260
|
+
"default": null,
|
|
261
|
+
"description": "Array of order line items: {id, title, qty, price, image?}"
|
|
262
|
+
},
|
|
263
|
+
{
|
|
264
|
+
"name": "subtotal",
|
|
265
|
+
"type": "number",
|
|
266
|
+
"required": true,
|
|
267
|
+
"default": null,
|
|
268
|
+
"description": "Subtotal before shipping and tax"
|
|
269
|
+
},
|
|
270
|
+
{
|
|
271
|
+
"name": "shipping",
|
|
272
|
+
"type": "number",
|
|
273
|
+
"required": false,
|
|
274
|
+
"default": "0",
|
|
275
|
+
"description": "Shipping cost"
|
|
276
|
+
},
|
|
277
|
+
{
|
|
278
|
+
"name": "tax",
|
|
279
|
+
"type": "number",
|
|
280
|
+
"required": false,
|
|
281
|
+
"default": "0",
|
|
282
|
+
"description": "Tax amount"
|
|
283
|
+
},
|
|
284
|
+
{
|
|
285
|
+
"name": "total",
|
|
286
|
+
"type": "number",
|
|
287
|
+
"required": true,
|
|
288
|
+
"default": null,
|
|
289
|
+
"description": "Final total amount"
|
|
290
|
+
},
|
|
291
|
+
{
|
|
292
|
+
"name": "currency",
|
|
293
|
+
"type": "Currency",
|
|
294
|
+
"required": false,
|
|
295
|
+
"default": "\"USD\"",
|
|
296
|
+
"description": "Currency code for formatting prices: \"USD\" | \"INR\" | \"EUR\" | \"GBP\""
|
|
297
|
+
},
|
|
298
|
+
{
|
|
299
|
+
"name": "shippingAddress",
|
|
300
|
+
"type": "string",
|
|
301
|
+
"required": false,
|
|
302
|
+
"default": null,
|
|
303
|
+
"description": "Formatted shipping address string"
|
|
304
|
+
},
|
|
305
|
+
{
|
|
306
|
+
"name": "estimatedDelivery",
|
|
307
|
+
"type": "string",
|
|
308
|
+
"required": false,
|
|
309
|
+
"default": null,
|
|
310
|
+
"description": "Estimated delivery date or range"
|
|
311
|
+
},
|
|
312
|
+
{
|
|
313
|
+
"name": "bgColor",
|
|
314
|
+
"type": "string",
|
|
315
|
+
"required": false,
|
|
316
|
+
"default": "theme",
|
|
317
|
+
"description": "Background color override"
|
|
318
|
+
},
|
|
319
|
+
{
|
|
320
|
+
"name": "textColor",
|
|
321
|
+
"type": "string",
|
|
322
|
+
"required": false,
|
|
323
|
+
"default": "theme",
|
|
324
|
+
"description": "Text color override"
|
|
325
|
+
},
|
|
326
|
+
{
|
|
327
|
+
"name": "accentColor",
|
|
328
|
+
"type": "string",
|
|
329
|
+
"required": false,
|
|
330
|
+
"default": "theme",
|
|
331
|
+
"description": "Accent color override"
|
|
332
|
+
},
|
|
333
|
+
{
|
|
334
|
+
"name": "borderColor",
|
|
335
|
+
"type": "string",
|
|
336
|
+
"required": false,
|
|
337
|
+
"default": "theme",
|
|
338
|
+
"description": "Border color override"
|
|
339
|
+
},
|
|
340
|
+
{
|
|
341
|
+
"name": "fontFamily",
|
|
342
|
+
"type": "string",
|
|
343
|
+
"required": false,
|
|
344
|
+
"default": "theme",
|
|
345
|
+
"description": "Font family override"
|
|
346
|
+
}
|
|
347
|
+
],
|
|
348
|
+
"themeTokens": [
|
|
349
|
+
"bgColor",
|
|
350
|
+
"textColor",
|
|
351
|
+
"accentColor",
|
|
352
|
+
"borderColor",
|
|
353
|
+
"fontFamily",
|
|
354
|
+
"radius",
|
|
355
|
+
"spacing",
|
|
356
|
+
"cardBg",
|
|
357
|
+
"cardRadius",
|
|
358
|
+
"cardBorder",
|
|
359
|
+
"inputBg",
|
|
360
|
+
"inputText",
|
|
361
|
+
"buttonSize"
|
|
362
|
+
],
|
|
363
|
+
"aiHints": {
|
|
364
|
+
"pageTypes": ["ecommerce", "checkout"],
|
|
365
|
+
"placement": "body",
|
|
366
|
+
"priority": 8,
|
|
367
|
+
"sequenceOrder": 8,
|
|
368
|
+
"pairsWellWith": ["ecommerce.PaymentButtons", "navigation.Stepper", "ecommerce.CartDrawer"],
|
|
369
|
+
"maxPerPage": 1,
|
|
370
|
+
"isContainer": false
|
|
371
|
+
}
|
|
372
|
+
},
|
|
373
|
+
{
|
|
374
|
+
"id": "ecommerce.ProductCard",
|
|
375
|
+
"name": "ProductCard",
|
|
376
|
+
"description": "Single product card displaying product image, title, price, optional badge, rating, and action buttons for add-to-cart and wishlist.",
|
|
377
|
+
"whenToUse": "Use to display individual products in grids, carousels, or featured sections. The fundamental building block for any product listing interface.",
|
|
378
|
+
"isShell": false,
|
|
379
|
+
"props": [
|
|
380
|
+
{
|
|
381
|
+
"name": "product",
|
|
382
|
+
"type": "Product",
|
|
383
|
+
"required": true,
|
|
384
|
+
"default": null,
|
|
385
|
+
"description": "Product data: {id, title, image, price, originalPrice?, badge?, rating?, reviewCount?, inStock?}"
|
|
386
|
+
},
|
|
387
|
+
{
|
|
388
|
+
"name": "currency",
|
|
389
|
+
"type": "Currency",
|
|
390
|
+
"required": false,
|
|
391
|
+
"default": "\"USD\"",
|
|
392
|
+
"description": "Currency code for formatting prices: \"USD\" | \"INR\" | \"EUR\" | \"GBP\""
|
|
393
|
+
},
|
|
394
|
+
{
|
|
395
|
+
"name": "onAddToCart",
|
|
396
|
+
"type": "(id: string) => void",
|
|
397
|
+
"required": false,
|
|
398
|
+
"default": null,
|
|
399
|
+
"description": "Callback when add-to-cart is clicked"
|
|
400
|
+
},
|
|
401
|
+
{
|
|
402
|
+
"name": "onWishlist",
|
|
403
|
+
"type": "(id: string) => void",
|
|
404
|
+
"required": false,
|
|
405
|
+
"default": null,
|
|
406
|
+
"description": "Callback when wishlist button is clicked"
|
|
407
|
+
},
|
|
408
|
+
{
|
|
409
|
+
"name": "bgColor",
|
|
410
|
+
"type": "string",
|
|
411
|
+
"required": false,
|
|
412
|
+
"default": "theme",
|
|
413
|
+
"description": "Background color override"
|
|
414
|
+
},
|
|
415
|
+
{
|
|
416
|
+
"name": "textColor",
|
|
417
|
+
"type": "string",
|
|
418
|
+
"required": false,
|
|
419
|
+
"default": "theme",
|
|
420
|
+
"description": "Text color override"
|
|
421
|
+
},
|
|
422
|
+
{
|
|
423
|
+
"name": "accentColor",
|
|
424
|
+
"type": "string",
|
|
425
|
+
"required": false,
|
|
426
|
+
"default": "theme",
|
|
427
|
+
"description": "Accent color override"
|
|
428
|
+
},
|
|
429
|
+
{
|
|
430
|
+
"name": "borderColor",
|
|
431
|
+
"type": "string",
|
|
432
|
+
"required": false,
|
|
433
|
+
"default": "theme",
|
|
434
|
+
"description": "Border color override"
|
|
435
|
+
},
|
|
436
|
+
{
|
|
437
|
+
"name": "fontFamily",
|
|
438
|
+
"type": "string",
|
|
439
|
+
"required": false,
|
|
440
|
+
"default": "theme",
|
|
441
|
+
"description": "Font family override"
|
|
442
|
+
}
|
|
443
|
+
],
|
|
444
|
+
"themeTokens": [
|
|
445
|
+
"bgColor",
|
|
446
|
+
"textColor",
|
|
447
|
+
"accentColor",
|
|
448
|
+
"borderColor",
|
|
449
|
+
"fontFamily",
|
|
450
|
+
"radius",
|
|
451
|
+
"spacing",
|
|
452
|
+
"cardBg",
|
|
453
|
+
"cardRadius",
|
|
454
|
+
"cardBorder",
|
|
455
|
+
"inputBg",
|
|
456
|
+
"inputText",
|
|
457
|
+
"buttonSize"
|
|
458
|
+
],
|
|
459
|
+
"aiHints": {
|
|
460
|
+
"pageTypes": ["ecommerce", "marketplace", "directory", "retail"],
|
|
461
|
+
"placement": "body",
|
|
462
|
+
"priority": 9,
|
|
463
|
+
"sequenceOrder": 5,
|
|
464
|
+
"pairsWellWith": [
|
|
465
|
+
"ecommerce.ProductGrid",
|
|
466
|
+
"ecommerce.QuickAddButton",
|
|
467
|
+
"ecommerce.WishlistButton",
|
|
468
|
+
"ecommerce.CartDrawer"
|
|
469
|
+
],
|
|
470
|
+
"maxPerPage": 12,
|
|
471
|
+
"isContainer": false
|
|
472
|
+
}
|
|
473
|
+
},
|
|
474
|
+
{
|
|
475
|
+
"id": "ecommerce.ProductGrid",
|
|
476
|
+
"name": "ProductGrid",
|
|
477
|
+
"description": "Responsive grid layout of product cards. Automatically arranges products in a configurable number of columns with consistent spacing.",
|
|
478
|
+
"whenToUse": "Use on category pages, search results, landing pages, or any view that needs to display multiple products in a grid layout. The primary way to showcase a product catalog.",
|
|
479
|
+
"isShell": false,
|
|
480
|
+
"props": [
|
|
481
|
+
{
|
|
482
|
+
"name": "products",
|
|
483
|
+
"type": "Product[]",
|
|
484
|
+
"required": true,
|
|
485
|
+
"default": null,
|
|
486
|
+
"description": "Array of products: {id, title, image, price, originalPrice?, badge?, rating?, reviewCount?, inStock?}"
|
|
487
|
+
},
|
|
488
|
+
{
|
|
489
|
+
"name": "currency",
|
|
490
|
+
"type": "Currency",
|
|
491
|
+
"required": false,
|
|
492
|
+
"default": "\"USD\"",
|
|
493
|
+
"description": "Currency code for formatting prices: \"USD\" | \"INR\" | \"EUR\" | \"GBP\""
|
|
494
|
+
},
|
|
495
|
+
{
|
|
496
|
+
"name": "columns",
|
|
497
|
+
"type": "number",
|
|
498
|
+
"required": false,
|
|
499
|
+
"default": "3",
|
|
500
|
+
"description": "Number of columns in the grid"
|
|
501
|
+
},
|
|
502
|
+
{
|
|
503
|
+
"name": "onAddToCart",
|
|
504
|
+
"type": "(id: string) => void",
|
|
505
|
+
"required": false,
|
|
506
|
+
"default": null,
|
|
507
|
+
"description": "Callback when add-to-cart is clicked on a product"
|
|
508
|
+
},
|
|
509
|
+
{
|
|
510
|
+
"name": "onWishlist",
|
|
511
|
+
"type": "(id: string) => void",
|
|
512
|
+
"required": false,
|
|
513
|
+
"default": null,
|
|
514
|
+
"description": "Callback when wishlist button is clicked on a product"
|
|
515
|
+
},
|
|
516
|
+
{
|
|
517
|
+
"name": "bgColor",
|
|
518
|
+
"type": "string",
|
|
519
|
+
"required": false,
|
|
520
|
+
"default": "theme",
|
|
521
|
+
"description": "Background color override"
|
|
522
|
+
},
|
|
523
|
+
{
|
|
524
|
+
"name": "textColor",
|
|
525
|
+
"type": "string",
|
|
526
|
+
"required": false,
|
|
527
|
+
"default": "theme",
|
|
528
|
+
"description": "Text color override"
|
|
529
|
+
},
|
|
530
|
+
{
|
|
531
|
+
"name": "accentColor",
|
|
532
|
+
"type": "string",
|
|
533
|
+
"required": false,
|
|
534
|
+
"default": "theme",
|
|
535
|
+
"description": "Accent color override"
|
|
536
|
+
},
|
|
537
|
+
{
|
|
538
|
+
"name": "borderColor",
|
|
539
|
+
"type": "string",
|
|
540
|
+
"required": false,
|
|
541
|
+
"default": "theme",
|
|
542
|
+
"description": "Border color override"
|
|
543
|
+
},
|
|
544
|
+
{
|
|
545
|
+
"name": "fontFamily",
|
|
546
|
+
"type": "string",
|
|
547
|
+
"required": false,
|
|
548
|
+
"default": "theme",
|
|
549
|
+
"description": "Font family override"
|
|
550
|
+
}
|
|
551
|
+
],
|
|
552
|
+
"themeTokens": [
|
|
553
|
+
"bgColor",
|
|
554
|
+
"textColor",
|
|
555
|
+
"accentColor",
|
|
556
|
+
"borderColor",
|
|
557
|
+
"fontFamily",
|
|
558
|
+
"radius",
|
|
559
|
+
"spacing",
|
|
560
|
+
"cardBg",
|
|
561
|
+
"cardRadius",
|
|
562
|
+
"cardBorder",
|
|
563
|
+
"inputBg",
|
|
564
|
+
"inputText",
|
|
565
|
+
"buttonSize"
|
|
566
|
+
],
|
|
567
|
+
"aiHints": {
|
|
568
|
+
"pageTypes": ["ecommerce", "landing", "marketplace", "retail"],
|
|
569
|
+
"placement": "body",
|
|
570
|
+
"priority": 9,
|
|
571
|
+
"sequenceOrder": 5,
|
|
572
|
+
"pairsWellWith": [
|
|
573
|
+
"ecommerce.ProductCard",
|
|
574
|
+
"ecommerce.CartDrawer",
|
|
575
|
+
"navigation.Pagination",
|
|
576
|
+
"navigation.Breadcrumbs"
|
|
577
|
+
],
|
|
578
|
+
"maxPerPage": 2,
|
|
579
|
+
"isContainer": true
|
|
580
|
+
}
|
|
581
|
+
},
|
|
582
|
+
{
|
|
583
|
+
"id": "ecommerce.ProductDetail",
|
|
584
|
+
"name": "ProductDetail",
|
|
585
|
+
"description": "Full product detail view with image gallery, description, variant selectors, pricing, and add-to-cart action. The main component for individual product pages.",
|
|
586
|
+
"whenToUse": "Use as the primary content component on a product detail page (PDP). Displays all product information including images, description, variants, and purchase actions.",
|
|
587
|
+
"isShell": false,
|
|
588
|
+
"props": [
|
|
589
|
+
{
|
|
590
|
+
"name": "product",
|
|
591
|
+
"type": "Product",
|
|
592
|
+
"required": true,
|
|
593
|
+
"default": null,
|
|
594
|
+
"description": "Product data: {id, title, image, price, originalPrice?, badge?, rating?, reviewCount?, inStock?}"
|
|
595
|
+
},
|
|
596
|
+
{
|
|
597
|
+
"name": "description",
|
|
598
|
+
"type": "string",
|
|
599
|
+
"required": false,
|
|
600
|
+
"default": null,
|
|
601
|
+
"description": "Full product description text"
|
|
602
|
+
},
|
|
603
|
+
{
|
|
604
|
+
"name": "images",
|
|
605
|
+
"type": "string[]",
|
|
606
|
+
"required": false,
|
|
607
|
+
"default": null,
|
|
608
|
+
"description": "Array of product image URLs for the gallery"
|
|
609
|
+
},
|
|
610
|
+
{
|
|
611
|
+
"name": "variants",
|
|
612
|
+
"type": "VariantGroup[]",
|
|
613
|
+
"required": false,
|
|
614
|
+
"default": null,
|
|
615
|
+
"description": "Array of variant groups: {name, options: VariantOption[]{label, value}}"
|
|
616
|
+
},
|
|
617
|
+
{
|
|
618
|
+
"name": "currency",
|
|
619
|
+
"type": "Currency",
|
|
620
|
+
"required": false,
|
|
621
|
+
"default": "\"USD\"",
|
|
622
|
+
"description": "Currency code for formatting prices: \"USD\" | \"INR\" | \"EUR\" | \"GBP\""
|
|
623
|
+
},
|
|
624
|
+
{
|
|
625
|
+
"name": "onAddToCart",
|
|
626
|
+
"type": "() => void",
|
|
627
|
+
"required": false,
|
|
628
|
+
"default": null,
|
|
629
|
+
"description": "Callback when add-to-cart is clicked"
|
|
630
|
+
},
|
|
631
|
+
{
|
|
632
|
+
"name": "bgColor",
|
|
633
|
+
"type": "string",
|
|
634
|
+
"required": false,
|
|
635
|
+
"default": "theme",
|
|
636
|
+
"description": "Background color override"
|
|
637
|
+
},
|
|
638
|
+
{
|
|
639
|
+
"name": "textColor",
|
|
640
|
+
"type": "string",
|
|
641
|
+
"required": false,
|
|
642
|
+
"default": "theme",
|
|
643
|
+
"description": "Text color override"
|
|
644
|
+
},
|
|
645
|
+
{
|
|
646
|
+
"name": "accentColor",
|
|
647
|
+
"type": "string",
|
|
648
|
+
"required": false,
|
|
649
|
+
"default": "theme",
|
|
650
|
+
"description": "Accent color override"
|
|
651
|
+
},
|
|
652
|
+
{
|
|
653
|
+
"name": "borderColor",
|
|
654
|
+
"type": "string",
|
|
655
|
+
"required": false,
|
|
656
|
+
"default": "theme",
|
|
657
|
+
"description": "Border color override"
|
|
658
|
+
},
|
|
659
|
+
{
|
|
660
|
+
"name": "fontFamily",
|
|
661
|
+
"type": "string",
|
|
662
|
+
"required": false,
|
|
663
|
+
"default": "theme",
|
|
664
|
+
"description": "Font family override"
|
|
665
|
+
}
|
|
666
|
+
],
|
|
667
|
+
"themeTokens": [
|
|
668
|
+
"bgColor",
|
|
669
|
+
"textColor",
|
|
670
|
+
"accentColor",
|
|
671
|
+
"borderColor",
|
|
672
|
+
"fontFamily",
|
|
673
|
+
"radius",
|
|
674
|
+
"spacing",
|
|
675
|
+
"cardBg",
|
|
676
|
+
"cardRadius",
|
|
677
|
+
"cardBorder",
|
|
678
|
+
"inputBg",
|
|
679
|
+
"inputText",
|
|
680
|
+
"buttonSize"
|
|
681
|
+
],
|
|
682
|
+
"aiHints": {
|
|
683
|
+
"pageTypes": ["ecommerce", "marketplace", "retail"],
|
|
684
|
+
"placement": "body",
|
|
685
|
+
"priority": 10,
|
|
686
|
+
"sequenceOrder": 4,
|
|
687
|
+
"pairsWellWith": [
|
|
688
|
+
"ecommerce.VariantSelector",
|
|
689
|
+
"ecommerce.CartDrawer",
|
|
690
|
+
"ecommerce.WishlistButton",
|
|
691
|
+
"navigation.Breadcrumbs",
|
|
692
|
+
"navigation.Tabs"
|
|
693
|
+
],
|
|
694
|
+
"maxPerPage": 1,
|
|
695
|
+
"isContainer": false
|
|
696
|
+
}
|
|
697
|
+
},
|
|
698
|
+
{
|
|
699
|
+
"id": "ecommerce.VariantSelector",
|
|
700
|
+
"name": "VariantSelector",
|
|
701
|
+
"description": "Product variant picker for selecting options like size, color, material, etc. Renders grouped option buttons for each variant dimension.",
|
|
702
|
+
"whenToUse": "Use within a product detail view to let customers select product variants. Supports multiple variant groups (e.g., size and color simultaneously).",
|
|
703
|
+
"isShell": false,
|
|
704
|
+
"props": [
|
|
705
|
+
{
|
|
706
|
+
"name": "groups",
|
|
707
|
+
"type": "VariantGroup[]",
|
|
708
|
+
"required": true,
|
|
709
|
+
"default": null,
|
|
710
|
+
"description": "Array of variant groups: {name, options: VariantOption[]{label, value}}"
|
|
711
|
+
},
|
|
712
|
+
{
|
|
713
|
+
"name": "selected",
|
|
714
|
+
"type": "Record<string, string>",
|
|
715
|
+
"required": false,
|
|
716
|
+
"default": "{}",
|
|
717
|
+
"description": "Map of currently selected values keyed by group name"
|
|
718
|
+
},
|
|
719
|
+
{
|
|
720
|
+
"name": "onChange",
|
|
721
|
+
"type": "(groupName: string, value: string) => void",
|
|
722
|
+
"required": false,
|
|
723
|
+
"default": null,
|
|
724
|
+
"description": "Callback when a variant option is selected"
|
|
725
|
+
},
|
|
726
|
+
{
|
|
727
|
+
"name": "bgColor",
|
|
728
|
+
"type": "string",
|
|
729
|
+
"required": false,
|
|
730
|
+
"default": "theme",
|
|
731
|
+
"description": "Background color override"
|
|
732
|
+
},
|
|
733
|
+
{
|
|
734
|
+
"name": "textColor",
|
|
735
|
+
"type": "string",
|
|
736
|
+
"required": false,
|
|
737
|
+
"default": "theme",
|
|
738
|
+
"description": "Text color override"
|
|
739
|
+
},
|
|
740
|
+
{
|
|
741
|
+
"name": "accentColor",
|
|
742
|
+
"type": "string",
|
|
743
|
+
"required": false,
|
|
744
|
+
"default": "theme",
|
|
745
|
+
"description": "Accent color override"
|
|
746
|
+
},
|
|
747
|
+
{
|
|
748
|
+
"name": "borderColor",
|
|
749
|
+
"type": "string",
|
|
750
|
+
"required": false,
|
|
751
|
+
"default": "theme",
|
|
752
|
+
"description": "Border color override"
|
|
753
|
+
},
|
|
754
|
+
{
|
|
755
|
+
"name": "fontFamily",
|
|
756
|
+
"type": "string",
|
|
757
|
+
"required": false,
|
|
758
|
+
"default": "theme",
|
|
759
|
+
"description": "Font family override"
|
|
760
|
+
}
|
|
761
|
+
],
|
|
762
|
+
"themeTokens": [
|
|
763
|
+
"bgColor",
|
|
764
|
+
"textColor",
|
|
765
|
+
"accentColor",
|
|
766
|
+
"borderColor",
|
|
767
|
+
"fontFamily",
|
|
768
|
+
"radius",
|
|
769
|
+
"spacing",
|
|
770
|
+
"cardBg",
|
|
771
|
+
"cardRadius",
|
|
772
|
+
"cardBorder",
|
|
773
|
+
"inputBg",
|
|
774
|
+
"inputText",
|
|
775
|
+
"buttonSize"
|
|
776
|
+
],
|
|
777
|
+
"aiHints": {
|
|
778
|
+
"pageTypes": ["ecommerce", "marketplace", "retail"],
|
|
779
|
+
"placement": "body",
|
|
780
|
+
"priority": 6,
|
|
781
|
+
"sequenceOrder": 5,
|
|
782
|
+
"pairsWellWith": ["ecommerce.ProductDetail", "ecommerce.QuickAddButton"],
|
|
783
|
+
"maxPerPage": 2,
|
|
784
|
+
"isContainer": false
|
|
785
|
+
}
|
|
786
|
+
},
|
|
787
|
+
{
|
|
788
|
+
"id": "ecommerce.QuickAddButton",
|
|
789
|
+
"name": "QuickAddButton",
|
|
790
|
+
"description": "Compact add-to-cart button for quick product addition without navigating to the product detail page. Designed for use within product cards and grids.",
|
|
791
|
+
"whenToUse": "Use on product cards, product grids, or any listing view where you want to let users add items to their cart with a single click.",
|
|
792
|
+
"isShell": false,
|
|
793
|
+
"props": [
|
|
794
|
+
{
|
|
795
|
+
"name": "productId",
|
|
796
|
+
"type": "string",
|
|
797
|
+
"required": true,
|
|
798
|
+
"default": null,
|
|
799
|
+
"description": "The product ID to add to cart"
|
|
800
|
+
},
|
|
801
|
+
{
|
|
802
|
+
"name": "label",
|
|
803
|
+
"type": "string",
|
|
804
|
+
"required": false,
|
|
805
|
+
"default": "\"Quick Add\"",
|
|
806
|
+
"description": "Button label text"
|
|
807
|
+
},
|
|
808
|
+
{
|
|
809
|
+
"name": "onAdd",
|
|
810
|
+
"type": "(id: string) => void",
|
|
811
|
+
"required": false,
|
|
812
|
+
"default": null,
|
|
813
|
+
"description": "Callback when the button is clicked"
|
|
814
|
+
},
|
|
815
|
+
{
|
|
816
|
+
"name": "disabled",
|
|
817
|
+
"type": "boolean",
|
|
818
|
+
"required": false,
|
|
819
|
+
"default": "false",
|
|
820
|
+
"description": "Whether the button is disabled"
|
|
821
|
+
},
|
|
822
|
+
{
|
|
823
|
+
"name": "bgColor",
|
|
824
|
+
"type": "string",
|
|
825
|
+
"required": false,
|
|
826
|
+
"default": "theme",
|
|
827
|
+
"description": "Background color override"
|
|
828
|
+
},
|
|
829
|
+
{
|
|
830
|
+
"name": "textColor",
|
|
831
|
+
"type": "string",
|
|
832
|
+
"required": false,
|
|
833
|
+
"default": "theme",
|
|
834
|
+
"description": "Text color override"
|
|
835
|
+
},
|
|
836
|
+
{
|
|
837
|
+
"name": "accentColor",
|
|
838
|
+
"type": "string",
|
|
839
|
+
"required": false,
|
|
840
|
+
"default": "theme",
|
|
841
|
+
"description": "Accent color override"
|
|
842
|
+
},
|
|
843
|
+
{
|
|
844
|
+
"name": "borderColor",
|
|
845
|
+
"type": "string",
|
|
846
|
+
"required": false,
|
|
847
|
+
"default": "theme",
|
|
848
|
+
"description": "Border color override"
|
|
849
|
+
},
|
|
850
|
+
{
|
|
851
|
+
"name": "fontFamily",
|
|
852
|
+
"type": "string",
|
|
853
|
+
"required": false,
|
|
854
|
+
"default": "theme",
|
|
855
|
+
"description": "Font family override"
|
|
856
|
+
}
|
|
857
|
+
],
|
|
858
|
+
"themeTokens": [
|
|
859
|
+
"bgColor",
|
|
860
|
+
"textColor",
|
|
861
|
+
"accentColor",
|
|
862
|
+
"borderColor",
|
|
863
|
+
"fontFamily",
|
|
864
|
+
"radius",
|
|
865
|
+
"spacing",
|
|
866
|
+
"cardBg",
|
|
867
|
+
"cardRadius",
|
|
868
|
+
"cardBorder",
|
|
869
|
+
"inputBg",
|
|
870
|
+
"inputText",
|
|
871
|
+
"buttonSize"
|
|
872
|
+
],
|
|
873
|
+
"aiHints": {
|
|
874
|
+
"pageTypes": ["ecommerce", "marketplace", "retail"],
|
|
875
|
+
"placement": "body",
|
|
876
|
+
"priority": 5,
|
|
877
|
+
"sequenceOrder": 5,
|
|
878
|
+
"pairsWellWith": ["ecommerce.ProductCard", "ecommerce.ProductGrid"],
|
|
879
|
+
"maxPerPage": 12,
|
|
880
|
+
"isContainer": false
|
|
881
|
+
}
|
|
882
|
+
},
|
|
883
|
+
{
|
|
884
|
+
"id": "ecommerce.WishlistButton",
|
|
885
|
+
"name": "WishlistButton",
|
|
886
|
+
"description": "Toggle heart button for adding or removing a product from the user's wishlist. Displays filled or outline heart based on state.",
|
|
887
|
+
"whenToUse": "Use on product cards, product detail pages, or anywhere you want to let users save products to their wishlist. Provides visual feedback for wishlisted state.",
|
|
888
|
+
"isShell": false,
|
|
889
|
+
"props": [
|
|
890
|
+
{
|
|
891
|
+
"name": "productId",
|
|
892
|
+
"type": "string",
|
|
893
|
+
"required": true,
|
|
894
|
+
"default": null,
|
|
895
|
+
"description": "The product ID to wishlist"
|
|
896
|
+
},
|
|
897
|
+
{
|
|
898
|
+
"name": "wishlisted",
|
|
899
|
+
"type": "boolean",
|
|
900
|
+
"required": false,
|
|
901
|
+
"default": "false",
|
|
902
|
+
"description": "Whether the product is currently wishlisted"
|
|
903
|
+
},
|
|
904
|
+
{
|
|
905
|
+
"name": "onToggle",
|
|
906
|
+
"type": "(id: string) => void",
|
|
907
|
+
"required": false,
|
|
908
|
+
"default": null,
|
|
909
|
+
"description": "Callback when the wishlist state is toggled"
|
|
910
|
+
},
|
|
911
|
+
{
|
|
912
|
+
"name": "bgColor",
|
|
913
|
+
"type": "string",
|
|
914
|
+
"required": false,
|
|
915
|
+
"default": "theme",
|
|
916
|
+
"description": "Background color override"
|
|
917
|
+
},
|
|
918
|
+
{
|
|
919
|
+
"name": "textColor",
|
|
920
|
+
"type": "string",
|
|
921
|
+
"required": false,
|
|
922
|
+
"default": "theme",
|
|
923
|
+
"description": "Text color override"
|
|
924
|
+
},
|
|
925
|
+
{
|
|
926
|
+
"name": "accentColor",
|
|
927
|
+
"type": "string",
|
|
928
|
+
"required": false,
|
|
929
|
+
"default": "theme",
|
|
930
|
+
"description": "Accent color override"
|
|
931
|
+
},
|
|
932
|
+
{
|
|
933
|
+
"name": "borderColor",
|
|
934
|
+
"type": "string",
|
|
935
|
+
"required": false,
|
|
936
|
+
"default": "theme",
|
|
937
|
+
"description": "Border color override"
|
|
938
|
+
},
|
|
939
|
+
{
|
|
940
|
+
"name": "fontFamily",
|
|
941
|
+
"type": "string",
|
|
942
|
+
"required": false,
|
|
943
|
+
"default": "theme",
|
|
944
|
+
"description": "Font family override"
|
|
945
|
+
}
|
|
946
|
+
],
|
|
947
|
+
"themeTokens": [
|
|
948
|
+
"bgColor",
|
|
949
|
+
"textColor",
|
|
950
|
+
"accentColor",
|
|
951
|
+
"borderColor",
|
|
952
|
+
"fontFamily",
|
|
953
|
+
"radius",
|
|
954
|
+
"spacing",
|
|
955
|
+
"cardBg",
|
|
956
|
+
"cardRadius",
|
|
957
|
+
"cardBorder",
|
|
958
|
+
"inputBg",
|
|
959
|
+
"inputText",
|
|
960
|
+
"buttonSize"
|
|
961
|
+
],
|
|
962
|
+
"aiHints": {
|
|
963
|
+
"pageTypes": ["ecommerce", "marketplace"],
|
|
964
|
+
"placement": "body",
|
|
965
|
+
"priority": 5,
|
|
966
|
+
"sequenceOrder": 5,
|
|
967
|
+
"pairsWellWith": [
|
|
968
|
+
"ecommerce.ProductCard",
|
|
969
|
+
"ecommerce.ProductDetail",
|
|
970
|
+
"ecommerce.ProductGrid"
|
|
971
|
+
],
|
|
972
|
+
"maxPerPage": 12,
|
|
973
|
+
"isContainer": false
|
|
974
|
+
}
|
|
975
|
+
},
|
|
976
|
+
{
|
|
977
|
+
"id": "ecommerce.PaymentButtons",
|
|
978
|
+
"name": "PaymentButtons",
|
|
979
|
+
"description": "Group of payment method buttons supporting card, PayPal, Apple Pay, and other methods. Renders styled buttons for each available payment option.",
|
|
980
|
+
"whenToUse": "Use on checkout pages to let customers select their preferred payment method. Typically placed after the order summary and before the final confirmation step.",
|
|
981
|
+
"isShell": false,
|
|
982
|
+
"props": [
|
|
983
|
+
{
|
|
984
|
+
"name": "onPay",
|
|
985
|
+
"type": "(method: string) => void",
|
|
986
|
+
"required": false,
|
|
987
|
+
"default": null,
|
|
988
|
+
"description": "Callback when a payment method is selected"
|
|
989
|
+
},
|
|
990
|
+
{
|
|
991
|
+
"name": "methods",
|
|
992
|
+
"type": "string[]",
|
|
993
|
+
"required": false,
|
|
994
|
+
"default": "[\"card\", \"paypal\", \"apple-pay\"]",
|
|
995
|
+
"description": "Array of available payment method identifiers"
|
|
996
|
+
},
|
|
997
|
+
{
|
|
998
|
+
"name": "bgColor",
|
|
999
|
+
"type": "string",
|
|
1000
|
+
"required": false,
|
|
1001
|
+
"default": "theme",
|
|
1002
|
+
"description": "Background color override"
|
|
1003
|
+
},
|
|
1004
|
+
{
|
|
1005
|
+
"name": "textColor",
|
|
1006
|
+
"type": "string",
|
|
1007
|
+
"required": false,
|
|
1008
|
+
"default": "theme",
|
|
1009
|
+
"description": "Text color override"
|
|
1010
|
+
},
|
|
1011
|
+
{
|
|
1012
|
+
"name": "accentColor",
|
|
1013
|
+
"type": "string",
|
|
1014
|
+
"required": false,
|
|
1015
|
+
"default": "theme",
|
|
1016
|
+
"description": "Accent color override"
|
|
1017
|
+
},
|
|
1018
|
+
{
|
|
1019
|
+
"name": "borderColor",
|
|
1020
|
+
"type": "string",
|
|
1021
|
+
"required": false,
|
|
1022
|
+
"default": "theme",
|
|
1023
|
+
"description": "Border color override"
|
|
1024
|
+
},
|
|
1025
|
+
{
|
|
1026
|
+
"name": "fontFamily",
|
|
1027
|
+
"type": "string",
|
|
1028
|
+
"required": false,
|
|
1029
|
+
"default": "theme",
|
|
1030
|
+
"description": "Font family override"
|
|
1031
|
+
}
|
|
1032
|
+
],
|
|
1033
|
+
"themeTokens": [
|
|
1034
|
+
"bgColor",
|
|
1035
|
+
"textColor",
|
|
1036
|
+
"accentColor",
|
|
1037
|
+
"borderColor",
|
|
1038
|
+
"fontFamily",
|
|
1039
|
+
"radius",
|
|
1040
|
+
"spacing",
|
|
1041
|
+
"cardBg",
|
|
1042
|
+
"cardRadius",
|
|
1043
|
+
"cardBorder",
|
|
1044
|
+
"inputBg",
|
|
1045
|
+
"inputText",
|
|
1046
|
+
"buttonSize"
|
|
1047
|
+
],
|
|
1048
|
+
"aiHints": {
|
|
1049
|
+
"pageTypes": ["ecommerce", "checkout", "nonprofit", "event"],
|
|
1050
|
+
"placement": "body",
|
|
1051
|
+
"priority": 7,
|
|
1052
|
+
"sequenceOrder": 9,
|
|
1053
|
+
"pairsWellWith": ["ecommerce.OrderSummary", "navigation.Stepper"],
|
|
1054
|
+
"maxPerPage": 1,
|
|
1055
|
+
"isContainer": false
|
|
1056
|
+
}
|
|
1057
|
+
}
|
|
1058
|
+
]
|
|
1059
|
+
}
|