@letscooee/web-sdk 11.4.0 → 11.5.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
@@ -1 +1 @@
1
- import{a as C,b}from"./chunk-DJQTENVX.js";import{e as g,f as h,i as u,l as f}from"./chunk-JVXVRZDG.js";import{Ba as l,Qa as c,X as m,na as n,oa as i,pa as r,v as s}from"./chunk-KHVPWQ5E.js";import"./chunk-V7UGKYBN.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-J6U34FC5.js";import{e as g,f as h,i as u,l as f}from"./chunk-GOCC6EUG.js";import{Ba as l,Qa as c,X as m,na as n,oa as i,pa as r,v as s}from"./chunk-KHVPWQ5E.js";import"./chunk-V7UGKYBN.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,3 +1,3 @@
1
- import{A as Me,B as Re,a as _e,c as O,d as Ce,f as U,k as Q,q as R,r as De,s as be,t as Te,u as Ie,v as Ee,x as Se,y as ke,z as Pe}from"./chunk-TFHLHURZ.js";import{a as Oe,b as Ne}from"./chunk-DJQTENVX.js";import{c as we,e as fe,f as N,g as H,i as xe,j as Ve,k as ye,l as F}from"./chunk-JVXVRZDG.js";import"./chunk-74XS3G6Q.js";import{$a as me,Ba as g,D as Y,Da as a,E as f,Ga as $,Ha as j,I as T,Ia as W,Ja as ae,Ka as de,L as J,La as b,M as X,Ma as S,O as s,Ta as se,Ua as le,V as Z,Va as ce,X as w,Za as pe,ba as I,fb as ue,ga as E,ha as x,ia as V,ib as k,ja as ee,jb as P,ka as y,kb as M,la as D,lb as ge,ma as u,na as l,oa as d,pa as _,qa as te,ra as ie,sa as oe,sb as he,ta as ne,ua as re,ub as ve,v as m,va as B,x as c,y as p,za as v}from"./chunk-KHVPWQ5E.js";import"./chunk-V7UGKYBN.js";var z=class n{dialogState=P();dialog=m(ye);triggerData=m(fe)().triggerData;eventData=m(N);containerRef=m(Z);async share(t){t.stopPropagation(),t.preventDefault(),R()&&De()?await this.shareNative():await this.shareWithDialog()}async shareNative(){let t=Ne(this.triggerData,this.eventData.video,!1);await navigator.share(t),Oe(this.triggerData,this.eventData.video,this.eventData.index,"Native")}async shareWithDialog(){let t=await import("./share-dialog.component-GPFADLFY.js");this.dialogState.emit(!0),this.dialog.open(t.ShareDialogComponent,{viewContainerRef:this.containerRef}).closed.subscribe(()=>this.dialogState.emit(!1))}static \u0275fac=function(e){return new(e||n)};static \u0275cmp=w({type:n,selectors:[["cooee-share-button"]],outputs:{dialogState:"dialogState"},decls:2,vars:0,consts:[["type","button","aria-label","Share video",3,"click"],["name","share"]],template:function(e,i){e&1&&(l(0,"button",0),g("click",function(r){return i.share(r)}),_(1,"cooee-icon",1),d())},dependencies:[F],styles:["button[_ngcontent-%COMP%]{width:var(--lc-icon-button-size, 44px);height:var(--lc-icon-button-size, 44px);display:flex;justify-content:center;align-items:center;border:none;border-radius:100%;background:#00000080;background:color-mix(in oklab,#000 50%,transparent)}button[_ngcontent-%COMP%] cooee-icon[name=share][_ngcontent-%COMP%]{color:#fff}"]})};var A=class n{video=M.required();progress=f(0);constructor(){k(t=>{let e=this.video(),i=()=>{this.progress.set(e.currentTime/e.duration*100)};e.addEventListener("timeupdate",i),t(()=>{e.removeEventListener("timeupdate",i)})})}static \u0275fac=function(e){return new(e||n)};static \u0275cmp=w({type:n,selectors:[["cooee-video-progress-bar"]],inputs:{video:[1,"video"]},decls:3,vars:3,consts:[[1,"video-untracked-path"],["role","progressbar",1,"video-tracked-path"]],template:function(e,i){e&1&&(te(0,"div",0)(1,"div",1),oe(2,"div"),ie()()),e&2&&(s(),S("width",i.progress(),"%"),E("aria-valuenow",i.progress()))},styles:["[_nghost-%COMP%]{display:block;width:100%;position:absolute;z-index:10;top:4px;padding-inline:8px;box-sizing:border-box}.video-untracked-path[_ngcontent-%COMP%], .video-tracked-path[_ngcontent-%COMP%]{height:4px;border-radius:var(--lc-video-progress-bar-radius)}.video-untracked-path[_ngcontent-%COMP%]{background-color:rgba(var(--lc-video-progress-bar-bg-color));width:100%;margin-bottom:2px}.video-tracked-path[_ngcontent-%COMP%]{background-color:rgba(var(--lc-video-progress-bar-color));transition:width .5s ease-in-out}@media (prefers-reduced-motion: reduce){.video-tracked-path[_ngcontent-%COMP%]{transition:none}}"]})};var ze=["swiperContainer"],Ae=(n,t)=>t.id;function Le(n,t){if(n&1){let e=v();l(0,"div",3)(1,"cooee-item-card",4),g("buttonClick",function(o){c(e);let r=a();return p(r.onButtonClick(o))})("click",function(){let o=c(e).$implicit,r=a();return p(r.cardClick.emit(o))}),d()()}if(n&2){let e=t.$implicit;s(),u("item",e)}}var L=class n{items=M.required();cardClick=P();destroyRef=m(Y);elementRef=m(T);engagementService=m(U);swiperContainerRef=ge.required("swiperContainer");swiperInstance;constructor(){k(()=>{this.initSwiper()}),this.destroyRef.onDestroy(()=>{this.swiperInstance?.destroy()})}ngOnInit(){O(this.elementRef.nativeElement.shadowRoot)}onButtonClick(t){let e=_e.get().website?.canChangeVariantInCart;if(this.items()?.length>1||t.hasVariants()&&!e){this.cardClick.emit(t);return}this.engagementService.executeCTA(Ce.ADD_TO_CART,{item:t})}initSwiper(){this.swiperInstance=new window.CooeeSDK.Swiper(this.swiperContainerRef().nativeElement,{direction:"horizontal",effect:"slide",slidesPerView:1.2,nested:!0,centeredSlides:!0,spaceBetween:12,mousewheel:{enabled:!0,thresholdDelta:10,thresholdTime:200}})}static \u0275fac=function(e){return new(e||n)};static \u0275cmp=w({type:n,selectors:[["cooee-video-promoted-items"]],viewQuery:function(e,i){e&1&&ae(i.swiperContainerRef,ze,5),e&2&&de()},hostAttrs:[1,"letscooee-widget"],inputs:{items:[1,"items"]},outputs:{cardClick:"cardClick"},features:[me([U])],decls:5,vars:0,consts:[["swiperContainer",""],[1,"swiper-container"],[1,"swiper-wrapper"],[1,"swiper-slide"],["tabindex","0",3,"buttonClick","click","item"]],template:function(e,i){e&1&&(l(0,"div",1,0)(2,"div",2),y(3,Le,2,1,"div",3,Ae),d()()),e&2&&(s(3),D(i.items()))},dependencies:[Re],styles:[`:host{display:block;width:100%}cooee-item-card{-webkit-backdrop-filter:blur(2px);backdrop-filter:blur(2px);background-color:rgba(var(--lc-card-bg-color));cursor:pointer;border-radius:var(--lc-card-radius)}
1
+ import{A as Me,B as Re,a as _e,c as O,d as Ce,f as U,k as Q,q as R,r as De,s as be,t as Te,u as Ie,v as Ee,x as Se,y as ke,z as Pe}from"./chunk-GQD57Z2N.js";import{a as Oe,b as Ne}from"./chunk-J6U34FC5.js";import{c as we,e as fe,f as N,g as H,i as xe,j as Ve,k as ye,l as F}from"./chunk-GOCC6EUG.js";import"./chunk-74XS3G6Q.js";import{$a as me,Ba as g,D as Y,Da as a,E as f,Ga as $,Ha as j,I as T,Ia as W,Ja as ae,Ka as de,L as J,La as b,M as X,Ma as S,O as s,Ta as se,Ua as le,V as Z,Va as ce,X as w,Za as pe,ba as I,fb as ue,ga as E,ha as x,ia as V,ib as k,ja as ee,jb as P,ka as y,kb as M,la as D,lb as ge,ma as u,na as l,oa as d,pa as _,qa as te,ra as ie,sa as oe,sb as he,ta as ne,ua as re,ub as ve,v as m,va as B,x as c,y as p,za as v}from"./chunk-KHVPWQ5E.js";import"./chunk-V7UGKYBN.js";var z=class n{dialogState=P();dialog=m(ye);triggerData=m(fe)().triggerData;eventData=m(N);containerRef=m(Z);async share(t){t.stopPropagation(),t.preventDefault(),R()&&De()?await this.shareNative():await this.shareWithDialog()}async shareNative(){let t=Ne(this.triggerData,this.eventData.video,!1);await navigator.share(t),Oe(this.triggerData,this.eventData.video,this.eventData.index,"Native")}async shareWithDialog(){let t=await import("./share-dialog.component-PT6L57O5.js");this.dialogState.emit(!0),this.dialog.open(t.ShareDialogComponent,{viewContainerRef:this.containerRef}).closed.subscribe(()=>this.dialogState.emit(!1))}static \u0275fac=function(e){return new(e||n)};static \u0275cmp=w({type:n,selectors:[["cooee-share-button"]],outputs:{dialogState:"dialogState"},decls:2,vars:0,consts:[["type","button","aria-label","Share video",3,"click"],["name","share"]],template:function(e,i){e&1&&(l(0,"button",0),g("click",function(r){return i.share(r)}),_(1,"cooee-icon",1),d())},dependencies:[F],styles:["button[_ngcontent-%COMP%]{width:var(--lc-icon-button-size, 44px);height:var(--lc-icon-button-size, 44px);display:flex;justify-content:center;align-items:center;border:none;border-radius:100%;background:#00000080;background:color-mix(in oklab,#000 50%,transparent)}button[_ngcontent-%COMP%] cooee-icon[name=share][_ngcontent-%COMP%]{color:#fff}"]})};var A=class n{video=M.required();progress=f(0);constructor(){k(t=>{let e=this.video(),i=()=>{this.progress.set(e.currentTime/e.duration*100)};e.addEventListener("timeupdate",i),t(()=>{e.removeEventListener("timeupdate",i)})})}static \u0275fac=function(e){return new(e||n)};static \u0275cmp=w({type:n,selectors:[["cooee-video-progress-bar"]],inputs:{video:[1,"video"]},decls:3,vars:3,consts:[[1,"video-untracked-path"],["role","progressbar",1,"video-tracked-path"]],template:function(e,i){e&1&&(te(0,"div",0)(1,"div",1),oe(2,"div"),ie()()),e&2&&(s(),S("width",i.progress(),"%"),E("aria-valuenow",i.progress()))},styles:["[_nghost-%COMP%]{display:block;width:100%;position:absolute;z-index:10;top:4px;padding-inline:8px;box-sizing:border-box}.video-untracked-path[_ngcontent-%COMP%], .video-tracked-path[_ngcontent-%COMP%]{height:4px;border-radius:var(--lc-video-progress-bar-radius)}.video-untracked-path[_ngcontent-%COMP%]{background-color:rgba(var(--lc-video-progress-bar-bg-color));width:100%;margin-bottom:2px}.video-tracked-path[_ngcontent-%COMP%]{background-color:rgba(var(--lc-video-progress-bar-color));transition:width .5s ease-in-out}@media (prefers-reduced-motion: reduce){.video-tracked-path[_ngcontent-%COMP%]{transition:none}}"]})};var ze=["swiperContainer"],Ae=(n,t)=>t.id;function Le(n,t){if(n&1){let e=v();l(0,"div",3)(1,"cooee-item-card",4),g("buttonClick",function(o){c(e);let r=a();return p(r.onButtonClick(o))})("click",function(){let o=c(e).$implicit,r=a();return p(r.cardClick.emit(o))}),d()()}if(n&2){let e=t.$implicit;s(),u("item",e)}}var L=class n{items=M.required();cardClick=P();destroyRef=m(Y);elementRef=m(T);engagementService=m(U);swiperContainerRef=ge.required("swiperContainer");swiperInstance;constructor(){k(()=>{this.initSwiper()}),this.destroyRef.onDestroy(()=>{this.swiperInstance?.destroy()})}ngOnInit(){O(this.elementRef.nativeElement.shadowRoot)}onButtonClick(t){let e=_e.get().website?.canChangeVariantInCart;if(this.items()?.length>1||t.hasVariants()&&!e){this.cardClick.emit(t);return}this.engagementService.executeCTA(Ce.ADD_TO_CART,{item:t})}initSwiper(){this.swiperInstance=new window.CooeeSDK.Swiper(this.swiperContainerRef().nativeElement,{direction:"horizontal",effect:"slide",slidesPerView:1.2,nested:!0,centeredSlides:!0,spaceBetween:12,mousewheel:{enabled:!0,thresholdDelta:10,thresholdTime:200}})}static \u0275fac=function(e){return new(e||n)};static \u0275cmp=w({type:n,selectors:[["cooee-video-promoted-items"]],viewQuery:function(e,i){e&1&&ae(i.swiperContainerRef,ze,5),e&2&&de()},hostAttrs:[1,"letscooee-widget"],inputs:{items:[1,"items"]},outputs:{cardClick:"cardClick"},features:[me([U])],decls:5,vars:0,consts:[["swiperContainer",""],[1,"swiper-container"],[1,"swiper-wrapper"],[1,"swiper-slide"],["tabindex","0",3,"buttonClick","click","item"]],template:function(e,i){e&1&&(l(0,"div",1,0)(2,"div",2),y(3,Le,2,1,"div",3,Ae),d()()),e&2&&(s(3),D(i.items()))},dependencies:[Re],styles:[`:host{display:block;width:100%}cooee-item-card{-webkit-backdrop-filter:blur(2px);backdrop-filter:blur(2px);background-color:rgba(var(--lc-card-bg-color));cursor:pointer;border-radius:var(--lc-card-radius)}
2
2
  `],encapsulation:3})};var Be=["swiperComp"],$e=["videoEl"],je=(n,t)=>t.url;function We(n,t){n&1&&(l(0,"div",11),_(1,"div",15),d())}function He(n,t){if(n&1&&_(0,"source",13),n&2){let e=t.$implicit;u("type",pe(e.mimeType))("src",e.url,J)}}function Ue(n,t){n&1&&B(0)}function Qe(n,t){if(n&1){let e=v();l(0,"cooee-video-promoted-items",24),g("cardClick",function(o){c(e);let r=a(2).$implicit,C=a();return p(C.productCardClicked(o,r))}),d()}if(n&2){let e=a(2).$implicit;u("items",e.items)}}function Ke(n,t){if(n&1&&_(0,"cooee-video-card",23),n&2){let e=a(2).$implicit;u("card",e.card)}}function qe(n,t){if(n&1){let e=v();_(0,"cooee-video-progress-bar",16),l(1,"div",17)(2,"cooee-mute-toggle",18),ce("mutedChange",function(o){c(e);let r=a(2);return le(r.muted,o)||(r.muted=o),p(o)}),g("toggled",function(){c(e);let o=a(2);return p(o.muteToggled())}),d(),I(3,Ue,1,0,"ng-container",8),d(),l(4,"div",19)(5,"cooee-share-button",20),g("dialogState",function(o){c(e);let r=a(2);return p(r.shareDialogOpen.set(o))}),d()(),l(6,"div",21),x(7,Qe,1,1,"cooee-video-promoted-items",22)(8,Ke,1,1,"cooee-video-card",23),d()}if(n&2){let e=a().$implicit,i=b(5),o=a(),r=b(9);u("video",i),s(2),se("muted",o.muted),u("videoEl",i),s(),u("ngTemplateOutlet",r),s(4),V(e.items.length&&o.footerContent===o.VideoConfigFooterContent.FIRST_ITEM?7:e.card&&o.footerContent===o.VideoConfigFooterContent.CARD?8:-1)}}function Ge(n,t){if(n&1){let e=v();l(0,"cooee-item-detail",25),g("closeClick",function(){c(e);let o=a(2);return p(o.productModalClosed())}),d()}if(n&2){let e=a(2);u("item",e.selectedItem)("similarItems",e.selectedVideo.items)}}function Ye(n,t){if(n&1){let e=v();l(0,"div",6)(1,"div",9)(2,"div",10),x(3,We,2,0,"div",11),l(4,"video",12,2),g("click",function(){let o=c(e).$index,r=a();return p(r.currentIndex===o&&r.toggleMute())})("ended",function(){c(e);let o=b(5),r=a();return p(r.onVideoEnded(o))})("loadstart",function(){let o=c(e).$index,r=a();return p(r.onVideoLoadStart(o))})("canplay",function(){let o=c(e).$index,r=a();return p(r.onVideoCanPlay(o))}),y(6,He,1,3,"source",13,je),d(),x(8,qe,9,5),d(),x(9,Ge,1,2,"cooee-item-detail",14),d()()}if(n&2){let e=t.$implicit,i=t.$index,o=a();s(2),S("background-image",e.thumbnail?"url("+e.thumbnail+")":null),s(),V(o.shouldShowVideoSpinner(i)?3:-1),s(),u("ngClass",o.viewTemplateClassName),E("preload",o.isVideoVisible(i)?"metadata":"none")("data-video-id",e.id)("autoplay",o.currentIndex===i||null)("muted",o.muted||null),s(2),D(e.sources),s(2),V(o.currentIndex===i?8:-1),s(),V(o.selectedItem&&o.currentIndex===i?9:-1)}}function Je(n,t){n&1&&B(0)}function Xe(n,t){if(n&1){let e=v();l(0,"button",26),g("click",function(){c(e);let o=a();return p(o.close())}),_(1,"cooee-icon",27),d()}}var Fe=class n{swiperComponent;videoElements;VideoConfigFooterContent=Se;currentIndex=0;muted=f(!1);selectedItem=null;selectedVideo;detailPopupTemplate;footerContent;viewTemplateClassName="lc-video-only-view";shareDialogOpen=f(!1);data=m(Ve);elementRef=m(T);eventData=m(N);dialogRef=m(xe);swiperInitialized=f(!1);swiperOptions=f(null);videos=[];triggerContext;engagementTrigger;isMobile=R();navigationConfig;cssLoadedPromise;resizeDebouncer=new be(this.onResize.bind(this));videoLoadingStates=new Map;constructor(){this.videos=this.data.videos,this.currentIndex=this.data.currentIndex,this.selectedVideo=this.videos[this.currentIndex],this.triggerContext=this.data.triggerContext,this.engagementTrigger=this.triggerContext.triggerData,this.navigationConfig=new Ee({enabled:!0,size:50,color:new Ie({h:"#000000"})}),this.cssLoadedPromise=O(this.elementRef.nativeElement.shadowRoot)}onKeyDown(t){t.preventDefault(),t.stopPropagation(),this.close()}async ngOnInit(){this.muted.set(await Q.get("muted",!1));let t=this.engagementTrigger?.content?.videoConfig;switch(this.detailPopupTemplate=t?.detailPopup.template??"VIDEO_ONLY_VIEW",this.footerContent=t?.footerContent??"FIRST_ITEM",this.detailPopupTemplate){case"PRODUCT_DETAIL_VIEW":this.selectItemForDetailView(),this.viewTemplateClassName="lc-product-detail-view";break;case"VIDEO_ONLY_VIEW":this.viewTemplateClassName="lc-video-only-view";break}}ngAfterViewInit(){this.initializeSwiperWithVideoDimensions()}ngOnDestroy(){this.resizeDebouncer?.destroy()}initializeSwiperWithVideoDimensions(){this.applyOptimalVideoDimensions(),this.initSwiperOptions()}close(){let t=this.getCurrentVideoElement();this.dialogRef.close({lastVideo:this.videos[this.currentIndex],lastVideoIndex:this.currentIndex,lastVideoDuration:t?.currentTime})}getCurrentVideoElement(){return this.videoElements.get(this.currentIndex)?.nativeElement}moveToNextVideo(){this.swiperComponent.swiper.slideTo(this.currentIndex+1)}productModalClosed(){this.selectedItem=null}pauseAll(){this.videoElements.forEach(t=>t.nativeElement.pause())}toggleMute(){this.muted.update(t=>!t)}async muteToggled(){await Q.set("muted",this.muted());let e=[this.muted()?"CE Video Muted":"CE Video Unmuted",{current:this.currentVideoProps()},{triggerData:this.engagementTrigger}];window.CooeeSDK.events.push(e)}playActiveVideo(){this.pauseAll();let t=this.getCurrentVideoElement();t&&this.playVideo(t)}playVideo(t){t.currentTime=0,t.play().catch(e=>we.error(e))}onVideoEnded(t){if(this.currentIndex<this.videos.length-1)this.selectedItem||this.shareDialogOpen()?this.playVideo(t):this.moveToNextVideo();else{let e=this.getPreviousVideoDataForEvent(),i=["CE Last Video Ended",{previous:e},{triggerData:this.engagementTrigger}];window.CooeeSDK.events.push(i),this.playVideo(t)}}onSlideChange(t){let e=this.getPreviousVideoDataForEvent();this.currentIndex=t.realIndex,this.selectedVideo=this.videos[this.currentIndex],this.eventData.video=this.selectedVideo,this.eventData.index=this.currentIndex,this.playActiveVideo(),this.detailPopupTemplate==="PRODUCT_DETAIL_VIEW"?this.selectItemForDetailView():this.selectedItem=null;let i=this.currentVideoProps(),o={previous:e,current:i},r=new H("CE Video Changed",o,this.engagementTrigger);r.setVideos(this.videos[this.currentIndex]),window.CooeeSDK.sendEvent(r)}productCardClicked(t,e){let i={videoID:e.id,videoIndex:this.currentIndex},o=new H("CE More Item Info Clicked",{current:i},this.engagementTrigger);o.setVideos(e),window.CooeeSDK.sendEvent(o),this.selectedItem=t}onVideoLoadStart(t){this.videoLoadingStates.set(t,!0)}onVideoCanPlay(t){this.videoLoadingStates.set(t,!1)}shouldShowVideoSpinner(t){return this.swiperInitialized()?this.videoLoadingStates.get(t)===!0&&this.isVideoVisible(t):this.isVideoVisible(t)}isVideoVisible(t){let e=this.currentIndex-1,i=this.currentIndex+1;return t===this.currentIndex||t===e||t===i}async initSwiperOptions(){await this.cssLoadedPromise;let t=this.isMobile?1:"auto",e=0;this.isProductDetailView()&&(t="auto",e=10),this.swiperOptions.set({direction:this.isMobile?"vertical":"horizontal",effect:this.isMobile?"slide":"coverflow",slidesPerView:t,initialSlide:this.currentIndex,centeredSlides:!0,spaceBetween:e,coverflowEffect:{rotate:0,stretch:0,depth:400,modifier:1,slideShadows:!1},on:{init:i=>{this.swiperInitialized.set(!0),setTimeout(()=>{i.update()},100)}},mousewheel:{enabled:!this.isMobile,invert:!1,thresholdDelta:20}})}isProductDetailView(){return this.detailPopupTemplate==="PRODUCT_DETAIL_VIEW"}currentVideoProps(){return{videoID:this.videos[this.currentIndex].id,videoIndex:this.currentIndex}}getPreviousVideoDataForEvent(){let t=this.currentVideoProps(),e=this.videoElements.find(o=>o.nativeElement.dataset.videoId===this.videos[this.currentIndex].id)?.nativeElement;t.playedTillMS=Math.ceil(e?.currentTime*1e3);let i=e?.duration*1e3;return t.playedTillPercent=+(t.playedTillMS/i).toFixed(4),t}selectItemForDetailView(){this.selectedItem=this.isMobile?null:this.selectedVideo?.items?.[0]??null}applyOptimalVideoDimensions(){if(this.isMobile||this.isProductDetailView())return;let t=this.calculateOptimalVideoDimensions();t&&this.setVideoContainerDimensions(t.width,t.height)}calculateOptimalVideoDimensions(){let t=this.videos.map(h=>h.sources?.[0]).filter(h=>h?.width&&h?.height).map(h=>({width:h.width,height:h.height,aspectRatio:h.width/h.height}));if(t.length===0)return null;let e=t[0],i=window.innerWidth*.9,o=window.innerHeight*.9,r=i/e.width,C=o/e.height,G=Math.min(r,C);return{width:Math.floor(e.width*G),height:Math.floor(e.height*G)}}setVideoContainerDimensions(t,e){let i=this.elementRef.nativeElement;i.style.setProperty("--video-container-width",`${t}px`),i.style.setProperty("--video-container-height",`${e}px`)}onResize(){this.applyOptimalVideoDimensions()}static \u0275fac=function(e){return new(e||n)};static \u0275cmp=w({type:n,selectors:[["cooee-video-detail-dialog"]],viewQuery:function(e,i){if(e&1&&($(Be,7),$($e,5)),e&2){let o;j(o=W())&&(i.swiperComponent=o.first),j(o=W())&&(i.videoElements=o)}},hostAttrs:[1,"letscooee-widget"],hostBindings:function(e,i){e&1&&g("keydown.escape",function(r){return i.onKeyDown(r)},X)},decls:10,vars:4,consts:[["swiperComp",""],["closeButtonTemplate",""],["videoEl",""],[1,"lc-shadow-inner",3,"ngClass"],[1,"video-swiper",3,"slideChange","options","navigationConfig"],["ngProjectAs","swiper-slides",5,["swiper-slides"]],[1,"swiper-slide","video-slide"],[1,"lc-desktop-controls"],[4,"ngTemplateOutlet"],[1,"lc-video-modal-row"],[1,"lc-video-container"],[1,"video-loading-overlay"],["playsinline","",1,"lc-video-el",3,"click","ended","loadstart","canplay","ngClass"],[3,"src","type"],[1,"swiper-no-swiping","swiper-no-mousewheel",3,"item","similarItems"],[1,"loading-spinner"],[3,"video"],[1,"lc-video-controls"],[3,"mutedChange","toggled","muted","videoEl"],[1,"share-controls"],[3,"dialogState"],[1,"lc-card-container"],[3,"items"],[3,"card"],[3,"cardClick","items"],[1,"swiper-no-swiping","swiper-no-mousewheel",3,"closeClick","item","similarItems"],["type","button","aria-label","Close",1,"lc-close-button",3,"click"],["name","close","aria-hidden","true"]],template:function(e,i){if(e&1){let o=v();l(0,"div",3)(1,"cooee-swiper",4,0),g("slideChange",function(C){return c(o),p(i.onSlideChange(C))}),ne(3,5),y(4,Ye,10,10,"div",6,ee),re(),d(),l(6,"div",7),I(7,Je,1,0,"ng-container",8),d()(),I(8,Xe,2,0,"ng-template",null,1,ue)}if(e&2){let o=b(9);u("ngClass",i.viewTemplateClassName),s(),u("options",i.swiperOptions())("navigationConfig",i.navigationConfig),s(3),D(i.videos),s(3),u("ngTemplateOutlet",o)}},dependencies:[L,Te,Me,z,A,ve,he,Pe,ke,F],styles:[`:host{display:flex}.lc-shadow-inner{position:relative;width:100vw;height:100vh;display:flex}@media (min-width: 768px){.lc-shadow-inner{background-color:color-mix(in oklab,#000 70%,transparent);justify-content:center;align-items:center}}.video-swiper{--swiper-navigation-size: 50px;--swiper-navigation-color: white;width:100dvw;height:100dvh}.lc-product-detail-view .video-swiper{align-items:center}@media (min-width: 768px){.video-swiper{width:100%;height:100%;max-width:90vw;max-height:90vh}}.video-swiper>.swiper-wrapper{max-height:100%}.lc-product-detail-view .video-swiper>.swiper-wrapper{align-items:center}@media (max-width: 768px){.video-swiper>.swiper-button-prev,.video-swiper>.swiper-button-next{display:none!important}}.video-slide{position:relative;display:flex;align-items:center;visibility:hidden}.lc-product-detail-view .video-slide{width:40vw!important;height:70vh!important}@media (min-width: 768px){.lc-product-detail-view .video-slide{min-width:650px!important}}@media (max-width: 768px){.lc-product-detail-view .video-slide{width:100%!important;height:100%!important}}@media (min-width: 768px){.lc-video-only-view .video-slide{width:fit-content!important}}@media (min-width: 768px){.video-slide{border-radius:var(--lc-media-radius);overflow:hidden}}.video-slide.swiper-slide-active,.video-slide.swiper-slide-prev,.video-slide.swiper-slide-next{visibility:visible}video{width:100%;height:100%;object-fit:cover;position:relative;z-index:3}.lc-desktop-controls{position:absolute;top:2rem;right:4rem;z-index:10;display:flex;gap:.5rem}@media (max-width: 768px){.lc-desktop-controls{display:none}}.lc-video-controls{position:absolute;top:1rem;z-index:10;right:.5rem;display:flex;gap:.25rem}@media (min-width: 768px){.lc-video-controls .lc-close-button{display:none}}.share-controls{position:absolute;bottom:30%;right:.5rem;z-index:10;display:flex;gap:.25rem;flex-direction:column;justify-content:center;align-items:center}.lc-close-button{width:var(--lc-icon-button-size, 44px);height:var(--lc-icon-button-size, 44px);display:flex;justify-content:center;align-items:center;border:none;border-radius:100%;background:#00000080;background:color-mix(in oklab,#000 50%,transparent)}.lc-video-container{position:relative;height:100%;width:100%;background:#000000b3 no-repeat center;background-size:cover}@media (min-width: 768px){.lc-product-detail-view .lc-video-container{width:50%}}@media (min-width: 768px){.lc-video-only-view .lc-video-container{width:var(--video-container-width, 100%);height:var(--video-container-height, 100%)}}.lc-card-container{position:absolute;bottom:12px;z-index:10;width:100%;padding-inline:12px;box-sizing:border-box}.lc-product-detail-view .lc-card-container{display:none}@media (max-width: 768px){.lc-product-detail-view .lc-card-container{display:block}}.lc-product-detail-view .lc-video-modal-row{display:flex;justify-content:center;height:100%;width:100%}.lc-video-only-view .lc-video-modal-row{display:block;height:100%}.lc-product-detail-view cooee-item-detail{--header-display: none;width:50%;flex:1}@media (max-width: 768px){.lc-product-detail-view cooee-item-detail{--header-display: flex;width:100%;height:70dvh;position:absolute;bottom:0;z-index:2147483646}}.lc-video-only-view cooee-item-detail{width:100%;height:70dvh;z-index:2147483646;bottom:0;position:absolute;border-radius:var(--lc-card-radius) var(--lc-card-radius) 0 0}@keyframes spin{0%{transform:rotate(0)}to{transform:rotate(360deg)}}.video-loading-overlay{position:absolute;top:0;left:0;width:100%;height:100%;display:flex;align-items:center;justify-content:center;background-color:#0000004d;z-index:2}.video-loading-overlay .loading-spinner{width:30px;height:30px;border:3px solid rgba(255,255,255,.3);border-top:3px solid #fff;border-radius:50%;animation:spin 1s linear infinite}
3
3
  `],encapsulation:3})};export{Fe as VideoDetailDialogComponent};
@@ -1 +1 @@
1
- @layer cooee.base{:is(.letscooee-widget,:host(.letscooee-widget)) *,:is(.letscooee-widget,:host(.letscooee-widget)) :after,:is(.letscooee-widget,:host(.letscooee-widget)) :before,:is(.letscooee-widget,:host(.letscooee-widget)) ::backdrop,:is(.letscooee-widget,:host(.letscooee-widget)) ::file-selector-button{box-sizing:border-box;margin:0;padding:0;border:0 solid}:is(.letscooee-widget,:host(.letscooee-widget)) *{line-height:1.5;-webkit-text-size-adjust:100%;tab-size:4;font-family:var(--lc-text-family),serif;font-feature-settings:var(--default-font-feature-settings, normal);font-variation-settings:var(--default-font-variation-settings, normal);-webkit-tap-highlight-color:transparent}:is(.letscooee-widget,:host(.letscooee-widget)) hr{height:0;color:inherit;border-top-width:1px}:is(.letscooee-widget,:host(.letscooee-widget)) abbr:where([title]){-webkit-text-decoration:underline dotted;text-decoration:underline dotted}:is(.letscooee-widget,:host(.letscooee-widget)) h1,:is(.letscooee-widget,:host(.letscooee-widget)) h2,:is(.letscooee-widget,:host(.letscooee-widget)) h3,:is(.letscooee-widget,:host(.letscooee-widget)) h4,:is(.letscooee-widget,:host(.letscooee-widget)) h5,:is(.letscooee-widget,:host(.letscooee-widget)) h6{font-size:inherit;font-weight:inherit}:is(.letscooee-widget,:host(.letscooee-widget)) a{color:inherit;-webkit-text-decoration:inherit;text-decoration:inherit}:is(.letscooee-widget,:host(.letscooee-widget)) b,:is(.letscooee-widget,:host(.letscooee-widget)) strong{font-weight:bolder}:is(.letscooee-widget,:host(.letscooee-widget)) small{font-size:80%}:is(.letscooee-widget,:host(.letscooee-widget)) sub,:is(.letscooee-widget,:host(.letscooee-widget)) sup{font-size:75%;line-height:0;position:relative;vertical-align:baseline}:is(.letscooee-widget,:host(.letscooee-widget)) sub{bottom:-.25em}:is(.letscooee-widget,:host(.letscooee-widget)) sup{top:-.5em}:is(.letscooee-widget,:host(.letscooee-widget)) table{text-indent:0;border-color:inherit;border-collapse:collapse}:is(.letscooee-widget,:host(.letscooee-widget)) :-moz-focusring{outline:auto}:is(.letscooee-widget,:host(.letscooee-widget)) progress{vertical-align:baseline}:is(.letscooee-widget,:host(.letscooee-widget)) summary{display:list-item}:is(.letscooee-widget,:host(.letscooee-widget)) ol,:is(.letscooee-widget,:host(.letscooee-widget)) ul,:is(.letscooee-widget,:host(.letscooee-widget)) menu{list-style:none}:is(.letscooee-widget,:host(.letscooee-widget)) img,:is(.letscooee-widget,:host(.letscooee-widget)) svg,:is(.letscooee-widget,:host(.letscooee-widget)) video,:is(.letscooee-widget,:host(.letscooee-widget)) canvas,:is(.letscooee-widget,:host(.letscooee-widget)) audio,:is(.letscooee-widget,:host(.letscooee-widget)) iframe,:is(.letscooee-widget,:host(.letscooee-widget)) embed,:is(.letscooee-widget,:host(.letscooee-widget)) object{display:block;vertical-align:middle}:is(.letscooee-widget,:host(.letscooee-widget)) img,:is(.letscooee-widget,:host(.letscooee-widget)) video{max-width:100%;height:auto}:is(.letscooee-widget,:host(.letscooee-widget)) button,:is(.letscooee-widget,:host(.letscooee-widget)) input,:is(.letscooee-widget,:host(.letscooee-widget)) select,:is(.letscooee-widget,:host(.letscooee-widget)) optgroup,:is(.letscooee-widget,:host(.letscooee-widget)) textarea,:is(.letscooee-widget,:host(.letscooee-widget)) ::file-selector-button{font:inherit;font-feature-settings:inherit;font-variation-settings:inherit;letter-spacing:inherit;color:inherit;border-radius:0;background-color:transparent;opacity:1}:is(.letscooee-widget,:host(.letscooee-widget)) :where(select:is([multiple],[size])) optgroup{font-weight:bolder}:is(.letscooee-widget,:host(.letscooee-widget)) :where(select:is([multiple],[size])) optgroup option{padding-inline-start:20px}:is(.letscooee-widget,:host(.letscooee-widget)) ::file-selector-button{margin-inline-end:4px}:is(.letscooee-widget,:host(.letscooee-widget)) ::placeholder{opacity:1;color:color-mix(in oklab,currentColor 50%,transparent)}:is(.letscooee-widget,:host(.letscooee-widget)) textarea{resize:vertical}:is(.letscooee-widget,:host(.letscooee-widget)) ::-webkit-search-decoration{-webkit-appearance:none}:is(.letscooee-widget,:host(.letscooee-widget)) ::-webkit-date-and-time-value{min-height:1lh;text-align:inherit}:is(.letscooee-widget,:host(.letscooee-widget)) ::-webkit-datetime-edit{display:inline-flex}:is(.letscooee-widget,:host(.letscooee-widget)) ::-webkit-datetime-edit-fields-wrapper{padding:0}:is(.letscooee-widget,:host(.letscooee-widget)) ::-webkit-datetime-edit,:is(.letscooee-widget,:host(.letscooee-widget)) ::-webkit-datetime-edit-year-field,:is(.letscooee-widget,:host(.letscooee-widget)) ::-webkit-datetime-edit-month-field,:is(.letscooee-widget,:host(.letscooee-widget)) ::-webkit-datetime-edit-day-field,:is(.letscooee-widget,:host(.letscooee-widget)) ::-webkit-datetime-edit-hour-field,:is(.letscooee-widget,:host(.letscooee-widget)) ::-webkit-datetime-edit-minute-field,:is(.letscooee-widget,:host(.letscooee-widget)) ::-webkit-datetime-edit-second-field,:is(.letscooee-widget,:host(.letscooee-widget)) ::-webkit-datetime-edit-millisecond-field,:is(.letscooee-widget,:host(.letscooee-widget)) ::-webkit-datetime-edit-meridiem-field{padding-block:0}:is(.letscooee-widget,:host(.letscooee-widget)) :-moz-ui-invalid{box-shadow:none}:is(.letscooee-widget,:host(.letscooee-widget)) button,:is(.letscooee-widget,:host(.letscooee-widget)) input:where([type=button],[type=reset],[type=submit]),:is(.letscooee-widget,:host(.letscooee-widget)) ::file-selector-button{appearance:button}:is(.letscooee-widget,:host(.letscooee-widget)) ::-webkit-inner-spin-button,:is(.letscooee-widget,:host(.letscooee-widget)) ::-webkit-outer-spin-button{height:auto}:is(.letscooee-widget,:host(.letscooee-widget)) [hidden]:where(:not([hidden=until-found])){display:none!important}:is(.letscooee-widget,:host(.letscooee-widget)) a[href],:is(.letscooee-widget,:host(.letscooee-widget)) a[role=button],:is(.letscooee-widget,:host(.letscooee-widget)) button:not(:disabled):not([aria-disabled=true]){cursor:pointer}:is(.letscooee-widget,:host(.letscooee-widget)) button:disabled,:is(.letscooee-widget,:host(.letscooee-widget)) [aria-disabled=true],:is(.letscooee-widget,:host(.letscooee-widget)) a[aria-disabled=true]{cursor:not-allowed}}@layer cooee.utilities;@layer cooee.theme{:root{--lc-media-radius: var(--media-radius, 8px);--lc-primary-color: var(--color-primary, var(--color-foreground, 245 28 143));--lc-text-color: var(--color-foreground, 0 0 0);--lc-text-weight: var(--font-body-weight, 400);--lc-text-size: var(--font-size-regular, 16px);--lc-text-family: var(--font-family-body, inherit);--lc-video-card-width: 300px;--lc-video-card-height: 100%;--lc-button-radius: var(--buttons-radius, 8px);--lc-button-size: var(--buttons-size, 16px);--lc-button-family: inherit;--lc-button-letter-spacing: normal;--lc-button-height: auto;--lc-primary-button-bg-color: var(--color-button, 18 18 18);--lc-primary-button-color: var(--color-button-text, 255 255 255);--lc-primary-button-weight: var(--font-body-weight, 500);--lc-primary-button-transform: initial;--lc-primary-button-border-color: var(--lc-primary-color);--lc-secondary-button-bg-color: var(--color-button-text, 18 18 18);--lc-secondary-button-color: var(--color-button, 255 255 255);--lc-secondary-button-weight: var(--font-body-weight, 500);--lc-secondary-button-transform: initial;--lc-secondary-button-border-color: var(--lc-primary-color);--lc-heading-color: var(--color-foreground, 0 0 0);--lc-heading-family: var(--font-heading-family, var(--font-family-heading, inherit));--lc-heading-weight: var(--font-heading-weight, var(--font-weight-heading, 600));--lc-heading-size: var(--font-heading-size, var(--font-size-heading, 24px));--lc-heading-transform: initial;--lc-heading-letter-spacing: normal;--lc-heading-align: center;--lc-subheading-color: var(--color-foreground, 0 0 0);--lc-subheading-weight: var(--font-heading-weight, var(--font-weight-heading, 600));--lc-subheading-size: 18px;--lc-card-bg-color: 255, 255, 255, .5;--lc-card-radius: var(--media-radius, 8px);--lc-item-text-family: var(--lc-text-family);--lc-item-text-transform: initial;--lc-item-text-letter-spacing: inherit;--lc-item-text-color: var(--lc-text-color, 0 0 0);--lc-item-text-size: var(--lc-text-size, 16px);--lc-item-text-weight: var(--font-body-weight, 600);--lc-item-price-color: var(--lc-text-color, 0 0 0);--lc-item-price-size: var(--lc-text-size, 16px);--lc-item-price-weight: var(--font-body-weight, 500);--lc-item-cmp-price-color: var(--lc-text-color, 0, 0, 0, .75);--lc-item-cmp-price-size: var(--lc-text-size, 16px);--lc-item-cmp-price-weight: var(--font-body-weight, 500);--lc-item-cmp-price-display: none;--lc-description-size: inherit;--lc-description-weight: inherit;--lc-icon-button-size: 44px;--lc-icon-button-bg-color: 255, 255, 255, 1;--lc-icon-button-color: 0, 0, 0, 1;--lc-video-progress-bar-bg-color: 55, 65, 81, 1;--lc-video-progress-bar-color: var(--lc-primary-color);--lc-video-progress-bar-radius: 0;--lc-item-detail-footer-bg-color: 0, 0, 0, .3;--lc-item-detail-footer-box-shadow: 0 4px 6px rgba(82, 82, 91, .3);--lc-item-detail-footer-padding: 12px}}@-webkit-keyframes cooeeFadein{0%{bottom:0;opacity:0}to{bottom:30px;opacity:1}}@keyframes cooeeFadein{0%{bottom:0;opacity:0}to{bottom:30px;opacity:1}}@-webkit-keyframes cooeeFadeout{0%{bottom:30px;opacity:1}to{bottom:0;opacity:0}}@keyframes cooeeFadeout{0%{bottom:30px;opacity:1}to{bottom:0;opacity:0}}.lc-slide_in_top{animation:enterFromTop var(--lc-animation-duration, 1s) ease-out}@keyframes cooeeSlideInTop{0%{top:-100%;opacity:0}to{top:0;opacity:1}}.lc_slide_in_bottom{animation:cooeeSlideInBottom var(--lc-animation-duration, 1s) ease-out}.lc_slide_in_left{animation:cooeeSlideInLeft var(--lc-animation-duration, 1s) ease-out}.lc_slide_in_right{animation:cooeeSlideInRight var(--lc-animation-duration, 1s) ease-out}.lc_slide_in_top_left{animation:cooeeSlideInTopLeft var(--lc-animation-duration, 1s) ease-out}.lc_slide_in_top_right{animation:cooeeSlideInTopRight var(--lc-animation-duration, 1s) ease-out}.lc_slide_in_bottom_left{animation:cooeeSlideInBottomLeft var(--lc-animation-duration, 1s) ease-out}.lc_slide_in_bottom_right{animation:cooeeSlideInBottomRight var(--lc-animation-duration, 1s) ease-out}.lc_enter-pop-in{animation:popIn .3s ease-out}@keyframes cooeeSlideInBottom{0%{bottom:-100%;opacity:0}to{bottom:0;opacity:1}}@keyframes cooeeSlideInLeft{0%{left:-100%;opacity:0}to{left:0;opacity:1}}@keyframes cooeeSlideInRight{0%{right:-100%;opacity:0}to{right:0;opacity:1}}@keyframes cooeeSlideInTopLeft{0%{top:-100%;left:-100%;opacity:0}to{top:0;left:0;opacity:1}}@keyframes cooeeSlideInTopRight{0%{top:-100%;right:-100%;opacity:0}to{top:0;right:0;opacity:1}}@keyframes cooeeSlideInBottomLeft{0%{bottom:-100%;left:-100%;opacity:0}to{bottom:0;left:0;opacity:1}}@keyframes cooeeSlideInBottomRight{0%{bottom:-100%;right:-100%;opacity:0}to{bottom:0;right:0;opacity:1}}@keyframes popIn{0%{transform:scale(0);opacity:0}to{transform:scale(1);opacity:1}}@keyframes cooeeSpin{0%{transform:rotate(0)}to{transform:rotate(360deg)}}@font-face{font-family:swiper-icons;src:url(data:application/font-woff;charset=utf-8;base64,\ d09GRgABAAAAAAZgABAAAAAADAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABGRlRNAAAGRAAAABoAAAAci6qHkUdERUYAAAWgAAAAIwAAACQAYABXR1BPUwAABhQAAAAuAAAANuAY7+xHU1VCAAAFxAAAAFAAAABm2fPczU9TLzIAAAHcAAAASgAAAGBP9V5RY21hcAAAAkQAAACIAAABYt6F0cBjdnQgAAACzAAAAAQAAAAEABEBRGdhc3AAAAWYAAAACAAAAAj//wADZ2x5ZgAAAywAAADMAAAD2MHtryVoZWFkAAABbAAAADAAAAA2E2+eoWhoZWEAAAGcAAAAHwAAACQC9gDzaG10eAAAAigAAAAZAAAArgJkABFsb2NhAAAC0AAAAFoAAABaFQAUGG1heHAAAAG8AAAAHwAAACAAcABAbmFtZQAAA/gAAAE5AAACXvFdBwlwb3N0AAAFNAAAAGIAAACE5s74hXjaY2BkYGAAYpf5Hu/j+W2+MnAzMYDAzaX6QjD6/4//Bxj5GA8AuRwMYGkAPywL13jaY2BkYGA88P8Agx4j+/8fQDYfA1AEBWgDAIB2BOoAeNpjYGRgYNBh4GdgYgABEMnIABJzYNADCQAACWgAsQB42mNgYfzCOIGBlYGB0YcxjYGBwR1Kf2WQZGhhYGBiYGVmgAFGBiQQkOaawtDAoMBQxXjg/wEGPcYDDA4wNUA2CCgwsAAAO4EL6gAAeNpj2M0gyAACqxgGNWBkZ2D4/wMA+xkDdgAAAHjaY2BgYGaAYBkGRgYQiAHyGMF8FgYHIM3DwMHABGQrMOgyWDLEM1T9/w8UBfEMgLzE////P/5//f/V/xv+r4eaAAeMbAxwIUYmIMHEgKYAYjUcsDAwsLKxc3BycfPw8jEQA/gZBASFhEVExcQlJKWkZWTl5BUUlZRVVNXUNTQZBgMAAMR+E+gAEQFEAAAAKgAqACoANAA+AEgAUgBcAGYAcAB6AIQAjgCYAKIArAC2AMAAygDUAN4A6ADyAPwBBgEQARoBJAEuATgBQgFMAVYBYAFqAXQBfgGIAZIBnAGmAbIBzgHsAAB42u2NMQ6CUAyGW568x9AneYYgm4MJbhKFaExIOAVX8ApewSt4Bic4AfeAid3VOBixDxfPYEza5O+Xfi04YADggiUIULCuEJK8VhO4bSvpdnktHI5QCYtdi2sl8ZnXaHlqUrNKzdKcT8cjlq+rwZSvIVczNiezsfnP/uznmfPFBNODM2K7MTQ45YEAZqGP81AmGGcF3iPqOop0r1SPTaTbVkfUe4HXj97wYE+yNwWYxwWu4v1ugWHgo3S1XdZEVqWM7ET0cfnLGxWfkgR42o2PvWrDMBSFj/IHLaF0zKjRgdiVMwScNRAoWUoH78Y2icB/yIY09An6AH2Bdu/UB+yxopYshQiEvnvu0dURgDt8QeC8PDw7Fpji3fEA4z/PEJ6YOB5hKh4dj3EvXhxPqH/SKUY3rJ7srZ4FZnh1PMAtPhwP6fl2PMJMPDgeQ4rY8YT6Gzao0eAEA409DuggmTnFnOcSCiEiLMgxCiTI6Cq5DZUd3Qmp10vO0LaLTd2cjN4fOumlc7lUYbSQcZFkutRG7g6JKZKy0RmdLY680CDnEJ+UMkpFFe1RN7nxdVpXrC4aTtnaurOnYercZg2YVmLN/d/gczfEimrE/fs/bOuq29Zmn8tloORaXgZgGa78yO9/cnXm2BpaGvq25Dv9S4E9+5SIc9PqupJKhYFSSl47+Qcr1mYNAAAAeNptw0cKwkAAAMDZJA8Q7OUJvkLsPfZ6zFVERPy8qHh2YER+3i/BP83vIBLLySsoKimrqKqpa2hp6+jq6RsYGhmbmJqZSy0sraxtbO3sHRydnEMU4uR6yx7JJXveP7WrDycAAAAAAAH//wACeNpjYGRgYOABYhkgZgJCZgZNBkYGLQZtIJsFLMYAAAw3ALgAeNolizEKgDAQBCchRbC2sFER0YD6qVQiBCv/H9ezGI6Z5XBAw8CBK/m5iQQVauVbXLnOrMZv2oLdKFa8Pjuru2hJzGabmOSLzNMzvutpB3N42mNgZGBg4GKQYzBhYMxJLMlj4GBgAYow/P/PAJJhLM6sSoWKfWCAAwDAjgbRAAB42mNgYGBkAIIbCZo5IPrmUn0hGA0AO8EFTQAA) format("woff");font-weight:400;font-style:normal}.letscooee-engagement{z-index:0;position:relative!important;width:100%;flex-shrink:0}.letscooee-engagement.sticky-atc{position:fixed;bottom:0;left:0;width:100%;z-index:100}.letscooee-engagement button{cursor:pointer}:host(.letscooee-engagement) .lc-product-list,:host(.letscooee-engagement) .lc-product-swiper-list{scrollbar-width:none}:host(.letscooee-engagement) .lc-product-list::-webkit-scrollbar,:host(.letscooee-engagement) .lc-product-swiper-list::-webkit-scrollbar{display:none}cooee-icon{display:inline-block;-webkit-user-select:none;user-select:none;background-repeat:no-repeat;fill:currentColor;height:24px;width:24px;overflow:hidden;color:#fff}:host(.letscooee-widget) .heading-text{color:rgba(var(--lc-heading-color));font-size:var(--lc-heading-size);font-weight:var(--lc-heading-weight);font-family:var(--lc-heading-family);text-transform:var(--lc-heading-transform);letter-spacing:var(--lc-heading-letter-spacing);text-align:var(--lc-heading-align);margin-bottom:.5rem;text-align:center}.letscooee-backdrop{display:block!important;background-color:#000000b3;background-color:color-mix(in oklab,#000 70%,transparent)}:host(.letscooee-widget) .item-name,:host(.letscooee-widget) .item-price,:host(.letscooee-widget) .item-cmp-price{font-family:var(--lc-item-text-family);text-transform:var(--lc-item-text-transform);letter-spacing:var(--lc-item-text-letter-spacing)}:host(.letscooee-widget) .item-name{font-size:var(--lc-item-text-size);font-weight:var(--lc-item-text-weight);color:rgba(var(--lc-item-text-color));line-height:normal}:host(.letscooee-widget) .item-price{font-size:var(--lc-item-price-size);font-weight:var(--lc-item-price-weight);color:rgba(var(--lc-item-price-color))}:host(.letscooee-widget) .item-cmp-price{display:var(--lc-item-cmp-price-display);font-size:var(--lc-item-cmp-price-size);font-weight:var(--lc-item-cmp-price-weight);color:rgba(var(--lc-item-cmp-price-color));text-decoration:line-through;margin-left:10px}:host(.letscooee-widget) .cta-button{background-color:rgba(var(--lc-primary-button-bg-color));color:rgba(var(--lc-primary-button-color));font-weight:var(--lc-primary-button-weight);text-transform:var(--lc-primary-button-transform);border-radius:var(--lc-button-radius);font-size:var(--lc-button-size);font-family:var(--lc-button-family),serif;height:var(--lc-button-height);letter-spacing:var(--lc-button-letter-spacing);transition:filter .12s ease,background-color .2s ease,color .2s ease;border-width:1px;border-style:solid;border-color:rgba(var(--lc-primary-button-border-color));display:flex;align-items:center;justify-content:center}:host(.letscooee-widget) .cta-button:hover{filter:brightness(.95)}:host(.letscooee-widget) .cta-button:active{filter:brightness(.9)}:host(.letscooee-widget) .cta-button:focus-visible{outline:2px solid rgba(var(--lc-primary-color, 0, 0, 0));outline-offset:2px}:host(.letscooee-widget) .cta-button[aria-busy=true],:host(.letscooee-widget) .cta-button:disabled{opacity:.5}:host(.letscooee-widget) .view-cart-button{justify-content:center;align-items:center;flex-shrink:0;background:transparent;border:none}:host(.letscooee-widget) .video-loading-overlay{position:absolute;top:0;left:0;width:100%;height:100%;display:flex;align-items:center;justify-content:center;background-color:#00000080;z-index:0}:host(.letscooee-widget) .video-loading-overlay .loading-spinner{width:30px;height:30px;border:3px solid rgba(255,255,255,.3);border-top:3px solid #fff;border-radius:50%;animation:cooeeSpin 1s linear infinite}.letscooee-preview{border-radius:8px;overflow:hidden}.letscooee-preview:after{content:"";position:absolute;inset:0;border:2px dashed #f51c8f;z-index:1;border-radius:8px;pointer-events:none}.letscooee-preview-badge{position:absolute;top:4px;right:4px;padding:2px 8px;background:#f51c8f;color:#fff;border-radius:4px;font-size:12px;opacity:.8;line-height:1.2}#snackbar{visibility:hidden;color:#fff;background-color:#333;min-width:250px;margin-left:-125px;border-radius:2px;padding:16px;text-align:center;left:50%;bottom:30px;z-index:2147483647;position:fixed}#snackbar.show{visibility:visible;-webkit-animation:cooeeFadein .5s,cooeeFadeout .5s 2.5s;animation:cooeeFadein .5s,cooeeFadeout .5s 2.5s}
1
+ @layer cooee.base{:is(.letscooee-widget,:host(.letscooee-widget)) *,:is(.letscooee-widget,:host(.letscooee-widget)) :after,:is(.letscooee-widget,:host(.letscooee-widget)) :before,:is(.letscooee-widget,:host(.letscooee-widget)) ::backdrop,:is(.letscooee-widget,:host(.letscooee-widget)) ::file-selector-button{box-sizing:border-box;margin:0;padding:0;border:0 solid}:is(.letscooee-widget,:host(.letscooee-widget)) *{line-height:1.5;-webkit-text-size-adjust:100%;tab-size:4;font-family:var(--lc-text-family),serif;font-feature-settings:var(--default-font-feature-settings, normal);font-variation-settings:var(--default-font-variation-settings, normal);-webkit-tap-highlight-color:transparent}:is(.letscooee-widget,:host(.letscooee-widget)) hr{height:0;color:inherit;border-top-width:1px}:is(.letscooee-widget,:host(.letscooee-widget)) abbr:where([title]){-webkit-text-decoration:underline dotted;text-decoration:underline dotted}:is(.letscooee-widget,:host(.letscooee-widget)) h1,:is(.letscooee-widget,:host(.letscooee-widget)) h2,:is(.letscooee-widget,:host(.letscooee-widget)) h3,:is(.letscooee-widget,:host(.letscooee-widget)) h4,:is(.letscooee-widget,:host(.letscooee-widget)) h5,:is(.letscooee-widget,:host(.letscooee-widget)) h6{font-size:inherit;font-weight:inherit}:is(.letscooee-widget,:host(.letscooee-widget)) a{color:inherit;-webkit-text-decoration:inherit;text-decoration:inherit}:is(.letscooee-widget,:host(.letscooee-widget)) b,:is(.letscooee-widget,:host(.letscooee-widget)) strong{font-weight:bolder}:is(.letscooee-widget,:host(.letscooee-widget)) small{font-size:80%}:is(.letscooee-widget,:host(.letscooee-widget)) sub,:is(.letscooee-widget,:host(.letscooee-widget)) sup{font-size:75%;line-height:0;position:relative;vertical-align:baseline}:is(.letscooee-widget,:host(.letscooee-widget)) sub{bottom:-.25em}:is(.letscooee-widget,:host(.letscooee-widget)) sup{top:-.5em}:is(.letscooee-widget,:host(.letscooee-widget)) table{text-indent:0;border-color:inherit;border-collapse:collapse}:is(.letscooee-widget,:host(.letscooee-widget)) :-moz-focusring{outline:auto}:is(.letscooee-widget,:host(.letscooee-widget)) progress{vertical-align:baseline}:is(.letscooee-widget,:host(.letscooee-widget)) summary{display:list-item}:is(.letscooee-widget,:host(.letscooee-widget)) ol,:is(.letscooee-widget,:host(.letscooee-widget)) ul,:is(.letscooee-widget,:host(.letscooee-widget)) menu{list-style:none}:is(.letscooee-widget,:host(.letscooee-widget)) img,:is(.letscooee-widget,:host(.letscooee-widget)) svg,:is(.letscooee-widget,:host(.letscooee-widget)) video,:is(.letscooee-widget,:host(.letscooee-widget)) canvas,:is(.letscooee-widget,:host(.letscooee-widget)) audio,:is(.letscooee-widget,:host(.letscooee-widget)) iframe,:is(.letscooee-widget,:host(.letscooee-widget)) embed,:is(.letscooee-widget,:host(.letscooee-widget)) object{display:block;vertical-align:middle}:is(.letscooee-widget,:host(.letscooee-widget)) img,:is(.letscooee-widget,:host(.letscooee-widget)) video{max-width:100%;height:auto}:is(.letscooee-widget,:host(.letscooee-widget)) button,:is(.letscooee-widget,:host(.letscooee-widget)) input,:is(.letscooee-widget,:host(.letscooee-widget)) select,:is(.letscooee-widget,:host(.letscooee-widget)) optgroup,:is(.letscooee-widget,:host(.letscooee-widget)) textarea,:is(.letscooee-widget,:host(.letscooee-widget)) ::file-selector-button{font:inherit;font-feature-settings:inherit;font-variation-settings:inherit;letter-spacing:inherit;color:inherit;border-radius:0;background-color:transparent;opacity:1}:is(.letscooee-widget,:host(.letscooee-widget)) :where(select:is([multiple],[size])) optgroup{font-weight:bolder}:is(.letscooee-widget,:host(.letscooee-widget)) :where(select:is([multiple],[size])) optgroup option{padding-inline-start:20px}:is(.letscooee-widget,:host(.letscooee-widget)) ::file-selector-button{margin-inline-end:4px}:is(.letscooee-widget,:host(.letscooee-widget)) ::placeholder{opacity:1;color:color-mix(in oklab,currentColor 50%,transparent)}:is(.letscooee-widget,:host(.letscooee-widget)) textarea{resize:vertical}:is(.letscooee-widget,:host(.letscooee-widget)) ::-webkit-search-decoration{-webkit-appearance:none}:is(.letscooee-widget,:host(.letscooee-widget)) ::-webkit-date-and-time-value{min-height:1lh;text-align:inherit}:is(.letscooee-widget,:host(.letscooee-widget)) ::-webkit-datetime-edit{display:inline-flex}:is(.letscooee-widget,:host(.letscooee-widget)) ::-webkit-datetime-edit-fields-wrapper{padding:0}:is(.letscooee-widget,:host(.letscooee-widget)) ::-webkit-datetime-edit,:is(.letscooee-widget,:host(.letscooee-widget)) ::-webkit-datetime-edit-year-field,:is(.letscooee-widget,:host(.letscooee-widget)) ::-webkit-datetime-edit-month-field,:is(.letscooee-widget,:host(.letscooee-widget)) ::-webkit-datetime-edit-day-field,:is(.letscooee-widget,:host(.letscooee-widget)) ::-webkit-datetime-edit-hour-field,:is(.letscooee-widget,:host(.letscooee-widget)) ::-webkit-datetime-edit-minute-field,:is(.letscooee-widget,:host(.letscooee-widget)) ::-webkit-datetime-edit-second-field,:is(.letscooee-widget,:host(.letscooee-widget)) ::-webkit-datetime-edit-millisecond-field,:is(.letscooee-widget,:host(.letscooee-widget)) ::-webkit-datetime-edit-meridiem-field{padding-block:0}:is(.letscooee-widget,:host(.letscooee-widget)) :-moz-ui-invalid{box-shadow:none}:is(.letscooee-widget,:host(.letscooee-widget)) button,:is(.letscooee-widget,:host(.letscooee-widget)) input:where([type=button],[type=reset],[type=submit]),:is(.letscooee-widget,:host(.letscooee-widget)) ::file-selector-button{appearance:button}:is(.letscooee-widget,:host(.letscooee-widget)) ::-webkit-inner-spin-button,:is(.letscooee-widget,:host(.letscooee-widget)) ::-webkit-outer-spin-button{height:auto}:is(.letscooee-widget,:host(.letscooee-widget)) [hidden]:where(:not([hidden=until-found])){display:none!important}:is(.letscooee-widget,:host(.letscooee-widget)) a[href],:is(.letscooee-widget,:host(.letscooee-widget)) a[role=button],:is(.letscooee-widget,:host(.letscooee-widget)) button:not(:disabled):not([aria-disabled=true]){cursor:pointer}:is(.letscooee-widget,:host(.letscooee-widget)) button:disabled,:is(.letscooee-widget,:host(.letscooee-widget)) [aria-disabled=true],:is(.letscooee-widget,:host(.letscooee-widget)) a[aria-disabled=true]{cursor:not-allowed}}@layer cooee.utilities;@layer cooee.theme{:root{--lc-media-radius: var(--media-radius, 8px);--lc-primary-color: var(--color-primary, var(--color-foreground, 245 28 143));--lc-text-color: var(--color-foreground, 0 0 0);--lc-text-weight: var(--font-body-weight, 400);--lc-text-size: var(--font-size-regular, 16px);--lc-text-family: var(--font-family-body, inherit);--lc-video-card-width: 300px;--lc-video-card-height: 100%;--lc-button-radius: var(--buttons-radius, 8px);--lc-button-size: var(--buttons-size, 16px);--lc-button-family: inherit;--lc-button-letter-spacing: normal;--lc-button-height: auto;--lc-primary-button-bg-color: var(--color-button, 18 18 18);--lc-primary-button-color: var(--color-button-text, 255 255 255);--lc-primary-button-weight: var(--font-body-weight, 500);--lc-primary-button-transform: initial;--lc-primary-button-border-color: var(--lc-primary-color);--lc-secondary-button-bg-color: var(--color-button-text, 18 18 18);--lc-secondary-button-color: var(--color-button, 255 255 255);--lc-secondary-button-weight: var(--font-body-weight, 500);--lc-secondary-button-transform: initial;--lc-secondary-button-border-color: var(--lc-primary-color);--lc-heading-color: var(--color-foreground, 0 0 0);--lc-heading-family: var(--font-heading-family, var(--font-family-heading, inherit));--lc-heading-weight: var(--font-heading-weight, var(--font-weight-heading, 600));--lc-heading-size: var(--font-heading-size, var(--font-size-heading, 24px));--lc-heading-transform: initial;--lc-heading-letter-spacing: normal;--lc-heading-align: center;--lc-subheading-color: var(--color-foreground, 0 0 0);--lc-subheading-weight: var(--font-heading-weight, var(--font-weight-heading, 600));--lc-subheading-size: 18px;--lc-card-bg-color: 255, 255, 255, .5;--lc-card-radius: var(--media-radius, 8px);--lc-item-text-family: var(--lc-text-family);--lc-item-text-transform: initial;--lc-item-text-letter-spacing: inherit;--lc-item-text-color: var(--lc-text-color, 0 0 0);--lc-item-text-size: var(--lc-text-size, 16px);--lc-item-text-weight: var(--font-body-weight, 600);--lc-item-price-color: var(--lc-text-color, 0 0 0);--lc-item-price-size: var(--lc-text-size, 16px);--lc-item-price-weight: var(--font-body-weight, 500);--lc-item-cmp-price-color: var(--lc-text-color, 0, 0, 0, .75);--lc-item-cmp-price-size: var(--lc-text-size, 16px);--lc-item-cmp-price-weight: var(--font-body-weight, 500);--lc-item-cmp-price-display: none;--lc-description-size: inherit;--lc-description-weight: inherit;--lc-icon-button-size: 44px;--lc-icon-button-bg-color: 255, 255, 255, 1;--lc-icon-button-color: 0, 0, 0, 1;--lc-video-progress-bar-bg-color: 55, 65, 81, 1;--lc-video-progress-bar-color: var(--lc-primary-color);--lc-video-progress-bar-radius: 0;--lc-item-detail-footer-bg-color: 0, 0, 0, .3;--lc-item-detail-footer-box-shadow: 0 4px 6px rgba(82, 82, 91, .3);--lc-item-detail-footer-padding: 12px}}@-webkit-keyframes cooeeFadein{0%{bottom:0;opacity:0}to{bottom:30px;opacity:1}}@keyframes cooeeFadein{0%{bottom:0;opacity:0}to{bottom:30px;opacity:1}}@-webkit-keyframes cooeeFadeout{0%{bottom:30px;opacity:1}to{bottom:0;opacity:0}}@keyframes cooeeFadeout{0%{bottom:30px;opacity:1}to{bottom:0;opacity:0}}.lc-slide_in_top{animation:enterFromTop var(--lc-animation-duration, 1s) ease-out}@keyframes cooeeSlideInTop{0%{top:-100%;opacity:0}to{top:0;opacity:1}}.lc_slide_in_bottom{animation:cooeeSlideInBottom var(--lc-animation-duration, 1s) ease-out}.lc_slide_in_left{animation:cooeeSlideInLeft var(--lc-animation-duration, 1s) ease-out}.lc_slide_in_right{animation:cooeeSlideInRight var(--lc-animation-duration, 1s) ease-out}.lc_slide_in_top_left{animation:cooeeSlideInTopLeft var(--lc-animation-duration, 1s) ease-out}.lc_slide_in_top_right{animation:cooeeSlideInTopRight var(--lc-animation-duration, 1s) ease-out}.lc_slide_in_bottom_left{animation:cooeeSlideInBottomLeft var(--lc-animation-duration, 1s) ease-out}.lc_slide_in_bottom_right{animation:cooeeSlideInBottomRight var(--lc-animation-duration, 1s) ease-out}.lc_enter-pop-in{animation:popIn .3s ease-out}@keyframes cooeeSlideInBottom{0%{bottom:-100%;opacity:0}to{bottom:0;opacity:1}}@keyframes cooeeSlideInLeft{0%{left:-100%;opacity:0}to{left:0;opacity:1}}@keyframes cooeeSlideInRight{0%{right:-100%;opacity:0}to{right:0;opacity:1}}@keyframes cooeeSlideInTopLeft{0%{top:-100%;left:-100%;opacity:0}to{top:0;left:0;opacity:1}}@keyframes cooeeSlideInTopRight{0%{top:-100%;right:-100%;opacity:0}to{top:0;right:0;opacity:1}}@keyframes cooeeSlideInBottomLeft{0%{bottom:-100%;left:-100%;opacity:0}to{bottom:0;left:0;opacity:1}}@keyframes cooeeSlideInBottomRight{0%{bottom:-100%;right:-100%;opacity:0}to{bottom:0;right:0;opacity:1}}@keyframes popIn{0%{transform:scale(0);opacity:0}to{transform:scale(1);opacity:1}}@keyframes cooeeSpin{0%{transform:rotate(0)}to{transform:rotate(360deg)}}@font-face{font-family:swiper-icons;src:url(data:application/font-woff;charset=utf-8;base64,\ d09GRgABAAAAAAZgABAAAAAADAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABGRlRNAAAGRAAAABoAAAAci6qHkUdERUYAAAWgAAAAIwAAACQAYABXR1BPUwAABhQAAAAuAAAANuAY7+xHU1VCAAAFxAAAAFAAAABm2fPczU9TLzIAAAHcAAAASgAAAGBP9V5RY21hcAAAAkQAAACIAAABYt6F0cBjdnQgAAACzAAAAAQAAAAEABEBRGdhc3AAAAWYAAAACAAAAAj//wADZ2x5ZgAAAywAAADMAAAD2MHtryVoZWFkAAABbAAAADAAAAA2E2+eoWhoZWEAAAGcAAAAHwAAACQC9gDzaG10eAAAAigAAAAZAAAArgJkABFsb2NhAAAC0AAAAFoAAABaFQAUGG1heHAAAAG8AAAAHwAAACAAcABAbmFtZQAAA/gAAAE5AAACXvFdBwlwb3N0AAAFNAAAAGIAAACE5s74hXjaY2BkYGAAYpf5Hu/j+W2+MnAzMYDAzaX6QjD6/4//Bxj5GA8AuRwMYGkAPywL13jaY2BkYGA88P8Agx4j+/8fQDYfA1AEBWgDAIB2BOoAeNpjYGRgYNBh4GdgYgABEMnIABJzYNADCQAACWgAsQB42mNgYfzCOIGBlYGB0YcxjYGBwR1Kf2WQZGhhYGBiYGVmgAFGBiQQkOaawtDAoMBQxXjg/wEGPcYDDA4wNUA2CCgwsAAAO4EL6gAAeNpj2M0gyAACqxgGNWBkZ2D4/wMA+xkDdgAAAHjaY2BgYGaAYBkGRgYQiAHyGMF8FgYHIM3DwMHABGQrMOgyWDLEM1T9/w8UBfEMgLzE////P/5//f/V/xv+r4eaAAeMbAxwIUYmIMHEgKYAYjUcsDAwsLKxc3BycfPw8jEQA/gZBASFhEVExcQlJKWkZWTl5BUUlZRVVNXUNTQZBgMAAMR+E+gAEQFEAAAAKgAqACoANAA+AEgAUgBcAGYAcAB6AIQAjgCYAKIArAC2AMAAygDUAN4A6ADyAPwBBgEQARoBJAEuATgBQgFMAVYBYAFqAXQBfgGIAZIBnAGmAbIBzgHsAAB42u2NMQ6CUAyGW568x9AneYYgm4MJbhKFaExIOAVX8ApewSt4Bic4AfeAid3VOBixDxfPYEza5O+Xfi04YADggiUIULCuEJK8VhO4bSvpdnktHI5QCYtdi2sl8ZnXaHlqUrNKzdKcT8cjlq+rwZSvIVczNiezsfnP/uznmfPFBNODM2K7MTQ45YEAZqGP81AmGGcF3iPqOop0r1SPTaTbVkfUe4HXj97wYE+yNwWYxwWu4v1ugWHgo3S1XdZEVqWM7ET0cfnLGxWfkgR42o2PvWrDMBSFj/IHLaF0zKjRgdiVMwScNRAoWUoH78Y2icB/yIY09An6AH2Bdu/UB+yxopYshQiEvnvu0dURgDt8QeC8PDw7Fpji3fEA4z/PEJ6YOB5hKh4dj3EvXhxPqH/SKUY3rJ7srZ4FZnh1PMAtPhwP6fl2PMJMPDgeQ4rY8YT6Gzao0eAEA409DuggmTnFnOcSCiEiLMgxCiTI6Cq5DZUd3Qmp10vO0LaLTd2cjN4fOumlc7lUYbSQcZFkutRG7g6JKZKy0RmdLY680CDnEJ+UMkpFFe1RN7nxdVpXrC4aTtnaurOnYercZg2YVmLN/d/gczfEimrE/fs/bOuq29Zmn8tloORaXgZgGa78yO9/cnXm2BpaGvq25Dv9S4E9+5SIc9PqupJKhYFSSl47+Qcr1mYNAAAAeNptw0cKwkAAAMDZJA8Q7OUJvkLsPfZ6zFVERPy8qHh2YER+3i/BP83vIBLLySsoKimrqKqpa2hp6+jq6RsYGhmbmJqZSy0sraxtbO3sHRydnEMU4uR6yx7JJXveP7WrDycAAAAAAAH//wACeNpjYGRgYOABYhkgZgJCZgZNBkYGLQZtIJsFLMYAAAw3ALgAeNolizEKgDAQBCchRbC2sFER0YD6qVQiBCv/H9ezGI6Z5XBAw8CBK/m5iQQVauVbXLnOrMZv2oLdKFa8Pjuru2hJzGabmOSLzNMzvutpB3N42mNgZGBg4GKQYzBhYMxJLMlj4GBgAYow/P/PAJJhLM6sSoWKfWCAAwDAjgbRAAB42mNgYGBkAIIbCZo5IPrmUn0hGA0AO8EFTQAA) format("woff");font-weight:400;font-style:normal}.letscooee-engagement{z-index:0;position:relative!important;width:100%;flex-shrink:0}.letscooee-engagement.sticky-atc{position:fixed;bottom:0;left:0;width:100%;z-index:100}.letscooee-engagement button{cursor:pointer}:host(.letscooee-engagement) .lc-product-list,:host(.letscooee-engagement) .lc-product-swiper-list{scrollbar-width:none}:host(.letscooee-engagement) .lc-product-list::-webkit-scrollbar,:host(.letscooee-engagement) .lc-product-swiper-list::-webkit-scrollbar{display:none}cooee-icon{display:inline-block;-webkit-user-select:none;user-select:none;background-repeat:no-repeat;fill:currentColor;height:24px;width:24px;overflow:hidden;color:#fff}:host(.letscooee-widget) .heading-text{color:rgba(var(--lc-heading-color));font-size:var(--lc-heading-size);font-weight:var(--lc-heading-weight);font-family:var(--lc-heading-family);text-transform:var(--lc-heading-transform);letter-spacing:var(--lc-heading-letter-spacing);text-align:var(--lc-heading-align);margin-bottom:.5rem}.letscooee-backdrop{display:block!important;background-color:#000000b3;background-color:color-mix(in oklab,#000 70%,transparent)}:host(.letscooee-widget) .item-name,:host(.letscooee-widget) .item-price,:host(.letscooee-widget) .item-cmp-price{font-family:var(--lc-item-text-family);text-transform:var(--lc-item-text-transform);letter-spacing:var(--lc-item-text-letter-spacing)}:host(.letscooee-widget) .item-name{font-size:var(--lc-item-text-size);font-weight:var(--lc-item-text-weight);color:rgba(var(--lc-item-text-color));line-height:normal}:host(.letscooee-widget) .item-price{font-size:var(--lc-item-price-size);font-weight:var(--lc-item-price-weight);color:rgba(var(--lc-item-price-color))}:host(.letscooee-widget) .item-cmp-price{display:var(--lc-item-cmp-price-display);font-size:var(--lc-item-cmp-price-size);font-weight:var(--lc-item-cmp-price-weight);color:rgba(var(--lc-item-cmp-price-color));text-decoration:line-through;margin-left:10px}:host(.letscooee-widget) .cta-button{background-color:rgba(var(--lc-primary-button-bg-color));color:rgba(var(--lc-primary-button-color));font-weight:var(--lc-primary-button-weight);text-transform:var(--lc-primary-button-transform);border-radius:var(--lc-button-radius);font-size:var(--lc-button-size);font-family:var(--lc-button-family),serif;height:var(--lc-button-height);letter-spacing:var(--lc-button-letter-spacing);transition:filter .12s ease,background-color .2s ease,color .2s ease;border-width:1px;border-style:solid;border-color:rgba(var(--lc-primary-button-border-color));display:flex;align-items:center;justify-content:center}:host(.letscooee-widget) .cta-button:hover{filter:brightness(.95)}:host(.letscooee-widget) .cta-button:active{filter:brightness(.9)}:host(.letscooee-widget) .cta-button:focus-visible{outline:2px solid rgba(var(--lc-primary-color, 0, 0, 0));outline-offset:2px}:host(.letscooee-widget) .cta-button[aria-busy=true],:host(.letscooee-widget) .cta-button:disabled{opacity:.5}:host(.letscooee-widget) .view-cart-button{justify-content:center;align-items:center;flex-shrink:0;background:transparent;border:none}:host(.letscooee-widget) .video-loading-overlay{position:absolute;top:0;left:0;width:100%;height:100%;display:flex;align-items:center;justify-content:center;background-color:#00000080;z-index:0}:host(.letscooee-widget) .video-loading-overlay .loading-spinner{width:30px;height:30px;border:3px solid rgba(255,255,255,.3);border-top:3px solid #fff;border-radius:50%;animation:cooeeSpin 1s linear infinite}.letscooee-preview{border-radius:8px;overflow:hidden}.letscooee-preview:after{content:"";position:absolute;inset:0;border:2px dashed #f51c8f;z-index:1;border-radius:8px;pointer-events:none}.letscooee-preview-badge{position:absolute;top:4px;right:4px;padding:2px 8px;background:#f51c8f;color:#fff;border-radius:4px;font-size:12px;opacity:.8;line-height:1.2}#snackbar{visibility:hidden;color:#fff;background-color:#333;min-width:250px;margin-left:-125px;border-radius:2px;padding:16px;text-align:center;left:50%;bottom:30px;z-index:2147483647;position:fixed}#snackbar.show{visibility:visible;-webkit-animation:cooeeFadein .5s,cooeeFadeout .5s 2.5s;animation:cooeeFadein .5s,cooeeFadeout .5s 2.5s}
@@ -1,19 +1,19 @@
1
- import{A as Fi,B as Ai,a as ui,b as mi,d as Xe,e as pt,g as le,h as gi,i as ve,j as hi,k as vi,l as yi,m as Ci,n as $e,o as bi,p as wi,q as Ti,t as Ei,w as Ii,x as Ft,y as Pi,z as Di}from"./chunk-TFHLHURZ.js";import{c as se,d as pi,g as fi,i as xi,j as _i,k as ut,l as Vi,m as Si,n as Mi,q as ki}from"./chunk-JVXVRZDG.js";import{a as mt}from"./chunk-VS6KZOKA.js";import{a as Ue}from"./chunk-74XS3G6Q.js";import{$ as j,$a as ae,A as qt,Aa as J,B as kt,Ba as Y,Ca as Dt,D as Zt,Da as S,E as be,F as Wt,Ga as st,Ha as lt,Ia as ct,K as de,L as xe,La as re,Ma as Ye,N as Qt,O as I,P as Gt,Pa as oi,Q as Jt,Qa as ue,Ra as ri,S as Pt,Sa as je,Wa as Ke,X as B,Xa as Ae,Ya as we,Za as He,_ as Yt,aa as Kt,ab as ai,b as at,bb as si,cb as he,da as Xt,db as Te,e as Mt,eb as li,fa as ei,ga as Je,gb as ci,ha as H,ia as $,ja as ti,k as jt,ka as ne,la as oe,ma as U,na as P,oa as F,p as Ht,pa as Se,q as $t,qa as K,ra as pe,s as Ut,sa as X,sb as dt,ta as ii,ua as ni,v as ce,x as O,xb as di,y as N,z as zt,za as _e}from"./chunk-KHVPWQ5E.js";import{a as ge,b as St,e as Ui,f as zi}from"./chunk-V7UGKYBN.js";var Li=Ui((ft,Ni)=>{"use strict";(function(o,e){typeof ft=="object"&&typeof Ni<"u"?e(ft):typeof define=="function"&&define.amd?define(["exports"],e):e((o=typeof globalThis<"u"?globalThis:o||self).Sqrl={})})(ft,function(o){"use strict";function e(a){var l,d,u=new Error(a);return l=u,d=e.prototype,Object.setPrototypeOf?Object.setPrototypeOf(l,d):l.__proto__=d,u}function t(a,l,d){var u=l.slice(0,d).split(/\n/),n=u.length,i=u[n-1].length+1;throw e(a+=" at line "+n+" col "+i+`:
1
+ import{A as Fi,B as Ai,a as ui,b as mi,d as it,e as pt,g as se,h as gi,i as ye,j as hi,k as vi,l as yi,m as Ci,n as qe,o as bi,p as wi,q as Vi,t as Ei,w as Ii,x as Ft,y as Pi,z as Di}from"./chunk-GQD57Z2N.js";import{c as K,d as pi,g as fi,i as xi,j as _i,k as ut,l as Ti,m as Mi,n as Si,q as ki}from"./chunk-GOCC6EUG.js";import{a as mt}from"./chunk-VS6KZOKA.js";import{a as Ze}from"./chunk-74XS3G6Q.js";import{$ as j,$a as ae,A as qt,Aa as J,B as kt,Ba as Y,Ca as Dt,D as Zt,Da as M,E as xe,F as Qt,Ga as je,Ha as He,Ia as $e,K as ce,L as _e,La as he,Ma as et,N as Wt,O as I,P as Gt,Pa as oi,Q as Jt,Qa as ue,Ra as ri,S as Pt,Sa as Ue,Wa as tt,X as B,Xa as Ae,Ya as we,Za as ze,_ as Yt,aa as Kt,ab as ai,b as ct,bb as si,cb as ve,da as Xt,db as Ve,e as St,eb as li,fa as ei,ga as Xe,gb as ci,ha as H,ia as $,ja as ti,k as jt,ka as oe,la as re,ma as U,na as P,oa as F,p as Ht,pa as Me,q as $t,qa as X,ra as de,s as Ut,sa as ee,sb as dt,ta as ii,ua as ni,v as le,x as O,xb as di,y as L,z as zt,za as pe}from"./chunk-KHVPWQ5E.js";import{a as ge,b as Mt,e as Ui,f as zi}from"./chunk-V7UGKYBN.js";var Ni=Ui((ft,Li)=>{"use strict";(function(o,e){typeof ft=="object"&&typeof Li<"u"?e(ft):typeof define=="function"&&define.amd?define(["exports"],e):e((o=typeof globalThis<"u"?globalThis:o||self).Sqrl={})})(ft,function(o){"use strict";function e(s){var l,d,u=new Error(s);return l=u,d=e.prototype,Object.setPrototypeOf?Object.setPrototypeOf(l,d):l.__proto__=d,u}function t(s,l,d){var u=l.slice(0,d).split(/\n/),n=u.length,i=u[n-1].length+1;throw e(s+=" at line "+n+" col "+i+`:
2
2
 
3
3
  `+l.split(/\n/)[n-1]+`
4
- `+Array(i).join(" ")+"^")}e.prototype=Object.create(Error.prototype,{name:{value:"Squirrelly Error",enumerable:!1}});var r=new Function("return this")().Promise,s=!1;try{s=new Function("return (async function(){}).constructor")()}catch(a){if(!(a instanceof SyntaxError))throw a}function c(a,l){return Object.prototype.hasOwnProperty.call(a,l)}function f(a,l,d){for(var u in l)c(l,u)&&(l[u]==null||typeof l[u]!="object"||u!=="storage"&&u!=="prefixes"||d?a[u]=l[u]:a[u]=f({},l[u]));return a}var g=/^async +/,_=/`(?:\\[\s\S]|\${(?:[^{}]|{(?:[^{}]|{[^}]*})*})*}|(?!\${)[^\\`])*`/g,D=/'(?:\\[\s\w"'\\`]|[^\n\r'\\])*?'/g,W=/"(?:\\[\s\w"'\\`]|[^\n\r"\\])*?"/g,Ee=/[.*+\-?^${}()|[\]\\]/g;function Ie(a){return Ee.test(a)?a.replace(Ee,"\\$&"):a}function et(a,l){l.rmWhitespace&&(a=a.replace(/[\r\n]+/g,`
5
- `).replace(/^\s+|\s+$/gm,"")),_.lastIndex=0,D.lastIndex=0,W.lastIndex=0;var d=l.prefixes,u=[d.h,d.b,d.i,d.r,d.c,d.e].reduce(function(b,v){return b&&v?b+"|"+Ie(v):v?Ie(v):b},""),n=new RegExp("([|()]|=>)|('|\"|`|\\/\\*)|\\s*((\\/)?(-|_)?"+Ie(l.tags[1])+")","g"),i=new RegExp("([^]*?)"+Ie(l.tags[0])+"(-|_)?\\s*("+u+")?\\s*","g"),p=0,m=!1;function y(b,v){var T,w={f:[]},k=0,E="c";function V(Pe){var De=a.slice(p,Pe),q=De.trim();if(E==="f")q==="safe"?w.raw=!0:l.async&&g.test(q)?(q=q.replace(g,""),w.f.push([q,"",!0])):w.f.push([q,""]);else if(E==="fp")w.f[w.f.length-1][1]+=q;else if(E==="err"){if(q){var me=De.search(/\S/);t("invalid syntax",a,p+me)}}else w[E]=q;p=Pe+1}for(v==="h"||v==="b"||v==="c"?E="n":v==="r"&&(w.raw=!0,v="i"),n.lastIndex=p;(T=n.exec(a))!==null;){var A=T[1],L=T[2],z=T[3],Q=T[4],te=T[5],M=T.index;if(A)A==="("?(k===0&&(E==="n"?(V(M),E="p"):E==="f"&&(V(M),E="fp")),k++):A===")"?--k===0&&E!=="c"&&(V(M),E="err"):k===0&&A==="|"?(V(M),E="f"):A==="=>"&&(V(M),p+=1,E="res");else if(L)if(L==="/*"){var Ce=a.indexOf("*/",n.lastIndex);Ce===-1&&t("unclosed comment",a,T.index),n.lastIndex=Ce+2}else L==="'"?(D.lastIndex=T.index,D.exec(a)?n.lastIndex=D.lastIndex:t("unclosed string",a,T.index)):L==='"'?(W.lastIndex=T.index,W.exec(a)?n.lastIndex=W.lastIndex:t("unclosed string",a,T.index)):L==="`"&&(_.lastIndex=T.index,_.exec(a)?n.lastIndex=_.lastIndex:t("unclosed string",a,T.index));else if(z)return V(M),p=M+T[0].length,i.lastIndex=p,m=te,Q&&v==="h"&&(v="s"),w.t=v,w}return t("unclosed tag",a,b),w}var C=(function b(v,T){v.b=[],v.d=[];var w,k=!1,E=[];function V(me,rt){me&&(me=(function(G,Fe,Le,Be){var ie,fe;return typeof Fe.autoTrim=="string"?ie=fe=Fe.autoTrim:Array.isArray(Fe.autoTrim)&&(ie=Fe.autoTrim[1],fe=Fe.autoTrim[0]),(Le||Le===!1)&&(ie=Le),(Be||Be===!1)&&(fe=Be),ie==="slurp"&&fe==="slurp"?G.trim():(ie==="_"||ie==="slurp"?G=String.prototype.trimLeft?G.trimLeft():G.replace(/^[\s\uFEFF\xA0]+/,""):ie!=="-"&&ie!=="nl"||(G=G.replace(/^(?:\n|\r|\r\n)/,"")),fe==="_"||fe==="slurp"?G=String.prototype.trimRight?G.trimRight():G.replace(/[\s\uFEFF\xA0]+$/,""):fe!=="-"&&fe!=="nl"||(G=G.replace(/(?:\n|\r|\r\n)$/,"")),G)})(me,l,m,rt))&&(me=me.replace(/\\|'/g,"\\$&").replace(/\r\n|\n|\r/g,"\\n"),E.push(me))}for(;(w=i.exec(a))!==null;){var A,L=w[1],z=w[2],Q=w[3]||"";for(var te in d)if(d[te]===Q){A=te;break}V(L,z),p=w.index+w[0].length,A||t("unrecognized tag type: "+Q,a,p);var M=y(w.index,A),Ce=M.t;if(Ce==="h"){var Pe=M.n||"";l.async&&g.test(Pe)&&(M.a=!0,M.n=Pe.replace(g,"")),M=b(M),E.push(M)}else if(Ce==="c"){if(v.n===M.n)return k?(k.d=E,v.b.push(k)):v.d=E,v;t("Helper start and end don't match",a,w.index+w[0].length)}else if(Ce==="b"){k?(k.d=E,v.b.push(k)):v.d=E;var De=M.n||"";l.async&&g.test(De)&&(M.a=!0,M.n=De.replace(g,"")),k=M,E=[]}else if(Ce==="s"){var q=M.n||"";l.async&&g.test(q)&&(M.a=!0,M.n=q.replace(g,"")),E.push(M)}else E.push(M)}if(!T)throw e('unclosed helper "'+v.n+'"');return V(a.slice(p,a.length),!1),v.d=E,v})({f:[]},!0);if(l.plugins)for(var x=0;x<l.plugins.length;x++){var h=l.plugins[x];h.processAST&&(C.d=h.processAST(C.d,l))}return C.d}function qe(a,l){var d=et(a,l),u="var tR='';"+(l.useWith?"with("+l.varName+"||{}){":"")+ee(d,l)+"if(cb){cb(null,tR)} return tR"+(l.useWith?"}":"");if(l.plugins)for(var n=0;n<l.plugins.length;n++){var i=l.plugins[n];i.processFnString&&(u=i.processFnString(u,l))}return u}function Ze(a,l){for(var d=0;d<l.length;d++){var u=l[d][0],n=l[d][1];a=(l[d][2]?"await ":"")+"c.l('F','"+u+"')("+a,n&&(a+=","+n),a+=")"}return a}function R(a,l,d,u,n,i){var p="{exec:"+(n?"async ":"")+We(d,l,a)+",params:["+u+"]";return i&&(p+=",name:'"+i+"'"),n&&(p+=",async:true"),p+="}"}function Vt(a,l){for(var d="[",u=0;u<a.length;u++){var n=a[u];d+=R(l,n.res||"",n.d,n.p||"",n.a,n.n),u<a.length&&(d+=",")}return d+="]"}function We(a,l,d){return"function("+l+"){var tR='';"+ee(a,d)+"return tR}"}function ee(a,l){for(var d=0,u=a.length,n="";d<u;d++){var i=a[d];if(typeof i=="string")n+="tR+='"+i+"';";else{var p=i.t,m=i.c||"",y=i.f,C=i.n||"",x=i.p||"",h=i.res||"",b=i.b,v=!!i.a;if(p==="i"){l.defaultFilter&&(m="c.l('F','"+l.defaultFilter+"')("+m+")");var T=Ze(m,y);!i.raw&&l.autoEscape&&(T="c.l('F','e')("+T+")"),n+="tR+="+T+";"}else if(p==="h")if(l.storage.nativeHelpers.get(C))n+=l.storage.nativeHelpers.get(C)(i,l);else{var w=(v?"await ":"")+"c.l('H','"+C+"')("+R(l,h,i.d,x,v);w+=b?","+Vt(b,l):",[]",n+="tR+="+Ze(w+=",c)",y)+";"}else p==="s"?n+="tR+="+Ze((v?"await ":"")+"c.l('H','"+C+"')({params:["+x+"]},[],c)",y)+";":p==="e"&&(n+=m+`
6
- `)}}return n}var Oe=(function(){function a(l){this.cache=l}return a.prototype.define=function(l,d){this.cache[l]=d},a.prototype.get=function(l){return this.cache[l]},a.prototype.remove=function(l){delete this.cache[l]},a.prototype.reset=function(){this.cache={}},a.prototype.load=function(l){f(this.cache,l,!0)},a})();function ye(a,l,d,u){if(l&&l.length>0)throw e((u?"Native":"")+"Helper '"+a+"' doesn't accept blocks");if(d&&d.length>0)throw e((u?"Native":"")+"Helper '"+a+"' doesn't accept filters")}var Et={"&":"&amp;","<":"&lt;",">":"&gt;",'"':"&quot;","'":"&#39;"};function It(a){return Et[a]}var tt=new Oe({}),it=new Oe({each:function(a,l){var d="",u=a.params[0];if(ye("each",l,!1),a.async)return new Promise(function(i){(function p(m,y,C,x,h){C(m[y],y).then(function(b){x+=b,y===m.length-1?h(x):p(m,y+1,C,x,h)})})(u,0,a.exec,d,i)});for(var n=0;n<u.length;n++)d+=a.exec(u[n],n);return d},foreach:function(a,l){var d=a.params[0];if(ye("foreach",l,!1),a.async)return new Promise(function(i){(function p(m,y,C,x,h,b){x(y[C],m[y[C]]).then(function(v){h+=v,C===y.length-1?b(h):p(m,y,C+1,x,h,b)})})(d,Object.keys(d),0,a.exec,"",i)});var u="";for(var n in d)c(d,n)&&(u+=a.exec(n,d[n]));return u},include:function(a,l,d){ye("include",l,!1);var u=d.storage.templates.get(a.params[0]);if(!u)throw e('Could not fetch template "'+a.params[0]+'"');return u(a.params[1],d)},extends:function(a,l,d){var u=a.params[1]||{};u.content=a.exec();for(var n=0;n<l.length;n++){var i=l[n];u[i.name]=i.exec()}var p=d.storage.templates.get(a.params[0]);if(!p)throw e('Could not fetch template "'+a.params[0]+'"');return p(u,d)},useScope:function(a,l){return ye("useScope",l,!1),a.exec(a.params[0])}}),nt=new Oe({if:function(a,l){ye("if",!1,a.f,!0);var d="if("+a.p+"){"+ee(a.d,l)+"}";if(a.b)for(var u=0;u<a.b.length;u++){var n=a.b[u];n.n==="else"?d+="else{"+ee(n.d,l)+"}":n.n==="elif"&&(d+="else if("+n.p+"){"+ee(n.d,l)+"}")}return d},try:function(a,l){if(ye("try",!1,a.f,!0),!a.b||a.b.length!==1||a.b[0].n!=="catch")throw e("native helper 'try' only accepts 1 block, 'catch'");var d="try{"+ee(a.d,l)+"}",u=a.b[0];return d+="catch"+(u.res?"("+u.res+")":"")+"{"+ee(u.d,l)+"}"},block:function(a,l){return ye("block",a.b,a.f,!0),"if(!"+l.varName+"["+a.p+"]){tR+=("+We(a.d,"",l)+")()}else{tR+="+l.varName+"["+a.p+"]}"}}),ot=new Oe({e:function(a){var l=String(a);return/[&<>"']/.test(l)?l.replace(/[&<>"']/g,It):l}}),Ne={varName:"it",autoTrim:[!1,"nl"],autoEscape:!0,defaultFilter:!1,tags:["{{","}}"],l:function(a,l){if(a==="H"){var d=this.storage.helpers.get(l);if(d)return d;throw e("Can't find helper '"+l+"'")}if(a==="F"){var u=this.storage.filters.get(l);if(u)return u;throw e("Can't find filter '"+l+"'")}},async:!1,storage:{helpers:it,nativeHelpers:nt,filters:ot,templates:tt},prefixes:{h:"@",b:"#",i:"",r:"*",c:"/",e:"!"},cache:!1,plugins:[],useWith:!1};function Qe(a,l){var d={};return f(d,Ne),l&&f(d,l),a&&f(d,a),d.l.bind(d),d}function Ge(a,l){var d,u=Qe(l||{}),n=Function;if(u.async){if(!s)throw e("This environment doesn't support async/await");n=s}if(u.varName&&(d=u.varName,/^[a-zA-Z_$][a-zA-Z0-9_$]*$/.test(d)===!1))throw e("options.varName must be a valid JS identifier");try{return new n(u.varName,"c","cb",qe(a,u))}catch(i){throw i instanceof SyntaxError?e(`Bad template syntax
4
+ `+Array(i).join(" ")+"^")}e.prototype=Object.create(Error.prototype,{name:{value:"Squirrelly Error",enumerable:!1}});var r=new Function("return this")().Promise,a=!1;try{a=new Function("return (async function(){}).constructor")()}catch(s){if(!(s instanceof SyntaxError))throw s}function c(s,l){return Object.prototype.hasOwnProperty.call(s,l)}function m(s,l,d){for(var u in l)c(l,u)&&(l[u]==null||typeof l[u]!="object"||u!=="storage"&&u!=="prefixes"||d?s[u]=l[u]:s[u]=m({},l[u]));return s}var g=/^async +/,_=/`(?:\\[\s\S]|\${(?:[^{}]|{(?:[^{}]|{[^}]*})*})*}|(?!\${)[^\\`])*`/g,D=/'(?:\\[\s\w"'\\`]|[^\n\r'\\])*?'/g,Q=/"(?:\\[\s\w"'\\`]|[^\n\r"\\])*?"/g,Ee=/[.*+\-?^${}()|[\]\\]/g;function Ie(s){return Ee.test(s)?s.replace(Ee,"\\$&"):s}function nt(s,l){l.rmWhitespace&&(s=s.replace(/[\r\n]+/g,`
5
+ `).replace(/^\s+|\s+$/gm,"")),_.lastIndex=0,D.lastIndex=0,Q.lastIndex=0;var d=l.prefixes,u=[d.h,d.b,d.i,d.r,d.c,d.e].reduce(function(b,v){return b&&v?b+"|"+Ie(v):v?Ie(v):b},""),n=new RegExp("([|()]|=>)|('|\"|`|\\/\\*)|\\s*((\\/)?(-|_)?"+Ie(l.tags[1])+")","g"),i=new RegExp("([^]*?)"+Ie(l.tags[0])+"(-|_)?\\s*("+u+")?\\s*","g"),p=0,f=!1;function y(b,v){var V,w={f:[]},k=0,E="c";function T(Pe){var De=s.slice(p,Pe),q=De.trim();if(E==="f")q==="safe"?w.raw=!0:l.async&&g.test(q)?(q=q.replace(g,""),w.f.push([q,"",!0])):w.f.push([q,""]);else if(E==="fp")w.f[w.f.length-1][1]+=q;else if(E==="err"){if(q){var me=De.search(/\S/);t("invalid syntax",s,p+me)}}else w[E]=q;p=Pe+1}for(v==="h"||v==="b"||v==="c"?E="n":v==="r"&&(w.raw=!0,v="i"),n.lastIndex=p;(V=n.exec(s))!==null;){var A=V[1],N=V[2],z=V[3],W=V[4],ie=V[5],S=V.index;if(A)A==="("?(k===0&&(E==="n"?(T(S),E="p"):E==="f"&&(T(S),E="fp")),k++):A===")"?--k===0&&E!=="c"&&(T(S),E="err"):k===0&&A==="|"?(T(S),E="f"):A==="=>"&&(T(S),p+=1,E="res");else if(N)if(N==="/*"){var be=s.indexOf("*/",n.lastIndex);be===-1&&t("unclosed comment",s,V.index),n.lastIndex=be+2}else N==="'"?(D.lastIndex=V.index,D.exec(s)?n.lastIndex=D.lastIndex:t("unclosed string",s,V.index)):N==='"'?(Q.lastIndex=V.index,Q.exec(s)?n.lastIndex=Q.lastIndex:t("unclosed string",s,V.index)):N==="`"&&(_.lastIndex=V.index,_.exec(s)?n.lastIndex=_.lastIndex:t("unclosed string",s,V.index));else if(z)return T(S),p=S+V[0].length,i.lastIndex=p,f=ie,W&&v==="h"&&(v="s"),w.t=v,w}return t("unclosed tag",s,b),w}var C=(function b(v,V){v.b=[],v.d=[];var w,k=!1,E=[];function T(me,lt){me&&(me=(function(G,Fe,Ne,Be){var ne,fe;return typeof Fe.autoTrim=="string"?ne=fe=Fe.autoTrim:Array.isArray(Fe.autoTrim)&&(ne=Fe.autoTrim[1],fe=Fe.autoTrim[0]),(Ne||Ne===!1)&&(ne=Ne),(Be||Be===!1)&&(fe=Be),ne==="slurp"&&fe==="slurp"?G.trim():(ne==="_"||ne==="slurp"?G=String.prototype.trimLeft?G.trimLeft():G.replace(/^[\s\uFEFF\xA0]+/,""):ne!=="-"&&ne!=="nl"||(G=G.replace(/^(?:\n|\r|\r\n)/,"")),fe==="_"||fe==="slurp"?G=String.prototype.trimRight?G.trimRight():G.replace(/[\s\uFEFF\xA0]+$/,""):fe!=="-"&&fe!=="nl"||(G=G.replace(/(?:\n|\r|\r\n)$/,"")),G)})(me,l,f,lt))&&(me=me.replace(/\\|'/g,"\\$&").replace(/\r\n|\n|\r/g,"\\n"),E.push(me))}for(;(w=i.exec(s))!==null;){var A,N=w[1],z=w[2],W=w[3]||"";for(var ie in d)if(d[ie]===W){A=ie;break}T(N,z),p=w.index+w[0].length,A||t("unrecognized tag type: "+W,s,p);var S=y(w.index,A),be=S.t;if(be==="h"){var Pe=S.n||"";l.async&&g.test(Pe)&&(S.a=!0,S.n=Pe.replace(g,"")),S=b(S),E.push(S)}else if(be==="c"){if(v.n===S.n)return k?(k.d=E,v.b.push(k)):v.d=E,v;t("Helper start and end don't match",s,w.index+w[0].length)}else if(be==="b"){k?(k.d=E,v.b.push(k)):v.d=E;var De=S.n||"";l.async&&g.test(De)&&(S.a=!0,S.n=De.replace(g,"")),k=S,E=[]}else if(be==="s"){var q=S.n||"";l.async&&g.test(q)&&(S.a=!0,S.n=q.replace(g,"")),E.push(S)}else E.push(S)}if(!V)throw e('unclosed helper "'+v.n+'"');return T(s.slice(p,s.length),!1),v.d=E,v})({f:[]},!0);if(l.plugins)for(var x=0;x<l.plugins.length;x++){var h=l.plugins[x];h.processAST&&(C.d=h.processAST(C.d,l))}return C.d}function We(s,l){var d=nt(s,l),u="var tR='';"+(l.useWith?"with("+l.varName+"||{}){":"")+te(d,l)+"if(cb){cb(null,tR)} return tR"+(l.useWith?"}":"");if(l.plugins)for(var n=0;n<l.plugins.length;n++){var i=l.plugins[n];i.processFnString&&(u=i.processFnString(u,l))}return u}function Ge(s,l){for(var d=0;d<l.length;d++){var u=l[d][0],n=l[d][1];s=(l[d][2]?"await ":"")+"c.l('F','"+u+"')("+s,n&&(s+=","+n),s+=")"}return s}function R(s,l,d,u,n,i){var p="{exec:"+(n?"async ":"")+Je(d,l,s)+",params:["+u+"]";return i&&(p+=",name:'"+i+"'"),n&&(p+=",async:true"),p+="}"}function Tt(s,l){for(var d="[",u=0;u<s.length;u++){var n=s[u];d+=R(l,n.res||"",n.d,n.p||"",n.a,n.n),u<s.length&&(d+=",")}return d+="]"}function Je(s,l,d){return"function("+l+"){var tR='';"+te(s,d)+"return tR}"}function te(s,l){for(var d=0,u=s.length,n="";d<u;d++){var i=s[d];if(typeof i=="string")n+="tR+='"+i+"';";else{var p=i.t,f=i.c||"",y=i.f,C=i.n||"",x=i.p||"",h=i.res||"",b=i.b,v=!!i.a;if(p==="i"){l.defaultFilter&&(f="c.l('F','"+l.defaultFilter+"')("+f+")");var V=Ge(f,y);!i.raw&&l.autoEscape&&(V="c.l('F','e')("+V+")"),n+="tR+="+V+";"}else if(p==="h")if(l.storage.nativeHelpers.get(C))n+=l.storage.nativeHelpers.get(C)(i,l);else{var w=(v?"await ":"")+"c.l('H','"+C+"')("+R(l,h,i.d,x,v);w+=b?","+Tt(b,l):",[]",n+="tR+="+Ge(w+=",c)",y)+";"}else p==="s"?n+="tR+="+Ge((v?"await ":"")+"c.l('H','"+C+"')({params:["+x+"]},[],c)",y)+";":p==="e"&&(n+=f+`
6
+ `)}}return n}var Oe=(function(){function s(l){this.cache=l}return s.prototype.define=function(l,d){this.cache[l]=d},s.prototype.get=function(l){return this.cache[l]},s.prototype.remove=function(l){delete this.cache[l]},s.prototype.reset=function(){this.cache={}},s.prototype.load=function(l){m(this.cache,l,!0)},s})();function Ce(s,l,d,u){if(l&&l.length>0)throw e((u?"Native":"")+"Helper '"+s+"' doesn't accept blocks");if(d&&d.length>0)throw e((u?"Native":"")+"Helper '"+s+"' doesn't accept filters")}var Et={"&":"&amp;","<":"&lt;",">":"&gt;",'"':"&quot;","'":"&#39;"};function It(s){return Et[s]}var ot=new Oe({}),rt=new Oe({each:function(s,l){var d="",u=s.params[0];if(Ce("each",l,!1),s.async)return new Promise(function(i){(function p(f,y,C,x,h){C(f[y],y).then(function(b){x+=b,y===f.length-1?h(x):p(f,y+1,C,x,h)})})(u,0,s.exec,d,i)});for(var n=0;n<u.length;n++)d+=s.exec(u[n],n);return d},foreach:function(s,l){var d=s.params[0];if(Ce("foreach",l,!1),s.async)return new Promise(function(i){(function p(f,y,C,x,h,b){x(y[C],f[y[C]]).then(function(v){h+=v,C===y.length-1?b(h):p(f,y,C+1,x,h,b)})})(d,Object.keys(d),0,s.exec,"",i)});var u="";for(var n in d)c(d,n)&&(u+=s.exec(n,d[n]));return u},include:function(s,l,d){Ce("include",l,!1);var u=d.storage.templates.get(s.params[0]);if(!u)throw e('Could not fetch template "'+s.params[0]+'"');return u(s.params[1],d)},extends:function(s,l,d){var u=s.params[1]||{};u.content=s.exec();for(var n=0;n<l.length;n++){var i=l[n];u[i.name]=i.exec()}var p=d.storage.templates.get(s.params[0]);if(!p)throw e('Could not fetch template "'+s.params[0]+'"');return p(u,d)},useScope:function(s,l){return Ce("useScope",l,!1),s.exec(s.params[0])}}),at=new Oe({if:function(s,l){Ce("if",!1,s.f,!0);var d="if("+s.p+"){"+te(s.d,l)+"}";if(s.b)for(var u=0;u<s.b.length;u++){var n=s.b[u];n.n==="else"?d+="else{"+te(n.d,l)+"}":n.n==="elif"&&(d+="else if("+n.p+"){"+te(n.d,l)+"}")}return d},try:function(s,l){if(Ce("try",!1,s.f,!0),!s.b||s.b.length!==1||s.b[0].n!=="catch")throw e("native helper 'try' only accepts 1 block, 'catch'");var d="try{"+te(s.d,l)+"}",u=s.b[0];return d+="catch"+(u.res?"("+u.res+")":"")+"{"+te(u.d,l)+"}"},block:function(s,l){return Ce("block",s.b,s.f,!0),"if(!"+l.varName+"["+s.p+"]){tR+=("+Je(s.d,"",l)+")()}else{tR+="+l.varName+"["+s.p+"]}"}}),st=new Oe({e:function(s){var l=String(s);return/[&<>"']/.test(l)?l.replace(/[&<>"']/g,It):l}}),Le={varName:"it",autoTrim:[!1,"nl"],autoEscape:!0,defaultFilter:!1,tags:["{{","}}"],l:function(s,l){if(s==="H"){var d=this.storage.helpers.get(l);if(d)return d;throw e("Can't find helper '"+l+"'")}if(s==="F"){var u=this.storage.filters.get(l);if(u)return u;throw e("Can't find filter '"+l+"'")}},async:!1,storage:{helpers:rt,nativeHelpers:at,filters:st,templates:ot},prefixes:{h:"@",b:"#",i:"",r:"*",c:"/",e:"!"},cache:!1,plugins:[],useWith:!1};function Ye(s,l){var d={};return m(d,Le),l&&m(d,l),s&&m(d,s),d.l.bind(d),d}function Ke(s,l){var d,u=Ye(l||{}),n=Function;if(u.async){if(!a)throw e("This environment doesn't support async/await");n=a}if(u.varName&&(d=u.varName,/^[a-zA-Z_$][a-zA-Z0-9_$]*$/.test(d)===!1))throw e("options.varName must be a valid JS identifier");try{return new n(u.varName,"c","cb",We(s,u))}catch(i){throw i instanceof SyntaxError?e(`Bad template syntax
7
7
 
8
8
  `+i.message+`
9
9
  `+Array(i.message.length+1).join("=")+`
10
- `+qe(a,u)):i}}function ke(a,l){var d;return l.cache&&l.name&&l.storage.templates.get(l.name)?l.storage.templates.get(l.name):(d=typeof a=="function"?a:Ge(a,l),l.cache&&l.name&&l.storage.templates.define(l.name,d),d)}Ne.l.bind(Ne),o.compile=Ge,o.compileScope=ee,o.compileScopeIntoFunction=We,o.compileToString=qe,o.defaultConfig=Ne,o.filters=ot,o.getConfig=Qe,o.helpers=it,o.nativeHelpers=nt,o.parse=et,o.render=function(a,l,d,u){var n=Qe(d||{});if(!n.async)return ke(a,n)(l,n);if(!u){if(typeof r=="function")return new r(function(i,p){try{i(ke(a,n)(l,n))}catch(m){p(m)}});throw e("Please provide a callback function, this env doesn't support Promises")}try{ke(a,n)(l,n,u)}catch(i){return u(i)}},o.templates=tt,Object.defineProperty(o,"__esModule",{value:!0})})});var qi={schedule(o,e){let t=setTimeout(o,e);return()=>clearTimeout(t)}};function Zi(o){return o.replace(/[A-Z]/g,e=>`-${e.toLowerCase()}`)}function Wi(o){return!!o&&o.nodeType===Node.ELEMENT_NODE}var At;function Qi(o,e){if(!At){let t=Element.prototype;At=t.matches||t.matchesSelector||t.mozMatchesSelector||t.msMatchesSelector||t.oMatchesSelector||t.webkitMatchesSelector}return o.nodeType===Node.ELEMENT_NODE?At.call(o,e):!1}function Gi(o){let e={};return o.forEach(({propName:t,templateName:r,transform:s})=>{e[Zi(r)]=[t,s]}),e}function Ji(o,e){return e.get(Pt).resolveComponentFactory(o).inputs}function Yi(o,e){let t=o.childNodes,r=e.map(()=>[]),s=-1;e.some((c,f)=>c==="*"?(s=f,!0):!1);for(let c=0,f=t.length;c<f;++c){let g=t[c],_=Ki(g,e,s);_!==-1&&r[_].push(g)}return r}function Ki(o,e,t){let r=t;return Wi(o)&&e.some((s,c)=>s!=="*"&&Qi(o,s)?(r=c,!0):!1),r}var Xi=10,Rt=class{componentFactory;inputMap=new Map;constructor(e,t){this.componentFactory=t.get(Pt).resolveComponentFactory(e);for(let r of this.componentFactory.inputs)this.inputMap.set(r.propName,r.templateName)}create(e){return new Ot(this.componentFactory,e,this.inputMap)}},Ot=class{componentFactory;injector;inputMap;eventEmitters=new Mt(1);events=this.eventEmitters.pipe(Ht(e=>jt(...e)));componentRef=null;scheduledDestroyFn=null;initialInputValues=new Map;ngZone;elementZone;appRef;cdScheduler;constructor(e,t,r){this.componentFactory=e,this.injector=t,this.inputMap=r,this.ngZone=this.injector.get(Xt),this.appRef=this.injector.get(ei),this.cdScheduler=t.get(Wt),this.elementZone=typeof Zone>"u"?null:this.ngZone.run(()=>Zone.current)}connect(e){this.runInZone(()=>{if(this.scheduledDestroyFn!==null){this.scheduledDestroyFn(),this.scheduledDestroyFn=null;return}this.componentRef===null&&this.initializeComponent(e)})}disconnect(){this.runInZone(()=>{this.componentRef===null||this.scheduledDestroyFn!==null||(this.scheduledDestroyFn=qi.schedule(()=>{this.componentRef!==null&&(this.componentRef.destroy(),this.componentRef=null)},Xi))})}getInputValue(e){return this.runInZone(()=>this.componentRef===null?this.initialInputValues.get(e):this.componentRef.instance[e])}setInputValue(e,t){if(this.componentRef===null){this.initialInputValues.set(e,t);return}this.runInZone(()=>{this.componentRef.setInput(this.inputMap.get(e)??e,t),Gt(this.componentRef.hostView)&&(Jt(this.componentRef.changeDetectorRef),this.cdScheduler.notify(6))})}initializeComponent(e){let t=kt.create({providers:[],parent:this.injector}),r=Yi(e,this.componentFactory.ngContentSelectors);this.componentRef=this.componentFactory.create(t,r,e),this.initializeInputs(),this.initializeOutputs(this.componentRef),this.appRef.attachView(this.componentRef.hostView),this.componentRef.hostView.detectChanges()}initializeInputs(){for(let[e,t]of this.initialInputValues)this.setInputValue(e,t);this.initialInputValues.clear()}initializeOutputs(e){let t=this.componentFactory.outputs.map(({propName:r,templateName:s})=>{let c=e.instance[r];return new at(f=>{let g=c.subscribe(_=>f.next({name:s,value:_}));return()=>g.unsubscribe()})});this.eventEmitters.next(t)}runInZone(e){return this.elementZone&&Zone.current!==this.elementZone?this.ngZone.run(e):e()}},Nt=class extends HTMLElement{ngElementEventsSubscription=null};function Ri(o,e){let t=Ji(o,e.injector),r=e.strategyFactory||new Rt(o,e.injector),s=Gi(t);class c extends Nt{injector;static observedAttributes=Object.keys(s);get ngElementStrategy(){if(!this._ngElementStrategy){let g=this._ngElementStrategy=r.create(this.injector||e.injector);t.forEach(({propName:_,transform:D})=>{if(!this.hasOwnProperty(_))return;let W=this[_];delete this[_],g.setInputValue(_,W,D)})}return this._ngElementStrategy}_ngElementStrategy;constructor(g){super(),this.injector=g}attributeChangedCallback(g,_,D,W){let[Ee,Ie]=s[g];this.ngElementStrategy.setInputValue(Ee,D,Ie)}connectedCallback(){let g=!1;this.ngElementStrategy.events&&(this.subscribeToEvents(),g=!0),this.ngElementStrategy.connect(this),g||this.subscribeToEvents()}disconnectedCallback(){this._ngElementStrategy&&this._ngElementStrategy.disconnect(),this.ngElementEventsSubscription&&(this.ngElementEventsSubscription.unsubscribe(),this.ngElementEventsSubscription=null)}subscribeToEvents(){this.ngElementEventsSubscription=this.ngElementStrategy.events.subscribe(g=>{let _=new CustomEvent(g.name,{detail:g.value});this.dispatchEvent(_)})}}return t.forEach(({propName:f,transform:g})=>{Object.defineProperty(c.prototype,f,{get(){return this.ngElementStrategy.getInputValue(f)},set(_){this.ngElementStrategy.setInputValue(f,_,g)},configurable:!0,enumerable:!0})}),c}var Oi={providers:[ci()]};var Lt=(t=>(t.CART_AMOUNT="CART_AMOUNT",t.ITEM_COUNT="ITEM_COUNT",t))(Lt||{});var Z=zi(Li());Z.filters.define("default",function(o){return typeof o>"u"||o==null?"":tn(o)});+Z.filters.define("max",(o,e)=>{let t=Number(o),r=Number(e);return isNaN(t)||isNaN(r)?o:t>r?e:o});Z.filters.define("min",(o,e)=>{let t=Number(o),r=Number(e);return isNaN(t)||isNaN(r)?o:t<r?e:o});Z.filters.define("fallback",(o,e)=>o==null||o===""?e:o);Z.filters.define("manipulate_quantity",(o,e,t)=>{if(e??=1,t??=100,e>t)return se.error("Invalid range: min should be less than or equal to max."),o;if(o>=e&&o<=t)return o;let r=o%t;return r<e?e:r});Z.filters.define("apply_discount_perc",(o,e,t=1/0)=>{if(o=+o,isNaN(o))return se.error("Need value as a number for `apply_discount_perc` filter"),NaN;if(e<0||e>100)return se.error("Invalid percent value for `apply_discount_perc` filter. Must be between 0 and 100."),NaN;let r=o*e/100;return o-Math.min(t,r)});Z.filters.define("apply_discount_fixed",(o,e)=>(o=+o,isNaN(o)?(se.error("Need value as a number for `apply_discount_fixed` filter"),NaN):Math.max(0,o-e)));Z.filters.define("currency",o=>(o=+o,isNaN(o)?(se.error("Need value as a number for `currency` filter"),NaN):$e(o)));Z.defaultConfig.defaultFilter="default";Z.defaultConfig.useWith=!0;Z.defaultConfig.autoEscape=!1;var en={'"':"&quot;","\\":"&bsol;","\n":"\\n"};function tn(o){return String(o).replace(/["\\\n]/g,e=>en[e])}function nn(o){if(!o)return"";let e=/({{{\s*([^}]+?)\s*}}}|{{\s*&\s*([^}]+?)\s*}})/g;return o.replace(e,(t,r,s,c)=>`{{ ${(s||c||"").trim()} }}`)}var ze=(o,e,t)=>{e=ge({discount:{},cart:{},product:{},bundle:{},variant:{},customer:{},svg:{},form:{},amount_left:null},e);try{return Z.render(nn(o),e)}catch(r){throw yi(r,"squirrelly-render",{extra:{template:o,values:e},triggerContext:t}),r}};var gt=class o{transform(e,t){return e?ze(e,ge({},t)):null}static \u0275fac=function(t){return new(t||o)};static \u0275pipe=Yt({name:"cooeeDynamicVariables",type:o,pure:!0})};var Bt={};(function o(e,t,r,s){var c=!!(e.Worker&&e.Blob&&e.Promise&&e.OffscreenCanvas&&e.OffscreenCanvasRenderingContext2D&&e.HTMLCanvasElement&&e.HTMLCanvasElement.prototype.transferControlToOffscreen&&e.URL&&e.URL.createObjectURL),f=typeof Path2D=="function"&&typeof DOMMatrix=="function",g=(function(){if(!e.OffscreenCanvas)return!1;var n=new OffscreenCanvas(1,1),i=n.getContext("2d");i.fillRect(0,0,1,1);var p=n.transferToImageBitmap();try{i.createPattern(p,"no-repeat")}catch{return!1}return!0})();function _(){}function D(n){var i=t.exports.Promise,p=i!==void 0?i:e.Promise;return typeof p=="function"?new p(n):(n(_,_),null)}var W=(function(n,i){return{transform:function(p){if(n)return p;if(i.has(p))return i.get(p);var m=new OffscreenCanvas(p.width,p.height),y=m.getContext("2d");return y.drawImage(p,0,0),i.set(p,m),m},clear:function(){i.clear()}}})(g,new Map),Ee=(function(){var n=Math.floor(16.666666666666668),i,p,m={},y=0;return typeof requestAnimationFrame=="function"&&typeof cancelAnimationFrame=="function"?(i=function(C){var x=Math.random();return m[x]=requestAnimationFrame(function h(b){y===b||y+n-1<b?(y=b,delete m[x],C()):m[x]=requestAnimationFrame(h)}),x},p=function(C){m[C]&&cancelAnimationFrame(m[C])}):(i=function(C){return setTimeout(C,n)},p=function(C){return clearTimeout(C)}),{frame:i,cancel:p}})(),Ie=(function(){var n,i,p={};function m(y){function C(x,h){y.postMessage({options:x||{},callback:h})}y.init=function(h){var b=h.transferControlToOffscreen();y.postMessage({canvas:b},[b])},y.fire=function(h,b,v){if(i)return C(h,null),i;var T=Math.random().toString(36).slice(2);return i=D(function(w){function k(E){E.data.callback===T&&(delete p[T],y.removeEventListener("message",k),i=null,W.clear(),v(),w())}y.addEventListener("message",k),C(h,T),p[T]=k.bind(null,{data:{callback:T}})}),i},y.reset=function(){y.postMessage({reset:!0});for(var h in p)p[h](),delete p[h]}}return function(){if(n)return n;if(!r&&c){var y=["var CONFETTI, SIZE = {}, module = {};","("+o.toString()+")(this, module, true, SIZE);","onmessage = function(msg) {"," if (msg.data.options) {"," CONFETTI(msg.data.options).then(function () {"," if (msg.data.callback) {"," postMessage({ callback: msg.data.callback });"," }"," });"," } else if (msg.data.reset) {"," CONFETTI && CONFETTI.reset();"," } else if (msg.data.resize) {"," SIZE.width = msg.data.resize.width;"," SIZE.height = msg.data.resize.height;"," } else if (msg.data.canvas) {"," SIZE.width = msg.data.canvas.width;"," SIZE.height = msg.data.canvas.height;"," CONFETTI = module.exports.create(msg.data.canvas);"," }","}"].join(`
11
- `);try{n=new Worker(URL.createObjectURL(new Blob([y])))}catch(C){return typeof console!==void 0&&typeof console.warn=="function"&&console.warn("\u{1F38A} Could not load worker",C),null}m(n)}return n}})(),et={particleCount:50,angle:90,spread:45,startVelocity:45,decay:.9,gravity:1,drift:0,ticks:200,x:.5,y:.5,shapes:["square","circle"],zIndex:100,colors:["#26ccff","#a25afd","#ff5e7e","#88ff5a","#fcff42","#ffa62d","#ff36ff"],disableForReducedMotion:!1,scalar:1};function qe(n,i){return i?i(n):n}function Ze(n){return n!=null}function R(n,i,p){return qe(n&&Ze(n[i])?n[i]:et[i],p)}function Vt(n){return n<0?0:Math.floor(n)}function We(n,i){return Math.floor(Math.random()*(i-n))+n}function ee(n){return parseInt(n,16)}function Oe(n){return n.map(ye)}function ye(n){var i=String(n).replace(/[^0-9a-f]/gi,"");return i.length<6&&(i=i[0]+i[0]+i[1]+i[1]+i[2]+i[2]),{r:ee(i.substring(0,2)),g:ee(i.substring(2,4)),b:ee(i.substring(4,6))}}function Et(n){var i=R(n,"origin",Object);return i.x=R(i,"x",Number),i.y=R(i,"y",Number),i}function It(n){n.width=document.documentElement.clientWidth,n.height=document.documentElement.clientHeight}function tt(n){var i=n.getBoundingClientRect();n.width=i.width,n.height=i.height}function it(n){var i=document.createElement("canvas");return i.style.position="fixed",i.style.top="0px",i.style.left="0px",i.style.pointerEvents="none",i.style.zIndex=n,i}function nt(n,i,p,m,y,C,x,h,b){n.save(),n.translate(i,p),n.rotate(C),n.scale(m,y),n.arc(0,0,1,x,h,b),n.restore()}function ot(n){var i=n.angle*(Math.PI/180),p=n.spread*(Math.PI/180);return{x:n.x,y:n.y,wobble:Math.random()*10,wobbleSpeed:Math.min(.11,Math.random()*.1+.05),velocity:n.startVelocity*.5+Math.random()*n.startVelocity,angle2D:-i+(.5*p-Math.random()*p),tiltAngle:(Math.random()*(.75-.25)+.25)*Math.PI,color:n.color,shape:n.shape,tick:0,totalTicks:n.ticks,decay:n.decay,drift:n.drift,random:Math.random()+2,tiltSin:0,tiltCos:0,wobbleX:0,wobbleY:0,gravity:n.gravity*3,ovalScalar:.6,scalar:n.scalar,flat:n.flat}}function Ne(n,i){i.x+=Math.cos(i.angle2D)*i.velocity+i.drift,i.y+=Math.sin(i.angle2D)*i.velocity+i.gravity,i.velocity*=i.decay,i.flat?(i.wobble=0,i.wobbleX=i.x+10*i.scalar,i.wobbleY=i.y+10*i.scalar,i.tiltSin=0,i.tiltCos=0,i.random=1):(i.wobble+=i.wobbleSpeed,i.wobbleX=i.x+10*i.scalar*Math.cos(i.wobble),i.wobbleY=i.y+10*i.scalar*Math.sin(i.wobble),i.tiltAngle+=.1,i.tiltSin=Math.sin(i.tiltAngle),i.tiltCos=Math.cos(i.tiltAngle),i.random=Math.random()+2);var p=i.tick++/i.totalTicks,m=i.x+i.random*i.tiltCos,y=i.y+i.random*i.tiltSin,C=i.wobbleX+i.random*i.tiltCos,x=i.wobbleY+i.random*i.tiltSin;if(n.fillStyle="rgba("+i.color.r+", "+i.color.g+", "+i.color.b+", "+(1-p)+")",n.beginPath(),f&&i.shape.type==="path"&&typeof i.shape.path=="string"&&Array.isArray(i.shape.matrix))n.fill(l(i.shape.path,i.shape.matrix,i.x,i.y,Math.abs(C-m)*.1,Math.abs(x-y)*.1,Math.PI/10*i.wobble));else if(i.shape.type==="bitmap"){var h=Math.PI/10*i.wobble,b=Math.abs(C-m)*.1,v=Math.abs(x-y)*.1,T=i.shape.bitmap.width*i.scalar,w=i.shape.bitmap.height*i.scalar,k=new DOMMatrix([Math.cos(h)*b,Math.sin(h)*b,-Math.sin(h)*v,Math.cos(h)*v,i.x,i.y]);k.multiplySelf(new DOMMatrix(i.shape.matrix));var E=n.createPattern(W.transform(i.shape.bitmap),"no-repeat");E.setTransform(k),n.globalAlpha=1-p,n.fillStyle=E,n.fillRect(i.x-T/2,i.y-w/2,T,w),n.globalAlpha=1}else if(i.shape==="circle")n.ellipse?n.ellipse(i.x,i.y,Math.abs(C-m)*i.ovalScalar,Math.abs(x-y)*i.ovalScalar,Math.PI/10*i.wobble,0,2*Math.PI):nt(n,i.x,i.y,Math.abs(C-m)*i.ovalScalar,Math.abs(x-y)*i.ovalScalar,Math.PI/10*i.wobble,0,2*Math.PI);else if(i.shape==="star")for(var V=Math.PI/2*3,A=4*i.scalar,L=8*i.scalar,z=i.x,Q=i.y,te=5,M=Math.PI/te;te--;)z=i.x+Math.cos(V)*L,Q=i.y+Math.sin(V)*L,n.lineTo(z,Q),V+=M,z=i.x+Math.cos(V)*A,Q=i.y+Math.sin(V)*A,n.lineTo(z,Q),V+=M;else n.moveTo(Math.floor(i.x),Math.floor(i.y)),n.lineTo(Math.floor(i.wobbleX),Math.floor(y)),n.lineTo(Math.floor(C),Math.floor(x)),n.lineTo(Math.floor(m),Math.floor(i.wobbleY));return n.closePath(),n.fill(),i.tick<i.totalTicks}function Qe(n,i,p,m,y){var C=i.slice(),x=n.getContext("2d"),h,b,v=D(function(T){function w(){h=b=null,x.clearRect(0,0,m.width,m.height),W.clear(),y(),T()}function k(){r&&!(m.width===s.width&&m.height===s.height)&&(m.width=n.width=s.width,m.height=n.height=s.height),!m.width&&!m.height&&(p(n),m.width=n.width,m.height=n.height),x.clearRect(0,0,m.width,m.height),C=C.filter(function(E){return Ne(x,E)}),C.length?h=Ee.frame(k):w()}h=Ee.frame(k),b=w});return{addFettis:function(T){return C=C.concat(T),v},canvas:n,promise:v,reset:function(){h&&Ee.cancel(h),b&&b()}}}function Ge(n,i){var p=!n,m=!!R(i||{},"resize"),y=!1,C=R(i,"disableForReducedMotion",Boolean),x=c&&!!R(i||{},"useWorker"),h=x?Ie():null,b=p?It:tt,v=n&&h?!!n.__confetti_initialized:!1,T=typeof matchMedia=="function"&&matchMedia("(prefers-reduced-motion)").matches,w;function k(V,A,L){for(var z=R(V,"particleCount",Vt),Q=R(V,"angle",Number),te=R(V,"spread",Number),M=R(V,"startVelocity",Number),Ce=R(V,"decay",Number),Pe=R(V,"gravity",Number),De=R(V,"drift",Number),q=R(V,"colors",Oe),me=R(V,"ticks",Number),rt=R(V,"shapes"),G=R(V,"scalar"),Fe=!!R(V,"flat"),Le=Et(V),Be=z,ie=[],fe=n.width*Le.x,$i=n.height*Le.y;Be--;)ie.push(ot({x:fe,y:$i,angle:Q,spread:te,startVelocity:M,color:q[Be%q.length],shape:rt[We(0,rt.length)],ticks:me,decay:Ce,gravity:Pe,drift:De,scalar:G,flat:Fe}));return w?w.addFettis(ie):(w=Qe(n,ie,b,A,L),w.promise)}function E(V){var A=C||R(V,"disableForReducedMotion",Boolean),L=R(V,"zIndex",Number);if(A&&T)return D(function(M){M()});p&&w?n=w.canvas:p&&!n&&(n=it(L),document.body.appendChild(n)),m&&!v&&b(n);var z={width:n.width,height:n.height};h&&!v&&h.init(n),v=!0,h&&(n.__confetti_initialized=!0);function Q(){if(h){var M={getBoundingClientRect:function(){if(!p)return n.getBoundingClientRect()}};b(M),h.postMessage({resize:{width:M.width,height:M.height}});return}z.width=z.height=null}function te(){w=null,m&&(y=!1,e.removeEventListener("resize",Q)),p&&n&&(document.body.contains(n)&&document.body.removeChild(n),n=null,v=!1)}return m&&!y&&(y=!0,e.addEventListener("resize",Q,!1)),h?h.fire(V,z,te):k(V,z,te)}return E.reset=function(){h&&h.reset(),w&&w.reset()},E}var ke;function a(){return ke||(ke=Ge(null,{useWorker:!0,resize:!0})),ke}function l(n,i,p,m,y,C,x){var h=new Path2D(n),b=new Path2D;b.addPath(h,new DOMMatrix(i));var v=new Path2D;return v.addPath(b,new DOMMatrix([Math.cos(x)*y,Math.sin(x)*y,-Math.sin(x)*C,Math.cos(x)*C,p,m])),v}function d(n){if(!f)throw new Error("path confetti are not supported in this browser");var i,p;typeof n=="string"?i=n:(i=n.path,p=n.matrix);var m=new Path2D(i),y=document.createElement("canvas"),C=y.getContext("2d");if(!p){for(var x=1e3,h=x,b=x,v=0,T=0,w,k,E=0;E<x;E+=2)for(var V=0;V<x;V+=2)C.isPointInPath(m,E,V,"nonzero")&&(h=Math.min(h,E),b=Math.min(b,V),v=Math.max(v,E),T=Math.max(T,V));w=v-h,k=T-b;var A=10,L=Math.min(A/w,A/k);p=[L,0,0,L,-Math.round(w/2+h)*L,-Math.round(k/2+b)*L]}return{type:"path",path:i,matrix:p}}function u(n){var i,p=1,m="#000000",y='"Apple Color Emoji", "Segoe UI Emoji", "Segoe UI Symbol", "Noto Color Emoji", "EmojiOne Color", "Android Emoji", "Twemoji Mozilla", "system emoji", sans-serif';typeof n=="string"?i=n:(i=n.text,p="scalar"in n?n.scalar:p,y="fontFamily"in n?n.fontFamily:y,m="color"in n?n.color:m);var C=10*p,x=""+C+"px "+y,h=new OffscreenCanvas(C,C),b=h.getContext("2d");b.font=x;var v=b.measureText(i),T=Math.ceil(v.actualBoundingBoxRight+v.actualBoundingBoxLeft),w=Math.ceil(v.actualBoundingBoxAscent+v.actualBoundingBoxDescent),k=2,E=v.actualBoundingBoxLeft+k,V=v.actualBoundingBoxAscent+k;T+=k+k,w+=k+k,h=new OffscreenCanvas(T,w),b=h.getContext("2d"),b.font=x,b.fillStyle=m,b.fillText(i,E,V);var A=1/p;return{type:"bitmap",bitmap:h.transferToImageBitmap(),matrix:[A,0,0,A,-T*A/2,-w*A/2]}}t.exports=function(){return a().apply(this,arguments)},t.exports.reset=function(){a().reset()},t.exports.create=Ge,t.exports.shapeFromPath=d,t.exports.shapeFromText=u})((function(){return typeof window<"u"?window:typeof self<"u"?self:this||{}})(),Bt,!1);var Bi=Bt.exports,to=Bt.exports.create;var ht=class{static DEFAULTS={scalar:1.4,zIndex:1e4,shapes:["circle","circle","square"],colors:["#f51c8f","#2179e2","#d52dc8","#01a9d9","#78ff44","#fdff6a"]};static async basic(){await this.fire({particleCount:100,spread:70,origin:{y:.6}})}static async leftRight(e=100){let t=[],r=Date.now()+2e3,s=()=>{t.push(this.fire({angle:60,spread:55,origin:{x:0}}),this.fire({angle:120,spread:55,origin:{x:1}})),Date.now()<r&&e>0&&(requestAnimationFrame(s),e--)};s(),await Promise.all(t)}static async realistic(){await Promise.all([this.realisticFire(.25,{spread:26,startVelocity:55}),this.realisticFire(.2,{spread:60}),this.realisticFire(.35,{spread:100,decay:.91,scalar:.8}),this.realisticFire(.1,{spread:120,startVelocity:25,decay:.92,scalar:1.2}),this.realisticFire(.1,{spread:120,startVelocity:45})])}static async fire(e){Object.assign(e,this.DEFAULTS,e),e.particleCount=e.particleCount??this.DEFAULTS.colors.length,await Bi(e)}static async realisticFire(e,t){let s={origin:{y:.7}};await this.fire(Object.assign({},s,t,{particleCount:Math.floor(200*e)}))}};var on=(o,e)=>e.minValue;function rn(o,e){if(o&1&&(X(0,"div",7),he(1,"safeHtml")),o&2){let t=S().$implicit;J("innerHTML",Te(1,1,t.minValue+" Products"),de)}}function an(o,e){if(o&1&&(X(0,"div",7),he(1,"cooeeCurrency"),he(2,"safeHtml")),o&2){let t=S().$implicit;J("innerHTML",Te(2,3,Te(1,1,t.minValue)),de)}}function sn(o,e){if(o&1&&(K(0,"li",6)(1,"div"),H(2,rn,2,3,"div",7)(3,an,3,5,"div",7),X(4,"img",8),K(5,"div",9),ue(6),pe()()()),o&2){let t=e.$implicit,r=S(2);Ye("left",t.calculatedAlignment+"%"),I(2),$((r.progressBarConfig==null?null:r.progressBarConfig.rewardBasis)===r.RewardBasis.ITEM_COUNT?2:3),I(2),J("src",r.getIconURL(t),xe),I(2),ri(t.label)}}function ln(o,e){if(o&1&&(X(0,"div",0),he(1,"cooeeDynamicVariables"),he(2,"safeHtml"),K(3,"div",1)(4,"ul",2)(5,"div",3),X(6,"div",4),pe(),ne(7,sn,7,5,"li",5,on),pe()()),o&2){let t=S(),r=t.calculatedState(),s=r.nextMilestone?r.nextMilestone.reachingText:r.lastMilestone.reachedText;J("innerHTML",Te(2,6,li(1,3,s,t.localDynamicVariables())),de),I(6),Ye("width",r.cartValuePercentage+"%"),I(),oe(r.milestones)}}var vt=class o extends ve{cart;localDynamicVariables=be({});calculatedState=be({});progressBarConfig;RewardBasis=Lt;constructor(){super()}engagementTriggerReceived(e){this.progressBarConfig=e.progressBarConfig}ngOnInit(){super.ngOnInit(),this.calculateMilestonesSilently()}update(){this.calculateMilestonesSilently()}getIconURL(e){return e.rewardType===pt.FREE_SHIPPING?"https://img.icons8.com/ios-filled/50/FFFFFF/free-shipping.png":e.rewardType===pt.DISCOUNT?"https://img.icons8.com/ios-glyphs/30/FFFFFF/sale-price-tag.png":e.rewardType===pt.FREE_AUTO_GIFT?"https://img.icons8.com/ios-filled/50/FFFFFF/gift--v1.png":""}calculateMilestonesSilently(){this.calculateMilestones().catch(e=>se.error(e))}async calculateMilestones(){let e=this.engagementTrigger,t=this.progressBarConfig;if(!t?.milestones?.length){se.warn("Milestones not available in progress bar config",e);return}let r=await this.cart.getNormalisedCart(),s=t.milestones.at(-1),c=t?.reachedAmountOrCount??r.originalAmount,f=t.totalProgress??0;se.verbose("Cart value:",c,`, percentage: ${f}%`),this.celebrate(e,c);let g={milestonesReady:!0,cartValuePercentage:f,milestones:t.milestones},_=t.milestones.find(D=>!D.reached);if(_){let D=$e(_.minValue-c);if(t.rewardBasis==="ITEM_COUNT"){let W=_.minValue-c;D=`${W} ${W===1?"product":"products"}`}this.localDynamicVariables.set({amount_left:D}),g.nextMilestone=_,this.calculatedState.set(g);return}g.lastMilestone=s,this.calculatedState.set(g)}celebrate(e,t){let c=[...e.progressBarConfig.milestones].reverse().find(_=>_.minValue<t);if(!c)return;let f=`lc/en/${e.shortID}/${c.minValue}`;sessionStorage.getItem(f)||(sessionStorage.setItem(f,"1"),this.progressBarConfig?.noConfetti||ht.realistic())}static \u0275fac=function(t){return new(t||o)};static \u0275cmp=B({type:o,selectors:[["cooee-progressbar"]],inputs:{cart:"cart"},features:[ae(le()),j],decls:1,vars:1,consts:[[1,"heading",3,"innerHTML"],[1,"milestone-container"],[1,"milestone-list"],[1,"untracked-path"],[1,"tracked-path"],[1,"milestone-list-item",3,"left"],[1,"milestone-list-item"],[1,"milestone-value",3,"innerHTML"],["width","20","height","20","alt","milestone icon",1,"milestone-icon",3,"src"],[1,"milestone-label"]],template:function(t,r){t&1&&H(0,ln,9,8),t&2&&$(r.calculatedState().milestonesReady?0:-1)},dependencies:[gt,Ue,bi],styles:[`:host{display:block;padding:10px;background:linear-gradient(0deg,rgba(var(--lc-primary-color),.1) 0%,transparent 100%)}.milestone-container{width:95%;margin:8px 0}.heading{font-weight:500;text-align:center;font-size:12px}.milestone-list{display:flex;align-items:center;position:relative;font-size:10px;font-weight:500}.untracked-path{width:100%;background-color:#e5e7eb;height:4px;position:absolute}.tracked-path{background-color:rgba(var(--lc-primary-color));height:100%;display:block;transition:width .5s ease-in-out}.milestone-list{padding:0;margin:0}.milestone-list-item{position:relative;display:flex;flex-direction:column;align-items:center;height:75px}.milestone-list-item>div{display:flex;flex-direction:column;align-items:center;justify-content:space-between;position:absolute;height:100%;width:100px}.milestone-icon{padding:5px;border-radius:1000px;background-color:rgba(var(--lc-primary-color))}
12
- `],encapsulation:3})};var cn=["numberVariable"],yt=class o extends ve{numberSlot;savingsBarConfig;textParts=be({start:"",end:""});globalIntervals=[];constructor(){super()}ngAfterViewInit(){this.updateUIVars()}engagementTriggerReceived(e){this.savingsBarConfig=e.content.savingsBarConfig,this.elementRef.nativeElement.classList.add("lc_"+e.entryAnimation?.toLowerCase()),this.savingsBarConfig.iconURL&&this.elementRef.nativeElement.style.setProperty("--lc-discount-icon",this.savingsBarConfig.iconURL)}update(){this.updateUIVars()}updateUIVars(){let e=ge(ge({},this.engagementTrigger.getCartMagicVariables()),Ci("total_savings",this.savingsBarConfig.totalSavings)),t=ze(this.savingsBarConfig.text,{cart:e},this.triggerContext),r=t.match(/[\d.,]+/)?.[0];if(!r){se.error("No amount found in text",t);return}let[s,c]=t.split(r);this.textParts.set({start:s,end:c}),this.savingsBarConfig.animateNumber?this.runAnimation(r):this.numberSlot.nativeElement.innerHTML=r}runSlotMachineAnimation(e="0"){let t=this.numberSlot.nativeElement;t.innerHTML="";let r=this.savingsBarConfig.animationDuration/e.length;this.clearPreviousIntervals();for(let s=0;s<e.length;s++){let c=document.createElement("div");c.className="digit",c.style.display="inline-block",t.appendChild(c);let f=setInterval(()=>{let g=Math.floor(Math.random()*10);c.innerHTML=`<div>${g}</div>`},50);this.globalIntervals.push(f),setTimeout(()=>{clearInterval(f);let g=e?.[s]??Math.floor(Math.random()*10);c.innerHTML=`${g}`},(s+1)*r)}}clearPreviousIntervals(){this.globalIntervals.forEach(clearInterval),this.globalIntervals=[]}runIncrementalAnimation(e){let t=performance.now(),r=s=>{let c=Math.min((s-t)/this.savingsBarConfig.animationDuration,1);this.numberSlot.nativeElement.innerHTML=Math.floor(e*c).toString(),c<1&&requestAnimationFrame(r)};requestAnimationFrame(r)}runAnimation(e){this.savingsBarConfig.animation==="SLOT_MACHINE"?this.runSlotMachineAnimation(e):this.savingsBarConfig.animation==="INCREMENTAL"&&this.runIncrementalAnimation(Number(e))}static \u0275fac=function(t){return new(t||o)};static \u0275cmp=B({type:o,selectors:[["cooee-savings-bar"]],viewQuery:function(t,r){if(t&1&&st(cn,5),t&2){let s;lt(s=ct())&&(r.numberSlot=s.first)}},features:[j],decls:6,vars:2,consts:[["numberVariable",""],[1,"container"],[1,"icon"],[1,"primary-text",3,"innerHTML"],[1,"counter-text"],[1,"final-text",3,"innerHTML"]],template:function(t,r){t&1&&(K(0,"div",1),X(1,"div",2)(2,"div",3)(3,"div",4,0)(5,"div",5),pe()),t&2&&(I(2),J("innerHTML",r.textParts().start,de),I(3),J("innerHTML",r.textParts().end,de))},styles:[`:host{display:block}.container{white-space:pre;display:flex;justify-content:center;align-items:center;background-color:rgba(var(--lc-primary-button-bg-color, 0 162 81));color:rgba(var(--lc-primary-button-color, 255 255 255));padding:8px;border-radius:4px 4px 0 0;overflow:hidden}.container .icon{background-image:var(--lc-discount-icon, url(https://img.icons8.com/ios-glyphs/30/FFFFFF/discount--v1.png));background-position:center;background-size:cover;height:20px;width:20px;margin-right:2px}
13
- `],encapsulation:3})};var Ct=class o extends ve{item;data=ce(_i);dialogRef=ce(xi);ItemDetailLayout=wi;constructor(){super(),this.triggerContext=this.data.triggerContext,this.item=this.data.item}close(){this.dialogRef.close()}engagementTriggerReceived(e){}update(){}static \u0275fac=function(t){return new(t||o)};static \u0275cmp=B({type:o,selectors:[["cooee-item-quick-view"]],features:[ae(le()),j],decls:1,vars:2,consts:[[3,"closeClick","item","layout"]],template:function(t,r){t&1&&(P(0,"cooee-item-detail",0),Y("closeClick",function(){return r.close()}),F()),t&2&&U("item",r.item)("layout",r.ItemDetailLayout.TWO_PANE)},dependencies:[Ei],styles:[`:host{display:flex;align-items:center;justify-content:center;height:100%}@media (min-width: 768px){cooee-item-detail{max-width:900px;max-height:80vh;border-radius:var(--lc-card-radius)}}
14
- `],encapsulation:3})};var bt=class o{dialog=ce(ut);dialogRef;constructor(){}showItemQuickView(e,t){this.dialogRef=this.dialog.open(Ct,{width:"100vw",height:"100dvh",backdropClass:["letscooee-backdrop"],data:{item:t,triggerContext:e}})}static \u0275fac=function(t){return new(t||o)};static \u0275prov=Ut({token:o,factory:o.\u0275fac,providedIn:"root"})};var dn=(o,e)=>({enter:o,exit:e});function pn(o,e){if(o&1&&(P(0,"div",7),ue(1),F(),P(2,"div",8),ue(3),F()),o&2){let t=S(2);I(),je(" ",t.getCurrency(t.selectedVariant().price.cmp)," "),I(2),je(" ",t.getDiscountPercentage(t.selectedVariant().price),"% off ")}}function un(o,e){if(o&1&&(P(0,"div",6),ue(1),F()),o&2){let t=S(2);I(),je(" ",t.stickyATCConfig.leftText," ")}}function mn(o,e){if(o&1&&(P(0,"div",1)(1,"div",5),ue(2),F(),H(3,pn,4,2),H(4,un,2,1,"div",6),F()),o&2){let t=S();I(2),je(" ",t.getCurrency(t.selectedVariant().price.d)," "),I(),$(t.selectedVariant().price.cmp?3:-1),I(),$(t.stickyATCConfig.leftText?4:-1)}}function fn(o,e){if(o&1&&(P(0,"div",9),ue(1),F()),o&2){let t=e.$implicit,r=e.$index;S(2);let s=we(5);U("ngClass",si(2,dn,r===s.currentIndex,r===s.previousIndex)),I(),je(" ",t," ")}}function gn(o,e){if(o&1&&(P(0,"div",4),ne(1,fn,2,5,"div",9,ti),F()),o&2){S();let t=we(5);I(),oe(t.features)}}var xt=class o extends ve{currentItem;stickyATCConfig;selectedVariant=be(void 0);featureSlider=be({features:[],currentIndex:0});constructor(){super()}onVariantChange(e){this.currentItem&&(this.currentItem.setSelectedVariantByID(e.detail.variantID),this.selectedVariant.set(this.currentItem.selectedOrFirstVariant.value))}engagementTriggerReceived(e){this.stickyATCConfig=e.stickyATCConfig??{},this.currentItem=e.items[0],this.selectedVariant.set(this.currentItem.vars[0]),this.stickyATCConfig.leftText=this.replaceVariables(this.stickyATCConfig.leftText),this.stickyATCConfig.rightText=this.replaceVariables(this.stickyATCConfig.rightText),this.startFeatureRotation()}update(){}getCurrency(e){return $e(e)}getDiscountPercentage(e){return((e.cmp-e.d)/e.cmp*100).toFixed(0)}addToCart(){this.engagementService.executeCTA(Xe.ADD_TO_CART,{item:this.currentItem})}startFeatureRotation(){if(!this.stickyATCConfig.rightText)return;let e=this.stickyATCConfig.rightText.split(`
15
- `),t=e.length===1?null:setInterval(()=>{this.featureSlider.update(r=>St(ge({},r),{previousIndex:r.currentIndex,currentIndex:(r.currentIndex+1)%r.features.length}))},3e3);this.featureSlider.set({intervalRef:t,currentIndex:0,features:e})}replaceVariables(e){return e?ze(e,this.currentItem.getTemplateVariables(),this.triggerContext):""}static \u0275fac=function(t){return new(t||o)};static \u0275cmp=B({type:o,selectors:[["cooee-sticky-atc"]],hostBindings:function(t,r){t&1&&Y("letscooee:variant-change",function(c){return r.onVariantChange(c)},Qt)},features:[ae(le()),j],decls:7,vars:3,consts:[[1,"lc-wrapper"],[1,"lc-prices"],[1,"lc-button-wrapper"],["type","button",1,"lc-button","lc-button-atc",3,"click"],[1,"lc-features"],[1,"lc-sale-price"],[1,"lc-additional-text"],[1,"lc-compare-price"],[1,"lc-discount-label"],[1,"lc-feature",3,"ngClass"]],template:function(t,r){if(t&1){let s=_e();P(0,"div",0),H(1,mn,5,3,"div",1),P(2,"div",2)(3,"button",3),Y("click",function(){return O(s),N(r.addToCart())}),ue(4,"Add To Cart"),F(),Ke(5),H(6,gn,3,0,"div",4),F()()}if(t&2){I(),$(r.selectedVariant()&&r.stickyATCConfig.showProductInfo?1:-1),I(4);let s=Ae(r.featureSlider());I(),$(s.features.length?6:-1)}},dependencies:[dt],styles:[`:host{display:flex;justify-content:center;padding:10px;background-color:#fff;width:100%;box-shadow:4px 0 10px #0006;line-height:normal}.lc-wrapper{display:flex;justify-content:space-between;align-items:center;gap:8px;max-width:1100px;width:100%}.lc-prices{flex:1 1 100%;display:flex;flex-wrap:wrap;align-items:center;gap:6px}@media (min-width: 768px){.lc-prices{gap:8px}}.lc-sale-price{font-size:24px;font-weight:600}.lc-compare-price{font-size:18px;font-weight:600;color:red;text-decoration:line-through}.lc-discount-label{font-size:12px;font-weight:500;color:green}.lc-button-wrapper{flex:1 1 100%;display:flex;flex-direction:column;gap:4px;align-items:center}.lc-button{background-color:#000;color:#fff;opacity:1;pointer-events:auto;border-radius:4px;min-width:150px;width:100%;padding:8px}.lc-additional-text,.lc-feature{font-size:12px;color:#666}.lc-features{position:relative;overflow:hidden;height:16px;text-align:center;width:100%}.lc-features .lc-feature{position:absolute;width:100%;opacity:0;transform:translateY(100%);transition:transform .5s ease,opacity .5s ease}.lc-features .lc-feature.enter{opacity:1;transform:translateY(0);z-index:2}.lc-features .lc-feature.exit{opacity:0;transform:translateY(-100%);z-index:1}
16
- `],encapsulation:3})};var vn=["videoEl"];async function ji(){return(await import("./video-detail-dialog.component-EEIGSLHY.js")).VideoDetailDialogComponent}var Me=class o extends ve{videoElements;videos;videoConfig;dialogRef=null;dialog=ce(ut);isMobile=Ti();pausedVideos=[];videoLoadingStates=new Map;constructor(){super(),ji()}ngAfterViewInit(){this.checkAndOpenVideoFromUrl()}engagementTriggerReceived(e){this.videoConfig=e.content?.videoConfig,this.videos=this.videoConfig.videos}onMuteToggled(e,t){e||this.videoElements.forEach(r=>{r.nativeElement!==t&&(r.nativeElement.muted=!0,r.nativeElement.pause())})}sendTriggerClicked(e,t){this.sendEvent("CE Trigger Clicked",{},e,t)}async onVideoTap(e,t,r,s){e?.stopPropagation(),e?.preventDefault();let c=t.items?.[0];if(this.sendTriggerClicked(t,c),this.videoConfig.footerContent==="NONE"){s&&(s.muted=!1,s.play(),this.onMuteToggled(!1,s));return}await this.openDialog(t,r)}sendEvent(e,t,r,s){let c=new fi(e,t,this.engagementTrigger);c.setVideos(r),s&&(c.items=[s.toEmbed()]),window.CooeeSDK.sendEvent(c)}onDialogClosed(){this.resumePlaylistVideos()}isVideoLoading(e){return this.videoLoadingStates.get(e)??!0}onVideoLoadStart(e){this.videoLoadingStates.set(e,!0)}onVideoCanPlay(e){this.videoLoadingStates.set(e,!1)}playVideo(e){e.play().catch(()=>{})}pauseAllPlaylistVideos(){this.pausedVideos=[],this.videoElements.forEach(e=>{let t=e.nativeElement;t.paused||(this.pausedVideos.push(t),t.pause())})}resumePlaylistVideos(){this.pausedVideos.forEach(e=>{e.play().catch(()=>{})}),this.pausedVideos=[]}async checkAndOpenVideoFromUrl(){let e=ki();if(!e||!this.videos)return;let t=Mi();if(t.utm_campaign?.toLowerCase()!=="shoppable_video"||t.utm_source?.toLowerCase()!==Si)return;let r=this.videos.findIndex(s=>s.shortID===+e);if(r!==-1){let s=this.videos[r];await vi.set("muted",!0),await this.openDialog(s,r)}}async openDialog(e,t){await mi();let r={videos:this.videos,currentIndex:t,triggerContext:this.triggerContext};this.dialogRef&&this.dialogRef.close(),this.pauseAllPlaylistVideos();let s=await ji();this.dialogRef=this.dialog.open(s,{width:"100vw",height:"100vh",data:r,providers:gi(this.triggerContext,{video:e,index:t}),disableClose:!0});let c={videoID:e.id,videoIndex:t};this.sendEvent("CE Video Dialog Opened",{current:c},e),this.dialogRef.closed.subscribe(f=>{if(this.dialogRef=null,!f)return;let g=f.lastVideoDuration*1e3,_={videoID:f.lastVideo.id,videoIndex:f.lastVideoIndex,playedTillMS:g,playedTillPercent:g/f.lastVideo.durationMS};this.sendEvent("CE Video Dialog Closed",{current:_},f.lastVideo),this.onDialogClosed()})}static \u0275fac=function(t){return new(t||o)};static \u0275cmp=B({type:o,selectors:[["cooee-abstract-video"]],viewQuery:function(t,r){if(t&1&&st(vn,5),t&2){let s;lt(s=ct())&&(r.videoElements=s)}},features:[j],decls:0,vars:0,template:function(t,r){},encapsulation:2})};var yn=(o,e)=>e.id,Cn=(o,e)=>e.url;function bn(o,e){if(o&1&&(Se(0,"div",1),he(1,"safeHtml")),o&2){let t=S();U("innerHTML",Te(1,1,t.videoConfig.heading),de)}}function xn(o,e){o&1&&(P(0,"div",6),Se(1,"div",14),F())}function _n(o,e){if(o&1&&Se(0,"source",8),o&2){let t=e.$implicit;U("type",He(t.mimeType))("src",t.url,xe)}}function wn(o,e){if(o&1){let t=_e();P(0,"cooee-mute-toggle",15),Y("toggled",function(s){O(t),S();let c=re(6),f=S();return N(f.onMuteToggled(s,c))}),F()}if(o&2){S();let t=re(6);U("muted",t.muted)("videoEl",t)}}function Tn(o,e){if(o&1){let t=_e();P(0,"cooee-item-card",16),Y("buttonClick",function(){O(t);let s=S(),c=s.$implicit,f=s.$index,g=re(6),_=S();return N(_.addToCartClicked(null,c,f,g))})("click",function(s){O(t);let c=S(),f=c.$implicit,g=c.$index,_=re(6),D=S();return N(D.onVideoTap(s,f,g,_))}),F()}if(o&2){S();let t=we(0);U("item",t)}}function Vn(o,e){if(o&1){let t=_e();P(0,"cooee-video-card",17),Y("linkClicked",function(){O(t);let s=S().$implicit,c=S();return N(c.sendTriggerClicked(s))}),F()}if(o&2){S();let t=we(1);U("card",t)}}function En(o,e){if(o&1){let t=_e();Ke(0)(1),P(2,"div",4)(3,"div",5),Y("click",function(s){let c=O(t),f=c.$implicit,g=c.$index,_=re(6),D=S();return N(D.onVideoTap(s,f,g,_))})("keydown.enter",function(s){let c=O(t),f=c.$implicit,g=c.$index,_=re(6),D=S();return N(D.onVideoTap(s,f,g,_))})("keydown.space",function(s){let c=O(t),f=c.$implicit,g=c.$index,_=re(6),D=S();return N(D.onVideoTap(s,f,g,_))}),H(4,xn,2,0,"div",6),P(5,"video",7,0),Y("mouseenter",function(){O(t);let s=re(6);S();let c=we(1);return N(c&&s.play())})("mouseleave",function(){O(t);let s=re(6);S();let c=we(1);return N(c&&s.pause())})("loadstart",function(){let s=O(t).$implicit,c=S();return N(c.onVideoLoadStart(s.id))})("canplay",function(){let s=O(t).$implicit,c=S();return N(c.onVideoCanPlay(s.id))}),ne(7,_n,1,3,"source",8,Cn),F(),P(9,"div",9),H(10,wn,1,2,"cooee-mute-toggle",10),F()(),P(11,"div",11),H(12,Tn,1,1,"cooee-item-card",12)(13,Vn,1,1,"cooee-video-card",13),F()()}if(o&2){let t=e.$implicit,r=S(),s=we(0),c=Ae(t.items[0]);I();let f=Ae(t.card),g=c&&r.videoConfig.footerContent==r.VideoConfigFooterContent.FIRST_ITEM,_=f&&r.videoConfig.footerContent==r.VideoConfigFooterContent.CARD;I(2),Ye("background-image",t.thumbnail?"url("+t.thumbnail+")":null),I(),$(r.isVideoLoading(t.id)?4:-1),I(),U("muted",!0),Je("preload",s?"metadata":"none")("autoplay",null)("data-video-id",t.id),I(2),oe(t.sources),I(3),$(r.videoConfig.showMuteButton?10:-1),I(2),$(g?12:_?13:-1)}}var _t=class o extends Me{VideoConfigFooterContent=Ft;VideoConfigAutoPlay=Ii;swiperOptions=null;intersectionObserver;visibleVideos=new Set;constructor(){super(),this.hasSwiper=!0}ngAfterViewInit(){super.ngAfterViewInit();let e=this.videoConfig.playlistConfig?.videoSwiper,t=e?(this.isMobile?e.gapSm:e.gap)+"px":window.cooeePlaylistGap??24,r=e?this.isMobile?e.maxInRowSm:e.maxInRow:"auto";this.swiperOptions={direction:"horizontal",effect:"slide",loop:e?.loop,freeMode:!0,spaceBetween:t,slidesPerView:r,mousewheel:{enabled:!0,forceToAxis:!0},autoplay:e?.autoplay?.enabled?{delay:e?.autoplay?.delay,disableOnInteraction:!1}:!1},this.setupIntersectionObserver(),this.playFirstVideo()}ngOnDestroy(){super.ngOnDestroy(),this.intersectionObserver?.disconnect()}addToCartClicked(e,t,r,s){let c=t.items?.[0],f=ui.get().website?.canChangeVariantInCart;if(t.items?.length>1||c?.hasVariants()&&!f){this.onVideoTap(e,t,r,s);return}this.engagementService.executeCTA(Xe.ADD_TO_CART,{item:c,video:t})}goToPDP(e,t){e?.stopPropagation(),e?.preventDefault();let r=t.items?.[0];this.engagementService.executeCTA(Xe.GO_TO_PRODUCT,{item:r,video:t})}update(){}setupIntersectionObserver(){this.intersectionObserver=new IntersectionObserver(e=>{e.forEach(t=>{let r=t.target,s=r.dataset.videoId;s&&(t.isIntersecting?(this.visibleVideos.add(s),this.handleVideoVisibilityChange(r,!0)):(this.visibleVideos.delete(s),this.handleVideoVisibilityChange(r,!1)))})},{threshold:.5,rootMargin:"50px"}),setTimeout(()=>{this.videoElements.forEach(e=>{this.intersectionObserver?.observe(e.nativeElement)})},100)}handleVideoVisibilityChange(e,t){t?this.shouldAutoPlay()&&(this.dialogRef?this.pausedVideos.push(e):e.play().catch(()=>{})):e.pause()}shouldAutoPlay(){return this.videoConfig.autoPlay==="ON"||this.videoConfig.autoPlay==="ON_HOVER"&&this.isMobile}playFirstVideo(){}static \u0275fac=function(t){return new(t||o)};static \u0275cmp=B({type:o,selectors:[["cooee-video-playlist"]],features:[ae(le()),j],decls:7,vars:6,consts:[["videoEl",""],[1,"heading-text",3,"innerHTML"],[3,"options","navigationConfig","paginationConfig"],["ngProjectAs","swiper-slides",5,["swiper-slides"]],[1,"swiper-slide","video-card"],["role","button","tabindex","0","aria-label","Play video","aria-haspopup","dialog",1,"video-wrapper",3,"click","keydown.enter","keydown.space"],[1,"video-loading-overlay"],["width","100%","playsinline","","loop","",3,"mouseenter","mouseleave","loadstart","canplay","muted"],[3,"src","type"],[1,"video-controls"],[3,"muted","videoEl"],["role","region","aria-label","Video details",1,"video-footer"],["role","button","tabindex","0","aria-label","Product detail",3,"item"],[3,"card"],[1,"loading-spinner"],[3,"toggled","muted","videoEl"],["role","button","tabindex","0","aria-label","Product detail",3,"buttonClick","click","item"],[3,"linkClicked","card"]],template:function(t,r){if(t&1&&(Ke(0)(1),H(2,bn,2,3,"div",1),P(3,"cooee-swiper",2),ii(4,3),ne(5,En,14,11,"div",4,yn),ni(),F()),t&2){Ae(!r.videoConfig.autoPlay||r.videoConfig.autoPlay===r.VideoConfigAutoPlay.ON),I(),Ae(r.videoConfig.autoPlay===r.VideoConfigAutoPlay.ON_HOVER),I(),$(r.videoConfig.heading?2:-1);let s=r.videoConfig.playlistConfig==null?null:r.videoConfig.playlistConfig.videoSwiper;I(),U("options",r.swiperOptions)("navigationConfig",s==null?null:s.navigation)("paginationConfig",s==null?null:s.pagination),I(2),oe(r.videos)}},dependencies:[Fi,Di,Pi,Ai,Ue],styles:[`:host{display:block}cooee-swiper.swiper{margin:8px;padding-top:25px;padding-bottom:25px}.video-wrapper{position:relative;cursor:pointer;outline:none;border-radius:var(--lc-media-radius, 8px);background-size:cover;background-position:center;background-repeat:no-repeat}.video-wrapper video{width:100%;height:var(--lc-video-card-height);object-fit:cover;border-radius:var(--lc-media-radius, 8px);position:relative}.video-card.swiper-slide{width:var(--lc-video-card-width);transition:transform .3s ease}.video-card.swiper-slide:hover{transform:scale(1.05)}@media (max-width: 768px),(prefers-reduced-motion: reduce){.video-card.swiper-slide{transition:none}.video-card.swiper-slide:hover{transform:none}}.video-controls{position:absolute;bottom:8px;z-index:10;right:8px;display:flex;gap:8px}cooee-item-card{cursor:pointer;padding-left:0!important;padding-right:0!important}cooee-item-card .item-image{width:50px;height:50px;display:none}cooee-item-card .item-info{font-size:14px;line-height:normal}cooee-item-card .item-info .item-name{-webkit-line-clamp:1;overflow:hidden}.video-loading-overlay{border-radius:var(--lc-media-radius, 8px)}
17
- `],encapsulation:3})};function Hi(o){o||(o=ce(Zt));let e=new at(t=>{if(o.destroyed){t.next();return}return o.onDestroy(t.next.bind(t))});return t=>t.pipe($t(e))}var In=o=>({"cursor-grab":o}),Sn=(o,e)=>e.url;function Mn(o,e){if(o&1&&Se(0,"source",7),o&2){let t=e.$implicit;U("type",He(t.mimeType))("src",t.url,xe)}}var wt=class o extends Me{video;isDragging=!1;hidden=!1;cdkDrag=ce(mt,{self:!0});untilDestroyed=Hi();constructor(){super()}get popupClasses(){return this.hidden?["hidden"]:["visible"]}onClick(e){e.stopPropagation(),e.preventDefault(),this.onVideoClick()}ngOnInit(){super.ngOnInit();let e=this.elementRef.nativeElement.closest(".letscooee-engagement");e&&(e.style.zIndex="10000"),this.cdkDrag.moved.pipe(this.untilDestroyed).subscribe(()=>this.isDragging=!0)}onVideoClick(){if(this.isDragging){this.isDragging=!1;return}this.hidden=!0,this.onVideoTap(null,this.video,0)}close(){this.hidden=!0;let e=(new Date().getTime()-this.triggerContext.startTime.getTime())/1e3;this.sendEvent("CE Trigger Closed",{duration:e})}engagementTriggerReceived(e){super.engagementTriggerReceived(e),this.video=this.videos[0]}update(){}onDialogClosed(){this.hidden=!1}static \u0275fac=function(t){return new(t||o)};static \u0275cmp=B({type:o,selectors:[["cooee-video-popup"]],hostAttrs:["role","button","tabindex","0","aria-label","Open video popup "],hostVars:3,hostBindings:function(t,r){t&1&&Y("keydown.enter",function(c){return r.onClick(c)})("keydown.space",function(c){return r.onClick(c)})("click",function(c){return r.onClick(c)}),t&2&&(J("cdkDragBoundary","body"),oi(r.popupClasses))},features:[ae(le()),Kt([{directive:mt,inputs:["cdkDragBoundary","cdkDragBoundary"]}]),j],decls:10,vars:4,consts:[[1,"popup-inner",3,"ngClass"],["type","button","aria-label","Close video popup",1,"close-button",3,"click"],["name","close","aria-hidden","true"],[1,"play-button"],["name","unmute","aria-hidden","true"],[1,"text"],["loop","","preload","auto","playsinline","","autoplay","",3,"muted"],[3,"src","type"]],template:function(t,r){t&1&&(P(0,"div",0)(1,"button",1),Y("click",function(c){return c.stopPropagation(),r.close()}),Se(2,"cooee-icon",2),F(),P(3,"div",3),Se(4,"cooee-icon",4),P(5,"div",5),ue(6,"Tap to unmute"),F()(),P(7,"video",6),ne(8,Mn,1,3,"source",7,Sn),F()()),t&2&&(U("ngClass",ai(2,In,r.isDragging)),I(7),U("muted",!0),I(),oe(r.video.sources))},dependencies:[dt,Vi],styles:[`:host{position:fixed;display:block;right:24px;bottom:24px;min-height:150px;max-width:150px;box-shadow:0 25px 50px -12px #00000040}:host(.hidden){display:none}.popup-inner{display:flex;justify-content:center;align-items:center;position:relative}video{width:100%;border-radius:8px}.close-button{position:absolute;top:-14px;right:-14px;background-color:#00000080;border-radius:9999px;width:32px;height:32px;border:none;z-index:10;display:flex;justify-content:center;align-items:center}.play-button{display:flex;justify-content:center;align-items:center;position:absolute;top:50%;left:50%;transform:translate(-50%,-50%) scale(1);transition:all .1s ease-in-out;z-index:999;flex-wrap:wrap;width:100%;max-width:130px;border-radius:5px;padding:5px 10px;background-color:#97979761;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px)}.play-button cooee-icon{width:14px;height:14px}.play-button .text{font-size:11px;line-height:1;color:#fff;font-weight:400;margin-left:5px;text-align:center}
18
- `],encapsulation:3})};var kn=(o,e)=>e.id,Pn=(o,e)=>e.url;function Dn(o,e){if(o&1&&(X(0,"div",1),he(1,"safeHtml")),o&2){let t=S();J("innerHTML",Te(1,1,t.videoConfig.heading),de)}}function Fn(o,e){o&1&&(K(0,"div",9),X(1,"div",12),pe())}function An(o,e){if(o&1&&X(0,"source",11),o&2){let t=e.$implicit;J("type",He(t.mimeType))("src",t.url,xe)}}function Rn(o,e){if(o&1){let t=_e();K(0,"div",4),Dt("click",function(s){let c=O(t),f=c.$implicit,g=c.$index,_=S();return N(_.onVideoTap(s,f,g))})("keydown.enter",function(s){let c=O(t),f=c.$implicit,g=c.$index,_=S();return N(_.onVideoTap(s,f,g))})("keydown.space",function(s){let c=O(t),f=c.$implicit,g=c.$index,_=S();return N(_.onVideoTap(s,f,g))}),zt(),K(1,"svg",5),X(2,"circle",6)(3,"circle",7),pe(),qt(),K(4,"div",8),H(5,Fn,2,0,"div",9),K(6,"video",10,0),Dt("loadstart",function(){let s=O(t).$implicit,c=S();return N(c.onVideoLoadStart(s.id))})("canplay",function(){let s=O(t).$implicit,c=re(7),f=S();return f.onVideoCanPlay(s.id),N(f.playVideo(c))}),ne(8,An,1,3,"source",11,Pn),pe()()()}if(o&2){let t=e.$implicit,r=e.$index,s=S();Je("aria-label","Open video story "+(r+1)),I(5),$(s.isVideoLoading(t.id)?5:-1),I(),J("poster",t.thumbnail,xe)("muted",!0),Je("data-video-id",t.id),I(2),oe(s.getOptimalSources(t.sources))}}var Tt=class o extends Me{constructor(){super()}update(){}getOptimalSources(e){return[...e].reverse().sort((r,s)=>r.mimeType.includes("mp4")&&s.mimeType.includes("m3u8")?-1:r.mimeType.includes("m3u8")&&s.mimeType.includes("mp4")?1:0)}static \u0275fac=function(t){return new(t||o)};static \u0275cmp=B({type:o,selectors:[["cooee-video-stories"]],features:[ae(le()),j],decls:4,vars:1,consts:[["videoEl",""],[1,"heading-text",3,"innerHTML"],[1,"video-stories"],["role","button","tabindex","0",1,"video-story"],["role","button","tabindex","0",1,"video-story",3,"click","keydown.enter","keydown.space"],["viewBox","0 0 100 100"],["cx","50","cy","50","r","48","fill","none","stroke-width","4"],["cx","50","cy","50","r","48","fill","none","stroke-width","4","stroke-linecap","round","stroke-dasharray","301.6","stroke-dashoffset","301.6",1,"video-story-circle"],[1,"video-wrapper"],[1,"video-loading-overlay"],["loop","","playsinline","","preload","metadata",3,"loadstart","canplay","poster","muted"],[3,"src","type"],[1,"loading-spinner"]],template:function(t,r){t&1&&(H(0,Dn,2,3,"div",1),K(1,"div",2),ne(2,Rn,10,5,"div",3,kn),pe()),t&2&&($(r.videoConfig.heading?0:-1),I(2),oe(r.videos))},dependencies:[Ue],styles:[`:host{display:block}.video-stories{display:flex;overflow:auto;margin:.75rem;gap:.75rem;justify-content:center;align-items:center;scrollbar-width:none}.video-stories::-webkit-scrollbar{display:none}@media (max-width: 768px){.video-stories{justify-content:start!important}}.video-story{position:relative;width:5rem;height:5rem;cursor:pointer;flex-shrink:0}.video-story svg{position:absolute;top:0;left:0;width:100%;height:100%}.video-story svg circle:first-child{stroke:#d1d5db}.video-story svg circle:last-child{stroke:#3b82f6}.video-story .video-wrapper{position:relative;width:100%;height:100%;border-radius:9999px;overflow:hidden}.video-story .video-wrapper video{width:100%;height:100%;object-fit:cover;border-radius:9999px;position:relative;z-index:1}.video-story .video-wrapper .video-loading-overlay{border-radius:9999px}
19
- `],encapsulation:3})};pi("CooeeWidgetSDK");(async()=>{let o=await di(Oi),e=(t,r)=>{let s=Ri(t,{injector:o.injector});customElements.define(r,s)};e(xt,"cooee-sticky-atc"),e(yt,"cooee-savings-bar"),e(vt,"cooee-progressbar"),e(_t,"cooee-video-playlist"),e(wt,"cooee-video-popup"),e(Tt,"cooee-video-stories"),e(hi,"cooee-product-options-picker"),sessionStorage.cooeeDebug&&import("./debugger.component-E5DA6AOW.js").then(t=>{e(t.DebuggerComponent,"cooee-debugger")}),window.cooeeShowQuickItem=(t,r)=>{o.injector.get(bt).showItemQuickView(t,r)}})();
10
+ `+We(s,u)):i}}function ke(s,l){var d;return l.cache&&l.name&&l.storage.templates.get(l.name)?l.storage.templates.get(l.name):(d=typeof s=="function"?s:Ke(s,l),l.cache&&l.name&&l.storage.templates.define(l.name,d),d)}Le.l.bind(Le),o.compile=Ke,o.compileScope=te,o.compileScopeIntoFunction=Je,o.compileToString=We,o.defaultConfig=Le,o.filters=st,o.getConfig=Ye,o.helpers=rt,o.nativeHelpers=at,o.parse=nt,o.render=function(s,l,d,u){var n=Ye(d||{});if(!n.async)return ke(s,n)(l,n);if(!u){if(typeof r=="function")return new r(function(i,p){try{i(ke(s,n)(l,n))}catch(f){p(f)}});throw e("Please provide a callback function, this env doesn't support Promises")}try{ke(s,n)(l,n,u)}catch(i){return u(i)}},o.templates=ot,Object.defineProperty(o,"__esModule",{value:!0})})});var qi={schedule(o,e){let t=setTimeout(o,e);return()=>clearTimeout(t)}};function Zi(o){return o.replace(/[A-Z]/g,e=>`-${e.toLowerCase()}`)}function Qi(o){return!!o&&o.nodeType===Node.ELEMENT_NODE}var At;function Wi(o,e){if(!At){let t=Element.prototype;At=t.matches||t.matchesSelector||t.mozMatchesSelector||t.msMatchesSelector||t.oMatchesSelector||t.webkitMatchesSelector}return o.nodeType===Node.ELEMENT_NODE?At.call(o,e):!1}function Gi(o){let e={};return o.forEach(({propName:t,templateName:r,transform:a})=>{e[Zi(r)]=[t,a]}),e}function Ji(o,e){return e.get(Pt).resolveComponentFactory(o).inputs}function Yi(o,e){let t=o.childNodes,r=e.map(()=>[]),a=-1;e.some((c,m)=>c==="*"?(a=m,!0):!1);for(let c=0,m=t.length;c<m;++c){let g=t[c],_=Ki(g,e,a);_!==-1&&r[_].push(g)}return r}function Ki(o,e,t){let r=t;return Qi(o)&&e.some((a,c)=>a!=="*"&&Wi(o,a)?(r=c,!0):!1),r}var Xi=10,Rt=class{componentFactory;inputMap=new Map;constructor(e,t){this.componentFactory=t.get(Pt).resolveComponentFactory(e);for(let r of this.componentFactory.inputs)this.inputMap.set(r.propName,r.templateName)}create(e){return new Ot(this.componentFactory,e,this.inputMap)}},Ot=class{componentFactory;injector;inputMap;eventEmitters=new St(1);events=this.eventEmitters.pipe(Ht(e=>jt(...e)));componentRef=null;scheduledDestroyFn=null;initialInputValues=new Map;ngZone;elementZone;appRef;cdScheduler;constructor(e,t,r){this.componentFactory=e,this.injector=t,this.inputMap=r,this.ngZone=this.injector.get(Xt),this.appRef=this.injector.get(ei),this.cdScheduler=t.get(Qt),this.elementZone=typeof Zone>"u"?null:this.ngZone.run(()=>Zone.current)}connect(e){this.runInZone(()=>{if(this.scheduledDestroyFn!==null){this.scheduledDestroyFn(),this.scheduledDestroyFn=null;return}this.componentRef===null&&this.initializeComponent(e)})}disconnect(){this.runInZone(()=>{this.componentRef===null||this.scheduledDestroyFn!==null||(this.scheduledDestroyFn=qi.schedule(()=>{this.componentRef!==null&&(this.componentRef.destroy(),this.componentRef=null)},Xi))})}getInputValue(e){return this.runInZone(()=>this.componentRef===null?this.initialInputValues.get(e):this.componentRef.instance[e])}setInputValue(e,t){if(this.componentRef===null){this.initialInputValues.set(e,t);return}this.runInZone(()=>{this.componentRef.setInput(this.inputMap.get(e)??e,t),Gt(this.componentRef.hostView)&&(Jt(this.componentRef.changeDetectorRef),this.cdScheduler.notify(6))})}initializeComponent(e){let t=kt.create({providers:[],parent:this.injector}),r=Yi(e,this.componentFactory.ngContentSelectors);this.componentRef=this.componentFactory.create(t,r,e),this.initializeInputs(),this.initializeOutputs(this.componentRef),this.appRef.attachView(this.componentRef.hostView),this.componentRef.hostView.detectChanges()}initializeInputs(){for(let[e,t]of this.initialInputValues)this.setInputValue(e,t);this.initialInputValues.clear()}initializeOutputs(e){let t=this.componentFactory.outputs.map(({propName:r,templateName:a})=>{let c=e.instance[r];return new ct(m=>{let g=c.subscribe(_=>m.next({name:a,value:_}));return()=>g.unsubscribe()})});this.eventEmitters.next(t)}runInZone(e){return this.elementZone&&Zone.current!==this.elementZone?this.ngZone.run(e):e()}},Lt=class extends HTMLElement{ngElementEventsSubscription=null};function Ri(o,e){let t=Ji(o,e.injector),r=e.strategyFactory||new Rt(o,e.injector),a=Gi(t);class c extends Lt{injector;static observedAttributes=Object.keys(a);get ngElementStrategy(){if(!this._ngElementStrategy){let g=this._ngElementStrategy=r.create(this.injector||e.injector);t.forEach(({propName:_,transform:D})=>{if(!this.hasOwnProperty(_))return;let Q=this[_];delete this[_],g.setInputValue(_,Q,D)})}return this._ngElementStrategy}_ngElementStrategy;constructor(g){super(),this.injector=g}attributeChangedCallback(g,_,D,Q){let[Ee,Ie]=a[g];this.ngElementStrategy.setInputValue(Ee,D,Ie)}connectedCallback(){let g=!1;this.ngElementStrategy.events&&(this.subscribeToEvents(),g=!0),this.ngElementStrategy.connect(this),g||this.subscribeToEvents()}disconnectedCallback(){this._ngElementStrategy&&this._ngElementStrategy.disconnect(),this.ngElementEventsSubscription&&(this.ngElementEventsSubscription.unsubscribe(),this.ngElementEventsSubscription=null)}subscribeToEvents(){this.ngElementEventsSubscription=this.ngElementStrategy.events.subscribe(g=>{let _=new CustomEvent(g.name,{detail:g.value});this.dispatchEvent(_)})}}return t.forEach(({propName:m,transform:g})=>{Object.defineProperty(c.prototype,m,{get(){return this.ngElementStrategy.getInputValue(m)},set(_){this.ngElementStrategy.setInputValue(m,_,g)},configurable:!0,enumerable:!0})}),c}var Oi={providers:[ci()]};var Nt=(t=>(t.CART_AMOUNT="CART_AMOUNT",t.ITEM_COUNT="ITEM_COUNT",t))(Nt||{});var Z=zi(Ni());Z.filters.define("default",function(o){return typeof o>"u"||o==null?"":tn(o)});+Z.filters.define("max",(o,e)=>{let t=Number(o),r=Number(e);return isNaN(t)||isNaN(r)?o:t>r?e:o});Z.filters.define("min",(o,e)=>{let t=Number(o),r=Number(e);return isNaN(t)||isNaN(r)?o:t<r?e:o});Z.filters.define("fallback",(o,e)=>o==null||o===""?e:o);Z.filters.define("manipulate_quantity",(o,e,t)=>{if(e??=1,t??=100,e>t)return K.error("Invalid range: min should be less than or equal to max."),o;if(o>=e&&o<=t)return o;let r=o%t;return r<e?e:r});Z.filters.define("apply_discount_perc",(o,e,t=1/0)=>{if(o=+o,isNaN(o))return K.error("Need value as a number for `apply_discount_perc` filter"),NaN;if(e<0||e>100)return K.error("Invalid percent value for `apply_discount_perc` filter. Must be between 0 and 100."),NaN;let r=o*e/100;return o-Math.min(t,r)});Z.filters.define("apply_discount_fixed",(o,e)=>(o=+o,isNaN(o)?(K.error("Need value as a number for `apply_discount_fixed` filter"),NaN):Math.max(0,o-e)));Z.filters.define("currency",o=>(o=+o,isNaN(o)?(K.error("Need value as a number for `currency` filter"),NaN):qe(o)));Z.defaultConfig.defaultFilter="default";Z.defaultConfig.useWith=!0;Z.defaultConfig.autoEscape=!1;var en={'"':"&quot;","\\":"&bsol;","\n":"\\n"};function tn(o){return String(o).replace(/["\\\n]/g,e=>en[e])}function nn(o){if(!o)return"";let e=/({{{\s*([^}]+?)\s*}}}|{{\s*&\s*([^}]+?)\s*}})/g;return o.replace(e,(t,r,a,c)=>`{{ ${(a||c||"").trim()} }}`)}var Qe=(o,e,t)=>{e=ge({discount:{},cart:{},product:{},bundle:{},variant:{},customer:{},svg:{},form:{},amount_left:null},e);try{return Z.render(nn(o),e)}catch(r){throw yi(r,"squirrelly-render",{extra:{template:o,values:e},triggerContext:t}),r}};var gt=class o{transform(e,t){return e?Qe(e,ge({},t)):null}static \u0275fac=function(t){return new(t||o)};static \u0275pipe=Yt({name:"cooeeDynamicVariables",type:o,pure:!0})};var Bt={};(function o(e,t,r,a){var c=!!(e.Worker&&e.Blob&&e.Promise&&e.OffscreenCanvas&&e.OffscreenCanvasRenderingContext2D&&e.HTMLCanvasElement&&e.HTMLCanvasElement.prototype.transferControlToOffscreen&&e.URL&&e.URL.createObjectURL),m=typeof Path2D=="function"&&typeof DOMMatrix=="function",g=(function(){if(!e.OffscreenCanvas)return!1;var n=new OffscreenCanvas(1,1),i=n.getContext("2d");i.fillRect(0,0,1,1);var p=n.transferToImageBitmap();try{i.createPattern(p,"no-repeat")}catch{return!1}return!0})();function _(){}function D(n){var i=t.exports.Promise,p=i!==void 0?i:e.Promise;return typeof p=="function"?new p(n):(n(_,_),null)}var Q=(function(n,i){return{transform:function(p){if(n)return p;if(i.has(p))return i.get(p);var f=new OffscreenCanvas(p.width,p.height),y=f.getContext("2d");return y.drawImage(p,0,0),i.set(p,f),f},clear:function(){i.clear()}}})(g,new Map),Ee=(function(){var n=Math.floor(16.666666666666668),i,p,f={},y=0;return typeof requestAnimationFrame=="function"&&typeof cancelAnimationFrame=="function"?(i=function(C){var x=Math.random();return f[x]=requestAnimationFrame(function h(b){y===b||y+n-1<b?(y=b,delete f[x],C()):f[x]=requestAnimationFrame(h)}),x},p=function(C){f[C]&&cancelAnimationFrame(f[C])}):(i=function(C){return setTimeout(C,n)},p=function(C){return clearTimeout(C)}),{frame:i,cancel:p}})(),Ie=(function(){var n,i,p={};function f(y){function C(x,h){y.postMessage({options:x||{},callback:h})}y.init=function(h){var b=h.transferControlToOffscreen();y.postMessage({canvas:b},[b])},y.fire=function(h,b,v){if(i)return C(h,null),i;var V=Math.random().toString(36).slice(2);return i=D(function(w){function k(E){E.data.callback===V&&(delete p[V],y.removeEventListener("message",k),i=null,Q.clear(),v(),w())}y.addEventListener("message",k),C(h,V),p[V]=k.bind(null,{data:{callback:V}})}),i},y.reset=function(){y.postMessage({reset:!0});for(var h in p)p[h](),delete p[h]}}return function(){if(n)return n;if(!r&&c){var y=["var CONFETTI, SIZE = {}, module = {};","("+o.toString()+")(this, module, true, SIZE);","onmessage = function(msg) {"," if (msg.data.options) {"," CONFETTI(msg.data.options).then(function () {"," if (msg.data.callback) {"," postMessage({ callback: msg.data.callback });"," }"," });"," } else if (msg.data.reset) {"," CONFETTI && CONFETTI.reset();"," } else if (msg.data.resize) {"," SIZE.width = msg.data.resize.width;"," SIZE.height = msg.data.resize.height;"," } else if (msg.data.canvas) {"," SIZE.width = msg.data.canvas.width;"," SIZE.height = msg.data.canvas.height;"," CONFETTI = module.exports.create(msg.data.canvas);"," }","}"].join(`
11
+ `);try{n=new Worker(URL.createObjectURL(new Blob([y])))}catch(C){return typeof console!==void 0&&typeof console.warn=="function"&&console.warn("\u{1F38A} Could not load worker",C),null}f(n)}return n}})(),nt={particleCount:50,angle:90,spread:45,startVelocity:45,decay:.9,gravity:1,drift:0,ticks:200,x:.5,y:.5,shapes:["square","circle"],zIndex:100,colors:["#26ccff","#a25afd","#ff5e7e","#88ff5a","#fcff42","#ffa62d","#ff36ff"],disableForReducedMotion:!1,scalar:1};function We(n,i){return i?i(n):n}function Ge(n){return n!=null}function R(n,i,p){return We(n&&Ge(n[i])?n[i]:nt[i],p)}function Tt(n){return n<0?0:Math.floor(n)}function Je(n,i){return Math.floor(Math.random()*(i-n))+n}function te(n){return parseInt(n,16)}function Oe(n){return n.map(Ce)}function Ce(n){var i=String(n).replace(/[^0-9a-f]/gi,"");return i.length<6&&(i=i[0]+i[0]+i[1]+i[1]+i[2]+i[2]),{r:te(i.substring(0,2)),g:te(i.substring(2,4)),b:te(i.substring(4,6))}}function Et(n){var i=R(n,"origin",Object);return i.x=R(i,"x",Number),i.y=R(i,"y",Number),i}function It(n){n.width=document.documentElement.clientWidth,n.height=document.documentElement.clientHeight}function ot(n){var i=n.getBoundingClientRect();n.width=i.width,n.height=i.height}function rt(n){var i=document.createElement("canvas");return i.style.position="fixed",i.style.top="0px",i.style.left="0px",i.style.pointerEvents="none",i.style.zIndex=n,i}function at(n,i,p,f,y,C,x,h,b){n.save(),n.translate(i,p),n.rotate(C),n.scale(f,y),n.arc(0,0,1,x,h,b),n.restore()}function st(n){var i=n.angle*(Math.PI/180),p=n.spread*(Math.PI/180);return{x:n.x,y:n.y,wobble:Math.random()*10,wobbleSpeed:Math.min(.11,Math.random()*.1+.05),velocity:n.startVelocity*.5+Math.random()*n.startVelocity,angle2D:-i+(.5*p-Math.random()*p),tiltAngle:(Math.random()*(.75-.25)+.25)*Math.PI,color:n.color,shape:n.shape,tick:0,totalTicks:n.ticks,decay:n.decay,drift:n.drift,random:Math.random()+2,tiltSin:0,tiltCos:0,wobbleX:0,wobbleY:0,gravity:n.gravity*3,ovalScalar:.6,scalar:n.scalar,flat:n.flat}}function Le(n,i){i.x+=Math.cos(i.angle2D)*i.velocity+i.drift,i.y+=Math.sin(i.angle2D)*i.velocity+i.gravity,i.velocity*=i.decay,i.flat?(i.wobble=0,i.wobbleX=i.x+10*i.scalar,i.wobbleY=i.y+10*i.scalar,i.tiltSin=0,i.tiltCos=0,i.random=1):(i.wobble+=i.wobbleSpeed,i.wobbleX=i.x+10*i.scalar*Math.cos(i.wobble),i.wobbleY=i.y+10*i.scalar*Math.sin(i.wobble),i.tiltAngle+=.1,i.tiltSin=Math.sin(i.tiltAngle),i.tiltCos=Math.cos(i.tiltAngle),i.random=Math.random()+2);var p=i.tick++/i.totalTicks,f=i.x+i.random*i.tiltCos,y=i.y+i.random*i.tiltSin,C=i.wobbleX+i.random*i.tiltCos,x=i.wobbleY+i.random*i.tiltSin;if(n.fillStyle="rgba("+i.color.r+", "+i.color.g+", "+i.color.b+", "+(1-p)+")",n.beginPath(),m&&i.shape.type==="path"&&typeof i.shape.path=="string"&&Array.isArray(i.shape.matrix))n.fill(l(i.shape.path,i.shape.matrix,i.x,i.y,Math.abs(C-f)*.1,Math.abs(x-y)*.1,Math.PI/10*i.wobble));else if(i.shape.type==="bitmap"){var h=Math.PI/10*i.wobble,b=Math.abs(C-f)*.1,v=Math.abs(x-y)*.1,V=i.shape.bitmap.width*i.scalar,w=i.shape.bitmap.height*i.scalar,k=new DOMMatrix([Math.cos(h)*b,Math.sin(h)*b,-Math.sin(h)*v,Math.cos(h)*v,i.x,i.y]);k.multiplySelf(new DOMMatrix(i.shape.matrix));var E=n.createPattern(Q.transform(i.shape.bitmap),"no-repeat");E.setTransform(k),n.globalAlpha=1-p,n.fillStyle=E,n.fillRect(i.x-V/2,i.y-w/2,V,w),n.globalAlpha=1}else if(i.shape==="circle")n.ellipse?n.ellipse(i.x,i.y,Math.abs(C-f)*i.ovalScalar,Math.abs(x-y)*i.ovalScalar,Math.PI/10*i.wobble,0,2*Math.PI):at(n,i.x,i.y,Math.abs(C-f)*i.ovalScalar,Math.abs(x-y)*i.ovalScalar,Math.PI/10*i.wobble,0,2*Math.PI);else if(i.shape==="star")for(var T=Math.PI/2*3,A=4*i.scalar,N=8*i.scalar,z=i.x,W=i.y,ie=5,S=Math.PI/ie;ie--;)z=i.x+Math.cos(T)*N,W=i.y+Math.sin(T)*N,n.lineTo(z,W),T+=S,z=i.x+Math.cos(T)*A,W=i.y+Math.sin(T)*A,n.lineTo(z,W),T+=S;else n.moveTo(Math.floor(i.x),Math.floor(i.y)),n.lineTo(Math.floor(i.wobbleX),Math.floor(y)),n.lineTo(Math.floor(C),Math.floor(x)),n.lineTo(Math.floor(f),Math.floor(i.wobbleY));return n.closePath(),n.fill(),i.tick<i.totalTicks}function Ye(n,i,p,f,y){var C=i.slice(),x=n.getContext("2d"),h,b,v=D(function(V){function w(){h=b=null,x.clearRect(0,0,f.width,f.height),Q.clear(),y(),V()}function k(){r&&!(f.width===a.width&&f.height===a.height)&&(f.width=n.width=a.width,f.height=n.height=a.height),!f.width&&!f.height&&(p(n),f.width=n.width,f.height=n.height),x.clearRect(0,0,f.width,f.height),C=C.filter(function(E){return Le(x,E)}),C.length?h=Ee.frame(k):w()}h=Ee.frame(k),b=w});return{addFettis:function(V){return C=C.concat(V),v},canvas:n,promise:v,reset:function(){h&&Ee.cancel(h),b&&b()}}}function Ke(n,i){var p=!n,f=!!R(i||{},"resize"),y=!1,C=R(i,"disableForReducedMotion",Boolean),x=c&&!!R(i||{},"useWorker"),h=x?Ie():null,b=p?It:ot,v=n&&h?!!n.__confetti_initialized:!1,V=typeof matchMedia=="function"&&matchMedia("(prefers-reduced-motion)").matches,w;function k(T,A,N){for(var z=R(T,"particleCount",Tt),W=R(T,"angle",Number),ie=R(T,"spread",Number),S=R(T,"startVelocity",Number),be=R(T,"decay",Number),Pe=R(T,"gravity",Number),De=R(T,"drift",Number),q=R(T,"colors",Oe),me=R(T,"ticks",Number),lt=R(T,"shapes"),G=R(T,"scalar"),Fe=!!R(T,"flat"),Ne=Et(T),Be=z,ne=[],fe=n.width*Ne.x,$i=n.height*Ne.y;Be--;)ne.push(st({x:fe,y:$i,angle:W,spread:ie,startVelocity:S,color:q[Be%q.length],shape:lt[Je(0,lt.length)],ticks:me,decay:be,gravity:Pe,drift:De,scalar:G,flat:Fe}));return w?w.addFettis(ne):(w=Ye(n,ne,b,A,N),w.promise)}function E(T){var A=C||R(T,"disableForReducedMotion",Boolean),N=R(T,"zIndex",Number);if(A&&V)return D(function(S){S()});p&&w?n=w.canvas:p&&!n&&(n=rt(N),document.body.appendChild(n)),f&&!v&&b(n);var z={width:n.width,height:n.height};h&&!v&&h.init(n),v=!0,h&&(n.__confetti_initialized=!0);function W(){if(h){var S={getBoundingClientRect:function(){if(!p)return n.getBoundingClientRect()}};b(S),h.postMessage({resize:{width:S.width,height:S.height}});return}z.width=z.height=null}function ie(){w=null,f&&(y=!1,e.removeEventListener("resize",W)),p&&n&&(document.body.contains(n)&&document.body.removeChild(n),n=null,v=!1)}return f&&!y&&(y=!0,e.addEventListener("resize",W,!1)),h?h.fire(T,z,ie):k(T,z,ie)}return E.reset=function(){h&&h.reset(),w&&w.reset()},E}var ke;function s(){return ke||(ke=Ke(null,{useWorker:!0,resize:!0})),ke}function l(n,i,p,f,y,C,x){var h=new Path2D(n),b=new Path2D;b.addPath(h,new DOMMatrix(i));var v=new Path2D;return v.addPath(b,new DOMMatrix([Math.cos(x)*y,Math.sin(x)*y,-Math.sin(x)*C,Math.cos(x)*C,p,f])),v}function d(n){if(!m)throw new Error("path confetti are not supported in this browser");var i,p;typeof n=="string"?i=n:(i=n.path,p=n.matrix);var f=new Path2D(i),y=document.createElement("canvas"),C=y.getContext("2d");if(!p){for(var x=1e3,h=x,b=x,v=0,V=0,w,k,E=0;E<x;E+=2)for(var T=0;T<x;T+=2)C.isPointInPath(f,E,T,"nonzero")&&(h=Math.min(h,E),b=Math.min(b,T),v=Math.max(v,E),V=Math.max(V,T));w=v-h,k=V-b;var A=10,N=Math.min(A/w,A/k);p=[N,0,0,N,-Math.round(w/2+h)*N,-Math.round(k/2+b)*N]}return{type:"path",path:i,matrix:p}}function u(n){var i,p=1,f="#000000",y='"Apple Color Emoji", "Segoe UI Emoji", "Segoe UI Symbol", "Noto Color Emoji", "EmojiOne Color", "Android Emoji", "Twemoji Mozilla", "system emoji", sans-serif';typeof n=="string"?i=n:(i=n.text,p="scalar"in n?n.scalar:p,y="fontFamily"in n?n.fontFamily:y,f="color"in n?n.color:f);var C=10*p,x=""+C+"px "+y,h=new OffscreenCanvas(C,C),b=h.getContext("2d");b.font=x;var v=b.measureText(i),V=Math.ceil(v.actualBoundingBoxRight+v.actualBoundingBoxLeft),w=Math.ceil(v.actualBoundingBoxAscent+v.actualBoundingBoxDescent),k=2,E=v.actualBoundingBoxLeft+k,T=v.actualBoundingBoxAscent+k;V+=k+k,w+=k+k,h=new OffscreenCanvas(V,w),b=h.getContext("2d"),b.font=x,b.fillStyle=f,b.fillText(i,E,T);var A=1/p;return{type:"bitmap",bitmap:h.transferToImageBitmap(),matrix:[A,0,0,A,-V*A/2,-w*A/2]}}t.exports=function(){return s().apply(this,arguments)},t.exports.reset=function(){s().reset()},t.exports.create=Ke,t.exports.shapeFromPath=d,t.exports.shapeFromText=u})((function(){return typeof window<"u"?window:typeof self<"u"?self:this||{}})(),Bt,!1);var Bi=Bt.exports,io=Bt.exports.create;var ht=class{static DEFAULTS={scalar:1.4,zIndex:1e4,shapes:["circle","circle","square"],colors:["#f51c8f","#2179e2","#d52dc8","#01a9d9","#78ff44","#fdff6a"]};static async basic(){await this.fire({particleCount:100,spread:70,origin:{y:.6}})}static async leftRight(e=100){let t=[],r=Date.now()+2e3,a=()=>{t.push(this.fire({angle:60,spread:55,origin:{x:0}}),this.fire({angle:120,spread:55,origin:{x:1}})),Date.now()<r&&e>0&&(requestAnimationFrame(a),e--)};a(),await Promise.all(t)}static async realistic(){await Promise.all([this.realisticFire(.25,{spread:26,startVelocity:55}),this.realisticFire(.2,{spread:60}),this.realisticFire(.35,{spread:100,decay:.91,scalar:.8}),this.realisticFire(.1,{spread:120,startVelocity:25,decay:.92,scalar:1.2}),this.realisticFire(.1,{spread:120,startVelocity:45})])}static async fire(e){Object.assign(e,this.DEFAULTS,e),e.particleCount=e.particleCount??this.DEFAULTS.colors.length,await Bi(e)}static async realisticFire(e,t){let a={origin:{y:.7}};await this.fire(Object.assign({},a,t,{particleCount:Math.floor(200*e)}))}};var on=(o,e)=>e.minValue;function rn(o,e){if(o&1&&(ee(0,"div",7),ve(1,"safeHtml")),o&2){let t=M().$implicit;J("innerHTML",Ve(1,1,t.minValue+" Products"),ce)}}function an(o,e){if(o&1&&(ee(0,"div",7),ve(1,"cooeeCurrency"),ve(2,"safeHtml")),o&2){let t=M().$implicit;J("innerHTML",Ve(2,3,Ve(1,1,t.minValue)),ce)}}function sn(o,e){if(o&1&&(X(0,"li",6)(1,"div"),H(2,rn,2,3,"div",7)(3,an,3,5,"div",7),ee(4,"img",8),X(5,"div",9),ue(6),de()()()),o&2){let t=e.$implicit,r=M(2);et("left",t.calculatedAlignment+"%"),I(2),$((r.progressBarConfig==null?null:r.progressBarConfig.rewardBasis)===r.RewardBasis.ITEM_COUNT?2:3),I(2),J("src",r.getIconURL(t),_e),I(2),ri(t.label)}}function ln(o,e){if(o&1&&(ee(0,"div",0),ve(1,"cooeeDynamicVariables"),ve(2,"safeHtml"),X(3,"div",1)(4,"ul",2)(5,"div",3),ee(6,"div",4),de(),oe(7,sn,7,5,"li",5,on),de()()),o&2){let t=M(),r=t.calculatedState(),a=r.nextMilestone?r.nextMilestone.reachingText:r.lastMilestone.reachedText;J("innerHTML",Ve(2,6,li(1,3,a,t.localDynamicVariables())),ce),I(6),et("width",r.cartValuePercentage+"%"),I(),re(r.milestones)}}var vt=class o extends ye{cart;localDynamicVariables=xe({});calculatedState=xe({});progressBarConfig;RewardBasis=Nt;constructor(){super()}engagementTriggerReceived(e){this.progressBarConfig=e.progressBarConfig}ngOnInit(){super.ngOnInit(),this.calculateMilestonesSilently()}update(){this.calculateMilestonesSilently()}getIconURL(e){return e.rewardType===pt.FREE_SHIPPING?"https://img.icons8.com/ios-filled/50/FFFFFF/free-shipping.png":e.rewardType===pt.DISCOUNT?"https://img.icons8.com/ios-glyphs/30/FFFFFF/sale-price-tag.png":e.rewardType===pt.FREE_AUTO_GIFT?"https://img.icons8.com/ios-filled/50/FFFFFF/gift--v1.png":""}calculateMilestonesSilently(){this.calculateMilestones().catch(e=>K.error(e))}async calculateMilestones(){let e=this.engagementTrigger,t=this.progressBarConfig;if(!t?.milestones?.length){K.warn("Milestones not available in progress bar config",e);return}let r=await this.cart.getNormalisedCart(),a=t.milestones.at(-1),c=t?.reachedAmountOrCount??r.originalAmount,m=t.totalProgress??0;K.verbose("Cart value:",c,`, percentage: ${m}%`),this.celebrate(e,c);let g={milestonesReady:!0,cartValuePercentage:m,milestones:t.milestones},_=t.milestones.find(D=>!D.reached);if(_){let D=qe(_.minValue-c);if(t.rewardBasis==="ITEM_COUNT"){let Q=_.minValue-c;D=`${Q} ${Q===1?"product":"products"}`}this.localDynamicVariables.set({amount_left:D}),g.nextMilestone=_,this.calculatedState.set(g);return}g.lastMilestone=a,this.calculatedState.set(g)}celebrate(e,t){let c=[...e.progressBarConfig.milestones].reverse().find(_=>_.minValue<t);if(!c)return;let m=`lc/en/${e.shortID}/${c.minValue}`;sessionStorage.getItem(m)||(sessionStorage.setItem(m,"1"),this.progressBarConfig?.noConfetti||ht.realistic())}static \u0275fac=function(t){return new(t||o)};static \u0275cmp=B({type:o,selectors:[["cooee-progressbar"]],inputs:{cart:"cart"},features:[ae(se()),j],decls:1,vars:1,consts:[[1,"heading",3,"innerHTML"],[1,"milestone-container"],[1,"milestone-list"],[1,"untracked-path"],[1,"tracked-path"],[1,"milestone-list-item",3,"left"],[1,"milestone-list-item"],[1,"milestone-value",3,"innerHTML"],["width","20","height","20","alt","milestone icon",1,"milestone-icon",3,"src"],[1,"milestone-label"]],template:function(t,r){t&1&&H(0,ln,9,8),t&2&&$(r.calculatedState().milestonesReady?0:-1)},dependencies:[gt,Ze,bi],styles:[`:host{display:block;padding:10px;background:linear-gradient(0deg,rgba(var(--lc-primary-color),.1) 0%,transparent 100%)}.milestone-container{width:95%;margin:8px 0}.heading{font-weight:500;text-align:center;font-size:12px}.milestone-list{display:flex;align-items:center;position:relative;font-size:10px;font-weight:500}.untracked-path{width:100%;background-color:#e5e7eb;height:4px;position:absolute}.tracked-path{background-color:rgba(var(--lc-primary-color));height:100%;display:block;transition:width .5s ease-in-out}.milestone-list{padding:0;margin:0}.milestone-list-item{position:relative;display:flex;flex-direction:column;align-items:center;height:75px}.milestone-list-item>div{display:flex;flex-direction:column;align-items:center;justify-content:space-between;position:absolute;height:100%;width:100px}.milestone-icon{padding:5px;border-radius:1000px;background-color:rgba(var(--lc-primary-color))}
12
+ `],encapsulation:3})};var cn=["numberVariable"],yt=class o extends ye{numberSlot;savingsBarConfig;textParts=xe({start:"",end:""});globalIntervals=[];constructor(){super()}ngAfterViewInit(){this.updateUIVars()}engagementTriggerReceived(e){this.savingsBarConfig=e.content.savingsBarConfig,this.elementRef.nativeElement.classList.add("lc_"+e.entryAnimation?.toLowerCase()),this.savingsBarConfig.iconURL&&this.elementRef.nativeElement.style.setProperty("--lc-discount-icon",this.savingsBarConfig.iconURL)}update(){this.updateUIVars()}updateUIVars(){let e=ge(ge({},this.engagementTrigger.getCartMagicVariables()),Ci("total_savings",this.savingsBarConfig.totalSavings)),t=Qe(this.savingsBarConfig.text,{cart:e},this.triggerContext),r=t.match(/[\d.,]+/)?.[0];if(!r){K.error("No amount found in text",t);return}let[a,c]=t.split(r);this.textParts.set({start:a,end:c}),this.savingsBarConfig.animateNumber?this.runAnimation(r):this.numberSlot.nativeElement.innerHTML=r}runSlotMachineAnimation(e="0"){let t=this.numberSlot.nativeElement;t.innerHTML="";let r=this.savingsBarConfig.animationDuration/e.length;this.clearPreviousIntervals();for(let a=0;a<e.length;a++){let c=document.createElement("div");c.className="digit",c.style.display="inline-block",t.appendChild(c);let m=setInterval(()=>{let g=Math.floor(Math.random()*10);c.innerHTML=`<div>${g}</div>`},50);this.globalIntervals.push(m),setTimeout(()=>{clearInterval(m);let g=e?.[a]??Math.floor(Math.random()*10);c.innerHTML=`${g}`},(a+1)*r)}}clearPreviousIntervals(){this.globalIntervals.forEach(clearInterval),this.globalIntervals=[]}runIncrementalAnimation(e){let t=performance.now(),r=a=>{let c=Math.min((a-t)/this.savingsBarConfig.animationDuration,1);this.numberSlot.nativeElement.innerHTML=Math.floor(e*c).toString(),c<1&&requestAnimationFrame(r)};requestAnimationFrame(r)}runAnimation(e){this.savingsBarConfig.animation==="SLOT_MACHINE"?this.runSlotMachineAnimation(e):this.savingsBarConfig.animation==="INCREMENTAL"&&this.runIncrementalAnimation(Number(e))}static \u0275fac=function(t){return new(t||o)};static \u0275cmp=B({type:o,selectors:[["cooee-savings-bar"]],viewQuery:function(t,r){if(t&1&&je(cn,5),t&2){let a;He(a=$e())&&(r.numberSlot=a.first)}},features:[j],decls:6,vars:2,consts:[["numberVariable",""],[1,"container"],[1,"icon"],[1,"primary-text",3,"innerHTML"],[1,"counter-text"],[1,"final-text",3,"innerHTML"]],template:function(t,r){t&1&&(X(0,"div",1),ee(1,"div",2)(2,"div",3)(3,"div",4,0)(5,"div",5),de()),t&2&&(I(2),J("innerHTML",r.textParts().start,ce),I(3),J("innerHTML",r.textParts().end,ce))},styles:[`:host{display:block}.container{white-space:pre;display:flex;justify-content:center;align-items:center;background-color:rgba(var(--lc-primary-button-bg-color, 0 162 81));color:rgba(var(--lc-primary-button-color, 255 255 255));padding:8px;border-radius:4px 4px 0 0;overflow:hidden}.container .icon{background-image:var(--lc-discount-icon, url(https://img.icons8.com/ios-glyphs/30/FFFFFF/discount--v1.png));background-position:center;background-size:cover;height:20px;width:20px;margin-right:2px}
13
+ `],encapsulation:3})};var Ct=class o extends ye{item;data=le(_i);dialogRef=le(xi);ItemDetailLayout=wi;constructor(){super(),this.triggerContext=this.data.triggerContext,this.item=this.data.item}close(){this.dialogRef.close()}engagementTriggerReceived(e){}update(){}static \u0275fac=function(t){return new(t||o)};static \u0275cmp=B({type:o,selectors:[["cooee-item-quick-view"]],features:[ae(se()),j],decls:1,vars:2,consts:[[3,"closeClick","item","layout"]],template:function(t,r){t&1&&(P(0,"cooee-item-detail",0),Y("closeClick",function(){return r.close()}),F()),t&2&&U("item",r.item)("layout",r.ItemDetailLayout.TWO_PANE)},dependencies:[Ei],styles:[`:host{display:flex;align-items:center;justify-content:center;height:100%}@media (min-width: 768px){cooee-item-detail{max-width:900px;max-height:80vh;border-radius:var(--lc-card-radius)}}
14
+ `],encapsulation:3})};var bt=class o{dialog=le(ut);dialogRef;constructor(){}showItemQuickView(e,t){this.dialogRef=this.dialog.open(Ct,{width:"100vw",height:"100dvh",backdropClass:["letscooee-backdrop"],data:{item:t,triggerContext:e}})}static \u0275fac=function(t){return new(t||o)};static \u0275prov=Ut({token:o,factory:o.\u0275fac,providedIn:"root"})};var dn=(o,e)=>({enter:o,exit:e});function pn(o,e){if(o&1&&(P(0,"div",7),ue(1),F(),P(2,"div",8),ue(3),F()),o&2){let t=M(2);I(),Ue(" ",t.getCurrency(t.selectedVariant().price.cmp)," "),I(2),Ue(" ",t.getDiscountPercentage(t.selectedVariant().price),"% off ")}}function un(o,e){if(o&1&&(P(0,"div",6),ue(1),F()),o&2){let t=M(2);I(),Ue(" ",t.stickyATCConfig.leftText," ")}}function mn(o,e){if(o&1&&(P(0,"div",1)(1,"div",5),ue(2),F(),H(3,pn,4,2),H(4,un,2,1,"div",6),F()),o&2){let t=M();I(2),Ue(" ",t.getCurrency(t.selectedVariant().price.d)," "),I(),$(t.selectedVariant().price.cmp?3:-1),I(),$(t.stickyATCConfig.leftText?4:-1)}}function fn(o,e){if(o&1&&(P(0,"div",9),ue(1),F()),o&2){let t=e.$implicit,r=e.$index;M(2);let a=we(5);U("ngClass",si(2,dn,r===a.currentIndex,r===a.previousIndex)),I(),Ue(" ",t," ")}}function gn(o,e){if(o&1&&(P(0,"div",4),oe(1,fn,2,5,"div",9,ti),F()),o&2){M();let t=we(5);I(),re(t.features)}}var xt=class o extends ye{currentItem;stickyATCConfig;selectedVariant=xe(void 0);featureSlider=xe({features:[],currentIndex:0});constructor(){super()}onVariantChange(e){this.currentItem&&(this.currentItem.setSelectedVariantByID(e.detail.variantID),this.selectedVariant.set(this.currentItem.selectedOrFirstVariant.value))}engagementTriggerReceived(e){this.stickyATCConfig=e.stickyATCConfig??{},this.currentItem=e.items[0],this.selectedVariant.set(this.currentItem.vars[0]),this.stickyATCConfig.leftText=this.replaceVariables(this.stickyATCConfig.leftText),this.stickyATCConfig.rightText=this.replaceVariables(this.stickyATCConfig.rightText),this.startFeatureRotation()}update(){}getCurrency(e){return qe(e)}getDiscountPercentage(e){return((e.cmp-e.d)/e.cmp*100).toFixed(0)}addToCart(){this.engagementService.executeCTA(it.ADD_TO_CART,{item:this.currentItem})}startFeatureRotation(){if(!this.stickyATCConfig.rightText)return;let e=this.stickyATCConfig.rightText.split(`
15
+ `),t=e.length===1?null:setInterval(()=>{this.featureSlider.update(r=>Mt(ge({},r),{previousIndex:r.currentIndex,currentIndex:(r.currentIndex+1)%r.features.length}))},3e3);this.featureSlider.set({intervalRef:t,currentIndex:0,features:e})}replaceVariables(e){return e?Qe(e,this.currentItem.getTemplateVariables(),this.triggerContext):""}static \u0275fac=function(t){return new(t||o)};static \u0275cmp=B({type:o,selectors:[["cooee-sticky-atc"]],hostBindings:function(t,r){t&1&&Y("letscooee:variant-change",function(c){return r.onVariantChange(c)},Wt)},features:[ae(se()),j],decls:7,vars:3,consts:[[1,"lc-wrapper"],[1,"lc-prices"],[1,"lc-button-wrapper"],["type","button",1,"lc-button","lc-button-atc",3,"click"],[1,"lc-features"],[1,"lc-sale-price"],[1,"lc-additional-text"],[1,"lc-compare-price"],[1,"lc-discount-label"],[1,"lc-feature",3,"ngClass"]],template:function(t,r){if(t&1){let a=pe();P(0,"div",0),H(1,mn,5,3,"div",1),P(2,"div",2)(3,"button",3),Y("click",function(){return O(a),L(r.addToCart())}),ue(4,"Add To Cart"),F(),tt(5),H(6,gn,3,0,"div",4),F()()}if(t&2){I(),$(r.selectedVariant()&&r.stickyATCConfig.showProductInfo?1:-1),I(4);let a=Ae(r.featureSlider());I(),$(a.features.length?6:-1)}},dependencies:[dt],styles:[`:host{display:flex;justify-content:center;padding:10px;background-color:#fff;width:100%;box-shadow:4px 0 10px #0006;line-height:normal}.lc-wrapper{display:flex;justify-content:space-between;align-items:center;gap:8px;max-width:1100px;width:100%}.lc-prices{flex:1 1 100%;display:flex;flex-wrap:wrap;align-items:center;gap:6px}@media (min-width: 768px){.lc-prices{gap:8px}}.lc-sale-price{font-size:24px;font-weight:600}.lc-compare-price{font-size:18px;font-weight:600;color:red;text-decoration:line-through}.lc-discount-label{font-size:12px;font-weight:500;color:green}.lc-button-wrapper{flex:1 1 100%;display:flex;flex-direction:column;gap:4px;align-items:center}.lc-button{background-color:#000;color:#fff;opacity:1;pointer-events:auto;border-radius:4px;min-width:150px;width:100%;padding:8px}.lc-additional-text,.lc-feature{font-size:12px;color:#666}.lc-features{position:relative;overflow:hidden;height:16px;text-align:center;width:100%}.lc-features .lc-feature{position:absolute;width:100%;opacity:0;transform:translateY(100%);transition:transform .5s ease,opacity .5s ease}.lc-features .lc-feature.enter{opacity:1;transform:translateY(0);z-index:2}.lc-features .lc-feature.exit{opacity:0;transform:translateY(-100%);z-index:1}
16
+ `],encapsulation:3})};var vn=["videoEl"];async function ji(){return(await import("./video-detail-dialog.component-BHMOX5XS.js")).VideoDetailDialogComponent}var Se=class o extends ye{videoElements;videos;videoConfig;dialogRef=null;dialog=le(ut);isMobile=Vi();pausedVideos=[];videoLoadingStates=new Map;intersectionObserver;visibleVideos=new Set;constructor(){super(),ji()}ngAfterViewInit(){this.checkAndOpenVideoFromUrl()}ngOnDestroy(){super.ngOnDestroy(),this.intersectionObserver?.disconnect()}engagementTriggerReceived(e){this.videoConfig=e.content?.videoConfig,this.videos=this.videoConfig.videos}onMuteToggled(e,t){e||this.videoElements.forEach(r=>{r.nativeElement!==t&&(r.nativeElement.muted=!0,r.nativeElement.pause())})}sendTriggerClicked(e,t){this.sendEvent("CE Trigger Clicked",{},e,t)}async onVideoTap(e,t,r,a){e?.stopPropagation(),e?.preventDefault();let c=t.items?.[0];if(this.sendTriggerClicked(t,c),this.videoConfig.footerContent==="NONE"){a&&(a.muted=!1,a.play(),this.onMuteToggled(!1,a));return}await this.openDialog(t,r)}sendEvent(e,t,r,a){let c=new fi(e,t,this.engagementTrigger);c.setVideos(r),a&&(c.items=[a.toEmbed()]),window.CooeeSDK.sendEvent(c)}onDialogClosed(){this.resumePlaylistVideos()}isVideoLoading(e){return this.videoLoadingStates.get(e)??!0}onVideoLoadStart(e){this.videoLoadingStates.set(e,!0)}onVideoCanPlay(e){this.videoLoadingStates.set(e,!1)}playVideo(e){e.play().catch(t=>{K.error("Failed to play video:",t)})}setupIntersectionObserver(e=.5,t="50px"){this.intersectionObserver=new IntersectionObserver(r=>{r.forEach(a=>{let c=a.target,m=c.dataset.videoId;m&&(a.isIntersecting?(this.visibleVideos.add(m),this.handleVideoVisibilityChange(c,!0)):(this.visibleVideos.delete(m),this.handleVideoVisibilityChange(c,!1)))})},{threshold:e,rootMargin:t}),setTimeout(()=>{this.videoElements.forEach(r=>{this.intersectionObserver?.observe(r.nativeElement)})},100)}handleVideoVisibilityChange(e,t){t?this.onVideoBecameVisible(e):e.pause()}onVideoBecameVisible(e){this.playVideo(e)}pauseAllPlaylistVideos(){this.pausedVideos=[],this.videoElements.forEach(e=>{let t=e.nativeElement;t.paused||(this.pausedVideos.push(t),t.pause())})}resumePlaylistVideos(){this.pausedVideos.forEach(e=>{e.play().catch(()=>{})}),this.pausedVideos=[]}async checkAndOpenVideoFromUrl(){let e=ki();if(!e||!this.videos)return;let t=Si();if(t.utm_campaign?.toLowerCase()!=="shoppable_video"||t.utm_source?.toLowerCase()!==Mi)return;let r=this.videos.findIndex(a=>a.shortID===+e);if(r!==-1){let a=this.videos[r];await vi.set("muted",!0),await this.openDialog(a,r)}}async openDialog(e,t){await mi();let r={videos:this.videos,currentIndex:t,triggerContext:this.triggerContext};this.dialogRef&&this.dialogRef.close(),this.pauseAllPlaylistVideos();let a=await ji();this.dialogRef=this.dialog.open(a,{width:"100vw",height:"100vh",data:r,providers:gi(this.triggerContext,{video:e,index:t}),disableClose:!0});let c={videoID:e.id,videoIndex:t};this.sendEvent("CE Video Dialog Opened",{current:c},e),this.dialogRef.closed.subscribe(m=>{if(this.dialogRef=null,!m)return;let g=m.lastVideoDuration*1e3,_={videoID:m.lastVideo.id,videoIndex:m.lastVideoIndex,playedTillMS:g,playedTillPercent:g/m.lastVideo.durationMS};this.sendEvent("CE Video Dialog Closed",{current:_},m.lastVideo),this.onDialogClosed()})}static \u0275fac=function(t){return new(t||o)};static \u0275cmp=B({type:o,selectors:[["cooee-abstract-video"]],viewQuery:function(t,r){if(t&1&&je(vn,5),t&2){let a;He(a=$e())&&(r.videoElements=a)}},features:[j],decls:0,vars:0,template:function(t,r){},encapsulation:2})};var yn=(o,e)=>e.id,Cn=(o,e)=>e.url;function bn(o,e){if(o&1&&(Me(0,"div",1),ve(1,"safeHtml")),o&2){let t=M();U("innerHTML",Ve(1,1,t.videoConfig.heading),ce)}}function xn(o,e){o&1&&(P(0,"div",6),Me(1,"div",14),F())}function _n(o,e){if(o&1&&Me(0,"source",8),o&2){let t=e.$implicit;U("type",ze(t.mimeType))("src",t.url,_e)}}function wn(o,e){if(o&1){let t=pe();P(0,"cooee-mute-toggle",15),Y("toggled",function(a){O(t),M();let c=he(6),m=M();return L(m.onMuteToggled(a,c))}),F()}if(o&2){M();let t=he(6);U("muted",t.muted)("videoEl",t)}}function Vn(o,e){if(o&1){let t=pe();P(0,"cooee-item-card",16),Y("buttonClick",function(){O(t);let a=M(),c=a.$implicit,m=a.$index,g=he(6),_=M();return L(_.addToCartClicked(null,c,m,g))})("click",function(a){O(t);let c=M(),m=c.$implicit,g=c.$index,_=he(6),D=M();return L(D.onVideoTap(a,m,g,_))}),F()}if(o&2){M();let t=we(0);U("item",t)}}function Tn(o,e){if(o&1){let t=pe();P(0,"cooee-video-card",17),Y("linkClicked",function(){O(t);let a=M().$implicit,c=M();return L(c.sendTriggerClicked(a))}),F()}if(o&2){M();let t=we(1);U("card",t)}}function En(o,e){if(o&1){let t=pe();tt(0)(1),P(2,"div",4)(3,"div",5),Y("click",function(a){let c=O(t),m=c.$implicit,g=c.$index,_=he(6),D=M();return L(D.onVideoTap(a,m,g,_))})("keydown.enter",function(a){let c=O(t),m=c.$implicit,g=c.$index,_=he(6),D=M();return L(D.onVideoTap(a,m,g,_))})("keydown.space",function(a){let c=O(t),m=c.$implicit,g=c.$index,_=he(6),D=M();return L(D.onVideoTap(a,m,g,_))}),H(4,xn,2,0,"div",6),P(5,"video",7,0),Y("mouseenter",function(){O(t);let a=he(6);M();let c=we(1);return L(c&&a.play())})("mouseleave",function(){O(t);let a=he(6);M();let c=we(1);return L(c&&a.pause())})("loadstart",function(){let a=O(t).$implicit,c=M();return L(c.onVideoLoadStart(a.id))})("canplay",function(){let a=O(t).$implicit,c=M();return L(c.onVideoCanPlay(a.id))}),oe(7,_n,1,3,"source",8,Cn),F(),P(9,"div",9),H(10,wn,1,2,"cooee-mute-toggle",10),F()(),P(11,"div",11),H(12,Vn,1,1,"cooee-item-card",12)(13,Tn,1,1,"cooee-video-card",13),F()()}if(o&2){let t=e.$implicit,r=M(),a=we(0),c=Ae(t.items[0]);I();let m=Ae(t.card),g=c&&r.videoConfig.footerContent==r.VideoConfigFooterContent.FIRST_ITEM,_=m&&r.videoConfig.footerContent==r.VideoConfigFooterContent.CARD;I(2),et("background-image",t.thumbnail?"url("+t.thumbnail+")":null),I(),$(r.isVideoLoading(t.id)?4:-1),I(),U("muted",!0),Xe("preload",a?"metadata":"none")("autoplay",null)("data-video-id",t.id),I(2),re(t.sources),I(3),$(r.videoConfig.showMuteButton?10:-1),I(2),$(g?12:_?13:-1)}}var _t=class o extends Se{VideoConfigFooterContent=Ft;VideoConfigAutoPlay=Ii;swiperOptions=null;constructor(){super(),this.hasSwiper=!0}ngAfterViewInit(){super.ngAfterViewInit();let e=this.videoConfig.playlistConfig?.videoSwiper,t=e?(this.isMobile?e.gapSm:e.gap)+"px":window.cooeePlaylistGap??24,r=e?this.isMobile?e.maxInRowSm:e.maxInRow:"auto";this.swiperOptions={direction:"horizontal",effect:"slide",loop:e?.loop,freeMode:!0,spaceBetween:t,slidesPerView:r,mousewheel:{enabled:!0,forceToAxis:!0},autoplay:e?.autoplay?.enabled?{delay:e?.autoplay?.delay,disableOnInteraction:!1}:!1},this.setupIntersectionObserver(),this.playFirstVideo()}ngOnDestroy(){super.ngOnDestroy()}addToCartClicked(e,t,r,a){let c=t.items?.[0],m=ui.get().website?.canChangeVariantInCart;if(t.items?.length>1||c?.hasVariants()&&!m){this.onVideoTap(e,t,r,a);return}this.engagementService.executeCTA(it.ADD_TO_CART,{item:c,video:t})}goToPDP(e,t){e?.stopPropagation(),e?.preventDefault();let r=t.items?.[0];this.engagementService.executeCTA(it.GO_TO_PRODUCT,{item:r,video:t})}update(){}onVideoBecameVisible(e){this.shouldAutoPlay()&&(this.dialogRef?this.pausedVideos.push(e):this.playVideo(e))}shouldAutoPlay(){return this.videoConfig.autoPlay==="ON"||this.videoConfig.autoPlay==="ON_HOVER"&&this.isMobile}playFirstVideo(){}static \u0275fac=function(t){return new(t||o)};static \u0275cmp=B({type:o,selectors:[["cooee-video-playlist"]],features:[ae(se()),j],decls:7,vars:6,consts:[["videoEl",""],[1,"heading-text",3,"innerHTML"],[3,"options","navigationConfig","paginationConfig"],["ngProjectAs","swiper-slides",5,["swiper-slides"]],[1,"swiper-slide","video-card"],["role","button","tabindex","0","aria-label","Play video","aria-haspopup","dialog",1,"video-wrapper",3,"click","keydown.enter","keydown.space"],[1,"video-loading-overlay"],["width","100%","playsinline","","loop","",3,"mouseenter","mouseleave","loadstart","canplay","muted"],[3,"src","type"],[1,"video-controls"],[3,"muted","videoEl"],["role","region","aria-label","Video details",1,"video-footer"],["role","button","tabindex","0","aria-label","Product detail",3,"item"],[3,"card"],[1,"loading-spinner"],[3,"toggled","muted","videoEl"],["role","button","tabindex","0","aria-label","Product detail",3,"buttonClick","click","item"],[3,"linkClicked","card"]],template:function(t,r){if(t&1&&(tt(0)(1),H(2,bn,2,3,"div",1),P(3,"cooee-swiper",2),ii(4,3),oe(5,En,14,11,"div",4,yn),ni(),F()),t&2){Ae(!r.videoConfig.autoPlay||r.videoConfig.autoPlay===r.VideoConfigAutoPlay.ON),I(),Ae(r.videoConfig.autoPlay===r.VideoConfigAutoPlay.ON_HOVER),I(),$(r.videoConfig.heading?2:-1);let a=r.videoConfig.playlistConfig==null?null:r.videoConfig.playlistConfig.videoSwiper;I(),U("options",r.swiperOptions)("navigationConfig",a==null?null:a.navigation)("paginationConfig",a==null?null:a.pagination),I(2),re(r.videos)}},dependencies:[Fi,Di,Pi,Ai,Ze],styles:[`:host{display:block}cooee-swiper.swiper{margin:8px;padding-top:25px;padding-bottom:25px}.video-wrapper{position:relative;cursor:pointer;outline:none;border-radius:var(--lc-media-radius, 8px);background-size:cover;background-position:center;background-repeat:no-repeat}.video-wrapper video{width:100%;height:var(--lc-video-card-height);object-fit:cover;border-radius:var(--lc-media-radius, 8px);position:relative}.video-card.swiper-slide{width:var(--lc-video-card-width);transition:transform .3s ease}.video-card.swiper-slide:hover{transform:scale(1.05)}@media (max-width: 768px),(prefers-reduced-motion: reduce){.video-card.swiper-slide{transition:none}.video-card.swiper-slide:hover{transform:none}}.video-controls{position:absolute;bottom:8px;z-index:10;right:8px;display:flex;gap:8px}cooee-item-card{cursor:pointer;padding-left:0!important;padding-right:0!important}cooee-item-card .item-image{width:50px;height:50px;display:none}cooee-item-card .item-info{font-size:14px;line-height:normal}cooee-item-card .item-info .item-name{-webkit-line-clamp:1;overflow:hidden}.video-loading-overlay{border-radius:var(--lc-media-radius, 8px)}
17
+ `],encapsulation:3})};function Hi(o){o||(o=le(Zt));let e=new ct(t=>{if(o.destroyed){t.next();return}return o.onDestroy(t.next.bind(t))});return t=>t.pipe($t(e))}var In=["videoElement"],Mn=o=>({"cursor-grab":o}),Sn=(o,e)=>e.url;function kn(o,e){if(o&1&&Me(0,"source",8),o&2){let t=e.$implicit;U("type",ze(t.mimeType))("src",t.url,_e)}}var wt=class o extends Se{videoElement;video;isDragging=!1;hidden=!1;cdkDrag=le(mt,{self:!0});untilDestroyed=Hi();constructor(){super()}get popupClasses(){return this.hidden?["hidden"]:["visible"]}onClick(e){e.stopPropagation(),e.preventDefault(),this.onVideoClick()}ngOnInit(){super.ngOnInit();let e=this.elementRef.nativeElement.closest(".letscooee-engagement");e&&(e.style.zIndex="10000"),this.cdkDrag.moved.pipe(this.untilDestroyed).subscribe(()=>this.isDragging=!0)}ngAfterViewInit(){super.ngAfterViewInit(),setTimeout(()=>{this.autoPlay()},100)}onVideoClick(){if(this.isDragging){this.isDragging=!1;return}this.hidden=!0,this.onVideoTap(null,this.video,0)}close(){this.hidden=!0;let e=(new Date().getTime()-this.triggerContext.startTime.getTime())/1e3;this.sendEvent("CE Trigger Closed",{duration:e})}engagementTriggerReceived(e){super.engagementTriggerReceived(e),this.video=this.videos[0]}update(){}onDialogClosed(){this.hidden=!1}autoPlay(){let e=this.videoElement.nativeElement;this.hidden||this.playVideo(e)}static \u0275fac=function(t){return new(t||o)};static \u0275cmp=B({type:o,selectors:[["cooee-video-popup"]],viewQuery:function(t,r){if(t&1&&je(In,5),t&2){let a;He(a=$e())&&(r.videoElement=a.first)}},hostAttrs:["role","button","tabindex","0","aria-label","Open video popup "],hostVars:3,hostBindings:function(t,r){t&1&&Y("keydown.enter",function(c){return r.onClick(c)})("keydown.space",function(c){return r.onClick(c)})("click",function(c){return r.onClick(c)}),t&2&&(J("cdkDragBoundary","body"),oi(r.popupClasses))},features:[ae(se()),Kt([{directive:mt,inputs:["cdkDragBoundary","cdkDragBoundary"]}]),j],decls:11,vars:4,consts:[["videoElement",""],[1,"popup-inner",3,"ngClass"],["type","button","aria-label","Close video popup",1,"close-button",3,"click"],["name","close","aria-hidden","true"],[1,"play-button"],["name","unmute","aria-hidden","true"],[1,"text"],["loop","","preload","metadata","playsinline","",3,"muted"],[3,"src","type"]],template:function(t,r){if(t&1){let a=pe();P(0,"div",1)(1,"button",2),Y("click",function(m){return O(a),m.stopPropagation(),L(r.close())}),Me(2,"cooee-icon",3),F(),P(3,"div",4),Me(4,"cooee-icon",5),P(5,"div",6),ue(6,"Tap to unmute"),F()(),P(7,"video",7,0),oe(9,kn,1,3,"source",8,Sn),F()()}t&2&&(U("ngClass",ai(2,Mn,r.isDragging)),I(7),U("muted",!0),I(2),re(r.video.sources))},dependencies:[dt,Ti],styles:[`:host{position:fixed;display:block;right:24px;bottom:24px;min-height:150px;max-width:150px;box-shadow:0 25px 50px -12px #00000040}:host(.hidden){display:none}.popup-inner{display:flex;justify-content:center;align-items:center;position:relative}video{width:100%;border-radius:8px;background-color:#fff}.close-button{position:absolute;top:-14px;right:-14px;background-color:#00000080;border-radius:9999px;width:32px;height:32px;border:none;z-index:10;display:flex;justify-content:center;align-items:center}.play-button{display:flex;justify-content:center;align-items:center;position:absolute;top:50%;left:50%;transform:translate(-50%,-50%) scale(1);transition:all .1s ease-in-out;z-index:999;flex-wrap:wrap;width:100%;max-width:130px;border-radius:5px;padding:5px 10px;background-color:#97979761;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px)}.play-button cooee-icon{width:14px;height:14px}.play-button .text{font-size:11px;line-height:1;color:#fff;font-weight:400;margin-left:5px;text-align:center}
18
+ `],encapsulation:3})};var Pn=(o,e)=>e.id,Dn=(o,e)=>e.url;function Fn(o,e){if(o&1&&(ee(0,"div",1),ve(1,"safeHtml")),o&2){let t=M();J("innerHTML",Ve(1,1,t.videoConfig.heading),ce)}}function An(o,e){o&1&&(X(0,"div",9),ee(1,"div",12),de())}function Rn(o,e){if(o&1&&ee(0,"source",11),o&2){let t=e.$implicit;J("type",ze(t.mimeType))("src",t.url,_e)}}function On(o,e){if(o&1){let t=pe();X(0,"div",4),Dt("click",function(a){let c=O(t),m=c.$implicit,g=c.$index,_=M();return L(_.onVideoTap(a,m,g))})("keydown.enter",function(a){let c=O(t),m=c.$implicit,g=c.$index,_=M();return L(_.onVideoTap(a,m,g))})("keydown.space",function(a){let c=O(t),m=c.$implicit,g=c.$index,_=M();return L(_.onVideoTap(a,m,g))}),zt(),X(1,"svg",5),ee(2,"circle",6)(3,"circle",7),de(),qt(),X(4,"div",8),H(5,An,2,0,"div",9),X(6,"video",10,0),Dt("loadstart",function(){let a=O(t).$implicit,c=M();return L(c.onVideoLoadStart(a.id))})("canplay",function(){let a=O(t).$implicit,c=M();return L(c.onVideoCanPlay(a.id))}),oe(8,Rn,1,3,"source",11,Dn),de()()()}if(o&2){let t=e.$implicit,r=e.$index,a=M();Xe("aria-label","Open video story "+(r+1)),I(5),$(a.isVideoLoading(t.id)?5:-1),I(),J("poster",t.thumbnail,_e)("muted",!0),Xe("data-video-id",t.id),I(2),re(a.getOptimalSources(t.sources))}}var Vt=class o extends Se{constructor(){super()}ngAfterViewInit(){super.ngAfterViewInit(),this.setupIntersectionObserver()}ngOnDestroy(){super.ngOnDestroy()}update(){}getOptimalSources(e){return[...e].reverse().sort((r,a)=>r.mimeType.includes("mp4")&&a.mimeType.includes("m3u8")?-1:r.mimeType.includes("m3u8")&&a.mimeType.includes("mp4")?1:0)}static \u0275fac=function(t){return new(t||o)};static \u0275cmp=B({type:o,selectors:[["cooee-video-stories"]],features:[ae(se()),j],decls:4,vars:1,consts:[["videoEl",""],[1,"heading-text",3,"innerHTML"],[1,"video-stories"],["role","button","tabindex","0",1,"video-story"],["role","button","tabindex","0",1,"video-story",3,"click","keydown.enter","keydown.space"],["viewBox","0 0 100 100"],["cx","50","cy","50","r","48","fill","none","stroke-width","4"],["cx","50","cy","50","r","48","fill","none","stroke-width","4","stroke-linecap","round","stroke-dasharray","301.6","stroke-dashoffset","301.6",1,"video-story-circle"],[1,"video-wrapper"],[1,"video-loading-overlay"],["loop","","playsinline","","preload","metadata",3,"loadstart","canplay","poster","muted"],[3,"src","type"],[1,"loading-spinner"]],template:function(t,r){t&1&&(H(0,Fn,2,3,"div",1),X(1,"div",2),oe(2,On,10,5,"div",3,Pn),de()),t&2&&($(r.videoConfig.heading?0:-1),I(2),re(r.videos))},dependencies:[Ze],styles:[`:host{display:block}.video-stories{display:flex;overflow:auto;margin:.75rem;gap:.75rem;justify-content:center;align-items:center;scrollbar-width:none}.video-stories::-webkit-scrollbar{display:none}@media (max-width: 768px){.video-stories{justify-content:start!important}}.video-story{position:relative;width:5rem;height:5rem;cursor:pointer;flex-shrink:0}.video-story svg{position:absolute;top:0;left:0;width:100%;height:100%}.video-story svg circle:first-child{stroke:#d1d5db}.video-story svg circle:last-child{stroke:#3b82f6}.video-story .video-wrapper{position:relative;width:100%;height:100%;border-radius:9999px;overflow:hidden}.video-story .video-wrapper video{width:100%;height:100%;object-fit:cover;border-radius:9999px;position:relative;z-index:1}.video-story .video-wrapper .video-loading-overlay{border-radius:9999px}
19
+ `],encapsulation:3})};pi("CooeeWidgetSDK");(async()=>{let o=await di(Oi),e=(t,r)=>{let a=Ri(t,{injector:o.injector});customElements.define(r,a)};e(xt,"cooee-sticky-atc"),e(yt,"cooee-savings-bar"),e(vt,"cooee-progressbar"),e(_t,"cooee-video-playlist"),e(wt,"cooee-video-popup"),e(Vt,"cooee-video-stories"),e(hi,"cooee-product-options-picker"),sessionStorage.cooeeDebug&&import("./debugger.component-E5DA6AOW.js").then(t=>{e(t.DebuggerComponent,"cooee-debugger")}),window.cooeeShowQuickItem=(t,r)=>{o.injector.get(bt).showItemQuickView(t,r)}})();
package/package.json CHANGED
@@ -1,7 +1,7 @@
1
1
  {
2
2
  "name": "@letscooee/web-sdk",
3
3
  "description": "Engage uniquely and boost conversions with AI-powered customer journeys driven by real-time intent",
4
- "version": "11.4.0",
4
+ "version": "11.5.0",
5
5
  "scripts": {
6
6
  "lint": "ng lint",
7
7
  "integrity": "./scripts/validate-integrity.sh",