@gem-sdk/components 19.1.0-staging.0 → 19.1.0-staging.2

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.
@@ -1,4 +1,4 @@
1
- "use strict";var e=require("@gem-sdk/core");const t=["desktop","mobile","tablet"],o=(e,o)=>{let l={};return t.forEach(t=>{l={...l,[`--d${"desktop"===t?"":`-${t}`}`]:`${e(t)?"none":o}`}}),l},l=t=>{let o={desktop:"none"};return["desktop","mobile","tablet"].forEach(l=>{let r=e.getResponsiveValueByScreen(t?.lineClamp,l),a=e.getResponsiveValueByScreen(t?.hasLineClamp,l);a&&r?o[l]=`calc(${r} * 1lh)`:o[l]="none"}),{...e.makeStyleResponsive("maxh",o)}};exports.getButtonStyle=({setting:t})=>{let l=e.composeTypographyStyle(t?.typo,t?.typography),r={...e.makeStyleResponsive("jc",t?.textAlign),...e.makeStyle({tt:t?.transform}),...l,...e.getGlobalColorStyle(t?.showMoreColor),...o(e=>!!t?.hasLineClamp&&void 0!==t.hasLineClamp[e]&&!t.hasLineClamp[e],"inline-flex")};return e.filterTruthyStyles(r)},exports.getMaxHeightStyleDefault=l,exports.getStaticCss=()=>{let e=`
1
+ "use strict";var e=require("@gem-sdk/core");const t=["desktop","mobile","tablet"],o=(e,o)=>{let l={};return t.forEach(t=>{l={...l,[`--d${"desktop"===t?"":`-${t}`}`]:`${e(t)?"none":o}`}}),l},l=t=>{let o={desktop:"none"};return["desktop","mobile","tablet"].forEach(l=>{let p=e.getResponsiveValueByScreen(t?.lineClamp,l),r=e.getResponsiveValueByScreen(t?.hasLineClamp,l);r&&p?o[l]=`calc(${p} * 1lh)`:o[l]="none"}),{...e.makeStyleResponsive("maxh",o)}};exports.getButtonStyle=({setting:t})=>{let l=e.composeTypographyStyle(t?.typo,t?.typography),p={...e.makeStyleResponsive("jc",t?.textAlign),...e.makeStyle({tt:t?.transform}),...l,...e.getGlobalColorStyle(t?.showMoreColor),...o(e=>!!t?.hasLineClamp&&void 0!==t.hasLineClamp[e]&&!t.hasLineClamp[e],"inline-flex")};return e.filterTruthyStyles(p)},exports.getMaxHeightStyleDefault=l,exports.getStaticCss=()=>{let e=`
2
2
  .gp-p-description-text > :not(ol, ul, table, div, style, script) {
3
3
  display: inline !important;
4
4
  }
@@ -7,6 +7,11 @@
7
7
  content: "";
8
8
  display: block; /* đảm bảo xuống d\xf2ng tr\xean Safari/iOS */
9
9
  }
10
+
11
+ .gp-p-description-text > :is(p, h1, h2, h3, h4, h5, h6, blockquote):not(:last-child)::after {
12
+ height: 1lh;
13
+ }
14
+
10
15
  .gp-p-description-text > table {
11
16
  box-shadow: none;
12
17
  }
