@gem-sdk/components 12.0.0-dev.144 → 12.0.0-dev.146

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 (23) hide show
  1. package/dist/cjs/carousel-v3/components/item/CarouselItem.js +1 -1
  2. package/dist/cjs/carousel-v3/components/root/Carousel.js +1 -1
  3. package/dist/cjs/carousel-v3/components/swiper/Swiper.js +1 -1
  4. package/dist/cjs/carousel-v3/index.js +1 -1
  5. package/dist/cjs/product/components/product-list-v3/ProductList.js +1 -1
  6. package/dist/cjs/product/components/product-list-v3/common/classes.js +1 -1
  7. package/dist/cjs/product/components/product-list-v3/hooks/useCollectionQuery.js +1 -1
  8. package/dist/cjs/product/components/product-list-v3/hooks/useMainRelatedProductQuery.js +1 -1
  9. package/dist/cjs/product/components/product-wrap/hook/useProductQuery.js +1 -0
  10. package/dist/cjs/product/components/product-wrap/hook/useProductSetting.js +1 -1
  11. package/dist/cjs/product/index.js +1 -1
  12. package/dist/esm/carousel-v3/components/item/CarouselItem.js +1 -1
  13. package/dist/esm/carousel-v3/components/root/Carousel.js +1 -1
  14. package/dist/esm/carousel-v3/components/swiper/Swiper.js +1 -1
  15. package/dist/esm/carousel-v3/index.js +1 -1
  16. package/dist/esm/product/components/product-list-v3/ProductList.js +1 -1
  17. package/dist/esm/product/components/product-list-v3/common/classes.js +1 -1
  18. package/dist/esm/product/components/product-list-v3/hooks/useCollectionQuery.js +1 -1
  19. package/dist/esm/product/components/product-list-v3/hooks/useMainRelatedProductQuery.js +1 -1
  20. package/dist/esm/product/components/product-wrap/hook/useProductQuery.js +1 -0
  21. package/dist/esm/product/components/product-wrap/hook/useProductSetting.js +1 -1
  22. package/dist/esm/product/index.js +1 -1
  23. package/package.json +2 -2
@@ -1,2 +1,2 @@
1
1
  'use client';
2
- "use strict";Object.defineProperty(exports,"__esModule",{value:!0});var e=require("react/jsx-runtime"),r=require("@gem-sdk/core");require("react"),require("@gem-sdk/system");var s=require("../swiper/SwiperSlide.js"),i=require("./common/styles.js"),t=require("./common/classes.js"),l=require("../../hooks/useCarouseItem.js"),u=require("../../../grid/components/ChildrenDroppable.js");exports.default=o=>{let{children:a,builderAttrs:d,parentSettings:c,builderProps:m}=o,{handleClick:n,handleMouseMove:j,handleMouseOut:p}=l.useCarouselItem(o),{indexKey:q}=o,y=m?.uid?`${m?.uid}-${q}`:q,h=r.useEditorMode(),{carouselItemStyle:v,carouselItemInnerStyle:x}=i.getStyle(o,h),{carouselItemClass:C,carouselItemInnerClass:g}=t.getClass(o);return e.jsx(s.SwiperSlide,{...d,"aria-hidden":!0,className:C,style:v,onClick:n,onMouseMove:j,onMouseLeave:p,dir:c?.rtl?"rtl":"ltr","data-carousel-item-key":y,children:e.jsx("div",{className:g,style:x,children:r.isEmptyChildren(a)?e.jsx(u.default,{}):a})})};
2
+ "use strict";Object.defineProperty(exports,"__esModule",{value:!0});var e=require("react/jsx-runtime"),r=require("@gem-sdk/core");require("../swiper/Swiper.js");var s=require("../swiper/SwiperSlide.js"),i=require("./common/styles.js"),t=require("./common/classes.js"),l=require("../../hooks/useCarouseItem.js"),o=require("../../../grid/components/ChildrenDroppable.js");exports.default=u=>{let{children:a,builderAttrs:d,parentSettings:n,builderProps:c}=u,{handleClick:m,handleMouseMove:p,handleMouseOut:j}=l.useCarouselItem(u),{indexKey:q}=u,y=c?.uid?`${c?.uid}-${q}`:q,h=r.useEditorMode(),{carouselItemStyle:v,carouselItemInnerStyle:x}=i.getStyle(u,h),{carouselItemClass:C,carouselItemInnerClass:S}=t.getClass(u);return e.jsx(s.SwiperSlide,{...d,"aria-hidden":!0,className:C,style:v,onClick:m,onMouseMove:p,onMouseLeave:j,dir:n?.rtl?"rtl":"ltr","data-carousel-item-key":y,children:e.jsx("div",{className:S,style:x,children:r.isEmptyChildren(a)?e.jsx(o.default,{}):a})})};
@@ -1,2 +1,2 @@
1
1
  'use client';
