@dropins/storefront-pdp 1.0.0 → 1.0.1

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.
@@ -23,7 +23,7 @@ export declare const MOCK_DATA_BUNDLE: {
23
23
  title: string;
24
24
  required: boolean;
25
25
  multi: null;
26
- values: {
26
+ values: ({
27
27
  id: string;
28
28
  title: string;
29
29
  inStock: boolean;
@@ -53,7 +53,39 @@ export declare const MOCK_DATA_BUNDLE: {
53
53
  roles: string[];
54
54
  };
55
55
  };
56
- }[];
56
+ enabled?: undefined;
57
+ } | {
58
+ id: string;
59
+ title: string;
60
+ inStock: boolean;
61
+ __typename: string;
62
+ quantity: number;
63
+ isDefault: boolean;
64
+ enabled: boolean;
65
+ product: {
66
+ sku: string;
67
+ shortDescription: string;
68
+ metaDescription: string;
69
+ metaKeyword: string;
70
+ metaTitle: string;
71
+ name: string;
72
+ price: {
73
+ final: {
74
+ amount: {
75
+ value: number;
76
+ currency: string;
77
+ };
78
+ };
79
+ regular: {
80
+ amount: {
81
+ value: number;
82
+ currency: string;
83
+ };
84
+ };
85
+ roles: string[];
86
+ };
87
+ };
88
+ })[];
57
89
  }[];
