@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
@@ -1,97 +0,0 @@
1
- import { Meta, Canvas, Story, ArgsTable } from '@storybook/addon-docs'
2
- import {
3
- TokenTable,
4
- TokenRow,
5
- TokenDivider,
6
- } from 'src/../.storybook/components'
7
- import FilterSkeleton from '.'
8
-
9
- <Meta
10
- component={FilterSkeleton}
11
- title="Features/Skeletons/FilterSkeleton"
12
- argTypes={{
13
- loading: {
14
- control: 'boolean',
15
- table: { type: 'boolean', summary: true },
16
- },
17
- }}
18
- />
19
-
20
- export const TemplateFilterSkeleton = ({ ...args }) => (
21
- <FilterSkeleton {...args} />
22
- )
23
-
24
- <header>
25
-
26
- # Filter Skeleton
27
-
28
- The loading placeholder for the <code>Filter</code> component used in PLP.
29
-
30
- </header>
31
-
32
- ## Overview
33
-
34
- The `FilterSkeleton` component is part of Skeletons feature.
35
-
36
- ---
37
-
38
- ## Usage
39
-
40
- `import FilterSkeleton from 'src/components/skeletons/FilterSkeleton'`
41
-
42
- <Canvas className="canvas-filter-skeleton">
43
- <Story name="Usage" args={{ loading: true }}>
44
- {TemplateFilterSkeleton.bind({})}
45
- </Story>
46
- </Canvas>
47
-
48
- <ArgsTable story="Usage" />
49
-
50
- ---
51
-
52
- <TokenTable>
53
- <TokenRow
54
- token="--fs-filter-skeleton-margin-top"
55
- value="var(--fs-spacing-1)"
56
- />
57
- </TokenTable>
58
-
59
- ### Title
60
-
61
- <TokenTable>
62
- <TokenRow token="--fs-filter-skeleton-title-max-width" value="30%" />
63
- <TokenRow
64
- token="--fs-filter-skeleton-title-margin-bottom"
65
- value="var(--fs-spacing-2)"
66
- />
67
- </TokenTable>
68
-
69
- ### Content
70
-
71
- <TokenTable>
72
- <TokenRow
73
- token="--fs-filter-skeleton-content-min-height"
74
- value="var(--fs-spacing-8)"
75
- />
76
- <TokenRow
77
- token="--fs-filter-skeleton-content-margin-bottom"
78
- value="var(--fs-spacing-0)"
79
- />
80
- <TokenRow
81
- token="--fs-filter-skeleton-content-padding"
82
- value="var(--fs-spacing-1) var(--fs-spacing-1) var(--fs-spacing-0)"
83
- />
84
- <TokenRow
85
- token="--fs-filter-skeleton-content-border-width"
86
- value="var(--fs-border-width)"
87
- />
88
- <TokenRow
89
- token="--fs-filter-skeleton-content-border-color"
90
- value="var(--fs-border-color-light)"
91
- isColor
92
- />
93
- <TokenRow
94
- token="--fs-filter-skeleton-content-border-radius"
95
- value="var(--fs-border-radius)"
96
- />
97
- </TokenTable>
@@ -1,51 +0,0 @@
1
- @import "src/styles/scaffold";
2
-
3
- .fs-filter-skeleton {
4
- // --------------------------------------------------------
5
- // Design Tokens for Filter Skeleton
6
- // --------------------------------------------------------
7
-
8
- // Default properties
9
- --fs-filter-skeleton-margin-top : var(--fs-spacing-1);
10
-
11
- // Title
12
- --fs-filter-skeleton-title-max-width : 30%;
13
- --fs-filter-skeleton-title-margin-bottom : var(--fs-spacing-2);
14
-
15
- // Content
16
- --fs-filter-skeleton-content-min-height : var(--fs-spacing-8);
17
- --fs-filter-skeleton-content-margin-bottom : var(--fs-spacing-0);
18
- --fs-filter-skeleton-content-padding : var(--fs-spacing-1) var(--fs-spacing-1) var(--fs-spacing-0);
19
- --fs-filter-skeleton-content-border-color : var(--fs-border-color-light);
20
- --fs-filter-skeleton-content-border-width : var(--fs-border-width);
21
- --fs-filter-skeleton-content-border-radius : var(--fs-border-radius);
22
-
23
- // --------------------------------------------------------
24
- // Structural Styles
25
- // --------------------------------------------------------
26
-
27
- margin-top: var(--fs-filter-skeleton-margin-top);
28
-
29
- @include media("<notebook") { display: none; }
30
-
31
- [data-fs-filter-skeleton-text] {
32
- max-width: var(--fs-filter-skeleton-title-max-width);
33
- margin-bottom: var(--fs-filter-skeleton-title-margin-bottom);
34
- }
35
-
36
- [data-fs-filter-skeleton-content] {
37
- position: relative;
38
- display: flex;
39
- flex-direction: column;
40
- padding: var(--fs-filter-skeleton-content-padding);
41
- overflow: hidden;
42
- border: var(--fs-filter-skeleton-content-border-width) solid var(--fs-filter-skeleton-content-border-color);
43
- border-radius: var(--fs-filter-skeleton-content-border-radius);
44
-
45
- [data-fs-skeleton] {
46
- min-width: 100%;
47
- min-height: var(--fs-filter-skeleton-content-min-height);
48
- margin-bottom: var(--fs-filter-skeleton-content-margin-bottom);
49
- }
50
- }
51
- }
@@ -1,113 +0,0 @@
1
- import { Meta, Canvas, Story, ArgsTable } from '@storybook/addon-docs'
2
- import {
3
- TokenTable,
4
- TokenRow,
5
- TokenDivider,
6
- } from 'src/../.storybook/components'
7
- import ProductCardSkeleton from '.'
8
-
9
- <Meta
10
- component={ProductCardSkeleton}
11
- title="Features/Skeletons/ProductCardSkeleton"
12
- argTypes={{
13
- bordered: {
14
- control: 'boolean',
15
- table: { type: 'boolean' },
16
- },
17
- sectioned: {
18
- control: 'boolean',
19
- table: { type: 'boolean' },
20
- },
21
- displayButton: {
22
- control: 'boolean',
23
- table: { type: 'boolean' },
24
- },
25
- }}
26
- />
27
-
28
- export const TemplateProductCardSkeleton = ({ ...args }) => (
29
- <ProductCardSkeleton {...args} />
30
- )
31
-
32
- <header>
33
-
34
- # Product Card Skeleton
35
-
36
- The loading placeholder for the <code>ProductCard</code> used in several sections of the store.
37
-
38
- </header>
39
-
40
- ## Overview
41
-
42
- The `ProductCardSkeleton` component is part of Skeletons feature.
43
-
44
- ---
45
-
46
- ## Usage
47
-
48
- `import ProductCardSkeleton from 'src/components/skeletons/ProductCardSkeleton'`
49
-
50
- <Canvas className="canvas-product-card-skeleton">
51
- <Story
52
- name="Usage"
53
- args={{
54
- bordered: false,
55
- sectioned: false,
56
- variant: 'default',
57
- displayButton: false,
58
- }}
59
- >
60
- {TemplateProductCardSkeleton.bind({})}
61
- </Story>
62
- </Canvas>
63
-
64
- <ArgsTable story="Usage" />
65
-
66
- <TokenTable>
67
- <TokenRow
68
- token="--fs-product-card-skeleton-padding"
69
- value="var(--fs-spacing-1) var(--fs-spacing-1) var(--fs-spacing-2)"
70
- />
71
- <TokenRow
72
- token="--fs-product-card-skeleton-border-radius"
73
- value="var(--fs-border-radius)"
74
- />
75
- <TokenRow
76
- token="--fs-product-card-skeleton-gap"
77
- value="var(--fs-spacing-1)"
78
- />
79
- </TokenTable>
80
-
81
- ---
82
-
83
- ## Variants
84
-
85
- ### Sectioned
86
-
87
- <Canvas className="canvas-product-card-skeleton">
88
- <Story name="Sectioned" args={{ sectioned: true }}>
89
- {TemplateProductCardSkeleton.bind({})}
90
- </Story>
91
- </Canvas>
92
-
93
- <TokenTable>
94
- <TokenRow
95
- token="--fs-product-card-skeleton-sectioned-min-width"
96
- value="10rem"
97
- />
98
- </TokenTable>
99
-
100
- ### Bordered
101
-
102
- <Canvas className="canvas-product-card-skeleton">
103
- <Story name="Bordered" args={{ bordered: true }}>
104
- {TemplateProductCardSkeleton.bind({})}
105
- </Story>
106
- </Canvas>
107
-
108
- <TokenTable>
109
- <TokenRow
110
- token="--fs-product-card-skeleton-bordered"
111
- value="var(--fs-border-width) solid var(--fs-border-color-light)"
112
- />
113
- </TokenTable>
@@ -1,58 +0,0 @@
1
- @import "src/styles/scaffold";
2
-
3
- .fs-product-card-skeleton {
4
- // --------------------------------------------------------
5
- // Design Tokens for Product Card Skeleton
6
- // --------------------------------------------------------
7
-
8
- // Default properties
9
- --fs-product-card-skeleton-padding : var(--fs-spacing-1) var(--fs-spacing-1) var(--fs-spacing-2);
10
- --fs-product-card-skeleton-border-radius : var(--fs-border-radius);
11
- --fs-product-card-skeleton-gap : var(--fs-spacing-1);
12
-
13
- // Sectioned
14
- --fs-product-card-skeleton-sectioned-min-width : 10rem;
15
-
16
- // Bordered
17
- --fs-product-card-skeleton-bordered : var(--fs-border-width) solid var(--fs-border-color-light);
18
-
19
- // --------------------------------------------------------
20
- // Structural Styles
21
- // --------------------------------------------------------
22
-
23
- position: relative;
24
- display: flex;
25
- flex-direction: column;
26
- row-gap: var(--fs-product-card-skeleton-gap);
27
- padding: var(--fs-product-card-skeleton-padding);
28
- overflow: hidden;
29
- border-radius: var(--fs-product-card-skeleton-border-radius);
30
-
31
- [data-fs-product-card-skeleton-content] {
32
- display: flex;
33
- flex-direction: column;
34
- row-gap: var(--fs-product-card-skeleton-gap);
35
- }
36
-
37
- [data-fs-product-card-skeleton-image] {
38
- aspect-ratio: var(--fs-product-card-skeleton-image-aspect-ratio);
39
-
40
- [data-fs-skeleton-wrapper],
41
- [data-fs-skeleton] {
42
- width: 100%;
43
- height: 100%;
44
- }
45
- }
46
-
47
- // --------------------------------------------------------
48
- // Variants Styles
49
- // --------------------------------------------------------
50
-
51
- &[data-fs-product-card-skeleton-sectioned="true"] {
52
- min-width: var(--fs-product-card-skeleton-sectioned-min-width);
53
- }
54
-
55
- &[data-fs-product-card-skeleton-bordered="true"] {
56
- border: var(--fs-product-card-skeleton-bordered);
57
- }
58
- }
@@ -1,81 +0,0 @@
1
- @import "src/styles/scaffold";
2
-
3
- .fs-product-tile-skeleton {
4
- // --------------------------------------------------------
5
- // Design Tokens for Product Tile Skeleton
6
- // --------------------------------------------------------
7
-
8
- // Default properties
9
- --fs-product-tile-skeleton-gap : var(--fs-spacing-1);
10
-
11
- // Content
12
- --fs-product-tile-skeleton-content-padding : var(--fs-spacing-3);
13
-
14
- // Wide
15
- --fs-product-tile-skeleton-wide-padding : var(--fs-spacing-2) var(--fs-spacing-3) var(--fs-spacing-3);
16
- --fs-product-tile-skeleton-wide-bkg-color : var(--fs-color-neutral-bkg);
17
-
18
- // --------------------------------------------------------
19
- // Structural Styles
20
- // --------------------------------------------------------
21
-
22
- position: relative;
23
- display: flex;
24
- flex-direction: column;
25
- width: 100%;
26
- height: 100%;
27
- padding: 0;
28
- overflow: hidden;
29
-
30
- @include media(">=tablet") {
31
- display: grid;
32
- grid-auto-rows: 62% auto;
33
- [data-fs-product-card-image] { height: 100%; }
34
- }
35
-
36
- @include media(">=notebook") { grid-auto-rows: 80% auto; }
37
-
38
- [data-fs-product-tile-skeleton-content] {
39
- display: flex;
40
- flex-direction: column;
41
- row-gap: var(--fs-product-tile-skeleton-gap);
42
- padding: var(--fs-product-tile-skeleton-content-padding);
43
- background-color: var(--fs-product-tile-skeleton-wide-bkg-color);
44
-
45
- @include media(">=notebook") {
46
- flex-direction: row;
47
- justify-content: space-between;
48
- height: 100%;
49
- }
50
- }
51
-
52
- [data-fs-product-tile-skeleton-heading] {
53
- display: flex;
54
- flex-direction: column;
55
- row-gap: var(--fs-product-tile-skeleton-gap);
56
- width: 100%;
57
- }
58
-
59
- [data-fs-product-tile-skeleton-badge] {
60
- max-width: 100%;
61
- }
62
-
63
- [data-fs-product-tile-skeleton-image] {
64
- width: 100%;
65
- aspect-ratio: var(--fs-product-tile-skeleton-image-aspect-ratio);
66
- overflow: hidden;
67
-
68
- [data-fs-skeleton-variant="image"] { border-radius: 0; }
69
-
70
- @include media(">=tablet") { height: 100%; }
71
- }
72
-
73
- [data-fs-product-tile-skeleton-image],
74
- [data-fs-product-tile-skeleton-badge] {
75
- [data-fs-skeleton-wrapper],
76
- [data-fs-skeleton] {
77
- width: 100%;
78
- height: 100%;
79
- }
80
- }
81
- }
@@ -1,270 +0,0 @@
1
- import { ArgsTable, Canvas, Meta, Story } from '@storybook/addon-docs'
2
-
3
- import BannerText from '.'
4
-
5
- import { TokenTable, TokenRow } from 'src/../.storybook/components'
6
-
7
- <Meta
8
- title="Organisms/BannerText"
9
- argTypes={{
10
- actionPath: { table: { disable: true } },
11
- }}
12
- component={BannerText}
13
- />
14
-
15
- export const Template = (args) => <BannerText {...args} />
16
-
17
- <header>
18
-
19
- # Banner Text
20
-
21
- Banners are used for advertising brands, products, and/or collections. They comprise a title, some description (only available for the `Secondary` variation), and a call-to-action button.
22
-
23
- </header>
24
-
25
- ## Overview
26
-
27
- The `BannerText` component uses [FastStore UI Banner](https://www.faststore.dev/reference/ui/molecules/Banner) as base.
28
-
29
- ---
30
-
31
- ## Usage
32
-
33
- `import BannerText from 'src/components/sections/BannerText'`
34
-
35
- <Canvas>
36
- <Story
37
- name="BannerText"
38
- args={{
39
- title:
40
- "The sun has set on our Summer Sale! Save up to 50% off. Don't miss out!",
41
- actionPath: '/',
42
- actionLabel: 'Call to action',
43
- colorVariant: 'accent',
44
- }}
45
- >
46
- {Template.bind({})}
47
- </Story>
48
- </Canvas>
49
-
50
- <ArgsTable story="BannerText" />
51
-
52
- <TokenTable>
53
- <TokenRow token="--fs-banner-padding-mobile" value="var(--fs-spacing-6) 5%" />
54
- <TokenRow
55
- token="--fs-banner-padding-desktop"
56
- value="var(--fs-spacing-9) 15%"
57
- />
58
- </TokenTable>
59
-
60
- ## Nested Elements
61
-
62
- ### Link
63
-
64
- <TokenTable>
65
- <TokenRow token="--fs-banner-link-min-width" value="11.25rem" />
66
- <TokenRow token="--fs-banner-link-margin-top" value="var(--fs-spacing-6)" />
67
- </TokenTable>
68
-
69
- ### Title
70
-
71
- <TokenTable>
72
- <TokenRow token="--fs-banner-title-size" value="var(--fs-text-size-lead)" />
73
- <TokenRow
74
- token="--fs-banner-title-weight"
75
- value="var(--fs-text-weight-bold)"
76
- />
77
- <TokenRow token="--fs-banner-title-line-height" value="1.2" />
78
- </TokenTable>
79
-
80
- ---
81
-
82
- ## Hierarchy
83
-
84
- ### Primary
85
-
86
- <Canvas>
87
- <Story
88
- name="Primary"
89
- args={{
90
- title:
91
- "The sun has set on our Summer Sale! Save up to 50% off. Don't miss out!",
92
- actionPath: '/',
93
- actionLabel: 'Call to action',
94
- }}
95
- >
96
- {Template.bind({})}
97
- </Story>
98
- </Canvas>
99
-
100
- <TokenTable>
101
- <TokenRow
102
- token="--fs-banner-primary-title-size"
103
- value="var(--fs-text-size-title-page)"
104
- />
105
- </TokenTable>
106
-
107
- ### Secondary
108
-
109
- <Canvas>
110
- <Story
111
- name="Secondary"
112
- args={{
113
- variant: 'secondary',
114
- title: 'The sun has set on our Summer Sale!',
115
- caption: "Save up to 50% off. Don't miss out!",
116
- actionPath: '/',
117
- actionLabel: 'Call to action',
118
- colorVariant: 'main',
119
- }}
120
- >
121
- {Template.bind({})}
122
- </Story>
123
- </Canvas>
124
-
125
- <TokenTable>
126
- <TokenRow
127
- token="--fs-banner-secondary-title-size"
128
- value="var(--fs-text-size-4)"
129
- />
130
- <TokenRow
131
- token="--fs-banner-secondary-caption-size"
132
- value="var(--fs-text-size-base)"
133
- />
134
- <TokenRow
135
- token="--fs-banner-secondary-caption-weight"
136
- value="var(--fs-text-weight-regular)"
137
- />
138
- <TokenRow token="--fs-banner-secondary-line-height" value="1.5" />
139
- </TokenTable>
140
-
141
- ---
142
-
143
- ## Variants
144
-
145
- ### Main
146
-
147
- <Canvas isColumn>
148
- <Story
149
- name="Main"
150
- args={{
151
- title: 'The sun has set on our Summer Sale!',
152
- caption: "Save up to 50% off. Don't miss out!",
153
- actionPath: '/',
154
- actionLabel: 'Call to action',
155
- }}
156
- >
157
- {Template.bind({})}
158
- </Story>
159
- <Story
160
- name="Secondary Main"
161
- args={{
162
- variant: 'secondary',
163
- title: 'The sun has set on our Summer Sale!',
164
- caption: "Save up to 50% off. Don't miss out!",
165
- actionPath: '/',
166
- actionLabel: 'Call to action',
167
- }}
168
- >
169
- {Template.bind({})}
170
- </Story>
171
- </Canvas>
172
-
173
- <TokenTable>
174
- <TokenRow
175
- token="--fs-banner-main-bkg-color"
176
- value="var(--fs-color-primary-bkg)"
177
- isColor
178
- />
179
- <TokenRow
180
- token="--fs-banner-main-text-color"
181
- value="var(--fs-color-primary-text)"
182
- isColor
183
- />
184
- </TokenTable>
185
-
186
- ### Light
187
-
188
- <Canvas isColumn>
189
- <Story
190
- name="Light"
191
- args={{
192
- title: 'The sun has set on our Summer Sale!',
193
- caption: "Save up to 50% off. Don't miss out!",
194
- actionPath: '/',
195
- actionLabel: 'Call to action',
196
- colorVariant: 'light',
197
- }}
198
- >
199
- {Template.bind({})}
200
- </Story>
201
- <Story
202
- name="Secondary Light"
203
- args={{
204
- variant: 'secondary',
205
- title: 'The sun has set on our Summer Sale!',
206
- caption: "Save up to 50% off. Don't miss out!",
207
- actionPath: '/',
208
- actionLabel: 'Call to action',
209
- colorVariant: 'light',
210
- }}
211
- >
212
- {Template.bind({})}
213
- </Story>
214
- </Canvas>
215
-
216
- <TokenTable>
217
- <TokenRow
218
- token="--fs-banner-light-bkg-color"
219
- value="var(--fs-color-secondary-bkg-light)"
220
- isColor
221
- />
222
- <TokenRow
223
- token="--fs-banner-light-text-color"
224
- value="var(--fs-color-text-display)"
225
- isColor
226
- />
227
- </TokenTable>
228
-
229
- ### Accent
230
-
231
- <Canvas isColumn>
232
- <Story
233
- name="Accent"
234
- args={{
235
- title: 'The sun has set on our Summer Sale!',
236
- caption: "Save up to 50% off. Don't miss out!",
237
- actionPath: '/',
238
- actionLabel: 'Call to action',
239
- colorVariant: 'accent',
240
- }}
241
- >
242
- {Template.bind({})}
243
- </Story>
244
- <Story
245
- name="Secondary Accent"
246
- args={{
247
- variant: 'secondary',
248
- title: 'The sun has set on our Summer Sale!',
249
- caption: "Save up to 50% off. Don't miss out!",
250
- actionPath: '/',
251
- actionLabel: 'Call to action',
252
- colorVariant: 'accent',
253
- }}
254
- >
255
- {Template.bind({})}
256
- </Story>
257
- </Canvas>
258
-
259
- <TokenTable>
260
- <TokenRow
261
- token="--fs-banner-accent-bkg-color"
262
- value="var(--fs-color-highlighted-bkg)"
263
- isColor
264
- />
265
- <TokenRow
266
- token="--fs-banner-accent-text-color"
267
- value="var(--fs-banner-light-text-color)"
268
- isColor
269
- />
270
- </TokenTable>