@faststore/core 2.2.59 → 2.2.61

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 (69) hide show
  1. package/.next/BUILD_ID +1 -1
  2. package/.next/build-manifest.json +45 -45
  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/routes-manifest.json +1 -1
  14. package/.next/server/chunks/74.js +458 -23
  15. package/.next/server/chunks/{350.js → 829.js} +42 -2
  16. package/.next/server/middleware-build-manifest.js +1 -1
  17. package/.next/server/pages/[...slug].js +5 -5
  18. package/.next/server/pages/[...slug].js.nft.json +1 -1
  19. package/.next/server/pages/[slug]/p.js +5 -5
  20. package/.next/server/pages/[slug]/p.js.nft.json +1 -1
  21. package/.next/server/pages/en-US/404.html +2 -2
  22. package/.next/server/pages/en-US/500.html +2 -2
  23. package/.next/server/pages/en-US/account.html +2 -2
  24. package/.next/server/pages/en-US/checkout.html +2 -2
  25. package/.next/server/pages/en-US/login.html +2 -2
  26. package/.next/server/pages/en-US/s.html +2 -2
  27. package/.next/server/pages/en-US.html +2 -2
  28. package/.next/server/pages/s.js +45 -5
  29. package/.next/server/pages/s.js.nft.json +1 -1
  30. package/.next/server/pages-manifest.json +3 -3
  31. package/.next/static/YaAOEVbZrM4Y0xL8O4SKx/_buildManifest.js +1 -0
  32. package/.next/static/chunks/238-6cdd6e7841eba836.js +1 -0
  33. package/.next/static/chunks/875-3b0f69008ecb7897.js +1 -0
  34. package/.next/static/chunks/pages/{404-0bacd82dcf801c94.js → 404-340e5868f79ee704.js} +1 -1
  35. package/.next/static/chunks/pages/{500-4dceb834e001d990.js → 500-ee2a5efc5808cdd4.js} +1 -1
  36. package/.next/static/chunks/pages/{[...slug]-73ed6192e9f16de9.js → [...slug]-8e6c8b59791c31e9.js} +1 -1
  37. package/.next/static/chunks/pages/[slug]/p-fd236c3b1d28734d.js +1 -0
  38. package/.next/static/chunks/pages/{account-57c0c1f70eed76a6.js → account-acd169fb6e00021f.js} +1 -1
  39. package/.next/static/chunks/pages/{checkout-e5db8918e7c9c75e.js → checkout-5de711ccb807644b.js} +1 -1
  40. package/.next/static/chunks/pages/{index-eb26d4cf53e13666.js → index-66a1b740f1101ce4.js} +1 -1
  41. package/.next/static/chunks/pages/{login-39000c786b4f6222.js → login-e5ee36783a4877fd.js} +1 -1
  42. package/.next/static/chunks/pages/{s-e195109f5acced7c.js → s-669d2eccade79e75.js} +1 -1
  43. package/.next/static/chunks/{webpack-3382def1b25b17f8.js → webpack-41b4f40c5b7ff474.js} +1 -1
  44. package/.next/static/css/014e8b0d9020cd52.css +1 -0
  45. package/.next/static/css/4a189916c3edc75d.css +1 -0
  46. package/.next/static/css/e67c73ff7fbc8c54.css +1 -0
  47. package/.next/trace +81 -81
  48. package/.turbo/turbo-build.log +9 -9
  49. package/.turbo/turbo-test.log +8 -8
  50. package/package.json +3 -3
  51. package/src/components/sections/Breadcrumb/Breadcrumb.tsx +4 -3
  52. package/src/components/sections/Breadcrumb/DefaultComponents.ts +6 -0
  53. package/src/components/sections/Breadcrumb/OverriddenDefaultBreadcrumb.ts +12 -0
  54. package/src/components/templates/ProductListingPage/ProductListing.tsx +1 -1
  55. package/src/components/templates/SearchPage/SearchPage.tsx +1 -1
  56. package/src/components/ui/Breadcrumb/Breadcrumb.tsx +35 -33
  57. package/src/pages/[slug]/p.tsx +1 -1
  58. package/src/sdk/overrides/sections.tsx +4 -0
  59. package/src/typings/overrides.ts +7 -1
  60. package/.next/server/chunks/390.js +0 -495
  61. package/.next/static/chunks/158-3ad2d91ade721ede.js +0 -1
  62. package/.next/static/chunks/497-e24ad9b81a2b2cba.js +0 -1
  63. package/.next/static/chunks/pages/[slug]/p-0006885a8666b680.js +0 -1
  64. package/.next/static/css/4729e602d10c1332.css +0 -1
  65. package/.next/static/css/723835bce380750d.css +0 -1
  66. package/.next/static/css/f2ab72459fcdabcc.css +0 -1
  67. package/.next/static/kWyk6RSC1bsGWTDX1FSk5/_buildManifest.js +0 -1
  68. package/src/components/sections/Breadcrumb/Overrides.tsx +0 -15
  69. /package/.next/static/{kWyk6RSC1bsGWTDX1FSk5 → YaAOEVbZrM4Y0xL8O4SKx}/_ssgManifest.js +0 -0