2
- "use strict";Object.defineProperty(exports,"__esModule",{value:!0});var e=require("react/jsx-runtime"),r=require("react"),t=require("@gem-sdk/core"),o=require("../arrow/common/helpers.js"),i=require("../../hooks/useCarousel.js"),l=require("./common/helpers.js"),s=require("./common/classes.js"),n=require("./common/styles.js"),a=require("./common/attrs.js"),d=require("../arrow/Arrow.js"),u=require("../dot/Dots.js"),c=require("../swiper/Swiper.js");require("@gem-sdk/system");const p=r.forwardRef((p,m)=>{let{children:v,builderAttrs:h,builderProps:C,styles:S,isHiddenArrowWhenDisabled:w=!0,hiddenDotWhenOnlyOne:y,elmRef:k,isEnableCheckHasScrollableContent:g,onSwiperReady:j}=p,f=o.mappingNavigationCarousel(p.setting),b={...p,setting:f},q=r.Children.count(t.filterToolbarPreview(v))??0,[x,E]=r.useState(null),{arrowButtonSize:P,arrowBackgroundColor:O,arrowGapToEachSide:$="16",roundedArrow:D,arrowIconSize:T,arrowCustomColor:A,arrowBorder:I,arrowShadow:R,showWhenHover:z}=f??{},M=r.useRef({prevOrder:"",prevContent:"",version:0}),N=r.useMemo(()=>{let e=f?.childItem||[],r=e.join("|"),t=[...e].sort().join("|"),o=M.current;return o.prevOrder&&o.prevContent&&t===o.prevContent&&r!==o.prevOrder&&o.version++,o.prevOrder=r,o.prevContent=t,`reorder-${o.version}`},[f?.childItem]),{isInfinity:B,localRef:V,sliderSettings:W,totalSlideItem:H,currentSlide:F,isRenderDots:G,showNavigation:_,isScrollToStart:K,isScrollToEnd:U,handleDotClick:J,getItemsPerPage:L,handleNextAndPrevSlide:Q,dispatchEventSelectSlide:X,getNumberOfFullWidthShow:Y,setCurrentSlide:Z,shouldDuplicateSlides:ee,setIsScrollToStart:er,setIsScrollToEnd:et}=i.useCarousel(b,m,x,q),{loopConfig:eo,arrowShowConfig:ei}=l.getData(b),{rootClassRender:el,wrapperClassRender:es,wrapperInnerClass:en,sliderClass:ea}=s.getClass(b),{rootStyleRender:ed,wrapperStyleRender:eu,wrapperInnerStyle:ec}=n.getStyle(b),{rootAttrRender:ep,sliderAttr:em}=a.getAttr(b),ev=t.useCurrentDevice(),eh=f?.sneakPeak?.[ev],eC=r=>{let t="next"===r;if(q<=1)return null;let o=t?!B&&x?.isEnd:!B&&x?.isBeginning;return e.jsx(d.default,{uid:C?.uid,custom:f?.arrowCustom??"",showArrow:ei,arrowButtonSize:P||{},arrowIconSize:T||{},arrowBackgroundColor:O||"",arrowCustomColor:A,gapToEachSize:$,showWhenHover:z,arrowBorder:I||{},arrowCorner:D||{},arrowShadow:R||{},onClick:e=>{e.stopPropagation(),Q(r)},left:!t,disabled:g?t?!B&&U:!B&&K:o,vertical:f?.vertical,isHiddenWhenDisabled:w,rootId:p?.parentClass})},eS=r.useCallback(e=>{E(e),j?.(e)},[]),ew=r.useCallback(()=>{p?.isDisableResetSlide||(Z(0),er(!0),et(!1))},[p?.isDisableResetSlide,Z,et,er]),ey=r.Children.toArray(t.filterToolbarPreview(v)).filter(r.isValidElement),ek=ee(q),eg=ek?2*q:q,ej=r.useMemo(()=>{if(!ek)return ey;let e=ey.map((e,t)=>{if(!r.isValidElement(e))return e;let o=e.key,i=o?`${o}-duplicate-${t}`:`duplicate-${t}`;return r.cloneElement(e,{...e.props||{},key:i})});return[...ey,...e]},[ek,ey]),ef=r.useMemo(()=>{let e=r.Children.toArray(v),t=e[0];return r.isValidElement(t)?t.key:""},[v]),eb=r.useMemo(()=>`${q}-${N}-${ej.length}-${W?.direction}-${ef}`,[q,N,ej.length,W?.direction,ef]);return e.jsx("div",{ref:k,...ep,className:el,style:ed,children:e.jsxs("div",{ref:V,...h,className:es,style:eu,children:[e.jsxs("div",{className:en,style:ec,children:[_&&eC("prev"),r.createElement(c.Swiper,{...em,...W,sliderClass:ea,thumbsSwiper:p?.thumbsSwiper,onSwiperReady:eS,totalSlides:H,key:eb,sliderOrder:N,onSwiperReset:ew},t.isEmptyChildren(v)?e.jsx("div",{children:"No Slider"}):e.jsx(e.Fragment,{children:ej.map((e,t)=>{if(!r.isValidElement(e))return null;let o=e.props??{};return r.createElement(e.type,{...o,key:e.key,indexKey:t.toString(),parentSettings:f,parentStyle:S,background:f?.background,parentUid:C?.uid,dispatchEventSelectSlide:X})})})),_&&eC("next")]}),G&&e.jsx(u.default,{dotStyle:f?.dotStyle,dotGapToCarousel:f?.dotGapToCarousel,vertical:f?.vertical,showDots:f?.dot,slideItemsPerPage:L(),enabledSneakPeak:eh,dotColor:f?.dotColor,dotActiveColor:f?.dotActiveColor,dotSize:f?.dotSize,sneakPeakType:f?.sneakPeakType,totalSlideItem:eg,hiddenWhenOnlyOne:y,currentSlide:F,loop:eo,numberOfFullWidthShow:Y(ev),onHandleClick:J,slideDuplicated:ek}),t.filterToolbarPreview(v,!0)]})})});exports.default=p;
2
+ "use strict";Object.defineProperty(exports,"__esModule",{value:!0});var e=require("react/jsx-runtime"),r=require("react"),t=require("@gem-sdk/core"),o=require("../arrow/common/helpers.js"),i=require("../../hooks/useCarousel.js"),l=require("./common/helpers.js"),s=require("./common/classes.js"),n=require("./common/styles.js"),a=require("./common/attrs.js"),d=require("../arrow/Arrow.js"),u=require("../dot/Dots.js"),c=require("../swiper/Swiper.js");require("@gem-sdk/system");const p=r.forwardRef((p,m)=>{let{children:v,builderAttrs:h,builderProps:C,styles:S,isHiddenArrowWhenDisabled:w=!0,hiddenDotWhenOnlyOne:y,elmRef:k,isEnableCheckHasScrollableContent:g,onSwiperReady:j}=p,f=o.mappingNavigationCarousel(p.setting),b={...p,setting:f},q=r.Children.count(t.filterToolbarPreview(v))??0,[x,E]=r.useState(null),{arrowButtonSize:P,arrowBackgroundColor:O,arrowGapToEachSide:D="16",roundedArrow:T,arrowIconSize:A,arrowCustomColor:I,arrowBorder:N,arrowShadow:R,showWhenHover:z}=f??{},M=r.useRef({prevOrder:"",prevContent:"",version:0}),B=r.useMemo(()=>{let e=f?.childItem||[],r=e.join("|"),t=[...e].sort().join("|"),o=M.current;return o.prevOrder&&o.prevContent&&t===o.prevContent&&r!==o.prevOrder&&o.version++,o.prevOrder=r,o.prevContent=t,`reorder-${o.version}`},[f?.childItem]),{isInfinity:V,localRef:W,sliderSettings:$,totalSlideItem:H,currentSlide:F,isRenderDots:G,showNavigation:_,isScrollToStart:J,isScrollToEnd:K,handleDotClick:U,getItemsPerPage:L,handleNextAndPrevSlide:Q,dispatchEventSelectSlide:X,getNumberOfFullWidthShow:Y,setCurrentSlide:Z,shouldDuplicateSlides:ee,setIsScrollToStart:er,setIsScrollToEnd:et}=i.useCarousel(b,m,x,q),{loopConfig:eo,arrowShowConfig:ei}=l.getData(b),{rootClassRender:el,wrapperClassRender:es,wrapperInnerClass:en,sliderClass:ea}=s.getClass(b),{rootStyleRender:ed,wrapperStyleRender:eu,wrapperInnerStyle:ec}=n.getStyle(b),{rootAttrRender:ep,sliderAttr:em}=a.getAttr(b),ev=t.useCurrentDevice(),eh=f?.sneakPeak?.[ev],eC=r=>{let t="next"===r;if(q<=1)return null;let o=t?!V&&x?.isEnd:!V&&x?.isBeginning;return e.jsx(d.default,{uid:C?.uid,custom:f?.arrowCustom??"",showArrow:ei,arrowButtonSize:P||{},arrowIconSize:A||{},arrowBackgroundColor:O||"",arrowCustomColor:I,gapToEachSize:D,showWhenHover:z,arrowBorder:N||{},arrowCorner:T||{},arrowShadow:R||{},onClick:e=>{e.stopPropagation(),Q(r)},left:!t,disabled:g?t?!V&&K:!V&&J:o,vertical:f?.vertical,isHiddenWhenDisabled:w,rootId:p?.parentClass})},eS=r.useCallback(e=>{E(e),j?.(e)},[]),ew=r.useCallback(()=>{p?.isDisableResetSlide||(Z(0),er(!0),et(!1))},[p?.isDisableResetSlide,Z,et,er]),ey=r.Children.toArray(t.filterToolbarPreview(v)).filter(r.isValidElement),ek=ee(q),eg=ek?2*q:q,ej=r.useMemo(()=>{if(!ek)return ey;let e=ey.map((e,t)=>{if(!r.isValidElement(e))return e;let o=e.key,i=o?`${o}-duplicate-${t}`:`duplicate-${t}`;return r.cloneElement(e,{...e.props||{},key:i})});return[...ey,...e]},[ek,ey]),ef=r.useMemo(()=>{let e=r.Children.toArray(v),t=e[0];return r.isValidElement(t)?t.key:""},[v]),eb=JSON.stringify($.autoplay),eq=r.useMemo(()=>{let e=[q,B,ej.length,ef,$.dir,$.loop,$.virtual,$.direction,eb];return e.join("-")},[q,B,ej.length,ef,$.dir,$.loop,$.virtual,$.direction,eb]);return e.jsx("div",{ref:k,...ep,className:el,style:ed,children:e.jsxs("div",{ref:W,...h,className:es,style:eu,children:[e.jsxs("div",{className:en,style:ec,children:[_&&eC("prev"),r.createElement(c.Swiper,{...em,...$,sliderClass:ea,thumbsSwiper:p?.thumbsSwiper,onSwiperReady:eS,totalSlides:H,key:eq,sliderOrder:B,onSwiperReset:ew},t.isEmptyChildren(v)?e.jsx("div",{children:"No Slider"}):e.jsx(e.Fragment,{children:ej.map((e,t)=>{if(!r.isValidElement(e))return null;let o=e.props??{};return r.createElement(e.type,{...o,key:e.key,indexKey:t.toString(),parentSettings:f,parentStyle:S,background:f?.background,parentUid:C?.uid,dispatchEventSelectSlide:X})})})),_&&eC("next")]}),G&&e.jsx(u.default,{dotStyle:f?.dotStyle,dotGapToCarousel:f?.dotGapToCarousel,vertical:f?.vertical,showDots:f?.dot,slideItemsPerPage:L(),enabledSneakPeak:eh,dotColor:f?.dotColor,dotActiveColor:f?.dotActiveColor,dotSize:f?.dotSize,sneakPeakType:f?.sneakPeakType,totalSlideItem:eg,hiddenWhenOnlyOne:y,currentSlide:F,loop:eo,numberOfFullWidthShow:Y(ev),onHandleClick:U,slideDuplicated:ek}),t.filterToolbarPreview(v,!0)]})})});exports.default=p;
@@ -1 +1 @@
1
- "use strict";var e=require("react/jsx-runtime"),r=require("react"),t=require("./common/styles.js");exports.Swiper=function(s){let i=r.useRef(null),{children:n,totalSlides:u,onSwiperReset:c,onSwiperReady:p,sliderClass:a,sliderOrder:l,thumbsSwiper:o,...w}=s,[f,d]=r.useState(!1),y=r.useMemo(()=>o?{"thumbs-swiper":o}:{},[o]),m=t.getStyleSwiperContainer(),E="object"==typeof s.autoplay&&null!==s.autoplay?s.autoplay.pauseOnMouseEnter:void 0,b=()=>{i.current?.swiper&&i.current.swiper.wrapperEl.style.setProperty("width",`${i.current.swiper.width}px`)};return r.useEffect(()=>{let e=async()=>{let e=await import("@gem-sdk/swiper/element/bundle");e.register(),await window.customElements.whenDefined("swiper-container"),d(!0)};e()},[]),r.useEffect(()=>{f&&i.current&&(Object.assign(i.current,w),i.current.initialize?.(),p?.(i.current.swiper),b())},[f]),r.useEffect(()=>{i.current?.swiper&&(i.current.swiper.destroy(!1,!1),Object.assign(i.current,w),i.current.initialize?.(),p(i.current.swiper),c())},[w.dir,w.loop,E,w.slidesPerView,p,c,w.spaceBetween,w.slidesOffsetBefore]),r.useEffect(()=>{let e=i.current;e&&(Object.assign(e,w),e.swiper?.update(),b())},[w]),r.useEffect(()=>{c()},[l,c]),r.useEffect(()=>{let e=i.current;if(!e)return;let r=()=>{b()};return e.addEventListener("swiperresize",r),()=>{e.removeEventListener("swiperresize",r)}},[]),e.jsx("swiper-container",{init:!1,ref:i,class:a,style:{...m,display:f?"block":"none"},...y,children:n})};
1
+ "use strict";var e=require("react/jsx-runtime"),r=require("react"),t=require("./common/styles.js"),s=require("@gem-sdk/swiper/element/bundle"),i=require("@gem-sdk/swiper/modules");s.register();const u={modules:[i.Autoplay]};exports.Swiper=function(s){let i=r.useRef(null),{children:n,totalSlides:p,onSwiperReset:l,onSwiperReady:o,sliderClass:a,sliderOrder:c,thumbsSwiper:w,...d}=s,f=JSON.stringify(d),y=r.useMemo(()=>w?{"thumbs-swiper":w}:{},[w]),m=t.getStyleSwiperContainer(),g="object"==typeof s.autoplay&&null!==s.autoplay?s.autoplay.pauseOnMouseEnter:void 0,E=()=>{i.current?.swiper&&i.current.swiper.wrapperEl.style.setProperty("width",`${i.current.swiper.width}px`)};return r.useEffect(()=>{let e=i.current;if(e)return Object.assign(e,d,u),e.initialize?.(),o?.(e.swiper),E(),e.addEventListener("swiperresize",E),()=>{e.removeEventListener("swiperresize",E),l()}},[]),r.useEffect(()=>{let e=i.current,r=e?.swiper;e&&r&&!r.destroyed&&(Object.assign(e,d,u),r.update(),E())},[f,g]),r.useEffect(()=>{l()},[c,l]),e.jsx("swiper-container",{init:!1,ref:i,class:a,style:{...m},...y,children:n})};
@@ -1 +1 @@
1
- "use strict";require("react/jsx-runtime"),require("react"),require("@gem-sdk/core"),require("@gem-sdk/system"),require("next/link");var e=require("./settings/Carousel.js"),r=require("./settings/CarouselItem.js");const s={CarouselV3:e.default,CarouselItemV3:r.default};exports.carouselSettingV3=s;
1
+ "use strict";require("react/jsx-runtime"),require("react"),require("@gem-sdk/core"),require("@gem-sdk/system"),require("next/link"),require("./components/swiper/Swiper.js");var e=require("./settings/Carousel.js"),r=require("./settings/CarouselItem.js");const s={CarouselV3:e.default,CarouselItemV3:r.default};exports.carouselSettingV3=s;
@@ -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"),s=require("@gem-sdk/core"),l=require("../SalePageProductListWarning.js"),d=require("next/head"),i=require("./ProductListGridLayout.js"),a=require("./ProductListCarouselLayout.js"),u=require("./common/styles.js"),c=require("@gem-sdk/system"),n=require("./common/classes.js"),g=require("./common/helpers.js"),m=require("../../../dialog/common/helpers.js"),h=require("./hooks/useProductsQuery.js"),P=require("./hooks/useCollectionQuery.js"),f=require("./hooks/useProductRelatedQuery.js"),p=require("./hooks/useMainRelatedProductQuery.js");const y=t(()=>Promise.resolve().then(function(){return require("../ProductNotFound.js")}),{loading:r.default});exports.default=t=>{let{children:j,styles:k,builderProps:x,setting:I,builderAttrs:S}=t,{isRelatedProduct:v,productSetting:q}=g.getData(t),{isEditMode:T,isPreviewSharePageMode:b}=s.useRenderMode(),C=s.useCurrentDevice(),w=s.usePageType(),M=s.usePageStore(e=>e.dynamicCollection),[L,G]=o.useState(1),[O,A]=o.useState(!0),N=o.useRef(),B="GP_FUNNEL_PAGE"===w;"GP_COLLECTION"==w&&(q.productSrc="DynamicCollection",q.collectionId=M?.collectionId??"latest");let D=q?.productSrc??"Collection",{mainRelatedProduct:E,relatedProductIdAssigned:Q}=p.default({isEditMode:T,isPreviewSharePageMode:b,isRelatedProduct:v,relatedProductId:q.relatedProductId}),F=q.relatedTag&&q.relatedTag[0],R=q.relatedTag&&"tags"===q.relatedTag[0]&&(!E?.tags||E?.tags.length===0),_=q.relatedTag&&"collection"===q.relatedTag[0]&&(!E?.collections?.edges||E?.collections.edges.length===0),z=q.relatedTag&&"vendor"===q.relatedTag[0]&&!E?.vendor,{isNotFoundRelatedProduct:H,relatedProducts:W}=f.default({isRelatedProduct:v,productSetting:q,setting:I,mainRelatedProduct:E,productSrc:D}),$=h.useProductsQuery({productIds:q?.productIds,defaultSelectedProductCount:q?.numOfSelectedProducts,productSrc:D}),V=P.useCollectionQuery({productSrc:D,collectionID:q?.collectionId??"latest",numberOfProducts:I?.numberOfProducts??4,orderBy:I?.orderBy??"none"}),U="PickProduct"===D?$.isLoading:V.isLoading,J="PickProduct"===D?$.error:V.error,K="PickProduct"===D?$.isValidating:V.isValidating,X=V.data?.collections?.edges?.[0]?.node,Y="PickProduct"===D?s.flattenConnection($.data?.products):s.flattenConnection(X?.products),Z=s.usePageStore(e=>e.assignedProductIds),ee=s.usePageStore(e=>e.isApplyAllProducts),et=o.useMemo(()=>(Z??[]).length>0&&!ee||ee,[Z,ee]),er=W?.data?.products&&et?s.flattenConnection(W?.data?.products):[],eo=v?er:"PickProduct"===D&&q?.productIds?.length?q?.productIds?.map(e=>Y?.find(t=>t?.baseID===e)).filter(Boolean)??Y:"PickProduct"!==D?Y:Y.filter((e,t)=>t<(q?.numOfSelectedProducts??4)),es=o.useMemo(()=>H&&v&&T||!eo.length&&!U&&O&&T,[O,U,H,v,T,eo.length]),el=o.useMemo(()=>!eo||H&&v,[H,v,eo]),ed=o.useMemo(()=>{if(!I?.sameHeight)return[];let e=0,t=Math.ceil((eo?.length??0)/+(I?.slidesToShow?.[C]??1));return Array.from(Array(eo?.length??0)).map((r,o)=>(o>=+(I?.slidesToShow?.[C]??1)*(e+1)&&++e,{gridRow:`${1+L*e}/${L+1+L*e}`,marginBottom:e+1<t?m.getPropertyByDevice(k?.horizontalGutter,C):void 0}))},[I?.sameHeight,I?.slidesToShow,L,eo?.length,C,k?.horizontalGutter]),ei=o.useMemo(()=>K||U||J||!eo||H&&v,[J,U,H,v,K,eo]),ea=o.useMemo(()=>E?.collections?.edges.map(e=>e.node?.id)??[],[E?.collections?.edges]);o.useEffect(()=>{if(!ei&&!U&&!K)return N.current=setTimeout(()=>{let{builderData:e}=x??{},t=e?.childrens?.[0];if(!t)return;let r=document.querySelector(`[data-id=${t}] div`);r&&G(r.childElementCount||1)},500),()=>{clearTimeout(N.current)}},[x,ei,T,ea,U,K]);let eu=o.useMemo(()=>({collection:X,products:eo,settings:{loop:I?.loop??{desktop:!1},scrollMode:I?.scrollMode??{desktop:"snap"},slidesToShow:I?.slidesToShow??{desktop:4,tablet:3,mobile:1},layout:k?.layout,dot:I?.dot,dotStyle:I?.dotStyle,arrow:I?.arrow,controlOverContent:I?.controlOverContent},styles:{horizontalGutter:k?.horizontalGutter,verticalGutter:k?.verticalGutter,fullWidth:k?.fullWidth,spacing:k?.spacing,width:k?.width,height:k?.height}}),[X,eo,I,k]);if(x?.isPreview&&B)return e.jsx(e.Fragment,{});if(es)return e.jsx(e.Fragment,{children:c.If(O,e.jsx(y,{builderAttrs:S,collectionHandle:X?.handle,productSrc:D,onClose:()=>A(!1),children:j,relatedTagString:F,assignProductNoTags:R||_||z,noAssignedProduct:!Q}))});let{productListWrapStyle:ec,productListContentStyle:en,productListWrapAlignStyle:eg}=u.getStyle(t),{productListWrapClass:em}=n.getClass(t);return e.jsxs("div",{...S,className:em,style:ec,children:[!!k?.preloadBgImage&&e.jsxs(d,{children:[!!k.backgroundImage?.desktop?.image?.src&&e.jsx("link",{rel:"preload",href:k.backgroundImage.desktop.image.src,as:"image"}),!!k.backgroundImage?.tablet?.image?.src&&e.jsx("link",{rel:"preload",href:k.backgroundImage?.tablet?.image?.src,as:"image"}),!!k.backgroundImage?.mobile?.image?.src&&e.jsx("link",{rel:"preload",href:k.backgroundImage?.mobile?.image?.src,as:"image"})]}),U||K?e.jsx(r.default,{}):J?e.jsxs("div",{children:["Error: ",J?.message]}):el?e.jsx("div",{children:"Products not found"}):e.jsx(s.ProductListProvider,{...eu,children:e.jsx("div",{className:"gp-flex gp-w-full",style:eg,children:e.jsxs("div",{style:en,children:[B&&e.jsx(l.default,{}),e.jsx(e.Fragment,{children:c.If(k?.layout==="grid",e.jsx(i.default,{...t,productSortedById:eo,generateGridRowArray:ed}),e.jsx(a.default,{...t,productSortedById:eo}))})]})})}),s.filterToolbarPreview(j,!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"),s=require("@gem-sdk/core"),l=require("../SalePageProductListWarning.js"),d=require("next/head"),a=require("./ProductListGridLayout.js"),i=require("./ProductListCarouselLayout.js"),u=require("./common/styles.js"),n=require("@gem-sdk/system"),c=require("./common/classes.js"),g=require("./common/helpers.js"),m=require("../../../dialog/common/helpers.js"),h=require("./hooks/useProductsQuery.js"),P=require("./hooks/useCollectionQuery.js"),f=require("./hooks/useProductRelatedQuery.js"),p=require("./hooks/useMainRelatedProductQuery.js");const y=t(()=>Promise.resolve().then(function(){return require("../ProductNotFound.js")}),{loading:r.default});exports.default=t=>{let{children:j,styles:k,builderProps:x,setting:I,builderAttrs:S}=t,{isRelatedProduct:v,productSetting:q}=g.getData(t),{isEditMode:T}=s.useRenderMode(),b=s.useCurrentDevice(),C=s.usePageType(),w=s.usePageStore(e=>e.dynamicCollection),[L,M]=o.useState(1),[G,O]=o.useState(!0),A=o.useRef(),N="GP_FUNNEL_PAGE"===C;"GP_COLLECTION"==C&&(q.productSrc="DynamicCollection",q.collectionId=w?.collectionId??"latest");let B=q?.productSrc??"Collection",{mainRelatedProduct:D,relatedProductIdAssigned:E}=p.default({productSrc:B,relatedProductId:q.relatedProductId}),Q=q.relatedTag&&q.relatedTag[0],F=q.relatedTag&&"tags"===q.relatedTag[0]&&(!D?.tags||D?.tags.length===0),R=q.relatedTag&&"collection"===q.relatedTag[0]&&(!D?.collections?.edges||D?.collections.edges.length===0),_=q.relatedTag&&"vendor"===q.relatedTag[0]&&!D?.vendor,{isNotFoundRelatedProduct:z,relatedProducts:H}=f.default({isRelatedProduct:v,productSetting:q,setting:I,mainRelatedProduct:D,productSrc:B}),W=h.useProductsQuery({productIds:q?.productIds,defaultSelectedProductCount:q?.numOfSelectedProducts,productSrc:B}),$=P.useCollectionQuery({productSrc:B,collectionID:q?.collectionId??"latest",numberOfProducts:I?.numberOfProducts??4,orderBy:I?.orderBy??"none"}),V="PickProduct"===B?W.isLoading:$.isLoading,U="PickProduct"===B?W.error:$.error,J="PickProduct"===B?W.isValidating:$.isValidating,K=$.data?.collections?.edges?.[0]?.node,X="PickProduct"===B?s.flattenConnection(W.data?.products):s.flattenConnection(K?.products),Y=s.usePageStore(e=>e.assignedProductIds),Z=s.usePageStore(e=>e.isApplyAllProducts),ee=o.useMemo(()=>(Y??[]).length>0&&!Z||Z,[Y,Z]),et=H?.data?.products&&ee?s.flattenConnection(H?.data?.products):[],er=v?et:"PickProduct"===B&&q?.productIds?.length?q?.productIds?.map(e=>X?.find(t=>t?.baseID===e)).filter(Boolean)??X:"PickProduct"!==B?X:X.filter((e,t)=>t<(q?.numOfSelectedProducts??4)),eo=o.useMemo(()=>z&&v&&T||!er.length&&!V&&G&&T,[G,V,z,v,T,er.length]),es=o.useMemo(()=>!er||z&&v,[z,v,er]),el=o.useMemo(()=>{if(!I?.sameHeight)return[];let e=0,t=Math.ceil((er?.length??0)/+(I?.slidesToShow?.[b]??1));return Array.from(Array(er?.length??0)).map((r,o)=>(o>=+(I?.slidesToShow?.[b]??1)*(e+1)&&++e,{gridRow:`${1+L*e}/${L+1+L*e}`,marginBottom:e+1<t?m.getPropertyByDevice(k?.horizontalGutter,b):void 0}))},[I?.sameHeight,I?.slidesToShow,L,er?.length,b,k?.horizontalGutter]),ed=o.useMemo(()=>J||V||U||!er||z&&v,[U,V,z,v,J,er]);o.useEffect(()=>{if(!ed&&!V&&!J)return A.current=setTimeout(()=>{let{builderData:e}=x??{},t=e?.childrens?.[0];if(!t)return;let r=document.querySelector(`[data-id=${t}] div`);r&&M(r.childElementCount||1)},T?0:500),()=>{clearTimeout(A.current)}},[x,ed,T,V,J,er]);let ea=o.useMemo(()=>({collection:K,products:er,settings:{loop:I?.loop??{desktop:!1},scrollMode:I?.scrollMode??{desktop:"snap"},slidesToShow:I?.slidesToShow??{desktop:4,tablet:3,mobile:1},layout:k?.layout,dot:I?.dot,dotStyle:I?.dotStyle,arrow:I?.arrow,controlOverContent:I?.controlOverContent},styles:{horizontalGutter:k?.horizontalGutter,verticalGutter:k?.verticalGutter,fullWidth:k?.fullWidth,spacing:k?.spacing,width:k?.width,height:k?.height}}),[K,er,I,k]);if(x?.isPreview&&N)return e.jsx(e.Fragment,{});if(eo)return e.jsx(e.Fragment,{children:n.If(G,e.jsx(y,{builderAttrs:S,collectionHandle:K?.handle,productSrc:B,onClose:()=>O(!1),children:j,relatedTagString:Q,assignProductNoTags:F||R||_,noAssignedProduct:!E}))});let{productListWrapStyle:ei,productListContentStyle:eu,productListWrapAlignStyle:en}=u.getStyle(t),{productListWrapClass:ec}=c.getClass(t);return e.jsxs("div",{...S,className:ec,style:ei,children:[!!k?.preloadBgImage&&e.jsxs(d,{children:[!!k.backgroundImage?.desktop?.image?.src&&e.jsx("link",{rel:"preload",href:k.backgroundImage.desktop.image.src,as:"image"}),!!k.backgroundImage?.tablet?.image?.src&&e.jsx("link",{rel:"preload",href:k.backgroundImage?.tablet?.image?.src,as:"image"}),!!k.backgroundImage?.mobile?.image?.src&&e.jsx("link",{rel:"preload",href:k.backgroundImage?.mobile?.image?.src,as:"image"})]}),V||J?e.jsx(r.default,{}):U?e.jsxs("div",{children:["Error: ",U?.message]}):es?e.jsx("div",{children:"Products not found"}):e.jsx(s.ProductListProvider,{...ea,children:e.jsx("div",{className:"gp-flex gp-w-full",style:en,children:e.jsxs("div",{style:eu,children:[N&&e.jsx(l.default,{}),e.jsx(e.Fragment,{children:n.If(k?.layout==="grid",e.jsx(a.default,{...t,productSortedById:er,generateGridRowArray:el}),e.jsx(i.default,{...t,productSortedById:er}))})]})})}),s.filterToolbarPreview(j,!0)]})};
@@ -1 +1 @@
1
- "use strict";var e=require("@gem-sdk/system");exports.getClass=s=>{let{setting:t,className:g,builderProps:a,advanced:r,styles:i}=s,l=e.createClass({...g&&{[g]:!0},...r?.cssClass&&{[r.cssClass]:!0},"!gp-m-auto gp-grid gp-w-full":!0,"gp-grid-flow-row":t?.sameHeight}),p=e.createClass({"gp-relative gp-flex":!0,[`${a?.builderData?.uid}`]:!0}),d=e.createClass({"gp-contents":t?.sameHeight&&i?.layout==="grid"}),c=e.createClass({"gp-justify-center":!0,"gp-overflow-hidden":!t?.sameHeight}),u=e.createClass({"gp-contents [&>*]:gp-grid-rows-[subgrid] [&>*]:gp-gap-y-0":t?.sameHeight&&i?.layout==="grid",[`gp-child-item-${a?.uid}`]:!0});return{gridLayoutClass:l,productItemClass:u,carouselClass:c,productListWrapClass:p,gpProductClass:d}};
1
+ "use strict";var e=require("@gem-sdk/system");exports.getClass=s=>{let{setting:t,className:g,builderProps:a,advanced:r,styles:i}=s,l=e.createClass({...g&&{[g]:!0},...r?.cssClass&&{[r.cssClass]:!0},"!gp-m-auto gp-grid gp-w-full":!0,"gp-grid-flow-row":t?.sameHeight}),p=e.createClass({"gp-relative gp-flex":!0,[`${a?.builderData?.uid}`]:!0}),d=e.createClass({"gp-contents":t?.sameHeight&&i?.layout==="grid"}),c=e.createClass({"gp-justify-center":!0,"gp-overflow-hidden":!t?.sameHeight}),o=e.createClass({"gp-contents [&>*>div]:gp-contents [&>*]:gp-grid-rows-[subgrid] [&>*]:gp-gap-y-0":t?.sameHeight&&i?.layout==="grid",[`gp-child-item-${a?.uid}`]:!0});return{gridLayoutClass:l,productItemClass:o,carouselClass:c,productListWrapClass:p,gpProductClass:d}};
@@ -1 +1 @@
1
- "use strict";var e=require("@gem-sdk/core"),r=require("react"),t=require("swr"),o=require("../constants/index.js");exports.useCollectionQuery=({productSrc:a,numberOfProducts:i,orderBy:s,collectionID:u})=>{let n=e.useFetchHandle(),l=e.usePageStore(e=>e.publicStoreFrontData),c=r.useMemo(()=>e.hasPublicStoreFrontData(l)?e.createStoreFrontFetcher(l):n,[l]),d=e.useIsSampleProduct(),g=e.useIsStorefrontProduct(),S=r.useMemo(()=>({id:u,numberOfProducts:i,orderBy:s}),[u,i,s]),C=t(e.generateCollectionQueryKey({...S,isSample:d,isStorefront:g}),([,r])=>e.getCollection(c,r),{revalidateOnMount:!1});return r.useEffect(()=>{if(a!==o.PRODUCT_SOURCE.Collection)return;let e=!!C.error,r=C.isLoading||C.isValidating,t=!C.data&&!r;!e&&t&&C.mutate()},[a,C.data,C.error,C.isLoading,C.isValidating]),C};
1
+ "use strict";var e=require("@gem-sdk/core"),t=require("react"),r=require("swr"),o=require("../constants/index.js");exports.useCollectionQuery=({productSrc:a,numberOfProducts:i,orderBy:n,collectionID:s})=>{let u=e.useFetchHandle(),l=e.usePageStore(e=>e.publicStoreFrontData),c=t.useMemo(()=>e.hasPublicStoreFrontData(l)?e.createStoreFrontFetcher(l):u,[l]),d=e.useIsSampleProduct(),C=e.useIsStorefrontProduct(),g=t.useMemo(()=>({id:s,numberOfProducts:i,orderBy:n}),[s,i,n]),S=r(e.generateCollectionQueryKey({...g,isSample:d,isStorefront:C}),([,t])=>e.getCollection(c,t),{revalidateOnMount:!1});return t.useEffect(()=>{if(a!==o.PRODUCT_SOURCE.Collection&&a!==o.PRODUCT_SOURCE.DynamicCollection)return;let e=!!S.error,t=S.isLoading||S.isValidating,r=!S.data&&!t;!e&&r&&S.mutate()},[a,S.data,S.error,S.isLoading,S.isValidating]),S};
@@ -1 +1 @@
1
- "use strict";Object.defineProperty(exports,"__esModule",{value:!0});var e=require("react"),r=require("@gem-sdk/core");exports.default=({isRelatedProduct:t,relatedProductId:o,isEditMode:u,isPreviewSharePageMode:a})=>{let d=r.useFetchHandle(),c=r.usePageStore(e=>e.dynamicProduct),s=r.usePageStore(e=>e.publicStoreFrontData),i=c?.productId&&c?.productId!==o?c?.productId:o,n=e.useMemo(()=>r.hasPublicStoreFrontData(s)?r.createStoreFrontFetcher(s):d,[s]),{data:l}=r.useProductQuery(t&&i?i:void 0,{revalidateOnMount:u||a},n);return{relatedProductIdAssigned:i,mainRelatedProduct:l}};
1
+ "use strict";Object.defineProperty(exports,"__esModule",{value:!0});var e=require("@gem-sdk/core"),r=require("../../product-wrap/hook/useProductQuery.js"),t=require("../constants/index.js");exports.default=({productSrc:d,relatedProductId:u})=>{let o=e.usePageStore(e=>e.dynamicProduct),a=o?.productId&&o?.productId!==u?o?.productId:u,{productData:{data:c}}=r.default({id:d===t.PRODUCT_SOURCE.RelatedProduct&&a?a:void 0});return{relatedProductIdAssigned:a,mainRelatedProduct:c}};
@@ -0,0 +1 @@
1
+ "use strict";Object.defineProperty(exports,"__esModule",{value:!0});var e=require("@gem-sdk/core"),r=require("react"),t=require("swr");exports.default=({id:a})=>{let u=e.useFetchHandle(),o=e.usePageStore(e=>e.publicStoreFrontData),s=e.useIsSampleProduct(),i=e.useIsStorefrontProduct(),n=r.useMemo(()=>e.hasPublicStoreFrontData(o)?e.createStoreFrontFetcher(o):u,[o]),d=r.useMemo(()=>a?e.generateProductQueryKey({id:a,isSample:s,isStorefront:i}):null,[a,s,i]),c=t(d,async([,r])=>e.getProduct(n,r),{revalidateOnMount:!1});return r.useEffect(()=>{if(!a)return;let e=!!c.error,r=c.isLoading||c.isValidating,t=!c.data&&!r;!e&&t&&c.mutate()},[a,c.data,c.error,c.isLoading,c.isValidating]),{productData:c}};
@@ -1 +1 @@
1
- "use strict";var e=require("@gem-sdk/core"),t=require("react");exports.useProductSetting=r=>{let{setting:a}=r,{productSetting:u,quantity:d,readOnly:o,isSyncProduct:i}=a??{},s=e.usePageType(),c=e.usePageStore(e=>e.dynamicProduct),n=e.usePageStore(e=>e.publicStoreFrontData),{isEditMode:P,isPreviewSharePageMode:S}=e.useRenderMode(),l=u?.productId??"latest",g=u?.productStatus=="dynamic"?{...u,...c}:u,h=g?.initialVariantId,m=g?.initialVariantBaseId,p=t.useMemo(()=>e.hasPublicStoreFrontData(n)?e.createStoreFrontFetcher(n):void 0,[n]),{data:y,isLoading:F,error:M}=e.useProductQuery(l,{revalidateOnMount:P||S},p),[v,D]=t.useState(!0),I=(M||!y&&!F)&&P,b=t.useMemo(()=>({product:y,initialVariantId:h,initialVariantBaseId:m,quantity:d,readOnly:o,isSyncProduct:i,key:`uid-${y?.id}-${h??""}`,hasPreSelected:u?.hasPreSelected}),[m,h,i,y,u?.hasPreSelected,d,o]);return{forceProductSetting:g,isProductPage:"PRODUCT"===s,isProductNotFound:I,showProductNotFound:v,isLoading:F,product:y,errorLoadProduct:M,isEditor:P,productProviderData:b,setShowProductNotFound:D}};
1
+ "use strict";var e=require("@gem-sdk/core"),t=require("react"),r=require("./useProductQuery.js");exports.useProductSetting=a=>{let{setting:d}=a,{productSetting:u,quantity:i,readOnly:s,isSyncProduct:c}=d??{},o=e.usePageType(),P=e.usePageStore(e=>e.dynamicProduct),{isEditMode:n}=e.useRenderMode(),l=u?.productId??"latest",S=u?.productStatus=="dynamic"?{...u,...P}:u,g=S?.initialVariantId,p=S?.initialVariantBaseId,{productData:{data:y,isLoading:m,error:h}}=r.default({id:l}),[q,I]=t.useState(!0),k=(h||!y&&!m)&&n,D=t.useMemo(()=>({product:y,initialVariantId:g,initialVariantBaseId:p,quantity:i,readOnly:s,isSyncProduct:c,key:`uid-${y?.id}-${g??""}`,hasPreSelected:u?.hasPreSelected}),[p,g,c,y,u?.hasPreSelected,i,s]);return{forceProductSetting:S,isProductPage:"PRODUCT"===o,isProductNotFound:k,showProductNotFound:q,isLoading:m,product:y,errorLoadProduct:h,isEditor:n,productProviderData:D,setShowProductNotFound:I}};
@@ -1 +1 @@
1
- "use strict";var e=require("./components/product-wrap/Product.js");require("react/jsx-runtime"),require("next/link"),require("@gem-sdk/core"),require("react"),require("@gem-sdk/system"),require("../notification/components/Notifications.js"),require("../notification/components/Notice.js"),require("./components/product-button/types.js"),require("./components/product-variants/components/variants/index.js"),require("next/image"),require("../modal/components/confirm.js"),require("react-dom"),require("../video/components/Video.js"),require("@gem-sdk/keen-slider/react");var t=require("./components/product-quick-view/QuickView.js");require("./components/constants/product-bundle.js");var r=require("./components/product-list-v3/ProductList.js"),u=require("./components/product-list/ProductList.js");require("./components/product-bundle/common/styles.js"),require("./components/product-bundle/common/classes.js"),require("./components/product-badge/constants.js"),require("./components/product-badge/types.js"),require("./components/product-badge/utils/shape.js");var s=require("./settings/Product.js"),o=require("./settings/ProductQuantity.js"),i=require("./settings/ProductTitle.js"),d=require("./settings/ProductButton.js"),c=require("./settings/ProductPrice.js"),n=require("./settings/ProductVariants.js"),a=require("./settings/ProductImages.js"),p=require("./settings/product-image-v3/ProductImages.js"),l=require("./settings/product-image-v2/ProductImages.js"),P=require("./settings/ProductDescription.js"),q=require("./settings/ProductProperties.js"),m=require("./settings/ProductTag.js"),g=require("./settings/ProductListV3.js"),j=require("./settings/ProductList.js"),f=require("./settings/DynamicCheckout.js"),V=require("./settings/Vendor.js"),k=require("./settings/Sku.js"),v=require("./components/product-bundle/setting/ProductBundleDiscount.js"),x=require("./components/product-bundle/setting/ProductBundleDiscountItem.js"),b=require("./settings/ProductViewMore.js"),y=require("./settings/ProductBadge.js"),B=require("./components/file-upload/settings/index.js");const D={Product:s.default,ProductQuantity:o.default,ProductTitle:i.default,ProductButton:d.default,ProductPrice:c.default,ProductVariants:n.default,ProductImages:a.default,ProductImagesV2:l.default,ProductImagesV3:p.default,ProductDescription:P.default,ProductProperties:q.default,ProductTag:m.default,ProductListV3:g.default,ProductList:j.default,DynamicCheckout:f.default,ProductVendor:V.default,ProductSku:k.default,ProductBundleDiscount:v.default,ProductBundleDiscountItem:x.default,ProductViewMore:b.default,ProductBadge:y.default,FileUpload:B.default};exports.Product=e.default,exports.ProductQuickView=t.default,exports.ProductListV3=r.default,exports.ProductList=u.default,exports.productSetting=D;
1
+ "use strict";var e=require("./components/product-wrap/Product.js");require("react/jsx-runtime"),require("next/link"),require("@gem-sdk/core"),require("react"),require("@gem-sdk/system"),require("../notification/components/Notifications.js"),require("../notification/components/Notice.js"),require("./components/product-button/types.js"),require("./components/product-variants/components/variants/index.js"),require("next/image"),require("../carousel-v3/components/swiper/Swiper.js"),require("../modal/components/confirm.js"),require("react-dom"),require("../video/components/Video.js"),require("@gem-sdk/keen-slider/react");var t=require("./components/product-quick-view/QuickView.js");require("./components/constants/product-bundle.js");var r=require("./components/product-list-v3/ProductList.js"),u=require("./components/product-list/ProductList.js");require("./components/product-bundle/common/styles.js"),require("./components/product-bundle/common/classes.js"),require("./components/product-badge/constants.js"),require("./components/product-badge/types.js"),require("./components/product-badge/utils/shape.js");var s=require("./settings/Product.js"),o=require("./settings/ProductQuantity.js"),i=require("./settings/ProductTitle.js"),c=require("./settings/ProductButton.js"),d=require("./settings/ProductPrice.js"),n=require("./settings/ProductVariants.js"),a=require("./settings/ProductImages.js"),p=require("./settings/product-image-v3/ProductImages.js"),l=require("./settings/product-image-v2/ProductImages.js"),P=require("./settings/ProductDescription.js"),q=require("./settings/ProductProperties.js"),m=require("./settings/ProductTag.js"),g=require("./settings/ProductListV3.js"),j=require("./settings/ProductList.js"),f=require("./settings/DynamicCheckout.js"),V=require("./settings/Vendor.js"),k=require("./settings/Sku.js"),v=require("./components/product-bundle/setting/ProductBundleDiscount.js"),x=require("./components/product-bundle/setting/ProductBundleDiscountItem.js"),b=require("./settings/ProductViewMore.js"),w=require("./settings/ProductBadge.js"),y=require("./components/file-upload/settings/index.js");const B={Product:s.default,ProductQuantity:o.default,ProductTitle:i.default,ProductButton:c.default,ProductPrice:d.default,ProductVariants:n.default,ProductImages:a.default,ProductImagesV2:l.default,ProductImagesV3:p.default,ProductDescription:P.default,ProductProperties:q.default,ProductTag:m.default,ProductListV3:g.default,ProductList:j.default,DynamicCheckout:f.default,ProductVendor:V.default,ProductSku:k.default,ProductBundleDiscount:v.default,ProductBundleDiscountItem:x.default,ProductViewMore:b.default,ProductBadge:w.default,FileUpload:y.default};exports.Product=e.default,exports.ProductQuickView=t.default,exports.ProductListV3=r.default,exports.ProductList=u.default,exports.productSetting=B;
@@ -1,2 +1,2 @@
1
1
  'use client';
