@faststore/core 2.0.121-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 (247) 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 +15 -16
  147. package/CHANGELOG.md +6 -0
  148. package/package.json +4 -4
  149. package/public/~partytown/debug/partytown-atomics.js +556 -0
  150. package/public/~partytown/debug/partytown-media.js +374 -0
  151. package/public/~partytown/debug/partytown-sandbox-sw.js +543 -0
  152. package/public/~partytown/debug/partytown-sw.js +59 -0
  153. package/public/~partytown/debug/partytown-ww-atomics.js +1789 -0
  154. package/public/~partytown/debug/partytown-ww-sw.js +1781 -0
  155. package/public/~partytown/debug/partytown.js +72 -0
  156. package/public/~partytown/partytown-atomics.js +2 -0
  157. package/public/~partytown/partytown-media.js +2 -0
  158. package/public/~partytown/partytown-sw.js +2 -0
  159. package/public/~partytown/partytown.js +2 -0
  160. package/src/components/cart/CartSidebar/CartSidebar.tsx +6 -2
  161. package/src/components/cart/CartSidebar/section.module.scss +21 -0
  162. package/src/components/cms/GlobalSections.tsx +6 -6
  163. package/src/components/common/Alert/Alert.tsx +8 -3
  164. package/src/components/common/Alert/section.module.scss +9 -0
  165. package/src/components/common/Footer/Footer.tsx +87 -89
  166. package/src/components/common/Footer/FooterLinks.tsx +4 -6
  167. package/src/components/common/Footer/section.module.scss +12 -0
  168. package/src/components/common/RegionBar/RegionBar.tsx +17 -0
  169. package/src/components/common/RegionBar/index.ts +1 -0
  170. package/src/components/common/RegionBar/section.module.scss +8 -0
  171. package/src/components/navigation/Navbar/Navbar.tsx +62 -61
  172. package/src/components/navigation/Navbar/section.module.scss +26 -0
  173. package/src/components/navigation/NavbarLinks/NavbarLinks.tsx +0 -1
  174. package/src/components/navigation/NavbarSlider/NavbarSlider.tsx +11 -7
  175. package/src/components/navigation/NavbarSlider/section.module.scss +26 -0
  176. package/src/components/product/ProductGrid/ProductGrid.tsx +2 -4
  177. package/src/components/region/RegionModal/RegionModal.tsx +6 -1
  178. package/src/components/region/RegionModal/section.module.scss +13 -0
  179. package/src/components/search/Filter/Filter.tsx +6 -3
  180. package/src/components/search/Filter/FilterSlider.tsx +5 -0
  181. package/src/components/search/Filter/section.module.scss +22 -0
  182. package/src/components/sections/BannerNewsletter/BannerNewsletter.tsx +5 -3
  183. package/src/components/sections/BannerNewsletter/section.module.scss +8 -0
  184. package/src/components/sections/BannerText/BannerText.tsx +4 -2
  185. package/src/components/sections/BannerText/section.module.scss +8 -0
  186. package/src/components/sections/Breadcrumb/Breadcrumb.tsx +4 -2
  187. package/src/components/sections/Breadcrumb/section.module.scss +9 -0
  188. package/src/components/sections/Hero/Hero.tsx +5 -9
  189. package/src/components/sections/Hero/section.module.scss +9 -0
  190. package/src/components/sections/{Incentives → IncentivesHeader}/IncentivesHeader.tsx +3 -2
  191. package/src/components/sections/IncentivesHeader/index.ts +1 -0
  192. package/src/components/sections/IncentivesHeader/section.module.scss +8 -0
  193. package/src/components/sections/Newsletter/Newsletter.tsx +68 -69
  194. package/src/components/sections/Newsletter/section.module.scss +11 -0
  195. package/src/components/sections/ProducDetailsContent/ProductDetailsContent.tsx +2 -4
  196. package/src/components/sections/ProductDetails/ProductDetails.tsx +44 -43
  197. package/src/components/sections/ProductDetails/section.module.scss +27 -0
  198. package/src/components/sections/ProductGallery/ProductGallery.tsx +121 -119
  199. package/src/components/sections/ProductGallery/section.module.scss +28 -0
  200. package/src/components/sections/ProductShelf/ProductShelf.tsx +8 -4
  201. package/src/components/sections/ProductShelf/section.module.scss +17 -0
  202. package/src/components/sections/ProductTiles/ProductTiles.tsx +9 -4
  203. package/src/components/sections/ProductTiles/section.module.scss +17 -0
  204. package/src/components/sections/ScrollToTopButton/ScrollToTopButton.tsx +3 -3
  205. package/src/components/sections/ScrollToTopButton/section.module.scss +11 -0
  206. package/src/components/skeletons/FilterSkeleton/FilterSkeleton.tsx +1 -2
  207. package/src/components/skeletons/ProductCardSkeleton/ProductCardSkeleton.tsx +0 -3
  208. package/src/components/skeletons/ProductShelfSkeleton/ProductShelfSkeleton.tsx +2 -2
  209. package/src/components/skeletons/ProductTilesSkeleton/ProductTileSkeleton/ProductTileSkeleton.tsx +0 -3
  210. package/src/components/ui/BannerText/BannerText.tsx +0 -3
  211. package/src/components/ui/Button/ButtonSignIn/ButtonSignIn.tsx +1 -2
  212. package/src/components/{sections → ui}/Incentives/Incentives.tsx +0 -3
  213. package/src/components/ui/Incentives/incentivesMock.ts +27 -0
  214. package/src/components/ui/Logo/Logo.tsx +1 -10
  215. package/src/components/ui/Tiles/Tiles.tsx +1 -6
  216. package/src/pages/[slug]/p.tsx +1 -1
  217. package/src/pages/_app.tsx +2 -2
  218. package/src/pages/index.tsx +2 -2
  219. package/src/styles/global/components.scss +8 -0
  220. package/src/styles/themes/midnight.scss +1 -1
  221. package/src/components/common/Footer/Footer.stories.mdx +0 -158
  222. package/src/components/common/Footer/footer.module.scss +0 -220
  223. package/src/components/sections/BannerNewsletter/banner-newsletter.module.scss +0 -23
  224. package/src/components/sections/Incentives/Incentives.stories.mdx +0 -159
  225. package/src/components/sections/Incentives/IncentivesFooter.tsx +0 -8
  226. package/src/components/sections/Incentives/incentives.module.scss +0 -122
  227. package/src/components/sections/Incentives/incentivesMock.ts +0 -55
  228. package/src/components/sections/Newsletter/Newsletter.stories.mdx +0 -139
  229. package/src/components/sections/Newsletter/newsletter.module.scss +0 -135
  230. package/src/components/sections/ProductDetails/product-details.module.scss +0 -185
  231. package/src/components/sections/ProductGallery/product-gallery.module.scss +0 -184
  232. package/src/components/sections/ScrollToTopButton/scroll-to-top-button.module.scss +0 -12
  233. package/src/components/skeletons/FilterSkeleton/FilterSkeleton.stories.mdx +0 -97
  234. package/src/components/skeletons/FilterSkeleton/filter-skeleton.module.scss +0 -51
  235. package/src/components/skeletons/ProductCardSkeleton/ProductCardSkeleton.stories.mdx +0 -113
  236. package/src/components/skeletons/ProductCardSkeleton/product-card-skeleton.module.scss +0 -58
  237. package/src/components/skeletons/ProductTilesSkeleton/ProductTileSkeleton/product-tile-skeleton.module.scss +0 -81
  238. package/src/components/ui/BannerText/BannerText.stories.mdx +0 -270
  239. package/src/components/ui/BannerText/banner-text.module.scss +0 -127
  240. package/src/components/ui/Button/Button.stories.mdx +0 -643
  241. package/src/components/ui/Button/button.module.scss +0 -11
  242. package/src/components/ui/Carousel/Carousel.stories.mdx +0 -201
  243. package/src/components/ui/Carousel/carousel.module.scss +0 -147
  244. package/src/components/ui/Logo/logo.module.scss +0 -12
  245. package/src/components/ui/Tiles/Tiles.stories.mdx +0 -151
  246. package/src/components/ui/Tiles/tiles.module.scss +0 -58
  247. /package/src/components/{sections → ui}/Incentives/index.ts +0 -0
