@faststore/core 2.2.69 → 2.2.71
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/.next/BUILD_ID +1 -1
- package/.next/build-manifest.json +62 -52
- package/.next/cache/.tsbuildinfo +1 -1
- package/.next/cache/config.json +3 -3
- package/.next/cache/eslint/.cache_1gneedd +1 -1
- package/.next/cache/next-server.js.nft.json +1 -1
- package/.next/cache/webpack/client-production/0.pack +0 -0
- package/.next/cache/webpack/client-production/index.pack +0 -0
- package/.next/cache/webpack/server-production/0.pack +0 -0
- package/.next/cache/webpack/server-production/index.pack +0 -0
- package/.next/next-server.js.nft.json +1 -1
- package/.next/prerender-manifest.json +1 -1
- package/.next/react-loadable-manifest.json +4 -4
- package/.next/routes-manifest.json +1 -1
- package/.next/server/chunks/117.js +427 -0
- package/.next/server/chunks/184.js +61 -0
- package/.next/server/chunks/350.js +2846 -35
- package/.next/server/chunks/585.js +22 -0
- package/.next/server/chunks/632.js +514 -0
- package/.next/server/chunks/661.js +1451 -0
- package/.next/server/chunks/693.js +58 -0
- package/.next/server/chunks/719.js +84 -0
- package/.next/server/chunks/74.js +987 -6854
- package/.next/server/chunks/779.js +58 -0
- package/.next/server/chunks/854.js +72 -0
- package/.next/server/chunks/863.js +22 -0
- package/.next/server/chunks/{520.js → 898.js} +250 -30
- package/.next/server/chunks/903.js +1926 -0
- package/.next/server/middleware-build-manifest.js +1 -1
- package/.next/server/middleware-react-loadable-manifest.js +1 -1
- package/.next/server/pages/404.js +0 -21
- package/.next/server/pages/404.js.nft.json +1 -1
- package/.next/server/pages/500.js +0 -21
- package/.next/server/pages/500.js.nft.json +1 -1
- package/.next/server/pages/[...slug].js +9 -9
- package/.next/server/pages/[...slug].js.nft.json +1 -1
- package/.next/server/pages/[slug]/p.js +1373 -33
- package/.next/server/pages/[slug]/p.js.nft.json +1 -1
- package/.next/server/pages/_app.js.nft.json +1 -1
- package/.next/server/pages/account.js +0 -21
- package/.next/server/pages/account.js.nft.json +1 -1
- package/.next/server/pages/api/graphql.js +1 -1
- package/.next/server/pages/api/graphql.js.nft.json +1 -1
- package/.next/server/pages/checkout.js +0 -21
- package/.next/server/pages/checkout.js.nft.json +1 -1
- package/.next/server/pages/en-US/404.html +2 -2
- package/.next/server/pages/en-US/500.html +2 -2
- package/.next/server/pages/en-US/account.html +2 -2
- package/.next/server/pages/en-US/checkout.html +2 -2
- package/.next/server/pages/en-US/login.html +2 -2
- package/.next/server/pages/en-US/s.html +2 -2
- package/.next/server/pages/en-US.html +2 -2
- package/.next/server/pages/index.js +5 -5
- package/.next/server/pages/index.js.nft.json +1 -1
- package/.next/server/pages/login.js +0 -21
- package/.next/server/pages/login.js.nft.json +1 -1
- package/.next/server/pages/s.js +4 -58
- package/.next/server/pages/s.js.nft.json +1 -1
- package/.next/static/IDskqcKTB7kE5quFZAhgJ/_buildManifest.js +1 -0
- package/.next/static/chunks/223-cb77217cce52d45c.js +1 -0
- package/.next/static/chunks/251.11f5198fc8bef3a4.js +1 -0
- package/.next/static/chunks/397-0d3aada1012cd78b.js +1 -0
- package/.next/static/chunks/585.6561778b7763b79e.js +1 -0
- package/.next/static/chunks/675-479a97aecebead97.js +1 -0
- package/.next/static/chunks/800.5d92de2974baf641.js +1 -0
- package/.next/static/chunks/881-57643fb90f59e576.js +1 -0
- package/.next/static/chunks/988.afda042dd9ba11d1.js +1 -0
- package/.next/static/chunks/pages/404-e106cb9a78182f5f.js +1 -0
- package/.next/static/chunks/pages/500-d28aa4a8ce88bddd.js +1 -0
- package/.next/static/chunks/pages/[...slug]-cf872b9e9befd47c.js +1 -0
- package/.next/static/chunks/pages/[slug]/p-4a75b11857b82b5c.js +1 -0
- package/.next/static/chunks/pages/{account-1963c084b0b6e597.js → account-bf9c88a9cac80d8a.js} +1 -1
- package/.next/static/chunks/pages/{checkout-d66a352e910607dd.js → checkout-6ca76c1e88a28ac4.js} +1 -1
- package/.next/static/chunks/pages/index-629ba146ae5f0ecf.js +1 -0
- package/.next/static/chunks/pages/login-d2af0de13ea75848.js +1 -0
- package/.next/static/chunks/pages/s-d729254b91430d1c.js +1 -0
- package/.next/static/chunks/webpack-54ce04ec11860b0b.js +1 -0
- package/.next/static/css/021de9c7b050d301.css +1 -0
- package/.next/static/css/510895065f32ed2f.css +1 -0
- package/.next/static/css/7e897ebb936fac09.css +1 -0
- package/.next/static/css/938781cdc945862e.css +1 -0
- package/.next/static/css/9558da13053ac066.css +1 -0
- package/.next/static/css/def381bf7c69fa2e.css +1 -0
- package/.next/trace +82 -82
- package/.turbo/turbo-build.log +19 -19
- package/.turbo/turbo-test.log +10 -10
- package/index.ts +13 -0
- package/package.json +2 -2
- package/src/components/cms/GlobalSections.tsx +1 -1
- package/src/components/navigation/Navbar/Navbar.tsx +10 -10
- package/src/components/navigation/NavbarLinks/NavbarLinks.tsx +3 -5
- package/src/components/navigation/NavbarSlider/NavbarSlider.tsx +8 -7
- package/src/components/sections/Alert/Alert.tsx +11 -3
- package/src/components/sections/Alert/OverriddenDefaultAlert.ts +7 -4
- package/src/components/sections/BannerText/BannerText.tsx +10 -2
- package/src/components/sections/BannerText/OverriddenDefaultBannerText.ts +7 -4
- package/src/components/sections/Breadcrumb/Breadcrumb.tsx +9 -3
- package/src/components/sections/Breadcrumb/OverriddenDefaultBreadcrumb.ts +7 -4
- package/src/components/sections/CrossSellingShelf/CrossSellingShelf.tsx +8 -2
- package/src/components/sections/CrossSellingShelf/OverriddenDefaultCrossSellingShelf.ts +2 -1
- package/src/components/sections/EmptyState/Overrides.tsx +2 -2
- package/src/components/sections/Hero/Hero.tsx +11 -3
- package/src/components/sections/Hero/OverriddenDefaultHero.ts +7 -4
- package/src/components/sections/Navbar/DefaultComponents.ts +27 -0
- package/src/components/sections/Navbar/Navbar.tsx +10 -2
- package/src/components/sections/Navbar/OverriddenDefaultNavbar.ts +14 -0
- package/src/components/sections/Newsletter/Newsletter.tsx +10 -2
- package/src/components/sections/Newsletter/OverriddenDefaultNewsletter.ts +6 -4
- package/src/components/sections/ProductDetails/OverriddenDefaultProductDetails.ts +7 -4
- package/src/components/sections/ProductDetails/ProductDetails.tsx +16 -8
- package/src/components/sections/ProductGallery/OverriddenDefaultProductGallery.ts +6 -4
- package/src/components/sections/ProductGallery/ProductGallery.tsx +13 -5
- package/src/components/sections/ProductShelf/OverriddenDefaultProductShelf.ts +7 -4
- package/src/components/sections/ProductShelf/ProductShelf.tsx +12 -2
- package/src/components/sections/RegionBar/OverriddenDefaultRegionBar.ts +6 -4
- package/src/components/sections/RegionBar/RegionBar.tsx +11 -5
- package/src/sdk/overrides/getOverriddenSection.tsx +45 -44
- package/src/sdk/overrides/overrides.ts +2 -2
- package/src/typings/overrides.ts +265 -186
- package/src/typings/overridesDefinition.ts +20 -6
- package/.next/server/chunks/445.js +0 -167
- package/.next/server/chunks/829.js +0 -2938
- package/.next/server/chunks/934.js +0 -125
- package/.next/static/JNkl1RxkhVPSzLAsRUxC6/_buildManifest.js +0 -1
- package/.next/static/chunks/251.65e0bb7a2f58b3db.js +0 -1
- package/.next/static/chunks/557-4f8a963d7e07e582.js +0 -1
- package/.next/static/chunks/585.ee7478bead8853ae.js +0 -1
- package/.next/static/chunks/800.8f4f91b39aa47346.js +0 -1
- package/.next/static/chunks/846-c59a0f158089800c.js +0 -1
- package/.next/static/chunks/988.a57dac6501fb5184.js +0 -1
- package/.next/static/chunks/pages/404-e44d7103a9c6781f.js +0 -1
- package/.next/static/chunks/pages/500-2ddd76fa11c851e4.js +0 -1
- package/.next/static/chunks/pages/[...slug]-f7f47afa6dce5abf.js +0 -1
- package/.next/static/chunks/pages/[slug]/p-27a9a4ef5d07a4ce.js +0 -1
- package/.next/static/chunks/pages/index-9e98f2fc42dec7c1.js +0 -1
- package/.next/static/chunks/pages/login-349e1406a3a98968.js +0 -1
- package/.next/static/chunks/pages/s-9b771eb03d589ee6.js +0 -1
- package/.next/static/chunks/webpack-3beeb2f9a51fccf6.js +0 -1
- package/.next/static/css/0c844be3b8585e70.css +0 -1
- package/.next/static/css/280c254f1f559956.css +0 -1
- package/.next/static/css/a6bcc59f42b42f36.css +0 -1
- package/.next/static/css/ecdecb8d639a8311.css +0 -1
- package/src/components/sections/Navbar/Overrides.tsx +0 -60
- package/src/sdk/overrides/sections.tsx +0 -54
- /package/.next/static/{JNkl1RxkhVPSzLAsRUxC6 → IDskqcKTB7kE5quFZAhgJ}/_ssgManifest.js +0 -0
package/src/typings/overrides.ts
CHANGED
|
@@ -43,27 +43,62 @@ import type {
|
|
|
43
43
|
|
|
44
44
|
import type {
|
|
45
45
|
ComponentOverrideDefinition,
|
|
46
|
-
|
|
46
|
+
SectionOverrideDefinitionV1,
|
|
47
47
|
} from './overridesDefinition'
|
|
48
|
+
import Alert from '../components/sections/Alert'
|
|
49
|
+
import Breadcrumb from '../components/sections/Breadcrumb'
|
|
50
|
+
import BannerText from '../components/sections/BannerText'
|
|
51
|
+
import CrossSellingShelf from '../components/sections/CrossSellingShelf'
|
|
52
|
+
import Hero from '../components/sections/Hero'
|
|
53
|
+
import ProductShelf from '../components/sections/ProductShelf'
|
|
54
|
+
import ProductDetails from '../components/sections/ProductDetails'
|
|
55
|
+
import Navbar from '../components/sections/Navbar'
|
|
56
|
+
import Newsletter from '../components/sections/Newsletter'
|
|
57
|
+
import ProductGallery from '../components/sections/ProductGallery'
|
|
58
|
+
import RegionBar from '../components/sections/RegionBar'
|
|
48
59
|
|
|
49
60
|
export type SectionOverride = {
|
|
50
|
-
[K in keyof SectionsOverrides]:
|
|
61
|
+
[K in keyof SectionsOverrides]: SectionOverrideDefinitionV1<K>
|
|
51
62
|
}[keyof SectionsOverrides]
|
|
52
63
|
|
|
53
|
-
/**
|
|
54
|
-
|
|
55
|
-
|
|
56
|
-
|
|
57
|
-
|
|
58
|
-
|
|
59
|
-
|
|
60
|
-
|
|
61
|
-
|
|
62
|
-
|
|
63
|
-
|
|
64
|
-
|
|
65
|
-
|
|
66
|
-
|
|
64
|
+
/**
|
|
65
|
+
* This type exists for us to be able to provide proper autocomplete
|
|
66
|
+
* and type checking for the override components.
|
|
67
|
+
*
|
|
68
|
+
* What it does is it maps a section component to its override components.
|
|
69
|
+
*
|
|
70
|
+
* OverrideComponentsForSection<typeof Alert> translates to:
|
|
71
|
+
* {
|
|
72
|
+
* Alert: {
|
|
73
|
+
* Alert: ComponentOverrideDefinition<AlertProps, Omit<AlertProps, 'onClose'>>
|
|
74
|
+
* Icon: ComponentOverrideDefinition<IconProps, IconProps>
|
|
75
|
+
* }
|
|
76
|
+
* }
|
|
77
|
+
*
|
|
78
|
+
* We then use ComponentsFromSection to extract the list of components
|
|
79
|
+
*/
|
|
80
|
+
export type OverrideComponentsForSection<
|
|
81
|
+
Section extends SectionsOverrides[keyof SectionsOverrides]['Section']
|
|
82
|
+
> = {
|
|
83
|
+
// The first 'extends' condition is used to filter out sections that don't have overrides (typed 'never')
|
|
84
|
+
[K in keyof SectionsOverrides as SectionsOverrides[K] extends {
|
|
85
|
+
Section: never
|
|
86
|
+
}
|
|
87
|
+
? never
|
|
88
|
+
: // In the second 'extends' condition, we check if the section matches the one we're looking for
|
|
89
|
+
SectionsOverrides[K] extends {
|
|
90
|
+
Section: Section
|
|
91
|
+
}
|
|
92
|
+
? // If it does, we return the components. Otherwise, we return 'never', which is filtered out
|
|
93
|
+
K
|
|
94
|
+
: never]: SectionsOverrides[K]['components']
|
|
95
|
+
}
|
|
96
|
+
|
|
97
|
+
// This type is used to extract only the list of components from the section override
|
|
98
|
+
export type ComponentsFromSection<
|
|
99
|
+
Section extends SectionsOverrides[keyof SectionsOverrides]['Section']
|
|
100
|
+
> =
|
|
101
|
+
OverrideComponentsForSection<Section>[keyof OverrideComponentsForSection<Section>]
|
|
67
102
|
|
|
68
103
|
/**
|
|
69
104
|
* Originally, these types were defined in their respective Overrides file
|
|
@@ -73,199 +108,243 @@ export type SupportedSectionsOverridesV2 = Pick<
|
|
|
73
108
|
* For some reason, defining them in the same file as SectionOverride seems to fix the issue.
|
|
74
109
|
* Consider that before moving them elsewhere and test it on the starter as well.
|
|
75
110
|
*/
|
|
76
|
-
|
|
77
111
|
export type SectionsOverrides = {
|
|
78
112
|
Alert: {
|
|
79
|
-
|
|
80
|
-
|
|
113
|
+
Section: typeof Alert
|
|
114
|
+
components: {
|
|
115
|
+
Alert: ComponentOverrideDefinition<
|
|
116
|
+
AlertProps,
|
|
117
|
+
Omit<AlertProps, 'onClose'>
|
|
118
|
+
>
|
|
119
|
+
Icon: ComponentOverrideDefinition<IconProps, IconProps>
|
|
120
|
+
}
|
|
81
121
|
}
|
|
82
122
|
BannerText: {
|
|
83
|
-
|
|
84
|
-
|
|
85
|
-
|
|
86
|
-
|
|
87
|
-
|
|
123
|
+
Section: typeof BannerText
|
|
124
|
+
components: {
|
|
125
|
+
BannerText: ComponentOverrideDefinition<BannerTextProps, BannerTextProps>
|
|
126
|
+
BannerTextContent: ComponentOverrideDefinition<
|
|
127
|
+
BannerTextContentProps,
|
|
128
|
+
BannerTextContentProps
|
|
129
|
+
>
|
|
130
|
+
}
|
|
88
131
|
}
|
|
89
132
|
Breadcrumb: {
|
|
90
|
-
|
|
91
|
-
|
|
133
|
+
Section: typeof Breadcrumb
|
|
134
|
+
components: {
|
|
135
|
+
Breadcrumb: ComponentOverrideDefinition<BreadcrumbProps, BreadcrumbProps>
|
|
136
|
+
Icon: ComponentOverrideDefinition<IconProps, IconProps>
|
|
137
|
+
}
|
|
92
138
|
}
|
|
93
139
|
EmptyState: {
|
|
94
|
-
|
|
95
|
-
|
|
96
|
-
|
|
97
|
-
|
|
140
|
+
Section: never
|
|
141
|
+
components: {
|
|
142
|
+
EmptyState: ComponentOverrideDefinition<
|
|
143
|
+
PropsWithChildren<EmptyStateProps>,
|
|
144
|
+
EmptyStateProps
|
|
145
|
+
>
|
|
146
|
+
}
|
|
98
147
|
}
|
|
99
148
|
Hero: {
|
|
100
|
-
|
|
101
|
-
|
|
102
|
-
|
|
149
|
+
Section: typeof Hero
|
|
150
|
+
components: {
|
|
151
|
+
Hero: ComponentOverrideDefinition<HeroProps, HeroProps>
|
|
152
|
+
HeroImage: ComponentOverrideDefinition<HeroImageProps, HeroImageProps>
|
|
153
|
+
HeroHeader: ComponentOverrideDefinition<HeroHeaderProps, HeroHeaderProps>
|
|
154
|
+
}
|
|
103
155
|
}
|
|
104
156
|
Navbar: {
|
|
105
|
-
|
|
106
|
-
|
|
107
|
-
|
|
108
|
-
|
|
109
|
-
|
|
110
|
-
|
|
111
|
-
|
|
112
|
-
|
|
113
|
-
|
|
114
|
-
|
|
115
|
-
|
|
116
|
-
|
|
117
|
-
|
|
118
|
-
|
|
119
|
-
|
|
120
|
-
|
|
121
|
-
|
|
122
|
-
|
|
123
|
-
|
|
124
|
-
|
|
125
|
-
|
|
126
|
-
|
|
127
|
-
|
|
128
|
-
|
|
129
|
-
|
|
130
|
-
|
|
131
|
-
|
|
132
|
-
|
|
133
|
-
|
|
134
|
-
|
|
135
|
-
|
|
136
|
-
|
|
137
|
-
|
|
138
|
-
|
|
139
|
-
|
|
157
|
+
Section: typeof Navbar,
|
|
158
|
+
components: {
|
|
159
|
+
Navbar: ComponentOverrideDefinition<NavbarProps, NavbarProps>
|
|
160
|
+
NavbarLinks: ComponentOverrideDefinition<
|
|
161
|
+
NavbarLinksProps,
|
|
162
|
+
NavbarLinksProps
|
|
163
|
+
>
|
|
164
|
+
NavbarLinksList: ComponentOverrideDefinition<
|
|
165
|
+
NavbarLinksListProps,
|
|
166
|
+
NavbarLinksListProps
|
|
167
|
+
>
|
|
168
|
+
NavbarSlider: ComponentOverrideDefinition<
|
|
169
|
+
NavbarSliderProps,
|
|
170
|
+
NavbarSliderProps
|
|
171
|
+
>
|
|
172
|
+
NavbarSliderHeader: ComponentOverrideDefinition<
|
|
173
|
+
NavbarSliderHeaderProps,
|
|
174
|
+
NavbarSliderHeaderProps
|
|
175
|
+
>
|
|
176
|
+
NavbarSliderContent: ComponentOverrideDefinition<
|
|
177
|
+
NavbarSliderContentProps,
|
|
178
|
+
NavbarSliderContentProps
|
|
179
|
+
>
|
|
180
|
+
NavbarSliderFooter: ComponentOverrideDefinition<
|
|
181
|
+
NavbarSliderFooterProps,
|
|
182
|
+
NavbarSliderFooterProps
|
|
183
|
+
>
|
|
184
|
+
NavbarHeader: ComponentOverrideDefinition<
|
|
185
|
+
NavbarHeaderProps,
|
|
186
|
+
NavbarHeaderProps
|
|
187
|
+
>
|
|
188
|
+
NavbarRow: ComponentOverrideDefinition<NavbarRowProps, NavbarRowProps>
|
|
189
|
+
NavbarButtons: ComponentOverrideDefinition<
|
|
190
|
+
NavbarButtonsProps,
|
|
191
|
+
NavbarButtonsProps
|
|
192
|
+
>
|
|
193
|
+
IconButton: ComponentOverrideDefinition<
|
|
194
|
+
IconButtonProps,
|
|
195
|
+
Omit<IconButtonProps, 'onClick'>
|
|
196
|
+
>
|
|
197
|
+
}
|
|
140
198
|
}
|
|
141
199
|
Newsletter: {
|
|
142
|
-
|
|
143
|
-
|
|
144
|
-
|
|
145
|
-
|
|
146
|
-
|
|
147
|
-
|
|
148
|
-
|
|
149
|
-
|
|
150
|
-
|
|
151
|
-
|
|
152
|
-
|
|
153
|
-
|
|
154
|
-
|
|
155
|
-
|
|
156
|
-
|
|
157
|
-
|
|
158
|
-
|
|
159
|
-
|
|
160
|
-
|
|
161
|
-
|
|
162
|
-
|
|
163
|
-
|
|
164
|
-
|
|
165
|
-
|
|
166
|
-
|
|
167
|
-
|
|
168
|
-
|
|
169
|
-
|
|
170
|
-
|
|
200
|
+
Section: typeof Newsletter
|
|
201
|
+
components: {
|
|
202
|
+
Newsletter: ComponentOverrideDefinition<NewsletterProps, NewsletterProps>
|
|
203
|
+
NewsletterAddendum: ComponentOverrideDefinition<
|
|
204
|
+
NewsletterAddendumProps,
|
|
205
|
+
NewsletterAddendumProps
|
|
206
|
+
>
|
|
207
|
+
NewsletterContent: ComponentOverrideDefinition<
|
|
208
|
+
NewsletterContentProps,
|
|
209
|
+
NewsletterContentProps
|
|
210
|
+
>
|
|
211
|
+
NewsletterForm: ComponentOverrideDefinition<
|
|
212
|
+
NewsletterFormProps,
|
|
213
|
+
NewsletterFormProps
|
|
214
|
+
>
|
|
215
|
+
NewsletterHeader: ComponentOverrideDefinition<
|
|
216
|
+
NewsletterHeaderProps,
|
|
217
|
+
NewsletterHeaderProps
|
|
218
|
+
>
|
|
219
|
+
ToastIconSuccess: ComponentOverrideDefinition<IconProps, IconProps>
|
|
220
|
+
ToastIconError: ComponentOverrideDefinition<IconProps, IconProps>
|
|
221
|
+
HeaderIcon: ComponentOverrideDefinition<IconProps, IconProps>
|
|
222
|
+
InputFieldName: ComponentOverrideDefinition<
|
|
223
|
+
InputFieldProps,
|
|
224
|
+
Omit<InputFieldProps, 'inputRef'>
|
|
225
|
+
>
|
|
226
|
+
InputFieldEmail: ComponentOverrideDefinition<
|
|
227
|
+
InputFieldProps,
|
|
228
|
+
Omit<InputFieldProps, 'inputRef'>
|
|
229
|
+
>
|
|
230
|
+
Button: ComponentOverrideDefinition<ButtonProps, ButtonProps>
|
|
231
|
+
}
|
|
171
232
|
}
|
|
172
233
|
ProductDetails: {
|
|
173
|
-
|
|
174
|
-
|
|
175
|
-
|
|
176
|
-
|
|
177
|
-
|
|
178
|
-
|
|
179
|
-
|
|
180
|
-
|
|
181
|
-
|
|
182
|
-
|
|
183
|
-
|
|
184
|
-
|
|
185
|
-
|
|
186
|
-
|
|
187
|
-
|
|
188
|
-
|
|
189
|
-
|
|
190
|
-
|
|
191
|
-
|
|
192
|
-
|
|
193
|
-
|
|
194
|
-
|
|
195
|
-
|
|
196
|
-
|
|
197
|
-
|
|
198
|
-
|
|
199
|
-
|
|
200
|
-
|
|
201
|
-
|
|
202
|
-
|
|
203
|
-
|
|
204
|
-
|
|
205
|
-
|
|
206
|
-
|
|
207
|
-
|
|
234
|
+
Section: typeof ProductDetails
|
|
235
|
+
components: {
|
|
236
|
+
ProductTitle: ComponentOverrideDefinition<
|
|
237
|
+
ProductTitleProps,
|
|
238
|
+
ProductTitleProps
|
|
239
|
+
>
|
|
240
|
+
DiscountBadge: ComponentOverrideDefinition<
|
|
241
|
+
DiscountBadgeProps,
|
|
242
|
+
Omit<DiscountBadgeProps, 'listPrice' | 'spotPrice'>
|
|
243
|
+
>
|
|
244
|
+
BuyButton: ComponentOverrideDefinition<ButtonProps, ButtonProps>
|
|
245
|
+
Icon: ComponentOverrideDefinition<IconProps, IconProps>
|
|
246
|
+
ProductPrice: ComponentOverrideDefinition<
|
|
247
|
+
ProductPriceProps,
|
|
248
|
+
Omit<ProductPriceProps, 'value'>
|
|
249
|
+
>
|
|
250
|
+
QuantitySelector: ComponentOverrideDefinition<
|
|
251
|
+
QuantitySelectorProps,
|
|
252
|
+
Omit<QuantitySelectorProps, 'onChange'>
|
|
253
|
+
>
|
|
254
|
+
SkuSelector: ComponentOverrideDefinition<
|
|
255
|
+
SkuSelectorProps,
|
|
256
|
+
SkuSelectorProps
|
|
257
|
+
>
|
|
258
|
+
ShippingSimulation: ComponentOverrideDefinition<
|
|
259
|
+
ShippingSimulationProps,
|
|
260
|
+
ShippingSimulationProps
|
|
261
|
+
>
|
|
262
|
+
ImageGallery: ComponentOverrideDefinition<
|
|
263
|
+
ImageGalleryProps,
|
|
264
|
+
ImageGalleryProps
|
|
265
|
+
>
|
|
266
|
+
ImageGalleryViewer: ComponentOverrideDefinition<
|
|
267
|
+
ImageGalleryViewerProps,
|
|
268
|
+
ImageGalleryViewerProps
|
|
269
|
+
>
|
|
270
|
+
__experimentalImageGalleryImage: ComponentOverrideDefinition<any, any>
|
|
271
|
+
__experimentalImageGallery: ComponentOverrideDefinition<any, any>
|
|
272
|
+
__experimentalShippingSimulation: ComponentOverrideDefinition<any, any>
|
|
273
|
+
__experimentalNotAvailableButton: ComponentOverrideDefinition<any, any>
|
|
274
|
+
}
|
|
208
275
|
}
|
|
209
276
|
ProductGallery: {
|
|
210
|
-
|
|
211
|
-
|
|
212
|
-
|
|
213
|
-
|
|
214
|
-
|
|
215
|
-
|
|
216
|
-
|
|
217
|
-
|
|
218
|
-
|
|
219
|
-
|
|
220
|
-
|
|
221
|
-
|
|
222
|
-
|
|
223
|
-
|
|
224
|
-
|
|
225
|
-
|
|
226
|
-
|
|
227
|
-
|
|
228
|
-
|
|
229
|
-
|
|
230
|
-
|
|
231
|
-
|
|
232
|
-
|
|
233
|
-
|
|
234
|
-
|
|
235
|
-
|
|
236
|
-
|
|
237
|
-
|
|
238
|
-
|
|
239
|
-
|
|
277
|
+
Section: typeof ProductGallery
|
|
278
|
+
components: {
|
|
279
|
+
MobileFilterButton: ComponentOverrideDefinition<
|
|
280
|
+
ButtonProps,
|
|
281
|
+
Omit<ButtonProps, 'onClick'>
|
|
282
|
+
>
|
|
283
|
+
FilterIcon: ComponentOverrideDefinition<IconProps, IconProps>
|
|
284
|
+
PrevIcon: ComponentOverrideDefinition<IconProps, IconProps>
|
|
285
|
+
ResultsCountSkeleton: ComponentOverrideDefinition<
|
|
286
|
+
SkeletonProps,
|
|
287
|
+
Omit<SkeletonProps, 'loading'>
|
|
288
|
+
>
|
|
289
|
+
SortSkeleton: ComponentOverrideDefinition<
|
|
290
|
+
SkeletonProps,
|
|
291
|
+
Omit<SkeletonProps, 'loading'>
|
|
292
|
+
>
|
|
293
|
+
FilterButtonSkeleton: ComponentOverrideDefinition<
|
|
294
|
+
SkeletonProps,
|
|
295
|
+
Omit<SkeletonProps, 'loading'>
|
|
296
|
+
>
|
|
297
|
+
LinkButtonPrev: ComponentOverrideDefinition<
|
|
298
|
+
LinkButtonProps,
|
|
299
|
+
Omit<LinkButtonProps, 'onClick' | 'href'>
|
|
300
|
+
>
|
|
301
|
+
LinkButtonNext: ComponentOverrideDefinition<
|
|
302
|
+
LinkButtonProps,
|
|
303
|
+
Omit<LinkButtonProps, 'onClick' | 'href'>
|
|
304
|
+
>
|
|
305
|
+
__experimentalFilterDesktop: ComponentOverrideDefinition<any, any>
|
|
306
|
+
__experimentalFilterSlider: ComponentOverrideDefinition<any, any>
|
|
307
|
+
__experimentalProductCard: ComponentOverrideDefinition<any, any>
|
|
308
|
+
__experimentalEmptyGallery: ComponentOverrideDefinition<any, any>
|
|
309
|
+
}
|
|
240
310
|
}
|
|
241
311
|
ProductShelf: {
|
|
242
|
-
|
|
243
|
-
|
|
244
|
-
|
|
245
|
-
|
|
246
|
-
|
|
247
|
-
|
|
248
|
-
any,
|
|
249
|
-
|
|
250
|
-
|
|
312
|
+
Section: typeof ProductShelf
|
|
313
|
+
components: {
|
|
314
|
+
ProductShelf: ComponentOverrideDefinition<
|
|
315
|
+
ProductShelfProps,
|
|
316
|
+
ProductShelfProps
|
|
317
|
+
>
|
|
318
|
+
__experimentalCarousel: ComponentOverrideDefinition<any, any>
|
|
319
|
+
__experimentalProductCard: ComponentOverrideDefinition<
|
|
320
|
+
any,
|
|
321
|
+
Omit<any, 'key' | 'product' | 'index'>
|
|
322
|
+
>
|
|
323
|
+
}
|
|
251
324
|
}
|
|
252
325
|
CrossSellingShelf: {
|
|
253
|
-
|
|
254
|
-
|
|
255
|
-
|
|
256
|
-
|
|
257
|
-
|
|
258
|
-
|
|
259
|
-
any,
|
|
260
|
-
|
|
261
|
-
|
|
326
|
+
Section: typeof CrossSellingShelf
|
|
327
|
+
components: {
|
|
328
|
+
ProductShelf: ComponentOverrideDefinition<
|
|
329
|
+
ProductShelfProps,
|
|
330
|
+
ProductShelfProps
|
|
331
|
+
>
|
|
332
|
+
__experimentalCarousel: ComponentOverrideDefinition<any, any>
|
|
333
|
+
__experimentalProductCard: ComponentOverrideDefinition<
|
|
334
|
+
any,
|
|
335
|
+
Omit<any, 'key' | 'product' | 'index'>
|
|
336
|
+
>
|
|
337
|
+
}
|
|
262
338
|
}
|
|
263
339
|
RegionBar: {
|
|
264
|
-
|
|
265
|
-
|
|
266
|
-
|
|
267
|
-
|
|
268
|
-
|
|
269
|
-
|
|
340
|
+
Section: typeof RegionBar
|
|
341
|
+
components: {
|
|
342
|
+
RegionBar: ComponentOverrideDefinition<
|
|
343
|
+
RegionBarProps,
|
|
344
|
+
Omit<RegionBarProps, 'onButtonClick' | 'postalCode'>
|
|
345
|
+
>
|
|
346
|
+
LocationIcon: ComponentOverrideDefinition<IconProps, IconProps>
|
|
347
|
+
ButtonIcon: ComponentOverrideDefinition<IconProps, IconProps>
|
|
348
|
+
}
|
|
270
349
|
}
|
|
271
350
|
}
|
|
@@ -1,6 +1,6 @@
|
|
|
1
|
-
import { SectionsOverrides } from './overrides'
|
|
1
|
+
import { ComponentsFromSection, SectionsOverrides } from './overrides'
|
|
2
2
|
|
|
3
|
-
export type
|
|
3
|
+
export type SectionOverrideDefinitionV1<
|
|
4
4
|
SectionName extends keyof SectionsOverrides
|
|
5
5
|
> = {
|
|
6
6
|
/**
|
|
@@ -11,19 +11,33 @@ export type SectionOverrideDefinition<
|
|
|
11
11
|
/** Name of the section to override */
|
|
12
12
|
section: SectionName
|
|
13
13
|
/** An object containing component and prop overrides for section components */
|
|
14
|
-
components?: Partial<Prettify<SectionsOverrides[SectionName]>>
|
|
14
|
+
components?: Partial<Prettify<SectionsOverrides[SectionName]['components']>>
|
|
15
|
+
}
|
|
16
|
+
|
|
17
|
+
export type SectionOverrideDefinition<
|
|
18
|
+
Section extends SectionsOverrides[keyof SectionsOverrides]['Section']
|
|
19
|
+
> = {
|
|
20
|
+
/**
|
|
21
|
+
* CSS class to be appended to the \<section\> element. Behaves similarly to React's className.
|
|
22
|
+
* Default classNames from \<section\> element will still be applied.
|
|
23
|
+
*/
|
|
24
|
+
className?: string
|
|
25
|
+
/** Section to override. Accepts a React Component. */
|
|
26
|
+
Section: Section
|
|
27
|
+
/** An object containing component and prop overrides for section components */
|
|
28
|
+
components?: Partial<Prettify<ComponentsFromSection<Section>>>
|
|
15
29
|
}
|
|
16
30
|
|
|
17
31
|
export type OverriddenComponents<SectionName extends keyof SectionsOverrides> =
|
|
18
32
|
{
|
|
19
|
-
[Key in keyof SectionsOverrides[SectionName]]: Merge<
|
|
20
|
-
SectionsOverrides[SectionName][Key]
|
|
33
|
+
[Key in keyof SectionsOverrides[SectionName]['components']]: Merge<
|
|
34
|
+
SectionsOverrides[SectionName]['components'][Key]
|
|
21
35
|
>
|
|
22
36
|
}
|
|
23
37
|
|
|
24
38
|
export type DefaultSectionComponentsDefinitions<
|
|
25
39
|
K extends keyof SectionsOverrides
|
|
26
|
-
> = Record<keyof SectionsOverrides[K], React.ComponentType>
|
|
40
|
+
> = Record<keyof SectionsOverrides[K]['components'], React.ComponentType>
|
|
27
41
|
|
|
28
42
|
export type ComponentOverrideDefinition<ComponentProps, Props> =
|
|
29
43
|
| {
|