@vanjana/vue-ui 0.1.110 → 0.1.112

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
@@ -1 +1 @@
1
- (function(_,e){typeof exports=="object"&&typeof module<"u"?e(exports,require("vue"),require("vue-router")):typeof define=="function"&&define.amd?define(["exports","vue","vue-router"],e):(_=typeof globalThis<"u"?globalThis:_||self,e(_.VanjanaVueUi={},_.Vue,_.VueRouter))})(this,(function(_,e,ot){"use strict";const S=(t,o)=>{const n=t.__vccOpts||t;for(const[l,a]of o)n[l]=a;return n},gn={},bn={class:"button-bar"},yn={class:"left"},wn={class:"right"};function kn(t,o){return e.openBlock(),e.createElementBlock("div",bn,[e.createElementVNode("div",yn,[e.renderSlot(t.$slots,"left",{},void 0,!0)]),e.createElementVNode("div",wn,[e.renderSlot(t.$slots,"default",{},void 0,!0)])])}const lt=S(gn,[["render",kn],["__scopeId","data-v-45a6ed1a"]]);var L=(t=>(t.HOME="fa-regular fa-house",t.DASHBOARD="fa-solid fa-gauge",t.MENU="fa-solid fa-bars",t.DOT_MENU="fa-solid fa-ellipsis-vertical",t.BACK="fa-regular fa-hand-point-left",t.LOGOUT="fa-solid fa-right-from-bracket",t.CHEVRON_LEFT="fa-solid fa-chevron-left",t.CHEVRON_RIGHT="fa-solid fa-chevron-right",t.CHEVRON_UP="fa-solid fa-chevron-up",t.CHEVRON_DOWN="fa-solid fa-chevron-down",t.PREVIOUS="fa-solid fa-angle-left",t.FIRST="fa-solid fa-angles-left",t.NEXT="fa-solid fa-angle-right",t.LAST="fa-solid fa-angles-right",t.USER="fa-regular fa-user-circle",t.CHARACTER="fa-solid fa-person",t.SETTINGS="fa-solid fa-gear",t.ADD="fa-regular fa-plus",t.EDIT="fa-solid fa-pen",t.REMOVE="fa-regular fa-trash-can",t.DELETE="fa-regular fa-trash-can",t.SHARE="fa-solid fa-share-nodes",t.SORT="fa-regular fa-arrow-up-arrow-down",t.CLOSE="fa-regular fa-circle-xmark",t.SAVE="fa-regular fa-floppy-disk",t.COPY="fa-regular fa-copy",t.DUPLICATE="fa-regular fa-clone",t.CUT="fa-solid fa-scissors",t.PASTE="fa-regular fa-clipboard",t.REFRESH="fa-solid fa-rotate-right",t.RELOAD="fa-solid fa-arrows-rotate",t.PRINT="fa-solid fa-print",t.FILTER="fa-solid fa-filter",t.UNDO="fa-solid fa-rotate-left",t.REDO="fa-solid fa-rotate-right",t.PIN="fa-solid fa-thumbtack",t.EXPAND="fa-solid fa-expand",t.COLLAPSE="fa-solid fa-compress",t.EXTERNAL_LINK="fa-solid fa-arrow-up-right-from-square",t.INFO="fa-solid fa-circle-info",t.WARNING="fa-solid fa-triangle-exclamation",t.ERROR="fa-regular fa-circle-xmark",t.CHECK="fa-regular fa-circle-check",t.LOVE="fa-regular fa-heart",t.STAR="fa-regular fa-star",t.STAR_FILLED="fa-solid fa-star",t.HELP="fa-regular fa-circle-question",t.QUESTION="fa-solid fa-question",t.PROJECT="fa-regular fa-folder-open",t.FOLDER="fa-regular fa-folder",t.FILE_TEXT="fa-regular fa-file-lines",t.UPLOAD="fa-solid fa-cloud-arrow-up",t.DOWNLOAD="fa-solid fa-cloud-arrow-down",t.ATTACHMENT="fa-solid fa-paperclip",t.LINK="fa-solid fa-link",t.TAG="fa-solid fa-tag",t.TAGS="fa-solid fa-tags",t.SEARCH="fa-solid fa-magnifying-glass",t.MESSAGE_SQUARE="fa-regular fa-message",t.MAIL="fa-regular fa-envelope",t.SHOPPING_BAG="fa-regular fa-bag-shopping",t.COMMENT="fa-regular fa-comment",t.COMMENTS="fa-regular fa-comments",t.CALENDAR="fa-regular fa-calendar",t.CALENDAR_DAY="fa-solid fa-calendar-day",t.CLOCK="fa-regular fa-clock",t.HISTORY="fa-solid fa-clock-rotate-left",t.LOCK="fa-solid fa-lock",t.UNLOCK="fa-solid fa-lock-open",t.EYE="fa-regular fa-eye",t.EYE_SLASH="fa-regular fa-eye-slash",t.SHIELD="fa-solid fa-shield",t.LIST="fa-solid fa-list",t.GRID="fa-solid fa-grid",t.TABLE="fa-solid fa-table",t.COLUMNS="fa-solid fa-columns",t.BELL="fa-regular fa-bell",t.IMAGE="fa-regular fa-image",t))(L||{}),A=(t=>(t.S="icon-size-s",t.M="icon-size-m",t.L="icon-size-l",t))(A||{});const K=e.defineComponent({__name:"icon",props:{icon:{},size:{}},setup(t){const o=t,n=A.M,l=e.computed(()=>`${o.icon} ${o.size??n}`);return(a,i)=>(e.openBlock(),e.createElementBlock("i",{class:e.normalizeClass(l.value)},null,2))}}),_n=["disabled"],he=S(e.defineComponent({__name:"button",props:{label:{},icon:{},primary:{type:Boolean},secondary:{type:Boolean},tertiary:{type:Boolean},disabled:{type:Boolean}},setup(t){const o=t,n=A.S,l=e.computed(()=>o.primary?"primary":o.secondary?"secondary":o.tertiary?"tertiary":"primary"),a=e.computed(()=>!o.label&&!!o.icon);return(i,r)=>(e.openBlock(),e.createElementBlock("button",{class:e.normalizeClass(["button",l.value,{"icon-only":a.value}]),disabled:t.disabled},[t.icon?(e.openBlock(),e.createBlock(K,{key:0,icon:t.icon,size:e.unref(n)},null,8,["icon","size"])):e.createCommentVNode("",!0),e.createTextVNode(" "+e.toDisplayString(t.label),1)],10,_n))}}),[["__scopeId","data-v-f31c33cf"]]),Vn={key:0,class:"header-actions"},Cn={key:0},ge=S(e.defineComponent({__name:"card",props:{header:{},scrollable:{type:Boolean}},setup(t){const o=e.useSlots();return(n,l)=>(e.openBlock(),e.createElementBlock("div",{class:e.normalizeClass(["card",{scrollable:t.scrollable}])},[e.createElementVNode("header",null,[e.createElementVNode("h3",null,e.toDisplayString(t.header),1),e.unref(o).headerActions?(e.openBlock(),e.createElementBlock("span",Vn,[e.renderSlot(n.$slots,"headerActions",{},void 0,!0)])):e.createCommentVNode("",!0)]),e.createElementVNode("main",null,[e.renderSlot(n.$slots,"default",{},void 0,!0)]),e.unref(o).footer?(e.openBlock(),e.createElementBlock("footer",Cn,[e.renderSlot(n.$slots,"footer",{},void 0,!0)])):e.createCommentVNode("",!0)],2))}}),[["__scopeId","data-v-ec6ab562"]]),En=["aria-label"],Bn={key:0,class:"carousel-indicators"},vn=S(e.defineComponent({__name:"carousel",props:{autoplay:{type:Boolean},interval:{},loop:{type:Boolean},pauseOnHover:{type:Boolean},startIndex:{},ariaLabel:{}},setup(t){const o=t,n=o.autoplay??!1,l=o.interval??4e3,a=o.loop??!0,i=o.pauseOnHover??!0,r=o.startIndex??0,d=o.ariaLabel??"Carousel",s=e.ref(Math.max(0,r)),c=e.ref(null),f=e.ref(null),u=e.ref(0),m=e.ref(0);let p=!1;const h=e.ref(0),w=e.ref(!1);let g=null,y=null;const k=e.ref(null),b=e.ref(null),E=()=>{h.value=c.value?c.value.children.length:0,h.value===0?s.value=0:s.value>=h.value&&(s.value=a?0:h.value-1),T()},x=e.computed(()=>u.value>0?{transform:`translateX(${-s.value*u.value+m.value}px)`}:{transform:`translateX(-${s.value*100}%)`}),T=()=>{c.value&&Array.from(c.value.children).forEach((v,ee)=>{try{ee===s.value?v.removeAttribute("aria-hidden"):v.setAttribute("aria-hidden","true")}catch{}})},V=()=>{C(),!(!n||h.value<=1)&&(i&&w.value||(g=setTimeout(()=>{$(),V()},l)))},C=()=>{g&&(clearTimeout(g),g=null)},B=()=>{h.value!==0&&(s.value<=0?s.value=a?h.value-1:0:s.value--)},$=()=>{h.value!==0&&(s.value>=h.value-1?s.value=a?0:h.value-1:s.value++)},R=v=>{v<0||v>=h.value||(s.value=v)},P=()=>{w.value=!0,i&&C()},q=()=>{w.value=!1,V()},G=v=>{v.key==="ArrowLeft"?B():v.key==="ArrowRight"&&$()};let se=0,z=0;const W=v=>{se=v.touches[0].clientX,z=0},D=v=>{z=v.touches[0].clientX-se},F=()=>{z>50?B():z<-50&&$(),z=0};let Re=0;const fn=v=>{if(v.isPrimary!==!1&&!(v.pointerType==="mouse"&&v.button!==0)){p=!0,Re=v.clientX,m.value=0,C();try{v.target?.setPointerCapture?.(v.pointerId)}catch{}}},un=v=>{p&&(m.value=v.clientX-Re,v.preventDefault())},mn=()=>{if(!p)return;p=!1;const v=Math.max(50,u.value*.15);m.value>v?B():m.value<-v&&$(),m.value=0,V()},pn=v=>{try{v.target?.releasePointerCapture?.(v.pointerId)}catch{}mn()},hn=()=>mn();return e.onMounted(()=>{e.nextTick(()=>{if(E(),c.value&&(y=new MutationObserver(E),y.observe(c.value,{childList:!0}),c.value.addEventListener("touchstart",W,{passive:!0}),c.value.addEventListener("touchmove",D,{passive:!0}),c.value.addEventListener("touchend",F)),f.value){const v=()=>{u.value=f.value?f.value.clientWidth:0};v();const ee=window.ResizeObserver;if(ee&&f.value){const te=new ee(()=>v());te.observe(f.value),k.value=te}else window.addEventListener("resize",v),b.value=v;f.value&&(f.value.addEventListener("pointerdown",fn),f.value.addEventListener("pointermove",un),f.value.addEventListener("pointerup",pn),f.value.addEventListener("pointercancel",hn))}T(),V()})}),e.onBeforeUnmount(()=>{C(),y&&c.value&&y.disconnect(),c.value&&(c.value.removeEventListener("touchstart",W),c.value.removeEventListener("touchmove",D),c.value.removeEventListener("touchend",F)),f.value&&(k.value&&k.value.disconnect&&k.value.disconnect(),b.value&&window.removeEventListener("resize",b.value),f.value.removeEventListener("pointerdown",fn),f.value.removeEventListener("pointermove",un),f.value.removeEventListener("pointerup",pn),f.value.removeEventListener("pointercancel",hn))}),e.watch([s,()=>h.value],()=>{T()}),e.watch([()=>w.value,s],()=>{V()}),(v,ee)=>{const te=e.resolveComponent("VjButton");return e.openBlock(),e.createElementBlock("div",{class:"carousel",role:"region","aria-roledescription":"carousel","aria-label":e.unref(d),tabindex:"0",onKeydown:G,onMouseenter:P,onMouseleave:q},[e.createElementVNode("div",{class:"carousel-window",ref_key:"windowRef",ref:f},[e.createElementVNode("div",{class:"carousel-track",ref_key:"track",ref:c,style:e.normalizeStyle(x.value)},[e.renderSlot(v.$slots,"default",{},void 0,!0)],4)],512),e.createVNode(te,{class:"carousel-btn prev",icon:e.unref(L).PREVIOUS,onClick:B,type:"button","aria-label":"Previous slide"},null,8,["icon"]),e.createVNode(te,{class:"carousel-btn next",icon:e.unref(L).NEXT,onClick:$,type:"button","aria-label":"Next slide"},null,8,["icon"]),h.value>1?(e.openBlock(),e.createElementBlock("div",Bn,[(e.openBlock(!0),e.createElementBlock(e.Fragment,null,e.renderList(h.value,pe=>(e.openBlock(),e.createBlock(te,{key:pe-1,class:e.normalizeClass(["indicator",{active:pe-1===s.value}]),onClick:oi=>R(pe-1),"aria-current":pe-1===s.value,"aria-label":`Go to slide ${pe}`,type:"button"},null,8,["class","onClick","aria-current","aria-label"]))),128))])):e.createCommentVNode("",!0)],40,En)}}}),[["__scopeId","data-v-232abca2"]]),Sn={class:"checkbox"},xn=["checked","disabled"],$n={key:0,class:"checkbox-label"},at=S(e.defineComponent({__name:"checkbox",props:e.mergeModels({label:{},disabled:{type:Boolean}},{modelValue:{type:Boolean},modelModifiers:{}}),emits:["update:modelValue"],setup(t){const o=e.useModel(t,"modelValue"),n=l=>{const a=l.target;o.value=a.checked};return(l,a)=>(e.openBlock(),e.createElementBlock("label",Sn,[e.createElementVNode("input",{type:"checkbox",checked:o.value,onChange:n,disabled:t.disabled,class:"checkbox-input"},null,40,xn),a[0]||(a[0]=e.createElementVNode("span",{class:"checkbox-box"},[e.createElementVNode("svg",{class:"checkbox-icon",viewBox:"0 0 24 24",fill:"none",xmlns:"http://www.w3.org/2000/svg"},[e.createElementVNode("path",{class:"checkbox-check",d:"M5 12L10 17L20 7",stroke:"currentColor","stroke-width":"2.5","stroke-linecap":"round","stroke-linejoin":"round"})])],-1)),t.label?(e.openBlock(),e.createElementBlock("span",$n,e.toDisplayString(t.label),1)):e.createCommentVNode("",!0)]))}}),[["__scopeId","data-v-d44b45ff"]]),Ln={class:"radio"},Tn=["checked","disabled"],Rn={key:0,class:"radio-label"},An=S(e.defineComponent({__name:"radio",props:e.mergeModels({label:{},disabled:{type:Boolean}},{modelValue:{type:Boolean},modelModifiers:{}}),emits:["update:modelValue"],setup(t){const o=e.useModel(t,"modelValue"),n=l=>{const a=l.target;o.value=a.checked};return(l,a)=>(e.openBlock(),e.createElementBlock("label",Ln,[e.createElementVNode("input",{type:"checkbox",checked:o.value,onChange:n,disabled:t.disabled,class:"radio-input"},null,40,Tn),a[0]||(a[0]=e.createElementVNode("span",{class:"radio-box"},[e.createElementVNode("span",{class:"radio-dot","aria-hidden":"true"})],-1)),t.label?(e.openBlock(),e.createElementBlock("span",Rn,e.toDisplayString(t.label),1)):e.createCommentVNode("",!0)]))}}),[["__scopeId","data-v-f9e4bb65"]]),Dn={class:"chip__label"},Ae=S(e.defineComponent({__name:"chip",props:e.mergeModels({label:{},dismissable:{type:Boolean},color:{}},{modelValue:{},modelModifiers:{}}),emits:e.mergeModels(["update:modelValue","dismiss","click"],["update:modelValue"]),setup(t,{emit:o}){const n=t,l=e.useModel(t,"modelValue"),a=o,i=n.dismissable??!1,r=e.computed(()=>{const s={};return n.color&&(s.color=`var(--on-surface-${n.color})`,s.background=`var(--surface-${n.color})`),s}),d=()=>{a("dismiss",l.value)};return(s,c)=>(e.openBlock(),e.createElementBlock("div",{class:e.normalizeClass(["chip",{"chip--dismissable":e.unref(i)}]),style:e.normalizeStyle(r.value),onClick:c[0]||(c[0]=f=>s.$emit("click"))},[e.createElementVNode("span",Dn,e.toDisplayString(t.label),1),e.unref(i)?(e.openBlock(),e.createElementBlock("button",{key:0,class:"chip__close",type:"button",onClick:e.withModifiers(d,["stop"]),"aria-label":"Dismiss"},[e.createVNode(K,{icon:e.unref(L).CLOSE,size:e.unref(A).S},null,8,["icon","size"])])):e.createCommentVNode("",!0)],6))}}),[["__scopeId","data-v-c2014a3b"]]),Nn={class:"chip-group"},Mn={key:0,class:"chip-group__label"},On={class:"chip-group__container"},jn=["onDragover","onDrop"],Pn=["onDragstart","onDragover","onDragenter","onDrop"],zn=["onDragover","onDrop"],Fn={key:1,class:"chip-group__hint"},De=S(e.defineComponent({__name:"chip-group",props:{items:{default:()=>[]},label:{},hint:{},dismissable:{type:Boolean,default:!0},color:{},itemKey:{default:"value"},itemLabel:{default:"label"}},emits:["update:items","reorder","dismiss","chip-click"],setup(t,{emit:o}){const n=t,l=o,a=e.ref(null),i=e.ref(null);function r(g,y){return typeof g=="string"?`${g}-${y}`:g[n.itemKey]!==void 0?String(g[n.itemKey]):`item-${y}`}function d(g){return typeof g=="string"?g:g[n.itemLabel]!==void 0?String(g[n.itemLabel]):String(g.value||"")}function s(g,y){a.value=g,y.dataTransfer&&(y.dataTransfer.effectAllowed="move",y.dataTransfer.setData("text/plain",String(g)))}function c(g,y){a.value===null||a.value===g||(y.preventDefault(),y.dataTransfer&&(y.dataTransfer.dropEffect="move"))}function f(g){a.value===null||a.value===g||(i.value=g)}function u(){}function m(g,y){return a.value===null||i.value===null||a.value===g?!1:y==="before"&&i.value===g&&a.value>g||y==="after"&&i.value===g&&a.value<g}function p(g,y){if(y.preventDefault(),a.value===null||a.value===g)return;const k=[...n.items],b=k[a.value];k.splice(a.value,1),k.splice(g,0,b),l("update:items",k),l("reorder",k)}function h(){a.value=null,i.value=null}function w(g){const y=n.items[g],k=n.items.filter((b,E)=>E!==g);l("update:items",k),l("dismiss",y,g)}return(g,y)=>(e.openBlock(),e.createElementBlock("div",Nn,[t.label?(e.openBlock(),e.createElementBlock("label",Mn,e.toDisplayString(t.label),1)):e.createCommentVNode("",!0),e.createElementVNode("div",On,[(e.openBlock(!0),e.createElementBlock(e.Fragment,null,e.renderList(t.items,(k,b)=>(e.openBlock(),e.createElementBlock(e.Fragment,{key:r(k,b)},[m(b,"before")?(e.openBlock(),e.createElementBlock("div",{key:0,class:"chip-group__drop-indicator",onDragover:e.withModifiers(E=>c(b,E),["prevent"]),onDrop:E=>p(b,E)},null,40,jn)):e.createCommentVNode("",!0),e.createElementVNode("div",{class:e.normalizeClass(["chip-group__item",{"chip-group__item--dragging":a.value===b}]),draggable:"true",onDragstart:E=>s(b,E),onDragover:e.withModifiers(E=>c(b,E),["prevent"]),onDragenter:e.withModifiers(E=>f(b),["prevent"]),onDragleave:u,onDrop:E=>p(b,E),onDragend:h},[e.createVNode(Ae,{label:d(k),dismissable:typeof k=="string"?t.dismissable:k.dismissable??t.dismissable,color:typeof k=="string"?t.color:k.color??t.color,onDismiss:E=>w(b),onClick:E=>g.$emit("chip-click",k,b)},null,8,["label","dismissable","color","onDismiss","onClick"])],42,Pn),m(b,"after")?(e.openBlock(),e.createElementBlock("div",{key:1,class:"chip-group__drop-indicator",onDragover:e.withModifiers(E=>c(b,E),["prevent"]),onDrop:E=>p(b,E)},null,40,zn)):e.createCommentVNode("",!0)],64))),128))]),t.hint?(e.openBlock(),e.createElementBlock("div",Fn,e.toDisplayString(t.hint),1)):e.createCommentVNode("",!0)]))}}),[["__scopeId","data-v-66199d19"]]),Ne=Symbol("VjDialogController"),In={class:"dialog-content"},Hn={key:1},Un={class:"dialog-footer"},be=S(e.defineComponent({__name:"dialog",props:{modelValue:{type:Boolean,default:!1},title:{},message:{},component:{},componentProps:{},showFooter:{type:Boolean,default:!1},showCancel:{type:Boolean,default:!0},confirmText:{default:"OK"},cancelText:{default:"Abbrechen"},closeOnBackdrop:{type:Boolean,default:!1},closeOnEscape:{type:Boolean,default:!0}},emits:["update:modelValue","confirm","cancel","close","resolve"],setup(t,{emit:o}){const n=t,l=o,a=e.ref(n.modelValue);e.watch(()=>n.modelValue,u=>a.value=u);const i=()=>{a.value=!1,l("update:modelValue",!1),l("close")},r=u=>{l("resolve",u),i()},d=()=>{l("confirm"),i()},s=()=>{l("cancel"),i()};e.provide(Ne,{close:i,resolve:r,cancel:s});const c=()=>{n.closeOnBackdrop&&i()},f=u=>{u.key==="Escape"&&n.closeOnEscape&&a.value&&i()};return e.onMounted(()=>{document.addEventListener("keydown",f)}),e.onBeforeUnmount(()=>{document.removeEventListener("keydown",f)}),(u,m)=>{const p=e.resolveComponent("VjIcon"),h=e.resolveComponent("VjButton"),w=e.resolveComponent("VjCard");return e.openBlock(),e.createBlock(e.Teleport,{to:"body"},[e.createVNode(e.Transition,{name:"dialog-fade"},{default:e.withCtx(()=>[a.value?(e.openBlock(),e.createElementBlock("div",{key:0,class:"dialog-backdrop",onClick:c},[e.createVNode(e.Transition,{name:"dialog-scale"},{default:e.withCtx(()=>[a.value?(e.openBlock(),e.createElementBlock("div",{key:0,class:"dialog-wrapper",onClick:m[0]||(m[0]=e.withModifiers(()=>{},["stop"]))},[e.createVNode(w,{class:"dialog-card",header:t.title||""},e.createSlots({headerActions:e.withCtx(()=>[e.createVNode(p,{icon:e.unref(L).CLOSE,size:e.unref(A).S,class:"dialog-close",onClick:i},null,8,["icon","size"])]),default:e.withCtx(()=>[e.createElementVNode("div",In,[t.component?(e.openBlock(),e.createBlock(e.resolveDynamicComponent(t.component),e.mergeProps({key:0},t.componentProps,{onCancel:s,onClose:i,onConfirm:d,onResolve:r}),null,16)):t.message?(e.openBlock(),e.createElementBlock("div",Hn,e.toDisplayString(t.message),1)):e.renderSlot(u.$slots,"default",{key:2},void 0,!0)])]),_:2},[t.showFooter?{name:"footer",fn:e.withCtx(()=>[e.createElementVNode("div",Un,[e.renderSlot(u.$slots,"footer",{},()=>[t.showCancel?(e.openBlock(),e.createBlock(h,{key:0,secondary:"",onClick:s,label:t.cancelText},null,8,["label"])):e.createCommentVNode("",!0),e.createVNode(h,{primary:"",onClick:d,label:t.confirmText},null,8,["label"])],!0)])]),key:"0"}:void 0]),1032,["header"])])):e.createCommentVNode("",!0)]),_:3})])):e.createCommentVNode("",!0)]),_:3})])}}}),[["__scopeId","data-v-29d1729b"]]),Wn={class:"vj-chip-selector"},Kn={class:"options-grid"},Xn=["onClick"],qn={key:0,class:"no-options"},it=S(e.defineComponent({__name:"chip-selector",props:{items:{default:()=>[]},label:{default:""},hint:{default:""},options:{},dialogTitle:{},addButtonText:{default:"+ Add..."}},emits:["update:items"],setup(t,{emit:o}){const n=t,l=o,a=e.ref([...n.items]),i=e.ref(!1),r=e.computed(()=>n.options.filter(c=>!a.value.includes(c.value)));function d(c){const f=c;a.value=f,l("update:items",f)}function s(c){if(!a.value.includes(c)){const f=[...a.value,c];a.value=f,l("update:items",f)}}return e.watch(()=>n.items,c=>{JSON.stringify(c)!==JSON.stringify(a.value)&&(a.value=[...c])},{deep:!0}),(c,f)=>(e.openBlock(),e.createElementBlock("div",Wn,[e.createVNode(De,{items:a.value,"onUpdate:items":[f[0]||(f[0]=u=>a.value=u),d],label:t.label,hint:t.hint},null,8,["items","label","hint"]),e.createElementVNode("button",{type:"button",class:"add-button",onClick:f[1]||(f[1]=u=>i.value=!0)},e.toDisplayString(t.addButtonText),1),e.createVNode(be,{modelValue:i.value,"onUpdate:modelValue":f[2]||(f[2]=u=>i.value=u),title:t.dialogTitle||`Add ${t.label}`,"close-on-backdrop":""},{default:e.withCtx(()=>[e.createElementVNode("div",Kn,[(e.openBlock(!0),e.createElementBlock(e.Fragment,null,e.renderList(r.value,u=>(e.openBlock(),e.createElementBlock("button",{key:u.value,type:"button",class:"option-btn",onClick:m=>s(u.value)},"+ "+e.toDisplayString(u.label),9,Xn))),128))]),r.value.length===0?(e.openBlock(),e.createElementBlock("div",qn,"All options already selected")):e.createCommentVNode("",!0)]),_:1},8,["modelValue","title"])]))}}),[["__scopeId","data-v-f2e1b880"]]),ne=Math.min,N=Math.max,ye=Math.round,we=Math.floor,I=t=>({x:t,y:t}),Gn={left:"right",right:"left",bottom:"top",top:"bottom"},Yn={start:"end",end:"start"};function rt(t,o,n){return N(t,ne(o,n))}function ce(t,o){return typeof t=="function"?t(o):t}function Y(t){return t.split("-")[0]}function de(t){return t.split("-")[1]}function st(t){return t==="x"?"y":"x"}function ct(t){return t==="y"?"height":"width"}const Jn=new Set(["top","bottom"]);function X(t){return Jn.has(Y(t))?"y":"x"}function dt(t){return st(X(t))}function Qn(t,o,n){n===void 0&&(n=!1);const l=de(t),a=dt(t),i=ct(a);let r=a==="x"?l===(n?"end":"start")?"right":"left":l==="start"?"bottom":"top";return o.reference[i]>o.floating[i]&&(r=ke(r)),[r,ke(r)]}function Zn(t){const o=ke(t);return[Me(t),o,Me(o)]}function Me(t){return t.replace(/start|end/g,o=>Yn[o])}const ft=["left","right"],ut=["right","left"],eo=["top","bottom"],to=["bottom","top"];function no(t,o,n){switch(t){case"top":case"bottom":return n?o?ut:ft:o?ft:ut;case"left":case"right":return o?eo:to;default:return[]}}function oo(t,o,n,l){const a=de(t);let i=no(Y(t),n==="start",l);return a&&(i=i.map(r=>r+"-"+a),o&&(i=i.concat(i.map(Me)))),i}function ke(t){return t.replace(/left|right|bottom|top/g,o=>Gn[o])}function lo(t){return{top:0,right:0,bottom:0,left:0,...t}}function ao(t){return typeof t!="number"?lo(t):{top:t,right:t,bottom:t,left:t}}function _e(t){const{x:o,y:n,width:l,height:a}=t;return{width:l,height:a,top:n,left:o,right:o+l,bottom:n+a,x:o,y:n}}function mt(t,o,n){let{reference:l,floating:a}=t;const i=X(o),r=dt(o),d=ct(r),s=Y(o),c=i==="y",f=l.x+l.width/2-a.width/2,u=l.y+l.height/2-a.height/2,m=l[d]/2-a[d]/2;let p;switch(s){case"top":p={x:f,y:l.y-a.height};break;case"bottom":p={x:f,y:l.y+l.height};break;case"right":p={x:l.x+l.width,y:u};break;case"left":p={x:l.x-a.width,y:u};break;default:p={x:l.x,y:l.y}}switch(de(o)){case"start":p[r]-=m*(n&&c?-1:1);break;case"end":p[r]+=m*(n&&c?-1:1);break}return p}const io=async(t,o,n)=>{const{placement:l="bottom",strategy:a="absolute",middleware:i=[],platform:r}=n,d=i.filter(Boolean),s=await(r.isRTL==null?void 0:r.isRTL(o));let c=await r.getElementRects({reference:t,floating:o,strategy:a}),{x:f,y:u}=mt(c,l,s),m=l,p={},h=0;for(let w=0;w<d.length;w++){const{name:g,fn:y}=d[w],{x:k,y:b,data:E,reset:x}=await y({x:f,y:u,initialPlacement:l,placement:m,strategy:a,middlewareData:p,rects:c,platform:r,elements:{reference:t,floating:o}});f=k??f,u=b??u,p={...p,[g]:{...p[g],...E}},x&&h<=50&&(h++,typeof x=="object"&&(x.placement&&(m=x.placement),x.rects&&(c=x.rects===!0?await r.getElementRects({reference:t,floating:o,strategy:a}):x.rects),{x:f,y:u}=mt(c,m,s)),w=-1)}return{x:f,y:u,placement:m,strategy:a,middlewareData:p}};async function Oe(t,o){var n;o===void 0&&(o={});const{x:l,y:a,platform:i,rects:r,elements:d,strategy:s}=t,{boundary:c="clippingAncestors",rootBoundary:f="viewport",elementContext:u="floating",altBoundary:m=!1,padding:p=0}=ce(o,t),h=ao(p),g=d[m?u==="floating"?"reference":"floating":u],y=_e(await i.getClippingRect({element:(n=await(i.isElement==null?void 0:i.isElement(g)))==null||n?g:g.contextElement||await(i.getDocumentElement==null?void 0:i.getDocumentElement(d.floating)),boundary:c,rootBoundary:f,strategy:s})),k=u==="floating"?{x:l,y:a,width:r.floating.width,height:r.floating.height}:r.reference,b=await(i.getOffsetParent==null?void 0:i.getOffsetParent(d.floating)),E=await(i.isElement==null?void 0:i.isElement(b))?await(i.getScale==null?void 0:i.getScale(b))||{x:1,y:1}:{x:1,y:1},x=_e(i.convertOffsetParentRelativeRectToViewportRelativeRect?await i.convertOffsetParentRelativeRectToViewportRelativeRect({elements:d,rect:k,offsetParent:b,strategy:s}):k);return{top:(y.top-x.top+h.top)/E.y,bottom:(x.bottom-y.bottom+h.bottom)/E.y,left:(y.left-x.left+h.left)/E.x,right:(x.right-y.right+h.right)/E.x}}const ro=function(t){return t===void 0&&(t={}),{name:"flip",options:t,async fn(o){var n,l;const{placement:a,middlewareData:i,rects:r,initialPlacement:d,platform:s,elements:c}=o,{mainAxis:f=!0,crossAxis:u=!0,fallbackPlacements:m,fallbackStrategy:p="bestFit",fallbackAxisSideDirection:h="none",flipAlignment:w=!0,...g}=ce(t,o);if((n=i.arrow)!=null&&n.alignmentOffset)return{};const y=Y(a),k=X(d),b=Y(d)===d,E=await(s.isRTL==null?void 0:s.isRTL(c.floating)),x=m||(b||!w?[ke(d)]:Zn(d)),T=h!=="none";!m&&T&&x.push(...oo(d,w,h,E));const V=[d,...x],C=await Oe(o,g),B=[];let $=((l=i.flip)==null?void 0:l.overflows)||[];if(f&&B.push(C[y]),u){const G=Qn(a,r,E);B.push(C[G[0]],C[G[1]])}if($=[...$,{placement:a,overflows:B}],!B.every(G=>G<=0)){var R,P;const G=(((R=i.flip)==null?void 0:R.index)||0)+1,se=V[G];if(se&&(!(u==="alignment"?k!==X(se):!1)||$.every(D=>X(D.placement)===k?D.overflows[0]>0:!0)))return{data:{index:G,overflows:$},reset:{placement:se}};let z=(P=$.filter(W=>W.overflows[0]<=0).sort((W,D)=>W.overflows[1]-D.overflows[1])[0])==null?void 0:P.placement;if(!z)switch(p){case"bestFit":{var q;const W=(q=$.filter(D=>{if(T){const F=X(D.placement);return F===k||F==="y"}return!0}).map(D=>[D.placement,D.overflows.filter(F=>F>0).reduce((F,Re)=>F+Re,0)]).sort((D,F)=>D[1]-F[1])[0])==null?void 0:q[0];W&&(z=W);break}case"initialPlacement":z=d;break}if(a!==z)return{reset:{placement:z}}}return{}}}},so=new Set(["left","top"]);async function co(t,o){const{placement:n,platform:l,elements:a}=t,i=await(l.isRTL==null?void 0:l.isRTL(a.floating)),r=Y(n),d=de(n),s=X(n)==="y",c=so.has(r)?-1:1,f=i&&s?-1:1,u=ce(o,t);let{mainAxis:m,crossAxis:p,alignmentAxis:h}=typeof u=="number"?{mainAxis:u,crossAxis:0,alignmentAxis:null}:{mainAxis:u.mainAxis||0,crossAxis:u.crossAxis||0,alignmentAxis:u.alignmentAxis};return d&&typeof h=="number"&&(p=d==="end"?h*-1:h),s?{x:p*f,y:m*c}:{x:m*c,y:p*f}}const fo=function(t){return t===void 0&&(t=0),{name:"offset",options:t,async fn(o){var n,l;const{x:a,y:i,placement:r,middlewareData:d}=o,s=await co(o,t);return r===((n=d.offset)==null?void 0:n.placement)&&(l=d.arrow)!=null&&l.alignmentOffset?{}:{x:a+s.x,y:i+s.y,data:{...s,placement:r}}}}},uo=function(t){return t===void 0&&(t={}),{name:"shift",options:t,async fn(o){const{x:n,y:l,placement:a}=o,{mainAxis:i=!0,crossAxis:r=!1,limiter:d={fn:g=>{let{x:y,y:k}=g;return{x:y,y:k}}},...s}=ce(t,o),c={x:n,y:l},f=await Oe(o,s),u=X(Y(a)),m=st(u);let p=c[m],h=c[u];if(i){const g=m==="y"?"top":"left",y=m==="y"?"bottom":"right",k=p+f[g],b=p-f[y];p=rt(k,p,b)}if(r){const g=u==="y"?"top":"left",y=u==="y"?"bottom":"right",k=h+f[g],b=h-f[y];h=rt(k,h,b)}const w=d.fn({...o,[m]:p,[u]:h});return{...w,data:{x:w.x-n,y:w.y-l,enabled:{[m]:i,[u]:r}}}}}},mo=function(t){return t===void 0&&(t={}),{name:"size",options:t,async fn(o){var n,l;const{placement:a,rects:i,platform:r,elements:d}=o,{apply:s=()=>{},...c}=ce(t,o),f=await Oe(o,c),u=Y(a),m=de(a),p=X(a)==="y",{width:h,height:w}=i.floating;let g,y;u==="top"||u==="bottom"?(g=u,y=m===(await(r.isRTL==null?void 0:r.isRTL(d.floating))?"start":"end")?"left":"right"):(y=u,g=m==="end"?"top":"bottom");const k=w-f.top-f.bottom,b=h-f.left-f.right,E=ne(w-f[g],k),x=ne(h-f[y],b),T=!o.middlewareData.shift;let V=E,C=x;if((n=o.middlewareData.shift)!=null&&n.enabled.x&&(C=b),(l=o.middlewareData.shift)!=null&&l.enabled.y&&(V=k),T&&!m){const $=N(f.left,0),R=N(f.right,0),P=N(f.top,0),q=N(f.bottom,0);p?C=h-2*($!==0||R!==0?$+R:N(f.left,f.right)):V=w-2*(P!==0||q!==0?P+q:N(f.top,f.bottom))}await s({...o,availableWidth:C,availableHeight:V});const B=await r.getDimensions(d.floating);return h!==B.width||w!==B.height?{reset:{rects:!0}}:{}}}};function Ve(){return typeof window<"u"}function Q(t){return je(t)?(t.nodeName||"").toLowerCase():"#document"}function M(t){var o;return(t==null||(o=t.ownerDocument)==null?void 0:o.defaultView)||window}function H(t){var o;return(o=(je(t)?t.ownerDocument:t.document)||window.document)==null?void 0:o.documentElement}function je(t){return Ve()?t instanceof Node||t instanceof M(t).Node:!1}function O(t){return Ve()?t instanceof Element||t instanceof M(t).Element:!1}function U(t){return Ve()?t instanceof HTMLElement||t instanceof M(t).HTMLElement:!1}function pt(t){return!Ve()||typeof ShadowRoot>"u"?!1:t instanceof ShadowRoot||t instanceof M(t).ShadowRoot}const po=new Set(["inline","contents"]);function fe(t){const{overflow:o,overflowX:n,overflowY:l,display:a}=j(t);return/auto|scroll|overlay|hidden|clip/.test(o+l+n)&&!po.has(a)}const ho=new Set(["table","td","th"]);function go(t){return ho.has(Q(t))}const bo=[":popover-open",":modal"];function Ce(t){return bo.some(o=>{try{return t.matches(o)}catch{return!1}})}const yo=["transform","translate","scale","rotate","perspective"],wo=["transform","translate","scale","rotate","perspective","filter"],ko=["paint","layout","strict","content"];function Pe(t){const o=ze(),n=O(t)?j(t):t;return yo.some(l=>n[l]?n[l]!=="none":!1)||(n.containerType?n.containerType!=="normal":!1)||!o&&(n.backdropFilter?n.backdropFilter!=="none":!1)||!o&&(n.filter?n.filter!=="none":!1)||wo.some(l=>(n.willChange||"").includes(l))||ko.some(l=>(n.contain||"").includes(l))}function _o(t){let o=J(t);for(;U(o)&&!oe(o);){if(Pe(o))return o;if(Ce(o))return null;o=J(o)}return null}function ze(){return typeof CSS>"u"||!CSS.supports?!1:CSS.supports("-webkit-backdrop-filter","none")}const Vo=new Set(["html","body","#document"]);function oe(t){return Vo.has(Q(t))}function j(t){return M(t).getComputedStyle(t)}function Ee(t){return O(t)?{scrollLeft:t.scrollLeft,scrollTop:t.scrollTop}:{scrollLeft:t.scrollX,scrollTop:t.scrollY}}function J(t){if(Q(t)==="html")return t;const o=t.assignedSlot||t.parentNode||pt(t)&&t.host||H(t);return pt(o)?o.host:o}function ht(t){const o=J(t);return oe(o)?t.ownerDocument?t.ownerDocument.body:t.body:U(o)&&fe(o)?o:ht(o)}function ue(t,o,n){var l;o===void 0&&(o=[]),n===void 0&&(n=!0);const a=ht(t),i=a===((l=t.ownerDocument)==null?void 0:l.body),r=M(a);if(i){const d=Fe(r);return o.concat(r,r.visualViewport||[],fe(a)?a:[],d&&n?ue(d):[])}return o.concat(a,ue(a,[],n))}function Fe(t){return t.parent&&Object.getPrototypeOf(t.parent)?t.frameElement:null}function gt(t){const o=j(t);let n=parseFloat(o.width)||0,l=parseFloat(o.height)||0;const a=U(t),i=a?t.offsetWidth:n,r=a?t.offsetHeight:l,d=ye(n)!==i||ye(l)!==r;return d&&(n=i,l=r),{width:n,height:l,$:d}}function Ie(t){return O(t)?t:t.contextElement}function le(t){const o=Ie(t);if(!U(o))return I(1);const n=o.getBoundingClientRect(),{width:l,height:a,$:i}=gt(o);let r=(i?ye(n.width):n.width)/l,d=(i?ye(n.height):n.height)/a;return(!r||!Number.isFinite(r))&&(r=1),(!d||!Number.isFinite(d))&&(d=1),{x:r,y:d}}const Co=I(0);function bt(t){const o=M(t);return!ze()||!o.visualViewport?Co:{x:o.visualViewport.offsetLeft,y:o.visualViewport.offsetTop}}function Eo(t,o,n){return o===void 0&&(o=!1),!n||o&&n!==M(t)?!1:o}function Z(t,o,n,l){o===void 0&&(o=!1),n===void 0&&(n=!1);const a=t.getBoundingClientRect(),i=Ie(t);let r=I(1);o&&(l?O(l)&&(r=le(l)):r=le(t));const d=Eo(i,n,l)?bt(i):I(0);let s=(a.left+d.x)/r.x,c=(a.top+d.y)/r.y,f=a.width/r.x,u=a.height/r.y;if(i){const m=M(i),p=l&&O(l)?M(l):l;let h=m,w=Fe(h);for(;w&&l&&p!==h;){const g=le(w),y=w.getBoundingClientRect(),k=j(w),b=y.left+(w.clientLeft+parseFloat(k.paddingLeft))*g.x,E=y.top+(w.clientTop+parseFloat(k.paddingTop))*g.y;s*=g.x,c*=g.y,f*=g.x,u*=g.y,s+=b,c+=E,h=M(w),w=Fe(h)}}return _e({width:f,height:u,x:s,y:c})}function Be(t,o){const n=Ee(t).scrollLeft;return o?o.left+n:Z(H(t)).left+n}function yt(t,o){const n=t.getBoundingClientRect(),l=n.left+o.scrollLeft-Be(t,n),a=n.top+o.scrollTop;return{x:l,y:a}}function Bo(t){let{elements:o,rect:n,offsetParent:l,strategy:a}=t;const i=a==="fixed",r=H(l),d=o?Ce(o.floating):!1;if(l===r||d&&i)return n;let s={scrollLeft:0,scrollTop:0},c=I(1);const f=I(0),u=U(l);if((u||!u&&!i)&&((Q(l)!=="body"||fe(r))&&(s=Ee(l)),U(l))){const p=Z(l);c=le(l),f.x=p.x+l.clientLeft,f.y=p.y+l.clientTop}const m=r&&!u&&!i?yt(r,s):I(0);return{width:n.width*c.x,height:n.height*c.y,x:n.x*c.x-s.scrollLeft*c.x+f.x+m.x,y:n.y*c.y-s.scrollTop*c.y+f.y+m.y}}function vo(t){return Array.from(t.getClientRects())}function So(t){const o=H(t),n=Ee(t),l=t.ownerDocument.body,a=N(o.scrollWidth,o.clientWidth,l.scrollWidth,l.clientWidth),i=N(o.scrollHeight,o.clientHeight,l.scrollHeight,l.clientHeight);let r=-n.scrollLeft+Be(t);const d=-n.scrollTop;return j(l).direction==="rtl"&&(r+=N(o.clientWidth,l.clientWidth)-a),{width:a,height:i,x:r,y:d}}const wt=25;function xo(t,o){const n=M(t),l=H(t),a=n.visualViewport;let i=l.clientWidth,r=l.clientHeight,d=0,s=0;if(a){i=a.width,r=a.height;const f=ze();(!f||f&&o==="fixed")&&(d=a.offsetLeft,s=a.offsetTop)}const c=Be(l);if(c<=0){const f=l.ownerDocument,u=f.body,m=getComputedStyle(u),p=f.compatMode==="CSS1Compat"&&parseFloat(m.marginLeft)+parseFloat(m.marginRight)||0,h=Math.abs(l.clientWidth-u.clientWidth-p);h<=wt&&(i-=h)}else c<=wt&&(i+=c);return{width:i,height:r,x:d,y:s}}const $o=new Set(["absolute","fixed"]);function Lo(t,o){const n=Z(t,!0,o==="fixed"),l=n.top+t.clientTop,a=n.left+t.clientLeft,i=U(t)?le(t):I(1),r=t.clientWidth*i.x,d=t.clientHeight*i.y,s=a*i.x,c=l*i.y;return{width:r,height:d,x:s,y:c}}function kt(t,o,n){let l;if(o==="viewport")l=xo(t,n);else if(o==="document")l=So(H(t));else if(O(o))l=Lo(o,n);else{const a=bt(t);l={x:o.x-a.x,y:o.y-a.y,width:o.width,height:o.height}}return _e(l)}function _t(t,o){const n=J(t);return n===o||!O(n)||oe(n)?!1:j(n).position==="fixed"||_t(n,o)}function To(t,o){const n=o.get(t);if(n)return n;let l=ue(t,[],!1).filter(d=>O(d)&&Q(d)!=="body"),a=null;const i=j(t).position==="fixed";let r=i?J(t):t;for(;O(r)&&!oe(r);){const d=j(r),s=Pe(r);!s&&d.position==="fixed"&&(a=null),(i?!s&&!a:!s&&d.position==="static"&&!!a&&$o.has(a.position)||fe(r)&&!s&&_t(t,r))?l=l.filter(f=>f!==r):a=d,r=J(r)}return o.set(t,l),l}function Ro(t){let{element:o,boundary:n,rootBoundary:l,strategy:a}=t;const r=[...n==="clippingAncestors"?Ce(o)?[]:To(o,this._c):[].concat(n),l],d=r[0],s=r.reduce((c,f)=>{const u=kt(o,f,a);return c.top=N(u.top,c.top),c.right=ne(u.right,c.right),c.bottom=ne(u.bottom,c.bottom),c.left=N(u.left,c.left),c},kt(o,d,a));return{width:s.right-s.left,height:s.bottom-s.top,x:s.left,y:s.top}}function Ao(t){const{width:o,height:n}=gt(t);return{width:o,height:n}}function Do(t,o,n){const l=U(o),a=H(o),i=n==="fixed",r=Z(t,!0,i,o);let d={scrollLeft:0,scrollTop:0};const s=I(0);function c(){s.x=Be(a)}if(l||!l&&!i)if((Q(o)!=="body"||fe(a))&&(d=Ee(o)),l){const p=Z(o,!0,i,o);s.x=p.x+o.clientLeft,s.y=p.y+o.clientTop}else a&&c();i&&!l&&a&&c();const f=a&&!l&&!i?yt(a,d):I(0),u=r.left+d.scrollLeft-s.x-f.x,m=r.top+d.scrollTop-s.y-f.y;return{x:u,y:m,width:r.width,height:r.height}}function He(t){return j(t).position==="static"}function Vt(t,o){if(!U(t)||j(t).position==="fixed")return null;if(o)return o(t);let n=t.offsetParent;return H(t)===n&&(n=n.ownerDocument.body),n}function Ct(t,o){const n=M(t);if(Ce(t))return n;if(!U(t)){let a=J(t);for(;a&&!oe(a);){if(O(a)&&!He(a))return a;a=J(a)}return n}let l=Vt(t,o);for(;l&&go(l)&&He(l);)l=Vt(l,o);return l&&oe(l)&&He(l)&&!Pe(l)?n:l||_o(t)||n}const No=async function(t){const o=this.getOffsetParent||Ct,n=this.getDimensions,l=await n(t.floating);return{reference:Do(t.reference,await o(t.floating),t.strategy),floating:{x:0,y:0,width:l.width,height:l.height}}};function Mo(t){return j(t).direction==="rtl"}const Oo={convertOffsetParentRelativeRectToViewportRelativeRect:Bo,getDocumentElement:H,getClippingRect:Ro,getOffsetParent:Ct,getElementRects:No,getClientRects:vo,getDimensions:Ao,getScale:le,isElement:O,isRTL:Mo};function Et(t,o){return t.x===o.x&&t.y===o.y&&t.width===o.width&&t.height===o.height}function jo(t,o){let n=null,l;const a=H(t);function i(){var d;clearTimeout(l),(d=n)==null||d.disconnect(),n=null}function r(d,s){d===void 0&&(d=!1),s===void 0&&(s=1),i();const c=t.getBoundingClientRect(),{left:f,top:u,width:m,height:p}=c;if(d||o(),!m||!p)return;const h=we(u),w=we(a.clientWidth-(f+m)),g=we(a.clientHeight-(u+p)),y=we(f),b={rootMargin:-h+"px "+-w+"px "+-g+"px "+-y+"px",threshold:N(0,ne(1,s))||1};let E=!0;function x(T){const V=T[0].intersectionRatio;if(V!==s){if(!E)return r();V?r(!1,V):l=setTimeout(()=>{r(!1,1e-7)},1e3)}V===1&&!Et(c,t.getBoundingClientRect())&&r(),E=!1}try{n=new IntersectionObserver(x,{...b,root:a.ownerDocument})}catch{n=new IntersectionObserver(x,b)}n.observe(t)}return r(!0),i}function ve(t,o,n,l){l===void 0&&(l={});const{ancestorScroll:a=!0,ancestorResize:i=!0,elementResize:r=typeof ResizeObserver=="function",layoutShift:d=typeof IntersectionObserver=="function",animationFrame:s=!1}=l,c=Ie(t),f=a||i?[...c?ue(c):[],...ue(o)]:[];f.forEach(y=>{a&&y.addEventListener("scroll",n,{passive:!0}),i&&y.addEventListener("resize",n)});const u=c&&d?jo(c,n):null;let m=-1,p=null;r&&(p=new ResizeObserver(y=>{let[k]=y;k&&k.target===c&&p&&(p.unobserve(o),cancelAnimationFrame(m),m=requestAnimationFrame(()=>{var b;(b=p)==null||b.observe(o)})),n()}),c&&!s&&p.observe(c),p.observe(o));let h,w=s?Z(t):null;s&&g();function g(){const y=Z(t);w&&!Et(w,y)&&n(),w=y,h=requestAnimationFrame(g)}return n(),()=>{var y;f.forEach(k=>{a&&k.removeEventListener("scroll",n),i&&k.removeEventListener("resize",n)}),u?.(),(y=p)==null||y.disconnect(),p=null,s&&cancelAnimationFrame(h)}}const Se=fo,xe=uo,$e=ro,Po=mo,Bt=(t,o,n)=>{const l=new Map,a={platform:Oo,...n},i={...a.platform,_c:l};return io(t,o,{...a,platform:i})};function zo(t){return t!=null&&typeof t=="object"&&"$el"in t}function vt(t){if(zo(t)){const o=t.$el;return je(o)&&Q(o)==="#comment"?null:o}return t}function me(t){return typeof t=="function"?t():e.unref(t)}function St(t){return typeof window>"u"?1:(t.ownerDocument.defaultView||window).devicePixelRatio||1}function xt(t,o){const n=St(t);return Math.round(o*n)/n}function Ue(t,o,n){n===void 0&&(n={});const l=n.whileElementsMounted,a=e.computed(()=>{var V;return(V=me(n.open))!=null?V:!0}),i=e.computed(()=>me(n.middleware)),r=e.computed(()=>{var V;return(V=me(n.placement))!=null?V:"bottom"}),d=e.computed(()=>{var V;return(V=me(n.strategy))!=null?V:"absolute"}),s=e.computed(()=>{var V;return(V=me(n.transform))!=null?V:!0}),c=e.computed(()=>vt(t.value)),f=e.computed(()=>vt(o.value)),u=e.ref(0),m=e.ref(0),p=e.ref(d.value),h=e.ref(r.value),w=e.shallowRef({}),g=e.ref(!1),y=e.computed(()=>{const V={position:p.value,left:"0",top:"0"};if(!f.value)return V;const C=xt(f.value,u.value),B=xt(f.value,m.value);return s.value?{...V,transform:"translate("+C+"px, "+B+"px)",...St(f.value)>=1.5&&{willChange:"transform"}}:{position:p.value,left:C+"px",top:B+"px"}});let k;function b(){if(c.value==null||f.value==null)return;const V=a.value;Bt(c.value,f.value,{middleware:i.value,placement:r.value,strategy:d.value}).then(C=>{u.value=C.x,m.value=C.y,p.value=C.strategy,h.value=C.placement,w.value=C.middlewareData,g.value=V!==!1})}function E(){typeof k=="function"&&(k(),k=void 0)}function x(){if(E(),l===void 0){b();return}if(c.value!=null&&f.value!=null){k=l(c.value,f.value,b);return}}function T(){a.value||(g.value=!1)}return e.watch([i,r,d,a],b,{flush:"sync"}),e.watch([c,f],x,{flush:"sync"}),e.watch(a,T,{flush:"sync"}),e.getCurrentScope()&&e.onScopeDispose(E),{x:e.shallowReadonly(u),y:e.shallowReadonly(m),strategy:e.shallowReadonly(p),placement:e.shallowReadonly(h),middlewareData:e.shallowReadonly(w),isPositioned:e.shallowReadonly(g),floatingStyles:y,update:b}}const $t=S(e.defineComponent({inheritAttrs:!1,__name:"dot-menu",props:{icon:{}},setup(t){const o=t,n=e.ref(!1),l=e.ref(null),a=e.ref(null),i=e.computed(()=>o.icon??L.DOT_MENU),{floatingStyles:r}=Ue(l,a,{placement:"bottom-end",middleware:[Se(8),$e(),xe({padding:8})],whileElementsMounted:ve}),d=()=>{n.value=!n.value},s=()=>{n.value=!1},c=f=>{const u=f.target;u&&(u.closest(".menu-action")||u.closest('[role="menuitem"]')||u.closest("a"))&&s()};return(f,u)=>{const m=e.resolveComponent("VjButton"),p=e.resolveComponent("VjMenu");return e.openBlock(),e.createElementBlock(e.Fragment,null,[e.createElementVNode("div",{class:e.normalizeClass(["dot-menu-container",f.$attrs.class])},[e.createVNode(m,{ref_key:"buttonRef",ref:l,class:"dot-menu",tertiary:"",icon:i.value,onClick:d},null,8,["icon"]),e.createVNode(e.Transition,{name:"menu"},{default:e.withCtx(()=>[n.value?(e.openBlock(),e.createBlock(p,{key:0,ref_key:"floatingRef",ref:a,style:e.normalizeStyle(e.unref(r)),class:"menu-dropdown",onClose:s,onClickCapture:c},{default:e.withCtx(()=>[e.renderSlot(f.$slots,"default",{},void 0,!0)]),_:3},8,["style"])):e.createCommentVNode("",!0)]),_:3})],2),(e.openBlock(),e.createBlock(e.Teleport,{to:"body"},[n.value?(e.openBlock(),e.createElementBlock("div",{key:0,class:"menu-backdrop",onClick:s})):e.createCommentVNode("",!0)]))],64)}}}),[["__scopeId","data-v-3c400bfd"]]),Lt=S(e.defineComponent({__name:"link-button",props:{label:{},icon:{},to:{},primary:{type:Boolean},secondary:{type:Boolean},tertiary:{type:Boolean},disabled:{type:Boolean}},setup(t){const o=t,n=A.S,l=e.computed(()=>o.primary?"primary":o.secondary?"secondary":o.tertiary?"tertiary":"primary");return(a,i)=>{const r=e.resolveComponent("router-link");return e.openBlock(),e.createBlock(r,{to:t.to,class:e.normalizeClass(["button",l.value]),disabled:t.disabled},{default:e.withCtx(()=>[t.icon?(e.openBlock(),e.createBlock(K,{key:0,icon:t.icon,size:e.unref(n)},null,8,["icon","size"])):e.createCommentVNode("",!0),e.createTextVNode(" "+e.toDisplayString(t.label),1)]),_:1},8,["to","class","disabled"])}}}),[["__scopeId","data-v-bd3cf2f5"]]),Fo=["disabled"],Io={class:"menu-action--icon"},Tt=S(e.defineComponent({__name:"menu-action",props:{label:{},icon:{},disabled:{type:Boolean}},setup(t){const o=A.S;return(n,l)=>(e.openBlock(),e.createElementBlock("button",{class:"menu-action button tertiary",disabled:t.disabled},[e.createElementVNode("span",Io,[t.icon?(e.openBlock(),e.createBlock(K,{key:0,icon:t.icon,size:e.unref(o)},null,8,["icon","size"])):e.createCommentVNode("",!0)]),e.createElementVNode("span",null,e.toDisplayString(t.label),1)],8,Fo))}}),[["__scopeId","data-v-07850995"]]),Ho={},Uo={class:"menu"};function Wo(t,o){return e.openBlock(),e.createElementBlock("div",Uo,[e.renderSlot(t.$slots,"default",{},void 0,!0)])}const Rt=S(Ho,[["render",Wo],["__scopeId","data-v-259fec08"]]),At={mounted(t){t.classList.add("compact")},unmounted(t){t.classList.remove("compact")}},Dt=['input:not([disabled]):not([type="hidden"])',"select:not([disabled])","textarea:not([disabled])","button:not([disabled])","a[href]",'[tabindex]:not([tabindex="-1"])','[contenteditable="true"]'].join(", ");function Ko(t){const o=t.querySelectorAll(Dt);for(const n of Array.from(o))if(n.offsetParent!==null||n.getClientRects().length>0)return n;return null}const Nt={mounted(t,o){const n=typeof o.value=="number"?o.value:0,l=()=>{if(t.matches(Dt)){t.focus();return}const a=Ko(t);a&&a.focus()};n>0?setTimeout(l,n):requestAnimationFrame(l)}};class We{static _instance=null;observer=null;targets=new Map;constructor(){this.init()}static get instance(){return this._instance||(this._instance=new We),this._instance}init(){typeof window<"u"&&"ResizeObserver"in window?this.observer=new ResizeObserver(o=>{for(const n of o)this.handleEntry(n)}):typeof window<"u"&&globalThis.addEventListener("resize",this.handleWindowResize)}handleWindowResize=()=>{for(const o of this.targets.keys()){const n=o.getBoundingClientRect(),l={target:o,contentRect:n};this.handleEntry(l)}};handleEntry(o){const n=this.targets.get(o.target);if(!n)return;const l=o.contentRect.width,a=o.contentRect.height,i=o.target;for(const r of n.callbacks)try{r(l,a,i)}catch(d){console.error("resize callback error",d)}if(n.breakpoints){const r=Object.keys(n.breakpoints).map(s=>Number(s)).filter(s=>!Number.isNaN(s)).sort((s,c)=>s-c);let d;for(const s of r)l>=s&&(d=n.breakpoints[s]);d!==n.currentClass&&(n.currentClass&&o.target.classList.remove(n.currentClass),d&&o.target.classList.add(d),n.currentClass=d)}}observe(o,n,l){const a=this.targets.get(o);if(a)n&&a.callbacks.add(n),l?.breakpoints&&(a.breakpoints=l.breakpoints);else{const i=new Set;n&&i.add(n),this.targets.set(o,{callbacks:i,breakpoints:l?.breakpoints}),this.observer&&this.observer.observe(o)}if(l?.immediate){const i=o.getBoundingClientRect(),r={target:o,contentRect:i};if(this.handleEntry(r),n){const d=i.width,s=i.height;n(d,s,o)}}}unobserve(o,n){const l=this.targets.get(o);l&&(n&&l.callbacks.delete(n),(!n||l.callbacks.size===0)&&(this.targets.delete(o),this.observer&&this.observer.unobserve(o),l.currentClass&&o.classList&&o.classList.remove(l.currentClass)))}}const ae=We.instance,Mt={mounted(t,o){const n=o.value,l=typeof n=="function"?n:n?.onResize,a=typeof n=="object"&&n?.breakpoints?n.breakpoints:void 0,i=typeof n=="object"&&!!n?.immediate,r=t;r.__resize_cb=l,r.__resize_breakpoints=a,l&&ae.observe(t,l,{breakpoints:a,immediate:i})},updated(t,o){const n=t,l=n.__resize_cb,a=n.__resize_breakpoints,i=o.value,r=typeof i=="function"?i:i?.onResize,d=typeof i=="object"&&i?.breakpoints?i.breakpoints:void 0;if(l!==r){l&&ae.unobserve(t,l),r&&ae.observe(t,r,{breakpoints:d,immediate:!!(i&&typeof i=="object"&&i.immediate)}),n.__resize_cb=r,n.__resize_breakpoints=d;return}JSON.stringify(a||{})!==JSON.stringify(d||{})&&(l&&ae.unobserve(t,l),r&&ae.observe(t,r,{breakpoints:d,immediate:!0}),n.__resize_breakpoints=d)},unmounted(t){const o=t,n=o.__resize_cb;n&&ae.unobserve(t,n),delete o.__resize_cb,delete o.__resize_breakpoints}},Xo={},qo={class:"spinner"};function Go(t,o){return e.openBlock(),e.createElementBlock("div",qo)}const Ke=S(Xo,[["render",Go],["__scopeId","data-v-b957fb82"]]),Yo=200,Jo=120;function Ot(t,o){const n=o.querySelector(".vj-loading-inner");if(!n)return;const l=t.clientHeight||t.getBoundingClientRect().height;n.classList.remove("vj-loading-inner--small","vj-loading-inner--minimal");const a=n.querySelector(".vj-loading-text");a&&a.classList.remove("vj-loading-text--hidden"),l<=Jo?(n.classList.add("vj-loading-inner--minimal"),a&&a.classList.add("vj-loading-text--hidden")):l<=Yo&&n.classList.add("vj-loading-inner--small")}const jt={mounted(t,o){let n,l;if(typeof o.value=="object"&&o.value!==null){const m=o.value;n=!!(m.active??!0),l=m.text}else n=!!o.value,l=void 0;const a=getComputedStyle(t),i={overlay:document.createElement("div")};(a.position==="static"||!a.position)&&(i.originalPosition=t.style.position,t.style.position="relative");const r=i.overlay;r.className="vj-loading-overlay",n||r.classList.add("vj-loading-overlay--hidden");const d=document.createElement("div"),s=document.createElement("div");s.className="vj-loading-inner",s.appendChild(d);let c;l&&(c=document.createElement("div"),c.className="vj-loading-text",c.textContent=l,s.appendChild(c)),r.appendChild(s),Ot(t,r);const f=e.createVNode(Ke);e.render(f,d),i.spinnerVnode=f,i.spinnerContainer=d,n&&(t.setAttribute("aria-busy","true"),t.style.pointerEvents="none"),t.appendChild(r);const u=t;u.__vjLoading=i},updated(t,o){const l=t.__vjLoading;if(!l)return;const{overlay:a}=l;let i,r;if(typeof o.value=="object"&&o.value!==null){const s=o.value;i=!!(s.active??!0),r=s.text}else i=!!o.value,r=void 0;i?(a.classList.remove("vj-loading-overlay--hidden"),t.setAttribute("aria-busy","true"),t.style.pointerEvents="none"):(a.classList.add("vj-loading-overlay--hidden"),t.removeAttribute("aria-busy"),t.style.pointerEvents="");const d=a.querySelector(".vj-loading-inner");if(d){const s=d.querySelector(".vj-loading-text");if(s)r?s.textContent=r:s.remove();else if(r){const c=document.createElement("div");c.className="vj-loading-text",c.textContent=r,d.appendChild(c)}}Ot(t,a)},unmounted(t){const o=t,n=o.__vjLoading;if(!n)return;const{overlay:l,originalPosition:a}=n;try{n.spinnerContainer&&e.render(null,n.spinnerContainer)}catch{}l&&l.parentElement===t&&t.removeChild(l),a!==void 0&&(t.style.position=a),o.__vjLoading=void 0}},Qo=t=>{const o=document.createElement("div");return o.className="vj-tooltip",o.setAttribute("role","tooltip"),o.style.position="absolute",o.style.top="0",o.style.left="0",o.style.pointerEvents="none",o.style.zIndex="10000",o.textContent=t,o};function Pt(t){if(!t)return{content:"",placement:"top",delay:200};if(typeof t.value=="string")return{content:t.value,placement:"top",delay:200};const n=t.value||{},l=n.placement??"top";return{content:n.content??"",placement:l,delay:n.delay??200}}const Xe={mounted(t,o){const n=Pt(o),l=Qo(n.content);document.body.appendChild(l);const a={tooltip:l,cleanup:void 0,showTimer:null,hideTimer:null},i=async()=>{const p=await Bt(t,l,{placement:n.placement,middleware:[Se(6),$e(),xe({padding:8})]}),{x:h,y:w}=p;Object.assign(l.style,{left:`${h}px`,top:`${w}px`})},r=()=>{a.hideTimer&&window.clearTimeout(a.hideTimer),a.showTimer=window.setTimeout(()=>{l.classList.add("vj-tooltip--visible"),i(),a.cleanup=ve(t,l,i)},n.delay)},d=()=>{a.showTimer&&window.clearTimeout(a.showTimer),a.hideTimer=window.setTimeout(()=>{if(l.classList.remove("vj-tooltip--visible"),a.cleanup){try{a.cleanup()}catch{}a.cleanup=void 0}},50)},s=p=>{r()},c=p=>{d()},f=()=>r(),u=()=>d(),m=p=>{p.pointerType==="touch"&&(r(),a.docHandler=h=>{!l.contains(h.target)&&!t.contains(h.target)&&(d(),document.removeEventListener("pointerdown",a.docHandler),a.docHandler=void 0)},document.addEventListener("pointerdown",a.docHandler))};t.addEventListener("pointerenter",s),t.addEventListener("pointerleave",c),t.addEventListener("focus",f),t.addEventListener("blur",u),t.addEventListener("pointerdown",m),a.onPointerEnter=s,a.onPointerLeave=c,a.onFocus=f,a.onBlur=u,a.onPointerDown=m,t.__vjTooltip=a},updated(t,o){const n=t.__vjTooltip;if(!n)return;const l=Pt(o);n.tooltip.textContent=l.content},unmounted(t){const o=t.__vjTooltip;if(o){try{o.cleanup&&o.cleanup()}catch{}o.tooltip&&o.tooltip.parentElement&&o.tooltip.parentElement.removeChild(o.tooltip),o.onPointerEnter&&t.removeEventListener("pointerenter",o.onPointerEnter),o.onPointerLeave&&t.removeEventListener("pointerleave",o.onPointerLeave),o.onFocus&&t.removeEventListener("focus",o.onFocus),o.onBlur&&t.removeEventListener("blur",o.onBlur),o.onPointerDown&&t.removeEventListener("pointerdown",o.onPointerDown),o.docHandler&&document.removeEventListener("pointerdown",o.docHandler),t.__vjTooltip=void 0}}},Zo={class:"notification__icon"},el={class:"notification__message"},tl={class:"notification__title"},nl={class:"notification__text"},Le=S(e.defineComponent({__name:"notification",props:{type:{},title:{},message:{}},emits:["close"],setup(t,{emit:o}){const n=t,l=o,a=e.computed(()=>{switch(n.type){case"success":return L.CHECK;case"warning":return L.WARNING;case"error":return L.ERROR;default:return L.INFO}}),i=()=>{l("close")};return(r,d)=>(e.openBlock(),e.createElementBlock("div",{class:e.normalizeClass(["notification",`notification--${t.type}`]),onClick:i},[e.createElementVNode("div",Zo,[e.createVNode(K,{icon:a.value},null,8,["icon"])]),e.createElementVNode("div",el,[e.createElementVNode("div",tl,e.toDisplayString(t.title),1),e.createElementVNode("div",nl,e.toDisplayString(t.message),1)]),e.createVNode(he,{class:"notification__close compact",icon:e.unref(L).CLOSE,onClick:e.withModifiers(i,["stop"]),tertiary:""},null,8,["icon"])],2))}}),[["__scopeId","data-v-ca4451c0"]]),ol={class:"page"},ll={class:"header-left"},al={class:"header-titles"},il={key:0},rl={class:"header-actions"},sl={key:0,class:"page-error"},cl={key:1,class:"contents"},dl={key:2,class:"actions"},fl={key:3},ul={key:0},zt=S(e.defineComponent({directives:{loading:jt},__name:"page",props:{title:{},subTitle:{},backLabel:{},scrollable:{type:Boolean},errorMessage:{},flow:{},loadingMessage:{}},emits:["back"],setup(t,{emit:o}){const n=t,l=e.computed(()=>n.flow?.running?.value??!1),a=e.computed(()=>n.flow?.error?.value??null),i=e.computed(()=>n.errorMessage??(a.value?String(a.value):null));return(r,d)=>{const s=e.resolveComponent("VjButton"),c=e.resolveDirective("loading");return e.withDirectives((e.openBlock(),e.createElementBlock("div",ol,[e.createElementVNode("header",null,[e.createElementVNode("div",ll,[t.backLabel?(e.openBlock(),e.createBlock(s,{key:0,tertiary:"",icon:e.unref(L).BACK,onClick:d[0]||(d[0]=f=>r.$emit("back")),size:"small"},null,8,["icon"])):e.createCommentVNode("",!0),e.createElementVNode("div",al,[e.createElementVNode("h1",null,e.toDisplayString(t.title),1),t.subTitle?(e.openBlock(),e.createElementBlock("h2",il,e.toDisplayString(t.subTitle),1)):e.createCommentVNode("",!0)])]),e.createElementVNode("div",rl,[e.renderSlot(r.$slots,"headerActions",{},void 0,!0)])]),e.createElementVNode("main",{class:e.normalizeClass({scrollable:t.scrollable})},[i.value?(e.openBlock(),e.createElementBlock("div",sl,[e.renderSlot(r.$slots,"error",{},()=>[e.createVNode(Le,{type:"error",title:i.value,message:i.value},null,8,["title","message"])],!0)])):e.createCommentVNode("",!0),i.value?e.createCommentVNode("",!0):(e.openBlock(),e.createElementBlock("div",cl,[e.renderSlot(r.$slots,"default",{},void 0,!0)])),i.value?e.createCommentVNode("",!0):(e.openBlock(),e.createElementBlock("div",dl,[e.renderSlot(r.$slots,"actions",{},void 0,!0)])),r.$slots.flexFooter?(e.openBlock(),e.createElementBlock("footer",fl,[e.renderSlot(r.$slots,"flexFooter",{},void 0,!0)])):e.createCommentVNode("",!0)],2),r.$slots.footer?(e.openBlock(),e.createElementBlock("footer",ul,[e.renderSlot(r.$slots,"footer",{},void 0,!0)])):e.createCommentVNode("",!0)])),[[c,{active:l.value,text:n.loadingMessage}]])}}}),[["__scopeId","data-v-3e724555"]]),ml={class:"paginator-info","aria-live":"polite"},Ft=S(e.defineComponent({__name:"paginator",props:e.mergeModels({totalItems:{},pageSize:{},labels:{}},{modelValue:{required:!0},modelModifiers:{}}),emits:e.mergeModels(["change"],["update:modelValue"]),setup(t,{emit:o}){const n=t,l=e.useModel(t,"modelValue"),a=o,i=e.computed(()=>Math.max(1,Math.ceil((n.totalItems??0)/n.pageSize))),r=e.computed(()=>Math.min(Math.max(1,l.value??1),i.value)),d=e.computed(()=>r.value),s=e.computed(()=>r.value<=1),c=e.computed(()=>r.value>=i.value),f=e.computed(()=>n.labels?.item??"Eintrag"),u=e.computed(()=>n.labels?.of??"von"),m=y=>{const k=Math.min(Math.max(1,Math.floor(y)),i.value);k!==l.value&&(l.value=k,a("change",k))},p=()=>m(1),h=()=>m(r.value-1),w=()=>m(r.value+1),g=()=>m(i.value);return e.watch([()=>n.totalItems,()=>n.pageSize],()=>{l.value>i.value&&m(i.value)}),(y,k)=>{const b=e.resolveComponent("VjButton");return e.openBlock(),e.createElementBlock("nav",{class:"paginator","aria-label":"Pagination",onKeydown:k[0]||(k[0]=e.withKeys(e.withModifiers(()=>{},["prevent"]),["enter"]))},[e.createVNode(b,{tertiary:"",class:"paginator-btn",icon:e.unref(L).FIRST,disabled:s.value,onClick:p,"aria-label":"First page"},null,8,["icon","disabled"]),e.createVNode(b,{tertiary:"",class:"paginator-btn",icon:e.unref(L).PREVIOUS,disabled:s.value,onClick:h,"aria-label":"Previous page"},null,8,["icon","disabled"]),e.renderSlot(y.$slots,"info",{current:r.value,totalPages:i.value,goTo:m},()=>[e.createElementVNode("div",ml,e.toDisplayString(f.value)+" "+e.toDisplayString(d.value)+" "+e.toDisplayString(u.value)+" "+e.toDisplayString(i.value),1)],!0),e.createVNode(b,{tertiary:"",class:"paginator-btn",icon:e.unref(L).NEXT,disabled:c.value,onClick:w,"aria-label":"Next page"},null,8,["icon","disabled"]),e.createVNode(b,{tertiary:"",class:"paginator-btn",icon:e.unref(L).LAST,disabled:c.value,onClick:g,"aria-label":"Last page"},null,8,["icon","disabled"])],32)}}}),[["__scopeId","data-v-b6fa8efe"]]),pl={class:"search-field"},hl=["value","placeholder"],It=S(e.defineComponent({__name:"search-field",props:e.mergeModels({placeholder:{default:"Search..."}},{modelValue:{},modelModifiers:{}}),emits:["update:modelValue"],setup(t){const o=e.useModel(t,"modelValue"),n=i=>{o.value=i.target.value},l=()=>{o.value=""},a=e.computed(()=>!o.value);return(i,r)=>{const d=e.resolveComponent("VjIcon");return e.openBlock(),e.createElementBlock("div",pl,[e.createVNode(d,{icon:e.unref(L).SEARCH,size:e.unref(A).S},null,8,["icon","size"]),e.createElementVNode("input",{value:o.value,onInput:n,type:"text",placeholder:t.placeholder},null,40,hl),e.createVNode(d,{class:e.normalizeClass(["reset",{invisible:a.value}]),icon:e.unref(L).CLOSE,size:e.unref(A).S,onClick:l},null,8,["class","icon","size"])])}}}),[["__scopeId","data-v-2771c8ed"]]),Ht=S(e.defineComponent({__name:"separator",props:{vertical:{type:Boolean}},setup(t){return(o,n)=>(e.openBlock(),e.createElementBlock("div",{class:e.normalizeClass(["separator",{vertical:t.vertical}])},null,2))}}),[["__scopeId","data-v-e354bb4e"]]),gl={key:0,class:"tab"},Ut=e.defineComponent({__name:"tab",props:{name:{},label:{}},setup(t){const o=t,n=e.inject("tabView"),l=e.computed(()=>n?.activeTab()===o.name);return e.onMounted(()=>{n?.registerTab(o.name,o.label)}),(a,i)=>l.value?(e.openBlock(),e.createElementBlock("div",gl,[e.renderSlot(a.$slots,"default")])):e.createCommentVNode("",!0)}}),bl={class:"tab-view"},yl={ref:"headerRef",class:"tab-view-header"},wl=["onClick"],kl={class:"tab-view-content"},Wt=S(e.defineComponent({__name:"tab-view",props:{modelValue:{},modelModifiers:{}},emits:["update:modelValue"],setup(t){const o=e.useModel(t,"modelValue"),n=e.ref([]),l=e.ref([]),a=e.ref({width:"0px",transform:"translateX(0px)"}),i=(c,f)=>{c&&(l.value[f]=c)},r=()=>{const c=n.value.findIndex(f=>f.name===o.value);if(c>=0&&l.value[c]){const f=l.value[c],u=f.offsetWidth,m=f.offsetLeft;a.value={width:`${u}px`,transform:`translateX(${m}px)`}}},d=(c,f)=>{n.value.find(u=>u.name===c)||(n.value.push({name:c,label:f}),e.nextTick(()=>{!o.value&&n.value.length===1&&(o.value=c),r()}))},s=c=>{o.value=c};return e.watch(o,()=>{e.nextTick(()=>{r()})}),e.provide("tabView",{activeTab:()=>o.value,registerTab:d}),(c,f)=>(e.openBlock(),e.createElementBlock("div",bl,[e.createElementVNode("div",yl,[(e.openBlock(!0),e.createElementBlock(e.Fragment,null,e.renderList(n.value,(u,m)=>(e.openBlock(),e.createElementBlock("div",{key:u.name,ref_for:!0,ref:p=>i(p,m),class:e.normalizeClass(["tab-button",{active:o.value===u.name}]),onClick:p=>s(u.name)},e.toDisplayString(u.label),11,wl))),128)),f[0]||(f[0]=e.createElementVNode("div",{class:"tab-line"},null,-1)),e.createElementVNode("div",{class:"tab-indicator",style:e.normalizeStyle(a.value)},null,4)],512),e.createElementVNode("div",kl,[e.renderSlot(c.$slots,"default",{},void 0,!0)])]))}}),[["__scopeId","data-v-3d4ee454"]]),_l=["width","height","role","tabindex","aria-label","onKeydown"],Vl=["cx","cy","r","stroke-width"],Cl=["cx","cy","r","stroke-width","stroke-dasharray","stroke-dashoffset"],El=["transform"],Bl=["x","y","width","height","rx"],vl=["x","y","width","height","rx"],Kt=S(e.defineComponent({__name:"timer",props:{duration:{default:5e3},action:{type:Function,default:void 0},pausable:{type:Boolean,default:!1},paused:{type:Boolean,default:!1},timerSize:{default:"m"}},emits:["update:paused"],setup(t,{emit:o}){const n={s:{size:24,strokeWidth:1,innerStrokeWidth:2},m:{size:32,strokeWidth:1,innerStrokeWidth:4},l:{size:40,strokeWidth:2,innerStrokeWidth:6},xl:{size:64,strokeWidth:2,innerStrokeWidth:8},xxl:{size:92,strokeWidth:2,innerStrokeWidth:10}},l=t,a=o,i=e.computed(()=>n[l.timerSize].size),r=e.computed(()=>n[l.timerSize].strokeWidth),d=e.computed(()=>n[l.timerSize].innerStrokeWidth),s=e.ref(!1),c=e.ref(100),f=e.ref(!1),u=e.ref(l.paused);let m=null,p=null,h=0;const w=e.computed(()=>(i.value-Math.max(r.value,d.value))/2),g=e.computed(()=>2*Math.PI*w.value),y=e.computed(()=>g.value*(1-c.value/100));e.watch(()=>l.paused,$=>{u.value=$,$?V():C()}),e.onMounted(()=>{b()}),e.onUnmounted(()=>{B()});function k(){l.pausable&&(u.value=!u.value,a("update:paused",u.value))}function b(){u.value||(p=performance.now()-h,E())}function E(){if(!p||u.value)return;h=performance.now()-p;const R=Math.max(0,l.duration-h),P=R/l.duration*100;c.value=P,R>0?m=requestAnimationFrame(E):x()}async function x(){if(!l.action){T();return}s.value=!0;try{await l.action()}catch($){console.error("Timer action failed:",$)}finally{s.value=!1,T()}}function T(){f.value=!0,h=0,requestAnimationFrame(()=>{c.value=100,requestAnimationFrame(()=>{f.value=!1,b()})})}function V(){m!==null&&(cancelAnimationFrame(m),m=null)}function C(){m===null&&!s.value&&b()}function B(){m!==null&&(cancelAnimationFrame(m),m=null)}return($,R)=>(e.openBlock(),e.createElementBlock("svg",{width:i.value,height:i.value,class:e.normalizeClass(["vj-timer",{"vj-timer--executing":s.value,"vj-timer--resetting":f.value,"vj-timer--pausable":t.pausable,"vj-timer--paused":u.value}]),role:t.pausable?"button":void 0,tabindex:t.pausable?0:void 0,"aria-label":t.pausable?u.value?"Resume timer":"Pause timer":void 0,onClick:k,onKeydown:[e.withKeys(e.withModifiers(k,["prevent"]),["space"]),e.withKeys(k,["enter"])]},[e.createElementVNode("circle",{cx:i.value/2,cy:i.value/2,r:w.value,"stroke-width":r.value,class:"vj-timer__outer-ring",fill:"none"},null,8,Vl),e.createElementVNode("circle",{cx:i.value/2,cy:i.value/2,r:w.value,"stroke-width":d.value,"stroke-dasharray":g.value,"stroke-dashoffset":y.value,class:"vj-timer__progress-ring",fill:"none"},null,8,Cl),u.value?(e.openBlock(),e.createElementBlock("g",{key:0,class:"vj-timer__pause-icon",transform:`translate(${i.value/2},${i.value/2}) rotate(-90) scale(-1, 1)`},[e.createElementVNode("rect",{x:-i.value*.12,y:-i.value*.15,width:i.value*.08,height:i.value*.3,rx:i.value*.015,class:"vj-timer__pause-bar"},null,8,Bl),e.createElementVNode("rect",{x:i.value*.04,y:-i.value*.15,width:i.value*.08,height:i.value*.3,rx:i.value*.015,class:"vj-timer__pause-bar"},null,8,vl)],8,El)):e.createCommentVNode("",!0)],42,_l))}}),[["__scopeId","data-v-49a33853"]]),Sl=["onKeydown"],xl=S(e.defineComponent({__name:"editable-label",props:{modelValue:{},showIcon:{type:Boolean}},emits:["update:modelValue","edit"],setup(t,{emit:o}){const n=t,l=o,a=e.computed(()=>n.modelValue??""),i=e.ref(a.value),r=e.ref(!1),d=e.ref(!1),s=e.ref(null),c=e.computed(()=>!!n.showIcon);e.watch(a,p=>{i.value=p});function f(){r.value=!0,e.nextTick(()=>s.value?.focus())}function u(){r.value=!1,i.value!==a.value&&(l("update:modelValue",i.value),l("edit",i.value))}function m(){i.value=a.value,r.value=!1}return(p,h)=>(e.openBlock(),e.createElementBlock("span",{class:e.normalizeClass(["vj-editable-label",{editing:r.value}]),onMouseenter:h[1]||(h[1]=w=>d.value=!0),onMouseleave:h[2]||(h[2]=w=>d.value=!1)},[r.value?e.withDirectives((e.openBlock(),e.createElementBlock("input",{key:1,ref_key:"inputRef",ref:s,class:"edit-input","onUpdate:modelValue":h[0]||(h[0]=w=>i.value=w),onKeydown:[e.withKeys(e.withModifiers(u,["prevent"]),["enter"]),e.withKeys(e.withModifiers(m,["prevent"]),["esc"])],onBlur:u},null,40,Sl)),[[e.vModelText,i.value]]):(e.openBlock(),e.createElementBlock(e.Fragment,{key:0},[e.createElementVNode("span",{class:"label-text",onClick:f,title:"Click to edit"},e.toDisplayString(a.value),1),d.value||c.value?(e.openBlock(),e.createElementBlock("span",{key:0,class:"edit-icon",onClick:e.withModifiers(f,["stop"])},[e.createVNode(K,{icon:e.unref(L).EDIT},null,8,["icon"])])):e.createCommentVNode("",!0)],64))],34))}}),[["__scopeId","data-v-cdc52c5b"]]),$l="200% 200%",Xt=S(e.defineComponent({__name:"skeleton",props:{width:{},height:{},borderRadius:{}},setup(t){const o=t,n=e.computed(()=>o.width??"100%"),l=e.computed(()=>o.height??"16px"),a=e.computed(()=>o.borderRadius??"4px");return(i,r)=>(e.openBlock(),e.createElementBlock("div",{class:"vj-skeleton",style:e.normalizeStyle({width:n.value,height:l.value,borderRadius:a.value,backgroundSize:$l}),"aria-hidden":"true"},null,4))}}),[["__scopeId","data-v-ac05e016"]]),qt=S(e.defineComponent({__name:"amount-bar",props:{amount:{},maxAmount:{},segments:{},colorMode:{default:"monochrome"}},setup(t){const o=t,n=e.computed(()=>o.amount/o.maxAmount*100),l=i=>{if(!o.segments)return!1;const r=100/o.segments,d=i*r;return n.value>d},a=i=>(160-i/(o.segments-1||1)*160).toString();return(i,r)=>(e.openBlock(),e.createElementBlock("div",{class:e.normalizeClass(["amount-bar",{"amount-bar--segmented":t.segments,"amount-bar--hue-gradient":t.segments&&t.colorMode==="hue-gradient","amount-bar--monochrome":t.segments&&t.colorMode==="monochrome"}])},[t.segments?(e.openBlock(!0),e.createElementBlock(e.Fragment,{key:0},e.renderList(Array.from({length:t.segments}),(d,s)=>(e.openBlock(),e.createElementBlock("div",{key:s,class:e.normalizeClass(["amount-bar__segment",{"amount-bar__segment--filled":l(s)}]),style:e.normalizeStyle(l(s)&&t.colorMode==="hue-gradient"?{backgroundColor:`hsl(${a(s)}, 100%, 45%)`}:{})},null,6))),128)):(e.openBlock(),e.createElementBlock("div",{key:1,class:"amount-bar__fill",style:e.normalizeStyle({width:`${t.amount/t.maxAmount*100}%`})},null,4))],2))}}),[["__scopeId","data-v-7e89d03f"]]),Gt={form:{labelPosition:"inline",appearance:"bordered"}};let Te={};function Ll(t){Te={...Te,...t,form:{...Gt.form,...t.form}}}function qe(){return{form:{...Gt.form,...Te.form}}}function Tl(){Te={}}const Rl=["data-colspan","data-newline"],Al=["for"],Dl={class:"form-field__wrapper"},Nl=["for"],Ml={key:1,class:"form-field__error"},Ol={key:2,class:"form-field__help",type:"button","aria-label":"Hilfe"},ie=S(e.defineComponent({directives:{tooltip:Xe},__name:"form-field",props:{modelValue:{},label:{},id:{},placeholder:{},disabled:{type:Boolean},colspan:{},newLine:{type:Boolean},spanRow:{type:Boolean},error:{},helpText:{},labelPosition:{},appearance:{}},emits:["update:modelValue","focus","blur"],setup(t,{emit:o}){const n=t,l=o,a=e.ref(n.modelValue),i=e.ref(!1),r=e.computed(()=>`form-field-${n.id??Math.random().toString(36).slice(2)}`),d=e.computed(()=>n.labelPosition??qe().form.labelPosition),s=e.computed(()=>n.appearance??qe().form.appearance);e.watch(()=>n.modelValue,h=>a.value=h);const c=e.computed(()=>{if(d.value==="outline")return!0;const h=a.value!==""&&a.value!==null&&a.value!==void 0;return i.value||h}),f=e.computed(()=>d.value==="outline"||c.value?n.placeholder:"");function u(h){const g=h.target.value;a.value=g,l("update:modelValue",g)}function m(h){i.value=!0,l("focus",h)}function p(h){i.value=!1,l("blur",h)}return(h,w)=>{const g=e.resolveComponent("VjIcon"),y=e.resolveDirective("tooltip");return e.openBlock(),e.createElementBlock("div",{class:e.normalizeClass(["form-field",`form-field--${d.value}`,`form-field--${s.value}`,{disabled:t.disabled},{labelless:!t.label},{error:!!t.error}]),"data-colspan":n.spanRow?void 0:n.colspan,"data-newline":n.spanRow||n.newLine?"true":void 0,style:e.normalizeStyle(n.spanRow?{gridColumn:"1 / -1"}:void 0)},[t.label&&d.value==="outline"?(e.openBlock(),e.createElementBlock("label",{key:0,for:r.value,class:"form-field__label-outline"},e.toDisplayString(t.label),9,Al)):e.createCommentVNode("",!0),e.createElementVNode("div",Dl,[e.renderSlot(h.$slots,"control",{id:r.value,value:a.value,onInput:u,onFocus:m,onBlur:p,disabled:t.disabled,placeholder:f.value},void 0,!0),t.label&&d.value==="inline"?(e.openBlock(),e.createElementBlock("label",{key:0,for:r.value,class:e.normalizeClass(["form-field__label",{"form-field__label--float":c.value}])},e.toDisplayString(t.label),11,Nl)):e.createCommentVNode("",!0)]),t.error?(e.openBlock(),e.createElementBlock("div",Ml,e.toDisplayString(t.error),1)):e.createCommentVNode("",!0),n.helpText?e.withDirectives((e.openBlock(),e.createElementBlock("button",Ol,[e.createVNode(g,{icon:e.unref(L).HELP},null,8,["icon"])])),[[y,n.helpText]]):e.createCommentVNode("",!0)],14,Rl)}}}),[["__scopeId","data-v-19959d5e"]]),Yt=S(e.defineComponent({__name:"form-layout",props:{columns:{type:Number,default:4},gap:{type:String,default:"0.75rem"}},setup(t){const o=t,n=e.ref(null);let l=null;function a(){if(!n.value)return;Array.from(n.value.children).forEach(r=>{const d=r.getAttribute("data-colspan"),s=d?Math.max(1,Number(d)||1):1,c=r.getAttribute("data-newline");c!==null&&c!=="false"?r.style.gridColumn="1 / -1":r.style.gridColumn=`span ${s}`})}return e.onMounted(()=>{e.nextTick(()=>{a(),n.value&&(l=new MutationObserver(()=>a()),l.observe(n.value,{childList:!0,subtree:!1,attributes:!0,attributeFilter:["data-colspan","data-newline"]}))})}),e.onBeforeUnmount(()=>{l?.disconnect()}),e.watch(()=>o.columns,()=>e.nextTick(a)),e.watch(()=>o.gap,()=>e.nextTick(a)),(i,r)=>(e.openBlock(),e.createElementBlock("div",{ref_key:"container",ref:n,class:"form-layout",style:e.normalizeStyle({gridTemplateColumns:`repeat(${t.columns}, minmax(0, 1fr))`,gap:t.gap})},[e.renderSlot(i.$slots,"default",{},void 0,!0)],4))}}),[["__scopeId","data-v-96f62ab7"]]),jl={key:0,class:"form-section__title","data-newline":""},Jt=S(e.defineComponent({__name:"form-section",props:{title:{}},setup(t){return(o,n)=>(e.openBlock(),e.createElementBlock(e.Fragment,null,[t.title?(e.openBlock(),e.createElementBlock("h3",jl,e.toDisplayString(t.title),1)):e.createCommentVNode("",!0),e.renderSlot(o.$slots,"default",{},void 0,!0)],64))}}),[["__scopeId","data-v-69cff1d0"]]),Pl=["id","disabled"],zl={class:"select-value"},Fl={key:1,class:"select-placeholder"},Il={class:"select-options"},Hl=["onClick","onMouseenter"],Ge=S(e.defineComponent({inheritAttrs:!1,__name:"select",props:e.mergeModels({options:{},placeholder:{},disabled:{type:Boolean},optionLabel:{type:Function},id:{},optionValue:{type:Function},icon:{},clearable:{type:Boolean}},{modelValue:{},modelModifiers:{}}),emits:["update:modelValue"],setup(t,{expose:o}){const n=t,l=e.useModel(t,"modelValue"),a=e.ref(!1),i=e.ref(-1),r=e.ref(null),d=e.ref(null),s=e.ref(null),{floatingStyles:c}=Ue(d,s,{placement:"bottom-start",middleware:[Se(4),$e(),xe({padding:8}),Po({apply({rects:b,elements:E}){Object.assign(E.floating.style,{minWidth:`${b.reference.width}px`})}})],whileElementsMounted:ve}),f=b=>n.optionLabel?typeof n.optionLabel=="function"?n.optionLabel(b):String(b[n.optionLabel]):String(b),u=b=>n.optionValue?typeof n.optionValue=="function"?n.optionValue(b):b[n.optionValue]:b,m=e.computed(()=>n.options.find(b=>u(b)===l.value)),p=b=>u(b)===l.value,h=()=>{n.disabled||(a.value=!a.value)},w=()=>{a.value=!1,i.value=-1},g=b=>{l.value=u(b),w()},y=()=>{l.value=void 0},k=b=>{a.value&&r.value&&!r.value.contains(b.target)&&w()};return e.onMounted(()=>{document.addEventListener("click",k)}),e.onBeforeUnmount(()=>{document.removeEventListener("click",k)}),e.watch(a,b=>{b&&m.value&&(i.value=n.options.findIndex(E=>p(E)))}),o({focus:()=>d.value?.focus(),blur:()=>d.value?.blur()}),(b,E)=>{const x=e.resolveComponent("VjIcon");return e.openBlock(),e.createElementBlock(e.Fragment,null,[e.createElementVNode("div",{ref_key:"selectRef",ref:r,class:e.normalizeClass(["select",b.$attrs.class])},[e.createElementVNode("button",{ref_key:"buttonRef",ref:d,type:"button",class:"select-trigger",id:n.id,onClick:h,disabled:t.disabled},[n.icon?(e.openBlock(),e.createBlock(x,{key:0,icon:n.icon,size:e.unref(A).S,class:"select-icon-left"},null,8,["icon","size"])):e.createCommentVNode("",!0),e.createElementVNode("span",zl,[m.value?e.renderSlot(b.$slots,"selected",{key:0,option:m.value},()=>[e.createTextVNode(e.toDisplayString(f(m.value)),1)],!0):(e.openBlock(),e.createElementBlock("span",Fl,e.toDisplayString(t.placeholder),1))]),n.clearable&&m.value&&!t.disabled?(e.openBlock(),e.createBlock(x,{key:1,icon:e.unref(L).CLOSE,size:e.unref(A).S,class:"select-clear-icon",onClick:e.withModifiers(y,["stop"])},null,8,["icon","size"])):e.createCommentVNode("",!0),e.createVNode(x,{icon:e.unref(L).CHEVRON_DOWN,size:e.unref(A).S,class:e.normalizeClass(["select-icon-right",{open:a.value}])},null,8,["icon","size","class"])],8,Pl),e.createVNode(e.Transition,{name:"dropdown"},{default:e.withCtx(()=>[a.value?(e.openBlock(),e.createElementBlock("div",{key:0,ref_key:"floatingRef",ref:s,style:e.normalizeStyle(e.unref(c)),class:"select-dropdown"},[e.createElementVNode("div",Il,[(e.openBlock(!0),e.createElementBlock(e.Fragment,null,e.renderList(t.options,(T,V)=>(e.openBlock(),e.createElementBlock("div",{key:String(u(T)),class:e.normalizeClass(["select-option",{selected:p(T),highlighted:i.value===V}]),onClick:C=>g(T),onMouseenter:C=>i.value=V},[e.renderSlot(b.$slots,"option",{option:T,selected:p(T)},()=>[e.createTextVNode(e.toDisplayString(f(T)),1)],!0)],42,Hl))),128))])],4)):e.createCommentVNode("",!0)]),_:3})],2),(e.openBlock(),e.createBlock(e.Teleport,{to:"body"},[a.value?(e.openBlock(),e.createElementBlock("div",{key:0,class:"select-backdrop",onClick:w})):e.createCommentVNode("",!0)]))],64)}}}),[["__scopeId","data-v-fc22f0e9"]]),Qt=e.defineComponent({__name:"input-select",props:{modelValue:{},label:{},id:{},placeholder:{},disabled:{type:Boolean},colspan:{},newLine:{type:Boolean},spanRow:{type:Boolean},error:{},helpText:{},labelPosition:{},appearance:{},options:{}},emits:["update:modelValue","input","focus","blur"],setup(t,{emit:o}){const n=t,l=o,a=e.ref(n.modelValue);e.watch(()=>n.modelValue,r=>{a.value=r});const i=r=>{a.value=r,l("update:modelValue",r)};return(r,d)=>(e.openBlock(),e.createBlock(ie,{modelValue:a.value,"onUpdate:modelValue":i,label:n.label,id:n.id,placeholder:n.placeholder,disabled:n.disabled,colspan:n.colspan,newLine:n.newLine,spanRow:n.spanRow,error:n.error,helpText:n.helpText,labelPosition:n.labelPosition,appearance:n.appearance},{control:e.withCtx(({id:s,disabled:c,placeholder:f})=>[e.createVNode(Ge,{id:s,modelValue:a.value,"onUpdate:modelValue":[d[0]||(d[0]=u=>a.value=u),i],options:n.options,placeholder:f,disabled:c,"option-label":u=>u.label,"option-value":u=>u.value,clearable:""},e.createSlots({_:2},[r.$slots.selected?{name:"selected",fn:e.withCtx(({option:u})=>[e.renderSlot(r.$slots,"selected",{option:u})]),key:"0"}:void 0,r.$slots.option?{name:"option",fn:e.withCtx(({option:u})=>[e.renderSlot(r.$slots,"option",{option:u})]),key:"1"}:void 0]),1032,["id","modelValue","options","placeholder","disabled","option-label","option-value"])]),_:3},8,["modelValue","label","id","placeholder","disabled","colspan","newLine","spanRow","error","helpText","labelPosition","appearance"]))}}),Ul=["aria-valuemin","aria-valuemax","aria-valuenow","aria-label"],Wl=["aria-valuemin","aria-valuemax","aria-valuenow"],Kl=S(e.defineComponent({__name:"slider",props:{modelValue:{default:void 0},min:{default:0},max:{default:100},step:{default:1},range:{type:Boolean,default:!1}},emits:["update:modelValue","change"],setup(t,{emit:o}){const n=t,l=o,a=e.ref(null),i=e.ref(!1),r=e.ref(!1),d=(V,C,B)=>Math.min(Math.max(V,C),B),s=e.ref(n.range?Array.isArray(n.modelValue)?n.modelValue[0]:n.min:typeof n.modelValue=="number"?n.modelValue:n.min),c=e.ref(n.range&&Array.isArray(n.modelValue)?n.modelValue[1]:n.max);e.watch(()=>n.modelValue,V=>{n.range?Array.isArray(V)&&(s.value=d(V[0],n.min,n.max),c.value=d(V[1],n.min,n.max)):typeof V=="number"&&(s.value=d(V,n.min,n.max))},{immediate:!0});const f=V=>(V-n.min)/(n.max-n.min)*100,u=e.computed(()=>({left:`${f(s.value)}%`})),m=e.computed(()=>({left:`${f(c.value)}%`})),p=e.computed(()=>{if(!n.range)return{width:`${f(s.value)}%`,left:"0%"};const V=f(s.value),C=f(c.value);return{left:`${V}%`,width:`${Math.max(0,C-V)}%`}});let h=null,w=null;const g=async(V,C)=>{h=V,w=C.pointerId,V==="low"?i.value=!0:r.value=!0;try{C.target.setPointerCapture(C.pointerId)}catch{}window.addEventListener("pointermove",k),window.addEventListener("pointerup",y)},y=V=>{if(w!=null&&V)try{V.target.releasePointerCapture(V.pointerId)}catch{}h=null,w=null,i.value=!1,r.value=!1,window.removeEventListener("pointermove",k),window.removeEventListener("pointerup",y),x()},k=V=>{if(!h||!a.value)return;const C=a.value.getBoundingClientRect(),B=d(V.clientX-C.left,0,C.width),$=n.min+B/C.width*(n.max-n.min),R=Math.round($/n.step)*n.step;h==="low"?n.range?s.value=Math.min(R,c.value):s.value=d(R,n.min,n.max):h==="high"&&(c.value=Math.max(R,s.value))},b=V=>{if(!a.value)return;const C=a.value.getBoundingClientRect(),B=d(V.clientX-C.left,0,C.width),$=n.min+B/C.width*(n.max-n.min),R=Math.round($/n.step)*n.step;if(n.range){const P=Math.abs(R-s.value),q=Math.abs(R-c.value);P<=q?s.value=Math.min(R,c.value):c.value=Math.max(R,s.value)}else s.value=d(R,n.min,n.max);x()},E=(V,C)=>{const B=n.step,$=C.key==="ArrowLeft"||C.key==="ArrowDown"?-1:C.key==="ArrowRight"||C.key==="ArrowUp"?1:0;if($){if(V==="low"){const R=d(s.value+$*B,n.min,n.range?c.value:n.max);s.value=R,i.value=!0,setTimeout(()=>i.value=!1,800)}else{const R=d(c.value+$*B,n.range?s.value:n.max,n.max);c.value=R,r.value=!0,setTimeout(()=>r.value=!1,800)}x()}},x=()=>{n.range?(l("update:modelValue",[s.value,c.value]),l("change",[s.value,c.value])):(l("update:modelValue",s.value),l("change",s.value))};e.onBeforeUnmount(()=>{window.removeEventListener("pointermove",k),window.removeEventListener("pointerup",y)}),e.watch([()=>n.min,()=>n.max],()=>{s.value=d(s.value,n.min,n.max),c.value=d(c.value,n.min,n.max)});const T=e.computed(()=>n.range);return e.nextTick(()=>{n.modelValue===void 0&&(n.range?l("update:modelValue",[s.value,c.value]):l("update:modelValue",s.value))}),(V,C)=>(e.openBlock(),e.createElementBlock("div",{class:"vj-slider",onPointerdown:C[8]||(C[8]=e.withModifiers(()=>{},["stop"]))},[e.createElementVNode("div",{class:"track",ref_key:"track",ref:a,onClick:b},[e.createElementVNode("div",{class:"range",style:e.normalizeStyle(p.value)},null,4),i.value?(e.openBlock(),e.createElementBlock("div",{key:0,class:"tooltip",style:e.normalizeStyle({left:u.value.left})},e.toDisplayString(s.value),5)):e.createCommentVNode("",!0),e.createElementVNode("button",{class:"handle low",style:e.normalizeStyle(u.value),"aria-valuemin":t.min,"aria-valuemax":t.max,"aria-valuenow":s.value,"aria-label":T.value?"Lower value":"Value",onPointerdown:C[0]||(C[0]=e.withModifiers(B=>g("low",B),["prevent"])),onFocus:C[1]||(C[1]=B=>i.value=!0),onBlur:C[2]||(C[2]=B=>i.value=!1),onKeydown:C[3]||(C[3]=e.withModifiers(B=>E("low",B),["stop","prevent"])),role:"slider",tabindex:"0"},null,44,Ul),T.value&&r.value?(e.openBlock(),e.createElementBlock("div",{key:1,class:"tooltip",style:e.normalizeStyle({left:m.value.left})},e.toDisplayString(c.value),5)):e.createCommentVNode("",!0),T.value?(e.openBlock(),e.createElementBlock("button",{key:2,class:"handle high",style:e.normalizeStyle(m.value),"aria-valuemin":t.min,"aria-valuemax":t.max,"aria-valuenow":c.value,"aria-label":"Upper value",onPointerdown:C[4]||(C[4]=e.withModifiers(B=>g("high",B),["prevent"])),onFocus:C[5]||(C[5]=B=>r.value=!0),onBlur:C[6]||(C[6]=B=>r.value=!1),onKeydown:C[7]||(C[7]=e.withModifiers(B=>E("high",B),["stop","prevent"])),role:"slider",tabindex:"0"},null,44,Wl)):e.createCommentVNode("",!0)],512)],32))}}),[["__scopeId","data-v-d47c7475"]]),Xl=["onFocusin","onFocusout"],Zt=S(e.defineComponent({__name:"input-slider",props:{modelValue:{},label:{},id:{},placeholder:{},disabled:{type:Boolean},colspan:{},newLine:{type:Boolean},spanRow:{type:Boolean},error:{},helpText:{},labelPosition:{},appearance:{},min:{},max:{},step:{}},emits:["update:modelValue","input","focus","blur"],setup(t,{emit:o}){const n=t,l=o,a=n.modelValue===void 0?0:Number(n.modelValue),i=e.ref(Number.isNaN(a)?0:a),r=d=>{const s=typeof d=="number"?d:Number(d??0);i.value=Number.isNaN(s)?0:s,l("update:modelValue",i.value),l("input",i.value)};return(d,s)=>(e.openBlock(),e.createBlock(ie,{modelValue:i.value,"onUpdate:modelValue":r,label:n.label,id:n.id,placeholder:" ",disabled:n.disabled,colspan:n.colspan,newLine:n.newLine,spanRow:n.spanRow,error:n.error},{control:e.withCtx(({id:c,disabled:f,placeholder:u,onFocus:m,onBlur:p})=>[e.createElementVNode("div",{class:"input-slider__control",onFocusin:m,onFocusout:p},[e.createVNode(Kl,{id:c,modelValue:i.value,"onUpdate:modelValue":s[0]||(s[0]=h=>i.value=h),min:n.min,max:n.max,step:n.step,range:!1,disabled:f},null,8,["id","modelValue","min","max","step","disabled"])],40,Xl)]),_:1},8,["modelValue","label","id","disabled","colspan","newLine","spanRow","error"]))}}),[["__scopeId","data-v-051e6d17"]]),ql={class:"textarea"},Gl=["value","placeholder","disabled","rows"],Ye=S(e.defineComponent({__name:"textarea",props:e.mergeModels({icon:{},placeholder:{},disabled:{type:Boolean},clearable:{type:Boolean},rows:{}},{modelValue:{},modelModifiers:{}}),emits:e.mergeModels(["focus","blur"],["update:modelValue"]),setup(t,{emit:o}){const n=o,l=e.useModel(t,"modelValue"),a=c=>{l.value=c.target.value},i=()=>{l.value=""},r=c=>{n("focus",c)},d=c=>{n("blur",c)},s=e.computed(()=>!l.value);return(c,f)=>{const u=e.resolveComponent("VjIcon");return e.openBlock(),e.createElementBlock("div",ql,[t.icon?(e.openBlock(),e.createBlock(u,{key:0,icon:t.icon,size:e.unref(A).S,class:"textarea-icon"},null,8,["icon","size"])):e.createCommentVNode("",!0),e.createElementVNode("textarea",{value:l.value,onInput:a,onFocus:r,onBlur:d,placeholder:t.placeholder,disabled:t.disabled,rows:t.rows},null,40,Gl),t.clearable&&!t.disabled?(e.openBlock(),e.createBlock(u,{key:1,class:e.normalizeClass(["clear-icon",{invisible:s.value}]),icon:e.unref(L).CLOSE,size:e.unref(A).S,onClick:i},null,8,["class","icon","size"])):e.createCommentVNode("",!0)])}}}),[["__scopeId","data-v-2ea43716"]]),en=e.defineComponent({__name:"input-text-area",props:{modelValue:{},label:{},id:{},placeholder:{},disabled:{type:Boolean},colspan:{},newLine:{type:Boolean},spanRow:{type:Boolean},error:{},helpText:{},labelPosition:{},appearance:{},rows:{}},emits:["update:modelValue","input","focus","blur"],setup(t,{emit:o}){const n=t,l=o,a=f=>l("update:modelValue",f),i=f=>l("input",f),r=f=>l("focus",f),d=f=>l("blur",f),s=f=>{a(f??"")},c=e.computed(()=>{const f=n.modelValue;return f==null?"":String(f)});return(f,u)=>(e.openBlock(),e.createBlock(ie,{modelValue:n.modelValue,"onUpdate:modelValue":a,onInput:i,onFocus:r,onBlur:d,label:n.label,id:n.id,placeholder:n.placeholder,disabled:n.disabled,colspan:n.colspan,newLine:n.newLine,spanRow:n.spanRow,labelPosition:n.labelPosition,error:n.error,helpText:n.helpText,appearance:n.appearance},{control:e.withCtx(({id:m,disabled:p,placeholder:h,onFocus:w,onBlur:g})=>[e.createVNode(Ye,{id:m,modelValue:c.value,"onUpdate:modelValue":s,onFocus:y=>{w(y),r(y)},onBlur:y=>{g(y),d(y)},placeholder:h,disabled:p,rows:n.rows,clearable:""},null,8,["id","modelValue","onFocus","onBlur","placeholder","disabled","rows"])]),_:1},8,["modelValue","label","id","placeholder","disabled","colspan","newLine","spanRow","labelPosition","error","helpText","appearance"]))}}),Yl={class:"input"},Jl=["value","type","placeholder","disabled"],Je=S(e.defineComponent({__name:"input",props:e.mergeModels({icon:{},type:{},placeholder:{},disabled:{type:Boolean},clearable:{type:Boolean}},{modelValue:{},modelModifiers:{}}),emits:e.mergeModels(["focus","blur"],["update:modelValue"]),setup(t,{emit:o}){const n=o,l=e.useModel(t,"modelValue"),a=c=>{l.value=c.target.value},i=()=>{l.value=""},r=c=>{n("focus",c)},d=c=>{n("blur",c)},s=e.computed(()=>!l.value);return(c,f)=>{const u=e.resolveComponent("VjIcon");return e.openBlock(),e.createElementBlock("div",Yl,[t.icon?(e.openBlock(),e.createBlock(u,{key:0,icon:t.icon,size:e.unref(A).S},null,8,["icon","size"])):e.createCommentVNode("",!0),e.createElementVNode("input",{value:l.value,onInput:a,onFocus:r,onBlur:d,type:t.type,placeholder:t.placeholder,disabled:t.disabled},null,40,Jl),t.clearable&&!t.disabled?(e.openBlock(),e.createBlock(u,{key:1,class:e.normalizeClass(["clear-icon",{invisible:s.value}]),icon:e.unref(L).CLOSE,size:e.unref(A).S,onClick:i},null,8,["class","icon","size"])):e.createCommentVNode("",!0)])}}}),[["__scopeId","data-v-3187d49c"]]),tn=e.defineComponent({__name:"input-text",props:{modelValue:{},label:{},id:{},placeholder:{},disabled:{type:Boolean},colspan:{},newLine:{type:Boolean},spanRow:{type:Boolean},error:{},helpText:{},labelPosition:{},appearance:{},type:{}},emits:["update:modelValue","input","focus","blur"],setup(t,{emit:o}){const n=t,l=o,a=c=>l("update:modelValue",c),i=c=>l("input",c),r=c=>l("focus",c),d=c=>l("blur",c),s=c=>{a(c??"")};return(c,f)=>(e.openBlock(),e.createBlock(ie,{modelValue:t.modelValue,"onUpdate:modelValue":a,onInput:i,onFocus:r,onBlur:d,label:t.label,id:t.id,placeholder:t.placeholder,disabled:t.disabled,colspan:t.colspan,newLine:t.newLine,spanRow:t.spanRow,error:t.error,helpText:n.helpText,labelPosition:t.labelPosition,appearance:t.appearance},{control:e.withCtx(({id:u,disabled:m,placeholder:p,onFocus:h,onBlur:w})=>[e.createVNode(Je,{id:u,modelValue:t.modelValue,type:t.type,"onUpdate:modelValue":s,onFocus:g=>{h(g),r(g)},onBlur:g=>{w(g),d(g)},placeholder:p,disabled:m,clearable:""},null,8,["id","modelValue","type","onFocus","onBlur","placeholder","disabled"])]),_:1},8,["modelValue","label","id","placeholder","disabled","colspan","newLine","spanRow","error","helpText","labelPosition","appearance"]))}}),Ql={class:"shell-navigation-item"},Zl={class:"shell-navigation-item-label"},ea={key:1,class:"shell-navigation-item-link"},ta=["aria-expanded"],na={class:"shell-navigation-item-label"},nn=S(e.defineComponent({__name:"shell-navigation-item",props:{label:{},icon:{},to:{}},setup(t){const o=e.useSlots(),n=e.computed(()=>!!o.default),l=e.ref(!1),a=e.ref(null),i=e.ref(null),{floatingStyles:r}=Ue(a,i,{placement:"right-start",middleware:[Se(8),$e(),xe({padding:8})],whileElementsMounted:ve}),d=m=>{n.value&&(l.value=!l.value)},s=()=>{l.value=!1},c=m=>{s()},f=m=>{(m.key==="Escape"||m.key==="Esc")&&s()},u=m=>{const p=m.target;p&&(a.value&&a.value.contains(p)||i.value&&i.value.contains(p)||s())};return e.watch(l,m=>{m?(window.addEventListener("keydown",f),window.addEventListener("pointerdown",u)):(window.removeEventListener("keydown",f),window.removeEventListener("pointerdown",u))}),e.onBeforeUnmount(()=>{window.removeEventListener("keydown",f),window.removeEventListener("pointerdown",u)}),(m,p)=>{const h=e.resolveComponent("VjIcon"),w=e.resolveComponent("RouterLink"),g=e.resolveComponent("VjMenu");return e.openBlock(),e.createElementBlock("li",Ql,[t.to?(e.openBlock(),e.createBlock(w,{key:0,to:t.to,class:"shell-navigation-item-link"},{default:e.withCtx(()=>[e.createVNode(h,{icon:t.icon,class:"shell-navigation-item-icon"},null,8,["icon"]),e.createElementVNode("label",Zl,e.toDisplayString(t.label),1)]),_:1},8,["to"])):(e.openBlock(),e.createElementBlock("div",ea,[e.createElementVNode("button",{ref_key:"buttonRef",ref:a,class:"shell-navigation-item-button",onClick:e.withModifiers(d,["stop"]),"aria-expanded":l.value,type:"button"},[e.createVNode(h,{icon:t.icon,class:"shell-navigation-item-icon"},null,8,["icon"]),e.createElementVNode("label",na,e.toDisplayString(t.label),1)],8,ta),e.createVNode(e.Transition,{name:"menu"},{default:e.withCtx(()=>[l.value?(e.openBlock(),e.createBlock(g,{key:0,ref_key:"floatingRef",ref:i,style:e.normalizeStyle(e.unref(r)),class:"shell-navigation-item-menu",onClose:s,onClick:e.withModifiers(c,["stop"])},{default:e.withCtx(()=>[e.renderSlot(m.$slots,"default",{},void 0,!0)]),_:3},8,["style"])):e.createCommentVNode("",!0)]),_:3}),(e.openBlock(),e.createBlock(e.Teleport,{to:"body"},[l.value?(e.openBlock(),e.createElementBlock("div",{key:0,class:"menu-backdrop",onClick:s})):e.createCommentVNode("",!0)]))]))])}}}),[["__scopeId","data-v-3a50d1c2"]]),oa={class:"navigation-top"},la={key:0,class:"navigation-bottom"},Qe=S(e.defineComponent({__name:"shell-navigation",setup(t){const o=e.inject(an,rn()),n=e.computed(()=>o.showLabels);return(l,a)=>{const i=e.resolveComponent("VjShellNavigationItem");return e.openBlock(),e.createElementBlock("nav",{class:e.normalizeClass(["shell-navigation",{"with-labels":n.value}])},[e.createElementVNode("ul",oa,[e.unref(o).hasParent&&e.unref(o).backRoute.value?(e.openBlock(),e.createBlock(i,{key:0,to:e.unref(o).backRoute.value,label:"BACK",icon:e.unref(L).HOME},null,8,["to","icon"])):e.createCommentVNode("",!0),(e.openBlock(!0),e.createElementBlock(e.Fragment,null,e.renderList(e.unref(o).childRoutes.value,r=>(e.openBlock(),e.createBlock(i,{key:r.name,to:{name:r.name},label:r.meta.label,icon:r.meta.icon??e.unref(L).HOME},null,8,["to","label","icon"]))),128))]),l.$slots.fixed?(e.openBlock(),e.createElementBlock("ul",la,[e.renderSlot(l.$slots,"fixed",{},void 0,!0)])):e.createCommentVNode("",!0)],2)}}}),[["__scopeId","data-v-306cfc22"]]),aa={class:"shell"},ia={class:"shell-title"},ra=["src"],sa={class:"header-actions"},on=S(e.defineComponent({__name:"shell",props:{title:{},icon:{},showNavigation:{type:Boolean}},setup(t){const o=cn(),n=e.toRef(o,"asideComponent"),l=e.toRef(o,"hasAside"),a=e.toRef(o,"asideData"),i=e.computed(()=>{const r=a.value;return r&&typeof r=="object"?r:{}});return(r,d)=>{const s=e.resolveComponent("router-view");return e.openBlock(),e.createElementBlock("div",aa,[e.createElementVNode("header",null,[e.createElementVNode("span",ia,[t.icon?(e.openBlock(),e.createElementBlock("img",{key:0,src:t.icon,alt:"Shell Icon"},null,8,ra)):e.createCommentVNode("",!0),e.createElementVNode("h1",null,e.toDisplayString(t.title),1)]),e.createElementVNode("div",sa,[e.renderSlot(r.$slots,"header-actions",{},void 0,!0)])]),e.createElementVNode("div",{class:e.normalizeClass(["shell-content",{"with-navigation":t.showNavigation}])},[t.showNavigation?(e.openBlock(),e.createBlock(e.unref(Qe),{key:0},e.createSlots({_:2},[r.$slots?.["navigation-fixed"]?{name:"fixed",fn:e.withCtx(()=>[e.renderSlot(r.$slots,"navigation-fixed",{},void 0,!0)]),key:"0"}:void 0]),1024)):e.createCommentVNode("",!0),e.createElementVNode("main",null,[e.renderSlot(r.$slots,"default",{},()=>[e.createVNode(s)],!0)]),e.createElementVNode("aside",{class:e.normalizeClass({"aside-visible":l.value})},[(e.openBlock(),e.createBlock(e.resolveDynamicComponent(n.value),e.normalizeProps(e.guardReactiveProps(i.value)),null,16))],2)],2),d[0]||(d[0]=e.createElementVNode("footer",null,null,-1))])}}}),[["__scopeId","data-v-4dfd0097"]]);class ca{notifications=e.ref([]);notificationIdCounter=0;getNotifications(){return this.notifications}show(o,n,l,a){const i=`notification-${++this.notificationIdCounter}-${Date.now()}`,r=o==="error"?void 0:a??5e3,d={id:i,type:o,title:n,message:l,duration:r};return this.notifications.value.unshift(d),r&&setTimeout(()=>{this.remove(i)},r),i}info(o,n,l){return this.show("info",o,n,l)}warning(o,n,l){return this.show("warning",o,n,l)}error(o,n){return this.show("error",o,n)}success(o,n,l){return this.show("success",o,n,l)}remove(o){const n=this.notifications.value.findIndex(l=>l.id===o);n!==-1&&this.notifications.value.splice(n,1)}clearAll(){this.notifications.value=[]}}const Ze=new ca,da={class:"notifications"},ln=S(e.defineComponent({__name:"notifications",setup(t){const o=Ze.getNotifications(),n=l=>Ze.remove(l);return(l,a)=>(e.openBlock(),e.createBlock(e.Teleport,{to:"body"},[e.createElementVNode("div",da,[e.createVNode(e.TransitionGroup,{name:"notification"},{default:e.withCtx(()=>[(e.openBlock(!0),e.createElementBlock(e.Fragment,null,e.renderList(e.unref(o),i=>(e.openBlock(),e.createBlock(Le,{key:i.id,type:i.type,title:i.title,message:i.message,onClose:r=>n(i.id)},null,8,["type","title","message","onClose"]))),128))]),_:1})])]))}}),[["__scopeId","data-v-543c499f"]]),an="navigationProvider";function fa(t){return!!t.meta&&"icon"in t.meta&&"label"in t.meta}const rn=()=>{const t=ot.useRouter(),o=ot.useRoute(),n=!0,l=e.computed(()=>{const f=t.getRoutes();return f.filter(u=>u.path!=="/"&&!f.some(m=>m.children?.some(p=>p.name===u.name)))}),a=e.computed(()=>{const f=o.matched;return f.length?f[f.length-1]:null}),i=e.computed(()=>{const f=o.matched;return f.length>1?f[f.length-2]:null}),r=e.computed(()=>!!(a.value?.children?.length||i.value)),d=e.computed(()=>a.value?.children?.length?a.value:i.value?.children?.length?i.value:null),s=e.computed(()=>{if(!d.value)return null;const u=t.getRoutes().find(m=>m.children?.some(p=>p.name===d.value.name));return u?{name:u.name}:{path:"/"}}),c=e.computed(()=>{let f=[];return o.path==="/"?f=l.value:a.value?.children?.length?f=a.value.children:i.value?.children?.length?f=i.value.children:f=l.value,f.filter(fa)});return{hasParent:r,backRoute:s,childRoutes:c,showLabels:n}},ua=(t,o=!0,n=void 0)=>{const l=e.isRef(t)?t:e.ref(t),a=!!n,i=e.ref(n||null);return{hasParent:a,backRoute:i,childRoutes:l,showLabels:o}},et=e.ref(!1),tt=e.ref(null),nt=e.ref(null);let re=[];const sn=t=>(re.push(t),()=>{re=re.filter(o=>o!==t)}),ma=(t,o)=>(re=[],tt.value=t,nt.value=o??null,et.value=!0,{onClose:n=>sn(n)}),pa=t=>{try{re.forEach(o=>{try{o(t)}catch(n){console.error("aside onClose callback error",n)}})}finally{et.value=!1,setTimeout(ha,1e3)}},ha=()=>{re=[],tt.value=null,nt.value=null},ga={asideComponent:tt,asideData:nt,showAside:ma,closeAside:pa,onAsideClose:sn,hasAside:et},cn=()=>ga,ba=(t,o)=>{let n=null;return(...a)=>{n&&clearTimeout(n),n=setTimeout(()=>{t(...a)},o)}};class ya{containerElement=null;apps=[];mainApp=null;init(o){this.mainApp=o}ensureContainer(){return this.containerElement||(this.containerElement=document.createElement("div"),this.containerElement.id="vj-dialog-container",document.body.appendChild(this.containerElement)),this.containerElement}inheritAppContext(o){this.mainApp&&(Object.assign(o.config.globalProperties,this.mainApp.config.globalProperties),Object.assign(o._context.provides,this.mainApp._context.provides),Object.assign(o._context.components,this.mainApp._context.components),Object.assign(o._context.directives,this.mainApp._context.directives),Object.assign(o.config.compilerOptions,this.mainApp.config.compilerOptions),o.config.errorHandler=this.mainApp.config.errorHandler,o.config.warnHandler=this.mainApp.config.warnHandler,o.config.performance=this.mainApp.config.performance,o.config.optionMergeStrategies=this.mainApp.config.optionMergeStrategies,o._context.mixins.push(...this.mainApp._context.mixins))}open(o){return new Promise(n=>{const l=this.ensureContainer(),a=document.createElement("div");l.appendChild(a);let i=!1;const r=()=>{i||(i=!0,setTimeout(()=>{const s=this.apps.find(c=>c.element===a);s&&(s.app.unmount(),this.apps=this.apps.filter(c=>c!==s)),a.remove()},300))},d=e.createApp({setup(){return()=>e.h(be,{modelValue:!0,title:o.title,message:o.message,component:o.component,componentProps:o.componentProps,showFooter:o.showFooter??!0,showCancel:o.showCancel??!0,confirmText:o.confirmText,cancelText:o.cancelText,closeOnBackdrop:o.closeOnBackdrop??!1,closeOnEscape:o.closeOnEscape??!0,onConfirm:()=>{n(!0),r()},onCancel:()=>{n(!1),r()},onResolve:s=>{n(s),r()},onClose:()=>{i||n(!1),r()}})}});this.inheritAppContext(d),d.component("VjCard",ge),d.component("VjIcon",K),d.component("VjButton",he),d.mount(a),this.apps.push({app:d,element:a})})}confirm(o){return this.open({title:o.title,message:o.message,showFooter:!0,showCancel:!0,confirmText:o.confirmText??"OK",cancelText:o.cancelText??"Abbrechen"})}alert(o,n){return this.open({title:o,message:n,showFooter:!0,showCancel:!1,confirmText:"OK"})}closeAll(){this.apps.forEach(({app:o,element:n})=>{o.unmount(),n.remove()}),this.apps=[]}}const dn=new ya;function wa(){return dn}function ka(){const t=e.inject(Ne,null);if(!t)throw new Error("useDialogController must be used inside a dialog component.");return t}const _a=()=>{const t=e.ref(!1),o=e.ref(null),n=()=>{o.value=null};class l{inner;defaultValue;handlers=[];constructor(r,d){this.inner=r,this.defaultValue=d}onError(r){return this.handlers.push(r),this}async exec(){o.value=null,t.value=!0;try{return await this.inner()}catch(r){o.value=r;for(const d of this.handlers)try{d(r)}catch(s){console.error("onError handler failed",s)}if(this.defaultValue!==void 0)return this.defaultValue;throw r}finally{t.value=!1}}then(r,d){return this.exec().then(r,d)}}function a(i,r){return new l(i,r)}return{run:a,running:t,error:o,clearError:n}},Va={install(t){t.component("VjAmountBar",qt),t.component("VjButton",he),t.component("VjButtonBar",lt),t.component("VjCard",ge),t.component("VjChip",Ae),t.component("VjChipGroup",De),t.component("VjChipSelector",it),t.component("VjCarousel",ge),t.component("VjCheckbox",at),t.component("VjDotMenu",$t),t.component("VjDialog",be),t.component("VjIcon",K),t.component("VjLinkButton",Lt),t.component("VjMenu",Rt),t.component("VjMenuAction",Tt),t.component("VjPage",zt),t.component("VjPaginator",Ft),t.component("VjTab",Ut),t.component("VjTabView",Wt),t.component("VjTimer",Kt),t.component("VjSkeleton",Xt),t.component("VjSpinner",Ke),t.component("VjNotifications",ln),t.component("VjNotification",Le),t.component("VjInput",Je),t.component("VjSelect",Ge),t.component("VjTextArea",Ye),t.component("VjFormField",ie),t.component("VjFormLayout",Yt),t.component("VjFormSection",Jt),t.component("VjInputText",tn),t.component("VjInputTextArea",en),t.component("VjInputSelect",Qt),t.component("VjInputSlider",Zt),t.component("VjShellNavigation",Qe),t.component("VjShellNavigationItem",nn),t.component("VjShell",on),t.component("VjSearchField",It),t.component("VjSeparator",Ht),t.directive("focus",Nt),t.directive("resize",Mt),t.directive("compact",At),t.directive("tooltip",Xe)}};_.AmountBar=qt,_.Button=he,_.ButtonBar=lt,_.Card=ge,_.Carousel=vn,_.Checkbox=at,_.Chip=Ae,_.ChipGroup=De,_.ChipSelector=it,_.Dialog=be,_.DotMenu=$t,_.EditableLabel=xl,_.FocusFirstDirective=Nt,_.FormField=ie,_.FormLayout=Yt,_.FormSection=Jt,_.Icon=K,_.IconNames=L,_.IconSize=A,_.Input=Je,_.InputSelect=Qt,_.InputSlider=Zt,_.InputText=tn,_.InputTextArea=en,_.LinkButton=Lt,_.LoadingDirective=jt,_.Menu=Rt,_.MenuAction=Tt,_.NotificationComponent=Le,_.Notifications=ln,_.Page=zt,_.Paginator=Ft,_.Radio=An,_.ResizeDirective=Mt,_.SearchField=It,_.Select=Ge,_.Separator=Ht,_.Shell=on,_.ShellNavigation=Qe,_.ShellNavigationItem=nn,_.Skeleton=Xt,_.Spinner=Ke,_.Tab=Ut,_.TabView=Wt,_.TextArea=Ye,_.Timer=Kt,_.TooltipDirective=Xe,_.VjComponents=Va,_.VjDialogControllerKey=Ne,_.VjNavigationProviderKey=an,_.compactDirective=At,_.configureVueUI=Ll,_.dialogService=dn,_.getVueUIConfig=qe,_.notificationService=Ze,_.resetVueUIConfig=Tl,_.useAsideService=cn,_.useDebounce=ba,_.useDialog=wa,_.useDialogController=ka,_.useFlow=_a,_.useRouterNavigationProvider=rn,_.useStaticNavigationProvider=ua,Object.defineProperty(_,Symbol.toStringTag,{value:"Module"})}));
1
+ (function(_,e){typeof exports=="object"&&typeof module<"u"?e(exports,require("vue"),require("vue-router")):typeof define=="function"&&define.amd?define(["exports","vue","vue-router"],e):(_=typeof globalThis<"u"?globalThis:_||self,e(_.VanjanaVueUi={},_.Vue,_.VueRouter))})(this,(function(_,e,ot){"use strict";const B=(t,o)=>{const n=t.__vccOpts||t;for(const[l,a]of o)n[l]=a;return n},bn={},yn={class:"button-bar"},kn={class:"left"},wn={class:"right"};function _n(t,o){return e.openBlock(),e.createElementBlock("div",yn,[e.createElementVNode("div",kn,[e.renderSlot(t.$slots,"left",{},void 0,!0)]),e.createElementVNode("div",wn,[e.renderSlot(t.$slots,"default",{},void 0,!0)])])}const lt=B(bn,[["render",_n],["__scopeId","data-v-45a6ed1a"]]);var L=(t=>(t.HOME="fa-regular fa-house",t.DASHBOARD="fa-solid fa-gauge",t.MENU="fa-solid fa-bars",t.DOT_MENU="fa-solid fa-ellipsis-vertical",t.BACK="fa-regular fa-hand-point-left",t.LOGOUT="fa-solid fa-right-from-bracket",t.CHEVRON_LEFT="fa-solid fa-chevron-left",t.CHEVRON_RIGHT="fa-solid fa-chevron-right",t.CHEVRON_UP="fa-solid fa-chevron-up",t.CHEVRON_DOWN="fa-solid fa-chevron-down",t.PREVIOUS="fa-solid fa-angle-left",t.FIRST="fa-solid fa-angles-left",t.NEXT="fa-solid fa-angle-right",t.LAST="fa-solid fa-angles-right",t.USER="fa-regular fa-user-circle",t.CHARACTER="fa-solid fa-person",t.SETTINGS="fa-solid fa-gear",t.ADD="fa-regular fa-plus",t.EDIT="fa-solid fa-pen",t.REMOVE="fa-regular fa-trash-can",t.DELETE="fa-regular fa-trash-can",t.SHARE="fa-solid fa-share-nodes",t.SORT="fa-regular fa-arrow-up-arrow-down",t.CLOSE="fa-regular fa-circle-xmark",t.SAVE="fa-regular fa-floppy-disk",t.COPY="fa-regular fa-copy",t.DUPLICATE="fa-regular fa-clone",t.CUT="fa-solid fa-scissors",t.PASTE="fa-regular fa-clipboard",t.REFRESH="fa-solid fa-rotate-right",t.RELOAD="fa-solid fa-arrows-rotate",t.PRINT="fa-solid fa-print",t.FILTER="fa-solid fa-filter",t.UNDO="fa-solid fa-rotate-left",t.REDO="fa-solid fa-rotate-right",t.PIN="fa-solid fa-thumbtack",t.EXPAND="fa-solid fa-expand",t.COLLAPSE="fa-solid fa-compress",t.EXTERNAL_LINK="fa-solid fa-arrow-up-right-from-square",t.INFO="fa-solid fa-circle-info",t.WARNING="fa-solid fa-triangle-exclamation",t.ERROR="fa-regular fa-circle-xmark",t.CHECK="fa-regular fa-circle-check",t.LOVE="fa-regular fa-heart",t.STAR="fa-regular fa-star",t.STAR_FILLED="fa-solid fa-star",t.HELP="fa-regular fa-circle-question",t.QUESTION="fa-solid fa-question",t.PROJECT="fa-regular fa-folder-open",t.FOLDER="fa-regular fa-folder",t.FILE_TEXT="fa-regular fa-file-lines",t.UPLOAD="fa-solid fa-cloud-arrow-up",t.DOWNLOAD="fa-solid fa-cloud-arrow-down",t.ATTACHMENT="fa-solid fa-paperclip",t.LINK="fa-solid fa-link",t.TAG="fa-solid fa-tag",t.TAGS="fa-solid fa-tags",t.SEARCH="fa-solid fa-magnifying-glass",t.MESSAGE_SQUARE="fa-regular fa-message",t.MAIL="fa-regular fa-envelope",t.SHOPPING_BAG="fa-regular fa-bag-shopping",t.COMMENT="fa-regular fa-comment",t.COMMENTS="fa-regular fa-comments",t.CALENDAR="fa-regular fa-calendar",t.CALENDAR_DAY="fa-solid fa-calendar-day",t.CLOCK="fa-regular fa-clock",t.HISTORY="fa-solid fa-clock-rotate-left",t.LOCK="fa-solid fa-lock",t.UNLOCK="fa-solid fa-lock-open",t.EYE="fa-regular fa-eye",t.EYE_SLASH="fa-regular fa-eye-slash",t.SHIELD="fa-solid fa-shield",t.LIST="fa-solid fa-list",t.GRID="fa-solid fa-grid",t.TABLE="fa-solid fa-table",t.COLUMNS="fa-solid fa-columns",t.BELL="fa-regular fa-bell",t.IMAGE="fa-regular fa-image",t))(L||{}),D=(t=>(t.S="icon-size-s",t.M="icon-size-m",t.L="icon-size-l",t))(D||{});const O=e.defineComponent({__name:"icon",props:{icon:{},size:{}},setup(t){const o=t,n=D.M,l=e.computed(()=>`${o.icon} ${o.size??n}`);return(a,i)=>(e.openBlock(),e.createElementBlock("i",{class:e.normalizeClass(l.value)},null,2))}}),Vn=["disabled"],ce=B(e.defineComponent({__name:"button",props:{label:{},icon:{},primary:{type:Boolean},secondary:{type:Boolean},tertiary:{type:Boolean},disabled:{type:Boolean}},setup(t){const o=t,n=D.S,l=e.computed(()=>o.primary?"primary":o.secondary?"secondary":o.tertiary?"tertiary":"primary"),a=e.computed(()=>!o.label&&!!o.icon);return(i,r)=>(e.openBlock(),e.createElementBlock("button",{class:e.normalizeClass(["button",l.value,{"icon-only":a.value}]),disabled:t.disabled},[t.icon?(e.openBlock(),e.createBlock(O,{key:0,icon:t.icon,size:e.unref(n)},null,8,["icon","size"])):e.createCommentVNode("",!0),e.createTextVNode(" "+e.toDisplayString(t.label),1)],10,Vn))}}),[["__scopeId","data-v-f31c33cf"]]),Cn={key:0,class:"header-actions"},En={key:0},ge=B(e.defineComponent({__name:"card",props:{header:{},scrollable:{type:Boolean}},setup(t){const o=e.useSlots();return(n,l)=>(e.openBlock(),e.createElementBlock("div",{class:e.normalizeClass(["card",{scrollable:t.scrollable}])},[e.createElementVNode("header",null,[e.createElementVNode("h3",null,e.toDisplayString(t.header),1),e.unref(o).headerActions?(e.openBlock(),e.createElementBlock("span",Cn,[e.renderSlot(n.$slots,"headerActions",{},void 0,!0)])):e.createCommentVNode("",!0)]),e.createElementVNode("main",null,[e.renderSlot(n.$slots,"default",{},void 0,!0)]),e.unref(o).footer?(e.openBlock(),e.createElementBlock("footer",En,[e.renderSlot(n.$slots,"footer",{},void 0,!0)])):e.createCommentVNode("",!0)],2))}}),[["__scopeId","data-v-ec6ab562"]]),Bn=["aria-label"],Sn={key:0,class:"carousel-indicators"},vn=B(e.defineComponent({__name:"carousel",props:{autoplay:{type:Boolean},interval:{},loop:{type:Boolean},pauseOnHover:{type:Boolean},startIndex:{},ariaLabel:{}},setup(t){const o=t,n=o.autoplay??!1,l=o.interval??4e3,a=o.loop??!0,i=o.pauseOnHover??!0,r=o.startIndex??0,d=o.ariaLabel??"Carousel",s=e.ref(Math.max(0,r)),c=e.ref(null),f=e.ref(null),u=e.ref(0),m=e.ref(0);let h=!1;const g=e.ref(0),y=e.ref(!1);let p=null,b=null;const w=e.ref(null),k=e.ref(null),E=()=>{g.value=c.value?c.value.children.length:0,g.value===0?s.value=0:s.value>=g.value&&(s.value=a?0:g.value-1),T()},x=e.computed(()=>u.value>0?{transform:`translateX(${-s.value*u.value+m.value}px)`}:{transform:`translateX(-${s.value*100}%)`}),T=()=>{c.value&&Array.from(c.value.children).forEach((v,ee)=>{try{ee===s.value?v.removeAttribute("aria-hidden"):v.setAttribute("aria-hidden","true")}catch{}})},V=()=>{C(),!(!n||g.value<=1)&&(i&&y.value||(p=setTimeout(()=>{$(),V()},l)))},C=()=>{p&&(clearTimeout(p),p=null)},S=()=>{g.value!==0&&(s.value<=0?s.value=a?g.value-1:0:s.value--)},$=()=>{g.value!==0&&(s.value>=g.value-1?s.value=a?0:g.value-1:s.value++)},R=v=>{v<0||v>=g.value||(s.value=v)},P=()=>{y.value=!0,i&&C()},q=()=>{y.value=!1,V()},G=v=>{v.key==="ArrowLeft"?S():v.key==="ArrowRight"&&$()};let se=0,F=0;const K=v=>{se=v.touches[0].clientX,F=0},N=v=>{F=v.touches[0].clientX-se},I=()=>{F>50?S():F<-50&&$(),F=0};let Re=0;const un=v=>{if(v.isPrimary!==!1&&!(v.pointerType==="mouse"&&v.button!==0)){h=!0,Re=v.clientX,m.value=0,C();try{v.target?.setPointerCapture?.(v.pointerId)}catch{}}},mn=v=>{h&&(m.value=v.clientX-Re,v.preventDefault())},pn=()=>{if(!h)return;h=!1;const v=Math.max(50,u.value*.15);m.value>v?S():m.value<-v&&$(),m.value=0,V()},hn=v=>{try{v.target?.releasePointerCapture?.(v.pointerId)}catch{}pn()},gn=()=>pn();return e.onMounted(()=>{e.nextTick(()=>{if(E(),c.value&&(b=new MutationObserver(E),b.observe(c.value,{childList:!0}),c.value.addEventListener("touchstart",K,{passive:!0}),c.value.addEventListener("touchmove",N,{passive:!0}),c.value.addEventListener("touchend",I)),f.value){const v=()=>{u.value=f.value?f.value.clientWidth:0};v();const ee=window.ResizeObserver;if(ee&&f.value){const te=new ee(()=>v());te.observe(f.value),w.value=te}else window.addEventListener("resize",v),k.value=v;f.value&&(f.value.addEventListener("pointerdown",un),f.value.addEventListener("pointermove",mn),f.value.addEventListener("pointerup",hn),f.value.addEventListener("pointercancel",gn))}T(),V()})}),e.onBeforeUnmount(()=>{C(),b&&c.value&&b.disconnect(),c.value&&(c.value.removeEventListener("touchstart",K),c.value.removeEventListener("touchmove",N),c.value.removeEventListener("touchend",I)),f.value&&(w.value&&w.value.disconnect&&w.value.disconnect(),k.value&&window.removeEventListener("resize",k.value),f.value.removeEventListener("pointerdown",un),f.value.removeEventListener("pointermove",mn),f.value.removeEventListener("pointerup",hn),f.value.removeEventListener("pointercancel",gn))}),e.watch([s,()=>g.value],()=>{T()}),e.watch([()=>y.value,s],()=>{V()}),(v,ee)=>{const te=e.resolveComponent("VjButton");return e.openBlock(),e.createElementBlock("div",{class:"carousel",role:"region","aria-roledescription":"carousel","aria-label":e.unref(d),tabindex:"0",onKeydown:G,onMouseenter:P,onMouseleave:q},[e.createElementVNode("div",{class:"carousel-window",ref_key:"windowRef",ref:f},[e.createElementVNode("div",{class:"carousel-track",ref_key:"track",ref:c,style:e.normalizeStyle(x.value)},[e.renderSlot(v.$slots,"default",{},void 0,!0)],4)],512),e.createVNode(te,{class:"carousel-btn prev",icon:e.unref(L).PREVIOUS,onClick:S,type:"button","aria-label":"Previous slide"},null,8,["icon"]),e.createVNode(te,{class:"carousel-btn next",icon:e.unref(L).NEXT,onClick:$,type:"button","aria-label":"Next slide"},null,8,["icon"]),g.value>1?(e.openBlock(),e.createElementBlock("div",Sn,[(e.openBlock(!0),e.createElementBlock(e.Fragment,null,e.renderList(g.value,he=>(e.openBlock(),e.createBlock(te,{key:he-1,class:e.normalizeClass(["indicator",{active:he-1===s.value}]),onClick:pi=>R(he-1),"aria-current":he-1===s.value,"aria-label":`Go to slide ${he}`,type:"button"},null,8,["class","onClick","aria-current","aria-label"]))),128))])):e.createCommentVNode("",!0)],40,Bn)}}}),[["__scopeId","data-v-232abca2"]]),xn={class:"checkbox"},$n=["checked","disabled"],Ln={key:0,class:"checkbox-label"},at=B(e.defineComponent({__name:"checkbox",props:e.mergeModels({label:{},disabled:{type:Boolean}},{modelValue:{type:Boolean},modelModifiers:{}}),emits:["update:modelValue"],setup(t){const o=e.useModel(t,"modelValue"),n=l=>{const a=l.target;o.value=a.checked};return(l,a)=>(e.openBlock(),e.createElementBlock("label",xn,[e.createElementVNode("input",{type:"checkbox",checked:o.value,onChange:n,disabled:t.disabled,class:"checkbox-input"},null,40,$n),a[0]||(a[0]=e.createElementVNode("span",{class:"checkbox-box"},[e.createElementVNode("svg",{class:"checkbox-icon",viewBox:"0 0 24 24",fill:"none",xmlns:"http://www.w3.org/2000/svg"},[e.createElementVNode("path",{class:"checkbox-check",d:"M5 12L10 17L20 7",stroke:"currentColor","stroke-width":"2.5","stroke-linecap":"round","stroke-linejoin":"round"})])],-1)),t.label?(e.openBlock(),e.createElementBlock("span",Ln,e.toDisplayString(t.label),1)):e.createCommentVNode("",!0)]))}}),[["__scopeId","data-v-d44b45ff"]]),Tn={class:"radio"},Rn=["checked","disabled"],Dn={key:0,class:"radio-label"},Nn=B(e.defineComponent({__name:"radio",props:e.mergeModels({label:{},disabled:{type:Boolean}},{modelValue:{type:Boolean},modelModifiers:{}}),emits:["update:modelValue"],setup(t){const o=e.useModel(t,"modelValue"),n=l=>{const a=l.target;o.value=a.checked};return(l,a)=>(e.openBlock(),e.createElementBlock("label",Tn,[e.createElementVNode("input",{type:"checkbox",checked:o.value,onChange:n,disabled:t.disabled,class:"radio-input"},null,40,Rn),a[0]||(a[0]=e.createElementVNode("span",{class:"radio-box"},[e.createElementVNode("span",{class:"radio-dot","aria-hidden":"true"})],-1)),t.label?(e.openBlock(),e.createElementBlock("span",Dn,e.toDisplayString(t.label),1)):e.createCommentVNode("",!0)]))}}),[["__scopeId","data-v-f9e4bb65"]]),An={class:"chip__label"},De=B(e.defineComponent({__name:"chip",props:e.mergeModels({label:{},dismissable:{type:Boolean},color:{}},{modelValue:{},modelModifiers:{}}),emits:e.mergeModels(["update:modelValue","dismiss","click"],["update:modelValue"]),setup(t,{emit:o}){const n=t,l=e.useModel(t,"modelValue"),a=o,i=n.dismissable??!1,r=e.computed(()=>{const s={};return n.color&&(s.color=`var(--on-surface-${n.color})`,s.background=`var(--surface-${n.color})`),s}),d=()=>{a("dismiss",l.value)};return(s,c)=>(e.openBlock(),e.createElementBlock("div",{class:e.normalizeClass(["chip",{"chip--dismissable":e.unref(i)}]),style:e.normalizeStyle(r.value),onClick:c[0]||(c[0]=f=>s.$emit("click"))},[e.createElementVNode("span",An,e.toDisplayString(t.label),1),e.unref(i)?(e.openBlock(),e.createElementBlock("button",{key:0,class:"chip__close",type:"button",onClick:e.withModifiers(d,["stop"]),"aria-label":"Dismiss"},[e.createVNode(O,{icon:e.unref(L).CLOSE,size:e.unref(D).S},null,8,["icon","size"])])):e.createCommentVNode("",!0)],6))}}),[["__scopeId","data-v-c2014a3b"]]),Mn={class:"chip-group"},On={key:0,class:"chip-group__label"},jn={class:"chip-group__container"},zn=["onDragover","onDrop"],Pn=["onDragstart","onDragover","onDragenter","onDrop"],Fn=["onDragover","onDrop"],In={key:1,class:"chip-group__hint"},Ne=B(e.defineComponent({__name:"chip-group",props:{items:{default:()=>[]},label:{},hint:{},dismissable:{type:Boolean,default:!0},color:{},itemKey:{default:"value"},itemLabel:{default:"label"}},emits:["update:items","reorder","dismiss","chip-click"],setup(t,{emit:o}){const n=t,l=o,a=e.ref(null),i=e.ref(null);function r(p,b){return typeof p=="string"?`${p}-${b}`:p[n.itemKey]!==void 0?String(p[n.itemKey]):`item-${b}`}function d(p){return typeof p=="string"?p:p[n.itemLabel]!==void 0?String(p[n.itemLabel]):String(p.value||"")}function s(p,b){a.value=p,b.dataTransfer&&(b.dataTransfer.effectAllowed="move",b.dataTransfer.setData("text/plain",String(p)))}function c(p,b){a.value===null||a.value===p||(b.preventDefault(),b.dataTransfer&&(b.dataTransfer.dropEffect="move"))}function f(p){a.value===null||a.value===p||(i.value=p)}function u(){}function m(p,b){return a.value===null||i.value===null||a.value===p?!1:b==="before"&&i.value===p&&a.value>p||b==="after"&&i.value===p&&a.value<p}function h(p,b){if(b.preventDefault(),a.value===null||a.value===p)return;const w=[...n.items],k=w[a.value];w.splice(a.value,1),w.splice(p,0,k),l("update:items",w),l("reorder",w)}function g(){a.value=null,i.value=null}function y(p){const b=n.items[p],w=n.items.filter((k,E)=>E!==p);l("update:items",w),l("dismiss",b,p)}return(p,b)=>(e.openBlock(),e.createElementBlock("div",Mn,[t.label?(e.openBlock(),e.createElementBlock("label",On,e.toDisplayString(t.label),1)):e.createCommentVNode("",!0),e.createElementVNode("div",jn,[(e.openBlock(!0),e.createElementBlock(e.Fragment,null,e.renderList(t.items,(w,k)=>(e.openBlock(),e.createElementBlock(e.Fragment,{key:r(w,k)},[m(k,"before")?(e.openBlock(),e.createElementBlock("div",{key:0,class:"chip-group__drop-indicator",onDragover:e.withModifiers(E=>c(k,E),["prevent"]),onDrop:E=>h(k,E)},null,40,zn)):e.createCommentVNode("",!0),e.createElementVNode("div",{class:e.normalizeClass(["chip-group__item",{"chip-group__item--dragging":a.value===k}]),draggable:"true",onDragstart:E=>s(k,E),onDragover:e.withModifiers(E=>c(k,E),["prevent"]),onDragenter:e.withModifiers(E=>f(k),["prevent"]),onDragleave:u,onDrop:E=>h(k,E),onDragend:g},[e.createVNode(De,{label:d(w),dismissable:typeof w=="string"?t.dismissable:w.dismissable??t.dismissable,color:typeof w=="string"?t.color:w.color??t.color,onDismiss:E=>y(k),onClick:E=>p.$emit("chip-click",w,k)},null,8,["label","dismissable","color","onDismiss","onClick"])],42,Pn),m(k,"after")?(e.openBlock(),e.createElementBlock("div",{key:1,class:"chip-group__drop-indicator",onDragover:e.withModifiers(E=>c(k,E),["prevent"]),onDrop:E=>h(k,E)},null,40,Fn)):e.createCommentVNode("",!0)],64))),128))]),t.hint?(e.openBlock(),e.createElementBlock("div",In,e.toDisplayString(t.hint),1)):e.createCommentVNode("",!0)]))}}),[["__scopeId","data-v-66199d19"]]),Ae=Symbol("VjDialogController"),Hn={class:"dialog-content"},Un={key:1},Wn={class:"dialog-footer"},be=B(e.defineComponent({__name:"dialog",props:{modelValue:{type:Boolean,default:!1},title:{},message:{},component:{},componentProps:{},showFooter:{type:Boolean,default:!1},showCancel:{type:Boolean,default:!0},confirmText:{default:"OK"},cancelText:{default:"Abbrechen"},closeOnBackdrop:{type:Boolean,default:!1},closeOnEscape:{type:Boolean,default:!0}},emits:["update:modelValue","confirm","cancel","close","resolve"],setup(t,{emit:o}){const n=t,l=o,a=e.ref(n.modelValue);e.watch(()=>n.modelValue,u=>a.value=u);const i=()=>{a.value=!1,l("update:modelValue",!1),l("close")},r=u=>{l("resolve",u),i()},d=()=>{l("confirm"),i()},s=()=>{l("cancel"),i()};e.provide(Ae,{close:i,resolve:r,cancel:s});const c=()=>{n.closeOnBackdrop&&i()},f=u=>{u.key==="Escape"&&n.closeOnEscape&&a.value&&i()};return e.onMounted(()=>{document.addEventListener("keydown",f)}),e.onBeforeUnmount(()=>{document.removeEventListener("keydown",f)}),(u,m)=>{const h=e.resolveComponent("VjIcon"),g=e.resolveComponent("VjButton"),y=e.resolveComponent("VjCard");return e.openBlock(),e.createBlock(e.Teleport,{to:"body"},[e.createVNode(e.Transition,{name:"dialog-fade"},{default:e.withCtx(()=>[a.value?(e.openBlock(),e.createElementBlock("div",{key:0,class:"dialog-backdrop",onClick:c},[e.createVNode(e.Transition,{name:"dialog-scale"},{default:e.withCtx(()=>[a.value?(e.openBlock(),e.createElementBlock("div",{key:0,class:"dialog-wrapper",onClick:m[0]||(m[0]=e.withModifiers(()=>{},["stop"]))},[e.createVNode(y,{class:"dialog-card",header:t.title||""},e.createSlots({headerActions:e.withCtx(()=>[e.createVNode(h,{icon:e.unref(L).CLOSE,size:e.unref(D).S,class:"dialog-close",onClick:i},null,8,["icon","size"])]),default:e.withCtx(()=>[e.createElementVNode("div",Hn,[t.component?(e.openBlock(),e.createBlock(e.resolveDynamicComponent(t.component),e.mergeProps({key:0},t.componentProps,{onCancel:s,onClose:i,onConfirm:d,onResolve:r}),null,16)):t.message?(e.openBlock(),e.createElementBlock("div",Un,e.toDisplayString(t.message),1)):e.renderSlot(u.$slots,"default",{key:2},void 0,!0)])]),_:2},[t.showFooter?{name:"footer",fn:e.withCtx(()=>[e.createElementVNode("div",Wn,[e.renderSlot(u.$slots,"footer",{},()=>[t.showCancel?(e.openBlock(),e.createBlock(g,{key:0,secondary:"",onClick:s,label:t.cancelText},null,8,["label"])):e.createCommentVNode("",!0),e.createVNode(g,{primary:"",onClick:d,label:t.confirmText},null,8,["label"])],!0)])]),key:"0"}:void 0]),1032,["header"])])):e.createCommentVNode("",!0)]),_:3})])):e.createCommentVNode("",!0)]),_:3})])}}}),[["__scopeId","data-v-29d1729b"]]),Kn={class:"vj-chip-selector"},Xn={class:"options-grid"},qn=["onClick"],Gn={key:0,class:"no-options"},it=B(e.defineComponent({__name:"chip-selector",props:{items:{default:()=>[]},label:{default:""},hint:{default:""},options:{},dialogTitle:{},addButtonText:{default:"+ Add..."}},emits:["update:items"],setup(t,{emit:o}){const n=t,l=o,a=e.ref([...n.items]),i=e.ref(!1),r=e.computed(()=>n.options.filter(c=>!a.value.includes(c.value)));function d(c){const f=c;a.value=f,l("update:items",f)}function s(c){if(!a.value.includes(c)){const f=[...a.value,c];a.value=f,l("update:items",f)}}return e.watch(()=>n.items,c=>{JSON.stringify(c)!==JSON.stringify(a.value)&&(a.value=[...c])},{deep:!0}),(c,f)=>(e.openBlock(),e.createElementBlock("div",Kn,[e.createVNode(Ne,{items:a.value,"onUpdate:items":[f[0]||(f[0]=u=>a.value=u),d],label:t.label,hint:t.hint},null,8,["items","label","hint"]),e.createElementVNode("button",{type:"button",class:"add-button",onClick:f[1]||(f[1]=u=>i.value=!0)},e.toDisplayString(t.addButtonText),1),e.createVNode(be,{modelValue:i.value,"onUpdate:modelValue":f[2]||(f[2]=u=>i.value=u),title:t.dialogTitle||`Add ${t.label}`,"close-on-backdrop":""},{default:e.withCtx(()=>[e.createElementVNode("div",Xn,[(e.openBlock(!0),e.createElementBlock(e.Fragment,null,e.renderList(r.value,u=>(e.openBlock(),e.createElementBlock("button",{key:u.value,type:"button",class:"option-btn",onClick:m=>s(u.value)},"+ "+e.toDisplayString(u.label),9,qn))),128))]),r.value.length===0?(e.openBlock(),e.createElementBlock("div",Gn,"All options already selected")):e.createCommentVNode("",!0)]),_:1},8,["modelValue","title"])]))}}),[["__scopeId","data-v-f2e1b880"]]),ne=Math.min,A=Math.max,ye=Math.round,ke=Math.floor,H=t=>({x:t,y:t}),Yn={left:"right",right:"left",bottom:"top",top:"bottom"},Jn={start:"end",end:"start"};function rt(t,o,n){return A(t,ne(o,n))}function de(t,o){return typeof t=="function"?t(o):t}function Y(t){return t.split("-")[0]}function fe(t){return t.split("-")[1]}function st(t){return t==="x"?"y":"x"}function ct(t){return t==="y"?"height":"width"}const Qn=new Set(["top","bottom"]);function X(t){return Qn.has(Y(t))?"y":"x"}function dt(t){return st(X(t))}function Zn(t,o,n){n===void 0&&(n=!1);const l=fe(t),a=dt(t),i=ct(a);let r=a==="x"?l===(n?"end":"start")?"right":"left":l==="start"?"bottom":"top";return o.reference[i]>o.floating[i]&&(r=we(r)),[r,we(r)]}function eo(t){const o=we(t);return[Me(t),o,Me(o)]}function Me(t){return t.replace(/start|end/g,o=>Jn[o])}const ft=["left","right"],ut=["right","left"],to=["top","bottom"],no=["bottom","top"];function oo(t,o,n){switch(t){case"top":case"bottom":return n?o?ut:ft:o?ft:ut;case"left":case"right":return o?to:no;default:return[]}}function lo(t,o,n,l){const a=fe(t);let i=oo(Y(t),n==="start",l);return a&&(i=i.map(r=>r+"-"+a),o&&(i=i.concat(i.map(Me)))),i}function we(t){return t.replace(/left|right|bottom|top/g,o=>Yn[o])}function ao(t){return{top:0,right:0,bottom:0,left:0,...t}}function io(t){return typeof t!="number"?ao(t):{top:t,right:t,bottom:t,left:t}}function _e(t){const{x:o,y:n,width:l,height:a}=t;return{width:l,height:a,top:n,left:o,right:o+l,bottom:n+a,x:o,y:n}}function mt(t,o,n){let{reference:l,floating:a}=t;const i=X(o),r=dt(o),d=ct(r),s=Y(o),c=i==="y",f=l.x+l.width/2-a.width/2,u=l.y+l.height/2-a.height/2,m=l[d]/2-a[d]/2;let h;switch(s){case"top":h={x:f,y:l.y-a.height};break;case"bottom":h={x:f,y:l.y+l.height};break;case"right":h={x:l.x+l.width,y:u};break;case"left":h={x:l.x-a.width,y:u};break;default:h={x:l.x,y:l.y}}switch(fe(o)){case"start":h[r]-=m*(n&&c?-1:1);break;case"end":h[r]+=m*(n&&c?-1:1);break}return h}const ro=async(t,o,n)=>{const{placement:l="bottom",strategy:a="absolute",middleware:i=[],platform:r}=n,d=i.filter(Boolean),s=await(r.isRTL==null?void 0:r.isRTL(o));let c=await r.getElementRects({reference:t,floating:o,strategy:a}),{x:f,y:u}=mt(c,l,s),m=l,h={},g=0;for(let y=0;y<d.length;y++){const{name:p,fn:b}=d[y],{x:w,y:k,data:E,reset:x}=await b({x:f,y:u,initialPlacement:l,placement:m,strategy:a,middlewareData:h,rects:c,platform:r,elements:{reference:t,floating:o}});f=w??f,u=k??u,h={...h,[p]:{...h[p],...E}},x&&g<=50&&(g++,typeof x=="object"&&(x.placement&&(m=x.placement),x.rects&&(c=x.rects===!0?await r.getElementRects({reference:t,floating:o,strategy:a}):x.rects),{x:f,y:u}=mt(c,m,s)),y=-1)}return{x:f,y:u,placement:m,strategy:a,middlewareData:h}};async function Oe(t,o){var n;o===void 0&&(o={});const{x:l,y:a,platform:i,rects:r,elements:d,strategy:s}=t,{boundary:c="clippingAncestors",rootBoundary:f="viewport",elementContext:u="floating",altBoundary:m=!1,padding:h=0}=de(o,t),g=io(h),p=d[m?u==="floating"?"reference":"floating":u],b=_e(await i.getClippingRect({element:(n=await(i.isElement==null?void 0:i.isElement(p)))==null||n?p:p.contextElement||await(i.getDocumentElement==null?void 0:i.getDocumentElement(d.floating)),boundary:c,rootBoundary:f,strategy:s})),w=u==="floating"?{x:l,y:a,width:r.floating.width,height:r.floating.height}:r.reference,k=await(i.getOffsetParent==null?void 0:i.getOffsetParent(d.floating)),E=await(i.isElement==null?void 0:i.isElement(k))?await(i.getScale==null?void 0:i.getScale(k))||{x:1,y:1}:{x:1,y:1},x=_e(i.convertOffsetParentRelativeRectToViewportRelativeRect?await i.convertOffsetParentRelativeRectToViewportRelativeRect({elements:d,rect:w,offsetParent:k,strategy:s}):w);return{top:(b.top-x.top+g.top)/E.y,bottom:(x.bottom-b.bottom+g.bottom)/E.y,left:(b.left-x.left+g.left)/E.x,right:(x.right-b.right+g.right)/E.x}}const so=function(t){return t===void 0&&(t={}),{name:"flip",options:t,async fn(o){var n,l;const{placement:a,middlewareData:i,rects:r,initialPlacement:d,platform:s,elements:c}=o,{mainAxis:f=!0,crossAxis:u=!0,fallbackPlacements:m,fallbackStrategy:h="bestFit",fallbackAxisSideDirection:g="none",flipAlignment:y=!0,...p}=de(t,o);if((n=i.arrow)!=null&&n.alignmentOffset)return{};const b=Y(a),w=X(d),k=Y(d)===d,E=await(s.isRTL==null?void 0:s.isRTL(c.floating)),x=m||(k||!y?[we(d)]:eo(d)),T=g!=="none";!m&&T&&x.push(...lo(d,y,g,E));const V=[d,...x],C=await Oe(o,p),S=[];let $=((l=i.flip)==null?void 0:l.overflows)||[];if(f&&S.push(C[b]),u){const G=Zn(a,r,E);S.push(C[G[0]],C[G[1]])}if($=[...$,{placement:a,overflows:S}],!S.every(G=>G<=0)){var R,P;const G=(((R=i.flip)==null?void 0:R.index)||0)+1,se=V[G];if(se&&(!(u==="alignment"?w!==X(se):!1)||$.every(N=>X(N.placement)===w?N.overflows[0]>0:!0)))return{data:{index:G,overflows:$},reset:{placement:se}};let F=(P=$.filter(K=>K.overflows[0]<=0).sort((K,N)=>K.overflows[1]-N.overflows[1])[0])==null?void 0:P.placement;if(!F)switch(h){case"bestFit":{var q;const K=(q=$.filter(N=>{if(T){const I=X(N.placement);return I===w||I==="y"}return!0}).map(N=>[N.placement,N.overflows.filter(I=>I>0).reduce((I,Re)=>I+Re,0)]).sort((N,I)=>N[1]-I[1])[0])==null?void 0:q[0];K&&(F=K);break}case"initialPlacement":F=d;break}if(a!==F)return{reset:{placement:F}}}return{}}}},co=new Set(["left","top"]);async function fo(t,o){const{placement:n,platform:l,elements:a}=t,i=await(l.isRTL==null?void 0:l.isRTL(a.floating)),r=Y(n),d=fe(n),s=X(n)==="y",c=co.has(r)?-1:1,f=i&&s?-1:1,u=de(o,t);let{mainAxis:m,crossAxis:h,alignmentAxis:g}=typeof u=="number"?{mainAxis:u,crossAxis:0,alignmentAxis:null}:{mainAxis:u.mainAxis||0,crossAxis:u.crossAxis||0,alignmentAxis:u.alignmentAxis};return d&&typeof g=="number"&&(h=d==="end"?g*-1:g),s?{x:h*f,y:m*c}:{x:m*c,y:h*f}}const uo=function(t){return t===void 0&&(t=0),{name:"offset",options:t,async fn(o){var n,l;const{x:a,y:i,placement:r,middlewareData:d}=o,s=await fo(o,t);return r===((n=d.offset)==null?void 0:n.placement)&&(l=d.arrow)!=null&&l.alignmentOffset?{}:{x:a+s.x,y:i+s.y,data:{...s,placement:r}}}}},mo=function(t){return t===void 0&&(t={}),{name:"shift",options:t,async fn(o){const{x:n,y:l,placement:a}=o,{mainAxis:i=!0,crossAxis:r=!1,limiter:d={fn:p=>{let{x:b,y:w}=p;return{x:b,y:w}}},...s}=de(t,o),c={x:n,y:l},f=await Oe(o,s),u=X(Y(a)),m=st(u);let h=c[m],g=c[u];if(i){const p=m==="y"?"top":"left",b=m==="y"?"bottom":"right",w=h+f[p],k=h-f[b];h=rt(w,h,k)}if(r){const p=u==="y"?"top":"left",b=u==="y"?"bottom":"right",w=g+f[p],k=g-f[b];g=rt(w,g,k)}const y=d.fn({...o,[m]:h,[u]:g});return{...y,data:{x:y.x-n,y:y.y-l,enabled:{[m]:i,[u]:r}}}}}},po=function(t){return t===void 0&&(t={}),{name:"size",options:t,async fn(o){var n,l;const{placement:a,rects:i,platform:r,elements:d}=o,{apply:s=()=>{},...c}=de(t,o),f=await Oe(o,c),u=Y(a),m=fe(a),h=X(a)==="y",{width:g,height:y}=i.floating;let p,b;u==="top"||u==="bottom"?(p=u,b=m===(await(r.isRTL==null?void 0:r.isRTL(d.floating))?"start":"end")?"left":"right"):(b=u,p=m==="end"?"top":"bottom");const w=y-f.top-f.bottom,k=g-f.left-f.right,E=ne(y-f[p],w),x=ne(g-f[b],k),T=!o.middlewareData.shift;let V=E,C=x;if((n=o.middlewareData.shift)!=null&&n.enabled.x&&(C=k),(l=o.middlewareData.shift)!=null&&l.enabled.y&&(V=w),T&&!m){const $=A(f.left,0),R=A(f.right,0),P=A(f.top,0),q=A(f.bottom,0);h?C=g-2*($!==0||R!==0?$+R:A(f.left,f.right)):V=y-2*(P!==0||q!==0?P+q:A(f.top,f.bottom))}await s({...o,availableWidth:C,availableHeight:V});const S=await r.getDimensions(d.floating);return g!==S.width||y!==S.height?{reset:{rects:!0}}:{}}}};function Ve(){return typeof window<"u"}function Q(t){return je(t)?(t.nodeName||"").toLowerCase():"#document"}function M(t){var o;return(t==null||(o=t.ownerDocument)==null?void 0:o.defaultView)||window}function U(t){var o;return(o=(je(t)?t.ownerDocument:t.document)||window.document)==null?void 0:o.documentElement}function je(t){return Ve()?t instanceof Node||t instanceof M(t).Node:!1}function j(t){return Ve()?t instanceof Element||t instanceof M(t).Element:!1}function W(t){return Ve()?t instanceof HTMLElement||t instanceof M(t).HTMLElement:!1}function pt(t){return!Ve()||typeof ShadowRoot>"u"?!1:t instanceof ShadowRoot||t instanceof M(t).ShadowRoot}const ho=new Set(["inline","contents"]);function ue(t){const{overflow:o,overflowX:n,overflowY:l,display:a}=z(t);return/auto|scroll|overlay|hidden|clip/.test(o+l+n)&&!ho.has(a)}const go=new Set(["table","td","th"]);function bo(t){return go.has(Q(t))}const yo=[":popover-open",":modal"];function Ce(t){return yo.some(o=>{try{return t.matches(o)}catch{return!1}})}const ko=["transform","translate","scale","rotate","perspective"],wo=["transform","translate","scale","rotate","perspective","filter"],_o=["paint","layout","strict","content"];function ze(t){const o=Pe(),n=j(t)?z(t):t;return ko.some(l=>n[l]?n[l]!=="none":!1)||(n.containerType?n.containerType!=="normal":!1)||!o&&(n.backdropFilter?n.backdropFilter!=="none":!1)||!o&&(n.filter?n.filter!=="none":!1)||wo.some(l=>(n.willChange||"").includes(l))||_o.some(l=>(n.contain||"").includes(l))}function Vo(t){let o=J(t);for(;W(o)&&!oe(o);){if(ze(o))return o;if(Ce(o))return null;o=J(o)}return null}function Pe(){return typeof CSS>"u"||!CSS.supports?!1:CSS.supports("-webkit-backdrop-filter","none")}const Co=new Set(["html","body","#document"]);function oe(t){return Co.has(Q(t))}function z(t){return M(t).getComputedStyle(t)}function Ee(t){return j(t)?{scrollLeft:t.scrollLeft,scrollTop:t.scrollTop}:{scrollLeft:t.scrollX,scrollTop:t.scrollY}}function J(t){if(Q(t)==="html")return t;const o=t.assignedSlot||t.parentNode||pt(t)&&t.host||U(t);return pt(o)?o.host:o}function ht(t){const o=J(t);return oe(o)?t.ownerDocument?t.ownerDocument.body:t.body:W(o)&&ue(o)?o:ht(o)}function me(t,o,n){var l;o===void 0&&(o=[]),n===void 0&&(n=!0);const a=ht(t),i=a===((l=t.ownerDocument)==null?void 0:l.body),r=M(a);if(i){const d=Fe(r);return o.concat(r,r.visualViewport||[],ue(a)?a:[],d&&n?me(d):[])}return o.concat(a,me(a,[],n))}function Fe(t){return t.parent&&Object.getPrototypeOf(t.parent)?t.frameElement:null}function gt(t){const o=z(t);let n=parseFloat(o.width)||0,l=parseFloat(o.height)||0;const a=W(t),i=a?t.offsetWidth:n,r=a?t.offsetHeight:l,d=ye(n)!==i||ye(l)!==r;return d&&(n=i,l=r),{width:n,height:l,$:d}}function Ie(t){return j(t)?t:t.contextElement}function le(t){const o=Ie(t);if(!W(o))return H(1);const n=o.getBoundingClientRect(),{width:l,height:a,$:i}=gt(o);let r=(i?ye(n.width):n.width)/l,d=(i?ye(n.height):n.height)/a;return(!r||!Number.isFinite(r))&&(r=1),(!d||!Number.isFinite(d))&&(d=1),{x:r,y:d}}const Eo=H(0);function bt(t){const o=M(t);return!Pe()||!o.visualViewport?Eo:{x:o.visualViewport.offsetLeft,y:o.visualViewport.offsetTop}}function Bo(t,o,n){return o===void 0&&(o=!1),!n||o&&n!==M(t)?!1:o}function Z(t,o,n,l){o===void 0&&(o=!1),n===void 0&&(n=!1);const a=t.getBoundingClientRect(),i=Ie(t);let r=H(1);o&&(l?j(l)&&(r=le(l)):r=le(t));const d=Bo(i,n,l)?bt(i):H(0);let s=(a.left+d.x)/r.x,c=(a.top+d.y)/r.y,f=a.width/r.x,u=a.height/r.y;if(i){const m=M(i),h=l&&j(l)?M(l):l;let g=m,y=Fe(g);for(;y&&l&&h!==g;){const p=le(y),b=y.getBoundingClientRect(),w=z(y),k=b.left+(y.clientLeft+parseFloat(w.paddingLeft))*p.x,E=b.top+(y.clientTop+parseFloat(w.paddingTop))*p.y;s*=p.x,c*=p.y,f*=p.x,u*=p.y,s+=k,c+=E,g=M(y),y=Fe(g)}}return _e({width:f,height:u,x:s,y:c})}function Be(t,o){const n=Ee(t).scrollLeft;return o?o.left+n:Z(U(t)).left+n}function yt(t,o){const n=t.getBoundingClientRect(),l=n.left+o.scrollLeft-Be(t,n),a=n.top+o.scrollTop;return{x:l,y:a}}function So(t){let{elements:o,rect:n,offsetParent:l,strategy:a}=t;const i=a==="fixed",r=U(l),d=o?Ce(o.floating):!1;if(l===r||d&&i)return n;let s={scrollLeft:0,scrollTop:0},c=H(1);const f=H(0),u=W(l);if((u||!u&&!i)&&((Q(l)!=="body"||ue(r))&&(s=Ee(l)),W(l))){const h=Z(l);c=le(l),f.x=h.x+l.clientLeft,f.y=h.y+l.clientTop}const m=r&&!u&&!i?yt(r,s):H(0);return{width:n.width*c.x,height:n.height*c.y,x:n.x*c.x-s.scrollLeft*c.x+f.x+m.x,y:n.y*c.y-s.scrollTop*c.y+f.y+m.y}}function vo(t){return Array.from(t.getClientRects())}function xo(t){const o=U(t),n=Ee(t),l=t.ownerDocument.body,a=A(o.scrollWidth,o.clientWidth,l.scrollWidth,l.clientWidth),i=A(o.scrollHeight,o.clientHeight,l.scrollHeight,l.clientHeight);let r=-n.scrollLeft+Be(t);const d=-n.scrollTop;return z(l).direction==="rtl"&&(r+=A(o.clientWidth,l.clientWidth)-a),{width:a,height:i,x:r,y:d}}const kt=25;function $o(t,o){const n=M(t),l=U(t),a=n.visualViewport;let i=l.clientWidth,r=l.clientHeight,d=0,s=0;if(a){i=a.width,r=a.height;const f=Pe();(!f||f&&o==="fixed")&&(d=a.offsetLeft,s=a.offsetTop)}const c=Be(l);if(c<=0){const f=l.ownerDocument,u=f.body,m=getComputedStyle(u),h=f.compatMode==="CSS1Compat"&&parseFloat(m.marginLeft)+parseFloat(m.marginRight)||0,g=Math.abs(l.clientWidth-u.clientWidth-h);g<=kt&&(i-=g)}else c<=kt&&(i+=c);return{width:i,height:r,x:d,y:s}}const Lo=new Set(["absolute","fixed"]);function To(t,o){const n=Z(t,!0,o==="fixed"),l=n.top+t.clientTop,a=n.left+t.clientLeft,i=W(t)?le(t):H(1),r=t.clientWidth*i.x,d=t.clientHeight*i.y,s=a*i.x,c=l*i.y;return{width:r,height:d,x:s,y:c}}function wt(t,o,n){let l;if(o==="viewport")l=$o(t,n);else if(o==="document")l=xo(U(t));else if(j(o))l=To(o,n);else{const a=bt(t);l={x:o.x-a.x,y:o.y-a.y,width:o.width,height:o.height}}return _e(l)}function _t(t,o){const n=J(t);return n===o||!j(n)||oe(n)?!1:z(n).position==="fixed"||_t(n,o)}function Ro(t,o){const n=o.get(t);if(n)return n;let l=me(t,[],!1).filter(d=>j(d)&&Q(d)!=="body"),a=null;const i=z(t).position==="fixed";let r=i?J(t):t;for(;j(r)&&!oe(r);){const d=z(r),s=ze(r);!s&&d.position==="fixed"&&(a=null),(i?!s&&!a:!s&&d.position==="static"&&!!a&&Lo.has(a.position)||ue(r)&&!s&&_t(t,r))?l=l.filter(f=>f!==r):a=d,r=J(r)}return o.set(t,l),l}function Do(t){let{element:o,boundary:n,rootBoundary:l,strategy:a}=t;const r=[...n==="clippingAncestors"?Ce(o)?[]:Ro(o,this._c):[].concat(n),l],d=r[0],s=r.reduce((c,f)=>{const u=wt(o,f,a);return c.top=A(u.top,c.top),c.right=ne(u.right,c.right),c.bottom=ne(u.bottom,c.bottom),c.left=A(u.left,c.left),c},wt(o,d,a));return{width:s.right-s.left,height:s.bottom-s.top,x:s.left,y:s.top}}function No(t){const{width:o,height:n}=gt(t);return{width:o,height:n}}function Ao(t,o,n){const l=W(o),a=U(o),i=n==="fixed",r=Z(t,!0,i,o);let d={scrollLeft:0,scrollTop:0};const s=H(0);function c(){s.x=Be(a)}if(l||!l&&!i)if((Q(o)!=="body"||ue(a))&&(d=Ee(o)),l){const h=Z(o,!0,i,o);s.x=h.x+o.clientLeft,s.y=h.y+o.clientTop}else a&&c();i&&!l&&a&&c();const f=a&&!l&&!i?yt(a,d):H(0),u=r.left+d.scrollLeft-s.x-f.x,m=r.top+d.scrollTop-s.y-f.y;return{x:u,y:m,width:r.width,height:r.height}}function He(t){return z(t).position==="static"}function Vt(t,o){if(!W(t)||z(t).position==="fixed")return null;if(o)return o(t);let n=t.offsetParent;return U(t)===n&&(n=n.ownerDocument.body),n}function Ct(t,o){const n=M(t);if(Ce(t))return n;if(!W(t)){let a=J(t);for(;a&&!oe(a);){if(j(a)&&!He(a))return a;a=J(a)}return n}let l=Vt(t,o);for(;l&&bo(l)&&He(l);)l=Vt(l,o);return l&&oe(l)&&He(l)&&!ze(l)?n:l||Vo(t)||n}const Mo=async function(t){const o=this.getOffsetParent||Ct,n=this.getDimensions,l=await n(t.floating);return{reference:Ao(t.reference,await o(t.floating),t.strategy),floating:{x:0,y:0,width:l.width,height:l.height}}};function Oo(t){return z(t).direction==="rtl"}const jo={convertOffsetParentRelativeRectToViewportRelativeRect:So,getDocumentElement:U,getClippingRect:Do,getOffsetParent:Ct,getElementRects:Mo,getClientRects:vo,getDimensions:No,getScale:le,isElement:j,isRTL:Oo};function Et(t,o){return t.x===o.x&&t.y===o.y&&t.width===o.width&&t.height===o.height}function zo(t,o){let n=null,l;const a=U(t);function i(){var d;clearTimeout(l),(d=n)==null||d.disconnect(),n=null}function r(d,s){d===void 0&&(d=!1),s===void 0&&(s=1),i();const c=t.getBoundingClientRect(),{left:f,top:u,width:m,height:h}=c;if(d||o(),!m||!h)return;const g=ke(u),y=ke(a.clientWidth-(f+m)),p=ke(a.clientHeight-(u+h)),b=ke(f),k={rootMargin:-g+"px "+-y+"px "+-p+"px "+-b+"px",threshold:A(0,ne(1,s))||1};let E=!0;function x(T){const V=T[0].intersectionRatio;if(V!==s){if(!E)return r();V?r(!1,V):l=setTimeout(()=>{r(!1,1e-7)},1e3)}V===1&&!Et(c,t.getBoundingClientRect())&&r(),E=!1}try{n=new IntersectionObserver(x,{...k,root:a.ownerDocument})}catch{n=new IntersectionObserver(x,k)}n.observe(t)}return r(!0),i}function Se(t,o,n,l){l===void 0&&(l={});const{ancestorScroll:a=!0,ancestorResize:i=!0,elementResize:r=typeof ResizeObserver=="function",layoutShift:d=typeof IntersectionObserver=="function",animationFrame:s=!1}=l,c=Ie(t),f=a||i?[...c?me(c):[],...me(o)]:[];f.forEach(b=>{a&&b.addEventListener("scroll",n,{passive:!0}),i&&b.addEventListener("resize",n)});const u=c&&d?zo(c,n):null;let m=-1,h=null;r&&(h=new ResizeObserver(b=>{let[w]=b;w&&w.target===c&&h&&(h.unobserve(o),cancelAnimationFrame(m),m=requestAnimationFrame(()=>{var k;(k=h)==null||k.observe(o)})),n()}),c&&!s&&h.observe(c),h.observe(o));let g,y=s?Z(t):null;s&&p();function p(){const b=Z(t);y&&!Et(y,b)&&n(),y=b,g=requestAnimationFrame(p)}return n(),()=>{var b;f.forEach(w=>{a&&w.removeEventListener("scroll",n),i&&w.removeEventListener("resize",n)}),u?.(),(b=h)==null||b.disconnect(),h=null,s&&cancelAnimationFrame(g)}}const ve=uo,xe=mo,$e=so,Po=po,Bt=(t,o,n)=>{const l=new Map,a={platform:jo,...n},i={...a.platform,_c:l};return ro(t,o,{...a,platform:i})};function Fo(t){return t!=null&&typeof t=="object"&&"$el"in t}function St(t){if(Fo(t)){const o=t.$el;return je(o)&&Q(o)==="#comment"?null:o}return t}function pe(t){return typeof t=="function"?t():e.unref(t)}function vt(t){return typeof window>"u"?1:(t.ownerDocument.defaultView||window).devicePixelRatio||1}function xt(t,o){const n=vt(t);return Math.round(o*n)/n}function Ue(t,o,n){n===void 0&&(n={});const l=n.whileElementsMounted,a=e.computed(()=>{var V;return(V=pe(n.open))!=null?V:!0}),i=e.computed(()=>pe(n.middleware)),r=e.computed(()=>{var V;return(V=pe(n.placement))!=null?V:"bottom"}),d=e.computed(()=>{var V;return(V=pe(n.strategy))!=null?V:"absolute"}),s=e.computed(()=>{var V;return(V=pe(n.transform))!=null?V:!0}),c=e.computed(()=>St(t.value)),f=e.computed(()=>St(o.value)),u=e.ref(0),m=e.ref(0),h=e.ref(d.value),g=e.ref(r.value),y=e.shallowRef({}),p=e.ref(!1),b=e.computed(()=>{const V={position:h.value,left:"0",top:"0"};if(!f.value)return V;const C=xt(f.value,u.value),S=xt(f.value,m.value);return s.value?{...V,transform:"translate("+C+"px, "+S+"px)",...vt(f.value)>=1.5&&{willChange:"transform"}}:{position:h.value,left:C+"px",top:S+"px"}});let w;function k(){if(c.value==null||f.value==null)return;const V=a.value;Bt(c.value,f.value,{middleware:i.value,placement:r.value,strategy:d.value}).then(C=>{u.value=C.x,m.value=C.y,h.value=C.strategy,g.value=C.placement,y.value=C.middlewareData,p.value=V!==!1})}function E(){typeof w=="function"&&(w(),w=void 0)}function x(){if(E(),l===void 0){k();return}if(c.value!=null&&f.value!=null){w=l(c.value,f.value,k);return}}function T(){a.value||(p.value=!1)}return e.watch([i,r,d,a],k,{flush:"sync"}),e.watch([c,f],x,{flush:"sync"}),e.watch(a,T,{flush:"sync"}),e.getCurrentScope()&&e.onScopeDispose(E),{x:e.shallowReadonly(u),y:e.shallowReadonly(m),strategy:e.shallowReadonly(h),placement:e.shallowReadonly(g),middlewareData:e.shallowReadonly(y),isPositioned:e.shallowReadonly(p),floatingStyles:b,update:k}}const $t=B(e.defineComponent({inheritAttrs:!1,__name:"dot-menu",props:{icon:{}},setup(t){const o=t,n=e.ref(!1),l=e.ref(null),a=e.ref(null),i=e.computed(()=>o.icon??L.DOT_MENU),{floatingStyles:r}=Ue(l,a,{placement:"bottom-end",middleware:[ve(8),$e(),xe({padding:8})],whileElementsMounted:Se}),d=()=>{n.value=!n.value},s=()=>{n.value=!1},c=f=>{const u=f.target;u&&(u.closest(".menu-action")||u.closest('[role="menuitem"]')||u.closest("a"))&&s()};return(f,u)=>{const m=e.resolveComponent("VjButton"),h=e.resolveComponent("VjMenu");return e.openBlock(),e.createElementBlock(e.Fragment,null,[e.createElementVNode("div",{class:e.normalizeClass(["dot-menu-container",f.$attrs.class])},[e.createVNode(m,{ref_key:"buttonRef",ref:l,class:"dot-menu",tertiary:"",icon:i.value,onClick:d},null,8,["icon"]),e.createVNode(e.Transition,{name:"menu"},{default:e.withCtx(()=>[n.value?(e.openBlock(),e.createBlock(h,{key:0,ref_key:"floatingRef",ref:a,style:e.normalizeStyle(e.unref(r)),class:"menu-dropdown",onClose:s,onClickCapture:c},{default:e.withCtx(()=>[e.renderSlot(f.$slots,"default",{},void 0,!0)]),_:3},8,["style"])):e.createCommentVNode("",!0)]),_:3})],2),(e.openBlock(),e.createBlock(e.Teleport,{to:"body"},[n.value?(e.openBlock(),e.createElementBlock("div",{key:0,class:"menu-backdrop",onClick:s})):e.createCommentVNode("",!0)]))],64)}}}),[["__scopeId","data-v-3c400bfd"]]),Lt=B(e.defineComponent({__name:"link-button",props:{label:{},icon:{},to:{},primary:{type:Boolean},secondary:{type:Boolean},tertiary:{type:Boolean},disabled:{type:Boolean}},setup(t){const o=t,n=D.S,l=e.computed(()=>o.primary?"primary":o.secondary?"secondary":o.tertiary?"tertiary":"primary");return(a,i)=>{const r=e.resolveComponent("router-link");return e.openBlock(),e.createBlock(r,{to:t.to,class:e.normalizeClass(["button",l.value]),disabled:t.disabled},{default:e.withCtx(()=>[t.icon?(e.openBlock(),e.createBlock(O,{key:0,icon:t.icon,size:e.unref(n)},null,8,["icon","size"])):e.createCommentVNode("",!0),e.createTextVNode(" "+e.toDisplayString(t.label),1)]),_:1},8,["to","class","disabled"])}}}),[["__scopeId","data-v-bd3cf2f5"]]),Io=["disabled"],Ho={class:"menu-action--icon"},Tt=B(e.defineComponent({__name:"menu-action",props:{label:{},icon:{},disabled:{type:Boolean}},setup(t){const o=D.S;return(n,l)=>(e.openBlock(),e.createElementBlock("button",{class:"menu-action button tertiary",disabled:t.disabled},[e.createElementVNode("span",Ho,[t.icon?(e.openBlock(),e.createBlock(O,{key:0,icon:t.icon,size:e.unref(o)},null,8,["icon","size"])):e.createCommentVNode("",!0)]),e.createElementVNode("span",null,e.toDisplayString(t.label),1)],8,Io))}}),[["__scopeId","data-v-07850995"]]),Uo={},Wo={class:"menu"};function Ko(t,o){return e.openBlock(),e.createElementBlock("div",Wo,[e.renderSlot(t.$slots,"default",{},void 0,!0)])}const Rt=B(Uo,[["render",Ko],["__scopeId","data-v-259fec08"]]),Dt={mounted(t){t.classList.add("compact")},unmounted(t){t.classList.remove("compact")}},Nt=['input:not([disabled]):not([type="hidden"])',"select:not([disabled])","textarea:not([disabled])","button:not([disabled])","a[href]",'[tabindex]:not([tabindex="-1"])','[contenteditable="true"]'].join(", ");function Xo(t){const o=t.querySelectorAll(Nt);for(const n of Array.from(o))if(n.offsetParent!==null||n.getClientRects().length>0)return n;return null}const At={mounted(t,o){const n=typeof o.value=="number"?o.value:0,l=()=>{if(t.matches(Nt)){t.focus();return}const a=Xo(t);a&&a.focus()};n>0?setTimeout(l,n):requestAnimationFrame(l)}};class We{static _instance=null;observer=null;targets=new Map;constructor(){this.init()}static get instance(){return this._instance||(this._instance=new We),this._instance}init(){typeof window<"u"&&"ResizeObserver"in window?this.observer=new ResizeObserver(o=>{for(const n of o)this.handleEntry(n)}):typeof window<"u"&&globalThis.addEventListener("resize",this.handleWindowResize)}handleWindowResize=()=>{for(const o of this.targets.keys()){const n=o.getBoundingClientRect(),l={target:o,contentRect:n};this.handleEntry(l)}};handleEntry(o){const n=this.targets.get(o.target);if(!n)return;const l=o.contentRect.width,a=o.contentRect.height,i=o.target;for(const r of n.callbacks)try{r(l,a,i)}catch(d){console.error("resize callback error",d)}if(n.breakpoints){const r=Object.keys(n.breakpoints).map(s=>Number(s)).filter(s=>!Number.isNaN(s)).sort((s,c)=>s-c);let d;for(const s of r)l>=s&&(d=n.breakpoints[s]);d!==n.currentClass&&(n.currentClass&&o.target.classList.remove(n.currentClass),d&&o.target.classList.add(d),n.currentClass=d)}}observe(o,n,l){const a=this.targets.get(o);if(a)n&&a.callbacks.add(n),l?.breakpoints&&(a.breakpoints=l.breakpoints);else{const i=new Set;n&&i.add(n),this.targets.set(o,{callbacks:i,breakpoints:l?.breakpoints}),this.observer&&this.observer.observe(o)}if(l?.immediate){const i=o.getBoundingClientRect(),r={target:o,contentRect:i};if(this.handleEntry(r),n){const d=i.width,s=i.height;n(d,s,o)}}}unobserve(o,n){const l=this.targets.get(o);l&&(n&&l.callbacks.delete(n),(!n||l.callbacks.size===0)&&(this.targets.delete(o),this.observer&&this.observer.unobserve(o),l.currentClass&&o.classList&&o.classList.remove(l.currentClass)))}}const ae=We.instance,Mt={mounted(t,o){const n=o.value,l=typeof n=="function"?n:n?.onResize,a=typeof n=="object"&&n?.breakpoints?n.breakpoints:void 0,i=typeof n=="object"&&!!n?.immediate,r=t;r.__resize_cb=l,r.__resize_breakpoints=a,l&&ae.observe(t,l,{breakpoints:a,immediate:i})},updated(t,o){const n=t,l=n.__resize_cb,a=n.__resize_breakpoints,i=o.value,r=typeof i=="function"?i:i?.onResize,d=typeof i=="object"&&i?.breakpoints?i.breakpoints:void 0;if(l!==r){l&&ae.unobserve(t,l),r&&ae.observe(t,r,{breakpoints:d,immediate:!!(i&&typeof i=="object"&&i.immediate)}),n.__resize_cb=r,n.__resize_breakpoints=d;return}JSON.stringify(a||{})!==JSON.stringify(d||{})&&(l&&ae.unobserve(t,l),r&&ae.observe(t,r,{breakpoints:d,immediate:!0}),n.__resize_breakpoints=d)},unmounted(t){const o=t,n=o.__resize_cb;n&&ae.unobserve(t,n),delete o.__resize_cb,delete o.__resize_breakpoints}},qo={},Go={class:"spinner"};function Yo(t,o){return e.openBlock(),e.createElementBlock("div",Go)}const Ke=B(qo,[["render",Yo],["__scopeId","data-v-b957fb82"]]),Jo=200,Qo=120;function Ot(t,o){const n=o.querySelector(".vj-loading-inner");if(!n)return;const l=t.clientHeight||t.getBoundingClientRect().height;n.classList.remove("vj-loading-inner--small","vj-loading-inner--minimal");const a=n.querySelector(".vj-loading-text");a&&a.classList.remove("vj-loading-text--hidden"),l<=Qo?(n.classList.add("vj-loading-inner--minimal"),a&&a.classList.add("vj-loading-text--hidden")):l<=Jo&&n.classList.add("vj-loading-inner--small")}const jt={mounted(t,o){let n,l;if(typeof o.value=="object"&&o.value!==null){const m=o.value;n=!!(m.active??!0),l=m.text}else n=!!o.value,l=void 0;const a=getComputedStyle(t),i={overlay:document.createElement("div")};(a.position==="static"||!a.position)&&(i.originalPosition=t.style.position,t.style.position="relative");const r=i.overlay;r.className="vj-loading-overlay",n||r.classList.add("vj-loading-overlay--hidden");const d=document.createElement("div"),s=document.createElement("div");s.className="vj-loading-inner",s.appendChild(d);let c;l&&(c=document.createElement("div"),c.className="vj-loading-text",c.textContent=l,s.appendChild(c)),r.appendChild(s),Ot(t,r);const f=e.createVNode(Ke);e.render(f,d),i.spinnerVnode=f,i.spinnerContainer=d,n&&(t.setAttribute("aria-busy","true"),t.style.pointerEvents="none"),t.appendChild(r);const u=t;u.__vjLoading=i},updated(t,o){const l=t.__vjLoading;if(!l)return;const{overlay:a}=l;let i,r;if(typeof o.value=="object"&&o.value!==null){const s=o.value;i=!!(s.active??!0),r=s.text}else i=!!o.value,r=void 0;i?(a.classList.remove("vj-loading-overlay--hidden"),t.setAttribute("aria-busy","true"),t.style.pointerEvents="none"):(a.classList.add("vj-loading-overlay--hidden"),t.removeAttribute("aria-busy"),t.style.pointerEvents="");const d=a.querySelector(".vj-loading-inner");if(d){const s=d.querySelector(".vj-loading-text");if(s)r?s.textContent=r:s.remove();else if(r){const c=document.createElement("div");c.className="vj-loading-text",c.textContent=r,d.appendChild(c)}}Ot(t,a)},unmounted(t){const o=t,n=o.__vjLoading;if(!n)return;const{overlay:l,originalPosition:a}=n;try{n.spinnerContainer&&e.render(null,n.spinnerContainer)}catch{}l&&l.parentElement===t&&t.removeChild(l),a!==void 0&&(t.style.position=a),o.__vjLoading=void 0}},Zo=t=>{const o=document.createElement("div");return o.className="vj-tooltip",o.setAttribute("role","tooltip"),o.style.position="absolute",o.style.top="0",o.style.left="0",o.style.pointerEvents="none",o.style.zIndex="10000",o.textContent=t,o};function zt(t){if(!t)return{content:"",placement:"top",delay:200};if(typeof t.value=="string")return{content:t.value,placement:"top",delay:200};const n=t.value||{},l=n.placement??"top";return{content:n.content??"",placement:l,delay:n.delay??200}}const Xe={mounted(t,o){const n=zt(o),l=Zo(n.content);document.body.appendChild(l);const a={tooltip:l,cleanup:void 0,showTimer:null,hideTimer:null},i=async()=>{const h=await Bt(t,l,{placement:n.placement,middleware:[ve(6),$e(),xe({padding:8})]}),{x:g,y}=h;Object.assign(l.style,{left:`${g}px`,top:`${y}px`})},r=()=>{a.hideTimer&&window.clearTimeout(a.hideTimer),a.showTimer=window.setTimeout(()=>{l.classList.add("vj-tooltip--visible"),i(),a.cleanup=Se(t,l,i)},n.delay)},d=()=>{a.showTimer&&window.clearTimeout(a.showTimer),a.hideTimer=window.setTimeout(()=>{if(l.classList.remove("vj-tooltip--visible"),a.cleanup){try{a.cleanup()}catch{}a.cleanup=void 0}},50)},s=h=>{r()},c=h=>{d()},f=()=>r(),u=()=>d(),m=h=>{h.pointerType==="touch"&&(r(),a.docHandler=g=>{!l.contains(g.target)&&!t.contains(g.target)&&(d(),document.removeEventListener("pointerdown",a.docHandler),a.docHandler=void 0)},document.addEventListener("pointerdown",a.docHandler))};t.addEventListener("pointerenter",s),t.addEventListener("pointerleave",c),t.addEventListener("focus",f),t.addEventListener("blur",u),t.addEventListener("pointerdown",m),a.onPointerEnter=s,a.onPointerLeave=c,a.onFocus=f,a.onBlur=u,a.onPointerDown=m,t.__vjTooltip=a},updated(t,o){const n=t.__vjTooltip;if(!n)return;const l=zt(o);n.tooltip.textContent=l.content},unmounted(t){const o=t.__vjTooltip;if(o){try{o.cleanup&&o.cleanup()}catch{}o.tooltip&&o.tooltip.parentElement&&o.tooltip.parentElement.removeChild(o.tooltip),o.onPointerEnter&&t.removeEventListener("pointerenter",o.onPointerEnter),o.onPointerLeave&&t.removeEventListener("pointerleave",o.onPointerLeave),o.onFocus&&t.removeEventListener("focus",o.onFocus),o.onBlur&&t.removeEventListener("blur",o.onBlur),o.onPointerDown&&t.removeEventListener("pointerdown",o.onPointerDown),o.docHandler&&document.removeEventListener("pointerdown",o.docHandler),t.__vjTooltip=void 0}}},el={class:"notification__icon"},tl={class:"notification__message"},nl={class:"notification__title"},ol={class:"notification__text"},Le=B(e.defineComponent({__name:"notification",props:{type:{},title:{},message:{}},emits:["close"],setup(t,{emit:o}){const n=t,l=o,a=e.computed(()=>{switch(n.type){case"success":return L.CHECK;case"warning":return L.WARNING;case"error":return L.ERROR;default:return L.INFO}}),i=()=>{l("close")};return(r,d)=>(e.openBlock(),e.createElementBlock("div",{class:e.normalizeClass(["notification",`notification--${t.type}`]),onClick:i},[e.createElementVNode("div",el,[e.createVNode(O,{icon:a.value},null,8,["icon"])]),e.createElementVNode("div",tl,[e.createElementVNode("div",nl,e.toDisplayString(t.title),1),e.createElementVNode("div",ol,e.toDisplayString(t.message),1)]),e.createVNode(ce,{class:"notification__close compact",icon:e.unref(L).CLOSE,onClick:e.withModifiers(i,["stop"]),tertiary:""},null,8,["icon"])],2))}}),[["__scopeId","data-v-ca4451c0"]]),ll={class:"page"},al={class:"header-left"},il={class:"header-titles"},rl={key:0},sl={class:"header-actions"},cl={key:0,class:"page-error"},dl={key:1,class:"contents"},fl={key:2,class:"actions"},ul={key:3},ml={key:0},Pt=B(e.defineComponent({directives:{loading:jt},__name:"page",props:{title:{},subTitle:{},backLabel:{},scrollable:{type:Boolean},errorMessage:{},flow:{},loadingMessage:{}},emits:["back"],setup(t,{emit:o}){const n=t,l=e.computed(()=>n.flow?.running?.value??!1),a=e.computed(()=>n.flow?.error?.value??null),i=e.computed(()=>n.errorMessage??(a.value?String(a.value):null));return(r,d)=>{const s=e.resolveComponent("VjButton"),c=e.resolveDirective("loading");return e.withDirectives((e.openBlock(),e.createElementBlock("div",ll,[e.createElementVNode("header",null,[e.createElementVNode("div",al,[t.backLabel?(e.openBlock(),e.createBlock(s,{key:0,tertiary:"",icon:e.unref(L).BACK,onClick:d[0]||(d[0]=f=>r.$emit("back")),size:"small"},null,8,["icon"])):e.createCommentVNode("",!0),e.createElementVNode("div",il,[e.createElementVNode("h1",null,e.toDisplayString(t.title),1),t.subTitle?(e.openBlock(),e.createElementBlock("h2",rl,e.toDisplayString(t.subTitle),1)):e.createCommentVNode("",!0)])]),e.createElementVNode("div",sl,[e.renderSlot(r.$slots,"headerActions",{},void 0,!0)])]),e.createElementVNode("main",{class:e.normalizeClass({scrollable:t.scrollable})},[i.value?(e.openBlock(),e.createElementBlock("div",cl,[e.renderSlot(r.$slots,"error",{},()=>[e.createVNode(Le,{type:"error",title:i.value,message:i.value},null,8,["title","message"])],!0)])):e.createCommentVNode("",!0),i.value?e.createCommentVNode("",!0):(e.openBlock(),e.createElementBlock("div",dl,[e.renderSlot(r.$slots,"default",{},void 0,!0)])),i.value?e.createCommentVNode("",!0):(e.openBlock(),e.createElementBlock("div",fl,[e.renderSlot(r.$slots,"actions",{},void 0,!0)])),r.$slots.flexFooter?(e.openBlock(),e.createElementBlock("footer",ul,[e.renderSlot(r.$slots,"flexFooter",{},void 0,!0)])):e.createCommentVNode("",!0)],2),r.$slots.footer?(e.openBlock(),e.createElementBlock("footer",ml,[e.renderSlot(r.$slots,"footer",{},void 0,!0)])):e.createCommentVNode("",!0)])),[[c,{active:l.value,text:n.loadingMessage}]])}}}),[["__scopeId","data-v-3e724555"]]),pl={class:"paginator-info","aria-live":"polite"},Ft=B(e.defineComponent({__name:"paginator",props:e.mergeModels({totalItems:{},pageSize:{},labels:{}},{modelValue:{required:!0},modelModifiers:{}}),emits:e.mergeModels(["change"],["update:modelValue"]),setup(t,{emit:o}){const n=t,l=e.useModel(t,"modelValue"),a=o,i=e.computed(()=>Math.max(1,Math.ceil((n.totalItems??0)/n.pageSize))),r=e.computed(()=>Math.min(Math.max(1,l.value??1),i.value)),d=e.computed(()=>r.value),s=e.computed(()=>r.value<=1),c=e.computed(()=>r.value>=i.value),f=e.computed(()=>n.labels?.item??"Eintrag"),u=e.computed(()=>n.labels?.of??"von"),m=b=>{const w=Math.min(Math.max(1,Math.floor(b)),i.value);w!==l.value&&(l.value=w,a("change",w))},h=()=>m(1),g=()=>m(r.value-1),y=()=>m(r.value+1),p=()=>m(i.value);return e.watch([()=>n.totalItems,()=>n.pageSize],()=>{l.value>i.value&&m(i.value)}),(b,w)=>{const k=e.resolveComponent("VjButton");return e.openBlock(),e.createElementBlock("nav",{class:"paginator","aria-label":"Pagination",onKeydown:w[0]||(w[0]=e.withKeys(e.withModifiers(()=>{},["prevent"]),["enter"]))},[e.createVNode(k,{tertiary:"",class:"paginator-btn",icon:e.unref(L).FIRST,disabled:s.value,onClick:h,"aria-label":"First page"},null,8,["icon","disabled"]),e.createVNode(k,{tertiary:"",class:"paginator-btn",icon:e.unref(L).PREVIOUS,disabled:s.value,onClick:g,"aria-label":"Previous page"},null,8,["icon","disabled"]),e.renderSlot(b.$slots,"info",{current:r.value,totalPages:i.value,goTo:m},()=>[e.createElementVNode("div",pl,e.toDisplayString(f.value)+" "+e.toDisplayString(d.value)+" "+e.toDisplayString(u.value)+" "+e.toDisplayString(i.value),1)],!0),e.createVNode(k,{tertiary:"",class:"paginator-btn",icon:e.unref(L).NEXT,disabled:c.value,onClick:y,"aria-label":"Next page"},null,8,["icon","disabled"]),e.createVNode(k,{tertiary:"",class:"paginator-btn",icon:e.unref(L).LAST,disabled:c.value,onClick:p,"aria-label":"Last page"},null,8,["icon","disabled"])],32)}}}),[["__scopeId","data-v-b6fa8efe"]]),hl={class:"search-field"},gl=["value","placeholder"],It=B(e.defineComponent({__name:"search-field",props:e.mergeModels({placeholder:{default:"Search..."}},{modelValue:{},modelModifiers:{}}),emits:["update:modelValue"],setup(t){const o=e.useModel(t,"modelValue"),n=i=>{o.value=i.target.value},l=()=>{o.value=""},a=e.computed(()=>!o.value);return(i,r)=>{const d=e.resolveComponent("VjIcon");return e.openBlock(),e.createElementBlock("div",hl,[e.createVNode(d,{icon:e.unref(L).SEARCH,size:e.unref(D).S},null,8,["icon","size"]),e.createElementVNode("input",{value:o.value,onInput:n,type:"text",placeholder:t.placeholder},null,40,gl),e.createVNode(d,{class:e.normalizeClass(["reset",{invisible:a.value}]),icon:e.unref(L).CLOSE,size:e.unref(D).S,onClick:l},null,8,["class","icon","size"])])}}}),[["__scopeId","data-v-2771c8ed"]]),Ht=B(e.defineComponent({__name:"separator",props:{vertical:{type:Boolean}},setup(t){return(o,n)=>(e.openBlock(),e.createElementBlock("div",{class:e.normalizeClass(["separator",{vertical:t.vertical}])},null,2))}}),[["__scopeId","data-v-e354bb4e"]]),bl={key:0,class:"tab"},Ut=e.defineComponent({__name:"tab",props:{name:{},label:{}},setup(t){const o=t,n=e.inject("tabView"),l=e.computed(()=>n?.activeTab()===o.name);return e.onMounted(()=>{n?.registerTab(o.name,o.label)}),(a,i)=>l.value?(e.openBlock(),e.createElementBlock("div",bl,[e.renderSlot(a.$slots,"default")])):e.createCommentVNode("",!0)}}),yl={class:"tab-view"},kl={ref:"headerRef",class:"tab-view-header"},wl=["onClick"],_l={class:"tab-view-content"},Wt=B(e.defineComponent({__name:"tab-view",props:{modelValue:{},modelModifiers:{}},emits:["update:modelValue"],setup(t){const o=e.useModel(t,"modelValue"),n=e.ref([]),l=e.ref([]),a=e.ref({width:"0px",transform:"translateX(0px)"}),i=(c,f)=>{c&&(l.value[f]=c)},r=()=>{const c=n.value.findIndex(f=>f.name===o.value);if(c>=0&&l.value[c]){const f=l.value[c],u=f.offsetWidth,m=f.offsetLeft;a.value={width:`${u}px`,transform:`translateX(${m}px)`}}},d=(c,f)=>{n.value.find(u=>u.name===c)||(n.value.push({name:c,label:f}),e.nextTick(()=>{!o.value&&n.value.length===1&&(o.value=c),r()}))},s=c=>{o.value=c};return e.watch(o,()=>{e.nextTick(()=>{r()})}),e.provide("tabView",{activeTab:()=>o.value,registerTab:d}),(c,f)=>(e.openBlock(),e.createElementBlock("div",yl,[e.createElementVNode("div",kl,[(e.openBlock(!0),e.createElementBlock(e.Fragment,null,e.renderList(n.value,(u,m)=>(e.openBlock(),e.createElementBlock("div",{key:u.name,ref_for:!0,ref:h=>i(h,m),class:e.normalizeClass(["tab-button",{active:o.value===u.name}]),onClick:h=>s(u.name)},e.toDisplayString(u.label),11,wl))),128)),f[0]||(f[0]=e.createElementVNode("div",{class:"tab-line"},null,-1)),e.createElementVNode("div",{class:"tab-indicator",style:e.normalizeStyle(a.value)},null,4)],512),e.createElementVNode("div",_l,[e.renderSlot(c.$slots,"default",{},void 0,!0)])]))}}),[["__scopeId","data-v-3d4ee454"]]),Vl=["width","height","role","tabindex","aria-label","onKeydown"],Cl=["cx","cy","r","stroke-width"],El=["cx","cy","r","stroke-width","stroke-dasharray","stroke-dashoffset"],Bl=["transform"],Sl=["x","y","width","height","rx"],vl=["x","y","width","height","rx"],Kt=B(e.defineComponent({__name:"timer",props:{duration:{default:5e3},action:{type:Function,default:void 0},pausable:{type:Boolean,default:!1},paused:{type:Boolean,default:!1},timerSize:{default:"m"}},emits:["update:paused"],setup(t,{emit:o}){const n={s:{size:24,strokeWidth:1,innerStrokeWidth:2},m:{size:32,strokeWidth:1,innerStrokeWidth:4},l:{size:40,strokeWidth:2,innerStrokeWidth:6},xl:{size:64,strokeWidth:2,innerStrokeWidth:8},xxl:{size:92,strokeWidth:2,innerStrokeWidth:10}},l=t,a=o,i=e.computed(()=>n[l.timerSize].size),r=e.computed(()=>n[l.timerSize].strokeWidth),d=e.computed(()=>n[l.timerSize].innerStrokeWidth),s=e.ref(!1),c=e.ref(100),f=e.ref(!1),u=e.ref(l.paused);let m=null,h=null,g=0;const y=e.computed(()=>(i.value-Math.max(r.value,d.value))/2),p=e.computed(()=>2*Math.PI*y.value),b=e.computed(()=>p.value*(1-c.value/100));e.watch(()=>l.paused,$=>{u.value=$,$?V():C()}),e.onMounted(()=>{k()}),e.onUnmounted(()=>{S()});function w(){l.pausable&&(u.value=!u.value,a("update:paused",u.value))}function k(){u.value||(h=performance.now()-g,E())}function E(){if(!h||u.value)return;g=performance.now()-h;const R=Math.max(0,l.duration-g),P=R/l.duration*100;c.value=P,R>0?m=requestAnimationFrame(E):x()}async function x(){if(!l.action){T();return}s.value=!0;try{await l.action()}catch($){console.error("Timer action failed:",$)}finally{s.value=!1,T()}}function T(){f.value=!0,g=0,requestAnimationFrame(()=>{c.value=100,requestAnimationFrame(()=>{f.value=!1,k()})})}function V(){m!==null&&(cancelAnimationFrame(m),m=null)}function C(){m===null&&!s.value&&k()}function S(){m!==null&&(cancelAnimationFrame(m),m=null)}return($,R)=>(e.openBlock(),e.createElementBlock("svg",{width:i.value,height:i.value,class:e.normalizeClass(["vj-timer",{"vj-timer--executing":s.value,"vj-timer--resetting":f.value,"vj-timer--pausable":t.pausable,"vj-timer--paused":u.value}]),role:t.pausable?"button":void 0,tabindex:t.pausable?0:void 0,"aria-label":t.pausable?u.value?"Resume timer":"Pause timer":void 0,onClick:w,onKeydown:[e.withKeys(e.withModifiers(w,["prevent"]),["space"]),e.withKeys(w,["enter"])]},[e.createElementVNode("circle",{cx:i.value/2,cy:i.value/2,r:y.value,"stroke-width":r.value,class:"vj-timer__outer-ring",fill:"none"},null,8,Cl),e.createElementVNode("circle",{cx:i.value/2,cy:i.value/2,r:y.value,"stroke-width":d.value,"stroke-dasharray":p.value,"stroke-dashoffset":b.value,class:"vj-timer__progress-ring",fill:"none"},null,8,El),u.value?(e.openBlock(),e.createElementBlock("g",{key:0,class:"vj-timer__pause-icon",transform:`translate(${i.value/2},${i.value/2}) rotate(-90) scale(-1, 1)`},[e.createElementVNode("rect",{x:-i.value*.12,y:-i.value*.15,width:i.value*.08,height:i.value*.3,rx:i.value*.015,class:"vj-timer__pause-bar"},null,8,Sl),e.createElementVNode("rect",{x:i.value*.04,y:-i.value*.15,width:i.value*.08,height:i.value*.3,rx:i.value*.015,class:"vj-timer__pause-bar"},null,8,vl)],8,Bl)):e.createCommentVNode("",!0)],42,Vl))}}),[["__scopeId","data-v-49a33853"]]),xl=["onKeydown"],$l=B(e.defineComponent({__name:"editable-label",props:{modelValue:{},showIcon:{type:Boolean}},emits:["update:modelValue","edit"],setup(t,{emit:o}){const n=t,l=o,a=e.computed(()=>n.modelValue??""),i=e.ref(a.value),r=e.ref(!1),d=e.ref(!1),s=e.ref(null),c=e.computed(()=>!!n.showIcon);e.watch(a,h=>{i.value=h});function f(){r.value=!0,e.nextTick(()=>s.value?.focus())}function u(){r.value=!1,i.value!==a.value&&(l("update:modelValue",i.value),l("edit",i.value))}function m(){i.value=a.value,r.value=!1}return(h,g)=>(e.openBlock(),e.createElementBlock("span",{class:e.normalizeClass(["vj-editable-label",{editing:r.value}]),onMouseenter:g[1]||(g[1]=y=>d.value=!0),onMouseleave:g[2]||(g[2]=y=>d.value=!1)},[r.value?e.withDirectives((e.openBlock(),e.createElementBlock("input",{key:1,ref_key:"inputRef",ref:s,class:"edit-input","onUpdate:modelValue":g[0]||(g[0]=y=>i.value=y),onKeydown:[e.withKeys(e.withModifiers(u,["prevent"]),["enter"]),e.withKeys(e.withModifiers(m,["prevent"]),["esc"])],onBlur:u},null,40,xl)),[[e.vModelText,i.value]]):(e.openBlock(),e.createElementBlock(e.Fragment,{key:0},[e.createElementVNode("span",{class:"label-text",onClick:f,title:"Click to edit"},e.toDisplayString(a.value),1),d.value||c.value?(e.openBlock(),e.createElementBlock("span",{key:0,class:"edit-icon",onClick:e.withModifiers(f,["stop"])},[e.createVNode(O,{icon:e.unref(L).EDIT},null,8,["icon"])])):e.createCommentVNode("",!0)],64))],34))}}),[["__scopeId","data-v-cdc52c5b"]]),Ll="200% 200%",Xt=B(e.defineComponent({__name:"skeleton",props:{width:{},height:{},borderRadius:{}},setup(t){const o=t,n=e.computed(()=>o.width??"100%"),l=e.computed(()=>o.height??"16px"),a=e.computed(()=>o.borderRadius??"4px");return(i,r)=>(e.openBlock(),e.createElementBlock("div",{class:"vj-skeleton",style:e.normalizeStyle({width:n.value,height:l.value,borderRadius:a.value,backgroundSize:Ll}),"aria-hidden":"true"},null,4))}}),[["__scopeId","data-v-ac05e016"]]),qt=B(e.defineComponent({__name:"amount-bar",props:{amount:{},maxAmount:{},segments:{},colorMode:{default:"monochrome"}},setup(t){const o=t,n=e.computed(()=>o.amount/o.maxAmount*100),l=i=>{if(!o.segments)return!1;const r=100/o.segments,d=i*r;return n.value>d},a=i=>(160-i/(o.segments-1||1)*160).toString();return(i,r)=>(e.openBlock(),e.createElementBlock("div",{class:e.normalizeClass(["amount-bar",{"amount-bar--segmented":t.segments,"amount-bar--hue-gradient":t.segments&&t.colorMode==="hue-gradient","amount-bar--monochrome":t.segments&&t.colorMode==="monochrome"}])},[t.segments?(e.openBlock(!0),e.createElementBlock(e.Fragment,{key:0},e.renderList(Array.from({length:t.segments}),(d,s)=>(e.openBlock(),e.createElementBlock("div",{key:s,class:e.normalizeClass(["amount-bar__segment",{"amount-bar__segment--filled":l(s)}]),style:e.normalizeStyle(l(s)&&t.colorMode==="hue-gradient"?{backgroundColor:`hsl(${a(s)}, 100%, 45%)`}:{})},null,6))),128)):(e.openBlock(),e.createElementBlock("div",{key:1,class:"amount-bar__fill",style:e.normalizeStyle({width:`${t.amount/t.maxAmount*100}%`})},null,4))],2))}}),[["__scopeId","data-v-7e89d03f"]]),Tl=["multiple","accept","disabled"],Rl={class:"upload-text"},Dl={class:"upload-title"},Nl={class:"upload-subtitle"},Al={key:0,class:"upload-files"},Ml={class:"file-info"},Ol={class:"file-details"},jl={class:"file-name"},zl={class:"file-size"},Gt=B(e.defineComponent({__name:"upload",props:e.mergeModels({multiple:{type:Boolean,default:!0},accept:{default:"*"},disabled:{type:Boolean,default:!1},uploadText:{default:"Drag and drop files here"},dropText:{default:"Drop files here"},browseText:{default:"Browse Files"},subtitleText:{default:"or click to select files"},maxSize:{default:1/0}},{modelValue:{default:[]},modelModifiers:{}}),emits:e.mergeModels(["update:modelValue","file-added","file-removed"],["update:modelValue"]),setup(t,{emit:o}){const n=t,l=o,a=e.useModel(t,"modelValue"),i=e.ref(),r=e.ref(!1),d=e.ref(!1),s=y=>{const p=y.target,b=Array.from(p.files||[]);m(b),i.value&&(i.value.value="")},c=()=>{n.disabled||(r.value=!0,d.value=!0)},f=()=>{r.value=!1,d.value=!1},u=y=>{if(n.disabled)return;r.value=!1,d.value=!1;const p=Array.from(y.dataTransfer?.files||[]);m(p)},m=y=>{const p=y.filter(b=>!(b.size>n.maxSize));n.multiple?a.value=[...a.value,...p]:a.value=p.slice(0,1),p.forEach(b=>{l("file-added",b)})},h=y=>{const p=a.value[y];a.value.splice(y,1),l("file-removed",p)},g=y=>{if(y===0)return"0 Bytes";const p=1024,b=["Bytes","KB","MB","GB"],w=Math.floor(Math.log(y)/Math.log(p));return Math.round(y/Math.pow(p,w)*100)/100+" "+b[w]};return(y,p)=>(e.openBlock(),e.createElementBlock("div",{class:e.normalizeClass(["upload",{dragging:r.value,disabled:t.disabled}])},[e.createElementVNode("input",{ref_key:"fileInput",ref:i,type:"file",multiple:t.multiple,accept:t.accept,disabled:t.disabled,class:"upload-input",onChange:s,onDragover:c,onDragleave:f,onDrop:u},null,40,Tl),e.createElementVNode("div",{class:"upload-content",onClick:p[1]||(p[1]=b=>i.value?.click()),onDragover:e.withModifiers(c,["prevent"]),onDragleave:e.withModifiers(f,["prevent"]),onDrop:e.withModifiers(u,["prevent"])},[e.createVNode(O,{icon:e.unref(L).UPLOAD,size:e.unref(D).L,class:"upload-icon"},null,8,["icon","size"]),e.createElementVNode("div",Rl,[e.createElementVNode("p",Dl,e.toDisplayString(d.value?t.dropText:t.uploadText),1),e.createElementVNode("p",Nl,e.toDisplayString(t.subtitleText),1)]),e.createVNode(ce,{label:t.browseText,primary:!0,disabled:t.disabled,onClick:p[0]||(p[0]=e.withModifiers(b=>i.value?.click(),["stop"]))},null,8,["label","disabled"])],32),a.value.length>0?(e.openBlock(),e.createElementBlock("div",Al,[(e.openBlock(!0),e.createElementBlock(e.Fragment,null,e.renderList(a.value,(b,w)=>(e.openBlock(),e.createElementBlock("div",{key:w,class:"upload-file-item"},[e.createElementVNode("div",Ml,[e.createVNode(O,{icon:e.unref(L).ATTACHMENT,size:e.unref(D).S},null,8,["icon","size"]),e.createElementVNode("div",Ol,[e.createElementVNode("p",jl,e.toDisplayString(b.name),1),e.createElementVNode("p",zl,e.toDisplayString(g(b.size)),1)])]),t.disabled?e.createCommentVNode("",!0):(e.openBlock(),e.createBlock(O,{key:0,icon:e.unref(L).CLOSE,size:e.unref(D).S,class:"remove-icon",onClick:k=>h(w)},null,8,["icon","size","onClick"]))]))),128))])):e.createCommentVNode("",!0)],2))}}),[["__scopeId","data-v-2f7be5e5"]]),Yt={form:{labelPosition:"inline",appearance:"bordered"}};let Te={};function Pl(t){Te={...Te,...t,form:{...Yt.form,...t.form}}}function qe(){return{form:{...Yt.form,...Te.form}}}function Fl(){Te={}}const Il=["data-colspan","data-newline"],Hl=["for"],Ul={class:"form-field__wrapper"},Wl=["for"],Kl={key:1,class:"form-field__error"},Xl={key:2,class:"form-field__help",type:"button","aria-label":"Hilfe"},ie=B(e.defineComponent({directives:{tooltip:Xe},__name:"form-field",props:{modelValue:{},label:{},id:{},placeholder:{},disabled:{type:Boolean},colspan:{},newLine:{type:Boolean},spanRow:{type:Boolean},error:{},helpText:{},labelPosition:{},appearance:{}},emits:["update:modelValue","focus","blur"],setup(t,{emit:o}){const n=t,l=o,a=e.ref(n.modelValue),i=e.ref(!1),r=e.computed(()=>`form-field-${n.id??Math.random().toString(36).slice(2)}`),d=e.computed(()=>n.labelPosition??qe().form.labelPosition),s=e.computed(()=>n.appearance??qe().form.appearance);e.watch(()=>n.modelValue,g=>a.value=g);const c=e.computed(()=>{if(d.value==="outline")return!0;const g=a.value!==""&&a.value!==null&&a.value!==void 0;return i.value||g}),f=e.computed(()=>d.value==="outline"||c.value?n.placeholder:"");function u(g){const p=g.target.value;a.value=p,l("update:modelValue",p)}function m(g){i.value=!0,l("focus",g)}function h(g){i.value=!1,l("blur",g)}return(g,y)=>{const p=e.resolveComponent("VjIcon"),b=e.resolveDirective("tooltip");return e.openBlock(),e.createElementBlock("div",{class:e.normalizeClass(["form-field",`form-field--${d.value}`,`form-field--${s.value}`,{disabled:t.disabled},{labelless:!t.label},{error:!!t.error}]),"data-colspan":n.spanRow?void 0:n.colspan,"data-newline":n.spanRow||n.newLine?"true":void 0,style:e.normalizeStyle(n.spanRow?{gridColumn:"1 / -1"}:void 0)},[t.label&&d.value==="outline"?(e.openBlock(),e.createElementBlock("label",{key:0,for:r.value,class:"form-field__label-outline"},e.toDisplayString(t.label),9,Hl)):e.createCommentVNode("",!0),e.createElementVNode("div",Ul,[e.renderSlot(g.$slots,"control",{id:r.value,value:a.value,onInput:u,onFocus:m,onBlur:h,disabled:t.disabled,placeholder:f.value},void 0,!0),t.label&&d.value==="inline"?(e.openBlock(),e.createElementBlock("label",{key:0,for:r.value,class:e.normalizeClass(["form-field__label",{"form-field__label--float":c.value}])},e.toDisplayString(t.label),11,Wl)):e.createCommentVNode("",!0)]),t.error?(e.openBlock(),e.createElementBlock("div",Kl,e.toDisplayString(t.error),1)):e.createCommentVNode("",!0),n.helpText?e.withDirectives((e.openBlock(),e.createElementBlock("button",Xl,[e.createVNode(p,{icon:e.unref(L).HELP},null,8,["icon"])])),[[b,n.helpText]]):e.createCommentVNode("",!0)],14,Il)}}}),[["__scopeId","data-v-19959d5e"]]),Jt=B(e.defineComponent({__name:"form-layout",props:{columns:{type:Number,default:4},gap:{type:String,default:"0.75rem"}},setup(t){const o=t,n=e.ref(null);let l=null;function a(){if(!n.value)return;Array.from(n.value.children).forEach(r=>{const d=r.getAttribute("data-colspan"),s=d?Math.max(1,Number(d)||1):1,c=r.getAttribute("data-newline");c!==null&&c!=="false"?r.style.gridColumn="1 / -1":r.style.gridColumn=`span ${s}`})}return e.onMounted(()=>{e.nextTick(()=>{a(),n.value&&(l=new MutationObserver(()=>a()),l.observe(n.value,{childList:!0,subtree:!1,attributes:!0,attributeFilter:["data-colspan","data-newline"]}))})}),e.onBeforeUnmount(()=>{l?.disconnect()}),e.watch(()=>o.columns,()=>e.nextTick(a)),e.watch(()=>o.gap,()=>e.nextTick(a)),(i,r)=>(e.openBlock(),e.createElementBlock("div",{ref_key:"container",ref:n,class:"form-layout",style:e.normalizeStyle({gridTemplateColumns:`repeat(${t.columns}, minmax(0, 1fr))`,gap:t.gap})},[e.renderSlot(i.$slots,"default",{},void 0,!0)],4))}}),[["__scopeId","data-v-96f62ab7"]]),ql={key:0,class:"form-section__title","data-newline":""},Qt=B(e.defineComponent({__name:"form-section",props:{title:{}},setup(t){return(o,n)=>(e.openBlock(),e.createElementBlock(e.Fragment,null,[t.title?(e.openBlock(),e.createElementBlock("h3",ql,e.toDisplayString(t.title),1)):e.createCommentVNode("",!0),e.renderSlot(o.$slots,"default",{},void 0,!0)],64))}}),[["__scopeId","data-v-69cff1d0"]]),Gl=["id","disabled"],Yl={class:"select-value"},Jl={key:1,class:"select-placeholder"},Ql={class:"select-options"},Zl=["onClick","onMouseenter"],Ge=B(e.defineComponent({inheritAttrs:!1,__name:"select",props:e.mergeModels({options:{},placeholder:{},disabled:{type:Boolean},optionLabel:{type:Function},id:{},optionValue:{type:Function},icon:{},clearable:{type:Boolean}},{modelValue:{},modelModifiers:{}}),emits:["update:modelValue"],setup(t,{expose:o}){const n=t,l=e.useModel(t,"modelValue"),a=e.ref(!1),i=e.ref(-1),r=e.ref(null),d=e.ref(null),s=e.ref(null),{floatingStyles:c}=Ue(d,s,{placement:"bottom-start",middleware:[ve(4),$e(),xe({padding:8}),Po({apply({rects:k,elements:E}){Object.assign(E.floating.style,{minWidth:`${k.reference.width}px`})}})],whileElementsMounted:Se}),f=k=>n.optionLabel?typeof n.optionLabel=="function"?n.optionLabel(k):String(k[n.optionLabel]):String(k),u=k=>n.optionValue?typeof n.optionValue=="function"?n.optionValue(k):k[n.optionValue]:k,m=e.computed(()=>n.options.find(k=>u(k)===l.value)),h=k=>u(k)===l.value,g=()=>{n.disabled||(a.value=!a.value)},y=()=>{a.value=!1,i.value=-1},p=k=>{l.value=u(k),y()},b=()=>{l.value=void 0},w=k=>{a.value&&r.value&&!r.value.contains(k.target)&&y()};return e.onMounted(()=>{document.addEventListener("click",w)}),e.onBeforeUnmount(()=>{document.removeEventListener("click",w)}),e.watch(a,k=>{k&&m.value&&(i.value=n.options.findIndex(E=>h(E)))}),o({focus:()=>d.value?.focus(),blur:()=>d.value?.blur()}),(k,E)=>{const x=e.resolveComponent("VjIcon");return e.openBlock(),e.createElementBlock(e.Fragment,null,[e.createElementVNode("div",{ref_key:"selectRef",ref:r,class:e.normalizeClass(["select",k.$attrs.class])},[e.createElementVNode("button",{ref_key:"buttonRef",ref:d,type:"button",class:"select-trigger",id:n.id,onClick:g,disabled:t.disabled},[n.icon?(e.openBlock(),e.createBlock(x,{key:0,icon:n.icon,size:e.unref(D).S,class:"select-icon-left"},null,8,["icon","size"])):e.createCommentVNode("",!0),e.createElementVNode("span",Yl,[m.value?e.renderSlot(k.$slots,"selected",{key:0,option:m.value},()=>[e.createTextVNode(e.toDisplayString(f(m.value)),1)],!0):(e.openBlock(),e.createElementBlock("span",Jl,e.toDisplayString(t.placeholder),1))]),n.clearable&&m.value&&!t.disabled?(e.openBlock(),e.createBlock(x,{key:1,icon:e.unref(L).CLOSE,size:e.unref(D).S,class:"select-clear-icon",onClick:e.withModifiers(b,["stop"])},null,8,["icon","size"])):e.createCommentVNode("",!0),e.createVNode(x,{icon:e.unref(L).CHEVRON_DOWN,size:e.unref(D).S,class:e.normalizeClass(["select-icon-right",{open:a.value}])},null,8,["icon","size","class"])],8,Gl),e.createVNode(e.Transition,{name:"dropdown"},{default:e.withCtx(()=>[a.value?(e.openBlock(),e.createElementBlock("div",{key:0,ref_key:"floatingRef",ref:s,style:e.normalizeStyle(e.unref(c)),class:"select-dropdown"},[e.createElementVNode("div",Ql,[(e.openBlock(!0),e.createElementBlock(e.Fragment,null,e.renderList(t.options,(T,V)=>(e.openBlock(),e.createElementBlock("div",{key:String(u(T)),class:e.normalizeClass(["select-option",{selected:h(T),highlighted:i.value===V}]),onClick:C=>p(T),onMouseenter:C=>i.value=V},[e.renderSlot(k.$slots,"option",{option:T,selected:h(T)},()=>[e.createTextVNode(e.toDisplayString(f(T)),1)],!0)],42,Zl))),128))])],4)):e.createCommentVNode("",!0)]),_:3})],2),(e.openBlock(),e.createBlock(e.Teleport,{to:"body"},[a.value?(e.openBlock(),e.createElementBlock("div",{key:0,class:"select-backdrop",onClick:y})):e.createCommentVNode("",!0)]))],64)}}}),[["__scopeId","data-v-fc22f0e9"]]),Zt=e.defineComponent({__name:"input-select",props:{modelValue:{},label:{},id:{},placeholder:{},disabled:{type:Boolean},colspan:{},newLine:{type:Boolean},spanRow:{type:Boolean},error:{},helpText:{},labelPosition:{},appearance:{},options:{}},emits:["update:modelValue","input","focus","blur"],setup(t,{emit:o}){const n=t,l=o,a=e.ref(n.modelValue);e.watch(()=>n.modelValue,r=>{a.value=r});const i=r=>{a.value=r,l("update:modelValue",r)};return(r,d)=>(e.openBlock(),e.createBlock(ie,{modelValue:a.value,"onUpdate:modelValue":i,label:n.label,id:n.id,placeholder:n.placeholder,disabled:n.disabled,colspan:n.colspan,newLine:n.newLine,spanRow:n.spanRow,error:n.error,helpText:n.helpText,labelPosition:n.labelPosition,appearance:n.appearance},{control:e.withCtx(({id:s,disabled:c,placeholder:f})=>[e.createVNode(Ge,{id:s,modelValue:a.value,"onUpdate:modelValue":[d[0]||(d[0]=u=>a.value=u),i],options:n.options,placeholder:f,disabled:c,"option-label":u=>u.label,"option-value":u=>u.value,clearable:""},e.createSlots({_:2},[r.$slots.selected?{name:"selected",fn:e.withCtx(({option:u})=>[e.renderSlot(r.$slots,"selected",{option:u})]),key:"0"}:void 0,r.$slots.option?{name:"option",fn:e.withCtx(({option:u})=>[e.renderSlot(r.$slots,"option",{option:u})]),key:"1"}:void 0]),1032,["id","modelValue","options","placeholder","disabled","option-label","option-value"])]),_:3},8,["modelValue","label","id","placeholder","disabled","colspan","newLine","spanRow","error","helpText","labelPosition","appearance"]))}}),ea=["aria-valuemin","aria-valuemax","aria-valuenow","aria-label"],ta=["aria-valuemin","aria-valuemax","aria-valuenow"],na=B(e.defineComponent({__name:"slider",props:{modelValue:{default:void 0},min:{default:0},max:{default:100},step:{default:1},range:{type:Boolean,default:!1}},emits:["update:modelValue","change"],setup(t,{emit:o}){const n=t,l=o,a=e.ref(null),i=e.ref(!1),r=e.ref(!1),d=(V,C,S)=>Math.min(Math.max(V,C),S),s=e.ref(n.range?Array.isArray(n.modelValue)?n.modelValue[0]:n.min:typeof n.modelValue=="number"?n.modelValue:n.min),c=e.ref(n.range&&Array.isArray(n.modelValue)?n.modelValue[1]:n.max);e.watch(()=>n.modelValue,V=>{n.range?Array.isArray(V)&&(s.value=d(V[0],n.min,n.max),c.value=d(V[1],n.min,n.max)):typeof V=="number"&&(s.value=d(V,n.min,n.max))},{immediate:!0});const f=V=>(V-n.min)/(n.max-n.min)*100,u=e.computed(()=>({left:`${f(s.value)}%`})),m=e.computed(()=>({left:`${f(c.value)}%`})),h=e.computed(()=>{if(!n.range)return{width:`${f(s.value)}%`,left:"0%"};const V=f(s.value),C=f(c.value);return{left:`${V}%`,width:`${Math.max(0,C-V)}%`}});let g=null,y=null;const p=async(V,C)=>{g=V,y=C.pointerId,V==="low"?i.value=!0:r.value=!0;try{C.target.setPointerCapture(C.pointerId)}catch{}window.addEventListener("pointermove",w),window.addEventListener("pointerup",b)},b=V=>{if(y!=null&&V)try{V.target.releasePointerCapture(V.pointerId)}catch{}g=null,y=null,i.value=!1,r.value=!1,window.removeEventListener("pointermove",w),window.removeEventListener("pointerup",b),x()},w=V=>{if(!g||!a.value)return;const C=a.value.getBoundingClientRect(),S=d(V.clientX-C.left,0,C.width),$=n.min+S/C.width*(n.max-n.min),R=Math.round($/n.step)*n.step;g==="low"?n.range?s.value=Math.min(R,c.value):s.value=d(R,n.min,n.max):g==="high"&&(c.value=Math.max(R,s.value))},k=V=>{if(!a.value)return;const C=a.value.getBoundingClientRect(),S=d(V.clientX-C.left,0,C.width),$=n.min+S/C.width*(n.max-n.min),R=Math.round($/n.step)*n.step;if(n.range){const P=Math.abs(R-s.value),q=Math.abs(R-c.value);P<=q?s.value=Math.min(R,c.value):c.value=Math.max(R,s.value)}else s.value=d(R,n.min,n.max);x()},E=(V,C)=>{const S=n.step,$=C.key==="ArrowLeft"||C.key==="ArrowDown"?-1:C.key==="ArrowRight"||C.key==="ArrowUp"?1:0;if($){if(V==="low"){const R=d(s.value+$*S,n.min,n.range?c.value:n.max);s.value=R,i.value=!0,setTimeout(()=>i.value=!1,800)}else{const R=d(c.value+$*S,n.range?s.value:n.max,n.max);c.value=R,r.value=!0,setTimeout(()=>r.value=!1,800)}x()}},x=()=>{n.range?(l("update:modelValue",[s.value,c.value]),l("change",[s.value,c.value])):(l("update:modelValue",s.value),l("change",s.value))};e.onBeforeUnmount(()=>{window.removeEventListener("pointermove",w),window.removeEventListener("pointerup",b)}),e.watch([()=>n.min,()=>n.max],()=>{s.value=d(s.value,n.min,n.max),c.value=d(c.value,n.min,n.max)});const T=e.computed(()=>n.range);return e.nextTick(()=>{n.modelValue===void 0&&(n.range?l("update:modelValue",[s.value,c.value]):l("update:modelValue",s.value))}),(V,C)=>(e.openBlock(),e.createElementBlock("div",{class:"vj-slider",onPointerdown:C[8]||(C[8]=e.withModifiers(()=>{},["stop"]))},[e.createElementVNode("div",{class:"track",ref_key:"track",ref:a,onClick:k},[e.createElementVNode("div",{class:"range",style:e.normalizeStyle(h.value)},null,4),i.value?(e.openBlock(),e.createElementBlock("div",{key:0,class:"tooltip",style:e.normalizeStyle({left:u.value.left})},e.toDisplayString(s.value),5)):e.createCommentVNode("",!0),e.createElementVNode("button",{class:"handle low",style:e.normalizeStyle(u.value),"aria-valuemin":t.min,"aria-valuemax":t.max,"aria-valuenow":s.value,"aria-label":T.value?"Lower value":"Value",onPointerdown:C[0]||(C[0]=e.withModifiers(S=>p("low",S),["prevent"])),onFocus:C[1]||(C[1]=S=>i.value=!0),onBlur:C[2]||(C[2]=S=>i.value=!1),onKeydown:C[3]||(C[3]=e.withModifiers(S=>E("low",S),["stop","prevent"])),role:"slider",tabindex:"0"},null,44,ea),T.value&&r.value?(e.openBlock(),e.createElementBlock("div",{key:1,class:"tooltip",style:e.normalizeStyle({left:m.value.left})},e.toDisplayString(c.value),5)):e.createCommentVNode("",!0),T.value?(e.openBlock(),e.createElementBlock("button",{key:2,class:"handle high",style:e.normalizeStyle(m.value),"aria-valuemin":t.min,"aria-valuemax":t.max,"aria-valuenow":c.value,"aria-label":"Upper value",onPointerdown:C[4]||(C[4]=e.withModifiers(S=>p("high",S),["prevent"])),onFocus:C[5]||(C[5]=S=>r.value=!0),onBlur:C[6]||(C[6]=S=>r.value=!1),onKeydown:C[7]||(C[7]=e.withModifiers(S=>E("high",S),["stop","prevent"])),role:"slider",tabindex:"0"},null,44,ta)):e.createCommentVNode("",!0)],512)],32))}}),[["__scopeId","data-v-d47c7475"]]),oa=["onFocusin","onFocusout"],en=B(e.defineComponent({__name:"input-slider",props:{modelValue:{},label:{},id:{},placeholder:{},disabled:{type:Boolean},colspan:{},newLine:{type:Boolean},spanRow:{type:Boolean},error:{},helpText:{},labelPosition:{},appearance:{},min:{},max:{},step:{}},emits:["update:modelValue","input","focus","blur"],setup(t,{emit:o}){const n=t,l=o,a=n.modelValue===void 0?0:Number(n.modelValue),i=e.ref(Number.isNaN(a)?0:a),r=d=>{const s=typeof d=="number"?d:Number(d??0);i.value=Number.isNaN(s)?0:s,l("update:modelValue",i.value),l("input",i.value)};return(d,s)=>(e.openBlock(),e.createBlock(ie,{modelValue:i.value,"onUpdate:modelValue":r,label:n.label,id:n.id,placeholder:" ",disabled:n.disabled,colspan:n.colspan,newLine:n.newLine,spanRow:n.spanRow,error:n.error},{control:e.withCtx(({id:c,disabled:f,placeholder:u,onFocus:m,onBlur:h})=>[e.createElementVNode("div",{class:"input-slider__control",onFocusin:m,onFocusout:h},[e.createVNode(na,{id:c,modelValue:i.value,"onUpdate:modelValue":s[0]||(s[0]=g=>i.value=g),min:n.min,max:n.max,step:n.step,range:!1,disabled:f},null,8,["id","modelValue","min","max","step","disabled"])],40,oa)]),_:1},8,["modelValue","label","id","disabled","colspan","newLine","spanRow","error"]))}}),[["__scopeId","data-v-051e6d17"]]),la={class:"textarea"},aa=["value","placeholder","disabled","rows"],Ye=B(e.defineComponent({__name:"textarea",props:e.mergeModels({icon:{},placeholder:{},disabled:{type:Boolean},clearable:{type:Boolean},rows:{}},{modelValue:{},modelModifiers:{}}),emits:e.mergeModels(["focus","blur"],["update:modelValue"]),setup(t,{emit:o}){const n=o,l=e.useModel(t,"modelValue"),a=c=>{l.value=c.target.value},i=()=>{l.value=""},r=c=>{n("focus",c)},d=c=>{n("blur",c)},s=e.computed(()=>!l.value);return(c,f)=>{const u=e.resolveComponent("VjIcon");return e.openBlock(),e.createElementBlock("div",la,[t.icon?(e.openBlock(),e.createBlock(u,{key:0,icon:t.icon,size:e.unref(D).S,class:"textarea-icon"},null,8,["icon","size"])):e.createCommentVNode("",!0),e.createElementVNode("textarea",{value:l.value,onInput:a,onFocus:r,onBlur:d,placeholder:t.placeholder,disabled:t.disabled,rows:t.rows},null,40,aa),t.clearable&&!t.disabled?(e.openBlock(),e.createBlock(u,{key:1,class:e.normalizeClass(["clear-icon",{invisible:s.value}]),icon:e.unref(L).CLOSE,size:e.unref(D).S,onClick:i},null,8,["class","icon","size"])):e.createCommentVNode("",!0)])}}}),[["__scopeId","data-v-2ea43716"]]),tn=e.defineComponent({__name:"input-text-area",props:{modelValue:{},label:{},id:{},placeholder:{},disabled:{type:Boolean},colspan:{},newLine:{type:Boolean},spanRow:{type:Boolean},error:{},helpText:{},labelPosition:{},appearance:{},rows:{}},emits:["update:modelValue","input","focus","blur"],setup(t,{emit:o}){const n=t,l=o,a=f=>l("update:modelValue",f),i=f=>l("input",f),r=f=>l("focus",f),d=f=>l("blur",f),s=f=>{a(f??"")},c=e.computed(()=>{const f=n.modelValue;return f==null?"":String(f)});return(f,u)=>(e.openBlock(),e.createBlock(ie,{modelValue:n.modelValue,"onUpdate:modelValue":a,onInput:i,onFocus:r,onBlur:d,label:n.label,id:n.id,placeholder:n.placeholder,disabled:n.disabled,colspan:n.colspan,newLine:n.newLine,spanRow:n.spanRow,labelPosition:n.labelPosition,error:n.error,helpText:n.helpText,appearance:n.appearance},{control:e.withCtx(({id:m,disabled:h,placeholder:g,onFocus:y,onBlur:p})=>[e.createVNode(Ye,{id:m,modelValue:c.value,"onUpdate:modelValue":s,onFocus:b=>{y(b),r(b)},onBlur:b=>{p(b),d(b)},placeholder:g,disabled:h,rows:n.rows,clearable:""},null,8,["id","modelValue","onFocus","onBlur","placeholder","disabled","rows"])]),_:1},8,["modelValue","label","id","placeholder","disabled","colspan","newLine","spanRow","labelPosition","error","helpText","appearance"]))}}),ia={class:"input"},ra=["value","type","placeholder","disabled"],Je=B(e.defineComponent({__name:"input",props:e.mergeModels({icon:{},type:{},placeholder:{},disabled:{type:Boolean},clearable:{type:Boolean}},{modelValue:{},modelModifiers:{}}),emits:e.mergeModels(["focus","blur"],["update:modelValue"]),setup(t,{emit:o}){const n=o,l=e.useModel(t,"modelValue"),a=c=>{l.value=c.target.value},i=()=>{l.value=""},r=c=>{n("focus",c)},d=c=>{n("blur",c)},s=e.computed(()=>!l.value);return(c,f)=>{const u=e.resolveComponent("VjIcon");return e.openBlock(),e.createElementBlock("div",ia,[t.icon?(e.openBlock(),e.createBlock(u,{key:0,icon:t.icon,size:e.unref(D).S},null,8,["icon","size"])):e.createCommentVNode("",!0),e.createElementVNode("input",{value:l.value,onInput:a,onFocus:r,onBlur:d,type:t.type,placeholder:t.placeholder,disabled:t.disabled},null,40,ra),t.clearable&&!t.disabled?(e.openBlock(),e.createBlock(u,{key:1,class:e.normalizeClass(["clear-icon",{invisible:s.value}]),icon:e.unref(L).CLOSE,size:e.unref(D).S,onClick:i},null,8,["class","icon","size"])):e.createCommentVNode("",!0)])}}}),[["__scopeId","data-v-3187d49c"]]),nn=e.defineComponent({__name:"input-text",props:{modelValue:{},label:{},id:{},placeholder:{},disabled:{type:Boolean},colspan:{},newLine:{type:Boolean},spanRow:{type:Boolean},error:{},helpText:{},labelPosition:{},appearance:{},type:{}},emits:["update:modelValue","input","focus","blur"],setup(t,{emit:o}){const n=t,l=o,a=c=>l("update:modelValue",c),i=c=>l("input",c),r=c=>l("focus",c),d=c=>l("blur",c),s=c=>{a(c??"")};return(c,f)=>(e.openBlock(),e.createBlock(ie,{modelValue:t.modelValue,"onUpdate:modelValue":a,onInput:i,onFocus:r,onBlur:d,label:t.label,id:t.id,placeholder:t.placeholder,disabled:t.disabled,colspan:t.colspan,newLine:t.newLine,spanRow:t.spanRow,error:t.error,helpText:n.helpText,labelPosition:t.labelPosition,appearance:t.appearance},{control:e.withCtx(({id:u,disabled:m,placeholder:h,onFocus:g,onBlur:y})=>[e.createVNode(Je,{id:u,modelValue:t.modelValue,type:t.type,"onUpdate:modelValue":s,onFocus:p=>{g(p),r(p)},onBlur:p=>{y(p),d(p)},placeholder:h,disabled:m,clearable:""},null,8,["id","modelValue","type","onFocus","onBlur","placeholder","disabled"])]),_:1},8,["modelValue","label","id","placeholder","disabled","colspan","newLine","spanRow","error","helpText","labelPosition","appearance"]))}}),sa={class:"shell-navigation-item"},ca={class:"shell-navigation-item-label"},da={key:1,class:"shell-navigation-item-link"},fa=["aria-expanded"],ua={class:"shell-navigation-item-label"},on=B(e.defineComponent({__name:"shell-navigation-item",props:{label:{},icon:{},to:{}},setup(t){const o=e.useSlots(),n=e.computed(()=>!!o.default),l=e.ref(!1),a=e.ref(null),i=e.ref(null),{floatingStyles:r}=Ue(a,i,{placement:"right-start",middleware:[ve(8),$e(),xe({padding:8})],whileElementsMounted:Se}),d=m=>{n.value&&(l.value=!l.value)},s=()=>{l.value=!1},c=m=>{s()},f=m=>{(m.key==="Escape"||m.key==="Esc")&&s()},u=m=>{const h=m.target;h&&(a.value&&a.value.contains(h)||i.value&&i.value.contains(h)||s())};return e.watch(l,m=>{m?(window.addEventListener("keydown",f),window.addEventListener("pointerdown",u)):(window.removeEventListener("keydown",f),window.removeEventListener("pointerdown",u))}),e.onBeforeUnmount(()=>{window.removeEventListener("keydown",f),window.removeEventListener("pointerdown",u)}),(m,h)=>{const g=e.resolveComponent("VjIcon"),y=e.resolveComponent("RouterLink"),p=e.resolveComponent("VjMenu");return e.openBlock(),e.createElementBlock("li",sa,[t.to?(e.openBlock(),e.createBlock(y,{key:0,to:t.to,class:"shell-navigation-item-link"},{default:e.withCtx(()=>[e.createVNode(g,{icon:t.icon,class:"shell-navigation-item-icon"},null,8,["icon"]),e.createElementVNode("label",ca,e.toDisplayString(t.label),1)]),_:1},8,["to"])):(e.openBlock(),e.createElementBlock("div",da,[e.createElementVNode("button",{ref_key:"buttonRef",ref:a,class:"shell-navigation-item-button",onClick:e.withModifiers(d,["stop"]),"aria-expanded":l.value,type:"button"},[e.createVNode(g,{icon:t.icon,class:"shell-navigation-item-icon"},null,8,["icon"]),e.createElementVNode("label",ua,e.toDisplayString(t.label),1)],8,fa),e.createVNode(e.Transition,{name:"menu"},{default:e.withCtx(()=>[l.value?(e.openBlock(),e.createBlock(p,{key:0,ref_key:"floatingRef",ref:i,style:e.normalizeStyle(e.unref(r)),class:"shell-navigation-item-menu",onClose:s,onClick:e.withModifiers(c,["stop"])},{default:e.withCtx(()=>[e.renderSlot(m.$slots,"default",{},void 0,!0)]),_:3},8,["style"])):e.createCommentVNode("",!0)]),_:3}),(e.openBlock(),e.createBlock(e.Teleport,{to:"body"},[l.value?(e.openBlock(),e.createElementBlock("div",{key:0,class:"menu-backdrop",onClick:s})):e.createCommentVNode("",!0)]))]))])}}}),[["__scopeId","data-v-3a50d1c2"]]),ma={class:"navigation-top"},pa={key:0,class:"navigation-bottom"},Qe=B(e.defineComponent({__name:"shell-navigation",setup(t){const o=e.inject(rn,sn()),n=e.computed(()=>o.showLabels);return(l,a)=>{const i=e.resolveComponent("VjShellNavigationItem");return e.openBlock(),e.createElementBlock("nav",{class:e.normalizeClass(["shell-navigation",{"with-labels":n.value}])},[e.createElementVNode("ul",ma,[e.unref(o).hasParent&&e.unref(o).backRoute.value?(e.openBlock(),e.createBlock(i,{key:0,to:e.unref(o).backRoute.value,label:"BACK",icon:e.unref(L).HOME},null,8,["to","icon"])):e.createCommentVNode("",!0),(e.openBlock(!0),e.createElementBlock(e.Fragment,null,e.renderList(e.unref(o).childRoutes.value,r=>(e.openBlock(),e.createBlock(i,{key:r.name,to:{name:r.name},label:r.meta.label,icon:r.meta.icon??e.unref(L).HOME},null,8,["to","label","icon"]))),128))]),l.$slots.fixed?(e.openBlock(),e.createElementBlock("ul",pa,[e.renderSlot(l.$slots,"fixed",{},void 0,!0)])):e.createCommentVNode("",!0)],2)}}}),[["__scopeId","data-v-306cfc22"]]),ha={class:"shell"},ga={class:"shell-title"},ba=["src"],ya={class:"header-actions"},ln=B(e.defineComponent({__name:"shell",props:{title:{},icon:{},showNavigation:{type:Boolean}},setup(t){const o=dn(),n=e.toRef(o,"asideComponent"),l=e.toRef(o,"hasAside"),a=e.toRef(o,"asideData"),i=e.computed(()=>{const r=a.value;return r&&typeof r=="object"?r:{}});return(r,d)=>{const s=e.resolveComponent("router-view");return e.openBlock(),e.createElementBlock("div",ha,[e.createElementVNode("header",null,[e.createElementVNode("span",ga,[t.icon?(e.openBlock(),e.createElementBlock("img",{key:0,src:t.icon,alt:"Shell Icon"},null,8,ba)):e.createCommentVNode("",!0),e.createElementVNode("h1",null,e.toDisplayString(t.title),1)]),e.createElementVNode("div",ya,[e.renderSlot(r.$slots,"header-actions",{},void 0,!0)])]),e.createElementVNode("div",{class:e.normalizeClass(["shell-content",{"with-navigation":t.showNavigation}])},[t.showNavigation?(e.openBlock(),e.createBlock(e.unref(Qe),{key:0},e.createSlots({_:2},[r.$slots?.["navigation-fixed"]?{name:"fixed",fn:e.withCtx(()=>[e.renderSlot(r.$slots,"navigation-fixed",{},void 0,!0)]),key:"0"}:void 0]),1024)):e.createCommentVNode("",!0),e.createElementVNode("main",null,[e.renderSlot(r.$slots,"default",{},()=>[e.createVNode(s)],!0)]),e.createElementVNode("aside",{class:e.normalizeClass({"aside-visible":l.value})},[(e.openBlock(),e.createBlock(e.resolveDynamicComponent(n.value),e.normalizeProps(e.guardReactiveProps(i.value)),null,16))],2)],2),d[0]||(d[0]=e.createElementVNode("footer",null,null,-1))])}}}),[["__scopeId","data-v-4dfd0097"]]);class ka{notifications=e.ref([]);notificationIdCounter=0;getNotifications(){return this.notifications}show(o,n,l,a){const i=`notification-${++this.notificationIdCounter}-${Date.now()}`,r=o==="error"?void 0:a??5e3,d={id:i,type:o,title:n,message:l,duration:r};return this.notifications.value.unshift(d),r&&setTimeout(()=>{this.remove(i)},r),i}info(o,n,l){return this.show("info",o,n,l)}warning(o,n,l){return this.show("warning",o,n,l)}error(o,n){return this.show("error",o,n)}success(o,n,l){return this.show("success",o,n,l)}remove(o){const n=this.notifications.value.findIndex(l=>l.id===o);n!==-1&&this.notifications.value.splice(n,1)}clearAll(){this.notifications.value=[]}}const Ze=new ka,wa={class:"notifications"},an=B(e.defineComponent({__name:"notifications",setup(t){const o=Ze.getNotifications(),n=l=>Ze.remove(l);return(l,a)=>(e.openBlock(),e.createBlock(e.Teleport,{to:"body"},[e.createElementVNode("div",wa,[e.createVNode(e.TransitionGroup,{name:"notification"},{default:e.withCtx(()=>[(e.openBlock(!0),e.createElementBlock(e.Fragment,null,e.renderList(e.unref(o),i=>(e.openBlock(),e.createBlock(Le,{key:i.id,type:i.type,title:i.title,message:i.message,onClose:r=>n(i.id)},null,8,["type","title","message","onClose"]))),128))]),_:1})])]))}}),[["__scopeId","data-v-543c499f"]]),rn="navigationProvider";function _a(t){return!!t.meta&&"icon"in t.meta&&"label"in t.meta}const sn=()=>{const t=ot.useRouter(),o=ot.useRoute(),n=!0,l=e.computed(()=>{const f=t.getRoutes();return f.filter(u=>u.path!=="/"&&!f.some(m=>m.children?.some(h=>h.name===u.name)))}),a=e.computed(()=>{const f=o.matched;return f.length?f[f.length-1]:null}),i=e.computed(()=>{const f=o.matched;return f.length>1?f[f.length-2]:null}),r=e.computed(()=>!!(a.value?.children?.length||i.value)),d=e.computed(()=>a.value?.children?.length?a.value:i.value?.children?.length?i.value:null),s=e.computed(()=>{if(!d.value)return null;const u=t.getRoutes().find(m=>m.children?.some(h=>h.name===d.value.name));return u?{name:u.name}:{path:"/"}}),c=e.computed(()=>{let f=[];return o.path==="/"?f=l.value:a.value?.children?.length?f=a.value.children:i.value?.children?.length?f=i.value.children:f=l.value,f.filter(_a)});return{hasParent:r,backRoute:s,childRoutes:c,showLabels:n}},Va=(t,o=!0,n=void 0)=>{const l=e.isRef(t)?t:e.ref(t),a=!!n,i=e.ref(n||null);return{hasParent:a,backRoute:i,childRoutes:l,showLabels:o}},et=e.ref(!1),tt=e.ref(null),nt=e.ref(null);let re=[];const cn=t=>(re.push(t),()=>{re=re.filter(o=>o!==t)}),Ca=(t,o)=>(re=[],tt.value=t,nt.value=o??null,et.value=!0,{onClose:n=>cn(n)}),Ea=t=>{try{re.forEach(o=>{try{o(t)}catch(n){console.error("aside onClose callback error",n)}})}finally{et.value=!1,setTimeout(Ba,1e3)}},Ba=()=>{re=[],tt.value=null,nt.value=null},Sa={asideComponent:tt,asideData:nt,showAside:Ca,closeAside:Ea,onAsideClose:cn,hasAside:et},dn=()=>Sa,va=(t,o)=>{let n=null;return(...a)=>{n&&clearTimeout(n),n=setTimeout(()=>{t(...a)},o)}};class xa{containerElement=null;apps=[];mainApp=null;init(o){this.mainApp=o}ensureContainer(){return this.containerElement||(this.containerElement=document.createElement("div"),this.containerElement.id="vj-dialog-container",document.body.appendChild(this.containerElement)),this.containerElement}inheritAppContext(o){this.mainApp&&(Object.assign(o.config.globalProperties,this.mainApp.config.globalProperties),Object.assign(o._context.provides,this.mainApp._context.provides),Object.assign(o._context.components,this.mainApp._context.components),Object.assign(o._context.directives,this.mainApp._context.directives),Object.assign(o.config.compilerOptions,this.mainApp.config.compilerOptions),o.config.errorHandler=this.mainApp.config.errorHandler,o.config.warnHandler=this.mainApp.config.warnHandler,o.config.performance=this.mainApp.config.performance,o.config.optionMergeStrategies=this.mainApp.config.optionMergeStrategies,o._context.mixins.push(...this.mainApp._context.mixins))}open(o){return new Promise(n=>{const l=this.ensureContainer(),a=document.createElement("div");l.appendChild(a);let i=!1;const r=()=>{i||(i=!0,setTimeout(()=>{const s=this.apps.find(c=>c.element===a);s&&(s.app.unmount(),this.apps=this.apps.filter(c=>c!==s)),a.remove()},300))},d=e.createApp({setup(){return()=>e.h(be,{modelValue:!0,title:o.title,message:o.message,component:o.component,componentProps:o.componentProps,showFooter:o.showFooter??!0,showCancel:o.showCancel??!0,confirmText:o.confirmText,cancelText:o.cancelText,closeOnBackdrop:o.closeOnBackdrop??!1,closeOnEscape:o.closeOnEscape??!0,onConfirm:()=>{n(!0),r()},onCancel:()=>{n(!1),r()},onResolve:s=>{n(s),r()},onClose:()=>{i||n(!1),r()}})}});this.inheritAppContext(d),d.component("VjCard",ge),d.component("VjIcon",O),d.component("VjButton",ce),d.mount(a),this.apps.push({app:d,element:a})})}confirm(o){return this.open({title:o.title,message:o.message,showFooter:!0,showCancel:!0,confirmText:o.confirmText??"OK",cancelText:o.cancelText??"Abbrechen"})}alert(o,n){return this.open({title:o,message:n,showFooter:!0,showCancel:!1,confirmText:"OK"})}closeAll(){this.apps.forEach(({app:o,element:n})=>{o.unmount(),n.remove()}),this.apps=[]}}const fn=new xa;function $a(){return fn}function La(){const t=e.inject(Ae,null);if(!t)throw new Error("useDialogController must be used inside a dialog component.");return t}const Ta=()=>{const t=e.ref(!1),o=e.ref(null),n=()=>{o.value=null};class l{inner;defaultValue;handlers=[];constructor(r,d){this.inner=r,this.defaultValue=d}onError(r){return this.handlers.push(r),this}async exec(){o.value=null,t.value=!0;try{return await this.inner()}catch(r){o.value=r;for(const d of this.handlers)try{d(r)}catch(s){console.error("onError handler failed",s)}if(this.defaultValue!==void 0)return this.defaultValue;throw r}finally{t.value=!1}}then(r,d){return this.exec().then(r,d)}}function a(i,r){return new l(i,r)}return{run:a,running:t,error:o,clearError:n}},Ra={install(t){t.component("VjAmountBar",qt),t.component("VjButton",ce),t.component("VjButtonBar",lt),t.component("VjCard",ge),t.component("VjChip",De),t.component("VjChipGroup",Ne),t.component("VjChipSelector",it),t.component("VjCarousel",ge),t.component("VjCheckbox",at),t.component("VjDotMenu",$t),t.component("VjDialog",be),t.component("VjIcon",O),t.component("VjLinkButton",Lt),t.component("VjMenu",Rt),t.component("VjMenuAction",Tt),t.component("VjPage",Pt),t.component("VjPaginator",Ft),t.component("VjTab",Ut),t.component("VjTabView",Wt),t.component("VjTimer",Kt),t.component("VjSkeleton",Xt),t.component("VjSpinner",Ke),t.component("VjNotifications",an),t.component("VjNotification",Le),t.component("VjUpload",Gt),t.component("VjInput",Je),t.component("VjSelect",Ge),t.component("VjTextArea",Ye),t.component("VjFormField",ie),t.component("VjFormLayout",Jt),t.component("VjFormSection",Qt),t.component("VjInputText",nn),t.component("VjInputTextArea",tn),t.component("VjInputSelect",Zt),t.component("VjInputSlider",en),t.component("VjShellNavigation",Qe),t.component("VjShellNavigationItem",on),t.component("VjShell",ln),t.component("VjSearchField",It),t.component("VjSeparator",Ht),t.directive("focus",At),t.directive("resize",Mt),t.directive("compact",Dt),t.directive("tooltip",Xe)}};_.AmountBar=qt,_.Button=ce,_.ButtonBar=lt,_.Card=ge,_.Carousel=vn,_.Checkbox=at,_.Chip=De,_.ChipGroup=Ne,_.ChipSelector=it,_.Dialog=be,_.DotMenu=$t,_.EditableLabel=$l,_.FocusFirstDirective=At,_.FormField=ie,_.FormLayout=Jt,_.FormSection=Qt,_.Icon=O,_.IconNames=L,_.IconSize=D,_.Input=Je,_.InputSelect=Zt,_.InputSlider=en,_.InputText=nn,_.InputTextArea=tn,_.LinkButton=Lt,_.LoadingDirective=jt,_.Menu=Rt,_.MenuAction=Tt,_.NotificationComponent=Le,_.Notifications=an,_.Page=Pt,_.Paginator=Ft,_.Radio=Nn,_.ResizeDirective=Mt,_.SearchField=It,_.Select=Ge,_.Separator=Ht,_.Shell=ln,_.ShellNavigation=Qe,_.ShellNavigationItem=on,_.Skeleton=Xt,_.Spinner=Ke,_.Tab=Ut,_.TabView=Wt,_.TextArea=Ye,_.Timer=Kt,_.TooltipDirective=Xe,_.Upload=Gt,_.VjComponents=Ra,_.VjDialogControllerKey=Ae,_.VjNavigationProviderKey=rn,_.compactDirective=Dt,_.configureVueUI=Pl,_.dialogService=fn,_.getVueUIConfig=qe,_.notificationService=Ze,_.resetVueUIConfig=Fl,_.useAsideService=dn,_.useDebounce=va,_.useDialog=$a,_.useDialogController=La,_.useFlow=Ta,_.useRouterNavigationProvider=sn,_.useStaticNavigationProvider=Va,Object.defineProperty(_,Symbol.toStringTag,{value:"Module"})}));