@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.
Files changed (145) 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 +987 -6854
  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/account.js +0 -21
  41. package/.next/server/pages/account.js.nft.json +1 -1
  42. package/.next/server/pages/api/graphql.js +1 -1
  43. package/.next/server/pages/api/graphql.js.nft.json +1 -1
  44. package/.next/server/pages/checkout.js +0 -21
  45. package/.next/server/pages/checkout.js.nft.json +1 -1
  46. package/.next/server/pages/en-US/404.html +2 -2
  47. package/.next/server/pages/en-US/500.html +2 -2
  48. package/.next/server/pages/en-US/account.html +2 -2
  49. package/.next/server/pages/en-US/checkout.html +2 -2
  50. package/.next/server/pages/en-US/login.html +2 -2
  51. package/.next/server/pages/en-US/s.html +2 -2
  52. package/.next/server/pages/en-US.html +2 -2
  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/static/IDskqcKTB7kE5quFZAhgJ/_buildManifest.js +1 -0
  60. package/.next/static/chunks/223-cb77217cce52d45c.js +1 -0
  61. package/.next/static/chunks/251.11f5198fc8bef3a4.js +1 -0
  62. package/.next/static/chunks/397-0d3aada1012cd78b.js +1 -0
  63. package/.next/static/chunks/585.6561778b7763b79e.js +1 -0
  64. package/.next/static/chunks/675-479a97aecebead97.js +1 -0
  65. package/.next/static/chunks/800.5d92de2974baf641.js +1 -0
  66. package/.next/static/chunks/881-57643fb90f59e576.js +1 -0
  67. package/.next/static/chunks/988.afda042dd9ba11d1.js +1 -0
  68. package/.next/static/chunks/pages/404-e106cb9a78182f5f.js +1 -0
  69. package/.next/static/chunks/pages/500-d28aa4a8ce88bddd.js +1 -0
  70. package/.next/static/chunks/pages/[...slug]-cf872b9e9befd47c.js +1 -0
  71. package/.next/static/chunks/pages/[slug]/p-4a75b11857b82b5c.js +1 -0
  72. package/.next/static/chunks/pages/{account-1963c084b0b6e597.js → account-bf9c88a9cac80d8a.js} +1 -1
  73. package/.next/static/chunks/pages/{checkout-d66a352e910607dd.js → checkout-6ca76c1e88a28ac4.js} +1 -1
  74. package/.next/static/chunks/pages/index-629ba146ae5f0ecf.js +1 -0
  75. package/.next/static/chunks/pages/login-d2af0de13ea75848.js +1 -0
  76. package/.next/static/chunks/pages/s-d729254b91430d1c.js +1 -0
  77. package/.next/static/chunks/webpack-54ce04ec11860b0b.js +1 -0
  78. package/.next/static/css/021de9c7b050d301.css +1 -0
  79. package/.next/static/css/510895065f32ed2f.css +1 -0
  80. package/.next/static/css/7e897ebb936fac09.css +1 -0
  81. package/.next/static/css/938781cdc945862e.css +1 -0
  82. package/.next/static/css/9558da13053ac066.css +1 -0
  83. package/.next/static/css/def381bf7c69fa2e.css +1 -0
  84. package/.next/trace +82 -82
  85. package/.turbo/turbo-build.log +19 -19
  86. package/.turbo/turbo-test.log +10 -10
  87. package/index.ts +13 -0
  88. package/package.json +2 -2
  89. package/src/components/cms/GlobalSections.tsx +1 -1
  90. package/src/components/navigation/Navbar/Navbar.tsx +10 -10
  91. package/src/components/navigation/NavbarLinks/NavbarLinks.tsx +3 -5
  92. package/src/components/navigation/NavbarSlider/NavbarSlider.tsx +8 -7
  93. package/src/components/sections/Alert/Alert.tsx +11 -3
  94. package/src/components/sections/Alert/OverriddenDefaultAlert.ts +7 -4
  95. package/src/components/sections/BannerText/BannerText.tsx +10 -2
  96. package/src/components/sections/BannerText/OverriddenDefaultBannerText.ts +7 -4
  97. package/src/components/sections/Breadcrumb/Breadcrumb.tsx +9 -3
  98. package/src/components/sections/Breadcrumb/OverriddenDefaultBreadcrumb.ts +7 -4
  99. package/src/components/sections/CrossSellingShelf/CrossSellingShelf.tsx +8 -2
  100. package/src/components/sections/CrossSellingShelf/OverriddenDefaultCrossSellingShelf.ts +2 -1
  101. package/src/components/sections/EmptyState/Overrides.tsx +2 -2
  102. package/src/components/sections/Hero/Hero.tsx +11 -3
  103. package/src/components/sections/Hero/OverriddenDefaultHero.ts +7 -4
  104. package/src/components/sections/Navbar/DefaultComponents.ts +27 -0
  105. package/src/components/sections/Navbar/Navbar.tsx +10 -2
  106. package/src/components/sections/Navbar/OverriddenDefaultNavbar.ts +14 -0
  107. package/src/components/sections/Newsletter/Newsletter.tsx +10 -2
  108. package/src/components/sections/Newsletter/OverriddenDefaultNewsletter.ts +6 -4
  109. package/src/components/sections/ProductDetails/OverriddenDefaultProductDetails.ts +7 -4
  110. package/src/components/sections/ProductDetails/ProductDetails.tsx +16 -8
  111. package/src/components/sections/ProductGallery/OverriddenDefaultProductGallery.ts +6 -4
  112. package/src/components/sections/ProductGallery/ProductGallery.tsx +13 -5
  113. package/src/components/sections/ProductShelf/OverriddenDefaultProductShelf.ts +7 -4
  114. package/src/components/sections/ProductShelf/ProductShelf.tsx +12 -2
  115. package/src/components/sections/RegionBar/OverriddenDefaultRegionBar.ts +6 -4
  116. package/src/components/sections/RegionBar/RegionBar.tsx +11 -5
  117. package/src/sdk/overrides/getOverriddenSection.tsx +45 -44
  118. package/src/sdk/overrides/overrides.ts +2 -2
  119. package/src/typings/overrides.ts +265 -186
  120. package/src/typings/overridesDefinition.ts +20 -6
  121. package/.next/server/chunks/445.js +0 -167
  122. package/.next/server/chunks/829.js +0 -2938
  123. package/.next/server/chunks/934.js +0 -125
  124. package/.next/static/JNkl1RxkhVPSzLAsRUxC6/_buildManifest.js +0 -1
  125. package/.next/static/chunks/251.65e0bb7a2f58b3db.js +0 -1
  126. package/.next/static/chunks/557-4f8a963d7e07e582.js +0 -1
  127. package/.next/static/chunks/585.ee7478bead8853ae.js +0 -1
  128. package/.next/static/chunks/800.8f4f91b39aa47346.js +0 -1
  129. package/.next/static/chunks/846-c59a0f158089800c.js +0 -1
  130. package/.next/static/chunks/988.a57dac6501fb5184.js +0 -1
  131. package/.next/static/chunks/pages/404-e44d7103a9c6781f.js +0 -1
  132. package/.next/static/chunks/pages/500-2ddd76fa11c851e4.js +0 -1
  133. package/.next/static/chunks/pages/[...slug]-f7f47afa6dce5abf.js +0 -1
  134. package/.next/static/chunks/pages/[slug]/p-27a9a4ef5d07a4ce.js +0 -1
  135. package/.next/static/chunks/pages/index-9e98f2fc42dec7c1.js +0 -1
  136. package/.next/static/chunks/pages/login-349e1406a3a98968.js +0 -1
  137. package/.next/static/chunks/pages/s-9b771eb03d589ee6.js +0 -1
  138. package/.next/static/chunks/webpack-3beeb2f9a51fccf6.js +0 -1
  139. package/.next/static/css/0c844be3b8585e70.css +0 -1
  140. package/.next/static/css/280c254f1f559956.css +0 -1
  141. package/.next/static/css/a6bcc59f42b42f36.css +0 -1
  142. package/.next/static/css/ecdecb8d639a8311.css +0 -1
  143. package/src/components/sections/Navbar/Overrides.tsx +0 -60
  144. package/src/sdk/overrides/sections.tsx +0 -54
  145. /package/.next/static/{JNkl1RxkhVPSzLAsRUxC6 → IDskqcKTB7kE5quFZAhgJ}/_ssgManifest.js +0 -0
