@letscooee/web-sdk 14.7.2 → 14.8.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/{debugger.component-DvS19rlC-CrSK7T5g.js → debugger.component-Bpw9GcMW-BjHVM4f1.js} +1 -1
- package/dist/{esm-B-weSuzB-2SRzcKVK.js → esm-B-weSuzB-C6sptKNe.js} +1 -1
- package/dist/main.min.js +14 -14
- package/dist/{renderer-MU6fBs4p-CtnJ9stG.js → renderer-CyL__z3J-B6SzREjE.js} +2 -2
- package/dist/{share-dialog.component-BUJIID-N-anVjOrmU.js → share-dialog.component-lSH_p0p8-BbwKyHA8.js} +2 -2
- package/dist/{video-detail-dialog.component-Rh7rQQVk-3Vy1psNa.js → video-detail-dialog.component-BS3IDKfJ-Czh3BGS4.js} +4 -4
- package/dist/{widgets-DaHPpl2y-Pxhze3yY.js → widgets-DMgPBsGt-DXTadQ2l.js} +9 -9
- package/package.json +2 -2
package/dist/main.min.js
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
|
-
var __require=(x=>typeof require!==`undefined`?require:typeof Proxy!==`undefined`?new Proxy(x,{get:(a,b)=>(typeof require!==`undefined`?require:a)[b]}):x)(function(x){if(typeof require!==`undefined`)return require.apply(this,arguments);throw Error('Calling `require` for "'+x+"\" in an environment that doesn't expose the `require` function. See https://rolldown.rs/in-depth/bundling-cjs#require-external-modules for more details.")});var k$4=Object.create;var g=Object.defineProperty,l$
|
|
1
|
+
var __require=(x=>typeof require!==`undefined`?require:typeof Proxy!==`undefined`?new Proxy(x,{get:(a,b)=>(typeof require!==`undefined`?require:a)[b]}):x)(function(x){if(typeof require!==`undefined`)return require.apply(this,arguments);throw Error('Calling `require` for "'+x+"\" in an environment that doesn't expose the `require` function. See https://rolldown.rs/in-depth/bundling-cjs#require-external-modules for more details.")});var k$4=Object.create;var g=Object.defineProperty,l$4=Object.defineProperties,m$3=Object.getOwnPropertyDescriptor,n$1=Object.getOwnPropertyDescriptors,o=Object.getOwnPropertyNames,f=Object.getOwnPropertySymbols,p$1=Object.getPrototypeOf,h$3=Object.prototype.hasOwnProperty,j$4=Object.prototype.propertyIsEnumerable;var i$1=(a,b,c)=>b in a?g(a,b,{enumerable:true,configurable:true,writable:true,value:c}):a[b]=c,r$2=(a,b)=>{for(var c in b||={})h$3.call(b,c)&&i$1(a,c,b[c]);if(f)for(var c of f(b))j$4.call(b,c)&&i$1(a,c,b[c]);return a},s$3=(a,b)=>l$4(a,n$1(b));var t$1=(a=>typeof __require<`u`?__require:typeof Proxy<`u`?new Proxy(a,{get:(b,c)=>(typeof __require<`u`?__require:b)[c]}):a)(function(a){if(typeof __require<`u`)return __require.apply(this,arguments);throw Error(`Dynamic require of "`+a+`" is not supported`)});var u$1=(a,b)=>{var c={};for(var d in a)h$3.call(a,d)&&b.indexOf(d)<0&&(c[d]=a[d]);if(a!=null&&f)for(var d of f(a))b.indexOf(d)<0&&j$4.call(a,d)&&(c[d]=a[d]);return c};var v$1=(a,b)=>()=>(b||a((b={exports:{}}).exports,b),b.exports),w$4=(a,b)=>{for(var c in b)g(a,c,{get:b[c],enumerable:true});},q$3=(a,b,c,d)=>{if(b&&typeof b==`object`||typeof b==`function`)for(let e of o(b))!h$3.call(a,e)&&e!==c&&g(a,e,{get:()=>b[e],enumerable:!(d=m$3(b,e))||d.enumerable});return a};var x$4=(a,b,c)=>(c=a!=null?k$4(p$1(a)):{},q$3(!a||!a.__esModule?g(c,`default`,{value:a,enumerable:true}):c,a));
|
|
2
2
|
|
|
3
|
-
var lt$4=v$1((ft,Ve)=>{(function(s){if(typeof ft==`object`&&typeof Ve<`u`)Ve.exports=s();else if(typeof define==`function`&&define.amd)define([],s);else {var n;typeof window<`u`?n=window:typeof global<`u`?n=global:typeof self<`u`?n=self:n=this,n.localforage=s();}})(function(){return (function u(v,I,w){function R(T,V){if(!I[T]){if(!v[T]){var p=typeof t$1==`function`&&t$1;if(!V&&p)return p(T,true);if(b)return b(T,true);var _=new Error(`Cannot find module '`+T+`'`);throw _.code=`MODULE_NOT_FOUND`,_}var C=I[T]={exports:{}};v[T][0].call(C.exports,function(O){var j=v[T][1][O];return R(j||O)},C,C.exports,u,v,I,w);}return I[T].exports}for(var b=typeof t$1==`function`&&t$1,m=0;m<w.length;m++)R(w[m]);return R})({1:[function(u,v,I){(function(w){var R=w.MutationObserver||w.WebKitMutationObserver,b;if(R){var m=0,T=new R(O),V=w.document.createTextNode(``);T.observe(V,{characterData:true}),b=function(){V.data=m=++m%2;};}else if(!w.setImmediate&&typeof w.MessageChannel<`u`){var p=new w.MessageChannel;p.port1.onmessage=O,b=function(){p.port2.postMessage(0);};}else `document`in w&&`onreadystatechange`in w.document.createElement(`script`)?b=function(){var M=w.document.createElement(`script`);M.onreadystatechange=function(){O(),M.onreadystatechange=null,M.parentNode.removeChild(M),M=null;},w.document.documentElement.appendChild(M);}:b=function(){setTimeout(O,0);};var _,C=[];function O(){_=true;for(var M,z,F=C.length;F;){for(z=C,C=[],M=-1;++M<F;)z[M]();F=C.length;}_=false;}v.exports=j;function j(M){C.push(M)===1&&!_&&b();}}).call(this,typeof global<`u`?global:typeof self<`u`?self:typeof window<`u`?window:{});},{}],2:[function(u,v,I){var w=u(1);function R(){}var b={},m=[`REJECTED`],T=[`FULFILLED`],V=[`PENDING`];v.exports=p;function p(y){if(typeof y!=`function`)throw new TypeError(`resolver must be a function`);this.state=V,this.queue=[],this.outcome=void 0,y!==R&&j(this,y);}p.prototype.catch=function(y){return this.then(null,y)},p.prototype.then=function(y,A){if(typeof y!=`function`&&this.state===T||typeof A!=`function`&&this.state===m)return this;var D=new this.constructor(R);if(this.state!==V)C(D,this.state===T?y:A,this.outcome);else this.queue.push(new _(D,y,A));return D};function _(y,A,D){this.promise=y,typeof A==`function`&&(this.onFulfilled=A,this.callFulfilled=this.otherCallFulfilled),typeof D==`function`&&(this.onRejected=D,this.callRejected=this.otherCallRejected);}_.prototype.callFulfilled=function(y){b.resolve(this.promise,y);},_.prototype.otherCallFulfilled=function(y){C(this.promise,this.onFulfilled,y);},_.prototype.callRejected=function(y){b.reject(this.promise,y);},_.prototype.otherCallRejected=function(y){C(this.promise,this.onRejected,y);};function C(y,A,D){w(function(){var L;try{L=A(D);}catch(k){return b.reject(y,k)}L===y?b.reject(y,new TypeError(`Cannot resolve promise with itself`)):b.resolve(y,L);});}b.resolve=function(y,A){var D=M(O,A);if(D.status===`error`)return b.reject(y,D.value);var L=D.value;if(L)j(y,L);else {y.state=T,y.outcome=A;for(var k=-1,U=y.queue.length;++k<U;)y.queue[k].callFulfilled(A);}return y},b.reject=function(y,A){y.state=m,y.outcome=A;for(var D=-1,L=y.queue.length;++D<L;)y.queue[D].callRejected(A);return y};function O(y){var A=y&&y.then;if(y&&(typeof y==`object`||typeof y==`function`)&&typeof A==`function`)return function(){A.apply(y,arguments);}}function j(y,A){var D=false;function L(G){D||(D=true,b.reject(y,G));}function k(G){D||(D=true,b.resolve(y,G));}function U(){A(k,L);}var $=M(U);$.status===`error`&&L($.value);}function M(y,A){var D={};try{D.value=y(A),D.status=`success`;}catch(L){D.status=`error`,D.value=L;}return D}p.resolve=z;function z(y){return y instanceof this?y:b.resolve(new this(R),y)}p.reject=F;function F(y){var A=new this(R);return b.reject(A,y)}p.all=Ie;function Ie(y){var A=this;if(Object.prototype.toString.call(y)!==`[object Array]`)return this.reject(new TypeError(`must be an array`));var D=y.length,L=false;if(!D)return this.resolve([]);for(var k=new Array(D),U=0,$=-1,G=new this(R);++$<D;)q(y[$],$);return G;function q(oe,le){A.resolve(oe).then(Se,function(ee){L||(L=true,b.reject(G,ee));});function Se(ee){k[le]=ee,++U===D&&!L&&(L=true,b.resolve(G,k));}}}p.race=Z;function Z(y){var A=this;if(Object.prototype.toString.call(y)!==`[object Array]`)return this.reject(new TypeError(`must be an array`));var D=y.length,L=false;if(!D)return this.resolve([]);for(var k=-1,U=new this(R);++k<D;)$(y[k]);return U;function $(G){A.resolve(G).then(function(q){L||(L=true,b.resolve(U,q));},function(q){L||(L=true,b.reject(U,q));});}}},{1:1}],3:[function(u,v,I){(function(w){typeof w.Promise!=`function`&&(w.Promise=u(2));}).call(this,typeof global<`u`?global:typeof self<`u`?self:typeof window<`u`?window:{});},{2:2}],4:[function(u,v,I){var w=typeof Symbol==`function`&&typeof Symbol.iterator==`symbol`?function(e){return typeof e}:function(e){return e&&typeof Symbol==`function`&&e.constructor===Symbol&&e!==Symbol.prototype?`symbol`:typeof e};function R(e,r){if(!(e instanceof r))throw new TypeError(`Cannot call a class as a function`)}function b(){try{if(typeof indexedDB<`u`)return indexedDB;if(typeof webkitIndexedDB<`u`)return webkitIndexedDB;if(typeof mozIndexedDB<`u`)return mozIndexedDB;if(typeof OIndexedDB<`u`)return OIndexedDB;if(typeof msIndexedDB<`u`)return msIndexedDB}catch{return}}var m=b();function T(){try{if(!m||!m.open)return !1;var e=typeof openDatabase<`u`&&/(Safari|iPhone|iPad|iPod)/.test(navigator.userAgent)&&!/Chrome/.test(navigator.userAgent)&&!/BlackBerry/.test(navigator.platform),r=typeof fetch==`function`&&fetch.toString().indexOf(`[native code`)!==-1;return (!e||r)&&typeof indexedDB<`u`&&typeof IDBKeyRange<`u`}catch{return false}}function V(e,r){e=e||[],r=r||{};try{return new Blob(e,r)}catch(o){if(o.name!==`TypeError`)throw o;for(var i=new(typeof BlobBuilder<`u`?BlobBuilder:typeof MSBlobBuilder<`u`?MSBlobBuilder:typeof MozBlobBuilder<`u`?MozBlobBuilder:WebKitBlobBuilder),a=0;a<e.length;a+=1)i.append(e[a]);return i.getBlob(r.type)}}typeof Promise>`u`&&u(3);var p=Promise;function _(e,r){r&&e.then(function(t){r(null,t);},function(t){r(t);});}function C(e,r,t){typeof r==`function`&&e.then(r),typeof t==`function`&&e.catch(t);}function O(e){return typeof e!=`string`&&(console.warn(e+` used as a key, but it is not a string.`),e=String(e)),e}function j(){if(arguments.length&&typeof arguments[arguments.length-1]==`function`)return arguments[arguments.length-1]}var M=`local-forage-detect-blob-support`,z=void 0,F={},Ie=Object.prototype.toString,Z=`readonly`,y=`readwrite`;function A(e){for(var r=e.length,t=new ArrayBuffer(r),i=new Uint8Array(t),a=0;a<r;a++)i[a]=e.charCodeAt(a);return t}function D(e){return new p(function(r){var t=e.transaction(M,y),i=V([``]);t.objectStore(M).put(i,`key`),t.onabort=function(a){a.preventDefault(),a.stopPropagation(),r(false);},t.oncomplete=function(){var a=navigator.userAgent.match(/Chrome\/(\d+)/);r(navigator.userAgent.match(/Edge\//)||!a||parseInt(a[1],10)>=43);};}).catch(function(){return false})}function L(e){return typeof z==`boolean`?p.resolve(z):D(e).then(function(r){return z=r,z})}function k(e){var r=F[e.name],t={};t.promise=new p(function(i,a){t.resolve=i,t.reject=a;}),r.deferredOperations.push(t),r.dbReady?r.dbReady=r.dbReady.then(function(){return t.promise}):r.dbReady=t.promise;}function U(e){var t=F[e.name].deferredOperations.pop();if(t)return t.resolve(),t.promise}function $(e,r){var i=F[e.name].deferredOperations.pop();if(i)return i.reject(r),i.promise}function G(e,r){return new p(function(t,i){if(F[e.name]=F[e.name]||$e(),e.db)if(r)k(e),e.db.close();else return t(e.db);var a=[e.name];r&&a.push(e.version);var o=m.open.apply(m,a);r&&(o.onupgradeneeded=function(c){var f=o.result;try{f.createObjectStore(e.storeName),c.oldVersion<=1&&f.createObjectStore(M);}catch(l){if(l.name===`ConstraintError`)console.warn(`The database "`+e.name+`" has been upgraded from version `+c.oldVersion+` to version `+c.newVersion+`, but the storage "`+e.storeName+`" already exists.`);else throw l}}),o.onerror=function(c){c.preventDefault(),i(o.error);},o.onsuccess=function(){var c=o.result;c.onversionchange=function(f){f.target.close();},t(c),U(e);};})}function q(e){return G(e,false)}function oe(e){return G(e,true)}function le(e,r){if(!e.db)return true;var t=!e.db.objectStoreNames.contains(e.storeName),i=e.version<e.db.version,a=e.version>e.db.version;if(i&&(e.version!==r&&console.warn(`The database "`+e.name+`" can't be downgraded from version `+e.db.version+` to version `+e.version+`.`),e.version=e.db.version),a||t){if(t){var o=e.db.version+1;o>e.version&&(e.version=o);}return true}return false}function Se(e){return new p(function(r,t){var i=new FileReader;i.onerror=t,i.onloadend=function(a){r({__local_forage_encoded_blob:true,data:btoa(a.target.result||``),type:e.type});},i.readAsBinaryString(e);})}function ee(e){return V([A(atob(e.data))],{type:e.type})}function We(e){return e&&e.__local_forage_encoded_blob}function Rt(e){var r=this,t=r._initReady().then(function(){var i=F[r._dbInfo.name];if(i&&i.dbReady)return i.dbReady});return C(t,e,e),t}function Ct(e){k(e);for(var r=F[e.name],t=r.forages,i=0;i<t.length;i++){var a=t[i];a._dbInfo.db&&(a._dbInfo.db.close(),a._dbInfo.db=null);}return e.db=null,q(e).then(function(o){return e.db=o,le(e)?oe(e):o}).then(function(o){e.db=r.db=o;for(var c=0;c<t.length;c++)t[c]._dbInfo.db=o;}).catch(function(o){throw $(e,o),o})}function K(e,r,t,i){i===void 0&&(i=1);try{t(null,e.db.transaction(e.storeName,r));}catch(o){if(i>0&&(!e.db||o.name===`InvalidStateError`||o.name===`NotFoundError`))return p.resolve().then(function(){if(!e.db||o.name===`NotFoundError`&&!e.db.objectStoreNames.contains(e.storeName)&&e.version<=e.db.version)return e.db&&(e.version=e.db.version+1),oe(e)}).then(function(){return Ct(e).then(function(){K(e,r,t,i-1);})}).catch(t);t(o);}}function $e(){return {forages:[],db:null,dbReady:null,deferredOperations:[]}}function At(e){var r=this,t={db:null};if(e)for(var i in e)t[i]=e[i];var a=F[t.name];a||(a=$e(),F[t.name]=a),a.forages.push(r),r._initReady||(r._initReady=r.ready,r.ready=Rt);var o=[];function c(){return p.resolve()}for(var f=0;f<a.forages.length;f++){var l=a.forages[f];l!==r&&o.push(l._initReady().catch(c));}var d=a.forages.slice(0);return p.all(o).then(function(){return t.db=a.db,q(t)}).then(function(g){return t.db=g,le(t,r._defaultConfig.version)?oe(t):g}).then(function(g){t.db=a.db=g,r._dbInfo=t;for(var E=0;E<d.length;E++){var S=d[E];S!==r&&(S._dbInfo.db=t.db,S._dbInfo.version=t.version);}})}function Nt(e,r){var t=this;e=O(e);var i=new p(function(a,o){t.ready().then(function(){K(t._dbInfo,Z,function(c,f){if(c)return o(c);try{var d=f.objectStore(t._dbInfo.storeName).get(e);d.onsuccess=function(){var g=d.result;g===void 0&&(g=null),We(g)&&(g=ee(g)),a(g);},d.onerror=function(){o(d.error);};}catch(g){o(g);}});}).catch(o);});return _(i,r),i}function xt(e,r){var t=this,i=new p(function(a,o){t.ready().then(function(){K(t._dbInfo,Z,function(c,f){if(c)return o(c);try{var d=f.objectStore(t._dbInfo.storeName).openCursor(),g=1;d.onsuccess=function(){var E=d.result;if(E){var S=E.value;We(S)&&(S=ee(S));var N=e(S,E.key,g++);N!==void 0?a(N):E.continue();}else a();},d.onerror=function(){o(d.error);};}catch(E){o(E);}});}).catch(o);});return _(i,r),i}function Lt(e,r,t){var i=this;e=O(e);var a=new p(function(o,c){var f;i.ready().then(function(){return f=i._dbInfo,Ie.call(r)===`[object Blob]`?L(f.db).then(function(l){return l?r:Se(r)}):r}).then(function(l){K(i._dbInfo,y,function(d,g){if(d)return c(d);try{var E=g.objectStore(i._dbInfo.storeName);l===null&&(l=void 0);var S=E.put(l,e);g.oncomplete=function(){l===void 0&&(l=null),o(l);},g.onabort=g.onerror=function(){c(S.error?S.error:S.transaction.error);};}catch(N){c(N);}});}).catch(c);});return _(a,t),a}function Ot(e,r){var t=this;e=O(e);var i=new p(function(a,o){t.ready().then(function(){K(t._dbInfo,y,function(c,f){if(c)return o(c);try{var d=f.objectStore(t._dbInfo.storeName).delete(e);f.oncomplete=function(){a();},f.onerror=function(){o(d.error);},f.onabort=function(){o(d.error?d.error:d.transaction.error);};}catch(g){o(g);}});}).catch(o);});return _(i,r),i}function Pt(e){var r=this,t=new p(function(i,a){r.ready().then(function(){K(r._dbInfo,y,function(o,c){if(o)return a(o);try{var l=c.objectStore(r._dbInfo.storeName).clear();c.oncomplete=function(){i();},c.onabort=c.onerror=function(){a(l.error?l.error:l.transaction.error);};}catch(d){a(d);}});}).catch(a);});return _(t,e),t}function Vt(e){var r=this,t=new p(function(i,a){r.ready().then(function(){K(r._dbInfo,Z,function(o,c){if(o)return a(o);try{var l=c.objectStore(r._dbInfo.storeName).count();l.onsuccess=function(){i(l.result);},l.onerror=function(){a(l.error);};}catch(d){a(d);}});}).catch(a);});return _(t,e),t}function Bt(e,r){var t=this,i=new p(function(a,o){if(e<0){a(null);return}t.ready().then(function(){K(t._dbInfo,Z,function(c,f){if(c)return o(c);try{var l=f.objectStore(t._dbInfo.storeName),d=!1,g=l.openKeyCursor();g.onsuccess=function(){var E=g.result;if(!E){a(null);return}e===0||d?a(E.key):(d=!0,E.advance(e));},g.onerror=function(){o(g.error);};}catch(E){o(E);}});}).catch(o);});return _(i,r),i}function Mt(e){var r=this,t=new p(function(i,a){r.ready().then(function(){K(r._dbInfo,Z,function(o,c){if(o)return a(o);try{var l=c.objectStore(r._dbInfo.storeName).openKeyCursor(),d=[];l.onsuccess=function(){var g=l.result;if(!g){i(d);return}d.push(g.key),g.continue();},l.onerror=function(){a(l.error);};}catch(g){a(g);}});}).catch(a);});return _(t,e),t}function Ft(e,r){r=j.apply(this,arguments);var t=this.config();e=typeof e!=`function`&&e||{},e.name||(e.name=e.name||t.name,e.storeName=e.storeName||t.storeName);var i=this,a;if(!e.name)a=p.reject(`Invalid arguments`);else {var c=e.name===t.name&&i._dbInfo.db?p.resolve(i._dbInfo.db):q(e).then(function(f){var l=F[e.name],d=l.forages;l.db=f;for(var g=0;g<d.length;g++)d[g]._dbInfo.db=f;return f});e.storeName?a=c.then(function(f){if(f.objectStoreNames.contains(e.storeName)){var l=f.version+1;k(e);var d=F[e.name],g=d.forages;f.close();for(var E=0;E<g.length;E++){var S=g[E];S._dbInfo.db=null,S._dbInfo.version=l;}return new p(function(x,B){var P=m.open(e.name,l);P.onerror=function(H){P.result.close(),B(H);},P.onupgradeneeded=function(){P.result.deleteObjectStore(e.storeName);},P.onsuccess=function(){var H=P.result;H.close(),x(H);};}).then(function(x){d.db=x;for(var B=0;B<g.length;B++){var P=g[B];P._dbInfo.db=x,U(P._dbInfo);}}).catch(function(x){throw ($(e,x)||p.resolve()).catch(function(){}),x})}}):a=c.then(function(f){k(e);var l=F[e.name],d=l.forages;f.close();for(var g=0;g<d.length;g++){var E=d[g];E._dbInfo.db=null;}return new p(function(N,x){var B=m.deleteDatabase(e.name);B.onerror=function(){var P=B.result;P&&P.close(),x(B.error);},B.onblocked=function(){console.warn(`dropInstance blocked for database "`+e.name+`" until all open connections are closed`);},B.onsuccess=function(){var P=B.result;P&&P.close(),N(P);};}).then(function(N){l.db=N;for(var x=0;x<d.length;x++){var B=d[x];U(B._dbInfo);}}).catch(function(N){throw ($(e,N)||p.resolve()).catch(function(){}),N})});}return _(a,r),a}var kt={_driver:`asyncStorage`,_initStorage:At,_support:T(),iterate:xt,getItem:Nt,setItem:Lt,removeItem:Ot,clear:Pt,length:Vt,key:Bt,keys:Mt,dropInstance:Ft};function Ut(){return typeof openDatabase==`function`}var X=`ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/`,Wt=`~~local_forage_type~`,Ge=/^~~local_forage_type~([^~]+)~/,de=`__lfsc__:`,De=de.length,Re=`arbf`,Ce=`blob`,He=`si08`,Ye=`ui08`,je=`uic8`,ze=`si16`,qe=`si32`,Ke=`ur16`,Xe=`ui32`,Je=`fl32`,Qe=`fl64`,Ze=De+Re.length,et=Object.prototype.toString;function tt(e){var r=e.length*.75,t=e.length,i,a=0,o,c,f,l;e[e.length-1]===`=`&&(r--,e[e.length-2]===`=`&&r--);var d=new ArrayBuffer(r),g=new Uint8Array(d);for(i=0;i<t;i+=4)o=X.indexOf(e[i]),c=X.indexOf(e[i+1]),f=X.indexOf(e[i+2]),l=X.indexOf(e[i+3]),g[a++]=o<<2|c>>4,g[a++]=(c&15)<<4|f>>2,g[a++]=(f&3)<<6|l&63;return d}function Ae(e){var r=new Uint8Array(e),t=``,i;for(i=0;i<r.length;i+=3)t+=X[r[i]>>2],t+=X[(r[i]&3)<<4|r[i+1]>>4],t+=X[(r[i+1]&15)<<2|r[i+2]>>6],t+=X[r[i+2]&63];return r.length%3===2?t=t.substring(0,t.length-1)+`=`:r.length%3===1&&(t=t.substring(0,t.length-2)+`==`),t}function $t(e,r){var t=``;if(e&&(t=et.call(e)),e&&(t===`[object ArrayBuffer]`||e.buffer&&et.call(e.buffer)===`[object ArrayBuffer]`)){var i,a=de;e instanceof ArrayBuffer?(i=e,a+=Re):(i=e.buffer,t===`[object Int8Array]`?a+=He:t===`[object Uint8Array]`?a+=Ye:t===`[object Uint8ClampedArray]`?a+=je:t===`[object Int16Array]`?a+=ze:t===`[object Uint16Array]`?a+=Ke:t===`[object Int32Array]`?a+=qe:t===`[object Uint32Array]`?a+=Xe:t===`[object Float32Array]`?a+=Je:t===`[object Float64Array]`?a+=Qe:r(new Error(`Failed to get type for BinaryArray`))),r(a+Ae(i));}else if(t===`[object Blob]`){var o=new FileReader;o.onload=function(){var c=Wt+e.type+`~`+Ae(this.result);r(de+Ce+c);},o.readAsArrayBuffer(e);}else try{r(JSON.stringify(e));}catch(c){console.error(`Couldn't convert value into a JSON string: `,e),r(null,c);}}function Gt(e){if(e.substring(0,De)!==de)return JSON.parse(e);var r=e.substring(Ze),t=e.substring(De,Ze),i;if(t===Ce&&Ge.test(r)){var a=r.match(Ge);i=a[1],r=r.substring(a[0].length);}var o=tt(r);switch(t){case Re:return o;case Ce:return V([o],{type:i});case He:return new Int8Array(o);case Ye:return new Uint8Array(o);case je:return new Uint8ClampedArray(o);case ze:return new Int16Array(o);case Ke:return new Uint16Array(o);case qe:return new Int32Array(o);case Xe:return new Uint32Array(o);case Je:return new Float32Array(o);case Qe:return new Float64Array(o);default:throw new Error(`Unkown type: `+t)}}var Ne={serialize:$t,deserialize:Gt,stringToBuffer:tt,bufferToString:Ae};function rt(e,r,t,i){e.executeSql(`CREATE TABLE IF NOT EXISTS `+r.storeName+` (id INTEGER PRIMARY KEY, key unique, value)`,[],t,i);}function Ht(e){var r=this,t={db:null};if(e)for(var i in e)t[i]=typeof e[i]!=`string`?e[i].toString():e[i];var a=new p(function(o,c){try{t.db=openDatabase(t.name,String(t.version),t.description,t.size);}catch(f){return c(f)}t.db.transaction(function(f){rt(f,t,function(){r._dbInfo=t,o();},function(l,d){c(d);});},c);});return t.serializer=Ne,a}function J(e,r,t,i,a,o){e.executeSql(t,i,a,function(c,f){f.code===f.SYNTAX_ERR?c.executeSql(`SELECT name FROM sqlite_master WHERE type='table' AND name = ?`,[r.storeName],function(l,d){d.rows.length?o(l,f):rt(l,r,function(){l.executeSql(t,i,a,o);},o);},o):o(c,f);},o);}function Yt(e,r){var t=this;e=O(e);var i=new p(function(a,o){t.ready().then(function(){var c=t._dbInfo;c.db.transaction(function(f){J(f,c,`SELECT * FROM `+c.storeName+` WHERE key = ? LIMIT 1`,[e],function(l,d){var g=d.rows.length?d.rows.item(0).value:null;g&&(g=c.serializer.deserialize(g)),a(g);},function(l,d){o(d);});});}).catch(o);});return _(i,r),i}function jt(e,r){var t=this,i=new p(function(a,o){t.ready().then(function(){var c=t._dbInfo;c.db.transaction(function(f){J(f,c,`SELECT * FROM `+c.storeName,[],function(l,d){for(var g=d.rows,E=g.length,S=0;S<E;S++){var N=g.item(S),x=N.value;if(x&&(x=c.serializer.deserialize(x)),x=e(x,N.key,S+1),x!==void 0){a(x);return}}a();},function(l,d){o(d);});});}).catch(o);});return _(i,r),i}function nt(e,r,t,i){var a=this;e=O(e);var o=new p(function(c,f){a.ready().then(function(){r===void 0&&(r=null);var l=r,d=a._dbInfo;d.serializer.serialize(r,function(g,E){E?f(E):d.db.transaction(function(S){J(S,d,`INSERT OR REPLACE INTO `+d.storeName+` (key, value) VALUES (?, ?)`,[e,g],function(){c(l);},function(N,x){f(x);});},function(S){if(S.code===S.QUOTA_ERR){if(i>0){c(nt.apply(a,[e,l,t,i-1]));return}f(S);}});});}).catch(f);});return _(o,t),o}function zt(e,r,t){return nt.apply(this,[e,r,t,1])}function qt(e,r){var t=this;e=O(e);var i=new p(function(a,o){t.ready().then(function(){var c=t._dbInfo;c.db.transaction(function(f){J(f,c,`DELETE FROM `+c.storeName+` WHERE key = ?`,[e],function(){a();},function(l,d){o(d);});});}).catch(o);});return _(i,r),i}function Kt(e){var r=this,t=new p(function(i,a){r.ready().then(function(){var o=r._dbInfo;o.db.transaction(function(c){J(c,o,`DELETE FROM `+o.storeName,[],function(){i();},function(f,l){a(l);});});}).catch(a);});return _(t,e),t}function Xt(e){var r=this,t=new p(function(i,a){r.ready().then(function(){var o=r._dbInfo;o.db.transaction(function(c){J(c,o,`SELECT COUNT(key) as c FROM `+o.storeName,[],function(f,l){var d=l.rows.item(0).c;i(d);},function(f,l){a(l);});});}).catch(a);});return _(t,e),t}function Jt(e,r){var t=this,i=new p(function(a,o){t.ready().then(function(){var c=t._dbInfo;c.db.transaction(function(f){J(f,c,`SELECT key FROM `+c.storeName+` WHERE id = ? LIMIT 1`,[e+1],function(l,d){a(d.rows.length?d.rows.item(0).key:null);},function(l,d){o(d);});});}).catch(o);});return _(i,r),i}function Qt(e){var r=this,t=new p(function(i,a){r.ready().then(function(){var o=r._dbInfo;o.db.transaction(function(c){J(c,o,`SELECT key FROM `+o.storeName,[],function(f,l){for(var d=[],g=0;g<l.rows.length;g++)d.push(l.rows.item(g).key);i(d);},function(f,l){a(l);});});}).catch(a);});return _(t,e),t}function Zt(e){return new p(function(r,t){e.transaction(function(i){i.executeSql(`SELECT name FROM sqlite_master WHERE type='table' AND name <> '__WebKitDatabaseInfoTable__'`,[],function(a,o){for(var c=[],f=0;f<o.rows.length;f++)c.push(o.rows.item(f).name);r({db:e,storeNames:c});},function(a,o){t(o);});},function(i){t(i);});})}function er(e,r){r=j.apply(this,arguments);var t=this.config();e=typeof e!=`function`&&e||{},e.name||(e.name=e.name||t.name,e.storeName=e.storeName||t.storeName);var i=this,a;return e.name?a=new p(function(o){var c;e.name===t.name?c=i._dbInfo.db:c=openDatabase(e.name,``,``,0),e.storeName?o({db:c,storeNames:[e.storeName]}):o(Zt(c));}).then(function(o){return new p(function(c,f){o.db.transaction(function(l){function d(N){return new p(function(x,B){l.executeSql(`DROP TABLE IF EXISTS `+N,[],function(){x();},function(P,H){B(H);});})}for(var g=[],E=0,S=o.storeNames.length;E<S;E++)g.push(d(o.storeNames[E]));p.all(g).then(function(){c();}).catch(function(N){f(N);});},function(l){f(l);});})}):a=p.reject(`Invalid arguments`),_(a,r),a}var tr={_driver:`webSQLStorage`,_initStorage:Ht,_support:Ut(),iterate:jt,getItem:Yt,setItem:zt,removeItem:qt,clear:Kt,length:Xt,key:Jt,keys:Qt,dropInstance:er};function rr(){try{return typeof localStorage<`u`&&`setItem`in localStorage&&!!localStorage.setItem}catch{return false}}function ot(e,r){var t=e.name+`/`;return e.storeName!==r.storeName&&(t+=e.storeName+`/`),t}function nr(){var e=`_localforage_support_test`;try{return localStorage.setItem(e,!0),localStorage.removeItem(e),!1}catch{return true}}function or(){return !nr()||localStorage.length>0}function ir(e){var r=this,t={};if(e)for(var i in e)t[i]=e[i];return t.keyPrefix=ot(e,r._defaultConfig),or()?(r._dbInfo=t,t.serializer=Ne,p.resolve()):p.reject()}function ar(e){var r=this,t=r.ready().then(function(){for(var i=r._dbInfo.keyPrefix,a=localStorage.length-1;a>=0;a--){var o=localStorage.key(a);o.indexOf(i)===0&&localStorage.removeItem(o);}});return _(t,e),t}function sr(e,r){var t=this;e=O(e);var i=t.ready().then(function(){var a=t._dbInfo,o=localStorage.getItem(a.keyPrefix+e);return o&&(o=a.serializer.deserialize(o)),o});return _(i,r),i}function ur(e,r){var t=this,i=t.ready().then(function(){for(var a=t._dbInfo,o=a.keyPrefix,c=o.length,f=localStorage.length,l=1,d=0;d<f;d++){var g=localStorage.key(d);if(g.indexOf(o)===0){var E=localStorage.getItem(g);if(E&&(E=a.serializer.deserialize(E)),E=e(E,g.substring(c),l++),E!==void 0)return E}}});return _(i,r),i}function cr(e,r){var t=this,i=t.ready().then(function(){var a=t._dbInfo,o;try{o=localStorage.key(e);}catch{o=null;}return o&&(o=o.substring(a.keyPrefix.length)),o});return _(i,r),i}function fr(e){var r=this,t=r.ready().then(function(){for(var i=r._dbInfo,a=localStorage.length,o=[],c=0;c<a;c++){var f=localStorage.key(c);f.indexOf(i.keyPrefix)===0&&o.push(f.substring(i.keyPrefix.length));}return o});return _(t,e),t}function lr(e){var t=this.keys().then(function(i){return i.length});return _(t,e),t}function dr(e,r){var t=this;e=O(e);var i=t.ready().then(function(){var a=t._dbInfo;localStorage.removeItem(a.keyPrefix+e);});return _(i,r),i}function mr(e,r,t){var i=this;e=O(e);var a=i.ready().then(function(){r===void 0&&(r=null);var o=r;return new p(function(c,f){var l=i._dbInfo;l.serializer.serialize(r,function(d,g){if(g)f(g);else try{localStorage.setItem(l.keyPrefix+e,d),c(o);}catch(E){(E.name===`QuotaExceededError`||E.name===`NS_ERROR_DOM_QUOTA_REACHED`)&&f(E),f(E);}});})});return _(a,t),a}function gr(e,r){if(r=j.apply(this,arguments),e=typeof e!=`function`&&e||{},!e.name){var t=this.config();e.name=e.name||t.name,e.storeName=e.storeName||t.storeName;}var i=this,a;return e.name?a=new p(function(o){e.storeName?o(ot(e,i._defaultConfig)):o(e.name+`/`);}).then(function(o){for(var c=localStorage.length-1;c>=0;c--){var f=localStorage.key(c);f.indexOf(o)===0&&localStorage.removeItem(f);}}):a=p.reject(`Invalid arguments`),_(a,r),a}var pr={_driver:`localStorageWrapper`,_initStorage:ir,_support:rr(),iterate:ur,getItem:sr,setItem:mr,removeItem:dr,clear:ar,length:lr,key:cr,keys:fr,dropInstance:gr},hr=function(r,t){return r===t||typeof r==`number`&&typeof t==`number`&&isNaN(r)&&isNaN(t)},vr=function(r,t){for(var i=r.length,a=0;a<i;){if(hr(r[a],t))return true;a++;}return false},it=Array.isArray||function(e){return Object.prototype.toString.call(e)===`[object Array]`},ie={},at={},te={INDEXEDDB:kt,WEBSQL:tr,LOCALSTORAGE:pr},yr=[te.INDEXEDDB._driver,te.WEBSQL._driver,te.LOCALSTORAGE._driver],me=[`dropInstance`],xe=[`clear`,`getItem`,`iterate`,`key`,`keys`,`length`,`removeItem`,`setItem`].concat(me),Er={description:``,driver:yr.slice(),name:`localforage`,size:4980736,storeName:`keyvaluepairs`,version:1};function _r(e,r){e[r]=function(){var t=arguments;return e.ready().then(function(){return e[r].apply(e,t)})};}function Le(){for(var e=1;e<arguments.length;e++){var r=arguments[e];if(r)for(var t in r)r.hasOwnProperty(t)&&(it(r[t])?arguments[0][t]=r[t].slice():arguments[0][t]=r[t]);}return arguments[0]}v.exports=new((function(){function e(r){R(this,e);for(var t in te)if(te.hasOwnProperty(t)){var i=te[t],a=i._driver;this[t]=a,ie[a]||this.defineDriver(i);}this._defaultConfig=Le({},Er),this._config=Le({},this._defaultConfig,r),this._driverSet=null,this._initDriver=null,this._ready=false,this._dbInfo=null,this._wrapLibraryMethodsWithReady(),this.setDriver(this._config.driver).catch(function(){});}return e.prototype.config=function(t){if((typeof t>`u`?`undefined`:w(t))===`object`){if(this._ready)return new Error(`Can't call config() after localforage has been used.`);for(var i in t){if(i===`storeName`&&(t[i]=t[i].replace(/\W/g,`_`)),i===`version`&&typeof t[i]!=`number`)return new Error(`Database version must be a number.`);this._config[i]=t[i];}return `driver`in t&&t.driver?this.setDriver(this._config.driver):true}else return typeof t==`string`?this._config[t]:this._config},e.prototype.defineDriver=function(t,i,a){var o=new p(function(c,f){try{var l=t._driver,d=new Error(`Custom driver not compliant; see https://mozilla.github.io/localForage/#definedriver`);if(!t._driver){f(d);return}for(var g=xe.concat(`_initStorage`),E=0,S=g.length;E<S;E++){var N=g[E];if((!vr(me,N)||t[N])&&typeof t[N]!=`function`){f(d);return}}var B=function(){for(var ae=function(Ir){return function(){var Sr=new Error(`Method `+Ir+` is not implemented by the current driver`),st=p.reject(Sr);return _(st,arguments[arguments.length-1]),st}},Oe=0,wr=me.length;Oe<wr;Oe++){var Pe=me[Oe];t[Pe]||(t[Pe]=ae(Pe));}};B();var P=function(ae){ie[l]&&console.info(`Redefining LocalForage driver: `+l),ie[l]=t,at[l]=ae,c();};`_support`in t?t._support&&typeof t._support==`function`?t._support().then(P,f):P(!!t._support):P(!0);}catch(H){f(H);}});return C(o,i,a),o},e.prototype.driver=function(){return this._driver||null},e.prototype.getDriver=function(t,i,a){var o=ie[t]?p.resolve(ie[t]):p.reject(new Error(`Driver not found.`));return C(o,i,a),o},e.prototype.getSerializer=function(t){var i=p.resolve(Ne);return C(i,t),i},e.prototype.ready=function(t){var i=this,a=i._driverSet.then(function(){return i._ready===null&&(i._ready=i._initDriver()),i._ready});return C(a,t,t),a},e.prototype.setDriver=function(t,i,a){var o=this;it(t)||(t=[t]);var c=this._getSupportedDrivers(t);function f(){o._config.driver=o.driver();}function l(E){return o._extend(E),f(),o._ready=o._initStorage(o._config),o._ready}function d(E){return function(){var S=0;function N(){for(;S<E.length;){var x=E[S];return S++,o._dbInfo=null,o._ready=null,o.getDriver(x).then(l).catch(N)}f();var B=new Error(`No available storage method found.`);return o._driverSet=p.reject(B),o._driverSet}return N()}}return this._driverSet=(this._driverSet!==null?this._driverSet.catch(function(){return p.resolve()}):p.resolve()).then(function(){var E=c[0];return o._dbInfo=null,o._ready=null,o.getDriver(E).then(function(S){o._driver=S._driver,f(),o._wrapLibraryMethodsWithReady(),o._initDriver=d(c);})}).catch(function(){f();var E=new Error(`No available storage method found.`);return o._driverSet=p.reject(E),o._driverSet}),C(this._driverSet,i,a),this._driverSet},e.prototype.supports=function(t){return !!at[t]},e.prototype._extend=function(t){Le(this,t);},e.prototype._getSupportedDrivers=function(t){for(var i=[],a=0,o=t.length;a<o;a++){var c=t[a];this.supports(c)&&i.push(c);}return i},e.prototype._wrapLibraryMethodsWithReady=function(){for(var t=0,i=xe.length;t<i;t++)_r(this,xe[t]);},e.prototype.createInstance=function(t){return new e(t)},e})());},{3:3}]},{},[4])(4)});});var St$3=v$1((It,we)=>{(function(s){var n={};n.VERSION=`1.6.1`;var h,u={},v=function(m,T){return function(){return T.apply(m,arguments)}},I=function(){var m=arguments,T=m[0],V,p;for(p=1;p<m.length;p++)for(V in m[p])!(V in T)&&m[p].hasOwnProperty(V)&&(T[V]=m[p][V]);return T},w=function(m,T){return {value:m,name:T}};n.TRACE=w(1,`TRACE`),n.DEBUG=w(2,`DEBUG`),n.INFO=w(3,`INFO`),n.TIME=w(4,`TIME`),n.WARN=w(5,`WARN`),n.ERROR=w(8,`ERROR`),n.OFF=w(99,`OFF`);var R=function(m){this.context=m,this.setLevel(m.filterLevel),this.log=this.info;};R.prototype={setLevel:function(m){m&&`value`in m&&(this.context.filterLevel=m);},getLevel:function(){return this.context.filterLevel},enabledFor:function(m){var T=this.context.filterLevel;return m.value>=T.value},trace:function(){this.invoke(n.TRACE,arguments);},debug:function(){this.invoke(n.DEBUG,arguments);},info:function(){this.invoke(n.INFO,arguments);},warn:function(){this.invoke(n.WARN,arguments);},error:function(){this.invoke(n.ERROR,arguments);},time:function(m){typeof m==`string`&&m.length>0&&this.invoke(n.TIME,[m,`start`]);},timeEnd:function(m){typeof m==`string`&&m.length>0&&this.invoke(n.TIME,[m,`end`]);},invoke:function(m,T){h&&this.enabledFor(m)&&h(T,I({level:m},this.context));}};var b=new R({filterLevel:n.OFF});((function(){var m=n;m.enabledFor=v(b,b.enabledFor),m.trace=v(b,b.trace),m.debug=v(b,b.debug),m.time=v(b,b.time),m.timeEnd=v(b,b.timeEnd),m.info=v(b,b.info),m.warn=v(b,b.warn),m.error=v(b,b.error),m.log=m.info;}))(),n.setHandler=function(m){h=m;},n.setLevel=function(m){b.setLevel(m);for(var T in u)u.hasOwnProperty(T)&&u[T].setLevel(m);},n.getLevel=function(){return b.getLevel()},n.get=function(m){return u[m]||(u[m]=new R(I({name:m},b.context)))},n.createDefaultHandler=function(m){m=m||{},m.formatter=m.formatter||function(_,C){C.name&&_.unshift(`[`+C.name+`]`);};var T={},V=function(p,_){Function.prototype.apply.call(p,console,_);};return typeof console>`u`?function(){}:function(p,_){p=Array.prototype.slice.call(p);var C=console.log,O;_.level===n.TIME?(O=(_.name?`[`+_.name+`] `:``)+p[0],p[1]===`start`?console.time?console.time(O):T[O]=new Date().getTime():console.timeEnd?console.timeEnd(O):V(C,[O+`: `+(new Date().getTime()-T[O])+`ms`])):(_.level===n.WARN&&console.warn?C=console.warn:_.level===n.ERROR&&console.error?C=console.error:_.level===n.INFO&&console.info?C=console.info:_.level===n.DEBUG&&console.debug?C=console.debug:_.level===n.TRACE&&console.trace&&(C=console.trace),m.formatter(p,_),V(C,p));}},n.useDefaults=function(m){n.setLevel(m&&m.defaultLevel||n.DEBUG),n.setHandler(n.createDefaultHandler(m));},n.setDefaults=n.useDefaults,typeof define==`function`&&define.amd?define(n):typeof we<`u`&&we.exports?we.exports=n:(n._prevLogger=s.Logger,n.noConflict=function(){return s.Logger=n._prevLogger,n},s.Logger=n);})(It);});var Be$3=x$4(lt$4());function ge$4(s){return Be$3.default.createInstance({name:`lc`,storeName:s,driver:Be$3.default.LOCALSTORAGE})}var re$4=class re{static storage;static async get(n,h){return await this.storage?.getItem(n)??h}static set(n,h){return this.storage?.setItem(n,h)}static remove(n){return this.storage?.removeItem(n)}static clear(){return this.storage?.clear()}static getForage(){return this.storage}};var ce$4=class ce extends re$4{static storeName=`usr`;static{this.storage=ge$4(this.storeName);}static getVisitorId(){return localStorage.getItem(`lc/${this.storeName}/vid`)}};var Me$1=`14.7.2`;var Cr$4=Me$1.split(`-`)[0].split(`.`).slice(0,3).map(s=>s.padStart(2,`0`)).join(``),Xr$4=`WEB`,dt$3=`CooeeSDK`,Q$3=Me$1,Jr$3=parseInt(Cr$4,10);var Qr$3=[`collection`,`product`,`cart`],Zr$3=[{identifier:`#flo-checkout-wrapper`,gateway:`Shopflow`},{identifier:`#fastrr-main-container`,gateway:`Shiprocket`},{identifier:`#gokwik-modal-wrapper`,gateway:`Gokwik`},{identifier:`#zecpe`,gateway:`Ecom 360`}],en=[`View Item`,`View Cart`,`View Collection`],tn=[`CE Screen View`,`View Collection`,`View Item`,`View Cart`],rn=`https://cdn.jsdelivr.net/npm/swiper@11`;var mt$4=`https://cdn.jsdelivr.net/npm/@letscooee/web-sdk@${Q$3}/dist`,fe$4={apiURL:`https://api.sdk.letscooee.com`,cdnApiURL:`https://cdn.sdk1.api.letscooee.com`,debug:false,mode:`production`,baseURL:mt$4,styleURL:`${mt$4}/styles.min.css`};var pe$4=class pe{static ISO_WITHOUT_MS_REGEX=new RegExp(/\d{4}-[01]\d-[0-3]\dT[0-2]\d:[0-5]\d:[0-5]\d([+-][0-2]\d:[0-5]\d|Z)/);static isObject(n){return typeof n==`object`&&!Array.isArray(n)&&n!==null}static parseToAny(n){try{return JSON.parse(n.toString())}catch{}return n.toString().match(this.ISO_WITHOUT_MS_REGEX)?new Date(n.toString()):n}static async sleep(n){return new Promise(h=>setTimeout(h,n))}static hasKeys(n){return n?Object.keys(n).length>=1:false}static convertObjectToArray(n,h){return h.reduce((u,v)=>(n.hasOwnProperty(v)&&n[v]!=null&&u.push({[v]:n[v]}),u),[])}static removeNullUndefinedKeys(n){return Object.keys(n).reduce((h,u)=>(n[u]!==null&&n[u]!==void 0&&(h[u]=n[u]),h),{})}static stringify(n){return JSON.stringify(n,function(h,u){return u===void 0?null:u})}};var he$4=class he{gaEnabled;gaMeasurementID;pixelPush;website;currencyCount;money;storefrontToken;skipItemAttribute;checkoutProvider;widgetCustomisation;currency;static get(){return window.CooeeSDK.config}update(n){return n??={},this.gaEnabled=n.gaEnabled,this.gaMeasurementID=n.gaMeasurementID,this.pixelPush=n.pixelPush,this.website=n.website??{},this.currencyCount=n.currencyCount??0,this.money=n.money,this.currency=n.currency,this.storefrontToken=n.storefrontToken,this.skipItemAttribute=n.skipItemAttribute,this.checkoutProvider=n.checkoutProvider,this.widgetCustomisation=n.widgetCustomisation,this}};var ve$4=class ve extends re$4{static storeName=`ses`;static{this.storage=ge$4(this.storeName);}};var gt$3=5,Ar$4=500,ne$3=class ne extends Error{request;response;status;requestBody;responseText;constructor(n){super(n),this.name=`FetchError`,Object.setPrototypeOf(this,new.target.prototype);}is40x(){return !!this.response&&this.response.status>=400&&this.response.status<500}};async function dn(s,n){let h=Date.now(),u;try{u=await Nr$4(s,n);}catch{}let v=u?new Request(u.url,{method:n?.method||`GET`}):new Request(s,n);if(!u||!u.ok){let m=`Failed to fetch`;u?.statusText&&(m+=`: ${u.statusText}`);let T=new ne$3(m);throw T.request=v,T.response=u?.clone(),T.status=u?.status,T.requestBody=n?.body,T.responseText=await pt$3(u),T}let I,w=(u.headers.get(`content-type`)||``).toLowerCase(),R=u.headers.get(`content-length`),b=n?.method?.toUpperCase()||`GET`;if(u.status===204||u.status===205||b===`HEAD`||R===`0`)I=void 0;else if(w.includes(`application/json`)||w.includes(`application/problem+json`)||w.includes(`text/javascript`))try{I=await u.clone().json();}catch(m){let T=new ne$3(`Failed to parse JSON response: ${m?.message}`);throw T.request=v,T.response=u.clone(),T.status=u.status,T.requestBody=n?.body,T.responseText=await pt$3(u),T}else w.includes(`text/`)||w.includes(`image/svg+xml`)?I=await u.text():I=await u.arrayBuffer();return {data:I,status:u.status,statusText:u.statusText,headers:u.headers,timeTakenMs:Date.now()-h,options:n,request:v}}async function Nr$4(s,n){let h=null,u;for(let v=0;v<=gt$3;v++){try{if(u=await fetch(s,n),u.ok||u.status>=400&&u.status<500)return u;h=new Error(`Server error: ${u.status} ${u.statusText}`);}catch(I){h=I instanceof Error?I:new Error(String(I));}if(v<gt$3){let I=Math.pow(2,v)*Ar$4;Y$2.info(`Request to ${s} failed. Retrying in ${I}ms...`),await new Promise(w=>setTimeout(w,I));}}if(u&&!u.ok)return u;throw h||new Error(`Request failed after retries`)}async function pt$3(s){if(s){try{return s=s.clone(),await s.json()}catch{}try{return await s.text()}catch{}}}var ye$3={},Ee$5,_e$3,vt$3,yt$2,ht$4;async function Et$3(){if(!_e$3)return ht$4??=xr$4(),ht$4}async function xr$4(){let{BrowserClient:s,Scope:n,defaultStackParser:h,getDefaultIntegrations:u,makeFetchTransport:v}=await import('./esm-B-weSuzB-2SRzcKVK.js');yt$2=n;_e$3=new s({dsn:`https://1bc3dda4c861f60cd6be1b67584f4bc6@o559187.ingest.us.sentry.io/4507626484203520`,transport:v,stackParser:h,integrations:u({}).filter(w=>![`BrowserApiErrors`,`Breadcrumbs`,`GlobalHandlers`].includes(w.name)),environment:fe$4.mode,release:`web-sdk@${Q$3}`,debug:fe$4.debug,sampleRate:.5}),_e$3.init();}function Fe$3(s,n,h){Y$2.error(`${n}:`,s),Et$3().then(()=>{let u=_t$4(h);if(u.setTag(`operation`,n),s instanceof ne$3){Lr$3(u,s,n);return}u.captureException(s);});}function En$1(s,n,h){Et$3().then(()=>{_t$4(h).captureMessage(s,n??`error`);});}function Lr$3(s,n,h){if(Or$4(s,n),n.response){let u=n.response,v=n.responseText;s.setTag(`error.message`,n.message),u.status!=null&&s.setTag(`http.status_code`,u.status),u.statusText&&s.setTag(`http.status_text`,u.statusText),v&&typeof v==`object`&&`error`in v&&(s.setTag(`http.error_code`,v.error.code),s.setTag(`http.error_message`,v.error.message)),s.setExtras({responseText:n.responseText,statusText:u.statusText,responseType:u.type,redirected:u.redirected,responseUrl:u.url,originalError:n.message}),s.captureMessage(`${h} failed with ${u.status}`,`error`);return}if(n.request){s.captureMessage(`No response was received for ${h}`,`error`);return}}function Or$4(s,n){let h=n.request;if(!h)return;s.setExtras({body:n.requestBody,headers:h.headers,method:h.method,url:h.url});let u=h.headers?.get(`Cooee-Retry-Attempt`);u!==null&&s.setTag(`retry.attempt`,u);}function _n(s){vt$3=s;}function bn(s,n){ye$3[s]=r$2(r$2({},ye$3[s]),n);}function Tn(s){Ee$5=r$2(r$2({},Ee$5),s);}function _t$4(s){s??={};let{extra:n,tags:h}=s,u=new yt$2;if(u.setClient(_e$3),u.setUser(vt$3),s.triggerContext&&!s.engagementTrigger&&(s.engagementTrigger=s.triggerContext.triggerData),s.engagementTrigger){let v=s.engagementTrigger;u.setTags({"engagement.id":v.engagementID,"engagement.short_id":v.shortID,"engagement.objective":v.objective,"engagement.delivery_type":v.onsiteDeliveryType,"engagement.content_id":v.contentID,"engagement.variation":v.variation,"engagement.currency":v.currency});}return n&&u.setExtras(n),h&&u.setTags(h),Ee$5&&u.setTags(Ee$5),Object.keys(ye$3).forEach(v=>{u.setContext(v,ye$3[v]);}),u.setTag(`language`,navigator.language),u.setTag(`timezone`,bt$1()),Pr$4(u),u}function Pr$4(s){window.Shopify&&(s.setTag(`shopify.shop`,window.Shopify.shop),s.setTag(`shopify.currency`,window.Shopify.currency?.active),s.setTag(`shopify.locale`,window.Shopify.locale),s.setTag(`theme.schema_name`,window.Shopify.theme?.schema_name),s.setTag(`theme.schema_version`,window.Shopify.theme?.schema_version));}var be$4=class be{static format(n,h){return h.replace(/{{\s*(\w+)\s*}}/,(v,I)=>{switch(I){case `amount`:return this.formatWithDelimiters(n,2);case `amount_no_decimals`:return this.formatWithDelimiters(n,0);case `amount_with_comma_separator`:return this.formatWithDelimiters(n,2,`.`,`,`);case `amount_no_decimals_with_comma_separator`:return this.formatWithDelimiters(n,0,`.`,`,`);case `amount_with_apostrophe_separator`:return this.formatWithDelimiters(n,2,`'`,`.`);case `amount_no_decimals_with_space_separator`:return this.formatWithDelimiters(n,0,` `);case `amount_with_space_separator`:return this.formatWithDelimiters(n,2,` `,`,`);case `amount_with_period_and_space_separator`:return this.formatWithDelimiters(n,2,` `,`.`);default:return v}})}static formatWithDelimiters(n,h=2,u=`,`,v=`.`){if(isNaN(n)||n==null)return `0`;let w=(n/100).toFixed(h).split(`.`);return w[0].replace(/(\d)(?=(\d\d\d)+(?!\d))/g,`$1`+u)+(w[1]?v+w[1]:``)}};function Dn(s){return `(\u23F0 took: ${ke$1(s)})`}function ke$1(s){if(s<0)return `${s}ms`;let n=new Date(Date.UTC(0,0,0,0,0,0,s)),h=[];return n.getUTCMinutes()&&h.push(n.getUTCMinutes()+`m`),n.getUTCSeconds()&&h.push(n.getUTCSeconds()+`s`),n.getUTCMilliseconds()&&h.push(n.getUTCMilliseconds()+`ms`),h.length||h.push(`0ms`),h.join(` `)}function Ue$1(){return window.CooeeSDK.runtimeData}function An(){return ke$1(Date.now()-Ue$1().sdkLoadTime.getTime())}function Un(s){try{return new URL(s)}catch{return}}function Wn$1(s){return !s||s===`null`||s===`undefined`}function $n$1(s,n){let h=s.indexOf(n);return h===-1?false:(s.splice(h,1),true)}function Gn$1(s,n,h){return {[s]:Vr$4(n,h),[s+`_wo_currency`]:n}}function Vr$4(s,n){if(s==0&&n)return `Free`;let h=Ue$1(),u=he$4.get(),v=h.shopCurrencyCode||u.currency,I=h.currencyCode;I||Y$2.warn(`Currency code is not set in RuntimeData`);let w=u.money?.format??h.moneyFormat,R;if(w&&v===I&&!u.money?.auto)R=be$4.format(s*100,w);else {let b={style:`currency`,currency:I||v,minimumFractionDigits:2,maximumFractionDigits:2,trailingZeroDisplay:`stripIfInteger`},m;try{m=new Intl.NumberFormat(Tt$1(),b);}catch(T){return Fe$3(T,`format-currency`,{extra:{currentCurrency:I,shopCurrency:v}}),``}R=m.format(s),R=R.replace(`₹`,`Rs. `),u.money?.showCurrency&&I!==`INR`&&(R=R.concat(` ${I}`));}return R}function Hn$1(s){let n=Tt$1();try{return new Intl.NumberFormat(n,{notation:`compact`}).format(s)}catch(h){return Fe$3(h,`format-number`,{extra:{lang:n,value:s}}),s.toString()}}function Tt$1(){let s=`en`;return typeof navigator<`u`&&(navigator.languages!==void 0&&navigator.languages.length>0?s=navigator.languages[0]:navigator.language&&(s=navigator.language)),s=s.split(`;`)[0],s=s.split(`-`)[0],s||`en`}var Te$2;function bt$1(){if(Te$2)return Te$2;try{return Te$2=Intl.DateTimeFormat().resolvedOptions().timeZone,Te$2}catch{return ``}}function wt$2(s){document.readyState!==`loading`?s():document.addEventListener(`DOMContentLoaded`,s);}function Yn$1(s){let n=document.createElement(`span`);n.id=`snackbar`,n.innerText=s,document.body.appendChild(n),n.className=`cooee-snackbar show`,setTimeout(()=>{n.classList.remove(`show`),document.body.removeChild(n);},5e3);}async function Br$4(s,n=7,h=document){let u=1,v=document.querySelectorAll(`nonexistent-tag`);for(;u<=n;){let I=Math.min(50*2**u,1e3);if(u>1&&await pe$4.sleep(I),v=h.querySelectorAll(s),v.length)return Y$2.verbose(`Attempt ${u}: ${v.length} elements found with ${s}`),v;Y$2.verbose(`Attempt ${u}: Elements not found with ${s}. Will retry after ${I}ms.`),u++;}return Y$2.verbose(`\u26A0\uFE0F Max attempts reached. Element not found with ${s}.`),v}async function jn$1(s,n=10,h=document){return (await Br$4(s,n,h)).item(0)}async function Mr$4(s){let[n,h,u]=await Promise.all([ce$4.get(`did`),ve$4.get(`id`,``),ce$4.get(`sessionNumber`,1)]),v={letscooee_did:n,letscooee_sid:h,letscooee_sn:`${u}`,__letscooee_time:new Date().toLocaleString()};return s&&(v.__letscooee_via=s),v}async function zn$1(s){let n=await Mr$4(s);return Object.entries(n).map(([h,u])=>({key:h,value:u.toString()}))}function qn$1(s,n,h,u=false){Object.defineProperty(s,n,{enumerable:false,configurable:false,writable:u,value:h});}function Kn$1(s){if(s%100>=11&&s%100<=13)return s+`th`;switch(s%10){case 1:return s+`st`;case 2:return s+`nd`;case 3:return s+`rd`;default:return s+`th`}}var W$2=x$4(St$3());var Y$2=class Y{static debuggerEl;static infoLogs=[];static log(...n){W$2.default.info(...n);}static verbose(...n){W$2.default.debug(...n);}static error(...n){W$2.default.error(...n);}static warn(...n){W$2.default.warn(...n);}static info(...n){W$2.default.info(...n),this.infoLogs.push({time:new Date,message:n.join(` `)}),this.addToDebugger();}static trace(...n){W$2.default.trace(...n);}static addToDebugger(){sessionStorage.cooeeDebug&&(this.debuggerEl=this.debuggerEl??document.querySelector(`cooee-debugger`),this.debuggerEl&&this.debuggerEl&&(this.debuggerEl.logs=[...this.infoLogs]));}};function eo$1(s=dt$3){W$2.default.useDefaults({formatter:function(n){n.unshift(`${s} (v${Q$3}):`);}}),Fr$2()&&(localStorage.cooeeLogLevel=`TRACE`),localStorage.cooeeLogLevel?W$2.default.setLevel(W$2.default[localStorage.cooeeLogLevel]):W$2.default.setLevel(W$2.default.OFF);}function Fr$2(){let s=Dt$2();return s===`1`||s===`on`}function Dt$2(){return new URL(location.href).searchParams?.get(`cooee-debug`)}function to$1(){let s=[`display: inline-block;`,`font-size: 14px;`,`background: linear-gradient(90deg, #d52dc8 25%, #2179e2 82%);`,`color: white;`,`padding: 4px;`,`border-radius: 4px;`].join(` `),n=`
|
|
3
|
+
var lt$4=v$1((ft,Ve)=>{(function(s){if(typeof ft==`object`&&typeof Ve<`u`)Ve.exports=s();else if(typeof define==`function`&&define.amd)define([],s);else {var n;typeof window<`u`?n=window:typeof global<`u`?n=global:typeof self<`u`?n=self:n=this,n.localforage=s();}})(function(){return (function u(v,I,w){function R(T,V){if(!I[T]){if(!v[T]){var p=typeof t$1==`function`&&t$1;if(!V&&p)return p(T,true);if(b)return b(T,true);var _=new Error(`Cannot find module '`+T+`'`);throw _.code=`MODULE_NOT_FOUND`,_}var C=I[T]={exports:{}};v[T][0].call(C.exports,function(O){var j=v[T][1][O];return R(j||O)},C,C.exports,u,v,I,w);}return I[T].exports}for(var b=typeof t$1==`function`&&t$1,m=0;m<w.length;m++)R(w[m]);return R})({1:[function(u,v,I){(function(w){var R=w.MutationObserver||w.WebKitMutationObserver,b;if(R){var m=0,T=new R(O),V=w.document.createTextNode(``);T.observe(V,{characterData:true}),b=function(){V.data=m=++m%2;};}else if(!w.setImmediate&&typeof w.MessageChannel<`u`){var p=new w.MessageChannel;p.port1.onmessage=O,b=function(){p.port2.postMessage(0);};}else `document`in w&&`onreadystatechange`in w.document.createElement(`script`)?b=function(){var M=w.document.createElement(`script`);M.onreadystatechange=function(){O(),M.onreadystatechange=null,M.parentNode.removeChild(M),M=null;},w.document.documentElement.appendChild(M);}:b=function(){setTimeout(O,0);};var _,C=[];function O(){_=true;for(var M,z,F=C.length;F;){for(z=C,C=[],M=-1;++M<F;)z[M]();F=C.length;}_=false;}v.exports=j;function j(M){C.push(M)===1&&!_&&b();}}).call(this,typeof global<`u`?global:typeof self<`u`?self:typeof window<`u`?window:{});},{}],2:[function(u,v,I){var w=u(1);function R(){}var b={},m=[`REJECTED`],T=[`FULFILLED`],V=[`PENDING`];v.exports=p;function p(y){if(typeof y!=`function`)throw new TypeError(`resolver must be a function`);this.state=V,this.queue=[],this.outcome=void 0,y!==R&&j(this,y);}p.prototype.catch=function(y){return this.then(null,y)},p.prototype.then=function(y,A){if(typeof y!=`function`&&this.state===T||typeof A!=`function`&&this.state===m)return this;var D=new this.constructor(R);if(this.state!==V)C(D,this.state===T?y:A,this.outcome);else this.queue.push(new _(D,y,A));return D};function _(y,A,D){this.promise=y,typeof A==`function`&&(this.onFulfilled=A,this.callFulfilled=this.otherCallFulfilled),typeof D==`function`&&(this.onRejected=D,this.callRejected=this.otherCallRejected);}_.prototype.callFulfilled=function(y){b.resolve(this.promise,y);},_.prototype.otherCallFulfilled=function(y){C(this.promise,this.onFulfilled,y);},_.prototype.callRejected=function(y){b.reject(this.promise,y);},_.prototype.otherCallRejected=function(y){C(this.promise,this.onRejected,y);};function C(y,A,D){w(function(){var L;try{L=A(D);}catch(k){return b.reject(y,k)}L===y?b.reject(y,new TypeError(`Cannot resolve promise with itself`)):b.resolve(y,L);});}b.resolve=function(y,A){var D=M(O,A);if(D.status===`error`)return b.reject(y,D.value);var L=D.value;if(L)j(y,L);else {y.state=T,y.outcome=A;for(var k=-1,U=y.queue.length;++k<U;)y.queue[k].callFulfilled(A);}return y},b.reject=function(y,A){y.state=m,y.outcome=A;for(var D=-1,L=y.queue.length;++D<L;)y.queue[D].callRejected(A);return y};function O(y){var A=y&&y.then;if(y&&(typeof y==`object`||typeof y==`function`)&&typeof A==`function`)return function(){A.apply(y,arguments);}}function j(y,A){var D=false;function L(G){D||(D=true,b.reject(y,G));}function k(G){D||(D=true,b.resolve(y,G));}function U(){A(k,L);}var $=M(U);$.status===`error`&&L($.value);}function M(y,A){var D={};try{D.value=y(A),D.status=`success`;}catch(L){D.status=`error`,D.value=L;}return D}p.resolve=z;function z(y){return y instanceof this?y:b.resolve(new this(R),y)}p.reject=F;function F(y){var A=new this(R);return b.reject(A,y)}p.all=Ie;function Ie(y){var A=this;if(Object.prototype.toString.call(y)!==`[object Array]`)return this.reject(new TypeError(`must be an array`));var D=y.length,L=false;if(!D)return this.resolve([]);for(var k=new Array(D),U=0,$=-1,G=new this(R);++$<D;)q(y[$],$);return G;function q(oe,le){A.resolve(oe).then(Se,function(ee){L||(L=true,b.reject(G,ee));});function Se(ee){k[le]=ee,++U===D&&!L&&(L=true,b.resolve(G,k));}}}p.race=Z;function Z(y){var A=this;if(Object.prototype.toString.call(y)!==`[object Array]`)return this.reject(new TypeError(`must be an array`));var D=y.length,L=false;if(!D)return this.resolve([]);for(var k=-1,U=new this(R);++k<D;)$(y[k]);return U;function $(G){A.resolve(G).then(function(q){L||(L=true,b.resolve(U,q));},function(q){L||(L=true,b.reject(U,q));});}}},{1:1}],3:[function(u,v,I){(function(w){typeof w.Promise!=`function`&&(w.Promise=u(2));}).call(this,typeof global<`u`?global:typeof self<`u`?self:typeof window<`u`?window:{});},{2:2}],4:[function(u,v,I){var w=typeof Symbol==`function`&&typeof Symbol.iterator==`symbol`?function(e){return typeof e}:function(e){return e&&typeof Symbol==`function`&&e.constructor===Symbol&&e!==Symbol.prototype?`symbol`:typeof e};function R(e,r){if(!(e instanceof r))throw new TypeError(`Cannot call a class as a function`)}function b(){try{if(typeof indexedDB<`u`)return indexedDB;if(typeof webkitIndexedDB<`u`)return webkitIndexedDB;if(typeof mozIndexedDB<`u`)return mozIndexedDB;if(typeof OIndexedDB<`u`)return OIndexedDB;if(typeof msIndexedDB<`u`)return msIndexedDB}catch{return}}var m=b();function T(){try{if(!m||!m.open)return !1;var e=typeof openDatabase<`u`&&/(Safari|iPhone|iPad|iPod)/.test(navigator.userAgent)&&!/Chrome/.test(navigator.userAgent)&&!/BlackBerry/.test(navigator.platform),r=typeof fetch==`function`&&fetch.toString().indexOf(`[native code`)!==-1;return (!e||r)&&typeof indexedDB<`u`&&typeof IDBKeyRange<`u`}catch{return false}}function V(e,r){e=e||[],r=r||{};try{return new Blob(e,r)}catch(o){if(o.name!==`TypeError`)throw o;for(var i=new(typeof BlobBuilder<`u`?BlobBuilder:typeof MSBlobBuilder<`u`?MSBlobBuilder:typeof MozBlobBuilder<`u`?MozBlobBuilder:WebKitBlobBuilder),a=0;a<e.length;a+=1)i.append(e[a]);return i.getBlob(r.type)}}typeof Promise>`u`&&u(3);var p=Promise;function _(e,r){r&&e.then(function(t){r(null,t);},function(t){r(t);});}function C(e,r,t){typeof r==`function`&&e.then(r),typeof t==`function`&&e.catch(t);}function O(e){return typeof e!=`string`&&(console.warn(e+` used as a key, but it is not a string.`),e=String(e)),e}function j(){if(arguments.length&&typeof arguments[arguments.length-1]==`function`)return arguments[arguments.length-1]}var M=`local-forage-detect-blob-support`,z=void 0,F={},Ie=Object.prototype.toString,Z=`readonly`,y=`readwrite`;function A(e){for(var r=e.length,t=new ArrayBuffer(r),i=new Uint8Array(t),a=0;a<r;a++)i[a]=e.charCodeAt(a);return t}function D(e){return new p(function(r){var t=e.transaction(M,y),i=V([``]);t.objectStore(M).put(i,`key`),t.onabort=function(a){a.preventDefault(),a.stopPropagation(),r(false);},t.oncomplete=function(){var a=navigator.userAgent.match(/Chrome\/(\d+)/);r(navigator.userAgent.match(/Edge\//)||!a||parseInt(a[1],10)>=43);};}).catch(function(){return false})}function L(e){return typeof z==`boolean`?p.resolve(z):D(e).then(function(r){return z=r,z})}function k(e){var r=F[e.name],t={};t.promise=new p(function(i,a){t.resolve=i,t.reject=a;}),r.deferredOperations.push(t),r.dbReady?r.dbReady=r.dbReady.then(function(){return t.promise}):r.dbReady=t.promise;}function U(e){var t=F[e.name].deferredOperations.pop();if(t)return t.resolve(),t.promise}function $(e,r){var i=F[e.name].deferredOperations.pop();if(i)return i.reject(r),i.promise}function G(e,r){return new p(function(t,i){if(F[e.name]=F[e.name]||$e(),e.db)if(r)k(e),e.db.close();else return t(e.db);var a=[e.name];r&&a.push(e.version);var o=m.open.apply(m,a);r&&(o.onupgradeneeded=function(c){var f=o.result;try{f.createObjectStore(e.storeName),c.oldVersion<=1&&f.createObjectStore(M);}catch(l){if(l.name===`ConstraintError`)console.warn(`The database "`+e.name+`" has been upgraded from version `+c.oldVersion+` to version `+c.newVersion+`, but the storage "`+e.storeName+`" already exists.`);else throw l}}),o.onerror=function(c){c.preventDefault(),i(o.error);},o.onsuccess=function(){var c=o.result;c.onversionchange=function(f){f.target.close();},t(c),U(e);};})}function q(e){return G(e,false)}function oe(e){return G(e,true)}function le(e,r){if(!e.db)return true;var t=!e.db.objectStoreNames.contains(e.storeName),i=e.version<e.db.version,a=e.version>e.db.version;if(i&&(e.version!==r&&console.warn(`The database "`+e.name+`" can't be downgraded from version `+e.db.version+` to version `+e.version+`.`),e.version=e.db.version),a||t){if(t){var o=e.db.version+1;o>e.version&&(e.version=o);}return true}return false}function Se(e){return new p(function(r,t){var i=new FileReader;i.onerror=t,i.onloadend=function(a){r({__local_forage_encoded_blob:true,data:btoa(a.target.result||``),type:e.type});},i.readAsBinaryString(e);})}function ee(e){return V([A(atob(e.data))],{type:e.type})}function We(e){return e&&e.__local_forage_encoded_blob}function Rt(e){var r=this,t=r._initReady().then(function(){var i=F[r._dbInfo.name];if(i&&i.dbReady)return i.dbReady});return C(t,e,e),t}function Ct(e){k(e);for(var r=F[e.name],t=r.forages,i=0;i<t.length;i++){var a=t[i];a._dbInfo.db&&(a._dbInfo.db.close(),a._dbInfo.db=null);}return e.db=null,q(e).then(function(o){return e.db=o,le(e)?oe(e):o}).then(function(o){e.db=r.db=o;for(var c=0;c<t.length;c++)t[c]._dbInfo.db=o;}).catch(function(o){throw $(e,o),o})}function K(e,r,t,i){i===void 0&&(i=1);try{t(null,e.db.transaction(e.storeName,r));}catch(o){if(i>0&&(!e.db||o.name===`InvalidStateError`||o.name===`NotFoundError`))return p.resolve().then(function(){if(!e.db||o.name===`NotFoundError`&&!e.db.objectStoreNames.contains(e.storeName)&&e.version<=e.db.version)return e.db&&(e.version=e.db.version+1),oe(e)}).then(function(){return Ct(e).then(function(){K(e,r,t,i-1);})}).catch(t);t(o);}}function $e(){return {forages:[],db:null,dbReady:null,deferredOperations:[]}}function At(e){var r=this,t={db:null};if(e)for(var i in e)t[i]=e[i];var a=F[t.name];a||(a=$e(),F[t.name]=a),a.forages.push(r),r._initReady||(r._initReady=r.ready,r.ready=Rt);var o=[];function c(){return p.resolve()}for(var f=0;f<a.forages.length;f++){var l=a.forages[f];l!==r&&o.push(l._initReady().catch(c));}var d=a.forages.slice(0);return p.all(o).then(function(){return t.db=a.db,q(t)}).then(function(g){return t.db=g,le(t,r._defaultConfig.version)?oe(t):g}).then(function(g){t.db=a.db=g,r._dbInfo=t;for(var E=0;E<d.length;E++){var S=d[E];S!==r&&(S._dbInfo.db=t.db,S._dbInfo.version=t.version);}})}function Nt(e,r){var t=this;e=O(e);var i=new p(function(a,o){t.ready().then(function(){K(t._dbInfo,Z,function(c,f){if(c)return o(c);try{var d=f.objectStore(t._dbInfo.storeName).get(e);d.onsuccess=function(){var g=d.result;g===void 0&&(g=null),We(g)&&(g=ee(g)),a(g);},d.onerror=function(){o(d.error);};}catch(g){o(g);}});}).catch(o);});return _(i,r),i}function xt(e,r){var t=this,i=new p(function(a,o){t.ready().then(function(){K(t._dbInfo,Z,function(c,f){if(c)return o(c);try{var d=f.objectStore(t._dbInfo.storeName).openCursor(),g=1;d.onsuccess=function(){var E=d.result;if(E){var S=E.value;We(S)&&(S=ee(S));var N=e(S,E.key,g++);N!==void 0?a(N):E.continue();}else a();},d.onerror=function(){o(d.error);};}catch(E){o(E);}});}).catch(o);});return _(i,r),i}function Lt(e,r,t){var i=this;e=O(e);var a=new p(function(o,c){var f;i.ready().then(function(){return f=i._dbInfo,Ie.call(r)===`[object Blob]`?L(f.db).then(function(l){return l?r:Se(r)}):r}).then(function(l){K(i._dbInfo,y,function(d,g){if(d)return c(d);try{var E=g.objectStore(i._dbInfo.storeName);l===null&&(l=void 0);var S=E.put(l,e);g.oncomplete=function(){l===void 0&&(l=null),o(l);},g.onabort=g.onerror=function(){c(S.error?S.error:S.transaction.error);};}catch(N){c(N);}});}).catch(c);});return _(a,t),a}function Ot(e,r){var t=this;e=O(e);var i=new p(function(a,o){t.ready().then(function(){K(t._dbInfo,y,function(c,f){if(c)return o(c);try{var d=f.objectStore(t._dbInfo.storeName).delete(e);f.oncomplete=function(){a();},f.onerror=function(){o(d.error);},f.onabort=function(){o(d.error?d.error:d.transaction.error);};}catch(g){o(g);}});}).catch(o);});return _(i,r),i}function Pt(e){var r=this,t=new p(function(i,a){r.ready().then(function(){K(r._dbInfo,y,function(o,c){if(o)return a(o);try{var l=c.objectStore(r._dbInfo.storeName).clear();c.oncomplete=function(){i();},c.onabort=c.onerror=function(){a(l.error?l.error:l.transaction.error);};}catch(d){a(d);}});}).catch(a);});return _(t,e),t}function Vt(e){var r=this,t=new p(function(i,a){r.ready().then(function(){K(r._dbInfo,Z,function(o,c){if(o)return a(o);try{var l=c.objectStore(r._dbInfo.storeName).count();l.onsuccess=function(){i(l.result);},l.onerror=function(){a(l.error);};}catch(d){a(d);}});}).catch(a);});return _(t,e),t}function Bt(e,r){var t=this,i=new p(function(a,o){if(e<0){a(null);return}t.ready().then(function(){K(t._dbInfo,Z,function(c,f){if(c)return o(c);try{var l=f.objectStore(t._dbInfo.storeName),d=!1,g=l.openKeyCursor();g.onsuccess=function(){var E=g.result;if(!E){a(null);return}e===0||d?a(E.key):(d=!0,E.advance(e));},g.onerror=function(){o(g.error);};}catch(E){o(E);}});}).catch(o);});return _(i,r),i}function Mt(e){var r=this,t=new p(function(i,a){r.ready().then(function(){K(r._dbInfo,Z,function(o,c){if(o)return a(o);try{var l=c.objectStore(r._dbInfo.storeName).openKeyCursor(),d=[];l.onsuccess=function(){var g=l.result;if(!g){i(d);return}d.push(g.key),g.continue();},l.onerror=function(){a(l.error);};}catch(g){a(g);}});}).catch(a);});return _(t,e),t}function Ft(e,r){r=j.apply(this,arguments);var t=this.config();e=typeof e!=`function`&&e||{},e.name||(e.name=e.name||t.name,e.storeName=e.storeName||t.storeName);var i=this,a;if(!e.name)a=p.reject(`Invalid arguments`);else {var c=e.name===t.name&&i._dbInfo.db?p.resolve(i._dbInfo.db):q(e).then(function(f){var l=F[e.name],d=l.forages;l.db=f;for(var g=0;g<d.length;g++)d[g]._dbInfo.db=f;return f});e.storeName?a=c.then(function(f){if(f.objectStoreNames.contains(e.storeName)){var l=f.version+1;k(e);var d=F[e.name],g=d.forages;f.close();for(var E=0;E<g.length;E++){var S=g[E];S._dbInfo.db=null,S._dbInfo.version=l;}return new p(function(x,B){var P=m.open(e.name,l);P.onerror=function(H){P.result.close(),B(H);},P.onupgradeneeded=function(){P.result.deleteObjectStore(e.storeName);},P.onsuccess=function(){var H=P.result;H.close(),x(H);};}).then(function(x){d.db=x;for(var B=0;B<g.length;B++){var P=g[B];P._dbInfo.db=x,U(P._dbInfo);}}).catch(function(x){throw ($(e,x)||p.resolve()).catch(function(){}),x})}}):a=c.then(function(f){k(e);var l=F[e.name],d=l.forages;f.close();for(var g=0;g<d.length;g++){var E=d[g];E._dbInfo.db=null;}return new p(function(N,x){var B=m.deleteDatabase(e.name);B.onerror=function(){var P=B.result;P&&P.close(),x(B.error);},B.onblocked=function(){console.warn(`dropInstance blocked for database "`+e.name+`" until all open connections are closed`);},B.onsuccess=function(){var P=B.result;P&&P.close(),N(P);};}).then(function(N){l.db=N;for(var x=0;x<d.length;x++){var B=d[x];U(B._dbInfo);}}).catch(function(N){throw ($(e,N)||p.resolve()).catch(function(){}),N})});}return _(a,r),a}var kt={_driver:`asyncStorage`,_initStorage:At,_support:T(),iterate:xt,getItem:Nt,setItem:Lt,removeItem:Ot,clear:Pt,length:Vt,key:Bt,keys:Mt,dropInstance:Ft};function Ut(){return typeof openDatabase==`function`}var X=`ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/`,Wt=`~~local_forage_type~`,Ge=/^~~local_forage_type~([^~]+)~/,de=`__lfsc__:`,De=de.length,Re=`arbf`,Ce=`blob`,He=`si08`,Ye=`ui08`,je=`uic8`,ze=`si16`,qe=`si32`,Ke=`ur16`,Xe=`ui32`,Je=`fl32`,Qe=`fl64`,Ze=De+Re.length,et=Object.prototype.toString;function tt(e){var r=e.length*.75,t=e.length,i,a=0,o,c,f,l;e[e.length-1]===`=`&&(r--,e[e.length-2]===`=`&&r--);var d=new ArrayBuffer(r),g=new Uint8Array(d);for(i=0;i<t;i+=4)o=X.indexOf(e[i]),c=X.indexOf(e[i+1]),f=X.indexOf(e[i+2]),l=X.indexOf(e[i+3]),g[a++]=o<<2|c>>4,g[a++]=(c&15)<<4|f>>2,g[a++]=(f&3)<<6|l&63;return d}function Ae(e){var r=new Uint8Array(e),t=``,i;for(i=0;i<r.length;i+=3)t+=X[r[i]>>2],t+=X[(r[i]&3)<<4|r[i+1]>>4],t+=X[(r[i+1]&15)<<2|r[i+2]>>6],t+=X[r[i+2]&63];return r.length%3===2?t=t.substring(0,t.length-1)+`=`:r.length%3===1&&(t=t.substring(0,t.length-2)+`==`),t}function $t(e,r){var t=``;if(e&&(t=et.call(e)),e&&(t===`[object ArrayBuffer]`||e.buffer&&et.call(e.buffer)===`[object ArrayBuffer]`)){var i,a=de;e instanceof ArrayBuffer?(i=e,a+=Re):(i=e.buffer,t===`[object Int8Array]`?a+=He:t===`[object Uint8Array]`?a+=Ye:t===`[object Uint8ClampedArray]`?a+=je:t===`[object Int16Array]`?a+=ze:t===`[object Uint16Array]`?a+=Ke:t===`[object Int32Array]`?a+=qe:t===`[object Uint32Array]`?a+=Xe:t===`[object Float32Array]`?a+=Je:t===`[object Float64Array]`?a+=Qe:r(new Error(`Failed to get type for BinaryArray`))),r(a+Ae(i));}else if(t===`[object Blob]`){var o=new FileReader;o.onload=function(){var c=Wt+e.type+`~`+Ae(this.result);r(de+Ce+c);},o.readAsArrayBuffer(e);}else try{r(JSON.stringify(e));}catch(c){console.error(`Couldn't convert value into a JSON string: `,e),r(null,c);}}function Gt(e){if(e.substring(0,De)!==de)return JSON.parse(e);var r=e.substring(Ze),t=e.substring(De,Ze),i;if(t===Ce&&Ge.test(r)){var a=r.match(Ge);i=a[1],r=r.substring(a[0].length);}var o=tt(r);switch(t){case Re:return o;case Ce:return V([o],{type:i});case He:return new Int8Array(o);case Ye:return new Uint8Array(o);case je:return new Uint8ClampedArray(o);case ze:return new Int16Array(o);case Ke:return new Uint16Array(o);case qe:return new Int32Array(o);case Xe:return new Uint32Array(o);case Je:return new Float32Array(o);case Qe:return new Float64Array(o);default:throw new Error(`Unkown type: `+t)}}var Ne={serialize:$t,deserialize:Gt,stringToBuffer:tt,bufferToString:Ae};function rt(e,r,t,i){e.executeSql(`CREATE TABLE IF NOT EXISTS `+r.storeName+` (id INTEGER PRIMARY KEY, key unique, value)`,[],t,i);}function Ht(e){var r=this,t={db:null};if(e)for(var i in e)t[i]=typeof e[i]!=`string`?e[i].toString():e[i];var a=new p(function(o,c){try{t.db=openDatabase(t.name,String(t.version),t.description,t.size);}catch(f){return c(f)}t.db.transaction(function(f){rt(f,t,function(){r._dbInfo=t,o();},function(l,d){c(d);});},c);});return t.serializer=Ne,a}function J(e,r,t,i,a,o){e.executeSql(t,i,a,function(c,f){f.code===f.SYNTAX_ERR?c.executeSql(`SELECT name FROM sqlite_master WHERE type='table' AND name = ?`,[r.storeName],function(l,d){d.rows.length?o(l,f):rt(l,r,function(){l.executeSql(t,i,a,o);},o);},o):o(c,f);},o);}function Yt(e,r){var t=this;e=O(e);var i=new p(function(a,o){t.ready().then(function(){var c=t._dbInfo;c.db.transaction(function(f){J(f,c,`SELECT * FROM `+c.storeName+` WHERE key = ? LIMIT 1`,[e],function(l,d){var g=d.rows.length?d.rows.item(0).value:null;g&&(g=c.serializer.deserialize(g)),a(g);},function(l,d){o(d);});});}).catch(o);});return _(i,r),i}function jt(e,r){var t=this,i=new p(function(a,o){t.ready().then(function(){var c=t._dbInfo;c.db.transaction(function(f){J(f,c,`SELECT * FROM `+c.storeName,[],function(l,d){for(var g=d.rows,E=g.length,S=0;S<E;S++){var N=g.item(S),x=N.value;if(x&&(x=c.serializer.deserialize(x)),x=e(x,N.key,S+1),x!==void 0){a(x);return}}a();},function(l,d){o(d);});});}).catch(o);});return _(i,r),i}function nt(e,r,t,i){var a=this;e=O(e);var o=new p(function(c,f){a.ready().then(function(){r===void 0&&(r=null);var l=r,d=a._dbInfo;d.serializer.serialize(r,function(g,E){E?f(E):d.db.transaction(function(S){J(S,d,`INSERT OR REPLACE INTO `+d.storeName+` (key, value) VALUES (?, ?)`,[e,g],function(){c(l);},function(N,x){f(x);});},function(S){if(S.code===S.QUOTA_ERR){if(i>0){c(nt.apply(a,[e,l,t,i-1]));return}f(S);}});});}).catch(f);});return _(o,t),o}function zt(e,r,t){return nt.apply(this,[e,r,t,1])}function qt(e,r){var t=this;e=O(e);var i=new p(function(a,o){t.ready().then(function(){var c=t._dbInfo;c.db.transaction(function(f){J(f,c,`DELETE FROM `+c.storeName+` WHERE key = ?`,[e],function(){a();},function(l,d){o(d);});});}).catch(o);});return _(i,r),i}function Kt(e){var r=this,t=new p(function(i,a){r.ready().then(function(){var o=r._dbInfo;o.db.transaction(function(c){J(c,o,`DELETE FROM `+o.storeName,[],function(){i();},function(f,l){a(l);});});}).catch(a);});return _(t,e),t}function Xt(e){var r=this,t=new p(function(i,a){r.ready().then(function(){var o=r._dbInfo;o.db.transaction(function(c){J(c,o,`SELECT COUNT(key) as c FROM `+o.storeName,[],function(f,l){var d=l.rows.item(0).c;i(d);},function(f,l){a(l);});});}).catch(a);});return _(t,e),t}function Jt(e,r){var t=this,i=new p(function(a,o){t.ready().then(function(){var c=t._dbInfo;c.db.transaction(function(f){J(f,c,`SELECT key FROM `+c.storeName+` WHERE id = ? LIMIT 1`,[e+1],function(l,d){a(d.rows.length?d.rows.item(0).key:null);},function(l,d){o(d);});});}).catch(o);});return _(i,r),i}function Qt(e){var r=this,t=new p(function(i,a){r.ready().then(function(){var o=r._dbInfo;o.db.transaction(function(c){J(c,o,`SELECT key FROM `+o.storeName,[],function(f,l){for(var d=[],g=0;g<l.rows.length;g++)d.push(l.rows.item(g).key);i(d);},function(f,l){a(l);});});}).catch(a);});return _(t,e),t}function Zt(e){return new p(function(r,t){e.transaction(function(i){i.executeSql(`SELECT name FROM sqlite_master WHERE type='table' AND name <> '__WebKitDatabaseInfoTable__'`,[],function(a,o){for(var c=[],f=0;f<o.rows.length;f++)c.push(o.rows.item(f).name);r({db:e,storeNames:c});},function(a,o){t(o);});},function(i){t(i);});})}function er(e,r){r=j.apply(this,arguments);var t=this.config();e=typeof e!=`function`&&e||{},e.name||(e.name=e.name||t.name,e.storeName=e.storeName||t.storeName);var i=this,a;return e.name?a=new p(function(o){var c;e.name===t.name?c=i._dbInfo.db:c=openDatabase(e.name,``,``,0),e.storeName?o({db:c,storeNames:[e.storeName]}):o(Zt(c));}).then(function(o){return new p(function(c,f){o.db.transaction(function(l){function d(N){return new p(function(x,B){l.executeSql(`DROP TABLE IF EXISTS `+N,[],function(){x();},function(P,H){B(H);});})}for(var g=[],E=0,S=o.storeNames.length;E<S;E++)g.push(d(o.storeNames[E]));p.all(g).then(function(){c();}).catch(function(N){f(N);});},function(l){f(l);});})}):a=p.reject(`Invalid arguments`),_(a,r),a}var tr={_driver:`webSQLStorage`,_initStorage:Ht,_support:Ut(),iterate:jt,getItem:Yt,setItem:zt,removeItem:qt,clear:Kt,length:Xt,key:Jt,keys:Qt,dropInstance:er};function rr(){try{return typeof localStorage<`u`&&`setItem`in localStorage&&!!localStorage.setItem}catch{return false}}function ot(e,r){var t=e.name+`/`;return e.storeName!==r.storeName&&(t+=e.storeName+`/`),t}function nr(){var e=`_localforage_support_test`;try{return localStorage.setItem(e,!0),localStorage.removeItem(e),!1}catch{return true}}function or(){return !nr()||localStorage.length>0}function ir(e){var r=this,t={};if(e)for(var i in e)t[i]=e[i];return t.keyPrefix=ot(e,r._defaultConfig),or()?(r._dbInfo=t,t.serializer=Ne,p.resolve()):p.reject()}function ar(e){var r=this,t=r.ready().then(function(){for(var i=r._dbInfo.keyPrefix,a=localStorage.length-1;a>=0;a--){var o=localStorage.key(a);o.indexOf(i)===0&&localStorage.removeItem(o);}});return _(t,e),t}function sr(e,r){var t=this;e=O(e);var i=t.ready().then(function(){var a=t._dbInfo,o=localStorage.getItem(a.keyPrefix+e);return o&&(o=a.serializer.deserialize(o)),o});return _(i,r),i}function ur(e,r){var t=this,i=t.ready().then(function(){for(var a=t._dbInfo,o=a.keyPrefix,c=o.length,f=localStorage.length,l=1,d=0;d<f;d++){var g=localStorage.key(d);if(g.indexOf(o)===0){var E=localStorage.getItem(g);if(E&&(E=a.serializer.deserialize(E)),E=e(E,g.substring(c),l++),E!==void 0)return E}}});return _(i,r),i}function cr(e,r){var t=this,i=t.ready().then(function(){var a=t._dbInfo,o;try{o=localStorage.key(e);}catch{o=null;}return o&&(o=o.substring(a.keyPrefix.length)),o});return _(i,r),i}function fr(e){var r=this,t=r.ready().then(function(){for(var i=r._dbInfo,a=localStorage.length,o=[],c=0;c<a;c++){var f=localStorage.key(c);f.indexOf(i.keyPrefix)===0&&o.push(f.substring(i.keyPrefix.length));}return o});return _(t,e),t}function lr(e){var t=this.keys().then(function(i){return i.length});return _(t,e),t}function dr(e,r){var t=this;e=O(e);var i=t.ready().then(function(){var a=t._dbInfo;localStorage.removeItem(a.keyPrefix+e);});return _(i,r),i}function mr(e,r,t){var i=this;e=O(e);var a=i.ready().then(function(){r===void 0&&(r=null);var o=r;return new p(function(c,f){var l=i._dbInfo;l.serializer.serialize(r,function(d,g){if(g)f(g);else try{localStorage.setItem(l.keyPrefix+e,d),c(o);}catch(E){(E.name===`QuotaExceededError`||E.name===`NS_ERROR_DOM_QUOTA_REACHED`)&&f(E),f(E);}});})});return _(a,t),a}function gr(e,r){if(r=j.apply(this,arguments),e=typeof e!=`function`&&e||{},!e.name){var t=this.config();e.name=e.name||t.name,e.storeName=e.storeName||t.storeName;}var i=this,a;return e.name?a=new p(function(o){e.storeName?o(ot(e,i._defaultConfig)):o(e.name+`/`);}).then(function(o){for(var c=localStorage.length-1;c>=0;c--){var f=localStorage.key(c);f.indexOf(o)===0&&localStorage.removeItem(f);}}):a=p.reject(`Invalid arguments`),_(a,r),a}var pr={_driver:`localStorageWrapper`,_initStorage:ir,_support:rr(),iterate:ur,getItem:sr,setItem:mr,removeItem:dr,clear:ar,length:lr,key:cr,keys:fr,dropInstance:gr},hr=function(r,t){return r===t||typeof r==`number`&&typeof t==`number`&&isNaN(r)&&isNaN(t)},vr=function(r,t){for(var i=r.length,a=0;a<i;){if(hr(r[a],t))return true;a++;}return false},it=Array.isArray||function(e){return Object.prototype.toString.call(e)===`[object Array]`},ie={},at={},te={INDEXEDDB:kt,WEBSQL:tr,LOCALSTORAGE:pr},yr=[te.INDEXEDDB._driver,te.WEBSQL._driver,te.LOCALSTORAGE._driver],me=[`dropInstance`],xe=[`clear`,`getItem`,`iterate`,`key`,`keys`,`length`,`removeItem`,`setItem`].concat(me),Er={description:``,driver:yr.slice(),name:`localforage`,size:4980736,storeName:`keyvaluepairs`,version:1};function _r(e,r){e[r]=function(){var t=arguments;return e.ready().then(function(){return e[r].apply(e,t)})};}function Le(){for(var e=1;e<arguments.length;e++){var r=arguments[e];if(r)for(var t in r)r.hasOwnProperty(t)&&(it(r[t])?arguments[0][t]=r[t].slice():arguments[0][t]=r[t]);}return arguments[0]}v.exports=new((function(){function e(r){R(this,e);for(var t in te)if(te.hasOwnProperty(t)){var i=te[t],a=i._driver;this[t]=a,ie[a]||this.defineDriver(i);}this._defaultConfig=Le({},Er),this._config=Le({},this._defaultConfig,r),this._driverSet=null,this._initDriver=null,this._ready=false,this._dbInfo=null,this._wrapLibraryMethodsWithReady(),this.setDriver(this._config.driver).catch(function(){});}return e.prototype.config=function(t){if((typeof t>`u`?`undefined`:w(t))===`object`){if(this._ready)return new Error(`Can't call config() after localforage has been used.`);for(var i in t){if(i===`storeName`&&(t[i]=t[i].replace(/\W/g,`_`)),i===`version`&&typeof t[i]!=`number`)return new Error(`Database version must be a number.`);this._config[i]=t[i];}return `driver`in t&&t.driver?this.setDriver(this._config.driver):true}else return typeof t==`string`?this._config[t]:this._config},e.prototype.defineDriver=function(t,i,a){var o=new p(function(c,f){try{var l=t._driver,d=new Error(`Custom driver not compliant; see https://mozilla.github.io/localForage/#definedriver`);if(!t._driver){f(d);return}for(var g=xe.concat(`_initStorage`),E=0,S=g.length;E<S;E++){var N=g[E];if((!vr(me,N)||t[N])&&typeof t[N]!=`function`){f(d);return}}var B=function(){for(var ae=function(Ir){return function(){var Sr=new Error(`Method `+Ir+` is not implemented by the current driver`),st=p.reject(Sr);return _(st,arguments[arguments.length-1]),st}},Oe=0,wr=me.length;Oe<wr;Oe++){var Pe=me[Oe];t[Pe]||(t[Pe]=ae(Pe));}};B();var P=function(ae){ie[l]&&console.info(`Redefining LocalForage driver: `+l),ie[l]=t,at[l]=ae,c();};`_support`in t?t._support&&typeof t._support==`function`?t._support().then(P,f):P(!!t._support):P(!0);}catch(H){f(H);}});return C(o,i,a),o},e.prototype.driver=function(){return this._driver||null},e.prototype.getDriver=function(t,i,a){var o=ie[t]?p.resolve(ie[t]):p.reject(new Error(`Driver not found.`));return C(o,i,a),o},e.prototype.getSerializer=function(t){var i=p.resolve(Ne);return C(i,t),i},e.prototype.ready=function(t){var i=this,a=i._driverSet.then(function(){return i._ready===null&&(i._ready=i._initDriver()),i._ready});return C(a,t,t),a},e.prototype.setDriver=function(t,i,a){var o=this;it(t)||(t=[t]);var c=this._getSupportedDrivers(t);function f(){o._config.driver=o.driver();}function l(E){return o._extend(E),f(),o._ready=o._initStorage(o._config),o._ready}function d(E){return function(){var S=0;function N(){for(;S<E.length;){var x=E[S];return S++,o._dbInfo=null,o._ready=null,o.getDriver(x).then(l).catch(N)}f();var B=new Error(`No available storage method found.`);return o._driverSet=p.reject(B),o._driverSet}return N()}}return this._driverSet=(this._driverSet!==null?this._driverSet.catch(function(){return p.resolve()}):p.resolve()).then(function(){var E=c[0];return o._dbInfo=null,o._ready=null,o.getDriver(E).then(function(S){o._driver=S._driver,f(),o._wrapLibraryMethodsWithReady(),o._initDriver=d(c);})}).catch(function(){f();var E=new Error(`No available storage method found.`);return o._driverSet=p.reject(E),o._driverSet}),C(this._driverSet,i,a),this._driverSet},e.prototype.supports=function(t){return !!at[t]},e.prototype._extend=function(t){Le(this,t);},e.prototype._getSupportedDrivers=function(t){for(var i=[],a=0,o=t.length;a<o;a++){var c=t[a];this.supports(c)&&i.push(c);}return i},e.prototype._wrapLibraryMethodsWithReady=function(){for(var t=0,i=xe.length;t<i;t++)_r(this,xe[t]);},e.prototype.createInstance=function(t){return new e(t)},e})());},{3:3}]},{},[4])(4)});});var St$3=v$1((It,we)=>{(function(s){var n={};n.VERSION=`1.6.1`;var h,u={},v=function(m,T){return function(){return T.apply(m,arguments)}},I=function(){var m=arguments,T=m[0],V,p;for(p=1;p<m.length;p++)for(V in m[p])!(V in T)&&m[p].hasOwnProperty(V)&&(T[V]=m[p][V]);return T},w=function(m,T){return {value:m,name:T}};n.TRACE=w(1,`TRACE`),n.DEBUG=w(2,`DEBUG`),n.INFO=w(3,`INFO`),n.TIME=w(4,`TIME`),n.WARN=w(5,`WARN`),n.ERROR=w(8,`ERROR`),n.OFF=w(99,`OFF`);var R=function(m){this.context=m,this.setLevel(m.filterLevel),this.log=this.info;};R.prototype={setLevel:function(m){m&&`value`in m&&(this.context.filterLevel=m);},getLevel:function(){return this.context.filterLevel},enabledFor:function(m){var T=this.context.filterLevel;return m.value>=T.value},trace:function(){this.invoke(n.TRACE,arguments);},debug:function(){this.invoke(n.DEBUG,arguments);},info:function(){this.invoke(n.INFO,arguments);},warn:function(){this.invoke(n.WARN,arguments);},error:function(){this.invoke(n.ERROR,arguments);},time:function(m){typeof m==`string`&&m.length>0&&this.invoke(n.TIME,[m,`start`]);},timeEnd:function(m){typeof m==`string`&&m.length>0&&this.invoke(n.TIME,[m,`end`]);},invoke:function(m,T){h&&this.enabledFor(m)&&h(T,I({level:m},this.context));}};var b=new R({filterLevel:n.OFF});((function(){var m=n;m.enabledFor=v(b,b.enabledFor),m.trace=v(b,b.trace),m.debug=v(b,b.debug),m.time=v(b,b.time),m.timeEnd=v(b,b.timeEnd),m.info=v(b,b.info),m.warn=v(b,b.warn),m.error=v(b,b.error),m.log=m.info;}))(),n.setHandler=function(m){h=m;},n.setLevel=function(m){b.setLevel(m);for(var T in u)u.hasOwnProperty(T)&&u[T].setLevel(m);},n.getLevel=function(){return b.getLevel()},n.get=function(m){return u[m]||(u[m]=new R(I({name:m},b.context)))},n.createDefaultHandler=function(m){m=m||{},m.formatter=m.formatter||function(_,C){C.name&&_.unshift(`[`+C.name+`]`);};var T={},V=function(p,_){Function.prototype.apply.call(p,console,_);};return typeof console>`u`?function(){}:function(p,_){p=Array.prototype.slice.call(p);var C=console.log,O;_.level===n.TIME?(O=(_.name?`[`+_.name+`] `:``)+p[0],p[1]===`start`?console.time?console.time(O):T[O]=new Date().getTime():console.timeEnd?console.timeEnd(O):V(C,[O+`: `+(new Date().getTime()-T[O])+`ms`])):(_.level===n.WARN&&console.warn?C=console.warn:_.level===n.ERROR&&console.error?C=console.error:_.level===n.INFO&&console.info?C=console.info:_.level===n.DEBUG&&console.debug?C=console.debug:_.level===n.TRACE&&console.trace&&(C=console.trace),m.formatter(p,_),V(C,p));}},n.useDefaults=function(m){n.setLevel(m&&m.defaultLevel||n.DEBUG),n.setHandler(n.createDefaultHandler(m));},n.setDefaults=n.useDefaults,typeof define==`function`&&define.amd?define(n):typeof we<`u`&&we.exports?we.exports=n:(n._prevLogger=s.Logger,n.noConflict=function(){return s.Logger=n._prevLogger,n},s.Logger=n);})(It);});var Be$3=x$4(lt$4());function ge$4(s){return Be$3.default.createInstance({name:`lc`,storeName:s,driver:Be$3.default.LOCALSTORAGE})}var re$4=class re{static storage;static async get(n,h){return await this.storage?.getItem(n)??h}static set(n,h){return this.storage?.setItem(n,h)}static remove(n){return this.storage?.removeItem(n)}static clear(){return this.storage?.clear()}static getForage(){return this.storage}};var ce$4=class ce extends re$4{static storeName=`usr`;static{this.storage=ge$4(this.storeName);}static getVisitorId(){return localStorage.getItem(`lc/${this.storeName}/vid`)}};var Me$1=`14.8.0`;var Cr$4=Me$1.split(`-`)[0].split(`.`).slice(0,3).map(s=>s.padStart(2,`0`)).join(``),Xr$4=`WEB`,dt$3=`CooeeSDK`,Q$3=Me$1,Jr$3=parseInt(Cr$4,10);var Qr$3=[`collection`,`product`,`cart`],Zr$3=[{identifier:`#flo-checkout-wrapper`,gateway:`Shopflow`},{identifier:`#fastrr-main-container`,gateway:`Shiprocket`},{identifier:`#gokwik-modal-wrapper`,gateway:`Gokwik`},{identifier:`#zecpe`,gateway:`Ecom 360`}],en=[`View Item`,`View Cart`,`View Collection`],tn=[`CE Screen View`,`View Collection`,`View Item`,`View Cart`],rn=`https://cdn.jsdelivr.net/npm/swiper@11`;var mt$4=`https://cdn.jsdelivr.net/npm/@letscooee/web-sdk@${Q$3}/dist`,fe$4={apiURL:`https://api.sdk.letscooee.com`,cdnApiURL:`https://cdn.sdk1.api.letscooee.com`,debug:false,mode:`production`,baseURL:mt$4,styleURL:`${mt$4}/styles.min.css`};var pe$4=class pe{static ISO_WITHOUT_MS_REGEX=new RegExp(/\d{4}-[01]\d-[0-3]\dT[0-2]\d:[0-5]\d:[0-5]\d([+-][0-2]\d:[0-5]\d|Z)/);static isObject(n){return typeof n==`object`&&!Array.isArray(n)&&n!==null}static parseToAny(n){try{return JSON.parse(n.toString())}catch{}return n.toString().match(this.ISO_WITHOUT_MS_REGEX)?new Date(n.toString()):n}static async sleep(n){return new Promise(h=>setTimeout(h,n))}static hasKeys(n){return n?Object.keys(n).length>=1:false}static convertObjectToArray(n,h){return h.reduce((u,v)=>(n.hasOwnProperty(v)&&n[v]!=null&&u.push({[v]:n[v]}),u),[])}static removeNullUndefinedKeys(n){return Object.keys(n).reduce((h,u)=>(n[u]!==null&&n[u]!==void 0&&(h[u]=n[u]),h),{})}static stringify(n){return JSON.stringify(n,function(h,u){return u===void 0?null:u})}};var he$4=class he{gaEnabled;gaMeasurementID;pixelPush;website;currencyCount;money;storefrontToken;skipItemAttribute;checkoutProvider;widgetCustomisation;currency;static get(){return window.CooeeSDK.config}update(n){return n??={},this.gaEnabled=n.gaEnabled,this.gaMeasurementID=n.gaMeasurementID,this.pixelPush=n.pixelPush,this.website=n.website??{},this.currencyCount=n.currencyCount??0,this.money=n.money,this.currency=n.currency,this.storefrontToken=n.storefrontToken,this.skipItemAttribute=n.skipItemAttribute,this.checkoutProvider=n.checkoutProvider,this.widgetCustomisation=n.widgetCustomisation,this}};var ve$4=class ve extends re$4{static storeName=`ses`;static{this.storage=ge$4(this.storeName);}};var gt$3=5,Ar$4=500,ne$3=class ne extends Error{request;response;status;requestBody;responseText;constructor(n){super(n),this.name=`FetchError`,Object.setPrototypeOf(this,new.target.prototype);}is40x(){return !!this.response&&this.response.status>=400&&this.response.status<500}};async function dn(s,n){let h=Date.now(),u;try{u=await Nr$4(s,n);}catch{}let v=u?new Request(u.url,{method:n?.method||`GET`}):new Request(s,n);if(!u||!u.ok){let m=`Failed to fetch`;u?.statusText&&(m+=`: ${u.statusText}`);let T=new ne$3(m);throw T.request=v,T.response=u?.clone(),T.status=u?.status,T.requestBody=n?.body,T.responseText=await pt$3(u),T}let I,w=(u.headers.get(`content-type`)||``).toLowerCase(),R=u.headers.get(`content-length`),b=n?.method?.toUpperCase()||`GET`;if(u.status===204||u.status===205||b===`HEAD`||R===`0`)I=void 0;else if(w.includes(`application/json`)||w.includes(`application/problem+json`)||w.includes(`text/javascript`))try{I=await u.clone().json();}catch(m){let T=new ne$3(`Failed to parse JSON response: ${m?.message}`);throw T.request=v,T.response=u.clone(),T.status=u.status,T.requestBody=n?.body,T.responseText=await pt$3(u),T}else w.includes(`text/`)||w.includes(`image/svg+xml`)?I=await u.text():I=await u.arrayBuffer();return {data:I,status:u.status,statusText:u.statusText,headers:u.headers,timeTakenMs:Date.now()-h,options:n,request:v}}async function Nr$4(s,n){let h=null,u;for(let v=0;v<=gt$3;v++){try{if(u=await fetch(s,n),u.ok||u.status>=400&&u.status<500)return u;h=new Error(`Server error: ${u.status} ${u.statusText}`);}catch(I){h=I instanceof Error?I:new Error(String(I));}if(v<gt$3){let I=Math.pow(2,v)*Ar$4;Y$2.info(`Request to ${s} failed. Retrying in ${I}ms...`),await new Promise(w=>setTimeout(w,I));}}if(u&&!u.ok)return u;throw h||new Error(`Request failed after retries`)}async function pt$3(s){if(s){try{return s=s.clone(),await s.json()}catch{}try{return await s.text()}catch{}}}var ye$3={},Ee$5,_e$3,vt$3,yt$2,ht$4;async function Et$3(){if(!_e$3)return ht$4??=xr$4(),ht$4}async function xr$4(){let{BrowserClient:s,Scope:n,defaultStackParser:h,getDefaultIntegrations:u,makeFetchTransport:v}=await import('./esm-B-weSuzB-C6sptKNe.js');yt$2=n;_e$3=new s({dsn:`https://1bc3dda4c861f60cd6be1b67584f4bc6@o559187.ingest.us.sentry.io/4507626484203520`,transport:v,stackParser:h,integrations:u({}).filter(w=>![`BrowserApiErrors`,`Breadcrumbs`,`GlobalHandlers`].includes(w.name)),environment:fe$4.mode,release:`web-sdk@${Q$3}`,debug:fe$4.debug,sampleRate:.5}),_e$3.init();}function Fe$3(s,n,h){Y$2.error(`${n}:`,s),Et$3().then(()=>{let u=_t$4(h);if(u.setTag(`operation`,n),s instanceof ne$3){Lr$3(u,s,n);return}u.captureException(s);});}function En$1(s,n,h){Et$3().then(()=>{_t$4(h).captureMessage(s,n??`error`);});}function Lr$3(s,n,h){if(Or$4(s,n),n.response){let u=n.response,v=n.responseText;s.setTag(`error.message`,n.message),u.status!=null&&s.setTag(`http.status_code`,u.status),u.statusText&&s.setTag(`http.status_text`,u.statusText),v&&typeof v==`object`&&`error`in v&&(s.setTag(`http.error_code`,v.error.code),s.setTag(`http.error_message`,v.error.message)),s.setExtras({responseText:n.responseText,statusText:u.statusText,responseType:u.type,redirected:u.redirected,responseUrl:u.url,originalError:n.message}),s.captureMessage(`${h} failed with ${u.status}`,`error`);return}if(n.request){s.captureMessage(`No response was received for ${h}`,`error`);return}}function Or$4(s,n){let h=n.request;if(!h)return;s.setExtras({body:n.requestBody,headers:h.headers,method:h.method,url:h.url});let u=h.headers?.get(`Cooee-Retry-Attempt`);u!==null&&s.setTag(`retry.attempt`,u);}function _n(s){vt$3=s;}function bn(s,n){ye$3[s]=r$2(r$2({},ye$3[s]),n);}function Tn(s){Ee$5=r$2(r$2({},Ee$5),s);}function _t$4(s){s??={};let{extra:n,tags:h}=s,u=new yt$2;if(u.setClient(_e$3),u.setUser(vt$3),s.triggerContext&&!s.engagementTrigger&&(s.engagementTrigger=s.triggerContext.triggerData),s.engagementTrigger){let v=s.engagementTrigger;u.setTags({"engagement.id":v.engagementID,"engagement.short_id":v.shortID,"engagement.objective":v.objective,"engagement.delivery_type":v.onsiteDeliveryType,"engagement.content_id":v.contentID,"engagement.variation":v.variation,"engagement.currency":v.currency});}return n&&u.setExtras(n),h&&u.setTags(h),Ee$5&&u.setTags(Ee$5),Object.keys(ye$3).forEach(v=>{u.setContext(v,ye$3[v]);}),u.setTag(`language`,navigator.language),u.setTag(`timezone`,bt$1()),Pr$4(u),u}function Pr$4(s){window.Shopify&&(s.setTag(`shopify.shop`,window.Shopify.shop),s.setTag(`shopify.currency`,window.Shopify.currency?.active),s.setTag(`shopify.locale`,window.Shopify.locale),s.setTag(`theme.schema_name`,window.Shopify.theme?.schema_name),s.setTag(`theme.schema_version`,window.Shopify.theme?.schema_version));}var be$4=class be{static format(n,h){return h.replace(/{{\s*(\w+)\s*}}/,(v,I)=>{switch(I){case `amount`:return this.formatWithDelimiters(n,2);case `amount_no_decimals`:return this.formatWithDelimiters(n,0);case `amount_with_comma_separator`:return this.formatWithDelimiters(n,2,`.`,`,`);case `amount_no_decimals_with_comma_separator`:return this.formatWithDelimiters(n,0,`.`,`,`);case `amount_with_apostrophe_separator`:return this.formatWithDelimiters(n,2,`'`,`.`);case `amount_no_decimals_with_space_separator`:return this.formatWithDelimiters(n,0,` `);case `amount_with_space_separator`:return this.formatWithDelimiters(n,2,` `,`,`);case `amount_with_period_and_space_separator`:return this.formatWithDelimiters(n,2,` `,`.`);default:return v}})}static formatWithDelimiters(n,h=2,u=`,`,v=`.`){if(isNaN(n)||n==null)return `0`;let w=(n/100).toFixed(h).split(`.`);return w[0].replace(/(\d)(?=(\d\d\d)+(?!\d))/g,`$1`+u)+(w[1]?v+w[1]:``)}};function Dn(s){return `(\u23F0 took: ${ke$1(s)})`}function ke$1(s){if(s<0)return `${s}ms`;let n=new Date(Date.UTC(0,0,0,0,0,0,s)),h=[];return n.getUTCMinutes()&&h.push(n.getUTCMinutes()+`m`),n.getUTCSeconds()&&h.push(n.getUTCSeconds()+`s`),n.getUTCMilliseconds()&&h.push(n.getUTCMilliseconds()+`ms`),h.length||h.push(`0ms`),h.join(` `)}function Ue$1(){return window.CooeeSDK.runtimeData}function An(){return ke$1(Date.now()-Ue$1().sdkLoadTime.getTime())}function Un(s){try{return new URL(s)}catch{return}}function Wn$1(s){return !s||s===`null`||s===`undefined`}function $n$1(s,n){let h=s.indexOf(n);return h===-1?false:(s.splice(h,1),true)}function Gn$1(s,n,h){return {[s]:Vr$4(n,h),[s+`_wo_currency`]:n}}function Vr$4(s,n){if(s==0&&n)return `Free`;let h=Ue$1(),u=he$4.get(),v=h.shopCurrencyCode||u.currency,I=h.currencyCode;I||Y$2.warn(`Currency code is not set in RuntimeData`);let w=u.money?.format??h.moneyFormat,R;if(w&&v===I&&!u.money?.auto)R=be$4.format(s*100,w);else {let b={style:`currency`,currency:I||v,minimumFractionDigits:2,maximumFractionDigits:2,trailingZeroDisplay:`stripIfInteger`},m;try{m=new Intl.NumberFormat(Tt$1(),b);}catch(T){return Fe$3(T,`format-currency`,{extra:{currentCurrency:I,shopCurrency:v}}),``}R=m.format(s),R=R.replace(`₹`,`Rs. `),u.money?.showCurrency&&I!==`INR`&&(R=R.concat(` ${I}`));}return R}function Hn$1(s){let n=Tt$1();try{return new Intl.NumberFormat(n,{notation:`compact`}).format(s)}catch(h){return Fe$3(h,`format-number`,{extra:{lang:n,value:s}}),s.toString()}}function Tt$1(){let s=`en`;return typeof navigator<`u`&&(navigator.languages!==void 0&&navigator.languages.length>0?s=navigator.languages[0]:navigator.language&&(s=navigator.language)),s=s.split(`;`)[0],s=s.split(`-`)[0],s||`en`}var Te$2;function bt$1(){if(Te$2)return Te$2;try{return Te$2=Intl.DateTimeFormat().resolvedOptions().timeZone,Te$2}catch{return ``}}function wt$2(s){document.readyState!==`loading`?s():document.addEventListener(`DOMContentLoaded`,s);}function Yn$1(s){let n=document.createElement(`span`);n.id=`snackbar`,n.innerText=s,document.body.appendChild(n),n.className=`cooee-snackbar show`,setTimeout(()=>{n.classList.remove(`show`),document.body.removeChild(n);},5e3);}async function Br$4(s,n=7,h=document){let u=1,v=document.querySelectorAll(`nonexistent-tag`);for(;u<=n;){let I=Math.min(50*2**u,1e3);if(u>1&&await pe$4.sleep(I),v=h.querySelectorAll(s),v.length)return Y$2.verbose(`Attempt ${u}: ${v.length} elements found with ${s}`),v;Y$2.verbose(`Attempt ${u}: Elements not found with ${s}. Will retry after ${I}ms.`),u++;}return Y$2.verbose(`\u26A0\uFE0F Max attempts reached. Element not found with ${s}.`),v}async function jn$1(s,n=10,h=document){return (await Br$4(s,n,h)).item(0)}async function Mr$4(s){let[n,h,u]=await Promise.all([ce$4.get(`did`),ve$4.get(`id`,``),ce$4.get(`sessionNumber`,1)]),v={letscooee_did:n,letscooee_sid:h,letscooee_sn:`${u}`,__letscooee_time:new Date().toLocaleString()};return s&&(v.__letscooee_via=s),v}async function zn$1(s){let n=await Mr$4(s);return Object.entries(n).map(([h,u])=>({key:h,value:u.toString()}))}function qn$1(s,n,h,u=false){Object.defineProperty(s,n,{enumerable:false,configurable:false,writable:u,value:h});}function Kn$1(s){if(s%100>=11&&s%100<=13)return s+`th`;switch(s%10){case 1:return s+`st`;case 2:return s+`nd`;case 3:return s+`rd`;default:return s+`th`}}var W$2=x$4(St$3());var Y$2=class Y{static debuggerEl;static infoLogs=[];static log(...n){W$2.default.info(...n);}static verbose(...n){W$2.default.debug(...n);}static error(...n){W$2.default.error(...n);}static warn(...n){W$2.default.warn(...n);}static info(...n){W$2.default.info(...n),this.infoLogs.push({time:new Date,message:n.join(` `)}),this.addToDebugger();}static trace(...n){W$2.default.trace(...n);}static addToDebugger(){sessionStorage.cooeeDebug&&(this.debuggerEl=this.debuggerEl??document.querySelector(`cooee-debugger`),this.debuggerEl&&this.debuggerEl&&(this.debuggerEl.logs=[...this.infoLogs]));}};function eo$1(s=dt$3){W$2.default.useDefaults({formatter:function(n){n.unshift(`${s} (v${Q$3}):`);}}),Fr$2()&&(localStorage.cooeeLogLevel=`TRACE`),localStorage.cooeeLogLevel?W$2.default.setLevel(W$2.default[localStorage.cooeeLogLevel]):W$2.default.setLevel(W$2.default.OFF);}function Fr$2(){let s=Dt$2();return s===`1`||s===`on`}function Dt$2(){return new URL(location.href).searchParams?.get(`cooee-debug`)}function to$1(){let s=[`display: inline-block;`,`font-size: 14px;`,`background: linear-gradient(90deg, #d52dc8 25%, #2179e2 82%);`,`color: white;`,`padding: 4px;`,`border-radius: 4px;`].join(` `),n=`
|
|
4
4
|
`;n+=`\u{1F4E3} Drive higher conversions with AI-powered onsite engagement
|
|
5
5
|
`,n+=`\u{1F50D} Track real-time visitor intent & optimize engagement
|
|
6
6
|
`,n+=`\u{1F4CA} Improve Meta Ads ROAS with intent-driven campaigns
|
|
@@ -9,9 +9,9 @@ var lt$4=v$1((ft,Ve)=>{(function(s){if(typeof ft==`object`&&typeof Ve<`u`)Ve.exp
|
|
|
9
9
|
|
|
10
10
|
`,n+=`Learn more: https://www.letscooee.com`,console.group(`%c Elevate your ecommerce experience with Cooee 🚀 `,s),console.log(`%c${n}`,`font-size: 13px; line-height: 1.8;`),console.log(`SDK v${Q$3}`),console.groupEnd(),Y$2.info(`SDK v${Q$3} loaded`);}function ro$1(){let s=localStorage.getItem(`cooeeDebugTill`),n=Dt$2();if(n===`1`||n===`on`){let h=Ur$3();s||(s=h.toString(),localStorage.setItem(`cooeeDebugTill`,s));}n===`on`?sessionStorage.cooeeDebug=`1`:n===`off`&&sessionStorage.removeItem(`cooeeDebug`),sessionStorage.cooeeDebug&&kr$5(),s&&new Date(+s)<new Date&&localStorage.removeItem(`cooeeDebugTill`);}function kr$5(){let s=document.createElement(`cooee-debugger`);wt$2(()=>{document.body.appendChild(s);});}function Ur$3(){return new Date().getTime()+360*60*1e3}
|
|
11
11
|
|
|
12
|
-
var K$3=`a-f\\d`,kr$4=`#?[${K$3}]{3}[${K$3}]?`,Gr$3=`#?[${K$3}]{6}([${K$3}]{2})?`,Br$3=new RegExp(`[^#${K$3}]`,`gi`),Wr$3=new RegExp(`^${kr$4}$|^${Gr$3}$`,`i`);function At$1(r,t={}){if(typeof r!=`string`||Br$3.test(r)||!Wr$3.test(r))throw new TypeError(`Expected a valid hex string`);r=r.replace(/^#/,``);let e=1;r.length===8&&(e=Number.parseInt(r.slice(6,8),16)/255,r=r.slice(0,6)),r.length===4&&(e=Number.parseInt(r.slice(3,4).repeat(2),16)/255,r=r.slice(0,3)),r.length===3&&(r=r[0]+r[0]+r[1]+r[1]+r[2]+r[2]);let i=Number.parseInt(r,16),n=i>>16,o=i>>8&255,_=i&255,u=typeof t.alpha==`number`?t.alpha:e;if(t.format===`array`)return [n,o,_,u];if(t.format===`css`)return `rgb(${n} ${o} ${_}${u===1?``:` / ${Number((u*100).toFixed(2))}%`})`;return {red:n,green:o,blue:_,alpha:u}}var I$2=class I{h;a=100;g;constructor(t){t??={},this.h=t.h,this.a=t.a,this.g=t.g;}get hex(){return this.h}get grad(){return this.g}get rgba(){if(!this.hex)return ``;try{return At$1(this.hex,{format:`css`,alpha:this.getAlpha()})}catch(t){return console.error(`Invalid hex`,t),`#000000`}}getAlpha(){return (this.a??100)/100}};var P$2=class P{s;g;i;constructor(t){t.s&&(this.s=new I$2(t.s)),t.g&&(this.g=new z$5(t.g)),this.i=t.i;}get solid(){return this.s}get glossy(){return this.g}get img(){return this.i}};var C$4=class C{s;r;w;c;constructor(t){this.s=t.s,this.r=t.r,this.w=t.w,t.c&&(this.c=new I$2(t.c));}get radius(){return this.r}get width(){return this.w}get color(){return this.c}get style(){return rr$4[this.s??1]}},rr$4=(e=>(e[e.SOLID=1]=`SOLID`,e[e.DASHED=2]=`DASHED`,e))(rr$4||{});var z$5=class r{static DEFAULT_FALLBACK=new I$2({h:`#000000`,a:50});r;c;fb;constructor(t){this.r=t.r,t.c&&(this.c=new I$2(t.c)),t.fb&&(this.fb=new I$2(t.fb));}get radius(){return this.r}get color(){return this.c}get fallback(){return this.fb??r.DEFAULT_FALLBACK}};var Q$2=class Q{blur;spr;clr;x;y;constructor(t){t=t??{},this.blur=t.blur??0,this.spr=t.spr??0,this.x=t.x??0,this.y=t.y??0,this.clr=new I$2(t.clr);}getStyle(t){return `${this.x*t}px ${this.y*t}px ${this.blur*t}px ${this.spr*t}px ${this.clr.rgba}`}};var T$2=class T{pl;pr;pt;pb;ml;mr;mt;mb;cent;constructor(t){t=t??{},this.pl=t.pl??0,this.pr=t.pr??0,this.pt=t.pt??0,this.pb=t.pb??0,this.ml=t.ml??0,this.mr=t.mr??0,this.mt=t.mt??0,this.mb=t.mb??0,this.cent=t.cent??false;}getHorizontal(){return this.pl+this.pr}getVertical(){return this.pt+this.pb}getPaddingCSS(){return `${this.pt}px ${this.pr}px ${this.pb}px ${this.pl}px`}};var X$3=class X{rot;constructor(t){t?.rot&&(this.rot=t.rot);}get rotate(){return this.rot}},st$2,d$1,sr$3,Ct$3,w$3,er$4,_r$4,ur$4,lr$4,Tt,xt$1,Pt$1,j$3={},fr$3=[],Fr$1=/acit|ex(?:s|g|n|p|$)|rph|grid|ows|mnc|ntw|ine[ch]|zoo|^ord|itera/i,_t$3=Array.isArray;function x$3(r,t){for(var e in t)r[e]=t[e];return r}function wt$1(r){r&&r.parentNode&&r.parentNode.removeChild(r);}function Yr$2(r,t,e){var i,n,o,_={};for(o in t)o==`key`?i=t[o]:o==`ref`?n=t[o]:_[o]=t[o];if(arguments.length>2&&(_.children=arguments.length>3?st$2.call(arguments,2):e),typeof r==`function`&&r.defaultProps!=null)for(o in r.defaultProps)_[o]===void 0&&(_[o]=r.defaultProps[o]);return nt$1(r,_,i,n,null)}function nt$1(r,t,e,i,n){var o={type:r,props:t,key:e,ref:i,__k:null,__:null,__b:0,__e:null,__c:null,constructor:void 0,__v:n??++sr$3,__i:-1,__u:0};return n==null&&d$1.vnode!=null&&d$1.vnode(o),o}function ut$3(r){return r.children}function D$2(r,t){this.props=r,this.context=t;}function U$1(r,t){if(t==null)return r.__?U$1(r.__,r.__i+1):null;for(var e;t<r.__k.length;t++)if((e=r.__k[t])!=null&&e.__e!=null)return e.__e;return typeof r.type==`function`?U$1(r):null}function cr$3(r){var t,e;if((r=r.__)!=null&&r.__c!=null){for(r.__e=r.__c.base=null,t=0;t<r.__k.length;t++)if((e=r.__k[t])!=null&&e.__e!=null){r.__e=r.__c.base=e.__e;break}return cr$3(r)}}function ir$4(r){(!r.__d&&(r.__d=true)&&w$3.push(r)&&!ot$2.__r++||er$4!=d$1.debounceRendering)&&((er$4=d$1.debounceRendering)||_r$4)(ot$2);}function ot$2(){for(var r,t,e,i,n,o,_,u=1;w$3.length;)w$3.length>u&&w$3.sort(ur$4),r=w$3.shift(),u=w$3.length,r.__d&&(e=void 0,n=(i=(t=r).__v).__e,o=[],_=[],t.__P&&((e=x$3({},i)).__v=i.__v+1,d$1.vnode&&d$1.vnode(e),Dt$1(t.__P,e,i,t.__n,t.__P.namespaceURI,32&i.__u?[n]:null,o,n??U$1(i),!!(32&i.__u),_),e.__v=i.__v,e.__.__k[e.__i]=e,pr$4(o,e,_),e.__e!=n&&cr$3(e)));ot$2.__r=0;}function ar$4(r,t,e,i,n,o,_,u,l,f,h){var s,p,a,g,y,O,v=i&&i.__k||fr$3,E=t.length;for(l=Kr$3(e,t,v,l,E),s=0;s<E;s++)(a=e.__k[s])!=null&&(p=a.__i==-1?j$3:v[a.__i]||j$3,a.__i=s,O=Dt$1(r,a,p,n,o,_,u,l,f,h),g=a.__e,a.ref&&p.ref!=a.ref&&(p.ref&&Ut$1(p.ref,null,a),h.push(a.ref,a.__c||g,a)),y==null&&g!=null&&(y=g),4&a.__u||p.__k===a.__k?l=hr$4(a,l,r):typeof a.type==`function`&&O!==void 0?l=O:g&&(l=g.nextSibling),a.__u&=-7);return e.__e=y,l}function Kr$3(r,t,e,i,n){var o,_,u,l,f,h=e.length,s=h,p=0;for(r.__k=new Array(n),o=0;o<n;o++)(_=t[o])!=null&&typeof _!=`boolean`&&typeof _!=`function`?(l=o+p,(_=r.__k[o]=typeof _==`string`||typeof _==`number`||typeof _==`bigint`||_.constructor==String?nt$1(null,_,null,null,null):_t$3(_)?nt$1(ut$3,{children:_},null,null,null):_.constructor==null&&_.__b>0?nt$1(_.type,_.props,_.key,_.ref?_.ref:null,_.__v):_).__=r,_.__b=r.__b+1,u=null,(f=_.__i=zr$2(_,e,l,s))!=-1&&(s--,(u=e[f])&&(u.__u|=2)),u==null||u.__v==null?(f==-1&&(n>h?p--:n<h&&p++),typeof _.type!=`function`&&(_.__u|=4)):f!=l&&(f==l-1?p--:f==l+1?p++:(f>l?p--:p++,_.__u|=4))):r.__k[o]=null;if(s)for(o=0;o<h;o++)(u=e[o])!=null&&!(2&u.__u)&&(u.__e==i&&(i=U$1(u)),mr$4(u,u));return i}function hr$4(r,t,e){var i,n;if(typeof r.type==`function`){for(i=r.__k,n=0;i&&n<i.length;n++)i[n]&&(i[n].__=r,t=hr$4(i[n],t,e));return t}r.__e!=t&&(t&&r.type&&!e.contains(t)&&(t=U$1(r)),e.insertBefore(r.__e,t||null),t=r.__e);do t=t&&t.nextSibling;while(t!=null&&t.nodeType==8);return t}function zr$2(r,t,e,i){var n,o,_=r.key,u=r.type,l=t[e];if(l===null&&r.key==null||l&&_==l.key&&u==l.type&&(2&l.__u)==0)return e;if(i>(l!=null&&(2&l.__u)==0?1:0))for(n=e-1,o=e+1;n>=0||o<t.length;){if(n>=0){if((l=t[n])&&(2&l.__u)==0&&_==l.key&&u==l.type)return n;n--;}if(o<t.length){if((l=t[o])&&(2&l.__u)==0&&_==l.key&&u==l.type)return o;o++;}}return -1}function nr$4(r,t,e){t[0]==`-`?r.setProperty(t,e??``):r[t]=e==null?``:typeof e!=`number`||Fr$1.test(t)?e:e+`px`;}function it$1(r,t,e,i,n){var o,_;t:if(t==`style`)if(typeof e==`string`)r.style.cssText=e;else {if(typeof i==`string`&&(r.style.cssText=i=``),i)for(t in i)e&&t in e||nr$4(r.style,t,``);if(e)for(t in e)i&&e[t]==i[t]||nr$4(r.style,t,e[t]);}else if(t[0]==`o`&&t[1]==`n`)o=t!=(t=t.replace(lr$4,`$1`)),_=t.toLowerCase(),t=_ in r||t==`onFocusOut`||t==`onFocusIn`?_.slice(2):t.slice(2),r.l||(r.l={}),r.l[t+o]=e,e?i?e.u=i.u:(e.u=Tt,r.addEventListener(t,o?Pt$1:xt$1,o)):r.removeEventListener(t,o?Pt$1:xt$1,o);else {if(n==`http://www.w3.org/2000/svg`)t=t.replace(/xlink(H|:h)/,`h`).replace(/sName$/,`s`);else if(t!=`width`&&t!=`height`&&t!=`href`&&t!=`list`&&t!=`form`&&t!=`tabIndex`&&t!=`download`&&t!=`rowSpan`&&t!=`colSpan`&&t!=`role`&&t!=`popover`&&t in r)try{r[t]=e??``;break t}catch{}typeof e==`function`||(e==null||e===false&&t[4]!=`-`?r.removeAttribute(t):r.setAttribute(t,t==`popover`&&e==1?``:e));}}function or$4(r){return function(t){if(this.l){var e=this.l[t.type+r];if(t.t==null)t.t=Tt++;else if(t.t<e.u)return;return e(d$1.event?d$1.event(t):t)}}}function Dt$1(r,t,e,i,n,o,_,u,l,f){var h,s,p,a,g,y,O,v,E,B,c,tt,W,qt,rt,$,bt,L=t.type;if(t.constructor!=null)return null;128&e.__u&&(l=!!(32&e.__u),o=[u=t.__e=e.__e]),(h=d$1.__b)&&h(t);t:if(typeof L==`function`)try{if(v=t.props,E=`prototype`in L&&L.prototype.render,B=(h=L.contextType)&&i[h.__c],c=h?B?B.props.value:h.__:i,e.__c?O=(s=t.__c=e.__c).__=s.__E:(E?t.__c=s=new L(v,c):(t.__c=s=new D$2(v,c),s.constructor=L,s.render=Xr$3),B&&B.sub(s),s.props=v,s.state||(s.state={}),s.context=c,s.__n=i,p=s.__d=!0,s.__h=[],s._sb=[]),E&&s.__s==null&&(s.__s=s.state),E&&L.getDerivedStateFromProps!=null&&(s.__s==s.state&&(s.__s=x$3({},s.__s)),x$3(s.__s,L.getDerivedStateFromProps(v,s.__s))),a=s.props,g=s.state,s.__v=t,p)E&&L.getDerivedStateFromProps==null&&s.componentWillMount!=null&&s.componentWillMount(),E&&s.componentDidMount!=null&&s.__h.push(s.componentDidMount);else {if(E&&L.getDerivedStateFromProps==null&&v!==a&&s.componentWillReceiveProps!=null&&s.componentWillReceiveProps(v,c),!s.__e&&s.shouldComponentUpdate!=null&&s.shouldComponentUpdate(v,s.__s,c)===!1||t.__v==e.__v){for(t.__v!=e.__v&&(s.props=v,s.state=s.__s,s.__d=!1),t.__e=e.__e,t.__k=e.__k,t.__k.some(function(F){F&&(F.__=t);}),tt=0;tt<s._sb.length;tt++)s.__h.push(s._sb[tt]);s._sb=[],s.__h.length&&_.push(s);break t}s.componentWillUpdate!=null&&s.componentWillUpdate(v,s.__s,c),E&&s.componentDidUpdate!=null&&s.__h.push(function(){s.componentDidUpdate(a,g,y);});}if(s.context=c,s.props=v,s.__P=r,s.__e=!1,W=d$1.__r,qt=0,E){for(s.state=s.__s,s.__d=!1,W&&W(t),h=s.render(s.props,s.state,s.context),rt=0;rt<s._sb.length;rt++)s.__h.push(s._sb[rt]);s._sb=[];}else do s.__d=!1,W&&W(t),h=s.render(s.props,s.state,s.context),s.state=s.__s;while(s.__d&&++qt<25);s.state=s.__s,s.getChildContext!=null&&(i=x$3(x$3({},i),s.getChildContext())),E&&!p&&s.getSnapshotBeforeUpdate!=null&&(y=s.getSnapshotBeforeUpdate(a,g)),$=h,h!=null&&h.type===ut$3&&h.key==null&&($=dr$4(h.props.children)),u=ar$4(r,_t$3($)?$:[$],t,e,i,n,o,_,u,l,f),s.base=t.__e,t.__u&=-161,s.__h.length&&_.push(s),O&&(s.__E=s.__=null);}catch(F){if(t.__v=null,l||o!=null)if(F.then){for(t.__u|=l?160:128;u&&u.nodeType==8&&u.nextSibling;)u=u.nextSibling;o[o.indexOf(u)]=null,t.__e=u;}else for(bt=o.length;bt--;)wt$1(o[bt]);else t.__e=e.__e,t.__k=e.__k;d$1.__e(F,t,e);}else o==null&&t.__v==e.__v?(t.__k=e.__k,t.__e=e.__e):u=t.__e=Qr$2(e.__e,t,e,i,n,o,_,l,f);return (h=d$1.diffed)&&h(t),128&t.__u?void 0:u}function pr$4(r,t,e){for(var i=0;i<e.length;i++)Ut$1(e[i],e[++i],e[++i]);d$1.__c&&d$1.__c(t,r),r.some(function(n){try{r=n.__h,n.__h=[],r.some(function(o){o.call(n);});}catch(o){d$1.__e(o,n.__v);}});}function dr$4(r){return typeof r!=`object`||r==null||r.__b&&r.__b>0?r:_t$3(r)?r.map(dr$4):x$3({},r)}function Qr$2(r,t,e,i,n,o,_,u,l){var f,h,s,p,a,g,y,O=e.props,v=t.props,E=t.type;if(E==`svg`?n=`http://www.w3.org/2000/svg`:E==`math`?n=`http://www.w3.org/1998/Math/MathML`:n||(n=`http://www.w3.org/1999/xhtml`),o!=null){for(f=0;f<o.length;f++)if((a=o[f])&&`setAttribute`in a==!!E&&(E?a.localName==E:a.nodeType==3)){r=a,o[f]=null;break}}if(r==null){if(E==null)return document.createTextNode(v);r=document.createElementNS(n,E,v.is&&v),u&&(d$1.__m&&d$1.__m(t,o),u=false),o=null;}if(E==null)O===v||u&&r.data==v||(r.data=v);else {if(o=o&&st$2.call(r.childNodes),O=e.props||j$3,!u&&o!=null)for(O={},f=0;f<r.attributes.length;f++)O[(a=r.attributes[f]).name]=a.value;for(f in O)if(a=O[f],f!=`children`){if(f==`dangerouslySetInnerHTML`)s=a;else if(!(f in v)){if(f==`value`&&`defaultValue`in v||f==`checked`&&`defaultChecked`in v)continue;it$1(r,f,null,a,n);}}for(f in v)a=v[f],f==`children`?p=a:f==`dangerouslySetInnerHTML`?h=a:f==`value`?g=a:f==`checked`?y=a:u&&typeof a!=`function`||O[f]===a||it$1(r,f,a,O[f],n);if(h)u||s&&(h.__html==s.__html||h.__html==r.innerHTML)||(r.innerHTML=h.__html),t.__k=[];else if(s&&(r.innerHTML=``),ar$4(t.type==`template`?r.content:r,_t$3(p)?p:[p],t,e,i,E==`foreignObject`?`http://www.w3.org/1999/xhtml`:n,o,_,o?o[0]:e.__k&&U$1(e,0),u,l),o!=null)for(f=o.length;f--;)wt$1(o[f]);u||(f=`value`,E==`progress`&&g==null?r.removeAttribute(`value`):g!=null&&(g!==r[f]||E==`progress`&&!g||E==`option`&&g!=O[f])&&it$1(r,f,g,O[f],n),f=`checked`,y!=null&&y!=r[f]&&it$1(r,f,y,O[f],n));}return r}function Ut$1(r,t,e){try{if(typeof r==`function`){var i=typeof r.__u==`function`;i&&r.__u(),i&&t==null||(r.__u=r(t));}else r.current=t;}catch(n){d$1.__e(n,e);}}function mr$4(r,t,e){var i,n;if(d$1.unmount&&d$1.unmount(r),(i=r.ref)&&(i.current&&i.current!=r.__e||Ut$1(i,null,t)),(i=r.__c)!=null){if(i.componentWillUnmount)try{i.componentWillUnmount();}catch(o){d$1.__e(o,t);}i.base=i.__P=null;}if(i=r.__k)for(n=0;n<i.length;n++)i[n]&&mr$4(i[n],t,e||typeof r.type!=`function`);e||wt$1(r.__e),r.__c=r.__=r.__e=void 0;}function Xr$3(r,t,e){return this.constructor(r,e)}function Ye$2(r,t,e){var i,n,o,_;t==document&&(t=document.documentElement),d$1.__&&d$1.__(r,t),n=(i="undefined"==`function`)?null:t.__k,o=[],_=[],Dt$1(t,r=(t).__k=Yr$2(ut$3,null,[r]),n||j$3,j$3,t.namespaceURI,n?null:t.firstChild?st$2.call(t.childNodes):null,o,n?n.__e:t.firstChild,i,_),pr$4(o,r,_);}st$2=fr$3.slice,d$1={__e:function(r,t,e,i){for(var n,o,_;t=t.__;)if((n=t.__c)&&!n.__)try{if((o=n.constructor)&&o.getDerivedStateFromError!=null&&(n.setState(o.getDerivedStateFromError(r)),_=n.__d),n.componentDidCatch!=null&&(n.componentDidCatch(r,i||{}),_=n.__d),_)return n.__E=n}catch(u){r=u;}throw r}},sr$3=0,Ct$3=function(r){return r!=null&&r.constructor==null},D$2.prototype.setState=function(r,t){var e=this.__s!=null&&this.__s!=this.state?this.__s:this.__s=x$3({},this.state);typeof r==`function`&&(r=r(x$3({},e),this.props)),r&&x$3(e,r),r!=null&&this.__v&&(t&&this._sb.push(t),ir$4(this));},D$2.prototype.forceUpdate=function(r){this.__v&&(this.__e=true,r&&this.__h.push(r),ir$4(this));},D$2.prototype.render=ut$3,w$3=[],_r$4=typeof Promise==`function`?Promise.prototype.then.bind(Promise.resolve()):setTimeout,ur$4=function(r,t){return r.__v.__b-t.__v.__b},ot$2.__r=0,lr$4=/(PointerCapture)$|Capture$/i,Tt=0,xt$1=or$4(false),Pt$1=or$4(true);var Vt$2,R$2,Mt$2,vr$3,Er$4=0,br$3=[],N$3=d$1,gr$4=N$3.__b,Nr$3=N$3.__r,Sr$3=N$3.diffed,Or$3=N$3.__c,Ir$3=N$3.unmount,yr$3=N$3.__;function jr$2(r,t){N$3.__h&&N$3.__h(R$2,r,Er$4||t),Er$4=0;var e=R$2.__H||(R$2.__H={__:[],__h:[]});return r>=e.__.length&&e.__.push({}),e.__[r]}function kt$3(r,t){var e=jr$2(Vt$2++,7);return Zr$2(e.__H,t)&&(e.__=r(),e.__H=t,e.__h=r),e.__}function qr$3(){for(var r;r=br$3.shift();)if(r.__P&&r.__H)try{r.__H.__h.forEach(lt$3),r.__H.__h.forEach(Ht$2),r.__H.__h=[];}catch(t){r.__H.__h=[],N$3.__e(t,r.__v);}}N$3.__b=function(r){R$2=null,gr$4&&gr$4(r);},N$3.__=function(r,t){r&&t.__k&&t.__k.__m&&(r.__m=t.__k.__m),yr$3&&yr$3(r,t);},N$3.__r=function(r){Nr$3&&Nr$3(r),Vt$2=0;var t=(R$2=r.__c).__H;t&&(Mt$2===R$2?(t.__h=[],R$2.__h=[],t.__.forEach(function(e){e.__N&&(e.__=e.__N),e.u=e.__N=void 0;})):(t.__h.forEach(lt$3),t.__h.forEach(Ht$2),t.__h=[],Vt$2=0)),Mt$2=R$2;},N$3.diffed=function(r){Sr$3&&Sr$3(r);var t=r.__c;t&&t.__H&&(t.__H.__h.length&&(br$3.push(t)!==1&&vr$3===N$3.requestAnimationFrame||((vr$3=N$3.requestAnimationFrame)||Jr$2)(qr$3)),t.__H.__.forEach(function(e){e.u&&(e.__H=e.u),e.u=void 0;})),Mt$2=R$2=null;},N$3.__c=function(r,t){t.some(function(e){try{e.__h.forEach(lt$3),e.__h=e.__h.filter(function(i){return !i.__||Ht$2(i)});}catch(i){t.some(function(n){n.__h&&(n.__h=[]);}),t=[],N$3.__e(i,e.__v);}}),Or$3&&Or$3(r,t);},N$3.unmount=function(r){Ir$3&&Ir$3(r);var t,e=r.__c;e&&e.__H&&(e.__H.__.forEach(function(i){try{lt$3(i);}catch(n){t=n;}}),e.__H=void 0,t&&N$3.__e(t,e.__v));};var Rr$3=typeof requestAnimationFrame==`function`;function Jr$2(r){var t,e=function(){clearTimeout(i),Rr$3&&cancelAnimationFrame(t),setTimeout(r);},i=setTimeout(e,35);Rr$3&&(t=requestAnimationFrame(e));}function lt$3(r){var t=R$2,e=r.__c;typeof e==`function`&&(r.__c=void 0,e()),R$2=t;}function Ht$2(r){var t=R$2;r.__c=r.__(),R$2=t;}function Zr$2(r,t){return !r||r.length!==t.length||t.some(function(e,i){return e!==r[i]})}var te$3=Symbol.for(`preact-signals`);function Bt$2(){if(M$4>1)M$4--;else {for(var r,t=false;q$2!==void 0;){var e=q$2;for(q$2=void 0,Gt$1++;e!==void 0;){var i=e.o;if(e.o=void 0,e.f&=-3,!(8&e.f)&&Ar$3(e))try{e.c();}catch(n){t||(r=n,t=true);}e=i;}}if(Gt$1=0,M$4--,t)throw r}}var m$3=void 0;var q$2=void 0,M$4=0,Gt$1=0,ft$3=0;function Lr$2(r){if(m$3!==void 0){var t=r.n;if(t===void 0||t.t!==m$3)return t={i:0,S:r,p:m$3.s,n:void 0,t:m$3,e:void 0,x:void 0,r:t},m$3.s!==void 0&&(m$3.s.n=t),m$3.s=t,r.n=t,32&m$3.f&&r.S(t),t;if(t.i===-1)return t.i=0,t.n!==void 0&&(t.n.p=t.p,t.p!==void 0&&(t.p.n=t.n),t.p=m$3.s,t.n=void 0,m$3.s.n=t,m$3.s=t),t}}function S$2(r){this.v=r,this.i=0,this.n=void 0,this.t=void 0;}S$2.prototype.brand=te$3;S$2.prototype.h=function(){return true};S$2.prototype.S=function(r){this.t!==r&&r.e===void 0&&(r.x=this.t,this.t!==void 0&&(this.t.e=r),this.t=r);};S$2.prototype.U=function(r){if(this.t!==void 0){var t=r.e,e=r.x;t!==void 0&&(t.x=e,r.e=void 0),e!==void 0&&(e.e=t,r.x=void 0),r===this.t&&(this.t=e);}};S$2.prototype.subscribe=function(r){var t=this;return Z$1(function(){var e=t.value,i=m$3;m$3=void 0;try{r(e);}finally{m$3=i;}})};S$2.prototype.valueOf=function(){return this.value};S$2.prototype.toString=function(){return this.value+``};S$2.prototype.toJSON=function(){return this.value};S$2.prototype.peek=function(){var r=m$3;m$3=void 0;try{return this.value}finally{m$3=r;}};Object.defineProperty(S$2.prototype,`value`,{get:function(){var r=Lr$2(this);return r!==void 0&&(r.i=this.i),this.v},set:function(r){if(r!==this.v){if(Gt$1>100)throw new Error(`Cycle detected`);this.v=r,this.i++,ft$3++,M$4++;try{for(var t=this.t;t!==void 0;t=t.x)t.t.N();}finally{Bt$2();}}}});function b$1(r){return new S$2(r)}function Ar$3(r){for(var t=r.s;t!==void 0;t=t.n)if(t.S.i!==t.i||!t.S.h()||t.S.i!==t.i)return true;return false}function xr$3(r){for(var t=r.s;t!==void 0;t=t.n){var e=t.S.n;if(e!==void 0&&(t.r=e),t.S.n=t,t.i=-1,t.n===void 0){r.s=t;break}}}function Pr$3(r){for(var t=r.s,e=void 0;t!==void 0;){var i=t.p;t.i===-1?(t.S.U(t),i!==void 0&&(i.n=t.n),t.n!==void 0&&(t.n.p=i)):e=t,t.S.n=t.r,t.r!==void 0&&(t.r=void 0),t=i;}r.s=e;}function V$4(r){S$2.call(this,void 0),this.x=r,this.s=void 0,this.g=ft$3-1,this.f=4;}(V$4.prototype=new S$2).h=function(){if(this.f&=-3,1&this.f)return false;if((36&this.f)==32||(this.f&=-5,this.g===ft$3))return true;if(this.g=ft$3,this.f|=1,this.i>0&&!Ar$3(this))return this.f&=-2,true;var r=m$3;try{xr$3(this),m$3=this;var t=this.x();(16&this.f||this.v!==t||this.i===0)&&(this.v=t,this.f&=-17,this.i++);}catch(e){this.v=e,this.f|=16,this.i++;}return m$3=r,Pr$3(this),this.f&=-2,true};V$4.prototype.S=function(r){if(this.t===void 0){this.f|=36;for(var t=this.s;t!==void 0;t=t.n)t.S.S(t);}S$2.prototype.S.call(this,r);};V$4.prototype.U=function(r){if(this.t!==void 0&&(S$2.prototype.U.call(this,r),this.t===void 0)){this.f&=-33;for(var t=this.s;t!==void 0;t=t.n)t.S.U(t);}};V$4.prototype.N=function(){if(!(2&this.f)){this.f|=6;for(var r=this.t;r!==void 0;r=r.x)r.t.N();}};Object.defineProperty(V$4.prototype,`value`,{get:function(){if(1&this.f)throw new Error(`Cycle detected`);var r=Lr$2(this);if(this.h(),r!==void 0&&(r.i=this.i),16&this.f)throw this.v;return this.v}});function Wt$1(r){return new V$4(r)}function Cr$3(r){var t=r.u;if(r.u=void 0,typeof t==`function`){M$4++;var e=m$3;m$3=void 0;try{t();}catch(i){throw r.f&=-2,r.f|=8,$t$2(r),i}finally{m$3=e,Bt$2();}}}function $t$2(r){for(var t=r.s;t!==void 0;t=t.n)t.S.U(t);r.x=void 0,r.s=void 0,Cr$3(r);}function re$3(r){if(m$3!==this)throw new Error(`Out-of-order effect`);Pr$3(this),m$3=r,this.f&=-2,8&this.f&&$t$2(this),Bt$2();}function J$2(r){this.x=r,this.u=void 0,this.s=void 0,this.o=void 0,this.f=32;}J$2.prototype.c=function(){var r=this.S();try{if(8&this.f||this.x===void 0)return;var t=this.x();typeof t==`function`&&(this.u=t);}finally{r();}};J$2.prototype.S=function(){if(1&this.f)throw new Error(`Cycle detected`);this.f|=1,this.f&=-9,Cr$3(this),xr$3(this),M$4++;var r=m$3;return m$3=this,re$3.bind(this,r)};J$2.prototype.N=function(){2&this.f||(this.f|=2,this.o=q$2,q$2=this);};J$2.prototype.d=function(){this.f|=8,1&this.f||$t$2(this);};function Z$1(r){var t=new J$2(r);try{t.c();}catch(e){throw t.d(),e}return t.d.bind(t)}var Ft$2;function H$4(r,t){d$1[r]=t.bind(null,d$1[r]||function(){});}function ct$3(r){Ft$2&&Ft$2(),Ft$2=r&&r.S();}function Tr$2(r){var t=this,e=r.data,i=ie$4(e);i.value=e;var n=kt$3(function(){for(var o=t.__v;o=o.__;)if(o.__c){o.__c.__$f|=4;break}return t.__$u.c=function(){var _,u=t.__$u.S(),l=n.value;u(),Ct$3(l)||((_=t.base)==null?void 0:_.nodeType)!==3?(t.__$f|=1,t.setState({})):t.base.data=l;},Wt$1(function(){var _=i.value.value;return _===0?0:_===true?``:_||``})},[]);return n.value}Tr$2.displayName=`_st`;Object.defineProperties(S$2.prototype,{constructor:{configurable:true,value:void 0},type:{configurable:true,value:Tr$2},props:{configurable:true,get:function(){return {data:this}}},__b:{configurable:true,value:1}});H$4(`__b`,function(r,t){if(typeof t.type==`string`){var e,i=t.props;for(var n in i)if(n!==`children`){var o=i[n];o instanceof S$2&&(e||(t.__np=e={}),e[n]=o,i[n]=o.peek());}}r(t);});H$4(`__r`,function(r,t){ct$3();var e,i=t.__c;i&&(i.__$f&=-2,(e=i.__$u)===void 0&&(i.__$u=e=(function(n){var o;return Z$1(function(){o=this;}),o.c=function(){i.__$f|=1,i.setState({});},o})())),ct$3(e),r(t);});H$4(`__e`,function(r,t,e,i){ct$3(),r(t,e,i);});H$4(`diffed`,function(r,t){ct$3();var e;if(typeof t.type==`string`&&(e=t.__e)){var i=t.__np,n=t.props;if(i){var o=e.U;if(o)for(var _ in o){var u=o[_];u!==void 0&&!(_ in i)&&(u.d(),o[_]=void 0);}else e.U=o={};for(var l in i){var f=o[l],h=i[l];f===void 0?(f=ee$2(e,l,h,n),o[l]=f):f.o(h,n);}}}r(t);});function ee$2(r,t,e,i){var n=t in r&&r.ownerSVGElement===void 0,o=b$1(e);return {o:function(_,u){o.value=_,i=u;},d:Z$1(function(){var _=o.value.value;i[t]!==_&&(i[t]=_,n?r[t]=_:_?r.setAttribute(t,_):r.removeAttribute(t));})}}H$4(`unmount`,function(r,t){if(typeof t.type==`string`){var e=t.__e;if(e){var i=e.U;if(i){e.U=void 0;for(var n in i){var o=i[n];o&&o.d();}}}}else {var _=t.__c;if(_){var u=_.__$u;u&&(_.__$u=void 0,u.d());}}r(t);});H$4(`__h`,function(r,t,e,i){(i<3||i===9)&&(t.__$f|=2),r(t,e,i);});D$2.prototype.shouldComponentUpdate=function(r,t){var e=this.__$u,i=e&&e.s!==void 0;for(var n in t)return true;if(this.__f||typeof this.u==`boolean`&&this.u===true){if(!(i||2&this.__$f||4&this.__$f)||1&this.__$f)return true}else if(!(i||4&this.__$f)||3&this.__$f)return true;for(var o in r)if(o!==`__source`&&r[o]!==this.props[o])return true;for(var _ in this.props)if(!(_ in r))return true;return false};function ie$4(r){return kt$3(function(){return b$1(r)},[])}var at$2=class at{id;mID;vID;vName;imageURL;name;link;quantity;price;finalPrice;constructor(t){this.id=t.id,this.mID=t.mID,this.vID=t.vID,this.vName=t.vName,this.imageURL=t.imageURL,this.name=t.name,this.link=t.link,this.quantity=t.quantity,this.price=t.price,this.finalPrice=t.finalPrice??t.price;}};var ht$3=class ht{url;alt;constructor(t){t.alt&&(this.alt=t.alt),this.url=t.url;}};var pt$2=class pt{d;cmp;effective;constructor(t={}){this.d=t.d,this.cmp=t.cmp,this.effective=this.d;}};var Kt$2=class Kt{id;mID;name;groupID;groupName;isSelected;constructor(t){t??={},this.id=t.id,this.mID=t.mID,this.name=t.name,this.groupID=t.groupID,this.groupName=t.groupName,this.isSelected=t.isSelected??false;}},dt$2=class dt{mID;name;imgs;link;price;sku;isAvailable;quantity;sellingPlans;selectedOptions;selectedSellingPlan;effectivePrice;constructor(t){t=t??{},this.mID=t.mID,this.name=t.name,this.imgs=t.imgs?.map(e=>new ht$3(e))??[],this.link=t.link,this.price=new pt$2(t.price),this.sku=t.sku,this.isAvailable=t.isAvailable,this.quantity=t.quantity,this.selectedOptions=t.selectedOptions??[],this.effectivePrice=b$1(this.price.effective),t.sellingPlans?.length&&(this.selectedSellingPlan=b$1(void 0)),this.sellingPlans=t.sellingPlans?.map(e=>{let i=new Kt$2(e);return i.isSelected&&(this.selectedSellingPlan.value=i),i});}getOneImage(){return this.imgs[0]?.url}changeSellingPlan(t){this.selectedSellingPlan.value=t;}hasEffectivePrice(){return this.effectivePrice.value!==this.price.d}};function zt$1(r,t){for(let e of r){let i=t.get(e.attr),n=Array.isArray(i),o=typeof i==`string`,_=typeof i==`number`&&typeof e.value==`number`,u=Array.isArray(e.value),l=true;switch(e.op){case `contains`:l=(n||o)&&i.includes(e.value);break;case `notContains`:l=(n||o)&&!i.includes(e.value);break;case `eq`:l=i===e.value;break;case `ne`:l=i!==e.value;break;case `gt`:l=_&&i>e.value;break;case `gte`:l=_&&i>=e.value;break;case `lt`:l=_&&i<e.value;break;case `lte`:l=_&&i<=e.value;break;case `in`:l=u&&e.value.includes(i);break;case `nin`:l=u&&!e.value.includes(i);break;case `between`:l=_&&u&&e.value.length===2&&i>=e.value[0]&&i<=e.value[1];break;case `all`:l=n&&u&&e.value.every(f=>i.includes(f));break;default:l=false;break}if(!l)return false}return true}var mt$3=class mt{id;mID;name;options;imgs;vars;desc;link;slug;quantity;category;meta;reviews;tags;templateSuffix;cardClasses;vendor;selectedOrFirstVariant;selected=b$1(true);selectedQty=b$1(1);_showAddToCartButton;constructor(t){this.update(t),this.selectedOrFirstVariant=b$1(this.selectedVariant),this._showAddToCartButton=this.evaluateShowATCFlag();}get firstImageURL(){return this.imgs?.[0]?.url}get secondaryImageURL(){return this.imgs?.[1]?.url}get getVariantImages(){return this.selectedOrFirstVariant.value.imgs}get variantImage(){return this.getVariantImages[0]?.url}get variantSecondaryImage(){return this.getVariantImages[1]?.url}get showAddToCartButton(){return this._showAddToCartButton}set variants(t){this.vars=t,this.selectedOrFirstVariant.value=this.selectedVariant;}set selectedQuantity(t){this.selectedQty.value=Math.max(1,t);}get selectedVariant(){return this.vars.find(t=>t.isAvailable)??this.vars[0]}hasVariants(){return this.vars?.length>1}setSelectedVariant(t){this.selectedOrFirstVariant.value=t;}setSelectedVariantByID(t){if(!t)return;let e=this.vars.find(i=>i.mID===t.toString());e&&this.setSelectedVariant(e);}update(t){return this.id=t.id??this.id,this.mID=t.mID??this.mID,this.name=t.name??this.name,this.imgs=t.imgs??this.imgs,this.desc=t.desc??this.desc,this.link=t.link??this.link,this.slug=t.slug??this.slug,this.quantity=t.quantity??this.quantity,this.meta=t.meta??this.meta,this.category=t.category??this.category,this.reviews=t.reviews??this.reviews,this.options=t.options??this.options,this.tags=t.tags??this.tags,this.templateSuffix=t.templateSuffix??this.templateSuffix,this.vendor=t.vendor??this.vendor,t.vars&&(this.vars=t.vars.map(e=>new dt$2(e))),this}toEmbed(t){return t=t??this.selectedOrFirstVariant.value,new at$2({id:this.id,mID:this.mID,vID:t.mID,vName:t.name,name:this.name,link:this.link,slug:this.slug,price:t.price.d,imageURL:t.getOneImage()??this.imgs?.[0].url})}getTemplateVariables(){let t=this.selectedOrFirstVariant.value,e=t.price,i=this.name,n=this.category,o=this.variantImage??this.firstImageURL,_=this.meta,u=this.tags?.join(`,`)??``,l=this.reviews?.rating,f=this.reviews?.totalReviews,h=this.vendor,s$1=e.cmp&&e.cmp>e.d,p=s$3(r$2({name:i},Gn$1(`price`,e.d,true)),{image_url:o,meta:_,category:n,rating:l,reviews:f,tags:u,vendor:h,variant_count:this.vars?.length??0});if(t.hasEffectivePrice()){let g=Gn$1(`effective_price`,t.effectivePrice.value,true);Object.assign(p,g);}if(s$1){let g=e.cmp-e.d,y={discount_percent:(g/e.cmp*100).toFixed(0)};Object.assign(p,y),Object.assign(p,Gn$1(`compare_price`,e.cmp)),Object.assign(p,Gn$1(`discount_price`,g));}return {product:p,variant:{name:t.name,quantity:t.quantity}}}evaluateShowATCFlag(){let t=he$4.get().widgetCustomisation?.atcButton?.showWhen;if(!t?.predicates?.length)return true;let e=t.predicates,i=this.getValueMap(e);return t.op===`or`?e.some(n=>zt$1([n],i)):zt$1(e,i)}getValueMap(t){let e=new Map;for(let i of t){let n=i.attr.split(`.`);switch(n[1]){case `tags`:e.set(i.attr,this.tags);break;case `type`:case `category`:e.set(i.attr,this.category);break;case `meta`:case `metafield`:{let _=n[2];if(!_)continue;e.set(i.attr,this.meta?.[_]);break}}}return e}};var vt$2=class vt{id;alt;shortID;sources;items;durationMS;thumbnail;card;bestSource;highSource;goodSource;lowSource;m3u8Source;constructor(t={}){if(this.id=t.id,this.alt=t.alt,this.shortID=t.shortID,this.sources=t.sources?.sort((e,i)=>i.height-e.height),this.durationMS=t.durationMS,this.thumbnail=t.thumbnail,this.items=t.items?t.items.map(e=>new mt$3(e)):[],this.card=t.card,this.sources){let e=[];for(let i of this.sources)i.format===`mp4`?e.push(i):i.format===`m3u8`&&!this.m3u8Source&&(this.m3u8Source=i);e.length>0&&(this.bestSource=e[0],this.highSource=e.length>1?e[1]:e[0],this.lowSource=e.length>2?e[e.length-1]:e[0]);}}};var ne$2=(e=>(e.CLASSIC=`CLASSIC`,e.ITEM_CARD_HEADER=`ITEM_CARD_HEADER`,e))(ne$2||{});var oe$5=(i=>(i.ON=`ON`,i.OFF=`OFF`,i.ON_HOVER=`ON_HOVER`,i))(oe$5||{}),se$4=(n=>(n.FIRST_ITEM=`FIRST_ITEM`,n.ITEM_SWIPER=`ITEM_SWIPER`,n.CARD=`CARD`,n.NONE=`NONE`,n))(se$4||{});var wr$3=class wr{videoEntries;source;template;heading;autoPlay;showMuteButton;footerContent;detailPopup;playlistConfig;itemDetailConfig;constructor(t={}){this.videoEntries=t.videoEntries?.map(e=>({video:new vt$2(e.video),title:e.title}))??[],this.source=t.source,this.template=t.template,this.detailPopup=t.detailPopup??{template:`VIDEO_ONLY_VIEW`},this.heading=t.heading,this.showMuteButton=t.showMuteButton,this.autoPlay=t.autoPlay??`ON`,this.footerContent=t.footerContent??`FIRST_ITEM`,this.playlistConfig={videoSwiper:t.playlistConfig?.videoSwiper??void 0,itemCardClickBehavior:t.playlistConfig?.itemCardClickBehavior??`OPEN_VIDEO_DETAIL`},this.itemDetailConfig={template:t.itemDetailConfig?.template??`CLASSIC`};}showItems(){return this.footerContent===`FIRST_ITEM`||this.footerContent===`ITEM_SWIPER`}};var Dr$1=class Dr{t;bg;br;clc;shd;spc;trf;a;w;h;x;y;constructor(t){this.t=t.t,t.bg&&(this.bg=new P$2(t.bg)),t.br&&(this.br=new C$4(t.br)),t.shd&&(this.shd=new Q$2(t.shd)),t.spc&&(this.spc=new T$2(t.spc)),this.trf=new X$3(t.trf),this.clc=t.clc,this.w=t.w,this.h=t.h,this.x=t.x,this.y=t.y,this.a=t.a;}get alpha(){return this.a??100}get type(){return this.t}get typeAsString(){return k$3[this.t]}get click(){return this.clc}},k$3=(c=>(c[c.IMAGE=1]=`IMAGE`,c[c.TEXT=2]=`TEXT`,c[c.BUTTON=3]=`BUTTON`,c[c.FLEXBOX=4]=`FLEXBOX`,c[c.MULTI_COLUMN=5]=`MULTI_COLUMN`,c[c.CHECKBOX=6]=`CHECKBOX`,c[c.PARTIAL=8]=`PARTIAL`,c[c.PRODUCTS=11]=`PRODUCTS`,c[c.PRODUCT=12]=`PRODUCT`,c[c.PRODUCT_IMAGE=13]=`PRODUCT_IMAGE`,c[c.PRODUCT_TITLE=14]=`PRODUCT_TITLE`,c[c.PRODUCT_VARIATIONS=15]=`PRODUCT_VARIATIONS`,c[c.PRODUCT_VARIATIONS_SELLING_PLANS=16]=`PRODUCT_VARIATIONS_SELLING_PLANS`,c[c.PRODUCT_BUTTON=18]=`PRODUCT_BUTTON`,c[c.PRODUCT_RATING=19]=`PRODUCT_RATING`,c[c.EMAIL_INPUT=51]=`EMAIL_INPUT`,c[c.PHONE_INPUT=52]=`PHONE_INPUT`,c[c.COUNTDOWN_TIMER=61]=`COUNTDOWN_TIMER`,c[c.CAROUSEL=62]=`CAROUSEL`,c[c.SHAPE=100]=`SHAPE`,c))(k$3||{});var Ur$2=0;function _e$2(r=document.head){return Mr$3(fe$4.styleURL,r,`cooee-global-styles`)}function ue$3(r=document.head){return Mr$3(`${rn}/swiper-bundle.min.css`,r,`swiper-styles`)}function Mr$3(r,t=document.head,e){return new Promise(i=>{if(t.querySelector(`#${e}`)){i();return}let o=document.createElement(`link`);o.rel=`stylesheet`,o.href=r,o.id=e,o.onload=()=>{i();},o.onerror=()=>{console.error(`Failed to load stylesheet:`,r),i();},t.appendChild(o);})}function le$4(r,t=document.head){if(!r)return;Ur$2++;let e=document.createElement(`style`);e.id=`cooee-app-css-${Ur$2}`,e.textContent=r,t.appendChild(e);}function Ui$2(r){if(!r)return;let t=document.createElement(`script`);t.id=`cooee-app-script`,t.innerHTML=r,document.head.appendChild(t);}function Mi$2(r){if(r)try{(0,eval)(r);}catch(t){console.error(`Failed to execute script:`,t);}}async function Vi$2(){let r=(await import(`${rn}/swiper-bundle.min.mjs`)).Swiper;return window.CooeeSDK.Swiper=r}async function Hi$2(r,t=true){if(!r)return;let e=[];t&&e.push(ue$3(r)),e.push(_e$2(r)),await Promise.all(e);let i=he$4.get().website.commonCSS;le$4(i,r);}var fe$3=(function(r){return r[r.SINGLE=1]=`SINGLE`,r[r.EXCLUSION=2]=`EXCLUSION`,r[r.ABTESTING=3]=`ABTESTING`,r[r.GLOBAL_AB=4]=`GLOBAL_AB`,r})(fe$3||{});var ce$3=(function(r){return r.BEFORE=`before`,r.AFTER=`after`,r.INSIDE_FIRST=`insideFirst`,r.INSIDE_LAST=`insideLast`,r.BEFORE1=`BEFORE`,r.AFTER1=`AFTER`,r.INSIDE_FIRST1=`INSIDE_FIRST`,r.INSIDE_LAST1=`INSIDE_LAST`,r})(ce$3||{}),ae$4=(function(r){return r.SHOPIFY_CHECKOUT=`shopify_checkout`,r.THIRD_PARTY_CHECKOUT=`third_party_checkout`,r.CART_PAGE=`cart_page`,r.CART_DRAWER=`cart_drawer`,r})(ae$4||{});var he$3=(function(r){return r[r.NONE=0]=`NONE`,r[r.REJECT_POPUP=1]=`REJECT_POPUP`,r[r.ACCEPT_POPUP=2]=`ACCEPT_POPUP`,r[r.GO_TO_URL=4]=`GO_TO_URL`,r[r.SHARE=5]=`SHARE`,r[r.KEY_VALUE=100]=`KEY_VALUE`,r[r.GO_TO_PRODUCT=101]=`GO_TO_PRODUCT`,r[r.ADD_TO_CART=102]=`ADD_TO_CART`,r[r.COPY_COUPON_CODE=103]=`COPY_COUPON_CODE`,r[r.GO_TO_COLLECTION=104]=`GO_TO_COLLECTION`,r[r.OPEN_CART=105]=`OPEN_CART`,r[r.SUBMIT_FORM=106]=`SUBMIT_FORM`,r[r.INITIATE_CHECKOUT=107]=`INITIATE_CHECKOUT`,r[r.ADD_BUNDLE=108]=`ADD_BUNDLE`,r[r.UPGRADE_TO_SUBSCRIPTION=109]=`UPGRADE_TO_SUBSCRIPTION`,r[r.BUY_NOW=110]=`BUY_NOW`,r[r.QUICK_VIEW=111]=`QUICK_VIEW`,r})(he$3||{}),pe$3=(function(r){return r.POPUP=`POPUP`,r.PAGE_EMBED=`PAGE_EMBED`,r.CART_EMBED=`CART_EMBED`,r.ANNOUNCEMENT_BAR=`ANNOUNCEMENT_BAR`,r.CHECKOUT_PAGE=`CHECKOUT_PAGE`,r})(pe$3||{}),de$3=(function(r){return r.PRODUCT_PROMOTION=`PRODUCT_PROMOTION`,r.BUNDLE_AND_UPSELL=`BUNDLE_AND_UPSELL`,r.CART_RECOVERY=`CART_RECOVERY`,r.ANNOUNCEMENT=`ANNOUNCEMENT`,r.LEAD_GENERATION=`LEAD_GENERATION`,r.DATA_COLLECTION=`DATA_COLLECTION`,r.SALE_PROMOTION=`SALE_PROMOTION`,r.SUBSCRIPTION_UPSELL=`SUBSCRIPTION_UPSELL`,r.SHOPPABLE_VIDEO=`SHOPPABLE_VIDEO`,r.BYOB=`BYOB`,r.PROGRESS_BAR=`PROGRESS_BAR`,r.BUY_NOW=`BUY_NOW`,r.STICKY_ATC=`STICKY_ATC`,r.EXPERIMENT=`EXPERIMENT`,r.SAVINGS_BAR=`SAVINGS_BAR`,r.COLLECTION_FILTER=`COLLECTION_FILTER`,r.COLLECTION_PROMOTION=`COLLECTION_PROMOTION`,r.ADD_ONS=`ADD_ONS`,r})(de$3||{}),me$3=(function(r){return r.COOEE=`COOEE`,r.KLAVIYO=`KLAVIYO`,r})(me$3||{}),ve$3=(function(r){return r.ICONS=`ICONS`,r.TILES=`TILES`,r})(ve$3||{}),Ee$4=(function(r){return r.FREE_SHIPPING=`FREE_SHIPPING`,r.DISCOUNT=`DISCOUNT`,r.FREE_AUTO_GIFT=`FREE_AUTO_GIFT`,r.FREE_GIFT_SELECT=`FREE_GIFT_SELECT`,r.UI_ONLY=`UI_ONLY`,r})(Ee$4||{});var Et$2=class Et{gap;dir;wrap;jc;ai;scroll;constructor(t){t??={},this.gap=t.gap??0,this.dir=t.dir??`row`,this.wrap=t.wrap??`nowrap`,this.jc=t.jc??`flex-start`,this.ai=t.ai??`flex-start`,this.scroll=t.scroll;}};var gt$2=class gt{of;disp;pos;top;bottom;left;right;zIndex;constructor(t){t??={},this.of=t.of,this.disp=t.disp,this.pos=t.pos,this.top=t.top,this.bottom=t.bottom,this.left=t.left,this.right=t.right,this.zIndex=t.zIndex;}};var Nt$2=class Nt{w;h;maxW;maxH;minW;minH;constructor(t){t??={},this.w=t.w??`100%`,this.h=t.h??`auto`,this.maxW=t.maxW,this.maxH=t.maxH,this.minW=t.minW,this.minH=t.minH;}};var Qt$2=(n=>(n[n.START=0]=`START`,n[n.CENTER=1]=`CENTER`,n[n.END=2]=`END`,n[n.JUSTIFY=3]=`JUSTIFY`,n))(Qt$2||{});var St$2=class St{name;fonts;constructor(t){t=t??{},t.name&&(t.name=t.name!==`Arial`?t.name:``),this.name=t.name,this.fonts=t.fonts?.map(e=>new Xt$1(e));}},Xt$1=class Xt{style;url;constructor(t){t=t??{},this.style=t.style,this.url=t.url;}getFontDescriptor(){return {style:this.style===2||this.style===4?`italic`:`normal`,weight:this.style===4||this.style===3?`700`:`400`}}getURL(){return `url('${this.url}') format('truetype')`}};var G$2=class G{fw;fs;fam;fmly;lh=1.2;ls;s;tc;ta;td;tdc;constructor(t){this.update(t);}get alignment(){return Qt$2[this.ta]}get letterSpacing(){return this.ls?this.ls+`px`:`normal`}update(t){t=t??{},t.lh&&(this.lh=t.lh),t.tdc&&(this.tdc=new I$2(t.tdc)),this.td=t.td,this.fs=t.s??t.fs??60,this.tc=new I$2(t.tc),this.ta=t.ta??1,this.fw=t.fw??400,this.ls=t.ls??0,this.tc.h??=`#000000`,this.fam=new St$2(t.fam??t.fmly);}resize(t){this.s*=t,this.ls*=t;}};var Ot$2=class Ot{size;bg;br;spc;typo;lout;flex;constructor(t){t??={},this.spc=new T$2(t.spc),t.size&&(this.size=new Nt$2(t.size)),t.bg&&(this.bg=new P$2(t.bg)),t.br&&(this.br=new C$4(t.br)),t.typo&&(this.typo=new G$2(t.typo)),t.lout&&(this.lout=new gt$2(t.lout)),t.flex&&(this.flex=new Et$2(t.flex));}},It$2=class It{sm;lg;constructor(t){t??={},this.sm=new Ot$2(t.sm),this.lg=new Ot$2(t.lg);}};var yt$1=class yt{t;classes;style;hide;when;clc;l;constructor(t,e){e??={},this.t=t,this.classes=e.classes??``,this.style=new It$2(e.style),this.hide=e.hide,this.l=e.l,e.when?.op&&(this.when=e.when),e.clc&&(this.clc=e.clc);}get stringType(){return k$3[this.t]}};var Rt$3=class Rt extends yt$1{text;constructor(t,e){t?.style?.lg?.typo?.s&&delete t.style.lg.typo.s,t?.style?.sm?.typo?.s&&delete t.style.sm.typo.s,super(e??2,t),t??={},this.text=t.text;}};var ge$3=(i=>(i.SINGLE=`SINGLE`,i.MULTIPLE=`MULTIPLE`,i.CHIPS=`CHIPS`,i))(ge$3||{}),Vr$3=class Vr extends Rt$3{showChips;optionsConfig;type;horizontal;constructor(t=15,e){super(e,t),e??={},this.showChips=e.showChips??false,this.optionsConfig=e.optionsConfig??{},this.horizontal=e.horizontal,e.type?this.type=e.type:e.showChips?this.type=`CHIPS`:this.type=`SINGLE`;}};var Ne$3=(i=>(i[i.LOW=1]=`LOW`,i[i.MEDIUM=2]=`MEDIUM`,i[i.HIGH=3]=`HIGH`,i))(Ne$3||{}),Se$5=(e=>(e.SINGLE_PANE=`SINGLE_PANE`,e.TWO_PANE=`TWO_PANE`,e))(Se$5||{});function vn(r){if(!r)return {display:`block`};let t={display:r.disp};return r.of&&(t.objectFit=r.of),r.pos===`absolute`&&(t.width=`auto !important`,t.position=`absolute`,t.right=r.right+`px`,t.left=r.left+`px`,t.top=r.top+`px`,t.bottom=r.bottom+`px`),t}function En(r){return r?{gap:r.gap+`px`,flexWrap:r.wrap,flexDirection:r.dir,justifyContent:r.jc,alignItems:r.ai,width:`100%`}:{}}function Hr$3(r,t,e){if(e??={},r.type===`LINEAR`){let i=`linear-gradient(${r.ang}deg, ${r.c1}, ${r.c2}`;r.c3&&(i+=`, ${r.c3}`),i+=`)`,e[t]=i;}return e}function jt$2(r,t=`color`,e){return e??={},r?r.grad?Hr$3(r.grad,t,e):(r.hex&&(e[t]=r.rgba),e):e}function A$2(r,t){return Oe$2(r,t)+`px`}function Oe$2(r,t=1){return (r??0)*t}function gn(r){let t={};return r?.w&&(t.width=r.w),r?.h&&(t.height=r.h),r?.maxW&&(t.maxWidth=r.maxW),r?.maxH&&(t.maxHeight=r.maxH),r?.minW&&(t.minWidth=r.minW),r?.minH&&(t.minHeight=r.minH),t}function Nn$1(r,t){if(!r)return {};let e={};return r.radius&&r.radius>0&&(e.borderRadius=A$2(r.radius,t)),r.width&&r.width>0&&(e.borderWidth=A$2(r.width,t),e.borderStyle=r.style?.toLowerCase(),r.color?jt$2(r.color,`border-color`,e):e.borderColor=`black`),e}function Sn(r,t){let e={};return r?(e.paddingTop=A$2(r.pt,t),e.paddingBottom=A$2(r.pb,t),e.paddingLeft=A$2(r.pl,t),e.paddingRight=A$2(r.pr,t),e.marginTop=A$2(r.mt,t),e.marginBottom=A$2(r.mb,t),e.marginLeft=r.cent?`auto`:A$2(r.ml,t),e.marginRight=r.cent?`auto`:A$2(r.mr,t),e):(e.margin=`0 !important`,e.padding=`unset`,e)}function On(r){if(!r)return {};let t={};if(r.glossy){let e=`backdrop-filter`,i=`-webkit-`+e,n=`blur(${r.glossy.radius}px)`;if(!CSS.supports(i,n)&&!CSS.supports(e,n))return {background:r.glossy.fallback.rgba};if(t[i]=n,t[e]=n,r.glossy.color)return jt$2(r.glossy.color,`background`,t)}else if(r.solid){if(r.solid.grad)return Hr$3(r.solid.grad,`background`,t);if(r.solid.hex)return {backgroundColor:r.solid.rgba}}else if(r.img){if(!r.img.src)return {};let e=(r.img.a??0)/100;t.background=`linear-gradient(rgba(0, 0, 0, ${e}), rgba(0, 0, 0, ${e})),url("${r.img.src}") no-repeat center`,t.backgroundSize=`cover`,r.img.a&&(t[`-webkit-backdrop-filter`]=`opacity(${r.img.a})`,t.backdropFilter=`opacity(${r.img.a})`);}return t}function In(r=new G$2){let t={};return t.letterSpacing=r.letterSpacing,t.fontSize=r.fs+`px`,t.lineHeight=r.lh,t.fontFamily=r.fam.name||`inherit`,t.textAlign=r.alignment,t.fontWeight=r.fw,t.textDecoration=r.td??`none`,jt$2(r.tc,`color`,t),t.boxShadow=`none`,t}
|
|
12
|
+
var K$3=`a-f\\d`,kr$4=`#?[${K$3}]{3}[${K$3}]?`,Gr$3=`#?[${K$3}]{6}([${K$3}]{2})?`,Br$3=new RegExp(`[^#${K$3}]`,`gi`),Wr$3=new RegExp(`^${kr$4}$|^${Gr$3}$`,`i`);function At$1(r,t={}){if(typeof r!=`string`||Br$3.test(r)||!Wr$3.test(r))throw new TypeError(`Expected a valid hex string`);r=r.replace(/^#/,``);let e=1;r.length===8&&(e=Number.parseInt(r.slice(6,8),16)/255,r=r.slice(0,6)),r.length===4&&(e=Number.parseInt(r.slice(3,4).repeat(2),16)/255,r=r.slice(0,3)),r.length===3&&(r=r[0]+r[0]+r[1]+r[1]+r[2]+r[2]);let i=Number.parseInt(r,16),n=i>>16,o=i>>8&255,_=i&255,u=typeof t.alpha==`number`?t.alpha:e;if(t.format===`array`)return [n,o,_,u];if(t.format===`css`)return `rgb(${n} ${o} ${_}${u===1?``:` / ${Number((u*100).toFixed(2))}%`})`;return {red:n,green:o,blue:_,alpha:u}}var I$2=class I{h;a=100;g;constructor(t){t??={},this.h=t.h,this.a=t.a,this.g=t.g;}get hex(){return this.h}get grad(){return this.g}get rgba(){if(!this.hex)return ``;try{return At$1(this.hex,{format:`css`,alpha:this.getAlpha()})}catch(t){return console.error(`Invalid hex`,t),`#000000`}}getAlpha(){return (this.a??100)/100}};var P$2=class P{s;g;i;constructor(t){t.s&&(this.s=new I$2(t.s)),t.g&&(this.g=new z$5(t.g)),this.i=t.i;}get solid(){return this.s}get glossy(){return this.g}get img(){return this.i}};var C$4=class C{s;r;w;c;constructor(t){this.s=t.s,this.r=t.r,this.w=t.w,t.c&&(this.c=new I$2(t.c));}get radius(){return this.r}get width(){return this.w}get color(){return this.c}get style(){return rr$4[this.s??1]}},rr$4=(e=>(e[e.SOLID=1]=`SOLID`,e[e.DASHED=2]=`DASHED`,e))(rr$4||{});var z$5=class r{static DEFAULT_FALLBACK=new I$2({h:`#000000`,a:50});r;c;fb;constructor(t){this.r=t.r,t.c&&(this.c=new I$2(t.c)),t.fb&&(this.fb=new I$2(t.fb));}get radius(){return this.r}get color(){return this.c}get fallback(){return this.fb??r.DEFAULT_FALLBACK}};var Q$2=class Q{blur;spr;clr;x;y;constructor(t){t=t??{},this.blur=t.blur??0,this.spr=t.spr??0,this.x=t.x??0,this.y=t.y??0,this.clr=new I$2(t.clr);}getStyle(t){return `${this.x*t}px ${this.y*t}px ${this.blur*t}px ${this.spr*t}px ${this.clr.rgba}`}};var T$2=class T{pl;pr;pt;pb;ml;mr;mt;mb;cent;constructor(t){t=t??{},this.pl=t.pl??0,this.pr=t.pr??0,this.pt=t.pt??0,this.pb=t.pb??0,this.ml=t.ml??0,this.mr=t.mr??0,this.mt=t.mt??0,this.mb=t.mb??0,this.cent=t.cent??false;}getHorizontal(){return this.pl+this.pr}getVertical(){return this.pt+this.pb}getPaddingCSS(){return `${this.pt}px ${this.pr}px ${this.pb}px ${this.pl}px`}};var X$3=class X{rot;constructor(t){t?.rot&&(this.rot=t.rot);}get rotate(){return this.rot}},st$2,d$1,sr$3,Ct$3,w$3,er$4,_r$4,ur$4,lr$4,Tt,xt$1,Pt$1,j$3={},fr$3=[],Fr$1=/acit|ex(?:s|g|n|p|$)|rph|grid|ows|mnc|ntw|ine[ch]|zoo|^ord|itera/i,_t$3=Array.isArray;function x$3(r,t){for(var e in t)r[e]=t[e];return r}function wt$1(r){r&&r.parentNode&&r.parentNode.removeChild(r);}function Yr$2(r,t,e){var i,n,o,_={};for(o in t)o==`key`?i=t[o]:o==`ref`?n=t[o]:_[o]=t[o];if(arguments.length>2&&(_.children=arguments.length>3?st$2.call(arguments,2):e),typeof r==`function`&&r.defaultProps!=null)for(o in r.defaultProps)_[o]===void 0&&(_[o]=r.defaultProps[o]);return nt$1(r,_,i,n,null)}function nt$1(r,t,e,i,n){var o={type:r,props:t,key:e,ref:i,__k:null,__:null,__b:0,__e:null,__c:null,constructor:void 0,__v:n??++sr$3,__i:-1,__u:0};return n==null&&d$1.vnode!=null&&d$1.vnode(o),o}function ut$3(r){return r.children}function D$2(r,t){this.props=r,this.context=t;}function U$1(r,t){if(t==null)return r.__?U$1(r.__,r.__i+1):null;for(var e;t<r.__k.length;t++)if((e=r.__k[t])!=null&&e.__e!=null)return e.__e;return typeof r.type==`function`?U$1(r):null}function cr$3(r){var t,e;if((r=r.__)!=null&&r.__c!=null){for(r.__e=r.__c.base=null,t=0;t<r.__k.length;t++)if((e=r.__k[t])!=null&&e.__e!=null){r.__e=r.__c.base=e.__e;break}return cr$3(r)}}function ir$4(r){(!r.__d&&(r.__d=true)&&w$3.push(r)&&!ot$2.__r++||er$4!=d$1.debounceRendering)&&((er$4=d$1.debounceRendering)||_r$4)(ot$2);}function ot$2(){for(var r,t,e,i,n,o,_,u=1;w$3.length;)w$3.length>u&&w$3.sort(ur$4),r=w$3.shift(),u=w$3.length,r.__d&&(e=void 0,n=(i=(t=r).__v).__e,o=[],_=[],t.__P&&((e=x$3({},i)).__v=i.__v+1,d$1.vnode&&d$1.vnode(e),Dt$1(t.__P,e,i,t.__n,t.__P.namespaceURI,32&i.__u?[n]:null,o,n??U$1(i),!!(32&i.__u),_),e.__v=i.__v,e.__.__k[e.__i]=e,pr$4(o,e,_),e.__e!=n&&cr$3(e)));ot$2.__r=0;}function ar$4(r,t,e,i,n,o,_,u,l,f,h){var s,p,a,g,y,S,v=i&&i.__k||fr$3,E=t.length;for(l=Kr$3(e,t,v,l,E),s=0;s<E;s++)(a=e.__k[s])!=null&&(p=a.__i==-1?j$3:v[a.__i]||j$3,a.__i=s,S=Dt$1(r,a,p,n,o,_,u,l,f,h),g=a.__e,a.ref&&p.ref!=a.ref&&(p.ref&&Ut$1(p.ref,null,a),h.push(a.ref,a.__c||g,a)),y==null&&g!=null&&(y=g),4&a.__u||p.__k===a.__k?l=hr$4(a,l,r):typeof a.type==`function`&&S!==void 0?l=S:g&&(l=g.nextSibling),a.__u&=-7);return e.__e=y,l}function Kr$3(r,t,e,i,n){var o,_,u,l,f,h=e.length,s=h,p=0;for(r.__k=new Array(n),o=0;o<n;o++)(_=t[o])!=null&&typeof _!=`boolean`&&typeof _!=`function`?(l=o+p,(_=r.__k[o]=typeof _==`string`||typeof _==`number`||typeof _==`bigint`||_.constructor==String?nt$1(null,_,null,null,null):_t$3(_)?nt$1(ut$3,{children:_},null,null,null):_.constructor==null&&_.__b>0?nt$1(_.type,_.props,_.key,_.ref?_.ref:null,_.__v):_).__=r,_.__b=r.__b+1,u=null,(f=_.__i=zr$2(_,e,l,s))!=-1&&(s--,(u=e[f])&&(u.__u|=2)),u==null||u.__v==null?(f==-1&&(n>h?p--:n<h&&p++),typeof _.type!=`function`&&(_.__u|=4)):f!=l&&(f==l-1?p--:f==l+1?p++:(f>l?p--:p++,_.__u|=4))):r.__k[o]=null;if(s)for(o=0;o<h;o++)(u=e[o])!=null&&!(2&u.__u)&&(u.__e==i&&(i=U$1(u)),mr$4(u,u));return i}function hr$4(r,t,e){var i,n;if(typeof r.type==`function`){for(i=r.__k,n=0;i&&n<i.length;n++)i[n]&&(i[n].__=r,t=hr$4(i[n],t,e));return t}r.__e!=t&&(t&&r.type&&!e.contains(t)&&(t=U$1(r)),e.insertBefore(r.__e,t||null),t=r.__e);do t=t&&t.nextSibling;while(t!=null&&t.nodeType==8);return t}function zr$2(r,t,e,i){var n,o,_=r.key,u=r.type,l=t[e];if(l===null&&r.key==null||l&&_==l.key&&u==l.type&&(2&l.__u)==0)return e;if(i>(l!=null&&(2&l.__u)==0?1:0))for(n=e-1,o=e+1;n>=0||o<t.length;){if(n>=0){if((l=t[n])&&(2&l.__u)==0&&_==l.key&&u==l.type)return n;n--;}if(o<t.length){if((l=t[o])&&(2&l.__u)==0&&_==l.key&&u==l.type)return o;o++;}}return -1}function nr$4(r,t,e){t[0]==`-`?r.setProperty(t,e??``):r[t]=e==null?``:typeof e!=`number`||Fr$1.test(t)?e:e+`px`;}function it$1(r,t,e,i,n){var o,_;t:if(t==`style`)if(typeof e==`string`)r.style.cssText=e;else {if(typeof i==`string`&&(r.style.cssText=i=``),i)for(t in i)e&&t in e||nr$4(r.style,t,``);if(e)for(t in e)i&&e[t]==i[t]||nr$4(r.style,t,e[t]);}else if(t[0]==`o`&&t[1]==`n`)o=t!=(t=t.replace(lr$4,`$1`)),_=t.toLowerCase(),t=_ in r||t==`onFocusOut`||t==`onFocusIn`?_.slice(2):t.slice(2),r.l||(r.l={}),r.l[t+o]=e,e?i?e.u=i.u:(e.u=Tt,r.addEventListener(t,o?Pt$1:xt$1,o)):r.removeEventListener(t,o?Pt$1:xt$1,o);else {if(n==`http://www.w3.org/2000/svg`)t=t.replace(/xlink(H|:h)/,`h`).replace(/sName$/,`s`);else if(t!=`width`&&t!=`height`&&t!=`href`&&t!=`list`&&t!=`form`&&t!=`tabIndex`&&t!=`download`&&t!=`rowSpan`&&t!=`colSpan`&&t!=`role`&&t!=`popover`&&t in r)try{r[t]=e??``;break t}catch{}typeof e==`function`||(e==null||e===false&&t[4]!=`-`?r.removeAttribute(t):r.setAttribute(t,t==`popover`&&e==1?``:e));}}function or$4(r){return function(t){if(this.l){var e=this.l[t.type+r];if(t.t==null)t.t=Tt++;else if(t.t<e.u)return;return e(d$1.event?d$1.event(t):t)}}}function Dt$1(r,t,e,i,n,o,_,u,l,f){var h,s,p,a,g,y,S,v,E,B,c,tt,W,qt,rt,$,bt,L=t.type;if(t.constructor!=null)return null;128&e.__u&&(l=!!(32&e.__u),o=[u=t.__e=e.__e]),(h=d$1.__b)&&h(t);t:if(typeof L==`function`)try{if(v=t.props,E=`prototype`in L&&L.prototype.render,B=(h=L.contextType)&&i[h.__c],c=h?B?B.props.value:h.__:i,e.__c?S=(s=t.__c=e.__c).__=s.__E:(E?t.__c=s=new L(v,c):(t.__c=s=new D$2(v,c),s.constructor=L,s.render=Xr$3),B&&B.sub(s),s.props=v,s.state||(s.state={}),s.context=c,s.__n=i,p=s.__d=!0,s.__h=[],s._sb=[]),E&&s.__s==null&&(s.__s=s.state),E&&L.getDerivedStateFromProps!=null&&(s.__s==s.state&&(s.__s=x$3({},s.__s)),x$3(s.__s,L.getDerivedStateFromProps(v,s.__s))),a=s.props,g=s.state,s.__v=t,p)E&&L.getDerivedStateFromProps==null&&s.componentWillMount!=null&&s.componentWillMount(),E&&s.componentDidMount!=null&&s.__h.push(s.componentDidMount);else {if(E&&L.getDerivedStateFromProps==null&&v!==a&&s.componentWillReceiveProps!=null&&s.componentWillReceiveProps(v,c),!s.__e&&s.shouldComponentUpdate!=null&&s.shouldComponentUpdate(v,s.__s,c)===!1||t.__v==e.__v){for(t.__v!=e.__v&&(s.props=v,s.state=s.__s,s.__d=!1),t.__e=e.__e,t.__k=e.__k,t.__k.some(function(F){F&&(F.__=t);}),tt=0;tt<s._sb.length;tt++)s.__h.push(s._sb[tt]);s._sb=[],s.__h.length&&_.push(s);break t}s.componentWillUpdate!=null&&s.componentWillUpdate(v,s.__s,c),E&&s.componentDidUpdate!=null&&s.__h.push(function(){s.componentDidUpdate(a,g,y);});}if(s.context=c,s.props=v,s.__P=r,s.__e=!1,W=d$1.__r,qt=0,E){for(s.state=s.__s,s.__d=!1,W&&W(t),h=s.render(s.props,s.state,s.context),rt=0;rt<s._sb.length;rt++)s.__h.push(s._sb[rt]);s._sb=[];}else do s.__d=!1,W&&W(t),h=s.render(s.props,s.state,s.context),s.state=s.__s;while(s.__d&&++qt<25);s.state=s.__s,s.getChildContext!=null&&(i=x$3(x$3({},i),s.getChildContext())),E&&!p&&s.getSnapshotBeforeUpdate!=null&&(y=s.getSnapshotBeforeUpdate(a,g)),$=h,h!=null&&h.type===ut$3&&h.key==null&&($=dr$4(h.props.children)),u=ar$4(r,_t$3($)?$:[$],t,e,i,n,o,_,u,l,f),s.base=t.__e,t.__u&=-161,s.__h.length&&_.push(s),S&&(s.__E=s.__=null);}catch(F){if(t.__v=null,l||o!=null)if(F.then){for(t.__u|=l?160:128;u&&u.nodeType==8&&u.nextSibling;)u=u.nextSibling;o[o.indexOf(u)]=null,t.__e=u;}else for(bt=o.length;bt--;)wt$1(o[bt]);else t.__e=e.__e,t.__k=e.__k;d$1.__e(F,t,e);}else o==null&&t.__v==e.__v?(t.__k=e.__k,t.__e=e.__e):u=t.__e=Qr$2(e.__e,t,e,i,n,o,_,l,f);return (h=d$1.diffed)&&h(t),128&t.__u?void 0:u}function pr$4(r,t,e){for(var i=0;i<e.length;i++)Ut$1(e[i],e[++i],e[++i]);d$1.__c&&d$1.__c(t,r),r.some(function(n){try{r=n.__h,n.__h=[],r.some(function(o){o.call(n);});}catch(o){d$1.__e(o,n.__v);}});}function dr$4(r){return typeof r!=`object`||r==null||r.__b&&r.__b>0?r:_t$3(r)?r.map(dr$4):x$3({},r)}function Qr$2(r,t,e,i,n,o,_,u,l){var f,h,s,p,a,g,y,S=e.props,v=t.props,E=t.type;if(E==`svg`?n=`http://www.w3.org/2000/svg`:E==`math`?n=`http://www.w3.org/1998/Math/MathML`:n||(n=`http://www.w3.org/1999/xhtml`),o!=null){for(f=0;f<o.length;f++)if((a=o[f])&&`setAttribute`in a==!!E&&(E?a.localName==E:a.nodeType==3)){r=a,o[f]=null;break}}if(r==null){if(E==null)return document.createTextNode(v);r=document.createElementNS(n,E,v.is&&v),u&&(d$1.__m&&d$1.__m(t,o),u=false),o=null;}if(E==null)S===v||u&&r.data==v||(r.data=v);else {if(o=o&&st$2.call(r.childNodes),S=e.props||j$3,!u&&o!=null)for(S={},f=0;f<r.attributes.length;f++)S[(a=r.attributes[f]).name]=a.value;for(f in S)if(a=S[f],f!=`children`){if(f==`dangerouslySetInnerHTML`)s=a;else if(!(f in v)){if(f==`value`&&`defaultValue`in v||f==`checked`&&`defaultChecked`in v)continue;it$1(r,f,null,a,n);}}for(f in v)a=v[f],f==`children`?p=a:f==`dangerouslySetInnerHTML`?h=a:f==`value`?g=a:f==`checked`?y=a:u&&typeof a!=`function`||S[f]===a||it$1(r,f,a,S[f],n);if(h)u||s&&(h.__html==s.__html||h.__html==r.innerHTML)||(r.innerHTML=h.__html),t.__k=[];else if(s&&(r.innerHTML=``),ar$4(t.type==`template`?r.content:r,_t$3(p)?p:[p],t,e,i,E==`foreignObject`?`http://www.w3.org/1999/xhtml`:n,o,_,o?o[0]:e.__k&&U$1(e,0),u,l),o!=null)for(f=o.length;f--;)wt$1(o[f]);u||(f=`value`,E==`progress`&&g==null?r.removeAttribute(`value`):g!=null&&(g!==r[f]||E==`progress`&&!g||E==`option`&&g!=S[f])&&it$1(r,f,g,S[f],n),f=`checked`,y!=null&&y!=r[f]&&it$1(r,f,y,S[f],n));}return r}function Ut$1(r,t,e){try{if(typeof r==`function`){var i=typeof r.__u==`function`;i&&r.__u(),i&&t==null||(r.__u=r(t));}else r.current=t;}catch(n){d$1.__e(n,e);}}function mr$4(r,t,e){var i,n;if(d$1.unmount&&d$1.unmount(r),(i=r.ref)&&(i.current&&i.current!=r.__e||Ut$1(i,null,t)),(i=r.__c)!=null){if(i.componentWillUnmount)try{i.componentWillUnmount();}catch(o){d$1.__e(o,t);}i.base=i.__P=null;}if(i=r.__k)for(n=0;n<i.length;n++)i[n]&&mr$4(i[n],t,e||typeof r.type!=`function`);e||wt$1(r.__e),r.__c=r.__=r.__e=void 0;}function Xr$3(r,t,e){return this.constructor(r,e)}function Ye$2(r,t,e){var i,n,o,_;t==document&&(t=document.documentElement),d$1.__&&d$1.__(r,t),n=(i="undefined"==`function`)?null:t.__k,o=[],_=[],Dt$1(t,r=(t).__k=Yr$2(ut$3,null,[r]),n||j$3,j$3,t.namespaceURI,n?null:t.firstChild?st$2.call(t.childNodes):null,o,n?n.__e:t.firstChild,i,_),pr$4(o,r,_);}st$2=fr$3.slice,d$1={__e:function(r,t,e,i){for(var n,o,_;t=t.__;)if((n=t.__c)&&!n.__)try{if((o=n.constructor)&&o.getDerivedStateFromError!=null&&(n.setState(o.getDerivedStateFromError(r)),_=n.__d),n.componentDidCatch!=null&&(n.componentDidCatch(r,i||{}),_=n.__d),_)return n.__E=n}catch(u){r=u;}throw r}},sr$3=0,Ct$3=function(r){return r!=null&&r.constructor==null},D$2.prototype.setState=function(r,t){var e=this.__s!=null&&this.__s!=this.state?this.__s:this.__s=x$3({},this.state);typeof r==`function`&&(r=r(x$3({},e),this.props)),r&&x$3(e,r),r!=null&&this.__v&&(t&&this._sb.push(t),ir$4(this));},D$2.prototype.forceUpdate=function(r){this.__v&&(this.__e=true,r&&this.__h.push(r),ir$4(this));},D$2.prototype.render=ut$3,w$3=[],_r$4=typeof Promise==`function`?Promise.prototype.then.bind(Promise.resolve()):setTimeout,ur$4=function(r,t){return r.__v.__b-t.__v.__b},ot$2.__r=0,lr$4=/(PointerCapture)$|Capture$/i,Tt=0,xt$1=or$4(false),Pt$1=or$4(true);var Mt$2,R$2,Vt$2,vr$3,Er$4=0,br$3=[],N$3=d$1,gr$4=N$3.__b,Nr$3=N$3.__r,Or$3=N$3.diffed,Sr$3=N$3.__c,Ir$3=N$3.unmount,yr$3=N$3.__;function jr$2(r,t){N$3.__h&&N$3.__h(R$2,r,Er$4||t),Er$4=0;var e=R$2.__H||(R$2.__H={__:[],__h:[]});return r>=e.__.length&&e.__.push({}),e.__[r]}function kt$3(r,t){var e=jr$2(Mt$2++,7);return Zr$2(e.__H,t)&&(e.__=r(),e.__H=t,e.__h=r),e.__}function qr$3(){for(var r;r=br$3.shift();)if(r.__P&&r.__H)try{r.__H.__h.forEach(lt$3),r.__H.__h.forEach(Ht$2),r.__H.__h=[];}catch(t){r.__H.__h=[],N$3.__e(t,r.__v);}}N$3.__b=function(r){R$2=null,gr$4&&gr$4(r);},N$3.__=function(r,t){r&&t.__k&&t.__k.__m&&(r.__m=t.__k.__m),yr$3&&yr$3(r,t);},N$3.__r=function(r){Nr$3&&Nr$3(r),Mt$2=0;var t=(R$2=r.__c).__H;t&&(Vt$2===R$2?(t.__h=[],R$2.__h=[],t.__.forEach(function(e){e.__N&&(e.__=e.__N),e.u=e.__N=void 0;})):(t.__h.forEach(lt$3),t.__h.forEach(Ht$2),t.__h=[],Mt$2=0)),Vt$2=R$2;},N$3.diffed=function(r){Or$3&&Or$3(r);var t=r.__c;t&&t.__H&&(t.__H.__h.length&&(br$3.push(t)!==1&&vr$3===N$3.requestAnimationFrame||((vr$3=N$3.requestAnimationFrame)||Jr$2)(qr$3)),t.__H.__.forEach(function(e){e.u&&(e.__H=e.u),e.u=void 0;})),Vt$2=R$2=null;},N$3.__c=function(r,t){t.some(function(e){try{e.__h.forEach(lt$3),e.__h=e.__h.filter(function(i){return !i.__||Ht$2(i)});}catch(i){t.some(function(n){n.__h&&(n.__h=[]);}),t=[],N$3.__e(i,e.__v);}}),Sr$3&&Sr$3(r,t);},N$3.unmount=function(r){Ir$3&&Ir$3(r);var t,e=r.__c;e&&e.__H&&(e.__H.__.forEach(function(i){try{lt$3(i);}catch(n){t=n;}}),e.__H=void 0,t&&N$3.__e(t,e.__v));};var Rr$3=typeof requestAnimationFrame==`function`;function Jr$2(r){var t,e=function(){clearTimeout(i),Rr$3&&cancelAnimationFrame(t),setTimeout(r);},i=setTimeout(e,35);Rr$3&&(t=requestAnimationFrame(e));}function lt$3(r){var t=R$2,e=r.__c;typeof e==`function`&&(r.__c=void 0,e()),R$2=t;}function Ht$2(r){var t=R$2;r.__c=r.__(),R$2=t;}function Zr$2(r,t){return !r||r.length!==t.length||t.some(function(e,i){return e!==r[i]})}var te$3=Symbol.for(`preact-signals`);function Bt$2(){if(V$4>1)V$4--;else {for(var r,t=false;q$2!==void 0;){var e=q$2;for(q$2=void 0,Gt$1++;e!==void 0;){var i=e.o;if(e.o=void 0,e.f&=-3,!(8&e.f)&&Ar$3(e))try{e.c();}catch(n){t||(r=n,t=true);}e=i;}}if(Gt$1=0,V$4--,t)throw r}}var m$2=void 0;var q$2=void 0,V$4=0,Gt$1=0,ft$3=0;function Lr$2(r){if(m$2!==void 0){var t=r.n;if(t===void 0||t.t!==m$2)return t={i:0,S:r,p:m$2.s,n:void 0,t:m$2,e:void 0,x:void 0,r:t},m$2.s!==void 0&&(m$2.s.n=t),m$2.s=t,r.n=t,32&m$2.f&&r.S(t),t;if(t.i===-1)return t.i=0,t.n!==void 0&&(t.n.p=t.p,t.p!==void 0&&(t.p.n=t.n),t.p=m$2.s,t.n=void 0,m$2.s.n=t,m$2.s=t),t}}function O$2(r){this.v=r,this.i=0,this.n=void 0,this.t=void 0;}O$2.prototype.brand=te$3;O$2.prototype.h=function(){return true};O$2.prototype.S=function(r){this.t!==r&&r.e===void 0&&(r.x=this.t,this.t!==void 0&&(this.t.e=r),this.t=r);};O$2.prototype.U=function(r){if(this.t!==void 0){var t=r.e,e=r.x;t!==void 0&&(t.x=e,r.e=void 0),e!==void 0&&(e.e=t,r.x=void 0),r===this.t&&(this.t=e);}};O$2.prototype.subscribe=function(r){var t=this;return Z$1(function(){var e=t.value,i=m$2;m$2=void 0;try{r(e);}finally{m$2=i;}})};O$2.prototype.valueOf=function(){return this.value};O$2.prototype.toString=function(){return this.value+``};O$2.prototype.toJSON=function(){return this.value};O$2.prototype.peek=function(){var r=m$2;m$2=void 0;try{return this.value}finally{m$2=r;}};Object.defineProperty(O$2.prototype,`value`,{get:function(){var r=Lr$2(this);return r!==void 0&&(r.i=this.i),this.v},set:function(r){if(r!==this.v){if(Gt$1>100)throw new Error(`Cycle detected`);this.v=r,this.i++,ft$3++,V$4++;try{for(var t=this.t;t!==void 0;t=t.x)t.t.N();}finally{Bt$2();}}}});function b$1(r){return new O$2(r)}function Ar$3(r){for(var t=r.s;t!==void 0;t=t.n)if(t.S.i!==t.i||!t.S.h()||t.S.i!==t.i)return true;return false}function xr$3(r){for(var t=r.s;t!==void 0;t=t.n){var e=t.S.n;if(e!==void 0&&(t.r=e),t.S.n=t,t.i=-1,t.n===void 0){r.s=t;break}}}function Pr$3(r){for(var t=r.s,e=void 0;t!==void 0;){var i=t.p;t.i===-1?(t.S.U(t),i!==void 0&&(i.n=t.n),t.n!==void 0&&(t.n.p=i)):e=t,t.S.n=t.r,t.r!==void 0&&(t.r=void 0),t=i;}r.s=e;}function M$4(r){O$2.call(this,void 0),this.x=r,this.s=void 0,this.g=ft$3-1,this.f=4;}(M$4.prototype=new O$2).h=function(){if(this.f&=-3,1&this.f)return false;if((36&this.f)==32||(this.f&=-5,this.g===ft$3))return true;if(this.g=ft$3,this.f|=1,this.i>0&&!Ar$3(this))return this.f&=-2,true;var r=m$2;try{xr$3(this),m$2=this;var t=this.x();(16&this.f||this.v!==t||this.i===0)&&(this.v=t,this.f&=-17,this.i++);}catch(e){this.v=e,this.f|=16,this.i++;}return m$2=r,Pr$3(this),this.f&=-2,true};M$4.prototype.S=function(r){if(this.t===void 0){this.f|=36;for(var t=this.s;t!==void 0;t=t.n)t.S.S(t);}O$2.prototype.S.call(this,r);};M$4.prototype.U=function(r){if(this.t!==void 0&&(O$2.prototype.U.call(this,r),this.t===void 0)){this.f&=-33;for(var t=this.s;t!==void 0;t=t.n)t.S.U(t);}};M$4.prototype.N=function(){if(!(2&this.f)){this.f|=6;for(var r=this.t;r!==void 0;r=r.x)r.t.N();}};Object.defineProperty(M$4.prototype,`value`,{get:function(){if(1&this.f)throw new Error(`Cycle detected`);var r=Lr$2(this);if(this.h(),r!==void 0&&(r.i=this.i),16&this.f)throw this.v;return this.v}});function Wt$1(r){return new M$4(r)}function Cr$3(r){var t=r.u;if(r.u=void 0,typeof t==`function`){V$4++;var e=m$2;m$2=void 0;try{t();}catch(i){throw r.f&=-2,r.f|=8,$t$2(r),i}finally{m$2=e,Bt$2();}}}function $t$2(r){for(var t=r.s;t!==void 0;t=t.n)t.S.U(t);r.x=void 0,r.s=void 0,Cr$3(r);}function re$3(r){if(m$2!==this)throw new Error(`Out-of-order effect`);Pr$3(this),m$2=r,this.f&=-2,8&this.f&&$t$2(this),Bt$2();}function J$2(r){this.x=r,this.u=void 0,this.s=void 0,this.o=void 0,this.f=32;}J$2.prototype.c=function(){var r=this.S();try{if(8&this.f||this.x===void 0)return;var t=this.x();typeof t==`function`&&(this.u=t);}finally{r();}};J$2.prototype.S=function(){if(1&this.f)throw new Error(`Cycle detected`);this.f|=1,this.f&=-9,Cr$3(this),xr$3(this),V$4++;var r=m$2;return m$2=this,re$3.bind(this,r)};J$2.prototype.N=function(){2&this.f||(this.f|=2,this.o=q$2,q$2=this);};J$2.prototype.d=function(){this.f|=8,1&this.f||$t$2(this);};function Z$1(r){var t=new J$2(r);try{t.c();}catch(e){throw t.d(),e}return t.d.bind(t)}var Ft$2;function H$4(r,t){d$1[r]=t.bind(null,d$1[r]||function(){});}function ct$3(r){Ft$2&&Ft$2(),Ft$2=r&&r.S();}function Tr$2(r){var t=this,e=r.data,i=ie$4(e);i.value=e;var n=kt$3(function(){for(var o=t.__v;o=o.__;)if(o.__c){o.__c.__$f|=4;break}return t.__$u.c=function(){var _,u=t.__$u.S(),l=n.value;u(),Ct$3(l)||((_=t.base)==null?void 0:_.nodeType)!==3?(t.__$f|=1,t.setState({})):t.base.data=l;},Wt$1(function(){var _=i.value.value;return _===0?0:_===true?``:_||``})},[]);return n.value}Tr$2.displayName=`_st`;Object.defineProperties(O$2.prototype,{constructor:{configurable:true,value:void 0},type:{configurable:true,value:Tr$2},props:{configurable:true,get:function(){return {data:this}}},__b:{configurable:true,value:1}});H$4(`__b`,function(r,t){if(typeof t.type==`string`){var e,i=t.props;for(var n in i)if(n!==`children`){var o=i[n];o instanceof O$2&&(e||(t.__np=e={}),e[n]=o,i[n]=o.peek());}}r(t);});H$4(`__r`,function(r,t){ct$3();var e,i=t.__c;i&&(i.__$f&=-2,(e=i.__$u)===void 0&&(i.__$u=e=(function(n){var o;return Z$1(function(){o=this;}),o.c=function(){i.__$f|=1,i.setState({});},o})())),ct$3(e),r(t);});H$4(`__e`,function(r,t,e,i){ct$3(),r(t,e,i);});H$4(`diffed`,function(r,t){ct$3();var e;if(typeof t.type==`string`&&(e=t.__e)){var i=t.__np,n=t.props;if(i){var o=e.U;if(o)for(var _ in o){var u=o[_];u!==void 0&&!(_ in i)&&(u.d(),o[_]=void 0);}else e.U=o={};for(var l in i){var f=o[l],h=i[l];f===void 0?(f=ee$2(e,l,h,n),o[l]=f):f.o(h,n);}}}r(t);});function ee$2(r,t,e,i){var n=t in r&&r.ownerSVGElement===void 0,o=b$1(e);return {o:function(_,u){o.value=_,i=u;},d:Z$1(function(){var _=o.value.value;i[t]!==_&&(i[t]=_,n?r[t]=_:_?r.setAttribute(t,_):r.removeAttribute(t));})}}H$4(`unmount`,function(r,t){if(typeof t.type==`string`){var e=t.__e;if(e){var i=e.U;if(i){e.U=void 0;for(var n in i){var o=i[n];o&&o.d();}}}}else {var _=t.__c;if(_){var u=_.__$u;u&&(_.__$u=void 0,u.d());}}r(t);});H$4(`__h`,function(r,t,e,i){(i<3||i===9)&&(t.__$f|=2),r(t,e,i);});D$2.prototype.shouldComponentUpdate=function(r,t){var e=this.__$u,i=e&&e.s!==void 0;for(var n in t)return true;if(this.__f||typeof this.u==`boolean`&&this.u===true){if(!(i||2&this.__$f||4&this.__$f)||1&this.__$f)return true}else if(!(i||4&this.__$f)||3&this.__$f)return true;for(var o in r)if(o!==`__source`&&r[o]!==this.props[o])return true;for(var _ in this.props)if(!(_ in r))return true;return false};function ie$4(r){return kt$3(function(){return b$1(r)},[])}var at$2=class at{id;mID;vID;vName;imageURL;name;link;quantity;price;finalPrice;constructor(t){this.id=t.id,this.mID=t.mID,this.vID=t.vID,this.vName=t.vName,this.imageURL=t.imageURL,this.name=t.name,this.link=t.link,this.quantity=t.quantity,this.price=t.price,this.finalPrice=t.finalPrice??t.price;}};var ht$3=class ht{url;alt;constructor(t){t.alt&&(this.alt=t.alt),this.url=t.url;}};var pt$2=class pt{d;cmp;effective;constructor(t={}){this.d=t.d,this.cmp=t.cmp,this.effective=this.d;}};var Kt$2=class Kt{id;mID;name;groupID;groupName;isSelected;constructor(t){t??={},this.id=t.id,this.mID=t.mID,this.name=t.name,this.groupID=t.groupID,this.groupName=t.groupName,this.isSelected=t.isSelected??false;}},dt$2=class dt{mID;name;imgs;link;price;sku;isAvailable;quantity;sellingPlans;selectedOptions;selectedSellingPlan;effectivePrice;constructor(t){t=t??{},this.mID=t.mID,this.name=t.name,this.imgs=t.imgs?.map(e=>new ht$3(e))??[],this.link=t.link,this.price=new pt$2(t.price),this.sku=t.sku,this.isAvailable=t.isAvailable,this.quantity=t.quantity,this.selectedOptions=t.selectedOptions??[],this.effectivePrice=b$1(this.price.effective),t.sellingPlans?.length&&(this.selectedSellingPlan=b$1(void 0)),this.sellingPlans=t.sellingPlans?.map(e=>{let i=new Kt$2(e);return i.isSelected&&(this.selectedSellingPlan.value=i),i});}getOneImage(){return this.imgs[0]?.url}changeSellingPlan(t){this.selectedSellingPlan.value=t;}hasEffectivePrice(){return this.effectivePrice.value!==this.price.d}};function zt$1(r,t){for(let e of r){let i=t.get(e.attr),n=Array.isArray(i),o=typeof i==`string`,_=typeof i==`number`&&typeof e.value==`number`,u=Array.isArray(e.value),l=true;switch(e.op){case `contains`:l=(n||o)&&i.includes(e.value);break;case `notContains`:l=(n||o)&&!i.includes(e.value);break;case `eq`:l=i===e.value;break;case `ne`:l=i!==e.value;break;case `gt`:l=_&&i>e.value;break;case `gte`:l=_&&i>=e.value;break;case `lt`:l=_&&i<e.value;break;case `lte`:l=_&&i<=e.value;break;case `in`:l=u&&e.value.includes(i);break;case `nin`:l=u&&!e.value.includes(i);break;case `between`:l=_&&u&&e.value.length===2&&i>=e.value[0]&&i<=e.value[1];break;case `all`:l=n&&u&&e.value.every(f=>i.includes(f));break;default:l=false;break}if(!l)return false}return true}var mt$3=class mt{id;mID;name;options;imgs;vars;desc;link;slug;quantity;category;meta;reviews;tags;templateSuffix;cardClasses;vendor;selectedOrFirstVariant;selected=b$1(true);selectedQty=b$1(1);_showAddToCartButton;constructor(t){this.update(t),this.selectedOrFirstVariant=b$1(this.selectedVariant),this._showAddToCartButton=this.evaluateShowATCFlag();}get firstImageURL(){return this.imgs?.[0]?.url}get secondaryImageURL(){return this.imgs?.[1]?.url}get getVariantImages(){return this.selectedOrFirstVariant.value.imgs}get variantImage(){return this.getVariantImages[0]?.url}get variantSecondaryImage(){return this.getVariantImages[1]?.url}get showAddToCartButton(){return this._showAddToCartButton}set variants(t){this.vars=t,this.selectedOrFirstVariant.value=this.selectedVariant;}set selectedQuantity(t){this.selectedQty.value=Math.max(1,t);}get selectedVariant(){return this.vars.find(t=>t.isAvailable)??this.vars[0]}hasVariants(){return this.vars?.length>1}setSelectedVariant(t){this.selectedOrFirstVariant.value=t;}setSelectedVariantByID(t){if(!t)return;let e=this.vars.find(i=>i.mID===t.toString());e&&this.setSelectedVariant(e);}update(t){return this.id=t.id??this.id,this.mID=t.mID??this.mID,this.name=t.name??this.name,this.imgs=t.imgs??this.imgs,this.desc=t.desc??this.desc,this.link=t.link??this.link,this.slug=t.slug??this.slug,this.quantity=t.quantity??this.quantity,this.meta=t.meta??this.meta,this.category=t.category??this.category,this.reviews=t.reviews??this.reviews,this.options=t.options??this.options,this.tags=t.tags??this.tags,this.templateSuffix=t.templateSuffix??this.templateSuffix,this.vendor=t.vendor??this.vendor,t.vars&&(this.vars=t.vars.map(e=>new dt$2(e))),this}toEmbed(t){return t=t??this.selectedOrFirstVariant.value,new at$2({id:this.id,mID:this.mID,vID:t.mID,vName:t.name,name:this.name,link:this.link,slug:this.slug,price:t.price.d,imageURL:t.getOneImage()??this.imgs?.[0].url})}getTemplateVariables(){let t=this.selectedOrFirstVariant.value,e=t.price,i=this.name,n=this.category,o=this.variantImage??this.firstImageURL,_=this.meta,u=this.tags?.join(`,`)??``,l=this.reviews?.rating,f=this.reviews?.totalReviews,h=this.vendor,s$1=e.cmp&&e.cmp>e.d,p=s$3(r$2({name:i},Gn$1(`price`,e.d,true)),{image_url:o,meta:_,category:n,rating:l,reviews:f,tags:u,vendor:h,variant_count:this.vars?.length??0});if(t.hasEffectivePrice()){let g=Gn$1(`effective_price`,t.effectivePrice.value,true);Object.assign(p,g);}if(s$1){let g=e.cmp-e.d,y={discount_percent:(g/e.cmp*100).toFixed(0)};Object.assign(p,y),Object.assign(p,Gn$1(`compare_price`,e.cmp)),Object.assign(p,Gn$1(`discount_price`,g));}return {product:p,variant:{name:t.name,quantity:t.quantity}}}evaluateShowATCFlag(){let t=he$4.get().widgetCustomisation?.atcButton?.showWhen;if(!t?.predicates?.length)return true;let e=t.predicates,i=this.getValueMap(e);return t.op===`or`?e.some(n=>zt$1([n],i)):zt$1(e,i)}getValueMap(t){let e=new Map;for(let i of t){let n=i.attr.split(`.`);switch(n[1]){case `tags`:e.set(i.attr,this.tags);break;case `type`:case `category`:e.set(i.attr,this.category);break;case `meta`:case `metafield`:{let _=n[2];if(!_)continue;e.set(i.attr,this.meta?.[_]);break}}}return e}};var vt$2=class vt{id;alt;shortID;sources;items;durationMS;thumbnail;card;bestSource;highSource;goodSource;lowSource;m3u8Source;constructor(t={}){if(this.id=t.id,this.alt=t.alt,this.shortID=t.shortID,this.sources=t.sources?.sort((e,i)=>i.height-e.height),this.durationMS=t.durationMS,this.thumbnail=t.thumbnail,this.items=t.items?t.items.map(e=>new mt$3(e)):[],this.card=t.card,this.sources){let e=[];for(let i of this.sources)i.format===`mp4`?e.push(i):i.format===`m3u8`&&!this.m3u8Source&&(this.m3u8Source=i);e.length>0&&(this.bestSource=e[0],this.highSource=e.length>1?e[1]:e[0],this.lowSource=e.length>2?e[e.length-1]:e[0]);}}};var ne$2=(e=>(e.CLASSIC=`CLASSIC`,e.ITEM_CARD_HEADER=`ITEM_CARD_HEADER`,e))(ne$2||{});var oe$5=(i=>(i.ON=`ON`,i.OFF=`OFF`,i.ON_HOVER=`ON_HOVER`,i))(oe$5||{}),se$4=(n=>(n.FIRST_ITEM=`FIRST_ITEM`,n.ITEM_SWIPER=`ITEM_SWIPER`,n.CARD=`CARD`,n.NONE=`NONE`,n))(se$4||{});var wr$3=class wr{videoEntries;source;template;heading;autoPlay;showMuteButton;footerContent;detailPopup;playlistConfig;itemDetailConfig;constructor(t={}){this.videoEntries=t.videoEntries?.map(e=>({video:new vt$2(e.video),title:e.title}))??[],this.source=t.source,this.template=t.template,this.detailPopup=t.detailPopup??{template:`VIDEO_ONLY_VIEW`},this.heading=t.heading,this.showMuteButton=t.showMuteButton,this.autoPlay=t.autoPlay??`ON`,this.footerContent=t.footerContent??`FIRST_ITEM`,this.playlistConfig={videoSwiper:t.playlistConfig?.videoSwiper??void 0,itemCardClickBehavior:t.playlistConfig?.itemCardClickBehavior??`OPEN_VIDEO_DETAIL`},this.itemDetailConfig={template:t.itemDetailConfig?.template??`CLASSIC`};}showItems(){return this.footerContent===`FIRST_ITEM`||this.footerContent===`ITEM_SWIPER`}};var Dr$1=class Dr{t;bg;br;clc;shd;spc;trf;a;w;h;x;y;constructor(t){this.t=t.t,t.bg&&(this.bg=new P$2(t.bg)),t.br&&(this.br=new C$4(t.br)),t.shd&&(this.shd=new Q$2(t.shd)),t.spc&&(this.spc=new T$2(t.spc)),this.trf=new X$3(t.trf),this.clc=t.clc,this.w=t.w,this.h=t.h,this.x=t.x,this.y=t.y,this.a=t.a;}get alpha(){return this.a??100}get type(){return this.t}get typeAsString(){return k$3[this.t]}get click(){return this.clc}},k$3=(c=>(c[c.IMAGE=1]=`IMAGE`,c[c.TEXT=2]=`TEXT`,c[c.BUTTON=3]=`BUTTON`,c[c.FLEXBOX=4]=`FLEXBOX`,c[c.MULTI_COLUMN=5]=`MULTI_COLUMN`,c[c.CHECKBOX=6]=`CHECKBOX`,c[c.PARTIAL=8]=`PARTIAL`,c[c.PRODUCTS=11]=`PRODUCTS`,c[c.PRODUCT=12]=`PRODUCT`,c[c.PRODUCT_IMAGE=13]=`PRODUCT_IMAGE`,c[c.PRODUCT_TITLE=14]=`PRODUCT_TITLE`,c[c.PRODUCT_VARIATIONS=15]=`PRODUCT_VARIATIONS`,c[c.PRODUCT_VARIATIONS_SELLING_PLANS=16]=`PRODUCT_VARIATIONS_SELLING_PLANS`,c[c.PRODUCT_BUTTON=18]=`PRODUCT_BUTTON`,c[c.PRODUCT_RATING=19]=`PRODUCT_RATING`,c[c.EMAIL_INPUT=51]=`EMAIL_INPUT`,c[c.PHONE_INPUT=52]=`PHONE_INPUT`,c[c.COUNTDOWN_TIMER=61]=`COUNTDOWN_TIMER`,c[c.CAROUSEL=62]=`CAROUSEL`,c[c.SHAPE=100]=`SHAPE`,c))(k$3||{});var Ur$2=0;function _e$2(r=document.head){return Vr$3(fe$4.styleURL,r,`cooee-global-styles`)}function ue$3(r=document.head){return Vr$3(`${rn}/swiper-bundle.min.css`,r,`swiper-styles`)}function Vr$3(r,t=document.head,e){return new Promise(i=>{if(t.querySelector(`#${e}`)){i();return}let o=document.createElement(`link`);o.rel=`stylesheet`,o.href=r,o.id=e,o.onload=()=>{i();},o.onerror=()=>{console.error(`Failed to load stylesheet:`,r),i();},t.appendChild(o);})}function le$4(r,t=document.head){if(!r)return;Ur$2++;let e=document.createElement(`style`);e.id=`cooee-app-css-${Ur$2}`,e.textContent=r,t.appendChild(e);}function Ui$2(r){if(!r)return;let t=document.createElement(`script`);t.id=`cooee-app-script`,t.innerHTML=r,document.head.appendChild(t);}function Vi$2(r){if(r)try{(0,eval)(r);}catch(t){console.error(`Failed to execute script:`,t);}}async function Mi$2(){let r=(await import(`${rn}/swiper-bundle.min.mjs`)).Swiper;return window.CooeeSDK.Swiper=r}async function Hi$2(r,t=true){if(!r)return;let e=[];t&&e.push(ue$3(r)),e.push(_e$2(r)),await Promise.all(e);let i=he$4.get().website.commonCSS;le$4(i,r);}var fe$3=(function(r){return r[r.SINGLE=1]=`SINGLE`,r[r.EXCLUSION=2]=`EXCLUSION`,r[r.ABTESTING=3]=`ABTESTING`,r[r.GLOBAL_AB=4]=`GLOBAL_AB`,r})(fe$3||{});var ce$3=(function(r){return r.BEFORE=`before`,r.AFTER=`after`,r.INSIDE_FIRST=`insideFirst`,r.INSIDE_LAST=`insideLast`,r.BEFORE1=`BEFORE`,r.AFTER1=`AFTER`,r.INSIDE_FIRST1=`INSIDE_FIRST`,r.INSIDE_LAST1=`INSIDE_LAST`,r})(ce$3||{}),ae$4=(function(r){return r.SHOPIFY_CHECKOUT=`shopify_checkout`,r.THIRD_PARTY_CHECKOUT=`third_party_checkout`,r.CART_PAGE=`cart_page`,r.CART_DRAWER=`cart_drawer`,r})(ae$4||{});var he$3=(function(r){return r[r.NONE=0]=`NONE`,r[r.REJECT_POPUP=1]=`REJECT_POPUP`,r[r.ACCEPT_POPUP=2]=`ACCEPT_POPUP`,r[r.GO_TO_URL=4]=`GO_TO_URL`,r[r.SHARE=5]=`SHARE`,r[r.KEY_VALUE=100]=`KEY_VALUE`,r[r.GO_TO_PRODUCT=101]=`GO_TO_PRODUCT`,r[r.ADD_TO_CART=102]=`ADD_TO_CART`,r[r.COPY_COUPON_CODE=103]=`COPY_COUPON_CODE`,r[r.GO_TO_COLLECTION=104]=`GO_TO_COLLECTION`,r[r.OPEN_CART=105]=`OPEN_CART`,r[r.SUBMIT_FORM=106]=`SUBMIT_FORM`,r[r.INITIATE_CHECKOUT=107]=`INITIATE_CHECKOUT`,r[r.ADD_BUNDLE=108]=`ADD_BUNDLE`,r[r.UPGRADE_TO_SUBSCRIPTION=109]=`UPGRADE_TO_SUBSCRIPTION`,r[r.BUY_NOW=110]=`BUY_NOW`,r[r.QUICK_VIEW=111]=`QUICK_VIEW`,r})(he$3||{}),pe$3=(function(r){return r.POPUP=`POPUP`,r.PAGE_EMBED=`PAGE_EMBED`,r.CART_EMBED=`CART_EMBED`,r.ANNOUNCEMENT_BAR=`ANNOUNCEMENT_BAR`,r.CHECKOUT_PAGE=`CHECKOUT_PAGE`,r})(pe$3||{}),de$3=(function(r){return r.PRODUCT_PROMOTION=`PRODUCT_PROMOTION`,r.BUNDLE_AND_UPSELL=`BUNDLE_AND_UPSELL`,r.CART_RECOVERY=`CART_RECOVERY`,r.ANNOUNCEMENT=`ANNOUNCEMENT`,r.LEAD_GENERATION=`LEAD_GENERATION`,r.DATA_COLLECTION=`DATA_COLLECTION`,r.SALE_PROMOTION=`SALE_PROMOTION`,r.SUBSCRIPTION_UPSELL=`SUBSCRIPTION_UPSELL`,r.SHOPPABLE_VIDEO=`SHOPPABLE_VIDEO`,r.VIDEO_STORY=`VIDEO_STORY`,r.FLOATING_VIDEO=`FLOATING_VIDEO`,r.BYOB=`BYOB`,r.PROGRESS_BAR=`PROGRESS_BAR`,r.BUY_NOW=`BUY_NOW`,r.STICKY_ATC=`STICKY_ATC`,r.EXPERIMENT=`EXPERIMENT`,r.SAVINGS_BAR=`SAVINGS_BAR`,r.COLLECTION_FILTER=`COLLECTION_FILTER`,r.COLLECTION_PROMOTION=`COLLECTION_PROMOTION`,r.ADD_ONS=`ADD_ONS`,r})(de$3||{}),me$3=(function(r){return r.COOEE=`COOEE`,r.KLAVIYO=`KLAVIYO`,r})(me$3||{}),ve$3=(function(r){return r.ICONS=`ICONS`,r.TILES=`TILES`,r})(ve$3||{}),Ee$4=(function(r){return r.FREE_SHIPPING=`FREE_SHIPPING`,r.DISCOUNT=`DISCOUNT`,r.FREE_AUTO_GIFT=`FREE_AUTO_GIFT`,r.FREE_GIFT_SELECT=`FREE_GIFT_SELECT`,r.UI_ONLY=`UI_ONLY`,r})(Ee$4||{});var Et$2=class Et{gap;dir;wrap;jc;ai;scroll;constructor(t){t??={},this.gap=t.gap??0,this.dir=t.dir??`row`,this.wrap=t.wrap??`nowrap`,this.jc=t.jc??`flex-start`,this.ai=t.ai??`flex-start`,this.scroll=t.scroll;}};var gt$2=class gt{of;disp;pos;top;bottom;left;right;zIndex;constructor(t){t??={},this.of=t.of,this.disp=t.disp,this.pos=t.pos,this.top=t.top,this.bottom=t.bottom,this.left=t.left,this.right=t.right,this.zIndex=t.zIndex;}};var Nt$2=class Nt{w;h;maxW;maxH;minW;minH;constructor(t){t??={},this.w=t.w??`100%`,this.h=t.h??`auto`,this.maxW=t.maxW,this.maxH=t.maxH,this.minW=t.minW,this.minH=t.minH;}};var Qt$2=(n=>(n[n.START=0]=`START`,n[n.CENTER=1]=`CENTER`,n[n.END=2]=`END`,n[n.JUSTIFY=3]=`JUSTIFY`,n))(Qt$2||{});var Ot$2=class Ot{name;fonts;constructor(t){t=t??{},t.name&&(t.name=t.name!==`Arial`?t.name:``),this.name=t.name,this.fonts=t.fonts?.map(e=>new Xt$1(e));}},Xt$1=class Xt{style;url;constructor(t){t=t??{},this.style=t.style,this.url=t.url;}getFontDescriptor(){return {style:this.style===2||this.style===4?`italic`:`normal`,weight:this.style===4||this.style===3?`700`:`400`}}getURL(){return `url('${this.url}') format('truetype')`}};var G$2=class G{fw;fs;fam;fmly;lh=1.2;ls;s;tc;ta;td;tdc;constructor(t){this.update(t);}get alignment(){return Qt$2[this.ta]}get letterSpacing(){return this.ls?this.ls+`px`:`normal`}update(t){t=t??{},t.lh&&(this.lh=t.lh),t.tdc&&(this.tdc=new I$2(t.tdc)),this.td=t.td,this.fs=t.s??t.fs??60,this.tc=new I$2(t.tc),this.ta=t.ta??1,this.fw=t.fw??400,this.ls=t.ls??0,this.tc.h??=`#000000`,this.fam=new Ot$2(t.fam??t.fmly);}resize(t){this.s*=t,this.ls*=t;}};var St$2=class St{size;bg;br;spc;typo;lout;flex;constructor(t){t??={},this.spc=new T$2(t.spc),t.size&&(this.size=new Nt$2(t.size)),t.bg&&(this.bg=new P$2(t.bg)),t.br&&(this.br=new C$4(t.br)),t.typo&&(this.typo=new G$2(t.typo)),t.lout&&(this.lout=new gt$2(t.lout)),t.flex&&(this.flex=new Et$2(t.flex));}},It$2=class It{sm;lg;constructor(t){t??={},this.sm=new St$2(t.sm),this.lg=new St$2(t.lg);}};var yt$1=class yt{t;classes;style;hide;when;clc;l;constructor(t,e){e??={},this.t=t,this.classes=e.classes??``,this.style=new It$2(e.style),this.hide=e.hide,this.l=e.l,e.when?.op&&(this.when=e.when),e.clc&&(this.clc=e.clc);}get stringType(){return k$3[this.t]}};var Rt$3=class Rt extends yt$1{text;constructor(t,e){t?.style?.lg?.typo?.s&&delete t.style.lg.typo.s,t?.style?.sm?.typo?.s&&delete t.style.sm.typo.s,super(e??2,t),t??={},this.text=t.text;}};var ge$3=(i=>(i.SINGLE=`SINGLE`,i.MULTIPLE=`MULTIPLE`,i.CHIPS=`CHIPS`,i))(ge$3||{}),Mr$3=class Mr extends Rt$3{showChips;optionsConfig;type;horizontal;constructor(t=15,e){super(e,t),e??={},this.showChips=e.showChips??false,this.optionsConfig=e.optionsConfig??{},this.horizontal=e.horizontal,e.type?this.type=e.type:e.showChips?this.type=`CHIPS`:this.type=`SINGLE`;}};var Ne$3=(i=>(i[i.LOW=1]=`LOW`,i[i.MEDIUM=2]=`MEDIUM`,i[i.HIGH=3]=`HIGH`,i))(Ne$3||{}),Oe$2=(e=>(e.SINGLE_PANE=`SINGLE_PANE`,e.TWO_PANE=`TWO_PANE`,e))(Oe$2||{});function vn(r){if(!r)return {display:`block`};let t={display:r.disp};return r.of&&(t.objectFit=r.of),r.pos===`absolute`&&(t.width=`auto !important`,t.position=`absolute`,t.right=r.right+`px`,t.left=r.left+`px`,t.top=r.top+`px`,t.bottom=r.bottom+`px`),t}function En(r){return r?{gap:r.gap+`px`,flexWrap:r.wrap,flexDirection:r.dir,justifyContent:r.jc,alignItems:r.ai,width:`100%`}:{}}function Hr$3(r,t,e){if(e??={},r.type===`LINEAR`){let i=`linear-gradient(${r.ang}deg, ${r.c1}, ${r.c2}`;r.c3&&(i+=`, ${r.c3}`),i+=`)`,e[t]=i;}return e}function jt$2(r,t=`color`,e){return e??={},r?r.grad?Hr$3(r.grad,t,e):(r.hex&&(e[t]=r.rgba),e):e}function A$2(r,t){return Se$5(r,t)+`px`}function Se$5(r,t=1){return (r??0)*t}function gn(r){let t={};return r?.w&&(t.width=r.w),r?.h&&(t.height=r.h),r?.maxW&&(t.maxWidth=r.maxW),r?.maxH&&(t.maxHeight=r.maxH),r?.minW&&(t.minWidth=r.minW),r?.minH&&(t.minHeight=r.minH),t}function Nn$1(r,t){if(!r)return {};let e={};return r.radius&&r.radius>0&&(e.borderRadius=A$2(r.radius,t)),r.width&&r.width>0&&(e.borderWidth=A$2(r.width,t),e.borderStyle=r.style?.toLowerCase(),r.color?jt$2(r.color,`border-color`,e):e.borderColor=`black`),e}function On(r,t){let e={};return r?(e.paddingTop=A$2(r.pt,t),e.paddingBottom=A$2(r.pb,t),e.paddingLeft=A$2(r.pl,t),e.paddingRight=A$2(r.pr,t),e.marginTop=A$2(r.mt,t),e.marginBottom=A$2(r.mb,t),e.marginLeft=r.cent?`auto`:A$2(r.ml,t),e.marginRight=r.cent?`auto`:A$2(r.mr,t),e):(e.margin=`0 !important`,e.padding=`unset`,e)}function Sn(r){if(!r)return {};let t={};if(r.glossy){let e=`backdrop-filter`,i=`-webkit-`+e,n=`blur(${r.glossy.radius}px)`;if(!CSS.supports(i,n)&&!CSS.supports(e,n))return {background:r.glossy.fallback.rgba};if(t[i]=n,t[e]=n,r.glossy.color)return jt$2(r.glossy.color,`background`,t)}else if(r.solid){if(r.solid.grad)return Hr$3(r.solid.grad,`background`,t);if(r.solid.hex)return {backgroundColor:r.solid.rgba}}else if(r.img){if(!r.img.src)return {};let e=(r.img.a??0)/100;t.background=`linear-gradient(rgba(0, 0, 0, ${e}), rgba(0, 0, 0, ${e})),url("${r.img.src}") no-repeat center`,t.backgroundSize=`cover`,r.img.a&&(t[`-webkit-backdrop-filter`]=`opacity(${r.img.a})`,t.backdropFilter=`opacity(${r.img.a})`);}return t}function In(r=new G$2){let t={};return t.letterSpacing=r.letterSpacing,t.fontSize=r.fs+`px`,t.lineHeight=r.lh,t.fontFamily=r.fam.name||`inherit`,t.textAlign=r.alignment,t.fontWeight=r.fw,t.textDecoration=r.td??`none`,jt$2(r.tc,`color`,t),t.boxShadow=`none`,t}
|
|
13
13
|
|
|
14
|
-
var i=class{enabled;type;color;constructor(e){e??={},this.enabled=e.enabled,this.type=e.type,this.color=new I$2(e.color);}},l$
|
|
14
|
+
var i=class{enabled;type;color;constructor(e){e??={},this.enabled=e.enabled,this.type=e.type,this.color=new I$2(e.color);}},l$3=class l{size;enabled;color;constructor(e){e??={},this.enabled=e.enabled,this.size=e.size,this.color=new I$2(e.color);}},r$1=class r{enabled;delay;constructor(e={}){this.enabled=e.enabled,e.delay&&(this.delay=e.delay>100?e.delay:e.delay*1e3);}},s$2=class s{navigation;pagination;autoplay;loop;maxInRow;gap;maxInRowSm;gapSm;speed;marquee;constructor(e){e??={},this.navigation=new l$3(e.navigation),this.pagination=new i(e.pagination),this.autoplay=new r$1(e.autoplay),this.loop=e.loop??false,this.maxInRow=e.maxInRow??4,this.gap=e.gap??0,this.maxInRowSm=e.maxInRowSm??this.maxInRow,this.gapSm=e.gapSm??this.gap,e.speed&&(this.speed=e.speed*1e3),this.marquee=e.marquee;}};
|
|
15
15
|
|
|
16
16
|
var Se$4=v$1((Y,Te)=>{(function(i,r){typeof Y==`object`&&typeof Te<`u`?r(Y):typeof define==`function`&&define.amd?define([`exports`],r):r((i=typeof globalThis<`u`?globalThis:i||self).Sqrl={});})(Y,function(i){function r(e){var t,n,a=new Error(e);return t=a,n=r.prototype,Object.setPrototypeOf?Object.setPrototypeOf(t,n):t.__proto__=n,a}function o(e,t,n){var a=t.slice(0,n).split(/\n/),s=a.length,l=a[s-1].length+1;throw r(e+=` at line `+s+` col `+l+`:
|
|
17
17
|
|
|
@@ -32,9 +32,9 @@ function M$3(){return window.CooeeSDK?.uaParser.getDevice().type===`mobile`}func
|
|
|
32
32
|
|
|
33
33
|
function u(r){return typeof r==`function`}function R$1(r){let t=r(o=>{Error.call(o),o.stack=new Error().stack;});return t.prototype=Object.create(Error.prototype),t.prototype.constructor=t,t}var G$1=R$1(r=>function(t){r(this),this.message=t?`${t.length} errors occurred during unsubscription:
|
|
34
34
|
${t.map((o,n)=>`${n+1}) ${o.toString()}`).join(`
|
|
35
|
-
`)}`:``,this.name=`UnsubscriptionError`,this.errors=t;});function P$1(r,e){if(r){let t=r.indexOf(e);0<=t&&r.splice(t,1);}}var v=class r{constructor(e){this.initialTeardown=e,this.closed=false,this._parentage=null,this._finalizers=null;}unsubscribe(){let e;if(!this.closed){this.closed=true;let{_parentage:t}=this;if(t)if(this._parentage=null,Array.isArray(t))for(let i of t)i.remove(this);else t.remove(this);let{initialTeardown:o}=this;if(u(o))try{o();}catch(i){e=i instanceof G$1?i.errors:[i];}let{_finalizers:n}=this;if(n){this._finalizers=null;for(let i of n)try{Pr$1(i);}catch(s){e=e??[],s instanceof G$1?e=[...e,...s.errors]:e.push(s);}}if(e)throw new G$1(e)}}add(e){var t;if(e&&e!==this)if(this.closed)Pr$1(e);else {if(e instanceof r){if(e.closed||e._hasParent(this))return;e._addParent(this);}(this._finalizers=(t=this._finalizers)!==null&&t!==void 0?t:[]).push(e);}}_hasParent(e){let{_parentage:t}=this;return t===e||Array.isArray(t)&&t.includes(e)}_addParent(e){let{_parentage:t}=this;this._parentage=Array.isArray(t)?(t.push(e),t):t?[t,e]:e;}_removeParent(e){let{_parentage:t}=this;t===e?this._parentage=null:Array.isArray(t)&&P$1(t,e);}remove(e){let{_finalizers:t}=this;t&&P$1(t,e),e instanceof r&&e._removeParent(this);}};v.EMPTY=(()=>{let r=new v;return r.closed=true,r})();var br$1=v.EMPTY;function K$1(r){return r instanceof v||r&&`closed`in r&&u(r.remove)&&u(r.add)&&u(r.unsubscribe)}function Pr$1(r){u(r)?r():r.unsubscribe();}var w$2={Promise:void 0};var L$2={setTimeout(r,e,...t){return setTimeout(r,e,...t)},clearTimeout(r){return (clearTimeout)(r)},delegate:void 0};function H$1(r){L$2.setTimeout(()=>{throw r});}function V$2(){}function M$2(r){r();}var j$2=class j extends v{constructor(e){super(),this.isStopped=false,e?(this.destination=e,K$1(e)&&e.add(this)):this.destination=se$2;}static create(e,t,o){return new O$1(e,t,o)}next(e){this.isStopped?_r$2():this._next(e);}error(e){this.isStopped?_r$2():(this.isStopped=true,this._error(e));}complete(){this.isStopped?_r$2():(this.isStopped=true,this._complete());}unsubscribe(){this.closed||(this.isStopped=true,super.unsubscribe(),this.destination=null);}_next(e){this.destination.next(e);}_error(e){try{this.destination.error(e);}finally{this.unsubscribe();}}_complete(){try{this.destination.complete();}finally{this.unsubscribe();}}};var wr$1=class wr{constructor(e){this.partialObserver=e;}next(e){let{partialObserver:t}=this;if(t.next)try{t.next(e);}catch(o){J(o);}}error(e){let{partialObserver:t}=this;if(t.error)try{t.error(e);}catch(o){J(o);}else J(e);}complete(){let{partialObserver:e}=this;if(e.complete)try{e.complete();}catch(t){J(t);}}},O$1=class O extends j$2{constructor(e,t,o){super();let n;if(u(e)||!e)n={next:e??void 0,error:t??void 0,complete:o??void 0};else {n=e;}this.destination=new wr$1(n);}};function J(r){H$1(r);}function ie$2(r){throw r}function _r$2(r,e){}var se$2={closed:true,next:V$2,error:ie$2,complete:V$2};var k$1=typeof Symbol==`function`&&Symbol.observable||`@@observable`;function T$1(r){return r}function Rr$2(r){return r.length===0?T$1:r.length===1?r[0]:function(t){return r.reduce((o,n)=>n(o),t)}}var m$2=(()=>{class r{constructor(t){t&&(this._subscribe=t);}lift(t){let o=new r;return o.source=this,o.operator=t,o}subscribe(t,o,n){let i=ce$1(t)?t:new O$1(t,o,n);return M$2(()=>{let{operator:s,source:c}=this;i.add(s?s.call(i,c):c?this._subscribe(i):this._trySubscribe(i));}),i}_trySubscribe(t){try{return this._subscribe(t)}catch(o){t.error(o);}}forEach(t,o){return o=Lr$1(o),new o((n,i)=>{let s=new O$1({next:c=>{try{t(c);}catch(f){i(f),s.unsubscribe();}},error:i,complete:n});this.subscribe(s);})}_subscribe(t){var o;return (o=this.source)===null||o===void 0?void 0:o.subscribe(t)}[k$1](){return this}pipe(...t){return Rr$2(t)(this)}toPromise(t){return t=Lr$1(t),new t((o,n)=>{let i;this.subscribe(s=>i=s,s=>n(s),()=>o(i));})}}return r.create=e=>new r(e),r})();function Lr$1(r){var e;return (e=r??w$2.Promise)!==null&&e!==void 0?e:Promise}function fe$1(r){return r&&u(r.next)&&u(r.error)&&u(r.complete)}function ce$1(r){return r&&r instanceof j$2||fe$1(r)&&K$1(r)}var Mr$1=R$1(r=>function(){r(this),this.name=`ObjectUnsubscribedError`,this.message=`object unsubscribed`;});var U=(()=>{class r extends m$2{constructor(){super(),this.closed=false,this.currentObservers=null,this.observers=[],this.isStopped=false,this.hasError=false,this.thrownError=null;}lift(t){let o=new Q(this,this);return o.operator=t,o}_throwIfClosed(){if(this.closed)throw new Mr$1}next(t){M$2(()=>{if(this._throwIfClosed(),!this.isStopped){this.currentObservers||(this.currentObservers=Array.from(this.observers));for(let o of this.currentObservers)o.next(t);}});}error(t){M$2(()=>{if(this._throwIfClosed(),!this.isStopped){this.hasError=this.isStopped=true,this.thrownError=t;let{observers:o}=this;for(;o.length;)o.shift().error(t);}});}complete(){M$2(()=>{if(this._throwIfClosed(),!this.isStopped){this.isStopped=true;let{observers:t}=this;for(;t.length;)t.shift().complete();}});}unsubscribe(){this.isStopped=this.closed=true,this.observers=this.currentObservers=null;}get observed(){var t;return ((t=this.observers)===null||t===void 0?void 0:t.length)>0}_trySubscribe(t){return this._throwIfClosed(),super._trySubscribe(t)}_subscribe(t){return this._throwIfClosed(),this._checkFinalizedStatuses(t),this._innerSubscribe(t)}_innerSubscribe(t){let{hasError:o,isStopped:n,observers:i}=this;return o||n?br$1:(this.currentObservers=null,i.push(t),new v(()=>{this.currentObservers=null,P$1(i,t);}))}_checkFinalizedStatuses(t){let{hasError:o,thrownError:n,isStopped:i}=this;o?t.error(n):i&&t.complete();}asObservable(){let t=new m$2;return t.source=this,t}}return r.create=(e,t)=>new Q(e,t),r})(),Q=class extends U{constructor(e,t){super(),this.destination=e,this.source=t;}next(e){var t,o;(o=(t=this.destination)===null||t===void 0?void 0:t.next)===null||o===void 0||o.call(t,e);}error(e){var t,o;(o=(t=this.destination)===null||t===void 0?void 0:t.error)===null||o===void 0||o.call(t,e);}complete(){var e,t;(t=(e=this.destination)===null||e===void 0?void 0:e.complete)===null||t===void 0||t.call(e);}_subscribe(e){var t,o;return (o=(t=this.source)===null||t===void 0?void 0:t.subscribe(e))!==null&&o!==void 0?o:br$1}};var Sr$1=class Sr extends U{constructor(e){super(),this._value=e;}get value(){return this.getValue()}_subscribe(e){let t=super._subscribe(e);return !t.closed&&e.next(this._value),t}getValue(){let{hasError:e,thrownError:t,_value:o}=this;if(e)throw t;return this._throwIfClosed(),o}next(e){super.next(this._value=e);}};var Y$1={now(){return (Y$1.delegate||Date).now()},delegate:void 0};var gr$2=class gr extends U{constructor(e=Infinity,t=Infinity,o=Y$1){super(),this._bufferSize=e,this._windowTime=t,this._timestampProvider=o,this._buffer=[],this._infiniteTimeWindow=true,this._infiniteTimeWindow=t===Infinity,this._bufferSize=Math.max(1,e),this._windowTime=Math.max(1,t);}next(e){let{isStopped:t,_buffer:o,_infiniteTimeWindow:n,_timestampProvider:i,_windowTime:s}=this;t||(o.push(e),!n&&o.push(i.now()+s)),this._trimBuffer(),super.next(e);}_subscribe(e){this._throwIfClosed(),this._trimBuffer();let t=this._innerSubscribe(e),{_infiniteTimeWindow:o,_buffer:n}=this,i=n.slice();for(let s=0;s<i.length&&!e.closed;s+=o?1:2)e.next(i[s]);return this._checkFinalizedStatuses(e),t}_trimBuffer(){let{_bufferSize:e,_timestampProvider:t,_buffer:o,_infiniteTimeWindow:n}=this,i=(n?1:2)*e;if(e<Infinity&&i<o.length&&o.splice(0,o.length-i),!n){let s=t.now(),c=0;for(let f=1;f<o.length&&o[f]<=s;f+=2)c=f;c&&o.splice(0,c+1);}}};var kr$2=R$1(r=>function(){r(this),this.name=`EmptyError`,this.message=`no elements in sequence`;});function le$2(r,e){return new Promise((o,n)=>{let i=new O$1({next:s=>{o(s),i.unsubscribe();},error:n,complete:()=>{n(new kr$2);}});r.subscribe(i);})}function ue$1(r){return u(r?.lift)}function p(r){return e=>{if(ue$1(e))return e.lift(function(t){try{return r(t,this)}catch(o){this.error(o);}});throw new TypeError(`Unable to lift unknown Observable type`)}}function a$2(r,e,t,o,n){return new Er$2(r,e,t,o,n)}var Er$2=class Er extends j$2{constructor(e,t,o,n,i,s){super(e),this.onFinalize=i,this.shouldUnsubscribe=s,this._next=t?function(c){try{t(c);}catch(f){e.error(f);}}:super._next,this._error=n?function(c){try{n(c);}catch(f){e.error(f);}finally{this.unsubscribe();}}:super._error,this._complete=o?function(){try{o();}catch(c){e.error(c);}finally{this.unsubscribe();}}:super._complete;}unsubscribe(){var e;if(!this.shouldUnsubscribe||this.shouldUnsubscribe()){let{closed:t}=this;super.unsubscribe(),!t&&((e=this.onFinalize)===null||e===void 0||e.call(this));}}};function q$1(r,e){return p((t,o)=>{let n=0;t.subscribe(a$2(o,i=>{o.next(r.call(e,i,n++));}));})}function Dr(r,e,t,o){function n(i){return i instanceof t?i:new t(function(s){s(i);})}return new(t||(t=Promise))(function(i,s){function c(b){try{l(o.next(b));}catch(y){s(y);}}function f(b){try{l(o.throw(b));}catch(y){s(y);}}function l(b){b.done?i(b.value):n(b.value).then(c,f);}l((o=o.apply(r,[])).next());})}function Ur$1(r){var e=typeof Symbol==`function`&&Symbol.iterator,t=e&&r[e],o=0;if(t)return t.call(r);if(r&&typeof r.length==`number`)return {next:function(){return r&&o>=r.length&&(r=void 0),{value:r&&r[o++],done:!r}}};throw new TypeError(e?`Object is not iterable.`:`Symbol.iterator is not defined.`)}function F$1(r){return this instanceof F$1?(this.v=r,this):new F$1(r)}function Wr$1(r,e,t){if(!Symbol.asyncIterator)throw new TypeError(`Symbol.asyncIterator is not defined.`);var o=t.apply(r,e||[]),n,i=[];return n=Object.create((typeof AsyncIterator==`function`?AsyncIterator:Object).prototype),c(`next`),c(`throw`),c(`return`,s),n[Symbol.asyncIterator]=function(){return this},n;function s(d){return function(x){return Promise.resolve(x).then(d,y)}}function c(d,x){o[d]&&(n[d]=function(S){return new Promise(function(B,g){i.push([d,S,B,g])>1||f(d,S);})},x&&(n[d]=x(n[d])));}function f(d,x){try{l(o[d](x));}catch(S){E(i[0][3],S);}}function l(d){d.value instanceof F$1?Promise.resolve(d.value.v).then(b,y):E(i[0][2],d);}function b(d){f(`next`,d);}function y(d){f(`throw`,d);}function E(d,x){d(x),i.shift(),i.length&&f(i[0][0],i[0][1]);}}function zr(r){if(!Symbol.asyncIterator)throw new TypeError(`Symbol.asyncIterator is not defined.`);var e=r[Symbol.asyncIterator],t;return e?e.call(r):(r=typeof Ur$1==`function`?Ur$1(r):r[Symbol.iterator](),t={},o(`next`),o(`throw`),o(`return`),t[Symbol.asyncIterator]=function(){return this},t);function o(i){t[i]=r[i]&&function(s){return new Promise(function(c,f){s=r[i](s),n(c,f,s.done,s.value);})};}function n(i,s,c,f){Promise.resolve(f).then(function(l){i({value:l,done:c});},s);}}var D=r=>r&&typeof r.length==`number`&&typeof r!=`function`;function X$1(r){return u(r?.then)}function Z(r){return u(r[k$1])}function rr$2(r){return Symbol.asyncIterator&&u(r?.[Symbol.asyncIterator])}function er$2(r){return new TypeError(`You provided ${r!==null&&typeof r==`object`?`an invalid object`:`'${r}'`} where a stream was expected. You can provide an Observable, Promise, ReadableStream, Array, AsyncIterable, or Iterable.`)}function pe$1(){return typeof Symbol!=`function`||!Symbol.iterator?`@@iterator`:Symbol.iterator}var tr$2=pe$1();function or$2(r){return u(r?.[tr$2])}function nr$2(r){return Wr$1(this,arguments,function*(){let t=r.getReader();try{for(;;){let{value:o,done:n}=yield F$1(t.read());if(n)return yield F$1(void 0);yield yield F$1(o);}}finally{t.releaseLock();}})}function ir$2(r){return u(r?.getReader)}function h$1(r){if(r instanceof m$2)return r;if(r!=null){if(Z(r))return ae$2(r);if(D(r))return me$1(r);if(X$1(r))return de$2(r);if(rr$2(r))return Vr$1(r);if(or$2(r))return he$1(r);if(ir$2(r))return xe$1(r)}throw er$2(r)}function ae$2(r){return new m$2(e=>{let t=r[k$1]();if(u(t.subscribe))return t.subscribe(e);throw new TypeError(`Provided object does not correctly implement Symbol.observable`)})}function me$1(r){return new m$2(e=>{for(let t=0;t<r.length&&!e.closed;t++)e.next(r[t]);e.complete();})}function de$2(r){return new m$2(e=>{r.then(t=>{e.closed||(e.next(t),e.complete());},t=>e.error(t)).then(null,H$1);})}function he$1(r){return new m$2(e=>{for(let t of r)if(e.next(t),e.closed)return;e.complete();})}function Vr$1(r){return new m$2(e=>{be$2(r,e).catch(t=>e.error(t));})}function xe$1(r){return Vr$1(nr$2(r))}function be$2(r,e){var t,o,n,i;return Dr(this,void 0,void 0,function*(){try{for(t=zr(r);o=yield t.next(),!o.done;){let s=o.value;if(e.next(s),e.closed)return}}catch(s){n={error:s};}finally{try{o&&!o.done&&(i=t.return)&&(yield i.call(t));}finally{if(n)throw n.error}}e.complete();})}function ye$1(r){return new m$2(e=>{h$1(r()).subscribe(e);})}function _(r,e,t,o=0,n=false){let i=e.schedule(function(){t(),n?r.add(this.schedule(null,o)):this.unsubscribe();},o);if(r.add(i),!n)return i}function Yr(r,e,t,o,n,i,s,c){let f=[],l=0,b=0,y=false,E=()=>{y&&!f.length&&!l&&e.complete();},d=S=>l<o?x(S):f.push(S),x=S=>{l++;let B=false;h$1(t(S,b++)).subscribe(a$2(e,g=>{e.next(g);},()=>{B=true;},void 0,()=>{if(B)try{for(l--;f.length&&l<o;){let g=f.shift();s?_(e,s,()=>x(g)):x(g);}E();}catch(g){e.error(g);}}));};return r.subscribe(a$2(e,d,()=>{y=true,E();})),()=>{}}function N$2(r,e,t=Infinity){return u(e)?N$2((o,n)=>q$1((i,s)=>e(o,i,n,s))(h$1(r(o,n))),t):(typeof e==`number`&&(t=e),p((o,n)=>Yr(o,n,r,t)))}function sr$1(r=Infinity){return N$2(T$1,r)}var fr$1=new m$2(r=>r.complete());function cr$2(r){return r&&u(r.schedule)}function qr$1(r){return r[r.length-1]}function I$1(r){return cr$2(qr$1(r))?r.pop():void 0}function Nr$1(r,e){return typeof qr$1(r)==`number`?r.pop():e}function lr$2(r,e=0){return p((t,o)=>{t.subscribe(a$2(o,n=>_(o,r,()=>o.next(n),e),()=>_(o,r,()=>o.complete(),e),n=>_(o,r,()=>o.error(n),e)));})}function ur$2(r,e=0){return p((t,o)=>{o.add(r.schedule(()=>t.subscribe(o),e));})}function $r$1(r,e){return h$1(r).pipe(ur$2(e),lr$2(e))}function Br$1(r,e){return h$1(r).pipe(ur$2(e),lr$2(e))}function Gr$1(r,e){return new m$2(t=>{let o=0;return e.schedule(function(){o===r.length?t.complete():(t.next(r[o++]),t.closed||this.schedule());})})}function Kr$1(r,e){return new m$2(t=>{let o;return _(t,e,()=>{o=r[tr$2](),_(t,e,()=>{let n,i;try{({value:n,done:i}=o.next());}catch(s){t.error(s);return}i?t.complete():t.next(n);},0,true);}),()=>u(o?.return)&&o.return()})}function pr$2(r,e){if(!r)throw new Error(`Iterable cannot be null`);return new m$2(t=>{_(t,e,()=>{let o=r[Symbol.asyncIterator]();_(t,e,()=>{o.next().then(n=>{n.done?t.complete():t.next(n.value);});},0,true);});})}function Hr$1(r,e){return pr$2(nr$2(r),e)}function Jr(r,e){if(r!=null){if(Z(r))return $r$1(r,e);if(D(r))return Gr$1(r,e);if(X$1(r))return Br$1(r,e);if(rr$2(r))return pr$2(r,e);if(or$2(r))return Kr$1(r,e);if(ir$2(r))return Hr$1(r,e)}throw er$2(r)}function W$1(r,e){return e?Jr(r,e):h$1(r)}function ve$2(...r){let e=I$1(r),t=Nr$1(r,Infinity),o=r;return o.length?o.length===1?h$1(o[0]):sr$1(t)(W$1(o,e)):fr$1}function Nn(r){return r<=0?()=>fr$1:p((e,t)=>{let o=0;e.subscribe(a$2(t,n=>{++o<=r&&(t.next(n),r<=o&&t.complete());}));})}function Qr(){return sr$1(1)}function Or$1(...r){return Qr()(W$1(r,I$1(r)))}function _e(...r){let e=I$1(r);return p((t,o)=>{(e?Or$1(r,t,e):Or$1(r,t)).subscribe(o);})}function ii$1(r,e){return p((t,o)=>{let n=null,i=0,s=!1,c=()=>s&&!n&&o.complete();t.subscribe(a$2(o,f=>{n?.unsubscribe();let l=0,b=i++;h$1(r(f,b)).subscribe(n=a$2(o,y=>o.next(e?e(f,y,b,l++):y),()=>{n=null,c();}));},()=>{s=!0,c();}));})}function pi$1(r){return p((e,t)=>{h$1(r).subscribe(a$2(t,()=>t.complete(),V$2)),!t.closed&&e.subscribe(t);})}function bi$2(r,e,t){let o=u(r)||e||t?{next:r,error:e,complete:t}:r;return o?p((n,i)=>{var s;(s=o.subscribe)===null||s===void 0||s.call(o);let c=!0;n.subscribe(a$2(i,f=>{var l;(l=o.next)===null||l===void 0||l.call(o,f),i.next(f);},()=>{var f;c=!1,(f=o.complete)===null||f===void 0||f.call(o),i.complete();},f=>{var l;c=!1,(l=o.error)===null||l===void 0||l.call(o,f),i.error(f);},()=>{var f,l;c&&((f=o.unsubscribe)===null||f===void 0||f.call(o)),(l=o.finalize)===null||l===void 0||l.call(o);}));}):T$1}var ar$2=class ar extends v{constructor(e,t){super();}schedule(e,t=0){return this}};var $={setInterval(r,e,...t){let{delegate:o}=$;return o?.setInterval?o.setInterval(r,e,...t):setInterval(r,e,...t)},clearInterval(r){return (clearInterval)(r)},delegate:void 0};var mr$2=class mr extends ar$2{constructor(e,t){super(e,t),this.scheduler=e,this.work=t,this.pending=false;}schedule(e,t=0){var o;if(this.closed)return this;this.state=e;let n=this.id,i=this.scheduler;return n!=null&&(this.id=this.recycleAsyncId(i,n,t)),this.pending=true,this.delay=t,this.id=(o=this.id)!==null&&o!==void 0?o:this.requestAsyncId(i,this.id,t),this}requestAsyncId(e,t,o=0){return $.setInterval(e.flush.bind(e,this),o)}recycleAsyncId(e,t,o=0){if(o!=null&&this.delay===o&&this.pending===false)return t;t!=null&&$.clearInterval(t);}execute(e,t){if(this.closed)return new Error(`executing a cancelled action`);this.pending=false;let o=this._execute(e,t);if(o)return o;this.pending===false&&this.id!=null&&(this.id=this.recycleAsyncId(this.scheduler,this.id,null));}_execute(e,t){let o=false,n;try{this.work(e);}catch(i){o=true,n=i||new Error(`Scheduled action threw falsy error`);}if(o)return this.unsubscribe(),n}unsubscribe(){if(!this.closed){let{id:e,scheduler:t}=this,{actions:o}=t;this.work=this.state=this.scheduler=null,this.pending=false,P$1(o,this),e!=null&&(this.id=this.recycleAsyncId(t,e,null)),this.delay=null,super.unsubscribe();}}};var z$3=class r{constructor(e,t=r.now){this.schedulerActionCtor=e,this.now=t;}schedule(e,t=0,o){return new this.schedulerActionCtor(this,e).schedule(o,t)}};z$3.now=Y$1.now;var dr$2=class dr extends z$3{constructor(e,t=z$3.now){super(e,t),this.actions=[],this._active=false;}flush(e){let{actions:t}=this;if(this._active){t.push(e);return}let o;this._active=true;do if(o=e.execute(e.state,e.delay))break;while(e=t.shift());if(this._active=false,o){for(;e=t.shift();)e.unsubscribe();throw o}}};var C$2=new dr$2(mr$2),Xr$1=C$2;function Zr(r,e){return p((t,o)=>{let{leading:n=!0,trailing:i=!1}=e??{},s=!1,c=null,f=null,l=!1,b=()=>{f?.unsubscribe(),f=null,i&&(d(),l&&o.complete());},y=()=>{f=null,l&&o.complete();},E=x=>f=h$1(r(x)).subscribe(a$2(o,b,y)),d=()=>{if(s){s=!1;let x=c;c=null,o.next(x),!l&&E(x);}};t.subscribe(a$2(o,x=>{s=!0,c=x,!(f&&!f.closed)&&(n?d():E(x));},()=>{l=!0,!(i&&s&&f&&!f.closed)&&o.complete();}));})}function re$1(r){return r instanceof Date&&!isNaN(r)}function hr$2(r=0,e,t=Xr$1){let o=-1;return e!=null&&(cr$2(e)?t=e:o=e),new m$2(n=>{let i=re$1(r)?+r-t.now():r;i<0&&(i=0);let s=0;return t.schedule(function(){n.closed||(n.next(s++),0<=o?this.schedule(void 0,o):n.complete());},i)})}function we$2(r,e=C$2,t){let o=hr$2(r,e);return Zr(()=>o,t)}function Se$2(...r){return W$1(r,I$1(r))}var{isArray:ge$1}=Array;function Ee$2(r,e){return ge$1(e)?r(...e):r(e)}function xr$2(r){return q$1(e=>Ee$2(r,e))}var Oe=[`addListener`,`removeListener`],Te$1=[`addEventListener`,`removeEventListener`],Ie$2=[`on`,`off`];function Tr$1(r,e,t,o){if(u(t)&&(o=t,t=void 0),o)return Tr$1(r,e,t).pipe(xr$2(o));let[n,i]=je$2(r)?Te$1.map(s=>c=>r[s](e,c,t)):Pe(r)?Oe.map(ee(r,e)):Ae(r)?Ie$2.map(ee(r,e)):[];if(!n&&D(r))return N$2(s=>Tr$1(s,e,t))(h$1(r));if(!n)throw new TypeError(`Invalid event target`);return new m$2(s=>{let c=(...f)=>s.next(1<f.length?f:f[0]);return n(c),()=>i(c)})}function ee(r,e){return t=>o=>r[t](e,o)}function Pe(r){return u(r.addListener)&&u(r.removeListener)}function Ae(r){return u(r.on)&&u(r.off)}function je$2(r){return u(r.addEventListener)&&u(r.removeEventListener)}function te$1(r,e,t){return t?te$1(r,e).pipe(xr$2(t)):new m$2(o=>{let n=(...s)=>o.next(s.length===1?s[0]:s),i=r(n);return u(e)?()=>e(n,i):void 0})}function Ir$1(r,e){return p((t,o)=>{let n=0;t.subscribe(a$2(o,i=>r.call(e,i,n++)&&o.next(i)));})}function oe$2(r){return p((e,t)=>{let o=!1,n=null,i=null,s=!1,c=()=>{if(i?.unsubscribe(),i=null,o){o=!1;let l=n;n=null,t.next(l);}s&&t.complete();},f=()=>{i=null,s&&t.complete();};e.subscribe(a$2(t,l=>{o=!0,n=l,i||h$1(r(l)).subscribe(i=a$2(t,c,f));},()=>{s=!0,(!o||!i||i.closed)&&t.complete();}));})}function vs(r,e=C$2){return oe$2(()=>hr$2(r,e))}function Fe$1(r,e=C$2){return p((t,o)=>{let n=null,i=null,s=null,c=()=>{if(n){n.unsubscribe(),n=null;let l=i;i=null,o.next(l);}};function f(){let l=s+r,b=e.now();if(b<l){n=this.schedule(void 0,l-b),o.add(n);return}c();}t.subscribe(a$2(o,l=>{i=l,s=e.now(),n||(n=e.schedule(f,r),o.add(n));},()=>{c(),o.complete();},void 0,()=>{i=n=null;}));})}function Ps(r,e=T$1){return r=r??Ce$1,p((t,o)=>{let n,i=!0;t.subscribe(a$2(o,s=>{let c=e(s);(i||!r(n,c))&&(i=!1,n=c,o.next(s));}));})}function Ce$1(r,e){return r===e}function Fs(r){return Ir$1((e,t)=>r<=t)}
|
|
35
|
+
`)}`:``,this.name=`UnsubscriptionError`,this.errors=t;});function P$1(r,e){if(r){let t=r.indexOf(e);0<=t&&r.splice(t,1);}}var v=class r{constructor(e){this.initialTeardown=e,this.closed=false,this._parentage=null,this._finalizers=null;}unsubscribe(){let e;if(!this.closed){this.closed=true;let{_parentage:t}=this;if(t)if(this._parentage=null,Array.isArray(t))for(let i of t)i.remove(this);else t.remove(this);let{initialTeardown:o}=this;if(u(o))try{o();}catch(i){e=i instanceof G$1?i.errors:[i];}let{_finalizers:n}=this;if(n){this._finalizers=null;for(let i of n)try{Pr$1(i);}catch(s){e=e??[],s instanceof G$1?e=[...e,...s.errors]:e.push(s);}}if(e)throw new G$1(e)}}add(e){var t;if(e&&e!==this)if(this.closed)Pr$1(e);else {if(e instanceof r){if(e.closed||e._hasParent(this))return;e._addParent(this);}(this._finalizers=(t=this._finalizers)!==null&&t!==void 0?t:[]).push(e);}}_hasParent(e){let{_parentage:t}=this;return t===e||Array.isArray(t)&&t.includes(e)}_addParent(e){let{_parentage:t}=this;this._parentage=Array.isArray(t)?(t.push(e),t):t?[t,e]:e;}_removeParent(e){let{_parentage:t}=this;t===e?this._parentage=null:Array.isArray(t)&&P$1(t,e);}remove(e){let{_finalizers:t}=this;t&&P$1(t,e),e instanceof r&&e._removeParent(this);}};v.EMPTY=(()=>{let r=new v;return r.closed=true,r})();var br$1=v.EMPTY;function K$1(r){return r instanceof v||r&&`closed`in r&&u(r.remove)&&u(r.add)&&u(r.unsubscribe)}function Pr$1(r){u(r)?r():r.unsubscribe();}var w$2={Promise:void 0};var L$2={setTimeout(r,e,...t){return setTimeout(r,e,...t)},clearTimeout(r){return (clearTimeout)(r)},delegate:void 0};function H$1(r){L$2.setTimeout(()=>{throw r});}function V$2(){}function M$2(r){r();}var j$2=class j extends v{constructor(e){super(),this.isStopped=false,e?(this.destination=e,K$1(e)&&e.add(this)):this.destination=se$2;}static create(e,t,o){return new O$1(e,t,o)}next(e){this.isStopped?_r$2():this._next(e);}error(e){this.isStopped?_r$2():(this.isStopped=true,this._error(e));}complete(){this.isStopped?_r$2():(this.isStopped=true,this._complete());}unsubscribe(){this.closed||(this.isStopped=true,super.unsubscribe(),this.destination=null);}_next(e){this.destination.next(e);}_error(e){try{this.destination.error(e);}finally{this.unsubscribe();}}_complete(){try{this.destination.complete();}finally{this.unsubscribe();}}};var wr$1=class wr{constructor(e){this.partialObserver=e;}next(e){let{partialObserver:t}=this;if(t.next)try{t.next(e);}catch(o){J(o);}}error(e){let{partialObserver:t}=this;if(t.error)try{t.error(e);}catch(o){J(o);}else J(e);}complete(){let{partialObserver:e}=this;if(e.complete)try{e.complete();}catch(t){J(t);}}},O$1=class O extends j$2{constructor(e,t,o){super();let n;if(u(e)||!e)n={next:e??void 0,error:t??void 0,complete:o??void 0};else {n=e;}this.destination=new wr$1(n);}};function J(r){H$1(r);}function ie$2(r){throw r}function _r$2(r,e){}var se$2={closed:true,next:V$2,error:ie$2,complete:V$2};var k$1=typeof Symbol==`function`&&Symbol.observable||`@@observable`;function T$1(r){return r}function Rr$2(r){return r.length===0?T$1:r.length===1?r[0]:function(t){return r.reduce((o,n)=>n(o),t)}}var m$1=(()=>{class r{constructor(t){t&&(this._subscribe=t);}lift(t){let o=new r;return o.source=this,o.operator=t,o}subscribe(t,o,n){let i=ce$1(t)?t:new O$1(t,o,n);return M$2(()=>{let{operator:s,source:c}=this;i.add(s?s.call(i,c):c?this._subscribe(i):this._trySubscribe(i));}),i}_trySubscribe(t){try{return this._subscribe(t)}catch(o){t.error(o);}}forEach(t,o){return o=Lr$1(o),new o((n,i)=>{let s=new O$1({next:c=>{try{t(c);}catch(f){i(f),s.unsubscribe();}},error:i,complete:n});this.subscribe(s);})}_subscribe(t){var o;return (o=this.source)===null||o===void 0?void 0:o.subscribe(t)}[k$1](){return this}pipe(...t){return Rr$2(t)(this)}toPromise(t){return t=Lr$1(t),new t((o,n)=>{let i;this.subscribe(s=>i=s,s=>n(s),()=>o(i));})}}return r.create=e=>new r(e),r})();function Lr$1(r){var e;return (e=r??w$2.Promise)!==null&&e!==void 0?e:Promise}function fe$1(r){return r&&u(r.next)&&u(r.error)&&u(r.complete)}function ce$1(r){return r&&r instanceof j$2||fe$1(r)&&K$1(r)}var Mr$1=R$1(r=>function(){r(this),this.name=`ObjectUnsubscribedError`,this.message=`object unsubscribed`;});var U=(()=>{class r extends m$1{constructor(){super(),this.closed=false,this.currentObservers=null,this.observers=[],this.isStopped=false,this.hasError=false,this.thrownError=null;}lift(t){let o=new Q(this,this);return o.operator=t,o}_throwIfClosed(){if(this.closed)throw new Mr$1}next(t){M$2(()=>{if(this._throwIfClosed(),!this.isStopped){this.currentObservers||(this.currentObservers=Array.from(this.observers));for(let o of this.currentObservers)o.next(t);}});}error(t){M$2(()=>{if(this._throwIfClosed(),!this.isStopped){this.hasError=this.isStopped=true,this.thrownError=t;let{observers:o}=this;for(;o.length;)o.shift().error(t);}});}complete(){M$2(()=>{if(this._throwIfClosed(),!this.isStopped){this.isStopped=true;let{observers:t}=this;for(;t.length;)t.shift().complete();}});}unsubscribe(){this.isStopped=this.closed=true,this.observers=this.currentObservers=null;}get observed(){var t;return ((t=this.observers)===null||t===void 0?void 0:t.length)>0}_trySubscribe(t){return this._throwIfClosed(),super._trySubscribe(t)}_subscribe(t){return this._throwIfClosed(),this._checkFinalizedStatuses(t),this._innerSubscribe(t)}_innerSubscribe(t){let{hasError:o,isStopped:n,observers:i}=this;return o||n?br$1:(this.currentObservers=null,i.push(t),new v(()=>{this.currentObservers=null,P$1(i,t);}))}_checkFinalizedStatuses(t){let{hasError:o,thrownError:n,isStopped:i}=this;o?t.error(n):i&&t.complete();}asObservable(){let t=new m$1;return t.source=this,t}}return r.create=(e,t)=>new Q(e,t),r})(),Q=class extends U{constructor(e,t){super(),this.destination=e,this.source=t;}next(e){var t,o;(o=(t=this.destination)===null||t===void 0?void 0:t.next)===null||o===void 0||o.call(t,e);}error(e){var t,o;(o=(t=this.destination)===null||t===void 0?void 0:t.error)===null||o===void 0||o.call(t,e);}complete(){var e,t;(t=(e=this.destination)===null||e===void 0?void 0:e.complete)===null||t===void 0||t.call(e);}_subscribe(e){var t,o;return (o=(t=this.source)===null||t===void 0?void 0:t.subscribe(e))!==null&&o!==void 0?o:br$1}};var Sr$1=class Sr extends U{constructor(e){super(),this._value=e;}get value(){return this.getValue()}_subscribe(e){let t=super._subscribe(e);return !t.closed&&e.next(this._value),t}getValue(){let{hasError:e,thrownError:t,_value:o}=this;if(e)throw t;return this._throwIfClosed(),o}next(e){super.next(this._value=e);}};var Y$1={now(){return (Y$1.delegate||Date).now()},delegate:void 0};var gr$2=class gr extends U{constructor(e=Infinity,t=Infinity,o=Y$1){super(),this._bufferSize=e,this._windowTime=t,this._timestampProvider=o,this._buffer=[],this._infiniteTimeWindow=true,this._infiniteTimeWindow=t===Infinity,this._bufferSize=Math.max(1,e),this._windowTime=Math.max(1,t);}next(e){let{isStopped:t,_buffer:o,_infiniteTimeWindow:n,_timestampProvider:i,_windowTime:s}=this;t||(o.push(e),!n&&o.push(i.now()+s)),this._trimBuffer(),super.next(e);}_subscribe(e){this._throwIfClosed(),this._trimBuffer();let t=this._innerSubscribe(e),{_infiniteTimeWindow:o,_buffer:n}=this,i=n.slice();for(let s=0;s<i.length&&!e.closed;s+=o?1:2)e.next(i[s]);return this._checkFinalizedStatuses(e),t}_trimBuffer(){let{_bufferSize:e,_timestampProvider:t,_buffer:o,_infiniteTimeWindow:n}=this,i=(n?1:2)*e;if(e<Infinity&&i<o.length&&o.splice(0,o.length-i),!n){let s=t.now(),c=0;for(let f=1;f<o.length&&o[f]<=s;f+=2)c=f;c&&o.splice(0,c+1);}}};var kr$2=R$1(r=>function(){r(this),this.name=`EmptyError`,this.message=`no elements in sequence`;});function le$2(r,e){return new Promise((o,n)=>{let i=new O$1({next:s=>{o(s),i.unsubscribe();},error:n,complete:()=>{n(new kr$2);}});r.subscribe(i);})}function ue$1(r){return u(r?.lift)}function p(r){return e=>{if(ue$1(e))return e.lift(function(t){try{return r(t,this)}catch(o){this.error(o);}});throw new TypeError(`Unable to lift unknown Observable type`)}}function a$2(r,e,t,o,n){return new Er$2(r,e,t,o,n)}var Er$2=class Er extends j$2{constructor(e,t,o,n,i,s){super(e),this.onFinalize=i,this.shouldUnsubscribe=s,this._next=t?function(c){try{t(c);}catch(f){e.error(f);}}:super._next,this._error=n?function(c){try{n(c);}catch(f){e.error(f);}finally{this.unsubscribe();}}:super._error,this._complete=o?function(){try{o();}catch(c){e.error(c);}finally{this.unsubscribe();}}:super._complete;}unsubscribe(){var e;if(!this.shouldUnsubscribe||this.shouldUnsubscribe()){let{closed:t}=this;super.unsubscribe(),!t&&((e=this.onFinalize)===null||e===void 0||e.call(this));}}};function q$1(r,e){return p((t,o)=>{let n=0;t.subscribe(a$2(o,i=>{o.next(r.call(e,i,n++));}));})}function Dr(r,e,t,o){function n(i){return i instanceof t?i:new t(function(s){s(i);})}return new(t||(t=Promise))(function(i,s){function c(b){try{l(o.next(b));}catch(y){s(y);}}function f(b){try{l(o.throw(b));}catch(y){s(y);}}function l(b){b.done?i(b.value):n(b.value).then(c,f);}l((o=o.apply(r,[])).next());})}function Ur$1(r){var e=typeof Symbol==`function`&&Symbol.iterator,t=e&&r[e],o=0;if(t)return t.call(r);if(r&&typeof r.length==`number`)return {next:function(){return r&&o>=r.length&&(r=void 0),{value:r&&r[o++],done:!r}}};throw new TypeError(e?`Object is not iterable.`:`Symbol.iterator is not defined.`)}function F$1(r){return this instanceof F$1?(this.v=r,this):new F$1(r)}function Wr$1(r,e,t){if(!Symbol.asyncIterator)throw new TypeError(`Symbol.asyncIterator is not defined.`);var o=t.apply(r,e||[]),n,i=[];return n=Object.create((typeof AsyncIterator==`function`?AsyncIterator:Object).prototype),c(`next`),c(`throw`),c(`return`,s),n[Symbol.asyncIterator]=function(){return this},n;function s(d){return function(x){return Promise.resolve(x).then(d,y)}}function c(d,x){o[d]&&(n[d]=function(S){return new Promise(function(B,g){i.push([d,S,B,g])>1||f(d,S);})},x&&(n[d]=x(n[d])));}function f(d,x){try{l(o[d](x));}catch(S){E(i[0][3],S);}}function l(d){d.value instanceof F$1?Promise.resolve(d.value.v).then(b,y):E(i[0][2],d);}function b(d){f(`next`,d);}function y(d){f(`throw`,d);}function E(d,x){d(x),i.shift(),i.length&&f(i[0][0],i[0][1]);}}function zr(r){if(!Symbol.asyncIterator)throw new TypeError(`Symbol.asyncIterator is not defined.`);var e=r[Symbol.asyncIterator],t;return e?e.call(r):(r=typeof Ur$1==`function`?Ur$1(r):r[Symbol.iterator](),t={},o(`next`),o(`throw`),o(`return`),t[Symbol.asyncIterator]=function(){return this},t);function o(i){t[i]=r[i]&&function(s){return new Promise(function(c,f){s=r[i](s),n(c,f,s.done,s.value);})};}function n(i,s,c,f){Promise.resolve(f).then(function(l){i({value:l,done:c});},s);}}var D=r=>r&&typeof r.length==`number`&&typeof r!=`function`;function X$1(r){return u(r?.then)}function Z(r){return u(r[k$1])}function rr$2(r){return Symbol.asyncIterator&&u(r?.[Symbol.asyncIterator])}function er$2(r){return new TypeError(`You provided ${r!==null&&typeof r==`object`?`an invalid object`:`'${r}'`} where a stream was expected. You can provide an Observable, Promise, ReadableStream, Array, AsyncIterable, or Iterable.`)}function pe$1(){return typeof Symbol!=`function`||!Symbol.iterator?`@@iterator`:Symbol.iterator}var tr$2=pe$1();function or$2(r){return u(r?.[tr$2])}function nr$2(r){return Wr$1(this,arguments,function*(){let t=r.getReader();try{for(;;){let{value:o,done:n}=yield F$1(t.read());if(n)return yield F$1(void 0);yield yield F$1(o);}}finally{t.releaseLock();}})}function ir$2(r){return u(r?.getReader)}function h$1(r){if(r instanceof m$1)return r;if(r!=null){if(Z(r))return ae$2(r);if(D(r))return me$1(r);if(X$1(r))return de$2(r);if(rr$2(r))return Vr$1(r);if(or$2(r))return he$1(r);if(ir$2(r))return xe$1(r)}throw er$2(r)}function ae$2(r){return new m$1(e=>{let t=r[k$1]();if(u(t.subscribe))return t.subscribe(e);throw new TypeError(`Provided object does not correctly implement Symbol.observable`)})}function me$1(r){return new m$1(e=>{for(let t=0;t<r.length&&!e.closed;t++)e.next(r[t]);e.complete();})}function de$2(r){return new m$1(e=>{r.then(t=>{e.closed||(e.next(t),e.complete());},t=>e.error(t)).then(null,H$1);})}function he$1(r){return new m$1(e=>{for(let t of r)if(e.next(t),e.closed)return;e.complete();})}function Vr$1(r){return new m$1(e=>{be$2(r,e).catch(t=>e.error(t));})}function xe$1(r){return Vr$1(nr$2(r))}function be$2(r,e){var t,o,n,i;return Dr(this,void 0,void 0,function*(){try{for(t=zr(r);o=yield t.next(),!o.done;){let s=o.value;if(e.next(s),e.closed)return}}catch(s){n={error:s};}finally{try{o&&!o.done&&(i=t.return)&&(yield i.call(t));}finally{if(n)throw n.error}}e.complete();})}function ye$1(r){return new m$1(e=>{h$1(r()).subscribe(e);})}function _(r,e,t,o=0,n=false){let i=e.schedule(function(){t(),n?r.add(this.schedule(null,o)):this.unsubscribe();},o);if(r.add(i),!n)return i}function Yr(r,e,t,o,n,i,s,c){let f=[],l=0,b=0,y=false,E=()=>{y&&!f.length&&!l&&e.complete();},d=S=>l<o?x(S):f.push(S),x=S=>{l++;let B=false;h$1(t(S,b++)).subscribe(a$2(e,g=>{e.next(g);},()=>{B=true;},void 0,()=>{if(B)try{for(l--;f.length&&l<o;){let g=f.shift();s?_(e,s,()=>x(g)):x(g);}E();}catch(g){e.error(g);}}));};return r.subscribe(a$2(e,d,()=>{y=true,E();})),()=>{}}function N$2(r,e,t=Infinity){return u(e)?N$2((o,n)=>q$1((i,s)=>e(o,i,n,s))(h$1(r(o,n))),t):(typeof e==`number`&&(t=e),p((o,n)=>Yr(o,n,r,t)))}function sr$1(r=Infinity){return N$2(T$1,r)}var fr$1=new m$1(r=>r.complete());function cr$2(r){return r&&u(r.schedule)}function qr$1(r){return r[r.length-1]}function I$1(r){return cr$2(qr$1(r))?r.pop():void 0}function Nr$1(r,e){return typeof qr$1(r)==`number`?r.pop():e}function lr$2(r,e=0){return p((t,o)=>{t.subscribe(a$2(o,n=>_(o,r,()=>o.next(n),e),()=>_(o,r,()=>o.complete(),e),n=>_(o,r,()=>o.error(n),e)));})}function ur$2(r,e=0){return p((t,o)=>{o.add(r.schedule(()=>t.subscribe(o),e));})}function $r$1(r,e){return h$1(r).pipe(ur$2(e),lr$2(e))}function Br$1(r,e){return h$1(r).pipe(ur$2(e),lr$2(e))}function Gr$1(r,e){return new m$1(t=>{let o=0;return e.schedule(function(){o===r.length?t.complete():(t.next(r[o++]),t.closed||this.schedule());})})}function Kr$1(r,e){return new m$1(t=>{let o;return _(t,e,()=>{o=r[tr$2](),_(t,e,()=>{let n,i;try{({value:n,done:i}=o.next());}catch(s){t.error(s);return}i?t.complete():t.next(n);},0,true);}),()=>u(o?.return)&&o.return()})}function pr$2(r,e){if(!r)throw new Error(`Iterable cannot be null`);return new m$1(t=>{_(t,e,()=>{let o=r[Symbol.asyncIterator]();_(t,e,()=>{o.next().then(n=>{n.done?t.complete():t.next(n.value);});},0,true);});})}function Hr$1(r,e){return pr$2(nr$2(r),e)}function Jr(r,e){if(r!=null){if(Z(r))return $r$1(r,e);if(D(r))return Gr$1(r,e);if(X$1(r))return Br$1(r,e);if(rr$2(r))return pr$2(r,e);if(or$2(r))return Kr$1(r,e);if(ir$2(r))return Hr$1(r,e)}throw er$2(r)}function W$1(r,e){return e?Jr(r,e):h$1(r)}function ve$2(...r){let e=I$1(r),t=Nr$1(r,Infinity),o=r;return o.length?o.length===1?h$1(o[0]):sr$1(t)(W$1(o,e)):fr$1}function Nn(r){return r<=0?()=>fr$1:p((e,t)=>{let o=0;e.subscribe(a$2(t,n=>{++o<=r&&(t.next(n),r<=o&&t.complete());}));})}function Qr(){return sr$1(1)}function Or$1(...r){return Qr()(W$1(r,I$1(r)))}function _e(...r){let e=I$1(r);return p((t,o)=>{(e?Or$1(r,t,e):Or$1(r,t)).subscribe(o);})}function ii$1(r,e){return p((t,o)=>{let n=null,i=0,s=!1,c=()=>s&&!n&&o.complete();t.subscribe(a$2(o,f=>{n?.unsubscribe();let l=0,b=i++;h$1(r(f,b)).subscribe(n=a$2(o,y=>o.next(e?e(f,y,b,l++):y),()=>{n=null,c();}));},()=>{s=!0,c();}));})}function pi$1(r){return p((e,t)=>{h$1(r).subscribe(a$2(t,()=>t.complete(),V$2)),!t.closed&&e.subscribe(t);})}function bi$2(r,e,t){let o=u(r)||e||t?{next:r,error:e,complete:t}:r;return o?p((n,i)=>{var s;(s=o.subscribe)===null||s===void 0||s.call(o);let c=!0;n.subscribe(a$2(i,f=>{var l;(l=o.next)===null||l===void 0||l.call(o,f),i.next(f);},()=>{var f;c=!1,(f=o.complete)===null||f===void 0||f.call(o),i.complete();},f=>{var l;c=!1,(l=o.error)===null||l===void 0||l.call(o,f),i.error(f);},()=>{var f,l;c&&((f=o.unsubscribe)===null||f===void 0||f.call(o)),(l=o.finalize)===null||l===void 0||l.call(o);}));}):T$1}var ar$2=class ar extends v{constructor(e,t){super();}schedule(e,t=0){return this}};var $={setInterval(r,e,...t){let{delegate:o}=$;return o?.setInterval?o.setInterval(r,e,...t):setInterval(r,e,...t)},clearInterval(r){return (clearInterval)(r)},delegate:void 0};var mr$2=class mr extends ar$2{constructor(e,t){super(e,t),this.scheduler=e,this.work=t,this.pending=false;}schedule(e,t=0){var o;if(this.closed)return this;this.state=e;let n=this.id,i=this.scheduler;return n!=null&&(this.id=this.recycleAsyncId(i,n,t)),this.pending=true,this.delay=t,this.id=(o=this.id)!==null&&o!==void 0?o:this.requestAsyncId(i,this.id,t),this}requestAsyncId(e,t,o=0){return $.setInterval(e.flush.bind(e,this),o)}recycleAsyncId(e,t,o=0){if(o!=null&&this.delay===o&&this.pending===false)return t;t!=null&&$.clearInterval(t);}execute(e,t){if(this.closed)return new Error(`executing a cancelled action`);this.pending=false;let o=this._execute(e,t);if(o)return o;this.pending===false&&this.id!=null&&(this.id=this.recycleAsyncId(this.scheduler,this.id,null));}_execute(e,t){let o=false,n;try{this.work(e);}catch(i){o=true,n=i||new Error(`Scheduled action threw falsy error`);}if(o)return this.unsubscribe(),n}unsubscribe(){if(!this.closed){let{id:e,scheduler:t}=this,{actions:o}=t;this.work=this.state=this.scheduler=null,this.pending=false,P$1(o,this),e!=null&&(this.id=this.recycleAsyncId(t,e,null)),this.delay=null,super.unsubscribe();}}};var z$3=class r{constructor(e,t=r.now){this.schedulerActionCtor=e,this.now=t;}schedule(e,t=0,o){return new this.schedulerActionCtor(this,e).schedule(o,t)}};z$3.now=Y$1.now;var dr$2=class dr extends z$3{constructor(e,t=z$3.now){super(e,t),this.actions=[],this._active=false;}flush(e){let{actions:t}=this;if(this._active){t.push(e);return}let o;this._active=true;do if(o=e.execute(e.state,e.delay))break;while(e=t.shift());if(this._active=false,o){for(;e=t.shift();)e.unsubscribe();throw o}}};var C$2=new dr$2(mr$2),Xr$1=C$2;function Zr(r,e){return p((t,o)=>{let{leading:n=!0,trailing:i=!1}=e??{},s=!1,c=null,f=null,l=!1,b=()=>{f?.unsubscribe(),f=null,i&&(d(),l&&o.complete());},y=()=>{f=null,l&&o.complete();},E=x=>f=h$1(r(x)).subscribe(a$2(o,b,y)),d=()=>{if(s){s=!1;let x=c;c=null,o.next(x),!l&&E(x);}};t.subscribe(a$2(o,x=>{s=!0,c=x,!(f&&!f.closed)&&(n?d():E(x));},()=>{l=!0,!(i&&s&&f&&!f.closed)&&o.complete();}));})}function re$1(r){return r instanceof Date&&!isNaN(r)}function hr$2(r=0,e,t=Xr$1){let o=-1;return e!=null&&(cr$2(e)?t=e:o=e),new m$1(n=>{let i=re$1(r)?+r-t.now():r;i<0&&(i=0);let s=0;return t.schedule(function(){n.closed||(n.next(s++),0<=o?this.schedule(void 0,o):n.complete());},i)})}function we$2(r,e=C$2,t){let o=hr$2(r,e);return Zr(()=>o,t)}function Se$2(...r){return W$1(r,I$1(r))}var{isArray:ge$1}=Array;function Ee$2(r,e){return ge$1(e)?r(...e):r(e)}function xr$2(r){return q$1(e=>Ee$2(r,e))}var Oe=[`addListener`,`removeListener`],Te$1=[`addEventListener`,`removeEventListener`],Ie$2=[`on`,`off`];function Tr$1(r,e,t,o){if(u(t)&&(o=t,t=void 0),o)return Tr$1(r,e,t).pipe(xr$2(o));let[n,i]=je$2(r)?Te$1.map(s=>c=>r[s](e,c,t)):Pe(r)?Oe.map(ee(r,e)):Ae(r)?Ie$2.map(ee(r,e)):[];if(!n&&D(r))return N$2(s=>Tr$1(s,e,t))(h$1(r));if(!n)throw new TypeError(`Invalid event target`);return new m$1(s=>{let c=(...f)=>s.next(1<f.length?f:f[0]);return n(c),()=>i(c)})}function ee(r,e){return t=>o=>r[t](e,o)}function Pe(r){return u(r.addListener)&&u(r.removeListener)}function Ae(r){return u(r.on)&&u(r.off)}function je$2(r){return u(r.addEventListener)&&u(r.removeEventListener)}function te$1(r,e,t){return t?te$1(r,e).pipe(xr$2(t)):new m$1(o=>{let n=(...s)=>o.next(s.length===1?s[0]:s),i=r(n);return u(e)?()=>e(n,i):void 0})}function Ir$1(r,e){return p((t,o)=>{let n=0;t.subscribe(a$2(o,i=>r.call(e,i,n++)&&o.next(i)));})}function oe$2(r){return p((e,t)=>{let o=!1,n=null,i=null,s=!1,c=()=>{if(i?.unsubscribe(),i=null,o){o=!1;let l=n;n=null,t.next(l);}s&&t.complete();},f=()=>{i=null,s&&t.complete();};e.subscribe(a$2(t,l=>{o=!0,n=l,i||h$1(r(l)).subscribe(i=a$2(t,c,f));},()=>{s=!0,(!o||!i||i.closed)&&t.complete();}));})}function vs(r,e=C$2){return oe$2(()=>hr$2(r,e))}function Fe$1(r,e=C$2){return p((t,o)=>{let n=null,i=null,s=null,c=()=>{if(n){n.unsubscribe(),n=null;let l=i;i=null,o.next(l);}};function f(){let l=s+r,b=e.now();if(b<l){n=this.schedule(void 0,l-b),o.add(n);return}c();}t.subscribe(a$2(o,l=>{i=l,s=e.now(),n||(n=e.schedule(f,r),o.add(n));},()=>{c(),o.complete();},void 0,()=>{i=n=null;}));})}function Ps(r,e=T$1){return r=r??Ce$1,p((t,o)=>{let n,i=!0;t.subscribe(a$2(o,s=>{let c=e(s);(i||!r(n,c))&&(i=!1,n=c,o.next(s));}));})}function Ce$1(r,e){return r===e}function Fs(r){return Ir$1((e,t)=>r<=t)}
|
|
36
36
|
|
|
37
|
-
var Be$1=class Be{constructor(e,t){this._startTime=e;this._triggerData=t;}intervals=[];selectedEmbeddedItems;renderer;closeCallback;inputFields=[];get startTime(){return this._startTime}get triggerData(){return this._triggerData}get inputs(){return this.inputFields}get rootClassName(){let e=this.triggerData.shortID??this.triggerData.id.slice(-6);return e===`test`&&(e=`test-`+this.startTime.getTime().toString()),`cooee-wrapper-`+e}get selectedItems(){return this.triggerData.items.filter(e=>e.selected.value)}get shouldGiveFBTDiscount(){let e=this.selectedItems.length;return this.triggerData.bundleConfig?.applyDiscountOnMinimum?this.triggerData.bundleConfig.applyDiscountOnMinimum<=e:e===this.triggerData.items.length}onClose(e){this.closeCallback=e;}closeInApp(e,t){t??={};let o=r$2({eventName:e,duration:(new Date().getTime()-this.startTime.getTime())/1e3},t);this.stopIntervals(),this.closeCallback&&this.closeCallback(o);}addInputField(e,t){this.inputFields.push({id:e,type:t,isValid:false});}updateValidation(e,t){this.inputFields.forEach(n=>{if(n.id===e){n.isValid=t;return}});}hasManipulatedProductQuantity(){let e=this.triggerData.manipulation.productQuantity;return e?.enabled&&e.min!=null&&e.max!=null}getManipulatedQuantity(e){let{min:t=1,max:n=100}=this.triggerData.manipulation.productQuantity;if(t>n)return Y$2.error(`Invalid range: min should be less than or equal to max.`),e;if(e>=t&&e<=n)return e;let o=e%100;return o<t?t:o>n?n:o}stopIntervals(){this.intervals.forEach(e=>clearInterval(e));}};var Je$1=class Je extends Dr$1{constructor(e){super(e);}};var ve$1=class ve extends Dr$1{src;constructor(e){super(e),this.src=e.src;}};var me=class extends Dr$1{typo;constructor(e){super(e);let t=r$2(r$2({},e.f),e.typo);e.alg&&(t.ta=e.alg),e.c&&(t.tc=e.c),this.typo=new G$2(t);}get color(){return this.typography.tc}get typography(){return this.typo}};var Ve$1=class Ve extends me{prs;constructor(e){super(e),this.prs=e.prs;}get parts(){return this.prs}};var We$1=class We{dd;hh;mm;ss;date;constructor(e){e??={},this.dd=e.dd??0,this.hh=e.hh??0,this.mm=e.mm??0,this.ss=e.ss??0,this.date=e.date?new Date(e.date):void 0;}start(e,t){let n=new Date;e===2?(n.setSeconds(n.getSeconds()+this.ss),n.setMinutes(n.getMinutes()+this.mm),n.setHours(n.getHours()+this.hh),n.setDate(n.getDate()+this.dd)):n=this.date??new Date;let o=window.setInterval(()=>{let i=new Date().getTime(),s=n.getTime()-i;if(s<1){clearInterval(o);return}t({days:Math.floor(s/(1e3*60*60*24)),hours:Math.floor(s%(1e3*60*60*24)/(1e3*60*60)),minutes:Math.floor(s%(1e3*60*60)/(1e3*60)),seconds:Math.floor(s%(1e3*60)/1e3)});},1e3);return o}};var Rt$1=class Rt extends me{gap;timer;timerType;horizontal;lblPos;show;constructor(e){e??={},super(e),this.gap=e.gap,this.timerType=e.type,this.timer=new We$1(e.timer),this.show=e.show??{day:true,hour:true,minute:true,second:true},this.horizontal=e.horizontal,this.lblPos=e.lblPos;}};var _t$1=class _t{txt;c;constructor(e){e??={},this.txt=e.txt,this.c=new I$2(e.c??{});}get text(){return this.txt}get color(){return this.c}};var le$1=class le extends me{ph;constructor(e){super(e),this.ph=new _t$1(e.ph);}get placeholderText(){return this.ph.text}get placeholderColor(){return this.ph.color.rgba}};var At=class extends le$1{constructor(e){e??={},super(e);}};var Ot=class extends le$1{};var Lt=class extends le$1{};var kt$1=class kt extends ve$1{};var q=(function(r){return r[r.NONE=0]=`NONE`,r[r.STATIC=1]=`STATIC`,r[r.UNIQUE_FLAT=2]=`UNIQUE_FLAT`,r[r.UNIQUE_FLAT_ITEMS=3]=`UNIQUE_FLAT_ITEMS`,r[r.UNIQUE_FIXED_ITEMS=4]=`UNIQUE_FIXED_ITEMS`,r[r.UNIQUE_CHEAPEST_ITEM_FREE=5]=`UNIQUE_CHEAPEST_ITEM_FREE`,r[r.BXGY=6]=`BXGY`,r})(q||{});var oe$1=class r{static of(e,t){return t!==void 0?new Array(e).fill(t):Array.from({length:e},(n,o)=>o)}static remove(e,t){let n=e.indexOf(t);return n===-1?false:(e.splice(n,1),true)}static swap(e,t,n){[e[t],e[n]]=[e[n],e[t]];}static sum(e,t){return e.reduce((n,o)=>n+Math.max(t?t(o):+o,0),0)}static unique(e,t){return e.filter((n,o,i)=>i.findIndex(s=>s[t]===n[t])===o)}static shuffle(e){let t=e.length;for(;t!=0;){let n=Math.floor(Math.random()*t);t--,r.swap(e,t,n);}}};var Mn=(()=>{class r{static toTitle(t){return t?this.titleCase(t.toLowerCase().split(/[_-]+/).join(` `)):``}static toSlug(t){return t?t.toLowerCase().replace(/[_-]+/,` `).replace(/[^\w ]+/g,``).replace(/ +/g,`-`):``}static toCamelCase(t){return t.toLowerCase().split(` `).map((n,o)=>o===0?n:n.charAt(0).toUpperCase()+n.slice(1)).join(``)}static format(t,...n){return t?.replace(/{(\d+)}/g,(o,i)=>{let s=n[i];return s!==void 0?s:o})}static chop(t,n){if(!(!t||!n))return t.length<=n?t:t.substring(0,n)}static titleCase=t=>t.replace(/(^|\s)\S/g,n=>n.toUpperCase())}return r})();var Nt=class{applyDiscountOnMinimum;constructor(e){this.applyDiscountOnMinimum=e.applyDiscountOnMinimum;}};var Ut=class{modifications;constructor(e={}){e.modifications?.length?this.modifications=e.modifications.map(t=>new Mt(t)):e.experiments?.length&&(this.modifications=e.experiments.map(t=>new Mt(t)));}};var Mt=class{cssSelector;type;display;bg;typo;br;text;image;moveTo;customClasses;constructor(e={}){this.cssSelector=e.cssSelector??``,this.type=e.type??`OTHER`,this.display=e.display,e.bg&&(this.bg=new I$2(e.bg)),e.typo&&(this.typo=new G$2(e.typo)),e.br&&(this.br=new C$4(e.br)),this.text=e.text,this.image=e.image,this.moveTo=e.moveTo,this.customClasses=e.customClasses;}get style(){let e={};return this.br?.r&&(e.borderRadius=this.br.r+`px`),this.br?.w&&(e.borderWidth=this.br.w+`px`),this.br?.s&&(e.borderStyle=rr$4[this.br.s]?.toLowerCase()),this.br?.c?.h&&(e.borderColor=this.br.color?.rgba),this.bg?.h&&(e.backgroundColor=this.bg.rgba),this.type===`TEXT`&&this.typo&&(this.typo.fs&&(e.fontSize=this.typo.fs+`px`),this.typo.lh&&(e.lineHeight=this.typo.lh),this.typo.fw&&(e.fontWeight=this.typo.fw),this.typo.ta&&(e.textAlign=this.typo.alignment),this.typo.tc.h&&(e.color=this.typo.tc.rgba),this.typo.ls&&(e.letterSpacing=this.typo.letterSpacing),this.typo.td&&(e.textDecoration=this.typo.td??`none`)),e}toString(){return `Experiment(cssSelector=${this.cssSelector})`}};var Ft=class{skipSubscribedItems;constructor(e={}){this.skipSubscribedItems=e.skipSubscribedItems??false;}};function Qe(){return !!window.Shopify}function Fn(){if(Qe())return window.Shopify.shop?.split(`.`)?.[0]}function Bn(r){let n=(r.includes(`://`)?new URL(r).pathname:r).match(/\/products\/([^/]+?)(?:\.html)?$/);return n?n[1]:null}function $e$1(r){return (window.Shopify?.routes?.root??`/`)+r.substring(1)}function Bt(r){return $e$1(r+`?from=cooee`)}var h=class r{static CURRENT;token;items=[];total_price=0;original_total_price=0;items_subtotal_price=0;currency;item_count=0;attributes;cart_level_discount_applications;discount_codes;total_discount=0;constructor(){}static getCurrent(){return this.CURRENT||(this.CURRENT=new r),this.CURRENT}async getNormalisedCart(e){return Vo(e)}getCooeeCart(){return xr$1()}update(e){return this.token=e.token,this.items=e.items,this.total_price=e.total_price,this.original_total_price=e.original_total_price,this.items_subtotal_price=e.items_subtotal_price,this.currency=e.currency,this.item_count=e.item_count,this.attributes=e.attributes,this.cart_level_discount_applications=e.cart_level_discount_applications,this.discount_codes=e.discount_codes,this.total_discount=e.total_discount,Ue$1().currencyCode=this.currency,Y$2.verbose(`Updated ShopifyCart`,this),this}toString(){return `ShopifyCart(token: ${this.token}, itemCount: ${this.item_count})`}};async function Vo(r){let e=h.getCurrent();await $o(e,r);let t=Vn(e);return r&&await ce$4.set(`cart`,t),t}function xr$1(){return Vn(h.getCurrent())}function Vn(r){return {amount:r.total_price/100,originalAmount:r.original_total_price/100,itemsSubtotalPrice:r.items_subtotal_price/100,currency:r.currency,itemCount:r.item_count,items:Wo(r.items),token:r.token,discountCodes:r.discount_codes?.filter(e=>e.applicable).map(e=>e.code)||[]}}function Wo(r){if(!r)return Y$2.error(`No item received to be sent`),[];Array.isArray(r)||(r=[r]);let e=[];for(let t of r){if(!t.id||!t.title){Y$2.warn(`Invalid item received`,t);continue}let n={name:t.title,quantity:+t.quantity||1,mID:t.product_id?.toString(),vID:t.id.toString(),price:+t.price/100||0,finalPrice:+t.final_price/100||0,properties:t.properties,key:t.key},o=t.selling_plan_allocation?.selling_plan;if(!o){e.push(n);continue}n.sellingPlanAllocation={sellingPlan:{fixedSellingPlan:o.fixed_selling_plan,id:o.id,name:o.name,recurringDeliveries:o.recurring_deliveries}},e.push(n);}return e}async function $o(r,e){if(!e&&r.token){Y$2.verbose(`Not fetching cart`);return}Y$2.verbose(`Fetching cart`);let t=Bt(`/cart.js`);try{let n=(await dn(t)).data;r.update(n);}catch(n){Y$2.error(`Unable to fetch the cart`,n);}}var Vt=class{id;mID;handle;title;imageURL;constructor(e){e??={},this.id=e.id,this.mID=e.mID,this.handle=e.handle,this.title=e.title,this.imageURL=e.imageURL;}};var Rr$1=class Rr{enabled;constructor(e){this.enabled=e.enabled;}},_r$1=class _r extends Rr$1{max;min;constructor(e){e??={},super(e),this.min=e.min,this.max=e.max;}},Wt=class{productQuantity;constructor(e){e??={},this.productQuantity=new _r$1(e.productQuantity);}};var $t=class extends Dr$1{o;constructor(e){super(e),this.o=e.o??5,this.w=this.w??1080,this.h=this.h??1920;}getOrigin(){return this.o}};var Ht=class{en;ex;constructor(e){e=e??{},this.en=e.en,this.ex=e.ex;}getEnterAnimation(){switch(this.en){case 2:return [{transform:`translateY(-100%)`},{transform:`translateY(0%)`}];case 3:return [{transform:`translateY(100%)`},{transform:`translateY(0%)`}];case 4:return [{transform:`translateX(-100%)`},{transform:`translateX(0%)`}];case 5:return [{transform:`translateX(100%)`},{transform:`translateX(0%)`}];case 6:return [{transform:`translate(-100%, -100%)`},{transform:`translate(0%, 0%)`}];case 7:return [{transform:`translate(100%, -100%)`},{transform:`translate(0%, 0%)`}];case 8:return [{transform:`translate(-100%, 100%)`},{transform:`translate(0%, 0%)`}];case 9:return [{transform:`translate(100%, 100%)`},{transform:`translate(0%, 0%)`}];case 10:return [{transform:`scale(0.1)`},{transform:`scale(1)`}];default:return []}}getExitAnimation(){switch(this.ex){case 2:return [{transform:`translateY(0%)`},{transform:`translateY(-100%)`}];case 3:return [{transform:`translateY(0%)`},{transform:`translateY(100%)`}];case 4:return [{transform:`translateX(0%)`},{transform:`translateX(-100%)`}];case 5:return [{transform:`translateX(0%)`},{transform:`translateX(100%)`}];case 6:return [{transform:`translate(0%, 0%)`},{transform:`translate(-100%, -100%)`}];case 7:return [{transform:`translate(0%, 0%)`},{transform:`translate(100%, -100%)`}];case 8:return [{transform:`translate(0%, 0%)`},{transform:`translate(-100%, 100%)`}];case 9:return [{transform:`translate(0%, 0%)`},{transform:`translate(100%, 100%)`}];case 10:return [{transform:`scale(1)`},{transform:`scale(0)`}];default:return []}}};var qt=15,Ze$1=class Ze extends Dr$1{gvt;max;cover;anim;embedded;constructor(e){e=e??{},super(e),this.gvt=e.gvt??5,this.max=e.max,this.cover=e.cover??true,this.anim=new Ht(e.anim),this.spc||(this.spc=new T$2({pl:qt,pr:qt,pt:qt,pb:qt}));}};var Gt=class extends Ze$1{cont;elems=[];mob;constructor(e){e=e??{},super(e),this.cont=new $t(e.cont),this.mob=new Ze$1(e.mob),this.bg||(this.bg=this.cont.bg,delete this.cont.bg),e.elems.forEach(t=>{t.t===1?this.elems.push(new ve$1(t)):t.t===2?this.elems.push(new Ve$1(t)):t.t===3?this.elems.push(new Ve$1(t)):t.t===100?this.elems.push(new Je$1(t)):t.t===51?this.elems.push(new Ot(t)):t.t===52?this.elems.push(new Lt(t)):t.t===61?this.elems.push(new Rt$1(t)):t.t===15||t.t===16?this.elems.push(new At(t)):t.t===13&&this.elems.push(new kt$1(t));});}getStylesForWrapper(){if(this.cover)return {};let e;return this.gvt===1?e={top:0,left:0}:this.gvt===2?e={top:0,left:`50%`,transform:`translateX(-50%)`}:this.gvt===3?e={top:0,right:0}:this.gvt===6?e={top:`50%`,right:0,transform:`translateY(-50%)`}:this.gvt===9?e={bottom:0,right:0}:this.gvt===8?e={bottom:0,left:`50%`,transform:`translateX(-50%)`}:this.gvt===7?e={bottom:0,left:0}:this.gvt===4?e={top:`50%`,left:0,transform:`translateY(-50%)`}:e={top:`50%`,left:`50%`,transform:`translateX(-50%) translateY(-50%)`},e.overflow=`visible`,e}getFlexStylesForContainer(){let e={display:`flex`,flexDirection:`row`},t,n;return this.gvt===1?(t=`flex-start`,n=`flex-start`):this.gvt===2?(t=`center`,n=`flex-start`):this.gvt===3?(t=`flex-end`,n=`flex-start`):this.gvt===4?(t=`flex-start`,n=`center`):this.gvt===6?(t=`flex-end`,n=`center`):this.gvt===7?(t=`flex-start`,n=`flex-end`):this.gvt===8?(t=`center`,n=`flex-end`):this.gvt===9?(t=`flex-end`,n=`flex-end`):(t=`center`,n=`center`),e.alignItems=n,e.justifyContent=t,e.overflow=`visible`,e}overrideForMobileView(){this.max=this.mob.max??this.max,this.cover=this.mob.cover??this.cover,this.gvt=this.mob.gvt??this.gvt,this.bg=this.mob.bg??this.bg,this.spc=this.mob.spc??this.spc,this.anim=this.mob.anim??this.anim;}};var Ee$1=class Ee extends Rt$3{constructor(e,t){super(e,t??3);}};var He$1=class He extends yt$1{value;constructor(e){super(6,e),e??={},this.value=e.value;}};var jt=class extends yt$1{templateName;constructor(e){super(8,e),this.templateName=e?.templateName;}};var Kt=class extends yt$1{c;iconSize;showSingleStar;fullStar;halfStart;constructor(e){super(19,e),e??={},this.c=new I$2(e.c),this.iconSize=e.iconSize??24,this.showSingleStar=e.showSingleStar??false,this.fullStar=e.fullStar,this.halfStart=e.halfStart;}};var Wn=x$4(St$3());var Xt=class extends yt$1{conf;slide;formData;values;allowedTypes;constructor(e){super(62,e),e&&this.update(e);}update(e){e??={},this.slide=B$2.getParsedElement(e.slide),this.formData=e.formData,this.values=e.values,this.conf=new s$2(e.conf),this.allowedTypes=e.allowedTypes;}};var zt=class extends Rt$3{gap;timer;timerType;horizontal;lblPos;show;constructor(e){e??={},super(e,61),this.gap=e.gap,this.timerType=e.type,this.timer=new We$1(e.timer),this.show=e.show??{days:true,hours:true,minutes:true,seconds:true},this.horizontal=e.horizontal,this.lblPos=e.lblPos;}};var pe=class extends yt$1{elems;constructor(e){super(4,e),this.update(e);}update(e){e??={},this.elems??=[],e.elems?.forEach(t=>{let n=B$2.getParsedElement(t);n&&this.elems.push(n);});}};var we$1=class we extends yt$1{src;sm;lg;constructor(e,t){super(t??1,e),e&&this.update(e);}update(e){this.src=e.src,this.sm=e.sm,this.lg=e.lg;}};var B$2=class r{static getParsedElements(e){let t=[];return e?.forEach(n=>{let o=r.getParsedElement(n);o&&t.push(o);}),t}static getParsedElement(e){switch(e.t){case 2:return new Rt$3(e);case 3:return new Ee$1(e);case 6:return new He$1(e);case 8:return new jt(e);case 11:return new Yt(e);case 12:return new de$1(e);case 61:return new zt(e);case 4:return new pe(e);case 1:return new we$1(e);case 13:return new we$1(e,13);case 14:return new Rt$3(e,14);case 15:case 16:return new Vr$3(e.t,e);case 18:return new Ee$1(e,18);case 62:return new Xt(e);case 19:return new Kt(e);default:Wn.default.error(`Unknown element type`,e.t);return}}static parseAlignmentToJustifyContent(e){switch(e){case 1:return `center`;case 2:return `flex-end`;case 0:return `flex-start`;default:return `flex-start`}}};var de$1=class de extends yt$1{img;title;desc;price;compareAt;btn;variantDD;show;symbol;cBox;elems;noLinks;constructor(e){if(e??={},super(12,e),this.show=e.show,this.elems=B$2.getParsedElements(e.elems),this.noLinks=e.noLinks,!this.elems.length){e.cBox&&this.elems.push(new He$1(e.cBox)),this.elems.push(new we$1(e.img,13));let t=new Rt$3(e.title,14);t.hide=!e.show?.title,t.text=`{{ product.name }}`,this.elems.push(t);let n=new Rt$3(e.price);n.text=`{{ product.price }}`,n.hide=!e.show?.price;let o=new Rt$3(e.compareAt);o.text=`{{ product.compare_price }}`,o.hide=!e.show?.price,e.compareAt||(o.style=new It$2(n.style),o.style.lg.typo=new G$2(s$3(r$2({},o.style.lg.typo),{td:`line-through`})),o.style.sm.typo=new G$2(s$3(r$2({},o.style.sm.typo),{td:`line-through`})));let i=new pe({style:{lg:{spc:{mb:10},flex:{dir:`row`,gap:10,ai:`center`,jc:B$2.parseAlignmentToJustifyContent(n.style.lg.typo?.ta)}}}});i.elems.push(o),i.elems.push(n),this.elems.push(i);let s$2=new Vr$3(15,e.variantDD);if(s$2.hide=!e.show?.variantDD,this.elems.push(s$2),e.btn){let c=new Ee$1(e.btn,18);c.hide=!e.show?.btn,this.elems.push(c);}}e.symbol&&(this.symbol=new Rt$3(e.symbol));}};var Yt=class extends yt$1{conf;prod;constructor(e){super(11,e),e??={},this.conf=new Ar$1(e.conf),this.prod=new de$1(e.prod);}};var Jt=class extends s$2{disp;maxItems;constructor(e){e??={},super(e),this.disp=e.disp,this.maxItems=e.maxItems;}},Ar$1=class Ar{lg;sm;constructor(e){e??={},this.lg=new Jt(e.lg),this.sm=new Jt(e.sm);}};var Qt=class extends pe{constructor(e){super(e);}};var qe$1=class qe{cont;elems=[];constructor(e){e=e??{},this.cont=new Qt(e.cont),e.elems?.forEach(t=>{this.addRawElement(t);});}addRawElement(e){let t=B$2.getParsedElement(e);return t&&this.elems.push(t),t}};function Zt(r,e){return Ho(r,e,0,5)}function Ho(r,e,t=0,n=50){if(e){if(t>n){console.warn(`Maximum recursion depth reached in findFirstElementOfType`);return}for(let o of e){if(o.t===r)return o;let i=`elems`in o?o.elems:[];if(i?.length>0){let s=Zt(r,i);if(s)return s}}}}var Or=class{engagementID;shortID;contentType;delay;onsiteDeliveryType;objective;redirectBehaviour;constructor(e){this.shortID=e.shortID,this.contentType=e.contentType,this.engagementID=e.engagementID,this.delay=e.delay??0,this.redirectBehaviour=e.redirectBehaviour,this.onsiteDeliveryType=e.onsiteDeliveryType,this.objective=e.objective;}isAnySplit(){return this.isABTesting()||this.isExclusionTesting()}isExclusionTesting(){return this.contentType===fe$3.EXCLUSION}isABTesting(){return this.contentType===fe$3.ABTESTING}isSingleContent(){return this.contentType===fe$3.SINGLE}isGlobalAB(){return this.contentType===fe$3.GLOBAL_AB}},et=class{videoConfig;savingsBarConfig;collectionFilterConfig;subsUpgradeConfig;afterDeleteJS;afterRenderJS;classes;innerCSS;outerCSS;showSnackBar;constructor(e){this.update(e);}update(e){e??={},e.videoConfig&&(this.videoConfig=new wr$3(e.videoConfig)),e.savingsBarConfig&&(this.savingsBarConfig=new we$4(e.savingsBarConfig)),e.collectionFilterConfig&&(this.collectionFilterConfig=new xe$2(e.collectionFilterConfig)),e.subsUpgradeConfig&&(this.subsUpgradeConfig=new Ft(e.subsUpgradeConfig)),this.afterDeleteJS=e.afterDeleteJS,this.afterRenderJS=e.afterRenderJS,this.innerCSS=e.innerCSS,this.outerCSS=e.outerCSS,this.classes=e.classes,this.showSnackBar=e.showSnackBar;}},G=class extends Or{contentID;variation;ian;widget;discount;placement;contentSource;manipulation;klaviyoFormID;entryAnimation;hasMultiplePlacement;progressBarConfig;stickyATCConfig;bundleConfig;content;previewType;occurred;id;currency;props;items;nonMutableItems;embeddedItems;bundleFrom;collections;customerData;experimentConfig;discountData=b$1({});constructor(e){if(super(e),this.id=e.id,this.currency=Ue$1().currencyCode??`USD`,this.contentID=e.contentID,this.variation=e.variation,e.widget&&(this.widget=new qe$1(e.widget)),this.previewType=e.previewType,this.occurred=e.occurred??new Date,this.props=e.props,this.entryAnimation=e.entryAnimation??`NONE`,this.embeddedItems=e.embeddedItems?.map(t=>new at$2(t)),this.items=e.items?.map(t=>new mt$3(t))??[],this.nonMutableItems=e.items?.map(t=>new mt$3(t))??[],this.collections=e.collections?.map(t=>new Vt(t))??[],this.discount=e.discount,this.placement=e.placement,e.customerData?.name){let t=e.customerData.name.split(` `);this.customerData={name:e.customerData.name,full_name:e.customerData.name,first_name:t[0],last_name:t[1]};}this.ian=e.ian?this.processPopup(e.ian):void 0,this.manipulation=new Wt(e.manipulation),this.contentSource=e.contentSource,this.klaviyoFormID=e.klaviyoFormID,this.hasMultiplePlacement=e.hasMultiplePlacement,this.stickyATCConfig=e.stickyATCConfig,e.experimentConfig&&(this.experimentConfig=new Ut(e.experimentConfig)),e.progressBarConfig&&(this.progressBarConfig=new Ne$2(e.progressBarConfig)),e.bundleConfig&&(this.bundleConfig=new Nt(e.bundleConfig)),e.bundleFrom&&(this.bundleFrom=new mt$3(e.bundleFrom)),e.content&&(this.content=new et(e.content));}shouldDelay(){return this.delay>0}getDelaySeconds(){let e=new Date().getTime()-this.occurred.getTime();return this.delay*1e3-e}isBundle(){return this.objective===de$3.BUNDLE_AND_UPSELL}isCartEmbed(){return this.onsiteDeliveryType===pe$3.CART_EMBED}isPageEmbed(){return this.onsiteDeliveryType===pe$3.PAGE_EMBED}isPageWidgets(){return this.onsiteDeliveryType===pe$3.PAGE_EMBED||this.onsiteDeliveryType===pe$3.ANNOUNCEMENT_BAR}isProgressBar(){return this.objective===de$3.PROGRESS_BAR}isSubscriptionUpsell(){return this.objective===de$3.SUBSCRIPTION_UPSELL}isCartRecovery(){return this.objective===de$3.CART_RECOVERY}isProductPromotion(){return this.objective===de$3.PRODUCT_PROMOTION}isProductPromoted(){return this.isProductPromotion()||this.isBundle()||this.isCartRecovery()||this.isAddOns()}isCollectionPromoted(){return this.objective===de$3.COLLECTION_PROMOTION}isBYOB(){return this.objective===de$3.BYOB}isStickyATC(){return this.objective===de$3.STICKY_ATC}isAddOns(){return this.objective===de$3.ADD_ONS}isShoppableVideo(){return this.objective===de$3.SHOPPABLE_VIDEO}isSavingsBar(){return this.objective===de$3.SAVINGS_BAR}isCollectionFilter(){return this.objective===de$3.COLLECTION_FILTER}processPopup(e){let t=this.items[0],n={},o={};if(t){let c=t.selectedOrFirstVariant.value;n=s$3(r$2(r$2({name:t.name,id:t.mID,link:t.link,vID:c.mID,image:t.variantImage},Gn$1(`price`,c.price.d)),Gn$1(`comparePrice`,c.price.cmp)),{quantity:t.quantity}),o={quantity:c.quantity};}let i={productCount:h.getCurrent().item_count},s$3$1=Fe$2(JSON.stringify(e),{product:n,variant:o,cart:i,discount:this.discount,customer:this.customerData},new Be$1(new Date,this));return t&&(s$3$1=s$3$1.replace(new RegExp(`https://cdn.global.letscooee.com/images/placeholders/product.png`,`gi`),t.variantImage??t.firstImageURL)),new Gt(JSON.parse(s$3$1))}calculateDiscountData(e,t){let n=oe$1.sum(e,s=>s.selectedOrFirstVariant.value.price.d),i={actualPrice:n,totalComparePrice:oe$1.sum(e,s=>{let c=s.selectedOrFirstVariant.value.price;return c.cmp??c.d}),discountAmount:0,discountPercentage:0,discountedPrice:n};if(!e?.length||!t||!this.discount?.type){this.discountData.value=this.formatCurrencyAndNumber(i);return}if(q.BXGY===this.discount.type&&this.discount.values?.length)i.discountPercentage=this.discount.values[0],this.updateEffectivePrice(e,i.discountPercentage,true),i.discountAmount=i.actualPrice-oe$1.sum(e,s=>s.selectedOrFirstVariant.value.effectivePrice.value);else if([q.STATIC,q.UNIQUE_FLAT].includes(this.discount.type)&&this.discount.values?.length)i.discountPercentage=this.discount.values[0],i.discountAmount=i.actualPrice*i.discountPercentage/100,this.updateEffectivePrice(e,i.discountPercentage);else if(q.UNIQUE_FLAT_ITEMS===this.discount.type&&this.discount.values?.length)this.discount.ruleType===`fixed_amount`?(i.discountAmount=this.discount.values[0],i.discountPercentage=i.actualPrice>0?i.discountAmount*100/i.actualPrice:0):(i.discountPercentage=this.discount.values[0],i.discountAmount=i.actualPrice*i.discountPercentage/100),this.updateEffectivePrice(e,i.discountPercentage);else if(this.discount.type===q.UNIQUE_FIXED_ITEMS&&this.discount.values?.length)i.discountAmount=i.actualPrice-this.discount.values[0],i.discountPercentage=i.discountAmount/i.actualPrice*100,this.updateEffectivePrice(e,i.discountPercentage);else if(this.discount.type===q.UNIQUE_CHEAPEST_ITEM_FREE){e.sort((c,p)=>p.selectedOrFirstVariant.value.price.d-c.selectedOrFirstVariant.value.price.d);let s=e[e.length-1];s.selectedOrFirstVariant.value.effectivePrice.value=0,i.discountAmount=s.selectedOrFirstVariant.value.price.d,i.discountPercentage=i.discountAmount/i.actualPrice*100;}i.discountedPrice=i.actualPrice-i.discountAmount,this.discountData.value=this.formatCurrencyAndNumber(i);}getPrivateAttributesForLineItem(){return he$4.get().skipItemAttribute?{}:{_via:`Cooee`,_letscooee_campaign:this.shortID,_letscooee_content:this.contentID}}getKVFormatPrivateAttributesForLineItem(){return he$4.get().skipItemAttribute?[]:[{key:`_via`,value:`Cooee`},{key:`_letscooee_campaign`,value:this.shortID},{key:`_letscooee_content`,value:this.contentID}]}isBundleOnCartDrawer(){return this.isBundle()&&this.isCartEmbed()}isBundleOnPDP(){return this.isPageEmbed()&&this.isBundle()}hasSwiperElement(){if(Zt(62,this.widget?.elems))return true;let t=Zt(11,this.widget?.elems);return t?t.conf.lg.disp===2||t.conf.sm.disp===2:false}toString(){let e;return this.onsiteDeliveryType===pe$3.POPUP?e=`Popup`:e=Mn.toTitle(this.objective),`${e}(id=${this.shortID})`}getCartMagicVariables(){let e=h.getCurrent(),t=oe$1.sum(e.items??[],n=>n.discounts?.reduce((o,i)=>o+(i.amount??0),0)??0);return r$2(r$2(r$2(r$2({productCount:e.item_count,product_count:e.item_count},Gn$1(`amount`,e.total_price/100)),Gn$1(`originalAmount`,e.original_total_price/100)),Gn$1(`total_line_items_discount`,t/100)),Gn$1(`total_discount`,e.total_discount/100))}shouldGetVariationImmediately(){return this.hasMultiplePlacement&&!this.alwaysHaveVariations()}shouldSkipVariation(){return !this.isAnySplit()||this.alwaysHaveVariations()?true:!!this.variation}alwaysHaveVariations(){return this.isProgressBar()||this.isSavingsBar()}updateEffectivePrice(e,t,n=false){let o=Ue$1().currentItem;e.forEach(i=>{let s=i.selectedOrFirstVariant.value,c=s.price;if(n&&i.mID===o.mID)s.effectivePrice.value=c.d;else {let p=c.d*t/100;s.effectivePrice.value=c.d-p;}});}formatCurrencyAndNumber(e){if(!e)return {};let t={discountPercentage:Hn$1(e.discountPercentage??0),discountCode:this.discount?.code};return [`actualPrice`,`discountAmount`,`discountedPrice`,`totalComparePrice`].map(n=>{Object.assign(t,Gn$1(n,e[n]));}),t}};var jo=`/api/2026-01/graphql.json?from=cooee`,$n={"Content-Type":`application/json`};async function Ge$1(r,e,t,n){let o=he$4.get().storefrontToken;if(!o)throw new Error(`Storefront token not set for the store`);let i=new Headers($n);i.append(`X-Shopify-Storefront-Access-Token`,o);let s=JSON.stringify({query:r,variables:e});try{return await dn(jo,{method:`POST`,headers:i,body:s})}catch(c){throw Fe$3(c,t,{engagementTrigger:n}),c}}function be$1(r,e){return Ko(Bt(r),e)}async function Ko(r,e){return dn(r,{body:JSON.stringify(e),method:`POST`,headers:$n})}var er$1=class er{isLocked=false;queue=[];async acquire(){if(this.isLocked)await new Promise(e=>this.queue.push(e));else {this.isLocked=true;return}}release(){if(this.queue.length>0){let e=this.queue.shift();e&&e();}else this.isLocked=false;}},tr$1=class r{static LOCK_TIMEOUT=1e4;static RETRY_INTERVAL=200;static MAX_RETRIES=50;static async request(e,t){if(e=`__cooee_${e}_lock__`,`locks`in navigator&&!zo())try{return await Xo(e,t,this.LOCK_TIMEOUT)}catch(s){Y$2.verbose(`Web Locks API failed, falling back to localStorage: ${s}`);}let n=false,o=0,i=Math.random().toString(36).substring(2,10);for(;o++<this.MAX_RETRIES&&(Y$2.verbose(`Lock retry ${o} for ${e}`),n=await this.acquire(e,i,o),!n);)await this.sleep(r.RETRY_INTERVAL*o+Math.random()*100);try{return await t()}finally{this.release(e,i);}}static async acquire(e,t,n){let o=Date.now(),i=localStorage.getItem(e),s=i?JSON.parse(i):null;if(s&&o<=s.expiry)return false;let c={owner:t,expiry:o+r.LOCK_TIMEOUT};return localStorage.setItem(e,JSON.stringify(c)),await this.sleep(150+Math.random()*100),JSON.parse(localStorage.getItem(e)||`{}`).owner===t?(Y$2.verbose(`${t}: Lock acquired for ${e} after ${n} attempts!`),true):(Y$2.verbose(`${t}: Race lost. Another tab acquired the lock.`),false)}static release(e,t){let n=localStorage.getItem(e);if(!n)return;let o=JSON.parse(n);o.owner===t?(localStorage.removeItem(e),Y$2.verbose(`${t}: Lock released`)):Y$2.verbose(`${t}: Cannot release lock. Current owner: ${o.owner}`);}static sleep(e){return new Promise(t=>setTimeout(t,e))}};async function Xo(r,e,t){return new Promise((n,o)=>{let i=setTimeout(()=>{o(new Error(`Web Locks API timeout after ${t}ms`));},t);navigator.locks.request(r,async()=>{try{let s=await e();return clearTimeout(i),n(s),s}catch(s){throw clearTimeout(i),o(s),s}}).catch(s=>{clearTimeout(i),o(s);});})}function zo(){let r=navigator.userAgent||``;return /Safari/.test(r)&&!/Chrome/.test(r)&&!/Chromium/.test(r)||/iPhone|iPad|iPod/i.test(r)&&(/(FBAV|FBAN|Instagram|Twitter|Line|WhatsApp)/i.test(r)||!window.safari?.pushNotificaTion)||/Macintosh/.test(r)&&/Safari/.test(r)&&!/Chrome/.test(r)&&!/Chromium/.test(r)&&!window.safari?.pushNotification?true:Yo()}function Yo(){try{return window.safari?.pushNotification?window.safari.pushNotification.toString()===`[object SafariRemoteNotification]`:!window.indexedDB||!window.localStorage}catch{return true}}var Lr=new er$1,Jo=`
|
|
37
|
+
var Be$1=class Be{constructor(e,t){this._startTime=e;this._triggerData=t;}intervals=[];selectedEmbeddedItems;renderer;closeCallback;inputFields=[];get startTime(){return this._startTime}get triggerData(){return this._triggerData}get inputs(){return this.inputFields}get rootClassName(){let e=this.triggerData.shortID??this.triggerData.id.slice(-6);return e===`test`&&(e=`test-`+this.startTime.getTime().toString()),`cooee-wrapper-`+e}get selectedItems(){return this.triggerData.items.filter(e=>e.selected.value)}get shouldGiveFBTDiscount(){let e=this.selectedItems.length;return this.triggerData.bundleConfig?.applyDiscountOnMinimum?this.triggerData.bundleConfig.applyDiscountOnMinimum<=e:e===this.triggerData.items.length}onClose(e){this.closeCallback=e;}closeInApp(e,t){t??={};let o=r$2({eventName:e,duration:(new Date().getTime()-this.startTime.getTime())/1e3},t);this.stopIntervals(),this.closeCallback&&this.closeCallback(o);}addInputField(e,t){this.inputFields.push({id:e,type:t,isValid:false});}updateValidation(e,t){this.inputFields.forEach(n=>{if(n.id===e){n.isValid=t;return}});}hasManipulatedProductQuantity(){let e=this.triggerData.manipulation.productQuantity;return e?.enabled&&e.min!=null&&e.max!=null}getManipulatedQuantity(e){let{min:t=1,max:n=100}=this.triggerData.manipulation.productQuantity;if(t>n)return Y$2.error(`Invalid range: min should be less than or equal to max.`),e;if(e>=t&&e<=n)return e;let o=e%100;return o<t?t:o>n?n:o}stopIntervals(){this.intervals.forEach(e=>clearInterval(e));}};var Je$1=class Je extends Dr$1{constructor(e){super(e);}};var ve$1=class ve extends Dr$1{src;constructor(e){super(e),this.src=e.src;}};var le$1=class le extends Dr$1{typo;constructor(e){super(e);let t=r$2(r$2({},e.f),e.typo);e.alg&&(t.ta=e.alg),e.c&&(t.tc=e.c),this.typo=new G$2(t);}get color(){return this.typography.tc}get typography(){return this.typo}};var Ve$1=class Ve extends le$1{prs;constructor(e){super(e),this.prs=e.prs;}get parts(){return this.prs}};var We$1=class We{dd;hh;mm;ss;date;constructor(e){e??={},this.dd=e.dd??0,this.hh=e.hh??0,this.mm=e.mm??0,this.ss=e.ss??0,this.date=e.date?new Date(e.date):void 0;}start(e,t){let n=new Date;e===2?(n.setSeconds(n.getSeconds()+this.ss),n.setMinutes(n.getMinutes()+this.mm),n.setHours(n.getHours()+this.hh),n.setDate(n.getDate()+this.dd)):n=this.date??new Date;let o=window.setInterval(()=>{let i=new Date().getTime(),s=n.getTime()-i;if(s<1){clearInterval(o);return}t({days:Math.floor(s/(1e3*60*60*24)),hours:Math.floor(s%(1e3*60*60*24)/(1e3*60*60)),minutes:Math.floor(s%(1e3*60*60)/(1e3*60)),seconds:Math.floor(s%(1e3*60)/1e3)});},1e3);return o}};var Rt$1=class Rt extends le$1{gap;timer;timerType;horizontal;lblPos;show;constructor(e){e??={},super(e),this.gap=e.gap,this.timerType=e.type,this.timer=new We$1(e.timer),this.show=e.show??{day:true,hour:true,minute:true,second:true},this.horizontal=e.horizontal,this.lblPos=e.lblPos;}};var _t$1=class _t{txt;c;constructor(e){e??={},this.txt=e.txt,this.c=new I$2(e.c??{});}get text(){return this.txt}get color(){return this.c}};var me=class extends le$1{ph;constructor(e){super(e),this.ph=new _t$1(e.ph);}get placeholderText(){return this.ph.text}get placeholderColor(){return this.ph.color.rgba}};var At=class extends me{constructor(e){e??={},super(e);}};var Ot=class extends me{};var Lt=class extends me{};var kt$1=class kt extends ve$1{};var q=(function(r){return r[r.NONE=0]=`NONE`,r[r.STATIC=1]=`STATIC`,r[r.UNIQUE_FLAT=2]=`UNIQUE_FLAT`,r[r.UNIQUE_FLAT_ITEMS=3]=`UNIQUE_FLAT_ITEMS`,r[r.UNIQUE_FIXED_ITEMS=4]=`UNIQUE_FIXED_ITEMS`,r[r.UNIQUE_CHEAPEST_ITEM_FREE=5]=`UNIQUE_CHEAPEST_ITEM_FREE`,r[r.BXGY=6]=`BXGY`,r})(q||{});var oe$1=class r{static of(e,t){return t!==void 0?new Array(e).fill(t):Array.from({length:e},(n,o)=>o)}static remove(e,t){let n=e.indexOf(t);return n===-1?false:(e.splice(n,1),true)}static swap(e,t,n){[e[t],e[n]]=[e[n],e[t]];}static sum(e,t){return e.reduce((n,o)=>n+Math.max(t?t(o):+o,0),0)}static unique(e,t){return e.filter((n,o,i)=>i.findIndex(s=>s[t]===n[t])===o)}static shuffle(e){let t=e.length;for(;t!=0;){let n=Math.floor(Math.random()*t);t--,r.swap(e,t,n);}}};var Mn=(()=>{class r{static toTitle(t){return t?this.titleCase(t.toLowerCase().split(/[_-]+/).join(` `)):``}static toSlug(t){return t?t.toLowerCase().replace(/[_-]+/,` `).replace(/[^\w ]+/g,``).replace(/ +/g,`-`):``}static toCamelCase(t){return t.toLowerCase().split(` `).map((n,o)=>o===0?n:n.charAt(0).toUpperCase()+n.slice(1)).join(``)}static format(t,...n){return t?.replace(/{(\d+)}/g,(o,i)=>{let s=n[i];return s!==void 0?s:o})}static chop(t,n){if(!(!t||!n))return t.length<=n?t:t.substring(0,n)}static titleCase=t=>t.replace(/(^|\s)\S/g,n=>n.toUpperCase())}return r})();var Nt=class{applyDiscountOnMinimum;constructor(e){this.applyDiscountOnMinimum=e.applyDiscountOnMinimum;}};var Ut=class{modifications;constructor(e={}){e.modifications?.length?this.modifications=e.modifications.map(t=>new Mt(t)):e.experiments?.length&&(this.modifications=e.experiments.map(t=>new Mt(t)));}};var Mt=class{cssSelector;type;display;bg;typo;br;text;image;moveTo;customClasses;constructor(e={}){this.cssSelector=e.cssSelector??``,this.type=e.type??`OTHER`,this.display=e.display,e.bg&&(this.bg=new I$2(e.bg)),e.typo&&(this.typo=new G$2(e.typo)),e.br&&(this.br=new C$4(e.br)),this.text=e.text,this.image=e.image,this.moveTo=e.moveTo,this.customClasses=e.customClasses;}get style(){let e={};return this.br?.r&&(e.borderRadius=this.br.r+`px`),this.br?.w&&(e.borderWidth=this.br.w+`px`),this.br?.s&&(e.borderStyle=rr$4[this.br.s]?.toLowerCase()),this.br?.c?.h&&(e.borderColor=this.br.color?.rgba),this.bg?.h&&(e.backgroundColor=this.bg.rgba),this.type===`TEXT`&&this.typo&&(this.typo.fs&&(e.fontSize=this.typo.fs+`px`),this.typo.lh&&(e.lineHeight=this.typo.lh),this.typo.fw&&(e.fontWeight=this.typo.fw),this.typo.ta&&(e.textAlign=this.typo.alignment),this.typo.tc.h&&(e.color=this.typo.tc.rgba),this.typo.ls&&(e.letterSpacing=this.typo.letterSpacing),this.typo.td&&(e.textDecoration=this.typo.td??`none`)),e}toString(){return `Experiment(cssSelector=${this.cssSelector})`}};var Ft=class{skipSubscribedItems;constructor(e={}){this.skipSubscribedItems=e.skipSubscribedItems??false;}};function Qe(){return !!window.Shopify}function Fn(){if(Qe())return window.Shopify.shop?.split(`.`)?.[0]}function Bn(r){let n=(r.includes(`://`)?new URL(r).pathname:r).match(/\/products\/([^/]+?)(?:\.html)?$/);return n?n[1]:null}function $e$1(r){return (window.Shopify?.routes?.root??`/`)+r.substring(1)}function Bt(r){return $e$1(r+`?from=cooee`)}var h=class r{static CURRENT;token;items=[];total_price=0;original_total_price=0;items_subtotal_price=0;currency;item_count=0;attributes;cart_level_discount_applications;discount_codes;total_discount=0;constructor(){}static getCurrent(){return this.CURRENT||(this.CURRENT=new r),this.CURRENT}async getNormalisedCart(e){return Vo(e)}getCooeeCart(){return xr$1()}update(e){return this.token=e.token,this.items=e.items,this.total_price=e.total_price,this.original_total_price=e.original_total_price,this.items_subtotal_price=e.items_subtotal_price,this.currency=e.currency,this.item_count=e.item_count,this.attributes=e.attributes,this.cart_level_discount_applications=e.cart_level_discount_applications,this.discount_codes=e.discount_codes,this.total_discount=e.total_discount,Ue$1().currencyCode=this.currency,Y$2.verbose(`Updated ShopifyCart`,this),this}toString(){return `ShopifyCart(token: ${this.token}, itemCount: ${this.item_count})`}};async function Vo(r){let e=h.getCurrent();await $o(e,r);let t=Vn(e);return r&&await ce$4.set(`cart`,t),t}function xr$1(){return Vn(h.getCurrent())}function Vn(r){return {amount:r.total_price/100,originalAmount:r.original_total_price/100,itemsSubtotalPrice:r.items_subtotal_price/100,currency:r.currency,itemCount:r.item_count,items:Wo(r.items),token:r.token,discountCodes:r.discount_codes?.filter(e=>e.applicable).map(e=>e.code)||[]}}function Wo(r){if(!r)return Y$2.error(`No item received to be sent`),[];Array.isArray(r)||(r=[r]);let e=[];for(let t of r){if(!t.id||!t.title){Y$2.warn(`Invalid item received`,t);continue}let n={name:t.title,quantity:+t.quantity||1,mID:t.product_id?.toString(),vID:t.id.toString(),price:+t.price/100||0,finalPrice:+t.final_price/100||0,properties:t.properties,key:t.key},o=t.selling_plan_allocation?.selling_plan;if(!o){e.push(n);continue}n.sellingPlanAllocation={sellingPlan:{fixedSellingPlan:o.fixed_selling_plan,id:o.id,name:o.name,recurringDeliveries:o.recurring_deliveries}},e.push(n);}return e}async function $o(r,e){if(!e&&r.token){Y$2.verbose(`Not fetching cart`);return}Y$2.verbose(`Fetching cart`);let t=Bt(`/cart.js`);try{let n=(await dn(t)).data;r.update(n);}catch(n){Y$2.error(`Unable to fetch the cart`,n);}}var Vt=class{id;mID;handle;title;imageURL;constructor(e){e??={},this.id=e.id,this.mID=e.mID,this.handle=e.handle,this.title=e.title,this.imageURL=e.imageURL;}};var Rr$1=class Rr{enabled;constructor(e){this.enabled=e.enabled;}},_r$1=class _r extends Rr$1{max;min;constructor(e){e??={},super(e),this.min=e.min,this.max=e.max;}},Wt=class{productQuantity;constructor(e){e??={},this.productQuantity=new _r$1(e.productQuantity);}};var $t=class extends Dr$1{o;constructor(e){super(e),this.o=e.o??5,this.w=this.w??1080,this.h=this.h??1920;}getOrigin(){return this.o}};var Ht=class{en;ex;constructor(e){e=e??{},this.en=e.en,this.ex=e.ex;}getEnterAnimation(){switch(this.en){case 2:return [{transform:`translateY(-100%)`},{transform:`translateY(0%)`}];case 3:return [{transform:`translateY(100%)`},{transform:`translateY(0%)`}];case 4:return [{transform:`translateX(-100%)`},{transform:`translateX(0%)`}];case 5:return [{transform:`translateX(100%)`},{transform:`translateX(0%)`}];case 6:return [{transform:`translate(-100%, -100%)`},{transform:`translate(0%, 0%)`}];case 7:return [{transform:`translate(100%, -100%)`},{transform:`translate(0%, 0%)`}];case 8:return [{transform:`translate(-100%, 100%)`},{transform:`translate(0%, 0%)`}];case 9:return [{transform:`translate(100%, 100%)`},{transform:`translate(0%, 0%)`}];case 10:return [{transform:`scale(0.1)`},{transform:`scale(1)`}];default:return []}}getExitAnimation(){switch(this.ex){case 2:return [{transform:`translateY(0%)`},{transform:`translateY(-100%)`}];case 3:return [{transform:`translateY(0%)`},{transform:`translateY(100%)`}];case 4:return [{transform:`translateX(0%)`},{transform:`translateX(-100%)`}];case 5:return [{transform:`translateX(0%)`},{transform:`translateX(100%)`}];case 6:return [{transform:`translate(0%, 0%)`},{transform:`translate(-100%, -100%)`}];case 7:return [{transform:`translate(0%, 0%)`},{transform:`translate(100%, -100%)`}];case 8:return [{transform:`translate(0%, 0%)`},{transform:`translate(-100%, 100%)`}];case 9:return [{transform:`translate(0%, 0%)`},{transform:`translate(100%, 100%)`}];case 10:return [{transform:`scale(1)`},{transform:`scale(0)`}];default:return []}}};var qt=15,Ze$1=class Ze extends Dr$1{gvt;max;cover;anim;embedded;constructor(e){e=e??{},super(e),this.gvt=e.gvt??5,this.max=e.max,this.cover=e.cover??true,this.anim=new Ht(e.anim),this.spc||(this.spc=new T$2({pl:qt,pr:qt,pt:qt,pb:qt}));}};var Gt=class extends Ze$1{cont;elems=[];mob;constructor(e){e=e??{},super(e),this.cont=new $t(e.cont),this.mob=new Ze$1(e.mob),this.bg||(this.bg=this.cont.bg,delete this.cont.bg),e.elems.forEach(t=>{t.t===1?this.elems.push(new ve$1(t)):t.t===2?this.elems.push(new Ve$1(t)):t.t===3?this.elems.push(new Ve$1(t)):t.t===100?this.elems.push(new Je$1(t)):t.t===51?this.elems.push(new Ot(t)):t.t===52?this.elems.push(new Lt(t)):t.t===61?this.elems.push(new Rt$1(t)):t.t===15||t.t===16?this.elems.push(new At(t)):t.t===13&&this.elems.push(new kt$1(t));});}getStylesForWrapper(){if(this.cover)return {};let e;return this.gvt===1?e={top:0,left:0}:this.gvt===2?e={top:0,left:`50%`,transform:`translateX(-50%)`}:this.gvt===3?e={top:0,right:0}:this.gvt===6?e={top:`50%`,right:0,transform:`translateY(-50%)`}:this.gvt===9?e={bottom:0,right:0}:this.gvt===8?e={bottom:0,left:`50%`,transform:`translateX(-50%)`}:this.gvt===7?e={bottom:0,left:0}:this.gvt===4?e={top:`50%`,left:0,transform:`translateY(-50%)`}:e={top:`50%`,left:`50%`,transform:`translateX(-50%) translateY(-50%)`},e.overflow=`visible`,e}getFlexStylesForContainer(){let e={display:`flex`,flexDirection:`row`},t,n;return this.gvt===1?(t=`flex-start`,n=`flex-start`):this.gvt===2?(t=`center`,n=`flex-start`):this.gvt===3?(t=`flex-end`,n=`flex-start`):this.gvt===4?(t=`flex-start`,n=`center`):this.gvt===6?(t=`flex-end`,n=`center`):this.gvt===7?(t=`flex-start`,n=`flex-end`):this.gvt===8?(t=`center`,n=`flex-end`):this.gvt===9?(t=`flex-end`,n=`flex-end`):(t=`center`,n=`center`),e.alignItems=n,e.justifyContent=t,e.overflow=`visible`,e}overrideForMobileView(){this.max=this.mob.max??this.max,this.cover=this.mob.cover??this.cover,this.gvt=this.mob.gvt??this.gvt,this.bg=this.mob.bg??this.bg,this.spc=this.mob.spc??this.spc,this.anim=this.mob.anim??this.anim;}};var Ee$1=class Ee extends Rt$3{constructor(e,t){super(e,t??3);}};var He$1=class He extends yt$1{value;constructor(e){super(6,e),e??={},this.value=e.value;}};var jt=class extends yt$1{templateName;constructor(e){super(8,e),this.templateName=e?.templateName;}};var Kt=class extends yt$1{c;iconSize;showSingleStar;fullStar;halfStart;constructor(e){super(19,e),e??={},this.c=new I$2(e.c),this.iconSize=e.iconSize??24,this.showSingleStar=e.showSingleStar??false,this.fullStar=e.fullStar,this.halfStart=e.halfStart;}};var Wn=x$4(St$3());var Xt=class extends yt$1{conf;slide;formData;values;allowedTypes;constructor(e){super(62,e),e&&this.update(e);}update(e){e??={},this.slide=B$2.getParsedElement(e.slide),this.formData=e.formData,this.values=e.values,this.conf=new s$2(e.conf),this.allowedTypes=e.allowedTypes;}};var zt=class extends Rt$3{gap;timer;timerType;horizontal;lblPos;show;constructor(e){e??={},super(e,61),this.gap=e.gap,this.timerType=e.type,this.timer=new We$1(e.timer),this.show=e.show??{days:true,hours:true,minutes:true,seconds:true},this.horizontal=e.horizontal,this.lblPos=e.lblPos;}};var pe=class extends yt$1{elems;constructor(e){super(4,e),this.update(e);}update(e){e??={},this.elems??=[],e.elems?.forEach(t=>{let n=B$2.getParsedElement(t);n&&this.elems.push(n);});}};var we$1=class we extends yt$1{src;sm;lg;constructor(e,t){super(t??1,e),e&&this.update(e);}update(e){this.src=e.src,this.sm=e.sm,this.lg=e.lg;}};var B$2=class r{static getParsedElements(e){let t=[];return e?.forEach(n=>{let o=r.getParsedElement(n);o&&t.push(o);}),t}static getParsedElement(e){switch(e.t){case 2:return new Rt$3(e);case 3:return new Ee$1(e);case 6:return new He$1(e);case 8:return new jt(e);case 11:return new Yt(e);case 12:return new de$1(e);case 61:return new zt(e);case 4:return new pe(e);case 1:return new we$1(e);case 13:return new we$1(e,13);case 14:return new Rt$3(e,14);case 15:case 16:return new Mr$3(e.t,e);case 18:return new Ee$1(e,18);case 62:return new Xt(e);case 19:return new Kt(e);default:Wn.default.error(`Unknown element type`,e.t);return}}static parseAlignmentToJustifyContent(e){switch(e){case 1:return `center`;case 2:return `flex-end`;case 0:return `flex-start`;default:return `flex-start`}}};var de$1=class de extends yt$1{img;title;desc;price;compareAt;btn;variantDD;show;symbol;cBox;elems;noLinks;constructor(e){if(e??={},super(12,e),this.show=e.show,this.elems=B$2.getParsedElements(e.elems),this.noLinks=e.noLinks,!this.elems.length){e.cBox&&this.elems.push(new He$1(e.cBox)),this.elems.push(new we$1(e.img,13));let t=new Rt$3(e.title,14);t.hide=!e.show?.title,t.text=`{{ product.name }}`,this.elems.push(t);let n=new Rt$3(e.price);n.text=`{{ product.price }}`,n.hide=!e.show?.price;let o=new Rt$3(e.compareAt);o.text=`{{ product.compare_price }}`,o.hide=!e.show?.price,e.compareAt||(o.style=new It$2(n.style),o.style.lg.typo=new G$2(s$3(r$2({},o.style.lg.typo),{td:`line-through`})),o.style.sm.typo=new G$2(s$3(r$2({},o.style.sm.typo),{td:`line-through`})));let i=new pe({style:{lg:{spc:{mb:10},flex:{dir:`row`,gap:10,ai:`center`,jc:B$2.parseAlignmentToJustifyContent(n.style.lg.typo?.ta)}}}});i.elems.push(o),i.elems.push(n),this.elems.push(i);let s$2=new Mr$3(15,e.variantDD);if(s$2.hide=!e.show?.variantDD,this.elems.push(s$2),e.btn){let c=new Ee$1(e.btn,18);c.hide=!e.show?.btn,this.elems.push(c);}}e.symbol&&(this.symbol=new Rt$3(e.symbol));}};var Yt=class extends yt$1{conf;prod;constructor(e){super(11,e),e??={},this.conf=new Ar$1(e.conf),this.prod=new de$1(e.prod);}};var Jt=class extends s$2{disp;maxItems;constructor(e){e??={},super(e),this.disp=e.disp,this.maxItems=e.maxItems;}},Ar$1=class Ar{lg;sm;constructor(e){e??={},this.lg=new Jt(e.lg),this.sm=new Jt(e.sm);}};var Qt=class extends pe{constructor(e){super(e);}};var qe$1=class qe{cont;elems=[];constructor(e){e=e??{},this.cont=new Qt(e.cont),e.elems?.forEach(t=>{this.addRawElement(t);});}addRawElement(e){let t=B$2.getParsedElement(e);return t&&this.elems.push(t),t}};function Zt(r,e){return Ho(r,e,0,5)}function Ho(r,e,t=0,n=50){if(e){if(t>n){console.warn(`Maximum recursion depth reached in findFirstElementOfType`);return}for(let o of e){if(o.t===r)return o;let i=`elems`in o?o.elems:[];if(i?.length>0){let s=Zt(r,i);if(s)return s}}}}var Or=class{engagementID;shortID;contentType;delay;onsiteDeliveryType;objective;redirectBehaviour;constructor(e){this.shortID=e.shortID,this.contentType=e.contentType,this.engagementID=e.engagementID,this.delay=e.delay??0,this.redirectBehaviour=e.redirectBehaviour,this.onsiteDeliveryType=e.onsiteDeliveryType,this.objective=e.objective;}isAnySplit(){return this.isABTesting()||this.isExclusionTesting()}isExclusionTesting(){return this.contentType===fe$3.EXCLUSION}isABTesting(){return this.contentType===fe$3.ABTESTING}isSingleContent(){return this.contentType===fe$3.SINGLE}isGlobalAB(){return this.contentType===fe$3.GLOBAL_AB}},et=class{videoConfig;savingsBarConfig;collectionFilterConfig;subsUpgradeConfig;afterDeleteJS;afterRenderJS;classes;innerCSS;outerCSS;showSnackBar;constructor(e){this.update(e);}update(e){e??={},e.videoConfig&&(this.videoConfig=new wr$3(e.videoConfig)),e.savingsBarConfig&&(this.savingsBarConfig=new we$4(e.savingsBarConfig)),e.collectionFilterConfig&&(this.collectionFilterConfig=new xe$2(e.collectionFilterConfig)),e.subsUpgradeConfig&&(this.subsUpgradeConfig=new Ft(e.subsUpgradeConfig)),this.afterDeleteJS=e.afterDeleteJS,this.afterRenderJS=e.afterRenderJS,this.innerCSS=e.innerCSS,this.outerCSS=e.outerCSS,this.classes=e.classes,this.showSnackBar=e.showSnackBar;}},G=class extends Or{contentID;variation;ian;widget;discount;placement;contentSource;manipulation;klaviyoFormID;entryAnimation;hasMultiplePlacement;progressBarConfig;stickyATCConfig;bundleConfig;content;previewType;occurred;id;currency;props;items;nonMutableItems;embeddedItems;bundleFrom;collections;customerData;experimentConfig;discountData=b$1({});constructor(e){if(super(e),this.id=e.id,this.currency=Ue$1().currencyCode??`USD`,this.contentID=e.contentID,this.variation=e.variation,e.widget&&(this.widget=new qe$1(e.widget)),this.previewType=e.previewType,this.occurred=e.occurred??new Date,this.props=e.props,this.entryAnimation=e.entryAnimation??`NONE`,this.embeddedItems=e.embeddedItems?.map(t=>new at$2(t)),this.items=e.items?.map(t=>new mt$3(t))??[],this.nonMutableItems=e.items?.map(t=>new mt$3(t))??[],this.collections=e.collections?.map(t=>new Vt(t))??[],this.discount=e.discount,this.placement=e.placement,e.customerData?.name){let t=e.customerData.name.split(` `);this.customerData={name:e.customerData.name,full_name:e.customerData.name,first_name:t[0],last_name:t[1]};}this.ian=e.ian?this.processPopup(e.ian):void 0,this.manipulation=new Wt(e.manipulation),this.contentSource=e.contentSource,this.klaviyoFormID=e.klaviyoFormID,this.hasMultiplePlacement=e.hasMultiplePlacement,this.stickyATCConfig=e.stickyATCConfig,e.experimentConfig&&(this.experimentConfig=new Ut(e.experimentConfig)),e.progressBarConfig&&(this.progressBarConfig=new Ne$2(e.progressBarConfig)),e.bundleConfig&&(this.bundleConfig=new Nt(e.bundleConfig)),e.bundleFrom&&(this.bundleFrom=new mt$3(e.bundleFrom)),e.content&&(this.content=new et(e.content));}shouldDelay(){return this.delay>0}getDelaySeconds(){let e=new Date().getTime()-this.occurred.getTime();return this.delay*1e3-e}isBundle(){return this.objective===de$3.BUNDLE_AND_UPSELL}isCartEmbed(){return this.onsiteDeliveryType===pe$3.CART_EMBED}isPageEmbed(){return this.onsiteDeliveryType===pe$3.PAGE_EMBED}isPageWidgets(){return this.onsiteDeliveryType===pe$3.PAGE_EMBED||this.onsiteDeliveryType===pe$3.ANNOUNCEMENT_BAR}isProgressBar(){return this.objective===de$3.PROGRESS_BAR}isSubscriptionUpsell(){return this.objective===de$3.SUBSCRIPTION_UPSELL}isCartRecovery(){return this.objective===de$3.CART_RECOVERY}isProductPromotion(){return this.objective===de$3.PRODUCT_PROMOTION}isProductPromoted(){return this.isProductPromotion()||this.isBundle()||this.isCartRecovery()||this.isAddOns()}isCollectionPromoted(){return this.objective===de$3.COLLECTION_PROMOTION}isBYOB(){return this.objective===de$3.BYOB}isStickyATC(){return this.objective===de$3.STICKY_ATC}isAddOns(){return this.objective===de$3.ADD_ONS}isShoppableVideo(){return this.objective===de$3.SHOPPABLE_VIDEO}isVideoStory(){return this.objective===de$3.VIDEO_STORY}isFloatingVideo(){return this.objective===de$3.FLOATING_VIDEO}isVideoObjective(){return this.isShoppableVideo()||this.isVideoStory()||this.isFloatingVideo()}isSavingsBar(){return this.objective===de$3.SAVINGS_BAR}isCollectionFilter(){return this.objective===de$3.COLLECTION_FILTER}processPopup(e){let t=this.items[0],n={},o={};if(t){let c=t.selectedOrFirstVariant.value;n=s$3(r$2(r$2({name:t.name,id:t.mID,link:t.link,vID:c.mID,image:t.variantImage},Gn$1(`price`,c.price.d)),Gn$1(`comparePrice`,c.price.cmp)),{quantity:t.quantity}),o={quantity:c.quantity};}let i={productCount:h.getCurrent().item_count},s$3$1=Fe$2(JSON.stringify(e),{product:n,variant:o,cart:i,discount:this.discount,customer:this.customerData},new Be$1(new Date,this));return t&&(s$3$1=s$3$1.replace(new RegExp(`https://cdn.global.letscooee.com/images/placeholders/product.png`,`gi`),t.variantImage??t.firstImageURL)),new Gt(JSON.parse(s$3$1))}calculateDiscountData(e,t){let n=oe$1.sum(e,s=>s.selectedOrFirstVariant.value.price.d),i={actualPrice:n,totalComparePrice:oe$1.sum(e,s=>{let c=s.selectedOrFirstVariant.value.price;return c.cmp??c.d}),discountAmount:0,discountPercentage:0,discountedPrice:n};if(!e?.length||!t||!this.discount?.type){this.discountData.value=this.formatCurrencyAndNumber(i);return}if(q.BXGY===this.discount.type&&this.discount.values?.length)i.discountPercentage=this.discount.values[0],this.updateEffectivePrice(e,i.discountPercentage,true),i.discountAmount=i.actualPrice-oe$1.sum(e,s=>s.selectedOrFirstVariant.value.effectivePrice.value);else if([q.STATIC,q.UNIQUE_FLAT].includes(this.discount.type)&&this.discount.values?.length)i.discountPercentage=this.discount.values[0],i.discountAmount=i.actualPrice*i.discountPercentage/100,this.updateEffectivePrice(e,i.discountPercentage);else if(q.UNIQUE_FLAT_ITEMS===this.discount.type&&this.discount.values?.length)this.discount.ruleType===`fixed_amount`?(i.discountAmount=this.discount.values[0],i.discountPercentage=i.actualPrice>0?i.discountAmount*100/i.actualPrice:0):(i.discountPercentage=this.discount.values[0],i.discountAmount=i.actualPrice*i.discountPercentage/100),this.updateEffectivePrice(e,i.discountPercentage);else if(this.discount.type===q.UNIQUE_FIXED_ITEMS&&this.discount.values?.length)i.discountAmount=i.actualPrice-this.discount.values[0],i.discountPercentage=i.discountAmount/i.actualPrice*100,this.updateEffectivePrice(e,i.discountPercentage);else if(this.discount.type===q.UNIQUE_CHEAPEST_ITEM_FREE){e.sort((c,p)=>p.selectedOrFirstVariant.value.price.d-c.selectedOrFirstVariant.value.price.d);let s=e[e.length-1];s.selectedOrFirstVariant.value.effectivePrice.value=0,i.discountAmount=s.selectedOrFirstVariant.value.price.d,i.discountPercentage=i.discountAmount/i.actualPrice*100;}i.discountedPrice=i.actualPrice-i.discountAmount,this.discountData.value=this.formatCurrencyAndNumber(i);}getPrivateAttributesForLineItem(){return he$4.get().skipItemAttribute?{}:{_via:`Cooee`,_letscooee_campaign:this.shortID,_letscooee_content:this.contentID}}getKVFormatPrivateAttributesForLineItem(){return he$4.get().skipItemAttribute?[]:[{key:`_via`,value:`Cooee`},{key:`_letscooee_campaign`,value:this.shortID},{key:`_letscooee_content`,value:this.contentID}]}isBundleOnCartDrawer(){return this.isBundle()&&this.isCartEmbed()}isBundleOnPDP(){return this.isPageEmbed()&&this.isBundle()}hasSwiperElement(){if(Zt(62,this.widget?.elems))return true;let t=Zt(11,this.widget?.elems);return t?t.conf.lg.disp===2||t.conf.sm.disp===2:false}toString(){let e;return this.onsiteDeliveryType===pe$3.POPUP?e=`Popup`:e=Mn.toTitle(this.objective),`${e}(id=${this.shortID})`}getCartMagicVariables(){let e=h.getCurrent(),t=oe$1.sum(e.items??[],n=>n.discounts?.reduce((o,i)=>o+(i.amount??0),0)??0);return r$2(r$2(r$2(r$2({productCount:e.item_count,product_count:e.item_count},Gn$1(`amount`,e.total_price/100)),Gn$1(`originalAmount`,e.original_total_price/100)),Gn$1(`total_line_items_discount`,t/100)),Gn$1(`total_discount`,e.total_discount/100))}shouldGetVariationImmediately(){return this.hasMultiplePlacement&&!this.alwaysHaveVariations()}shouldSkipVariation(){return !this.isAnySplit()||this.alwaysHaveVariations()?true:!!this.variation}alwaysHaveVariations(){return this.isProgressBar()||this.isSavingsBar()}updateEffectivePrice(e,t,n=false){let o=Ue$1().currentItem;e.forEach(i=>{let s=i.selectedOrFirstVariant.value,c=s.price;if(n&&i.mID===o.mID)s.effectivePrice.value=c.d;else {let p=c.d*t/100;s.effectivePrice.value=c.d-p;}});}formatCurrencyAndNumber(e){if(!e)return {};let t={discountPercentage:Hn$1(e.discountPercentage??0),discountCode:this.discount?.code};return [`actualPrice`,`discountAmount`,`discountedPrice`,`totalComparePrice`].map(n=>{Object.assign(t,Gn$1(n,e[n]));}),t}};var jo=`/api/2026-01/graphql.json?from=cooee`,$n={"Content-Type":`application/json`};async function Ge$1(r,e,t,n){let o=he$4.get().storefrontToken;if(!o)throw new Error(`Storefront token not set for the store`);let i=new Headers($n);i.append(`X-Shopify-Storefront-Access-Token`,o);let s=JSON.stringify({query:r,variables:e});try{return await dn(jo,{method:`POST`,headers:i,body:s})}catch(c){throw Fe$3(c,t,{engagementTrigger:n}),c}}function be$1(r,e){return Ko(Bt(r),e)}async function Ko(r,e){return dn(r,{body:JSON.stringify(e),method:`POST`,headers:$n})}var er$1=class er{isLocked=false;queue=[];async acquire(){if(this.isLocked)await new Promise(e=>this.queue.push(e));else {this.isLocked=true;return}}release(){if(this.queue.length>0){let e=this.queue.shift();e&&e();}else this.isLocked=false;}},tr$1=class r{static LOCK_TIMEOUT=1e4;static RETRY_INTERVAL=200;static MAX_RETRIES=50;static async request(e,t){if(e=`__cooee_${e}_lock__`,`locks`in navigator&&!zo())try{return await Xo(e,t,this.LOCK_TIMEOUT)}catch(s){Y$2.verbose(`Web Locks API failed, falling back to localStorage: ${s}`);}let n=false,o=0,i=Math.random().toString(36).substring(2,10);for(;o++<this.MAX_RETRIES&&(Y$2.verbose(`Lock retry ${o} for ${e}`),n=await this.acquire(e,i,o),!n);)await this.sleep(r.RETRY_INTERVAL*o+Math.random()*100);try{return await t()}finally{this.release(e,i);}}static async acquire(e,t,n){let o=Date.now(),i=localStorage.getItem(e),s=i?JSON.parse(i):null;if(s&&o<=s.expiry)return false;let c={owner:t,expiry:o+r.LOCK_TIMEOUT};return localStorage.setItem(e,JSON.stringify(c)),await this.sleep(150+Math.random()*100),JSON.parse(localStorage.getItem(e)||`{}`).owner===t?(Y$2.verbose(`${t}: Lock acquired for ${e} after ${n} attempts!`),true):(Y$2.verbose(`${t}: Race lost. Another tab acquired the lock.`),false)}static release(e,t){let n=localStorage.getItem(e);if(!n)return;let o=JSON.parse(n);o.owner===t?(localStorage.removeItem(e),Y$2.verbose(`${t}: Lock released`)):Y$2.verbose(`${t}: Cannot release lock. Current owner: ${o.owner}`);}static sleep(e){return new Promise(t=>setTimeout(t,e))}};async function Xo(r,e,t){return new Promise((n,o)=>{let i=setTimeout(()=>{o(new Error(`Web Locks API timeout after ${t}ms`));},t);navigator.locks.request(r,async()=>{try{let s=await e();return clearTimeout(i),n(s),s}catch(s){throw clearTimeout(i),o(s),s}}).catch(s=>{clearTimeout(i),o(s);});})}function zo(){let r=navigator.userAgent||``;return /Safari/.test(r)&&!/Chrome/.test(r)&&!/Chromium/.test(r)||/iPhone|iPad|iPod/i.test(r)&&(/(FBAV|FBAN|Instagram|Twitter|Line|WhatsApp)/i.test(r)||!window.safari?.pushNotificaTion)||/Macintosh/.test(r)&&/Safari/.test(r)&&!/Chrome/.test(r)&&!/Chromium/.test(r)&&!window.safari?.pushNotification?true:Yo()}function Yo(){try{return window.safari?.pushNotification?window.safari.pushNotification.toString()===`[object SafariRemoteNotification]`:!window.indexedDB||!window.localStorage}catch{return true}}var Lr=new er$1,Jo=`
|
|
38
38
|
mutation cartMetafieldsSet($metafields: [CartMetafieldsSetInput!]!) {
|
|
39
39
|
cartMetafieldsSet(metafields: $metafields) {
|
|
40
40
|
metafields {
|
|
@@ -48,7 +48,7 @@ var Be$1=class Be{constructor(e,t){this._startTime=e;this._triggerData=t;}interv
|
|
|
48
48
|
}
|
|
49
49
|
}
|
|
50
50
|
}
|
|
51
|
-
`;function Hn(){ei().catch(r=>{Y$2.error(`Fail to add attributes in cart`,r);});}async function Qo(){let e=await(await fetch(window.Shopify.routes.root+`browsing_context_suggestions.json?country[enabled]=true&country[exclude]=${window.Shopify.country}&language[enabled]=true&language[exclude]=${window.Shopify.language}`)).json(),t=he$4.get().storefrontToken,n=new Headers;n.append(`x-shopify-storefront-access-token`,t),n.append(`Content-Type`,`application/json`),await Ge$1(Jo,{metafields:[{key:`currentCountry`,ownerId:`gid://shopify/Cart/${h.getCurrent().token}`,type:`single_line_text_field`,value:e.detected_values.country.handle}]},`add-cart-metafields-set`);}function Zo(){h.getCurrent().token?Qo().catch(r=>{Y$2.error(`Fail to update cart metafields`,r);}):setTimeout(Zo,500);}async function ei(){await Lr.acquire();let r=h.getCurrent(),e=await Mr$4();if(r.attributes?.letscooee_did===e.letscooee_did&&r.attributes?.letscooee_sn===e.letscooee_sn){Y$2.verbose(`Not calling Shopify update.js API.`,`Current attributes:`,r.attributes),Lr.release();return}try{let t=await be$1(`/cart/update.js`,{attributes:e});Y$2.verbose(`Updated cart attributes`,JSON.stringify(t.data)),r.update(t.data);}catch(t){Y$2.error(`Failed to add cart attributes`,t);}Lr.release();}var ti=r=>r,qn=r=>r.filter(e=>e.removedNodes&&e.removedNodes.length>0);function Gn(r,e={childList:true,subtree:true},t=500,n=ti){return te$1(o=>{let i=new MutationObserver(s=>o(s));return i.observe(r,e),i},(o,i)=>i.disconnect()).pipe(q$1(o=>n(o)),Ir$1(o=>o.length>0),Fe$1(t))}var Jn=x$4(St$3());var Xn=new U,zn=new U;function Xm(){return zn.asObservable()}function rr$1(){Xn.next();}Xn.pipe(Fe$1(100)).subscribe(si.bind(void 0));function zm(){rr$1(),ri(),ni();}function ri(){let r=window.XMLHttpRequest.prototype.send;window.XMLHttpRequest.prototype.send=function(){return this.addEventListener(`load`,function(){Yn(this._url).catch(e=>Y$2.error(`Unable to process cart change in XMLHttpRequest`,e));}),r.apply(this,arguments)},Y$2.verbose(`Securely overwritten window.XMLHttpRequest.send method`);}function ni(){let r=window.fetch;try{window.fetch=async function(e,t){return r(e,t).then(n=>{let o=``;try{o=typeof e==`string`||e instanceof URL?e.toString():e?.url??n?.url??``;}catch{}return Yn(o).catch(i=>Y$2.error(`Unable to process cart change in fetch`,i)),n})},Y$2.verbose(`Securely overwritten window.fetch method`);}catch(e){console.warn(`Fail to override fetch.`,`Cooee won't be able to track "Add To Cart" and "Remove From Cart" KPI.`),Y$2.error(e);}}async function Yn(r){oi(r)&&rr$1();}function oi(r){return /\/cart\/(add|change|update|clear)/.test(r)}function ii(r$1,e){let t=r$1?.items,n=e.items,o=[],i=[];if(Y$2.verbose(`Comparing cart change with old count ${t?.length} to new count ${n.length}`),n?.forEach(s$4=>{let c=t?.find(p=>p.vID===s$4.vID);if(c){if(c.quantity!==s$4.quantity){let p=c.quantity<s$4.quantity,u=Math.abs(c.quantity-s$4.quantity),d=s$3(r$2({},s$4),{quantity:u});p?o.push(d):i.push(d);}t&&$n$1(t,c);}else o.push(s$4);}),t)for(let s of t)i.push(s);Y$2.verbose(`Cart delta: added: ${o.length}, removed: ${i.length}`),o.length&&jn(`Add To Cart`,{items:o}),i.length&&r$1.token===e.token&&jn(`Remove From Cart`,{items:i}),(i.length||o.length)&&zn.next({itemsAdded:o,itemsRemoved:i,cart:e});}function jn(r,e){Kn(new Ir$2(r,e));}async function si(){ii(await ce$4.get(`cart`,{}),await h.getCurrent().getNormalisedCart(true));}var D$1=class r{static cartDrawerToggle$=new Sr$1({open:false,firstOpen:false});static DEFAULT_SELECTOR=`cart-drawer`;static _instance;inShadow=false;cartDrawerElement;cartDrawerShadowElement;configWebsite=he$4.get().website??{};currentState=false;mutationSubscription;mutationObserver;firstOpen=true;selector;shadowParentElementSelector;clickEventListener;refreshUIEventListener;iconSelector=[`button[drawer-to-open="cart-drawer"]`,`a[href="/cart"]`,`.header__icon--cart`,`#cart-icon-bubble`,`.cart-icon-bubble`,`.cart-count`,`a[onclick*="handleFloCartBtn"]`].join(`,`);cartSelector=[r.DEFAULT_SELECTOR,`#halo-cart-sidebar`,`[role="dialog"][class*="cart" i]`,`[id*="section-cart" i]`,`#sidebar-cart`,`#rebuy-cart`,`#mini-cart`,`#flo-cart-wrapper`,`#drawer-cart`,`#UpcartPopupBackDrop`,`[id$="CartDrawer" i]`].join(`,`);constructor(){this.initialize(),this.refreshUIEventListener=this.updateBubble.bind(this),this.clickEventListener=this.manualCartIconClicked.bind(this),document.addEventListener(`letscooee:outbound:refresh-ui`,this.refreshUIEventListener),document.addEventListener(`click`,this.clickEventListener,{capture:true,passive:true});}get element(){return this.cartDrawerElement}static get(){return r._instance||(r._instance=new r),r._instance}static initialize(){r.get();}isOpen(){if(window.cooeeIsCartDrawerVisible)return window.cooeeIsCartDrawerVisible();if(this.cartDrawerElement?.id===`rebuy-cart`)return !!window.Rebuy?.SmartCart?.visible;let e=this.inShadow?this.isPresent():C$3(this.cartDrawerElement);return Y$2.info(`Cart drawer is currently ${e?`open`:`close`}`),e}open(){if(this.isOpen()){Y$2.log(`Drawer is already open`);return}document.dispatchEvent(new CustomEvent(`letscooee:outbound:open-cart`));let e=document.querySelector(this.iconSelector);if(!e){Y$2.verbose(`No clickable cart icon found with selector`,this.iconSelector);return}e.click();}isShopifyDefaultDrawer(){return this.element?.tagName.toLowerCase()===r.DEFAULT_SELECTOR}isMiniCart(){return this.isShopifyDefaultDrawer()&&this.element?.id===`mini-cart`}refreshUI(e,t=true){if(window.cooeeUpdateCartDrawer)try{window.cooeeUpdateCartDrawer(e);}catch(n){Fe$3(n,`execute-cooeeUpdateCartDrawer`);}else if(this.isMiniCart()&&this.element?._rerenderCart)this.element._rerenderCart({detail:{cart:e}});else if(window.MinimogTheme?.Cart?.renderNewCart)window.MinimogTheme.Cart.renderNewCart();else if(this.isShopifyDefaultDrawer()&&this.element?.renderContents&&e)this.element.classList.remove(`is-empty`),this.element.renderContents?.(e);else if(this.element?.onCartDrawerUpdate)this.element.onCartDrawerUpdate();else if(window.cartGiftUpdate){if(!e?.items?.[0])return;let n=e.items[0].id,o=e.items[0].quantity,i=e.items[0].price;window.cartGiftUpdate(n,i,o,``,`ADD_TO_CART`);}else if(window.icartCartActivityEvent)window.icartCartActivityEvent();else if(window.theme?.CartDrawer&&typeof window.theme?.CartDrawer==`function`)window.theme?.CartDrawer.init?new window.theme.CartDrawer().init():new window.theme.CartDrawer;else if(window.Hs_CartDrawer?.updateSlideCart)window.Hs_CartDrawer.updateSlideCart();else if(window.theme?.fetch_side_cart)window.theme.fetch_side_cart();else if(window.theme?.Cart?.updateCart)window.theme.Cart.updateCart();else if(window.cartUpdate)window.cartUpdate();else if(this.element?._onCartRefresh)this.element._onCartRefresh();else if(window.cart?.getCart)window.cart.getCart();else if(this.element?.tagName?.toLowerCase()===`cart-drawer-component`)document.dispatchEvent(new CustomEvent(`action:cart:updateCartandShowCart`));else if(this.element?.id===`sidebar-cart`)document.body.dispatchEvent(new CustomEvent(`cart:refresh`,{bubbles:true,detail:{}}));else if(this.element?.id===`quick-cart`){let n=document.querySelector(`a[href="/cart"]`);n&&n.click();}else window.Shopify?.KT_onItemAdded?window.Shopify.KT_onItemAdded():window.sideCart?.updateCart?window.sideCart.updateCart():window.SLIDECART_UPDATE?(window.SLIDECART_UPDATE(),window.SLIDECART_OPEN?.()):window.refreshCart?h.getCurrent().getNormalisedCart(true).then(()=>{window.refreshCart(h.getCurrent());}):window.OPEN_CART?window.OPEN_CART():window.updateCart?window.updateCart():window.sjRefreshCart?window.sjRefreshCart():window.CartJS?.getCart?window.CartJS?.getCart():window.updateCartItemJS?window.updateCartItemJS(1,e?.items?.[0]?.id+``):(Y$2.info(`No method found to update the cart drawer. Blindly firing some events to try`),document.dispatchEvent(new CustomEvent(`cart:refresh`,{bubbles:true})));document.dispatchEvent(new CustomEvent(`letscooee:outbound:refresh-ui`,{detail:{responseJSON:e,currentCart:h.getCurrent()}})),t&&rr$1();}async initialize(){let e=this.configWebsite.cartDrawerSelector;if(!e){await this.findCartDrawer();return}let t=e.split(`:shadow`);t.length===1?(this.selector=t[0],await this.findCartDrawer()):(this.inShadow=true,this.shadowParentElementSelector=t[0]?.trim(),this.selector=t[1]?.trim(),await this.findCartDrawerWithShadow());}async findCartDrawer(){if(!Qe())return;let e=this.selector||this.cartSelector;if(this.cartDrawerElement=await jn$1(e),!this.cartDrawerElement){Jn.default.warn(`Max attempts exhausted to find cart drawer`);return}Y$2.verbose(`Found`,this.cartDrawerElement,`from selector: ${e}`),this.createMutationObservers();}async findCartDrawerWithShadow(){if(!this.shadowParentElementSelector)return;let t=(await jn$1(this.shadowParentElementSelector))?.shadowRoot;t?.mode===`open`&&(this.cartDrawerShadowElement=t,this.createMutationObservers());}createMutationObservers(){!this.cartDrawerElement&&!this.cartDrawerShadowElement||this.watchForCartToggle();}watchForCartToggle(){let e=this.cartDrawerElement||this.cartDrawerShadowElement,t=new U;this.mutationObserver=new MutationObserver(()=>{t.next();}),this.mutationObserver.observe(e,{attributes:true,subtree:true,childList:this.inShadow}),this.mutationSubscription=t.pipe(we$2(800,void 0,{leading:false,trailing:true})).subscribe(()=>{let n=this.isOpen();this.currentState!==n&&(this.currentState=n,r.cartDrawerToggle$.next({open:n,firstOpen:this.firstOpen}),this.firstOpen&&(this.firstOpen=false));});}isPresent(){if(!this.selector||!this.cartDrawerShadowElement)return false;let e=this.cartDrawerShadowElement.querySelector(this.selector);return e?C$3(e):false}async updateBubble(){let e=(await h.getCurrent().getNormalisedCart(true)).itemCount,t=document.querySelector(`.cart-link__bubble`);t&&(t.innerText=e+``);}manualCartIconClicked(e){!e.target.closest(this.iconSelector)||!e.isTrusted||window.CooeeSDK.events.push([`Open Cart`]);}};var kr$1=new Map,nr$1=async r=>{for(let i of r.items)if(window.cooeeManipulateProduct)try{window.cooeeManipulateProduct(i,r);}catch(s){Y$2.error(s);}if(r.isCartEmbed()&&!r.isSubscriptionUpsell()){let s=(await h.getCurrent().getNormalisedCart()).items.map(c=>c.mID);r.items=r.items.filter(c=>!s.includes(c.mID));}if(r.items=Qn(r),he$4.get().currencyCount<=1)return r.items;if(r.isShoppableVideo())return await ai(r.content.videoConfig,r),r.items;let e=r.items.length,t=r.items.map(i=>Zn(i,r)),o=(await Promise.all(t)).filter(i=>i!=null);if(e&&!o.length){let i=`Failed to fetch any product from Ajax API`;throw X(new Ir$2(`CE Campaign Failed`,{reason:i,currency:r.currency},r)),new Error(i)}return Qn(r,o)},Qn=(r,e=r.items)=>{if(!r.isCartRecovery())return e;let t=h.getCurrent().items,n=[];for(let o of e)for(let i of o.vars){if(!i.isAvailable)continue;let s=t.find(u=>u.variant_id.toString()===i.mID);if(!s)continue;let c=new mt$3(o);c.name=s.title;let p=new dt$2(i);p.name=s.variant_title,p.price.d=s.discounted_price/100,c.variants=[p],n.push(c);}return n},ai=async(r,e)=>{await Promise.all(r.videoEntries.map(async t=>{t.video.items=await Promise.all(t.video.items.map(async n=>{return await Zn(n,e)||n}));}));},Zn=async(r,e)=>{if(kr$1.has(r.mID))return kr$1.get(r.mID);let t,n=`/products/${r.slug}.js`;try{t=(await dn(n)).data;}catch(o){return o instanceof ne$3&&o.response?.status===404||Fe$3(o,`fetch-shopify-product`,{extra:{item:r,path:n},engagementTrigger:e}),null}return t?ci(r,t):(Y$2.error(`Item not found after AJAX call for:`,r),null)},ci=(r,e)=>{if(!r||!e)return r;r.name=e.title,r.tags=e.tags,r.slug=e.handle;let t=r.selectedOrFirstVariant.value;return r.vars.map(n=>{let o=e.variants.find(i=>i.id===+n.mID);o!=null&&(n.name=o.title,n.isAvailable=o.available,n.price.d=o.price?o.price/100:o.price,n.price.effective=n.price.d,n.price.cmp=o.compare_at_price?o.compare_at_price/100:o.compare_at_price,+t.mID===o.id&&(t.effectivePrice.value=n.price.d));}),kr$1.set(r.mID,r),r};var tt=r=>{let e=r instanceof mt$3?r.selectedOrFirstVariant.value.mID:r.vID,t=r instanceof mt$3?r.selectedOrFirstVariant.value.name:r.vName;return {product_id:r.mID,product_name:r.name,variant_id:e,variant_name:t}};var Nr=(function(r){return r.NONE=``,r.SHOPIFY=`shopify`,r.THIRD_PARTY=`third_party`,r})(Nr||{});function eo(r,e,t){let n=D$1.get();if(r===he$3.OPEN_CART||e===ae$4.CART_DRAWER){n.open(),t&&n.refreshUI(t);return}if(r===he$3.INITIATE_CHECKOUT){mi();return}if(e===ae$4.CART_PAGE){location.href=`/cart`;return}if(e===ae$4.SHOPIFY_CHECKOUT){location.href=`/checkout`;return}if(e===ae$4.THIRD_PARTY_CHECKOUT){to(`/cart#initiate-checkout=1`);return}t&&n.refreshUI(t);}function mi(){he$4.get().checkoutProvider===Nr.THIRD_PARTY?to(`/cart#initiate-checkout=1`):location.href=`/checkout`;}function to(r){window.triggerGokwikCustomCheckout?window.triggerGokwikCustomCheckout():window.shiprocketCheckoutEvents?.buyCart?window.shiprocketCheckoutEvents.buyCart():window.openCheckout?window.openCheckout():window.handleFloCheckoutBtn?window.handleFloCheckoutBtn():window.openRzpCheckout?window.openRzpCheckout():location.href=r;}var go=x$4(St$3());var Ur=class{origin;path;qs;name;referrer;utmSource;utmMedium;utmCampaign;utmId;utmTerm;utmContent;themeId;themeName;templateSuffix;pageType;constructor(e){this.name=e.name,this.pageType=e.pageType??e.name,this.path=e.path,this.qs=e.qs,this.referrer=e.referrer,this.utmSource=e.utmSource||e.utm_source,this.utmMedium=e.utmMedium||e.utm_medium,this.utmCampaign=e.utmCampaign||e.utm_campaign,this.utmId=e.utmId||e.utm_id,this.utmTerm=e.utmTerm||e.utm_term,this.utmContent=e.utmContent||e.utm_content,this.themeId=e.themeId,this.themeName=e.themeName,this.templateSuffix=e.templateSuffix;}};function or$1(){let r$2$1=Ue$1(),e=location.pathname===`/`?location.pathname:location.pathname.replace(/\/+$/,``);return new Ur(r$2({origin:location.origin,path:e,qs:location.search,referrer:Ye$1(),name:r$2$1.pageName,pageType:r$2$1.pageName,templateSuffix:r$2$1.template.suffix,themeId:window.Shopify.theme.id+``,themeName:window.Shopify.theme.name},Je$2()))}function _l(){let r=Ue$1(),e=new URLSearchParams(location.search),t=e.get(`cooee-preview`),n=e.get(`cooee-exp-preview`);if(t){let i=t.split(`,`).map(s=>s.trim()).filter(s=>Number.isInteger(+s));i.length&&(r.previewIDs=i);}if(n){let i=n.split(`,`).map(s=>s.trim()).filter(s=>Number.isInteger(+s));i.length&&(r.previewIDs??=[],r.previewIDs.push(...i),r.activeExperiments=true);}let o=e.get(`cooee-variant`)?.trim();o&&(r.previewVariant=o);}function ir$1(){let r$3=Ue$1();return s$3(r$2(s$3(r$2({},r$3.customContext),{page:or$1(),locale:r$3.locale,currentItem:r$3.currentItem,previewIDs:r$3.previewIDs,previewVariant:r$3.previewVariant,engagementIDs:pi(),cart:xr$1()}),li()),{host:window.location.host})}function li(){let r=window.CooeeSDK.uaParser.getResult();return {os:r.os,device:r.device,browser:r.browser}}function pi(){let r=document.querySelectorAll(`.letscooee-engagement`),e=[];return r.forEach(t=>{let n=t.dataset.engagementId;n&&+n&&e.push(n);}),e}var di=`keepalive`in new Request(``),Mr=new Headers,sr={type:Xr$4,code:Jr$3,version:Q$3,shopName:Fn()??``};hi$1();async function rt(){let[r$4]=await Promise.all([co()]);return r$2(r$2({},ir$1()),r$4)}function ro(r){le$2(z$2).then(()=>gi$1(r??{})).catch(e=>Y$2.error(`Session not established, skipping updateProfile`,e));}function gi$1(r){so(`/v1/user/update`,r).then(()=>{Y$2.verbose(`Updated user profile`);}).catch(e=>{Y$2.error(`Error saving user profile`,e);});}function no(r){return ie$1(`/v1/event/generate-discount`,r)}function Jl(r){le$2(z$2).then(()=>ui({props:r})).catch(e=>Y$2.error(`Session not established, skipping updateDeviceProps`,e));}function ui(r){so(`/v1/device/update`,r).then(()=>{Y$2.verbose(`Updated device properties`);}).catch(async e=>{Y$2.error(`Error saving device property`,e);});}function oo(r){r&&(sr.deviceId=r);}function io(r){r&&(sr.firstSeen=r.toUTCString());}function ie$1(r,e){return ao(`POST`,r,e)}function so(r,e){return ao(`PUT`,r,e)}async function ao(r$5,e,t){if(!Qe())return Y$2.log(`Rejecting ${r$5} ${e} as this is not e-commerce app`),Promise.reject();e.startsWith(`http`)||(e.includes(`/event/track`)?e=(window.CooeeSDK.apiURLs?.eventURL||fe$4.apiURL)+e:e=(window.CooeeSDK.apiURLs?.baseURL||fe$4.cdnApiURL)+e);let n=t?s$3(r$2({},t),{sdkMeta:sr}):void 0;if(n&&(n.visitorId=ce$4.getVisitorId()),n&&!di&&e.includes(Fr))return fi(e,Mr,n);let o={method:r$5,headers:Mr,keepalive:false};return n&&(o.body=JSON.stringify(n)),dn(e,o)}function fi(r,e,t){return new Promise((n,o)=>{let i=new XMLHttpRequest;i.open(`POST`,r,true),e.forEach((s,c)=>{i.setRequestHeader(c,s);}),i.onreadystatechange=()=>{if(i.readyState===XMLHttpRequest.DONE)if(i.status>=200&&i.status<300)try{if(i.getResponseHeader(`Content-Type`)?.includes(`application/json`))n({data:JSON.parse(i.responseText),headers:e,request:i,status:i.status,statusText:i.statusText});else o(new Error(`Content-Type of response header is not json`));}catch(s){o(s);}else o(new Error(`Received status - ${i.status}(${i.statusText})`));},i.onerror=()=>{o(new Error(`Network error occurred during the request.`));},i.send(JSON.stringify(t));})}function hi$1(){Mr.set(`Content-Type`,`text/plain; charset=utf-8`);let r=localStorage.getItem(`cooeeDebugTill`);(r&&new Date(+r)>new Date)&&(sr.debug=true);}var Ci$1=`
|
|
51
|
+
`;function Hn(){ei().catch(r=>{Y$2.error(`Fail to add attributes in cart`,r);});}async function Qo(){let e=await(await fetch(window.Shopify.routes.root+`browsing_context_suggestions.json?country[enabled]=true&country[exclude]=${window.Shopify.country}&language[enabled]=true&language[exclude]=${window.Shopify.language}`)).json(),t=he$4.get().storefrontToken,n=new Headers;n.append(`x-shopify-storefront-access-token`,t),n.append(`Content-Type`,`application/json`),await Ge$1(Jo,{metafields:[{key:`currentCountry`,ownerId:`gid://shopify/Cart/${h.getCurrent().token}`,type:`single_line_text_field`,value:e.detected_values.country.handle}]},`add-cart-metafields-set`);}function Zo(){h.getCurrent().token?Qo().catch(r=>{Y$2.error(`Fail to update cart metafields`,r);}):setTimeout(Zo,500);}async function ei(){await Lr.acquire();let r=h.getCurrent(),e=await Mr$4();if(r.attributes?.letscooee_did===e.letscooee_did&&r.attributes?.letscooee_sn===e.letscooee_sn){Y$2.verbose(`Not calling Shopify update.js API.`,`Current attributes:`,r.attributes),Lr.release();return}try{let t=await be$1(`/cart/update.js`,{attributes:e});Y$2.verbose(`Updated cart attributes`,JSON.stringify(t.data)),r.update(t.data);}catch(t){Y$2.error(`Failed to add cart attributes`,t);}Lr.release();}var ti=r=>r,qn=r=>r.filter(e=>e.removedNodes&&e.removedNodes.length>0);function Gn(r,e={childList:true,subtree:true},t=500,n=ti){return te$1(o=>{let i=new MutationObserver(s=>o(s));return i.observe(r,e),i},(o,i)=>i.disconnect()).pipe(q$1(o=>n(o)),Ir$1(o=>o.length>0),Fe$1(t))}var Jn=x$4(St$3());var Xn=new U,zn=new U;function Xl(){return zn.asObservable()}function rr$1(){Xn.next();}Xn.pipe(Fe$1(100)).subscribe(si.bind(void 0));function zl(){rr$1(),ri(),ni();}function ri(){let r=window.XMLHttpRequest.prototype.send;window.XMLHttpRequest.prototype.send=function(){return this.addEventListener(`load`,function(){Yn(this._url).catch(e=>Y$2.error(`Unable to process cart change in XMLHttpRequest`,e));}),r.apply(this,arguments)},Y$2.verbose(`Securely overwritten window.XMLHttpRequest.send method`);}function ni(){let r=window.fetch;try{window.fetch=async function(e,t){return r(e,t).then(n=>{let o=``;try{o=typeof e==`string`||e instanceof URL?e.toString():e?.url??n?.url??``;}catch{}return Yn(o).catch(i=>Y$2.error(`Unable to process cart change in fetch`,i)),n})},Y$2.verbose(`Securely overwritten window.fetch method`);}catch(e){console.warn(`Fail to override fetch.`,`Cooee won't be able to track "Add To Cart" and "Remove From Cart" KPI.`),Y$2.error(e);}}async function Yn(r){oi(r)&&rr$1();}function oi(r){return /\/cart\/(add|change|update|clear)/.test(r)}function ii(r$1,e){let t=r$1?.items,n=e.items,o=[],i=[];if(Y$2.verbose(`Comparing cart change with old count ${t?.length} to new count ${n.length}`),n?.forEach(s$4=>{let c=t?.find(p=>p.vID===s$4.vID);if(c){if(c.quantity!==s$4.quantity){let p=c.quantity<s$4.quantity,u=Math.abs(c.quantity-s$4.quantity),d=s$3(r$2({},s$4),{quantity:u});p?o.push(d):i.push(d);}t&&$n$1(t,c);}else o.push(s$4);}),t)for(let s of t)i.push(s);Y$2.verbose(`Cart delta: added: ${o.length}, removed: ${i.length}`),o.length&&jn(`Add To Cart`,{items:o}),i.length&&r$1.token===e.token&&jn(`Remove From Cart`,{items:i}),(i.length||o.length)&&zn.next({itemsAdded:o,itemsRemoved:i,cart:e});}function jn(r,e){Kn(new Ir$2(r,e));}async function si(){ii(await ce$4.get(`cart`,{}),await h.getCurrent().getNormalisedCart(true));}var D$1=class r{static cartDrawerToggle$=new Sr$1({open:false,firstOpen:false});static DEFAULT_SELECTOR=`cart-drawer`;static _instance;inShadow=false;cartDrawerElement;cartDrawerShadowElement;configWebsite=he$4.get().website??{};currentState=false;mutationSubscription;mutationObserver;firstOpen=true;selector;shadowParentElementSelector;clickEventListener;refreshUIEventListener;iconSelector=[`button[drawer-to-open="cart-drawer"]`,`a[href="/cart"]`,`.header__icon--cart`,`#cart-icon-bubble`,`.cart-icon-bubble`,`.cart-count`,`a[onclick*="handleFloCartBtn"]`].join(`,`);cartSelector=[r.DEFAULT_SELECTOR,`#halo-cart-sidebar`,`[role="dialog"][class*="cart" i]`,`[id*="section-cart" i]`,`#sidebar-cart`,`#rebuy-cart`,`#mini-cart`,`#flo-cart-wrapper`,`#drawer-cart`,`#UpcartPopupBackDrop`,`[id$="CartDrawer" i]`].join(`,`);constructor(){this.initialize(),this.refreshUIEventListener=this.updateBubble.bind(this),this.clickEventListener=this.manualCartIconClicked.bind(this),document.addEventListener(`letscooee:outbound:refresh-ui`,this.refreshUIEventListener),document.addEventListener(`click`,this.clickEventListener,{capture:true,passive:true});}get element(){return this.cartDrawerElement}static get(){return r._instance||(r._instance=new r),r._instance}static initialize(){r.get();}isOpen(){if(window.cooeeIsCartDrawerVisible)return window.cooeeIsCartDrawerVisible();if(this.cartDrawerElement?.id===`rebuy-cart`)return !!window.Rebuy?.SmartCart?.visible;let e=this.inShadow?this.isPresent():C$3(this.cartDrawerElement);return Y$2.info(`Cart drawer is currently ${e?`open`:`close`}`),e}open(){if(this.isOpen()){Y$2.log(`Drawer is already open`);return}document.dispatchEvent(new CustomEvent(`letscooee:outbound:open-cart`));let e=document.querySelector(this.iconSelector);if(!e){Y$2.verbose(`No clickable cart icon found with selector`,this.iconSelector);return}e.click();}isShopifyDefaultDrawer(){return this.element?.tagName.toLowerCase()===r.DEFAULT_SELECTOR}isMiniCart(){return this.isShopifyDefaultDrawer()&&this.element?.id===`mini-cart`}refreshUI(e,t=true){if(window.cooeeUpdateCartDrawer)try{window.cooeeUpdateCartDrawer(e);}catch(n){Fe$3(n,`execute-cooeeUpdateCartDrawer`);}else if(this.isMiniCart()&&this.element?._rerenderCart)this.element._rerenderCart({detail:{cart:e}});else if(window.MinimogTheme?.Cart?.renderNewCart)window.MinimogTheme.Cart.renderNewCart();else if(this.isShopifyDefaultDrawer()&&this.element?.renderContents&&e)this.element.classList.remove(`is-empty`),this.element.renderContents?.(e);else if(this.element?.onCartDrawerUpdate)this.element.onCartDrawerUpdate();else if(window.cartGiftUpdate){if(!e?.items?.[0])return;let n=e.items[0].id,o=e.items[0].quantity,i=e.items[0].price;window.cartGiftUpdate(n,i,o,``,`ADD_TO_CART`);}else if(window.icartCartActivityEvent)window.icartCartActivityEvent();else if(window.theme?.CartDrawer&&typeof window.theme?.CartDrawer==`function`)window.theme?.CartDrawer.init?new window.theme.CartDrawer().init():new window.theme.CartDrawer;else if(window.Hs_CartDrawer?.updateSlideCart)window.Hs_CartDrawer.updateSlideCart();else if(window.theme?.fetch_side_cart)window.theme.fetch_side_cart();else if(window.theme?.Cart?.updateCart)window.theme.Cart.updateCart();else if(window.cartUpdate)window.cartUpdate();else if(this.element?._onCartRefresh)this.element._onCartRefresh();else if(window.cart?.getCart)window.cart.getCart();else if(this.element?.tagName?.toLowerCase()===`cart-drawer-component`)document.dispatchEvent(new CustomEvent(`action:cart:updateCartandShowCart`));else if(this.element?.id===`sidebar-cart`)document.body.dispatchEvent(new CustomEvent(`cart:refresh`,{bubbles:true,detail:{}}));else if(this.element?.id===`quick-cart`){let n=document.querySelector(`a[href="/cart"]`);n&&n.click();}else window.Shopify?.KT_onItemAdded?window.Shopify.KT_onItemAdded():window.sideCart?.updateCart?window.sideCart.updateCart():window.SLIDECART_UPDATE?(window.SLIDECART_UPDATE(),window.SLIDECART_OPEN?.()):window.refreshCart?h.getCurrent().getNormalisedCart(true).then(()=>{window.refreshCart(h.getCurrent());}):window.OPEN_CART?window.OPEN_CART():window.updateCart?window.updateCart():window.sjRefreshCart?window.sjRefreshCart():window.CartJS?.getCart?window.CartJS?.getCart():window.updateCartItemJS?window.updateCartItemJS(1,e?.items?.[0]?.id+``):(Y$2.info(`No method found to update the cart drawer. Blindly firing some events to try`),document.dispatchEvent(new CustomEvent(`cart:refresh`,{bubbles:true})));document.dispatchEvent(new CustomEvent(`letscooee:outbound:refresh-ui`,{detail:{responseJSON:e,currentCart:h.getCurrent()}})),t&&rr$1();}async initialize(){let e=this.configWebsite.cartDrawerSelector;if(!e){await this.findCartDrawer();return}let t=e.split(`:shadow`);t.length===1?(this.selector=t[0],await this.findCartDrawer()):(this.inShadow=true,this.shadowParentElementSelector=t[0]?.trim(),this.selector=t[1]?.trim(),await this.findCartDrawerWithShadow());}async findCartDrawer(){if(!Qe())return;let e=this.selector||this.cartSelector;if(this.cartDrawerElement=await jn$1(e),!this.cartDrawerElement){Jn.default.warn(`Max attempts exhausted to find cart drawer`);return}Y$2.verbose(`Found`,this.cartDrawerElement,`from selector: ${e}`),this.createMutationObservers();}async findCartDrawerWithShadow(){if(!this.shadowParentElementSelector)return;let t=(await jn$1(this.shadowParentElementSelector))?.shadowRoot;t?.mode===`open`&&(this.cartDrawerShadowElement=t,this.createMutationObservers());}createMutationObservers(){!this.cartDrawerElement&&!this.cartDrawerShadowElement||this.watchForCartToggle();}watchForCartToggle(){let e=this.cartDrawerElement||this.cartDrawerShadowElement,t=new U;this.mutationObserver=new MutationObserver(()=>{t.next();}),this.mutationObserver.observe(e,{attributes:true,subtree:true,childList:this.inShadow}),this.mutationSubscription=t.pipe(we$2(800,void 0,{leading:false,trailing:true})).subscribe(()=>{let n=this.isOpen();this.currentState!==n&&(this.currentState=n,r.cartDrawerToggle$.next({open:n,firstOpen:this.firstOpen}),this.firstOpen&&(this.firstOpen=false));});}isPresent(){if(!this.selector||!this.cartDrawerShadowElement)return false;let e=this.cartDrawerShadowElement.querySelector(this.selector);return e?C$3(e):false}async updateBubble(){let e=(await h.getCurrent().getNormalisedCart(true)).itemCount,t=document.querySelector(`.cart-link__bubble`);t&&(t.innerText=e+``);}manualCartIconClicked(e){!e.target.closest(this.iconSelector)||!e.isTrusted||window.CooeeSDK.events.push([`Open Cart`]);}};var kr$1=new Map,nr$1=async r=>{for(let i of r.items)if(window.cooeeManipulateProduct)try{window.cooeeManipulateProduct(i,r);}catch(s){Y$2.error(s);}if(r.isCartEmbed()&&!r.isSubscriptionUpsell()){let s=(await h.getCurrent().getNormalisedCart()).items.map(c=>c.mID);r.items=r.items.filter(c=>!s.includes(c.mID));}if(r.items=Qn(r),he$4.get().currencyCount<=1)return r.items;if(r.isVideoObjective())return await ai(r.content.videoConfig,r),r.items;let e=r.items.length,t=r.items.map(i=>Zn(i,r)),o=(await Promise.all(t)).filter(i=>i!=null);if(e&&!o.length){let i=`Failed to fetch any product from Ajax API`;throw X(new Ir$2(`CE Campaign Failed`,{reason:i,currency:r.currency},r)),new Error(i)}return Qn(r,o)},Qn=(r,e=r.items)=>{if(!r.isCartRecovery())return e;let t=h.getCurrent().items,n=[];for(let o of e)for(let i of o.vars){if(!i.isAvailable)continue;let s=t.find(u=>u.variant_id.toString()===i.mID);if(!s)continue;let c=new mt$3(o);c.name=s.title;let p=new dt$2(i);p.name=s.variant_title,p.price.d=s.discounted_price/100,c.variants=[p],n.push(c);}return n},ai=async(r,e)=>{await Promise.all(r.videoEntries.map(async t=>{t.video.items=await Promise.all(t.video.items.map(async n=>{return await Zn(n,e)||n}));}));},Zn=async(r,e)=>{if(kr$1.has(r.mID))return kr$1.get(r.mID);let t,n=`/products/${r.slug}.js`;try{t=(await dn(n)).data;}catch(o){return o instanceof ne$3&&o.response?.status===404||Fe$3(o,`fetch-shopify-product`,{extra:{item:r,path:n},engagementTrigger:e}),null}return t?ci(r,t):(Y$2.error(`Item not found after AJAX call for:`,r),null)},ci=(r,e)=>{if(!r||!e)return r;r.name=e.title,r.tags=e.tags,r.slug=e.handle;let t=r.selectedOrFirstVariant.value;return r.vars.map(n=>{let o=e.variants.find(i=>i.id===+n.mID);o!=null&&(n.name=o.title,n.isAvailable=o.available,n.price.d=o.price?o.price/100:o.price,n.price.effective=n.price.d,n.price.cmp=o.compare_at_price?o.compare_at_price/100:o.compare_at_price,+t.mID===o.id&&(t.effectivePrice.value=n.price.d));}),kr$1.set(r.mID,r),r};var tt=r=>{let e=r instanceof mt$3?r.selectedOrFirstVariant.value.mID:r.vID,t=r instanceof mt$3?r.selectedOrFirstVariant.value.name:r.vName;return {product_id:r.mID,product_name:r.name,variant_id:e,variant_name:t}};var Nr=(function(r){return r.NONE=``,r.SHOPIFY=`shopify`,r.THIRD_PARTY=`third_party`,r})(Nr||{});function eo(r,e,t){let n=D$1.get();if(r===he$3.OPEN_CART||e===ae$4.CART_DRAWER){n.open(),t&&n.refreshUI(t);return}if(r===he$3.INITIATE_CHECKOUT){li();return}if(e===ae$4.CART_PAGE){location.href=`/cart`;return}if(e===ae$4.SHOPIFY_CHECKOUT){location.href=`/checkout`;return}if(e===ae$4.THIRD_PARTY_CHECKOUT){to(`/cart#initiate-checkout=1`);return}t&&n.refreshUI(t);}function li(){he$4.get().checkoutProvider===Nr.THIRD_PARTY?to(`/cart#initiate-checkout=1`):location.href=`/checkout`;}function to(r){window.triggerGokwikCustomCheckout?window.triggerGokwikCustomCheckout():window.shiprocketCheckoutEvents?.buyCart?window.shiprocketCheckoutEvents.buyCart():window.openCheckout?window.openCheckout():window.handleFloCheckoutBtn?window.handleFloCheckoutBtn():window.openRzpCheckout?window.openRzpCheckout():location.href=r;}var go=x$4(St$3());var Ur=class{origin;path;qs;name;referrer;utmSource;utmMedium;utmCampaign;utmId;utmTerm;utmContent;themeId;themeName;templateSuffix;pageType;constructor(e){this.name=e.name,this.pageType=e.pageType??e.name,this.path=e.path,this.qs=e.qs,this.referrer=e.referrer,this.utmSource=e.utmSource||e.utm_source,this.utmMedium=e.utmMedium||e.utm_medium,this.utmCampaign=e.utmCampaign||e.utm_campaign,this.utmId=e.utmId||e.utm_id,this.utmTerm=e.utmTerm||e.utm_term,this.utmContent=e.utmContent||e.utm_content,this.themeId=e.themeId,this.themeName=e.themeName,this.templateSuffix=e.templateSuffix;}};function or$1(){let r$2$1=Ue$1(),e=location.pathname===`/`?location.pathname:location.pathname.replace(/\/+$/,``);return new Ur(r$2({origin:location.origin,path:e,qs:location.search,referrer:Ye$1(),name:r$2$1.pageName,pageType:r$2$1.pageName,templateSuffix:r$2$1.template.suffix,themeId:window.Shopify.theme.id+``,themeName:window.Shopify.theme.name},Je$2()))}function _m(){let r=Ue$1(),e=new URLSearchParams(location.search),t=e.get(`cooee-preview`),n=e.get(`cooee-exp-preview`);if(t){let i=t.split(`,`).map(s=>s.trim()).filter(s=>Number.isInteger(+s));i.length&&(r.previewIDs=i);}if(n){let i=n.split(`,`).map(s=>s.trim()).filter(s=>Number.isInteger(+s));i.length&&(r.previewIDs??=[],r.previewIDs.push(...i),r.activeExperiments=true);}let o=e.get(`cooee-variant`)?.trim();o&&(r.previewVariant=o);}function ir$1(){let r$3=Ue$1();return s$3(r$2(s$3(r$2({},r$3.customContext),{page:or$1(),locale:r$3.locale,currentItem:r$3.currentItem,previewIDs:r$3.previewIDs,previewVariant:r$3.previewVariant,engagementIDs:pi(),cart:xr$1()}),mi()),{host:window.location.host})}function mi(){let r=window.CooeeSDK.uaParser.getResult();return {os:r.os,device:r.device,browser:r.browser}}function pi(){let r=document.querySelectorAll(`.letscooee-engagement`),e=[];return r.forEach(t=>{let n=t.dataset.engagementId;n&&+n&&e.push(n);}),e}var di=`keepalive`in new Request(``),Mr=new Headers,sr={type:Xr$4,code:Jr$3,version:Q$3,shopName:Fn()??``};hi$1();async function rt(){let[r$4]=await Promise.all([co()]);return r$2(r$2({},ir$1()),r$4)}function ro(r){le$2(z$2).then(()=>gi$1(r??{})).catch(e=>Y$2.error(`Session not established, skipping updateProfile`,e));}function gi$1(r){so(`/v1/user/update`,r).then(()=>{Y$2.verbose(`Updated user profile`);}).catch(e=>{Y$2.error(`Error saving user profile`,e);});}function no(r){return ie$1(`/v1/event/generate-discount`,r)}function Jm(r){le$2(z$2).then(()=>ui({props:r})).catch(e=>Y$2.error(`Session not established, skipping updateDeviceProps`,e));}function ui(r){so(`/v1/device/update`,r).then(()=>{Y$2.verbose(`Updated device properties`);}).catch(async e=>{Y$2.error(`Error saving device property`,e);});}function oo(r){r&&(sr.deviceId=r);}function io(r){r&&(sr.firstSeen=r.toUTCString());}function ie$1(r,e){return ao(`POST`,r,e)}function so(r,e){return ao(`PUT`,r,e)}async function ao(r$5,e,t){if(!Qe())return Y$2.log(`Rejecting ${r$5} ${e} as this is not e-commerce app`),Promise.reject();e.startsWith(`http`)||(e.includes(`/event/track`)?e=(window.CooeeSDK.apiURLs?.eventURL||fe$4.apiURL)+e:e=(window.CooeeSDK.apiURLs?.baseURL||fe$4.cdnApiURL)+e);let n=t?s$3(r$2({},t),{sdkMeta:sr}):void 0;if(n&&(n.visitorId=ce$4.getVisitorId()),n&&!di&&e.includes(Fr))return fi(e,Mr,n);let o={method:r$5,headers:Mr,keepalive:false};return n&&(o.body=JSON.stringify(n)),dn(e,o)}function fi(r,e,t){return new Promise((n,o)=>{let i=new XMLHttpRequest;i.open(`POST`,r,true),e.forEach((s,c)=>{i.setRequestHeader(c,s);}),i.onreadystatechange=()=>{if(i.readyState===XMLHttpRequest.DONE)if(i.status>=200&&i.status<300)try{if(i.getResponseHeader(`Content-Type`)?.includes(`application/json`))n({data:JSON.parse(i.responseText),headers:e,request:i,status:i.status,statusText:i.statusText});else o(new Error(`Content-Type of response header is not json`));}catch(s){o(s);}else o(new Error(`Received status - ${i.status}(${i.statusText})`));},i.onerror=()=>{o(new Error(`Network error occurred during the request.`));},i.send(JSON.stringify(t));})}function hi$1(){Mr.set(`Content-Type`,`text/plain; charset=utf-8`);let r=localStorage.getItem(`cooeeDebugTill`);(r&&new Date(+r)>new Date)&&(sr.debug=true);}var Ci$1=`
|
|
52
52
|
mutation cartDiscountCodesUpdate($cartId: ID!, $discountCodes: [String!]!) {
|
|
53
53
|
cartDiscountCodesUpdate(cartId: $cartId, discountCodes: $discountCodes) {
|
|
54
54
|
cart {
|
|
@@ -60,7 +60,7 @@ mutation cartDiscountCodesUpdate($cartId: ID!, $discountCodes: [String!]!) {
|
|
|
60
60
|
}
|
|
61
61
|
}
|
|
62
62
|
}
|
|
63
|
-
`,Ie$1=class Ie{static applyDiscountUsingRedirect(e,t,n,o){let i=`${location.origin}/discount/${e}`;if(Y$2.log(`Applying discount code ${e}`,t,n),t===ae$4.CART_PAGE){location.href=`${i}?redirect=/cart`;return}if(t===ae$4.CART_DRAWER||o===he$3.OPEN_CART){location.href=`${i}?redirect=${location.pathname}#open-cart-drawer=1`;return}if(t===ae$4.SHOPIFY_CHECKOUT){location.href=`${i}?redirect=/checkout`;return}if(t===ae$4.THIRD_PARTY_CHECKOUT||o===he$3.INITIATE_CHECKOUT){location.href=`${i}?redirect=/cart#initiate-checkout=1`;return}location.href=`${i}?redirect=${n||location.pathname}`;}static async applyWithStorefront(e){let t={cartId:`gid://shopify/Cart/${h.getCurrent().token}`,discountCodes:e};Y$2.verbose(`Applying ${e.length} coupons on cart`),await Ge$1(Ci$1,t,`storefront-apply-discount`);}};var
|
|
63
|
+
`,Ie$1=class Ie{static applyDiscountUsingRedirect(e,t,n,o){let i=`${location.origin}/discount/${e}`;if(Y$2.log(`Applying discount code ${e}`,t,n),t===ae$4.CART_PAGE){location.href=`${i}?redirect=/cart`;return}if(t===ae$4.CART_DRAWER||o===he$3.OPEN_CART){location.href=`${i}?redirect=${location.pathname}#open-cart-drawer=1`;return}if(t===ae$4.SHOPIFY_CHECKOUT){location.href=`${i}?redirect=/checkout`;return}if(t===ae$4.THIRD_PARTY_CHECKOUT||o===he$3.INITIATE_CHECKOUT){location.href=`${i}?redirect=/cart#initiate-checkout=1`;return}location.href=`${i}?redirect=${n||location.pathname}`;}static async applyWithStorefront(e){let t={cartId:`gid://shopify/Cart/${h.getCurrent().token}`,discountCodes:e};Y$2.verbose(`Applying ${e.length} coupons on cart`),await Ge$1(Ci$1,t,`storefront-apply-discount`);}};var lo=x$4(Se$4());var yi$1=`
|
|
64
64
|
mutation cartCreate($input: CartInput) {
|
|
65
65
|
cartCreate(input: $input) {
|
|
66
66
|
cart {
|
|
@@ -73,15 +73,15 @@ mutation cartDiscountCodesUpdate($cartId: ID!, $discountCodes: [String!]!) {
|
|
|
73
73
|
}
|
|
74
74
|
}
|
|
75
75
|
}
|
|
76
|
-
`;function lo(r){let e=D$1.get();if(window.cooeeGetCartSections&&typeof window.cooeeGetCartSections==`function`)try{return {sections_url:window.location.pathname,sections:window.cooeeGetCartSections()}}catch(t){Fe$3(t,`execute-cooeeGetCartSections`,{engagementTrigger:r});}else {if(e.isMiniCart())return {sections:[`mini-cart`]};if(e.isShopifyDefaultDrawer())return {sections:e.element.getSectionsToRender?.().map((t=>t.section??t.id))}}return {}}async function Br(r$6,e){if(!pe$4.hasKeys(r$6)){Y$2.warn(`No update fields provided`);return}let t=lo(e),n=r$2(r$2({},r$6),t);try{let o=await be$1(`/cart/update.js`,n);return Y$2.log(`Updated cart`,r$6),h.getCurrent().update(o.data),o.data}catch(o){Fe$3(o,`cart-update`),e.content?.showSnackBar!==false&&Yn$1(`Failed to update item in cart`);}}var ge=class{async addToCart(e,t){if(!e.length)return;let n=e.map(s=>{let{vID:c,vName:p,quantity:u}=this.getVariantDetails(s),d=t.getPrivateAttributesForLineItem();if(pe$4.hasKeys(window.CooeeSDK.customItemProperties)){let S={name:p},g={templateSuffix:s.templateSuffix},v=mo.render(JSON.stringify(window.CooeeSDK.customItemProperties),{variant:S,product:g});d=r$2(r$2({},JSON.parse(v)),d);}let y=s.selectedOrFirstVariant?.value?.selectedSellingPlan?.value;return r$2({id:c?+c:+s.mID,quantity:u,properties:d},y&&{selling_plan:y.mID})}),o=lo(t),i=r$2({items:n},o);try{let s=await be$1(`/cart/add.js`,i);return Y$2.log(`Added ${e.length} items to Cart`),t.content?.showSnackBar!==!1&&Yn$1(`Product added to your cart`),s.data}catch(s){Fe$3(s,`cart-item-add`,{engagementTrigger:t});let c=[`Failed to add product in cart.`];if(s instanceof ne$3&&s.is40x()&&s.responseText){let p=s.responseText;p.description&&c.push(`Reason: ${p.description}`);}c.push(`Please try again later.`),t.content?.showSnackBar!==false&&Yn$1(c.join(` `));}}async copyDiscountCode(e){if(e)try{await navigator.clipboard.writeText(e),Y$2.log(`Code-${e} copied`),Yn$1(`Discount code copied`);}catch(t){Y$2.error(`Failed to copy code`,t);}}getProductURL(e){if(!e?.link)return;let t=Bn(e.link);if(t)return $e$1(`/products/`+t)}async upgradeToSubscription(e,t){if(!e){Y$2.warn(`Trying to upgrade to subscription with no item`);return}let n=await h.getCurrent().getNormalisedCart(),o=e.selectedOrFirstVariant.value,i=n.items.findIndex(p=>p.vID===o.mID),s=o.selectedSellingPlan.value,c={line:i+1,selling_plan:s?.mID||null,properties:t.getPrivateAttributesForLineItem()};try{let p=await be$1(`/cart/change.js`,c);return Y$2.log(`Upgraded ${e} selling plan`),Yn$1(`Line item updated`),h.getCurrent().update(p.data),p.data}catch(p){Fe$3(p,`cart-switch-subscription`,{engagementTrigger:t}),Yn$1(`Failed to update subscription`);}}async createNewCart(e,t,n){if(!e?.vID){Y$2.error(`No variant ID found to perform Buy now`,e);return}let o=t?[t]:[];return (await Ge$1(yi$1,{input:{lines:[{merchandiseId:`gid://shopify/ProductVariant/${e.vID}`,quantity:1,attributes:n.getKVFormatPrivateAttributesForLineItem()}],discountCodes:o,attributes:await zn$1(`Buy Now`)}},`storefront-create-cart`)).data.data?.cartCreate?.cart?.checkoutUrl}async process(e){let t=e.clickAction,n=e.items,o=e.triggerData,i;if(t.at){let s=t;Y$2.log(`Performing ${JSON.stringify(s)} action`);let c={};if(s.at===he$3.GO_TO_PRODUCT)i=this.getProductURL(n[0]);else if(s.at===he$3.ADD_TO_CART)n?.length&&await this.addToCart(n,o);else if(s.at===he$3.COPY_COUPON_CODE)await this.copyDiscountCode(o.discount?.code),c.discountCode=o.discount?.code;else if(s.at===he$3.OPEN_CART)D$1.get().open();else if(s.at===he$3.GO_TO_COLLECTION){let p=e.collections;if(!p?.length)return;i=$e$1(`/collections/`+p[0].handle);}c.products=n.map(tt),c.redirectTo=i,nt(s.at,c);}t.applyDiscount&&o.discount?.code?Ie$1.applyDiscountUsingRedirect(o.discount.code,o.redirectBehaviour,i):i&&(location.pathname=i);}getVariantDetails(e){let t,n,o;if(e instanceof at$2)t=e.vID,n=e.vName,o=e.quantity??1;else {if(!e.vars?.length)return {};t=e.selectedOrFirstVariant.value.mID,n=e.selectedOrFirstVariant.value.name,o=e.selectedQty.value;}return {vID:t,quantity:o,vName:n}}};async function po(r$7,e){if(!pe$4.hasKeys(e)){Y$2.warn(`No update fields provided`);return}let t=r$2({id:r$7.key},e);try{let n=await be$1(`/cart/change.js`,t);Y$2.log(`Updated line-item`,r$7),h.getCurrent().update(n.data);}catch(n){Fe$3(n,`cart-item-update`);}}var je$1=class je{constructor(e){this.triggerContext=e;}async execute(e){let t=Ue$1().currentItem,n=e.clickAction;if(!n)return;let o=e.item,i=this.triggerContext,s=new ge,c=i.triggerData.redirectBehaviour,p=!!i.triggerData.discount?.type&&!!n?.applyDiscount,u={selectedVariants:i.triggerData.nonMutableItems.map(f=>({itemMID:f.mID,mID:f.selectedOrFirstVariant.value.mID,variantID:f.selectedOrFirstVariant.value.mID})),eID:i.triggerData.engagementID,cID:i.triggerData.contentID},d=``,y=[],S=[];if(o?S=[o.toEmbed()]:e.embeddedItem&&(S=[e.embeddedItem]),n.at===he$3.ADD_BUNDLE){let f=i.selectedItems;if(S=e.embeddedItems??f.map(L=>L.toEmbed()),i.shouldGiveFBTDiscount||e.embeddedItems?.length){let L;e.embeddedItems?L=e.embeddedItems.map(R=>({itemMID:R.mID,mID:R.vID,variantID:R.vID,quantity:R.quantity})):L=f.map(R=>({itemMID:R.mID,mID:R.selectedOrFirstVariant.value.mID,variantID:R.selectedOrFirstVariant.value.mID}));let he=i.triggerData.bundleFrom;i.triggerData.isBundleOnCartDrawer()&&he&&(L.push({itemMID:he.mID,mID:he.selectedOrFirstVariant.value.mID,isPrimary:true}),S.unshift(he.toEmbed())),u.selectedVariants=L,i.triggerData.isBundleOnPDP()&&u.selectedVariants.forEach(R=>{R.mID===t.vID&&(R.isPrimary=true);});}else u=void 0;y=e.embeddedItems??f;}else if(n.at===he$3.INITIATE_CHECKOUT){let f=await h.getCurrent().getNormalisedCart();S=f.items,u.selectedVariants=f.items.map(L=>({itemMID:L.mID,mID:L.vID}));}else if(n.at===he$3.ADD_TO_CART)y=o?[o]:[e.embeddedItem];else if(n.at===he$3.QUICK_VIEW){window.cooeeShowQuickItem(this.triggerContext,o),this.sendTriggerClicked(S,{from:`button`},e.video);return}else if(n.at===he$3.GO_TO_PRODUCT)d=o?$e$1(`/products/`+o.slug):e.embeddedItem?.link;else if(n.at===he$3.GO_TO_URL){let f=Un(n.gu?.u);window.CooeeSDK.allowExternalURL?f&&(d=f.href):f&&(d=f.pathname+f.search+f.hash);}else if(n.at===he$3.UPGRADE_TO_SUBSCRIPTION){let f=await s.upgradeToSubscription(o,i.triggerData);this.triggerContext.triggerData.content?.subsUpgradeConfig?.skipSubscribedItems&&this.triggerContext.renderer.destroy(),D$1.get().refreshUI(f);}else if(n.at===he$3.GO_TO_COLLECTION){let f=this.triggerContext.triggerData.collections?.[0];f&&(d=`/collections/`+f.handle);}if(this.sendTriggerClicked(S,{from:`button`},e.video),Y$2.verbose({redirectPath:d,afterAtcAction:c,hasDiscount:p}),!p&&d){nt(n.at,{redirectTo:d}),location.href=d;return}let g,v=false;try{g=await this.getOrGenerateDiscountCode(u),Y$2.verbose(`Discount code (if any) to apply`,g);}catch(f){if(!this.triggerContext.triggerData.isBYOB()){go.default.error(`Unable to get a discount code`,f);return}}if(g&&n.at===he$3.COPY_COUPON_CODE)await s.copyDiscountCode(g);else if(n.at===he$3.BUY_NOW){let f=await s.createNewCart(t,g,i.triggerData);f&&(nt(n.at,{products:[tt(t)],redirectTo:f}),location.href=f);return}try{g&&await Ie$1.applyWithStorefront([g]);}catch(f){Y$2.error(f),v=true;}let b;if(y?.length&&(b=await s.addToCart(y,i.triggerData)),nt(n.at,{products:y.map(tt),redirectTo:d,discountCode:g}),v&&g){Ie$1.applyDiscountUsingRedirect(g,c,d,n.at);return}if(d){location.href=d;return}eo(n.at,c,b);}sendTriggerClicked(e,t,n){let o=new Ir$2(`CE Trigger Clicked`,t,this.triggerContext.triggerData);o.items=e,o.setVideos(n),X(o);}async getOrGenerateDiscountCode(e){let t=this.triggerContext.triggerData.discount;if(!t?.type)return;let n=``;if(t.type===q.STATIC){if(!t.code)throw En$1(`No discount code found`,`warning`,{triggerContext:this.triggerContext}),new Error(`No discount code found`);return t.code}if(e){if(n=await vi$1(e,this.triggerContext),!n)throw Y$2.error(`No discount code found`,e),new Error(`Discount code not found or generated`);return n}}};function nt(r$8,e){document.dispatchEvent(new CustomEvent(`letscooee:outbound:cta-executed`,{detail:r$2({action:he$3[r$8]},e)}));}async function vi$1(r,e){try{return (await no(r)).data.code}catch(t){throw Yn$1(`Failed to generate a discount code`),Fe$3(t,`backend-generate-discount`,{triggerContext:e}),t}}var w$1=class w extends D$2{mediaStyle={};deviceTypeKey;clickExecutor;componentWillMount(){this.deviceTypeKey=M$3()?`sm`:`lg`,this.clickExecutor=new je$1(this.props.triggerContext);}getCompiledStyles(){return this.putStyleAccordingToDevice(),r$2(r$2(s$3(r$2(r$2(r$2(r$2(r$2(r$2({},En(this.mediaStyle.flex)),On(this.mediaStyle.bg)),Nn$1(this.mediaStyle.br)),gn(this.mediaStyle.size)),Sn(this.mediaStyle.spc)),vn(this.mediaStyle.lout)),{boxSizing:`border-box`,outline:`none`}),this.getComponentStyles()),this.props.style)}matchWhenCondition(e){if(!e?.op)return true;let{lhs:t,rhs:n}=e;switch(e.op){case `eq`:return t===n;case `gt`:return +t>+n;case `gte`:return +t>=+n;case `lt`:return +t<+n;case `lte`:return +t<=+n;case `ne`:return t!==n;case `null`:return t==null;case `empty`:return t.trim()===``;case `in`:return new RegExp(`\\b${n}\\b`).test(t);case `nin`:return !new RegExp(`\\b${n}\\b`).test(t);default:return Y$2.error(`Invalid operator found for when condition - ${e.op}`),false}}getClasses(e){return this.props.element.classes?(e??=``,e+` `+this.props.element.classes):e??``}putStyleAccordingToDevice(){let e=this.props.element;this.mediaStyle=e.style.lg,M$3()&&e.style.sm&&Object.keys(e.style.sm).length&&(this.mediaStyle=r$2(r$2({},this.mediaStyle),e.style.sm));}sendTriggerClicked(e,t){this.clickExecutor.sendTriggerClicked(e,t);}async onClick(e,t){e.stopPropagation(),t.clickAction||(t.clickAction=this.props.element.clc),t.clickAction?.at&&await this.clickExecutor.execute(t);}};var Ei$1=0;function m$1(r,e,t,n,o,i){e||(e={});var s,c,p=e;if(`ref`in p)for(c in p={},e)c==`ref`?s=e[c]:p[c]=e[c];var u={type:r,props:p,key:t,ref:s,__k:null,__:null,__b:0,__e:null,__c:null,constructor:void 0,__v:--Ei$1,__i:-1,__u:0,__source:o,__self:i};if(typeof r==`function`&&(s=r.defaultProps))for(c in s)p[c]===void 0&&(p[c]=s[c]);return d$1.vnode&&d$1.vnode(u),u}var V$1=class V extends w$1{componentDidMount(){this.setState(()=>({text:this.props.element.text})),Z$1(this.onChange.bind(this));}componentWillReceiveProps(e){this.props.element=e.element,this.onChange();}render(){let e=this.getCompiledStyles(),t=this.state.text;return t||(e.display=`none`,t=``),m$1(`div`,{style:e,onClick:this.customOnClick.bind(this),className:this.getClasses(`lc-text`),children:m$1(`span`,{style:this.getSpanStyle(),dangerouslySetInnerHTML:{__html:t}})})}customOnClick(){this.props.onClick&&this.props.onClick(`title`);}onChange(){if(this.props.element.text==null)return;let e=this.props.triggerContext.triggerData,t={bundle:e.discountData.value,customer:e.customerData,cart:e.getCartMagicVariables()},o=new Rt$3(We$3(this.props.element,t,this.props.triggerContext));if(!this.matchWhenCondition(o.when)){this.setState(()=>({text:``}));return}this.setState(()=>({text:o.text}));}getComponentStyles(){return r$2({},In(this.mediaStyle.typo))}getSpanStyle(){return {overflow:`hidden`,display:`-webkit-box`,webkitBoxOrient:`vertical`,webkitLineClamp:2,color:`inherit`,fontSize:`inherit`,fontWeight:`inherit`,fontFamily:`inherit`}}};var Se$1=class Se extends V$1{render(){let e=this.props.element?.clc,t=e?.at?`lc-button-at-${e.at}`:``;return m$1(`div`,{style:this.getCompiledStyles(),className:this.getClasses(`lc-button `+t),onClick:n=>this.onClick(n,{item:this.props.item}),children:m$1(`span`,{style:this.getSpanStyle(),dangerouslySetInnerHTML:{__html:this.state.text}})})}getComponentStyles(){return s$3(r$2({},super.getComponentStyles()),{cursor:`pointer`})}};var Vr=class extends D$2{render(){if(this.props.element.show[this.props.label.toLowerCase()])return this.props.element.lblPos===`end`?m$1(`div`,{style:r$2(r$2({},this.getElementStyle()),this.props.styles),children:[m$1(`span`,{children:this.props.time}),m$1(`span`,{style:this.getTimeLabelStyle(),children:this.props.label})]}):m$1(`div`,{style:r$2(r$2({},this.getElementStyle()),this.props.styles),children:[m$1(`span`,{style:this.getTimeLabelStyle(),children:this.props.label}),m$1(`span`,{children:this.props.time})]})}getDesign(){}getTimeLabelStyle(){return {fontSize:`0.5em`,alignContent:`center`}}getElementStyle(){let e={display:`flex`,flexDirection:`column`,placeContent:`center center`,textAlign:`center`};return this.props.element.horizontal&&(e.gridTemplateColumns=`repeat(2, minmax(0, 1fr))`),e}},ot=class extends V$1{labels={Days:`00`,Hours:`00`,Minutes:`00`,Seconds:`00`};componentWillMount(){super.componentWillMount(),this.setState(()=>r$2({},this.labels)),this.processAndStartTimer();}render(){return m$1(`div`,{style:this.getLabelsParentStyle(),className:this.getClasses(),children:Object.keys(this.labels).map(e=>m$1(Vr,{styles:this.getCompiledStyles(),label:e,time:this.state[e],element:this.props.element}))})}getLabelsParentStyle(){return {display:`grid`,justifyContent:`center`,gridTemplateColumns:`repeat(4, auto)`,gap:A$2(this.props.element.gap)}}getDisplayStyles(){return {display:`grid`,placeContent:`center center`}}getComponentStyles(){return r$2(r$2({},super.getComponentStyles()),this.getDisplayStyles())}processAndStartTimer(){this.props.element.timer.start(this.props.element.timerType,e=>{this.labels.Days=String(e.days).padStart(2,`0`),this.labels.Hours=String(e.hours).padStart(2,`0`),this.labels.Minutes=String(e.minutes).padStart(2,`0`),this.labels.Seconds=String(e.seconds).padStart(2,`0`),this.setState(()=>r$2({},this.labels));});}};function ar$1(r,e){if(!r)return;let t={loop:e.loop,slidesPerView:e.maxInRow,spaceBetween:e.gap+`px`,pagination:{type:e.pagination.type,el:r.querySelector(`.swiper-pagination`),clickable:true,renderBullet:(o,i)=>`
|
|
76
|
+
`;function mo(r){let e=D$1.get();if(window.cooeeGetCartSections&&typeof window.cooeeGetCartSections==`function`)try{return {sections_url:window.location.pathname,sections:window.cooeeGetCartSections()}}catch(t){Fe$3(t,`execute-cooeeGetCartSections`,{engagementTrigger:r});}else {if(e.isMiniCart())return {sections:[`mini-cart`]};if(e.isShopifyDefaultDrawer())return {sections:e.element.getSectionsToRender?.().map((t=>t.section??t.id))}}return {}}async function Br(r$6,e){if(!pe$4.hasKeys(r$6)){Y$2.warn(`No update fields provided`);return}let t=mo(e),n=r$2(r$2({},r$6),t);try{let o=await be$1(`/cart/update.js`,n);return Y$2.log(`Updated cart`,r$6),h.getCurrent().update(o.data),o.data}catch(o){Fe$3(o,`cart-update`),e.content?.showSnackBar!==false&&Yn$1(`Failed to update item in cart`);}}var ge=class{async addToCart(e,t){if(!e.length)return;let n=e.map(s=>{let{vID:c,vName:p,quantity:u}=this.getVariantDetails(s),d=t.getPrivateAttributesForLineItem();if(pe$4.hasKeys(window.CooeeSDK.customItemProperties)){let S={name:p},g={templateSuffix:s.templateSuffix},v=lo.render(JSON.stringify(window.CooeeSDK.customItemProperties),{variant:S,product:g});d=r$2(r$2({},JSON.parse(v)),d);}let y=s.selectedOrFirstVariant?.value?.selectedSellingPlan?.value;return r$2({id:c?+c:+s.mID,quantity:u,properties:d},y&&{selling_plan:y.mID})}),o=mo(t),i=r$2({items:n},o);try{let s=await be$1(`/cart/add.js`,i);return Y$2.log(`Added ${e.length} items to Cart`),t.content?.showSnackBar!==!1&&Yn$1(`Product added to your cart`),s.data}catch(s){Fe$3(s,`cart-item-add`,{engagementTrigger:t});let c=[`Failed to add product in cart.`];if(s instanceof ne$3&&s.is40x()&&s.responseText){let p=s.responseText;p.description&&c.push(`Reason: ${p.description}`);}c.push(`Please try again later.`),t.content?.showSnackBar!==false&&Yn$1(c.join(` `));}}async copyDiscountCode(e){if(e)try{await navigator.clipboard.writeText(e),Y$2.log(`Code-${e} copied`),Yn$1(`Discount code copied`);}catch(t){Y$2.error(`Failed to copy code`,t);}}getProductURL(e){if(!e?.link)return;let t=Bn(e.link);if(t)return $e$1(`/products/`+t)}async upgradeToSubscription(e,t){if(!e){Y$2.warn(`Trying to upgrade to subscription with no item`);return}let n=await h.getCurrent().getNormalisedCart(),o=e.selectedOrFirstVariant.value,i=n.items.findIndex(p=>p.vID===o.mID),s=o.selectedSellingPlan.value,c={line:i+1,selling_plan:s?.mID||null,properties:t.getPrivateAttributesForLineItem()};try{let p=await be$1(`/cart/change.js`,c);return Y$2.log(`Upgraded ${e} selling plan`),Yn$1(`Line item updated`),h.getCurrent().update(p.data),p.data}catch(p){Fe$3(p,`cart-switch-subscription`,{engagementTrigger:t}),Yn$1(`Failed to update subscription`);}}async createNewCart(e,t,n){if(!e?.vID){Y$2.error(`No variant ID found to perform Buy now`,e);return}let o=t?[t]:[];return (await Ge$1(yi$1,{input:{lines:[{merchandiseId:`gid://shopify/ProductVariant/${e.vID}`,quantity:1,attributes:n.getKVFormatPrivateAttributesForLineItem()}],discountCodes:o,attributes:await zn$1(`Buy Now`)}},`storefront-create-cart`)).data.data?.cartCreate?.cart?.checkoutUrl}async process(e){let t=e.clickAction,n=e.items,o=e.triggerData,i;if(t.at){let s=t;Y$2.log(`Performing ${JSON.stringify(s)} action`);let c={};if(s.at===he$3.GO_TO_PRODUCT)i=this.getProductURL(n[0]);else if(s.at===he$3.ADD_TO_CART)n?.length&&await this.addToCart(n,o);else if(s.at===he$3.COPY_COUPON_CODE)await this.copyDiscountCode(o.discount?.code),c.discountCode=o.discount?.code;else if(s.at===he$3.OPEN_CART)D$1.get().open();else if(s.at===he$3.GO_TO_COLLECTION){let p=e.collections;if(!p?.length)return;i=$e$1(`/collections/`+p[0].handle);}c.products=n.map(tt),c.redirectTo=i,nt(s.at,c);}t.applyDiscount&&o.discount?.code?Ie$1.applyDiscountUsingRedirect(o.discount.code,o.redirectBehaviour,i):i&&(location.pathname=i);}getVariantDetails(e){let t,n,o;if(e instanceof at$2)t=e.vID,n=e.vName,o=e.quantity??1;else {if(!e.vars?.length)return {};t=e.selectedOrFirstVariant.value.mID,n=e.selectedOrFirstVariant.value.name,o=e.selectedQty.value;}return {vID:t,quantity:o,vName:n}}};async function po(r$7,e){if(!pe$4.hasKeys(e)){Y$2.warn(`No update fields provided`);return}let t=r$2({id:r$7.key},e);try{let n=await be$1(`/cart/change.js`,t);Y$2.log(`Updated line-item`,r$7),h.getCurrent().update(n.data);}catch(n){Fe$3(n,`cart-item-update`);}}var je$1=class je{constructor(e){this.triggerContext=e;}async execute(e){let t=Ue$1().currentItem,n=e.clickAction;if(!n)return;let o=e.item,i=this.triggerContext,s=new ge,c=i.triggerData.redirectBehaviour,p=!!i.triggerData.discount?.type&&!!n?.applyDiscount,u={selectedVariants:i.triggerData.nonMutableItems.map(f=>({itemMID:f.mID,mID:f.selectedOrFirstVariant.value.mID,variantID:f.selectedOrFirstVariant.value.mID})),eID:i.triggerData.engagementID,cID:i.triggerData.contentID},d=``,y=[],S=[];if(o?S=[o.toEmbed()]:e.embeddedItem&&(S=[e.embeddedItem]),n.at===he$3.ADD_BUNDLE){let f=i.selectedItems;if(S=e.embeddedItems??f.map(k=>k.toEmbed()),i.shouldGiveFBTDiscount||e.embeddedItems?.length){let k;e.embeddedItems?k=e.embeddedItems.map(R=>({itemMID:R.mID,mID:R.vID,variantID:R.vID,quantity:R.quantity})):k=f.map(R=>({itemMID:R.mID,mID:R.selectedOrFirstVariant.value.mID,variantID:R.selectedOrFirstVariant.value.mID}));let he=i.triggerData.bundleFrom;i.triggerData.isBundleOnCartDrawer()&&he&&(k.push({itemMID:he.mID,mID:he.selectedOrFirstVariant.value.mID,isPrimary:true}),S.unshift(he.toEmbed())),u.selectedVariants=k,i.triggerData.isBundleOnPDP()&&u.selectedVariants.forEach(R=>{R.mID===t.vID&&(R.isPrimary=true);});}else u=void 0;y=e.embeddedItems??f;}else if(n.at===he$3.INITIATE_CHECKOUT){let f=await h.getCurrent().getNormalisedCart();S=f.items,u.selectedVariants=f.items.map(k=>({itemMID:k.mID,mID:k.vID}));}else if(n.at===he$3.ADD_TO_CART)y=o?[o]:[e.embeddedItem];else if(n.at===he$3.QUICK_VIEW){window.cooeeShowQuickItem(this.triggerContext,o),this.sendTriggerClicked(S,{from:`button`},e.video);return}else if(n.at===he$3.GO_TO_PRODUCT)d=o?$e$1(`/products/`+o.slug):e.embeddedItem?.link;else if(n.at===he$3.GO_TO_URL){let f=Un(n.gu?.u);window.CooeeSDK.allowExternalURL?f&&(d=f.href):f&&(d=f.pathname+f.search+f.hash);}else if(n.at===he$3.UPGRADE_TO_SUBSCRIPTION){let f=await s.upgradeToSubscription(o,i.triggerData);this.triggerContext.triggerData.content?.subsUpgradeConfig?.skipSubscribedItems&&this.triggerContext.renderer.destroy(),D$1.get().refreshUI(f);}else if(n.at===he$3.GO_TO_COLLECTION){let f=this.triggerContext.triggerData.collections?.[0];f&&(d=`/collections/`+f.handle);}if(this.sendTriggerClicked(S,{from:`button`},e.video),Y$2.verbose({redirectPath:d,afterAtcAction:c,hasDiscount:p}),!p&&d){nt(n.at,{redirectTo:d}),location.href=d;return}let g,v=false;try{g=await this.getOrGenerateDiscountCode(u),Y$2.verbose(`Discount code (if any) to apply`,g);}catch(f){if(!this.triggerContext.triggerData.isBYOB()){go.default.error(`Unable to get a discount code`,f);return}}if(g&&n.at===he$3.COPY_COUPON_CODE)await s.copyDiscountCode(g);else if(n.at===he$3.BUY_NOW){let f=await s.createNewCart(t,g,i.triggerData);f&&(nt(n.at,{products:[tt(t)],redirectTo:f}),location.href=f);return}try{g&&await Ie$1.applyWithStorefront([g]);}catch(f){Y$2.error(f),v=true;}let b;if(y?.length&&(b=await s.addToCart(y,i.triggerData)),nt(n.at,{products:y.map(tt),redirectTo:d,discountCode:g}),v&&g){Ie$1.applyDiscountUsingRedirect(g,c,d,n.at);return}if(d){location.href=d;return}eo(n.at,c,b);}sendTriggerClicked(e,t,n){let o=new Ir$2(`CE Trigger Clicked`,t,this.triggerContext.triggerData);o.items=e,o.setVideos(n),X(o);}async getOrGenerateDiscountCode(e){let t=this.triggerContext.triggerData.discount;if(!t?.type)return;let n=``;if(t.type===q.STATIC){if(!t.code)throw En$1(`No discount code found`,`warning`,{triggerContext:this.triggerContext}),new Error(`No discount code found`);return t.code}if(e){if(n=await vi$1(e,this.triggerContext),!n)throw Y$2.error(`No discount code found`,e),new Error(`Discount code not found or generated`);return n}}};function nt(r$8,e){document.dispatchEvent(new CustomEvent(`letscooee:outbound:cta-executed`,{detail:r$2({action:he$3[r$8]},e)}));}async function vi$1(r,e){try{return (await no(r)).data.code}catch(t){throw Yn$1(`Failed to generate a discount code`),Fe$3(t,`backend-generate-discount`,{triggerContext:e}),t}}var w$1=class w extends D$2{mediaStyle={};deviceTypeKey;clickExecutor;componentWillMount(){this.deviceTypeKey=M$3()?`sm`:`lg`,this.clickExecutor=new je$1(this.props.triggerContext);}getCompiledStyles(){return this.putStyleAccordingToDevice(),r$2(r$2(s$3(r$2(r$2(r$2(r$2(r$2(r$2({},En(this.mediaStyle.flex)),Sn(this.mediaStyle.bg)),Nn$1(this.mediaStyle.br)),gn(this.mediaStyle.size)),On(this.mediaStyle.spc)),vn(this.mediaStyle.lout)),{boxSizing:`border-box`,outline:`none`}),this.getComponentStyles()),this.props.style)}matchWhenCondition(e){if(!e?.op)return true;let{lhs:t,rhs:n}=e;switch(e.op){case `eq`:return t===n;case `gt`:return +t>+n;case `gte`:return +t>=+n;case `lt`:return +t<+n;case `lte`:return +t<=+n;case `ne`:return t!==n;case `null`:return t==null;case `empty`:return t.trim()===``;case `in`:return new RegExp(`\\b${n}\\b`).test(t);case `nin`:return !new RegExp(`\\b${n}\\b`).test(t);default:return Y$2.error(`Invalid operator found for when condition - ${e.op}`),false}}getClasses(e){return this.props.element.classes?(e??=``,e+` `+this.props.element.classes):e??``}putStyleAccordingToDevice(){let e=this.props.element;this.mediaStyle=e.style.lg,M$3()&&e.style.sm&&Object.keys(e.style.sm).length&&(this.mediaStyle=r$2(r$2({},this.mediaStyle),e.style.sm));}sendTriggerClicked(e,t){this.clickExecutor.sendTriggerClicked(e,t);}async onClick(e,t){e.stopPropagation(),t.clickAction||(t.clickAction=this.props.element.clc),t.clickAction?.at&&await this.clickExecutor.execute(t);}};var Ei$1=0;function l$2(r,e,t,n,o,i){e||(e={});var s,c,p=e;if(`ref`in p)for(c in p={},e)c==`ref`?s=e[c]:p[c]=e[c];var u={type:r,props:p,key:t,ref:s,__k:null,__:null,__b:0,__e:null,__c:null,constructor:void 0,__v:--Ei$1,__i:-1,__u:0,__source:o,__self:i};if(typeof r==`function`&&(s=r.defaultProps))for(c in s)p[c]===void 0&&(p[c]=s[c]);return d$1.vnode&&d$1.vnode(u),u}var V$1=class V extends w$1{componentDidMount(){this.setState(()=>({text:this.props.element.text})),Z$1(this.onChange.bind(this));}componentWillReceiveProps(e){this.props.element=e.element,this.onChange();}render(){let e=this.getCompiledStyles(),t=this.state.text;return t||(e.display=`none`,t=``),l$2(`div`,{style:e,onClick:this.customOnClick.bind(this),className:this.getClasses(`lc-text`),children:l$2(`span`,{style:this.getSpanStyle(),dangerouslySetInnerHTML:{__html:t}})})}customOnClick(){this.props.onClick&&this.props.onClick(`title`);}onChange(){if(this.props.element.text==null)return;let e=this.props.triggerContext.triggerData,t={bundle:e.discountData.value,customer:e.customerData,cart:e.getCartMagicVariables()},o=new Rt$3(We$3(this.props.element,t,this.props.triggerContext));if(!this.matchWhenCondition(o.when)){this.setState(()=>({text:``}));return}this.setState(()=>({text:o.text}));}getComponentStyles(){return r$2({},In(this.mediaStyle.typo))}getSpanStyle(){return {overflow:`hidden`,display:`-webkit-box`,webkitBoxOrient:`vertical`,webkitLineClamp:2,color:`inherit`,fontSize:`inherit`,fontWeight:`inherit`,fontFamily:`inherit`}}};var Se$1=class Se extends V$1{render(){let e=this.props.element?.clc,t=e?.at?`lc-button-at-${e.at}`:``;return l$2(`div`,{style:this.getCompiledStyles(),className:this.getClasses(`lc-button `+t),onClick:n=>this.onClick(n,{item:this.props.item}),children:l$2(`span`,{style:this.getSpanStyle(),dangerouslySetInnerHTML:{__html:this.state.text}})})}getComponentStyles(){return s$3(r$2({},super.getComponentStyles()),{cursor:`pointer`})}};var Vr=class extends D$2{render(){if(this.props.element.show[this.props.label.toLowerCase()])return this.props.element.lblPos===`end`?l$2(`div`,{style:r$2(r$2({},this.getElementStyle()),this.props.styles),children:[l$2(`span`,{children:this.props.time}),l$2(`span`,{style:this.getTimeLabelStyle(),children:this.props.label})]}):l$2(`div`,{style:r$2(r$2({},this.getElementStyle()),this.props.styles),children:[l$2(`span`,{style:this.getTimeLabelStyle(),children:this.props.label}),l$2(`span`,{children:this.props.time})]})}getDesign(){}getTimeLabelStyle(){return {fontSize:`0.5em`,alignContent:`center`}}getElementStyle(){let e={display:`flex`,flexDirection:`column`,placeContent:`center center`,textAlign:`center`};return this.props.element.horizontal&&(e.gridTemplateColumns=`repeat(2, minmax(0, 1fr))`),e}},ot=class extends V$1{labels={Days:`00`,Hours:`00`,Minutes:`00`,Seconds:`00`};componentWillMount(){super.componentWillMount(),this.setState(()=>r$2({},this.labels)),this.processAndStartTimer();}render(){return l$2(`div`,{style:this.getLabelsParentStyle(),className:this.getClasses(),children:Object.keys(this.labels).map(e=>l$2(Vr,{styles:this.getCompiledStyles(),label:e,time:this.state[e],element:this.props.element}))})}getLabelsParentStyle(){return {display:`grid`,justifyContent:`center`,gridTemplateColumns:`repeat(4, auto)`,gap:A$2(this.props.element.gap)}}getDisplayStyles(){return {display:`grid`,placeContent:`center center`}}getComponentStyles(){return r$2(r$2({},super.getComponentStyles()),this.getDisplayStyles())}processAndStartTimer(){this.props.element.timer.start(this.props.element.timerType,e=>{this.labels.Days=String(e.days).padStart(2,`0`),this.labels.Hours=String(e.hours).padStart(2,`0`),this.labels.Minutes=String(e.minutes).padStart(2,`0`),this.labels.Seconds=String(e.seconds).padStart(2,`0`),this.setState(()=>r$2({},this.labels));});}};function ar$1(r,e){if(!r)return;let t={loop:e.loop,slidesPerView:e.maxInRow,spaceBetween:e.gap+`px`,pagination:{type:e.pagination.type,el:r.querySelector(`.swiper-pagination`),clickable:true,renderBullet:(o,i)=>`
|
|
77
77
|
<span class="${i}"
|
|
78
78
|
style="background-color: ${e.pagination.color?.rgba};"></span>
|
|
79
79
|
`,renderProgressbar:o=>`
|
|
80
80
|
<span class="${o}"
|
|
81
81
|
style="background-color: ${e.pagination.color?.rgba};">
|
|
82
82
|
</span>
|
|
83
|
-
`},navigation:{nextEl:r.querySelector(`.swiper-button-next`),prevEl:r.querySelector(`.swiper-button-prev`)},autoplay:e.autoplay?.enabled?{delay:e.autoplay?.delay,disableOnInteraction:false,pauseOnMouseEnter:false}:false,autoHeight:true};e.marquee&&t.autoplay&&typeof t.autoplay==`object`&&(t.speed=e.speed,t.autoplay.pauseOnMouseEnter=true,r.style.setProperty(`--swiper-wrapper-transition-timing-function`,`linear`));let n=new window.CooeeSDK.Swiper(r,t);return r.style.setProperty(`--swiper-navigation-size`,`${e.navigation.size}px`),n}function cr$1(r,e,t){let n={color:r.navigation.color?.rgba};return r.pagination.enabled&&(n.transform=`translateY(-25%)`),m$1(`div`,{class:`swiper-container`,ref:e,style:`max-width: 100%`,children:[m$1(`div`,{class:`swiper-wrapper`,children:t()}),r.navigation.enabled&&m$1(`div`,{class:`swiper-button-next`,style:n,children:m$1(`span`,{})}),r.navigation.enabled&&m$1(`div`,{class:`swiper-button-prev`,style:n,children:m$1(`span`,{})}),r.pagination.enabled&&m$1(`div`,{className:`swiper-pagination`,style:{bottom:0,top:`unset`,position:`relative`,color:r.pagination.color?.rgba}})]})}var wd=()=>{let r=window.ShopifyAnalytics?.meta??{},e=r.selectedVariantId;if(e)return e;if(r.product?.variants?.length>0)return r.product.variants[0].id},Wr=r=>{if(!r)return;let e;try{e=new URL(r);}catch{return}if(e.hostname!==`cdn.shopify.com`)return r;let t=e.pathname.split(`.`);return t.length!==2?r:(e.pathname=t[0]+`_large.`+t[1],e.toString())};var it=class extends w$1{componentDidMount(){Z$1(()=>{this.setState(()=>({checked:this.props.item.selected.value}));});}render(){return m$1(`div`,{style:this.getCompiledStyles(),className:this.getClasses(`lc-checkbox`),children:m$1(`input`,{type:`checkbox`,checked:this.state.checked,onChange:this.onChange.bind(this),style:{appearance:`auto`}})})}onChange(e){let{checked:t}=e.target;this.props.item.selected.value=t;}getTypoStyles(){let e={},t=this.mediaStyle.typo??new G$2;return e.textAlign=t.alignment,e.justifyContent=t.alignment,e}getComponentStyles(){return s$3(r$2({},this.getTypoStyles()),{display:`flex`})}};var se$1=class se extends w$1{constructor(e,t){super(e,t);}render(){let e=this.props.element[this.deviceTypeKey],t=e?.src||this.props.element.src||this.props.element.lg?.src;return m$1(`img`,{onClick:this.customOnClick.bind(this),alt:e?.name||`Image`,className:this.getClasses(`lc-image`),onMouseEnter:this.handleMouseEnter.bind(this),onMouseLeave:this.handleMouseLeave.bind(this),src:t,style:this.getCompiledStyles()})}customOnClick(e){this.props.element.clc?.at===he$3.ADD_TO_CART&&this.props.triggerContext.triggerData.items[0]&&this.onClick(e,{item:this.props.triggerContext.triggerData.items[0]}),this.props.onClick&&this.props.onClick(`image`);}getComponentStyles(){let e=this.mediaStyle.lout;if(!e||e.pos!==`absolute`)return {};let t={zIndex:e.zIndex,cursor:this.props.element.clc?.at?`pointer`:`auto`};return this.mediaStyle.size?.w&&(t.width=this.mediaStyle.size.w),this.mediaStyle.size?.h&&(t.height=this.mediaStyle.size.h),t}handleMouseEnter(e){let t=this.props.element[this.deviceTypeKey]?.secondarySrc;t&&(e.currentTarget.src=t);}handleMouseLeave(e){e.currentTarget.src=this.props.element[this.deviceTypeKey]?.src;}};var ae$1=class ae extends w$1{render(){if(!(this.props.element.hide||!this.matchWhenCondition(this.props.element.when)))return m$1(`div`,{style:this.getCompiledStyles(),className:this.getClasses(`lc-flexbox`),children:m$1(ue,{elements:this.props.elements,element:this.props.element,triggerContext:this.props.triggerContext})})}getComponentStyles(){let e=this.mediaStyle.flex??new Et$2,t={display:`flex`,gap:e.gap+`px`,flexWrap:e.wrap,flexDirection:e.dir,justifyContent:e.jc,alignItems:e.ai};return e.wrap===`nowrap`&&e.scroll&&(e.dir===`column`?t[`overflow-y`]=`auto`:t[`overflow-x`]=`auto`),t}};var st=class extends ae$1{render(){if(!(this.props.element.hide||!this.matchWhenCondition(this.props.element.when)))return m$1(`div`,{style:this.getCompiledStyles(),className:this.getClasses(`lc-flexbox`),children:m$1(Ke$1,{elements:this.props.elements,element:this.props.element,triggerContext:this.props.triggerContext,item:this.props.item,productVariables:this.props.productVariables,noLinks:this.props.noLinks})})}};var at$1=class at extends w$1{render(){return m$1(`select`,{style:this.getCompiledStyles(),value:this.props.selectedVariant.selectedSellingPlan.value?.mID??``,onChange:this.onChange.bind(this),disabled:this.state.disabled,className:this.getClasses(`lc-dropdown`),children:this.createSelectItems()})}componentDidMount(){Z$1(()=>{this.setState(()=>({disabled:this.props.triggerContext.triggerData.isBundle()?!this.props.item.selected.value:false}));});}getComponentStyles(){let e={};return this.props.selectedVariant.sellingPlans?.length||(e.visibility=`hidden`),r$2(r$2({},e),In(this.mediaStyle.typo))}createSelectItems(){let e=[],t=this.props.selectedVariant;if(!t.sellingPlans?.length)return [];this.props.triggerContext.triggerData.content?.subsUpgradeConfig?.skipSubscribedItems?t.selectedSellingPlan.value||(t.sellingPlans[0].isSelected=true,t.changeSellingPlan(t.sellingPlans[0])):e.push(m$1(`option`,{value:``,selected:!t.selectedSellingPlan,children:`One time purchase`}));for(let n of t.sellingPlans??[])e.push(m$1(`option`,{value:n.mID,selected:n.isSelected,children:n.name}));return e}onChange(e){let t=e.target.value;t?this.props.selectedVariant.selectedSellingPlan.value=this.props.selectedVariant.sellingPlans.find(n=>n.mID===t):this.props.selectedVariant.selectedSellingPlan.value=void 0;}};var wi$1=new RegExp(`fill="#[a-zA-Z0-9]+"`),ct$1=class ct extends w$1{constructor(){super();}render(){let e=this.getCompiledStyles(),t=this.getRating();return t||(e.display=`none`,t=``),m$1(`div`,{style:e,className:this.getClasses(`lc-star-rating`),dangerouslySetInnerHTML:{__html:t}})}getRating(){let e={size:this.props.element.iconSize,color:this.props.element.c.hex},t=Fe$2(this.props.element.fullStar,{svg:e},this.props.triggerContext),n=Fe$2(this.props.element.halfStart,{svg:e},this.props.triggerContext),o=this.props.review;if(!o?.rating)return ``;let i=``;if(this.props.element.showSingleStar)i=t;else {let s=5,c=`${o.rating}`.split(`.`);for(let p=0;p<+c[0];p++)i+=t,s--;c[1]&&(i+=n,s--);for(let p=0;p<s;p++)i+=t.replace(wi$1,`fill="#f1f1f1"`);}return i}getComponentStyles(){return {display:`flex`,alignItems:`center`}}};var mt$1=class mt extends w$1{render(){return m$1(`select`,{style:this.getCompiledStyles(),value:this.props.item.selectedOrFirstVariant.value.mID,onChange:this.onChange.bind(this),disabled:this.state.disabled,className:this.getClasses(`lc-dropdown`),children:this.createSelectItems()})}componentDidMount(){Z$1(()=>{this.setState(()=>({disabled:this.props.triggerContext.triggerData.isBundle()?!this.props.item.selected.value:false}));});}getComponentStyles(){let e={};return this.props.item.vars?.length===1&&this.props.item.vars[0].name===`Default Title`&&(e.visibility=`hidden`),r$2(r$2({},e),In(this.mediaStyle.typo))}createSelectItems(){let e=[];for(let t of this.props.item.vars)e.push(m$1(`option`,{value:t.mID,disabled:!t.isAvailable,children:t.name}));return e}onChange(e){let t=e.target.value,n=this.props.item.vars.find(o=>o.mID===t);this.props.item.setSelectedVariant(n);}};var Ke$1=class Ke extends w$1{constructor(e,t){super(e,t),this.setState(()=>({decoration:`unset`}));}renderElement(e){if(!(e.hide||!this.matchWhenCondition(e.when))){if(e.t===4){let t=e;return t.l===`Star Rating`&&!this.props.item.reviews?.rating?void 0:m$1(st,{element:t,triggerContext:this.props.triggerContext,elements:t.elems,item:this.props.item,productVariables:this.props.productVariables,noLinks:this.props.noLinks})}if(e.t===6){let t=this.props.triggerContext,n=t.triggerData;return n.isBundle()||n.isAddOns()?m$1(it,{element:e,item:this.props.item,triggerContext:t}):void 0}if(e.t===8){let t=e;if(!t.templateName)return ``;try{if(!/^[a-zA-Z0-9_-]+$/.test(t.templateName))return Y$2.error(`Invalid partial template name`,t.templateName),``;let n=Fe$2(`{{ @include("${t.templateName}", it) /}}`,this.props.productVariables??{});return m$1(`div`,{className:`lc-partial-`+t.templateName,dangerouslySetInnerHTML:{__html:n}})}catch(n){return Y$2.error(`Failed to render partial element`,t.templateName,this.props.productVariables,n),``}}if(e.t===13){let t=e,n=this.props.item,o=Wr(n.variantImage??n.firstImageURL),i=Wr(n.variantSecondaryImage??n.secondaryImageURL);t.lg=t.sm={src:o,name:n.name,secondarySrc:i};let s=m$1(se$1,{element:t,onClick:this.customOnClick.bind(this),triggerContext:this.props.triggerContext});return this.props.noLinks?s:m$1(`a`,{href:this.props.item.selectedOrFirstVariant.value.link,style:{display:`block`},children:s})}if(e.t===14)return this.renderProductTitle(e);if(e.t===15){let t=e;return this.props.triggerContext.triggerData.isCartEmbed()&&this.props.item.vars?.length===1&&this.props.item.vars[0].name===`Default Title`?void 0:t.type!==`SINGLE`?m$1(`cooee-product-options-picker`,{item:this.props.item,styles:t.style,horizontal:t.horizontal,dropdownType:t.type}):m$1(mt$1,{element:t,item:this.props.item,triggerContext:this.props.triggerContext})}return e.t===16?m$1(at$1,{element:e,selectedVariant:this.props.item.selectedOrFirstVariant.value,item:this.props.item,triggerContext:this.props.triggerContext}):e.t===19?m$1(ct$1,{element:e,triggerContext:this.props.triggerContext,review:this.props.item.reviews}):e.t===18||e.t===3?m$1(Se$1,{element:e,item:this.props.item,triggerContext:this.props.triggerContext}):m$1(ue,{elements:[e],element:this.props.element,triggerContext:this.props.triggerContext})}}render(){return this.attachListener(),this.props.elements.map(e=>this.renderElement(e))}getComponentStyles(){return {}}renderProductTitle(e){let t=m$1(V$1,{element:e,onClick:this.customOnClick.bind(this),triggerContext:this.props.triggerContext});return this.props.noLinks?t:m$1(`a`,{href:this.props.item.selectedOrFirstVariant.value.link,style:{display:`block`,textDecoration:this.state.decoration},onMouseEnter:this.onMouseEnter.bind(this),onMouseLeave:this.onMouseLeave.bind(this),children:t})}customOnClick(e){this.sendTriggerClicked([this.props.item.toEmbed()],{from:e});}onMouseEnter(){this.setState(()=>({decoration:`underline`}));}onMouseLeave(){this.setState(()=>({decoration:`unset`}));}attachListener(){document.addEventListener(`letscooee:variant-change`,e=>{let t=e;if(!t.detail||this.props.item.mID!==t.detail.productID)return;let n=t.detail.variantID;this.props.item.setSelectedVariantByID(n);});}};var Te=class extends w$1{productElement;constructor(e,t){super(e,t),this.setState(()=>({decoration:`unset`}));}render(){let e=this.props.item,t=this.getProductData();if(this.productElement=new de$1(We$3(this.props.element,t,this.props.triggerContext)),this.productElement.hide||!this.matchWhenCondition(this.productElement.when))return;let o=this.getClasses([`lc-single-product`,...e.cardClasses??[]].join(` `));return m$1(`div`,{style:r$2({},this.getCompiledStyles()),className:o,children:m$1(Ke$1,{element:this.productElement,elements:this.productElement.elems,triggerContext:this.props.triggerContext,item:this.props.item,productVariables:t,noLinks:this.productElement.noLinks})})}getComponentStyles(){return {flexShrink:0}}getProductData(){if(!this.props.item)return {};let e=this.props.item,t=e.selectedOrFirstVariant.value,n=e.getTemplateVariables();n.product.quantity=this.props.triggerContext.hasManipulatedProductQuantity()?this.props.triggerContext.getManipulatedQuantity(this.props.item.quantity):this.props.item.quantity;let o=this.props.triggerContext.triggerData.discount?.type===q.BXGY;return !t.hasEffectivePrice()&&o&&(n.product=s$3(r$2(r$2({},n.product),Gn$1(`effective_price`,t.effectivePrice.value)),{price:``})),n.variant.quantity=this.props.triggerContext.hasManipulatedProductQuantity()?this.props.triggerContext.getManipulatedQuantity(t.quantity):t.quantity,{product:n.product,variant:n.variant,svg:{color:`{{ svg.color }}`,size:`{{ svg.size }}`}}}};var lt$1=class lt extends w$1{swiperRef=null;swiperInstance=null;configuration;gap;constructor(e,t){super(e,t),this.configuration=M$3()?this.props.element.conf.sm:this.props.element.conf.lg,this.gap=(this.configuration.gap??15)+`px`;}componentDidMount(){this.props.element.conf[this.deviceTypeKey].disp===2&&Vi$2().then(()=>{this.swiperInstance=ar$1(this.swiperRef,this.props.element.conf[this.deviceTypeKey]);});}componentWillUnmount(){this.swiperInstance&&this.swiperInstance.destroy();}render(){let e=this.props.triggerContext.triggerData.items;e.splice(this.configuration.maxItems??10);let t;if(this.configuration.disp===2){let n=i=>{this.swiperRef=i;},o=()=>e?.map(i=>m$1(`div`,{class:`swiper-slide`,children:this.getProductFragment(i)}));t=m$1(`div`,{style:s$3(r$2({},this.getCompiledStyles()),{display:`block`}),className:this.getClasses(`lc-product-swiper-list`),children:cr$1(this.configuration,n,o)});}else t=m$1(`div`,{style:this.getCompiledStyles(),className:this.getClasses(`lc-product-list`),children:e?.map((n,o)=>this.getProductFragment(n,o!==e.length-1))});return t}getComponentStyles(){let e=[0,2].includes(this.configuration.disp),t={display:e?`flex`:`grid`,justifyContent:`safe `+(this.mediaStyle.flex?.jc??`center`),gap:this.gap,flexDirection:this.mediaStyle.flex?.dir??`row`};if(t.flexDirection===`row`){if(e)t.maxWidth=`100%`,t.overflowY=`auto`;else if(this.configuration.disp===1){let n=this.props.triggerContext.triggerData,o=n.items.length,i;n.isBundle()?i=this.props.element.prod.symbol?.hide!==true?o*2-1:o:i=this.props.element.conf[this.deviceTypeKey].maxInRow,t.gridTemplateColumns=`repeat(${i}, auto)`;}}return t}getProductFragment(e,t=false){return m$1(ut$3,{children:[m$1(Te,{element:this.props.element.prod,item:e,triggerContext:this.props.triggerContext}),this.props.triggerContext.triggerData.isBundle()&&t&&this.props.element.prod.symbol&&!this.props.element.prod.symbol.hide&&m$1(`div`,{style:{display:`flex`,alignItems:`center`,justifyContent:`center`},children:m$1(V$1,{element:this.props.element.prod.symbol,triggerContext:this.props.triggerContext})})]},e.mID)}};var pt$1=class pt extends w$1{swiperRef=null;swiperInstance=null;constructor(e,t){super(e,t);}componentDidMount(){Vi$2().then(()=>{this.swiperInstance=ar$1(this.swiperRef,this.props.element.conf);});}componentWillUnmount(){this.swiperInstance&&this.swiperInstance.destroy();}render(){let e=this.props.element,t=o=>{this.swiperRef=o;},n=()=>{let o=e.values?.map(c=>m$1(`div`,{class:`swiper-slide`,onClick:p=>this.onClick(p,{clickAction:this.getClickAction(c)}),children:this.renderElement(c)}));if(!o?.length)return [];let i=e.conf,s=o.length;if(i.marquee&&s<=Number(i.maxInRow)){let c=Number(i.maxInRow)-s+1;for(let p=0;p<c;p++)o.push(o[p%s]);}return o};return cr$1(e.conf,t,n)}getComponentStyles(){return {}}renderElement(e){let t=this.valueAddedSlide(this.props.element.slide,e);switch(t?.t){case 1:return m$1(se$1,{element:t,triggerContext:this.props.triggerContext});case 4:return m$1(ae$1,{elements:t.elems,element:t,triggerContext:this.props.triggerContext});default:Y$2.warn(`Unknown slide type for carousal`);}}valueAddedSlide(e,t){let n=We$3(e,{form:t},this.props.triggerContext);return B$2.getParsedElement(n)}getClickAction(e){return We$3(this.props.element.clc??{},{form:e},this.props.triggerContext)}};var ue=class extends w$1{constructor(e,t){super(e,t),this.setState(()=>({decoration:`unset`})),Z$1(()=>{this.setState(()=>({showButton:!this.props.triggerContext.triggerData.isBundle()||!!this.props.triggerContext.selectedItems.length}));});}renderElement(e){if(!e.hide){if(e.t===4){let t=e;return m$1(ae$1,{element:t,triggerContext:this.props.triggerContext,elements:t.elems})}if(e.t===61)return m$1(ot,{element:e,triggerContext:this.props.triggerContext});if(e.t===3)return this.state.showButton?m$1(Se$1,{element:e,triggerContext:this.props.triggerContext}):void 0;if(e.t===2)return m$1(V$1,{element:e,triggerContext:this.props.triggerContext});if(e.t===1)return m$1(se$1,{element:e,triggerContext:this.props.triggerContext});if(e.t===11)return m$1(lt$1,{element:e,triggerContext:this.props.triggerContext});if(e.t===12)return m$1(Te,{element:e,item:this.props.triggerContext.triggerData.items[0],triggerContext:this.props.triggerContext});if(e.t===62)return m$1(pt$1,{element:e,triggerContext:this.props.triggerContext})}}render(){return this.props.elements.map(e=>this.renderElement(e))}getComponentStyles(){return {}}};var dt$1=class dt extends w$1{clickAction;isClickable;constructor(e,t){super(e,t),this.clickAction=this.props.element.clc,this.isClickable=this.clickAction?.at===he$3.GO_TO_URL&&!!Un(this.clickAction.gu?.u)||this.clickAction?.at===he$3.OPEN_CART||this.clickAction?.at===he$3.INITIATE_CHECKOUT;}componentDidMount(){Z$1(()=>{let e=this.props.triggerContext.triggerData,t=this.props.triggerContext.selectedItems;e.calculateDiscountData(t,this.props.triggerContext.shouldGiveFBTDiscount);});}render(){return m$1(ut$3,{children:[m$1(`div`,{style:this.getCompiledStyles(),className:this.getClasses(`lc-container`),onClick:e=>{this.onClick(e,{clickAction:this.clickAction});},children:m$1(ue,{elements:this.props.elements,element:this.props.element,triggerContext:this.props.triggerContext})}),this.props.triggerContext.triggerData.id===`preview`&&m$1(`div`,{class:`letscooee-preview-badge`,children:[`#`,this.props.triggerContext.triggerData.shortID,` preview`]})]})}getComponentStyles(){let e={position:`relative`,overflow:`hidden`,display:`block`};return this.isClickable&&(e.cursor=`pointer`),e}};var x$2=class r$9{constructor(e){this.engagementTrigger=e;this.triggerContext=new Be$1(new Date,this.engagementTrigger);}static engagementIDsWithTrackedDisplay=new Set;static DEBOUNCE_TIME=1e3;rootContainer;widgetElement;triggerContext;observers=[];renderedCount=0;scrollSubscription;isExclusionWithBVariation;isProcessing=false;lockReleased$=new U;renderSilently(){this.acquireProcessingLock()||this.render().finally(()=>this.releaseProcessingLock()).catch(e=>{Fe$3(e,`render-widget`,{triggerContext:this.triggerContext});});}destroy(){Y$2.verbose(`${this.engagementTrigger} will be destroyed`),this.preDestroy(),this.removeFromRendered(),this.rootContainer?.remove(),r$9.engagementIDsWithTrackedDisplay.delete(this.engagementTrigger.shortID),Mi$2(this.engagementTrigger.content?.afterDeleteJS);}matches(e){return this.engagementTrigger.shortID===e.shortID}async render(){if(this.engagementTrigger.shouldGetVariationImmediately()){let e=await this.getVariation();this.handleVariationResponse(e);}if(this.rootContainer=await this.getWidgetContainer(true),!this.rootContainer){Y$2.warn(`${this.engagementTrigger} no section found to render the widget`);return}this.afterRootContainerCreated(),await this.getVariationIfRequired(),await this.runChoresBeforeRender(),this.attachScroll(),this.checkAndSendEvent(),this.triggerContext.renderer=this,Mi$2(this.engagementTrigger.content?.afterRenderJS);}async updateAndReRender(e){await this.waitForLockRelease(),this.acquireProcessingLock();try{this.updateItems(e.items,this.engagementTrigger.items),await this.update(e),await this.render();}finally{this.releaseProcessingLock();}}async update(e){this.engagementTrigger.variation=e.variation;}async rerenderIfDeleted(){if(!this.rootContainer?.isConnected&&!this.acquireProcessingLock()){Y$2.info(`${this.engagementTrigger} deleted. Will be re-rendered`);try{this.preDestroy(),await this.render();}finally{this.releaseProcessingLock();}}}updateAngularWidget(){return this.widgetElement?.isConnected?(this.widgetElement.update(),true):false}preDestroy(){this.scrollSubscription?.unsubscribe(),this.observers.forEach(e=>{e?.disconnect&&e.disconnect();});}acquireProcessingLock(){return this.isProcessing?(Y$2.verbose(`Lock could not be acquired for ${this.engagementTrigger}`),true):(Y$2.verbose(`Acquiring rendering lock for ${this.engagementTrigger}`),this.isProcessing=true,false)}releaseProcessingLock(){Y$2.verbose(`Releasing rendering lock for ${this.engagementTrigger}`),this.isProcessing=false,this.lockReleased$.next();}async waitForLockRelease(){this.isProcessing&&await le$2(this.lockReleased$);}afterRootContainerCreated(){}isAllOkToRender(){return !!this.engagementTrigger.widget}async getVariationIfRequired(){if(this.engagementTrigger.shouldSkipVariation()){Y$2.verbose(`${this.engagementTrigger} already has necessary data to render`);return}let e=await this.observeWidgetContainerInViewport();this.handleVariationResponse(e);}handleVariationResponse(e){if(!e)return;let t=this.engagementTrigger;Y$2.log(`${t} visitor has been assigned to variation ${e.variation}`),e.items?.length&&(t.items=e.items.map(n=>new mt$3(n)),t.nonMutableItems=e.items.map(n=>new mt$3(n))),e.bundleFrom&&(t.bundleFrom=new mt$3(e.bundleFrom)),e.discount&&(t.discount=e.discount),e.placement&&(t.placement=e.placement),pe$4.hasKeys(e.stickyATCConfig)&&(t.stickyATCConfig=e.stickyATCConfig),e.props&&pe$4.hasKeys(e.props)&&(t.props=r$2(r$2({},t.props),e.props)),e.content&&(t.content=new et(e.content)),t.widget=new qe$1(e.widget),t.contentID=e.contentID,t.variation=e.variation,t.placement=e.placement,t.manipulation=e.manipulation,t.entryAnimation=e.entryAnimation??`NONE`,this.isExclusionWithBVariation=t.isExclusionTesting()&&t.variation===`b`,this.isExclusionWithBVariation&&(this.rootContainer.style.height=`0.5px`);}addToRendered(){this.renderedCount++,Y$2.info(`${this.engagementTrigger} rendered \u2705 ${Kn$1(this.renderedCount)} time`);}removeFromRendered(){this instanceof j$1?De.delete(this):Xe$1.delete(this);}async getVariation(){Y$2.log(`${this.engagementTrigger} get variation`);let e={engagementID:this.engagementTrigger.engagementID,isPreview:this.engagementTrigger.id===`preview`};try{return (await uo(e)).data}catch(t){if(t instanceof ne$3&&t.response?.status===400)return;Fe$3(t,`get-variation`,{engagementTrigger:this.engagementTrigger});return}}async observeWidgetContainerInViewport(){if(!this.rootContainer){Y$2.warn(`${this.engagementTrigger} No root container found to watch for viewport`);return}let e=window.innerHeight*.3,t={root:null,rootMargin:`${e}px 0px ${e}px 0px`,threshold:0};return this.isInViewport()?this.getVariation():new Promise(n=>{let o=new IntersectionObserver((i,s)=>{i.forEach(async c=>{if(c.isIntersecting){Y$2.log(`${this.engagementTrigger} root container is near the viewport. Fetching variation`);n(await this.getVariation()),s.unobserve(this.rootContainer);}});},t);o.observe(this.rootContainer),this.observers.push(o);})}attachScroll(){this.scrollSubscription=Tr$1(window,`scroll`).pipe(Fe$1(r$9.DEBOUNCE_TIME)).subscribe(()=>{this.checkAndSendEvent();});}checkAndSendEvent(){let e=this.engagementTrigger.shortID;if(r$9.engagementIDsWithTrackedDisplay.has(e)||!this.isInViewport())return;let n={};this.triggerContext.triggerData.items?.length&&(n.promotedMIDs=this.engagementTrigger.items?.map(s=>s.mID));let i=new Ir$2(this.isExclusionWithBVariation?`CE Campaign Holdout`:`CE Trigger Displayed`,n,this.engagementTrigger);i.name===`CE Campaign Holdout`&&(i.trigger.holdout=true),X(i),r$9.engagementIDsWithTrackedDisplay.add(e),this.scrollSubscription.unsubscribe();}generateParentElementID(){return `letscooee-${this.engagementTrigger.shortID}`}createAngularWidget(e){let t=this.widgetElement=document.createElement(e);return t.cart=h.getCurrent(),t.triggerContext=this.triggerContext,t.engagementTrigger=this.engagementTrigger,t.setAttribute(`engagement`,this.engagementTrigger.shortID),this.rootContainer.appendChild(t),this.addToRendered(),this.injectOuterCSSOnly(),t}getParentElement(e,t=document){let n=t.getElementById(e);if(n)return n;let o=this.engagementTrigger.objective.toLowerCase().replaceAll(`_`,`-`),i=this.engagementTrigger.shortID;n=document.createElement(`div`),n.id=e;let s=`letscooee letscooee-engagement engagement-${i} lc-${o}`;return this.engagementTrigger.content?.classes&&(s+=` ${this.engagementTrigger.content.classes}`),n.className=s,n.dataset.engagementId=i,this.engagementTrigger.id===`preview`&&(n.className+=` letscooee-preview`),n.style.display=`block`,n.style.minHeight=`0.5px`,n.style.minWidth=`0.5px`,n}async startRendering(){let e=this.rootContainer,t=this.triggerContext.triggerData.hasSwiperElement();t&&(e=this.rootContainer?.shadowRoot||this.rootContainer?.attachShadow({mode:`open`}),Hi$2(e)),this.injectCampaignCSS(t,e);let n=this.engagementTrigger.widget;Ye$2(Yr$2(dt$1,{element:n.cont,triggerContext:this.triggerContext,elements:n.elems}),e),this.addToRendered();}injectCampaignCSS(e,t){let n=this.engagementTrigger.content?.outerCSS?.trim()??``,o=this.engagementTrigger.content?.innerCSS?.trim()??``;if(!n&&!o)return;let i=this.rootContainer.id;if(e){le$4(o,t),this.injectOuterCSSOnly();return}le$4(`#${i} { ${n+`
|
|
84
|
-
${o}`} }`);}injectOuterCSSOnly(){let e=this.engagementTrigger.content?.outerCSS?.trim();if(!e)return;let t=this.rootContainer.id;le$4(`#${t} { ${e} }`);}isInViewport(){let e=this.rootContainer?.getBoundingClientRect();if(!e)return false;let t=window.innerHeight||document.documentElement.clientHeight,s=(Math.min(e.bottom,t)-Math.max(e.top,0))*e.width/(e.width*e.height)*100;return this.engagementTrigger.isAnySplit()?s>0:s>=30}async getWidgetContainer(e){if(this.rootContainer?.isConnected)return this.rootContainer;let t=await this.createParentElementWithPlacement(e);if(t)return t;let n=`.letscooee[data-engagement-id="${this.triggerContext.triggerData.shortID}"]`;return document.querySelector(n)}async createParentElementWithPlacement(e){let t=this.engagementTrigger.placement;if(!t?.selector)return Y$2.info(`\u26A0\uFE0F${this.engagementTrigger} does not have a selector`),null;let n=t.selector,o;if(n.includes(`:shadow`)){let p=n.split(`:shadow`);o=(await jn$1(p[0].trim()))?.shadowRoot,n=p[1].trim(),o&&Hi$2(o,false);}Y$2.verbose(`${this.engagementTrigger} attempt to render "${t.position}" "${n}"`);let i=await jn$1(n,3,o??document);if(!i)return Y$2.warn(`${this.engagementTrigger} no placement found with ${n}`),null;let s=this.generateParentElementID(),c=this.getParentElement(s);if(!e)return c;switch(t.position){case ce$3.BEFORE1:case ce$3.BEFORE:i.parentElement?.insertBefore(c,i);break;case ce$3.INSIDE_FIRST1:case ce$3.INSIDE_FIRST:i.insertBefore(c,i.firstChild);break;case ce$3.INSIDE_LAST1:case ce$3.INSIDE_LAST:i.appendChild(c);break;case ce$3.AFTER1:case ce$3.AFTER:default:i.parentElement?.insertBefore(c,i.nextSibling);}return c}async runChoresBeforeRender(){if(this.isExclusionWithBVariation)return;if(!this.isAllOkToRender()){Y$2.info(`\u26A0\uFE0F ${this.engagementTrigger} could not be rendered`);return}Y$2.verbose(`${this.engagementTrigger} will be rendered`);let e;try{e=await nr$1(this.engagementTrigger);}catch(t){Y$2.info(`\u203C\uFE0F${this.engagementTrigger} could not render as items failed to refresh`,t);return}if(!this.engagementTrigger.isCollectionPromoted()&&!e?.length&&this.engagementTrigger.isProductPromoted()){Y$2.info(`\u203C\uFE0F${this.engagementTrigger} could not render as no products promoted`);return}this.engagementTrigger.items=e,await this.startRendering();}updateItems(e,t){let n=this.getItemDiff(e,t),o=this.getItemDiff(t,e);t.push(...n);for(let i of o)oe$1.remove(t,i);}getItemDiff(e,t){return e.filter(n=>!t.some(o=>o.selectedOrFirstVariant.value.mID===n.selectedOrFirstVariant.value.mID))}};var j$1=class j extends x$2{constructor(e){super(e);}rerenderAfterCartOpened(){this.rerenderIfDeleted(),this.checkAndSendEvent();}observeWidgetContainerInViewport(){return this.getVariation()}generateParentElementID(){let e=super.generateParentElementID();return this.engagementTrigger.isSubscriptionUpsell()&&(e+=`-${this.engagementTrigger.items[0].selectedOrFirstVariant.value.mID}`),e}checkAndSendEvent(){if(!D$1.get().isOpen()&&Ue$1().pageName!==`cart`){Y$2.log(`Do not send display event as neither the cart drawer nor the cart page is open.`);return}return super.checkAndSendEvent()}};var mr$1=class r{constructor(e,t){this.engagementTrigger=e;this.element=t;this.cartItems=h.getCurrent().items;}cartItems;static renderCartUpsell(e){let t=e.placement;if(!t?.selector){Y$2.warn(`No placement available for ${e.objective}`,e.shortID);return}let n=Array.from(document.querySelectorAll(t.selector));if(!n?.length){Y$2.warn(`No placement found for ${e.objective}`,e.shortID);return}for(let o of n)new r(e,o).render();}render(){let e=this.findCartItemFromHTMLElement();if(!e||this.engagementTrigger.content?.subsUpgradeConfig?.skipSubscribedItems&&e.selling_plan_allocation)return;let t=this.engagementTrigger.items.find(d=>d.mID===e.product_id.toString());if(!t)return;let n=t.vars.find(d=>d.mID===e.id.toString());if(!n)return;let o=new dt$2(n),i=e.selling_plan_allocation?.selling_plan;if(i)for(let d of o.sellingPlans??[])d.mID===i.id.toString()&&(d.isSelected=true,o.changeSellingPlan(d));let s=new mt$3(t);s.vars=[o],s.selectedOrFirstVariant.value=o;let c=`lc-cart-item-${this.engagementTrigger.shortID}-${t.mID}`;this.element.classList.add(c);let p=new G(this.engagementTrigger);p.placement.selector=`.${c}`,p.items=[s];let u=new j$1(p);u.renderSilently(),this.watchForCartItemDeletion(u,c);}watchForCartItemDeletion(e,t){let n=new MutationObserver(o=>{o.forEach(i=>{i.removedNodes.forEach(s=>{s===this.element&&(Y$2.verbose(`${t} has been removed`),e.destroy(),n.disconnect());});});});n.observe(this.element.parentElement,{childList:true,subtree:true});}findCartItemFromHTMLElement(){let e=this.element.innerHTML;return this.cartItems.find(t=>{if(!(e.includes(t.url)||e.includes(t.variant_id))&&(!e.includes(t.product_title)||t.variant_title&&!e.includes(t.variant_title)))return false;let n=t.selling_plan_allocation?.selling_plan?.name;return !(n&&!e.includes(n))})}};var lr$1=class lr extends x$2{constructor(e){super(e);}isAllOkToRender(){return true}async startRendering(){if(this.widgetElement?.isConnected){this.addToRendered();return}this.createAngularWidget(`cooee-collection-filter`);}};var pr$1=class pr extends j$1{constructor(e){super(e);}async update(e){await super.update(e),this.engagementTrigger.progressBarConfig.update(e.progressBarConfig),await this.checkMilestoneTryCatch(),this.updateAngularWidget();}isAllOkToRender(){return !!this.engagementTrigger.progressBarConfig}async startRendering(){if(this.updateAngularWidget()){this.addToRendered();return}this.createAngularWidget(`cooee-progressbar`),await this.checkMilestoneTryCatch();}async checkMilestoneTryCatch(){try{await this.checkMilestone();}catch(e){Fe$3(e,`apply-milestones`,{engagementTrigger:this.engagementTrigger});}}async checkMilestone(){let e=await h.getCurrent().getNormalisedCart(true),t=this.engagementTrigger.progressBarConfig,n=[],o=[],i=[],s,c,p=[...t.milestones];for(let u of p){if(u.rewardType!==Ee$4.FREE_AUTO_GIFT)continue;if(u.isUIOnly&&!u.allowATC){Y$2.verbose(`Skipping milestone ${u.label} as it is UI only and does not allow ATC`);continue}let d=u.items[0],y=u.reached,S=e.items.find(g=>(g.vID===d.vID||g.mID===d.mID)&&g.properties._letscooee_campaign===this.engagementTrigger.shortID);y&&(s=u,c=S),S&&n.push(S),!y&&S&&t.removeIneligibleItem?(Y$2.verbose(`Removing free gift ${S.vID} from cart`),i.push(S)):y&&!S&&(Y$2.verbose(`Adding free gift ${d.vID} to cart`),o.push(d));}t.restrictToLatestFreebie&&s&&(c?(n=n.filter(u=>u.vID!==c.vID),o=[]):o=[s.items[0]],i.push(...n)),t.treatFreebieAsSeparateLineItem?await this.handleSeparateFreebieLineItems(o,i):await this.handleCombinedCartUpdate(o,i);}async handleSeparateFreebieLineItems(e,t){if(!t.length&&!e.length)return;let n=new ge,o=[];if(e.length){let c=this.addFreebiesOperation(e,n);o.push(c);}if(t.length){let c=this.removeFreebiesOperation(t);o.push(c);}if(!o.length)return;let i;try{i=await Promise.all(o),Y$2.log(`All freebie and coupon operations completed`);}catch(c){Fe$3(c,`parallel-freebie-operations`,{engagementTrigger:this.engagementTrigger});}let s;e.length&&i?.length&&(s=i[0]),D$1.get().refreshUI(s,false);}async removeFreebiesOperation(e){let t={updates:{}};return e.forEach(n=>t.updates[n.key??n.vID]=n.quantity-1),Br(t,this.engagementTrigger)}async addFreebiesOperation(e,t){return t.addToCart(e,this.engagementTrigger)}async handleCombinedCartUpdate(e,t){let n=this.engagementTrigger.progressBarConfig,o={},i={};t.length&&t.forEach(y=>i[y.key??y.vID]=0),e.length&&e.forEach(y=>i[y.vID]=1);let s=n.coupons,c=[];if(s?.length){c=s.map(g=>g.couponCode);let y=h.getCurrent().discount_codes?.map(g=>g.code)??[];c.every(g=>y.some(v=>v===g))||(o.discount=c.join(`,`));}if(pe$4.hasKeys(i)&&(o.updates=i),!pe$4.hasKeys(o))return;let p=await Br(o,this.engagementTrigger),u=p?.items,d=[];for(let y of e){let S=u?.find(g=>c?.length?g.id+``===y.vID&&g.discounts?.some(v=>c.includes(v.title)):g.id+``===y.vID);S&&d.push(S);}if(!d.length){D$1.get().refreshUI(p,false);return}try{await Promise.all(d.map(y=>po(y,{properties:this.engagementTrigger.getPrivateAttributesForLineItem()})));}catch(y){Fe$3(y,`add-private-attribute`,{engagementTrigger:this.engagementTrigger,extra:{productAddedByCooee:d}});}finally{D$1.get().refreshUI(p,false);}}};var gt$1=class gt extends j$1{constructor(e){super(e);}async update(e){await super.update(e),this.engagementTrigger.content.update(e.content),this.updateAngularWidget();}isAllOkToRender(){return !!this.engagementTrigger.content}async startRendering(){if(this.updateAngularWidget()){this.addToRendered();return}this.createAngularWidget(`cooee-savings-bar`);}};var dr$1=class dr extends x$2{constructor(e){super(e);}isAllOkToRender(){return !!this.engagementTrigger.content?.videoConfig}async startRendering(){if(this.widgetElement?.isConnected){this.addToRendered();return}let e,t=this.engagementTrigger.content.videoConfig;t.template===`FLOATING_POPUP`?e=`cooee-video-popup`:t.template===`STORY`?e=`cooee-video-stories`:e=`cooee-video-playlist`,this.createAngularWidget(e);}};var gr$1=class gr extends x$2{constructor(e){super(e);}isAllOkToRender(){return true}async startRendering(){if(this.widgetElement?.isConnected){this.addToRendered();return}this.createAngularWidget(`cooee-sticky-atc`);}};var ur$1=class ur extends x$2{constructor(e){super(e);}isAllOkToRender(){return true}async startRendering(){let e=this.getParentElement(`inner-letscooee-${this.engagementTrigger.shortID}`);this.rootContainer.appendChild(e),document.addEventListener(`letscooee:inbound:cta:add-bundle`,this.inboundCTAListener.bind(this),false);}async inboundCTAListener(e){let t=this.engagementTrigger,n=`Engagement(id: ${t.engagementID}, shortID: ${t.shortID})`,o=e.detail;if(!pe$4.hasKeys(o)){Y$2.error(`No detail received for ${n}`);return}Y$2.log(`Detail received for BYOB`,o);let i=o.campaignID??o.campaignId??o.campaign_id;if(i!==t.shortID&&i!==t.engagementID){Y$2.warn(`Current ${n} is not BYOB. Received: ${i}`);return}let s=o.items;if(!s?.length)return;let c=s.map(p=>new at$2({mID:p.product_id,vID:p.variant_id,quantity:p.quantity||1}));await new je$1(this.triggerContext).execute({embeddedItems:c,clickAction:{at:he$3.ADD_BUNDLE,applyDiscount:true}});}};var fr=class extends x$2{cartChangeSubscription;isProcessingAddOns=false;afterRootContainerCreated(){this.cartChangeSubscription&&!this.cartChangeSubscription.closed||this.listenCartChange();}preDestroy(){super.preDestroy(),this.cartChangeSubscription?.unsubscribe();}listenCartChange(){let e=new ge;this.cartChangeSubscription=window.CooeeSDK.cartChange$.subscribe(async t=>{if(this.isProcessingAddOns||!this.wasCurrentItemAdded(t))return;this.isProcessingAddOns=true;let n=this.triggerContext.triggerData;Y$2.log(`${n} detected current item addition to cart`);let o=this.triggerContext.selectedItems;if(!o?.length){Y$2.log(`No add-ons selected for the current product ${n}`),this.isProcessingAddOns=false;return}Y$2.log(`Adding ${o.length} add on items in the cart`);let i=await e.addToCart(o,n);D$1.get().refreshUI(i,false),this.isProcessingAddOns=false;});}wasCurrentItemAdded(e){let t=window.CooeeSDK.runtimeData.currentItem;return t?!!e.itemsAdded?.find(n=>n.mID===t?.mID&&n.vID===t.vID):false}};var $r=false,Hr=false,hr$1=null,Cr$1=null,fo=false,De=new Set,Xe$1=new Set;function ho(){fo||(fo=true,wt$2(()=>{Gn(document.body,{childList:true,subtree:true},500,qn).subscribe(()=>{Xe$1.forEach(r=>r.rerenderIfDeleted()),De.forEach(r=>r.rerenderIfDeleted());});}));}async function ut$1(r){if(r.length>0&&await vo(),ho(),$r){Y$2.verbose(`Cart widget processing in progress, queuing latest triggers`),hr$1=r;return}$r=true;try{bi$1(r);}finally{if($r=false,hr$1){let e=hr$1;hr$1=null,Y$2.verbose(`Processing queued cart triggers`),ut$1(e);}}}async function ft$1(r){if(r.length>0&&await vo(),ho(),Hr){Y$2.verbose(`Page widget processing in progress, queuing latest triggers`),Cr$1=r;return}Hr=true;try{Ii$1(r);}finally{if(Hr=false,Cr$1){let e=Cr$1;Cr$1=null,Y$2.verbose(`Processing queued page triggers`),ft$1(e).catch(console.error);}}}function wh(){De.forEach(r=>r.rerenderAfterCartOpened());}function bi$1(r){yo(De,r);for(let e of r){Y$2.info(`${e} received as cart embed`);let t=Co(De,e);if(t&&!e.isSubscriptionUpsell()){t.updateAndReRender(e).catch(o=>{Fe$3(o,`update-and-re-render`,{engagementTrigger:e});});continue}Y$2.verbose(`${e} is new`);let n;if(e.isProgressBar())n=new pr$1(e);else if(e.isSubscriptionUpsell()){mr$1.renderCartUpsell(e);continue}else e.isSavingsBar()?n=new gt$1(e):n=new j$1(e);De.add(n),n.renderSilently();}}function Ii$1(r){yo(Xe$1,r);for(let e of r){Y$2.info(`${e} received as page embed`);let t=Co(Xe$1,e);if(t){t.updateAndReRender(e).catch(o=>{Fe$3(o,`update-and-re-render`,{engagementTrigger:e});});continue}Y$2.verbose(`${e} is new`);let n;e.isShoppableVideo()?n=new dr$1(e):e.isBYOB()?n=new ur$1(e):e.isStickyATC()?n=new gr$1(e):e.isSavingsBar()?n=new gt$1(e):e.isCollectionFilter()?n=new lr$1(e):e.isAddOns()?n=new fr(e):n=new x$2(e),Xe$1.add(n),n.renderSilently();}}function Co(r,e){for(let t of r)if(t.matches(e))return t}function yo(r,e){let t=new Set(e.map(n=>n.shortID));for(let n of r)t.has(n.engagementTrigger.shortID)||n.destroy();}async function vo(){await(await import('./widgets-DaHPpl2y-Pxhze3yY.js').then(function (n) { return n.ad; })).loadAngularWidgets();}var wo=new U,Eo=0;wo.pipe(Fe$1(50)).subscribe(async r=>{Si$1(await rt()).catch(t=>{Fe$3(t,`load-page-widgets`,{extra:{firstLoad:r}});});});function bo(r=false){le$2(z$2).then(()=>{wo.next(r);}).catch(e=>Y$2.error(`Session not established, skipping fetchWidgets`,e));}async function uo(r){let e=await rt();return Object.assign(r,e),ie$1(`/v1/engagement/get-variant`,r)}async function Si$1(r$10){Eo++,Eo===1?Y$2.info(`Fetch widgets (after ⏰`,An()+` of SDK load)`):Y$2.info(`Fetch widgets`);let e=r$2({},r$10);try{let t=await ie$1(`/v1/engagement/eligible`,e);Y$2.info(`Widgets fetched ${Dn(t.timeTakenMs)}`);ft$1(t.data.pageWidgets?.map(i=>new G(i))??[]).catch(console.error);ut$1(t.data.cartWidgets?.map(i=>new G(i))??[]).catch(console.error);}catch(t){Y$2.error(`Error sending widget getter`,t);}}var Io=x$4(dr$3()),yr$1=class r{static META_REQUIRED_FIELDS=[`ad_id`];static GOOGLE_REQUIRED_FIELDS=[`gad_source`,`gclid`];source;adID;campaignID;adName;campaignName;constructor(e){this.adID=e.adID,this.campaignID=e.campaignID,this.source=e.source;}static getAdParams(){let e;try{e=new Io.URLBuilder(location.href);}catch{return {}}let t={};if(this.META_REQUIRED_FIELDS.every(i=>Array.from(e.getParams().keys()).includes(i)))return t={source:`META`,adID:e.getQueryParam(`ad_id`)?.trim(),campaignID:e.getQueryParam(`campaign_id`)?.trim()},new r(t);if(this.GOOGLE_REQUIRED_FIELDS.every(i=>Array.from(e.getParams().keys()).includes(i)))return t={source:`GOOGLE`},new r(t)}};var qr={d:(r,e)=>{for(var t in e)qr.o(e,t)&&!qr.o(r,t)&&Object.defineProperty(r,t,{enumerable:true,get:e[t]});},o:(r,e)=>Object.prototype.hasOwnProperty.call(r,e)},Gr={};qr.d(Gr,{A:()=>Ti$1,k:()=>jr});var ht$1=function(r,e,t,n){return new(t||(t=Promise))(function(o,i){function s(u){try{p(n.next(u));}catch(d){i(d);}}function c(u){try{p(n.throw(u));}catch(d){i(d);}}function p(u){var d;u.done?o(u.value):(d=u.value,d instanceof t?d:new t(function(y){y(d);})).then(s,c);}p((n=n.apply(r,[])).next());})},Ct$1=function(r,e){var t,n,o,i,s={label:0,sent:function(){if(1&o[0])throw o[1];return o[1]},trys:[],ops:[]};return i={next:c(0),throw:c(1),return:c(2)},typeof Symbol==`function`&&(i[Symbol.iterator]=function(){return this}),i;function c(p){return function(u){return (function(d){if(t)throw new TypeError(`Generator is already executing.`);for(;i&&(i=0,d[0]&&(s=0)),s;)try{if(t=1,n&&(o=2&d[0]?n.return:d[0]?n.throw||((o=n.return)&&o.call(n),0):n.next)&&!(o=o.call(n,d[1])).done)return o;switch(n=0,o&&(d=[2&d[0],o.value]),d[0]){case 0:case 1:o=d;break;case 4:return s.label++,{value:d[1],done:!1};case 5:s.label++,n=d[1],d=[0];continue;case 7:d=s.ops.pop(),s.trys.pop();continue;default:if(o=s.trys,!((o=o.length>0&&o[o.length-1])||d[0]!==6&&d[0]!==2)){s=0;continue}if(d[0]===3&&(!o||d[1]>o[0]&&d[1]<o[3])){s.label=d[1];break}if(d[0]===6&&s.label<o[1]){s.label=o[1],o=d;break}if(o&&s.label<o[2]){s.label=o[2],s.ops.push(d);break}o[2]&&s.ops.pop(),s.trys.pop();continue}d=e.call(r,s);}catch(y){d=[6,y],n=0;}finally{t=o=0;}if(5&d[0])throw d[1];return {value:d[0]?d[1]:void 0,done:true}})([p,u])}}};function jr(){return ht$1(this,void 0,Promise,function(){return Ct$1(this,function(r){switch(r.label){case 0:return [4,new Promise(function(e,t){var n=`Unknown`,o=false;function i(g){o||(o=true,e({isPrivate:g,browserName:n}));}function s(){var g=0,v=parseInt(`-1`);try{v.toFixed(v);}catch(b){g=b.message.length;}return g}function c(){return navigator.msSaveBlob!==void 0&&(function(g){try{return g===eval.toString().length}catch{return false}})(39)}function p(){var g;return ht$1(this,void 0,void 0,function(){var v,b;return Ct$1(this,function(f){switch(f.label){case 0:return f.trys.push([0,2,,3]),[4,navigator.storage.getDirectory()];case 1:return f.sent(),i(false),[3,3];case 2:return v=f.sent(),b=v,v instanceof Error&&(b=(g=v.message)!==null&&g!==void 0?g:v),typeof b!=`string`?(i(false),[2]):(i(!!b.includes(`unknown transient reason`)),[3,3]);case 3:return [2]}})})}function u(){var g;return ht$1(this,void 0,Promise,function(){return Ct$1(this,function(v){switch(v.label){case 0:return ((g=navigator.storage)===null||g===void 0?void 0:g.getDirectory)===void 0?[3,2]:[4,p()];case 1:return v.sent(),[3,3];case 2:navigator.maxTouchPoints!==void 0?(function(){var b=String(Math.random());try{var f=indexedDB.open(b,1);f.onupgradeneeded=function(L){var he=L.target.result,R=function(wr){i(wr);};try{he.createObjectStore(`t`,{autoIncrement:!0}).put(new Blob),R(!1);}catch(wr){(wr.message||``).includes(`are not yet supported`)?R(!0):R(!1);}finally{he.close(),indexedDB.deleteDatabase(b);}},f.onerror=function(){return i(!1)};}catch{i(false);}})():(function(){var b=window.openDatabase,f=window.localStorage;try{b(null,null,null,null);}catch{i(true);return}try{f.setItem(`test`,`1`),f.removeItem(`test`);}catch{i(true);return}i(false);})(),v.label=3;case 3:return [2]}})})}function d(){navigator.webkitTemporaryStorage.queryUsageAndQuota(function(g,v){var b;i(Math.round(v/1048576)<2*Math.round(((b=window).performance!==void 0&&b.performance.memory!==void 0&&b.performance.memory.jsHeapSizeLimit!==void 0?performance.memory.jsHeapSizeLimit:1073741824)/1048576));},function(g){t(new Error(`detectIncognito somehow failed to query storage quota: `+g.message));});}function y(){self.Promise!==void 0&&self.Promise.allSettled!==void 0?d():(0, window.webkitRequestFileSystem)(0,1,function(){i(false);},function(){i(true);});}function S(){return ht$1(this,void 0,Promise,function(){var g,v;return Ct$1(this,function(b){switch(b.label){case 0:if(!navigator.storage||!navigator.storage.getDirectory)return [3,4];b.label=1;case 1:return b.trys.push([1,3,,4]),[4,navigator.storage.getDirectory()];case 2:return b.sent(),i(false),[3,4];case 3:return g=b.sent(),typeof(v=g instanceof Error&&typeof g.message==`string`?g.message:String(g))!=`string`?(i(false),[2]):(i(v.includes(`Security error`)),[2]);case 4:return i(navigator.serviceWorker===void 0),[2]}})})}(function(){return ht$1(this,void 0,Promise,function(){return Ct$1(this,function(g){switch(g.label){case 0:return s()!==44?[3,2]:(n=`Safari`,[4,u()]);case 1:return g.sent(),[3,6];case 2:return s()!==51?[3,3]:(v=navigator.userAgent,n=v.match(/Chrome/)?navigator.brave!==void 0?`Brave`:v.match(/Edg/)?`Edge`:v.match(/OPR/)?`Opera`:`Chrome`:`Chromium`,y(),[3,6]);case 3:return s()!==25?[3,5]:(n=`Firefox`,[4,S()]);case 4:return g.sent(),[3,6];case 5:c()?(n=`Internet Explorer`,i(window.indexedDB===void 0)):t(new Error(`detectIncognito cannot determine the browser`)),g.label=6;case 6:return [2]}var v;})})})().catch(t);})];case 1:return [2,r.sent()]}})})}typeof window<`u`&&(window.detectIncognito=jr);var Ti$1=jr,So=Gr.A;Gr.k;var To=x$4(St$3()),Do=async()=>{let r={};try{return await Di$1(r)}catch(e){return Fe$3(e,`device-properties`),r}},Di$1=async r=>{let e=window.CooeeSDK.uaParser;Pi$1(r),xi$1(r),Ri$1(r),r.referrer=document.referrer,r.host=location.origin,r.path=location.pathname,r.qs=location.search,r.locale=navigator.language,r.display={w:screen.width,h:screen.height,pd:screen.pixelDepth,dpi:_i$1()},r.win={ow:window.outerWidth,oh:window.outerHeight,iw:window.innerWidth,ih:window.innerHeight,dpr:window.devicePixelRatio},navigator.webdriver&&(r.headless=true,Tn({headless:true}));let t=e.getResult();return r.browser=t.browser,r.device=t.device,r.engine=t.engine,r.cpu=t.cpu,r.os=t.os,r.navigatorUA=navigator.userAgent,await Promise.all([Li$1(r),Ai$1(r),ki$1(r)]),r},Pi$1=r=>{let e=navigator;if(!e.deviceMemory)return;r.mem={tot:e.deviceMemory*1024};},xi$1=r=>{let e=navigator,t=e.connection||e.mozConnection||e.webkitConnection;t?.effectiveType&&(r.net={type:t.effectiveType});},Ri$1=r=>{let e=screen.orientation?.type;e&&(r.orientation=e);},_i$1=()=>{if(!document.body)return;let r=document.createElement(`div`);r.setAttribute(`style`,`height: 1in; left: -100%; position: absolute; top: -100%; width: 1in;`),document.body.appendChild(r);let e=window.devicePixelRatio||1,t=r.offsetWidth*e;return document.body.removeChild(r),t},Ai$1=async r=>{try{await Oi$1(r);}catch(e){Y$2.error(`Unable to get location`,e);}},Oi$1=async r=>{if(!(!navigator.geolocation||!navigator.permissions||(await navigator.permissions.query({name:`geolocation`})).state!=`granted`))return new Promise(t=>{navigator.geolocation.getCurrentPosition(n=>{r.coords=[n.coords.latitude,n.coords.longitude],t();},()=>t());})},Li$1=async r=>{if(`getBattery`in navigator)try{let t=await navigator.getBattery();r.bat={l:t.level*100,c:t.charging},Tn({"battery.level":r.bat.l,"battery.charging":r.bat.c});}catch{}},ki$1=async r=>{try{(await So())?.isPrivate&&(r.incognito=!0,Tn({incognito:!0}));}catch(e){To.default.error(`Unable to detect private/incognito window`,e);}};function xo(r){if(!Ro())return;let e=Ne$3[r]?.toLowerCase();e&&(Y$2.verbose(`Sending ${e} intent to MS Clarity`),window.clarity(`set`,`Cooee Intent`,e));}function Ro(){return window.clarity&&typeof window.clarity==`function`}var z$2=new gr$2(1),Ao=`App ID or Shopify shop is not set`,Kr=``,fe=``,Xr=``,vr$1;async function uC(r){Kr=r.appID,Xr=r.shopifyShop;try{await Ni$1(),z$2.next(!0),z$2.complete();}catch(e){e?.message?.includes(Ao)&&Fe$3(e,`initiate-session`,{extra:r}),Y$2.error(`Unable to initiate session`,e),z$2.error(e);}}async function co(){return await Oo(false),vr$1}async function fC(){let r=Date.now();await tr$1.request(`gen_did`,async()=>{fe=await ce$4.get(`did`),fe||(fe=new $$1().toHexString(),await ce$4.set(`did`,fe)),Y$2.info(`Device ID:`,fe),ko(fe);}),Y$2.info(`Device ID set/get done ${Dn(Date.now()-r)}`);}async function _o(){if(vr$1)return;let[r,e,t]=await Promise.all([ve$4.get(`id`,``),ce$4.get(`sessionNumber`,1),ve$4.get(`landing`,{})]);Lo(r,e,t);}async function Ni$1(){await Oo(true);}async function Oo(r){let e=false;return await Mi$1()?(await Ui$1(),e=true):await Fi$1()?(await _o(),e=true):await _o(),e?await Vi$1():r&&bo(),e}async function Ui$1(){Y$2.info(`Starting new session`),await ve$4.clear();let r=new Date,e=new $$1().toHexString(),t=await ce$4.get(`sessionNumber`,0)+1,n=or$1();await Promise.all([ce$4.set(`sessionNumber`,t),ve$4.set(`id`,e),ve$4.set(`lastUsedTime`,r.getTime()),ve$4.set(`landing`,n)]),Lo(e,t,n);}async function Mi$1(){let r=await ve$4.get(`lastUsedTime`,0);return r?(new Date().getTime()-r)/1e3>1800:true}async function Fi$1(){return !await ve$4.get(`synced`,false)}async function Bi$1(){if(!Kr&&!Xr)throw new Error(Ao);let r$11=await Do(),e=ir$1();return s$3(r$2(r$2({deviceID:fe,deviceProps:r$11,appID:Kr,shopifyShop:Xr},vr$1),e),{sdk:Xr$4,ad:yr$1.getAdParams(),occurred:$i$1(Ue$1().jsLoadTime),properties:{}})}async function Vi$1(){Y$2.info(`Ensuring session on server`),await Wi$1();let r=Date.now(),e=await Bi$1();Y$2.info(`Session data generated ${Dn(Date.now()-r)}`);try{let t=await ie$1(`/v1/event/validate-session`,e);Y$2.info(`Auth finished ${Dn(t.timeTakenMs)}`),await ve$4.set(`synced`,!0),t.data.deviceID&&(await ce$4.set(`did`,fe),ko(t.data.deviceID));ft$1(t.data.pageWidgets?.map(i=>new G(i))??[]).catch(console.error);ut$1(t.data.cartWidgets?.map(i=>new G(i))??[]).catch(console.error);}catch(t){throw Y$2.error(t),t}}async function Wi$1(){let r=await ce$4.get(`firstSeen`),e=r?new Date(r):new Date;r||await ce$4.set(`firstSeen`,e.toISOString()),io(e),bn(`Visitor Info`,{first_seen:e.toISOString()});}function Lo(r,e,t){Tn({"cooee_session.number":e}),bn(`Visitor Session`,{id:r,number:e,landing_page:t}),Y$2.info(`Session number: ${e}, id: ${r}`),vr$1={sessionID:r,sessionNumber:e,landingPage:t};}function ko(r){oo(r);bn(`Visitor Info`,{device_id:r,[`device_id_${Math.floor(Math.random()*1e4)}`]:r}),_n({id:r});}function $i$1(r){return (new Date().getTime()-r.getTime())/1e3>1800?new Date:r}function wC(){document.onvisibilitychange=()=>{document.visibilityState===`visible`?Hi$1():document.visibilityState===`hidden`&&qi$1();};}async function Hi$1(){}async function qi$1(){let r=await Gi$1();if(r===0){Y$2.info(`Not sending duration as user was inactive on website`);return}Uo(r);}async function Gi$1(){let r=Ue$1();return r.inInactive?0:(r.inInactive=true,r.lastEnterInactive=new Date,Math.max(r.lastEnterInactive.getTime()-r.lastEnterActive.getTime(),0))}function No(){let r=Ue$1();return r.inInactive?(r.inInactive=false,r.lastEnterActive=new Date,Math.max((r.lastEnterActive.getTime()-r.lastEnterInactive.getTime())/1e3,0)):0}var Er$1=class Er{triggerData;render(e){e.contentSource===me$3.KLAVIYO&&(this.triggerData=e,window.addEventListener(`klaviyoForms`,this.handleKlaviyoEvents.bind(this)),window._klOnsite=window._klOnsite||[],window._klOnsite.push([`openForm`,e.klaviyoFormID]));}handleKlaviyoEvents(e){if(e.type!==`klaviyoForms`)return;let t=e.detail;if(t.formId!==this.triggerData.klaviyoFormID){Y$2.warn(`Received invalid trigger callback`);return}switch(t.type){case `open`:X(new Ir$2(`CE Trigger Displayed`,{form:{id:t.formId}},this.triggerData));break;case `stepSubmit`:{let n=this.getFormDetails(t);X(new Ir$2(`CE Form Submitted`,{form:n},this.triggerData)),ro(n);break}case `close`:window.removeEventListener(`klaviyoForms`,this.handleKlaviyoEvents.bind(this)),X(new Ir$2(`CE Trigger Closed`,{form:{id:t.formId}},this.triggerData));break}}getFormDetails(e){let t={id:e.formId},n=e.metaData;if(pe$4.hasKeys(n)){let o=[`email`,`phone_number`,`first_name`,`last_name`,`$email`,`$phone_number`,`$first_name`,`$last_name`];Object.keys(n).forEach(c=>{o.includes(c)||(t[c]=n[c]);}),t.email=n.$email??n.email,t.mobile=n.$phone_number??n.phone_number;let i=n.$first_name??n.first_name,s=n.$last_name??n.last_name;(i?.length||s?.length)&&(t.name=i+` `+s);}return t}};function Mo(r){if(!ji$1()||!he$4.get().pixelPush)return;let t=Ne$3[r.intent]?.toLowerCase();t&&(Y$2.verbose(`Sending ${t} intent to Facebook Pixel`),window.fbq(`trackCustom`,`CooeeIntent`,{intent_value:t}));}function ji$1(){return window.fbq&&typeof window.fbq==`function`}var Fr=`/v1/event/track-page-unload`;function Kn(r){Y$2.verbose(`Waiting for auth to send event ${r.name}`),le$2(z$2).then(()=>X(r)).catch(e=>Y$2.error(`Session not established, skipping trackEvent`,e));}function Uo(r){le$2(z$2).then(()=>{Ki$1(r);}).catch(e=>Y$2.error(`Session not established, skipping trackPageUnload`,e));}async function Ki$1(r){let e=Ue$1().currentPageViewEvent;if(!e){Y$2.warn(`No page view event was stored previously`);return}let t={pageViewEventID:e.id,pageViewEventName:e.name,pageActiveTimeMS:r};Y$2.verbose(`Sending page unload`,t);try{await ie$1(Fr,t);}catch(n){throw Y$2.error(`Error sending page unload for ${e} to server`,n),n}}function X(r){Xi$1(r);}async function Xi$1(r){if(Y$2.verbose(`Sending event: ${r.name}`,r),es(r)){Y$2.warn(`Rejecting event ${r.name}`);return}Hn();let e=await rt();Object.assign(r,e),No(),ve$4.set(`lastUsedTime`,new Date().getTime());let t=Zi$1(r.name),n=t.toLowerCase().replace(/\s+/g,`-`);try{let o=await ie$1(`/v1/event/track/${n}`,r);Y$2.info(`Event tracked:`,t),zi$1(r)&&(Ue$1().currentPageViewEvent={id:r.id,name:r.name}),Yi$1(r,o.data);}catch(o){throw Y$2.error(`Error sending event ${r.name} to server`,o),o}}function zi$1(r){return tn.includes(r.name)?r.name===`View Cart`?!r.properties.drawer:true:false}function Yi$1(r,e){Ji$1(r,e).catch(t=>{Fe$3(t,`process-popup-response`,{extra:{event:r,response:e}});}),Qi$1(e);}async function Ji$1(r,e){if(!e.triggerData)return;let t=new G(e.triggerData);t.occurred=r.occurred,Y$2.log(`${t} will be shown`);let n;try{n=await nr$1(t);}catch(i){Y$2.error(`Failed to refresh the products`,i);return}if(t.items=n,t.contentSource===me$3.KLAVIYO){new Er$1().render(t);return}new(await(import('./renderer-MU6fBs4p-CtnJ9stG.js'))).FreeformRenderer().renderEngagement(t).catch(i=>{Fe$3(i,`render-popup`,{extra:{event:r},engagementTrigger:t});});}function Qi$1(r){r.intent&&(xo(r.intent),Mo(r),Y$2.info(`Intent is ${Ne$3[r.intent]}`));}function Zi$1(r){return r.replace(`CE `,``).replace(`Trigger`,`Campaign`).replace(`Screen`,`Page`).replace(`App `,``)}function es(r){return r.trigger?.triggerID===`test`||r.trigger?.triggerID===`preview`?(Y$2.warn(`Not sending event as this is a test trigger`),true):false}
|
|
83
|
+
`},navigation:{nextEl:r.querySelector(`.swiper-button-next`),prevEl:r.querySelector(`.swiper-button-prev`)},autoplay:e.autoplay?.enabled?{delay:e.autoplay?.delay,disableOnInteraction:false,pauseOnMouseEnter:false}:false,autoHeight:true};e.marquee&&t.autoplay&&typeof t.autoplay==`object`&&(t.speed=e.speed,t.autoplay.pauseOnMouseEnter=true,r.style.setProperty(`--swiper-wrapper-transition-timing-function`,`linear`));let n=new window.CooeeSDK.Swiper(r,t);return r.style.setProperty(`--swiper-navigation-size`,`${e.navigation.size}px`),n}function cr$1(r,e,t){let n={color:r.navigation.color?.rgba};return r.pagination.enabled&&(n.transform=`translateY(-25%)`),l$2(`div`,{class:`swiper-container`,ref:e,style:`max-width: 100%`,children:[l$2(`div`,{class:`swiper-wrapper`,children:t()}),r.navigation.enabled&&l$2(`div`,{class:`swiper-button-next`,style:n,children:l$2(`span`,{})}),r.navigation.enabled&&l$2(`div`,{class:`swiper-button-prev`,style:n,children:l$2(`span`,{})}),r.pagination.enabled&&l$2(`div`,{className:`swiper-pagination`,style:{bottom:0,top:`unset`,position:`relative`,color:r.pagination.color?.rgba}})]})}var wd=()=>{let r=window.ShopifyAnalytics?.meta??{},e=r.selectedVariantId;if(e)return e;if(r.product?.variants?.length>0)return r.product.variants[0].id},Wr=r=>{if(!r)return;let e;try{e=new URL(r);}catch{return}if(e.hostname!==`cdn.shopify.com`)return r;let t=e.pathname.split(`.`);return t.length!==2?r:(e.pathname=t[0]+`_large.`+t[1],e.toString())};var it=class extends w$1{componentDidMount(){Z$1(()=>{this.setState(()=>({checked:this.props.item.selected.value}));});}render(){return l$2(`div`,{style:this.getCompiledStyles(),className:this.getClasses(`lc-checkbox`),children:l$2(`input`,{type:`checkbox`,checked:this.state.checked,onChange:this.onChange.bind(this),style:{appearance:`auto`}})})}onChange(e){let{checked:t}=e.target;this.props.item.selected.value=t;}getTypoStyles(){let e={},t=this.mediaStyle.typo??new G$2;return e.textAlign=t.alignment,e.justifyContent=t.alignment,e}getComponentStyles(){return s$3(r$2({},this.getTypoStyles()),{display:`flex`})}};var se$1=class se extends w$1{constructor(e,t){super(e,t);}render(){let e=this.props.element[this.deviceTypeKey],t=e?.src||this.props.element.src||this.props.element.lg?.src;return l$2(`img`,{onClick:this.customOnClick.bind(this),alt:e?.name||`Image`,className:this.getClasses(`lc-image`),onMouseEnter:this.handleMouseEnter.bind(this),onMouseLeave:this.handleMouseLeave.bind(this),src:t,style:this.getCompiledStyles()})}customOnClick(e){this.props.element.clc?.at===he$3.ADD_TO_CART&&this.props.triggerContext.triggerData.items[0]&&this.onClick(e,{item:this.props.triggerContext.triggerData.items[0]}),this.props.onClick&&this.props.onClick(`image`);}getComponentStyles(){let e=this.mediaStyle.lout;if(!e||e.pos!==`absolute`)return {};let t={zIndex:e.zIndex,cursor:this.props.element.clc?.at?`pointer`:`auto`};return this.mediaStyle.size?.w&&(t.width=this.mediaStyle.size.w),this.mediaStyle.size?.h&&(t.height=this.mediaStyle.size.h),t}handleMouseEnter(e){let t=this.props.element[this.deviceTypeKey]?.secondarySrc;t&&(e.currentTarget.src=t);}handleMouseLeave(e){e.currentTarget.src=this.props.element[this.deviceTypeKey]?.src;}};var ae$1=class ae extends w$1{render(){if(!(this.props.element.hide||!this.matchWhenCondition(this.props.element.when)))return l$2(`div`,{style:this.getCompiledStyles(),className:this.getClasses(`lc-flexbox`),children:l$2(ue,{elements:this.props.elements,element:this.props.element,triggerContext:this.props.triggerContext})})}getComponentStyles(){let e=this.mediaStyle.flex??new Et$2,t={display:`flex`,gap:e.gap+`px`,flexWrap:e.wrap,flexDirection:e.dir,justifyContent:e.jc,alignItems:e.ai};return e.wrap===`nowrap`&&e.scroll&&(e.dir===`column`?t[`overflow-y`]=`auto`:t[`overflow-x`]=`auto`),t}};var st=class extends ae$1{render(){if(!(this.props.element.hide||!this.matchWhenCondition(this.props.element.when)))return l$2(`div`,{style:this.getCompiledStyles(),className:this.getClasses(`lc-flexbox`),children:l$2(Ke$1,{elements:this.props.elements,element:this.props.element,triggerContext:this.props.triggerContext,item:this.props.item,productVariables:this.props.productVariables,noLinks:this.props.noLinks})})}};var at$1=class at extends w$1{render(){return l$2(`select`,{style:this.getCompiledStyles(),value:this.props.selectedVariant.selectedSellingPlan.value?.mID??``,onChange:this.onChange.bind(this),disabled:this.state.disabled,className:this.getClasses(`lc-dropdown`),children:this.createSelectItems()})}componentDidMount(){Z$1(()=>{this.setState(()=>({disabled:this.props.triggerContext.triggerData.isBundle()?!this.props.item.selected.value:false}));});}getComponentStyles(){let e={};return this.props.selectedVariant.sellingPlans?.length||(e.visibility=`hidden`),r$2(r$2({},e),In(this.mediaStyle.typo))}createSelectItems(){let e=[],t=this.props.selectedVariant;if(!t.sellingPlans?.length)return [];this.props.triggerContext.triggerData.content?.subsUpgradeConfig?.skipSubscribedItems?t.selectedSellingPlan.value||(t.sellingPlans[0].isSelected=true,t.changeSellingPlan(t.sellingPlans[0])):e.push(l$2(`option`,{value:``,selected:!t.selectedSellingPlan,children:`One time purchase`}));for(let n of t.sellingPlans??[])e.push(l$2(`option`,{value:n.mID,selected:n.isSelected,children:n.name}));return e}onChange(e){let t=e.target.value;t?this.props.selectedVariant.selectedSellingPlan.value=this.props.selectedVariant.sellingPlans.find(n=>n.mID===t):this.props.selectedVariant.selectedSellingPlan.value=void 0;}};var wi$1=new RegExp(`fill="#[a-zA-Z0-9]+"`),ct$1=class ct extends w$1{constructor(){super();}render(){let e=this.getCompiledStyles(),t=this.getRating();return t||(e.display=`none`,t=``),l$2(`div`,{style:e,className:this.getClasses(`lc-star-rating`),dangerouslySetInnerHTML:{__html:t}})}getRating(){let e={size:this.props.element.iconSize,color:this.props.element.c.hex},t=Fe$2(this.props.element.fullStar,{svg:e},this.props.triggerContext),n=Fe$2(this.props.element.halfStart,{svg:e},this.props.triggerContext),o=this.props.review;if(!o?.rating)return ``;let i=``;if(this.props.element.showSingleStar)i=t;else {let s=5,c=`${o.rating}`.split(`.`);for(let p=0;p<+c[0];p++)i+=t,s--;c[1]&&(i+=n,s--);for(let p=0;p<s;p++)i+=t.replace(wi$1,`fill="#f1f1f1"`);}return i}getComponentStyles(){return {display:`flex`,alignItems:`center`}}};var lt$1=class lt extends w$1{render(){return l$2(`select`,{style:this.getCompiledStyles(),value:this.props.item.selectedOrFirstVariant.value.mID,onChange:this.onChange.bind(this),disabled:this.state.disabled,className:this.getClasses(`lc-dropdown`),children:this.createSelectItems()})}componentDidMount(){Z$1(()=>{this.setState(()=>({disabled:this.props.triggerContext.triggerData.isBundle()?!this.props.item.selected.value:false}));});}getComponentStyles(){let e={};return this.props.item.vars?.length===1&&this.props.item.vars[0].name===`Default Title`&&(e.visibility=`hidden`),r$2(r$2({},e),In(this.mediaStyle.typo))}createSelectItems(){let e=[];for(let t of this.props.item.vars)e.push(l$2(`option`,{value:t.mID,disabled:!t.isAvailable,children:t.name}));return e}onChange(e){let t=e.target.value,n=this.props.item.vars.find(o=>o.mID===t);this.props.item.setSelectedVariant(n);}};var Ke$1=class Ke extends w$1{constructor(e,t){super(e,t),this.setState(()=>({decoration:`unset`}));}renderElement(e){if(!(e.hide||!this.matchWhenCondition(e.when))){if(e.t===4){let t=e;return t.l===`Star Rating`&&!this.props.item.reviews?.rating?void 0:l$2(st,{element:t,triggerContext:this.props.triggerContext,elements:t.elems,item:this.props.item,productVariables:this.props.productVariables,noLinks:this.props.noLinks})}if(e.t===6){let t=this.props.triggerContext,n=t.triggerData;return n.isBundle()||n.isAddOns()?l$2(it,{element:e,item:this.props.item,triggerContext:t}):void 0}if(e.t===8){let t=e;if(!t.templateName)return ``;try{if(!/^[a-zA-Z0-9_-]+$/.test(t.templateName))return Y$2.error(`Invalid partial template name`,t.templateName),``;let n=Fe$2(`{{ @include("${t.templateName}", it) /}}`,this.props.productVariables??{});return l$2(`div`,{className:`lc-partial-`+t.templateName,dangerouslySetInnerHTML:{__html:n}})}catch(n){return Y$2.error(`Failed to render partial element`,t.templateName,this.props.productVariables,n),``}}if(e.t===13){let t=e,n=this.props.item,o=Wr(n.variantImage??n.firstImageURL),i=Wr(n.variantSecondaryImage??n.secondaryImageURL);t.lg=t.sm={src:o,name:n.name,secondarySrc:i};let s=l$2(se$1,{element:t,onClick:this.customOnClick.bind(this),triggerContext:this.props.triggerContext});return this.props.noLinks?s:l$2(`a`,{href:this.props.item.selectedOrFirstVariant.value.link,style:{display:`block`},children:s})}if(e.t===14)return this.renderProductTitle(e);if(e.t===15){let t=e;return this.props.triggerContext.triggerData.isCartEmbed()&&this.props.item.vars?.length===1&&this.props.item.vars[0].name===`Default Title`?void 0:t.type!==`SINGLE`?l$2(`cooee-product-options-picker`,{item:this.props.item,styles:t.style,horizontal:t.horizontal,dropdownType:t.type}):l$2(lt$1,{element:t,item:this.props.item,triggerContext:this.props.triggerContext})}return e.t===16?l$2(at$1,{element:e,selectedVariant:this.props.item.selectedOrFirstVariant.value,item:this.props.item,triggerContext:this.props.triggerContext}):e.t===19?l$2(ct$1,{element:e,triggerContext:this.props.triggerContext,review:this.props.item.reviews}):e.t===18||e.t===3?l$2(Se$1,{element:e,item:this.props.item,triggerContext:this.props.triggerContext}):l$2(ue,{elements:[e],element:this.props.element,triggerContext:this.props.triggerContext})}}render(){return this.attachListener(),this.props.elements.map(e=>this.renderElement(e))}getComponentStyles(){return {}}renderProductTitle(e){let t=l$2(V$1,{element:e,onClick:this.customOnClick.bind(this),triggerContext:this.props.triggerContext});return this.props.noLinks?t:l$2(`a`,{href:this.props.item.selectedOrFirstVariant.value.link,style:{display:`block`,textDecoration:this.state.decoration},onMouseEnter:this.onMouseEnter.bind(this),onMouseLeave:this.onMouseLeave.bind(this),children:t})}customOnClick(e){this.sendTriggerClicked([this.props.item.toEmbed()],{from:e});}onMouseEnter(){this.setState(()=>({decoration:`underline`}));}onMouseLeave(){this.setState(()=>({decoration:`unset`}));}attachListener(){document.addEventListener(`letscooee:variant-change`,e=>{let t=e;if(!t.detail||this.props.item.mID!==t.detail.productID)return;let n=t.detail.variantID;this.props.item.setSelectedVariantByID(n);});}};var Te=class extends w$1{productElement;constructor(e,t){super(e,t),this.setState(()=>({decoration:`unset`}));}render(){let e=this.props.item,t=this.getProductData();if(this.productElement=new de$1(We$3(this.props.element,t,this.props.triggerContext)),this.productElement.hide||!this.matchWhenCondition(this.productElement.when))return;let o=this.getClasses([`lc-single-product`,...e.cardClasses??[]].join(` `));return l$2(`div`,{style:r$2({},this.getCompiledStyles()),className:o,children:l$2(Ke$1,{element:this.productElement,elements:this.productElement.elems,triggerContext:this.props.triggerContext,item:this.props.item,productVariables:t,noLinks:this.productElement.noLinks})})}getComponentStyles(){return {flexShrink:0}}getProductData(){if(!this.props.item)return {};let e=this.props.item,t=e.selectedOrFirstVariant.value,n=e.getTemplateVariables();n.product.quantity=this.props.triggerContext.hasManipulatedProductQuantity()?this.props.triggerContext.getManipulatedQuantity(this.props.item.quantity):this.props.item.quantity;let o=this.props.triggerContext.triggerData.discount?.type===q.BXGY;return !t.hasEffectivePrice()&&o&&(n.product=s$3(r$2(r$2({},n.product),Gn$1(`effective_price`,t.effectivePrice.value)),{price:``})),n.variant.quantity=this.props.triggerContext.hasManipulatedProductQuantity()?this.props.triggerContext.getManipulatedQuantity(t.quantity):t.quantity,{product:n.product,variant:n.variant,svg:{color:`{{ svg.color }}`,size:`{{ svg.size }}`}}}};var mt$1=class mt extends w$1{swiperRef=null;swiperInstance=null;configuration;gap;constructor(e,t){super(e,t),this.configuration=M$3()?this.props.element.conf.sm:this.props.element.conf.lg,this.gap=(this.configuration.gap??15)+`px`;}componentDidMount(){this.props.element.conf[this.deviceTypeKey].disp===2&&Mi$2().then(()=>{this.swiperInstance=ar$1(this.swiperRef,this.props.element.conf[this.deviceTypeKey]);});}componentWillUnmount(){this.swiperInstance&&this.swiperInstance.destroy();}render(){let e=this.props.triggerContext.triggerData.items;e.splice(this.configuration.maxItems??10);let t;if(this.configuration.disp===2){let n=i=>{this.swiperRef=i;},o=()=>e?.map(i=>l$2(`div`,{class:`swiper-slide`,children:this.getProductFragment(i)}));t=l$2(`div`,{style:s$3(r$2({},this.getCompiledStyles()),{display:`block`}),className:this.getClasses(`lc-product-swiper-list`),children:cr$1(this.configuration,n,o)});}else t=l$2(`div`,{style:this.getCompiledStyles(),className:this.getClasses(`lc-product-list`),children:e?.map((n,o)=>this.getProductFragment(n,o!==e.length-1))});return t}getComponentStyles(){let e=[0,2].includes(this.configuration.disp),t={display:e?`flex`:`grid`,justifyContent:`safe `+(this.mediaStyle.flex?.jc??`center`),gap:this.gap,flexDirection:this.mediaStyle.flex?.dir??`row`};if(t.flexDirection===`row`){if(e)t.maxWidth=`100%`,t.overflowY=`auto`;else if(this.configuration.disp===1){let n=this.props.triggerContext.triggerData,o=n.items.length,i;n.isBundle()?i=this.props.element.prod.symbol?.hide!==true?o*2-1:o:i=this.props.element.conf[this.deviceTypeKey].maxInRow,t.gridTemplateColumns=`repeat(${i}, auto)`;}}return t}getProductFragment(e,t=false){return l$2(ut$3,{children:[l$2(Te,{element:this.props.element.prod,item:e,triggerContext:this.props.triggerContext}),this.props.triggerContext.triggerData.isBundle()&&t&&this.props.element.prod.symbol&&!this.props.element.prod.symbol.hide&&l$2(`div`,{style:{display:`flex`,alignItems:`center`,justifyContent:`center`},children:l$2(V$1,{element:this.props.element.prod.symbol,triggerContext:this.props.triggerContext})})]},e.mID)}};var pt$1=class pt extends w$1{swiperRef=null;swiperInstance=null;constructor(e,t){super(e,t);}componentDidMount(){Mi$2().then(()=>{this.swiperInstance=ar$1(this.swiperRef,this.props.element.conf);});}componentWillUnmount(){this.swiperInstance&&this.swiperInstance.destroy();}render(){let e=this.props.element,t=o=>{this.swiperRef=o;},n=()=>{let o=e.values?.map(c=>l$2(`div`,{class:`swiper-slide`,onClick:p=>this.onClick(p,{clickAction:this.getClickAction(c)}),children:this.renderElement(c)}));if(!o?.length)return [];let i=e.conf,s=o.length;if(i.marquee&&s<=Number(i.maxInRow)){let c=Number(i.maxInRow)-s+1;for(let p=0;p<c;p++)o.push(o[p%s]);}return o};return cr$1(e.conf,t,n)}getComponentStyles(){return {}}renderElement(e){let t=this.valueAddedSlide(this.props.element.slide,e);switch(t?.t){case 1:return l$2(se$1,{element:t,triggerContext:this.props.triggerContext});case 4:return l$2(ae$1,{elements:t.elems,element:t,triggerContext:this.props.triggerContext});default:Y$2.warn(`Unknown slide type for carousal`);}}valueAddedSlide(e,t){let n=We$3(e,{form:t},this.props.triggerContext);return B$2.getParsedElement(n)}getClickAction(e){return We$3(this.props.element.clc??{},{form:e},this.props.triggerContext)}};var ue=class extends w$1{constructor(e,t){super(e,t),this.setState(()=>({decoration:`unset`})),Z$1(()=>{this.setState(()=>({showButton:!this.props.triggerContext.triggerData.isBundle()||!!this.props.triggerContext.selectedItems.length}));});}renderElement(e){if(!e.hide){if(e.t===4){let t=e;return l$2(ae$1,{element:t,triggerContext:this.props.triggerContext,elements:t.elems})}if(e.t===61)return l$2(ot,{element:e,triggerContext:this.props.triggerContext});if(e.t===3)return this.state.showButton?l$2(Se$1,{element:e,triggerContext:this.props.triggerContext}):void 0;if(e.t===2)return l$2(V$1,{element:e,triggerContext:this.props.triggerContext});if(e.t===1)return l$2(se$1,{element:e,triggerContext:this.props.triggerContext});if(e.t===11)return l$2(mt$1,{element:e,triggerContext:this.props.triggerContext});if(e.t===12)return l$2(Te,{element:e,item:this.props.triggerContext.triggerData.items[0],triggerContext:this.props.triggerContext});if(e.t===62)return l$2(pt$1,{element:e,triggerContext:this.props.triggerContext})}}render(){return this.props.elements.map(e=>this.renderElement(e))}getComponentStyles(){return {}}};var dt$1=class dt extends w$1{clickAction;isClickable;constructor(e,t){super(e,t),this.clickAction=this.props.element.clc,this.isClickable=this.clickAction?.at===he$3.GO_TO_URL&&!!Un(this.clickAction.gu?.u)||this.clickAction?.at===he$3.OPEN_CART||this.clickAction?.at===he$3.INITIATE_CHECKOUT;}componentDidMount(){Z$1(()=>{let e=this.props.triggerContext.triggerData,t=this.props.triggerContext.selectedItems;e.calculateDiscountData(t,this.props.triggerContext.shouldGiveFBTDiscount);});}render(){return l$2(ut$3,{children:[l$2(`div`,{style:this.getCompiledStyles(),className:this.getClasses(`lc-container`),onClick:e=>{this.onClick(e,{clickAction:this.clickAction});},children:l$2(ue,{elements:this.props.elements,element:this.props.element,triggerContext:this.props.triggerContext})}),this.props.triggerContext.triggerData.id===`preview`&&l$2(`div`,{class:`letscooee-preview-badge`,children:[`#`,this.props.triggerContext.triggerData.shortID,` preview`]})]})}getComponentStyles(){let e={position:`relative`,overflow:`hidden`,display:`block`};return this.isClickable&&(e.cursor=`pointer`),e}};var x$2=class r$9{constructor(e){this.engagementTrigger=e;this.triggerContext=new Be$1(new Date,this.engagementTrigger);}static engagementIDsWithTrackedDisplay=new Set;static DEBOUNCE_TIME=1e3;rootContainer;widgetElement;triggerContext;observers=[];renderedCount=0;scrollSubscription;isExclusionWithBVariation;isProcessing=false;lockReleased$=new U;renderSilently(){this.acquireProcessingLock()||this.render().finally(()=>this.releaseProcessingLock()).catch(e=>{Fe$3(e,`render-widget`,{triggerContext:this.triggerContext});});}destroy(){Y$2.verbose(`${this.engagementTrigger} will be destroyed`),this.preDestroy(),this.removeFromRendered(),this.rootContainer?.remove(),r$9.engagementIDsWithTrackedDisplay.delete(this.engagementTrigger.shortID),Vi$2(this.engagementTrigger.content?.afterDeleteJS);}matches(e){return this.engagementTrigger.shortID===e.shortID}async render(){if(this.engagementTrigger.shouldGetVariationImmediately()){let e=await this.getVariation();this.handleVariationResponse(e);}if(this.rootContainer=await this.getWidgetContainer(true),!this.rootContainer){Y$2.warn(`${this.engagementTrigger} no section found to render the widget`);return}this.afterRootContainerCreated(),await this.getVariationIfRequired(),await this.runChoresBeforeRender(),this.attachScroll(),this.checkAndSendEvent(),this.triggerContext.renderer=this,Vi$2(this.engagementTrigger.content?.afterRenderJS);}async updateAndReRender(e){await this.waitForLockRelease(),this.acquireProcessingLock();try{this.updateItems(e.items,this.engagementTrigger.items),await this.update(e),await this.render();}finally{this.releaseProcessingLock();}}async update(e){this.engagementTrigger.variation=e.variation;}async rerenderIfDeleted(){if(!this.rootContainer?.isConnected&&!this.acquireProcessingLock()){Y$2.info(`${this.engagementTrigger} deleted. Will be re-rendered`);try{this.preDestroy(),await this.render();}finally{this.releaseProcessingLock();}}}updateAngularWidget(){return this.widgetElement?.isConnected?(this.widgetElement.update(),true):false}preDestroy(){this.scrollSubscription?.unsubscribe(),this.observers.forEach(e=>{e?.disconnect&&e.disconnect();});}acquireProcessingLock(){return this.isProcessing?(Y$2.verbose(`Lock could not be acquired for ${this.engagementTrigger}`),true):(Y$2.verbose(`Acquiring rendering lock for ${this.engagementTrigger}`),this.isProcessing=true,false)}releaseProcessingLock(){Y$2.verbose(`Releasing rendering lock for ${this.engagementTrigger}`),this.isProcessing=false,this.lockReleased$.next();}async waitForLockRelease(){this.isProcessing&&await le$2(this.lockReleased$);}afterRootContainerCreated(){}isAllOkToRender(){return !!this.engagementTrigger.widget}async getVariationIfRequired(){if(this.engagementTrigger.shouldSkipVariation()){Y$2.verbose(`${this.engagementTrigger} already has necessary data to render`);return}let e=await this.observeWidgetContainerInViewport();this.handleVariationResponse(e);}handleVariationResponse(e){if(!e)return;let t=this.engagementTrigger;Y$2.log(`${t} visitor has been assigned to variation ${e.variation}`),e.items?.length&&(t.items=e.items.map(n=>new mt$3(n)),t.nonMutableItems=e.items.map(n=>new mt$3(n))),e.bundleFrom&&(t.bundleFrom=new mt$3(e.bundleFrom)),e.discount&&(t.discount=e.discount),e.placement&&(t.placement=e.placement),pe$4.hasKeys(e.stickyATCConfig)&&(t.stickyATCConfig=e.stickyATCConfig),e.props&&pe$4.hasKeys(e.props)&&(t.props=r$2(r$2({},t.props),e.props)),e.content&&(t.content=new et(e.content)),t.widget=new qe$1(e.widget),t.contentID=e.contentID,t.variation=e.variation,t.placement=e.placement,t.manipulation=e.manipulation,t.entryAnimation=e.entryAnimation??`NONE`,this.isExclusionWithBVariation=t.isExclusionTesting()&&t.variation===`b`,this.isExclusionWithBVariation&&(this.rootContainer.style.height=`0.5px`);}addToRendered(){this.renderedCount++,Y$2.info(`${this.engagementTrigger} rendered \u2705 ${Kn$1(this.renderedCount)} time`);}removeFromRendered(){this instanceof j$1?De.delete(this):Xe$1.delete(this);}async getVariation(){Y$2.log(`${this.engagementTrigger} get variation`);let e={engagementID:this.engagementTrigger.engagementID,isPreview:this.engagementTrigger.id===`preview`};try{return (await uo(e)).data}catch(t){if(t instanceof ne$3&&t.response?.status===400)return;Fe$3(t,`get-variation`,{engagementTrigger:this.engagementTrigger});return}}async observeWidgetContainerInViewport(){if(!this.rootContainer){Y$2.warn(`${this.engagementTrigger} No root container found to watch for viewport`);return}let e=window.innerHeight*.3,t={root:null,rootMargin:`${e}px 0px ${e}px 0px`,threshold:0};return this.isInViewport()?this.getVariation():new Promise(n=>{let o=new IntersectionObserver((i,s)=>{i.forEach(async c=>{if(c.isIntersecting){Y$2.log(`${this.engagementTrigger} root container is near the viewport. Fetching variation`);n(await this.getVariation()),s.unobserve(this.rootContainer);}});},t);o.observe(this.rootContainer),this.observers.push(o);})}attachScroll(){this.scrollSubscription=Tr$1(window,`scroll`).pipe(Fe$1(r$9.DEBOUNCE_TIME)).subscribe(()=>{this.checkAndSendEvent();});}checkAndSendEvent(){let e=this.engagementTrigger.shortID;if(r$9.engagementIDsWithTrackedDisplay.has(e)||!this.isInViewport())return;let n={};this.triggerContext.triggerData.items?.length&&(n.promotedMIDs=this.engagementTrigger.items?.map(s=>s.mID));let i=new Ir$2(this.isExclusionWithBVariation?`CE Campaign Holdout`:`CE Trigger Displayed`,n,this.engagementTrigger);i.name===`CE Campaign Holdout`&&(i.trigger.holdout=true),X(i),r$9.engagementIDsWithTrackedDisplay.add(e),this.scrollSubscription.unsubscribe();}generateParentElementID(){return `letscooee-${this.engagementTrigger.shortID}`}createAngularWidget(e){let t=this.widgetElement=document.createElement(e);return t.cart=h.getCurrent(),t.triggerContext=this.triggerContext,t.engagementTrigger=this.engagementTrigger,t.setAttribute(`engagement`,this.engagementTrigger.shortID),this.rootContainer.appendChild(t),this.addToRendered(),this.injectOuterCSSOnly(),t}getParentElement(e,t=document){let n=t.getElementById(e);if(n)return n;let o=this.engagementTrigger.objective.toLowerCase().replaceAll(`_`,`-`),i=this.engagementTrigger.shortID;n=document.createElement(`div`),n.id=e;let s=`letscooee letscooee-engagement engagement-${i} lc-${o}`;return this.engagementTrigger.content?.classes&&(s+=` ${this.engagementTrigger.content.classes}`),n.className=s,n.dataset.engagementId=i,this.engagementTrigger.id===`preview`&&(n.className+=` letscooee-preview`),n.style.display=`block`,n.style.minHeight=`0.5px`,n.style.minWidth=`0.5px`,n}async startRendering(){let e=this.rootContainer,t=this.triggerContext.triggerData.hasSwiperElement();t&&(e=this.rootContainer?.shadowRoot||this.rootContainer?.attachShadow({mode:`open`}),Hi$2(e)),this.injectCampaignCSS(t,e);let n=this.engagementTrigger.widget;Ye$2(Yr$2(dt$1,{element:n.cont,triggerContext:this.triggerContext,elements:n.elems}),e),this.addToRendered();}injectCampaignCSS(e,t){let n=this.engagementTrigger.content?.outerCSS?.trim()??``,o=this.engagementTrigger.content?.innerCSS?.trim()??``;if(!n&&!o)return;let i=this.rootContainer.id;if(e){le$4(o,t),this.injectOuterCSSOnly();return}le$4(`#${i} { ${n+`
|
|
84
|
+
${o}`} }`);}injectOuterCSSOnly(){let e=this.engagementTrigger.content?.outerCSS?.trim();if(!e)return;let t=this.rootContainer.id;le$4(`#${t} { ${e} }`);}isInViewport(){let e=this.rootContainer?.getBoundingClientRect();if(!e)return false;let t=window.innerHeight||document.documentElement.clientHeight,s=(Math.min(e.bottom,t)-Math.max(e.top,0))*e.width/(e.width*e.height)*100;return this.engagementTrigger.isAnySplit()?s>0:s>=30}async getWidgetContainer(e){if(this.rootContainer?.isConnected)return this.rootContainer;let t=await this.createParentElementWithPlacement(e);if(t)return t;let n=`.letscooee[data-engagement-id="${this.triggerContext.triggerData.shortID}"]`;return document.querySelector(n)}async createParentElementWithPlacement(e){let t=this.engagementTrigger.placement;if(!t?.selector)return Y$2.info(`\u26A0\uFE0F${this.engagementTrigger} does not have a selector`),null;let n=t.selector,o;if(n.includes(`:shadow`)){let p=n.split(`:shadow`);o=(await jn$1(p[0].trim()))?.shadowRoot,n=p[1].trim(),o&&Hi$2(o,false);}Y$2.verbose(`${this.engagementTrigger} attempt to render "${t.position}" "${n}"`);let i=await jn$1(n,3,o??document);if(!i)return Y$2.warn(`${this.engagementTrigger} no placement found with ${n}`),null;let s=this.generateParentElementID(),c=this.getParentElement(s);if(!e)return c;switch(t.position){case ce$3.BEFORE1:case ce$3.BEFORE:i.parentElement?.insertBefore(c,i);break;case ce$3.INSIDE_FIRST1:case ce$3.INSIDE_FIRST:i.insertBefore(c,i.firstChild);break;case ce$3.INSIDE_LAST1:case ce$3.INSIDE_LAST:i.appendChild(c);break;case ce$3.AFTER1:case ce$3.AFTER:default:i.parentElement?.insertBefore(c,i.nextSibling);}return c}async runChoresBeforeRender(){if(this.isExclusionWithBVariation)return;if(!this.isAllOkToRender()){Y$2.info(`\u26A0\uFE0F ${this.engagementTrigger} could not be rendered`);return}Y$2.verbose(`${this.engagementTrigger} will be rendered`);let e;try{e=await nr$1(this.engagementTrigger);}catch(t){Y$2.info(`\u203C\uFE0F${this.engagementTrigger} could not render as items failed to refresh`,t);return}if(!this.engagementTrigger.isCollectionPromoted()&&!e?.length&&this.engagementTrigger.isProductPromoted()){Y$2.info(`\u203C\uFE0F${this.engagementTrigger} could not render as no products promoted`);return}this.engagementTrigger.items=e,await this.startRendering();}updateItems(e,t){let n=this.getItemDiff(e,t),o=this.getItemDiff(t,e);t.push(...n);for(let i of o)oe$1.remove(t,i);}getItemDiff(e,t){return e.filter(n=>!t.some(o=>o.selectedOrFirstVariant.value.mID===n.selectedOrFirstVariant.value.mID))}};var j$1=class j extends x$2{constructor(e){super(e);}rerenderAfterCartOpened(){this.rerenderIfDeleted(),this.checkAndSendEvent();}observeWidgetContainerInViewport(){return this.getVariation()}generateParentElementID(){let e=super.generateParentElementID();return this.engagementTrigger.isSubscriptionUpsell()&&(e+=`-${this.engagementTrigger.items[0].selectedOrFirstVariant.value.mID}`),e}checkAndSendEvent(){if(!D$1.get().isOpen()&&Ue$1().pageName!==`cart`){Y$2.log(`Do not send display event as neither the cart drawer nor the cart page is open.`);return}return super.checkAndSendEvent()}};var lr$1=class r{constructor(e,t){this.engagementTrigger=e;this.element=t;this.cartItems=h.getCurrent().items;}cartItems;static renderCartUpsell(e){let t=e.placement;if(!t?.selector){Y$2.warn(`No placement available for ${e.objective}`,e.shortID);return}let n=Array.from(document.querySelectorAll(t.selector));if(!n?.length){Y$2.warn(`No placement found for ${e.objective}`,e.shortID);return}for(let o of n)new r(e,o).render();}render(){let e=this.findCartItemFromHTMLElement();if(!e||this.engagementTrigger.content?.subsUpgradeConfig?.skipSubscribedItems&&e.selling_plan_allocation)return;let t=this.engagementTrigger.items.find(d=>d.mID===e.product_id.toString());if(!t)return;let n=t.vars.find(d=>d.mID===e.id.toString());if(!n)return;let o=new dt$2(n),i=e.selling_plan_allocation?.selling_plan;if(i)for(let d of o.sellingPlans??[])d.mID===i.id.toString()&&(d.isSelected=true,o.changeSellingPlan(d));let s=new mt$3(t);s.vars=[o],s.selectedOrFirstVariant.value=o;let c=`lc-cart-item-${this.engagementTrigger.shortID}-${t.mID}`;this.element.classList.add(c);let p=new G(this.engagementTrigger);p.placement.selector=`.${c}`,p.items=[s];let u=new j$1(p);u.renderSilently(),this.watchForCartItemDeletion(u,c);}watchForCartItemDeletion(e,t){let n=new MutationObserver(o=>{o.forEach(i=>{i.removedNodes.forEach(s=>{s===this.element&&(Y$2.verbose(`${t} has been removed`),e.destroy(),n.disconnect());});});});n.observe(this.element.parentElement,{childList:true,subtree:true});}findCartItemFromHTMLElement(){let e=this.element.innerHTML;return this.cartItems.find(t=>{if(!(e.includes(t.url)||e.includes(t.variant_id))&&(!e.includes(t.product_title)||t.variant_title&&!e.includes(t.variant_title)))return false;let n=t.selling_plan_allocation?.selling_plan?.name;return !(n&&!e.includes(n))})}};var mr$1=class mr extends x$2{constructor(e){super(e);}isAllOkToRender(){return true}async startRendering(){if(this.widgetElement?.isConnected){this.addToRendered();return}this.createAngularWidget(`cooee-collection-filter`);}};var pr$1=class pr extends j$1{constructor(e){super(e);}async update(e){await super.update(e),this.engagementTrigger.progressBarConfig.update(e.progressBarConfig),await this.checkMilestoneTryCatch(),this.updateAngularWidget();}isAllOkToRender(){return !!this.engagementTrigger.progressBarConfig}async startRendering(){if(this.updateAngularWidget()){this.addToRendered();return}this.createAngularWidget(`cooee-progressbar`),await this.checkMilestoneTryCatch();}async checkMilestoneTryCatch(){try{await this.checkMilestone();}catch(e){Fe$3(e,`apply-milestones`,{engagementTrigger:this.engagementTrigger});}}async checkMilestone(){let e=await h.getCurrent().getNormalisedCart(true),t=this.engagementTrigger.progressBarConfig,n=[],o=[],i=[],s,c,p=[...t.milestones];for(let u of p){if(u.rewardType!==Ee$4.FREE_AUTO_GIFT)continue;if(u.isUIOnly&&!u.allowATC){Y$2.verbose(`Skipping milestone ${u.label} as it is UI only and does not allow ATC`);continue}let d=u.items[0],y=u.reached,S=e.items.find(g=>(g.vID===d.vID||g.mID===d.mID)&&g.properties._letscooee_campaign===this.engagementTrigger.shortID);y&&(s=u,c=S),S&&n.push(S),!y&&S&&t.removeIneligibleItem?(Y$2.verbose(`Removing free gift ${S.vID} from cart`),i.push(S)):y&&!S&&(Y$2.verbose(`Adding free gift ${d.vID} to cart`),o.push(d));}t.restrictToLatestFreebie&&s&&(c?(n=n.filter(u=>u.vID!==c.vID),o=[]):o=[s.items[0]],i.push(...n)),t.treatFreebieAsSeparateLineItem?await this.handleSeparateFreebieLineItems(o,i):await this.handleCombinedCartUpdate(o,i);}async handleSeparateFreebieLineItems(e,t){if(!t.length&&!e.length)return;let n=new ge,o=[];if(e.length){let c=this.addFreebiesOperation(e,n);o.push(c);}if(t.length){let c=this.removeFreebiesOperation(t);o.push(c);}if(!o.length)return;let i;try{i=await Promise.all(o),Y$2.log(`All freebie and coupon operations completed`);}catch(c){Fe$3(c,`parallel-freebie-operations`,{engagementTrigger:this.engagementTrigger});}let s;e.length&&i?.length&&(s=i[0]),D$1.get().refreshUI(s,false);}async removeFreebiesOperation(e){let t={updates:{}};return e.forEach(n=>t.updates[n.key??n.vID]=n.quantity-1),Br(t,this.engagementTrigger)}async addFreebiesOperation(e,t){return t.addToCart(e,this.engagementTrigger)}async handleCombinedCartUpdate(e,t){let n=this.engagementTrigger.progressBarConfig,o={},i={};t.length&&t.forEach(y=>i[y.key??y.vID]=0),e.length&&e.forEach(y=>i[y.vID]=1);let s=n.coupons,c=[];if(s?.length){c=s.map(g=>g.couponCode);let y=h.getCurrent().discount_codes?.map(g=>g.code)??[];c.every(g=>y.some(v=>v===g))||(o.discount=c.join(`,`));}if(pe$4.hasKeys(i)&&(o.updates=i),!pe$4.hasKeys(o))return;let p=await Br(o,this.engagementTrigger),u=p?.items,d=[];for(let y of e){let S=u?.find(g=>c?.length?g.id+``===y.vID&&g.discounts?.some(v=>c.includes(v.title)):g.id+``===y.vID);S&&d.push(S);}if(!d.length){D$1.get().refreshUI(p,false);return}try{await Promise.all(d.map(y=>po(y,{properties:this.engagementTrigger.getPrivateAttributesForLineItem()})));}catch(y){Fe$3(y,`add-private-attribute`,{engagementTrigger:this.engagementTrigger,extra:{productAddedByCooee:d}});}finally{D$1.get().refreshUI(p,false);}}};var gt$1=class gt extends j$1{constructor(e){super(e);}async update(e){await super.update(e),this.engagementTrigger.content.update(e.content),this.updateAngularWidget();}isAllOkToRender(){return !!this.engagementTrigger.content}async startRendering(){if(this.updateAngularWidget()){this.addToRendered();return}this.createAngularWidget(`cooee-savings-bar`);}};var dr$1=class dr extends x$2{constructor(e){super(e);}isAllOkToRender(){return !!this.engagementTrigger.content?.videoConfig}async startRendering(){if(this.widgetElement?.isConnected){this.addToRendered();return}let e;this.engagementTrigger.isFloatingVideo()?e=`cooee-video-popup`:this.engagementTrigger.isVideoStory()?e=`cooee-video-stories`:e=`cooee-video-playlist`,this.createAngularWidget(e);}};var gr$1=class gr extends x$2{constructor(e){super(e);}isAllOkToRender(){return true}async startRendering(){if(this.widgetElement?.isConnected){this.addToRendered();return}this.createAngularWidget(`cooee-sticky-atc`);}};var ur$1=class ur extends x$2{constructor(e){super(e);}isAllOkToRender(){return true}async startRendering(){let e=this.getParentElement(`inner-letscooee-${this.engagementTrigger.shortID}`);this.rootContainer.appendChild(e),document.addEventListener(`letscooee:inbound:cta:add-bundle`,this.inboundCTAListener.bind(this),false);}async inboundCTAListener(e){let t=this.engagementTrigger,n=`Engagement(id: ${t.engagementID}, shortID: ${t.shortID})`,o=e.detail;if(!pe$4.hasKeys(o)){Y$2.error(`No detail received for ${n}`);return}Y$2.log(`Detail received for BYOB`,o);let i=o.campaignID??o.campaignId??o.campaign_id;if(i!==t.shortID&&i!==t.engagementID){Y$2.warn(`Current ${n} is not BYOB. Received: ${i}`);return}let s=o.items;if(!s?.length)return;let c=s.map(p=>new at$2({mID:p.product_id,vID:p.variant_id,quantity:p.quantity||1}));await new je$1(this.triggerContext).execute({embeddedItems:c,clickAction:{at:he$3.ADD_BUNDLE,applyDiscount:true}});}};var fr=class extends x$2{cartChangeSubscription;isProcessingAddOns=false;afterRootContainerCreated(){this.cartChangeSubscription&&!this.cartChangeSubscription.closed||this.listenCartChange();}preDestroy(){super.preDestroy(),this.cartChangeSubscription?.unsubscribe();}listenCartChange(){let e=new ge;this.cartChangeSubscription=window.CooeeSDK.cartChange$.subscribe(async t=>{if(this.isProcessingAddOns||!this.wasCurrentItemAdded(t))return;this.isProcessingAddOns=true;let n=this.triggerContext.triggerData;Y$2.log(`${n} detected current item addition to cart`);let o=this.triggerContext.selectedItems;if(!o?.length){Y$2.log(`No add-ons selected for the current product ${n}`),this.isProcessingAddOns=false;return}Y$2.log(`Adding ${o.length} add on items in the cart`);let i=await e.addToCart(o,n);D$1.get().refreshUI(i,false),this.isProcessingAddOns=false;});}wasCurrentItemAdded(e){let t=window.CooeeSDK.runtimeData.currentItem;return t?!!e.itemsAdded?.find(n=>n.mID===t?.mID&&n.vID===t.vID):false}};var $r=false,Hr=false,hr$1=null,Cr$1=null,fo=false,De=new Set,Xe$1=new Set;function ho(){fo||(fo=true,wt$2(()=>{Gn(document.body,{childList:true,subtree:true},500,qn).subscribe(()=>{Xe$1.forEach(r=>r.rerenderIfDeleted()),De.forEach(r=>r.rerenderIfDeleted());});}));}async function ut$1(r){if(r.length>0&&await vo(),ho(),$r){Y$2.verbose(`Cart widget processing in progress, queuing latest triggers`),hr$1=r;return}$r=true;try{bi$1(r);}finally{if($r=false,hr$1){let e=hr$1;hr$1=null,Y$2.verbose(`Processing queued cart triggers`),ut$1(e);}}}async function ft$1(r){if(r.length>0&&await vo(),ho(),Hr){Y$2.verbose(`Page widget processing in progress, queuing latest triggers`),Cr$1=r;return}Hr=true;try{Ii$1(r);}finally{if(Hr=false,Cr$1){let e=Cr$1;Cr$1=null,Y$2.verbose(`Processing queued page triggers`),ft$1(e).catch(console.error);}}}function vh(){De.forEach(r=>r.rerenderAfterCartOpened());}function bi$1(r){yo(De,r);for(let e of r){Y$2.info(`${e} received as cart embed`);let t=Co(De,e);if(t&&!e.isSubscriptionUpsell()){t.updateAndReRender(e).catch(o=>{Fe$3(o,`update-and-re-render`,{engagementTrigger:e});});continue}Y$2.verbose(`${e} is new`);let n;if(e.isProgressBar())n=new pr$1(e);else if(e.isSubscriptionUpsell()){lr$1.renderCartUpsell(e);continue}else e.isSavingsBar()?n=new gt$1(e):n=new j$1(e);De.add(n),n.renderSilently();}}function Ii$1(r){yo(Xe$1,r);for(let e of r){Y$2.info(`${e} received as page embed`);let t=Co(Xe$1,e);if(t){t.updateAndReRender(e).catch(o=>{Fe$3(o,`update-and-re-render`,{engagementTrigger:e});});continue}Y$2.verbose(`${e} is new`);let n;e.isVideoObjective()?n=new dr$1(e):e.isBYOB()?n=new ur$1(e):e.isStickyATC()?n=new gr$1(e):e.isSavingsBar()?n=new gt$1(e):e.isCollectionFilter()?n=new mr$1(e):e.isAddOns()?n=new fr(e):n=new x$2(e),Xe$1.add(n),n.renderSilently();}}function Co(r,e){for(let t of r)if(t.matches(e))return t}function yo(r,e){let t=new Set(e.map(n=>n.shortID));for(let n of r)t.has(n.engagementTrigger.shortID)||n.destroy();}async function vo(){await(await import('./widgets-DMgPBsGt-DXTadQ2l.js').then(function (n) { return n.ad; })).loadAngularWidgets();}var wo=new U,Eo=0;wo.pipe(Fe$1(50)).subscribe(async r=>{Si$1(await rt()).catch(t=>{Fe$3(t,`load-page-widgets`,{extra:{firstLoad:r}});});});function bo(r=false){le$2(z$2).then(()=>{wo.next(r);}).catch(e=>Y$2.error(`Session not established, skipping fetchWidgets`,e));}async function uo(r){let e=await rt();return Object.assign(r,e),ie$1(`/v1/engagement/get-variant`,r)}async function Si$1(r$10){Eo++,Eo===1?Y$2.info(`Fetch widgets (after ⏰`,An()+` of SDK load)`):Y$2.info(`Fetch widgets`);let e=r$2({},r$10);try{let t=await ie$1(`/v1/engagement/eligible`,e);Y$2.info(`Widgets fetched ${Dn(t.timeTakenMs)}`);ft$1(t.data.pageWidgets?.map(i=>new G(i))??[]).catch(console.error);ut$1(t.data.cartWidgets?.map(i=>new G(i))??[]).catch(console.error);}catch(t){Y$2.error(`Error sending widget getter`,t);}}var Io=x$4(dr$3()),yr$1=class r{static META_REQUIRED_FIELDS=[`ad_id`];static GOOGLE_REQUIRED_FIELDS=[`gad_source`,`gclid`];source;adID;campaignID;adName;campaignName;constructor(e){this.adID=e.adID,this.campaignID=e.campaignID,this.source=e.source;}static getAdParams(){let e;try{e=new Io.URLBuilder(location.href);}catch{return {}}let t={};if(this.META_REQUIRED_FIELDS.every(i=>Array.from(e.getParams().keys()).includes(i)))return t={source:`META`,adID:e.getQueryParam(`ad_id`)?.trim(),campaignID:e.getQueryParam(`campaign_id`)?.trim()},new r(t);if(this.GOOGLE_REQUIRED_FIELDS.every(i=>Array.from(e.getParams().keys()).includes(i)))return t={source:`GOOGLE`},new r(t)}};var qr={d:(r,e)=>{for(var t in e)qr.o(e,t)&&!qr.o(r,t)&&Object.defineProperty(r,t,{enumerable:true,get:e[t]});},o:(r,e)=>Object.prototype.hasOwnProperty.call(r,e)},Gr={};qr.d(Gr,{A:()=>Ti$1,k:()=>jr});var ht$1=function(r,e,t,n){return new(t||(t=Promise))(function(o,i){function s(u){try{p(n.next(u));}catch(d){i(d);}}function c(u){try{p(n.throw(u));}catch(d){i(d);}}function p(u){var d;u.done?o(u.value):(d=u.value,d instanceof t?d:new t(function(y){y(d);})).then(s,c);}p((n=n.apply(r,[])).next());})},Ct$1=function(r,e){var t,n,o,i,s={label:0,sent:function(){if(1&o[0])throw o[1];return o[1]},trys:[],ops:[]};return i={next:c(0),throw:c(1),return:c(2)},typeof Symbol==`function`&&(i[Symbol.iterator]=function(){return this}),i;function c(p){return function(u){return (function(d){if(t)throw new TypeError(`Generator is already executing.`);for(;i&&(i=0,d[0]&&(s=0)),s;)try{if(t=1,n&&(o=2&d[0]?n.return:d[0]?n.throw||((o=n.return)&&o.call(n),0):n.next)&&!(o=o.call(n,d[1])).done)return o;switch(n=0,o&&(d=[2&d[0],o.value]),d[0]){case 0:case 1:o=d;break;case 4:return s.label++,{value:d[1],done:!1};case 5:s.label++,n=d[1],d=[0];continue;case 7:d=s.ops.pop(),s.trys.pop();continue;default:if(o=s.trys,!((o=o.length>0&&o[o.length-1])||d[0]!==6&&d[0]!==2)){s=0;continue}if(d[0]===3&&(!o||d[1]>o[0]&&d[1]<o[3])){s.label=d[1];break}if(d[0]===6&&s.label<o[1]){s.label=o[1],o=d;break}if(o&&s.label<o[2]){s.label=o[2],s.ops.push(d);break}o[2]&&s.ops.pop(),s.trys.pop();continue}d=e.call(r,s);}catch(y){d=[6,y],n=0;}finally{t=o=0;}if(5&d[0])throw d[1];return {value:d[0]?d[1]:void 0,done:true}})([p,u])}}};function jr(){return ht$1(this,void 0,Promise,function(){return Ct$1(this,function(r){switch(r.label){case 0:return [4,new Promise(function(e,t){var n=`Unknown`,o=false;function i(g){o||(o=true,e({isPrivate:g,browserName:n}));}function s(){var g=0,v=parseInt(`-1`);try{v.toFixed(v);}catch(b){g=b.message.length;}return g}function c(){return navigator.msSaveBlob!==void 0&&(function(g){try{return g===eval.toString().length}catch{return false}})(39)}function p(){var g;return ht$1(this,void 0,void 0,function(){var v,b;return Ct$1(this,function(f){switch(f.label){case 0:return f.trys.push([0,2,,3]),[4,navigator.storage.getDirectory()];case 1:return f.sent(),i(false),[3,3];case 2:return v=f.sent(),b=v,v instanceof Error&&(b=(g=v.message)!==null&&g!==void 0?g:v),typeof b!=`string`?(i(false),[2]):(i(!!b.includes(`unknown transient reason`)),[3,3]);case 3:return [2]}})})}function u(){var g;return ht$1(this,void 0,Promise,function(){return Ct$1(this,function(v){switch(v.label){case 0:return ((g=navigator.storage)===null||g===void 0?void 0:g.getDirectory)===void 0?[3,2]:[4,p()];case 1:return v.sent(),[3,3];case 2:navigator.maxTouchPoints!==void 0?(function(){var b=String(Math.random());try{var f=indexedDB.open(b,1);f.onupgradeneeded=function(k){var he=k.target.result,R=function(wr){i(wr);};try{he.createObjectStore(`t`,{autoIncrement:!0}).put(new Blob),R(!1);}catch(wr){(wr.message||``).includes(`are not yet supported`)?R(!0):R(!1);}finally{he.close(),indexedDB.deleteDatabase(b);}},f.onerror=function(){return i(!1)};}catch{i(false);}})():(function(){var b=window.openDatabase,f=window.localStorage;try{b(null,null,null,null);}catch{i(true);return}try{f.setItem(`test`,`1`),f.removeItem(`test`);}catch{i(true);return}i(false);})(),v.label=3;case 3:return [2]}})})}function d(){navigator.webkitTemporaryStorage.queryUsageAndQuota(function(g,v){var b;i(Math.round(v/1048576)<2*Math.round(((b=window).performance!==void 0&&b.performance.memory!==void 0&&b.performance.memory.jsHeapSizeLimit!==void 0?performance.memory.jsHeapSizeLimit:1073741824)/1048576));},function(g){t(new Error(`detectIncognito somehow failed to query storage quota: `+g.message));});}function y(){self.Promise!==void 0&&self.Promise.allSettled!==void 0?d():(0, window.webkitRequestFileSystem)(0,1,function(){i(false);},function(){i(true);});}function S(){return ht$1(this,void 0,Promise,function(){var g,v;return Ct$1(this,function(b){switch(b.label){case 0:if(!navigator.storage||!navigator.storage.getDirectory)return [3,4];b.label=1;case 1:return b.trys.push([1,3,,4]),[4,navigator.storage.getDirectory()];case 2:return b.sent(),i(false),[3,4];case 3:return g=b.sent(),typeof(v=g instanceof Error&&typeof g.message==`string`?g.message:String(g))!=`string`?(i(false),[2]):(i(v.includes(`Security error`)),[2]);case 4:return i(navigator.serviceWorker===void 0),[2]}})})}(function(){return ht$1(this,void 0,Promise,function(){return Ct$1(this,function(g){switch(g.label){case 0:return s()!==44?[3,2]:(n=`Safari`,[4,u()]);case 1:return g.sent(),[3,6];case 2:return s()!==51?[3,3]:(v=navigator.userAgent,n=v.match(/Chrome/)?navigator.brave!==void 0?`Brave`:v.match(/Edg/)?`Edge`:v.match(/OPR/)?`Opera`:`Chrome`:`Chromium`,y(),[3,6]);case 3:return s()!==25?[3,5]:(n=`Firefox`,[4,S()]);case 4:return g.sent(),[3,6];case 5:c()?(n=`Internet Explorer`,i(window.indexedDB===void 0)):t(new Error(`detectIncognito cannot determine the browser`)),g.label=6;case 6:return [2]}var v;})})})().catch(t);})];case 1:return [2,r.sent()]}})})}typeof window<`u`&&(window.detectIncognito=jr);var Ti$1=jr,So=Gr.A;Gr.k;var To=x$4(St$3()),Do=async()=>{let r={};try{return await Di$1(r)}catch(e){return Fe$3(e,`device-properties`),r}},Di$1=async r=>{let e=window.CooeeSDK.uaParser;Pi$1(r),xi$1(r),Ri$1(r),r.referrer=document.referrer,r.host=location.origin,r.path=location.pathname,r.qs=location.search,r.locale=navigator.language,r.display={w:screen.width,h:screen.height,pd:screen.pixelDepth,dpi:_i$1()},r.win={ow:window.outerWidth,oh:window.outerHeight,iw:window.innerWidth,ih:window.innerHeight,dpr:window.devicePixelRatio},navigator.webdriver&&(r.headless=true,Tn({headless:true}));let t=e.getResult();return r.browser=t.browser,r.device=t.device,r.engine=t.engine,r.cpu=t.cpu,r.os=t.os,r.navigatorUA=navigator.userAgent,await Promise.all([Li$1(r),Ai$1(r),ki$1(r)]),r},Pi$1=r=>{let e=navigator;if(!e.deviceMemory)return;r.mem={tot:e.deviceMemory*1024};},xi$1=r=>{let e=navigator,t=e.connection||e.mozConnection||e.webkitConnection;t?.effectiveType&&(r.net={type:t.effectiveType});},Ri$1=r=>{let e=screen.orientation?.type;e&&(r.orientation=e);},_i$1=()=>{if(!document.body)return;let r=document.createElement(`div`);r.setAttribute(`style`,`height: 1in; left: -100%; position: absolute; top: -100%; width: 1in;`),document.body.appendChild(r);let e=window.devicePixelRatio||1,t=r.offsetWidth*e;return document.body.removeChild(r),t},Ai$1=async r=>{try{await Oi$1(r);}catch(e){Y$2.error(`Unable to get location`,e);}},Oi$1=async r=>{if(!(!navigator.geolocation||!navigator.permissions||(await navigator.permissions.query({name:`geolocation`})).state!=`granted`))return new Promise(t=>{navigator.geolocation.getCurrentPosition(n=>{r.coords=[n.coords.latitude,n.coords.longitude],t();},()=>t());})},Li$1=async r=>{if(`getBattery`in navigator)try{let t=await navigator.getBattery();r.bat={l:t.level*100,c:t.charging},Tn({"battery.level":r.bat.l,"battery.charging":r.bat.c});}catch{}},ki$1=async r=>{try{(await So())?.isPrivate&&(r.incognito=!0,Tn({incognito:!0}));}catch(e){To.default.error(`Unable to detect private/incognito window`,e);}};function xo(r){if(!Ro())return;let e=Ne$3[r]?.toLowerCase();e&&(Y$2.verbose(`Sending ${e} intent to MS Clarity`),window.clarity(`set`,`Cooee Intent`,e));}function Ro(){return window.clarity&&typeof window.clarity==`function`}var z$2=new gr$2(1),Ao=`App ID or Shopify shop is not set`,Kr=``,fe=``,Xr=``,vr$1;async function dC(r){Kr=r.appID,Xr=r.shopifyShop;try{await Ni$1(),z$2.next(!0),z$2.complete();}catch(e){e?.message?.includes(Ao)&&Fe$3(e,`initiate-session`,{extra:r}),Y$2.error(`Unable to initiate session`,e),z$2.error(e);}}async function co(){return await Oo(false),vr$1}async function gC(){let r=Date.now();await tr$1.request(`gen_did`,async()=>{fe=await ce$4.get(`did`),fe||(fe=new $$1().toHexString(),await ce$4.set(`did`,fe)),Y$2.info(`Device ID:`,fe),ko(fe);}),Y$2.info(`Device ID set/get done ${Dn(Date.now()-r)}`);}async function _o(){if(vr$1)return;let[r,e,t]=await Promise.all([ve$4.get(`id`,``),ce$4.get(`sessionNumber`,1),ve$4.get(`landing`,{})]);Lo(r,e,t);}async function Ni$1(){await Oo(true);}async function Oo(r){let e=false;return await Mi$1()?(await Ui$1(),e=true):await Fi$1()?(await _o(),e=true):await _o(),e?await Vi$1():r&&bo(),e}async function Ui$1(){Y$2.info(`Starting new session`),await ve$4.clear();let r=new Date,e=new $$1().toHexString(),t=await ce$4.get(`sessionNumber`,0)+1,n=or$1();await Promise.all([ce$4.set(`sessionNumber`,t),ve$4.set(`id`,e),ve$4.set(`lastUsedTime`,r.getTime()),ve$4.set(`landing`,n)]),Lo(e,t,n);}async function Mi$1(){let r=await ve$4.get(`lastUsedTime`,0);return r?(new Date().getTime()-r)/1e3>1800:true}async function Fi$1(){return !await ve$4.get(`synced`,false)}async function Bi$1(){if(!Kr&&!Xr)throw new Error(Ao);let r$11=await Do(),e=ir$1();return s$3(r$2(r$2({deviceID:fe,deviceProps:r$11,appID:Kr,shopifyShop:Xr},vr$1),e),{sdk:Xr$4,ad:yr$1.getAdParams(),occurred:$i$1(Ue$1().jsLoadTime),properties:{}})}async function Vi$1(){Y$2.info(`Ensuring session on server`),await Wi$1();let r=Date.now(),e=await Bi$1();Y$2.info(`Session data generated ${Dn(Date.now()-r)}`);try{let t=await ie$1(`/v1/event/validate-session`,e);Y$2.info(`Auth finished ${Dn(t.timeTakenMs)}`),await ve$4.set(`synced`,!0),t.data.deviceID&&(await ce$4.set(`did`,fe),ko(t.data.deviceID));ft$1(t.data.pageWidgets?.map(i=>new G(i))??[]).catch(console.error);ut$1(t.data.cartWidgets?.map(i=>new G(i))??[]).catch(console.error);}catch(t){throw Y$2.error(t),t}}async function Wi$1(){let r=await ce$4.get(`firstSeen`),e=r?new Date(r):new Date;r||await ce$4.set(`firstSeen`,e.toISOString()),io(e),bn(`Visitor Info`,{first_seen:e.toISOString()});}function Lo(r,e,t){Tn({"cooee_session.number":e}),bn(`Visitor Session`,{id:r,number:e,landing_page:t}),Y$2.info(`Session number: ${e}, id: ${r}`),vr$1={sessionID:r,sessionNumber:e,landingPage:t};}function ko(r){oo(r);bn(`Visitor Info`,{device_id:r,[`device_id_${Math.floor(Math.random()*1e4)}`]:r}),_n({id:r});}function $i$1(r){return (new Date().getTime()-r.getTime())/1e3>1800?new Date:r}function vC(){document.onvisibilitychange=()=>{document.visibilityState===`visible`?Hi$1():document.visibilityState===`hidden`&&qi$1();};}async function Hi$1(){}async function qi$1(){let r=await Gi$1();if(r===0){Y$2.info(`Not sending duration as user was inactive on website`);return}Uo(r);}async function Gi$1(){let r=Ue$1();return r.inInactive?0:(r.inInactive=true,r.lastEnterInactive=new Date,Math.max(r.lastEnterInactive.getTime()-r.lastEnterActive.getTime(),0))}function No(){let r=Ue$1();return r.inInactive?(r.inInactive=false,r.lastEnterActive=new Date,Math.max((r.lastEnterActive.getTime()-r.lastEnterInactive.getTime())/1e3,0)):0}var Er$1=class Er{triggerData;render(e){e.contentSource===me$3.KLAVIYO&&(this.triggerData=e,window.addEventListener(`klaviyoForms`,this.handleKlaviyoEvents.bind(this)),window._klOnsite=window._klOnsite||[],window._klOnsite.push([`openForm`,e.klaviyoFormID]));}handleKlaviyoEvents(e){if(e.type!==`klaviyoForms`)return;let t=e.detail;if(t.formId!==this.triggerData.klaviyoFormID){Y$2.warn(`Received invalid trigger callback`);return}switch(t.type){case `open`:X(new Ir$2(`CE Trigger Displayed`,{form:{id:t.formId}},this.triggerData));break;case `stepSubmit`:{let n=this.getFormDetails(t);X(new Ir$2(`CE Form Submitted`,{form:n},this.triggerData)),ro(n);break}case `close`:window.removeEventListener(`klaviyoForms`,this.handleKlaviyoEvents.bind(this)),X(new Ir$2(`CE Trigger Closed`,{form:{id:t.formId}},this.triggerData));break}}getFormDetails(e){let t={id:e.formId},n=e.metaData;if(pe$4.hasKeys(n)){let o=[`email`,`phone_number`,`first_name`,`last_name`,`$email`,`$phone_number`,`$first_name`,`$last_name`];Object.keys(n).forEach(c=>{o.includes(c)||(t[c]=n[c]);}),t.email=n.$email??n.email,t.mobile=n.$phone_number??n.phone_number;let i=n.$first_name??n.first_name,s=n.$last_name??n.last_name;(i?.length||s?.length)&&(t.name=i+` `+s);}return t}};function Mo(r){if(!ji$1()||!he$4.get().pixelPush)return;let t=Ne$3[r.intent]?.toLowerCase();t&&(Y$2.verbose(`Sending ${t} intent to Facebook Pixel`),window.fbq(`trackCustom`,`CooeeIntent`,{intent_value:t}));}function ji$1(){return window.fbq&&typeof window.fbq==`function`}var Fr=`/v1/event/track-page-unload`;function Kn(r){Y$2.verbose(`Waiting for auth to send event ${r.name}`),le$2(z$2).then(()=>X(r)).catch(e=>Y$2.error(`Session not established, skipping trackEvent`,e));}function Uo(r){le$2(z$2).then(()=>{Ki$1(r);}).catch(e=>Y$2.error(`Session not established, skipping trackPageUnload`,e));}async function Ki$1(r){let e=Ue$1().currentPageViewEvent;if(!e){Y$2.warn(`No page view event was stored previously`);return}let t={pageViewEventID:e.id,pageViewEventName:e.name,pageActiveTimeMS:r};Y$2.verbose(`Sending page unload`,t);try{await ie$1(Fr,t);}catch(n){throw Y$2.error(`Error sending page unload for ${e} to server`,n),n}}function X(r){Xi$1(r);}async function Xi$1(r){if(Y$2.verbose(`Sending event: ${r.name}`,r),es(r)){Y$2.warn(`Rejecting event ${r.name}`);return}Hn();let e=await rt();Object.assign(r,e),No(),ve$4.set(`lastUsedTime`,new Date().getTime());let t=Zi$1(r.name),n=t.toLowerCase().replace(/\s+/g,`-`);try{let o=await ie$1(`/v1/event/track/${n}`,r);Y$2.info(`Event tracked:`,t),zi$1(r)&&(Ue$1().currentPageViewEvent={id:r.id,name:r.name}),Yi$1(r,o.data);}catch(o){throw Y$2.error(`Error sending event ${r.name} to server`,o),o}}function zi$1(r){return tn.includes(r.name)?r.name===`View Cart`?!r.properties.drawer:true:false}function Yi$1(r,e){Ji$1(r,e).catch(t=>{Fe$3(t,`process-popup-response`,{extra:{event:r,response:e}});}),Qi$1(e);}async function Ji$1(r,e){if(!e.triggerData)return;let t=new G(e.triggerData);t.occurred=r.occurred,Y$2.log(`${t} will be shown`);let n;try{n=await nr$1(t);}catch(i){Y$2.error(`Failed to refresh the products`,i);return}if(t.items=n,t.contentSource===me$3.KLAVIYO){new Er$1().render(t);return}new(await(import('./renderer-CyL__z3J-B6SzREjE.js'))).FreeformRenderer().renderEngagement(t).catch(i=>{Fe$3(i,`render-popup`,{extra:{event:r},engagementTrigger:t});});}function Qi$1(r){r.intent&&(xo(r.intent),Mo(r),Y$2.info(`Intent is ${Ne$3[r.intent]}`));}function Zi$1(r){return r.replace(`CE `,``).replace(`Trigger`,`Campaign`).replace(`Screen`,`Page`).replace(`App `,``)}function es(r){return r.trigger?.triggerID===`test`||r.trigger?.triggerID===`preview`?(Y$2.warn(`Not sending event as this is a test trigger`),true):false}
|
|
85
85
|
|
|
86
86
|
var t=class{lastWidth;lastHeight;resizeTimeout=null;debounceDelay=200;onResizeCallback;constructor(e){this.onResizeCallback=e,this.lastWidth=window.innerWidth,this.lastHeight=window.innerHeight,window.addEventListener(`resize`,this.debouncedResize),window.addEventListener(`orientationchange`,this.handleImmediateResize);}destroy(){window.removeEventListener(`resize`,this.debouncedResize),window.removeEventListener(`orientationchange`,this.handleImmediateResize);}handleImmediateResize=()=>{this.triggerResize();};debouncedResize=()=>{this.resizeTimeout!==null&&clearTimeout(this.resizeTimeout),this.resizeTimeout=window.setTimeout(()=>{this.triggerResize();},this.debounceDelay);};triggerResize(){let e=window.innerWidth,i=window.innerHeight;(i!==this.lastHeight||e!==this.lastWidth)&&(this.onResizeCallback(),this.lastWidth=e,this.lastHeight=i);}};
|
|
87
87
|
|
|
@@ -96,16 +96,16 @@ ${e.map(h=>` ${h};`).join(`
|
|
|
96
96
|
${Ae.map(h=>` ${h};`).join(`
|
|
97
97
|
`)}
|
|
98
98
|
}
|
|
99
|
-
}`),At}resolvePrimaryButtonColors(e,i){switch(this.buttons.primary.style){case `outline`:return {bg:`0 0 0 / 0`,color:e,border:e};case `ghost`:return {bg:`0 0 0 / 0`,color:e,border:`0 0 0 / 0`};default:return {bg:e,color:i,border:e}}}resolveSecondaryButtonColors(e,i,o,c){switch(this.buttons.secondaryColorScheme){case `accent`:return this.buttons.secondary.style===`filled`?{bg:c,color:e,border:e}:{bg:`0 0 0 / 0`,color:e,border:e};case `inverted`:return {bg:o,color:i,border:`0 0 0 / 0`};default:return this.buttons.secondary.style===`filled`?{bg:c,color:o,border:o}:{bg:`0 0 0 / 0`,color:o,border:o}}}};var Xe=class{apply(e){if(!e)return;le$4(new Ye(e).toCSSString());}};function Ni(){let t=he$4.get();!t.gaMeasurementID||!t.gaEnabled||hr();}async function gr(){let t=await ce$4.get(`gacid`),e=await br();if(t!==e)return await ce$4.set(`gacid`,e),e}async function hr(){let t=await gr();t&&Jl({gaClientID:t});}async function br(){let e=he$4.get().gaMeasurementID;if(!(!e||!window.gtag))return new Promise(i=>{window.gtag(`get`,e,`client_id`,o=>{i(o);});})}var Bi=!!new URL(location.href).searchParams?.get(`new-brand`);async function Hi(t){(t?.enabled||Bi)&&new Xe().apply(t);}function wr(t){if(!t)return t;let e=t.match(/:root\s*\{/);if(!e)return t;let i=0,o=-1;for(let c=e.index;c<t.length;c++)if(t[c]===`{`)i++;else if(t[c]===`}`&&--i===0){o=c+1;break}return o===-1?t:(t.slice(0,e.index)+t.slice(o)).trimStart()}async function Ct(t){Y$2.verbose(`Received store settings`,t),t.currencyCount=t.currencies?.length;let e=w.globalRef.config.update(t);Ni(),D$1.initialize(),e.website&&(Bi&&(e.website.commonCSS=wr(e.website.commonCSS)),Ui$2(e.website.commonJS),le$4(e.website.commonCSS)),window.CooeeSDK.cartDrawerToggle$.pipe(Fe$1(10)).subscribe(async({open:i})=>{Y$2.info(`Cart drawer is now`,i?`open`:`closed`),i&&(wh(),await vr());});}function $i(t){w.globalRef.apiURLs=t;}function zi(t){t?.length&&t.forEach(e=>{ze$1(e.name,e.template);});}async function vr(){let t=await h.getCurrent().getNormalisedCart(),e={value:t.amount,currency:t.currency};Kn(new Ir$2(`View Cart`,{items:t.items,amount:e,drawer:true}));}var Ie=class{runtimeData=Ue$1();meddle(){let e=w.globalRef;e.profile=e.profile??[],e.events=e.events??[],e.page=e.page??[],this.meddlePage(),this.meddleEvents(),this.meddleProfile(),this.exposeMethods();}exposeMethods(){let e=w.globalRef;e.loadWidgets=e.loadCartWidgets=e.loadPageWidgets=()=>{bo();},e.loadExperiments=()=>{Ke();},e.testCartUpdate=this.testCartUpdate.bind(this),e.previewWidget=w.previewWidget.bind(w),e.previewPopup=w.previewPopup.bind(w),e.executeCTA=(i,o)=>{new je$1(i).execute(o);},e.sendEvent=i=>{Kn(i);};}overwritePush(e,i){qn$1(e,`push`,i);}meddleEvents(){this.overwritePush(w.globalRef.events,(...e)=>{this.processEvent(e[0]);}),w.globalRef.events.forEach(this.processEvent.bind(this));}meddleProfile(){this.overwritePush(w.globalRef.profile,(...e)=>{this.processProfile(e[0]);}),w.globalRef.profile.forEach(this.processProfile.bind(this));}processEvent(e){e&&(en.includes(e[0])?w.sendEvent(e[0],e[1],r$2({occurred:this.runtimeData.jsLoadTime},e[2])):w.sendEvent(e[0],e[1],e[2]));}processProfile(e){e&&w.updateProfile(e);}meddlePage(){this.overwritePush(w.globalRef.page,(...e)=>{this.processPage(e[0]);}),w.globalRef.page.forEach(this.processPage.bind(this));}processPage(e){e.appID&&w.authenticate(e),e.currentItem&&yr(e.currentItem),e.currency&&(Ue$1().currencyCode=e.currency),e.shopCurrency&&(this.runtimeData.shopCurrencyCode=e.shopCurrency),e.moneyFormat&&(this.runtimeData.moneyFormat=e.moneyFormat),e.jsLoad&&(this.runtimeData.jsLoadTime=e.jsLoad),e.locale&&(this.runtimeData.locale=e.locale),e.pageName&&w.setPageName(e.pageName),e.activeExperiment&&(this.runtimeData.activeExperiments=e.activeExperiment),e.cart&&h.getCurrent().update(e.cart),e.configurations&&Ct(e.configurations),e.storeSettings&&Ct(e.storeSettings),e.storeBrand&&Hi(e.storeBrand),e.apiURLs&&$i(e.apiURLs),e.widgetPartials&&zi(e.widgetPartials),e.template&&(this.runtimeData.template=e.template),e.customContext&&(this.runtimeData.customContext=r$2(r$2({},this.runtimeData.customContext),e.customContext));}async testCartUpdate(){if(Ue$1().pageName!==`product`){window.alert(`This feature is only available on a product page`);return}let e=wd();if(e||(e=Ue$1().currentItem?.vID),!e){window.alert(`Could not find a variant to test. Please try a different product page`);return}let i=new G({id:`preview`,shortID:`1`,redirectBehaviour:ae$4.CART_DRAWER});await new je$1(new Be$1(new Date,i)).execute({clickAction:{at:he$3.ADD_TO_CART},embeddedItem:new at$2({vID:e})});}};function yr(t){let e=Ue$1();if(e.currentItem&&e.currentItem.vID!==t.vID){let i=new CustomEvent(`letscooee:variant-change`,{detail:{variantID:t.vID,productID:t.mID}});document.dispatchEvent(i);}e.currentItem=new at$2(t);}var le=class{static SESSION_STORAGE=window.sessionStorage;static SESSION_STORAGE_KEY_PREFIX=`cooee`.concat(`-`);static getString(e,i){return this.getItem(e)||i}static setString(e,i){this.setItem(e,i);}static remove(e){this.removeItem(e);}static getItem(e){return this.SESSION_STORAGE.getItem(this.SESSION_STORAGE_KEY_PREFIX.concat(e))}static setItem(e,i){this.SESSION_STORAGE.setItem(this.SESSION_STORAGE_KEY_PREFIX.concat(e),i);}static removeItem(e){this.SESSION_STORAGE.removeItem(this.SESSION_STORAGE_KEY_PREFIX.concat(e));}};var Er=1e3,Sr=10,Rt=0,It=new Date;function _t(t){le.remove(`sleid`),It=t??new Date;}function Ui(){if(window.scrollY){let t=Vi();Fi(t)&&Wi(t);}wt$2(()=>{xr();});}function xr(){Tr$1(window,`scroll`).pipe(Fe$1(Er),q$1(()=>{let t=Vi();if(t>100){Y$2.warn(`Received scroll percent is more than 100`,t);return}if(Fi(t))return t})).subscribe(t=>{Wi(t);});}function Fi(t){return Math.abs(Rt-t)>=Sr||Rt!==t&&t===100}function Wi(t){if(t==null)return;let e={percent:t,timeMS:new Date().getTime()-It.getTime()};Rt=t;let o=new Ir$2(`CE Scroll`,e,null,le.getString(`sleid`,``));Kn(o),le.setString(`sleid`,o.id.toHexString()),It=new Date(o.occurred);}function Vi(){let t=window.document.body.scrollHeight,e=window.innerHeight;return Math.ceil((window.scrollY+e)/t*100)}function ji(){kr();}function kr(){let t=window.fetch;try{window.fetch=async function(e,i){try{await Cr(e,i);}catch(o){Fe$3(o,`modify-graphql-request`,{extra:{body:JSON.stringify(i?.body)}});}return t(e,i)};}catch(e){console.warn(`Fail to override fetch.`,`Cooee won't be able to track "Buy Now Clicked" KPI.`),Y$2.error(e);}Y$2.verbose(`Securely overwritten window.fetch method for graphql query`);}async function Cr(t,e){let i=typeof t==`string`?t:t instanceof Request?t.url:``;if(!(i.includes(`graphql.json`)&&e?.method===`POST`)||!e.body)return;let o;if(typeof e.body==`string`)try{o=JSON.parse(e.body);}catch{return}else o=e.body;o?.variables?.input&&(Y$2.verbose(`Intercepted fetch request of:`,i),o?.query.includes(`cartCreate`)&&(e.body=await Rr(o),Ir()));}async function Rr(t){let e=t.variables.input.attributes??[],i=await zn$1(`Buy Now`);return t.variables.input.attributes=[...e,...i],JSON.stringify(t)}function Ir(){let t=Ue$1().currentItem;if(!t)return;Kn(new Ir$2(`Buy Now Clicked`,{items:[t]}));}var de=class{constructor(e,i){this.selectors=e;this.eventName=i;this.selectorString=e.join(`,`);}static INSTANCE;elements;selectorString;clickListenerCallback=e=>{let i=e.currentTarget;Kn(new Ir$2(this.eventName,{class:i.className||void 0,tagName:i.tagName||void 0,id:i.id||void 0})),this.removeClickListener(this.clickListenerCallback);};listenSilently(){this.listen().catch(e=>Y$2.error(e));}async listen(){this.elements=await Br$4(this.selectorString),this.elements.forEach(e=>{e.addEventListener(`click`,this.clickListenerCallback);});}removeClickListener(e){this.elements?.forEach(i=>{i.removeEventListener(`click`,e);});}};var Je=class t extends de{static selectors=[`.product__thumbnail-list-inner > button`,`product-gallery-navigation > button`,`.product-media--thumb-container`,`.product-images-inner > img`,`.m-product-media`,`.swiper-button-control`,`.media__thumb`,`.slick-arrow`,`.productView-img-container.product-single__media`,`.product-gallery__thumbnail_item_inner`];constructor(){super(t.selectors,`Item Thumbnail Clicked`);}static getInstance(){return this.INSTANCE||(this.INSTANCE=new t),this.INSTANCE}};var Ze=class t extends de{static selectors=[`.jdgm-widget.jdgm-preview-badge.jdgm-preview-badge--with-link.jdgm--done-setup`,`reviewsio-product-ratings`,`.ruk_rating_snippet.tracked:not(.hidden)`,`a > .loox-rating`,`.yotpo-reviews-star-ratings-widget`,`.yotpo.lp-hero__reviews`,`.pr-rating > a`,`.rivyoReviewWidget`];constructor(){super(t.selectors,`Review Clicked`);}static getInstance(){return this.INSTANCE||(this.INSTANCE=new t),this.INSTANCE}};var _r=[`.gokwik-checkout button`,`button.cart__checkout-button`,`button.cart__checkout`,`button#checkout`,`button#checkout2`,`button[id*="checkout" i]`,`button[name*="checkout" i]`,`button[class*="checkout" i]`].join(`,`);function qi(){wt$2(()=>{Y$2.verbose(`Execution order:`,`document ready`),Ar();});}function Ar(){let t=window.location.hash?.substring(1);if(t)if(t.includes(`initiate-checkout`)){document.dispatchEvent(new Event(`letscooee:outbound:third-party-initiate-checkout`));let e=document.querySelector(_r);if(!e){Y$2.verbose(`No clickable cart checkout button found`);return}Y$2.verbose(`Clickable cart checkout button found`,e),e.click();}else t.includes(`open-cart-drawer`)&&D$1.get().open();}function Gi(){window.addEventListener(`kp-modal:opened`,()=>{Ue$1().isGoKwikPopupOpen=true;}),window.addEventListener(`user-loggedin`,t=>{let{token:e}=t.detail;e&&ro({goKwikToken:e});});}var w=class{static globalRef;static authenticated;static async initForMerchantWebsiteOnly(e){if(Y$2.info(`Initialising SDK`),gi(navigator.userAgent)){Y$2.info(`This seems to be a bot. Disabling SDK`);return}if(navigator.webdriver){Y$2.info(`This seems to be headless browser. Disabling SDK`);return}if(this.initGlobalReference(e),window.cooeeSDKPreview){new Ie().meddle();return}await fC(),this.autoAuthenticate(),new Ie().meddle(),_l(),Ke(),Tr(),wC(),zm(),ji(),qi(),Ui(),Ze.getInstance().listenSilently(),Je.getInstance().listenSilently(),Gi(),Pr(),ro$1(),Zo(),Ne.remove(`conf`).catch(i=>{Y$2.error(`Fail to remove App Config from local storage`,i);});}static initGlobalReference(e){window.CooeeSDK||qn$1(window,`CooeeSDK`,{}),this.globalRef=window.CooeeSDK,qn$1(this.globalRef,`config`,new he$4),qn$1(this.globalRef,`runtimeData`,{sdkLoadTime:e,jsLoadTime:new Date,lastEnterActive:new Date}),qn$1(this.globalRef,`uaParser`,new P,true),qn$1(this.globalRef,`cart`,h.getCurrent()),qn$1(this.globalRef,`cartChange$`,Xm()),qn$1(this.globalRef,`cartDrawerToggle$`,D$1.cartDrawerToggle$.asObservable()),Y$2.verbose(`Global reference initialised`),new t(()=>{this.globalRef.uaParser=new P;});}static autoAuthenticate(){let e=Fn();e&&this.authenticate({shopifyShop:e});}static authenticate(e){if(this.authenticated)return;Y$2.info(`Begin auth after ⏰`,An(),`of SDK load`);let i=e.appID?.trim(),o=e.shopifyShop;if((Wn$1(i)||i.length!==24)&&Wn$1(o)){Y$2.warn(`Cooee App ID or Shop name is not configured`);return}this.authenticated=true,uC(e);}static sendEvent(e,i,o){let c=new Ir$2(e,i,o?.triggerData);o?.occurred&&(c.occurred=o.occurred),Kn(c);}static updateProfile(e){for(let i in e)if(i.toLowerCase().startsWith(`ce `))throw new Error(`User property name cannot start with 'CE '`);ro(e);}static setPageName(e){if(!e)return;let i=Ue$1(),o=i.pageName;if(e===o)return;if(i.pageName=e,Qr$3.some(d=>e.includes(d))){_t();return}let c={};o&&(c.ps=o);let p=new Ir$2(`CE Screen View`,c);p.occurred=i.jsLoadTime,Kn(p),_t(p.occurred);}static previewPopup(e,i){import('./renderer-MU6fBs4p-CtnJ9stG.js').then(({FreeformRenderer:o})=>{new o(i).render(e);});}static previewWidget(e){if(!e)return;let i=new G(e);i.isPageWidgets()?ft$1([i]).catch(console.error):i.isCartEmbed()?ut$1([i]).catch(console.error):Y$2.error(`Unsupported widget type for preview: `+i.onsiteDeliveryType);}};function Tr(){window.CooeeSDK.cartChange$.subscribe(()=>{bo();});}function Pr(){if(window.opener){try{window.opener.postMessage({action:`COOEE_READY_FOR_PREVIEW`},`*`);}catch(t){Y$2.error(t);}window.addEventListener(`message`,t=>{if(Y$2.verbose(`Received event`,t),!t.origin.includes(`letscooee.com`)&&!t.origin.includes(`localhost`))return;let e=t.data;typeof e==`object`&&(e.action===`POPUP_PREVIEW`?(w.previewPopup(e.engagementTrigger),t.source?.postMessage({action:`PREVIEW_SUCCESSFUL`},t.origin)):e.action===`WIDGET_PREVIEW`&&(w.previewWidget(e.engagementTrigger),t.source?.postMessage({action:`PREVIEW_SUCCESSFUL`},t.origin)));});}}performance.mark(`cooee-sdk-start`);var Ki=new Date;window.cooeeShopifyScriptLoaded||(window.cooeeShopifyScriptLoaded=true,eo$1(),to$1(),await w.initForMerchantWebsiteOnly(Ki),_e$2(),performance.measure(`cooee-sdk-init`,`cooee-sdk-start`),Fr$2()&&Promise.resolve().then(function () { return sdkDebugLogsB4oVfLbd; }).then(({printAllDebugLogs:t})=>t(Ki)));
|
|
99
|
+
}`),At}resolvePrimaryButtonColors(e,i){switch(this.buttons.primary.style){case `outline`:return {bg:`0 0 0 / 0`,color:e,border:e};case `ghost`:return {bg:`0 0 0 / 0`,color:e,border:`0 0 0 / 0`};default:return {bg:e,color:i,border:e}}}resolveSecondaryButtonColors(e,i,o,c){switch(this.buttons.secondaryColorScheme){case `accent`:return this.buttons.secondary.style===`filled`?{bg:c,color:e,border:e}:{bg:`0 0 0 / 0`,color:e,border:e};case `inverted`:return {bg:o,color:i,border:`0 0 0 / 0`};default:return this.buttons.secondary.style===`filled`?{bg:c,color:o,border:o}:{bg:`0 0 0 / 0`,color:o,border:o}}}};var Xe=class{apply(e){if(!e)return;le$4(new Ye(e).toCSSString());}};function Ni(){let t=he$4.get();!t.gaMeasurementID||!t.gaEnabled||hr();}async function gr(){let t=await ce$4.get(`gacid`),e=await br();if(t!==e)return await ce$4.set(`gacid`,e),e}async function hr(){let t=await gr();t&&Jm({gaClientID:t});}async function br(){let e=he$4.get().gaMeasurementID;if(!(!e||!window.gtag))return new Promise(i=>{window.gtag(`get`,e,`client_id`,o=>{i(o);});})}var Bi=!!new URL(location.href).searchParams?.get(`new-brand`);async function Hi(t){(t?.enabled||Bi)&&new Xe().apply(t);}function wr(t){if(!t)return t;let e=t.match(/:root\s*\{/);if(!e)return t;let i=0,o=-1;for(let c=e.index;c<t.length;c++)if(t[c]===`{`)i++;else if(t[c]===`}`&&--i===0){o=c+1;break}return o===-1?t:(t.slice(0,e.index)+t.slice(o)).trimStart()}async function Ct(t){Y$2.verbose(`Received store settings`,t),t.currencyCount=t.currencies?.length;let e=w.globalRef.config.update(t);Ni(),D$1.initialize(),e.website&&(Bi&&(e.website.commonCSS=wr(e.website.commonCSS)),Ui$2(e.website.commonJS),le$4(e.website.commonCSS)),window.CooeeSDK.cartDrawerToggle$.pipe(Fe$1(10)).subscribe(async({open:i})=>{Y$2.info(`Cart drawer is now`,i?`open`:`closed`),i&&(vh(),await vr());});}function $i(t){w.globalRef.apiURLs=t;}function zi(t){t?.length&&t.forEach(e=>{ze$1(e.name,e.template);});}async function vr(){let t=await h.getCurrent().getNormalisedCart(),e={value:t.amount,currency:t.currency};Kn(new Ir$2(`View Cart`,{items:t.items,amount:e,drawer:true}));}var Ie=class{runtimeData=Ue$1();meddle(){let e=w.globalRef;e.profile=e.profile??[],e.events=e.events??[],e.page=e.page??[],this.meddlePage(),this.meddleEvents(),this.meddleProfile(),this.exposeMethods();}exposeMethods(){let e=w.globalRef;e.loadWidgets=e.loadCartWidgets=e.loadPageWidgets=()=>{bo();},e.loadExperiments=()=>{Ke();},e.testCartUpdate=this.testCartUpdate.bind(this),e.previewWidget=w.previewWidget.bind(w),e.previewPopup=w.previewPopup.bind(w),e.executeCTA=(i,o)=>{new je$1(i).execute(o);},e.sendEvent=i=>{Kn(i);};}overwritePush(e,i){qn$1(e,`push`,i);}meddleEvents(){this.overwritePush(w.globalRef.events,(...e)=>{this.processEvent(e[0]);}),w.globalRef.events.forEach(this.processEvent.bind(this));}meddleProfile(){this.overwritePush(w.globalRef.profile,(...e)=>{this.processProfile(e[0]);}),w.globalRef.profile.forEach(this.processProfile.bind(this));}processEvent(e){e&&(en.includes(e[0])?w.sendEvent(e[0],e[1],r$2({occurred:this.runtimeData.jsLoadTime},e[2])):w.sendEvent(e[0],e[1],e[2]));}processProfile(e){e&&w.updateProfile(e);}meddlePage(){this.overwritePush(w.globalRef.page,(...e)=>{this.processPage(e[0]);}),w.globalRef.page.forEach(this.processPage.bind(this));}processPage(e){e.appID&&w.authenticate(e),e.currentItem&&yr(e.currentItem),e.currency&&(Ue$1().currencyCode=e.currency),e.shopCurrency&&(this.runtimeData.shopCurrencyCode=e.shopCurrency),e.moneyFormat&&(this.runtimeData.moneyFormat=e.moneyFormat),e.jsLoad&&(this.runtimeData.jsLoadTime=e.jsLoad),e.locale&&(this.runtimeData.locale=e.locale),e.pageName&&w.setPageName(e.pageName),e.activeExperiment&&(this.runtimeData.activeExperiments=e.activeExperiment),e.cart&&h.getCurrent().update(e.cart),e.configurations&&Ct(e.configurations),e.storeSettings&&Ct(e.storeSettings),e.storeBrand&&Hi(e.storeBrand),e.apiURLs&&$i(e.apiURLs),e.widgetPartials&&zi(e.widgetPartials),e.template&&(this.runtimeData.template=e.template),e.customContext&&(this.runtimeData.customContext=r$2(r$2({},this.runtimeData.customContext),e.customContext));}async testCartUpdate(){if(Ue$1().pageName!==`product`){window.alert(`This feature is only available on a product page`);return}let e=wd();if(e||(e=Ue$1().currentItem?.vID),!e){window.alert(`Could not find a variant to test. Please try a different product page`);return}let i=new G({id:`preview`,shortID:`1`,redirectBehaviour:ae$4.CART_DRAWER});await new je$1(new Be$1(new Date,i)).execute({clickAction:{at:he$3.ADD_TO_CART},embeddedItem:new at$2({vID:e})});}};function yr(t){let e=Ue$1();if(e.currentItem&&e.currentItem.vID!==t.vID){let i=new CustomEvent(`letscooee:variant-change`,{detail:{variantID:t.vID,productID:t.mID}});document.dispatchEvent(i);}e.currentItem=new at$2(t);}var le=class{static SESSION_STORAGE=window.sessionStorage;static SESSION_STORAGE_KEY_PREFIX=`cooee`.concat(`-`);static getString(e,i){return this.getItem(e)||i}static setString(e,i){this.setItem(e,i);}static remove(e){this.removeItem(e);}static getItem(e){return this.SESSION_STORAGE.getItem(this.SESSION_STORAGE_KEY_PREFIX.concat(e))}static setItem(e,i){this.SESSION_STORAGE.setItem(this.SESSION_STORAGE_KEY_PREFIX.concat(e),i);}static removeItem(e){this.SESSION_STORAGE.removeItem(this.SESSION_STORAGE_KEY_PREFIX.concat(e));}};var Er=1e3,Sr=10,Rt=0,It=new Date;function _t(t){le.remove(`sleid`),It=t??new Date;}function Ui(){if(window.scrollY){let t=Vi();Fi(t)&&Wi(t);}wt$2(()=>{xr();});}function xr(){Tr$1(window,`scroll`).pipe(Fe$1(Er),q$1(()=>{let t=Vi();if(t>100){Y$2.warn(`Received scroll percent is more than 100`,t);return}if(Fi(t))return t})).subscribe(t=>{Wi(t);});}function Fi(t){return Math.abs(Rt-t)>=Sr||Rt!==t&&t===100}function Wi(t){if(t==null)return;let e={percent:t,timeMS:new Date().getTime()-It.getTime()};Rt=t;let o=new Ir$2(`CE Scroll`,e,null,le.getString(`sleid`,``));Kn(o),le.setString(`sleid`,o.id.toHexString()),It=new Date(o.occurred);}function Vi(){let t=window.document.body.scrollHeight,e=window.innerHeight;return Math.ceil((window.scrollY+e)/t*100)}function ji(){kr();}function kr(){let t=window.fetch;try{window.fetch=async function(e,i){try{await Cr(e,i);}catch(o){Fe$3(o,`modify-graphql-request`,{extra:{body:JSON.stringify(i?.body)}});}return t(e,i)};}catch(e){console.warn(`Fail to override fetch.`,`Cooee won't be able to track "Buy Now Clicked" KPI.`),Y$2.error(e);}Y$2.verbose(`Securely overwritten window.fetch method for graphql query`);}async function Cr(t,e){let i=typeof t==`string`?t:t instanceof Request?t.url:``;if(!(i.includes(`graphql.json`)&&e?.method===`POST`)||!e.body)return;let o;if(typeof e.body==`string`)try{o=JSON.parse(e.body);}catch{return}else o=e.body;o?.variables?.input&&(Y$2.verbose(`Intercepted fetch request of:`,i),o?.query.includes(`cartCreate`)&&(e.body=await Rr(o),Ir()));}async function Rr(t){let e=t.variables.input.attributes??[],i=await zn$1(`Buy Now`);return t.variables.input.attributes=[...e,...i],JSON.stringify(t)}function Ir(){let t=Ue$1().currentItem;if(!t)return;Kn(new Ir$2(`Buy Now Clicked`,{items:[t]}));}var de=class{constructor(e,i){this.selectors=e;this.eventName=i;this.selectorString=e.join(`,`);}static INSTANCE;elements;selectorString;clickListenerCallback=e=>{let i=e.currentTarget;Kn(new Ir$2(this.eventName,{class:i.className||void 0,tagName:i.tagName||void 0,id:i.id||void 0})),this.removeClickListener(this.clickListenerCallback);};listenSilently(){this.listen().catch(e=>Y$2.error(e));}async listen(){this.elements=await Br$4(this.selectorString),this.elements.forEach(e=>{e.addEventListener(`click`,this.clickListenerCallback);});}removeClickListener(e){this.elements?.forEach(i=>{i.removeEventListener(`click`,e);});}};var Je=class t extends de{static selectors=[`.product__thumbnail-list-inner > button`,`product-gallery-navigation > button`,`.product-media--thumb-container`,`.product-images-inner > img`,`.m-product-media`,`.swiper-button-control`,`.media__thumb`,`.slick-arrow`,`.productView-img-container.product-single__media`,`.product-gallery__thumbnail_item_inner`];constructor(){super(t.selectors,`Item Thumbnail Clicked`);}static getInstance(){return this.INSTANCE||(this.INSTANCE=new t),this.INSTANCE}};var Ze=class t extends de{static selectors=[`.jdgm-widget.jdgm-preview-badge.jdgm-preview-badge--with-link.jdgm--done-setup`,`reviewsio-product-ratings`,`.ruk_rating_snippet.tracked:not(.hidden)`,`a > .loox-rating`,`.yotpo-reviews-star-ratings-widget`,`.yotpo.lp-hero__reviews`,`.pr-rating > a`,`.rivyoReviewWidget`];constructor(){super(t.selectors,`Review Clicked`);}static getInstance(){return this.INSTANCE||(this.INSTANCE=new t),this.INSTANCE}};var _r=[`.gokwik-checkout button`,`button.cart__checkout-button`,`button.cart__checkout`,`button#checkout`,`button#checkout2`,`button[id*="checkout" i]`,`button[name*="checkout" i]`,`button[class*="checkout" i]`].join(`,`);function qi(){wt$2(()=>{Y$2.verbose(`Execution order:`,`document ready`),Ar();});}function Ar(){let t=window.location.hash?.substring(1);if(t)if(t.includes(`initiate-checkout`)){document.dispatchEvent(new Event(`letscooee:outbound:third-party-initiate-checkout`));let e=document.querySelector(_r);if(!e){Y$2.verbose(`No clickable cart checkout button found`);return}Y$2.verbose(`Clickable cart checkout button found`,e),e.click();}else t.includes(`open-cart-drawer`)&&D$1.get().open();}function Gi(){window.addEventListener(`kp-modal:opened`,()=>{Ue$1().isGoKwikPopupOpen=true;}),window.addEventListener(`user-loggedin`,t=>{let{token:e}=t.detail;e&&ro({goKwikToken:e});});}var w=class{static globalRef;static authenticated;static async initForMerchantWebsiteOnly(e){if(Y$2.info(`Initialising SDK`),gi(navigator.userAgent)){Y$2.info(`This seems to be a bot. Disabling SDK`);return}if(navigator.webdriver){Y$2.info(`This seems to be headless browser. Disabling SDK`);return}if(this.initGlobalReference(e),window.cooeeSDKPreview){new Ie().meddle();return}await gC(),this.autoAuthenticate(),new Ie().meddle(),_m(),Ke(),Tr(),vC(),zl(),ji(),qi(),Ui(),Ze.getInstance().listenSilently(),Je.getInstance().listenSilently(),Gi(),Pr(),ro$1(),Zo(),Ne.remove(`conf`).catch(i=>{Y$2.error(`Fail to remove App Config from local storage`,i);});}static initGlobalReference(e){window.CooeeSDK||qn$1(window,`CooeeSDK`,{}),this.globalRef=window.CooeeSDK,qn$1(this.globalRef,`config`,new he$4),qn$1(this.globalRef,`runtimeData`,{sdkLoadTime:e,jsLoadTime:new Date,lastEnterActive:new Date}),qn$1(this.globalRef,`uaParser`,new P,true),qn$1(this.globalRef,`cart`,h.getCurrent()),qn$1(this.globalRef,`cartChange$`,Xl()),qn$1(this.globalRef,`cartDrawerToggle$`,D$1.cartDrawerToggle$.asObservable()),Y$2.verbose(`Global reference initialised`),new t(()=>{this.globalRef.uaParser=new P;});}static autoAuthenticate(){let e=Fn();e&&this.authenticate({shopifyShop:e});}static authenticate(e){if(this.authenticated)return;Y$2.info(`Begin auth after ⏰`,An(),`of SDK load`);let i=e.appID?.trim(),o=e.shopifyShop;if((Wn$1(i)||i.length!==24)&&Wn$1(o)){Y$2.warn(`Cooee App ID or Shop name is not configured`);return}this.authenticated=true,dC(e);}static sendEvent(e,i,o){let c=new Ir$2(e,i,o?.triggerData);o?.occurred&&(c.occurred=o.occurred),Kn(c);}static updateProfile(e){for(let i in e)if(i.toLowerCase().startsWith(`ce `))throw new Error(`User property name cannot start with 'CE '`);ro(e);}static setPageName(e){if(!e)return;let i=Ue$1(),o=i.pageName;if(e===o)return;if(i.pageName=e,Qr$3.some(d=>e.includes(d))){_t();return}let c={};o&&(c.ps=o);let p=new Ir$2(`CE Screen View`,c);p.occurred=i.jsLoadTime,Kn(p),_t(p.occurred);}static previewPopup(e,i){import('./renderer-CyL__z3J-B6SzREjE.js').then(({FreeformRenderer:o})=>{new o(i).render(e);});}static previewWidget(e){if(!e)return;let i=new G(e);i.isPageWidgets()?ft$1([i]).catch(console.error):i.isCartEmbed()?ut$1([i]).catch(console.error):Y$2.error(`Unsupported widget type for preview: `+i.onsiteDeliveryType);}};function Tr(){window.CooeeSDK.cartChange$.subscribe(()=>{bo();});}function Pr(){if(window.opener){try{window.opener.postMessage({action:`COOEE_READY_FOR_PREVIEW`},`*`);}catch(t){Y$2.error(t);}window.addEventListener(`message`,t=>{if(Y$2.verbose(`Received event`,t),!t.origin.includes(`letscooee.com`)&&!t.origin.includes(`localhost`))return;let e=t.data;typeof e==`object`&&(e.action===`POPUP_PREVIEW`?(w.previewPopup(e.engagementTrigger),t.source?.postMessage({action:`PREVIEW_SUCCESSFUL`},t.origin)):e.action===`WIDGET_PREVIEW`&&(w.previewWidget(e.engagementTrigger),t.source?.postMessage({action:`PREVIEW_SUCCESSFUL`},t.origin)));});}}performance.mark(`cooee-sdk-start`);var Ki=new Date;window.cooeeShopifyScriptLoaded||(window.cooeeShopifyScriptLoaded=true,eo$1(),to$1(),await w.initForMerchantWebsiteOnly(Ki),_e$2(),performance.measure(`cooee-sdk-init`,`cooee-sdk-start`),Fr$2()&&Promise.resolve().then(function () { return sdkDebugLogsDDyFRTPi; }).then(({printAllDebugLogs:t})=>t(Ki)));
|
|
100
100
|
|
|
101
101
|
var s=`\xA0\xA0\xA0`,l=[`/v1/engagement/cart-widgets`,`/v1/engagement/page-widgets`,`/v1/event/validate-session`];function d(e){if(e===0)return `0 B`;let i=1024,n=[`B`,`KB`,`MB`,`GB`],r=Math.floor(Math.log(e)/Math.log(i));return `${(e/Math.pow(i,r)).toFixed(2)} ${n[r]}`}function E(e){let i=performance.getEntriesByType?.(`resource`);if(i)return i.filter(n=>n.name.includes(e)).pop()}function R(){let e=performance.getEntriesByType?.(`resource`);return e?e.filter(i=>l.some(n=>i.name.includes(n))):[]}function S(e,i){if(!e){Y$2.info(`\u{1F4E6} API Resource Metrics for ${i}: Not available`);return}Y$2.info(`📦 ═══════════ API Resource Metrics ═══════════`),Y$2.info(`URL: ${i}`),Y$2.info(`Duration: ${ke$1(e.duration)}`);let n=e.transferSize===0;if(Y$2.info(`Served from: ${n?`💾 Cache (disk/memory)`:`🌐 Network`}`),!n){Y$2.info(`Transfer size: ${d(e.transferSize)}`),Y$2.info(`Encoded size: ${d(e.encodedBodySize)}`),Y$2.info(`Decoded size: ${d(e.decodedBodySize)}`);let c=(1-e.encodedBodySize/e.decodedBodySize)*100;c>0&&Y$2.info(`Compression ratio: ${c.toFixed(1)}%`);}let r=e.redirectEnd-e.redirectStart,f=e.fetchStart-e.startTime,a=e.domainLookupEnd-e.domainLookupStart,u=e.connectEnd-e.connectStart,m=e.secureConnectionStart>0?e.connectEnd-e.secureConnectionStart:0,g=e.connectEnd===e.connectStart?e.requestStart-e.fetchStart-a:e.requestStart-e.connectEnd,T=e.responseStart-e.requestStart,P=e.responseEnd-e.responseStart;Y$2.info(`Timing breakdown (${ke$1(e.duration)} total):`),r>0&&Y$2.info(`${s}Redirect: ${ke$1(r)}`),f>0&&Y$2.info(`${s}Queued: ${ke$1(f)}`),g>0&&Y$2.info(`${s}Stalled: ${ke$1(g)}`),a>0&&Y$2.info(`${s}DNS lookup: ${ke$1(a)}`),u>0&&Y$2.info(`${s}TCP connect: ${ke$1(u)}`),m>0&&Y$2.info(`${s}SSL handshake: ${ke$1(m)}`),Y$2.info(`${s}Server waiting (TTFB): ${ke$1(T)}`),Y$2.info(`${s}Content download: ${ke$1(P)}`);let $=e.serverTiming;if($?.length){Y$2.info(`Server-Timing:`);for(let c of $){let p=c.description||c.name;c.duration>0?Y$2.info(`${s}${p}: ${ke$1(c.duration)}`):Y$2.info(`${s}${p}: ${c.duration}`);}}Y$2.info(`📦 ═════════════════════════════════════════════`);}function B(){let e=R();return e.length?e.map(n=>JSON.stringify(n.toJSON())).join(`
|
|
102
102
|
`):``}function z(){let e=new Set;for(let n of l){let r=E(n);r?S(r,n):e.add(n);}if(!e.size||typeof PerformanceObserver>`u`)return;let i=new PerformanceObserver(n=>{for(let r of n.getEntries())for(let f of e)if(r.name.includes(f)){S(r,f),e.delete(f);break}e.size||i.disconnect();});i.observe({type:`resource`,buffered:false});}
|
|
103
103
|
|
|
104
104
|
function a(i){return i?new Date(i).toLocaleString(`en-US`,{year:`numeric`,month:`2-digit`,day:`2-digit`,hour:`2-digit`,minute:`2-digit`,second:`2-digit`,fractionalSecondDigits:3,hour12:false,timeZoneName:`short`}):`N/A`}function M(){let i=performance.getEntriesByType?.(`resource`);if(i)return i.find(o=>o.name.includes(`@letscooee/web-sdk`)&&o.name.includes(`main.min.js`))}function x(i){window.cooeeSDKPreview||(document.readyState===`complete`?setTimeout(()=>L(i),100):window.addEventListener(`load`,()=>{setTimeout(()=>L(i),100);}));}function L(i){try{N(i),z();}catch(o){console.error(`Failed to print debugging logs`,o);}}function N(i){let o=performance.getEntriesByType?.(`navigation`)?.[0],f=window.CooeeSDK?.pageLoadTime,l=M(),s=performance.timeOrigin||0,n=o?.responseEnd?s+o.responseEnd:void 0,d=s,c=o?.domContentLoadedEventEnd||0,m=o?.loadEventEnd||0,u=n&&n>0?n:f?f.getTime():0,T=n&&n>0?`HTML download complete`:`inline script execution`,S=c>0?d+c:void 0,$=m>0?d+m:void 0;Y$2.info(`⏱️ ═══════════════ Performance Timing Report ═══════════════`),Y$2.info(`📅 Absolute Timestamps (Local Time):`),Y$2.info(` Note: Inline script can execute during HTML download (incremental parsing)`),Y$2.info(``),Y$2.info(` 1. Navigation started: ${a(d)}`);let r=f?f.getTime():0;if(n&&n>0&&r?r<n?(Y$2.info(` 2. Inline script executed: ${a(r)} (during HTML parsing)`),Y$2.info(` 3. HTML download complete: ${a(n)}`)):(Y$2.info(` 2. HTML download complete: ${a(n)}`),Y$2.info(` 3. Inline script executed: ${a(r)}`)):n&&n>0?Y$2.info(` 2. HTML download complete: ${a(n)}`):r&&Y$2.info(` 2. Inline script executed: ${a(r)}`),Y$2.info(` 4. SDK module loaded: ${a(i.getTime())} (from CDN)`),S&&Y$2.info(` 5. DOMContentLoaded: ${a(S)}`),$&&Y$2.info(` 6. Page fully loaded: ${a($)}`),Y$2.info(``),Y$2.info(`⏱️ Relative Timings:`),n&&n>0&&d){let g=n-d;Y$2.info(` Shopify backend + HTML download: ${ke$1(g)} (not Cooee SDK)`);}if(u){let g=i.getTime()-u;if(g<0){let w=r>0?r:d,b=r>0?`inline script execution`:`navigation start`,K=i.getTime()-w;Y$2.info(` SDK module load time: ${ke$1(K)} after ${b}`),Y$2.info(` (Note: Using earlier baseline because SDK loaded before ${T})`);}else Y$2.info(` SDK module load time: ${ke$1(g)} after ${T}`),Y$2.info(` (Baseline: ${T} at ${a(u)})`);let v=i.getTime()-d;Y$2.info(` \u{1F3AF} Total SDK load time: ${ke$1(v)} (from navigation start to SDK ready)`);}c&&c>0&&Y$2.info(` DOMContentLoaded: ${ke$1(c)} after navigation start`),m&&m>0&&Y$2.info(` Page fully loaded: ${ke$1(m)} after navigation start`),C(l),Y$2.info(`⏱️ ═══════════════════════════════════════════════════════`);}function C(i){if(!i){Y$2.info(``),Y$2.info(`📦 SDK Resource Metrics: Not available`);return}Y$2.info(``),Y$2.info(`📦 SDK Resource Metrics:`),Y$2.info(` URL: ${i.name}`),Y$2.info(` Download duration: ${ke$1(i.duration)}`);let o=i.transferSize===0;if(Y$2.info(` Served from: ${o?`💾 Cache (disk/memory)`:`🌐 Network`}`),!o){Y$2.info(` Transfer size: ${d(i.transferSize)}`),Y$2.info(` Encoded size: ${d(i.encodedBodySize)}`),Y$2.info(` Decoded size: ${d(i.decodedBodySize)}`);let f=(1-i.encodedBodySize/i.decodedBodySize)*100;f>0&&Y$2.info(` Compression ratio: ${f.toFixed(1)}%`);}if(i.domainLookupEnd>0){let f=i.domainLookupEnd-i.domainLookupStart,l=i.connectEnd-i.connectStart,s=i.responseStart-i.requestStart,n=i.responseEnd-i.responseStart;Y$2.info(` Timing breakdown:`),f>0&&Y$2.info(` DNS lookup: ${ke$1(f)}`),l>0&&Y$2.info(` TCP connect: ${ke$1(l)}`),s>0&&Y$2.info(` Request: ${ke$1(s)}`),n>0&&Y$2.info(` Response: ${ke$1(n)}`);}}
|
|
105
105
|
|
|
106
|
-
var
|
|
106
|
+
var sdkDebugLogsDDyFRTPi = /*#__PURE__*/Object.freeze({
|
|
107
107
|
__proto__: null,
|
|
108
108
|
printAllDebugLogs: x
|
|
109
109
|
});
|
|
110
110
|
|
|
111
|
-
export { U as $, At as A, B, he$3 as C, D$1 as D,
|
|
111
|
+
export { U as $, At as A, B, he$3 as C, D$1 as D, li as E, Fe$3 as F, G, He$2 as H, Ir$2 as I, Je$1 as J, Un as K, Lt as L, M$3 as M, Nn$1 as N, Ot as O, ge as P, Qt$2 as Q, Rt$1 as R, Se$5 as S, u$1 as T, Ue$1 as U, Ve$2 as V, w$4 as W, X, Yn$1 as Y, Zr$3 as Z, v as _, I$2 as a, q$1 as a0, Sr$1 as a1, m$1 as a2, vs as a3, ve$2 as a4, pi$1 as a5, Nn as a6, bi$2 as a7, ii$1 as a8, _e as a9, Fs as aa, Ps as ab, Se$2 as ac, ye$1 as ad, dn as ae, fe$4 as af, le$4 as ag, ae$4 as ah, ge$3 as ai, he$4 as aj, gn as ak, In as al, Vr$4 as am, ne$2 as an, Mi$2 as ao, Oe$2 as ap, gr$2 as aq, Re$1 as ar, Fe$2 as as, Pe$1 as at, Ee$4 as au, Gn$1 as av, We$2 as aw, Je$2 as ax, Ae$1 as ay, oe$5 as az, Hi$2 as b, ce$4 as c, Y$2 as d, V$3 as e, H$2 as f, Be$1 as g, Ve$1 as h, A as i, s$3 as j, kt$1 as k, l$3 as l, mt$2 as m, A$2 as n, On as o, Sn as p, jt$2 as q, r$2 as r, se$4 as s, t, S$1 as u, ve$1 as v, wr$3 as w, dt$2 as x, le$1 as y, X$3 as z };
|