@dropins/storefront-pdp 0.5.0-alpha1 → 0.5.0-beta1
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.
|
@@ -26,6 +26,7 @@ type Selection = {
|
|
|
26
26
|
export interface SwatchesProps extends HTMLAttributes<HTMLDivElement> {
|
|
27
27
|
options: Array<Option>;
|
|
28
28
|
hideSelectedValue?: boolean;
|
|
29
|
+
disablePreselections?: boolean;
|
|
29
30
|
defaultOptions?: string[];
|
|
30
31
|
selectionsToUpdate?: Option[];
|
|
31
32
|
onValues?: (uids: Selection, current: string) => void;
|
|
@@ -76,6 +76,7 @@ export interface ProductDetailsProps extends HTMLAttributes<HTMLDivElement> {
|
|
|
76
76
|
onAddToCart?: (values: Values) => void;
|
|
77
77
|
zoomType?: 'zoom' | 'overlay';
|
|
78
78
|
closeButton?: boolean;
|
|
79
|
+
disableDropdownPreselection?: boolean;
|
|
79
80
|
}
|
|
80
81
|
export declare const ProductDetails: Container<ProductDetailsProps, ProductModel | null>;
|
|
81
82
|
export {};
|
|
@@ -1 +1 @@
|
|
|
1
|
-
import{jsxs as F,jsx as r,Fragment as Ae}from"@dropins/tools/preact-jsx-runtime.js";import*as fe from"@dropins/tools/preact-compat.js";import{useState as K,Children as ue,useRef as Le,useMemo as Ne,useEffect as ee,useCallback as ce}from"@dropins/tools/preact-compat.js";import{debounce as xe,classes as B,VComponent as Y,toLanguageTag as Me,Slot as J}from"@dropins/tools/lib.js";import{Button as we,Icon as Se,Price as ge,Picker as qe,ColorSwatch as je,ImageSwatch as Xe,TextSwatch as Fe,Incrementer as Ge,Breadcrumbs as De,Image as Oe}from"@dropins/tools/components.js";import{useText as Z}from"@dropins/tools/i18n.js";import{cloneElement as Ye}from"@dropins/tools/preact.js";import{c as Te,d as Be}from"../chunks/getRefinedProduct.js";import{events as ke}from"@dropins/tools/event-bus.js";import{c as We}from"../chunks/initialize.js";import"@dropins/tools/fetch-graphql.js";const Ke=t=>fe.createElement("svg",{width:24,height:24,viewBox:"0 0 24 24",fill:"none",xmlns:"http://www.w3.org/2000/svg",...t},fe.createElement("path",{d:"M7.74512 9.87701L12.0001 14.132L16.2551 9.87701",stroke:"currentColor",strokeWidth:1.5,strokeLinecap:"square",strokeLinejoin:"round"})),Ve=t=>fe.createElement("svg",{width:24,height:24,viewBox:"0 0 24 24",fill:"none",xmlns:"http://www.w3.org/2000/svg",...t},fe.createElement("path",{vectorEffect:"non-scaling-stroke",d:"M18.3599 5.64001L5.62988 18.37",stroke:"currentColor"}),fe.createElement("path",{vectorEffect:"non-scaling-stroke",d:"M18.3599 18.37L5.62988 5.64001",stroke:"currentColor"})),Ze=24,Ee=16,ve=2,Qe="32";var ze=(t=>(t[t.small=16]="small",t[t.medium=24]="medium",t[t.large=64]="large",t))(ze||{});const ye=({show:t=1,scrollbar:o=!1,peak:u=!1,arrows:p=!1,controls:s="dots",arrowsOnMainImage:f=!1,loop:d=!1,gap:v=null,direction:l="horizontal",width:G="100%",height:c="100%",defaultIndex:m=0,className:W,children:$,thumbnails:j=null,isZoomed:ne,...b})=>{const P=Z("PDP.Carousel.label").label,n=Z("PDP.Carousel.Slide.label").label,y=Z("PDP.Carousel.Previous.label").label,E=Z("PDP.Carousel.Next.label").label,I=Z("PDP.Carousel.Controls.label").label,A=Z("PDP.Carousel.Controls.Button.label").label,[N,me]=K(()=>$e(t)),e=Math.ceil(ue.count($)/N),M=u?Ze:0,D=v?ze[v]:0,q=ue.count($)%N,[L,te]=K(d?C()?m-1:m+1:m),x=Le([]),[re,oe]=K(0),[ie,be]=K(0),_e=Ne(()=>ue.toArray(j),[j]),T=Ne(()=>{const a=ue.toArray($).reduce((h,k,S)=>S%N===0?[...h,[k]]:[...h.slice(0,-1),[...h[h.length-1],k]],[]);return!d||a.length===1?a:d&&ue.count($)%N===0?[a[e-1]].concat(a).concat([a[0],a[1]]):[ue.toArray($).slice(-N)].concat(a).concat([a[0],a[1]])},[$,N,e,d]),le=Le(null),se=Le(null),g=s==="thumbnailsRow"||s==="thumbnailsColumn";ee(()=>{const a=document.body,h=xe(()=>{var O,ae;oe(((O=le.current)==null?void 0:O.offsetWidth)??0),be(((ae=le.current)==null?void 0:ae.offsetHeight)??0);const S=window.innerWidth,z=$e(t,S);z!==N&&me(z)},50),k=new ResizeObserver(h);return k.observe(a),()=>{k.unobserve(a)}},[N,t]);const Q=ce(a=>{const h=d?a-1:a,k=x==null?void 0:x.current[0],S=(k==null?void 0:k.offsetWidth)+Ee,z=(k==null?void 0:k.offsetHeight)+Ee,O=se.current,ae=s==="thumbnailsRow",Pe=s==="thumbnailsColumn",he=ae?O==null?void 0:O.offsetWidth:O==null?void 0:O.offsetHeight,X=ae?S:z;(ae||Pe)&&he&&(X*(h+1)>he&&(O.style.scrollBehavior="smooth",ae?O.scrollLeft=C()?O.scrollWidth-O.clientWidth-(h+ve)*X:(h+ve)*X:O.scrollTop=(h+ve)*X),(C()&&(ae?O.scrollLeft:O.scrollTop)<=-X*h||!C()&&(ae?O.scrollLeft:O.scrollTop)>X*h)&&(O.style.scrollBehavior="smooth",ae?O.scrollLeft=C()?-(h-ve)*X:(h-ve)*X:O.scrollTop=(h-ve)*X))},[s,d]);ee(()=>{Q(L)},[L,Q]);const U=ce((a,h,k)=>{g&&Q(a);const S=le.current,z=M?S.offsetWidth-M:S.offsetWidth-M+D;if(!Array.from(S.querySelectorAll("[data-index]")).filter(he=>{const X=Number(he.getAttribute("data-index"));return!isNaN(X)&&X>-1})[a])return;if(k){const he=a===0?e:0,X=z*(e+(q||N)/N);if(C()){if(S.scrollLeft<=0&&S.scrollLeft>-(z-5)){U(1,!0);return}if(S.scrollLeft<z-X&&S.scrollLeft>=-X){U(e,!0);return}S.style.scrollBehavior="auto",S.scrollLeft=he===0?0:-X,U(he===0?1:e,!0)}else{if(S.scrollLeft>=0&&S.scrollLeft<z-5){U(1,!0);return}if(S.scrollLeft>X-z&&S.scrollLeft<=X){U(e,!0);return}S.style.scrollBehavior="auto",S.scrollLeft=he===0?0:X,U(he===0?1:e,!0);return}}const Pe=(S.offsetWidth-D)/N*T[a].length-M;S.style.scrollBehavior=h?"smooth":"auto",S.scrollLeft=C()?-(T[a].length===N?z*a:z*(a-1)-Pe):T[a].length===N?z*a:z*(a-1)+Pe},[D,e,M,N,q,T,Q,s]),pe=ce(()=>{if(d){const h=L-1;U(h,!0,C()?L===e-1:L===1);return}const a=L<=0?0:L-1;U(a,!0)},[L,U,d]),i=ce(()=>{const a=T.length-1;if(d){const k=L+1;U(k,!0,C()?L===0:L===e);return}const h=L>=a?a:L+1;U(h,!0)},[T.length,d,L,U,e]);ee(()=>{const a=h=>{h.key==="ArrowLeft"&&(h.preventDefault(),C()?i():pe()),h.key==="ArrowRight"&&(h.preventDefault(),C()?pe():i())};return window.addEventListener("keydown",a),()=>{window.removeEventListener("keydown",a)}},[i,pe]),ee(()=>{U(d?m+1:m,!1)},[m,U,d]);const _=xe(()=>{const a=le.current,h=M?a.offsetWidth-M:a.offsetWidth-M+D,k=Math.abs(a.scrollLeft)/h,S=Math.abs(Math.round(k)-k<1?Math.round(k):Math.ceil(k));if(g&&Q(S),d){const z=h*(e+(q||N)/N),O=C()?-a.scrollLeft:a.scrollLeft;if(Math.ceil(Math.abs(O))>=Math.ceil(z)-5){a.style.scrollBehavior="auto",a.scrollLeft=C()?-a.offsetWidth+(Math.ceil(O)-Math.ceil(z)-M):a.offsetWidth+(Math.ceil(O)-Math.ceil(z)-M);return}if(Math.abs(O)===0){a.style.scrollBehavior="auto",a.scrollLeft=C()?-(z-a.offsetWidth+M):z-a.offsetWidth+M;return}}L!==S&&te(S)},100);ee(()=>{const a=le.current;return a==null||a.addEventListener("scroll",_),()=>{a==null||a.removeEventListener("scroll",_)}},[_]);const w=(a,h,k)=>r(we,{className:B([["pdp-carousel__button",!a],[`pdp-carousel__button--${h}`,!a],[`pdp-carousel__button--${s}`,a]]),style:{"--height":`${ie}px`},variant:"tertiary","aria-label":h==="next"?E:y,onClick:k,disabled:d?!1:h==="next"?L>=T.length-1:L<1,children:r(Se,{className:B([["pdp-carousel__button__icon",!a],[`pdp-carousel__button__icon--${h}`,!a],[`pdp-carousel__button__icon--${s}--${h}`,a]]),size:Qe,source:Ke})}),V=p&&T.length!=1&&w(g,"prev",pe),H=p&&T.length!=1&&w(g,"next",i),R=p&&T.length!=1&&w(!1,"prev",pe),de=p&&T.length!=1&&w(!1,"next",i);return F("div",{role:"region","aria-roledescription":P,className:B(["pdp-carousel",["pdp-carousel--main-image-controls",f],["pdp-carousel--arrows",p&&!g],[`pdp-carousel--${s}`,g],W]),style:{"--flex-carousel":s==="thumbnailsColumn"?"row-reverse":"column","--gap":g?"0":"var(--spacing-small)","--width":G},...b,children:[r("div",{ref:le,className:B(["pdp-carousel__wrapper",`pdp-carousel__wrapper--${l}`,["pdp-carousel__wrapper--scrollbar",o],["pdp-carousel__wrapper--peak",u]]),style:{"--total-width":s==="thumbnailsColumn"?"81.6%":"100%","--height":s==="thumbnailsColumn"?"auto":c,"--gap":v?`var(--spacing-${v})`:"0px","--per-page":N},tabIndex:0,children:T.map((a,h)=>{const k=a.length<N;return r("div",{role:"group","aria-roledescription":n,"data-index":h,className:B(["pdp-carousel__slide",`pdp-carousel__slide--${l}`,["pdp-carousel__slide--active",L===h],["pdp-carousel__slide--orphan",k]]),style:{"--length":a.length},children:a},h)})}),!g&&F(Ae,{children:[V,H]}),g&&f&&F(Ae,{children:[R,de]}),s&&T.length!=1&&F("div",{className:B([[`pdp-carousel__controls__container--${s}`,g],["pdp-carousel__controls__container--no-arrows",!p||f]]),style:{"--width":s==="thumbnailsRow"?`${re}px`:G,"--height":`${ie}px`,"--nr-thumbnails":_e.length},children:[(g||ne)&&!f&&V,r("div",{ref:se,className:B([[`pdp-carousel__controls__wrapper--${s}`,g],["pdp-carousel__controls__wrapper",g]]),children:r("div",{role:"group","aria-label":I,className:B(["pdp-carousel__controls",[`pdp-carousel__controls--${s}`,g]]),children:(d?T.slice(0,e):T).map((a,h)=>{const k=d?e:T.length,S=d?L-1===h:L===h;return g?F("label",{className:B(["pdp-carousel__thumbnail__container"]),ref:z=>{z&&(x.current[h]=z)},children:[r("input",{type:"radio",name:"carousel-thumbnails","aria-label":A.replace("{key}",String(h+1)).replace("{total}",String(k)),checked:S&&re!==0,onChange:()=>{U(d?h+1:h,!0)},...b,className:B(["pdp-carousel__thumbnail",["pdp-carousel__thumbnail--selected",S&&re!==0]])}),r("span",{className:B(["pdp-carousel__thumbnail__span"]),children:_e[h]})]},h):r("button",{"aria-label":A.replace("{key}",String(h+1)).replace("{total}",String(k)),onClick:()=>{U(d?h+1:h,!0)},className:B(["pdp-carousel__controls__button",["pdp-carousel__controls__button--active",S]])},h)})})}),(g||ne)&&!f&&H]})]})};function $e(t,o=0){if(typeof t=="number")return t;const{small:u,medium:p,large:s}=t,d=[{breakpoint:1024,value:s},{breakpoint:786,value:p},{breakpoint:0,value:u}].find(({breakpoint:v})=>o>v);return d?d.value:u}function C(){return document.documentElement.dir==="rtl"}const Je=({title:t,breadcrumbs:o,galleryContent:u,infoContent:p,productContent:s,sku:f,outOfStock:d,shortDescription:v,description:l,attributes:G,images:c,options:m,price:W,specialPrice:$,className:j,children:ne,quantity:b,actions:P,carouselConfig:n,zoomType:y="overlay",closeButton:E=!0,...I})=>{var te,x,re,oe,ie,be,_e,T,le;const A=Z("PDP.Product.RegularPrice.label").label,N=Z("PDP.Product.SpecialPrice.label").label,me=Z("PDP.Product.OutOfStock.label").label,e=Z("PDP.Product.Image.label").label,[M,D]=K(null),q=c!=null&&c.length?c.map((se,g)=>{var U;const Q=((U=t==null?void 0:t.props)==null?void 0:U.children)&&(e==null?void 0:e.replace("{product}",t.props.children.toString()).replace("{key}",String(g+1)).replace("{total}",String(c.length)));return y==="zoom"?r(at,{closeButton:E,children:r(Y,{node:se,loading:g===0?"eager":"lazy",alt:Q},g)}):r(Y,{node:se,loading:g===0?"eager":"lazy",alt:Q,onClick:()=>D(g)},g)}):r("img",{src:"data:image/gif;base64,R0lGODlhAQABAIAAAAAAAP///yH5BAEAAAAALAAAAAABAAEAAAIBRAA7",className:"pdp-product__images__placeholder","aria-hidden":!0}),L=(te=n==null?void 0:n.thumbnails)!=null&&te.length?n.thumbnails.map((se,g)=>{var Q;return r(Y,{node:se,loading:(n==null?void 0:n.thumbnailsLoadingMode)||"lazy",alt:((Q=t==null?void 0:t.props)==null?void 0:Q.children)&&(e==null?void 0:e.replace("{product}",t.props.children.toString()).replace("{key}",String(g+1)).replace("{total}",String(c.length)))},g)}):r("img",{src:"data:image/gif;base64,R0lGODlhAQABAIAAAAAAAP///yH5BAEAAAAALAAAAAABAAEAAAIBRAA7",className:"pdp-product__images__placeholder","aria-hidden":!0});return F("div",{...I,className:B(["pdp-product",j]),children:[o&&r(Y,{node:o,className:"pdp-product__breadcrumbs"}),F("div",{className:"pdp-product__column-container pdp-product__gallery-column",children:[r("div",{className:"pdp-product__column-body",children:(x=n==null?void 0:n.controls)!=null&&x.desktop?r(ye,{className:"pdp-product__overlay__carousel",arrows:(c==null?void 0:c.length)>1,controls:(c==null?void 0:c.length)>1?n.controls.desktop:"dots",arrowsOnMainImage:n==null?void 0:n.arrowsOnMainImage,loop:(n==null?void 0:n.loopable)&&(c==null?void 0:c.length)>1,peak:((re=n==null?void 0:n.thumbnails)==null?void 0:re.length)>1&&((oe=n==null?void 0:n.peak)==null?void 0:oe.desktop)||!1,gap:(n==null?void 0:n.gap)||null,width:"100%",height:"100%",defaultIndex:M||0,thumbnails:L,children:q}):r(Ce,{className:"pdp-product__images",gap:"small",children:q})}),u&&r(Y,{node:u,className:"pdp-product__gallery-content"})]}),F("div",{className:"pdp-product__column-container pdp-product__content-column",children:[F("div",{className:"pdp-product__column-body",children:[F("div",{className:"pdp-product__header",children:[t&&r(Y,{node:t,className:"pdp-product__title"}),f&&r(Y,{node:f,className:"pdp-product__sku"})]}),F("div",{className:"pdp-product__prices",children:[$&&r(Y,{node:$,className:B(["pdp-product__price-special","pdp-product__price"]),"aria-label":N,role:"text"}),W&&r(Y,{node:W,className:B(["pdp-product__price-regular","pdp-product__price--grey"]),"aria-label":A,role:"text"})]}),(ie=n==null?void 0:n.controls)!=null&&ie.mobile&&((be=n==null?void 0:n.controls)==null?void 0:be.mobile)==="thumbnailsRow"?r(ye,{className:"pdp-product__images pdp-product__images--carousel pdp-product__images--carousel--thumbnails",width:"100%",height:"auto",arrows:(c==null?void 0:c.length)>1,controls:(c==null?void 0:c.length)>1?"thumbnailsRow":null,loop:(n==null?void 0:n.loopable)&&(c==null?void 0:c.length)>1,peak:((_e=n==null?void 0:n.thumbnails)==null?void 0:_e.length)>1&&((T=n==null?void 0:n.peak)==null?void 0:T.mobile)||!1,gap:(n==null?void 0:n.gap)||null,thumbnails:L,children:q}):r(ye,{className:"pdp-product__images pdp-product__images--carousel",peak:((le=n==null?void 0:n.peak)==null?void 0:le.mobile)&&(c==null?void 0:c.length)>1,gap:(n==null?void 0:n.gap)||null,width:"100%",height:"auto",arrows:(c==null?void 0:c.length)>1,controls:(c==null?void 0:c.length)>1?"dots":null,loop:(n==null?void 0:n.loopable)&&(c==null?void 0:c.length)>1,children:q}),F("div",{className:B(["pdp-product__actions",["pdp-product__actions--out-of-stock",d]]),children:[d&&r("div",{className:"pdp-product__out-of-stock__text",children:me}),m&&r(Y,{node:m,className:B(["pdp-product__options"])}),b&&r("div",{className:"pdp-product__quantity",children:r(Y,{node:b})}),P&&r(Y,{node:P,className:B(["pdp-product__buttons"])})]}),v&&r(Y,{node:v,className:B(["pdp-product__short_description"])}),l&&r(Y,{node:l,className:B(["pdp-product__description"])}),G?r("div",{className:"pdp-product__attributes",children:G}):null]}),p&&r(Y,{node:p,className:"pdp-product__info-content"})]}),s&&r(Y,{node:s,className:"pdp-product__content"}),M===null?null:r(et,{className:"pdp-product__overlay",onClose:()=>D(null),centered:!0,children:r(ye,{className:"pdp-product__overlay__carousel",arrows:(c==null?void 0:c.length)>1,width:"100%",height:"100%",defaultIndex:M||0,loop:(n==null?void 0:n.loopable)&&(c==null?void 0:c.length)>1,controls:(c==null?void 0:c.length)>1?"dots":null,isZoomed:!0,children:q})})]})},Ce=({children:t,gap:o=null,className:u,style:p,...s})=>{const f=ue.count(t);return r("div",{...s,className:B(["pdp-gallery-grid",u]),style:{"--gap":o?`var(--spacing-${o})`:"0px",...p},children:ue.map(t,(d,v)=>r("div",{className:"pdp-gallery-grid__item",children:r(Y,{node:d,loading:v===0?"eager":"lazy"},d.props.src)},f+v))})},Ie=({amount:t,currency:o,locale:u,variant:p,sale:s,minimumAmount:f,maximumAmount:d,className:v,...l})=>r(Ae,{children:t||f===d?r("div",{className:"pdp-price-range",...l,children:r(ge,{amount:t||f,currency:o,locale:u,variant:p,sale:s,className:v})}):F("div",{className:"pdp-price-range",...l,children:[r(ge,{amount:f,currency:o,locale:u,className:v}),r("span",{className:"pdp-price-range__label",children:"-"}),r(ge,{amount:d,currency:o,locale:u,className:v})]})}),et=({centered:t,onClose:o,className:u,children:p,...s})=>{const f=Z("PDP.Overlay.Close.label").label,d=ce(()=>{o==null||o()},[o]);return ee(()=>{const v=l=>{l.key==="Escape"&&d()};return document.addEventListener("keydown",v),()=>{document.removeEventListener("keydown",v)}},[d]),ee(()=>{const v=document.scrollingElement,l=v.style.overflow;return v.style.overflow="hidden",()=>{v.style.overflow=l}},[]),F("div",{...s,className:B(["pdp-overlay",["pdp-overlay--centered",t],u]),children:[r("div",{className:"pdp-overlay__content",children:p}),r(we,{"aria-label":f,variant:"tertiary",className:"pdp-overlay__close-button",onClick:d,icon:r(Ve,{})})]})},tt=["text","image","color","dropdown"],nt=t=>t.map(o=>({...o,text:o.label,disabled:!o.inStock}));function rt(t,o){return t.reduce((u,p)=>{const s=o==null?void 0:o.find(d=>d.items.find(v=>v.id===p));if(!s)return u;const f=s.items.find(d=>d.id===p);return{...u,[s.id]:{label:f.label,value:f.id}}},{})}const lt=({options:t,hideSelectedValue:o,selectedUIDs:u,onValues:p,onErrors:s,defaultOptions:f,selectionsToUpdate:d,className:v,children:l,...G})=>{const c=Z("PDP.Swatches.Required.label").label,[m,W]=K(()=>t==null?void 0:t.reduce((P,n)=>{const{items:y}=n,E=y==null?void 0:y.find(A=>f==null?void 0:f.includes(A.id)),I=y==null?void 0:y.find(A=>A.selected);return E?{...P,[n.id]:{label:E.label,value:E.id}}:I?{...P,[n.id]:{label:I.label,value:I.id}}:P},{}));ee(()=>{if(u){const b=rt(u,t);if(JSON.stringify(b)===JSON.stringify(m))return;$(Object.keys(b)[0],b[Object.keys(b)[0]].label,u[0])}},[u]),ee(()=>{d==null||d.forEach(b=>{W(P=>{var E;const n=(E=b==null?void 0:b.items)==null?void 0:E.find(I=>I.selected);return n?{...P,[b.id]:{label:n==null?void 0:n.label,value:n==null?void 0:n.id}}:P})})},[d,W]),Ne(()=>{const b=t==null?void 0:t.reduce((P,n)=>{var E;let y=!1;return(E=n==null?void 0:n.items)==null||E.forEach(I=>{var N;((N=m[n.id])==null?void 0:N.value)===I.id&&(y=!0)}),n.required&&!y&&(P[n.id]=c),P},{});return s==null||s(b),b},[m]);const $=ce((b,P,n)=>{W(y=>{const E={...y,[b]:{label:P,value:n}};return p==null||p(E,n),E})},[p]),j=(b,P)=>{var y;const n=((y=P.selectedOptions[0])==null?void 0:y.label)??"";$(b,n,P.value)},ne=ce(({items:b,id:P,required:n,type:y,selected:E,label:I})=>(b==null?void 0:b.length)>0&&r("div",{className:B(["pdp-swatches__options"]),children:(y==null?void 0:y.toLowerCase())==="dropdown"?r(qe,{"aria-label":I,handleSelect:A=>j(P,A.target),options:nt(b),value:E}):b==null?void 0:b.map(A=>{const N={key:A.id,id:A.id,name:P,value:A.value,label:A.label,groupAriaLabel:I,selected:E===A.id,outOfStock:!A.inStock,required:n===null?!0:n,onValue:()=>{$(P,A.label,A.id)}};switch(y){case"text":return r(Fe,{...N,label:A.label});case"image":return r(Xe,{...N,src:A.value,alt:A.label});case"color":return r(je,{...N,size:"large",color:A.value});default:return console.warn(`Invalid swatch type ${y}`),null}})}),[$]);return r("div",{...G,className:B(["pdp-swatches",v]),children:t==null?void 0:t.map(({type:b,label:P,id:n,multiple:y,required:E,items:I})=>{var A;return tt.includes(b)||console.warn(`Invalid swatch type ${b}`),y&&console.warn("Multiple selection swatches are not currently supported."),F("div",{id:`swatch-item-${n}`,"data-slot-key":`product-swatch--${n}`,className:"pdp-swatches__field",children:[r("div",{className:"pdp-swatches__field__label",children:m[n]?o?`${P}`:`${P}: ${m[n].label}`:P}),r(ne,{id:n,type:b,required:E,items:I,label:P,selected:(A=m[n])==null?void 0:A.value})]},`swatch-item-${n}`)})})},at=({children:t,scale:o=2,closeButton:u=!0})=>{const[p,s]=K(!1),[f,d]=K("pdp-zoom"),[v,l]=K(!1),[G,c]=K({x:0,y:0}),[m,W]=K({x:0,y:0}),[$,j]=K({x:0,y:0}),ne=e=>{!p||e.type!=="touchstart"||(c({x:e.touches[0].clientX,y:e.touches[0].clientY}),W({x:$.x,y:$.y}),l(!0))},b=e=>{var ie;if(!v||e.type!=="touchmove")return;const M=(ie=e.currentTarget)==null?void 0:ie.getBoundingClientRect(),D=(100-100/o)/2,q=e.touches[0].clientX-G.x,L=e.touches[0].clientY-G.y,te=q*100/(M.width*o),x=L*100/(M.height*o),re=m.x+te,oe=m.y+x;j({x:Math.max(-D,Math.min(re,D))||0,y:Math.max(-D,Math.min(oe,D))||0}),e.preventDefault()},P=e=>{var x;const M=(x=e.currentTarget)==null?void 0:x.getBoundingClientRect(),D=(100-100/o)/2;let q;if("touches"in e)q=e.touches[0];else if(e instanceof MouseEvent)q=e;else return;const L=D-(q.clientX-M.left)/M.width*100,te=D-(q.clientY-M.top)/M.height*100;j({x:Math.max(-D,Math.min(L,D))||0,y:Math.max(-D,Math.min(te,D))||0})},n=e=>{if(!v){if(p){if(u&&"touches"in e){ne(e);return}u||s(!1)}else s(!0),P(e);e.preventDefault()}},y=e=>{if(u&&"touches"in e){b(e);return}p&&P(e)},E=()=>{if(u){l(!1);return}s(!1)},I=e=>{s(!1),e.stopPropagation()},A=p?`scale(${o}) translateX(${$.x}%) translateY(${$.y}%)`:"none",N=Z("PDP.Zoom.Close.label").label,me=Ye(ue.only(t),{draggable:!1,style:{"--transform":A}});return ee(()=>{d(p?`pdp-zoom ${u?"pdp-zoom--no-effects":"pdp-zoom--zoomed"}`:"pdp-zoom")},[p,u]),F("figure",{className:f,onClick:n,onMouseMove:y,onMouseLeave:E,onTouchStart:n,onTouchMove:y,onTouchEnd:E,children:[me,u&&p&&r(we,{"aria-label":N,variant:"tertiary",className:"pdp-zoom__close-button",icon:r(Ve,{}),onClick:I})]})};function ct(t,o="en_US"){if(!Ue(t))throw Error("Invalid date string");return t.split(" ")[1]||(t=`${t} 00:00:00`),new Date(t).toLocaleDateString(Me(o)).toString()}function Ue(t){if(![/^\d{4}-\d{2}-\d{2}$/,/^\d{1,2}\/\d{1,2}\/\d{4}$/,/^\d{2}\/\d{2}\/\d{4}$/,/^\d{4}\/\d{2}\/\d{2}$/,/^\d{1,2}\.\d{1,2}\.\d{4}$/,/^\d{4}-\d{2}-\d{2} \d{2}:\d{2}:\d{2}$/].some(p=>p.test(t)))return!1;const u=new Date(t);return!isNaN(u.getTime())}function ot(t){const o=new URLSearchParams(window.location.search);Object.entries(t).forEach(([p,s])=>{s===null?o.delete(p):o.set(p,String(s))});let u=window.location.pathname;u+=`?${o.toString()}`,u+=window.location.hash,window.history.replaceState({},"",u)}function it(){const t=new URLSearchParams(window.location.search),o={};return t.forEach((u,p)=>{o[p]=u}),o}function st(t){var o,u,p,s,f,d,v,l,G,c,m,W;return{productId:Number(t==null?void 0:t.externalId),name:t==null?void 0:t.name,sku:(t==null?void 0:t.variantSku)||(t==null?void 0:t.sku),topLevelSku:t==null?void 0:t.sku,specialToDate:void 0,specialFromDate:void 0,newToDate:void 0,newFromDate:void 0,createdAt:void 0,updatedAt:void 0,manufacturer:void 0,countryOfManufacture:void 0,categories:void 0,productType:void 0,pricing:{regularPrice:((u=(o=t==null?void 0:t.prices)==null?void 0:o.regular)==null?void 0:u.amount)||0,minimalPrice:(s=(p=t==null?void 0:t.prices)==null?void 0:p.final)==null?void 0:s.minimumAmount,maximalPrice:(d=(f=t==null?void 0:t.prices)==null?void 0:f.final)==null?void 0:d.maximumAmount,specialPrice:(l=(v=t==null?void 0:t.prices)==null?void 0:v.final)==null?void 0:l.amount,tierPricing:void 0,currencyCode:((c=(G=t==null?void 0:t.prices)==null?void 0:G.final)==null?void 0:c.currency)||"USD"},canonicalUrl:t==null?void 0:t.url,mainImageUrl:(W=(m=t==null?void 0:t.images)==null?void 0:m[0])==null?void 0:W.url}}const dt={PRODUCT_CONTEXT:"productContext"},ht={PRODUCT_PAGE_VIEW:"product-page-view"};function He(){return window.adobeDataLayer=window.adobeDataLayer||[],window.adobeDataLayer}function ut(t,o){const u=He();u.push({[t]:null}),u.push({[t]:o})}function pt(t,o){He().push(p=>{const s=p.getState?p.getState():{};p.push({event:t,eventInfo:{...s,...o}})})}function Re(t){const o=st(t);ut(dt.PRODUCT_CONTEXT,o),pt(ht.PRODUCT_PAGE_VIEW)}const mt=({sku:t,hideSku:o,hideQuantity:u,hideShortDescription:p,hideDescription:s,hideAttributes:f,hideURLParams:d,hideSelectedOptionValue:v,slots:l,children:G,initialData:c,carousel:m,optionsConfig:W,useACDL:$,onAddToCart:j,zoomType:ne,closeButton:b=!0,...P})=>{var g,Q,U,pe;const n=Z("PDP.Product.AddToCart.label").label,y=Z("PDP.Product.Incrementer.label").label,E=Z("PDP.Product.Details.label").label,[I,A]=K(We.getConfig().defaultLocale||"en-US"),[N,me]=K(),[e=null,M]=K(c),[D,q]=K(()=>{const i={sku:t,quantity:1};return e!=null&&e.optionUIDs&&(i.optionsUIDs=e.optionUIDs),i}),[L,te]=K(()=>{var i,_;return!(e!=null&&e.options&&((i=e==null?void 0:e.options)==null?void 0:i.length)>0&&((_=e==null?void 0:e.optionUIDs)==null?void 0:_.length)!==(e==null?void 0:e.options.length))}),x={data:e,values:D,valid:L};function re(i){return i==null?void 0:i.some(_=>(_==null?void 0:_.typename)==="ProductViewOptionValueProduct")}ee(()=>{const i=ke.on("pdp/setValues",_=>{q(w=>({...w,..._}))});return()=>{i==null||i.off()}},[]),ee(()=>{const i=ke.on("locale",_=>{_!==I&&(A(_),Te(t).then(M))});return()=>{i==null||i.off()}},[I,t]),ee(()=>{$&&c&&Object.keys(c).length>0&&Re(c)},[c]);const oe=ce(i=>{q(_=>({..._,...i}))},[]);ee(()=>{ke.emit("pdp/values",D)},[JSON.stringify(D)]);const ie=ce(i=>{var V,H;let _=Object.keys(i).map(R=>i[R].value).filter(R=>R!==void 0);!d&&(e!=null&&e.options)&&!re(e.options)&&ot({optionsUIDs:_.join(",")}),oe({optionsUIDs:_}),te((_==null?void 0:_.length)===((V=e==null?void 0:e.options)==null?void 0:V.length));const w=(H=e==null?void 0:e.options)==null?void 0:H.some(R=>re([R]));Be(t,_,W==null?void 0:W.anchorOptions,w).then(R=>{var de;M(R),(de=W==null?void 0:W.anchorOptions)!=null&&de.length&&be(R,_),$&&(R==null?void 0:R.variantSku)!==t&&Re(R)})},[t]),be=ce((i,_)=>{var H;const w=(i==null?void 0:i.optionUIDs)??[];_.every(R=>w.includes(R))||(me(i==null?void 0:i.options),oe({optionsUIDs:w}),te((w==null?void 0:w.length)===((H=i==null?void 0:i.options)==null?void 0:H.length)))},[t]),_e=ce(i=>{Object.keys(i).length!==0&&te(!1)},[]),T=Ne(()=>{var i;return(i=e==null?void 0:e.attributes)==null?void 0:i.map(({label:_,value:w},V)=>{const H=Ue(w)?ct(w,I):w.toString();return F("li",{children:[_,": ",r("span",{dangerouslySetInnerHTML:{__html:H}})]},V)})},[e==null?void 0:e.attributes,I]),le=!u&&(e!=null&&e.inStock)?r(J,{name:"Quantity",slot:l==null?void 0:l.Quantity,context:{...x},children:r(Ge,{name:"quantity",defaultValue:D.quantity.toString(),value:D.quantity.toString(),min:1,"aria-label":y,className:"pdp-product__quantity",onValue:i=>{oe({quantity:Number(i)})}},"quantity")}):void 0,se=()=>{if(e!=null&&e.options)return r(J,{name:"Options",slot:l==null?void 0:l.Options,context:{...x},children:r(lt,{selectedUIDs:D.optionsUIDs,options:e.options,defaultOptions:D.optionsUIDs,selectionsToUpdate:N,hideSelectedValue:v,onValues:ie,onErrors:_e})})};return r("div",{...P,children:r(Je,{title:r(J,{name:"Title",slot:l==null?void 0:l.Title,context:{...x},children:e==null?void 0:e.name}),sku:o?void 0:r(J,{name:"SKU",slot:l==null?void 0:l.SKU,context:{...x},children:e==null?void 0:e.sku}),options:se(),breadcrumbs:(l==null?void 0:l.Breadcrumbs)&&r(J,{name:"Breadcrumbs",slot:l==null?void 0:l.Breadcrumbs,context:{...x,setSeparator(i){this._registerMethod((..._)=>{const w=i(..._),V=w&&r(Se,{source:w});this._setProps(H=>({...H,separator:V,children:[r(De,{separator:V,categories:H.categories})]}))})},appendLink(i){this._registerMethod((..._)=>{const{text:w,...V}=i(..._),H=r("a",{...V,children:w});this._setProps(R=>{const de=[...R.categories||[],H];return{...R,categories:de,children:[r(De,{separator:R.separator,categories:de})]}})})},appendHTMLElement(i){this._registerMethod((..._)=>{const w=i(..._),V=this._htmlElementToVNode(w);this._setProps(H=>{const R=[...H.categories||[],V];return{...H,categories:R,children:[r(De,{separator:H.separator,categories:R})]}})})}}}),quantity:le,actions:r(J,{name:"Actions",slot:l==null?void 0:l.Actions,context:{...x,appendButton(i){this._registerMethod((..._)=>{const w=i(..._);if(!w)return;const{text:V,icon:H,...R}=w,de=r(we,{type:"button",...R,icon:H&&r(Se,{source:H}),children:V});this._setProps(a=>({children:[...a.children||[],de]}))})}},children:!(l!=null&&l.Actions)&&r(we,{size:"medium",type:"submit",icon:r(Se,{source:"Cart"}),disabled:!(e!=null&&e.inStock)||!L,"aria-label":n,onClick:()=>j==null?void 0:j(D),children:n})}),shortDescription:p?void 0:r(J,{name:"ShortDescription",slot:l==null?void 0:l.ShortDescription,context:{...x},children:r("div",{dangerouslySetInnerHTML:{__html:(e==null?void 0:e.shortDescription)??""}})}),description:s?void 0:r(J,{name:"Description",slot:l==null?void 0:l.Description,context:{...x},children:r("div",{dangerouslySetInnerHTML:{__html:(e==null?void 0:e.description)??""}})}),images:((g=e==null?void 0:e.images)==null?void 0:g.map(({label:i,url:_})=>{var w,V;return r(Oe,{title:i,alt:i,src:_,width:((w=m==null?void 0:m.imageParams)==null?void 0:w.width)??960,height:((V=m==null?void 0:m.imageParams)==null?void 0:V.height)??1191,params:(m==null?void 0:m.imageParams)??{width:960}},_)}))??[],specialPrice:(Q=e==null?void 0:e.prices)!=null&&Q.visible?r(J,{name:"SpecialPrice",slot:l==null?void 0:l.SpecialPrice,context:{...x},children:r(Ie,{...e.prices.final,locale:Me(I)})}):void 0,price:(U=e==null?void 0:e.prices)!=null&&U.visible&&e.prices.regular&&e.prices.final.amount!==(e==null?void 0:e.prices.regular.amount)?r(J,{name:"RegularPrice",slot:l==null?void 0:l.RegularPrice,context:{...x},children:r(Ie,{...e.prices.regular,locale:Me(I)})}):void 0,zoomType:ne,closeButton:b,carouselConfig:{...m,thumbnails:m&&Object.keys(m).length?((pe=e==null?void 0:e.images)==null?void 0:pe.map(({label:i,url:_})=>{var w,V;return r(Oe,{title:i,alt:i,src:_,width:((w=m==null?void 0:m.thumbnailParams)==null?void 0:w.width)??200,height:((V=m==null?void 0:m.thumbnailParams)==null?void 0:V.height)??248,params:(m==null?void 0:m.thumbnailParams)??{width:200}},_)}))??[]:[]},outOfStock:!(e!=null&&e.inStock),attributes:f?void 0:r(J,{name:"Attributes",slot:l==null?void 0:l.Attributes,context:{...x},children:T!=null&&T.length?F(Ae,{children:[E,r("ul",{children:T})]}):null}),galleryContent:(l==null?void 0:l.GalleryContent)&&r(J,{name:"GalleryContent",slot:l.GalleryContent,context:{...x}}),infoContent:(l==null?void 0:l.InfoContent)&&r(J,{name:"InfoContent",slot:l.InfoContent,context:{...x}}),productContent:(l==null?void 0:l.Content)&&r(J,{name:"Content",slot:l.Content,context:{...x}})})})};mt.getInitialData=async function({sku:t,optionsConfig:o}){var v,l,G,c,m,W,$;function u(j){return j.some(ne=>ne.__typename==="ProductViewOptionValueProduct")}let p;const s=We.getConfig(),f=((v=it().optionsUIDs)==null?void 0:v.split(","))||((c=(G=(l=s==null?void 0:s.models)==null?void 0:l.ProductDetails)==null?void 0:G.initialData)==null?void 0:c.optionsUIDs),d=(W=(m=s==null?void 0:s.models)==null?void 0:m.ProductDetails)==null?void 0:W.initialData;return d&&Object.keys(d).length>0&&(p=($=d.options)==null?void 0:$.some(j=>u(j==null?void 0:j.values))),f!=null&&f.length?await Be(t,f,o==null?void 0:o.anchorOptions,p):await Te(t)};export{mt as ProductDetails,mt as default};
|
|
1
|
+
import{jsxs as X,jsx as n,Fragment as Ae}from"@dropins/tools/preact-jsx-runtime.js";import*as fe from"@dropins/tools/preact-compat.js";import{useState as G,Children as ue,useRef as Le,useMemo as Ne,useEffect as ne,useCallback as ie}from"@dropins/tools/preact-compat.js";import{debounce as xe,classes as I,VComponent as F,toLanguageTag as Me,Slot as ee}from"@dropins/tools/lib.js";import{Button as Pe,Icon as Se,Price as ge,Picker as qe,ColorSwatch as je,ImageSwatch as Xe,TextSwatch as Fe,Incrementer as Ge,Breadcrumbs as De,Image as Oe}from"@dropins/tools/components.js";import{useText as Y}from"@dropins/tools/i18n.js";import{cloneElement as Ye}from"@dropins/tools/preact.js";import{c as Te,d as Be}from"../chunks/getRefinedProduct.js";import{events as ke}from"@dropins/tools/event-bus.js";import{c as We}from"../chunks/initialize.js";import"@dropins/tools/fetch-graphql.js";const Ke=e=>fe.createElement("svg",{width:24,height:24,viewBox:"0 0 24 24",fill:"none",xmlns:"http://www.w3.org/2000/svg",...e},fe.createElement("path",{d:"M7.74512 9.87701L12.0001 14.132L16.2551 9.87701",stroke:"currentColor",strokeWidth:1.5,strokeLinecap:"square",strokeLinejoin:"round"})),Ve=e=>fe.createElement("svg",{width:24,height:24,viewBox:"0 0 24 24",fill:"none",xmlns:"http://www.w3.org/2000/svg",...e},fe.createElement("path",{vectorEffect:"non-scaling-stroke",d:"M18.3599 5.64001L5.62988 18.37",stroke:"currentColor"}),fe.createElement("path",{vectorEffect:"non-scaling-stroke",d:"M18.3599 18.37L5.62988 5.64001",stroke:"currentColor"})),Ze=24,Ee=16,ve=2,Qe="32";var ze=(e=>(e[e.small=16]="small",e[e.medium=24]="medium",e[e.large=64]="large",e))(ze||{});const ye=({show:e=1,scrollbar:o=!1,peak:m=!1,arrows:p=!1,controls:i="dots",arrowsOnMainImage:w=!1,loop:u=!1,gap:f=null,direction:l="horizontal",width:K="100%",height:c="100%",defaultIndex:v=0,className:z,children:x,thumbnails:U=null,isZoomed:Q,...le})=>{const ae=Y("PDP.Carousel.label").label,r=Y("PDP.Carousel.Slide.label").label,y=Y("PDP.Carousel.Previous.label").label,b=Y("PDP.Carousel.Next.label").label,N=Y("PDP.Carousel.Controls.label").label,L=Y("PDP.Carousel.Controls.Button.label").label,[P,g]=G(()=>$e(e)),s=Math.ceil(ue.count(x)/P),t=m?Ze:0,W=f?ze[f]:0,O=ue.count(x)%P,[D,ce]=G(u?te()?v-1:v+1:v),Z=Le([]),[R,se]=G(0),[re,be]=G(0),_e=Ne(()=>ue.toArray(U),[U]),H=Ne(()=>{const a=ue.toArray(x).reduce((h,M,A)=>A%P===0?[...h,[M]]:[...h.slice(0,-1),[...h[h.length-1],M]],[]);return!u||a.length===1?a:u&&ue.count(x)%P===0?[a[s-1]].concat(a).concat([a[0],a[1]]):[ue.toArray(x).slice(-P)].concat(a).concat([a[0],a[1]])},[x,P,s,u]),J=Le(null),de=Le(null),k=i==="thumbnailsRow"||i==="thumbnailsColumn";ne(()=>{const a=document.body,h=xe(()=>{var E,oe;se(((E=J.current)==null?void 0:E.offsetWidth)??0),be(((oe=J.current)==null?void 0:oe.offsetHeight)??0);const A=window.innerWidth,B=$e(e,A);B!==P&&g(B)},50),M=new ResizeObserver(h);return M.observe(a),()=>{M.unobserve(a)}},[P,e]);const C=ie(a=>{const h=u?a-1:a,M=Z==null?void 0:Z.current[0],A=(M==null?void 0:M.offsetWidth)+Ee,B=(M==null?void 0:M.offsetHeight)+Ee,E=de.current,oe=i==="thumbnailsRow",we=i==="thumbnailsColumn",he=oe?E==null?void 0:E.offsetWidth:E==null?void 0:E.offsetHeight,j=oe?A:B;(oe||we)&&he&&(j*(h+1)>he&&(E.style.scrollBehavior="smooth",oe?E.scrollLeft=te()?E.scrollWidth-E.clientWidth-(h+ve)*j:(h+ve)*j:E.scrollTop=(h+ve)*j),(te()&&(oe?E.scrollLeft:E.scrollTop)<=-j*h||!te()&&(oe?E.scrollLeft:E.scrollTop)>j*h)&&(E.style.scrollBehavior="smooth",oe?E.scrollLeft=te()?-(h-ve)*j:(h-ve)*j:E.scrollTop=(h-ve)*j))},[i,u]);ne(()=>{C(D)},[D,C]);const V=ie((a,h,M)=>{k&&C(a);const A=J.current,B=t?A.offsetWidth-t:A.offsetWidth-t+W;if(!Array.from(A.querySelectorAll("[data-index]")).filter(he=>{const j=Number(he.getAttribute("data-index"));return!isNaN(j)&&j>-1})[a])return;if(M){const he=a===0?s:0,j=B*(s+(O||P)/P);if(te()){if(A.scrollLeft<=0&&A.scrollLeft>-(B-5)){V(1,!0);return}if(A.scrollLeft<B-j&&A.scrollLeft>=-j){V(s,!0);return}A.style.scrollBehavior="auto",A.scrollLeft=he===0?0:-j,V(he===0?1:s,!0)}else{if(A.scrollLeft>=0&&A.scrollLeft<B-5){V(1,!0);return}if(A.scrollLeft>j-B&&A.scrollLeft<=j){V(s,!0);return}A.style.scrollBehavior="auto",A.scrollLeft=he===0?0:j,V(he===0?1:s,!0);return}}const we=(A.offsetWidth-W)/P*H[a].length-t;A.style.scrollBehavior=h?"smooth":"auto",A.scrollLeft=te()?-(H[a].length===P?B*a:B*(a-1)-we):H[a].length===P?B*a:B*(a-1)+we},[W,s,t,P,O,H,C,i]),pe=ie(()=>{if(u){const h=D-1;V(h,!0,te()?D===s-1:D===1);return}const a=D<=0?0:D-1;V(a,!0)},[D,V,u]),me=ie(()=>{const a=H.length-1;if(u){const M=D+1;V(M,!0,te()?D===0:D===s);return}const h=D>=a?a:D+1;V(h,!0)},[H.length,u,D,V,s]);ne(()=>{const a=h=>{h.key==="ArrowLeft"&&(h.preventDefault(),te()?me():pe()),h.key==="ArrowRight"&&(h.preventDefault(),te()?pe():me())};return window.addEventListener("keydown",a),()=>{window.removeEventListener("keydown",a)}},[me,pe]),ne(()=>{V(u?v+1:v,!1)},[v,V,u]);const d=xe(()=>{const a=J.current,h=t?a.offsetWidth-t:a.offsetWidth-t+W,M=Math.abs(a.scrollLeft)/h,A=Math.abs(Math.round(M)-M<1?Math.round(M):Math.ceil(M));if(k&&C(A),u){const B=h*(s+(O||P)/P),E=te()?-a.scrollLeft:a.scrollLeft;if(Math.ceil(Math.abs(E))>=Math.ceil(B)-5){a.style.scrollBehavior="auto",a.scrollLeft=te()?-a.offsetWidth+(Math.ceil(E)-Math.ceil(B)-t):a.offsetWidth+(Math.ceil(E)-Math.ceil(B)-t);return}if(Math.abs(E)===0){a.style.scrollBehavior="auto",a.scrollLeft=te()?-(B-a.offsetWidth+t):B-a.offsetWidth+t;return}}D!==A&&ce(A)},100);ne(()=>{const a=J.current;return a==null||a.addEventListener("scroll",d),()=>{a==null||a.removeEventListener("scroll",d)}},[d]);const _=(a,h,M)=>n(Pe,{className:I([["pdp-carousel__button",!a],[`pdp-carousel__button--${h}`,!a],[`pdp-carousel__button--${i}`,a]]),style:{"--height":`${re}px`},variant:"tertiary","aria-label":h==="next"?b:y,onClick:M,disabled:u?!1:h==="next"?D>=H.length-1:D<1,children:n(Se,{className:I([["pdp-carousel__button__icon",!a],[`pdp-carousel__button__icon--${h}`,!a],[`pdp-carousel__button__icon--${i}--${h}`,a]]),size:Qe,source:Ke})}),S=p&&H.length!=1&&_(k,"prev",pe),T=p&&H.length!=1&&_(k,"next",me),q=p&&H.length!=1&&_(!1,"prev",pe),$=p&&H.length!=1&&_(!1,"next",me);return X("div",{role:"region","aria-roledescription":ae,className:I(["pdp-carousel",["pdp-carousel--main-image-controls",w],["pdp-carousel--arrows",p&&!k],[`pdp-carousel--${i}`,k],z]),style:{"--flex-carousel":i==="thumbnailsColumn"?"row-reverse":"column","--gap":k?"0":"var(--spacing-small)","--width":K},...le,children:[n("div",{ref:J,className:I(["pdp-carousel__wrapper",`pdp-carousel__wrapper--${l}`,["pdp-carousel__wrapper--scrollbar",o],["pdp-carousel__wrapper--peak",m]]),style:{"--total-width":i==="thumbnailsColumn"?"81.6%":"100%","--height":i==="thumbnailsColumn"?"auto":c,"--gap":f?`var(--spacing-${f})`:"0px","--per-page":P},tabIndex:0,children:H.map((a,h)=>{const M=a.length<P;return n("div",{role:"group","aria-roledescription":r,"data-index":h,className:I(["pdp-carousel__slide",`pdp-carousel__slide--${l}`,["pdp-carousel__slide--active",D===h],["pdp-carousel__slide--orphan",M]]),style:{"--length":a.length},children:a},h)})}),!k&&X(Ae,{children:[S,T]}),k&&w&&X(Ae,{children:[q,$]}),i&&H.length!=1&&X("div",{className:I([[`pdp-carousel__controls__container--${i}`,k],["pdp-carousel__controls__container--no-arrows",!p||w]]),style:{"--width":i==="thumbnailsRow"?`${R}px`:K,"--height":`${re}px`,"--nr-thumbnails":_e.length},children:[(k||Q)&&!w&&S,n("div",{ref:de,className:I([[`pdp-carousel__controls__wrapper--${i}`,k],["pdp-carousel__controls__wrapper",k]]),children:n("div",{role:"group","aria-label":N,className:I(["pdp-carousel__controls",[`pdp-carousel__controls--${i}`,k]]),children:(u?H.slice(0,s):H).map((a,h)=>{const M=u?s:H.length,A=u?D-1===h:D===h;return k?X("label",{className:I(["pdp-carousel__thumbnail__container"]),ref:B=>{B&&(Z.current[h]=B)},children:[n("input",{type:"radio",name:"carousel-thumbnails","aria-label":L.replace("{key}",String(h+1)).replace("{total}",String(M)),checked:A&&R!==0,onChange:()=>{V(u?h+1:h,!0)},...le,className:I(["pdp-carousel__thumbnail",["pdp-carousel__thumbnail--selected",A&&R!==0]])}),n("span",{className:I(["pdp-carousel__thumbnail__span"]),children:_e[h]})]},h):n("button",{"aria-label":L.replace("{key}",String(h+1)).replace("{total}",String(M)),onClick:()=>{V(u?h+1:h,!0)},className:I(["pdp-carousel__controls__button",["pdp-carousel__controls__button--active",A]])},h)})})}),(k||Q)&&!w&&T]})]})};function $e(e,o=0){if(typeof e=="number")return e;const{small:m,medium:p,large:i}=e,u=[{breakpoint:1024,value:i},{breakpoint:786,value:p},{breakpoint:0,value:m}].find(({breakpoint:f})=>o>f);return u?u.value:m}function te(){return document.documentElement.dir==="rtl"}const Je=({title:e,breadcrumbs:o,galleryContent:m,infoContent:p,productContent:i,sku:w,outOfStock:u,shortDescription:f,description:l,attributes:K,images:c,options:v,price:z,specialPrice:x,className:U,children:Q,quantity:le,actions:ae,carouselConfig:r,zoomType:y="overlay",closeButton:b=!0,...N})=>{var ce,Z,R,se,re,be,_e,H,J;const L=Y("PDP.Product.RegularPrice.label").label,P=Y("PDP.Product.SpecialPrice.label").label,g=Y("PDP.Product.OutOfStock.label").label,s=Y("PDP.Product.Image.label").label,[t,W]=G(null),O=c!=null&&c.length?c.map((de,k)=>{var V;const C=((V=e==null?void 0:e.props)==null?void 0:V.children)&&(s==null?void 0:s.replace("{product}",e.props.children.toString()).replace("{key}",String(k+1)).replace("{total}",String(c.length)));return y==="zoom"?n(at,{closeButton:b,children:n(F,{node:de,loading:k===0?"eager":"lazy",alt:C},k)}):n(F,{node:de,loading:k===0?"eager":"lazy",alt:C,onClick:()=>W(k)},k)}):n("img",{src:"data:image/gif;base64,R0lGODlhAQABAIAAAAAAAP///yH5BAEAAAAALAAAAAABAAEAAAIBRAA7",className:"pdp-product__images__placeholder","aria-hidden":!0}),D=(ce=r==null?void 0:r.thumbnails)!=null&&ce.length?r.thumbnails.map((de,k)=>{var C;return n(F,{node:de,loading:(r==null?void 0:r.thumbnailsLoadingMode)||"lazy",alt:((C=e==null?void 0:e.props)==null?void 0:C.children)&&(s==null?void 0:s.replace("{product}",e.props.children.toString()).replace("{key}",String(k+1)).replace("{total}",String(c.length)))},k)}):n("img",{src:"data:image/gif;base64,R0lGODlhAQABAIAAAAAAAP///yH5BAEAAAAALAAAAAABAAEAAAIBRAA7",className:"pdp-product__images__placeholder","aria-hidden":!0});return X("div",{...N,className:I(["pdp-product",U]),children:[o&&n(F,{node:o,className:"pdp-product__breadcrumbs"}),X("div",{className:"pdp-product__column-container pdp-product__gallery-column",children:[n("div",{className:"pdp-product__column-body",children:(Z=r==null?void 0:r.controls)!=null&&Z.desktop?n(ye,{className:"pdp-product__overlay__carousel",arrows:(c==null?void 0:c.length)>1,controls:(c==null?void 0:c.length)>1?r.controls.desktop:"dots",arrowsOnMainImage:r==null?void 0:r.arrowsOnMainImage,loop:(r==null?void 0:r.loopable)&&(c==null?void 0:c.length)>1,peak:((R=r==null?void 0:r.thumbnails)==null?void 0:R.length)>1&&((se=r==null?void 0:r.peak)==null?void 0:se.desktop)||!1,gap:(r==null?void 0:r.gap)||null,width:"100%",height:"100%",defaultIndex:t||0,thumbnails:D,children:O}):n(Ce,{className:"pdp-product__images",gap:"small",children:O})}),m&&n(F,{node:m,className:"pdp-product__gallery-content"})]}),X("div",{className:"pdp-product__column-container pdp-product__content-column",children:[X("div",{className:"pdp-product__column-body",children:[X("div",{className:"pdp-product__header",children:[e&&n(F,{node:e,className:"pdp-product__title"}),w&&n(F,{node:w,className:"pdp-product__sku"})]}),X("div",{className:"pdp-product__prices",children:[x&&n(F,{node:x,className:I(["pdp-product__price-special","pdp-product__price"]),"aria-label":P,role:"text"}),z&&n(F,{node:z,className:I(["pdp-product__price-regular","pdp-product__price--grey"]),"aria-label":L,role:"text"})]}),(re=r==null?void 0:r.controls)!=null&&re.mobile&&((be=r==null?void 0:r.controls)==null?void 0:be.mobile)==="thumbnailsRow"?n(ye,{className:"pdp-product__images pdp-product__images--carousel pdp-product__images--carousel--thumbnails",width:"100%",height:"auto",arrows:(c==null?void 0:c.length)>1,controls:(c==null?void 0:c.length)>1?"thumbnailsRow":null,loop:(r==null?void 0:r.loopable)&&(c==null?void 0:c.length)>1,peak:((_e=r==null?void 0:r.thumbnails)==null?void 0:_e.length)>1&&((H=r==null?void 0:r.peak)==null?void 0:H.mobile)||!1,gap:(r==null?void 0:r.gap)||null,thumbnails:D,children:O}):n(ye,{className:"pdp-product__images pdp-product__images--carousel",peak:((J=r==null?void 0:r.peak)==null?void 0:J.mobile)&&(c==null?void 0:c.length)>1,gap:(r==null?void 0:r.gap)||null,width:"100%",height:"auto",arrows:(c==null?void 0:c.length)>1,controls:(c==null?void 0:c.length)>1?"dots":null,loop:(r==null?void 0:r.loopable)&&(c==null?void 0:c.length)>1,children:O}),X("div",{className:I(["pdp-product__actions",["pdp-product__actions--out-of-stock",u]]),children:[u&&n("div",{className:"pdp-product__out-of-stock__text",children:g}),v&&n(F,{node:v,className:I(["pdp-product__options"])}),le&&n("div",{className:"pdp-product__quantity",children:n(F,{node:le})}),ae&&n(F,{node:ae,className:I(["pdp-product__buttons"])})]}),f&&n(F,{node:f,className:I(["pdp-product__short_description"])}),l&&n(F,{node:l,className:I(["pdp-product__description"])}),K?n("div",{className:"pdp-product__attributes",children:K}):null]}),p&&n(F,{node:p,className:"pdp-product__info-content"})]}),i&&n(F,{node:i,className:"pdp-product__content"}),t===null?null:n(et,{className:"pdp-product__overlay",onClose:()=>W(null),centered:!0,children:n(ye,{className:"pdp-product__overlay__carousel",arrows:(c==null?void 0:c.length)>1,width:"100%",height:"100%",defaultIndex:t||0,loop:(r==null?void 0:r.loopable)&&(c==null?void 0:c.length)>1,controls:(c==null?void 0:c.length)>1?"dots":null,isZoomed:!0,children:O})})]})},Ce=({children:e,gap:o=null,className:m,style:p,...i})=>{const w=ue.count(e);return n("div",{...i,className:I(["pdp-gallery-grid",m]),style:{"--gap":o?`var(--spacing-${o})`:"0px",...p},children:ue.map(e,(u,f)=>n("div",{className:"pdp-gallery-grid__item",children:n(F,{node:u,loading:f===0?"eager":"lazy"},u.props.src)},w+f))})},Ie=({amount:e,currency:o,locale:m,variant:p,sale:i,minimumAmount:w,maximumAmount:u,className:f,...l})=>n(Ae,{children:e||w===u?n("div",{className:"pdp-price-range",...l,children:n(ge,{amount:e||w,currency:o,locale:m,variant:p,sale:i,className:f})}):X("div",{className:"pdp-price-range",...l,children:[n(ge,{amount:w,currency:o,locale:m,className:f}),n("span",{className:"pdp-price-range__label",children:"-"}),n(ge,{amount:u,currency:o,locale:m,className:f})]})}),et=({centered:e,onClose:o,className:m,children:p,...i})=>{const w=Y("PDP.Overlay.Close.label").label,u=ie(()=>{o==null||o()},[o]);return ne(()=>{const f=l=>{l.key==="Escape"&&u()};return document.addEventListener("keydown",f),()=>{document.removeEventListener("keydown",f)}},[u]),ne(()=>{const f=document.scrollingElement,l=f.style.overflow;return f.style.overflow="hidden",()=>{f.style.overflow=l}},[]),X("div",{...i,className:I(["pdp-overlay",["pdp-overlay--centered",e],m]),children:[n("div",{className:"pdp-overlay__content",children:p}),n(Pe,{"aria-label":w,variant:"tertiary",className:"pdp-overlay__close-button",onClick:u,icon:n(Ve,{})})]})},tt=["text","image","color","dropdown"],nt=e=>e.map(o=>({...o,text:o.label,disabled:!o.inStock}));function rt(e,o){return e.reduce((m,p)=>{const i=o==null?void 0:o.find(u=>u.items.find(f=>f.id===p));if(!i)return m;const w=i.items.find(u=>u.id===p);return{...m,[i.id]:{label:w.label,value:w.id}}},{})}const lt=({options:e,hideSelectedValue:o,disablePreselections:m,selectedUIDs:p,onValues:i,onErrors:w,defaultOptions:u,selectionsToUpdate:f,className:l,children:K,...c})=>{const v=Y("PDP.Swatches.Required.label").label,z=Y("PDP.Swatches.ChooseOption.label").label,[x,U]=G(()=>e==null?void 0:e.reduce((y,b)=>{const{items:N}=b,L=N==null?void 0:N.find(g=>u==null?void 0:u.includes(g.id)),P=N==null?void 0:N.find(g=>g.selected);return L?{...y,[b.id]:{label:L.label,value:L.id}}:P?{...y,[b.id]:{label:P.label,value:P.id}}:y},{}));ne(()=>{if(p){const r=rt(p,e);if(JSON.stringify(r)===JSON.stringify(x))return;Q(Object.keys(r)[0],r[Object.keys(r)[0]].label,p[0])}},[p]),ne(()=>{f==null||f.forEach(r=>{U(y=>{var L;const b=(L=r==null?void 0:r.items)==null?void 0:L.find(P=>P.selected);return b?{...y,[r.id]:{label:b==null?void 0:b.label,value:b==null?void 0:b.id}}:y})})},[f,U]),Ne(()=>{const r=e==null?void 0:e.reduce((y,b)=>{var L;let N=!1;return(L=b==null?void 0:b.items)==null||L.forEach(P=>{var s;((s=x[b.id])==null?void 0:s.value)===P.id&&(N=!0)}),b.required&&!N&&(y[b.id]=v),y},{});return w==null||w(r),r},[x]);const Q=ie((r,y,b)=>{U(N=>{const L={...N,[r]:{label:y,value:b}};return i==null||i(L,b),L})},[i]),le=(r,y)=>{var N;const b=((N=y.selectedOptions[0])==null?void 0:N.label)??"";Q(r,b,y.value)},ae=ie(({items:r,id:y,required:b,type:N,selected:L,label:P})=>(r==null?void 0:r.length)>0&&n("div",{className:I(["pdp-swatches__options"]),children:(N==null?void 0:N.toLowerCase())==="dropdown"?n(qe,{"aria-label":P,placeholder:m?z:void 0,handleSelect:g=>le(y,g.target),options:nt(r),value:L}):r==null?void 0:r.map(g=>{const s={key:g.id,id:g.id,name:y,value:g.value,label:g.label,groupAriaLabel:P,selected:L===g.id,outOfStock:!g.inStock,required:b===null?!0:b,onValue:()=>{Q(y,g.label,g.id)}};switch(N){case"text":return n(Fe,{...s,label:g.label});case"image":return n(Xe,{...s,src:g.value,alt:g.label});case"color":return n(je,{...s,size:"large",color:g.value});default:return console.warn(`Invalid swatch type ${N}`),null}})}),[Q]);return n("div",{...c,className:I(["pdp-swatches",l]),children:e==null?void 0:e.map(({type:r,label:y,id:b,multiple:N,required:L,items:P})=>{var g;return tt.includes(r)||console.warn(`Invalid swatch type ${r}`),N&&console.warn("Multiple selection swatches are not currently supported."),X("div",{id:`swatch-item-${b}`,"data-slot-key":`product-swatch--${b}`,className:"pdp-swatches__field",children:[n("div",{className:"pdp-swatches__field__label",children:x[b]?o?`${y}`:`${y}: ${x[b].label}`:y}),n(ae,{id:b,type:r,required:L,items:P,label:y,selected:(g=x[b])==null?void 0:g.value})]},`swatch-item-${b}`)})})},at=({children:e,scale:o=2,closeButton:m=!0})=>{const[p,i]=G(!1),[w,u]=G("pdp-zoom"),[f,l]=G(!1),[K,c]=G({x:0,y:0}),[v,z]=G({x:0,y:0}),[x,U]=G({x:0,y:0}),Q=s=>{!p||s.type!=="touchstart"||(c({x:s.touches[0].clientX,y:s.touches[0].clientY}),z({x:x.x,y:x.y}),l(!0))},le=s=>{var re;if(!f||s.type!=="touchmove")return;const t=(re=s.currentTarget)==null?void 0:re.getBoundingClientRect(),W=(100-100/o)/2,O=s.touches[0].clientX-K.x,D=s.touches[0].clientY-K.y,ce=O*100/(t.width*o),Z=D*100/(t.height*o),R=v.x+ce,se=v.y+Z;U({x:Math.max(-W,Math.min(R,W))||0,y:Math.max(-W,Math.min(se,W))||0}),s.preventDefault()},ae=s=>{var Z;const t=(Z=s.currentTarget)==null?void 0:Z.getBoundingClientRect(),W=(100-100/o)/2;let O;if("touches"in s)O=s.touches[0];else if(s instanceof MouseEvent)O=s;else return;const D=W-(O.clientX-t.left)/t.width*100,ce=W-(O.clientY-t.top)/t.height*100;U({x:Math.max(-W,Math.min(D,W))||0,y:Math.max(-W,Math.min(ce,W))||0})},r=s=>{if(!f){if(p){if(m&&"touches"in s){Q(s);return}m||i(!1)}else i(!0),ae(s);s.preventDefault()}},y=s=>{if(m&&"touches"in s){le(s);return}p&&ae(s)},b=()=>{if(m){l(!1);return}i(!1)},N=s=>{i(!1),s.stopPropagation()},L=p?`scale(${o}) translateX(${x.x}%) translateY(${x.y}%)`:"none",P=Y("PDP.Zoom.Close.label").label,g=Ye(ue.only(e),{draggable:!1,style:{"--transform":L}});return ne(()=>{u(p?`pdp-zoom ${m?"pdp-zoom--no-effects":"pdp-zoom--zoomed"}`:"pdp-zoom")},[p,m]),X("figure",{className:w,onClick:r,onMouseMove:y,onMouseLeave:b,onTouchStart:r,onTouchMove:y,onTouchEnd:b,children:[g,m&&p&&n(Pe,{"aria-label":P,variant:"tertiary",className:"pdp-zoom__close-button",icon:n(Ve,{}),onClick:N})]})};function ct(e,o="en_US"){if(!Ue(e))throw Error("Invalid date string");return e.split(" ")[1]||(e=`${e} 00:00:00`),new Date(e).toLocaleDateString(Me(o)).toString()}function Ue(e){if(![/^\d{4}-\d{2}-\d{2}$/,/^\d{1,2}\/\d{1,2}\/\d{4}$/,/^\d{2}\/\d{2}\/\d{4}$/,/^\d{4}\/\d{2}\/\d{2}$/,/^\d{1,2}\.\d{1,2}\.\d{4}$/,/^\d{4}-\d{2}-\d{2} \d{2}:\d{2}:\d{2}$/].some(p=>p.test(e)))return!1;const m=new Date(e);return!isNaN(m.getTime())}function ot(e){const o=new URLSearchParams(window.location.search);Object.entries(e).forEach(([p,i])=>{i===null?o.delete(p):o.set(p,String(i))});let m=window.location.pathname;m+=`?${o.toString()}`,m+=window.location.hash,window.history.replaceState({},"",m)}function it(){const e=new URLSearchParams(window.location.search),o={};return e.forEach((m,p)=>{o[p]=m}),o}function st(e){var o,m,p,i,w,u,f,l,K,c,v,z;return{productId:Number(e==null?void 0:e.externalId),name:e==null?void 0:e.name,sku:(e==null?void 0:e.variantSku)||(e==null?void 0:e.sku),topLevelSku:e==null?void 0:e.sku,specialToDate:void 0,specialFromDate:void 0,newToDate:void 0,newFromDate:void 0,createdAt:void 0,updatedAt:void 0,manufacturer:void 0,countryOfManufacture:void 0,categories:void 0,productType:void 0,pricing:{regularPrice:((m=(o=e==null?void 0:e.prices)==null?void 0:o.regular)==null?void 0:m.amount)||0,minimalPrice:(i=(p=e==null?void 0:e.prices)==null?void 0:p.final)==null?void 0:i.minimumAmount,maximalPrice:(u=(w=e==null?void 0:e.prices)==null?void 0:w.final)==null?void 0:u.maximumAmount,specialPrice:(l=(f=e==null?void 0:e.prices)==null?void 0:f.final)==null?void 0:l.amount,tierPricing:void 0,currencyCode:((c=(K=e==null?void 0:e.prices)==null?void 0:K.final)==null?void 0:c.currency)||"USD"},canonicalUrl:e==null?void 0:e.url,mainImageUrl:(z=(v=e==null?void 0:e.images)==null?void 0:v[0])==null?void 0:z.url}}const dt={PRODUCT_CONTEXT:"productContext"},ht={PRODUCT_PAGE_VIEW:"product-page-view"};function He(){return window.adobeDataLayer=window.adobeDataLayer||[],window.adobeDataLayer}function ut(e,o){const m=He();m.push({[e]:null}),m.push({[e]:o})}function pt(e,o){He().push(p=>{const i=p.getState?p.getState():{};p.push({event:e,eventInfo:{...i,...o}})})}function Re(e){const o=st(e);ut(dt.PRODUCT_CONTEXT,o),pt(ht.PRODUCT_PAGE_VIEW)}const mt=({sku:e,hideSku:o,hideQuantity:m,hideShortDescription:p,hideDescription:i,hideAttributes:w,hideURLParams:u,hideSelectedOptionValue:f,slots:l,children:K,initialData:c,carousel:v,optionsConfig:z,useACDL:x,onAddToCart:U,zoomType:Q,closeButton:le=!0,disableDropdownPreselection:ae,...r})=>{var C,V,pe,me;const y=Y("PDP.Product.AddToCart.label").label,b=Y("PDP.Product.Incrementer.label").label,N=Y("PDP.Product.Details.label").label,[L,P]=G(We.getConfig().defaultLocale||"en-US"),[g,s]=G(),[t=null,W]=G(c),[O,D]=G(()=>{const d={sku:e,quantity:1};return t!=null&&t.optionUIDs&&(d.optionsUIDs=t.optionUIDs),d}),[ce,Z]=G(()=>{var d,_;return!(t!=null&&t.options&&((d=t==null?void 0:t.options)==null?void 0:d.length)>0&&((_=t==null?void 0:t.optionUIDs)==null?void 0:_.length)!==(t==null?void 0:t.options.length))}),R={data:t,values:O,valid:ce};function se(d){return d==null?void 0:d.some(_=>(_==null?void 0:_.typename)==="ProductViewOptionValueProduct")}ne(()=>{const d=ke.on("pdp/setValues",_=>{D(S=>({...S,..._}))});return()=>{d==null||d.off()}},[]),ne(()=>{const d=ke.on("locale",_=>{_!==L&&(P(_),Te(e).then(W))});return()=>{d==null||d.off()}},[L,e]),ne(()=>{x&&c&&Object.keys(c).length>0&&Re(c)},[c]);const re=ie(d=>{D(_=>({..._,...d}))},[]);ne(()=>{ke.emit("pdp/values",O)},[JSON.stringify(O)]);const be=ie(d=>{var T,q;let _=Object.keys(d).map($=>d[$].value).filter($=>$!==void 0);!u&&(t!=null&&t.options)&&!se(t.options)&&ot({optionsUIDs:_.join(",")}),re({optionsUIDs:_}),Z((_==null?void 0:_.length)===((T=t==null?void 0:t.options)==null?void 0:T.length));const S=(q=t==null?void 0:t.options)==null?void 0:q.some($=>se([$]));Be(e,_,z==null?void 0:z.anchorOptions,S).then($=>{var a;W($),(a=z==null?void 0:z.anchorOptions)!=null&&a.length&&_e($,_),x&&($==null?void 0:$.variantSku)!==e&&Re($)})},[e]),_e=ie((d,_)=>{var q;const S=(d==null?void 0:d.optionUIDs)??[];_.every($=>S.includes($))||(s(d==null?void 0:d.options),re({optionsUIDs:S}),Z((S==null?void 0:S.length)===((q=d==null?void 0:d.options)==null?void 0:q.length)))},[e]),H=ie(d=>{Object.keys(d).length!==0&&Z(!1)},[]),J=Ne(()=>{var d;return(d=t==null?void 0:t.attributes)==null?void 0:d.map(({label:_,value:S},T)=>{const q=Ue(S)?ct(S,L):S.toString();return X("li",{children:[_,": ",n("span",{dangerouslySetInnerHTML:{__html:q}})]},T)})},[t==null?void 0:t.attributes,L]),de=!m&&(t!=null&&t.inStock)?n(ee,{name:"Quantity",slot:l==null?void 0:l.Quantity,context:{...R},children:n(Ge,{name:"quantity",defaultValue:O.quantity.toString(),value:O.quantity.toString(),min:1,"aria-label":b,className:"pdp-product__quantity",onValue:d=>{re({quantity:Number(d)})}},"quantity")}):void 0,k=()=>{if(t!=null&&t.options)return n(ee,{name:"Options",slot:l==null?void 0:l.Options,context:{...R},children:n(lt,{selectedUIDs:O.optionsUIDs,options:t.options,defaultOptions:O.optionsUIDs,selectionsToUpdate:g,hideSelectedValue:f,disablePreselections:ae,onValues:be,onErrors:H})})};return n("div",{...r,children:n(Je,{title:n(ee,{name:"Title",slot:l==null?void 0:l.Title,context:{...R},children:t==null?void 0:t.name}),sku:o?void 0:n(ee,{name:"SKU",slot:l==null?void 0:l.SKU,context:{...R},children:t==null?void 0:t.sku}),options:k(),breadcrumbs:(l==null?void 0:l.Breadcrumbs)&&n(ee,{name:"Breadcrumbs",slot:l==null?void 0:l.Breadcrumbs,context:{...R,setSeparator(d){this._registerMethod((..._)=>{const S=d(..._),T=S&&n(Se,{source:S});this._setProps(q=>({...q,separator:T,children:[n(De,{separator:T,categories:q.categories})]}))})},appendLink(d){this._registerMethod((..._)=>{const{text:S,...T}=d(..._),q=n("a",{...T,children:S});this._setProps($=>{const a=[...$.categories||[],q];return{...$,categories:a,children:[n(De,{separator:$.separator,categories:a})]}})})},appendHTMLElement(d){this._registerMethod((..._)=>{const S=d(..._),T=this._htmlElementToVNode(S);this._setProps(q=>{const $=[...q.categories||[],T];return{...q,categories:$,children:[n(De,{separator:q.separator,categories:$})]}})})}}}),quantity:de,actions:n(ee,{name:"Actions",slot:l==null?void 0:l.Actions,context:{...R,appendButton(d){this._registerMethod((..._)=>{const S=d(..._);if(!S)return;const{text:T,icon:q,...$}=S,a=n(Pe,{type:"button",...$,icon:q&&n(Se,{source:q}),children:T});this._setProps(h=>({children:[...h.children||[],a]}))})}},children:!(l!=null&&l.Actions)&&n(Pe,{size:"medium",type:"submit",icon:n(Se,{source:"Cart"}),disabled:!(t!=null&&t.inStock)||!ce,"aria-label":y,onClick:()=>U==null?void 0:U(O),children:y})}),shortDescription:p?void 0:n(ee,{name:"ShortDescription",slot:l==null?void 0:l.ShortDescription,context:{...R},children:n("div",{dangerouslySetInnerHTML:{__html:(t==null?void 0:t.shortDescription)??""}})}),description:i?void 0:n(ee,{name:"Description",slot:l==null?void 0:l.Description,context:{...R},children:n("div",{dangerouslySetInnerHTML:{__html:(t==null?void 0:t.description)??""}})}),images:((C=t==null?void 0:t.images)==null?void 0:C.map(({label:d,url:_})=>{var S,T;return n(Oe,{title:d,alt:d,src:_,width:((S=v==null?void 0:v.imageParams)==null?void 0:S.width)??960,height:((T=v==null?void 0:v.imageParams)==null?void 0:T.height)??1191,params:(v==null?void 0:v.imageParams)??{width:960}},_)}))??[],specialPrice:(V=t==null?void 0:t.prices)!=null&&V.visible?n(ee,{name:"SpecialPrice",slot:l==null?void 0:l.SpecialPrice,context:{...R},children:n(Ie,{...t.prices.final,locale:Me(L)})}):void 0,price:(pe=t==null?void 0:t.prices)!=null&&pe.visible&&t.prices.regular&&t.prices.final.amount!==(t==null?void 0:t.prices.regular.amount)?n(ee,{name:"RegularPrice",slot:l==null?void 0:l.RegularPrice,context:{...R},children:n(Ie,{...t.prices.regular,locale:Me(L)})}):void 0,zoomType:Q,closeButton:le,carouselConfig:{...v,thumbnails:v&&Object.keys(v).length?((me=t==null?void 0:t.images)==null?void 0:me.map(({label:d,url:_})=>{var S,T;return n(Oe,{title:d,alt:d,src:_,width:((S=v==null?void 0:v.thumbnailParams)==null?void 0:S.width)??200,height:((T=v==null?void 0:v.thumbnailParams)==null?void 0:T.height)??248,params:(v==null?void 0:v.thumbnailParams)??{width:200}},_)}))??[]:[]},outOfStock:!(t!=null&&t.inStock),attributes:w?void 0:n(ee,{name:"Attributes",slot:l==null?void 0:l.Attributes,context:{...R},children:J!=null&&J.length?X(Ae,{children:[N,n("ul",{children:J})]}):null}),galleryContent:(l==null?void 0:l.GalleryContent)&&n(ee,{name:"GalleryContent",slot:l.GalleryContent,context:{...R}}),infoContent:(l==null?void 0:l.InfoContent)&&n(ee,{name:"InfoContent",slot:l.InfoContent,context:{...R}}),productContent:(l==null?void 0:l.Content)&&n(ee,{name:"Content",slot:l.Content,context:{...R}})})})};mt.getInitialData=async function({sku:e,optionsConfig:o}){var f,l,K,c,v,z,x;function m(U){return U.some(Q=>Q.__typename==="ProductViewOptionValueProduct")}let p;const i=We.getConfig(),w=((f=it().optionsUIDs)==null?void 0:f.split(","))||((c=(K=(l=i==null?void 0:i.models)==null?void 0:l.ProductDetails)==null?void 0:K.initialData)==null?void 0:c.optionsUIDs),u=(z=(v=i==null?void 0:i.models)==null?void 0:v.ProductDetails)==null?void 0:z.initialData;return u&&Object.keys(u).length>0&&(p=(x=u.options)==null?void 0:x.some(U=>m(U==null?void 0:U.values))),w!=null&&w.length?await Be(e,w,o==null?void 0:o.anchorOptions,p):await Te(e)};export{mt as ProductDetails,mt as default};
|
package/i18n/en_US.json.d.ts
CHANGED
package/package.json
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"name": "@dropins/storefront-pdp", "version": "0.5.0-
|
|
1
|
+
{"name": "@dropins/storefront-pdp", "version": "0.5.0-beta1", "@dropins/tools": "0.33.0"}
|
package/render.js
CHANGED
|
@@ -1,2 +1,2 @@
|
|
|
1
1
|
(function(p,t){try{if(typeof document<"u"){const r=document.createElement("style"),e=t.styleId;for(const a in t.attributes)r.setAttribute(a,t.attributes[a]);r.setAttribute("data-dropin",e),r.appendChild(document.createTextNode(p));const o=document.querySelector('style[data-dropin="sdk"]');if(o)o.after(r);else{const a=document.querySelector('link[rel="stylesheet"], style');a?a.before(r):document.head.append(r)}}}catch(r){console.error("dropin-styles (injectCodeFunction)",r)}})(".pdp-carousel{--icon-size: 32px;--icon-extra-padding: 8px;--thumb-peak: 32px;--thumbnails-col-width: 18.6%;position:relative;display:flex;flex-direction:var(--flex-carousel);align-items:center;gap:var(--gap);width:var(--width)}.pdp-carousel .dropin-button--tertiary--disabled:hover{color:var(--color-neutral-500)}.pdp-carousel--thumbnailsColumn{justify-content:flex-end;align-items:start}.pdp-carousel--thumbnailsRow{align-items:center}.pdp-carousel--arrows{padding-left:calc(var(--icon-size) + var(--icon-extra-padding));padding-right:calc(var(--icon-size) + var(--icon-extra-padding));width:calc(var(--width) - 2 * var(--icon-size) - 2 * var(--icon-extra-padding))}.pdp-carousel__button{position:absolute;top:50%;transform:translateY(-50%);padding:0}.pdp-carousel__button--prev{left:0}[dir=rtl] .pdp-carousel__button--prev{left:auto;right:0}[dir=rtl] .pdp-carousel__button--next{right:auto;left:0}.pdp-carousel__button__icon--next{transform:rotate(-90deg)}.pdp-carousel__button--next{right:0}.pdp-carousel__button__icon--prev{transform:rotate(90deg)}[dir=rtl] .pdp-carousel__button__icon--prev{transform:rotate(-90deg)}[dir=rtl] .pdp-carousel__button__icon--next{transform:rotate(90deg)}.pdp-carousel--main-image-controls.pdp-carousel--thumbnailsColumn .pdp-carousel__button--prev{left:var(--thumbnails-col-width)}.pdp-carousel--main-image-controls.pdp-carousel--thumbnailsRow .pdp-carousel__button--prev,.pdp-carousel--main-image-controls.pdp-carousel--thumbnailsRow .pdp-carousel__button--next{top:calc(var(--height) / 2)}.pdp-carousel__button--thumbnailsColumn{margin:auto;padding:0}.pdp-carousel__button--thumbnailsRow{padding:0}.pdp-carousel__button__icon--thumbnailsColumn--prev{transform:rotate(180deg)}.pdp-carousel__button__icon--thumbnailsRow--prev{transform:rotate(90deg)}[dir=rtl] .pdp-carousel__button__icon--thumbnailsRow--prev,.pdp-carousel__button__icon--thumbnailsRow--next{transform:rotate(-90deg)}[dir=rtl] .pdp-carousel__button__icon--thumbnailsRow--next{transform:rotate(90deg)}.pdp-carousel__wrapper{--peak: 0px;scroll-padding:var(--peak);width:var(--total-width);height:var(--height);display:flex;flex-wrap:nowrap;gap:var(--gap);-webkit-overflow-scrolling:touch}.pdp-carousel__wrapper--horizontal{overflow-x:auto;overflow-y:hidden;scroll-snap-type:x mandatory}.pdp-carousel__slide{display:grid;grid-gap:var(--gap);grid-auto-columns:1fr;grid-auto-rows:100%;scroll-snap-align:end;scroll-snap-stop:always;flex-shrink:0}.pdp-carousel__slide--horizontal{grid-auto-flow:column;width:calc(100% - var(--peak))}.pdp-carousel__slide--horizontal.pdp-carousel__slide--orphan{width:calc((100% / var(--per-page) * var(--length)) - var(--peak) / var(--per-page) * var(--length) - var(--gap) / var(--per-page) * (var(--per-page) - var(--length)))}.pdp-carousel__slide>*{vertical-align:middle;max-width:100%;max-height:100%}.pdp-carousel__slide>img{object-fit:contain;width:100%;height:100%}.pdp-carousel__wrapper--peak{--peak: calc(var(--spacing-medium) + var(--gap))}.pdp-carousel__wrapper--scrollbar{--scroll-foreground: var(--color-neutral-600);--scroll-background: var(--color-neutral-400);scrollbar-color:var(--scroll-foreground) var(--scroll-background);scrollbar-width:thin}.pdp-carousel__wrapper:not(.pdp-carousel__wrapper--scrollbar){scrollbar-width:none}.pdp-carousel__wrapper:not(.pdp-carousel__wrapper--scrollbar)::-webkit-scrollbar{display:none}.pdp-carousel__wrapper--scrollbar::-webkit-scrollbar{width:4px;height:4px}.pdp-carousel__wrapper--scrollbar::-webkit-scrollbar-thumb{background:var(--scroll-foreground)}.pdp-carousel__wrapper--scrollbar::-webkit-scrollbar-track{background:var(--scroll-background)}.pdp-carousel__controls__container--thumbnailsRow{--thumbnails-spacing: var(--spacing-small);--thumbnails-box-width: var(--spacing-xxsmall);--thumbnails-rest: calc(var(--thumbnails-spacing) - var(--thumbnails-box-width));--thumbnails-width: calc((var(--width) - 2 * var(--icon-size) - 4 * var(--thumbnails-spacing) - var(--thumb-peak) - 2 * var(--thumbnails-box-width)) / 4);margin-top:var(--thumbnails-rest);width:var(--width);display:flex}.pdp-carousel__controls__container--thumbnailsColumn{--thumbnails-spacing: var(--spacing-small);--thumbnails-box-width: var(--spacing-xxsmall);--thumbnails-rest: calc(var(--thumbnails-spacing) - var(--thumbnails-box-width));--thumbnails-width: 100%;margin-right:var(--thumbnails-rest);width:calc(var(--thumbnails-col-width) - var(--thumbnails-rest))}.pdp-carousel__controls__container--thumbnailsColumn:not(.pdp-carousel__controls__container--no-arrows){height:calc(max(var(--height),4 * var(--thumbnails-spacing)) - 4 * var(--thumbnails-spacing))}.pdp-carousel__controls__container--thumbnailsColumn.pdp-carousel__controls__container--no-arrows{height:var(--height)}.pdp-carousel__controls__wrapper--thumbnailsColumn{max-height:100%;overflow-y:scroll}.pdp-carousel__controls__wrapper--thumbnailsRow{max-width:100%;overflow-x:scroll}.pdp-carousel__controls--thumbnailsRow>label>span:nth-last-child(1){margin-left:0;margin-right:var(--thumbnails-box-width)}[dir=rtl] .pdp-carousel__controls--thumbnailsRow>label>span:nth-last-child(1){margin-left:var(--thumbnails-box-width);margin-right:0}.pdp-carousel__controls__wrapper::-webkit-scrollbar{display:none}.pdp-carousel__controls__wrapper{-ms-overflow-style:none;scrollbar-width:none}.pdp-carousel__controls{display:flex;flex-direction:row;gap:var(--spacing-xsmall)}.pdp-carousel__controls--thumbnailsColumn{display:grid;grid-template-columns:repeat(1,1fr);grid-auto-rows:1fr;grid-row-gap:var(--thumbnails-spacing);padding:var(--thumbnails-box-width)}.pdp-carousel__controls--thumbnailsRow{grid-column-gap:var(--thumbnails-spacing);padding:var(--thumbnails-box-width)}.pdp-carousel__controls__button{border-radius:50%;width:10px;height:10px;padding:0;border:none;background:var(--color-neutral-400);cursor:pointer}.pdp-carousel__controls__button:hover{background:var(--color-neutral-500)}.pdp-carousel__controls__button:active,.pdp-carousel__controls__button--active{background:var(--color-neutral-600)}.pdp-carousel__slide--last{width:100%}.pdp-carousel__thumbnail__container input[type=radio]{opacity:0;position:absolute;width:0;height:0}.pdp-carousel__thumbnail__container .pdp-carousel__thumbnail__span{--bg-color: var(--color-neutral-300);display:inline-block;box-shadow:0 0 0 var(--shape-border-width-1) var(--color-neutral-400);position:relative;cursor:pointer;background-color:var(--bg-color);background-image:var(--background-image);background-repeat:no-repeat;background-size:cover;height:100%;width:100%;overflow:hidden}.pdp-carousel__thumbnail__content{width:inherit;position:absolute;top:-9999px;bottom:-9999px;left:-9999px;right:-9999px;margin:auto;overflow:hidden}.pdp-carousel__thumbnail__span:hover{box-shadow:0 0 0 var(--shape-border-width-3) var(--color-neutral-50),0 0 0 var(--shape-border-width-4) var(--color-neutral-500);outline:none}.pdp-carousel__controls__wrapper--thumbnailsRow .pdp-carousel__thumbnail__container{min-width:100px}.pdp-carousel__thumbnail__container input[type=radio]:not(:checked):active~.pdp-carousel-thumbnail__span{box-shadow:0 0 0 var(--shape-border-width-1) var(--color-neutral-500);outline:none}.pdp-carousel__thumbnail__container input[type=radio]:checked~.pdp-carousel__thumbnail__span,.pdp-carousel__thumbnail--selected{box-shadow:0 0 0 var(--shape-border-width-3) var(--color-neutral-50),0 0 0 var(--shape-border-width-4) var(--color-neutral-800)}.pdp-carousel__thumbnail__container input[type=radio]:checked:active~.pdp-carousel__thumbnail__span{box-shadow:0 0 0 var(--shape-border-width-3) var(--color-neutral-50),0 0 0 var(--shape-border-width-4) var(--color-neutral-600)}.pdp-carousel__thumbnail__container input[type=radio]:focus-visible+.pdp-carousel__thumbnail__span{box-shadow:0 0 0 var(--shape-border-width-3) var(--color-neutral-900),0 0 0 6px var(--color-neutral-400)}.pdp-carousel__thumbnail__span>img{object-fit:cover;width:100%;height:100%}.pdp-product{display:grid;grid-template-columns:repeat(var(--grid-1-columns),1fr);grid-column-gap:var(--grid-1-gutters);margin:0 var(--grid-1-margins)}.pdp-product__gallery-column{display:none}.pdp-product__content-column{grid-column:1 / span 4;color:var(--color-neutral-800)}.pdp-product__header{display:grid;grid-auto-rows:max-content;margin-bottom:var(--spacing-medium)}.pdp-product__breadcrumbs{grid-column:1 / -1;padding:var(--spacing-medium) 0 var(--spacing-xxbig)}.pdp-product__title{font:var(--type-display-3-font);letter-spacing:var(--type-display-3-letter-spacing);margin:0}.pdp-product__sku{font:var(--type-body-1-default-font);max-width:600px}.pdp-product__prices{display:flex;gap:var(--spacing-xsmall);margin-top:var(--spacing-medium)}.pdp-product__out-of-stock__text{font:var(--type-headline-2-strong-font)}.pdp-product__options{grid-column:1 / span 4}.pdp-product__price,.pdp-product__price-special{font:var(--type-headline-2-strong-font)}.pdp-product__price,.pdp-product__sku,.pdp-product__price-special,.pdp-product__out-of-stock__text{letter-spacing:var(--type-headline-2-strong-letter-spacing)}.pdp-product__price--grey{color:var(--color-neutral-500)}.pdp-product__actions,.pdp-product__actions--out-of-stock{display:grid;grid-auto-flow:row;gap:var(--grid-1-gutters);grid-auto-rows:max-content;margin-bottom:var(--spacing-xxbig);margin-top:var(--spacing-big)}.pdp-product__short_description,.pdp-product__attributes{font:var(--type-body-1-strong-font);letter-spacing:var(--type-body-1-strong-letter-spacing);margin-bottom:var(--spacing-small)}.pdp-product__description,.pdp-product__attributes li{font:var(--type-body-1-default-font);letter-spacing:var(--type-body-1-default-letter-spacing)}.pdp-product__attributes{margin-top:var(--spacing-xsmall)}.pdp-product__short_description p,.pdp-product__description p,.pdp-product__attributes li p{margin:0}.pdp-product__short_description figure,.pdp-product__description figure{margin:0}.pdp-product__short_description img,.pdp-product__description img{max-width:100%}.pdp-product__images--carousel{max-height:60vh}.pdp-product__images--carousel--thumbnails{max-height:90vh}.pdp-product__images__placeholder{background-color:var(--color-neutral-200)}.pdp-product__buttons{display:grid;grid-auto-rows:max-content;grid-gap:var(--grid-1-gutters)}.pdp-product__buttons a{text-align:center}.pdp-product__buttons a:hover{text-decoration:none}.pdp-product__overlay .pdp-overlay__content{width:100%;height:100%}.pdp-product__overlay__carousel{width:100%;height:100%;box-sizing:border-box}.pdp-product__overlay__carousel img{width:100%;height:100%;object-fit:contain}.pdp-carousel__controls__container--thumbnailsRow img,.pdp-carousel__controls__container--thumbnailsColumn img{object-fit:cover}.pdp-product__quantity,.pdp-product__buttons{grid-column:1 / span 4}@media only screen and (min-width: 1024px){.pdp-product__breadcrumbs{grid-column:2 / -2}.pdp-product{grid-template-columns:repeat(var(--grid-3-columns),1fr);grid-column-gap:var(--grid-3-gutters);margin:0 var(--grid-3-margins);position:relative}.pdp-product__column-container{position:relative;display:flex;flex-direction:column}.pdp-product__column-body{position:sticky;bottom:30%;align-self:flex-end}.pdp-product__gallery-column{display:block;grid-column:2 / span 6}.pdp-product__content-column{grid-column:8 / span 4;padding-top:var(--spacing-medium)}.pdp-product__images--carousel{display:none}.pdp-product__header{margin-bottom:var(--spacing-small)}.pdp-product__actions{grid-template-columns:repeat(var(--grid-1-columns),1fr);grid-column-gap:var(--grid-1-gutters);grid-row-gap:var(--spacing-xxbig);margin-top:var(--spacing-xxbig)}.pdp-product__quantity{grid-column:1 / span 2}.pdp-product__actions--out-of-stock{grid-template-columns:repeat(var(--grid-1-columns),1fr);grid-column-gap:var(--grid-1-gutters);grid-row-gap:var(--spacing-xxbig);margin-top:var(--spacing-small)}.pdp-product__buttons{grid-column:1 / span 4}.pdp-product__out-of-stock__text{grid-column:1 / span 2}.pdp-product__gallery-content,.pdp-product__content{grid-column:2 / span 6}}.pdp-gallery-grid{display:grid;grid-gap:var(--gap);grid-template-columns:repeat(1,1fr);grid-auto-rows:max-content}.pdp-gallery-grid__item>*{height:100%;max-width:100%;min-width:100%;vertical-align:middle;width:100%;object-fit:contain}.pdp-gallery-grid__item:only-child{grid-column:1 / span 2}.pdp-gallery-grid__item:first-child:nth-last-child(2){grid-column:1 / span 2;grid-row:1}.pdp-gallery-grid__item:nth-child(2):last-child{grid-column:1 / 3;grid-row:2}@media only screen and (min-width: 1024px){.pdp-gallery-grid{grid-template-columns:repeat(2,1fr)}}.pdp-price-range .dropin-price{letter-spacing:var(--type-headline-2-strong-letter-spacing);font:var(--type-headline-2-strong-font)}.pdp-price-range__label{font:var(--type-headline-2-strong-font);letter-spacing:var(--type-body-1-strong-letter-spacing);margin-left:5px;margin-right:5px}.pdp-overlay{position:fixed;top:0;left:0;z-index:1000;right:0;bottom:0;background-color:var(--color-neutral-50);display:flex;padding:var(--spacing-medium)}.pdp-overlay--centered{align-items:center;justify-content:center}.pdp-overlay__close-button{position:absolute;top:var(--spacing-medium);right:var(--spacing-medium);z-index:1001}.pdp-swatches{display:grid;grid-auto-flow:row;grid-gap:var(--grid-1-gutters);grid-auto-rows:max-content}.pdp-swatches__field{display:grid;font:var(--type-body-2-strong-font);grid-auto-rows:max-content;gap:var(--spacing-xsmall)}.pdp-swatches__field__label{font:var(--type-details-caption-1-font);letter-spacing:var(--type-details-caption-1-letter-spacing);color:var(--color-neutral-800)}.pdp-swatches__options{display:flex;flex-wrap:wrap;gap:var(--spacing-xsmall)}.pdp-zoom{cursor:zoom-in;overflow:hidden;margin:0;position:relative}.pdp-zoom img{height:100%;max-width:100%;min-width:100%;object-fit:contain;position:relative;transition:transform .2s;transform:var(--transform);vertical-align:middle;width:100%}.pdp-zoom .pdp-zoom__close-button{background-color:var(--color-neutral-50);border-radius:50%;position:absolute;right:var(--spacing-small);top:var(--spacing-small)}.pdp-zoom.pdp-zoom--zoomed{cursor:zoom-out}.pdp-zoom.pdp-zoom--no-effects{cursor:default}@media only screen and (max-width: 768px){.pdp-zoom img{display:block;width:100%;height:100%;transition:transform .2s;transform:var(--transform)}}",{styleId:"PDP"});
|
|
2
|
-
import{jsx as r}from"@dropins/tools/preact-jsx-runtime.js";import{deepmerge as c,Render as u}from"@dropins/tools/lib.js";import{useState as f,useEffect as m}from"@dropins/tools/preact-hooks.js";import{UIProvider as b}from"@dropins/tools/components.js";import{events as d}from"@dropins/tools/event-bus.js";import{c as g}from"./chunks/initialize.js";const C={Product:{Incrementer:{label:"Item Quantity"},OutOfStock:{label:"Out of Stock"},AddToCart:{label:"Add to Cart"},Details:{label:"Details"},RegularPrice:{label:"Regular Price"},SpecialPrice:{label:"Special Price"},PriceRange:{From:{label:"From"},To:{label:"to"}},Image:{label:"{product} Image {key} of {total}"}},Swatches:{Required:{label:"Required"}},Carousel:{label:"Carousel",Next:{label:"Next"},Previous:{label:"Previous"},Slide:{label:"Slide"},Controls:{label:"Carousel Controls",Button:{label:"Show slide {key} of {total}"}}},Overlay:{Close:{label:"Close"}},Zoom:{Close:{label:"Close"}}},P={quantityLabel:"Quantity"},p={PDP:C,Custom:P},S={default:p},D=({children:a})=>{var l;const[e,i]=f(),n=(l=g.getConfig())==null?void 0:l.langDefinitions;m(()=>{const o=d.on("locale",t=>{t!==e&&i(t)},{eager:!0});return()=>{o==null||o.off()}},[e]);const s=c(S,n??{});return r(b,{lang:e,langDefinitions:s,children:a})},
|
|
2
|
+
import{jsx as r}from"@dropins/tools/preact-jsx-runtime.js";import{deepmerge as c,Render as u}from"@dropins/tools/lib.js";import{useState as f,useEffect as m}from"@dropins/tools/preact-hooks.js";import{UIProvider as b}from"@dropins/tools/components.js";import{events as d}from"@dropins/tools/event-bus.js";import{c as g}from"./chunks/initialize.js";const C={Product:{Incrementer:{label:"Item Quantity"},OutOfStock:{label:"Out of Stock"},AddToCart:{label:"Add to Cart"},Details:{label:"Details"},RegularPrice:{label:"Regular Price"},SpecialPrice:{label:"Special Price"},PriceRange:{From:{label:"From"},To:{label:"to"}},Image:{label:"{product} Image {key} of {total}"}},Swatches:{Required:{label:"Required"},ChooseOption:{label:"Choose an option"}},Carousel:{label:"Carousel",Next:{label:"Next"},Previous:{label:"Previous"},Slide:{label:"Slide"},Controls:{label:"Carousel Controls",Button:{label:"Show slide {key} of {total}"}}},Overlay:{Close:{label:"Close"}},Zoom:{Close:{label:"Close"}}},P={quantityLabel:"Quantity"},p={PDP:C,Custom:P},S={default:p},D=({children:a})=>{var l;const[e,i]=f(),n=(l=g.getConfig())==null?void 0:l.langDefinitions;m(()=>{const o=d.on("locale",t=>{t!==e&&i(t)},{eager:!0});return()=>{o==null||o.off()}},[e]);const s=c(S,n??{});return r(b,{lang:e,langDefinitions:s,children:a})},k=new u(r(D,{}));export{k as render};
|