@faststore/core 2.0.120-alpha.0 → 2.0.122-alpha.0

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 (251) hide show
  1. package/.next/BUILD_ID +1 -0
  2. package/.next/build-manifest.json +120 -0
  3. package/.next/cache/.tsbuildinfo +1 -0
  4. package/.next/cache/config.json +7 -0
  5. package/.next/cache/eslint/.cache_1gneedd +1 -0
  6. package/.next/cache/next-server.js.nft.json +1 -0
  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/export-marker.json +1 -0
  12. package/.next/images-manifest.json +1 -0
  13. package/.next/next-server.js.nft.json +1 -0
  14. package/.next/package.json +1 -0
  15. package/.next/prerender-manifest.json +1 -0
  16. package/.next/react-loadable-manifest.json +52 -0
  17. package/.next/required-server-files.json +1 -0
  18. package/.next/routes-manifest.json +1 -0
  19. package/.next/server/chunks/104.js +255 -0
  20. package/.next/server/chunks/120.js +435 -0
  21. package/.next/server/chunks/123.js +58 -0
  22. package/.next/server/chunks/143.js +106 -0
  23. package/.next/server/chunks/154.js +206 -0
  24. package/.next/server/chunks/183.js +80 -0
  25. package/.next/server/chunks/247.js +61 -0
  26. package/.next/server/chunks/254.js +159 -0
  27. package/.next/server/chunks/256.js +1787 -0
  28. package/.next/server/chunks/280.js +322 -0
  29. package/.next/server/chunks/287.js +58 -0
  30. package/.next/server/chunks/312.js +674 -0
  31. package/.next/server/chunks/336.js +820 -0
  32. package/.next/server/chunks/350.js +142 -0
  33. package/.next/server/chunks/398.js +132 -0
  34. package/.next/server/chunks/401.js +7241 -0
  35. package/.next/server/chunks/431.js +7241 -0
  36. package/.next/server/chunks/502.js +603 -0
  37. package/.next/server/chunks/554.js +264 -0
  38. package/.next/server/chunks/557.js +135 -0
  39. package/.next/server/chunks/576.js +80 -0
  40. package/.next/server/chunks/597.js +169 -0
  41. package/.next/server/chunks/608.js +515 -0
  42. package/.next/server/chunks/664.js +3401 -0
  43. package/.next/server/chunks/676.js +32 -0
  44. package/.next/server/chunks/74.js +2606 -0
  45. package/.next/server/chunks/746.js +249 -0
  46. package/.next/server/chunks/82.js +371 -0
  47. package/.next/server/chunks/854.js +72 -0
  48. package/.next/server/chunks/859.js +959 -0
  49. package/.next/server/chunks/872.js +358 -0
  50. package/.next/server/chunks/886.js +120 -0
  51. package/.next/server/chunks/98.js +124 -0
  52. package/.next/server/chunks/font-manifest.json +1 -0
  53. package/.next/server/font-manifest.json +1 -0
  54. package/.next/server/middleware-build-manifest.js +1 -0
  55. package/.next/server/middleware-manifest.json +6 -0
  56. package/.next/server/middleware-react-loadable-manifest.js +1 -0
  57. package/.next/server/pages/404.js +414 -0
  58. package/.next/server/pages/404.js.nft.json +1 -0
  59. package/.next/server/pages/500.js +384 -0
  60. package/.next/server/pages/500.js.nft.json +1 -0
  61. package/.next/server/pages/[...slug].js +700 -0
  62. package/.next/server/pages/[...slug].js.nft.json +1 -0
  63. package/.next/server/pages/[slug]/p.js +2338 -0
  64. package/.next/server/pages/[slug]/p.js.nft.json +1 -0
  65. package/.next/server/pages/_app.js +368 -0
  66. package/.next/server/pages/_app.js.nft.json +1 -0
  67. package/.next/server/pages/_document.js +304 -0
  68. package/.next/server/pages/_document.js.nft.json +1 -0
  69. package/.next/server/pages/_error.js +164 -0
  70. package/.next/server/pages/_error.js.nft.json +1 -0
  71. package/.next/server/pages/account.js +370 -0
  72. package/.next/server/pages/account.js.nft.json +1 -0
  73. package/.next/server/pages/api/graphql.js +315 -0
  74. package/.next/server/pages/api/graphql.js.nft.json +1 -0
  75. package/.next/server/pages/api/preview.js +118 -0
  76. package/.next/server/pages/api/preview.js.nft.json +1 -0
  77. package/.next/server/pages/checkout.js +370 -0
  78. package/.next/server/pages/checkout.js.nft.json +1 -0
  79. package/.next/server/pages/en-US/404.html +81 -0
  80. package/.next/server/pages/en-US/404.json +1 -0
  81. package/.next/server/pages/en-US/500.html +81 -0
  82. package/.next/server/pages/en-US/500.json +1 -0
  83. package/.next/server/pages/en-US/account.html +81 -0
  84. package/.next/server/pages/en-US/account.json +1 -0
  85. package/.next/server/pages/en-US/checkout.html +81 -0
  86. package/.next/server/pages/en-US/checkout.json +1 -0
  87. package/.next/server/pages/en-US/login.html +81 -0
  88. package/.next/server/pages/en-US/login.json +1 -0
  89. package/.next/server/pages/en-US/s.html +81 -0
  90. package/.next/server/pages/en-US/s.json +1 -0
  91. package/.next/server/pages/en-US.html +81 -0
  92. package/.next/server/pages/en-US.json +1 -0
  93. package/.next/server/pages/index.js +580 -0
  94. package/.next/server/pages/index.js.nft.json +1 -0
  95. package/.next/server/pages/login.js +396 -0
  96. package/.next/server/pages/login.js.nft.json +1 -0
  97. package/.next/server/pages/s.js +438 -0
  98. package/.next/server/pages/s.js.nft.json +1 -0
  99. package/.next/server/pages-manifest.json +16 -0
  100. package/.next/server/webpack-api-runtime.js +229 -0
  101. package/.next/server/webpack-runtime.js +229 -0
  102. package/.next/static/chunks/143.dd8a556e6957baa1.js +1 -0
  103. package/.next/static/chunks/170.b45293edb4f089c8.js +1 -0
  104. package/.next/static/chunks/226.b57e10ad9932f88c.js +1 -0
  105. package/.next/static/chunks/336.84e96cd7aa2412bc.js +1 -0
  106. package/.next/static/chunks/419-274b5b8beee8c7b2.js +1 -0
  107. package/.next/static/chunks/495.e6b60941cc3e82e4.js +1 -0
  108. package/.next/static/chunks/54.1d3e6cb43b5b1626.js +1 -0
  109. package/.next/static/chunks/597.d0da2018cc312352.js +1 -0
  110. package/.next/static/chunks/608.59e69b83f35d9c44.js +1 -0
  111. package/.next/static/chunks/651.7142f31ce1e052b3.js +1 -0
  112. package/.next/static/chunks/706-abfba2e18f084aed.js +1 -0
  113. package/.next/static/chunks/741.52f7fb873418346f.js +1 -0
  114. package/.next/static/chunks/832-99f4667bdaf092f8.js +1 -0
  115. package/.next/static/chunks/861-d1a326525092ab9c.js +1 -0
  116. package/.next/static/chunks/98.97381d2021f86cd9.js +1 -0
  117. package/.next/static/chunks/framework-dfd14d7ce6600b03.js +1 -0
  118. package/.next/static/chunks/main-9746772201fe3ac1.js +1 -0
  119. package/.next/static/chunks/pages/404-ac22e12eb22b9c50.js +1 -0
  120. package/.next/static/chunks/pages/500-7b708e8b89389d0e.js +1 -0
  121. package/.next/static/chunks/pages/[...slug]-3aaeeabdb9564d0f.js +1 -0
  122. package/.next/static/chunks/pages/[slug]/p-b269ba68926617dd.js +1 -0
  123. package/.next/static/chunks/pages/_app-b601536188b9a919.js +1 -0
  124. package/.next/static/chunks/pages/_error-a7a0c1d9bfbb4f38.js +1 -0
  125. package/.next/static/chunks/pages/account-04a0a6c07709c50e.js +1 -0
  126. package/.next/static/chunks/pages/checkout-2ed6b828bb6ed7e6.js +1 -0
  127. package/.next/static/chunks/pages/index-c2b6dfd205dc6cc2.js +1 -0
  128. package/.next/static/chunks/pages/login-3bb40d77e6ee120a.js +1 -0
  129. package/.next/static/chunks/pages/s-8fec20c40a2bd7da.js +1 -0
  130. package/.next/static/chunks/polyfills-c67a75d1b6f99dc8.js +1 -0
  131. package/.next/static/chunks/webpack-426a37879992164d.js +1 -0
  132. package/.next/static/css/025f924b9633ecd3.css +1 -0
  133. package/.next/static/css/2253644409b99b98.css +1 -0
  134. package/.next/static/css/364c439adafef5c8.css +1 -0
  135. package/.next/static/css/4b7b7b64ae6afe67.css +1 -0
  136. package/.next/static/css/4e0fc649e912b30f.css +1 -0
  137. package/.next/static/css/501cb58eaa378545.css +1 -0
  138. package/.next/static/css/587c27bbda64e700.css +1 -0
  139. package/.next/static/css/5f1b35b69b2ba1f7.css +1 -0
  140. package/.next/static/css/7a8417de90d11c60.css +1 -0
  141. package/.next/static/css/7df2581c69fe96b4.css +1 -0
  142. package/.next/static/media/brandless-neutral.76ddf63a.png +0 -0
  143. package/.next/static/z81uKE37lBbYBn8W-39Mb/_buildManifest.js +1 -0
  144. package/.next/static/z81uKE37lBbYBn8W-39Mb/_ssgManifest.js +1 -0
  145. package/.next/trace +65 -0
  146. package/.turbo/turbo-build.log +17 -18
  147. package/@generated/graphql/index.ts +22 -2
  148. package/@generated/graphql/persisted.json +1 -1
  149. package/CHANGELOG.md +10 -0
  150. package/faststore.config.js +1 -0
  151. package/package.json +5 -5
  152. package/public/~partytown/debug/partytown-atomics.js +556 -0
  153. package/public/~partytown/debug/partytown-media.js +374 -0
  154. package/public/~partytown/debug/partytown-sandbox-sw.js +543 -0
  155. package/public/~partytown/debug/partytown-sw.js +59 -0
  156. package/public/~partytown/debug/partytown-ww-atomics.js +1789 -0
  157. package/public/~partytown/debug/partytown-ww-sw.js +1781 -0
  158. package/public/~partytown/debug/partytown.js +72 -0
  159. package/public/~partytown/partytown-atomics.js +2 -0
  160. package/public/~partytown/partytown-media.js +2 -0
  161. package/public/~partytown/partytown-sw.js +2 -0
  162. package/public/~partytown/partytown.js +2 -0
  163. package/src/components/cart/CartSidebar/CartSidebar.tsx +6 -2
  164. package/src/components/cart/CartSidebar/section.module.scss +21 -0
  165. package/src/components/cms/GlobalSections.tsx +6 -6
  166. package/src/components/common/Alert/Alert.tsx +8 -3
  167. package/src/components/common/Alert/section.module.scss +9 -0
  168. package/src/components/common/Footer/Footer.tsx +87 -89
  169. package/src/components/common/Footer/FooterLinks.tsx +4 -6
  170. package/src/components/common/Footer/section.module.scss +12 -0
  171. package/src/components/common/RegionBar/RegionBar.tsx +17 -0
  172. package/src/components/common/RegionBar/index.ts +1 -0
  173. package/src/components/common/RegionBar/section.module.scss +8 -0
  174. package/src/components/navigation/Navbar/Navbar.tsx +62 -61
  175. package/src/components/navigation/Navbar/section.module.scss +26 -0
  176. package/src/components/navigation/NavbarLinks/NavbarLinks.tsx +0 -1
  177. package/src/components/navigation/NavbarSlider/NavbarSlider.tsx +11 -7
  178. package/src/components/navigation/NavbarSlider/section.module.scss +26 -0
  179. package/src/components/product/ProductGrid/ProductGrid.tsx +2 -4
  180. package/src/components/region/RegionModal/RegionModal.tsx +6 -1
  181. package/src/components/region/RegionModal/section.module.scss +13 -0
  182. package/src/components/search/Filter/Filter.tsx +6 -3
  183. package/src/components/search/Filter/FilterSlider.tsx +5 -0
  184. package/src/components/search/Filter/section.module.scss +22 -0
  185. package/src/components/sections/BannerNewsletter/BannerNewsletter.tsx +5 -3
  186. package/src/components/sections/BannerNewsletter/section.module.scss +8 -0
  187. package/src/components/sections/BannerText/BannerText.tsx +4 -2
  188. package/src/components/sections/BannerText/section.module.scss +8 -0
  189. package/src/components/sections/Breadcrumb/Breadcrumb.tsx +4 -2
  190. package/src/components/sections/Breadcrumb/section.module.scss +9 -0
  191. package/src/components/sections/Hero/Hero.tsx +5 -9
  192. package/src/components/sections/Hero/section.module.scss +9 -0
  193. package/src/components/sections/{Incentives → IncentivesHeader}/IncentivesHeader.tsx +3 -2
  194. package/src/components/sections/IncentivesHeader/index.ts +1 -0
  195. package/src/components/sections/IncentivesHeader/section.module.scss +8 -0
  196. package/src/components/sections/Newsletter/Newsletter.tsx +68 -69
  197. package/src/components/sections/Newsletter/section.module.scss +11 -0
  198. package/src/components/sections/ProducDetailsContent/ProductDetailsContent.tsx +2 -4
  199. package/src/components/sections/ProductDetails/ProductDetails.tsx +44 -43
  200. package/src/components/sections/ProductDetails/section.module.scss +27 -0
  201. package/src/components/sections/ProductGallery/ProductGallery.tsx +121 -119
  202. package/src/components/sections/ProductGallery/section.module.scss +28 -0
  203. package/src/components/sections/ProductShelf/ProductShelf.tsx +8 -4
  204. package/src/components/sections/ProductShelf/section.module.scss +17 -0
  205. package/src/components/sections/ProductTiles/ProductTiles.tsx +9 -4
  206. package/src/components/sections/ProductTiles/section.module.scss +17 -0
  207. package/src/components/sections/ScrollToTopButton/ScrollToTopButton.tsx +3 -3
  208. package/src/components/sections/ScrollToTopButton/section.module.scss +11 -0
  209. package/src/components/skeletons/FilterSkeleton/FilterSkeleton.tsx +1 -2
  210. package/src/components/skeletons/ProductCardSkeleton/ProductCardSkeleton.tsx +0 -3
  211. package/src/components/skeletons/ProductShelfSkeleton/ProductShelfSkeleton.tsx +2 -2
  212. package/src/components/skeletons/ProductTilesSkeleton/ProductTileSkeleton/ProductTileSkeleton.tsx +0 -3
  213. package/src/components/ui/BannerText/BannerText.tsx +0 -3
  214. package/src/components/ui/Button/ButtonSignIn/ButtonSignIn.tsx +1 -2
  215. package/src/components/{sections → ui}/Incentives/Incentives.tsx +0 -3
  216. package/src/components/ui/Incentives/incentivesMock.ts +27 -0
  217. package/src/components/ui/Logo/Logo.tsx +1 -10
  218. package/src/components/ui/Tiles/Tiles.tsx +1 -6
  219. package/src/pages/[slug]/p.tsx +1 -1
  220. package/src/pages/_app.tsx +2 -2
  221. package/src/pages/index.tsx +2 -2
  222. package/src/sdk/session/index.ts +4 -0
  223. package/src/styles/global/components.scss +8 -0
  224. package/src/styles/themes/midnight.scss +1 -1
  225. package/src/components/common/Footer/Footer.stories.mdx +0 -158
  226. package/src/components/common/Footer/footer.module.scss +0 -220
  227. package/src/components/sections/BannerNewsletter/banner-newsletter.module.scss +0 -23
  228. package/src/components/sections/Incentives/Incentives.stories.mdx +0 -159
  229. package/src/components/sections/Incentives/IncentivesFooter.tsx +0 -8
  230. package/src/components/sections/Incentives/incentives.module.scss +0 -122
  231. package/src/components/sections/Incentives/incentivesMock.ts +0 -55
  232. package/src/components/sections/Newsletter/Newsletter.stories.mdx +0 -139
  233. package/src/components/sections/Newsletter/newsletter.module.scss +0 -135
  234. package/src/components/sections/ProductDetails/product-details.module.scss +0 -185
  235. package/src/components/sections/ProductGallery/product-gallery.module.scss +0 -184
  236. package/src/components/sections/ScrollToTopButton/scroll-to-top-button.module.scss +0 -12
  237. package/src/components/skeletons/FilterSkeleton/FilterSkeleton.stories.mdx +0 -97
  238. package/src/components/skeletons/FilterSkeleton/filter-skeleton.module.scss +0 -51
  239. package/src/components/skeletons/ProductCardSkeleton/ProductCardSkeleton.stories.mdx +0 -113
  240. package/src/components/skeletons/ProductCardSkeleton/product-card-skeleton.module.scss +0 -58
  241. package/src/components/skeletons/ProductTilesSkeleton/ProductTileSkeleton/product-tile-skeleton.module.scss +0 -81
  242. package/src/components/ui/BannerText/BannerText.stories.mdx +0 -270
  243. package/src/components/ui/BannerText/banner-text.module.scss +0 -127
  244. package/src/components/ui/Button/Button.stories.mdx +0 -643
  245. package/src/components/ui/Button/button.module.scss +0 -11
  246. package/src/components/ui/Carousel/Carousel.stories.mdx +0 -201
  247. package/src/components/ui/Carousel/carousel.module.scss +0 -147
  248. package/src/components/ui/Logo/logo.module.scss +0 -12
  249. package/src/components/ui/Tiles/Tiles.stories.mdx +0 -151
  250. package/src/components/ui/Tiles/tiles.module.scss +0 -58
  251. /package/src/components/{sections → ui}/Incentives/index.ts +0 -0
