@faststore/core 3.11.3 → 3.11.4

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 (128) hide show
  1. package/.next/BUILD_ID +1 -1
  2. package/.next/build-manifest.json +14 -14
  3. package/.next/cache/.tsbuildinfo +1 -1
  4. package/.next/cache/config.json +3 -3
  5. package/.next/cache/webpack/client-production/0.pack +0 -0
  6. package/.next/cache/webpack/client-production/index.pack +0 -0
  7. package/.next/cache/webpack/server-production/0.pack +0 -0
  8. package/.next/cache/webpack/server-production/index.pack +0 -0
  9. package/.next/next-minimal-server.js.nft.json +1 -1
  10. package/.next/next-server.js.nft.json +1 -1
  11. package/.next/prerender-manifest.js +1 -1
  12. package/.next/prerender-manifest.json +1 -1
  13. package/.next/react-loadable-manifest.json +10 -10
  14. package/.next/routes-manifest.json +1 -1
  15. package/.next/server/chunks/5754.js +2 -2
  16. package/.next/server/chunks/8640.js +1 -1
  17. package/.next/server/middleware-build-manifest.js +1 -1
  18. package/.next/server/middleware-react-loadable-manifest.js +1 -1
  19. package/.next/server/pages/api/graphql.js +1 -1
  20. package/.next/server/pages/en-US/404.html +1 -1
  21. package/.next/server/pages/en-US/500.html +1 -1
  22. package/.next/server/pages/en-US/account.html +1 -1
  23. package/.next/server/pages/en-US/checkout.html +1 -1
  24. package/.next/server/pages/en-US/login.html +1 -1
  25. package/.next/server/pages/en-US/s.html +1 -1
  26. package/.next/server/pages/en-US.html +1 -1
  27. package/.next/server/pages-manifest.json +1 -1
  28. package/.next/static/{qw1fhkTKJwfp3KmckYsWd → FO1Q-M-kedNdmpX1S3tkc}/_buildManifest.js +1 -1
  29. package/.next/static/chunks/1978.8bdcdd4ec5c7ac88.js +1 -0
  30. package/.next/static/chunks/{5156.fe20405ee7a0d2d5.js → 5156.d1a2bac5ee6f64ac.js} +1 -1
  31. package/.next/static/chunks/7498-745c09c46899ea49.js +1 -0
  32. package/.next/static/chunks/{webpack-0b036af6daba5815.js → webpack-ed53dd91aa26df33.js} +1 -1
  33. package/.next/trace +102 -102
  34. package/.turbo/turbo-build.log +3 -3
  35. package/.turbo/turbo-test.log +5 -5
  36. package/CHANGELOG.md +4 -0
  37. package/codegen.ts +1 -1
  38. package/discovery.config.default.js +1 -1
  39. package/next-seo.config.ts +1 -1
  40. package/package.json +6 -6
  41. package/src/components/auth/ProfileChallenge/ProfileChallenge.tsx +1 -1
  42. package/src/components/cart/CartSidebar/CartSidebar.tsx +1 -1
  43. package/src/components/cart/OrderSummary/OrderSummary.tsx +1 -1
  44. package/src/components/cms/GlobalSections.tsx +2 -2
  45. package/src/components/cms/RenderSections.tsx +4 -4
  46. package/src/components/cms/SectionBoundary.tsx +1 -1
  47. package/src/components/cms/global/Components.ts +1 -1
  48. package/src/components/cms/home/Components.ts +1 -1
  49. package/src/components/cms/plp/Components.ts +1 -1
  50. package/src/components/cms/search/Components.ts +1 -1
  51. package/src/components/common/Alert/Alert.tsx +1 -1
  52. package/src/components/common/Footer/Footer.tsx +1 -1
  53. package/src/components/product/NotAvailableButton/NotAvailableButton.tsx +1 -1
  54. package/src/components/product/ProductCard/ProductCard.tsx +1 -1
  55. package/src/components/product/ProductGrid/ProductGrid.tsx +1 -1
  56. package/src/components/region/RegionModal/RegionModal.tsx +1 -1
  57. package/src/components/search/Filter/FilterDesktop.tsx +1 -1
  58. package/src/components/search/SearchDropdown/SearchDropdown.tsx +2 -2
  59. package/src/components/search/SearchInput/SearchInput.tsx +1 -1
  60. package/src/components/search/SearchTop/SearchTop.tsx +1 -1
  61. package/src/components/sections/BannerText/BannerText.tsx +1 -1
  62. package/src/components/sections/Breadcrumb/Breadcrumb.tsx +4 -4
  63. package/src/components/sections/Hero/Hero.tsx +2 -2
  64. package/src/components/sections/Newsletter/Newsletter.tsx +1 -1
  65. package/src/components/sections/ProductGallery/ProductGallery.tsx +5 -5
  66. package/src/components/sections/ProductShelf/ProductShelf.tsx +1 -1
  67. package/src/components/sections/RegionBar/RegionBar.tsx +3 -1
  68. package/src/components/templates/ProductListingPage/ProductListing.tsx +2 -2
  69. package/src/components/templates/SearchPage/SearchPage.tsx +5 -3
  70. package/src/components/ui/Image/Image.tsx +1 -1
  71. package/src/components/ui/Image/loader.ts +1 -1
  72. package/src/components/ui/Link/Link.tsx +1 -1
  73. package/src/components/ui/ProductGallery/ProductGallery.tsx +5 -5
  74. package/src/components/ui/ProductGallery/ProductGalleryPage.tsx +1 -1
  75. package/src/components/ui/ShippingSimulation/ShippingSimulation.tsx +1 -1
  76. package/src/components/ui/SkuSelector/Selectors.tsx +2 -2
  77. package/src/customizations/src/components/overrides/Alert.tsx +1 -1
  78. package/src/customizations/src/components/overrides/BannerText.tsx +1 -1
  79. package/src/customizations/src/components/overrides/Breadcrumb.tsx +1 -1
  80. package/src/customizations/src/components/overrides/CrossSellingShelf.tsx +1 -1
  81. package/src/customizations/src/components/overrides/EmptyState.tsx +1 -1
  82. package/src/customizations/src/components/overrides/Hero.tsx +1 -1
  83. package/src/customizations/src/components/overrides/Navbar.tsx +1 -1
  84. package/src/customizations/src/components/overrides/Newsletter.tsx +1 -1
  85. package/src/customizations/src/components/overrides/ProductDetails.tsx +1 -1
  86. package/src/customizations/src/components/overrides/ProductGallery.tsx +1 -1
  87. package/src/customizations/src/components/overrides/ProductShelf.tsx +1 -1
  88. package/src/customizations/src/components/overrides/RegionBar.tsx +1 -1
  89. package/src/experimental/searchServerSideFunctions/getServerSideProps.ts +4 -4
  90. package/src/experimental/searchServerSideFunctions/getStaticProps.ts +4 -4
  91. package/src/pages/404.tsx +4 -4
  92. package/src/pages/500.tsx +4 -4
  93. package/src/pages/[...slug].tsx +6 -6
  94. package/src/pages/[slug]/p.tsx +6 -6
  95. package/src/pages/account.tsx +3 -3
  96. package/src/pages/api/preview.ts +12 -6
  97. package/src/pages/checkout.tsx +3 -3
  98. package/src/pages/index.tsx +1 -1
  99. package/src/pages/login.tsx +4 -4
  100. package/src/pages/s.tsx +1 -1
  101. package/src/sdk/analytics/platform/vtex/rc.ts +3 -3
  102. package/src/sdk/analytics/types.ts +2 -2
  103. package/src/sdk/error/ErrorBoundary/ErrorBoundary.tsx +1 -1
  104. package/src/sdk/error/MissingContentError/MissingContentError.ts +1 -1
  105. package/src/sdk/error/MultipleContentError/MultipleContentError.ts +1 -1
  106. package/src/sdk/graphql/request.ts +2 -2
  107. package/src/sdk/overrides/OverrideContext.tsx +3 -3
  108. package/src/sdk/overrides/PageProvider.tsx +3 -4
  109. package/src/sdk/overrides/getOverriddenSection.tsx +2 -2
  110. package/src/sdk/overrides/overrides.ts +1 -1
  111. package/src/sdk/product/useAllVariantProducts.ts +1 -1
  112. package/src/sdk/product/useLocalizedVariables.ts +1 -1
  113. package/src/sdk/product/usePageProductsQuery.ts +1 -1
  114. package/src/sdk/product/useProductGalleryQuery.ts +1 -1
  115. package/src/sdk/product/useProductsPrefetch.ts +1 -1
  116. package/src/sdk/search/useFilter.ts +10 -7
  117. package/src/sdk/shipping/useShippingSimulation.ts +2 -2
  118. package/src/server/cms/index.ts +1 -1
  119. package/src/server/cms/pdp.ts +2 -2
  120. package/src/server/cms/plp.ts +4 -4
  121. package/src/typings/global.d.ts +6 -6
  122. package/src/typings/overrides.ts +25 -25
  123. package/src/typings/overridesDefinition.ts +4 -4
  124. package/src/utils/multipleTemplates.ts +3 -3
  125. package/test/server/cms/index.test.ts +1 -1
  126. package/.next/static/chunks/1978.b33d8b2c02b89474.js +0 -1
  127. package/.next/static/chunks/7498-304bc236a51fc94c.js +0 -1
  128. /package/.next/static/{qw1fhkTKJwfp3KmckYsWd → FO1Q-M-kedNdmpX1S3tkc}/_ssgManifest.js +0 -0
