@dropins/storefront-pdp 0.5.0-beta5 → 1.0.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.
- package/api/fetchProductData/fetchProductData.d.ts +24 -0
- package/api/fetchProductData/index.d.ts +17 -0
- package/api/getFetchedProductData/getFetchedProductData.d.ts +4 -0
- package/api/getFetchedProductData/index.d.ts +17 -0
- package/api/getProductConfigurationValues/getProductConfigurationValues.d.ts +4 -0
- package/api/getProductConfigurationValues/index.d.ts +17 -0
- package/api/index.d.ts +6 -0
- package/api/initialize/initialize.d.ts +9 -1
- package/api/isProductConfigurationValid/index.d.ts +17 -0
- package/api/isProductConfigurationValid/isProductConfigurationValid.d.ts +17 -0
- package/api/setProductConfigurationValid/index.d.ts +17 -0
- package/api/setProductConfigurationValid/setProductConfigurationValid.d.ts +17 -0
- package/api/setProductConfigurationValues/index.d.ts +17 -0
- package/api/setProductConfigurationValues/setProductConfigurationValues.d.ts +4 -0
- package/api.js +3 -1
- package/chunks/PriceRange.js +3 -0
- package/chunks/Swatches.js +3 -0
- package/chunks/Zoom.js +3 -0
- package/chunks/date.js +3 -0
- package/chunks/fetchProductData.js +187 -0
- package/chunks/getFetchedProductData.js +3 -0
- package/chunks/getProductConfigurationValues.js +3 -0
- package/chunks/isProductConfigurationValid.js +3 -0
- package/components/Header/Header.d.ts +10 -0
- package/components/Header/index.d.ts +18 -0
- package/components/Price/Price.d.ts +9 -0
- package/components/Price/index.d.ts +18 -0
- package/components/index.d.ts +2 -0
- package/containers/ProductAttributes/ProductAttributes.d.ts +8 -0
- package/containers/ProductAttributes/index.d.ts +18 -0
- package/containers/ProductAttributes.d.ts +3 -0
- package/containers/ProductAttributes.js +3 -0
- package/containers/ProductDescription/ProductDescription.d.ts +8 -0
- package/containers/ProductDescription/index.d.ts +18 -0
- package/containers/ProductDescription.d.ts +3 -0
- package/containers/ProductDescription.js +3 -0
- package/containers/ProductDetails.js +3 -1
- package/containers/ProductGallery/ProductGallery.d.ts +18 -0
- package/containers/ProductGallery/index.d.ts +3 -0
- package/containers/ProductGallery.d.ts +3 -0
- package/containers/ProductGallery.js +3 -0
- package/containers/ProductHeader/ProductHeader.d.ts +9 -0
- package/containers/ProductHeader/index.d.ts +18 -0
- package/containers/ProductHeader.d.ts +3 -0
- package/containers/ProductHeader.js +3 -0
- package/containers/ProductOptions/ProductOptions.d.ts +22 -0
- package/containers/ProductOptions/index.d.ts +18 -0
- package/containers/ProductOptions.d.ts +3 -0
- package/containers/ProductOptions.js +3 -0
- package/containers/ProductPrice/ProductPrice.d.ts +8 -0
- package/containers/ProductPrice/index.d.ts +18 -0
- package/containers/ProductPrice.d.ts +3 -0
- package/containers/ProductPrice.js +3 -0
- package/containers/ProductQuantity/ProductQuantity.d.ts +9 -0
- package/containers/ProductQuantity/index.d.ts +18 -0
- package/containers/ProductQuantity.d.ts +3 -0
- package/containers/ProductQuantity.js +3 -0
- package/containers/ProductShortDescription/ProductShortDescription.d.ts +8 -0
- package/containers/ProductShortDescription/index.d.ts +18 -0
- package/containers/ProductShortDescription.d.ts +3 -0
- package/containers/ProductShortDescription.js +3 -0
- package/containers/index.d.ts +8 -0
- package/data/models/index.d.ts +1 -0
- package/data/models/values-model.d.ts +6 -0
- package/package.json +1 -1
- package/render.js +4 -2
- package/chunks/getRefinedProduct.js +0 -185
- package/chunks/initialize.js +0 -1
|
@@ -0,0 +1,18 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* ADOBE CONFIDENTIAL
|
|
3
|
+
* __________________
|
|
4
|
+
* Copyright 2024 Adobe
|
|
5
|
+
* All Rights Reserved.
|
|
6
|
+
* __________________
|
|
7
|
+
* NOTICE: All information contained herein is, and remains
|
|
8
|
+
* the property of Adobe and its suppliers, if any. The intellectual
|
|
9
|
+
* and technical concepts contained herein are proprietary to Adobe
|
|
10
|
+
* and its suppliers and are protected by all applicable intellectual
|
|
11
|
+
* property laws, including trade secret and copyright laws.
|
|
12
|
+
* Dissemination of this information or reproduction of this material
|
|
13
|
+
* is strictly forbidden unless prior written permission is obtained
|
|
14
|
+
* from Adobe.
|
|
15
|
+
*/
|
|
16
|
+
export * from './ProductDescription';
|
|
17
|
+
export { ProductDescription as default } from './ProductDescription';
|
|
18
|
+
//# sourceMappingURL=index.d.ts.map
|
|
@@ -0,0 +1,3 @@
|
|
|
1
|
+
/*! Copyright 2024 Adobe
|
|
2
|
+
All Rights Reserved. */
|
|
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 +1,3 @@
|
|
|
1
|
-
import{jsxs as F,jsx as n,Fragment as Ne}from"@dropins/tools/preact-jsx-runtime.js";import*as ve from"@dropins/tools/preact-compat.js";import{useState as Y,Children as he,useRef as Se,useMemo as Le,useEffect as J,useCallback as ie}from"@dropins/tools/preact-compat.js";import{debounce as Oe,classes as $,VComponent as G,toLanguageTag as Me,Slot as Z}from"@dropins/tools/lib.js";import{Button as Pe,Icon as Ae,Price as ge,Picker as He,ColorSwatch as qe,ImageSwatch as je,TextSwatch as Fe,Incrementer as Xe,Breadcrumbs as De,Image as Ee}from"@dropins/tools/components.js";import{useText as X}from"@dropins/tools/i18n.js";import{cloneElement as Ge}from"@dropins/tools/preact.js";import{c as ke,d as Te}from"../chunks/getRefinedProduct.js";import{events as xe}from"@dropins/tools/event-bus.js";import{c as Be}from"../chunks/initialize.js";import"@dropins/tools/fetch-graphql.js";const Ye=e=>ve.createElement("svg",{width:24,height:24,viewBox:"0 0 24 24",fill:"none",xmlns:"http://www.w3.org/2000/svg",...e},ve.createElement("path",{d:"M7.74512 9.87701L12.0001 14.132L16.2551 9.87701",stroke:"currentColor",strokeWidth:1.5,strokeLinecap:"square",strokeLinejoin:"round"})),We=e=>ve.createElement("svg",{width:24,height:24,viewBox:"0 0 24 24",fill:"none",xmlns:"http://www.w3.org/2000/svg",...e},ve.createElement("path",{vectorEffect:"non-scaling-stroke",d:"M18.3599 5.64001L5.62988 18.37",stroke:"currentColor"}),ve.createElement("path",{vectorEffect:"non-scaling-stroke",d:"M18.3599 18.37L5.62988 5.64001",stroke:"currentColor"})),Ke=24,$e=16,fe=2,Ze="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:h=!1,peak:u=!1,arrows:m=!1,controls:o="dots",arrowsOnMainImage:w=!1,loop:p=!1,gap:P=null,direction:a="horizontal",width:R="100%",height:c="100%",defaultIndex:f=0,className:T,children:O,thumbnails:B=null,isZoomed:C,...le})=>{const te=X("PDP.Carousel.label").label,r=X("PDP.Carousel.Slide.label").label,y=X("PDP.Carousel.Previous.label").label,_=X("PDP.Carousel.Next.label").label,L=X("PDP.Carousel.Controls.label").label,M=X("PDP.Carousel.Controls.Button.label").label,[v,g]=Y(()=>Ie(e)),s=Math.ceil(he.count(O)/v),E=u?Ke:0,t=P?ze[P]:0,U=he.count(O)%v,[S,ae]=Y(p?Q()?f-1:f+1:f),K=Se([]),[ne,V]=Y(0),[se,pe]=Y(0),_e=Le(()=>he.toArray(B),[B]),H=Le(()=>{const l=he.toArray(O).reduce((i,D,N)=>N%v===0?[...i,[D]]:[...i.slice(0,-1),[...i[i.length-1],D]],[]);return!p||l.length===1?l:p&&he.count(O)%v===0?[l[s-1]].concat(l).concat([l[0],l[1]]):[he.toArray(O).slice(-v)].concat(l).concat([l[0],l[1]])},[O,v,s,p]),ce=Se(null),re=Se(null),x=o==="thumbnailsRow"||o==="thumbnailsColumn";J(()=>{const l=document.body,i=Oe(()=>{var k,oe;V(((k=ce.current)==null?void 0:k.offsetWidth)??0),pe(((oe=ce.current)==null?void 0:oe.offsetHeight)??0);const N=window.innerWidth,I=Ie(e,N);I!==v&&g(I)},50),D=new ResizeObserver(i);return D.observe(l),()=>{D.unobserve(l)}},[v,e]);const ee=ie(l=>{const i=p?l-1:l,D=K==null?void 0:K.current[0],N=(D==null?void 0:D.offsetWidth)+$e,I=(D==null?void 0:D.offsetHeight)+$e,k=re.current,oe=o==="thumbnailsRow",we=o==="thumbnailsColumn",de=oe?k==null?void 0:k.offsetWidth:k==null?void 0:k.offsetHeight,j=oe?N:I;(oe||we)&&de&&(j*(i+1)>de&&(k.style.scrollBehavior="smooth",oe?k.scrollLeft=Q()?k.scrollWidth-k.clientWidth-(i+fe)*j:(i+fe)*j:k.scrollTop=(i+fe)*j),(Q()&&(oe?k.scrollLeft:k.scrollTop)<=-j*i||!Q()&&(oe?k.scrollLeft:k.scrollTop)>j*i)&&(k.style.scrollBehavior="smooth",oe?k.scrollLeft=Q()?-(i-fe)*j:(i-fe)*j:k.scrollTop=(i-fe)*j))},[o,p]);J(()=>{ee(S)},[S,ee]);const W=ie((l,i,D)=>{x&&ee(l);const N=ce.current,I=E?N.offsetWidth-E:N.offsetWidth-E+t;if(!Array.from(N.querySelectorAll("[data-index]")).filter(de=>{const j=Number(de.getAttribute("data-index"));return!isNaN(j)&&j>-1})[l])return;if(D){const de=l===0?s:0,j=I*(s+(U||v)/v);if(Q()){if(N.scrollLeft<=0&&N.scrollLeft>-(I-5)){W(1,!0);return}if(N.scrollLeft<I-j&&N.scrollLeft>=-j){W(s,!0);return}N.style.scrollBehavior="auto",N.scrollLeft=de===0?0:-j,W(de===0?1:s,!0)}else{if(N.scrollLeft>=0&&N.scrollLeft<I-5){W(1,!0);return}if(N.scrollLeft>j-I&&N.scrollLeft<=j){W(s,!0);return}N.style.scrollBehavior="auto",N.scrollLeft=de===0?0:j,W(de===0?1:s,!0);return}}const we=(N.offsetWidth-t)/v*H[l].length-E;N.style.scrollBehavior=i?"smooth":"auto",N.scrollLeft=Q()?-(H[l].length===v?I*l:I*(l-1)-we):H[l].length===v?I*l:I*(l-1)+we},[t,s,E,v,U,H,ee,o]),ue=ie(()=>{if(p){const i=S-1;W(i,!0,Q()?S===s-1:S===1);return}const l=S<=0?0:S-1;W(l,!0)},[S,W,p]),me=ie(()=>{const l=H.length-1;if(p){const D=S+1;W(D,!0,Q()?S===0:S===s);return}const i=S>=l?l:S+1;W(i,!0)},[H.length,p,S,W,s]);J(()=>{const l=i=>{i.key==="ArrowLeft"&&(i.preventDefault(),Q()?me():ue()),i.key==="ArrowRight"&&(i.preventDefault(),Q()?ue():me())};return window.addEventListener("keydown",l),()=>{window.removeEventListener("keydown",l)}},[me,ue]),J(()=>{W(p?f+1:f,!1)},[f,W,p]);const be=Oe(()=>{const l=ce.current,i=E?l.offsetWidth-E:l.offsetWidth-E+t,D=Math.abs(l.scrollLeft)/i,N=Math.abs(Math.round(D)-D<1?Math.round(D):Math.ceil(D));if(x&&ee(N),p){const I=i*(s+(U||v)/v),k=Q()?-l.scrollLeft:l.scrollLeft;if(Math.ceil(Math.abs(k))>=Math.ceil(I)-5){l.style.scrollBehavior="auto",l.scrollLeft=Q()?-l.offsetWidth+(Math.ceil(k)-Math.ceil(I)-E):l.offsetWidth+(Math.ceil(k)-Math.ceil(I)-E);return}if(Math.abs(k)===0){l.style.scrollBehavior="auto",l.scrollLeft=Q()?-(I-l.offsetWidth+E):I-l.offsetWidth+E;return}}S!==N&&ae(N)},100);J(()=>{const l=ce.current;return l==null||l.addEventListener("scroll",be),()=>{l==null||l.removeEventListener("scroll",be)}},[be]);const d=(l,i,D)=>n(Pe,{className:$([["pdp-carousel__button",!l],[`pdp-carousel__button--${i}`,!l],[`pdp-carousel__button--${o}`,l]]),style:{"--height":`${se}px`},variant:"tertiary","aria-label":i==="next"?_:y,onClick:D,disabled:p?!1:i==="next"?S>=H.length-1:S<1,children:n(Ae,{className:$([["pdp-carousel__button__icon",!l],[`pdp-carousel__button__icon--${i}`,!l],[`pdp-carousel__button__icon--${o}--${i}`,l]]),size:Ze,source:Ye})}),b=m&&H.length!=1&&d(x,"prev",ue),A=m&&H.length!=1&&d(x,"next",me),z=m&&H.length!=1&&d(!1,"prev",ue),q=m&&H.length!=1&&d(!1,"next",me);return F("div",{role:"region","aria-roledescription":te,className:$(["pdp-carousel",["pdp-carousel--main-image-controls",w],["pdp-carousel--arrows",m&&!x],[`pdp-carousel--${o}`,x],T]),style:{"--flex-carousel":o==="thumbnailsColumn"?"row-reverse":"column","--gap":x?"0":"var(--spacing-small)","--width":R},...le,children:[n("div",{ref:ce,className:$(["pdp-carousel__wrapper",`pdp-carousel__wrapper--${a}`,["pdp-carousel__wrapper--scrollbar",h],["pdp-carousel__wrapper--peak",u]]),style:{"--total-width":o==="thumbnailsColumn"?"81.6%":"100%","--height":o==="thumbnailsColumn"?"auto":c,"--gap":P?`var(--spacing-${P})`:"0px","--per-page":v},tabIndex:0,children:H.map((l,i)=>{const D=l.length<v;return n("div",{role:"group","aria-roledescription":r,"data-index":i,className:$(["pdp-carousel__slide",`pdp-carousel__slide--${a}`,["pdp-carousel__slide--active",S===i],["pdp-carousel__slide--orphan",D]]),style:{"--length":l.length},children:l},i)})}),!x&&F(Ne,{children:[b,A]}),x&&w&&F(Ne,{children:[z,q]}),o&&H.length!=1&&F("div",{className:$([[`pdp-carousel__controls__container--${o}`,x],["pdp-carousel__controls__container--no-arrows",!m||w]]),style:{"--width":o==="thumbnailsRow"?`${ne}px`:R,"--height":`${se}px`,"--nr-thumbnails":_e.length},children:[(x||C)&&!w&&b,n("div",{ref:re,className:$([[`pdp-carousel__controls__wrapper--${o}`,x],["pdp-carousel__controls__wrapper",x]]),children:n("div",{role:"group","aria-label":L,className:$(["pdp-carousel__controls",[`pdp-carousel__controls--${o}`,x]]),children:(p?H.slice(0,s):H).map((l,i)=>{const D=p?s:H.length,N=p?S-1===i:S===i;return x?F("label",{className:$(["pdp-carousel__thumbnail__container"]),ref:I=>{I&&(K.current[i]=I)},children:[n("input",{type:"radio",name:"carousel-thumbnails","aria-label":M.replace("{key}",String(i+1)).replace("{total}",String(D)),checked:N&&ne!==0,onChange:()=>{W(p?i+1:i,!0)},...le,className:$(["pdp-carousel__thumbnail",["pdp-carousel__thumbnail--selected",N&&ne!==0]])}),n("span",{className:$(["pdp-carousel__thumbnail__span"]),children:_e[i]})]},i):n("button",{"aria-label":M.replace("{key}",String(i+1)).replace("{total}",String(D)),onClick:()=>{W(p?i+1:i,!0)},className:$(["pdp-carousel__controls__button",["pdp-carousel__controls__button--active",N]])},i)})})}),(x||C)&&!w&&A]})]})};function Ie(e,h=0){if(typeof e=="number")return e;const{small:u,medium:m,large:o}=e,p=[{breakpoint:1024,value:o},{breakpoint:786,value:m},{breakpoint:0,value:u}].find(({breakpoint:P})=>h>P);return p?p.value:u}function Q(){return document.documentElement.dir==="rtl"}const Qe=({title:e,breadcrumbs:h,galleryContent:u,infoContent:m,productContent:o,sku:w,outOfStock:p,shortDescription:P,description:a,attributes:R,images:c,options:f,price:T,specialPrice:O,className:B,children:C,quantity:le,actions:te,carouselConfig:r,zoomType:y="overlay",closeButton:_=!0,...L})=>{var ae,K,ne,V,se,pe,_e,H,ce;const M=X("PDP.Product.RegularPrice.label").label,v=X("PDP.Product.SpecialPrice.label").label,g=X("PDP.Product.OutOfStock.label").label,s=X("PDP.Product.Image.label").label,[E,t]=Y(null),U=c!=null&&c.length?c.map((re,x)=>{var W;const ee=((W=e==null?void 0:e.props)==null?void 0:W.children)&&(s==null?void 0:s.replace("{product}",e.props.children.toString()).replace("{key}",String(x+1)).replace("{total}",String(c.length)));return y==="zoom"?n(lt,{closeButton:_,children:n(G,{node:re,loading:x===0?"eager":"lazy",alt:ee},x)}):n(G,{node:re,loading:x===0?"eager":"lazy",alt:ee,onClick:()=>t(x)},x)}):n("img",{src:"data:image/gif;base64,R0lGODlhAQABAIAAAAAAAP///yH5BAEAAAAALAAAAAABAAEAAAIBRAA7",className:"pdp-product__images__placeholder","aria-hidden":!0}),S=(ae=r==null?void 0:r.thumbnails)!=null&&ae.length?r.thumbnails.map((re,x)=>{var ee;return n(G,{node:re,loading:(r==null?void 0:r.thumbnailsLoadingMode)||"lazy",alt:((ee=e==null?void 0:e.props)==null?void 0:ee.children)&&(s==null?void 0:s.replace("{product}",e.props.children.toString()).replace("{key}",String(x+1)).replace("{total}",String(c.length)))},x)}):n("img",{src:"data:image/gif;base64,R0lGODlhAQABAIAAAAAAAP///yH5BAEAAAAALAAAAAABAAEAAAIBRAA7",className:"pdp-product__images__placeholder","aria-hidden":!0});return F("div",{...L,className:$(["pdp-product",B]),children:[h&&n(G,{node:h,className:"pdp-product__breadcrumbs"}),F("div",{className:"pdp-product__column-container pdp-product__gallery-column",children:[n("div",{className:"pdp-product__column-body",children:(K=r==null?void 0:r.controls)!=null&&K.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:((ne=r==null?void 0:r.thumbnails)==null?void 0:ne.length)>1&&((V=r==null?void 0:r.peak)==null?void 0:V.desktop)||!1,gap:(r==null?void 0:r.gap)||null,width:"100%",height:"100%",defaultIndex:E||0,thumbnails:S,children:U}):n(Je,{className:"pdp-product__images",gap:"small",children:U})}),u&&n(G,{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:[e&&n(G,{node:e,className:"pdp-product__title"}),w&&n(G,{node:w,className:"pdp-product__sku"})]}),F("div",{className:"pdp-product__prices",children:[O&&n(G,{node:O,className:$(["pdp-product__price-special","pdp-product__price"]),"aria-label":v,role:"text"}),T&&n(G,{node:T,className:$(["pdp-product__price-regular","pdp-product__price--grey"]),"aria-label":M,role:"text"})]}),(se=r==null?void 0:r.controls)!=null&&se.mobile&&((pe=r==null?void 0:r.controls)==null?void 0:pe.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:S,children:U}):n(ye,{className:"pdp-product__images pdp-product__images--carousel",peak:((ce=r==null?void 0:r.peak)==null?void 0:ce.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:U}),F("div",{className:$(["pdp-product__actions",["pdp-product__actions--out-of-stock",p]]),children:[p&&n("div",{className:"pdp-product__out-of-stock__text",children:g}),f&&n(G,{node:f,className:$(["pdp-product__options"])}),le&&n("div",{className:"pdp-product__quantity",children:n(G,{node:le})}),te&&n(G,{node:te,className:$(["pdp-product__buttons"])})]}),P&&n(G,{node:P,className:$(["pdp-product__short_description"])}),a&&n(G,{node:a,className:$(["pdp-product__description"])}),R?n("div",{className:"pdp-product__attributes",children:R}):null]}),m&&n(G,{node:m,className:"pdp-product__info-content"})]}),o&&n(G,{node:o,className:"pdp-product__content"}),E===null?null:n(Ce,{className:"pdp-product__overlay",onClose:()=>t(null),centered:!0,children:n(ye,{className:"pdp-product__overlay__carousel",arrows:(c==null?void 0:c.length)>1,width:"100%",height:"100%",defaultIndex:E||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:U})})]})},Je=({children:e,gap:h=null,className:u,style:m,...o})=>{const w=he.count(e);return n("div",{...o,className:$(["pdp-gallery-grid",u]),style:{"--gap":h?`var(--spacing-${h})`:"0px",...m},children:he.map(e,(p,P)=>n("div",{className:"pdp-gallery-grid__item",children:n(G,{node:p,loading:P===0?"eager":"lazy"},p.props.src)},w+P))})},Re=({amount:e,currency:h,locale:u,variant:m,sale:o,minimumAmount:w,maximumAmount:p,className:P,...a})=>n(Ne,{children:e||w===p?n("div",{className:"pdp-price-range",...a,children:n(ge,{amount:e||w,currency:h,locale:u,variant:m,sale:o,className:P})}):F("div",{className:"pdp-price-range",...a,children:[n(ge,{amount:w,currency:h,locale:u,className:P}),n("span",{className:"pdp-price-range__label",children:"-"}),n(ge,{amount:p,currency:h,locale:u,className:P})]})}),Ce=({centered:e,onClose:h,className:u,children:m,...o})=>{const w=X("PDP.Overlay.Close.label").label,p=Se(null),P=ie(()=>{h==null||h()},[h]);return J(()=>{const a=R=>{R.key==="Escape"&&P()};return document.addEventListener("keydown",a),()=>{document.removeEventListener("keydown",a)}},[P]),J(()=>{const a=p.current;a==null||a.focus();const R=document.scrollingElement,c=R.style.overflow;return R.style.overflow="hidden",()=>{R.style.overflow=c}},[]),F("div",{...o,className:$(["pdp-overlay",["pdp-overlay--centered",e],u]),ref:p,role:"dialog","aria-describedby":"overlay-content",tabindex:0,children:[n("div",{className:"pdp-overlay__content",id:"overlay-content",children:m}),n(Pe,{"aria-label":w,variant:"tertiary",className:"pdp-overlay__close-button",onClick:P,icon:n(We,{})})]})},et=["text","image","color","dropdown"],tt=e=>e.map(h=>({...h,text:h.label,disabled:!h.inStock}));function nt(e,h){return e.reduce((u,m)=>{const o=h==null?void 0:h.find(p=>p.items.find(P=>P.id===m));if(!o)return u;const w=o.items.find(p=>p.id===m);return{...u,[o.id]:{label:w.label,value:w.id}}},{})}const rt=({options:e,hideSelectedValue:h,disablePreselections:u,selectedUIDs:m,onValues:o,onErrors:w,defaultOptions:p,selectionsToUpdate:P,className:a,children:R,...c})=>{const f=X("PDP.Swatches.Required.label").label,T=X("PDP.Swatches.ChooseOption.label").label,[O,B]=Y(()=>e==null?void 0:e.reduce((y,_)=>{const{items:L}=_,M=L==null?void 0:L.find(g=>p==null?void 0:p.includes(g.id)),v=L==null?void 0:L.find(g=>g.selected);return M?{...y,[_.id]:{label:M.label,value:M.id}}:v?{...y,[_.id]:{label:v.label,value:v.id}}:y},{}));J(()=>{if(m){const r=nt(m,e);if(JSON.stringify(r)===JSON.stringify(O))return;B(y=>{let _={...y,...r};return o==null||o(_),_})}},[m]),J(()=>{P==null||P.forEach(r=>{B(y=>{var M;const _=(M=r==null?void 0:r.items)==null?void 0:M.find(v=>v.selected);return _?{...y,[r.id]:{label:_==null?void 0:_.label,value:_==null?void 0:_.id}}:y})})},[P,B]),Le(()=>{const r=e==null?void 0:e.reduce((y,_)=>{var M;let L=!1;return(M=_==null?void 0:_.items)==null||M.forEach(v=>{var s;((s=O[_.id])==null?void 0:s.value)===v.id&&(L=!0)}),_.required&&!L&&(y[_.id]=f),y},{});return w==null||w(r),r},[O]);const C=ie((r,y,_)=>{B(L=>{let M={...L,...r&&{[r]:{label:y,value:_}}};return y===T&&delete M[r],o==null||o(M,_),M})},[o]),le=(r,y)=>{var L;const _=((L=y.selectedOptions[0])==null?void 0:L.label)??"";C(r,_,y.value)},te=ie(({items:r,id:y,required:_,type:L,selected:M,label:v})=>(r==null?void 0:r.length)>0&&n("div",{className:$(["pdp-swatches__options"]),children:(L==null?void 0:L.toLowerCase())==="dropdown"?n(He,{"aria-label":v,placeholder:u?T:void 0,handleSelect:g=>le(y,g.target),options:tt(r),value:M}):r==null?void 0:r.map(g=>{const s={key:g.id,id:g.id,name:y,value:g.value,label:g.label,groupAriaLabel:v,selected:M===g.id,outOfStock:!g.inStock,required:_===null?!0:_,onValue:()=>{C(y,g.label,g.id)}};switch(L){case"text":return n(Fe,{...s,label:g.label});case"image":return n(je,{...s,src:g.value,alt:g.label});case"color":return n(qe,{...s,size:"large",color:g.value});default:return console.warn(`Invalid swatch type ${L}`),null}})}),[C]);return n("div",{...c,className:$(["pdp-swatches",a]),children:e==null?void 0:e.map(({type:r,label:y,id:_,multiple:L,required:M,items:v})=>{var g;return et.includes(r)||console.warn(`Invalid swatch type ${r}`),L&&console.warn("Multiple selection swatches are not currently supported."),F("div",{id:`swatch-item-${_}`,"data-slot-key":`product-swatch--${_}`,className:"pdp-swatches__field",children:[n("div",{className:"pdp-swatches__field__label",children:O[_]?h?`${y}`:`${y}: ${O[_].label}`:y}),n(te,{id:_,type:r,required:M,items:v,label:y,selected:(g=O[_])==null?void 0:g.value})]},`swatch-item-${_}`)})})},lt=({children:e,scale:h=2,closeButton:u=!0})=>{const[m,o]=Y(!1),[w,p]=Y("pdp-zoom"),[P,a]=Y(!1),[R,c]=Y({x:0,y:0}),[f,T]=Y({x:0,y:0}),[O,B]=Y({x:0,y:0}),C=s=>{!m||s.type!=="touchstart"||(c({x:s.touches[0].clientX,y:s.touches[0].clientY}),T({x:O.x,y:O.y}),a(!0))},le=s=>{var se;if(!P||s.type!=="touchmove")return;const E=(se=s.currentTarget)==null?void 0:se.getBoundingClientRect(),t=(100-100/h)/2,U=s.touches[0].clientX-R.x,S=s.touches[0].clientY-R.y,ae=U*100/(E.width*h),K=S*100/(E.height*h),ne=f.x+ae,V=f.y+K;B({x:Math.max(-t,Math.min(ne,t))||0,y:Math.max(-t,Math.min(V,t))||0}),s.preventDefault()},te=s=>{var K;const E=(K=s.currentTarget)==null?void 0:K.getBoundingClientRect(),t=(100-100/h)/2;let U;if("touches"in s)U=s.touches[0];else if(s instanceof MouseEvent)U=s;else return;const S=t-(U.clientX-E.left)/E.width*100,ae=t-(U.clientY-E.top)/E.height*100;B({x:Math.max(-t,Math.min(S,t))||0,y:Math.max(-t,Math.min(ae,t))||0})},r=s=>{if(!P){if(m){if(u&&"touches"in s){C(s);return}u||o(!1)}else o(!0),te(s);s.preventDefault()}},y=s=>{if(u&&"touches"in s){le(s);return}m&&te(s)},_=()=>{if(u){a(!1);return}o(!1)},L=s=>{o(!1),s.stopPropagation()},M=m?`scale(${h}) translateX(${O.x}%) translateY(${O.y}%)`:"none",v=X("PDP.Zoom.Close.label").label,g=Ge(he.only(e),{draggable:!1,style:{"--transform":M}});return J(()=>{p(m?`pdp-zoom ${u?"pdp-zoom--no-effects":"pdp-zoom--zoomed"}`:"pdp-zoom")},[m,u]),F("figure",{className:w,onClick:r,onMouseMove:y,onMouseLeave:_,onTouchStart:r,onTouchMove:y,onTouchEnd:_,children:[g,u&&m&&n(Pe,{"aria-label":v,variant:"tertiary",className:"pdp-zoom__close-button",icon:n(We,{}),onClick:L})]})};function at(e,h="en_US"){if(!Ue(e))throw Error("Invalid date string");return e.split(" ")[1]||(e=`${e} 00:00:00`),new Date(e).toLocaleDateString(Me(h)).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(m=>m.test(e)))return!1;const u=new Date(e);return!isNaN(u.getTime())}function ct(e){const h=new URLSearchParams(window.location.search);Object.entries(e).forEach(([m,o])=>{o===null?h.delete(m):h.set(m,String(o))});let u=window.location.pathname;u+=`?${h.toString()}`,u+=window.location.hash,window.history.replaceState({},"",u)}function ot(){const e=new URLSearchParams(window.location.search),h={};return e.forEach((u,m)=>{h[m]=u}),h}function it(e){var h,u,m,o,w,p,P,a,R,c,f,T;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:((u=(h=e==null?void 0:e.prices)==null?void 0:h.regular)==null?void 0:u.amount)||0,minimalPrice:(o=(m=e==null?void 0:e.prices)==null?void 0:m.final)==null?void 0:o.minimumAmount,maximalPrice:(p=(w=e==null?void 0:e.prices)==null?void 0:w.final)==null?void 0:p.maximumAmount,specialPrice:(a=(P=e==null?void 0:e.prices)==null?void 0:P.final)==null?void 0:a.amount,tierPricing:void 0,currencyCode:((c=(R=e==null?void 0:e.prices)==null?void 0:R.final)==null?void 0:c.currency)||"USD"},canonicalUrl:e==null?void 0:e.url,mainImageUrl:(T=(f=e==null?void 0:e.images)==null?void 0:f[0])==null?void 0:T.url}}const st={PRODUCT_CONTEXT:"productContext"},dt={PRODUCT_PAGE_VIEW:"product-page-view"};function Ve(){return window.adobeDataLayer=window.adobeDataLayer||[],window.adobeDataLayer}function ht(e,h){const u=Ve();u.push({[e]:null}),u.push({[e]:h})}function pt(e,h){Ve().push(m=>{const o=m.getState?m.getState():{};m.push({event:e,eventInfo:{...o,...h}})})}function ut(e){const h=it(e);ht(st.PRODUCT_CONTEXT,h),pt(dt.PRODUCT_PAGE_VIEW)}const mt=({sku:e,hideSku:h,hideQuantity:u,hideShortDescription:m,hideDescription:o,hideAttributes:w,hideURLParams:p,hideSelectedOptionValue:P,slots:a,children:R,initialData:c,carousel:f,optionsConfig:T,useACDL:O,onAddToCart:B,zoomType:C,closeButton:le=!0,disableDropdownPreselection:te,...r})=>{var W,ue,me,be;const y=X("PDP.Product.AddToCart.label").label,_=X("PDP.Product.Incrementer.label").label,L=X("PDP.Product.Details.label").label,M=X("PDP.Swatches.ChooseOption.label").label,[v,g]=Y(Be.getConfig().defaultLocale||"en-US"),[s,E]=Y(),[t=null,U]=Y(c),[S,ae]=Y(()=>{const d={sku:e,quantity:1};return t!=null&&t.optionUIDs&&(d.optionsUIDs=t.optionUIDs),d}),[K,ne]=Y(()=>{var d,b;return!(t!=null&&t.options&&((d=t==null?void 0:t.options)==null?void 0:d.length)>0&&((b=t==null?void 0:t.optionUIDs)==null?void 0:b.length)!==(t==null?void 0:t.options.length))}),V={data:t,values:S,valid:K};function se(d){return d==null?void 0:d.some(b=>(b==null?void 0:b.typename)==="ProductViewOptionValueProduct")}J(()=>{const d=xe.on("pdp/setValues",b=>{ae(A=>({...A,...b}))});return()=>{d==null||d.off()}},[]),J(()=>{const d=xe.on("locale",b=>{b!==v&&(g(b),ke(e).then(U))});return()=>{d==null||d.off()}},[v,e]),J(()=>{O&&c&&Object.keys(c).length>0&&ut(c)},[c]);const pe=ie(d=>{ae(b=>({...b,...d}))},[]);J(()=>{xe.emit("pdp/values",S)},[JSON.stringify(S)]);const _e=ie(async d=>{var z,q;let b=Object.entries(d).filter(([l,i])=>i.label!==M).map(([l,i])=>d[l].value).filter(l=>l!==void 0);!p&&(t!=null&&t.options)&&!se(t.options)&&ct({optionsUIDs:b.join(",")}),pe({optionsUIDs:b}),ne((b==null?void 0:b.length)===((z=t==null?void 0:t.options)==null?void 0:z.length));const A=t!=null&&t.isBundle?await ke(e,{preselectFirstOption:!te,optionsUIDs:b}):await Te(e,b,T==null?void 0:T.anchorOptions);U(A),(q=T==null?void 0:T.anchorOptions)!=null&&q.length&&H(A,b)},[e]),H=ie((d,b)=>{var q;const A=(d==null?void 0:d.optionUIDs)??[];b.every(l=>A.includes(l))||(E(d==null?void 0:d.options),pe({optionsUIDs:A}),ne((A==null?void 0:A.length)===((q=d==null?void 0:d.options)==null?void 0:q.length)))},[e]),ce=ie(d=>{Object.keys(d).length!==0&&ne(!1)},[]),re=Le(()=>{var d;return(d=t==null?void 0:t.attributes)==null?void 0:d.map(({label:b,value:A},z)=>{const q=Ue(A)?at(A,v):A.toString();return F("li",{children:[b,": ",n("span",{dangerouslySetInnerHTML:{__html:q}})]},z)})},[t==null?void 0:t.attributes,v]),x=!u&&(t!=null&&t.inStock)?n(Z,{name:"Quantity",slot:a==null?void 0:a.Quantity,context:{...V},children:n(Xe,{name:"quantity",defaultValue:S.quantity.toString(),value:S.quantity.toString(),min:1,"aria-label":_,className:"pdp-product__quantity",onValue:d=>{pe({quantity:Number(d)})}},"quantity")}):void 0,ee=()=>{if(t!=null&&t.options)return n(Z,{name:"Options",slot:a==null?void 0:a.Options,context:{...V},children:n(rt,{selectedUIDs:S.optionsUIDs,options:t.options,defaultOptions:S.optionsUIDs,selectionsToUpdate:s,hideSelectedValue:P,disablePreselections:te,onValues:_e,onErrors:ce})})};return n("div",{...r,children:n(Qe,{title:n(Z,{name:"Title",slot:a==null?void 0:a.Title,context:{...V},children:t==null?void 0:t.name}),sku:h?void 0:n(Z,{name:"SKU",slot:a==null?void 0:a.SKU,context:{...V},children:t==null?void 0:t.sku}),options:ee(),breadcrumbs:(a==null?void 0:a.Breadcrumbs)&&n(Z,{name:"Breadcrumbs",slot:a==null?void 0:a.Breadcrumbs,context:{...V,setSeparator(d){this._registerMethod((...b)=>{const A=d(...b),z=A&&n(Ae,{source:A});this._setProps(q=>({...q,separator:z,children:[n(De,{separator:z,categories:q.categories})]}))})},appendLink(d){this._registerMethod((...b)=>{const{text:A,...z}=d(...b),q=n("a",{...z,children:A});this._setProps(l=>{const i=[...l.categories||[],q];return{...l,categories:i,children:[n(De,{separator:l.separator,categories:i})]}})})},appendHTMLElement(d){this._registerMethod((...b)=>{const A=d(...b),z=this._htmlElementToVNode(A);this._setProps(q=>{const l=[...q.categories||[],z];return{...q,categories:l,children:[n(De,{separator:q.separator,categories:l})]}})})}}}),quantity:x,actions:n(Z,{name:"Actions",slot:a==null?void 0:a.Actions,context:{...V,appendButton(d){this._registerMethod((...b)=>{const A=d(...b);if(!A)return;const{text:z,icon:q,...l}=A,i=n(Pe,{type:"button",...l,icon:q&&n(Ae,{source:q}),children:z});this._setProps(D=>({children:[...D.children||[],i]}))})}},children:!(a!=null&&a.Actions)&&n(Pe,{size:"medium",type:"submit",icon:n(Ae,{source:"Cart"}),disabled:!(t!=null&&t.inStock)||!K,"aria-label":y,onClick:()=>B==null?void 0:B(S),children:y})}),shortDescription:m?void 0:n(Z,{name:"ShortDescription",slot:a==null?void 0:a.ShortDescription,context:{...V},children:n("div",{dangerouslySetInnerHTML:{__html:(t==null?void 0:t.shortDescription)??""}})}),description:o?void 0:n(Z,{name:"Description",slot:a==null?void 0:a.Description,context:{...V},children:n("div",{dangerouslySetInnerHTML:{__html:(t==null?void 0:t.description)??""}})}),images:((W=t==null?void 0:t.images)==null?void 0:W.map(({label:d,url:b})=>{var A,z;return n(Ee,{title:d,alt:d,src:b,width:((A=f==null?void 0:f.imageParams)==null?void 0:A.width)??960,height:((z=f==null?void 0:f.imageParams)==null?void 0:z.height)??1191,params:(f==null?void 0:f.imageParams)??{width:960}},b)}))??[],specialPrice:(ue=t==null?void 0:t.prices)!=null&&ue.visible?n(Z,{name:"SpecialPrice",slot:a==null?void 0:a.SpecialPrice,context:{...V},children:n(Re,{...t.prices.final,locale:Me(v)})}):void 0,price:(me=t==null?void 0:t.prices)!=null&&me.visible&&t.prices.regular&&t.prices.final.amount!==(t==null?void 0:t.prices.regular.amount)?n(Z,{name:"RegularPrice",slot:a==null?void 0:a.RegularPrice,context:{...V},children:n(Re,{...t.prices.regular,locale:Me(v)})}):void 0,zoomType:C,closeButton:le,carouselConfig:{...f,thumbnails:f&&Object.keys(f).length?((be=t==null?void 0:t.images)==null?void 0:be.map(({label:d,url:b})=>{var A,z;return n(Ee,{title:d,alt:d,src:b,width:((A=f==null?void 0:f.thumbnailParams)==null?void 0:A.width)??200,height:((z=f==null?void 0:f.thumbnailParams)==null?void 0:z.height)??248,params:(f==null?void 0:f.thumbnailParams)??{width:200}},b)}))??[]:[]},outOfStock:!(t!=null&&t.inStock),attributes:w?void 0:n(Z,{name:"Attributes",slot:a==null?void 0:a.Attributes,context:{...V},children:re!=null&&re.length?F(Ne,{children:[L,n("ul",{children:re})]}):null}),galleryContent:(a==null?void 0:a.GalleryContent)&&n(Z,{name:"GalleryContent",slot:a.GalleryContent,context:{...V}}),infoContent:(a==null?void 0:a.InfoContent)&&n(Z,{name:"InfoContent",slot:a.InfoContent,context:{...V}}),productContent:(a==null?void 0:a.Content)&&n(Z,{name:"Content",slot:a.Content,context:{...V}})})})};mt.getInitialData=async function({sku:e,disableDropdownPreselection:h=!1,optionsConfig:u}){var P,a,R,c,f,T,O;function m(B){return B.some(C=>C.__typename==="ProductViewOptionValueProduct")}const o=Be.getConfig(),w=((P=ot().optionsUIDs)==null?void 0:P.split(","))||((c=(R=(a=o==null?void 0:o.models)==null?void 0:a.ProductDetails)==null?void 0:R.initialData)==null?void 0:c.optionsUIDs),p=(T=(f=o==null?void 0:o.models)==null?void 0:f.ProductDetails)==null?void 0:T.initialData;return p&&Object.keys(p).length>0&&((O=p.options)==null||O.some(B=>m(B==null?void 0:B.values))),w!=null&&w.length?await Te(e,w,u==null?void 0:u.anchorOptions):await ke(e,{preselectFirstOption:!h})};export{mt as ProductDetails,mt as default};
|
|
1
|
+
/*! Copyright 2024 Adobe
|
|
2
|
+
All Rights Reserved. */
|
|
3
|
+
import{jsx as e,jsxs as w,Fragment as Nt}from"@dropins/tools/preact-jsx-runtime.js";import{useState as q,Children as ot,useEffect as f,useCallback as g,useMemo as vt}from"@dropins/tools/preact-compat.js";import{VComponent as o,classes as D,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 x}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,j as kt}from"../chunks/fetchProductData.js";import{events as lt}from"@dropins/tools/event-bus.js";import{i as Bt,t as xt}from"../chunks/date.js";import"@dropins/tools/fetch-graphql.js";import"../chunks/getProductConfigurationValues.js";const Lt=({title:i,breadcrumbs:v,galleryContent:S,infoContent:N,productContent:O,sku:s,outOfStock:L,shortDescription:U,description:r,attributes:tt,images:c,options:h,price:u,specialPrice:Z,className:z,children:it,quantity:K,actions:M,carouselConfig:n,zoomType:J="overlay",closeButton:et=!0,...nt})=>{var H,F,E,m,$,j,W,X,Y;const rt=x("PDP.Product.RegularPrice.label").label,V=x("PDP.Product.SpecialPrice.label").label,pt=x("PDP.Product.OutOfStock.label").label,k=x("PDP.Product.Image.label").label,[G,t]=q(null),B=c!=null&&c.length?c.map((I,y)=>{var Q;const R=((Q=i==null?void 0:i.props)==null?void 0:Q.children)&&(k==null?void 0:k.replace("{product}",i.props.children.toString()).replace("{key}",String(y+1)).replace("{total}",String(c.length)));return J==="zoom"?e(It,{closeButton:et,children:e(o,{node:I,loading:y===0?"eager":"lazy",alt:R},y)}):e(o,{node:I,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((I,y)=>{var R;return e(o,{node:I,loading:(n==null?void 0:n.thumbnailsLoadingMode)||"lazy",alt:((R=i==null?void 0:i.props)==null?void 0:R.children)&&(k==null?void 0:k.replace("{product}",i.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 w("div",{...nt,className:D(["pdp-product",z]),children:[v&&e(o,{node:v,className:"pdp-product__breadcrumbs"}),w("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:B}):e(Ut,{className:"pdp-product__images",gap:"small",children:B})}),S&&e(o,{node:S,className:"pdp-product__gallery-content"})]}),w("div",{className:"pdp-product__column-container pdp-product__content-column",children:[w("div",{className:"pdp-product__column-body",children:[w("div",{className:"pdp-product__header",children:[i&&e(o,{node:i,className:"pdp-product__title"}),s&&e(o,{node:s,className:"pdp-product__sku"})]}),w("div",{className:"pdp-product__prices",children:[Z&&e(o,{node:Z,className:D(["pdp-product__price-special","pdp-product__price"]),"aria-label":V,role:"text"}),u&&e(o,{node:u,className:D(["pdp-product__price-regular","pdp-product__price--grey"]),"aria-label":rt,role:"text"})]}),($=n==null?void 0:n.controls)!=null&&$.mobile&&((j=n==null?void 0:n.controls)==null?void 0:j.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:B}):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:B}),w("div",{className:D(["pdp-product__actions",["pdp-product__actions--out-of-stock",L]]),children:[L&&e("div",{className:"pdp-product__out-of-stock__text",children:pt}),h&&e(o,{node:h,className:D(["pdp-product__options"])}),K&&e("div",{className:"pdp-product__quantity",children:e(o,{node:K})}),M&&e(o,{node:M,className:D(["pdp-product__buttons"])})]}),U&&e(o,{node:U,className:D(["pdp-product__short_description"])}),r&&e(o,{node:r,className:D(["pdp-product__description"])}),tt?e("div",{className:"pdp-product__attributes",children:tt}):null]}),N&&e(o,{node:N,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:B})})]})},Ut=({children:i,gap:v=null,className:S,style:N,...O})=>{const s=ot.count(i);return e("div",{...O,className:D(["pdp-gallery-grid",S]),style:{"--gap":v?`var(--spacing-${v})`:"0px",...N},children:ot.map(i,(L,U)=>e("div",{className:"pdp-gallery-grid__item",children:e(o,{node:L,loading:U===0?"eager":"lazy"},L.props.src)},s+U))})},Mt=({sku:i,hideSku:v,hideQuantity:S,hideShortDescription:N,hideDescription:O,hideAttributes:s,hideURLParams:L,hideSelectedOptionValue:U,slots:r,children:tt,initialData:c,carousel:h,optionsConfig:u,useACDL:Z,onAddToCart:z,zoomType:it,closeButton:K=!0,disableDropdownPreselection:M,...n})=>{var Q,at,_t,mt;const J=x("PDP.Product.AddToCart.label").label,et=x("PDP.Product.Incrementer.label").label,nt=x("PDP.Product.Details.label").label,rt=x("PDP.Swatches.ChooseOption.label").label,[V,pt]=q(yt.getConfig().defaultLocale||"en-US"),[k,G]=q(),[t=null,B]=q(c),[P,H]=q(()=>{const p={sku:i,quantity:1};return t!=null&&t.optionUIDs&&(p.optionsUIDs=t.optionUIDs),p}),[F,E]=q(()=>{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!==V&&(pt(d),ht(i,{preselectFirstOption:!M,anchors:u==null?void 0:u.anchorOptions}).then(B))});return()=>{p==null||p.off()}},[M,V,u==null?void 0:u.anchorOptions,i]),f(()=>{Z&&c&&Object.keys(c).length>0&&Vt(c)},[c]);const j=g(p=>{H(d=>({...d,...p}))},[]);f(()=>{lt.emit("pdp/values",P)},[JSON.stringify(P)]);const W=g(async p=>{var a,_;let d=Object.entries(p).filter(([b,T])=>T.label!==rt).map(([b,T])=>p[b].value).filter(b=>b!==void 0);!L&&(t!=null&&t.options)&&!$(t.options)&&kt({optionsUIDs:d.join(",")}),j({optionsUIDs:d}),E((d==null?void 0:d.length)===((a=t==null?void 0:t.options)==null?void 0:a.length));const l=await ht(i,{anchors:u==null?void 0:u.anchorOptions,isBundle:t==null?void 0:t.isBundle,optionsUIDs:d,preselectFirstOption:!M});B(l),(_=u==null?void 0:u.anchorOptions)!=null&&_.length&&X(l,d)},[i]),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),j({optionsUIDs:l}),E((l==null?void 0:l.length)===((_=p==null?void 0:p.options)==null?void 0:_.length)))},[i]),Y=g(p=>{Object.keys(p).length!==0&&E(!1)},[]),I=vt(()=>{var p;return(p=t==null?void 0:t.attributes)==null?void 0:p.map(({label:d,value:l},a)=>{const _=Bt(l)?xt(l,V):l.toString();return w("li",{children:[d,": ",e("span",{dangerouslySetInnerHTML:{__html:_}})]},a)})},[t==null?void 0:t.attributes,V]),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=>{j({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:k,hideSelectedValue:U,disablePreselections:M,onValues:W,onErrors:Y})})};return e("div",{...n,children:e(Lt,{title:e(A,{name:"Title",slot:r==null?void 0:r.Title,context:{...m},children:t==null?void 0:t.name}),sku:v?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),a=l&&e(dt,{source:l});this._setProps(_=>({..._,separator:a,children:[e(ct,{separator:a,categories:_.categories})]}))})},appendLink(p){this._registerMethod((...d)=>{const{text:l,...a}=p(...d),_=e("a",{...a,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),a=this._htmlElementToVNode(l);this._setProps(_=>{const b=[..._.categories||[],a];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:a,icon:_,...b}=l,T=e(bt,{type:"button",...b,icon:_&&e(dt,{source:_}),children:a});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:N?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,a;return e(At,{title:p,alt:p,src:d,width:((l=h==null?void 0:h.imageParams)==null?void 0:l.width)??960,height:((a=h==null?void 0:h.imageParams)==null?void 0:a.height)??1191,params:(h==null?void 0:h.imageParams)??{width:960}},d)}))??[],specialPrice:(at=t==null?void 0:t.prices)!=null&&at.visible?e(A,{name:"SpecialPrice",slot:r==null?void 0:r.SpecialPrice,context:{...m},children:e(Pt,{...t.prices.final,locale:ut(V)})}):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(V)})}):void 0,zoomType:it,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,a;return e(At,{title:p,alt:p,src:d,width:((l=h==null?void 0:h.thumbnailParams)==null?void 0:l.width)??200,height:((a=h==null?void 0:h.thumbnailParams)==null?void 0:a.height)??248,params:(h==null?void 0:h.thumbnailParams)??{width:200}},d)}))??[]:[]},outOfStock:!(t!=null&&t.inStock),attributes:s?void 0:e(A,{name:"Attributes",slot:r==null?void 0:r.Attributes,context:{...m},children:I!=null&&I.length?w(Nt,{children:[nt,e("ul",{children:I})]}):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:i,disableDropdownPreselection:v=!1,optionsConfig:S}){var O;const{models:N}=yt.getConfig();return ht(i,{preselectFirstOption:!v,anchors:S==null?void 0:S.anchorOptions,initialData:(O=N==null?void 0:N.ProductDetails)==null?void 0:O.initialData})};export{Mt as ProductDetails,Mt as default};
|
|
@@ -0,0 +1,18 @@
|
|
|
1
|
+
import { HTMLAttributes } from 'preact/compat';
|
|
2
|
+
import { Container, ResolveImageUrlOptions } from '@dropins/tools/types/elsie/src/lib';
|
|
3
|
+
import { ProductModel } from '../../data/models/product-model';
|
|
4
|
+
|
|
5
|
+
export interface ProductGalleryProps extends Omit<HTMLAttributes<HTMLDivElement>, 'controls'> {
|
|
6
|
+
controls?: 'thumbnailsRow' | 'thumbnailsColumn' | 'dots' | null;
|
|
7
|
+
loop?: boolean;
|
|
8
|
+
peak?: boolean;
|
|
9
|
+
gap?: 'small' | 'medium' | 'large' | null;
|
|
10
|
+
arrows?: boolean;
|
|
11
|
+
imageParams?: ResolveImageUrlOptions;
|
|
12
|
+
thumbnailParams?: ResolveImageUrlOptions;
|
|
13
|
+
zoom?: {
|
|
14
|
+
closeButton: boolean;
|
|
15
|
+
} | boolean;
|
|
16
|
+
}
|
|
17
|
+
export declare const ProductGallery: Container<ProductGalleryProps, ProductModel | null>;
|
|
18
|
+
//# sourceMappingURL=ProductGallery.d.ts.map
|
|
@@ -0,0 +1,3 @@
|
|
|
1
|
+
/*! Copyright 2024 Adobe
|
|
2
|
+
All Rights Reserved. */
|
|
3
|
+
import{jsx as A,jsxs as M}from"@dropins/tools/preact-jsx-runtime.js";import{useState as D,useEffect as N,useMemo as O}from"@dropins/tools/preact-compat.js";import{Image as S}from"@dropins/tools/components.js";import{events as Q}from"@dropins/tools/event-bus.js";import"@dropins/tools/lib.js";import{g as F}from"../chunks/getFetchedProductData.js";import{Z as q,C,O as z}from"../chunks/Zoom.js";/* empty css */import{useText as J}from"@dropins/tools/i18n.js";import"@dropins/tools/preact.js";const K=({initialData:E=null,controls:R="dots",loop:g=!0,peak:Z=!1,gap:j=null,arrows:v=!0,zoom:h=!1,imageParams:t,thumbnailParams:o,children:U,...G})=>{var w,u,B,y,I,_;const c=J("PDP.Product.Image.label").label,[e,T]=D(E),[d,f]=D(null);N(()=>{const l=Q.on("pdp/data",T);return()=>{l==null||l.off()}},[]);const s=O(()=>{var l;return((l=e==null?void 0:e.images)==null?void 0:l.map(({label:p,url:r},i)=>{const n=({...H})=>{var x;return A(S,{title:p,src:r,alt:c==null?void 0:c.replace("{product}",p).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",...H})};return h?A(q,{closeButton:typeof h=="object"?h.closeButton:!1,children:A(n,{})},r):A(n,{onClick:()=>f(i)},r)}))??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]),k=O(()=>{var l;return((l=e==null?void 0:e.images)==null?void 0:l.map(({label:p,url:r},i)=>{var n;return A(S,{title:p,src:r,alt:c==null?void 0:c.replace("{product}",p).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"},r)}))??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?M("div",{...G,children:[A(C,{arrows:!!((w=e==null?void 0:e.images)!=null&&w.length),arrowsOnMainImage:v,controls:(u=e==null?void 0:e.images)!=null&&u.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:k,children:s}),d===null?null:A(z,{onClose:()=>f(null),centered:!0,children:A(C,{arrows:!!((I=e==null?void 0:e.images)!=null&&I.length),width:"100%",height:"100%",defaultIndex:d,loop:g&&!!((_=e.images)!=null&&_.length),controls:"dots",isZoomed:!0,children:s})})]}):null};K.getInitialData=F;export{K as ProductGallery,K as default};
|
|
@@ -0,0 +1,9 @@
|
|
|
1
|
+
import { HTMLAttributes } from 'preact/compat';
|
|
2
|
+
import { Container } from '@dropins/tools/types/elsie/src/lib';
|
|
3
|
+
import { ProductModel } from '../../data/models';
|
|
4
|
+
|
|
5
|
+
export interface ProductHeaderProps extends HTMLAttributes<HTMLDivElement> {
|
|
6
|
+
hideSku?: boolean;
|
|
7
|
+
}
|
|
8
|
+
export declare const ProductHeader: Container<ProductHeaderProps, ProductModel | null>;
|
|
9
|
+
//# sourceMappingURL=ProductHeader.d.ts.map
|
|
@@ -0,0 +1,18 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* ADOBE CONFIDENTIAL
|
|
3
|
+
* __________________
|
|
4
|
+
* Copyright 2024 Adobe
|
|
5
|
+
* All Rights Reserved.
|
|
6
|
+
* __________________
|
|
7
|
+
* NOTICE: All information contained herein is, and remains
|
|
8
|
+
* the property of Adobe and its suppliers, if any. The intellectual
|
|
9
|
+
* and technical concepts contained herein are proprietary to Adobe
|
|
10
|
+
* and its suppliers and are protected by all applicable intellectual
|
|
11
|
+
* property laws, including trade secret and copyright laws.
|
|
12
|
+
* Dissemination of this information or reproduction of this material
|
|
13
|
+
* is strictly forbidden unless prior written permission is obtained
|
|
14
|
+
* from Adobe.
|
|
15
|
+
*/
|
|
16
|
+
export * from './ProductHeader';
|
|
17
|
+
export { ProductHeader as default } from './ProductHeader';
|
|
18
|
+
//# sourceMappingURL=index.d.ts.map
|
|
@@ -0,0 +1,3 @@
|
|
|
1
|
+
/*! Copyright 2024 Adobe
|
|
2
|
+
All Rights Reserved. */
|
|
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};
|
|
@@ -0,0 +1,22 @@
|
|
|
1
|
+
import { HTMLAttributes } from 'preact/compat';
|
|
2
|
+
import { Container, SlotProps } from '@dropins/tools/types/elsie/src/lib';
|
|
3
|
+
import { ProductModel } from '../../data/models';
|
|
4
|
+
|
|
5
|
+
export interface ProductOptionsProps extends HTMLAttributes<HTMLDivElement> {
|
|
6
|
+
hideSelectedValue?: boolean;
|
|
7
|
+
onValues?: (optionsUIDs: string[]) => void;
|
|
8
|
+
onErrors?: (errors: {
|
|
9
|
+
[id: string]: string;
|
|
10
|
+
}) => void;
|
|
11
|
+
slots?: {
|
|
12
|
+
Swatches: SlotProps<{
|
|
13
|
+
data: ProductModel | null;
|
|
14
|
+
optionsUIDs: string[];
|
|
15
|
+
}>;
|
|
16
|
+
};
|
|
17
|
+
}
|
|
18
|
+
export declare const ProductOptions: Container<ProductOptionsProps, {
|
|
19
|
+
data: ProductModel | null;
|
|
20
|
+
optionsUIDs: string[];
|
|
21
|
+
}>;
|
|
22
|
+
//# sourceMappingURL=ProductOptions.d.ts.map
|
|
@@ -0,0 +1,18 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* ADOBE CONFIDENTIAL
|
|
3
|
+
* __________________
|
|
4
|
+
* Copyright 2024 Adobe
|
|
5
|
+
* All Rights Reserved.
|
|
6
|
+
* __________________
|
|
7
|
+
* NOTICE: All information contained herein is, and remains
|
|
8
|
+
* the property of Adobe and its suppliers, if any. The intellectual
|
|
9
|
+
* and technical concepts contained herein are proprietary to Adobe
|
|
10
|
+
* and its suppliers and are protected by all applicable intellectual
|
|
11
|
+
* property laws, including trade secret and copyright laws.
|
|
12
|
+
* Dissemination of this information or reproduction of this material
|
|
13
|
+
* is strictly forbidden unless prior written permission is obtained
|
|
14
|
+
* from Adobe.
|
|
15
|
+
*/
|
|
16
|
+
export * from './ProductOptions';
|
|
17
|
+
export { ProductOptions as default } from './ProductOptions';
|
|
18
|
+
//# sourceMappingURL=index.d.ts.map
|
|
@@ -0,0 +1,3 @@
|
|
|
1
|
+
/*! Copyright 2024 Adobe
|
|
2
|
+
All Rights Reserved. */
|
|
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,j as G,h as H,p as J}from"../chunks/fetchProductData.js";import{g as v,s as w}from"../chunks/getProductConfigurationValues.js";import{s as b}from"../chunks/isProductConfigurationValid.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:l=!1,slots:r,onValues:p,onErrors:f,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("|"))){w(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),w(m=>({...m,optionsUIDs:n})),k=(n==null?void 0:n.length)===((S=t==null?void 0:t.options)==null?void 0:S.length))}b(()=>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&&(b(()=>!1),f==null||f(i))},[f]);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:l,disablePreselections:!((h=I.getConfig())!=null&&h.preselectFirstOption),onValues:T,onErrors:L})})};N.getInitialData=async function(){var r;const a=await K(),l=((r=v())==null?void 0:r.optionsUIDs)??[];return{data:a,optionsUIDs:l}};export{N as ProductOptions,N as default};
|
|
@@ -0,0 +1,8 @@
|
|
|
1
|
+
import { HTMLAttributes } from 'preact/compat';
|
|
2
|
+
import { Container } from '@dropins/tools/types/elsie/src/lib';
|
|
3
|
+
import { ProductModel } from '../../data/models';
|
|
4
|
+
|
|
5
|
+
export interface ProductPriceProps extends HTMLAttributes<HTMLDivElement> {
|
|
6
|
+
}
|
|
7
|
+
export declare const ProductPrice: Container<ProductPriceProps, ProductModel | null>;
|
|
8
|
+
//# sourceMappingURL=ProductPrice.d.ts.map
|
|
@@ -0,0 +1,18 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* ADOBE CONFIDENTIAL
|
|
3
|
+
* __________________
|
|
4
|
+
* Copyright 2024 Adobe
|
|
5
|
+
* All Rights Reserved.
|
|
6
|
+
* __________________
|
|
7
|
+
* NOTICE: All information contained herein is, and remains
|
|
8
|
+
* the property of Adobe and its suppliers, if any. The intellectual
|
|
9
|
+
* and technical concepts contained herein are proprietary to Adobe
|
|
10
|
+
* and its suppliers and are protected by all applicable intellectual
|
|
11
|
+
* property laws, including trade secret and copyright laws.
|
|
12
|
+
* Dissemination of this information or reproduction of this material
|
|
13
|
+
* is strictly forbidden unless prior written permission is obtained
|
|
14
|
+
* from Adobe.
|
|
15
|
+
*/
|
|
16
|
+
export * from './ProductPrice';
|
|
17
|
+
export { ProductPrice as default } from './ProductPrice';
|
|
18
|
+
//# sourceMappingURL=index.d.ts.map
|
|
@@ -0,0 +1,3 @@
|
|
|
1
|
+
/*! Copyright 2024 Adobe
|
|
2
|
+
All Rights Reserved. */
|
|
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/fetchProductData.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};
|
|
@@ -0,0 +1,9 @@
|
|
|
1
|
+
import { HTMLAttributes } from 'preact/compat';
|
|
2
|
+
import { Container } from '@dropins/tools/types/elsie/src/lib';
|
|
3
|
+
import { ProductModel } from '../../data/models';
|
|
4
|
+
|
|
5
|
+
export interface ProductQuantityProps extends HTMLAttributes<HTMLDivElement> {
|
|
6
|
+
onValue?: (quantity: number) => void;
|
|
7
|
+
}
|
|
8
|
+
export declare const ProductQuantity: Container<ProductQuantityProps, ProductModel | null>;
|
|
9
|
+
//# sourceMappingURL=ProductQuantity.d.ts.map
|
|
@@ -0,0 +1,18 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* ADOBE CONFIDENTIAL
|
|
3
|
+
* __________________
|
|
4
|
+
* Copyright 2024 Adobe
|
|
5
|
+
* All Rights Reserved.
|
|
6
|
+
* __________________
|
|
7
|
+
* NOTICE: All information contained herein is, and remains
|
|
8
|
+
* the property of Adobe and its suppliers, if any. The intellectual
|
|
9
|
+
* and technical concepts contained herein are proprietary to Adobe
|
|
10
|
+
* and its suppliers and are protected by all applicable intellectual
|
|
11
|
+
* property laws, including trade secret and copyright laws.
|
|
12
|
+
* Dissemination of this information or reproduction of this material
|
|
13
|
+
* is strictly forbidden unless prior written permission is obtained
|
|
14
|
+
* from Adobe.
|
|
15
|
+
*/
|
|
16
|
+
export * from './ProductQuantity';
|
|
17
|
+
export { ProductQuantity as default } from './ProductQuantity';
|
|
18
|
+
//# sourceMappingURL=index.d.ts.map
|
|
@@ -0,0 +1,3 @@
|
|
|
1
|
+
/*! Copyright 2024 Adobe
|
|
2
|
+
All Rights Reserved. */
|
|
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};
|
|
@@ -0,0 +1,8 @@
|
|
|
1
|
+
import { HTMLAttributes } from 'preact/compat';
|
|
2
|
+
import { Container } from '@dropins/tools/types/elsie/src/lib';
|
|
3
|
+
import { ProductModel } from '../../data/models';
|
|
4
|
+
|
|
5
|
+
export interface ProductShortDescriptionProps extends HTMLAttributes<HTMLDivElement> {
|
|
6
|
+
}
|
|
7
|
+
export declare const ProductShortDescription: Container<ProductShortDescriptionProps, ProductModel | null>;
|
|
8
|
+
//# sourceMappingURL=ProductShortDescription.d.ts.map
|
|
@@ -0,0 +1,18 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* ADOBE CONFIDENTIAL
|
|
3
|
+
* __________________
|
|
4
|
+
* Copyright 2024 Adobe
|
|
5
|
+
* All Rights Reserved.
|
|
6
|
+
* __________________
|
|
7
|
+
* NOTICE: All information contained herein is, and remains
|
|
8
|
+
* the property of Adobe and its suppliers, if any. The intellectual
|
|
9
|
+
* and technical concepts contained herein are proprietary to Adobe
|
|
10
|
+
* and its suppliers and are protected by all applicable intellectual
|
|
11
|
+
* property laws, including trade secret and copyright laws.
|
|
12
|
+
* Dissemination of this information or reproduction of this material
|
|
13
|
+
* is strictly forbidden unless prior written permission is obtained
|
|
14
|
+
* from Adobe.
|
|
15
|
+
*/
|
|
16
|
+
export * from './ProductShortDescription';
|
|
17
|
+
export { ProductShortDescription as default } from './ProductShortDescription';
|
|
18
|
+
//# sourceMappingURL=index.d.ts.map
|
|
@@ -0,0 +1,3 @@
|
|
|
1
|
+
/*! Copyright 2024 Adobe
|
|
2
|
+
All Rights Reserved. */
|
|
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/containers/index.d.ts
CHANGED
|
@@ -14,4 +14,12 @@
|
|
|
14
14
|
* from Adobe.
|
|
15
15
|
*/
|
|
16
16
|
export * from './ProductDetails';
|
|
17
|
+
export * from './ProductPrice';
|
|
18
|
+
export * from './ProductOptions';
|
|
19
|
+
export * from './ProductQuantity';
|
|
20
|
+
export * from './ProductShortDescription';
|
|
21
|
+
export * from './ProductDescription';
|
|
22
|
+
export * from './ProductAttributes';
|
|
23
|
+
export * from './ProductGallery';
|
|
24
|
+
export * from './ProductHeader';
|
|
17
25
|
//# sourceMappingURL=index.d.ts.map
|
package/data/models/index.d.ts
CHANGED
package/package.json
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"name": "@dropins/storefront-pdp", "version": "0.
|
|
1
|
+
{"name": "@dropins/storefront-pdp", "version": "1.0.0-beta1", "@dropins/tools": "~0.35.0"}
|
package/render.js
CHANGED
|
@@ -1,2 +1,4 @@
|
|
|
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;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__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
|
-
|
|
1
|
+
/*! Copyright 2024 Adobe
|
|
2
|
+
All Rights Reserved. */
|
|
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
|
+
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/fetchProductData.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};
|