B3arpF0b.js
10.7 KB
import{_ as D}from"./BbvIyG5y.js";import{d as P,G as H,I as M,H as K,o as r,k as m,w as h,x as I,g as e,n as g,S as L,h as O,i as G,P as R,s as x,K as W,T as X,U as Y,V as J,W as Q,X as Z,ac as ee,ad as te,ae,e as se,Y as f,f as V,$ as B,c as k,F as A,l as T,t as N,a0 as j,u as ie,a as le,z as ne,q as re,m as E}from"./BtEn9SvP.js";import{L as oe,_ as de}from"./3BmF-CSc.js";import{u as ce}from"./BP6f2Ivu.js";import{V as ue}from"./B4Klxa_r.js";import{u as pe}from"./D34wY8wT.js";const[fe,me]=W("SwitchRoot");var he=P({__name:"SwitchRoot",props:{defaultValue:{type:null,required:!1},modelValue:{type:null,required:!1,default:void 0},disabled:{type:Boolean,required:!1},id:{type:String,required:!1},value:{type:String,required:!1,default:"on"},trueValue:{type:null,required:!1,default:()=>!0},falseValue:{type:null,required:!1,default:()=>!1},asChild:{type:Boolean,required:!1},as:{type:null,required:!1,default:"button"},name:{type:String,required:!1},required:{type:Boolean,required:!1}},emits:["update:modelValue"],setup(s,{emit:d}){const t=s,a=d,{disabled:c}=H(t),u=M(t,"modelValue",a,{defaultValue:t.defaultValue??t.falseValue,passive:t.modelValue===void 0}),i=x(()=>u.value===t.trueValue);function b(){c.value||(u.value=i.value?t.falseValue:t.trueValue)}const{forwardRef:p,currentElement:o}=K(),y=ce(o),v=x(()=>t.id&&o.value?document.querySelector(`[for="${t.id}"]`)?.innerText:void 0);return me({checked:i,toggleCheck:b,disabled:c}),(l,U)=>(r(),m(e(R),L(l.$attrs,{id:l.id,ref:e(p),role:"switch",type:l.as==="button"?"button":void 0,value:l.value,"aria-label":l.$attrs["aria-label"]||v.value,"aria-checked":i.value,"aria-required":l.required,"data-state":i.value?"checked":"unchecked","data-disabled":e(c)?"":void 0,"as-child":l.asChild,as:l.as,disabled:e(c),onClick:b,onKeydown:O(G(b,["prevent"]),["enter"])}),{default:h(()=>[I(l.$slots,"default",{modelValue:e(u),checked:i.value}),e(y)&&l.name?(r(),m(e(ue),{key:0,type:"checkbox",name:l.name,disabled:e(c),required:l.required,value:l.value,checked:i.value},null,8,["name","disabled","required","value","checked"])):g("v-if",!0)]),_:3},16,["id","type","value","aria-label","aria-checked","aria-required","data-state","data-disabled","as-child","as","disabled","onKeydown"]))}}),be=he,ge=P({__name:"SwitchThumb",props:{asChild:{type:Boolean,required:!1},as:{type:null,required:!1,default:"span"}},setup(s){const d=fe();return K(),(t,a)=>(r(),m(e(R),{"data-state":e(d).checked.value?"checked":"unchecked","data-disabled":e(d).disabled.value?"":void 0,"as-child":t.asChild,as:t.as},{default:h(()=>[I(t.$slots,"default")]),_:3},8,["data-state","data-disabled","as-child","as"]))}}),ke=ge;const ye={slots:{root:"relative flex items-start",base:["inline-flex items-center shrink-0 rounded-full border-2 border-transparent focus-visible:outline-2 focus-visible:outline-offset-2 data-[state=unchecked]:bg-accented","transition-[background] duration-200"],container:"flex items-center",thumb:"group pointer-events-none rounded-full bg-default shadow-lg ring-0 transition-transform duration-200 data-[state=unchecked]:translate-x-0 data-[state=unchecked]:rtl:-translate-x-0 flex items-center justify-center",icon:["absolute shrink-0 group-data-[state=unchecked]:text-dimmed opacity-0 size-10/12","transition-[color,opacity] duration-200"],wrapper:"ms-2",label:"block font-medium text-default",description:"text-muted"},variants:{color:{primary:{base:"data-[state=checked]:bg-primary focus-visible:outline-primary",icon:"group-data-[state=checked]:text-primary"},secondary:{base:"data-[state=checked]:bg-secondary focus-visible:outline-secondary",icon:"group-data-[state=checked]:text-secondary"},success:{base:"data-[state=checked]:bg-success focus-visible:outline-success",icon:"group-data-[state=checked]:text-success"},info:{base:"data-[state=checked]:bg-info focus-visible:outline-info",icon:"group-data-[state=checked]:text-info"},warning:{base:"data-[state=checked]:bg-warning focus-visible:outline-warning",icon:"group-data-[state=checked]:text-warning"},error:{base:"data-[state=checked]:bg-error focus-visible:outline-error",icon:"group-data-[state=checked]:text-error"},neutral:{base:"data-[state=checked]:bg-inverted focus-visible:outline-inverted",icon:"group-data-[state=checked]:text-highlighted"}},size:{xs:{base:"w-7",container:"h-4",thumb:"size-3 data-[state=checked]:translate-x-3 data-[state=checked]:rtl:-translate-x-3",wrapper:"text-xs"},sm:{base:"w-8",container:"h-4",thumb:"size-3.5 data-[state=checked]:translate-x-3.5 data-[state=checked]:rtl:-translate-x-3.5",wrapper:"text-xs"},md:{base:"w-9",container:"h-5",thumb:"size-4 data-[state=checked]:translate-x-4 data-[state=checked]:rtl:-translate-x-4",wrapper:"text-sm"},lg:{base:"w-10",container:"h-5",thumb:"size-4.5 data-[state=checked]:translate-x-4.5 data-[state=checked]:rtl:-translate-x-4.5",wrapper:"text-sm"},xl:{base:"w-11",container:"h-6",thumb:"size-5 data-[state=checked]:translate-x-5 data-[state=checked]:rtl:-translate-x-5",wrapper:"text-base"}},checked:{true:{icon:"group-data-[state=checked]:opacity-100"}},unchecked:{true:{icon:"group-data-[state=unchecked]:opacity-100"}},loading:{true:{icon:"animate-spin"}},required:{true:{label:"after:content-['*'] after:ms-0.5 after:text-error"}},disabled:{true:{root:"opacity-75",base:"cursor-not-allowed",label:"cursor-not-allowed",description:"cursor-not-allowed"}}},defaultVariants:{color:"primary",size:"md"}},ve=Object.assign({inheritAttrs:!1},{__name:"USwitch",props:{as:{type:null,required:!1},color:{type:null,required:!1},size:{type:null,required:!1},loading:{type:Boolean,required:!1},loadingIcon:{type:null,required:!1},checkedIcon:{type:null,required:!1},uncheckedIcon:{type:null,required:!1},label:{type:String,required:!1},description:{type:String,required:!1},class:{type:null,required:!1},ui:{type:Object,required:!1},disabled:{type:Boolean,required:!1},id:{type:String,required:!1},name:{type:String,required:!1},required:{type:Boolean,required:!1},value:{type:String,required:!1},defaultValue:{type:null,required:!1},modelValue:{type:null,required:!1},trueValue:{type:null,required:!1},falseValue:{type:null,required:!1}},emits:["change","update:modelValue"],setup(s,{emit:d}){const t=s,a=X(),c=d,u=Y(),i=J("switch",t),b=Q(Z(t,"required","value","defaultValue","modelValue","trueValue","falseValue"),c),{id:p,emitFormChange:o,emitFormInput:y,size:v,color:l,name:U,disabled:w,ariaAttrs:z}=ee(t),S=p.value??te(),q=ae(),F=x(()=>{const{"data-state":_,...C}=q;return C}),n=x(()=>j({extend:j(ye),...u.ui?.switch||{}})({size:v.value,color:l.value,required:t.required,loading:t.loading,disabled:w.value||t.loading}));function $(_){const C=new Event("change",{target:{value:_}});c("change",C),o(),y()}return(_,C)=>(r(),m(e(R),{as:s.as,"data-slot":"root",class:f(n.value.root({class:[e(i)?.root,t.class]}))},{default:h(()=>[se("div",{"data-slot":"container",class:f(n.value.container({class:e(i)?.container}))},[V(e(be),L({id:e(S)},{...e(b),...F.value,...e(z)},{name:e(U),disabled:e(w)||s.loading,"data-slot":"base",class:n.value.base({class:e(i)?.base}),"onUpdate:modelValue":$}),{default:h(()=>[V(e(ke),{"data-slot":"thumb",class:f(n.value.thumb({class:e(i)?.thumb}))},{default:h(()=>[s.loading?(r(),m(B,{key:0,name:s.loadingIcon||e(u).ui.icons.loading,"data-slot":"icon",class:f(n.value.icon({class:e(i)?.icon,checked:!0,unchecked:!0}))},null,8,["name","class"])):(r(),k(A,{key:1},[s.checkedIcon?(r(),m(B,{key:0,name:s.checkedIcon,"data-slot":"icon",class:f(n.value.icon({class:e(i)?.icon,checked:!0}))},null,8,["name","class"])):g("",!0),s.uncheckedIcon?(r(),m(B,{key:1,name:s.uncheckedIcon,"data-slot":"icon",class:f(n.value.icon({class:e(i)?.icon,unchecked:!0}))},null,8,["name","class"])):g("",!0)],64))]),_:1},8,["class"])]),_:1},16,["id","name","disabled","class"])],2),s.label||a.label||s.description||a.description?(r(),k("div",{key:0,"data-slot":"wrapper",class:f(n.value.wrapper({class:e(i)?.wrapper}))},[s.label||a.label?(r(),m(e(oe),{key:0,for:e(S),"data-slot":"label",class:f(n.value.label({class:e(i)?.label}))},{default:h(()=>[I(_.$slots,"label",{label:s.label},()=>[T(N(s.label),1)])]),_:3},8,["for","class"])):g("",!0),s.description||a.description?(r(),k("p",{key:1,"data-slot":"description",class:f(n.value.description({class:e(i)?.description}))},[I(_.$slots,"description",{description:s.description},()=>[T(N(s.description),1)])],2)):g("",!0)],2)):g("",!0)]),_:3},8,["as","class"]))}}),Ce=P({__name:"notifications",async setup(s){let d,t;const{t:a}=ie(),c=le(),u=pe(),i={email:!0,desktop:!1,product_updates:!0,weekly_digest:!1,important_updates:!0},{data:b}=([d,t]=ne(()=>u.getNotifications()),d=await d,t(),d),p=b.value??i,o=re({email:p.email,desktop:p.desktop,product_updates:p.product_updates,weekly_digest:p.weekly_digest,important_updates:p.important_updates}),y=x(()=>[{title:a("settings.notifications.sections.channels.title"),description:a("settings.notifications.sections.channels.description"),fields:[{name:"email",label:a("settings.notifications.fields.email.label"),description:a("settings.notifications.fields.email.description")},{name:"desktop",label:a("settings.notifications.fields.desktop.label"),description:a("settings.notifications.fields.desktop.description")}]},{title:a("settings.notifications.sections.account.title"),description:a("settings.notifications.sections.account.description"),fields:[{name:"weekly_digest",label:a("settings.notifications.fields.weeklyDigest.label"),description:a("settings.notifications.fields.weeklyDigest.description")},{name:"product_updates",label:a("settings.notifications.fields.productUpdates.label"),description:a("settings.notifications.fields.productUpdates.description")},{name:"important_updates",label:a("settings.notifications.fields.importantUpdates.label"),description:a("settings.notifications.fields.importantUpdates.description")}]}]);async function v(){try{const l=await u.updateNotifications({email:o.email,desktop:o.desktop,product_updates:o.product_updates,weekly_digest:o.weekly_digest,important_updates:o.important_updates});if(!l.success){c.add({title:a("common.error"),description:l.message,icon:"i-lucide-circle-alert",color:"error"});return}}catch{c.add({title:a("common.error"),description:a("common.requestFailed"),icon:"i-lucide-circle-alert",color:"error"})}}return(l,U)=>{const w=D,z=ve,S=de;return r(!0),k(A,null,E(e(y),(q,F)=>(r(),k("div",{key:F},[V(w,{title:q.title,description:q.description,variant:"naked",class:"mb-4"},null,8,["title","description"]),V(w,{variant:"subtle",ui:{container:"divide-y divide-default"}},{default:h(()=>[(r(!0),k(A,null,E(q.fields,n=>(r(),m(S,{key:n.name,name:n.name,label:n.label,description:n.description,class:"flex items-center justify-between not-last:pb-4 gap-2"},{default:h(()=>[V(z,{modelValue:e(o)[n.name],"onUpdate:modelValue":[$=>e(o)[n.name]=$,v]},null,8,["modelValue","onUpdate:modelValue"])]),_:2},1032,["name","label","description"]))),128))]),_:2},1024)]))),128)}}});export{Ce as default};