@@ -51,7 +51,7 @@ Route (pages) Size First Load JS
51
51
  ├ └ css/b1806cbafd0c1f81.css 3.06 kB
52
52
  ├ /_app 0 B 92 kB
53
53
  ├ ● /[...slug] 2.09 kB 131 kB
54
- ├ ● /[slug]/p 34 kB 153 kB
54
+ ├ ● /[slug]/p 34.1 kB 153 kB
55
55
  ├ ├ css/bf1560439df2c1a1.css 5.66 kB
56
56
  ├ ├ css/e3ff5d95518a5c79.css 6.01 kB
57
57
  ├ └ css/d23b961580181439.css 15.6 kB
@@ -69,11 +69,11 @@ Route (pages) Size First Load JS
69
69
  ├ chunks/framework-12a146e94cfcf7c4.js 45.4 kB
70
70
  ├ chunks/main-48d1188fa94dad34.js 33.1 kB
71
71
  ├ chunks/pages/_app-e0cf85dd2f4d858c.js 9.97 kB
72
- ├ chunks/webpack-0b036af6daba5815.js 3.57 kB
72
+ ├ chunks/webpack-ed53dd91aa26df33.js 3.57 kB
73
73
  └ css/ee0556daedda6306.css 3.07 kB
74
74
 
