@faststore/core 0.3.17 → 2.0.66-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 (94) hide show
  1. package/.storybook/storybook.css +1 -0
  2. package/.turbo/turbo-build.log +50 -0
  3. package/.turbo/turbo-lint.log +2 -0
  4. package/@generated/graphql/index.ts +27 -3
  5. package/@generated/graphql/persisted.json +1 -1
  6. package/CHANGELOG.md +122 -180
  7. package/README.md +2 -2
  8. package/cypress/integration/analytics.test.js +3 -3
  9. package/cypress/integration/cart.test.js +2 -2
  10. package/cypress/integration/plp.test.js +8 -8
  11. package/package.json +8 -9
  12. package/src/Layout.tsx +1 -1
  13. package/src/components/cart/CartItem/CartItem.tsx +30 -71
  14. package/src/components/cart/CartSidebar/CartSidebar.stories.mdx +1 -1
  15. package/src/components/cart/CartSidebar/CartSidebar.tsx +9 -12
  16. package/src/components/common/Footer/Footer.tsx +5 -38
  17. package/src/components/common/Footer/FooterFlags.tsx +23 -0
  18. package/src/components/common/Footer/footer.module.scss +2 -28
  19. package/src/components/common/Footer/index.ts +1 -0
  20. package/src/components/common/Navbar/NavLinks.stories.mdx +1 -1
  21. package/src/components/common/Navbar/Navbar.stories.mdx +1 -1
  22. package/src/components/common/Navbar/Navbar.tsx +1 -1
  23. package/src/components/common/Navbar/NavbarSlider.stories.mdx +1 -1
  24. package/src/components/common/Navbar/NavbarSlider.tsx +2 -2
  25. package/src/components/common/Toast/Toast.tsx +1 -1
  26. package/src/components/product/ProductCard/ProductCard.tsx +44 -59
  27. package/src/components/product/ProductGrid/ProductGrid.tsx +7 -1
  28. package/src/components/regionalization/Regionalization.stories.mdx +24 -6
  29. package/src/components/regionalization/RegionalizationBar/RegionalizationBar.stories.mdx +1 -1
  30. package/src/components/regionalization/RegionalizationBar/RegionalizationBar.tsx +1 -1
  31. package/src/components/regionalization/RegionalizationButton/RegionalizationButton.tsx +1 -1
  32. package/src/components/regionalization/RegionalizationModal/RegionalizationModal.stories.mdx +17 -4
  33. package/src/components/regionalization/RegionalizationModal/RegionalizationModal.tsx +4 -5
  34. package/src/components/regionalization/RegionalizationModal/RegionalizationModalContent.tsx +19 -26
  35. package/src/components/regionalization/RegionalizationModal/regionalization-modal-body.module.scss +25 -0
  36. package/src/components/search/Filter/Facets.stories.mdx +1 -1
  37. package/src/components/search/Filter/Filter.stories.mdx +1 -1
  38. package/src/components/search/Filter/Filter.tsx +1 -1
  39. package/src/components/search/Filter/FilterSlider.stories.mdx +1 -1
  40. package/src/components/search/Filter/FilterSlider.tsx +2 -2
  41. package/src/components/sections/Newsletter/Newsletter.stories.mdx +1 -1
  42. package/src/components/sections/Newsletter/Newsletter.tsx +1 -1
  43. package/src/components/sections/ProductDetails/ProductDetails.tsx +2 -2
  44. package/src/components/sections/ProductGallery/ProductGallery.tsx +18 -18
  45. package/src/components/sections/ProductShelf/ProductShelf.tsx +10 -2
  46. package/src/components/sections/ProductTiles/ProductTiles.tsx +2 -2
  47. package/src/components/skeletons/FilterSkeleton/FilterSkeleton.stories.mdx +1 -1
  48. package/src/components/skeletons/FilterSkeleton/FilterSkeleton.tsx +20 -8
  49. package/src/components/skeletons/FilterSkeleton/filter-skeleton.module.scss +2 -2
  50. package/src/components/skeletons/ProductCardSkeleton/ProductCardSkeleton.stories.mdx +6 -69
  51. package/src/components/skeletons/ProductCardSkeleton/ProductCardSkeleton.tsx +36 -9
  52. package/src/components/skeletons/ProductCardSkeleton/product-card-skeleton.module.scss +16 -55
  53. package/src/components/skeletons/ProductGridSkeleton/ProductGridSkeleton.tsx +3 -1
  54. package/src/components/skeletons/ProductShelfSkeleton/ProductShelfSkeleton.tsx +3 -1
  55. package/src/components/skeletons/ProductTilesSkeleton/ProductTileSkeleton/ProductTileSkeleton.tsx +18 -17
  56. package/src/components/skeletons/ProductTilesSkeleton/ProductTileSkeleton/product-tile-skeleton.module.scss +37 -174
  57. package/src/components/skeletons/ProductTilesSkeleton/ProductTilesSkeleton.tsx +18 -3
  58. package/src/components/ui/Gift/Gift.tsx +12 -15
  59. package/src/components/ui/SlideOver/SlideOver.stories.mdx +2 -2
  60. package/src/components/ui/SlideOver/SlideOver.tsx +1 -0
  61. package/src/components/ui/Tiles/Tiles.stories.mdx +1 -3
  62. package/src/components/ui/Tiles/tiles.module.scss +11 -13
  63. package/src/components/ui/Toast/Toast.stories.mdx +1 -1
  64. package/src/components/ui/Toast/Toast.tsx +1 -1
  65. package/src/pages/_app.tsx +1 -1
  66. package/src/sdk/cart/index.ts +5 -0
  67. package/src/sdk/cart/useBuyButton.ts +1 -1
  68. package/src/sdk/cart/useCartToggleButton.ts +1 -1
  69. package/src/styles/vendors/include-media.scss +1 -1
  70. package/tsconfig.json +3 -5
  71. package/.eslintrc.json +0 -3
  72. package/.github/CODEOWNERS +0 -2
  73. package/.github/workflows/release.yml +0 -42
  74. package/.release-it.json +0 -32
  75. package/src/components/cart/CartItem/cart-item.module.scss +0 -68
  76. package/src/components/product/ProductCard/product-card.module.scss +0 -254
  77. package/src/components/regionalization/RegionalizationModal/regionalization-modal-content.module.scss +0 -79
  78. package/src/components/skeletons/Shimmer/Shimmer.tsx +0 -11
  79. package/src/components/skeletons/Shimmer/index.ts +0 -1
  80. package/src/components/skeletons/Shimmer/shimmer.module.scss +0 -43
  81. package/src/components/skeletons/Skeleton/Skeleton.tsx +0 -49
  82. package/src/components/skeletons/Skeleton/index.ts +0 -1
  83. package/src/components/skeletons/Skeleton/skeleton.module.scss +0 -77
  84. package/src/components/skeletons/Skeletons.stories.mdx +0 -177
  85. package/src/components/ui/Modal/Modal.stories.mdx +0 -144
  86. package/src/components/ui/Modal/Modal.tsx +0 -43
  87. package/src/components/ui/Modal/index.ts +0 -1
  88. package/src/components/ui/Modal/modal.module.scss +0 -46
  89. package/src/components/ui/ProductTitle/ProductTitle.stories.mdx +0 -105
  90. package/src/components/ui/ProductTitle/ProductTitle.tsx +0 -11
  91. package/src/components/ui/ProductTitle/index.ts +0 -1
  92. package/src/components/ui/ProductTitle/product-title.module.scss +0 -48
  93. package/src/sdk/ui/Provider.tsx +0 -151
  94. package/src/sdk/ui/useFadeEffect.ts +0 -21
