@letscooee/web-sdk 13.1.10 → 13.1.12

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/main.min.js CHANGED
@@ -1,11 +1,11 @@
1
- import{$ as ai,Aa as q,B as ei,Ba as Si,C as Ge,Ca as Ee,D as ti,Da as xi,E as J,F as ri,Fa as Ti,G as ir,Ga as A,H as ii,Ha as Ii,I as De,Ia as Le,J as wt,Ja as xt,K as oi,Ka as Ri,L as H,La as Se,M as ni,N as Ae,O as or,P as Ce,Q as si,R as P,a as be,aa as li,b as I,ba as ci,c as Pe,ca as mi,d as zr,da as pi,e as $r,ea as di,f as L,fa as $,g as qr,ga as gi,h as Y,ha as D,i as jr,ia as ui,j as Gr,ja as Ct,ka as yt,la as Et,m as me,ma as fi,n as je,na as hi,o as bt,oa as Q,p as we,pa as St,q as Kr,qa as vi,r as Xr,ra as bi,s as tr,sa as wi,t as Yr,ta as Ci,u as R,ua as ye,v as Jr,w as Qr,x as rr,y as Zr,ya as yi,z as pe,za as Ei}from"./chunk-K3NDUCRB.js";import{d as Wr,f as Nr,h as Fr,i as ve,k as d,l as Hr,m as Br,n as Vr,o as Ur,p as qe}from"./chunk-PC4YRNPG.js";import{a as h,b as X,h as Mr}from"./chunk-U4XWPFUW.js";var ki=0;function Pi(r,e){if(!r)return;let t=document.createElement("script");t.id=e??"",t.src=r,t.type="module",document.head.appendChild(t)}function nr(r=document.head){return Di(ve.styleURL,r,"cooee-global-styles")}function xo(r=document.head){return Di(ve.swiperStyleURL,r,"cooee-swiper-styles")}function Di(r,e=document.head,t){return new Promise(i=>{if(e.querySelector(`#${t}`)){i();return}let s=document.createElement("link");s.rel="stylesheet",s.href=r,s.id=t,s.onload=()=>{i()},s.onerror=()=>{console.error("Failed to load stylesheet:",r),i()},e.appendChild(s)})}function re(r,e=document.head){if(!r)return;ki++;let t=document.createElement("style");t.id=`cooee-app-css-${ki}`,t.textContent=r,e.appendChild(t)}function Ai(r){if(!r)return;let e=document.createElement("script");e.id="cooee-app-script",e.innerHTML=r,document.head.appendChild(e)}function sr(r){if(r)try{(0,eval)(r)}catch(e){console.error("Failed to execute script:",e)}}async function Tt(){let r=(await import(`${Fr}/swiper-bundle.min.mjs`)).Swiper;return window.CooeeSDK.Swiper=r}async function ar(r,e=!0){if(!r)return;let t=[];e&&t.push(xo(r)),t.push(nr(r)),await Promise.all(t);let i=be.get().website.commonCSS;re(i,r)}var It=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,t=window.innerHeight;(t!==this.lastHeight||e!==this.lastWidth)&&(this.onResizeCallback(),this.lastWidth=e,this.lastHeight=t)}};var To=" daum[ /]| deusu/|(?:^|[^g])news(?!sapphire)|(?<! (?:channel/|google/))google(?!(app|/google| pixel))|(?<! cu)bots?(?:\\b|_)|(?<!(?:lib))http|(?<![hg]m)score|(?<!cam)scan|24x7|@[a-z][\\w-]+\\.|\\(\\)|\\.com\\b|\\bperl\\b|\\btime/|\\||^[\\w \\.\\-\\(?:\\):%]+(?:/v?\\d+(?:\\.\\d+)?(?:\\.\\d{1,10})*?)?(?:,|$)|^[^ ]{50,}$|^\\d+\\b|^\\W|^\\w*search\\b|^\\w+/[\\w\\(\\)]*$|^active|^ad muncher|^amaya|^avsdevicesdk/|^azure|^biglotron|^bot|^bw/|^clamav[ /]|^client/|^cobweb/|^custom|^ddg[_-]android|^discourse|^dispatch/\\d|^downcast/|^duckduckgo|^email|^facebook|^getright/|^gozilla/|^hobbit|^hotzonu|^hwcdn/|^igetter/|^jeode/|^jetty/|^jigsaw|^microsoft bits|^movabletype|^mozilla/\\d\\.\\d\\s[\\w\\.-]+$|^mozilla/\\d\\.\\d\\s\\(compatible;?(?:\\s\\w+\\/\\d+\\.\\d+)?\\)$|^navermailapp|^netsurf|^offline|^openai/|^owler|^php|^postman|^python|^rank|^read|^reed|^rest|^rss|^snapchat|^space bison|^svn|^swcd |^taringa|^thumbor/|^track|^w3c|^webbandit/|^webcopier|^wget|^whatsapp|^wordpress|^xenu link sleuth|^yahoo|^yandex|^zdm/\\d|^zoom marketplace/|agent\\b|analyzer|archive|ask jeeves/teoma|audit|bit\\.ly/|bluecoat drtr|browsex|burpcollaborator|capture|catch|check\\b|checker|chrome-lighthouse|chromeframe|classifier|cloudflare|convertify|crawl|cypress/|dareboost|datanyze|dejaclick|detect|dmbrowser|download|evc-batch/|exaleadcloudview|feed|fetcher|firephp|functionize|grab|headless|httrack|hubspot marketing grader|hydra|ibisbrowser|infrawatch|insight|inspect|iplabel|java(?!;)|library|linkcheck|mail\\.ru/|manager|measure|neustar wpm|node\\b|nutch|offbyone|onetrust|optimize|pageburst|pagespeed|parser|phantomjs|pingdom|powermarks|preview|proxy|ptst[ /]\\d|retriever|rexx;|rigor|rss\\b|scrape|server|sogou|sparkler/|speedcurve|spider|splash|statuscake|supercleaner|synapse|synthetic|tools|torrent|transcoder|url|validator|virtuoso|wappalyzer|webglance|webkit2png|whatcms/|xtate/",Io=/bot|crawl|http|lighthouse|scan|search|spider/i,Ke;function Ro(){if(Ke instanceof RegExp)return Ke;try{Ke=new RegExp(To,"i")}catch{Ke=Io}return Ke}function Li(r){return!!r&&Ro().test(r)}var ko="2.0.4",wr=500,_i="user-agent",Ne="",Oi="?",Lt="function",ue="undefined",Fe="object",Cr="string",_="browser",ie="cpu",te="device",j="engine",B="os",Me="result",m="name",n="type",c="vendor",p="version",O="architecture",ot="major",l="model",rt="console",v="mobile",C="tablet",x="smarttv",Z="wearable",Rt="xr",it="embedded",Xe="inapp",Sr="brands",Te="formFactors",xr="fullVersionList",We="platform",Tr="platformVersion",Mt="bitness",fe="sec-ch-ua",Po=fe+"-full-version-list",Do=fe+"-arch",Ao=fe+"-"+Mt,Lo=fe+"-form-factors",_o=fe+"-"+v,Oo=fe+"-"+l,Ki=fe+"-"+We,Mo=Ki+"-version",Xi=[Sr,xr,v,l,We,Tr,O,Te,Mt],kt="Amazon",_e="Apple",Mi="ASUS",Wi="BlackBerry",xe="Google",Ni="Huawei",lr="Lenovo",Fi="Honor",Pt="LG",cr="Microsoft",mr="Motorola",pr="Nvidia",Hi="OnePlus",dr="OPPO",Ye="Samsung",Bi="Sharp",Je="Sony",gr="Xiaomi",ur="Zebra",Vi="Chrome",Ui="Chromium",de="Chromecast",At="Edge",Qe="Firefox",Ze="Opera",fr="Facebook",zi="Sogou",Oe="Mobile ",et=" Browser",yr="Windows",Wo=typeof window!==ue,M=Wo&&window.navigator?window.navigator:void 0,ge=M&&M.userAgentData?M.userAgentData:void 0,No=function(r,e){var t={},i=e;if(!_t(e)){i={};for(var o in e)for(var s in e[o])i[s]=e[o][s].concat(i[s]?i[s]:[])}for(var a in r)t[a]=i[a]&&i[a].length%2===0?i[a].concat(r[a]):r[a];return t},Wt=function(r){for(var e={},t=0;t<r.length;t++)e[r[t].toUpperCase()]=r[t];return e},Er=function(r,e){if(typeof r===Fe&&r.length>0){for(var t in r)if(oe(e)==oe(r[t]))return!0;return!1}return Be(r)?oe(e)==oe(r):!1},_t=function(r,e){for(var t in r)return/^(browser|cpu|device|engine|os)$/.test(t)||(e?_t(r[t]):!1)},Be=function(r){return typeof r===Cr},hr=function(r){if(r){for(var e=[],t=He(/\\?\"/g,r).split(","),i=0;i<t.length;i++)if(t[i].indexOf(";")>-1){var o=Ot(t[i]).split(";v=");e[i]={brand:o[0],version:o[1]}}else e[i]=Ot(t[i]);return e}},oe=function(r){return Be(r)?r.toLowerCase():r},vr=function(r){return Be(r)?He(/[^\d\.]/g,r).split(".")[0]:void 0},ne=function(r){for(var e in r){var t=r[e];typeof t==Fe&&t.length==2?this[t[0]]=t[1]:this[t]=void 0}return this},He=function(r,e){return Be(e)?e.replace(r,Ne):e},tt=function(r){return He(/\\?\"/g,r)},Ot=function(r,e){if(Be(r))return r=He(/^\s\s*/,r),typeof e===ue?r:r.substring(0,wr)},br=function(r,e){if(!(!r||!e))for(var t=0,i,o,s,a,f,u;t<e.length&&!f;){var w=e[t],S=e[t+1];for(i=o=0;i<w.length&&!f&&w[i];)if(f=w[i++].exec(r),f)for(s=0;s<S.length;s++)u=f[++o],a=S[s],typeof a===Fe&&a.length>0?a.length===2?typeof a[1]==Lt?this[a[0]]=a[1].call(this,u):this[a[0]]=a[1]:a.length>=3&&(typeof a[1]===Lt&&!(a[1].exec&&a[1].test)?a.length>3?this[a[0]]=u?a[1].apply(this,a.slice(2)):void 0:this[a[0]]=u?a[1].call(this,u,a[2]):void 0:a.length==3?this[a[0]]=u?u.replace(a[1],a[2]):void 0:a.length==4?this[a[0]]=u?a[3].call(this,u.replace(a[1],a[2])):void 0:a.length>4&&(this[a[0]]=u?a[3].apply(this,[u.replace(a[1],a[2])].concat(a.slice(4))):void 0)):this[a]=u||void 0;t+=2}},ee=function(r,e){for(var t in e)if(typeof e[t]===Fe&&e[t].length>0){for(var i=0;i<e[t].length;i++)if(Er(e[t][i],r))return t===Oi?void 0:t}else if(Er(e[t],r))return t===Oi?void 0:t;return e.hasOwnProperty("*")?e["*"]:r},$i={ME:"4.90","NT 3.51":"3.51","NT 4.0":"4.0",2e3:["5.0","5.01"],XP:["5.1","5.2"],Vista:"6.0",7:"6.1",8:"6.2","8.1":"6.3",10:["6.4","10.0"],NT:""},qi={embedded:"Automotive",mobile:"Mobile",tablet:["Tablet","EInk"],smarttv:"TV",wearable:"Watch",xr:["VR","XR"],"?":["Desktop","Unknown"],"*":void 0},Fo={Chrome:"Google Chrome",Edge:"Microsoft Edge","Edge WebView2":"Microsoft Edge WebView2","Chrome WebView":"Android WebView","Chrome Headless":"HeadlessChrome","Huawei Browser":"HuaweiBrowser","MIUI Browser":"Miui Browser","Opera Mobi":"OperaMobile",Yandex:"YaBrowser"},ji={browser:[[/\b(?:crmo|crios)\/([\w\.]+)/i],[p,[m,Oe+"Chrome"]],[/webview.+edge\/([\w\.]+)/i],[p,[m,At+" WebView"]],[/edg(?:e|ios|a)?\/([\w\.]+)/i],[p,[m,"Edge"]],[/(opera mini)\/([-\w\.]+)/i,/(opera [mobiletab]{3,6})\b.+version\/([-\w\.]+)/i,/(opera)(?:.+version\/|[\/ ]+)([\w\.]+)/i],[m,p],[/opios[\/ ]+([\w\.]+)/i],[p,[m,Ze+" Mini"]],[/\bop(?:rg)?x\/([\w\.]+)/i],[p,[m,Ze+" GX"]],[/\bopr\/([\w\.]+)/i],[p,[m,Ze]],[/\bb[ai]*d(?:uhd|[ub]*[aekoprswx]{5,6})[\/ ]?([\w\.]+)/i],[p,[m,"Baidu"]],[/\b(?:mxbrowser|mxios|myie2)\/?([-\w\.]*)\b/i],[p,[m,"Maxthon"]],[/(kindle)\/([\w\.]+)/i,/(lunascape|maxthon|netfront|jasmine|blazer|sleipnir)[\/ ]?([\w\.]*)/i,/(avant|iemobile|slim(?:browser|boat|jet))[\/ ]?([\d\.]*)/i,/(?:ms|\()(ie) ([\w\.]+)/i,/(flock|rockmelt|midori|epiphany|silk|skyfire|ovibrowser|bolt|iron|vivaldi|iridium|phantomjs|bowser|qupzilla|falkon|rekonq|puffin|brave|whale(?!.+naver)|qqbrowserlite|duckduckgo|klar|helio|(?=comodo_)?dragon|otter|dooble|(?:lg |qute)browser)\/([-\w\.]+)/i,/(heytap|ovi|115|surf)browser\/([\d\.]+)/i,/(ecosia|weibo)(?:__| \w+@)([\d\.]+)/i],[m,p],[/quark(?:pc)?\/([-\w\.]+)/i],[p,[m,"Quark"]],[/\bddg\/([\w\.]+)/i],[p,[m,"DuckDuckGo"]],[/(?:\buc? ?browser|(?:juc.+)ucweb)[\/ ]?([\w\.]+)/i],[p,[m,"UCBrowser"]],[/microm.+\bqbcore\/([\w\.]+)/i,/\bqbcore\/([\w\.]+).+microm/i,/micromessenger\/([\w\.]+)/i],[p,[m,"WeChat"]],[/konqueror\/([\w\.]+)/i],[p,[m,"Konqueror"]],[/trident.+rv[: ]([\w\.]{1,9})\b.+like gecko/i],[p,[m,"IE"]],[/ya(?:search)?browser\/([\w\.]+)/i],[p,[m,"Yandex"]],[/slbrowser\/([\w\.]+)/i],[p,[m,"Smart "+lr+et]],[/(avast|avg)\/([\w\.]+)/i],[[m,/(.+)/,"$1 Secure"+et],p],[/\bfocus\/([\w\.]+)/i],[p,[m,Qe+" Focus"]],[/\bopt\/([\w\.]+)/i],[p,[m,Ze+" Touch"]],[/coc_coc\w+\/([\w\.]+)/i],[p,[m,"Coc Coc"]],[/dolfin\/([\w\.]+)/i],[p,[m,"Dolphin"]],[/coast\/([\w\.]+)/i],[p,[m,Ze+" Coast"]],[/miuibrowser\/([\w\.]+)/i],[p,[m,"MIUI"+et]],[/fxios\/([\w\.-]+)/i],[p,[m,Oe+Qe]],[/\bqihoobrowser\/?([\w\.]*)/i],[p,[m,"360"]],[/\b(qq)\/([\w\.]+)/i],[[m,/(.+)/,"$1Browser"],p],[/(oculus|sailfish|huawei|vivo|pico)browser\/([\w\.]+)/i],[[m,/(.+)/,"$1"+et],p],[/samsungbrowser\/([\w\.]+)/i],[p,[m,Ye+" Internet"]],[/metasr[\/ ]?([\d\.]+)/i],[p,[m,zi+" Explorer"]],[/(sogou)mo\w+\/([\d\.]+)/i],[[m,zi+" Mobile"],p],[/(electron)\/([\w\.]+) safari/i,/(tesla)(?: qtcarbrowser|\/(20\d\d\.[-\w\.]+))/i,/m?(qqbrowser|2345(?=browser|chrome|explorer))\w*[\/ ]?v?([\w\.]+)/i],[m,p],[/(lbbrowser|rekonq)/i],[m],[/ome\/([\w\.]+) \w* ?(iron) saf/i,/ome\/([\w\.]+).+qihu (360)[es]e/i],[p,m],[/((?:fban\/fbios|fb_iab\/fb4a)(?!.+fbav)|;fbav\/([\w\.]+);)/i],[[m,fr],p,[n,Xe]],[/(kakao(?:talk|story))[\/ ]([\w\.]+)/i,/(naver)\(.*?(\d+\.[\w\.]+).*\)/i,/(daum)apps[\/ ]([\w\.]+)/i,/safari (line)\/([\w\.]+)/i,/\b(line)\/([\w\.]+)\/iab/i,/(alipay)client\/([\w\.]+)/i,/(twitter)(?:and| f.+e\/([\w\.]+))/i,/(instagram|snapchat|klarna)[\/ ]([-\w\.]+)/i],[m,p,[n,Xe]],[/\bgsa\/([\w\.]+) .*safari\//i],[p,[m,"GSA"],[n,Xe]],[/musical_ly(?:.+app_?version\/|_)([\w\.]+)/i],[p,[m,"TikTok"],[n,Xe]],[/\[(linkedin)app\]/i],[m,[n,Xe]],[/(chromium)[\/ ]([-\w\.]+)/i],[m,p],[/headlesschrome(?:\/([\w\.]+)| )/i],[p,[m,Vi+" Headless"]],[/wv\).+chrome\/([\w\.]+).+edgw\//i],[p,[m,At+" WebView2"]],[/ wv\).+(chrome)\/([\w\.]+)/i],[[m,Vi+" WebView"],p],[/droid.+ version\/([\w\.]+)\b.+(?:mobile safari|safari)/i],[p,[m,"Android"+et]],[/chrome\/([\w\.]+) mobile/i],[p,[m,Oe+"Chrome"]],[/(chrome|omniweb|arora|[tizenoka]{5} ?browser)\/v?([\w\.]+)/i],[m,p],[/version\/([\w\.\,]+) .*mobile(?:\/\w+ | ?)safari/i],[p,[m,Oe+"Safari"]],[/iphone .*mobile(?:\/\w+ | ?)safari/i],[[m,Oe+"Safari"]],[/version\/([\w\.\,]+) .*(safari)/i],[p,m],[/webkit.+?(mobile ?safari|safari)(\/[\w\.]+)/i],[m,[p,"1"]],[/(webkit|khtml)\/([\w\.]+)/i],[m,p],[/(?:mobile|tablet);.*(firefox)\/([\w\.-]+)/i],[[m,Oe+Qe],p],[/(navigator|netscape\d?)\/([-\w\.]+)/i],[[m,"Netscape"],p],[/(wolvic|librewolf)\/([\w\.]+)/i],[m,p],[/mobile vr; rv:([\w\.]+)\).+firefox/i],[p,[m,Qe+" Reality"]],[/ekiohf.+(flow)\/([\w\.]+)/i,/(swiftfox)/i,/(icedragon|iceweasel|camino|chimera|fennec|maemo browser|minimo|conkeror)[\/ ]?([\w\.\+]+)/i,/(seamonkey|k-meleon|icecat|iceape|firebird|phoenix|palemoon|basilisk|waterfox)\/([-\w\.]+)$/i,/(firefox)\/([\w\.]+)/i,/(mozilla)\/([\w\.]+) .+rv\:.+gecko\/\d+/i,/(amaya|dillo|doris|icab|ladybird|lynx|mosaic|netsurf|obigo|polaris|w3m|(?:go|ice|up)[\. ]?browser)[-\/ ]?v?([\w\.]+)/i,/\b(links) \(([\w\.]+)/i],[m,[p,/_/g,"."]],[/(cobalt)\/([\w\.]+)/i],[m,[p,/[^\d\.]+./,Ne]]],cpu:[[/\b((amd|x|x86[-_]?|wow|win)64)\b/i],[[O,"amd64"]],[/(ia32(?=;))/i,/\b((i[346]|x)86)(pc)?\b/i],[[O,"ia32"]],[/\b(aarch64|arm(v?[89]e?l?|_?64))\b/i],[[O,"arm64"]],[/\b(arm(v[67])?ht?n?[fl]p?)\b/i],[[O,"armhf"]],[/( (ce|mobile); ppc;|\/[\w\.]+arm\b)/i],[[O,"arm"]],[/((ppc|powerpc)(64)?)( mac|;|\))/i],[[O,/ower/,Ne,oe]],[/ sun4\w[;\)]/i],[[O,"sparc"]],[/\b(avr32|ia64(?=;)|68k(?=\))|\barm(?=v([1-7]|[5-7]1)l?|;|eabi)|(irix|mips|sparc)(64)?\b|pa-risc)/i],[[O,oe]]],device:[[/\b(sch-i[89]0\d|shw-m380s|sm-[ptx]\w{2,4}|gt-[pn]\d{2,4}|sgh-t8[56]9|nexus 10)/i],[l,[c,Ye],[n,C]],[/\b((?:s[cgp]h|gt|sm)-(?![lr])\w+|sc[g-]?[\d]+a?|galaxy nexus)/i,/samsung[- ]((?!sm-[lr]|browser)[-\w]+)/i,/sec-(sgh\w+)/i],[l,[c,Ye],[n,v]],[/(?:\/|\()(ip(?:hone|od)[\w, ]*)(?:\/|;)/i],[l,[c,_e],[n,v]],[/\((ipad);[-\w\),; ]+apple/i,/applecoremedia\/[\w\.]+ \((ipad)/i,/\b(ipad)\d\d?,\d\d?[;\]].+ios/i],[l,[c,_e],[n,C]],[/(macintosh);/i],[l,[c,_e]],[/\b(sh-?[altvz]?\d\d[a-ekm]?)/i],[l,[c,Bi],[n,v]],[/\b((?:brt|eln|hey2?|gdi|jdn)-a?[lnw]09|(?:ag[rm]3?|jdn2|kob2)-a?[lw]0[09]hn)(?: bui|\)|;)/i],[l,[c,Fi],[n,C]],[/honor([-\w ]+)[;\)]/i],[l,[c,Fi],[n,v]],[/\b((?:ag[rs][2356]?k?|bah[234]?|bg[2o]|bt[kv]|cmr|cpn|db[ry]2?|jdn2|got|kob2?k?|mon|pce|scm|sht?|[tw]gr|vrd)-[ad]?[lw][0125][09]b?|605hw|bg2-u03|(?:gem|fdr|m2|ple|t1)-[7a]0[1-4][lu]|t1-a2[13][lw]|mediapad[\w\. ]*(?= bui|\)))\b(?!.+d\/s)/i],[l,[c,Ni],[n,C]],[/(?:huawei)([-\w ]+)[;\)]/i,/\b(nexus 6p|\w{2,4}e?-[atu]?[ln][\dx][012359c][adn]?)\b(?!.+d\/s)/i],[l,[c,Ni],[n,v]],[/oid[^\)]+; (2[\dbc]{4}(182|283|rp\w{2})[cgl]|m2105k81a?c)(?: bui|\))/i,/\b((?:red)?mi[-_ ]?pad[\w- ]*)(?: bui|\))/i],[[l,/_/g," "],[c,gr],[n,C]],[/\b(poco[\w ]+|m2\d{3}j\d\d[a-z]{2})(?: bui|\))/i,/\b; (\w+) build\/hm\1/i,/\b(hm[-_ ]?note?[_ ]?(?:\d\w)?) bui/i,/\b(redmi[\-_ ]?(?:note|k)?[\w_ ]+)(?: bui|\))/i,/oid[^\)]+; (m?[12][0-389][01]\w{3,6}[c-y])( bui|; wv|\))/i,/\b(mi[-_ ]?(?:a\d|one|one[_ ]plus|note lte|max|cc)?[_ ]?(?:\d?\w?)[_ ]?(?:plus|se|lite|pro)?)(?: bui|\))/i,/ ([\w ]+) miui\/v?\d/i],[[l,/_/g," "],[c,gr],[n,v]],[/droid.+; (cph2[3-6]\d[13579]|((gm|hd)19|(ac|be|in|kb)20|(d[en]|eb|le|mt)21|ne22)[0-2]\d|p[g-k]\w[1m]10)\b/i,/(?:one)?(?:plus)? (a\d0\d\d)(?: b|\))/i],[l,[c,Hi],[n,v]],[/; (\w+) bui.+ oppo/i,/\b(cph[12]\d{3}|p(?:af|c[al]|d\w|e[ar])[mt]\d0|x9007|a101op)\b/i],[l,[c,dr],[n,v]],[/\b(opd2(\d{3}a?))(?: bui|\))/i],[l,[c,ee,{OnePlus:["203","304","403","404","413","415"],"*":dr}],[n,C]],[/(vivo (5r?|6|8l?|go|one|s|x[il]?[2-4]?)[\w\+ ]*)(?: bui|\))/i],[l,[c,"BLU"],[n,v]],[/; vivo (\w+)(?: bui|\))/i,/\b(v[12]\d{3}\w?[at])(?: bui|;)/i],[l,[c,"Vivo"],[n,v]],[/\b(rmx[1-3]\d{3})(?: bui|;|\))/i],[l,[c,"Realme"],[n,v]],[/(ideatab[-\w ]+|602lv|d-42a|a101lv|a2109a|a3500-hv|s[56]000|pb-6505[my]|tb-?x?\d{3,4}(?:f[cu]|xu|[av])|yt\d?-[jx]?\d+[lfmx])( bui|;|\)|\/)/i,/lenovo ?(b[68]0[08]0-?[hf]?|tab(?:[\w- ]+?)|tb[\w-]{6,7})( bui|;|\)|\/)/i],[l,[c,lr],[n,C]],[/lenovo[-_ ]?([-\w ]+?)(?: bui|\)|\/)/i],[l,[c,lr],[n,v]],[/\b(milestone|droid(?:[2-4x]| (?:bionic|x2|pro|razr))?:?( 4g)?)\b[\w ]+build\//i,/\bmot(?:orola)?[- ]([\w\s]+)(\)| bui)/i,/((?:moto(?! 360)[-\w\(\) ]+|xt\d{3,4}[cgkosw\+]?[-\d]*|nexus 6)(?= bui|\)))/i],[l,[c,mr],[n,v]],[/\b(mz60\d|xoom[2 ]{0,2}) build\//i],[l,[c,mr],[n,C]],[/((?=lg)?[vl]k\-?\d{3}) bui| 3\.[-\w; ]{10}lg?-([06cv9]{3,4})/i],[l,[c,Pt],[n,C]],[/(lm(?:-?f100[nv]?|-[\w\.]+)(?= bui|\))|nexus [45])/i,/\blg[-e;\/ ]+(?!.*(?:browser|netcast|android tv|watch|webos))(\w+)/i,/\blg-?([\d\w]+) bui/i],[l,[c,Pt],[n,v]],[/(nokia) (t[12][01])/i],[c,l,[n,C]],[/(?:maemo|nokia).*(n900|lumia \d+|rm-\d+)/i,/nokia[-_ ]?(([-\w\. ]*))/i],[[l,/_/g," "],[n,v],[c,"Nokia"]],[/(pixel (c|tablet))\b/i],[l,[c,xe],[n,C]],[/droid.+;(?: google)? (g(01[13]a|020[aem]|025[jn]|1b60|1f8f|2ybb|4s1m|576d|5nz6|8hhn|8vou|a02099|c15s|d1yq|e2ae|ec77|gh2x|kv4x|p4bc|pj41|r83y|tt9q|ur25|wvk6)|pixel[\d ]*a?( pro)?( xl)?( fold)?( \(5g\))?)( bui|\))/i],[l,[c,xe],[n,v]],[/(google) (pixelbook( go)?)/i],[c,l],[/droid.+; (a?\d[0-2]{2}so|[c-g]\d{4}|so[-gl]\w+|xq-\w\w\d\d)(?= bui|\).+chrome\/(?![1-6]{0,1}\d\.))/i],[l,[c,Je],[n,v]],[/sony tablet [ps]/i,/\b(?:sony)?sgp\w+(?: bui|\))/i],[[l,"Xperia Tablet"],[c,Je],[n,C]],[/(alexa)webm/i,/(kf[a-z]{2}wi|aeo(?!bc)\w\w)( bui|\))/i,/(kf[a-z]+)( bui|\)).+silk\//i],[l,[c,kt],[n,C]],[/((?:sd|kf)[0349hijorstuw]+)( bui|\)).+silk\//i],[[l,/(.+)/g,"Fire Phone $1"],[c,kt],[n,v]],[/(playbook);[-\w\),; ]+(rim)/i],[l,c,[n,C]],[/\b((?:bb[a-f]|st[hv])100-\d)/i,/\(bb10; (\w+)/i],[l,[c,Wi],[n,v]],[/(?:\b|asus_)(transfo[prime ]{4,10} \w+|eeepc|slider \w+|nexus 7|padfone|p00[cj])/i],[l,[c,Mi],[n,C]],[/ (z[bes]6[027][012][km][ls]|zenfone \d\w?)\b/i],[l,[c,Mi],[n,v]],[/(nexus 9)/i],[l,[c,"HTC"],[n,C]],[/(htc)[-;_ ]{1,2}([\w ]+(?=\)| bui)|\w+)/i,/(zte)[- ]([\w ]+?)(?: bui|\/|\))/i,/(alcatel|geeksphone|nexian|panasonic(?!(?:;|\.))|sony(?!-bra))[-_ ]?([-\w]*)/i],[c,[l,/_/g," "],[n,v]],[/tcl (xess p17aa)/i,/droid [\w\.]+; ((?:8[14]9[16]|9(?:0(?:48|60|8[01])|1(?:3[27]|66)|2(?:6[69]|9[56])|466))[gqswx])(_\w(\w|\w\w))?(\)| bui)/i],[l,[c,"TCL"],[n,C]],[/droid [\w\.]+; (418(?:7d|8v)|5087z|5102l|61(?:02[dh]|25[adfh]|27[ai]|56[dh]|59k|65[ah])|a509dl|t(?:43(?:0w|1[adepqu])|50(?:6d|7[adju])|6(?:09dl|10k|12b|71[efho]|76[hjk])|7(?:66[ahju]|67[hw]|7[045][bh]|71[hk]|73o|76[ho]|79w|81[hks]?|82h|90[bhsy]|99b)|810[hs]))(_\w(\w|\w\w))?(\)| bui)/i],[l,[c,"TCL"],[n,v]],[/(itel) ((\w+))/i],[[c,oe],l,[n,ee,{tablet:["p10001l","w7001"],"*":"mobile"}]],[/droid.+; ([ab][1-7]-?[0178a]\d\d?)/i],[l,[c,"Acer"],[n,C]],[/droid.+; (m[1-5] note) bui/i,/\bmz-([-\w]{2,})/i],[l,[c,"Meizu"],[n,v]],[/; ((?:power )?armor(?:[\w ]{0,8}))(?: bui|\))/i],[l,[c,"Ulefone"],[n,v]],[/; (energy ?\w+)(?: bui|\))/i,/; energizer ([\w ]+)(?: bui|\))/i],[l,[c,"Energizer"],[n,v]],[/; cat (b35);/i,/; (b15q?|s22 flip|s48c|s62 pro)(?: bui|\))/i],[l,[c,"Cat"],[n,v]],[/((?:new )?andromax[\w- ]+)(?: bui|\))/i],[l,[c,"Smartfren"],[n,v]],[/droid.+; (a(in)?(0(15|59|6[35])|142)p?)/i],[l,[c,"Nothing"],[n,v]],[/; (x67 5g|tikeasy \w+|ac[1789]\d\w+)( b|\))/i,/archos ?(5|gamepad2?|([\w ]*[t1789]|hello) ?\d+[\w ]*)( b|\))/i],[l,[c,"Archos"],[n,C]],[/archos ([\w ]+)( b|\))/i,/; (ac[3-6]\d\w{2,8})( b|\))/i],[l,[c,"Archos"],[n,v]],[/; (n159v)/i],[l,[c,"HMD"],[n,v]],[/(imo) (tab \w+)/i,/(infinix|tecno) (x1101b?|p904|dp(7c|8d|10a)( pro)?|p70[1-3]a?|p904|t1101)/i],[c,l,[n,C]],[/(blackberry|benq|palm(?=\-)|sonyericsson|acer|asus(?! zenw)|dell|jolla|meizu|motorola|polytron|tecno|micromax|advan)[-_ ]?([-\w]*)/i,/; (blu|hmd|imo|infinix|lava|oneplus|tcl)[_ ]([\w\+ ]+?)(?: bui|\)|; r)/i,/(hp) ([\w ]+\w)/i,/(microsoft); (lumia[\w ]+)/i,/(oppo) ?([\w ]+) bui/i],[c,l,[n,v]],[/(kobo)\s(ereader|touch)/i,/(hp).+(touchpad(?!.+tablet)|tablet)/i,/(kindle)\/([\w\.]+)/i],[c,l,[n,C]],[/(surface duo)/i],[l,[c,cr],[n,C]],[/droid [\d\.]+; (fp\du?)(?: b|\))/i],[l,[c,"Fairphone"],[n,v]],[/((?:tegranote|shield t(?!.+d tv))[\w- ]*?)(?: b|\))/i],[l,[c,pr],[n,C]],[/(sprint) (\w+)/i],[c,l,[n,v]],[/(kin\.[onetw]{3})/i],[[l,/\./g," "],[c,cr],[n,v]],[/droid.+; ([c6]+|et5[16]|mc[239][23]x?|vc8[03]x?)\)/i],[l,[c,ur],[n,C]],[/droid.+; (ec30|ps20|tc[2-8]\d[kx])\)/i],[l,[c,ur],[n,v]],[/smart-tv.+(samsung)/i],[c,[n,x]],[/hbbtv.+maple;(\d+)/i],[[l,/^/,"SmartTV"],[c,Ye],[n,x]],[/(vizio)(?: |.+model\/)(\w+-\w+)/i,/tcast.+(lg)e?. ([-\w]+)/i],[c,l,[n,x]],[/(nux; netcast.+smarttv|lg (netcast\.tv-201\d|android tv))/i],[[c,Pt],[n,x]],[/(apple) ?tv/i],[c,[l,_e+" TV"],[n,x]],[/crkey.*devicetype\/chromecast/i],[[l,de+" Third Generation"],[c,xe],[n,x]],[/crkey.*devicetype\/([^/]*)/i],[[l,/^/,"Chromecast "],[c,xe],[n,x]],[/fuchsia.*crkey/i],[[l,de+" Nest Hub"],[c,xe],[n,x]],[/crkey/i],[[l,de],[c,xe],[n,x]],[/(portaltv)/i],[l,[c,fr],[n,x]],[/droid.+aft(\w+)( bui|\))/i],[l,[c,kt],[n,x]],[/(shield \w+ tv)/i],[l,[c,pr],[n,x]],[/\(dtv[\);].+(aquos)/i,/(aquos-tv[\w ]+)\)/i],[l,[c,Bi],[n,x]],[/(bravia[\w ]+)( bui|\))/i],[l,[c,Je],[n,x]],[/(mi(tv|box)-?\w+) bui/i],[l,[c,gr],[n,x]],[/Hbbtv.*(technisat) (.*);/i],[c,l,[n,x]],[/\b(roku)[\dx]*[\)\/]((?:dvp-)?[\d\.]*)/i,/hbbtv\/\d+\.\d+\.\d+ +\([\w\+ ]*; *([\w\d][^;]*);([^;]*)/i],[[c,/.+\/(\w+)/,"$1",ee,{LG:"lge"}],[l,Ot],[n,x]],[/droid.+; ([\w- ]+) (?:android tv|smart[- ]?tv)/i],[l,[n,x]],[/\b(android tv|smart[- ]?tv|opera tv|tv; rv:|large screen[\w ]+safari)\b/i],[[n,x]],[/(playstation \w+)/i],[l,[c,Je],[n,rt]],[/\b(xbox(?: one)?(?!; xbox))[\); ]/i],[l,[c,cr],[n,rt]],[/(ouya)/i,/(nintendo) (\w+)/i,/(retroid) (pocket ([^\)]+))/i],[c,l,[n,rt]],[/droid.+; (shield)( bui|\))/i],[l,[c,pr],[n,rt]],[/\b(sm-[lr]\d\d[0156][fnuw]?s?|gear live)\b/i],[l,[c,Ye],[n,Z]],[/((pebble))app/i,/(asus|google|lg|oppo) ((pixel |zen)?watch[\w ]*)( bui|\))/i],[c,l,[n,Z]],[/(ow(?:19|20)?we?[1-3]{1,3})/i],[l,[c,dr],[n,Z]],[/(watch)(?: ?os[,\/]|\d,\d\/)[\d\.]+/i],[l,[c,_e],[n,Z]],[/(opwwe\d{3})/i],[l,[c,Hi],[n,Z]],[/(moto 360)/i],[l,[c,mr],[n,Z]],[/(smartwatch 3)/i],[l,[c,Je],[n,Z]],[/(g watch r)/i],[l,[c,Pt],[n,Z]],[/droid.+; (wt63?0{2,3})\)/i],[l,[c,ur],[n,Z]],[/droid.+; (glass) \d/i],[l,[c,xe],[n,Rt]],[/(pico) (4|neo3(?: link|pro)?)/i],[c,l,[n,Rt]],[/(quest( \d| pro)?s?).+vr/i],[l,[c,fr],[n,Rt]],[/mobile vr; rv.+firefox/i],[[n,Rt]],[/(tesla)(?: qtcarbrowser|\/[-\w\.]+)/i],[c,[n,it]],[/(aeobc)\b/i],[l,[c,kt],[n,it]],[/(homepod).+mac os/i],[l,[c,_e],[n,it]],[/windows iot/i],[[n,it]],[/droid .+?; ([^;]+?)(?: bui|; wv\)|\) applew).+?(mobile|vr|\d) safari/i],[l,[n,ee,{mobile:"Mobile",xr:"VR","*":C}]],[/\b((tablet|tab)[;\/]|focus\/\d(?!.+mobile))/i],[[n,C]],[/(phone|mobile(?:[;\/]| [ \w\/\.]*safari)|pda(?=.+windows ce))/i],[[n,v]],[/droid .+?; ([\w\. -]+)( bui|\))/i],[l,[c,"Generic"]]],engine:[[/windows.+ edge\/([\w\.]+)/i],[p,[m,At+"HTML"]],[/(arkweb)\/([\w\.]+)/i],[m,p],[/webkit\/537\.36.+chrome\/(?!27)([\w\.]+)/i],[p,[m,"Blink"]],[/(presto)\/([\w\.]+)/i,/(webkit|trident|netfront|netsurf|amaya|lynx|w3m|goanna|servo)\/([\w\.]+)/i,/ekioh(flow)\/([\w\.]+)/i,/(khtml|tasman|links)[\/ ]\(?([\w\.]+)/i,/(icab)[\/ ]([23]\.[\d\.]+)/i,/\b(libweb)/i],[m,p],[/ladybird\//i],[[m,"LibWeb"]],[/rv\:([\w\.]{1,9})\b.+(gecko)/i],[p,m]],os:[[/(windows nt) (6\.[23]); arm/i],[[m,/N/,"R"],[p,ee,$i]],[/(windows (?:phone|mobile|iot))(?: os)?[\/ ]?([\d\.]*( se)?)/i,/(windows)[\/ ](1[01]|2000|3\.1|7|8(\.1)?|9[58]|me|server 20\d\d( r2)?|vista|xp)/i],[m,p],[/windows nt ?([\d\.\)]*)(?!.+xbox)/i,/\bwin(?=3| ?9|n)(?:nt| 9x )?([\d\.;]*)/i],[[p,/(;|\))/g,"",ee,$i],[m,yr]],[/(windows ce)\/?([\d\.]*)/i],[m,p],[/[adehimnop]{4,7}\b(?:.*os ([\w]+) like mac|; opera)/i,/(?:ios;fbsv\/|iphone.+ios[\/ ])([\d\.]+)/i,/cfnetwork\/.+darwin/i],[[p,/_/g,"."],[m,"iOS"]],[/(mac os x) ?([\w\. ]*)/i,/(macintosh|mac_powerpc\b)(?!.+(haiku|morphos))/i],[[m,"macOS"],[p,/_/g,"."]],[/android ([\d\.]+).*crkey/i],[p,[m,de+" Android"]],[/fuchsia.*crkey\/([\d\.]+)/i],[p,[m,de+" Fuchsia"]],[/crkey\/([\d\.]+).*devicetype\/smartspeaker/i],[p,[m,de+" SmartSpeaker"]],[/linux.*crkey\/([\d\.]+)/i],[p,[m,de+" Linux"]],[/crkey\/([\d\.]+)/i],[p,[m,de]],[/droid ([\w\.]+)\b.+(android[- ]x86)/i],[p,m],[/(ubuntu) ([\w\.]+) like android/i],[[m,/(.+)/,"$1 Touch"],p],[/(harmonyos)[\/ ]?([\d\.]*)/i,/(android|bada|blackberry|kaios|maemo|meego|openharmony|qnx|rim tablet os|sailfish|series40|symbian|tizen)\w*[-\/\.; ]?([\d\.]*)/i],[m,p],[/\(bb(10);/i],[p,[m,Wi]],[/(?:symbian ?os|symbos|s60(?=;)|series ?60)[-\/ ]?([\w\.]*)/i],[p,[m,"Symbian"]],[/mozilla\/[\d\.]+ \((?:mobile|tablet|tv|mobile; [\w ]+); rv:.+ gecko\/([\w\.]+)/i],[p,[m,Qe+" OS"]],[/\b(?:hp)?wos(?:browser)?\/([\w\.]+)/i,/webos(?:[ \/]?|\.tv-20(?=2[2-9]))(\d[\d\.]*)/i],[p,[m,"webOS"]],[/web0s;.+?(?:chr[o0]me|safari)\/(\d+)/i],[[p,ee,{25:"120",24:"108",23:"94",22:"87",6:"79",5:"68",4:"53",3:"38",2:"538",1:"537","*":"TV"}],[m,"webOS"]],[/watch(?: ?os[,\/]|\d,\d\/)([\d\.]+)/i],[p,[m,"watchOS"]],[/(cros) [\w]+(?:\)| ([\w\.]+)\b)/i],[[m,"Chrome OS"],p],[/panasonic;(viera)/i,/(netrange)mmh/i,/(nettv)\/(\d+\.[\w\.]+)/i,/(nintendo|playstation) (\w+)/i,/(xbox); +xbox ([^\);]+)/i,/(pico) .+os([\w\.]+)/i,/\b(joli|palm)\b ?(?:os)?\/?([\w\.]*)/i,/linux.+(mint)[\/\(\) ]?([\w\.]*)/i,/(mageia|vectorlinux|fuchsia|arcaos|arch(?= ?linux))[;l ]([\d\.]*)/i,/([kxln]?ubuntu|debian|suse|opensuse|gentoo|slackware|fedora|mandriva|centos|pclinuxos|red ?hat|zenwalk|linpus|raspbian|plan 9|minix|risc os|contiki|deepin|manjaro|elementary os|sabayon|linspire|knoppix)(?: gnu[\/ ]linux)?(?: enterprise)?(?:[- ]linux)?(?:-gnu)?[-\/ ]?(?!chrom|package)([-\w\.]*)/i,/((?:open)?solaris)[-\/ ]?([\w\.]*)/i,/\b(aix)[; ]([1-9\.]{0,4})/i,/(hurd|linux|morphos)(?: (?:arm|x86|ppc)\w*| ?)([\w\.]*)/i,/(gnu) ?([\w\.]*)/i,/\b([-frentopcghs]{0,5}bsd|dragonfly)[\/ ]?(?!amd|[ix346]{1,2}86)([\w\.]*)/i,/(haiku) ?(r\d)?/i],[m,p],[/(sunos) ?([\d\.]*)/i],[[m,"Solaris"],p],[/\b(beos|os\/2|amigaos|openvms|hp-ux|serenityos)/i,/(unix) ?([\w\.]*)/i],[m,p]]},Dt=(function(){var r={init:{},isIgnore:{},isIgnoreRgx:{},toString:{}};return ne.call(r.init,[[_,[m,p,ot,n]],[ie,[O]],[te,[n,l,c]],[j,[m,p]],[B,[m,p]]]),ne.call(r.isIgnore,[[_,[p,ot]],[j,[p]],[B,[p]]]),ne.call(r.isIgnoreRgx,[[_,/ ?browser$/i],[B,/ ?os$/i]]),ne.call(r.toString,[[_,[m,p]],[ie,[O]],[te,[c,l]],[j,[m,p]],[B,[m,p]]]),r})(),Ho=function(r,e){var t=Dt.init[e],i=Dt.isIgnore[e]||0,o=Dt.isIgnoreRgx[e]||0,s=Dt.toString[e]||0;function a(){ne.call(this,t)}return a.prototype.getItem=function(){return r},a.prototype.withClientHints=function(){return ge?ge.getHighEntropyValues(Xi).then(function(f){return r.setCH(new Yi(f,!1)).parseCH().get()}):r.parseCH().get()},a.prototype.withFeatureCheck=function(){return r.detectFeature().get()},e!=Me&&(a.prototype.is=function(f){var u=!1;for(var w in this)if(this.hasOwnProperty(w)&&!Er(i,w)&&oe(o?He(o,this[w]):this[w])==oe(o?He(o,f):f)){if(u=!0,f!=ue)break}else if(f==ue&&u){u=!u;break}return u},a.prototype.toString=function(){var f=Ne;for(var u in s)typeof this[s[u]]!==ue&&(f+=(f?" ":Ne)+this[s[u]]);return f||ue}),ge||(a.prototype.then=function(f){var u=this,w=function(){for(var U in u)u.hasOwnProperty(U)&&(this[U]=u[U])};w.prototype={is:a.prototype.is,toString:a.prototype.toString};var S=new w;return f(S),S}),new a};function Yi(r,e){if(r=r||{},ne.call(this,Xi),e)ne.call(this,[[Sr,hr(r[fe])],[xr,hr(r[Po])],[v,/\?1/.test(r[_o])],[l,tt(r[Oo])],[We,tt(r[Ki])],[Tr,tt(r[Mo])],[O,tt(r[Do])],[Te,hr(r[Lo])],[Mt,tt(r[Ao])]]);else for(var t in r)this.hasOwnProperty(t)&&typeof r[t]!==ue&&(this[t]=r[t])}function Gi(r,e,t,i){return this.get=function(o){return o?this.data.hasOwnProperty(o)?this.data[o]:void 0:this.data},this.set=function(o,s){return this.data[o]=s,this},this.setCH=function(o){return this.uaCH=o,this},this.detectFeature=function(){if(M&&M.userAgent==this.ua)switch(this.itemType){case _:M.brave&&typeof M.brave.isBrave==Lt&&this.set(m,"Brave");break;case te:!this.get(n)&&ge&&ge[v]&&this.set(n,v),this.get(l)=="Macintosh"&&M&&typeof M.standalone!==ue&&M.maxTouchPoints&&M.maxTouchPoints>2&&this.set(l,"iPad").set(n,C);break;case B:!this.get(m)&&ge&&ge[We]&&this.set(m,ge[We]);break;case Me:var o=this.data,s=function(a){return o[a].getItem().detectFeature().get()};this.set(_,s(_)).set(ie,s(ie)).set(te,s(te)).set(j,s(j)).set(B,s(B))}return this},this.parseUA=function(){return this.itemType!=Me&&br.call(this.data,this.ua,this.rgxMap),this.itemType==_&&this.set(ot,vr(this.get(p))),this},this.parseCH=function(){var o=this.uaCH,s=this.rgxMap;switch(this.itemType){case _:case j:var a=o[xr]||o[Sr],f;if(a)for(var u in a){var w=a[u].brand||a[u],S=a[u].version;this.itemType==_&&!/not.a.brand/i.test(w)&&(!f||/Chrom/.test(f)&&w!=Ui||f==At&&/WebView2/.test(w))&&(w=ee(w,Fo),f=this.get(m),f&&!/Chrom/.test(f)&&/Chrom/.test(w)||this.set(m,w).set(p,S).set(ot,vr(S)),f=w),this.itemType==j&&w==Ui&&this.set(p,S)}break;case ie:var U=o[O];U&&(U&&o[Mt]=="64"&&(U+="64"),br.call(this.data,U+";",s));break;case te:if(o[v]&&this.set(n,v),o[l]&&(this.set(l,o[l]),!this.get(n)||!this.get(c))){var z={};br.call(z,"droid 9; "+o[l]+")",s),!this.get(n)&&z.type&&this.set(n,z.type),!this.get(c)&&z.vendor&&this.set(c,z.vendor)}if(o[Te]){var le;if(typeof o[Te]!="string")for(var vt=0;!le&&vt<o[Te].length;)le=ee(o[Te][vt++],qi);else le=ee(o[Te],qi);this.set(n,le)}break;case B:var ce=o[We];if(ce){var E=o[Tr];ce==yr&&(E=parseInt(vr(E),10)>=13?"11":"10"),this.set(m,ce).set(p,E)}this.get(m)==yr&&o[l]=="Xbox"&&this.set(m,"Xbox").set(p,void 0);break;case Me:var K=this.data,T=function(N){return K[N].getItem().setCH(o).parseCH().get()};this.set(_,T(_)).set(ie,T(ie)).set(te,T(te)).set(j,T(j)).set(B,T(B))}return this},ne.call(this,[["itemType",r],["ua",e],["uaCH",i],["rgxMap",t],["data",Ho(this,r)]]),this}function G(r,e,t){if(typeof r===Fe?(_t(r,!0)?(typeof e===Fe&&(t=e),e=r):(t=r,e=void 0),r=void 0):typeof r===Cr&&!_t(e,!0)&&(t=e,e=void 0),t&&typeof t.append===Lt){var i={};t.forEach(function(u,w){i[w]=u}),t=i}if(!(this instanceof G))return new G(r,e,t).getResult();var o=typeof r===Cr?r:t&&t[_i]?t[_i]:M&&M.userAgent?M.userAgent:Ne,s=new Yi(t,!0),a=e?No(ji,e):ji,f=function(u){return u==Me?function(){return new Gi(u,o,a,s).set("ua",o).set(_,this.getBrowser()).set(ie,this.getCPU()).set(te,this.getDevice()).set(j,this.getEngine()).set(B,this.getOS()).get()}:function(){return new Gi(u,o,a[u],s).parseUA().get()}};return ne.call(this,[["getBrowser",f(_)],["getCPU",f(ie)],["getDevice",f(te)],["getEngine",f(j)],["getOS",f(B)],["getResult",f(Me)],["getUA",function(){return o}],["setUA",function(u){return Be(u)&&(o=u.length>wr?Ot(u,wr):u),this}]]).setUA(o),this}G.VERSION=ko;G.BROWSER=Wt([m,p,ot,n]);G.CPU=Wt([O]);G.DEVICE=Wt([l,c,n,rt,v,x,C,Z,it]);G.ENGINE=G.OS=Wt([m,p]);var Nt=class{modifications=[];constructor(){re(`.lc-hide {display: none !important;height: 0 !important;}
1
+ import{$ as bi,H as si,I as ai,J as li,K as ci,L as mi,M as pi,N as $,O as di,P as D,Q as gi,R as Ct,S as yt,T as Et,U as ui,V as hi,W as Q,X as St,Y as fi,Z as vi,_ as wi,a as Jr,aa as Ce,b as Qr,c as L,d as Zr,e as J,ea as Ci,f as ei,fa as yi,g as ti,ga as q,ha as Ei,ia as ye,j as me,ja as Si,k as Ge,l as wt,la as xi,m as rr,ma as A,n as ri,na as Ti,o as De,oa as Le,p as bt,pa as xt,q as ii,qa as Ii,r as H,ra as Ee,s as oi,t as Ae,u as ir,v as be,w as ni,x as P}from"./chunk-RF2WNRIW.js";import{A as tr,C as zr,F as Pe,H as $r,I as je,K as qr,L as Y,M as jr,O as d,P as Gr,Q as Kr,R as Xr,S as Yr,d as Mr,f as Wr,h as Nr,i as fe,j as ve,k as we,l as Fr,m as Hr,o as er,p as Br,r as I,s as Vr,w as qe,x as R,y as ke,z as Ur}from"./chunk-NOZTSVSX.js";import{a as f,b as X,h as Or}from"./chunk-U4XWPFUW.js";var Ri=0;function ki(r,e){if(!r)return;let t=document.createElement("script");t.id=e??"",t.src=r,t.type="module",document.head.appendChild(t)}function or(r=document.head){return Pi(fe.styleURL,r,"cooee-global-styles")}function So(r=document.head){return Pi(fe.swiperStyleURL,r,"cooee-swiper-styles")}function Pi(r,e=document.head,t){return new Promise(i=>{if(e.querySelector(`#${t}`)){i();return}let s=document.createElement("link");s.rel="stylesheet",s.href=r,s.id=t,s.onload=()=>{i()},s.onerror=()=>{console.error("Failed to load stylesheet:",r),i()},e.appendChild(s)})}function re(r,e=document.head){if(!r)return;Ri++;let t=document.createElement("style");t.id=`cooee-app-css-${Ri}`,t.textContent=r,e.appendChild(t)}function Di(r){if(!r)return;let e=document.createElement("script");e.id="cooee-app-script",e.innerHTML=r,document.head.appendChild(e)}function nr(r){if(r)try{(0,eval)(r)}catch(e){console.error("Failed to execute script:",e)}}async function Tt(){let r=(await import(`${Nr}/swiper-bundle.min.mjs`)).Swiper;return window.CooeeSDK.Swiper=r}async function sr(r,e=!0){if(!r)return;let t=[];e&&t.push(So(r)),t.push(or(r)),await Promise.all(t);let i=we.get().website.commonCSS;re(i,r)}var It=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,t=window.innerHeight;(t!==this.lastHeight||e!==this.lastWidth)&&(this.onResizeCallback(),this.lastWidth=e,this.lastHeight=t)}};var xo=" daum[ /]| deusu/|(?:^|[^g])news(?!sapphire)|(?<! (?:channel/|google/))google(?!(app|/google| pixel))|(?<! cu)bots?(?:\\b|_)|(?<!(?:lib))http|(?<![hg]m)score|(?<!cam)scan|24x7|@[a-z][\\w-]+\\.|\\(\\)|\\.com\\b|\\bperl\\b|\\btime/|\\||^[\\w \\.\\-\\(?:\\):%]+(?:/v?\\d+(?:\\.\\d+)?(?:\\.\\d{1,10})*?)?(?:,|$)|^[^ ]{50,}$|^\\d+\\b|^\\W|^\\w*search\\b|^\\w+/[\\w\\(\\)]*$|^active|^ad muncher|^amaya|^avsdevicesdk/|^azure|^biglotron|^bot|^bw/|^clamav[ /]|^client/|^cobweb/|^custom|^ddg[_-]android|^discourse|^dispatch/\\d|^downcast/|^duckduckgo|^email|^facebook|^getright/|^gozilla/|^hobbit|^hotzonu|^hwcdn/|^igetter/|^jeode/|^jetty/|^jigsaw|^microsoft bits|^movabletype|^mozilla/\\d\\.\\d\\s[\\w\\.-]+$|^mozilla/\\d\\.\\d\\s\\(compatible;?(?:\\s\\w+\\/\\d+\\.\\d+)?\\)$|^navermailapp|^netsurf|^offline|^openai/|^owler|^php|^postman|^python|^rank|^read|^reed|^rest|^rss|^snapchat|^space bison|^svn|^swcd |^taringa|^thumbor/|^track|^w3c|^webbandit/|^webcopier|^wget|^whatsapp|^wordpress|^xenu link sleuth|^yahoo|^yandex|^zdm/\\d|^zoom marketplace/|agent\\b|analyzer|archive|ask jeeves/teoma|audit|bit\\.ly/|bluecoat drtr|browsex|burpcollaborator|capture|catch|check\\b|checker|chrome-lighthouse|chromeframe|classifier|cloudflare|convertify|crawl|cypress/|dareboost|datanyze|dejaclick|detect|dmbrowser|download|evc-batch/|exaleadcloudview|feed|fetcher|firephp|functionize|grab|headless|httrack|hubspot marketing grader|hydra|ibisbrowser|infrawatch|insight|inspect|iplabel|java(?!;)|library|linkcheck|mail\\.ru/|manager|measure|neustar wpm|node\\b|nutch|offbyone|onetrust|optimize|pageburst|pagespeed|parser|phantomjs|pingdom|powermarks|preview|proxy|ptst[ /]\\d|retriever|rexx;|rigor|rss\\b|scrape|server|sogou|sparkler/|speedcurve|spider|splash|statuscake|supercleaner|synapse|synthetic|tools|torrent|transcoder|url|validator|virtuoso|wappalyzer|webglance|webkit2png|whatcms/|xtate/",To=/bot|crawl|http|lighthouse|scan|search|spider/i,Ke;function Io(){if(Ke instanceof RegExp)return Ke;try{Ke=new RegExp(xo,"i")}catch{Ke=To}return Ke}function Ai(r){return!!r&&Io().test(r)}var Ro="2.0.4",wr=500,Li="user-agent",Ne="",_i="?",Lt="function",ge="undefined",Fe="object",br="string",_="browser",ie="cpu",te="device",j="engine",B="os",Me="result",m="name",n="type",c="vendor",p="version",O="architecture",ot="major",l="model",rt="console",v="mobile",C="tablet",x="smarttv",Z="wearable",Rt="xr",it="embedded",Xe="inapp",Er="brands",xe="formFactors",Sr="fullVersionList",We="platform",xr="platformVersion",Mt="bitness",ue="sec-ch-ua",ko=ue+"-full-version-list",Po=ue+"-arch",Do=ue+"-"+Mt,Ao=ue+"-form-factors",Lo=ue+"-"+v,_o=ue+"-"+l,Gi=ue+"-"+We,Oo=Gi+"-version",Ki=[Er,Sr,v,l,We,xr,O,xe,Mt],kt="Amazon",_e="Apple",Oi="ASUS",Mi="BlackBerry",Se="Google",Wi="Huawei",ar="Lenovo",Ni="Honor",Pt="LG",lr="Microsoft",cr="Motorola",mr="Nvidia",Fi="OnePlus",pr="OPPO",Ye="Samsung",Hi="Sharp",Je="Sony",dr="Xiaomi",gr="Zebra",Bi="Chrome",Vi="Chromium",pe="Chromecast",At="Edge",Qe="Firefox",Ze="Opera",ur="Facebook",Ui="Sogou",Oe="Mobile ",et=" Browser",Cr="Windows",Mo=typeof window!==ge,M=Mo&&window.navigator?window.navigator:void 0,de=M&&M.userAgentData?M.userAgentData:void 0,Wo=function(r,e){var t={},i=e;if(!_t(e)){i={};for(var o in e)for(var s in e[o])i[s]=e[o][s].concat(i[s]?i[s]:[])}for(var a in r)t[a]=i[a]&&i[a].length%2===0?i[a].concat(r[a]):r[a];return t},Wt=function(r){for(var e={},t=0;t<r.length;t++)e[r[t].toUpperCase()]=r[t];return e},yr=function(r,e){if(typeof r===Fe&&r.length>0){for(var t in r)if(oe(e)==oe(r[t]))return!0;return!1}return Be(r)?oe(e)==oe(r):!1},_t=function(r,e){for(var t in r)return/^(browser|cpu|device|engine|os)$/.test(t)||(e?_t(r[t]):!1)},Be=function(r){return typeof r===br},hr=function(r){if(r){for(var e=[],t=He(/\\?\"/g,r).split(","),i=0;i<t.length;i++)if(t[i].indexOf(";")>-1){var o=Ot(t[i]).split(";v=");e[i]={brand:o[0],version:o[1]}}else e[i]=Ot(t[i]);return e}},oe=function(r){return Be(r)?r.toLowerCase():r},fr=function(r){return Be(r)?He(/[^\d\.]/g,r).split(".")[0]:void 0},ne=function(r){for(var e in r){var t=r[e];typeof t==Fe&&t.length==2?this[t[0]]=t[1]:this[t]=void 0}return this},He=function(r,e){return Be(e)?e.replace(r,Ne):e},tt=function(r){return He(/\\?\"/g,r)},Ot=function(r,e){if(Be(r))return r=He(/^\s\s*/,r),typeof e===ge?r:r.substring(0,wr)},vr=function(r,e){if(!(!r||!e))for(var t=0,i,o,s,a,h,u;t<e.length&&!h;){var b=e[t],S=e[t+1];for(i=o=0;i<b.length&&!h&&b[i];)if(h=b[i++].exec(r),h)for(s=0;s<S.length;s++)u=h[++o],a=S[s],typeof a===Fe&&a.length>0?a.length===2?typeof a[1]==Lt?this[a[0]]=a[1].call(this,u):this[a[0]]=a[1]:a.length>=3&&(typeof a[1]===Lt&&!(a[1].exec&&a[1].test)?a.length>3?this[a[0]]=u?a[1].apply(this,a.slice(2)):void 0:this[a[0]]=u?a[1].call(this,u,a[2]):void 0:a.length==3?this[a[0]]=u?u.replace(a[1],a[2]):void 0:a.length==4?this[a[0]]=u?a[3].call(this,u.replace(a[1],a[2])):void 0:a.length>4&&(this[a[0]]=u?a[3].apply(this,[u.replace(a[1],a[2])].concat(a.slice(4))):void 0)):this[a]=u||void 0;t+=2}},ee=function(r,e){for(var t in e)if(typeof e[t]===Fe&&e[t].length>0){for(var i=0;i<e[t].length;i++)if(yr(e[t][i],r))return t===_i?void 0:t}else if(yr(e[t],r))return t===_i?void 0:t;return e.hasOwnProperty("*")?e["*"]:r},zi={ME:"4.90","NT 3.51":"3.51","NT 4.0":"4.0",2e3:["5.0","5.01"],XP:["5.1","5.2"],Vista:"6.0",7:"6.1",8:"6.2","8.1":"6.3",10:["6.4","10.0"],NT:""},$i={embedded:"Automotive",mobile:"Mobile",tablet:["Tablet","EInk"],smarttv:"TV",wearable:"Watch",xr:["VR","XR"],"?":["Desktop","Unknown"],"*":void 0},No={Chrome:"Google Chrome",Edge:"Microsoft Edge","Edge WebView2":"Microsoft Edge WebView2","Chrome WebView":"Android WebView","Chrome Headless":"HeadlessChrome","Huawei Browser":"HuaweiBrowser","MIUI Browser":"Miui Browser","Opera Mobi":"OperaMobile",Yandex:"YaBrowser"},qi={browser:[[/\b(?:crmo|crios)\/([\w\.]+)/i],[p,[m,Oe+"Chrome"]],[/webview.+edge\/([\w\.]+)/i],[p,[m,At+" WebView"]],[/edg(?:e|ios|a)?\/([\w\.]+)/i],[p,[m,"Edge"]],[/(opera mini)\/([-\w\.]+)/i,/(opera [mobiletab]{3,6})\b.+version\/([-\w\.]+)/i,/(opera)(?:.+version\/|[\/ ]+)([\w\.]+)/i],[m,p],[/opios[\/ ]+([\w\.]+)/i],[p,[m,Ze+" Mini"]],[/\bop(?:rg)?x\/([\w\.]+)/i],[p,[m,Ze+" GX"]],[/\bopr\/([\w\.]+)/i],[p,[m,Ze]],[/\bb[ai]*d(?:uhd|[ub]*[aekoprswx]{5,6})[\/ ]?([\w\.]+)/i],[p,[m,"Baidu"]],[/\b(?:mxbrowser|mxios|myie2)\/?([-\w\.]*)\b/i],[p,[m,"Maxthon"]],[/(kindle)\/([\w\.]+)/i,/(lunascape|maxthon|netfront|jasmine|blazer|sleipnir)[\/ ]?([\w\.]*)/i,/(avant|iemobile|slim(?:browser|boat|jet))[\/ ]?([\d\.]*)/i,/(?:ms|\()(ie) ([\w\.]+)/i,/(flock|rockmelt|midori|epiphany|silk|skyfire|ovibrowser|bolt|iron|vivaldi|iridium|phantomjs|bowser|qupzilla|falkon|rekonq|puffin|brave|whale(?!.+naver)|qqbrowserlite|duckduckgo|klar|helio|(?=comodo_)?dragon|otter|dooble|(?:lg |qute)browser)\/([-\w\.]+)/i,/(heytap|ovi|115|surf)browser\/([\d\.]+)/i,/(ecosia|weibo)(?:__| \w+@)([\d\.]+)/i],[m,p],[/quark(?:pc)?\/([-\w\.]+)/i],[p,[m,"Quark"]],[/\bddg\/([\w\.]+)/i],[p,[m,"DuckDuckGo"]],[/(?:\buc? ?browser|(?:juc.+)ucweb)[\/ ]?([\w\.]+)/i],[p,[m,"UCBrowser"]],[/microm.+\bqbcore\/([\w\.]+)/i,/\bqbcore\/([\w\.]+).+microm/i,/micromessenger\/([\w\.]+)/i],[p,[m,"WeChat"]],[/konqueror\/([\w\.]+)/i],[p,[m,"Konqueror"]],[/trident.+rv[: ]([\w\.]{1,9})\b.+like gecko/i],[p,[m,"IE"]],[/ya(?:search)?browser\/([\w\.]+)/i],[p,[m,"Yandex"]],[/slbrowser\/([\w\.]+)/i],[p,[m,"Smart "+ar+et]],[/(avast|avg)\/([\w\.]+)/i],[[m,/(.+)/,"$1 Secure"+et],p],[/\bfocus\/([\w\.]+)/i],[p,[m,Qe+" Focus"]],[/\bopt\/([\w\.]+)/i],[p,[m,Ze+" Touch"]],[/coc_coc\w+\/([\w\.]+)/i],[p,[m,"Coc Coc"]],[/dolfin\/([\w\.]+)/i],[p,[m,"Dolphin"]],[/coast\/([\w\.]+)/i],[p,[m,Ze+" Coast"]],[/miuibrowser\/([\w\.]+)/i],[p,[m,"MIUI"+et]],[/fxios\/([\w\.-]+)/i],[p,[m,Oe+Qe]],[/\bqihoobrowser\/?([\w\.]*)/i],[p,[m,"360"]],[/\b(qq)\/([\w\.]+)/i],[[m,/(.+)/,"$1Browser"],p],[/(oculus|sailfish|huawei|vivo|pico)browser\/([\w\.]+)/i],[[m,/(.+)/,"$1"+et],p],[/samsungbrowser\/([\w\.]+)/i],[p,[m,Ye+" Internet"]],[/metasr[\/ ]?([\d\.]+)/i],[p,[m,Ui+" Explorer"]],[/(sogou)mo\w+\/([\d\.]+)/i],[[m,Ui+" Mobile"],p],[/(electron)\/([\w\.]+) safari/i,/(tesla)(?: qtcarbrowser|\/(20\d\d\.[-\w\.]+))/i,/m?(qqbrowser|2345(?=browser|chrome|explorer))\w*[\/ ]?v?([\w\.]+)/i],[m,p],[/(lbbrowser|rekonq)/i],[m],[/ome\/([\w\.]+) \w* ?(iron) saf/i,/ome\/([\w\.]+).+qihu (360)[es]e/i],[p,m],[/((?:fban\/fbios|fb_iab\/fb4a)(?!.+fbav)|;fbav\/([\w\.]+);)/i],[[m,ur],p,[n,Xe]],[/(kakao(?:talk|story))[\/ ]([\w\.]+)/i,/(naver)\(.*?(\d+\.[\w\.]+).*\)/i,/(daum)apps[\/ ]([\w\.]+)/i,/safari (line)\/([\w\.]+)/i,/\b(line)\/([\w\.]+)\/iab/i,/(alipay)client\/([\w\.]+)/i,/(twitter)(?:and| f.+e\/([\w\.]+))/i,/(instagram|snapchat|klarna)[\/ ]([-\w\.]+)/i],[m,p,[n,Xe]],[/\bgsa\/([\w\.]+) .*safari\//i],[p,[m,"GSA"],[n,Xe]],[/musical_ly(?:.+app_?version\/|_)([\w\.]+)/i],[p,[m,"TikTok"],[n,Xe]],[/\[(linkedin)app\]/i],[m,[n,Xe]],[/(chromium)[\/ ]([-\w\.]+)/i],[m,p],[/headlesschrome(?:\/([\w\.]+)| )/i],[p,[m,Bi+" Headless"]],[/wv\).+chrome\/([\w\.]+).+edgw\//i],[p,[m,At+" WebView2"]],[/ wv\).+(chrome)\/([\w\.]+)/i],[[m,Bi+" WebView"],p],[/droid.+ version\/([\w\.]+)\b.+(?:mobile safari|safari)/i],[p,[m,"Android"+et]],[/chrome\/([\w\.]+) mobile/i],[p,[m,Oe+"Chrome"]],[/(chrome|omniweb|arora|[tizenoka]{5} ?browser)\/v?([\w\.]+)/i],[m,p],[/version\/([\w\.\,]+) .*mobile(?:\/\w+ | ?)safari/i],[p,[m,Oe+"Safari"]],[/iphone .*mobile(?:\/\w+ | ?)safari/i],[[m,Oe+"Safari"]],[/version\/([\w\.\,]+) .*(safari)/i],[p,m],[/webkit.+?(mobile ?safari|safari)(\/[\w\.]+)/i],[m,[p,"1"]],[/(webkit|khtml)\/([\w\.]+)/i],[m,p],[/(?:mobile|tablet);.*(firefox)\/([\w\.-]+)/i],[[m,Oe+Qe],p],[/(navigator|netscape\d?)\/([-\w\.]+)/i],[[m,"Netscape"],p],[/(wolvic|librewolf)\/([\w\.]+)/i],[m,p],[/mobile vr; rv:([\w\.]+)\).+firefox/i],[p,[m,Qe+" Reality"]],[/ekiohf.+(flow)\/([\w\.]+)/i,/(swiftfox)/i,/(icedragon|iceweasel|camino|chimera|fennec|maemo browser|minimo|conkeror)[\/ ]?([\w\.\+]+)/i,/(seamonkey|k-meleon|icecat|iceape|firebird|phoenix|palemoon|basilisk|waterfox)\/([-\w\.]+)$/i,/(firefox)\/([\w\.]+)/i,/(mozilla)\/([\w\.]+) .+rv\:.+gecko\/\d+/i,/(amaya|dillo|doris|icab|ladybird|lynx|mosaic|netsurf|obigo|polaris|w3m|(?:go|ice|up)[\. ]?browser)[-\/ ]?v?([\w\.]+)/i,/\b(links) \(([\w\.]+)/i],[m,[p,/_/g,"."]],[/(cobalt)\/([\w\.]+)/i],[m,[p,/[^\d\.]+./,Ne]]],cpu:[[/\b((amd|x|x86[-_]?|wow|win)64)\b/i],[[O,"amd64"]],[/(ia32(?=;))/i,/\b((i[346]|x)86)(pc)?\b/i],[[O,"ia32"]],[/\b(aarch64|arm(v?[89]e?l?|_?64))\b/i],[[O,"arm64"]],[/\b(arm(v[67])?ht?n?[fl]p?)\b/i],[[O,"armhf"]],[/( (ce|mobile); ppc;|\/[\w\.]+arm\b)/i],[[O,"arm"]],[/((ppc|powerpc)(64)?)( mac|;|\))/i],[[O,/ower/,Ne,oe]],[/ sun4\w[;\)]/i],[[O,"sparc"]],[/\b(avr32|ia64(?=;)|68k(?=\))|\barm(?=v([1-7]|[5-7]1)l?|;|eabi)|(irix|mips|sparc)(64)?\b|pa-risc)/i],[[O,oe]]],device:[[/\b(sch-i[89]0\d|shw-m380s|sm-[ptx]\w{2,4}|gt-[pn]\d{2,4}|sgh-t8[56]9|nexus 10)/i],[l,[c,Ye],[n,C]],[/\b((?:s[cgp]h|gt|sm)-(?![lr])\w+|sc[g-]?[\d]+a?|galaxy nexus)/i,/samsung[- ]((?!sm-[lr]|browser)[-\w]+)/i,/sec-(sgh\w+)/i],[l,[c,Ye],[n,v]],[/(?:\/|\()(ip(?:hone|od)[\w, ]*)(?:\/|;)/i],[l,[c,_e],[n,v]],[/\((ipad);[-\w\),; ]+apple/i,/applecoremedia\/[\w\.]+ \((ipad)/i,/\b(ipad)\d\d?,\d\d?[;\]].+ios/i],[l,[c,_e],[n,C]],[/(macintosh);/i],[l,[c,_e]],[/\b(sh-?[altvz]?\d\d[a-ekm]?)/i],[l,[c,Hi],[n,v]],[/\b((?:brt|eln|hey2?|gdi|jdn)-a?[lnw]09|(?:ag[rm]3?|jdn2|kob2)-a?[lw]0[09]hn)(?: bui|\)|;)/i],[l,[c,Ni],[n,C]],[/honor([-\w ]+)[;\)]/i],[l,[c,Ni],[n,v]],[/\b((?:ag[rs][2356]?k?|bah[234]?|bg[2o]|bt[kv]|cmr|cpn|db[ry]2?|jdn2|got|kob2?k?|mon|pce|scm|sht?|[tw]gr|vrd)-[ad]?[lw][0125][09]b?|605hw|bg2-u03|(?:gem|fdr|m2|ple|t1)-[7a]0[1-4][lu]|t1-a2[13][lw]|mediapad[\w\. ]*(?= bui|\)))\b(?!.+d\/s)/i],[l,[c,Wi],[n,C]],[/(?:huawei)([-\w ]+)[;\)]/i,/\b(nexus 6p|\w{2,4}e?-[atu]?[ln][\dx][012359c][adn]?)\b(?!.+d\/s)/i],[l,[c,Wi],[n,v]],[/oid[^\)]+; (2[\dbc]{4}(182|283|rp\w{2})[cgl]|m2105k81a?c)(?: bui|\))/i,/\b((?:red)?mi[-_ ]?pad[\w- ]*)(?: bui|\))/i],[[l,/_/g," "],[c,dr],[n,C]],[/\b(poco[\w ]+|m2\d{3}j\d\d[a-z]{2})(?: bui|\))/i,/\b; (\w+) build\/hm\1/i,/\b(hm[-_ ]?note?[_ ]?(?:\d\w)?) bui/i,/\b(redmi[\-_ ]?(?:note|k)?[\w_ ]+)(?: bui|\))/i,/oid[^\)]+; (m?[12][0-389][01]\w{3,6}[c-y])( bui|; wv|\))/i,/\b(mi[-_ ]?(?:a\d|one|one[_ ]plus|note lte|max|cc)?[_ ]?(?:\d?\w?)[_ ]?(?:plus|se|lite|pro)?)(?: bui|\))/i,/ ([\w ]+) miui\/v?\d/i],[[l,/_/g," "],[c,dr],[n,v]],[/droid.+; (cph2[3-6]\d[13579]|((gm|hd)19|(ac|be|in|kb)20|(d[en]|eb|le|mt)21|ne22)[0-2]\d|p[g-k]\w[1m]10)\b/i,/(?:one)?(?:plus)? (a\d0\d\d)(?: b|\))/i],[l,[c,Fi],[n,v]],[/; (\w+) bui.+ oppo/i,/\b(cph[12]\d{3}|p(?:af|c[al]|d\w|e[ar])[mt]\d0|x9007|a101op)\b/i],[l,[c,pr],[n,v]],[/\b(opd2(\d{3}a?))(?: bui|\))/i],[l,[c,ee,{OnePlus:["203","304","403","404","413","415"],"*":pr}],[n,C]],[/(vivo (5r?|6|8l?|go|one|s|x[il]?[2-4]?)[\w\+ ]*)(?: bui|\))/i],[l,[c,"BLU"],[n,v]],[/; vivo (\w+)(?: bui|\))/i,/\b(v[12]\d{3}\w?[at])(?: bui|;)/i],[l,[c,"Vivo"],[n,v]],[/\b(rmx[1-3]\d{3})(?: bui|;|\))/i],[l,[c,"Realme"],[n,v]],[/(ideatab[-\w ]+|602lv|d-42a|a101lv|a2109a|a3500-hv|s[56]000|pb-6505[my]|tb-?x?\d{3,4}(?:f[cu]|xu|[av])|yt\d?-[jx]?\d+[lfmx])( bui|;|\)|\/)/i,/lenovo ?(b[68]0[08]0-?[hf]?|tab(?:[\w- ]+?)|tb[\w-]{6,7})( bui|;|\)|\/)/i],[l,[c,ar],[n,C]],[/lenovo[-_ ]?([-\w ]+?)(?: bui|\)|\/)/i],[l,[c,ar],[n,v]],[/\b(milestone|droid(?:[2-4x]| (?:bionic|x2|pro|razr))?:?( 4g)?)\b[\w ]+build\//i,/\bmot(?:orola)?[- ]([\w\s]+)(\)| bui)/i,/((?:moto(?! 360)[-\w\(\) ]+|xt\d{3,4}[cgkosw\+]?[-\d]*|nexus 6)(?= bui|\)))/i],[l,[c,cr],[n,v]],[/\b(mz60\d|xoom[2 ]{0,2}) build\//i],[l,[c,cr],[n,C]],[/((?=lg)?[vl]k\-?\d{3}) bui| 3\.[-\w; ]{10}lg?-([06cv9]{3,4})/i],[l,[c,Pt],[n,C]],[/(lm(?:-?f100[nv]?|-[\w\.]+)(?= bui|\))|nexus [45])/i,/\blg[-e;\/ ]+(?!.*(?:browser|netcast|android tv|watch|webos))(\w+)/i,/\blg-?([\d\w]+) bui/i],[l,[c,Pt],[n,v]],[/(nokia) (t[12][01])/i],[c,l,[n,C]],[/(?:maemo|nokia).*(n900|lumia \d+|rm-\d+)/i,/nokia[-_ ]?(([-\w\. ]*))/i],[[l,/_/g," "],[n,v],[c,"Nokia"]],[/(pixel (c|tablet))\b/i],[l,[c,Se],[n,C]],[/droid.+;(?: google)? (g(01[13]a|020[aem]|025[jn]|1b60|1f8f|2ybb|4s1m|576d|5nz6|8hhn|8vou|a02099|c15s|d1yq|e2ae|ec77|gh2x|kv4x|p4bc|pj41|r83y|tt9q|ur25|wvk6)|pixel[\d ]*a?( pro)?( xl)?( fold)?( \(5g\))?)( bui|\))/i],[l,[c,Se],[n,v]],[/(google) (pixelbook( go)?)/i],[c,l],[/droid.+; (a?\d[0-2]{2}so|[c-g]\d{4}|so[-gl]\w+|xq-\w\w\d\d)(?= bui|\).+chrome\/(?![1-6]{0,1}\d\.))/i],[l,[c,Je],[n,v]],[/sony tablet [ps]/i,/\b(?:sony)?sgp\w+(?: bui|\))/i],[[l,"Xperia Tablet"],[c,Je],[n,C]],[/(alexa)webm/i,/(kf[a-z]{2}wi|aeo(?!bc)\w\w)( bui|\))/i,/(kf[a-z]+)( bui|\)).+silk\//i],[l,[c,kt],[n,C]],[/((?:sd|kf)[0349hijorstuw]+)( bui|\)).+silk\//i],[[l,/(.+)/g,"Fire Phone $1"],[c,kt],[n,v]],[/(playbook);[-\w\),; ]+(rim)/i],[l,c,[n,C]],[/\b((?:bb[a-f]|st[hv])100-\d)/i,/\(bb10; (\w+)/i],[l,[c,Mi],[n,v]],[/(?:\b|asus_)(transfo[prime ]{4,10} \w+|eeepc|slider \w+|nexus 7|padfone|p00[cj])/i],[l,[c,Oi],[n,C]],[/ (z[bes]6[027][012][km][ls]|zenfone \d\w?)\b/i],[l,[c,Oi],[n,v]],[/(nexus 9)/i],[l,[c,"HTC"],[n,C]],[/(htc)[-;_ ]{1,2}([\w ]+(?=\)| bui)|\w+)/i,/(zte)[- ]([\w ]+?)(?: bui|\/|\))/i,/(alcatel|geeksphone|nexian|panasonic(?!(?:;|\.))|sony(?!-bra))[-_ ]?([-\w]*)/i],[c,[l,/_/g," "],[n,v]],[/tcl (xess p17aa)/i,/droid [\w\.]+; ((?:8[14]9[16]|9(?:0(?:48|60|8[01])|1(?:3[27]|66)|2(?:6[69]|9[56])|466))[gqswx])(_\w(\w|\w\w))?(\)| bui)/i],[l,[c,"TCL"],[n,C]],[/droid [\w\.]+; (418(?:7d|8v)|5087z|5102l|61(?:02[dh]|25[adfh]|27[ai]|56[dh]|59k|65[ah])|a509dl|t(?:43(?:0w|1[adepqu])|50(?:6d|7[adju])|6(?:09dl|10k|12b|71[efho]|76[hjk])|7(?:66[ahju]|67[hw]|7[045][bh]|71[hk]|73o|76[ho]|79w|81[hks]?|82h|90[bhsy]|99b)|810[hs]))(_\w(\w|\w\w))?(\)| bui)/i],[l,[c,"TCL"],[n,v]],[/(itel) ((\w+))/i],[[c,oe],l,[n,ee,{tablet:["p10001l","w7001"],"*":"mobile"}]],[/droid.+; ([ab][1-7]-?[0178a]\d\d?)/i],[l,[c,"Acer"],[n,C]],[/droid.+; (m[1-5] note) bui/i,/\bmz-([-\w]{2,})/i],[l,[c,"Meizu"],[n,v]],[/; ((?:power )?armor(?:[\w ]{0,8}))(?: bui|\))/i],[l,[c,"Ulefone"],[n,v]],[/; (energy ?\w+)(?: bui|\))/i,/; energizer ([\w ]+)(?: bui|\))/i],[l,[c,"Energizer"],[n,v]],[/; cat (b35);/i,/; (b15q?|s22 flip|s48c|s62 pro)(?: bui|\))/i],[l,[c,"Cat"],[n,v]],[/((?:new )?andromax[\w- ]+)(?: bui|\))/i],[l,[c,"Smartfren"],[n,v]],[/droid.+; (a(in)?(0(15|59|6[35])|142)p?)/i],[l,[c,"Nothing"],[n,v]],[/; (x67 5g|tikeasy \w+|ac[1789]\d\w+)( b|\))/i,/archos ?(5|gamepad2?|([\w ]*[t1789]|hello) ?\d+[\w ]*)( b|\))/i],[l,[c,"Archos"],[n,C]],[/archos ([\w ]+)( b|\))/i,/; (ac[3-6]\d\w{2,8})( b|\))/i],[l,[c,"Archos"],[n,v]],[/; (n159v)/i],[l,[c,"HMD"],[n,v]],[/(imo) (tab \w+)/i,/(infinix|tecno) (x1101b?|p904|dp(7c|8d|10a)( pro)?|p70[1-3]a?|p904|t1101)/i],[c,l,[n,C]],[/(blackberry|benq|palm(?=\-)|sonyericsson|acer|asus(?! zenw)|dell|jolla|meizu|motorola|polytron|tecno|micromax|advan)[-_ ]?([-\w]*)/i,/; (blu|hmd|imo|infinix|lava|oneplus|tcl)[_ ]([\w\+ ]+?)(?: bui|\)|; r)/i,/(hp) ([\w ]+\w)/i,/(microsoft); (lumia[\w ]+)/i,/(oppo) ?([\w ]+) bui/i],[c,l,[n,v]],[/(kobo)\s(ereader|touch)/i,/(hp).+(touchpad(?!.+tablet)|tablet)/i,/(kindle)\/([\w\.]+)/i],[c,l,[n,C]],[/(surface duo)/i],[l,[c,lr],[n,C]],[/droid [\d\.]+; (fp\du?)(?: b|\))/i],[l,[c,"Fairphone"],[n,v]],[/((?:tegranote|shield t(?!.+d tv))[\w- ]*?)(?: b|\))/i],[l,[c,mr],[n,C]],[/(sprint) (\w+)/i],[c,l,[n,v]],[/(kin\.[onetw]{3})/i],[[l,/\./g," "],[c,lr],[n,v]],[/droid.+; ([c6]+|et5[16]|mc[239][23]x?|vc8[03]x?)\)/i],[l,[c,gr],[n,C]],[/droid.+; (ec30|ps20|tc[2-8]\d[kx])\)/i],[l,[c,gr],[n,v]],[/smart-tv.+(samsung)/i],[c,[n,x]],[/hbbtv.+maple;(\d+)/i],[[l,/^/,"SmartTV"],[c,Ye],[n,x]],[/(vizio)(?: |.+model\/)(\w+-\w+)/i,/tcast.+(lg)e?. ([-\w]+)/i],[c,l,[n,x]],[/(nux; netcast.+smarttv|lg (netcast\.tv-201\d|android tv))/i],[[c,Pt],[n,x]],[/(apple) ?tv/i],[c,[l,_e+" TV"],[n,x]],[/crkey.*devicetype\/chromecast/i],[[l,pe+" Third Generation"],[c,Se],[n,x]],[/crkey.*devicetype\/([^/]*)/i],[[l,/^/,"Chromecast "],[c,Se],[n,x]],[/fuchsia.*crkey/i],[[l,pe+" Nest Hub"],[c,Se],[n,x]],[/crkey/i],[[l,pe],[c,Se],[n,x]],[/(portaltv)/i],[l,[c,ur],[n,x]],[/droid.+aft(\w+)( bui|\))/i],[l,[c,kt],[n,x]],[/(shield \w+ tv)/i],[l,[c,mr],[n,x]],[/\(dtv[\);].+(aquos)/i,/(aquos-tv[\w ]+)\)/i],[l,[c,Hi],[n,x]],[/(bravia[\w ]+)( bui|\))/i],[l,[c,Je],[n,x]],[/(mi(tv|box)-?\w+) bui/i],[l,[c,dr],[n,x]],[/Hbbtv.*(technisat) (.*);/i],[c,l,[n,x]],[/\b(roku)[\dx]*[\)\/]((?:dvp-)?[\d\.]*)/i,/hbbtv\/\d+\.\d+\.\d+ +\([\w\+ ]*; *([\w\d][^;]*);([^;]*)/i],[[c,/.+\/(\w+)/,"$1",ee,{LG:"lge"}],[l,Ot],[n,x]],[/droid.+; ([\w- ]+) (?:android tv|smart[- ]?tv)/i],[l,[n,x]],[/\b(android tv|smart[- ]?tv|opera tv|tv; rv:|large screen[\w ]+safari)\b/i],[[n,x]],[/(playstation \w+)/i],[l,[c,Je],[n,rt]],[/\b(xbox(?: one)?(?!; xbox))[\); ]/i],[l,[c,lr],[n,rt]],[/(ouya)/i,/(nintendo) (\w+)/i,/(retroid) (pocket ([^\)]+))/i],[c,l,[n,rt]],[/droid.+; (shield)( bui|\))/i],[l,[c,mr],[n,rt]],[/\b(sm-[lr]\d\d[0156][fnuw]?s?|gear live)\b/i],[l,[c,Ye],[n,Z]],[/((pebble))app/i,/(asus|google|lg|oppo) ((pixel |zen)?watch[\w ]*)( bui|\))/i],[c,l,[n,Z]],[/(ow(?:19|20)?we?[1-3]{1,3})/i],[l,[c,pr],[n,Z]],[/(watch)(?: ?os[,\/]|\d,\d\/)[\d\.]+/i],[l,[c,_e],[n,Z]],[/(opwwe\d{3})/i],[l,[c,Fi],[n,Z]],[/(moto 360)/i],[l,[c,cr],[n,Z]],[/(smartwatch 3)/i],[l,[c,Je],[n,Z]],[/(g watch r)/i],[l,[c,Pt],[n,Z]],[/droid.+; (wt63?0{2,3})\)/i],[l,[c,gr],[n,Z]],[/droid.+; (glass) \d/i],[l,[c,Se],[n,Rt]],[/(pico) (4|neo3(?: link|pro)?)/i],[c,l,[n,Rt]],[/(quest( \d| pro)?s?).+vr/i],[l,[c,ur],[n,Rt]],[/mobile vr; rv.+firefox/i],[[n,Rt]],[/(tesla)(?: qtcarbrowser|\/[-\w\.]+)/i],[c,[n,it]],[/(aeobc)\b/i],[l,[c,kt],[n,it]],[/(homepod).+mac os/i],[l,[c,_e],[n,it]],[/windows iot/i],[[n,it]],[/droid .+?; ([^;]+?)(?: bui|; wv\)|\) applew).+?(mobile|vr|\d) safari/i],[l,[n,ee,{mobile:"Mobile",xr:"VR","*":C}]],[/\b((tablet|tab)[;\/]|focus\/\d(?!.+mobile))/i],[[n,C]],[/(phone|mobile(?:[;\/]| [ \w\/\.]*safari)|pda(?=.+windows ce))/i],[[n,v]],[/droid .+?; ([\w\. -]+)( bui|\))/i],[l,[c,"Generic"]]],engine:[[/windows.+ edge\/([\w\.]+)/i],[p,[m,At+"HTML"]],[/(arkweb)\/([\w\.]+)/i],[m,p],[/webkit\/537\.36.+chrome\/(?!27)([\w\.]+)/i],[p,[m,"Blink"]],[/(presto)\/([\w\.]+)/i,/(webkit|trident|netfront|netsurf|amaya|lynx|w3m|goanna|servo)\/([\w\.]+)/i,/ekioh(flow)\/([\w\.]+)/i,/(khtml|tasman|links)[\/ ]\(?([\w\.]+)/i,/(icab)[\/ ]([23]\.[\d\.]+)/i,/\b(libweb)/i],[m,p],[/ladybird\//i],[[m,"LibWeb"]],[/rv\:([\w\.]{1,9})\b.+(gecko)/i],[p,m]],os:[[/(windows nt) (6\.[23]); arm/i],[[m,/N/,"R"],[p,ee,zi]],[/(windows (?:phone|mobile|iot))(?: os)?[\/ ]?([\d\.]*( se)?)/i,/(windows)[\/ ](1[01]|2000|3\.1|7|8(\.1)?|9[58]|me|server 20\d\d( r2)?|vista|xp)/i],[m,p],[/windows nt ?([\d\.\)]*)(?!.+xbox)/i,/\bwin(?=3| ?9|n)(?:nt| 9x )?([\d\.;]*)/i],[[p,/(;|\))/g,"",ee,zi],[m,Cr]],[/(windows ce)\/?([\d\.]*)/i],[m,p],[/[adehimnop]{4,7}\b(?:.*os ([\w]+) like mac|; opera)/i,/(?:ios;fbsv\/|iphone.+ios[\/ ])([\d\.]+)/i,/cfnetwork\/.+darwin/i],[[p,/_/g,"."],[m,"iOS"]],[/(mac os x) ?([\w\. ]*)/i,/(macintosh|mac_powerpc\b)(?!.+(haiku|morphos))/i],[[m,"macOS"],[p,/_/g,"."]],[/android ([\d\.]+).*crkey/i],[p,[m,pe+" Android"]],[/fuchsia.*crkey\/([\d\.]+)/i],[p,[m,pe+" Fuchsia"]],[/crkey\/([\d\.]+).*devicetype\/smartspeaker/i],[p,[m,pe+" SmartSpeaker"]],[/linux.*crkey\/([\d\.]+)/i],[p,[m,pe+" Linux"]],[/crkey\/([\d\.]+)/i],[p,[m,pe]],[/droid ([\w\.]+)\b.+(android[- ]x86)/i],[p,m],[/(ubuntu) ([\w\.]+) like android/i],[[m,/(.+)/,"$1 Touch"],p],[/(harmonyos)[\/ ]?([\d\.]*)/i,/(android|bada|blackberry|kaios|maemo|meego|openharmony|qnx|rim tablet os|sailfish|series40|symbian|tizen)\w*[-\/\.; ]?([\d\.]*)/i],[m,p],[/\(bb(10);/i],[p,[m,Mi]],[/(?:symbian ?os|symbos|s60(?=;)|series ?60)[-\/ ]?([\w\.]*)/i],[p,[m,"Symbian"]],[/mozilla\/[\d\.]+ \((?:mobile|tablet|tv|mobile; [\w ]+); rv:.+ gecko\/([\w\.]+)/i],[p,[m,Qe+" OS"]],[/\b(?:hp)?wos(?:browser)?\/([\w\.]+)/i,/webos(?:[ \/]?|\.tv-20(?=2[2-9]))(\d[\d\.]*)/i],[p,[m,"webOS"]],[/web0s;.+?(?:chr[o0]me|safari)\/(\d+)/i],[[p,ee,{25:"120",24:"108",23:"94",22:"87",6:"79",5:"68",4:"53",3:"38",2:"538",1:"537","*":"TV"}],[m,"webOS"]],[/watch(?: ?os[,\/]|\d,\d\/)([\d\.]+)/i],[p,[m,"watchOS"]],[/(cros) [\w]+(?:\)| ([\w\.]+)\b)/i],[[m,"Chrome OS"],p],[/panasonic;(viera)/i,/(netrange)mmh/i,/(nettv)\/(\d+\.[\w\.]+)/i,/(nintendo|playstation) (\w+)/i,/(xbox); +xbox ([^\);]+)/i,/(pico) .+os([\w\.]+)/i,/\b(joli|palm)\b ?(?:os)?\/?([\w\.]*)/i,/linux.+(mint)[\/\(\) ]?([\w\.]*)/i,/(mageia|vectorlinux|fuchsia|arcaos|arch(?= ?linux))[;l ]([\d\.]*)/i,/([kxln]?ubuntu|debian|suse|opensuse|gentoo|slackware|fedora|mandriva|centos|pclinuxos|red ?hat|zenwalk|linpus|raspbian|plan 9|minix|risc os|contiki|deepin|manjaro|elementary os|sabayon|linspire|knoppix)(?: gnu[\/ ]linux)?(?: enterprise)?(?:[- ]linux)?(?:-gnu)?[-\/ ]?(?!chrom|package)([-\w\.]*)/i,/((?:open)?solaris)[-\/ ]?([\w\.]*)/i,/\b(aix)[; ]([1-9\.]{0,4})/i,/(hurd|linux|morphos)(?: (?:arm|x86|ppc)\w*| ?)([\w\.]*)/i,/(gnu) ?([\w\.]*)/i,/\b([-frentopcghs]{0,5}bsd|dragonfly)[\/ ]?(?!amd|[ix346]{1,2}86)([\w\.]*)/i,/(haiku) ?(r\d)?/i],[m,p],[/(sunos) ?([\d\.]*)/i],[[m,"Solaris"],p],[/\b(beos|os\/2|amigaos|openvms|hp-ux|serenityos)/i,/(unix) ?([\w\.]*)/i],[m,p]]},Dt=(function(){var r={init:{},isIgnore:{},isIgnoreRgx:{},toString:{}};return ne.call(r.init,[[_,[m,p,ot,n]],[ie,[O]],[te,[n,l,c]],[j,[m,p]],[B,[m,p]]]),ne.call(r.isIgnore,[[_,[p,ot]],[j,[p]],[B,[p]]]),ne.call(r.isIgnoreRgx,[[_,/ ?browser$/i],[B,/ ?os$/i]]),ne.call(r.toString,[[_,[m,p]],[ie,[O]],[te,[c,l]],[j,[m,p]],[B,[m,p]]]),r})(),Fo=function(r,e){var t=Dt.init[e],i=Dt.isIgnore[e]||0,o=Dt.isIgnoreRgx[e]||0,s=Dt.toString[e]||0;function a(){ne.call(this,t)}return a.prototype.getItem=function(){return r},a.prototype.withClientHints=function(){return de?de.getHighEntropyValues(Ki).then(function(h){return r.setCH(new Xi(h,!1)).parseCH().get()}):r.parseCH().get()},a.prototype.withFeatureCheck=function(){return r.detectFeature().get()},e!=Me&&(a.prototype.is=function(h){var u=!1;for(var b in this)if(this.hasOwnProperty(b)&&!yr(i,b)&&oe(o?He(o,this[b]):this[b])==oe(o?He(o,h):h)){if(u=!0,h!=ge)break}else if(h==ge&&u){u=!u;break}return u},a.prototype.toString=function(){var h=Ne;for(var u in s)typeof this[s[u]]!==ge&&(h+=(h?" ":Ne)+this[s[u]]);return h||ge}),de||(a.prototype.then=function(h){var u=this,b=function(){for(var U in u)u.hasOwnProperty(U)&&(this[U]=u[U])};b.prototype={is:a.prototype.is,toString:a.prototype.toString};var S=new b;return h(S),S}),new a};function Xi(r,e){if(r=r||{},ne.call(this,Ki),e)ne.call(this,[[Er,hr(r[ue])],[Sr,hr(r[ko])],[v,/\?1/.test(r[Lo])],[l,tt(r[_o])],[We,tt(r[Gi])],[xr,tt(r[Oo])],[O,tt(r[Po])],[xe,hr(r[Ao])],[Mt,tt(r[Do])]]);else for(var t in r)this.hasOwnProperty(t)&&typeof r[t]!==ge&&(this[t]=r[t])}function ji(r,e,t,i){return this.get=function(o){return o?this.data.hasOwnProperty(o)?this.data[o]:void 0:this.data},this.set=function(o,s){return this.data[o]=s,this},this.setCH=function(o){return this.uaCH=o,this},this.detectFeature=function(){if(M&&M.userAgent==this.ua)switch(this.itemType){case _:M.brave&&typeof M.brave.isBrave==Lt&&this.set(m,"Brave");break;case te:!this.get(n)&&de&&de[v]&&this.set(n,v),this.get(l)=="Macintosh"&&M&&typeof M.standalone!==ge&&M.maxTouchPoints&&M.maxTouchPoints>2&&this.set(l,"iPad").set(n,C);break;case B:!this.get(m)&&de&&de[We]&&this.set(m,de[We]);break;case Me:var o=this.data,s=function(a){return o[a].getItem().detectFeature().get()};this.set(_,s(_)).set(ie,s(ie)).set(te,s(te)).set(j,s(j)).set(B,s(B))}return this},this.parseUA=function(){return this.itemType!=Me&&vr.call(this.data,this.ua,this.rgxMap),this.itemType==_&&this.set(ot,fr(this.get(p))),this},this.parseCH=function(){var o=this.uaCH,s=this.rgxMap;switch(this.itemType){case _:case j:var a=o[Sr]||o[Er],h;if(a)for(var u in a){var b=a[u].brand||a[u],S=a[u].version;this.itemType==_&&!/not.a.brand/i.test(b)&&(!h||/Chrom/.test(h)&&b!=Vi||h==At&&/WebView2/.test(b))&&(b=ee(b,No),h=this.get(m),h&&!/Chrom/.test(h)&&/Chrom/.test(b)||this.set(m,b).set(p,S).set(ot,fr(S)),h=b),this.itemType==j&&b==Vi&&this.set(p,S)}break;case ie:var U=o[O];U&&(U&&o[Mt]=="64"&&(U+="64"),vr.call(this.data,U+";",s));break;case te:if(o[v]&&this.set(n,v),o[l]&&(this.set(l,o[l]),!this.get(n)||!this.get(c))){var z={};vr.call(z,"droid 9; "+o[l]+")",s),!this.get(n)&&z.type&&this.set(n,z.type),!this.get(c)&&z.vendor&&this.set(c,z.vendor)}if(o[xe]){var le;if(typeof o[xe]!="string")for(var vt=0;!le&&vt<o[xe].length;)le=ee(o[xe][vt++],$i);else le=ee(o[xe],$i);this.set(n,le)}break;case B:var ce=o[We];if(ce){var E=o[xr];ce==Cr&&(E=parseInt(fr(E),10)>=13?"11":"10"),this.set(m,ce).set(p,E)}this.get(m)==Cr&&o[l]=="Xbox"&&this.set(m,"Xbox").set(p,void 0);break;case Me:var K=this.data,T=function(N){return K[N].getItem().setCH(o).parseCH().get()};this.set(_,T(_)).set(ie,T(ie)).set(te,T(te)).set(j,T(j)).set(B,T(B))}return this},ne.call(this,[["itemType",r],["ua",e],["uaCH",i],["rgxMap",t],["data",Fo(this,r)]]),this}function G(r,e,t){if(typeof r===Fe?(_t(r,!0)?(typeof e===Fe&&(t=e),e=r):(t=r,e=void 0),r=void 0):typeof r===br&&!_t(e,!0)&&(t=e,e=void 0),t&&typeof t.append===Lt){var i={};t.forEach(function(u,b){i[b]=u}),t=i}if(!(this instanceof G))return new G(r,e,t).getResult();var o=typeof r===br?r:t&&t[Li]?t[Li]:M&&M.userAgent?M.userAgent:Ne,s=new Xi(t,!0),a=e?Wo(qi,e):qi,h=function(u){return u==Me?function(){return new ji(u,o,a,s).set("ua",o).set(_,this.getBrowser()).set(ie,this.getCPU()).set(te,this.getDevice()).set(j,this.getEngine()).set(B,this.getOS()).get()}:function(){return new ji(u,o,a[u],s).parseUA().get()}};return ne.call(this,[["getBrowser",h(_)],["getCPU",h(ie)],["getDevice",h(te)],["getEngine",h(j)],["getOS",h(B)],["getResult",h(Me)],["getUA",function(){return o}],["setUA",function(u){return Be(u)&&(o=u.length>wr?Ot(u,wr):u),this}]]).setUA(o),this}G.VERSION=Ro;G.BROWSER=Wt([m,p,ot,n]);G.CPU=Wt([O]);G.DEVICE=Wt([l,c,n,rt,v,x,C,Z,it]);G.ENGINE=G.OS=Wt([m,p]);var Nt=class{modifications=[];constructor(){re(`.lc-hide {display: none !important;height: 0 !important;}
2
2
  .lc-display-block {display: block !important;}
3
- .lc-display-inline {display: inline !important;}`,document.body)}execute(e){for(let t of e){if(!t.experimentConfig)continue;this.executeExperiment(t)&&this.trackExperimentRan(t)}if(document.querySelector("#lc-hide-body")?.remove(),!document.body){Jr("No body element found","error");return}this.setupMutationObserver()}executeExperiment(e){let t=e.experimentConfig?.modifications;if(!t?.length)return d.log("Nothing to experiment",e.toString()),!0;let i=!1;for(let o of t){if(!o.cssSelector){d.verbose("No CSS Selector available",e?.toString());continue}this.modifications.push(o);let s=Array.from(document.querySelectorAll(o.cssSelector));s?.length&&(this.executeSingleModification(o,s),i=!0)}return i}executeSingleModification(e,t){if(t?.length)for(let i of t)Object.assign(i.style,e.style),e.display==="HIDE"?i.classList.add("lc-hide"):e.display==="BLOCK"?i.classList.add("lc-display-block"):e.display==="INLINE"&&i.classList.add("lc-display-inline"),e.type==="TEXT"&&e.text?i.innerHTML=e.text:e.type==="IMAGE"&&this.updateImage(e,i),e.moveTo?.selector&&this.changePlacement(e,i).catch(console.error)}async changePlacement(e,t){let i=await Ge(e.moveTo.selector);if(i)switch(e.moveTo.position){case L.BEFORE1:{t.nextElementSibling!==i&&i.parentElement?.insertBefore(t,i);break}case L.INSIDE_FIRST1:{i.firstChild!==t&&i.insertBefore(t,i.firstChild);break}case L.INSIDE_LAST1:{i.lastChild!==t&&i.appendChild(t);break}case L.AFTER1:default:t.previousElementSibling!==i&&i.parentElement?.insertBefore(t,i.nextSibling)}}trackExperimentRan(e){if(e.id==="preview"){d.warn("Skipping experiment attribution as its preview",e.toString());return}Ji({name:"CE Experiment Start",experiment:new gi(e)}).catch(t=>{d.error("Fail to track experiment",t)})}setupMutationObserver(){new MutationObserver(t=>{t.forEach(i=>{i.addedNodes.forEach(o=>{o instanceof HTMLElement&&this.modifications.forEach(s=>{if(o.matches&&o.matches(s.cssSelector))d.verbose("1. Re-applying experiment",s.toString()),this.executeSingleModification(s,[o]);else if(o.querySelectorAll){let a=Array.from(o.querySelectorAll(s.cssSelector));if(!a.length)return;d.verbose("2. Re-applying experiment",s.toString()),this.executeSingleModification(s,a)}})})})}).observe(document.body,{childList:!0,subtree:!0})}updateImage(e,t){let i=e.image?.lg?.src,o=e.image?.sm?.src;!i&&!o||(t instanceof HTMLPictureElement?this.updatePictureElement({desktop:i,mobile:o},t):this.updateImageElement({desktop:i,mobile:o},t))}updateImageElement(e,t){ye()&&e.mobile?(t.setAttribute("src",e.mobile),t.removeAttribute("srcset")):e.desktop&&(t.setAttribute("src",e.desktop),t.removeAttribute("srcset"))}updatePictureElement(e,t){if(t.innerHTML="",e.mobile){let o=document.createElement("source");o.srcset=e.mobile,o.media="(max-width: 767px)",t.append(o)}if(e.desktop){let o=document.createElement("source");o.srcset=e.desktop,o.media="(min-width: 768px)",t.append(o)}let i=document.createElement("img");i.src=e.desktop??e.mobile??"",t.append(i)}};async function Ji(r){let e=await Le(),t=h(h({},r),e);await Se("/v1/event/experiment",t)}function Ft(){Bo().catch(r=>R(r,"fetch-experiments"))}async function Bo(){I().activeExperiments&&(await Ct(St),await Vo())}async function Vo(){d.info("Fetch experiments after \u23F0",Pe()+" of SDK load");let r=await Le(),e=h({},r);Se("/v1/engagement/experiments",e).then(async t=>{d.info(`Experiments fetched in \u23F0 ${qe(t.timeTakenMs)}`);let i=t.data.experiments.map(o=>new $(o));new Nt().execute(i)}).catch(t=>{d.error("Error sending experiment getter",t)})}var Uo=r=>r,Qi=r=>r.filter(e=>e.removedNodes&&e.removedNodes.length>0);function Zi(r,e={childList:!0,subtree:!0},t=500,i=Uo){return fi(o=>{let s=new MutationObserver(a=>o(a));return s.observe(r,e),s},(o,s)=>s.disconnect()).pipe(yt(o=>i(o)),hi(o=>o.length>0),Q(t))}var y=class extends wt{stylesConverter=new Si(1);mediaStyle={};deviceTypeKey;clickExecutor;componentWillMount(){this.deviceTypeKey=ye()?"sm":"lg",this.clickExecutor=new Ee(this.props.triggerContext)}getCompiledStyles(){return this.putStyleAccordingToDevice(),h(h(X(h(h(h(h(h(h({},this.stylesConverter.getFlexStyles(this.mediaStyle.flex)),this.stylesConverter.getBackgroundStyles(this.mediaStyle.bg)),this.stylesConverter.getBorderStyles(this.mediaStyle.br)),this.stylesConverter.getSizeStyles(this.mediaStyle.size)),this.stylesConverter.getSpaceStyles(this.mediaStyle.spc)),this.stylesConverter.getLayoutStyles(this.mediaStyle.lout)),{boxSizing:"border-box",outline:"none"}),this.getComponentStyles()),this.props.style)}matchWhenCondition(e){if(!e?.op)return!0;let{lhs:t,rhs:i}=e;switch(e.op){case"eq":return t===i;case"gt":return+t>+i;case"gte":return+t>=+i;case"lt":return+t<+i;case"lte":return+t<=+i;case"ne":return t!==i;case"null":return t==null;case"empty":return t.trim()==="";case"in":return new RegExp(`\\b${i}\\b`).test(t);case"nin":return!new RegExp(`\\b${i}\\b`).test(t);default:return d.error(`Invalid operator found for when condition - ${e.op}`),!1}}putStyleAccordingToDevice(){let e=this.props.element;this.mediaStyle=e.style.lg,ye()&&e.style.sm&&Object.keys(e.style.sm).length&&(this.mediaStyle=h(h({},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 zo=0,ss=Array.isArray;function g(r,e,t,i,o,s){e||(e={});var a,f,u=e;if("ref"in u)for(f in u={},e)f=="ref"?a=e[f]:u[f]=e[f];var w={type:r,props:u,key:t,ref:a,__k:null,__:null,__b:0,__e:null,__c:null,constructor:void 0,__v:--zo,__i:-1,__u:0,__source:o,__self:s};if(typeof r=="function"&&(a=r.defaultProps))for(f in a)u[f]===void 0&&(u[f]=a[f]);return ir.vnode&&ir.vnode(w),w}var F=class extends y{componentDidMount(){this.setState(()=>({text:this.props.element.text})),H(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=""),g("div",{style:e,onClick:this.customOnClick.bind(this),className:"lc-text",children:g("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()},i=Ce(this.props.element,t,this.props.triggerContext),o=new li(i);if(!this.matchWhenCondition(o.when)){this.setState(()=>({text:""}));return}this.setState(()=>({text:o.text}))}getTypoStyles(){let e={},t=this.mediaStyle.typo??new me;return e.letterSpacing=t.letterSpacing,e.fontSize=t.fs+"px",e.lineHeight=t.lh,e.fontFamily=t.fam.name||"inherit",e.textAlign=t.alignment,e.fontWeight=t.fw,e.textDecoration=t.td??"none",this.stylesConverter.getColourStyles(t.tc,"color",e),e}getComponentStyles(){return h({},this.getTypoStyles())}getSpanStyle(){return{overflow:"hidden",display:"-webkit-box",webkitBoxOrient:"vertical",webkitLineClamp:2,color:"inherit",fontSize:"inherit",fontWeight:"inherit",fontFamily:"inherit"}}};var Ie=class extends F{render(){return g("div",{style:this.getCompiledStyles(),className:"lc-button",onClick:e=>this.onClick(e,{item:this.props.item}),children:g("span",{style:this.getSpanStyle(),dangerouslySetInnerHTML:{__html:this.state.text}})})}getComponentStyles(){return X(h({},super.getComponentStyles()),{cursor:"pointer"})}};var Ir=class extends wt{render(){if(this.props.element.show[this.props.label.toLowerCase()])return this.props.element.lblPos==="end"?g("div",{style:h(h({},this.getElementStyle()),this.props.styles),children:[g("span",{children:this.props.time}),g("span",{style:this.getTimeLabelStyle(),children:this.props.label})]}):g("div",{style:h(h({},this.getElementStyle()),this.props.styles),children:[g("span",{style:this.getTimeLabelStyle(),children:this.props.label}),g("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}},nt=class extends F{labels={Days:"00",Hours:"00",Minutes:"00",Seconds:"00"};componentWillMount(){super.componentWillMount(),this.setState(()=>h({},this.labels)),this.processAndStartTimer()}render(){return g("div",{style:this.getLabelsParentStyle(),children:Object.keys(this.labels).map(e=>g(Ir,{styles:this.getCompiledStyles(),label:e,time:this.state[e],element:this.props.element}))})}getLabelsParentStyle(){return{display:"grid",justifyContent:"center",gridTemplateColumns:"repeat(4, auto)",gap:this.stylesConverter.getSizePx(this.props.element.gap)}}getDisplayStyles(){return{display:"grid",placeContent:"center center"}}getComponentStyles(){return h(h({},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(()=>h({},this.labels))})}};function Ht(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:!0,renderBullet:(o,s)=>`
3
+ .lc-display-inline {display: inline !important;}`,document.body)}execute(e){for(let t of e){if(!t.experimentConfig)continue;this.executeExperiment(t)&&this.trackExperimentRan(t)}if(document.querySelector("#lc-hide-body")?.remove(),!document.body){Vr("No body element found","error");return}this.setupMutationObserver()}executeExperiment(e){let t=e.experimentConfig?.modifications;if(!t?.length)return d.log("Nothing to experiment",e.toString()),!0;let i=!1;for(let o of t){if(!o.cssSelector){d.verbose("No CSS Selector available",e?.toString());continue}this.modifications.push(o);let s=Array.from(document.querySelectorAll(o.cssSelector));s?.length&&(this.executeSingleModification(o,s),i=!0)}return i}executeSingleModification(e,t){if(t?.length)for(let i of t)Object.assign(i.style,e.style),e.display==="HIDE"?i.classList.add("lc-hide"):e.display==="BLOCK"?i.classList.add("lc-display-block"):e.display==="INLINE"&&i.classList.add("lc-display-inline"),e.type==="TEXT"&&e.text?i.innerHTML=e.text:e.type==="IMAGE"&&this.updateImage(e,i),e.moveTo?.selector&&this.changePlacement(e,i).catch(console.error)}async changePlacement(e,t){let i=await je(e.moveTo.selector);if(i)switch(e.moveTo.position){case L.BEFORE1:{t.nextElementSibling!==i&&i.parentElement?.insertBefore(t,i);break}case L.INSIDE_FIRST1:{i.firstChild!==t&&i.insertBefore(t,i.firstChild);break}case L.INSIDE_LAST1:{i.lastChild!==t&&i.appendChild(t);break}case L.AFTER1:default:t.previousElementSibling!==i&&i.parentElement?.insertBefore(t,i.nextSibling)}}trackExperimentRan(e){if(e.id==="preview"){d.warn("Skipping experiment attribution as its preview",e.toString());return}Yi({name:"CE Experiment Start",experiment:new di(e)}).catch(t=>{d.error("Fail to track experiment",t)})}setupMutationObserver(){new MutationObserver(t=>{t.forEach(i=>{i.addedNodes.forEach(o=>{o instanceof HTMLElement&&this.modifications.forEach(s=>{if(o.matches&&o.matches(s.cssSelector))d.verbose("1. Re-applying experiment",s.toString()),this.executeSingleModification(s,[o]);else if(o.querySelectorAll){let a=Array.from(o.querySelectorAll(s.cssSelector));if(!a.length)return;d.verbose("2. Re-applying experiment",s.toString()),this.executeSingleModification(s,a)}})})})}).observe(document.body,{childList:!0,subtree:!0})}updateImage(e,t){let i=e.image?.lg?.src,o=e.image?.sm?.src;!i&&!o||(t instanceof HTMLPictureElement?this.updatePictureElement({desktop:i,mobile:o},t):this.updateImageElement({desktop:i,mobile:o},t))}updateImageElement(e,t){Ce()&&e.mobile?(t.setAttribute("src",e.mobile),t.removeAttribute("srcset")):e.desktop&&(t.setAttribute("src",e.desktop),t.removeAttribute("srcset"))}updatePictureElement(e,t){if(t.innerHTML="",e.mobile){let o=document.createElement("source");o.srcset=e.mobile,o.media="(max-width: 767px)",t.append(o)}if(e.desktop){let o=document.createElement("source");o.srcset=e.desktop,o.media="(min-width: 768px)",t.append(o)}let i=document.createElement("img");i.src=e.desktop??e.mobile??"",t.append(i)}};async function Yi(r){let e=await Le(),t=f(f({},r),e);await Ee("/v1/event/experiment",t)}function Ft(){Ho().catch(r=>I(r,"fetch-experiments"))}async function Ho(){R().activeExperiments&&(await Ct(St),await Bo())}async function Bo(){d.info("Fetch experiments after \u23F0",ke()+" of SDK load");let r=await Le(),e=f({},r);Ee("/v1/engagement/experiments",e).then(async t=>{d.info(`Experiments fetched in \u23F0 ${qe(t.timeTakenMs)}`);let i=t.data.experiments.map(o=>new $(o));new Nt().execute(i)}).catch(t=>{d.error("Error sending experiment getter",t)})}var Vo=r=>r,Ji=r=>r.filter(e=>e.removedNodes&&e.removedNodes.length>0);function Qi(r,e={childList:!0,subtree:!0},t=500,i=Vo){return ui(o=>{let s=new MutationObserver(a=>o(a));return s.observe(r,e),s},(o,s)=>s.disconnect()).pipe(yt(o=>i(o)),hi(o=>o.length>0),Q(t))}var y=class extends bt{stylesConverter=new Ei(1);mediaStyle={};deviceTypeKey;clickExecutor;componentWillMount(){this.deviceTypeKey=Ce()?"sm":"lg",this.clickExecutor=new ye(this.props.triggerContext)}getCompiledStyles(){return this.putStyleAccordingToDevice(),f(f(X(f(f(f(f(f(f({},this.stylesConverter.getFlexStyles(this.mediaStyle.flex)),this.stylesConverter.getBackgroundStyles(this.mediaStyle.bg)),this.stylesConverter.getBorderStyles(this.mediaStyle.br)),this.stylesConverter.getSizeStyles(this.mediaStyle.size)),this.stylesConverter.getSpaceStyles(this.mediaStyle.spc)),this.stylesConverter.getLayoutStyles(this.mediaStyle.lout)),{boxSizing:"border-box",outline:"none"}),this.getComponentStyles()),this.props.style)}matchWhenCondition(e){if(!e?.op)return!0;let{lhs:t,rhs:i}=e;switch(e.op){case"eq":return t===i;case"gt":return+t>+i;case"gte":return+t>=+i;case"lt":return+t<+i;case"lte":return+t<=+i;case"ne":return t!==i;case"null":return t==null;case"empty":return t.trim()==="";case"in":return new RegExp(`\\b${i}\\b`).test(t);case"nin":return!new RegExp(`\\b${i}\\b`).test(t);default:return d.error(`Invalid operator found for when condition - ${e.op}`),!1}}putStyleAccordingToDevice(){let e=this.props.element;this.mediaStyle=e.style.lg,Ce()&&e.style.sm&&Object.keys(e.style.sm).length&&(this.mediaStyle=f(f({},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 Uo=0,is=Array.isArray;function g(r,e,t,i,o,s){e||(e={});var a,h,u=e;if("ref"in u)for(h in u={},e)h=="ref"?a=e[h]:u[h]=e[h];var b={type:r,props:u,key:t,ref:a,__k:null,__:null,__b:0,__e:null,__c:null,constructor:void 0,__v:--Uo,__i:-1,__u:0,__source:o,__self:s};if(typeof r=="function"&&(a=r.defaultProps))for(h in a)u[h]===void 0&&(u[h]=a[h]);return rr.vnode&&rr.vnode(b),b}var F=class extends y{componentDidMount(){this.setState(()=>({text:this.props.element.text})),H(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=""),g("div",{style:e,onClick:this.customOnClick.bind(this),className:"lc-text",children:g("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()},i=be(this.props.element,t,this.props.triggerContext),o=new ai(i);if(!this.matchWhenCondition(o.when)){this.setState(()=>({text:""}));return}this.setState(()=>({text:o.text}))}getTypoStyles(){let e={},t=this.mediaStyle.typo??new me;return e.letterSpacing=t.letterSpacing,e.fontSize=t.fs+"px",e.lineHeight=t.lh,e.fontFamily=t.fam.name||"inherit",e.textAlign=t.alignment,e.fontWeight=t.fw,e.textDecoration=t.td??"none",this.stylesConverter.getColourStyles(t.tc,"color",e),e}getComponentStyles(){return f({},this.getTypoStyles())}getSpanStyle(){return{overflow:"hidden",display:"-webkit-box",webkitBoxOrient:"vertical",webkitLineClamp:2,color:"inherit",fontSize:"inherit",fontWeight:"inherit",fontFamily:"inherit"}}};var Te=class extends F{render(){return g("div",{style:this.getCompiledStyles(),className:"lc-button",onClick:e=>this.onClick(e,{item:this.props.item}),children:g("span",{style:this.getSpanStyle(),dangerouslySetInnerHTML:{__html:this.state.text}})})}getComponentStyles(){return X(f({},super.getComponentStyles()),{cursor:"pointer"})}};var Tr=class extends bt{render(){if(this.props.element.show[this.props.label.toLowerCase()])return this.props.element.lblPos==="end"?g("div",{style:f(f({},this.getElementStyle()),this.props.styles),children:[g("span",{children:this.props.time}),g("span",{style:this.getTimeLabelStyle(),children:this.props.label})]}):g("div",{style:f(f({},this.getElementStyle()),this.props.styles),children:[g("span",{style:this.getTimeLabelStyle(),children:this.props.label}),g("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}},nt=class extends F{labels={Days:"00",Hours:"00",Minutes:"00",Seconds:"00"};componentWillMount(){super.componentWillMount(),this.setState(()=>f({},this.labels)),this.processAndStartTimer()}render(){return g("div",{style:this.getLabelsParentStyle(),children:Object.keys(this.labels).map(e=>g(Tr,{styles:this.getCompiledStyles(),label:e,time:this.state[e],element:this.props.element}))})}getLabelsParentStyle(){return{display:"grid",justifyContent:"center",gridTemplateColumns:"repeat(4, auto)",gap:this.stylesConverter.getSizePx(this.props.element.gap)}}getDisplayStyles(){return{display:"grid",placeContent:"center center"}}getComponentStyles(){return f(f({},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(()=>f({},this.labels))})}};function Ht(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:!0,renderBullet:(o,s)=>`
4
4
  <span class="${s}"
5
5
  style="background-color: ${e.pagination.color?.rgba};"></span>
6
6
  `,renderProgressbar:o=>`
7
7
  <span class="${o}"
8
8
  style="background-color: ${e.pagination.color?.rgba};">
9
9
  </span>
10
- `},navigation:{nextEl:r.querySelector(".swiper-button-next"),prevEl:r.querySelector(".swiper-button-prev")},autoplay:e.autoplay?.enabled?{delay:e.autoplay?.delay,disableOnInteraction:!1,pauseOnMouseEnter:!1}:!1,autoHeight:!0};e.marquee&&t.autoplay&&typeof t.autoplay=="object"&&(t.speed=e.speed,t.autoplay.pauseOnMouseEnter=!0,r.style.setProperty("--swiper-wrapper-transition-timing-function","linear"));let i=new window.CooeeSDK.Swiper(r,t);return r.style.setProperty("--swiper-navigation-size",`${e.navigation.size}px`),i}function Bt(r,e,t){let i={color:r.navigation.color?.rgba};return r.pagination.enabled&&(i.transform="translateY(-25%)"),g("div",{class:"swiper-container",ref:e,style:"max-width: 100%",children:[g("div",{class:"swiper-wrapper",children:t()}),r.navigation.enabled&&g("div",{class:"swiper-button-next",style:i,children:g("span",{})}),r.navigation.enabled&&g("div",{class:"swiper-button-prev",style:i,children:g("span",{})}),r.pagination.enabled&&g("div",{className:"swiper-pagination",style:{bottom:0,top:"unset",position:"relative",color:r.pagination.color?.rgba}})]})}var st=class extends y{componentDidMount(){H(()=>{this.setState(()=>({checked:this.props.item.selected.value}))})}render(){return g("div",{style:this.getCompiledStyles(),className:"lc-checkbox",children:g("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 me;return e.textAlign=t.alignment,e.justifyContent=t.alignment,e}getComponentStyles(){return X(h({},this.getTypoStyles()),{display:"flex"})}};var se=class extends y{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 g("img",{onClick:this.customOnClick.bind(this),className:"lc-image",alt:e?.name||"Image",onMouseEnter:this.handleMouseEnter.bind(this),onMouseLeave:this.handleMouseLeave.bind(this),src:t,style:this.getCompiledStyles()})}customOnClick(e){this.props.element.clc?.at===Y.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=class extends y{render(){if(!(this.props.element.hide||!this.matchWhenCondition(this.props.element.when)))return g("div",{style:this.getCompiledStyles(),class:"lc-flexbox",children:g(he,{elements:this.props.elements,element:this.props.element,triggerContext:this.props.triggerContext})})}getComponentStyles(){let e=this.mediaStyle.flex??new ai,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 at=class extends ae{render(){if(!(this.props.element.hide||!this.matchWhenCondition(this.props.element.when)))return g("div",{style:this.getCompiledStyles(),class:"lc-flexbox",children:g(Ve,{elements:this.props.elements,element:this.props.element,triggerContext:this.props.triggerContext,item:this.props.item,noLinks:this.props.noLinks})})}};var lt=class extends y{render(){return g("select",{style:this.getCompiledStyles(),value:this.props.selectedVariant.selectedSellingPlan.value?.mID??"",onChange:this.onChange.bind(this),disabled:this.state.disabled,className:"lc-dropdown",children:this.createSelectItems()})}componentDidMount(){H(()=>{this.setState(()=>({disabled:this.props.triggerContext.triggerData.isBundle()?!this.props.item.selected.value:!1}))})}getTypoStyles(){let e={},t=this.mediaStyle.typo??new me;return e.letterSpacing=t.letterSpacing,e.fontSize=t.fs+"px",e.lineHeight=t.lh,e.fontFamily="inherit",e.textAlign=t.alignment,e.fontWeight=t.fw,this.stylesConverter.getColourStyles(t.tc,"color",e),e.boxShadow="none",e}getComponentStyles(){let e={};return this.props.selectedVariant.sellingPlans?.length||(e.visibility="hidden"),h(h({},e),this.getTypoStyles())}createSelectItems(){let e=[],t=this.props.selectedVariant;if(!t.sellingPlans?.length)return[];this.props.triggerContext.triggerData.skipSubscribedItems?t.selectedSellingPlan.value||(t.sellingPlans[0].isSelected=!0,t.changeSellingPlan(t.sellingPlans[0])):e.push(g("option",{value:"",selected:!t.selectedSellingPlan,children:"One time purchase"}));for(let i of t.sellingPlans??[])e.push(g("option",{value:i.mID,selected:i.isSelected,children:i.name}));return e}onChange(e){let t=e.target.value;t?this.props.selectedVariant.selectedSellingPlan.value=this.props.selectedVariant.sellingPlans.find(i=>i.mID===t):this.props.selectedVariant.selectedSellingPlan.value=void 0}};var $o=new RegExp('fill="#[a-zA-Z0-9]+"'),ct=class extends y{constructor(){super()}render(){let e=this.getCompiledStyles(),t=this.getRating();return t||(e.display="none",t=""),g("div",{style:e,className:"lc-star-rating",dangerouslySetInnerHTML:{__html:t}})}getRating(){let e={size:this.props.element.iconSize,color:this.props.element.c.hex},t=or(this.props.element.fullStar,{svg:e},this.props.triggerContext),i=or(this.props.element.halfStart,{svg:e},this.props.triggerContext),o=this.props.review;if(!o?.rating)return"";let s="";if(this.props.element.showSingleStar)s=t;else{let a=5,f=`${o.rating}`.split(".");for(let u=0;u<+f[0];u++)s+=t,a--;f[1]&&(s+=i,a--);for(let u=0;u<a;u++)s+=t.replace($o,'fill="#f1f1f1"')}return s}getComponentStyles(){return{display:"flex",alignItems:"center"}}};var mt=class extends y{render(){return g("select",{style:this.getCompiledStyles(),value:this.props.item.selectedOrFirstVariant.value.mID,onChange:this.onChange.bind(this),disabled:this.state.disabled,className:"lc-dropdown",children:this.createSelectItems()})}componentDidMount(){H(()=>{this.setState(()=>({disabled:this.props.triggerContext.triggerData.isBundle()?!this.props.item.selected.value:!1}))})}getTypoStyles(){let e={},t=this.mediaStyle.typo??new me;return e.letterSpacing=t.letterSpacing,e.fontSize=t.fs+"px",e.lineHeight=t.lh,e.fontFamily="inherit",e.textAlign=t.alignment,e.fontWeight=t.fw,this.stylesConverter.getColourStyles(t.tc,"color",e),e.boxShadow="none",e}getComponentStyles(){let e={};return this.props.item.vars?.length===1&&this.props.item.vars[0].name==="Default Title"&&(e.visibility="hidden"),h(h({},e),this.getTypoStyles())}createSelectItems(){let e=[];for(let t of this.props.item.vars)e.push(g("option",{value:t.mID,disabled:!t.isAvailable,children:t.name}));return e}onChange(e){let t=e.target.value,i=this.props.item.vars.find(o=>o.mID===t);this.props.item.setSelectedVariant(i)}};var eo=()=>{let r=window.ShopifyAnalytics?.meta??{},e=r.selectedVariantId;if(e)return e;if(r.product?.variants?.length>0)return r.product.variants[0].id},Rr=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 Ve=class extends y{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:g(at,{element:t,triggerContext:this.props.triggerContext,elements:t.elems,item:this.props.item,noLinks:this.props.noLinks})}if(e.t===6)return this.props.triggerContext.triggerData.isBundle()?g(st,{element:e,item:this.props.item,triggerContext:this.props.triggerContext}):void 0;if(e.t===13){let t=e,i=this.props.item,o=Rr(i.variantImage??i.firstImageURL),s=Rr(i.variantSecondaryImage??i.secondaryImageURL);t.lg=t.sm={src:o,name:i.name,secondarySrc:s};let a=g(se,{element:t,onClick:this.customOnClick.bind(this),triggerContext:this.props.triggerContext});return this.props.noLinks?a:g("a",{href:this.props.item.selectedOrFirstVariant.value.link,style:{display:"block"},children:a})}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.showChips?g("cooee-product-options-picker",{item:this.props.item}):g(mt,{element:t,item:this.props.item,triggerContext:this.props.triggerContext})}return e.t===16?g(lt,{element:e,selectedVariant:this.props.item.selectedOrFirstVariant.value,item:this.props.item,triggerContext:this.props.triggerContext}):e.t===19?g(ct,{element:e,triggerContext:this.props.triggerContext,review:this.props.item.reviews}):e.t===18||e.t===3?g(Ie,{element:e,item:this.props.item,triggerContext:this.props.triggerContext}):g(he,{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=g(F,{element:e,onClick:this.customOnClick.bind(this),triggerContext:this.props.triggerContext});return this.props.noLinks?t:g("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 i=t.detail.variantID;this.props.item.setSelectedVariantByID(i)})}};var Re=class extends y{productElement;constructor(e,t){super(e,t),this.setState(()=>({decoration:"unset"}))}render(){let e=Ce(this.props.element,this.getProductData(),this.props.triggerContext);if(this.productElement=new mi(e),!(this.productElement.hide||!this.matchWhenCondition(this.productElement.when)))return g("div",{style:h({},this.getCompiledStyles()),class:"lc-single-product",children:g(Ve,{element:this.productElement,elements:this.productElement.elems,triggerContext:this.props.triggerContext,item:this.props.item,noLinks:this.productElement.noLinks})})}getComponentStyles(){return{flexShrink:0}}getProductData(){if(!this.props.item)return{};let e=this.props.item,t=e.selectedOrFirstVariant.value,i=e.getTemplateVariables();i.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===$r.BXGY;return!t.hasEffectivePrice()&&o&&(i.product=X(h(h({},i.product),Zr("effective_price",t.effectivePrice.value)),{price:""})),i.variant.quantity=this.props.triggerContext.hasManipulatedProductQuantity()?this.props.triggerContext.getManipulatedQuantity(t.quantity):t.quantity,{product:i.product,variant:i.variant,svg:{color:"{{ svg.color }}",size:"{{ svg.size }}"}}}};var pt=class extends y{swiperRef=null;swiperInstance=null;configuration;gap;constructor(e,t){super(e,t),this.configuration=ye()?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&&Tt().then(()=>{this.swiperInstance=Ht(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 i=s=>{this.swiperRef=s},o=()=>e?.map(s=>g("div",{class:"swiper-slide",children:this.getProductFragment(s)}));t=g("div",{style:X(h({},this.getCompiledStyles()),{display:"block"}),class:"lc-product-swiper-list",children:Bt(this.configuration,i,o)})}else t=g("div",{style:this.getCompiledStyles(),class:"lc-product-list",children:e?.map((i,o)=>this.getProductFragment(i,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 i=this.props.triggerContext.triggerData,o=i.items.length,s;i.isBundle()?s=this.props.element.prod.symbol?.hide!==!0?o*2-1:o:s=this.props.element.conf[this.deviceTypeKey].maxInRow,t.gridTemplateColumns=`repeat(${s}, auto)`}}return t}getProductFragment(e,t=!1){return g(De,{children:[g(Re,{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&&g("div",{style:{display:"flex",alignItems:"center",justifyContent:"center"},children:g(F,{element:this.props.element.prod.symbol,triggerContext:this.props.triggerContext})})]},e.mID)}};var dt=class extends y{swiperRef=null;swiperInstance=null;constructor(e,t){super(e,t)}componentDidMount(){Tt().then(()=>{this.swiperInstance=Ht(this.swiperRef,this.props.element.conf)})}componentWillUnmount(){this.swiperInstance&&this.swiperInstance.destroy()}render(){let e=this.props.element,t=o=>{this.swiperRef=o},i=()=>{let o=e.values?.map(f=>g("div",{class:"swiper-slide",onClick:u=>this.onClick(u,{clickAction:this.getClickAction(f)}),children:this.renderElement(f)}));if(!o?.length)return[];let s=e.conf,a=o.length;if(s.marquee&&a<=Number(s.maxInRow)){let f=Number(s.maxInRow)-a+1;for(let u=0;u<f;u++)o.push(o[u%a])}return o};return Bt(e.conf,t,i)}getComponentStyles(){return{}}renderElement(e){let t=this.valueAddedSlide(this.props.element.slide,e);switch(t?.t){case 1:return g(se,{element:t,triggerContext:this.props.triggerContext});case 4:return g(ae,{elements:t.elems,element:t,triggerContext:this.props.triggerContext});default:d.warn("Unknown slide type for carousal")}}valueAddedSlide(e,t){let i=Ce(e,{form:t},this.props.triggerContext);return ci.getParsedElement(i)}getClickAction(e){return Ce(this.props.element.clc??{},{form:e},this.props.triggerContext)}};var he=class extends y{constructor(e,t){super(e,t),this.setState(()=>({decoration:"unset"})),H(()=>{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 g(ae,{element:t,triggerContext:this.props.triggerContext,elements:t.elems})}if(e.t===61)return g(nt,{element:e,triggerContext:this.props.triggerContext});if(e.t===3)return this.state.showButton?g(Ie,{element:e,triggerContext:this.props.triggerContext}):void 0;if(e.t===2)return g(F,{element:e,triggerContext:this.props.triggerContext});if(e.t===1)return g(se,{element:e,triggerContext:this.props.triggerContext});if(e.t===11)return g(pt,{element:e,triggerContext:this.props.triggerContext});if(e.t===12)return g(Re,{element:e,item:this.props.triggerContext.triggerData.items[0],triggerContext:this.props.triggerContext});if(e.t===62)return g(dt,{element:e,triggerContext:this.props.triggerContext})}}render(){return this.props.elements.map(e=>this.renderElement(e))}getComponentStyles(){return{}}};var gt=class extends y{clickAction;isClickable;constructor(e,t){super(e,t),this.clickAction=this.props.element.clc,this.isClickable=this.clickAction?.at===Y.GO_TO_URL&&!!Qr(this.clickAction.gu?.u)||this.clickAction?.at===Y.OPEN_CART||this.clickAction?.at===Y.INITIATE_CHECKOUT}componentDidMount(){H(()=>{let e=this.props.triggerContext.triggerData,t=this.props.triggerContext.selectedItems;e.calculateDiscountData(t,this.props.triggerContext.shouldGiveFBTDiscount)})}render(){return g(De,{children:[g("div",{style:this.getCompiledStyles(),class:"lc-container",onClick:e=>{this.onClick(e,{clickAction:this.clickAction})},children:g(he,{elements:this.props.elements,element:this.props.element,triggerContext:this.props.triggerContext})}),this.props.triggerContext.triggerData.id==="preview"&&g("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 k=class r{constructor(e){this.engagementTrigger=e;this.triggerContext=new bt(new Date,this.engagementTrigger)}static engagementIDsWithTrackedDisplay=new Set;static DEBOUNCE_TIME=1e3;rootContainer;widgetElement;triggerContext;observers=[];renderedCount=0;scrollSubscription;isExclusionWithBVariation;isProcessing=!1;renderSilently(){this.acquireProcessingLock()||this.render().finally(()=>this.releaseProcessingLock()).catch(e=>{R(e,"render-widget",{triggerContext:this.triggerContext})})}destroy(){d.verbose(`${this.engagementTrigger} will be destroyed`),this.preDestroy(),this.removeFromRendered(),this.rootContainer?.remove(),r.engagementIDsWithTrackedDisplay.delete(this.engagementTrigger.shortID),sr(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(!0),!this.rootContainer){d.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,sr(this.engagementTrigger.content?.afterRenderJS)}async updateAndReRender(e){if(!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()){d.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(),!0):!1}preDestroy(){this.scrollSubscription?.unsubscribe(),this.observers.forEach(e=>{e?.disconnect&&e.disconnect()})}acquireProcessingLock(){return this.isProcessing?(d.verbose(`Lock could not be acquired for ${this.engagementTrigger}`),!0):(d.verbose(`Acquiring rendering lock for ${this.engagementTrigger}`),this.isProcessing=!0,!1)}releaseProcessingLock(){d.verbose(`Releasing rendering lock for ${this.engagementTrigger}`),this.isProcessing=!1}afterRootContainerCreated(){}isAllOkToRender(){return!!this.engagementTrigger.widget}async getVariationIfRequired(){if(this.engagementTrigger.shouldSkipVariation()){d.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;d.log(`${t} visitor has been assigned to variation ${e.variation}`),e.items?.length&&(t.items=e.items.map(i=>new Ae(i)),t.nonMutableItems=e.items.map(i=>new Ae(i))),e.bundleFrom&&(t.bundleFrom=new Ae(e.bundleFrom)),e.discount&&(t.discount=e.discount),e.placement&&(t.placement=e.placement),e.props&&we.hasKeys(e.props)&&(t.props=h(h({},t.props),e.props)),e.content&&(t.content=new di(e.content)),t.widget=new pi(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++,d.info(`${this.engagementTrigger} rendered \u2705 ${ri(this.renderedCount)} time`)}removeFromRendered(){this instanceof V?ke.delete(this):Ue.delete(this)}async getVariation(){d.log(`${this.engagementTrigger} get variation`);let e={engagementID:this.engagementTrigger.engagementID,isPreview:this.engagementTrigger.id==="preview"};try{return(await ro(e)).data}catch(t){if(t instanceof Yr&&t.response?.status===400)return;R(t,"get-variation",{engagementTrigger:this.engagementTrigger});return}}async observeWidgetContainerInViewport(){if(!this.rootContainer){d.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(i=>{let o=new IntersectionObserver((s,a)=>{s.forEach(async f=>{if(f.isIntersecting){d.log(`${this.engagementTrigger} root container is near the viewport. Fetching variation`);let u=await this.getVariation();i(u),a.unobserve(this.rootContainer)}})},t);o.observe(this.rootContainer),this.observers.push(o)})}attachScroll(){this.scrollSubscription=Et(window,"scroll").pipe(Q(r.DEBOUNCE_TIME)).subscribe(()=>{this.checkAndSendEvent()})}checkAndSendEvent(){let e=this.engagementTrigger.shortID;if(r.engagementIDsWithTrackedDisplay.has(e)||!this.isInViewport())return;let i={};this.triggerContext.triggerData.items?.length&&(i.promotedMIDs=this.engagementTrigger.items?.map(a=>a.mID));let o=this.isExclusionWithBVariation?"CE Campaign Holdout":"CE Trigger Displayed",s=new D(o,i,this.engagementTrigger);s.name==="CE Campaign Holdout"&&(s.trigger.holdout=!0),Ii(s),r.engagementIDsWithTrackedDisplay.add(e),this.scrollSubscription.unsubscribe()}generateParentElementID(){return`letscooee-${this.engagementTrigger.shortID}`}createAngularWidget(e){let t=this.widgetElement=document.createElement(e);return t.cart=P.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 i=t.getElementById(e);if(i)return i;let o=this.engagementTrigger.objective.toLowerCase().replaceAll("_","-"),s=this.engagementTrigger.shortID;return i=document.createElement("div"),i.id=e,i.className=`letscooee letscooee-engagement engagement-${s} lc-${o}`,i.dataset.engagementId=s,this.engagementTrigger.id==="preview"&&(i.className+=" letscooee-preview"),i.style.display="block",i.style.minHeight="0.5px",i.style.minWidth="0.5px",i}async startRendering(){let e=this.rootContainer,t=this.triggerContext.triggerData.hasSwiperElement();t&&(e=this.rootContainer?.shadowRoot||this.rootContainer?.attachShadow({mode:"open"}),ar(e)),this.injectCampaignCSS(t,e);let i=this.engagementTrigger.widget;oi(ii(gt,{element:i.cont,triggerContext:this.triggerContext,elements:i.elems}),e),this.addToRendered()}injectCampaignCSS(e,t){let i=this.engagementTrigger.content?.outerCSS?.trim()??"",o=this.engagementTrigger.content?.innerCSS?.trim()??"";if(!i&&!o)return;let s=this.rootContainer.id;if(e){re(o,t),this.injectOuterCSSOnly();return}let a=i+`
11
- ${o}`;re(`#${s} { ${a} }`)}injectOuterCSSOnly(){let e=this.engagementTrigger.content?.outerCSS?.trim();if(!e)return;let t=this.rootContainer.id;re(`#${t} { ${e} }`)}isInViewport(){let e=this.rootContainer?.getBoundingClientRect();if(!e)return!1;let t=window.innerHeight||document.documentElement.clientHeight,o=(Math.min(e.bottom,t)-Math.max(e.top,0))*e.width,s=e.width*e.height,a=o/s*100;return this.engagementTrigger.isAnySplit()?a>0:a>=30}async getWidgetContainer(e){if(this.rootContainer?.isConnected)return this.rootContainer;let t=await this.createParentElementWithPlacement(e);if(t)return t;let i=`.letscooee[data-engagement-id="${this.triggerContext.triggerData.shortID}"]`;return document.querySelector(i)}async createParentElementWithPlacement(e){let t=this.engagementTrigger.placement;if(!t?.selector)return d.info(`\u26A0\uFE0F${this.engagementTrigger} does not have a selector`),null;let i=t.selector,o;if(i.includes(":shadow")){let u=i.split(":shadow");o=(await Ge(u[0].trim()))?.shadowRoot,i=u[1].trim(),o&&ar(o,!1)}d.verbose(`${this.engagementTrigger} attempt to render "${t.position}" "${i}"`);let s=await Ge(i,3,o??document);if(!s)return d.warn(`${this.engagementTrigger} no placement found with ${i}`),null;let a=this.generateParentElementID(),f=this.getParentElement(a);if(!e)return f;switch(t.position){case L.BEFORE1:case L.BEFORE:{s.parentElement?.insertBefore(f,s);break}case L.INSIDE_FIRST1:case L.INSIDE_FIRST:{s.insertBefore(f,s.firstChild);break}case L.INSIDE_LAST1:case L.INSIDE_LAST:{s.appendChild(f);break}case L.AFTER1:case L.AFTER:default:s.parentElement?.insertBefore(f,s.nextSibling)}return f}async runChoresBeforeRender(){if(this.isExclusionWithBVariation)return;if(!this.isAllOkToRender()){d.info(`\u26A0\uFE0F ${this.engagementTrigger} could not be rendered`);return}d.verbose(`${this.engagementTrigger} will be rendered`);let e;try{e=await Ci(this.engagementTrigger)}catch(t){d.info(`\u203C\uFE0F${this.engagementTrigger} could not render as items failed to refresh`,t);return}if(!this.engagementTrigger.isCollectionPromoted()&&!e?.length&&this.engagementTrigger.isProductPromoted()){d.info(`\u203C\uFE0F${this.engagementTrigger} could not render as no products promoted`);return}this.engagementTrigger.items=e,await this.startRendering()}updateItems(e,t){let i=this.getItemDiff(e,t),o=this.getItemDiff(t,e);t.push(...i);for(let s of o)Gr.remove(t,s)}getItemDiff(e,t){return e.filter(i=>!t.some(o=>o.selectedOrFirstVariant.value.mID===i.selectedOrFirstVariant.value.mID))}};var V=class extends k{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(!q.get().isOpen()&&I().pageName!=="cart"){d.log("Do not send display event as neither the cart drawer nor the cart page is open.");return}return super.checkAndSendEvent()}};var Vt=class r{constructor(e,t){this.engagementTrigger=e;this.element=t;this.cartItems=P.getCurrent().items}cartItems;static renderCartUpsell(e){let t=e.placement;if(!t?.selector){d.warn(`No placement available for ${e.objective}`,e.shortID);return}let i=Array.from(document.querySelectorAll(t.selector));if(!i?.length){d.warn(`No placement found for ${e.objective}`,e.shortID);return}for(let o of i)new r(e,o).render()}render(){let e=this.findCartItemFromHTMLElement();if(!e||this.engagementTrigger.skipSubscribedItems&&e.selling_plan_allocation)return;let t=this.engagementTrigger.items.find(S=>S.mID===e.product_id.toString());if(!t)return;let i=t.vars.find(S=>S.mID===e.id.toString());if(!i)return;let o=new ni(i),s=e.selling_plan_allocation?.selling_plan;if(s)for(let S of o.sellingPlans??[])S.mID===s.id.toString()&&(S.isSelected=!0,o.changeSellingPlan(S));let a=new Ae(t);a.vars=[o],a.selectedOrFirstVariant.value=o;let f=`lc-cart-item-${this.engagementTrigger.shortID}-${t.mID}`;this.element.classList.add(f);let u=new $(this.engagementTrigger);u.placement.selector=`.${f}`,u.items=[a];let w=new V(u);w.renderSilently(),this.watchForCartItemDeletion(w,f)}watchForCartItemDeletion(e,t){let i=new MutationObserver(o=>{o.forEach(s=>{s.removedNodes.forEach(a=>{a===this.element&&(d.verbose(`${t} has been removed`),e.destroy(),i.disconnect())})})});i.observe(this.element.parentElement,{childList:!0,subtree:!0})}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!1;let i=t.selling_plan_allocation?.selling_plan?.name;return!(i&&!e.includes(i))})}};var Ut=class extends V{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){R(e,"apply-milestones",{engagementTrigger:this.engagementTrigger})}}async checkMilestone(){let e=await P.getCurrent().getNormalisedCart(),t=this.engagementTrigger.progressBarConfig,i=[],o=[],s=[],a,f,u=[...t.milestones];for(let E of u){if(E.rewardType!==jr.FREE_AUTO_GIFT)continue;if(E.isUIOnly&&!E.allowATC){d.verbose(`Skipping milestone ${E.label} as it is UI only and does not allow ATC`);continue}let K=E.items[0],T=E.reached,N=e.items.find(er=>(er.vID===K.vID||er.mID===K.mID)&&er.properties._letscooee_campaign===this.engagementTrigger.shortID);T&&(a=E,f=N),N&&i.push(N),!T&&N&&t.removeIneligibleItem?(d.verbose(`Removing free gift ${N.vID} from cart`),s.push(N)):T&&!N&&(d.verbose(`Adding free gift ${K.vID} to cart`),o.push(K))}t.restrictToLatestFreebie&&a&&(f?(i=i.filter(E=>E.vID!==f.vID),o=[]):o=[a.items[0]],s.push(...i));let w={},S={};s.length&&s.forEach(E=>S[E.key??E.vID]=0),o.length&&o.forEach(E=>S[E.vID]=1);let U=t.coupons,z=[];if(U?.length){z=U.map(T=>T.couponCode);let E=P.getCurrent().discount_codes?.map(T=>T.code)??[];z.every(T=>E.some(N=>N===T))||(w.discount=z.join(","))}if(we.hasKeys(S)&&(w.updates=S),!we.hasKeys(w))return;let le=await xi(w,this.engagementTrigger),vt=le?.items,ce=[];for(let E of o){let K=vt?.find(T=>z?.length?T.id+""===E.vID&&T.discounts?.some(N=>z.includes(N.title)):T.id+""===E.vID);K&&ce.push(K)}if(!ce.length){q.get().refreshUI(le,!1);return}try{await Promise.all(ce.map(E=>Ti(E,{properties:this.engagementTrigger.getPrivateAttributesForLineItem()})))}catch(E){R(E,"add-private-attribute",{engagementTrigger:this.engagementTrigger,extra:{productAddedByCooee:ce}})}finally{q.get().refreshUI(le,!1)}}};var ut=class extends V{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 zt=class extends k{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 $t=class extends k{constructor(e){super(e)}isAllOkToRender(){return!0}async startRendering(){if(this.widgetElement?.isConnected){this.addToRendered();return}this.createAngularWidget("cooee-sticky-atc")}};var qt=class extends k{constructor(e){super(e)}isAllOkToRender(){return!0}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),!1)}async inboundCTAListener(e){let t=this.engagementTrigger,i=`Engagement(id: ${t.engagementID}, shortID: ${t.shortID})`,o=e.detail;if(!we.hasKeys(o)){d.error(`No detail received for ${i}`);return}d.log("Detail received for BYOB",o);let s=o.campaignID??o.campaignId??o.campaign_id;if(s!==t.shortID&&s!==t.engagementID){d.warn(`Current ${i} is not BYOB. Received: ${s}`);return}let a=o.items;if(!a?.length)return;let f=a.map(u=>new je({mID:u.product_id,vID:u.variant_id,quantity:u.quantity||1}));await new Ee(this.triggerContext).execute({embeddedItems:f,clickAction:{at:Y.ADD_BUNDLE,applyDiscount:!0}})}};var jt=class extends k{constructor(e){super(e)}isAllOkToRender(){return!0}async startRendering(){if(this.widgetElement?.isConnected){this.addToRendered();return}this.createAngularWidget("cooee-collection-filter")}};var kr=!1,Pr=!1,Gt=null,Kt=null,io=!1,ke=new Set,Ue=new Set;function oo(){io||(io=!0,pe(()=>{Zi(document.body,{childList:!0,subtree:!0},500,Qi).subscribe(()=>{Ue.forEach(r=>r.rerenderIfDeleted()),ke.forEach(r=>r.rerenderIfDeleted())})}))}function Dr(r){if(oo(),kr){d.verbose("Cart widget processing in progress, queuing latest triggers"),Gt=r;return}kr=!0;try{qo(r)}finally{if(kr=!1,Gt){let e=Gt;Gt=null,d.verbose("Processing queued cart triggers"),Dr(e)}}}function Ar(r){if(oo(),Pr){d.verbose("Page widget processing in progress, queuing latest triggers"),Kt=r;return}Pr=!0;try{jo(r)}finally{if(Pr=!1,Kt){let e=Kt;Kt=null,d.verbose("Processing queued page triggers"),Ar(e)}}}function no(){ke.forEach(r=>r.rerenderAfterCartOpened())}function qo(r){ao(ke,r);for(let e of r){d.info(`${e} received as cart embed`);let t=so(ke,e);if(t&&!e.isSubscriptionUpsell()){t.updateAndReRender(e).catch(o=>{R(o,"update-and-re-render",{engagementTrigger:e})});continue}d.verbose(`${e} is new`);let i;if(e.isProgressBar())i=new Ut(e);else if(e.isSubscriptionUpsell()){Vt.renderCartUpsell(e);continue}else e.isSavingsBar()?i=new ut(e):i=new V(e);ke.add(i),i.renderSilently()}}function jo(r){ao(Ue,r);for(let e of r){d.info(`${e} received as page embed`);let t=so(Ue,e);if(t){t.updateAndReRender(e).catch(o=>{R(o,"update-and-re-render",{engagementTrigger:e})});continue}d.verbose(`${e} is new`);let i;e.isShoppableVideo()?i=new zt(e):e.isBYOB()?i=new qt(e):e.isStickyATC()?i=new $t(e):e.isSavingsBar()?i=new ut(e):e.isCollectionFilter()?i=new jt(e):i=new k(e),Ue.add(i),i.renderSilently()}}function so(r,e){for(let t of r)if(t.matches(e))return t}function ao(r,e){let t=new Set(e.map(i=>i.shortID));for(let i of r)t.has(i.engagementTrigger.shortID)||i.destroy()}var Go="/v1/engagement/page-widgets",Ko="/v1/engagement/cart-widgets",co=new ui,lo=0;co.pipe(Q(50)).subscribe(async r=>{let e=await Le();Xo(e).catch(t=>{R(t,"load-page-widgets",{extra:{firstLoad:r}})}),Yo(e).catch(t=>{R(t,"load-cart-widgets",{extra:{firstLoad:r}})})});function ft(r=!1){Ct(St).then(()=>{co.next(r)})}async function ro(r){let e=await Le();return Object.assign(r,e),Se("/v1/engagement/get-variant",r)}function mo(r,e){return ve.mode==="local"||!e?r:e+r}async function Xo(r){lo++,lo===1?d.info("Fetch page widgets (after \u23F0",Pe()+" of SDK load)"):d.info("Fetch page widgets");let e=h({},r),t=mo(Go,b.globalRef.apiURLs?.pageWidget);try{let i=await Se(t,e);d.info(`Page widgets loaded in \u23F0 ${qe(i.timeTakenMs)}`);let o=i.data.widgets.map(s=>new $(s));Ar(o)}catch(i){d.error("Error sending widget getter",i)}}async function Yo(r){d.info("Fetch cart widgets");let e=h({},r),t=mo(Ko,b.globalRef.apiURLs?.cartWidget);try{let i=await Se(t,e);d.info(`Cart widgets loaded in \u23F0 ${qe(i.timeTakenMs)}`);let o=i.data.widgets.map(s=>new $(s));Dr(o)}catch(i){d.error("Error sending widget getter",i)}}function po(){let r=be.get();!r.gaMeasurementID||!r.gaEnabled||Zo()}async function Qo(){let r=await tr.get("gacid"),e=await en();if(r!==e)return await tr.set("gacid",e),e}async function Zo(){let r=await Qo();r&&Ri({gaClientID:r})}async function en(){let e=be.get().gaMeasurementID;if(!(!e||!window.gtag))return new Promise(t=>{window.gtag("get",e,"client_id",i=>{t(i)})})}async function go(r){d.verbose("Received app configuration",r),r.currencyCount=r.currencies?.length;let e=b.globalRef.config.update(r);po(),q.initialize(),e.website&&(Ai(e.website.commonJS),re(e.website.commonCSS)),window.CooeeSDK.cartDrawerToggle$.pipe(Q(10)).subscribe(async({open:t})=>{d.info("Cart drawer is now",t?"open":"closed"),t&&(no(),await tn())})}function uo(r){b.globalRef.apiURLs=r}async function tn(){let r=await P.getCurrent().getNormalisedCart(),e={value:r.amount,currency:r.currency},t={items:r.items,amount:e,drawer:!0};A(new D("View Cart",t))}var Xt=class{runtimeData=I();meddle(){let e=b.globalRef;e.account=e.account??[],e.profile=e.profile??[],e.events=e.events??[],e.page=e.page??[],this.meddlePage(),this.meddleAccount(),this.meddleEvents(),this.meddleProfile(),this.exposeMethods()}exposeMethods(){let e=b.globalRef;e.loadWidgets=e.loadCartWidgets=e.loadPageWidgets=()=>{ft()},e.loadExperiments=()=>{Ft()},e.testCartUpdate=this.testCartUpdate.bind(this),e.previewWidget=b.previewWidget.bind(b),e.previewPopup=b.previewPopup.bind(b),e.executeCTA=(t,i)=>{new Ee(t).execute(i)},e.sendEvent=t=>{A(t)}}overwritePush(e,t){J(e,"push",t)}meddleAccount(){this.overwritePush(b.globalRef.account,(...e)=>{this.processAccount(e[0])}),b.globalRef.account.forEach(this.processAccount.bind(this))}meddleEvents(){this.overwritePush(b.globalRef.events,(...e)=>{this.processEvent(e[0])}),b.globalRef.events.forEach(this.processEvent.bind(this))}meddleProfile(){this.overwritePush(b.globalRef.profile,(...e)=>{this.processProfile(e[0])}),b.globalRef.profile.forEach(this.processProfile.bind(this))}processAccount(e){e&&(e.appID&&b.authenticate(e),e.flags&&(this.runtimeData.flags=e.flags))}processEvent(e){e&&(Nr.includes(e[0])?b.sendEvent(e[0],e[1],h({occurred:this.runtimeData.jsLoadTime},e[2])):b.sendEvent(e[0],e[1],e[2]))}processProfile(e){e&&b.updateProfile(e)}processPageName(e){e&&b.setPageName(e)}meddlePage(){this.overwritePush(b.globalRef.page,(...e)=>{this.processPage(e[0])}),b.globalRef.page.forEach(this.processPage.bind(this))}processPage(e){e.currentItem&&rn(e.currentItem),e.currency&&(I().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&&b.setPageName(e.pageName),e.activeExperiment&&(this.runtimeData.activeExperiments=e.activeExperiment),e.cart&&P.getCurrent().update(e.cart),e.configurations&&go(e.configurations),e.apiURLs&&uo(e.apiURLs),e.customContext&&(this.runtimeData.customContext=h(h({},this.runtimeData.customContext),e.customContext))}async testCartUpdate(){if(I().pageName!=="product"){window.alert("This feature is only available on a product page");return}let e=eo();if(e||(e=I().currentItem?.vID),!e){window.alert("Could not find a variant to test. Please try a different product page");return}let t=new $({id:"preview",shortID:"1",redirectBehaviour:qr.CART_DRAWER});await new Ee(new bt(new Date,t)).execute({clickAction:{at:Y.ADD_TO_CART},embeddedItem:new je({vID:e})})}};function rn(r){let e=I();if(e.currentItem&&e.currentItem.vID!==r.vID){let t=new CustomEvent("letscooee:variant-change",{detail:{variantID:r.vID,productID:r.mID}});document.dispatchEvent(t)}e.currentItem=new je(r)}var ze=class{static SESSION_STORAGE=window.sessionStorage;static SESSION_STORAGE_KEY_PREFIX="cooee".concat("-");static getString(e,t){return this.getItem(e)||t}static setString(e,t){this.setItem(e,t)}static remove(e){this.removeItem(e)}static getItem(e){return this.SESSION_STORAGE.getItem(this.SESSION_STORAGE_KEY_PREFIX.concat(e))}static setItem(e,t){this.SESSION_STORAGE.setItem(this.SESSION_STORAGE_KEY_PREFIX.concat(e),t)}static removeItem(e){this.SESSION_STORAGE.removeItem(this.SESSION_STORAGE_KEY_PREFIX.concat(e))}};var on=1e3,nn=10,Lr=0,_r=new Date;function Or(r){ze.remove("sleid"),_r=r??new Date}function fo(){if(window.scrollY){let r=bo();ho(r)&&vo(r)}pe(()=>{sn()})}function sn(){Et(window,"scroll").pipe(Q(on),yt(()=>{let r=bo();if(r>100){d.warn("Received scroll percent is more than 100",r);return}if(ho(r))return r})).subscribe(r=>{vo(r)})}function ho(r){return Math.abs(Lr-r)>=nn||Lr!==r&&r===100}function vo(r){if(r==null)return;let e={percent:r,timeMS:new Date().getTime()-_r.getTime()};Lr=r;let t=ze.getString("sleid",""),i=new D("CE Scroll",e,null,t);A(i),ze.setString("sleid",i.id.toHexString()),_r=new Date(i.occurred)}function bo(){let r=window.document.body.scrollHeight,e=window.innerHeight;return Math.ceil((window.scrollY+e)/r*100)}function wo(){an()}function an(){let r=window.fetch;try{window.fetch=async function(e,t){try{await ln(e,t)}catch(i){R(i,"modify-graphql-request",{extra:{body:JSON.stringify(t?.body)}})}return r(e,t)}}catch(e){console.warn("Fail to override fetch.",`Cooee won't be able to track "Buy Now Clicked" KPI.`),d.error(e)}d.verbose("Securely overwritten window.fetch method for graphql query")}async function ln(r,e){let t=typeof r=="string"?r:r instanceof Request?r.url:"";if(!(t.includes("graphql.json")&&e?.method==="POST")||!e.body)return;let i;if(typeof e.body=="string")try{i=JSON.parse(e.body)}catch{return}else i=e.body;i?.variables?.input&&(d.verbose("Intercepted fetch request of:",t),i?.query.includes("cartCreate")&&(e.body=await cn(i),mn()))}async function cn(r){let e=r.variables.input.attributes??[],t=await ti("Buy Now");return r.variables.input.attributes=[...e,...t],JSON.stringify(r)}function mn(){let r=I().currentItem;if(!r)return;let e=new D("Buy Now Clicked",{items:[r]});A(e)}var $e=class{constructor(e,t){this.selectors=e;this.eventName=t;this.selectorString=e.join(",")}static INSTANCE;elements;selectorString;clickListenerCallback=e=>{let t=e.currentTarget,i=new D(this.eventName,{class:t.className||void 0,tagName:t.tagName||void 0,id:t.id||void 0});A(i),this.removeClickListener(this.clickListenerCallback)};listenSilently(){this.listen().catch(e=>d.error(e))}async listen(){this.elements=await ei(this.selectorString),this.elements.forEach(e=>{e.addEventListener("click",this.clickListenerCallback)})}removeClickListener(e){this.elements?.forEach(t=>{t.removeEventListener("click",e)})}};var Yt=class r extends $e{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(r.selectors,"Item Thumbnail Clicked")}static getInstance(){return this.INSTANCE||(this.INSTANCE=new r),this.INSTANCE}};var Jt=class r extends $e{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(r.selectors,"Review Clicked")}static getInstance(){return this.INSTANCE||(this.INSTANCE=new r),this.INSTANCE}};var pn=[".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 Co(){pe(()=>{d.verbose("Execution order:","document ready"),dn()})}function dn(){let r=window.location.hash?.substring(1);if(r)if(r.includes("initiate-checkout")){document.dispatchEvent(new Event("letscooee:outbound:third-party-initiate-checkout"));let e=document.querySelector(pn);if(!e){d.verbose("No clickable cart checkout button found");return}d.verbose("Clickable cart checkout button found",e),e.click()}else r.includes("open-cart-drawer")&&q.get().open()}function Eo(){window.addEventListener("kp-modal:opened",()=>{I().isGoKwikPopupOpen=!0}),window.addEventListener("user-loggedin",r=>{let{token:e}=r.detail;e&&xt({goKwikToken:e})}),window.gokwikSdk?yo():window.addEventListener("gokwikLoaded",yo)}function yo(){window.gokwikSdk&&window.gokwikSdk.on("checkout_initiated",async()=>{let r=await P.getCurrent().getNormalisedCart(),e={via:"GoKwik",items:r.items,cartToken:r.token,amount:{value:r.amount,currency:r.currency}},t=new D("Checkout Started",e);A(t)})}var Qt=class{static watch(){let e=localStorage.getItem("cooeeDebugTill"),t=Vr();if(t==="1"||t==="on"){let i=un();e||(e=i.toString(),localStorage.setItem("cooeeDebugTill",e))}t==="on"?sessionStorage.cooeeDebug="1":t==="off"&&sessionStorage.removeItem("cooeeDebug"),sessionStorage.cooeeDebug&&gn(),e&&new Date(+e)<new Date&&localStorage.removeItem("cooeeDebugTill")}};function gn(){let r=document.createElement("cooee-debugger");r.logs=this.logs,pe(()=>{document.body.appendChild(r)})}function un(){return new Date().getTime()+360*60*1e3}var ht=class ht extends Xr{};Mr(ht,"storeName","app"),ht.storage=Kr(ht.storeName);var Zt=ht;var b=class{static globalRef;static authenticated;static async initForMerchantWebsiteOnly(e){if(!window.cooeeSDKPreview){if(d.info("Initialising SDK"),Li(navigator.userAgent)){d.info("This seems to be a bot. Disabling SDK");return}this.initGlobalReference(e),await bi(),this.autoAuthenticate(),new Xt().meddle(),zr(),ft(!0),Ft(),fn(),wi(),Ei(),wo(),Co(),fo(),Jt.getInstance().listenSilently(),Yt.getInstance().listenSilently(),Eo(),hn(),Qt.watch(),Zt.remove("conf").catch(t=>{d.error("Fail to remove App Config from local storage",t)})}}static async initForAll(){this.injectWidgetAssets()}static initGlobalReference(e){window.CooeeSDK||J(window,"CooeeSDK",{}),this.globalRef=window.CooeeSDK,J(this.globalRef,"config",new be),J(this.globalRef,"runtimeData",{sdkLoadTime:e,jsLoadTime:new Date,lastEnterActive:new Date}),J(this.globalRef,"uaParser",new G,!0),J(this.globalRef,"cart",P.getCurrent()),J(this.globalRef,"cartChange$",yi()),J(this.globalRef,"cartDrawerToggle$",q.cartDrawerToggle$.asObservable()),d.verbose("Global reference initialised"),new It(()=>{this.globalRef.uaParser=new G})}static injectWidgetAssets(){Pi(ve.widgetURL,"cooee-widget-sdk"),nr()}static autoAuthenticate(){let e=si();e&&this.authenticate({shopifyShop:e})}static authenticate(e){if(this.authenticated)return;d.info("Begin auth after \u23F0",Pe(),"of SDK load");let t=e.appID?.trim(),i=e.shopifyShop;if((rr(t)||t.length!==24)&&rr(i)){d.warn("Cooee App ID or Shop name is not configured");return}this.authenticated=!0,vi(e)}static sendEvent(e,t,i){let o=new D(e,t,i?.triggerData);i?.occurred&&(o.occurred=i.occurred),A(o)}static updateProfile(e){for(let t in e)if(t.toLowerCase().startsWith("ce "))throw new Error("User property name cannot start with 'CE '");xt(e)}static setPageName(e){if(!e)return;let t=I(),i=t.pageName;if(e===i)return;if(t.pageName=e,Wr.some(a=>e.includes(a))){Or();return}let o={};i&&(o.ps=i);let s=new D("CE Screen View",o);s.occurred=t.jsLoadTime,A(s),Or(s.occurred)}static previewPopup(e,t){import("./renderer-X5CF2PGG.js").then(({FreeformRenderer:i})=>{new i(t).render(e)})}static previewWidget(e){new k(new $(e)).renderSilently()}};function fn(){window.CooeeSDK.cartChange$.subscribe(()=>{ft()})}function hn(){if(window.opener){try{window.opener.postMessage({action:"COOEE_READY_FOR_PREVIEW"},"*")}catch(r){d.error(r)}window.addEventListener("message",r=>{if(d.verbose("Received event",r),!r.origin.includes("letscooee.com")&&!r.origin.includes("localhost"))return;let e=r.data;typeof e=="object"&&(e.action==="POPUP_PREVIEW"?(b.previewPopup(e.engagementTrigger),r.source?.postMessage({action:"PREVIEW_SUCCESSFUL"},r.origin)):e.action==="WIDGET_PREVIEW"&&(b.previewWidget(e.engagementTrigger),r.source?.postMessage({action:"PREVIEW_SUCCESSFUL"},r.origin)))})}}performance.mark("cooee-sdk-start");var So=new Date;Hr();Ur();d.verbose("Execution order:","top");window.cooeeShopifyScriptLoaded||(window.cooeeShopifyScriptLoaded=!0,(async()=>(d.verbose("Execution order:","IIFE start"),await b.initForMerchantWebsiteOnly(So),await b.initForAll(),performance.measure("cooee-sdk-init","cooee-sdk-start"),vn(),d.verbose("Execution order:","IIFE end")))());d.verbose("Execution order:","bottom");function vn(){Br()&&import("./sdk-debug-logs-OECRZKTM.js").then(({printAllDebugLogs:r})=>r(So))}
10
+ `},navigation:{nextEl:r.querySelector(".swiper-button-next"),prevEl:r.querySelector(".swiper-button-prev")},autoplay:e.autoplay?.enabled?{delay:e.autoplay?.delay,disableOnInteraction:!1,pauseOnMouseEnter:!1}:!1,autoHeight:!0};e.marquee&&t.autoplay&&typeof t.autoplay=="object"&&(t.speed=e.speed,t.autoplay.pauseOnMouseEnter=!0,r.style.setProperty("--swiper-wrapper-transition-timing-function","linear"));let i=new window.CooeeSDK.Swiper(r,t);return r.style.setProperty("--swiper-navigation-size",`${e.navigation.size}px`),i}function Bt(r,e,t){let i={color:r.navigation.color?.rgba};return r.pagination.enabled&&(i.transform="translateY(-25%)"),g("div",{class:"swiper-container",ref:e,style:"max-width: 100%",children:[g("div",{class:"swiper-wrapper",children:t()}),r.navigation.enabled&&g("div",{class:"swiper-button-next",style:i,children:g("span",{})}),r.navigation.enabled&&g("div",{class:"swiper-button-prev",style:i,children:g("span",{})}),r.pagination.enabled&&g("div",{className:"swiper-pagination",style:{bottom:0,top:"unset",position:"relative",color:r.pagination.color?.rgba}})]})}var st=class extends y{componentDidMount(){H(()=>{this.setState(()=>({checked:this.props.item.selected.value}))})}render(){return g("div",{style:this.getCompiledStyles(),className:"lc-checkbox",children:g("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 me;return e.textAlign=t.alignment,e.justifyContent=t.alignment,e}getComponentStyles(){return X(f({},this.getTypoStyles()),{display:"flex"})}};var se=class extends y{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 g("img",{onClick:this.customOnClick.bind(this),className:"lc-image",alt:e?.name||"Image",onMouseEnter:this.handleMouseEnter.bind(this),onMouseLeave:this.handleMouseLeave.bind(this),src:t,style:this.getCompiledStyles()})}customOnClick(e){this.props.element.clc?.at===J.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=class extends y{render(){if(!(this.props.element.hide||!this.matchWhenCondition(this.props.element.when)))return g("div",{style:this.getCompiledStyles(),class:"lc-flexbox",children:g(he,{elements:this.props.elements,element:this.props.element,triggerContext:this.props.triggerContext})})}getComponentStyles(){let e=this.mediaStyle.flex??new si,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 at=class extends ae{render(){if(!(this.props.element.hide||!this.matchWhenCondition(this.props.element.when)))return g("div",{style:this.getCompiledStyles(),class:"lc-flexbox",children:g(Ve,{elements:this.props.elements,element:this.props.element,triggerContext:this.props.triggerContext,item:this.props.item,noLinks:this.props.noLinks})})}};var lt=class extends y{render(){return g("select",{style:this.getCompiledStyles(),value:this.props.selectedVariant.selectedSellingPlan.value?.mID??"",onChange:this.onChange.bind(this),disabled:this.state.disabled,className:"lc-dropdown",children:this.createSelectItems()})}componentDidMount(){H(()=>{this.setState(()=>({disabled:this.props.triggerContext.triggerData.isBundle()?!this.props.item.selected.value:!1}))})}getTypoStyles(){let e={},t=this.mediaStyle.typo??new me;return e.letterSpacing=t.letterSpacing,e.fontSize=t.fs+"px",e.lineHeight=t.lh,e.fontFamily="inherit",e.textAlign=t.alignment,e.fontWeight=t.fw,this.stylesConverter.getColourStyles(t.tc,"color",e),e.boxShadow="none",e}getComponentStyles(){let e={};return this.props.selectedVariant.sellingPlans?.length||(e.visibility="hidden"),f(f({},e),this.getTypoStyles())}createSelectItems(){let e=[],t=this.props.selectedVariant;if(!t.sellingPlans?.length)return[];this.props.triggerContext.triggerData.skipSubscribedItems?t.selectedSellingPlan.value||(t.sellingPlans[0].isSelected=!0,t.changeSellingPlan(t.sellingPlans[0])):e.push(g("option",{value:"",selected:!t.selectedSellingPlan,children:"One time purchase"}));for(let i of t.sellingPlans??[])e.push(g("option",{value:i.mID,selected:i.isSelected,children:i.name}));return e}onChange(e){let t=e.target.value;t?this.props.selectedVariant.selectedSellingPlan.value=this.props.selectedVariant.sellingPlans.find(i=>i.mID===t):this.props.selectedVariant.selectedSellingPlan.value=void 0}};var zo=new RegExp('fill="#[a-zA-Z0-9]+"'),ct=class extends y{constructor(){super()}render(){let e=this.getCompiledStyles(),t=this.getRating();return t||(e.display="none",t=""),g("div",{style:e,className:"lc-star-rating",dangerouslySetInnerHTML:{__html:t}})}getRating(){let e={size:this.props.element.iconSize,color:this.props.element.c.hex},t=ir(this.props.element.fullStar,{svg:e},this.props.triggerContext),i=ir(this.props.element.halfStart,{svg:e},this.props.triggerContext),o=this.props.review;if(!o?.rating)return"";let s="";if(this.props.element.showSingleStar)s=t;else{let a=5,h=`${o.rating}`.split(".");for(let u=0;u<+h[0];u++)s+=t,a--;h[1]&&(s+=i,a--);for(let u=0;u<a;u++)s+=t.replace(zo,'fill="#f1f1f1"')}return s}getComponentStyles(){return{display:"flex",alignItems:"center"}}};var mt=class extends y{render(){return g("select",{style:this.getCompiledStyles(),value:this.props.item.selectedOrFirstVariant.value.mID,onChange:this.onChange.bind(this),disabled:this.state.disabled,className:"lc-dropdown",children:this.createSelectItems()})}componentDidMount(){H(()=>{this.setState(()=>({disabled:this.props.triggerContext.triggerData.isBundle()?!this.props.item.selected.value:!1}))})}getTypoStyles(){let e={},t=this.mediaStyle.typo??new me;return e.letterSpacing=t.letterSpacing,e.fontSize=t.fs+"px",e.lineHeight=t.lh,e.fontFamily="inherit",e.textAlign=t.alignment,e.fontWeight=t.fw,this.stylesConverter.getColourStyles(t.tc,"color",e),e.boxShadow="none",e}getComponentStyles(){let e={};return this.props.item.vars?.length===1&&this.props.item.vars[0].name==="Default Title"&&(e.visibility="hidden"),f(f({},e),this.getTypoStyles())}createSelectItems(){let e=[];for(let t of this.props.item.vars)e.push(g("option",{value:t.mID,disabled:!t.isAvailable,children:t.name}));return e}onChange(e){let t=e.target.value,i=this.props.item.vars.find(o=>o.mID===t);this.props.item.setSelectedVariant(i)}};var Zi=()=>{let r=window.ShopifyAnalytics?.meta??{},e=r.selectedVariantId;if(e)return e;if(r.product?.variants?.length>0)return r.product.variants[0].id},Ir=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 Ve=class extends y{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:g(at,{element:t,triggerContext:this.props.triggerContext,elements:t.elems,item:this.props.item,noLinks:this.props.noLinks})}if(e.t===6)return this.props.triggerContext.triggerData.isBundle()?g(st,{element:e,item:this.props.item,triggerContext:this.props.triggerContext}):void 0;if(e.t===13){let t=e,i=this.props.item,o=Ir(i.variantImage??i.firstImageURL),s=Ir(i.variantSecondaryImage??i.secondaryImageURL);t.lg=t.sm={src:o,name:i.name,secondarySrc:s};let a=g(se,{element:t,onClick:this.customOnClick.bind(this),triggerContext:this.props.triggerContext});return this.props.noLinks?a:g("a",{href:this.props.item.selectedOrFirstVariant.value.link,style:{display:"block"},children:a})}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.showChips?g("cooee-product-options-picker",{item:this.props.item}):g(mt,{element:t,item:this.props.item,triggerContext:this.props.triggerContext})}return e.t===16?g(lt,{element:e,selectedVariant:this.props.item.selectedOrFirstVariant.value,item:this.props.item,triggerContext:this.props.triggerContext}):e.t===19?g(ct,{element:e,triggerContext:this.props.triggerContext,review:this.props.item.reviews}):e.t===18||e.t===3?g(Te,{element:e,item:this.props.item,triggerContext:this.props.triggerContext}):g(he,{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=g(F,{element:e,onClick:this.customOnClick.bind(this),triggerContext:this.props.triggerContext});return this.props.noLinks?t:g("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 i=t.detail.variantID;this.props.item.setSelectedVariantByID(i)})}};var Ie=class extends y{productElement;constructor(e,t){super(e,t),this.setState(()=>({decoration:"unset"}))}render(){let e=be(this.props.element,this.getProductData(),this.props.triggerContext);if(this.productElement=new ci(e),!(this.productElement.hide||!this.matchWhenCondition(this.productElement.when)))return g("div",{style:f({},this.getCompiledStyles()),class:"lc-single-product",children:g(Ve,{element:this.productElement,elements:this.productElement.elems,triggerContext:this.props.triggerContext,item:this.props.item,noLinks:this.productElement.noLinks})})}getComponentStyles(){return{flexShrink:0}}getProductData(){if(!this.props.item)return{};let e=this.props.item,t=e.selectedOrFirstVariant.value,i=e.getTemplateVariables();i.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===Qr.BXGY;return!t.hasEffectivePrice()&&o&&(i.product=X(f(f({},i.product),zr("effective_price",t.effectivePrice.value)),{price:""})),i.variant.quantity=this.props.triggerContext.hasManipulatedProductQuantity()?this.props.triggerContext.getManipulatedQuantity(t.quantity):t.quantity,{product:i.product,variant:i.variant,svg:{color:"{{ svg.color }}",size:"{{ svg.size }}"}}}};var pt=class extends y{swiperRef=null;swiperInstance=null;configuration;gap;constructor(e,t){super(e,t),this.configuration=Ce()?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&&Tt().then(()=>{this.swiperInstance=Ht(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 i=s=>{this.swiperRef=s},o=()=>e?.map(s=>g("div",{class:"swiper-slide",children:this.getProductFragment(s)}));t=g("div",{style:X(f({},this.getCompiledStyles()),{display:"block"}),class:"lc-product-swiper-list",children:Bt(this.configuration,i,o)})}else t=g("div",{style:this.getCompiledStyles(),class:"lc-product-list",children:e?.map((i,o)=>this.getProductFragment(i,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 i=this.props.triggerContext.triggerData,o=i.items.length,s;i.isBundle()?s=this.props.element.prod.symbol?.hide!==!0?o*2-1:o:s=this.props.element.conf[this.deviceTypeKey].maxInRow,t.gridTemplateColumns=`repeat(${s}, auto)`}}return t}getProductFragment(e,t=!1){return g(De,{children:[g(Ie,{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&&g("div",{style:{display:"flex",alignItems:"center",justifyContent:"center"},children:g(F,{element:this.props.element.prod.symbol,triggerContext:this.props.triggerContext})})]},e.mID)}};var dt=class extends y{swiperRef=null;swiperInstance=null;constructor(e,t){super(e,t)}componentDidMount(){Tt().then(()=>{this.swiperInstance=Ht(this.swiperRef,this.props.element.conf)})}componentWillUnmount(){this.swiperInstance&&this.swiperInstance.destroy()}render(){let e=this.props.element,t=o=>{this.swiperRef=o},i=()=>{let o=e.values?.map(h=>g("div",{class:"swiper-slide",onClick:u=>this.onClick(u,{clickAction:this.getClickAction(h)}),children:this.renderElement(h)}));if(!o?.length)return[];let s=e.conf,a=o.length;if(s.marquee&&a<=Number(s.maxInRow)){let h=Number(s.maxInRow)-a+1;for(let u=0;u<h;u++)o.push(o[u%a])}return o};return Bt(e.conf,t,i)}getComponentStyles(){return{}}renderElement(e){let t=this.valueAddedSlide(this.props.element.slide,e);switch(t?.t){case 1:return g(se,{element:t,triggerContext:this.props.triggerContext});case 4:return g(ae,{elements:t.elems,element:t,triggerContext:this.props.triggerContext});default:d.warn("Unknown slide type for carousal")}}valueAddedSlide(e,t){let i=be(e,{form:t},this.props.triggerContext);return li.getParsedElement(i)}getClickAction(e){return be(this.props.element.clc??{},{form:e},this.props.triggerContext)}};var he=class extends y{constructor(e,t){super(e,t),this.setState(()=>({decoration:"unset"})),H(()=>{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 g(ae,{element:t,triggerContext:this.props.triggerContext,elements:t.elems})}if(e.t===61)return g(nt,{element:e,triggerContext:this.props.triggerContext});if(e.t===3)return this.state.showButton?g(Te,{element:e,triggerContext:this.props.triggerContext}):void 0;if(e.t===2)return g(F,{element:e,triggerContext:this.props.triggerContext});if(e.t===1)return g(se,{element:e,triggerContext:this.props.triggerContext});if(e.t===11)return g(pt,{element:e,triggerContext:this.props.triggerContext});if(e.t===12)return g(Ie,{element:e,item:this.props.triggerContext.triggerData.items[0],triggerContext:this.props.triggerContext});if(e.t===62)return g(dt,{element:e,triggerContext:this.props.triggerContext})}}render(){return this.props.elements.map(e=>this.renderElement(e))}getComponentStyles(){return{}}};var gt=class extends y{clickAction;isClickable;constructor(e,t){super(e,t),this.clickAction=this.props.element.clc,this.isClickable=this.clickAction?.at===J.GO_TO_URL&&!!Ur(this.clickAction.gu?.u)||this.clickAction?.at===J.OPEN_CART||this.clickAction?.at===J.INITIATE_CHECKOUT}componentDidMount(){H(()=>{let e=this.props.triggerContext.triggerData,t=this.props.triggerContext.selectedItems;e.calculateDiscountData(t,this.props.triggerContext.shouldGiveFBTDiscount)})}render(){return g(De,{children:[g("div",{style:this.getCompiledStyles(),class:"lc-container",onClick:e=>{this.onClick(e,{clickAction:this.clickAction})},children:g(he,{elements:this.props.elements,element:this.props.element,triggerContext:this.props.triggerContext})}),this.props.triggerContext.triggerData.id==="preview"&&g("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 k=class r{constructor(e){this.engagementTrigger=e;this.triggerContext=new wt(new Date,this.engagementTrigger)}static engagementIDsWithTrackedDisplay=new Set;static DEBOUNCE_TIME=1e3;rootContainer;widgetElement;triggerContext;observers=[];renderedCount=0;scrollSubscription;isExclusionWithBVariation;isProcessing=!1;renderSilently(){this.acquireProcessingLock()||this.render().finally(()=>this.releaseProcessingLock()).catch(e=>{I(e,"render-widget",{triggerContext:this.triggerContext})})}destroy(){d.verbose(`${this.engagementTrigger} will be destroyed`),this.preDestroy(),this.removeFromRendered(),this.rootContainer?.remove(),r.engagementIDsWithTrackedDisplay.delete(this.engagementTrigger.shortID),nr(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(!0),!this.rootContainer){d.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,nr(this.engagementTrigger.content?.afterRenderJS)}async updateAndReRender(e){if(!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()){d.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(),!0):!1}preDestroy(){this.scrollSubscription?.unsubscribe(),this.observers.forEach(e=>{e?.disconnect&&e.disconnect()})}acquireProcessingLock(){return this.isProcessing?(d.verbose(`Lock could not be acquired for ${this.engagementTrigger}`),!0):(d.verbose(`Acquiring rendering lock for ${this.engagementTrigger}`),this.isProcessing=!0,!1)}releaseProcessingLock(){d.verbose(`Releasing rendering lock for ${this.engagementTrigger}`),this.isProcessing=!1}afterRootContainerCreated(){}isAllOkToRender(){return!!this.engagementTrigger.widget}async getVariationIfRequired(){if(this.engagementTrigger.shouldSkipVariation()){d.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;d.log(`${t} visitor has been assigned to variation ${e.variation}`),e.items?.length&&(t.items=e.items.map(i=>new Ae(i)),t.nonMutableItems=e.items.map(i=>new Ae(i))),e.bundleFrom&&(t.bundleFrom=new Ae(e.bundleFrom)),e.discount&&(t.discount=e.discount),e.placement&&(t.placement=e.placement),e.props&&ve.hasKeys(e.props)&&(t.props=f(f({},t.props),e.props)),e.content&&(t.content=new pi(e.content)),t.widget=new mi(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++,d.info(`${this.engagementTrigger} rendered \u2705 ${jr(this.renderedCount)} time`)}removeFromRendered(){this instanceof V?Re.delete(this):Ue.delete(this)}async getVariation(){d.log(`${this.engagementTrigger} get variation`);let e={engagementID:this.engagementTrigger.engagementID,isPreview:this.engagementTrigger.id==="preview"};try{return(await to(e)).data}catch(t){if(t instanceof Br&&t.response?.status===400)return;I(t,"get-variation",{engagementTrigger:this.engagementTrigger});return}}async observeWidgetContainerInViewport(){if(!this.rootContainer){d.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(i=>{let o=new IntersectionObserver((s,a)=>{s.forEach(async h=>{if(h.isIntersecting){d.log(`${this.engagementTrigger} root container is near the viewport. Fetching variation`);let u=await this.getVariation();i(u),a.unobserve(this.rootContainer)}})},t);o.observe(this.rootContainer),this.observers.push(o)})}attachScroll(){this.scrollSubscription=Et(window,"scroll").pipe(Q(r.DEBOUNCE_TIME)).subscribe(()=>{this.checkAndSendEvent()})}checkAndSendEvent(){let e=this.engagementTrigger.shortID;if(r.engagementIDsWithTrackedDisplay.has(e)||!this.isInViewport())return;let i={};this.triggerContext.triggerData.items?.length&&(i.promotedMIDs=this.engagementTrigger.items?.map(a=>a.mID));let o=this.isExclusionWithBVariation?"CE Campaign Holdout":"CE Trigger Displayed",s=new D(o,i,this.engagementTrigger);s.name==="CE Campaign Holdout"&&(s.trigger.holdout=!0),Ti(s),r.engagementIDsWithTrackedDisplay.add(e),this.scrollSubscription.unsubscribe()}generateParentElementID(){return`letscooee-${this.engagementTrigger.shortID}`}createAngularWidget(e){let t=this.widgetElement=document.createElement(e);return t.cart=P.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 i=t.getElementById(e);if(i)return i;let o=this.engagementTrigger.objective.toLowerCase().replaceAll("_","-"),s=this.engagementTrigger.shortID;return i=document.createElement("div"),i.id=e,i.className=`letscooee letscooee-engagement engagement-${s} lc-${o}`,i.dataset.engagementId=s,this.engagementTrigger.id==="preview"&&(i.className+=" letscooee-preview"),i.style.display="block",i.style.minHeight="0.5px",i.style.minWidth="0.5px",i}async startRendering(){let e=this.rootContainer,t=this.triggerContext.triggerData.hasSwiperElement();t&&(e=this.rootContainer?.shadowRoot||this.rootContainer?.attachShadow({mode:"open"}),sr(e)),this.injectCampaignCSS(t,e);let i=this.engagementTrigger.widget;ii(ri(gt,{element:i.cont,triggerContext:this.triggerContext,elements:i.elems}),e),this.addToRendered()}injectCampaignCSS(e,t){let i=this.engagementTrigger.content?.outerCSS?.trim()??"",o=this.engagementTrigger.content?.innerCSS?.trim()??"";if(!i&&!o)return;let s=this.rootContainer.id;if(e){re(o,t),this.injectOuterCSSOnly();return}let a=i+`
11
+ ${o}`;re(`#${s} { ${a} }`)}injectOuterCSSOnly(){let e=this.engagementTrigger.content?.outerCSS?.trim();if(!e)return;let t=this.rootContainer.id;re(`#${t} { ${e} }`)}isInViewport(){let e=this.rootContainer?.getBoundingClientRect();if(!e)return!1;let t=window.innerHeight||document.documentElement.clientHeight,o=(Math.min(e.bottom,t)-Math.max(e.top,0))*e.width,s=e.width*e.height,a=o/s*100;return this.engagementTrigger.isAnySplit()?a>0:a>=30}async getWidgetContainer(e){if(this.rootContainer?.isConnected)return this.rootContainer;let t=await this.createParentElementWithPlacement(e);if(t)return t;let i=`.letscooee[data-engagement-id="${this.triggerContext.triggerData.shortID}"]`;return document.querySelector(i)}async createParentElementWithPlacement(e){let t=this.engagementTrigger.placement;if(!t?.selector)return d.info(`\u26A0\uFE0F${this.engagementTrigger} does not have a selector`),null;let i=t.selector,o;if(i.includes(":shadow")){let u=i.split(":shadow");o=(await je(u[0].trim()))?.shadowRoot,i=u[1].trim(),o&&sr(o,!1)}d.verbose(`${this.engagementTrigger} attempt to render "${t.position}" "${i}"`);let s=await je(i,3,o??document);if(!s)return d.warn(`${this.engagementTrigger} no placement found with ${i}`),null;let a=this.generateParentElementID(),h=this.getParentElement(a);if(!e)return h;switch(t.position){case L.BEFORE1:case L.BEFORE:{s.parentElement?.insertBefore(h,s);break}case L.INSIDE_FIRST1:case L.INSIDE_FIRST:{s.insertBefore(h,s.firstChild);break}case L.INSIDE_LAST1:case L.INSIDE_LAST:{s.appendChild(h);break}case L.AFTER1:case L.AFTER:default:s.parentElement?.insertBefore(h,s.nextSibling)}return h}async runChoresBeforeRender(){if(this.isExclusionWithBVariation)return;if(!this.isAllOkToRender()){d.info(`\u26A0\uFE0F ${this.engagementTrigger} could not be rendered`);return}d.verbose(`${this.engagementTrigger} will be rendered`);let e;try{e=await bi(this.engagementTrigger)}catch(t){d.info(`\u203C\uFE0F${this.engagementTrigger} could not render as items failed to refresh`,t);return}if(!this.engagementTrigger.isCollectionPromoted()&&!e?.length&&this.engagementTrigger.isProductPromoted()){d.info(`\u203C\uFE0F${this.engagementTrigger} could not render as no products promoted`);return}this.engagementTrigger.items=e,await this.startRendering()}updateItems(e,t){let i=this.getItemDiff(e,t),o=this.getItemDiff(t,e);t.push(...i);for(let s of o)ti.remove(t,s)}getItemDiff(e,t){return e.filter(i=>!t.some(o=>o.selectedOrFirstVariant.value.mID===i.selectedOrFirstVariant.value.mID))}};var V=class extends k{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(!q.get().isOpen()&&R().pageName!=="cart"){d.log("Do not send display event as neither the cart drawer nor the cart page is open.");return}return super.checkAndSendEvent()}};var Vt=class r{constructor(e,t){this.engagementTrigger=e;this.element=t;this.cartItems=P.getCurrent().items}cartItems;static renderCartUpsell(e){let t=e.placement;if(!t?.selector){d.warn(`No placement available for ${e.objective}`,e.shortID);return}let i=Array.from(document.querySelectorAll(t.selector));if(!i?.length){d.warn(`No placement found for ${e.objective}`,e.shortID);return}for(let o of i)new r(e,o).render()}render(){let e=this.findCartItemFromHTMLElement();if(!e||this.engagementTrigger.skipSubscribedItems&&e.selling_plan_allocation)return;let t=this.engagementTrigger.items.find(S=>S.mID===e.product_id.toString());if(!t)return;let i=t.vars.find(S=>S.mID===e.id.toString());if(!i)return;let o=new oi(i),s=e.selling_plan_allocation?.selling_plan;if(s)for(let S of o.sellingPlans??[])S.mID===s.id.toString()&&(S.isSelected=!0,o.changeSellingPlan(S));let a=new Ae(t);a.vars=[o],a.selectedOrFirstVariant.value=o;let h=`lc-cart-item-${this.engagementTrigger.shortID}-${t.mID}`;this.element.classList.add(h);let u=new $(this.engagementTrigger);u.placement.selector=`.${h}`,u.items=[a];let b=new V(u);b.renderSilently(),this.watchForCartItemDeletion(b,h)}watchForCartItemDeletion(e,t){let i=new MutationObserver(o=>{o.forEach(s=>{s.removedNodes.forEach(a=>{a===this.element&&(d.verbose(`${t} has been removed`),e.destroy(),i.disconnect())})})});i.observe(this.element.parentElement,{childList:!0,subtree:!0})}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!1;let i=t.selling_plan_allocation?.selling_plan?.name;return!(i&&!e.includes(i))})}};var Ut=class extends V{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){I(e,"apply-milestones",{engagementTrigger:this.engagementTrigger})}}async checkMilestone(){let e=await P.getCurrent().getNormalisedCart(),t=this.engagementTrigger.progressBarConfig,i=[],o=[],s=[],a,h,u=[...t.milestones];for(let E of u){if(E.rewardType!==ei.FREE_AUTO_GIFT)continue;if(E.isUIOnly&&!E.allowATC){d.verbose(`Skipping milestone ${E.label} as it is UI only and does not allow ATC`);continue}let K=E.items[0],T=E.reached,N=e.items.find(Zt=>(Zt.vID===K.vID||Zt.mID===K.mID)&&Zt.properties._letscooee_campaign===this.engagementTrigger.shortID);T&&(a=E,h=N),N&&i.push(N),!T&&N&&t.removeIneligibleItem?(d.verbose(`Removing free gift ${N.vID} from cart`),s.push(N)):T&&!N&&(d.verbose(`Adding free gift ${K.vID} to cart`),o.push(K))}t.restrictToLatestFreebie&&a&&(h?(i=i.filter(E=>E.vID!==h.vID),o=[]):o=[a.items[0]],s.push(...i));let b={},S={};s.length&&s.forEach(E=>S[E.key??E.vID]=0),o.length&&o.forEach(E=>S[E.vID]=1);let U=t.coupons,z=[];if(U?.length){z=U.map(T=>T.couponCode);let E=P.getCurrent().discount_codes?.map(T=>T.code)??[];z.every(T=>E.some(N=>N===T))||(b.discount=z.join(","))}if(ve.hasKeys(S)&&(b.updates=S),!ve.hasKeys(b))return;let le=await Si(b,this.engagementTrigger),vt=le?.items,ce=[];for(let E of o){let K=vt?.find(T=>z?.length?T.id+""===E.vID&&T.discounts?.some(N=>z.includes(N.title)):T.id+""===E.vID);K&&ce.push(K)}if(!ce.length){q.get().refreshUI(le,!1);return}try{await Promise.all(ce.map(E=>xi(E,{properties:this.engagementTrigger.getPrivateAttributesForLineItem()})))}catch(E){I(E,"add-private-attribute",{engagementTrigger:this.engagementTrigger,extra:{productAddedByCooee:ce}})}finally{q.get().refreshUI(le,!1)}}};var ut=class extends V{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 zt=class extends k{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 $t=class extends k{constructor(e){super(e)}isAllOkToRender(){return!0}async startRendering(){if(this.widgetElement?.isConnected){this.addToRendered();return}this.createAngularWidget("cooee-sticky-atc")}};var qt=class extends k{constructor(e){super(e)}isAllOkToRender(){return!0}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),!1)}async inboundCTAListener(e){let t=this.engagementTrigger,i=`Engagement(id: ${t.engagementID}, shortID: ${t.shortID})`,o=e.detail;if(!ve.hasKeys(o)){d.error(`No detail received for ${i}`);return}d.log("Detail received for BYOB",o);let s=o.campaignID??o.campaignId??o.campaign_id;if(s!==t.shortID&&s!==t.engagementID){d.warn(`Current ${i} is not BYOB. Received: ${s}`);return}let a=o.items;if(!a?.length)return;let h=a.map(u=>new Ge({mID:u.product_id,vID:u.variant_id,quantity:u.quantity||1}));await new ye(this.triggerContext).execute({embeddedItems:h,clickAction:{at:J.ADD_BUNDLE,applyDiscount:!0}})}};var jt=class extends k{constructor(e){super(e)}isAllOkToRender(){return!0}async startRendering(){if(this.widgetElement?.isConnected){this.addToRendered();return}this.createAngularWidget("cooee-collection-filter")}};var Rr=!1,kr=!1,Gt=null,Kt=null,ro=!1,Re=new Set,Ue=new Set;function io(){ro||(ro=!0,Pe(()=>{Qi(document.body,{childList:!0,subtree:!0},500,Ji).subscribe(()=>{Ue.forEach(r=>r.rerenderIfDeleted()),Re.forEach(r=>r.rerenderIfDeleted())})}))}function Pr(r){if(io(),Rr){d.verbose("Cart widget processing in progress, queuing latest triggers"),Gt=r;return}Rr=!0;try{$o(r)}finally{if(Rr=!1,Gt){let e=Gt;Gt=null,d.verbose("Processing queued cart triggers"),Pr(e)}}}function Dr(r){if(io(),kr){d.verbose("Page widget processing in progress, queuing latest triggers"),Kt=r;return}kr=!0;try{qo(r)}finally{if(kr=!1,Kt){let e=Kt;Kt=null,d.verbose("Processing queued page triggers"),Dr(e)}}}function oo(){Re.forEach(r=>r.rerenderAfterCartOpened())}function $o(r){so(Re,r);for(let e of r){d.info(`${e} received as cart embed`);let t=no(Re,e);if(t&&!e.isSubscriptionUpsell()){t.updateAndReRender(e).catch(o=>{I(o,"update-and-re-render",{engagementTrigger:e})});continue}d.verbose(`${e} is new`);let i;if(e.isProgressBar())i=new Ut(e);else if(e.isSubscriptionUpsell()){Vt.renderCartUpsell(e);continue}else e.isSavingsBar()?i=new ut(e):i=new V(e);Re.add(i),i.renderSilently()}}function qo(r){so(Ue,r);for(let e of r){d.info(`${e} received as page embed`);let t=no(Ue,e);if(t){t.updateAndReRender(e).catch(o=>{I(o,"update-and-re-render",{engagementTrigger:e})});continue}d.verbose(`${e} is new`);let i;e.isShoppableVideo()?i=new zt(e):e.isBYOB()?i=new qt(e):e.isStickyATC()?i=new $t(e):e.isSavingsBar()?i=new ut(e):e.isCollectionFilter()?i=new jt(e):i=new k(e),Ue.add(i),i.renderSilently()}}function no(r,e){for(let t of r)if(t.matches(e))return t}function so(r,e){let t=new Set(e.map(i=>i.shortID));for(let i of r)t.has(i.engagementTrigger.shortID)||i.destroy()}var jo="/v1/engagement/page-widgets",Go="/v1/engagement/cart-widgets",lo=new gi,ao=0;lo.pipe(Q(50)).subscribe(async r=>{let e=await Le();Ko(e).catch(t=>{I(t,"load-page-widgets",{extra:{firstLoad:r}})}),Xo(e).catch(t=>{I(t,"load-cart-widgets",{extra:{firstLoad:r}})})});function ht(r=!1){Ct(St).then(()=>{lo.next(r)})}async function to(r){let e=await Le();return Object.assign(r,e),Ee("/v1/engagement/get-variant",r)}function co(r,e){return fe.mode==="local"||!e?r:e+r}async function Ko(r){ao++,ao===1?d.info("Fetch page widgets (after \u23F0",ke()+" of SDK load)"):d.info("Fetch page widgets");let e=f({},r),t=co(jo,w.globalRef.apiURLs?.pageWidget);try{let i=await Ee(t,e);d.info(`Page widgets loaded in \u23F0 ${qe(i.timeTakenMs)}`);let o=i.data.widgets.map(s=>new $(s));Dr(o)}catch(i){d.error("Error sending widget getter",i)}}async function Xo(r){d.info("Fetch cart widgets");let e=f({},r),t=co(Go,w.globalRef.apiURLs?.cartWidget);try{let i=await Ee(t,e);d.info(`Cart widgets loaded in \u23F0 ${qe(i.timeTakenMs)}`);let o=i.data.widgets.map(s=>new $(s));Pr(o)}catch(i){d.error("Error sending widget getter",i)}}function mo(){let r=we.get();!r.gaMeasurementID||!r.gaEnabled||Qo()}async function Jo(){let r=await er.get("gacid"),e=await Zo();if(r!==e)return await er.set("gacid",e),e}async function Qo(){let r=await Jo();r&&Ii({gaClientID:r})}async function Zo(){let e=we.get().gaMeasurementID;if(!(!e||!window.gtag))return new Promise(t=>{window.gtag("get",e,"client_id",i=>{t(i)})})}async function po(r){d.verbose("Received app configuration",r),r.currencyCount=r.currencies?.length;let e=w.globalRef.config.update(r);mo(),q.initialize(),e.website&&(Di(e.website.commonJS),re(e.website.commonCSS)),window.CooeeSDK.cartDrawerToggle$.pipe(Q(10)).subscribe(async({open:t})=>{d.info("Cart drawer is now",t?"open":"closed"),t&&(oo(),await en())})}function go(r){w.globalRef.apiURLs=r}async function en(){let r=await P.getCurrent().getNormalisedCart(),e={value:r.amount,currency:r.currency},t={items:r.items,amount:e,drawer:!0};A(new D("View Cart",t))}var Xt=class{runtimeData=R();meddle(){let e=w.globalRef;e.account=e.account??[],e.profile=e.profile??[],e.events=e.events??[],e.page=e.page??[],this.meddlePage(),this.meddleAccount(),this.meddleEvents(),this.meddleProfile(),this.exposeMethods()}exposeMethods(){let e=w.globalRef;e.loadWidgets=e.loadCartWidgets=e.loadPageWidgets=()=>{ht()},e.loadExperiments=()=>{Ft()},e.testCartUpdate=this.testCartUpdate.bind(this),e.previewWidget=w.previewWidget.bind(w),e.previewPopup=w.previewPopup.bind(w),e.executeCTA=(t,i)=>{new ye(t).execute(i)},e.sendEvent=t=>{A(t)}}overwritePush(e,t){Y(e,"push",t)}meddleAccount(){this.overwritePush(w.globalRef.account,(...e)=>{this.processAccount(e[0])}),w.globalRef.account.forEach(this.processAccount.bind(this))}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))}processAccount(e){e&&(e.appID&&w.authenticate(e),e.flags&&(this.runtimeData.flags=e.flags))}processEvent(e){e&&(Wr.includes(e[0])?w.sendEvent(e[0],e[1],f({occurred:this.runtimeData.jsLoadTime},e[2])):w.sendEvent(e[0],e[1],e[2]))}processProfile(e){e&&w.updateProfile(e)}processPageName(e){e&&w.setPageName(e)}meddlePage(){this.overwritePush(w.globalRef.page,(...e)=>{this.processPage(e[0])}),w.globalRef.page.forEach(this.processPage.bind(this))}processPage(e){e.currentItem&&tn(e.currentItem),e.currency&&(R().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&&P.getCurrent().update(e.cart),e.configurations&&po(e.configurations),e.apiURLs&&go(e.apiURLs),e.customContext&&(this.runtimeData.customContext=f(f({},this.runtimeData.customContext),e.customContext))}async testCartUpdate(){if(R().pageName!=="product"){window.alert("This feature is only available on a product page");return}let e=Zi();if(e||(e=R().currentItem?.vID),!e){window.alert("Could not find a variant to test. Please try a different product page");return}let t=new $({id:"preview",shortID:"1",redirectBehaviour:Zr.CART_DRAWER});await new ye(new wt(new Date,t)).execute({clickAction:{at:J.ADD_TO_CART},embeddedItem:new Ge({vID:e})})}};function tn(r){let e=R();if(e.currentItem&&e.currentItem.vID!==r.vID){let t=new CustomEvent("letscooee:variant-change",{detail:{variantID:r.vID,productID:r.mID}});document.dispatchEvent(t)}e.currentItem=new Ge(r)}var ze=class{static SESSION_STORAGE=window.sessionStorage;static SESSION_STORAGE_KEY_PREFIX="cooee".concat("-");static getString(e,t){return this.getItem(e)||t}static setString(e,t){this.setItem(e,t)}static remove(e){this.removeItem(e)}static getItem(e){return this.SESSION_STORAGE.getItem(this.SESSION_STORAGE_KEY_PREFIX.concat(e))}static setItem(e,t){this.SESSION_STORAGE.setItem(this.SESSION_STORAGE_KEY_PREFIX.concat(e),t)}static removeItem(e){this.SESSION_STORAGE.removeItem(this.SESSION_STORAGE_KEY_PREFIX.concat(e))}};var rn=1e3,on=10,Ar=0,Lr=new Date;function _r(r){ze.remove("sleid"),Lr=r??new Date}function uo(){if(window.scrollY){let r=vo();ho(r)&&fo(r)}Pe(()=>{nn()})}function nn(){Et(window,"scroll").pipe(Q(rn),yt(()=>{let r=vo();if(r>100){d.warn("Received scroll percent is more than 100",r);return}if(ho(r))return r})).subscribe(r=>{fo(r)})}function ho(r){return Math.abs(Ar-r)>=on||Ar!==r&&r===100}function fo(r){if(r==null)return;let e={percent:r,timeMS:new Date().getTime()-Lr.getTime()};Ar=r;let t=ze.getString("sleid",""),i=new D("CE Scroll",e,null,t);A(i),ze.setString("sleid",i.id.toHexString()),Lr=new Date(i.occurred)}function vo(){let r=window.document.body.scrollHeight,e=window.innerHeight;return Math.ceil((window.scrollY+e)/r*100)}function wo(){sn()}function sn(){let r=window.fetch;try{window.fetch=async function(e,t){try{await an(e,t)}catch(i){I(i,"modify-graphql-request",{extra:{body:JSON.stringify(t?.body)}})}return r(e,t)}}catch(e){console.warn("Fail to override fetch.",`Cooee won't be able to track "Buy Now Clicked" KPI.`),d.error(e)}d.verbose("Securely overwritten window.fetch method for graphql query")}async function an(r,e){let t=typeof r=="string"?r:r instanceof Request?r.url:"";if(!(t.includes("graphql.json")&&e?.method==="POST")||!e.body)return;let i;if(typeof e.body=="string")try{i=JSON.parse(e.body)}catch{return}else i=e.body;i?.variables?.input&&(d.verbose("Intercepted fetch request of:",t),i?.query.includes("cartCreate")&&(e.body=await ln(i),cn()))}async function ln(r){let e=r.variables.input.attributes??[],t=await qr("Buy Now");return r.variables.input.attributes=[...e,...t],JSON.stringify(r)}function cn(){let r=R().currentItem;if(!r)return;let e=new D("Buy Now Clicked",{items:[r]});A(e)}var $e=class{constructor(e,t){this.selectors=e;this.eventName=t;this.selectorString=e.join(",")}static INSTANCE;elements;selectorString;clickListenerCallback=e=>{let t=e.currentTarget,i=new D(this.eventName,{class:t.className||void 0,tagName:t.tagName||void 0,id:t.id||void 0});A(i),this.removeClickListener(this.clickListenerCallback)};listenSilently(){this.listen().catch(e=>d.error(e))}async listen(){this.elements=await $r(this.selectorString),this.elements.forEach(e=>{e.addEventListener("click",this.clickListenerCallback)})}removeClickListener(e){this.elements?.forEach(t=>{t.removeEventListener("click",e)})}};var Yt=class r extends $e{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(r.selectors,"Item Thumbnail Clicked")}static getInstance(){return this.INSTANCE||(this.INSTANCE=new r),this.INSTANCE}};var Jt=class r extends $e{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(r.selectors,"Review Clicked")}static getInstance(){return this.INSTANCE||(this.INSTANCE=new r),this.INSTANCE}};var mn=[".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 bo(){Pe(()=>{d.verbose("Execution order:","document ready"),pn()})}function pn(){let r=window.location.hash?.substring(1);if(r)if(r.includes("initiate-checkout")){document.dispatchEvent(new Event("letscooee:outbound:third-party-initiate-checkout"));let e=document.querySelector(mn);if(!e){d.verbose("No clickable cart checkout button found");return}d.verbose("Clickable cart checkout button found",e),e.click()}else r.includes("open-cart-drawer")&&q.get().open()}function yo(){window.addEventListener("kp-modal:opened",()=>{R().isGoKwikPopupOpen=!0}),window.addEventListener("user-loggedin",r=>{let{token:e}=r.detail;e&&xt({goKwikToken:e})}),window.gokwikSdk?Co():window.addEventListener("gokwikLoaded",Co)}function Co(){window.gokwikSdk&&window.gokwikSdk.on("checkout_initiated",async()=>{let r=await P.getCurrent().getNormalisedCart(),e={via:"GoKwik",items:r.items,cartToken:r.token,amount:{value:r.amount,currency:r.currency}},t=new D("Checkout Started",e);A(t)})}var ft=class ft extends Hr{};Or(ft,"storeName","app"),ft.storage=Fr(ft.storeName);var Qt=ft;var w=class{static globalRef;static authenticated;static async initForMerchantWebsiteOnly(e){if(!window.cooeeSDKPreview){if(d.info("Initialising SDK"),Ai(navigator.userAgent)){d.info("This seems to be a bot. Disabling SDK");return}this.initGlobalReference(e),await vi(),this.autoAuthenticate(),new Xt().meddle(),Jr(),ht(!0),Ft(),dn(),wi(),yi(),wo(),bo(),uo(),Jt.getInstance().listenSilently(),Yt.getInstance().listenSilently(),yo(),gn(),Yr(),Qt.remove("conf").catch(t=>{d.error("Fail to remove App Config from local storage",t)})}}static async initForAll(){this.injectWidgetAssets()}static initGlobalReference(e){window.CooeeSDK||Y(window,"CooeeSDK",{}),this.globalRef=window.CooeeSDK,Y(this.globalRef,"config",new we),Y(this.globalRef,"runtimeData",{sdkLoadTime:e,jsLoadTime:new Date,lastEnterActive:new Date}),Y(this.globalRef,"uaParser",new G,!0),Y(this.globalRef,"cart",P.getCurrent()),Y(this.globalRef,"cartChange$",Ci()),Y(this.globalRef,"cartDrawerToggle$",q.cartDrawerToggle$.asObservable()),d.verbose("Global reference initialised"),new It(()=>{this.globalRef.uaParser=new G})}static injectWidgetAssets(){ki(fe.widgetURL,"cooee-widget-sdk"),or()}static autoAuthenticate(){let e=ni();e&&this.authenticate({shopifyShop:e})}static authenticate(e){if(this.authenticated)return;d.info("Begin auth after \u23F0",ke(),"of SDK load");let t=e.appID?.trim(),i=e.shopifyShop;if((tr(t)||t.length!==24)&&tr(i)){d.warn("Cooee App ID or Shop name is not configured");return}this.authenticated=!0,fi(e)}static sendEvent(e,t,i){let o=new D(e,t,i?.triggerData);i?.occurred&&(o.occurred=i.occurred),A(o)}static updateProfile(e){for(let t in e)if(t.toLowerCase().startsWith("ce "))throw new Error("User property name cannot start with 'CE '");xt(e)}static setPageName(e){if(!e)return;let t=R(),i=t.pageName;if(e===i)return;if(t.pageName=e,Mr.some(a=>e.includes(a))){_r();return}let o={};i&&(o.ps=i);let s=new D("CE Screen View",o);s.occurred=t.jsLoadTime,A(s),_r(s.occurred)}static previewPopup(e,t){import("./renderer-TBPM7OV3.js").then(({FreeformRenderer:i})=>{new i(t).render(e)})}static previewWidget(e){new k(new $(e)).renderSilently()}};function dn(){window.CooeeSDK.cartChange$.subscribe(()=>{ht()})}function gn(){if(window.opener){try{window.opener.postMessage({action:"COOEE_READY_FOR_PREVIEW"},"*")}catch(r){d.error(r)}window.addEventListener("message",r=>{if(d.verbose("Received event",r),!r.origin.includes("letscooee.com")&&!r.origin.includes("localhost"))return;let e=r.data;typeof e=="object"&&(e.action==="POPUP_PREVIEW"?(w.previewPopup(e.engagementTrigger),r.source?.postMessage({action:"PREVIEW_SUCCESSFUL"},r.origin)):e.action==="WIDGET_PREVIEW"&&(w.previewWidget(e.engagementTrigger),r.source?.postMessage({action:"PREVIEW_SUCCESSFUL"},r.origin)))})}}performance.mark("cooee-sdk-start");var Eo=new Date;Gr();Xr();d.verbose("Execution order:","top");window.cooeeShopifyScriptLoaded||(window.cooeeShopifyScriptLoaded=!0,(async()=>(d.verbose("Execution order:","IIFE start"),await w.initForMerchantWebsiteOnly(Eo),await w.initForAll(),performance.measure("cooee-sdk-init","cooee-sdk-start"),un(),d.verbose("Execution order:","IIFE end")))());d.verbose("Execution order:","bottom");function un(){Kr()&&import("./sdk-debug-logs-XNSWT65Q.js").then(({printAllDebugLogs:r})=>r(Eo))}
@@ -0,0 +1 @@
1
+ import{A as Y,B as K,C as X,D as j,E as Z,F as J,G as q,N as Q,O as ee,P as C,aa as k,ba as g,ca as i,da as te,e as d,ga as re,h as G,ha as ie,i as V,ka as ne,l as U,na as x,s as z,y as $,z as W}from"./chunk-RF2WNRIW.js";import{G as _,O as m,e as B,r as O,x as F,z as N}from"./chunk-NOZTSVSX.js";import{a as s,b as y}from"./chunk-U4XWPFUW.js";var L=class{loadedFonts=[];async loadAllFonts(e){e.elems?.forEach(t=>{t instanceof Y&&this.loadFamily(t.typography?.fam)})}async loadFamily(e){if(!e?.fonts||this.loadedFonts.indexOf(e.name)>-1)return;let t=[];e.fonts.forEach(n=>{if(n.url){let l=new FontFace("cooee"+e.name,n.getURL(),n.getFontDescriptor());t.push(l.load())}}),this.loadedFonts.push(e.name),(await Promise.all(t)).forEach(n=>{document.fonts.add(n)})}};var S=class{static updateIdentity(e){if(!this.isInstalled())return;let t={};e.email&&(t.email=e.email),e.mobile&&(t.phone_number=e.mobile),m.verbose("Sending email/mobile to Klaviyo"),window.klaviyo.push(["identify",t])}static isInstalled(){return window.klaviyo&&typeof window.klaviyo=="object"}};var H=class{action;triggerContext;constructor(e,t){this.action=e,this.triggerContext=t}async execute(){let e=this.containsCTA()?"CE Trigger Clicked":"CE Trigger Closed";switch(this.action.at!==d.SUBMIT_FORM&&await this.closeTriggerAndSendEvent(e),this.action.at){case d.ACCEPT_POPUP:break;case d.GO_TO_URL:this.gotoURLAction();break;case d.SHARE:this.shareAction();break;case d.SUBMIT_FORM:await this.collectFormData();break;case void 0:case d.OPEN_CART:break;default:m.error("Received an invalid ClickActionType: ",this.action.at);return}}externalAction(){this.action.ext?.u&&window.open(this.action.ext.u,"_blank")?.focus()}gotoURLAction(){if(this.action.gu?.u){let e=this.action.gu.u;N(e)||(e=`//${e}`),window.open(e,"_self")}}async closeTriggerAndSendEvent(e,t){this.triggerContext.closeInApp(e,t),await this.dispatchEvent()}shareAction(){if(!this.action.share)return;if(!navigator.share){m.warn("Navigator.share is not compatible with this browser");return}navigator.share({text:this.action.share.text,title:"Share"}).then(t=>console.log(t)).catch(t=>console.error(t))}containsCTA(){return this.action.at&&this.action.at!==d.REJECT_POPUP?!0:!(this.isEmpty(this.action.custKV)&&this.isEmpty(this.action.up))}isEmpty(e){return e?Object.keys(e).length===0:!0}async collectFormData(){let e={};for(let t of this.triggerContext.inputs){if(!t.isValid)return;let n=document.getElementById(t.id).value;t.type===51?e.email=n:t.type===52&&(e.mobile=n)}await this.closeTriggerAndSendEvent("CE Form Submitted",{form:e}),this.action.applyDiscount&&_("Coupon applied on cart"),S.updateIdentity(e)}async dispatchEvent(){let e=this.triggerContext.triggerData,t={clickAction:this.action,items:this.triggerContext.selectedEmbeddedItems??e.embeddedItems??e.items,collections:e.collections,triggerData:e};await new ne().process(t);let r={action:this.containsCTA()?"CLICKED":"CLOSED"};document.dispatchEvent(new CustomEvent("letscooee:outbound:popup-activities",{detail:r}))}};var a=class{renderer=I.get();parentHTMLEl;inappElement;inappHTMLEl;triggerContext;stylesConverter;scalingFactor;constructor(e,t,r){this.parentHTMLEl=e,this.inappElement=t,this.triggerContext=r,this.stylesConverter=new ie(this.renderer.getScalingFactor())}getHTMLElement(){return this.inappHTMLEl}insertElement(){this.parentHTMLEl.appendChild(this.inappHTMLEl)}processCommonBlocks(){this.processWidthAndHeight(),this.processPositionBlock(),this.processTransformBlock(),this.processTransparency(),this.processShadow(),this.registerAction();let e=y(s(s(s(s({},this.getDisplayStyles()),this.getSpaceStyles()),this.getBorderStyles()),this.getBackgroundStyles()),{boxSizing:"border-box",outline:"none"});g(this.inappHTMLEl,e)}getDisplayStyles(){return{display:"block"}}processWidthAndHeight(){this.inappElement.w&&i(this.inappHTMLEl,"width",this.stylesConverter.getSizePx(this.inappElement.w)),this.inappElement.h&&i(this.inappHTMLEl,"height",this.stylesConverter.getSizePx(this.inappElement.h))}processPositionBlock(){let e={position:"absolute",left:this.stylesConverter.getSizePx(this.inappElement.x),top:this.stylesConverter.getSizePx(this.inappElement.y)};g(this.inappHTMLEl,e)}getBorderStyles(){return this.stylesConverter.getBorderStyles(this.inappElement.br)}getSpaceStyles(){return this.stylesConverter.getSpaceStyles(this.inappElement.spc)}processTransparency(){let e=this.inappElement.alpha;if(!isNaN(e)){let t=(e/100).toFixed(2);i(this.inappHTMLEl,"opacity",t)}}processShadow(){let e=this.inappElement.shd;e?i(this.inappHTMLEl,"box-shadow",e.getStyle(this.scalingFactor)):i(this.inappHTMLEl,"box-shadow","unset")}processTransformBlock(){let e=new G(this.inappElement.trf);e&&e.rotate&&i(this.inappHTMLEl,"transform",`rotate(${e.rotate}deg)`)}registerAction(){let e=this.inappElement.clc;!e||Object.keys(e).length===0||(this.inappHTMLEl.addEventListener("click",t=>{t.stopPropagation(),new H(e,this.triggerContext).execute()}),i(this.inappHTMLEl,"cursor","pointer"))}getBackgroundStyles(){return this.stylesConverter.getBackgroundStyles(this.inappElement.bg)}};var p=class extends a{constructor(e,t,r){super(e,t,r)}processCommonBlocks(){super.processCommonBlocks(),this.processFontBlock(),this.processAlignment()}processFontBlock(){let e={},t=this.inappElement.typography;return t&&(e.fontSize=this.stylesConverter.getSizePx(t.fs),e.fontFamily="cooee"+t.fam?.name,e.lineHeight=`${t.lh}`,e.letterSpacing=t.letterSpacing),this.stylesConverter.getColourStyles(this.inappElement.color,"color",e),g(this.inappHTMLEl,e),e}processPart(e,t){let r=[];t.u&&r.push("underline"),t.st&&r.push("line-through"),r.length||r.push("normal"),i(e,"font-weight",t.b?"bold":"normal"),i(e,"font-style",t.i?"italic":"normal"),i(e,"text-decoration",r.join(" ")),i(e,"color",t.c??"inherit"),i(e,"font-family","inherit")}processAlignment(){let e=this.inappElement.typography.ta,t=e?V[e]?.toLowerCase():this.inappElement.typography.alignment;t||(t="start"),i(this.inappHTMLEl,"text-align",t)}};var u=class extends p{constructor(e,t,r){super(e,t,r),this.inappHTMLEl=document.createElement("div"),this.insertElement()}render(){this.inappElement.parts?.forEach(e=>{let t=document.createElement("span");t.innerHTML=e.txt?.toString()?.replace(/\n/g,"<br />"),this.processPart(t,e),this.inappHTMLEl.appendChild(t)}),this.processCommonBlocks()}};var f=class extends a{constructor(e,t,r){super(e,t,r),this.inappHTMLEl=document.createElement("div"),this.insertElement()}render(){this.processCommonBlocks()}};var E=class extends a{constructor(e,t,r){super(e,t,r),this.inappHTMLEl=document.createElement("img"),this.insertElement()}render(){this.inappHTMLEl.setAttribute("src",this.inappElement.src),i(this.inappHTMLEl,"max-width","none"),i(this.inappHTMLEl,"max-height","none"),i(this.inappHTMLEl,"margin","0 auto"),this.processCommonBlocks()}};var v=class o extends a{constructor(t,r,n){super(t,r,n);this.parent=t;this.inappHTMLEl=document.createElement("div")}static MAX_Z_INDEX="2147483647";render(){return this.parent||this.renderer.removeInApp(),this.insertElement(),this.processCommonBlocks(),this.inappHTMLEl.classList.add("cooee-wrapper"),this.inappHTMLEl.classList.add(this.triggerContext.rootClassName),i(this.inappHTMLEl,"z-index",o.MAX_Z_INDEX),this.inappHTMLEl}getBackgroundStyles(){return this.inappElement.cover?super.getBackgroundStyles():{}}processWidthAndHeight(){let t=this.inappElement.cont;if(this.inappElement.cover)this.renderer.isParentNotBody()?(i(this.inappHTMLEl,"width","100%"),i(this.inappHTMLEl,"height","100%")):(i(this.inappHTMLEl,"width","100vw"),i(this.inappHTMLEl,"height","100vh")),i(this.inappHTMLEl,"top","0"),i(this.inappHTMLEl,"left","0");else{let r=this.inappElement.spc,n=this.stylesConverter.getScaledSize(t.w)+r.getHorizontal(),l=this.stylesConverter.getScaledSize(t.h)+r.getVertical();i(this.inappHTMLEl,"width",n+"px"),i(this.inappHTMLEl,"height",l+"px")}}getSpaceStyles(){return{padding:this.inappElement.spc.getPaddingCSS()}}getDisplayStyles(){return s(s({display:"flex"},this.inappElement.getStylesForWrapper()),this.inappElement.getFlexStylesForContainer())}processPositionBlock(){this.renderer.isParentNotBody()?i(this.inappHTMLEl,"position","absolute"):i(this.inappHTMLEl,"position","fixed")}getBorderStyles(){return{}}processTransparency(){}processTransformBlock(){}processShadow(){}};var se="cooee-container",w=class extends a{constructor(e,t,r){super(e,t,r),this.inappHTMLEl=document.createElement("div"),this.insertElement()}render(){return this.processCommonBlocks(),i(this.inappHTMLEl,"position","relative"),i(this.inappHTMLEl,"overflow","hidden"),this.inappHTMLEl.classList.add(se),this}};var A=class o extends p{static DAYS="Days";static HOURS="Hours";static MINUTES="Minutes";static SECONDS="Seconds";elements;spans=[];constructor(e,t,r){super(e,t,r),this.inappHTMLEl=document.createElement("div"),this.insertElement()}render(){this.addTimerChildren(),this.processAndStartTimer(),this.processCommonBlocks();let e=y(s(s(s({flex:"1 1 0"},this.stylesConverter.getBackgroundStyles(this.inappElement.bg)),this.stylesConverter.getBorderStyles(this.inappElement.br)),this.stylesConverter.getSpaceStyles(this.inappElement.spc)),{marginLeft:this.stylesConverter.getSizePx(this.inappElement.gap),marginRight:this.stylesConverter.getSizePx(this.inappElement.gap)});this.addStylesToTimer(e)}getBackgroundStyles(){return{}}processFontBlock(){let e=super.processFontBlock();return this.stylesConverter.getColourStyles(this.inappElement.color,"color",e),this.addStylesToTimer(e),e}getSpaceStyles(){return{}}getBorderStyles(){return{}}getDisplayStyles(){return{display:"flex",flexWrap:"nowrap",justifyContent:"center"}}addStylesToTimer(e){this.elements.forEach(t=>g(t,e))}addTimerChildren(){let e=this.inappElement.show;this.elements=[],e.day&&this.elements.push(this.getChild(o.DAYS)),e.hour&&this.elements.push(this.getChild(o.HOURS)),e.minute&&this.elements.push(this.getChild(o.MINUTES)),e.second&&this.elements.push(this.getChild(o.SECONDS)),this.elements.forEach(t=>this.inappHTMLEl.appendChild(t))}getChild(e){let t=document.createElement("div"),r=document.createElement("span"),n=document.createElement("span");return n.innerText=e,r.innerText="00",r.id=`lc-${e}`,i(n,"font-size","0.5em"),i(n,"text-align","center"),i(n,"font-family","inherit"),i(r,"text-align","center"),i(r,"font-family","inherit"),this.inappElement.lblPos==="start"?(t.appendChild(n),t.appendChild(r)):(t.appendChild(r),t.appendChild(n)),i(t,"display","flex"),i(t,"flex-direction",this.inappElement.horizontal?"":"column"),i(t,"justify-content","center"),i(t,"align-items","center"),i(t,"gap","5px"),this.spans.push(r),t}processAndStartTimer(){let e=this.inappElement.timer.start(this.inappElement.timerType,t=>{this.spans.forEach(r=>{r.id===`lc-${o.DAYS}`?r.innerText=String(t.days).padStart(2,"0"):r.id===`lc-${o.HOURS}`?r.innerText=String(t.hours).padStart(2,"0"):r.id===`lc-${o.MINUTES}`?r.innerText=String(t.minutes).padStart(2,"0"):r.id===`lc-${o.SECONDS}`&&(r.innerText=String(t.seconds).padStart(2,"0"))})});this.triggerContext.intervals.push(e)}};var b=class extends p{constructor(e,t,r){super(e,t,r),this.inappHTMLEl=document.createElement("select"),this.insertElement()}render(){i(this.inappHTMLEl,"background","#ffffff00"),i(this.inappHTMLEl,"outline","none"),this.processCommonBlocks(),this.addListener(this.inappHTMLEl),this.addOptions()}addListener(e){this.triggerContext.selectedEmbeddedItems?.length||this.updateItems(this.triggerContext.triggerData.items[0].vars[0]),e.addEventListener("click",t=>{t.stopPropagation()}),e.addEventListener("change",()=>{let t=new z(JSON.parse(e.value));this.updateItems(t)})}updateItems(e){let t=this.triggerContext.triggerData.items[0];this.triggerContext.selectedEmbeddedItems=[t.toEmbed(e)];let r=this.parentHTMLEl.querySelector("#coo-13");if(!r)return;let n=e.imgs[0]??t.imgs?.at(0);n?.url&&r.setAttribute("src",n.url)}addOptions(){let e=this.triggerContext.triggerData.items,t=this.inappHTMLEl;if(!e?.length){t.add(this.createOption(this.inappElement.placeholderText));return}let r=this.triggerContext.selectedEmbeddedItems?.at(0);e[0].vars.forEach(n=>{t.add(this.createOption(n.name??"Default",n,n.mID===r?.vID))})}createOption(e,t,r){let n=document.createElement("option");return n.text=e,n.value=JSON.stringify(t),r&&(n.selected=!0),t||(n.disabled=!0),n}};var T=class extends p{borderColor="";constructor(e,t,r){super(e,t,r),this.inappHTMLEl=document.createElement("input"),this.insertElement()}render(){let e=this.setInputType();this.inappHTMLEl.setAttribute("placeholder",this.inappElement.placeholderText),i(this.inappHTMLEl,"background","#ffffff00"),i(this.inappHTMLEl,"outline","none"),this.inappHTMLEl.addEventListener("click",t=>{t.stopPropagation()}),this.processCommonBlocks(),this.addListener(this.inappHTMLEl,e),this.triggerContext.addInputField(e,this.inappElement.t)}};var R=class o extends T{static EMAIL_REGEX=/^[a-zA-Z0-9.!#$%&'*+/=?^_`{|}~-]+@[a-zA-Z0-9-]+(?:\.[a-zA-Z0-9-]+)*$/;constructor(e,t,r){super(e,t,r)}setInputType(){let e=`coo-${this.inappElement.t}`;return this.inappHTMLEl.setAttribute("type","email"),this.inappHTMLEl.setAttribute("id",e),e}addListener(e,t){e.addEventListener("keydown",r=>{this.borderColor||(this.borderColor=this.inappHTMLEl.style.borderColor),e.value.match(o.EMAIL_REGEX)?(i(this.inappHTMLEl,"border-color",this.borderColor),this.triggerContext.updateValidation(t,!0)):(i(this.inappHTMLEl,"border-color","red"),this.triggerContext.updateValidation(t,!1)),r.stopPropagation()})}};var D=class o extends T{static MOBILE_REGEX=/^\d+$/;constructor(e,t,r){super(e,t,r)}setInputType(){let e=`coo-${this.inappElement.t}`;return this.inappHTMLEl.setAttribute("type","tel"),this.inappHTMLEl.setAttribute("id",e),e}addListener(e,t){e.addEventListener("keydown",r=>{this.borderColor||(this.borderColor=this.inappHTMLEl.style.borderColor),e.value.match(o.MOBILE_REGEX)?(i(this.inappHTMLEl,"border-color",this.borderColor),this.triggerContext.updateValidation(t,!0)):(i(this.inappHTMLEl,"border-color","red"),this.triggerContext.updateValidation(t,!1)),r.stopPropagation()})}};var P=class extends E{constructor(e,t,r){super(e,t,r)}render(){super.render(),this.inappHTMLEl.setAttribute("id",`coo-${this.inappElement.type}`)}};var I=class o{static DOCUMENT_STANDARD_MODE="CSS1Compat";static ACTIVE_TRIGGER_DATA;static _instance;parent;rootContainer;containerHTMLElement;ian;scalingFactor=1;triggerContext;resizeListener;cartDrawerToggleSubscription;constructor(e){this.resizeListener=()=>this.screenResized(),this.setParentContainer(e)}static get(){return o._instance}render(e){this.renderEngagement(new Q(e))}getScalingFactor(){return this.scalingFactor}calculateScalingFactor(e){let t=e.max,r=e.cont.w,n=e.cont.h,l=e.spc,c=this.getWidth(),h=this.getHeight();t&&(c=c?Math.min(c,t):t,h=h?Math.min(h,t):t),h&&(c-=l.getHorizontal(),h-=l.getVertical(),c/h<r/n?this.scalingFactor=c/r:this.scalingFactor=h/n,this.scalingFactor=Math.min(this.scalingFactor,1))}setParentContainer(e){this.parent=e||document.body,this.isParentNotBody()&&i(this.parent,"position","relative")}isParentNotBody(){return this.parent&&this.parent!==document.body}getWidth(){return this.isParentNotBody()?this.parent.clientWidth:document.compatMode===o.DOCUMENT_STANDARD_MODE?document.documentElement.clientWidth:window.innerWidth}getHeight(){return this.isParentNotBody()?this.parent.clientHeight:document.compatMode===o.DOCUMENT_STANDARD_MODE?document.documentElement.clientHeight:window.innerHeight}async renderEngagement(e){this.triggerContext=new U(new Date,e),this.triggerContext.onClose(t=>{this.closeInApp(t)}),this.ian=e.ian,(k()||e.previewType==="mobile")&&this.ian.overrideForMobileView(),await this.preloadImages(e),e.shouldDelay()?window.setTimeout(()=>{this.withCartDrawerClosed()},e.getDelaySeconds()):this.withCartDrawerClosed()}withCartDrawerClosed(){if(!re.get().isOpen()){this.startRenderingOnce();return}this.cartDrawerToggleSubscription=window.CooeeSDK.cartDrawerToggle$.subscribe(({open:t})=>{!t&&this.startRenderingOnce()})}startRenderingOnce(){if(!this.shouldSkipCampaign()){o.ACTIVE_TRIGGER_DATA=this.triggerContext.triggerData,o._instance=this;try{this.startRendering()}catch(e){O(e,"render-popup",{triggerContext:this.triggerContext});return}this.sendTriggerDisplayed(),k()||window.addEventListener("resize",this.resizeListener),this.cartDrawerToggleSubscription?.unsubscribe()}}shouldSkipCampaign(){let e=this.triggerContext.triggerData;if(!e.previewType&&o.ACTIVE_TRIGGER_DATA){let r={triggerShown:new ee(o.ACTIVE_TRIGGER_DATA??{})};return this.skipTrigger(e,r),!0}if(F().isGoKwikPopupOpen)return this.skipTrigger(e,{reason:"GoKwik popup is open"}),!0;let t=B.find(r=>!!document.querySelector(r.identifier));return t?(this.skipTrigger(e,{reason:`${t.gateway} modal is open`}),!0):!1}startRendering(){this.calculateScalingFactor(this.ian),this.rootContainer=new v(this.parent,this.ian,this.triggerContext).render();try{this.renderContainer(this.triggerContext)}catch(e){throw m.error(e),e}}sendTriggerDisplayed(){let e={};this.triggerContext.triggerData.items?.length&&(e.promotedMIDs=this.triggerContext.triggerData.items?.map(n=>n.mID));let t=new C("CE Trigger Displayed",e,this.triggerContext.triggerData);x(t);let r={action:"DISPLAYED"};document.dispatchEvent(new CustomEvent("letscooee:outbound:popup-activities",{detail:r}))}sendTriggerClosed(e){let t=e.eventName;delete e.eventName;let r=new C(t,e,this.triggerContext.triggerData);r.name==="CE Trigger Clicked"&&(r.items=this.triggerContext.selectedEmbeddedItems??this.triggerContext.triggerData.items?.map(n=>n.toEmbed())),x(r)}addEnterAnimation(e){this.containerHTMLElement.animate(e.getEnterAnimation(),{duration:500})}renderElement(e,t,r){t instanceof Z?new R(e,t,r).render():t instanceof J?new D(e,t,r).render():t instanceof K?new u(e,t,r).render():t instanceof q?new P(e,t,r).render():t instanceof W?new E(e,t,r).render():t instanceof $?new f(e,t,r).render():t instanceof X?new A(e,t,r).render():t instanceof j?new b(e,t,r).render():m.error("Unsupported element type- "+t.type)}renderContainer(e){let t=this.ian?.cont;t&&(this.containerHTMLElement=new w(this.rootContainer,t,e).render().getHTMLElement(),new L().loadAllFonts(this.ian),this.ian.elems?.forEach(async r=>{await this.renderElement(this.containerHTMLElement,r,e)}),this.addEnterAnimation(this.ian.anim))}closeInApp(e){let t=this.ian.anim.getExitAnimation();this.sendTriggerClosed(e),o.ACTIVE_TRIGGER_DATA=void 0;let r=this.containerHTMLElement.animate(t,{duration:500,easing:"ease-in-out"});r.onfinish=()=>{this.removeInApp(),window.removeEventListener("resize",this.resizeListener)}}screenResized(){this.removeInApp(),this.startRendering()}removeInApp(){let e=document.querySelector(`.${this.triggerContext.rootClassName}`);e&&e.parentElement.removeChild(e)}skipTrigger(e,t){let r=new C("CE Campaign Rejected",t,e);x(r)}async preloadImages(e){let t=e.ian;if(!t)return;let r=[];t.elems.forEach(n=>{let l=n.bg?.img?.src;if(l&&r.push(l),n.t===1){let c=n.src;if(!c)return;r.push(c)}}),t.bg?.img?.src&&r.push(t.bg.img.src),t.cont.bg?.img?.src&&r.push(t.cont.bg.img.src),await Promise.all(r.map(n=>te(n)))}};export{I as FreeformRenderer};
@@ -0,0 +1 @@
1
+ import{O as n,w as i}from"./chunk-NOZTSVSX.js";import"./chunk-U4XWPFUW.js";var m="\xA0\xA0\xA0",M=["/v1/engagement/cart-widgets","/v1/engagement/page-widgets","/v1/event/validate-session"];function g(e){if(e===0)return"0 B";let o=1024,t=["B","KB","MB","GB"],a=Math.floor(Math.log(e)/Math.log(o));return`${(e/Math.pow(o,a)).toFixed(2)} ${t[a]}`}function z(e){let o=performance.getEntriesByType?.("resource");if(o)return o.filter(t=>t.name.includes(e)).pop()}function D(e,o){if(!e){n.info(`\u{1F4E6} API Resource Metrics for ${o}: Not available`);return}n.info("\u{1F4E6} \u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550 API Resource Metrics \u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550"),n.info(`URL: ${o}`),n.info(`Duration: ${i(e.duration)}`);let t=e.transferSize===0;if(n.info(`Served from: ${t?"\u{1F4BE} Cache (disk/memory)":"\u{1F310} Network"}`),!t){n.info(`Transfer size: ${g(e.transferSize)}`),n.info(`Encoded size: ${g(e.encodedBodySize)}`),n.info(`Decoded size: ${g(e.decodedBodySize)}`);let s=(1-e.encodedBodySize/e.decodedBodySize)*100;s>0&&n.info(`Compression ratio: ${s.toFixed(1)}%`)}let a=e.redirectEnd-e.redirectStart,c=e.fetchStart-e.startTime,r=e.domainLookupEnd-e.domainLookupStart,d=e.connectEnd-e.connectStart,u=e.secureConnectionStart>0?e.connectEnd-e.secureConnectionStart:0,S=e.connectEnd===e.connectStart?e.requestStart-e.fetchStart-r:e.requestStart-e.connectEnd,T=e.responseStart-e.requestStart,v=e.responseEnd-e.responseStart;n.info(`Timing breakdown (${i(e.duration)} total):`),a>0&&n.info(`${m}Redirect: ${i(a)}`),c>0&&n.info(`${m}Queued: ${i(c)}`),S>0&&n.info(`${m}Stalled: ${i(S)}`),r>0&&n.info(`${m}DNS lookup: ${i(r)}`),d>0&&n.info(`${m}TCP connect: ${i(d)}`),u>0&&n.info(`${m}SSL handshake: ${i(u)}`),n.info(`${m}Server waiting (TTFB): ${i(T)}`),n.info(`${m}Content download: ${i(v)}`);let $=e.serverTiming;if($?.length){n.info("Server-Timing:");for(let s of $){let l=s.description||s.name;s.duration>0?n.info(`${m}${l}: ${i(s.duration)}`):n.info(`${m}${l}: ${s.duration}`)}}n.info("\u{1F4E6} \u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550")}function P(){let e=new Set;for(let t of M){let a=z(t);a?D(a,t):e.add(t)}if(!e.size||typeof PerformanceObserver>"u")return;let o=new PerformanceObserver(t=>{for(let a of t.getEntries())for(let c of e)if(a.name.includes(c)){D(a,c),e.delete(c);break}e.size||o.disconnect()});o.observe({type:"resource",buffered:!1})}function f(e){return e?new Date(e).toLocaleString("en-US",{year:"numeric",month:"2-digit",day:"2-digit",hour:"2-digit",minute:"2-digit",second:"2-digit",fractionalSecondDigits:3,hour12:!1,timeZoneName:"short"}):"N/A"}function E(){let e=performance.getEntriesByType?.("resource");if(e)return e.find(o=>o.name.includes("@letscooee/web-sdk")&&o.name.includes("main.min.js"))}function H(e){window.cooeeSDKPreview||(document.readyState==="complete"?setTimeout(()=>w(e),100):window.addEventListener("load",()=>{setTimeout(()=>w(e),100)}))}function w(e){try{N(e),P()}catch(o){console.error("Failed to print debugging logs",o)}}function N(e){let o=performance.getEntriesByType?.("navigation")?.[0],t=window.CooeeSDK?.pageLoadTime,a=E(),c=performance.timeOrigin||0,r=o?.responseEnd?c+o.responseEnd:void 0,d=c,u=o?.domContentLoadedEventEnd||0,p=o?.loadEventEnd||0,S=r&&r>0?r:t?t.getTime():0,T=r&&r>0?"HTML download complete":"inline script execution",v=u>0?d+u:void 0,$=p>0?d+p:void 0;n.info("\u23F1\uFE0F \u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550 Performance Timing Report \u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550"),n.info("\u{1F4C5} Absolute Timestamps (Local Time):"),n.info(" Note: Inline script can execute during HTML download (incremental parsing)"),n.info(""),n.info(` 1. Navigation started: ${f(d)}`);let s=t?t.getTime():0;if(r&&r>0&&s?s<r?(n.info(` 2. Inline script executed: ${f(s)} (during HTML parsing)`),n.info(` 3. HTML download complete: ${f(r)}`)):(n.info(` 2. HTML download complete: ${f(r)}`),n.info(` 3. Inline script executed: ${f(s)}`)):r&&r>0?n.info(` 2. HTML download complete: ${f(r)}`):s&&n.info(` 2. Inline script executed: ${f(s)}`),n.info(` 4. SDK module loaded: ${f(e.getTime())} (from CDN)`),v&&n.info(` 5. DOMContentLoaded: ${f(v)}`),$&&n.info(` 6. Page fully loaded: ${f($)}`),n.info(""),n.info("\u23F1\uFE0F Relative Timings:"),r&&r>0&&d){let l=r-d;n.info(` Shopify backend + HTML download: ${i(l)} (not Cooee SDK)`)}if(S){let l=e.getTime()-S;if(l<0){let h=s>0?s:d,b=s>0?"inline script execution":"navigation start",B=e.getTime()-h;n.info(` SDK module load time: ${i(B)} after ${b}`),n.info(` (Note: Using earlier baseline because SDK loaded before ${T})`)}else n.info(` SDK module load time: ${i(l)} after ${T}`),n.info(` (Baseline: ${T} at ${f(S)})`);let L=e.getTime()-d;n.info(` \u{1F3AF} Total SDK load time: ${i(L)} (from navigation start to SDK ready)`)}u&&u>0&&n.info(` DOMContentLoaded: ${i(u)} after navigation start`),p&&p>0&&n.info(` Page fully loaded: ${i(p)} after navigation start`),C(a),n.info("\u23F1\uFE0F \u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550")}function C(e){if(!e){n.info(""),n.info("\u{1F4E6} SDK Resource Metrics: Not available");return}n.info(""),n.info("\u{1F4E6} SDK Resource Metrics:"),n.info(` URL: ${e.name}`),n.info(` Download duration: ${i(e.duration)}`);let o=e.transferSize===0;if(n.info(` Served from: ${o?"\u{1F4BE} Cache (disk/memory)":"\u{1F310} Network"}`),!o){n.info(` Transfer size: ${g(e.transferSize)}`),n.info(` Encoded size: ${g(e.encodedBodySize)}`),n.info(` Decoded size: ${g(e.decodedBodySize)}`);let t=(1-e.encodedBodySize/e.decodedBodySize)*100;t>0&&n.info(` Compression ratio: ${t.toFixed(1)}%`)}if(e.domainLookupEnd>0){let t=e.domainLookupEnd-e.domainLookupStart,a=e.connectEnd-e.connectStart,c=e.responseStart-e.requestStart,r=e.responseEnd-e.responseStart;n.info(" Timing breakdown:"),t>0&&n.info(` DNS lookup: ${i(t)}`),a>0&&n.info(` TCP connect: ${i(a)}`),c>0&&n.info(` Request: ${i(c)}`),r>0&&n.info(` Response: ${i(r)}`)}}export{H as printAllDebugLogs};
@@ -1 +1 @@
1
- import{a as C,b}from"./chunk-VOVXCOBB.js";import{a as g,b as h,d as u,g as f}from"./chunk-2AHALCF3.js";import{Ba as l,Qa as c,X as m,pa as n,qa as i,ra as r,v as s}from"./chunk-DTWV2VE6.js";import"./chunk-U4XWPFUW.js";var _=class d{dialogRef=s(u);eventData=s(h);triggerData=s(g)().triggerData;onShareAndClose(p,o){p.stopPropagation();let{url:t,text:a}=b(this.triggerData,this.eventData.video,o!=="Clipboard");switch(o){case"Whatsapp":window.open(`https://wa.me/?text=${a}%20${t}`,"_blank","noopener,noreferrer");break;case"X(Twitter)":window.open(`https://x.com/intent/post?text=${a}&url=${t}`,"_blank","noopener,noreferrer");break;case"Clipboard":navigator.clipboard.writeText(t).catch(()=>{let e=document.createElement("textarea");e.value=t,document.body.appendChild(e),e.select(),document.execCommand("copy"),document.body.removeChild(e)});break;default:}o&&C(this.triggerData,this.eventData.video,this.eventData.index,o),this.dialogRef.close()}static \u0275fac=function(o){return new(o||d)};static \u0275cmp=m({type:d,selectors:[["cooee-share-dialog"]],decls:19,vars:0,consts:[[1,"share-dialog"],[1,"share-dialog-header"],["type","button","aria-label","Close",1,"close-button",3,"click"],["name","close","aria-hidden","true"],[1,"share-options"],["type","button","aria-label","Share on WhatsApp",1,"share-option",3,"click"],["name","whatsapp","aria-hidden","true"],["type","button","aria-label","Share on X",1,"share-option",3,"click"],["name","x-twitter","aria-hidden","true"],["type","button","aria-label","Copy link",1,"share-option",3,"click"],["name","copy","aria-hidden","true"]],template:function(o,t){o&1&&(n(0,"div",0)(1,"div",1)(2,"h3"),c(3,"Share"),i(),n(4,"button",2),l("click",function(e){return t.onShareAndClose(e)}),r(5,"cooee-icon",3),i()(),n(6,"div",4)(7,"button",5),l("click",function(e){return t.onShareAndClose(e,"Whatsapp")}),r(8,"cooee-icon",6),n(9,"span"),c(10,"Whatsapp"),i()(),n(11,"button",7),l("click",function(e){return t.onShareAndClose(e,"X(Twitter)")}),r(12,"cooee-icon",8),n(13,"span"),c(14,"X"),i()(),n(15,"button",9),l("click",function(e){return t.onShareAndClose(e,"Clipboard")}),r(16,"cooee-icon",10),n(17,"span"),c(18,"Copy link"),i()()()())},dependencies:[f],styles:["@keyframes _ngcontent-%COMP%_slideInScale{0%{opacity:0;transform:scale(.9) translateY(8px)}to{opacity:1;transform:scale(1) translateY(0)}}.share-dialog[_ngcontent-%COMP%]{background:#fff;border-radius:12px;padding:20px;min-width:280px;box-shadow:0 8px 32px #00000026;color:#333;animation:_ngcontent-%COMP%_slideInScale .25s ease-out}.share-dialog-header[_ngcontent-%COMP%]{display:flex;justify-content:space-between;align-items:center;margin-bottom:20px}.share-dialog-header[_ngcontent-%COMP%] h3[_ngcontent-%COMP%]{font-family:var(--lc-heading-family),serif;margin:0;font-size:18px;font-weight:600}.share-options[_ngcontent-%COMP%]{display:flex;flex-direction:column;gap:12px;font-family:var(--lc-text-family),serif}.share-option[_ngcontent-%COMP%]{display:flex;align-items:center;gap:12px;padding:12px 16px;background:#0002;border:1px solid #e9ecef;border-radius:8px;color:#333;font-size:16px;font-weight:500;cursor:pointer;transition:all .2s ease}.share-option[_ngcontent-%COMP%]:hover{background:#0004;border-color:#dee2e6;transform:translateY(-1px)}.share-option[_ngcontent-%COMP%]:active{transform:translateY(0)}.share-option[_ngcontent-%COMP%] cooee-icon[_ngcontent-%COMP%]{width:24px;height:24px}.share-option[_ngcontent-%COMP%] cooee-icon[name=whatsapp][_ngcontent-%COMP%]{color:#25d366}.share-option[_ngcontent-%COMP%] cooee-icon[name=x-twitter][_ngcontent-%COMP%], .share-option[_ngcontent-%COMP%] cooee-icon[name=copy][_ngcontent-%COMP%]{color:#000}.share-option[_ngcontent-%COMP%] span[_ngcontent-%COMP%]{flex:1;text-align:left}button.close-button[_ngcontent-%COMP%]{background-color:transparent;border:none}button.close-button[_ngcontent-%COMP%] cooee-icon[name=close][_ngcontent-%COMP%]{border-radius:100%;color:#000}"]})};export{_ as ShareDialogComponent};
1
+ import{a as C,b}from"./chunk-CAFWCDWI.js";import{a as g,b as h,d as u,g as f}from"./chunk-KWG3YKM4.js";import{Ba as l,Qa as c,X as m,pa as n,qa as i,ra as r,v as s}from"./chunk-HC6OE5XR.js";import"./chunk-U4XWPFUW.js";var _=class d{dialogRef=s(u);eventData=s(h);triggerData=s(g)().triggerData;onShareAndClose(p,o){p.stopPropagation();let{url:t,text:a}=b(this.triggerData,this.eventData.video,o!=="Clipboard");switch(o){case"Whatsapp":window.open(`https://wa.me/?text=${a}%20${t}`,"_blank","noopener,noreferrer");break;case"X(Twitter)":window.open(`https://x.com/intent/post?text=${a}&url=${t}`,"_blank","noopener,noreferrer");break;case"Clipboard":navigator.clipboard.writeText(t).catch(()=>{let e=document.createElement("textarea");e.value=t,document.body.appendChild(e),e.select(),document.execCommand("copy"),document.body.removeChild(e)});break;default:}o&&C(this.triggerData,this.eventData.video,this.eventData.index,o),this.dialogRef.close()}static \u0275fac=function(o){return new(o||d)};static \u0275cmp=m({type:d,selectors:[["cooee-share-dialog"]],decls:19,vars:0,consts:[[1,"share-dialog"],[1,"share-dialog-header"],["type","button","aria-label","Close",1,"close-button",3,"click"],["name","close","aria-hidden","true"],[1,"share-options"],["type","button","aria-label","Share on WhatsApp",1,"share-option",3,"click"],["name","whatsapp","aria-hidden","true"],["type","button","aria-label","Share on X",1,"share-option",3,"click"],["name","x-twitter","aria-hidden","true"],["type","button","aria-label","Copy link",1,"share-option",3,"click"],["name","copy","aria-hidden","true"]],template:function(o,t){o&1&&(n(0,"div",0)(1,"div",1)(2,"h3"),c(3,"Share"),i(),n(4,"button",2),l("click",function(e){return t.onShareAndClose(e)}),r(5,"cooee-icon",3),i()(),n(6,"div",4)(7,"button",5),l("click",function(e){return t.onShareAndClose(e,"Whatsapp")}),r(8,"cooee-icon",6),n(9,"span"),c(10,"Whatsapp"),i()(),n(11,"button",7),l("click",function(e){return t.onShareAndClose(e,"X(Twitter)")}),r(12,"cooee-icon",8),n(13,"span"),c(14,"X"),i()(),n(15,"button",9),l("click",function(e){return t.onShareAndClose(e,"Clipboard")}),r(16,"cooee-icon",10),n(17,"span"),c(18,"Copy link"),i()()()())},dependencies:[f],styles:["@keyframes _ngcontent-%COMP%_slideInScale{0%{opacity:0;transform:scale(.9) translateY(8px)}to{opacity:1;transform:scale(1) translateY(0)}}.share-dialog[_ngcontent-%COMP%]{background:#fff;border-radius:12px;padding:20px;min-width:280px;box-shadow:0 8px 32px #00000026;color:#333;animation:_ngcontent-%COMP%_slideInScale .25s ease-out}.share-dialog-header[_ngcontent-%COMP%]{display:flex;justify-content:space-between;align-items:center;margin-bottom:20px}.share-dialog-header[_ngcontent-%COMP%] h3[_ngcontent-%COMP%]{font-family:var(--lc-heading-family),serif;margin:0;font-size:18px;font-weight:600}.share-options[_ngcontent-%COMP%]{display:flex;flex-direction:column;gap:12px;font-family:var(--lc-text-family),serif}.share-option[_ngcontent-%COMP%]{display:flex;align-items:center;gap:12px;padding:12px 16px;background:#0002;border:1px solid #e9ecef;border-radius:8px;color:#333;font-size:16px;font-weight:500;cursor:pointer;transition:all .2s ease}.share-option[_ngcontent-%COMP%]:hover{background:#0004;border-color:#dee2e6;transform:translateY(-1px)}.share-option[_ngcontent-%COMP%]:active{transform:translateY(0)}.share-option[_ngcontent-%COMP%] cooee-icon[_ngcontent-%COMP%]{width:24px;height:24px}.share-option[_ngcontent-%COMP%] cooee-icon[name=whatsapp][_ngcontent-%COMP%]{color:#25d366}.share-option[_ngcontent-%COMP%] cooee-icon[name=x-twitter][_ngcontent-%COMP%], .share-option[_ngcontent-%COMP%] cooee-icon[name=copy][_ngcontent-%COMP%]{color:#000}.share-option[_ngcontent-%COMP%] span[_ngcontent-%COMP%]{flex:1;text-align:left}button.close-button[_ngcontent-%COMP%]{background-color:transparent;border:none}button.close-button[_ngcontent-%COMP%] cooee-icon[name=close][_ngcontent-%COMP%]{border-radius:100%;color:#000}"]})};export{_ as ShareDialogComponent};