75
75
  λ (Server) server-side renders at runtime (uses getInitialProps or getServerSideProps)
76
76
  ○ (Static) automatically rendered as static HTML (uses no initial props)
77
77
  ● (SSG) automatically generated as static HTML + JSON (uses getStaticProps)
78
78
 
79
- Done in 68.23s.
79
+ Done in 69.01s.
@@ -1,12 +1,12 @@
1
1
  yarn run v1.22.22
2
2
  $ jest
3
- PASS test/server/cms/index.test.ts (32.814 s)
4
- PASS test/utils/multipleTemplates.test.ts (33.116 s)
5
- PASS test/server/index.test.ts (37.603 s)
3
+ PASS test/utils/multipleTemplates.test.ts (33.571 s)
4
+ PASS test/server/cms/index.test.ts (34.063 s)
5
+ PASS test/server/index.test.ts (38.869 s)
6
6
 
7
7
  Test Suites: 3 passed, 3 total
8
8
  Tests: 19 passed, 19 total
9
9
  Snapshots: 0 total
10
- Time: 38.753 s
10
+ Time: 39.982 s
11
11
  Ran all test suites.
12
- Done in 40.26s.
12
+ Done in 41.52s.
package/CHANGELOG.md CHANGED
@@ -3,6 +3,10 @@
3
3
  All notable changes to this project will be documented in this file.
