@letscooee/web-sdk
Version:
Engage uniquely and boost conversions with AI-powered customer journeys driven by real-time intent
16 lines (14 loc) • 60.9 kB
JavaScript
import{A as Oi,B as Li,a as mi,b as fi,d as tt,e as dt,f as oe,g as hi,h as fe,i as vi,j as yi,k as Ci,l as xi,m as Ue,n as bi,o as Vi,p as Ti,q as Ei,t as Si,u as Mi,v as Mt,x as Pi,y as Fi,z as Ri}from"./chunk-STBDPV5Q.js";import{c as Y,d as ui,g as gi,i as _i,j as wi,k as pt,l as Ii,m as ki,n as Di,q as Ai}from"./chunk-4NGRJOC7.js";import{a as ut}from"./chunk-HJ2OFJSU.js";import{a as qe}from"./chunk-T6RU7RSX.js";import{$ as U,$a as ne,A as zt,Aa as ue,B as Ut,Ba as H,Da as V,E as _e,F as qt,Ga as He,Ha as je,I as Wt,Ia as $e,K as ae,L as lt,La as le,Ma as Xe,N as Zt,O as S,P as Qt,Pa as oi,Q as Gt,Qa as ce,Ra as ri,S as It,Sa as ze,Wa as et,X as z,Xa as Ee,Ya as ie,Z as Jt,_ as Yt,aa as Kt,ab as ai,b as Lt,bb as si,cb as me,da as Xt,db as Ce,e as Nt,eb as li,fa as ei,gb as ci,ha as Ke,ia as j,ib as di,ja as $,k as Bt,kb as St,la as ti,ma as we,na as Ve,oa as B,p as Ht,pa as k,qa as D,ra as se,s as jt,sa as Ne,sb as ct,ta as Be,ua as Te,v as re,va as ii,wa as ni,x as O,xb as pi,y as L,z as $t,za as te}from"./chunk-K77Q3IPF.js";import{a as ye,b as Ot,e as qi,f as Wi}from"./chunk-V7UGKYBN.js";var ji=qi((mt,Hi)=>{"use strict";(function(o,e){typeof mt=="object"&&typeof Hi<"u"?e(mt):typeof define=="function"&&define.amd?define(["exports"],e):e((o=typeof globalThis<"u"?globalThis:o||self).Sqrl={})})(mt,function(o){"use strict";function e(s){var l,d,u=new Error(s);return l=u,d=e.prototype,Object.setPrototypeOf?Object.setPrototypeOf(l,d):l.__proto__=d,u}function t(s,l,d){var u=l.slice(0,d).split(/\n/),n=u.length,i=u[n-1].length+1;throw e(s+=" at line "+n+" col "+i+`:
`+l.split(/\n/)[n-1]+`
`+Array(i).join(" ")+"^")}e.prototype=Object.create(Error.prototype,{name:{value:"Squirrelly Error",enumerable:!1}});var r=new Function("return this")().Promise,a=!1;try{a=new Function("return (async function(){}).constructor")()}catch(s){if(!(s instanceof SyntaxError))throw s}function c(s,l){return Object.prototype.hasOwnProperty.call(s,l)}function f(s,l,d){for(var u in l)c(l,u)&&(l[u]==null||typeof l[u]!="object"||u!=="storage"&&u!=="prefixes"||d?s[u]=l[u]:s[u]=f({},l[u]));return s}var m=/^async +/,b=/`(?:\\[\s\S]|\${(?:[^{}]|{(?:[^{}]|{[^}]*})*})*}|(?!\${)[^\\`])*`/g,A=/'(?:\\[\s\w"'\\`]|[^\n\r'\\])*?'/g,Q=/"(?:\\[\s\w"'\\`]|[^\n\r"\\])*?"/g,xe=/[.*+\-?^${}()|[\]\\]/g;function be(s){return xe.test(s)?s.replace(xe,"\\$&"):s}function it(s,l){l.rmWhitespace&&(s=s.replace(/[\r\n]+/g,`
`).replace(/^\s+|\s+$/gm,"")),b.lastIndex=0,A.lastIndex=0,Q.lastIndex=0;var d=l.prefixes,u=[d.h,d.b,d.i,d.r,d.c,d.e].reduce(function(x,v){return x&&v?x+"|"+be(v):v?be(v):x},""),n=new RegExp("([|()]|=>)|('|\"|`|\\/\\*)|\\s*((\\/)?(-|_)?"+be(l.tags[1])+")","g"),i=new RegExp("([^]*?)"+be(l.tags[0])+"(-|_)?\\s*("+u+")?\\s*","g"),p=0,g=!1;function y(x,v){var T,w={f:[]},P=0,I="c";function E(Pe){var ke=s.slice(p,Pe),W=ke.trim();if(I==="f")W==="safe"?w.raw=!0:l.async&&m.test(W)?(W=W.replace(m,""),w.f.push([W,"",!0])):w.f.push([W,""]);else if(I==="fp")w.f[w.f.length-1][1]+=W;else if(I==="err"){if(W){var de=ke.search(/\S/);t("invalid syntax",s,p+de)}}else w[I]=W;p=Pe+1}for(v==="h"||v==="b"||v==="c"?I="n":v==="r"&&(w.raw=!0,v="i"),n.lastIndex=p;(T=n.exec(s))!==null;){var F=T[1],N=T[2],q=T[3],G=T[4],X=T[5],M=T.index;if(F)F==="("?(P===0&&(I==="n"?(E(M),I="p"):I==="f"&&(E(M),I="fp")),P++):F===")"?--P===0&&I!=="c"&&(E(M),I="err"):P===0&&F==="|"?(E(M),I="f"):F==="=>"&&(E(M),p+=1,I="res");else if(N)if(N==="/*"){var ve=s.indexOf("*/",n.lastIndex);ve===-1&&t("unclosed comment",s,T.index),n.lastIndex=ve+2}else N==="'"?(A.lastIndex=T.index,A.exec(s)?n.lastIndex=A.lastIndex:t("unclosed string",s,T.index)):N==='"'?(Q.lastIndex=T.index,Q.exec(s)?n.lastIndex=Q.lastIndex:t("unclosed string",s,T.index)):N==="`"&&(b.lastIndex=T.index,b.exec(s)?n.lastIndex=b.lastIndex:t("unclosed string",s,T.index));else if(q)return E(M),p=M+T[0].length,i.lastIndex=p,g=X,G&&v==="h"&&(v="s"),w.t=v,w}return t("unclosed tag",s,x),w}var C=(function x(v,T){v.b=[],v.d=[];var w,P=!1,I=[];function E(de,st){de&&(de=(function(J,De,Oe,Le){var ee,pe;return typeof De.autoTrim=="string"?ee=pe=De.autoTrim:Array.isArray(De.autoTrim)&&(ee=De.autoTrim[1],pe=De.autoTrim[0]),(Oe||Oe===!1)&&(ee=Oe),(Le||Le===!1)&&(pe=Le),ee==="slurp"&&pe==="slurp"?J.trim():(ee==="_"||ee==="slurp"?J=String.prototype.trimLeft?J.trimLeft():J.replace(/^[\s\uFEFF\xA0]+/,""):ee!=="-"&&ee!=="nl"||(J=J.replace(/^(?:\n|\r|\r\n)/,"")),pe==="_"||pe==="slurp"?J=String.prototype.trimRight?J.trimRight():J.replace(/[\s\uFEFF\xA0]+$/,""):pe!=="-"&&pe!=="nl"||(J=J.replace(/(?:\n|\r|\r\n)$/,"")),J)})(de,l,g,st))&&(de=de.replace(/\\|'/g,"\\$&").replace(/\r\n|\n|\r/g,"\\n"),I.push(de))}for(;(w=i.exec(s))!==null;){var F,N=w[1],q=w[2],G=w[3]||"";for(var X in d)if(d[X]===G){F=X;break}E(N,q),p=w.index+w[0].length,F||t("unrecognized tag type: "+G,s,p);var M=y(w.index,F),ve=M.t;if(ve==="h"){var Pe=M.n||"";l.async&&m.test(Pe)&&(M.a=!0,M.n=Pe.replace(m,"")),M=x(M),I.push(M)}else if(ve==="c"){if(v.n===M.n)return P?(P.d=I,v.b.push(P)):v.d=I,v;t("Helper start and end don't match",s,w.index+w[0].length)}else if(ve==="b"){P?(P.d=I,v.b.push(P)):v.d=I;var ke=M.n||"";l.async&&m.test(ke)&&(M.a=!0,M.n=ke.replace(m,"")),P=M,I=[]}else if(ve==="s"){var W=M.n||"";l.async&&m.test(W)&&(M.a=!0,M.n=W.replace(m,"")),I.push(M)}else I.push(M)}if(!T)throw e('unclosed helper "'+v.n+'"');return E(s.slice(p,s.length),!1),v.d=I,v})({f:[]},!0);if(l.plugins)for(var _=0;_<l.plugins.length;_++){var h=l.plugins[_];h.processAST&&(C.d=h.processAST(C.d,l))}return C.d}function Ze(s,l){var d=it(s,l),u="var tR='';"+(l.useWith?"with("+l.varName+"||{}){":"")+K(d,l)+"if(cb){cb(null,tR)} return tR"+(l.useWith?"}":"");if(l.plugins)for(var n=0;n<l.plugins.length;n++){var i=l.plugins[n];i.processFnString&&(u=i.processFnString(u,l))}return u}function Qe(s,l){for(var d=0;d<l.length;d++){var u=l[d][0],n=l[d][1];s=(l[d][2]?"await ":"")+"c.l('F','"+u+"')("+s,n&&(s+=","+n),s+=")"}return s}function R(s,l,d,u,n,i){var p="{exec:"+(n?"async ":"")+Ge(d,l,s)+",params:["+u+"]";return i&&(p+=",name:'"+i+"'"),n&&(p+=",async:true"),p+="}"}function Vt(s,l){for(var d="[",u=0;u<s.length;u++){var n=s[u];d+=R(l,n.res||"",n.d,n.p||"",n.a,n.n),u<s.length&&(d+=",")}return d+="]"}function Ge(s,l,d){return"function("+l+"){var tR='';"+K(s,d)+"return tR}"}function K(s,l){for(var d=0,u=s.length,n="";d<u;d++){var i=s[d];if(typeof i=="string")n+="tR+='"+i+"';";else{var p=i.t,g=i.c||"",y=i.f,C=i.n||"",_=i.p||"",h=i.res||"",x=i.b,v=!!i.a;if(p==="i"){l.defaultFilter&&(g="c.l('F','"+l.defaultFilter+"')("+g+")");var T=Qe(g,y);!i.raw&&l.autoEscape&&(T="c.l('F','e')("+T+")"),n+="tR+="+T+";"}else if(p==="h")if(l.storage.nativeHelpers.get(C))n+=l.storage.nativeHelpers.get(C)(i,l);else{var w=(v?"await ":"")+"c.l('H','"+C+"')("+R(l,h,i.d,_,v);w+=x?","+Vt(x,l):",[]",n+="tR+="+Qe(w+=",c)",y)+";"}else p==="s"?n+="tR+="+Qe((v?"await ":"")+"c.l('H','"+C+"')({params:["+_+"]},[],c)",y)+";":p==="e"&&(n+=g+`
`)}}return n}var Fe=(function(){function s(l){this.cache=l}return s.prototype.define=function(l,d){this.cache[l]=d},s.prototype.get=function(l){return this.cache[l]},s.prototype.remove=function(l){delete this.cache[l]},s.prototype.reset=function(){this.cache={}},s.prototype.load=function(l){f(this.cache,l,!0)},s})();function he(s,l,d,u){if(l&&l.length>0)throw e((u?"Native":"")+"Helper '"+s+"' doesn't accept blocks");if(d&&d.length>0)throw e((u?"Native":"")+"Helper '"+s+"' doesn't accept filters")}var Tt={"&":"&","<":"<",">":">",'"':""","'":"'"};function Et(s){return Tt[s]}var nt=new Fe({}),ot=new Fe({each:function(s,l){var d="",u=s.params[0];if(he("each",l,!1),s.async)return new Promise(function(i){(function p(g,y,C,_,h){C(g[y],y).then(function(x){_+=x,y===g.length-1?h(_):p(g,y+1,C,_,h)})})(u,0,s.exec,d,i)});for(var n=0;n<u.length;n++)d+=s.exec(u[n],n);return d},foreach:function(s,l){var d=s.params[0];if(he("foreach",l,!1),s.async)return new Promise(function(i){(function p(g,y,C,_,h,x){_(y[C],g[y[C]]).then(function(v){h+=v,C===y.length-1?x(h):p(g,y,C+1,_,h,x)})})(d,Object.keys(d),0,s.exec,"",i)});var u="";for(var n in d)c(d,n)&&(u+=s.exec(n,d[n]));return u},include:function(s,l,d){he("include",l,!1);var u=d.storage.templates.get(s.params[0]);if(!u)throw e('Could not fetch template "'+s.params[0]+'"');return u(s.params[1],d)},extends:function(s,l,d){var u=s.params[1]||{};u.content=s.exec();for(var n=0;n<l.length;n++){var i=l[n];u[i.name]=i.exec()}var p=d.storage.templates.get(s.params[0]);if(!p)throw e('Could not fetch template "'+s.params[0]+'"');return p(u,d)},useScope:function(s,l){return he("useScope",l,!1),s.exec(s.params[0])}}),rt=new Fe({if:function(s,l){he("if",!1,s.f,!0);var d="if("+s.p+"){"+K(s.d,l)+"}";if(s.b)for(var u=0;u<s.b.length;u++){var n=s.b[u];n.n==="else"?d+="else{"+K(n.d,l)+"}":n.n==="elif"&&(d+="else if("+n.p+"){"+K(n.d,l)+"}")}return d},try:function(s,l){if(he("try",!1,s.f,!0),!s.b||s.b.length!==1||s.b[0].n!=="catch")throw e("native helper 'try' only accepts 1 block, 'catch'");var d="try{"+K(s.d,l)+"}",u=s.b[0];return d+="catch"+(u.res?"("+u.res+")":"")+"{"+K(u.d,l)+"}"},block:function(s,l){return he("block",s.b,s.f,!0),"if(!"+l.varName+"["+s.p+"]){tR+=("+Ge(s.d,"",l)+")()}else{tR+="+l.varName+"["+s.p+"]}"}}),at=new Fe({e:function(s){var l=String(s);return/[&<>"']/.test(l)?l.replace(/[&<>"']/g,Et):l}}),Re={varName:"it",autoTrim:[!1,"nl"],autoEscape:!0,defaultFilter:!1,tags:["{{","}}"],l:function(s,l){if(s==="H"){var d=this.storage.helpers.get(l);if(d)return d;throw e("Can't find helper '"+l+"'")}if(s==="F"){var u=this.storage.filters.get(l);if(u)return u;throw e("Can't find filter '"+l+"'")}},async:!1,storage:{helpers:ot,nativeHelpers:rt,filters:at,templates:nt},prefixes:{h:"@",b:"#",i:"",r:"*",c:"/",e:"!"},cache:!1,plugins:[],useWith:!1};function Je(s,l){var d={};return f(d,Re),l&&f(d,l),s&&f(d,s),d.l.bind(d),d}function Ye(s,l){var d,u=Je(l||{}),n=Function;if(u.async){if(!a)throw e("This environment doesn't support async/await");n=a}if(u.varName&&(d=u.varName,/^[a-zA-Z_$][a-zA-Z0-9_$]*$/.test(d)===!1))throw e("options.varName must be a valid JS identifier");try{return new n(u.varName,"c","cb",Ze(s,u))}catch(i){throw i instanceof SyntaxError?e(`Bad template syntax
`+i.message+`
`+Array(i.message.length+1).join("=")+`
`+Ze(s,u)):i}}function Me(s,l){var d;return l.cache&&l.name&&l.storage.templates.get(l.name)?l.storage.templates.get(l.name):(d=typeof s=="function"?s:Ye(s,l),l.cache&&l.name&&l.storage.templates.define(l.name,d),d)}Re.l.bind(Re),o.compile=Ye,o.compileScope=K,o.compileScopeIntoFunction=Ge,o.compileToString=Ze,o.defaultConfig=Re,o.filters=at,o.getConfig=Je,o.helpers=ot,o.nativeHelpers=rt,o.parse=it,o.render=function(s,l,d,u){var n=Je(d||{});if(!n.async)return Me(s,n)(l,n);if(!u){if(typeof r=="function")return new r(function(i,p){try{i(Me(s,n)(l,n))}catch(g){p(g)}});throw e("Please provide a callback function, this env doesn't support Promises")}try{Me(s,n)(l,n,u)}catch(i){return u(i)}},o.templates=nt,Object.defineProperty(o,"__esModule",{value:!0})})});var Zi={schedule(o,e){let t=setTimeout(o,e);return()=>clearTimeout(t)}};function Qi(o){return o.replace(/[A-Z]/g,e=>`-${e.toLowerCase()}`)}function Gi(o){return!!o&&o.nodeType===Node.ELEMENT_NODE}var Pt;function Ji(o,e){if(!Pt){let t=Element.prototype;Pt=t.matches||t.matchesSelector||t.mozMatchesSelector||t.msMatchesSelector||t.oMatchesSelector||t.webkitMatchesSelector}return o.nodeType===Node.ELEMENT_NODE?Pt.call(o,e):!1}function Yi(o){let e={};return o.forEach(({propName:t,templateName:r,transform:a})=>{e[Qi(r)]=[t,a]}),e}function Ki(o,e){return e.get(It).resolveComponentFactory(o).inputs}function Xi(o,e){let t=o.childNodes,r=e.map(()=>[]),a=-1;e.some((c,f)=>c==="*"?(a=f,!0):!1);for(let c=0,f=t.length;c<f;++c){let m=t[c],b=en(m,e,a);b!==-1&&r[b].push(m)}return r}function en(o,e,t){let r=t;return Gi(o)&&e.some((a,c)=>a!=="*"&&Ji(o,a)?(r=c,!0):!1),r}var tn=10,kt=class{componentFactory;inputMap=new Map;constructor(e,t){this.componentFactory=t.get(It).resolveComponentFactory(e);for(let r of this.componentFactory.inputs)this.inputMap.set(r.propName,r.templateName)}create(e){return new Dt(this.componentFactory,e,this.inputMap)}},Dt=class{componentFactory;injector;inputMap;eventEmitters=new Nt(1);events=this.eventEmitters.pipe(Ht(e=>Bt(...e)));componentRef=null;scheduledDestroyFn=null;initialInputValues=new Map;ngZone;elementZone;appRef;cdScheduler;constructor(e,t,r){this.componentFactory=e,this.injector=t,this.inputMap=r,this.ngZone=this.injector.get(Xt),this.appRef=this.injector.get(ei),this.cdScheduler=t.get(qt),this.elementZone=typeof Zone>"u"?null:this.ngZone.run(()=>Zone.current)}connect(e){this.runInZone(()=>{if(this.scheduledDestroyFn!==null){this.scheduledDestroyFn(),this.scheduledDestroyFn=null;return}this.componentRef===null&&this.initializeComponent(e)})}disconnect(){this.runInZone(()=>{this.componentRef===null||this.scheduledDestroyFn!==null||(this.scheduledDestroyFn=Zi.schedule(()=>{this.componentRef!==null&&(this.componentRef.destroy(),this.componentRef=null)},tn))})}getInputValue(e){return this.runInZone(()=>this.componentRef===null?this.initialInputValues.get(e):this.componentRef.instance[e])}setInputValue(e,t){if(this.componentRef===null){this.initialInputValues.set(e,t);return}this.runInZone(()=>{this.componentRef.setInput(this.inputMap.get(e)??e,t),Qt(this.componentRef.hostView)&&(Gt(this.componentRef.changeDetectorRef),this.cdScheduler.notify(6))})}initializeComponent(e){let t=Ut.create({providers:[],parent:this.injector}),r=Xi(e,this.componentFactory.ngContentSelectors);this.componentRef=this.componentFactory.create(t,r,e),this.initializeInputs(),this.initializeOutputs(this.componentRef),this.appRef.attachView(this.componentRef.hostView),this.componentRef.hostView.detectChanges()}initializeInputs(){for(let[e,t]of this.initialInputValues)this.setInputValue(e,t);this.initialInputValues.clear()}initializeOutputs(e){let t=this.componentFactory.outputs.map(({propName:r,templateName:a})=>{let c=e.instance[r];return new Lt(f=>{let m=c.subscribe(b=>f.next({name:a,value:b}));return()=>m.unsubscribe()})});this.eventEmitters.next(t)}runInZone(e){return this.elementZone&&Zone.current!==this.elementZone?this.ngZone.run(e):e()}},At=class extends HTMLElement{ngElementEventsSubscription=null};function Ni(o,e){let t=Ki(o,e.injector),r=e.strategyFactory||new kt(o,e.injector),a=Yi(t);class c extends At{injector;static observedAttributes=Object.keys(a);get ngElementStrategy(){if(!this._ngElementStrategy){let m=this._ngElementStrategy=r.create(this.injector||e.injector);t.forEach(({propName:b,transform:A})=>{if(!this.hasOwnProperty(b))return;let Q=this[b];delete this[b],m.setInputValue(b,Q,A)})}return this._ngElementStrategy}_ngElementStrategy;constructor(m){super(),this.injector=m}attributeChangedCallback(m,b,A,Q){let[xe,be]=a[m];this.ngElementStrategy.setInputValue(xe,A,be)}connectedCallback(){let m=!1;this.ngElementStrategy.events&&(this.subscribeToEvents(),m=!0),this.ngElementStrategy.connect(this),m||this.subscribeToEvents()}disconnectedCallback(){this._ngElementStrategy&&this._ngElementStrategy.disconnect(),this.ngElementEventsSubscription&&(this.ngElementEventsSubscription.unsubscribe(),this.ngElementEventsSubscription=null)}subscribeToEvents(){this.ngElementEventsSubscription=this.ngElementStrategy.events.subscribe(m=>{let b=new CustomEvent(m.name,{detail:m.value});this.dispatchEvent(b)})}}return t.forEach(({propName:f,transform:m})=>{Object.defineProperty(c.prototype,f,{get(){return this.ngElementStrategy.getInputValue(f)},set(b){this.ngElementStrategy.setInputValue(f,b,m)},configurable:!0,enumerable:!0})}),c}var Bi={providers:[ci()]};var Ft=(t=>(t.CART_AMOUNT="CART_AMOUNT",t.ITEM_COUNT="ITEM_COUNT",t))(Ft||{});var Z=Wi(ji());Z.filters.define("default",function(o){return typeof o>"u"||o==null?"":on(o)});+Z.filters.define("max",(o,e)=>{let t=Number(o),r=Number(e);return isNaN(t)||isNaN(r)?o:t>r?e:o});Z.filters.define("min",(o,e)=>{let t=Number(o),r=Number(e);return isNaN(t)||isNaN(r)?o:t<r?e:o});Z.filters.define("fallback",(o,e)=>o==null||o===""?e:o);Z.filters.define("manipulate_quantity",(o,e,t)=>{if(e??=1,t??=100,e>t)return Y.error("Invalid range: min should be less than or equal to max."),o;if(o>=e&&o<=t)return o;let r=o%t;return r<e?e:r});Z.filters.define("apply_discount_perc",(o,e,t=1/0)=>{if(o=+o,isNaN(o))return Y.error("Need value as a number for `apply_discount_perc` filter"),NaN;if(e<0||e>100)return Y.error("Invalid percent value for `apply_discount_perc` filter. Must be between 0 and 100."),NaN;let r=o*e/100;return o-Math.min(t,r)});Z.filters.define("apply_discount_fixed",(o,e)=>(o=+o,isNaN(o)?(Y.error("Need value as a number for `apply_discount_fixed` filter"),NaN):Math.max(0,o-e)));Z.filters.define("currency",o=>(o=+o,isNaN(o)?(Y.error("Need value as a number for `currency` filter"),NaN):Ue(o)));Z.defaultConfig.defaultFilter="default";Z.defaultConfig.useWith=!0;Z.defaultConfig.autoEscape=!1;var nn={'"':""","\\":"\","\n":"\\n"};function on(o){return String(o).replace(/["\\\n]/g,e=>nn[e])}function rn(o){if(!o)return"";let e=/({{{\s*([^}]+?)\s*}}}|{{\s*&\s*([^}]+?)\s*}})/g;return o.replace(e,(t,r,a,c)=>`{{ ${(a||c||"").trim()} }}`)}var We=(o,e,t)=>{e=ye({discount:{},cart:{},product:{},bundle:{},variant:{},customer:{},svg:{},form:{},amount_left:null},e);try{return Z.render(rn(o),e)}catch(r){throw Ci(r,"squirrelly-render",{extra:{template:o,values:e},triggerContext:t}),r}};var ft=class o{transform(e,t){return e?We(e,ye({},t)):null}static \u0275fac=function(t){return new(t||o)};static \u0275pipe=Yt({name:"cooeeDynamicVariables",type:o,pure:!0})};var Rt={};(function o(e,t,r,a){var c=!!(e.Worker&&e.Blob&&e.Promise&&e.OffscreenCanvas&&e.OffscreenCanvasRenderingContext2D&&e.HTMLCanvasElement&&e.HTMLCanvasElement.prototype.transferControlToOffscreen&&e.URL&&e.URL.createObjectURL),f=typeof Path2D=="function"&&typeof DOMMatrix=="function",m=(function(){if(!e.OffscreenCanvas)return!1;var n=new OffscreenCanvas(1,1),i=n.getContext("2d");i.fillRect(0,0,1,1);var p=n.transferToImageBitmap();try{i.createPattern(p,"no-repeat")}catch{return!1}return!0})();function b(){}function A(n){var i=t.exports.Promise,p=i!==void 0?i:e.Promise;return typeof p=="function"?new p(n):(n(b,b),null)}var Q=(function(n,i){return{transform:function(p){if(n)return p;if(i.has(p))return i.get(p);var g=new OffscreenCanvas(p.width,p.height),y=g.getContext("2d");return y.drawImage(p,0,0),i.set(p,g),g},clear:function(){i.clear()}}})(m,new Map),xe=(function(){var n=Math.floor(16.666666666666668),i,p,g={},y=0;return typeof requestAnimationFrame=="function"&&typeof cancelAnimationFrame=="function"?(i=function(C){var _=Math.random();return g[_]=requestAnimationFrame(function h(x){y===x||y+n-1<x?(y=x,delete g[_],C()):g[_]=requestAnimationFrame(h)}),_},p=function(C){g[C]&&cancelAnimationFrame(g[C])}):(i=function(C){return setTimeout(C,n)},p=function(C){return clearTimeout(C)}),{frame:i,cancel:p}})(),be=(function(){var n,i,p={};function g(y){function C(_,h){y.postMessage({options:_||{},callback:h})}y.init=function(h){var x=h.transferControlToOffscreen();y.postMessage({canvas:x},[x])},y.fire=function(h,x,v){if(i)return C(h,null),i;var T=Math.random().toString(36).slice(2);return i=A(function(w){function P(I){I.data.callback===T&&(delete p[T],y.removeEventListener("message",P),i=null,Q.clear(),v(),w())}y.addEventListener("message",P),C(h,T),p[T]=P.bind(null,{data:{callback:T}})}),i},y.reset=function(){y.postMessage({reset:!0});for(var h in p)p[h](),delete p[h]}}return function(){if(n)return n;if(!r&&c){var y=["var CONFETTI, SIZE = {}, module = {};","("+o.toString()+")(this, module, true, SIZE);","onmessage = function(msg) {"," if (msg.data.options) {"," CONFETTI(msg.data.options).then(function () {"," if (msg.data.callback) {"," postMessage({ callback: msg.data.callback });"," }"," });"," } else if (msg.data.reset) {"," CONFETTI && CONFETTI.reset();"," } else if (msg.data.resize) {"," SIZE.width = msg.data.resize.width;"," SIZE.height = msg.data.resize.height;"," } else if (msg.data.canvas) {"," SIZE.width = msg.data.canvas.width;"," SIZE.height = msg.data.canvas.height;"," CONFETTI = module.exports.create(msg.data.canvas);"," }","}"].join(`
`);try{n=new Worker(URL.createObjectURL(new Blob([y])))}catch(C){return typeof console!==void 0&&typeof console.warn=="function"&&console.warn("\u{1F38A} Could not load worker",C),null}g(n)}return n}})(),it={particleCount:50,angle:90,spread:45,startVelocity:45,decay:.9,gravity:1,drift:0,ticks:200,x:.5,y:.5,shapes:["square","circle"],zIndex:100,colors:["#26ccff","#a25afd","#ff5e7e","#88ff5a","#fcff42","#ffa62d","#ff36ff"],disableForReducedMotion:!1,scalar:1};function Ze(n,i){return i?i(n):n}function Qe(n){return n!=null}function R(n,i,p){return Ze(n&&Qe(n[i])?n[i]:it[i],p)}function Vt(n){return n<0?0:Math.floor(n)}function Ge(n,i){return Math.floor(Math.random()*(i-n))+n}function K(n){return parseInt(n,16)}function Fe(n){return n.map(he)}function he(n){var i=String(n).replace(/[^0-9a-f]/gi,"");return i.length<6&&(i=i[0]+i[0]+i[1]+i[1]+i[2]+i[2]),{r:K(i.substring(0,2)),g:K(i.substring(2,4)),b:K(i.substring(4,6))}}function Tt(n){var i=R(n,"origin",Object);return i.x=R(i,"x",Number),i.y=R(i,"y",Number),i}function Et(n){n.width=document.documentElement.clientWidth,n.height=document.documentElement.clientHeight}function nt(n){var i=n.getBoundingClientRect();n.width=i.width,n.height=i.height}function ot(n){var i=document.createElement("canvas");return i.style.position="fixed",i.style.top="0px",i.style.left="0px",i.style.pointerEvents="none",i.style.zIndex=n,i}function rt(n,i,p,g,y,C,_,h,x){n.save(),n.translate(i,p),n.rotate(C),n.scale(g,y),n.arc(0,0,1,_,h,x),n.restore()}function at(n){var i=n.angle*(Math.PI/180),p=n.spread*(Math.PI/180);return{x:n.x,y:n.y,wobble:Math.random()*10,wobbleSpeed:Math.min(.11,Math.random()*.1+.05),velocity:n.startVelocity*.5+Math.random()*n.startVelocity,angle2D:-i+(.5*p-Math.random()*p),tiltAngle:(Math.random()*(.75-.25)+.25)*Math.PI,color:n.color,shape:n.shape,tick:0,totalTicks:n.ticks,decay:n.decay,drift:n.drift,random:Math.random()+2,tiltSin:0,tiltCos:0,wobbleX:0,wobbleY:0,gravity:n.gravity*3,ovalScalar:.6,scalar:n.scalar,flat:n.flat}}function Re(n,i){i.x+=Math.cos(i.angle2D)*i.velocity+i.drift,i.y+=Math.sin(i.angle2D)*i.velocity+i.gravity,i.velocity*=i.decay,i.flat?(i.wobble=0,i.wobbleX=i.x+10*i.scalar,i.wobbleY=i.y+10*i.scalar,i.tiltSin=0,i.tiltCos=0,i.random=1):(i.wobble+=i.wobbleSpeed,i.wobbleX=i.x+10*i.scalar*Math.cos(i.wobble),i.wobbleY=i.y+10*i.scalar*Math.sin(i.wobble),i.tiltAngle+=.1,i.tiltSin=Math.sin(i.tiltAngle),i.tiltCos=Math.cos(i.tiltAngle),i.random=Math.random()+2);var p=i.tick++/i.totalTicks,g=i.x+i.random*i.tiltCos,y=i.y+i.random*i.tiltSin,C=i.wobbleX+i.random*i.tiltCos,_=i.wobbleY+i.random*i.tiltSin;if(n.fillStyle="rgba("+i.color.r+", "+i.color.g+", "+i.color.b+", "+(1-p)+")",n.beginPath(),f&&i.shape.type==="path"&&typeof i.shape.path=="string"&&Array.isArray(i.shape.matrix))n.fill(l(i.shape.path,i.shape.matrix,i.x,i.y,Math.abs(C-g)*.1,Math.abs(_-y)*.1,Math.PI/10*i.wobble));else if(i.shape.type==="bitmap"){var h=Math.PI/10*i.wobble,x=Math.abs(C-g)*.1,v=Math.abs(_-y)*.1,T=i.shape.bitmap.width*i.scalar,w=i.shape.bitmap.height*i.scalar,P=new DOMMatrix([Math.cos(h)*x,Math.sin(h)*x,-Math.sin(h)*v,Math.cos(h)*v,i.x,i.y]);P.multiplySelf(new DOMMatrix(i.shape.matrix));var I=n.createPattern(Q.transform(i.shape.bitmap),"no-repeat");I.setTransform(P),n.globalAlpha=1-p,n.fillStyle=I,n.fillRect(i.x-T/2,i.y-w/2,T,w),n.globalAlpha=1}else if(i.shape==="circle")n.ellipse?n.ellipse(i.x,i.y,Math.abs(C-g)*i.ovalScalar,Math.abs(_-y)*i.ovalScalar,Math.PI/10*i.wobble,0,2*Math.PI):rt(n,i.x,i.y,Math.abs(C-g)*i.ovalScalar,Math.abs(_-y)*i.ovalScalar,Math.PI/10*i.wobble,0,2*Math.PI);else if(i.shape==="star")for(var E=Math.PI/2*3,F=4*i.scalar,N=8*i.scalar,q=i.x,G=i.y,X=5,M=Math.PI/X;X--;)q=i.x+Math.cos(E)*N,G=i.y+Math.sin(E)*N,n.lineTo(q,G),E+=M,q=i.x+Math.cos(E)*F,G=i.y+Math.sin(E)*F,n.lineTo(q,G),E+=M;else n.moveTo(Math.floor(i.x),Math.floor(i.y)),n.lineTo(Math.floor(i.wobbleX),Math.floor(y)),n.lineTo(Math.floor(C),Math.floor(_)),n.lineTo(Math.floor(g),Math.floor(i.wobbleY));return n.closePath(),n.fill(),i.tick<i.totalTicks}function Je(n,i,p,g,y){var C=i.slice(),_=n.getContext("2d"),h,x,v=A(function(T){function w(){h=x=null,_.clearRect(0,0,g.width,g.height),Q.clear(),y(),T()}function P(){r&&!(g.width===a.width&&g.height===a.height)&&(g.width=n.width=a.width,g.height=n.height=a.height),!g.width&&!g.height&&(p(n),g.width=n.width,g.height=n.height),_.clearRect(0,0,g.width,g.height),C=C.filter(function(I){return Re(_,I)}),C.length?h=xe.frame(P):w()}h=xe.frame(P),x=w});return{addFettis:function(T){return C=C.concat(T),v},canvas:n,promise:v,reset:function(){h&&xe.cancel(h),x&&x()}}}function Ye(n,i){var p=!n,g=!!R(i||{},"resize"),y=!1,C=R(i,"disableForReducedMotion",Boolean),_=c&&!!R(i||{},"useWorker"),h=_?be():null,x=p?Et:nt,v=n&&h?!!n.__confetti_initialized:!1,T=typeof matchMedia=="function"&&matchMedia("(prefers-reduced-motion)").matches,w;function P(E,F,N){for(var q=R(E,"particleCount",Vt),G=R(E,"angle",Number),X=R(E,"spread",Number),M=R(E,"startVelocity",Number),ve=R(E,"decay",Number),Pe=R(E,"gravity",Number),ke=R(E,"drift",Number),W=R(E,"colors",Fe),de=R(E,"ticks",Number),st=R(E,"shapes"),J=R(E,"scalar"),De=!!R(E,"flat"),Oe=Tt(E),Le=q,ee=[],pe=n.width*Oe.x,Ui=n.height*Oe.y;Le--;)ee.push(at({x:pe,y:Ui,angle:G,spread:X,startVelocity:M,color:W[Le%W.length],shape:st[Ge(0,st.length)],ticks:de,decay:ve,gravity:Pe,drift:ke,scalar:J,flat:De}));return w?w.addFettis(ee):(w=Je(n,ee,x,F,N),w.promise)}function I(E){var F=C||R(E,"disableForReducedMotion",Boolean),N=R(E,"zIndex",Number);if(F&&T)return A(function(M){M()});p&&w?n=w.canvas:p&&!n&&(n=ot(N),document.body.appendChild(n)),g&&!v&&x(n);var q={width:n.width,height:n.height};h&&!v&&h.init(n),v=!0,h&&(n.__confetti_initialized=!0);function G(){if(h){var M={getBoundingClientRect:function(){if(!p)return n.getBoundingClientRect()}};x(M),h.postMessage({resize:{width:M.width,height:M.height}});return}q.width=q.height=null}function X(){w=null,g&&(y=!1,e.removeEventListener("resize",G)),p&&n&&(document.body.contains(n)&&document.body.removeChild(n),n=null,v=!1)}return g&&!y&&(y=!0,e.addEventListener("resize",G,!1)),h?h.fire(E,q,X):P(E,q,X)}return I.reset=function(){h&&h.reset(),w&&w.reset()},I}var Me;function s(){return Me||(Me=Ye(null,{useWorker:!0,resize:!0})),Me}function l(n,i,p,g,y,C,_){var h=new Path2D(n),x=new Path2D;x.addPath(h,new DOMMatrix(i));var v=new Path2D;return v.addPath(x,new DOMMatrix([Math.cos(_)*y,Math.sin(_)*y,-Math.sin(_)*C,Math.cos(_)*C,p,g])),v}function d(n){if(!f)throw new Error("path confetti are not supported in this browser");var i,p;typeof n=="string"?i=n:(i=n.path,p=n.matrix);var g=new Path2D(i),y=document.createElement("canvas"),C=y.getContext("2d");if(!p){for(var _=1e3,h=_,x=_,v=0,T=0,w,P,I=0;I<_;I+=2)for(var E=0;E<_;E+=2)C.isPointInPath(g,I,E,"nonzero")&&(h=Math.min(h,I),x=Math.min(x,E),v=Math.max(v,I),T=Math.max(T,E));w=v-h,P=T-x;var F=10,N=Math.min(F/w,F/P);p=[N,0,0,N,-Math.round(w/2+h)*N,-Math.round(P/2+x)*N]}return{type:"path",path:i,matrix:p}}function u(n){var i,p=1,g="#000000",y='"Apple Color Emoji", "Segoe UI Emoji", "Segoe UI Symbol", "Noto Color Emoji", "EmojiOne Color", "Android Emoji", "Twemoji Mozilla", "system emoji", sans-serif';typeof n=="string"?i=n:(i=n.text,p="scalar"in n?n.scalar:p,y="fontFamily"in n?n.fontFamily:y,g="color"in n?n.color:g);var C=10*p,_=""+C+"px "+y,h=new OffscreenCanvas(C,C),x=h.getContext("2d");x.font=_;var v=x.measureText(i),T=Math.ceil(v.actualBoundingBoxRight+v.actualBoundingBoxLeft),w=Math.ceil(v.actualBoundingBoxAscent+v.actualBoundingBoxDescent),P=2,I=v.actualBoundingBoxLeft+P,E=v.actualBoundingBoxAscent+P;T+=P+P,w+=P+P,h=new OffscreenCanvas(T,w),x=h.getContext("2d"),x.font=_,x.fillStyle=g,x.fillText(i,I,E);var F=1/p;return{type:"bitmap",bitmap:h.transferToImageBitmap(),matrix:[F,0,0,F,-T*F/2,-w*F/2]}}t.exports=function(){return s().apply(this,arguments)},t.exports.reset=function(){s().reset()},t.exports.create=Ye,t.exports.shapeFromPath=d,t.exports.shapeFromText=u})((function(){return typeof window<"u"?window:typeof self<"u"?self:this||{}})(),Rt,!1);var $i=Rt.exports,eo=Rt.exports.create;var gt=class{static DEFAULTS={scalar:1.4,zIndex:1e4,shapes:["circle","circle","square"],colors:["#f51c8f","#2179e2","#d52dc8","#01a9d9","#78ff44","#fdff6a"]};static async basic(){await this.fire({particleCount:100,spread:70,origin:{y:.6}})}static async leftRight(e=100){let t=[],r=Date.now()+2e3,a=()=>{t.push(this.fire({angle:60,spread:55,origin:{x:0}}),this.fire({angle:120,spread:55,origin:{x:1}})),Date.now()<r&&e>0&&(requestAnimationFrame(a),e--)};a(),await Promise.all(t)}static async realistic(){await Promise.all([this.realisticFire(.25,{spread:26,startVelocity:55}),this.realisticFire(.2,{spread:60}),this.realisticFire(.35,{spread:100,decay:.91,scalar:.8}),this.realisticFire(.1,{spread:120,startVelocity:25,decay:.92,scalar:1.2}),this.realisticFire(.1,{spread:120,startVelocity:45})])}static async fire(e){Object.assign(e,this.DEFAULTS,e),e.particleCount=e.particleCount??this.DEFAULTS.colors.length,await $i(e)}static async realisticFire(e,t){let a={origin:{y:.7}};await this.fire(Object.assign({},a,t,{particleCount:Math.floor(200*e)}))}};var an=(o,e)=>e.minValue;function sn(o,e){if(o&1&&(Te(0,"div",7),me(1,"safeHtml")),o&2){let t=V().$implicit;ue("innerHTML",Ce(1,1,t.minValue+" Products"),ae)}}function ln(o,e){if(o&1&&(Te(0,"div",7),me(1,"cooeeCurrency"),me(2,"safeHtml")),o&2){let t=V().$implicit;ue("innerHTML",Ce(2,3,Ce(1,1,t.minValue)),ae)}}function cn(o,e){if(o&1&&(Ne(0,"li",6)(1,"div"),j(2,sn,2,3,"div",7)(3,ln,3,5,"div",7),Te(4,"img",8),Ne(5,"div",9),ce(6),Be()()()),o&2){let t=e.$implicit,r=V(2);Xe("left",t.calculatedAlignment+"%"),S(2),$((r.progressBarConfig==null?null:r.progressBarConfig.rewardBasis)===r.RewardBasis.ITEM_COUNT?2:3),S(2),ue("src",r.getIconURL(t),lt),S(2),ri(t.label)}}function dn(o,e){if(o&1&&(Te(0,"div",0),me(1,"cooeeDynamicVariables"),me(2,"safeHtml"),Ne(3,"div",1)(4,"ul",2)(5,"div",3),Te(6,"div",4),Be(),we(7,cn,7,5,"li",5,an),Be()()),o&2){let t=V(),r=t.calculatedState(),a=r.nextMilestone?r.nextMilestone.reachingText:r.lastMilestone.reachedText;ue("innerHTML",Ce(2,6,li(1,3,a,t.localDynamicVariables())),ae),S(6),Xe("width",r.cartValuePercentage+"%"),S(),Ve(r.milestones)}}var ht=class o extends fe{cart;localDynamicVariables=_e({});calculatedState=_e({});progressBarConfig;RewardBasis=Ft;constructor(){super()}engagementTriggerReceived(e){this.progressBarConfig=e.progressBarConfig}ngOnInit(){super.ngOnInit(),this.calculateMilestonesSilently()}update(){this.calculateMilestonesSilently()}getIconURL(e){return e.rewardType===dt.FREE_SHIPPING?"https://img.icons8.com/ios-filled/50/FFFFFF/free-shipping.png":e.rewardType===dt.DISCOUNT?"https://img.icons8.com/ios-glyphs/30/FFFFFF/sale-price-tag.png":e.rewardType===dt.FREE_AUTO_GIFT?"https://img.icons8.com/ios-filled/50/FFFFFF/gift--v1.png":""}calculateMilestonesSilently(){this.calculateMilestones().catch(e=>Y.error(e))}async calculateMilestones(){let e=this.engagementTrigger,t=this.progressBarConfig;if(!t?.milestones?.length){Y.warn("Milestones not available in progress bar config",e);return}let r=await this.cart.getNormalisedCart(),a=t.milestones.at(-1),c=t?.reachedAmountOrCount??r.originalAmount,f=t.totalProgress??0;Y.verbose("Cart value:",c,`, percentage: ${f}%`),this.celebrate(e,c);let m={milestonesReady:!0,cartValuePercentage:f,milestones:t.milestones},b=t.milestones.find(A=>!A.reached);if(b){let A=Ue(b.minValue-c);if(t.rewardBasis==="ITEM_COUNT"){let Q=b.minValue-c;A=`${Q} ${Q===1?"product":"products"}`}this.localDynamicVariables.set({amount_left:A}),m.nextMilestone=b,this.calculatedState.set(m);return}m.lastMilestone=a,this.calculatedState.set(m)}celebrate(e,t){let c=[...e.progressBarConfig.milestones].reverse().find(b=>b.minValue<t);if(!c)return;let f=`lc/en/${e.shortID}/${c.minValue}`;sessionStorage.getItem(f)||(sessionStorage.setItem(f,"1"),this.progressBarConfig?.noConfetti||gt.realistic())}static \u0275fac=function(t){return new(t||o)};static \u0275cmp=z({type:o,selectors:[["cooee-progressbar"]],inputs:{cart:"cart"},features:[ne(oe()),U],decls:1,vars:1,consts:[[1,"heading",3,"innerHTML"],[1,"milestone-container"],[1,"milestone-list"],[1,"untracked-path"],[1,"tracked-path"],[1,"milestone-list-item",3,"left"],[1,"milestone-list-item"],[1,"milestone-value",3,"innerHTML"],["width","20","height","20","alt","milestone icon",1,"milestone-icon",3,"src"],[1,"milestone-label"]],template:function(t,r){t&1&&j(0,dn,9,8),t&2&&$(r.calculatedState().milestonesReady?0:-1)},dependencies:[ft,qe,bi],styles:[`:host{display:block;padding:10px;background:linear-gradient(0deg,rgba(var(--lc-primary-color),.1) 0%,transparent 100%)}.milestone-container{width:95%;margin:8px 0}.heading{font-weight:500;text-align:center;font-size:12px}.milestone-list{display:flex;align-items:center;position:relative;font-size:10px;font-weight:500}.untracked-path{width:100%;background-color:#e5e7eb;height:4px;position:absolute}.tracked-path{background-color:rgba(var(--lc-primary-color));height:100%;display:block;transition:width .5s ease-in-out}.milestone-list{padding:0;margin:0}.milestone-list-item{position:relative;display:flex;flex-direction:column;align-items:center;height:75px}.milestone-list-item>div{display:flex;flex-direction:column;align-items:center;justify-content:space-between;position:absolute;height:100%;width:100px}.milestone-icon{padding:5px;border-radius:1000px;background-color:rgba(var(--lc-primary-color))}
`],encapsulation:3})};var pn=["numberVariable"],vt=class o extends fe{numberSlot;savingsBarConfig;textParts=_e({start:"",end:""});globalIntervals=[];constructor(){super()}ngAfterViewInit(){this.updateUIVars()}engagementTriggerReceived(e){this.savingsBarConfig=e.content.savingsBarConfig,this.elementRef.nativeElement.classList.add("lc_"+e.entryAnimation?.toLowerCase()),this.savingsBarConfig.iconURL&&this.elementRef.nativeElement.style.setProperty("--lc-discount-icon",this.savingsBarConfig.iconURL)}update(){this.updateUIVars()}updateUIVars(){let e=ye(ye({},this.engagementTrigger.getCartMagicVariables()),xi("total_savings",this.savingsBarConfig.totalSavings)),t=We(this.savingsBarConfig.text,{cart:e},this.triggerContext),r=t.match(/[\d.,]+/)?.[0];if(!r){Y.error("No amount found in text",t);return}let[a,c]=t.split(r);this.textParts.set({start:a,end:c}),this.savingsBarConfig.animateNumber?this.runAnimation(r):this.numberSlot.nativeElement.innerHTML=r}runSlotMachineAnimation(e="0"){let t=this.numberSlot.nativeElement;t.innerHTML="";let r=this.savingsBarConfig.animationDuration/e.length;this.clearPreviousIntervals();for(let a=0;a<e.length;a++){let c=document.createElement("div");c.className="digit",c.style.display="inline-block",t.appendChild(c);let f=setInterval(()=>{let m=Math.floor(Math.random()*10);c.innerHTML=`<div>${m}</div>`},50);this.globalIntervals.push(f),setTimeout(()=>{clearInterval(f);let m=e?.[a]??Math.floor(Math.random()*10);c.innerHTML=`${m}`},(a+1)*r)}}clearPreviousIntervals(){this.globalIntervals.forEach(clearInterval),this.globalIntervals=[]}runIncrementalAnimation(e){let t=performance.now(),r=a=>{let c=Math.min((a-t)/this.savingsBarConfig.animationDuration,1);this.numberSlot.nativeElement.innerHTML=Math.floor(e*c).toString(),c<1&&requestAnimationFrame(r)};requestAnimationFrame(r)}runAnimation(e){this.savingsBarConfig.animation==="SLOT_MACHINE"?this.runSlotMachineAnimation(e):this.savingsBarConfig.animation==="INCREMENTAL"&&this.runIncrementalAnimation(Number(e))}static \u0275fac=function(t){return new(t||o)};static \u0275cmp=z({type:o,selectors:[["cooee-savings-bar"]],viewQuery:function(t,r){if(t&1&&He(pn,5),t&2){let a;je(a=$e())&&(r.numberSlot=a.first)}},features:[U],decls:6,vars:2,consts:[["numberVariable",""],[1,"container"],[1,"icon"],[1,"primary-text",3,"innerHTML"],[1,"counter-text"],[1,"final-text",3,"innerHTML"]],template:function(t,r){t&1&&(Ne(0,"div",1),Te(1,"div",2)(2,"div",3)(3,"div",4,0)(5,"div",5),Be()),t&2&&(S(2),ue("innerHTML",r.textParts().start,ae),S(3),ue("innerHTML",r.textParts().end,ae))},styles:[`:host{display:block}.container{white-space:pre;display:flex;justify-content:center;align-items:center;background-color:rgba(var(--lc-primary-button-bg-color, 0 162 81));color:rgba(var(--lc-primary-button-color, 255 255 255));padding:8px;border-radius:4px 4px 0 0;overflow:hidden}.container .icon{background-image:var(--lc-discount-icon, url(https://img.icons8.com/ios-glyphs/30/FFFFFF/discount--v1.png));background-position:center;background-size:cover;height:20px;width:20px;margin-right:2px}
`],encapsulation:3})};var yt=class o extends fe{item;data=re(wi);dialogRef=re(_i);ItemDetailLayout=Vi;constructor(){super(),this.triggerContext=this.data.triggerContext,this.item=this.data.item}close(){this.dialogRef.close()}engagementTriggerReceived(e){}update(){}static \u0275fac=function(t){return new(t||o)};static \u0275cmp=z({type:o,selectors:[["cooee-item-quick-view"]],features:[ne(oe()),U],decls:1,vars:2,consts:[[3,"closeClick","item","layout"]],template:function(t,r){t&1&&(k(0,"cooee-item-detail",0),H("closeClick",function(){return r.close()}),D()),t&2&&B("item",r.item)("layout",r.ItemDetailLayout.TWO_PANE)},dependencies:[Pi],styles:[`:host{display:flex;align-items:center;justify-content:center;height:100%}@media (min-width: 768px){cooee-item-detail{max-width:900px;max-height:80vh;border-radius:var(--lc-card-radius)}}
`],encapsulation:3})};var Ct=class o{dialog=re(pt);dialogRef;constructor(){}showItemQuickView(e,t){this.dialogRef=this.dialog.open(yt,{width:"100vw",height:"100dvh",backdropClass:["letscooee-backdrop"],data:{item:t,triggerContext:e}})}static \u0275fac=function(t){return new(t||o)};static \u0275prov=jt({token:o,factory:o.\u0275fac,providedIn:"root"})};var un=(o,e)=>({enter:o,exit:e});function mn(o,e){if(o&1&&(k(0,"div",7),ce(1),D(),k(2,"div",8),ce(3),D()),o&2){let t=V(2);S(),ze(" ",t.getCurrency(t.selectedVariant().price.cmp)," "),S(2),ze(" ",t.getDiscountPercentage(t.selectedVariant().price),"% off ")}}function fn(o,e){if(o&1&&(k(0,"div",6),ce(1),D()),o&2){let t=V(2);S(),ze(" ",t.stickyATCConfig.leftText," ")}}function gn(o,e){if(o&1&&(k(0,"div",1)(1,"div",5),ce(2),D(),j(3,mn,4,2),j(4,fn,2,1,"div",6),D()),o&2){let t=V();S(2),ze(" ",t.getCurrency(t.selectedVariant().price.d)," "),S(),$(t.selectedVariant().price.cmp?3:-1),S(),$(t.stickyATCConfig.leftText?4:-1)}}function hn(o,e){if(o&1&&(k(0,"div",9),ce(1),D()),o&2){let t=e.$implicit,r=e.$index;V(2);let a=ie(5);B("ngClass",si(2,un,r===a.currentIndex,r===a.previousIndex)),S(),ze(" ",t," ")}}function vn(o,e){if(o&1&&(k(0,"div",4),we(1,hn,2,5,"div",9,ti),D()),o&2){V();let t=ie(5);S(),Ve(t.features)}}var xt=class o extends fe{currentItem;stickyATCConfig;selectedVariant=_e(void 0);featureSlider=_e({features:[],currentIndex:0});constructor(){super()}onVariantChange(e){this.currentItem&&(this.currentItem.setSelectedVariantByID(e.detail.variantID),this.selectedVariant.set(this.currentItem.selectedOrFirstVariant.value))}engagementTriggerReceived(e){this.stickyATCConfig=e.stickyATCConfig??{},this.currentItem=e.items[0],this.selectedVariant.set(this.currentItem.vars[0]),this.stickyATCConfig.leftText=this.replaceVariables(this.stickyATCConfig.leftText),this.stickyATCConfig.rightText=this.replaceVariables(this.stickyATCConfig.rightText),this.startFeatureRotation()}update(){}getCurrency(e){return Ue(e)}getDiscountPercentage(e){return((e.cmp-e.d)/e.cmp*100).toFixed(0)}addToCart(){this.engagementService.executeCTA(tt.ADD_TO_CART,{item:this.currentItem})}startFeatureRotation(){if(!this.stickyATCConfig.rightText)return;let e=this.stickyATCConfig.rightText.split(`
`),t=e.length===1?null:setInterval(()=>{this.featureSlider.update(r=>Ot(ye({},r),{previousIndex:r.currentIndex,currentIndex:(r.currentIndex+1)%r.features.length}))},3e3);this.featureSlider.set({intervalRef:t,currentIndex:0,features:e})}replaceVariables(e){return e?We(e,this.currentItem.getTemplateVariables(),this.triggerContext):""}static \u0275fac=function(t){return new(t||o)};static \u0275cmp=z({type:o,selectors:[["cooee-sticky-atc"]],hostBindings:function(t,r){t&1&&H("letscooee:variant-change",function(c){return r.onVariantChange(c)},Zt)},features:[ne(oe()),U],decls:7,vars:3,consts:[[1,"lc-wrapper"],[1,"lc-prices"],[1,"lc-button-wrapper"],["type","button",1,"lc-button","lc-button-atc",3,"click"],[1,"lc-features"],[1,"lc-sale-price"],[1,"lc-additional-text"],[1,"lc-compare-price"],[1,"lc-discount-label"],[1,"lc-feature",3,"ngClass"]],template:function(t,r){if(t&1){let a=te();k(0,"div",0),j(1,gn,5,3,"div",1),k(2,"div",2)(3,"button",3),H("click",function(){return O(a),L(r.addToCart())}),ce(4,"Add To Cart"),D(),et(5),j(6,vn,3,0,"div",4),D()()}if(t&2){S(),$(r.selectedVariant()&&r.stickyATCConfig.showProductInfo?1:-1),S(4);let a=Ee(r.featureSlider());S(),$(a.features.length?6:-1)}},dependencies:[ct],styles:[`:host{display:flex;justify-content:center;padding:10px;background-color:#fff;width:100%;box-shadow:4px 0 10px #0006;line-height:normal}.lc-wrapper{display:flex;justify-content:space-between;align-items:center;gap:8px;max-width:1100px;width:100%}.lc-prices{flex:1 1 100%;display:flex;flex-wrap:wrap;align-items:center;gap:6px}@media (min-width: 768px){.lc-prices{gap:8px}}.lc-sale-price{font-size:24px;font-weight:600}.lc-compare-price{font-size:18px;font-weight:600;color:red;text-decoration:line-through}.lc-discount-label{font-size:12px;font-weight:500;color:green}.lc-button-wrapper{flex:1 1 100%;display:flex;flex-direction:column;gap:4px;align-items:center}.lc-button{background-color:#000;color:#fff;opacity:1;pointer-events:auto;border-radius:4px;min-width:150px;width:100%;padding:8px}.lc-additional-text,.lc-feature{font-size:12px;color:#666}.lc-features{position:relative;overflow:hidden;height:16px;text-align:center;width:100%}.lc-features .lc-feature{position:absolute;width:100%;opacity:0;transform:translateY(100%);transition:transform .5s ease,opacity .5s ease}.lc-features .lc-feature.enter{opacity:1;transform:translateY(0);z-index:2}.lc-features .lc-feature.exit{opacity:0;transform:translateY(-100%);z-index:1}
`],encapsulation:3})};var Cn=["videoEl"];async function zi(){return(await import("./video-detail-dialog.component-3DAYDQHR.js")).VideoDetailDialogComponent}var Ie=class o extends fe{videoElements;videos;videoConfig;dialogRef=null;dialog=re(pt);isMobile=Ei();pausedVideos=[];videoLoadingStates=new Map;intersectionObserver;visibleVideos=new Set;constructor(){super(),zi()}ngAfterViewInit(){this.checkAndOpenVideoFromUrl()}ngOnDestroy(){super.ngOnDestroy(),this.intersectionObserver?.disconnect()}engagementTriggerReceived(e){this.videoConfig=e.content?.videoConfig,this.videos=this.videoConfig.videos}onMuteToggled(e,t){e||this.videoElements.forEach(r=>{r.nativeElement!==t&&(r.nativeElement.muted=!0,r.nativeElement.pause())})}sendTriggerClicked(e,t){this.sendEvent("CE Trigger Clicked",{},e,t)}async onVideoTap(e,t,r,a,c){e?.stopPropagation(),e?.preventDefault();let f=t.items?.[0];if(this.sendTriggerClicked(t,f),this.videoConfig.footerContent==="NONE"){a&&(a.muted=!1,a.play(),this.onMuteToggled(!1,a));return}await this.openDialog(t,r,c)}sendEvent(e,t,r,a){let c=new gi(e,t,this.engagementTrigger);c.setVideos(r),a&&(c.items=[a.toEmbed()]),window.CooeeSDK.sendEvent(c)}onDialogClosed(){this.resumePlaylistVideos()}isVideoLoading(e){return this.videoLoadingStates.get(e)??!0}onVideoLoadStart(e){this.videoLoadingStates.set(e,!0)}onVideoCanPlay(e){this.videoLoadingStates.set(e,!1)}playVideo(e){e.play().catch(t=>{Y.error("Failed to play video:",t)})}setupIntersectionObserver(e=.5,t="50px"){this.intersectionObserver=new IntersectionObserver(r=>{r.forEach(a=>{let c=a.target,f=c.dataset.videoId;f&&(a.isIntersecting?(this.visibleVideos.add(f),this.handleVideoVisibilityChange(c,!0)):(this.visibleVideos.delete(f),this.handleVideoVisibilityChange(c,!1)))})},{threshold:e,rootMargin:t}),setTimeout(()=>{this.videoElements.forEach(r=>{this.intersectionObserver?.observe(r.nativeElement)})},100)}handleVideoVisibilityChange(e,t){t?this.onVideoBecameVisible(e):e.pause()}onVideoBecameVisible(e){this.playVideo(e)}pauseAllPlaylistVideos(){this.pausedVideos=[],this.videoElements.forEach(e=>{let t=e.nativeElement;t.paused||(this.pausedVideos.push(t),t.pause())})}resumePlaylistVideos(){this.pausedVideos.forEach(e=>{e.play().catch(()=>{})}),this.pausedVideos=[]}async checkAndOpenVideoFromUrl(){let e=Ai();if(!e||!this.videos)return;let t=Di();if(t.utm_campaign?.toLowerCase()!=="shoppable_video"||t.utm_source?.toLowerCase()!==ki)return;let r=this.videos.findIndex(a=>a.shortID===+e);if(r!==-1){let a=this.videos[r];await yi.set("muted",!0),await this.openDialog(a,r)}}async openDialog(e,t,r){await fi();let a={videos:this.videos,currentIndex:t,triggerContext:this.triggerContext,selectedItem:r};this.dialogRef&&this.dialogRef.close(),this.pauseAllPlaylistVideos();let c=await zi();this.dialogRef=this.dialog.open(c,{width:"100vw",height:"100vh",data:a,providers:hi(this.triggerContext,{video:e,index:t}),disableClose:!0});let f={videoID:e.id,videoIndex:t};this.sendEvent("CE Video Dialog Opened",{current:f},e),this.dialogRef.closed.subscribe(m=>{if(this.dialogRef=null,!m)return;let b=m.lastVideoDuration*1e3,A={videoID:m.lastVideo.id,videoIndex:m.lastVideoIndex,playedTillMS:b,playedTillPercent:b/m.lastVideo.durationMS};this.sendEvent("CE Video Dialog Closed",{current:A},m.lastVideo),this.onDialogClosed()})}static \u0275fac=function(t){return new(t||o)};static \u0275cmp=z({type:o,selectors:[["cooee-abstract-video"]],viewQuery:function(t,r){if(t&1&&He(Cn,5),t&2){let a;je(a=$e())&&(r.videoElements=a)}},features:[U],decls:0,vars:0,template:function(t,r){},encapsulation:2})};var Se=class o{video=St.required({alias:"cooeeVideoSources"});prioritySource=St("high");elementRef=re(Wt);constructor(){di(()=>{this.updateSources()})}updateSources(){let e=this.elementRef.nativeElement,t=this.video(),r=this.prioritySource();e.querySelectorAll("source").forEach(c=>c.remove()),r==="best"?(this.addSource(t.bestSource),this.addSource(t.highSource),this.addSource(t.lowSource)):r==="low"?(this.addSource(t.lowSource),this.addSource(t.highSource),this.addSource(t.bestSource)):(this.addSource(t.highSource),this.addSource(t.bestSource),this.addSource(t.lowSource)),this.addSource(t.m3u8Source),e.load()}addSource(e){if(!e)return;let t=document.createElement("source");t.src=e.url,t.type=e.mimeType,this.elementRef.nativeElement.appendChild(t)}static \u0275fac=function(t){return new(t||o)};static \u0275dir=Jt({type:o,selectors:[["video","cooeeVideoSources",""]],inputs:{video:[1,"cooeeVideoSources","video"],prioritySource:[1,"prioritySource"]}})};var xn=(o,e)=>e.id;function bn(o,e){if(o&1&&(se(0,"div",1),me(1,"safeHtml")),o&2){let t=V();B("innerHTML",Ce(1,1,t.videoConfig.heading),ae)}}function _n(o,e){o&1&&(k(0,"div",6),se(1,"div",12),D())}function wn(o,e){if(o&1){let t=te();k(0,"cooee-mute-toggle",13),H("toggled",function(a){O(t),V();let c=le(6),f=V();return L(f.onMuteToggled(a,c))}),D()}if(o&2){V();let t=le(6);B("muted",t.muted)("videoEl",t)}}function Vn(o,e){if(o&1){let t=te();k(0,"cooee-video-promoted-items",16),H("cardClick",function(a){O(t);let c=V(2),f=c.$implicit,m=c.$index,b=le(6),A=V();return L(A.onItemCardClick(a,f,m,b))}),D()}if(o&2){let t=V(2).$implicit;B("items",t.items)("centeredSlides",!1)}}function Tn(o,e){if(o&1){let t=te();k(0,"cooee-item-card",17),H("buttonClick",function(){O(t);let a=V(2),c=a.$implicit,f=a.$index,m=le(6),b=V();return L(b.addToCartClicked(null,c,f,m))})("click",function(){O(t);let a=V(2),c=a.$implicit,f=a.$index,m=le(6),b=ie(0),A=V();return L(A.onItemCardClick(b,c,f,m))}),D()}if(o&2){V(2);let t=ie(0);B("item",t)}}function En(o,e){if(o&1&&j(0,Vn,1,2,"cooee-video-promoted-items",14)(1,Tn,1,1,"cooee-item-card",15),o&2){let t=V().$implicit,r=V(),c=ie(2)===r.VideoConfigFooterContent.ITEM_SWIPER;$(c&&t.items.length>1?0:t.items.length?1:-1)}}function In(o,e){if(o&1){let t=te();k(0,"cooee-video-card",18),H("linkClicked",function(){O(t);let a=V().$implicit,c=V();return L(c.sendTriggerClicked(a))}),D()}if(o&2){V();let t=ie(1);B("card",t)}}function Sn(o,e){if(o&1){let t=te();et(0)(1),k(2,"div",4)(3,"div",5),H("click",function(a){let c=O(t),f=c.$implicit,m=c.$index,b=le(6),A=V();return L(A.onVideoTap(a,f,m,b))})("keydown.enter",function(a){let c=O(t),f=c.$implicit,m=c.$index,b=le(6),A=V();return L(A.onVideoTap(a,f,m,b))})("keydown.space",function(a){let c=O(t),f=c.$implicit,m=c.$index,b=le(6),A=V();return L(A.onVideoTap(a,f,m,b))}),j(4,_n,2,0,"div",6),k(5,"video",7,0),H("mouseenter",function(){O(t);let a=le(6);V();let c=ie(1);return L(c&&a.play())})("mouseleave",function(){O(t);let a=le(6);V();let c=ie(1);return L(c&&a.pause())})("loadstart",function(){let a=O(t).$implicit,c=V();return L(c.onVideoLoadStart(a.id))})("canplay",function(){let a=O(t).$implicit,c=V();return L(c.onVideoCanPlay(a.id))}),D(),k(7,"div",8),j(8,wn,1,2,"cooee-mute-toggle",9),D()(),k(9,"div",10),j(10,En,2,1)(11,In,1,1,"cooee-video-card",11),D()()}if(o&2){let t=e.$implicit,r=V(),a=ie(0),c=ie(2);Ee(t.items[0]),S();let m=Ee(t.card)&&c===r.VideoConfigFooterContent.CARD;S(2),Xe("background-image",t.thumbnail?"url("+t.thumbnail+")":null),S(),$(r.isVideoLoading(t.id)?4:-1),S(),B("cooeeVideoSources",t)("muted",!0),Ke("preload",a?"metadata":"none")("autoplay",null)("data-video-id",t.id),S(3),$(r.videoConfig.showMuteButton?8:-1),S(2),$(r.videoConfig.showItems()?10:m?11:-1)}}var bt=class o extends Ie{VideoConfigFooterContent=Mt;VideoConfigAutoPlay=Mi;swiperOptions=null;constructor(){super(),this.hasSwiper=!0}ngAfterViewInit(){super.ngAfterViewInit();let e=this.videoConfig.playlistConfig.videoSwiper,t=e?(this.isMobile?e.gapSm:e.gap)+"px":window.cooeePlaylistGap??24,r=e?this.isMobile?e.maxInRowSm:e.maxInRow:"auto";this.swiperOptions={direction:"horizontal",effect:"slide",loop:e?.loop,freeMode:!0,spaceBetween:t,slidesPerView:r,mousewheel:{enab