58
90
  priceRange: {
59
91
  maximum: {
package/api.js CHANGED
@@ -1,3 +1,3 @@
1
- /*! Copyright 2024 Adobe
1
+ /*! Copyright 2025 Adobe
2
2
  All Rights Reserved. */
3
3
  import{c as s,f as i,h as d,g as c,d as g,e as n,i as u,k as f,r as h,s as p,a as l,b as P,j as m}from"./chunks/isProductConfigurationValid.js";import{g as F,s as G}from"./chunks/getProductConfigurationValues.js";import{g as V}from"./chunks/getFetchedProductData.js";import"@dropins/tools/lib.js";import"@dropins/tools/event-bus.js";import"@dropins/tools/fetch-graphql.js";export{s as config,i as fetchGraphQl,d as fetchProductData,c as getConfig,V as getFetchedProductData,F as getProductConfigurationValues,g as getProductData,n as getRefinedProduct,u as initialize,f as isProductConfigurationValid,h as removeFetchGraphQlHeader,p as setEndpoint,l as setFetchGraphQlHeader,P as setFetchGraphQlHeaders,m as setProductConfigurationValid,G as setProductConfigurationValues};
@@ -1,3 +1,3 @@
1
- /*! Copyright 2024 Adobe
1
+ /*! Copyright 2025 Adobe
2
2
  All Rights Reserved. */
3
3
  import{jsx as r,Fragment as h,jsxs as l}from"@dropins/tools/preact-jsx-runtime.js";/* empty css */import{Price as s}from"@dropins/tools/components.js";const o=({amount:e,currency:p,locale:d,variant:g,sale:t,minimumAmount:i,maximumAmount:n,className:a,...c})=>r(h,{children:e||i===n?r("div",{className:"pdp-price-range",...c,children:r(s,{amount:e||i,currency:p,locale:d,variant:g,sale:t,className:a})}):l("div",{className:"pdp-price-range",...c,children:[r(s,{amount:i,currency:p,locale:d,className:a}),r("span",{className:"pdp-price-range__label",children:"-"}),r(s,{amount:n,currency:p,locale:d,className:a})]})});export{o as P};
@@ -1,3 +1,3 @@
1
- /*! Copyright 2024 Adobe
1
+ /*! Copyright 2025 Adobe
2
2
  All Rights Reserved. */
3
3
  import{jsx as h,jsxs as J}from"@dropins/tools/preact-jsx-runtime.js";import{useState as M,useEffect as P,useMemo as R,useCallback as _}from"@dropins/tools/preact-compat.js";import{classes as N}from"@dropins/tools/lib.js";import{Picker as z,ColorSwatch as A,ImageSwatch as y,TextSwatch as B}from"@dropins/tools/components.js";/* empty css */import{useText as C}from"@dropins/tools/i18n.js";const D=["text","image","color","dropdown"],F=d=>d.map(s=>({...s,text:s.label,disabled:!s.inStock}));function G(d,s){return d.reduce((x,i)=>{const n=s==null?void 0:s.find(f=>f.items.find(w=>w.id===i));if(!n)return x;const b=n.items.find(f=>f.id===i);return{...x,[n.id]:{label:b.label,value:b.id}}},{})}const E=({options:d,hideSelectedValue:s,disablePreselections:x,selectedUIDs:i,onValues:n,onErrors:b,defaultOptions:f,selectionsToUpdate:w,className:L,children:H,...O})=>{const q=C("PDP.Swatches.Required.label").label,k=C("PDP.Swatches.ChooseOption.label").label,[S,m]=M(()=>d==null?void 0:d.reduce((r,e)=>{const{items:a}=e,t=a==null?void 0:a.find(c=>f==null?void 0:f.includes(c.id)),u=a==null?void 0:a.find(c=>c.selected);return t?{...r,[e.id]:{label:t.label,value:t.id}}:u?{...r,[e.id]:{label:u.label,value:u.id}}:r},{}));P(()=>{if(i){const l=G(i,d);if(JSON.stringify(l)===JSON.stringify(S))return;m(r=>{let e={...r,...l};return n==null||n(e),e})}},[i]),P(()=>{w==null||w.forEach(l=>{m(r=>{var t;const e=(t=l==null?void 0:l.items)==null?void 0:t.find(u=>u.selected);return e?{...r,[l.id]:{label:e==null?void 0:e.label,value:e==null?void 0:e.id}}:r})})},[w,m]),R(()=>{const l=d==null?void 0:d.reduce((r,e)=>{var t;let a=!1;return(t=e==null?void 0:e.items)==null||t.forEach(u=>{var v;((v=S[e.id])==null?void 0:v.value)===u.id&&(a=!0)}),e.required&&!a&&(r[e.id]=q),r},{});return b==null||b(l),l},[S]);const g=_((l,r,e)=>{m(a=>{let t={...a,...l&&{[l]:{label:r,value:e}}};return r===k&&delete t[l],n==null||n(t,e),t})},[n]),$=_((l,r)=>{var a;const e=((a=r.selectedOptions[0])==null?void 0:a.label)??"";g(l,e,r.value)},[g]),j=_(({items:l,id:r,required:e,type:a,selected:t,label:u})=>(l==null?void 0:l.length)>0&&h("div",{className:N(["pdp-swatches__options"]),children:(a==null?void 0:a.toLowerCase())==="dropdown"?h(z,{"aria-label":u,placeholder:x?k:void 0,handleSelect:c=>$(r,c.target),options:F(l),value:t}):l==null?void 0:l.map(c=>{const v={key:c.id,id:c.id,name:r,value:c.value,label:c.label,groupAriaLabel:u,selected:t===c.id,outOfStock:!c.inStock,required:e===null?!0:e,onValue:()=>{g(r,c.label,c.id)}};switch(a){case"text":return h(B,{...v,label:c.label});case"image":return h(y,{...v,src:c.value,alt:c.label});case"color":return h(A,{...v,size:"large",color:c.value});default:return console.warn(`Invalid swatch type ${a}`),null}})}),[k,g,$]);return h("div",{...O,className:N(["pdp-swatches",L]),children:d==null?void 0:d.map(({type:l,label:r,id:e,multiple:a,required:t,items:u})=>{var c;return D.includes(l)||console.warn(`Invalid swatch type ${l}`),a&&console.warn("Multiple selection swatches are not currently supported."),J("div",{id:`swatch-item-${e}`,"data-slot-key":`product-swatch--${e}`,className:"pdp-swatches__field",children:[h("div",{className:"pdp-swatches__field__label",children:S[e]?s?`${r}`:`${r}: ${S[e].label}`:r}),h(j,{id:e,type:l,required:t,items:u,label:r,selected:(c=S[e])==null?void 0:c.value})]},`swatch-item-${e}`)})})};export{E as S};
package/chunks/Zoom.js CHANGED
@@ -1,3 +1,3 @@
1
- /*! Copyright 2024 Adobe
1
+ /*! Copyright 2025 Adobe
2
2
  All Rights Reserved. */
3
3
  import{jsxs as z,jsx as L,Fragment as _e}from"@dropins/tools/preact-jsx-runtime.js";import*as I from"@dropins/tools/preact-compat.js";import{useState as k,Children as R,useRef as le,useMemo as be,useEffect as B,useCallback as V}from"@dropins/tools/preact-compat.js";import{debounce as ve,classes as M}from"@dropins/tools/lib.js";import{Button as he,Icon as Ne}from"@dropins/tools/components.js";/* empty css */import{useText as S}from"@dropins/tools/i18n.js";import{cloneElement as Ee}from"@dropins/tools/preact.js";const We=i=>I.createElement("svg",{width:24,height:24,viewBox:"0 0 24 24",fill:"none",xmlns:"http://www.w3.org/2000/svg",...i},I.createElement("path",{d:"M7.74512 9.87701L12.0001 14.132L16.2551 9.87701",stroke:"currentColor",strokeWidth:1.5,strokeLinecap:"square",strokeLinejoin:"round"})),Le=i=>I.createElement("svg",{width:24,height:24,viewBox:"0 0 24 24",fill:"none",xmlns:"http://www.w3.org/2000/svg",...i},I.createElement("path",{vectorEffect:"non-scaling-stroke",d:"M18.3599 5.64001L5.62988 18.37",stroke:"currentColor"}),I.createElement("path",{vectorEffect:"non-scaling-stroke",d:"M18.3599 18.37L5.62988 5.64001",stroke:"currentColor"})),ke=24,ye=16,H=2,De="32";var Ce=(i=>(i[i.small=16]="small",i[i.medium=24]="medium",i[i.large=64]="large",i))(Ce||{});const He=({show:i=1,scrollbar:y=!1,peak:v=!1,arrows:p=!1,controls:l="dots",arrowsOnMainImage:W=!1,loop:n=!1,gap:C=null,direction:P="horizontal",width:N="100%",height:X="100%",defaultIndex:D=0,className:ae,children:E,thumbnails:Y=null,isZoomed:J,...Q})=>{const G=S("PDP.Carousel.label").label,ee=S("PDP.Carousel.Slide.label").label,te=S("PDP.Carousel.Previous.label").label,re=S("PDP.Carousel.Next.label").label,ce=S("PDP.Carousel.Controls.label").label,oe=S("PDP.Carousel.Controls.Button.label").label,[d,ie]=k(()=>we(i)),r=Math.ceil(R.count(E)/d),h=v?ke:0,m=C?Ce[C]:0,x=R.count(E)%d,[a,O]=k(n?w()?D-1:D+1:D),$=le([]),[Z,ue]=k(0),[j,Me]=k(0),fe=be(()=>R.toArray(Y),[Y]),g=be(()=>{const e=R.toArray(E).reduce((t,s,o)=>o%d===0?[...t,[s]]:[...t.slice(0,-1),[...t[t.length-1],s]],[]);return!n||e.length===1?e:n&&R.count(E)%d===0?[e[r-1]].concat(e).concat([e[0],e[1]]):[R.toArray(E).slice(-d)].concat(e).concat([e[0],e[1]])},[E,d,r,n]),F=le(null),pe=le(null),_=l==="thumbnailsRow"||l==="thumbnailsColumn";B(()=>{const e=F.current;if(!e)return;const t=ve(()=>{ue(e.offsetWidth??0),Me(e.offsetHeight??0);const o=window.innerWidth,u=we(i,o);u!==d&&ie(u)},50),s=new ResizeObserver(t);return s.observe(e),()=>{s.unobserve(e)}},[d,i]);const K=V(e=>{const t=n?e-1:e,s=$==null?void 0:$.current[0],o=(s==null?void 0:s.offsetWidth)+ye,u=(s==null?void 0:s.offsetHeight)+ye,c=pe.current,T=l==="thumbnailsRow",ne=l==="thumbnailsColumn",A=T?c==null?void 0:c.offsetWidth:c==null?void 0:c.offsetHeight,f=T?o:u;(T||ne)&&A&&(f*(t+1)>A&&(c.style.scrollBehavior="smooth",T?c.scrollLeft=w()?c.scrollWidth-c.clientWidth-(t+H)*f:(t+H)*f:c.scrollTop=(t+H)*f),(w()&&(T?c.scrollLeft:c.scrollTop)<=-f*t||!w()&&(T?c.scrollLeft:c.scrollTop)>f*t)&&(c.style.scrollBehavior="smooth",T?c.scrollLeft=w()?-(t-H)*f:(t-H)*f:c.scrollTop=(t-H)*f))},[l,n]);B(()=>{K(a)},[a,K]);const b=V((e,t,s)=>{_&&K(e);const o=F.current,u=h?o.offsetWidth-h:o.offsetWidth-h+m;if(!Array.from(o.querySelectorAll("[data-index]")).filter(A=>{const f=Number(A.getAttribute("data-index"));return!isNaN(f)&&f>-1})[e])return;if(s){const A=e===0?r:0,f=u*(r+(x||d)/d);if(w()){if(o.scrollLeft<=0&&o.scrollLeft>-(u-5)){b(1,!0);return}if(o.scrollLeft<u-f&&o.scrollLeft>=-f){b(r,!0);return}o.style.scrollBehavior="auto",o.scrollLeft=A===0?0:-f,b(A===0?1:r,!0)}else{if(o.scrollLeft>=0&&o.scrollLeft<u-5){b(1,!0);return}if(o.scrollLeft>f-u&&o.scrollLeft<=f){b(r,!0);return}o.style.scrollBehavior="auto",o.scrollLeft=A===0?0:f,b(A===0?1:r,!0);return}}const ne=(o.offsetWidth-m)/d*g[e].length-h;o.style.scrollBehavior=t?"smooth":"auto",o.scrollLeft=w()?-(g[e].length===d?u*e:u*(e-1)-ne):g[e].length===d?u*e:u*(e-1)+ne},[m,r,h,d,x,g,K,l]),q=V(()=>{if(n){const t=a-1;b(t,!0,w()?a===r-1:a===1);return}const e=a<=0?0:a-1;b(e,!0)},[a,b,n]),U=V(()=>{const e=g.length-1;if(n){const s=a+1;b(s,!0,w()?a===0:a===r);return}const t=a>=e?e:a+1;b(t,!0)},[g.length,n,a,b,r]);B(()=>{const e=t=>{t.key==="ArrowLeft"&&(t.preventDefault(),w()?U():q()),t.key==="ArrowRight"&&(t.preventDefault(),w()?q():U())};return window.addEventListener("keydown",e),()=>{window.removeEventListener("keydown",e)}},[U,q]),B(()=>{b(n?D+1:D,!1)},[D,b,n]);const de=ve(()=>{const e=F.current,t=h?e.offsetWidth-h:e.offsetWidth-h+m,s=Math.abs(e.scrollLeft)/t,o=Math.abs(Math.round(s)-s<1?Math.round(s):Math.ceil(s));if(_&&K(o),n){const u=t*(r+(x||d)/d),c=w()?-e.scrollLeft:e.scrollLeft;if(Math.ceil(Math.abs(c))>=Math.ceil(u)-5){e.style.scrollBehavior="auto",e.scrollLeft=w()?-e.offsetWidth+(Math.ceil(c)-Math.ceil(u)-h):e.offsetWidth+(Math.ceil(c)-Math.ceil(u)-h);return}if(Math.abs(c)===0){e.style.scrollBehavior="auto",e.scrollLeft=w()?-(u-e.offsetWidth+h):u-e.offsetWidth+h;return}}a!==o&&O(o)},100);B(()=>{const e=F.current;return e==null||e.addEventListener("scroll",de),()=>{e==null||e.removeEventListener("scroll",de)}},[de]);const se=(e,t,s)=>L(he,{className:M([["pdp-carousel__button",!e],[`pdp-carousel__button--${t}`,!e],[`pdp-carousel__button--${l}`,e]]),style:{"--height":`${j}px`},variant:"tertiary","aria-label":t==="next"?re:te,onClick:s,disabled:n?!1:t==="next"?a>=g.length-1:a<1,children:L(Ne,{className:M([["pdp-carousel__button__icon",!e],[`pdp-carousel__button__icon--${t}`,!e],[`pdp-carousel__button__icon--${l}--${t}`,e]]),size:De,source:We})}),me=p&&g.length!=1&&se(_,"prev",q),ge=p&&g.length!=1&&se(_,"next",U),Pe=p&&g.length!=1&&se(!1,"prev",q),xe=p&&g.length!=1&&se(!1,"next",U);return z("div",{role:"region","aria-roledescription":G,className:M(["pdp-carousel",["pdp-carousel--main-image-controls",W],["pdp-carousel--arrows",p&&!_],[`pdp-carousel--${l}`,_],ae]),style:{"--flex-carousel":l==="thumbnailsColumn"?"row-reverse":"column","--gap":_?"0":"var(--spacing-small)","--width":N},...Q,children:[L("div",{ref:F,className:M(["pdp-carousel__wrapper",`pdp-carousel__wrapper--${P}`,["pdp-carousel__wrapper--scrollbar",y],["pdp-carousel__wrapper--peak",v]]),style:{"--total-width":l==="thumbnailsColumn"?"81.6%":"100%","--height":l==="thumbnailsColumn"?"auto":X,"--gap":C?`var(--spacing-${C})`:"0px","--per-page":d},tabIndex:0,children:g.map((e,t)=>{const s=e.length<d;return L("div",{role:"group","aria-roledescription":ee,"data-index":t,className:M(["pdp-carousel__slide",`pdp-carousel__slide--${P}`,["pdp-carousel__slide--active",a===t],["pdp-carousel__slide--orphan",s]]),style:{"--length":e.length},children:e},t)})}),!_&&z(_e,{children:[me,ge]}),_&&W&&z(_e,{children:[Pe,xe]}),l&&g.length!=1&&z("div",{className:M([[`pdp-carousel__controls__container--${l}`,_],["pdp-carousel__controls__container--no-arrows",!p||W]]),style:{"--width":l==="thumbnailsRow"?`${Z}px`:N,"--height":`${j}px`,"--nr-thumbnails":fe.length},children:[(_||J)&&!W&&me,L("div",{ref:pe,className:M([[`pdp-carousel__controls__wrapper--${l}`,_],["pdp-carousel__controls__wrapper",_]]),children:L("div",{role:"group","aria-label":ce,className:M(["pdp-carousel__controls",[`pdp-carousel__controls--${l}`,_]]),children:(n?g.slice(0,r):g).map((e,t)=>{const s=n?r:g.length,o=n?a-1===t:a===t;return _?z("label",{className:M(["pdp-carousel__thumbnail__container"]),ref:u=>{u&&($.current[t]=u)},children:[L("input",{type:"radio",name:"carousel-thumbnails","aria-label":oe.replace("{key}",String(t+1)).replace("{total}",String(s)),checked:o&&Z!==0,onChange:()=>{b(n?t+1:t,!0)},...Q,className:M(["pdp-carousel__thumbnail",["pdp-carousel__thumbnail--selected",o&&Z!==0]])}),L("span",{className:M(["pdp-carousel__thumbnail__span"]),children:fe[t]})]},t):L("button",{"aria-label":oe.replace("{key}",String(t+1)).replace("{total}",String(s)),onClick:()=>{b(n?t+1:t,!0)},className:M(["pdp-carousel__controls__button",["pdp-carousel__controls__button--active",o]])},t)})})}),(_||J)&&!W&&ge]})]})};function we(i,y=0){if(typeof i=="number")return i;const{small:v,medium:p,large:l}=i,n=[{breakpoint:1024,value:l},{breakpoint:786,value:p},{breakpoint:0,value:v}].find(({breakpoint:C})=>y>C);return n?n.value:v}function w(){return document.documentElement.dir==="rtl"}const Xe=({centered:i,onClose:y,className:v,children:p,...l})=>{const W=S("PDP.Overlay.Close.label").label,n=le(null),C=V(()=>{y==null||y()},[y]);return B(()=>{const P=N=>{N.key==="Escape"&&C()};return document.addEventListener("keydown",P),()=>{document.removeEventListener("keydown",P)}},[C]),B(()=>{const P=n.current;P==null||P.focus();const N=document.scrollingElement,X=N.style.overflow;return N.style.overflow="hidden",()=>{N.style.overflow=X}},[]),z("div",{...l,className:M(["pdp-overlay",["pdp-overlay--centered",i],v]),ref:n,role:"dialog","aria-describedby":"overlay-content",tabindex:0,children:[L("div",{className:"pdp-overlay__content",id:"overlay-content",children:p}),L(he,{"aria-label":W,variant:"tertiary",className:"pdp-overlay__close-button",onClick:C,icon:L(Le,{})})]})},Ye=({children:i,scale:y=2,closeButton:v=!0})=>{const[p,l]=k(!1),[W,n]=k("pdp-zoom"),[C,P]=k(!1),[N,X]=k({x:0,y:0}),[D,ae]=k({x:0,y:0}),[E,Y]=k({x:0,y:0}),J=r=>{!p||r.type!=="touchstart"||(X({x:r.touches[0].clientX,y:r.touches[0].clientY}),ae({x:E.x,y:E.y}),P(!0))},Q=r=>{var j;if(!C||r.type!=="touchmove")return;const h=(j=r.currentTarget)==null?void 0:j.getBoundingClientRect(),m=(100-100/y)/2,x=r.touches[0].clientX-N.x,a=r.touches[0].clientY-N.y,O=x*100/(h.width*y),$=a*100/(h.height*y),Z=D.x+O,ue=D.y+$;Y({x:Math.max(-m,Math.min(Z,m))||0,y:Math.max(-m,Math.min(ue,m))||0}),r.preventDefault()},G=r=>{var $;const h=($=r.currentTarget)==null?void 0:$.getBoundingClientRect(),m=(100-100/y)/2;let x;if("touches"in r)x=r.touches[0];else if(r instanceof MouseEvent)x=r;else return;const a=m-(x.clientX-h.left)/h.width*100,O=m-(x.clientY-h.top)/h.height*100;Y({x:Math.max(-m,Math.min(a,m))||0,y:Math.max(-m,Math.min(O,m))||0})},ee=r=>{if(!C){if(p){if(v&&"touches"in r){J(r);return}v||l(!1)}else l(!0),G(r);r.preventDefault()}},te=r=>{if(v&&"touches"in r){Q(r);return}p&&G(r)},re=()=>{if(v){P(!1);return}l(!1)},ce=r=>{l(!1),r.stopPropagation()},oe=p?`scale(${y}) translateX(${E.x}%) translateY(${E.y}%)`:"none",d=S("PDP.Zoom.Close.label").label,ie=Ee(R.only(i),{draggable:!1,style:{"--transform":oe}});return B(()=>{n(p?`pdp-zoom ${v?"pdp-zoom--no-effects":"pdp-zoom--zoomed"}`:"pdp-zoom")},[p,v]),z("figure",{className:W,onClick:ee,onMouseMove:te,onMouseLeave:re,onTouchStart:ee,onTouchMove:te,onTouchEnd:re,children:[ie,v&&p&&L(he,{"aria-label":d,variant:"tertiary",className:"pdp-zoom__close-button",icon:L(Le,{}),onClick:ce})]})};export{He as C,Xe as O,Ye as Z};
package/chunks/date.js CHANGED
@@ -1,3 +1,3 @@
1
- /*! Copyright 2024 Adobe
1
+ /*! Copyright 2025 Adobe
2
2
  All Rights Reserved. */
3
3
  import{toLanguageTag as n}from"@dropins/tools/lib.js";function a(t,d="en_US"){if(!o(t))throw Error("Invalid date string");return t.split(" ")[1]||(t=`${t} 00:00:00`),new Date(t).toLocaleDateString(n(d)).toString()}function o(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(i=>i.test(t)))return!1;const e=new Date(t);return!isNaN(e.getTime())}export{o as i,a as t};
@@ -1,3 +1,3 @@
1
- /*! Copyright 2024 Adobe
1
+ /*! Copyright 2025 Adobe
2
2
  All Rights Reserved. */
3
3
  import{events as e}from"@dropins/tools/event-bus.js";const s=async()=>e._lastEvent["pdp/data"]?Promise.resolve(e._lastEvent["pdp/data"].payload):new Promise(a=>{const t=e.on("pdp/data",r=>{a(r),t==null||t.off()},{eager:!0})});export{s as g};
@@ -1,3 +1,3 @@
1
- /*! Copyright 2024 Adobe
1
+ /*! Copyright 2025 Adobe
2
2
  All Rights Reserved. */
3
3
  import{events as o}from"@dropins/tools/event-bus.js";import"@dropins/tools/lib.js";const a=t=>{const s=e(),n=t(s);JSON.stringify(s)!==JSON.stringify(n)&&o.emit("pdp/values",{...n})},e=()=>{var t;return((t=o._lastEvent["pdp/values"])==null?void 0:t.payload)??null};export{e as g,a as s};
@@ -1,6 +1,6 @@
1
- /*! Copyright 2024 Adobe
1
+ /*! Copyright 2025 Adobe
2
2
  All Rights Reserved. */
3
- import{merge as se,Initializer as ae}from"@dropins/tools/lib.js";import{events as N}from"@dropins/tools/event-bus.js";import{FetchGraphQL as ue}from"@dropins/tools/fetch-graphql.js";import{s as le}from"./getProductConfigurationValues.js";function Me(e){const n=new URLSearchParams(window.location.search);Object.entries(e).forEach(([r,t])=>{t===null?n.delete(r):n.set(r,String(t))});let i=window.location.pathname;i+=`?${n.toString()}`,i+=window.location.hash,window.history.replaceState({},"",i)}function me(){const e=new URLSearchParams(window.location.search),n={};return e.forEach((i,r)=>{n[r]=i}),n}function ce(e){var n,i,r,t,o,a,l,s,m,u,c,f;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:e==null?void 0:e.productType,pricing:{regularPrice:((i=(n=e==null?void 0:e.prices)==null?void 0:n.regular)==null?void 0:i.amount)||0,minimalPrice:(t=(r=e==null?void 0:e.prices)==null?void 0:r.final)==null?void 0:t.minimumAmount,maximalPrice:(a=(o=e==null?void 0:e.prices)==null?void 0:o.final)==null?void 0:a.maximumAmount,specialPrice:(s=(l=e==null?void 0:e.prices)==null?void 0:l.final)==null?void 0:s.amount,tierPricing:void 0,currencyCode:((u=(m=e==null?void 0:e.prices)==null?void 0:m.final)==null?void 0:u.currency)||"USD"},canonicalUrl:e==null?void 0:e.url,mainImageUrl:(f=(c=e==null?void 0:e.images)==null?void 0:c[0])==null?void 0:f.url}}const fe={PRODUCT_CONTEXT:"productContext"},de={PRODUCT_PAGE_VIEW:"product-page-view"};function ne(){return window.adobeDataLayer=window.adobeDataLayer||[],window.adobeDataLayer}function Pe(e,n){const i=ne();i.push({[e]:null}),i.push({[e]:n})}function ge(e,n){ne().push(r=>{const t=r.getState?r.getState():{};r.push({event:e,eventInfo:{...t,...n}})})}function we(e){const n=ce(e);Pe(fe.PRODUCT_CONTEXT,n),ge(de.PRODUCT_PAGE_VIEW)}var K=(e=>(e.ComplexProduct="complex",e.SimpleProduct="simple",e))(K||{}),re=(e=>(e.ComplexProductView="ComplexProductView",e.SimpleProductView="SimpleProductView",e))(re||{});function H(e,n){var a,l,s,m,u,c,f,P,g,y,d,b;const i=((m=(s=(l=(a=e==null?void 0:e.options)==null?void 0:a[0])==null?void 0:l.values)==null?void 0:s[0])==null?void 0:m.__typename)==="ProductViewOptionValueProduct",r=Ce(e,i,n==null?void 0:n.preselectFirstOption),t=(e==null?void 0:e.__typename)===re.SimpleProductView?K.SimpleProduct:K.ComplexProduct,o=e?{name:e.name,sku:e.sku,isBundle:i,addToCartAllowed:e.addToCartAllowed,inStock:e.inStock,shortDescription:e.shortDescription,metaDescription:e.metaDescription,metaKeyword:e.metaKeyword,metaTitle:e.metaTitle,description:e.description,images:ye(e),prices:Se(e,i,r),attributes:he(e),options:pe(e,i),optionUIDs:r,url:e.url,urlKey:e.urlKey,externalId:e.externalId,externalParentId:e.externalParentId,variantSku:e.variantSku,productType:t}:null;return se(o,((P=(f=(c=(u=k.getConfig())==null?void 0:u.models)==null?void 0:c.ProductDetails)==null?void 0:f.transformer)==null?void 0:P.call(f,e))??((b=(d=(y=(g=k.getConfig())==null?void 0:g.models)==null?void 0:y.ProductDetails)==null?void 0:d.transform)==null?void 0:b.call(d,e)))}function ye(e){var n,i;return(i=(n=e.images)==null?void 0:n.filter(r=>{var t;return!((t=r.roles)!=null&&t.includes("hide_from_pdp"))}))==null?void 0:i.map(r=>(r.url=r.url.replace(/^https?:/,""),r))}function he(e){var n,i;return(i=(n=e.attributes)==null?void 0:n.filter(({roles:r})=>(r==null?void 0:r.indexOf("visible_in_pdp"))!==-1))==null?void 0:i.map(({label:r,value:t,name:o})=>({id:o,label:r,value:t.toString().split(",").join(", ")}))}function pe(e,n){const{options:i,optionUIDs:r}=e;return i==null?void 0:i.map(({id:t,title:o,required:a,multi:l,values:s})=>{var c;const m=(c=s==null?void 0:s[0])==null?void 0:c.__typename;let u=s==null?void 0:s[0].type;return u?u=u.replace("COLOR_HEX","color").replace("TEXT","text").replace("IMAGE","image"):u="dropdown",{id:t,type:u,typename:m,label:o,required:a,multiple:l,items:n?De(s,r):xe(s,r,u)}})}function De(e,n){return e==null?void 0:e.map(({id:i,title:r,inStock:t,isDefault:o,product:a})=>({id:i,inStock:t,label:r,selected:(n==null?void 0:n.indexOf(i))>-1||o,value:i,product:a}))}function xe(e,n,i){return e==null?void 0:e.map(({id:r,title:t,inStock:o,value:a})=>({id:r,inStock:o,label:t,selected:(n==null?void 0:n.indexOf(r))>-1,value:(i==null?void 0:i.toLowerCase())==="dropdown"?r:a==null?void 0:a.replace(/^https?:/,"")}))}function Se(e,n,i){var d,b,X,B,z;const{price:r,priceRange:t,options:o,optionUIDs:a=i}=e;let{__typename:l}=e;function s(){var x;const p=r.regular.amount.value,w=((x=r.final)==null?void 0:x.amount.value)??r.regular.amount.value,D=r.regular.amount.currency==="NONE"?"USD":r==null?void 0:r.regular.amount.currency;return[p,w,w,D]}function m(){var C,v,E,T,_,V,I,F,U,A,$,L;const p=(C=t==null?void 0:t.minimum)==null?void 0:C.final.amount.value,w=(v=t==null?void 0:t.maximum)==null?void 0:v.final.amount.value;let D;((T=(E=t==null?void 0:t.minimum)==null?void 0:E.regular)==null?void 0:T.amount.value)===((V=(_=t==null?void 0:t.maximum)==null?void 0:_.regular)==null?void 0:V.amount.value)&&(D=(F=(I=t==null?void 0:t.minimum)==null?void 0:I.regular)==null?void 0:F.amount.value);const x=((A=(U=t==null?void 0:t.minimum)==null?void 0:U.final)==null?void 0:A.amount.currency)==="NONE"?"USD":(L=($=t==null?void 0:t.minimum)==null?void 0:$.final)==null?void 0:L.amount.currency;return[D,p,w,x]}function u(){var E,T,_,V,I,F,U,A,$,L,W,Y;let p=0,w=0;o==null||o.forEach(O=>{var J;const j=O==null?void 0:O.values;if(j&&Array.isArray(j)){const S=j.map(h=>{var G,M,Z,R;return(R=(Z=(M=(G=h==null?void 0:h.product)==null?void 0:G.price)==null?void 0:M.regular)==null?void 0:Z.amount)==null?void 0:R.value}).filter(h=>h!==void 0),Q=S.length>0?Math.max(...S):0;p+=Q}(J=O==null?void 0:O.values)==null||J.forEach(S=>{var Q,h,G,M;a!=null&&a.includes(S.id)&&(w+=(M=(G=(h=(Q=S==null?void 0:S.product)==null?void 0:Q.price)==null?void 0:h.final)==null?void 0:G.amount)==null?void 0:M.value)})});const D=(E=t==null?void 0:t.minimum)==null?void 0:E.final.amount.value,x=(T=t==null?void 0:t.maximum)==null?void 0:T.final.amount.value;let C;((V=(_=t==null?void 0:t.minimum)==null?void 0:_.regular)==null?void 0:V.amount.value)===((F=(I=t==null?void 0:t.maximum)==null?void 0:I.regular)==null?void 0:F.amount.value)&&(C=(A=(U=t==null?void 0:t.minimum)==null?void 0:U.regular)==null?void 0:A.amount.value);const v=((L=($=t==null?void 0:t.minimum)==null?void 0:$.final)==null?void 0:L.amount.currency)==="NONE"?"USD":(Y=(W=t==null?void 0:t.minimum)==null?void 0:W.final)==null?void 0:Y.amount.currency;return n&&(a==null?void 0:a.length)<1?[C,D,x,v]:p===(t==null?void 0:t.maximum.regular.amount.value)?[w,w,w,v]:[C,D,x,v]}const[c,f,P,g]=l==="SimpleProductView"?s():n?u():m(),y=l==="SimpleProductView"?(d=r==null?void 0:r.roles)==null?void 0:d.includes("visible"):((X=(b=t==null?void 0:t.maximum)==null?void 0:b.roles)==null?void 0:X.includes("visible"))&&((z=(B=t==null?void 0:t.minimum)==null?void 0:B.roles)==null?void 0:z.includes("visible"));return P&&f===P?{regular:{amount:c,currency:g,variant:c&&f!==c?"strikethrough":"default"},final:{amount:P,currency:g,variant:"default"},visible:y}:{final:{minimumAmount:f,maximumAmount:P,currency:g},visible:y}}function Ce(e,n,i){var r;return n?((r=e==null?void 0:e.options)==null?void 0:r.map(({values:o})=>{var s;const a=((s=o==null?void 0:o.find(({isDefault:m})=>m))==null?void 0:s.id)??null,l=i?o[0].id:null;return a||l})).filter(o=>o!==null):e==null?void 0:e.optionUIDs}const q=new ae({init:async e=>{var o,a,l;const n=(a=(o=e==null?void 0:e.models)==null?void 0:o.ProductDetails)==null?void 0:a.initialData,t={...{defaultLocale:"en-US",persistURLParams:!1,acdl:!1,optionsUIDs:((l=me().optionsUIDs)==null?void 0:l.split(","))||(n==null?void 0:n.optionsUIDs)},...e};if(q.config.setConfig({...t}),t!=null&&t.sku){const s=n?H(n):await te(t.sku,{preselectFirstOption:t.preselectFirstOption});N.emit("pdp/data",s);const m={sku:t.sku,quantity:1,optionsUIDs:s==null?void 0:s.optionUIDs};le(()=>({...m})),Fe(()=>{var u;return s!=null&&s.options?s.options.length===((u=s==null?void 0:s.optionUIDs)==null?void 0:u.length):!0}),t.acdl&&s&&we(s)}},listeners:()=>[N.on("locale",async()=>{const{sku:e}=q.config.getConfig();if(e){const n=await te(e);N.emit("pdp/data",n)}})]}),k=q.config,{setEndpoint:Ne,setFetchGraphQlHeader:Qe,removeFetchGraphQlHeader:je,setFetchGraphQlHeaders:Ke,fetchGraphQl:ie,getConfig:qe}=new ue().getMethods(),ve=`
3
+ import{merge as se,Initializer as ue}from"@dropins/tools/lib.js";import{events as N}from"@dropins/tools/event-bus.js";import{FetchGraphQL as ae}from"@dropins/tools/fetch-graphql.js";import{s as le}from"./getProductConfigurationValues.js";function Me(e){const n=new URLSearchParams(window.location.search);Object.entries(e).forEach(([r,t])=>{t===null?n.delete(r):n.set(r,String(t))});let i=window.location.pathname;i+=`?${n.toString()}`,i+=window.location.hash,window.history.replaceState({},"",i)}function me(){const e=new URLSearchParams(window.location.search),n={};return e.forEach((i,r)=>{n[r]=i}),n}function ce(e){var n,i,r,t,o,u,l,s,m,a,c,f;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:e==null?void 0:e.productType,pricing:{regularPrice:((i=(n=e==null?void 0:e.prices)==null?void 0:n.regular)==null?void 0:i.amount)||0,minimalPrice:(t=(r=e==null?void 0:e.prices)==null?void 0:r.final)==null?void 0:t.minimumAmount,maximalPrice:(u=(o=e==null?void 0:e.prices)==null?void 0:o.final)==null?void 0:u.maximumAmount,specialPrice:(s=(l=e==null?void 0:e.prices)==null?void 0:l.final)==null?void 0:s.amount,tierPricing:void 0,currencyCode:((a=(m=e==null?void 0:e.prices)==null?void 0:m.final)==null?void 0:a.currency)||"USD"},canonicalUrl:e==null?void 0:e.url,mainImageUrl:(f=(c=e==null?void 0:e.images)==null?void 0:c[0])==null?void 0:f.url}}const fe={PRODUCT_CONTEXT:"productContext"},de={PRODUCT_PAGE_VIEW:"product-page-view"};function ne(){return window.adobeDataLayer=window.adobeDataLayer||[],window.adobeDataLayer}function Pe(e,n){const i=ne();i.push({[e]:null}),i.push({[e]:n})}function ge(e,n){ne().push(r=>{const t=r.getState?r.getState():{};r.push({event:e,eventInfo:{...t,...n}})})}function ye(e){const n=ce(e);Pe(fe.PRODUCT_CONTEXT,n),ge(de.PRODUCT_PAGE_VIEW)}var K=(e=>(e.ComplexProduct="complex",e.SimpleProduct="simple",e))(K||{}),re=(e=>(e.ComplexProductView="ComplexProductView",e.SimpleProductView="SimpleProductView",e))(re||{});function H(e,n){var u,l,s,m,a,c,f,P,g,w,d,E;const i=((m=(s=(l=(u=e==null?void 0:e.options)==null?void 0:u[0])==null?void 0:l.values)==null?void 0:s[0])==null?void 0:m.__typename)==="ProductViewOptionValueProduct",r=Ce(e,i,n==null?void 0:n.preselectFirstOption),t=(e==null?void 0:e.__typename)===re.SimpleProductView?K.SimpleProduct:K.ComplexProduct,o=e?{name:e.name,sku:e.sku,isBundle:i,addToCartAllowed:e.addToCartAllowed,inStock:e.inStock,shortDescription:e.shortDescription,metaDescription:e.metaDescription,metaKeyword:e.metaKeyword,metaTitle:e.metaTitle,description:e.description,images:we(e),prices:Se(e,i,r),attributes:he(e),options:pe(e,i),optionUIDs:r,url:e.url,urlKey:e.urlKey,externalId:e.externalId,externalParentId:e.externalParentId,variantSku:e.variantSku,productType:t}:null;return se(o,((P=(f=(c=(a=k.getConfig())==null?void 0:a.models)==null?void 0:c.ProductDetails)==null?void 0:f.transformer)==null?void 0:P.call(f,e))??((E=(d=(w=(g=k.getConfig())==null?void 0:g.models)==null?void 0:w.ProductDetails)==null?void 0:d.transform)==null?void 0:E.call(d,e)))}function we(e){var n,i;return(i=(n=e.images)==null?void 0:n.filter(r=>{var t;return!((t=r.roles)!=null&&t.includes("hide_from_pdp"))}))==null?void 0:i.map(r=>(r.url=r.url.replace(/^https?:/,""),r))}function he(e){var n,i;return(i=(n=e.attributes)==null?void 0:n.filter(({roles:r})=>(r==null?void 0:r.indexOf("visible_in_pdp"))!==-1))==null?void 0:i.map(({label:r,value:t,name:o})=>({id:o,label:r,value:t.toString().split(",").join(", ")}))}function pe(e,n){const{options:i,optionUIDs:r}=e;return i==null?void 0:i.map(({id:t,title:o,required:u,multi:l,values:s})=>{var c;const m=(c=s==null?void 0:s[0])==null?void 0:c.__typename;let a=s==null?void 0:s[0].type;return a?a=a.replace("COLOR_HEX","color").replace("TEXT","text").replace("IMAGE","image"):a="dropdown",{id:t,type:a,typename:m,label:o,required:u,multiple:l,items:n?De(s,r):xe(s,r,a)}})}function De(e,n){return e==null?void 0:e.filter(({enabled:i})=>typeof i>"u"||i).map(({id:i,title:r,inStock:t,isDefault:o,product:u})=>({id:i,inStock:t,label:r,selected:(n==null?void 0:n.indexOf(i))>-1||o,value:i,product:u}))}function xe(e,n,i){return e==null?void 0:e.map(({id:r,title:t,inStock:o,value:u})=>({id:r,inStock:o,label:t,selected:(n==null?void 0:n.indexOf(r))>-1,value:(i==null?void 0:i.toLowerCase())==="dropdown"?r:u==null?void 0:u.replace(/^https?:/,"")}))}function Se(e,n,i){var d,E,X,B,z;const{price:r,priceRange:t,options:o,optionUIDs:u=i}=e;let{__typename:l}=e;function s(){var x;const p=r.regular.amount.value,y=((x=r.final)==null?void 0:x.amount.value)??r.regular.amount.value,D=r.regular.amount.currency==="NONE"?"USD":r==null?void 0:r.regular.amount.currency;return[p,y,y,D]}function m(){var C,v,b,T,_,V,I,F,U,A,$,L;const p=(C=t==null?void 0:t.minimum)==null?void 0:C.final.amount.value,y=(v=t==null?void 0:t.maximum)==null?void 0:v.final.amount.value;let D;((T=(b=t==null?void 0:t.minimum)==null?void 0:b.regular)==null?void 0:T.amount.value)===((V=(_=t==null?void 0:t.maximum)==null?void 0:_.regular)==null?void 0:V.amount.value)&&(D=(F=(I=t==null?void 0:t.minimum)==null?void 0:I.regular)==null?void 0:F.amount.value);const x=((A=(U=t==null?void 0:t.minimum)==null?void 0:U.final)==null?void 0:A.amount.currency)==="NONE"?"USD":(L=($=t==null?void 0:t.minimum)==null?void 0:$.final)==null?void 0:L.amount.currency;return[D,p,y,x]}function a(){var b,T,_,V,I,F,U,A,$,L,W,Y;let p=0,y=0;o==null||o.forEach(O=>{var J;const j=O==null?void 0:O.values;if(j&&Array.isArray(j)){const S=j.map(h=>{var G,M,Z,R;return(R=(Z=(M=(G=h==null?void 0:h.product)==null?void 0:G.price)==null?void 0:M.regular)==null?void 0:Z.amount)==null?void 0:R.value}).filter(h=>h!==void 0),Q=S.length>0?Math.max(...S):0;p+=Q}(J=O==null?void 0:O.values)==null||J.forEach(S=>{var Q,h,G,M;u!=null&&u.includes(S.id)&&(y+=(M=(G=(h=(Q=S==null?void 0:S.product)==null?void 0:Q.price)==null?void 0:h.final)==null?void 0:G.amount)==null?void 0:M.value)})});const D=(b=t==null?void 0:t.minimum)==null?void 0:b.final.amount.value,x=(T=t==null?void 0:t.maximum)==null?void 0:T.final.amount.value;let C;((V=(_=t==null?void 0:t.minimum)==null?void 0:_.regular)==null?void 0:V.amount.value)===((F=(I=t==null?void 0:t.maximum)==null?void 0:I.regular)==null?void 0:F.amount.value)&&(C=(A=(U=t==null?void 0:t.minimum)==null?void 0:U.regular)==null?void 0:A.amount.value);const v=((L=($=t==null?void 0:t.minimum)==null?void 0:$.final)==null?void 0:L.amount.currency)==="NONE"?"USD":(Y=(W=t==null?void 0:t.minimum)==null?void 0:W.final)==null?void 0:Y.amount.currency;return n&&(u==null?void 0:u.length)<1?[C,D,x,v]:p===(t==null?void 0:t.maximum.regular.amount.value)?[y,y,y,v]:[C,D,x,v]}const[c,f,P,g]=l==="SimpleProductView"?s():n?a():m(),w=l==="SimpleProductView"?(d=r==null?void 0:r.roles)==null?void 0:d.includes("visible"):((X=(E=t==null?void 0:t.maximum)==null?void 0:E.roles)==null?void 0:X.includes("visible"))&&((z=(B=t==null?void 0:t.minimum)==null?void 0:B.roles)==null?void 0:z.includes("visible"));return P&&f===P?{regular:{amount:c,currency:g,variant:c&&f!==c?"strikethrough":"default"},final:{amount:P,currency:g,variant:"default"},visible:w}:{final:{minimumAmount:f,maximumAmount:P,currency:g},visible:w}}function Ce(e,n,i){var r;return n?((r=e==null?void 0:e.options)==null?void 0:r.map(({values:o})=>{var s;const u=((s=o==null?void 0:o.find(({isDefault:m})=>m))==null?void 0:s.id)??null,l=i?o[0].id:null;return u||l})).filter(o=>o!==null):e==null?void 0:e.optionUIDs}const q=new ue({init:async e=>{var o,u,l;const n=(u=(o=e==null?void 0:e.models)==null?void 0:o.ProductDetails)==null?void 0:u.initialData,t={...{defaultLocale:"en-US",persistURLParams:!1,acdl:!1,optionsUIDs:((l=me().optionsUIDs)==null?void 0:l.split(","))||(n==null?void 0:n.optionsUIDs)},...e};if(q.config.setConfig({...t}),t!=null&&t.sku){const s=n?H(n):await te(t.sku,{preselectFirstOption:t.preselectFirstOption});N.emit("pdp/data",s);const m={sku:t.sku,quantity:1,optionsUIDs:s==null?void 0:s.optionUIDs};le(()=>({...m})),Fe(()=>{var a;return s!=null&&s.options?s.options.length===((a=s==null?void 0:s.optionUIDs)==null?void 0:a.length):!0}),t.acdl&&s&&ye(s)}},listeners:()=>[N.on("locale",async()=>{const{sku:e}=q.config.getConfig();if(e){const n=await te(e);N.emit("pdp/data",n)}})]}),k=q.config,{setEndpoint:Ne,setFetchGraphQlHeader:Qe,removeFetchGraphQlHeader:je,setFetchGraphQlHeaders:Ke,fetchGraphQl:ie,getConfig:qe}=new ae().getMethods(),ve=`
4
4
  fragment ProductOptionFragment on ProductViewOption {
5
5
  id
6
6
  title
@@ -149,7 +149,7 @@ query GET_PRODUCT_DATA($skus: [String]) {
149
149
  }
150
150
 
151
151
  ${oe}
152
- `,ke=async(e,n,i)=>{var o;const{data:r}=await ie(Oe,{method:"GET",variables:{skus:[e]}}),t=(o=r==null?void 0:r.products)==null?void 0:o[0];return n!=null&&n.optionsUIDs&&(t.optionUIDs=n.optionsUIDs),i?t:H(t,{preselectFirstOption:n==null?void 0:n.preselectFirstOption})},be=`
152
+ `,ke=async(e,n,i)=>{var o;const{data:r}=await ie(Oe,{method:"GET",variables:{skus:[e]}}),t=(o=r==null?void 0:r.products)==null?void 0:o[0];return n!=null&&n.optionsUIDs&&(t.optionUIDs=n.optionsUIDs),i?t:H(t,{preselectFirstOption:n==null?void 0:n.preselectFirstOption})},Ee=`
153
153
  query REFINE_PRODUCT_QUERY(
154
154
  $optionIds: [String!]!
155
155
  $sku: String!
@@ -171,7 +171,7 @@ query REFINE_PRODUCT_QUERY(
171
171
  }
172
172
 
173
173
  ${oe}
174
- `;async function ee(e,n){const i=Te(n),r=_e(i,e),t=be.replace("# %extendedPlaceholder%",r),{data:o}=await ie(t,{method:"GET",variables:{optionIds:n,sku:e}});return o}const Ee=async(e,n,i,r)=>{var P,g,y;const t=await ee(e,n);if(!t)return null;let{products:o,refineProduct:a,...l}=t;const s=o==null?void 0:o[0],m=Ve(Object.values(l),s.options,i);if(i!=null&&i.length&&a===null){n=Ie(m,n,i);const d=await ee(e,n);a=d==null?void 0:d.refineProduct}const u={...a||s,sku:s.sku,name:s.name,externalParentId:s==null?void 0:s.externalId,options:m,optionUIDs:n,variantSku:(a==null?void 0:a.__typename)==="SimpleProductView"?a==null?void 0:a.sku:void 0},c=r?u:H(u),f=(y=(g=(P=k==null?void 0:k.getConfig())==null?void 0:P.models)==null?void 0:g.ProductDetails)==null?void 0:y.fallbackData;return f?f(s,c):c};function Te(e){if(e.length<2)return[e];const n=[];return e.forEach(i=>{const r=[];e.forEach(t=>{i!==t&&r.push(t)}),n.push(r)}),n}function _e(e,n){return e.map((i,r)=>`
174
+ `;async function ee(e,n){const i=Te(n),r=_e(i,e),t=Ee.replace("# %extendedPlaceholder%",r),{data:o}=await ie(t,{method:"GET",variables:{optionIds:n,sku:e}});return o}const be=async(e,n,i,r)=>{var P,g,w;const t=await ee(e,n);if(!t)return null;let{products:o,refineProduct:u,...l}=t;const s=o==null?void 0:o[0],m=Ve(Object.values(l),s.options,i);if(i!=null&&i.length&&u===null){n=Ie(m,n,i);const d=await ee(e,n);u=d==null?void 0:d.refineProduct}const a={...u||s,sku:s.sku,name:s.name,externalParentId:s==null?void 0:s.externalId,options:m,optionUIDs:n,variantSku:(u==null?void 0:u.__typename)==="SimpleProductView"?u==null?void 0:u.sku:void 0},c=r?a:H(a),f=(w=(g=(P=k==null?void 0:k.getConfig())==null?void 0:P.models)==null?void 0:g.ProductDetails)==null?void 0:w.fallbackData;return f?f(s,c):c};function Te(e){if(e.length<2)return[e];const n=[];return e.forEach(i=>{const r=[];e.forEach(t=>{i!==t&&r.push(t)}),n.push(r)}),n}function _e(e,n){return e.map((i,r)=>`
175
175
  ProductOption${r}: refineProduct(
176
176
  optionIds: [
177
177
  ${i.map(t=>`"${t}"`).join(", ")}
@@ -184,4 +184,4 @@ ${oe}
184
184
  }
185
185
  }
186
186
  }
187
- `).join("")}function Ve(e,n=[],i){const r=Object.values(e).filter(o=>!!o).reduce((o,a)=>a.options?[...o,...a.options]:[...o],[]),t=new Map(n.map(o=>[o.id,o]));return r.forEach(o=>{i!=null&&i.includes(o.id)||t.set(o.id,o)}),[...t.values()]}function Ie(e,n,i){const r=[];let t;return e.forEach(o=>{var a,l,s,m;i.includes(o.id)?t=((l=(a=o.values)==null?void 0:a.find(u=>n.includes(u==null?void 0:u.id)))==null?void 0:l.id)||((s=o.values[0])==null?void 0:s.id):t=(m=o.values[0])==null?void 0:m.id,r.push(t)}),r}const te=async(e,n)=>{const{anchors:i,optionsUIDs:r}=k.getConfig(),{optionsUIDs:t=r,anchors:o=i,preselectFirstOption:a,isBundle:l,skipTransform:s}=n??{};return!l&&t?await Ee(e,t,o,s):await ke(e,{preselectFirstOption:a,optionsUIDs:t},s)},Fe=e=>{const n=Ue(),i=e(n);n!==i&&N.emit("pdp/valid",i)},Ue=()=>{var e;return((e=N._lastEvent["pdp/valid"])==null?void 0:e.payload)??null};export{Qe as a,Ke as b,k as c,ke as d,Ee as e,ie as f,qe as g,te as h,q as i,Fe as j,Ue as k,Me as l,we as p,je as r,Ne as s,H as t};
187
+ `).join("")}function Ve(e,n=[],i){const r=Object.values(e).filter(o=>!!o).reduce((o,u)=>u.options?[...o,...u.options]:[...o],[]),t=new Map(n.map(o=>[o.id,o]));return r.forEach(o=>{i!=null&&i.includes(o.id)||t.set(o.id,o)}),[...t.values()]}function Ie(e,n,i){const r=[];let t;return e.forEach(o=>{var u,l,s,m;i.includes(o.id)?t=((l=(u=o.values)==null?void 0:u.find(a=>n.includes(a==null?void 0:a.id)))==null?void 0:l.id)||((s=o.values[0])==null?void 0:s.id):t=(m=o.values[0])==null?void 0:m.id,r.push(t)}),r}const te=async(e,n)=>{const{anchors:i,optionsUIDs:r}=k.getConfig(),{optionsUIDs:t=r,anchors:o=i,preselectFirstOption:u,isBundle:l,skipTransform:s}=n??{};return!l&&t?await be(e,t,o,s):await ke(e,{preselectFirstOption:u,optionsUIDs:t},s)},Fe=e=>{const n=Ue(),i=e(n);n!==i&&N.emit("pdp/valid",i)},Ue=()=>{var e;return((e=N._lastEvent["pdp/valid"])==null?void 0:e.payload)??null};export{Qe as a,Ke as b,k as c,ke as d,be as e,ie as f,qe as g,te as h,q as i,Fe as j,Ue as k,Me as l,ye as p,je as r,Ne as s,H as t};
@@ -1,3 +1,3 @@
1
- /*! Copyright 2024 Adobe
1
+ /*! Copyright 2025 Adobe
2
2
  All Rights Reserved. */