@@ -1,7 +1,7 @@
1
1
  $ yarn partytown & yarn generate && next build
2
2
  $ partytown copylib ./public/~partytown
3
- $ faststore generate-graphql -c
4
3
  Partytown lib copied to: /home/runner/work/faststore/faststore/packages/core/public/~partytown
4
+ $ faststore generate-graphql -c
5
5
  success - GraphQL schema, types, and optimizations successfully generated 🎉
6
6
  warn - You have enabled experimental feature (scrollRestoration) in next.config.js.
7
7
  warn - Experimental features are not covered by semver, and may cause unexpected or broken application behavior. Use at your own risk.
@@ -38,28 +38,28 @@ info - Generating static pages (7/7)
38
38
  info - Finalizing page optimization...
39
39
 
40
40
  Route (pages) Size First Load JS
41
- ┌ ● / 2.37 kB 142 kB
42
- ├ └ css/ecdecb8d639a8311.css 5.48 kB
43
- ├ /_app 0 B 83.7 kB
44
- ├ ● /[...slug] 4.44 kB 144 kB
45
- ├ └ css/0c844be3b8585e70.css 5.9 kB
46
- ├ ● /[slug]/p 1.74 kB 141 kB
47
- ├ └ css/a6bcc59f42b42f36.css 2.39 kB
48
- ├ ○ /404 1.03 kB 140 kB
49
- ├ ● /500 1.05 kB 140 kB
50
- ├ ● /account 676 B 140 kB
51
- ├ λ /api/graphql 0 B 83.7 kB
52
- ├ λ /api/health/live 0 B 83.7 kB
53
- ├ λ /api/health/ready 0 B 83.7 kB
54
- ├ λ /api/preview 0 B 83.7 kB
55
- ├ ● /checkout 661 B 140 kB
56
- ├ ● /login 983 B 140 kB
57
- └ ● /s 2.36 kB 142 kB
41
+ ┌ ● / 3.38 kB 129 kB
42
+ ├ └ css/7e897ebb936fac09.css 6.55 kB
43
+ ├ /_app 0 B 83.8 kB
44
+ ├ ● /[...slug] 4.49 kB 141 kB
45
+ ├ └ css/510895065f32ed2f.css 7 kB
46
+ ├ ● /[slug]/p 10.9 kB 136 kB
47
+ ├ └ css/def381bf7c69fa2e.css 11.3 kB
48
+ ├ ○ /404 1.19 kB 112 kB
49
+ ├ ● /500 1.21 kB 112 kB
50
+ ├ ● /account 675 B 111 kB
51
+ ├ λ /api/graphql 0 B 83.8 kB
52
+ ├ λ /api/health/live 0 B 83.8 kB
53
+ ├ λ /api/health/ready 0 B 83.8 kB
54
+ ├ λ /api/preview 0 B 83.8 kB
55
+ ├ ● /checkout 660 B 111 kB
56
+ ├ ● /login 1.14 kB 112 kB
57
+ └ ● /s 4.63 kB 126 kB
58
58
  + First Load JS shared by all 86.8 kB