@@ -14,4 +19,4 @@
14
19
  .p-description-wrapper.gp-p-description-text * {
15
20
  color: inherit;
16
21
  line-height: inherit !important;
17
- }`;return{gpDescriptionCss:e,textDescriptionCss:t}},exports.getTextStyle=({setting:t,renderMaxHeight:o})=>{let r=e.composeTypographyStyle(t?.typo,t?.typography),a={...e.getStyleShadow({value:t?.typo?.custom?.textShadow,styleAppliedFor:"text-shadow",isEnableShadow:t?.typo?.custom?.hasShadowText}),...e.makeStyleResponsive("ta",t?.textAlign),...e.getGlobalColorStyle(t?.color),...e.makeStyle({tt:t?.transform}),...r,...o&&l(t)};return e.filterTruthyStyles(a)};
22
+ }`;return{gpDescriptionCss:e,textDescriptionCss:t}},exports.getTextStyle=({setting:t,renderMaxHeight:o})=>{let p=e.composeTypographyStyle(t?.typo,t?.typography),r={...e.getStyleShadow({value:t?.typo?.custom?.textShadow,styleAppliedFor:"text-shadow",isEnableShadow:t?.typo?.custom?.hasShadowText}),...e.makeStyleResponsive("ta",t?.textAlign),...e.getGlobalColorStyle(t?.color),...e.makeStyle({tt:t?.transform}),...p,...o&&l(t)};return e.filterTruthyStyles(r)};
@@ -1 +1 @@
1
- "use strict";Object.defineProperty(exports,"__esModule",{value:!0});var e=require("react/jsx-runtime"),t=require("next/dynamic"),r=require("../../../common/components/Loading.js"),o=require("react"),d=require("@gem-sdk/core"),a=require("../SalePageProductListWarning.js"),s=require("next/head"),l=require("./ProductListGridLayout.js"),i=require("./ProductListCarouselLayout.js"),c=require("./common/styles.js"),n=require("@gem-sdk/system"),u=require("./common/classes.js"),g=require("./common/helpers.js"),m=require("../../../dialog/common/helpers.js");const h=t(()=>Promise.resolve().then(function(){return require("../ProductNotFound.js")}),{loading:r.default});exports.default=t=>{let{children:P,styles:f,builderProps:p,setting:y,builderAttrs:v}=t,{isRelatedProduct:b,productSetting:T}=g.getData(t),j=T.relatedTag&&T.relatedTag[0],{isEditMode:x,isPreviewSharePageMode:I}=d.useRenderMode(),k=d.useCurrentDevice(),S=d.usePageType(),C=d.usePageStore(e=>e.dynamicProduct),O=d.usePageStore(e=>e.dynamicCollection),[w,E]=o.useState(1),[q,M]=o.useState(!0),[N,L]=o.useState(),[W,F]=o.useState(!1),G="GP_FUNNEL_PAGE"===S;"GP_COLLECTION"==S&&(T.productSrc="DynamicCollection",T.collectionId=O?.collectionId??"latest");let Q=T?.productSrc??"Collection",B=C?.productId&&C?.productId!==T.relatedProductId?C?.productId:T.relatedProductId,D=d.useFetchHandle(),A=d.usePageStore(e=>e.publicStoreFrontData),H=o.useMemo(()=>d.hasPublicStoreFrontData(A)?d.createStoreFrontFetcher(A):D,[A]),{data:_}=d.useProductQuery(b&&B?B:void 0,{revalidateOnMount:x||I},H),z=T.relatedTag&&"tags"===T.relatedTag[0]&&(!_?.tags||_?.tags.length===0),R=T.relatedTag&&"collection"===T.relatedTag[0]&&(!_?.collections?.edges||_?.collections.edges.length===0),$=T.relatedTag&&"vendor"===T.relatedTag[0]&&!_?.vendor,V=d.useProductsQueryAll(N,{revalidateOnMount:x||I},H),U=x||I,J=d.useProductsQuery("PickProduct"===Q?T?.productIds:void 0,{revalidateOnMount:U},{defaultSelectedProductCount:T?.numOfSelectedProducts}),K=o.useMemo(()=>({id:T?.collectionId??"latest",numberOfProducts:y?.numberOfProducts??4,orderBy:y?.orderBy}),[T?.collectionId,Number(y?.numberOfProducts),y?.orderBy]),X=d.useCollectionQuery("PickProduct"!==Q?K:void 0,{revalidateOnMount:U});o.useEffect(()=>{if(b&&_&&T.relatedTag&&"recommended-product"!==T.relatedType){let e;switch(F(!1),T.hasRelatedExclude&&(e=T?.relatedExclude&&T.relatedExclude.split(",").map(e=>e.trim())),T.relatedTag[0]){case"vendor":L({first:y?.numberOfProducts,where:{vendor:T.relatedTag&&"vendor"===T.relatedTag[0]?_?.vendor:"",idNEQ:_.id}});break;case"collection":{let t=_?.collections?.edges.map(e=>e.node?.id);if(!t||t?.length===0){F(!0);break}L(e&&e.length>0?{first:y?.numberOfProducts,where:{idNEQ:_.id,hasCollectionProductsWith:[{hasCollectionWith:[{idIn:t},{titleNotIn:e}]}]}}:{first:y?.numberOfProducts,where:{idNEQ:_.id,hasCollectionProductsWith:[{hasCollectionWith:[{idIn:t}]}]}});break}case"tags":if(!_.tags||0===_.tags.length){F(!0);break}L(e&&e.length>0?{first:y?.numberOfProducts,where:{idNEQ:_.id,hasProductTagsWith:[{hasTagsWith:[{nameIn:_.tags},{nameNotIn:e}]}]}}:{first:y?.numberOfProducts,where:{idNEQ:_.id,hasProductTagsWith:[{hasTagsWith:[{nameIn:_.tags}]}]}})}}},[_,T.relatedType,T.relatedTag,y?.numberOfProducts,T.relatedExclude,T.hasRelatedExclude,b]);let Y="PickProduct"===Q?J.isValidating:X.isValidating,Z="PickProduct"===Q?J.isLoading:X.isLoading,ee="PickProduct"===Q?J.error:X.error,et=X.data?.collections?.edges?.[0]?.node,er="PickProduct"===Q?d.flattenConnection(J.data?.products):d.flattenConnection(et?.products),eo=V?.data?.products?d.flattenConnection(V?.data?.products):void 0,ed=b&&eo?eo:"PickProduct"===Q&&T?.productIds?.length?T?.productIds?.map(e=>er?.find(t=>t?.baseID===e)).filter(Boolean)??er:"PickProduct"!==Q?er:er.filter((e,t)=>t<(T?.numOfSelectedProducts??4)),ea=o.useMemo(()=>W&&b&&x||!ed.length&&!Z&&q&&x,[q,Z,W,b,x,ed.length]),es=o.useMemo(()=>!ed||W&&b,[W,b,ed]),el=o.useMemo(()=>{if(!y?.sameHeight)return[];let e=0,t=Math.ceil((ed?.length??0)/+(y?.slidesToShow?.[k]??1));return Array.from(Array(ed?.length??0)).map((r,o)=>(o>=+(y?.slidesToShow?.[k]??1)*(e+1)&&++e,{gridRow:`${1+w*e}/${w+1+w*e}`,marginBottom:e+1<t?m.getPropertyByDevice(f?.horizontalGutter,k):void 0}))},[y?.sameHeight,y?.slidesToShow,w,ed?.length,k,f?.horizontalGutter]),ei=o.useMemo(()=>Y||Z||ee||!ed||W&&b,[ee,Z,W,b,Y,ed]);o.useEffect(()=>{ei||setTimeout(()=>{let{builderData:e}=p??{},t=e?.childrens?.[0];if(!t)return;let r=document.querySelector(`[data-id=${t}] div`);r&&E(r.childElementCount||1)},x?0:500)},[p,ei,x]);let ec=o.useMemo(()=>({collection:et,products:ed,settings:{loop:y?.loop??{desktop:!1},scrollMode:y?.scrollMode??{desktop:"snap"},slidesToShow:y?.slidesToShow??{desktop:4,tablet:3,mobile:1},layout:f?.layout,dot:y?.dot,dotStyle:y?.dotStyle,arrow:y?.arrow,controlOverContent:y?.controlOverContent,sameHeight:y?.sameHeight},styles:{horizontalGutter:f?.horizontalGutter,verticalGutter:f?.verticalGutter,fullWidth:f?.fullWidth,spacing:f?.spacing,width:f?.width,height:f?.height}}),[et,ed,y,f]);if(p?.isPreview&&G)return e.jsx(e.Fragment,{});if(ea)return e.jsx(e.Fragment,{children:n.If(q,e.jsx(h,{builderAttrs:v,collectionHandle:et?.handle,productSrc:Q,onClose:()=>M(!1),children:P,relatedTagString:j,assignProductNoTags:z||R||$,noAssignedProduct:!B}))});let{productListWrapStyle:en,productListContentStyle:eu,productListWrapAlignStyle:eg}=c.getStyle(t),{productListWrapClass:em}=u.getClass(t);return e.jsxs("div",{...v,className:em,style:en,children:[!!f?.preloadBgImage&&e.jsxs(s,{children:[!!f.backgroundImage?.desktop?.image?.src&&e.jsx("link",{rel:"preload",href:f.backgroundImage.desktop.image.src,as:"image"}),!!f.backgroundImage?.tablet?.image?.src&&e.jsx("link",{rel:"preload",href:f.backgroundImage?.tablet?.image?.src,as:"image"}),!!f.backgroundImage?.mobile?.image?.src&&e.jsx("link",{rel:"preload",href:f.backgroundImage?.mobile?.image?.src,as:"image"})]}),Y||Z?e.jsx(r.default,{}):ee?e.jsxs("div",{children:["Error: ",ee?.message]}):es?e.jsx("div",{children:"Products not found"}):e.jsx(d.ProductListProvider,{...ec,children:e.jsx("div",{className:"gp-flex gp-w-full",style:eg,children:e.jsxs("div",{style:eu,children:[G&&e.jsx(a.default,{}),e.jsx(e.Fragment,{children:n.If(f?.layout==="grid",e.jsx(l.default,{...t,productSortedById:ed,generateGridRowArray:el}),e.jsx(i.default,{...t,productSortedById:ed}))})]})})}),d.filterToolbarPreview(P,!0)]})};
1
+ "use strict";Object.defineProperty(exports,"__esModule",{value:!0});var e=require("react/jsx-runtime"),t=require("next/dynamic"),r=require("../../../common/components/Loading.js"),o=require("react"),d=require("@gem-sdk/core"),a=require("../SalePageProductListWarning.js"),s=require("next/head"),l=require("./ProductListGridLayout.js"),i=require("./ProductListCarouselLayout.js"),c=require("./common/styles.js"),n=require("@gem-sdk/system"),u=require("./common/classes.js"),g=require("./common/helpers.js"),m=require("../../../dialog/common/helpers.js");const h=t(()=>Promise.resolve().then(function(){return require("../ProductNotFound.js")}),{loading:r.default});exports.default=t=>{let{children:P,styles:f,builderProps:p,setting:y,builderAttrs:v}=t,{isRelatedProduct:T,productSetting:b}=g.getData(t),I=b.relatedTag&&b.relatedTag[0],{isEditMode:S,isPreviewSharePageMode:j}=d.useRenderMode(),x=d.useCurrentDevice(),k=d.usePageType(),C=d.usePageStore(e=>e.dynamicProduct),O=d.usePageStore(e=>e.dynamicCollection),[w,E]=o.useState(1),[q,M]=o.useState(!0),[N,L]=o.useState(),[W,F]=o.useState(!1),G="GP_FUNNEL_PAGE"===k;"GP_COLLECTION"==k&&(b.productSrc="DynamicCollection",b.collectionId=O?.collectionId??"latest");let D=b?.productSrc??"Collection",Q=C?.productId&&C?.productId!==b.relatedProductId?C?.productId:b.relatedProductId,A=d.useFetchHandle(),B=d.usePageStore(e=>e.publicStoreFrontData),_=o.useMemo(()=>d.hasPublicStoreFrontData(B)?d.createStoreFrontFetcher(B):A,[B]),{data:H}=d.useProductQuery(T&&Q?Q:void 0,{revalidateOnMount:S||j},_),R=b.relatedTag&&"tags"===b.relatedTag[0]&&(!H?.tags||H?.tags.length===0),z=b.relatedTag&&"collection"===b.relatedTag[0]&&(!H?.collections?.edges||H?.collections.edges.length===0),U=b.relatedTag&&"vendor"===b.relatedTag[0]&&!H?.vendor,$=d.useProductsQueryAll(N,{revalidateOnMount:S||j},_),V=S||j,K=d.useProductsQuery("PickProduct"===D?b?.productIds:void 0,{revalidateOnMount:V},{defaultSelectedProductCount:b?.numOfSelectedProducts,selectedStatus:V&&b?.productIds?.length?d.PICKED_PRODUCT_STATUSES:void 0}),J=o.useMemo(()=>({id:b?.collectionId??"latest",numberOfProducts:y?.numberOfProducts??4,orderBy:y?.orderBy}),[b?.collectionId,Number(y?.numberOfProducts),y?.orderBy]),X=d.useCollectionQuery("PickProduct"!==D?J:void 0,{revalidateOnMount:V});o.useEffect(()=>{if(T&&H&&b.relatedTag&&"recommended-product"!==b.relatedType){let e;switch(F(!1),b.hasRelatedExclude&&(e=b?.relatedExclude&&b.relatedExclude.split(",").map(e=>e.trim())),b.relatedTag[0]){case"vendor":L({first:y?.numberOfProducts,where:{vendor:b.relatedTag&&"vendor"===b.relatedTag[0]?H?.vendor:"",idNEQ:H.id}});break;case"collection":{let t=H?.collections?.edges.map(e=>e.node?.id);if(!t||t?.length===0){F(!0);break}L(e&&e.length>0?{first:y?.numberOfProducts,where:{idNEQ:H.id,hasCollectionProductsWith:[{hasCollectionWith:[{idIn:t},{titleNotIn:e}]}]}}:{first:y?.numberOfProducts,where:{idNEQ:H.id,hasCollectionProductsWith:[{hasCollectionWith:[{idIn:t}]}]}});break}case"tags":if(!H.tags||0===H.tags.length){F(!0);break}L(e&&e.length>0?{first:y?.numberOfProducts,where:{idNEQ:H.id,hasProductTagsWith:[{hasTagsWith:[{nameIn:H.tags},{nameNotIn:e}]}]}}:{first:y?.numberOfProducts,where:{idNEQ:H.id,hasProductTagsWith:[{hasTagsWith:[{nameIn:H.tags}]}]}})}}},[H,b.relatedType,b.relatedTag,y?.numberOfProducts,b.relatedExclude,b.hasRelatedExclude,T]);let Y="PickProduct"===D?K.isValidating:X.isValidating,Z="PickProduct"===D?K.isLoading:X.isLoading,ee="PickProduct"===D?K.error:X.error,et=X.data?.collections?.edges?.[0]?.node,er="PickProduct"===D?d.flattenConnection(K.data?.products):d.flattenConnection(et?.products),eo=$?.data?.products?d.flattenConnection($?.data?.products):void 0,ed=T&&eo?eo:"PickProduct"===D&&b?.productIds?.length?b?.productIds?.map(e=>er?.find(t=>t?.baseID===e)).filter(Boolean)??er:"PickProduct"!==D?er:er.filter((e,t)=>t<(b?.numOfSelectedProducts??4)),ea=o.useMemo(()=>W&&T&&S||!ed.length&&!Z&&q&&S,[q,Z,W,T,S,ed.length]),es=o.useMemo(()=>!ed||W&&T,[W,T,ed]),el=o.useMemo(()=>{if(!y?.sameHeight)return[];let e=0,t=Math.ceil((ed?.length??0)/+(y?.slidesToShow?.[x]??1));return Array.from(Array(ed?.length??0)).map((r,o)=>(o>=+(y?.slidesToShow?.[x]??1)*(e+1)&&++e,{gridRow:`${1+w*e}/${w+1+w*e}`,marginBottom:e+1<t?m.getPropertyByDevice(f?.horizontalGutter,x):void 0}))},[y?.sameHeight,y?.slidesToShow,w,ed?.length,x,f?.horizontalGutter]),ei=o.useMemo(()=>Y||Z||ee||!ed||W&&T,[ee,Z,W,T,Y,ed]);o.useEffect(()=>{ei||setTimeout(()=>{let{builderData:e}=p??{},t=e?.childrens?.[0];if(!t)return;let r=document.querySelector(`[data-id=${t}] div`);r&&E(r.childElementCount||1)},S?0:500)},[p,ei,S]);let ec=o.useMemo(()=>({collection:et,products:ed,settings:{loop:y?.loop??{desktop:!1},scrollMode:y?.scrollMode??{desktop:"snap"},slidesToShow:y?.slidesToShow??{desktop:4,tablet:3,mobile:1},layout:f?.layout,dot:y?.dot,dotStyle:y?.dotStyle,arrow:y?.arrow,controlOverContent:y?.controlOverContent,sameHeight:y?.sameHeight},styles:{horizontalGutter:f?.horizontalGutter,verticalGutter:f?.verticalGutter,fullWidth:f?.fullWidth,spacing:f?.spacing,width:f?.width,height:f?.height}}),[et,ed,y,f]);if(p?.isPreview&&G)return e.jsx(e.Fragment,{});if(ea)return e.jsx(e.Fragment,{children:n.If(q,e.jsx(h,{builderAttrs:v,collectionHandle:et?.handle,productSrc:D,onClose:()=>M(!1),children:P,relatedTagString:I,assignProductNoTags:R||z||U,noAssignedProduct:!Q}))});let{productListWrapStyle:en,productListContentStyle:eu,productListWrapAlignStyle:eg}=c.getStyle(t),{productListWrapClass:em}=u.getClass(t);return e.jsxs("div",{...v,className:em,style:en,children:[!!f?.preloadBgImage&&e.jsxs(s,{children:[!!f.backgroundImage?.desktop?.image?.src&&e.jsx("link",{rel:"preload",href:f.backgroundImage.desktop.image.src,as:"image"}),!!f.backgroundImage?.tablet?.image?.src&&e.jsx("link",{rel:"preload",href:f.backgroundImage?.tablet?.image?.src,as:"image"}),!!f.backgroundImage?.mobile?.image?.src&&e.jsx("link",{rel:"preload",href:f.backgroundImage?.mobile?.image?.src,as:"image"})]}),Y||Z?e.jsx(r.default,{}):ee?e.jsxs("div",{children:["Error: ",ee?.message]}):es?e.jsx("div",{children:"Products not found"}):e.jsx(d.ProductListProvider,{...ec,children:e.jsx("div",{className:"gp-flex gp-w-full",style:eg,children:e.jsxs("div",{style:eu,children:[G&&e.jsx(a.default,{}),e.jsx(e.Fragment,{children:n.If(f?.layout==="grid",e.jsx(l.default,{...t,productSortedById:ed,generateGridRowArray:el}),e.jsx(i.default,{...t,productSortedById:ed}))})]})})}),d.filterToolbarPreview(P,!0)]})};
@@ -1 +1 @@
1
- "use strict";Object.defineProperty(exports,"__esModule",{value:!0});var e=require("react/jsx-runtime"),t=require("next/dynamic"),r=require("../../../common/components/Loading.js"),o=require("react"),d=require("@gem-sdk/core"),s=require("../SalePageProductListWarning.js"),a=require("next/head"),l=require("./ProductListGridLayout.js"),i=require("./ProductListCarouselLayout.js"),c=require("./common/styles.js"),n=require("@gem-sdk/system"),u=require("./common/classes.js"),g=require("./common/helpers.js"),m=require("../../../dialog/common/helpers.js");const h=t(()=>Promise.resolve().then(function(){return require("../ProductNotFound.js")}),{loading:r.default});exports.default=t=>{let{children:P,styles:f,builderProps:p,setting:y,builderAttrs:b}=t,{isRelatedProduct:v,productSetting:I}=g.getData(t),T=I.relatedTag&&I.relatedTag[0],{isEditMode:j,isPreviewSharePageMode:x}=d.useRenderMode(),S=d.useCurrentDevice(),k=d.usePageType(),C=d.usePageStore(e=>e.dynamicProduct),O=d.usePageStore(e=>e.dynamicCollection),[w,E]=o.useState(1),[M,q]=o.useState(!0),[N,L]=o.useState(),[W,F]=o.useState(!1),G="GP_FUNNEL_PAGE"===k;"GP_COLLECTION"==k&&(I.productSrc="DynamicCollection",I.collectionId=O?.collectionId??"latest");let Q=I?.productSrc??"Collection",A=C?.productId&&C?.productId!==I.relatedProductId?C?.productId:I.relatedProductId,B=d.useFetchHandle(),D=d.usePageStore(e=>e.publicStoreFrontData),H=o.useMemo(()=>d.hasPublicStoreFrontData(D)?d.createStoreFrontFetcher(D):B,[D]),{data:_}=d.useProductQuery(v&&A?A:void 0,{revalidateOnMount:j||x},H),z=I.relatedTag&&"tags"===I.relatedTag[0]&&(!_?.tags||_?.tags.length===0),R=I.relatedTag&&"collection"===I.relatedTag[0]&&(!_?.collections?.edges||_?.collections.edges.length===0),$=I.relatedTag&&"vendor"===I.relatedTag[0]&&!_?.vendor,V=d.useProductsQueryAll(N,{revalidateOnMount:j||x},H),U=j||x,J=d.useProductsQuery("PickProduct"===Q?I?.productIds:void 0,{revalidateOnMount:U},{defaultSelectedProductCount:I?.numOfSelectedProducts}),K=o.useMemo(()=>({id:I?.collectionId??"latest",numberOfProducts:y?.numberOfProducts??4,orderBy:y?.orderBy}),[I?.collectionId,Number(y?.numberOfProducts),y?.orderBy]),X=d.useCollectionQuery("PickProduct"!==Q?K:void 0,{revalidateOnMount:U});o.useEffect(()=>{if(v&&_&&I.relatedTag&&"recommended-product"!==I.relatedType){let e;switch(F(!1),I.hasRelatedExclude&&(e=I?.relatedExclude&&I.relatedExclude.split(",").map(e=>e.trim())),I.relatedTag[0]){case"vendor":L({first:y?.numberOfProducts,where:{vendor:I.relatedTag&&"vendor"===I.relatedTag[0]?_?.vendor:"",idNEQ:_.id}});break;case"collection":{let t=_?.collections?.edges.map(e=>e.node?.id);if(!t||t?.length===0){F(!0);break}L(e&&e.length>0?{first:y?.numberOfProducts,where:{idNEQ:_.id,hasCollectionProductsWith:[{hasCollectionWith:[{idIn:t},{titleNotIn:e}]}]}}:{first:y?.numberOfProducts,where:{idNEQ:_.id,hasCollectionProductsWith:[{hasCollectionWith:[{idIn:t}]}]}});break}case"tags":if(!_.tags||0===_.tags.length){F(!0);break}L(e&&e.length>0?{first:y?.numberOfProducts,where:{idNEQ:_.id,hasProductTagsWith:[{hasTagsWith:[{nameIn:_.tags},{nameNotIn:e}]}]}}:{first:y?.numberOfProducts,where:{idNEQ:_.id,hasProductTagsWith:[{hasTagsWith:[{nameIn:_.tags}]}]}})}}},[_,I.relatedType,I.relatedTag,y?.numberOfProducts,I.relatedExclude,I.hasRelatedExclude,v]);let Y="PickProduct"===Q?J.isValidating:X.isValidating,Z="PickProduct"===Q?J.isLoading:X.isLoading,ee="PickProduct"===Q?J.error:X.error,et=X.data?.collections?.edges?.[0]?.node,er="PickProduct"===Q?d.flattenConnection(J.data?.products):d.flattenConnection(et?.products),eo=d.usePageStore(e=>e.assignedProductIds),ed=d.usePageStore(e=>e.isApplyAllProducts),es=o.useMemo(()=>(eo??[]).length>0&&!ed||ed,[eo,ed]),ea=V?.data?.products&&es?d.flattenConnection(V?.data?.products):[],el=v?ea:"PickProduct"===Q&&I?.productIds?.length?I?.productIds?.map(e=>er?.find(t=>t?.baseID===e)).filter(Boolean)??er:"PickProduct"!==Q?er:er.filter((e,t)=>t<(I?.numOfSelectedProducts??4)),ei=o.useMemo(()=>W&&v&&j||!el.length&&!Z&&M&&j,[M,Z,W,v,j,el.length]),ec=o.useMemo(()=>!el||W&&v,[W,v,el]),en=o.useMemo(()=>{if(!y?.sameHeight)return[];let e=0,t=Math.ceil((el?.length??0)/+(y?.slidesToShow?.[S]??1));return Array.from(Array(el?.length??0)).map((r,o)=>(o>=+(y?.slidesToShow?.[S]??1)*(e+1)&&++e,{gridRow:`${1+w*e}/${w+1+w*e}`,marginBottom:e+1<t?m.getPropertyByDevice(f?.horizontalGutter,S):void 0}))},[y?.sameHeight,y?.slidesToShow,w,el?.length,S,f?.horizontalGutter]),eu=o.useMemo(()=>Y||Z||ee||!el||W&&v,[ee,Z,W,v,Y,el]),eg=_?.collections?.edges.map(e=>e.node?.id)??[];o.useEffect(()=>{eu||setTimeout(()=>{let{builderData:e}=p??{},t=e?.childrens?.[0];if(!t)return;let r=document.querySelector(`[data-id=${t}] div`);r&&E(r.childElementCount||1)},j?0:500)},[p,eu,j,eg]);let em=o.useMemo(()=>({collection:et,products:el,settings:{loop:y?.loop??{desktop:!1},scrollMode:y?.scrollMode??{desktop:"snap"},slidesToShow:y?.slidesToShow??{desktop:4,tablet:3,mobile:1},layout:f?.layout,dot:y?.dot,dotStyle:y?.dotStyle,arrow:y?.arrow,controlOverContent:y?.controlOverContent,sameHeight:y?.sameHeight},styles:{horizontalGutter:f?.horizontalGutter,verticalGutter:f?.verticalGutter,fullWidth:f?.fullWidth,spacing:f?.spacing,width:f?.width,height:f?.height}}),[et,el,y,f]);if(p?.isPreview&&G)return e.jsx(e.Fragment,{});if(ei)return e.jsx(e.Fragment,{children:n.If(M,e.jsx(h,{builderAttrs:b,collectionHandle:et?.handle,productSrc:Q,onClose:()=>q(!1),children:P,relatedTagString:T,assignProductNoTags:z||R||$,noAssignedProduct:!A}))});let{productListWrapStyle:eh,productListContentStyle:eP,productListWrapAlignStyle:ef}=c.getStyle(t),{productListWrapClass:ep}=u.getClass(t);return e.jsxs("div",{...b,className:ep,style:eh,children:[!!f?.preloadBgImage&&e.jsxs(a,{children:[!!f.backgroundImage?.desktop?.image?.src&&e.jsx("link",{rel:"preload",href:f.backgroundImage.desktop.image.src,as:"image"}),!!f.backgroundImage?.tablet?.image?.src&&e.jsx("link",{rel:"preload",href:f.backgroundImage?.tablet?.image?.src,as:"image"}),!!f.backgroundImage?.mobile?.image?.src&&e.jsx("link",{rel:"preload",href:f.backgroundImage?.mobile?.image?.src,as:"image"})]}),Y||Z?e.jsx(r.default,{}):ee?e.jsxs("div",{children:["Error: ",ee?.message]}):ec?e.jsx("div",{children:"Products not found"}):e.jsx(d.ProductListProvider,{...em,children:e.jsx("div",{className:"gp-flex gp-w-full",style:ef,children:e.jsxs("div",{style:eP,children:[G&&e.jsx(s.default,{}),e.jsx(e.Fragment,{children:n.If(f?.layout==="grid",e.jsx(l.default,{...t,productSortedById:el,generateGridRowArray:en}),e.jsx(i.default,{...t,productSortedById:el}))})]})})}),d.filterToolbarPreview(P,!0)]})};
1
+ "use strict";Object.defineProperty(exports,"__esModule",{value:!0});var e=require("react/jsx-runtime"),t=require("next/dynamic"),r=require("../../../common/components/Loading.js"),o=require("react"),d=require("@gem-sdk/core"),s=require("../SalePageProductListWarning.js"),a=require("next/head"),l=require("./ProductListGridLayout.js"),i=require("./ProductListCarouselLayout.js"),c=require("./common/styles.js"),n=require("@gem-sdk/system"),u=require("./common/classes.js"),g=require("./common/helpers.js"),m=require("../../../dialog/common/helpers.js");const h=t(()=>Promise.resolve().then(function(){return require("../ProductNotFound.js")}),{loading:r.default});exports.default=t=>{let{children:P,styles:f,builderProps:p,setting:y,builderAttrs:v}=t,{isRelatedProduct:S,productSetting:T}=g.getData(t),b=T.relatedTag&&T.relatedTag[0],{isEditMode:I,isPreviewSharePageMode:j}=d.useRenderMode(),x=d.useCurrentDevice(),k=d.usePageType(),C=d.usePageStore(e=>e.dynamicProduct),O=d.usePageStore(e=>e.dynamicCollection),[w,E]=o.useState(1),[M,q]=o.useState(!0),[N,L]=o.useState(),[W,F]=o.useState(!1),G="GP_FUNNEL_PAGE"===k;"GP_COLLECTION"==k&&(T.productSrc="DynamicCollection",T.collectionId=O?.collectionId??"latest");let A=T?.productSrc??"Collection",D=C?.productId&&C?.productId!==T.relatedProductId?C?.productId:T.relatedProductId,Q=d.useFetchHandle(),B=d.usePageStore(e=>e.publicStoreFrontData),_=o.useMemo(()=>d.hasPublicStoreFrontData(B)?d.createStoreFrontFetcher(B):Q,[B]),{data:H}=d.useProductQuery(S&&D?D:void 0,{revalidateOnMount:I||j},_),R=T.relatedTag&&"tags"===T.relatedTag[0]&&(!H?.tags||H?.tags.length===0),z=T.relatedTag&&"collection"===T.relatedTag[0]&&(!H?.collections?.edges||H?.collections.edges.length===0),U=T.relatedTag&&"vendor"===T.relatedTag[0]&&!H?.vendor,$=d.useProductsQueryAll(N,{revalidateOnMount:I||j},_),V=I||j,K=d.useProductsQuery("PickProduct"===A?T?.productIds:void 0,{revalidateOnMount:V},{defaultSelectedProductCount:T?.numOfSelectedProducts,selectedStatus:V&&T?.productIds?.length?d.PICKED_PRODUCT_STATUSES:void 0}),J=o.useMemo(()=>({id:T?.collectionId??"latest",numberOfProducts:y?.numberOfProducts??4,orderBy:y?.orderBy}),[T?.collectionId,Number(y?.numberOfProducts),y?.orderBy]),X=d.useCollectionQuery("PickProduct"!==A?J:void 0,{revalidateOnMount:V});o.useEffect(()=>{if(S&&H&&T.relatedTag&&"recommended-product"!==T.relatedType){let e;switch(F(!1),T.hasRelatedExclude&&(e=T?.relatedExclude&&T.relatedExclude.split(",").map(e=>e.trim())),T.relatedTag[0]){case"vendor":L({first:y?.numberOfProducts,where:{vendor:T.relatedTag&&"vendor"===T.relatedTag[0]?H?.vendor:"",idNEQ:H.id}});break;case"collection":{let t=H?.collections?.edges.map(e=>e.node?.id);if(!t||t?.length===0){F(!0);break}L(e&&e.length>0?{first:y?.numberOfProducts,where:{idNEQ:H.id,hasCollectionProductsWith:[{hasCollectionWith:[{idIn:t},{titleNotIn:e}]}]}}:{first:y?.numberOfProducts,where:{idNEQ:H.id,hasCollectionProductsWith:[{hasCollectionWith:[{idIn:t}]}]}});break}case"tags":if(!H.tags||0===H.tags.length){F(!0);break}L(e&&e.length>0?{first:y?.numberOfProducts,where:{idNEQ:H.id,hasProductTagsWith:[{hasTagsWith:[{nameIn:H.tags},{nameNotIn:e}]}]}}:{first:y?.numberOfProducts,where:{idNEQ:H.id,hasProductTagsWith:[{hasTagsWith:[{nameIn:H.tags}]}]}})}}},[H,T.relatedType,T.relatedTag,y?.numberOfProducts,T.relatedExclude,T.hasRelatedExclude,S]);let Y="PickProduct"===A?K.isValidating:X.isValidating,Z="PickProduct"===A?K.isLoading:X.isLoading,ee="PickProduct"===A?K.error:X.error,et=X.data?.collections?.edges?.[0]?.node,er="PickProduct"===A?d.flattenConnection(K.data?.products):d.flattenConnection(et?.products),eo=d.usePageStore(e=>e.assignedProductIds),ed=d.usePageStore(e=>e.isApplyAllProducts),es=o.useMemo(()=>(eo??[]).length>0&&!ed||ed,[eo,ed]),ea=$?.data?.products&&es?d.flattenConnection($?.data?.products):[],el=S?ea:"PickProduct"===A&&T?.productIds?.length?T?.productIds?.map(e=>er?.find(t=>t?.baseID===e)).filter(Boolean)??er:"PickProduct"!==A?er:er.filter((e,t)=>t<(T?.numOfSelectedProducts??4)),ei=o.useMemo(()=>W&&S&&I||!el.length&&!Z&&M&&I,[M,Z,W,S,I,el.length]),ec=o.useMemo(()=>!el||W&&S,[W,S,el]),en=o.useMemo(()=>{if(!y?.sameHeight)return[];let e=0,t=Math.ceil((el?.length??0)/+(y?.slidesToShow?.[x]??1));return Array.from(Array(el?.length??0)).map((r,o)=>(o>=+(y?.slidesToShow?.[x]??1)*(e+1)&&++e,{gridRow:`${1+w*e}/${w+1+w*e}`,marginBottom:e+1<t?m.getPropertyByDevice(f?.horizontalGutter,x):void 0}))},[y?.sameHeight,y?.slidesToShow,w,el?.length,x,f?.horizontalGutter]),eu=o.useMemo(()=>Y||Z||ee||!el||W&&S,[ee,Z,W,S,Y,el]),eg=H?.collections?.edges.map(e=>e.node?.id)??[];o.useEffect(()=>{eu||setTimeout(()=>{let{builderData:e}=p??{},t=e?.childrens?.[0];if(!t)return;let r=document.querySelector(`[data-id=${t}] div`);r&&E(r.childElementCount||1)},I?0:500)},[p,eu,I,eg]);let em=o.useMemo(()=>({collection:et,products:el,settings:{loop:y?.loop??{desktop:!1},scrollMode:y?.scrollMode??{desktop:"snap"},slidesToShow:y?.slidesToShow??{desktop:4,tablet:3,mobile:1},layout:f?.layout,dot:y?.dot,dotStyle:y?.dotStyle,arrow:y?.arrow,controlOverContent:y?.controlOverContent,sameHeight:y?.sameHeight},styles:{horizontalGutter:f?.horizontalGutter,verticalGutter:f?.verticalGutter,fullWidth:f?.fullWidth,spacing:f?.spacing,width:f?.width,height:f?.height}}),[et,el,y,f]);if(p?.isPreview&&G)return e.jsx(e.Fragment,{});if(ei)return e.jsx(e.Fragment,{children:n.If(M,e.jsx(h,{builderAttrs:v,collectionHandle:et?.handle,productSrc:A,onClose:()=>q(!1),children:P,relatedTagString:b,assignProductNoTags:R||z||U,noAssignedProduct:!D}))});let{productListWrapStyle:eh,productListContentStyle:eP,productListWrapAlignStyle:ef}=c.getStyle(t),{productListWrapClass:ep}=u.getClass(t);return e.jsxs("div",{...v,className:ep,style:eh,children:[!!f?.preloadBgImage&&e.jsxs(a,{children:[!!f.backgroundImage?.desktop?.image?.src&&e.jsx("link",{rel:"preload",href:f.backgroundImage.desktop.image.src,as:"image"}),!!f.backgroundImage?.tablet?.image?.src&&e.jsx("link",{rel:"preload",href:f.backgroundImage?.tablet?.image?.src,as:"image"}),!!f.backgroundImage?.mobile?.image?.src&&e.jsx("link",{rel:"preload",href:f.backgroundImage?.mobile?.image?.src,as:"image"})]}),Y||Z?e.jsx(r.default,{}):ee?e.jsxs("div",{children:["Error: ",ee?.message]}):ec?e.jsx("div",{children:"Products not found"}):e.jsx(d.ProductListProvider,{...em,children:e.jsx("div",{className:"gp-flex gp-w-full",style:ef,children:e.jsxs("div",{style:eP,children:[G&&e.jsx(s.default,{}),e.jsx(e.Fragment,{children:n.If(f?.layout==="grid",e.jsx(l.default,{...t,productSortedById:el,generateGridRowArray:en}),e.jsx(i.default,{...t,productSortedById:el}))})]})})}),d.filterToolbarPreview(P,!0)]})};
@@ -1,4 +1,4 @@
1
- import{composeTypographyStyle as t,makeStyle as e,getGlobalColorStyle as o,makeStyleResponsive as l,getStyleShadow as i,filterTruthyStyles as n,getResponsiveValueByScreen as a}from"@gem-sdk/core";let p=["desktop","mobile","tablet"],r=(t,e)=>{let o={};return p.forEach(l=>{o={...o,[`--d${"desktop"===l?"":`-${l}`}`]:`${t(l)?"none":e}`}}),o},s=({setting:a,renderMaxHeight:p})=>{let r=t(a?.typo,a?.typography),s={...i({value:a?.typo?.custom?.textShadow,styleAppliedFor:"text-shadow",isEnableShadow:a?.typo?.custom?.hasShadowText}),...l("ta",a?.textAlign),...o(a?.color),...e({tt:a?.transform}),...r,...p&&c(a)};return n(s)},d=({setting:i})=>{let a=t(i?.typo,i?.typography),p={...l("jc",i?.textAlign),...e({tt:i?.transform}),...a,...o(i?.showMoreColor),...r(t=>!!i?.hasLineClamp&&void 0!==i.hasLineClamp[t]&&!i.hasLineClamp[t],"inline-flex")};return n(p)},h=()=>{let t=`
1
+ import{composeTypographyStyle as t,makeStyle as e,getGlobalColorStyle as o,makeStyleResponsive as l,getStyleShadow as i,filterTruthyStyles as n,getResponsiveValueByScreen as p}from"@gem-sdk/core";let a=["desktop","mobile","tablet"],r=(t,e)=>{let o={};return a.forEach(l=>{o={...o,[`--d${"desktop"===l?"":`-${l}`}`]:`${t(l)?"none":e}`}}),o},s=({setting:p,renderMaxHeight:a})=>{let r=t(p?.typo,p?.typography),s={...i({value:p?.typo?.custom?.textShadow,styleAppliedFor:"text-shadow",isEnableShadow:p?.typo?.custom?.hasShadowText}),...l("ta",p?.textAlign),...o(p?.color),...e({tt:p?.transform}),...r,...a&&c(p)};return n(s)},h=({setting:i})=>{let p=t(i?.typo,i?.typography),a={...l("jc",i?.textAlign),...e({tt:i?.transform}),...p,...o(i?.showMoreColor),...r(t=>!!i?.hasLineClamp&&void 0!==i.hasLineClamp[t]&&!i.hasLineClamp[t],"inline-flex")};return n(a)},d=()=>{let t=`
2
2
  .gp-p-description-text > :not(ol, ul, table, div, style, script) {
3
3
  display: inline !important;
4
4
  }
@@ -7,6 +7,11 @@ import{composeTypographyStyle as t,makeStyle as e,getGlobalColorStyle as o,makeS
7
7
  content: "";
8
8
  display: block; /* đảm bảo xuống d\xf2ng tr\xean Safari/iOS */
9
9
  }
10
+
11
+ .gp-p-description-text > :is(p, h1, h2, h3, h4, h5, h6, blockquote):not(:last-child)::after {
12
+ height: 1lh;
13
+ }
14
+
10
15
  .gp-p-description-text > table {
11
16
  box-shadow: none;
12
17
  }
@@ -14,4 +19,4 @@ import{composeTypographyStyle as t,makeStyle as e,getGlobalColorStyle as o,makeS
14
19
  .p-description-wrapper.gp-p-description-text * {
15
20
  color: inherit;
16
21
  line-height: inherit !important;
17
- }`;return{gpDescriptionCss:t,textDescriptionCss:e}},c=t=>{let e={desktop:"none"};return["desktop","mobile","tablet"].forEach(o=>{let l=a(t?.lineClamp,o),i=a(t?.hasLineClamp,o);i&&l?e[o]=`calc(${l} * 1lh)`:e[o]="none"}),{...l("maxh",e)}};export{d as getButtonStyle,c as getMaxHeightStyleDefault,h as getStaticCss,s as getTextStyle};
22
+ }`;return{gpDescriptionCss:t,textDescriptionCss:e}},c=t=>{let e={desktop:"none"};return["desktop","mobile","tablet"].forEach(o=>{let l=p(t?.lineClamp,o),i=p(t?.hasLineClamp,o);i&&l?e[o]=`calc(${l} * 1lh)`:e[o]="none"}),{...l("maxh",e)}};export{h as getButtonStyle,c as getMaxHeightStyleDefault,d as getStaticCss,s as getTextStyle};
@@ -1 +1 @@
1
- import{jsx as e,Fragment as t,jsxs as r}from"react/jsx-runtime";import o from"next/dynamic";import d from"../../../common/components/Loading.js";import{useState as a,useMemo as l,useEffect as i}from"react";import{useRenderMode as c,useCurrentDevice as s,usePageType as n,usePageStore as u,useFetchHandle as m,hasPublicStoreFrontData as g,createStoreFrontFetcher as h,useProductQuery as p,useProductsQueryAll as f,useProductsQuery as P,useCollectionQuery as b,flattenConnection as k,ProductListProvider as T,filterToolbarPreview as I}from"@gem-sdk/core";import v from"../SalePageProductListWarning.js";import y from"next/head";import O from"./ProductListGridLayout.js";import w from"./ProductListCarouselLayout.js";import{getStyle as S}from"./common/styles.js";import{If as C}from"@gem-sdk/system";import{getClass as E}from"./common/classes.js";import{getData as N}from"./common/helpers.js";import{getPropertyByDevice as L}from"../../../dialog/common/helpers.js";let W=o(()=>import("../ProductNotFound.js"),{loading:d}),j=o=>{let{children:j,styles:x,builderProps:G,setting:M,builderAttrs:B}=o,{isRelatedProduct:A,productSetting:H}=N(o),Q=H.relatedTag&&H.relatedTag[0],{isEditMode:z,isPreviewSharePageMode:D}=c(),F=s(),R=n(),$=u(e=>e.dynamicProduct),_=u(e=>e.dynamicCollection),[V,q]=a(1),[U,J]=a(!0),[K,X]=a(),[Y,Z]=a(!1),ee="GP_FUNNEL_PAGE"===R;"GP_COLLECTION"==R&&(H.productSrc="DynamicCollection",H.collectionId=_?.collectionId??"latest");let et=H?.productSrc??"Collection",er=$?.productId&&$?.productId!==H.relatedProductId?$?.productId:H.relatedProductId,eo=m(),ed=u(e=>e.publicStoreFrontData),ea=l(()=>g(ed)?h(ed):eo,[ed]),{data:el}=p(A&&er?er:void 0,{revalidateOnMount:z||D},ea),ei=H.relatedTag&&"tags"===H.relatedTag[0]&&(!el?.tags||el?.tags.length===0),ec=H.relatedTag&&"collection"===H.relatedTag[0]&&(!el?.collections?.edges||el?.collections.edges.length===0),es=H.relatedTag&&"vendor"===H.relatedTag[0]&&!el?.vendor,en=f(K,{revalidateOnMount:z||D},ea),eu=z||D,em=P("PickProduct"===et?H?.productIds:void 0,{revalidateOnMount:eu},{defaultSelectedProductCount:H?.numOfSelectedProducts}),eg=l(()=>({id:H?.collectionId??"latest",numberOfProducts:M?.numberOfProducts??4,orderBy:M?.orderBy}),[H?.collectionId,Number(M?.numberOfProducts),M?.orderBy]),eh=b("PickProduct"!==et?eg:void 0,{revalidateOnMount:eu});i(()=>{if(A&&el&&H.relatedTag&&"recommended-product"!==H.relatedType){let e;switch(Z(!1),H.hasRelatedExclude&&(e=H?.relatedExclude&&H.relatedExclude.split(",").map(e=>e.trim())),H.relatedTag[0]){case"vendor":X({first:M?.numberOfProducts,where:{vendor:H.relatedTag&&"vendor"===H.relatedTag[0]?el?.vendor:"",idNEQ:el.id}});break;case"collection":{let t=el?.collections?.edges.map(e=>e.node?.id);if(!t||t?.length===0){Z(!0);break}X(e&&e.length>0?{first:M?.numberOfProducts,where:{idNEQ:el.id,hasCollectionProductsWith:[{hasCollectionWith:[{idIn:t},{titleNotIn:e}]}]}}:{first:M?.numberOfProducts,where:{idNEQ:el.id,hasCollectionProductsWith:[{hasCollectionWith:[{idIn:t}]}]}});break}case"tags":if(!el.tags||0===el.tags.length){Z(!0);break}X(e&&e.length>0?{first:M?.numberOfProducts,where:{idNEQ:el.id,hasProductTagsWith:[{hasTagsWith:[{nameIn:el.tags},{nameNotIn:e}]}]}}:{first:M?.numberOfProducts,where:{idNEQ:el.id,hasProductTagsWith:[{hasTagsWith:[{nameIn:el.tags}]}]}})}}},[el,H.relatedType,H.relatedTag,M?.numberOfProducts,H.relatedExclude,H.hasRelatedExclude,A]);let ep="PickProduct"===et?em.isValidating:eh.isValidating,ef="PickProduct"===et?em.isLoading:eh.isLoading,eP="PickProduct"===et?em.error:eh.error,eb=eh.data?.collections?.edges?.[0]?.node,ek="PickProduct"===et?k(em.data?.products):k(eb?.products),eT=en?.data?.products?k(en?.data?.products):void 0,eI=A&&eT?eT:"PickProduct"===et&&H?.productIds?.length?H?.productIds?.map(e=>ek?.find(t=>t?.baseID===e)).filter(Boolean)??ek:"PickProduct"!==et?ek:ek.filter((e,t)=>t<(H?.numOfSelectedProducts??4)),ev=l(()=>Y&&A&&z||!eI.length&&!ef&&U&&z,[U,ef,Y,A,z,eI.length]),ey=l(()=>!eI||Y&&A,[Y,A,eI]),eO=l(()=>{if(!M?.sameHeight)return[];let e=0,t=Math.ceil((eI?.length??0)/+(M?.slidesToShow?.[F]??1));return Array.from(Array(eI?.length??0)).map((r,o)=>(o>=+(M?.slidesToShow?.[F]??1)*(e+1)&&++e,{gridRow:`${1+V*e}/${V+1+V*e}`,marginBottom:e+1<t?L(x?.horizontalGutter,F):void 0}))},[M?.sameHeight,M?.slidesToShow,V,eI?.length,F,x?.horizontalGutter]),ew=l(()=>ep||ef||eP||!eI||Y&&A,[eP,ef,Y,A,ep,eI]);i(()=>{ew||setTimeout(()=>{let{builderData:e}=G??{},t=e?.childrens?.[0];if(!t)return;let r=document.querySelector(`[data-id=${t}] div`);r&&q(r.childElementCount||1)},z?0:500)},[G,ew,z]);let eS=l(()=>({collection:eb,products:eI,settings:{loop:M?.loop??{desktop:!1},scrollMode:M?.scrollMode??{desktop:"snap"},slidesToShow:M?.slidesToShow??{desktop:4,tablet:3,mobile:1},layout:x?.layout,dot:M?.dot,dotStyle:M?.dotStyle,arrow:M?.arrow,controlOverContent:M?.controlOverContent,sameHeight:M?.sameHeight},styles:{horizontalGutter:x?.horizontalGutter,verticalGutter:x?.verticalGutter,fullWidth:x?.fullWidth,spacing:x?.spacing,width:x?.width,height:x?.height}}),[eb,eI,M,x]);if(G?.isPreview&&ee)return e(t,{});if(ev)return e(t,{children:C(U,e(W,{builderAttrs:B,collectionHandle:eb?.handle,productSrc:et,onClose:()=>J(!1),children:j,relatedTagString:Q,assignProductNoTags:ei||ec||es,noAssignedProduct:!er}))});let{productListWrapStyle:eC,productListContentStyle:eE,productListWrapAlignStyle:eN}=S(o),{productListWrapClass:eL}=E(o);return r("div",{...B,className:eL,style:eC,children:[!!x?.preloadBgImage&&r(y,{children:[!!x.backgroundImage?.desktop?.image?.src&&e("link",{rel:"preload",href:x.backgroundImage.desktop.image.src,as:"image"}),!!x.backgroundImage?.tablet?.image?.src&&e("link",{rel:"preload",href:x.backgroundImage?.tablet?.image?.src,as:"image"}),!!x.backgroundImage?.mobile?.image?.src&&e("link",{rel:"preload",href:x.backgroundImage?.mobile?.image?.src,as:"image"})]}),ep||ef?e(d,{}):eP?r("div",{children:["Error: ",eP?.message]}):ey?e("div",{children:"Products not found"}):e(T,{...eS,children:e("div",{className:"gp-flex gp-w-full",style:eN,children:r("div",{style:eE,children:[ee&&e(v,{}),e(t,{children:C(x?.layout==="grid",e(O,{...o,productSortedById:eI,generateGridRowArray:eO}),e(w,{...o,productSortedById:eI}))})]})})}),I(j,!0)]})};export{j as default};
1
+ import{jsx as e,Fragment as t,jsxs as r}from"react/jsx-runtime";import o from"next/dynamic";import d from"../../../common/components/Loading.js";import{useState as a,useMemo as l,useEffect as i}from"react";import{useRenderMode as c,useCurrentDevice as s,usePageType as n,usePageStore as u,useFetchHandle as m,hasPublicStoreFrontData as g,createStoreFrontFetcher as h,useProductQuery as p,useProductsQueryAll as f,useProductsQuery as P,PICKED_PRODUCT_STATUSES as b,useCollectionQuery as k,flattenConnection as I,ProductListProvider as T,filterToolbarPreview as v}from"@gem-sdk/core";import y from"../SalePageProductListWarning.js";import O from"next/head";import w from"./ProductListGridLayout.js";import S from"./ProductListCarouselLayout.js";import{getStyle as C}from"./common/styles.js";import{If as E}from"@gem-sdk/system";import{getClass as N}from"./common/classes.js";import{getData as L}from"./common/helpers.js";import{getPropertyByDevice as W}from"../../../dialog/common/helpers.js";let j=o(()=>import("../ProductNotFound.js"),{loading:d}),x=o=>{let{children:x,styles:G,builderProps:M,setting:B,builderAttrs:A}=o,{isRelatedProduct:H,productSetting:Q}=L(o),z=Q.relatedTag&&Q.relatedTag[0],{isEditMode:D,isPreviewSharePageMode:F}=c(),R=s(),$=n(),_=u(e=>e.dynamicProduct),V=u(e=>e.dynamicCollection),[q,U]=a(1),[J,K]=a(!0),[X,Y]=a(),[Z,ee]=a(!1),et="GP_FUNNEL_PAGE"===$;"GP_COLLECTION"==$&&(Q.productSrc="DynamicCollection",Q.collectionId=V?.collectionId??"latest");let er=Q?.productSrc??"Collection",eo=_?.productId&&_?.productId!==Q.relatedProductId?_?.productId:Q.relatedProductId,ed=m(),ea=u(e=>e.publicStoreFrontData),el=l(()=>g(ea)?h(ea):ed,[ea]),{data:ei}=p(H&&eo?eo:void 0,{revalidateOnMount:D||F},el),ec=Q.relatedTag&&"tags"===Q.relatedTag[0]&&(!ei?.tags||ei?.tags.length===0),es=Q.relatedTag&&"collection"===Q.relatedTag[0]&&(!ei?.collections?.edges||ei?.collections.edges.length===0),en=Q.relatedTag&&"vendor"===Q.relatedTag[0]&&!ei?.vendor,eu=f(X,{revalidateOnMount:D||F},el),em=D||F,eg=P("PickProduct"===er?Q?.productIds:void 0,{revalidateOnMount:em},{defaultSelectedProductCount:Q?.numOfSelectedProducts,selectedStatus:em&&Q?.productIds?.length?b:void 0}),eh=l(()=>({id:Q?.collectionId??"latest",numberOfProducts:B?.numberOfProducts??4,orderBy:B?.orderBy}),[Q?.collectionId,Number(B?.numberOfProducts),B?.orderBy]),ep=k("PickProduct"!==er?eh:void 0,{revalidateOnMount:em});i(()=>{if(H&&ei&&Q.relatedTag&&"recommended-product"!==Q.relatedType){let e;switch(ee(!1),Q.hasRelatedExclude&&(e=Q?.relatedExclude&&Q.relatedExclude.split(",").map(e=>e.trim())),Q.relatedTag[0]){case"vendor":Y({first:B?.numberOfProducts,where:{vendor:Q.relatedTag&&"vendor"===Q.relatedTag[0]?ei?.vendor:"",idNEQ:ei.id}});break;case"collection":{let t=ei?.collections?.edges.map(e=>e.node?.id);if(!t||t?.length===0){ee(!0);break}Y(e&&e.length>0?{first:B?.numberOfProducts,where:{idNEQ:ei.id,hasCollectionProductsWith:[{hasCollectionWith:[{idIn:t},{titleNotIn:e}]}]}}:{first:B?.numberOfProducts,where:{idNEQ:ei.id,hasCollectionProductsWith:[{hasCollectionWith:[{idIn:t}]}]}});break}case"tags":if(!ei.tags||0===ei.tags.length){ee(!0);break}Y(e&&e.length>0?{first:B?.numberOfProducts,where:{idNEQ:ei.id,hasProductTagsWith:[{hasTagsWith:[{nameIn:ei.tags},{nameNotIn:e}]}]}}:{first:B?.numberOfProducts,where:{idNEQ:ei.id,hasProductTagsWith:[{hasTagsWith:[{nameIn:ei.tags}]}]}})}}},[ei,Q.relatedType,Q.relatedTag,B?.numberOfProducts,Q.relatedExclude,Q.hasRelatedExclude,H]);let ef="PickProduct"===er?eg.isValidating:ep.isValidating,eP="PickProduct"===er?eg.isLoading:ep.isLoading,eb="PickProduct"===er?eg.error:ep.error,ek=ep.data?.collections?.edges?.[0]?.node,eI="PickProduct"===er?I(eg.data?.products):I(ek?.products),eT=eu?.data?.products?I(eu?.data?.products):void 0,ev=H&&eT?eT:"PickProduct"===er&&Q?.productIds?.length?Q?.productIds?.map(e=>eI?.find(t=>t?.baseID===e)).filter(Boolean)??eI:"PickProduct"!==er?eI:eI.filter((e,t)=>t<(Q?.numOfSelectedProducts??4)),ey=l(()=>Z&&H&&D||!ev.length&&!eP&&J&&D,[J,eP,Z,H,D,ev.length]),eO=l(()=>!ev||Z&&H,[Z,H,ev]),ew=l(()=>{if(!B?.sameHeight)return[];let e=0,t=Math.ceil((ev?.length??0)/+(B?.slidesToShow?.[R]??1));return Array.from(Array(ev?.length??0)).map((r,o)=>(o>=+(B?.slidesToShow?.[R]??1)*(e+1)&&++e,{gridRow:`${1+q*e}/${q+1+q*e}`,marginBottom:e+1<t?W(G?.horizontalGutter,R):void 0}))},[B?.sameHeight,B?.slidesToShow,q,ev?.length,R,G?.horizontalGutter]),eS=l(()=>ef||eP||eb||!ev||Z&&H,[eb,eP,Z,H,ef,ev]);i(()=>{eS||setTimeout(()=>{let{builderData:e}=M??{},t=e?.childrens?.[0];if(!t)return;let r=document.querySelector(`[data-id=${t}] div`);r&&U(r.childElementCount||1)},D?0:500)},[M,eS,D]);let eC=l(()=>({collection:ek,products:ev,settings:{loop:B?.loop??{desktop:!1},scrollMode:B?.scrollMode??{desktop:"snap"},slidesToShow:B?.slidesToShow??{desktop:4,tablet:3,mobile:1},layout:G?.layout,dot:B?.dot,dotStyle:B?.dotStyle,arrow:B?.arrow,controlOverContent:B?.controlOverContent,sameHeight:B?.sameHeight},styles:{horizontalGutter:G?.horizontalGutter,verticalGutter:G?.verticalGutter,fullWidth:G?.fullWidth,spacing:G?.spacing,width:G?.width,height:G?.height}}),[ek,ev,B,G]);if(M?.isPreview&&et)return e(t,{});if(ey)return e(t,{children:E(J,e(j,{builderAttrs:A,collectionHandle:ek?.handle,productSrc:er,onClose:()=>K(!1),children:x,relatedTagString:z,assignProductNoTags:ec||es||en,noAssignedProduct:!eo}))});let{productListWrapStyle:eE,productListContentStyle:eN,productListWrapAlignStyle:eL}=C(o),{productListWrapClass:eW}=N(o);return r("div",{...A,className:eW,style:eE,children:[!!G?.preloadBgImage&&r(O,{children:[!!G.backgroundImage?.desktop?.image?.src&&e("link",{rel:"preload",href:G.backgroundImage.desktop.image.src,as:"image"}),!!G.backgroundImage?.tablet?.image?.src&&e("link",{rel:"preload",href:G.backgroundImage?.tablet?.image?.src,as:"image"}),!!G.backgroundImage?.mobile?.image?.src&&e("link",{rel:"preload",href:G.backgroundImage?.mobile?.image?.src,as:"image"})]}),ef||eP?e(d,{}):eb?r("div",{children:["Error: ",eb?.message]}):eO?e("div",{children:"Products not found"}):e(T,{...eC,children:e("div",{className:"gp-flex gp-w-full",style:eL,children:r("div",{style:eN,children:[et&&e(y,{}),e(t,{children:E(G?.layout==="grid",e(w,{...o,productSortedById:ev,generateGridRowArray:ew}),e(S,{...o,productSortedById:ev}))})]})})}),v(x,!0)]})};export{x as default};
@@ -1 +1 @@
1
- import{jsx as e,Fragment as t,jsxs as r}from"react/jsx-runtime";import o from"next/dynamic";import d from"../../../common/components/Loading.js";import{useState as l,useMemo as a,useEffect as i}from"react";import{useRenderMode as s,useCurrentDevice as c,usePageType as n,usePageStore as u,useFetchHandle as m,hasPublicStoreFrontData as g,createStoreFrontFetcher as h,useProductQuery as p,useProductsQueryAll as f,useProductsQuery as P,useCollectionQuery as b,flattenConnection as k,ProductListProvider as I,filterToolbarPreview as T}from"@gem-sdk/core";import y from"../SalePageProductListWarning.js";import v from"next/head";import O from"./ProductListGridLayout.js";import w from"./ProductListCarouselLayout.js";import{getStyle as S}from"./common/styles.js";import{If as C}from"@gem-sdk/system";import{getClass as E}from"./common/classes.js";import{getData as N}from"./common/helpers.js";import{getPropertyByDevice as L}from"../../../dialog/common/helpers.js";let W=o(()=>import("../ProductNotFound.js"),{loading:d}),j=o=>{let{children:j,styles:x,builderProps:G,setting:A,builderAttrs:M}=o,{isRelatedProduct:B,productSetting:H}=N(o),Q=H.relatedTag&&H.relatedTag[0],{isEditMode:z,isPreviewSharePageMode:D}=s(),F=c(),R=n(),$=u(e=>e.dynamicProduct),_=u(e=>e.dynamicCollection),[V,q]=l(1),[U,J]=l(!0),[K,X]=l(),[Y,Z]=l(!1),ee="GP_FUNNEL_PAGE"===R;"GP_COLLECTION"==R&&(H.productSrc="DynamicCollection",H.collectionId=_?.collectionId??"latest");let et=H?.productSrc??"Collection",er=$?.productId&&$?.productId!==H.relatedProductId?$?.productId:H.relatedProductId,eo=m(),ed=u(e=>e.publicStoreFrontData),el=a(()=>g(ed)?h(ed):eo,[ed]),{data:ea}=p(B&&er?er:void 0,{revalidateOnMount:z||D},el),ei=H.relatedTag&&"tags"===H.relatedTag[0]&&(!ea?.tags||ea?.tags.length===0),es=H.relatedTag&&"collection"===H.relatedTag[0]&&(!ea?.collections?.edges||ea?.collections.edges.length===0),ec=H.relatedTag&&"vendor"===H.relatedTag[0]&&!ea?.vendor,en=f(K,{revalidateOnMount:z||D},el),eu=z||D,em=P("PickProduct"===et?H?.productIds:void 0,{revalidateOnMount:eu},{defaultSelectedProductCount:H?.numOfSelectedProducts}),eg=a(()=>({id:H?.collectionId??"latest",numberOfProducts:A?.numberOfProducts??4,orderBy:A?.orderBy}),[H?.collectionId,Number(A?.numberOfProducts),A?.orderBy]),eh=b("PickProduct"!==et?eg:void 0,{revalidateOnMount:eu});i(()=>{if(B&&ea&&H.relatedTag&&"recommended-product"!==H.relatedType){let e;switch(Z(!1),H.hasRelatedExclude&&(e=H?.relatedExclude&&H.relatedExclude.split(",").map(e=>e.trim())),H.relatedTag[0]){case"vendor":X({first:A?.numberOfProducts,where:{vendor:H.relatedTag&&"vendor"===H.relatedTag[0]?ea?.vendor:"",idNEQ:ea.id}});break;case"collection":{let t=ea?.collections?.edges.map(e=>e.node?.id);if(!t||t?.length===0){Z(!0);break}X(e&&e.length>0?{first:A?.numberOfProducts,where:{idNEQ:ea.id,hasCollectionProductsWith:[{hasCollectionWith:[{idIn:t},{titleNotIn:e}]}]}}:{first:A?.numberOfProducts,where:{idNEQ:ea.id,hasCollectionProductsWith:[{hasCollectionWith:[{idIn:t}]}]}});break}case"tags":if(!ea.tags||0===ea.tags.length){Z(!0);break}X(e&&e.length>0?{first:A?.numberOfProducts,where:{idNEQ:ea.id,hasProductTagsWith:[{hasTagsWith:[{nameIn:ea.tags},{nameNotIn:e}]}]}}:{first:A?.numberOfProducts,where:{idNEQ:ea.id,hasProductTagsWith:[{hasTagsWith:[{nameIn:ea.tags}]}]}})}}},[ea,H.relatedType,H.relatedTag,A?.numberOfProducts,H.relatedExclude,H.hasRelatedExclude,B]);let ep="PickProduct"===et?em.isValidating:eh.isValidating,ef="PickProduct"===et?em.isLoading:eh.isLoading,eP="PickProduct"===et?em.error:eh.error,eb=eh.data?.collections?.edges?.[0]?.node,ek="PickProduct"===et?k(em.data?.products):k(eb?.products),eI=u(e=>e.assignedProductIds),eT=u(e=>e.isApplyAllProducts),ey=a(()=>(eI??[]).length>0&&!eT||eT,[eI,eT]),ev=en?.data?.products&&ey?k(en?.data?.products):[],eO=B?ev:"PickProduct"===et&&H?.productIds?.length?H?.productIds?.map(e=>ek?.find(t=>t?.baseID===e)).filter(Boolean)??ek:"PickProduct"!==et?ek:ek.filter((e,t)=>t<(H?.numOfSelectedProducts??4)),ew=a(()=>Y&&B&&z||!eO.length&&!ef&&U&&z,[U,ef,Y,B,z,eO.length]),eS=a(()=>!eO||Y&&B,[Y,B,eO]),eC=a(()=>{if(!A?.sameHeight)return[];let e=0,t=Math.ceil((eO?.length??0)/+(A?.slidesToShow?.[F]??1));return Array.from(Array(eO?.length??0)).map((r,o)=>(o>=+(A?.slidesToShow?.[F]??1)*(e+1)&&++e,{gridRow:`${1+V*e}/${V+1+V*e}`,marginBottom:e+1<t?L(x?.horizontalGutter,F):void 0}))},[A?.sameHeight,A?.slidesToShow,V,eO?.length,F,x?.horizontalGutter]),eE=a(()=>ep||ef||eP||!eO||Y&&B,[eP,ef,Y,B,ep,eO]),eN=ea?.collections?.edges.map(e=>e.node?.id)??[];i(()=>{eE||setTimeout(()=>{let{builderData:e}=G??{},t=e?.childrens?.[0];if(!t)return;let r=document.querySelector(`[data-id=${t}] div`);r&&q(r.childElementCount||1)},z?0:500)},[G,eE,z,eN]);let eL=a(()=>({collection:eb,products:eO,settings:{loop:A?.loop??{desktop:!1},scrollMode:A?.scrollMode??{desktop:"snap"},slidesToShow:A?.slidesToShow??{desktop:4,tablet:3,mobile:1},layout:x?.layout,dot:A?.dot,dotStyle:A?.dotStyle,arrow:A?.arrow,controlOverContent:A?.controlOverContent,sameHeight:A?.sameHeight},styles:{horizontalGutter:x?.horizontalGutter,verticalGutter:x?.verticalGutter,fullWidth:x?.fullWidth,spacing:x?.spacing,width:x?.width,height:x?.height}}),[eb,eO,A,x]);if(G?.isPreview&&ee)return e(t,{});if(ew)return e(t,{children:C(U,e(W,{builderAttrs:M,collectionHandle:eb?.handle,productSrc:et,onClose:()=>J(!1),children:j,relatedTagString:Q,assignProductNoTags:ei||es||ec,noAssignedProduct:!er}))});let{productListWrapStyle:eW,productListContentStyle:ej,productListWrapAlignStyle:ex}=S(o),{productListWrapClass:eG}=E(o);return r("div",{...M,className:eG,style:eW,children:[!!x?.preloadBgImage&&r(v,{children:[!!x.backgroundImage?.desktop?.image?.src&&e("link",{rel:"preload",href:x.backgroundImage.desktop.image.src,as:"image"}),!!x.backgroundImage?.tablet?.image?.src&&e("link",{rel:"preload",href:x.backgroundImage?.tablet?.image?.src,as:"image"}),!!x.backgroundImage?.mobile?.image?.src&&e("link",{rel:"preload",href:x.backgroundImage?.mobile?.image?.src,as:"image"})]}),ep||ef?e(d,{}):eP?r("div",{children:["Error: ",eP?.message]}):eS?e("div",{children:"Products not found"}):e(I,{...eL,children:e("div",{className:"gp-flex gp-w-full",style:ex,children:r("div",{style:ej,children:[ee&&e(y,{}),e(t,{children:C(x?.layout==="grid",e(O,{...o,productSortedById:eO,generateGridRowArray:eC}),e(w,{...o,productSortedById:eO}))})]})})}),T(j,!0)]})};export{j as default};
1
+ import{jsx as e,Fragment as t,jsxs as r}from"react/jsx-runtime";import o from"next/dynamic";import d from"../../../common/components/Loading.js";import{useState as l,useMemo as a,useEffect as i}from"react";import{useRenderMode as s,useCurrentDevice as c,usePageType as n,usePageStore as u,useFetchHandle as m,hasPublicStoreFrontData as g,createStoreFrontFetcher as h,useProductQuery as p,useProductsQueryAll as f,useProductsQuery as P,PICKED_PRODUCT_STATUSES as b,useCollectionQuery as I,flattenConnection as k,ProductListProvider as T,filterToolbarPreview as v}from"@gem-sdk/core";import y from"../SalePageProductListWarning.js";import O from"next/head";import w from"./ProductListGridLayout.js";import S from"./ProductListCarouselLayout.js";import{getStyle as C}from"./common/styles.js";import{If as E}from"@gem-sdk/system";import{getClass as N}from"./common/classes.js";import{getData as L}from"./common/helpers.js";import{getPropertyByDevice as W}from"../../../dialog/common/helpers.js";let j=o(()=>import("../ProductNotFound.js"),{loading:d}),x=o=>{let{children:x,styles:G,builderProps:A,setting:M,builderAttrs:B}=o,{isRelatedProduct:H,productSetting:Q}=L(o),z=Q.relatedTag&&Q.relatedTag[0],{isEditMode:D,isPreviewSharePageMode:F}=s(),R=c(),$=n(),_=u(e=>e.dynamicProduct),V=u(e=>e.dynamicCollection),[q,U]=l(1),[J,K]=l(!0),[X,Y]=l(),[Z,ee]=l(!1),et="GP_FUNNEL_PAGE"===$;"GP_COLLECTION"==$&&(Q.productSrc="DynamicCollection",Q.collectionId=V?.collectionId??"latest");let er=Q?.productSrc??"Collection",eo=_?.productId&&_?.productId!==Q.relatedProductId?_?.productId:Q.relatedProductId,ed=m(),el=u(e=>e.publicStoreFrontData),ea=a(()=>g(el)?h(el):ed,[el]),{data:ei}=p(H&&eo?eo:void 0,{revalidateOnMount:D||F},ea),es=Q.relatedTag&&"tags"===Q.relatedTag[0]&&(!ei?.tags||ei?.tags.length===0),ec=Q.relatedTag&&"collection"===Q.relatedTag[0]&&(!ei?.collections?.edges||ei?.collections.edges.length===0),en=Q.relatedTag&&"vendor"===Q.relatedTag[0]&&!ei?.vendor,eu=f(X,{revalidateOnMount:D||F},ea),em=D||F,eg=P("PickProduct"===er?Q?.productIds:void 0,{revalidateOnMount:em},{defaultSelectedProductCount:Q?.numOfSelectedProducts,selectedStatus:em&&Q?.productIds?.length?b:void 0}),eh=a(()=>({id:Q?.collectionId??"latest",numberOfProducts:M?.numberOfProducts??4,orderBy:M?.orderBy}),[Q?.collectionId,Number(M?.numberOfProducts),M?.orderBy]),ep=I("PickProduct"!==er?eh:void 0,{revalidateOnMount:em});i(()=>{if(H&&ei&&Q.relatedTag&&"recommended-product"!==Q.relatedType){let e;switch(ee(!1),Q.hasRelatedExclude&&(e=Q?.relatedExclude&&Q.relatedExclude.split(",").map(e=>e.trim())),Q.relatedTag[0]){case"vendor":Y({first:M?.numberOfProducts,where:{vendor:Q.relatedTag&&"vendor"===Q.relatedTag[0]?ei?.vendor:"",idNEQ:ei.id}});break;case"collection":{let t=ei?.collections?.edges.map(e=>e.node?.id);if(!t||t?.length===0){ee(!0);break}Y(e&&e.length>0?{first:M?.numberOfProducts,where:{idNEQ:ei.id,hasCollectionProductsWith:[{hasCollectionWith:[{idIn:t},{titleNotIn:e}]}]}}:{first:M?.numberOfProducts,where:{idNEQ:ei.id,hasCollectionProductsWith:[{hasCollectionWith:[{idIn:t}]}]}});break}case"tags":if(!ei.tags||0===ei.tags.length){ee(!0);break}Y(e&&e.length>0?{first:M?.numberOfProducts,where:{idNEQ:ei.id,hasProductTagsWith:[{hasTagsWith:[{nameIn:ei.tags},{nameNotIn:e}]}]}}:{first:M?.numberOfProducts,where:{idNEQ:ei.id,hasProductTagsWith:[{hasTagsWith:[{nameIn:ei.tags}]}]}})}}},[ei,Q.relatedType,Q.relatedTag,M?.numberOfProducts,Q.relatedExclude,Q.hasRelatedExclude,H]);let ef="PickProduct"===er?eg.isValidating:ep.isValidating,eP="PickProduct"===er?eg.isLoading:ep.isLoading,eb="PickProduct"===er?eg.error:ep.error,eI=ep.data?.collections?.edges?.[0]?.node,ek="PickProduct"===er?k(eg.data?.products):k(eI?.products),eT=u(e=>e.assignedProductIds),ev=u(e=>e.isApplyAllProducts),ey=a(()=>(eT??[]).length>0&&!ev||ev,[eT,ev]),eO=eu?.data?.products&&ey?k(eu?.data?.products):[],ew=H?eO:"PickProduct"===er&&Q?.productIds?.length?Q?.productIds?.map(e=>ek?.find(t=>t?.baseID===e)).filter(Boolean)??ek:"PickProduct"!==er?ek:ek.filter((e,t)=>t<(Q?.numOfSelectedProducts??4)),eS=a(()=>Z&&H&&D||!ew.length&&!eP&&J&&D,[J,eP,Z,H,D,ew.length]),eC=a(()=>!ew||Z&&H,[Z,H,ew]),eE=a(()=>{if(!M?.sameHeight)return[];let e=0,t=Math.ceil((ew?.length??0)/+(M?.slidesToShow?.[R]??1));return Array.from(Array(ew?.length??0)).map((r,o)=>(o>=+(M?.slidesToShow?.[R]??1)*(e+1)&&++e,{gridRow:`${1+q*e}/${q+1+q*e}`,marginBottom:e+1<t?W(G?.horizontalGutter,R):void 0}))},[M?.sameHeight,M?.slidesToShow,q,ew?.length,R,G?.horizontalGutter]),eN=a(()=>ef||eP||eb||!ew||Z&&H,[eb,eP,Z,H,ef,ew]),eL=ei?.collections?.edges.map(e=>e.node?.id)??[];i(()=>{eN||setTimeout(()=>{let{builderData:e}=A??{},t=e?.childrens?.[0];if(!t)return;let r=document.querySelector(`[data-id=${t}] div`);r&&U(r.childElementCount||1)},D?0:500)},[A,eN,D,eL]);let eW=a(()=>({collection:eI,products:ew,settings:{loop:M?.loop??{desktop:!1},scrollMode:M?.scrollMode??{desktop:"snap"},slidesToShow:M?.slidesToShow??{desktop:4,tablet:3,mobile:1},layout:G?.layout,dot:M?.dot,dotStyle:M?.dotStyle,arrow:M?.arrow,controlOverContent:M?.controlOverContent,sameHeight:M?.sameHeight},styles:{horizontalGutter:G?.horizontalGutter,verticalGutter:G?.verticalGutter,fullWidth:G?.fullWidth,spacing:G?.spacing,width:G?.width,height:G?.height}}),[eI,ew,M,G]);if(A?.isPreview&&et)return e(t,{});if(eS)return e(t,{children:E(J,e(j,{builderAttrs:B,collectionHandle:eI?.handle,productSrc:er,onClose:()=>K(!1),children:x,relatedTagString:z,assignProductNoTags:es||ec||en,noAssignedProduct:!eo}))});let{productListWrapStyle:ej,productListContentStyle:ex,productListWrapAlignStyle:eG}=C(o),{productListWrapClass:eA}=N(o);return r("div",{...B,className:eA,style:ej,children:[!!G?.preloadBgImage&&r(O,{children:[!!G.backgroundImage?.desktop?.image?.src&&e("link",{rel:"preload",href:G.backgroundImage.desktop.image.src,as:"image"}),!!G.backgroundImage?.tablet?.image?.src&&e("link",{rel:"preload",href:G.backgroundImage?.tablet?.image?.src,as:"image"}),!!G.backgroundImage?.mobile?.image?.src&&e("link",{rel:"preload",href:G.backgroundImage?.mobile?.image?.src,as:"image"})]}),ef||eP?e(d,{}):eb?r("div",{children:["Error: ",eb?.message]}):eC?e("div",{children:"Products not found"}):e(T,{...eW,children:e("div",{className:"gp-flex gp-w-full",style:eG,children:r("div",{style:ex,children:[et&&e(y,{}),e(t,{children:E(G?.layout==="grid",e(w,{...o,productSortedById:ew,generateGridRowArray:eE}),e(S,{...o,productSortedById:ew}))})]})})}),v(x,!0)]})};export{x as default};
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@gem-sdk/components",
3
- "version": "19.1.0-staging.0",
3
+ "version": "19.1.0-staging.2",
4
4
  "license": "MIT",
5
5
  "sideEffects": false,
6
6
  "main": "dist/cjs/index.js",
@@ -26,7 +26,7 @@
26
26
  "i18n:extract": "rollup -c ./scripts/rollup.config.settings.mjs && node ./scripts/translate/extract-texts-to-locales.js && node ./scripts/translate/en-keys-usage.js"
27
27
  },
28
28
  "devDependencies": {
29
- "@gem-sdk/core": "19.1.0-staging.0",
29
+ "@gem-sdk/core": "19.1.0-staging.1",
30
30
  "@gem-sdk/styles": "19.0.0",
31
31
  "@gem-sdk/system": "19.0.0",
32
32
  "@types/react-transition-group": "^4.4.12",