3
3
  import{jsxs as a,jsx as i}from"@dropins/tools/preact-jsx-runtime.js";import{useState as n,useEffect as b}from"@dropins/tools/preact-compat.js";import{classes as h}from"@dropins/tools/lib.js";import{events as l}from"@dropins/tools/event-bus.js";import{i as P,t as S}from"../chunks/date.js";import{g as x}from"../chunks/getFetchedProductData.js";import{useText as L}from"@dropins/tools/i18n.js";import{c as j}from"../chunks/isProductConfigurationValid.js";import"@dropins/tools/fetch-graphql.js";import"../chunks/getProductConfigurationValues.js";const I=({initialData:c=null,children:N,...r})=>{var s;const m=L("PDP.Product.Details.label").label,{defaultLocale:f="en-US"}=j.getConfig(),[u,p]=n(f),[o,d]=n(c);return b(()=>{const e=l.on("pdp/data",d),t=l.on("locale",p);return()=>{e==null||e.off(),t==null||t.off()}},[]),o?a("div",{...r,className:h(["pdp-attributes",r.className]),children:[m,i("ul",{children:(s=o==null?void 0:o.attributes)==null?void 0:s.map(({label:e,value:t},g)=>{const D=P(t)?S(t,u):t.toString();return a("li",{children:[e,": ",i("span",{dangerouslySetInnerHTML:{__html:D}})]},g)})})]}):null};I.getInitialData=x;export{I as ProductAttributes,I as default};