@@ -0,0 +1,17 @@
1
+ import RegionBarComponent from 'src/components/region/RegionBar/RegionBar'
2
+ import Section from 'src/components/sections/Section/Section'
3
+ import styles from './section.module.scss'
4
+
5
+ type RegionBarProps = {
6
+ className?: string
7
+ }
8
+
9
+ function RegionBar({ className = '' }: RegionBarProps) {
10
+ return (
11
+ <Section className={`${styles.section} section-region-bar`}>
12
+ <RegionBarComponent className={className} />
13
+ </Section>
14
+ )
15
+ }
16
+
17
+ export default RegionBar
@@ -0,0 +1 @@
1
+ export { default } from './RegionBar'
@@ -0,0 +1,8 @@
1
+ /* stylelint-disable no-invalid-position-at-import-rule */
2
+ @import "@faststore/ui/src/styles/base/utilities.scss";
3
+
4
+ .section {
5
+ @import "@faststore/ui/src/components/atoms/Icon/styles.scss";
6
+ @import "@faststore/ui/src/components/atoms/Button/styles.scss";
7
+ @import "@faststore/ui/src/components/molecules/RegionBar/styles.scss";
8
+ }
@@ -1,26 +1,28 @@
1
1
  import { Suspense, useRef, useState } from 'react'