@@ -421,6 +421,7 @@ h3.sbdocs.sbdocs-h3 {
421
421
  }
422
422
 
423
423
  .canvas-filter-skeleton [data-fs-filter-skeleton] {
424
+ display: block;
424
425
  max-width: 350px;
425
426
  }
426
427
 
@@ -0,0 +1,50 @@
1
+ $ yarn partytown && next build
2
+ $ partytown copylib ./public/~partytown
3
+ Partytown lib copied to: /home/runner/work/faststore/faststore/packages/core/public/~partytown
4
+ warn - No build cache found. Please configure build caching for faster rebuilds. Read more: https://nextjs.org/docs/messages/no-cache
5
+ Attention: Next.js now collects completely anonymous telemetry regarding usage.
6
+ This information is used to shape Next.js' roadmap and prioritize features.
7
+ You can learn more, including how to opt-out if you'd not like to participate in this anonymous program, by visiting the following URL:
8
+ https://nextjs.org/telemetry
9
+
10
+ info - Linting and checking validity of types...
11
+ info - Creating an optimized production build...
12
+ info - Disabled SWC as replacement for Babel because of custom Babel configuration ".babelrc" https://nextjs.org/docs/messages/swc-disabled
13
+ info - Using external babel configuration from /home/runner/work/faststore/faststore/packages/core/.babelrc
14
+ info - Compiled successfully
15
+ info - Collecting page data...
16
+ info - Generating static pages (0/13)
17
+ info - Generating static pages (3/13)
18
+ info - Generating static pages (6/13)
19
+ info - Generating static pages (9/13)
20
+ info - Generating static pages (13/13)
21
+ info - Finalizing page optimization...
22
+
23
+ Route (pages) Size First Load JS
24
+ ┌ ● / 2.84 kB 124 kB
25
+ ├ └ css/43d61b402f41569b.css 1.84 kB
26
+ ├ /_app 0 B 100 kB
27
+ ├ ● /[...slug] 15.4 kB 127 kB
28
+ ├ └ css/e833952ebebc3a81.css 3.16 kB
29
+ ├ ● /[slug]/p 11.5 kB 132 kB
30
+ ├ └ css/57826114b27159dd.css 4.48 kB
31
+ ├ ○ /404 431 B 106 kB
32
+ ├ ○ /500 439 B 106 kB
33
+ ├ ○ /account 369 B 106 kB
34
+ ├ λ /api/graphql 0 B 100 kB
35
+ ├ λ /api/preview 0 B 100 kB
36
+ ├ ○ /checkout 371 B 106 kB
37
+ ├ ○ /login 368 B 106 kB
38
+ └ ○ /s 15.5 kB 121 kB
39
+ └ css/474f846c1354bd3d.css 2.97 kB
40
+ + First Load JS shared by all 119 kB
41
+ ├ chunks/framework-dfd14d7ce6600b03.js 45.3 kB
42
+ ├ chunks/main-9746772201fe3ac1.js 23.9 kB
43
+ ├ chunks/pages/_app-e7c6f1c268f7cf60.js 28.9 kB
44
+ ├ chunks/webpack-dc0be224d1305302.js 2.23 kB
45
+ └ css/2b56e8433965a455.css 18.2 kB
46
+
47
+ λ (Server) server-side renders at runtime (uses getInitialProps or getServerSideProps)
48
+ ○ (Static) automatically rendered as static HTML (uses no initial props)
49
+ ● (SSG) automatically generated as static HTML + JSON (uses getStaticProps)
50
+
@@ -0,0 +1,2 @@
1
+ $ next lint
2
+ ✔ No ESLint warnings or errors
@@ -1129,7 +1129,15 @@ export type ValidateCartMutationMutation = {
1129
1129
  gtin: string
1130
1130
  image: Array<{ url: string; alternateName: string }>
1131
1131
  brand: { name: string }
1132
- isVariantOf: { productGroupID: string; name: string }
1132
+ isVariantOf: {
1133
+ productGroupID: string
1134
+ name: string
1135
+ skuVariants: {
1136
+ activeVariations: any | null
1137
+ slugsMap: any | null
1138
+ availableVariations: any | null
1139
+ } | null
1140
+ }
1133
1141
  additionalProperty: Array<{
1134
1142
  propertyID: string
1135
1143
  name: string
@@ -1156,7 +1164,15 @@ export type CartItemFragment = {
1156
1164
  gtin: string
1157
1165
  image: Array<{ url: string; alternateName: string }>
1158
1166
  brand: { name: string }
1159
- isVariantOf: { productGroupID: string; name: string }
1167
+ isVariantOf: {
1168
+ productGroupID: string
1169
+ name: string
1170
+ skuVariants: {
1171
+ activeVariations: any | null
1172
+ slugsMap: any | null
1173
+ availableVariations: any | null
1174
+ } | null
1175
+ }
1160
1176
  additionalProperty: Array<{
1161
1177
  propertyID: string
1162
1178
  name: string
@@ -1172,7 +1188,15 @@ export type CartProductItemFragment = {
1172
1188
  gtin: string
1173
1189
  image: Array<{ url: string; alternateName: string }>
1174
1190
  brand: { name: string }
1175
- isVariantOf: { productGroupID: string; name: string }
1191
+ isVariantOf: {
1192
+ productGroupID: string
1193
+ name: string
1194
+ skuVariants: {
1195
+ activeVariations: any | null
1196
+ slugsMap: any | null
1197
+ availableVariations: any | null
1198
+ } | null
1199
+ }
1176
1200
  additionalProperty: Array<{
1177
1201
  propertyID: string
1178
1202
  name: string
@@ -2,7 +2,7 @@
2
2
  "ProductGalleryQuery": "query ProductGalleryQuery($first: Int!, $after: String!, $sort: StoreSort!, $term: String!, $selectedFacets: [IStoreSelectedFacet!]!) {\n search(\n first: $first\n after: $after\n sort: $sort\n term: $term\n selectedFacets: $selectedFacets\n ) {\n products {\n pageInfo {\n totalCount\n }\n }\n facets {\n ... on StoreFacetRange {\n key\n label\n min {\n selected\n absolute\n }\n max {\n selected\n absolute\n }\n __typename\n }\n ... on StoreFacetBoolean {\n key\n label\n values {\n label\n value\n selected\n quantity\n }\n __typename\n }\n }\n }\n}\n",
3
3
  "ServerCollectionPageQuery": "query ServerCollectionPageQuery($slug: String!) {\n collection(slug: $slug) {\n seo {\n title\n description\n }\n breadcrumbList {\n itemListElement {\n item\n name\n position\n }\n }\n meta {\n selectedFacets {\n key\n value\n }\n }\n }\n}\n",
4
4
  "ServerProductPageQuery": "query ServerProductPageQuery($slug: String!) {\n product(locator: [{key: \"slug\", value: $slug}]) {\n id: productID\n seo {\n title\n description\n canonical\n }\n brand {\n name\n }\n sku\n gtin\n name\n description\n releaseDate\n breadcrumbList {\n itemListElement {\n item\n name\n position\n }\n }\n image {\n url\n alternateName\n }\n offers {\n lowPrice\n highPrice\n priceCurrency\n offers {\n availability\n price\n priceValidUntil\n priceCurrency\n itemCondition\n seller {\n identifier\n }\n listPrice\n }\n }\n isVariantOf {\n productGroupID\n name\n skuVariants {\n activeVariations\n slugsMap(dominantVariantName: \"Color\")\n availableVariations(dominantVariantName: \"Color\")\n }\n }\n additionalProperty {\n propertyID\n name\n value\n valueReference\n }\n }\n}\n",
5
- "ValidateCartMutation": "mutation ValidateCartMutation($cart: IStoreCart!, $session: IStoreSession!) {\n validateCart(cart: $cart, session: $session) {\n order {\n orderNumber\n acceptedOffer {\n seller {\n identifier\n }\n quantity\n price\n listPrice\n itemOffered {\n sku\n name\n image {\n url\n alternateName\n }\n brand {\n name\n }\n isVariantOf {\n productGroupID\n name\n }\n gtin\n additionalProperty {\n propertyID\n name\n value\n valueReference\n }\n }\n }\n }\n messages {\n text\n status\n }\n }\n}\n",
5
+ "ValidateCartMutation": "mutation ValidateCartMutation($cart: IStoreCart!, $session: IStoreSession!) {\n validateCart(cart: $cart, session: $session) {\n order {\n orderNumber\n acceptedOffer {\n seller {\n identifier\n }\n quantity\n price\n listPrice\n itemOffered {\n sku\n name\n image {\n url\n alternateName\n }\n brand {\n name\n }\n isVariantOf {\n productGroupID\n name\n skuVariants {\n activeVariations\n slugsMap(dominantVariantName: \"Color\")\n availableVariations(dominantVariantName: \"Color\")\n }\n }\n gtin\n additionalProperty {\n propertyID\n name\n value\n valueReference\n }\n }\n }\n }\n messages {\n text\n status\n }\n }\n}\n",
6
6
  "SubscribeToNewsletter": "mutation SubscribeToNewsletter($data: IPersonNewsletter!) {\n subscribeToNewsletter(data: $data) {\n id\n }\n}\n",
7
7
  "BrowserProductQuery": "query BrowserProductQuery($locator: [IStoreSelectedFacet!]!) {\n product(locator: $locator) {\n id: productID\n sku\n name\n gtin\n description\n isVariantOf {\n name\n productGroupID\n skuVariants {\n activeVariations\n slugsMap(dominantVariantName: \"Color\")\n availableVariations(dominantVariantName: \"Color\")\n }\n }\n image {\n url\n alternateName\n }\n brand {\n name\n }\n offers {\n lowPrice\n offers {\n availability\n price\n listPrice\n seller {\n identifier\n }\n }\n }\n breadcrumbList {\n itemListElement {\n item\n name\n position\n }\n }\n additionalProperty {\n propertyID\n name\n value\n valueReference\n }\n }\n}\n",
8
8
  "ProductsQuery": "query ProductsQuery($first: Int!, $after: String, $sort: StoreSort!, $term: String!, $selectedFacets: [IStoreSelectedFacet!]!) {\n search(\n first: $first\n after: $after\n sort: $sort\n term: $term\n selectedFacets: $selectedFacets\n ) {\n products {\n pageInfo {\n totalCount\n }\n edges {\n node {\n id: productID\n slug\n sku\n brand {\n brandName: name\n name\n }\n name\n gtin\n isVariantOf {\n productGroupID\n name\n }\n image {\n url\n alternateName\n }\n offers {\n lowPrice\n offers {\n availability\n price\n listPrice\n quantity\n seller {\n identifier\n }\n }\n }\n }\n }\n }\n }\n}\n",