@ghentcdh/ui 0.6.7 → 0.6.9

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/index.js CHANGED
@@ -1,16 +1,2 @@
1
- "use strict";Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const e=require("vue"),le=require("vue-router"),_=require("uuid"),q=require("@ghentcdh/tools-vue"),I=require("@heroicons/vue/24/solid"),ae=require("@tiptap/starter-kit"),K=require("@tiptap/vue-3"),se=require("tiptap-markdown"),g=(...t)=>`<svg
2
- xmlns="http://www.w3.org/2000/svg"
3
- fill="none"
4
- viewBox="0 0 24 24"
5
- stroke-width="1.5"
6
- stroke="currentColor" >
7
- ${t.map(n=>` <path
8
- stroke-linejoin="round"
9
- stroke-linecap="round"
10
- d="${n}"
11
- />`).join(`
12
- `)}
13
- </svg>`;var b=(t=>(t.Edit="Edit",t.Delete="Delete",t.BarsArrowDown="BarsArrowDown",t.BarsArrowUp="BarsArrowUp",t.Funnel="Funnel",t.Close="Close",t.Plus="Plus",t.PaperClip="PaperClip",t.Hamburger="Hamburger",t.ChevronRight="ChevronRight",t.ChevronLeft="ChevronLeft",t.ChevronDown="ChevronDown",t.ChevronUp="ChevronUp",t.DblChevronLeft="DblChevronLeft",t.DblChevronRight="DblChevronRight",t.Check="Check",t.View="View",t.Text="Text",t))(b||{});const U={Edit:g("m16.862 4.487 1.687-1.688a1.875 1.875 0 1 1 2.652 2.652L10.582 16.07a4.5 4.5 0 0 1-1.897 1.13L6 18l.8-2.685a4.5 4.5 0 0 1 1.13-1.897l8.932-8.931Zm0 0L19.5 7.125M18 14v4.75A2.25 2.25 0 0 1 15.75 21H5.25A2.25 2.25 0 0 1 3 18.75V8.25A2.25 2.25 0 0 1 5.25 6H10"),Delete:g("m14.74 9-.346 9m-4.788 0L9.26 9m9.968-3.21c.342.052.682.107 1.022.166m-1.022-.165L18.16 19.673a2.25 2.25 0 0 1-2.244 2.077H8.084a2.25 2.25 0 0 1-2.244-2.077L4.772 5.79m14.456 0a48.108 48.108 0 0 0-3.478-.397m-12 .562c.34-.059.68-.114 1.022-.165m0 0a48.11 48.11 0 0 1 3.478-.397m7.5 0v-.916c0-1.18-.91-2.164-2.09-2.201a51.964 51.964 0 0 0-3.32 0c-1.18.037-2.09 1.022-2.09 2.201v.916m7.5 0a48.667 48.667 0 0 0-7.5 0"),BarsArrowDown:g("M3 4.5h14.25M3 9h9.75M3 13.5h9.75m4.5-4.5v12m0 0-3.75-3.75M17.25 21 21 17.25"),BarsArrowUp:g("M3 4.5h14.25M3 9h9.75M3 13.5h5.25m5.25-.75L17.25 9m0 0L21 12.75M17.25 9v12"),Funnel:g("M12 3c2.755 0 5.455.232 8.083.678.533.09.917.556.917 1.096v1.044a2.25 2.25 0 0 1-.659 1.591l-5.432 5.432a2.25 2.25 0 0 0-.659 1.591v2.927a2.25 2.25 0 0 1-1.244 2.013L9.75 21v-6.568a2.25 2.25 0 0 0-.659-1.591L3.659 7.409A2.25 2.25 0 0 1 3 5.818V4.774c0-.54.384-1.006.917-1.096A48.32 48.32 0 0 1 12 3Z"),Close:g("M6 18 18 6M6 6l12 12"),Plus:g("M12 9v6m3-3H9m12 0a9 9 0 1 1-18 0 9 9 0 0 1 18 0Z"),PaperClip:g("m18.375 12.739-7.693 7.693a4.5 4.5 0 0 1-6.364-6.364l10.94-10.94A3 3 0 1 1 19.5 7.372L8.552 18.32m.009-.01-.01.01m5.699-9.941-7.81 7.81a1.5 1.5 0 0 0 2.112 2.13"),Hamburger:g("M4 6h16M4 12h16M4 18h16"),ChevronDown:g("M12.53 16.28a.75.75 0 0 1-1.06 0l-7.5-7.5a.75.75 0 0 1 1.06-1.06L12 14.69l6.97-6.97a.75.75 0 1 1 1.06 1.06l-7.5 7.5Z"),ChevronUp:g("M11.47 7.72a.75.75 0 0 1 1.06 0l7.5 7.5a.75.75 0 1 1-1.06 1.06L12 9.31l-6.97 6.97a.75.75 0 0 1-1.06-1.06l7.5-7.5Z"),Check:g("m4.5 12.75 6 6 9-13.5"),View:g("M2.036 12.322a1.012 1.012 0 0 1 0-.639C3.423 7.51 7.36 4.5 12 4.5c4.638 0 8.573 3.007 9.963 7.178.07.207.07.431 0 .639C20.577 16.49 16.64 19.5 12 19.5c-4.638 0-8.573-3.007-9.963-7.178Z","M15 12a3 3 0 1 1-6 0 3 3 0 0 1 6 0Z"),Text:g("M19.5 14.25v-2.625a3.375 3.375 0 0 0-3.375-3.375h-1.5A1.125 1.125 0 0 1 13.5 7.125v-1.5a3.375 3.375 0 0 0-3.375-3.375H8.25m0 12.75h7.5m-7.5 3H12M10.5 2.25H5.625c-.621 0-1.125.504-1.125 1.125v17.25c0 .621.504 1.125 1.125 1.125h12.75c.621 0 1.125-.504 1.125-1.125V11.25a9 9 0 0 0-9-9Z"),DblChevronLeft:g("m18.75 4.5-7.5 7.5 7.5 7.5m-6-15L5.25 12l7.5 7.5"),DblChevronRight:g("m5.25 4.5 7.5 7.5-7.5 7.5m6-15 7.5 7.5-7.5 7.5")},re=["innerHTML"],x=e.defineComponent({__name:"icon",props:{icon:{},size:{}},setup(t){return(o,n)=>(e.openBlock(),e.createElementBlock("div",{class:e.normalizeClass([{"w-full h-full":!t.size,"w-2 h-2":t.size==="xs","w-4 h-4":t.size==="sm"}]),innerHTML:e.unref(U)[t.icon]},null,10,re))}}),ce={class:"dropdown dropdown-end"},ie={tabindex:"0",class:"menu dropdown-content bg-white z-1 mt-4 p-2 shadow-sm"},de={class:"min-w-max flex-no-wrap text-black"},S=e.defineComponent({__name:"sub-menu",props:{label:{},items:{},action:{type:Function},disabled:{type:Boolean},btnClass:{},disableArrow:{type:Boolean}},setup(t){return(o,n)=>(e.openBlock(),e.createElementBlock("div",ce,[e.createElementVNode("div",{tabindex:"0",role:"button",class:e.normalizeClass([t.btnClass,"btn btn-ghost text-right flex-nowrap flex"])},[e.createElementVNode("span",null,e.toDisplayString(t.label),1),t.disableArrow?e.createCommentVNode("",!0):(e.openBlock(),e.createBlock(e.unref(x),{key:0,icon:e.unref(b).ChevronDown,size:"sm"},null,8,["icon"]))],2),e.createElementVNode("ul",ie,[e.createElementVNode("li",de,[(e.openBlock(!0),e.createElementBlock(e.Fragment,null,e.renderList(t.items,a=>(e.openBlock(),e.createBlock(H,e.mergeProps({key:a.label},{ref_for:!0},a),null,16))),128))])])]))}}),D="btn btn-ghost text-left justify-between min-w-max font-normal",H=e.defineComponent({__name:"menu-item",props:{label:{},items:{},action:{},disabled:{type:Boolean,default:!1}},setup(t){const o=t,n=e.computed(()=>!o.disabled&&o.action&&"routerLink"in o.action),a=e.computed(()=>!o.disabled&&o.action),l=e.computed(()=>o.items?.length),c=e.computed(()=>{const d=o.action;return d&&"routerLink"in d&&"params"in d?{name:d.routerLink,params:d.params}:""}),u=()=>{o.action?.()};return(d,s)=>{const i=e.resolveComponent("RouterLink");return l.value?(e.openBlock(),e.createBlock(S,e.mergeProps({key:0},o,{"btn-class":D}),null,16)):n.value?(e.openBlock(),e.createBlock(i,{key:1,to:c.value,class:e.normalizeClass(D),onClick:u},{default:e.withCtx(()=>[e.createTextVNode(e.toDisplayString(t.label),1)]),_:1},8,["to"])):a.value?(e.openBlock(),e.createElementBlock("button",{key:2,class:e.normalizeClass(D),onClick:u},e.toDisplayString(t.label),1)):(e.openBlock(),e.createElementBlock("div",{key:3,class:e.normalizeClass([D,{"btn-disabled":t.disabled}])},e.toDisplayString(t.label),3))}}}),ue={class:"navbar bg-base-100 shadow-sm"},me={class:"flex-1"},pe={key:0,class:"breadcrumbs text-sm"},fe={class:"flex grow justify-end px-2"},ge={class:"flex items-stretch"},he=e.defineComponent({__name:"menu",props:{menu:{},breadcrumbs:{}},setup(t){return(o,n)=>{const a=e.resolveComponent("RouterLink");return e.openBlock(),e.createElementBlock("nav",ue,[e.createElementVNode("div",me,[t.breadcrumbs?(e.openBlock(),e.createElementBlock("div",pe,[e.createElementVNode("ul",null,[(e.openBlock(!0),e.createElementBlock(e.Fragment,null,e.renderList(t.breadcrumbs,l=>(e.openBlock(),e.createElementBlock("li",{key:l.label},[l.routerLink?(e.openBlock(),e.createBlock(a,{key:0,to:{name:l.routerLink,params:l.params}},{default:e.withCtx(()=>[e.createTextVNode(e.toDisplayString(l.label),1)]),_:2},1032,["to"])):(e.openBlock(),e.createElementBlock(e.Fragment,{key:1},[e.createTextVNode(e.toDisplayString(l.label),1)],64))]))),128))])])):e.createCommentVNode("",!0)]),e.createElementVNode("div",fe,[e.createElementVNode("div",ge,[(e.openBlock(!0),e.createElementBlock(e.Fragment,null,e.renderList(t.menu,l=>(e.openBlock(),e.createBlock(H,e.mergeProps({key:l.label},{ref_for:!0},l),null,16))),128))])])])}}}),be=e.defineComponent({__name:"dropdown",props:{items:{}},setup(t){const o=e.ref(!0);return(n,a)=>(e.openBlock(),e.createBlock(S,{items:t.items,label:"test",open:o.value,"btn-class":"","disable-arrow":!0},null,8,["items","open"]))}}),ke={class:"font-bold"},ve={class:"pt-4"},ye={class:"modal-action"},j=e.defineComponent({__name:"modal",props:{modalTitle:{},buttonLabel:{},buttonSaveLabel:{},data:{},open:{type:Boolean,default:!1},disableClose:{type:Boolean,default:!1},width:{default:"sm"}},emits:["closeModal"],setup(t,{expose:o,emit:n}){const a={xs:"max-w-xs w-[50VW]",sm:"max-w-sm w-[50VW]",lg:"max-w-2xl w-[80VW]",xl:"max-w-[80VW] w-[80VW]"},l=t,c=`modal_${_.v4()}`,u=n,d=()=>{document.getElementById(c)?.showModal()},s=()=>{document.getElementById(c)?.close(),u("closeModal")};return o({closeModal:s,openModal:d}),e.watch(()=>l.open,(i,r,h)=>{l.open?d():s()}),e.onMounted(()=>{l.open&&d()}),(i,r)=>(e.openBlock(),e.createElementBlock("dialog",{id:c,class:"modal"},[e.createElementVNode("div",{class:e.normalizeClass(["modal-box bg-white",a[t.width]])},[t.disableClose?e.createCommentVNode("",!0):(e.openBlock(),e.createElementBlock("button",{key:0,type:"button",class:"btn btn-sm btn-circle btn-ghost absolute right-2 top-2",onClick:s}," ✕ ")),e.createElementVNode("h3",ke,e.toDisplayString(t.modalTitle),1),e.createElementVNode("div",ve,[e.renderSlot(i.$slots,"content")]),e.createElementVNode("div",ye,[e.renderSlot(i.$slots,"actions")])],2)]))}});var F=(t=>(t.button="button",t.submit="submit",t.reset="reset",t))(F||{}),O=(t=>(t.a="a",t.button="button",t))(O||{}),E=(t=>(t.blank="blank",t.primary="primary",t.secondary="secondary",t.error="error",t))(E||{});const Be={blank:"btn-ghost",primary:"btn-primary",secondary:"btn-soft btn-primary",error:"btn-error text-white"},Ce={blank:"badge-ghost",primary:"badge-primary",secondary:"badge-soft badge-primary",error:"badge-error"},W={xs:"btn-xs",sm:"btn-sm",lg:"btn-sm",xl:"btn"},Z={xs:"badge-xs text-xxs",sm:"badge-sm text-xs",lg:"badge-sm text-xs",xl:"badge text-xs"},N=e.defineComponent({__name:"btn",props:{href:{},disabled:{type:Boolean,default:!1},as:{default:O.button},icon:{},type:{default:F.button},outline:{type:Boolean,default:!1},color:{default:E.primary},size:{default:"sm"},square:{type:Boolean,default:!1}},emits:["click"],setup(t,{emit:o}){const n=t,a=o;return(l,c)=>(e.openBlock(),e.createBlock(e.resolveDynamicComponent(t.as),e.mergeProps({class:["btn p-1 flex justify-center flex-nowrap",e.unref(Be)[t.color],e.unref(W)[t.size],{"btn-outline":t.outline,"btn-square":t.square}]},n,{onClick:c[0]||(c[0]=u=>a("click"))}),{default:e.withCtx(()=>[t.icon?(e.openBlock(),e.createBlock(e.unref(x),{key:0,icon:t.icon,size:t.size},null,8,["icon","size"])):e.createCommentVNode("",!0),e.renderSlot(l.$slots,"default")]),_:3},16,["class"]))}}),xe=["type","disabled"],we=e.defineComponent({__name:"btn-badge",props:{icon:{default:void 0},type:{default:F.button},color:{default:void 0},disabled:{type:Boolean,default:!1},size:{default:"sm"}},emits:["click"],setup(t,{emit:o}){const n=o;return(a,l)=>(e.openBlock(),e.createElementBlock("button",{class:e.normalizeClass(["badge gap-1",e.unref(Z)[t.size],e.unref(Ce)[t.color]]),type:t.type,disabled:t.disabled,onClick:l[0]||(l[0]=c=>n("click"))},[e.renderSlot(a.$slots,"default"),t.icon?(e.openBlock(),e.createBlock(e.unref(x),{key:0,icon:t.icon,size:t.size},null,8,["icon","size"])):e.createCommentVNode("",!0)],10,xe))}}),G=e.defineComponent({__name:"confirmModal",props:{title:{},message:{},confirmLabel:{default:"Ok"},cancelLabel:{default:"Cancel"}},emits:["closeModal"],setup(t,{emit:o}){const n=o,a=l=>{n("closeModal",{confirmed:l})};return(l,c)=>(e.openBlock(),e.createBlock(j,{"modal-title":t.title,open:!0,"disable-close":!0},{content:e.withCtx(()=>[e.createTextVNode(e.toDisplayString(t.message),1)]),actions:e.withCtx(()=>[e.createVNode(e.unref(N),{color:e.unref(E).secondary,outline:!0,onClick:c[0]||(c[0]=u=>a(!1))},{default:e.withCtx(()=>[e.createTextVNode(e.toDisplayString(t.cancelLabel),1)]),_:1},8,["color"]),e.createVNode(e.unref(N),{onClick:c[1]||(c[1]=u=>a(!0))},{default:e.withCtx(()=>[e.createTextVNode(e.toDisplayString(t.confirmLabel),1)]),_:1})]),_:1},8,["modal-title"]))}});class P{constructor(){this.showModal=e.ref(!1),this.modals=[]}openModal(o){const n=o.props.onClose,a=_.v4(),l=o;o.props.onClose=c=>{n(c),this.closeModal(a)},l.id=a,this.modals=[...this.modals,l],this.showModal.value=Date.now()}closeModal(o){this.modals=this.modals.filter(n=>n.id!==o),this.showModal.value=Date.now()}static showConfirm(o){this.getInstance().openModal({component:G,props:o})}static openModal(o){this.getInstance().openModal(o)}static getInstance(){return this.instance||(this.instance=new P),this.instance}static closeAll(){this.instance.closeAll()}closeAll(){this.modals=[],this.showModal.value=!1}}const J=e.defineComponent({__name:"modalWrapper",setup(t){const o=P.getInstance(),n=e.computed(()=>o.showModal.value?o.modals:[]);return(a,l)=>(e.openBlock(!0),e.createElementBlock(e.Fragment,null,e.renderList(n.value,c=>(e.openBlock(),e.createBlock(e.resolveDynamicComponent(c?.component),e.mergeProps({key:c.id,ref_for:!0},c?.props,{open:!0,onCloseModal:c?.props?.onClose}),null,16,["onCloseModal"]))),128))}}),Q=e.defineComponent({__name:"notification-message",props:{message:{},type:{}},setup(t){const o={success:"alert-success",error:"alert-error",warning:"alert-warning",info:"alert-info"};return(n,a)=>(e.openBlock(),e.createElementBlock("div",{role:"alert",class:e.normalizeClass(`alert ${o[t.type]} `)},[e.createElementVNode("span",null,e.toDisplayString(t.message),1)],2))}}),Ve=5e3;class z{constructor(){this.notifications=e.ref([]),this.addNotification=(o,n="info")=>{const a={id:_.v4(),duration:Ve,message:o,type:n};this.notifications.value.push(a),this.removeNotificationAfterDuration(a)},this.removeNotificationAfterDuration=o=>{setTimeout(()=>{this.removeNotification(o.id)},o.duration)},this.removeNotification=o=>{this.notifications.value=this.notifications.value.filter(n=>n.id!==o)}}static getInstance(){return this.instance||(this.instance=new z),this.instance}static info(o){this.getInstance().addNotification(o,"info")}static success(o){this.getInstance().addNotification(o,"success")}static warning(o){this.getInstance().addNotification(o,"warning")}static error(o){this.getInstance().addNotification(o,"error")}static removeNotification(o){this.getInstance().removeNotification(o)}}const Ee={class:"toast toast-top toast-center z-[999]"},X=e.defineComponent({__name:"notifications",setup(t){const o=z.getInstance();return(n,a)=>(e.openBlock(),e.createElementBlock("div",Ee,[(e.openBlock(!0),e.createElementBlock(e.Fragment,null,e.renderList(e.unref(o).notifications.value,l=>(e.openBlock(),e.createBlock(Q,e.mergeProps({key:l.id},{ref_for:!0},l),null,16))),128))]))}}),Ne={class:"flex h-screen flex-col"},$e={class:"shrink-0"},Me={class:"navbar bg-primary text-primary-content w-full z-100"},Le={class:"navbar-start"},De={class:"navbar-center"},_e=["href"],Se={class:"navbar-end"},Pe={class:"drawer-content overflow-y-auto mb-2 mr-2 shadow-md"},ze={class:"drawer-side h-full shadow-md"},Te={class:"flex-grow overflow-y-auto"},Fe={class:"bg-base-200 p-4"},Ae=e.defineComponent({__name:"shell.component",props:{title:{},menu:{},user:{},version:{},widthSidebar:{default:300}},emits:["logout"],setup(t,{emit:o}){const a=t,l=e.ref(!1),c=()=>{l.value=!l.value},u=o,d=e.computed(()=>a.user?{label:a.user.name,items:[{label:"Logout",action:()=>{u("logout")}}]}:null);return(s,i)=>(e.openBlock(),e.createElementBlock(e.Fragment,null,[e.createVNode(X),e.createVNode(e.unref(J)),e.createElementVNode("div",Ne,[e.createElementVNode("header",$e,[e.createElementVNode("nav",Me,[e.createElementVNode("div",Le,[e.createElementVNode("button",{"aria-label":"open sidebar",class:"btn btn-square btn-ghost p-1",onClick:c},[e.createVNode(e.unref(x),{icon:e.unref(b).Hamburger},null,8,["icon"])])]),e.createElementVNode("div",De,[e.createElementVNode("a",{class:"btn btn-ghost text-primary-content text-lg color-white",href:e.unref("/")},e.toDisplayString(t.title),9,_e)]),e.createElementVNode("div",Se,[d.value?(e.openBlock(),e.createBlock(e.unref(S),e.mergeProps({key:0},d.value,{"btn-class":""}),null,16)):e.createCommentVNode("",!0)])])]),e.createElementVNode("div",{class:e.normalizeClass(["drawer flex-1 overflow-hidden",{"drawer-open":l.value}])},[e.withDirectives(e.createElementVNode("input",{id:"app-drawer","onUpdate:modelValue":i[0]||(i[0]=r=>l.value=r),type:"checkbox",class:"drawer-toggle"},null,512),[[e.vModelCheckbox,l.value]]),e.createElementVNode("main",Pe,[e.renderSlot(s.$slots,"default")]),e.createElementVNode("div",ze,[i[1]||(i[1]=e.createElementVNode("label",{for:"app-drawer","aria-label":"close sidebar",class:"drawer-overlay"},null,-1)),e.createElementVNode("div",{class:"menu bg-base-100 h-full flex flex-col justify-between",style:e.normalizeStyle({width:t.widthSidebar+"px"})},[e.createElementVNode("ul",Te,[(e.openBlock(!0),e.createElementBlock(e.Fragment,null,e.renderList(t.menu,r=>(e.openBlock(),e.createElementBlock("li",{key:r.label},[e.createVNode(e.unref(le.RouterLink),{to:{name:r.routerLink,params:r.params}},{default:e.withCtx(()=>[e.createTextVNode(e.toDisplayString(r.label),1)]),_:2},1032,["to"])]))),128))]),e.createElementVNode("div",Fe," version: "+e.toDisplayString(t.version),1)],4)])],2)])],64))}}),$=e.defineComponent({__name:"pagination-button.component",props:{currentPage:{},page:{},label:{},neverActive:{type:Boolean,default:!1},disabled:{type:Boolean}},emits:["updatePage","updatePageSize"],setup(t,{emit:o}){const n=t,a=o,l=e.computed(()=>n.neverActive?!1:n.page===n.currentPage),c=e.computed(()=>n.neverActive?E.blank:l.value?E.primary:E.secondary),u=()=>{a("updatePage",n.page)};return(d,s)=>(e.openBlock(),e.createBlock(e.unref(N),{disabled:t.disabled,square:!0,size:"xs",color:c.value,onClick:s[0]||(s[0]=i=>u())},{default:e.withCtx(()=>[e.createTextVNode(e.toDisplayString(t.label),1)]),_:1},8,["disabled","color"]))}}),Re={class:"flex gap-2"},qe={class:"flex flex-1 justify-center items-center"},Ie={class:"flex gap-1"},Ke={class:"text-sm"},M=6,Y=e.defineComponent({__name:"pagination.component",props:{totalItems:{type:Number,default:0},itemsPerPage:{type:Number,default:1},currentPage:{type:Number,default:1}},emits:["updatePage","updatePageSize"],setup(t,{emit:o}){const n=t,a=o,l=e.computed(()=>{let r=Math.ceil(n.totalItems/n.itemsPerPage);return r<1?1:r}),c=M/2,u=e.computed(()=>{if(l.value<=M)return{min:1,max:l.value};let r=n.currentPage-c;r<=1?r=1:r+M>l.value&&(r=l.value-M);let h=r+M;return{min:r,max:h}}),d=r=>({label:"...",currentPage:r,page:-10,disabled:!0,neverActive:!0}),s=e.computed(()=>{let r=l.value;r<1&&(r=1);const h=n.currentPage,k=[],{min:C,max:V}=u.value;return Array.from({length:r},(f,m)=>{const p=m+1;p!==1&&p!==r&&(p>V||p<C)||(p===r&&r>1&&V<r&&k.push(d(h)),k.push({label:`${p}`,totalPages:r,currentPage:h,page:p}),p===1&&r>1&&C>1&&k.push(d(h)))}),k}),i=r=>{a("updatePage",r)};return(r,h)=>(e.openBlock(),e.createElementBlock("div",Re,[e.createElementVNode("div",qe,[e.createElementVNode("div",Ie,[e.createVNode($,e.mergeProps(n,{page:1,label:"<<","current-page":t.currentPage,"never-active":!0,disabled:t.currentPage===1,onUpdatePage:i}),null,16,["current-page","disabled"]),e.createVNode($,e.mergeProps(n,{page:t.currentPage-1,label:"<","current-page":t.currentPage,"never-active":!0,disabled:t.currentPage===1,onUpdatePage:i}),null,16,["page","current-page","disabled"]),(e.openBlock(!0),e.createElementBlock(e.Fragment,null,e.renderList(s.value,k=>(e.openBlock(),e.createBlock($,e.mergeProps({key:k.page,ref_for:!0},k,{onUpdatePage:i}),null,16))),128)),e.createVNode($,e.mergeProps(n,{page:t.currentPage+1,label:">","current-page":t.currentPage,"never-active":!0,disabled:n.currentPage===l.value,onUpdatePage:i}),null,16,["page","current-page","disabled"]),e.createVNode($,e.mergeProps(n,{page:l.value,label:">>","current-page":t.currentPage,"never-active":!0,disabled:n.currentPage===l.value,onUpdatePage:i}),null,16,["page","current-page","disabled"])])]),e.createElementVNode("div",Ke," page "+e.toDisplayString(t.currentPage)+" of "+e.toDisplayString(l.value),1)]))}}),A=(t,o)=>{const n=t.__vccOpts||t;for(const[a,l]of o)n[a]=l;return n},Ue=()=>({data:{type:Object,required:!0},column:{type:Object,required:!0},options:{type:Object,required:!1}}),He=e.defineComponent({name:"TextCell",props:{...Ue()},computed:{value(){const t=this.data[this.column.id];return t?this.column.options?.format==="keyValue"?t[this.column.options.key]:t:null}}}),je=He;function Oe(t,o,n,a,l,c){return e.toDisplayString(t.value)+" - value"}const We=A(je,[["render",Oe]]),Ze={class:"flex-grow pr-2"},Ge={class:"h-4 w-4"},Je=e.defineComponent({__name:"sort.header",props:{column:{},sortColumn:{},sortDirection:{}},emits:["sort"],setup(t,{emit:o}){const n=t,a=e.computed(()=>n.sortDirection==="asc"?b.BarsArrowUp:b.BarsArrowDown),l=e.computed(()=>n.column.options?.sortId??n.column.id),c=()=>{u("sort",l.value)},u=o;return(d,s)=>(e.openBlock(),e.createElementBlock("button",{class:"flex items-center",onClick:c},[e.createElementVNode("span",Ze,e.toDisplayString(t.column.label),1),e.createElementVNode("div",Ge,[t.sortColumn===l.value?(e.openBlock(),e.createBlock(e.unref(x),{key:0,icon:a.value},null,8,["icon"])):e.createCommentVNode("",!0)])]))}}),Qe={class:"table w-full"},Xe={key:0},Ye=["colspan"],et={class:"flex gap-2"},ee=e.defineComponent({__name:"table.component",props:{loading:{type:Boolean},actions:{},data:{},displayColumns:{},page:{},sort:{}},emits:["delete","edit","updatePage","sort"],setup(t,{emit:o}){const n=o,a=d=>{n("edit",d)},l=d=>{n("delete",d)},c=d=>{n("updatePage",d)},u=d=>{n("sort",d)};return(d,s)=>(e.openBlock(),e.createElementBlock(e.Fragment,null,[e.createElementVNode("table",Qe,[e.createElementVNode("thead",null,[e.createElementVNode("tr",null,[(e.openBlock(!0),e.createElementBlock(e.Fragment,null,e.renderList(t.displayColumns,i=>(e.openBlock(),e.createElementBlock("th",{key:i.scope},[e.createVNode(Je,e.mergeProps({column:i},{ref_for:!0},t.sort,{onSort:u}),null,16,["column"])]))),128)),s[0]||(s[0]=e.createElementVNode("th",null,null,-1))])]),e.createElementVNode("tbody",null,[t.loading?(e.openBlock(),e.createElementBlock("tr",Xe,[e.createElementVNode("td",{colspan:t.displayColumns.length+1,class:"text-center"},[...s[1]||(s[1]=[e.createElementVNode("span",{class:"loading loading-bars loading-xs"},null,-1)])],8,Ye)])):e.createCommentVNode("",!0),(e.openBlock(!0),e.createElementBlock(e.Fragment,null,e.renderList(t.data,i=>(e.openBlock(),e.createElementBlock("tr",{key:i.id},[(e.openBlock(!0),e.createElementBlock(e.Fragment,null,e.renderList(t.displayColumns,r=>(e.openBlock(),e.createElementBlock("td",{key:r.scope},[(e.openBlock(),e.createBlock(e.resolveDynamicComponent(r.component),e.mergeProps({ref_for:!0},r,{data:i,column:r}),null,16,["data","column"]))]))),128)),e.createElementVNode("td",null,[e.createElementVNode("span",et,[(e.openBlock(!0),e.createElementBlock(e.Fragment,null,e.renderList(t.actions,r=>(e.openBlock(),e.createBlock(N,{key:r.label,icon:r.icon,outline:!0,onClick:h=>r.action(i)},{default:e.withCtx(()=>[e.createTextVNode(e.toDisplayString(r.label),1)]),_:2},1032,["icon","onClick"]))),128)),e.createVNode(N,{icon:e.unref(b).Edit,outline:!0,onClick:r=>a(i)},null,8,["icon","onClick"]),e.createVNode(N,{icon:e.unref(b).Delete,outline:!0,onClick:r=>l(i)},null,8,["icon","onClick"])])])]))),128))])]),t.page?(e.openBlock(),e.createBlock(Y,{key:0,class:"border-gray-300 border-t pt-4 border-x-0 border-b-0","total-items":t.page.count,"items-per-page":t.page.pageSize,"current-page":t.page.page,onUpdatePage:c},null,8,["total-items","items-per-page","current-page"])):e.createCommentVNode("",!0)],64))}}),tt={},ot={class:"card bg-base-100 shadow-sm"},nt={class:"card-body"},lt={key:0,class:"card-title"},at={key:1,class:"card-actions justify-end"};function st(t,o){return e.openBlock(),e.createElementBlock("div",ot,[e.createElementVNode("div",nt,[t.$slots.title?(e.openBlock(),e.createElementBlock("h2",lt,[e.renderSlot(t.$slots,"title")])):e.createCommentVNode("",!0),e.createElementVNode("p",null,[e.renderSlot(t.$slots,"default"),e.renderSlot(t.$slots,"content")]),t.$slots.actions?(e.openBlock(),e.createElementBlock("div",at,[e.renderSlot(t.$slots,"actions")])):e.createCommentVNode("",!0)])])}const rt=A(tt,[["render",st]]),ct=(t,o)=>{if(!t)return null;const n=a=>{t.contains(a.target)||o()};return document.addEventListener("click",n),n},it=t=>{document.removeEventListener("click",t)},dt={beforeMount(t,o){t.clickOutsideEvent=function(n){t===n.target||t.contains(n.target)||o.value(n)},document.addEventListener("click",t.clickOutsideEvent)},unmounted(t){document.removeEventListener("click",t.clickOutsideEvent)}};function ut(t){const o=e.getCurrentInstance();if(!o)return!1;const n=o.vnode.props;return n?!!(n[e.toHandlerKey(t)]||n[e.toHandlerKey(e.camelize(t))]):!1}const te={group:{root:"group",label:"text-primary text-lg font-bold",item:"group-item"},verticalLayout:{root:"flex flex-col gap-x-2",item:"w-full"},horizontalLayout:{root:"flex flex-row gap-x-2",item:"w-full"},arrayList:{root:"fieldset",legend:"fieldset-legend text-xl capitalize"},control:{root:"fieldset",wrapper:"fieldset",label:"fieldset-legend",error:"",input:"input",textarea:"input h-32",select:"select",description:"form-control--description label text-xs text-gray-500"},fixedArrayList:{root:"flex flex-row gap-x-2",item:"w-full"}},B=()=>({id:_.v4(),visible:!0,required:!1,enabled:!0,isFocused:!1,isTouched:!1,hideLabel:!1,styles:te}),oe=()=>({...B(),options:[],valueKey:"value",labelKey:"label"}),R=(t,o,n)=>!!(t&&n),ne=(t,o,n,a)=>o===void 0||o!==void 0&&!t||!a&&!n,mt=(t,o,n,a)=>[t?.control.input,{"input-error":R(n,o,a)}],pt={key:0},w=e.defineComponent({__name:"ControlWrapper",props:e.mergeDefaults({id:{},placeholder:{},description:{},errors:{},label:{},visible:{type:Boolean},required:{type:Boolean},enabled:{type:Boolean},isFocused:{type:Boolean},isTouched:{type:Boolean},hideLabel:{type:Boolean},styles:{}},B()),setup(t){const o=t,n=e.computed(()=>!ne(o.visible,o.description,o.isFocused,!0)),a=e.computed(()=>o.required),l=e.computed(()=>R(o.isTouched,o.isFocused,o.errors));return(c,u)=>(e.openBlock(),e.createElementBlock("fieldset",{class:e.normalizeClass(t.styles.control.wrapper)},[t.hideLabel?e.createCommentVNode("",!0):(e.openBlock(),e.createElementBlock("legend",{key:0,class:e.normalizeClass(t.styles.control.label)},[e.createTextVNode(e.toDisplayString(t.label)+" ",1),a.value?(e.openBlock(),e.createElementBlock("span",pt,"*")):e.createCommentVNode("",!0)],2)),e.renderSlot(c.$slots,"default"),e.createElementVNode("p",{class:e.normalizeClass(["fieldset-label h-4",{"text-error":l.value}])},e.toDisplayString(l.value?t.errors:n.value?t.description:null),3)],2))}}),ft=["disabled"],gt=["value"],ht=e.defineComponent({__name:"SelectComponent",props:e.mergeModels(e.mergeDefaults({id:{},placeholder:{},description:{},errors:{},label:{},visible:{type:Boolean},required:{type:Boolean},enabled:{type:Boolean},isFocused:{type:Boolean},isTouched:{type:Boolean},hideLabel:{type:Boolean},styles:{},options:{},valueKey:{},labelKey:{}},{...B(),options:[],valueKey:"value",labelKey:"label"}),{modelValue:{},modelModifiers:{}}),emits:e.mergeModels(["change","focus","blur"],["update:modelValue"]),setup(t,{emit:o}){const n=t,a=o,l=e.useModel(t,"modelValue"),c=s=>{a("change",s)},u=s=>{a("focus",s)},d=s=>{a("blur",s)};return(s,i)=>(e.openBlock(),e.createBlock(w,e.normalizeProps(e.guardReactiveProps(n)),{default:e.withCtx(()=>[e.withDirectives(e.createElementVNode("select",{"onUpdate:modelValue":i[0]||(i[0]=r=>l.value=r),disabled:!t.enabled,class:e.normalizeClass(["select select-bordered",t.styles.control.select]),onChange:c,onFocus:u,onBlur:d},[(e.openBlock(!0),e.createElementBlock(e.Fragment,null,e.renderList(t.options,r=>(e.openBlock(),e.createElementBlock("option",{key:r[t.valueKey],value:r},e.toDisplayString(r[t.labelKey]),9,gt))),128))],42,ft),[[e.vModelSelect,l.value]])]),_:1},16))}}),bt=["disabled"],kt={key:0,class:e.normalizeClass([`bg-base-100 w-52 shadow -mt-5
14
- absolute z-50`])},vt=["onClick","onBlur"],yt=e.defineComponent({__name:"AutoComplete",props:e.mergeModels(e.mergeDefaults({id:{},placeholder:{},description:{},errors:{},label:{},visible:{type:Boolean},required:{type:Boolean},enabled:{type:Boolean},isFocused:{type:Boolean},isTouched:{type:Boolean},hideLabel:{type:Boolean},styles:{},config:{},options:{},valueKey:{},labelKey:{}},oe()),{modelValue:{},modelModifiers:{}}),emits:e.mergeModels(["change","focus","blur"],["update:modelValue"]),setup(t,{emit:o}){const n=t,a=o,l=e.useModel(t,"modelValue"),c=e.ref(""),u=m=>{a("change",m)},d=m=>{a("focus",m)},s=m=>{a("blur",m)},i=e.ref(!1),r=e.ref([]),h=m=>{i.value=!0,k(m)},k=m=>{l.value=m,u(m)},C=m=>{r.value?.length===m+1&&(r.value=[])},V=m=>m[n.valueKey],f=m=>m?.[n.labelKey]??"";return e.watch(()=>l.value,m=>{m&&!V(m)||(i.value=!0,r.value=[],c.value=f(m))},{immediate:!0}),e.watch(()=>c.value,m=>{if(i.value){i.value=!1;return}if(k({[n.labelKey]:m}),n.config){const{uri:p,skipAuth:v,dataField:y}=n.config;(n.config.skipAuth?q.apiNoAuth:q.useApi()).get(`${p}${m}`).then(T=>{r.value=T.data[y]})}else n.options&&(r.value=n.options.filter(p=>f(p).toLowerCase().includes(m)).slice(0,10))}),(m,p)=>{const v=e.resolveDirective("click-outside");return e.openBlock(),e.createBlock(w,e.normalizeProps(e.guardReactiveProps(n)),{default:e.withCtx(()=>[e.withDirectives(e.createElementVNode("input",{"onUpdate:modelValue":p[0]||(p[0]=y=>c.value=y),autocomplete:"off",type:"text",class:e.normalizeClass([t.styles.control.select]),disabled:!t.enabled,onFocus:d,onBlur:s},null,42,bt),[[e.vModelText,c.value]]),e.withDirectives((e.openBlock(),e.createElementBlock("div",null,[r.value?.length?(e.openBlock(),e.createElementBlock("ul",kt,[(e.openBlock(!0),e.createElementBlock(e.Fragment,null,e.renderList(r.value,(y,L)=>(e.openBlock(),e.createElementBlock("li",{key:y[t.valueKey]},[e.createElementVNode("button",{class:"w-full h-8 border-b-1 border-gray-200 border-x-0 border-t-0 px-4 py-2 text-left hover:bg-primary-content cursor-pointer",type:"button",onClick:T=>h(y),onBlur:T=>C(L)},e.toDisplayString(f(y)),41,vt)]))),128))])):e.createCommentVNode("",!0)])),[[v,()=>r.value=[]]])]),_:1},16)}}}),Bt={key:0,class:e.normalizeClass([`bg-base-100 w-52 shadow -mt-5
15
- absolute z-50 p-0`])},Ct=["onClick"],xt={class:"w-4 mr-2"},wt=e.defineComponent({__name:"MultiSelect",props:e.mergeModels(e.mergeDefaults({id:{},placeholder:{},description:{},errors:{},label:{},visible:{type:Boolean},required:{type:Boolean},enabled:{type:Boolean},isFocused:{type:Boolean},isTouched:{type:Boolean},hideLabel:{type:Boolean},styles:{},options:{},valueKey:{},labelKey:{}},{...B(),valueKey:"value",labelKey:"label"}),{modelValue:{},modelModifiers:{}}),emits:e.mergeModels(["change","focus","blur"],["update:modelValue"]),setup(t,{emit:o}){const n=t,a=o,l=e.useModel(t,"modelValue");let c=!1;const u=f=>{a("change",f)},d=e.ref(!1),s=()=>{d.value=!d.value,c=!0},i=()=>{c||(d.value=!1),c=!1},r=e.computed(()=>l.value?.map(f=>C(f))??[]),h=f=>r.value.includes(f),k=(f,m)=>{f.preventDefault();let p=l.value??[];const v=C(m);h(v)?p=p.filter(L=>C(L)!==v):p.push(m),l.value=p,u(p)},C=f=>f[n.valueKey],V=f=>f?.[n.labelKey]??"";return(f,m)=>{const p=e.resolveDirective("click-outside");return e.openBlock(),e.createBlock(w,e.normalizeProps(e.guardReactiveProps(n)),{default:e.withCtx(()=>[e.createElementVNode("button",{type:"button",class:e.normalizeClass([t.styles.control.select,"w-full truncate block"]),onClick:s},e.toDisplayString(l.value?.map?.(v=>V(v)).join(", ")??"Select value"),3),e.withDirectives((e.openBlock(),e.createElementBlock("div",null,[d.value?(e.openBlock(),e.createElementBlock("ul",Bt,[(e.openBlock(!0),e.createElementBlock(e.Fragment,null,e.renderList(t.options,v=>(e.openBlock(),e.createElementBlock("li",{key:v[t.valueKey]},[e.createElementVNode("button",{class:"w-full flex h-8 border-b-1 border-gray-200 border-x-0 border-t-0 p-2 text-left hover:bg-primary-content cursor-pointer",type:"button",onClick:y=>k(y,v)},[e.createElementVNode("div",xt,[h(C(v))?(e.openBlock(),e.createBlock(e.unref(x),{key:0,icon:e.unref(b).Check,size:"sm"},null,8,["icon"])):e.createCommentVNode("",!0)]),e.createTextVNode(" "+e.toDisplayString(V(v)),1)],8,Ct)]))),128))])):e.createCommentVNode("",!0)])),[[p,()=>i()]])]),_:1},16)}}}),Vt={class:"card bg-base-100 border border-base-300"},Et={class:"flex items-center gap-1 px-3 py-2 border-b border-base-300 bg-base-200"},Nt=["title","onClick"],$t=["innerHTML"],Mt={class:"card-body p-3"},Lt=e.defineComponent({__name:"Markdown",props:e.mergeModels(e.mergeDefaults({id:{},placeholder:{},description:{},errors:{},label:{},visible:{type:Boolean},required:{type:Boolean},enabled:{type:Boolean},isFocused:{type:Boolean},isTouched:{type:Boolean},hideLabel:{type:Boolean},styles:{},actions:{}},{...B(),actions:()=>[{label:"<strong>B</strong>",name:"bold",action:t=>t?.chain().focus().toggleBold().run()},{label:"<em>I</em>",name:"italic",action:t=>t?.chain().focus().toggleItalic().run()}]}),{modelValue:{},modelModifiers:{}}),emits:e.mergeModels(["update:modelValue"],["update:modelValue"]),setup(t,{emit:o}){const n=t,a=o,l=e.useModel(t,"modelValue"),c=K.useEditor({content:l.value??"",extensions:[ae.configure({heading:!1,blockquote:!1,bulletList:!1,orderedList:!1,listItem:!1,code:!1,codeBlock:!1,horizontalRule:!1,hardBreak:!1}),se.Markdown.configure({html:!1,transformPastedText:!0})],onUpdate({editor:u}){a("update:modelValue",u.storage.markdown.getMarkdown())}});return e.onBeforeUnmount(()=>{c.value?.destroy()}),(u,d)=>(e.openBlock(),e.createBlock(w,e.normalizeProps(e.guardReactiveProps(n)),{default:e.withCtx(()=>[e.createElementVNode("div",Vt,[e.createElementVNode("div",Et,[(e.openBlock(!0),e.createElementBlock(e.Fragment,null,e.renderList(t.actions,s=>(e.openBlock(),e.createElementBlock("button",{key:s.name,class:e.normalizeClass(["btn btn-sm btn-ghost",{"btn-active":e.unref(c)?.isActive(s.name)}]),title:s.label,onClick:i=>s.action(e.unref(c))},[e.createElementVNode("span",{innerHTML:s.label},null,8,$t)],10,Nt))),128))]),e.createElementVNode("div",Mt,[e.createVNode(e.unref(K.EditorContent),{editor:e.unref(c),class:"prose prose-sm max-w-none min-h-24"},null,8,["editor"])])])]),_:1},16))}}),Dt=A(Lt,[["__scopeId","data-v-0d8fa163"]]),_t={class:"flex items-center justify-center h-full"},St={class:"fieldset-label"},Pt=["disabled"],zt={class:"font-bold text-gray-500 text-sm"},Tt=e.defineComponent({__name:"Checkbox",props:e.mergeModels(e.mergeDefaults({id:{},placeholder:{},description:{},errors:{},label:{},visible:{type:Boolean},required:{type:Boolean},enabled:{type:Boolean},isFocused:{type:Boolean},isTouched:{type:Boolean},hideLabel:{type:Boolean},styles:{},options:{},valueKey:{},labelKey:{}},{...B()}),{modelValue:{},modelModifiers:{}}),emits:e.mergeModels(["change","focus","blur"],["update:modelValue"]),setup(t,{emit:o}){const n=t,a=o,l=e.useModel(t,"modelValue"),c=s=>{a("change",s)},u=s=>{a("focus",s)},d=s=>{a("blur",s)};return(s,i)=>(e.openBlock(),e.createElementBlock("div",_t,[e.createVNode(w,e.mergeProps(n,{"hide-label":!0}),{default:e.withCtx(()=>[e.createElementVNode("label",St,[e.withDirectives(e.createElementVNode("input",{"onUpdate:modelValue":i[0]||(i[0]=r=>l.value=r),type:"checkbox",class:e.normalizeClass(["checkbox",t.styles.control.checkbox]),disabled:!t.enabled,onChange:c,onFocus:u,onBlur:d},null,42,Pt),[[e.vModelCheckbox,l.value]]),e.createElementVNode("span",zt,e.toDisplayString(t.label),1)])]),_:1},16)]))}}),Ft=["type","disabled","autofocus","placeholder"],At=e.defineComponent({__name:"Input",props:e.mergeModels(e.mergeDefaults({id:{},placeholder:{},description:{},errors:{},label:{},visible:{type:Boolean},required:{type:Boolean},enabled:{type:Boolean},isFocused:{type:Boolean},isTouched:{type:Boolean},hideLabel:{type:Boolean},styles:{},type:{}},{...B(),type:"text"}),{modelValue:{},modelModifiers:{}}),emits:e.mergeModels(["change","focus","blur"],["update:modelValue"]),setup(t,{emit:o}){const n=t,a=o,l=e.useModel(t,"modelValue"),c=s=>{a("change",s)},u=s=>{a("focus",s)},d=s=>{a("blur",s)};return(s,i)=>(e.openBlock(),e.createBlock(w,e.normalizeProps(e.guardReactiveProps(n)),{default:e.withCtx(()=>[e.withDirectives(e.createElementVNode("input",{"onUpdate:modelValue":i[0]||(i[0]=r=>l.value=r),autocomplete:"off",type:t.type,class:e.normalizeClass([t.styles.control.input]),disabled:!t.enabled,autofocus:t.isFocused,placeholder:t.placeholder,onChange:c,onFocus:u,onBlur:d},null,42,Ft),[[e.vModelDynamic,l.value]])]),_:1},16))}}),Rt=["disabled","step","autofocus","placeholder"],qt=e.defineComponent({__name:"InputNumber",props:e.mergeModels(e.mergeDefaults({id:{},placeholder:{},description:{},errors:{},label:{},visible:{type:Boolean},required:{type:Boolean},enabled:{type:Boolean},isFocused:{type:Boolean},isTouched:{type:Boolean},hideLabel:{type:Boolean},styles:{},steps:{}},{...B(),steps:1}),{modelValue:{},modelModifiers:{}}),emits:e.mergeModels(["change","focus","blur"],["update:modelValue"]),setup(t,{emit:o}){const n=t,a=o,l=e.useModel(t,"modelValue"),c=s=>{a("change",s)},u=s=>{a("focus",s)},d=s=>{a("blur",s)};return(s,i)=>(e.openBlock(),e.createBlock(w,e.normalizeProps(e.guardReactiveProps(n)),{default:e.withCtx(()=>[e.withDirectives(e.createElementVNode("input",{"onUpdate:modelValue":i[0]||(i[0]=r=>l.value=r),autocomplete:"off",type:"number",class:e.normalizeClass([t.styles.control.input]),disabled:!t.enabled,step:t.steps,autofocus:t.isFocused,placeholder:t.placeholder,onChange:c,onFocus:u,onBlur:d},null,42,Rt),[[e.vModelText,l.value]])]),_:1},16))}}),It=["disabled","rows","autofocus","placeholder"],Kt=e.defineComponent({__name:"Textarea",props:e.mergeModels(e.mergeDefaults({id:{},placeholder:{},description:{},errors:{},label:{},visible:{type:Boolean},required:{type:Boolean},enabled:{type:Boolean},isFocused:{type:Boolean},isTouched:{type:Boolean},hideLabel:{type:Boolean},styles:{},rows:{}},{...B(),rows:4}),{modelValue:{},modelModifiers:{}}),emits:e.mergeModels(["change","focus","blur"],["update:modelValue"]),setup(t,{emit:o}){const n=t,a=o,l=e.useModel(t,"modelValue"),c=s=>{a("change",s)},u=s=>{a("focus",s)},d=s=>{a("blur",s)};return(s,i)=>(e.openBlock(),e.createBlock(w,e.normalizeProps(e.guardReactiveProps(n)),{default:e.withCtx(()=>[e.withDirectives(e.createElementVNode("textarea",{"onUpdate:modelValue":i[0]||(i[0]=r=>l.value=r),autocomplete:"off",type:"text",class:e.normalizeClass([t.styles.control.textarea]),disabled:!t.enabled,rows:t.rows,autofocus:t.isFocused,placeholder:t.placeholder,onChange:c,onFocus:u,onBlur:d},null,42,It),[[e.vModelText,l.value]])]),_:1},16))}}),Ut={class:"grid grid-cols-[auto_1fr_auto] h-full overflow-hidden"},Ht={id:"drawer-left",class:"min-h-0 min-w-6 relative flex-shrink-0 bg-white shadow-lg transition-all duration-300 ease-in-out border-l border-gray-200 overflow-visible"},jt={class:"flex-1 overflow-y-auto bg-white"},Ot={class:"min-h-0 min-w-6 relative flex-shrink-0 bg-white shadow-lg transition-all duration-300 ease-in-out border-l border-gray-200 overflow-visible"},Wt=e.defineComponent({__name:"drawer",props:{widthLeft:{default:200},widthRight:{default:200}},setup(t){const o=e.ref({left:!0,right:!0}),n=a=>{o.value[a]=!o.value[a]};return(a,l)=>(e.openBlock(),e.createElementBlock("main",Ut,[e.createElementVNode("aside",Ht,[e.createElementVNode("div",{class:e.normalizeClass(["absolute top-0 z-20",o.value.left?"-right-0":"-right-2"])},[e.createElementVNode("button",{class:"btn btn-ghost btn-circle",onClick:l[0]||(l[0]=c=>n("left"))},[e.createVNode(e.unref(x),{size:"sm",icon:o.value.left?e.unref(b).DblChevronLeft:e.unref(b).DblChevronRight},null,8,["icon"])])],2),o.value.left?(e.openBlock(),e.createElementBlock("div",{key:0,style:e.normalizeStyle({width:t.widthLeft+"px"}),class:"h-full overflow-y-auto p-4"},[e.renderSlot(a.$slots,"left-drawer")],4)):e.createCommentVNode("",!0)]),e.createElementVNode("div",jt,[e.renderSlot(a.$slots,"default")]),e.createElementVNode("aside",Ot,[o.value.right?(e.openBlock(),e.createElementBlock("div",{key:0,style:e.normalizeStyle({width:t.widthRight+"px"}),class:"h-full overflow-y-auto p-4"},[e.renderSlot(a.$slots,"right-drawer")],4)):e.createCommentVNode("",!0),e.createElementVNode("div",{class:e.normalizeClass(["absolute top-0 z-20",o.value.right?"-left-0":"-left-2"])},[e.createElementVNode("button",{class:"btn btn-ghost btn-circle",onClick:l[1]||(l[1]=c=>n("right"))},[e.createVNode(e.unref(x),{size:"sm",icon:o.value.right?e.unref(b).DblChevronRight:e.unref(b).DblChevronLeft},null,8,["icon"])])],2)])]))}}),Zt={class:"ml-1"},Gt={class:"truncate flex-1 min-w-0 text-left"},Jt={key:0,class:"badge badge-ghost badge-sm flex-shrink-0"},Qt=e.defineComponent({__name:"TreeItem",props:{active:{},node:{},expanded:{},isExpanded:{type:Function}},emits:["toggle","select"],setup(t,{emit:o}){const n=t,a=o,l=e.computed(()=>n.active===n.node.id);return(c,u)=>{const d=e.resolveComponent("TreeItem",!0);return e.openBlock(),e.createElementBlock("li",Zt,[e.createElementVNode("div",{class:e.normalizeClass([`flex items-center gap-1 cursor-pointer rounded-md px-1 py-0.5
16
- hover:bg-gray-100`,l.value?"text-primary":""])},[t.node.children?.length>0?(e.openBlock(),e.createElementBlock("span",{key:0,class:"flex items-center justify-center",onClick:u[0]||(u[0]=s=>a("toggle",t.node))},[t.node.children&&t.isExpanded(t.node.id)?(e.openBlock(),e.createBlock(e.unref(I.ChevronDownIcon),{key:0,class:"w-3 h-3"})):(e.openBlock(),e.createBlock(e.unref(I.ChevronRightIcon),{key:1,class:"w-3 h-3"}))])):e.createCommentVNode("",!0),e.createElementVNode("div",{class:"flex items-center gap-2 w-full min-w-0",onClick:u[1]||(u[1]=s=>a("select",t.node))},[e.createElementVNode("div",Gt,e.toDisplayString(t.node.label),1),t.node.tag?(e.openBlock(),e.createElementBlock("div",Jt,e.toDisplayString(t.node.tag),1)):e.createCommentVNode("",!0)])],2),t.node.children&&t.isExpanded(t.node.id)?(e.openBlock(),e.createElementBlock("ul",{key:0,class:e.normalizeClass(["ml-4 border-l pl-2",{"border-gray-200":!l.value,"border-primary":l.value}])},[(e.openBlock(!0),e.createElementBlock(e.Fragment,null,e.renderList(t.node.children,s=>(e.openBlock(),e.createBlock(d,{key:s.id,node:s,expanded:t.expanded,active:t.active,"is-expanded":t.isExpanded,onToggle:u[2]||(u[2]=i=>a("toggle",i)),onSelect:u[3]||(u[3]=i=>a("select",i))},null,8,["node","expanded","active","is-expanded"]))),128))],2)):e.createCommentVNode("",!0)])}}}),Xt={class:"select-none text-sm"},Yt=e.defineComponent({__name:"TreeView",props:{data:{},active:{}},emits:["select"],setup(t,{emit:o}){const n=t,a=o,l=e.ref(new Set),c=s=>{const i=s.id;if(!s.children||s.children.length===0){a("select",s);return}l.value.has(i)?l.value.delete(i):l.value.add(i)},u=s=>{a("select",s),l.value.add(s.id)},d=s=>l.value.has(s);return(s,i)=>(e.openBlock(),e.createElementBlock("ul",Xt,[(e.openBlock(!0),e.createElementBlock(e.Fragment,null,e.renderList(n.data,r=>(e.openBlock(),e.createBlock(Qt,{key:r.id,node:r,expanded:l.value,active:t.active,"is-expanded":d,onToggle:c,onSelect:u},null,8,["node","expanded","active"]))),128))]))}}),eo={key:0,class:"flex items-center justify-center h-20"},to=e.defineComponent({__name:"loading",props:{loading:{type:Boolean}},setup(t){return(o,n)=>t.loading?(e.openBlock(),e.createElementBlock("div",eo,[...n[0]||(n[0]=[e.createElementVNode("span",{class:"loading loading-bars loading-md text-primary"},null,-1)])])):e.createCommentVNode("",!0)}}),oo={class:"collapse collapse-arrow bg-white w-full border border-gray-300"},no=["checked"],lo={class:"collapse-title text-gray-500 text-xs font-medium"},ao={key:0,class:"list bg-base-100"},so=e.defineComponent({__name:"Collapse",props:{title:{},opened:{type:Boolean,default:!0}},setup(t){const o=e.useSlots(),n=t,a=e.ref(n.opened);return e.watch(()=>n.opened,()=>{},{immediate:!0}),(l,c)=>(e.openBlock(),e.createElementBlock("div",oo,[e.createElementVNode("input",{type:"checkbox",checked:a.value},null,8,no),e.createElementVNode("div",lo,e.toDisplayString(t.title),1),e.createElementVNode("div",{class:e.normalizeClass(["collapse-content",e.unref(o).list?"p-0":""])},[e.renderSlot(l.$slots,"default"),e.unref(o).list?(e.openBlock(),e.createElementBlock("ul",ao,[e.renderSlot(l.$slots,"list")])):e.createCommentVNode("",!0)],2)]))}}),ro={class:"list-row"},co={class:"list-col-grow"},io={key:0,class:"text-xs text-gray-600"},uo=["href"],mo={key:1},po={key:0,class:"text-xs text-gray-500"},fo=["href"],go={key:1},ho={class:"list-col-wrap text-xs text-gray-500"},bo=e.defineComponent({__name:"CollapseRow",props:{title:{},label:{},labelLink:{},description:{},descriptionLink:{}},setup(t){return e.useSlots(),(o,n)=>{const a=e.resolveComponent("ng-content");return e.openBlock(),e.createElementBlock("li",ro,[e.createElementVNode("div",co,[e.createElementVNode("div",null,e.toDisplayString(t.title),1),t.description||t.descriptionLink?(e.openBlock(),e.createElementBlock("div",io,[t.descriptionLink?(e.openBlock(),e.createElementBlock("a",{key:0,href:t.descriptionLink,target:"_blank"},e.toDisplayString(t.description??t.descriptionLink),9,uo)):(e.openBlock(),e.createElementBlock("span",mo,e.toDisplayString(t.description),1))])):e.createCommentVNode("",!0)]),t.label?(e.openBlock(),e.createElementBlock("div",po,[t.labelLink?(e.openBlock(),e.createElementBlock("a",{key:0,href:t.labelLink,target:"_blank"},e.toDisplayString(t.label),9,fo)):(e.openBlock(),e.createElementBlock("span",go,e.toDisplayString(t.label),1))])):e.createCommentVNode("",!0),e.createElementVNode("p",ho,[e.createVNode(a)])])}}});exports.Autocomplete=yt;exports.BadgeSize=Z;exports.Btn=N;exports.BtnBadge=we;exports.ButtonSize=W;exports.Card=rt;exports.Checkbox=Tt;exports.ClickOutside=dt;exports.Collapse=so;exports.CollapseRow=bo;exports.Color=E;exports.ConfirmModal=G;exports.ControlWrapper=w;exports.DefaultAutoCompleteProperties=oe;exports.DefaultControlProperties=B;exports.Drawer=Wt;exports.Dropdown=be;exports.Icon=x;exports.IconEnum=b;exports.IconMap=U;exports.Input=At;exports.InputNumber=qt;exports.Loading=to;exports.Markdown=Dt;exports.Menu=he;exports.Modal=j;exports.ModalService=P;exports.ModalWrapper=J;exports.MultiSelect=wt;exports.NotificationMessage=Q;exports.NotificationService=z;exports.Notifications=X;exports.PaginationComponent=Y;exports.SelectComponent=ht;exports.ShellComponent=Ae;exports.SubMenu=S;exports.Table=ee;exports.TableComponent=ee;exports.TextCell=We;exports.Textarea=Kt;exports.TreeView=Yt;exports.addClickOutsideEventListener=ct;exports.hasCustomEventListener=ut;exports.inputClasses=mt;exports.isDescriptionHidden=ne;exports.myStyles=te;exports.removeClickOutsideEventListener=it;exports.showErrors=R;
1
+ "use strict";Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const e=require("vue"),be=require("vue-router"),R=require("uuid"),ye=require("@tiptap/starter-kit"),Z=require("@tiptap/vue-3"),we=require("tiptap-markdown"),G=require("@heroicons/vue/24/solid");function Be(t,o){return e.openBlock(),e.createElementBlock("svg",{xmlns:"http://www.w3.org/2000/svg",fill:"none",viewBox:"0 0 24 24","stroke-width":"1.5",stroke:"currentColor","aria-hidden":"true","data-slot":"icon"},[e.createElementVNode("path",{"stroke-linecap":"round","stroke-linejoin":"round",d:"M3.75 6.75h16.5M3.75 12h16.5m-16.5 5.25h16.5"})])}function Ce(t,o){return e.openBlock(),e.createElementBlock("svg",{xmlns:"http://www.w3.org/2000/svg",fill:"none",viewBox:"0 0 24 24","stroke-width":"1.5",stroke:"currentColor","aria-hidden":"true","data-slot":"icon"},[e.createElementVNode("path",{"stroke-linecap":"round","stroke-linejoin":"round",d:"M3 4.5h14.25M3 9h9.75M3 13.5h9.75m4.5-4.5v12m0 0-3.75-3.75M17.25 21 21 17.25"})])}function Ee(t,o){return e.openBlock(),e.createElementBlock("svg",{xmlns:"http://www.w3.org/2000/svg",fill:"none",viewBox:"0 0 24 24","stroke-width":"1.5",stroke:"currentColor","aria-hidden":"true","data-slot":"icon"},[e.createElementVNode("path",{"stroke-linecap":"round","stroke-linejoin":"round",d:"M3 4.5h14.25M3 9h9.75M3 13.5h5.25m5.25-.75L17.25 9m0 0L21 12.75M17.25 9v12"})])}function xe(t,o){return e.openBlock(),e.createElementBlock("svg",{xmlns:"http://www.w3.org/2000/svg",fill:"none",viewBox:"0 0 24 24","stroke-width":"1.5",stroke:"currentColor","aria-hidden":"true","data-slot":"icon"},[e.createElementVNode("path",{"stroke-linecap":"round","stroke-linejoin":"round",d:"m4.5 12.75 6 6 9-13.5"})])}function Ve(t,o){return e.openBlock(),e.createElementBlock("svg",{xmlns:"http://www.w3.org/2000/svg",fill:"none",viewBox:"0 0 24 24","stroke-width":"1.5",stroke:"currentColor","aria-hidden":"true","data-slot":"icon"},[e.createElementVNode("path",{"stroke-linecap":"round","stroke-linejoin":"round",d:"m18.75 4.5-7.5 7.5 7.5 7.5m-6-15L5.25 12l7.5 7.5"})])}function Ne(t,o){return e.openBlock(),e.createElementBlock("svg",{xmlns:"http://www.w3.org/2000/svg",fill:"none",viewBox:"0 0 24 24","stroke-width":"1.5",stroke:"currentColor","aria-hidden":"true","data-slot":"icon"},[e.createElementVNode("path",{"stroke-linecap":"round","stroke-linejoin":"round",d:"m5.25 4.5 7.5 7.5-7.5 7.5m6-15 7.5 7.5-7.5 7.5"})])}function _e(t,o){return e.openBlock(),e.createElementBlock("svg",{xmlns:"http://www.w3.org/2000/svg",fill:"none",viewBox:"0 0 24 24","stroke-width":"1.5",stroke:"currentColor","aria-hidden":"true","data-slot":"icon"},[e.createElementVNode("path",{"stroke-linecap":"round","stroke-linejoin":"round",d:"m19.5 8.25-7.5 7.5-7.5-7.5"})])}function $e(t,o){return e.openBlock(),e.createElementBlock("svg",{xmlns:"http://www.w3.org/2000/svg",fill:"none",viewBox:"0 0 24 24","stroke-width":"1.5",stroke:"currentColor","aria-hidden":"true","data-slot":"icon"},[e.createElementVNode("path",{"stroke-linecap":"round","stroke-linejoin":"round",d:"M15.75 19.5 8.25 12l7.5-7.5"})])}function Se(t,o){return e.openBlock(),e.createElementBlock("svg",{xmlns:"http://www.w3.org/2000/svg",fill:"none",viewBox:"0 0 24 24","stroke-width":"1.5",stroke:"currentColor","aria-hidden":"true","data-slot":"icon"},[e.createElementVNode("path",{"stroke-linecap":"round","stroke-linejoin":"round",d:"m8.25 4.5 7.5 7.5-7.5 7.5"})])}function Le(t,o){return e.openBlock(),e.createElementBlock("svg",{xmlns:"http://www.w3.org/2000/svg",fill:"none",viewBox:"0 0 24 24","stroke-width":"1.5",stroke:"currentColor","aria-hidden":"true","data-slot":"icon"},[e.createElementVNode("path",{"stroke-linecap":"round","stroke-linejoin":"round",d:"m4.5 15.75 7.5-7.5 7.5 7.5"})])}function Me(t,o){return e.openBlock(),e.createElementBlock("svg",{xmlns:"http://www.w3.org/2000/svg",fill:"none",viewBox:"0 0 24 24","stroke-width":"1.5",stroke:"currentColor","aria-hidden":"true","data-slot":"icon"},[e.createElementVNode("path",{"stroke-linecap":"round","stroke-linejoin":"round",d:"M19.5 14.25v-2.625a3.375 3.375 0 0 0-3.375-3.375h-1.5A1.125 1.125 0 0 1 13.5 7.125v-1.5a3.375 3.375 0 0 0-3.375-3.375H8.25m0 12.75h7.5m-7.5 3H12M10.5 2.25H5.625c-.621 0-1.125.504-1.125 1.125v17.25c0 .621.504 1.125 1.125 1.125h12.75c.621 0 1.125-.504 1.125-1.125V11.25a9 9 0 0 0-9-9Z"})])}function Pe(t,o){return e.openBlock(),e.createElementBlock("svg",{xmlns:"http://www.w3.org/2000/svg",fill:"none",viewBox:"0 0 24 24","stroke-width":"1.5",stroke:"currentColor","aria-hidden":"true","data-slot":"icon"},[e.createElementVNode("path",{"stroke-linecap":"round","stroke-linejoin":"round",d:"M2.036 12.322a1.012 1.012 0 0 1 0-.639C3.423 7.51 7.36 4.5 12 4.5c4.638 0 8.573 3.007 9.963 7.178.07.207.07.431 0 .639C20.577 16.49 16.64 19.5 12 19.5c-4.638 0-8.573-3.007-9.963-7.178Z"}),e.createElementVNode("path",{"stroke-linecap":"round","stroke-linejoin":"round",d:"M15 12a3 3 0 1 1-6 0 3 3 0 0 1 6 0Z"})])}function De(t,o){return e.openBlock(),e.createElementBlock("svg",{xmlns:"http://www.w3.org/2000/svg",fill:"none",viewBox:"0 0 24 24","stroke-width":"1.5",stroke:"currentColor","aria-hidden":"true","data-slot":"icon"},[e.createElementVNode("path",{"stroke-linecap":"round","stroke-linejoin":"round",d:"M12 3c2.755 0 5.455.232 8.083.678.533.09.917.556.917 1.096v1.044a2.25 2.25 0 0 1-.659 1.591l-5.432 5.432a2.25 2.25 0 0 0-.659 1.591v2.927a2.25 2.25 0 0 1-1.244 2.013L9.75 21v-6.568a2.25 2.25 0 0 0-.659-1.591L3.659 7.409A2.25 2.25 0 0 1 3 5.818V4.774c0-.54.384-1.006.917-1.096A48.32 48.32 0 0 1 12 3Z"})])}function ze(t,o){return e.openBlock(),e.createElementBlock("svg",{xmlns:"http://www.w3.org/2000/svg",fill:"none",viewBox:"0 0 24 24","stroke-width":"1.5",stroke:"currentColor","aria-hidden":"true","data-slot":"icon"},[e.createElementVNode("path",{"stroke-linecap":"round","stroke-linejoin":"round",d:"m10.5 21 5.25-11.25L21 21m-9-3h7.5M3 5.621a48.474 48.474 0 0 1 6-.371m0 0c1.12 0 2.233.038 3.334.114M9 5.25V3m3.334 2.364C11.176 10.658 7.69 15.08 3 17.502m9.334-12.138c.896.061 1.785.147 2.666.257m-4.589 8.495a18.023 18.023 0 0 1-3.827-5.802"})])}function Ae(t,o){return e.openBlock(),e.createElementBlock("svg",{xmlns:"http://www.w3.org/2000/svg",fill:"none",viewBox:"0 0 24 24","stroke-width":"1.5",stroke:"currentColor","aria-hidden":"true","data-slot":"icon"},[e.createElementVNode("path",{"stroke-linecap":"round","stroke-linejoin":"round",d:"M13.19 8.688a4.5 4.5 0 0 1 1.242 7.244l-4.5 4.5a4.5 4.5 0 0 1-6.364-6.364l1.757-1.757m13.35-.622 1.757-1.757a4.5 4.5 0 0 0-6.364-6.364l-4.5 4.5a4.5 4.5 0 0 0 1.242 7.244"})])}function Oe(t,o){return e.openBlock(),e.createElementBlock("svg",{xmlns:"http://www.w3.org/2000/svg",fill:"none",viewBox:"0 0 24 24","stroke-width":"1.5",stroke:"currentColor","aria-hidden":"true","data-slot":"icon"},[e.createElementVNode("path",{"stroke-linecap":"round","stroke-linejoin":"round",d:"m18.375 12.739-7.693 7.693a4.5 4.5 0 0 1-6.364-6.364l10.94-10.94A3 3 0 1 1 19.5 7.372L8.552 18.32m.009-.01-.01.01m5.699-9.941-7.81 7.81a1.5 1.5 0 0 0 2.112 2.13"})])}function Te(t,o){return e.openBlock(),e.createElementBlock("svg",{xmlns:"http://www.w3.org/2000/svg",fill:"none",viewBox:"0 0 24 24","stroke-width":"1.5",stroke:"currentColor","aria-hidden":"true","data-slot":"icon"},[e.createElementVNode("path",{"stroke-linecap":"round","stroke-linejoin":"round",d:"m16.862 4.487 1.687-1.688a1.875 1.875 0 1 1 2.652 2.652L10.582 16.07a4.5 4.5 0 0 1-1.897 1.13L6 18l.8-2.685a4.5 4.5 0 0 1 1.13-1.897l8.932-8.931Zm0 0L19.5 7.125M18 14v4.75A2.25 2.25 0 0 1 15.75 21H5.25A2.25 2.25 0 0 1 3 18.75V8.25A2.25 2.25 0 0 1 5.25 6H10"})])}function je(t,o){return e.openBlock(),e.createElementBlock("svg",{xmlns:"http://www.w3.org/2000/svg",fill:"none",viewBox:"0 0 24 24","stroke-width":"1.5",stroke:"currentColor","aria-hidden":"true","data-slot":"icon"},[e.createElementVNode("path",{"stroke-linecap":"round","stroke-linejoin":"round",d:"M12 9v6m3-3H9m12 0a9 9 0 1 1-18 0 9 9 0 0 1 18 0Z"})])}function Fe(t,o){return e.openBlock(),e.createElementBlock("svg",{xmlns:"http://www.w3.org/2000/svg",fill:"none",viewBox:"0 0 24 24","stroke-width":"1.5",stroke:"currentColor","aria-hidden":"true","data-slot":"icon"},[e.createElementVNode("path",{"stroke-linecap":"round","stroke-linejoin":"round",d:"m14.74 9-.346 9m-4.788 0L9.26 9m9.968-3.21c.342.052.682.107 1.022.166m-1.022-.165L18.16 19.673a2.25 2.25 0 0 1-2.244 2.077H8.084a2.25 2.25 0 0 1-2.244-2.077L4.772 5.79m14.456 0a48.108 48.108 0 0 0-3.478-.397m-12 .562c.34-.059.68-.114 1.022-.165m0 0a48.11 48.11 0 0 1 3.478-.397m7.5 0v-.916c0-1.18-.91-2.164-2.09-2.201a51.964 51.964 0 0 0-3.32 0c-1.18.037-2.09 1.022-2.09 2.201v.916m7.5 0a48.667 48.667 0 0 0-7.5 0"})])}function Re(t,o){return e.openBlock(),e.createElementBlock("svg",{xmlns:"http://www.w3.org/2000/svg",fill:"none",viewBox:"0 0 24 24","stroke-width":"1.5",stroke:"currentColor","aria-hidden":"true","data-slot":"icon"},[e.createElementVNode("path",{"stroke-linecap":"round","stroke-linejoin":"round",d:"M6 18 18 6M6 6l12 12"})])}var b=(t=>(t.Edit="Edit",t.Delete="Delete",t.BarsArrowDown="BarsArrowDown",t.BarsArrowUp="BarsArrowUp",t.Funnel="Funnel",t.Close="Close",t.Plus="Plus",t.PaperClip="PaperClip",t.Hamburger="Hamburger",t.ChevronRight="ChevronRight",t.ChevronLeft="ChevronLeft",t.ChevronDown="ChevronDown",t.ChevronUp="ChevronUp",t.DblChevronLeft="DblChevronLeft",t.DblChevronRight="DblChevronRight",t.Language="Language",t.Check="Check",t.View="View",t.Text="Text",t.Link="Link",t))(b||{});const J={Edit:Te,Delete:Fe,BarsArrowDown:Ce,BarsArrowUp:Ee,Funnel:De,Close:Re,Plus:je,PaperClip:Oe,Hamburger:Be,ChevronRight:Se,ChevronLeft:$e,ChevronDown:_e,ChevronUp:Le,DblChevronLeft:Ve,DblChevronRight:Ne,Language:ze,Check:xe,View:Pe,Text:Me,Link:Ae},Q={icon:{type:[String,Object,Function]},size:{type:String}},C=e.defineComponent({__name:"icon",props:Q,setup(t){const o=t,n=e.computed(()=>o.icon?typeof o.icon=="string"?J[o.icon]:o.icon:null);return(r,s)=>n.value?(e.openBlock(),e.createBlock(e.resolveDynamicComponent(n.value),{key:0,class:e.normalizeClass([{"w-full h-full":!r.size,"w-2 h-2":r.size==="xs","w-4 h-4":r.size==="sm","w-6 h-6":r.size==="lg","w-8 h-8":r.size==="xl"}])},null,8,["class"])):e.createCommentVNode("",!0)}}),qe={class:"dropdown dropdown-end"},Ie={tabindex:"0",class:"menu dropdown-content bg-white z-1 mt-4 p-2 shadow-sm"},He={class:"min-w-max flex-no-wrap text-black"},z=e.defineComponent({__name:"sub-menu",props:{label:{},items:{},action:{type:Function},disabled:{type:Boolean},btnClass:{},disableArrow:{type:Boolean}},setup(t){return(o,n)=>(e.openBlock(),e.createElementBlock("div",qe,[e.createElementVNode("div",{tabindex:"0",role:"button",class:e.normalizeClass([t.btnClass,"btn btn-ghost text-right flex-nowrap flex"])},[e.createElementVNode("span",null,e.toDisplayString(t.label),1),t.disableArrow?e.createCommentVNode("",!0):(e.openBlock(),e.createBlock(e.unref(C),{key:0,icon:e.unref(b).ChevronDown,size:"sm"},null,8,["icon"]))],2),e.createElementVNode("ul",Ie,[e.createElementVNode("li",He,[(e.openBlock(!0),e.createElementBlock(e.Fragment,null,e.renderList(t.items,r=>(e.openBlock(),e.createBlock(X,e.mergeProps({key:r.label},{ref_for:!0},r),null,16))),128))])])]))}}),D="btn btn-ghost text-left justify-between min-w-max font-normal",X=e.defineComponent({__name:"menu-item",props:{label:{},items:{},action:{},disabled:{type:Boolean,default:!1}},setup(t){const o=t,n=e.computed(()=>!o.disabled&&o.action&&"routerLink"in o.action),r=e.computed(()=>!o.disabled&&o.action),s=e.computed(()=>o.items?.length),a=e.computed(()=>{const d=o.action;return d&&"routerLink"in d&&"params"in d?{name:d.routerLink,params:d.params}:""}),i=()=>{o.action?.()};return(d,u)=>{const c=e.resolveComponent("RouterLink");return s.value?(e.openBlock(),e.createBlock(z,e.mergeProps({key:0},o,{"btn-class":D}),null,16)):n.value?(e.openBlock(),e.createBlock(c,{key:1,to:a.value,class:e.normalizeClass(D),onClick:i},{default:e.withCtx(()=>[e.createTextVNode(e.toDisplayString(t.label),1)]),_:1},8,["to"])):r.value?(e.openBlock(),e.createElementBlock("button",{key:2,class:e.normalizeClass(D),onClick:i},e.toDisplayString(t.label),1)):(e.openBlock(),e.createElementBlock("div",{key:3,class:e.normalizeClass([D,{"btn-disabled":t.disabled}])},e.toDisplayString(t.label),3))}}}),Ke={class:"navbar bg-base-100 shadow-sm"},Ue={class:"flex-1"},We={key:0,class:"breadcrumbs text-sm"},Ze={class:"flex grow justify-end px-2"},Ge={class:"flex items-stretch"},Je=e.defineComponent({__name:"menu",props:{menu:{},breadcrumbs:{}},setup(t){return(o,n)=>{const r=e.resolveComponent("RouterLink");return e.openBlock(),e.createElementBlock("nav",Ke,[e.createElementVNode("div",Ue,[t.breadcrumbs?(e.openBlock(),e.createElementBlock("div",We,[e.createElementVNode("ul",null,[(e.openBlock(!0),e.createElementBlock(e.Fragment,null,e.renderList(t.breadcrumbs,s=>(e.openBlock(),e.createElementBlock("li",{key:s.label},[s.routerLink?(e.openBlock(),e.createBlock(r,{key:0,to:{name:s.routerLink,params:s.params}},{default:e.withCtx(()=>[e.createTextVNode(e.toDisplayString(s.label),1)]),_:2},1032,["to"])):(e.openBlock(),e.createElementBlock(e.Fragment,{key:1},[e.createTextVNode(e.toDisplayString(s.label),1)],64))]))),128))])])):e.createCommentVNode("",!0)]),e.createElementVNode("div",Ze,[e.createElementVNode("div",Ge,[(e.openBlock(!0),e.createElementBlock(e.Fragment,null,e.renderList(t.menu,s=>(e.openBlock(),e.createBlock(X,e.mergeProps({key:s.label},{ref_for:!0},s),null,16))),128))])])])}}}),Qe=e.defineComponent({__name:"dropdown",props:{items:{}},setup(t){const o=e.ref(!0);return(n,r)=>(e.openBlock(),e.createBlock(z,{items:t.items,label:"test",open:o.value,"btn-class":"","disable-arrow":!0},null,8,["items","open"]))}}),Xe={class:"font-bold"},Ye={class:"pt-4"},et={class:"modal-action"},Y=e.defineComponent({__name:"modal",props:{modalTitle:{},buttonLabel:{},buttonSaveLabel:{},data:{},open:{type:Boolean,default:!1},disableClose:{type:Boolean,default:!1},width:{default:"sm"}},emits:["closeModal"],setup(t,{expose:o,emit:n}){const r={xs:"max-w-xs w-[50VW]",sm:"max-w-sm w-[50VW]",lg:"max-w-2xl w-[80VW]",xl:"max-w-[80VW] w-[80VW]"},s=t,a=`modal_${R.v4()}`,i=n,d=()=>{document.getElementById(a)?.showModal()},u=()=>{document.getElementById(a)?.close(),i("closeModal")};return o({closeModal:u,openModal:d}),e.watch(()=>s.open,(c,l,p)=>{s.open?d():u()}),e.onMounted(()=>{s.open&&d()}),(c,l)=>(e.openBlock(),e.createElementBlock("dialog",{id:a,class:"modal"},[e.createElementVNode("div",{class:e.normalizeClass(["modal-box bg-white",r[t.width]])},[t.disableClose?e.createCommentVNode("",!0):(e.openBlock(),e.createElementBlock("button",{key:0,type:"button",class:"btn btn-sm btn-circle btn-ghost absolute right-2 top-2",onClick:u}," ✕ ")),e.createElementVNode("h3",Xe,e.toDisplayString(t.modalTitle),1),e.createElementVNode("div",Ye,[e.renderSlot(c.$slots,"content")]),e.createElementVNode("div",et,[e.renderSlot(c.$slots,"actions")])],2)]))}});var A=(t=>(t.button="button",t.submit="submit",t.reset="reset",t))(A||{}),q=(t=>(t.a="a",t.button="button",t))(q||{}),w=(t=>(t.blank="blank",t.primary="primary",t.secondary="secondary",t.error="error",t))(w||{});const tt={blank:"btn-ghost",primary:"btn-primary",secondary:"btn-soft btn-primary",error:"btn-error text-white"},ot={blank:"badge-ghost",primary:"badge-primary",secondary:"badge-soft badge-primary",error:"badge-error"},ee={href:{type:String},disabled:{type:Boolean,default:!1},tooltip:{type:String},as:{type:String,default:q.button},icon:{type:[String,Object,Function]},type:{type:String,default:A.button},outline:{type:Boolean,default:!1},color:{type:String,default:w.primary},size:{type:String,default:"sm"},square:{type:Boolean,default:!1}},te=["click"],oe={icon:{type:[String,Object,Function]},type:{type:String,default:A.button},color:{type:String},disabled:{type:Boolean,default:!1},size:{type:String,default:"sm"}},ne=["click"],le={xs:"btn-xs",sm:"btn-sm",lg:"btn-sm",xl:"btn"},re={xs:"badge-xs text-xxs",sm:"badge-sm text-xs",lg:"badge-sm text-xs",xl:"badge text-xs"},B=e.defineComponent({__name:"btn",props:ee,emits:te,setup(t,{emit:o}){const n=t,r=o;return(s,a)=>(e.openBlock(),e.createBlock(e.resolveDynamicComponent(n.as),{class:e.normalizeClass(["btn p-1 flex justify-center flex-nowrap",e.unref(tt)[n.color],e.unref(le)[n.size],{"btn-outline":n.outline,"btn-square":n.square,tooltip:n.tooltip}]),href:n.href,type:n.type,disabled:n.disabled,"data-tip":n.tooltip,onClick:a[0]||(a[0]=i=>r("click"))},{default:e.withCtx(()=>[n.icon?(e.openBlock(),e.createBlock(e.unref(C),{key:0,icon:n.icon,size:n.size},null,8,["icon","size"])):e.createCommentVNode("",!0),e.renderSlot(s.$slots,"default")]),_:3},8,["class","href","type","disabled","data-tip"]))}}),nt=["type","disabled"],lt=e.defineComponent({__name:"btn-badge",props:oe,emits:ne,setup(t,{emit:o}){const n=t,r=o;return(s,a)=>(e.openBlock(),e.createElementBlock("button",{class:e.normalizeClass(["badge gap-1",e.unref(re)[n.size],e.unref(ot)[n.color]]),type:n.type,disabled:n.disabled,onClick:a[0]||(a[0]=i=>r("click"))},[e.renderSlot(s.$slots,"default"),n.icon?(e.openBlock(),e.createBlock(e.unref(C),{key:0,icon:n.icon,size:n.size},null,8,["icon","size"])):e.createCommentVNode("",!0)],10,nt))}}),se=e.defineComponent({__name:"confirmModal",props:{title:{},message:{},confirmLabel:{default:"Ok"},cancelLabel:{default:"Cancel"}},emits:["closeModal"],setup(t,{emit:o}){const n=o,r=s=>{n("closeModal",{confirmed:s})};return(s,a)=>(e.openBlock(),e.createBlock(Y,{"modal-title":t.title,open:!0,"disable-close":!0},{content:e.withCtx(()=>[e.createTextVNode(e.toDisplayString(t.message),1)]),actions:e.withCtx(()=>[e.createVNode(e.unref(B),{color:e.unref(w).secondary,outline:!0,onClick:a[0]||(a[0]=i=>r(!1))},{default:e.withCtx(()=>[e.createTextVNode(e.toDisplayString(t.cancelLabel),1)]),_:1},8,["color"]),e.createVNode(e.unref(B),{onClick:a[1]||(a[1]=i=>r(!0))},{default:e.withCtx(()=>[e.createTextVNode(e.toDisplayString(t.confirmLabel),1)]),_:1})]),_:1},8,["modal-title"]))}});class O{constructor(){this.showModal=e.ref(!1),this.modals=[]}openModal(o){const n=o.props.onClose,r=R.v4(),s=o;o.props.onClose=a=>{n(a),this.closeModal(r)},s.id=r,this.modals=[...this.modals,s],this.showModal.value=Date.now()}closeModal(o){this.modals=this.modals.filter(n=>n.id!==o),this.showModal.value=Date.now()}static showConfirm(o){this.getInstance().openModal({component:se,props:o})}static openModal(o){this.getInstance().openModal(o)}static getInstance(){return this.instance||(this.instance=new O),this.instance}static closeAll(){this.instance.closeAll()}closeAll(){this.modals=[],this.showModal.value=!1}}const ae=e.defineComponent({__name:"modalWrapper",setup(t){const o=O.getInstance(),n=e.computed(()=>o.showModal.value?o.modals:[]);return(r,s)=>(e.openBlock(!0),e.createElementBlock(e.Fragment,null,e.renderList(n.value,a=>(e.openBlock(),e.createBlock(e.resolveDynamicComponent(a?.component),e.mergeProps({key:a.id,ref_for:!0},a?.props,{open:!0,onCloseModal:a?.props?.onClose}),null,16,["onCloseModal"]))),128))}}),ce=e.defineComponent({__name:"notification-message",props:{message:{},type:{}},setup(t){const o={success:"alert-success",error:"alert-error",warning:"alert-warning",info:"alert-info"};return(n,r)=>(e.openBlock(),e.createElementBlock("div",{role:"alert",class:e.normalizeClass(`alert ${o[t.type]} `)},[e.createElementVNode("span",null,e.toDisplayString(t.message),1)],2))}}),rt=5e3;class T{constructor(){this.notifications=e.ref([]),this.addNotification=(o,n="info")=>{const r={id:R.v4(),duration:rt,message:o,type:n};this.notifications.value.push(r),this.removeNotificationAfterDuration(r)},this.removeNotificationAfterDuration=o=>{setTimeout(()=>{this.removeNotification(o.id)},o.duration)},this.removeNotification=o=>{this.notifications.value=this.notifications.value.filter(n=>n.id!==o)}}static getInstance(){return this.instance||(this.instance=new T),this.instance}static info(o){this.getInstance().addNotification(o,"info")}static success(o){this.getInstance().addNotification(o,"success")}static warning(o){this.getInstance().addNotification(o,"warning")}static error(o){this.getInstance().addNotification(o,"error")}static removeNotification(o){this.getInstance().removeNotification(o)}}const st={class:"toast toast-top toast-center z-[999]"},ie=e.defineComponent({__name:"notifications",setup(t){const o=T.getInstance();return(n,r)=>(e.openBlock(),e.createElementBlock("div",st,[(e.openBlock(!0),e.createElementBlock(e.Fragment,null,e.renderList(e.unref(o).notifications.value,s=>(e.openBlock(),e.createBlock(ce,e.mergeProps({key:s.id},{ref_for:!0},s),null,16))),128))]))}}),at={class:"flex h-screen flex-col"},ct={class:"shrink-0"},it={class:"navbar bg-primary text-primary-content w-full z-100"},dt={class:"navbar-start"},ut={class:"navbar-center"},pt=["href"],mt={class:"navbar-end"},ft={class:"drawer-content overflow-y-auto mb-2 mr-2 shadow-md"},gt={class:"drawer-side h-full shadow-md"},kt={class:"flex-grow overflow-y-auto"},ht={class:"bg-base-200 p-4"},vt=e.defineComponent({__name:"shell.component",props:{title:{},menu:{},user:{},version:{},widthSidebar:{default:300}},emits:["logout"],setup(t,{emit:o}){const r=t,s=e.ref(!1),a=()=>{s.value=!s.value},i=o,d=e.computed(()=>r.user?{label:r.user.name,items:[{label:"Logout",action:()=>{i("logout")}}]}:null);return(u,c)=>(e.openBlock(),e.createElementBlock(e.Fragment,null,[e.createVNode(ie),e.createVNode(e.unref(ae)),e.createElementVNode("div",at,[e.createElementVNode("header",ct,[e.createElementVNode("nav",it,[e.createElementVNode("div",dt,[e.createElementVNode("button",{"aria-label":"open sidebar",class:"btn btn-square btn-ghost p-1",onClick:a},[e.createVNode(e.unref(C),{icon:e.unref(b).Hamburger},null,8,["icon"])])]),e.createElementVNode("div",ut,[e.createElementVNode("a",{class:"btn btn-ghost text-primary-content text-lg color-white",href:e.unref("/")},e.toDisplayString(t.title),9,pt)]),e.createElementVNode("div",mt,[d.value?(e.openBlock(),e.createBlock(e.unref(z),e.mergeProps({key:0},d.value,{"btn-class":""}),null,16)):e.createCommentVNode("",!0)])])]),e.createElementVNode("div",{class:e.normalizeClass(["drawer flex-1 overflow-hidden",{"drawer-open":s.value}])},[e.withDirectives(e.createElementVNode("input",{id:"app-drawer","onUpdate:modelValue":c[0]||(c[0]=l=>s.value=l),type:"checkbox",class:"drawer-toggle"},null,512),[[e.vModelCheckbox,s.value]]),e.createElementVNode("main",ft,[e.renderSlot(u.$slots,"default")]),e.createElementVNode("div",gt,[c[1]||(c[1]=e.createElementVNode("label",{for:"app-drawer","aria-label":"close sidebar",class:"drawer-overlay"},null,-1)),e.createElementVNode("div",{class:"menu bg-base-100 h-full flex flex-col justify-between",style:e.normalizeStyle({width:t.widthSidebar+"px"})},[e.createElementVNode("ul",kt,[(e.openBlock(!0),e.createElementBlock(e.Fragment,null,e.renderList(t.menu,l=>(e.openBlock(),e.createElementBlock("li",{key:l.label},[e.createVNode(e.unref(be.RouterLink),{to:{name:l.routerLink,params:l.params}},{default:e.withCtx(()=>[e.createTextVNode(e.toDisplayString(l.label),1)]),_:2},1032,["to"])]))),128))]),e.createElementVNode("div",ht," version: "+e.toDisplayString(t.version),1)],4)])],2)])],64))}}),bt={currentPage:{type:Number,required:!0},page:{type:Number,required:!0},label:{type:String,required:!0},neverActive:{type:Boolean,default:!1},disabled:{type:Boolean,default:!1}},yt=["updatePage","updatePageSize"],S=e.defineComponent({__name:"pagination-button.component",props:bt,emits:yt,setup(t,{emit:o}){const n=t,r=o,s=e.computed(()=>n.neverActive?!1:n.page===n.currentPage),a=e.computed(()=>n.neverActive?w.blank:s.value?w.primary:w.secondary),i=()=>{r("updatePage",n.page)};return(d,u)=>(e.openBlock(),e.createBlock(e.unref(B),{disabled:d.disabled,square:!0,size:"xs",color:a.value,onClick:u[0]||(u[0]=c=>i())},{default:e.withCtx(()=>[e.createTextVNode(e.toDisplayString(d.label),1)]),_:1},8,["disabled","color"]))}}),wt={totalItems:{type:Number,default:0},itemsPerPage:{type:Number,default:1},currentPage:{type:Number,default:1}},Bt=["updatePage","updatePageSize"],Ct={class:"flex gap-2"},Et={class:"flex flex-1 justify-center items-center"},xt={class:"flex gap-1"},Vt={class:"text-sm"},L=6,de=e.defineComponent({__name:"pagination.component",props:wt,emits:Bt,setup(t,{emit:o}){const n=t,r=o,s=e.computed(()=>{let l=Math.ceil(n.totalItems/n.itemsPerPage);return l<1?1:l}),a=L/2,i=e.computed(()=>{if(s.value<=L)return{min:1,max:s.value};let l=n.currentPage-a;l<=1?l=1:l+L>s.value&&(l=s.value-L);let p=l+L;return{min:l,max:p}}),d=l=>({label:"...",currentPage:l,page:-10,disabled:!0,neverActive:!0}),u=e.computed(()=>{let l=s.value;l<1&&(l=1);const p=n.currentPage,m=[],{min:f,max:v}=i.value;return Array.from({length:l},(N,h)=>{const g=h+1;g!==1&&g!==l&&(g>v||g<f)||(g===l&&l>1&&v<l&&m.push(d(p)),m.push({label:`${g}`,totalPages:l,currentPage:p,page:g}),g===1&&l>1&&f>1&&m.push(d(p)))}),m}),c=l=>{r("updatePage",l)};return(l,p)=>(e.openBlock(),e.createElementBlock("div",Ct,[e.createElementVNode("div",Et,[e.createElementVNode("div",xt,[e.createVNode(S,e.mergeProps(n,{page:1,label:"<<","current-page":l.currentPage,"never-active":!0,disabled:l.currentPage===1,onUpdatePage:c}),null,16,["current-page","disabled"]),e.createVNode(S,e.mergeProps(n,{page:l.currentPage-1,label:"<","current-page":l.currentPage,"never-active":!0,disabled:l.currentPage===1,onUpdatePage:c}),null,16,["page","current-page","disabled"]),(e.openBlock(!0),e.createElementBlock(e.Fragment,null,e.renderList(u.value,m=>(e.openBlock(),e.createBlock(S,e.mergeProps({key:m.page,ref_for:!0},m,{onUpdatePage:c}),null,16))),128)),e.createVNode(S,e.mergeProps(n,{page:l.currentPage+1,label:">","current-page":l.currentPage,"never-active":!0,disabled:n.currentPage===s.value,onUpdatePage:c}),null,16,["page","current-page","disabled"]),e.createVNode(S,e.mergeProps(n,{page:s.value,label:">>","current-page":l.currentPage,"never-active":!0,disabled:n.currentPage===s.value,onUpdatePage:c}),null,16,["page","current-page","disabled"])])]),e.createElementVNode("div",Vt," page "+e.toDisplayString(l.currentPage)+" of "+e.toDisplayString(s.value),1)]))}}),Nt={data:{type:Object,required:!0},column:{type:Object,required:!0},options:{type:Object}},_t=e.defineComponent({__name:"text.cell",props:Nt,setup(t){const o=t,n=e.computed(()=>{const r=o.data[o.column.id];return r?o.column.options?.format==="keyValue"?r[o.column.options.key]:r:null});return(r,s)=>e.toDisplayString(n.value)}}),$t={column:{type:Object,required:!0},sortColumn:{type:String},sortDirection:{type:String}},St=["sort"],Lt={class:"flex-grow pr-2"},Mt={class:"h-4 w-4"},Pt=e.defineComponent({__name:"sort.header",props:$t,emits:St,setup(t,{emit:o}){const n=t,r=o,s=e.computed(()=>n.sortDirection==="asc"?b.BarsArrowUp:b.BarsArrowDown),a=e.computed(()=>n.column.options?.sortId??n.column.id),i=()=>{r("sort",a.value)};return(d,u)=>(e.openBlock(),e.createElementBlock("button",{class:"flex items-center",onClick:i},[e.createElementVNode("span",Lt,e.toDisplayString(d.column.label),1),e.createElementVNode("div",Mt,[d.sortColumn===a.value?(e.openBlock(),e.createBlock(e.unref(C),{key:0,icon:s.value},null,8,["icon"])):e.createCommentVNode("",!0)])]))}}),Dt={loading:{type:Boolean,default:!1},actions:{type:Array},data:{type:Array},displayColumns:{type:Array,required:!0},page:{type:Object},sort:{type:Object}},zt=["updatePage","sort"],At={class:"table w-full"},Ot={key:0},Tt=["colspan"],jt={class:"flex gap-2"},ue=e.defineComponent({__name:"table.component",props:Dt,emits:zt,setup(t,{emit:o}){const n=o,r=e.useAttrs(),s=e.computed(()=>"onEdit"in r),a=e.computed(()=>"onDelete"in r),i=l=>{r.onEdit?.(l)},d=l=>{r.onDelete?.(l)},u=l=>{n("updatePage",l)},c=l=>{n("sort",l)};return(l,p)=>(e.openBlock(),e.createElementBlock(e.Fragment,null,[e.createElementVNode("table",At,[e.createElementVNode("thead",null,[e.createElementVNode("tr",null,[(e.openBlock(!0),e.createElementBlock(e.Fragment,null,e.renderList(l.displayColumns,m=>(e.openBlock(),e.createElementBlock("th",{key:m.scope},[e.createVNode(Pt,e.mergeProps({column:m},{ref_for:!0},l.sort,{onSort:c}),null,16,["column"])]))),128)),p[0]||(p[0]=e.createElementVNode("th",null,null,-1))])]),e.createElementVNode("tbody",null,[l.loading?(e.openBlock(),e.createElementBlock("tr",Ot,[e.createElementVNode("td",{colspan:l.displayColumns.length+1,class:"text-center"},[...p[1]||(p[1]=[e.createElementVNode("span",{class:"loading loading-bars loading-xs"},null,-1)])],8,Tt)])):e.createCommentVNode("",!0),(e.openBlock(!0),e.createElementBlock(e.Fragment,null,e.renderList(l.data,m=>(e.openBlock(),e.createElementBlock("tr",{key:m.id},[(e.openBlock(!0),e.createElementBlock(e.Fragment,null,e.renderList(l.displayColumns,f=>(e.openBlock(),e.createElementBlock("td",{key:f.scope},[(e.openBlock(),e.createBlock(e.resolveDynamicComponent(f.component),e.mergeProps({ref_for:!0},f,{data:m,column:f}),null,16,["data","column"]))]))),128)),e.createElementVNode("td",null,[e.createElementVNode("span",jt,[(e.openBlock(!0),e.createElementBlock(e.Fragment,null,e.renderList(l.actions,f=>(e.openBlock(),e.createBlock(B,{key:f.label,icon:f.icon,outline:!0,onClick:v=>f.action(m)},{default:e.withCtx(()=>[e.createTextVNode(e.toDisplayString(f.label),1)]),_:2},1032,["icon","onClick"]))),128)),s.value?(e.openBlock(),e.createBlock(B,{key:0,icon:e.unref(b).Edit,outline:!0,onClick:f=>i(m)},null,8,["icon","onClick"])):e.createCommentVNode("",!0),a.value?(e.openBlock(),e.createBlock(B,{key:1,icon:e.unref(b).Delete,outline:!0,onClick:f=>d(m)},null,8,["icon","onClick"])):e.createCommentVNode("",!0)])])]))),128))])]),l.page?(e.openBlock(),e.createBlock(de,{key:0,class:"border-gray-300 border-t pt-4 border-x-0 border-b-0","total-items":l.page.count,"items-per-page":l.page.pageSize,"current-page":l.page.page,onUpdatePage:u},null,8,["total-items","items-per-page","current-page"])):e.createCommentVNode("",!0)],64))}}),Ft=(t,o)=>{const n=t.__vccOpts||t;for(const[r,s]of o)n[r]=s;return n},Rt={},qt={class:"card bg-base-100 shadow-sm"},It={class:"card-body"},Ht={key:0,class:"card-title"},Kt={key:1,class:"card-actions justify-end"};function Ut(t,o){return e.openBlock(),e.createElementBlock("div",qt,[e.createElementVNode("div",It,[t.$slots.title?(e.openBlock(),e.createElementBlock("h2",Ht,[e.renderSlot(t.$slots,"title")])):e.createCommentVNode("",!0),e.createElementVNode("p",null,[e.renderSlot(t.$slots,"default"),e.renderSlot(t.$slots,"content")]),t.$slots.actions?(e.openBlock(),e.createElementBlock("div",Kt,[e.renderSlot(t.$slots,"actions")])):e.createCommentVNode("",!0)])])}const Wt=Ft(Rt,[["render",Ut]]),Zt=(t,o)=>{if(!t)return null;const n=r=>{t.contains(r.target)||o()};return document.addEventListener("click",n),n},Gt=t=>{document.removeEventListener("click",t)},Jt={beforeMount(t,o){t.clickOutsideEvent=function(n){t===n.target||t.contains(n.target)||o.value(n)},document.addEventListener("click",t.clickOutsideEvent)},unmounted(t){document.removeEventListener("click",t.clickOutsideEvent)}};function Qt(t){const o=e.getCurrentInstance();if(!o)return!1;const n=o.vnode.props;return n?!!(n[e.toHandlerKey(t)]||n[e.toHandlerKey(e.camelize(t))]):!1}const Xt=["select"],I={options:{type:Array,required:!0},isLoading:{type:Boolean,default:!1},query:{type:String,default:null},isActive:{type:Function,default:t=>!1}},M={group:{root:"group",label:"text-primary text-lg font-bold",item:"group-item"},verticalLayout:{root:"flex flex-col gap-x-2",item:"w-full"},horizontalLayout:{root:"flex flex-row gap-x-2",item:"w-full"},arrayList:{root:"fieldset",legend:"fieldset-legend text-xl capitalize"},control:{root:"fieldset",wrapper:"fieldset",label:"fieldset-legend",error:"",input:"input",textarea:"input h-32",checkbox:"checkbox",select:"input pr-14",description:"form-control--description label text-xs text-gray-500"},fixedArrayList:{root:"flex flex-row gap-x-2",item:"w-full"}},P=t=>{if(!t)return{...M};const o={...M};for(const n of Object.keys(t)){const r=t[n];r&&typeof r=="object"&&(o[n]={...M[n],...r})}return o},x={id:{type:String},placeholder:{type:String},description:{type:String},errors:{type:String},label:{type:String},visible:{type:Boolean,default:!1},required:{type:Boolean,default:!1},enabled:{type:Boolean,default:!0},isFocused:{type:Boolean,default:!1},isTouched:{type:Boolean,default:!1},hideLabel:{type:Boolean,default:!1},styles:{type:Object,default:()=>M},width:{type:String,default:"w-48"}},H={...x,options:{type:Array,required:!0},labelKey:{type:String,default:"label"},valueKey:{type:String,default:"value"}},Yt=["select","clear","close"],pe={...I,...H,isOpen:{type:Boolean,default:!1},isActive:{type:Function,default:t=>!1}},eo={key:1,class:"pointer-events-none"},to=["data-index","aria-selected","onMousedown","onMousemove"],oo=["innerHTML"],no={key:0,xmlns:"http://www.w3.org/2000/svg",class:"h-4 w-4 shrink-0 opacity-80",fill:"none",viewBox:"0 0 24 24",stroke:"currentColor","stroke-width":"2.5"};function lo(t,o){if(!o)return t;const n=o.replace(/[.*+?^${}()|[\]\\]/g,"\\$&");return t.replace(new RegExp(`(${n})`,"gi"),'<mark class="bg-warning/40 text-inherit rounded-sm px-0.5">$1</mark>')}const ro=e.defineComponent({__name:"ListResults",props:I,emits:Xt,setup(t,{expose:o,emit:n}){const r=t,s=e.ref(-1),a=e.ref(),i=n;e.watch(()=>r.options,()=>{s.value=-1});function d(){e.nextTick(()=>{a.value?.querySelector(`[data-index="${s.value}"]`)?.scrollIntoView({block:"nearest"})})}function u(l){const p=r.options?.length??0;if(p)switch(l.key){case"ArrowDown":l.preventDefault(),s.value=(s.value+1)%p,d();break;case"ArrowUp":l.preventDefault(),s.value=s.value<=0?p-1:s.value-1,d();break;case"Enter":l.preventDefault(),s.value>=0&&s.value<p&&c(r.options[s.value]);break}}function c(l){s.value=-1,i("select",l)}return o({handleKeydown:u}),(l,p)=>(e.openBlock(),e.createElementBlock("ul",{ref_key:"listRef",ref:a,role:"listbox",class:"absolute z-50 w-full mt-1 bg-base-100 border border-base-300 rounded-box shadow-xl overflow-auto max-h-64 origin-top p-1"},[l.isLoading?(e.openBlock(),e.createElementBlock(e.Fragment,{key:0},e.renderList(2,m=>e.createElementVNode("li",{key:`skel-${m}`,class:"pointer-events-none px-3 py-2"},[...p[0]||(p[0]=[e.createElementVNode("div",{class:"flex items-center gap-3"},[e.createElementVNode("div",{class:"skeleton h-3 w-3/4 rounded"})],-1)])])),64)):l.options.length===0?(e.openBlock(),e.createElementBlock("li",eo,[...p[1]||(p[1]=[e.createElementVNode("span",{class:"px-3 py-2 text-sm opacity-50 italic"}," No results found ",-1)])])):(e.openBlock(!0),e.createElementBlock(e.Fragment,{key:2},e.renderList(l.options,(m,f)=>(e.openBlock(),e.createElementBlock("li",{key:m.value,"data-index":f,role:"option","aria-selected":f===s.value,onMousedown:e.withModifiers(v=>c(m),["prevent"]),onMousemove:v=>s.value=f},[e.createElementVNode("a",{class:e.normalizeClass(["flex items-center justify-between gap-2 rounded-lg px-3 py-2 text-sm transition-colors duration-100",{"active bg-secondary text-primary-content":f===s.value,"hover:bg-base-200":f!==s.value}])},[e.createElementVNode("span",{class:"whitespace-nowrap",innerHTML:lo(m.label,l.query)},null,8,oo),l.isActive(m)?(e.openBlock(),e.createElementBlock("svg",no,[...p[2]||(p[2]=[e.createElementVNode("path",{"stroke-linecap":"round","stroke-linejoin":"round",d:"M5 13l4 4L19 7"},null,-1)])])):e.createCommentVNode("",!0)],2)],40,to))),128))],512))}}),K=({isTouched:t,errors:o})=>!!(t&&o),me=(t,o,n,r)=>o===void 0||o!==void 0&&!t||!r&&!n,E=(t,o)=>[t,{"input-error":K(o)}],so={key:0},V=e.defineComponent({__name:"ControlWrapper",props:x,setup(t){const o=t,n=e.computed(()=>!me(o.visible,o.description,o.isFocused,!0)),r=e.computed(()=>o.required),s=e.computed(()=>K(o)),a=e.computed(()=>P(o.styles));return(i,d)=>(e.openBlock(),e.createElementBlock("fieldset",{class:e.normalizeClass(["fieldset",[i.width,a.value.control.wrapper]])},[e.createElementVNode("legend",{class:e.normalizeClass(a.value.control.label)},[i.hideLabel?e.createCommentVNode("",!0):(e.openBlock(),e.createElementBlock(e.Fragment,{key:0},[e.createElementVNode("span",null,e.toDisplayString(i.label),1),r.value?(e.openBlock(),e.createElementBlock("span",so,"*")):e.createCommentVNode("",!0)],64)),d[0]||(d[0]=e.createTextVNode("   ",-1))],2),e.renderSlot(i.$slots,"default"),e.createElementVNode("p",{class:e.normalizeClass(["fieldset-label h-4",{"text-error":s.value}])},e.toDisplayString(s.value?i.errors:n.value?i.description:null),3)],2))}}),ao={class:"overflow-hidden"},co={class:"absolute inset-y-0 right-0 flex items-center pr-3 gap-1 pointer-events-none"},io={key:0,class:"loading loading-spinner loading-xs text-primary pointer-events-none"},U=e.defineComponent({__name:"SelectWrapper",props:pe,emits:Yt,setup(t,{emit:o}){const n=t,r=e.ref(),s=e.ref(),a=o,i=()=>{d(),a("clear")},d=()=>{a("close")},u=l=>{if(l.key==="Escape"){d();return}s.value?.handleKeydown(l)},c=l=>{r.value&&!r.value.contains(l.target)&&d()};return e.onMounted(()=>{document.addEventListener("click",c)}),e.onUnmounted(()=>{document.removeEventListener("click",c)}),(l,p)=>(e.openBlock(),e.createElementBlock("div",{ref_key:"selectWrapperRef",ref:r},[e.createVNode(V,e.normalizeProps(e.guardReactiveProps(n)),{default:e.withCtx(()=>[e.createElementVNode("div",{class:"relative",onKeydown:u},[e.createElementVNode("div",ao,[e.renderSlot(l.$slots,"default")]),e.createElementVNode("div",co,[l.isLoading&&!l.label?(e.openBlock(),e.createElementBlock("span",io)):e.createCommentVNode("",!0),l.query&&!l.isLoading?(e.openBlock(),e.createElementBlock("button",{key:1,type:"button",class:"pointer-events-auto btn btn-ghost btn-xs btn-circle opacity-60 hover:opacity-100",tabindex:"-1","aria-label":"Clear",onMousedown:e.withModifiers(i,["prevent"])},[...p[1]||(p[1]=[e.createElementVNode("svg",{xmlns:"http://www.w3.org/2000/svg",class:"h-3.5 w-3.5",fill:"none",viewBox:"0 0 24 24",stroke:"currentColor","stroke-width":"2.5"},[e.createElementVNode("path",{"stroke-linecap":"round","stroke-linejoin":"round",d:"M6 18L18 6M6 6l12 12"})],-1)])],32)):e.createCommentVNode("",!0),(e.openBlock(),e.createElementBlock("svg",{xmlns:"http://www.w3.org/2000/svg",class:e.normalizeClass(["h-4 w-4 opacity-40 transition-transform duration-200",{"rotate-180":l.isOpen}]),fill:"none",viewBox:"0 0 24 24",stroke:"currentColor","stroke-width":"2"},[...p[2]||(p[2]=[e.createElementVNode("path",{"stroke-linecap":"round","stroke-linejoin":"round",d:"M19 9l-7 7-7-7"},null,-1)])],2))]),e.createVNode(e.Transition,{"enter-active-class":"transition-all duration-150 ease-out","enter-from-class":"opacity-0 -translate-y-1 scale-y-95","enter-to-class":"opacity-100 translate-y-0 scale-y-100","leave-active-class":"transition-all duration-100 ease-in","leave-from-class":"opacity-100 translate-y-0 scale-y-100","leave-to-class":"opacity-0 -translate-y-1 scale-y-95"},{default:e.withCtx(()=>[l.isOpen?(e.openBlock(),e.createBlock(ro,{key:0,ref_key:"listResultsRef",ref:s,query:l.query,options:l.options,"is-loading":l.isLoading,"is-active":l.isActive,onSelect:p[0]||(p[0]=m=>a("select",m))},null,8,["query","options","is-loading","is-active"])):e.createCommentVNode("",!0)]),_:1})],32)]),_:3},16)],512))}}),F=(t,o)=>{if(t)return typeof t=="object"?t[o.labelKey]:t},j=(t,o)=>{if(t)return typeof t=="object"?t[o.valueKey]:t},uo=t=>{const o=e.ref([]),n=new Map,r=new Map,s=l=>{const p=[];n.clear(),r.clear(),l?.forEach(m=>{const f={value:j(m,t),label:F(m,t)};n.set(f.value,m),p.push(f)}),o.value=p},a=l=>n.get(l.value);return{options:o,setOptions:s,getOriginal:a,getLabels:(...l)=>l.map(p=>F(p,t)),getValues:(...l)=>l.map(p=>j(p,t)),getOption:l=>r.get(j(l,t)),getOriginals:(...l)=>l.map(a).filter(Boolean)}},W=t=>uo(t),po=e.defineComponent({__name:"SelectComponent",props:e.mergeModels(H,{modelValue:{},modelModifiers:{}}),emits:e.mergeModels(["change","focus","blur"],["update:modelValue"]),setup(t,{emit:o}){const n=e.ref(!1),r=t,s=o,a=e.useModel(t,"modelValue"),i=W(r),{options:d}=i;e.watch(()=>r.options,()=>{i.setOptions(r.options)},{immediate:!0});const u=h=>{s("change",h)},c=e.computed(()=>a.value?i.getLabels(a.value)[0]:""),l=e.computed(()=>P(r.styles)),p=e.computed(()=>E(l.value.control.select,r)),m=h=>{const g=i.getOriginal(h);a.value=g,u(g)},f=()=>{n.value=!1,a.value=null,u(void 0)},v=h=>i.getValues(a.value)?.[0]===h.value,N=()=>{n.value=!1};return(h,g)=>(e.openBlock(),e.createBlock(U,e.mergeProps(r,{options:e.unref(d),disabled:!h.enabled,"is-open":n.value,query:c.value,"is-active":v,onClose:N,onSelect:m,onClear:f}),{default:e.withCtx(()=>[e.createElementVNode("button",{type:"button",class:e.normalizeClass(["truncate block text-left",[p.value,h.width]]),onClick:g[0]||(g[0]=y=>n.value=!0)},e.toDisplayString(c.value??"Select value"),3)]),_:1},16,["options","disabled","is-open","query"]))}}),mo={...H,...I,modelValue:{type:[String,Object],default:""},fetchOptions:{type:Function,default:null},debounceMs:{type:Number,default:200},maxResults:{type:Number,default:8},freeText:{type:Boolean,default:!1}};function fo(t){const o=e.ref([]),n=e.ref(!1);function r(a){if(!t.options){o.value=[];return}const i=a.toLowerCase(),d=i?t.options.filter(u=>F(u,t).toLowerCase().includes(i)):t.options;o.value=d.slice(0,t.maxResults)}function s(){o.value=[]}return{results:o,isLoading:n,search:r,clear:s}}function go(t){const o=e.ref([]),n=e.ref(!1);let r=null,s=null;async function a(u){s&&s.abort(),s=new AbortController,n.value=!0;try{const c=await t.fetchOptions(u,s.signal);o.value=(c||[]).slice(0,t.maxResults)}catch(c){c.name!=="AbortError"&&(o.value=[])}finally{n.value=!1}}function i(u){r&&clearTimeout(r),n.value=!0,r=setTimeout(()=>{a(u)},t.debounceMs)}function d(){r&&clearTimeout(r),s&&s.abort(),o.value=[],n.value=!1}return{results:o,isLoading:n,search:i,clear:d}}function ko(t){const o=t.fetchOptions?go(t):fo(t);function n(r){o.search(r)}return{results:o.results,isLoading:o.isLoading,triggerSearch:n,clear:o.clear}}const ho=["aria-expanded","value","placeholder","disabled"],vo=e.defineComponent({__name:"AutoComplete",props:mo,emits:["change","focus","blur"],setup(t,{emit:o}){const n=t,r=o,s=e.ref(null),a=e.ref(""),i=e.ref(!1),d=ko(n),{isLoading:u,triggerSearch:c,clear:l}=d,p=W(n),{options:m}=p;e.watch(()=>d.results.value,()=>{p.setOptions(d.results.value)},{immediate:!0}),e.watch(()=>n.modelValue,k=>{if(k==null||k===""){a.value="";return}const $=typeof k=="object"?k[n.labelKey]:k;$!==a.value&&(a.value=$)},{immediate:!0});const f=k=>{a.value=k.target.value,n.freeText||r("update:modelValue",""),c(a.value),i.value=!0},v=()=>{c(a.value),i.value=!0};function N(){setTimeout(()=>{i.value=!1,!n.freeText&&!n.modelValue&&(a.value="")},150)}const h=k=>{const $=p.getOriginal(k);a.value=k.label,i.value=!1,r("update:modelValue",$),r("change",$)},g=()=>{a.value="",l(),i.value=!1,r("update:modelValue",""),r("clear"),e.nextTick(()=>s.value?.focus())},y=()=>{i.value=!1},_=e.computed(()=>P(n.styles)),ve=e.computed(()=>E(_.value.control.select,n));return(k,$)=>(e.openBlock(),e.createBlock(U,e.mergeProps(n,{options:e.unref(m),"is-loading":e.unref(u),"is-open":i.value,query:a.value,onClose:y,onSelect:h,onClear:g}),{default:e.withCtx(()=>[e.createElementVNode("input",{ref_key:"inputRef",ref:s,type:"text",role:"combobox","aria-expanded":i.value,"aria-autocomplete":"list","aria-haspopup":"listbox",autocomplete:"off",autocorrect:"off",spellcheck:"false",class:e.normalizeClass([ve.value,k.width]),value:a.value,placeholder:k.placeholder,disabled:!k.enabled,onInput:f,onFocus:v,onBlur:N},null,42,ho)]),_:1},16,["options","is-loading","is-open","query"]))}}),bo=e.defineComponent({__name:"MultiSelect",props:e.mergeModels(pe,{modelValue:{},modelModifiers:{}}),emits:e.mergeModels(["change","focus","blur"],["update:modelValue"]),setup(t,{emit:o}){const n=e.ref(!1),r=t,s=o,a=e.useModel(t,"modelValue"),i=g=>{s("change",g)},d=W(r),{options:u}=d;e.watch(()=>r.options,()=>{d.setOptions(r.options)},{immediate:!0});const c=e.computed(()=>a.value?d.getLabels(...a.value).join(", "):void 0),l=e.computed(()=>d.getValues(...a.value??[])),p=g=>{let y=a.value??[];if(v(g))y=y.filter(_=>d.getOption(_)!==g.value);else{const _=d.getOriginal(g);y.push(_)}a.value=y,i(y)},m=()=>{n.value=!1,a.value=[],i([])},f=()=>{n.value=!1},v=g=>l.value?.includes(g.value)??!1,N=e.computed(()=>P(r.styles)),h=e.computed(()=>E(N.value.control.select,r));return(g,y)=>(e.openBlock(),e.createBlock(U,e.mergeProps(r,{options:e.unref(u),"is-open":n.value,disabled:!g.enabled,query:c.value,"is-active":v,onClose:f,onSelect:p,onClear:m}),{default:e.withCtx(()=>[e.createElementVNode("button",{type:"button",class:e.normalizeClass(["truncate block text-left",[h.value,g.width]]),onClick:y[0]||(y[0]=_=>n.value=!0)},e.toDisplayString(c.value??"Select value"),3)]),_:1},16,["options","is-open","disabled","query"]))}}),yo=["change"],wo={...x,width:{type:String,default:"w-48"},minHeight:{type:String,default:"min-h-96"},actions:{type:Object,default:()=>[{label:"<strong>B</strong>",name:"bold",action:t=>t?.chain().focus().toggleBold().run()},{label:"<em>I</em>",name:"italic",action:t=>t?.chain().focus().toggleItalic().run()}]}},Bo={class:"flex items-center gap-1 px-3 py-2 border-b border-base-300 bg-base-200"},Co=["title","onClick"],Eo=["innerHTML"],xo={class:"card-body p-3"},Vo=e.defineComponent({__name:"Markdown",props:e.mergeModels(wo,{modelValue:{},modelModifiers:{}}),emits:e.mergeModels(yo,["update:modelValue"]),setup(t,{emit:o}){const n=t,r=o,s=e.useModel(t,"modelValue"),a=Z.useEditor({content:s.value??"",extensions:[ye.configure({heading:!1,blockquote:!1,bulletList:!1,orderedList:!1,listItem:!1,code:!1,codeBlock:!1,horizontalRule:!1,hardBreak:!1}),we.Markdown.configure({html:!1,transformPastedText:!0})],onUpdate({editor:i}){r("change",i.storage.markdown.getMarkdown())}});return e.onBeforeUnmount(()=>{a.value?.destroy()}),(i,d)=>(e.openBlock(),e.createBlock(V,e.normalizeProps(e.guardReactiveProps(n)),{default:e.withCtx(()=>[e.createElementVNode("div",{class:e.normalizeClass([[i.minHeight],"card bg-base-100 border border-base-300 w-full"])},[e.createElementVNode("div",Bo,[(e.openBlock(!0),e.createElementBlock(e.Fragment,null,e.renderList(i.actions,u=>(e.openBlock(),e.createElementBlock("button",{key:u.name,tabindex:"-1",type:"button",class:e.normalizeClass(["btn btn-sm btn-ghost",{"btn-active":e.unref(a)?.isActive(u.name)}]),title:u.label,onClick:c=>u.action(e.unref(a))},[e.createElementVNode("span",{innerHTML:u.label},null,8,Eo)],10,Co))),128))]),e.createElementVNode("div",xo,[e.createVNode(e.unref(Z.EditorContent),{editor:e.unref(a),class:"prose prose-sm max-w-none h-full"},null,8,["editor"])])],2)]),_:1},16))}}),No={...x},_o=["change","focus","blur"],$o={class:"flex items-center justify-center h-full"},So={class:"fieldset-label"},Lo=["disabled"],Mo={class:"font-bold text-gray-500 text-sm"},Po=e.defineComponent({__name:"Checkbox",props:e.mergeModels(No,{modelValue:{},modelModifiers:{}}),emits:e.mergeModels(_o,["update:modelValue"]),setup(t,{emit:o}){const n=t,r=o,s=e.useModel(t,"modelValue"),a=c=>{r("change",c)},i=c=>{r("focus",c)},d=c=>{r("blur",c)},u=e.computed(()=>E(n.styles.control.checkbox,n));return(c,l)=>(e.openBlock(),e.createElementBlock("div",$o,[e.createVNode(V,e.mergeProps(n,{"hide-label":!0}),{default:e.withCtx(()=>[e.createElementVNode("label",So,[e.withDirectives(e.createElementVNode("input",{"onUpdate:modelValue":l[0]||(l[0]=p=>s.value=p),type:"checkbox",class:e.normalizeClass(u.value),disabled:!c.enabled,onChange:a,onFocus:i,onBlur:d},null,42,Lo),[[e.vModelCheckbox,s.value]]),e.createElementVNode("span",Mo,e.toDisplayString(c.label),1)])]),_:1},16)]))}}),Do={...x,type:{type:String,default:"text"}},zo=["change","focus","blur"],Ao=["type","disabled","autofocus","placeholder"],Oo=e.defineComponent({__name:"Input",props:e.mergeModels(Do,{modelValue:{},modelModifiers:{}}),emits:e.mergeModels(zo,["update:modelValue"]),setup(t,{emit:o}){const n=t,r=o,s=e.useModel(t,"modelValue"),a=c=>{r("change",c)},i=c=>{r("focus",c)},d=c=>{r("blur",c)},u=e.computed(()=>E(n.styles.control.input,n));return(c,l)=>(e.openBlock(),e.createBlock(V,e.normalizeProps(e.guardReactiveProps(n)),{default:e.withCtx(()=>[e.withDirectives(e.createElementVNode("input",{"onUpdate:modelValue":l[0]||(l[0]=p=>s.value=p),autocomplete:"off",type:c.type,class:e.normalizeClass(["w-full",u.value]),disabled:!c.enabled,autofocus:c.isFocused,placeholder:c.placeholder,onChange:a,onFocus:i,onBlur:d},null,42,Ao),[[e.vModelDynamic,s.value]])]),_:1},16))}}),To={...x,steps:{type:Number,default:1}},jo=["change","focus","blur"],Fo=["disabled","step","autofocus","placeholder"],Ro=e.defineComponent({__name:"InputNumber",props:e.mergeModels(To,{modelValue:{},modelModifiers:{}}),emits:e.mergeModels(jo,["update:modelValue"]),setup(t,{emit:o}){const n=t,r=o,s=e.useModel(t,"modelValue"),a=c=>{r("change",c)},i=c=>{r("focus",c)},d=c=>{r("blur",c)},u=e.computed(()=>E(n.styles.control.input,n));return(c,l)=>(e.openBlock(),e.createBlock(V,e.normalizeProps(e.guardReactiveProps(n)),{default:e.withCtx(()=>[e.withDirectives(e.createElementVNode("input",{"onUpdate:modelValue":l[0]||(l[0]=p=>s.value=p),autocomplete:"off",type:"number",class:e.normalizeClass(["w-full",[u.value]]),disabled:!c.enabled,step:c.steps,autofocus:c.isFocused,placeholder:c.placeholder,onChange:a,onFocus:i,onBlur:d},null,42,Fo),[[e.vModelText,s.value]])]),_:1},16))}}),qo={...x,rows:{type:Number,default:4}},Io=["change","focus","blur"],Ho=["disabled","rows","autofocus","placeholder"],Ko=e.defineComponent({__name:"Textarea",props:e.mergeModels(qo,{modelValue:{},modelModifiers:{}}),emits:e.mergeModels(Io,["update:modelValue"]),setup(t,{emit:o}){const n=t,r=o,s=e.useModel(t,"modelValue"),a=c=>{r("change",c)},i=c=>{r("focus",c)},d=c=>{r("blur",c)},u=e.computed(()=>E(n.styles.control.textarea,n));return(c,l)=>(e.openBlock(),e.createBlock(V,e.normalizeProps(e.guardReactiveProps(n)),{default:e.withCtx(()=>[e.withDirectives(e.createElementVNode("textarea",{"onUpdate:modelValue":l[0]||(l[0]=p=>s.value=p),autocomplete:"off",type:"text",class:e.normalizeClass(["w-full",u.value]),disabled:!c.enabled,rows:c.rows,autofocus:c.isFocused,placeholder:c.placeholder,onChange:a,onFocus:i,onBlur:d},null,42,Ho),[[e.vModelText,s.value]])]),_:1},16))}}),Uo={widthLeft:{type:Number,default:200},widthRight:{type:Number,default:200},initialLeftOpen:{type:Boolean,default:!0},initialRightOpen:{type:Boolean,default:!0}},Wo={class:"flex h-full overflow-hidden gap-2"},Zo={key:0,id:"drawer-left",class:"min-h-0 relative flex-shrink-0 bg-white overflow-visible flex"},Go={class:"flex-1 overflow-y-auto bg-white"},Jo={key:1,class:"min-h-0 relative flex-shrink-0 bg-white overflow-visible flex"},Qo=e.defineComponent({__name:"drawer",props:Uo,setup(t){const o=t,n=e.useSlots(),r=e.computed(()=>!!n["left-drawer"]),s=e.computed(()=>!!n["right-drawer"]),a=e.ref({left:o.initialLeftOpen,right:o.initialRightOpen}),i=d=>{a.value[d]=!a.value[d]};return(d,u)=>(e.openBlock(),e.createElementBlock("main",Wo,[r.value?(e.openBlock(),e.createElementBlock("aside",Zo,[e.createElementVNode("div",{style:e.normalizeStyle({width:a.value.left?d.widthLeft+"px":"0px"}),class:"h-full overflow-hidden bg-white shadow-sm transition-[width] duration-300 ease-in-out"},[e.createElementVNode("div",{style:e.normalizeStyle({width:d.widthLeft+"px"}),class:"h-full overflow-y-auto p-4"},[e.renderSlot(d.$slots,"left-drawer")],4)],4),e.createElementVNode("button",{class:"hover:bg-base-300 hover:text-base-content transition-colors cursor-pointer",onClick:u[0]||(u[0]=c=>i("left"))},[e.createVNode(e.unref(C),{size:"lg",icon:a.value.left?e.unref(b).ChevronLeft:e.unref(b).ChevronRight},null,8,["icon"])])])):e.createCommentVNode("",!0),e.createElementVNode("div",Go,[e.renderSlot(d.$slots,"default")]),s.value?(e.openBlock(),e.createElementBlock("aside",Jo,[e.createElementVNode("button",{class:"hover:bg-base-300 hover:text-base-content transition-colors cursor-pointer",onClick:u[1]||(u[1]=c=>i("right"))},[e.createVNode(e.unref(C),{size:"lg",icon:a.value.right?e.unref(b).ChevronRight:e.unref(b).ChevronLeft},null,8,["icon"])]),e.createElementVNode("div",{style:e.normalizeStyle({width:a.value.right?d.widthRight+"px":"0px"}),class:"h-full overflow-hidden bg-white shadow-sm transition-[width] duration-300 ease-in-out"},[e.createElementVNode("div",{style:e.normalizeStyle({width:d.widthRight+"px"}),class:"h-full overflow-y-auto p-4"},[e.renderSlot(d.$slots,"right-drawer")],4)],4)])):e.createCommentVNode("",!0)]))}}),Xo={class:"ml-1"},Yo={class:"truncate flex-1 min-w-0 text-left"},en={key:0,class:"badge badge-ghost badge-sm flex-shrink-0"},tn=e.defineComponent({__name:"TreeItem",props:{active:{},node:{},expanded:{},isExpanded:{type:Function}},emits:["toggle","select"],setup(t,{emit:o}){const n=t,r=o,s=e.computed(()=>n.active===n.node.id);return(a,i)=>{const d=e.resolveComponent("TreeItem",!0);return e.openBlock(),e.createElementBlock("li",Xo,[e.createElementVNode("div",{class:e.normalizeClass([`flex items-center gap-1 cursor-pointer rounded-md px-1 py-0.5
2
+ hover:bg-gray-100`,s.value?"text-primary":""])},[(t.node?.children?.length??0)>0?(e.openBlock(),e.createElementBlock("span",{key:0,class:"flex items-center justify-center",onClick:i[0]||(i[0]=u=>r("toggle",t.node))},[t.node.children&&t.isExpanded(t.node.id)?(e.openBlock(),e.createBlock(e.unref(G.ChevronDownIcon),{key:0,class:"w-3 h-3"})):(e.openBlock(),e.createBlock(e.unref(G.ChevronRightIcon),{key:1,class:"w-3 h-3"}))])):e.createCommentVNode("",!0),e.createElementVNode("div",{class:"flex items-center gap-2 w-full min-w-0",onClick:i[1]||(i[1]=u=>r("select",t.node))},[e.createElementVNode("div",Yo,e.toDisplayString(t.node.label),1),t.node.tag?(e.openBlock(),e.createElementBlock("div",en,e.toDisplayString(t.node.tag),1)):e.createCommentVNode("",!0)])],2),t.node.children&&t.isExpanded(t.node.id)?(e.openBlock(),e.createElementBlock("ul",{key:0,class:e.normalizeClass(["ml-4 border-l pl-2",{"border-gray-200":!s.value,"border-primary":s.value}])},[(e.openBlock(!0),e.createElementBlock(e.Fragment,null,e.renderList(t.node.children,u=>(e.openBlock(),e.createBlock(d,{key:u.id,node:u,expanded:t.expanded,active:t.active,"is-expanded":t.isExpanded,onToggle:i[2]||(i[2]=c=>r("toggle",c)),onSelect:i[3]||(i[3]=c=>r("select",c))},null,8,["node","expanded","active","is-expanded"]))),128))],2)):e.createCommentVNode("",!0)])}}}),on={class:"select-none text-sm"},nn=e.defineComponent({__name:"TreeView",props:{data:{},active:{}},emits:["select"],setup(t,{emit:o}){const n=t,r=o,s=e.ref(new Set),a=u=>{const c=u.id;if(!u.children||u.children.length===0){r("select",u);return}s.value.has(c)?s.value.delete(c):s.value.add(c)},i=u=>{r("select",u),s.value.add(u.id)},d=u=>s.value.has(u);return(u,c)=>(e.openBlock(),e.createElementBlock("ul",on,[(e.openBlock(!0),e.createElementBlock(e.Fragment,null,e.renderList(n.data,l=>(e.openBlock(),e.createBlock(tn,{key:l.id,node:l,expanded:s.value,active:t.active,"is-expanded":d,onToggle:a,onSelect:i},null,8,["node","expanded","active"]))),128))]))}}),ln={key:0,class:"flex items-center justify-center h-20"},rn=e.defineComponent({__name:"loading",props:{loading:{type:Boolean}},setup(t){return(o,n)=>t.loading?(e.openBlock(),e.createElementBlock("div",ln,[...n[0]||(n[0]=[e.createElementVNode("span",{class:"loading loading-bars loading-md text-primary"},null,-1)])])):e.createCommentVNode("",!0)}}),sn={title:{type:String,required:!0},opened:{type:Boolean,default:!0},heightFull:{type:Boolean,default:!1},disabled:{type:Boolean,default:!1},actions:{type:Array,default:()=>[]}},an=["checked"],cn={class:"collapse-title text-gray-500 text-xs font-medium"},dn={class:"flex items-center justify-between"},un={key:0,class:"list bg-base-100"},fe=e.defineComponent({__name:"Collapse",props:sn,setup(t){const o=e.useSlots(),n=t,r=e.ref(n.opened),s=e.ref(n.opened||n.disabled);return(a,i)=>(e.openBlock(),e.createElementBlock("div",{class:e.normalizeClass(["collapse collapse-arrow bg-white w-full border border-gray-300",a.heightFull?"h-full":"",a.disabled?"collapse-open":"",s.value?"overflow-visible":""])},[a.disabled?e.createCommentVNode("",!0):(e.openBlock(),e.createElementBlock("input",{key:0,type:"checkbox",checked:r.value,tabindex:"-1",onChange:i[0]||(i[0]=d=>s.value=d.target.checked)},null,40,an)),e.createElementVNode("div",cn,[e.createElementVNode("div",dn,[e.createElementVNode("span",null,e.toDisplayString(a.title),1),n.actions.length>0?(e.openBlock(),e.createElementBlock("div",{key:0,class:"relative z-10 flex gap-1",onClick:i[1]||(i[1]=e.withModifiers(()=>{},["stop"]))},[(e.openBlock(!0),e.createElementBlock(e.Fragment,null,e.renderList(n.actions,(d,u)=>(e.openBlock(),e.createBlock(e.unref(B),{key:u,color:e.unref(w).blank,size:"xs",icon:d.icon,tooltip:d.tooltip,disabled:d.disabled,onClick:d.onClick},{default:e.withCtx(()=>[e.createTextVNode(e.toDisplayString(d.label),1)]),_:2},1032,["color","icon","tooltip","disabled","onClick"]))),128))])):e.createCommentVNode("",!0)])]),e.createElementVNode("div",{class:e.normalizeClass(["collapse-content",e.unref(o).list?"p-0":""])},[e.renderSlot(a.$slots,"default"),e.unref(o).list?(e.openBlock(),e.createElementBlock("ul",un,[e.renderSlot(a.$slots,"list")])):e.createCommentVNode("",!0)],2)],2))}}),pn={title:{type:String},label:{type:String},labelLink:{type:String},description:{type:String},descriptionLink:{type:String}},mn={class:"list-row"},fn={class:"list-col-grow"},gn={key:0},kn={key:1,class:"text-xs text-gray-600"},hn=["href"],vn={key:1},bn={key:0,class:"text-xs text-gray-500"},yn=["href"],wn={key:1},Bn=e.defineComponent({__name:"CollapseRow",props:pn,setup(t){return(o,n)=>(e.openBlock(),e.createElementBlock("li",mn,[e.createElementVNode("div",fn,[o.title?(e.openBlock(),e.createElementBlock("div",gn,e.toDisplayString(o.title),1)):e.createCommentVNode("",!0),o.description||o.descriptionLink?(e.openBlock(),e.createElementBlock("div",kn,[o.descriptionLink?(e.openBlock(),e.createElementBlock("a",{key:0,href:o.descriptionLink,target:"_blank"},e.toDisplayString(o.description??o.descriptionLink),9,hn)):(e.openBlock(),e.createElementBlock("span",vn,e.toDisplayString(o.description),1))])):e.createCommentVNode("",!0)]),o.label?(e.openBlock(),e.createElementBlock("div",bn,[o.labelLink?(e.openBlock(),e.createElementBlock("a",{key:0,href:o.labelLink,target:"_blank"},e.toDisplayString(o.label),9,yn)):(e.openBlock(),e.createElementBlock("span",wn,e.toDisplayString(o.label),1))])):e.createCommentVNode("",!0),e.renderSlot(o.$slots,"default")]))}}),Cn={class:"text-gray-800"},En=e.defineComponent({__name:"alert",props:{message:{},type:{}},setup(t){const o={success:"alert-success",error:"alert-error",warning:"alert-warning",info:"alert-info"};return(n,r)=>(e.openBlock(),e.createElementBlock("div",{role:"alert",class:e.normalizeClass(`alert alert-soft ${o[t.type]} `)},[e.createElementVNode("span",Cn,e.toDisplayString(t.message),1),e.renderSlot(n.$slots,"default")],2))}}),ge={title:{type:String,required:!0},items:{type:Array,required:!0},modelValue:{type:Array,default:()=>[]},labelKey:{type:String,default:"label"},valueKey:{type:String,default:"id"},colorKey:{type:String,default:void 0},countKey:{type:String,default:"count"},counts:{type:Object,default:void 0},opened:{type:Boolean,default:!0}},ke=["update:modelValue"],he=(t,o,n,r)=>{const s=e.computed(()=>t.value.map(l=>l[n.value])),a=l=>o.value.includes(l),i=e.computed(()=>{const l=o.value.length;return l===0?"None":l===s.value.length?"All":`${l}`});return{isSelected:a,selectedLabel:i,selectAll:()=>r("update:modelValue",[...s.value]),selectNone:()=>r("update:modelValue",[]),toggleItem:(l,p)=>{p?r("update:modelValue",[...o.value,l]):r("update:modelValue",o.value.filter(m=>m!==l))}}},xn={class:"flex items-center justify-between mb-2"},Vn={class:"text-xs text-base-content/50"},Nn={class:"flex gap-1"},_n={class:"flex flex-col gap-1"},$n=["checked","onChange"],Sn={class:"text-sm flex-1 select-none"},Ln={key:1,class:"badge badge-sm badge-ghost"},Mn=e.defineComponent({__name:"filter",props:ge,emits:ke,setup(t,{emit:o}){const n=t,r=o,s=e.computed(()=>n.items??[]),{isSelected:a,selectedLabel:i,selectAll:d,selectNone:u,toggleItem:c}=he(s,e.toRef(n,"modelValue"),e.toRef(n,"valueKey"),r);return(l,p)=>(e.openBlock(),e.createBlock(e.unref(fe),{title:l.title,opened:l.opened},{default:e.withCtx(()=>[e.createElementVNode("div",xn,[e.createElementVNode("span",Vn,e.toDisplayString(e.unref(i))+" of "+e.toDisplayString(s.value.length)+" items ",1),e.createElementVNode("div",Nn,[e.createElementVNode("button",{class:"btn btn-ghost btn-xs",type:"button",tabindex:"-1",onClick:p[0]||(p[0]=(...m)=>e.unref(d)&&e.unref(d)(...m))}," All "),e.createElementVNode("button",{class:"btn btn-ghost btn-xs",type:"button",tabindex:"-1",onClick:p[1]||(p[1]=(...m)=>e.unref(u)&&e.unref(u)(...m))}," None ")])]),e.createElementVNode("div",_n,[(e.openBlock(!0),e.createElementBlock(e.Fragment,null,e.renderList(s.value,m=>(e.openBlock(),e.createElementBlock("label",{key:m[l.valueKey],class:e.normalizeClass(["flex items-center gap-3 px-2 py-1.5 rounded-lg cursor-pointer transition-colors hover:bg-base-200",{"bg-base-200/60":e.unref(a)(m[l.valueKey])}])},[e.createElementVNode("input",{type:"checkbox",class:"checkbox checkbox-sm",checked:e.unref(a)(m[l.valueKey]),onChange:f=>e.unref(c)(m[l.valueKey],f.target.checked)},null,40,$n),l.colorKey&&m[l.colorKey]?(e.openBlock(),e.createElementBlock("span",{key:0,class:"w-3 h-3 rounded-full shrink-0 ring-1 ring-black/10",style:e.normalizeStyle({backgroundColor:m[l.colorKey]})},null,4)):e.createCommentVNode("",!0),e.createElementVNode("span",Sn,e.toDisplayString(m[l.labelKey]),1),m[l.countKey]>0?(e.openBlock(),e.createElementBlock("span",Ln,e.toDisplayString(m[l.countKey]),1)):e.createCommentVNode("",!0)],2))),128))])]),_:1},8,["title","opened"]))}});exports.Alert=En;exports.Autocomplete=vo;exports.BadgeSize=re;exports.Btn=B;exports.BtnBadge=lt;exports.BtnBadgeEmits=ne;exports.BtnBadgeProperties=oe;exports.BtnEmits=te;exports.BtnProperties=ee;exports.ButtonSize=le;exports.ButtonTag=q;exports.ButtonType=A;exports.Card=Wt;exports.Checkbox=Po;exports.ClickOutside=Jt;exports.Collapse=fe;exports.CollapseRow=Bn;exports.Color=w;exports.ConfirmModal=se;exports.ControlWrapper=V;exports.Drawer=Qo;exports.Dropdown=Qe;exports.Filter=Mn;exports.FilterEmits=ke;exports.FilterProperties=ge;exports.Icon=C;exports.IconEnum=b;exports.IconMap=J;exports.IconProperties=Q;exports.Input=Oo;exports.InputNumber=Ro;exports.Loading=rn;exports.Markdown=Vo;exports.Menu=Je;exports.Modal=Y;exports.ModalService=O;exports.ModalWrapper=ae;exports.MultiSelect=bo;exports.NotificationMessage=ce;exports.NotificationService=T;exports.Notifications=ie;exports.PaginationComponent=de;exports.SelectComponent=po;exports.ShellComponent=vt;exports.SubMenu=z;exports.Table=ue;exports.TableComponent=ue;exports.TextCell=_t;exports.Textarea=Ko;exports.TreeView=nn;exports.addClickOutsideEventListener=Zt;exports.buildInputStyle=E;exports.hasCustomEventListener=Qt;exports.isDescriptionHidden=me;exports.mergeStyles=P;exports.myStyles=M;exports.removeClickOutsideEventListener=Gt;exports.showErrors=K;exports.useFilter=he;