2
2
 
3
3
  import {
4
- useUI,
5
- useScrollDirection,
6
4
  Icon as UIIcon,
7
5
  IconButton as UIIconButton,
8
6
  Navbar as UINavbar,
7
+ NavbarButtons as UINavbarButtons,
9
8
  NavbarHeader as UINavbarHeader,
10
9
  NavbarRow as UINavbarRow,
11
- NavbarButtons as UINavbarButtons,
10
+ useScrollDirection,
11
+ useUI,
12
12
  } from '@faststore/ui'
13
13
 
14
14
  import CartToggle from 'src/components/cart/CartToggle'
15
- import SearchInput from 'src/components/search/SearchInput'
16
15
  import type { SearchInputRef } from 'src/components/search/SearchInput'
17
- import Logo from 'src/components/ui/Logo'
18
- import Link from 'src/components/ui/Link'
16
+ import SearchInput from 'src/components/search/SearchInput'
19
17
  import { ButtonSignIn, ButtonSignInFallback } from 'src/components/ui/Button'
18
+ import Link from 'src/components/ui/Link'
19
+ import Logo from 'src/components/ui/Logo'
20
20
  import { mark } from 'src/sdk/tests/mark'
21
21
 
22
- import NavbarSlider from '../NavbarSlider'
23
22
  import NavbarLinks from '../NavbarLinks'