2
- import{jsx as e}from"react/jsx-runtime";import{useEditorMode as r,isEmptyChildren as o}from"@gem-sdk/core";import"react";import"@gem-sdk/system";import{SwiperSlide as s}from"../swiper/SwiperSlide.js";import{getStyle as m}from"./common/styles.js";import{getClass as t}from"./common/classes.js";import{useCarouselItem as i}from"../../hooks/useCarouseItem.js";import l from"../../../grid/components/ChildrenDroppable.js";let a=a=>{let{children:d,builderAttrs:p,parentSettings:c,builderProps:n}=a,{handleClick:u,handleMouseMove:f,handleMouseOut:j}=i(a),{indexKey:h}=a,k=n?.uid?`${n?.uid}-${h}`:h,y=r(),{carouselItemStyle:C,carouselItemInnerStyle:g}=m(a,y),{carouselItemClass:v,carouselItemInnerClass:M}=t(a);return e(s,{...p,"aria-hidden":!0,className:v,style:C,onClick:u,onMouseMove:f,onMouseLeave:j,dir:c?.rtl?"rtl":"ltr","data-carousel-item-key":k,children:e("div",{className:M,style:g,children:o(d)?e(l,{}):d})})};export{a as default};
2
+ import{jsx as e}from"react/jsx-runtime";import{useEditorMode as r,isEmptyChildren as o}from"@gem-sdk/core";import"../swiper/Swiper.js";import{SwiperSlide as s}from"../swiper/SwiperSlide.js";import{getStyle as m}from"./common/styles.js";import{getClass as i}from"./common/classes.js";import{useCarouselItem as t}from"../../hooks/useCarouseItem.js";import l from"../../../grid/components/ChildrenDroppable.js";let a=a=>{let{children:p,builderAttrs:d,parentSettings:n,builderProps:c}=a,{handleClick:u,handleMouseMove:f,handleMouseOut:j}=t(a),{indexKey:h}=a,k=c?.uid?`${c?.uid}-${h}`:h,w=r(),{carouselItemStyle:y,carouselItemInnerStyle:C}=m(a,w),{carouselItemClass:v,carouselItemInnerClass:M}=i(a);return e(s,{...d,"aria-hidden":!0,className:v,style:y,onClick:u,onMouseMove:f,onMouseLeave:j,dir:n?.rtl?"rtl":"ltr","data-carousel-item-key":k,children:e("div",{className:M,style:C,children:o(p)?e(l,{}):p})})};export{a as default};
@@ -1,2 +1,2 @@
1
1
  'use client';
