@vanjana/vue-ui 0.1.61 → 0.1.62
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/theme-light.css +1 -1
- package/dist/types/components/chip.vue.d.ts +28 -0
- package/dist/types/components/page.vue.d.ts +3 -0
- package/dist/types/components/spinner.vue.d.ts +3 -0
- package/dist/types/directives/index.d.ts +1 -0
- package/dist/types/directives/loading.directive.d.ts +7 -0
- package/dist/types/services/flow.d.ts +3 -2
- package/dist/types/stories/components/chip.stories.d.ts +37 -0
- package/dist/types/stories/components/page.stories.d.ts +13 -0
- package/dist/types/stories/components/spinner.stories.d.ts +10 -0
- package/dist/types/stories/directives/loading.stories.d.ts +8 -0
- package/dist/vanjana-vue-ui.es.js +972 -898
- package/dist/vanjana-vue-ui.umd.js +1 -1
- package/dist/vue-ui.css +1 -1
- package/package.json +1 -1
- package/themes/common/_components.scss +2 -0
- package/themes/common/components/_chip.scss +24 -0
- package/themes/common/components/_loading-overlay.scss +67 -0
- package/themes/light/theme.scss +10 -0
|
@@ -1 +1 @@
|
|
|
1
|
-
(function(V,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):(V=typeof globalThis<"u"?globalThis:V||self,e(V.VanjanaVueUi={},V.Vue,V.VueRouter))})(this,(function(V,e,He){"use strict";const v=(t,o)=>{const n=t.__vccOpts||t;for(const[l,a]of o)n[l]=a;return n},Zt={},en={class:"button-bar"},tn={class:"left"},nn={class:"right"};function on(t,o){return e.openBlock(),e.createElementBlock("div",en,[e.createElementVNode("div",tn,[e.renderSlot(t.$slots,"left",{},void 0,!0)]),e.createElementVNode("div",nn,[e.renderSlot(t.$slots,"default",{},void 0,!0)])])}const We=v(Zt,[["render",on],["__scopeId","data-v-45a6ed1a"]]);var N=(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.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",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.INFO="fa-regular fa-circle-info",t.WARNING="fa-regular fa-triangle-exclamation",t.ERROR="fa-regular fa-circle-xmark",t.CHECK="fa-regular fa-circle-check",t.LOVE="fa-regular fa-heart",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.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))(N||{}),T=(t=>(t.S="icon-size-s",t.M="icon-size-m",t.L="icon-size-l",t))(T||{});const te=e.defineComponent({__name:"icon",props:{icon:{},size:{}},setup(t){const o=t,n=T.M,l=e.computed(()=>`${o.icon} ${o.size??n}`);return(a,r)=>(e.openBlock(),e.createElementBlock("i",{class:e.normalizeClass(l.value)},null,2))}}),ln=["disabled"],Ee=v(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=T.S,l=e.computed(()=>o.primary?"primary":o.secondary?"secondary":o.tertiary?"tertiary":"primary"),a=e.computed(()=>!o.label&&!!o.icon);return(r,i)=>(e.openBlock(),e.createElementBlock("button",{class:e.normalizeClass(["button",l.value,{"icon-only":a.value}]),disabled:t.disabled},[t.icon?(e.openBlock(),e.createBlock(te,{key:0,icon:t.icon,size:e.unref(n)},null,8,["icon","size"])):e.createCommentVNode("",!0),e.createTextVNode(" "+e.toDisplayString(t.label),1)],10,ln))}}),[["__scopeId","data-v-f31c33cf"]]),an={key:0,class:"header-actions"},rn={key:0},xe=v(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",an,[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",rn,[e.renderSlot(n.$slots,"footer",{},void 0,!0)])):e.createCommentVNode("",!0)],2))}}),[["__scopeId","data-v-ec6ab562"]]),sn={class:"checkbox"},cn=["checked","disabled"],dn={key:0,class:"checkbox-label"},un=v(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,cn),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",dn,e.toDisplayString(t.label),1)):e.createCommentVNode("",!0)]))}}),[["__scopeId","data-v-e2d27ecb"]]),fn=["aria-label"],mn={key:0,class:"carousel-indicators"},Xe=v(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,r=o.pauseOnHover??!0,i=o.startIndex??0,c=o.ariaLabel??"Carousel",s=e.ref(Math.max(0,i)),u=e.ref(null),d=e.ref(null),f=e.ref(0),p=e.ref(0);let m=!1;const h=e.ref(0),w=e.ref(!1);let _=null,k=null;const C=e.ref(null),g=e.ref(null),S=()=>{h.value=u.value?u.value.children.length:0,h.value===0?s.value=0:s.value>=h.value&&(s.value=a?0:h.value-1),R()},x=e.computed(()=>f.value>0?{transform:`translateX(${-s.value*f.value+p.value}px)`}:{transform:`translateX(-${s.value*100}%)`}),R=()=>{u.value&&Array.from(u.value.children).forEach((B,Z)=>{try{Z===s.value?B.removeAttribute("aria-hidden"):B.setAttribute("aria-hidden","true")}catch{}})},b=()=>{y(),!(!n||h.value<=1)&&(r&&w.value||(_=setTimeout(()=>{$(),b()},l)))},y=()=>{_&&(clearTimeout(_),_=null)},E=()=>{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++)},L=B=>{B<0||B>=h.value||(s.value=B)},X=()=>{w.value=!0,r&&y()},K=()=>{w.value=!1,b()},q=B=>{B.key==="ArrowLeft"?E():B.key==="ArrowRight"&&$()};let se=0,z=0;const H=B=>{se=B.touches[0].clientX,z=0},A=B=>{z=B.touches[0].clientX-se},F=()=>{z>50?E():z<-50&&$(),z=0};let Be=0;const qt=B=>{if(B.isPrimary!==!1&&!(B.pointerType==="mouse"&&B.button!==0)){m=!0,Be=B.clientX,p.value=0,y();try{B.target?.setPointerCapture?.(B.pointerId)}catch{}}},Gt=B=>{m&&(p.value=B.clientX-Be,B.preventDefault())},Yt=()=>{if(!m)return;m=!1;const B=Math.max(50,f.value*.15);p.value>B?E():p.value<-B&&$(),p.value=0,b()},Jt=B=>{try{B.target?.releasePointerCapture?.(B.pointerId)}catch{}Yt()},Qt=()=>Yt();return e.onMounted(()=>{e.nextTick(()=>{if(S(),u.value&&(k=new MutationObserver(S),k.observe(u.value,{childList:!0}),u.value.addEventListener("touchstart",H,{passive:!0}),u.value.addEventListener("touchmove",A,{passive:!0}),u.value.addEventListener("touchend",F)),d.value){const B=()=>{f.value=d.value?d.value.clientWidth:0};B();const Z=window.ResizeObserver;if(Z&&d.value){const ee=new Z(()=>B());ee.observe(d.value),C.value=ee}else window.addEventListener("resize",B),g.value=B;d.value&&(d.value.addEventListener("pointerdown",qt),d.value.addEventListener("pointermove",Gt),d.value.addEventListener("pointerup",Jt),d.value.addEventListener("pointercancel",Qt))}R(),b()})}),e.onBeforeUnmount(()=>{y(),k&&u.value&&k.disconnect(),u.value&&(u.value.removeEventListener("touchstart",H),u.value.removeEventListener("touchmove",A),u.value.removeEventListener("touchend",F)),d.value&&(C.value&&C.value.disconnect&&C.value.disconnect(),g.value&&window.removeEventListener("resize",g.value),d.value.removeEventListener("pointerdown",qt),d.value.removeEventListener("pointermove",Gt),d.value.removeEventListener("pointerup",Jt),d.value.removeEventListener("pointercancel",Qt))}),e.watch([s,()=>h.value],()=>{R()}),e.watch([()=>w.value,s],()=>{b()}),(B,Z)=>{const ee=e.resolveComponent("VjButton");return e.openBlock(),e.createElementBlock("div",{class:"carousel",role:"region","aria-roledescription":"carousel","aria-label":e.unref(c),tabindex:"0",onKeydown:q,onMouseenter:X,onMouseleave:K},[e.createElementVNode("div",{class:"carousel-window",ref_key:"windowRef",ref:d},[e.createElementVNode("div",{class:"carousel-track",ref_key:"track",ref:u,style:e.normalizeStyle(x.value)},[e.renderSlot(B.$slots,"default",{},void 0,!0)],4)],512),e.createVNode(ee,{class:"carousel-btn prev",icon:e.unref(N).PREVIOUS,onClick:E,type:"button","aria-label":"Previous slide"},null,8,["icon"]),e.createVNode(ee,{class:"carousel-btn next",icon:e.unref(N).NEXT,onClick:$,type:"button","aria-label":"Next slide"},null,8,["icon"]),h.value>1?(e.openBlock(),e.createElementBlock("div",mn,[(e.openBlock(!0),e.createElementBlock(e.Fragment,null,e.renderList(h.value,pe=>(e.openBlock(),e.createBlock(ee,{key:pe-1,class:e.normalizeClass(["indicator",{active:pe-1===s.value}]),onClick:Fl=>L(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,fn)}}}),[["__scopeId","data-v-232abca2"]]),pn={class:"dialog-content"},hn={key:1},gn={class:"dialog-footer"},Se=v(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"],setup(t,{emit:o}){const n=t,l=o,a=e.ref(n.modelValue);e.watch(()=>n.modelValue,d=>a.value=d);const r=()=>{a.value=!1,l("update:modelValue",!1),l("close")},i=()=>{l("confirm"),r()},c=()=>{l("cancel"),r()},s=()=>{n.closeOnBackdrop&&r()},u=d=>{d.key==="Escape"&&n.closeOnEscape&&a.value&&r()};return e.onMounted(()=>{document.addEventListener("keydown",u)}),e.onBeforeUnmount(()=>{document.removeEventListener("keydown",u)}),(d,f)=>{const p=e.resolveComponent("VjIcon"),m=e.resolveComponent("VjButton"),h=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:s},[e.createVNode(e.Transition,{name:"dialog-scale"},{default:e.withCtx(()=>[a.value?(e.openBlock(),e.createElementBlock("div",{key:0,class:"dialog-wrapper",onClick:f[0]||(f[0]=e.withModifiers(()=>{},["stop"]))},[e.createVNode(h,{class:"dialog-card",header:t.title||""},e.createSlots({headerActions:e.withCtx(()=>[e.createVNode(p,{icon:e.unref(N).CLOSE,size:e.unref(T).S,class:"dialog-close",onClick:r},null,8,["icon","size"])]),default:e.withCtx(()=>[e.createElementVNode("div",pn,[t.component?(e.openBlock(),e.createBlock(e.resolveDynamicComponent(t.component),e.mergeProps({key:0},t.componentProps,{onClose:r}),null,16)):t.message?(e.openBlock(),e.createElementBlock("div",hn,e.toDisplayString(t.message),1)):e.renderSlot(d.$slots,"default",{key:2},void 0,!0)])]),_:2},[t.showFooter?{name:"footer",fn:e.withCtx(()=>[e.createElementVNode("div",gn,[e.renderSlot(d.$slots,"footer",{},()=>[t.showCancel?(e.openBlock(),e.createBlock(m,{key:0,secondary:"",onClick:c,label:t.cancelText},null,8,["label"])):e.createCommentVNode("",!0),e.createVNode(m,{primary:"",onClick:i,label:t.confirmText},null,8,["label"])],!0)])]),key:"0"}:void 0]),1032,["header"])])):e.createCommentVNode("",!0)]),_:3})])):e.createCommentVNode("",!0)]),_:3})])}}}),[["__scopeId","data-v-6af510b3"]]),ne=Math.min,M=Math.max,he=Math.round,ge=Math.floor,j=t=>({x:t,y:t}),bn={left:"right",right:"left",bottom:"top",top:"bottom"},yn={start:"end",end:"start"};function Ke(t,o,n){return M(t,ne(o,n))}function ce(t,o){return typeof t=="function"?t(o):t}function G(t){return t.split("-")[0]}function de(t){return t.split("-")[1]}function qe(t){return t==="x"?"y":"x"}function Ge(t){return t==="y"?"height":"width"}const wn=new Set(["top","bottom"]);function W(t){return wn.has(G(t))?"y":"x"}function Ye(t){return qe(W(t))}function kn(t,o,n){n===void 0&&(n=!1);const l=de(t),a=Ye(t),r=Ge(a);let i=a==="x"?l===(n?"end":"start")?"right":"left":l==="start"?"bottom":"top";return o.reference[r]>o.floating[r]&&(i=be(i)),[i,be(i)]}function Vn(t){const o=be(t);return[ve(t),o,ve(o)]}function ve(t){return t.replace(/start|end/g,o=>yn[o])}const Je=["left","right"],Qe=["right","left"],Cn=["top","bottom"],_n=["bottom","top"];function Bn(t,o,n){switch(t){case"top":case"bottom":return n?o?Qe:Je:o?Je:Qe;case"left":case"right":return o?Cn:_n;default:return[]}}function En(t,o,n,l){const a=de(t);let r=Bn(G(t),n==="start",l);return a&&(r=r.map(i=>i+"-"+a),o&&(r=r.concat(r.map(ve)))),r}function be(t){return t.replace(/left|right|bottom|top/g,o=>bn[o])}function xn(t){return{top:0,right:0,bottom:0,left:0,...t}}function Sn(t){return typeof t!="number"?xn(t):{top:t,right:t,bottom:t,left:t}}function ye(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 Ze(t,o,n){let{reference:l,floating:a}=t;const r=W(o),i=Ye(o),c=Ge(i),s=G(o),u=r==="y",d=l.x+l.width/2-a.width/2,f=l.y+l.height/2-a.height/2,p=l[c]/2-a[c]/2;let m;switch(s){case"top":m={x:d,y:l.y-a.height};break;case"bottom":m={x:d,y:l.y+l.height};break;case"right":m={x:l.x+l.width,y:f};break;case"left":m={x:l.x-a.width,y:f};break;default:m={x:l.x,y:l.y}}switch(de(o)){case"start":m[i]-=p*(n&&u?-1:1);break;case"end":m[i]+=p*(n&&u?-1:1);break}return m}const vn=async(t,o,n)=>{const{placement:l="bottom",strategy:a="absolute",middleware:r=[],platform:i}=n,c=r.filter(Boolean),s=await(i.isRTL==null?void 0:i.isRTL(o));let u=await i.getElementRects({reference:t,floating:o,strategy:a}),{x:d,y:f}=Ze(u,l,s),p=l,m={},h=0;for(let w=0;w<c.length;w++){const{name:_,fn:k}=c[w],{x:C,y:g,data:S,reset:x}=await k({x:d,y:f,initialPlacement:l,placement:p,strategy:a,middlewareData:m,rects:u,platform:i,elements:{reference:t,floating:o}});d=C??d,f=g??f,m={...m,[_]:{...m[_],...S}},x&&h<=50&&(h++,typeof x=="object"&&(x.placement&&(p=x.placement),x.rects&&(u=x.rects===!0?await i.getElementRects({reference:t,floating:o,strategy:a}):x.rects),{x:d,y:f}=Ze(u,p,s)),w=-1)}return{x:d,y:f,placement:p,strategy:a,middlewareData:m}};async function Re(t,o){var n;o===void 0&&(o={});const{x:l,y:a,platform:r,rects:i,elements:c,strategy:s}=t,{boundary:u="clippingAncestors",rootBoundary:d="viewport",elementContext:f="floating",altBoundary:p=!1,padding:m=0}=ce(o,t),h=Sn(m),_=c[p?f==="floating"?"reference":"floating":f],k=ye(await r.getClippingRect({element:(n=await(r.isElement==null?void 0:r.isElement(_)))==null||n?_:_.contextElement||await(r.getDocumentElement==null?void 0:r.getDocumentElement(c.floating)),boundary:u,rootBoundary:d,strategy:s})),C=f==="floating"?{x:l,y:a,width:i.floating.width,height:i.floating.height}:i.reference,g=await(r.getOffsetParent==null?void 0:r.getOffsetParent(c.floating)),S=await(r.isElement==null?void 0:r.isElement(g))?await(r.getScale==null?void 0:r.getScale(g))||{x:1,y:1}:{x:1,y:1},x=ye(r.convertOffsetParentRelativeRectToViewportRelativeRect?await r.convertOffsetParentRelativeRectToViewportRelativeRect({elements:c,rect:C,offsetParent:g,strategy:s}):C);return{top:(k.top-x.top+h.top)/S.y,bottom:(x.bottom-k.bottom+h.bottom)/S.y,left:(k.left-x.left+h.left)/S.x,right:(x.right-k.right+h.right)/S.x}}const Rn=function(t){return t===void 0&&(t={}),{name:"flip",options:t,async fn(o){var n,l;const{placement:a,middlewareData:r,rects:i,initialPlacement:c,platform:s,elements:u}=o,{mainAxis:d=!0,crossAxis:f=!0,fallbackPlacements:p,fallbackStrategy:m="bestFit",fallbackAxisSideDirection:h="none",flipAlignment:w=!0,..._}=ce(t,o);if((n=r.arrow)!=null&&n.alignmentOffset)return{};const k=G(a),C=W(c),g=G(c)===c,S=await(s.isRTL==null?void 0:s.isRTL(u.floating)),x=p||(g||!w?[be(c)]:Vn(c)),R=h!=="none";!p&&R&&x.push(...En(c,w,h,S));const b=[c,...x],y=await Re(o,_),E=[];let $=((l=r.flip)==null?void 0:l.overflows)||[];if(d&&E.push(y[k]),f){const q=kn(a,i,S);E.push(y[q[0]],y[q[1]])}if($=[...$,{placement:a,overflows:E}],!E.every(q=>q<=0)){var L,X;const q=(((L=r.flip)==null?void 0:L.index)||0)+1,se=b[q];if(se&&(!(f==="alignment"?C!==W(se):!1)||$.every(A=>W(A.placement)===C?A.overflows[0]>0:!0)))return{data:{index:q,overflows:$},reset:{placement:se}};let z=(X=$.filter(H=>H.overflows[0]<=0).sort((H,A)=>H.overflows[1]-A.overflows[1])[0])==null?void 0:X.placement;if(!z)switch(m){case"bestFit":{var K;const H=(K=$.filter(A=>{if(R){const F=W(A.placement);return F===C||F==="y"}return!0}).map(A=>[A.placement,A.overflows.filter(F=>F>0).reduce((F,Be)=>F+Be,0)]).sort((A,F)=>A[1]-F[1])[0])==null?void 0:K[0];H&&(z=H);break}case"initialPlacement":z=c;break}if(a!==z)return{reset:{placement:z}}}return{}}}},$n=new Set(["left","top"]);async function Ln(t,o){const{placement:n,platform:l,elements:a}=t,r=await(l.isRTL==null?void 0:l.isRTL(a.floating)),i=G(n),c=de(n),s=W(n)==="y",u=$n.has(i)?-1:1,d=r&&s?-1:1,f=ce(o,t);let{mainAxis:p,crossAxis:m,alignmentAxis:h}=typeof f=="number"?{mainAxis:f,crossAxis:0,alignmentAxis:null}:{mainAxis:f.mainAxis||0,crossAxis:f.crossAxis||0,alignmentAxis:f.alignmentAxis};return c&&typeof h=="number"&&(m=c==="end"?h*-1:h),s?{x:m*d,y:p*u}:{x:p*u,y:m*d}}const Nn=function(t){return t===void 0&&(t=0),{name:"offset",options:t,async fn(o){var n,l;const{x:a,y:r,placement:i,middlewareData:c}=o,s=await Ln(o,t);return i===((n=c.offset)==null?void 0:n.placement)&&(l=c.arrow)!=null&&l.alignmentOffset?{}:{x:a+s.x,y:r+s.y,data:{...s,placement:i}}}}},Tn=function(t){return t===void 0&&(t={}),{name:"shift",options:t,async fn(o){const{x:n,y:l,placement:a}=o,{mainAxis:r=!0,crossAxis:i=!1,limiter:c={fn:_=>{let{x:k,y:C}=_;return{x:k,y:C}}},...s}=ce(t,o),u={x:n,y:l},d=await Re(o,s),f=W(G(a)),p=qe(f);let m=u[p],h=u[f];if(r){const _=p==="y"?"top":"left",k=p==="y"?"bottom":"right",C=m+d[_],g=m-d[k];m=Ke(C,m,g)}if(i){const _=f==="y"?"top":"left",k=f==="y"?"bottom":"right",C=h+d[_],g=h-d[k];h=Ke(C,h,g)}const w=c.fn({...o,[p]:m,[f]:h});return{...w,data:{x:w.x-n,y:w.y-l,enabled:{[p]:r,[f]:i}}}}}},An=function(t){return t===void 0&&(t={}),{name:"size",options:t,async fn(o){var n,l;const{placement:a,rects:r,platform:i,elements:c}=o,{apply:s=()=>{},...u}=ce(t,o),d=await Re(o,u),f=G(a),p=de(a),m=W(a)==="y",{width:h,height:w}=r.floating;let _,k;f==="top"||f==="bottom"?(_=f,k=p===(await(i.isRTL==null?void 0:i.isRTL(c.floating))?"start":"end")?"left":"right"):(k=f,_=p==="end"?"top":"bottom");const C=w-d.top-d.bottom,g=h-d.left-d.right,S=ne(w-d[_],C),x=ne(h-d[k],g),R=!o.middlewareData.shift;let b=S,y=x;if((n=o.middlewareData.shift)!=null&&n.enabled.x&&(y=g),(l=o.middlewareData.shift)!=null&&l.enabled.y&&(b=C),R&&!p){const $=M(d.left,0),L=M(d.right,0),X=M(d.top,0),K=M(d.bottom,0);m?y=h-2*($!==0||L!==0?$+L:M(d.left,d.right)):b=w-2*(X!==0||K!==0?X+K:M(d.top,d.bottom))}await s({...o,availableWidth:y,availableHeight:b});const E=await i.getDimensions(c.floating);return h!==E.width||w!==E.height?{reset:{rects:!0}}:{}}}};function we(){return typeof window<"u"}function J(t){return $e(t)?(t.nodeName||"").toLowerCase():"#document"}function O(t){var o;return(t==null||(o=t.ownerDocument)==null?void 0:o.defaultView)||window}function I(t){var o;return(o=($e(t)?t.ownerDocument:t.document)||window.document)==null?void 0:o.documentElement}function $e(t){return we()?t instanceof Node||t instanceof O(t).Node:!1}function P(t){return we()?t instanceof Element||t instanceof O(t).Element:!1}function U(t){return we()?t instanceof HTMLElement||t instanceof O(t).HTMLElement:!1}function et(t){return!we()||typeof ShadowRoot>"u"?!1:t instanceof ShadowRoot||t instanceof O(t).ShadowRoot}const Mn=new Set(["inline","contents"]);function ue(t){const{overflow:o,overflowX:n,overflowY:l,display:a}=D(t);return/auto|scroll|overlay|hidden|clip/.test(o+l+n)&&!Mn.has(a)}const On=new Set(["table","td","th"]);function Pn(t){return On.has(J(t))}const Dn=[":popover-open",":modal"];function ke(t){return Dn.some(o=>{try{return t.matches(o)}catch{return!1}})}const zn=["transform","translate","scale","rotate","perspective"],Fn=["transform","translate","scale","rotate","perspective","filter"],jn=["paint","layout","strict","content"];function Le(t){const o=Ne(),n=P(t)?D(t):t;return zn.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)||Fn.some(l=>(n.willChange||"").includes(l))||jn.some(l=>(n.contain||"").includes(l))}function In(t){let o=Y(t);for(;U(o)&&!oe(o);){if(Le(o))return o;if(ke(o))return null;o=Y(o)}return null}function Ne(){return typeof CSS>"u"||!CSS.supports?!1:CSS.supports("-webkit-backdrop-filter","none")}const Un=new Set(["html","body","#document"]);function oe(t){return Un.has(J(t))}function D(t){return O(t).getComputedStyle(t)}function Ve(t){return P(t)?{scrollLeft:t.scrollLeft,scrollTop:t.scrollTop}:{scrollLeft:t.scrollX,scrollTop:t.scrollY}}function Y(t){if(J(t)==="html")return t;const o=t.assignedSlot||t.parentNode||et(t)&&t.host||I(t);return et(o)?o.host:o}function tt(t){const o=Y(t);return oe(o)?t.ownerDocument?t.ownerDocument.body:t.body:U(o)&&ue(o)?o:tt(o)}function fe(t,o,n){var l;o===void 0&&(o=[]),n===void 0&&(n=!0);const a=tt(t),r=a===((l=t.ownerDocument)==null?void 0:l.body),i=O(a);if(r){const c=Te(i);return o.concat(i,i.visualViewport||[],ue(a)?a:[],c&&n?fe(c):[])}return o.concat(a,fe(a,[],n))}function Te(t){return t.parent&&Object.getPrototypeOf(t.parent)?t.frameElement:null}function nt(t){const o=D(t);let n=parseFloat(o.width)||0,l=parseFloat(o.height)||0;const a=U(t),r=a?t.offsetWidth:n,i=a?t.offsetHeight:l,c=he(n)!==r||he(l)!==i;return c&&(n=r,l=i),{width:n,height:l,$:c}}function Ae(t){return P(t)?t:t.contextElement}function le(t){const o=Ae(t);if(!U(o))return j(1);const n=o.getBoundingClientRect(),{width:l,height:a,$:r}=nt(o);let i=(r?he(n.width):n.width)/l,c=(r?he(n.height):n.height)/a;return(!i||!Number.isFinite(i))&&(i=1),(!c||!Number.isFinite(c))&&(c=1),{x:i,y:c}}const Hn=j(0);function ot(t){const o=O(t);return!Ne()||!o.visualViewport?Hn:{x:o.visualViewport.offsetLeft,y:o.visualViewport.offsetTop}}function Wn(t,o,n){return o===void 0&&(o=!1),!n||o&&n!==O(t)?!1:o}function Q(t,o,n,l){o===void 0&&(o=!1),n===void 0&&(n=!1);const a=t.getBoundingClientRect(),r=Ae(t);let i=j(1);o&&(l?P(l)&&(i=le(l)):i=le(t));const c=Wn(r,n,l)?ot(r):j(0);let s=(a.left+c.x)/i.x,u=(a.top+c.y)/i.y,d=a.width/i.x,f=a.height/i.y;if(r){const p=O(r),m=l&&P(l)?O(l):l;let h=p,w=Te(h);for(;w&&l&&m!==h;){const _=le(w),k=w.getBoundingClientRect(),C=D(w),g=k.left+(w.clientLeft+parseFloat(C.paddingLeft))*_.x,S=k.top+(w.clientTop+parseFloat(C.paddingTop))*_.y;s*=_.x,u*=_.y,d*=_.x,f*=_.y,s+=g,u+=S,h=O(w),w=Te(h)}}return ye({width:d,height:f,x:s,y:u})}function Ce(t,o){const n=Ve(t).scrollLeft;return o?o.left+n:Q(I(t)).left+n}function lt(t,o){const n=t.getBoundingClientRect(),l=n.left+o.scrollLeft-Ce(t,n),a=n.top+o.scrollTop;return{x:l,y:a}}function Xn(t){let{elements:o,rect:n,offsetParent:l,strategy:a}=t;const r=a==="fixed",i=I(l),c=o?ke(o.floating):!1;if(l===i||c&&r)return n;let s={scrollLeft:0,scrollTop:0},u=j(1);const d=j(0),f=U(l);if((f||!f&&!r)&&((J(l)!=="body"||ue(i))&&(s=Ve(l)),U(l))){const m=Q(l);u=le(l),d.x=m.x+l.clientLeft,d.y=m.y+l.clientTop}const p=i&&!f&&!r?lt(i,s):j(0);return{width:n.width*u.x,height:n.height*u.y,x:n.x*u.x-s.scrollLeft*u.x+d.x+p.x,y:n.y*u.y-s.scrollTop*u.y+d.y+p.y}}function Kn(t){return Array.from(t.getClientRects())}function qn(t){const o=I(t),n=Ve(t),l=t.ownerDocument.body,a=M(o.scrollWidth,o.clientWidth,l.scrollWidth,l.clientWidth),r=M(o.scrollHeight,o.clientHeight,l.scrollHeight,l.clientHeight);let i=-n.scrollLeft+Ce(t);const c=-n.scrollTop;return D(l).direction==="rtl"&&(i+=M(o.clientWidth,l.clientWidth)-a),{width:a,height:r,x:i,y:c}}const at=25;function Gn(t,o){const n=O(t),l=I(t),a=n.visualViewport;let r=l.clientWidth,i=l.clientHeight,c=0,s=0;if(a){r=a.width,i=a.height;const d=Ne();(!d||d&&o==="fixed")&&(c=a.offsetLeft,s=a.offsetTop)}const u=Ce(l);if(u<=0){const d=l.ownerDocument,f=d.body,p=getComputedStyle(f),m=d.compatMode==="CSS1Compat"&&parseFloat(p.marginLeft)+parseFloat(p.marginRight)||0,h=Math.abs(l.clientWidth-f.clientWidth-m);h<=at&&(r-=h)}else u<=at&&(r+=u);return{width:r,height:i,x:c,y:s}}const Yn=new Set(["absolute","fixed"]);function Jn(t,o){const n=Q(t,!0,o==="fixed"),l=n.top+t.clientTop,a=n.left+t.clientLeft,r=U(t)?le(t):j(1),i=t.clientWidth*r.x,c=t.clientHeight*r.y,s=a*r.x,u=l*r.y;return{width:i,height:c,x:s,y:u}}function it(t,o,n){let l;if(o==="viewport")l=Gn(t,n);else if(o==="document")l=qn(I(t));else if(P(o))l=Jn(o,n);else{const a=ot(t);l={x:o.x-a.x,y:o.y-a.y,width:o.width,height:o.height}}return ye(l)}function rt(t,o){const n=Y(t);return n===o||!P(n)||oe(n)?!1:D(n).position==="fixed"||rt(n,o)}function Qn(t,o){const n=o.get(t);if(n)return n;let l=fe(t,[],!1).filter(c=>P(c)&&J(c)!=="body"),a=null;const r=D(t).position==="fixed";let i=r?Y(t):t;for(;P(i)&&!oe(i);){const c=D(i),s=Le(i);!s&&c.position==="fixed"&&(a=null),(r?!s&&!a:!s&&c.position==="static"&&!!a&&Yn.has(a.position)||ue(i)&&!s&&rt(t,i))?l=l.filter(d=>d!==i):a=c,i=Y(i)}return o.set(t,l),l}function Zn(t){let{element:o,boundary:n,rootBoundary:l,strategy:a}=t;const i=[...n==="clippingAncestors"?ke(o)?[]:Qn(o,this._c):[].concat(n),l],c=i[0],s=i.reduce((u,d)=>{const f=it(o,d,a);return u.top=M(f.top,u.top),u.right=ne(f.right,u.right),u.bottom=ne(f.bottom,u.bottom),u.left=M(f.left,u.left),u},it(o,c,a));return{width:s.right-s.left,height:s.bottom-s.top,x:s.left,y:s.top}}function eo(t){const{width:o,height:n}=nt(t);return{width:o,height:n}}function to(t,o,n){const l=U(o),a=I(o),r=n==="fixed",i=Q(t,!0,r,o);let c={scrollLeft:0,scrollTop:0};const s=j(0);function u(){s.x=Ce(a)}if(l||!l&&!r)if((J(o)!=="body"||ue(a))&&(c=Ve(o)),l){const m=Q(o,!0,r,o);s.x=m.x+o.clientLeft,s.y=m.y+o.clientTop}else a&&u();r&&!l&&a&&u();const d=a&&!l&&!r?lt(a,c):j(0),f=i.left+c.scrollLeft-s.x-d.x,p=i.top+c.scrollTop-s.y-d.y;return{x:f,y:p,width:i.width,height:i.height}}function Me(t){return D(t).position==="static"}function st(t,o){if(!U(t)||D(t).position==="fixed")return null;if(o)return o(t);let n=t.offsetParent;return I(t)===n&&(n=n.ownerDocument.body),n}function ct(t,o){const n=O(t);if(ke(t))return n;if(!U(t)){let a=Y(t);for(;a&&!oe(a);){if(P(a)&&!Me(a))return a;a=Y(a)}return n}let l=st(t,o);for(;l&&Pn(l)&&Me(l);)l=st(l,o);return l&&oe(l)&&Me(l)&&!Le(l)?n:l||In(t)||n}const no=async function(t){const o=this.getOffsetParent||ct,n=this.getDimensions,l=await n(t.floating);return{reference:to(t.reference,await o(t.floating),t.strategy),floating:{x:0,y:0,width:l.width,height:l.height}}};function oo(t){return D(t).direction==="rtl"}const lo={convertOffsetParentRelativeRectToViewportRelativeRect:Xn,getDocumentElement:I,getClippingRect:Zn,getOffsetParent:ct,getElementRects:no,getClientRects:Kn,getDimensions:eo,getScale:le,isElement:P,isRTL:oo};function dt(t,o){return t.x===o.x&&t.y===o.y&&t.width===o.width&&t.height===o.height}function ao(t,o){let n=null,l;const a=I(t);function r(){var c;clearTimeout(l),(c=n)==null||c.disconnect(),n=null}function i(c,s){c===void 0&&(c=!1),s===void 0&&(s=1),r();const u=t.getBoundingClientRect(),{left:d,top:f,width:p,height:m}=u;if(c||o(),!p||!m)return;const h=ge(f),w=ge(a.clientWidth-(d+p)),_=ge(a.clientHeight-(f+m)),k=ge(d),g={rootMargin:-h+"px "+-w+"px "+-_+"px "+-k+"px",threshold:M(0,ne(1,s))||1};let S=!0;function x(R){const b=R[0].intersectionRatio;if(b!==s){if(!S)return i();b?i(!1,b):l=setTimeout(()=>{i(!1,1e-7)},1e3)}b===1&&!dt(u,t.getBoundingClientRect())&&i(),S=!1}try{n=new IntersectionObserver(x,{...g,root:a.ownerDocument})}catch{n=new IntersectionObserver(x,g)}n.observe(t)}return i(!0),r}function ut(t,o,n,l){l===void 0&&(l={});const{ancestorScroll:a=!0,ancestorResize:r=!0,elementResize:i=typeof ResizeObserver=="function",layoutShift:c=typeof IntersectionObserver=="function",animationFrame:s=!1}=l,u=Ae(t),d=a||r?[...u?fe(u):[],...fe(o)]:[];d.forEach(k=>{a&&k.addEventListener("scroll",n,{passive:!0}),r&&k.addEventListener("resize",n)});const f=u&&c?ao(u,n):null;let p=-1,m=null;i&&(m=new ResizeObserver(k=>{let[C]=k;C&&C.target===u&&m&&(m.unobserve(o),cancelAnimationFrame(p),p=requestAnimationFrame(()=>{var g;(g=m)==null||g.observe(o)})),n()}),u&&!s&&m.observe(u),m.observe(o));let h,w=s?Q(t):null;s&&_();function _(){const k=Q(t);w&&!dt(w,k)&&n(),w=k,h=requestAnimationFrame(_)}return n(),()=>{var k;d.forEach(C=>{a&&C.removeEventListener("scroll",n),r&&C.removeEventListener("resize",n)}),f?.(),(k=m)==null||k.disconnect(),m=null,s&&cancelAnimationFrame(h)}}const ft=Nn,mt=Tn,pt=Rn,io=An,ro=(t,o,n)=>{const l=new Map,a={platform:lo,...n},r={...a.platform,_c:l};return vn(t,o,{...a,platform:r})};function so(t){return t!=null&&typeof t=="object"&&"$el"in t}function ht(t){if(so(t)){const o=t.$el;return $e(o)&&J(o)==="#comment"?null:o}return t}function me(t){return typeof t=="function"?t():e.unref(t)}function gt(t){return typeof window>"u"?1:(t.ownerDocument.defaultView||window).devicePixelRatio||1}function bt(t,o){const n=gt(t);return Math.round(o*n)/n}function yt(t,o,n){n===void 0&&(n={});const l=n.whileElementsMounted,a=e.computed(()=>{var b;return(b=me(n.open))!=null?b:!0}),r=e.computed(()=>me(n.middleware)),i=e.computed(()=>{var b;return(b=me(n.placement))!=null?b:"bottom"}),c=e.computed(()=>{var b;return(b=me(n.strategy))!=null?b:"absolute"}),s=e.computed(()=>{var b;return(b=me(n.transform))!=null?b:!0}),u=e.computed(()=>ht(t.value)),d=e.computed(()=>ht(o.value)),f=e.ref(0),p=e.ref(0),m=e.ref(c.value),h=e.ref(i.value),w=e.shallowRef({}),_=e.ref(!1),k=e.computed(()=>{const b={position:m.value,left:"0",top:"0"};if(!d.value)return b;const y=bt(d.value,f.value),E=bt(d.value,p.value);return s.value?{...b,transform:"translate("+y+"px, "+E+"px)",...gt(d.value)>=1.5&&{willChange:"transform"}}:{position:m.value,left:y+"px",top:E+"px"}});let C;function g(){if(u.value==null||d.value==null)return;const b=a.value;ro(u.value,d.value,{middleware:r.value,placement:i.value,strategy:c.value}).then(y=>{f.value=y.x,p.value=y.y,m.value=y.strategy,h.value=y.placement,w.value=y.middlewareData,_.value=b!==!1})}function S(){typeof C=="function"&&(C(),C=void 0)}function x(){if(S(),l===void 0){g();return}if(u.value!=null&&d.value!=null){C=l(u.value,d.value,g);return}}function R(){a.value||(_.value=!1)}return e.watch([r,i,c,a],g,{flush:"sync"}),e.watch([u,d],x,{flush:"sync"}),e.watch(a,R,{flush:"sync"}),e.getCurrentScope()&&e.onScopeDispose(S),{x:e.shallowReadonly(f),y:e.shallowReadonly(p),strategy:e.shallowReadonly(m),placement:e.shallowReadonly(h),middlewareData:e.shallowReadonly(w),isPositioned:e.shallowReadonly(_),floatingStyles:k,update:g}}const wt=v(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),r=e.computed(()=>o.icon??N.DOT_MENU),{floatingStyles:i}=yt(l,a,{placement:"bottom-end",middleware:[ft(8),pt(),mt({padding:8})],whileElementsMounted:ut}),c=()=>{n.value=!n.value},s=()=>{n.value=!1},u=d=>{const f=d.target;f&&(f.closest(".menu-action")||f.closest('[role="menuitem"]')||f.closest("a"))&&s()};return(d,f)=>{const p=e.resolveComponent("VjButton"),m=e.resolveComponent("VjMenu");return e.openBlock(),e.createElementBlock(e.Fragment,null,[e.createElementVNode("div",{class:e.normalizeClass(["dot-menu-container",d.$attrs.class])},[e.createVNode(p,{ref_key:"buttonRef",ref:l,class:"dot-menu",tertiary:"",icon:r.value,onClick:c},null,8,["icon"]),e.createVNode(e.Transition,{name:"menu"},{default:e.withCtx(()=>[n.value?(e.openBlock(),e.createBlock(m,{key:0,ref_key:"floatingRef",ref:a,style:e.normalizeStyle(e.unref(i)),class:"menu-dropdown",onClose:s,onClick:u},{default:e.withCtx(()=>[e.renderSlot(d.$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-67bd71e4"]]),kt=v(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=T.S,l=e.computed(()=>o.primary?"primary":o.secondary?"secondary":o.tertiary?"tertiary":"primary");return(a,r)=>{const i=e.resolveComponent("router-link");return e.openBlock(),e.createBlock(i,{to:t.to,class:e.normalizeClass(["button",l.value]),disabled:t.disabled},{default:e.withCtx(()=>[t.icon?(e.openBlock(),e.createBlock(te,{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"]]),co=["disabled"],uo={class:"menu-action--icon"},Vt=v(e.defineComponent({__name:"menu-action",props:{label:{},icon:{},disabled:{type:Boolean}},setup(t){const o=T.S;return(n,l)=>(e.openBlock(),e.createElementBlock("button",{class:"menu-action button tertiary",disabled:t.disabled},[e.createElementVNode("span",uo,[t.icon?(e.openBlock(),e.createBlock(te,{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,co))}}),[["__scopeId","data-v-07850995"]]),fo={},mo={class:"menu"};function po(t,o){return e.openBlock(),e.createElementBlock("div",mo,[e.renderSlot(t.$slots,"default",{},void 0,!0)])}const Ct=v(fo,[["render",po],["__scopeId","data-v-259fec08"]]),ho={class:"page"},go={key:0,class:"page-error"},bo={key:1,class:"contents"},yo={key:2,class:"actions"},wo={key:3},ko={key:0},_t=v(e.defineComponent({__name:"page",props:{title:{},scrollable:{type:Boolean},errorMessage:{}},setup(t){return(o,n)=>(e.openBlock(),e.createElementBlock("div",ho,[e.createElementVNode("header",null,[e.createElementVNode("h2",null,e.toDisplayString(t.title),1),e.createElementVNode("span",null,[e.renderSlot(o.$slots,"headerActions",{},void 0,!0)])]),e.createElementVNode("main",{class:e.normalizeClass({scrollable:t.scrollable})},[t.errorMessage?(e.openBlock(),e.createElementBlock("div",go,[e.renderSlot(o.$slots,"error",{},void 0,!0)])):e.createCommentVNode("",!0),t.errorMessage?e.createCommentVNode("",!0):(e.openBlock(),e.createElementBlock("div",bo,[e.renderSlot(o.$slots,"default",{},void 0,!0)])),t.errorMessage?e.createCommentVNode("",!0):(e.openBlock(),e.createElementBlock("div",yo,[e.renderSlot(o.$slots,"actions",{},void 0,!0)])),o.$slots.flexFooter?(e.openBlock(),e.createElementBlock("footer",wo,[e.renderSlot(o.$slots,"flexFooter",{},void 0,!0)])):e.createCommentVNode("",!0)],2),o.$slots.footer?(e.openBlock(),e.createElementBlock("footer",ko,[e.renderSlot(o.$slots,"footer",{},void 0,!0)])):e.createCommentVNode("",!0)]))}}),[["__scopeId","data-v-1618f861"]]),Vo={class:"paginator-info","aria-live":"polite"},Bt=v(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,r=e.computed(()=>Math.max(1,Math.ceil((n.totalItems??0)/n.pageSize))),i=e.computed(()=>Math.min(Math.max(1,l.value??1),r.value)),c=e.computed(()=>i.value),s=e.computed(()=>i.value<=1),u=e.computed(()=>i.value>=r.value),d=e.computed(()=>n.labels?.item??"Eintrag"),f=e.computed(()=>n.labels?.of??"von"),p=k=>{const C=Math.min(Math.max(1,Math.floor(k)),r.value);C!==l.value&&(l.value=C,a("change",C))},m=()=>p(1),h=()=>p(i.value-1),w=()=>p(i.value+1),_=()=>p(r.value);return e.watch([()=>n.totalItems,()=>n.pageSize],()=>{l.value>r.value&&p(r.value)}),(k,C)=>{const g=e.resolveComponent("VjButton");return e.openBlock(),e.createElementBlock("nav",{class:"paginator","aria-label":"Pagination",onKeydown:C[0]||(C[0]=e.withKeys(e.withModifiers(()=>{},["prevent"]),["enter"]))},[e.createVNode(g,{tertiary:"",class:"paginator-btn",icon:e.unref(N).FIRST,disabled:s.value,onClick:m,"aria-label":"First page"},null,8,["icon","disabled"]),e.createVNode(g,{tertiary:"",class:"paginator-btn",icon:e.unref(N).PREVIOUS,disabled:s.value,onClick:h,"aria-label":"Previous page"},null,8,["icon","disabled"]),e.renderSlot(k.$slots,"info",{current:i.value,totalPages:r.value,goTo:p},()=>[e.createElementVNode("div",Vo,e.toDisplayString(d.value)+" "+e.toDisplayString(c.value)+" "+e.toDisplayString(f.value)+" "+e.toDisplayString(r.value),1)],!0),e.createVNode(g,{tertiary:"",class:"paginator-btn",icon:e.unref(N).NEXT,disabled:u.value,onClick:w,"aria-label":"Next page"},null,8,["icon","disabled"]),e.createVNode(g,{tertiary:"",class:"paginator-btn",icon:e.unref(N).LAST,disabled:u.value,onClick:_,"aria-label":"Last page"},null,8,["icon","disabled"])],32)}}}),[["__scopeId","data-v-b6fa8efe"]]),Co={class:"search-field"},_o=["value","placeholder"],Et=v(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=r=>{o.value=r.target.value},l=()=>{o.value=""},a=e.computed(()=>!o.value);return(r,i)=>{const c=e.resolveComponent("VjIcon");return e.openBlock(),e.createElementBlock("div",Co,[e.createVNode(c,{icon:e.unref(N).SEARCH,size:e.unref(T).S},null,8,["icon","size"]),e.createElementVNode("input",{value:o.value,onInput:n,type:"text",placeholder:t.placeholder},null,40,_o),e.createVNode(c,{class:e.normalizeClass(["reset",{invisible:a.value}]),icon:e.unref(N).CLOSE,size:e.unref(T).S,onClick:l},null,8,["class","icon","size"])])}}}),[["__scopeId","data-v-2771c8ed"]]),xt=v(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"]]),Bo={class:"tab-view"},Eo={ref:"headerRef",class:"tab-view-header"},xo=["onClick"],So={class:"tab-view-content"},St=v(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)"}),r=(u,d)=>{u&&(l.value[d]=u)},i=()=>{const u=n.value.findIndex(d=>d.name===o.value);if(u>=0&&l.value[u]){const d=l.value[u],f=d.offsetWidth,p=d.offsetLeft;a.value={width:`${f}px`,transform:`translateX(${p}px)`}}},c=(u,d)=>{n.value.find(f=>f.name===u)||(n.value.push({name:u,label:d}),e.nextTick(()=>{!o.value&&n.value.length===1&&(o.value=u),i()}))},s=u=>{o.value=u};return e.watch(o,()=>{e.nextTick(()=>{i()})}),e.provide("tabView",{activeTab:()=>o.value,registerTab:c}),(u,d)=>(e.openBlock(),e.createElementBlock("div",Bo,[e.createElementVNode("div",Eo,[(e.openBlock(!0),e.createElementBlock(e.Fragment,null,e.renderList(n.value,(f,p)=>(e.openBlock(),e.createElementBlock("div",{key:f.name,ref_for:!0,ref:m=>r(m,p),class:e.normalizeClass(["tab-button",{active:o.value===f.name}]),onClick:m=>s(f.name)},e.toDisplayString(f.label),11,xo))),128)),d[0]||(d[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",So,[e.renderSlot(u.$slots,"default",{},void 0,!0)])]))}}),[["__scopeId","data-v-3d4ee454"]]),vo={key:0,class:"tab"},vt=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,r)=>l.value?(e.openBlock(),e.createElementBlock("div",vo,[e.renderSlot(a.$slots,"default")])):e.createCommentVNode("",!0)}}),Rt={form:{labelPosition:"inline"}};let _e={};function Ro(t){_e={..._e,...t,form:{...Rt.form,...t.form}}}function $t(){return{form:{...Rt.form,..._e.form}}}function $o(){_e={}}const Lo=["data-colspan","data-newline"],No=["for"],To={class:"form-field__wrapper"},Ao=["for"],Mo={key:1,class:"form-field__error"},ae=v(e.defineComponent({__name:"form-field",props:{modelValue:{},label:{},id:{},placeholder:{},disabled:{type:Boolean},colspan:{},newLine:{type:Boolean},spanRow:{type:Boolean},error:{},labelPosition:{}},emits:["update:modelValue","focus","blur"],setup(t,{emit:o}){const n=t,l=o,a=e.ref(n.modelValue),r=e.ref(!1),i=e.computed(()=>`form-field-${n.id??Math.random().toString(36).slice(2)}`),c=e.computed(()=>n.labelPosition??$t().form.labelPosition);e.watch(()=>n.modelValue,m=>a.value=m);const s=e.computed(()=>{if(console.log(n.labelPosition,c.value,r.value,a.value),c.value==="outline")return!0;const m=a.value!==""&&a.value!==null&&a.value!==void 0;return r.value||m}),u=e.computed(()=>c.value==="outline"||s.value?n.placeholder:"");function d(m){const w=m.target.value;a.value=w,l("update:modelValue",w)}function f(m){r.value=!0,l("focus",m)}function p(m){r.value=!1,l("blur",m)}return(m,h)=>(e.openBlock(),e.createElementBlock("div",{class:e.normalizeClass(["form-field",`form-field--${c.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&&c.value==="outline"?(e.openBlock(),e.createElementBlock("label",{key:0,for:i.value,class:"form-field__label-outline"},e.toDisplayString(t.label)+" "+e.toDisplayString(c.value),9,No)):e.createCommentVNode("",!0),e.createElementVNode("div",To,[e.renderSlot(m.$slots,"control",{id:i.value,value:a.value,onInput:d,onFocus:f,onBlur:p,disabled:t.disabled,placeholder:u.value},void 0,!0),t.label&&c.value==="inline"?(e.openBlock(),e.createElementBlock("label",{key:0,for:i.value,class:e.normalizeClass(["form-field__label",{"form-field__label--float":s.value}])},e.toDisplayString(t.label),11,Ao)):e.createCommentVNode("",!0)]),t.error?(e.openBlock(),e.createElementBlock("div",Mo,e.toDisplayString(t.error),1)):e.createCommentVNode("",!0)],14,Lo))}}),[["__scopeId","data-v-4ab68d08"]]),Lt=v(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(i=>{const c=i.getAttribute("data-colspan"),s=c?Math.max(1,Number(c)||1):1,u=i.getAttribute("data-newline");u!==null&&u!=="false"?i.style.gridColumn="1 / -1":i.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)),(r,i)=>(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(r.$slots,"default",{},void 0,!0)],4))}}),[["__scopeId","data-v-96f62ab7"]]),Oo={key:0,class:"form-section__title","data-newline":""},Nt=v(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",Oo,e.toDisplayString(t.title),1)):e.createCommentVNode("",!0),e.renderSlot(o.$slots,"default",{},void 0,!0)],64))}}),[["__scopeId","data-v-69cff1d0"]]),Po=["id","disabled"],Do={class:"select-value"},zo={key:1,class:"select-placeholder"},Fo={class:"select-options"},jo=["onClick","onMouseenter"],Oe=v(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),r=e.ref(-1),i=e.ref(null),c=e.ref(null),s=e.ref(null),{floatingStyles:u}=yt(c,s,{placement:"bottom-start",middleware:[ft(4),pt(),mt({padding:8}),io({apply({rects:g,elements:S}){Object.assign(S.floating.style,{minWidth:`${g.reference.width}px`})}})],whileElementsMounted:ut}),d=g=>n.optionLabel?typeof n.optionLabel=="function"?n.optionLabel(g):String(g[n.optionLabel]):String(g),f=g=>n.optionValue?typeof n.optionValue=="function"?n.optionValue(g):g[n.optionValue]:g,p=e.computed(()=>n.options.find(g=>f(g)===l.value)),m=g=>f(g)===l.value,h=()=>{n.disabled||(a.value=!a.value)},w=()=>{a.value=!1,r.value=-1},_=g=>{l.value=f(g),w()},k=()=>{l.value=void 0},C=g=>{a.value&&i.value&&!i.value.contains(g.target)&&w()};return e.onMounted(()=>{document.addEventListener("click",C)}),e.onBeforeUnmount(()=>{document.removeEventListener("click",C)}),e.watch(a,g=>{g&&p.value&&(r.value=n.options.findIndex(S=>m(S)))}),o({focus:()=>c.value?.focus(),blur:()=>c.value?.blur()}),(g,S)=>{const x=e.resolveComponent("VjIcon");return e.openBlock(),e.createElementBlock(e.Fragment,null,[e.createElementVNode("div",{ref_key:"selectRef",ref:i,class:e.normalizeClass(["select",g.$attrs.class])},[e.createElementVNode("button",{ref_key:"buttonRef",ref:c,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(T).S,class:"select-icon-left"},null,8,["icon","size"])):e.createCommentVNode("",!0),e.createElementVNode("span",Do,[p.value?e.renderSlot(g.$slots,"selected",{key:0,option:p.value},()=>[e.createTextVNode(e.toDisplayString(d(p.value)),1)],!0):(e.openBlock(),e.createElementBlock("span",zo,e.toDisplayString(t.placeholder),1))]),n.clearable&&p.value&&!t.disabled?(e.openBlock(),e.createBlock(x,{key:1,icon:e.unref(N).CLOSE,size:e.unref(T).S,class:"select-clear-icon",onClick:e.withModifiers(k,["stop"])},null,8,["icon","size"])):e.createCommentVNode("",!0),e.createVNode(x,{icon:e.unref(N).CHEVRON_DOWN,size:e.unref(T).S,class:e.normalizeClass(["select-icon-right",{open:a.value}])},null,8,["icon","size","class"])],8,Po),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(u)),class:"select-dropdown"},[e.createElementVNode("div",Fo,[(e.openBlock(!0),e.createElementBlock(e.Fragment,null,e.renderList(t.options,(R,b)=>(e.openBlock(),e.createElementBlock("div",{key:String(f(R)),class:e.normalizeClass(["select-option",{selected:m(R),highlighted:r.value===b}]),onClick:y=>_(R),onMouseenter:y=>r.value=b},[e.renderSlot(g.$slots,"option",{option:R,selected:m(R)},()=>[e.createTextVNode(e.toDisplayString(d(R)),1)],!0)],42,jo))),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"]]),Tt=e.defineComponent({__name:"input-select",props:{modelValue:{},label:{},id:{},placeholder:{},disabled:{type:Boolean},colspan:{},newLine:{type:Boolean},spanRow:{type:Boolean},error:{},labelPosition:{},options:{}},emits:["update:modelValue","input","focus","blur"],setup(t,{emit:o}){const n=t,l=o,a=e.ref(n.modelValue),r=i=>{a.value=i,l("update:modelValue",i)};return(i,c)=>(e.openBlock(),e.createBlock(ae,{modelValue:a.value,"onUpdate:modelValue":r,label:n.label,id:n.id,placeholder:n.placeholder,disabled:n.disabled,colspan:n.colspan,newLine:n.newLine,spanRow:n.spanRow,error:n.error,labelPosition:n.labelPosition},{control:e.withCtx(({id:s,disabled:u,placeholder:d})=>[e.createVNode(Oe,{id:s,modelValue:a.value,"onUpdate:modelValue":[c[0]||(c[0]=f=>a.value=f),r],options:n.options,placeholder:d,disabled:u,"option-label":f=>f.label,"option-value":f=>f.value,clearable:""},e.createSlots({_:2},[i.$slots.selected?{name:"selected",fn:e.withCtx(({option:f})=>[e.renderSlot(i.$slots,"selected",{option:f})]),key:"0"}:void 0,i.$slots.option?{name:"option",fn:e.withCtx(({option:f})=>[e.renderSlot(i.$slots,"option",{option:f})]),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","labelPosition"]))}}),Io=["aria-valuemin","aria-valuemax","aria-valuenow","aria-label"],Uo=["aria-valuemin","aria-valuemax","aria-valuenow"],Ho=v(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),r=e.ref(!1),i=e.ref(!1),c=(b,y,E)=>Math.min(Math.max(b,y),E),s=e.ref(n.range?Array.isArray(n.modelValue)?n.modelValue[0]:n.min:typeof n.modelValue=="number"?n.modelValue:n.min),u=e.ref(n.range&&Array.isArray(n.modelValue)?n.modelValue[1]:n.max);e.watch(()=>n.modelValue,b=>{n.range?Array.isArray(b)&&(s.value=c(b[0],n.min,n.max),u.value=c(b[1],n.min,n.max)):typeof b=="number"&&(s.value=c(b,n.min,n.max))},{immediate:!0});const d=b=>(b-n.min)/(n.max-n.min)*100,f=e.computed(()=>({left:`${d(s.value)}%`})),p=e.computed(()=>({left:`${d(u.value)}%`})),m=e.computed(()=>{if(!n.range)return{width:`${d(s.value)}%`,left:"0%"};const b=d(s.value),y=d(u.value);return{left:`${b}%`,width:`${Math.max(0,y-b)}%`}});let h=null,w=null;const _=async(b,y)=>{h=b,w=y.pointerId,b==="low"?r.value=!0:i.value=!0;try{y.target.setPointerCapture(y.pointerId)}catch{}window.addEventListener("pointermove",C),window.addEventListener("pointerup",k)},k=b=>{if(w!=null&&b)try{b.target.releasePointerCapture(b.pointerId)}catch{}h=null,w=null,r.value=!1,i.value=!1,window.removeEventListener("pointermove",C),window.removeEventListener("pointerup",k),x()},C=b=>{if(!h||!a.value)return;const y=a.value.getBoundingClientRect(),E=c(b.clientX-y.left,0,y.width),$=n.min+E/y.width*(n.max-n.min),L=Math.round($/n.step)*n.step;h==="low"?n.range?s.value=Math.min(L,u.value):s.value=c(L,n.min,n.max):h==="high"&&(u.value=Math.max(L,s.value))},g=b=>{if(!a.value)return;const y=a.value.getBoundingClientRect(),E=c(b.clientX-y.left,0,y.width),$=n.min+E/y.width*(n.max-n.min),L=Math.round($/n.step)*n.step;if(n.range){const X=Math.abs(L-s.value),K=Math.abs(L-u.value);X<=K?s.value=Math.min(L,u.value):u.value=Math.max(L,s.value)}else s.value=c(L,n.min,n.max);x()},S=(b,y)=>{const E=n.step,$=y.key==="ArrowLeft"||y.key==="ArrowDown"?-1:y.key==="ArrowRight"||y.key==="ArrowUp"?1:0;if($){if(b==="low"){const L=c(s.value+$*E,n.min,n.range?u.value:n.max);s.value=L,r.value=!0,setTimeout(()=>r.value=!1,800)}else{const L=c(u.value+$*E,n.range?s.value:n.max,n.max);u.value=L,i.value=!0,setTimeout(()=>i.value=!1,800)}x()}},x=()=>{n.range?(l("update:modelValue",[s.value,u.value]),l("change",[s.value,u.value])):(l("update:modelValue",s.value),l("change",s.value))};e.onBeforeUnmount(()=>{window.removeEventListener("pointermove",C),window.removeEventListener("pointerup",k)}),e.watch([()=>n.min,()=>n.max],()=>{s.value=c(s.value,n.min,n.max),u.value=c(u.value,n.min,n.max)});const R=e.computed(()=>n.range);return e.nextTick(()=>{n.modelValue===void 0&&(n.range?l("update:modelValue",[s.value,u.value]):l("update:modelValue",s.value))}),(b,y)=>(e.openBlock(),e.createElementBlock("div",{class:"vj-slider",onPointerdown:y[8]||(y[8]=e.withModifiers(()=>{},["stop"]))},[e.createElementVNode("div",{class:"track",ref_key:"track",ref:a,onClick:g},[e.createElementVNode("div",{class:"range",style:e.normalizeStyle(m.value)},null,4),r.value?(e.openBlock(),e.createElementBlock("div",{key:0,class:"tooltip",style:e.normalizeStyle({left:f.value.left})},e.toDisplayString(s.value),5)):e.createCommentVNode("",!0),e.createElementVNode("button",{class:"handle low",style:e.normalizeStyle(f.value),"aria-valuemin":t.min,"aria-valuemax":t.max,"aria-valuenow":s.value,"aria-label":R.value?"Lower value":"Value",onPointerdown:y[0]||(y[0]=e.withModifiers(E=>_("low",E),["prevent"])),onFocus:y[1]||(y[1]=E=>r.value=!0),onBlur:y[2]||(y[2]=E=>r.value=!1),onKeydown:y[3]||(y[3]=e.withModifiers(E=>S("low",E),["stop","prevent"])),role:"slider",tabindex:"0"},null,44,Io),R.value&&i.value?(e.openBlock(),e.createElementBlock("div",{key:1,class:"tooltip",style:e.normalizeStyle({left:p.value.left})},e.toDisplayString(u.value),5)):e.createCommentVNode("",!0),R.value?(e.openBlock(),e.createElementBlock("button",{key:2,class:"handle high",style:e.normalizeStyle(p.value),"aria-valuemin":t.min,"aria-valuemax":t.max,"aria-valuenow":u.value,"aria-label":"Upper value",onPointerdown:y[4]||(y[4]=e.withModifiers(E=>_("high",E),["prevent"])),onFocus:y[5]||(y[5]=E=>i.value=!0),onBlur:y[6]||(y[6]=E=>i.value=!1),onKeydown:y[7]||(y[7]=e.withModifiers(E=>S("high",E),["stop","prevent"])),role:"slider",tabindex:"0"},null,44,Uo)):e.createCommentVNode("",!0)],512)],32))}}),[["__scopeId","data-v-d47c7475"]]),Wo=["onFocusin","onFocusout"],At=v(e.defineComponent({__name:"input-slider",props:{modelValue:{},label:{},id:{},placeholder:{},disabled:{type:Boolean},colspan:{},newLine:{type:Boolean},spanRow:{type:Boolean},error:{},labelPosition:{},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),r=e.ref(Number.isNaN(a)?0:a),i=c=>{const s=typeof c=="number"?c:Number(c??0);r.value=Number.isNaN(s)?0:s,l("update:modelValue",r.value),l("input",r.value)};return(c,s)=>(e.openBlock(),e.createBlock(ae,{modelValue:r.value,"onUpdate:modelValue":i,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:u,disabled:d,placeholder:f,onFocus:p,onBlur:m})=>[e.createElementVNode("div",{class:"input-slider__control",onFocusin:p,onFocusout:m},[e.createVNode(Ho,{id:u,modelValue:r.value,"onUpdate:modelValue":s[0]||(s[0]=h=>r.value=h),min:n.min,max:n.max,step:n.step,range:!1,disabled:d},null,8,["id","modelValue","min","max","step","disabled"])],40,Wo)]),_:1},8,["modelValue","label","id","disabled","colspan","newLine","spanRow","error"]))}}),[["__scopeId","data-v-051e6d17"]]),Xo={class:"textarea"},Ko=["value","placeholder","disabled","rows"],Pe=v(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=u=>{l.value=u.target.value},r=()=>{l.value=""},i=u=>{n("focus",u)},c=u=>{n("blur",u)},s=e.computed(()=>!l.value);return(u,d)=>{const f=e.resolveComponent("VjIcon");return e.openBlock(),e.createElementBlock("div",Xo,[t.icon?(e.openBlock(),e.createBlock(f,{key:0,icon:t.icon,size:e.unref(T).S,class:"textarea-icon"},null,8,["icon","size"])):e.createCommentVNode("",!0),e.createElementVNode("textarea",{value:l.value,onInput:a,onFocus:i,onBlur:c,placeholder:t.placeholder,disabled:t.disabled,rows:t.rows},null,40,Ko),t.clearable&&!t.disabled?(e.openBlock(),e.createBlock(f,{key:1,class:e.normalizeClass(["clear-icon",{invisible:s.value}]),icon:e.unref(N).CLOSE,size:e.unref(T).S,onClick:r},null,8,["class","icon","size"])):e.createCommentVNode("",!0)])}}}),[["__scopeId","data-v-2ea43716"]]),Mt=e.defineComponent({__name:"input-text-area",props:{modelValue:{},label:{},id:{},placeholder:{},disabled:{type:Boolean},colspan:{},newLine:{type:Boolean},spanRow:{type:Boolean},error:{},labelPosition:{},rows:{}},emits:["update:modelValue","input","focus","blur"],setup(t,{emit:o}){const n=t,l=o,a=d=>l("update:modelValue",d),r=d=>l("input",d),i=d=>l("focus",d),c=d=>l("blur",d),s=d=>{a(d??"")},u=e.computed(()=>{const d=n.modelValue;return d==null?"":String(d)});return(d,f)=>(e.openBlock(),e.createBlock(ae,{modelValue:n.modelValue,"onUpdate:modelValue":a,onInput:r,onFocus:i,onBlur:c,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},{control:e.withCtx(({id:p,disabled:m,placeholder:h,onFocus:w,onBlur:_})=>[e.createVNode(Pe,{id:p,modelValue:u.value,"onUpdate:modelValue":s,onFocus:k=>{w(k),i(k)},onBlur:k=>{_(k),c(k)},placeholder:h,disabled:m,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"]))}}),qo={class:"input"},Go=["value","type","placeholder","disabled"],De=v(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=u=>{l.value=u.target.value},r=()=>{l.value=""},i=u=>{n("focus",u)},c=u=>{n("blur",u)},s=e.computed(()=>!l.value);return(u,d)=>{const f=e.resolveComponent("VjIcon");return e.openBlock(),e.createElementBlock("div",qo,[t.icon?(e.openBlock(),e.createBlock(f,{key:0,icon:t.icon,size:e.unref(T).S},null,8,["icon","size"])):e.createCommentVNode("",!0),e.createElementVNode("input",{value:l.value,onInput:a,onFocus:i,onBlur:c,type:t.type,placeholder:t.placeholder,disabled:t.disabled},null,40,Go),t.clearable&&!t.disabled?(e.openBlock(),e.createBlock(f,{key:1,class:e.normalizeClass(["clear-icon",{invisible:s.value}]),icon:e.unref(N).CLOSE,size:e.unref(T).S,onClick:r},null,8,["class","icon","size"])):e.createCommentVNode("",!0)])}}}),[["__scopeId","data-v-3187d49c"]]),Ot=e.defineComponent({__name:"input-text",props:{modelValue:{},label:{},id:{},placeholder:{},disabled:{type:Boolean},colspan:{},newLine:{type:Boolean},spanRow:{type:Boolean},error:{},labelPosition:{},type:{}},emits:["update:modelValue","input","focus","blur"],setup(t,{emit:o}){const n=o,l=s=>n("update:modelValue",s),a=s=>n("input",s),r=s=>n("focus",s),i=s=>n("blur",s),c=s=>{l(s??"")};return(s,u)=>(e.openBlock(),e.createBlock(ae,{modelValue:t.modelValue,"onUpdate:modelValue":l,onInput:a,onFocus:r,onBlur:i,label:t.label,id:t.id,placeholder:t.placeholder,disabled:t.disabled,colspan:t.colspan,newLine:t.newLine,spanRow:t.spanRow,error:t.error,labelPosition:t.labelPosition},{control:e.withCtx(({id:d,disabled:f,placeholder:p,onFocus:m,onBlur:h})=>[e.createVNode(De,{id:d,modelValue:t.modelValue,type:t.type,"onUpdate:modelValue":c,onFocus:w=>{m(w),r(w)},onBlur:w=>{h(w),i(w)},placeholder:p,disabled:f,clearable:""},null,8,["id","modelValue","type","onFocus","onBlur","placeholder","disabled"])]),_:1},8,["modelValue","label","id","placeholder","disabled","colspan","newLine","spanRow","error","labelPosition"]))}}),Yo={class:"shell-navigation-item"},Jo={class:"shell-navigation-item-label"},Pt=v(e.defineComponent({__name:"shell-navigation-item",props:{label:{},icon:{},to:{}},setup(t){return(o,n)=>{const l=e.resolveComponent("VjIcon"),a=e.resolveComponent("RouterLink");return e.openBlock(),e.createElementBlock("li",Yo,[e.createVNode(a,{to:t.to,class:"shell-navigation-item-link"},{default:e.withCtx(()=>[e.createVNode(l,{icon:t.icon,class:"shell-navigation-item-icon"},null,8,["icon"]),e.createElementVNode("label",Jo,e.toDisplayString(t.label),1)]),_:1},8,["to"])])}}}),[["__scopeId","data-v-d5c087be"]]),Qo={class:"navigation-top"},Zo={class:"navigation-bottom"},ze=v(e.defineComponent({__name:"shell-navigation",setup(t){const o=e.inject(Ut,Ht());console.log("navigationProvider",o);const n=e.computed(()=>o.showLabels);return(l,a)=>{const r=e.resolveComponent("VjShellNavigationItem");return e.openBlock(),e.createElementBlock("nav",{class:e.normalizeClass(["shell-navigation",{"with-labels":n.value}])},[e.createElementVNode("ul",Qo,[e.unref(o).hasParent&&e.unref(o).backRoute.value?(e.openBlock(),e.createBlock(r,{key:0,to:e.unref(o).backRoute.value,label:"BACK",icon:e.unref(N).HOME},null,8,["to","icon"])):e.createCommentVNode("",!0),(e.openBlock(!0),e.createElementBlock(e.Fragment,null,e.renderList(e.unref(o).childRoutes.value,i=>(e.openBlock(),e.createBlock(r,{key:i.name,to:{name:i.name},label:i.meta.label,icon:i.meta.icon??e.unref(N).HOME},null,8,["to","label","icon"]))),128))]),e.createElementVNode("ul",Zo,[e.renderSlot(l.$slots,"fixed",{},void 0,!0)])],2)}}}),[["__scopeId","data-v-0f990f5b"]]),el={class:"shell"},tl={class:"shell-title"},nl=["src"],ol={class:"header-actions"},Dt=v(e.defineComponent({__name:"shell",props:{title:{},icon:{},showNavigation:{type:Boolean}},setup(t){const o=Xt(),n=e.toRef(o,"asideComponent"),l=e.toRef(o,"hasAside"),a=e.toRef(o,"asideData"),r=e.computed(()=>{const i=a.value;return i&&typeof i=="object"?i:{}});return(i,c)=>{const s=e.resolveComponent("router-view");return e.openBlock(),e.createElementBlock("div",el,[e.createElementVNode("header",null,[e.createElementVNode("span",tl,[t.icon?(e.openBlock(),e.createElementBlock("img",{key:0,src:t.icon,alt:"Shell Icon"},null,8,nl)):e.createCommentVNode("",!0),e.createElementVNode("h1",null,e.toDisplayString(t.title),1)]),e.createElementVNode("div",ol,[e.renderSlot(i.$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(ze),{key:0})):e.createCommentVNode("",!0),e.createElementVNode("main",null,[e.renderSlot(i.$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(r.value)),null,16))],2)],2),c[0]||(c[0]=e.createElementVNode("footer",null,null,-1))])}}}),[["__scopeId","data-v-336560c3"]]),zt={mounted(t){t.classList.add("compact")},unmounted(t){t.classList.remove("compact")}},Ft=['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 ll(t){const o=t.querySelectorAll(Ft);for(const n of Array.from(o))if(n.offsetParent!==null||n.getClientRects().length>0)return n;return null}const jt={mounted(t,o){const n=typeof o.value=="number"?o.value:0,l=()=>{if(t.matches(Ft)){t.focus();return}const a=ll(t);a&&a.focus()};n>0?setTimeout(l,n):requestAnimationFrame(l)}};class Fe{static _instance=null;observer=null;targets=new Map;constructor(){this.init()}static get instance(){return this._instance||(this._instance=new Fe),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,r=o.target;for(const i of n.callbacks)try{i(l,a,r)}catch(c){console.error("resize callback error",c)}if(n.breakpoints){const i=Object.keys(n.breakpoints).map(s=>Number(s)).filter(s=>!Number.isNaN(s)).sort((s,u)=>s-u);let c;for(const s of i)l>=s&&(c=n.breakpoints[s]);c!==n.currentClass&&(n.currentClass&&o.target.classList.remove(n.currentClass),c&&o.target.classList.add(c),n.currentClass=c)}}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 r=new Set;n&&r.add(n),this.targets.set(o,{callbacks:r,breakpoints:l?.breakpoints}),this.observer&&this.observer.observe(o)}if(l?.immediate){const r=o.getBoundingClientRect(),i={target:o,contentRect:r};if(this.handleEntry(i),n){const c=r.width,s=r.height;n(c,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 ie=Fe.instance,It={mounted(t,o){const n=o.value,l=typeof n=="function"?n:n?.onResize,a=typeof n=="object"&&n?.breakpoints?n.breakpoints:void 0,r=typeof n=="object"&&!!n?.immediate,i=t;i.__resize_cb=l,i.__resize_breakpoints=a,l&&ie.observe(t,l,{breakpoints:a,immediate:r})},updated(t,o){const n=t,l=n.__resize_cb,a=n.__resize_breakpoints,r=o.value,i=typeof r=="function"?r:r?.onResize,c=typeof r=="object"&&r?.breakpoints?r.breakpoints:void 0;if(l!==i){l&&ie.unobserve(t,l),i&&ie.observe(t,i,{breakpoints:c,immediate:!!(r&&typeof r=="object"&&r.immediate)}),n.__resize_cb=i,n.__resize_breakpoints=c;return}JSON.stringify(a||{})!==JSON.stringify(c||{})&&(l&&ie.unobserve(t,l),i&&ie.observe(t,i,{breakpoints:c,immediate:!0}),n.__resize_breakpoints=c)},unmounted(t){const o=t,n=o.__resize_cb;n&&ie.unobserve(t,n),delete o.__resize_cb,delete o.__resize_breakpoints}},Ut="navigationProvider";function al(t){return!!t.meta&&"icon"in t.meta&&"label"in t.meta}const Ht=()=>{const t=He.useRouter(),o=He.useRoute(),n=!0,l=e.computed(()=>{const d=t.getRoutes();return d.filter(f=>f.path!=="/"&&!d.some(p=>p.children?.some(m=>m.name===f.name)))}),a=e.computed(()=>{const d=o.matched;return d.length?d[d.length-1]:null}),r=e.computed(()=>{const d=o.matched;return d.length>1?d[d.length-2]:null}),i=e.computed(()=>!!(a.value?.children?.length||r.value)),c=e.computed(()=>a.value?.children?.length?a.value:r.value?.children?.length?r.value:null),s=e.computed(()=>{if(!c.value)return null;const f=t.getRoutes().find(p=>p.children?.some(m=>m.name===c.value.name));return f?{name:f.name}:{path:"/"}}),u=e.computed(()=>{let d=[];return o.path==="/"?d=l.value:a.value?.children?.length?d=a.value.children:r.value?.children?.length?d=r.value.children:d=l.value,d.filter(al)});return{hasParent:i,backRoute:s,childRoutes:u,showLabels:n}},il=(t,o=!0,n=void 0)=>{const l=e.isRef(t)?t:e.ref(t),a=!!n,r=e.ref(n||null);return{hasParent:a,backRoute:r,childRoutes:l,showLabels:o}},je=e.ref(!1),Ie=e.ref(null),Ue=e.ref(null);let re=[];const Wt=t=>(re.push(t),()=>{re=re.filter(o=>o!==t)}),rl=(t,o)=>(re=[],Ie.value=t,Ue.value=o??null,je.value=!0,{onClose:n=>Wt(n)}),sl=t=>{try{re.forEach(o=>{try{o(t)}catch(n){console.error("aside onClose callback error",n)}})}finally{je.value=!1,setTimeout(cl,1e3)}},cl=()=>{re=[],Ie.value=null,Ue.value=null},dl={asideComponent:Ie,asideData:Ue,showAside:rl,closeAside:sl,onAsideClose:Wt,hasAside:je},Xt=()=>dl,ul=(t,o)=>{let n=null;return(...a)=>{n&&clearTimeout(n),n=setTimeout(()=>{t(...a)},o)}},fl=()=>{const t=e.ref(!1),o=e.ref(null),n=()=>{o.value=null};class l{inner;defaultValue;handlers=[];constructor(i,c){this.inner=i,this.defaultValue=c}onError(i){return this.handlers.push(i),this}async exec(){o.value=null,t.value=!0;try{return await this.inner()}catch(i){o.value=i;for(const c of this.handlers)try{c(i)}catch(s){console.error("onError handler failed",s)}if(this.defaultValue!==void 0)return this.defaultValue;throw i}finally{t.value=!1}}then(i,c){return this.exec().then(i,c)}}function a(r,i){return new l(r,i)}return{run:a,running:t,error:o,clearError:n}};class ml{containerElement=null;apps=[];ensureContainer(){return this.containerElement||(this.containerElement=document.createElement("div"),this.containerElement.id="vj-dialog-container",document.body.appendChild(this.containerElement)),this.containerElement}open(o){return new Promise(n=>{const l=this.ensureContainer(),a=document.createElement("div");l.appendChild(a);let r=!1;const i=()=>{r||(r=!0,setTimeout(()=>{const s=this.apps.find(u=>u.element===a);s&&(s.app.unmount(),this.apps=this.apps.filter(u=>u!==s)),a.remove()},300))},c=e.createApp({setup(){return()=>e.h(Se,{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),i()},onCancel:()=>{n(!1),i()},onClose:()=>{r||n(!1),i()}})}});c.component("VjCard",xe),c.component("VjIcon",te),c.component("VjButton",Ee),c.mount(a),this.apps.push({app:c,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 Kt=new ml;function pl(){return Kt}const hl={install(t){t.component("VjButton",Ee),t.component("VjButtonBar",We),t.component("VjCard",xe),t.component("VjCarousel",Xe),t.component("VjDotMenu",wt),t.component("VjIcon",te),t.component("VjLinkButton",kt),t.component("VjMenu",Ct),t.component("VjMenuAction",Vt),t.component("VjPage",_t),t.component("VjPaginator",Bt),t.component("VjTab",vt),t.component("VjTabView",St),t.component("VjDialog",Se),t.component("VjInput",De),t.component("VjSelect",Oe),t.component("VjTextArea",Pe),t.component("VjFormField",ae),t.component("VjFormLayout",Lt),t.component("VjFormSection",Nt),t.component("VjInputText",Ot),t.component("VjInputTextArea",Mt),t.component("VjInputSelect",Tt),t.component("VjInputSlider",At),t.component("VjShellNavigation",ze),t.component("VjShellNavigationItem",Pt),t.component("VjShell",Dt),t.component("VjSearchField",Et),t.component("VjSeparator",xt),t.directive("focus",jt),t.directive("resize",It),t.directive("compact",zt)}};V.Button=Ee,V.ButtonBar=We,V.Card=xe,V.Carousel=Xe,V.Checkbox=un,V.Dialog=Se,V.DotMenu=wt,V.FormField=ae,V.FormLayout=Lt,V.FormSection=Nt,V.Icon=te,V.IconNames=N,V.IconSize=T,V.Input=De,V.InputSelect=Tt,V.InputSlider=At,V.InputText=Ot,V.InputTextArea=Mt,V.LinkButton=kt,V.Menu=Ct,V.MenuAction=Vt,V.Page=_t,V.Paginator=Bt,V.SearchField=Et,V.Select=Oe,V.Separator=xt,V.Shell=Dt,V.ShellNavigation=ze,V.ShellNavigationItem=Pt,V.Tab=vt,V.TabView=St,V.TextArea=Pe,V.VjComponents=hl,V.VjNavigationProviderKey=Ut,V.compactDirective=zt,V.configureVueUI=Ro,V.dialogService=Kt,V.getVueUIConfig=$t,V.resetVueUIConfig=$o,V.useAsideService=Xt,V.useDebounce=ul,V.useDialog=pl,V.useFlow=fl,V.useRouterNavigationProvider=Ht,V.useStaticNavigationProvider=il,V.vFocusFirst=jt,V.vResize=It,Object.defineProperty(V,Symbol.toStringTag,{value:"Module"})}));
|
|
1
|
+
(function(V,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):(V=typeof globalThis<"u"?globalThis:V||self,e(V.VanjanaVueUi={},V.Vue,V.VueRouter))})(this,(function(V,e,Ue){"use strict";const S=(t,o)=>{const n=t.__vccOpts||t;for(const[l,a]of o)n[l]=a;return n},tn={},nn={class:"button-bar"},on={class:"left"},ln={class:"right"};function an(t,o){return e.openBlock(),e.createElementBlock("div",nn,[e.createElementVNode("div",on,[e.renderSlot(t.$slots,"left",{},void 0,!0)]),e.createElementVNode("div",ln,[e.renderSlot(t.$slots,"default",{},void 0,!0)])])}const We=S(tn,[["render",an],["__scopeId","data-v-45a6ed1a"]]);var N=(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.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",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.INFO="fa-regular fa-circle-info",t.WARNING="fa-regular fa-triangle-exclamation",t.ERROR="fa-regular fa-circle-xmark",t.CHECK="fa-regular fa-circle-check",t.LOVE="fa-regular fa-heart",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.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))(N||{}),T=(t=>(t.S="icon-size-s",t.M="icon-size-m",t.L="icon-size-l",t))(T||{});const te=e.defineComponent({__name:"icon",props:{icon:{},size:{}},setup(t){const o=t,n=T.M,l=e.computed(()=>`${o.icon} ${o.size??n}`);return(a,r)=>(e.openBlock(),e.createElementBlock("i",{class:e.normalizeClass(l.value)},null,2))}}),rn=["disabled"],Ee=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=T.S,l=e.computed(()=>o.primary?"primary":o.secondary?"secondary":o.tertiary?"tertiary":"primary"),a=e.computed(()=>!o.label&&!!o.icon);return(r,i)=>(e.openBlock(),e.createElementBlock("button",{class:e.normalizeClass(["button",l.value,{"icon-only":a.value}]),disabled:t.disabled},[t.icon?(e.openBlock(),e.createBlock(te,{key:0,icon:t.icon,size:e.unref(n)},null,8,["icon","size"])):e.createCommentVNode("",!0),e.createTextVNode(" "+e.toDisplayString(t.label),1)],10,rn))}}),[["__scopeId","data-v-f31c33cf"]]),sn={key:0,class:"header-actions"},cn={key:0},xe=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",sn,[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"]]),dn={class:"checkbox"},un=["checked","disabled"],fn={key:0,class:"checkbox-label"},mn=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",dn,[e.createElementVNode("input",{type:"checkbox",checked:o.value,onChange:n,disabled:t.disabled,class:"checkbox-input"},null,40,un),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",fn,e.toDisplayString(t.label),1)):e.createCommentVNode("",!0)]))}}),[["__scopeId","data-v-e2d27ecb"]]),pn=["aria-label"],hn={key:0,class:"carousel-indicators"},Xe=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,r=o.pauseOnHover??!0,i=o.startIndex??0,c=o.ariaLabel??"Carousel",s=e.ref(Math.max(0,i)),d=e.ref(null),u=e.ref(null),f=e.ref(0),p=e.ref(0);let m=!1;const h=e.ref(0),w=e.ref(!1);let C=null,k=null;const _=e.ref(null),g=e.ref(null),v=()=>{h.value=d.value?d.value.children.length:0,h.value===0?s.value=0:s.value>=h.value&&(s.value=a?0:h.value-1),R()},x=e.computed(()=>f.value>0?{transform:`translateX(${-s.value*f.value+p.value}px)`}:{transform:`translateX(-${s.value*100}%)`}),R=()=>{d.value&&Array.from(d.value.children).forEach((B,Z)=>{try{Z===s.value?B.removeAttribute("aria-hidden"):B.setAttribute("aria-hidden","true")}catch{}})},b=()=>{y(),!(!n||h.value<=1)&&(r&&w.value||(C=setTimeout(()=>{$(),b()},l)))},y=()=>{C&&(clearTimeout(C),C=null)},E=()=>{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++)},L=B=>{B<0||B>=h.value||(s.value=B)},X=()=>{w.value=!0,r&&y()},K=()=>{w.value=!1,b()},q=B=>{B.key==="ArrowLeft"?E():B.key==="ArrowRight"&&$()};let se=0,j=0;const U=B=>{se=B.touches[0].clientX,j=0},A=B=>{j=B.touches[0].clientX-se},z=()=>{j>50?E():j<-50&&$(),j=0};let Be=0;const Yt=B=>{if(B.isPrimary!==!1&&!(B.pointerType==="mouse"&&B.button!==0)){m=!0,Be=B.clientX,p.value=0,y();try{B.target?.setPointerCapture?.(B.pointerId)}catch{}}},Jt=B=>{m&&(p.value=B.clientX-Be,B.preventDefault())},Qt=()=>{if(!m)return;m=!1;const B=Math.max(50,f.value*.15);p.value>B?E():p.value<-B&&$(),p.value=0,b()},Zt=B=>{try{B.target?.releasePointerCapture?.(B.pointerId)}catch{}Qt()},en=()=>Qt();return e.onMounted(()=>{e.nextTick(()=>{if(v(),d.value&&(k=new MutationObserver(v),k.observe(d.value,{childList:!0}),d.value.addEventListener("touchstart",U,{passive:!0}),d.value.addEventListener("touchmove",A,{passive:!0}),d.value.addEventListener("touchend",z)),u.value){const B=()=>{f.value=u.value?u.value.clientWidth:0};B();const Z=window.ResizeObserver;if(Z&&u.value){const ee=new Z(()=>B());ee.observe(u.value),_.value=ee}else window.addEventListener("resize",B),g.value=B;u.value&&(u.value.addEventListener("pointerdown",Yt),u.value.addEventListener("pointermove",Jt),u.value.addEventListener("pointerup",Zt),u.value.addEventListener("pointercancel",en))}R(),b()})}),e.onBeforeUnmount(()=>{y(),k&&d.value&&k.disconnect(),d.value&&(d.value.removeEventListener("touchstart",U),d.value.removeEventListener("touchmove",A),d.value.removeEventListener("touchend",z)),u.value&&(_.value&&_.value.disconnect&&_.value.disconnect(),g.value&&window.removeEventListener("resize",g.value),u.value.removeEventListener("pointerdown",Yt),u.value.removeEventListener("pointermove",Jt),u.value.removeEventListener("pointerup",Zt),u.value.removeEventListener("pointercancel",en))}),e.watch([s,()=>h.value],()=>{R()}),e.watch([()=>w.value,s],()=>{b()}),(B,Z)=>{const ee=e.resolveComponent("VjButton");return e.openBlock(),e.createElementBlock("div",{class:"carousel",role:"region","aria-roledescription":"carousel","aria-label":e.unref(c),tabindex:"0",onKeydown:q,onMouseenter:X,onMouseleave:K},[e.createElementVNode("div",{class:"carousel-window",ref_key:"windowRef",ref:u},[e.createElementVNode("div",{class:"carousel-track",ref_key:"track",ref:d,style:e.normalizeStyle(x.value)},[e.renderSlot(B.$slots,"default",{},void 0,!0)],4)],512),e.createVNode(ee,{class:"carousel-btn prev",icon:e.unref(N).PREVIOUS,onClick:E,type:"button","aria-label":"Previous slide"},null,8,["icon"]),e.createVNode(ee,{class:"carousel-btn next",icon:e.unref(N).NEXT,onClick:$,type:"button","aria-label":"Next slide"},null,8,["icon"]),h.value>1?(e.openBlock(),e.createElementBlock("div",hn,[(e.openBlock(!0),e.createElementBlock(e.Fragment,null,e.renderList(h.value,pe=>(e.openBlock(),e.createBlock(ee,{key:pe-1,class:e.normalizeClass(["indicator",{active:pe-1===s.value}]),onClick:ql=>L(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,pn)}}}),[["__scopeId","data-v-232abca2"]]),gn={class:"dialog-content"},bn={key:1},yn={class:"dialog-footer"},ve=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"],setup(t,{emit:o}){const n=t,l=o,a=e.ref(n.modelValue);e.watch(()=>n.modelValue,u=>a.value=u);const r=()=>{a.value=!1,l("update:modelValue",!1),l("close")},i=()=>{l("confirm"),r()},c=()=>{l("cancel"),r()},s=()=>{n.closeOnBackdrop&&r()},d=u=>{u.key==="Escape"&&n.closeOnEscape&&a.value&&r()};return e.onMounted(()=>{document.addEventListener("keydown",d)}),e.onBeforeUnmount(()=>{document.removeEventListener("keydown",d)}),(u,f)=>{const p=e.resolveComponent("VjIcon"),m=e.resolveComponent("VjButton"),h=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:s},[e.createVNode(e.Transition,{name:"dialog-scale"},{default:e.withCtx(()=>[a.value?(e.openBlock(),e.createElementBlock("div",{key:0,class:"dialog-wrapper",onClick:f[0]||(f[0]=e.withModifiers(()=>{},["stop"]))},[e.createVNode(h,{class:"dialog-card",header:t.title||""},e.createSlots({headerActions:e.withCtx(()=>[e.createVNode(p,{icon:e.unref(N).CLOSE,size:e.unref(T).S,class:"dialog-close",onClick:r},null,8,["icon","size"])]),default:e.withCtx(()=>[e.createElementVNode("div",gn,[t.component?(e.openBlock(),e.createBlock(e.resolveDynamicComponent(t.component),e.mergeProps({key:0},t.componentProps,{onClose:r}),null,16)):t.message?(e.openBlock(),e.createElementBlock("div",bn,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",yn,[e.renderSlot(u.$slots,"footer",{},()=>[t.showCancel?(e.openBlock(),e.createBlock(m,{key:0,secondary:"",onClick:c,label:t.cancelText},null,8,["label"])):e.createCommentVNode("",!0),e.createVNode(m,{primary:"",onClick:i,label:t.confirmText},null,8,["label"])],!0)])]),key:"0"}:void 0]),1032,["header"])])):e.createCommentVNode("",!0)]),_:3})])):e.createCommentVNode("",!0)]),_:3})])}}}),[["__scopeId","data-v-6af510b3"]]),ne=Math.min,M=Math.max,he=Math.round,ge=Math.floor,F=t=>({x:t,y:t}),wn={left:"right",right:"left",bottom:"top",top:"bottom"},kn={start:"end",end:"start"};function Ke(t,o,n){return M(t,ne(o,n))}function ce(t,o){return typeof t=="function"?t(o):t}function G(t){return t.split("-")[0]}function de(t){return t.split("-")[1]}function qe(t){return t==="x"?"y":"x"}function Ge(t){return t==="y"?"height":"width"}const Vn=new Set(["top","bottom"]);function W(t){return Vn.has(G(t))?"y":"x"}function Ye(t){return qe(W(t))}function _n(t,o,n){n===void 0&&(n=!1);const l=de(t),a=Ye(t),r=Ge(a);let i=a==="x"?l===(n?"end":"start")?"right":"left":l==="start"?"bottom":"top";return o.reference[r]>o.floating[r]&&(i=be(i)),[i,be(i)]}function Cn(t){const o=be(t);return[Se(t),o,Se(o)]}function Se(t){return t.replace(/start|end/g,o=>kn[o])}const Je=["left","right"],Qe=["right","left"],Bn=["top","bottom"],En=["bottom","top"];function xn(t,o,n){switch(t){case"top":case"bottom":return n?o?Qe:Je:o?Je:Qe;case"left":case"right":return o?Bn:En;default:return[]}}function vn(t,o,n,l){const a=de(t);let r=xn(G(t),n==="start",l);return a&&(r=r.map(i=>i+"-"+a),o&&(r=r.concat(r.map(Se)))),r}function be(t){return t.replace(/left|right|bottom|top/g,o=>wn[o])}function Sn(t){return{top:0,right:0,bottom:0,left:0,...t}}function Rn(t){return typeof t!="number"?Sn(t):{top:t,right:t,bottom:t,left:t}}function ye(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 Ze(t,o,n){let{reference:l,floating:a}=t;const r=W(o),i=Ye(o),c=Ge(i),s=G(o),d=r==="y",u=l.x+l.width/2-a.width/2,f=l.y+l.height/2-a.height/2,p=l[c]/2-a[c]/2;let m;switch(s){case"top":m={x:u,y:l.y-a.height};break;case"bottom":m={x:u,y:l.y+l.height};break;case"right":m={x:l.x+l.width,y:f};break;case"left":m={x:l.x-a.width,y:f};break;default:m={x:l.x,y:l.y}}switch(de(o)){case"start":m[i]-=p*(n&&d?-1:1);break;case"end":m[i]+=p*(n&&d?-1:1);break}return m}const $n=async(t,o,n)=>{const{placement:l="bottom",strategy:a="absolute",middleware:r=[],platform:i}=n,c=r.filter(Boolean),s=await(i.isRTL==null?void 0:i.isRTL(o));let d=await i.getElementRects({reference:t,floating:o,strategy:a}),{x:u,y:f}=Ze(d,l,s),p=l,m={},h=0;for(let w=0;w<c.length;w++){const{name:C,fn:k}=c[w],{x:_,y:g,data:v,reset:x}=await k({x:u,y:f,initialPlacement:l,placement:p,strategy:a,middlewareData:m,rects:d,platform:i,elements:{reference:t,floating:o}});u=_??u,f=g??f,m={...m,[C]:{...m[C],...v}},x&&h<=50&&(h++,typeof x=="object"&&(x.placement&&(p=x.placement),x.rects&&(d=x.rects===!0?await i.getElementRects({reference:t,floating:o,strategy:a}):x.rects),{x:u,y:f}=Ze(d,p,s)),w=-1)}return{x:u,y:f,placement:p,strategy:a,middlewareData:m}};async function Re(t,o){var n;o===void 0&&(o={});const{x:l,y:a,platform:r,rects:i,elements:c,strategy:s}=t,{boundary:d="clippingAncestors",rootBoundary:u="viewport",elementContext:f="floating",altBoundary:p=!1,padding:m=0}=ce(o,t),h=Rn(m),C=c[p?f==="floating"?"reference":"floating":f],k=ye(await r.getClippingRect({element:(n=await(r.isElement==null?void 0:r.isElement(C)))==null||n?C:C.contextElement||await(r.getDocumentElement==null?void 0:r.getDocumentElement(c.floating)),boundary:d,rootBoundary:u,strategy:s})),_=f==="floating"?{x:l,y:a,width:i.floating.width,height:i.floating.height}:i.reference,g=await(r.getOffsetParent==null?void 0:r.getOffsetParent(c.floating)),v=await(r.isElement==null?void 0:r.isElement(g))?await(r.getScale==null?void 0:r.getScale(g))||{x:1,y:1}:{x:1,y:1},x=ye(r.convertOffsetParentRelativeRectToViewportRelativeRect?await r.convertOffsetParentRelativeRectToViewportRelativeRect({elements:c,rect:_,offsetParent:g,strategy:s}):_);return{top:(k.top-x.top+h.top)/v.y,bottom:(x.bottom-k.bottom+h.bottom)/v.y,left:(k.left-x.left+h.left)/v.x,right:(x.right-k.right+h.right)/v.x}}const Ln=function(t){return t===void 0&&(t={}),{name:"flip",options:t,async fn(o){var n,l;const{placement:a,middlewareData:r,rects:i,initialPlacement:c,platform:s,elements:d}=o,{mainAxis:u=!0,crossAxis:f=!0,fallbackPlacements:p,fallbackStrategy:m="bestFit",fallbackAxisSideDirection:h="none",flipAlignment:w=!0,...C}=ce(t,o);if((n=r.arrow)!=null&&n.alignmentOffset)return{};const k=G(a),_=W(c),g=G(c)===c,v=await(s.isRTL==null?void 0:s.isRTL(d.floating)),x=p||(g||!w?[be(c)]:Cn(c)),R=h!=="none";!p&&R&&x.push(...vn(c,w,h,v));const b=[c,...x],y=await Re(o,C),E=[];let $=((l=r.flip)==null?void 0:l.overflows)||[];if(u&&E.push(y[k]),f){const q=_n(a,i,v);E.push(y[q[0]],y[q[1]])}if($=[...$,{placement:a,overflows:E}],!E.every(q=>q<=0)){var L,X;const q=(((L=r.flip)==null?void 0:L.index)||0)+1,se=b[q];if(se&&(!(f==="alignment"?_!==W(se):!1)||$.every(A=>W(A.placement)===_?A.overflows[0]>0:!0)))return{data:{index:q,overflows:$},reset:{placement:se}};let j=(X=$.filter(U=>U.overflows[0]<=0).sort((U,A)=>U.overflows[1]-A.overflows[1])[0])==null?void 0:X.placement;if(!j)switch(m){case"bestFit":{var K;const U=(K=$.filter(A=>{if(R){const z=W(A.placement);return z===_||z==="y"}return!0}).map(A=>[A.placement,A.overflows.filter(z=>z>0).reduce((z,Be)=>z+Be,0)]).sort((A,z)=>A[1]-z[1])[0])==null?void 0:K[0];U&&(j=U);break}case"initialPlacement":j=c;break}if(a!==j)return{reset:{placement:j}}}return{}}}},Nn=new Set(["left","top"]);async function Tn(t,o){const{placement:n,platform:l,elements:a}=t,r=await(l.isRTL==null?void 0:l.isRTL(a.floating)),i=G(n),c=de(n),s=W(n)==="y",d=Nn.has(i)?-1:1,u=r&&s?-1:1,f=ce(o,t);let{mainAxis:p,crossAxis:m,alignmentAxis:h}=typeof f=="number"?{mainAxis:f,crossAxis:0,alignmentAxis:null}:{mainAxis:f.mainAxis||0,crossAxis:f.crossAxis||0,alignmentAxis:f.alignmentAxis};return c&&typeof h=="number"&&(m=c==="end"?h*-1:h),s?{x:m*u,y:p*d}:{x:p*d,y:m*u}}const An=function(t){return t===void 0&&(t=0),{name:"offset",options:t,async fn(o){var n,l;const{x:a,y:r,placement:i,middlewareData:c}=o,s=await Tn(o,t);return i===((n=c.offset)==null?void 0:n.placement)&&(l=c.arrow)!=null&&l.alignmentOffset?{}:{x:a+s.x,y:r+s.y,data:{...s,placement:i}}}}},Mn=function(t){return t===void 0&&(t={}),{name:"shift",options:t,async fn(o){const{x:n,y:l,placement:a}=o,{mainAxis:r=!0,crossAxis:i=!1,limiter:c={fn:C=>{let{x:k,y:_}=C;return{x:k,y:_}}},...s}=ce(t,o),d={x:n,y:l},u=await Re(o,s),f=W(G(a)),p=qe(f);let m=d[p],h=d[f];if(r){const C=p==="y"?"top":"left",k=p==="y"?"bottom":"right",_=m+u[C],g=m-u[k];m=Ke(_,m,g)}if(i){const C=f==="y"?"top":"left",k=f==="y"?"bottom":"right",_=h+u[C],g=h-u[k];h=Ke(_,h,g)}const w=c.fn({...o,[p]:m,[f]:h});return{...w,data:{x:w.x-n,y:w.y-l,enabled:{[p]:r,[f]:i}}}}}},On=function(t){return t===void 0&&(t={}),{name:"size",options:t,async fn(o){var n,l;const{placement:a,rects:r,platform:i,elements:c}=o,{apply:s=()=>{},...d}=ce(t,o),u=await Re(o,d),f=G(a),p=de(a),m=W(a)==="y",{width:h,height:w}=r.floating;let C,k;f==="top"||f==="bottom"?(C=f,k=p===(await(i.isRTL==null?void 0:i.isRTL(c.floating))?"start":"end")?"left":"right"):(k=f,C=p==="end"?"top":"bottom");const _=w-u.top-u.bottom,g=h-u.left-u.right,v=ne(w-u[C],_),x=ne(h-u[k],g),R=!o.middlewareData.shift;let b=v,y=x;if((n=o.middlewareData.shift)!=null&&n.enabled.x&&(y=g),(l=o.middlewareData.shift)!=null&&l.enabled.y&&(b=_),R&&!p){const $=M(u.left,0),L=M(u.right,0),X=M(u.top,0),K=M(u.bottom,0);m?y=h-2*($!==0||L!==0?$+L:M(u.left,u.right)):b=w-2*(X!==0||K!==0?X+K:M(u.top,u.bottom))}await s({...o,availableWidth:y,availableHeight:b});const E=await i.getDimensions(c.floating);return h!==E.width||w!==E.height?{reset:{rects:!0}}:{}}}};function we(){return typeof window<"u"}function J(t){return $e(t)?(t.nodeName||"").toLowerCase():"#document"}function O(t){var o;return(t==null||(o=t.ownerDocument)==null?void 0:o.defaultView)||window}function I(t){var o;return(o=($e(t)?t.ownerDocument:t.document)||window.document)==null?void 0:o.documentElement}function $e(t){return we()?t instanceof Node||t instanceof O(t).Node:!1}function P(t){return we()?t instanceof Element||t instanceof O(t).Element:!1}function H(t){return we()?t instanceof HTMLElement||t instanceof O(t).HTMLElement:!1}function et(t){return!we()||typeof ShadowRoot>"u"?!1:t instanceof ShadowRoot||t instanceof O(t).ShadowRoot}const Pn=new Set(["inline","contents"]);function ue(t){const{overflow:o,overflowX:n,overflowY:l,display:a}=D(t);return/auto|scroll|overlay|hidden|clip/.test(o+l+n)&&!Pn.has(a)}const Dn=new Set(["table","td","th"]);function jn(t){return Dn.has(J(t))}const zn=[":popover-open",":modal"];function ke(t){return zn.some(o=>{try{return t.matches(o)}catch{return!1}})}const Fn=["transform","translate","scale","rotate","perspective"],In=["transform","translate","scale","rotate","perspective","filter"],Hn=["paint","layout","strict","content"];function Le(t){const o=Ne(),n=P(t)?D(t):t;return Fn.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)||In.some(l=>(n.willChange||"").includes(l))||Hn.some(l=>(n.contain||"").includes(l))}function Un(t){let o=Y(t);for(;H(o)&&!oe(o);){if(Le(o))return o;if(ke(o))return null;o=Y(o)}return null}function Ne(){return typeof CSS>"u"||!CSS.supports?!1:CSS.supports("-webkit-backdrop-filter","none")}const Wn=new Set(["html","body","#document"]);function oe(t){return Wn.has(J(t))}function D(t){return O(t).getComputedStyle(t)}function Ve(t){return P(t)?{scrollLeft:t.scrollLeft,scrollTop:t.scrollTop}:{scrollLeft:t.scrollX,scrollTop:t.scrollY}}function Y(t){if(J(t)==="html")return t;const o=t.assignedSlot||t.parentNode||et(t)&&t.host||I(t);return et(o)?o.host:o}function tt(t){const o=Y(t);return oe(o)?t.ownerDocument?t.ownerDocument.body:t.body:H(o)&&ue(o)?o:tt(o)}function fe(t,o,n){var l;o===void 0&&(o=[]),n===void 0&&(n=!0);const a=tt(t),r=a===((l=t.ownerDocument)==null?void 0:l.body),i=O(a);if(r){const c=Te(i);return o.concat(i,i.visualViewport||[],ue(a)?a:[],c&&n?fe(c):[])}return o.concat(a,fe(a,[],n))}function Te(t){return t.parent&&Object.getPrototypeOf(t.parent)?t.frameElement:null}function nt(t){const o=D(t);let n=parseFloat(o.width)||0,l=parseFloat(o.height)||0;const a=H(t),r=a?t.offsetWidth:n,i=a?t.offsetHeight:l,c=he(n)!==r||he(l)!==i;return c&&(n=r,l=i),{width:n,height:l,$:c}}function Ae(t){return P(t)?t:t.contextElement}function le(t){const o=Ae(t);if(!H(o))return F(1);const n=o.getBoundingClientRect(),{width:l,height:a,$:r}=nt(o);let i=(r?he(n.width):n.width)/l,c=(r?he(n.height):n.height)/a;return(!i||!Number.isFinite(i))&&(i=1),(!c||!Number.isFinite(c))&&(c=1),{x:i,y:c}}const Xn=F(0);function ot(t){const o=O(t);return!Ne()||!o.visualViewport?Xn:{x:o.visualViewport.offsetLeft,y:o.visualViewport.offsetTop}}function Kn(t,o,n){return o===void 0&&(o=!1),!n||o&&n!==O(t)?!1:o}function Q(t,o,n,l){o===void 0&&(o=!1),n===void 0&&(n=!1);const a=t.getBoundingClientRect(),r=Ae(t);let i=F(1);o&&(l?P(l)&&(i=le(l)):i=le(t));const c=Kn(r,n,l)?ot(r):F(0);let s=(a.left+c.x)/i.x,d=(a.top+c.y)/i.y,u=a.width/i.x,f=a.height/i.y;if(r){const p=O(r),m=l&&P(l)?O(l):l;let h=p,w=Te(h);for(;w&&l&&m!==h;){const C=le(w),k=w.getBoundingClientRect(),_=D(w),g=k.left+(w.clientLeft+parseFloat(_.paddingLeft))*C.x,v=k.top+(w.clientTop+parseFloat(_.paddingTop))*C.y;s*=C.x,d*=C.y,u*=C.x,f*=C.y,s+=g,d+=v,h=O(w),w=Te(h)}}return ye({width:u,height:f,x:s,y:d})}function _e(t,o){const n=Ve(t).scrollLeft;return o?o.left+n:Q(I(t)).left+n}function lt(t,o){const n=t.getBoundingClientRect(),l=n.left+o.scrollLeft-_e(t,n),a=n.top+o.scrollTop;return{x:l,y:a}}function qn(t){let{elements:o,rect:n,offsetParent:l,strategy:a}=t;const r=a==="fixed",i=I(l),c=o?ke(o.floating):!1;if(l===i||c&&r)return n;let s={scrollLeft:0,scrollTop:0},d=F(1);const u=F(0),f=H(l);if((f||!f&&!r)&&((J(l)!=="body"||ue(i))&&(s=Ve(l)),H(l))){const m=Q(l);d=le(l),u.x=m.x+l.clientLeft,u.y=m.y+l.clientTop}const p=i&&!f&&!r?lt(i,s):F(0);return{width:n.width*d.x,height:n.height*d.y,x:n.x*d.x-s.scrollLeft*d.x+u.x+p.x,y:n.y*d.y-s.scrollTop*d.y+u.y+p.y}}function Gn(t){return Array.from(t.getClientRects())}function Yn(t){const o=I(t),n=Ve(t),l=t.ownerDocument.body,a=M(o.scrollWidth,o.clientWidth,l.scrollWidth,l.clientWidth),r=M(o.scrollHeight,o.clientHeight,l.scrollHeight,l.clientHeight);let i=-n.scrollLeft+_e(t);const c=-n.scrollTop;return D(l).direction==="rtl"&&(i+=M(o.clientWidth,l.clientWidth)-a),{width:a,height:r,x:i,y:c}}const at=25;function Jn(t,o){const n=O(t),l=I(t),a=n.visualViewport;let r=l.clientWidth,i=l.clientHeight,c=0,s=0;if(a){r=a.width,i=a.height;const u=Ne();(!u||u&&o==="fixed")&&(c=a.offsetLeft,s=a.offsetTop)}const d=_e(l);if(d<=0){const u=l.ownerDocument,f=u.body,p=getComputedStyle(f),m=u.compatMode==="CSS1Compat"&&parseFloat(p.marginLeft)+parseFloat(p.marginRight)||0,h=Math.abs(l.clientWidth-f.clientWidth-m);h<=at&&(r-=h)}else d<=at&&(r+=d);return{width:r,height:i,x:c,y:s}}const Qn=new Set(["absolute","fixed"]);function Zn(t,o){const n=Q(t,!0,o==="fixed"),l=n.top+t.clientTop,a=n.left+t.clientLeft,r=H(t)?le(t):F(1),i=t.clientWidth*r.x,c=t.clientHeight*r.y,s=a*r.x,d=l*r.y;return{width:i,height:c,x:s,y:d}}function it(t,o,n){let l;if(o==="viewport")l=Jn(t,n);else if(o==="document")l=Yn(I(t));else if(P(o))l=Zn(o,n);else{const a=ot(t);l={x:o.x-a.x,y:o.y-a.y,width:o.width,height:o.height}}return ye(l)}function rt(t,o){const n=Y(t);return n===o||!P(n)||oe(n)?!1:D(n).position==="fixed"||rt(n,o)}function eo(t,o){const n=o.get(t);if(n)return n;let l=fe(t,[],!1).filter(c=>P(c)&&J(c)!=="body"),a=null;const r=D(t).position==="fixed";let i=r?Y(t):t;for(;P(i)&&!oe(i);){const c=D(i),s=Le(i);!s&&c.position==="fixed"&&(a=null),(r?!s&&!a:!s&&c.position==="static"&&!!a&&Qn.has(a.position)||ue(i)&&!s&&rt(t,i))?l=l.filter(u=>u!==i):a=c,i=Y(i)}return o.set(t,l),l}function to(t){let{element:o,boundary:n,rootBoundary:l,strategy:a}=t;const i=[...n==="clippingAncestors"?ke(o)?[]:eo(o,this._c):[].concat(n),l],c=i[0],s=i.reduce((d,u)=>{const f=it(o,u,a);return d.top=M(f.top,d.top),d.right=ne(f.right,d.right),d.bottom=ne(f.bottom,d.bottom),d.left=M(f.left,d.left),d},it(o,c,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}=nt(t);return{width:o,height:n}}function oo(t,o,n){const l=H(o),a=I(o),r=n==="fixed",i=Q(t,!0,r,o);let c={scrollLeft:0,scrollTop:0};const s=F(0);function d(){s.x=_e(a)}if(l||!l&&!r)if((J(o)!=="body"||ue(a))&&(c=Ve(o)),l){const m=Q(o,!0,r,o);s.x=m.x+o.clientLeft,s.y=m.y+o.clientTop}else a&&d();r&&!l&&a&&d();const u=a&&!l&&!r?lt(a,c):F(0),f=i.left+c.scrollLeft-s.x-u.x,p=i.top+c.scrollTop-s.y-u.y;return{x:f,y:p,width:i.width,height:i.height}}function Me(t){return D(t).position==="static"}function st(t,o){if(!H(t)||D(t).position==="fixed")return null;if(o)return o(t);let n=t.offsetParent;return I(t)===n&&(n=n.ownerDocument.body),n}function ct(t,o){const n=O(t);if(ke(t))return n;if(!H(t)){let a=Y(t);for(;a&&!oe(a);){if(P(a)&&!Me(a))return a;a=Y(a)}return n}let l=st(t,o);for(;l&&jn(l)&&Me(l);)l=st(l,o);return l&&oe(l)&&Me(l)&&!Le(l)?n:l||Un(t)||n}const lo=async function(t){const o=this.getOffsetParent||ct,n=this.getDimensions,l=await n(t.floating);return{reference:oo(t.reference,await o(t.floating),t.strategy),floating:{x:0,y:0,width:l.width,height:l.height}}};function ao(t){return D(t).direction==="rtl"}const io={convertOffsetParentRelativeRectToViewportRelativeRect:qn,getDocumentElement:I,getClippingRect:to,getOffsetParent:ct,getElementRects:lo,getClientRects:Gn,getDimensions:no,getScale:le,isElement:P,isRTL:ao};function dt(t,o){return t.x===o.x&&t.y===o.y&&t.width===o.width&&t.height===o.height}function ro(t,o){let n=null,l;const a=I(t);function r(){var c;clearTimeout(l),(c=n)==null||c.disconnect(),n=null}function i(c,s){c===void 0&&(c=!1),s===void 0&&(s=1),r();const d=t.getBoundingClientRect(),{left:u,top:f,width:p,height:m}=d;if(c||o(),!p||!m)return;const h=ge(f),w=ge(a.clientWidth-(u+p)),C=ge(a.clientHeight-(f+m)),k=ge(u),g={rootMargin:-h+"px "+-w+"px "+-C+"px "+-k+"px",threshold:M(0,ne(1,s))||1};let v=!0;function x(R){const b=R[0].intersectionRatio;if(b!==s){if(!v)return i();b?i(!1,b):l=setTimeout(()=>{i(!1,1e-7)},1e3)}b===1&&!dt(d,t.getBoundingClientRect())&&i(),v=!1}try{n=new IntersectionObserver(x,{...g,root:a.ownerDocument})}catch{n=new IntersectionObserver(x,g)}n.observe(t)}return i(!0),r}function ut(t,o,n,l){l===void 0&&(l={});const{ancestorScroll:a=!0,ancestorResize:r=!0,elementResize:i=typeof ResizeObserver=="function",layoutShift:c=typeof IntersectionObserver=="function",animationFrame:s=!1}=l,d=Ae(t),u=a||r?[...d?fe(d):[],...fe(o)]:[];u.forEach(k=>{a&&k.addEventListener("scroll",n,{passive:!0}),r&&k.addEventListener("resize",n)});const f=d&&c?ro(d,n):null;let p=-1,m=null;i&&(m=new ResizeObserver(k=>{let[_]=k;_&&_.target===d&&m&&(m.unobserve(o),cancelAnimationFrame(p),p=requestAnimationFrame(()=>{var g;(g=m)==null||g.observe(o)})),n()}),d&&!s&&m.observe(d),m.observe(o));let h,w=s?Q(t):null;s&&C();function C(){const k=Q(t);w&&!dt(w,k)&&n(),w=k,h=requestAnimationFrame(C)}return n(),()=>{var k;u.forEach(_=>{a&&_.removeEventListener("scroll",n),r&&_.removeEventListener("resize",n)}),f?.(),(k=m)==null||k.disconnect(),m=null,s&&cancelAnimationFrame(h)}}const ft=An,mt=Mn,pt=Ln,so=On,co=(t,o,n)=>{const l=new Map,a={platform:io,...n},r={...a.platform,_c:l};return $n(t,o,{...a,platform:r})};function uo(t){return t!=null&&typeof t=="object"&&"$el"in t}function ht(t){if(uo(t)){const o=t.$el;return $e(o)&&J(o)==="#comment"?null:o}return t}function me(t){return typeof t=="function"?t():e.unref(t)}function gt(t){return typeof window>"u"?1:(t.ownerDocument.defaultView||window).devicePixelRatio||1}function bt(t,o){const n=gt(t);return Math.round(o*n)/n}function yt(t,o,n){n===void 0&&(n={});const l=n.whileElementsMounted,a=e.computed(()=>{var b;return(b=me(n.open))!=null?b:!0}),r=e.computed(()=>me(n.middleware)),i=e.computed(()=>{var b;return(b=me(n.placement))!=null?b:"bottom"}),c=e.computed(()=>{var b;return(b=me(n.strategy))!=null?b:"absolute"}),s=e.computed(()=>{var b;return(b=me(n.transform))!=null?b:!0}),d=e.computed(()=>ht(t.value)),u=e.computed(()=>ht(o.value)),f=e.ref(0),p=e.ref(0),m=e.ref(c.value),h=e.ref(i.value),w=e.shallowRef({}),C=e.ref(!1),k=e.computed(()=>{const b={position:m.value,left:"0",top:"0"};if(!u.value)return b;const y=bt(u.value,f.value),E=bt(u.value,p.value);return s.value?{...b,transform:"translate("+y+"px, "+E+"px)",...gt(u.value)>=1.5&&{willChange:"transform"}}:{position:m.value,left:y+"px",top:E+"px"}});let _;function g(){if(d.value==null||u.value==null)return;const b=a.value;co(d.value,u.value,{middleware:r.value,placement:i.value,strategy:c.value}).then(y=>{f.value=y.x,p.value=y.y,m.value=y.strategy,h.value=y.placement,w.value=y.middlewareData,C.value=b!==!1})}function v(){typeof _=="function"&&(_(),_=void 0)}function x(){if(v(),l===void 0){g();return}if(d.value!=null&&u.value!=null){_=l(d.value,u.value,g);return}}function R(){a.value||(C.value=!1)}return e.watch([r,i,c,a],g,{flush:"sync"}),e.watch([d,u],x,{flush:"sync"}),e.watch(a,R,{flush:"sync"}),e.getCurrentScope()&&e.onScopeDispose(v),{x:e.shallowReadonly(f),y:e.shallowReadonly(p),strategy:e.shallowReadonly(m),placement:e.shallowReadonly(h),middlewareData:e.shallowReadonly(w),isPositioned:e.shallowReadonly(C),floatingStyles:k,update:g}}const wt=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),r=e.computed(()=>o.icon??N.DOT_MENU),{floatingStyles:i}=yt(l,a,{placement:"bottom-end",middleware:[ft(8),pt(),mt({padding:8})],whileElementsMounted:ut}),c=()=>{n.value=!n.value},s=()=>{n.value=!1},d=u=>{const f=u.target;f&&(f.closest(".menu-action")||f.closest('[role="menuitem"]')||f.closest("a"))&&s()};return(u,f)=>{const p=e.resolveComponent("VjButton"),m=e.resolveComponent("VjMenu");return e.openBlock(),e.createElementBlock(e.Fragment,null,[e.createElementVNode("div",{class:e.normalizeClass(["dot-menu-container",u.$attrs.class])},[e.createVNode(p,{ref_key:"buttonRef",ref:l,class:"dot-menu",tertiary:"",icon:r.value,onClick:c},null,8,["icon"]),e.createVNode(e.Transition,{name:"menu"},{default:e.withCtx(()=>[n.value?(e.openBlock(),e.createBlock(m,{key:0,ref_key:"floatingRef",ref:a,style:e.normalizeStyle(e.unref(i)),class:"menu-dropdown",onClose:s,onClick:d},{default:e.withCtx(()=>[e.renderSlot(u.$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-67bd71e4"]]),kt=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=T.S,l=e.computed(()=>o.primary?"primary":o.secondary?"secondary":o.tertiary?"tertiary":"primary");return(a,r)=>{const i=e.resolveComponent("router-link");return e.openBlock(),e.createBlock(i,{to:t.to,class:e.normalizeClass(["button",l.value]),disabled:t.disabled},{default:e.withCtx(()=>[t.icon?(e.openBlock(),e.createBlock(te,{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"],mo={class:"menu-action--icon"},Vt=S(e.defineComponent({__name:"menu-action",props:{label:{},icon:{},disabled:{type:Boolean}},setup(t){const o=T.S;return(n,l)=>(e.openBlock(),e.createElementBlock("button",{class:"menu-action button tertiary",disabled:t.disabled},[e.createElementVNode("span",mo,[t.icon?(e.openBlock(),e.createBlock(te,{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"]]),po={},ho={class:"menu"};function go(t,o){return e.openBlock(),e.createElementBlock("div",ho,[e.renderSlot(t.$slots,"default",{},void 0,!0)])}const _t=S(po,[["render",go],["__scopeId","data-v-259fec08"]]),Ct={mounted(t){t.classList.add("compact")},unmounted(t){t.classList.remove("compact")}},Bt=['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 bo(t){const o=t.querySelectorAll(Bt);for(const n of Array.from(o))if(n.offsetParent!==null||n.getClientRects().length>0)return n;return null}const Et={mounted(t,o){const n=typeof o.value=="number"?o.value:0,l=()=>{if(t.matches(Bt)){t.focus();return}const a=bo(t);a&&a.focus()};n>0?setTimeout(l,n):requestAnimationFrame(l)}};class Oe{static _instance=null;observer=null;targets=new Map;constructor(){this.init()}static get instance(){return this._instance||(this._instance=new Oe),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,r=o.target;for(const i of n.callbacks)try{i(l,a,r)}catch(c){console.error("resize callback error",c)}if(n.breakpoints){const i=Object.keys(n.breakpoints).map(s=>Number(s)).filter(s=>!Number.isNaN(s)).sort((s,d)=>s-d);let c;for(const s of i)l>=s&&(c=n.breakpoints[s]);c!==n.currentClass&&(n.currentClass&&o.target.classList.remove(n.currentClass),c&&o.target.classList.add(c),n.currentClass=c)}}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 r=new Set;n&&r.add(n),this.targets.set(o,{callbacks:r,breakpoints:l?.breakpoints}),this.observer&&this.observer.observe(o)}if(l?.immediate){const r=o.getBoundingClientRect(),i={target:o,contentRect:r};if(this.handleEntry(i),n){const c=r.width,s=r.height;n(c,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=Oe.instance,xt={mounted(t,o){const n=o.value,l=typeof n=="function"?n:n?.onResize,a=typeof n=="object"&&n?.breakpoints?n.breakpoints:void 0,r=typeof n=="object"&&!!n?.immediate,i=t;i.__resize_cb=l,i.__resize_breakpoints=a,l&&ae.observe(t,l,{breakpoints:a,immediate:r})},updated(t,o){const n=t,l=n.__resize_cb,a=n.__resize_breakpoints,r=o.value,i=typeof r=="function"?r:r?.onResize,c=typeof r=="object"&&r?.breakpoints?r.breakpoints:void 0;if(l!==i){l&&ae.unobserve(t,l),i&&ae.observe(t,i,{breakpoints:c,immediate:!!(r&&typeof r=="object"&&r.immediate)}),n.__resize_cb=i,n.__resize_breakpoints=c;return}JSON.stringify(a||{})!==JSON.stringify(c||{})&&(l&&ae.unobserve(t,l),i&&ae.observe(t,i,{breakpoints:c,immediate:!0}),n.__resize_breakpoints=c)},unmounted(t){const o=t,n=o.__resize_cb;n&&ae.unobserve(t,n),delete o.__resize_cb,delete o.__resize_breakpoints}},yo={},wo={class:"spinner"};function ko(t,o){return e.openBlock(),e.createElementBlock("div",wo)}const Vo=S(yo,[["render",ko],["__scopeId","data-v-661ad3b6"]]),_o=200,Co=120;function vt(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<=Co?(n.classList.add("vj-loading-inner--minimal"),a&&a.classList.add("vj-loading-text--hidden")):l<=_o&&n.classList.add("vj-loading-inner--small")}const St={mounted(t,o){let n,l;if(typeof o.value=="object"&&o.value!==null){const p=o.value;n=!!(p.active??!0),l=p.text}else n=!!o.value,l=void 0;const a=getComputedStyle(t),r={overlay:document.createElement("div")};(a.position==="static"||!a.position)&&(r.originalPosition=t.style.position,t.style.position="relative");const i=r.overlay;i.className="vj-loading-overlay",n||i.classList.add("vj-loading-overlay--hidden");const c=document.createElement("div"),s=document.createElement("div");s.className="vj-loading-inner",s.appendChild(c);let d;l&&(d=document.createElement("div"),d.className="vj-loading-text",d.textContent=l,s.appendChild(d)),i.appendChild(s),vt(t,i);const u=e.createVNode(Vo);e.render(u,c),r.spinnerVnode=u,r.spinnerContainer=c,n&&(t.setAttribute("aria-busy","true"),t.style.pointerEvents="none"),t.appendChild(i);const f=t;f.__vjLoading=r},updated(t,o){const l=t.__vjLoading;if(!l)return;const{overlay:a}=l;let r,i;if(typeof o.value=="object"&&o.value!==null){const s=o.value;r=!!(s.active??!0),i=s.text}else r=!!o.value,i=void 0;r?(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 c=a.querySelector(".vj-loading-inner");if(c){const s=c.querySelector(".vj-loading-text");if(s)i?s.textContent=i:s.remove();else if(i){const d=document.createElement("div");d.className="vj-loading-text",d.textContent=i,c.appendChild(d)}}vt(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}},Bo={class:"page"},Eo={key:0,class:"page-error"},xo={key:1,class:"contents"},vo={key:2,class:"actions"},So={key:3},Ro={key:0},Rt=S(e.defineComponent({__name:"page",props:{title:{},scrollable:{type:Boolean},errorMessage:{},flow:{},loadingMessage:{}},setup(t){const o=t,n=e.computed(()=>o.flow?.running?.value??!1);return(l,a)=>e.withDirectives((e.openBlock(),e.createElementBlock("div",Bo,[e.createElementVNode("header",null,[e.createElementVNode("h2",null,e.toDisplayString(t.title),1),e.createElementVNode("span",null,[e.renderSlot(l.$slots,"headerActions",{},void 0,!0)])]),e.createElementVNode("main",{class:e.normalizeClass({scrollable:t.scrollable})},[e.createTextVNode(e.toDisplayString(n.value)+" ",1),t.errorMessage?(e.openBlock(),e.createElementBlock("div",Eo,[e.renderSlot(l.$slots,"error",{},void 0,!0)])):e.createCommentVNode("",!0),t.errorMessage?e.createCommentVNode("",!0):(e.openBlock(),e.createElementBlock("div",xo,[e.renderSlot(l.$slots,"default",{},void 0,!0)])),t.errorMessage?e.createCommentVNode("",!0):(e.openBlock(),e.createElementBlock("div",vo,[e.renderSlot(l.$slots,"actions",{},void 0,!0)])),l.$slots.flexFooter?(e.openBlock(),e.createElementBlock("footer",So,[e.renderSlot(l.$slots,"flexFooter",{},void 0,!0)])):e.createCommentVNode("",!0)],2),l.$slots.footer?(e.openBlock(),e.createElementBlock("footer",Ro,[e.renderSlot(l.$slots,"footer",{},void 0,!0)])):e.createCommentVNode("",!0)])),[[e.unref(St),{active:n.value,text:o.loadingMessage}]])}}),[["__scopeId","data-v-89f776b0"]]),$o={class:"paginator-info","aria-live":"polite"},$t=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,r=e.computed(()=>Math.max(1,Math.ceil((n.totalItems??0)/n.pageSize))),i=e.computed(()=>Math.min(Math.max(1,l.value??1),r.value)),c=e.computed(()=>i.value),s=e.computed(()=>i.value<=1),d=e.computed(()=>i.value>=r.value),u=e.computed(()=>n.labels?.item??"Eintrag"),f=e.computed(()=>n.labels?.of??"von"),p=k=>{const _=Math.min(Math.max(1,Math.floor(k)),r.value);_!==l.value&&(l.value=_,a("change",_))},m=()=>p(1),h=()=>p(i.value-1),w=()=>p(i.value+1),C=()=>p(r.value);return e.watch([()=>n.totalItems,()=>n.pageSize],()=>{l.value>r.value&&p(r.value)}),(k,_)=>{const g=e.resolveComponent("VjButton");return e.openBlock(),e.createElementBlock("nav",{class:"paginator","aria-label":"Pagination",onKeydown:_[0]||(_[0]=e.withKeys(e.withModifiers(()=>{},["prevent"]),["enter"]))},[e.createVNode(g,{tertiary:"",class:"paginator-btn",icon:e.unref(N).FIRST,disabled:s.value,onClick:m,"aria-label":"First page"},null,8,["icon","disabled"]),e.createVNode(g,{tertiary:"",class:"paginator-btn",icon:e.unref(N).PREVIOUS,disabled:s.value,onClick:h,"aria-label":"Previous page"},null,8,["icon","disabled"]),e.renderSlot(k.$slots,"info",{current:i.value,totalPages:r.value,goTo:p},()=>[e.createElementVNode("div",$o,e.toDisplayString(u.value)+" "+e.toDisplayString(c.value)+" "+e.toDisplayString(f.value)+" "+e.toDisplayString(r.value),1)],!0),e.createVNode(g,{tertiary:"",class:"paginator-btn",icon:e.unref(N).NEXT,disabled:d.value,onClick:w,"aria-label":"Next page"},null,8,["icon","disabled"]),e.createVNode(g,{tertiary:"",class:"paginator-btn",icon:e.unref(N).LAST,disabled:d.value,onClick:C,"aria-label":"Last page"},null,8,["icon","disabled"])],32)}}}),[["__scopeId","data-v-b6fa8efe"]]),Lo={class:"search-field"},No=["value","placeholder"],Lt=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=r=>{o.value=r.target.value},l=()=>{o.value=""},a=e.computed(()=>!o.value);return(r,i)=>{const c=e.resolveComponent("VjIcon");return e.openBlock(),e.createElementBlock("div",Lo,[e.createVNode(c,{icon:e.unref(N).SEARCH,size:e.unref(T).S},null,8,["icon","size"]),e.createElementVNode("input",{value:o.value,onInput:n,type:"text",placeholder:t.placeholder},null,40,No),e.createVNode(c,{class:e.normalizeClass(["reset",{invisible:a.value}]),icon:e.unref(N).CLOSE,size:e.unref(T).S,onClick:l},null,8,["class","icon","size"])])}}}),[["__scopeId","data-v-2771c8ed"]]),Nt=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"]]),To={class:"tab-view"},Ao={ref:"headerRef",class:"tab-view-header"},Mo=["onClick"],Oo={class:"tab-view-content"},Tt=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)"}),r=(d,u)=>{d&&(l.value[u]=d)},i=()=>{const d=n.value.findIndex(u=>u.name===o.value);if(d>=0&&l.value[d]){const u=l.value[d],f=u.offsetWidth,p=u.offsetLeft;a.value={width:`${f}px`,transform:`translateX(${p}px)`}}},c=(d,u)=>{n.value.find(f=>f.name===d)||(n.value.push({name:d,label:u}),e.nextTick(()=>{!o.value&&n.value.length===1&&(o.value=d),i()}))},s=d=>{o.value=d};return e.watch(o,()=>{e.nextTick(()=>{i()})}),e.provide("tabView",{activeTab:()=>o.value,registerTab:c}),(d,u)=>(e.openBlock(),e.createElementBlock("div",To,[e.createElementVNode("div",Ao,[(e.openBlock(!0),e.createElementBlock(e.Fragment,null,e.renderList(n.value,(f,p)=>(e.openBlock(),e.createElementBlock("div",{key:f.name,ref_for:!0,ref:m=>r(m,p),class:e.normalizeClass(["tab-button",{active:o.value===f.name}]),onClick:m=>s(f.name)},e.toDisplayString(f.label),11,Mo))),128)),u[0]||(u[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",Oo,[e.renderSlot(d.$slots,"default",{},void 0,!0)])]))}}),[["__scopeId","data-v-3d4ee454"]]),Po={key:0,class:"tab"},At=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,r)=>l.value?(e.openBlock(),e.createElementBlock("div",Po,[e.renderSlot(a.$slots,"default")])):e.createCommentVNode("",!0)}}),Mt={form:{labelPosition:"inline"}};let Ce={};function Do(t){Ce={...Ce,...t,form:{...Mt.form,...t.form}}}function Ot(){return{form:{...Mt.form,...Ce.form}}}function jo(){Ce={}}const zo=["data-colspan","data-newline"],Fo=["for"],Io={class:"form-field__wrapper"},Ho=["for"],Uo={key:1,class:"form-field__error"},ie=S(e.defineComponent({__name:"form-field",props:{modelValue:{},label:{},id:{},placeholder:{},disabled:{type:Boolean},colspan:{},newLine:{type:Boolean},spanRow:{type:Boolean},error:{},labelPosition:{}},emits:["update:modelValue","focus","blur"],setup(t,{emit:o}){const n=t,l=o,a=e.ref(n.modelValue),r=e.ref(!1),i=e.computed(()=>`form-field-${n.id??Math.random().toString(36).slice(2)}`),c=e.computed(()=>n.labelPosition??Ot().form.labelPosition);e.watch(()=>n.modelValue,m=>a.value=m);const s=e.computed(()=>{if(console.log(n.labelPosition,c.value,r.value,a.value),c.value==="outline")return!0;const m=a.value!==""&&a.value!==null&&a.value!==void 0;return r.value||m}),d=e.computed(()=>c.value==="outline"||s.value?n.placeholder:"");function u(m){const w=m.target.value;a.value=w,l("update:modelValue",w)}function f(m){r.value=!0,l("focus",m)}function p(m){r.value=!1,l("blur",m)}return(m,h)=>(e.openBlock(),e.createElementBlock("div",{class:e.normalizeClass(["form-field",`form-field--${c.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&&c.value==="outline"?(e.openBlock(),e.createElementBlock("label",{key:0,for:i.value,class:"form-field__label-outline"},e.toDisplayString(t.label),9,Fo)):e.createCommentVNode("",!0),e.createElementVNode("div",Io,[e.renderSlot(m.$slots,"control",{id:i.value,value:a.value,onInput:u,onFocus:f,onBlur:p,disabled:t.disabled,placeholder:d.value},void 0,!0),t.label&&c.value==="inline"?(e.openBlock(),e.createElementBlock("label",{key:0,for:i.value,class:e.normalizeClass(["form-field__label",{"form-field__label--float":s.value}])},e.toDisplayString(t.label),11,Ho)):e.createCommentVNode("",!0)]),t.error?(e.openBlock(),e.createElementBlock("div",Uo,e.toDisplayString(t.error),1)):e.createCommentVNode("",!0)],14,zo))}}),[["__scopeId","data-v-bb7aeb5f"]]),Pt=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(i=>{const c=i.getAttribute("data-colspan"),s=c?Math.max(1,Number(c)||1):1,d=i.getAttribute("data-newline");d!==null&&d!=="false"?i.style.gridColumn="1 / -1":i.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)),(r,i)=>(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(r.$slots,"default",{},void 0,!0)],4))}}),[["__scopeId","data-v-96f62ab7"]]),Wo={key:0,class:"form-section__title","data-newline":""},Dt=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",Wo,e.toDisplayString(t.title),1)):e.createCommentVNode("",!0),e.renderSlot(o.$slots,"default",{},void 0,!0)],64))}}),[["__scopeId","data-v-69cff1d0"]]),Xo=["id","disabled"],Ko={class:"select-value"},qo={key:1,class:"select-placeholder"},Go={class:"select-options"},Yo=["onClick","onMouseenter"],Pe=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),r=e.ref(-1),i=e.ref(null),c=e.ref(null),s=e.ref(null),{floatingStyles:d}=yt(c,s,{placement:"bottom-start",middleware:[ft(4),pt(),mt({padding:8}),so({apply({rects:g,elements:v}){Object.assign(v.floating.style,{minWidth:`${g.reference.width}px`})}})],whileElementsMounted:ut}),u=g=>n.optionLabel?typeof n.optionLabel=="function"?n.optionLabel(g):String(g[n.optionLabel]):String(g),f=g=>n.optionValue?typeof n.optionValue=="function"?n.optionValue(g):g[n.optionValue]:g,p=e.computed(()=>n.options.find(g=>f(g)===l.value)),m=g=>f(g)===l.value,h=()=>{n.disabled||(a.value=!a.value)},w=()=>{a.value=!1,r.value=-1},C=g=>{l.value=f(g),w()},k=()=>{l.value=void 0},_=g=>{a.value&&i.value&&!i.value.contains(g.target)&&w()};return e.onMounted(()=>{document.addEventListener("click",_)}),e.onBeforeUnmount(()=>{document.removeEventListener("click",_)}),e.watch(a,g=>{g&&p.value&&(r.value=n.options.findIndex(v=>m(v)))}),o({focus:()=>c.value?.focus(),blur:()=>c.value?.blur()}),(g,v)=>{const x=e.resolveComponent("VjIcon");return e.openBlock(),e.createElementBlock(e.Fragment,null,[e.createElementVNode("div",{ref_key:"selectRef",ref:i,class:e.normalizeClass(["select",g.$attrs.class])},[e.createElementVNode("button",{ref_key:"buttonRef",ref:c,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(T).S,class:"select-icon-left"},null,8,["icon","size"])):e.createCommentVNode("",!0),e.createElementVNode("span",Ko,[p.value?e.renderSlot(g.$slots,"selected",{key:0,option:p.value},()=>[e.createTextVNode(e.toDisplayString(u(p.value)),1)],!0):(e.openBlock(),e.createElementBlock("span",qo,e.toDisplayString(t.placeholder),1))]),n.clearable&&p.value&&!t.disabled?(e.openBlock(),e.createBlock(x,{key:1,icon:e.unref(N).CLOSE,size:e.unref(T).S,class:"select-clear-icon",onClick:e.withModifiers(k,["stop"])},null,8,["icon","size"])):e.createCommentVNode("",!0),e.createVNode(x,{icon:e.unref(N).CHEVRON_DOWN,size:e.unref(T).S,class:e.normalizeClass(["select-icon-right",{open:a.value}])},null,8,["icon","size","class"])],8,Xo),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(d)),class:"select-dropdown"},[e.createElementVNode("div",Go,[(e.openBlock(!0),e.createElementBlock(e.Fragment,null,e.renderList(t.options,(R,b)=>(e.openBlock(),e.createElementBlock("div",{key:String(f(R)),class:e.normalizeClass(["select-option",{selected:m(R),highlighted:r.value===b}]),onClick:y=>C(R),onMouseenter:y=>r.value=b},[e.renderSlot(g.$slots,"option",{option:R,selected:m(R)},()=>[e.createTextVNode(e.toDisplayString(u(R)),1)],!0)],42,Yo))),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"]]),jt=e.defineComponent({__name:"input-select",props:{modelValue:{},label:{},id:{},placeholder:{},disabled:{type:Boolean},colspan:{},newLine:{type:Boolean},spanRow:{type:Boolean},error:{},labelPosition:{},options:{}},emits:["update:modelValue","input","focus","blur"],setup(t,{emit:o}){const n=t,l=o,a=e.ref(n.modelValue),r=i=>{a.value=i,l("update:modelValue",i)};return(i,c)=>(e.openBlock(),e.createBlock(ie,{modelValue:a.value,"onUpdate:modelValue":r,label:n.label,id:n.id,placeholder:n.placeholder,disabled:n.disabled,colspan:n.colspan,newLine:n.newLine,spanRow:n.spanRow,error:n.error,labelPosition:n.labelPosition},{control:e.withCtx(({id:s,disabled:d,placeholder:u})=>[e.createVNode(Pe,{id:s,modelValue:a.value,"onUpdate:modelValue":[c[0]||(c[0]=f=>a.value=f),r],options:n.options,placeholder:u,disabled:d,"option-label":f=>f.label,"option-value":f=>f.value,clearable:""},e.createSlots({_:2},[i.$slots.selected?{name:"selected",fn:e.withCtx(({option:f})=>[e.renderSlot(i.$slots,"selected",{option:f})]),key:"0"}:void 0,i.$slots.option?{name:"option",fn:e.withCtx(({option:f})=>[e.renderSlot(i.$slots,"option",{option:f})]),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","labelPosition"]))}}),Jo=["aria-valuemin","aria-valuemax","aria-valuenow","aria-label"],Qo=["aria-valuemin","aria-valuemax","aria-valuenow"],Zo=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),r=e.ref(!1),i=e.ref(!1),c=(b,y,E)=>Math.min(Math.max(b,y),E),s=e.ref(n.range?Array.isArray(n.modelValue)?n.modelValue[0]:n.min:typeof n.modelValue=="number"?n.modelValue:n.min),d=e.ref(n.range&&Array.isArray(n.modelValue)?n.modelValue[1]:n.max);e.watch(()=>n.modelValue,b=>{n.range?Array.isArray(b)&&(s.value=c(b[0],n.min,n.max),d.value=c(b[1],n.min,n.max)):typeof b=="number"&&(s.value=c(b,n.min,n.max))},{immediate:!0});const u=b=>(b-n.min)/(n.max-n.min)*100,f=e.computed(()=>({left:`${u(s.value)}%`})),p=e.computed(()=>({left:`${u(d.value)}%`})),m=e.computed(()=>{if(!n.range)return{width:`${u(s.value)}%`,left:"0%"};const b=u(s.value),y=u(d.value);return{left:`${b}%`,width:`${Math.max(0,y-b)}%`}});let h=null,w=null;const C=async(b,y)=>{h=b,w=y.pointerId,b==="low"?r.value=!0:i.value=!0;try{y.target.setPointerCapture(y.pointerId)}catch{}window.addEventListener("pointermove",_),window.addEventListener("pointerup",k)},k=b=>{if(w!=null&&b)try{b.target.releasePointerCapture(b.pointerId)}catch{}h=null,w=null,r.value=!1,i.value=!1,window.removeEventListener("pointermove",_),window.removeEventListener("pointerup",k),x()},_=b=>{if(!h||!a.value)return;const y=a.value.getBoundingClientRect(),E=c(b.clientX-y.left,0,y.width),$=n.min+E/y.width*(n.max-n.min),L=Math.round($/n.step)*n.step;h==="low"?n.range?s.value=Math.min(L,d.value):s.value=c(L,n.min,n.max):h==="high"&&(d.value=Math.max(L,s.value))},g=b=>{if(!a.value)return;const y=a.value.getBoundingClientRect(),E=c(b.clientX-y.left,0,y.width),$=n.min+E/y.width*(n.max-n.min),L=Math.round($/n.step)*n.step;if(n.range){const X=Math.abs(L-s.value),K=Math.abs(L-d.value);X<=K?s.value=Math.min(L,d.value):d.value=Math.max(L,s.value)}else s.value=c(L,n.min,n.max);x()},v=(b,y)=>{const E=n.step,$=y.key==="ArrowLeft"||y.key==="ArrowDown"?-1:y.key==="ArrowRight"||y.key==="ArrowUp"?1:0;if($){if(b==="low"){const L=c(s.value+$*E,n.min,n.range?d.value:n.max);s.value=L,r.value=!0,setTimeout(()=>r.value=!1,800)}else{const L=c(d.value+$*E,n.range?s.value:n.max,n.max);d.value=L,i.value=!0,setTimeout(()=>i.value=!1,800)}x()}},x=()=>{n.range?(l("update:modelValue",[s.value,d.value]),l("change",[s.value,d.value])):(l("update:modelValue",s.value),l("change",s.value))};e.onBeforeUnmount(()=>{window.removeEventListener("pointermove",_),window.removeEventListener("pointerup",k)}),e.watch([()=>n.min,()=>n.max],()=>{s.value=c(s.value,n.min,n.max),d.value=c(d.value,n.min,n.max)});const R=e.computed(()=>n.range);return e.nextTick(()=>{n.modelValue===void 0&&(n.range?l("update:modelValue",[s.value,d.value]):l("update:modelValue",s.value))}),(b,y)=>(e.openBlock(),e.createElementBlock("div",{class:"vj-slider",onPointerdown:y[8]||(y[8]=e.withModifiers(()=>{},["stop"]))},[e.createElementVNode("div",{class:"track",ref_key:"track",ref:a,onClick:g},[e.createElementVNode("div",{class:"range",style:e.normalizeStyle(m.value)},null,4),r.value?(e.openBlock(),e.createElementBlock("div",{key:0,class:"tooltip",style:e.normalizeStyle({left:f.value.left})},e.toDisplayString(s.value),5)):e.createCommentVNode("",!0),e.createElementVNode("button",{class:"handle low",style:e.normalizeStyle(f.value),"aria-valuemin":t.min,"aria-valuemax":t.max,"aria-valuenow":s.value,"aria-label":R.value?"Lower value":"Value",onPointerdown:y[0]||(y[0]=e.withModifiers(E=>C("low",E),["prevent"])),onFocus:y[1]||(y[1]=E=>r.value=!0),onBlur:y[2]||(y[2]=E=>r.value=!1),onKeydown:y[3]||(y[3]=e.withModifiers(E=>v("low",E),["stop","prevent"])),role:"slider",tabindex:"0"},null,44,Jo),R.value&&i.value?(e.openBlock(),e.createElementBlock("div",{key:1,class:"tooltip",style:e.normalizeStyle({left:p.value.left})},e.toDisplayString(d.value),5)):e.createCommentVNode("",!0),R.value?(e.openBlock(),e.createElementBlock("button",{key:2,class:"handle high",style:e.normalizeStyle(p.value),"aria-valuemin":t.min,"aria-valuemax":t.max,"aria-valuenow":d.value,"aria-label":"Upper value",onPointerdown:y[4]||(y[4]=e.withModifiers(E=>C("high",E),["prevent"])),onFocus:y[5]||(y[5]=E=>i.value=!0),onBlur:y[6]||(y[6]=E=>i.value=!1),onKeydown:y[7]||(y[7]=e.withModifiers(E=>v("high",E),["stop","prevent"])),role:"slider",tabindex:"0"},null,44,Qo)):e.createCommentVNode("",!0)],512)],32))}}),[["__scopeId","data-v-d47c7475"]]),el=["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:{},labelPosition:{},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),r=e.ref(Number.isNaN(a)?0:a),i=c=>{const s=typeof c=="number"?c:Number(c??0);r.value=Number.isNaN(s)?0:s,l("update:modelValue",r.value),l("input",r.value)};return(c,s)=>(e.openBlock(),e.createBlock(ie,{modelValue:r.value,"onUpdate:modelValue":i,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:d,disabled:u,placeholder:f,onFocus:p,onBlur:m})=>[e.createElementVNode("div",{class:"input-slider__control",onFocusin:p,onFocusout:m},[e.createVNode(Zo,{id:d,modelValue:r.value,"onUpdate:modelValue":s[0]||(s[0]=h=>r.value=h),min:n.min,max:n.max,step:n.step,range:!1,disabled:u},null,8,["id","modelValue","min","max","step","disabled"])],40,el)]),_:1},8,["modelValue","label","id","disabled","colspan","newLine","spanRow","error"]))}}),[["__scopeId","data-v-051e6d17"]]),tl={class:"textarea"},nl=["value","placeholder","disabled","rows"],De=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=d=>{l.value=d.target.value},r=()=>{l.value=""},i=d=>{n("focus",d)},c=d=>{n("blur",d)},s=e.computed(()=>!l.value);return(d,u)=>{const f=e.resolveComponent("VjIcon");return e.openBlock(),e.createElementBlock("div",tl,[t.icon?(e.openBlock(),e.createBlock(f,{key:0,icon:t.icon,size:e.unref(T).S,class:"textarea-icon"},null,8,["icon","size"])):e.createCommentVNode("",!0),e.createElementVNode("textarea",{value:l.value,onInput:a,onFocus:i,onBlur:c,placeholder:t.placeholder,disabled:t.disabled,rows:t.rows},null,40,nl),t.clearable&&!t.disabled?(e.openBlock(),e.createBlock(f,{key:1,class:e.normalizeClass(["clear-icon",{invisible:s.value}]),icon:e.unref(N).CLOSE,size:e.unref(T).S,onClick:r},null,8,["class","icon","size"])):e.createCommentVNode("",!0)])}}}),[["__scopeId","data-v-2ea43716"]]),Ft=e.defineComponent({__name:"input-text-area",props:{modelValue:{},label:{},id:{},placeholder:{},disabled:{type:Boolean},colspan:{},newLine:{type:Boolean},spanRow:{type:Boolean},error:{},labelPosition:{},rows:{}},emits:["update:modelValue","input","focus","blur"],setup(t,{emit:o}){const n=t,l=o,a=u=>l("update:modelValue",u),r=u=>l("input",u),i=u=>l("focus",u),c=u=>l("blur",u),s=u=>{a(u??"")},d=e.computed(()=>{const u=n.modelValue;return u==null?"":String(u)});return(u,f)=>(e.openBlock(),e.createBlock(ie,{modelValue:n.modelValue,"onUpdate:modelValue":a,onInput:r,onFocus:i,onBlur:c,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},{control:e.withCtx(({id:p,disabled:m,placeholder:h,onFocus:w,onBlur:C})=>[e.createVNode(De,{id:p,modelValue:d.value,"onUpdate:modelValue":s,onFocus:k=>{w(k),i(k)},onBlur:k=>{C(k),c(k)},placeholder:h,disabled:m,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"]))}}),ol={class:"input"},ll=["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=d=>{l.value=d.target.value},r=()=>{l.value=""},i=d=>{n("focus",d)},c=d=>{n("blur",d)},s=e.computed(()=>!l.value);return(d,u)=>{const f=e.resolveComponent("VjIcon");return e.openBlock(),e.createElementBlock("div",ol,[t.icon?(e.openBlock(),e.createBlock(f,{key:0,icon:t.icon,size:e.unref(T).S},null,8,["icon","size"])):e.createCommentVNode("",!0),e.createElementVNode("input",{value:l.value,onInput:a,onFocus:i,onBlur:c,type:t.type,placeholder:t.placeholder,disabled:t.disabled},null,40,ll),t.clearable&&!t.disabled?(e.openBlock(),e.createBlock(f,{key:1,class:e.normalizeClass(["clear-icon",{invisible:s.value}]),icon:e.unref(N).CLOSE,size:e.unref(T).S,onClick:r},null,8,["class","icon","size"])):e.createCommentVNode("",!0)])}}}),[["__scopeId","data-v-3187d49c"]]),It=e.defineComponent({__name:"input-text",props:{modelValue:{},label:{},id:{},placeholder:{},disabled:{type:Boolean},colspan:{},newLine:{type:Boolean},spanRow:{type:Boolean},error:{},labelPosition:{},type:{}},emits:["update:modelValue","input","focus","blur"],setup(t,{emit:o}){const n=o,l=s=>n("update:modelValue",s),a=s=>n("input",s),r=s=>n("focus",s),i=s=>n("blur",s),c=s=>{l(s??"")};return(s,d)=>(e.openBlock(),e.createBlock(ie,{modelValue:t.modelValue,"onUpdate:modelValue":l,onInput:a,onFocus:r,onBlur:i,label:t.label,id:t.id,placeholder:t.placeholder,disabled:t.disabled,colspan:t.colspan,newLine:t.newLine,spanRow:t.spanRow,error:t.error,labelPosition:t.labelPosition},{control:e.withCtx(({id:u,disabled:f,placeholder:p,onFocus:m,onBlur:h})=>[e.createVNode(je,{id:u,modelValue:t.modelValue,type:t.type,"onUpdate:modelValue":c,onFocus:w=>{m(w),r(w)},onBlur:w=>{h(w),i(w)},placeholder:p,disabled:f,clearable:""},null,8,["id","modelValue","type","onFocus","onBlur","placeholder","disabled"])]),_:1},8,["modelValue","label","id","placeholder","disabled","colspan","newLine","spanRow","error","labelPosition"]))}}),al={class:"shell-navigation-item"},il={class:"shell-navigation-item-label"},Ht=S(e.defineComponent({__name:"shell-navigation-item",props:{label:{},icon:{},to:{}},setup(t){return(o,n)=>{const l=e.resolveComponent("VjIcon"),a=e.resolveComponent("RouterLink");return e.openBlock(),e.createElementBlock("li",al,[e.createVNode(a,{to:t.to,class:"shell-navigation-item-link"},{default:e.withCtx(()=>[e.createVNode(l,{icon:t.icon,class:"shell-navigation-item-icon"},null,8,["icon"]),e.createElementVNode("label",il,e.toDisplayString(t.label),1)]),_:1},8,["to"])])}}}),[["__scopeId","data-v-d5c087be"]]),rl={class:"navigation-top"},sl={class:"navigation-bottom"},ze=S(e.defineComponent({__name:"shell-navigation",setup(t){const o=e.inject(Wt,Xt());console.log("navigationProvider",o);const n=e.computed(()=>o.showLabels);return(l,a)=>{const r=e.resolveComponent("VjShellNavigationItem");return e.openBlock(),e.createElementBlock("nav",{class:e.normalizeClass(["shell-navigation",{"with-labels":n.value}])},[e.createElementVNode("ul",rl,[e.unref(o).hasParent&&e.unref(o).backRoute.value?(e.openBlock(),e.createBlock(r,{key:0,to:e.unref(o).backRoute.value,label:"BACK",icon:e.unref(N).HOME},null,8,["to","icon"])):e.createCommentVNode("",!0),(e.openBlock(!0),e.createElementBlock(e.Fragment,null,e.renderList(e.unref(o).childRoutes.value,i=>(e.openBlock(),e.createBlock(r,{key:i.name,to:{name:i.name},label:i.meta.label,icon:i.meta.icon??e.unref(N).HOME},null,8,["to","label","icon"]))),128))]),e.createElementVNode("ul",sl,[e.renderSlot(l.$slots,"fixed",{},void 0,!0)])],2)}}}),[["__scopeId","data-v-0f990f5b"]]),cl={class:"shell"},dl={class:"shell-title"},ul=["src"],fl={class:"header-actions"},Ut=S(e.defineComponent({__name:"shell",props:{title:{},icon:{},showNavigation:{type:Boolean}},setup(t){const o=qt(),n=e.toRef(o,"asideComponent"),l=e.toRef(o,"hasAside"),a=e.toRef(o,"asideData"),r=e.computed(()=>{const i=a.value;return i&&typeof i=="object"?i:{}});return(i,c)=>{const s=e.resolveComponent("router-view");return e.openBlock(),e.createElementBlock("div",cl,[e.createElementVNode("header",null,[e.createElementVNode("span",dl,[t.icon?(e.openBlock(),e.createElementBlock("img",{key:0,src:t.icon,alt:"Shell Icon"},null,8,ul)):e.createCommentVNode("",!0),e.createElementVNode("h1",null,e.toDisplayString(t.title),1)]),e.createElementVNode("div",fl,[e.renderSlot(i.$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(ze),{key:0})):e.createCommentVNode("",!0),e.createElementVNode("main",null,[e.renderSlot(i.$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(r.value)),null,16))],2)],2),c[0]||(c[0]=e.createElementVNode("footer",null,null,-1))])}}}),[["__scopeId","data-v-336560c3"]]),Wt="navigationProvider";function ml(t){return!!t.meta&&"icon"in t.meta&&"label"in t.meta}const Xt=()=>{const t=Ue.useRouter(),o=Ue.useRoute(),n=!0,l=e.computed(()=>{const u=t.getRoutes();return u.filter(f=>f.path!=="/"&&!u.some(p=>p.children?.some(m=>m.name===f.name)))}),a=e.computed(()=>{const u=o.matched;return u.length?u[u.length-1]:null}),r=e.computed(()=>{const u=o.matched;return u.length>1?u[u.length-2]:null}),i=e.computed(()=>!!(a.value?.children?.length||r.value)),c=e.computed(()=>a.value?.children?.length?a.value:r.value?.children?.length?r.value:null),s=e.computed(()=>{if(!c.value)return null;const f=t.getRoutes().find(p=>p.children?.some(m=>m.name===c.value.name));return f?{name:f.name}:{path:"/"}}),d=e.computed(()=>{let u=[];return o.path==="/"?u=l.value:a.value?.children?.length?u=a.value.children:r.value?.children?.length?u=r.value.children:u=l.value,u.filter(ml)});return{hasParent:i,backRoute:s,childRoutes:d,showLabels:n}},pl=(t,o=!0,n=void 0)=>{const l=e.isRef(t)?t:e.ref(t),a=!!n,r=e.ref(n||null);return{hasParent:a,backRoute:r,childRoutes:l,showLabels:o}},Fe=e.ref(!1),Ie=e.ref(null),He=e.ref(null);let re=[];const Kt=t=>(re.push(t),()=>{re=re.filter(o=>o!==t)}),hl=(t,o)=>(re=[],Ie.value=t,He.value=o??null,Fe.value=!0,{onClose:n=>Kt(n)}),gl=t=>{try{re.forEach(o=>{try{o(t)}catch(n){console.error("aside onClose callback error",n)}})}finally{Fe.value=!1,setTimeout(bl,1e3)}},bl=()=>{re=[],Ie.value=null,He.value=null},yl={asideComponent:Ie,asideData:He,showAside:hl,closeAside:gl,onAsideClose:Kt,hasAside:Fe},qt=()=>yl,wl=(t,o)=>{let n=null;return(...a)=>{n&&clearTimeout(n),n=setTimeout(()=>{t(...a)},o)}},kl=()=>{const t=e.ref(!1),o=e.ref(null),n=()=>{o.value=null};class l{inner;defaultValue;handlers=[];constructor(i,c){this.inner=i,this.defaultValue=c}onError(i){return this.handlers.push(i),this}async exec(){o.value=null,t.value=!0;try{return await this.inner()}catch(i){o.value=i;for(const c of this.handlers)try{c(i)}catch(s){console.error("onError handler failed",s)}if(this.defaultValue!==void 0)return this.defaultValue;throw i}finally{t.value=!1}}then(i,c){return this.exec().then(i,c)}}function a(r,i){return new l(r,i)}return{run:a,running:t,error:o,clearError:n}};class Vl{containerElement=null;apps=[];ensureContainer(){return this.containerElement||(this.containerElement=document.createElement("div"),this.containerElement.id="vj-dialog-container",document.body.appendChild(this.containerElement)),this.containerElement}open(o){return new Promise(n=>{const l=this.ensureContainer(),a=document.createElement("div");l.appendChild(a);let r=!1;const i=()=>{r||(r=!0,setTimeout(()=>{const s=this.apps.find(d=>d.element===a);s&&(s.app.unmount(),this.apps=this.apps.filter(d=>d!==s)),a.remove()},300))},c=e.createApp({setup(){return()=>e.h(ve,{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),i()},onCancel:()=>{n(!1),i()},onClose:()=>{r||n(!1),i()}})}});c.component("VjCard",xe),c.component("VjIcon",te),c.component("VjButton",Ee),c.mount(a),this.apps.push({app:c,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 Gt=new Vl;function _l(){return Gt}const Cl={install(t){t.component("VjButton",Ee),t.component("VjButtonBar",We),t.component("VjCard",xe),t.component("VjCarousel",Xe),t.component("VjDotMenu",wt),t.component("VjIcon",te),t.component("VjLinkButton",kt),t.component("VjMenu",_t),t.component("VjMenuAction",Vt),t.component("VjPage",Rt),t.component("VjPaginator",$t),t.component("VjTab",At),t.component("VjTabView",Tt),t.component("VjDialog",ve),t.component("VjInput",je),t.component("VjSelect",Pe),t.component("VjTextArea",De),t.component("VjFormField",ie),t.component("VjFormLayout",Pt),t.component("VjFormSection",Dt),t.component("VjInputText",It),t.component("VjInputTextArea",Ft),t.component("VjInputSelect",jt),t.component("VjInputSlider",zt),t.component("VjShellNavigation",ze),t.component("VjShellNavigationItem",Ht),t.component("VjShell",Ut),t.component("VjSearchField",Lt),t.component("VjSeparator",Nt),t.directive("focus",Et),t.directive("resize",xt),t.directive("compact",Ct)}};V.Button=Ee,V.ButtonBar=We,V.Card=xe,V.Carousel=Xe,V.Checkbox=mn,V.Dialog=ve,V.DotMenu=wt,V.FormField=ie,V.FormLayout=Pt,V.FormSection=Dt,V.Icon=te,V.IconNames=N,V.IconSize=T,V.Input=je,V.InputSelect=jt,V.InputSlider=zt,V.InputText=It,V.InputTextArea=Ft,V.LinkButton=kt,V.Menu=_t,V.MenuAction=Vt,V.Page=Rt,V.Paginator=$t,V.SearchField=Lt,V.Select=Pe,V.Separator=Nt,V.Shell=Ut,V.ShellNavigation=ze,V.ShellNavigationItem=Ht,V.Tab=At,V.TabView=Tt,V.TextArea=De,V.VjComponents=Cl,V.VjNavigationProviderKey=Wt,V.compactDirective=Ct,V.configureVueUI=Do,V.dialogService=Gt,V.getVueUIConfig=Ot,V.resetVueUIConfig=jo,V.useAsideService=qt,V.useDebounce=wl,V.useDialog=_l,V.useFlow=kl,V.useRouterNavigationProvider=Xt,V.useStaticNavigationProvider=pl,V.vFocusFirst=Et,V.vLoading=St,V.vResize=xt,Object.defineProperty(V,Symbol.toStringTag,{value:"Module"})}));
|
package/dist/vue-ui.css
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
@charset "UTF-8";.button-bar[data-v-45a6ed1a]{display:flex;justify-content:space-between;align-items:center}.button-bar .left[data-v-45a6ed1a],.button-bar .right[data-v-45a6ed1a],.button[data-v-f31c33cf]{display:inline-flex;align-items:center}.card[data-v-ec6ab562]{display:flex;flex-direction:column;gap:var(--space-m);box-shadow:var(--box-shadow-container);border-radius:var(--border-radius-container);padding:var(--space-m)}.card header[data-v-ec6ab562]{display:flex;justify-content:space-between;align-items:center}.card header>span[data-v-ec6ab562]{display:flex;gap:var(--space-s)}.card footer[data-v-ec6ab562]{border-top:var(--border-footer);padding:var(--space-s) 0 0 0}.card.scrollable[data-v-ec6ab562]{overflow:hidden}.card.scrollable main[data-v-ec6ab562]{flex:1 1 auto;overflow-y:auto}.checkbox[data-v-e2d27ecb]{display:inline-flex;align-items:center;gap:.5rem;cursor:pointer;-webkit-user-select:none;user-select:none}.checkbox-input[data-v-e2d27ecb]{position:absolute;opacity:0;width:0;height:0}.checkbox-input:disabled+.checkbox-box[data-v-e2d27ecb]{opacity:.5;cursor:not-allowed}.checkbox-input:focus-visible+.checkbox-box[data-v-e2d27ecb]{outline:2px solid var(--color-primary, #007bff);outline-offset:2px}.checkbox-box[data-v-e2d27ecb]{display:flex;align-items:center;justify-content:center;width:20px;height:20px;border:2px solid var(--color-border, #ccc);border-radius:4px;transition:all .2s ease;background-color:var(--color-background, #fff)}.checkbox-icon[data-v-e2d27ecb]{width:16px;height:16px;color:var(--color-primary-contrast, #fff)}.checkbox-check[data-v-e2d27ecb]{stroke-dasharray:24;stroke-dashoffset:24;transition:stroke-dashoffset .3s ease}.checkbox-input:checked+.checkbox-box[data-v-e2d27ecb]{background-color:var(--color-primary, #007bff);border-color:var(--color-primary, #007bff)}.checkbox-input:checked+.checkbox-box .checkbox-check[data-v-e2d27ecb]{stroke-dashoffset:0}.checkbox-input:not(:checked)+.checkbox-box[data-v-e2d27ecb]:hover{border-color:var(--color-primary, #007bff)}.checkbox-label[data-v-e2d27ecb]{color:var(--color-text-primary, #333);font-size:1rem}.checkbox-input:disabled~.checkbox-label[data-v-e2d27ecb]{opacity:.5;cursor:not-allowed}.carousel[data-v-232abca2]{position:relative;overflow:visible;outline:none}.carousel-window[data-v-232abca2]{overflow:hidden}.carousel-track[data-v-232abca2]{display:flex;width:100%;transition:transform .4s ease}[data-v-232abca2] .carousel-slide{flex:0 0 100%;max-width:100%}.carousel-btn[data-v-232abca2]{position:absolute;top:50%;transform:translateY(-50%);cursor:pointer}.carousel-btn.prev[data-v-232abca2]{left:.5rem}.carousel-btn.next[data-v-232abca2]{right:.5rem}.carousel-indicators[data-v-232abca2]{position:absolute;left:50%;transform:translate(-50%);bottom:.5rem;display:flex;gap:.5rem}.indicator[data-v-232abca2]{width:10px;height:10px;border-radius:50%;background:#0000004d;border:none;padding:0;cursor:pointer}.indicator.active[data-v-232abca2]{background:#000c;scale:1.2}.indicator[data-v-232abca2]:hover{scale:1.5}.dialog-backdrop[data-v-6af510b3]{position:fixed;top:0;left:0;width:100vw;height:100vh;background:#00000080;display:flex;align-items:center;justify-content:center;z-index:1000}.dialog-wrapper[data-v-6af510b3]{max-width:90vw;max-height:90vh;overflow:auto}.dialog-card[data-v-6af510b3]{min-width:400px}.dialog-header[data-v-6af510b3]{display:flex;justify-content:space-between;align-items:center;width:100%}.dialog-title[data-v-6af510b3]{margin:0;font-size:1.25rem;font-weight:600}.dialog-close[data-v-6af510b3]{cursor:pointer;padding:.25rem}.dialog-close[data-v-6af510b3]:hover{opacity:.7}.dialog-content[data-v-6af510b3]{padding:0}.dialog-footer[data-v-6af510b3]{display:flex;justify-content:flex-end;gap:.5rem}.dialog-fade-enter-active[data-v-6af510b3],.dialog-fade-leave-active[data-v-6af510b3]{transition:opacity .2s ease}.dialog-fade-enter-from[data-v-6af510b3],.dialog-fade-leave-to[data-v-6af510b3]{opacity:0}.dialog-scale-enter-active[data-v-6af510b3],.dialog-scale-leave-active[data-v-6af510b3]{transition:transform .2s ease,opacity .2s ease}.dialog-scale-enter-from[data-v-6af510b3],.dialog-scale-leave-to[data-v-6af510b3]{transform:scale(.95);opacity:0}.dot-menu-container[data-v-67bd71e4]{position:relative}.dot-menu[data-v-67bd71e4]{border-radius:50%;aspect-ratio:1/1;cursor:pointer}.menu-dropdown[data-v-67bd71e4]{z-index:1000}.menu-backdrop[data-v-67bd71e4]{position:fixed;inset:0;z-index:999;background:transparent}.menu-enter-active[data-v-67bd71e4],.menu-leave-active[data-v-67bd71e4]{transition:opacity .2s ease,transform .2s ease}.menu-enter-from[data-v-67bd71e4],.menu-leave-to[data-v-67bd71e4]{opacity:0;transform:translateY(-8px)}.button[data-v-bd3cf2f5]{display:inline-flex;align-items:center}.menu-action[data-v-07850995]{display:flex;align-items:center;width:100%}.menu-action .menu-action--icon[data-v-07850995]{display:flex;align-items:center;justify-content:center}.menu[data-v-259fec08]{display:inline-flex;flex-direction:column}.page[data-v-1618f861]{display:flex;flex-direction:column;width:100%;height:100%}.page header[data-v-1618f861]{display:flex;align-items:center;justify-content:space-between}.page header>span[data-v-1618f861]{display:flex;align-items:center}.page main[data-v-1618f861]{flex:1 1 auto;overflow:auto;overflow:hidden}.page main.scrollable[data-v-1618f861]{overflow:auto}.page main footer[data-v-1618f861]{position:sticky;bottom:0}.paginator[data-v-b6fa8efe]{display:inline-flex;align-items:center;gap:.5rem}.paginator-info[data-v-b6fa8efe]{font-size:.9rem;color:#000c;padding:0 .5rem}.search-field[data-v-2771c8ed]{display:inline-flex}.search-field input[data-v-2771c8ed]{flex-grow:1}.search-field .reset[data-v-2771c8ed]{cursor:pointer}.search-field .invisible[data-v-2771c8ed]{opacity:0;pointer-events:none}.separator[data-v-e354bb4e]{width:100%;height:1px;background-color:#ddd}.separator.vertical[data-v-e354bb4e]{width:1px;height:100%}.tab-view[data-v-3d4ee454]{display:flex;flex-direction:column}.tab-view-header[data-v-3d4ee454]{display:flex;position:relative}.tab-button[data-v-3d4ee454]{cursor:pointer}.tab-indicator[data-v-3d4ee454]{position:absolute;bottom:0;left:0}.tab-line[data-v-3d4ee454]{position:absolute;bottom:0;left:0;right:0}.tab-view-content[data-v-3d4ee454]{flex:1}.form-field[data-v-4ab68d08]{margin-top:var(--space-s);position:relative;width:100%;font-family:inherit}.form-field .form-field__wrapper[data-v-4ab68d08]{position:relative;width:100%}.form-field.form-field--inline .form-field__label[data-v-4ab68d08]{position:absolute;top:50%;left:12px;transform:translateY(-50%);font-size:1rem;color:var(--color-text-secondary, #6b7280);background:transparent;padding:0 4px;transition:transform .2s ease,font-size .2s ease,top .2s ease,left .2s ease,color .2s ease;pointer-events:none;z-index:1}.form-field.form-field--inline .form-field__label--float[data-v-4ab68d08]{top:0;left:8px;transform:translateY(-50%);font-size:.75rem;font-weight:500;color:var(--color-primary, #3b82f6);background:var(--color-surface, white)}.form-field.form-field--outline .form-field__label-outline[data-v-4ab68d08]{display:block;margin-bottom:var(--space-xs, 4px);font-size:.875rem;font-weight:500;color:var(--color-text-secondary, inherit)}.form-field.error[data-v-4ab68d08] .input,.form-field.error[data-v-4ab68d08] .select-trigger,.form-field.error[data-v-4ab68d08] .textarea{outline-color:var(--color-error, #dc2626)!important}.form-field .form-field__error[data-v-4ab68d08]{margin-top:4px;font-size:.875rem;color:var(--color-error, #dc2626);line-height:1.4}.form-field.disabled[data-v-4ab68d08]{opacity:var(--opacity-disabled, .5)}.form-field.labelless[data-v-4ab68d08]{margin-top:0}.form-layout[data-v-96f62ab7]{display:grid;width:100%;align-items:start}.form-layout[data-v-96f62ab7]>*{box-sizing:border-box}.form-section__title[data-v-69cff1d0]{margin:var(--space-m) 0 var(--space-s) 0;font-size:1.125rem;font-weight:600;color:var(--color-text-primary, #333);border-bottom:1px solid var(--color-border, #e0e0e0);padding-bottom:var(--space-xs)}.select[data-v-fc22f0e9]{position:relative;width:100%}.select .select-trigger[data-v-fc22f0e9]{display:flex;align-items:center;justify-content:space-between;width:100%;text-align:left;cursor:pointer}.select .select-trigger[data-v-fc22f0e9]:hover:not(:disabled){border-color:var(--color-primary, #007bff)}.select .select-trigger[data-v-fc22f0e9]:disabled{opacity:.5;cursor:not-allowed}.select.form-field--control .select-trigger[data-v-fc22f0e9]{padding:0;background:transparent;border:none;border-radius:0}.select.form-field--control .select-trigger[data-v-fc22f0e9]:hover:not(:disabled){border-color:transparent}.select.form-field--control .select-trigger[data-v-fc22f0e9]:focus-visible{outline:none}.select .select-icon-left[data-v-fc22f0e9]{margin-right:.5rem;flex-shrink:0}.select .select-value[data-v-fc22f0e9]{flex:1;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.select .select-placeholder[data-v-fc22f0e9]{color:var(--color-text-secondary, #999)}.select .select-clear-icon[data-v-fc22f0e9]{margin-left:.5rem;cursor:pointer;flex-shrink:0;transition:opacity .2s}.select .select-clear-icon[data-v-fc22f0e9]:hover{opacity:.7}.select .select-icon-right[data-v-fc22f0e9]{margin-left:.5rem;transition:transform .2s;flex-shrink:0}.select .select-icon-right.open[data-v-fc22f0e9]{transform:rotate(180deg)}.select .select-dropdown[data-v-fc22f0e9]{z-index:1000;background-color:var(--color-background, #fff);border:1px solid var(--color-border, #ccc);border-radius:4px;box-shadow:0 4px 12px #00000026;max-height:300px;overflow:hidden}.select .select-options[data-v-fc22f0e9]{overflow-y:auto;max-height:300px}.select .select-option[data-v-fc22f0e9]{padding:.5rem .75rem;cursor:pointer;transition:background-color .15s}.select .select-option[data-v-fc22f0e9]:hover,.select .select-option.highlighted[data-v-fc22f0e9]{background-color:var(--color-hover, #f5f5f5)}.select .select-option.selected[data-v-fc22f0e9]{background-color:var(--color-primary-light, #e7f3ff);color:var(--color-primary, #007bff);font-weight:500}.select .select-backdrop[data-v-fc22f0e9]{position:fixed;inset:0;z-index:999;background:transparent}.select .dropdown-enter-active[data-v-fc22f0e9],.select .dropdown-leave-active[data-v-fc22f0e9]{transition:opacity .2s ease,transform .2s ease}.select .dropdown-enter-from[data-v-fc22f0e9],.select .dropdown-leave-to[data-v-fc22f0e9]{opacity:0;transform:translateY(-8px)}.vj-slider[data-v-d47c7475]{width:100%}.track[data-v-d47c7475]{position:relative;height:8px;background:#00000014;border-radius:4px}.range[data-v-d47c7475]{position:absolute;height:100%;background:#0078d4cc;border-radius:4px}.handle[data-v-d47c7475]{position:absolute;top:50%;transform:translate(-50%,-50%);width:18px;height:18px;background:#fff;border:2px solid rgba(0,0,0,.2);border-radius:50%;box-shadow:0 1px 2px #0000001f}.handle[data-v-d47c7475]:hover{border-color:#0006;width:20px;height:20px}.handle[data-v-d47c7475]:focus{outline:none;box-shadow:0 0 0 4px #0078d426}.tooltip[data-v-d47c7475]{position:absolute;transform:translate(-50%);bottom:calc(100% + 10px);background:#000000d9;color:#fff;padding:6px 8px;border-radius:4px;font-size:12px;line-height:1;white-space:nowrap;pointer-events:none;z-index:5}.tooltip[data-v-d47c7475]:after{content:"";position:absolute;left:50%;transform:translate(-50%);top:100%;width:0;height:0;border-left:6px solid transparent;border-right:6px solid transparent;border-top:6px solid rgba(0,0,0,.85)}.handle[data-v-d47c7475]{z-index:3}.input-slider__control[data-v-051e6d17]{display:flex;align-items:center;padding:var(--space-l) var(--space-m)}.input-slider__control[data-v-051e6d17] .vj-slider{width:100%}.textarea[data-v-2ea43716]{display:flex}.textarea .textarea-icon[data-v-2ea43716]{align-self:flex-start;margin-top:.25rem}.textarea textarea[data-v-2ea43716]{flex-grow:1;resize:vertical;min-height:80px}.textarea .clear-icon[data-v-2ea43716]{cursor:pointer;align-self:flex-start;margin-top:.25rem}.textarea .invisible[data-v-2ea43716]{opacity:0;pointer-events:none}.input[data-v-3187d49c]{display:flex}.input input[data-v-3187d49c]{flex-grow:1}.input .clear-icon[data-v-3187d49c]{cursor:pointer}.input .invisible[data-v-3187d49c]{opacity:0;pointer-events:none}.shell-navigation-item[data-v-d5c087be]{list-style:none}.shell-navigation-item .shell-navigation-item-link[data-v-d5c087be]{display:flex;flex-direction:column;justify-content:center;align-items:center}.shell-navigation-item .shell-navigation-item-icon[data-v-d5c087be]{font-size:1.5rem}.shell-navigation nav[data-v-0f990f5b]{height:100%;display:flex;flex-direction:column}.shell-navigation ul[data-v-0f990f5b]{display:flex;flex-direction:column;justify-content:flex-start}.shell-navigation ul li[data-v-0f990f5b]{list-style:none}.shell-navigation ul li .shell-navigation-link[data-v-0f990f5b]{display:flex;flex-direction:column;justify-content:center;align-items:center}.shell-navigation .navigation-top[data-v-0f990f5b]{flex:1;overflow-y:auto;overflow-x:hidden;direction:rtl}.shell-navigation .navigation-bottom[data-v-0f990f5b]{flex-shrink:0}.shell[data-v-336560c3]{width:100%;height:100%;display:flex;flex-direction:column;overflow:hidden}.shell header[data-v-336560c3]{display:flex;justify-content:space-between}.shell header .shell-title[data-v-336560c3]{display:flex;align-items:center}.shell .shell-content[data-v-336560c3]{flex:1 1 auto;display:flex;overflow:hidden}.shell .shell-content main[data-v-336560c3]{flex:1 1 auto;overflow:auto}.shell .shell-content aside[data-v-336560c3]{width:100%;max-width:0px;border-left:1px solid var(--color-border);transition:transform .3s ease-in-out;transition:max-width .75s ease-in}.shell .shell-content aside[data-v-336560c3]>*{width:100%;height:100%}.shell .shell-content aside.aside-visible[data-v-336560c3]{max-width:500px}
|
|
1
|
+
@charset "UTF-8";.button-bar[data-v-45a6ed1a]{display:flex;justify-content:space-between;align-items:center}.button-bar .left[data-v-45a6ed1a],.button-bar .right[data-v-45a6ed1a],.button[data-v-f31c33cf]{display:inline-flex;align-items:center}.card[data-v-ec6ab562]{display:flex;flex-direction:column;gap:var(--space-m);box-shadow:var(--box-shadow-container);border-radius:var(--border-radius-container);padding:var(--space-m)}.card header[data-v-ec6ab562]{display:flex;justify-content:space-between;align-items:center}.card header>span[data-v-ec6ab562]{display:flex;gap:var(--space-s)}.card footer[data-v-ec6ab562]{border-top:var(--border-footer);padding:var(--space-s) 0 0 0}.card.scrollable[data-v-ec6ab562]{overflow:hidden}.card.scrollable main[data-v-ec6ab562]{flex:1 1 auto;overflow-y:auto}.checkbox[data-v-e2d27ecb]{display:inline-flex;align-items:center;gap:.5rem;cursor:pointer;-webkit-user-select:none;user-select:none}.checkbox-input[data-v-e2d27ecb]{position:absolute;opacity:0;width:0;height:0}.checkbox-input:disabled+.checkbox-box[data-v-e2d27ecb]{opacity:.5;cursor:not-allowed}.checkbox-input:focus-visible+.checkbox-box[data-v-e2d27ecb]{outline:2px solid var(--color-primary, #007bff);outline-offset:2px}.checkbox-box[data-v-e2d27ecb]{display:flex;align-items:center;justify-content:center;width:20px;height:20px;border:2px solid var(--color-border, #ccc);border-radius:4px;transition:all .2s ease;background-color:var(--color-background, #fff)}.checkbox-icon[data-v-e2d27ecb]{width:16px;height:16px;color:var(--color-primary-contrast, #fff)}.checkbox-check[data-v-e2d27ecb]{stroke-dasharray:24;stroke-dashoffset:24;transition:stroke-dashoffset .3s ease}.checkbox-input:checked+.checkbox-box[data-v-e2d27ecb]{background-color:var(--color-primary, #007bff);border-color:var(--color-primary, #007bff)}.checkbox-input:checked+.checkbox-box .checkbox-check[data-v-e2d27ecb]{stroke-dashoffset:0}.checkbox-input:not(:checked)+.checkbox-box[data-v-e2d27ecb]:hover{border-color:var(--color-primary, #007bff)}.checkbox-label[data-v-e2d27ecb]{color:var(--color-text-primary, #333);font-size:1rem}.checkbox-input:disabled~.checkbox-label[data-v-e2d27ecb]{opacity:.5;cursor:not-allowed}.carousel[data-v-232abca2]{position:relative;overflow:visible;outline:none}.carousel-window[data-v-232abca2]{overflow:hidden}.carousel-track[data-v-232abca2]{display:flex;width:100%;transition:transform .4s ease}[data-v-232abca2] .carousel-slide{flex:0 0 100%;max-width:100%}.carousel-btn[data-v-232abca2]{position:absolute;top:50%;transform:translateY(-50%);cursor:pointer}.carousel-btn.prev[data-v-232abca2]{left:.5rem}.carousel-btn.next[data-v-232abca2]{right:.5rem}.carousel-indicators[data-v-232abca2]{position:absolute;left:50%;transform:translate(-50%);bottom:.5rem;display:flex;gap:.5rem}.indicator[data-v-232abca2]{width:10px;height:10px;border-radius:50%;background:#0000004d;border:none;padding:0;cursor:pointer}.indicator.active[data-v-232abca2]{background:#000c;scale:1.2}.indicator[data-v-232abca2]:hover{scale:1.5}.dialog-backdrop[data-v-6af510b3]{position:fixed;top:0;left:0;width:100vw;height:100vh;background:#00000080;display:flex;align-items:center;justify-content:center;z-index:1000}.dialog-wrapper[data-v-6af510b3]{max-width:90vw;max-height:90vh;overflow:auto}.dialog-card[data-v-6af510b3]{min-width:400px}.dialog-header[data-v-6af510b3]{display:flex;justify-content:space-between;align-items:center;width:100%}.dialog-title[data-v-6af510b3]{margin:0;font-size:1.25rem;font-weight:600}.dialog-close[data-v-6af510b3]{cursor:pointer;padding:.25rem}.dialog-close[data-v-6af510b3]:hover{opacity:.7}.dialog-content[data-v-6af510b3]{padding:0}.dialog-footer[data-v-6af510b3]{display:flex;justify-content:flex-end;gap:.5rem}.dialog-fade-enter-active[data-v-6af510b3],.dialog-fade-leave-active[data-v-6af510b3]{transition:opacity .2s ease}.dialog-fade-enter-from[data-v-6af510b3],.dialog-fade-leave-to[data-v-6af510b3]{opacity:0}.dialog-scale-enter-active[data-v-6af510b3],.dialog-scale-leave-active[data-v-6af510b3]{transition:transform .2s ease,opacity .2s ease}.dialog-scale-enter-from[data-v-6af510b3],.dialog-scale-leave-to[data-v-6af510b3]{transform:scale(.95);opacity:0}.dot-menu-container[data-v-67bd71e4]{position:relative}.dot-menu[data-v-67bd71e4]{border-radius:50%;aspect-ratio:1/1;cursor:pointer}.menu-dropdown[data-v-67bd71e4]{z-index:1000}.menu-backdrop[data-v-67bd71e4]{position:fixed;inset:0;z-index:999;background:transparent}.menu-enter-active[data-v-67bd71e4],.menu-leave-active[data-v-67bd71e4]{transition:opacity .2s ease,transform .2s ease}.menu-enter-from[data-v-67bd71e4],.menu-leave-to[data-v-67bd71e4]{opacity:0;transform:translateY(-8px)}.button[data-v-bd3cf2f5]{display:inline-flex;align-items:center}.menu-action[data-v-07850995]{display:flex;align-items:center;width:100%}.menu-action .menu-action--icon[data-v-07850995]{display:flex;align-items:center;justify-content:center}.menu[data-v-259fec08]{display:inline-flex;flex-direction:column}.spinner[data-v-661ad3b6]{min-width:1.5rem;min-height:1.5rem;max-width:5rem;max-height:5rem;width:100%;height:100%;aspect-ratio:1/1;border-radius:50%;position:relative;background:var(--spinner-gradient);mask:radial-gradient(farthest-side,transparent calc(100% - 6px),black 0);-webkit-mask:radial-gradient(farthest-side,transparent calc(100% - 6px),black 0);animation:spin-661ad3b6 4s linear infinite,plasma-661ad3b6 2s ease-in-out infinite alternate;background-size:200% 200%;filter:blur(2px) contrast(1.5)}@keyframes spin-661ad3b6{to{transform:rotate(360deg)}}@keyframes plasma-661ad3b6{0%{background-position:5% 50%}to{background-position:95% 50%}}.spinner[data-v-661ad3b6]{box-shadow:0 0 20px 4px #0ff5,0 0 60px 10px #f0f3 inset}.page[data-v-89f776b0]{display:flex;flex-direction:column;width:100%;height:100%}.page header[data-v-89f776b0]{display:flex;align-items:center;justify-content:space-between}.page header>span[data-v-89f776b0]{display:flex;align-items:center}.page main[data-v-89f776b0]{flex:1 1 auto;overflow:auto;overflow:hidden}.page main.scrollable[data-v-89f776b0]{overflow:auto}.page main footer[data-v-89f776b0]{position:sticky;bottom:0}.paginator[data-v-b6fa8efe]{display:inline-flex;align-items:center;gap:.5rem}.paginator-info[data-v-b6fa8efe]{font-size:.9rem;color:#000c;padding:0 .5rem}.search-field[data-v-2771c8ed]{display:inline-flex}.search-field input[data-v-2771c8ed]{flex-grow:1}.search-field .reset[data-v-2771c8ed]{cursor:pointer}.search-field .invisible[data-v-2771c8ed]{opacity:0;pointer-events:none}.separator[data-v-e354bb4e]{width:100%;height:1px;background-color:#ddd}.separator.vertical[data-v-e354bb4e]{width:1px;height:100%}.tab-view[data-v-3d4ee454]{display:flex;flex-direction:column}.tab-view-header[data-v-3d4ee454]{display:flex;position:relative}.tab-button[data-v-3d4ee454]{cursor:pointer}.tab-indicator[data-v-3d4ee454]{position:absolute;bottom:0;left:0}.tab-line[data-v-3d4ee454]{position:absolute;bottom:0;left:0;right:0}.tab-view-content[data-v-3d4ee454]{flex:1}.form-field[data-v-bb7aeb5f]{margin-top:var(--space-s);position:relative;width:100%;font-family:inherit}.form-field .form-field__wrapper[data-v-bb7aeb5f]{position:relative;width:100%}.form-field.form-field--inline .form-field__label[data-v-bb7aeb5f]{position:absolute;top:50%;left:12px;transform:translateY(-50%);font-size:1rem;color:var(--color-text-secondary, #6b7280);background:transparent;padding:0 4px;transition:transform .2s ease,font-size .2s ease,top .2s ease,left .2s ease,color .2s ease;pointer-events:none;z-index:1}.form-field.form-field--inline .form-field__label--float[data-v-bb7aeb5f]{top:0;left:8px;transform:translateY(-50%);font-size:.75rem;font-weight:500;color:var(--color-primary, #3b82f6);background:var(--color-surface, white)}.form-field.form-field--outline .form-field__label-outline[data-v-bb7aeb5f]{display:block;margin-bottom:var(--space-xs, 4px);font-size:.875rem;font-weight:500;color:var(--color-text-secondary, inherit)}.form-field.error[data-v-bb7aeb5f] .input,.form-field.error[data-v-bb7aeb5f] .select-trigger,.form-field.error[data-v-bb7aeb5f] .textarea{outline-color:var(--color-error, #dc2626)!important}.form-field .form-field__error[data-v-bb7aeb5f]{margin-top:4px;font-size:.875rem;color:var(--color-error, #dc2626);line-height:1.4}.form-field.disabled[data-v-bb7aeb5f]{opacity:var(--opacity-disabled, .5)}.form-field.labelless[data-v-bb7aeb5f]{margin-top:0}.form-layout[data-v-96f62ab7]{display:grid;width:100%;align-items:start}.form-layout[data-v-96f62ab7]>*{box-sizing:border-box}.form-section__title[data-v-69cff1d0]{margin:var(--space-m) 0 var(--space-s) 0;font-size:1.125rem;font-weight:600;color:var(--color-text-primary, #333);border-bottom:1px solid var(--color-border, #e0e0e0);padding-bottom:var(--space-xs)}.select[data-v-fc22f0e9]{position:relative;width:100%}.select .select-trigger[data-v-fc22f0e9]{display:flex;align-items:center;justify-content:space-between;width:100%;text-align:left;cursor:pointer}.select .select-trigger[data-v-fc22f0e9]:hover:not(:disabled){border-color:var(--color-primary, #007bff)}.select .select-trigger[data-v-fc22f0e9]:disabled{opacity:.5;cursor:not-allowed}.select.form-field--control .select-trigger[data-v-fc22f0e9]{padding:0;background:transparent;border:none;border-radius:0}.select.form-field--control .select-trigger[data-v-fc22f0e9]:hover:not(:disabled){border-color:transparent}.select.form-field--control .select-trigger[data-v-fc22f0e9]:focus-visible{outline:none}.select .select-icon-left[data-v-fc22f0e9]{margin-right:.5rem;flex-shrink:0}.select .select-value[data-v-fc22f0e9]{flex:1;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.select .select-placeholder[data-v-fc22f0e9]{color:var(--color-text-secondary, #999)}.select .select-clear-icon[data-v-fc22f0e9]{margin-left:.5rem;cursor:pointer;flex-shrink:0;transition:opacity .2s}.select .select-clear-icon[data-v-fc22f0e9]:hover{opacity:.7}.select .select-icon-right[data-v-fc22f0e9]{margin-left:.5rem;transition:transform .2s;flex-shrink:0}.select .select-icon-right.open[data-v-fc22f0e9]{transform:rotate(180deg)}.select .select-dropdown[data-v-fc22f0e9]{z-index:1000;background-color:var(--color-background, #fff);border:1px solid var(--color-border, #ccc);border-radius:4px;box-shadow:0 4px 12px #00000026;max-height:300px;overflow:hidden}.select .select-options[data-v-fc22f0e9]{overflow-y:auto;max-height:300px}.select .select-option[data-v-fc22f0e9]{padding:.5rem .75rem;cursor:pointer;transition:background-color .15s}.select .select-option[data-v-fc22f0e9]:hover,.select .select-option.highlighted[data-v-fc22f0e9]{background-color:var(--color-hover, #f5f5f5)}.select .select-option.selected[data-v-fc22f0e9]{background-color:var(--color-primary-light, #e7f3ff);color:var(--color-primary, #007bff);font-weight:500}.select .select-backdrop[data-v-fc22f0e9]{position:fixed;inset:0;z-index:999;background:transparent}.select .dropdown-enter-active[data-v-fc22f0e9],.select .dropdown-leave-active[data-v-fc22f0e9]{transition:opacity .2s ease,transform .2s ease}.select .dropdown-enter-from[data-v-fc22f0e9],.select .dropdown-leave-to[data-v-fc22f0e9]{opacity:0;transform:translateY(-8px)}.vj-slider[data-v-d47c7475]{width:100%}.track[data-v-d47c7475]{position:relative;height:8px;background:#00000014;border-radius:4px}.range[data-v-d47c7475]{position:absolute;height:100%;background:#0078d4cc;border-radius:4px}.handle[data-v-d47c7475]{position:absolute;top:50%;transform:translate(-50%,-50%);width:18px;height:18px;background:#fff;border:2px solid rgba(0,0,0,.2);border-radius:50%;box-shadow:0 1px 2px #0000001f}.handle[data-v-d47c7475]:hover{border-color:#0006;width:20px;height:20px}.handle[data-v-d47c7475]:focus{outline:none;box-shadow:0 0 0 4px #0078d426}.tooltip[data-v-d47c7475]{position:absolute;transform:translate(-50%);bottom:calc(100% + 10px);background:#000000d9;color:#fff;padding:6px 8px;border-radius:4px;font-size:12px;line-height:1;white-space:nowrap;pointer-events:none;z-index:5}.tooltip[data-v-d47c7475]:after{content:"";position:absolute;left:50%;transform:translate(-50%);top:100%;width:0;height:0;border-left:6px solid transparent;border-right:6px solid transparent;border-top:6px solid rgba(0,0,0,.85)}.handle[data-v-d47c7475]{z-index:3}.input-slider__control[data-v-051e6d17]{display:flex;align-items:center;padding:var(--space-l) var(--space-m)}.input-slider__control[data-v-051e6d17] .vj-slider{width:100%}.textarea[data-v-2ea43716]{display:flex}.textarea .textarea-icon[data-v-2ea43716]{align-self:flex-start;margin-top:.25rem}.textarea textarea[data-v-2ea43716]{flex-grow:1;resize:vertical;min-height:80px}.textarea .clear-icon[data-v-2ea43716]{cursor:pointer;align-self:flex-start;margin-top:.25rem}.textarea .invisible[data-v-2ea43716]{opacity:0;pointer-events:none}.input[data-v-3187d49c]{display:flex}.input input[data-v-3187d49c]{flex-grow:1}.input .clear-icon[data-v-3187d49c]{cursor:pointer}.input .invisible[data-v-3187d49c]{opacity:0;pointer-events:none}.shell-navigation-item[data-v-d5c087be]{list-style:none}.shell-navigation-item .shell-navigation-item-link[data-v-d5c087be]{display:flex;flex-direction:column;justify-content:center;align-items:center}.shell-navigation-item .shell-navigation-item-icon[data-v-d5c087be]{font-size:1.5rem}.shell-navigation nav[data-v-0f990f5b]{height:100%;display:flex;flex-direction:column}.shell-navigation ul[data-v-0f990f5b]{display:flex;flex-direction:column;justify-content:flex-start}.shell-navigation ul li[data-v-0f990f5b]{list-style:none}.shell-navigation ul li .shell-navigation-link[data-v-0f990f5b]{display:flex;flex-direction:column;justify-content:center;align-items:center}.shell-navigation .navigation-top[data-v-0f990f5b]{flex:1;overflow-y:auto;overflow-x:hidden;direction:rtl}.shell-navigation .navigation-bottom[data-v-0f990f5b]{flex-shrink:0}.shell[data-v-336560c3]{width:100%;height:100%;display:flex;flex-direction:column;overflow:hidden}.shell header[data-v-336560c3]{display:flex;justify-content:space-between}.shell header .shell-title[data-v-336560c3]{display:flex;align-items:center}.shell .shell-content[data-v-336560c3]{flex:1 1 auto;display:flex;overflow:hidden}.shell .shell-content main[data-v-336560c3]{flex:1 1 auto;overflow:auto}.shell .shell-content aside[data-v-336560c3]{width:100%;max-width:0px;border-left:1px solid var(--color-border);transition:transform .3s ease-in-out;transition:max-width .75s ease-in}.shell .shell-content aside[data-v-336560c3]>*{width:100%;height:100%}.shell .shell-content aside.aside-visible[data-v-336560c3]{max-width:500px}
|
package/package.json
CHANGED
|
@@ -1,10 +1,12 @@
|
|
|
1
1
|
@forward "components/button";
|
|
2
2
|
@forward "components/button-bar";
|
|
3
3
|
@forward "components/card";
|
|
4
|
+
@forward "components/chip";
|
|
4
5
|
@forward "components/checkbox";
|
|
5
6
|
@forward "components/dialog";
|
|
6
7
|
@forward "components/dot-menu";
|
|
7
8
|
@forward "components/icon";
|
|
9
|
+
@forward "components/loading-overlay";
|
|
8
10
|
@forward "components/menu";
|
|
9
11
|
@forward "components/menu-action";
|
|
10
12
|
@forward "components/page";
|
|
@@ -0,0 +1,24 @@
|
|
|
1
|
+
@use "../mixins" as *;
|
|
2
|
+
|
|
3
|
+
.chip {
|
|
4
|
+
justify-content: center;
|
|
5
|
+
align-items: center;
|
|
6
|
+
|
|
7
|
+
gap: var(--space-s);
|
|
8
|
+
padding: var(--space-xs) var(--space-xl);
|
|
9
|
+
border-radius: 2rem;
|
|
10
|
+
|
|
11
|
+
background: rgba(0, 0, 0, 0.06);
|
|
12
|
+
color: inherit;
|
|
13
|
+
|
|
14
|
+
@include useFont("button");
|
|
15
|
+
}
|
|
16
|
+
|
|
17
|
+
.chip__close {
|
|
18
|
+
align-items: center;
|
|
19
|
+
justify-content: center;
|
|
20
|
+
padding: 0;
|
|
21
|
+
border: none;
|
|
22
|
+
background: transparent;
|
|
23
|
+
cursor: pointer;
|
|
24
|
+
}
|
|
@@ -0,0 +1,67 @@
|
|
|
1
|
+
@use "../mixins" as *;
|
|
2
|
+
|
|
3
|
+
.vj-loading-overlay {
|
|
4
|
+
position: absolute;
|
|
5
|
+
inset: 0;
|
|
6
|
+
display: flex;
|
|
7
|
+
align-items: center;
|
|
8
|
+
justify-content: center;
|
|
9
|
+
background: rgba(255, 255, 255, 0.6);
|
|
10
|
+
backdrop-filter: blur(1px);
|
|
11
|
+
z-index: 9999;
|
|
12
|
+
pointer-events: all;
|
|
13
|
+
|
|
14
|
+
/* centered inner box with padding; spinner above text */
|
|
15
|
+
.vj-loading-inner {
|
|
16
|
+
display: flex;
|
|
17
|
+
flex-direction: column;
|
|
18
|
+
align-items: center;
|
|
19
|
+
justify-content: center;
|
|
20
|
+
gap: var(--space-xl);
|
|
21
|
+
padding: var(--space-xl);
|
|
22
|
+
border-radius: var(--space-m);
|
|
23
|
+
background: rgba(255, 255, 255, 0.92);
|
|
24
|
+
box-shadow: var(--box-shadow-container);
|
|
25
|
+
pointer-events: none; /* allow overlay to catch interactions but inner box should not intercept extra */
|
|
26
|
+
|
|
27
|
+
.spinner {
|
|
28
|
+
width: 5rem;
|
|
29
|
+
height: 5rem;
|
|
30
|
+
}
|
|
31
|
+
}
|
|
32
|
+
|
|
33
|
+
/* small padding variant when container has limited height */
|
|
34
|
+
.vj-loading-inner--small {
|
|
35
|
+
.spinner {
|
|
36
|
+
width: 2rem;
|
|
37
|
+
height: 2rem;
|
|
38
|
+
}
|
|
39
|
+
padding: 12px;
|
|
40
|
+
gap: 8px;
|
|
41
|
+
}
|
|
42
|
+
|
|
43
|
+
/* minimal variant: no inner frame, transparent background, no shadow */
|
|
44
|
+
.vj-loading-inner--minimal {
|
|
45
|
+
padding: 6px;
|
|
46
|
+
background: transparent;
|
|
47
|
+
box-shadow: none;
|
|
48
|
+
.spinner {
|
|
49
|
+
width: 1rem;
|
|
50
|
+
height: 1rem;
|
|
51
|
+
}
|
|
52
|
+
}
|
|
53
|
+
}
|
|
54
|
+
|
|
55
|
+
.vj-loading-overlay--hidden {
|
|
56
|
+
display: none;
|
|
57
|
+
}
|
|
58
|
+
|
|
59
|
+
.vj-loading-text {
|
|
60
|
+
text-align: center;
|
|
61
|
+
@include useFont("secondary");
|
|
62
|
+
@include useColor("base");
|
|
63
|
+
}
|
|
64
|
+
|
|
65
|
+
.vj-loading-text--hidden {
|
|
66
|
+
display: none;
|
|
67
|
+
}
|
package/themes/light/theme.scss
CHANGED
|
@@ -11,6 +11,9 @@
|
|
|
11
11
|
--opacity-disabled: 0.5;
|
|
12
12
|
--tab-indicator-height: 3px;
|
|
13
13
|
|
|
14
|
+
--spinner-gradient: linear-gradient(90deg, #0b7a73, #c8a2ff, #fff7d6, #f97316, #051937);
|
|
15
|
+
// --spinner-gradient: linear-gradient(90deg, #006a63 0%, #0b7a73 15%, #b892ff 35%, #c8a2ff 45%, #fff1a8 60%, #ffb347 72%, #ff7a18 85%, #051937 100%);
|
|
16
|
+
|
|
14
17
|
@include defineColor("base", #ffffff, #333333);
|
|
15
18
|
@include defineColor("input", #ffffff, #333333);
|
|
16
19
|
@include defineColor("input-label", #ffffff, #64748b);
|
|
@@ -30,10 +33,17 @@
|
|
|
30
33
|
@include defineColor("tab-hover", transparent, #4f46e5);
|
|
31
34
|
@include defineColor("tab-active", transparent, #4f46e5);
|
|
32
35
|
|
|
36
|
+
@include defineColor("primary", #4f46e5, #ffffff);
|
|
37
|
+
@include defineColor("success", #e6ffef, #0b7a3a);
|
|
38
|
+
@include defineColor("info", #e6f0ff, #0b57d0);
|
|
39
|
+
@include defineColor("warning", #fff7e6, #b36b00);
|
|
40
|
+
@include defineColor("danger", #ffecec, #b00020);
|
|
41
|
+
|
|
33
42
|
@include defineFont("title", h1, 24px, 600);
|
|
34
43
|
@include defineFont("title", h2, 24px, 600);
|
|
35
44
|
@include defineFont("header", h3, 18px, 600, 32px);
|
|
36
45
|
@include defineFont("primary", body, 16px, 400);
|
|
46
|
+
@include defineFont("secondary", secondary, 14px, 300, 16px);
|
|
37
47
|
@include defineFont("input", input, 16px, 400, 24px);
|
|
38
48
|
@include defineFont("caption", label, 14px, 400, 24px);
|
|
39
49
|
@include defineFont("button", button, 16px, 600, 24px);
|