@@ -1,3 +1,3 @@
1
- /*! Copyright 2024 Adobe
1
+ /*! Copyright 2025 Adobe
2
2
  All Rights Reserved. */
3
3
  import{jsx as n}from"@dropins/tools/preact-jsx-runtime.js";import{useState as i,useEffect as a}from"@dropins/tools/preact-compat.js";import{classes as c}from"@dropins/tools/lib.js";import{events as m}from"@dropins/tools/event-bus.js";import{g as l}from"../chunks/getFetchedProductData.js";const f=({initialData:o=null,children:p,...r})=>{const[t,s]=i(o);return a(()=>{const e=m.on("pdp/data",s);return()=>{e==null||e.off()}},[]),t?n("div",{dangerouslySetInnerHTML:{__html:(t==null?void 0:t.description)??""},...r,className:c(["pdp-description",r.className])}):null};f.getInitialData=l;export{f as ProductDescription,f as default};
@@ -1,3 +1,3 @@
1
- /*! Copyright 2024 Adobe
1
+ /*! Copyright 2025 Adobe
2
2
  All Rights Reserved. */
3
3
  import{jsx as e,jsxs as V,Fragment as Nt}from"@dropins/tools/preact-jsx-runtime.js";import{useState as j,Children as ot,useEffect as f,useCallback as g,useMemo as vt}from"@dropins/tools/preact-compat.js";import{VComponent as o,classes as w,Slot as A,toLanguageTag as ut}from"@dropins/tools/lib.js";import{Incrementer as Ot,Breadcrumbs as ct,Button as bt,Icon as dt,Image as At}from"@dropins/tools/components.js";/* empty css */import{Z as It,C,O as Dt}from"../chunks/Zoom.js";import{useText as L}from"@dropins/tools/i18n.js";import{P as Pt}from"../chunks/PriceRange.js";import{S as wt}from"../chunks/Swatches.js";import"@dropins/tools/preact.js";import{c as yt,h as ht,p as Vt,l as kt,t as Bt}from"../chunks/isProductConfigurationValid.js";import{events as lt}from"@dropins/tools/event-bus.js";import{i as xt,t as Lt}from"../chunks/date.js";import"@dropins/tools/fetch-graphql.js";import"../chunks/getProductConfigurationValues.js";const Ut=({title:a,breadcrumbs:N,galleryContent:S,infoContent:v,productContent:O,sku:I,outOfStock:U,shortDescription:s,description:r,attributes:tt,images:c,options:h,price:u,specialPrice:Z,className:z,children:at,quantity:K,actions:M,carouselConfig:n,zoomType:J="overlay",closeButton:et=!0,...nt})=>{var H,F,E,m,$,q,W,X,Y;const rt=L("PDP.Product.RegularPrice.label").label,k=L("PDP.Product.SpecialPrice.label").label,pt=L("PDP.Product.OutOfStock.label").label,B=L("PDP.Product.Image.label").label,[G,t]=j(null),x=c!=null&&c.length?c.map((D,y)=>{var Q;const R=((Q=a==null?void 0:a.props)==null?void 0:Q.children)&&(B==null?void 0:B.replace("{product}",a.props.children.toString()).replace("{key}",String(y+1)).replace("{total}",String(c.length)));return J==="zoom"?e(It,{closeButton:et,children:e(o,{node:D,loading:y===0?"eager":"lazy",alt:R},y)}):e(o,{node:D,loading:y===0?"eager":"lazy",alt:R,onClick:()=>t(y)},y)}):e("img",{src:"data:image/gif;base64,R0lGODlhAQABAIAAAAAAAP///yH5BAEAAAAALAAAAAABAAEAAAIBRAA7",className:"pdp-product__images__placeholder","aria-hidden":!0}),P=(H=n==null?void 0:n.thumbnails)!=null&&H.length?n.thumbnails.map((D,y)=>{var R;return e(o,{node:D,loading:(n==null?void 0:n.thumbnailsLoadingMode)||"lazy",alt:((R=a==null?void 0:a.props)==null?void 0:R.children)&&(B==null?void 0:B.replace("{product}",a.props.children.toString()).replace("{key}",String(y+1)).replace("{total}",String(c.length)))},y)}):e("img",{src:"data:image/gif;base64,R0lGODlhAQABAIAAAAAAAP///yH5BAEAAAAALAAAAAABAAEAAAIBRAA7",className:"pdp-product__images__placeholder","aria-hidden":!0});return V("div",{...nt,className:w(["pdp-product",z]),children:[N&&e(o,{node:N,className:"pdp-product__breadcrumbs"}),V("div",{className:"pdp-product__column-container pdp-product__gallery-column",children:[e("div",{className:"pdp-product__column-body",children:(F=n==null?void 0:n.controls)!=null&&F.desktop?e(C,{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:((E=n==null?void 0:n.thumbnails)==null?void 0:E.length)>1&&((m=n==null?void 0:n.peak)==null?void 0:m.desktop)||!1,gap:(n==null?void 0:n.gap)||null,width:"100%",height:"100%",defaultIndex:G||0,thumbnails:P,children:x}):e(st,{className:"pdp-product__images",gap:"small",children:x})}),S&&e(o,{node:S,className:"pdp-product__gallery-content"})]}),V("div",{className:"pdp-product__column-container pdp-product__content-column",children:[V("div",{className:"pdp-product__column-body",children:[V("div",{className:"pdp-product__header",children:[a&&e(o,{node:a,className:"pdp-product__title"}),I&&e(o,{node:I,className:"pdp-product__sku"})]}),V("div",{className:"pdp-product__prices",children:[Z&&e(o,{node:Z,className:w(["pdp-product__price-special","pdp-product__price"]),"aria-label":k,role:"text"}),u&&e(o,{node:u,className:w(["pdp-product__price-regular","pdp-product__price--grey"]),"aria-label":rt,role:"text"})]}),($=n==null?void 0:n.controls)!=null&&$.mobile&&((q=n==null?void 0:n.controls)==null?void 0:q.mobile)==="thumbnailsRow"?e(C,{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:((W=n==null?void 0:n.thumbnails)==null?void 0:W.length)>1&&((X=n==null?void 0:n.peak)==null?void 0:X.mobile)||!1,gap:(n==null?void 0:n.gap)||null,thumbnails:P,children:x}):e(C,{className:"pdp-product__images pdp-product__images--carousel",peak:((Y=n==null?void 0:n.peak)==null?void 0:Y.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:x}),V("div",{className:w(["pdp-product__actions",["pdp-product__actions--out-of-stock",U]]),children:[U&&e("div",{className:"pdp-product__out-of-stock__text",children:pt}),h&&e(o,{node:h,className:w(["pdp-product__options"])}),K&&e("div",{className:"pdp-product__quantity",children:e(o,{node:K})}),M&&e(o,{node:M,className:w(["pdp-product__buttons"])})]}),s&&e(o,{node:s,className:w(["pdp-product__short_description"])}),r&&e(o,{node:r,className:w(["pdp-product__description"])}),tt?e("div",{className:"pdp-product__attributes",children:tt}):null]}),v&&e(o,{node:v,className:"pdp-product__info-content"})]}),O&&e(o,{node:O,className:"pdp-product__content"}),G===null?null:e(Dt,{className:"pdp-product__overlay",onClose:()=>t(null),centered:!0,children:e(C,{className:"pdp-product__overlay__carousel",arrows:(c==null?void 0:c.length)>1,width:"100%",height:"100%",defaultIndex:G||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:x})})]})},st=({children:a,gap:N=null,className:S,style:v,...O})=>{const I=ot.count(a);return e("div",{...O,className:w(["pdp-gallery-grid",S]),style:{"--gap":N?`var(--spacing-${N})`:"0px",...v},children:ot.map(a,(U,s)=>e("div",{className:"pdp-gallery-grid__item",children:e(o,{node:U,loading:s===0?"eager":"lazy"},U.props.src)},I+s))})},Mt=({sku:a,hideSku:N,hideQuantity:S,hideShortDescription:v,hideDescription:O,hideAttributes:I,hideURLParams:U,hideSelectedOptionValue:s,slots:r,children:tt,initialData:c,carousel:h,optionsConfig:u,useACDL:Z,onAddToCart:z,zoomType:at,closeButton:K=!0,disableDropdownPreselection:M,...n})=>{var Q,it,_t,mt;const J=L("PDP.Product.AddToCart.label").label,et=L("PDP.Product.Incrementer.label").label,nt=L("PDP.Product.Details.label").label,rt=L("PDP.Swatches.ChooseOption.label").label,[k,pt]=j(yt.getConfig().defaultLocale||"en-US"),[B,G]=j(),[t=null,x]=j(c),[P,H]=j(()=>{const p={sku:a,quantity:1};return t!=null&&t.optionUIDs&&(p.optionsUIDs=t.optionUIDs),p}),[F,E]=j(()=>{var p,d;return!(t!=null&&t.options&&((p=t==null?void 0:t.options)==null?void 0:p.length)>0&&((d=t==null?void 0:t.optionUIDs)==null?void 0:d.length)!==(t==null?void 0:t.options.length))}),m={data:t,values:P,valid:F};function $(p){return p==null?void 0:p.some(d=>(d==null?void 0:d.typename)==="ProductViewOptionValueProduct")}f(()=>{const p=lt.on("pdp/setValues",d=>{H(l=>({...l,...d}))});return()=>{p==null||p.off()}},[]),f(()=>{const p=lt.on("locale",d=>{d!==k&&(pt(d),ht(a,{preselectFirstOption:!M,anchors:u==null?void 0:u.anchorOptions}).then(x))});return()=>{p==null||p.off()}},[M,k,u==null?void 0:u.anchorOptions,a]),f(()=>{Z&&c&&Object.keys(c).length>0&&Vt(c)},[c]);const q=g(p=>{H(d=>({...d,...p}))},[]);f(()=>{lt.emit("pdp/values",P)},[JSON.stringify(P)]);const W=g(async p=>{var i,_;let d=Object.entries(p).filter(([b,T])=>T.label!==rt).map(([b,T])=>p[b].value).filter(b=>b!==void 0);!U&&(t!=null&&t.options)&&!$(t.options)&&kt({optionsUIDs:d.join(",")}),q({optionsUIDs:d}),E((d==null?void 0:d.length)===((i=t==null?void 0:t.options)==null?void 0:i.length));const l=await ht(a,{anchors:u==null?void 0:u.anchorOptions,isBundle:t==null?void 0:t.isBundle,optionsUIDs:d,preselectFirstOption:!M});x(l),(_=u==null?void 0:u.anchorOptions)!=null&&_.length&&X(l,d)},[a]),X=g((p,d)=>{var _;const l=(p==null?void 0:p.optionUIDs)??[];d.every(b=>l.includes(b))||(G(p==null?void 0:p.options),q({optionsUIDs:l}),E((l==null?void 0:l.length)===((_=p==null?void 0:p.options)==null?void 0:_.length)))},[a]),Y=g(p=>{Object.keys(p).length!==0&&E(!1)},[]),D=vt(()=>{var p;return(p=t==null?void 0:t.attributes)==null?void 0:p.map(({label:d,value:l},i)=>{const _=xt(l)?Lt(l,k):l.toString();return V("li",{children:[d,": ",e("span",{dangerouslySetInnerHTML:{__html:_}})]},i)})},[t==null?void 0:t.attributes,k]),y=!S&&(t!=null&&t.inStock)?e(A,{name:"Quantity",slot:r==null?void 0:r.Quantity,context:{...m},children:e(Ot,{name:"quantity",defaultValue:P.quantity.toString(),value:P.quantity.toString(),min:1,"aria-label":et,className:"pdp-product__quantity",onValue:p=>{q({quantity:Number(p)})}},"quantity")}):void 0,R=()=>{if(t!=null&&t.options)return e(A,{name:"Options",slot:r==null?void 0:r.Options,context:{...m},children:e(wt,{selectedUIDs:P.optionsUIDs,options:t.options,defaultOptions:P.optionsUIDs,selectionsToUpdate:B,hideSelectedValue:s,disablePreselections:M,onValues:W,onErrors:Y})})};return e("div",{...n,children:e(Ut,{title:e(A,{name:"Title",slot:r==null?void 0:r.Title,context:{...m},children:t==null?void 0:t.name}),sku:N?void 0:e(A,{name:"SKU",slot:r==null?void 0:r.SKU,context:{...m},children:t==null?void 0:t.sku}),options:R(),breadcrumbs:(r==null?void 0:r.Breadcrumbs)&&e(A,{name:"Breadcrumbs",slot:r==null?void 0:r.Breadcrumbs,context:{...m,setSeparator(p){this._registerMethod((...d)=>{const l=p(...d),i=l&&e(dt,{source:l});this._setProps(_=>({..._,separator:i,children:[e(ct,{separator:i,categories:_.categories})]}))})},appendLink(p){this._registerMethod((...d)=>{const{text:l,...i}=p(...d),_=e("a",{...i,children:l});this._setProps(b=>{const T=[...b.categories||[],_];return{...b,categories:T,children:[e(ct,{separator:b.separator,categories:T})]}})})},appendHTMLElement(p){this._registerMethod((...d)=>{const l=p(...d),i=this._htmlElementToVNode(l);this._setProps(_=>{const b=[..._.categories||[],i];return{..._,categories:b,children:[e(ct,{separator:_.separator,categories:b})]}})})}}}),quantity:y,actions:e(A,{name:"Actions",slot:r==null?void 0:r.Actions,context:{...m,appendButton(p){this._registerMethod((...d)=>{const l=p(...d);if(!l)return;const{text:i,icon:_,...b}=l,T=e(bt,{type:"button",...b,icon:_&&e(dt,{source:_}),children:i});this._setProps(St=>({children:[...St.children||[],T]}))})}},children:!(r!=null&&r.Actions)&&e(bt,{size:"medium",type:"submit",icon:e(dt,{source:"Cart"}),disabled:!(t!=null&&t.inStock)||!F,"aria-label":J,onClick:()=>z==null?void 0:z(P),children:J})}),shortDescription:v?void 0:e(A,{name:"ShortDescription",slot:r==null?void 0:r.ShortDescription,context:{...m},children:e("div",{dangerouslySetInnerHTML:{__html:(t==null?void 0:t.shortDescription)??""}})}),description:O?void 0:e(A,{name:"Description",slot:r==null?void 0:r.Description,context:{...m},children:e("div",{dangerouslySetInnerHTML:{__html:(t==null?void 0:t.description)??""}})}),images:((Q=t==null?void 0:t.images)==null?void 0:Q.map(({label:p,url:d})=>{var l,i;return e(At,{title:p,alt:p,src:d,width:((l=h==null?void 0:h.imageParams)==null?void 0:l.width)??960,height:((i=h==null?void 0:h.imageParams)==null?void 0:i.height)??1191,params:(h==null?void 0:h.imageParams)??{width:960}},d)}))??[],specialPrice:(it=t==null?void 0:t.prices)!=null&&it.visible?e(A,{name:"SpecialPrice",slot:r==null?void 0:r.SpecialPrice,context:{...m},children:e(Pt,{...t.prices.final,locale:ut(k)})}):void 0,price:(_t=t==null?void 0:t.prices)!=null&&_t.visible&&t.prices.regular&&t.prices.final.amount!==(t==null?void 0:t.prices.regular.amount)?e(A,{name:"RegularPrice",slot:r==null?void 0:r.RegularPrice,context:{...m},children:e(Pt,{...t.prices.regular,locale:ut(k)})}):void 0,zoomType:at,closeButton:K,carouselConfig:{...h,thumbnails:h&&Object.keys(h).length?((mt=t==null?void 0:t.images)==null?void 0:mt.map(({label:p,url:d})=>{var l,i;return e(At,{title:p,alt:p,src:d,width:((l=h==null?void 0:h.thumbnailParams)==null?void 0:l.width)??200,height:((i=h==null?void 0:h.thumbnailParams)==null?void 0:i.height)??248,params:(h==null?void 0:h.thumbnailParams)??{width:200}},d)}))??[]:[]},outOfStock:!(t!=null&&t.inStock),attributes:I?void 0:e(A,{name:"Attributes",slot:r==null?void 0:r.Attributes,context:{...m},children:D!=null&&D.length?V(Nt,{children:[nt,e("ul",{children:D})]}):null}),galleryContent:(r==null?void 0:r.GalleryContent)&&e(A,{name:"GalleryContent",slot:r.GalleryContent,context:{...m}}),infoContent:(r==null?void 0:r.InfoContent)&&e(A,{name:"InfoContent",slot:r.InfoContent,context:{...m}}),productContent:(r==null?void 0:r.Content)&&e(A,{name:"Content",slot:r.Content,context:{...m}})})})};Mt.getInitialData=async function({sku:a,disableDropdownPreselection:N=!1,optionsConfig:S}){var O,I;const v=(I=(O=yt.getConfig().models)==null?void 0:O.ProductDetails)==null?void 0:I.initialData;return v?Bt(v):ht(a,{preselectFirstOption:!N,anchors:S==null?void 0:S.anchorOptions})};export{Mt as ProductDetails,Mt as default};
@@ -8,6 +8,7 @@ export interface ProductGalleryProps extends Omit<HTMLAttributes<HTMLDivElement>
8
8
  peak?: boolean;
9
9
  gap?: 'small' | 'medium' | 'large' | null;
10
10
  arrows?: boolean;
11
+ arrowsOnMainImage?: boolean;
11
12
  imageParams?: ResolveImageUrlOptions;
12
13
  thumbnailParams?: ResolveImageUrlOptions;
13
14
  zoom?: {
@@ -1,3 +1,3 @@
1
- /*! Copyright 2024 Adobe
1
+ /*! Copyright 2025 Adobe
2
2
  All Rights Reserved. */
3
- import{jsx as A,jsxs as N}from"@dropins/tools/preact-jsx-runtime.js";import{useState as S,useEffect as Q,useMemo as C}from"@dropins/tools/preact-compat.js";import{Image as E}from"@dropins/tools/components.js";import{events as F}from"@dropins/tools/event-bus.js";import"@dropins/tools/lib.js";import{g as q}from"../chunks/getFetchedProductData.js";import{Z as z,C as R,O as J}from"../chunks/Zoom.js";/* empty css */import{useText as K}from"@dropins/tools/i18n.js";import"@dropins/tools/preact.js";const U=({initialData:Z=null,controls:j="dots",loop:g=!0,peak:v=!1,gap:G=null,arrows:f=!0,zoom:h=!1,imageParams:t,thumbnailParams:o,children:V,...T})=>{var w,B,y,I,_,x,D;const c=K("PDP.Product.Image.label").label,[e,k]=S(Z),[d,s]=S(null);Q(()=>{const l=F.on("pdp/data",k);return()=>{l==null||l.off()}},[]);const u=C(()=>{var l;return((l=e==null?void 0:e.images)==null?void 0:l.map(({label:i,url:p},n)=>{const r=({...M})=>{var O;return A(E,{title:i,src:p,alt:c==null?void 0:c.replace("{product}",i).replace("{key}",String(n+1)).replace("{total}",String((O=e==null?void 0:e.images)==null?void 0:O.length)),width:(t==null?void 0:t.width)??960,height:(t==null?void 0:t.height)??1191,params:t??{width:960},loading:n===0?"eager":"lazy",...M})};return h?A(z,{closeButton:typeof h=="object"?h.closeButton:!1,children:A(r,{})},p):A(r,{onClick:()=>s(n)},p)}))??A("img",{src:"data:image/gif;base64,R0lGODlhAQABAIAAAAAAAP///yH5BAEAAAAALAAAAAABAAEAAAIBRAA7",className:"pdp-product-gallery__images__placeholder",width:(t==null?void 0:t.width)??960,height:(t==null?void 0:t.height)??1191,"aria-hidden":!0},"pleaceholder")},[c,e==null?void 0:e.images,t,h]),H=C(()=>{var l;return((l=e==null?void 0:e.images)==null?void 0:l.map(({label:i,url:p},n)=>{var r;return A(E,{title:i,src:p,alt:c==null?void 0:c.replace("{product}",i).replace("{key}",String(n+1)).replace("{total}",String((r=e==null?void 0:e.images)==null?void 0:r.length)),width:(o==null?void 0:o.width)??200,height:(o==null?void 0:o.height)??248,params:o??{width:200},loading:"lazy"},p)}))??A("img",{src:"data:image/gif;base64,R0lGODlhAQABAIAAAAAAAP///yH5BAEAAAAALAAAAAABAAEAAAIBRAA7",className:"pdp-product-gallery__thumbnail__placeholder",width:(o==null?void 0:o.width)??200,height:(o==null?void 0:o.height)??248,"aria-hidden":!0},"pleaceholder")},[c,e==null?void 0:e.images,o]);return e?N("div",{...T,children:[A(R,{arrows:!!((w=e==null?void 0:e.images)!=null&&w.length)&&f,arrowsOnMainImage:!!((B=e==null?void 0:e.images)!=null&&B.length)&&f,controls:(y=e==null?void 0:e.images)!=null&&y.length?j:void 0,loop:g&&!!((I=e.images)!=null&&I.length),peak:!!((_=e==null?void 0:e.images)!=null&&_.length)&&v,gap:G,defaultIndex:d||0,thumbnails:H,children:u}),d===null?null:A(J,{onClose:()=>s(null),centered:!0,children:A(R,{arrows:!!((x=e==null?void 0:e.images)!=null&&x.length),width:"100%",height:"100%",defaultIndex:d,loop:g&&!!((D=e.images)!=null&&D.length),controls:"dots",isZoomed:!0,children:u})})]}):null};U.getInitialData=q;export{U as ProductGallery,U as default};
3
+ import{jsx as A,jsxs as Q}from"@dropins/tools/preact-jsx-runtime.js";import{useState as D,useEffect as F,useMemo as S}from"@dropins/tools/preact-compat.js";import{Image as C}from"@dropins/tools/components.js";import{events as M}from"@dropins/tools/event-bus.js";import"@dropins/tools/lib.js";import{g as q}from"../chunks/getFetchedProductData.js";import{Z as z,C as E,O as J}from"../chunks/Zoom.js";/* empty css */import{useText as K}from"@dropins/tools/i18n.js";import"@dropins/tools/preact.js";const U=({initialData:O=null,controls:R="dots",loop:g=!0,peak:Z=!1,gap:j=null,arrows:v=!0,arrowsOnMainImage:G=!1,zoom:h=!1,imageParams:t,thumbnailParams:o,children:V,...T})=>{var u,w,B,y,_,I;const c=K("PDP.Product.Image.label").label,[e,k]=D(O),[d,f]=D(null);F(()=>{const l=M.on("pdp/data",k);return()=>{l==null||l.off()}},[]);const s=S(()=>{var l;return((l=e==null?void 0:e.images)==null?void 0:l.map(({label:r,url:p},i)=>{const n=({...N})=>{var x;return A(C,{title:r,src:p,alt:c==null?void 0:c.replace("{product}",r).replace("{key}",String(i+1)).replace("{total}",String((x=e==null?void 0:e.images)==null?void 0:x.length)),width:(t==null?void 0:t.width)??960,height:(t==null?void 0:t.height)??1191,params:t??{width:960},loading:i===0?"eager":"lazy",...N})};return h?A(z,{closeButton:typeof h=="object"?h.closeButton:!1,children:A(n,{})},p):A(n,{onClick:()=>f(i)},p)}))??A("img",{src:"data:image/gif;base64,R0lGODlhAQABAIAAAAAAAP///yH5BAEAAAAALAAAAAABAAEAAAIBRAA7",className:"pdp-product-gallery__images__placeholder",width:(t==null?void 0:t.width)??960,height:(t==null?void 0:t.height)??1191,"aria-hidden":!0},"pleaceholder")},[c,e==null?void 0:e.images,t,h]),H=S(()=>{var l;return((l=e==null?void 0:e.images)==null?void 0:l.map(({label:r,url:p},i)=>{var n;return A(C,{title:r,src:p,alt:c==null?void 0:c.replace("{product}",r).replace("{key}",String(i+1)).replace("{total}",String((n=e==null?void 0:e.images)==null?void 0:n.length)),width:(o==null?void 0:o.width)??200,height:(o==null?void 0:o.height)??248,params:o??{width:200},loading:"lazy"},p)}))??A("img",{src:"data:image/gif;base64,R0lGODlhAQABAIAAAAAAAP///yH5BAEAAAAALAAAAAABAAEAAAIBRAA7",className:"pdp-product-gallery__thumbnail__placeholder",width:(o==null?void 0:o.width)??200,height:(o==null?void 0:o.height)??248,"aria-hidden":!0},"pleaceholder")},[c,e==null?void 0:e.images,o]);return e?Q("div",{...T,children:[A(E,{arrows:!!((u=e==null?void 0:e.images)!=null&&u.length)&&v,arrowsOnMainImage:G,controls:(w=e==null?void 0:e.images)!=null&&w.length?R:void 0,loop:g&&!!((B=e.images)!=null&&B.length),peak:!!((y=e==null?void 0:e.images)!=null&&y.length)&&Z,gap:j,defaultIndex:d||0,thumbnails:H,children:s}),d===null?null:A(J,{onClose:()=>f(null),centered:!0,children:A(E,{arrows:!!((_=e==null?void 0:e.images)!=null&&_.length),width:"100%",height:"100%",defaultIndex:d,loop:g&&!!((I=e.images)!=null&&I.length),controls:"dots",isZoomed:!0,children:s})})]}):null};U.getInitialData=q;export{U as ProductGallery,U as default};
@@ -1,3 +1,3 @@
1
- /*! Copyright 2024 Adobe
1
+ /*! Copyright 2025 Adobe
2
2
  All Rights Reserved. */
3
3
  import{jsxs as c,jsx as e,Fragment as i}from"@dropins/tools/preact-jsx-runtime.js";import{useState as m,useEffect as p}from"@dropins/tools/preact-compat.js";import{classes as u,VComponent as l}from"@dropins/tools/lib.js";import"@dropins/tools/components.js";/* empty css */import"@dropins/tools/preact.js";import{events as f}from"@dropins/tools/event-bus.js";import{g as h}from"../chunks/getFetchedProductData.js";const g=({className:r,title:a,sku:n,hideSku:s=!1,children:t,...d})=>c("div",{...d,className:u(["pdp-header",r]),children:[e("div",{className:"pdp-header__title",children:e(l,{node:a})}),!s&&e("div",{className:"pdp-header__sku",children:e(l,{node:n})})]}),_=({initialData:r=null,hideSku:a=!1,children:n,...s})=>{const[t,d]=m(r);return p(()=>{const o=f.on("pdp/data",d);return()=>{o==null||o.off()}},[]),t?e(g,{...s,title:e(i,{children:t.name}),sku:e(i,{children:t.sku}),hideSku:a}):null};_.getInitialData=h;export{_ as ProductHeader,_ as default};
@@ -1,3 +1,3 @@
1
- /*! Copyright 2024 Adobe
1
+ /*! Copyright 2025 Adobe
2
2
  All Rights Reserved. */
3
3
  import{jsx as j}from"@dropins/tools/preact-jsx-runtime.js";import{useState as d,useEffect as q,useCallback as C}from"@dropins/tools/preact-compat.js";import{Slot as z}from"@dropins/tools/lib.js";import{events as g}from"@dropins/tools/event-bus.js";import"@dropins/tools/components.js";/* empty css */import{S as A}from"../chunks/Swatches.js";import"@dropins/tools/preact.js";import{c as I,l as G,h as H,j as w,p as J}from"../chunks/isProductConfigurationValid.js";import{g as v,s as b}from"../chunks/getProductConfigurationValues.js";import{g as K}from"../chunks/getFetchedProductData.js";import"@dropins/tools/i18n.js";import"@dropins/tools/fetch-graphql.js";const N=({initialData:a={data:null,optionsUIDs:[]},hideSelectedValue:f=!1,slots:r,onValues:p,onErrors:l,children:Q,...y})=>{var h;const[o,O]=d(a.data),[u,B]=d(a.optionsUIDs),[F,M]=d();q(()=>{const i=g.on("pdp/data",O),c=g.on("pdp/values",({optionsUIDs:e})=>{e&&B(e)});return()=>{i==null||i.off(),c==null||c.off()}},[]);const T=C(async i=>{var P,U,D,S;if(!(o!=null&&o.sku))return;const{persistURLParams:c,anchors:e,acdl:R}=I.getConfig()??{};let s=Object.keys(i).map(t=>i[t].value).filter(t=>t!==void 0);if(c&&!(o!=null&&o.isBundle)&&G({optionsUIDs:s.join(",")}),((U=(P=v())==null?void 0:P.optionsUIDs)==null?void 0:U.join("|"))!==(s==null?void 0:s.join("|"))){b(n=>({...n,optionsUIDs:s})),p==null||p(s);const t=await H(o.sku,{optionsUIDs:s??[],isBundle:o==null?void 0:o.isBundle,anchors:e});g.emit("pdp/data",t);let k=(s==null?void 0:s.length)===((D=t==null?void 0:t.options)==null?void 0:D.length);if(e!=null&&e.length){const n=(t==null?void 0:t.optionUIDs)??[];s.every(m=>n.includes(m))||(M(t==null?void 0:t.options),b(m=>({...m,optionsUIDs:n})),k=(n==null?void 0:n.length)===((S=t==null?void 0:t.options)==null?void 0:S.length))}w(()=>k),R&&t&&(t==null?void 0:t.variantSku)!==o.sku&&J(t)}},[o==null?void 0:o.isBundle,o==null?void 0:o.sku,p]),L=C(i=>{Object.keys(i).length!==0&&(w(()=>!1),l==null||l(i))},[l]);return!o||!o.options?null:j(z,{name:"Swatches",slot:r==null?void 0:r.Swatches,context:{data:o,optionsUIDs:u},children:j(A,{...y,options:o.options,selectedUIDs:u,defaultOptions:u,selectionsToUpdate:F,hideSelectedValue:f,disablePreselections:!((h=I.getConfig())!=null&&h.preselectFirstOption),onValues:T,onErrors:L})})};N.getInitialData=async function(){var r;const a=await K(),f=((r=v())==null?void 0:r.optionsUIDs)??[];return{data:a,optionsUIDs:f}};export{N as ProductOptions,N as default};
@@ -1,3 +1,3 @@
1
- /*! Copyright 2024 Adobe
1
+ /*! Copyright 2025 Adobe
2
2
  All Rights Reserved. */
3
3
  import{jsxs as D,jsx as r}from"@dropins/tools/preact-jsx-runtime.js";import{useState as d,useEffect as L}from"@dropins/tools/preact-compat.js";import{classes as s,VComponent as f,toLanguageTag as g}from"@dropins/tools/lib.js";import"@dropins/tools/components.js";/* empty css */import{P}from"../chunks/PriceRange.js";import"@dropins/tools/preact.js";import{useText as b}from"@dropins/tools/i18n.js";import{events as _}from"@dropins/tools/event-bus.js";import{g as h}from"../chunks/getFetchedProductData.js";import{c as v}from"../chunks/isProductConfigurationValid.js";import"@dropins/tools/fetch-graphql.js";import"../chunks/getProductConfigurationValues.js";const S=({className:t,price:i,specialPrice:a,children:n,...e})=>{const c=b("PDP.Product.RegularPrice.label").label,o=b("PDP.Product.SpecialPrice.label").label;return D("div",{...e,className:s(["pdp-price",t]),children:[a&&r(f,{node:a,className:s(["pdp-price__amount-special","pdp-price__amount"]),"aria-label":o,role:"text"}),i&&r(f,{node:i,className:s(["pdp-price__amount-regular","pdp-price__amount--grey"]),"aria-label":c,role:"text"})]})},N=({initialData:t=null,children:i,...a})=>{var m,u;const{defaultLocale:n="en-US"}=v.getConfig(),[e,c]=d(t),[o,x]=d(n);return L(()=>{const l=_.on("pdp/data",c),p=_.on("locale",x);return()=>{l==null||l.off(),p==null||p.off()}},[]),e?r(S,{...a,specialPrice:(m=e.prices)!=null&&m.visible?r(P,{...e.prices.final,locale:g(o)}):void 0,price:(u=e.prices)!=null&&u.visible&&e.prices.regular&&e.prices.final.amount!==e.prices.regular.amount?r(P,{...e.prices.regular,locale:g(o)}):void 0}):null};N.getInitialData=h;export{N as ProductPrice,N as default};
@@ -1,3 +1,3 @@
1
- /*! Copyright 2024 Adobe
1
+ /*! Copyright 2025 Adobe
2
2
  All Rights Reserved. */
3
3
  import{jsx as d}from"@dropins/tools/preact-jsx-runtime.js";import{useState as s,useEffect as g}from"@dropins/tools/preact-compat.js";import{classes as P}from"@dropins/tools/lib.js";import{Incrementer as y}from"@dropins/tools/components.js";import{events as u}from"@dropins/tools/event-bus.js";import{s as I}from"../chunks/getProductConfigurationValues.js";import{g as b}from"../chunks/getFetchedProductData.js";import{useText as q}from"@dropins/tools/i18n.js";const D=({initialData:i=null,onValue:r,children:h,...n})=>{const m=q("PDP.Product.Incrementer.label").label,[c,l]=s(i),[o,f]=s(1);g(()=>{const e=u.on("pdp/data",l),t=u.on("pdp/values",({quantity:a})=>{f(a)},{eager:!0});return()=>{e==null||e.off(),t==null||t.off()}},[]);const p=e=>{const t=parseInt(e,10);I(a=>({...a,quantity:t})),r==null||r(t)};return c?d(y,{name:"quantity",defaultValue:o.toString(),value:o.toString(),min:1,"aria-label":m,onValue:p,...n,className:P(["pdp-quantity",n.className])},"quantity"):null};D.getInitialData=b;export{D as ProductQuantity,D as default};
@@ -1,3 +1,3 @@
1
- /*! Copyright 2024 Adobe
1
+ /*! Copyright 2025 Adobe
2
2
  All Rights Reserved. */
3
3
  import{jsx as n}from"@dropins/tools/preact-jsx-runtime.js";import{useState as i,useEffect as a}from"@dropins/tools/preact-compat.js";import{classes as c}from"@dropins/tools/lib.js";import{events as m}from"@dropins/tools/event-bus.js";import{g as l}from"../chunks/getFetchedProductData.js";const f=({initialData:o=null,children:p,...e})=>{const[t,s]=i(o);return a(()=>{const r=m.on("pdp/data",s);return()=>{r==null||r.off()}},[]),t?n("div",{dangerouslySetInnerHTML:{__html:(t==null?void 0:t.shortDescription)??""},...e,className:c(["pdp-short-description",e.className])}):null};f.getInitialData=l;export{f as ProductShortDescription,f as default};
package/package.json CHANGED
@@ -1 +1 @@
1
- {"name": "@dropins/storefront-pdp", "version": "1.0.0", "@dropins/tools": "~0.36.0", "license": "SEE LICENSE IN LICENSE.md"}
1
+ {"name": "@dropins/storefront-pdp", "version": "1.0.1", "@dropins/tools": "~0.36.0", "license": "SEE LICENSE IN LICENSE.md"}
package/render.js CHANGED
@@ -1,4 +1,4 @@
1
- /*! Copyright 2024 Adobe
1
+ /*! Copyright 2025 Adobe
2
2
  All Rights Reserved. */
3
3
  (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;width:fit-content}.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__content{display:flex;height:100%;width:100%}.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;position:relative;z-index:0}.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)}}.pdp-header{display:grid;grid-auto-rows:max-content}.pdp-header__title{font:var(--type-display-3-font);letter-spacing:var(--type-display-3-letter-spacing);margin:0}.pdp-header__sku{font:var(--type-body-1-default-font);max-width:600px}.pdp-price{display:flex;gap:var(--spacing-xsmall);margin-top:var(--spacing-medium)}.pdp-price__amount,.pdp-price__amount-special{font:var(--type-headline-2-strong-font);letter-spacing:var(--type-headline-2-strong-letter-spacing)}.pdp-price__amount--grey{color:var(--color-neutral-500)}",{styleId:"PDP"});
4
4
  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 m,useEffect as f}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/isProductConfigurationValid.js";import"@dropins/tools/fetch-graphql.js";import"./chunks/getProductConfigurationValues.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 t;const[e,i]=m(),n=(t=g.getConfig())==null?void 0:t.langDefinitions;f(()=>{const o=d.on("locale",l=>{l!==e&&i(l)},{eager:!0});return()=>{o==null||o.off()}},[e]);const s=c(S,n??{});return r(b,{lang:e,langDefinitions:s,children:a})},q=new u(r(D,{}));export{q as render};