1import{a as vt}from"/build/_shared/chunk-PHB6ZJYR.js";import{a as xt}from"/build/_shared/chunk-LLC3PGUJ.js";import{a as D}from"/build/_shared/chunk-FQUJWE7P.js";import{c as ht}from"/build/_shared/chunk-PE2RAMGK.js";import{a as ct}from"/build/_shared/chunk-YNIM7QIU.js";import{h as _}from"/build/_shared/chunk-SDVBCS2Z.js";import{a as lt}from"/build/_shared/chunk-FONEQPGK.js";import{a as bt}from"/build/_shared/chunk-I5UT2UAU.js";import{a as w}from"/build/_shared/chunk-UXJUA2QE.js";import{a as pt}from"/build/_shared/chunk-YUUKFOQM.js";import{a as ft}from"/build/_shared/chunk-DEVQKMWM.js";import{a as T}from"/build/_shared/chunk-5OBEDPFR.js";import{a as Qt}from"/build/_shared/chunk-H6S7FWVP.js";import{d as g}from"/build/_shared/chunk-T36URGAI.js";var s=g(T()),Vt=({className:e="",priceRange:t})=>{let r=t==null?void 0:t.maxPercentageSaved;return(0,s.jsxs)("div",{className:`items-baseline ${e}`,children:[(t==null?void 0:t.min.price)!==(t==null?void 0:t.max.price)?(0,s.jsxs)("div",{className:r?"line-through":"",children:[(0,s.jsx)(w,{"data-test-id":"product-price-current-min",className:"font-semibold",children:t!=null&&t.min.isFree?"FREE":(0,s.jsx)(s.Fragment,{children:(t==null?void 0:t.min.wasPrice)||(t==null?void 0:t.min.price)})})," - ",(0,s.jsx)(w,{"data-test-id":"product-price-current-max",className:"font-semibold",children:t!=null&&t.max.isFree?"FREE":(0,s.jsx)(s.Fragment,{children:(t==null?void 0:t.max.wasPrice)||(t==null?void 0:t.max.price)})})]}):(0,s.jsx)("div",{className:r?"line-through":"",children:(0,s.jsx)(w,{"data-test-id":"product-price-current",className:"font-semibold",children:t!=null&&t.min.isFree?"FREE":(0,s.jsx)(s.Fragment,{children:(t==null?void 0:t.min.wasPrice)||(t==null?void 0:t.min.price)})})}),r&&(0,s.jsxs)("div",{className:"text-markdown-colour",children:[(0,s.jsx)(w,{"data-test-id":"product-price-discount-min",className:"font-semibold",children:t!=null&&t.min.isFree?"FREE":(0,s.jsx)(s.Fragment,{children:t==null?void 0:t.min.price})})," - ",(0,s.jsx)(w,{"data-test-id":"product-price-discount-max",className:"font-semibold",children:t!=null&&t.max.isFree?"FREE":(0,s.jsx)(s.Fragment,{children:t==null?void 0:t.max.price})}),(0,s.jsx)(w,{"data-test-id":"product-price-discount-max",className:"ml-2",children:r})]})]})};var Lt=e=>{let t=e.includes("/")?"/":"-";return e.split(t).slice(0,2).join(t)},wt=(e,t)=>{if(!e)return null;let r=Lt(e);return t[r]||null},Gt=(e,t)=>{let r=e.match(/_xl(_(\d+))?(\?|$)/);if(r&&r[2]){let F=r[2];return t.replace("-AI",`_${F}-AI`)}return t};var l=g(Qt());var i=g(T()),ta=({variants:e,selectedColour:t,onColorSelection:r,hideIfOneColour:F,dropDownSelector:yt,isBundleProduct:E,colourList:z,quickAddModal:I,vtoOpen:A,testHideBeautySwatches:St,fetchingStock:kt,aiImageSkuMap:Pt})=>{var G,M,K,W,j,B,Y,J,X,Z,q,R,C,tt,at,it,st,nt,rt,ot,et;let k=[...e].sort((a,o)=>{var m,d;return parseFloat(((m=a.attributes)==null?void 0:m.colour)||"0")-parseFloat(((d=o.attributes)==null?void 0:d.colour)||"0")}),[y,Q]=(0,l.useState)(!1),L=(0,l.useRef)(null),{translate:$t}=pt(),u=(0,l.useContext)(ft),{AbtastyConfig:Nt}=(0,l.useContext)(ct),{trackUserInteraction:S}=ht(),gt=()=>{Q(!y),S({section:"colour_dropdown",action:y?"close":"open"})},It=(a,o)=>{S(E?{action:"select",label:o?"colour":"oos_colour",value:D(a)}:{section:"colour_dropdown",action:"select",...o?{}:{label:"oos_colour"},value:D(a)}),Q(!1),r(a)};if((0,l.useEffect)(()=>{let a=o=>{L.current&&!L.current.contains(o.target)&&y&&(Q(!1),S({section:"colour_dropdown",action:"close"}))};return document.addEventListener("mousedown",a),()=>{document.removeEventListener("mousedown",a)}},[y,S]),F&&k.length<=1)return null;let Ot=I?155:320,{lowStockQuantity:V,hideWhenOneColour:Tt}=vt(),_t=((G=t==null?void 0:t.attributes)==null?void 0:G.department)==="Clothing"||((M=t==null?void 0:t.attributes)==null?void 0:M.department)==="Footwear"||((K=t==null?void 0:t.attributes)==null?void 0:K.department)==="Accessories",Dt=((W=t==null?void 0:t.attributes)==null?void 0:W.department)==="Home & Garden",U=a=>{var m,d,h,f,b;if(n){let c=new URLSearchParams({w:"120",h:"180",fit:"ctn",bga:"100",bgc:"ffffff"}),v=Nt.includes("aiImageTest"),x=a.sku||void 0,p=wt(x,Pt||{});return v&&p?`${p}?${c.toString()}`:`${((h=(d=(m=a.images)==null?void 0:m[0])==null?void 0:d.desktop)==null?void 0:h.url)||""}?${c.toString()}`}if(!((f=a.attributes)!=null&&f.swatchImage))return"";let o=new URLSearchParams({w:"60",h:"60",qlt:"100"});return`${((b=a.attributes)==null?void 0:b.swatchImage)||""}?${o.toString()}`},Ft=((j=t==null?void 0:t.attributes)==null?void 0:j.categoryTaxonomy)||"";if(Tt.categoryTaxonomy.includes(Ft.toLowerCase())&&(z==null?void 0:z.length)===1||((Y=(B=t==null?void 0:t.attributes)==null?void 0:B.colour)==null?void 0:Y.toLowerCase())==="misc")return null;let H=k.length>1&&yt,Et=St&&H,n=(_t||Dt&&I)&&!((X=(J=u.theming)==null?void 0:J.PDP)!=null&&X.force
1UseColourSwatches);return(0,i.jsxs)("div",{className:`${kt?"pointer-events-none opacity-50":""} flex flex-col gap-3`,children:[(0,i.jsxs)("span",{className:`${A?"hidden":""} text-base font-light`,children:[$t("pdp.labelSelectedColour"),": ",(0,i.jsx)("span",{className:"font-medium",children:(Z=t==null?void 0:t.attributes)==null?void 0:Z.colourLabel})]}),H&&(0,i.jsxs)("div",{ref:L,className:`${A?"hidden":""} relative inline-block z-1`,children:[(0,i.jsxs)("div",{onClick:gt,className:`cursor-pointer flex items-center gap-2 py-2 px-4 border ${t!=null&&t.isOnStock?"border-grey-500":"border-dark-red"} bg-transparent relative ${((R=(q=u.theming)==null?void 0:q.PDP)==null?void 0:R.swatchShape)==="circle"?"rounded-full":"rounded"}`,children:[(0,i.jsxs)("div",{className:n?"w-[60px] h-[90px]":"w-[32px] h-[32px]",children:[!(t!=null&&t.isOnStock)&&(0,i.jsxs)(i.Fragment,{children:[(0,i.jsx)("div",{className:"absolute z-20 bg-site-background bg-opacity-20 w-full h-full"}),(0,i.jsx)("div",{className:`crossed absolute z-20 ${((tt=(C=u.theming)==null?void 0:C.PDP)==null?void 0:tt.swatchShape)==="circle"?"rounded-full":"rounded"} ${n?"w-[60px] h-[90px]":"w-[32px] h-[32px]"} `})]}),((at=t==null?void 0:t.attributes)==null?void 0:at.swatchImage)&&(0,i.jsx)("div",{className:`${((st=(it=u.theming)==null?void 0:it.PDP)==null?void 0:st.swatchShape)==="circle"?"rounded-full":"rounded"} ${n?"w-[60px] h-[90px]":"w-[32px] h-[32px]"}`,children:(0,i.jsx)(_,{alt:((nt=t==null?void 0:t.attributes)==null?void 0:nt.colour)||"Colour",fillParent:!0,width:n?60:32,height:n?90:32,src:U(t||{}),className:`${((ot=(rt=u.theming)==null?void 0:rt.PDP)==null?void 0:ot.swatchShape)==="circle"?"rounded-full":"rounded"}`})})]}),(0,i.jsxs)("span",{children:[((et=t==null?void 0:t.attributes)==null?void 0:et.colourLabel)||"Select a colour...",!E&&!(t!=null&&t.isOnStock)&&(0,i.jsxs)(i.Fragment,{children:[(0,i.jsx)("span",{children:" - "}),(0,i.jsx)("span",{className:"text-dark-red",children:"Out of stock"})]})]}),(0,i.jsx)("div",{"data-test-id":"colour_select_arrow",className:`absolute mt-1 right-2 p-1 z-10 transform ${y?"rotate-180":""}`,children:(0,i.jsx)(bt,{height:18,width:18,icon:xt})})]}),y&&(0,i.jsx)("div",{className:"absolute mt-1 w-full bg-site-background rounded shadow-lg z-[21]",style:{maxHeight:Ot,overflowY:"auto"},children:k.map((a,o)=>{var m,d,h,f,b,c,v,x,p,P,O,$,N,mt,dt;return(0,i.jsxs)("button",{"data-test-id":`colour_select_dd_variant_${a.isOnStock}`,onClick:zt=>{var ut;I&&zt.preventDefault(),It(((ut=a.attributes)==null?void 0:ut.colour)||"",!!a.isOnStock)},className:`flex items-center justify-start w-full py-2 px-4 h-[53px] hover:bg-grey-1 ${((m=a.attributes)==null?void 0:m.colour)===((d=t==null?void 0:t.attributes)==null?void 0:d.colour)?"bg-grey-1":""}`,children:[(0,i.jsx)("div",{className:n?"mr-2 w-[60px] h-[90px]":"mr-2 w-[34px] h-[34px] relative",children:((h=a.attributes)==null?void 0:h.swatchImage)&&(0,i.jsxs)(i.Fragment,{children:[!a.isOnStock&&(0,i.jsxs)(i.Fragment,{children:[(0,i.jsx)("div",{className:"absolute z-20 bg-site-background bg-opacity-20 w-full h-full"}),(0,i.jsx)("div",{className:`crossed absolute z-20 ${((b=(f=u.theming)==null?void 0:f.PDP)==null?void 0:b.swatchShape)==="circle"?"rounded-full":"rounded"} ${n?"w-[60px] h-[90px]":"w-[34px] h-[34px]"}`})]}),(0,i.jsx)("div",{className:`${n?"w-[60px] h-[90px] border":"w-[34px] h-[34px] border"} ${((v=(c=u.theming)==null?void 0:c.PDP)==null?void 0:v.swatchShape)==="circle"?"rounded-full":"rounded"} border-grey-2 ${((x=t==null?void 0:t.attributes)==null?void 0:x.colour)===((p=a.attributes)==null?void 0:p.colour)?"outline outline-black outline-[1px] border border-white":""} ${((P=a.attributes)==null?void 0:P.colour)===((O=t==null?void 0:t.attributes)==null?void 0:O.colour)?"":"hover:border-white hover:outline-[1px] hover:outline hover:outline-grey-2"}`,children:(0,i.jsx)(_,{alt:(($=a.attributes)==null?void 0:$.colour)||"Colour",fillParent:!0,width:n?60:34,height:n?90:34,src:U(a),fetchPriority:"low",className:n?"rounded":`${((mt=(N=u.theming)==null?void 0:N.PDP)==null?void 0:mt.swatchShape)==="circle"?"rounded-full":"rounded"} ${a.isOnStock?"":"opacity-90"}`})})]})}),(0,i.jsxs)("div",{className:"flex flex-col flex-grow ml-2",children:[(0,i.jsx)("span",{className:"block text-left text-sm",children:(dt=a.attributes)==null?void 0:dt.colourLabel}),(0,i.jsx)("span",{className:`block text-xs text-left ${a.availableQuantity===null||a.availableQuantity===void 0?"":a.availableQuantity===0||a.availableQuantity<V?"text-dark-red":""}`,children:a.availableQuantity===null||a.availableQuantity===void 0?"":a.availableQuantity===0?"Out of stock":a.availableQuantity<V?`Only ${a.availableQuantity} left in stock`:""})]})]},o)})})]}
1),!E&&(0,i.jsx)("div",{"data-test-id":"colour-swatches",className:`gap-2 py-1 ${k.length<=1||Et?"hidden":""} ${n?"flex px-1 overflow-x-auto overflow-y-hidden whitespace-nowrap max-w-full":"grid grid-cols-[repeat(auto-fill,minmax(32px,1fr))]"}`,children:k.map((a,o)=>{var m,d,h,f,b,c,v,x,p,P;return(0,i.jsx)("button",{"data-test-id":"colour-swatch-"+a.isOnStock,onClick:O=>{var $,N;I&&O.stopPropagation(),r&&r((($=a.attributes)==null?void 0:$.colour)||""),S({section:"colour_swatch",action:"select",...a.isOnStock?{}:{label:"oos_colour"},value:D((N=a.attributes)==null?void 0:N.colourLabel),position:o})},className:`${n?"w-[60px] h-[90px]":"w-[34px] h-[34px]"} overflow-hidden border border-grey-2 ${((d=(m=u.theming)==null?void 0:m.PDP)==null?void 0:d.swatchShape)==="circle"?"rounded-full":"rounded"} ${((h=t==null?void 0:t.attributes)==null?void 0:h.colour)===((f=a.attributes)==null?void 0:f.colour)?"outline outline-black outline-[1px] border border-white":""} ${((b=a.attributes)==null?void 0:b.colour)===((c=t==null?void 0:t.attributes)==null?void 0:c.colour)?"":"hover:border-white hover:outline-[1px] hover:outline hover:outline-grey-2"} ${n?"flex-shrink-0":""}`,children:(0,i.jsxs)("div",{className:"relative flex items-center justify-center w-full h-full",children:[!a.isOnStock&&(0,i.jsxs)(i.Fragment,{children:[(0,i.jsx)("div",{className:`absolute z-20 w-full h-full bg-site-background ${n?"bg-opacity-70":"bg-opacity-10"}`}),(0,i.jsx)("div",{onClick:()=>{lt({event:"visuallySimilar",visuallySimilar:{eventValue:"OOS_colour"}})},"data-test-id":"out-of-stock-cross",className:`${n?"crossed-diagonal":"crossed"} absolute z-20 w-full h-full`})]}),((v=a.attributes)==null?void 0:v.swatchImage)&&(0,i.jsx)(_,{alt:((x=a.attributes)==null?void 0:x.colour)||"Colour",fillParent:!0,fetchPriority:"auto",width:n?60:34,height:n?90:34,src:U(a),className:`${n?"rounded":`${((P=(p=u.theming)==null?void 0:p.PDP)==null?void 0:P.swatchShape)==="circle"?"rounded-full":"rounded"} ${a.isOnStock?"":"opacity-90"}`}`})]})},o)})})]})};export{wt as a,Gt as b,ta as c,Vt as d};
Line numbers count LF bytes from the start of the resource, as the search results do. Vendor segments are library code the classifier recognised; they are stored but not indexed. Bytes are shown as Latin1 characters, one per byte.