@faststore/core 3.5.0 → 3.6.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 (45) hide show
  1. package/.next/BUILD_ID +1 -1
  2. package/.next/build-manifest.json +3 -3
  3. package/.next/cache/.tsbuildinfo +1 -1
  4. package/.next/cache/config.json +3 -3
  5. package/.next/cache/eslint/.cache_1gneedd +1 -1
  6. package/.next/cache/webpack/client-production/0.pack +0 -0
  7. package/.next/cache/webpack/client-production/index.pack +0 -0
  8. package/.next/cache/webpack/server-production/0.pack +0 -0
  9. package/.next/cache/webpack/server-production/index.pack +0 -0
  10. package/.next/next-minimal-server.js.nft.json +1 -1
  11. package/.next/next-server.js.nft.json +1 -1
  12. package/.next/prerender-manifest.js +1 -1
  13. package/.next/prerender-manifest.json +1 -1
  14. package/.next/routes-manifest.json +1 -1
  15. package/.next/server/chunks/5671.js +1 -1
  16. package/.next/server/chunks/5754.js +2 -2
  17. package/.next/server/middleware-build-manifest.js +1 -1
  18. package/.next/server/pages/api/graphql.js +1 -1
  19. package/.next/server/pages/en-US/404.html +1 -1
  20. package/.next/server/pages/en-US/404.json +1 -1
  21. package/.next/server/pages/en-US/500.html +1 -1
  22. package/.next/server/pages/en-US/500.json +1 -1
  23. package/.next/server/pages/en-US/account.html +1 -1
  24. package/.next/server/pages/en-US/account.json +1 -1
  25. package/.next/server/pages/en-US/checkout.html +1 -1
  26. package/.next/server/pages/en-US/checkout.json +1 -1
  27. package/.next/server/pages/en-US/login.html +1 -1
  28. package/.next/server/pages/en-US/login.json +1 -1
  29. package/.next/server/pages/en-US/s.html +1 -1
  30. package/.next/server/pages/en-US/s.json +1 -1
  31. package/.next/server/pages/en-US.html +1 -1
  32. package/.next/server/pages/en-US.json +1 -1
  33. package/.next/server/pages/s.js +1 -1
  34. package/.next/server/pages-manifest.json +1 -1
  35. package/.next/static/chunks/pages/s-ba5734fbe496d9af.js +1 -0
  36. package/.next/static/{InuE4u8aWFrqa2PCYX_3B → hTBj6SJWSWID7EQkobAYG}/_buildManifest.js +1 -1
  37. package/.next/trace +98 -98
  38. package/.turbo/turbo-build.log +2 -2
  39. package/.turbo/turbo-lint.log +1 -1
  40. package/.turbo/turbo-test.log +5 -5
  41. package/CHANGELOG.md +10 -0
  42. package/package.json +3 -3
  43. package/src/components/templates/SearchPage/SearchWrapper.tsx +13 -0
  44. package/.next/static/chunks/pages/s-da1c36b5dafdf07b.js +0 -1
  45. /package/.next/static/{InuE4u8aWFrqa2PCYX_3B → hTBj6SJWSWID7EQkobAYG}/_ssgManifest.js +0 -0
@@ -63,7 +63,7 @@ Route (pages) Size First Load JS
63
63
  ├ λ /api/preview 0 B 91.9 kB
64
64
  ├ ● /checkout 694 B 119 kB
65
65
  ├ ● /login 1.57 kB 120 kB
66
- └ ● /s 2.63 kB 131 kB
66
+ └ ● /s 2.74 kB 131 kB
67
67
  + First Load JS shared by all 95 kB
68
68
  ├ chunks/framework-12a146e94cfcf7c4.js 45.4 kB
69
69
  ├ chunks/main-209ac4974b020af1.js 33.1 kB
@@ -75,4 +75,4 @@ Route (pages) Size First Load JS
75
75
  ○ (Static) automatically rendered as static HTML (uses no initial props)
76
76
  ● (SSG) automatically generated as static HTML + JSON (uses getStaticProps)
77
77
 
78
- Done in 70.03s.
78
+ Done in 70.69s.
@@ -1,4 +1,4 @@
1
1
  yarn run v1.22.22
