1(globalThis.webpackChunknikon_client=globalThis.webpackChunknikon_client||[]).push([[3091],{28419(e,t,a){!function(e,t,a){"use strict";function s(e){return e&&"object"==typeof e&&"default"in e?e:{default:e}}var n,r=s(a);e.Status=void 0,(n=e.Status||(e.Status={})).LOADING="LOADING",n.FAILURE="FAILURE",n.SUCCESS="SUCCESS";const i=({children:s,render:n,callback:i,...o})=>{const[l,c]=a.useState(e.Status.LOADING);return a.useEffect(()=>{const a=new t.Loader(o),s=e=>{i&&i(e,a),c(e)};s(e.Status.LOADING),a.load().then(()=>s(e.Status.SUCCESS),()=>s(e.Status.FAILURE))},[]),l===e.Status.SUCCESS&&s?r.default.createElement(r.default.Fragment,null,s):n?n(l):r.default.createElement(r.default.Fragment,null)};e.Wrapper=i,Object.defineProperty(e,"__esModule",{value:!0})}(t,a(54263),a(59471))},89571(e,t,a){"use strict";a.d(t,{A:()=>r});var s=a(97500),n=a.n(s);const r=({image:e,initials:t,sizeClassName:a="w-[70px] h-[70px]",initialsSize:s="h6",backgroundColor:r="bg-grey-100",initialsColor:i="text-grey-450",dataTestId:o="Account-Profile-Image"})=>e?.imageData?React.createElement("img",{alt:"account-profile",className:n()("rounded-full object-cover",a),src:`data:${e.contentType??"image/jpeg"};base64,${e.imageData}`,"data-testid":o}):React.createElement("div",{className:n()("flex items-center justify-center rounded-full",r,a),"data-testid":o},t&&React.createElement("span",{className:n()("uppercase",s,i)},t))},67183(e,t,a){"use strict";a.d(t,{A:()=>o});var s=a(27527),n=a(97500),r=a.n(n),i=a(71250);const o=({name:e,prefix:t,label:a,required:n,placeholder:o,inputWrapperClass:l,dataTestId:c,showClearButton:d,clearButtonAriaLabel:p})=>{const[m,u,{setValue:h}]=(0,i.Mt)(e);return React.createElement(s.A,{name:e,inputFieldPrefix:React.createElement("span",{className:"body-three mr-2.5 shrink-0 text-black-100"},t),label:a,placeholder:o,type:"text",required:n,inputWrapperClass:r()("flex items-center",l),dataTestId:c,onChange:e=>{const t=e.target.value.trim().replace(/[\s.-]/g,"").toUpperCase();h(t)},showClearButton:d,clearButtonAriaLabel:p})}},11183(e,t,a){"use strict";a.d(t,{A:()=>d});var s=a(13889),n=a(26640),r=a(48210),i=a(97500),o=a.n(i),l=a(59471);function c(){return c=Object.assign?Object.assign.bind():function(e){for(var t=1;t<arguments.length;t++){var a=arguments[t];for(var s in a)({}).hasOwnProperty.call(a,s)&&(e[s]=a[s])}return e},c.apply(null,arguments)}const d=({children:e,classes:t,dataTestId:a,epiEdit:i,fallbackSize:d,image:p,imageClasses:m,imageRef:u,lazyLoad:h=!0,progressiveLoad:g=!0,showFallback:E,sizes:y=""})=>{const C=p?.mobile,b=p?.tablet,S=p?.desktop,f=p?.largeDesktop,A=(0,r.A)(),[N,T]=(0,l.useState)(!1);if(!S?.url&&!E)return null;const x={[n.A.Small]:C,[n.A.Medium]:b,[n.A.Large]:S,[n.A.XLarge]:f};return E&&!S?.url?React.createElement("div",{className:o()(t,"flex items-center justify-center")},React.createElement(s.A,{ariaHidden:!0,className:o()(m,"motion-safe:transition motion-safe:duration-500 motion-safe:ease-in-out"),name:"image-outline",size:d??"100%"}),e):React.createElement("picture",{className:o()(t)},React.createElement("source",{type:"image/webp",sizes:y,srcSet:`${C?.url} 376w, ${b?.url} 768w, ${S?.url} 1024w, ${f?.url} 1440w`}),React.createElement("img",c({ref:u,alt:p?.altText?.length?p?.altText:"nikon-image",className:o()(m,"motion-safe:transition motion-safe:duration-500 motion-safe:ease-in-out"),"data-epi-property-name":i,draggable:"false",loading:h?"lazy":"eager",onLoad:()=>{T(!0)},sizes:y,src:N&&g?x[A]?.url:C?.url,height:x[A]?.height,width:x[A]?.width,srcSet:`${C?.originalUrl} 376w, ${b?.originalUrl} 768w, ${S?.originalUrl} 1024w, ${f?.originalUrl} 1440w`},a&&{"data-testid":a})),N&&e)}},3483(e,t,a){"use strict";a.d(t,{A:()=>c});var s=a(41635),n=a(22399),r=a(24999),i=a(97500),o=a.n(i),l=a(59471);const c=({borderRadiusClassName:e="rounded-[10px]",children:t,className:a,closeButtonIconSize:i=r.A.lg,contentAnimation:c,contentClassName:d,contentJustifyClassName:p="justify-center",crossMarginsClassName:m,heightClassName:u,isContentFullWidth:h=!0,isLoading:g=!1,isOpen:E,maxWidthClassName:y="max-w-[810px]",modalClassName:C,modalJustifyClassName:b="justify-center",modalMarginsClassName:S="mx-5",modalOpacityAnimationDuration:f,paddingClassName:A="px-5 lg:px-20 pt-20 pb-10 lg:pb-20",shouldCloseOnClickOutsideContent:N=!1,shouldCloseOnEscapeKey:T=!0,showCloseButton:x=!0,onOpenChange:R})=>{const w=(0,l.useRef)(null),P=(0,l.useRef)(!1);return(0,l.useEffect)(()=>{P.current&&!g&&w.current?.focus(),P.current=g},[g]),React.createElement(n.A,{isOpen:E,setIsOpen:e=>{g||R(e)},transparent:!0,showCloseButton:x&&!g,shouldCloseOnClickOutsideContent:N&&!g,shouldCloseOnEscapeKey:T&&!g,closeButtonIconSize:i,crossColor:"black",crossMarginsClassName:m,isCloseButtonFixed:!1,contentAnimation:c,modalOpacityAnimationDuration:f,modalClasses:o()("flex items-center p-0 max-w-full",S,b,C),contentClasses:o()("bg-white text-black-100 flex flex-col items-center",{"w-full":h},g?"py-0":A,p,e,u,y,a)}
1,g?React.createElement(s.A,{extraClasses:"min-h-[400px]"}):React.createElement("div",{ref:w,tabIndex:-1,className:o()("flex w-full flex-col items-center justify-center focus:outline-none",d)},t))}},371(e,t,a){"use strict";a.d(t,{A:()=>d});var s=a(13889),n=a(3483),r=a(64363),i=a(43143),o=a(26093),l=a(34629),c=a(59471);const d=({items:e,onItemSelect:t})=>{const[a,d]=(0,c.useState)(!1),p=(0,o.A)(768),{editOrDeleteAriaLabel:m}=(0,i.A)();return e?.length?React.createElement("div",{className:"relative","data-testid":"more-button"},React.createElement("button",{type:"button",onClick:()=>d(!a),"aria-label":m},React.createElement(r.A,{animate:{rotate:a?180:0}},React.createElement(s.A,{name:"edit"}))),p?React.createElement(n.A,{isOpen:a,onOpenChange:d,closeButtonIconSize:"1.25rem",crossMarginsClassName:"mr-3 mt-3",paddingClassName:"py-8 px-10"},React.createElement("ul",{className:"grid w-full gap-y-4"},e.map(({label:e,value:a})=>React.createElement("li",{key:a},React.createElement("button",{type:"button",onClick:()=>{t?.(a),d(!1)}},e))))):React.createElement(l.N,null,a&&React.createElement(r.A,{initial:{opacity:0,y:-20},animate:{opacity:1,y:0},exit:{opacity:0,y:-20},className:"absolute top-7.5 -right-6 w-[11.875rem] rounded-lg bg-white px-6 py-5 drop-shadow-[0_4px_4px_rgba(0,0,0,0.25)]"},React.createElement("ul",{className:"grid gap-y-4"},e.map(({label:e,value:a})=>React.createElement("li",{key:a},React.createElement("button",{type:"button",onClick:()=>{t?.(a),d(!1)}},e))))))):null}},8052(e,t,a){"use strict";a.d(t,{A:()=>h});var s=a(64363),n=a(8383),r=a(59471);const i=(e,t,a,s=!1)=>{const[n,i]=(0,r.useState)(!1),o=(0,r.useRef)({top:0,y:0});(0,r.useEffect)(()=>{const r=e.current;r?.clientWidth&&(r.style.cursor=t>=a||s?"inherit":n?"grabbing":"grab")},[t,a,n,s]),(0,r.useEffect)(()=>{o.current={top:0,y:0};const t=e.current;if(!t)return()=>({});if(s)return t.scrollTop=0,()=>({});const a=e=>{const a=e.clientY-o.current.y;t.scrollTop=o.current.top-a},n=()=>{document.removeEventListener("mousemove",a),document.removeEventListener("mouseup",n),i(!1)},r=e=>{o.current={top:t.scrollTop,y:e.clientY},i(!0),document.addEventListener("mousemove",a),document.addEventListener("mouseup",n)};return t.addEventListener("mousedown",r),()=>{t.removeEventListener("mousedown",r)}},[s])};var o=a(84853),l=a(63027),c=a(65215);const d=(e,t,a,s=!1)=>{const{scrollYProgress:n}=(0,l.L)({container:e}),[i,d]=(0,r.useState)(!0),[p,m]=(0,r.useState)(!1),[u,h]=(0,r.useState)(o.A.Start),g=.05;return(0,c.L)(n,"change",e=>{e<g&&h(o.A.Start),e>=g&&e<=.95&&h(o.A.Middle),e>.95&&h(o.A.End)}),(0,r.useEffect)(()=>{if(t&&!s){if(t>=a)return d(!0),void m(!0);u===o.A.Start&&(d(!0),m(!1)),u===o.A.Middle&&(d(!1),m(!1)),u===o.A.End&&m(!0)}},[s,u,t,a]),{isStart:i,isEnd:p}};var p=a(97500),m=a.n(p),u=a(34629);const h=({children:e,className:t,customScrollbarTheme:a,disableScroll:o=!1,hasDefaultHeightClass:l=!0,hideScrollbar:c=!0,ref:p,shadowColour:h="from-white dark:from-black-100",shadowHeight:g="h-10"})=>{const E=(0,r.useRef)(null),[y,{height:C}]=(0,n.A)(),[b,{height:S}]=(0,n.A)(),{isStart:f,isEnd:A}=d(E,C,S,o);i(E,C,S,o),(0,r.useImperativeHandle)(p,()=>({scrollTo:(e,t="smooth")=>{E.current?.scrollTo({top:e,behavior:t})}}));const N=(0,r.useCallback)(e=>{E.current=e,y(e)},[y]);return React.createElement("div",{className:m()(t,"relative",{"h-full":l})},React.createElement(u.N,null,!f&&!o&&React.createElement(s.A,{tag:"span",animate:{opacity:1},className:m()(h,g,"pointer-events-none absolute top-0 z-10 w-full bg-gradient-to-b to-transparent"),exit:{opacity:0},initial:{opacity:0}
1,transition:{duration:.25},"aria-hidden":"true"})),React.createElement("div",{ref:N,tabIndex:0,className:m()({"scrollbar-hide":c,"overflow-y-hidden":o,"overflow-y-auto":!o,"custom-scrollbar":!o&&a,"custom-scrollbar--light":"light"===a,"custom-scrollbar--dark":"dark"===a},"relative h-full select-none"),role:"presentation"},React.createElement("div",{ref:b},e)),React.createElement(u.N,null,!A&&!o&&React.createElement(s.A,{tag:"span",animate:{opacity:1},className:m()(h||"from-white dark:from-black-100",g,"pointer-events-none absolute bottom-0 z-10 w-full bg-gradient-to-t to-transparent"),exit:{opacity:0},initial:{opacity:0},transition:{duration:.25},"aria-hidden":"true"})))}},49934(e,t,a){"use strict";a.d(t,{A:()=>C});var s=a(41635),n=a(28419),r=a(97729),i=a(13889),o=a(64363),l=a(6244),c=a(24999),d=a(43143),p=a(97500),m=a.n(p),u=a(34629),h=a(59471);const g={[l.A.Default]:{svg:'<svg width="45" class="motion-safe:transition-transform motion-safe:ease motion-safe:duration-300 hover:scale-95" height="55" viewBox="0 0 51 60" xmlns="http://www.w3.org/2000/svg"><path d="m27.2655 59.6402-.0037.0029c-1.0407.8092-2.4829.8092-3.5236 0l-.0029-.0022C8.26011 47.7292.75 36.525.75 26.0388.75 9.44883 13.922.75 25.5.75s24.75 8.69883 24.75 25.2888c0 10.4866-7.5108 21.7273-22.9845 33.6014Z" fill="#0A0203" stroke="#FD0" fill-opacity="1" stroke-width="1.5"></path></svg>'},[l.A.DefaultSelected]:{svg:'<svg width="45" height="55" viewBox="0 0 51 60" xmlns="http://www.w3.org/2000/svg"><path d="m27.2655 59.6402-.0037.0029c-1.0407.8092-2.4829.8092-3.5236 0l-.0029-.0022C8.26011 47.7292.75 36.525.75 26.0388.75 9.44883 13.922.75 25.5.75s24.75 8.69883 24.75 25.2888c0 10.4866-7.5108 21.7273-22.9845 33.6014Z" fill="#FD0" stroke="#0A0203" fill-opacity="1" stroke-width="1.5"></path></svg>'},[l.A.Small_UPS]:{url:"data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABkAAAAeCAYAAADZ7LXbAAAACXBIWXMAAAsTAAALEwEAmpwYAAAAAXNSR0IArs4c6QAAAARnQU1BAACxjwv8YQUAAAR7SURBVHgBrVZ9TJVVGP8958JFLl93giAIcWdBLdMypHSBshyhGN2sxpxjRI2stVz0h2t9zBbLrVpbuOyTObeWZjYiHJ/1RzrQrAz8QMW0gZZeBeKSuMuFe9/36bzvCxcv3DtuwG97t3N2znl+z3PO73melxAAVw7CkmAx28gT/gCDbURIB9hEQByDIhlQ5PwGMbmYcAVC7fJ6lC5LkuckrYBnsj0aH3Ct1eqJHCkhkF0eXAGGFf8b7GKmNulUrZe4wVIw/JdOMtoYuZJNeJUY6+R0HuYQzFwrCd+lkSZLj3Ed02PIBbR1MHocjL4BxiUH0D9orCnyDqECJpMxj40CMtMJ258TjrDpDP9xiXHoOKPtJKOrmxEqHP2ARzHGQUmOn2Xs/l7F7+dCNxwMU0hOX2Ts+kZFR9fsjU8hYWnzsxoVe+pUzDV0kusDwBu7FJy6MHfeTyF5p1pB55+McDlTZCCq/ISQShFGhN6xB0yKBxYtMFKrPcB1Lk4lWKO1R2f94f1INLxZbsKjuYTq71RU16pYeQ+hapsJ56SiyisVfPKaCfdm+nIXV/sYO3ar+O0M6868XyGQu1z41qv2qjjWaTgiEAK0CMcJ6g8zmo4wUmREH1SYMD8OWP8Q6QRXpfc796lobGPckUZTIwkV1VLW2nVYY0xYtYyweZ3AwgTD4P5mFftbVJ9jaQsp9EgC4cgJ4yqW3E641m+MNz1CSE4w1j3eib0zJnG5DcMJsox+1ajqD52SSKj7MAzlG/3NzphkHDeHgcEh4PkdCupbDeItTwiUFIrZk6SMSdntNubalVV+oWBfs/EmxfnkTyKrMJSxXEhNxLTQ9hfmGEYapJJSkybWWtvHZCstC9ILs1QXQY2VCdR8VIU9z4T1OQLRFkJacmCCV0oE4mONSDTJ/iJzoThfIP9BQvt5IOc+Y9+vZ4DoSL0rjgjZAU/FRZNebfeOhZp7P8GWTHr/aDrqn9l5WYSlGYQLl4Gt7ynoczL+7gWscaQnszVGkklbO79WkbxAVgxZtcKk2Y7Vy8n+7Y8ykWSWVtewJACcQ0Z50GC5pV+WvaWg1ymblXOCvO6Qqn932Qj//AudWMOqpUK+B/0sJGqWZRInzjcOaNI8280+gslw3vAnuBVdPewjSJR1bk22YFb5SxFRcLNTelq3rXTWavbDFpkrFjMfNBe6OnTLnjB+aU2WuPzCU3ND9OzjAvbVwuFlrtDmPjG7myLuFGRqaWxT0z8+oMqwJw5pdaisyHBAq02aIAIhxgK8WCzw5FrhHFU8D0dv8JzwI9Ew3DTPFkai6voA27X+XvtT6E3MnkfYukkgNlocVkaUZyIfc3ePr1GgA6PNUaVSfG/LnmHTektDa3Cy7CXEL28WlHEbXZNJWmkucH06eQ8FOyw7InlaosrkaLtGpkX2wzHGyCgQYQbWZhNKiwQvXkSanqrMw+aPaOPgYCBbQUn8yJqjnpaCf93Rq2acvghk3Q3Ex+G8zLTPw90Re4IZnxG8LTFF8o/zgLveskEjD/XcfxZczNxsQgllAAAAAElFTkSuQmCC"},[l.A.Big_UPS]:{url:"data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAACYAAAAuCAYAAABEbmvDAAAACXBIWXMAAC4jAAAuIwF4pT92AAAAAXNSR0IArs4c6QAACQxJREFUWEe9mHl0FdUZwH/fzHtJCElIokBYIppgqxFbqWIXUU9qUaxQxYLFcmw9FgXEqojKobiwuKBFAau41WONStEiRTFASEQWFZWgSFgENOyrkJCXBJK3zFfvTJBskJdA+v2TzLw79/7ut98rRCH6IQk4nBaK+NuLagyCiKUpGtaeDsQigOCzAEcJo+5zCJW1liV7zRI+S4LVwVBJbCIlcimlTS1rpmwgaqbNj0sPhUO/FkvTVKWrWJynSk8gyV22mSJQrrAWZaOimwXZr479SczVwQ0i7lbqyA8LqGKzgLYR2/5tBIaIahcRydAWgkTBXQG6TUS2qvDukUjknaRYApJN2Hwruo6Y6m2k2z7f71H9q0Iq0KYlWokCpnEDCVUo5YK8FNHwa7EOOyS40BqOyBjgzBZO3OAzx4GyCiirhNIAmOdAhVJVDVpjNBFoEwtJicZhIdYPnTtAYjy7bUsflVCeVaRIj5OBClTC6o1K0WbYubcGpNKDOQYG1fXA4uIgKQEPLAYuzBJGDhZSk3Rts8HMjg9XQcVhWLxSmbtYKQvAkSpcjYRCLd/iud2Fp+8X0lKbARaJwI59sHWX8lYerFyjrlmOmqblOMe+bDbY7u9g1kJl1TplUzFEnFOB0XCOqMCMJowD/+s9Zenn6vqO0VprSpNgR6rhq43KMzNh8xZtdaCjmz0hmDHbnALlzXlKdbA19ROlKY3ptuyCSS85rN98ctHV0u000FjEkR6btsFdjzscKD21kdYcyAZgBwPS467JyrpNDWppVPMmJ0FKMiQnQlk57NrLCd0gMQHO6gpVQThQAiWHvGUagO0tkR73PKmUlStjh3p1vaQMHn7WA20bD6P+LHRMddsaVnwFs3KVc7rDzdcKHVLEHdO2jZd8D5QqSwvh7QVerjsqMTEw6k/C2d2E9qkQCkN5JXyxXnltrtIlrV6CPQoWDitvTTFdFZgg6DfCS1jJ7eCVSRZndfZy2LuLlUdeUF6fbJGV6ZWU+mIie06+8o+ZSjAICd+XngkjhUt/JvjsuqMN4JAxDn7/KQJ7Z5rlmsSISS+mLiYmCFkZXoEOR2DC88qCZcrVlwkPDRf8Pig/DOu+UQy8GZeVIdw63sHnawWw4ZMcVq6BlHYw9lYhu5dgWbCuGO5+zOHGfsIt14lr2g9XqusmlYc9N7nkQuHzNUqn9q0AZna8aq2nvYxukPOoRXyc50eDRjsM6S8M+o24LdD7y5SJM9T934jZgAE+J7OVwWJjIf9li4R4rwWakqO0S4BhAz1nLN4F099QPv1SXfCjctyobK7z1/ax2hozvdX8FyxSkjxN5C5X5i+DiXcIpyd7GN+VQv4K5c1cZc8+712rg5m0YKK7W2cPbOkqGPu0w/AbhUF9xDWxEaNN44Mz/u3w+Zr/gykNmNFmlw4e2JJVMHqySQdwZW9h6AChS0fctGF+/3qrcv9TSlJCa/tYDCz6p2X6dzch58xTnsk5lmnTO8Et1wt9LxG3pTbyxKtK0SZ46r5aHWxLE+zxfKxNHOS95Dm/Sci3P+qw8qu6STUpEZ57wOK8TO/9p0Xw/CzlydFNgO0v8bLxwdLjZ/7jgV2TLTxwq6cNUw/7j3TcGmokXCsKp4+z6H2BVzm+3AjTcmqBBfOsLw8ckgvunmz6L6/MxNVM+Eau8v4SJSFemHKvkHZa3ZJUG2zMVGV5oZLVXdx6m5nugSz6VJnwnHJuhpDVHT7+wuuGM8+Ax+60OLOLNy53Oby1QPm7WcccRoJ59iuhMLeMmKQU71QeHO5lbSOmdOzcD5ZA93SwreODFe+EvQeUs7p6GzBaOFgGf5vuUFgE114hjLtN+HYH7DuopKcJZ6R5ydWY26xfeYQ6p6SHFRk/bKJSWKRk/wLuvdlyO4n6xdk4ckUl/HexMj1H3cg7WivrepB30H11rjJrvrrm65ft1cr6BTwY8oLjlXeU888Wnn9QsG1elFCe7zJFlxpTFHziRU6vnwiD+0K7RCG+jZdvDgXUPZzMzldWr/fe1QZbu9m9cCAUFioqldkF8FHhsbanUwe4qb/QrZPp3Wpaq0PKFxtg5vteG3/pRcK0MWLmGSHBAn8vIk7+x6tpd/8Uxz24GjHaMg2daQINxO593t/aUhvstgkO2/d4h95AjaPX16J5Nu7QOc37xWR804EYMYFy31+E66+QsCCXS0UuabE+e0ZlFQOuv8th/8HGpmv8XR2w8Q6FNUU8+hmOjUxNhjnTLJNkP3Hs8E2iioTzrVGRiDyWu1xjTdWP9vx4KsFu/6PbFoXE0odiVjhPusauKojLsJzw7NKA9pz0grLks+h6/1MF1jNLeGKUcHqKfO23rBukT7Doh6Y4nGdf5yg5G7eROH6Gw8bipg1yKsBMeRo3zKJXFkfE0nExVzlTXR8/urx+SFww6Jukjt65YYvGPPycUrz9xHAnC5beGYYOFK7pLWHLZo7/SGSoXIsbOnWOERUFdPRH7KdQBm7aprEv/gdWrFb3XqsxGfYHoX2K90vOe8r23U1r2Y1M20tJIwfDeZlSrTA/LJE72l7JDzM0ON/ofLoGbWuYIPeUBoj/bK0y9TV1z38ne+VkUpDp8UcMFq74ubupaoHX/RKZKFexo/a2Gr193ptH22TsywSeVYf0kgB+cw01t0A5VHN1GZ1uvFEGqF0iXH6xMGyQ28WGfTZ7LLg9YEWWp/ahrP58J7wW1w/oEgr7RiP0Q/XsTdthZq66B9Sde6JD69geLuohDOwj/PRH7jdGM/Mc9U2N61v9zfFmieq+PrTA90vHor+gt0UcTlv/LXy8Wt3TeKCi8amNyQb0EbIvFj2/O+KzKVWVly2LRf4rwx80ta2owMwkOo/4aouuls8eJ8LvqoMk7i/Bfm+JMnuRusXd+KC5Jrj6cuHGvq4POW3iKLdgYYTIIzGwRa6isimoBlEZzQdaiJ/SmHNCkcjY76PpYlUySssR0yGYOjvkGiG9I2pb7HLgI1Frsj8Q2iA30Kzbtqg11hj04Tzfr2zoJzgDQH5ck362qsrb5sAd1ze8MJrNNjbmpMBcE88nNgiZYlu9Ufx+27cMX3CzZFPTp7QM7X+282jiqUebOAAAAABJRU5ErkJggg=="}},E=({boundsPadding:e,defaultIconType:t=l.A.Default,initialCenter:a,locations:s,mapId:n,onMapLoaded:p,onMarkerClick:E,ref:y,selectedIconType:C=l.A.Default,zoomButtonsPositionClassName:b="bottom-2.5 right-2.5 md:bottom-7.5 md:right-7.5"})=>{const S=(0,h.useRef)(null),f=(0,h.useRef)(void 0),A=(0,h.useRef)(void 0),N=(0,h.useRef)(null),T=(0,h.useRef)(void 0),{zoomInAriaLabel:x,zoomOutAriaLabel:R}=(0,d.A)(),[w,P]=(0,h.useState)(-1),v=e=>{if(e.url){const t=document.createElement("img");return t.src=e.url,t}if(e.svg){return(new DOMParser).parseFromString(e.svg,"image/svg+xml").documentElement}return null},k=e=>{e?.classList.add("google-map-marker"),e?.addEventListener("animationend",()=>{e.classList.remove("google-map-marker")})},L=()=>{const e=A.current?.find(e=>1===e.zIndex);e&&(e.content=v(g[t]),e.zIndex=0)},I=e=>{(e=>{const t=e?.position;t&&f.current?.panTo(t)})(e),L();const t=v(g[C]);e.content.classList.contains("google-map-marker")&&k(t),e.content=t,e.zIndex=1},_=({latitude:e,longitude:t,title:a})=>A.current?.find(s=>
1s.position?.lat===parseFloat(e||"0")&&s.position?.lng===parseFloat(t||"0")&&s.title===a),M=(e,t)=>{const a=_(e);if(!a)return;!(N.current?.position?.lat===a.position?.lat&&N.current?.position?.lng===a.position?.lng&&N.current?.title===a.title)&&T.current&&(T.current.setContent(t),T.current.open(f.current,a),N.current=a)},D=()=>{T.current&&(T.current.close(),L(),N.current=null)};(0,h.useImperativeHandle)(y,()=>({selectMarkerOnMap:e=>{const t=_(e);t&&I(t)},openMarkerInfoWindow:M,closeMarkerInfoWindow:D}));(0,h.useEffect)(()=>{(async()=>{google.maps.marker||await google.maps.importLibrary("marker"),(()=>{if(S.current){if(f.current=new google.maps.Map(S.current,{center:a,disableDefaultUI:!0,maxZoom:16,mapId:n}),T.current=new google.maps.InfoWindow({pixelOffset:new google.maps.Size(0,-8,"px","px"),headerDisabled:!0,minWidth:270}),A.current=s.map(({name:e,latitude:a,longitude:s})=>{const n=v(g[t]);k(n);const r=new google.maps.marker.AdvancedMarkerElement({position:{lat:parseFloat(a),lng:parseFloat(s)},map:f.current,title:e,content:n});return r.addListener("click",()=>{I(r),r.title&&E(r)}),r}),A.current.length>0){const t=new google.maps.LatLngBounds;A.current.forEach(e=>{t.extend(e.position)}),f.current.fitBounds(t,e)}google.maps.event.addListenerOnce(f.current,"tilesloaded",()=>{const e=f.current?.getZoom()??0;P(e)})}})(),p?.()})()},[s]);return React.createElement(React.Fragment,null,React.createElement("div",{"data-testid":"google-map",ref:S,className:"relative h-full w-full"}),React.createElement(u.N,null,w>-1&&React.createElement(o.A,{className:m()("absolute z-30 grid gap-[5px]",b),initial:{opacity:0}
1,animate:{opacity:1},"data-testid":"google-map-zoom-buttons-container"},React.createElement(r.A,{className:"!p-0 h-10 w-10",onClick:()=>{f.current?.setZoom(w+1),P(w+1)},"aria-label":x,dataTestId:"google-map-zoom-in-button",disabled:16===w},React.createElement(i.A,{name:"add",size:c.A.sm,colorClassName:16===w?"text-grey-500":"text-black-100"})),React.createElement(r.A,{className:"!p-0 h-10 w-10",onClick:()=>{f.current?.setZoom(w-1),P(w-1)},"aria-label":R,dataTestId:"google-map-zoom-out-button",disabled:0===w},React.createElement(i.A,{name:"minus",size:c.A.sm,colorClassName:0===w?"text-grey-500":"text-black-100"})))))};function y(){return y=Object.assign?Object.assign.bind():function(e){for(var t=1;t<arguments.length;t++){var a=arguments[t];for(var s in a)({}).hasOwnProperty.call(a,s)&&(e[s]=a[s])}return e},y.apply(null,arguments)}const C=({googleMapsApiKey:e,ref:t,...a})=>React.createElement(n.Wrapper,{apiKey:e,render:e=>{switch(e){case n.Status.LOADING:return React.createElement(s.A,{extraClasses:"h-full"});case n.Status.FAILURE:return React.createElement("h4",null,"Error Loading Map");default:return React.createElement(E,y({ref:t},a))}}})},32817(e,t,a){"use strict";a.d(t,{A:()=>i});var s=a(46145),n=a(55544),r=a(55169);const i=({additionalDetailsEndpoint:e,cartState:t="",clientKey:a,countryCode:i,environment:o,makePaymentEndpoint:l,orderSummary:c,paymentFailedEndpoint:d,paymentMethodsResponse:p,purchaseEndpointUrl:m,trackingData:u,translations:h,setHasError:g,setHasFatalPaymentError:E,setIsLoading:y,setResultCode:C})=>{const b=async()=>await(0,s.r3)(d);return{environment:"production"===o.toLowerCase()?"live":"test",clientKey:a,showPayButton:!0,locale:n.H,countryCode:i,translations:{[n.H]:{...h}},onSubmit:async(e,a)=>{const{isValid:i,data:o}=e;if(i&&l){a?.setStatus("loading");try{const e=await(0,s.Rr)(l,{data:o,hash:t});(0,r.A)({event:"paymentInfoSubmit",ecommerce:{currency:u?.currencyCode,items:u?.products,value:c?.totalValue},is_valid:n._.includes(e?.resultCode),payment_method:"card"}),await(async(e,t,a,r,i,o)=>{const{resultCode:l,action:c}=t;if(o(l),!n._.includes(l))return r?.(!1),void e?.setStatus("error");
1if(r?.(!0),c)return e?.handleAction(c),void r?.(!1);if(n._.includes(l)&&a){r?.(!0);try{const{data:{redirectionUrl:e}={}}=await(0,s.ZS)(a);if(e){const t=`${window.location.origin}${e}`;window.location.href=t}}catch(e){console.error("Purchase completion error:",e),window.appInsights&&e instanceof Error&&window.appInsights.trackException({exception:e}),i(!0)}}else window.appInsights&&window.appInsights.trackEvent({name:"PaymentResultFailed",properties:{res:t,purchaseEndpointUrl:a}});e?.setStatus("ready")})(a,e,m,y,g,C)}catch(e){console.error({err:e}),window.appInsights&&e instanceof Error&&window.appInsights.trackException({exception:e}),await b(),g(!0),y?.(!1),a?.setStatus("ready")}}},onAdditionalDetails:async(a,i)=>{if(a?.data?.details?.redirectResult&&e){i?.setStatus("loading"),y?.(!0);try{const o=await(0,s.zb)(e,{data:a.data,hash:t});if((0,r.A)({event:"paymentInfoSubmit",ecommerce:{currency:u?.currencyCode,items:u?.products,value:c?.totalValue},is_valid:n._.includes(o?.resultCode),payment_method:"card"}),o.action)i?.handleAction(o.action);else if(n._.includes(o.resultCode)){const{data:{redirectionUrl:e}={}}=await(0,s.ZS)(m);if(e){const t=`${window.location.origin}${e}`;window.location.href=t}}else await b(),g(!0),window.appInsights&&window.appInsights.trackEvent({name:"PaymentResultFailed",properties:{res:o,purchaseEndpointUrl:m}})}catch(e){console.error({err:e}),await b(),window.appInsights&&e instanceof Error&&window.appInsights.trackException({exception:e}),g(!0),E?.(!0)}finally{i?.setStatus("ready"),y?.(!1)}}},onError:(e,t)=>{console.error(e.name,e.message,e.stack,t),g(!0)},paymentMethodsResponse:p}}},28490(e,t,a){"use strict";a.d(t,{A:()=>i});var s=a(46145),n=a(55544),r=a(55169);const i=({additionalDetailsEndpoint:e,billingAddress:t,cartState:a="",checkCartEndpoint:i="",clientKey:o,environment:l,hasErrorOccurredRef:c,id:d,orderSummary:p,paymentFailedEndpoint:m,paymentMethodRef:u,purchaseEndpointUrl:h,sessionData:g,shippingAddress:E,trackingData:y,translations:C,setHasError:b,setHasFatalPaymentError:S,setIsLoading:f,setPaymentMethod:A,setResultCode:N,setRefreshCheckout:T,onRatePayAddressMismatch:x})=>{const R=async()=>{if(!h)return;const{data:{redirectionUrl:e}={}}=await(0,s.ZS)(h);e&&(window.location.href=`${window.location.origin}${e}`)},w=async()=>await(0,s.r3)(m);return{environment:"production"===l.toLowerCase()?"live":"test",clientKey:o,showPayButton:!0,session:{id:d,sessionData:g},locale:n.H,translations:{[n.H]:{...C}},onChange:e=>{const a=e.data?.paymentMethod?.type;if(!a)return;const s=a.toLowerCase().includes("ratepay");x?.(!!s&&!(!t||!E?.address||t.addressLine1===E.address.addressLine1&&(t.addressLine2||null)===(E.address.addressLine2||null)&&t.city===E.address.city&&t.postCode===E.address.postCode&&t.country===E.address.country))},beforeSubmit:async(e,n,r)=>{if(a&&i&&T){A(e.paymentMethod.type);try{if(await(0,s.q5)(i,a)){const a={...e,billingAddress:{city:t?.city,country:t?.country,street:`${t?.addressLine1} ${t?.addressLine2??""}`,houseNumberOrName:"ZZ",postalCode:t?.postCode},deliveryAddress:{city:E?.address?.city,country:E?.address?.country,street:`${E?.address?.addressLine1} ${E?.address?.addressLine2??""}`,houseNumberOrName:"ZZ",postalCode:E?.address?.postCode,firstName:E?.firstName,lastName:E?.lastName}};r.resolve(a)}else r.reject(),T?.(!0)}catch{r.reject(),f?.(!1)}}},onPaymentCompleted:async e=>{const{resultCode:t}=e;f?.(!0),N?.(t);const a=u.current,s="scheme"===a?"card":a;if((0,r.A)({event:"paymentInfoSubmit",ecommerce:{currency:y?.currencyCode,items:y?.products,value:p?.totalValue},is_valid:n._.includes(t),...s&&{payment_method:s}}),A(void 0),n._.includes(t)&&h)try{await R()}catch(t){console.error({error:t}),window.appInsights&&t instanceof Error&&(window.appInsights.trackException({exception:t}),window.appInsights.trackEvent({name:"PaymentResultReceived",properties:{result:e}})),b(!0),S?.(!0)}else await w(),f?.(!1),b(!0),window.appInsights&&window.appInsights.trackEvent({name:"PaymentResultFailed",properties:{result:e,purchaseEndpointUrl:h}})},onPaymentFailed:async e=>{N?.(e.resultCode),await w()},onError:async(t,r)=>{if(window.appInsights&&window.appInsights.trackException({exception:t}),!c||c.current)return;c.current=!0;const i=new URLSearchParams(window.location.search).get("redirectResult");
1if("NETWORK_ERROR"===t.name&&i&&e&&h)try{const t=await(0,s.zb)(e,{data:{details:{redirectResult:i}},hash:a});t.action?r?.handleAction(t.action):n._.includes(t.resultCode)?await R():(await w(),b(!0))}catch(e){await w(),window.appInsights&&e instanceof Error&&window.appInsights.trackException({exception:e}),b(!0)}else"CANCEL"===t.name?N?.("Cancelled"):(await w(),b(!0))}}}},62566(e,t,a){"use strict";a.d(t,{A:()=>i});var s=a(41635),n=a(97500),r=a.n(n);const i=({paymentPendingText:e,containerClasses:t,isPaymentConfirmation:a=!1})=>React.createElement("div",{className:r()("bg-white text-black-100",t,a?"mx-auto h-full max-w-[280px]":"h-[335px] xl:h-[484px]")},React.createElement("div",{className:r()("flex h-full flex-col items-center justify-center",{"px-12 xl:px-24":!a})},React.createElement(s.A,{pulseItemClasses:"bg-black-100 h-5 w-5 xl:h-7.5 xl:w-7.5",pulseContainerGapClass:"gap-[10px] xl:gap-[15px]"}),React.createElement("div",{className:"pt-7.5"},e&&React.createElement("p",{className:"body-three mx-auto text-center text-grey-600 xl:text-base","data-testid":"Pending-Payment-Text"},e))))},14160(e,t,a){"use strict";a.r(t),a.d(t,{default:()=>ze});var s=a(88507),n=a(67753),r=a(33048),i=a(13889),o=a(11183),l=a(64363),c=a(59522),d=a(97500),p=a.n(d),m=a(34629),u=a(59471);const h=({label:e,name:t,value:a,checked:s,disabled:n,supplementaryIconsFallback:r,paymentMethods:d,onChange:h})=>{const g=(0,c.A)(),[E,y]=(0,u.useState)(!1),C=`${t}-${a}`,b=Array.isArray(e)?e:[e],S=[r].flat().filter(e=>Boolean(e)),f=!(!d?.items?.length&&!S.length);return React.createElement("label",{htmlFor:C,className:p()("flex w-full rounded-[10px] p-5 motion-safe:transition-colors",s?"border-2 border-yellow":"border border-grey",f?"h-full flex-wrap items-start gap-3":"items-center gap-5",{"focus-within:outline focus-within:outline-2 focus-within:outline-black-100":E,"cursor-pointer focus-within:border-2 focus-within:border-yellow hover:border hover:border-yellow":!n&&!s}),"data-testid":"form-radio-label"},React.createElement("div",{className:p()("body-two flex max-w-[70%] flex-grow items-center justify-between gap-x-5 xl:max-w-[80%]",n?"text-grey-500":"text-black-100")},b.map(e=>React.createElement("span",{key:e},e))),React.createElement("input",{type:"radio",id:C,name:t,value:a,checked:s,onChange:e=>h(e.target.value),className:"sr-only",disabled:n,onFocus:()=>{y(g)}}),React.createElement("div",{className:p()("ml-auto h-[26px] w-[26px] shrink-0 rounded-full",s?"bg-yellow":"border border-grey")},React.createElement(m.N,null,s&&React.createElement(l.A,{initial:{opacity:0}
1,animate:{opacity:1},exit:{opacity:0},transition:{duration:.1},className:"flex h-full items-center justify-center"},React.createElement(i.A,{name:"check",size:"1.125rem"})))),f&&React.createElement("div",{className:"flex h-[75%] w-full flex-wrap gap-[9px]"},d?.items?.length?d.items.map(e=>React.createElement("div",{key:e.title,className:"flex h-[27px] w-10 items-start justify-center self-start"},React.createElement(o.A,{image:e.image,imageClasses:"h-[27px] object-contain rounded-sm"}))):S.map(e=>React.createElement(i.A,{key:e,name:e,width:"40px",height:"27px"}))))};var g=a(97729),E=a(27527),y=a(67183),C=a(41635),b=function(e){return e.Individual="Individual",e.Company="Company",e}(b||{});const S=b;var f=a(89571),A=a(371),N=a(8383);const T=({name:e,email:t,phoneNumber:a,initials:s,profileImage:n,actionItems:r,dataTestId:i="Checkout-Contact-Card",onActionItemClick:o})=>{const[l,{width:c}]=(0,N.A)(),d=r?.length;return React.createElement("div",{className:"rounded-[10px] border border-grey py-7.5 pl-5 "+(d?"pr-5":"pr-7.5"),"data-testid":i},React.createElement("div",{className:"flex",ref:l},React.createElement("div",{className:"mr-[15px]"},React.createElement(f.A,{image:n,initials:s,backgroundColor:"bg-grey-100",initialsColor:"text-grey-450",sizeClassName:"w-6 h-6",initialsSize:"text-[9px] leading-[9px]",dataTestId:`${i}-Profile-Image`})),React.createElement("div",{className:p()("flex flex-grow flex-col gap-y-[5px]",{"mr-[26px]":d})},React.createElement("div",{className:"body-three body-three--bold","data-testid":`${i}-Name`},e),React.createElement("div",{className:"body-three truncate",style:{...c>0?{maxWidth:c-(d?89:39)}:{}},"data-testid":`${i}-Email`},t),a&&React.createElement("div",{className:"body-three","data-testid":`${i}-Phone-Number`},a)),d&&React.createElement(A.A,{onItemSelect:o,items:r})))};var x=a(52894),R=a(55169);const w=({title:e,description:t,stepIndex:a})=>((0,u.useEffect)(()=>{(0,R.A)({event:"error",error_message:e,checkout_step:x.k[a]})},[]),React.createElement("section",{className:"mt-[70px] md:max-w-[475px] xl:mt-[100px] xl:max-w-[670px]"},React.createElement("h2",{className:"h5 mb-5","data-testid":"Checkout-Error-Title"},e),React.createElement("div",{"data-testid":"Checkout-Error-Text",className:"body-two content-area",dangerouslySetInnerHTML:{__html:t}})));var P=a(71250);const v=({onFormValuesPersist:e})=>{const{values:t}=(0,P.j7)(),a=(0,u.useRef)(null);return(0,u.useEffect)(()=>()=>{a.current&&e(a.current)},[]),(0,u.useEffect)(()=>{a.current=t},[t]),null};var k=a(75556),L=a.n(k);var I=a(20435),_=(a(99865),function(e){return e.Adyen="Adyen",e.Novuna="Novuna",e}(_||{}));const M=_;var D=function(e){return e.ShipToMe="ShipToMe",e.PickUp="PickUp",e}(D||{});const O=D;let U=function(e){return e.SET_CHECKOUT_STEP_INDEX="SET_CHECKOUT_STEP_INDEX",e.SET_CHECKOUT_STEP_COMPLETED_INDEX="SET_CHECKOUT_STEP_COMPLETED_INDEX",e.SET_CHECKOUT_CONTACT_FORM_VALUES="SET_CHECKOUT_CONTACT_FORM_VALUES",e.SET_CHECKOUT_SHIPPING_SELECTED_SHIPPING_TYPE="SET_CHECKOUT_SHIPPING_SELECTED_SHIPPING_TYPE",e.SET_CHECKOUT_SHIPPING_SHIP_TO_ME_CARD_VALUES="SET_CHECKOUT_SHIPPING_SHIP_TO_ME_CARD_VALUES",e.SET_CHECKOUT_SHIPPING_SHIP_TO_ME_FORM_VALUES="SET_CHECKOUT_SHIPPING_SHIP_TO_ME_FORM_VALUES",e.SET_CHECKOUT_SHIPPING_SHIP_TO_ME_IS_SHIPPING_ADDRESS_FORM_DISPLAYED="SET_CHECKOUT_SHIPPING_SHIP_TO_ME_IS_SHIPPING_ADDRESS_FORM_DISPLAYED",e.SET_CHECKOUT_SHIPPING_SHIP_TO_ME_IS_MANUAL_SHIPPING_ADDRESS="SET_CHECKOUT_SHIPPING_SHIP_TO_ME_IS_MANUAL_SHIPPING_ADDRESS",e.SET_CHECKOUT_SHIPPING_PICK_UP_POST_CODE="SET_CHECKOUT_SHIPPING_PICK_UP_POST_CODE",e.SET_CHECKOUT_SHIPPING_PICK_UP_STATE_VALUES="SET_CHECKOUT_SHIPPING_PICK_UP_STATE_VALUES",e.SET_CHECKOUT_SHIPPING_PICK_UP_COLLECTOR_FORM_VALUES="SET_CHECKOUT_SHIPPING_PICK_UP_COLLECTOR_FORM_VALUES",e.SET_CHECKOUT_PAYMENT_SELECTED_PAYMENT_TYPE="SET_CHECKOUT_PAYMENT_SELECTED_PAYMENT_TYPE",e.SET_CHECKOUT_PAYMENT_ADYEN_BILLING_FORM_VALUES="SET_CHECKOUT_PAYMENT_ADYEN_BILLING_FORM_VALUES",e.SET_CHECKOUT_PAYMENT_ADYEN_IS_MANUAL_BILLING_ADDRESS="SET_CHECKOUT_PAYMENT_ADYEN_IS_MANUAL_BILLING_ADDRESS",e.SET_CHECKOUT_PAYMENT_NOVUNA_DEPOSIT_PERCENT="SET_CHECKOUT_PAYMENT_NOVUNA_DEPOSIT_PERCENT",e}({});const H={checkoutStepIndex:0,checkoutCompletedStepIndex:-1,stepsData:{contact:{formValues:null},shipping:{shippingType:O.ShipToMe,shipToMe:{shippingAddress:{cardValues:null,formValues:null,isFormDisplayed:!1,isManualAddress:!1},shippingMethodId:""},pickUp:{postCode:"",pickUpLocations:[],selectedLocation:null,isCollectorFormDisplayed:!1,collectorFormV
1alues:null}},payment:{paymentType:M.Adyen,adyen:{billingAddress:{formValues:null,isManualAddress:!1}},novuna:{depositPercent:-1}}}},F=(e,t)=>{switch(t.type){case U.SET_CHECKOUT_STEP_INDEX:return{...e,checkoutStepIndex:t.payload};case U.SET_CHECKOUT_STEP_COMPLETED_INDEX:return{...e,checkoutCompletedStepIndex:t.payload};case U.SET_CHECKOUT_CONTACT_FORM_VALUES:return{...e,stepsData:{...e.stepsData,contact:{...e.stepsData.contact,formValues:t.payload}}};case U.SET_CHECKOUT_SHIPPING_SELECTED_SHIPPING_TYPE:return{...e,stepsData:{...e.stepsData,shipping:{...e.stepsData.shipping,shippingType:t.payload}}};case U.SET_CHECKOUT_SHIPPING_SHIP_TO_ME_CARD_VALUES:return{...e,stepsData:{...e.stepsData,shipping:{...e.stepsData.shipping,shipToMe:{...e.stepsData.shipping.shipToMe,shippingAddress:{...e.stepsData.shipping.shipToMe.shippingAddress,cardValues:t.payload}}}}};case U.SET_CHECKOUT_SHIPPING_SHIP_TO_ME_FORM_VALUES:return{...e,stepsData:{...e.stepsData,shipping:{...e.stepsData.shipping,shipToMe:{...e.stepsData.shipping.shipToMe,shippingAddress:{...e.stepsData.shipping.shipToMe.shippingAddress,formValues:t.payload.shippingAddress},shippingMethodId:t.payload.shippingMethodId}}}};case U.SET_CHECKOUT_SHIPPING_SHIP_TO_ME_IS_SHIPPING_ADDRESS_FORM_DISPLAYED:return{...e,stepsData:{...e.stepsData,shipping:{...e.stepsData.shipping,shipToMe:{...e.stepsData.shipping.shipToMe,shippingAddress:{...e.stepsData.shipping.shipToMe.shippingAddress,isFormDisplayed:t.payload}}}}};case U.SET_CHECKOUT_SHIPPING_SHIP_TO_ME_IS_MANUAL_SHIPPING_ADDRESS:return{...e,stepsData:{...e.stepsData,shipping:{...e.stepsData.shipping,shipToMe:{...e.stepsData.shipping.shipToMe,shippingAddress:{...e.stepsData.shipping.shipToMe.shippingAddress,isManualAddress:t.payload}}}}};case U.SET_CHECKOUT_SHIPPING_PICK_UP_POST_CODE:return{...e,stepsData:{...e.stepsData,shipping:{...e.stepsData.shipping,pickUp:{...e.stepsData.shipping.pickUp,postCode:t.payload}}}};case U.SET_CHECKOUT_SHIPPING_PICK_UP_STATE_VALUES:return{...e,stepsData:{...e.stepsData,shipping:{...e.stepsData.shipping,pickUp:{...e.stepsData.shipping.pickUp,...t.payload}}}};case U.SET_CHECKOUT_SHIPPING_PICK_UP_COLLECTOR_FORM_VALUES:return{...e,stepsData:{...e.stepsData,shipping:{...e.stepsData.shipping,pickUp:{...e.stepsData.shipping.pickUp,collectorFormValues:t.payload}}}};case U.SET_CHECKOUT_PAYMENT_SELECTED_PAYMENT_TYPE:return{...e,stepsData:{...e.stepsData,payment:{...e.stepsData.payment,paymentType:t.payload}}};case U.SET_CHECKOUT_PAYMENT_ADYEN_BILLING_FORM_VALUES:return{...e,stepsData:{...e.stepsData,payment:{...e.stepsData.payment,adyen:{...e.stepsData.payment.adyen,billingAddress:{...e.stepsData.payment.adyen.billingAddress,formValues:t.payload.billingAddress}}}}};case U.SET_CHECKOUT_PAYMENT_ADYEN_IS_MANUAL_BILLING_ADDRESS:return{...e,stepsData:{...e.stepsData,payment:{...e.stepsData.payment,adyen:{...e.stepsData.payment.adyen,billingAddress:{...e.stepsData.payment.adyen.billingAddress,isManualAddress:t.payload}}}}};case U.SET_CHECKOUT_PAYMENT_NOVUNA_DEPOSIT_PERCENT:return{...e,stepsData:{...e.stepsData,payment:{...e.stepsData.payment,novuna:{...e.stepsData.payment.novuna,depositPercent:t.payload}}}};default:return e}};var j=a(78895);function V(){return V=Object.assign?Object.assign.bind():function(e){for(var t=1;t<arguments.length;t++){var a=arguments[t];for(var s in a)({}).hasOwnProperty.call(a,s)&&(e[s]=a[s])}return e},V.apply(null,arguments)}const K=({checkoutErrorTitle:e,checkoutErrorText:t,getContactEndpoint:a,isStepCompleted:s,stateData:{formValues:n},updateLabel:r,dispatch:i,onSetIsSubmitting:o,onSetHasSubmitError:c,onSuccessfulSubmit:d,handleCheckoutDataLayerEvent:p})=>{const[b,f]=(0,u.useState)(),[A,N]=(0,u.useState)(),[x,R]=(0,u.useState)(!1),k=(0,u.useRef)(null);(0,u.useEffect)(()=>{(async()=>{try{const e=await(async e=>{const{data:t}=await L().get(e);return t})(a);N(e)}catch(e){R(!0),console.log({error:e})}})()},[a]),(0,u.useEffect)(()=>{k.current?.validateForm()},[b]),(0,u.useEffect)(()=>{p("addContactInfo")},[]),(0,u.useEffect)(()=>{if(!A)return;const e=A.isCompanyOrder?S.Company:S.Individual;f(e)},[A]);const _=e=>{i({type:U.SET_CHECKOUT_CONTACT_FORM_VALUES,payload:e})},M=e=>{f(e),c(!1)};if(x)return React.createElement(w,{title:e,description:t,stepIndex:0});
1if(!A||!b)return React.createElement(C.A,{extraClasses:"min-h-[400px]"});const{company:{companyDetailsLabel:D,companyNameErrorMessage:O,companyNameLabel:H,companyNamePlaceholderLabel:F,vatErrorMessage:K,vatInformation:Y,vatNumberLabel:G,vatNumberPlaceholderLabel:B,vatPrefix:z},companyLabel:q,contactTitleLabel:$,continueToShippingText:W,emailAddressErrorMessage:Z,emailAddressLabel:J,emailAddressPlaceholderLabel:Q,enablePurchaseAsCompany:X,existingCompany:ee,existingContact:te,individualLabel:ae,requiredErrorMessage:se,yourDetailsEmail:ne}=A;return React.createElement(m.N,null,React.createElement(l.A,{"data-testid":"CT-128-Checkout-Contact",className:"text-black-100",initial:{opacity:0},animate:{opacity:1},exit:{opacity:0},transition:{duration:.25}},React.createElement("div",{className:"lg:grid lg:grid-cols-7"},React.createElement("div",{className:"mb-13 flex flex-col gap-y-5 md:grid md:grid-cols-2 md:gap-5 lg:col-span-7 xl:col-span-6","data-testid":"CT-128-Checkout-Contact-Customer-Type"},React.createElement(h,{label:ae,name:"customerType",value:S.Individual,checked:b===S.Individual,onChange:M}),React.createElement(h,{label:q,name:"customerType",value:S.Company,checked:b===S.Company,onChange:M,disabled:!X}))),React.createElement(P.l1,{innerRef:k,initialValues:{emailAddress:n?.emailAddress||ne||te?.email||"",companyName:n?.companyName||ee?.companyName||"",vatNumber:n?.vatNumber||ee?.vatNumber||""},validateOnMount:!0,onSubmit:async e=>{if(A&&b)try{c(!1),o(!0);const t=A.existingContact&&b===S.Individual?A.existingContact.email:e.emailAddress;await(async(e,{emailAddress:t,companyName:a,vatNumber:s},n)=>{const r=n===S.Company,i=new FormData;return i.append("emailAddress",t),i.append("isCompanyOrder",r.toString()),r&&(i.append("companyName",a),i.append("vatNumber",s)),L().post(e,i)})(A.submitContactEndpoint,{...e,emailAddress:t},b),await d(),p("contactInfoSubmit",{customer_type:b})}catch(e){if(console.log({error:e}),c(!0),!L().isAxiosError(e))return;const{companyFieldErrors:t}=e.response?.data??{};if(!Object.keys(t).length)return;k.current?.setErrors({...t})}finally{o(!1)}},validationSchema:j.Ik().shape({emailAddress:j.Yj().matches(I.Xw,Z).required(se),companyName:j.Yj().matches(I.pn,O).when(["customerType"],{is:()=>b===S.Company,then:e=>e.required(se)}),vatNumber:j.Yj().when(["customerType"],{is:()=>b===S.Company,then:e=>e.required(se).vatNumber(z,K)})})},({isValid:e,dirty:t})=>React.createElement(P.lV,null,React.createElement(v,{onFormValuesPersist:_}),React.createElement("div",{className:"flex w-full flex-col gap-y-13 md:w-3/5 lg:w-4/5 xl:w-[486px]","data-testid":"CT-128-Checkout-Contact-Form-Content"},React.createElement("div",null,React.createElement("h2",{className:"h6 mb-7.5","data-testid":"CT-128-Checkout-Contact-Title"},$),React.createElement(m.N,{mode:"popLayout"},te&&b===S.Individual?React.createElement(l.A,{exit:{opacity:0},initial:{opacity:0}
1,animate:{opacity:1},transition:{duration:.2},key:"contactCard"},React.createElement(T,V({},te,{dataTestId:"CT-128-Checkout-Contact-Customer-Card"}))):React.createElement(l.A,{exit:{opacity:0},initial:{opacity:0},animate:{opacity:1},transition:{duration:.2},key:"contactEmailField"},React.createElement(E.A,{name:"emailAddress",label:J,placeholder:Q,type:"email",required:!0,dataTestId:"CT-128-Checkout-Contact-Email-Input"})))),React.createElement(m.N,null,b===S.Company&&React.createElement(l.A,{layout:"position",exit:{opacity:0},initial:{opacity:0},animate:{opacity:1},transition:{duration:.2},key:"companyDetails","data-testid":"CT-128-Checkout-Contact-Company-Details-Section"},React.createElement("h2",{className:"h6 mb-7.5","data-testid":"CT-128-Checkout-Contact-Company-Details-Title"},D),React.createElement("div",{className:"flex flex-col gap-y-5"},React.createElement(E.A,{name:"companyName",label:H,placeholder:F,type:"text",required:!0,dataTestId:"CT-128-Checkout-Contact-Company-Name-Input"}),React.createElement(y.A,{name:"vatNumber",prefix:z,label:G,required:!0,placeholder:B,dataTestId:"CT-128-Checkout-Contact-VAT-Number-Input"}),React.createElement("div",{"data-testid":"CT-128-Checkout-Contact-VAT-Info",className:"small-text content-area",dangerouslySetInnerHTML:{__html:Y}})))),React.createElement("div",null,React.createElement(g.A,{disabled:!e,type:"submit",dataTestId:"CT-128-Checkout-Contact-Submit"},s&&t?r:W)))))))},Y=({firstName:e,lastName:t,companyName:a,addressLine1:s,addressLine2:n,city:r,postCode:o,country:l,email:c,phoneNumber:d,addressEditLabel:p,onEditClick:m})=>React.createElement("div",{className:"rounded-[10px] border border-grey py-7.5 pr-5 pl-5 lg:pr-7.5","data-testid":"Address-Card"},React.createElement("div",{className:"mb-[5px] flex"},React.createElement("div",{className:"mr-[15px]","data-testid":"Address-Card-Icon"},React.createElement(i.A,{name:"map_pin",colorClassName:"text-black-100 dark:text-white"})),React.createElement("p",{className:"body-three--bold flex-grow lg:mr-[26px]","data-testid":"Address-Card-Name"},e," ",t),p&&m&&React.createElement(A.A,{items:[{label:p,value:p}],onItemSelect:e=>{e===p&&m()},"data-testid":"Address-Card-More-Button"})),React.createElement("div",{className:"body-three break-words pr-11 pl-[39px] lg:pr-[70px]"},a&&React.createElement("p",{"data-testid":"Address-Card-Company"},a),React.createElement("address",{className:"mb-5 not-italic"},React.createElement("p",{"data-testid":"Address-Card-Address-Line-1"},s),n&&React.createElement("p",{"data-testid":"Address-Card-Address-Line-2"},n),React.createElement("p",{"data-testid":"Address-Card-City"},r),React.createElement("p",{"data-testid":"Address-Card-Postcode"},o),React.createElement("p",{"data-testid":"Address-Card-Country"},l)),c&&React.createElement("p",{className:"truncate","data-testid":"Address-Card-Email"},c),d&&React.createElement("p",{"data-testid":"Address-Card-Phone-Number"},d))),G=async e=>{const{data:t}=await L().get(e);return t},B=async(e,t)=>{await L().post(e,{...t})};var z=a(26164);const q=async e=>{const{data:t}=await L().get(e);return t};var $=a(8195),W=a(90699),Z=a(45487);function J(){return J=Object.assign?Object.assign.bind():function(e){for(var t=1;t<arguments.length;t++){var a=arguments[t];for(var s in a)({}).hasOwnProperty.call(a,s)&&(e[s]=a[s])}return e},J.apply(null,arguments)}const Q=({addressEditLabel:e,billingAddressCountries:t,companyNameLabel:a,companyNamePlaceholder:s,countryCode:n,countryName:r,displayedShippingAddress:i,firstNameLabel:o,firstNamePlaceholder:c,hasExistingBillingAddress:d,hasExistingShippingAddress:p,isBillingAddress:h=!1,isFormDisplayed:y,isManualAddress:C,isSubmitCTADisabled:b,isSubmitCTADisplayed:S,lastNameLabel:f,lastNamePlaceholder:A,optionalFieldLabel:N,phoneNumberLabel:T,phoneNumberLabelPlaceholder:x,phoneNumberPrefixes:R,updateLabel:w,dispatch:v,setIsFormDisplayed:k,...L})=>{const I=h?"billingAddress":"shippingAddress",_=h?"Billing":"Shipping",M=h?(t||[])?.map(e=>({label:e.countryName,value:e.countryCode})):[{label:r,value:n}],D=(0,u.useRef)(null),{values:O,touched:H,setValues:F,setTouched:j,validateForm:V}=(0,P.j7)(),K=e=>{v({type:h?U.SET_CHECKOUT_PAYMENT_ADYEN_IS_MANUAL_BILLING_ADDRESS:U.SET_CHECKOUT_SHIPPING_SHIP_TO_ME_IS_MANUAL_SHIPPING_ADDRESS,payload:e})};return React.createElement(React.Fragment,null,p&&!h&&React.createElement("div",{className:"mt-7.5","data-testid":`Checkout-Address-Form-${_}-Address-Card`,ref:D},React.createElement(Y,{firstName:i?.firstName||"",lastName:i?.lastName||"",companyName:i?.companyName||"",addressLine1:i?.address?.addressLine1||"",addressLine2:i?.address?.addressLine2||"",city:i?.address?.city||"",postCode:i?.address?.postCode||"",country:i?.address?.country||"",email:i?.email||"",phoneNumber:i?.phoneNumber||"",addressEditLabel:e,onEditClick:()=>{K(!0),k?.(!0),window.requestAnimationFrame(()=>D.current?.scrollIntoView({behavior:"smooth",block:"start"}))}})),React.createElement(m.N,null,y&&React.createElement(l.A,{animate:{o
1pacity:1},exit:{opacity:0},initial:{opacity:0},transition:{duration:.25},className:"mt-7.5 flex flex-col gap-5","data-testid":`Checkout-Address-Form-${_}-Fields-Wrapper`},React.createElement(E.A,{label:o,name:`${I}.firstName`,placeholder:c,required:!0,type:"text","data-testid":`Checkout-Address-Form-${_}-First-Name-Input`}),React.createElement(E.A,{label:f,name:`${I}.lastName`,placeholder:A,required:!0,type:"text","data-testid":`Checkout-Address-Form-${_}-Last-Name-Input`}),React.createElement(E.A,{label:a,name:`${I}.companyName`,placeholder:s,type:"text",optionalFieldLabel:N,"data-testid":`Checkout-Address-Form-${_}-Company-Name-Input`}),React.createElement(Z.A,J({},L,{countries:M,"data-testid":`Checkout-Address-Form-${_}-Address-Toggle`,formPrefix:I,isAddressRequired:!0,isAddressToggleButtonDisplayed:!h&&!p||h&&!d,isCountryDisabled:!h,isManualAddress:C,optionalFieldLabel:N,onAddressLookupFieldChange:e=>{const t={...O,...h?{billingAddress:{...O.billingAddress,...e}}:{shippingAddress:{...O.shippingAddress,...e}}};F(t)},onExitToggleAnimationComplete:V,onLookupAddressSelect:(e,a)=>{const s={...H,...h?{billingAddress:{...H.billingAddress,...a}}:{shippingAddress:{...H.shippingAddress,...a}}},r={...O,...h?{billingAddress:{...O.billingAddress,...e}}:{shippingAddress:{...O.shippingAddress,...e}}};j(s),F(r);(h?(t||[]).map(e=>e.countryCode.toLowerCase()):[n.toLowerCase()]).includes(e.address.country.toLowerCase())&&K(!0)},onToggleButtonClick:e=>{const t=C?e:{...e,address:{...e.address,country:n}},a={...O,...h?{billingAddress:{...O.billingAddress,...t}}:{shippingAddress:{...O.shippingAddress,...t}}};K(!C),F({...a})}})),React.createElement(W.A,{formPrefix:I,label:T,prefixes:R||[],phoneNumberLabelPlaceholder:x,required:!0,"data-testid":`Checkout-Address-Form-${_}-Phone-Number`})),S&&React.createElement("div",null,React.createElement(g.A,{disabled:b,type:"submit",className:"mt-7.5","data-testid":"Checkout-Address-Form-Update-CTA"},w))))};var X=a(99140),ee=a(62566),te=a(46145),ae=a(65825),se=a(55544),ne=a(26093),re=a(32817),ie=a(28490);const oe=({additionalDetailsEndpoint:e,adyenClientKey:t,billingAddress:a,cardsLabel:n,cartState:i,checkCartEndpoint:o,checkoutPayload:l,environment:c,existingShippingAddress:d,isAdvancedFlow:p,makePaymentEndpoint:m,orderSummary:h,paymentFailedBannerText:E,paymentFailedBannerTitle:y,paymentFailedEndpoint:b,paymentMethodsEndpoint:S,paymentMethodsTranslations:f,paymentPendingTitle:A,paymentSessionEndpoint:N,paymentSystemDown:T,purchaseEndpointUrl:w,ratePaySameAddressLabel:P,retryCta:v,rivertyLabel:k,trackingData:L,translations:I,..._})=>{const[M,D]=(0,u.useState)(!1),[O,U]=(0,u.useState)(!1),[H,F]=(0,u.useState)(!1),[j,V]=(0,u.useState)(!1),[K,Y]=(0,u.useState)(),[G,B]=(0,u.useState)(!1),z=K&&!se._.includes(K),q=K&&"Cancelled"===K,$=(0,ne.A)(768),W=(0,u.useRef)(null),Z=(0,u.useRef)(null),J=(0,u.useRef)(void 0),Q=!!(p&&e&&m&&S),{paymentMethod:oe,setPaymentMethod:le}=(0,ae.A)(e=>({paymentMethod:e.paymentMethod,setPaymentMethod:e.setPaymentMethod})),ce=(0,u.useCallback)(async()=>{W.current=null,D(!1),V(!1),Z.current?.unmount(),Z.current=null;try{if(Q){const a=await(0,te.J5)(S);if(!a)throw new Error("Payment methods response is empty");if(!e)throw new Error("additionalDetailsEndpoint is required");const s=await(0,X.mU)((0,re.A)({..._,additionalDetailsEndpoint:e,cartState:i,clientKey:t,environment:c,makePaymentEndpoint:m,orderSummary:h,paymentFailedEndpoint:b,paymentMethodsResponse:a,purchaseEndpointUrl:w,trackingData:L,translations:I,setHasError:U,setIsLoading:F,setResultCode:Y}));if(!s)throw new Error("Checkout initialization failed");W.current=s,D(!0)}else{const{id:s,sessionData:n}=await(0,te.Z4)(N);if(!n||!s)throw new Error("Session data or ID is empty");const r=await(0,X.mU)((0,ie.A)({..._,additionalDetailsEndpoint:e,billingAddress:a,cartState:i,checkCartEndpoint:o,clientKey:t,environment:c,id:s,orderSummary:h,paymentFailedEndpoint:b,paymentMethodRef:J,purchaseEndpointUrl:w,sessionData:n,shippingAddress:d,trackingData:L,translations:I,onRatePayAddressMismatch:B,setHasError:U,setIsLoading:F,setPaymentMethod:le,setResultCode:Y,setRefreshCheckout:V}));if(!r||!r.paymentMethodsResponse)throw new Error("Checkout initialization failed");W.current=r,D(!0)}}catch(e){console.error(e),window.appInsights&&e instanceof Error&&window.appInsights.trackException({exception:e}),U(!0)}finally{F(!1)}},[Q,e,t,a,c,m,h,b,S,w,N,le,oe,L,I]);(0,u.useEffect)(()=>{ce()},[l,d]),(0,u.useEffect)(()=>{J.current=oe},[oe]),(0,u.useEffect)(()=>
1{if(M&&W.current&&!O){const e=new X.Bf(W.current,{paymentMethodsConfiguration:{card:{hasHolderName:!0,holderNameRequired:!0,billingAddressRequired:!0,billingAddressMode:"partial",name:n,data:{billingAddress:{postalCode:a?.postCode}}},riverty:{name:k},...f||{}}}).mount("#payment-container");Z.current=e}O&&(0,R.A)({event:"error",error_message:T,checkout_step:x.k[2]})},[M,O]),(0,u.useEffect)(()=>{K&&z&&!q&&(0,R.A)({event:"error",error_message:E,checkout_step:x.k[2]})},[K,z,q,E]);const de=(0,u.useCallback)(e=>{if($&&z){const t=e?.offsetTop;requestAnimationFrame(()=>window.scrollTo({top:t-20,behavior:"smooth"}))}},[z,$]);return j?React.createElement(React.Fragment,null,React.createElement(s.A,{displayStyle:r.A.Error,caption:y,iconName:"warning",className:"mb-10 xl:mb-7.5",ariaRole:"alert"}),React.createElement(g.A,{onClick:()=>window.location.reload()},v.name)):O?React.createElement(s.A,{displayStyle:r.A.Error,caption:T,iconName:"warning",className:"mb-10 xl:mb-7.5",ariaRole:"alert"}):H?React.createElement(ee.A,{paymentPendingText:A,containerClasses:"rounded-[10px] border border-grey"}):G?React.createElement(React.Fragment,null,React.createElement(s.A,{displayStyle:r.A.Warning,caption:P,iconName:"warning",className:"mb-10 xl:mb-7.5",ariaRole:"alert"}),React.createElement(g.A,{className:"self-start",onClick:()=>{B(!1),ce()}},v.name)):React.createElement("div",{ref:de},M?React.createElement("div",{id:"payment-container","data-testid":"CT-127-Checkout-Payment-Gateway-Container"}):React.createElement(C.A,{extraClasses:"min-h-[400px]"}),K&&z&&!q&&React.createElement("div",{className:"mt-10 xl:mb-7.5"},React.createElement(s.A,{displayStyle:r.A.Error,title:E,caption:y,iconName:"warning",className:"mb-10 xl:mb-7.5",ariaRole:"alert"}),React.createElement(g.A,{onClick:()=>{Y(void 0),ce()}},v.name)))};var le=a(24897),ce=a(85643);const de=({billingAddressCountries:e,firstNameErrorMessage:t,lastNameErrorMessage:a,companyErrorMessage:s,addressLookupRestrictedAddressErrorMessage:n,addressLookupInvalidAddressErrorMessage:r,addressLine1ErrorMessage:i,addressLine2ErrorMessage:o,cityErrorMessage:l,postcodeErrorMessage:c,phoneNumberErrorMessage:d,requiredErrorMessage:p,isManualBillingAddress:m})=>j.Ik().shape({firstName:j.Yj().matches(I.r1,t).when(["billingSameAsShipping"],{is:e=>!e,then:e=>e.required(p)}),lastName:j.Yj().matches(I.r1,a).when(["billingSameAsShipping"],{is:e=>!e,then:e=>e.required(p)}),companyName:j.Yj().matches(I.pn,s),lookupAddressText:j.Yj().when(["billingSameAsShipping"],{is:e=>!e&&!m,then:e=>e.required(p)}).test("is-address-allowed",n,(t,a)=>{const s=a.parent.address.country,n=e.map(e=>e.countryCode.toLowerCase());return!s||n.includes(s.toLowerCase())||m||!t}).test("is-address-selected",r,e=>m||!e),address:j.Ik().shape({addressLine1:j.Yj().matches(I.pn,i).test("billingSameAsShipping",p,(e,t)=>!(!t.options.context.billingAddress.billingSameAsShipping&&m&&!e)),addressLine2:j.Yj().matches(I.pn,o),city:j.Yj().matches(I.Qe,l).test("billingSameAsShipping",p,(e,t)=>!(!t.options.context.billingAddress.billingSameAsShipping&&m&&!e)),postCode:j.Yj().test("matches-country-regex",c,(e,t)=>{const a=t.options.context?.billingAddress.address.country;return ce.A[a]?.pattern.test(e||"")??!0}).test("billingSameAsShipping",p,(e,t)=>!(!t.options.context.billingAddress.billingSameAsShipping&&m&&!e))}),phoneNumber:j.Ik().shape({prefix:j.Yj().required(p),principal:j.Yj().matches(I.st,d).test("billingSameAsShipping",p,(e,t)=>!(!t.options.context.billingAddress.billingSameAsShipping&&m&&!e))}),billingSameAsShipping:j.zM()}),pe=(e,t)=>(e.firstName||"")===(t?.firstName||"")&&(e.lastName||"")===(t?.lastName||"")&&(e.companyName||"")===(t?.companyName||"")&&(e.address?.addressLine1||"")===(t?.addressLine1||"")&&(e.address?.addressLine2||"")===(t?.addressLine2||"")&&(e.address?.city||"")===(t?.city||"")&&(e.address?.country||"")===(t?.country||"")&&(e.address?.postCode||"")===(t?.postCode||"")&&(e.phoneNumber||"")===(t?.phoneNumber||"");function me(){return me=Object.assign?Object.assign.bind():function(e){for(var t=1;t<arguments.length;t++){var a=arguments[t];for(var s in a)({}).hasOwnProperty.call(a,s)&&(e[s]=a[s])}return e},me.apply(null,arguments)}
1const ue=({billingAddress:e,billingAddressCountries:t,billingAddressLabel:a,checkoutShippingPayload:s,isBillingAddressSameAsShipping:n,sameDeliveryAddressLabel:r,selectPaymentMethodLabel:i,setBillingAddressEndpoint:o,stateData:{billingAddress:{formValues:c,isManualAddress:d}},termsAndConditions:m,updateLabel:h,dispatch:g,onSetBillingAddress:E,onSetHasSubmitError:y,onSetIsBillingAddressSameAsShipping:C,onSetIsLoading:b,...S})=>{const[f,A]=(0,u.useState)(!1),N=!!e?.addressLine1,T=d||N,x=s?.shipToMe.existingShippingAddress??{},R=e=>{g({type:U.SET_CHECKOUT_PAYMENT_ADYEN_BILLING_FORM_VALUES,payload:e})};return React.createElement(l.A,{tag:"section",animate:{opacity:1},initial:{opacity:0},"data-testid":"CT-127-Checkout-Payment-Adyen-Section",className:"mt-13 xl:mt-[70px]"},React.createElement(P.l1,{enableReinitialize:!0,initialValues:{billingAddress:((e,a)=>{const s=e?.address?.country||a?.country,n=(t.some(e=>e.countryCode===s)?s:t[0]?.countryCode)||"";return{firstName:e?.firstName||a?.firstName||"",lastName:e?.lastName||a?.lastName||"",companyName:e?.companyName||a?.companyName||"",lookupAddressText:e?.lookupAddressText||"",address:{addressLine1:e?.address?.addressLine1||a?.addressLine1||"",addressLine2:e?.address?.addressLine2||a?.addressLine2||"",city:e?.address?.city||a?.city||"",postCode:e?.address?.postCode||a?.postCode||"",country:n},phoneNumber:{prefix:e?.phoneNumber?.prefix||a?.phoneNumber.prefix,principal:e?.phoneNumber?.principal||a?.phoneNumber.principal},billingSameAsShipping:e?.billingSameAsShipping??!!a?.billingSameAsShipping}})(c,{firstName:e?.firstName,lastName:e?.lastName,companyName:e?.companyName,addressLine1:e?.addressLine1,addressLine2:e?.addressLine2,city:e?.city,postCode:e?.postCode,country:e?.country,phoneNumber:(0,le.A)({phoneNumberPrefix:s.shipToMe.phoneNumberPrefix,phoneNumberPrefixes:s.shipToMe.phoneNumberPrefixes,existingPhoneNumber:e?.phoneNumber}),billingSameAsShipping:n})},validateOnMount:!0,onSubmit:async({billingAddress:e})=>{try{y(!1),b(!0),A(!0);const t=e.billingSameAsShipping?{addressLine1:x.address?.addressLine1??"",addressLine2:x.address?.addressLine2??"",city:x.address?.city??"",companyName:x?.companyName,country:x.address?.country??"",firstName:x.firstName??"",lastName:x.lastName??"",postCode:x.address?.postCode??"",phoneNumber:x?.phoneNumber??"",email:x?.email??""}:{addressLine1:e.address?.addressLine1??"",addressLine2:e.address?.addressLine2??"",city:e.address?.city??"",companyName:e?.companyName,country:e.address?.country??"",firstName:e.firstName??"",lastName:e.lastName??"",postCode:e.address?.postCode??"",phoneNumber:`${e?.phoneNumber?.prefix}${(0,z.A)(e?.phoneNumber?.principal)}`,email:x?.email??""};await B(o,t),R({billingAddress:{firstName:t.firstName??"",lastName:t.lastName??"",companyName:t.companyName??"",lookupAddressText:"",phoneNumber:(0,le.A)({phoneNumberPrefix:s?.shipToMe.phoneNumberPrefix||"",phoneNumberPrefixes:s?.shipToMe.phoneNumberPrefixes||[],existingPhoneNumber:t.phoneNumber}),address:{addressLine1:t.addressLine1??"",addressLine2:t.addressLine2??"",city:t.city??"",country:t.country??"",postCode:t.postCode??""},billingSameAsShipping:e.billingSameAsShipping}});const a=pe(x,t);C(a),E(t)}catch(e){console.log({error:e}),y(!0)}finally{A(!1),b(!1)}},validationSchema:j.Ik().shape({billingAddress:de({...s.shipToMe,billingAddressCountries:t,isManualBillingAddress:T})})},({values:o,isValid:l})=>{const c=o.billingAddress.billingSameAsShipping,d=!((e,t)=>{const{firstName:a,lastName:s,companyName:n,address:r,phoneNumber:i}=e||{},o={firstName:a,lastName:s,companyName:n,address:r,phoneNumber:i?`${i?.prefix}${(0,z.A)(i?.principal)}`:""};return pe(o,t)})(o.billingAddress,e||{});return React.createElement(React.Fragment,null,React.createElement(P.lV,{className:"mb-13 xl:mb-[70px]","data-testid":"CT-127-Checkout-Payment-Billing-Address-Form"},React.createElement(v,{onFormValuesPersist:R}),React.createElement("div",null,React.createElement("h2",{className:"h6 mb-7.5","data-testid":"CT-127-Checkout-Payment-Billing-Address-Section-Title"},a),React.createElement($.A,{label:r,name:"billingAddress.billingSameAsShipping",type:"checkbox"})),React.createElement(Q,me({billingAddressCountries:t,dispatch:g,hasExistingBillingAddress:N,isBillingAddress:!0,isFormDisplayed:!c,isManualAddress:T,isSubmitCTADisabled:!l||!d&&!c,isSubmitCTADisplayed:!c||!n,updateLabel:h},s.shipToMe))),!f&&React.createElement("div",{className:p()({hidden:!c&&d||
1c&&!n})},React.createElement("h3",{className:"h6 mb-5","data-testid":"CT-127-Checkout-Payment-Select-Payment-Label"},i),React.createElement("div",{className:"body-four mb-10 xl:mb-7.5","data-testid":"CT-127-Checkout-Payment-Select-Payment-Method-Text"},React.createElement("div",{dangerouslySetInnerHTML:{__html:m},className:"[&_a]:underline"})),e?.postCode&&React.createElement(oe,me({},S,{billingAddress:e,existingShippingAddress:x}))))}))},he=(e,t)=>a=>new Intl.NumberFormat(e,{style:"currency",currency:t}).format(a),ge=({totalCartValue:e,depositPercent:t,termMonths:a})=>{const s=Math.floor(e*t)/100,n=e-s;return{depositAmount:s,instalmentAmount:Math.floor(n/a*100)/100}},Ee=({cartState:e,checkCartEndpoint:t,commercePaymentCreditTitleLabel:a,commerceNovunaCalculatorApr:n,commerceNovunaCalculatorMaxDepositPercent:o,commerceNovunaCalculatorMinDepositPercent:c,commerceNovunaCalculatorTermMonths:d,commerceNovunaCalculatorTitleLabel:m,commerceNovunaCalculatorDepositLabel:h,commerceNovunaCalculatorDetails:E,commerceNovunaCalculatorTermLabel:y,commerceNovunaCalculatorTermFormat:C,commerceNovunaCalculatorAprLabel:b,commerceNovunaCalculatorAprFormat:S,commerceNovunaCalculatorInstalmentsLabel:f,commerceNovunaCalculatorTotalLabel:A,commerceNovunaCalculatorSubmitLabel:N,culture:T,currency:x,novunaApplicationEndpoint:w,novunaNotifications:P,retryCta:v,stateData:{depositPercent:k},submitErrorCaption:L,submitErrorTitle:I,termsAndConditions:_,totalCartValue:M,trackingData:D,dispatch:O,onSetHasSubmitError:H,onSetIsLoading:F,onSetSubmitErrorMessage:j})=>{const[V,K]=(0,u.useState)(!1),[Y,G]=(0,u.useState)(!1),B=k<0?c:k,[z,q]=(0,u.useState)(B),$=(0,u.useRef)(null);(0,u.useEffect)(()=>{$.current=z},[z]),(0,u.useEffect)(()=>()=>{$.current&&O({type:U.SET_CHECKOUT_PAYMENT_NOVUNA_DEPOSIT_PERCENT,payload:$.current})},[]),(0,u.useEffect)(()=>{const e=()=>{G(!0),setTimeout(()=>{G(!1)},5e3)};return window.addEventListener("beforeunload",e),()=>{window.removeEventListener("beforeunload",e)}},[]);const W=he(T,x),{depositAmount:Z,instalmentAmount:J}=ge({totalCartValue:M,depositPercent:z,termMonths:d}),Q=[{label:y,value:C.replace("{0}",`${d}`),testIdSuffix:"Term"},{label:b,value:S.replace("{0}",`${n}`),testIdSuffix:"APR"},{label:f,value:W(J),testIdSuffix:"Instalments"},{label:A,value:W(M),testIdSuffix:"Total-Amount-Payable"}],X=()=>{O({type:U.SET_CHECKOUT_STEP_INDEX,payload:1}),O({type:U.SET_CHECKOUT_SHIPPING_SHIP_TO_ME_IS_SHIPPING_ADDRESS_FORM_DISPLAYED,payload:!0})};return V?React.createElement(React.Fragment,null,React.createElement(s.A,{displayStyle:r.A.Error,caption:L,iconName:"warning",className:"my-10 xl:my-7.5",title:I,ariaRole:"alert"}),React.createElement(g.A,{onClick:()=>window.location.reload()},v.name)):React.createElement(l.A,{tag:"section",animate:{opacity:1},initial:{opacity:0}
1,"data-testid":"CT-127-Checkout-Payment-Novuna-Section"},!!P?.notifications?.length&&React.createElement("div",{className:"mt-5 flex flex-col gap-5","data-testid":"CT-127-Checkout-Payment-Novuna-Notifications"},P.notifications.map(({text:e,displayStyle:t,link:a,icon:n})=>React.createElement(s.A,{richText:e,displayStyle:t,link:a,iconName:n,key:e}))),React.createElement("div",{className:"mt-13 xl:mt-[70px]","data-testid":"CT-127-Checkout-Payment-Novuna-Details-Section"},React.createElement("p",{className:"h6 mb-7.5"},a),React.createElement("div",{className:"body-four mb-7.5","data-testid":"CT-127-Checkout-Payment-Novuna-Terms-And-Conditions"},React.createElement("div",{dangerouslySetInnerHTML:{__html:_},className:"[&_a]:underline"})),React.createElement("div",{className:"flex flex-col gap-y-4 rounded-xl border border-[#E7E9Eb] bg-[#F7F8F9] p-4","data-testid":"CT-127-Checkout-Payment-Novuna-Calculator"},React.createElement("div",{className:"flex items-center justify-between"},React.createElement("div",{className:"flex items-center gap-x-2"},React.createElement("div",{className:"flex rounded-[2px] border border-[#D5D8DB] bg-white px-[7px] py-1"},React.createElement(i.A,{name:"novuna",width:"1.5rem",height:"1rem"})),React.createElement("p",{className:"font-normal text-blue-900 leading-16"},m)),React.createElement("p",{className:"font-normal text-blue-900 leading-16","data-testid":"CT-127-Checkout-Payment-Novuna-Calculator-Deposit-Percent"},z,"%")),React.createElement("div",{className:"relative flex h-8 items-center","data-testid":"CT-127-Checkout-Payment-Novuna-Calculator-Slider"},React.createElement("div",{className:"pointer-events-none absolute top-2 -translate-x-1/2 transform font-normal text-[12px] text-white leading-16",style:{left:`calc(${z}% + 16px - ${32*z/100}px)`}},z,"%"),React.createElement("input",{className:"novunaPaymentSlider h-2 w-full appearance-none rounded",type:"range",min:0,max:100,value:z,onChange:e=>{const t=Number(e.target.value);q(t<c?c:t>o?o:t)},style:{background:`linear-gradient(to right, #753ff5 ${z}%, #D9D9D9 ${z}%)`}})),React.createElement("div",{className:"flex items-center justify-between text-blue-900 text-xs","data-testid":"CT-127-Checkout-Payment-Novuna-Calculator-Deposit"},React.createElement("p",{className:"font-normal leading-16"},h),React.createElement("p",{className:"font-normal leading-16"},W(Z))),Q.map(({label:e,value:t,testIdSuffix:a})=>React.createElement("div",{key:a,className:"flex items-center justify-between text-[#6A7281] text-xs","data-testid":`CT-127-Checkout-Payment-Novuna-Calculator-${a}`},React.createElement("p",{className:"font-normal leading-16"},e),React.createElement("p",{className:"font-normal leading-16"},t))),React.createElement("button",{onClick:async()=>{try{F(!0),H(!1),(0,R.A)({event:"paymentInfoSubmit",ecommerce:{currency:D?.currencyCode,items:D?.products,value:M},payment_method:"Novuna"});if(!await(0,te.q5)(t,e))return K(!0),void F(!1);const{redirectionUrl:a}=await(0,te.dw)(w,z);a&&(window.location.href=a)}catch(e){console.log({error:e}),H(!0);const t=e;if(400===t.response?.status){const{errorType:a,errorAddressPartsMissingLabel:s,errorAddressUpdateDetailsLabel:n,errorAddressEditLabel:r}=t.response.data;e&&"MissingAddressParts"===a&&j({caption:s,title:n,additionalContent:React.createElement("button",{className:"font-normal underline",onClick:X,"data-testid":"CT-127-Checkout-Payment-Invali
1d-Address"},r),contentClassName:"items-start lg:flex-col lg:items-start lg:gap-y-2.5"})}}finally{F(!1)}},className:p()("flex items-center justify-center rounded-[5px] bg-[#753FF5] px-2 py-4 text-white leading-16",{"pointer-events-none":Y})},N),React.createElement("div",{className:"body-four","data-testid":"CT-127-Checkout-Payment-Novuna-Calculator-Details",dangerouslySetInnerHTML:{__html:E}}))))};function ye(){return ye=Object.assign?Object.assign.bind():function(e){for(var t=1;t<arguments.length;t++){var a=arguments[t];for(var s in a)({}).hasOwnProperty.call(a,s)&&(e[s]=a[s])}return e},ye.apply(null,arguments)}const Ce=({adyenPayment:e,adyenPaymentMethods:t,checkoutErrorTitle:a,checkoutErrorText:s,checkoutPayload:n,commercePaymentTypeCreditLabel:r,commercePaymentTypeLabel:i,commercePaymentTypePaymentLabel:o,getBillingAddressEndpoint:c,getShippingEndpoint:d,novunaPayment:p,novunaPaymentMethods:g,orderSummary:E,setBillingAddressEndpoint:y,shippingAndBillingAddressLabel:b,stateData:{paymentType:S,adyen:f,novuna:A},submitErrorCaption:N,submitErrorTitle:T,termsAndConditions:x,trackingData:R,updateLabel:P,dispatch:v,handleCheckoutDataLayerEvent:k,onSetHasSubmitError:L,onSetIsLoading:I,onSetSubmitErrorMessage:_})=>{const[D,O]=(0,u.useState)(),[H,F]=(0,u.useState)(),[j,V]=(0,u.useState)(!1),[K,B]=(0,u.useState)(!1),z=D?.shipToMe.existingShippingAddress??{},$=S===M.Adyen||!p,W=$?D?.shipToMe.shippingAddressLabel:b;(0,u.useEffect)(()=>{(async()=>{try{const e=await q(d),t=await G(c);O(e),F(t);const a=e?.shipToMe.existingShippingAddress??{},s=pe(a,t);V(s)}catch(e){B(!0),console.log({error:e})}})()},[d,c]),(0,u.useEffect)(()=>{k("addPaymentInfo")},[]);const Z=e=>{v({type:U.SET_CHECKOUT_PAYMENT_SELECTED_PAYMENT_TYPE,payload:e}),L(!1)};return K?React.createElement(w,{title:a,description:s,stepIndex:2}):D?React.createElement(m.N,null,React.createElement(l.A,{className:"w-full md:w-3/5 lg:w-4/5 xl:w-[486px]","data-testid":"CT-127-Checkout-Payment",initial:{opacity:0}
1,animate:{opacity:1},exit:{opacity:0},transition:{duration:.25}},p&&React.createElement(React.Fragment,null,React.createElement("h3",{className:"h6 mb-7.5","data-testid":"CT-127-Checkout-Payment-Select-Payment-Label"},i),React.createElement("div",{className:"lg:grid lg:grid-cols-7"},React.createElement("div",{className:"mb-13 flex flex-col gap-y-5 md:mb-7.5 md:grid md:grid-cols-2 md:gap-5 lg:col-span-7","data-testid":"CT-127-Checkout-Payment-Method-Selection"},React.createElement(h,{label:o,name:"paymentType",value:M.Adyen,checked:S===M.Adyen,supplementaryIconsFallback:["visa","mastercard","amex","apple_pay"],paymentMethods:t,onChange:Z}),React.createElement(h,{label:r,name:"paymentType",value:M.Novuna,checked:S===M.Novuna,supplementaryIconsFallback:"novuna",paymentMethods:g,onChange:Z})))),z?.address?.addressLine1&&React.createElement("div",{"data-testid":"CT-127-Checkout-Payment-Shipping-Address-Card-Container"},React.createElement(l.A,{tag:"h2",key:W,animate:{opacity:1},initial:{opacity:0},className:"h6 mb-7.5","data-testid":"CT-127-Checkout-Payment-Shipping-Address-Title"},W),React.createElement(Y,{firstName:z.firstName,lastName:z.lastName,companyName:z.companyName,addressLine1:z.address.addressLine1,addressLine2:z.address?.addressLine2,city:z.address.city,postCode:z.address.postCode,country:z.address.country,email:z.email,phoneNumber:z.phoneNumber})),$?React.createElement(ue,ye({},e,{billingAddress:H,checkoutPayload:n,checkoutShippingPayload:D,isBillingAddressSameAsShipping:j,orderSummary:E,setBillingAddressEndpoint:y,stateData:f,termsAndConditions:x,trackingData:R,updateLabel:P,dispatch:v,onSetBillingAddress:F,onSetHasSubmitError:L,onSetIsBillingAddressSameAsShipping:V,onSetIsLoading:I})):React.createElement(Ee,ye({},p,{stateData:A,submitErrorCaption:N,submitErrorTitle:T,termsAndConditions:x,totalCartValue:E.totalValue,trackingData:R,dispatch:v,onSetHasSubmitError:L,onSetIsLoading:I,onSetSubmitErrorMessage:_})))):React.createElement(C.A,{extraClasses:"min-h-[400px]"})};var be=function(e){return e.INACTIVE="inactive",e.ACTIVE="active",e.COMPLETE="complete",e}(be||{});const Se=be;var fe=a(43143);const Ae=({activeStepIndex:e,checkoutCompletedStepIndex:t,dispatch:a,labels:s})=>{const{checkoutStepAriaLabel:n}=(0,fe.A)(),r=[0,1,2].reduce((a,s)=>(a[s]=s<e||s<=t&&s!==e?Se.COMPLETE:s===e?Se.ACTIVE:Se.INACTIVE,a),{});return React.createElement("div",{className:"mb-7.5 flex w-full justify-center bg-white md:items-center md:justify-start md:gap-5 xl:mb-15","data-testid":"CT-148-Checkout-Progress-Tracker"},s.map((e,t)=>React.createElement(u.Fragment,{key:e},React.createElement("button",{"aria-label":`${n} ${t+1}: ${e}`,className:"group flex flex-col items-center gap-2 md:flex-row",disabled:r[t]!==Se.COMPLETE,onClick:()=>{a({type:U.SET_CHECKOUT_STEP_INDEX,payload:t})},"data-testid":"CT-148-Checkout-Progress-Tracker-Button"},React.createElement("div",{className:p()("flex h-[1.375rem] w-[1.375rem] items-center justify-center rounded-full p-0.5 motion-safe:transition motion-safe:ease-in-out",{"bg-grey-200 text-grey-500":r[t]===Se.INACTIVE,"bg-yellow":r[t]===Se.ACTIVE,"bg-green-100 group-hover:bg-green":r[t]===Se.COMPLETE}),"data-testid":"CT-148-Checkout-Progress-Tracker-Step"},r[t]===Se.COMPLETE?React.createElement(i.A,{name:"check",ariaHidden:!0,colorClassName:"text-white"}):React.createElement("p",{className:"font-semibold text-[12px]","aria-hidden":!0},t+1)),React.createElement("p",{className:p()("body-three body-three--bold",{"text-grey-500":r[t]===Se.INACTIVE,"group-hover:underline":r[t]===Se.COMPLETE}),"data-testid":"CT-148-Checkout-Progress-Tracker-Step-Label","aria-hidden":!0},e)),React.createElement("div",{className:"mx-[-5px] mt-2.5 h-px w-full max-w-[75px] bg-grey-500 last:hidden md:m-0 md:w-10"}))))};var Ne=a(12518),Te=a(8052),xe=a(35026),Re=a(6244);const we=({closedLabel:e,isShiftsSectionOnNewLine:t,openingTimes:a,openingTimesLabel:s})=>{const[n,r]=(0,u.useState)(!1);return React.createElement("div",{className:"border-grey border-t border-b pt-2.5 max-xl:hidden"},React.createElement("button",{className:"mb-2.5 flex w-full justify-between",onClick:()=>{r(!n)}},React.createElement("p",{className:"body-four body-four--bold"},s),React.createElement(l.A,{className:"flex",animate:{rotate:n?180:0}},React.createElement(i.A,{name:"caret_down"}))),React.createElement(m.N,null,n&&React.createElement(l.A,{tag:"ul",className:"flex flex-col gap-y-2.5",style:{overflow:"hidden"},initial:{height:0},animate:{height:"auto"},exit:{height:0}},a.map(({day:s,workingHours:n},r)=>React.createElement("li",{key:s,className:p()("body-four flex justify-between gap-x-2",{"pb-2.5":r===a.length-1,"flex-col gap-y-2.5":t})},React.createElement("p",null,s),n.length>0?React.createElement("div",{className:p()("flex gap-x-2.5",t?"justify-start max-2xl:flex-col":"justify-end")},n.map(({openHours:e,closeHours:t})=>React.createElement("p",{key:`${s}-${e}-${t}`},`${e} - ${t}`))):React.createElement("p",null,e))))))};var Pe=a(3483);const ve=({closedLabel:e,isShiftsSectionOnNewLine:t,openingTimes:a,openingTimesLabel:s,seeOpeningTimesLabel:n})=>{const[r,i]=(0,u.useState)(!1);return React.createElement("div",{className:"xl:hidden"},React.createElement("button",{className:"body-three body-three--bold min-h-6 underline",onClick:()=>{i(!0)}},n),React.createElement(Pe.A,{isOpen:r,onOpenChange:()=>{i(!1)},borderRadiusClassName:"rounded-[5px]",maxWidthClassName:"max-w-[350px]",paddingClassName:"p-5",crossMarginsClassName:"mt-5 mr-5",shouldCloseOnClickOutsideContent:!0},React.createElement("div",{className:"w-full"},React.createElement("p",{className:"body-four body-four--bold mr-8 underline"},s),React.createElement("ul",{className:"mt-5 flex flex-col gap-y-2.5"},a.map(({day:s,workingHours:n},r)=>React.createElement("li",{key:s,className:p()("body-four flex justify-between gap-x-2",{"pb-2.5":r===a.length-1,"flex-col":t})},React.createElement("p",null,s),n.length>0?React.createElement("div",{className:p()("flex gap-x-[15px]",t?"justify-start":"justify-end")},n.map(({openHours:e,closeHours:t})=>React.createElement("p",{key:`${s}-${e}-${t}`},`${e} - ${t}`))):React.createElement("p",null,e)))))))},ke=({name:e,address:t,city:a,postCode:s,phoneNumber:n,distance:r,closedLabel:o,openingTimes:c,openingTimesLabel:d,seeOpeningTimesLabel:u,isSelected:h,dataTestId:g="Checkout-PickUp-Location-Card",onLocationCardClick:E})=>{const y=(0,ne.A)(1900),C=(0,ne.A)(1440),[b,{height:S}]=(0,N.A)(),[f,{height:A,width:T}]=(0,N.A)(),x=e=>!!c?.some(t=>t.workingHours.length>=e),R=x(3)||x(2)&&!!y;return React.createElement("div",{className:"relative max-xl:w-[260px] max-xl:shrink-0","data-testid":g},React.createElement("button",{className:p()("flex h-full w-full items-start justify-between gap-x-10 rounded-[10px] bg-white px-5 pt-7.5 pb-[25px] motion-safe:transition-colors xl:py-[25px]",h?"border-2 border-yellow":"border border-grey",{"curs
1or-pointer focus-within:border-2 focus-within:border-yellow hover:border hover:border-yellow":!h}),onClick:()=>{E(e)}},React.createElement("div",{style:{paddingBottom:S>0?S+20:0},className:"flex min-w-0 grow flex-col gap-y-2.5 whitespace-normal pb-10 text-left 2xl:max-w-[65%]","data-testid":`${g}-Details`,ref:f},React.createElement("p",{className:p()(C?"body-one body-one--bold":"body-three body-three--bold"),"data-testid":`${g}-Location-Name`},e),React.createElement("div",{className:"body-four hidden xl:block","data-testid":`${g}-Location-Address-Desktop`},React.createElement("p",null,t,", ",a," ",s),n&&React.createElement("p",{className:"body-four"},n)),React.createElement("div",{className:"body-three xl:hidden","data-testid":`${g}-Location-Address-Mobile`},React.createElement("p",null,t),React.createElement("p",null,a," ",s),n&&React.createElement("p",{className:"body-three mt-2.5"},n)),React.createElement("p",{className:"small-text text-grey-450","data-testid":`${g}-Location-Distance`},r)),React.createElement("div",{className:p()("h-[1.625rem] w-[1.625rem] shrink-0 self-start rounded-full "+(h?"bg-yellow":"border border-grey")),"data-testid":`${g}-Select-Indicator`},React.createElement(m.N,null,h&&React.createElement(l.A,{animate:{opacity:1},exit:{opacity:0},initial:{opacity:0}
1,transition:{duration:.1},className:"flex h-full items-center justify-center"},React.createElement(i.A,{name:"check",size:"1.125rem"}))))),!!c?.length&&React.createElement("div",{ref:b,style:{top:C?A+46:A+45,left:20,width:T},className:"absolute","data-testid":`${g}-Opening-Hours`},React.createElement(we,{closedLabel:o,isShiftsSectionOnNewLine:R,openingTimes:c,openingTimesLabel:d}),React.createElement(ve,{closedLabel:o,isShiftsSectionOnNewLine:R,openingTimes:c,openingTimesLabel:d,seeOpeningTimesLabel:u})))};var Le=a(49934),Ie=a(31868);const _e=({billingAddress:e,collectorFormSubtitle:t,collectorFormTitle:a,continueToPaymentLabel:s,countryCode:n,currentSubmittedPostCode:r,editLabel:i,emailErrorMessage:o,emailLabel:c,emailPlaceholder:d,existingCollector:u,existingLocationId:h,firstNameErrorMessage:y,firstNameLabel:C,firstNamePlaceholder:b,hasExistingCollector:S,isCollectorFormDisplayed:f,isStepCompleted:A,lastNameErrorMessage:N,lastNameLabel:x,lastNamePlaceholder:R,phoneNumberErrorMessage:w,phoneNumberLabel:k,phoneNumberPlaceholder:_,phoneNumberPrefix:M,phoneNumberPrefixes:D,requiredErrorMessage:O,selectedLocation:H,setBillingAddressEndpoint:F,stateCollectorFormValues:V,stateSelectedLocationId:K,submitShippingEndpoint:Y,updateLabel:G,dispatch:q,onSetIsCollectorFormDisplayed:$,onSetIsLoading:Z,onSetHasSubmitError:J,onSuccessfulSubmit:Q,handleCheckoutDataLayerEvent:X})=>{const ee=(0,le.A)({phoneNumberPrefix:M,phoneNumberPrefixes:D,existingPhoneNumber:u?.phoneNumber}),te=e=>{q({type:U.SET_CHECKOUT_SHIPPING_PICK_UP_COLLECTOR_FORM_VALUES,payload:e})};return React.createElement("div",{className:"w-full md:w-3/5 lg:w-4/5 xl:w-[486px]","data-testid":"CT-129-Checkout-Shipping-Pick-Up-Collector-Details"},a&&React.createElement("h2",{className:"h6 mb-5","data-testid":"CT-129-Checkout-Shipping-Pick-Up-Collector-Details-Title"},a),t&&React.createElement("p",{className:"body-three mb-7.5","data-testid":"CT-129-Checkout-Shipping-Pick-Up-Collector-Details-Subtitle"},t),React.createElement(P.l1,{initialValues:{firstName:V?.firstName||u?.firstName||"",lastName:V?.lastName||u?.lastName||"",email:V?.email||u?.email||"",phoneNumber:{prefix:V?.phoneNumber.prefix||ee.prefix,principal:V?.phoneNumber.principal||ee.principal},lookupAddressText:""},validateOnMount:!0,onSubmit:async t=>{try{if(!H)return;J(!1),Z(!0);const{id:a,name:s,address:i,city:o,postCode:l}=H;await(async(e,t,{firstName:a,lastName:s,email:n,phoneNumber:{prefix:r,principal:i}},{id:o,name:l,address:c,city:d,postCode:p,country:m})=>{const u=new FormData;return u.append("firstName",a),u.append("lastName",s),u.append("companyName",l),u.append("addressLine1",c),u.append("city",d),u.append("postCode",p),u.append("country",m),u.append("email",n),u.append("contactPhoneNumber",`${r}${(0,z.A)(i)}`),u.append("pickupLocationId",o),u.append("pickupPostcode",t),L().post(e,u)})(Y,r,t,{id:a,name:s,address:i,city:o,postCode:l,country:n});!!e?.addressLine1||await B(F,{addressLine1:i,addressLine2:"",city:o,country:n,firstName:t.firstName,lastName:t.lastName,postCode:l,phoneNumber:`${t?.phoneNumber?.prefix}${(0,z.A)(t?.phoneNumber?.principal)}`,email:e?.email}),$(!1),await Q(),X("shippingInfoSubmit",{shipping_method:"Pick Up"})}catch(e){console.log({error:e}),J(!0)}finally{Z(!1)}},validationSchema:j.Ik().shape({firstName:j.Yj().matches(I.r1,y).required(O),lastName:j.Yj().matches(I.r1,N).required(O),email:j.Yj().required(O).matches(I.Xw,o),phoneNumber:j.Ik().shape({principal:j.Yj().matches(I.st,w).required(O)})})},({isValid:e,dirty:t})=>React.createElement(P.lV,{"data-testid":"CT-129-Checkout-Shipping-Pick-Up-Collector-Details-Form"},React.createElement(v,{onFormValuesPersist:te}),S&&React.createElement("div",{className:p()({"mb-7.5":f})},React.createElement(T,{name:`${u.firstName} ${u.lastName}`,email:u.email,phoneNumber:u.phoneNumber,initials:u.initials,profileImage:u.profileImage,actionItems:[{label:i,value:i}],onActionItemClick:e=>{e===i&&$(!0)},dataTestId:"CT-129-Checkout-Shipping-Pick-Up-Collector-Details-Card"})),React.createElement(m.N,null,f&&React.createElement(l.A,{className:"flex flex-col gap-y-5",animate:{o
1pacity:1},exit:{opacity:0},initial:{opacity:0},transition:{duration:.25}},React.createElement(E.A,{name:"firstName",label:C,placeholder:b,required:!0,type:"text",dataTestId:"CT-129-Checkout-Shipping-Pick-Up-Collector-Details-First-Name-Input"}),React.createElement(E.A,{name:"lastName",label:x,placeholder:R,required:!0,type:"text",dataTestId:"CT-129-Checkout-Shipping-Pick-Up-Collector-Details-Last-Name-Input"}),React.createElement(E.A,{name:"email",label:c,placeholder:d,required:!0,type:"email",dataTestId:"CT-129-Checkout-Shipping-Pick-Up-Collector-Details-Email-Input"}),React.createElement(W.A,{label:k,prefixes:D||[],phoneNumberLabelPlaceholder:_,required:!0,dataTestId:"CT-129-Checkout-Shipping-Pick-Up-Collector-Details-Phone-Number-Input"}))),React.createElement("div",{className:"mt-13 lg:mt-10"},React.createElement(g.A,{disabled:!e||!H,type:"submit",dataTestId:"CT-129-Checkout-Shipping-Pick-Up-Submit-CTA"},A&&h&&(t||K!==H?.id)?G:s)))))},Me=({countryCode:e,initialPostCode:t,onPostCodeInputChange:a,onPostCodePersist:s,onPostCodeSubmit:n,postcodeErrorMessage:r,postcodeLabel:i,postcodePlaceholder:o,ref:l,requiredErrorMessage:c,searchLabel:d,subTitle:p,title:m})=>React.createElement("div",{className:"w-full md:w-3/5 lg:w-4/5 xl:w-[486px]","data-testid":"CT-129-Checkout-Shipping-Pick-Up-PostCode-Search-Section"},m&&React.createElement("h2",{className:"h6 mb-2.5 lg:mb-7.5","data-testid":"CT-129-Checkout-Shipping-Pick-Up-PostCode-Search-Section-Title"},m),p&&React.createElement("p",{className:"body-three mb-5 lg:mb-7.5","data-testid":"CT-129-Checkout-Shipping-Pick-Up-PostCode-Search-Section-Subtitle"},p),React.createElement(P.l1,{initialValues:{postCode:t||""},validateOnMount:!0,validationSchema:j.Ik().shape({postCode:j.Yj().test("matches-country-regex",r,t=>ce.A[e]?.pattern.test(t||"")??!0).required(c)}),onSubmit:({postCode:e})=>{n(e)}},({handleChange:e,isValid:t})=>React.createElement(P.lV,{"data-testid":"CT-129-Checkout-Shipping-Pick-Up-PostCode-Search-Form"},React.createElement(v,{onFormValuesPersist:s}),React.createElement(E.A,{ref:l,onChange:t=>{a(),e(t)},name:"postCode",label:i,placeholder:o,required:!0,type:"text",inputWrapperClass:"flex items-center gap-x-[15px]",inputFieldSuffix:React.createElement(g.A,{disabled:!t,type:"submit",dataTestId:"CT-129-Checkout-Shipping-Pick-Up-PostCode-Submit-CTA"},d),dataTestId:"CT-129-Checkout-Shipping-Pick-Up-PostCode-Input"}))));function De(){return De=Object.assign?Object.assign.bind():function(e){for(var t=1;t<arguments.length;t++){var a=arguments[t];for(var s in a)({}).hasOwnProperty.call(a,s)&&(e[s]=a[s])}return e},De.apply(null,arguments)}const Oe=({closedLabel:e,countryCode:t,existingCollector:a,existingLocationId:s,existingPostCo
1de:n,getPickUpLocationsEndpoint:r,googleMapId:o,googleMapsApiKey:c,isStepCompleted:d,language:p,noResultsFoundLabel:h,openingTimesLabel:g,postcodeErrorMessage:E,postcodeLabel:y,postcodePlaceholder:C,requiredErrorMessage:b,resultsLabel:S,searchLabel:f,seeOpeningTimesLabel:A,stateData:T,subTitle:x,title:R,dispatch:w,onSetIsLoading:P,onSetHasSubmitError:v,onSuccessfulSubmit:k,handleCheckoutDataLayerEvent:I,..._})=>{const{postCode:M,pickUpLocations:D,selectedLocation:O,isCollectorFormDisplayed:H,collectorFormValues:F}=T,[j,{clientWidth:V}]=(0,N.A)(),[K,Y]=(0,u.useState)(D),[G,B]=(0,u.useState)(O),[z,q]=(0,u.useState)(""),[$,W]=(0,u.useState)(!1),Z=!!a?.firstName&&!!a?.lastName&&!!a?.email,J=H||!Z,[Q,X]=(0,u.useState)(J),[ee,te]=(0,u.useState)(!1),[ae,se]=(0,u.useState)(!1),[re,ie]=(0,u.useState)(!1),{setErrorBannerNotification:oe}=(0,Ie.A)(),le=(0,ne.A)(1440),ce=(0,u.useRef)(void 0),de=(0,u.useRef)(null),pe=(0,u.useRef)(null),me=(0,u.useRef)(null),ue=(0,u.useRef)(null),he=async(e,t)=>{try{P(!0);const a=await(async(e,t,a)=>{const{data:s}=await L().get(e,{params:{postCode:t,language:a}});return s})(r,e,p);Y(a),t(a),0===a.length&&W(!0)}catch{oe(xe.A.ShippingPickUpLocations)}finally{P(!1)}},ge=e=>{const t=K.find(t=>t.name===e);t&&B(t)},Ee=e=>{ge(e),se(!0)},ye=(e,t)=>`CT-129-Checkout-Shipping-Pick-Up-${t?"Mobile":"Desktop"}-Location-Card-${e}`;return(0,u.useEffect)(()=>{ee&&re&&(G?(e=>{const t=pe.current?.querySelector(`:scope [data-testid="${ye(e,!!le)}"]`);if(!t)return;const a=e===K[0]?.id;le?window.requestAnimationFrame(()=>ue.current?.scrollTo(a?0:t.offsetLeft-15)):window.requestAnimationFrame(()=>me.current?.scrollTo(a?0:t.offsetTop-15))})(G.id):le?ue.current?.scrollTo(0):me.current?.scrollTo(0),te(!1))},[ee,re]),(0,u.useEffect)(()=>{G&&ae&&de.current&&re&&(de.current.selectMarkerOnMap({latitude:G.latitude,longitude:G.longitude,title:G.name}),se(!1))},[ae,re]),(0,u.useEffect)(()=>{n&&s&&!M&&he(n,e=>{const t=e.find(e=>e.id===s);t&&(B(t),se(!0),te(!0))})},[]),(0,u.useEffect)(()=>{G&&(se(!0),te(!0))},[]),(0,u.useEffect)(()=>{ce.current={pickUpLocations:K,selectedLocation:G,isCollectorFormDisplayed:Q}},[K,G,Q]),(0,u.useEffect)(()=>()=>{ce.current&&w({type:U.SET_CHECKOUT_SHIPPING_PICK_UP_STATE_VALUES,payload:ce.current})},[]),React.createElement(l.A,{tag:"section",animate:{opacity:1},initial:{opacity:0}
1,"data-testid":"CT-129-Checkout-Shipping-Pick-Up",ref:pe},React.createElement(Me,{ref:j,countryCode:t,initialPostCode:M||n,title:R,subTitle:x,postcodeErrorMessage:E,postcodeLabel:y,postcodePlaceholder:C,requiredErrorMessage:b,searchLabel:f,onPostCodeInputChange:()=>{$&&W(!1)},onPostCodePersist:({postCode:e})=>{w({type:U.SET_CHECKOUT_SHIPPING_PICK_UP_POST_CODE,payload:e})},onPostCodeSubmit:async e=>{await he(e,()=>{B(null),te(!0),q(e)})}}),React.createElement(m.N,{mode:"wait"},$&&React.createElement(l.A,{key:"no-locations",className:"flex items-center gap-x-2.5 rounded-b-[5px] border-grey-200 border-r border-b border-l px-5 py-3",initial:{opacity:0},animate:{opacity:1,transition:{duration:.25}},exit:{opacity:0,transition:{duration:0}},style:{width:V}},React.createElement(i.A,{name:"info_circle",className:"shrink-0"}),React.createElement("p",{className:"body-four"},h)),K.length>0&&React.createElement(l.A,{key:"locations-container",className:"mt-7.5 lg:mt-10",initial:{opacity:0},animate:{opacity:1},exit:{opacity:0},transition:{duration:.25}},React.createElement("div",{className:"mb-13 flex flex-col rounded-[5px] lg:mb-13 xl:mb-[70px] xl:h-[416px] xl:flex-row"},React.createElement("div",{className:"hidden flex-col gap-y-5 bg-grey-100 pt-7.5 pr-2.5 pl-7.5 xl:flex xl:w-1/2 2xl:w-[58%]","data-testid":"CT-129-Checkout-Shipping-Pick-Up-Desktop-Locations-Section"},React.createElement("div",{className:"body-four","data-testid":"CT-129-Checkout-Shipping-Pick-Up-Locations-Results-Count"},K.length," ",S),React.createElement(Te.A,{ref:me,className:"overflow-y-hidden",shadowColour:"from-grey-100",shadowHeight:"h-5",hideScrollbar:!1,customScrollbarTheme:"light"},React.createElement("div",{className:"flex flex-col gap-y-[15px] pr-2.5 pb-5","data-testid":"CT-129-Checkout-Shipping-Pick-Up-Desktop-Locations-List"},K.map(t=>React.createElement(ke,De({key:t.id},t,{closedLabel:e,openingTimesLabel:g,seeOpeningTimesLabel:A,isSelected:t.id===G?.id,onLocationCardClick:Ee,dataTestId:ye(t.id,!1)})))))),React.createElement("div",{className:"relative max-xl:h-[360px] xl:w-1/2 2xl:w-[42%]"},React.createElement(Le.A,{ref:de,mapId:o,googleMapsApiKey:c,defaultIconType:Re.A.Small_UPS,selectedIconType:Re.A.Big_UPS,locations:K,zoomButtonsPositionClassName:"bottom-[15px] right-[15px]",onMarkerClick:e=>{var t;t=e.title,ge(t),te(!0)},onMapLoaded:()=>{ie(!0)}})),React.createElement("div",{className:"bg-grey-100 xl:hidden","data-testid":"CT-129-Checkout-Shipping-Pick-Up-Mobile-Locations-Section"},React.createElement(Ne.A,{ref:ue,shadowWidth:"w-5",shadowColour:"from-grey-100"},React.createElement("div",{className:"inline-flex gap-x-[15px] px-5 py-7.5","data-testid":"CT-129-Checkout-Shipping-Pick-Up-Mobile-Locations-List"},K.map(t=>React.createElement(ke,De({key:t.id},t,{closedLabel:e,openingTimesLabel:g,seeOpeningTimesLabel:A,isSelected:t.id===G?.id,onLocationCardClick:Ee,dataTestId:ye(t.id,!0)}))))))),React.createElement(_e,De({},_,{countryCode:t,currentSubmittedPostCode:z,existingCollector:a,existingLocationId:s,hasExistingCollector:Z,isCollectorFormDisplayed:Q,isStepCompleted:d,requiredErrorMessage:b,selectedLocation:G,stateCollectorFormValues:F,stateSelectedLocationId:O?.id,dispatch:w,onSetIsCollectorFormDisplayed:X,onSetIsLoading:P,onSetHasSubmitError:v,onSuccessfulSubmit:k,handleCheckoutDataLayerEvent:I})))))},Ue=({label:e,name:t,value:a})=>{const[{checked:s},,{setValue:n}]=(0,P.Mt)({name:t,value:a,type:"radio"});return React.createElement(h,{value:a,label:e,name:t,checked:s,onChange:n})},He=({countryCode:e,firstNameErrorMessage:t,lastNameErrorMessage:a,companyErrorMessage:s,addressLookupRestrictedAddressErrorMessage:n,addressLookupInvalidAddressErrorMessage:r,addressLine1ErrorMessage:i,addressLine2ErrorMessage:o,cityErrorMessage:l,postcodeErrorMessage:c,phoneNumberErrorMessage:d,requiredErrorMessage:p,isManualShippingAddress:m})=>j.Ik().shape({firstName:j.Yj().matches(I.r1,t).required(p),lastName:j.Yj().matches(I.r1,a).required(p),companyName:j.Yj().matches(I.pn,s),lookupAddressText:j.Yj().when([],{is:()=>!m,then:e=>e.required(p)}).test("is-address-allowed",n,(t,a)=>{const s=a.parent.address.country;return!s||s.toLowerCase()===e.toLowerCase()||m||!t}).test("is-address-selected",r,(e,t)=>{const a=!!t.parent.address?.addressLine1;return m||a||!e}),address:j.Ik().shape({addressLine1:j.Yj().matches(I.pn,i).when([],{is:()=>m,then:e=>
1e.required(p)}),addressLine2:j.Yj().matches(I.pn,o),city:j.Yj().matches(I.Qe,l).when([],{is:()=>m,then:e=>e.required(p)}),postCode:j.Yj().test("matches-country-regex",c,(e,t)=>{const a=t.options.context?.shippingAddress.address.country;return ce.A[a]?.pattern.test(e||"")??!0}).when([],{is:()=>m,then:e=>e.required(p)})}),phoneNumber:j.Ik().shape({prefix:j.Yj().required(p),principal:j.Yj().matches(I.st,d).required(p)})});function Fe(){return Fe=Object.assign?Object.assign.bind():function(e){for(var t=1;t<arguments.length;t++){var a=arguments[t];for(var s in a)({}).hasOwnProperty.call(a,s)&&(e[s]=a[s])}return e},Fe.apply(null,arguments)}const je=({billingAddress:e,continueToPaymentLabel:t,existingShippingAddress:a,isStepCompleted:s,requiredErrorMessage:n,selectedShippingMethodId:r,setBillingAddressEndpoint:i,shippingAddressLabel:o,shippingOptions:c,shippingTypeLabel:d,stateData:{shippingAddress:{cardValues:p,formValues:m,isFormDisplayed:h,isManualAddress:E},shippingMethodId:y},phoneNumberPrefix:C,phoneNumberPrefixes:b,submitPostCodeErrorCaption:S,submitPostCodeErrorTitle:f,submitShippingEndpoint:A,updateLabel:N,dispatch:T,handleCheckoutDataLayerEvent:x,onSetIsSubmitting:R,onSetHasSubmitError:w,onSetSubmitErrorMessage:k,onSuccessfulSubmit:I,..._})=>{const M=(0,u.useRef)(null),D=!!p?.address?.addressLine1,O=h||!D,H=E||D,F=e=>{T({type:U.SET_CHECKOUT_SHIPPING_SHIP_TO_ME_IS_SHIPPING_ADDRESS_FORM_DISPLAYED,payload:e})},V=e=>{T({type:U.SET_CHECKOUT_SHIPPING_SHIP_TO_ME_FORM_VALUES,payload:e})};return React.createElement(l.A,{tag:"section",animate:{opacity:1},initial:{opacity:0}
1,className:"w-full md:w-3/5 lg:w-4/5 xl:w-[486px]","data-testid":"CT-129-Checkout-Shipping-Ship-To-Me"},React.createElement(P.l1,{enableReinitialize:!0,innerRef:M,initialValues:{shippingAddress:(K=m,Y={firstName:p?.firstName,lastName:p?.lastName,companyName:p?.companyName,addressLine1:p?.address?.addressLine1,addressLine2:p?.address?.addressLine2,city:p?.address?.city,postCode:p?.address?.postCode,country:p?.address?.country,phoneNumber:(0,le.A)({phoneNumberPrefix:C,phoneNumberPrefixes:b,existingPhoneNumber:p?.phoneNumber})},{firstName:K?.firstName||Y?.firstName||"",lastName:K?.lastName||Y?.lastName||"",companyName:K?.companyName??(Y?.companyName||""),lookupAddressText:K?.lookupAddressText||"",address:{addressLine1:K?.address?.addressLine1||Y?.addressLine1||"",addressLine2:K?.address?.addressLine2??(Y?.addressLine2||""),city:K?.address?.city||Y?.city||"",postCode:K?.address?.postCode||Y?.postCode||"",country:K?.address?.country||Y?.country||""},phoneNumber:{prefix:K?.phoneNumber?.prefix||Y?.phoneNumber.prefix,principal:K?.phoneNumber?.principal||Y?.phoneNumber.principal}}),shippingMethodId:y||r||""},validateOnMount:!0,onSubmit:async({shippingAddress:t,shippingMethodId:s})=>{try{w(!1),R(!0),await(async(e,t,{firstName:a,lastName:s,companyName:n,address:{addressLine1:r,addressLine2:i,city:o,postCode:l,country:c},phoneNumber:{prefix:d,principal:p}},m)=>{const u=new FormData;return u.append("firstName",a),u.append("lastName",s),u.append("companyName",n),u.append("addressLine1",r),u.append("addressLine2",i),u.append("city",o),u.append("postCode",l),u.append("country",c),m&&u.append("email",m),u.append("contactPhoneNumber",`${d}${(0,z.A)(p)}`),u.append("shippingMethodId",t),L().post(e,u)})(A,s,t,a.email);!!e?.addressLine1||await B(i,{addressLine1:t.address?.addressLine1??"",addressLine2:t.address?.addressLine2??"",city:t.address?.city??"",companyName:t?.companyName,country:t.address?.country??"",firstName:t.firstName,lastName:t.lastName,postCode:t.address?.postCode??"",phoneNumber:`${t?.phoneNumber?.prefix}${(0,z.A)(t?.phoneNumber?.principal)}`,email:e?.email}),T({type:U.SET_CHECKOUT_SHIPPING_SHIP_TO_ME_CARD_VALUES,payload:{address:{addressLine1:t.address?.addressLine1??"",addressLine2:t.address?.addressLine2??"",city:t.address?.city??"",country:t.address?.country??"",postCode:t.address?.postCode??""},companyName:t.companyName??"",firstName:t.firstName??"",lastName:t.lastName??"",phoneNumber:`${t.phoneNumber?.prefix}${(0,z.A)(t.phoneNumber?.principal)}`,email:a.email}}),F(!1),await I(),x("shippingInfoSubmit",{shipping_method:"Ship To Me"})}catch(e){if(console.log({error:e}),w(!0),!L().isAxiosError(e))return;const t=e.response?.data.fieldErrors;if(!t)return;F(!0),M.current?.setErrors({shippingAddress:t}),t.address.postCode&&k({caption:S,title:f})}finally{R(!1)}},validationSchema:j.Ik().shape({shippingAddress:He({..._,isManualShippingAddress:H,requiredErrorMessage:n}),shippingMethodId:j.Yj().required(n)})},({isValid:e,dirty:a})=>React.createElement(P.lV,null,React.createElement(v,{onFormValuesPersist:V}),React.createElement("h2",{className:"h6","data-testid":"Checkout-Address-Shipping-Section-Title"},o),React.createElement(Q,Fe({dispatch:T,displayedShippingAddress:p,hasExistingShippingAddress:D,isFormDisplayed:O,isManualAddress:H,phoneNumberPrefixes:b,setIsFormDisplayed:F},_)),!!c?.length&&React.createElement("div",{className:"mt-13 lg:mt-[70px]","data-testid":"Checkout-Address-Shipping-Options"},React.createElement("h2",{className:"h6 mb-7.5"},d),React.createElement("fieldset",{className:"flex flex-col gap-y-5 lg:gap-y-2.5"},c.map(({price:e,name:t,methodId:a})=>React.createElement("div",{key:a},React.createElement(Ue,{value:a,label:[e,t],name:"shippingMethodId"}))))),React.createElement(g.A,{disabled:!e,type:"submit",className:"mt-13 lg:mt-10","data-testid":"Checkout-Address-Shipping-CTA"},s&&a?N:t))));var K,Y};function Ve(){return Ve=Object.assign?Object.assign.bind():function(e){for(var t=1;t<arguments.length;t++){var a=arguments[t];for(var s in a)({}).hasOwnProperty.call(a,s)&&(e[s]=a[s])}return e},Ve.apply(null,arguments)}const Ke=({checkoutErrorTitle:e,checkoutErrorText:t,getBillingAddressEndpoint:a,getShippingEndpoint:s,isStepCompleted:n,setBillingAddressEndpoint:r,stateData:{shippingType:i,shipToMe:o,pickUp:c},updateLabel:d,dispatch:p,onSetIsLoading:g,onSetHasSubmitError:E,onSetSubmitErrorMessage:y,onSuccessfulSubmit:b,handleCheckoutDataLayerEvent:S})=>{const[f,A]=(0,u.useState)(),[N,T]=(0,u.useState)(),[x,R]=(0,u.useState)(!1),[P,v]=(0,u.useState)(!1),[k,L]=(0,u.useState)(!1),[I,_]=(0,u.useState)(!1),M=e=>{p({type:U.SET_CHECKOUT_SHIPPING_SELECTED_SHIPPING_TYPE,payload:e}),E(!1)};return(0,u.useEffect)(()=>{(async()=>{try{const e=await q(s),{location:t,redirect:a}=e;a&&t?(L(!0),window.location.href=t):(o.shippingAddress.cardValues||p({type:U.SET_CHECKOUT_SHIPPING_SHIP_TO_ME_CARD_VALUES,payload:e.shipToMe.existingShippingAddress}),A(e),R(!0))}catch(e){_(!0),console.log({error:e})}})()},[]),(0,u.useEffect)(()=>{(async()=>{try{const e=await G(a);T(e),v(!0)}catch(e){_(!0),console.log({error:e})}})()},[]),(0,u.useEffect)(()=>{S("addShippingInfo")},[]),I?React.createElement(w,{title:e,description:t,stepIndex:1}):x&&P&&!k?React.createElement(m.N,null,React.createElement(l.A,{"data-testid":"CT-129-Checkout-Shipping",className:"text-black-100",initial:{opacity:0}
1,animate:{opacity:1},exit:{opacity:0},transition:{duration:.25}},React.createElement("div",{className:"lg:grid lg:grid-cols-7"},React.createElement("div",{className:"mb-13 lg:col-span-7 lg:mb-[70px] xl:col-span-6"},React.createElement("h2",{className:"h6 mb-7.5"},f.shippingMethodTitle),React.createElement("div",{className:"flex flex-col gap-y-5 md:grid md:grid-cols-2 md:gap-5","data-testid":"CT-129-Checkout-Shipping-Delivery-Method"},React.createElement(h,{label:f.shipToMeLabel,name:"shippingType",value:O.ShipToMe,checked:i===O.ShipToMe,onChange:M}),f?.isPickUpEnabled&&React.createElement(h,{label:f.pickUpLabel,name:"shippingType",value:O.PickUp,checked:i===O.PickUp,onChange:M})))),i===O.ShipToMe&&React.createElement(je,Ve({},f.shipToMe,{billingAddress:N,isStepCompleted:n,setBillingAddressEndpoint:r,stateData:o,updateLabel:d,dispatch:p,onSetIsSubmitting:g,onSetHasSubmitError:E,onSetSubmitErrorMessage:y,onSuccessfulSubmit:b,handleCheckoutDataLayerEvent:S})),i===O.PickUp&&React.createElement(Oe,Ve({},f.pickUp,{billingAddress:N,setBillingAddressEndpoint:r,isStepCompleted:n,stateData:c,updateLabel:d,dispatch:p,onSetIsLoading:g,onSetHasSubmitError:E,onSuccessfulSubmit:b,handleCheckoutDataLayerEvent:S})))):React.createElement(C.A,{extraClasses:"min-h-[400px]"})};var Ye=a(83428),Ge=a(4961);function Be(){return Be=Object.assign?Object.assign.bind():function(e){for(var t=1;t<arguments.length;t++){var a=arguments[t];for(var s in a)({}).hasOwnProperty.call(a,s)&&(e[s]=a[s])}return e},Be.apply(null,arguments)}const ze=e=>{const[t,a]=(0,u.useState)(e),{checkoutErrorText:i,checkoutErrorTitle:o,getBillingAddressEndpoint:l,getContactEndpoint:c,getShippingEndpoint:d,orderSummary:p,checkoutPayment:m,preOrderNotification:h,setBillingAddressEndpoint:g,stepContactLabel:E,stepPaymentLabel:y,stepShippingLabel:C,submitErrorCaption:b,submitErrorTitle:S,trackingData:f,updateLabel:A}=t,N=(0,ne.A)(1024),[T,w]=(0,u.useState)(!1),[P,v]=(0,u.useState)(!1),[k,L]=(0,u.useState)({additionalContent:void 0,caption:b,contentClassName:"",title:S}),[{checkoutStepIndex:I,checkoutCompletedStepIndex:_,stepsData:M},D]=(0,u.useReducer)(F,H),{checkoutRetryPayment:O,setCheckoutRetryPayment:j}=(0,ae.A)(e=>({checkoutRetryPayment:e.checkoutRetryPayment,setCheckoutRetryPayment:e.setCheckoutRetryPayment})),V=(0,u.useRef)(null),Y=(0,u.useCallback)(()=>{L({additionalContent:void 0,caption:b,contentClassName:"",title:S})},[b,S]),G=async()=>{try{const e=await(0,Ge.Ow)(p.voucherCode.voucherCodeRefreshEndpoint,"checkout");a(e)}catch(e){console.log({error:e})}},B=()=>{window.requestAnimationFrame(()=>{window.scrollTo({top:0,behavior:"smooth"})})},z=()=>{N&&V.current?.setIsPanelCollapsed(!0)},q=(e,t)=>{D({type:U.SET_CHECKOUT_STEP_INDEX,payload:e}),D({type:U.SET_CHECKOUT_STEP_COMPLETED_INDEX,payload:t})},$=async(e,t)=>{Y(),await G(),q(e,t)};(0,u.useEffect)(()=>{O&&(q(2,1),j(!1))},[O,j]);const W=(e,t)=>{(0,R.A)({event:e,ecommerce:{currency:f.currencyCode,items:f.products,value:p.totalValue},...t})};(0,u.useEffect)(()=>{v(!1),Y(),z(),B()},[I,Y]),(0,u.useEffect)(()=>{P&&(z(),B(),(0,R.A)({event:"error",error_message:k.title,checkout_step:x.k[I]}))},[P]),(0,u.useEffect)(()=>{const e=Date.now(),t=setInterval(()=>{if((Date.now()-e)/1e3>=3600){const e=window.location.pathname.split("/");window.location.href=`/${e[1]}`}},1e3);return()=>clearInterval(t)},[]);return React.createElement("section",{"data-testid":"Checkout-Section",className:"bg-white pb-13 text-black-100 lg:pt-13 lg:pb-[6.25rem]"},React.createElement(n.A,{isLoading:T}),React.createElement("div",{className:"flex flex-col-reverse lg:container lg:grid lg:grid-cols-12"},React.createElement("div",{className:"max-lg:container max-lg:pt-7.5 lg:col-span-7 lg:col-start-1 xl:col-start-2"},(P||h?.text)&&React.createElement("div",{className:"mb-7.5 flex flex-col gap-5 lg:mb-15"},P&&React.createElement(s.A,{displayStyle:r.A.Error,caption:k.caption,iconName:"warning",title:k.title,additionalContent:k?.additionalContent,contentClassName:k?.contentClassName,ariaRole:"alert"}),h?.text&&React.createElement(s.A,{displayStyle:h.displayStyle,richText:h.text,link:h.link,iconName:h.icon})),React.createElement(Ae,{labels:[E,C,y],activeStepIndex:I,checkoutCompletedStepIndex:_,dispatch:D}),(()=>{switch(I){case 0:return React.createElement(K,{checkoutErrorTitle:o,checkoutErrorText:i,getContactEndpoint:c,isStepCompleted:_>=0,stateData:M.contact,updateLabel:A,dispatch:D,handleCheckoutDataLayerEvent:W,onSetHasSubmitError:v,onSetIsSubmitting:w,onSuccessfulSubmit:async()=>{const e=_<0?0:_;await $(1,e)}});case 1:return React.createElement(Ke,{checkoutErrorTitle:o,checkoutErrorText:i,getBillingAddressEndpoint:l,getShippingEndpoint:d,isStepCompleted:_>=1,setBillingAddressEndpoint:g,stateData:M.shipping,updateLabel:A,dispatch:D,handleCheckoutDataLayerEvent:W,onSetHasSubmitError:v,onSetIsLoading:w,onSetSubmitErrorMessage:L,onSuccessfulSubmit:async()=>{await $(2,1)}});case 2:return React.createElement(Ce,Be({},m,{checkoutErrorTitle:o,checkoutErrorText:i,checkoutPayload:t,getBillingAddressEndpoint:l,getShippingEndpoint:d,orderSummary:p,setBillingAddressEndpoint:g,submitErrorCaption:b,submitErrorTitle:S,stateData:M.payment,trackingData:f,updateLabel:A,dispatch:D,handleCheckoutDataLayerEvent:W,onSetHasSubmitError:v,onSetIsLoading:w,onSetSubmitErrorMessage:L}));default:return null}})()),React.createElement("div",{className:"lg:col-span-4 lg:col-start-9 xl:col-span-3 xl:col-start-10"},React.createElement(Ye.A,Be({ref:V,onSetIsLoading:w,onChangeVoucherSuccess:G},p,{checkoutStep:x.k[I]})))))}},6244(e,t,a){"use strict";a.d(t,{A:()=>n});var s=function(e){return e.Default="Default",e.DefaultSelected="DefaultSelected",e.Small_UPS="Small_UPS",e.Big_UPS="Big_UPS",e}(s||{});const n=s},46145(e,t,a){"use strict";a.d(t,{J5:()=>l,Rr:()=>d,Z4:()=>r,ZS:()=>o,dw:()=>m,q5:()=>c,r3:()=>u,zb:()=>p});var s=a(75556),n=a.n(s);const r=async e=>{const{data:t}=await n().get(e);return t},i=n().create();i.defaults.maxRedirects=0,i.interceptors.response.use(e=>e,e=>
1{if(e.response&&[301,302].includes(e.response.status)){const t=e.response.headers.location;return i.get(t)}return Promise.reject(e)});const o=async e=>{try{return await i.post(e)}catch(e){throw console.error(e),window.appInsights&&e instanceof Error&&window.appInsights.trackException({exception:e}),e}},l=async e=>{const{data:t}=await n().post(e);return t},c=async(e,t)=>{try{return 200===(await n().post(e,{hash:t})).status}catch{return!1}},d=async(e,t)=>{const{data:a}=await n().post(e,t);return a},p=async(e,t)=>{const{data:a}=await n().post(e,t);return a},m=async(e,t)=>{const{data:a}=await n().post(e,{depositPercent:t});return a},u=async e=>{const{data:t}=await n().post(e);return t}},65825(e,t,a){"use strict";a.d(t,{A:()=>r});var s=a(44285),n=a(85393);const r=(0,s.A)((0,n.Zr)(e=>({checkoutRetryPayment:!1,setCheckoutRetryPayment:t=>e(()=>({checkoutRetryPayment:t})),paymentMethod:void 0,setPaymentMethod:t=>e(()=>({paymentMethod:t}))}),{name:"checkout-store"}))},55544(e,t,a){"use strict";a.d(t,{H:()=>n,_:()=>s});const s=["Authorised","Pending","Received","PresentToShopper","RedirectShopper"],n="undefined"!=typeof window?(window.location.pathname.split("/")?.[1]).replace("_","-"):""},52894(e,t,a){"use strict";a.d(t,{k:()=>s});const s={0:"Contact",1:"Shipping",2:"Payment"}},99865(e,t,a){"use strict";var s=a(78895);const n={AT:/^U\d{8}$/,BE:/^[01]\d{9}$/,CH:/^E\d{9}(MWST|TVA|IVA)$/,CHE:/^\d{9}(MWST|TVA|IVA)$/,CZ:/^\d{8,10}$/,DE:/^\d{9}$/,DK:/^\d{8}$/,FI:/^\d{8}$/,FR:/^[A-Z0-9]{2}\d{9}$/,GB:/^(\d{9}|\d{12}|GD\d{3}|HA\d{3})$/,HU:/^\d{8}$/,IE:/^(\d{7}[A-Z]{1,2}|\d[A-Z+*]\d{5}[A-Z])$/,NL:/^\d{9}B\d{2}$/,NO:/^\d{9}MVA$/,PL:/^\d{10}$/,SE:/^\d{12}$/,SI:/^\d{8}$/,SK:/^\d{10}$/};s.Zg(s.Yj,"vatNumber",function(e,t){return this.test({name:"vatNumber",exclusive:!1,message:t||"Invalid VAT number format",test(t){if(!t)return!0;const a=t.trim().replace(/[\s.-]/g,"").toUpperCase(),s=n[e];return!s||s.test(a)}})})},48210(e,t,a){"use strict";a.d(t,{A:()=>l});var s=a(26640),n=a(30680),r=a(63904),i=a(59471);const o=e=>{const t=768,a=1024,i=1440,o=(0,r.A)(),l=e===n.A.Viewport?window.innerWidth:window.innerWidth*o;return l<t?s.A.Small:l>=t&&l<a?s.A.Medium:l>=a&&l<i?s.A.Large:s.A.XLarge},l=(e=n.A.Viewport)=>{const[t,a]=(0,i.useState)(),s=(0,i.useCallback)(()=>a(o(e)),[e]);return(0,i.useEffect)(()=>(window.addEventListener("resize",s),a(o(e)),()=>{window.removeEventListener("resize",s)}),[s,e]),t}},54263(e,t,a){"use strict";function s(e,t,a,s){return new(a||(a=Promise))(function(n,r){function i(e){try{l(s.next(e))}catch(e){r(e)}}function o(e){try{l(s.throw(e))}catch(e){r(e)}}function l(e){var t;e.done?n(e.value):(t=e.value,t instanceof a?t:new a(function(e){e(t)})).then(i,o)}l((s=s.apply(e,t||[])).next())})}function n(e){return e&&e.__esModule&&Object.prototype.hasOwnProperty.call(e,"default")?e.default:e}var r,i;a.r(t),a.d(t,{DEFAULT_ID:()=>l,Loader:()=>d,LoaderStatus:()=>c}),"function"==typeof SuppressedError&&SuppressedError;var o=n(i?r:(i=1,r=function e(t,a){if(t===a)return!0;if(t&&a&&"object"==typeof t&&"object"==typeof a){if(t.constructor!==a.constructor)return!1;var s,n,r;if(Array.isArray(t)){if((s=t.length)!=a.length)return!1;for(n=s;0!==n--;)if(!e(t[n],a[n]))return!1;return!0}if(t.constructor===RegExp)return t.source===a.source&&t.flags===a.flags;if(t.valueOf!==Object.prototype.valueOf)return t.valueOf()===a.valueOf();if(t.toString!==Object.prototype.toString)return t.toString()===a.toString();if((s=(r=Object.keys(t)).length)!==Object.keys(a).length)return!1;for(n=s;0!==n--;)if(!Object.prototype.hasOwnProperty.call(a,r[n]))return!1;for(n=s;0!==n--;){var i=r[n];if(!e(t[i],a[i]))return!1}return!0}return t!=t&&a!=a}));const l="__googleMapsScriptId";var c;!function(e){e[e.INITIALIZED=0]="INITIALIZED",e[e.LOADING=1]="LOADING",e[e.SUCCESS=2]="SUCCESS",e[e.FAILURE=3]="FAILURE"}(c||(c={}));class d{constructor({apiKey:e,authReferrerPolicy:t,channel:a,client:s,id:n=l,language:r,libraries:i=[],mapIds:c,nonce:p,region:m,retries:u=3,url:h="https://maps.googleapis.com/maps/api/js",version:g}){if(this.callbacks=[],this.done=!1,this.loading=!1,this.errors=[],this.apiKey=e,this.authReferrerPolicy=t,this.channel=a,this.client=s,this.id=n||l,this.language=r,this.libraries=i,this.mapIds=c,this.nonce=p,this.region=m,this.retries=u,this.url=h,this.version=g,d.instance){if(!o(this.options,d.instance.options))throw new Error(`Loader must not be called again with different options. ${JSON.stringify(this.options)} !== ${JSON.stringify(d.instance.options)}`);return d.instance}d.instance=this}get options(){return{version:this.version,apiKey:this.apiKey,channel:this.channel,client:this.client,id:this.id,libraries:this.libraries,language:this.language,region:this.region,mapIds:this.mapIds,nonce:this.nonce,url:this.url,authReferrerPolicy:this.authReferrerPolicy}}get status(){return this.errors.length?c.FAILURE:this.done?c.SUCCESS:this.loading?c.LOADING:c.INITIALIZED}get failed(){return this.done&&!this.loading&&this.errors.length>=this.retries+1}createUrl(){let e=this.url;return e+="?callback=__googleMapsCallback&loading=async",this.apiKey&&(e+=`&key=${this.apiKey}`),this.channel&&(e+=`&channel=${this.channel}`),this.client&&(e+=`&client=${this.client}`),this.libraries.length>0&&(e+=`&libraries=${this.libraries.join(",")}`),this.language&&(e+=`&language=${this.language}`),this.region&&(e+=`®ion=${this.region}`),this.version&&(e+=`&v=${this.version}`),this.mapIds&&(e+=`&map_ids=${this.mapIds.join(",")}`),this.authReferrerPolicy&&(e+=`&auth_referrer_policy=${this.authReferrerPolicy}`),e}deleteScript(){const e=document.getElementById(this.id);e&&e.remove()}load(){return this.loadPromise()}loadPromise(){return new Promise((e,t)=>
1{this.loadCallback(a=>{a?t(a.error):e(window.google)})})}importLibrary(e){return this.execute(),google.maps.importLibrary(e)}loadCallback(e){this.callbacks.push(e),this.execute()}setScript(){var e,t;if(document.getElementById(this.id))return void this.callback();const a={key:this.apiKey,channel:this.channel,client:this.client,libraries:this.libraries.length&&this.libraries,v:this.version,mapIds:this.mapIds,language:this.language,region:this.region,authReferrerPolicy:this.authReferrerPolicy};Object.keys(a).forEach(e=>!a[e]&&delete a[e]),(null===(t=null===(e=null===window||void 0===window?void 0:window.google)||void 0===e?void 0:e.maps)||void 0===t?void 0:t.importLibrary)||(e=>{let t,a,n,r="The Google Maps JavaScript API",i="google",o="importLibrary",l="__ib__",c=document,d=window;d=d[i]||(d[i]={});const p=d.maps||(d.maps={}),m=new Set,u=new URLSearchParams,h=()=>t||(t=new Promise((o,d)=>s(this,void 0,void 0,function*(){var s;for(n in yield a=c.createElement("script"),a.id=this.id,u.set("libraries",[...m]+""),e)u.set(n.replace(/[A-Z]/g,e=>"_"+e[0].toLowerCase()),e[n]);u.set("callback",i+".maps."+l),a.src=this.url+"?"+u,p[l]=o,a.onerror=()=>t=d(Error(r+" could not load.")),a.nonce=this.nonce||(null===(s=c.querySelector("script[nonce]"))||void 0===s?void 0:s.nonce)||"",c.head.append(a)})));p[o]?console.warn(r+" only loads once. Ignoring:",e):p[o]=(e,...t)=>m.add(e)&&h().then(()=>p[o](e,...t))})(a);const n=this.libraries.map(e=>this.importLibrary(e));n.length||n.push(this.importLibrary("core")),Promise.all(n).then(()=>this.callback(),e=>{const t=new ErrorEvent("error",{error:e});this.loadErrorCallback(t)})}reset(){this.deleteScript(),this.done=!1,this.loading=!1,this.errors=[],this.onerrorEvent=null}resetIfRetryingFailed(){this.failed&&this.reset()}loadErrorCallback(e){if(this.errors.push(e),this.errors.length<=this.retries){const e=this.errors.length*Math.pow(2,this.errors.length);console.error(`Failed to load Google Maps script, retrying in ${e} ms.`),setTimeout(()=>{this.deleteScript(),this.setScript()},e)}else this.onerrorEvent=e,this.callback()}callback(){this.done=!0,this.loading=!1,this.callbacks.forEach(e=>{e(this.onerrorEvent)}),this.callbacks=[]}execute(){if(this.resetIfRetryingFailed(),!this.loading)if(this.done)this.callback();else{if(window.google&&window.google.maps&&window.google.maps.version)return console.warn("Google Maps already loaded outside @googlemaps/js-api-loader. This may result in undesirable behavior as options and script parameters may not match."),void this.callback();this.loading=!0,this.setScript()}}}}}]); 2//# sourceMappingURL=Checkout-Chunk-53a5a5076a4134abed89.js.map
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.