@faststore/core 2.2.70 → 2.2.73

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (140) hide show
  1. package/.next/BUILD_ID +1 -1
  2. package/.next/build-manifest.json +62 -52
  3. package/.next/cache/.tsbuildinfo +1 -1
  4. package/.next/cache/config.json +3 -3
  5. package/.next/cache/eslint/.cache_1gneedd +1 -1
  6. package/.next/cache/next-server.js.nft.json +1 -1
  7. package/.next/cache/webpack/client-production/0.pack +0 -0
  8. package/.next/cache/webpack/client-production/index.pack +0 -0
  9. package/.next/cache/webpack/server-production/0.pack +0 -0
  10. package/.next/cache/webpack/server-production/index.pack +0 -0
  11. package/.next/next-server.js.nft.json +1 -1
  12. package/.next/prerender-manifest.json +1 -1
  13. package/.next/react-loadable-manifest.json +4 -4
  14. package/.next/routes-manifest.json +1 -1
  15. package/.next/server/chunks/117.js +427 -0
  16. package/.next/server/chunks/184.js +61 -0
  17. package/.next/server/chunks/350.js +2846 -35
  18. package/.next/server/chunks/585.js +22 -0
  19. package/.next/server/chunks/632.js +514 -0
  20. package/.next/server/chunks/661.js +1451 -0
  21. package/.next/server/chunks/693.js +58 -0
  22. package/.next/server/chunks/719.js +84 -0
  23. package/.next/server/chunks/74.js +569 -6467
  24. package/.next/server/chunks/779.js +58 -0
  25. package/.next/server/chunks/854.js +72 -0
  26. package/.next/server/chunks/863.js +22 -0
  27. package/.next/server/chunks/{520.js → 898.js} +250 -30
  28. package/.next/server/chunks/903.js +1926 -0
  29. package/.next/server/middleware-build-manifest.js +1 -1
  30. package/.next/server/middleware-react-loadable-manifest.js +1 -1
  31. package/.next/server/pages/404.js +0 -21
  32. package/.next/server/pages/404.js.nft.json +1 -1
  33. package/.next/server/pages/500.js +0 -21
  34. package/.next/server/pages/500.js.nft.json +1 -1
  35. package/.next/server/pages/[...slug].js +9 -9
  36. package/.next/server/pages/[...slug].js.nft.json +1 -1
  37. package/.next/server/pages/[slug]/p.js +1373 -33
  38. package/.next/server/pages/[slug]/p.js.nft.json +1 -1
  39. package/.next/server/pages/_app.js.nft.json +1 -1
  40. package/.next/server/pages/_error.js.nft.json +1 -1
  41. package/.next/server/pages/account.js +0 -21
  42. package/.next/server/pages/account.js.nft.json +1 -1
  43. package/.next/server/pages/checkout.js +0 -21
  44. package/.next/server/pages/checkout.js.nft.json +1 -1
  45. package/.next/server/pages/en-US/404.html +2 -2
  46. package/.next/server/pages/en-US/500.html +2 -2
  47. package/.next/server/pages/en-US/account.html +2 -2
  48. package/.next/server/pages/en-US/checkout.html +2 -2
  49. package/.next/server/pages/en-US/login.html +2 -2
  50. package/.next/server/pages/en-US/s.html +2 -2
  51. package/.next/server/pages/en-US.html +3 -3
  52. package/.next/server/pages/en-US.json +1 -1
  53. package/.next/server/pages/index.js +5 -5
  54. package/.next/server/pages/index.js.nft.json +1 -1
  55. package/.next/server/pages/login.js +0 -21
  56. package/.next/server/pages/login.js.nft.json +1 -1
  57. package/.next/server/pages/s.js +4 -58
  58. package/.next/server/pages/s.js.nft.json +1 -1
  59. package/.next/server/pages-manifest.json +1 -1
  60. package/.next/static/LB4EfHJ3ylU80A7g7tIMw/_buildManifest.js +1 -0
  61. package/.next/static/chunks/223-cb77217cce52d45c.js +1 -0
  62. package/.next/static/chunks/251.11f5198fc8bef3a4.js +1 -0
  63. package/.next/static/chunks/397-0d3aada1012cd78b.js +1 -0
  64. package/.next/static/chunks/585.6561778b7763b79e.js +1 -0
  65. package/.next/static/chunks/675-479a97aecebead97.js +1 -0
  66. package/.next/static/chunks/800.5d92de2974baf641.js +1 -0
  67. package/.next/static/chunks/881-57643fb90f59e576.js +1 -0
  68. package/.next/static/chunks/988.afda042dd9ba11d1.js +1 -0
  69. package/.next/static/chunks/pages/404-e106cb9a78182f5f.js +1 -0
  70. package/.next/static/chunks/pages/500-d28aa4a8ce88bddd.js +1 -0
  71. package/.next/static/chunks/pages/[...slug]-cf872b9e9befd47c.js +1 -0
  72. package/.next/static/chunks/pages/[slug]/p-4a75b11857b82b5c.js +1 -0
  73. package/.next/static/chunks/pages/{account-3741291b1e89c2e7.js → account-bf9c88a9cac80d8a.js} +1 -1
  74. package/.next/static/chunks/pages/{checkout-95066de007bdbbdb.js → checkout-6ca76c1e88a28ac4.js} +1 -1
  75. package/.next/static/chunks/pages/index-629ba146ae5f0ecf.js +1 -0
  76. package/.next/static/chunks/pages/login-d2af0de13ea75848.js +1 -0
  77. package/.next/static/chunks/pages/s-d729254b91430d1c.js +1 -0
  78. package/.next/static/chunks/webpack-54ce04ec11860b0b.js +1 -0
  79. package/.next/static/css/021de9c7b050d301.css +1 -0
  80. package/.next/static/css/510895065f32ed2f.css +1 -0
  81. package/.next/static/css/7e897ebb936fac09.css +1 -0
  82. package/.next/static/css/938781cdc945862e.css +1 -0
  83. package/.next/static/css/9558da13053ac066.css +1 -0
  84. package/.next/static/css/def381bf7c69fa2e.css +1 -0
  85. package/.next/trace +82 -82
  86. package/.turbo/turbo-build.log +18 -18
  87. package/.turbo/turbo-test.log +9 -9
  88. package/index.ts +13 -0
  89. package/package.json +3 -3
  90. package/src/components/sections/Alert/Alert.tsx +11 -3
  91. package/src/components/sections/Alert/OverriddenDefaultAlert.ts +7 -4
  92. package/src/components/sections/BannerText/BannerText.tsx +10 -2
  93. package/src/components/sections/BannerText/OverriddenDefaultBannerText.ts +7 -4
  94. package/src/components/sections/Breadcrumb/Breadcrumb.tsx +9 -3
  95. package/src/components/sections/Breadcrumb/OverriddenDefaultBreadcrumb.ts +7 -4
  96. package/src/components/sections/CrossSellingShelf/CrossSellingShelf.tsx +8 -2
  97. package/src/components/sections/CrossSellingShelf/OverriddenDefaultCrossSellingShelf.ts +2 -1
  98. package/src/components/sections/EmptyState/Overrides.tsx +2 -2
  99. package/src/components/sections/Hero/Hero.tsx +11 -3
  100. package/src/components/sections/Hero/OverriddenDefaultHero.ts +7 -4
  101. package/src/components/sections/Navbar/Navbar.tsx +10 -2
  102. package/src/components/sections/Navbar/OverriddenDefaultNavbar.ts +6 -4
  103. package/src/components/sections/Newsletter/Newsletter.tsx +10 -2
  104. package/src/components/sections/Newsletter/OverriddenDefaultNewsletter.ts +6 -4
  105. package/src/components/sections/ProductDetails/OverriddenDefaultProductDetails.ts +7 -4
  106. package/src/components/sections/ProductDetails/ProductDetails.tsx +16 -8
  107. package/src/components/sections/ProductGallery/OverriddenDefaultProductGallery.ts +6 -4
  108. package/src/components/sections/ProductGallery/ProductGallery.tsx +13 -5
  109. package/src/components/sections/ProductShelf/OverriddenDefaultProductShelf.ts +7 -4
  110. package/src/components/sections/ProductShelf/ProductShelf.tsx +12 -2
  111. package/src/components/sections/RegionBar/OverriddenDefaultRegionBar.ts +6 -4
  112. package/src/components/sections/RegionBar/RegionBar.tsx +11 -5
  113. package/src/sdk/overrides/getOverriddenSection.tsx +45 -44
  114. package/src/sdk/overrides/overrides.ts +2 -2
  115. package/src/typings/overrides.ts +265 -187
  116. package/src/typings/overridesDefinition.ts +20 -6
  117. package/.next/server/chunks/445.js +0 -167
  118. package/.next/server/chunks/829.js +0 -2938
  119. package/.next/server/chunks/934.js +0 -125
  120. package/.next/static/9t0jxL0Q7hZ_ItlxJLOtn/_buildManifest.js +0 -1
  121. package/.next/static/chunks/251.65e0bb7a2f58b3db.js +0 -1
  122. package/.next/static/chunks/464-bc1301cb64b71518.js +0 -1
  123. package/.next/static/chunks/557-4f8a963d7e07e582.js +0 -1
  124. package/.next/static/chunks/585.ee7478bead8853ae.js +0 -1
  125. package/.next/static/chunks/800.8f4f91b39aa47346.js +0 -1
  126. package/.next/static/chunks/988.a57dac6501fb5184.js +0 -1
  127. package/.next/static/chunks/pages/404-8aa1a5d5e6a66a9a.js +0 -1
  128. package/.next/static/chunks/pages/500-36ea8ba52ee65fe2.js +0 -1
  129. package/.next/static/chunks/pages/[...slug]-29c2c581a7246de4.js +0 -1
  130. package/.next/static/chunks/pages/[slug]/p-d4a3fd33abda8f62.js +0 -1
  131. package/.next/static/chunks/pages/index-bbd90798e45dc0ff.js +0 -1
  132. package/.next/static/chunks/pages/login-f0d8dfab2f856c25.js +0 -1
  133. package/.next/static/chunks/pages/s-e9b663c3e4f84b0a.js +0 -1
  134. package/.next/static/chunks/webpack-776cfd646b505dc5.js +0 -1
  135. package/.next/static/css/0c844be3b8585e70.css +0 -1
  136. package/.next/static/css/557d58510041152c.css +0 -1
  137. package/.next/static/css/a6bcc59f42b42f36.css +0 -1
  138. package/.next/static/css/ecdecb8d639a8311.css +0 -1
  139. package/src/sdk/overrides/sections.tsx +0 -58
  140. /package/.next/static/{9t0jxL0Q7hZ_ItlxJLOtn → LB4EfHJ3ylU80A7g7tIMw}/_ssgManifest.js +0 -0