59
59
  ├ chunks/framework-dfd14d7ce6600b03.js 45.3 kB
60
60
  ├ chunks/main-e4e873ee741162eb.js 24.2 kB
61
61
  ├ chunks/pages/_app-30b9666307e4b3b1.js 12.1 kB
62
- ├ chunks/webpack-3beeb2f9a51fccf6.js 2.22 kB
62
+ ├ chunks/webpack-54ce04ec11860b0b.js 2.25 kB
63
63
  └ css/5d1f64b61ea581f4.css 3.05 kB
64
64
 
65
65
  λ (Server) server-side renders at runtime (uses getInitialProps or getServerSideProps)
@@ -1,23 +1,23 @@
1
1
  $ jest
2
- PASS test/server/index.test.ts (20.791 s)
2
+ PASS test/server/index.test.ts (22.442 s)
3
3
  FastStore GraphQL Layer
4
4
  @faststore/api
5
- ✓ should return a valid GraphQL schema (11 ms)
5
+ ✓ should return a valid GraphQL schema (12 ms)
6
6
  ✓ should return a valid GraphQL schema contain all expected types (9 ms)
7
- ✓ should return a valid GraphQL schema contain all expected queries (1 ms)
8
- ✓ should return a valid GraphQL schema contain all expected mutations (1 ms)
7
+ ✓ should return a valid GraphQL schema contain all expected queries (2 ms)
8
+ ✓ should return a valid GraphQL schema contain all expected mutations
9
9
  VTEX API Extension
10
- ✓ getTypeDefsFromFolder function should return an Array (9 ms)
10
+ ✓ getTypeDefsFromFolder function should return an Array (30 ms)
11
11
  Third Party API Extension
12
- ✓ getTypeDefsFromFolder function should return an Array (8 ms)
12
+ ✓ getTypeDefsFromFolder function should return an Array (9 ms)
13
13
  Final Schema after merging
14
- ✓ should return a valid merged GraphQL schema (46 ms)
14
+ ✓ should return a valid merged GraphQL schema (42 ms)
15
15
  Envelop
16
- ✓ should exist with its plugins (112 ms)
17
- ✓ should handle options and execute (254 ms)
16
+ ✓ should exist with its plugins (43 ms)
17
+ ✓ should handle options and execute (567 ms)
18
18
 
19
19
  Test Suites: 1 passed, 1 total
20
20
  Tests: 9 passed, 9 total
21
21
  Snapshots: 0 total
22
- Time: 20.881 s
22
+ Time: 22.575 s
23
23
  Ran all test suites.
package/index.ts CHANGED
@@ -18,3 +18,16 @@ export { useProductsQuery } from './src/sdk/product/useProductsQuery'
18
18
 
19
19
  export * from './src/typings/overrides'
20
20
  export { getOverriddenSection } from './src/sdk/overrides/getOverriddenSection'
