@moonbase.sh/storefront 0.2.69 → 0.2.71
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/moonbase.d.ts +3 -3
- package/dist/moonbase.js +12 -12
- package/dist/moonbase.umd.cjs +1 -1
- package/package.json +2 -2
package/dist/moonbase.d.ts
CHANGED
|
@@ -2,10 +2,10 @@ declare type DeepPartial<T> = T extends object ? {
|
|
|
2
2
|
[P in keyof T]?: DeepPartial<T[P]>;
|
|
3
3
|
} : T;
|
|
4
4
|
|
|
5
|
-
declare const
|
|
6
|
-
export default
|
|
5
|
+
declare const Moonbase_2: MoonbaseImpl;
|
|
6
|
+
export default Moonbase_2;
|
|
7
7
|
|
|
8
|
-
declare class
|
|
8
|
+
declare class MoonbaseImpl implements MoonbaseInstance {
|
|
9
9
|
private initialized;
|
|
10
10
|
private pinia;
|
|
11
11
|
private storefront;
|
package/dist/moonbase.js
CHANGED
|
@@ -15766,21 +15766,21 @@ class Lw {
|
|
|
15766
15766
|
this.options = Ea(Ey, n ?? {}), wa("Merged options:", this.options);
|
|
15767
15767
|
const r = document.createElement("div");
|
|
15768
15768
|
if (r.id = "moonbase", r.classList.add("moonbase"), (this.options.target ?? document.body).append(r), this.storefront = Wg(t), this.pinia = gy(), xg(jw).use(this.storefront).use(this.pinia).provide(Kr, this.options).mount("#moonbase"), this.initialized = !0, window && window.location) {
|
|
15769
|
-
const
|
|
15770
|
-
if (
|
|
15771
|
-
const
|
|
15772
|
-
if (
|
|
15769
|
+
const l = new URLSearchParams(window.location.search), u = l.get("mb_intent");
|
|
15770
|
+
if (u && Object.values(ue).includes(u)) {
|
|
15771
|
+
const c = Object.fromEntries([...l.entries()].filter(([f]) => f.startsWith("mb_")).map(([f, h]) => [f.substring(3), h]));
|
|
15772
|
+
if (u === ue.Checkout && c.complete)
|
|
15773
15773
|
return;
|
|
15774
|
-
this[
|
|
15775
|
-
for (const
|
|
15776
|
-
|
|
15777
|
-
const
|
|
15778
|
-
window.history.replaceState(null, "", window.location.href.split("?")[0] + (
|
|
15774
|
+
this[u](c);
|
|
15775
|
+
for (const f of Object.keys(c))
|
|
15776
|
+
l.delete(`mb_${f}`);
|
|
15777
|
+
const d = l.toString();
|
|
15778
|
+
window.history.replaceState(null, "", window.location.href.split("?")[0] + (d ? `?${d}` : ""));
|
|
15779
15779
|
}
|
|
15780
15780
|
}
|
|
15781
|
-
const
|
|
15782
|
-
this.storefront.onCheckoutClosed((
|
|
15783
|
-
|
|
15781
|
+
const i = Ve(this.pinia), a = Et(this.storefront);
|
|
15782
|
+
this.storefront.onCheckoutClosed((l) => {
|
|
15783
|
+
l === ue.ViewProducts && (a.user ? i.show(Ee.Customer, ue.ViewProducts) : i.show(Ee.Cart, ue.ViewCart));
|
|
15784
15784
|
});
|
|
15785
15785
|
}
|
|
15786
15786
|
// Identity
|
package/dist/moonbase.umd.cjs
CHANGED
|
@@ -21,4 +21,4 @@ See https://pinia.vuejs.org/core-concepts/outside-component-usage.html for help.
|
|
|
21
21
|
This will fail in production.`);a=Wo,a._s.has(r)||(s?Ka(r,t,o,a):Rd(r,o,a),Te.NODE_ENV!=="production"&&(i._pinia=a));const c=a._s.get(r);if(Te.NODE_ENV!=="production"&&l){const d="__hot:"+r,f=s?Ka(d,t,o,a,!0):Rd(d,jt({},o),a,!0);l._hotUpdate(f),delete a.state.value[d],a._s.delete(d)}if(Te.NODE_ENV!=="production"&&Er){const d=Ks();if(d&&d.proxy&&!l){const f=d.proxy,h="_pStores"in f?f._pStores:f._pStores={};h[r]=c}}return c}return i.$id=r,i}var le=(e=>(e.SignIn="sign_in",e.SignUp="sign_up",e.ForgotPassword="forgot_password",e.ResetPassword="reset_password",e.ConfirmAccount="confirm_account",e.ConfirmEmail="confirm_email",e.ConfirmEmailChange="confirm_email_change",e.ViewAccount="view_account",e.ViewProducts="view_products",e.RedeemVoucher="redeem_voucher",e.DownloadProduct="download_product",e.ActivateProduct="activate_product",e.ViewCart="view_cart",e.AddToCart="add_to_cart",e.Checkout="checkout",e.CloseCheckout="close_checkout",e))(le||{});const py={toolbar:{enabled:!0,location:"bottom-right",show:{cart:!0,account:!0,moonbase:!0}},auth:{signUp:{enabled:!0}},checkout:{redirect:!1},target:null},Gr=Symbol("options");var Oe=(e=>(e.None="None",e.Authentication="Authentication",e.Customer="Customer",e.Cart="Cart",e.Activation="Activation",e.Download="Download",e))(Oe||{});const je=fy("ui",()=>{const e=j("None"),t=j(null),n=j(null),r=j(null);function o(u,c,d){n.value=d??null,t.value=c,e.value=u}function s(u,c,d){r.value=[u,c,d]}function i(){e.value="None",n.value=null,r.value=null}function a(){const u=r.value;i(),To(()=>{if(u){const[c,d,f]=u;n.value=f??null,t.value=d,e.value=c}})}function l(u){return n.value===null||!n.value[u]?null:n.value[u]}return{active:e,intent:t,parameters:n,next:r,show:o,reset:i,enqueue:s,dequeue:a,getParameter:l}}),Kt=e=>new Promise(t=>setTimeout(t,e)),hy=["data-visible","data-contain","data-location"],my={key:0,href:"https://moonbase.sh",target:"_blank",class:"moonbase:toolbar-action","data-action-width":"narrow"},vy=["disabled"],gy=pe({__name:"Toolbar",setup(e){const t=j(!1),n=je(),r=wt(),o=Se(Gr);return Re(()=>{Kt(100).then(()=>t.value=!0)}),(s,i)=>{var a,l,u,c,d,f;return y(),T("div",{class:"moonbase:toolbar","data-visible":t.value&&_(n).active===_(Oe).None?"true":void 0,"data-contain":!!((a=_(o))!=null&&a.target)||void 0,"data-location":_(o).toolbar.location},[(l=_(o))!=null&&l.toolbar.show.moonbase?(y(),T("a",my,i[3]||(i[3]=[Sv('<svg viewBox="0 0 512 512" height="18px" width="18px"><g><path fill="currentColor" d="m493.17795,174.6135c6.257,75.3 -30.577,150.948 -100.579,190.758c-66.292,37.697 -145.001,33.405 -205.402,-4.415c0.409,-1.248 0.638,-2.577 0.638,-3.96c0,-7.026 -5.717,-12.743 -12.743,-12.743c-2.876,0 -5.524,0.969 -7.659,2.582c-18.813,-15.259 -35.159,-34.207 -47.856,-56.534c-54.663,-96.122 -21.054,-218.358 75.069,-273.021a201.218,201.218 0 0 1 33.302,-15.124c-32.428,3.667 -64.663,13.809 -94.827,30.962c-104.526,59.443 -149.511,183.241 -113.473,293.249c-3.376,3.057 -5.513,7.459 -5.513,12.362c0,9.207 7.491,16.698 16.698,16.698c0.136,0 0.267,-0.017 0.401,-0.02a252.205,252.205 0 0 0 8.683,16.691c67.869,119.344 219.635,161.073 338.98,93.204a250.416,250.416 0 0 0 32.893,-22.333c1.045,0.331 2.157,0.513 3.311,0.513c6.047,0 10.968,-4.921 10.968,-10.968c0,-0.605 -0.063,-1.196 -0.157,-1.775c69.545,-64.988 96.008,-165.054 67.266,-256.126m-446.526,25.112a5.071,5.071 0 0 1 -5.066,-5.066a5.072,5.072 0 0 1 5.066,-5.067a5.073,5.073 0 0 1 5.066,5.067a5.072,5.072 0 0 1 -5.066,5.066m-15.819,153.944c-8.238,0 -14.94,-6.702 -14.94,-14.94c0,-8.239 6.702,-14.941 14.94,-14.941c8.239,0 14.941,6.702 14.941,14.941c-0.001,8.238 -6.703,14.94 -14.941,14.94m144.258,-7.659c6.057,0 10.985,4.928 10.985,10.986c0,6.058 -4.928,10.985 -10.985,10.985c-6.058,0 -10.986,-4.928 -10.986,-10.985c0.001,-6.059 4.928,-10.986 10.986,-10.986m70.829,133.004c-5.079,0 -9.21,-4.132 -9.21,-9.21c0,-5.079 4.131,-9.21 9.21,-9.21c5.078,0 9.209,4.131 9.209,9.21c0,5.078 -4.13,9.21 -9.209,9.21m169.18,-37.289c-5.078,0 -9.209,-4.132 -9.209,-9.21s4.131,-9.209 9.209,-9.209s9.21,4.131 9.21,9.209s-4.132,9.21 -9.21,9.21"></path><path fill="currentColor" d="m144.78195,275.9675c46.746,82.201 151.278,110.943 233.48,64.197c59.864,-34.044 91.363,-98.736 86.013,-163.13a170.094,170.094 0 0 0 -5.515,-31.052c-23.045,0.567 -63.864,10.137 -104.194,61.671c-52.045,66.5 -186.285,49.153 -228.855,17.372c3.503,17.443 9.796,34.632 19.071,50.942m233.513,-65.677a8.663,8.663 0 1 1 -8.663,8.663a8.662,8.662 0 0 1 8.663,-8.663m-37.006,62.618c7.02,0 12.712,5.691 12.712,12.712s-5.692,12.712 -12.712,12.712c-7.021,0 -12.712,-5.691 -12.712,-12.712s5.691,-12.712 12.712,-12.712m-102.544,12.712a6.78,6.78 0 1 1 0,13.56a6.78,6.78 0 0 1 0,-13.56"></path><ellipse fill="currentColor" ry="7.3075" rx="7.3075" cy="152.05851" cx="251.33138"></ellipse><ellipse fill="currentColor" ry="5.35076" rx="5.35076" cy="210.31151" cx="204.89499"></ellipse><ellipse fill="currentColor" ry="12.09273" rx="12.09273" cy="200.15625" cx="302.28597"></ellipse></g></svg>',1)]))):de("",!0),(u=_(o))!=null&&u.toolbar.show.cart?(y(),T("button",{key:1,class:"moonbase:toolbar-action",type:"button",onClick:i[0]||(i[0]=h=>_(n).show(_(Oe).Cart,_(le).AddToCart))}," Cart ")):de("",!0),(c=_(o))!=null&&c.toolbar.show.account&&!_(r).user.value?(y(),T("button",{key:2,class:"moonbase:toolbar-action",type:"button",disabled:!_(r).loaded,onClick:i[1]||(i[1]=h=>_(n).show(_(Oe).Authentication,_(le).SignIn))}," Log in ",8,vy)):(d=_(o))!=null&&d.toolbar.show.account?(y(),T("button",{key:3,class:"moonbase:toolbar-action",type:"button",onClick:i[2]||(i[2]=h=>_(n).show(_(Oe).Customer,_(le).ViewAccount))},G((f=_(r).user.value)==null?void 0:f.name),1)):de("",!0)],8,hy)}}}),yy=["hidden"],by=["for"],_y=["id","type","name","placeholder","value","disabled","aria-invalid","aria-describedby"],wy=["id"],Ey=["id"],Et=pe({inheritAttrs:!1,__name:"MoonInput",props:{name:{},label:{},placeholder:{},type:{},error:{},hint:{},disabled:{type:Boolean},modelValue:{},hidden:{type:Boolean}},emits:["update:modelValue"],setup(e){return(t,n)=>(y(),T("div",{class:"moonbase:input",hidden:t.hidden||void 0},[C("label",{for:`mb-${t.name}`},G(t.label),9,by),C("input",$a({id:`mb-${t.name}`,type:t.type??"text",name:`mb-${t.name}`,placeholder:t.placeholder,value:t.modelValue,disabled:t.disabled,"aria-invalid":!!t.error,"aria-describedby":t.error?`mb-${t.name}-error`:t.hint?`mb-${t.name}-hint`:void 0},t.$attrs,{onInput:n[0]||(n[0]=r=>{var o;return t.$emit("update:modelValue",(o=r.target)==null?void 0:o.value)})}),null,16,_y),t.error?(y(),T("p",{key:0,id:`mb-${t.name}-error`,class:"moonbase:input-hint","data-type":"error"},G(t.error),9,wy)):t.hint?(y(),T("p",{key:1,id:`mb-${t.name}-hint`,class:"moonbase:input-hint"},G(t.hint),9,Ey)):de("",!0)],8,yy))}}),Jr=(e,t)=>{const n=e.__vccOpts||e;for(const[r,o]of t)n[r]=o;return n},Oy={},Ny={fill:"none",viewBox:"0 0 24 24"};function xy(e,t){return y(),T("svg",Ny,t[0]||(t[0]=[C("circle",{class:"opacity-25",cx:"12",cy:"12",r:"10",stroke:"currentColor","stroke-width":"4"},null,-1),C("path",{class:"opacity-75",fill:"currentColor",d:"M4 12a8 8 0 018-8V0C5.373 0 0 5.373 0 12h4zm2 5.291A7.962 7.962 0 014 12H0c0 3.042 1.135 5.824 3 7.938l3-2.647z"},null,-1)]))}const Mt=Jr(Oy,[["render",xy],["__scopeId","data-v-687bcaf0"]]),Sy=["disabled"],jd=Symbol("form-state"),Jn=pe({__name:"MoonForm",props:{handler:{type:Function},noReset:{type:Boolean}},setup(e){const t=e,n=j(!1),r=j(!1),o=j(!1);ft(jd,{working:n,isSuccess:r,isError:o});async function s(){n.value=!0;try{await t.handler(),n.value=!1,r.value=!0,await Kt(2500),t.noReset||(r.value=!1)}catch{n.value=!1,o.value=!0,await Kt(2500),o.value=!1}}return(i,a)=>(y(),T("form",{disabled:n.value||r.value,onSubmit:hg(s,["prevent"])},[ma(i.$slots,"default",{working:n.value,isSuccess:r.value,isError:o.value,disabled:n.value||r.value})],40,Sy))}}),ky=["disabled","data-success","data-error","data-working"],Cy=["data-visible"],Yn=Jr(pe({__name:"MoonSubmitButton",props:{label:{},success:{},error:{}},setup(e){const t=e,{working:n,isSuccess:r,isError:o}=Se(jd),s=J(()=>r.value?t.success:o.value?t.error:t.label);return(i,a)=>(y(),T("button",{class:"moonbase:submit-button",type:"submit",disabled:_(r)||_(o)||_(n),"data-success":_(r)||void 0,"data-error":_(o)||void 0,"data-working":_(n)||void 0},[C("div",{"data-visible":_(n)||void 0,"aria-hidden":"true"},[_(n)?(y(),xe(Mt,{key:0})):de("",!0)],8,Cy),Ce(" "+G(s.value),1)],8,ky))}}),[["__scopeId","data-v-91242842"]]),Ty={class:"moonbase:checkbox"},Py={class:"moonbase:checkbox-container"},$y=["id","name","value","disabled","aria-invalid","aria-describedby"],Dy={class:"moonbase:checkbox-description"},Iy=["for"],Ay=["id"],Vy=["id"],Md=pe({inheritAttrs:!1,__name:"MoonCheckbox",props:{name:{},label:{},error:{},hint:{},disabled:{type:Boolean},modelValue:{type:Boolean}},emits:["update:modelValue"],setup(e){return(t,n)=>(y(),T("div",Ty,[C("div",Py,[C("input",$a({id:`mb-${t.name}`,type:"checkbox",name:`mb-${t.name}`,value:t.modelValue,disabled:t.disabled,"aria-invalid":!!t.error,"aria-describedby":t.error?`mb-${t.name}-error`:t.hint?`mb-${t.name}-hint`:void 0},t.$attrs,{onChecked:n[0]||(n[0]=r=>{var o;return t.$emit("update:modelValue",(o=r.target)==null?void 0:o.checked)})}),null,16,$y)]),C("div",Dy,[C("label",{for:`mb-${t.name}`},G(t.label),9,Iy),t.error?(y(),T("p",{key:0,id:`mb-${t.name}-error`,"data-type":"error"},G(t.error),9,Ay)):t.hint?(y(),T("p",{key:1,id:`mb-${t.name}-hint`},G(t.hint),9,Vy)):de("",!0)])]))}}),Ry=["data-visible"],jy=pe({__name:"SignUp",emits:["signedUp"],setup(e,{emit:t}){const n=t,r=je(),o=wt(),s=j(""),i=j(r.getParameter("email")??""),a=j(""),l=j(!1),u=j(null);async function c(){u.value=null;try{const d=await o.signUp(s.value,i.value,a.value,null,!0,!0,l.value);Kt(1500).then(()=>n("signedUp",d))}catch(d){throw u.value=d.message,d}}return(d,f)=>(y(),xe(Jn,{handler:c,class:"moonbase:sign-up"},{default:_e(()=>[q(Et,{modelValue:s.value,"onUpdate:modelValue":f[0]||(f[0]=h=>s.value=h),label:"Full name",name:"name",type:"text",placeholder:"Full name",autocomplete:"name",required:""},null,8,["modelValue"]),q(Et,{modelValue:i.value,"onUpdate:modelValue":f[1]||(f[1]=h=>i.value=h),label:"Email address",name:"email",type:"email",placeholder:"Email address",autocomplete:"email",required:""},null,8,["modelValue"]),q(Et,{modelValue:a.value,"onUpdate:modelValue":f[2]||(f[2]=h=>a.value=h),label:"Password",name:"password",type:"password",placeholder:"Password",autocomplete:"current-password",required:""},null,8,["modelValue"]),q(Md,{modelValue:l.value,"onUpdate:modelValue":f[3]||(f[3]=h=>l.value=h),label:"Receive updates and offers by email",name:"newsletter-opt-in"},null,8,["modelValue"]),q(Yn,{success:"Signed up",label:"Sign up",error:"Error"}),C("span",{class:"moonbase:error","data-visible":!!u.value||void 0},G(u.value),9,Ry),C("button",{type:"button",onClick:f[4]||(f[4]=h=>_(r).show(_(Oe).Authentication,_(le).SignIn,{email:i.value}))}," I already have an account ")]),_:1}))}}),My={key:0,class:"moonbase:loader"},Ly={key:1,class:"moonbase:error","data-visible":""},Uy=["data-visible"],Fy=pe({__name:"ConfirmAccount",emits:["confirmedAccount"],setup(e,{emit:t}){const n=t,r=je(),o=wt(),s=j(!0),i=j(null),a=j(""),l=j(null);Re(async()=>{try{const c=r.getParameter("email"),d=r.getParameter("code");if(!c||!d)throw new Error("Link is broken");i.value=await o.confirmAccount(c,d)}catch(c){c instanceof Vn?l.value="Could not find a user to confirm":l.value=c.message}s.value=!1});async function u(){var c,d;if(l.value=null,!!((c=i.value)!=null&&c.resetPasswordToken))try{const f=r.getParameter("email");await o.resetPassword(f,a.value,(d=i.value)==null?void 0:d.resetPasswordToken);const h=await o.signIn(f,a.value);Kt(1500).then(()=>n("confirmedAccount",h))}catch(f){throw l.value=f.message,f}}return(c,d)=>(y(),xe(Jn,{handler:u,class:"moonbase:confirm-account"},{default:_e(()=>[s.value?(y(),T("div",My,[q(Mt)])):i.value?(y(),T(ke,{key:2},[C("h3",null," Hi "+G(i.value.name)+", ",1),d[1]||(d[1]=C("p",null," Please create a new password for your account: ",-1)),q(Et,{"model-value":_(r).getParameter("email"),hidden:"",label:"Email address",name:"email",type:"email",placeholder:"Email address",autocomplete:"email",required:""},null,8,["model-value"]),q(Et,{modelValue:a.value,"onUpdate:modelValue":d[0]||(d[0]=f=>a.value=f),label:"Password",name:"password",type:"password",placeholder:"Password",autocomplete:"new-password",required:""},null,8,["modelValue"]),q(Yn,{success:"Password saved",label:"Save password",error:"Error"}),C("span",{class:"moonbase:error","data-visible":!!l.value||void 0},G(l.value),9,Uy)],64)):(y(),T("div",Ly,G(l.value),1))]),_:1}))}}),By=["data-visible"],Hy=pe({__name:"ForgotPassword",setup(e){const t=je(),n=wt(),r=j(t.getParameter("email")??""),o=j(null),s=j(!1);async function i(){o.value=null;try{await n.forgotPassword(r.value),Kt(1500).then(()=>{s.value=!0})}catch(a){throw a instanceof Vn?o.value="User not found":o.value=a.message,a}}return(a,l)=>(y(),xe(Jn,{handler:i,class:"moonbase:sign-in","no-reset":""},{default:_e(({disabled:u})=>[l[1]||(l[1]=C("h3",null," Forgot your password? ",-1)),l[2]||(l[2]=C("p",null," Please enter your email for a reset link: ",-1)),q(Et,{modelValue:r.value,"onUpdate:modelValue":l[0]||(l[0]=c=>r.value=c),label:"Email address",name:"email",type:"email",placeholder:"Email address",autocomplete:"email",required:"",disabled:u},null,8,["modelValue","disabled"]),q(Yn,{success:"Email sent",label:"Reset password",error:"Error"}),C("span",{class:"moonbase:error","data-visible":!!o.value||void 0},G(o.value),9,By)]),_:1}))}}),Zy=["data-visible"],qy=pe({__name:"ResetPassword",emits:["passwordReset"],setup(e,{emit:t}){const n=t,r=je(),o=wt(),s=J(()=>r.getParameter("email")),i=j(""),a=j(null);Re(()=>{(!r.getParameter("email")||!r.getParameter("code"))&&(a.value="Link broken, please try again")});async function l(){a.value=null;const u=r.getParameter("code");if(u)try{await o.resetPassword(s.value,i.value,u);const c=await o.signIn(s.value,i.value);Kt(1500).then(()=>n("passwordReset",c))}catch(c){throw a.value=c.message,c}}return(u,c)=>(y(),xe(Jn,{handler:l,class:"moonbase:reset-password"},{default:_e(()=>[C("h3",null," Hi "+G(s.value)+", ",1),c[1]||(c[1]=C("p",null," Please create a new password for your account: ",-1)),q(Et,{"model-value":_(r).getParameter("email"),hidden:"",label:"Email address",name:"email",type:"email",placeholder:"Email address",autocomplete:"email",required:""},null,8,["model-value"]),q(Et,{modelValue:i.value,"onUpdate:modelValue":c[0]||(c[0]=d=>i.value=d),label:"Password",name:"password",type:"password",placeholder:"Password",autocomplete:"new-password",required:""},null,8,["modelValue"]),q(Yn,{success:"Password saved",label:"Save password",error:"Error"}),C("span",{class:"moonbase:error","data-visible":!!a.value||void 0},G(a.value),9,Zy)]),_:1}))}}),Wy={class:"moonbase:confirm-email-change"},zy={key:0,class:"moonbase:loader"},Ky={key:1,class:"moonbase:error","data-visible":""},Gy=pe({__name:"ConfirmEmailChange",emits:["confirmed"],setup(e,{emit:t}){const n=t,r=je(),{user:o,confirmEmailChange:s}=wt(),i=j(!0),a=j(null);return Re(async()=>{try{const l=r.getParameter("email"),u=r.getParameter("code");if(!l||!u)throw new Error("Link is broken");await s(l,u),Kt(1500).then(()=>n("confirmed"))}catch(l){a.value=l.message}i.value=!1}),(l,u)=>{var c;return y(),T("div",Wy,[i.value?(y(),T("div",zy,[q(Mt)])):a.value?(y(),T("div",Ky,G(a.value),1)):(y(),T(ke,{key:2},[C("h3",null," Hi "+G((c=_(o))==null?void 0:c.name)+", ",1),u[0]||(u[0]=C("p",null," Thanks for confirming your new email. You can now sign in using this new address. ",-1))],64))])}}});class Jy{constructor(){Cr(this,"current",this.detect());Cr(this,"currentId",0)}set(t){this.current!==t&&(this.currentId=0,this.current=t)}reset(){this.set(this.detect())}nextId(){return++this.currentId}get isServer(){return this.current==="server"}get isClient(){return this.current==="client"}detect(){return typeof window>"u"||typeof document>"u"?"server":"client"}}let Ko=new Jy;function Ga(e,t,n,r){Ko.isServer||pt(o=>{e=e??window,e.addEventListener(t,n,r),o(()=>e.removeEventListener(t,n,r))})}function Ld(e,t,n,r){Ko.isServer||pt(o=>{e.value&&(window.addEventListener(t,n,r),o(()=>window.removeEventListener(t,n,r)))})}var $t=(e=>(e[e.Forwards=0]="Forwards",e[e.Backwards=1]="Backwards",e))($t||{});function Ja(){const e=j(0),t=j(!0);return Ld(t,"keydown",n=>{n.key==="Tab"&&(e.value=n.shiftKey?1:0)}),e}function nt(e,t,...n){if(e in t){const o=t[e];return typeof o=="function"?o(...n):o}throw new Error(`Tried to handle "${e}" but there is no handler defined. Only defined handlers are: ${Object.keys(t).map(o=>`"${o}"`).join(", ")}.`)}var Xn=(e=>(e[e.None=0]="None",e[e.RenderStrategy=1]="RenderStrategy",e[e.Static=2]="Static",e))(Xn||{}),Qn=(e=>(e[e.Unmount=0]="Unmount",e[e.Hidden=1]="Hidden",e))(Qn||{});function rt({visible:e=!0,features:t=0,ourProps:n,theirProps:r,...o}){const s=Fd(r,n),i=Object.assign(o,{props:s});if(e||t&2&&s.static)return ui(i);if(t&1){const a=s.unmount??!0?0:1;return nt(a,{0(){return null},1(){return ui({...o,props:{...s,hidden:!0,style:{display:"none"}}})}})}return ui(i)}function ui({props:e,attrs:t,slots:n,slot:r,name:o}){var u;const{as:s,...i}=Ya(e,["unmount","static"]);let a=(u=n.default)==null?void 0:u.call(n,r);const l={};if(r){let c=!1;const d=[];for(const[f,h]of Object.entries(r))typeof h=="boolean"&&(c=!0),h===!0&&d.push(f);c&&(l["data-moonbase-state"]=d.join(" "))}if(s==="template"){if(a=Ud(a??[]),Object.keys(i).length>0||Object.keys(t).length>0){const[c,...d]=a??[];if(!Yy(c)||d.length>0)throw new Error(['Passing props on "template"!',"",`The current component <${o} /> is rendering a "template".`,"However we need to passthrough the following props:",Object.keys(i).concat(Object.keys(t)).map(b=>b.trim()).filter((b,E,w)=>w.indexOf(b)===E).sort((b,E)=>b.localeCompare(E)).map(b=>` - ${b}`).join(`
|
|
22
22
|
`),"","You can apply a few solutions:",['Add an `as="..."` prop, to ensure that we render an actual element instead of a "template".',"Render a single element as the child so that we can forward the props onto that element."].map(b=>` - ${b}`).join(`
|
|
23
23
|
`)].join(`
|
|
24
|
-
`));const f=Fd(c.props??{},i,l),h=qt(c,f,!0);for(const b in f)b.startsWith("on")&&(h.props||(h.props={}),h.props[b]=f[b]);return h}return Array.isArray(a)&&a.length===1?a[0]:a}return Ue(s,Object.assign({},i,l),{default:()=>a})}function Ud(e){return e.flatMap(t=>t.type===ke?Ud(t.children):[t])}function Fd(...e){if(e.length===0)return{};if(e.length===1)return e[0];const t={},n={};for(const r of e)for(const o in r)o.startsWith("on")&&typeof r[o]=="function"?(n[o]??(n[o]=[]),n[o].push(r[o])):t[o]=r[o];if(t.disabled||t["aria-disabled"])return Object.assign(t,Object.fromEntries(Object.keys(n).map(r=>[r,void 0])));for(const r in n)Object.assign(t,{[r](o,...s){const i=n[r];for(const a of i){if(o instanceof Event&&o.defaultPrevented)return;a(o,...s)}}});return t}function Ya(e,t=[]){const n=Object.assign({},e);for(const r of t)r in n&&delete n[r];return n}function Yy(e){return e==null?!1:typeof e.type=="string"||typeof e.type=="object"||typeof e.type=="function"}var er=(e=>(e[e.None=1]="None",e[e.Focusable=2]="Focusable",e[e.Hidden=4]="Hidden",e))(er||{});let tr=pe({name:"Hidden",props:{as:{type:[Object,String],default:"div"},features:{type:Number,default:1}},setup(e,{slots:t,attrs:n}){return()=>{let{features:r,...o}=e,s={"aria-hidden":(r&2)===2?!0:o["aria-hidden"]??void 0,hidden:(r&4)===4?!0:void 0,style:{position:"fixed",top:1,left:1,width:1,height:0,padding:0,margin:-1,overflow:"hidden",clip:"rect(0, 0, 0, 0)",whiteSpace:"nowrap",borderWidth:"0",...(r&4)===4&&(r&2)!==2&&{display:"none"}}};return rt({ourProps:s,theirProps:o,slot:{},attrs:n,slots:t,name:"Hidden"})}}});function Xy(e){function t(){document.readyState!=="loading"&&(e(),document.removeEventListener("DOMContentLoaded",t))}typeof window<"u"&&typeof document<"u"&&(document.addEventListener("DOMContentLoaded",t),t())}function Y(e){if(e==null||e.value==null)return null;let t=e.value.$el??e.value;return t instanceof Node?t:null}function kn(e){if(Ko.isServer)return null;if(e instanceof Node)return e.ownerDocument;if(e&&Object.prototype.hasOwnProperty.call(e,"value")){const t=Y(e);if(t)return t.ownerDocument}return document}const ci=["[contentEditable=true]","[tabindex]","a[href]","area[href]","button:not([disabled])","iframe","input:not([disabled])","select:not([disabled])","textarea:not([disabled])"].map(e=>`${e}:not([tabindex='-1'])`).join(",");var We=(e=>(e[e.First=1]="First",e[e.Previous=2]="Previous",e[e.Next=4]="Next",e[e.Last=8]="Last",e[e.WrapAround=16]="WrapAround",e[e.NoScroll=32]="NoScroll",e))(We||{}),Cn=(e=>(e[e.Error=0]="Error",e[e.Overflow=1]="Overflow",e[e.Success=2]="Success",e[e.Underflow=3]="Underflow",e))(Cn||{});function di(e=document.body){return e==null?[]:Array.from(e.querySelectorAll(ci)).sort((t,n)=>Math.sign((t.tabIndex||Number.MAX_SAFE_INTEGER)-(n.tabIndex||Number.MAX_SAFE_INTEGER)))}var Xa=(e=>(e[e.Strict=0]="Strict",e[e.Loose=1]="Loose",e))(Xa||{});function Bd(e,t=0){var n;return e===((n=kn(e))==null?void 0:n.body)?!1:nt(t,{0(){return e.matches(ci)},1(){let r=e;for(;r!==null;){if(r.matches(ci))return!0;r=r.parentElement}return!1}})}typeof window<"u"&&typeof document<"u"&&(document.addEventListener("keydown",e=>{e.metaKey||e.altKey||e.ctrlKey||(document.documentElement.dataset.moonbaseFocusVisible="")},!0),document.addEventListener("click",e=>{e.detail===1?delete document.documentElement.dataset.moonbaseFocusVisible:e.detail===0&&(document.documentElement.dataset.moonbaseFocusVisible="")},!0));function Nr(e){e==null||e.focus({preventScroll:!0})}const Qy=["textarea","input"].join(",");function eb(e){var t;return((t=e==null?void 0:e.matches)==null?void 0:t.call(e,Qy))??!1}function Yr(e,t=n=>n){return e.slice().sort((n,r)=>{const o=t(n),s=t(r);if(o===null||s===null)return 0;const i=o.compareDocumentPosition(s);return i&Node.DOCUMENT_POSITION_FOLLOWING?-1:i&Node.DOCUMENT_POSITION_PRECEDING?1:0})}function at(e,t,{sorted:n=!0,relativeTo:r=null,skipElements:o=[]}={}){const s=(Array.isArray(e)?e.length>0?e[0].ownerDocument:document:e==null?void 0:e.ownerDocument)??document;let i=Array.isArray(e)?n?Yr(e):e:di(e);o.length>0&&i.length>1&&(i=i.filter(h=>!o.includes(h))),r=r??s.activeElement;const a=(()=>{if(t&5)return 1;if(t&10)return-1;throw new Error("Missing Focus.First, Focus.Previous, Focus.Next or Focus.Last")})(),l=(()=>{if(t&1)return 0;if(t&2)return Math.max(0,i.indexOf(r))-1;if(t&4)return Math.max(0,i.indexOf(r))+1;if(t&8)return i.length-1;throw new Error("Missing Focus.First, Focus.Previous, Focus.Next or Focus.Last")})(),u=t&32?{preventScroll:!0}:{};let c=0;const d=i.length;let f;do{if(c>=d||c+d<=0)return 0;let h=l+c;if(t&16)h=(h+d)%d;else{if(h<0)return 3;if(h>=d)return 1}f=i[h],f==null||f.focus(u),c+=a}while(f!==s.activeElement);return t&6&&eb(f)&&f.select(),2}let xr=[];Xy(()=>{function e(t){if(!(t.target instanceof HTMLElement)||t.target===document.body||xr[0]===t.target)return;let n=t.target;n=n.closest(ci),xr.unshift(n??t.target),xr=xr.filter(r=>r!=null&&r.isConnected),xr.splice(10)}window.addEventListener("click",e,{capture:!0}),window.addEventListener("mousedown",e,{capture:!0}),window.addEventListener("focus",e,{capture:!0}),document.body.addEventListener("click",e,{capture:!0}),document.body.addEventListener("mousedown",e,{capture:!0}),document.body.addEventListener("focus",e,{capture:!0})});function fi(e){typeof queueMicrotask=="function"?queueMicrotask(e):Promise.resolve().then(e).catch(t=>setTimeout(()=>{throw t}))}function Hd(e){if(!e)return new Set;if(typeof e=="function")return new Set(e());const t=new Set;for(const n of e.value){const r=Y(n);r instanceof HTMLElement&&t.add(r)}return t}var Zd=(e=>(e[e.None=1]="None",e[e.InitialFocus=2]="InitialFocus",e[e.TabLock=4]="TabLock",e[e.FocusLock=8]="FocusLock",e[e.RestoreFocus=16]="RestoreFocus",e[e.All=30]="All",e))(Zd||{});const Go=Object.assign(pe({name:"FocusTrap",props:{as:{type:[Object,String],default:"div"},initialFocus:{type:Object,default:null},features:{type:Number,default:30},containers:{type:[Object,Function],default:j(new Set)}},inheritAttrs:!1,setup(e,{attrs:t,slots:n,expose:r}){const o=j(null);r({el:o,$el:o});const s=J(()=>kn(o)),i=j(!1);Re(()=>i.value=!0),dt(()=>i.value=!1),nb({ownerDocument:s},J(()=>i.value&&!!(e.features&16)));const a=rb({ownerDocument:s,container:o,initialFocus:J(()=>e.initialFocus)},J(()=>i.value&&!!(e.features&2)));ob({ownerDocument:s,container:o,containers:e.containers,previousActiveElement:a},J(()=>i.value&&!!(e.features&8)));const l=Ja();function u(h){const b=Y(o);if(!b)return;(w=>w())(()=>{nt(l.value,{[$t.Forwards]:()=>{at(b,We.First,{skipElements:[h.relatedTarget]})},[$t.Backwards]:()=>{at(b,We.Last,{skipElements:[h.relatedTarget]})}})})}const c=j(!1);function d(h){h.key==="Tab"&&(c.value=!0,requestAnimationFrame(()=>{c.value=!1}))}function f(h){if(!i.value)return;const b=Hd(e.containers);Y(o)instanceof HTMLElement&&b.add(Y(o));const E=h.relatedTarget;E instanceof HTMLElement&&E.dataset.moonbaseFocusGuard!=="true"&&(qd(b,E)||(c.value?at(Y(o),nt(l.value,{[$t.Forwards]:()=>We.Next,[$t.Backwards]:()=>We.Previous})|We.WrapAround,{relativeTo:h.target}):h.target instanceof HTMLElement&&Nr(h.target)))}return()=>{const h={},b={ref:o,onKeydown:d,onFocusout:f},{features:E,initialFocus:w,containers:$,...D}=e;return Ue(ke,[!!(E&4)&&Ue(tr,{as:"button",type:"button","data-moonbase-focus-guard":!0,onFocus:u,features:er.Focusable}),rt({ourProps:b,theirProps:{...t,...D},slot:h,attrs:t,slots:n,name:"FocusTrap"}),!!(E&4)&&Ue(tr,{as:"button",type:"button","data-moonbase-focus-guard":!0,onFocus:u,features:er.Focusable})])}}}),{features:Zd});function tb(e){const t=j(xr.slice());return Ge([e],([n],[r])=>{r===!0&&n===!1?fi(()=>{t.value.splice(0)}):r===!1&&n===!0&&(t.value=xr.slice())},{flush:"post"}),()=>t.value.find(n=>n!=null&&n.isConnected)??null}function nb({ownerDocument:e},t){const n=tb(t);Re(()=>{pt(()=>{var r,o;t.value||((r=e.value)==null?void 0:r.activeElement)===((o=e.value)==null?void 0:o.body)&&Nr(n())},{flush:"post"})}),dt(()=>{t.value&&Nr(n())})}function rb({ownerDocument:e,container:t,initialFocus:n},r){const o=j(null),s=j(!1);return Re(()=>s.value=!0),dt(()=>s.value=!1),Re(()=>{Ge([t,n,r],(i,a)=>{if(i.every((u,c)=>(a==null?void 0:a[c])===u)||!r.value)return;const l=Y(t);l&&fi(()=>{var d,f;if(!s.value)return;const u=Y(n),c=(d=e.value)==null?void 0:d.activeElement;if(u){if(u===c){o.value=c;return}}else if(l.contains(c)){o.value=c;return}u?Nr(u):at(l,We.First|We.NoScroll)===Cn.Error&&console.warn("There are no focusable elements inside the <FocusTrap />"),o.value=(f=e.value)==null?void 0:f.activeElement})},{immediate:!0,flush:"post"})}),o}function ob({ownerDocument:e,container:t,containers:n,previousActiveElement:r},o){var s;Ga((s=e.value)==null?void 0:s.defaultView,"focus",i=>{if(!o.value)return;const a=Hd(n);Y(t)instanceof HTMLElement&&a.add(Y(t));const l=r.value;if(!l)return;const u=i.target;u&&u instanceof HTMLElement?qd(a,u)?(r.value=u,Nr(u)):(i.preventDefault(),i.stopPropagation(),Nr(l)):Nr(r.value)},!0)}function qd(e,t){for(const n of e)if(n.contains(t))return!0;return!1}function sb(e){const t=Bh(e.getSnapshot());return dt(e.subscribe(()=>{t.value=e.getSnapshot()})),t}function Jo(){const e=[],t={addEventListener(n,r,o,s){return n.addEventListener(r,o,s),t.add(()=>n.removeEventListener(r,o,s))},requestAnimationFrame(...n){const r=requestAnimationFrame(...n);t.add(()=>cancelAnimationFrame(r))},nextFrame(...n){t.requestAnimationFrame(()=>{t.requestAnimationFrame(...n)})},setTimeout(...n){const r=setTimeout(...n);t.add(()=>clearTimeout(r))},microTask(...n){const r={current:!0};return fi(()=>{r.current&&n[0]()}),t.add(()=>{r.current=!1})},style(n,r,o){const s=n.style.getPropertyValue(r);return Object.assign(n.style,{[r]:o}),this.add(()=>{Object.assign(n.style,{[r]:s})})},group(n){const r=Jo();return n(r),this.add(()=>r.dispose())},add(n){return e.push(n),()=>{const r=e.indexOf(n);if(r>=0)for(const o of e.splice(r,1))o()}},dispose(){for(const n of e.splice(0))n()}};return t}function ib(e,t){let n=e(),r=new Set;return{getSnapshot(){return n},subscribe(o){return r.add(o),()=>r.delete(o)},dispatch(o,...s){let i=t[o].call(n,...s);i&&(n=i,r.forEach(a=>a()))}}}function ab(){let e;return{before({doc:t}){const n=t.documentElement,r=t.defaultView??window;e=Math.max(0,r.innerWidth-n.clientWidth)},after({doc:t,d:n}){const r=t.documentElement,o=Math.max(0,r.clientWidth-r.offsetWidth),s=Math.max(0,e-o);n.style(r,"paddingRight",`${s}px`)}}}function Wd(){return/iPhone/gi.test(window.navigator.platform)||/Mac/gi.test(window.navigator.platform)&&window.navigator.maxTouchPoints>0}function lb(){return/Android/gi.test(window.navigator.userAgent)}function ub(){return Wd()||lb()}function cb(){return Wd()?{before({doc:e,d:t,meta:n}){function r(o){return n.containers.flatMap(s=>s()).some(s=>s.contains(o))}t.microTask(()=>{if(window.getComputedStyle(e.documentElement).scrollBehavior!=="auto"){const i=Jo();i.style(e.documentElement,"scrollBehavior","auto"),t.add(()=>t.microTask(()=>i.dispose()))}const o=window.scrollY??window.pageYOffset;let s=null;t.addEventListener(e,"click",i=>{if(i.target instanceof HTMLElement)try{const a=i.target.closest("a");if(!a)return;const{hash:l}=new URL(a.href),u=e.querySelector(l);u&&!r(u)&&(s=u)}catch{}},!0),t.addEventListener(e,"touchstart",i=>{if(i.target instanceof HTMLElement)if(r(i.target)){let a=i.target;for(;a.parentElement&&r(a.parentElement);)a=a.parentElement;t.style(a,"overscrollBehavior","contain")}else t.style(i.target,"touchAction","none")}),t.addEventListener(e,"touchmove",i=>{if(i.target instanceof HTMLElement){if(i.target.tagName==="INPUT")return;if(r(i.target)){let a=i.target;for(;a.parentElement&&a.dataset.moonbasePortal!==""&&!(a.scrollHeight>a.clientHeight||a.scrollWidth>a.clientWidth);)a=a.parentElement;a.dataset.moonbasePortal===""&&i.preventDefault()}else i.preventDefault()}},{passive:!1}),t.add(()=>{const i=window.scrollY??window.pageYOffset;o!==i&&window.scrollTo(0,o),s&&s.isConnected&&(s.scrollIntoView({block:"nearest"}),s=null)})})}}:{}}function db(){return{before({doc:e,d:t}){t.style(e.documentElement,"overflow","hidden")}}}function fb(e){const t={};for(const n of e)Object.assign(t,n(t));return t}const Sr=ib(()=>new Map,{PUSH(e,t){const n=this.get(e)??{doc:e,count:0,d:Jo(),meta:new Set};return n.count++,n.meta.add(t),this.set(e,n),this},POP(e,t){const n=this.get(e);return n&&(n.count--,n.meta.delete(t)),this},SCROLL_PREVENT({doc:e,d:t,meta:n}){const r={doc:e,d:t,meta:fb(n)},o=[cb(),ab(),db()];o.forEach(({before:s})=>s==null?void 0:s(r)),o.forEach(({after:s})=>s==null?void 0:s(r))},SCROLL_ALLOW({d:e}){e.dispose()},TEARDOWN({doc:e}){this.delete(e)}});Sr.subscribe(()=>{const e=Sr.getSnapshot(),t=new Map;for(const[n]of e)t.set(n,n.documentElement.style.overflow);for(const n of e.values()){const r=t.get(n.doc)==="hidden",o=n.count!==0;(o&&!r||!o&&r)&&Sr.dispatch(n.count>0?"SCROLL_PREVENT":"SCROLL_ALLOW",n),n.count===0&&Sr.dispatch("TEARDOWN",n)}});function pb(e,t,n){const r=sb(Sr),o=J(()=>{const s=e.value?r.value.get(e.value):void 0;return s?s.count>0:!1});return Ge([e,t],([s,i],[a],l)=>{if(!s||!i)return;Sr.dispatch("PUSH",s,n);let u=!1;l(()=>{u||(Sr.dispatch("POP",a??s,n),u=!0)})},{immediate:!0}),o}let hb=0;function mb(){return++hb}function Lt(){return mb()}const Qa=new Map,Yo=new Map;function zd(e,t=j(!0)){pt(n=>{if(!t.value)return;const r=Y(e);if(!r)return;n(()=>{if(!r)return;const s=Yo.get(r)??1;if(s===1?Yo.delete(r):Yo.set(r,s-1),s!==1)return;const i=Qa.get(r);i&&(i["aria-hidden"]===null?r.removeAttribute("aria-hidden"):r.setAttribute("aria-hidden",i["aria-hidden"]),r.inert=i.inert,Qa.delete(r))});const o=Yo.get(r)??0;Yo.set(r,o+1),o===0&&(Qa.set(r,{"aria-hidden":r.getAttribute("aria-hidden"),inert:r.inert}),r.setAttribute("aria-hidden","true"),r.inert=!0)})}function Xo(e,t,n,r){Ko.isServer||pt(o=>{e.value&&(document.addEventListener(t,n,r),o(()=>document.removeEventListener(t,n,r)))})}const Kd=30;function Gd(e,t,n=J(()=>!0)){function r(i,a){if(i.defaultPrevented)return;const l=a(i);if(l===null||!l.getRootNode().contains(l))return;const u=function c(d){return typeof d=="function"?c(d()):Array.isArray(d)||d instanceof Set?d:[d]}(e);for(const c of u){if(c===null)continue;const d=c instanceof HTMLElement?c:Y(c);if(d!=null&&d.contains(l)||i.composed&&i.composedPath().includes(d))return}return!Bd(l,Xa.Loose)&&l.tabIndex!==-1&&i.preventDefault(),t(i,l)}const o=j(null);Xo(n,"pointerdown",i=>{var a,l;o.value=((l=(a=i.composedPath)==null?void 0:a.call(i))==null?void 0:l[0])||i.target},!0),Xo(n,"mousedown",i=>{var a,l;o.value=((l=(a=i.composedPath)==null?void 0:a.call(i))==null?void 0:l[0])||i.target},!0),Xo(n,"click",i=>{ub()||o.value&&(r(i,()=>o.value),o.value=null)},!0);const s={x:0,y:0};Xo(n,"touchstart",i=>{s.x=i.touches[0].clientX,s.y=i.touches[0].clientY},!0),Xo(n,"touchend",i=>{const a={x:i.changedTouches[0].clientX,y:i.changedTouches[0].clientY};if(!(Math.abs(a.x-s.x)>=Kd||Math.abs(a.y-s.y)>=Kd))return r(i,()=>i.target instanceof HTMLElement?i.target:null)},!0),Ld(n,"blur",i=>r(i,()=>window.document.activeElement instanceof HTMLIFrameElement?window.document.activeElement:null),!0)}function Jd({defaultContainers:e=[],portals:t,mainTreeNodeRef:n}={}){const r=j(null),o=kn(r);function s(){var a,l;const i=[];for(const u of e)u!==null&&(u instanceof HTMLElement?i.push(u):"value"in u&&u.value instanceof HTMLElement&&i.push(u.value));if(t!=null&&t.value)for(const u of t.value)i.push(u);for(const u of(o==null?void 0:o.querySelectorAll("html > *, body > *"))??[])u!==document.body&&u!==document.head&&u instanceof HTMLElement&&u.id!=="moonbase"&&(u.contains(Y(r))||u.contains((l=(a=Y(r))==null?void 0:a.getRootNode())==null?void 0:l.host)||i.some(c=>u.contains(c))||i.push(u));return i}return{resolveContainers:s,contains(i){return s().some(a=>a.contains(i))},mainTreeNodeRef:r,MainTreeNode(){return n!=null?null:Ue(tr,{features:er.Hidden,ref:r})}}}let Yd=Symbol("Context");var lt=(e=>(e[e.Open=1]="Open",e[e.Closed=2]="Closed",e[e.Closing=4]="Closing",e[e.Opening=8]="Opening",e))(lt||{});function vb(){return pi()!==null}function pi(){return Se(Yd,null)}function Xd(e){ft(Yd,e)}const Qd=Symbol("ForcePortalRootContext");function gb(){return Se(Qd,!1)}const ef=pe({name:"ForcePortalRoot",props:{as:{type:[Object,String],default:"template"},force:{type:Boolean,default:!1}},setup(e,{slots:t,attrs:n}){return ft(Qd,e.force),()=>{const{force:r,...o}=e;return rt({theirProps:o,ourProps:{},slot:{},slots:t,attrs:n,name:"ForcePortalRoot"})}}});let tf=Symbol("StackContext");var el=(e=>(e[e.Add=0]="Add",e[e.Remove=1]="Remove",e))(el||{});function yb(){return Se(tf,()=>{})}function bb({type:e,enabled:t,element:n,onUpdate:r}){let o=yb();function s(...i){r==null||r(...i),o(...i)}Re(()=>{Ge(t,(i,a)=>{i?s(0,e,n):a===!0&&s(1,e,n)},{immediate:!0,flush:"sync"})}),dt(()=>{t.value&&s(1,e,n)}),ft(tf,s)}var ot=(e=>(e.Space=" ",e.Enter="Enter",e.Escape="Escape",e.Backspace="Backspace",e.Delete="Delete",e.ArrowLeft="ArrowLeft",e.ArrowUp="ArrowUp",e.ArrowRight="ArrowRight",e.ArrowDown="ArrowDown",e.Home="Home",e.End="End",e.PageUp="PageUp",e.PageDown="PageDown",e.Tab="Tab",e))(ot||{});let _b=Symbol("DescriptionContext");function wb({slot:e=j({}),name:t="Description",props:n={}}={}){let r=j([]);function o(s){return r.value.push(s),()=>{let i=r.value.indexOf(s);i!==-1&&r.value.splice(i,1)}}return ft(_b,{register:o,slot:e,name:t,props:n}),J(()=>r.value.length>0?r.value.join(" "):void 0)}function nf(e){const t=kn(e);if(!t){if(e===null)return null;throw new Error(`[Moonbase]: Cannot find ownerDocument for contextElement: ${e}`)}const n=t.getElementById("moonbase");if(n)return n;throw new Error("[Moonbase]: Cannot find existing root element")}const tl=Symbol("PortalParentContext"),rf=Symbol("PortalGroupContext"),Eb=pe({name:"Portal",props:{as:{type:[Object,String],default:"div"}},setup(e,{slots:t,attrs:n}){const r=j(null),o=gb(),s=Se(rf,null),i=j(o===!0||s==null?nf(r.value):s.resolveTarget()),a=j(!1);Re(()=>{a.value=!0}),pt(()=>{o||s!=null&&(i.value=s.resolveTarget())});const l=Se(tl,null);let u=!1;const c=Ks();return Ge(r,()=>{if(u||!l)return;const d=Y(r);d&&(dt(l.register(d),c),u=!0)}),()=>{if(!a.value||i.value===null)return null;const d={ref:r,"data-moonbase-portal":""};return Ue(_m,{to:i.value},rt({ourProps:d,theirProps:e,slot:{},attrs:n,slots:t,name:"Portal"}))}}});function of(){const e=Se(tl,null),t=j([]);function n(s){return t.value.push(s),e&&e.register(s),()=>r(s)}function r(s){const i=t.value.indexOf(s);i!==-1&&t.value.splice(i,1),e&&e.unregister(s)}const o={register:n,unregister:r,portals:t};return[t,pe({name:"PortalWrapper",setup(s,{slots:i}){return ft(tl,o),()=>{var a;return(a=i.default)==null?void 0:a.call(i)}}})]}const Ob=pe({name:"PortalGroup",props:{as:{type:[Object,String],default:"template"},target:{type:Object,default:null}},setup(e,{attrs:t,slots:n}){const r=xo({resolveTarget(){return e.target}});return ft(rf,r),()=>{const{target:o,...s}=e;return rt({theirProps:s,ourProps:{},slot:{},attrs:t,slots:n,name:"PortalGroup"})}}}),nl=Symbol("DialogContext");function rl(e){const t=Se(nl,null);if(t===null)throw new Error(`<${e} /> is missing a parent <Dialog /> component.`);return t}const hi="DC8F892D-2EBD-447C-A4C8-A03058436FF4",sf=pe({name:"Dialog",inheritAttrs:!1,props:{as:{type:[Object,String],default:"div"},static:{type:Boolean,default:!1},unmount:{type:Boolean,default:!0},open:{type:[Boolean,String],default:hi},initialFocus:{type:Object,default:null},id:{type:String,default:()=>`moonbase-dialog-${Lt()}`},role:{type:String,default:"dialog"},makeInert:{type:Boolean,default:!0}},emits:{close:e=>!0},setup(e,{emit:t,attrs:n,slots:r,expose:o}){var me;const s=j(!1);Re(()=>{s.value=!0});let i=!1;const a=J(()=>e.role==="dialog"||e.role==="alertdialog"?e.role:(i||(i=!0,console.warn(`Invalid role [${a}] passed to <Dialog />. Only \`dialog\` and and \`alertdialog\` are supported. Using \`dialog\` instead.`)),"dialog")),l=j(0),u=pi(),c=J(()=>e.open===hi&&u!==null?(u.value<.Open)===lt.Open:e.open),d=j(null),f=J(()=>kn(d));if(o({el:d,$el:d}),!(e.open!==hi||u!==null))throw new Error("You forgot to provide an `open` prop to the `Dialog`.");if(typeof c.value!="boolean")throw new TypeError(`You provided an \`open\` prop to the \`Dialog\`, but the value is not a boolean. Received: ${c.value===hi?void 0:e.open}`);const b=J(()=>s.value&&c.value?0:1),E=J(()=>b.value===0),w=j(null),$={titleId:w,panelRef:j(null),dialogState:b,setTitleId(ie){w.value!==ie&&(w.value=ie)},close(){t("close",!1)}},D=J(()=>l.value>1),V=Se(nl,null)!==null,[W,N]=of(),{resolveContainers:S,mainTreeNodeRef:R,MainTreeNode:te}=Jd({portals:W,defaultContainers:[J(()=>$.panelRef.value??d.value)]}),A=J(()=>D.value?"parent":"leaf"),k=J(()=>u!==null?(u.value<.Closing)===lt.Closing:!1),P=J(()=>!e.makeInert||V||k.value?!1:E.value),x=J(()=>{var ie;return Array.from(((ie=f.value)==null?void 0:ie.querySelectorAll("body > *"))??[]).find(Fe=>Fe.id==="moonbase"?!1:Fe.contains(Y(R))&&Fe instanceof HTMLElement)??null});zd(x,P);const se=J(()=>D.value?!0:E.value),De=J(()=>{var ie;return Array.from(((ie=f.value)==null?void 0:ie.querySelectorAll("[data-moonbase-portal]"))??[]).find(Fe=>Fe.contains(Y(R))&&Fe instanceof HTMLElement)??null});zd(De,se),bb({type:"Dialog",enabled:J(()=>b.value===0),element:d,onUpdate:(ie,Fe)=>{if(Fe==="Dialog")return nt(ie,{[el.Add]:()=>l.value+=1,[el.Remove]:()=>l.value-=1})}});const O=wb({name:"DialogDescription",slot:J(()=>({open:c.value}))});ft(nl,$);const M=J(()=>!(!E.value||D.value));Gd(S,(ie,Fe)=>{ie.preventDefault(),$.close(),To(()=>Fe==null?void 0:Fe.focus())},M);const Q=J(()=>!(D.value||b.value!==0));Ga((me=f.value)==null?void 0:me.defaultView,"keydown",ie=>{Q.value&&(ie.defaultPrevented||ie.key===ot.Escape&&(ie.preventDefault(),ie.stopPropagation(),$.close()))});const oe=J(()=>!(k.value||b.value!==0||V));return pb(f,oe,ie=>({containers:[...ie.containers??[],S]})),pt(ie=>{if(b.value!==0)return;const Fe=Y(d);if(!Fe)return;const mt=new ResizeObserver(Be=>{for(const St of Be){const nr=St.target.getBoundingClientRect();nr.x===0&&nr.y===0&&nr.width===0&&nr.height===0&&$.close()}});mt.observe(Fe),ie(()=>mt.disconnect())}),()=>{const{id:ie,open:Fe,initialFocus:mt,...Be}=e,St={...n,ref:d,id:ie,role:a.value,"aria-modal":b.value===0?!0:void 0,"aria-labelledby":w.value,"aria-describedby":O.value},nr={open:b.value===0};return Ue(ef,{force:!0},()=>[Ue(Eb,()=>Ue(Ob,{target:d.value},()=>Ue(ef,{force:!1},()=>Ue(Go,{initialFocus:mt,containers:S,features:E.value?nt(A.value,{parent:Go.features.RestoreFocus,leaf:Go.features.All&~Go.features.FocusLock}):Go.features.None},()=>Ue(N,{},()=>rt({ourProps:St,theirProps:{...Be,...n},slot:nr,attrs:n,slots:r,visible:b.value===0,features:Xn.RenderStrategy|Xn.Static,name:"Dialog"})))))),Ue(te)])}}}),af=pe({name:"DialogOverlay",props:{as:{type:[Object,String],default:"div"},id:{type:String,default:()=>`moonbase-dialog-overlay-${Lt()}`}},setup(e,{attrs:t,slots:n}){const r=rl("DialogOverlay");function o(s){s.target===s.currentTarget&&(s.preventDefault(),s.stopPropagation(),r.close())}return()=>{const{id:s,...i}=e;return rt({ourProps:{id:s,"aria-hidden":!0,onClick:o},theirProps:i,slot:{open:r.dialogState.value===0},attrs:t,slots:n,name:"DialogOverlay"})}}}),lf=pe({name:"DialogPanel",props:{as:{type:[Object,String],default:"div"},id:{type:String,default:()=>`moonbase-dialog-panel-${Lt()}`}},setup(e,{attrs:t,slots:n,expose:r}){const o=rl("DialogPanel");r({el:o.panelRef,$el:o.panelRef});function s(i){i.stopPropagation()}return()=>{const{id:i,...a}=e,l={id:i,ref:o.panelRef,onClick:s};return rt({ourProps:l,theirProps:a,slot:{open:o.dialogState.value===0},attrs:t,slots:n,name:"DialogPanel"})}}}),mi=pe({name:"DialogTitle",props:{as:{type:[Object,String],default:"h2"},id:{type:String,default:()=>`moonbase-dialog-title-${Lt()}`}},setup(e,{attrs:t,slots:n}){const r=rl("DialogTitle");return Re(()=>{r.setTitleId(e.id),dt(()=>r.setTitleId(null))}),()=>{const{id:o,...s}=e;return rt({ourProps:{id:o},theirProps:s,slot:{open:r.dialogState.value===0},attrs:t,slots:n,name:"DialogTitle"})}}});function uf(e,t){if(e)return e;const n=t??"button";if(typeof n=="string"&&n.toLowerCase()==="button")return"button"}function cf(e,t){const n=j(uf(e.value.type,e.value.as));return Re(()=>{n.value=uf(e.value.type,e.value.as)}),pt(()=>{var r;n.value||Y(t)&&Y(t)instanceof HTMLButtonElement&&!((r=Y(t))!=null&&r.hasAttribute("type"))&&(n.value="button")}),n}const df=Symbol("PopoverContext");function ff(e){const t=Se(df,null);if(t===null)throw new Error(`<${e} /> is missing a parent <Popover /> component.`);return t}const Nb=Symbol("PopoverGroupContext");function pf(){return Se(Nb,null)}const hf=Symbol("PopoverPanelContext");function xb(){return Se(hf,null)}const mf=pe({name:"Popover",inheritAttrs:!1,props:{as:{type:[Object,String],default:"div"}},setup(e,{slots:t,attrs:n,expose:r}){var W;const o=j(null);r({el:o,$el:o});const s=j(1),i=j(null),a=j(null),l=j(null),u=j(null),c=J(()=>kn(o)),d=J(()=>{var P,x;if(!Y(i)||!Y(u))return!1;for(const se of document.querySelectorAll("body > *"))if(Number(se==null?void 0:se.contains(Y(i)))^Number(se==null?void 0:se.contains(Y(u))))return!0;const N=di(),S=N.indexOf(Y(i)),R=(S+N.length-1)%N.length,te=(S+1)%N.length,A=N[R],k=N[te];return!((P=Y(u))!=null&&P.contains(A))&&!((x=Y(u))!=null&&x.contains(k))}),f={popoverState:s,buttonId:j(null),panelId:j(null),panel:u,button:i,isPortalled:d,beforePanelSentinel:a,afterPanelSentinel:l,togglePopover(){s.value=nt(s.value,{0:1,1:0})},closePopover(){s.value!==1&&(s.value=1)},close(N){f.closePopover();const S=N?N instanceof HTMLElement?N:N.value instanceof HTMLElement?Y(N):Y(f.button):Y(f.button);S==null||S.focus()}};ft(df,f),Xd(J(()=>nt(s.value,{0:lt.Open,1:lt.Closed})));const h={buttonId:f.buttonId,panelId:f.panelId,close(){f.closePopover()}},b=pf(),E=b==null?void 0:b.registerPopover,[w,$]=of(),D=Jd({mainTreeNodeRef:b==null?void 0:b.mainTreeNodeRef,portals:w,defaultContainers:[i,u]});function V(){var N,S,R;return(b==null?void 0:b.isFocusWithinPopoverGroup())??(((N=c.value)==null?void 0:N.activeElement)&&(((S=Y(i))==null?void 0:S.contains(c.value.activeElement))||((R=Y(u))==null?void 0:R.contains(c.value.activeElement))))}return pt(()=>E==null?void 0:E(h)),Ga((W=c.value)==null?void 0:W.defaultView,"focus",N=>{var S,R;N.target!==window&&N.target instanceof HTMLElement&&s.value===0&&(V()||i&&u&&(D.contains(N.target)||(S=Y(f.beforePanelSentinel))!=null&&S.contains(N.target)||(R=Y(f.afterPanelSentinel))!=null&&R.contains(N.target)||f.closePopover()))},!0),Gd(D.resolveContainers,(N,S)=>{var R;f.closePopover(),Bd(S,Xa.Loose)||(N.preventDefault(),(R=Y(i))==null||R.focus())},J(()=>s.value===0)),()=>{const N={open:s.value===0,close:f.close};return Ue(ke,[Ue($,{},()=>rt({theirProps:{...e,...n},ourProps:{ref:o},slot:N,slots:t,attrs:n,name:"Popover"})),Ue(D.MainTreeNode)])}}}),vf=pe({name:"PopoverButton",props:{as:{type:[Object,String],default:"button"},disabled:{type:[Boolean],default:!1},id:{type:String,default:()=>`moonbase-popover-button-${Lt()}`}},inheritAttrs:!1,setup(e,{attrs:t,slots:n,expose:r}){const o=ff("PopoverButton"),s=J(()=>kn(o.button));r({el:o.button,$el:o.button}),Re(()=>{o.buttonId.value=e.id}),dt(()=>{o.buttonId.value=null});const i=pf(),a=i==null?void 0:i.closeOthers,l=xb(),u=J(()=>l===null?!1:l.value===o.panelId.value),c=j(null),d=`moonbase-focus-sentinel-${Lt()}`;u.value||pt(()=>{o.button.value=Y(c)});const f=cf(J(()=>({as:e.as,type:t.type})),c);function h(V){var W,N,S,R,te;if(u.value){if(o.popoverState.value===1)return;switch(V.key){case ot.Space:case ot.Enter:V.preventDefault(),(N=(W=V.target).click)==null||N.call(W),o.closePopover(),(S=Y(o.button))==null||S.focus();break}}else switch(V.key){case ot.Space:case ot.Enter:V.preventDefault(),V.stopPropagation(),o.popoverState.value===1&&(a==null||a(o.buttonId.value)),o.togglePopover();break;case ot.Escape:if(o.popoverState.value!==0)return a==null?void 0:a(o.buttonId.value);if(!Y(o.button)||(R=s.value)!=null&&R.activeElement&&!((te=Y(o.button))!=null&&te.contains(s.value.activeElement)))return;V.preventDefault(),V.stopPropagation(),o.closePopover();break}}function b(V){u.value||V.key===ot.Space&&V.preventDefault()}function E(V){var W,N;e.disabled||(u.value?(o.closePopover(),(W=Y(o.button))==null||W.focus()):(V.preventDefault(),V.stopPropagation(),o.popoverState.value===1&&(a==null||a(o.buttonId.value)),o.togglePopover(),(N=Y(o.button))==null||N.focus()))}function w(V){V.preventDefault(),V.stopPropagation()}const $=Ja();function D(){const V=Y(o.panel);if(!V)return;function W(){nt($.value,{[$t.Forwards]:()=>at(V,We.First),[$t.Backwards]:()=>at(V,We.Last)})===Cn.Error&&at(di().filter(S=>S.dataset.moonbaseFocusGuard!=="true"),nt($.value,{[$t.Forwards]:We.Next,[$t.Backwards]:We.Previous}),{relativeTo:Y(o.button)})}W()}return()=>{const V=o.popoverState.value===0,W={open:V},{id:N,...S}=e,R=u.value?{ref:c,type:f.value,onKeydown:h,onClick:E}:{ref:c,id:N,type:f.value,"aria-expanded":o.popoverState.value===0,"aria-controls":Y(o.panel)?o.panelId.value:void 0,disabled:e.disabled?!0:void 0,onKeydown:h,onKeyup:b,onClick:E,onMousedown:w};return Ue(ke,[rt({ourProps:R,theirProps:{...t,...S},slot:W,attrs:t,slots:n,name:"PopoverButton"}),V&&!u.value&&o.isPortalled.value&&Ue(tr,{id:d,features:er.Focusable,"data-moonbase-focus-guard":!0,as:"button",type:"button",onFocus:D})])}}}),gf=pe({name:"PopoverPanel",props:{as:{type:[Object,String],default:"div"},static:{type:Boolean,default:!1},unmount:{type:Boolean,default:!0},focus:{type:Boolean,default:!1},id:{type:String,default:()=>`moonbase-popover-panel-${Lt()}`}},inheritAttrs:!1,setup(e,{attrs:t,slots:n,expose:r}){const{focus:o}=e,s=ff("PopoverPanel"),i=J(()=>kn(s.panel)),a=`moonbase-focus-sentinel-before-${Lt()}`,l=`moonbase-focus-sentinel-after-${Lt()}`;r({el:s.panel,$el:s.panel}),Re(()=>{s.panelId.value=e.id}),dt(()=>{s.panelId.value=null}),ft(hf,s.panelId),pt(()=>{var $,D;if(!o||s.popoverState.value!==0||!s.panel)return;const w=($=i.value)==null?void 0:$.activeElement;(D=Y(s.panel))!=null&&D.contains(w)||at(Y(s.panel),We.First)});const u=pi(),c=J(()=>u!==null?(u.value<.Open)===lt.Open:s.popoverState.value===0);function d(w){var $,D;switch(w.key){case ot.Escape:if(s.popoverState.value!==0||!Y(s.panel)||i.value&&!(($=Y(s.panel))!=null&&$.contains(i.value.activeElement)))return;w.preventDefault(),w.stopPropagation(),s.closePopover(),(D=Y(s.button))==null||D.focus();break}}function f(w){var D,V,W,N,S;const $=w.relatedTarget;$&&Y(s.panel)&&((D=Y(s.panel))!=null&&D.contains($)||(s.closePopover(),((W=(V=Y(s.beforePanelSentinel))==null?void 0:V.contains)!=null&&W.call(V,$)||(S=(N=Y(s.afterPanelSentinel))==null?void 0:N.contains)!=null&&S.call(N,$))&&$.focus({preventScroll:!0})))}const h=Ja();function b(){const w=Y(s.panel);if(!w)return;function $(){nt(h.value,{[$t.Forwards]:()=>{var V;at(w,We.First)===Cn.Error&&((V=Y(s.afterPanelSentinel))==null||V.focus())},[$t.Backwards]:()=>{var D;(D=Y(s.button))==null||D.focus({preventScroll:!0})}})}$()}function E(){const w=Y(s.panel);if(!w)return;function $(){nt(h.value,{[$t.Forwards]:()=>{const D=Y(s.button),V=Y(s.panel);if(!D)return;const W=di(),N=W.indexOf(D),S=W.slice(0,N+1),te=[...W.slice(N+1),...S];for(const A of te.slice())if(A.dataset.moonbaseFocusGuard==="true"||V!=null&&V.contains(A)){const k=te.indexOf(A);k!==-1&&te.splice(k,1)}at(te,We.First,{sorted:!1})},[$t.Backwards]:()=>{var V;at(w,We.Previous)===Cn.Error&&((V=Y(s.button))==null||V.focus())}})}$()}return()=>{const w={open:s.popoverState.value===0,close:s.close},{id:$,focus:D,...V}=e,W={ref:s.panel,id:$,onKeydown:d,onFocusout:o&&s.popoverState.value===0?f:void 0,tabIndex:-1};return rt({ourProps:W,theirProps:{...t,...V},attrs:t,slot:w,slots:{...n,default:(...N)=>{var S;return[Ue(ke,[c.value&&s.isPortalled.value&&Ue(tr,{id:a,ref:s.beforePanelSentinel,features:er.Focusable,"data-moonbase-focus-guard":!0,as:"button",type:"button",onFocus:b}),(S=n.default)==null?void 0:S.call(n,...N),c.value&&s.isPortalled.value&&Ue(tr,{id:l,ref:s.afterPanelSentinel,features:er.Focusable,"data-moonbase-focus-guard":!0,as:"button",type:"button",onFocus:E})])]}},features:Xn.RenderStrategy|Xn.Static,visible:c.value,name:"PopoverPanel"})}}});let Sb=pe({props:{onFocus:{type:Function,required:!0}},setup(e){let t=j(!0);return()=>t.value?Ue(tr,{as:"button",type:"button",features:er.Focusable,onFocus(n){n.preventDefault();let r,o=50;function s(){var i;if(o--<=0){r&&cancelAnimationFrame(r);return}if((i=e.onFocus)!=null&&i.call(e)){t.value=!1,cancelAnimationFrame(r);return}r=requestAnimationFrame(s)}r=requestAnimationFrame(s)}}):null}});const yf=Symbol("TabsContext");function vi(e){const t=Se(yf,null);if(t===null)throw new Error(`<${e} /> is missing a parent <TabGroup /> component.`);return t}const ol=Symbol("TabsSSRContext"),kb=pe({name:"TabGroup",emits:{change:e=>!0},props:{as:{type:[Object,String],default:"template"},selectedIndex:{type:[Number],default:null},defaultIndex:{type:[Number],default:0},vertical:{type:[Boolean],default:!1},manual:{type:[Boolean],default:!1}},inheritAttrs:!1,setup(e,{slots:t,attrs:n,emit:r}){const o=j(e.selectedIndex??e.defaultIndex),s=j([]),i=j([]),a=J(()=>e.selectedIndex!==null),l=J(()=>a.value?e.selectedIndex:o.value),u={selectedIndex:J(()=>o.value??e.defaultIndex??null),orientation:J(()=>e.vertical?"vertical":"horizontal"),activation:J(()=>e.manual?"manual":"auto"),tabs:s,panels:i,setSelectedIndex(b){l.value!==b&&r("change",b),a.value||c(b)},registerTab(b){if(s.value.includes(b))return;const E=s.value[o.value];if(s.value.push(b),s.value=Yr(s.value,Y),!a.value){const w=s.value.indexOf(E)??o.value;w!==-1&&(o.value=w)}},unregisterTab(b){const E=s.value.indexOf(b);E!==-1&&s.value.splice(E,1)},registerPanel(b){i.value.includes(b)||(i.value.push(b),i.value=Yr(i.value,Y))},unregisterPanel(b){const E=i.value.indexOf(b);E!==-1&&i.value.splice(E,1)}};function c(b){const E=Yr(u.tabs.value,Y),w=Yr(u.panels.value,Y),$=E.filter(D=>{var V;return!((V=Y(D))!=null&&V.hasAttribute("disabled"))});if(b<0||b>E.length-1){const D=nt(o.value===null?0:Math.sign(b-o.value),{[-1]:()=>1,0:()=>nt(Math.sign(b),{[-1]:()=>0,0:()=>0,1:()=>1}),1:()=>0}),V=nt(D,{0:()=>E.indexOf($[0]),1:()=>E.indexOf($[$.length-1])});V!==-1&&(o.value=V),u.tabs.value=E,u.panels.value=w}else{const D=E.slice(0,b),W=[...E.slice(b),...D].find(S=>$.includes(S));if(!W)return;let N=E.indexOf(W)??u.selectedIndex.value;N===-1&&(N=u.selectedIndex.value),o.value=N,u.tabs.value=E,u.panels.value=w}}ft(yf,u);const d=j({tabs:[],panels:[]}),f=j(!1);Re(()=>{f.value=!0}),ft(ol,J(()=>f.value?null:d.value));const h=J(()=>e.selectedIndex);return Re(()=>{Ge([h],()=>c(e.selectedIndex??e.defaultIndex),{immediate:!0})}),pt(()=>{if(!a.value||l.value==null||u.tabs.value.length<=0)return;const b=Yr(u.tabs.value,Y);b.some((w,$)=>Y(u.tabs.value[$])!==Y(w))&&u.setSelectedIndex(b.findIndex(w=>Y(w)===Y(u.tabs.value[l.value])))}),()=>{const b={selectedIndex:o.value};return Ue(ke,[s.value.length<=0&&Ue(Sb,{onFocus:()=>{for(const E of s.value){const w=Y(E);if((w==null?void 0:w.tabIndex)===0)return w.focus(),!0}return!1}}),rt({theirProps:{...n,...Ya(e,["selectedIndex","defaultIndex","manual","vertical","onChange"])},ourProps:{},slot:b,slots:t,attrs:n,name:"TabGroup"})])}}}),Cb=pe({name:"TabList",props:{as:{type:[Object,String],default:"div"}},setup(e,{attrs:t,slots:n}){const r=vi("TabList");return()=>{const o={selectedIndex:r.selectedIndex.value},s={role:"tablist","aria-orientation":r.orientation.value};return rt({ourProps:s,theirProps:e,slot:o,attrs:t,slots:n,name:"TabList"})}}}),sl=pe({name:"Tab",props:{as:{type:[Object,String],default:"button"},disabled:{type:[Boolean],default:!1},id:{type:String,default:()=>`moonbase-tabs-tab-${Lt()}`}},setup(e,{attrs:t,slots:n,expose:r}){const o=vi("Tab"),s=j(null);r({el:s,$el:s}),Re(()=>o.registerTab(s)),dt(()=>o.unregisterTab(s));const i=Se(ol),a=J(()=>{if(i.value){const w=i.value.tabs.indexOf(e.id);return w===-1?i.value.tabs.push(e.id)-1:w}return-1}),l=J(()=>{const w=o.tabs.value.indexOf(s);return w===-1?a.value:w}),u=J(()=>l.value===o.selectedIndex.value);function c(w){var D;const $=w();if($===Cn.Success&&o.activation.value==="auto"){const V=(D=kn(s))==null?void 0:D.activeElement,W=o.tabs.value.findIndex(N=>Y(N)===V);W!==-1&&o.setSelectedIndex(W)}return $}function d(w){const $=o.tabs.value.map(V=>Y(V)).filter(Boolean);if(w.key===ot.Space||w.key===ot.Enter){w.preventDefault(),w.stopPropagation(),o.setSelectedIndex(l.value);return}switch(w.key){case ot.Home:case ot.PageUp:return w.preventDefault(),w.stopPropagation(),c(()=>at($,We.First));case ot.End:case ot.PageDown:return w.preventDefault(),w.stopPropagation(),c(()=>at($,We.Last))}if(c(()=>nt(o.orientation.value,{vertical(){return w.key===ot.ArrowUp?at($,We.Previous|We.WrapAround):w.key===ot.ArrowDown?at($,We.Next|We.WrapAround):Cn.Error},horizontal(){return w.key===ot.ArrowLeft?at($,We.Previous|We.WrapAround):w.key===ot.ArrowRight?at($,We.Next|We.WrapAround):Cn.Error}}))===Cn.Success)return w.preventDefault()}const f=j(!1);function h(){var w;f.value||(f.value=!0,!e.disabled&&((w=Y(s))==null||w.focus({preventScroll:!0}),o.setSelectedIndex(l.value),fi(()=>{f.value=!1})))}function b(w){w.preventDefault()}const E=cf(J(()=>({as:e.as,type:t.type})),s);return()=>{var W;const w={selected:u.value,disabled:e.disabled??!1},{id:$,...D}=e,V={ref:s,onKeydown:d,onMousedown:b,onClick:h,id:$,role:"tab",type:E.value,"aria-controls":(W=Y(o.panels.value[l.value]))==null?void 0:W.id,"aria-selected":u.value,tabIndex:u.value?0:-1,disabled:e.disabled?!0:void 0};return rt({ourProps:V,theirProps:D,slot:w,attrs:t,slots:n,name:"Tab"})}}}),Tb=pe({name:"TabPanels",props:{as:{type:[Object,String],default:"div"}},setup(e,{slots:t,attrs:n}){const r=vi("TabPanels");return()=>{const o={selectedIndex:r.selectedIndex.value};return rt({theirProps:e,ourProps:{},slot:o,attrs:n,slots:t,name:"TabPanels"})}}}),il=pe({name:"TabPanel",props:{as:{type:[Object,String],default:"div"},static:{type:Boolean,default:!1},unmount:{type:Boolean,default:!0},id:{type:String,default:()=>`moonbase-tabs-panel-${Lt()}`},tabIndex:{type:Number,default:0}},setup(e,{attrs:t,slots:n,expose:r}){const o=vi("TabPanel"),s=j(null);r({el:s,$el:s}),Re(()=>o.registerPanel(s)),dt(()=>o.unregisterPanel(s));const i=Se(ol),a=J(()=>{if(i.value){const c=i.value.panels.indexOf(e.id);return c===-1?i.value.panels.push(e.id)-1:c}return-1}),l=J(()=>{const c=o.panels.value.indexOf(s);return c===-1?a.value:c}),u=J(()=>l.value===o.selectedIndex.value);return()=>{var E;const c={selected:u.value},{id:d,tabIndex:f,...h}=e,b={ref:s,id:d,role:"tabpanel","aria-labelledby":(E=Y(o.tabs.value[l.value]))==null?void 0:E.id,tabIndex:u.value?f:-1};return!u.value&&e.unmount&&!e.static?Ue(tr,{as:"span","aria-hidden":!0,...b}):rt({ourProps:b,theirProps:h,slot:c,attrs:t,slots:n,features:Xn.Static|Xn.RenderStrategy,visible:u.value,name:"TabPanel"})}}});function Pb(e){let t={called:!1};return(...n)=>{if(!t.called)return t.called=!0,e(...n)}}function al(e,...t){e&&t.length>0&&!e.dataset.transition?e.dataset.transition=t.join(" "):e&&t.length>0&&e.dataset.transition&&(e.dataset.transition=[...e.dataset.transition.split(" "),...t].join(" "))}function gi(e,...t){e&&t.length>0&&e.dataset.transition&&(e.dataset.transition=e.dataset.transition.split(" ").filter(n=>!t.includes(n)).join(" "))}var ll=(e=>(e.Finished="finished",e.Cancelled="cancelled",e))(ll||{});function $b(e,t){const n=Jo();if(!e)return n.dispose;const{transitionDuration:r,transitionDelay:o}=getComputedStyle(e),[s,i]=[r,o].map(a=>{const[l=0]=a.split(",").filter(Boolean).map(u=>u.includes("ms")?Number.parseFloat(u):Number.parseFloat(u)*1e3).sort((u,c)=>c-u);return l});return s!==0?n.setTimeout(()=>t("finished"),s+i):t("finished"),n.add(()=>t("cancelled")),n.dispose}function bf(e,t,n,r,o,s){const i=Jo(),a=s!==void 0?Pb(s):()=>{};return gi(e,...o),al(e,...t,...n),i.nextFrame(()=>{gi(e,...n),al(e,...r),i.add($b(e,l=>(gi(e,...r,...t),al(e,...o),a(l))))}),i.add(()=>gi(e,...t,...n,...r,...o)),i.add(()=>a("cancelled")),i.dispose}function kr(e=""){return e.split(/\s+/).filter(t=>t.length>1)}const ul=Symbol("TransitionContext");function Db(){return Se(ul,null)!==null}function Ib(){const e=Se(ul,null);if(e===null)throw new Error("A <TransitionChild /> is used but it is missing a parent <TransitionRoot />.");return e}const cl=Symbol("NestingContext");function Ab(){const e=Se(cl,null);if(e===null)throw new Error("A <TransitionChild /> is used but it is missing a parent <TransitionRoot />.");return e}function yi(e){return"children"in e?yi(e.children):e.value.filter(({state:t})=>t==="visible").length>0}function _f(e){const t=j([]),n=j(!1);Re(()=>n.value=!0),dt(()=>n.value=!1);function r(s,i=Qn.Hidden){const a=t.value.findIndex(({id:l})=>l===s);a!==-1&&(nt(i,{[Qn.Unmount](){t.value.splice(a,1)},[Qn.Hidden](){t.value[a].state="hidden"}}),!yi(t)&&n.value&&(e==null||e()))}function o(s){const i=t.value.find(({id:a})=>a===s);return i?i.state!=="visible"&&(i.state="visible"):t.value.push({id:s,state:"visible"}),()=>r(s,Qn.Unmount)}return{children:t,register:o,unregister:r}}const wf=Xn.RenderStrategy,Qo=pe({props:{as:{type:[Object,String],default:"div"},show:{type:[Boolean],default:null},unmount:{type:[Boolean],default:!0},appear:{type:[Boolean],default:!1},enter:{type:[String],default:"enter"},enterFrom:{type:[String],default:"enter-from"},enterTo:{type:[String],default:"enter-to"},entered:{type:[String],default:"entered"},leave:{type:[String],default:"leave"},leaveFrom:{type:[String],default:"leave-from"},leaveTo:{type:[String],default:"leave-to"}},emits:{beforeEnter:()=>!0,afterEnter:()=>!0,beforeLeave:()=>!0,afterLeave:()=>!0},setup(e,{emit:t,attrs:n,slots:r,expose:o}){const s=j(0);function i(){s.value|=lt.Opening,t("beforeEnter")}function a(){s.value&=~lt.Opening,t("afterEnter")}function l(){s.value|=lt.Closing,t("beforeLeave")}function u(){s.value&=~lt.Closing,t("afterLeave")}if(!Db()&&vb())return()=>Ue(dl,{...e,onBeforeEnter:i,onAfterEnter:a,onBeforeLeave:l,onAfterLeave:u},r);const c=j(null),d=J(()=>e.unmount?Qn.Unmount:Qn.Hidden);o({el:c,$el:c});const{show:f,appear:h}=Ib(),{register:b,unregister:E}=Ab(),w=j(f.value?"visible":"hidden"),$={value:!0},D=Lt(),V={value:!1},W=_f(()=>{!V.value&&w.value!=="hidden"&&(w.value="hidden",E(D),u())});Re(()=>{const se=b(D);dt(se)}),pt(()=>{if(d.value===Qn.Hidden&&D){if(f.value&&w.value!=="visible"){w.value="visible";return}nt(w.value,{hidden:()=>E(D),visible:()=>b(D)})}});const N=kr(e.enter),S=kr(e.enterFrom),R=kr(e.enterTo),te=kr(e.entered),A=kr(e.leave),k=kr(e.leaveFrom),P=kr(e.leaveTo);Re(()=>{pt(()=>{if(w.value==="visible"){const se=Y(c);if(se instanceof Comment&&se.data==="")throw new Error("Did you forget to passthrough the `ref` to the actual DOM node?")}})});function x(se){const De=$.value&&!h.value,O=Y(c);!O||!(O instanceof HTMLElement)||De||(V.value=!0,f.value&&i(),f.value||l(),se(f.value?bf(O,N,S,R,te,M=>{V.value=!1,M===ll.Finished&&a()}):bf(O,A,k,P,te,M=>{V.value=!1,M===ll.Finished&&(yi(W)||(w.value="hidden",E(D),u()))})))}return Re(()=>{Ge([f],(se,De,O)=>{x(O),$.value=!1},{immediate:!0})}),ft(cl,W),Xd(J(()=>nt(w.value,{visible:lt.Open,hidden:lt.Closed})|s.value)),()=>{const{appear:se,show:De,enter:O,enterFrom:M,enterTo:Q,entered:oe,leave:me,leaveFrom:ie,leaveTo:Fe,...mt}=e,Be={ref:c},St={...mt,...h.value&&f.value&&Ko.isServer?{class:_s([n.class,mt.class,...N,...S])}:{}};return rt({theirProps:St,ourProps:Be,slot:{},slots:r,attrs:n,features:wf,visible:w.value==="visible",name:"TransitionChild"})}}}),Vb=Qo,dl=pe({inheritAttrs:!1,props:{as:{type:[Object,String],default:"div"},show:{type:[Boolean],default:null},unmount:{type:[Boolean],default:!0},appear:{type:[Boolean],default:!1},enter:{type:[String],default:""},enterFrom:{type:[String],default:""},enterTo:{type:[String],default:""},entered:{type:[String],default:""},leave:{type:[String],default:""},leaveFrom:{type:[String],default:""},leaveTo:{type:[String],default:""}},emits:{beforeEnter:()=>!0,afterEnter:()=>!0,beforeLeave:()=>!0,afterLeave:()=>!0},setup(e,{emit:t,attrs:n,slots:r}){const o=pi(),s=J(()=>e.show===null&&o!==null?(o.value<.Open)===lt.Open:e.show);pt(()=>{if(![!0,!1].includes(s.value))throw new Error('A <Transition /> is used but it is missing a `:show="true | false"` prop.')});const i=j(s.value?"visible":"hidden"),a=_f(()=>{i.value="hidden"}),l=j(!0),u={show:s,appear:J(()=>e.appear||!l.value)};return Re(()=>{pt(()=>{l.value=!1,s.value?i.value="visible":yi(a)||(i.value="hidden")})}),ft(cl,a),ft(ul,u),()=>{const c=Ya(e,["show","appear","unmount","onBeforeEnter","onBeforeLeave","onAfterEnter","onAfterLeave"]),d={unmount:e.unmount};return rt({ourProps:{...d,as:"template"},theirProps:{},slot:{},slots:{...r,default:()=>[Ue(Vb,{onBeforeEnter:()=>t("beforeEnter"),onAfterEnter:()=>t("afterEnter"),onBeforeLeave:()=>t("beforeLeave"),onAfterLeave:()=>t("afterLeave"),...n,...d,...c},r.default)]},attrs:{},features:wf,visible:i.value==="visible",name:"Transition"})}}}),Rb={class:"moonbase:modal-container"},bi=pe({__name:"Modal",props:{open:{type:Boolean}},emits:["close"],setup(e){const t=Se(Gr);return(n,r)=>(y(),xe(_(dl),{as:"template",show:n.open},{default:_e(()=>{var o,s;return[q(_(sf),{as:"div",class:"moonbase:modal","data-contain":!!((o=_(t))!=null&&o.target)||void 0,"make-inert":!((s=_(t))!=null&&s.target),onClose:r[0]||(r[0]=i=>n.$emit("close"))},{default:_e(()=>[C("div",Rb,[q(_(Qo),{as:"template"},{default:_e(()=>{var i;return[q(_(af),{class:"moonbase:modal-overlay","data-contain":!!((i=_(t))!=null&&i.target)||void 0},null,8,["data-contain"])]}),_:1}),q(_(Qo),{as:"template"},{default:_e(()=>[q(_(lf),{class:"moonbase:modal-content"},{default:_e(()=>[ma(n.$slots,"default")]),_:3})]),_:3})])]),_:3},8,["data-contain","make-inert"])]}),_:3},8,["show"]))}}),jb=["data-visible"],Mb=pe({__name:"SignIn",emits:["signedIn"],setup(e,{emit:t}){const n=t,r=je(),o=wt(),s=Se(Gr),i=j(r.getParameter("email")??""),a=j(""),l=j(null);async function u(){l.value=null;try{const c=await o.signIn(i.value,a.value);Kt(1500).then(()=>n("signedIn",c))}catch(c){throw c instanceof Vn?l.value="User not found":l.value=c.message,c}}return(c,d)=>(y(),xe(Jn,{handler:u,class:"moonbase:sign-in"},{default:_e(()=>{var f;return[q(Et,{modelValue:i.value,"onUpdate:modelValue":d[0]||(d[0]=h=>i.value=h),label:"Email address",name:"email",type:"email",placeholder:"Email address",autocomplete:"email",required:""},null,8,["modelValue"]),q(Et,{modelValue:a.value,"onUpdate:modelValue":d[1]||(d[1]=h=>a.value=h),label:"Password",name:"password",type:"password",placeholder:"Password",autocomplete:"current-password",required:""},null,8,["modelValue"]),q(Yn,{success:"Signed in",label:"Sign in",error:"Error"}),C("span",{class:"moonbase:error","data-visible":!!l.value||void 0},G(l.value),9,jb),(f=_(s))!=null&&f.auth.signUp.enabled?(y(),T("button",{key:0,type:"button",onClick:d[2]||(d[2]=h=>_(r).show(_(Oe).Authentication,_(le).SignUp,{email:i.value}))}," Create account ")):de("",!0),C("button",{type:"button",onClick:d[3]||(d[3]=h=>_(r).show(_(Oe).Authentication,_(le).ForgotPassword,{email:i.value}))}," Forgot password ")]}),_:1}))}});function fl(...e){}const Lb={class:"moonbase:authentication"},Ub={key:0,class:"moonbase:loader"},Fb=pe({__name:"Authentication",props:{open:{type:Boolean}},setup(e){const t=je(),{loaded:n}=wt(),r=J(()=>{switch(t.intent){case le.SignIn:return"Sign in";case le.SignUp:return"Sign up";case le.ConfirmAccount:return"Confirm account";case le.ConfirmEmailChange:return"Confirm email change";case le.ForgotPassword:return"Forgot password";case le.ResetPassword:return"Reset password"}return"Authentication"}),o=J(()=>{if(t.intent===le.SignIn&&t.next){const[i,a,l]=t.next;if(i===Oe.Authentication&&a===le.ConfirmEmailChange)return"to confirm email"}return null});function s(){t.reset()}return(i,a)=>(y(),xe(bi,{open:i.open,onClose:s},{default:_e(()=>[C("div",Lb,[q(_(mi),{as:"h3"},{default:_e(()=>[Ce(G(r.value)+" "+G(o.value),1)]),_:1}),_(n)?_(t).intent===_(le).SignIn?(y(),xe(Mb,{key:1,onSignedIn:a[0]||(a[0]=l=>_(t).dequeue())})):_(t).intent===_(le).SignUp?(y(),xe(jy,{key:2,onSignedUp:a[1]||(a[1]=l=>_(t).show(_(Oe).Customer,_(le).ViewAccount))})):_(t).intent===_(le).ConfirmAccount?(y(),xe(Fy,{key:3,onConfirmedAccount:a[2]||(a[2]=l=>_(t).show(_(Oe).Customer,_(le).ViewAccount))})):_(t).intent===_(le).ConfirmEmailChange?(y(),xe(Gy,{key:4})):_(t).intent===_(le).ForgotPassword?(y(),xe(Hy,{key:5})):_(t).intent===_(le).ResetPassword?(y(),xe(qy,{key:6,onPasswordReset:a[3]||(a[3]=l=>_(t).show(_(Oe).Customer,_(le).ViewAccount))})):de("",!0):(y(),T("div",Ub,[q(Mt)]))])]),_:1},8,["open"]))}});function Dt(e,t){return new Intl.NumberFormat(void 0,{style:"currency",currency:t,currencyDisplay:"narrowSymbol",maximumFractionDigits:2,minimumFractionDigits:2}).format(e)}const Bb={class:"moonbase:product-cart-item"},Hb=["src"],Zb={key:1,class:"moonbase:image-placeholder"},qb={class:"moonbase:product-cart-item-content"},Wb={key:0,class:"moonbase:cart-item-discount"},zb={class:"font-semibold"},Kb={key:0,class:"ml-0.5"},Gb={key:2,class:"moonbase:product-cart-item-total"},Jb={key:0,class:"moonbase:discount"},Yb={key:1},Xb=pe({__name:"ProductCartItem",props:{lineItem:{},currency:{}},setup(e){return(t,n)=>{var r,o,s;return y(),T("div",Bb,[(r=t.lineItem.product)!=null&&r.iconUrl?(y(),T("img",{key:0,src:t.lineItem.product.iconUrl,alt:""},null,8,Hb)):(y(),T("div",Zb)),C("div",qb,[C("h3",null,G((o=t.lineItem.product)==null?void 0:o.name),1),C("p",null,G((s=t.lineItem.product)==null?void 0:s.tagline),1),t.lineItem.appliedDiscount?(y(),T("p",Wb,[n[0]||(n[0]=Ce(" Discount applied: ")),C("span",zb,G(t.lineItem.appliedDiscount.name),1),t.lineItem.appliedDiscount.total?(y(),T("span",Kb," (-"+G(_(Dt)(t.lineItem.appliedDiscount.total[t.currency],t.currency))+") ",1)):de("",!0)])):de("",!0),C("p",null,G(t.lineItem.quantity)+" in cart",1)]),t.lineItem.variation?(y(),T("div",Gb,[t.lineItem.variation.hasDiscount?(y(),T("span",Jb,G(_(Dt)(t.lineItem.variation.originalPrice[t.currency],t.currency)),1)):de("",!0),t.lineItem.quantity!==1?(y(),T("span",Yb,G(t.lineItem.quantity)+" x "+G(_(Dt)(t.lineItem.variation.price[t.currency],t.currency)),1)):de("",!0),Ce(" "+G(_(Dt)(t.lineItem.variation.price[t.currency]*t.lineItem.quantity,t.currency)),1)])):de("",!0)])}}}),Qb={class:"moonbase:bundle-cart-item"},e_=["src"],t_={key:1,class:"moonbase:image-placeholder"},n_={class:"moonbase:bundle-cart-item-content"},r_={key:0,class:"moonbase:cart-item-discount"},o_={class:"font-semibold"},s_={key:0,class:"ml-0.5"},i_={class:"moonbase:bundle-cart-item-summary"},a_=["data-open"],l_={key:2,class:"moonbase:product-cart-item-total"},u_={key:0,class:"moonbase:discount"},c_={key:1},d_=["src"],f_={key:1,class:"moonbase:image-placeholder"},p_=["data-included"],h_={key:0,fill:"none",viewBox:"0 0 24 24","stroke-width":"1.5",stroke:"currentColor"},m_={key:0,class:"truncate italic"},v_={key:1,class:"truncate"},g_=pe({__name:"BundleCartItem",props:{lineItem:{},currency:{}},setup(e){const t=j(!1),n=j(null);return Ge(t,r=>{n.value&&(n.value.style.height=r?`${n.value.scrollHeight}px`:"0px")}),(r,o)=>{var s,i,a,l,u,c,d;return y(),T("div",null,[C("div",Qb,[(s=r.lineItem.bundle)!=null&&s.iconUrl?(y(),T("img",{key:0,src:r.lineItem.bundle.iconUrl,alt:""},null,8,e_)):(y(),T("div",t_)),C("div",n_,[C("h3",null,G((i=r.lineItem.bundle)==null?void 0:i.name),1),C("p",null,G((a=r.lineItem.bundle)==null?void 0:a.tagline),1),r.lineItem.appliedDiscount?(y(),T("p",r_,[o[1]||(o[1]=Ce(" Discount applied: ")),C("span",o_,G(r.lineItem.appliedDiscount.name),1),r.lineItem.appliedDiscount.total?(y(),T("span",s_," (-"+G(_(Dt)(r.lineItem.appliedDiscount.total[r.currency],r.currency))+") ",1)):de("",!0)])):de("",!0),C("div",i_,[C("span",null,G(r.lineItem.quantity)+" in cart",1),r.lineItem.bundle?(y(),T("button",{key:0,onClick:o[0]||(o[0]=f=>t.value=!t.value)},[C("span",null,[Ce(" Including "+G((l=r.lineItem.bundle)==null?void 0:l.products.filter(f=>f.included).length)+" ",1),(u=r.lineItem.bundle)!=null&&u.products.some(f=>!f.included)?(y(),T(ke,{key:0},[Ce("of "+G((c=r.lineItem.bundle)==null?void 0:c.products.length),1)],64)):de("",!0),o[2]||(o[2]=Ce(" products "))]),(y(),T("svg",{"data-open":t.value||void 0,fill:"none",viewBox:"0 0 24 24","stroke-width":"1.5",stroke:"currentColor"},o[3]||(o[3]=[C("path",{"stroke-linecap":"round","stroke-linejoin":"round",d:"m19.5 8.25-7.5 7.5-7.5-7.5"},null,-1)]),8,a_))])):de("",!0)])]),r.lineItem.variation?(y(),T("div",l_,[r.lineItem.variation.hasDiscount?(y(),T("span",u_,G(_(Dt)(r.lineItem.variation.originalPrice[r.currency],r.currency)),1)):de("",!0),r.lineItem.quantity!==1?(y(),T("span",c_,G(r.lineItem.quantity)+" x "+G(_(Dt)(r.lineItem.variation.price[r.currency],r.currency)),1)):de("",!0),Ce(" "+G(_(Dt)(r.lineItem.variation.price[r.currency]*r.lineItem.quantity,r.currency)),1)])):de("",!0)]),C("div",{ref_key:"productListRef",ref:n,class:"moonbase:bundle-cart-item-product-list",style:{height:"0px"}},[(y(!0),T(ke,null,an(((d=r.lineItem.bundle)==null?void 0:d.products)||[],f=>(y(),T("div",{key:f.id},[f!=null&&f.iconUrl?(y(),T("img",{key:0,src:f.iconUrl,alt:""},null,8,d_)):(y(),T("div",f_)),C("div",null,[C("h3",{"data-included":f.included||void 0},[f.included?(y(),T("svg",h_,o[4]||(o[4]=[C("path",{"stroke-linecap":"round","stroke-linejoin":"round",d:"m4.5 12.75 6 6 9-13.5"},null,-1)]))):de("",!0),Ce(" "+G(f==null?void 0:f.name),1)],8,p_),f.included?f!=null&&f.tagline?(y(),T("p",v_,G(f.tagline),1)):de("",!0):(y(),T("p",m_," You already own this "))])]))),128))],512)])}}}),y_={class:"moonbase:cart-modal-container"},b_=pe({__name:"CartModal",props:{open:{type:Boolean}},emits:["close"],setup(e){return(t,n)=>(y(),xe(_(dl),{as:"template",show:t.open},{default:_e(()=>[q(_(sf),{as:"div",class:"moonbase:cart-modal",onClose:n[0]||(n[0]=r=>t.$emit("close"))},{default:_e(()=>[C("div",y_,[q(_(Qo),{as:"template"},{default:_e(()=>[q(_(af),{class:"moonbase:cart-modal-overlay"})]),_:1}),q(_(Qo),{as:"template"},{default:_e(()=>[q(_(lf),{class:"moonbase:cart-modal-content"},{default:_e(()=>[ma(t.$slots,"default")]),_:3})]),_:3})])]),_:3})]),_:3},8,["show"]))}}),__=["disabled","data-success","data-error","data-working","data-variant"],w_=["data-visible"],Ef=pe({__name:"MoonButton",props:{handler:{type:Function},label:{},success:{},error:{},variant:{},noReset:{type:Boolean}},setup(e){const t=e,n=j(!1),r=j(!1),o=j(!1),s=J(()=>r.value?t.success??t.label:o.value?t.error:t.label);async function i(){try{const a=t.handler();if(a instanceof Promise){if(n.value=!0,await a,n.value=!1,!t.success)return;r.value=!0,await Kt(2500),t.noReset||(r.value=!1)}}catch{n.value=!1,o.value=!0,await Kt(2500),o.value=!1}}return(a,l)=>(y(),T("button",{class:"moonbase:button",type:"button",disabled:r.value||o.value||n.value,"data-success":r.value&&a.success||void 0,"data-error":o.value||void 0,"data-working":n.value||void 0,"data-variant":a.variant,onClick:i},[C("div",{"data-visible":n.value||void 0,"aria-hidden":"true"},[n.value?(y(),xe(Mt,{key:0})):de("",!0)],8,w_),Ce(" "+G(s.value),1)],8,__))}}),E_={class:"moonbase:cart"},O_={key:0,role:"list",class:"moonbase:cart-items"},N_={key:1,class:"moonbase:cart-empty"},x_={key:2,class:"moonbase:cart-total"},S_=pe({__name:"Cart",props:{open:{type:Boolean}},setup(e){const t=je(),{items:n,total:r,currency:o,checkout:s}=ni(),i=Se(Gr);async function a(){if(!await s({redirect:(i==null?void 0:i.checkout.redirect)??!1,returnUrl:`${window.location.pathname}?mb_intent=view_products`}))throw new Error("Cancelled checkout")}return(l,u)=>(y(),xe(b_,{open:l.open,onClose:u[0]||(u[0]=c=>_(t).reset())},{default:_e(()=>[C("div",E_,[q(_(mi),{as:"h3"},{default:_e(()=>u[1]||(u[1]=[Ce(" Cart ")])),_:1}),_(n).length>0?(y(),T("ul",O_,[(y(!0),T(ke,null,an(_(n),c=>(y(),T("li",{key:c.id},[c.type==="Product"?(y(),xe(Xb,{key:0,"line-item":c,currency:_(o)},null,8,["line-item","currency"])):c.type==="Bundle"?(y(),xe(g_,{key:1,"line-item":c,currency:_(o)},null,8,["line-item","currency"])):de("",!0)]))),128))])):(y(),T("div",N_," Your cart is empty! ")),_(n).length>0?(y(),T("div",x_,[u[2]||(u[2]=C("label",null," Total ",-1)),C("span",null,G(_(Dt)(_(r).amount,_(r).currency)),1),u[3]||(u[3]=C("p",null," Sales tax to be calculated at checkout ",-1))])):de("",!0),_(n).length>0?(y(),xe(Ef,{key:3,handler:a,label:"Checkout",error:"Cancelled"})):de("",!0)])]),_:1},8,["open"]))}}),k_={class:"moonbase:account"},C_={key:0,class:"moonbase:error"},T_={key:1,class:"moonbase:notification"},P_={key:0,class:"moonbase:error"},$_=pe({__name:"Account",setup(e){var D,V,W;const t=je(),{user:n,update:r,setPassword:o,signOut:s}=wt(),i=j(((D=n.value)==null?void 0:D.name)??""),a=j(((V=n.value)==null?void 0:V.email)??""),l=j(((W=n.value)==null?void 0:W.communicationPreferences)??{newsletterOptIn:!1}),u=j(null),c=j(!1),d=j(""),f=j(""),h=j(null),b=j(!1);async function E(){u.value=null,c.value=!1;try{(await r(i.value,a.value,void 0,l.value)).needsEmailConfirmationToken&&(c.value=!0)}catch(N){throw u.value=N,N}}async function w(){h.value=null;try{await o(d.value,f.value),d.value="",f.value=""}catch(N){throw h.value=N,N}}async function $(){b.value=!0,await s(),t.reset()}return(N,S)=>(y(),T("div",k_,[q(Jn,{handler:E},{default:_e(()=>[q(Et,{modelValue:i.value,"onUpdate:modelValue":S[0]||(S[0]=R=>i.value=R),label:"Full name",name:"name",autocomplete:"name",required:""},null,8,["modelValue"]),q(Et,{modelValue:a.value,"onUpdate:modelValue":S[1]||(S[1]=R=>a.value=R),label:"Email address",name:"email",type:"email",autocomplete:"email",required:""},null,8,["modelValue"]),q(Md,{modelValue:l.value.newsletterOptIn,"onUpdate:modelValue":S[2]||(S[2]=R=>l.value.newsletterOptIn=R),label:"Newsletter subscription",name:"newsletter-opt-in",hint:"Receive updates and offers by email"},null,8,["modelValue"]),q(Yn,{label:"Save",error:"Error",success:"Saved"}),u.value?(y(),T("p",C_,G(u.value.message),1)):c.value?(y(),T("p",T_," You need to confirm your new email address, please check your inbox ")):de("",!0)]),_:1}),q(Jn,{handler:w},{default:_e(()=>[q(Et,{modelValue:d.value,"onUpdate:modelValue":S[3]||(S[3]=R=>d.value=R),label:"Current password",name:"old-password",type:"password",autocomplete:"current-password",required:""},null,8,["modelValue"]),q(Et,{modelValue:f.value,"onUpdate:modelValue":S[4]||(S[4]=R=>f.value=R),label:"New password",name:"new-password",type:"password",autocomplete:"new-password",required:""},null,8,["modelValue"]),q(Yn,{label:"Save",error:"Error",success:"Saved"}),h.value?(y(),T("p",P_,G(h.value.message),1)):de("",!0)]),_:1}),q(Ef,{label:"Log out",success:"Logged out",error:"Error",variant:"secondary",handler:$})]))}}),D_={},I_={xmlns:"http://www.w3.org/2000/svg",viewBox:"0 0 512 512"};function A_(e,t){return y(),T("svg",I_,t[0]||(t[0]=[C("path",{d:"M320 336h76c55 0 100-21.21 100-75.6s-53-73.47-96-75.6C391.11 99.74 329 48 256 48c-69 0-113.44 45.79-128 91.2-60 5.7-112 35.88-112 98.4S70 336 136 336h56M192 400.1l64 63.9 64-63.9M256 224v224.03",fill:"none",stroke:"currentColor","stroke-linecap":"round","stroke-linejoin":"round","stroke-width":"32"},null,-1)]))}const Of=Jr(D_,[["render",A_]]),V_={},R_={xmlns:"http://www.w3.org/2000/svg",viewBox:"0 0 512 512"};function j_(e,t){return y(),T("svg",R_,t[0]||(t[0]=[C("path",{d:"M480 265H232v179l248 36V265zM216 265H32v150l184 26.7V265zM480 32L232 67.4V249h248V32zM216 69.7L32 96v153h184V69.7z",fill:"currentColor"},null,-1)]))}const Nf=Jr(V_,[["render",j_]]),M_={},L_={xmlns:"http://www.w3.org/2000/svg",viewBox:"0 0 512 512"};function U_(e,t){return y(),T("svg",L_,t[0]||(t[0]=[C("path",{d:"M443.66 405.05c-1.46-.79-2.85-1.54-4-2.2-6.47-3.83-13-10.52-11.85-17.83 2.42-15.94 2.89-23.47-.49-28.79a15.61 15.61 0 0 0-7.67-6.2v-.06c1.41-2.56 2.26-5.66 2.83-10.12 1.44-11-5-44-13.7-70.7-8.08-24.68-29.24-50-44.7-68.56l-3.61-4.34c-23.88-28.93-24.34-38.19-26.55-82.67-.32-6.47-.69-13.8-1.17-22C329.87 41.43 304 16 256 16c-25.2 0-44.62 7.15-57.72 21.26C187.79 48.55 182 64 182 80.78c0 29.52 2 53 2.15 54.29 1.4 35.7 1 41.22-8.31 57.55-2.23 3.93-8.38 10.87-14.89 18.21-8.48 9.57-18.09 20.41-23.36 29.22-3.77 6.31-5.88 12.63-8.11 19.33-3.4 10.21-7.26 21.78-18.15 36.57-12.57 17.07-15.52 29.61-11 47.45-4.94 6.45-4.83 14.37-4.75 20.23a25.84 25.84 0 0 1-.3 6.09c-2.29 7.59-12.42 9.4-22 10.18-1.58.12-3.1.21-4.55.29-7.26.39-13.53.74-17.13 6.3-3.47 5.36-1.12 13.8 2.14 25.48.72 2.58 1.46 5.25 2.19 8.06 1.83 7-.16 10.48-2.68 14.84-2.44 4.21-5.21 9-5.21 17.55 0 14.67 20 18 43.05 21.94 7.36 1.24 15 2.53 22.63 4.24a225.58 225.58 0 0 1 34.08 10.68c9.72 3.73 17.4 6.68 26.43 6.68 16.18 0 28.25-9.77 39.92-19.21l2.15-1.75c5.53-4.49 21.5-4 34.34-3.64 3.46.1 6.73.2 9.65.2h6.22c13.48-.08 31.94-.18 42.23 2.5 3.75 1 6.2 3.72 9.29 7.19 5.87 6.56 13.17 14.75 33.39 14.75 19.39 0 29.55-8.71 41.32-18.8 7.16-6.13 14.56-12.48 25.07-17.86 3.92-2 7.62-3.87 11.08-5.61 22.64-11.38 35.11-17.65 35.11-27.82 0-9.91-12.24-16.5-20.34-20.86zM211.11 88.38a13.91 13.91 0 0 1 12.47 9c1.95 5.55 1.81 10.42.21 12.94 0 0-.22-1-.36-1.44a14.85 14.85 0 0 0-6.44-8.59 11.35 11.35 0 0 0-8.94-1.47c-4.26 1.13-8.41 5-8.91 18.79-5.16-10.47-2.31-18 .92-23 2.31-3.73 7.47-6.33 11.05-6.23zm-17.5 375C192 479.24 175.2 479 170.09 478.59c-9.81-.82-21.66-4.69-33.13-8.43-4.52-1.47-9.19-3-13.73-4.34-13.2-3.89-30.12-6.74-43.72-9-3.22-.55-6.27-1.06-9.05-1.55s-4.61-1.27-5.2-2.3c-1-1.65.38-5.25 1.93-9.41C69.27 438 72.11 430.34 72 421c0-3.91-1.47-8.3-2.84-12.56-1.62-5-3.28-10.17-1.93-12.62 1.23-2.23 6.75-2.49 11.6-2.49h2.26c3.55 0 6.62.06 8.75-.53 6.51-1.81 14.86-6.92 17.81-13.88.9-2.17 1.37-6.94 2-14 .37-4.12.74-8.37 1.22-10.58a3.55 3.55 0 0 1 2.11-2.55c1.65-.77 6.78-1.91 18.63 4.08 11.18 5.65 22.88 25.84 34.2 45.37 3.56 6.14 6.92 11.94 10.3 17.36 14.04 22.54 18.83 31.6 17.5 44.8zm128.84-31.56a68.74 68.74 0 0 1-4.55 10.9.58.58 0 0 1-1.08-.42 56.61 56.61 0 0 0 2.11-18.43c-.25-4.73-.4-7.59-2.66-8.51s-4.26.83-9.45 5.54c-1.1 1-2.36 2.14-3.78 3.4-10.8 9.47-26.88 20.68-55.61 23.37-16.84 1.59-27.59-4.63-30.92-8.14a2.16 2.16 0 0 0-3.07-.08 2.23 2.23 0 0 0-.51 2.29c2.12 6.84 1.2 12.26-.49 16.19-.95 2.2-1.85 2.05-2-.34-.25-4.64-1-9.88-3-14.19-3.11-6.94-7-14.34-8.89-17.88v-.05c3.24-1.49 8.86-4.83 11.37-10.88s4.48-18-9.82-31.74c-6.28-6.05-22.1-17.16-36.06-27-10.9-7.65-22.17-15.56-23.65-17.51-4.49-5.89-6.37-9.3-6.94-19.65.07-2.3.13-4.59.19-6.89l.27-2.49a.58.58 0 0 1 1.15 0 63.07 63.07 0 0 0 2 9.72c1.08 3.73 2.4 7.58 3.62 9.18 3.19 4.22 7.56 7.39 11.67 8.49a5.48 5.48 0 0 0 5-.72c2.93-2.33 2.65-7.6 2.19-16.34-.47-9-1.11-21.34 1.85-34.55 5.62-25 10.91-32.51 17.61-42 .86-1.22 1.75-2.47 2.65-3.79 1.44-2.08 3-4.1 4.67-6.23 7.47-9.61 15.93-20.49 13.92-40.95-.51-5.19-.76-8.83-.86-11.39a1 1 0 0 1 1.88-.59l.49.77 1.21 2c4.86 8 13.64 22.57 25.1 22.57a13.62 13.62 0 0 0 2.36-.21c23.39-3.93 51.9-30.25 52.17-30.51 3.12-3 2.84-6.14 1.64-7.91a5.18 5.18 0 0 0-6.45-1.72c-3.29 1.4-7.14 3.15-11.22 5-13.82 6.27-37 16.75-42.25 14.34a23.11 23.11 0 0 1-6.32-5.13 1 1 0 0 1 1.14-1.65c5.59 2.29 9.55 1.45 14.2-.08l1-.34c9.37-3.09 14.2-4.77 30.76-12.08a97.55 97.55 0 0 1 16.26-5.93c4-1 6.42-1.63 7.71-4.34a6.65 6.65 0 0 0-.5-7.13c-1.53-1.87-4.07-2.57-7-1.9-3.22.75-4.7 3-6.41 4.49-2.4 2.05-5 4.16-17.19 8.65-27 10-34.58 10.61-45.21 3.43-9.84-6.69-15.15-13.23-15.15-16 0-2.13 5.45-5.7 8.71-7.84 1.33-.87 2.59-1.69 3.62-2.46 4.34-3.22 13-11.39 13.38-11.73 5.4-5.41 17.91-2.18 25 2.58a2.23 2.23 0 0 0 1.72.41 2.14 2.14 0 0 0 1.68-2.58c-4.2-17.46-.13-27.34 4-32.55a22.58 22.58 0 0 1 17.48-8.48c12.81 0 21.76 10 21.76 24.42 0 11-2.82 16.79-5.48 20.3a1.73 1.73 0 0 1-2.58.18 1.78 1.78 0 0 1-.24-2.2A24.61 24.61 0 0 0 290 114a16.58 16.58 0 0 0-16.84-16.67c-3.94 0-13.48 1.5-16.77 15.44a29.81 29.81 0 0 0-.34 11.07l.08.71c.9 7.38 15.3 12.51 27.23 15.51 11.36 2.85 13 6.22 8.84 19.63s3.11 26.23 5.7 29.57a78.3 78.3 0 0 1 8.31 12.47 93.8 93.8 0 0 1 6.62 16.48c2.17 6.79 4.05 12.65 10.63 21.22 11.07 14.4 17.66 48.64 15 78-.21 2.41-.53 4.29-.77 5.67-.43 2.53-.72 4.2.66 5.38s3.16.7 7.26-.63l3.43-1.09a109.33 109.33 0 0 1 12.58-2.8 2.15 2.15 0 0 0 1.59-1.16c3.43-6.91 3.85-15.22 4-22.47q0-1.31.06-2.79c.19-7.77.45-18.93-2.95-32a1 1 0 0 1 1.93-.64 93 93 0 0 1 6.66 25.55c2.55 22.58-1.9 32.09-1.94 32.17a1.61 1.61 0 0 0 .95 2.25 17.12 17.12 0 0 1 6.95 4.67c1.46 1.66.93 2.4-1.14 1.62a36.26 36.26 0 0 0-12.77-2.29c-10.4 0-18.09 4.95-21.51 9.19-3.19 3.94-3.7 7.67-3.83 11.27l-.06.05c-7.48-.75-12.94 1.21-17.47 6.21l-.08.09c-6.26 7.75-4 24.63-1.29 38.48 1.28 6.45 5.59 25.52 1.73 37.68zm96.1 10.07c-15.71 6.71-25.43 14.51-34 21.39-5.65 4.53-11 8.81-17.28 12.14-10.12 5.34-24.91 6.53-33.27-7.7-2.37-4-.71-9.86 1.58-17.95 3.05-10.75 7.23-25.46 3.71-44.65-.94-5.12-1.77-9.51-2.49-13.31C334 377 332.9 371.43 334 367c.63-2.45 3.43-3 5.87-3a20.83 20.83 0 0 1 2.63.19 29.51 29.51 0 0 0 7 12.1c5.7 5.86 13.63 8.83 23.56 8.85 2.1.17 25.94 1.55 36.54-22.4 1.46.18 3.65.7 4.3 2.3 1.28 3.19-.27 8.91-1.52 13.5-.9 3.31-1.68 6.16-1.63 8.37.31 16 11 22.78 25.83 32.16 1.79 1.13 3.66 2.31 5.55 3.54S445 425 445 426c-.52 4.79-20 13.16-26.45 15.91z",fill:"currentColor"},null,-1)]))}const xf=Jr(M_,[["render",U_]]),F_={},B_={xmlns:"http://www.w3.org/2000/svg",viewBox:"0 0 512 512"};function H_(e,t){return y(),T("svg",B_,t[0]||(t[0]=[C("path",{d:"M349.13 136.86c-40.32 0-57.36 19.24-85.44 19.24-28.79 0-50.75-19.1-85.69-19.1-34.2 0-70.67 20.88-93.83 56.45-32.52 50.16-27 144.63 25.67 225.11 18.84 28.81 44 61.12 77 61.47h.6c28.68 0 37.2-18.78 76.67-19h.6c38.88 0 46.68 18.89 75.24 18.89h.6c33-.35 59.51-36.15 78.35-64.85 13.56-20.64 18.6-31 29-54.35-76.19-28.92-88.43-136.93-13.08-178.34-23-28.8-55.32-45.48-85.79-45.48z",fill:"currentColor"},null,-1),C("path",{d:"M340.25 32c-24 1.63-52 16.91-68.4 36.86-14.88 18.08-27.12 44.9-22.32 70.91h1.92c25.56 0 51.72-15.39 67-35.11 14.72-18.77 25.88-45.37 21.8-72.66z",fill:"currentColor"},null,-1)]))}const Sf=Jr(F_,[["render",H_]]),Z_={class:"moonbase:product-downloads"},q_=["data-last","onClick"],W_={class:"moonbase:sr-only"},z_={class:"moonbase:sr-only"},K_=["onClick"],G_=pe({__name:"ProductDownloads",props:{downloads:{}},setup(e){const t=e,n={[Qt.Universal]:()=>Of,[Qt.Windows]:()=>Nf,[Qt.Linux]:()=>xf,[Qt.Mac]:()=>Sf},{downloadProduct:r}=ti(),o=J(()=>t.downloads.reduce((s,i)=>({...s,[i.platform]:(s[i.platform]||[]).concat({...i,icon:n[i.platform]})}),{}));return(s,i)=>(y(),T("span",Z_,[(y(!0),T(ke,null,an(o.value,(a,l,u)=>(y(),T(ke,{key:l},[a.length===1?(y(),T("button",{key:0,type:"button",role:"button","data-last":u===Object.keys(o.value).length-1||void 0,onClick:c=>_(r)(a[0])},[C("span",W_,G(l.toString()),1),(y(),xe(ha(a[0].icon()),{class:"h-5 w-5 text-white","aria-hidden":"true"}))],8,q_)):(y(),xe(_(mf),{key:1,as:"div","data-last":u===Object.keys(o.value).length-1||void 0,class:"moonbase:product-downloads-group"},{default:_e(()=>[q(_(vf),null,{default:_e(()=>[C("span",z_,G(l.toString()),1),(y(),xe(ha(a[0].icon()),{"aria-hidden":"true"})),i[0]||(i[0]=C("svg",{fill:"none",viewBox:"0 0 24 24","stroke-width":"1.5",stroke:"currentColor","aria-hidden":"true"},[C("path",{"stroke-linecap":"round","stroke-linejoin":"round",d:"m19.5 8.25-7.5 7.5-7.5-7.5"})],-1))]),_:2},1024),q(Ma,{name:"moonbase:scale"},{default:_e(()=>[q(_(gf),{class:"moonbase:product-downloads-list"},{default:_e(()=>[(y(!0),T(ke,null,an(a,c=>(y(),T("button",{key:c.key,type:"button",role:"button",onClick:d=>_(r)(c)},[C("span",null,G(c.name),1)],8,K_))),128))]),_:2},1024)]),_:2},1024)]),_:2},1032,["data-last"]))],64))),128))]))}}),J_={class:"moonbase:product-activations"},Y_={key:0,scope:"col"},X_={key:0},Q_={colspan:"3"},e1={key:1},t1={key:0},n1=["onClick"],r1=pe({__name:"ProductActivations",props:{productId:{}},emits:["revoked"],setup(e,{emit:t}){const n=e,r=t,{getProductActivations:o,revokeActivation:s}=ti(),i=j(null);Re(async()=>{let u=await o(n.productId);for(i.value=u.items.map(c=>({...c,revoking:!1}));u.hasMore&&u.next;)u=await o(n.productId,u.next),i.value.push(...u.items.map(c=>({...c,revoking:!1})))});const a=J(()=>i.value&&i.value.some(u=>u.activationMethod===Ai.Online));async function l(u){u.revoking=!0,await s(u),r("revoked",u),i.value&&i.value.splice(i.value.indexOf(u),1)}return(u,c)=>(y(),T("table",J_,[C("thead",null,[C("tr",null,[c[1]||(c[1]=C("th",{scope:"col"}," Device ",-1)),c[2]||(c[2]=C("th",{scope:"col"}," Activation Method ",-1)),c[3]||(c[3]=C("th",{scope:"col"}," Last Online ",-1)),a.value?(y(),T("th",Y_,c[0]||(c[0]=[C("span",{class:"sr-only"},"Actions",-1)]))):de("",!0)])]),C("tbody",null,[i.value?i.value.length===0?(y(),T("tr",e1,c[6]||(c[6]=[C("td",{colspan:"3"}," No activations found ",-1)]))):de("",!0):(y(),T("tr",X_,[C("td",Q_,[q(Mt),c[4]||(c[4]=Ce(" Loading activations.. "))]),c[5]||(c[5]=C("td",null,null,-1))])),(y(!0),T(ke,null,an(i.value,d=>{var f;return y(),T("tr",{key:d.id},[C("td",null,G(d.name),1),C("td",null,G(d.activationMethod),1),C("td",null,G((f=d.lastValidatedAt)==null?void 0:f.toLocaleDateString()),1),a.value?(y(),T("td",t1,[C("button",{class:"text-red-400 flex whitespace-nowrap items-center",onClick:h=>l(d)},[d.revoking?(y(),xe(Mt,{key:0})):de("",!0),c[7]||(c[7]=Ce(" Revoke "))],8,n1)])):de("",!0)])}),128))])]))}}),o1={class:"moonbase:products"},s1={key:0,scope:"col"},i1={key:1,scope:"col"},a1={key:0},l1={key:1},u1=["src"],c1={key:1,class:"moonbase:image-placeholder"},d1={key:1},f1={key:2},p1={key:0},h1=pe({__name:"Products",setup(e){const{getProducts:t}=ti(),n=j(null);Re(async()=>{let s=await t();for(n.value=s.items;s.hasMore&&s.next;)s=await t(s.next),n.value.push(...s.items)});const r=J(()=>n.value&&n.value.some(s=>s.downloads)),o=J(()=>n.value&&n.value.some(s=>s.maxActivations&&s.maxActivations>0));return(s,i)=>(y(),T("table",o1,[C("thead",null,[C("tr",null,[i[0]||(i[0]=C("th",{scope:"col"}," Product ",-1)),o.value?(y(),T("th",s1," Activations ")):de("",!0),r.value?(y(),T("th",i1," Downloads ")):de("",!0)])]),C("tbody",null,[n.value?n.value.length===0?(y(),T("tr",l1,i[3]||(i[3]=[C("td",{colspan:"3"}," No products found ",-1)]))):de("",!0):(y(),T("tr",a1,[C("td",null,[q(Mt),i[1]||(i[1]=Ce(" Loading products.. "))]),i[2]||(i[2]=C("td",null,null,-1))])),(y(!0),T(ke,null,an(n.value||[],a=>(y(),T("tr",{key:a.id},[C("td",null,[C("div",null,[a.iconUrl?(y(),T("img",{key:0,src:a.iconUrl,alt:""},null,8,u1)):(y(),T("div",c1)),C("span",null,G(a.name),1)])]),a.maxActivations&&a.maxActivations>0?(y(),xe(_(mf),{key:0,as:"td"},{default:_e(()=>[q(_(vf),{class:"moonbase:button","data-variant":"secondary"},{default:_e(()=>[i[4]||(i[4]=C("span",{class:"moonbase:sr-only"},"View activations",-1)),Ce(" "+G(a.currentActivations)+" / "+G(a.maxActivations),1)]),_:2},1024),q(Ma,{name:"moonbase:scale"},{default:_e(()=>[q(_(gf),null,{default:_e(()=>[q(r1,{"product-id":a.id},null,8,["product-id"])]),_:2},1024)]),_:2},1024)]),_:2},1024)):o.value?(y(),T("td",d1)):de("",!0),r.value?(y(),T("td",f1,[a.currentVersion!=null?(y(),T("div",p1,[a.downloads?(y(),xe(G_,{key:0,downloads:a.downloads},null,8,["downloads"])):de("",!0)])):de("",!0)])):de("",!0)]))),128))])]))}}),m1={class:"moonbase:redeem"},v1=["data-visible"],g1={key:1,class:"moonbase:redeem-voucher"},y1={key:0},b1={key:1},_1={class:"moonbase:redeem-voucher-products"},w1=["src"],E1={key:1,class:"moonbase:image-placeholder"},O1={key:0},N1={class:"moonbase:redeem-voucher-bundle"},x1=["src"],S1={key:1,class:"moonbase:image-placeholder"},k1={key:0},C1={class:"moonbase:redeem-voucher-bundle-products"},T1={class:"shrink-0"},P1=["src"],$1={key:1,class:"moonbase:image-placeholder"},D1=pe({__name:"Redeem",setup(e){const{redeem:t}=Rg(),n=j(!1),r=j(null),o=j(null),s=j("");async function i(){n.value=!0,o.value=null;try{r.value=await t(s.value)}catch(a){throw o.value=a,a}n.value=!1}return(a,l)=>(y(),T("div",m1,[q(Ma,{mode:"out-in",name:"moonbase:slide-left"},{default:_e(()=>[r.value?(y(),T("div",g1,[C("h3",null,[l[1]||(l[1]=Ce(" You got: ")),C("strong",null,G(r.value.name),1)]),r.value.description?(y(),T("h4",y1,G(r.value.description),1)):de("",!0),C("h4",null,[l[2]||(l[2]=Ce(" Code: ")),C("strong",null,G(r.value.code),1)]),r.value.redeemsProducts.length>0?(y(),T("div",b1,[l[3]||(l[3]=C("span",null," Contains: ",-1)),C("div",_1,[(y(!0),T(ke,null,an(r.value.redeemsProducts,({value:u,quantity:c})=>(y(),T("div",{key:u.id,class:"moonbase:redeem-voucher-product"},[C("div",null,[u.iconUrl?(y(),T("img",{key:0,src:u.iconUrl,alt:""},null,8,w1)):(y(),T("div",E1))]),C("div",null,[C("p",null,[Ce(G(u.name)+" ",1),c!==1?(y(),T("span",O1,"x "+G(c),1)):de("",!0)]),C("p",null,G(u.tagline),1)])]))),128)),(y(!0),T(ke,null,an(r.value.redeemsBundles,({value:u,quantity:c})=>(y(),T("div",{key:u.id},[C("div",N1,[C("div",null,[u.iconUrl?(y(),T("img",{key:0,src:u.iconUrl,alt:""},null,8,x1)):(y(),T("div",S1))]),C("div",null,[C("p",null,[Ce(G(u.name)+" ",1),c!==1?(y(),T("span",k1,"x "+G(c),1)):de("",!0)]),C("p",null,G(u.tagline),1)])]),C("div",C1,[(y(!0),T(ke,null,an(u.products,d=>(y(),T("div",{key:d.id,class:"moonbase:redeem-voucher-product"},[C("div",T1,[d.iconUrl?(y(),T("img",{key:0,src:d.iconUrl,alt:""},null,8,P1)):(y(),T("div",$1))]),C("div",null,[C("p",null,G(d.name),1),C("p",null,G(d.tagline),1)])]))),128))])]))),128))])])):de("",!0)])):(y(),xe(Jn,{key:0,handler:i},{default:_e(()=>{var u;return[q(Et,{modelValue:s.value,"onUpdate:modelValue":l[0]||(l[0]=c=>s.value=c),label:"Voucher code",name:"code",required:""},null,8,["modelValue"]),q(Yn,{label:"Redeem",success:"Redeem",error:"Error"}),C("span",{class:"moonbase:error","data-visible":!!o.value||void 0},G((u=o.value)==null?void 0:u.message),9,v1)]}),_:1}))]),_:1})]))}}),I1={class:"moonbase:customer"},A1=pe({__name:"Customer",props:{open:{type:Boolean}},setup(e){const t=je();function n(s){switch(s){case le.ViewAccount:return 0;case le.ViewProducts:return 1;case le.RedeemVoucher:return 2}return 0}const r=j(n(t.intent));Ge(()=>t.intent,s=>{r.value=n(s)});function o(s){r.value=s}return(s,i)=>(y(),xe(bi,{open:s.open,onClose:i[0]||(i[0]=a=>_(t).reset())},{default:_e(()=>[C("div",I1,[q(_(kb),{"selected-index":r.value,onChange:o},{default:_e(()=>[q(_(Cb),null,{default:_e(()=>[q(_(sl),null,{default:_e(()=>i[1]||(i[1]=[Ce("Account")])),_:1}),q(_(sl),null,{default:_e(()=>i[2]||(i[2]=[Ce(" Products ")])),_:1}),q(_(sl),null,{default:_e(()=>i[3]||(i[3]=[Ce("Redeem")])),_:1})]),_:1}),q(_(Tb),null,{default:_e(()=>[q(_(il),null,{default:_e(()=>[q($_)]),_:1}),q(_(il),null,{default:_e(()=>[q(h1)]),_:1}),q(_(il),null,{default:_e(()=>[q(D1)]),_:1})]),_:1})]),_:1},8,["selected-index"])])]),_:1},8,["open"]))}}),V1={class:"moonbase:auto-activate"},R1={key:0,class:"moonbase:loader"},j1={key:1,class:"moonbase:loader"},M1={key:2,class:"moonbase:loader"},L1={key:3},U1={key:0,class:"moonbase:auto-activate-product"},F1=["src"],B1={key:1,class:"moonbase:image-placeholder"},H1={key:1,class:"moonbase:loader"},Z1={key:2,class:"moonbase:loader"},q1={key:3,class:"moonbase:loader"},W1={key:4,class:"moonbase:auto-activate-content"},z1={key:0},K1={key:1},G1={class:"moonbase:auto-activate-cta"},J1=["href"],Y1={key:2,class:"moonbase:auto-activate-trial"},X1={class:"moonbase:auto-activate-cta"},Q1=pe({__name:"AutoActivate",setup(e){const t=je(),{user:n,loaded:r}=wt(),o=t.getParameter("token"),{activationRequest:s,loading:i,fulfilling:a,completing:l,error:u,fulfillLicense:c,fulfillTrial:d,cancel:f}=Vg(o);Ge(s,E=>{var w;!a.value&&!l.value&&(E==null?void 0:E.status)===en.Requested&&((w=E==null?void 0:E.licenseEligibility)!=null&&w.eligible)&&c()});function h(){f(),t.show(Oe.Customer,le.ViewProducts)}function b(){t.enqueue(Oe.Activation,le.ActivateProduct,t.parameters??void 0),t.show(Oe.Authentication,le.SignIn)}return(E,w)=>{var $,D,V,W;return y(),T("div",V1,[_(i)||!_(r)?(y(),T("div",R1,[q(Mt)])):_(u)?(y(),T("div",j1,G(_(u)),1)):_(s)?(y(),T("div",L1,[_(s).product?(y(),T("div",U1,[_(s).product.iconUrl?(y(),T("img",{key:0,src:_(s).product.iconUrl,alt:""},null,8,F1)):(y(),T("div",B1)),C("div",null,[C("h2",null,G(_(s).product.name),1),C("h3",null,G(_(s).product.tagline),1)])])):de("",!0),(($=_(s))==null?void 0:$.status)===_(en).Cancelled?(y(),T("div",H1,w[2]||(w[2]=[C("h3",null," Uh oh ",-1),C("p",null," This activation request was cancelled, open your app to try again. ",-1)]))):_(a)||_(l)?(y(),T("div",Z1,[q(Mt),C("p",null,"Activating "+G(_(s).product.name)+"...",1)])):((D=_(s))==null?void 0:D.status)===_(en).Completed?(y(),T("div",q1,w[3]||(w[3]=[C("h3",null," Done! ",-1),C("p",null," Your product is activated. ",-1)]))):(y(),T("div",W1,[_(n)?(V=_(n).ownedProducts)!=null&&V.includes(_(s).product.id)?(y(),T("div",K1,[w[5]||(w[5]=C("p",null," You don't have enough free seats on your licenses to activate this device. Either free up a seat or purchase additional licenses. ",-1)),C("span",G1,[C("button",{role:"button",class:"moonbase:button",onClick:w[0]||(w[0]=N=>h())}," Licenses "),_(s).product&&_(s).product.website?(y(),T("a",{key:0,href:_(s).product.website,class:"moonbase:button"}," Purchase ",8,J1)):de("",!0)])])):de("",!0):(y(),T("div",z1,[w[4]||(w[4]=Ce(" Please sign in to use a license ")),C("span",{class:"moonbase:auto-activate-cta"},[C("button",{role:"button",class:"moonbase:button",onClick:b}," Sign in ")])])),(W=_(s).trialEligibility)!=null&&W.eligible?(y(),T("div",Y1,[Ce(" You are eligible for a "+G(_(s).trialEligibility.numberOfDaysPerProduct)+" day trial ",1),_(s).trialEligibility.existing?(y(),T(ke,{key:0},[Ce(" of which you have "+G(_(s).trialEligibility.numberOfDaysRemaining)+" days remaining ",1)],64)):de("",!0),w[6]||(w[6]=Ce(". ")),C("span",X1,[C("button",{role:"button",class:"moonbase:button",onClick:w[1]||(w[1]=N=>_(d)())}," Start trial ")])])):de("",!0)]))])):(y(),T("div",M1," Could not find activation request "))])}}}),ew={class:"moonbase:activation"},tw=pe({__name:"Activation",props:{open:{type:Boolean}},setup(e){const t=je();return(n,r)=>(y(),xe(bi,{open:n.open,onClose:r[0]||(r[0]=o=>_(t).reset())},{default:_e(()=>[C("div",ew,[q(_(mi),{as:"h3"},{default:_e(()=>r[1]||(r[1]=[Ce(" Activate product ")])),_:1}),n.open&&_(t).intent===_(le).ActivateProduct?(y(),xe(Q1,{key:0})):de("",!0)])]),_:1},8,["open"]))}});function nw(e){const t=["B","KB","MB","GB","TB","PB","EB","ZB","YB"];if(e<1)return`${e} B`;const n=Math.min(Math.floor(Math.log(e)/Math.log(1024)),t.length-1);e=Number(e/1024**n);const r=t[n];return e>=10||e%1===0?`${e.toFixed(0)} ${r}`:`${e.toFixed(1)} ${r}`}const rw={class:"moonbase:download-product"},ow={key:0,class:"moonbase:loader"},sw={key:1,class:"moonbase:loader"},iw={key:2,class:"moonbase:loader"},aw={key:3},lw={class:"moonbase:download-product-product"},uw=["src"],cw={key:1,class:"moonbase:image-placeholder"},dw={key:0},fw=["data-open"],pw={key:0,class:"moonbase:download-product-content"},hw={key:1,class:"moonbase:download-product-content"},mw={key:2,class:"moonbase:download-product-content"},vw=["data-open"],gw={key:1,role:"list"},yw={class:"moonbase:download-product-download-name"},bw=["onClick"],_w={class:"moonbase:download-product-download-description"},ww={key:1,fill:"none",viewBox:"0 0 24 24","stroke-width":"1.5",stroke:"currentColor"},Ew={key:2,class:"moonbase:loader"},Ow=pe({__name:"DownloadProduct",setup(e){const t=je(),{user:n,loaded:r}=wt(),{getProduct:o,downloadProduct:s}=ti(),i={[Qt.Universal]:()=>Of,[Qt.Windows]:()=>Nf,[Qt.Linux]:()=>xf,[Qt.Mac]:()=>Sf},a=j(null),l=j([]),u=j(null),c=j(!0),d=j(!1),f=J(()=>t.getParameter("key")),h=J(()=>{var w,$;return($=(w=a.value)==null?void 0:w.downloads)==null?void 0:$.filter(D=>!f.value||D.key===f.value)});Re(async()=>{const w=t.getParameter("product_id"),$=t.getParameter("version");if(!w){u.value="Link is broken";return}try{a.value=await o(w,$||void 0)}catch(D){u.value=D.message}c.value=!1});function b(){t.enqueue(Oe.Download,le.DownloadProduct,t.parameters??void 0),t.show(Oe.Authentication,le.SignIn)}async function E(w){l.value.push(w.key),await s(w),l.value=l.value.filter($=>$!==w.key)}return(w,$)=>{var D,V,W,N,S;return y(),T("div",rw,[c.value||!_(r)?(y(),T("div",ow,[q(Mt)])):u.value?(y(),T("div",sw,G(u.value),1)):a.value?(y(),T("div",aw,[C("div",lw,[a.value.iconUrl?(y(),T("img",{key:0,src:a.value.iconUrl,alt:""},null,8,uw)):(y(),T("div",cw)),C("div",null,[C("h2",null,[Ce(G(a.value.name)+" ",1),C("span",null,"v"+G(a.value.version||a.value.currentVersion),1),a.value.prerelease?(y(),T("span",dw," (pre-release)")):de("",!0)]),C("h3",null,G(a.value.tagline),1)]),a.value.releaseDescription&&(!a.value.downloadsNeedsUser||_(n))&&(!a.value.downloadsNeedsOwnership||(V=(D=_(n))==null?void 0:D.ownedProducts)!=null&&V.includes(a.value.id))?(y(),T("button",{key:2,"data-open":d.value||void 0,onClick:$[0]||($[0]=R=>d.value=!d.value)},$[1]||($[1]=[C("svg",{xmlns:"http://www.w3.org/2000/svg",fill:"none",viewBox:"0 0 24 24","stroke-width":"1.5",stroke:"currentColor"},[C("path",{"stroke-linecap":"round","stroke-linejoin":"round",d:"m5.25 4.5 7.5 7.5-7.5 7.5m6-15 7.5 7.5-7.5 7.5"})],-1),C("span",null," Details ",-1)]),8,fw)):de("",!0)]),a.value.downloadsNeedsUser&&!_(n)?(y(),T("div",pw,[$[2]||($[2]=Ce(" Please sign in to download product ")),C("span",{class:"moonbase:download-product-cta"},[C("button",{role:"button",class:"moonbase:button",onClick:b}," Sign in ")])])):a.value.downloadsNeedsOwnership&&!((N=(W=_(n))==null?void 0:W.ownedProducts)!=null&&N.includes(a.value.id))?(y(),T("div",hw," This product requires ownership to download ")):(y(),T("div",mw,[a.value.releaseDescription?(y(),T("div",{key:0,class:"moonbase:download-product-release-description","data-open":d.value||void 0},[C("div",null,[C("h3",null," v"+G(a.value.version||a.value.currentVersion)+" Release Notes ",1),C("p",null,G(a.value.releaseDescription),1)])],8,vw)):de("",!0),(S=a.value)!=null&&S.downloads&&a.value.downloads.length>0?(y(),T("ul",gw,[(y(!0),T(ke,null,an(h.value,R=>(y(),T("li",{key:R.key},[C("div",null,[C("p",yw,[C("button",{onClick:te=>E(R)},[$[3]||($[3]=C("span",{class:"moonbase:download-product-clicker"},null,-1)),Ce(" "+G(R.name),1)],8,bw)]),C("p",_w,[(y(),xe(ha(i[R.platform]()),{"aria-hidden":"true"})),Ce(" "+G(R.platform)+" ",1),$[4]||($[4]=C("span",null," |",-1)),Ce(" "+G(_(nw)(R.size)),1)])]),C("div",null,[l.value.includes(R.key)?(y(),xe(Mt,{key:0})):(y(),T("svg",ww,$[5]||($[5]=[C("path",{"stroke-linecap":"round","stroke-linejoin":"round",d:"m8.25 4.5 7.5 7.5-7.5 7.5"},null,-1)])))])]))),128))])):(y(),T("div",Ew," No downloadable files found "))]))])):(y(),T("div",iw," Could not find product "))])}}}),Nw={class:"moonbase:download"},xw=pe({__name:"Download",props:{open:{type:Boolean}},setup(e){const t=je();return(n,r)=>(y(),xe(bi,{open:n.open,onClose:r[0]||(r[0]=o=>_(t).reset())},{default:_e(()=>[C("div",Nw,[q(_(mi),{as:"h3"},{default:_e(()=>r[1]||(r[1]=[Ce(" Download product ")])),_:1}),n.open&&_(t).intent===_(le).DownloadProduct?(y(),xe(Ow,{key:0})):de("",!0)])]),_:1},8,["open"]))}});function Sw(){const e=j(null),t=[/^user\.name$/,/^user\.email$/,/^product\.[a-z\-]+\.name$/,/^product\.[a-z\-]+\.price$/,/^product\.[a-z\-]+\.original_price$/,/^bundle\.[a-z\-]+\.name$/,/^bundle\.[a-z\-]+\.price$/,/^bundle\.[a-z\-]+\.original_price$/],n=j({}),r=J(()=>n.value.user||[]),o=J(()=>n.value.product||[]),s=J(()=>n.value.bundle||[]),i=[/^user$/,/^product\.[a-z\-]+(\.has_discount)?$/,/^bundle\.[a-z\-]+(\.has_discount)?$/],a=j({}),l=J(()=>a.value.user||[]),u=J(()=>a.value.product||[]),c=J(()=>a.value.bundle||[]),d=wt(),{currency:f}=ni(),h=Ag(),b=Ig();Ge([r,l,d.user],([E,w,$])=>{if(E){for(const D of E)if(D.textContent&&!D.dataset.moonbaseOriginal&&(D.dataset.moonbaseOriginal=D.textContent),$)switch(D.dataset.moonbaseRender){case"user.name":D.textContent=$.name;break;case"user.email":D.textContent=$.email;break}else D.dataset.moonbaseOriginal?D.textContent=D.dataset.moonbaseOriginal:D.textContent="";for(const D of w)D.dataset.moonbaseOriginalHidden||(D.dataset.moonbaseOriginalHidden=D.hidden?"true":"false"),$?D.hidden=D.dataset.moonbaseIf==="!user":D.hidden=D.dataset.moonbaseIf==="user"}},{immediate:!0}),Ge([o,u,h,f],([E,w,$,D])=>{var V,W,N;if(E){for(const S of E){const R=(V=S.dataset.moonbaseRender)==null?void 0:V.split(".")[1],te=(W=S.dataset.moonbaseRender)==null?void 0:W.split(".")[2],A=$.find(k=>k.id===R);if(S.textContent&&!S.dataset.moonbaseOriginal&&(S.dataset.moonbaseOriginal=S.textContent),A&&A.defaultVariation)switch(te){case"name":S.textContent=A.name;break;case"price":S.textContent=Dt(A.defaultVariation.price[D],D);break;case"original_price":S.textContent=Dt(A.defaultVariation.originalPrice[D],D);break}else S.dataset.moonbaseOriginal?S.textContent=S.dataset.moonbaseOriginal:S.textContent=""}for(const S of w){if(!S.dataset.moonbaseIf)return;const R=S.dataset.moonbaseIf.split("."),te=R.length===2?"product":R[2],A=R[1],k=$.find(x=>x.id===A);let P=!1;switch(te){case"product":P=!!k;break;case"has_discount":P=!!((N=k==null?void 0:k.defaultVariation)!=null&&N.hasDiscount);break}R[0].startsWith("!")&&(P=!P),S.dataset.moonbaseOriginalHidden||(S.dataset.moonbaseOriginalHidden=S.hidden?"true":"false"),P?S.hidden=!1:S.hidden=!0}}},{immediate:!0}),Ge([s,c,b,f],([E,w,$,D])=>{var V,W,N;if(E){for(const S of E){const R=(V=S.dataset.moonbaseRender)==null?void 0:V.split(".")[1],te=(W=S.dataset.moonbaseRender)==null?void 0:W.split(".")[2],A=$.find(k=>k.id===R);if(S.textContent&&!S.dataset.moonbaseOriginal&&(S.dataset.moonbaseOriginal=S.textContent),A&&A.defaultVariation)switch(te){case"name":S.textContent=A.name;break;case"price":S.textContent=Dt(A.defaultVariation.price[D],D);break;case"original_price":S.textContent=Dt(A.defaultVariation.originalPrice[D],D);break}else S.dataset.moonbaseOriginal?S.textContent=S.dataset.moonbaseOriginal:S.textContent=""}for(const S of w){if(!S.dataset.moonbaseIf)return;const R=S.dataset.moonbaseIf.split("."),te=R.length===2?"bundle":R[2],A=R[1],k=$.find(x=>x.id===A);let P=!1;switch(te){case"bundle":P=!!k;break;case"has_discount":P=!!((N=k==null?void 0:k.defaultVariation)!=null&&N.hasDiscount);break}R[0].startsWith("!")&&(P=!P),S.dataset.moonbaseOriginalHidden||(S.dataset.moonbaseOriginalHidden=S.hidden?"true":"false"),P?S.hidden=!1:S.hidden=!0}}},{immediate:!0}),Re(()=>{var V;e.value=new MutationObserver((W,N)=>{var S,R;for(const te of W)if(te.type==="childList"){for(const A of te.addedNodes){const k=A;if(k.dataset&&k.dataset.moonbaseRender){const P=k.dataset.moonbaseRender;if(!P||!t.some(x=>x.test(P)))console.warn(`Element has an unknown Moonbase target (${P})`,k);else if(P){const x=P.split(".")[0];n.value[x]=n.value[x]||[],n.value[x].push(k)}}if(k.dataset&&k.dataset.moonbaseIf){const P=(S=k.dataset.moonbaseIf)==null?void 0:S.replace(/^!/,"");if(!P||!i.some(x=>x.test(P)))console.warn(`Element has an unknown Moonbase target (${P})`,k);else if(P){const x=P.split(".")[0];a.value[x]=a.value[x]||[],a.value[x].push(k)}}}for(const A of te.removedNodes){const k=A;if(k.dataset&&k.dataset.moonbaseRender){const P=k.dataset.moonbaseRender;if(!P||!t.some(x=>x.test(P)))console.warn(`Element has an unknown Moonbase target (${P})`,k);else if(P){const x=P.split(".")[0];n.value[x]&&(n.value[x]=n.value[x].filter(se=>se!==k))}}if(k.dataset&&k.dataset.moonbaseIf){const P=(R=k.dataset.moonbaseIf)==null?void 0:R.replace(/^!/,"");if(!P||!i.some(x=>x.test(P)))console.warn(`Element has an unknown Moonbase target (${P})`,k);else if(P){const x=P.split(".")[0];a.value[x]&&(a.value[x]=a.value[x].filter(se=>se!==k))}}}}else if(te.type==="attributes"&&te.attributeName){const A=te.target.getAttribute(te.attributeName);fl(`The ${te.attributeName} attribute was modified from ${te.oldValue} to ${A}.`);const k=te.target;if(te.attributeName==="data-moonbase-render"){const P=te.oldValue;if(P){const x=P.split(".")[0];n.value[x]&&(n.value[x]=n.value[x].filter(se=>se!==k))}if(!A||!t.some(x=>x.test(A)))A&&console.warn(`Element has an unknown Moonbase target (${A})`,k),k.dataset.moonbaseOriginal&&(k.textContent=k.dataset.moonbaseOriginal);else if(A){const x=A==null?void 0:A.split(".")[0];n.value[x]=n.value[x]||[],n.value[x].includes(k)||n.value[x].push(k)}}if(te.attributeName==="data-moonbase-if"){const P=te.oldValue;if(P){const x=P.split(".")[0];a.value[x]&&(a.value[x]=a.value[x].filter(se=>se!==k))}if(!A||!i.some(x=>x.test(A)))A&&console.warn(`Element has an unknown Moonbase target (${A})`,k),k.dataset.moonbaseOriginalHidden==="true"&&(k.hidden=!0);else if(A){const x=A==null?void 0:A.split(".")[0];a.value[x]=a.value[x]||[],a.value[x].includes(k)||a.value[x].push(k)}}}else fl(`A ${te.type} mutation took place.`)}),e.value.observe(document.body,{subtree:!0,childList:!0,attributes:!0,attributeOldValue:!0,attributeFilter:["data-moonbase-if","data-moonbase-render"]});const E={},w=document.querySelectorAll("[data-moonbase-render]");for(const W of w){const N=W.dataset.moonbaseRender;if(!N||!t.some(S=>S.test(N)))console.warn(`Element has an unknown Moonbase target (${N})`,W);else if(N){const S=N.split(".")[0];E[S]=E[S]||[],E[S].push(W)}}n.value=E;const $={},D=document.querySelectorAll("[data-moonbase-if]");for(const W of D){const N=(V=W.dataset.moonbaseIf)==null?void 0:V.replace(/^!/,"");if(!N||!i.some(S=>S.test(N)))console.warn(`Element has an unknown Moonbase target (${N})`,W);else if(N){const S=N.split(".")[0];$[S]=$[S]||[],$[S].push(W)}}a.value=$}),dt(()=>e.value&&e.value.disconnect())}const kw=pe({__name:"App",setup(e){const t=Se(Gr),n=je();return Ge(()=>[n.active,n.intent],([r,o])=>{}),Sw(),(r,o)=>{var s;return y(),T(ke,null,[(s=_(t))!=null&&s.toolbar.enabled?(y(),xe(gy,{key:0})):de("",!0),q(S_,{open:_(n).active===_(Oe).Cart},null,8,["open"]),q(Fb,{open:_(n).active===_(Oe).Authentication},null,8,["open"]),q(tw,{open:_(n).active===_(Oe).Activation},null,8,["open"]),q(xw,{open:_(n).active===_(Oe).Download},null,8,["open"]),q(A1,{open:_(n).active===_(Oe).Customer},null,8,["open"])],64)}}});function _i(e){return e&&typeof e=="object"&&!Array.isArray(e)&&!(e instanceof HTMLElement)}function pl(e,...t){if(t.length===0)return e;const n=t.shift();if(!n)return e;if(_i(e)&&_i(n)){for(const r in e)if(Object.prototype.hasOwnProperty.call(n,r)){const o=n[r];_i(o)&&_i(e[r])?e[r]=pl(e[r],o):o!==void 0&&(e[r]=o)}}return pl(e,...t)}class Cw{constructor(){Cr(this,"initialized",!1);Cr(this,"pinia");Cr(this,"storefront");Cr(this,"options")}async setup(t,n){if(typeof window>"u")throw console.error("Moonbase setup must be done client-side"),new Error("Moonbase setup must be done client-side");if(document.getElementById("moonbase")){console.warn("Moonbase has already been initialized!");return}this.options=pl(py,n??{}),fl("Merged options:",this.options);const r=document.createElement("div");if(r.id="moonbase",r.classList.add("moonbase"),(this.options.target??document.body).append(r),this.storefront=jg(t),this.pinia=ly(),gg(kw).use(this.storefront).use(this.pinia).provide(Gr,this.options).mount("#moonbase"),this.initialized=!0,window&&window.location){const a=new URLSearchParams(window.location.search),l=a.get("mb_intent");if(l&&Object.values(le).includes(l)){const u=Object.fromEntries([...a.entries()].filter(([d])=>d.startsWith("mb_")).map(([d,f])=>[d.substring(3),f]));if(l===le.Checkout&&u.complete)return;this[l](u);for(const d of Object.keys(u))a.delete(`mb_${d}`);const c=a.toString();window.history.replaceState(null,"",window.location.href.split("?")[0]+(c?`?${c}`:""))}}const s=je(this.pinia),i=wt(this.storefront);this.storefront.onCheckoutClosed(a=>{a===le.ViewProducts&&(i.user?s.show(Oe.Customer,le.ViewProducts):s.show(Oe.Cart,le.ViewCart))})}sign_in(t){if(!this.initialized)throw new Error("Moonbase has not been set up yet");je(this.pinia).show(Oe.Authentication,le.SignIn,t)}sign_up(t){var r;if(!this.initialized)throw new Error("Moonbase has not been set up yet");if(!((r=this.options)!=null&&r.auth.signUp.enabled))throw new Error("Sign ups are not enabled");je(this.pinia).show(Oe.Authentication,le.SignUp,t)}forgot_password(t){if(!this.initialized)throw new Error("Moonbase has not been set up yet");je(this.pinia).show(Oe.Authentication,le.ForgotPassword,t)}reset_password(t){if(!this.initialized)throw new Error("Moonbase has not been set up yet");je(this.pinia).show(Oe.Authentication,le.ResetPassword,t)}confirm_account(t){if(!this.initialized)throw new Error("Moonbase has not been set up yet");je(this.pinia).show(Oe.Authentication,le.ConfirmAccount,t)}confirm_email(){}confirm_email_change(t){if(!this.initialized)throw new Error("Moonbase has not been set up yet");const n=je(this.pinia);wt(this.storefront).user.value?n.show(Oe.Authentication,le.ConfirmEmailChange,t):(n.show(Oe.Authentication,le.SignIn),n.enqueue(Oe.Authentication,le.ConfirmEmailChange,t))}view_account(){if(!this.initialized)throw new Error("Moonbase has not been set up yet");const t=je(this.pinia);wt(this.storefront).user.value?t.show(Oe.Customer,le.ViewAccount):(t.show(Oe.Authentication,le.SignIn),t.enqueue(Oe.Customer,le.ViewAccount))}view_products(){if(!this.initialized)throw new Error("Moonbase has not been set up yet");je(this.pinia).show(Oe.Cart,le.ViewCart)}redeem_voucher(t){if(!this.initialized)throw new Error("Moonbase has not been set up yet");je(this.pinia).show(Oe.Cart,le.ViewCart,t)}download_product(t){if(!this.initialized)throw new Error("Moonbase has not been set up yet");je(this.pinia).show(Oe.Download,le.DownloadProduct,t)}activate_product(t){if(!this.initialized)throw new Error("Moonbase has not been set up yet");if(!(t!=null&&t.token))throw new Error("You need to provide a token when activating a product");je(this.pinia).show(Oe.Activation,le.ActivateProduct,t)}view_cart(){if(!this.initialized)throw new Error("Moonbase has not been set up yet");je(this.pinia).show(Oe.Cart,le.ViewCart)}async add_to_cart(t){var o,s,i,a;if(!this.initialized)throw new Error("Moonbase has not been set up yet");if(!(t!=null&&t.product_id)&&!(t!=null&&t.bundle_id))throw new Error("You need to provide a product or bundle ID when adding to cart");const n=ni(this.storefront);if(t!=null&&t.product_id){const l=vd(t.product_id,this.storefront);if(l.value)n.addToCart(l.value,(o=l.value.variations)==null?void 0:o.find(u=>u.id===t.variation_id));else{await this.storefront.loadedStorefrontPromise;const u=vd(t.product_id,this.storefront);if(u.value)n.addToCart(u.value,(s=u.value.variations)==null?void 0:s.find(c=>c.id===t.variation_id));else throw new Error(`Product '${t.product_id}' not found`)}}if(t!=null&&t.bundle_id){const l=md(t.bundle_id,this.storefront);if(l.value)n.addToCart(l.value,(i=l.value.variations)==null?void 0:i.find(u=>u.id===t.variation_id));else{await this.storefront.loadedStorefrontPromise;const u=md(t.bundle_id,this.storefront);if(u.value)n.addToCart(u.value,(a=u.value.variations)==null?void 0:a.find(c=>c.id===t.variation_id));else throw new Error(`Bundle '${t.bundle_id}' not found`)}}je(this.pinia).show(Oe.Cart,le.AddToCart)}checkout(t){var r;if(!this.initialized)throw new Error("Moonbase has not been set up yet");if(t!=null&&t.complete)return;ni(this.storefront).checkout({redirect:((r=this.options)==null?void 0:r.checkout.redirect)||!1,returnUrl:`${window.location.pathname}?mb_intent=view_products`})}close_checkout(){var t;if(!this.initialized)throw new Error("Moonbase has not been set up yet");(t=this.storefront)==null||t.closeCheckout()}}const kf=new Cw;globalThis&&(globalThis.Moonbase?console.warn("Multiple instances of Moonbase detected, only one will be initialized"):globalThis.Moonbase=kf),kt.MoonbaseIntent=le,kt.default=kf,Object.defineProperties(kt,{__esModule:{value:!0},[Symbol.toStringTag]:{value:"Module"}})});
|
|
24
|
+
`));const f=Fd(c.props??{},i,l),h=qt(c,f,!0);for(const b in f)b.startsWith("on")&&(h.props||(h.props={}),h.props[b]=f[b]);return h}return Array.isArray(a)&&a.length===1?a[0]:a}return Ue(s,Object.assign({},i,l),{default:()=>a})}function Ud(e){return e.flatMap(t=>t.type===ke?Ud(t.children):[t])}function Fd(...e){if(e.length===0)return{};if(e.length===1)return e[0];const t={},n={};for(const r of e)for(const o in r)o.startsWith("on")&&typeof r[o]=="function"?(n[o]??(n[o]=[]),n[o].push(r[o])):t[o]=r[o];if(t.disabled||t["aria-disabled"])return Object.assign(t,Object.fromEntries(Object.keys(n).map(r=>[r,void 0])));for(const r in n)Object.assign(t,{[r](o,...s){const i=n[r];for(const a of i){if(o instanceof Event&&o.defaultPrevented)return;a(o,...s)}}});return t}function Ya(e,t=[]){const n=Object.assign({},e);for(const r of t)r in n&&delete n[r];return n}function Yy(e){return e==null?!1:typeof e.type=="string"||typeof e.type=="object"||typeof e.type=="function"}var er=(e=>(e[e.None=1]="None",e[e.Focusable=2]="Focusable",e[e.Hidden=4]="Hidden",e))(er||{});let tr=pe({name:"Hidden",props:{as:{type:[Object,String],default:"div"},features:{type:Number,default:1}},setup(e,{slots:t,attrs:n}){return()=>{let{features:r,...o}=e,s={"aria-hidden":(r&2)===2?!0:o["aria-hidden"]??void 0,hidden:(r&4)===4?!0:void 0,style:{position:"fixed",top:1,left:1,width:1,height:0,padding:0,margin:-1,overflow:"hidden",clip:"rect(0, 0, 0, 0)",whiteSpace:"nowrap",borderWidth:"0",...(r&4)===4&&(r&2)!==2&&{display:"none"}}};return rt({ourProps:s,theirProps:o,slot:{},attrs:n,slots:t,name:"Hidden"})}}});function Xy(e){function t(){document.readyState!=="loading"&&(e(),document.removeEventListener("DOMContentLoaded",t))}typeof window<"u"&&typeof document<"u"&&(document.addEventListener("DOMContentLoaded",t),t())}function Y(e){if(e==null||e.value==null)return null;let t=e.value.$el??e.value;return t instanceof Node?t:null}function kn(e){if(Ko.isServer)return null;if(e instanceof Node)return e.ownerDocument;if(e&&Object.prototype.hasOwnProperty.call(e,"value")){const t=Y(e);if(t)return t.ownerDocument}return document}const ci=["[contentEditable=true]","[tabindex]","a[href]","area[href]","button:not([disabled])","iframe","input:not([disabled])","select:not([disabled])","textarea:not([disabled])"].map(e=>`${e}:not([tabindex='-1'])`).join(",");var We=(e=>(e[e.First=1]="First",e[e.Previous=2]="Previous",e[e.Next=4]="Next",e[e.Last=8]="Last",e[e.WrapAround=16]="WrapAround",e[e.NoScroll=32]="NoScroll",e))(We||{}),Cn=(e=>(e[e.Error=0]="Error",e[e.Overflow=1]="Overflow",e[e.Success=2]="Success",e[e.Underflow=3]="Underflow",e))(Cn||{});function di(e=document.body){return e==null?[]:Array.from(e.querySelectorAll(ci)).sort((t,n)=>Math.sign((t.tabIndex||Number.MAX_SAFE_INTEGER)-(n.tabIndex||Number.MAX_SAFE_INTEGER)))}var Xa=(e=>(e[e.Strict=0]="Strict",e[e.Loose=1]="Loose",e))(Xa||{});function Bd(e,t=0){var n;return e===((n=kn(e))==null?void 0:n.body)?!1:nt(t,{0(){return e.matches(ci)},1(){let r=e;for(;r!==null;){if(r.matches(ci))return!0;r=r.parentElement}return!1}})}typeof window<"u"&&typeof document<"u"&&(document.addEventListener("keydown",e=>{e.metaKey||e.altKey||e.ctrlKey||(document.documentElement.dataset.moonbaseFocusVisible="")},!0),document.addEventListener("click",e=>{e.detail===1?delete document.documentElement.dataset.moonbaseFocusVisible:e.detail===0&&(document.documentElement.dataset.moonbaseFocusVisible="")},!0));function Nr(e){e==null||e.focus({preventScroll:!0})}const Qy=["textarea","input"].join(",");function eb(e){var t;return((t=e==null?void 0:e.matches)==null?void 0:t.call(e,Qy))??!1}function Yr(e,t=n=>n){return e.slice().sort((n,r)=>{const o=t(n),s=t(r);if(o===null||s===null)return 0;const i=o.compareDocumentPosition(s);return i&Node.DOCUMENT_POSITION_FOLLOWING?-1:i&Node.DOCUMENT_POSITION_PRECEDING?1:0})}function at(e,t,{sorted:n=!0,relativeTo:r=null,skipElements:o=[]}={}){const s=(Array.isArray(e)?e.length>0?e[0].ownerDocument:document:e==null?void 0:e.ownerDocument)??document;let i=Array.isArray(e)?n?Yr(e):e:di(e);o.length>0&&i.length>1&&(i=i.filter(h=>!o.includes(h))),r=r??s.activeElement;const a=(()=>{if(t&5)return 1;if(t&10)return-1;throw new Error("Missing Focus.First, Focus.Previous, Focus.Next or Focus.Last")})(),l=(()=>{if(t&1)return 0;if(t&2)return Math.max(0,i.indexOf(r))-1;if(t&4)return Math.max(0,i.indexOf(r))+1;if(t&8)return i.length-1;throw new Error("Missing Focus.First, Focus.Previous, Focus.Next or Focus.Last")})(),u=t&32?{preventScroll:!0}:{};let c=0;const d=i.length;let f;do{if(c>=d||c+d<=0)return 0;let h=l+c;if(t&16)h=(h+d)%d;else{if(h<0)return 3;if(h>=d)return 1}f=i[h],f==null||f.focus(u),c+=a}while(f!==s.activeElement);return t&6&&eb(f)&&f.select(),2}let xr=[];Xy(()=>{function e(t){if(!(t.target instanceof HTMLElement)||t.target===document.body||xr[0]===t.target)return;let n=t.target;n=n.closest(ci),xr.unshift(n??t.target),xr=xr.filter(r=>r!=null&&r.isConnected),xr.splice(10)}window.addEventListener("click",e,{capture:!0}),window.addEventListener("mousedown",e,{capture:!0}),window.addEventListener("focus",e,{capture:!0}),document.body.addEventListener("click",e,{capture:!0}),document.body.addEventListener("mousedown",e,{capture:!0}),document.body.addEventListener("focus",e,{capture:!0})});function fi(e){typeof queueMicrotask=="function"?queueMicrotask(e):Promise.resolve().then(e).catch(t=>setTimeout(()=>{throw t}))}function Hd(e){if(!e)return new Set;if(typeof e=="function")return new Set(e());const t=new Set;for(const n of e.value){const r=Y(n);r instanceof HTMLElement&&t.add(r)}return t}var Zd=(e=>(e[e.None=1]="None",e[e.InitialFocus=2]="InitialFocus",e[e.TabLock=4]="TabLock",e[e.FocusLock=8]="FocusLock",e[e.RestoreFocus=16]="RestoreFocus",e[e.All=30]="All",e))(Zd||{});const Go=Object.assign(pe({name:"FocusTrap",props:{as:{type:[Object,String],default:"div"},initialFocus:{type:Object,default:null},features:{type:Number,default:30},containers:{type:[Object,Function],default:j(new Set)}},inheritAttrs:!1,setup(e,{attrs:t,slots:n,expose:r}){const o=j(null);r({el:o,$el:o});const s=J(()=>kn(o)),i=j(!1);Re(()=>i.value=!0),dt(()=>i.value=!1),nb({ownerDocument:s},J(()=>i.value&&!!(e.features&16)));const a=rb({ownerDocument:s,container:o,initialFocus:J(()=>e.initialFocus)},J(()=>i.value&&!!(e.features&2)));ob({ownerDocument:s,container:o,containers:e.containers,previousActiveElement:a},J(()=>i.value&&!!(e.features&8)));const l=Ja();function u(h){const b=Y(o);if(!b)return;(w=>w())(()=>{nt(l.value,{[$t.Forwards]:()=>{at(b,We.First,{skipElements:[h.relatedTarget]})},[$t.Backwards]:()=>{at(b,We.Last,{skipElements:[h.relatedTarget]})}})})}const c=j(!1);function d(h){h.key==="Tab"&&(c.value=!0,requestAnimationFrame(()=>{c.value=!1}))}function f(h){if(!i.value)return;const b=Hd(e.containers);Y(o)instanceof HTMLElement&&b.add(Y(o));const E=h.relatedTarget;E instanceof HTMLElement&&E.dataset.moonbaseFocusGuard!=="true"&&(qd(b,E)||(c.value?at(Y(o),nt(l.value,{[$t.Forwards]:()=>We.Next,[$t.Backwards]:()=>We.Previous})|We.WrapAround,{relativeTo:h.target}):h.target instanceof HTMLElement&&Nr(h.target)))}return()=>{const h={},b={ref:o,onKeydown:d,onFocusout:f},{features:E,initialFocus:w,containers:$,...D}=e;return Ue(ke,[!!(E&4)&&Ue(tr,{as:"button",type:"button","data-moonbase-focus-guard":!0,onFocus:u,features:er.Focusable}),rt({ourProps:b,theirProps:{...t,...D},slot:h,attrs:t,slots:n,name:"FocusTrap"}),!!(E&4)&&Ue(tr,{as:"button",type:"button","data-moonbase-focus-guard":!0,onFocus:u,features:er.Focusable})])}}}),{features:Zd});function tb(e){const t=j(xr.slice());return Ge([e],([n],[r])=>{r===!0&&n===!1?fi(()=>{t.value.splice(0)}):r===!1&&n===!0&&(t.value=xr.slice())},{flush:"post"}),()=>t.value.find(n=>n!=null&&n.isConnected)??null}function nb({ownerDocument:e},t){const n=tb(t);Re(()=>{pt(()=>{var r,o;t.value||((r=e.value)==null?void 0:r.activeElement)===((o=e.value)==null?void 0:o.body)&&Nr(n())},{flush:"post"})}),dt(()=>{t.value&&Nr(n())})}function rb({ownerDocument:e,container:t,initialFocus:n},r){const o=j(null),s=j(!1);return Re(()=>s.value=!0),dt(()=>s.value=!1),Re(()=>{Ge([t,n,r],(i,a)=>{if(i.every((u,c)=>(a==null?void 0:a[c])===u)||!r.value)return;const l=Y(t);l&&fi(()=>{var d,f;if(!s.value)return;const u=Y(n),c=(d=e.value)==null?void 0:d.activeElement;if(u){if(u===c){o.value=c;return}}else if(l.contains(c)){o.value=c;return}u?Nr(u):at(l,We.First|We.NoScroll)===Cn.Error&&console.warn("There are no focusable elements inside the <FocusTrap />"),o.value=(f=e.value)==null?void 0:f.activeElement})},{immediate:!0,flush:"post"})}),o}function ob({ownerDocument:e,container:t,containers:n,previousActiveElement:r},o){var s;Ga((s=e.value)==null?void 0:s.defaultView,"focus",i=>{if(!o.value)return;const a=Hd(n);Y(t)instanceof HTMLElement&&a.add(Y(t));const l=r.value;if(!l)return;const u=i.target;u&&u instanceof HTMLElement?qd(a,u)?(r.value=u,Nr(u)):(i.preventDefault(),i.stopPropagation(),Nr(l)):Nr(r.value)},!0)}function qd(e,t){for(const n of e)if(n.contains(t))return!0;return!1}function sb(e){const t=Bh(e.getSnapshot());return dt(e.subscribe(()=>{t.value=e.getSnapshot()})),t}function Jo(){const e=[],t={addEventListener(n,r,o,s){return n.addEventListener(r,o,s),t.add(()=>n.removeEventListener(r,o,s))},requestAnimationFrame(...n){const r=requestAnimationFrame(...n);t.add(()=>cancelAnimationFrame(r))},nextFrame(...n){t.requestAnimationFrame(()=>{t.requestAnimationFrame(...n)})},setTimeout(...n){const r=setTimeout(...n);t.add(()=>clearTimeout(r))},microTask(...n){const r={current:!0};return fi(()=>{r.current&&n[0]()}),t.add(()=>{r.current=!1})},style(n,r,o){const s=n.style.getPropertyValue(r);return Object.assign(n.style,{[r]:o}),this.add(()=>{Object.assign(n.style,{[r]:s})})},group(n){const r=Jo();return n(r),this.add(()=>r.dispose())},add(n){return e.push(n),()=>{const r=e.indexOf(n);if(r>=0)for(const o of e.splice(r,1))o()}},dispose(){for(const n of e.splice(0))n()}};return t}function ib(e,t){let n=e(),r=new Set;return{getSnapshot(){return n},subscribe(o){return r.add(o),()=>r.delete(o)},dispatch(o,...s){let i=t[o].call(n,...s);i&&(n=i,r.forEach(a=>a()))}}}function ab(){let e;return{before({doc:t}){const n=t.documentElement,r=t.defaultView??window;e=Math.max(0,r.innerWidth-n.clientWidth)},after({doc:t,d:n}){const r=t.documentElement,o=Math.max(0,r.clientWidth-r.offsetWidth),s=Math.max(0,e-o);n.style(r,"paddingRight",`${s}px`)}}}function Wd(){return/iPhone/gi.test(window.navigator.platform)||/Mac/gi.test(window.navigator.platform)&&window.navigator.maxTouchPoints>0}function lb(){return/Android/gi.test(window.navigator.userAgent)}function ub(){return Wd()||lb()}function cb(){return Wd()?{before({doc:e,d:t,meta:n}){function r(o){return n.containers.flatMap(s=>s()).some(s=>s.contains(o))}t.microTask(()=>{if(window.getComputedStyle(e.documentElement).scrollBehavior!=="auto"){const i=Jo();i.style(e.documentElement,"scrollBehavior","auto"),t.add(()=>t.microTask(()=>i.dispose()))}const o=window.scrollY??window.pageYOffset;let s=null;t.addEventListener(e,"click",i=>{if(i.target instanceof HTMLElement)try{const a=i.target.closest("a");if(!a)return;const{hash:l}=new URL(a.href),u=e.querySelector(l);u&&!r(u)&&(s=u)}catch{}},!0),t.addEventListener(e,"touchstart",i=>{if(i.target instanceof HTMLElement)if(r(i.target)){let a=i.target;for(;a.parentElement&&r(a.parentElement);)a=a.parentElement;t.style(a,"overscrollBehavior","contain")}else t.style(i.target,"touchAction","none")}),t.addEventListener(e,"touchmove",i=>{if(i.target instanceof HTMLElement){if(i.target.tagName==="INPUT")return;if(r(i.target)){let a=i.target;for(;a.parentElement&&a.dataset.moonbasePortal!==""&&!(a.scrollHeight>a.clientHeight||a.scrollWidth>a.clientWidth);)a=a.parentElement;a.dataset.moonbasePortal===""&&i.preventDefault()}else i.preventDefault()}},{passive:!1}),t.add(()=>{const i=window.scrollY??window.pageYOffset;o!==i&&window.scrollTo(0,o),s&&s.isConnected&&(s.scrollIntoView({block:"nearest"}),s=null)})})}}:{}}function db(){return{before({doc:e,d:t}){t.style(e.documentElement,"overflow","hidden")}}}function fb(e){const t={};for(const n of e)Object.assign(t,n(t));return t}const Sr=ib(()=>new Map,{PUSH(e,t){const n=this.get(e)??{doc:e,count:0,d:Jo(),meta:new Set};return n.count++,n.meta.add(t),this.set(e,n),this},POP(e,t){const n=this.get(e);return n&&(n.count--,n.meta.delete(t)),this},SCROLL_PREVENT({doc:e,d:t,meta:n}){const r={doc:e,d:t,meta:fb(n)},o=[cb(),ab(),db()];o.forEach(({before:s})=>s==null?void 0:s(r)),o.forEach(({after:s})=>s==null?void 0:s(r))},SCROLL_ALLOW({d:e}){e.dispose()},TEARDOWN({doc:e}){this.delete(e)}});Sr.subscribe(()=>{const e=Sr.getSnapshot(),t=new Map;for(const[n]of e)t.set(n,n.documentElement.style.overflow);for(const n of e.values()){const r=t.get(n.doc)==="hidden",o=n.count!==0;(o&&!r||!o&&r)&&Sr.dispatch(n.count>0?"SCROLL_PREVENT":"SCROLL_ALLOW",n),n.count===0&&Sr.dispatch("TEARDOWN",n)}});function pb(e,t,n){const r=sb(Sr),o=J(()=>{const s=e.value?r.value.get(e.value):void 0;return s?s.count>0:!1});return Ge([e,t],([s,i],[a],l)=>{if(!s||!i)return;Sr.dispatch("PUSH",s,n);let u=!1;l(()=>{u||(Sr.dispatch("POP",a??s,n),u=!0)})},{immediate:!0}),o}let hb=0;function mb(){return++hb}function Lt(){return mb()}const Qa=new Map,Yo=new Map;function zd(e,t=j(!0)){pt(n=>{if(!t.value)return;const r=Y(e);if(!r)return;n(()=>{if(!r)return;const s=Yo.get(r)??1;if(s===1?Yo.delete(r):Yo.set(r,s-1),s!==1)return;const i=Qa.get(r);i&&(i["aria-hidden"]===null?r.removeAttribute("aria-hidden"):r.setAttribute("aria-hidden",i["aria-hidden"]),r.inert=i.inert,Qa.delete(r))});const o=Yo.get(r)??0;Yo.set(r,o+1),o===0&&(Qa.set(r,{"aria-hidden":r.getAttribute("aria-hidden"),inert:r.inert}),r.setAttribute("aria-hidden","true"),r.inert=!0)})}function Xo(e,t,n,r){Ko.isServer||pt(o=>{e.value&&(document.addEventListener(t,n,r),o(()=>document.removeEventListener(t,n,r)))})}const Kd=30;function Gd(e,t,n=J(()=>!0)){function r(i,a){if(i.defaultPrevented)return;const l=a(i);if(l===null||!l.getRootNode().contains(l))return;const u=function c(d){return typeof d=="function"?c(d()):Array.isArray(d)||d instanceof Set?d:[d]}(e);for(const c of u){if(c===null)continue;const d=c instanceof HTMLElement?c:Y(c);if(d!=null&&d.contains(l)||i.composed&&i.composedPath().includes(d))return}return!Bd(l,Xa.Loose)&&l.tabIndex!==-1&&i.preventDefault(),t(i,l)}const o=j(null);Xo(n,"pointerdown",i=>{var a,l;o.value=((l=(a=i.composedPath)==null?void 0:a.call(i))==null?void 0:l[0])||i.target},!0),Xo(n,"mousedown",i=>{var a,l;o.value=((l=(a=i.composedPath)==null?void 0:a.call(i))==null?void 0:l[0])||i.target},!0),Xo(n,"click",i=>{ub()||o.value&&(r(i,()=>o.value),o.value=null)},!0);const s={x:0,y:0};Xo(n,"touchstart",i=>{s.x=i.touches[0].clientX,s.y=i.touches[0].clientY},!0),Xo(n,"touchend",i=>{const a={x:i.changedTouches[0].clientX,y:i.changedTouches[0].clientY};if(!(Math.abs(a.x-s.x)>=Kd||Math.abs(a.y-s.y)>=Kd))return r(i,()=>i.target instanceof HTMLElement?i.target:null)},!0),Ld(n,"blur",i=>r(i,()=>window.document.activeElement instanceof HTMLIFrameElement?window.document.activeElement:null),!0)}function Jd({defaultContainers:e=[],portals:t,mainTreeNodeRef:n}={}){const r=j(null),o=kn(r);function s(){var a,l;const i=[];for(const u of e)u!==null&&(u instanceof HTMLElement?i.push(u):"value"in u&&u.value instanceof HTMLElement&&i.push(u.value));if(t!=null&&t.value)for(const u of t.value)i.push(u);for(const u of(o==null?void 0:o.querySelectorAll("html > *, body > *"))??[])u!==document.body&&u!==document.head&&u instanceof HTMLElement&&u.id!=="moonbase"&&(u.contains(Y(r))||u.contains((l=(a=Y(r))==null?void 0:a.getRootNode())==null?void 0:l.host)||i.some(c=>u.contains(c))||i.push(u));return i}return{resolveContainers:s,contains(i){return s().some(a=>a.contains(i))},mainTreeNodeRef:r,MainTreeNode(){return n!=null?null:Ue(tr,{features:er.Hidden,ref:r})}}}let Yd=Symbol("Context");var lt=(e=>(e[e.Open=1]="Open",e[e.Closed=2]="Closed",e[e.Closing=4]="Closing",e[e.Opening=8]="Opening",e))(lt||{});function vb(){return pi()!==null}function pi(){return Se(Yd,null)}function Xd(e){ft(Yd,e)}const Qd=Symbol("ForcePortalRootContext");function gb(){return Se(Qd,!1)}const ef=pe({name:"ForcePortalRoot",props:{as:{type:[Object,String],default:"template"},force:{type:Boolean,default:!1}},setup(e,{slots:t,attrs:n}){return ft(Qd,e.force),()=>{const{force:r,...o}=e;return rt({theirProps:o,ourProps:{},slot:{},slots:t,attrs:n,name:"ForcePortalRoot"})}}});let tf=Symbol("StackContext");var el=(e=>(e[e.Add=0]="Add",e[e.Remove=1]="Remove",e))(el||{});function yb(){return Se(tf,()=>{})}function bb({type:e,enabled:t,element:n,onUpdate:r}){let o=yb();function s(...i){r==null||r(...i),o(...i)}Re(()=>{Ge(t,(i,a)=>{i?s(0,e,n):a===!0&&s(1,e,n)},{immediate:!0,flush:"sync"})}),dt(()=>{t.value&&s(1,e,n)}),ft(tf,s)}var ot=(e=>(e.Space=" ",e.Enter="Enter",e.Escape="Escape",e.Backspace="Backspace",e.Delete="Delete",e.ArrowLeft="ArrowLeft",e.ArrowUp="ArrowUp",e.ArrowRight="ArrowRight",e.ArrowDown="ArrowDown",e.Home="Home",e.End="End",e.PageUp="PageUp",e.PageDown="PageDown",e.Tab="Tab",e))(ot||{});let _b=Symbol("DescriptionContext");function wb({slot:e=j({}),name:t="Description",props:n={}}={}){let r=j([]);function o(s){return r.value.push(s),()=>{let i=r.value.indexOf(s);i!==-1&&r.value.splice(i,1)}}return ft(_b,{register:o,slot:e,name:t,props:n}),J(()=>r.value.length>0?r.value.join(" "):void 0)}function nf(e){const t=kn(e);if(!t){if(e===null)return null;throw new Error(`[Moonbase]: Cannot find ownerDocument for contextElement: ${e}`)}const n=t.getElementById("moonbase");if(n)return n;throw new Error("[Moonbase]: Cannot find existing root element")}const tl=Symbol("PortalParentContext"),rf=Symbol("PortalGroupContext"),Eb=pe({name:"Portal",props:{as:{type:[Object,String],default:"div"}},setup(e,{slots:t,attrs:n}){const r=j(null),o=gb(),s=Se(rf,null),i=j(o===!0||s==null?nf(r.value):s.resolveTarget()),a=j(!1);Re(()=>{a.value=!0}),pt(()=>{o||s!=null&&(i.value=s.resolveTarget())});const l=Se(tl,null);let u=!1;const c=Ks();return Ge(r,()=>{if(u||!l)return;const d=Y(r);d&&(dt(l.register(d),c),u=!0)}),()=>{if(!a.value||i.value===null)return null;const d={ref:r,"data-moonbase-portal":""};return Ue(_m,{to:i.value},rt({ourProps:d,theirProps:e,slot:{},attrs:n,slots:t,name:"Portal"}))}}});function of(){const e=Se(tl,null),t=j([]);function n(s){return t.value.push(s),e&&e.register(s),()=>r(s)}function r(s){const i=t.value.indexOf(s);i!==-1&&t.value.splice(i,1),e&&e.unregister(s)}const o={register:n,unregister:r,portals:t};return[t,pe({name:"PortalWrapper",setup(s,{slots:i}){return ft(tl,o),()=>{var a;return(a=i.default)==null?void 0:a.call(i)}}})]}const Ob=pe({name:"PortalGroup",props:{as:{type:[Object,String],default:"template"},target:{type:Object,default:null}},setup(e,{attrs:t,slots:n}){const r=xo({resolveTarget(){return e.target}});return ft(rf,r),()=>{const{target:o,...s}=e;return rt({theirProps:s,ourProps:{},slot:{},attrs:t,slots:n,name:"PortalGroup"})}}}),nl=Symbol("DialogContext");function rl(e){const t=Se(nl,null);if(t===null)throw new Error(`<${e} /> is missing a parent <Dialog /> component.`);return t}const hi="DC8F892D-2EBD-447C-A4C8-A03058436FF4",sf=pe({name:"Dialog",inheritAttrs:!1,props:{as:{type:[Object,String],default:"div"},static:{type:Boolean,default:!1},unmount:{type:Boolean,default:!0},open:{type:[Boolean,String],default:hi},initialFocus:{type:Object,default:null},id:{type:String,default:()=>`moonbase-dialog-${Lt()}`},role:{type:String,default:"dialog"},makeInert:{type:Boolean,default:!0}},emits:{close:e=>!0},setup(e,{emit:t,attrs:n,slots:r,expose:o}){var me;const s=j(!1);Re(()=>{s.value=!0});let i=!1;const a=J(()=>e.role==="dialog"||e.role==="alertdialog"?e.role:(i||(i=!0,console.warn(`Invalid role [${a}] passed to <Dialog />. Only \`dialog\` and and \`alertdialog\` are supported. Using \`dialog\` instead.`)),"dialog")),l=j(0),u=pi(),c=J(()=>e.open===hi&&u!==null?(u.value<.Open)===lt.Open:e.open),d=j(null),f=J(()=>kn(d));if(o({el:d,$el:d}),!(e.open!==hi||u!==null))throw new Error("You forgot to provide an `open` prop to the `Dialog`.");if(typeof c.value!="boolean")throw new TypeError(`You provided an \`open\` prop to the \`Dialog\`, but the value is not a boolean. Received: ${c.value===hi?void 0:e.open}`);const b=J(()=>s.value&&c.value?0:1),E=J(()=>b.value===0),w=j(null),$={titleId:w,panelRef:j(null),dialogState:b,setTitleId(ie){w.value!==ie&&(w.value=ie)},close(){t("close",!1)}},D=J(()=>l.value>1),V=Se(nl,null)!==null,[W,N]=of(),{resolveContainers:S,mainTreeNodeRef:R,MainTreeNode:te}=Jd({portals:W,defaultContainers:[J(()=>$.panelRef.value??d.value)]}),A=J(()=>D.value?"parent":"leaf"),k=J(()=>u!==null?(u.value<.Closing)===lt.Closing:!1),P=J(()=>!e.makeInert||V||k.value?!1:E.value),x=J(()=>{var ie;return Array.from(((ie=f.value)==null?void 0:ie.querySelectorAll("body > *"))??[]).find(Fe=>Fe.id==="moonbase"?!1:Fe.contains(Y(R))&&Fe instanceof HTMLElement)??null});zd(x,P);const se=J(()=>D.value?!0:E.value),De=J(()=>{var ie;return Array.from(((ie=f.value)==null?void 0:ie.querySelectorAll("[data-moonbase-portal]"))??[]).find(Fe=>Fe.contains(Y(R))&&Fe instanceof HTMLElement)??null});zd(De,se),bb({type:"Dialog",enabled:J(()=>b.value===0),element:d,onUpdate:(ie,Fe)=>{if(Fe==="Dialog")return nt(ie,{[el.Add]:()=>l.value+=1,[el.Remove]:()=>l.value-=1})}});const O=wb({name:"DialogDescription",slot:J(()=>({open:c.value}))});ft(nl,$);const M=J(()=>!(!E.value||D.value));Gd(S,(ie,Fe)=>{ie.preventDefault(),$.close(),To(()=>Fe==null?void 0:Fe.focus())},M);const Q=J(()=>!(D.value||b.value!==0));Ga((me=f.value)==null?void 0:me.defaultView,"keydown",ie=>{Q.value&&(ie.defaultPrevented||ie.key===ot.Escape&&(ie.preventDefault(),ie.stopPropagation(),$.close()))});const oe=J(()=>!(k.value||b.value!==0||V));return pb(f,oe,ie=>({containers:[...ie.containers??[],S]})),pt(ie=>{if(b.value!==0)return;const Fe=Y(d);if(!Fe)return;const mt=new ResizeObserver(Be=>{for(const St of Be){const nr=St.target.getBoundingClientRect();nr.x===0&&nr.y===0&&nr.width===0&&nr.height===0&&$.close()}});mt.observe(Fe),ie(()=>mt.disconnect())}),()=>{const{id:ie,open:Fe,initialFocus:mt,...Be}=e,St={...n,ref:d,id:ie,role:a.value,"aria-modal":b.value===0?!0:void 0,"aria-labelledby":w.value,"aria-describedby":O.value},nr={open:b.value===0};return Ue(ef,{force:!0},()=>[Ue(Eb,()=>Ue(Ob,{target:d.value},()=>Ue(ef,{force:!1},()=>Ue(Go,{initialFocus:mt,containers:S,features:E.value?nt(A.value,{parent:Go.features.RestoreFocus,leaf:Go.features.All&~Go.features.FocusLock}):Go.features.None},()=>Ue(N,{},()=>rt({ourProps:St,theirProps:{...Be,...n},slot:nr,attrs:n,slots:r,visible:b.value===0,features:Xn.RenderStrategy|Xn.Static,name:"Dialog"})))))),Ue(te)])}}}),af=pe({name:"DialogOverlay",props:{as:{type:[Object,String],default:"div"},id:{type:String,default:()=>`moonbase-dialog-overlay-${Lt()}`}},setup(e,{attrs:t,slots:n}){const r=rl("DialogOverlay");function o(s){s.target===s.currentTarget&&(s.preventDefault(),s.stopPropagation(),r.close())}return()=>{const{id:s,...i}=e;return rt({ourProps:{id:s,"aria-hidden":!0,onClick:o},theirProps:i,slot:{open:r.dialogState.value===0},attrs:t,slots:n,name:"DialogOverlay"})}}}),lf=pe({name:"DialogPanel",props:{as:{type:[Object,String],default:"div"},id:{type:String,default:()=>`moonbase-dialog-panel-${Lt()}`}},setup(e,{attrs:t,slots:n,expose:r}){const o=rl("DialogPanel");r({el:o.panelRef,$el:o.panelRef});function s(i){i.stopPropagation()}return()=>{const{id:i,...a}=e,l={id:i,ref:o.panelRef,onClick:s};return rt({ourProps:l,theirProps:a,slot:{open:o.dialogState.value===0},attrs:t,slots:n,name:"DialogPanel"})}}}),mi=pe({name:"DialogTitle",props:{as:{type:[Object,String],default:"h2"},id:{type:String,default:()=>`moonbase-dialog-title-${Lt()}`}},setup(e,{attrs:t,slots:n}){const r=rl("DialogTitle");return Re(()=>{r.setTitleId(e.id),dt(()=>r.setTitleId(null))}),()=>{const{id:o,...s}=e;return rt({ourProps:{id:o},theirProps:s,slot:{open:r.dialogState.value===0},attrs:t,slots:n,name:"DialogTitle"})}}});function uf(e,t){if(e)return e;const n=t??"button";if(typeof n=="string"&&n.toLowerCase()==="button")return"button"}function cf(e,t){const n=j(uf(e.value.type,e.value.as));return Re(()=>{n.value=uf(e.value.type,e.value.as)}),pt(()=>{var r;n.value||Y(t)&&Y(t)instanceof HTMLButtonElement&&!((r=Y(t))!=null&&r.hasAttribute("type"))&&(n.value="button")}),n}const df=Symbol("PopoverContext");function ff(e){const t=Se(df,null);if(t===null)throw new Error(`<${e} /> is missing a parent <Popover /> component.`);return t}const Nb=Symbol("PopoverGroupContext");function pf(){return Se(Nb,null)}const hf=Symbol("PopoverPanelContext");function xb(){return Se(hf,null)}const mf=pe({name:"Popover",inheritAttrs:!1,props:{as:{type:[Object,String],default:"div"}},setup(e,{slots:t,attrs:n,expose:r}){var W;const o=j(null);r({el:o,$el:o});const s=j(1),i=j(null),a=j(null),l=j(null),u=j(null),c=J(()=>kn(o)),d=J(()=>{var P,x;if(!Y(i)||!Y(u))return!1;for(const se of document.querySelectorAll("body > *"))if(Number(se==null?void 0:se.contains(Y(i)))^Number(se==null?void 0:se.contains(Y(u))))return!0;const N=di(),S=N.indexOf(Y(i)),R=(S+N.length-1)%N.length,te=(S+1)%N.length,A=N[R],k=N[te];return!((P=Y(u))!=null&&P.contains(A))&&!((x=Y(u))!=null&&x.contains(k))}),f={popoverState:s,buttonId:j(null),panelId:j(null),panel:u,button:i,isPortalled:d,beforePanelSentinel:a,afterPanelSentinel:l,togglePopover(){s.value=nt(s.value,{0:1,1:0})},closePopover(){s.value!==1&&(s.value=1)},close(N){f.closePopover();const S=N?N instanceof HTMLElement?N:N.value instanceof HTMLElement?Y(N):Y(f.button):Y(f.button);S==null||S.focus()}};ft(df,f),Xd(J(()=>nt(s.value,{0:lt.Open,1:lt.Closed})));const h={buttonId:f.buttonId,panelId:f.panelId,close(){f.closePopover()}},b=pf(),E=b==null?void 0:b.registerPopover,[w,$]=of(),D=Jd({mainTreeNodeRef:b==null?void 0:b.mainTreeNodeRef,portals:w,defaultContainers:[i,u]});function V(){var N,S,R;return(b==null?void 0:b.isFocusWithinPopoverGroup())??(((N=c.value)==null?void 0:N.activeElement)&&(((S=Y(i))==null?void 0:S.contains(c.value.activeElement))||((R=Y(u))==null?void 0:R.contains(c.value.activeElement))))}return pt(()=>E==null?void 0:E(h)),Ga((W=c.value)==null?void 0:W.defaultView,"focus",N=>{var S,R;N.target!==window&&N.target instanceof HTMLElement&&s.value===0&&(V()||i&&u&&(D.contains(N.target)||(S=Y(f.beforePanelSentinel))!=null&&S.contains(N.target)||(R=Y(f.afterPanelSentinel))!=null&&R.contains(N.target)||f.closePopover()))},!0),Gd(D.resolveContainers,(N,S)=>{var R;f.closePopover(),Bd(S,Xa.Loose)||(N.preventDefault(),(R=Y(i))==null||R.focus())},J(()=>s.value===0)),()=>{const N={open:s.value===0,close:f.close};return Ue(ke,[Ue($,{},()=>rt({theirProps:{...e,...n},ourProps:{ref:o},slot:N,slots:t,attrs:n,name:"Popover"})),Ue(D.MainTreeNode)])}}}),vf=pe({name:"PopoverButton",props:{as:{type:[Object,String],default:"button"},disabled:{type:[Boolean],default:!1},id:{type:String,default:()=>`moonbase-popover-button-${Lt()}`}},inheritAttrs:!1,setup(e,{attrs:t,slots:n,expose:r}){const o=ff("PopoverButton"),s=J(()=>kn(o.button));r({el:o.button,$el:o.button}),Re(()=>{o.buttonId.value=e.id}),dt(()=>{o.buttonId.value=null});const i=pf(),a=i==null?void 0:i.closeOthers,l=xb(),u=J(()=>l===null?!1:l.value===o.panelId.value),c=j(null),d=`moonbase-focus-sentinel-${Lt()}`;u.value||pt(()=>{o.button.value=Y(c)});const f=cf(J(()=>({as:e.as,type:t.type})),c);function h(V){var W,N,S,R,te;if(u.value){if(o.popoverState.value===1)return;switch(V.key){case ot.Space:case ot.Enter:V.preventDefault(),(N=(W=V.target).click)==null||N.call(W),o.closePopover(),(S=Y(o.button))==null||S.focus();break}}else switch(V.key){case ot.Space:case ot.Enter:V.preventDefault(),V.stopPropagation(),o.popoverState.value===1&&(a==null||a(o.buttonId.value)),o.togglePopover();break;case ot.Escape:if(o.popoverState.value!==0)return a==null?void 0:a(o.buttonId.value);if(!Y(o.button)||(R=s.value)!=null&&R.activeElement&&!((te=Y(o.button))!=null&&te.contains(s.value.activeElement)))return;V.preventDefault(),V.stopPropagation(),o.closePopover();break}}function b(V){u.value||V.key===ot.Space&&V.preventDefault()}function E(V){var W,N;e.disabled||(u.value?(o.closePopover(),(W=Y(o.button))==null||W.focus()):(V.preventDefault(),V.stopPropagation(),o.popoverState.value===1&&(a==null||a(o.buttonId.value)),o.togglePopover(),(N=Y(o.button))==null||N.focus()))}function w(V){V.preventDefault(),V.stopPropagation()}const $=Ja();function D(){const V=Y(o.panel);if(!V)return;function W(){nt($.value,{[$t.Forwards]:()=>at(V,We.First),[$t.Backwards]:()=>at(V,We.Last)})===Cn.Error&&at(di().filter(S=>S.dataset.moonbaseFocusGuard!=="true"),nt($.value,{[$t.Forwards]:We.Next,[$t.Backwards]:We.Previous}),{relativeTo:Y(o.button)})}W()}return()=>{const V=o.popoverState.value===0,W={open:V},{id:N,...S}=e,R=u.value?{ref:c,type:f.value,onKeydown:h,onClick:E}:{ref:c,id:N,type:f.value,"aria-expanded":o.popoverState.value===0,"aria-controls":Y(o.panel)?o.panelId.value:void 0,disabled:e.disabled?!0:void 0,onKeydown:h,onKeyup:b,onClick:E,onMousedown:w};return Ue(ke,[rt({ourProps:R,theirProps:{...t,...S},slot:W,attrs:t,slots:n,name:"PopoverButton"}),V&&!u.value&&o.isPortalled.value&&Ue(tr,{id:d,features:er.Focusable,"data-moonbase-focus-guard":!0,as:"button",type:"button",onFocus:D})])}}}),gf=pe({name:"PopoverPanel",props:{as:{type:[Object,String],default:"div"},static:{type:Boolean,default:!1},unmount:{type:Boolean,default:!0},focus:{type:Boolean,default:!1},id:{type:String,default:()=>`moonbase-popover-panel-${Lt()}`}},inheritAttrs:!1,setup(e,{attrs:t,slots:n,expose:r}){const{focus:o}=e,s=ff("PopoverPanel"),i=J(()=>kn(s.panel)),a=`moonbase-focus-sentinel-before-${Lt()}`,l=`moonbase-focus-sentinel-after-${Lt()}`;r({el:s.panel,$el:s.panel}),Re(()=>{s.panelId.value=e.id}),dt(()=>{s.panelId.value=null}),ft(hf,s.panelId),pt(()=>{var $,D;if(!o||s.popoverState.value!==0||!s.panel)return;const w=($=i.value)==null?void 0:$.activeElement;(D=Y(s.panel))!=null&&D.contains(w)||at(Y(s.panel),We.First)});const u=pi(),c=J(()=>u!==null?(u.value<.Open)===lt.Open:s.popoverState.value===0);function d(w){var $,D;switch(w.key){case ot.Escape:if(s.popoverState.value!==0||!Y(s.panel)||i.value&&!(($=Y(s.panel))!=null&&$.contains(i.value.activeElement)))return;w.preventDefault(),w.stopPropagation(),s.closePopover(),(D=Y(s.button))==null||D.focus();break}}function f(w){var D,V,W,N,S;const $=w.relatedTarget;$&&Y(s.panel)&&((D=Y(s.panel))!=null&&D.contains($)||(s.closePopover(),((W=(V=Y(s.beforePanelSentinel))==null?void 0:V.contains)!=null&&W.call(V,$)||(S=(N=Y(s.afterPanelSentinel))==null?void 0:N.contains)!=null&&S.call(N,$))&&$.focus({preventScroll:!0})))}const h=Ja();function b(){const w=Y(s.panel);if(!w)return;function $(){nt(h.value,{[$t.Forwards]:()=>{var V;at(w,We.First)===Cn.Error&&((V=Y(s.afterPanelSentinel))==null||V.focus())},[$t.Backwards]:()=>{var D;(D=Y(s.button))==null||D.focus({preventScroll:!0})}})}$()}function E(){const w=Y(s.panel);if(!w)return;function $(){nt(h.value,{[$t.Forwards]:()=>{const D=Y(s.button),V=Y(s.panel);if(!D)return;const W=di(),N=W.indexOf(D),S=W.slice(0,N+1),te=[...W.slice(N+1),...S];for(const A of te.slice())if(A.dataset.moonbaseFocusGuard==="true"||V!=null&&V.contains(A)){const k=te.indexOf(A);k!==-1&&te.splice(k,1)}at(te,We.First,{sorted:!1})},[$t.Backwards]:()=>{var V;at(w,We.Previous)===Cn.Error&&((V=Y(s.button))==null||V.focus())}})}$()}return()=>{const w={open:s.popoverState.value===0,close:s.close},{id:$,focus:D,...V}=e,W={ref:s.panel,id:$,onKeydown:d,onFocusout:o&&s.popoverState.value===0?f:void 0,tabIndex:-1};return rt({ourProps:W,theirProps:{...t,...V},attrs:t,slot:w,slots:{...n,default:(...N)=>{var S;return[Ue(ke,[c.value&&s.isPortalled.value&&Ue(tr,{id:a,ref:s.beforePanelSentinel,features:er.Focusable,"data-moonbase-focus-guard":!0,as:"button",type:"button",onFocus:b}),(S=n.default)==null?void 0:S.call(n,...N),c.value&&s.isPortalled.value&&Ue(tr,{id:l,ref:s.afterPanelSentinel,features:er.Focusable,"data-moonbase-focus-guard":!0,as:"button",type:"button",onFocus:E})])]}},features:Xn.RenderStrategy|Xn.Static,visible:c.value,name:"PopoverPanel"})}}});let Sb=pe({props:{onFocus:{type:Function,required:!0}},setup(e){let t=j(!0);return()=>t.value?Ue(tr,{as:"button",type:"button",features:er.Focusable,onFocus(n){n.preventDefault();let r,o=50;function s(){var i;if(o--<=0){r&&cancelAnimationFrame(r);return}if((i=e.onFocus)!=null&&i.call(e)){t.value=!1,cancelAnimationFrame(r);return}r=requestAnimationFrame(s)}r=requestAnimationFrame(s)}}):null}});const yf=Symbol("TabsContext");function vi(e){const t=Se(yf,null);if(t===null)throw new Error(`<${e} /> is missing a parent <TabGroup /> component.`);return t}const ol=Symbol("TabsSSRContext"),kb=pe({name:"TabGroup",emits:{change:e=>!0},props:{as:{type:[Object,String],default:"template"},selectedIndex:{type:[Number],default:null},defaultIndex:{type:[Number],default:0},vertical:{type:[Boolean],default:!1},manual:{type:[Boolean],default:!1}},inheritAttrs:!1,setup(e,{slots:t,attrs:n,emit:r}){const o=j(e.selectedIndex??e.defaultIndex),s=j([]),i=j([]),a=J(()=>e.selectedIndex!==null),l=J(()=>a.value?e.selectedIndex:o.value),u={selectedIndex:J(()=>o.value??e.defaultIndex??null),orientation:J(()=>e.vertical?"vertical":"horizontal"),activation:J(()=>e.manual?"manual":"auto"),tabs:s,panels:i,setSelectedIndex(b){l.value!==b&&r("change",b),a.value||c(b)},registerTab(b){if(s.value.includes(b))return;const E=s.value[o.value];if(s.value.push(b),s.value=Yr(s.value,Y),!a.value){const w=s.value.indexOf(E)??o.value;w!==-1&&(o.value=w)}},unregisterTab(b){const E=s.value.indexOf(b);E!==-1&&s.value.splice(E,1)},registerPanel(b){i.value.includes(b)||(i.value.push(b),i.value=Yr(i.value,Y))},unregisterPanel(b){const E=i.value.indexOf(b);E!==-1&&i.value.splice(E,1)}};function c(b){const E=Yr(u.tabs.value,Y),w=Yr(u.panels.value,Y),$=E.filter(D=>{var V;return!((V=Y(D))!=null&&V.hasAttribute("disabled"))});if(b<0||b>E.length-1){const D=nt(o.value===null?0:Math.sign(b-o.value),{[-1]:()=>1,0:()=>nt(Math.sign(b),{[-1]:()=>0,0:()=>0,1:()=>1}),1:()=>0}),V=nt(D,{0:()=>E.indexOf($[0]),1:()=>E.indexOf($[$.length-1])});V!==-1&&(o.value=V),u.tabs.value=E,u.panels.value=w}else{const D=E.slice(0,b),W=[...E.slice(b),...D].find(S=>$.includes(S));if(!W)return;let N=E.indexOf(W)??u.selectedIndex.value;N===-1&&(N=u.selectedIndex.value),o.value=N,u.tabs.value=E,u.panels.value=w}}ft(yf,u);const d=j({tabs:[],panels:[]}),f=j(!1);Re(()=>{f.value=!0}),ft(ol,J(()=>f.value?null:d.value));const h=J(()=>e.selectedIndex);return Re(()=>{Ge([h],()=>c(e.selectedIndex??e.defaultIndex),{immediate:!0})}),pt(()=>{if(!a.value||l.value==null||u.tabs.value.length<=0)return;const b=Yr(u.tabs.value,Y);b.some((w,$)=>Y(u.tabs.value[$])!==Y(w))&&u.setSelectedIndex(b.findIndex(w=>Y(w)===Y(u.tabs.value[l.value])))}),()=>{const b={selectedIndex:o.value};return Ue(ke,[s.value.length<=0&&Ue(Sb,{onFocus:()=>{for(const E of s.value){const w=Y(E);if((w==null?void 0:w.tabIndex)===0)return w.focus(),!0}return!1}}),rt({theirProps:{...n,...Ya(e,["selectedIndex","defaultIndex","manual","vertical","onChange"])},ourProps:{},slot:b,slots:t,attrs:n,name:"TabGroup"})])}}}),Cb=pe({name:"TabList",props:{as:{type:[Object,String],default:"div"}},setup(e,{attrs:t,slots:n}){const r=vi("TabList");return()=>{const o={selectedIndex:r.selectedIndex.value},s={role:"tablist","aria-orientation":r.orientation.value};return rt({ourProps:s,theirProps:e,slot:o,attrs:t,slots:n,name:"TabList"})}}}),sl=pe({name:"Tab",props:{as:{type:[Object,String],default:"button"},disabled:{type:[Boolean],default:!1},id:{type:String,default:()=>`moonbase-tabs-tab-${Lt()}`}},setup(e,{attrs:t,slots:n,expose:r}){const o=vi("Tab"),s=j(null);r({el:s,$el:s}),Re(()=>o.registerTab(s)),dt(()=>o.unregisterTab(s));const i=Se(ol),a=J(()=>{if(i.value){const w=i.value.tabs.indexOf(e.id);return w===-1?i.value.tabs.push(e.id)-1:w}return-1}),l=J(()=>{const w=o.tabs.value.indexOf(s);return w===-1?a.value:w}),u=J(()=>l.value===o.selectedIndex.value);function c(w){var D;const $=w();if($===Cn.Success&&o.activation.value==="auto"){const V=(D=kn(s))==null?void 0:D.activeElement,W=o.tabs.value.findIndex(N=>Y(N)===V);W!==-1&&o.setSelectedIndex(W)}return $}function d(w){const $=o.tabs.value.map(V=>Y(V)).filter(Boolean);if(w.key===ot.Space||w.key===ot.Enter){w.preventDefault(),w.stopPropagation(),o.setSelectedIndex(l.value);return}switch(w.key){case ot.Home:case ot.PageUp:return w.preventDefault(),w.stopPropagation(),c(()=>at($,We.First));case ot.End:case ot.PageDown:return w.preventDefault(),w.stopPropagation(),c(()=>at($,We.Last))}if(c(()=>nt(o.orientation.value,{vertical(){return w.key===ot.ArrowUp?at($,We.Previous|We.WrapAround):w.key===ot.ArrowDown?at($,We.Next|We.WrapAround):Cn.Error},horizontal(){return w.key===ot.ArrowLeft?at($,We.Previous|We.WrapAround):w.key===ot.ArrowRight?at($,We.Next|We.WrapAround):Cn.Error}}))===Cn.Success)return w.preventDefault()}const f=j(!1);function h(){var w;f.value||(f.value=!0,!e.disabled&&((w=Y(s))==null||w.focus({preventScroll:!0}),o.setSelectedIndex(l.value),fi(()=>{f.value=!1})))}function b(w){w.preventDefault()}const E=cf(J(()=>({as:e.as,type:t.type})),s);return()=>{var W;const w={selected:u.value,disabled:e.disabled??!1},{id:$,...D}=e,V={ref:s,onKeydown:d,onMousedown:b,onClick:h,id:$,role:"tab",type:E.value,"aria-controls":(W=Y(o.panels.value[l.value]))==null?void 0:W.id,"aria-selected":u.value,tabIndex:u.value?0:-1,disabled:e.disabled?!0:void 0};return rt({ourProps:V,theirProps:D,slot:w,attrs:t,slots:n,name:"Tab"})}}}),Tb=pe({name:"TabPanels",props:{as:{type:[Object,String],default:"div"}},setup(e,{slots:t,attrs:n}){const r=vi("TabPanels");return()=>{const o={selectedIndex:r.selectedIndex.value};return rt({theirProps:e,ourProps:{},slot:o,attrs:n,slots:t,name:"TabPanels"})}}}),il=pe({name:"TabPanel",props:{as:{type:[Object,String],default:"div"},static:{type:Boolean,default:!1},unmount:{type:Boolean,default:!0},id:{type:String,default:()=>`moonbase-tabs-panel-${Lt()}`},tabIndex:{type:Number,default:0}},setup(e,{attrs:t,slots:n,expose:r}){const o=vi("TabPanel"),s=j(null);r({el:s,$el:s}),Re(()=>o.registerPanel(s)),dt(()=>o.unregisterPanel(s));const i=Se(ol),a=J(()=>{if(i.value){const c=i.value.panels.indexOf(e.id);return c===-1?i.value.panels.push(e.id)-1:c}return-1}),l=J(()=>{const c=o.panels.value.indexOf(s);return c===-1?a.value:c}),u=J(()=>l.value===o.selectedIndex.value);return()=>{var E;const c={selected:u.value},{id:d,tabIndex:f,...h}=e,b={ref:s,id:d,role:"tabpanel","aria-labelledby":(E=Y(o.tabs.value[l.value]))==null?void 0:E.id,tabIndex:u.value?f:-1};return!u.value&&e.unmount&&!e.static?Ue(tr,{as:"span","aria-hidden":!0,...b}):rt({ourProps:b,theirProps:h,slot:c,attrs:t,slots:n,features:Xn.Static|Xn.RenderStrategy,visible:u.value,name:"TabPanel"})}}});function Pb(e){let t={called:!1};return(...n)=>{if(!t.called)return t.called=!0,e(...n)}}function al(e,...t){e&&t.length>0&&!e.dataset.transition?e.dataset.transition=t.join(" "):e&&t.length>0&&e.dataset.transition&&(e.dataset.transition=[...e.dataset.transition.split(" "),...t].join(" "))}function gi(e,...t){e&&t.length>0&&e.dataset.transition&&(e.dataset.transition=e.dataset.transition.split(" ").filter(n=>!t.includes(n)).join(" "))}var ll=(e=>(e.Finished="finished",e.Cancelled="cancelled",e))(ll||{});function $b(e,t){const n=Jo();if(!e)return n.dispose;const{transitionDuration:r,transitionDelay:o}=getComputedStyle(e),[s,i]=[r,o].map(a=>{const[l=0]=a.split(",").filter(Boolean).map(u=>u.includes("ms")?Number.parseFloat(u):Number.parseFloat(u)*1e3).sort((u,c)=>c-u);return l});return s!==0?n.setTimeout(()=>t("finished"),s+i):t("finished"),n.add(()=>t("cancelled")),n.dispose}function bf(e,t,n,r,o,s){const i=Jo(),a=s!==void 0?Pb(s):()=>{};return gi(e,...o),al(e,...t,...n),i.nextFrame(()=>{gi(e,...n),al(e,...r),i.add($b(e,l=>(gi(e,...r,...t),al(e,...o),a(l))))}),i.add(()=>gi(e,...t,...n,...r,...o)),i.add(()=>a("cancelled")),i.dispose}function kr(e=""){return e.split(/\s+/).filter(t=>t.length>1)}const ul=Symbol("TransitionContext");function Db(){return Se(ul,null)!==null}function Ib(){const e=Se(ul,null);if(e===null)throw new Error("A <TransitionChild /> is used but it is missing a parent <TransitionRoot />.");return e}const cl=Symbol("NestingContext");function Ab(){const e=Se(cl,null);if(e===null)throw new Error("A <TransitionChild /> is used but it is missing a parent <TransitionRoot />.");return e}function yi(e){return"children"in e?yi(e.children):e.value.filter(({state:t})=>t==="visible").length>0}function _f(e){const t=j([]),n=j(!1);Re(()=>n.value=!0),dt(()=>n.value=!1);function r(s,i=Qn.Hidden){const a=t.value.findIndex(({id:l})=>l===s);a!==-1&&(nt(i,{[Qn.Unmount](){t.value.splice(a,1)},[Qn.Hidden](){t.value[a].state="hidden"}}),!yi(t)&&n.value&&(e==null||e()))}function o(s){const i=t.value.find(({id:a})=>a===s);return i?i.state!=="visible"&&(i.state="visible"):t.value.push({id:s,state:"visible"}),()=>r(s,Qn.Unmount)}return{children:t,register:o,unregister:r}}const wf=Xn.RenderStrategy,Qo=pe({props:{as:{type:[Object,String],default:"div"},show:{type:[Boolean],default:null},unmount:{type:[Boolean],default:!0},appear:{type:[Boolean],default:!1},enter:{type:[String],default:"enter"},enterFrom:{type:[String],default:"enter-from"},enterTo:{type:[String],default:"enter-to"},entered:{type:[String],default:"entered"},leave:{type:[String],default:"leave"},leaveFrom:{type:[String],default:"leave-from"},leaveTo:{type:[String],default:"leave-to"}},emits:{beforeEnter:()=>!0,afterEnter:()=>!0,beforeLeave:()=>!0,afterLeave:()=>!0},setup(e,{emit:t,attrs:n,slots:r,expose:o}){const s=j(0);function i(){s.value|=lt.Opening,t("beforeEnter")}function a(){s.value&=~lt.Opening,t("afterEnter")}function l(){s.value|=lt.Closing,t("beforeLeave")}function u(){s.value&=~lt.Closing,t("afterLeave")}if(!Db()&&vb())return()=>Ue(dl,{...e,onBeforeEnter:i,onAfterEnter:a,onBeforeLeave:l,onAfterLeave:u},r);const c=j(null),d=J(()=>e.unmount?Qn.Unmount:Qn.Hidden);o({el:c,$el:c});const{show:f,appear:h}=Ib(),{register:b,unregister:E}=Ab(),w=j(f.value?"visible":"hidden"),$={value:!0},D=Lt(),V={value:!1},W=_f(()=>{!V.value&&w.value!=="hidden"&&(w.value="hidden",E(D),u())});Re(()=>{const se=b(D);dt(se)}),pt(()=>{if(d.value===Qn.Hidden&&D){if(f.value&&w.value!=="visible"){w.value="visible";return}nt(w.value,{hidden:()=>E(D),visible:()=>b(D)})}});const N=kr(e.enter),S=kr(e.enterFrom),R=kr(e.enterTo),te=kr(e.entered),A=kr(e.leave),k=kr(e.leaveFrom),P=kr(e.leaveTo);Re(()=>{pt(()=>{if(w.value==="visible"){const se=Y(c);if(se instanceof Comment&&se.data==="")throw new Error("Did you forget to passthrough the `ref` to the actual DOM node?")}})});function x(se){const De=$.value&&!h.value,O=Y(c);!O||!(O instanceof HTMLElement)||De||(V.value=!0,f.value&&i(),f.value||l(),se(f.value?bf(O,N,S,R,te,M=>{V.value=!1,M===ll.Finished&&a()}):bf(O,A,k,P,te,M=>{V.value=!1,M===ll.Finished&&(yi(W)||(w.value="hidden",E(D),u()))})))}return Re(()=>{Ge([f],(se,De,O)=>{x(O),$.value=!1},{immediate:!0})}),ft(cl,W),Xd(J(()=>nt(w.value,{visible:lt.Open,hidden:lt.Closed})|s.value)),()=>{const{appear:se,show:De,enter:O,enterFrom:M,enterTo:Q,entered:oe,leave:me,leaveFrom:ie,leaveTo:Fe,...mt}=e,Be={ref:c},St={...mt,...h.value&&f.value&&Ko.isServer?{class:_s([n.class,mt.class,...N,...S])}:{}};return rt({theirProps:St,ourProps:Be,slot:{},slots:r,attrs:n,features:wf,visible:w.value==="visible",name:"TransitionChild"})}}}),Vb=Qo,dl=pe({inheritAttrs:!1,props:{as:{type:[Object,String],default:"div"},show:{type:[Boolean],default:null},unmount:{type:[Boolean],default:!0},appear:{type:[Boolean],default:!1},enter:{type:[String],default:""},enterFrom:{type:[String],default:""},enterTo:{type:[String],default:""},entered:{type:[String],default:""},leave:{type:[String],default:""},leaveFrom:{type:[String],default:""},leaveTo:{type:[String],default:""}},emits:{beforeEnter:()=>!0,afterEnter:()=>!0,beforeLeave:()=>!0,afterLeave:()=>!0},setup(e,{emit:t,attrs:n,slots:r}){const o=pi(),s=J(()=>e.show===null&&o!==null?(o.value<.Open)===lt.Open:e.show);pt(()=>{if(![!0,!1].includes(s.value))throw new Error('A <Transition /> is used but it is missing a `:show="true | false"` prop.')});const i=j(s.value?"visible":"hidden"),a=_f(()=>{i.value="hidden"}),l=j(!0),u={show:s,appear:J(()=>e.appear||!l.value)};return Re(()=>{pt(()=>{l.value=!1,s.value?i.value="visible":yi(a)||(i.value="hidden")})}),ft(cl,a),ft(ul,u),()=>{const c=Ya(e,["show","appear","unmount","onBeforeEnter","onBeforeLeave","onAfterEnter","onAfterLeave"]),d={unmount:e.unmount};return rt({ourProps:{...d,as:"template"},theirProps:{},slot:{},slots:{...r,default:()=>[Ue(Vb,{onBeforeEnter:()=>t("beforeEnter"),onAfterEnter:()=>t("afterEnter"),onBeforeLeave:()=>t("beforeLeave"),onAfterLeave:()=>t("afterLeave"),...n,...d,...c},r.default)]},attrs:{},features:wf,visible:i.value==="visible",name:"Transition"})}}}),Rb={class:"moonbase:modal-container"},bi=pe({__name:"Modal",props:{open:{type:Boolean}},emits:["close"],setup(e){const t=Se(Gr);return(n,r)=>(y(),xe(_(dl),{as:"template",show:n.open},{default:_e(()=>{var o,s;return[q(_(sf),{as:"div",class:"moonbase:modal","data-contain":!!((o=_(t))!=null&&o.target)||void 0,"make-inert":!((s=_(t))!=null&&s.target),onClose:r[0]||(r[0]=i=>n.$emit("close"))},{default:_e(()=>[C("div",Rb,[q(_(Qo),{as:"template"},{default:_e(()=>{var i;return[q(_(af),{class:"moonbase:modal-overlay","data-contain":!!((i=_(t))!=null&&i.target)||void 0},null,8,["data-contain"])]}),_:1}),q(_(Qo),{as:"template"},{default:_e(()=>[q(_(lf),{class:"moonbase:modal-content"},{default:_e(()=>[ma(n.$slots,"default")]),_:3})]),_:3})])]),_:3},8,["data-contain","make-inert"])]}),_:3},8,["show"]))}}),jb=["data-visible"],Mb=pe({__name:"SignIn",emits:["signedIn"],setup(e,{emit:t}){const n=t,r=je(),o=wt(),s=Se(Gr),i=j(r.getParameter("email")??""),a=j(""),l=j(null);async function u(){l.value=null;try{const c=await o.signIn(i.value,a.value);Kt(1500).then(()=>n("signedIn",c))}catch(c){throw c instanceof Vn?l.value="User not found":l.value=c.message,c}}return(c,d)=>(y(),xe(Jn,{handler:u,class:"moonbase:sign-in"},{default:_e(()=>{var f;return[q(Et,{modelValue:i.value,"onUpdate:modelValue":d[0]||(d[0]=h=>i.value=h),label:"Email address",name:"email",type:"email",placeholder:"Email address",autocomplete:"email",required:""},null,8,["modelValue"]),q(Et,{modelValue:a.value,"onUpdate:modelValue":d[1]||(d[1]=h=>a.value=h),label:"Password",name:"password",type:"password",placeholder:"Password",autocomplete:"current-password",required:""},null,8,["modelValue"]),q(Yn,{success:"Signed in",label:"Sign in",error:"Error"}),C("span",{class:"moonbase:error","data-visible":!!l.value||void 0},G(l.value),9,jb),(f=_(s))!=null&&f.auth.signUp.enabled?(y(),T("button",{key:0,type:"button",onClick:d[2]||(d[2]=h=>_(r).show(_(Oe).Authentication,_(le).SignUp,{email:i.value}))}," Create account ")):de("",!0),C("button",{type:"button",onClick:d[3]||(d[3]=h=>_(r).show(_(Oe).Authentication,_(le).ForgotPassword,{email:i.value}))}," Forgot password ")]}),_:1}))}});function fl(...e){}const Lb={class:"moonbase:authentication"},Ub={key:0,class:"moonbase:loader"},Fb=pe({__name:"Authentication",props:{open:{type:Boolean}},setup(e){const t=je(),{loaded:n}=wt(),r=J(()=>{switch(t.intent){case le.SignIn:return"Sign in";case le.SignUp:return"Sign up";case le.ConfirmAccount:return"Confirm account";case le.ConfirmEmailChange:return"Confirm email change";case le.ForgotPassword:return"Forgot password";case le.ResetPassword:return"Reset password"}return"Authentication"}),o=J(()=>{if(t.intent===le.SignIn&&t.next){const[i,a,l]=t.next;if(i===Oe.Authentication&&a===le.ConfirmEmailChange)return"to confirm email"}return null});function s(){t.reset()}return(i,a)=>(y(),xe(bi,{open:i.open,onClose:s},{default:_e(()=>[C("div",Lb,[q(_(mi),{as:"h3"},{default:_e(()=>[Ce(G(r.value)+" "+G(o.value),1)]),_:1}),_(n)?_(t).intent===_(le).SignIn?(y(),xe(Mb,{key:1,onSignedIn:a[0]||(a[0]=l=>_(t).dequeue())})):_(t).intent===_(le).SignUp?(y(),xe(jy,{key:2,onSignedUp:a[1]||(a[1]=l=>_(t).show(_(Oe).Customer,_(le).ViewAccount))})):_(t).intent===_(le).ConfirmAccount?(y(),xe(Fy,{key:3,onConfirmedAccount:a[2]||(a[2]=l=>_(t).show(_(Oe).Customer,_(le).ViewAccount))})):_(t).intent===_(le).ConfirmEmailChange?(y(),xe(Gy,{key:4})):_(t).intent===_(le).ForgotPassword?(y(),xe(Hy,{key:5})):_(t).intent===_(le).ResetPassword?(y(),xe(qy,{key:6,onPasswordReset:a[3]||(a[3]=l=>_(t).show(_(Oe).Customer,_(le).ViewAccount))})):de("",!0):(y(),T("div",Ub,[q(Mt)]))])]),_:1},8,["open"]))}});function Dt(e,t){return new Intl.NumberFormat(void 0,{style:"currency",currency:t,currencyDisplay:"narrowSymbol",maximumFractionDigits:2,minimumFractionDigits:2}).format(e)}const Bb={class:"moonbase:product-cart-item"},Hb=["src"],Zb={key:1,class:"moonbase:image-placeholder"},qb={class:"moonbase:product-cart-item-content"},Wb={key:0,class:"moonbase:cart-item-discount"},zb={class:"font-semibold"},Kb={key:0,class:"ml-0.5"},Gb={key:2,class:"moonbase:product-cart-item-total"},Jb={key:0,class:"moonbase:discount"},Yb={key:1},Xb=pe({__name:"ProductCartItem",props:{lineItem:{},currency:{}},setup(e){return(t,n)=>{var r,o,s;return y(),T("div",Bb,[(r=t.lineItem.product)!=null&&r.iconUrl?(y(),T("img",{key:0,src:t.lineItem.product.iconUrl,alt:""},null,8,Hb)):(y(),T("div",Zb)),C("div",qb,[C("h3",null,G((o=t.lineItem.product)==null?void 0:o.name),1),C("p",null,G((s=t.lineItem.product)==null?void 0:s.tagline),1),t.lineItem.appliedDiscount?(y(),T("p",Wb,[n[0]||(n[0]=Ce(" Discount applied: ")),C("span",zb,G(t.lineItem.appliedDiscount.name),1),t.lineItem.appliedDiscount.total?(y(),T("span",Kb," (-"+G(_(Dt)(t.lineItem.appliedDiscount.total[t.currency],t.currency))+") ",1)):de("",!0)])):de("",!0),C("p",null,G(t.lineItem.quantity)+" in cart",1)]),t.lineItem.variation?(y(),T("div",Gb,[t.lineItem.variation.hasDiscount?(y(),T("span",Jb,G(_(Dt)(t.lineItem.variation.originalPrice[t.currency],t.currency)),1)):de("",!0),t.lineItem.quantity!==1?(y(),T("span",Yb,G(t.lineItem.quantity)+" x "+G(_(Dt)(t.lineItem.variation.price[t.currency],t.currency)),1)):de("",!0),Ce(" "+G(_(Dt)(t.lineItem.variation.price[t.currency]*t.lineItem.quantity,t.currency)),1)])):de("",!0)])}}}),Qb={class:"moonbase:bundle-cart-item"},e_=["src"],t_={key:1,class:"moonbase:image-placeholder"},n_={class:"moonbase:bundle-cart-item-content"},r_={key:0,class:"moonbase:cart-item-discount"},o_={class:"font-semibold"},s_={key:0,class:"ml-0.5"},i_={class:"moonbase:bundle-cart-item-summary"},a_=["data-open"],l_={key:2,class:"moonbase:product-cart-item-total"},u_={key:0,class:"moonbase:discount"},c_={key:1},d_=["src"],f_={key:1,class:"moonbase:image-placeholder"},p_=["data-included"],h_={key:0,fill:"none",viewBox:"0 0 24 24","stroke-width":"1.5",stroke:"currentColor"},m_={key:0,class:"truncate italic"},v_={key:1,class:"truncate"},g_=pe({__name:"BundleCartItem",props:{lineItem:{},currency:{}},setup(e){const t=j(!1),n=j(null);return Ge(t,r=>{n.value&&(n.value.style.height=r?`${n.value.scrollHeight}px`:"0px")}),(r,o)=>{var s,i,a,l,u,c,d;return y(),T("div",null,[C("div",Qb,[(s=r.lineItem.bundle)!=null&&s.iconUrl?(y(),T("img",{key:0,src:r.lineItem.bundle.iconUrl,alt:""},null,8,e_)):(y(),T("div",t_)),C("div",n_,[C("h3",null,G((i=r.lineItem.bundle)==null?void 0:i.name),1),C("p",null,G((a=r.lineItem.bundle)==null?void 0:a.tagline),1),r.lineItem.appliedDiscount?(y(),T("p",r_,[o[1]||(o[1]=Ce(" Discount applied: ")),C("span",o_,G(r.lineItem.appliedDiscount.name),1),r.lineItem.appliedDiscount.total?(y(),T("span",s_," (-"+G(_(Dt)(r.lineItem.appliedDiscount.total[r.currency],r.currency))+") ",1)):de("",!0)])):de("",!0),C("div",i_,[C("span",null,G(r.lineItem.quantity)+" in cart",1),r.lineItem.bundle?(y(),T("button",{key:0,onClick:o[0]||(o[0]=f=>t.value=!t.value)},[C("span",null,[Ce(" Including "+G((l=r.lineItem.bundle)==null?void 0:l.products.filter(f=>f.included).length)+" ",1),(u=r.lineItem.bundle)!=null&&u.products.some(f=>!f.included)?(y(),T(ke,{key:0},[Ce("of "+G((c=r.lineItem.bundle)==null?void 0:c.products.length),1)],64)):de("",!0),o[2]||(o[2]=Ce(" products "))]),(y(),T("svg",{"data-open":t.value||void 0,fill:"none",viewBox:"0 0 24 24","stroke-width":"1.5",stroke:"currentColor"},o[3]||(o[3]=[C("path",{"stroke-linecap":"round","stroke-linejoin":"round",d:"m19.5 8.25-7.5 7.5-7.5-7.5"},null,-1)]),8,a_))])):de("",!0)])]),r.lineItem.variation?(y(),T("div",l_,[r.lineItem.variation.hasDiscount?(y(),T("span",u_,G(_(Dt)(r.lineItem.variation.originalPrice[r.currency],r.currency)),1)):de("",!0),r.lineItem.quantity!==1?(y(),T("span",c_,G(r.lineItem.quantity)+" x "+G(_(Dt)(r.lineItem.variation.price[r.currency],r.currency)),1)):de("",!0),Ce(" "+G(_(Dt)(r.lineItem.variation.price[r.currency]*r.lineItem.quantity,r.currency)),1)])):de("",!0)]),C("div",{ref_key:"productListRef",ref:n,class:"moonbase:bundle-cart-item-product-list",style:{height:"0px"}},[(y(!0),T(ke,null,an(((d=r.lineItem.bundle)==null?void 0:d.products)||[],f=>(y(),T("div",{key:f.id},[f!=null&&f.iconUrl?(y(),T("img",{key:0,src:f.iconUrl,alt:""},null,8,d_)):(y(),T("div",f_)),C("div",null,[C("h3",{"data-included":f.included||void 0},[f.included?(y(),T("svg",h_,o[4]||(o[4]=[C("path",{"stroke-linecap":"round","stroke-linejoin":"round",d:"m4.5 12.75 6 6 9-13.5"},null,-1)]))):de("",!0),Ce(" "+G(f==null?void 0:f.name),1)],8,p_),f.included?f!=null&&f.tagline?(y(),T("p",v_,G(f.tagline),1)):de("",!0):(y(),T("p",m_," You already own this "))])]))),128))],512)])}}}),y_={class:"moonbase:cart-modal-container"},b_=pe({__name:"CartModal",props:{open:{type:Boolean}},emits:["close"],setup(e){return(t,n)=>(y(),xe(_(dl),{as:"template",show:t.open},{default:_e(()=>[q(_(sf),{as:"div",class:"moonbase:cart-modal",onClose:n[0]||(n[0]=r=>t.$emit("close"))},{default:_e(()=>[C("div",y_,[q(_(Qo),{as:"template"},{default:_e(()=>[q(_(af),{class:"moonbase:cart-modal-overlay"})]),_:1}),q(_(Qo),{as:"template"},{default:_e(()=>[q(_(lf),{class:"moonbase:cart-modal-content"},{default:_e(()=>[ma(t.$slots,"default")]),_:3})]),_:3})])]),_:3})]),_:3},8,["show"]))}}),__=["disabled","data-success","data-error","data-working","data-variant"],w_=["data-visible"],Ef=pe({__name:"MoonButton",props:{handler:{type:Function},label:{},success:{},error:{},variant:{},noReset:{type:Boolean}},setup(e){const t=e,n=j(!1),r=j(!1),o=j(!1),s=J(()=>r.value?t.success??t.label:o.value?t.error:t.label);async function i(){try{const a=t.handler();if(a instanceof Promise){if(n.value=!0,await a,n.value=!1,!t.success)return;r.value=!0,await Kt(2500),t.noReset||(r.value=!1)}}catch{n.value=!1,o.value=!0,await Kt(2500),o.value=!1}}return(a,l)=>(y(),T("button",{class:"moonbase:button",type:"button",disabled:r.value||o.value||n.value,"data-success":r.value&&a.success||void 0,"data-error":o.value||void 0,"data-working":n.value||void 0,"data-variant":a.variant,onClick:i},[C("div",{"data-visible":n.value||void 0,"aria-hidden":"true"},[n.value?(y(),xe(Mt,{key:0})):de("",!0)],8,w_),Ce(" "+G(s.value),1)],8,__))}}),E_={class:"moonbase:cart"},O_={key:0,role:"list",class:"moonbase:cart-items"},N_={key:1,class:"moonbase:cart-empty"},x_={key:2,class:"moonbase:cart-total"},S_=pe({__name:"Cart",props:{open:{type:Boolean}},setup(e){const t=je(),{items:n,total:r,currency:o,checkout:s}=ni(),i=Se(Gr);async function a(){if(!await s({redirect:(i==null?void 0:i.checkout.redirect)??!1,returnUrl:`${window.location.pathname}?mb_intent=view_products`}))throw new Error("Cancelled checkout")}return(l,u)=>(y(),xe(b_,{open:l.open,onClose:u[0]||(u[0]=c=>_(t).reset())},{default:_e(()=>[C("div",E_,[q(_(mi),{as:"h3"},{default:_e(()=>u[1]||(u[1]=[Ce(" Cart ")])),_:1}),_(n).length>0?(y(),T("ul",O_,[(y(!0),T(ke,null,an(_(n),c=>(y(),T("li",{key:c.id},[c.type==="Product"?(y(),xe(Xb,{key:0,"line-item":c,currency:_(o)},null,8,["line-item","currency"])):c.type==="Bundle"?(y(),xe(g_,{key:1,"line-item":c,currency:_(o)},null,8,["line-item","currency"])):de("",!0)]))),128))])):(y(),T("div",N_," Your cart is empty! ")),_(n).length>0?(y(),T("div",x_,[u[2]||(u[2]=C("label",null," Total ",-1)),C("span",null,G(_(Dt)(_(r).amount,_(r).currency)),1),u[3]||(u[3]=C("p",null," Sales tax to be calculated at checkout ",-1))])):de("",!0),_(n).length>0?(y(),xe(Ef,{key:3,handler:a,label:"Checkout",error:"Cancelled"})):de("",!0)])]),_:1},8,["open"]))}}),k_={class:"moonbase:account"},C_={key:0,class:"moonbase:error"},T_={key:1,class:"moonbase:notification"},P_={key:0,class:"moonbase:error"},$_=pe({__name:"Account",setup(e){var D,V,W;const t=je(),{user:n,update:r,setPassword:o,signOut:s}=wt(),i=j(((D=n.value)==null?void 0:D.name)??""),a=j(((V=n.value)==null?void 0:V.email)??""),l=j(((W=n.value)==null?void 0:W.communicationPreferences)??{newsletterOptIn:!1}),u=j(null),c=j(!1),d=j(""),f=j(""),h=j(null),b=j(!1);async function E(){u.value=null,c.value=!1;try{(await r(i.value,a.value,void 0,l.value)).needsEmailConfirmationToken&&(c.value=!0)}catch(N){throw u.value=N,N}}async function w(){h.value=null;try{await o(d.value,f.value),d.value="",f.value=""}catch(N){throw h.value=N,N}}async function $(){b.value=!0,await s(),t.reset()}return(N,S)=>(y(),T("div",k_,[q(Jn,{handler:E},{default:_e(()=>[q(Et,{modelValue:i.value,"onUpdate:modelValue":S[0]||(S[0]=R=>i.value=R),label:"Full name",name:"name",autocomplete:"name",required:""},null,8,["modelValue"]),q(Et,{modelValue:a.value,"onUpdate:modelValue":S[1]||(S[1]=R=>a.value=R),label:"Email address",name:"email",type:"email",autocomplete:"email",required:""},null,8,["modelValue"]),q(Md,{modelValue:l.value.newsletterOptIn,"onUpdate:modelValue":S[2]||(S[2]=R=>l.value.newsletterOptIn=R),label:"Newsletter subscription",name:"newsletter-opt-in",hint:"Receive updates and offers by email"},null,8,["modelValue"]),q(Yn,{label:"Save",error:"Error",success:"Saved"}),u.value?(y(),T("p",C_,G(u.value.message),1)):c.value?(y(),T("p",T_," You need to confirm your new email address, please check your inbox ")):de("",!0)]),_:1}),q(Jn,{handler:w},{default:_e(()=>[q(Et,{modelValue:d.value,"onUpdate:modelValue":S[3]||(S[3]=R=>d.value=R),label:"Current password",name:"old-password",type:"password",autocomplete:"current-password",required:""},null,8,["modelValue"]),q(Et,{modelValue:f.value,"onUpdate:modelValue":S[4]||(S[4]=R=>f.value=R),label:"New password",name:"new-password",type:"password",autocomplete:"new-password",required:""},null,8,["modelValue"]),q(Yn,{label:"Save",error:"Error",success:"Saved"}),h.value?(y(),T("p",P_,G(h.value.message),1)):de("",!0)]),_:1}),q(Ef,{label:"Log out",success:"Logged out",error:"Error",variant:"secondary",handler:$})]))}}),D_={},I_={xmlns:"http://www.w3.org/2000/svg",viewBox:"0 0 512 512"};function A_(e,t){return y(),T("svg",I_,t[0]||(t[0]=[C("path",{d:"M320 336h76c55 0 100-21.21 100-75.6s-53-73.47-96-75.6C391.11 99.74 329 48 256 48c-69 0-113.44 45.79-128 91.2-60 5.7-112 35.88-112 98.4S70 336 136 336h56M192 400.1l64 63.9 64-63.9M256 224v224.03",fill:"none",stroke:"currentColor","stroke-linecap":"round","stroke-linejoin":"round","stroke-width":"32"},null,-1)]))}const Of=Jr(D_,[["render",A_]]),V_={},R_={xmlns:"http://www.w3.org/2000/svg",viewBox:"0 0 512 512"};function j_(e,t){return y(),T("svg",R_,t[0]||(t[0]=[C("path",{d:"M480 265H232v179l248 36V265zM216 265H32v150l184 26.7V265zM480 32L232 67.4V249h248V32zM216 69.7L32 96v153h184V69.7z",fill:"currentColor"},null,-1)]))}const Nf=Jr(V_,[["render",j_]]),M_={},L_={xmlns:"http://www.w3.org/2000/svg",viewBox:"0 0 512 512"};function U_(e,t){return y(),T("svg",L_,t[0]||(t[0]=[C("path",{d:"M443.66 405.05c-1.46-.79-2.85-1.54-4-2.2-6.47-3.83-13-10.52-11.85-17.83 2.42-15.94 2.89-23.47-.49-28.79a15.61 15.61 0 0 0-7.67-6.2v-.06c1.41-2.56 2.26-5.66 2.83-10.12 1.44-11-5-44-13.7-70.7-8.08-24.68-29.24-50-44.7-68.56l-3.61-4.34c-23.88-28.93-24.34-38.19-26.55-82.67-.32-6.47-.69-13.8-1.17-22C329.87 41.43 304 16 256 16c-25.2 0-44.62 7.15-57.72 21.26C187.79 48.55 182 64 182 80.78c0 29.52 2 53 2.15 54.29 1.4 35.7 1 41.22-8.31 57.55-2.23 3.93-8.38 10.87-14.89 18.21-8.48 9.57-18.09 20.41-23.36 29.22-3.77 6.31-5.88 12.63-8.11 19.33-3.4 10.21-7.26 21.78-18.15 36.57-12.57 17.07-15.52 29.61-11 47.45-4.94 6.45-4.83 14.37-4.75 20.23a25.84 25.84 0 0 1-.3 6.09c-2.29 7.59-12.42 9.4-22 10.18-1.58.12-3.1.21-4.55.29-7.26.39-13.53.74-17.13 6.3-3.47 5.36-1.12 13.8 2.14 25.48.72 2.58 1.46 5.25 2.19 8.06 1.83 7-.16 10.48-2.68 14.84-2.44 4.21-5.21 9-5.21 17.55 0 14.67 20 18 43.05 21.94 7.36 1.24 15 2.53 22.63 4.24a225.58 225.58 0 0 1 34.08 10.68c9.72 3.73 17.4 6.68 26.43 6.68 16.18 0 28.25-9.77 39.92-19.21l2.15-1.75c5.53-4.49 21.5-4 34.34-3.64 3.46.1 6.73.2 9.65.2h6.22c13.48-.08 31.94-.18 42.23 2.5 3.75 1 6.2 3.72 9.29 7.19 5.87 6.56 13.17 14.75 33.39 14.75 19.39 0 29.55-8.71 41.32-18.8 7.16-6.13 14.56-12.48 25.07-17.86 3.92-2 7.62-3.87 11.08-5.61 22.64-11.38 35.11-17.65 35.11-27.82 0-9.91-12.24-16.5-20.34-20.86zM211.11 88.38a13.91 13.91 0 0 1 12.47 9c1.95 5.55 1.81 10.42.21 12.94 0 0-.22-1-.36-1.44a14.85 14.85 0 0 0-6.44-8.59 11.35 11.35 0 0 0-8.94-1.47c-4.26 1.13-8.41 5-8.91 18.79-5.16-10.47-2.31-18 .92-23 2.31-3.73 7.47-6.33 11.05-6.23zm-17.5 375C192 479.24 175.2 479 170.09 478.59c-9.81-.82-21.66-4.69-33.13-8.43-4.52-1.47-9.19-3-13.73-4.34-13.2-3.89-30.12-6.74-43.72-9-3.22-.55-6.27-1.06-9.05-1.55s-4.61-1.27-5.2-2.3c-1-1.65.38-5.25 1.93-9.41C69.27 438 72.11 430.34 72 421c0-3.91-1.47-8.3-2.84-12.56-1.62-5-3.28-10.17-1.93-12.62 1.23-2.23 6.75-2.49 11.6-2.49h2.26c3.55 0 6.62.06 8.75-.53 6.51-1.81 14.86-6.92 17.81-13.88.9-2.17 1.37-6.94 2-14 .37-4.12.74-8.37 1.22-10.58a3.55 3.55 0 0 1 2.11-2.55c1.65-.77 6.78-1.91 18.63 4.08 11.18 5.65 22.88 25.84 34.2 45.37 3.56 6.14 6.92 11.94 10.3 17.36 14.04 22.54 18.83 31.6 17.5 44.8zm128.84-31.56a68.74 68.74 0 0 1-4.55 10.9.58.58 0 0 1-1.08-.42 56.61 56.61 0 0 0 2.11-18.43c-.25-4.73-.4-7.59-2.66-8.51s-4.26.83-9.45 5.54c-1.1 1-2.36 2.14-3.78 3.4-10.8 9.47-26.88 20.68-55.61 23.37-16.84 1.59-27.59-4.63-30.92-8.14a2.16 2.16 0 0 0-3.07-.08 2.23 2.23 0 0 0-.51 2.29c2.12 6.84 1.2 12.26-.49 16.19-.95 2.2-1.85 2.05-2-.34-.25-4.64-1-9.88-3-14.19-3.11-6.94-7-14.34-8.89-17.88v-.05c3.24-1.49 8.86-4.83 11.37-10.88s4.48-18-9.82-31.74c-6.28-6.05-22.1-17.16-36.06-27-10.9-7.65-22.17-15.56-23.65-17.51-4.49-5.89-6.37-9.3-6.94-19.65.07-2.3.13-4.59.19-6.89l.27-2.49a.58.58 0 0 1 1.15 0 63.07 63.07 0 0 0 2 9.72c1.08 3.73 2.4 7.58 3.62 9.18 3.19 4.22 7.56 7.39 11.67 8.49a5.48 5.48 0 0 0 5-.72c2.93-2.33 2.65-7.6 2.19-16.34-.47-9-1.11-21.34 1.85-34.55 5.62-25 10.91-32.51 17.61-42 .86-1.22 1.75-2.47 2.65-3.79 1.44-2.08 3-4.1 4.67-6.23 7.47-9.61 15.93-20.49 13.92-40.95-.51-5.19-.76-8.83-.86-11.39a1 1 0 0 1 1.88-.59l.49.77 1.21 2c4.86 8 13.64 22.57 25.1 22.57a13.62 13.62 0 0 0 2.36-.21c23.39-3.93 51.9-30.25 52.17-30.51 3.12-3 2.84-6.14 1.64-7.91a5.18 5.18 0 0 0-6.45-1.72c-3.29 1.4-7.14 3.15-11.22 5-13.82 6.27-37 16.75-42.25 14.34a23.11 23.11 0 0 1-6.32-5.13 1 1 0 0 1 1.14-1.65c5.59 2.29 9.55 1.45 14.2-.08l1-.34c9.37-3.09 14.2-4.77 30.76-12.08a97.55 97.55 0 0 1 16.26-5.93c4-1 6.42-1.63 7.71-4.34a6.65 6.65 0 0 0-.5-7.13c-1.53-1.87-4.07-2.57-7-1.9-3.22.75-4.7 3-6.41 4.49-2.4 2.05-5 4.16-17.19 8.65-27 10-34.58 10.61-45.21 3.43-9.84-6.69-15.15-13.23-15.15-16 0-2.13 5.45-5.7 8.71-7.84 1.33-.87 2.59-1.69 3.62-2.46 4.34-3.22 13-11.39 13.38-11.73 5.4-5.41 17.91-2.18 25 2.58a2.23 2.23 0 0 0 1.72.41 2.14 2.14 0 0 0 1.68-2.58c-4.2-17.46-.13-27.34 4-32.55a22.58 22.58 0 0 1 17.48-8.48c12.81 0 21.76 10 21.76 24.42 0 11-2.82 16.79-5.48 20.3a1.73 1.73 0 0 1-2.58.18 1.78 1.78 0 0 1-.24-2.2A24.61 24.61 0 0 0 290 114a16.58 16.58 0 0 0-16.84-16.67c-3.94 0-13.48 1.5-16.77 15.44a29.81 29.81 0 0 0-.34 11.07l.08.71c.9 7.38 15.3 12.51 27.23 15.51 11.36 2.85 13 6.22 8.84 19.63s3.11 26.23 5.7 29.57a78.3 78.3 0 0 1 8.31 12.47 93.8 93.8 0 0 1 6.62 16.48c2.17 6.79 4.05 12.65 10.63 21.22 11.07 14.4 17.66 48.64 15 78-.21 2.41-.53 4.29-.77 5.67-.43 2.53-.72 4.2.66 5.38s3.16.7 7.26-.63l3.43-1.09a109.33 109.33 0 0 1 12.58-2.8 2.15 2.15 0 0 0 1.59-1.16c3.43-6.91 3.85-15.22 4-22.47q0-1.31.06-2.79c.19-7.77.45-18.93-2.95-32a1 1 0 0 1 1.93-.64 93 93 0 0 1 6.66 25.55c2.55 22.58-1.9 32.09-1.94 32.17a1.61 1.61 0 0 0 .95 2.25 17.12 17.12 0 0 1 6.95 4.67c1.46 1.66.93 2.4-1.14 1.62a36.26 36.26 0 0 0-12.77-2.29c-10.4 0-18.09 4.95-21.51 9.19-3.19 3.94-3.7 7.67-3.83 11.27l-.06.05c-7.48-.75-12.94 1.21-17.47 6.21l-.08.09c-6.26 7.75-4 24.63-1.29 38.48 1.28 6.45 5.59 25.52 1.73 37.68zm96.1 10.07c-15.71 6.71-25.43 14.51-34 21.39-5.65 4.53-11 8.81-17.28 12.14-10.12 5.34-24.91 6.53-33.27-7.7-2.37-4-.71-9.86 1.58-17.95 3.05-10.75 7.23-25.46 3.71-44.65-.94-5.12-1.77-9.51-2.49-13.31C334 377 332.9 371.43 334 367c.63-2.45 3.43-3 5.87-3a20.83 20.83 0 0 1 2.63.19 29.51 29.51 0 0 0 7 12.1c5.7 5.86 13.63 8.83 23.56 8.85 2.1.17 25.94 1.55 36.54-22.4 1.46.18 3.65.7 4.3 2.3 1.28 3.19-.27 8.91-1.52 13.5-.9 3.31-1.68 6.16-1.63 8.37.31 16 11 22.78 25.83 32.16 1.79 1.13 3.66 2.31 5.55 3.54S445 425 445 426c-.52 4.79-20 13.16-26.45 15.91z",fill:"currentColor"},null,-1)]))}const xf=Jr(M_,[["render",U_]]),F_={},B_={xmlns:"http://www.w3.org/2000/svg",viewBox:"0 0 512 512"};function H_(e,t){return y(),T("svg",B_,t[0]||(t[0]=[C("path",{d:"M349.13 136.86c-40.32 0-57.36 19.24-85.44 19.24-28.79 0-50.75-19.1-85.69-19.1-34.2 0-70.67 20.88-93.83 56.45-32.52 50.16-27 144.63 25.67 225.11 18.84 28.81 44 61.12 77 61.47h.6c28.68 0 37.2-18.78 76.67-19h.6c38.88 0 46.68 18.89 75.24 18.89h.6c33-.35 59.51-36.15 78.35-64.85 13.56-20.64 18.6-31 29-54.35-76.19-28.92-88.43-136.93-13.08-178.34-23-28.8-55.32-45.48-85.79-45.48z",fill:"currentColor"},null,-1),C("path",{d:"M340.25 32c-24 1.63-52 16.91-68.4 36.86-14.88 18.08-27.12 44.9-22.32 70.91h1.92c25.56 0 51.72-15.39 67-35.11 14.72-18.77 25.88-45.37 21.8-72.66z",fill:"currentColor"},null,-1)]))}const Sf=Jr(F_,[["render",H_]]),Z_={class:"moonbase:product-downloads"},q_=["data-last","onClick"],W_={class:"moonbase:sr-only"},z_={class:"moonbase:sr-only"},K_=["onClick"],G_=pe({__name:"ProductDownloads",props:{downloads:{}},setup(e){const t=e,n={[Qt.Universal]:()=>Of,[Qt.Windows]:()=>Nf,[Qt.Linux]:()=>xf,[Qt.Mac]:()=>Sf},{downloadProduct:r}=ti(),o=J(()=>t.downloads.reduce((s,i)=>({...s,[i.platform]:(s[i.platform]||[]).concat({...i,icon:n[i.platform]})}),{}));return(s,i)=>(y(),T("span",Z_,[(y(!0),T(ke,null,an(o.value,(a,l,u)=>(y(),T(ke,{key:l},[a.length===1?(y(),T("button",{key:0,type:"button",role:"button","data-last":u===Object.keys(o.value).length-1||void 0,onClick:c=>_(r)(a[0])},[C("span",W_,G(l.toString()),1),(y(),xe(ha(a[0].icon()),{class:"h-5 w-5 text-white","aria-hidden":"true"}))],8,q_)):(y(),xe(_(mf),{key:1,as:"div","data-last":u===Object.keys(o.value).length-1||void 0,class:"moonbase:product-downloads-group"},{default:_e(()=>[q(_(vf),null,{default:_e(()=>[C("span",z_,G(l.toString()),1),(y(),xe(ha(a[0].icon()),{"aria-hidden":"true"})),i[0]||(i[0]=C("svg",{fill:"none",viewBox:"0 0 24 24","stroke-width":"1.5",stroke:"currentColor","aria-hidden":"true"},[C("path",{"stroke-linecap":"round","stroke-linejoin":"round",d:"m19.5 8.25-7.5 7.5-7.5-7.5"})],-1))]),_:2},1024),q(Ma,{name:"moonbase:scale"},{default:_e(()=>[q(_(gf),{class:"moonbase:product-downloads-list"},{default:_e(()=>[(y(!0),T(ke,null,an(a,c=>(y(),T("button",{key:c.key,type:"button",role:"button",onClick:d=>_(r)(c)},[C("span",null,G(c.name),1)],8,K_))),128))]),_:2},1024)]),_:2},1024)]),_:2},1032,["data-last"]))],64))),128))]))}}),J_={class:"moonbase:product-activations"},Y_={key:0,scope:"col"},X_={key:0},Q_={colspan:"3"},e1={key:1},t1={key:0},n1=["onClick"],r1=pe({__name:"ProductActivations",props:{productId:{}},emits:["revoked"],setup(e,{emit:t}){const n=e,r=t,{getProductActivations:o,revokeActivation:s}=ti(),i=j(null);Re(async()=>{let u=await o(n.productId);for(i.value=u.items.map(c=>({...c,revoking:!1}));u.hasMore&&u.next;)u=await o(n.productId,u.next),i.value.push(...u.items.map(c=>({...c,revoking:!1})))});const a=J(()=>i.value&&i.value.some(u=>u.activationMethod===Ai.Online));async function l(u){u.revoking=!0,await s(u),r("revoked",u),i.value&&i.value.splice(i.value.indexOf(u),1)}return(u,c)=>(y(),T("table",J_,[C("thead",null,[C("tr",null,[c[1]||(c[1]=C("th",{scope:"col"}," Device ",-1)),c[2]||(c[2]=C("th",{scope:"col"}," Activation Method ",-1)),c[3]||(c[3]=C("th",{scope:"col"}," Last Online ",-1)),a.value?(y(),T("th",Y_,c[0]||(c[0]=[C("span",{class:"sr-only"},"Actions",-1)]))):de("",!0)])]),C("tbody",null,[i.value?i.value.length===0?(y(),T("tr",e1,c[6]||(c[6]=[C("td",{colspan:"3"}," No activations found ",-1)]))):de("",!0):(y(),T("tr",X_,[C("td",Q_,[q(Mt),c[4]||(c[4]=Ce(" Loading activations.. "))]),c[5]||(c[5]=C("td",null,null,-1))])),(y(!0),T(ke,null,an(i.value,d=>{var f;return y(),T("tr",{key:d.id},[C("td",null,G(d.name),1),C("td",null,G(d.activationMethod),1),C("td",null,G((f=d.lastValidatedAt)==null?void 0:f.toLocaleDateString()),1),a.value?(y(),T("td",t1,[C("button",{class:"text-red-400 flex whitespace-nowrap items-center",onClick:h=>l(d)},[d.revoking?(y(),xe(Mt,{key:0})):de("",!0),c[7]||(c[7]=Ce(" Revoke "))],8,n1)])):de("",!0)])}),128))])]))}}),o1={class:"moonbase:products"},s1={key:0,scope:"col"},i1={key:1,scope:"col"},a1={key:0},l1={key:1},u1=["src"],c1={key:1,class:"moonbase:image-placeholder"},d1={key:1},f1={key:2},p1={key:0},h1=pe({__name:"Products",setup(e){const{getProducts:t}=ti(),n=j(null);Re(async()=>{let s=await t();for(n.value=s.items;s.hasMore&&s.next;)s=await t(s.next),n.value.push(...s.items)});const r=J(()=>n.value&&n.value.some(s=>s.downloads)),o=J(()=>n.value&&n.value.some(s=>s.maxActivations&&s.maxActivations>0));return(s,i)=>(y(),T("table",o1,[C("thead",null,[C("tr",null,[i[0]||(i[0]=C("th",{scope:"col"}," Product ",-1)),o.value?(y(),T("th",s1," Activations ")):de("",!0),r.value?(y(),T("th",i1," Downloads ")):de("",!0)])]),C("tbody",null,[n.value?n.value.length===0?(y(),T("tr",l1,i[3]||(i[3]=[C("td",{colspan:"3"}," No products found ",-1)]))):de("",!0):(y(),T("tr",a1,[C("td",null,[q(Mt),i[1]||(i[1]=Ce(" Loading products.. "))]),i[2]||(i[2]=C("td",null,null,-1))])),(y(!0),T(ke,null,an(n.value||[],a=>(y(),T("tr",{key:a.id},[C("td",null,[C("div",null,[a.iconUrl?(y(),T("img",{key:0,src:a.iconUrl,alt:""},null,8,u1)):(y(),T("div",c1)),C("span",null,G(a.name),1)])]),a.maxActivations&&a.maxActivations>0?(y(),xe(_(mf),{key:0,as:"td"},{default:_e(()=>[q(_(vf),{class:"moonbase:button","data-variant":"secondary"},{default:_e(()=>[i[4]||(i[4]=C("span",{class:"moonbase:sr-only"},"View activations",-1)),Ce(" "+G(a.currentActivations)+" / "+G(a.maxActivations),1)]),_:2},1024),q(Ma,{name:"moonbase:scale"},{default:_e(()=>[q(_(gf),null,{default:_e(()=>[q(r1,{"product-id":a.id},null,8,["product-id"])]),_:2},1024)]),_:2},1024)]),_:2},1024)):o.value?(y(),T("td",d1)):de("",!0),r.value?(y(),T("td",f1,[a.currentVersion!=null?(y(),T("div",p1,[a.downloads?(y(),xe(G_,{key:0,downloads:a.downloads},null,8,["downloads"])):de("",!0)])):de("",!0)])):de("",!0)]))),128))])]))}}),m1={class:"moonbase:redeem"},v1=["data-visible"],g1={key:1,class:"moonbase:redeem-voucher"},y1={key:0},b1={key:1},_1={class:"moonbase:redeem-voucher-products"},w1=["src"],E1={key:1,class:"moonbase:image-placeholder"},O1={key:0},N1={class:"moonbase:redeem-voucher-bundle"},x1=["src"],S1={key:1,class:"moonbase:image-placeholder"},k1={key:0},C1={class:"moonbase:redeem-voucher-bundle-products"},T1={class:"shrink-0"},P1=["src"],$1={key:1,class:"moonbase:image-placeholder"},D1=pe({__name:"Redeem",setup(e){const{redeem:t}=Rg(),n=j(!1),r=j(null),o=j(null),s=j("");async function i(){n.value=!0,o.value=null;try{r.value=await t(s.value)}catch(a){throw o.value=a,a}n.value=!1}return(a,l)=>(y(),T("div",m1,[q(Ma,{mode:"out-in",name:"moonbase:slide-left"},{default:_e(()=>[r.value?(y(),T("div",g1,[C("h3",null,[l[1]||(l[1]=Ce(" You got: ")),C("strong",null,G(r.value.name),1)]),r.value.description?(y(),T("h4",y1,G(r.value.description),1)):de("",!0),C("h4",null,[l[2]||(l[2]=Ce(" Code: ")),C("strong",null,G(r.value.code),1)]),r.value.redeemsProducts.length>0?(y(),T("div",b1,[l[3]||(l[3]=C("span",null," Contains: ",-1)),C("div",_1,[(y(!0),T(ke,null,an(r.value.redeemsProducts,({value:u,quantity:c})=>(y(),T("div",{key:u.id,class:"moonbase:redeem-voucher-product"},[C("div",null,[u.iconUrl?(y(),T("img",{key:0,src:u.iconUrl,alt:""},null,8,w1)):(y(),T("div",E1))]),C("div",null,[C("p",null,[Ce(G(u.name)+" ",1),c!==1?(y(),T("span",O1,"x "+G(c),1)):de("",!0)]),C("p",null,G(u.tagline),1)])]))),128)),(y(!0),T(ke,null,an(r.value.redeemsBundles,({value:u,quantity:c})=>(y(),T("div",{key:u.id},[C("div",N1,[C("div",null,[u.iconUrl?(y(),T("img",{key:0,src:u.iconUrl,alt:""},null,8,x1)):(y(),T("div",S1))]),C("div",null,[C("p",null,[Ce(G(u.name)+" ",1),c!==1?(y(),T("span",k1,"x "+G(c),1)):de("",!0)]),C("p",null,G(u.tagline),1)])]),C("div",C1,[(y(!0),T(ke,null,an(u.products,d=>(y(),T("div",{key:d.id,class:"moonbase:redeem-voucher-product"},[C("div",T1,[d.iconUrl?(y(),T("img",{key:0,src:d.iconUrl,alt:""},null,8,P1)):(y(),T("div",$1))]),C("div",null,[C("p",null,G(d.name),1),C("p",null,G(d.tagline),1)])]))),128))])]))),128))])])):de("",!0)])):(y(),xe(Jn,{key:0,handler:i},{default:_e(()=>{var u;return[q(Et,{modelValue:s.value,"onUpdate:modelValue":l[0]||(l[0]=c=>s.value=c),label:"Voucher code",name:"code",required:""},null,8,["modelValue"]),q(Yn,{label:"Redeem",success:"Redeem",error:"Error"}),C("span",{class:"moonbase:error","data-visible":!!o.value||void 0},G((u=o.value)==null?void 0:u.message),9,v1)]}),_:1}))]),_:1})]))}}),I1={class:"moonbase:customer"},A1=pe({__name:"Customer",props:{open:{type:Boolean}},setup(e){const t=je();function n(s){switch(s){case le.ViewAccount:return 0;case le.ViewProducts:return 1;case le.RedeemVoucher:return 2}return 0}const r=j(n(t.intent));Ge(()=>t.intent,s=>{r.value=n(s)});function o(s){r.value=s}return(s,i)=>(y(),xe(bi,{open:s.open,onClose:i[0]||(i[0]=a=>_(t).reset())},{default:_e(()=>[C("div",I1,[q(_(kb),{"selected-index":r.value,onChange:o},{default:_e(()=>[q(_(Cb),null,{default:_e(()=>[q(_(sl),null,{default:_e(()=>i[1]||(i[1]=[Ce("Account")])),_:1}),q(_(sl),null,{default:_e(()=>i[2]||(i[2]=[Ce(" Products ")])),_:1}),q(_(sl),null,{default:_e(()=>i[3]||(i[3]=[Ce("Redeem")])),_:1})]),_:1}),q(_(Tb),null,{default:_e(()=>[q(_(il),null,{default:_e(()=>[q($_)]),_:1}),q(_(il),null,{default:_e(()=>[q(h1)]),_:1}),q(_(il),null,{default:_e(()=>[q(D1)]),_:1})]),_:1})]),_:1},8,["selected-index"])])]),_:1},8,["open"]))}}),V1={class:"moonbase:auto-activate"},R1={key:0,class:"moonbase:loader"},j1={key:1,class:"moonbase:loader"},M1={key:2,class:"moonbase:loader"},L1={key:3},U1={key:0,class:"moonbase:auto-activate-product"},F1=["src"],B1={key:1,class:"moonbase:image-placeholder"},H1={key:1,class:"moonbase:loader"},Z1={key:2,class:"moonbase:loader"},q1={key:3,class:"moonbase:loader"},W1={key:4,class:"moonbase:auto-activate-content"},z1={key:0},K1={key:1},G1={class:"moonbase:auto-activate-cta"},J1=["href"],Y1={key:2,class:"moonbase:auto-activate-trial"},X1={class:"moonbase:auto-activate-cta"},Q1=pe({__name:"AutoActivate",setup(e){const t=je(),{user:n,loaded:r}=wt(),o=t.getParameter("token"),{activationRequest:s,loading:i,fulfilling:a,completing:l,error:u,fulfillLicense:c,fulfillTrial:d,cancel:f}=Vg(o);Ge(s,E=>{var w;!a.value&&!l.value&&(E==null?void 0:E.status)===en.Requested&&((w=E==null?void 0:E.licenseEligibility)!=null&&w.eligible)&&c()});function h(){f(),t.show(Oe.Customer,le.ViewProducts)}function b(){t.enqueue(Oe.Activation,le.ActivateProduct,t.parameters??void 0),t.show(Oe.Authentication,le.SignIn)}return(E,w)=>{var $,D,V,W;return y(),T("div",V1,[_(i)||!_(r)?(y(),T("div",R1,[q(Mt)])):_(u)?(y(),T("div",j1,G(_(u)),1)):_(s)?(y(),T("div",L1,[_(s).product?(y(),T("div",U1,[_(s).product.iconUrl?(y(),T("img",{key:0,src:_(s).product.iconUrl,alt:""},null,8,F1)):(y(),T("div",B1)),C("div",null,[C("h2",null,G(_(s).product.name),1),C("h3",null,G(_(s).product.tagline),1)])])):de("",!0),(($=_(s))==null?void 0:$.status)===_(en).Cancelled?(y(),T("div",H1,w[2]||(w[2]=[C("h3",null," Uh oh ",-1),C("p",null," This activation request was cancelled, open your app to try again. ",-1)]))):_(a)||_(l)?(y(),T("div",Z1,[q(Mt),C("p",null,"Activating "+G(_(s).product.name)+"...",1)])):((D=_(s))==null?void 0:D.status)===_(en).Completed?(y(),T("div",q1,w[3]||(w[3]=[C("h3",null," Done! ",-1),C("p",null," Your product is activated. ",-1)]))):(y(),T("div",W1,[_(n)?(V=_(n).ownedProducts)!=null&&V.includes(_(s).product.id)?(y(),T("div",K1,[w[5]||(w[5]=C("p",null," You don't have enough free seats on your licenses to activate this device. Either free up a seat or purchase additional licenses. ",-1)),C("span",G1,[C("button",{role:"button",class:"moonbase:button",onClick:w[0]||(w[0]=N=>h())}," Licenses "),_(s).product&&_(s).product.website?(y(),T("a",{key:0,href:_(s).product.website,class:"moonbase:button"}," Purchase ",8,J1)):de("",!0)])])):de("",!0):(y(),T("div",z1,[w[4]||(w[4]=Ce(" Please sign in to use a license ")),C("span",{class:"moonbase:auto-activate-cta"},[C("button",{role:"button",class:"moonbase:button",onClick:b}," Sign in ")])])),(W=_(s).trialEligibility)!=null&&W.eligible?(y(),T("div",Y1,[Ce(" You are eligible for a "+G(_(s).trialEligibility.numberOfDaysPerProduct)+" day trial ",1),_(s).trialEligibility.existing?(y(),T(ke,{key:0},[Ce(" of which you have "+G(_(s).trialEligibility.numberOfDaysRemaining)+" days remaining ",1)],64)):de("",!0),w[6]||(w[6]=Ce(". ")),C("span",X1,[C("button",{role:"button",class:"moonbase:button",onClick:w[1]||(w[1]=N=>_(d)())}," Start trial ")])])):de("",!0)]))])):(y(),T("div",M1," Could not find activation request "))])}}}),ew={class:"moonbase:activation"},tw=pe({__name:"Activation",props:{open:{type:Boolean}},setup(e){const t=je();return(n,r)=>(y(),xe(bi,{open:n.open,onClose:r[0]||(r[0]=o=>_(t).reset())},{default:_e(()=>[C("div",ew,[q(_(mi),{as:"h3"},{default:_e(()=>r[1]||(r[1]=[Ce(" Activate product ")])),_:1}),n.open&&_(t).intent===_(le).ActivateProduct?(y(),xe(Q1,{key:0})):de("",!0)])]),_:1},8,["open"]))}});function nw(e){const t=["B","KB","MB","GB","TB","PB","EB","ZB","YB"];if(e<1)return`${e} B`;const n=Math.min(Math.floor(Math.log(e)/Math.log(1024)),t.length-1);e=Number(e/1024**n);const r=t[n];return e>=10||e%1===0?`${e.toFixed(0)} ${r}`:`${e.toFixed(1)} ${r}`}const rw={class:"moonbase:download-product"},ow={key:0,class:"moonbase:loader"},sw={key:1,class:"moonbase:loader"},iw={key:2,class:"moonbase:loader"},aw={key:3},lw={class:"moonbase:download-product-product"},uw=["src"],cw={key:1,class:"moonbase:image-placeholder"},dw={key:0},fw=["data-open"],pw={key:0,class:"moonbase:download-product-content"},hw={key:1,class:"moonbase:download-product-content"},mw={key:2,class:"moonbase:download-product-content"},vw=["data-open"],gw={key:1,role:"list"},yw={class:"moonbase:download-product-download-name"},bw=["onClick"],_w={class:"moonbase:download-product-download-description"},ww={key:1,fill:"none",viewBox:"0 0 24 24","stroke-width":"1.5",stroke:"currentColor"},Ew={key:2,class:"moonbase:loader"},Ow=pe({__name:"DownloadProduct",setup(e){const t=je(),{user:n,loaded:r}=wt(),{getProduct:o,downloadProduct:s}=ti(),i={[Qt.Universal]:()=>Of,[Qt.Windows]:()=>Nf,[Qt.Linux]:()=>xf,[Qt.Mac]:()=>Sf},a=j(null),l=j([]),u=j(null),c=j(!0),d=j(!1),f=J(()=>t.getParameter("key")),h=J(()=>{var w,$;return($=(w=a.value)==null?void 0:w.downloads)==null?void 0:$.filter(D=>!f.value||D.key===f.value)});Re(async()=>{const w=t.getParameter("product_id"),$=t.getParameter("version");if(!w){u.value="Link is broken";return}try{a.value=await o(w,$||void 0)}catch(D){u.value=D.message}c.value=!1});function b(){t.enqueue(Oe.Download,le.DownloadProduct,t.parameters??void 0),t.show(Oe.Authentication,le.SignIn)}async function E(w){l.value.push(w.key),await s(w),l.value=l.value.filter($=>$!==w.key)}return(w,$)=>{var D,V,W,N,S;return y(),T("div",rw,[c.value||!_(r)?(y(),T("div",ow,[q(Mt)])):u.value?(y(),T("div",sw,G(u.value),1)):a.value?(y(),T("div",aw,[C("div",lw,[a.value.iconUrl?(y(),T("img",{key:0,src:a.value.iconUrl,alt:""},null,8,uw)):(y(),T("div",cw)),C("div",null,[C("h2",null,[Ce(G(a.value.name)+" ",1),C("span",null,"v"+G(a.value.version||a.value.currentVersion),1),a.value.prerelease?(y(),T("span",dw," (pre-release)")):de("",!0)]),C("h3",null,G(a.value.tagline),1)]),a.value.releaseDescription&&(!a.value.downloadsNeedsUser||_(n))&&(!a.value.downloadsNeedsOwnership||(V=(D=_(n))==null?void 0:D.ownedProducts)!=null&&V.includes(a.value.id))?(y(),T("button",{key:2,"data-open":d.value||void 0,onClick:$[0]||($[0]=R=>d.value=!d.value)},$[1]||($[1]=[C("svg",{xmlns:"http://www.w3.org/2000/svg",fill:"none",viewBox:"0 0 24 24","stroke-width":"1.5",stroke:"currentColor"},[C("path",{"stroke-linecap":"round","stroke-linejoin":"round",d:"m5.25 4.5 7.5 7.5-7.5 7.5m6-15 7.5 7.5-7.5 7.5"})],-1),C("span",null," Details ",-1)]),8,fw)):de("",!0)]),a.value.downloadsNeedsUser&&!_(n)?(y(),T("div",pw,[$[2]||($[2]=Ce(" Please sign in to download product ")),C("span",{class:"moonbase:download-product-cta"},[C("button",{role:"button",class:"moonbase:button",onClick:b}," Sign in ")])])):a.value.downloadsNeedsOwnership&&!((N=(W=_(n))==null?void 0:W.ownedProducts)!=null&&N.includes(a.value.id))?(y(),T("div",hw," This product requires ownership to download ")):(y(),T("div",mw,[a.value.releaseDescription?(y(),T("div",{key:0,class:"moonbase:download-product-release-description","data-open":d.value||void 0},[C("div",null,[C("h3",null," v"+G(a.value.version||a.value.currentVersion)+" Release Notes ",1),C("p",null,G(a.value.releaseDescription),1)])],8,vw)):de("",!0),(S=a.value)!=null&&S.downloads&&a.value.downloads.length>0?(y(),T("ul",gw,[(y(!0),T(ke,null,an(h.value,R=>(y(),T("li",{key:R.key},[C("div",null,[C("p",yw,[C("button",{onClick:te=>E(R)},[$[3]||($[3]=C("span",{class:"moonbase:download-product-clicker"},null,-1)),Ce(" "+G(R.name),1)],8,bw)]),C("p",_w,[(y(),xe(ha(i[R.platform]()),{"aria-hidden":"true"})),Ce(" "+G(R.platform)+" ",1),$[4]||($[4]=C("span",null," |",-1)),Ce(" "+G(_(nw)(R.size)),1)])]),C("div",null,[l.value.includes(R.key)?(y(),xe(Mt,{key:0})):(y(),T("svg",ww,$[5]||($[5]=[C("path",{"stroke-linecap":"round","stroke-linejoin":"round",d:"m8.25 4.5 7.5 7.5-7.5 7.5"},null,-1)])))])]))),128))])):(y(),T("div",Ew," No downloadable files found "))]))])):(y(),T("div",iw," Could not find product "))])}}}),Nw={class:"moonbase:download"},xw=pe({__name:"Download",props:{open:{type:Boolean}},setup(e){const t=je();return(n,r)=>(y(),xe(bi,{open:n.open,onClose:r[0]||(r[0]=o=>_(t).reset())},{default:_e(()=>[C("div",Nw,[q(_(mi),{as:"h3"},{default:_e(()=>r[1]||(r[1]=[Ce(" Download product ")])),_:1}),n.open&&_(t).intent===_(le).DownloadProduct?(y(),xe(Ow,{key:0})):de("",!0)])]),_:1},8,["open"]))}});function Sw(){const e=j(null),t=[/^user\.name$/,/^user\.email$/,/^product\.[a-z\-]+\.name$/,/^product\.[a-z\-]+\.price$/,/^product\.[a-z\-]+\.original_price$/,/^bundle\.[a-z\-]+\.name$/,/^bundle\.[a-z\-]+\.price$/,/^bundle\.[a-z\-]+\.original_price$/],n=j({}),r=J(()=>n.value.user||[]),o=J(()=>n.value.product||[]),s=J(()=>n.value.bundle||[]),i=[/^user$/,/^product\.[a-z\-]+(\.has_discount)?$/,/^bundle\.[a-z\-]+(\.has_discount)?$/],a=j({}),l=J(()=>a.value.user||[]),u=J(()=>a.value.product||[]),c=J(()=>a.value.bundle||[]),d=wt(),{currency:f}=ni(),h=Ag(),b=Ig();Ge([r,l,d.user],([E,w,$])=>{if(E){for(const D of E)if(D.textContent&&!D.dataset.moonbaseOriginal&&(D.dataset.moonbaseOriginal=D.textContent),$)switch(D.dataset.moonbaseRender){case"user.name":D.textContent=$.name;break;case"user.email":D.textContent=$.email;break}else D.dataset.moonbaseOriginal?D.textContent=D.dataset.moonbaseOriginal:D.textContent="";for(const D of w)D.dataset.moonbaseOriginalHidden||(D.dataset.moonbaseOriginalHidden=D.hidden?"true":"false"),$?D.hidden=D.dataset.moonbaseIf==="!user":D.hidden=D.dataset.moonbaseIf==="user"}},{immediate:!0}),Ge([o,u,h,f],([E,w,$,D])=>{var V,W,N;if(E){for(const S of E){const R=(V=S.dataset.moonbaseRender)==null?void 0:V.split(".")[1],te=(W=S.dataset.moonbaseRender)==null?void 0:W.split(".")[2],A=$.find(k=>k.id===R);if(S.textContent&&!S.dataset.moonbaseOriginal&&(S.dataset.moonbaseOriginal=S.textContent),A&&A.defaultVariation)switch(te){case"name":S.textContent=A.name;break;case"price":S.textContent=Dt(A.defaultVariation.price[D],D);break;case"original_price":S.textContent=Dt(A.defaultVariation.originalPrice[D],D);break}else S.dataset.moonbaseOriginal?S.textContent=S.dataset.moonbaseOriginal:S.textContent=""}for(const S of w){if(!S.dataset.moonbaseIf)return;const R=S.dataset.moonbaseIf.split("."),te=R.length===2?"product":R[2],A=R[1],k=$.find(x=>x.id===A);let P=!1;switch(te){case"product":P=!!k;break;case"has_discount":P=!!((N=k==null?void 0:k.defaultVariation)!=null&&N.hasDiscount);break}R[0].startsWith("!")&&(P=!P),S.dataset.moonbaseOriginalHidden||(S.dataset.moonbaseOriginalHidden=S.hidden?"true":"false"),P?S.hidden=!1:S.hidden=!0}}},{immediate:!0}),Ge([s,c,b,f],([E,w,$,D])=>{var V,W,N;if(E){for(const S of E){const R=(V=S.dataset.moonbaseRender)==null?void 0:V.split(".")[1],te=(W=S.dataset.moonbaseRender)==null?void 0:W.split(".")[2],A=$.find(k=>k.id===R);if(S.textContent&&!S.dataset.moonbaseOriginal&&(S.dataset.moonbaseOriginal=S.textContent),A&&A.defaultVariation)switch(te){case"name":S.textContent=A.name;break;case"price":S.textContent=Dt(A.defaultVariation.price[D],D);break;case"original_price":S.textContent=Dt(A.defaultVariation.originalPrice[D],D);break}else S.dataset.moonbaseOriginal?S.textContent=S.dataset.moonbaseOriginal:S.textContent=""}for(const S of w){if(!S.dataset.moonbaseIf)return;const R=S.dataset.moonbaseIf.split("."),te=R.length===2?"bundle":R[2],A=R[1],k=$.find(x=>x.id===A);let P=!1;switch(te){case"bundle":P=!!k;break;case"has_discount":P=!!((N=k==null?void 0:k.defaultVariation)!=null&&N.hasDiscount);break}R[0].startsWith("!")&&(P=!P),S.dataset.moonbaseOriginalHidden||(S.dataset.moonbaseOriginalHidden=S.hidden?"true":"false"),P?S.hidden=!1:S.hidden=!0}}},{immediate:!0}),Re(()=>{var V;e.value=new MutationObserver((W,N)=>{var S,R;for(const te of W)if(te.type==="childList"){for(const A of te.addedNodes){const k=A;if(k.dataset&&k.dataset.moonbaseRender){const P=k.dataset.moonbaseRender;if(!P||!t.some(x=>x.test(P)))console.warn(`Element has an unknown Moonbase target (${P})`,k);else if(P){const x=P.split(".")[0];n.value[x]=n.value[x]||[],n.value[x].push(k)}}if(k.dataset&&k.dataset.moonbaseIf){const P=(S=k.dataset.moonbaseIf)==null?void 0:S.replace(/^!/,"");if(!P||!i.some(x=>x.test(P)))console.warn(`Element has an unknown Moonbase target (${P})`,k);else if(P){const x=P.split(".")[0];a.value[x]=a.value[x]||[],a.value[x].push(k)}}}for(const A of te.removedNodes){const k=A;if(k.dataset&&k.dataset.moonbaseRender){const P=k.dataset.moonbaseRender;if(!P||!t.some(x=>x.test(P)))console.warn(`Element has an unknown Moonbase target (${P})`,k);else if(P){const x=P.split(".")[0];n.value[x]&&(n.value[x]=n.value[x].filter(se=>se!==k))}}if(k.dataset&&k.dataset.moonbaseIf){const P=(R=k.dataset.moonbaseIf)==null?void 0:R.replace(/^!/,"");if(!P||!i.some(x=>x.test(P)))console.warn(`Element has an unknown Moonbase target (${P})`,k);else if(P){const x=P.split(".")[0];a.value[x]&&(a.value[x]=a.value[x].filter(se=>se!==k))}}}}else if(te.type==="attributes"&&te.attributeName){const A=te.target.getAttribute(te.attributeName);fl(`The ${te.attributeName} attribute was modified from ${te.oldValue} to ${A}.`);const k=te.target;if(te.attributeName==="data-moonbase-render"){const P=te.oldValue;if(P){const x=P.split(".")[0];n.value[x]&&(n.value[x]=n.value[x].filter(se=>se!==k))}if(!A||!t.some(x=>x.test(A)))A&&console.warn(`Element has an unknown Moonbase target (${A})`,k),k.dataset.moonbaseOriginal&&(k.textContent=k.dataset.moonbaseOriginal);else if(A){const x=A==null?void 0:A.split(".")[0];n.value[x]=n.value[x]||[],n.value[x].includes(k)||n.value[x].push(k)}}if(te.attributeName==="data-moonbase-if"){const P=te.oldValue;if(P){const x=P.split(".")[0];a.value[x]&&(a.value[x]=a.value[x].filter(se=>se!==k))}if(!A||!i.some(x=>x.test(A)))A&&console.warn(`Element has an unknown Moonbase target (${A})`,k),k.dataset.moonbaseOriginalHidden==="true"&&(k.hidden=!0);else if(A){const x=A==null?void 0:A.split(".")[0];a.value[x]=a.value[x]||[],a.value[x].includes(k)||a.value[x].push(k)}}}else fl(`A ${te.type} mutation took place.`)}),e.value.observe(document.body,{subtree:!0,childList:!0,attributes:!0,attributeOldValue:!0,attributeFilter:["data-moonbase-if","data-moonbase-render"]});const E={},w=document.querySelectorAll("[data-moonbase-render]");for(const W of w){const N=W.dataset.moonbaseRender;if(!N||!t.some(S=>S.test(N)))console.warn(`Element has an unknown Moonbase target (${N})`,W);else if(N){const S=N.split(".")[0];E[S]=E[S]||[],E[S].push(W)}}n.value=E;const $={},D=document.querySelectorAll("[data-moonbase-if]");for(const W of D){const N=(V=W.dataset.moonbaseIf)==null?void 0:V.replace(/^!/,"");if(!N||!i.some(S=>S.test(N)))console.warn(`Element has an unknown Moonbase target (${N})`,W);else if(N){const S=N.split(".")[0];$[S]=$[S]||[],$[S].push(W)}}a.value=$}),dt(()=>e.value&&e.value.disconnect())}const kw=pe({__name:"App",setup(e){const t=Se(Gr),n=je();return Ge(()=>[n.active,n.intent],([r,o])=>{}),Sw(),(r,o)=>{var s;return y(),T(ke,null,[(s=_(t))!=null&&s.toolbar.enabled?(y(),xe(gy,{key:0})):de("",!0),q(S_,{open:_(n).active===_(Oe).Cart},null,8,["open"]),q(Fb,{open:_(n).active===_(Oe).Authentication},null,8,["open"]),q(tw,{open:_(n).active===_(Oe).Activation},null,8,["open"]),q(xw,{open:_(n).active===_(Oe).Download},null,8,["open"]),q(A1,{open:_(n).active===_(Oe).Customer},null,8,["open"])],64)}}});function _i(e){return e&&typeof e=="object"&&!Array.isArray(e)&&!(e instanceof HTMLElement)}function pl(e,...t){if(t.length===0)return e;const n=t.shift();if(!n)return e;if(_i(e)&&_i(n)){for(const r in e)if(Object.prototype.hasOwnProperty.call(n,r)){const o=n[r];_i(o)&&_i(e[r])?e[r]=pl(e[r],o):o!==void 0&&(e[r]=o)}}return pl(e,...t)}class Cw{constructor(){Cr(this,"initialized",!1);Cr(this,"pinia");Cr(this,"storefront");Cr(this,"options")}async setup(t,n){if(typeof window>"u")throw console.error("Moonbase setup must be done client-side"),new Error("Moonbase setup must be done client-side");if(document.getElementById("moonbase")){console.warn("Moonbase has already been initialized!");return}this.options=pl(py,n??{}),fl("Merged options:",this.options);const r=document.createElement("div");if(r.id="moonbase",r.classList.add("moonbase"),(this.options.target??document.body).append(r),this.storefront=jg(t),this.pinia=ly(),gg(kw).use(this.storefront).use(this.pinia).provide(Gr,this.options).mount("#moonbase"),this.initialized=!0,window&&window.location){const l=new URLSearchParams(window.location.search),u=l.get("mb_intent");if(u&&Object.values(le).includes(u)){const c=Object.fromEntries([...l.entries()].filter(([f])=>f.startsWith("mb_")).map(([f,h])=>[f.substring(3),h]));if(u===le.Checkout&&c.complete)return;this[u](c);for(const f of Object.keys(c))l.delete(`mb_${f}`);const d=l.toString();window.history.replaceState(null,"",window.location.href.split("?")[0]+(d?`?${d}`:""))}}const i=je(this.pinia),a=wt(this.storefront);this.storefront.onCheckoutClosed(l=>{l===le.ViewProducts&&(a.user?i.show(Oe.Customer,le.ViewProducts):i.show(Oe.Cart,le.ViewCart))})}sign_in(t){if(!this.initialized)throw new Error("Moonbase has not been set up yet");je(this.pinia).show(Oe.Authentication,le.SignIn,t)}sign_up(t){var r;if(!this.initialized)throw new Error("Moonbase has not been set up yet");if(!((r=this.options)!=null&&r.auth.signUp.enabled))throw new Error("Sign ups are not enabled");je(this.pinia).show(Oe.Authentication,le.SignUp,t)}forgot_password(t){if(!this.initialized)throw new Error("Moonbase has not been set up yet");je(this.pinia).show(Oe.Authentication,le.ForgotPassword,t)}reset_password(t){if(!this.initialized)throw new Error("Moonbase has not been set up yet");je(this.pinia).show(Oe.Authentication,le.ResetPassword,t)}confirm_account(t){if(!this.initialized)throw new Error("Moonbase has not been set up yet");je(this.pinia).show(Oe.Authentication,le.ConfirmAccount,t)}confirm_email(){}confirm_email_change(t){if(!this.initialized)throw new Error("Moonbase has not been set up yet");const n=je(this.pinia);wt(this.storefront).user.value?n.show(Oe.Authentication,le.ConfirmEmailChange,t):(n.show(Oe.Authentication,le.SignIn),n.enqueue(Oe.Authentication,le.ConfirmEmailChange,t))}view_account(){if(!this.initialized)throw new Error("Moonbase has not been set up yet");const t=je(this.pinia);wt(this.storefront).user.value?t.show(Oe.Customer,le.ViewAccount):(t.show(Oe.Authentication,le.SignIn),t.enqueue(Oe.Customer,le.ViewAccount))}view_products(){if(!this.initialized)throw new Error("Moonbase has not been set up yet");je(this.pinia).show(Oe.Cart,le.ViewCart)}redeem_voucher(t){if(!this.initialized)throw new Error("Moonbase has not been set up yet");je(this.pinia).show(Oe.Cart,le.ViewCart,t)}download_product(t){if(!this.initialized)throw new Error("Moonbase has not been set up yet");je(this.pinia).show(Oe.Download,le.DownloadProduct,t)}activate_product(t){if(!this.initialized)throw new Error("Moonbase has not been set up yet");if(!(t!=null&&t.token))throw new Error("You need to provide a token when activating a product");je(this.pinia).show(Oe.Activation,le.ActivateProduct,t)}view_cart(){if(!this.initialized)throw new Error("Moonbase has not been set up yet");je(this.pinia).show(Oe.Cart,le.ViewCart)}async add_to_cart(t){var o,s,i,a;if(!this.initialized)throw new Error("Moonbase has not been set up yet");if(!(t!=null&&t.product_id)&&!(t!=null&&t.bundle_id))throw new Error("You need to provide a product or bundle ID when adding to cart");const n=ni(this.storefront);if(t!=null&&t.product_id){const l=vd(t.product_id,this.storefront);if(l.value)n.addToCart(l.value,(o=l.value.variations)==null?void 0:o.find(u=>u.id===t.variation_id));else{await this.storefront.loadedStorefrontPromise;const u=vd(t.product_id,this.storefront);if(u.value)n.addToCart(u.value,(s=u.value.variations)==null?void 0:s.find(c=>c.id===t.variation_id));else throw new Error(`Product '${t.product_id}' not found`)}}if(t!=null&&t.bundle_id){const l=md(t.bundle_id,this.storefront);if(l.value)n.addToCart(l.value,(i=l.value.variations)==null?void 0:i.find(u=>u.id===t.variation_id));else{await this.storefront.loadedStorefrontPromise;const u=md(t.bundle_id,this.storefront);if(u.value)n.addToCart(u.value,(a=u.value.variations)==null?void 0:a.find(c=>c.id===t.variation_id));else throw new Error(`Bundle '${t.bundle_id}' not found`)}}je(this.pinia).show(Oe.Cart,le.AddToCart)}checkout(t){var r;if(!this.initialized)throw new Error("Moonbase has not been set up yet");if(t!=null&&t.complete)return;ni(this.storefront).checkout({redirect:((r=this.options)==null?void 0:r.checkout.redirect)||!1,returnUrl:`${window.location.pathname}?mb_intent=view_products`})}close_checkout(){var t;if(!this.initialized)throw new Error("Moonbase has not been set up yet");(t=this.storefront)==null||t.closeCheckout()}}const kf=new Cw;globalThis&&(globalThis.Moonbase?console.warn("Multiple instances of Moonbase detected, only one will be initialized"):globalThis.Moonbase=kf),kt.MoonbaseIntent=le,kt.default=kf,Object.defineProperties(kt,{__esModule:{value:!0},[Symbol.toStringTag]:{value:"Module"}})});
|
package/package.json
CHANGED
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@moonbase.sh/storefront",
|
|
3
3
|
"type": "module",
|
|
4
|
-
"version": "0.2.
|
|
4
|
+
"version": "0.2.71",
|
|
5
5
|
"description": "Package to let you embed Moonbase.sh into your storefront as a payment and delivery provider",
|
|
6
6
|
"author": "Tobias Lønnerød Madsen <m@dsen.tv>",
|
|
7
7
|
"license": "MIT",
|
|
@@ -21,7 +21,7 @@
|
|
|
21
21
|
"dependencies": {
|
|
22
22
|
"pinia": "^2.1.7",
|
|
23
23
|
"vue": "^3.5.3",
|
|
24
|
-
"@moonbase.sh/vue": "0.2.
|
|
24
|
+
"@moonbase.sh/vue": "0.2.71"
|
|
25
25
|
},
|
|
26
26
|
"devDependencies": {
|
|
27
27
|
"@types/node": "^18.19.50",
|