@@ -2,19 +2,21 @@ import { useEffect, useRef } from 'react'
2
2
  import { useInView } from 'react-intersection-observer'
3
3
 
4
4
  import {
5
- ProductShelf as UIProductShelf,
6
5
  ProductShelfItem,
7
6
  ProductShelfItems,
7
+ ProductShelf as UIProductShelf,
8
8
  } from '@faststore/ui'
9
9
 
10
- import { useViewItemListEvent } from 'src/sdk/analytics/hooks/useViewItemListEvent'
10
+ import type { ProductsQueryQueryVariables } from '@generated/graphql'
11
11
  import ProductShelfSkeleton from 'src/components/skeletons/ProductShelfSkeleton'
12
+ import { useViewItemListEvent } from 'src/sdk/analytics/hooks/useViewItemListEvent'
12
13
  import { useProductsQuery } from 'src/sdk/product/useProductsQuery'
13
- import type { ProductsQueryQueryVariables } from '@generated/graphql'
14
14
 
15
15
  import ProductCard from '../../product/ProductCard'
16
16
  import Section from '../Section'
17
17
 
18
+ import styles from './section.module.scss'
19
+
18
20
  interface ProductShelfProps extends Partial<ProductsQueryQueryVariables> {
19
21
  title: string
20
22
  withDivisor?: boolean
@@ -52,7 +54,9 @@ function ProductShelf({
52
54
 
53
55
  return (
54
56
  <Section
55
- className={`layout__section ${withDivisor ? 'section__divisor' : ''}`}
57
+ className={`${styles.section} section-product-shelf layout__section ${
58
+ withDivisor ? 'section__divisor' : ''
59
+ }`}
56
60
  ref={ref}
57
61
  >
58
62
  <h2 className="text__title-section layout__content">{title}</h2>
@@ -0,0 +1,17 @@
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";
6
+ @import "@faststore/ui/src/components/atoms/Button/styles";
7
+ @import "@faststore/ui/src/components/atoms/Icon/styles";
8
+ @import "@faststore/ui/src/components/atoms/Link/styles";
9
+ @import "@faststore/ui/src/components/atoms/Price/styles";
10
+ @import "@faststore/ui/src/components/atoms/SROnly/styles";
11
+ @import "@faststore/ui/src/components/atoms/Skeleton/styles";
12
+ @import "@faststore/ui/src/components/molecules/DiscountBadge/styles";
13
+ @import "@faststore/ui/src/components/molecules/Rating/styles";
14
+ @import "@faststore/ui/src/components/molecules/ProductCard/styles";
15
+ @import "@faststore/ui/src/components/molecules/ProductCardSkeleton/styles";
16
+ @import "@faststore/ui/src/components/organisms/ProductShelf/styles";
17
+ }
@@ -1,15 +1,17 @@
1
1
  import { useEffect, useRef } from 'react'
2
2
  import { useInView } from 'react-intersection-observer'
3
3
 
4
- import { useViewItemListEvent } from 'src/sdk/analytics/hooks/useViewItemListEvent'
5
- import Tiles, { Tile } from 'src/components/ui/Tiles'
4
+ import type { ProductsQueryQueryVariables } from '@generated/graphql'
6
5
  import ProductCard from 'src/components/product/ProductCard'
7
6
  import ProductTilesSkeleton from 'src/components/skeletons/ProductTilesSkeleton'
7
+ import Tiles, { Tile } from 'src/components/ui/Tiles'
8
+ import { useViewItemListEvent } from 'src/sdk/analytics/hooks/useViewItemListEvent'
8
9
  import { useProductsQuery } from 'src/sdk/product/useProductsQuery'
9
- import type { ProductsQueryQueryVariables } from '@generated/graphql'
10
10
 
11
11
  import Section from '../Section'
12
12
 
13
+ import styles from './section.module.scss'
14
+
13
15
  interface ProductTilesProps extends Partial<ProductsQueryQueryVariables> {
14
16
  title: string
15
17
  }
@@ -57,7 +59,10 @@ const ProductTiles = ({ title, ...variables }: ProductTilesProps) => {
57
59
  }
58
60
 
59
61
  return (
60
- <Section className="layout__section layout__content" ref={ref}>
62
+ <Section
63
+ className={`${styles.section} section-product-tiles layout__section layout__content`}
64
+ ref={ref}
65
+ >
61
66
  <h2 className="text__title-section">{title}</h2>
62
67
  <div>
63
68
  <ProductTilesSkeleton loading={!products}>
@@ -0,0 +1,17 @@
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";
6
+ @import "@faststore/ui/src/components/atoms/Button/styles";
7
+ @import "@faststore/ui/src/components/atoms/Icon/styles";
8
+ @import "@faststore/ui/src/components/atoms/Link/styles";
9
+ @import "@faststore/ui/src/components/atoms/Price/styles";
10
+ @import "@faststore/ui/src/components/atoms/Skeleton/styles";
11
+ @import "@faststore/ui/src/components/atoms/SROnly/styles";
12
+ @import "@faststore/ui/src/components/molecules/DiscountBadge/styles";
13
+ @import "@faststore/ui/src/components/molecules/Rating/styles";
14
+ @import "@faststore/ui/src/components/molecules/ProductTile/styles";
15
+ @import "@faststore/ui/src/components/molecules/ProductCard/styles";
16
+ @import "@faststore/ui/src/components/organisms/Tiles/styles";
17
+ }
@@ -1,8 +1,8 @@
1
1
  import type { ButtonProps } from '@faststore/ui'
2
- import { Button as UIButton, Icon } from '@faststore/ui'
2
+ import { Icon, Button as UIButton } from '@faststore/ui'
3
3
 
4
4
  import Section from '../Section'
5
- import styles from './scroll-to-top-button.module.scss'
5
+ import styles from './section.module.scss'
6
6
 
7
7
  interface ScrollToTopButtonProps {
8
8
  /**
@@ -28,7 +28,7 @@ function ScrollToTopButton({
28
28
  iconPosition = 'left',
29
29
  }: ScrollToTopButtonProps) {
30
30
  return (
31
- <Section className={styles.fsScrollToTopButton}>
31
+ <Section className={`${styles.section} section-scroll-to-top-button`}>
32
32
  <UIButton
33
33
  variant="secondary"
34
34
  icon={icon}
@@ -0,0 +1,11 @@
1
+ /* stylelint-disable no-invalid-position-at-import-rule */
2
+ @import "@faststore/ui/src/styles/base/utilities.scss";
3
+
4
+ .section {
5
+ display: flex;
6
+ justify-content: center;
7
+ padding-bottom: var(--fs-spacing-8);
8
+
9
+ @import "@faststore/ui/src/components/atoms/Icon/styles.scss";
10
+ @import "@faststore/ui/src/components/atoms/Button/styles.scss";
11
+ }
@@ -1,7 +1,6 @@
1
1
  import type { PropsWithChildren } from 'react'
2
2
 
3
3
  import { Skeleton as UISkeleton } from '@faststore/ui'
4
- import styles from './filter-skeleton.module.scss'
5
4
  interface FilterSkeletonProps {
6
5
  /**
7
6
  * Control whether skeleton should be visible or not.
@@ -14,7 +13,7 @@ function FilterSkeleton({
14
13
  loading = true,
15
14
  }: PropsWithChildren<FilterSkeletonProps>) {
16
15
  return loading ? (
17
- <div className={styles.fsFilterSkeleton} data-fs-filter-skeleton>
16
+ <div data-fs-filter-skeleton>
18
17
  <UISkeleton
19
18
  data-fs-filter-skeleton-text
20
19
  size={{ width: '100%', height: '1.5rem' }}
@@ -1,7 +1,5 @@
1
1
  import { Skeleton as UISkeleton } from '@faststore/ui'
2
2
 
3
- import styles from './product-card-skeleton.module.scss'
4
-
5
3
  interface ProductCardSkeletonProps {
6
4
  /**
7
5
  * Specifies if the component should have a preset border.
@@ -34,7 +32,6 @@ function ProductCardSkeleton({
34
32
  }: ProductCardSkeletonProps) {
35
33
  return (
36
34
  <div
37
- className={styles.fsProductCardSkeleton}
38
35
  data-fs-product-card-skeleton
39
36
  data-fs-product-card-skeleton-variant={variant}
40
37
  data-fs-product-card-skeleton-bordered={bordered}
@@ -1,9 +1,9 @@
1
1
  import type { PropsWithChildren } from 'react'
2
2
 
3
3
  import {
4
- ProductShelf as UIProductShelf,
5
- ProductShelfItems,
6
4
  ProductShelfItem,
5
+ ProductShelfItems,
6
+ ProductShelf as UIProductShelf,
7
7
  } from '@faststore/ui'
8
8
 
9
9
  import { ITEMS_PER_SECTION } from 'src/constants'
@@ -1,7 +1,5 @@
1
1
  import { Skeleton as UISkeleton } from '@faststore/ui'
2
2
 
3
- import styles from './product-tile-skeleton.module.scss'
4
-
5
3
  interface ProductTileSkeletonProps {
6
4
  index: number
7
5
  aspectRatio?: number
@@ -14,7 +12,6 @@ function ProductTileSkeleton({
14
12
  return (
15
13
  <div
16
14
  data-fs-product-tile-skeleton
17
- className={styles.fsProductTileSkeleton}
18
15
  data-fs-product-tile-skeleton-index={index}
19
16
  >
20
17
  <div
@@ -1,8 +1,6 @@
1
1
  import { Banner, BannerContent, BannerLink, LinkButton } from '@faststore/ui'
2
2
  import type { HTMLAttributes } from 'react'
3
3
 
4
- import styles from './banner-text.module.scss'
5
-
6
4
  export interface BannerTextProps extends HTMLAttributes<HTMLDivElement> {
7
5
  /**
8
6
  * The href used at the link
@@ -42,7 +40,6 @@ function BannerText({
42
40
  }: BannerTextProps) {
43
41
  return (
44
42
  <Banner
45
- className={styles.fsBannerText}
46
43
  data-fs-banner-text
47
44
  data-fs-banner-text-variant={variant}
48
45
  data-fs-banner-text-color-variant={colorVariant}
@@ -1,6 +1,5 @@
1
1
  import { Icon, LinkButton } from '@faststore/ui'
2
2
 
3
- import styles from 'src/components/ui/Button/button.module.scss'
4
3
  import { useSession } from 'src/sdk/session'
5
4
  import { useCart } from '../../../../sdk/cart/index'
6
5
 
@@ -14,7 +13,7 @@ const ButtonSignIn = () => {
14
13
  href={
15
14
  person?.id ? `/account?orderFormId=${id}` : `/login?orderFormId=${id}`
16
15
  }
17
- className={`${styles.fsButton} text__title-mini`}
16
+ className="text__title-mini"
18
17
  variant="tertiary"
19
18
  icon={<Icon name="User" width={18} height={18} weight="bold" />}
20
19
  iconPosition="left"
@@ -1,7 +1,5 @@
1
1
  import { Icon, Incentive as UIIncentive, List as UIList } from '@faststore/ui'
2
2
 
3
- import styles from './incentives.module.scss'
4
-
5
3
  interface Incentive {
6
4
  icon: string
7
5
  title?: string
@@ -31,7 +29,6 @@ function Incentives({
31
29
  data-fs-incentives
32
30
  data-fs-incentives-colored={colored}
33
31
  data-fs-incentives-variant={variant}
34
- className={styles.fsIncentives}
35
32
  >
36
33
  <UIList className="layout__content">
37
34
  {incentives.map((incentive, index) => (
@@ -0,0 +1,27 @@
1
+ export const incentivesMockFooter = [
2
+ {
3
+ icon: 'ShieldCheck',
4
+ firstLineText: 'Trusted',
5
+ secondLineText: 'by Safecon',
6
+ },
7
+ {
8
+ icon: 'Medal',
9
+ firstLineText: 'Quality',
10
+ secondLineText: 'Products',
11
+ },
12
+ {
13
+ icon: 'CircleWavyCheck',
14
+ firstLineText: '3-year',
15
+ secondLineText: 'Guarantee',
16
+ },
17
+ {
18
+ icon: 'Storefront',
19
+ firstLineText: 'Pickup',
20
+ secondLineText: 'Options',
21
+ },
22
+ {
23
+ icon: 'Truck',
24
+ firstLineText: 'Free',
25
+ secondLineText: 'Shippping',
26
+ },
27
+ ]
@@ -1,14 +1,5 @@
1
- import styles from './logo.module.scss'
2
-
3
1
  function Logo() {
4
- return (
5
- <span
6
- className={styles.fsLogo}
7
- data-fs-logo
8
- role="img"
9
- aria-label="BaseStore logo"
10
- />
11
- )
2
+ return <span data-fs-logo role="img" aria-label="BaseStore logo" />
12
3
  }
13
4
 
14
5
  export default Logo
@@ -1,14 +1,9 @@
1
1
  import { Tiles as UITiles } from '@faststore/ui'
2
2
 
3
3
  import type { TilesProps } from '.'
4
- import styles from './tiles.module.scss'
5
4
 
6
5
  const Tiles = ({ children, ...otherProps }: TilesProps) => {
7
- return (
8
- <UITiles className={styles.fsTiles} {...otherProps}>
9
- {children}
10
- </UITiles>
11
- )
6
+ return <UITiles {...otherProps}>{children}</UITiles>
12
7
  }
13
8
 
14
9
  export default Tiles
@@ -32,8 +32,8 @@ import GlobalSections, {
32
32
  */
33
33
  const COMPONENTS: Record<string, ComponentType<any>> = {
34
34
  ProductDetails,
35
- BannerNewsletter,
36
35
  CrossSellingShelf,
36
+ BannerNewsletter,
37
37
  ...CUSTOM_COMPONENTS,
38
38
  }
39
39
 
@@ -5,13 +5,13 @@ import '../styles/global/components.scss'
5
5
 
6
6
  import '../customizations/themes/index.scss'
7
7
 
8
- import NextNProgress from 'nextjs-progressbar'
9
8
  import type { AppProps } from 'next/app'
9
+ import NextNProgress from 'nextjs-progressbar'
10
10
 
11
+ import { UIProvider } from '@faststore/ui'
11
12
  import Layout from 'src/Layout'
12
13
  import AnalyticsHandler from 'src/sdk/analytics'
13
14
  import ErrorBoundary from 'src/sdk/error/ErrorBoundary'
14
- import { UIProvider } from '@faststore/ui'
15
15
 
16
16
  function App({ Component, pageProps }: AppProps) {
17
17
  return (
@@ -6,7 +6,7 @@ import type { ComponentType } from 'react'
6
6
  import RenderSections from 'src/components/cms/RenderSections'
7
7
  import BannerText from 'src/components/sections/BannerText'
8
8
  import Hero from 'src/components/sections/Hero'
9
- import IncentivesHeader from 'src/components/sections/Incentives/IncentivesHeader'
9
+ import IncentivesHeader from 'src/components/sections/IncentivesHeader/IncentivesHeader'
10
10
  import Newsletter from 'src/components/sections/Newsletter'
11
11
  import ProductShelf from 'src/components/sections/ProductShelf'
12
12
  import ProductTiles from 'src/components/sections/ProductTiles'
@@ -24,10 +24,10 @@ import GlobalSections, {
24
24
  /* A list of components that can be used in the CMS. */
25
25
  const COMPONENTS: Record<string, ComponentType<any>> = {
26
26
  Hero,
27
- BannerText,
28
27
  IncentivesHeader,
29
28
  ProductShelf,
30
29
  ProductTiles,
30
+ BannerText,
31
31
  Newsletter,
32
32
  ...CUSTOM_COMPONENTS,
33
33
  }
@@ -1,2 +1,10 @@
1
1
  // Sections
2
+ @import "@faststore/ui/src/components/atoms/Overlay/styles.scss";
3
+ @import "@faststore/ui/src/components/atoms/SROnly/styles.scss";
2
4
  @import "src/components/sections/Section/section.scss";
5
+
6
+ .section-navbar {
7
+ position: sticky;
8
+ top: 0;
9
+ z-index: var(--fs-z-index-high);
10
+ }
@@ -90,7 +90,7 @@
90
90
  --fs-body-bkg : linear-gradient(0deg, var(--fs-color-main-0) 0%, var(--fs-color-main-2) 20%, var(--fs-color-main-0) 100%);
91
91
 
92
92
  [data-fs-hero] {
93
- --fs-hero-img-border-radius : 130px 0 0 130px;
93
+ --fs-hero-image-border-radius : 130px 0 0 130px;
94
94
  --fs-hero-main-bkg-color : var(--fs-color-main-1);
95
95
  }
96
96
 
@@ -1,158 +0,0 @@
1
- import {
2
- Icon as UIIcon,
3
- List as UIList,
4
- PaymentMethods as UIPaymentMethods,
5
- } from '@faststore/ui'
6
-
7
- import { Footer } from './Footer'
8
-
9
- import {
10
- TokenTable,
11
- TokenRow,
12
- TokenDivider,
13
- SectionList,
14
- SectionItem,
15
- } from 'src/../.storybook/components'
16
-
17
- import IncentivesFooter from '../../sections/Incentives/IncentivesFooter'
18
- import FooterLinks from './FooterLinks'
19
-
20
- import { Meta, Canvas, Story, ArgsTable } from '@storybook/addon-docs'
21
-
22
- <Meta component={Footer} title="Organisms/Footer" />
23
-
24
- export const Template = (args) => {
25
- return <Footer {...args} />
26
- }
27
-
28
- <header>
29
-
30
- # Footer
31
-
32
- The `Footer` is the final section of every page and has all the meaningful links of the store.
33
-
34
- </header>
35
-
36
- ## Overview
37
-
38
- Footer section is made with `FooterLinks`, [Incentives](?path=/docs/organisms-incentives--incentives), [Links](?path=/docs/atoms-link--default), Accordion, and [PaymentMethods](https://www.faststore.dev/reference/ui/molecules/PaymentMethods) (from FastStore UI).
39
-
40
- ---
41
-
42
- ## Usage
43
-
44
- `import Footer from 'src/components/common/Footer'`
45
-
46
- <Canvas>
47
- <Story name="Footer">{Template.bind({})}</Story>
48
- </Canvas>
49
-
50
- <ArgsTable story="Footer" />
51
-
52
- <TokenTable>
53
- <TokenRow
54
- token="--fs-footer-spacing-vertical-mobile"
55
- value="var(--fs-spacing-4)"
56
- />
57
- <TokenRow
58
- token="--fs-footer-spacing-vertical-notebook"
59
- value="var(--fs-spacing-5)"
60
- />
61
- <TokenRow
62
- token="--fs-footer-spacing-horizontal-notebook"
63
- value="var(--fs-grid-gap-3)"
64
- />
65
- <TokenDivider />
66
- <TokenRow
67
- token="--fs-footer-bkg-color"
68
- value="var(--fs-color-neutral-bkg)"
69
- isColor
70
- />
71
- </TokenTable>
72
-
73
- ---
74
-
75
- ## Nested Elements
76
-
77
- ### Divisor
78
-
79
- <TokenTable>
80
- <TokenRow
81
- token="--fs-footer-divisor-border-width"
82
- value="var(--fs-border-width)"
83
- />
84
- <TokenRow
85
- token="--fs-footer-divisor-border-color"
86
- value="var(--fs-border-color-light)"
87
- isColor
88
- />
89
- </TokenTable>
90
-
91
- ### Title
92
-
93
- <TokenTable>
94
- <TokenRow token="--fs-footer-title-size" value="var(--fs-text-size-body)" />
95
- <TokenRow token="--fs-footer-title-line-height" value="1.25" />
96
- <TokenRow
97
- token="--fs-footer-title-weight"
98
- value="var(--fs-text-weight-bold)"
99
- />
100
- <TokenRow
101
- token="--fs-footer-title-margin-bottom"
102
- value="var(--fs-spacing-1)"
103
- />
104
- </TokenTable>
105
-
106
- ### Payment Methods
107
-
108
- <TokenTable>
109
- <TokenRow
110
- token="--fs-footer-payment-methods-flags-border-width"
111
- value="var(--fs-border-width)"
112
- />
113
- <TokenRow
114
- token="--fs-footer-payment-methods-flags-border-color"
115
- value="var(--fs-color-neutral-3)"
116
- isColor
117
- />
118
- <TokenRow
119
- token="--fs-footer-payment-methods-flags-border-radius"
120
- value="var(--fs-border-radius-small)"
121
- />
122
- </TokenTable>
123
-
124
- ---
125
-
126
- ## Compound Components
127
-
128
- <SectionList>
129
- <SectionItem
130
- title="Footer Links"
131
- description={
132
- <>
133
- Sitemap listing all the meaningful links of the store. It's the most
134
- essential part of the Footer.
135
- <br />
136
- Additionally, we use the{' '}
137
- <a href="../?path=/docs/molecules-accordion-overview--default-story">
138
- Accordion
139
- </a>{' '}
140
- for a better mobile experince.
141
- </>
142
- }
143
- >
144
- <FooterLinks />
145
- </SectionItem>
146
- <SectionItem
147
- title="Incentives Footer"
148
- description={
149
- <>
150
- A regular{' '}
151
- <a href="../?path=/docs/organisms-incentives--incentives">Incentive</a>{' '}
152
- with its own content.
153
- </>
154
- }
155
- >
156
- <IncentivesFooter />
157
- </SectionItem>
158
- </SectionList>