@@ -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
- ┌ ● / 6.23 kB 133 kB
41
+ ┌ ● / 6.23 kB 135 kB
42
42
  ├ └ css/cf062feb79245123.css 8.38 kB
43
43
  ├ /_app 0 B 83.7 kB
44
44
  ├ ● /[...slug] 7.35 kB 145 kB
45
45
  ├ └ css/0dc997f9da3027b7.css 8.8 kB
46
- ├ ● /[slug]/p 8.02 kB 135 kB
47
- ├ └ css/f2ab72459fcdabcc.css 5.4 kB
48
- ├ ○ /404 1.19 kB 128 kB
49
- ├ ● /500 1.21 kB 128 kB
50
- ├ ● /account 677 B 128 kB
46
+ ├ ● /[slug]/p 5.6 kB 135 kB
47
+ ├ └ css/e67c73ff7fbc8c54.css 4.42 kB
48
+ ├ ○ /404 1.19 kB 130 kB
49
+ ├ ● /500 1.21 kB 130 kB
50
+ ├ ● /account 676 B 130 kB
51
51
  ├ λ /api/graphql 0 B 83.7 kB
52
52
  ├ λ /api/health/live 0 B 83.7 kB
53
53
  ├ λ /api/health/ready 0 B 83.7 kB
54
54
  ├ λ /api/preview 0 B 83.7 kB
55
- ├ ● /checkout 662 B 128 kB
56
- ├ ● /login 1.14 kB 128 kB
55
+ ├ ● /checkout 660 B 130 kB
56
+ ├ ● /login 1.14 kB 130 kB
57
57
  └ ● /s 1.38 kB 139 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-3382def1b25b17f8.js 2.23 kB
62
+ ├ chunks/webpack-41b4f40c5b7ff474.js 2.24 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 (21.341 s)
2
+ PASS test/server/index.test.ts (22.314 s)
3
3
  FastStore GraphQL Layer
4
4
  @faststore/api
5
- ✓ should return a valid GraphQL schema (10 ms)
5
+ ✓ should return a valid GraphQL schema (8 ms)
6
6
  ✓ should return a valid GraphQL schema contain all expected types (7 ms)
7
7
  ✓ should return a valid GraphQL schema contain all expected queries (1 ms)
8
- ✓ should return a valid GraphQL schema contain all expected mutations (2 ms)
8
+ ✓ should return a valid GraphQL schema contain all expected mutations (1 ms)
9
9
  VTEX API Extension
10
- ✓ getTypeDefsFromFolder function should return an Array (5 ms)
10
+ ✓ getTypeDefsFromFolder function should return an Array (8 ms)
11
11
  Third Party API Extension
12
12
  ✓ getTypeDefsFromFolder function should return an Array (6 ms)
13
13
  Final Schema after merging
14
- ✓ should return a valid merged GraphQL schema (34 ms)
14
+ ✓ should return a valid merged GraphQL schema (32 ms)
15
15
  Envelop