2
2
  $ next lint
3
3
  ✔ No ESLint warnings or errors
4
- Done in 5.88s.
4
+ Done in 6.14s.
@@ -1,12 +1,12 @@
1
1
  yarn run v1.22.22
2
2
  $ jest
3
- PASS test/utils/multipleTemplates.test.ts (36.915 s)
4
- PASS test/server/cms/index.test.ts (37.288 s)
5
- PASS test/server/index.test.ts (40.315 s)
3
+ PASS test/server/cms/index.test.ts (36.214 s)
4
+ PASS test/utils/multipleTemplates.test.ts (37.017 s)
5
+ PASS test/server/index.test.ts (39.7 s)
6
6
 
7
7
  Test Suites: 3 passed, 3 total
8
8
  Tests: 19 passed, 19 total
9
9
  Snapshots: 0 total
10
- Time: 41.45 s
10
+ Time: 40.865 s
11
11
  Ran all test suites.
12
- Done in 43.27s.
12
+ Done in 42.25s.
package/CHANGELOG.md CHANGED
@@ -3,6 +3,16 @@
3
3
  All notable changes to this project will be documented in this file.
4
4
  See [Conventional Commits](https://conventionalcommits.org) for commit guidelines.
5
5
 
6
+ # [3.6.0](https://github.com/vtex/faststore/compare/v3.5.1...v3.6.0) (2025-01-13)
7
+
8
+ **Note:** Version bump only for package @faststore/core
9
+
10
+ ## [3.5.1](https://github.com/vtex/faststore/compare/v3.5.0...v3.5.1) (2025-01-09)
11
+
12
+ ### Bug Fixes
13
+
14
+ - Reset infinite scroll if search's total pages is less than current state's total pages ([#2610](https://github.com/vtex/faststore/issues/2610)) ([7faedd2](https://github.com/vtex/faststore/commit/7faedd2ac636a354f0d6c3160309d5d1245ff27b))
15
+
6
16
  # 3.5.0 (2025-01-09)
7
17
 
8
18
  ### Bug Fixes
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@faststore/core",
3
- "version": "3.5.0",
3
+ "version": "3.6.0",
4
4
  "license": "MIT",
5
5
  "repository": "vtex/faststore",
6
6
  "browserslist": "supports es6-module and not dead",
@@ -43,7 +43,7 @@
43
43
  "@envelop/graphql-jit": "^8.0.3",
44
44
  "@envelop/parser-cache": "^6.0.2",
45
45
  "@envelop/validation-cache": "^6.0.2",
46
- "@faststore/api": "^3.5.0",
46
+ "@faststore/api": "^3.6.0",
47
47
  "@faststore/components": "^3.5.0",
48
48
  "@faststore/graphql-utils": "^3.5.0",
49
49
  "@faststore/lighthouse": "^3.5.0",
@@ -128,5 +128,5 @@
128
128
  "node": "18.19.0",
129
129
  "yarn": "1.19.1"
130
130
  },
131
- "gitHead": "180554c88fee738fb4fffe62f9dd6d0ceab6bdfb"
131
+ "gitHead": "be4c6d948145860a32be1846d3554de47b4ef970"
132
132
  }
@@ -38,6 +38,8 @@ export default function SearchWrapper({
38
38
  const router = useRouter()
39
39
  const {
40
40
  state: { term, sort, selectedFacets },
41
+ pages,
42
+ resetInfiniteScroll,
41
43
  } = useSearch()
42
44
 
43
45
  const { data: pageProductGalleryData, isValidating } = useProductGalleryQuery(
@@ -62,6 +64,17 @@ export default function SearchWrapper({
62
64
  return <EmptySearch />
63
65
  }
64
66
 
67
+ const productGalleryProducts = pageProductGalleryData?.search?.products
68
+ const stateTotalPages = pages.length
69
+ const searchTotalPages = Math.ceil(
70
+ productGalleryProducts?.pageInfo?.totalCount / itemsPerPage
71
+ )
72
+
73
+ // if the total pages is less than the current state total pages, reset the infinite scroll
74
+ if (searchTotalPages > 0 && searchTotalPages < stateTotalPages) {
75
+ resetInfiniteScroll(0)
76
+ }
77
+
65
78
  return (
66
79
  <SearchPage
67
80
  page={searchContentType}
@@ -1 +0,0 @@
1
- (self.webpackChunk_N_E=self.webpackChunk_N_E||[]).push([[6552],{5450:function(e,t,r){"use strict";var n=r(2784);t.Z=function({text:e,as:t}){let r=t??"span";return n.createElement(r,{"data-fs-sr-only":!0},e)}},6133:function(e,t,r){"use strict";var n=r(2784);t.Z=function({testId:e="fs-empty-state",title:t,titleIcon:r,variant:o="default",bkgColor:c="default",children:a,...i}){return n.createElement("section",{"data-fs-empty-state":!0,"data-fs-empty-state-variant":o,"data-fs-empty-state-bkg-color":c,"data-fs-content":"empty-state","data-testid":e,...i},t&&n.createElement("header",{"data-fs-empty-state-title":!0},r&&n.createElement(n.Fragment,null,r),n.createElement("p",null,t)),a)}},945:function(e,t,r){"use strict";r.d(t,{Z:function(){return j}});var n=r(9499),o=r(1163),c=r(2614),a=r(1667),i=r(4329),l=r(9089),p=r(8919),u=r.n(p),d={EmptyState:r(6133).Z},b=r(7296),f=r(2322);function ownKeys(e,t){var r=Object.keys(e);if(Object.getOwnPropertySymbols){var n=Object.getOwnPropertySymbols(e);t&&(n=n.filter(function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable})),r.push.apply(r,n)}return r}function _objectSpread(e){for(var t=1;t<arguments.length;t++){var r=null!=arguments[t]?arguments[t]:{};t%2?ownKeys(Object(r),!0).forEach(function(t){(0,n.Z)(e,t,r[t])}):Object.getOwnPropertyDescriptors?Object.defineProperties(e,Object.getOwnPropertyDescriptors(r)):ownKeys(Object(r)).forEach(function(t){Object.defineProperty(e,t,Object.getOwnPropertyDescriptor(r,t))})}return e}var useErrorState=()=>{var e,{query:{errorId:t,fromUrl:r},pathname:n,asPath:c}=(0,o.useRouter)();return{errorId:t,fromUrl:null!==(e=null!=r?r:c)&&void 0!==e?e:n}},j=(0,b.B)("EmptyState",function(e){var t,r,n,o,{title:p,titleIcon:d,children:b,subtitle:j,errorState:y,showLoader:O=!1}=e,{EmptyState:h}=(0,i.r3)(),{errorId:P,fromUrl:v}=useErrorState(),g=null!=d&&d.icon?(0,f.jsx)(c.Z,{name:null==d?void 0:d.icon,"aria-label":null==d?void 0:d.alt,width:56,height:56,weight:"thin"}):h.props.titleIcon;return(0,f.jsx)(l.Z,{className:"".concat(u().section," section-empty-state"),children:(0,f.jsxs)(h.Component,_objectSpread(_objectSpread({bkgColor:"light"},h.props),{},{title:null!=p?p:h.props.title,titleIcon:g,children:[!!j&&(0,f.jsx)("h2",{children:j}),!!(null!=y&&null!==(t=y.errorId)&&void 0!==t&&t.show)&&(0,f.jsx)("p",{children:"".concat(null==y?void 0:null===(r=y.errorId)||void 0===r?void 0:r.description," ").concat(P)}),!!(null!=y&&null!==(n=y.fromUrl)&&void 0!==n&&n.show)&&(0,f.jsx)("p",{children:"".concat(null==y?void 0:null===(o=y.fromUrl)||void 0===o?void 0:o.description," ").concat(v)}),O&&(0,f.jsx)(a.Z,{}),b]}))})},d)},4654:function(e,t,r){"use strict";r.r(t),r.d(t,{__N_SSG:function(){return U},default:function(){return s}});var n=r(9499),o=r(5351),c=r(1163),a=r(2784),i=r(6142),l=r(2339),p=r(1197),u=r(5450),d=r(1023),b=r(5403),f=r(5430),j=r.n(f),y=r(9029),O=r(945),h=r(1080),P=r.n(h),v=r(9089),g=r(7921),w=r(1550),S=r(5152),m=r.n(S),_=r(3472),E=r(3638),x=r(4485),D=r(4439),Z=r(1271);function ownKeys(e,t){var r=Object.keys(e);if(Object.getOwnPropertySymbols){var n=Object.getOwnPropertySymbols(e);t&&(n=n.filter(function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable})),r.push.apply(r,n)}return r}function _objectSpread(e){for(var t=1;t<arguments.length;t++){var r=null!=arguments[t]?arguments[t]:{};t%2?ownKeys(Object(r),!0).forEach(function(t){(0,n.Z)(e,t,r[t])}):Object.getOwnPropertyDescriptors?Object.defineProperties(e,Object.getOwnPropertyDescriptors(r)):ownKeys(Object(r)).forEach(function(t){Object.defineProperty(e,t,Object.getOwnPropertyDescriptor(r,t))})}return e}var K=m()(()=>Promise.all([r.e(9161),r.e(84)]).then(r.bind(r,3620)).then(e=>e.OverriddenDefaultBannerText),{ssr:!1,loadableGenerated:{webpack:()=>[3620]}}),k=m()(()=>Promise.all([r.e(1770),r.e(218),r.e(9161),r.e(2858)]).then(r.bind(r,8545)),{ssr:!1,loadableGenerated:{webpack:()=>[8545]}}),G=m()(()=>Promise.all([r.e(1770),r.e(218),r.e(9704)]).then(r.bind(r,1482)).then(e=>e.OverriddenDefaultNewsletter),{ssr:!1,loadableGenerated:{webpack:()=>[1482]}}),N=m()(()=>Promise.all([r.e(3472),r.e(3506)]).then(r.bind(r,1171)).then(e=>e.OverriddenDefaultProductShelf),{ssr:!1,loadableGenerated:{webpack:()=>[1171]}}),W=m()(()=>r.e(7181).then(r.bind(r,9755)),{ssr:!1,loadableGenerated:{webpack:()=>[9755]}}),R=_objectSpread(_objectSpread({},Z.Z),{},{Breadcrumb:_.j,Hero:E.V,ProductGallery:x.f,BannerText:K,BannerNewsletter:k,Newsletter:G,ProductShelf:N,ProductTiles:W},D.Z),B=r(4960),C=r(7171),T=r(2322);function SearchPage_ownKeys(e,t){var r=Object.keys(e);if(Object.getOwnPropertySymbols){var n=Object.getOwnPropertySymbols(e);t&&(n=n.filter(function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable})),r.push.apply(r,n)}return r}function SearchPage_objectSpread(e){for(var t=1;t<arguments.length;t++){var r=null!=arguments[t]?arguments[t]:{};t%2?SearchPage_ownKeys(Object(r),!0).forEach(function(t){(0,n.Z)(e,t,r[t])}):Object.getOwnPropertyDescriptors?Object.defineProperties(e,Object.getOwnPropertyDescriptors(r)):SearchPage_ownKeys(Object(r)).forEach(function(t){Object.defineProperty(e,t,Object.getOwnPropertyDescriptor(r,t))})}return e}var SearchPage_SearchPage=function(e){var{page:{sections:t},data:r,globalSections:n}=e,{pages:o,useGalleryPage:c}=(0,C.Y_)(),a={data:SearchPage_objectSpread(SearchPage_objectSpread({},r),{},{pages:o})};return(0,T.jsx)(T.Fragment,{children:(0,T.jsx)(B.ZP,{context:a,children:(0,T.jsx)(C.Bj.Provider,{value:c,children:(0,T.jsx)(w.Z,{sections:t,globalSections:n,components:R})})})})};function SearchWrapper_ownKeys(e,t){var r=Object.keys(e);if(Object.getOwnPropertySymbols){var n=Object.getOwnPropertySymbols(e);t&&(n=n.filter(function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable})),r.push.apply(r,n)}return r}function SearchWrapper_objectSpread(e){for(var t=1;t<arguments.length;t++){var r=null!=arguments[t]?arguments[t]:{};t%2?SearchWrapper_ownKeys(Object(r),!0).forEach(function(t){(0,n.Z)(e,t,r[t])}):Object.getOwnPropertyDescriptors?Object.defineProperties(e,Object.getOwnPropertyDescriptors(r)):SearchWrapper_ownKeys(Object(r)).forEach(function(t){Object.defineProperty(e,t,Object.getOwnPropertyDescriptor(r,t))})}return e}function EmptySearch(){return(0,T.jsx)(v.Z,{className:"".concat(P().section," section-product-gallery"),children:(0,T.jsx)("section",{"data-testid":"product-gallery","data-fs-product-listing":!0,children:(0,T.jsx)(O.Z,{title:"",showLoader:!0})})})}function SearchWrapper(e){var t,r,{itemsPerPage:n,searchContentType:o,serverData:a,globalSections:i}=e,l=(0,c.useRouter)(),{state:{term:p,sort:u,selectedFacets:d}}=(0,y.R)(),{data:b,isValidating:f}=(0,g.UO)({term:p,sort:u,itemsPerPage:n,selectedFacets:d});return f||!b?(0,T.jsx)(EmptySearch,{}):null!=b&&null!==(t=b.redirect)&&void 0!==t&&t.url?(l.replace(null==b?void 0:null===(r=b.redirect)||void 0===r?void 0:r.url,null,{shallow:!0}),(0,T.jsx)(EmptySearch,{})):(0,T.jsx)(SearchPage_SearchPage,{page:o,data:SearchWrapper_objectSpread(SearchWrapper_objectSpread({},a),b),globalSections:i})}function s_ownKeys(e,t){var r=Object.keys(e);if(Object.getOwnPropertySymbols){var n=Object.getOwnPropertySymbols(e);t&&(n=n.filter(function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable})),r.push.apply(r,n)}return r}function s_objectSpread(e){for(var t=1;t<arguments.length;t++){var r=null!=arguments[t]?arguments[t]:{};t%2?s_ownKeys(Object(r),!0).forEach(function(t){(0,n.Z)(e,t,r[t])}):Object.getOwnPropertyDescriptors?Object.defineProperties(e,Object.getOwnPropertyDescriptors(r)):s_ownKeys(Object(r)).forEach(function(t){Object.defineProperty(e,t,Object.getOwnPropertyDescriptor(r,t))})}return e}var U=!0,useSearchParams=e=>{var{sort:t}=e,{asPath:r}=(0,c.useRouter)();return(0,a.useMemo)(()=>{var e=new URL(r,"http://localhost");t&&!e.searchParams.has("sort")&&e.searchParams.set("sort",t);var n=(0,i.Q)(e),o=(0,l.Z)(n).href;return(0,i.Q)(new URL(o))},[r,t])},s=function(e){var t,r,n,c,{page:a,globalSections:i}=e,{settings:l}=a,f=(0,b.j)(),y=useSearchParams({sort:null==l?void 0:null===(t=l.productGallery)||void 0===t?void 0:t.sortBySelection}),O="Search Results",{description:h,titleTemplate:P}=j().seo,v=null!==(r=null==l?void 0:null===(n=l.productGallery)||void 0===n?void 0:n.itemsPerPage)&&void 0!==r?r:d.g;return y?(0,T.jsxs)(p.z,s_objectSpread(s_objectSpread({onChange:f,itemsPerPage:v},y),{},{children:[(0,T.jsx)(o.PB,{noindex:!0,title:O,description:h,titleTemplate:P,openGraph:{type:"website",title:O,description:h}}),(0,T.jsx)(u.Z,{text:O}),(0,T.jsx)(SearchWrapper,{itemsPerPage:v,searchContentType:a,serverData:{title:O,searchTerm:null!==(c=y.term)&&void 0!==c?c:void 0},globalSections:i.sections})]})):null}},1343:function(e,t,r){(window.__NEXT_P=window.__NEXT_P||[]).push(["/s",function(){return r(4654)}])},8919:function(e){e.exports={section:"section_section__KG_b8",load:"section_load__DKeod"}}},function(e){e.O(0,[6941,1550,4501,9774,2888,179],function(){return e(e.s=1343)}),_N_E=e.O()}]);