23
+ import NavbarSlider from '../NavbarSlider'
24
+
25
+ import styles from './section.module.scss'
24
26
 
25
27
  function Navbar() {
26
28
  const scrollDirection = useScrollDirection()
@@ -34,67 +36,66 @@ function Navbar() {
34
36
  }
35
37
 
36
38
  return (
37
- <UINavbar
38
- className="layout__content-full"
39
- scrollDirection={scrollDirection}
40
- >
41
- <UINavbarHeader>
42
- <UINavbarRow className="layout__content">
43
- {!searchExpanded && (
44
- <>
45
- <UIIconButton
46
- data-fs-navbar-button-menu
47
- aria-label="Open Menu"
48
- icon={<UIIcon name="List" width={32} height={32} />}
49
- onClick={openNavbar}
50
- />
51
- <Link
52
- href="/"
53
- aria-label="Go to Faststore home"
54
- title="Go to Faststore home"
55
- data-fs-navbar-logo
56
- >
57
- <Logo />
58
- </Link>
59
- </>
60
- )}
39
+ <header className={`section ${styles.section} section-navbar`}>
40
+ <UINavbar scrollDirection={scrollDirection}>
41
+ <UINavbarHeader>
42
+ <UINavbarRow className="layout__content">
43
+ {!searchExpanded && (
44
+ <>
45
+ <UIIconButton
46
+ data-fs-navbar-button-menu
47
+ aria-label="Open Menu"
48
+ icon={<UIIcon name="List" width={32} height={32} />}
49
+ onClick={openNavbar}
50
+ />
51
+ <Link
52
+ href="/"
53
+ aria-label="Go to Faststore home"
54
+ title="Go to Faststore home"
55
+ data-fs-navbar-logo
56
+ >
57
+ <Logo />
58
+ </Link>
59
+ </>
60
+ )}
61
61
 
62
- <SearchInput />
62
+ <SearchInput />
63
63
 
64
- <UINavbarButtons searchExpanded={searchExpanded}>
65
- {searchExpanded && (
66
- <UIIconButton
67
- data-fs-button-collapse
68
- aria-label="Collapse search bar"
69
- icon={<UIIcon name="CaretLeft" width={32} height={32} />}
70
- onClick={() => {
71
- setSearchExpanded(false)
72
- searchMobileRef.current?.resetSearchInput()
73
- }}
74
- />
75
- )}
64
+ <UINavbarButtons searchExpanded={searchExpanded}>
65
+ {searchExpanded && (
66
+ <UIIconButton
67
+ data-fs-button-collapse
68
+ aria-label="Collapse search bar"
69
+ icon={<UIIcon name="CaretLeft" width={32} height={32} />}
70
+ onClick={() => {
71
+ setSearchExpanded(false)
72
+ searchMobileRef.current?.resetSearchInput()
73
+ }}
74
+ />
75
+ )}
76
76
 
77
- <SearchInput
78
- placeholder=""
79
- ref={searchMobileRef}
80
- testId="store-input-mobile"
81
- buttonTestId="store-input-mobile-button"
82
- onSearchClick={handlerExpandSearch}
83
- />
77
+ <SearchInput
78
+ placeholder=""
79
+ ref={searchMobileRef}
80
+ testId="store-input-mobile"
81
+ buttonTestId="store-input-mobile-button"
82
+ onSearchClick={handlerExpandSearch}
83
+ />
84
84
 
85
- <Suspense fallback={<ButtonSignInFallback />}>
86
- <ButtonSignIn />
87
- </Suspense>
85
+ <Suspense fallback={<ButtonSignInFallback />}>
86
+ <ButtonSignIn />
87
+ </Suspense>
88
88
 
89
- <CartToggle />
90
- </UINavbarButtons>
91
- </UINavbarRow>
92
- </UINavbarHeader>
89
+ <CartToggle />
90
+ </UINavbarButtons>
91
+ </UINavbarRow>
92
+ </UINavbarHeader>
93
93
 
94
- <NavbarLinks className="hidden-mobile" />
94
+ <NavbarLinks className="hidden-mobile" />
95
95
 
96
- {displayNavbar && <NavbarSlider />}
97
- </UINavbar>
96
+ {displayNavbar && <NavbarSlider />}
97
+ </UINavbar>
98
+ </header>
98
99
  )
99
100
  }