16
- ✓ should exist with its plugins (25 ms)
17
- ✓ should handle options and execute (319 ms)
16
+ ✓ should exist with its plugins (26 ms)
17
+ ✓ should handle options and execute (529 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: 21.473 s
22
+ Time: 22.387 s
23
23
  Ran all test suites.
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@faststore/core",
3
- "version": "2.2.59",
3
+ "version": "2.2.61",
4
4
  "license": "MIT",
5
5
  "repository": "vtex/faststore",
6
6
  "browserslist": "supports es6-module and not dead",
@@ -40,7 +40,7 @@
40
40
  "@faststore/api": "^2.2.56",
41
41
  "@faststore/components": "^2.2.56",
42
42
  "@faststore/graphql-utils": "^2.2.56",
43
- "@faststore/sdk": "^2.2.56",
43
+ "@faststore/sdk": "^2.2.61",
44
44
  "@faststore/ui": "^2.2.56",
45
45
  "@graphql-codegen/cli": "^3.3.1",
46
46
  "@graphql-codegen/typescript": "^3.0.4",
@@ -123,5 +123,5 @@
123
123
  "node": "18.19.0",
124
124
  "yarn": "1.19.1"
125
125
  },
126
- "gitHead": "18aea9c02e0ea27af407d6fd2a490a51dcf4f02d"
126
+ "gitHead": "b26e37e4a54d982f2550e804f2643a03b5159e85"
127
127
  }
@@ -1,7 +1,5 @@
1
1
  import { memo } from 'react'
2
2
 
3
- import Breadcrumb from 'src/components/ui/Breadcrumb'
4
-
5
3
  import Section from '../Section'
6
4
 
7
5
  import styles from './section.module.scss'
@@ -12,6 +10,7 @@ import {
12
10
  isPLP,
13
11
  usePage,
14
12
  } from 'src/sdk/overrides/PageProvider'
13
+ import { useOverrideComponents } from 'src/sdk/overrides/OverrideContext'
15
14
 