21
+
22
+ // Overridable Sections
23
+ export { default as AlertSection } from './src/components/sections/Alert'
24
+ export { default as BannerTextSection } from './src/components/sections/BannerText'
25
+ export { default as BreadcrumbSection } from './src/components/sections/Breadcrumb'
26
+ export { default as CrossSellingShelfSection } from './src/components/sections/CrossSellingShelf'
27
+ export { default as HeroSection } from './src/components/sections/Hero'
28
+ export { default as NavbarSection } from './src/components/sections/Navbar'
29
+ export { default as NewsletterSection } from './src/components/sections/Newsletter'
30
+ export { default as ProductDetailsSection } from './src/components/sections/ProductDetails'
31
+ export { default as ProductGallerySection } from './src/components/sections/ProductGallery'
32
+ export { default as ProductShelfSection } from './src/components/sections/ProductShelf'
33
+ export { default as RegionBarSection } from './src/components/sections/RegionBar'
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@faststore/core",
3
- "version": "2.2.69",
3
+ "version": "2.2.71",
4
4
  "license": "MIT",
5
5
  "repository": "vtex/faststore",
6
6
  "browserslist": "supports es6-module and not dead",
@@ -123,5 +123,5 @@
123
123
  "node": "18.19.0",
124
124
  "yarn": "1.19.1"
125
125
  },
126
- "gitHead": "e02c08e29d5a183ddc461a6da61ac4b9243c098a"
126
+ "gitHead": "8f5eb691823d713771a804589591b66b6effae55"
127
127
  }
@@ -8,9 +8,9 @@ import Toast from 'src/components/common/Toast'
8
8
  import RenderSections from './RenderSections'
9
9
 
10
10
  import { OverriddenDefaultAlert as Alert } from 'src/components/sections/Alert/OverriddenDefaultAlert'
11
+ import { OverriddenDefaultNavbar as Navbar } from 'src/components/sections/Navbar/OverriddenDefaultNavbar'
11
12
  import { OverriddenDefaultRegionBar as RegionBar } from 'src/components/sections/RegionBar/OverriddenDefaultRegionBar'
12
13
  import Footer from 'src/components/sections/Footer'
13
- import Navbar from 'src/components/sections/Navbar'
14
14
 
15
15
  const RegionModal = lazy(() => import('src/components/region/RegionModal'))
16
16
  const CartSidebar = lazy(() => import('src/components/cart/CartSidebar'))
@@ -12,17 +12,10 @@ import CartToggle from 'src/components/cart/CartToggle'
12
12
  import Logo from 'src/components/ui/Logo'
13
13
  import Link from 'src/components/ui/Link'
14
14
  import { ButtonSignIn } from 'src/components/ui/Button'
15
+ import { useOverrideComponents } from 'src/sdk/overrides/OverrideContext'
15
16
 
16
17
  import type { NavbarProps as SectionNavbarProps } from '../../sections/Navbar'
17
18
 
