1(self.webpackChunk_N_E=self.webpackChunk_N_E||[]).push([[7963],{5974:(e,r,t)=>{"use strict";Object.defineProperty(r,"__esModule",{value:!0});var n={callServer:function(){return l.callServer},createServerReference:function(){return o.createServerReference},findSourceMapURL:function(){return i.findSourceMapURL}};for(var a in n)Object.defineProperty(r,a,{enumerable:!0,get:n[a]});let l=t(34273),i=t(16409),o=t(97102)},38322:(e,r,t)=>{Promise.resolve().then(t.t.bind(t,65587,23)),Promise.resolve().then(t.t.bind(t,35604,23)),Promise.resolve().then(t.bind(t,23597)),Promise.resolve().then(t.bind(t,2896)),Promise.resolve().then(t.bind(t,42120)),Promise.resolve().then(t.bind(t,22557)),Promise.resolve().then(t.bind(t,2837)),Promise.resolve().then(t.bind(t,80126)),Promise.resolve().then(t.bind(t,20889)),Promise.resolve().then(t.bind(t,98231)),Promise.resolve().then(t.bind(t,87124)),Promise.resolve().then(t.bind(t,46349)),Promise.resolve().then(t.bind(t,39780)),Promise.resolve().then(t.bind(t,22993)),Promise.resolve().then(t.bind(t,37032)),Promise.resolve().then(t.bind(t,47875)),Promise.resolve().then(t.bind(t,28934)),Promise.resolve().then(t.bind(t,14296)),Promise.resolve().then(t.bind(t,74365)),Promise.resolve().then(t.bind(t,38898)),Promise.resolve().then(t.bind(t,29367)),Promise.resolve().then(t.bind(t,3648)),Promise.resolve().then(t.bind(t,15964)),Promise.resolve().then(t.bind(t,99590)),Promise.resolve().then(t.bind(t,10912)),Promise.resolve().then(t.bind(t,58959)),Promise.resolve().then(t.bind(t,22332)),Promise.resolve().then(t.bind(t,45164)),Promise.resolve().then(t.bind(t,8532)),Promise.resolve().then(t.bind(t,56101)),Promise.resolve().then(t.bind(t,63932)),Promise.resolve().then(t.bind(t,29506)),Promise.resolve().then(t.bind(t,5756)),Promise.resolve().then(t.bind(t,44608)),Promise.resolve().then(t.bind(t,648)),Promise.resolve().then(t.bind(t,63608)),Promise.resolve().then(t.bind(t,23268)),Promise.resolve().then(t.bind(t,1840)),Promise.resolve().then(t.bind(t,56186)),Promise.resolve().then(t.bind(t,68123)),Promise.resolve().then(t.bind(t,10039)),Promise.resolve().then(t.bind(t,89202)),Promise.resolve().then(t.bind(t,64356)),Promise.resolve().then(t.bind(t,84300)),Promise.resolve().then(t.bind(t,8068)),Promise.resolve().then(t.bind(t,65575))},54578:(e,r,t)=>{"use strict";t.d(r,{CartProvider:()=>b,useCart:()=>g});var n=t(54568),a=t(7620),l=t(13196),i=t(5974);let o=(0,i.createServerReference)("609008f5645250e89915d530a4a4b98705e7dd8391",i.callServer,void 0,i.findSourceMapURL,"getCart"),s=(0,i.createServerReference)("402cfd1a581c9416f67218ebe22b0317143a42e7d0",i.callServer,void 0,i.findSourceMapURL,"createCart"),d=(0,i.createServerReference)("60b6e67dfe6de0efe4328d083b2434cc9f15ad247c",i.c
1allServer,void 0,i.findSourceMapURL,"updateCartLines"),c=(0,i.createServerReference)("60f6a179f3fc56d7bc0496881b2dc2ec7f132eaa50",i.callServer,void 0,i.findSourceMapURL,"addCartLines"),u=(0,i.createServerReference)("70b416f69b208ae4f9b860ad73d218306eecf00891",i.callServer,void 0,i.findSourceMapURL,"addRemoveCartLines"),v=(0,i.createServerReference)("60538dba52aabc411b80a1285b4dbc093c0daa1f68",i.callServer,void 0,i.findSourceMapURL,"removeCartLines"),m=(0,i.createServerReference)("606ef15ea332a5ffd52e3789541ac2c6ec214c25a8",i.callServer,void 0,i.findSourceMapURL,"updateCartAttributes"),h=(0,a.createContext)(void 0),p="shopify_cart_id_v3",f="shop-store";function b(e){let{children:r}=e,{isLoading:t,customerId:i}=(0,l.useCustomerAuth)(),[b,g]=(0,a.useState)(),[y,P]=(0,a.useState)(),[_,S]=(0,a.useState)(),[C,x]=(0,a.useState)(),[w,j]=(0,a.useState)(),[R,k]=(0,a.useState)(),[F,N]=(0,a.useState)(),[T,I]=(0,a.useState)(!1),[E,A]=(0,a.useState)(!1),L=(0,a.useCallback)(e=>{if(e){let r=e.lines.nodes;g(e),P(e.id),S(r),x(e.cost.subtotalAmount),j(e.cost.totalAmount),k(r.reduce((e,r)=>e+r.quantity,0)),N((e=>{let r=new Set,t=0;for(let s of e){var n,a,l,i,o;let e=null==(a=s.attributes)||null==(n=a.find(e=>"__familyId"===e.key))?void 0:n.value,d=null==(i=s.attributes)||null==(l=i.find(e=>"__familySlug"===e.key))?void 0:l.value,c=null==(o=s.attributes)?void 0:o.some(e=>"__styles"===e.key);e&&d&&c?r.add(e):t+=1}return r.size+t})(r)),localStorage.setItem(p,e.id)}else g(void 0),P(void 0),S(void 0),x(void 0),j(void 0),k(void 0),N(void 0),localStorage.removeItem(p)},[]);(0,a.useEffect)(()=>{t||(async()=>{let e=localStorage.getItem(p);try{let r=e?await o(e,i).catch(()=>null):null;r?L(r):e&&localStorage.removeItem(p)}catch(r){console.error("Error initializing cart:",r),e&&localStorage.removeItem(p)}finally{(()=>{try{localStorage.removeItem("shopify_cart_id")}catch(e){}try{let e=localStorage.getItem(f);if(!e)return;let r=JSON.parse(e);(null==r?void 0:r.state)&&"cartId"in r.state&&(delete r.state.cartId,localStorage.setItem(f,JSON.stringify(r)))}catch(e){}})(),I(!0)}})()},[i,t,L]);let M=(0,a.useCallback)(async function(){let e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:[],r=arguments.length>1&&void 0!==arguments[1]?arguments[1]:[];A(!0);try{let t=await s({lines:e,attributes:r});return L(t),t}catch(e){return console.error("Error creating cart:",e),null}finally{A(!1)}},[L]),V=(0,a.useCallback)(async function(e){let r=arguments.length>1&&void 0!==arguments[1]?arguments[1]:1,t=arguments.length>2?arguments[2]:void 0,n=arguments.length>3?arguments[3]:void 0;if(!y)return await M([{merchandiseId:e,quantity:r,attributes:t,sellingPlanId:n}]);A(!0);try{let a=null==_?void 0:_.find(r=>r.merchandise.id===e);if(a){let l=await d(y,[{id:a.id,merchandiseId:e,quantity:a.quantity+r,attributes:t,sellingPlanId:n}]);return L(l),l}let l=await c(y,[{merchandiseId:e,quantity:r,attributes:t,sellingPlanId:n}]);return L(l),l}catch(e){return console.error("Error adding line:",e),null}finally{A(!1)}},[y,_,M,L]),q=(0,a.useCallback)(async function(e){let r=!(arguments.length>1)||void 0===arguments[1]||arguments[1],t=arguments.length>2?arguments[2]:void 0,n=t||y;if(!n)return await M(e);A(!0);try{if(r){let r=(null==_?void 0:_.filter(r=>e.some(e=>e.merchandiseId===r.merchandise.id)).map(e=>e.id))||[];if(r.length>0){let t=await u(n,e,r);return L(t),t}}let t=await c(n,e);return L(t),t}catch(e){return console.error("Error adding lines:",e),null}finally{A(!1)}},[y,_,M,L]),U=(0,a.useCallback)(async(e,r,t)=>{let n=t||y;if(!n)return await M(e);A(!0);try{let t=await u(n,e,r);return L(t),t}catch(e){return console.error("Error adding and removing cart lines:",e),null}finally{A(!1)}},[y,M,L]),O=(0,a.useCallback)(e=>{var r;return U(e,null!=(r=null==_?void 0:_.map(e=>e.id))?r:[])},[U,_]),B=(0,a.useCallback)(async function(e,r){let t=arguments.length>2&&void 0!==arguments[2]?arguments[2]:1,n=arguments.length>3?arguments[3]:void 0,a=arguments.length>4?arguments[4]:void 0,l=arguments.length>5?arguments[5]:void 0,i=l||y;if(!i)return null;A(!0);try{let l=await d(i,[{id:e,merchandiseId:r,quantity:t,attributes:n,sellingPlanId:a}]);return L(l),l}catch(e){return console.error("Error updating line:",e),null}finally{A(!1)}},[y,L]),J=(0,a.useCallback)(async(e,r)=>{let t=r||y;if(!t)return null;A(!0);try{let r=e.filter(Boolean).map(e=>({id:e.id,attributes:e.attributes,merchandiseId:e.merchandiseId,quantity:e.quantity,sellingPlanId:e.sellingPlanId}));if(0===r.length)return b||null;let n=await d(t,r);return L(n),n}catch(e){return console.error("Error updating lines:",e),null}finally{A(!1)}},[y,b,L]),z=(0,a.useCallback)(async(e,r)=>{let t=r||y;if(!t)return null;A(!0);try{let r=await v(t,e);return L(r),r}catch(e){return console.error("Error removing lines:",e),null}finally{A(!1)}},[y,L]),D=(0,a.useCallback)(async(e,r)=>await z([e],r),[z]),K=(0,a.useCallback)(async function(){let e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:[],r=!(arguments.length>1)||void 0===arguments[1]||arguments[1];if(!y)return await M([],e);A(!0);try{let t=e;r&&(t=[...((null==b?void 0:b.attributes)||[]).flatMap(e=>"string"!=typeof e.value?[]:[{key:e.key,value:e.value}]).filter(r=>!e.some(e=>e.key===r.key)),...e]);let n=await m(y,t);return L(n),n}catch(e){return console.error("Error updating cart attributes:",e),null}finally{A(!1)}},[y,b,M,L]),Y=(0,a.useMemo)(()=>({cart:b,cartId:y,lines:_,subtotal:C,total:w,itemsCount:R,displayCount:F,ready:T,loading:E,createCart:M,addLine:V,addLines:q,addAndRemoveLines:U,replaceLines:O,updateLine:B,updateLines:J,removeLine:D,removeLines:z,updateCartAttributes:K}),[b,y,_,C,w,R,F,T,E,M,V,q,U,O,B,J,D,z,K]);return(0,n.jsx)(h.Provider,{value:Y,children:r})}function g(){let e=(0,a.useContext)(h);if(!e)throw Error("useCart must be used within CartProvider");return e}},56186:(e,r,t)=>{"use strict";t.r(r),t.d(r,{PdpAnalytics:()=>l});var n=t(7620),a=t(60525);let l=e=>((0,n.useEffect)(()=>{let r=[];if("font"===e.type){var t,n,l;let{family:a,subfamily:i,defaultStyle:o}=e;r=i?i.styles.map(e=>{var r,t,n;return{item_id:(null==(r=a.store)?void 0:r.id)||a._id,item_name:a.title,item_category:(null==(t=a.store)?void 0:t.productType)||"Font",item_variant:i.title,item_variant_id:i.handle,item_brand:(null==(n=a.store)?void 0:n.vendor)||"Production Type",quantity:1,style_name:e.styleName,style_id:e._id,styles_count:i.styles.length}}):o?[{item_id:(null==(t=a.store)?void 0:t.id)||a._id,item_name:a.title,item_category:(null==(n=a.store)?void 0:n.productType)||"Font",item_variant:"",item_variant_id:"",item_brand:(null==(l=a.store)?void 0:l.vendor)||"Production Type",quantity:1,style_name:o.styleName,style_id:o._id,styles_count:1}]:[]}else if("merch"===e.type){let{product:t}=e;r=t.variants.map(e=>({item_id:t.store.id,item_name:t.title,item_category:t.store.productType||"Product",item_variant:e.title,item_variant_id:e.store.id,item_brand:t.store.vendor||"Production Type",discount:e.store.compareAtPrice?parseFloat(e.store.compareAtPrice.amount)-parseFloat(e.store.price.amount):0,price:parseFloat(e.store.price.amount),origin_price:e.store.compareAtPrice?parseFloat(e.store.compareAtPrice.amount):parseFloat(e.store.price.amount),quantity:1}))}if(r.length>0){let t="merch"===e.type&&e.product.store.priceRange.minVariantPrice.currencyCode||"EUR";(0,a.f0)("view_item",{ecommerce:{currency:t,items:r}})}},[e]),null)},84300:(e,r,t)=>{"use strict";t.d(r,{VariantSelectorAndAtc:()=>_});var n=t(42546),a=t(49),l=t(54568),i=t(97311),o=t(26377),s=t(78827),d=t(91105),c=t(54578),u=t(56101),v=t(87964),m=t(60525),h=t(79748),p=t(7620);let f=e=>{var r;let{children:t,className:i,product:o,lines:f,onClick:b,navigateToCart:g=!0}=e,y=(0,s._)(e,["children","className","product","lines","onClick","navigateToCart"]),{lines:P,addLines:_,addAndRemoveLines:S}=(0,c.useCart)(),[C,x]=(0,p.useState)(!1),[w,j]=(0,p.useState)(!1),R=(0,h.useRouter)(),k=f.map(e=>({merchandiseId:e.gid,quantity:e.quantity||1,attributes:o?Object.entries({__featuredImage:o.previewImage?JSON.stringify(o.previewImage):void 0}).filter(e=>{let[,r]=e;return!!r}).map(e=>{let[r,t]=e;return{key:r,value:t}}):[]})).filter(e=>e.quantity>0),F=(0,d.ZB)(null==o||null==(r=o.store)?void 0:r.productType),N=async()=>{await T(!0)},T=async function(){let e=arguments.length>0&&void 0!==arguments[0]&&arguments[0];if(!k.length)return!1;x(!0);
1try{var r,t,n,a,l,i,s,c,u,v,h,p,b,y,C,w,N;let{hasFonts:x}=(0,d.b7)(P);if(!F&&x&&!e)return j(!0),!1;let T=(P||[]).filter(e=>(0,d.g0)(e)).map(e=>e.id);if(!(e&&T.length>0?await S(k,T):await _(k)))throw Error("Unable to update cart");let I=null==(r=o.variants)?void 0:r.find(e=>f.some(r=>{var t;return r.gid===(null==(t=e.store)?void 0:t.gid)})),E=(null==I||null==(n=I.store)||null==(t=n.price)?void 0:t.amount)?Number.parseFloat(I.store.price.amount):(null==(i=o.store)||null==(l=i.priceRange)||null==(a=l.minVariantPrice)?void 0:a.amount)?Number.parseFloat(o.store.priceRange.minVariantPrice.amount):0,A=f.reduce((e,r)=>e+(r.quantity||1),0);return(0,m.f0)("add_to_cart",{ecommerce:{currency:(null==I||null==(c=I.store)||null==(s=c.price)?void 0:s.currencyCode)||(null==(h=o.store)||null==(v=h.priceRange)||null==(u=v.minVariantPrice)?void 0:u.currencyCode)||"EUR",value:E*A,items:[{item_id:(null==(p=o.store)?void 0:p.id)||o._id,item_name:(null==(b=o.store)?void 0:b.title)||o.title,item_brand:(null==(y=o.store)?void 0:y.vendor)||"Production Type",item_category:(null==(C=o.store)?void 0:C.productType)||"Product",item_variant:(null==I?void 0:I.title)||(null==I||null==(w=I.store)?void 0:w.title)||"-",item_variant_id:(null==I||null==(N=I.store)?void 0:N.gid)||"-",price:E,origin_price:E,quantity:A}]}}),j(!1),g&&R.push("/cart"),!0}finally{x(!1)}},I=async e=>{await T()&&(null==b||b(e))};return(0,l.jsxs)(l.Fragment,{children:[(0,l.jsx)(u.Button,(0,a._)((0,n._)({className:i,enableLoader:!0,loading:C,onClick:I},y),{children:t})),(0,l.jsx)(v.S,{open:w,mode:"replaceFonts",loading:C,onCancel:()=>{j(!1),x(!1)},onConfirm:N})]})};var b=t(62444),g=t(9826);let y=e=>{let{product:r,handleSelectedVariant:t,selectedVariant:i,disabled:o}=e,s=null==i?void 0:i.store.selectedOptions;return(0,l.jsx)("menu",{className:"flex gap-8 items-center",children:r.options.map(e=>{var i;return(0,l.jsx)(b.m,{placeholder:e.title,wrapperClassname:"w-full",className:"p-6 pl-12 text-14",chevronClassName:"w-22 h-22",variant:"small",name:e.store.name,disabled:o,options:e.values.map(e=>{let{title:r,value:t}=e;return{label:r,value:t}}),onChange:l=>{var i,o,d;let c;return i=e.store.name,o=l.currentTarget.value,c=null==s?void 0:s.map(e=>e.name===i?(0,a._)((0,n._)({},e),{value:o}):e),void t(null==(d=r.variants.find(e=>e.store.selectedOptions.every(e=>{var r;return(null==c||null==(r=c.find(r=>r.name===e.name))?void 0:r.value)===e.value})))?void 0:d.store.gid)},value:null==s||null==(i=s.find(r=>r.name===e.store.name))?void 0:i.value},e.store.name)})})},P=e=>{var r,t;let{product:n,handleSelectedVariant:a,selectedVariant:i,disabled:o}=e;return(0,l.jsx)(b.m,{wrapperClassname:"w-full",className:"p-6 pl-12 text-14",chevronClassName:"w-22 h-22",variant:"small",name:n.store.gid,placeholder:(null==(r=n.options)?void 0:r[0].title)||(null==(t=n.options)?void 0:t[0].store.name),disabled:o,options:n.variants.map(e=>({label:e.title,value:e.store.gid})),onChange:e=>a(e.currentTarget.value),value:null==i?void 0:i.store.gid})},_=e=>{var r,t;let{className:n,product:a}=e,s=(0,o.A)(),{mode:d}=(0,i.A)(),c=a.options&&((null==(r=a.options)?void 0:r.length)||0)>=2,u=!c&&(a.variants.length>=2||"Default Title"!==a.variants[0].title),[v,m]=(0,p.useState)(null==(t=a.variants.find(e=>e.store.availableForSale))?void 0:t.store.gid),h=e=>m(e),b=a.variants.find(e=>e.store.gid===v);return(0,l.jsxs)("div",{className:n,children:[(0,l.jsx)("header",{className:"text-26 lg:text-44 text-accent-50 leading-narrow tracking-tighter mb-20 lg:mb-40",children:a.store.availableForSale&&(!b||b.store.availableForSale)?(0,l.jsx)(l.Fragment,{children:b?(0,l.jsx)("span",{children:(0,g.up)(b.store.price)}):(0,l.jsx)(l.Fragment,{children:a.store.priceRange.minVariantPrice.amount===a.store.priceRange.maxVariantPrice.amount?(0,l.jsx)("span",{children:(0,g.up)(a.store.priceRange.minVariantPrice)}):(0,l.jsxs)("span",{children:[s("From")," ",(0,g.up)(a.store.priceRange.minVariantPrice)]})})}):(0,l.jsx)("span",{children:s("Sold out")})}),c&&(0,l.jsx)(y,{disabled:!a.store.availableForSale,product:a,selectedVariant:b,handleSelectedVariant:h}),!c&&u&&(0,l.jsx)(P,{disabled:!a.store.availableForSale,product:a,selectedVariant:b,handleSelectedVariant:h}),a.store.availableForSale&&(0,l.jsx)(f,{variant:"primary",className:"mt-8 w-full",product:a,lines:b?[{gid:b.store.gid}]:[],withDisabled:!0,disabled:d||!b||!b.store.availableForSale,children:s("Add to cart")})]})}},87964:(e,r,t)=>{"use strict";t.d(r,{S:()=>s});var n=t(54568),a=t(26377),l=t(56101),i=t(41872),o=t(98088);let s=e=>{let{open:r,mode:t,loading:s,onCancel:d,onConfirm:c}=e,u=(0,a.A)(),v="replaceMerch"===t;return(0,n.jsx)(i.a,{open:r,onClose:d,title:u("Replace cart contents?"),className:"lg:span-w-4",children:(0,n.jsxs)("div",{className:"flex flex-col gap-20",children:[(0,n.jsx)("p",{className:"text-16",children:v?(0,n.jsx)(o.Translate,{children:"Your cart contains merch products. Adding these fonts will remove the merch from your cart."}):(0,n.jsx)(o.Translate,{children:"Your cart contains font products. Adding this merch will remove the fonts from your cart."})}),(0,n.jsxs)("div",{className:"flex gap-12 justify-end",children:[(0,n.jsx)(l.Button,{variant:"standard",onClick:d,children:v?(0,n.jsx)(o.Translate,{children:"Keep merch, cancel"}
1):(0,n.jsx)(o.Translate,{children:"Keep fonts, cancel"})}),(0,n.jsx)(l.Button,{variant:"accent",enableLoader:!0,loading:s,onClick:c,children:v?(0,n.jsx)(o.Translate,{children:"Replace and add fonts"}):(0,n.jsx)(o.Translate,{children:"Replace and add merch"})})]})]})})}},91105:(e,r,t)=>{"use strict";t.d(r,{ZB:()=>a,b7:()=>i,g0:()=>l});let n=new Set(["Font","Typography","Font Family"]),a=e=>n.has(null!=e?e:""),l=e=>{var r;return null!=(r=e.attributes)&&!!r.some(e=>"__familySlug"===e.key)||a(e.merchandise.product.productType)},i=e=>{let r=!1,t=!1;for(let n of null!=e?e:[])if(l(n)?r=!0:t=!0,r&&t)break;return{hasFonts:r,hasMerch:t}}}},e=>{e.O(0,[9249,1331,9579,5604,8644,8464,6961,1643,3210,3337,5171,8674,6307,6101,5687,9937,4777,1270,7109,7485,668,9103,7110,2636,587,1968,7358],()=>e(e.s=38322)),_N_E=e.O()}]);
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.