100
101
 
@@ -0,0 +1,26 @@
1
+ /* stylelint-disable no-invalid-position-at-import-rule */
2
+ @import "@faststore/ui/src/styles/base/utilities.scss";
3
+
4
+ .section {
5
+ @import "@faststore/ui/src/components/atoms/Badge/styles.scss";
6
+ @import "@faststore/ui/src/components/atoms/Button/styles.scss";
7
+ @import "@faststore/ui/src/components/atoms/Icon/styles.scss";
8
+ @import "@faststore/ui/src/components/atoms/Input/styles.scss";
9
+ @import "@faststore/ui/src/components/atoms/Link/styles.scss";
10
+ @import "@faststore/ui/src/components/atoms/List/styles.scss";
11
+ @import "@faststore/ui/src/components/atoms/Logo/styles.scss";
12
+ @import "@faststore/ui/src/components/atoms/Price/styles.scss";
13
+ @import "@faststore/ui/src/components/molecules/LinkButton/styles.scss";
14
+ @import "@faststore/ui/src/components/molecules/Modal/styles.scss";
15
+ @import "@faststore/ui/src/components/molecules/NavbarLinks/styles.scss";
16
+ @import "@faststore/ui/src/components/molecules/SearchAutoComplete/styles.scss";
17
+ @import "@faststore/ui/src/components/molecules/SearchDropdown/styles.scss";
18
+ @import "@faststore/ui/src/components/molecules/SearchHistory/styles.scss";
19
+ @import "@faststore/ui/src/components/molecules/SearchInputField/styles.scss";
20
+ @import "@faststore/ui/src/components/molecules/SearchProducts/styles.scss";
21
+ @import "@faststore/ui/src/components/molecules/SearchTop/styles.scss";
22
+ @import "@faststore/ui/src/components/organisms/SearchInput/styles.scss";
23
+ @import "@faststore/ui/src/components/organisms/Navbar/styles.scss";
24
+ @import "@faststore/ui/src/components/organisms/SlideOver/styles.scss";
25
+ @import "@faststore/ui/src/components/organisms/NavbarSlider/styles.scss";
26
+ }
@@ -2,7 +2,6 @@ import type { AnchorHTMLAttributes } from 'react'
2
2
 
3
3
  import type { NavbarLinksProps as UINavbarLinksProps } from '@faststore/ui'