18
- import {
19
- Navbar as NavbarWrapper,
20
- NavbarHeader,
21
- NavbarRow,
22
- NavbarButtons,
23
- IconButton,
24
- } from 'src/components/sections/Navbar/Overrides'
25
-
26
19
  export interface NavbarProps {
27
20
  /**
28
21
  * Logo props.
@@ -75,9 +68,16 @@ function Navbar({
75
68
  home: { label: homeLabel },
76
69
  signIn: { button: signInButton },
77
70
  menu: {
78
- icon: { icon: menuIcon, alt: menuIconAlt = IconButton.props['aria-label'] },
71
+ icon: { icon: menuIcon, alt: menuIconAlt },
79
72
  },
80
73
  }: NavbarProps) {
74
+ const {
75
+ Navbar: NavbarWrapper,
76
+ NavbarHeader,
77
+ NavbarRow,
78
+ NavbarButtons,
79
+ IconButton,
80
+ } = useOverrideComponents<'Navbar'>()
81
81
  const scrollDirection = useScrollDirection()
82
82
  const { openNavbar, navbar: displayNavbar } = useUI()
83
83
  const searchMobileRef = useRef<SearchInputRef>(null)
@@ -107,7 +107,7 @@ function Navbar({
107
107
  onClick={openNavbar}
108
108
  icon={<UIIcon name={menuIcon} width={32} height={32} />}
109
109
  {...IconButton.props}
110
- aria-label={menuIconAlt}
110
+ aria-label={menuIconAlt ?? IconButton.props['aria-label']}
111
111
  />
112
112
  <Link
113
113
  data-fs-navbar-logo
@@ -8,11 +8,7 @@ import RegionButton from 'src/components/region/RegionButton'
8
8
  import type { NavbarProps } from 'src/components/navigation/Navbar'
9
9
 
10
10
  import { mark } from 'src/sdk/tests/mark'
11
-
12
- import {
13
- NavbarLinks as NavbarLinksWrapper,
14
- NavbarLinksList,
15
- } from 'src/components/sections/Navbar/Overrides'
11
+ import { useOverrideComponents } from 'src/sdk/overrides/OverrideContext'
16
12
 
17
13
  interface NavbarLinksProps extends UINavbarLinksProps {
18
14
  links: NavbarProps['links']
@@ -29,6 +25,8 @@ function NavbarLinks({
29
25
  region: { icon: regionIcon, label: regionLabel, shouldDisplayRegion },
30
26
  ...otherProps
31
27
  }: NavbarLinksProps) {
28
+ const { NavbarLinks: NavbarLinksWrapper, NavbarLinksList } =
29
+ useOverrideComponents<'Navbar'>()
32
30
  return (
33
31
  <NavbarLinksWrapper.Component {...otherProps} {...NavbarLinksWrapper.props}>
34
32
  <div data-fs-navbar-links-wrapper data-fs-content="navbar">
@@ -10,13 +10,7 @@ import { mark } from 'src/sdk/tests/mark'
10
10
  import type { NavbarProps } from '../Navbar'
11
11
 
12
12
  import styles from './section.module.scss'
13
-
14
- import {
15
- NavbarSlider as NavbarSliderWrapper,
16
- NavbarSliderHeader,
17
- NavbarSliderContent,
18
- NavbarSliderFooter,
19
- } from 'src/components/sections/Navbar/Overrides'
13
+ import { useOverrideComponents } from 'src/sdk/overrides/OverrideContext'
20
14
 
21
15
  interface NavbarSliderProps {
22
16
  logo: NavbarProps['logo']
@@ -33,6 +27,13 @@ function NavbarSlider({
33
27
  home: { label: homeLabel },
34
28
  signIn: { button: signInButton },
35
29
  }: NavbarSliderProps) {
30
+ const {
31
+ NavbarSlider: NavbarSliderWrapper,
32
+ NavbarSliderHeader,
33
+ NavbarSliderContent,
34
+ NavbarSliderFooter,
35
+ } = useOverrideComponents<'Navbar'>()
36
+
36
37
  const { closeNavbar } = useUI()
37
38
  const { fade, fadeOut } = useFadeEffect()
38
39
 
@@ -2,8 +2,10 @@ import type { ReactNode } from 'react'
2
2
 
3
3
  import CommonAlert, {
4
4
  type AlertProps as CommonAlertProps,
5
- } from 'src/components/common/Alert'
6
- import { useOverrideComponents } from 'src/sdk/overrides/OverrideContext'
5
+ } from '../../../components/common/Alert'
6
+ import { useOverrideComponents } from '../../../sdk/overrides/OverrideContext'
7
+ import { AlertDefaultComponents } from './DefaultComponents'
8
+ import { getOverridableSection } from '../../../sdk/overrides/getOverriddenSection'
7
9
 
8
10
  export interface AlertProps extends Omit<CommonAlertProps, 'link' | 'icon'> {
9
11
  icon: string
@@ -35,4 +37,10 @@ function Alert({ icon, content, link: { text, to }, dismissible }: AlertProps) {
35
37
  )
36
38
  }
37
39
 
38
- export default Alert
40
+ const OverridableAlert = getOverridableSection<typeof Alert>(
41
+ 'Alert',
42
+ Alert,
43
+ AlertDefaultComponents
44
+ )
45
+
46
+ export default OverridableAlert
@@ -1,12 +1,15 @@
1
1
  import { override } from 'src/customizations/src/components/overrides/Alert'
2
2
  import { getOverriddenSection } from 'src/sdk/overrides/getOverriddenSection'
3
- import type { SectionOverrideDefinition } from 'src/typings/overridesDefinition'
3
+ import Alert from '.'
4
+
5
+ import type { SectionOverrideDefinitionV1 } from 'src/typings/overridesDefinition'
4
6
 
5
7
  /**
6
8
  * This component exists to support overrides 1.0
7
9
  *
8
10
  * This allows users to override the default Alert section present in the Headless CMS
9
11
  */
10
- export const OverriddenDefaultAlert = getOverriddenSection(
11
- override as SectionOverrideDefinition<'Alert'>
12
- )
12
+ export const OverriddenDefaultAlert = getOverriddenSection({
13
+ ...(override as SectionOverrideDefinitionV1<'Alert'>),
14
+ Section: Alert,
15
+ })
@@ -3,10 +3,12 @@ import {
3
3
  BannerTextContentProps as UIBannerTextContentProps,
4
4
  } from '@faststore/ui'
5
5
 
6
- import { useOverrideComponents } from 'src/sdk/overrides/OverrideContext'
6
+ import { useOverrideComponents } from '../../../sdk/overrides/OverrideContext'
7
7
  import Section from '../Section'
8
8
 
9
9
  import styles from './section.module.scss'
10
+ import { BannerTextDefaultComponents } from './DefaultComponents'
11
+ import { getOverridableSection } from '../../../sdk/overrides/getOverriddenSection'
10
12
 
11
13
  export interface BannerTextProps {
12
14
  title: UIBannerTextContentProps['title']
@@ -55,4 +57,10 @@ function BannerText({
55
57
  )
56
58
  }
57
59
 
58
- export default BannerText
60
+ const OverridableBannerText = getOverridableSection<typeof BannerText>(
61
+ 'BannerText',
62
+ BannerText,
63
+ BannerTextDefaultComponents
64
+ )
65
+
66
+ export default OverridableBannerText
@@ -1,12 +1,15 @@
1
1
  import { override } from 'src/customizations/src/components/overrides/BannerText'
2
2
  import { getOverriddenSection } from 'src/sdk/overrides/getOverriddenSection'
3
- import type { SectionOverrideDefinition } from 'src/typings/overridesDefinition'
3
+ import BannerText from '.'
4
+
5
+ import type { SectionOverrideDefinitionV1 } from 'src/typings/overridesDefinition'
4
6
 
5
7
  /**
6
8
  * This component exists to support overrides 1.0
7
9
  *
8
10
  * This allows users to override the default BannerText section present in the Headless CMS
9
11
  */
10
- export const OverriddenDefaultBannerText = getOverriddenSection(
11
- override as SectionOverrideDefinition<'BannerText'>
12
- )
12
+ export const OverriddenDefaultBannerText = getOverriddenSection({
13
+ ...(override as SectionOverrideDefinitionV1<'BannerText'>),
14
+ Section: BannerText,
15
+ })
@@ -9,8 +9,10 @@ import {
9
9
  isPDP,
10
10
  isPLP,
11
11
  usePage,
12
- } from 'src/sdk/overrides/PageProvider'
13
- import { useOverrideComponents } from 'src/sdk/overrides/OverrideContext'
12
+ } from '../../../sdk/overrides/PageProvider'
13
+ import { useOverrideComponents } from '../../../sdk/overrides/OverrideContext'
14
+ import { BreadcrumbDefaultComponents } from './DefaultComponents'
15
+ import { getOverridableSection } from '../../../sdk/overrides/getOverriddenSection'
14
16
 
15
17
  interface BreadcrumbSectionProps {
16
18
  icon: string
@@ -39,4 +41,8 @@ function BreadcrumbSection({ ...otherProps }: BreadcrumbSectionProps) {
39
41
  )
40
42
  }
41
43
 
42
- export default memo(BreadcrumbSection)
44
+ const OverridableBreadcrumbSection = getOverridableSection<
45
+ typeof BreadcrumbSection
46
+ >('Breadcrumb', BreadcrumbSection, BreadcrumbDefaultComponents)
47
+
48
+ export default memo(OverridableBreadcrumbSection)
@@ -1,12 +1,15 @@
1
1
  import { override } from 'src/customizations/src/components/overrides/Breadcrumb'
2
2
  import { getOverriddenSection } from 'src/sdk/overrides/getOverriddenSection'
3
- import type { SectionOverrideDefinition } from 'src/typings/overridesDefinition'
3
+ import Breadcrumb from '.'
4
+
5
+ import type { SectionOverrideDefinitionV1 } from 'src/typings/overridesDefinition'
4
6
 
5
7
  /**
6
8
  * This component exists to support overrides 1.0
7
9
  *
8
10
  * This allows users to override the default Breadcrumb section present in the Headless CMS
9
11
  */
10
- export const OverriddenDefaultBreadcrumb = getOverriddenSection(
11
- override as SectionOverrideDefinition<'Breadcrumb'>
12
- )
12
+ export const OverriddenDefaultBreadcrumb = getOverriddenSection({
13
+ ...(override as SectionOverrideDefinitionV1<'Breadcrumb'>),
14
+ Section: Breadcrumb,
15
+ })
@@ -1,10 +1,12 @@
1
1
  import { useMemo } from 'react'
2
2
 
3
- import UIProductShelf from 'src/components/ui/ProductShelf'
3
+ import UIProductShelf from '../../../components/ui/ProductShelf'
4
4
  import { useInView } from 'react-intersection-observer'
5
5
  import { usePDP } from 'src/sdk/overrides/PageProvider'
6
6
  import styles from '../ProductShelf/section.module.scss'
7
7
  import Section from '../Section'
8
+ import { CrossSellingShelfDefaultComponents } from './DefaultComponents'
9
+ import { getOverridableSection } from '../../../sdk/overrides/getOverriddenSection'
8
10
 
9
11
  interface Props {
10
12
  numberOfItems: number
@@ -43,4 +45,8 @@ const CrossSellingShelf = ({
43
45
  )
44
46
  }
45
47
 
46
- export default CrossSellingShelf
48
+ const OverridableCrossSellingShelf = getOverridableSection<
49
+ typeof CrossSellingShelf
50
+ >('CrossSellingShelf', CrossSellingShelf, CrossSellingShelfDefaultComponents)
51
+
52
+ export default OverridableCrossSellingShelf
@@ -1,5 +1,6 @@
1
1
  import { getOverriddenSection } from 'src/sdk/overrides/getOverriddenSection'
2
+ import CrossSellingShelf from '.'
2
3
 
3
4
  export const OverriddenDefaultCrossSellingShelf = getOverriddenSection({
4
- section: 'CrossSellingShelf',
5
+ Section: CrossSellingShelf,
5
6
  })
@@ -2,13 +2,13 @@ import { EmptyState as UIEmptyState } from '@faststore/ui'
2
2
 
3
3
  import { getSectionOverrides } from 'src/sdk/overrides/overrides'
4
4
  import { override } from 'src/customizations/src/components/overrides/EmptyState'
5
- import type { SectionOverrideDefinition } from 'src/typings/overridesDefinition'
5
+ import type { SectionOverrideDefinitionV1 } from 'src/typings/overridesDefinition'
6
6
 
7
7
  const { EmptyState } = getSectionOverrides(
8
8
  {
9
9
  EmptyState: UIEmptyState,
10
10
  },
11
- override as SectionOverrideDefinition<'EmptyState'>
11
+ override as SectionOverrideDefinitionV1<'EmptyState'>
12
12
  )
13
13
 
14
14
  export { EmptyState }
@@ -3,13 +3,15 @@ import {
3
3
  HeroHeaderProps as UIHeroHeaderProps,
4
4
  } from '@faststore/ui'
5
5
  import { ReactNode } from 'react'
6
- import { Image } from 'src/components/ui/Image'
6
+ import { Image } from '../../../components/ui/Image'
7
7
 
8
- import { useOverrideComponents } from 'src/sdk/overrides/OverrideContext'
8
+ import { useOverrideComponents } from '../../../sdk/overrides/OverrideContext'
9
9
 
10
10
  import Section from '../Section'
11
11
 
12
12
  import styles from './section.module.scss'
13
+ import { HeroDefaultComponents } from './DefaultComponents'
14
+ import { getOverridableSection } from '../../../sdk/overrides/getOverriddenSection'
13
15
 
14
16
  export type HeroProps = {
15
17
  title: UIHeroHeaderProps['title']
@@ -74,4 +76,10 @@ const Hero = ({
74
76
  )
75
77
  }
76
78
 
77
- export default Hero
79
+ const OverridableHero = getOverridableSection<typeof Hero>(
80
+ 'Hero',
81
+ Hero,
82
+ HeroDefaultComponents
83
+ )
84
+
85
+ export default OverridableHero
@@ -1,12 +1,15 @@
1
1
  import { override } from 'src/customizations/src/components/overrides/Hero'
2
2
  import { getOverriddenSection } from 'src/sdk/overrides/getOverriddenSection'
3
- import type { SectionOverrideDefinition } from 'src/typings/overridesDefinition'
3
+ import Hero from '.'
4
+
5
+ import type { SectionOverrideDefinitionV1 } from 'src/typings/overridesDefinition'
4
6
 
5
7
  /**
6
8
  * This component exists to support overrides 1.0
7
9
  *
8
10
  * This allows users to override the default Hero section present in the Headless CMS
9
11
  */
10
- export const OverriddenDefaultHero = getOverriddenSection(
11
- override as SectionOverrideDefinition<'Hero'>
12
- )
12
+ export const OverriddenDefaultHero = getOverriddenSection({
13
+ ...(override as SectionOverrideDefinitionV1<'Hero'>),
14
+ Section: Hero,
15
+ })
@@ -0,0 +1,27 @@
1
+ import {
2
+ Navbar as UINavbar,
3
+ NavbarLinks as UINavbarLinks,
4
+ NavbarLinksList as UINavbarLinksList,
5
+ NavbarSlider as UINavbarSlider,
6
+ NavbarSliderHeader as UINavbarSliderHeader,
7
+ NavbarSliderContent as UINavbarSliderContent,
8
+ NavbarSliderFooter as UINavbarSliderFooter,
9
+ NavbarHeader as UINavbarHeader,
10
+ NavbarRow as UINavbarRow,
11
+ NavbarButtons as UINavbarButtons,
12
+ IconButton as UIIconButton,
13
+ } from '@faststore/ui'
14
+
15
+ export const NavbarDefaultComponents = {
16
+ Navbar: UINavbar,
17
+ NavbarLinks: UINavbarLinks,
18
+ NavbarLinksList: UINavbarLinksList,
19
+ NavbarSlider: UINavbarSlider,
20
+ NavbarSliderHeader: UINavbarSliderHeader,
21
+ NavbarSliderContent: UINavbarSliderContent,
22
+ NavbarSliderFooter: UINavbarSliderFooter,
23
+ NavbarHeader: UINavbarHeader,
24
+ NavbarRow: UINavbarRow,
25
+ NavbarButtons: UINavbarButtons,
26
+ IconButton: UIIconButton,
27
+ } as const
@@ -1,8 +1,10 @@
1
+ import { getOverridableSection } from '../../../sdk/overrides/getOverriddenSection'
1
2
  import Section from '../Section'
2
3
 
3
4
  import styles from './section.module.scss'
4
5
 
5
- import Navbar from 'src/components/navigation/Navbar'
6
+ import Navbar from '../../../components/navigation/Navbar'
7
+ import { NavbarDefaultComponents } from './DefaultComponents'
6
8
 
7
9
  type PageLinks = {
8
10
  url: string
@@ -91,4 +93,10 @@ function NavbarSection({
91
93
  )
92
94
  }
93
95
 
94
- export default NavbarSection
96
+ const OverridableNavbar = getOverridableSection<typeof NavbarSection>(
97
+ 'Navbar',
98
+ NavbarSection,
99
+ NavbarDefaultComponents
100
+ )
101
+
102
+ export default OverridableNavbar
@@ -0,0 +1,14 @@
1
+ import { override } from 'src/customizations/src/components/overrides/Navbar'
2
+ import { getOverriddenSection } from 'src/sdk/overrides/getOverriddenSection'
3
+ import type { SectionOverrideDefinitionV1 } from 'src/typings/overridesDefinition'
4
+ import Navbar from './Navbar'
5
+
6
+ /**
7
+ * This component exists to support overrides 1.0
8
+ *
9
+ * This allows users to override the default Navbar section present in the Headless CMS
10
+ */
11
+ export const OverriddenDefaultNavbar = getOverriddenSection({
12
+ ...(override as SectionOverrideDefinitionV1<'Navbar'>),
13
+ Section: Navbar,
14
+ })
@@ -4,10 +4,12 @@ import {
4
4
  NewsletterHeaderProps as UINewsletterHeaderProps,
5
5
  } from '@faststore/ui'
6
6
 
7
- import UINewsletter from 'src/components/ui/Newsletter'
7
+ import UINewsletter from '../../ui/Newsletter'
8
8
 
9
9
  import Section from '../Section'
10
10
  import styles from './section.module.scss'
11
+ import { getOverridableSection } from '../../../sdk/overrides/getOverriddenSection'
12
+ import { NewsletterDefaultComponents } from './DefaultComponents'
11
13
 
12
14
  type SubscribeMessage = {
13
15
  icon: string
@@ -111,4 +113,10 @@ function Newsletter({
111
113
  )
112
114
  }
113
115
 
114
- export default Newsletter
116
+ const OverridableNewsletter = getOverridableSection<typeof Newsletter>(
117
+ 'Newsletter',
118
+ Newsletter,
119
+ NewsletterDefaultComponents
120
+ )
121
+
122
+ export default OverridableNewsletter
@@ -1,12 +1,14 @@
1
1
  import { override } from 'src/customizations/src/components/overrides/Newsletter'
2
2
  import { getOverriddenSection } from 'src/sdk/overrides/getOverriddenSection'
3
- import type { SectionOverrideDefinition } from 'src/typings/overridesDefinition'
3
+ import type { SectionOverrideDefinitionV1 } from 'src/typings/overridesDefinition'
4
+ import Newsletter from './Newsletter'
4
5
 
5
6
  /**
6
7
  * This component exists to support overrides 1.0
7
8
  *
8
9
  * This allows users to override the default Newsletter section present in the Headless CMS
9
10
  */
10
- export const OverriddenDefaultNewsletter = getOverriddenSection(
11
- override as SectionOverrideDefinition<'Newsletter'>
12
- )
11
+ export const OverriddenDefaultNewsletter = getOverriddenSection({
12
+ ...(override as SectionOverrideDefinitionV1<'Newsletter'>),
13
+ Section: Newsletter,
14
+ })
@@ -1,12 +1,15 @@
1
1
  import { override } from 'src/customizations/src/components/overrides/ProductDetails'
2
2
  import { getOverriddenSection } from 'src/sdk/overrides/getOverriddenSection'
3
- import type { SectionOverrideDefinition } from 'src/typings/overridesDefinition'
3
+ import ProductDetails from './ProductDetails'
4
+
5
+ import type { SectionOverrideDefinitionV1 } from 'src/typings/overridesDefinition'
4
6
 
5
7
  /**
6
8
  * This component exists to support overrides 1.0
7
9
  *
8
10
  * This allows users to override the default ProductDetails section present in the Headless CMS
9
11
  */
10
- export const OverriddenDefaultProductDetails = getOverriddenSection(
11
- override as SectionOverrideDefinition<'ProductDetails'>
12
- )
12
+ export const OverriddenDefaultProductDetails = getOverriddenSection({
13
+ ...(override as SectionOverrideDefinitionV1<'ProductDetails'>),
14
+ Section: ProductDetails,
15
+ })