2
- import{jsx as e,jsxs as r,Fragment as o}from"react/jsx-runtime";import{forwardRef as t,Children as i,useState as l,useRef as n,useMemo as s,useCallback as a,isValidElement as d,cloneElement as m,createElement as p}from"react";import{filterToolbarPreview as c,useCurrentDevice as u,isEmptyChildren as h}from"@gem-sdk/core";import{mappingNavigationCarousel as S}from"../arrow/common/helpers.js";import{useCarousel as v}from"../../hooks/useCarousel.js";import{getData as w}from"./common/helpers.js";import{getClass as f}from"./common/classes.js";import{getStyle as k}from"./common/styles.js";import{getAttr as y}from"./common/attrs.js";import C from"../arrow/Arrow.js";import g from"../dot/Dots.js";import{Swiper as j}from"../swiper/Swiper.js";import"@gem-sdk/system";let b=t((t,b)=>{let{children:$,builderAttrs:O,builderProps:P,styles:A,isHiddenArrowWhenDisabled:D=!0,hiddenDotWhenOnlyOne:I,elmRef:x,isEnableCheckHasScrollableContent:z,onSwiperReady:T}=t,B=S(t.setting),N={...t,setting:B},R=i.count(c($))??0,[W,E]=l(null),{arrowButtonSize:H,arrowBackgroundColor:G,arrowGapToEachSide:F="16",roundedArrow:K,arrowIconSize:U,arrowCustomColor:q,arrowBorder:J,arrowShadow:L,showWhenHover:M}=B??{},Q=n({prevOrder:"",prevContent:"",version:0}),V=s(()=>{let e=B?.childItem||[],r=e.join("|"),o=[...e].sort().join("|"),t=Q.current;return t.prevOrder&&t.prevContent&&o===t.prevContent&&r!==t.prevOrder&&t.version++,t.prevOrder=r,t.prevContent=o,`reorder-${t.version}`},[B?.childItem]),{isInfinity:X,localRef:Y,sliderSettings:Z,totalSlideItem:_,currentSlide:ee,isRenderDots:er,showNavigation:eo,isScrollToStart:et,isScrollToEnd:ei,handleDotClick:el,getItemsPerPage:en,handleNextAndPrevSlide:es,dispatchEventSelectSlide:ea,getNumberOfFullWidthShow:ed,setCurrentSlide:em,shouldDuplicateSlides:ep,setIsScrollToStart:ec,setIsScrollToEnd:eu}=v(N,b,W,R),{loopConfig:eh,arrowShowConfig:eS}=w(N),{rootClassRender:ev,wrapperClassRender:ew,wrapperInnerClass:ef,sliderClass:ek}=f(N),{rootStyleRender:ey,wrapperStyleRender:eC,wrapperInnerStyle:eg}=k(N),{rootAttrRender:ej,sliderAttr:eb}=y(N),e$=u(),eO=B?.sneakPeak?.[e$],eP=r=>{let o="next"===r;if(R<=1)return null;let i=o?!X&&W?.isEnd:!X&&W?.isBeginning;return e(C,{uid:P?.uid,custom:B?.arrowCustom??"",showArrow:eS,arrowButtonSize:H||{},arrowIconSize:U||{},arrowBackgroundColor:G||"",arrowCustomColor:q,gapToEachSize:F,showWhenHover:M,arrowBorder:J||{},arrowCorner:K||{},arrowShadow:L||{},onClick:e=>{e.stopPropagation(),es(r)},left:!o,disabled:z?o?!X&&ei:!X&&et:i,vertical:B?.vertical,isHiddenWhenDisabled:D,rootId:t?.parentClass})},eA=a(e=>{E(e),T?.(e)},[]),eD=a(()=>{t?.isDisableResetSlide||(em(0),ec(!0),eu(!1))},[t?.isDisableResetSlide,em,eu,ec]),eI=i.toArray(c($)).filter(d),ex=ep(R),ez=ex?2*R:R,eT=s(()=>{if(!ex)return eI;let e=eI.map((e,r)=>{if(!d(e))return e;let o=e.key,t=o?`${o}-duplicate-${r}`:`duplicate-${r}`;return m(e,{...e.props||{},key:t})});return[...eI,...e]},[ex,eI]),eB=s(()=>{let e=i.toArray($),r=e[0];return d(r)?r.key:""},[$]),eN=s(()=>`${R}-${V}-${eT.length}-${Z?.direction}-${eB}`,[R,V,eT.length,Z?.direction,eB]);return e("div",{ref:x,...ej,className:ev,style:ey,children:r("div",{ref:Y,...O,className:ew,style:eC,children:[r("div",{className:ef,style:eg,children:[eo&&eP("prev"),p(j,{...eb,...Z,sliderClass:ek,thumbsSwiper:t?.thumbsSwiper,onSwiperReady:eA,totalSlides:_,key:eN,sliderOrder:V,onSwiperReset:eD},h($)?e("div",{children:"No Slider"}):e(o,{children:eT.map((e,r)=>{if(!d(e))return null;let o=e.props??{};return p(e.type,{...o,key:e.key,indexKey:r.toString(),parentSettings:B,parentStyle:A,background:B?.background,parentUid:P?.uid,dispatchEventSelectSlide:ea})})})),eo&&eP("next")]}),er&&e(g,{dotStyle:B?.dotStyle,dotGapToCarousel:B?.dotGapToCarousel,vertical:B?.vertical,showDots:B?.dot,slideItemsPerPage:en(),enabledSneakPeak:eO,dotColor:B?.dotColor,dotActiveColor:B?.dotActiveColor,dotSize:B?.dotSize,sneakPeakType:B?.sneakPeakType,totalSlideItem:ez,hiddenWhenOnlyOne:I,currentSlide:ee,loop:eh,numberOfFullWidthShow:ed(e$),onHandleClick:el,slideDuplicated:ex}),c($,!0)]})})});export{b as default};
2
+ import{jsx as e,jsxs as r,Fragment as o}from"react/jsx-runtime";import{forwardRef as t,Children as i,useState as l,useRef as n,useMemo as s,useCallback as a,isValidElement as d,cloneElement as p,createElement as m}from"react";import{filterToolbarPreview as u,useCurrentDevice as c,isEmptyChildren as S}from"@gem-sdk/core";import{mappingNavigationCarousel as h}from"../arrow/common/helpers.js";import{useCarousel as v}from"../../hooks/useCarousel.js";import{getData as y}from"./common/helpers.js";import{getClass as f}from"./common/classes.js";import{getStyle as w}from"./common/styles.js";import{getAttr as k}from"./common/attrs.js";import C from"../arrow/Arrow.js";import g from"../dot/Dots.js";import{Swiper as j}from"../swiper/Swiper.js";import"@gem-sdk/system";let b=t((t,b)=>{let{children:O,builderAttrs:P,builderProps:A,styles:D,isHiddenArrowWhenDisabled:I=!0,hiddenDotWhenOnlyOne:x,elmRef:z,isEnableCheckHasScrollableContent:N,onSwiperReady:T}=t,B=h(t.setting),R={...t,setting:B},W=i.count(u(O))??0,[$,E]=l(null),{arrowButtonSize:H,arrowBackgroundColor:G,arrowGapToEachSide:F="16",roundedArrow:J,arrowIconSize:K,arrowCustomColor:U,arrowBorder:q,arrowShadow:L,showWhenHover:M}=B??{},Q=n({prevOrder:"",prevContent:"",version:0}),V=s(()=>{let e=B?.childItem||[],r=e.join("|"),o=[...e].sort().join("|"),t=Q.current;return t.prevOrder&&t.prevContent&&o===t.prevContent&&r!==t.prevOrder&&t.version++,t.prevOrder=r,t.prevContent=o,`reorder-${t.version}`},[B?.childItem]),{isInfinity:X,localRef:Y,sliderSettings:Z,totalSlideItem:_,currentSlide:ee,isRenderDots:er,showNavigation:eo,isScrollToStart:et,isScrollToEnd:ei,handleDotClick:el,getItemsPerPage:en,handleNextAndPrevSlide:es,dispatchEventSelectSlide:ea,getNumberOfFullWidthShow:ed,setCurrentSlide:ep,shouldDuplicateSlides:em,setIsScrollToStart:eu,setIsScrollToEnd:ec}=v(R,b,$,W),{loopConfig:eS,arrowShowConfig:eh}=y(R),{rootClassRender:ev,wrapperClassRender:ey,wrapperInnerClass:ef,sliderClass:ew}=f(R),{rootStyleRender:ek,wrapperStyleRender:eC,wrapperInnerStyle:eg}=w(R),{rootAttrRender:ej,sliderAttr:eb}=k(R),eO=c(),eP=B?.sneakPeak?.[eO],eA=r=>{let o="next"===r;if(W<=1)return null;let i=o?!X&&$?.isEnd:!X&&$?.isBeginning;return e(C,{uid:A?.uid,custom:B?.arrowCustom??"",showArrow:eh,arrowButtonSize:H||{},arrowIconSize:K||{},arrowBackgroundColor:G||"",arrowCustomColor:U,gapToEachSize:F,showWhenHover:M,arrowBorder:q||{},arrowCorner:J||{},arrowShadow:L||{},onClick:e=>{e.stopPropagation(),es(r)},left:!o,disabled:N?o?!X&&ei:!X&&et:i,vertical:B?.vertical,isHiddenWhenDisabled:I,rootId:t?.parentClass})},eD=a(e=>{E(e),T?.(e)},[]),eI=a(()=>{t?.isDisableResetSlide||(ep(0),eu(!0),ec(!1))},[t?.isDisableResetSlide,ep,ec,eu]),ex=i.toArray(u(O)).filter(d),ez=em(W),eN=ez?2*W:W,eT=s(()=>{if(!ez)return ex;let e=ex.map((e,r)=>{if(!d(e))return e;let o=e.key,t=o?`${o}-duplicate-${r}`:`duplicate-${r}`;return p(e,{...e.props||{},key:t})});return[...ex,...e]},[ez,ex]),eB=s(()=>{let e=i.toArray(O),r=e[0];return d(r)?r.key:""},[O]),eR=JSON.stringify(Z.autoplay),eW=s(()=>{let e=[W,V,eT.length,eB,Z.dir,Z.loop,Z.virtual,Z.direction,eR];return e.join("-")},[W,V,eT.length,eB,Z.dir,Z.loop,Z.virtual,Z.direction,eR]);return e("div",{ref:z,...ej,className:ev,style:ek,children:r("div",{ref:Y,...P,className:ey,style:eC,children:[r("div",{className:ef,style:eg,children:[eo&&eA("prev"),m(j,{...eb,...Z,sliderClass:ew,thumbsSwiper:t?.thumbsSwiper,onSwiperReady:eD,totalSlides:_,key:eW,sliderOrder:V,onSwiperReset:eI},S(O)?e("div",{children:"No Slider"}):e(o,{children:eT.map((e,r)=>{if(!d(e))return null;let o=e.props??{};return m(e.type,{...o,key:e.key,indexKey:r.toString(),parentSettings:B,parentStyle:D,background:B?.background,parentUid:A?.uid,dispatchEventSelectSlide:ea})})})),eo&&eA("next")]}),er&&e(g,{dotStyle:B?.dotStyle,dotGapToCarousel:B?.dotGapToCarousel,vertical:B?.vertical,showDots:B?.dot,slideItemsPerPage:en(),enabledSneakPeak:eP,dotColor:B?.dotColor,dotActiveColor:B?.dotActiveColor,dotSize:B?.dotSize,sneakPeakType:B?.sneakPeakType,totalSlideItem:eN,hiddenWhenOnlyOne:x,currentSlide:ee,loop:eS,numberOfFullWidthShow:ed(eO),onHandleClick:el,slideDuplicated:ez}),u(O,!0)]})})});export{b as default};
@@ -1 +1 @@
1
- import{jsx as e}from"react/jsx-runtime";import{useRef as r,useState as t,useMemo as i,useEffect as n}from"react";import{getStyleSwiperContainer as s}from"./common/styles.js";function p(p){let c=r(null),{children:o,totalSlides:u,onSwiperReset:l,onSwiperReady:a,sliderClass:w,sliderOrder:d,thumbsSwiper:m,...f}=p,[y,b]=t(!1),j=i(()=>m?{"thumbs-swiper":m}:{},[m]),g=s(),h="object"==typeof p.autoplay&&null!==p.autoplay?p.autoplay.pauseOnMouseEnter:void 0,E=()=>{c.current?.swiper&&c.current.swiper.wrapperEl.style.setProperty("width",`${c.current.swiper.width}px`)};return n(()=>{let e=async()=>{let e=await import("@gem-sdk/swiper/element/bundle");e.register(),await window.customElements.whenDefined("swiper-container"),b(!0)};e()},[]),n(()=>{y&&c.current&&(Object.assign(c.current,f),c.current.initialize?.(),a?.(c.current.swiper),E())},[y]),n(()=>{c.current?.swiper&&(c.current.swiper.destroy(!1,!1),Object.assign(c.current,f),c.current.initialize?.(),a(c.current.swiper),l())},[f.dir,f.loop,h,f.slidesPerView,a,l,f.spaceBetween,f.slidesOffsetBefore]),n(()=>{let e=c.current;e&&(Object.assign(e,f),e.swiper?.update(),E())},[f]),n(()=>{l()},[d,l]),n(()=>{let e=c.current;if(!e)return;let r=()=>{E()};return e.addEventListener("swiperresize",r),()=>{e.removeEventListener("swiperresize",r)}},[]),e("swiper-container",{init:!1,ref:c,class:w,style:{...g,display:y?"block":"none"},...j,children:o})}export{p as Swiper};
1
+ import{jsx as e}from"react/jsx-runtime";import{useRef as r,useMemo as t,useEffect as i}from"react";import{getStyleSwiperContainer as s}from"./common/styles.js";import{register as n}from"@gem-sdk/swiper/element/bundle";import{Autoplay as p}from"@gem-sdk/swiper/modules";n();let o={modules:[p]};function l(n){let p=r(null),{children:l,totalSlides:u,onSwiperReset:m,onSwiperReady:a,sliderClass:c,sliderOrder:w,thumbsSwiper:d,...f}=n,y=JSON.stringify(f),b=t(()=>d?{"thumbs-swiper":d}:{},[d]),g=s(),j="object"==typeof n.autoplay&&null!==n.autoplay?n.autoplay.pauseOnMouseEnter:void 0,h=()=>{p.current?.swiper&&p.current.swiper.wrapperEl.style.setProperty("width",`${p.current.swiper.width}px`)};return i(()=>{let e=p.current;if(e)return Object.assign(e,f,o),e.initialize?.(),a?.(e.swiper),h(),e.addEventListener("swiperresize",h),()=>{e.removeEventListener("swiperresize",h),m()}},[]),i(()=>{let e=p.current,r=e?.swiper;e&&r&&!r.destroyed&&(Object.assign(e,f,o),r.update(),h())},[y,j]),i(()=>{m()},[w,m]),e("swiper-container",{init:!1,ref:p,class:c,style:{...g},...b,children:l})}export{l as Swiper};
@@ -1 +1 @@
1
- import"react/jsx-runtime";import"react";import"@gem-sdk/core";import"@gem-sdk/system";import"next/link";import t from"./settings/Carousel.js";import e from"./settings/CarouselItem.js";let r={CarouselV3:t,CarouselItemV3:e};export{r as carouselSettingV3};
1
+ import"react/jsx-runtime";import"react";import"@gem-sdk/core";import"@gem-sdk/system";import"next/link";import"./components/swiper/Swiper.js";import t from"./settings/Carousel.js";import e from"./settings/CarouselItem.js";let r={CarouselV3:t,CarouselItemV3:e};export{r as carouselSettingV3};
@@ -1 +1 @@
1
- import{jsx as e,Fragment as o,jsxs as t}from"react/jsx-runtime";import r from"next/dynamic";import d from"../../../common/components/Loading.js";import{useState as l,useRef as i,useMemo as s,useEffect as a}from"react";import{useRenderMode as c,useCurrentDevice as n,usePageType as m,usePageStore as u,flattenConnection as g,ProductListProvider as p,filterToolbarPreview as h}from"@gem-sdk/core";import f from"../SalePageProductListWarning.js";import P from"next/head";import k from"./ProductListGridLayout.js";import y from"./ProductListCarouselLayout.js";import{getStyle as I}from"./common/styles.js";import{If as T}from"@gem-sdk/system";import{getClass as b}from"./common/classes.js";import{getData as S}from"./common/helpers.js";import{getPropertyByDevice as j}from"../../../dialog/common/helpers.js";import{useProductsQuery as v}from"./hooks/useProductsQuery.js";import{useCollectionQuery as w}from"./hooks/useCollectionQuery.js";import C from"./hooks/useProductRelatedQuery.js";import L from"./hooks/useMainRelatedProductQuery.js";let G=r(()=>import("../ProductNotFound.js"),{loading:d}),O=r=>{let{children:O,styles:A,builderProps:N,setting:x,builderAttrs:B}=r,{isRelatedProduct:E,productSetting:z}=S(r),{isEditMode:M,isPreviewSharePageMode:Q}=c(),D=n(),H=m(),R=u(e=>e.dynamicCollection),[W,$]=l(1),[_,F]=l(!0),V=i(),q="GP_FUNNEL_PAGE"===H;"GP_COLLECTION"==H&&(z.productSrc="DynamicCollection",z.collectionId=R?.collectionId??"latest");let U=z?.productSrc??"Collection",{mainRelatedProduct:J,relatedProductIdAssigned:K}=L({isEditMode:M,isPreviewSharePageMode:Q,isRelatedProduct:E,relatedProductId:z.relatedProductId}),X=z.relatedTag&&z.relatedTag[0],Y=z.relatedTag&&"tags"===z.relatedTag[0]&&(!J?.tags||J?.tags.length===0),Z=z.relatedTag&&"collection"===z.relatedTag[0]&&(!J?.collections?.edges||J?.collections.edges.length===0),ee=z.relatedTag&&"vendor"===z.relatedTag[0]&&!J?.vendor,{isNotFoundRelatedProduct:eo,relatedProducts:et}=C({isRelatedProduct:E,productSetting:z,setting:x,mainRelatedProduct:J,productSrc:U}),er=v({productIds:z?.productIds,defaultSelectedProductCount:z?.numOfSelectedProducts,productSrc:U}),ed=w({productSrc:U,collectionID:z?.collectionId??"latest",numberOfProducts:x?.numberOfProducts??4,orderBy:x?.orderBy??"none"}),el="PickProduct"===U?er.isLoading:ed.isLoading,ei="PickProduct"===U?er.error:ed.error,es="PickProduct"===U?er.isValidating:ed.isValidating,ea=ed.data?.collections?.edges?.[0]?.node,ec="PickProduct"===U?g(er.data?.products):g(ea?.products),en=u(e=>e.assignedProductIds),em=u(e=>e.isApplyAllProducts),eu=s(()=>(en??[]).length>0&&!em||em,[en,em]),eg=et?.data?.products&&eu?g(et?.data?.products):[],ep=E?eg:"PickProduct"===U&&z?.productIds?.length?z?.productIds?.map(e=>ec?.find(o=>o?.baseID===e)).filter(Boolean)??ec:"PickProduct"!==U?ec:ec.filter((e,o)=>o<(z?.numOfSelectedProducts??4)),eh=s(()=>eo&&E&&M||!ep.length&&!el&&_&&M,[_,el,eo,E,M,ep.length]),ef=s(()=>!ep||eo&&E,[eo,E,ep]),eP=s(()=>{if(!x?.sameHeight)return[];let e=0,o=Math.ceil((ep?.length??0)/+(x?.slidesToShow?.[D]??1));return Array.from(Array(ep?.length??0)).map((t,r)=>(r>=+(x?.slidesToShow?.[D]??1)*(e+1)&&++e,{gridRow:`${1+W*e}/${W+1+W*e}`,marginBottom:e+1<o?j(A?.horizontalGutter,D):void 0}))},[x?.sameHeight,x?.slidesToShow,W,ep?.length,D,A?.horizontalGutter]),ek=s(()=>es||el||ei||!ep||eo&&E,[ei,el,eo,E,es,ep]),ey=s(()=>J?.collections?.edges.map(e=>e.node?.id)??[],[J?.collections?.edges]);a(()=>{if(!ek&&!el&&!es)return V.current=setTimeout(()=>{let{builderData:e}=N??{},o=e?.childrens?.[0];if(!o)return;let t=document.querySelector(`[data-id=${o}] div`);t&&$(t.childElementCount||1)},500),()=>{clearTimeout(V.current)}},[N,ek,M,ey,el,es]);let eI=s(()=>({collection:ea,products:ep,settings:{loop:x?.loop??{desktop:!1},scrollMode:x?.scrollMode??{desktop:"snap"},slidesToShow:x?.slidesToShow??{desktop:4,tablet:3,mobile:1},layout:A?.layout,dot:x?.dot,dotStyle:x?.dotStyle,arrow:x?.arrow,controlOverContent:x?.controlOverContent},styles:{horizontalGutter:A?.horizontalGutter,verticalGutter:A?.verticalGutter,fullWidth:A?.fullWidth,spacing:A?.spacing,width:A?.width,height:A?.height}}),[ea,ep,x,A]);if(N?.isPreview&&q)return e(o,{});if(eh)return e(o,{children:T(_,e(G,{builderAttrs:B,collectionHandle:ea?.handle,productSrc:U,onClose:()=>F(!1),children:O,relatedTagString:X,assignProductNoTags:Y||Z||ee,noAssignedProduct:!K}))});let{productListWrapStyle:eT,productListContentStyle:eb,productListWrapAlignStyle:eS}=I(r),{productListWrapClass:ej}=b(r);return t("div",{...B,className:ej,style:eT,children:[!!A?.preloadBgImage&&t(P,{children:[!!A.backgroundImage?.desktop?.image?.src&&e("link",{rel:"preload",href:A.backgroundImage.desktop.image.src,as:"image"}),!!A.backgroundImage?.tablet?.image?.src&&e("link",{rel:"preload",href:A.backgroundImage?.tablet?.image?.src,as:"image"}),!!A.backgroundImage?.mobile?.image?.src&&e("link",{rel:"preload",href:A.backgroundImage?.mobile?.image?.src,as:"image"})]}),el||es?e(d,{}):ei?t("div",{children:["Error: ",ei?.message]}):ef?e("div",{children:"Products not found"}):e(p,{...eI,children:e("div",{className:"gp-flex gp-w-full",style:eS,children:t("div",{style:eb,children:[q&&e(f,{}),e(o,{children:T(A?.layout==="grid",e(k,{...r,productSortedById:ep,generateGridRowArray:eP}),e(y,{...r,productSortedById:ep}))})]})})}),h(O,!0)]})};export{O as default};
1
+ import{jsx as e,Fragment as o,jsxs as t}from"react/jsx-runtime";import r from"next/dynamic";import d from"../../../common/components/Loading.js";import{useState as l,useRef as i,useMemo as a,useEffect as s}from"react";import{useRenderMode as c,useCurrentDevice as n,usePageType as m,usePageStore as u,flattenConnection as g,ProductListProvider as p,filterToolbarPreview as h}from"@gem-sdk/core";import f from"../SalePageProductListWarning.js";import P from"next/head";import k from"./ProductListGridLayout.js";import y from"./ProductListCarouselLayout.js";import{getStyle as I}from"./common/styles.js";import{If as T}from"@gem-sdk/system";import{getClass as b}from"./common/classes.js";import{getData as S}from"./common/helpers.js";import{getPropertyByDevice as j}from"../../../dialog/common/helpers.js";import{useProductsQuery as v}from"./hooks/useProductsQuery.js";import{useCollectionQuery as w}from"./hooks/useCollectionQuery.js";import C from"./hooks/useProductRelatedQuery.js";import L from"./hooks/useMainRelatedProductQuery.js";let G=r(()=>import("../ProductNotFound.js"),{loading:d}),O=r=>{let{children:O,styles:A,builderProps:N,setting:x,builderAttrs:B}=r,{isRelatedProduct:E,productSetting:z}=S(r),{isEditMode:M}=c(),Q=n(),D=m(),H=u(e=>e.dynamicCollection),[R,W]=l(1),[$,_]=l(!0),F=i(),V="GP_FUNNEL_PAGE"===D;"GP_COLLECTION"==D&&(z.productSrc="DynamicCollection",z.collectionId=H?.collectionId??"latest");let q=z?.productSrc??"Collection",{mainRelatedProduct:U,relatedProductIdAssigned:J}=L({productSrc:q,relatedProductId:z.relatedProductId}),K=z.relatedTag&&z.relatedTag[0],X=z.relatedTag&&"tags"===z.relatedTag[0]&&(!U?.tags||U?.tags.length===0),Y=z.relatedTag&&"collection"===z.relatedTag[0]&&(!U?.collections?.edges||U?.collections.edges.length===0),Z=z.relatedTag&&"vendor"===z.relatedTag[0]&&!U?.vendor,{isNotFoundRelatedProduct:ee,relatedProducts:eo}=C({isRelatedProduct:E,productSetting:z,setting:x,mainRelatedProduct:U,productSrc:q}),et=v({productIds:z?.productIds,defaultSelectedProductCount:z?.numOfSelectedProducts,productSrc:q}),er=w({productSrc:q,collectionID:z?.collectionId??"latest",numberOfProducts:x?.numberOfProducts??4,orderBy:x?.orderBy??"none"}),ed="PickProduct"===q?et.isLoading:er.isLoading,el="PickProduct"===q?et.error:er.error,ei="PickProduct"===q?et.isValidating:er.isValidating,ea=er.data?.collections?.edges?.[0]?.node,es="PickProduct"===q?g(et.data?.products):g(ea?.products),ec=u(e=>e.assignedProductIds),en=u(e=>e.isApplyAllProducts),em=a(()=>(ec??[]).length>0&&!en||en,[ec,en]),eu=eo?.data?.products&&em?g(eo?.data?.products):[],eg=E?eu:"PickProduct"===q&&z?.productIds?.length?z?.productIds?.map(e=>es?.find(o=>o?.baseID===e)).filter(Boolean)??es:"PickProduct"!==q?es:es.filter((e,o)=>o<(z?.numOfSelectedProducts??4)),ep=a(()=>ee&&E&&M||!eg.length&&!ed&&$&&M,[$,ed,ee,E,M,eg.length]),eh=a(()=>!eg||ee&&E,[ee,E,eg]),ef=a(()=>{if(!x?.sameHeight)return[];let e=0,o=Math.ceil((eg?.length??0)/+(x?.slidesToShow?.[Q]??1));return Array.from(Array(eg?.length??0)).map((t,r)=>(r>=+(x?.slidesToShow?.[Q]??1)*(e+1)&&++e,{gridRow:`${1+R*e}/${R+1+R*e}`,marginBottom:e+1<o?j(A?.horizontalGutter,Q):void 0}))},[x?.sameHeight,x?.slidesToShow,R,eg?.length,Q,A?.horizontalGutter]),eP=a(()=>ei||ed||el||!eg||ee&&E,[el,ed,ee,E,ei,eg]);s(()=>{if(!eP&&!ed&&!ei)return F.current=setTimeout(()=>{let{builderData:e}=N??{},o=e?.childrens?.[0];if(!o)return;let t=document.querySelector(`[data-id=${o}] div`);t&&W(t.childElementCount||1)},M?0:500),()=>{clearTimeout(F.current)}},[N,eP,M,ed,ei,eg]);let ek=a(()=>({collection:ea,products:eg,settings:{loop:x?.loop??{desktop:!1},scrollMode:x?.scrollMode??{desktop:"snap"},slidesToShow:x?.slidesToShow??{desktop:4,tablet:3,mobile:1},layout:A?.layout,dot:x?.dot,dotStyle:x?.dotStyle,arrow:x?.arrow,controlOverContent:x?.controlOverContent},styles:{horizontalGutter:A?.horizontalGutter,verticalGutter:A?.verticalGutter,fullWidth:A?.fullWidth,spacing:A?.spacing,width:A?.width,height:A?.height}}),[ea,eg,x,A]);if(N?.isPreview&&V)return e(o,{});if(ep)return e(o,{children:T($,e(G,{builderAttrs:B,collectionHandle:ea?.handle,productSrc:q,onClose:()=>_(!1),children:O,relatedTagString:K,assignProductNoTags:X||Y||Z,noAssignedProduct:!J}))});let{productListWrapStyle:ey,productListContentStyle:eI,productListWrapAlignStyle:eT}=I(r),{productListWrapClass:eb}=b(r);return t("div",{...B,className:eb,style:ey,children:[!!A?.preloadBgImage&&t(P,{children:[!!A.backgroundImage?.desktop?.image?.src&&e("link",{rel:"preload",href:A.backgroundImage.desktop.image.src,as:"image"}),!!A.backgroundImage?.tablet?.image?.src&&e("link",{rel:"preload",href:A.backgroundImage?.tablet?.image?.src,as:"image"}),!!A.backgroundImage?.mobile?.image?.src&&e("link",{rel:"preload",href:A.backgroundImage?.mobile?.image?.src,as:"image"})]}),ed||ei?e(d,{}):el?t("div",{children:["Error: ",el?.message]}):eh?e("div",{children:"Products not found"}):e(p,{...ek,children:e("div",{className:"gp-flex gp-w-full",style:eT,children:t("div",{style:eI,children:[V&&e(f,{}),e(o,{children:T(A?.layout==="grid",e(k,{...r,productSortedById:eg,generateGridRowArray:ef}),e(y,{...r,productSortedById:eg}))})]})})}),h(O,!0)]})};export{O as default};
@@ -1 +1 @@
1
- import{createClass as e}from"@gem-sdk/system";let g=g=>{let{setting:t,className:s,builderProps:i,advanced:r,styles:p}=g,l=e({...s&&{[s]:!0},...r?.cssClass&&{[r.cssClass]:!0},"!gp-m-auto gp-grid gp-w-full":!0,"gp-grid-flow-row":t?.sameHeight}),a=e({"gp-relative gp-flex":!0,[`${i?.builderData?.uid}`]:!0}),d=e({"gp-contents":t?.sameHeight&&p?.layout==="grid"}),o=e({"gp-justify-center":!0,"gp-overflow-hidden":!t?.sameHeight}),m=e({"gp-contents [&>*]:gp-grid-rows-[subgrid] [&>*]:gp-gap-y-0":t?.sameHeight&&p?.layout==="grid",[`gp-child-item-${i?.uid}`]:!0});return{gridLayoutClass:l,productItemClass:m,carouselClass:o,productListWrapClass:a,gpProductClass:d}};export{g as getClass};
1
+ import{createClass as e}from"@gem-sdk/system";let g=g=>{let{setting:t,className:s,builderProps:i,advanced:p,styles:r}=g,l=e({...s&&{[s]:!0},...p?.cssClass&&{[p.cssClass]:!0},"!gp-m-auto gp-grid gp-w-full":!0,"gp-grid-flow-row":t?.sameHeight}),a=e({"gp-relative gp-flex":!0,[`${i?.builderData?.uid}`]:!0}),d=e({"gp-contents":t?.sameHeight&&r?.layout==="grid"}),o=e({"gp-justify-center":!0,"gp-overflow-hidden":!t?.sameHeight}),m=e({"gp-contents [&>*>div]:gp-contents [&>*]:gp-grid-rows-[subgrid] [&>*]:gp-gap-y-0":t?.sameHeight&&r?.layout==="grid",[`gp-child-item-${i?.uid}`]:!0});return{gridLayoutClass:l,productItemClass:m,carouselClass:o,productListWrapClass:a,gpProductClass:d}};export{g as getClass};
@@ -1 +1 @@
1
- import{useFetchHandle as r,usePageStore as t,hasPublicStoreFrontData as o,createStoreFrontFetcher as i,useIsSampleProduct as e,useIsStorefrontProduct as a,generateCollectionQueryKey as n,getCollection as l}from"@gem-sdk/core";import{useMemo as d,useEffect as m}from"react";import s from"swr";import{PRODUCT_SOURCE as u}from"../constants/index.js";let c=({productSrc:c,numberOfProducts:p,orderBy:f,collectionID:g})=>{let x=r(),C=t(r=>r.publicStoreFrontData),L=d(()=>o(C)?i(C):x,[C]),V=e(),b=a(),j=d(()=>({id:g,numberOfProducts:p,orderBy:f}),[g,p,f]),k=s(n({...j,isSample:V,isStorefront:b}),([,r])=>l(L,r),{revalidateOnMount:!1});return m(()=>{if(c!==u.Collection)return;let r=!!k.error,t=k.isLoading||k.isValidating,o=!k.data&&!t;!r&&o&&k.mutate()},[c,k.data,k.error,k.isLoading,k.isValidating]),k};export{c as useCollectionQuery};
1
+ import{useFetchHandle as t,usePageStore as r,hasPublicStoreFrontData as o,createStoreFrontFetcher as i,useIsSampleProduct as e,useIsStorefrontProduct as a,generateCollectionQueryKey as n,getCollection as l}from"@gem-sdk/core";import{useMemo as m,useEffect as d}from"react";import s from"swr";import{PRODUCT_SOURCE as c}from"../constants/index.js";let u=({productSrc:u,numberOfProducts:p,orderBy:f,collectionID:g})=>{let C=t(),x=r(t=>t.publicStoreFrontData),y=m(()=>o(x)?i(x):C,[x]),D=e(),L=a(),V=m(()=>({id:g,numberOfProducts:p,orderBy:f}),[g,p,f]),b=s(n({...V,isSample:D,isStorefront:L}),([,t])=>l(y,t),{revalidateOnMount:!1});return d(()=>{if(u!==c.Collection&&u!==c.DynamicCollection)return;let t=!!b.error,r=b.isLoading||b.isValidating,o=!b.data&&!r;!t&&o&&b.mutate()},[u,b.data,b.error,b.isLoading,b.isValidating]),b};export{u as useCollectionQuery};
@@ -1 +1 @@
1
- import{useMemo as t}from"react";import{useFetchHandle as r,usePageStore as d,hasPublicStoreFrontData as e,createStoreFrontFetcher as o,useProductQuery as a}from"@gem-sdk/core";let u=({isRelatedProduct:u,relatedProductId:c,isEditMode:i,isPreviewSharePageMode:p})=>{let l=r(),m=d(t=>t.dynamicProduct),n=d(t=>t.publicStoreFrontData),f=m?.productId&&m?.productId!==c?m?.productId:c,s=t(()=>e(n)?o(n):l,[n]),{data:I}=a(u&&f?f:void 0,{revalidateOnMount:i||p},s);return{relatedProductIdAssigned:f,mainRelatedProduct:I}};export{u as default};
1
+ import{usePageStore as t}from"@gem-sdk/core";import r from"../../product-wrap/hook/useProductQuery.js";import{PRODUCT_SOURCE as d}from"../constants/index.js";let o=({productSrc:o,relatedProductId:e})=>{let u=t(t=>t.dynamicProduct),a=u?.productId&&u?.productId!==e?u?.productId:e,{productData:{data:c}}=r({id:o===d.RelatedProduct&&a?a:void 0});return{relatedProductIdAssigned:a,mainRelatedProduct:c}};export{o as default};
@@ -0,0 +1 @@
1
+ import{useFetchHandle as r,usePageStore as t,useIsSampleProduct as a,useIsStorefrontProduct as e,hasPublicStoreFrontData as i,createStoreFrontFetcher as o,generateProductQueryKey as n,getProduct as d}from"@gem-sdk/core";import{useMemo as l,useEffect as u}from"react";import s from"swr";let m=({id:m})=>{let c=r(),f=t(r=>r.publicStoreFrontData),g=a(),p=e(),y=l(()=>i(f)?o(f):c,[f]),L=l(()=>m?n({id:m,isSample:g,isStorefront:p}):null,[m,g,p]),V=s(L,async([,r])=>d(y,r),{revalidateOnMount:!1});return u(()=>{if(!m)return;let r=!!V.error,t=V.isLoading||V.isValidating,a=!V.data&&!t;!r&&a&&V.mutate()},[m,V.data,V.error,V.isLoading,V.isValidating]),{productData:V}};export{m as default};
@@ -1 +1 @@
1
- import{usePageType as t,usePageStore as e,useRenderMode as r,hasPublicStoreFrontData as a,createStoreFrontFetcher as d,useProductQuery as i}from"@gem-sdk/core";import{useMemo as o,useState as c}from"react";let u=u=>{let{setting:n}=u,{productSetting:l,quantity:s,readOnly:P,isSyncProduct:m}=n??{},p=t(),S=e(t=>t.dynamicProduct),g=e(t=>t.publicStoreFrontData),{isEditMode:h,isPreviewSharePageMode:y}=r(),I=l?.productId??"latest",f=l?.productStatus=="dynamic"?{...l,...S}:l,k=f?.initialVariantId,v=f?.initialVariantBaseId,D=o(()=>a(g)?d(g):void 0,[g]),{data:O,isLoading:V,error:$}=i(I,{revalidateOnMount:h||y},D),[b,x]=c(!0),B=($||!O&&!V)&&h,C=o(()=>({product:O,initialVariantId:k,initialVariantBaseId:v,quantity:s,readOnly:P,isSyncProduct:m,key:`uid-${O?.id}-${k??""}`,hasPreSelected:l?.hasPreSelected}),[v,k,m,O,l?.hasPreSelected,s,P]);return{forceProductSetting:f,isProductPage:"PRODUCT"===p,isProductNotFound:B,showProductNotFound:b,isLoading:V,product:O,errorLoadProduct:$,isEditor:h,productProviderData:C,setShowProductNotFound:x}};export{u as useProductSetting};
1
+ import{usePageType as t,usePageStore as r,useRenderMode as e}from"@gem-sdk/core";import{useState as d,useMemo as a}from"react";import i from"./useProductQuery.js";let o=o=>{let{setting:c}=o,{productSetting:u,quantity:s,readOnly:P,isSyncProduct:m}=c??{},l=t(),n=r(t=>t.dynamicProduct),{isEditMode:p}=e(),S=u?.productId??"latest",y=u?.productStatus=="dynamic"?{...u,...n}:u,f=y?.initialVariantId,g=y?.initialVariantBaseId,{productData:{data:h,isLoading:I,error:k}}=i({id:S}),[D,V]=d(!0),$=(k||!h&&!I)&&p,j=a(()=>({product:h,initialVariantId:f,initialVariantBaseId:g,quantity:s,readOnly:P,isSyncProduct:m,key:`uid-${h?.id}-${f??""}`,hasPreSelected:u?.hasPreSelected}),[g,f,m,h,u?.hasPreSelected,s,P]);return{forceProductSetting:y,isProductPage:"PRODUCT"===l,isProductNotFound:$,showProductNotFound:D,isLoading:I,product:h,errorLoadProduct:k,isEditor:p,productProviderData:j,setShowProductNotFound:V}};export{o as useProductSetting};
@@ -1 +1 @@
1
- export{default as Product}from"./components/product-wrap/Product.js";import"react/jsx-runtime";import"next/link";import"@gem-sdk/core";import"react";import"@gem-sdk/system";import"../notification/components/Notifications.js";import"../notification/components/Notice.js";import"./components/product-button/types.js";import"./components/product-variants/components/variants/index.js";import"next/image";import"../modal/components/confirm.js";import"react-dom";import"../video/components/Video.js";import"@gem-sdk/keen-slider/react";export{default as ProductQuickView}from"./components/product-quick-view/QuickView.js";import"./components/constants/product-bundle.js";export{default as ProductListV3}from"./components/product-list-v3/ProductList.js";export{default as ProductList}from"./components/product-list/ProductList.js";import"./components/product-bundle/common/styles.js";import"./components/product-bundle/common/classes.js";import"./components/product-badge/constants.js";import"./components/product-badge/types.js";import"./components/product-badge/utils/shape.js";import t from"./settings/Product.js";import o from"./settings/ProductQuantity.js";import r from"./settings/ProductTitle.js";import s from"./settings/ProductButton.js";import i from"./settings/ProductPrice.js";import e from"./settings/ProductVariants.js";import m from"./settings/ProductImages.js";import c from"./settings/product-image-v3/ProductImages.js";import n from"./settings/product-image-v2/ProductImages.js";import d from"./settings/ProductDescription.js";import p from"./settings/ProductProperties.js";import u from"./settings/ProductTag.js";import a from"./settings/ProductListV3.js";import P from"./settings/ProductList.js";import g from"./settings/DynamicCheckout.js";import j from"./settings/Vendor.js";import f from"./settings/Sku.js";import l from"./components/product-bundle/setting/ProductBundleDiscount.js";import V from"./components/product-bundle/setting/ProductBundleDiscountItem.js";import k from"./settings/ProductViewMore.js";import x from"./settings/ProductBadge.js";import b from"./components/file-upload/settings/index.js";let y={Product:t,ProductQuantity:o,ProductTitle:r,ProductButton:s,ProductPrice:i,ProductVariants:e,ProductImages:m,ProductImagesV2:n,ProductImagesV3:c,ProductDescription:d,ProductProperties:p,ProductTag:u,ProductListV3:a,ProductList:P,DynamicCheckout:g,ProductVendor:j,ProductSku:f,ProductBundleDiscount:l,ProductBundleDiscountItem:V,ProductViewMore:k,ProductBadge:x,FileUpload:b};export{y as productSetting};
1
+ export{default as Product}from"./components/product-wrap/Product.js";import"react/jsx-runtime";import"next/link";import"@gem-sdk/core";import"react";import"@gem-sdk/system";import"../notification/components/Notifications.js";import"../notification/components/Notice.js";import"./components/product-button/types.js";import"./components/product-variants/components/variants/index.js";import"next/image";import"../carousel-v3/components/swiper/Swiper.js";import"../modal/components/confirm.js";import"react-dom";import"../video/components/Video.js";import"@gem-sdk/keen-slider/react";export{default as ProductQuickView}from"./components/product-quick-view/QuickView.js";import"./components/constants/product-bundle.js";export{default as ProductListV3}from"./components/product-list-v3/ProductList.js";export{default as ProductList}from"./components/product-list/ProductList.js";import"./components/product-bundle/common/styles.js";import"./components/product-bundle/common/classes.js";import"./components/product-badge/constants.js";import"./components/product-badge/types.js";import"./components/product-badge/utils/shape.js";import t from"./settings/Product.js";import o from"./settings/ProductQuantity.js";import r from"./settings/ProductTitle.js";import s from"./settings/ProductButton.js";import i from"./settings/ProductPrice.js";import e from"./settings/ProductVariants.js";import m from"./settings/ProductImages.js";import c from"./settings/product-image-v3/ProductImages.js";import n from"./settings/product-image-v2/ProductImages.js";import p from"./settings/ProductDescription.js";import u from"./settings/ProductProperties.js";import d from"./settings/ProductTag.js";import a from"./settings/ProductListV3.js";import P from"./settings/ProductList.js";import g from"./settings/DynamicCheckout.js";import j from"./settings/Vendor.js";import f from"./settings/Sku.js";import l from"./components/product-bundle/setting/ProductBundleDiscount.js";import V from"./components/product-bundle/setting/ProductBundleDiscountItem.js";import k from"./settings/ProductViewMore.js";import x from"./settings/ProductBadge.js";import b from"./components/file-upload/settings/index.js";let v={Product:t,ProductQuantity:o,ProductTitle:r,ProductButton:s,ProductPrice:i,ProductVariants:e,ProductImages:m,ProductImagesV2:n,ProductImagesV3:c,ProductDescription:p,ProductProperties:u,ProductTag:d,ProductListV3:a,ProductList:P,DynamicCheckout:g,ProductVendor:j,ProductSku:f,ProductBundleDiscount:l,ProductBundleDiscountItem:V,ProductViewMore:k,ProductBadge:x,FileUpload:b};export{v as productSetting};
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@gem-sdk/components",
3
- "version": "12.0.0-dev.144",
3
+ "version": "12.0.0-dev.146",
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": "12.0.0-dev.144",
29
+ "@gem-sdk/core": "12.0.0-dev.146",
30
30
  "@gem-sdk/styles": "12.0.0-dev.142",
31
31
  "@gem-sdk/system": "12.0.0-dev.142",
32
32
  "@types/react-transition-group": "^4.4.12",