4
4
  import {
5
- List as UIList,
6
5
  NavbarLinks as UINavbarLinks,
7
6
  NavbarLinksList as UINavbarLinksList,
8
7
  NavbarLinksListItem as UINavbarLinksListItem,
@@ -1,20 +1,21 @@
1
- import { Suspense } from 'react'
2
1
  import {
3
- useUI,
4
- useFadeEffect,
5
2
  NavbarSlider as UINavbarSlider,
6
- NavbarSliderHeader as UINavbarSliderHeader,
7
3
  NavbarSliderContent as UINavbarSliderContent,
8
4
  NavbarSliderFooter as UINavbarSliderFooter,
5
+ NavbarSliderHeader as UINavbarSliderHeader,
6
+ useFadeEffect,
7
+ useUI,
9
8
  } from '@faststore/ui'
9
+ import { Suspense } from 'react'
10
10
 
11
- import { mark } from 'src/sdk/tests/mark'
11
+ import { ButtonSignIn, ButtonSignInFallback } from 'src/components/ui/Button'
12
12
  import Link from 'src/components/ui/Link'
13
13
  import Logo from 'src/components/ui/Logo'
14
- import { ButtonSignIn, ButtonSignInFallback } from 'src/components/ui/Button'
15
-
14
+ import { mark } from 'src/sdk/tests/mark'
16
15
  import NavbarLinks from '../NavbarLinks'
17
16
 
17
+ import styles from './section.module.scss'
18
+
18
19
  function NavbarSlider() {
19
20
  const { closeNavbar } = useUI()
20
21
  const { fade, fadeOut } = useFadeEffect()
@@ -23,6 +24,9 @@ function NavbarSlider() {
23
24
  <UINavbarSlider
24
25
  fade={fade}
25
26
  onDismiss={fadeOut}
27
+ overlayProps={{
28
+ className: `section ${styles.section} section-navbar-slider`,
29
+ }}
26
30
  onTransitionEnd={() => fade === 'out' && closeNavbar()}
27
31
  >
28
32
  <UINavbarSliderHeader onClose={fadeOut}>
@@ -0,0 +1,26 @@
1
+ /* stylelint-disable no-invalid-position-at-import-rule */
2
+ @import "@faststore/ui/src/styles/base/utilities.scss";
3
+
4
+ .section {
5
+ @import "@faststore/ui/src/components/atoms/Badge/styles.scss";
6
+ @import "@faststore/ui/src/components/atoms/Button/styles.scss";
7
+ @import "@faststore/ui/src/components/atoms/Icon/styles.scss";
8
+ @import "@faststore/ui/src/components/atoms/Input/styles.scss";
9
+ @import "@faststore/ui/src/components/atoms/Link/styles.scss";
10
+ @import "@faststore/ui/src/components/atoms/List/styles.scss";
11
+ @import "@faststore/ui/src/components/atoms/Logo/styles.scss";
12
+ @import "@faststore/ui/src/components/atoms/Price/styles.scss";
13
+ @import "@faststore/ui/src/components/molecules/LinkButton/styles.scss";
14
+ @import "@faststore/ui/src/components/molecules/Modal/styles.scss";
15
+ @import "@faststore/ui/src/components/molecules/NavbarLinks/styles.scss";
16
+ @import "@faststore/ui/src/components/molecules/SearchAutoComplete/styles.scss";
17
+ @import "@faststore/ui/src/components/molecules/SearchDropdown/styles.scss";
18
+ @import "@faststore/ui/src/components/molecules/SearchHistory/styles.scss";
19
+ @import "@faststore/ui/src/components/molecules/SearchInputField/styles.scss";
20
+ @import "@faststore/ui/src/components/molecules/SearchProducts/styles.scss";
21
+ @import "@faststore/ui/src/components/molecules/SearchTop/styles.scss";
22
+ @import "@faststore/ui/src/components/organisms/SearchInput/styles.scss";
23
+ @import "@faststore/ui/src/components/organisms/Navbar/styles.scss";
24
+ @import "@faststore/ui/src/components/organisms/SlideOver/styles.scss";
25
+ @import "@faststore/ui/src/components/organisms/NavbarSlider/styles.scss";
26
+ }
@@ -1,9 +1,9 @@
1
- import ProductGridSkeleton from 'src/components/skeletons/ProductGridSkeleton'
2
- import type { ProductSummary_ProductFragment } from '@generated/graphql'
3
1
  import {
4
2
  ProductGrid as UIProductGrid,
5
3
  ProductGridItem as UIProductGridItem,
6
4
  } from '@faststore/ui'
5
+ import type { ProductSummary_ProductFragment } from '@generated/graphql'
6
+ import ProductGridSkeleton from 'src/components/skeletons/ProductGridSkeleton'
7
7
 
8
8
  import ProductCard from '../ProductCard'
9
9
 
@@ -22,8 +22,6 @@ interface Props {
22
22
  function ProductGrid({ products, page, pageSize }: Props) {
23
23
  const aspectRatio = 1
24
24
 
25
- console.log(products)
26
-
27
25
  return (
28
26
  <ProductGridSkeleton
29
27
  aspectRatio={aspectRatio}
@@ -1,8 +1,10 @@
1
- import { useRef, useState } from 'react'
2
1
  import { RegionModal as UIRegionModal } from '@faststore/ui'
2
+ import { useRef, useState } from 'react'
3
3
 
4
4
  import { sessionStore, useSession, validateSession } from 'src/sdk/session'
5
5
 
6
+ import styles from './section.module.scss'
7
+
6
8
  function RegionModal() {
7
9
  const inputRef = useRef<HTMLInputElement>(null)
8
10
  const { isValidating, ...session } = useSession()
@@ -34,6 +36,9 @@ function RegionModal() {
34
36
 
35
37
  return (
36
38
  <UIRegionModal
39
+ overlayProps={{
40
+ className: `section ${styles.section} section-region-modal`,
41
+ }}
37
42
  inputRef={inputRef}
38
43
  inputValue={input}
39
44
  errorMessage={errorMessage}
@@ -0,0 +1,13 @@
1
+ /* stylelint-disable no-invalid-position-at-import-rule */
2
+ @import "@faststore/ui/src/styles/base/utilities.scss";
3
+
4
+ .section {
5
+ @import "@faststore/ui/src/components/atoms/Icon/styles.scss";
6
+ @import "@faststore/ui/src/components/atoms/Input/styles.scss";
7
+ @import "@faststore/ui/src/components/atoms/Overlay/styles.scss";
8
+ @import "@faststore/ui/src/components/atoms/Button/styles.scss";
9
+ @import "@faststore/ui/src/components/atoms/Link/styles.scss";
10
+ @import "@faststore/ui/src/components/molecules/InputField/styles.scss";
11
+ @import "@faststore/ui/src/components/molecules/Modal/styles.scss";
12
+ @import "@faststore/ui/src/components/organisms/RegionModal/styles.scss";
13
+ }
@@ -1,11 +1,12 @@
1
1
  import { gql } from '@faststore/graphql-utils'
2
-
3
2
  import { useUI } from '@faststore/ui'
4
3
  import type { Filter_FacetsFragment } from '@generated/graphql'
4
+ import { lazy, Suspense } from 'react'
5
5
  import FilterDesktop from './FilterDesktop'
6
- import FilterSlider from './FilterSlider'
7
6
  import { useFilter } from './useFilter'
8
7
 
8
+ const FilterSlider = lazy(() => import('./FilterSlider'))
9
+
9
10
  interface Props {
10
11
  /**
11
12
  * The array that represents the details of every facet.
@@ -29,7 +30,9 @@ function Filter({ facets: allFacets, testId = 'fs-filter' }: Props) {
29
30
  </div>
30
31
 
31
32
  {displayFilter && (
32
- <FilterSlider {...filter} testId={testId} title="Filters" />
33
+ <Suspense fallback={null}>
34
+ <FilterSlider {...filter} testId={testId} title="Filters" />
35
+ </Suspense>
33
36
  )}
34
37
  </>
35
38
  )
@@ -13,6 +13,8 @@ import type { Filter_FacetsFragment } from '@generated/graphql'
13
13
 
14
14
  import type { useFilter } from './useFilter'
15
15
 
16
+ import styles from './section.module.scss'
17
+
16
18
  interface Props {
17
19
  /**
18
20
  * ID to find this component in testing tools (e.g.: cypress,
@@ -41,6 +43,9 @@ function FilterSlider({
41
43
 
42
44
  return (
43
45
  <UIFilterSlider
46
+ overlayProps={{
47
+ className: `section ${styles.section} section-filter-slider`,
48
+ }}
44
49
  title={title}
45
50
  size="partial"
46
51
  direction="rightSide"
@@ -0,0 +1,22 @@
1
+ /* stylelint-disable no-invalid-position-at-import-rule */
2
+ @import "@faststore/ui/src/styles/base/utilities.scss";
3
+
4
+ .section {
5
+ @import "@faststore/ui/src/components/atoms/Button/styles.scss";
6
+ @import "@faststore/ui/src/components/atoms/Badge/styles.scss";
7
+ @import "@faststore/ui/src/components/atoms/Checkbox/styles.scss";
8
+ @import "@faststore/ui/src/components/atoms/Icon/styles.scss";
9
+ @import "@faststore/ui/src/components/atoms/Input/styles.scss";
10
+ @import "@faststore/ui/src/components/atoms/Link/styles.scss";
11
+ @import "@faststore/ui/src/components/atoms/List/styles.scss";
12
+ @import "@faststore/ui/src/components/atoms/Slider/styles.scss";
13
+ @import "@faststore/ui/src/components/molecules/DiscountBadge/styles.scss";
14
+ @import "@faststore/ui/src/components/molecules/Accordion/styles.scss";
15
+ @import "@faststore/ui/src/components/molecules/InputField/styles.scss";
16
+ @import "@faststore/ui/src/components/molecules/Modal/styles.scss";
17
+ @import "@faststore/ui/src/components/molecules/SelectField/styles.scss";
18
+ @import "@faststore/ui/src/components/organisms/Filter/styles.scss";
19
+ @import "@faststore/ui/src/components/organisms/FilterSlider/styles.scss";
20
+ @import "@faststore/ui/src/components/organisms/PriceRange/styles.scss";
21
+ @import "@faststore/ui/src/components/organisms/SlideOver/styles.scss";
22
+ }
@@ -1,12 +1,14 @@
1
1
  import BannerText from 'src/components/ui/BannerText'
2
2
  import Newsletter from '../Newsletter'
3
3
  import Section from '../Section'
4
- import styles from './banner-newsletter.module.scss'
4
+ import styles from './section.module.scss'
5
5
 
6
6
  function BannerNewsletter() {
7
7
  return (
8
- <Section className="layout__content">
9
- <div className={styles.fsBannerNewsletter}>
8
+ <Section
9
+ className={`${styles.section} section-banner-newsletter layout__content`}
10
+ >
11
+ <div data-fs-banner-newsletter>
10
12
  <BannerText
11
13
  title="Get to Know Our Next Release"
12
14
  caption="Lorem ipsum dolor sit amet, consectetur adipiscing elit. Etiam elit nisi, vehicula in turpis sit amet, posuere aliquam nisl. "
@@ -0,0 +1,8 @@
1
+ /* stylelint-disable no-invalid-position-at-import-rule */
2
+ @import "@faststore/ui/src/styles/base/utilities.scss";
3
+
4
+ .section {
5
+ @import "@faststore/ui/src/components/atoms/Button/styles.scss";
6
+ @import "@faststore/ui/src/components/molecules/Banner/styles.scss";
7
+ @import "@faststore/ui/src/components/organisms/BannerNewsletter/styles.scss";
8
+ }
@@ -1,7 +1,9 @@
1
- import Section from '../Section'
2
1
  import UIBannerText, {
3
2
  BannerTextProps as UIBannerTextProps,
4
3
  } from 'src/components/ui/BannerText'
4
+ import Section from '../Section'
5
+
6
+ import styles from './section.module.scss'
5
7
 
6
8
  export interface BannerTextProps {
7
9
  title: string
@@ -23,7 +25,7 @@ function BannerText({
23
25
  colorVariant = 'main',
24
26
  }: BannerTextProps) {
25
27
  return (
26
- <Section className="layout__section">
28
+ <Section className={`${styles.section} section-banner layout__section`}>
27
29
  <UIBannerText
28
30
  variant={variant}
29
31
  title={title}
@@ -0,0 +1,8 @@
1
+ /* stylelint-disable no-invalid-position-at-import-rule */
2
+ @import "@faststore/ui/src/styles/base/utilities.scss";
3
+
4
+ .section {
5
+ @import "@faststore/ui/src/components/atoms/Button/styles";
6
+ @import "@faststore/ui/src/components/molecules/LinkButton/styles";
7
+ @import "@faststore/ui/src/components/molecules/Banner/styles";
8
+ }
@@ -1,10 +1,12 @@
1
1
  import { memo } from 'react'
2
2
 
3
- import UIBreadcrumb from 'src/components/ui/Breadcrumb'
4
3
  import type { BreadcrumbProps } from 'src/components/ui/Breadcrumb'
4
+ import UIBreadcrumb from 'src/components/ui/Breadcrumb'
5
5
 
6
6
  import Section from '../Section'
7
7
 
8
+ import styles from './section.module.scss'
9
+
8
10
  interface BreadcrumbWrapperProps
9
11
  extends Partial<Pick<BreadcrumbProps, 'breadcrumbList'>> {
10
12
  name: string
@@ -15,7 +17,7 @@ function Breadcrumb({ breadcrumbList, name }: BreadcrumbWrapperProps) {
15
17
  const list = breadcrumbList ?? fallback
16
18
 
17
19
  return (
18
- <Section className="layout__content">
20
+ <Section className={`${styles.section} section-breadcrumb layout__content`}>
19
21
  <UIBreadcrumb breadcrumbList={list} />
20
22
  </Section>
21
23
  )
@@ -0,0 +1,9 @@
1
+ /* stylelint-disable no-invalid-position-at-import-rule */
2
+ @import "@faststore/ui/src/styles/base/utilities.scss";
3
+
4
+ .section {
5
+ @import "@faststore/ui/src/components/atoms/Icon/styles.scss";
6
+ @import "@faststore/ui/src/components/atoms/Link/styles.scss";
7
+ @import "@faststore/ui/src/components/atoms/List/styles.scss";
8
+ @import "@faststore/ui/src/components/molecules/Breadcrumb/styles.scss";
9
+ }
@@ -1,18 +1,14 @@
1
- import type {
2
- HeroHeaderProps as UIHeroHeaderProps,
3
- HeroImageProps as UIHeroImageProps,
4
- HeroProps as UIHeroProps,
5
- } from '@faststore/ui'
1
+ import type { HeroProps as UIHeroProps } from '@faststore/ui'
6
2
  import {
7
3
  Hero as UIHero,
8
4
  HeroHeader as UIHeroHeader,
9
5
  HeroImage as UIHeroImage,
10
6
  } from '@faststore/ui'
11
-
7
+ import { ReactNode } from 'react'
12
8
  import { Image } from 'src/components/ui/Image'
13
-
14
9
  import Section from '../Section'
15
- import { ReactNode } from 'react'
10
+
11
+ import styles from './section.module.scss'
16
12
 
17
13
  export type HeroProps = {
18
14
  title: string
@@ -40,7 +36,7 @@ const Hero = ({
40
36
  icon,
41
37
  }: HeroProps) => {
42
38
  return (
43
- <Section>
39
+ <Section className={`${styles.section} section-hero`}>
44
40
  <UIHero colorVariant={colorVariant} variant={variant}>
45
41
  <UIHeroImage data-fs-hero-image>
46
42
  <Image
@@ -0,0 +1,9 @@
1
+ /* stylelint-disable no-invalid-position-at-import-rule */
2
+ @import "@faststore/ui/src/styles/base/utilities.scss";
3
+
4
+ .section {
5
+ @import "@faststore/ui/src/components/organisms/Hero/styles.scss";
6
+ @import "@faststore/ui/src/components/molecules/LinkButton/styles.scss";
7
+ @import "@faststore/ui/src/components/atoms/Icon/styles.scss";
8
+ @import "@faststore/ui/src/components/atoms/Button/styles.scss";
9
+ }
@@ -1,5 +1,6 @@
1
- import Incentives from './Incentives'
1
+ import Incentives from 'src/components/ui/Incentives/Incentives'
2
2
  import Section from '../Section'
3
+ import styles from './section.module.scss'
3
4
 
4
5
  interface Incentive {
5
6
  icon: string
@@ -14,7 +15,7 @@ interface Props {
14
15
 
15
16
  function IncentivesHeader({ incentives }: Props) {
16
17
  return (
17
- <Section>
18
+ <Section className={`${styles.section} section-incentives-header`}>
18
19
  <Incentives incentives={incentives} colored />
19
20
  </Section>
20
21
  )
@@ -0,0 +1 @@
1
+ export { default } from './IncentivesHeader'
@@ -0,0 +1,8 @@
1
+ /* stylelint-disable no-invalid-position-at-import-rule */
2
+ @import "@faststore/ui/src/styles/base/utilities.scss";
3
+
4
+ .section {
5
+ @import "@faststore/ui/src/components/atoms/Icon/styles.scss";
6
+ @import "@faststore/ui/src/components/atoms/List/styles.scss";
7
+ @import "@faststore/ui/src/components/organisms/Incentives/styles.scss";
8
+ }