16
15
  interface BreadcrumbSectionProps {
17
16
  icon: string
@@ -19,6 +18,8 @@ interface BreadcrumbSectionProps {
19
18
  }
20
19
 
21
20
  function BreadcrumbSection({ ...otherProps }: BreadcrumbSectionProps) {
21
+ const { Breadcrumb } = useOverrideComponents<'Breadcrumb'>()
22
+
22
23
  const context = usePage<PDPContext | PLPContext>()
23
24
  const title = isPLP(context)
24
25
  ? context?.data?.collection?.seo?.title
@@ -33,7 +34,7 @@ function BreadcrumbSection({ ...otherProps }: BreadcrumbSectionProps) {
33
34
 
34
35
  return (
35
36
  <Section className={`${styles.section} section-breadcrumb`}>
36
- <Breadcrumb breadcrumbList={breadcrumbList} {...otherProps} />
37
+ <Breadcrumb.Component breadcrumbList={breadcrumbList} {...otherProps} />
37
38
  </Section>
38
39
  )
39
40
  }
@@ -0,0 +1,6 @@
1
+ import { Breadcrumb as UIBreadcrumb, Icon as UIIcon } from '@faststore/ui'
2
+
3
+ export const BreadcrumbDefaultComponents = {
4
+ Breadcrumb: UIBreadcrumb,
5
+ Icon: UIIcon,
6
+ } as const
@@ -0,0 +1,12 @@
1
+ import { override } from 'src/customizations/src/components/overrides/Breadcrumb'
2
+ import { getOverriddenSection } from 'src/sdk/overrides/getOverriddenSection'
3
+ import type { SectionOverrideDefinition } from 'src/typings/overridesDefinition'
4
+
5
+ /**
6
+ * This component exists to support overrides 1.0
7
+ *
8
+ * This allows users to override the default Breadcrumb section present in the Headless CMS
9
+ */
10
+ export const OverriddenDefaultBreadcrumb = getOverriddenSection(
11
+ override as SectionOverrideDefinition<'Breadcrumb'>
12
+ )
@@ -1,5 +1,5 @@
1
1
  import type { ServerCollectionPageQueryQuery } from '@generated/graphql'
2
- import Breadcrumb from 'src/components/sections/Breadcrumb'
2
+ import { OverriddenDefaultBreadcrumb as Breadcrumb } from 'src/components/sections/Breadcrumb/OverriddenDefaultBreadcrumb'
3
3
  import { OverriddenDefaultHero as Hero } from 'src/components/sections/Hero/OverriddenDefaultHero'
4
4
  import ProductGallery from 'src/components/sections/ProductGallery'
5
5
  import { OverriddenDefaultProductShelf as ProductShelf } from 'src/components/sections/ProductShelf/OverriddenDefaultProductShelf'
@@ -1,7 +1,7 @@
1
1
  import { useSearch } from '@faststore/sdk'
2
2
  import type { ComponentType } from 'react'
3
3
 
4
- import Breadcrumb from 'src/components/sections/Breadcrumb'
4
+ import { OverriddenDefaultBreadcrumb as Breadcrumb } from 'src/components/sections/Breadcrumb/OverriddenDefaultBreadcrumb'
5
5
  import ProductGallery from 'src/components/sections/ProductGallery'
6
6
  import { ITEMS_PER_PAGE } from 'src/constants'
7
7
  import CUSTOM_COMPONENTS from 'src/customizations/src/components'
@@ -3,10 +3,7 @@ import { memo } from 'react'
3
3
 
4
4
  import Link from 'src/components/ui/Link'
5
5
 
6
- import {
7
- Breadcrumb as BreadcrumbWrapper,
8
- Icon,
9
- } from 'src/components/sections/Breadcrumb/Overrides'
6
+ import { useOverrideComponents } from 'src/sdk/overrides/OverrideContext'
10
7
 
11
8
  export interface BreadcrumbProps extends UIBreadcrumbProps {
12
9
  icon: string
@@ -14,36 +11,41 @@ export interface BreadcrumbProps extends UIBreadcrumbProps {
14
11
  }
15
12
 
16
13
  const Breadcrumb = ({
17
- icon = Icon.props.name ?? 'Home',
14
+ icon,
18
15
  alt = 'Go to homepage',
19
16
  ...otherProps
20
- }: BreadcrumbProps) => (
21
- <BreadcrumbWrapper.Component
22
- homeLink={
23
- <Link
24
- data-fs-breadcrumb-link
25
- data-fs-breadcrumb-link-home
26
- aria-label={alt}
27
- href="/"
28
- prefetch={false}
29
- >
30
- <Icon.Component
31
- width={18}
32
- height={18}
33
- weight="bold"
34
- {...Icon.props}
35
- name={icon}
36
- />
37
- </Link>
38
- }
39
- renderLink={({ itemProps: { item: link, name } }) => (
40
- <Link data-fs-breadcrumb-link href={link} prefetch={false}>
41
- {name}
42
- </Link>
43
- )}
44
- {...BreadcrumbWrapper.props}
45
- {...otherProps}
46
- />
47
- )
17
+ }: BreadcrumbProps) => {
18
+ const { Breadcrumb: BreadcrumbWrapper, Icon } =
19
+ useOverrideComponents<'Breadcrumb'>()
20
+
21
+ return (
22
+ <BreadcrumbWrapper.Component
23
+ homeLink={
24
+ <Link
25
+ data-fs-breadcrumb-link
26
+ data-fs-breadcrumb-link-home
27
+ aria-label={alt}
28
+ href="/"
29
+ prefetch={false}
30
+ >
31
+ <Icon.Component
32
+ width={18}
33
+ height={18}
34
+ weight="bold"
35
+ {...Icon.props}
36
+ name={icon ?? Icon.props.name ?? 'Home'}
37
+ />
38
+ </Link>
39
+ }
40
+ renderLink={({ itemProps: { item: link, name } }) => (
41
+ <Link data-fs-breadcrumb-link href={link} prefetch={false}>
42
+ {name}
43
+ </Link>
44
+ )}
45
+ {...BreadcrumbWrapper.props}
46
+ {...otherProps}
47
+ />
48
+ )
49
+ }
48
50
 
49
51
  export default memo(Breadcrumb)
@@ -13,7 +13,7 @@ import type {
13
13
  import RenderSections from 'src/components/cms/RenderSections'
14
14
  import BannerNewsletter from 'src/components/sections/BannerNewsletter/BannerNewsletter'
15
15
  import { OverriddenDefaultBannerText as BannerText } from 'src/components/sections/BannerText/OverriddenDefaultBannerText'
16
- import Breadcrumb from 'src/components/sections/Breadcrumb'
16
+ import { OverriddenDefaultBreadcrumb as Breadcrumb } from 'src/components/sections/Breadcrumb/OverriddenDefaultBreadcrumb'
17
17
  import { OverriddenDefaultCrossSellingShelf as CrossSellingShelf } from 'src/components/sections/CrossSellingShelf/OverriddenDefaultCrossSellingShelf'
18
18
  import { OverriddenDefaultProductDetails as ProductDetails } from 'src/components/sections/ProductDetails/OverriddenDefaultProductDetails'
19
19
  import CUSTOM_COMPONENTS from 'src/customizations/src/components'
@@ -1,5 +1,6 @@
1
1
  import Alert from '../../components/sections/Alert'
2
2
  import BannerText from '../../components/sections/BannerText'
3
+ import Breadcrumb from '../../components/sections/Breadcrumb'
3
4
  import Hero from '../../components/sections/Hero'
4
5
  import ProductShelf from '../../components/sections/ProductShelf'
5
6
  import CrossSellingShelf from '../../components/sections/CrossSellingShelf'
@@ -9,6 +10,7 @@ import type { DefaultSectionComponentsDefinitions } from '../../typings/override
9
10
  import type { SectionsOverrides } from '../../typings/overrides'
10
11
  import { AlertDefaultComponents } from '../../components/sections/Alert/DefaultComponents'
11
12
  import { BannerTextDefaultComponents } from '../../components/sections/BannerText/DefaultComponents'
13
+ import { BreadcrumbDefaultComponents } from 'src/components/sections/Breadcrumb/DefaultComponents'
12
14
  import { CrossSellingShelfDefaultComponents } from 'src/components/sections/CrossSellingShelf/DefaultComponents'
13
15
  import { HeroDefaultComponents } from '../../components/sections/Hero/DefaultComponents'
14
16
  import { ProductShelfDefaultComponents } from '../../components/sections/ProductShelf/DefaultComponents'
@@ -17,6 +19,7 @@ import { ProductDetailsDefaultComponents } from '../../components/sections/Produ
17
19
  export const Sections = {
18
20
  Alert,
19
21
  BannerText,
22
+ Breadcrumb,
20
23
  CrossSellingShelf,
21
24
  Hero,
22
25
  ProductDetails,
@@ -31,6 +34,7 @@ export const DefaultComponents: Partial<
31
34
  > = {
32
35
  Alert: AlertDefaultComponents,
33
36
  BannerText: BannerTextDefaultComponents,
37
+ Breadcrumb: BreadcrumbDefaultComponents,
34
38
  CrossSellingShelf: CrossSellingShelfDefaultComponents,
35
39
  Hero: HeroDefaultComponents,
36
40
  ProductDetails: ProductDetailsDefaultComponents,
@@ -49,7 +49,13 @@ export type SectionOverride = {
49
49
  /** TODO: every use of this type should be replaced by SectionsOverrides after all sections are supported */
50
50
  export type SupportedSectionsOverridesV2 = Pick<
51
51
  SectionsOverrides,
52
- 'Alert' | 'BannerText' | 'CrossSellingShelf' | 'Hero' | 'ProductShelf' | 'ProductDetails'
52
+ | 'Alert'
53
+ | 'BannerText'
54
+ | 'Breadcrumb'
55
+ | 'CrossSellingShelf'
56
+ | 'Hero'
57
+ | 'ProductShelf'
58
+ | 'ProductDetails'
53
59
  >
54
60
 
55
61
  /**