@gem-sdk/components 17.0.0-dev.41 → 17.0.0-dev.43
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.
- package/dist/cjs/carousel-v3/components/root/Carousel.js +1 -1
- package/dist/cjs/post-purchase/product/components/product-subscription/hooks/useSubscriptionVisibility.js +1 -1
- package/dist/cjs/product/components/product-button/hooks/useAddToCart.js +1 -1
- package/dist/cjs/product/components/product-list-v3/hooks/useProductsQuery.js +1 -1
- package/dist/esm/carousel-v3/components/root/Carousel.js +1 -1
- package/dist/esm/post-purchase/product/components/product-subscription/hooks/useSubscriptionVisibility.js +1 -1
- package/dist/esm/product/components/product-button/hooks/useAddToCart.js +1 -1
- package/dist/esm/product/components/product-list-v3/hooks/useProductsQuery.js +1 -1
- package/package.json +1 -1
|
@@ -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:
|
|
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:C,builderProps:S,styles:h,isHiddenArrowWhenDisabled:k=!0,hiddenDotWhenOnlyOne:w,elmRef:y,isEnableCheckHasScrollableContent:g,onSwiperReady:j}=p,f=o.mappingNavigationCarousel(p.setting),b={...p,setting:f},q=r.Children.count(t.filterToolbarPreview(v))??0,[x,P]=r.useState(null),{arrowButtonSize:E,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(),eC=f?.sneakPeak?.[ev],eS=(r,t)=>{let o="next"===r;if(q<=1)return null;let i=o?!V&&x?.isEnd:!V&&x?.isBeginning;return e.jsx(d.default,{uid:S?.uid,custom:f?.arrowCustom??"",showArrow:ei,arrowButtonSize:E||{},arrowIconSize:A||{},arrowBackgroundColor:O||"",arrowCustomColor:I,gapToEachSize:D,showWhenHover:z,arrowBorder:N||{},arrowCorner:T||{},arrowShadow:R||{},onClick:e=>{e.stopPropagation(),Q(r)},left:!o,disabled:g?o?!V&&K||!t:!V&&J||!t:i,vertical:f?.vertical,isHiddenWhenDisabled:k,rootId:p?.parentClass})},eh=r.useCallback(e=>{P(e),j?.(e)},[]),ek=r.useCallback(()=>{p?.isDisableResetSlide||(Z(0),er(!0),et(!1))},[p?.isDisableResetSlide,Z,et,er]),ew=r.Children.toArray(t.filterToolbarPreview(v)).filter(r.isValidElement),ey=ee(q),eg=ey?2*q:q,ej=r.useMemo(()=>{if(!ey)return ew;let e=ew.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[...ew,...e]},[ey,ew]),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,$.isSneakPeekCenter,eb];return e.join("-")},[q,B,ej.length,ef,$.dir,$.loop,$.virtual,$.direction,$.isSneakPeekCenter,eb]);return e.jsx("div",{ref:y,...ep,className:el,style:ed,children:e.jsxs("div",{ref:W,...C,className:es,style:eu,children:[e.jsxs("div",{className:en,style:ec,children:[eS("prev",!!_),r.createElement(c.Swiper,{...em,...$,sliderClass:ea,thumbsSwiper:p?.thumbsSwiper,onSwiperReady:eh,totalSlides:H,key:eq,sliderOrder:B,onSwiperReset:ek},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:h,background:f?.background,parentUid:S?.uid,dispatchEventSelectSlide:X})})})),eS("next",!!_)]}),G&&e.jsx(u.default,{dotStyle:f?.dotStyle,dotGapToCarousel:f?.dotGapToCarousel,vertical:f?.vertical,showDots:f?.dot,slideItemsPerPage:L(),enabledSneakPeak:eC,dotColor:f?.dotColor,dotActiveColor:f?.dotActiveColor,dotSize:f?.dotSize,sneakPeakType:f?.sneakPeakType,totalSlideItem:eg,hiddenWhenOnlyOne:w,currentSlide:F,loop:eo,numberOfFullWidthShow:Y(ev),onHandleClick:U,slideDuplicated:ey}),t.filterToolbarPreview(v,!0)]})})});exports.default=p;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
"use strict";var e=require("react"),i=require("@gem-sdk/core"),s=require("../../../constants/index.js"),n=require("../../product-offer/context/PrdOfferSubscriptionPresenceContext.js"),u=require("./useSellingPlanOptions.js"),r=require("../../../hooks/useSubscriptionSellingType.js");exports.useSubscriptionVisibility=({setting:t})=>{let
|
|
1
|
+
"use strict";var e=require("react"),i=require("@gem-sdk/core"),s=require("../../../constants/index.js"),n=require("../../product-offer/context/PrdOfferSubscriptionPresenceContext.js"),u=require("./useSellingPlanOptions.js"),r=require("../../../hooks/useSubscriptionSellingType.js");exports.useSubscriptionVisibility=({setting:t})=>{let{isEditMode:o}=i.useRenderMode(),l=i.useProductStore(e=>e.setSubscriptionSellingType),{isOneTime:S,subscriptionSellingType:c}=r.useSubscriptionSellingType(),p=u.useSellingPlanOptions(t),E=i.useProduct(),T=n.useProductOfferSubscriptionPresence(),b=p&&p.length>0,O=T?.hasBoth??!1,g=e.useMemo(()=>E?.requiresSellingPlan,[E?.requiresSellingPlan]),m=e.useMemo(()=>S?s.SubscriptionEnum.ONE_TIME:s.SubscriptionEnum.SUBSCRIPTION,[S]);e.useEffect(()=>{c||(t?.sellingType===s.SubscriptionEnum.ONE_TIME?l(s.SubscriptionEnum.ONE_TIME):l(t?.sellingType??s.SubscriptionEnum.SUBSCRIPTION))},[l,t?.sellingType,c]);let P=o&&!!T?.hasSubscriptionBlock&&!T?.hasOneTimeBlock&&c===s.SubscriptionEnum.ONE_TIME;e.useEffect(()=>{P&&l(s.SubscriptionEnum.SUBSCRIPTION)},[l,P]);let I=!o||O,a=t?.sellingType===s.SubscriptionEnum.SUBSCRIPTION&&!b,d=t?.sellingType===s.SubscriptionEnum.ONE_TIME&&g;return{selectedType:m,shouldShowRadio:!g&&b&&I,isOneTimeHidden:d,requiresSellingPlan:g,isOnetimeOnly:!b&&!g,hasNoSellingPlanOptions:a,setSubscriptionSellingType:l}};
|
|
@@ -1 +1 @@
|
|
|
1
|
-
"use strict";var e=require("@gem-sdk/core"),t=require("react"),r=require("../../../helpers/tracking.js"),s=require("./useDispatchAfterSubmitEvent.js"),a=require("./useCartMessage.js"),u=require("./useCartOperations.js");exports.useBtnAddToCart=({styles:i,setting:n,builderProps:c})=>{let
|
|
1
|
+
"use strict";var e=require("@gem-sdk/core"),t=require("react"),r=require("../../../helpers/tracking.js"),s=require("./useDispatchAfterSubmitEvent.js"),a=require("./useCartMessage.js"),u=require("./useCartOperations.js");exports.useBtnAddToCart=({styles:i,setting:n,builderProps:c})=>{let d=t.useRef(null),{isEditMode:o,isPreviewSharePageMode:l}=e.useRenderMode(),v=e.useProduct(),{currency:b}=e.useCurrency(),{quantity:p}=e.useQuantity(),C=e.useProductProperties(),k=e.useCurrentVariant(),{hasPreSelected:f}=e.useHasPreSelected(),g=e.useStickyStore(e=>e.setElement),m=e.useProductStore(e=>e.updateIsSubmit),D=s.useDispatchInteractionEvent(c?.uid),I=s.useDispatchCustomEvent({product:v,currentVariant:k,quantity:p}),{showMessage:S,notiComponent:E}=a.useCartMessage(i,n),{handleSuccess:y,handleError:q,cartId:M}=u.useCartOperations({setting:n,showMessage:S,dispatchInteractionEvent:D,dispatchCustomEvent:I}),{isMutating:P,trigger:T}=e.useCreateCart({onSuccess:y,onError:q}),{isMutating:h,trigger:j}=e.useAddToCart({onSuccess:y,onError:q});t.useEffect(()=>{let e=d.current;!(!e||e.closest(".sticky-wrapper"))&&v?.id&&c?.uid&&c.builderData?.advanced&&g({id:`${c.uid}-${v.id}`,element:e,deviceVisibility:c.builderData.advanced.d})},[]);let A=t.useCallback(()=>{if(!k?.baseID||!p||!v?.baseID||void 0!==f&&!f||o||l)return;let t=C?.some(e=>e.required&&!e.value);if(m(!0),t)return;let s=C?.filter(e=>!!e.value)?.map(e=>({key:e.key,value:e.value}));r.addToCartTracking({quantity:p,currency:b,id:v?.baseID,name:v?.title,brand:v?.vendor,sku:k.sku,price:e.convertDecimalToNumber(k?.price),variant:k.title});let a={quantity:p,attributes:s,variantId:k.baseID};n?.actionEffect!=="buy-now"&&M?j({cartId:M,lines:[a]}):T({items:[a]})},[o,l,M,b,p,C,f,v?.title,v?.vendor,v?.baseID,k?.sku,k?.price,k?.title,k?.baseID,n?.actionEffect,T,j,m]),O=e.useCurrentVariantInStock(),V=k?n?.outOfStockLabel:"Unavailable";return{addToCartRef:d,isLoading:P||h,isInStock:O,notiComponent:E,outOfStockLabel:V,addToCart:A}};
|
|
@@ -1 +1 @@
|
|
|
1
|
-
"use strict";var e=require("@gem-sdk/core"),r=require("react"),t=require("swr"),a=require("../constants/index.js");exports.useProductsQuery=({defaultSelectedProductCount:s,productIds:u,productSrc:o})=>{let i=e.useFetchHandle(),
|
|
1
|
+
"use strict";var e=require("@gem-sdk/core"),r=require("react"),t=require("swr"),a=require("../constants/index.js");exports.useProductsQuery=({defaultSelectedProductCount:s,productIds:u,productSrc:o})=>{let i=e.useFetchHandle(),c=e.usePageStore(e=>e.publicStoreFrontData),n=r.useMemo(()=>e.hasPublicStoreFrontData(c)?e.createStoreFrontFetcher(c):i,[c]),d=e.useIsSampleProduct(),l=e.useIsStorefrontProduct(),P=r.useMemo(()=>o!==a.PRODUCT_SOURCE.PickProduct?null:e.generateProductsQueryKey({ids:u??[],isSample:d,isStorefront:l,defaultSelectedProductCount:s}),[o,u,d,l,s]),S=t(P,async([,r])=>e.getProducts(n,r),{revalidateOnMount:!1,refreshInterval:0,revalidateIfStale:!1});return r.useEffect(()=>{if(o!==a.PRODUCT_SOURCE.PickProduct)return;let e=!!S.error,r=S.isLoading||S.isValidating,t=!S.data&&!r;!e&&t&&S.mutate()},[o,S.data,S.error,S.isLoading,S.isValidating]),{...S}};
|
|
@@ -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
|
|
2
|
+
import{jsx as e,jsxs as r,Fragment as o}from"react/jsx-runtime";import{forwardRef as t,Children as i,useState as n,useRef as l,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 k}from"../../hooks/useCarousel.js";import{getData as v}from"./common/helpers.js";import{getClass as y}from"./common/classes.js";import{getStyle as f}from"./common/styles.js";import{getAttr as w}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]=n(null),{arrowButtonSize:H,arrowBackgroundColor:G,arrowGapToEachSide:F="16",roundedArrow:J,arrowIconSize:K,arrowCustomColor:U,arrowBorder:q,arrowShadow:L,showWhenHover:M}=B??{},Q=l({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:en,getItemsPerPage:el,handleNextAndPrevSlide:es,dispatchEventSelectSlide:ea,getNumberOfFullWidthShow:ed,setCurrentSlide:ep,shouldDuplicateSlides:em,setIsScrollToStart:eu,setIsScrollToEnd:ec}=k(R,b,$,W),{loopConfig:eS,arrowShowConfig:eh}=v(R),{rootClassRender:ek,wrapperClassRender:ev,wrapperInnerClass:ey,sliderClass:ef}=y(R),{rootStyleRender:ew,wrapperStyleRender:eC,wrapperInnerStyle:eg}=f(R),{rootAttrRender:ej,sliderAttr:eb}=w(R),eO=c(),eP=B?.sneakPeak?.[eO],eA=(r,o)=>{let i="next"===r;if(W<=1)return null;let n=i?!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:!i,disabled:N?i?!X&&ei||!o:!X&&et||!o:n,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,Z.isSneakPeekCenter,eR];return e.join("-")},[W,V,eT.length,eB,Z.dir,Z.loop,Z.virtual,Z.direction,Z.isSneakPeekCenter,eR]);return e("div",{ref:z,...ej,className:ek,style:ew,children:r("div",{ref:Y,...P,className:ev,style:eC,children:[r("div",{className:ey,style:eg,children:[eA("prev",!!eo),m(j,{...eb,...Z,sliderClass:ef,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})})})),eA("next",!!eo)]}),er&&e(g,{dotStyle:B?.dotStyle,dotGapToCarousel:B?.dotGapToCarousel,vertical:B?.vertical,showDots:B?.dot,slideItemsPerPage:el(),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:en,slideDuplicated:ez}),u(O,!0)]})})});export{b as default};
|
|
@@ -1 +1 @@
|
|
|
1
|
-
import{useMemo as e,useEffect as i}from"react";import{useProductStore as o,useProduct as
|
|
1
|
+
import{useMemo as e,useEffect as i}from"react";import{useRenderMode as l,useProductStore as o,useProduct as s}from"@gem-sdk/core";import{SubscriptionEnum as r}from"../../../constants/index.js";import{useProductOfferSubscriptionPresence as t}from"../../product-offer/context/PrdOfferSubscriptionPresenceContext.js";import{useSellingPlanOptions as n}from"./useSellingPlanOptions.js";import{useSubscriptionSellingType as p}from"../../../hooks/useSubscriptionSellingType.js";let S=({setting:S})=>{let{isEditMode:T}=l(),m=o(e=>e.setSubscriptionSellingType),{isOneTime:O,subscriptionSellingType:c}=p(),u=n(S),I=s(),g=t(),f=u&&u.length>0,E=g?.hasBoth??!1,a=e(()=>I?.requiresSellingPlan,[I?.requiresSellingPlan]),y=e(()=>O?r.ONE_TIME:r.SUBSCRIPTION,[O]);i(()=>{c||(S?.sellingType===r.ONE_TIME?m(r.ONE_TIME):m(S?.sellingType??r.SUBSCRIPTION))},[m,S?.sellingType,c]);let N=T&&!!g?.hasSubscriptionBlock&&!g?.hasOneTimeBlock&&c===r.ONE_TIME;i(()=>{N&&m(r.SUBSCRIPTION)},[m,N]);let P=!T||E,h=S?.sellingType===r.SUBSCRIPTION&&!f,B=S?.sellingType===r.ONE_TIME&&a;return{selectedType:y,shouldShowRadio:!a&&f&&P,isOneTimeHidden:B,requiresSellingPlan:a,isOnetimeOnly:!f&&!a,hasNoSellingPlanOptions:h,setSubscriptionSellingType:m}};export{S as useSubscriptionVisibility};
|
|
@@ -1 +1 @@
|
|
|
1
|
-
import{useRenderMode as e,useProduct as t,useCurrency as r,useQuantity as i,useProductProperties as a,useCurrentVariant as s,useHasPreSelected as o,useStickyStore as n,useProductStore as u,useCreateCart as l,useAddToCart as d,convertDecimalToNumber as c,useCurrentVariantInStock as m}from"@gem-sdk/core";import{useRef as p,useEffect as b,useCallback as f}from"react";import{addToCartTracking as v}from"../../../helpers/tracking.js";import{useDispatchInteractionEvent as g,useDispatchCustomEvent as k}from"./useDispatchAfterSubmitEvent.js";import{useCartMessage as D}from"./useCartMessage.js";import{useCartOperations as I}from"./useCartOperations.js";let E=({styles:E,setting:y,builderProps:S})=>{let j=p(null),{isEditMode:C,isPreviewSharePageMode:M}=e(),h=t(),{currency:w}=r(),{quantity:A}=i(),L=a(),O=s(),{hasPreSelected
|
|
1
|
+
import{useRenderMode as e,useProduct as t,useCurrency as r,useQuantity as i,useProductProperties as a,useCurrentVariant as s,useHasPreSelected as o,useStickyStore as n,useProductStore as u,useCreateCart as l,useAddToCart as d,convertDecimalToNumber as c,useCurrentVariantInStock as m}from"@gem-sdk/core";import{useRef as p,useEffect as b,useCallback as f}from"react";import{addToCartTracking as v}from"../../../helpers/tracking.js";import{useDispatchInteractionEvent as g,useDispatchCustomEvent as k}from"./useDispatchAfterSubmitEvent.js";import{useCartMessage as D}from"./useCartMessage.js";import{useCartOperations as I}from"./useCartOperations.js";let E=({styles:E,setting:y,builderProps:S})=>{let j=p(null),{isEditMode:C,isPreviewSharePageMode:M}=e(),h=t(),{currency:w}=r(),{quantity:A}=i(),L=a(),O=s(),{hasPreSelected:$}=o(),q=n(e=>e.setElement),x=u(e=>e.updateIsSubmit),B=g(S?.uid),T=k({product:h,currentVariant:O,quantity:A}),{showMessage:U,notiComponent:V}=D(E,y),{handleSuccess:z,handleError:F,cartId:G}=I({setting:y,showMessage:U,dispatchInteractionEvent:B,dispatchCustomEvent:T}),{isMutating:H,trigger:J}=l({onSuccess:z,onError:F}),{isMutating:K,trigger:N}=d({onSuccess:z,onError:F});b(()=>{let e=j.current;!(!e||e.closest(".sticky-wrapper"))&&h?.id&&S?.uid&&S.builderData?.advanced&&q({id:`${S.uid}-${h.id}`,element:e,deviceVisibility:S.builderData.advanced.d})},[]);let P=f(()=>{if(!O?.baseID||!A||!h?.baseID||void 0!==$&&!$||C||M)return;let e=L?.some(e=>e.required&&!e.value);if(x(!0),e)return;let t=L?.filter(e=>!!e.value)?.map(e=>({key:e.key,value:e.value}));v({quantity:A,currency:w,id:h?.baseID,name:h?.title,brand:h?.vendor,sku:O.sku,price:c(O?.price),variant:O.title});let r={quantity:A,attributes:t,variantId:O.baseID};y?.actionEffect!=="buy-now"&&G?N({cartId:G,lines:[r]}):J({items:[r]})},[C,M,G,w,A,L,$,h?.title,h?.vendor,h?.baseID,O?.sku,O?.price,O?.title,O?.baseID,y?.actionEffect,J,N,x]),Q=m(),R=O?y?.outOfStockLabel:"Unavailable";return{addToCartRef:j,isLoading:H||K,isInStock:Q,notiComponent:V,outOfStockLabel:R,addToCart:P}};export{E as useBtnAddToCart};
|
|
@@ -1 +1 @@
|
|
|
1
|
-
import{useFetchHandle as r,usePageStore as t,hasPublicStoreFrontData as e,createStoreFrontFetcher as a,useIsSampleProduct as i,useIsStorefrontProduct as o,generateProductsQueryKey as n,getProducts as d}from"@gem-sdk/core";import{useMemo as s,useEffect as l}from"react";import u from"swr";import{PRODUCT_SOURCE as c}from"../constants/index.js";let m=({defaultSelectedProductCount:m,productIds:f,productSrc:
|
|
1
|
+
import{useFetchHandle as r,usePageStore as t,hasPublicStoreFrontData as e,createStoreFrontFetcher as a,useIsSampleProduct as i,useIsStorefrontProduct as o,generateProductsQueryKey as n,getProducts as d}from"@gem-sdk/core";import{useMemo as s,useEffect as l}from"react";import u from"swr";import{PRODUCT_SOURCE as c}from"../constants/index.js";let m=({defaultSelectedProductCount:m,productIds:f,productSrc:p})=>{let g=r(),P=t(r=>r.publicStoreFrontData),k=s(()=>e(P)?a(P):g,[P]),v=i(),x=o(),y=s(()=>p!==c.PickProduct?null:n({ids:f??[],isSample:v,isStorefront:x,defaultSelectedProductCount:m}),[p,f,v,x,m]),I=u(y,async([,r])=>d(k,r),{revalidateOnMount:!1,refreshInterval:0,revalidateIfStale:!1});return l(()=>{if(p!==c.PickProduct)return;let r=!!I.error,t=I.isLoading||I.isValidating,e=!I.data&&!t;!r&&e&&I.mutate()},[p,I.data,I.error,I.isLoading,I.isValidating]),{...I}};export{m as useProductsQuery};
|