4
4
  See [Conventional Commits](https://conventionalcommits.org) for commit guidelines.
5
5
 
6
+ ## [3.11.4](https://github.com/vtex/faststore/compare/v3.11.3...v3.11.4) (2025-01-29)
7
+
8
+ **Note:** Version bump only for package @faststore/core
9
+
6
10
  ## [3.11.3](https://github.com/vtex/faststore/compare/v3.11.2...v3.11.3) (2025-01-29)
7
11
 
8
12
  **Note:** Version bump only for package @faststore/core
package/codegen.ts CHANGED
@@ -1,4 +1,4 @@
1
- import { type CodegenConfig } from '@graphql-codegen/cli'
1
+ import type { CodegenConfig } from '@graphql-codegen/cli'
2
2
  import { Kind, type DocumentNode } from 'graphql'
3
3
 
4
4
  /* Extracts operationName from queries. Example: ServerProductQuery */
@@ -6,7 +6,7 @@ module.exports = {
6
6
  author: 'Store Framework',
7
7
  plp: {
8
8
  titleTemplate: '%s | FastStore PLP',
9
- descriptionTemplate: '%s products on FastStore Product Listing Page'
9
+ descriptionTemplate: '%s products on FastStore Product Listing Page',
10
10
  },
11
11
  search: {
12
12
  titleTemplate: '%s: Search results title',
@@ -1,4 +1,4 @@
1
- import { DefaultSeoProps } from 'next-seo'
1
+ import type { DefaultSeoProps } from 'next-seo'
2
2
  import storeConfig from './discovery.config'
3
3
 
4
4
  const buildTime = new Date().toISOString()
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@faststore/core",
3
- "version": "3.11.3",
3
+ "version": "3.11.4",
4
4
  "license": "MIT",
5
5
  "repository": "vtex/faststore",
6
6
  "browserslist": "supports es6-module and not dead",
@@ -43,12 +43,12 @@
43
43
  "@envelop/graphql-jit": "^8.0.3",
44
44
  "@envelop/parser-cache": "^6.0.2",
45
45
  "@envelop/validation-cache": "^6.0.2",
46
- "@faststore/api": "^3.11.3",
47
- "@faststore/components": "^3.11.3",
46
+ "@faststore/api": "^3.11.4",
47
+ "@faststore/components": "^3.11.4",
48
48
  "@faststore/graphql-utils": "^3.11.3",
49
49
  "@faststore/lighthouse": "^3.11.3",
50
- "@faststore/sdk": "^3.11.3",
51
- "@faststore/ui": "^3.11.3",
50
+ "@faststore/sdk": "^3.11.4",
51
+ "@faststore/ui": "^3.11.4",
52
52
  "@graphql-codegen/cli": "5.0.2",
53
53
  "@graphql-codegen/client-preset": "4.2.6",
54
54
  "@graphql-codegen/typescript": "4.0.7",
@@ -101,5 +101,5 @@
101
101
  "jest": "^29.7.0",
102
102
  "ts-jest": "29.1.1"
103
103
  },
104
- "gitHead": "6b9aae9d5eb648c456b313cc210fa7e90821d5fb"
104
+ "gitHead": "12b2c7ae619a3f903e514cfd2dffd7d75cfb0a6d"
105
105
  }
@@ -1,4 +1,4 @@
1
- import { PropsWithChildren, ReactNode } from 'react'
1
+ import type { PropsWithChildren, ReactNode } from 'react'
2
2
  import { useAuth } from 'src/sdk/auth'
3
3
 
4
4
  export type ProfileChallengeProps = {
@@ -7,7 +7,7 @@ import type {
7
7
 
8
8
  import type { CurrencyCode, ViewCartEvent } from '@faststore/sdk'
9
9
  import { Icon, useFadeEffect, useUI } from '@faststore/ui'
10
- import { ReactNode, useCallback, useEffect, useMemo } from 'react'
10
+ import { type ReactNode, useCallback, useEffect, useMemo } from 'react'
11
11
  import { useCart } from 'src/sdk/cart'
12
12
  import { useCheckoutButton } from 'src/sdk/cart/useCheckoutButton'
13
13
  import { useSession } from 'src/sdk/session'
@@ -1,6 +1,6 @@
1
1
  import {
2
2
  OrderSummary as UIOrderSummary,
3
- OrderSummaryProps as UIOrderSummaryProps,
3
+ type OrderSummaryProps as UIOrderSummaryProps,
4
4
  } from '@faststore/ui'
5
5
  import type { ReactNode } from 'react'
6
6
 
@@ -1,6 +1,6 @@
1
- import { Locator, Section } from '@vtex/client-cms'
1
+ import type { Locator, Section } from '@vtex/client-cms'
2
2
  import storeConfig from 'discovery.config'
3
- import { PageContentType, getPage } from 'src/server/cms'
3
+ import { type PageContentType, getPage } from 'src/server/cms'
4
4
 
5
5
  export const GLOBAL_SECTIONS_CONTENT_TYPE = 'globalSections'
6
6
 
@@ -1,13 +1,13 @@
1
1
  import {
2
- ComponentType,
3
- PropsWithChildren,
4
- ReactNode,
2
+ type ComponentType,
3
+ type PropsWithChildren,
4
+ type ReactNode,
5
5
  memo,
6
6
  useMemo,
7
7
  } from 'react'
8
8
 
9
9
  import { useUI } from '@faststore/ui'
10
- import { Section } from '@vtex/client-cms'
10
+ import type { Section } from '@vtex/client-cms'
11
11
  import dynamic from 'next/dynamic'
12
12
  import useTTI from 'src/sdk/performance/useTTI'
13
13
  import SectionBoundary from './SectionBoundary'
@@ -7,7 +7,7 @@ interface ErrorBoundaryProps {
7
7
  }
8
8
 
9
9
  interface ErrorBoundaryState {
10
- hasError: Boolean
10
+ hasError: boolean
11
11
  error: Error | null
12
12
  }
13
13
 
@@ -1,5 +1,5 @@
1
1
  import dynamic from 'next/dynamic'
2
- import { ComponentType } from 'react'
2
+ import type { ComponentType } from 'react'
3
3
 
4
4
  import { OverriddenDefaultAlert as Alert } from 'src/components/sections/Alert/OverriddenDefaultAlert'
5
5
  import { OverriddenDefaultNavbar as Navbar } from 'src/components/sections/Navbar/OverriddenDefaultNavbar'
@@ -1,5 +1,5 @@
1
1
  import dynamic from 'next/dynamic'
2
- import { ComponentType } from 'react'
2
+ import type { ComponentType } from 'react'
3
3
 
4
4
  import { OverriddenDefaultHero as Hero } from 'src/components/sections/Hero/OverriddenDefaultHero'
5
5
  import Incentives from 'src/components/sections/Incentives'
@@ -1,5 +1,5 @@
1
1
  import dynamic from 'next/dynamic'
2
- import { ComponentType } from 'react'
2
+ import type { ComponentType } from 'react'
3
3
 
4
4
  import { OverriddenDefaultBreadcrumb as Breadcrumb } from 'src/components/sections/Breadcrumb/OverriddenDefaultBreadcrumb'
5
5
  import { OverriddenDefaultHero as Hero } from 'src/components/sections/Hero/OverriddenDefaultHero'
@@ -1,5 +1,5 @@
1
1
  import dynamic from 'next/dynamic'
2
- import { ComponentType } from 'react'
2
+ import type { ComponentType } from 'react'
3
3
 
4
4
  import { OverriddenDefaultBreadcrumb as Breadcrumb } from 'src/components/sections/Breadcrumb/OverriddenDefaultBreadcrumb'
5
5
  import { OverriddenDefaultHero as Hero } from 'src/components/sections/Hero/OverriddenDefaultHero'
@@ -1,7 +1,7 @@
1
1
  import type { PropsWithChildren, ReactNode } from 'react'
2
2
  import { useCallback, useState } from 'react'
3
3
 
4
- import { AlertProps as UIAlertProps } from '@faststore/ui'
4
+ import type { AlertProps as UIAlertProps } from '@faststore/ui'
5
5
 
6
6
  import Section from 'src/components/sections/Section/Section'
7
7
  import styles from './section.module.scss'
@@ -1,4 +1,4 @@
1
- import { ReactNode } from 'react'
1
+ import type { ReactNode } from 'react'
2
2
 
3
3
  interface FooterProps {
4
4
  children: ReactNode
@@ -1,4 +1,4 @@
1
- import { PropsWithChildren } from 'react'
1
+ import type { PropsWithChildren } from 'react'
2
2
  import { Button } from '@faststore/ui'
3
3
 
4
4
  // TODO: Remove this component when <OutOfStock /> is ready to use
@@ -7,7 +7,7 @@ import { memo, useMemo } from 'react'
7
7
 
8
8
  import { gql } from '@generated'
9
9
  import type { ProductSummary_ProductFragment } from '@generated/graphql'
10
- import { ImageProps } from 'next/image'
10
+ import type { ImageProps } from 'next/image'
11
11
  import NextLink from 'next/link'
12
12
  import { Image } from 'src/components/ui/Image'
13
13
  import { useFormattedPrice } from 'src/sdk/product/useFormattedPrice'
@@ -4,7 +4,7 @@ import {
4
4
  } from '@faststore/ui'
5
5
  import type { ClientManyProductsQueryQuery } from '@generated/graphql'
6
6
  import ProductGridSkeleton from 'src/components/skeletons/ProductGridSkeleton'
7
- import { ProductCardProps } from '../ProductCard'
7
+ import type { ProductCardProps } from '../ProductCard'
8
8
 
9
9
  import { memo } from 'react'
10
10
  import ViewportObserver from 'src/components/cms/ViewportObserver'
@@ -1,6 +1,6 @@
1
1
  import {
2
2
  Icon,
3
- RegionModalProps as UIRegionModalProps,
3
+ type RegionModalProps as UIRegionModalProps,
4
4
  useUI,
5
5
  } from '@faststore/ui'
6
6
  import { useRef, useState } from 'react'
@@ -10,7 +10,7 @@ import {
10
10
  import { gql } from '@generated/gql'
11
11
  import type { Filter_FacetsFragment } from '@generated/graphql'
12
12
  import { useFormattedPrice } from 'src/sdk/product/useFormattedPrice'
13
- import { useFilter } from 'src/sdk/search/useFilter'
13
+ import type { useFilter } from 'src/sdk/search/useFilter'
14
14
 
15
15
  interface Props {
16
16
  /**
@@ -9,8 +9,8 @@ import {
9
9
  import { SearchHistory } from '../SearchHistory'
10
10
  import { SearchTop } from '../SearchTop'
11
11
 
12
- import { SearchState } from '@faststore/sdk'
13
- import { ProductSummary_ProductFragment } from '@generated/graphql'
12
+ import type { SearchState } from '@faststore/sdk'
13
+ import type { ProductSummary_ProductFragment } from '@generated/graphql'
14
14
  import SearchProductItem from 'src/components/search/SearchProductItem'
15
15
  import { formatSearchPath } from 'src/sdk/search/formatSearchPath'
16
16
  import type {
@@ -25,7 +25,7 @@ import type {
25
25
  SearchInputFieldRef as UISearchInputFieldRef,
26
26
  } from '@faststore/ui'
27
27
 
28
- import { SearchProviderContextValue } from '@faststore/ui'
28
+ import type { SearchProviderContextValue } from '@faststore/ui'
29
29
 
30
30
  import useSearchHistory from 'src/sdk/search/useSearchHistory'
31
31
  import useSuggestions from 'src/sdk/search/useSuggestions'
@@ -5,7 +5,7 @@ import {
5
5
  } from '@faststore/ui'
6
6
  import type { HTMLAttributes } from 'react'
7
7
 
8
- import { SearchState } from '@faststore/sdk'
8
+ import type { SearchState } from '@faststore/sdk'
9
9
  import type { StoreSuggestionTerm } from '@generated/graphql'
10
10
  import { formatSearchPath } from 'src/sdk/search/formatSearchPath'
11
11
  import useTopSearch from 'src/sdk/search/useTopSearch'
@@ -1,4 +1,4 @@
1
- import {
1
+ import type {
2
2
  BannerTextProps as UIBannerTextProps,
3
3
  BannerTextContentProps as UIBannerTextContentProps,
4
4
  } from '@faststore/ui'
@@ -4,8 +4,8 @@ import Section from '../Section'
4
4
 
5
5
  import styles from './section.module.scss'
6
6
  import {
7
- PDPContext,
8
- PLPContext,
7
+ type PDPContext,
8
+ type PLPContext,
9
9
  isPDP,
10
10
  isPLP,
11
11
  usePage,
@@ -31,8 +31,8 @@ function BreadcrumbSection({ ...otherProps }: BreadcrumbSectionProps) {
31
31
  const breadcrumbList = isPDP(context)
32
32
  ? context?.data?.product?.breadcrumbList?.itemListElement
33
33
  : isPLP(context)
34
- ? context?.data?.collection?.breadcrumbList?.itemListElement
35
- : fallback
34
+ ? context?.data?.collection?.breadcrumbList?.itemListElement
35
+ : fallback
36
36
 
37
37
  return (
38
38
  <Section className={`${styles.section} section-breadcrumb`}>
@@ -1,8 +1,8 @@
1
- import {
1
+ import type {
2
2
  HeroProps as UIHeroProps,
3
3
  HeroHeaderProps as UIHeroHeaderProps,
4
4
  } from '@faststore/ui'
5
- import { ReactNode } from 'react'
5
+ import type { ReactNode } from 'react'
6
6
  import { Image } from '../../../components/ui/Image'
7
7
 
8
8
  import { useOverrideComponents } from '../../../sdk/overrides/OverrideContext'
@@ -1,4 +1,4 @@
1
- import {
1
+ import type {
2
2
  NewsletterProps as UINewsletterProps,
3
3
  NewsletterAddendumProps as UINewsletterAddendumProps,
4
4
  NewsletterHeaderProps as UINewsletterHeaderProps,
@@ -1,13 +1,13 @@
1
1
  import ProductGallery, {
2
- ProductGalleryProps,
2
+ type ProductGalleryProps,
3
3
  } from '../../ui/ProductGallery/ProductGallery'
4
4
  import Section from '../Section'
5
5
  import type { EmptyGalleryProps } from './EmptyGallery'
6
6
 
7
7
  import styles from './section.module.scss'
8
8
  import {
9
- PLPContext,
10
- SearchPageContext,
9
+ type PLPContext,
10
+ type SearchPageContext,
11
11
  isPLP,
12
12
  isSearchPage,
13
13
  usePage,
@@ -39,8 +39,8 @@ function ProductGallerySection({
39
39
  const [title, searchTerm] = isSearchPage(context)
40
40
  ? [context?.data?.title, context?.data?.searchTerm]
41
41
  : isPLP(context)
42
- ? [context?.data?.collection?.seo?.title]
43
- : ['']
42
+ ? [context?.data?.collection?.seo?.title]
43
+ : ['']
44
44
 
45
45
  const totalCount = context?.data?.search?.products?.pageInfo?.totalCount ?? 0
46
46
 
@@ -2,7 +2,7 @@ import { useInView } from 'react-intersection-observer'
2
2
  import Section from '../Section'
3
3
 
4
4
  import ProductShelf, {
5
- ProductShelfProps,
5
+ type ProductShelfProps,
6
6
  } from '../../../components/ui/ProductShelf'
7
7
  import styles from './section.module.scss'
8
8
  import { ProductShelfDefaultComponents } from './DefaultComponents'
@@ -1,5 +1,7 @@
1
1
  import { getOverridableSection } from '../../..//sdk/overrides/getOverriddenSection'
2
- import RegionBar, { RegionBarProps } from '../../region/RegionBar/RegionBar'
2
+ import RegionBar, {
3
+ type RegionBarProps,
4
+ } from '../../region/RegionBar/RegionBar'
3
5
  import Section from '../Section/Section'
4
6
  import { RegionBarDefaultComponents } from './DefaultComponents'
5
7
  import styles from './section.module.scss'
@@ -9,9 +9,9 @@ import COMPONENTS from 'src/components/cms/plp/Components'
9
9
  import RenderSections, {
10
10
  LazyLoadingSection,
11
11
  } from 'src/components/cms/RenderSections'
12
- import { PLPContentType } from 'src/server/cms/plp'
12
+ import type { PLPContentType } from 'src/server/cms/plp'
13
13
 
14
- import PageProvider, { PLPContext } from 'src/sdk/overrides/PageProvider'
14
+ import PageProvider, { type PLPContext } from 'src/sdk/overrides/PageProvider'
15
15
  import {
16
16
  useCreateUseGalleryPage,
17
17
  UseGalleryPageContext,
@@ -1,13 +1,15 @@
1
1
  import type { ClientProductGalleryQueryQuery as ClientProductGalleryQuery } from '@generated/graphql'
2
2
  import RenderSections from 'src/components/cms/RenderSections'
3
3
  import COMPONENTS from 'src/components/cms/search/Components'
4
- import { SearchPageContextType } from 'src/pages/s'
5
- import PageProvider, { SearchPageContext } from 'src/sdk/overrides/PageProvider'
4
+ import type { SearchPageContextType } from 'src/pages/s'
5
+ import PageProvider, {
6
+ type SearchPageContext,
7
+ } from 'src/sdk/overrides/PageProvider'
6
8
  import {
7
9
  useCreateUseGalleryPage,
8
10
  UseGalleryPageContext,
9
11
  } from 'src/sdk/product/usePageProductsQuery'
10
- import { SearchContentType } from 'src/server/cms'
12
+ import type { SearchContentType } from 'src/server/cms'
11
13
 
12
14
  export type SearchPageProps = {
13
15
  data: SearchPageContextType & ClientProductGalleryQuery
@@ -1,6 +1,6 @@
1
1
  import { memo } from 'react'
2
2
 
3
- import NextImage, { ImageProps as NextImageProps } from 'next/image'
3
+ import NextImage, { type ImageProps as NextImageProps } from 'next/image'
4
4
  import loader from './loader'
5
5
 
6
6
  export type ImageProps = NextImageProps
@@ -1,5 +1,5 @@
1
1
  import storeConfig from 'discovery.config'
2
- import { ImageLoaderProps } from 'next/image'
2
+ import type { ImageLoaderProps } from 'next/image'
3
3
  const THUMBOR_SERVER = `https://${storeConfig.api.storeId}.vtexassets.com`
4
4
 
5
5
  export default function customImageLoader({
@@ -10,7 +10,7 @@ export type LinkProps<T extends LinkElementType = 'a'> = UILinkProps<T> &
10
10
  AnchorHTMLAttributes<HTMLAnchorElement>
11
11
 
12
12
  const Link = forwardRef<HTMLAnchorElement, LinkProps>(function Link<
13
- T extends LinkElementType = 'a'
13
+ T extends LinkElementType = 'a',
14
14
  >(
15
15
  { href, inverse, children, variant = 'default', ...otherProps }: LinkProps<T>,
16
16
  ref: Ref<HTMLAnchorElement>
@@ -9,13 +9,13 @@ import ProductGridSkeleton from 'src/components/skeletons/ProductGridSkeleton'
9
9
 
10
10
  import dynamic from 'next/dynamic'
11
11
 
12
- import { ProductCardProps } from 'src/components/product/ProductCard'
13
- import { FilterSliderProps } from 'src/components/search/Filter/FilterSlider'
14
- import { SortProps } from 'src/components/search/Sort/Sort'
12
+ import type { ProductCardProps } from 'src/components/product/ProductCard'
13
+ import type { FilterSliderProps } from 'src/components/search/Filter/FilterSlider'
14
+ import type { SortProps } from 'src/components/search/Sort/Sort'
15
15
  import { useOverrideComponents } from 'src/sdk/overrides/OverrideContext'
16
16
  import {
17
- PLPContext,
18
- SearchPageContext,
17
+ type PLPContext,
18
+ type SearchPageContext,
19
19
  usePage,
20
20
  } from 'src/sdk/overrides/PageProvider'
21
21
  import { useProductsPrefetch } from 'src/sdk/product/useProductsPrefetch'
@@ -2,7 +2,7 @@ import ProductGrid from 'src/components/product/ProductGrid'
2
2
  import Sentinel from 'src/sdk/search/Sentinel'
3
3
 
4
4
  import { memo } from 'react'
5
- import { ProductCardProps } from 'src/components/product/ProductCard'
5
+ import type { ProductCardProps } from 'src/components/product/ProductCard'
6
6
  import { useGalleryPage } from 'src/sdk/product/usePageProductsQuery'
7
7
 
8
8
  interface Props {
@@ -1,4 +1,4 @@
1
- import { ShippingSimulationProps as UIShippingSimulationProps } from '@faststore/ui'
1
+ import type { ShippingSimulationProps as UIShippingSimulationProps } from '@faststore/ui'
2
2
 
3
3
  import { useShippingSimulation } from 'src/sdk/shipping/useShippingSimulation'
4
4
 
@@ -1,6 +1,6 @@
1
- import { HTMLAttributes } from 'react'
1
+ import type { HTMLAttributes } from 'react'
2
2
 
3
- import { SkuSelectorProps } from '@faststore/ui'
3
+ import type { SkuSelectorProps } from '@faststore/ui'
4
4
  import NextLink from 'next/link'
5
5
  import { Image } from '../Image'
6
6
 
@@ -1,6 +1,6 @@
1
1
  // This is an example of how it can be used on the starter.
2
2
 
3
- import { SectionOverride } from 'src/typings/overrides'
3
+ import type { SectionOverride } from 'src/typings/overrides'
4
4
 
5
5
  const SECTION = 'Alert' as const
6
6
 
@@ -1,6 +1,6 @@
1
1
  // This is an example of how it can be used on the starter.
2
2
 
3
- import { SectionOverride } from 'src/typings/overrides'
3
+ import type { SectionOverride } from 'src/typings/overrides'
4
4
 
5
5
  const SECTION = 'BannerText' as const
6
6
 
@@ -1,6 +1,6 @@
1
1
  // This is an example of how it can be used on the starter.
2
2
 
3
- import { SectionOverride } from 'src/typings/overrides'
3
+ import type { SectionOverride } from 'src/typings/overrides'
4
4
 
5
5
  const SECTION = 'Breadcrumb' as const
6
6
 
@@ -1,6 +1,6 @@
1
1
  // This is an example of how it can be used on the starter.
2
2
 
3
- import { SectionOverride } from 'src/typings/overrides'
3
+ import type { SectionOverride } from 'src/typings/overrides'
4
4
 
5
5
  const SECTION = 'CrossSellingShelf' as const
6
6
 
@@ -1,5 +1,5 @@
1
1
  // This is an example of how it can be used on the starter.
2
- import { SectionOverride } from 'src/typings/overrides'
2
+ import type { SectionOverride } from 'src/typings/overrides'
3
3
 
4
4
  const SECTION = 'EmptyState' as const
5
5
 
@@ -1,6 +1,6 @@
1
1
  // This is an example of how it can be used on the starter.
2
2
 
3
- import { SectionOverride } from 'src/typings/overrides'
3
+ import type { SectionOverride } from 'src/typings/overrides'
4
4
 
5
5
  const SECTION = 'Hero' as const
6
6
 
@@ -1,6 +1,6 @@
1
1
  // This is an example of how it can be used on the starter.
2
2
 
3
- import { SectionOverride } from 'src/typings/overrides'
3
+ import type { SectionOverride } from 'src/typings/overrides'
4
4
 
5
5
  const SECTION = 'Navbar' as const
6
6
 
@@ -1,6 +1,6 @@
1
1
  // This is an example of how it can be used on the starter.
2
2
 
3
- import { SectionOverride } from 'src/typings/overrides'
3
+ import type { SectionOverride } from 'src/typings/overrides'
4
4
 
5
5
  const SECTION = 'Newsletter' as const
6
6
 
@@ -1,6 +1,6 @@
1
1
  // This is an example of how it can be used on the starter.
2
2
 
3
- import { SectionOverride } from 'src/typings/overrides'
3
+ import type { SectionOverride } from 'src/typings/overrides'
4
4
 
5
5
  const SECTION = 'ProductDetails' as const
6
6
 
@@ -1,6 +1,6 @@
1
1
  // This is an example of how it can be used on the starter.
2
2
 
3
- import { SectionOverride } from 'src/typings/overrides'
3
+ import type { SectionOverride } from 'src/typings/overrides'
4
4
 
5
5
  const SECTION = 'ProductGallery' as const
6
6
 
@@ -1,6 +1,6 @@
1
1
  // This is an example of how it can be used on the starter.
2
2
 
3
- import { SectionOverride } from 'src/typings/overrides'
3
+ import type { SectionOverride } from 'src/typings/overrides'
4
4
 
5
5
  const SECTION = 'ProductShelf' as const
6
6
 
@@ -1,6 +1,6 @@
1
1
  // This is an example of how it can be used on the starter.
2
2
 
3
- import { SectionOverride } from 'src/typings/overrides'
3
+ import type { SectionOverride } from 'src/typings/overrides'
4
4
 
5
5
  const SECTION = 'RegionBar' as const
6
6