@@ -1,8 +1,8 @@
1
- import RegionBar, {
2
- RegionBarProps,
3
- } from 'src/components/region/RegionBar/RegionBar'
4
- import Section from 'src/components/sections/Section/Section'
1
+ import RegionBar, { RegionBarProps } from '../../region/RegionBar/RegionBar'
2
+ import Section from '../Section/Section'
5
3
  import styles from './section.module.scss'
4
+ import { RegionBarDefaultComponents } from './DefaultComponents'
5
+ import { getOverridableSection } from '../../..//sdk/overrides/getOverriddenSection'
6
6
 
7
7
  type RegionBarSectionProps = {
8
8
  /**
@@ -38,4 +38,10 @@ function RegionBarSection({
38
38
  )
39
39
  }
40
40
 
41
- export default RegionBarSection
41
+ const OverridableRegionBar = getOverridableSection<typeof RegionBarSection>(
42
+ 'RegionBar',
43
+ RegionBarSection,
44
+ RegionBarDefaultComponents
45
+ )
46
+
47
+ export default OverridableRegionBar
@@ -1,44 +1,52 @@
1
- import type { ComponentProps, ComponentType } from 'react'
1
+ import { useMemo, type ComponentProps, type ComponentType } from 'react'
2
2
 
3
- import { OverrideProvider } from './OverrideContext'
4
- import { DefaultComponents, Sections } from './sections'
5
- import { getSectionOverrides } from './overrides'
6
3
  import type {
7
4
  DefaultSectionComponentsDefinitions,
8
- OverriddenComponents,
9
5
  SectionOverrideDefinition,
6
+ SectionOverrideDefinitionV1,
10
7
  } from '../../typings/overridesDefinition'
11
- import type { SupportedSectionsOverridesV2 } from '../../typings/overrides'
12
-
13
- /**
14
- * This function adds OverrideContext to the tree. It is essential for the compatible sections
15
- * to consume the components it provides.
16
- */
17
- function createOverriddenSection<
18
- SectionName extends keyof SupportedSectionsOverridesV2
19
- >({
20
- Section,
21
- sectionOverrides,
22
- className,
23
- }: {
24
- Section: (typeof Sections)[SectionName]
25
- sectionOverrides: OverriddenComponents<SectionName>
26
- className?: string
27
- }) {
28
- const overrideContextValue = { className, components: sectionOverrides }
8
+ import type { SectionsOverrides } from '../../typings/overrides'
9
+ import { getSectionOverrides } from './overrides'
10
+ import { OverrideProvider } from './OverrideContext'
29
11
 
30
- return function OverriddenSection(
31
- props: React.ComponentProps<typeof Section>
12
+ export function getOverridableSection<
13
+ Section extends ComponentType,
14
+ SectionName extends keyof SectionsOverrides = keyof SectionsOverrides
15
+ >(
16
+ sectionName: SectionName,
17
+ Section: Section,
18
+ defaultComponents: DefaultSectionComponentsDefinitions<SectionName>
19
+ ) {
20
+ function OverridableSection(
21
+ propsWithOverrides: ComponentProps<typeof Section> & {
22
+ __overrides?: Omit<SectionOverrideDefinitionV1<SectionName>, 'Section'>
23
+ }
32
24
  ) {
25
+ const { __overrides: overrides, ...props } = propsWithOverrides
26
+
27
+ const overrideContextValue = useMemo(
28
+ () => ({
29
+ ...(overrides ?? {}),
30
+ components: getSectionOverrides<SectionName>(defaultComponents, {
31
+ ...(overrides ?? {}),
32
+ section: sectionName,
33
+ }),
34
+ }),
35
+ [overrides]
36
+ )
37
+
33
38
  /** This type wizardry is here because the props won't behave correctly if nothing is done */
34
- const SectionComponent = Section as ComponentType<typeof props>
39
+ const SectionComponent = Section as ComponentType<ComponentProps<Section>>
35
40
 
36
41
  return (
37
42
  <OverrideProvider value={overrideContextValue}>
38
- <SectionComponent {...props} />
43
+ <SectionComponent {...(props as ComponentProps<typeof Section>)} />
39
44
  </OverrideProvider>
40
45
  )
41
46
  }
47
+
48
+ // This type cast is here so the symbol prop doesn't show up in the type definition
49
+ return OverridableSection as Section
42
50
  }
43
51
 
44
52
  /**
@@ -50,23 +58,16 @@ function createOverriddenSection<
50
58
  * @see https://www.faststore.dev/docs/building-sections/overriding-components-and-props
51
59
  */
52
60
  export function getOverriddenSection<
53
- SectionName extends keyof SupportedSectionsOverridesV2
54
- >(override: SectionOverrideDefinition<SectionName>) {
55
- const defaultComponents = DefaultComponents[
56
- override.section
57
- ] as DefaultSectionComponentsDefinitions<SectionName>
61
+ Section extends SectionsOverrides[keyof SectionsOverrides]['Section']
62
+ >(override: SectionOverrideDefinition<Section>) {
63
+ const { Section, ...rest } = override
58
64
 
59
- if (!defaultComponents) {
60
- throw new Error(
61
- `Section ${override.section} does not exist. Please provide a valid section name to override.`
62
- )
63
- }
65
+ /** This type wizardry is here because the props won't behave correctly if nothing is done */
66
+ const OverridableSection = Section as ComponentType<ComponentProps<Section>>
64
67
 
65
- const sectionOverrides = getSectionOverrides(defaultComponents, override)
66
-
67
- return createOverriddenSection({
68
- Section: Sections[override.section],
69
- sectionOverrides: sectionOverrides,
70
- className: override.className,
71
- })
68
+ return function OverriddenSection(
69
+ props: ComponentProps<typeof OverridableSection>
70
+ ) {
71
+ return <OverridableSection {...props} {...{ __overrides: rest }} />
72
+ }
72
73
  }
@@ -1,8 +1,8 @@
1
1
  import type {
2
2
  DefaultSectionComponentsDefinitions,
3
3
  ComponentOverrideDefinition,
4
- SectionOverrideDefinition,
5
4
  OverriddenComponents,
5
+ SectionOverrideDefinitionV1,
6
6
  } from '../../typings/overridesDefinition'
7
7
 
8
8
  import type { SectionsOverrides } from '../../typings/overrides'
@@ -11,7 +11,7 @@ export function getSectionOverrides<
11
11
  SectionName extends keyof SectionsOverrides
12
12
  >(
13
13
  defaultComponents: DefaultSectionComponentsDefinitions<SectionName>,
14
- override: SectionOverrideDefinition<SectionName>
14
+ override: SectionOverrideDefinitionV1<SectionName>
15
15
  ): OverriddenComponents<SectionName> {
16
16
  const overriddenComponents = {} as OverriddenComponents<SectionName>
17
17
 
@@ -43,28 +43,62 @@ import type {
43
43
 
44
44
  import type {
45
45
  ComponentOverrideDefinition,
46
- SectionOverrideDefinition,
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]: SectionOverrideDefinition<K>
61
+ [K in keyof SectionsOverrides]: SectionOverrideDefinitionV1<K>
51
62
  }[keyof SectionsOverrides]
52
63
 
53
- /** TODO: every use of this type should be replaced by SectionsOverrides after all sections are supported */
54
- export type SupportedSectionsOverridesV2 = Pick<
55
- SectionsOverrides,
56
- | 'Alert'
57
- | 'BannerText'
58
- | 'Breadcrumb'
59
- | 'CrossSellingShelf'
60
- | 'Hero'
61
- | 'Navbar'
62
- | 'Newsletter'
63
- | 'ProductShelf'
64
- | 'ProductDetails'
65
- | 'ProductGallery'
66
- | 'RegionBar'
67
- >
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>]
68
102
 
69
103
  /**
70
104
  * Originally, these types were defined in their respective Overrides file
@@ -74,199 +108,243 @@ export type SupportedSectionsOverridesV2 = Pick<
74
108
  * For some reason, defining them in the same file as SectionOverride seems to fix the issue.
75
109
  * Consider that before moving them elsewhere and test it on the starter as well.
76
110
  */
77
-
78
111
  export type SectionsOverrides = {
79
112
  Alert: {
80
- Alert: ComponentOverrideDefinition<AlertProps, Omit<AlertProps, 'onClose'>>
81
- Icon: ComponentOverrideDefinition<IconProps, IconProps>
113
+ Section: typeof Alert
114
+ components: {
115
+ Alert: ComponentOverrideDefinition<
116
+ AlertProps,
117
+ Omit<AlertProps, 'onClose'>
118
+ >
119
+ Icon: ComponentOverrideDefinition<IconProps, IconProps>
120
+ }
82
121
  }
83
122
  BannerText: {
84
- BannerText: ComponentOverrideDefinition<BannerTextProps, BannerTextProps>
85
- BannerTextContent: ComponentOverrideDefinition<
86
- BannerTextContentProps,
87
- BannerTextContentProps
88
- >
123
+ Section: typeof BannerText
124
+ components: {
125
+ BannerText: ComponentOverrideDefinition<BannerTextProps, BannerTextProps>
126
+ BannerTextContent: ComponentOverrideDefinition<
127
+ BannerTextContentProps,
128
+ BannerTextContentProps
129
+ >
130
+ }
89
131
  }
90
132
  Breadcrumb: {
91
- Breadcrumb: ComponentOverrideDefinition<BreadcrumbProps, BreadcrumbProps>
92
- Icon: ComponentOverrideDefinition<IconProps, IconProps>
133
+ Section: typeof Breadcrumb
134
+ components: {
135
+ Breadcrumb: ComponentOverrideDefinition<BreadcrumbProps, BreadcrumbProps>
136
+ Icon: ComponentOverrideDefinition<IconProps, IconProps>
137
+ }
93
138
  }
94
139
  EmptyState: {
95
- EmptyState: ComponentOverrideDefinition<
96
- PropsWithChildren<EmptyStateProps>,
97
- EmptyStateProps
98
- >
140
+ Section: never
141
+ components: {
142
+ EmptyState: ComponentOverrideDefinition<
143
+ PropsWithChildren<EmptyStateProps>,
144
+ EmptyStateProps
145
+ >
146
+ }
99
147
  }
100
148
  Hero: {
101
- Hero: ComponentOverrideDefinition<HeroProps, HeroProps>
102
- HeroImage: ComponentOverrideDefinition<HeroImageProps, HeroImageProps>
103
- HeroHeader: ComponentOverrideDefinition<HeroHeaderProps, HeroHeaderProps>
149
+ Section: typeof Hero
150
+ components: {
151
+ Hero: ComponentOverrideDefinition<HeroProps, HeroProps>
152
+ HeroImage: ComponentOverrideDefinition<HeroImageProps, HeroImageProps>
153
+ HeroHeader: ComponentOverrideDefinition<HeroHeaderProps, HeroHeaderProps>
154
+ }
104
155
  }
105
156
  Navbar: {
106
- Navbar: ComponentOverrideDefinition<NavbarProps, NavbarProps>
107
- NavbarLinks: ComponentOverrideDefinition<NavbarLinksProps, NavbarLinksProps>
108
- NavbarLinksList: ComponentOverrideDefinition<
109
- NavbarLinksListProps,
110
- NavbarLinksListProps
111
- >
112
- NavbarSlider: ComponentOverrideDefinition<
113
- NavbarSliderProps,
114
- NavbarSliderProps
115
- >
116
- NavbarSliderHeader: ComponentOverrideDefinition<
117
- NavbarSliderHeaderProps,
118
- NavbarSliderHeaderProps
119
- >
120
- NavbarSliderContent: ComponentOverrideDefinition<
121
- NavbarSliderContentProps,
122
- NavbarSliderContentProps
123
- >
124
- NavbarSliderFooter: ComponentOverrideDefinition<
125
- NavbarSliderFooterProps,
126
- NavbarSliderFooterProps
127
- >
128
- NavbarHeader: ComponentOverrideDefinition<
129
- NavbarHeaderProps,
130
- NavbarHeaderProps
131
- >
132
- NavbarRow: ComponentOverrideDefinition<NavbarRowProps, NavbarRowProps>
133
- NavbarButtons: ComponentOverrideDefinition<
134
- NavbarButtonsProps,
135
- NavbarButtonsProps
136
- >
137
- IconButton: ComponentOverrideDefinition<
138
- IconButtonProps,
139
- Omit<IconButtonProps, 'onClick'>
140
- >
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
+ }
141
198
  }
142
199
  Newsletter: {
143
- Newsletter: ComponentOverrideDefinition<NewsletterProps, NewsletterProps>
144
- NewsletterAddendum: ComponentOverrideDefinition<
145
- NewsletterAddendumProps,
146
- NewsletterAddendumProps
147
- >
148
- NewsletterContent: ComponentOverrideDefinition<
149
- NewsletterContentProps,
150
- NewsletterContentProps
151
- >
152
- NewsletterForm: ComponentOverrideDefinition<
153
- NewsletterFormProps,
154
- NewsletterFormProps
155
- >
156
- NewsletterHeader: ComponentOverrideDefinition<
157
- NewsletterHeaderProps,
158
- NewsletterHeaderProps
159
- >
160
- ToastIconSuccess: ComponentOverrideDefinition<IconProps, IconProps>
161
- ToastIconError: ComponentOverrideDefinition<IconProps, IconProps>
162
- HeaderIcon: ComponentOverrideDefinition<IconProps, IconProps>
163
- InputFieldName: ComponentOverrideDefinition<
164
- InputFieldProps,
165
- Omit<InputFieldProps, 'inputRef'>
166
- >
167
- InputFieldEmail: ComponentOverrideDefinition<
168
- InputFieldProps,
169
- Omit<InputFieldProps, 'inputRef'>
170
- >
171
- Button: ComponentOverrideDefinition<ButtonProps, ButtonProps>
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
+ }
172
232
  }
173
233
  ProductDetails: {
174
- ProductTitle: ComponentOverrideDefinition<
175
- ProductTitleProps,
176
- ProductTitleProps
177
- >
178
- DiscountBadge: ComponentOverrideDefinition<
179
- DiscountBadgeProps,
180
- Omit<DiscountBadgeProps, 'listPrice' | 'spotPrice'>
181
- >
182
- BuyButton: ComponentOverrideDefinition<ButtonProps, ButtonProps>
183
- Icon: ComponentOverrideDefinition<IconProps, IconProps>
184
- ProductPrice: ComponentOverrideDefinition<
185
- ProductPriceProps,
186
- Omit<ProductPriceProps, 'value'>
187
- >
188
- QuantitySelector: ComponentOverrideDefinition<
189
- QuantitySelectorProps,
190
- Omit<QuantitySelectorProps, 'onChange'>
191
- >
192
- SkuSelector: ComponentOverrideDefinition<SkuSelectorProps, SkuSelectorProps>
193
- ShippingSimulation: ComponentOverrideDefinition<
194
- ShippingSimulationProps,
195
- ShippingSimulationProps
196
- >
197
- ImageGallery: ComponentOverrideDefinition<
198
- ImageGalleryProps,
199
- ImageGalleryProps
200
- >
201
- ImageGalleryViewer: ComponentOverrideDefinition<
202
- ImageGalleryViewerProps,
203
- ImageGalleryViewerProps
204
- >
205
- __experimentalImageGalleryImage: ComponentOverrideDefinition<any, any>
206
- __experimentalImageGallery: ComponentOverrideDefinition<any, any>
207
- __experimentalShippingSimulation: ComponentOverrideDefinition<any, any>
208
- __experimentalNotAvailableButton: ComponentOverrideDefinition<any, any>
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
+ }
209
275
  }
210
276
  ProductGallery: {
211
- MobileFilterButton: ComponentOverrideDefinition<
212
- ButtonProps,
213
- Omit<ButtonProps, 'onClick'>
214
- >
215
- FilterIcon: ComponentOverrideDefinition<IconProps, IconProps>
216
- PrevIcon: ComponentOverrideDefinition<IconProps, IconProps>
217
- ResultsCountSkeleton: ComponentOverrideDefinition<
218
- SkeletonProps,
219
- Omit<SkeletonProps, 'loading'>
220
- >
221
- SortSkeleton: ComponentOverrideDefinition<
222
- SkeletonProps,
223
- Omit<SkeletonProps, 'loading'>
224
- >
225
- FilterButtonSkeleton: ComponentOverrideDefinition<
226
- SkeletonProps,
227
- Omit<SkeletonProps, 'loading'>
228
- >
229
- LinkButtonPrev: ComponentOverrideDefinition<
230
- LinkButtonProps,
231
- Omit<LinkButtonProps, 'onClick' | 'href'>
232
- >
233
- LinkButtonNext: ComponentOverrideDefinition<
234
- LinkButtonProps,
235
- Omit<LinkButtonProps, 'onClick' | 'href'>
236
- >
237
- __experimentalFilterDesktop: ComponentOverrideDefinition<any, any>
238
- __experimentalFilterSlider: ComponentOverrideDefinition<any, any>
239
- __experimentalProductCard: ComponentOverrideDefinition<any, any>
240
- __experimentalEmptyGallery: ComponentOverrideDefinition<any, any>
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
+ }
241
310
  }
242
311
  ProductShelf: {
243
- ProductShelf: ComponentOverrideDefinition<
244
- ProductShelfProps,
245
- ProductShelfProps
246
- >
247
- __experimentalCarousel: ComponentOverrideDefinition<any, any>
248
- __experimentalProductCard: ComponentOverrideDefinition<
249
- any,
250
- Omit<any, 'key' | 'product' | 'index'>
251
- >
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
+ }
252
324
  }
253
325
  CrossSellingShelf: {
254
- ProductShelf: ComponentOverrideDefinition<
255
- ProductShelfProps,
256
- ProductShelfProps
257
- >
258
- __experimentalCarousel: ComponentOverrideDefinition<any, any>
259
- __experimentalProductCard: ComponentOverrideDefinition<
260
- any,
261
- Omit<any, 'key' | 'product' | 'index'>
262
- >
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
+ }
263
338
  }
264
339
  RegionBar: {
265
- RegionBar: ComponentOverrideDefinition<
266
- RegionBarProps,
267
- Omit<RegionBarProps, 'onButtonClick' | 'postalCode'>
268
- >
269
- LocationIcon: ComponentOverrideDefinition<IconProps, IconProps>
270
- ButtonIcon: ComponentOverrideDefinition<IconProps, IconProps>
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
+ }
271
349
  }
272
350
  }