@ghentcdh/ui 0.6.8 → 0.7.0

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"),ce=require("vue-router"),z=require("uuid"),j=require("@ghentcdh/tools-vue"),H=require("@heroicons/vue/24/solid"),ie=require("@tiptap/starter-kit"),O=require("@tiptap/vue-3"),de=require("tiptap-markdown"),f=(...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(o=>` <path
8
- stroke-linejoin="round"
9
- stroke-linecap="round"
10
- d="${o}"
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 W={Edit:f("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:f("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:f("M3 4.5h14.25M3 9h9.75M3 13.5h9.75m4.5-4.5v12m0 0-3.75-3.75M17.25 21 21 17.25"),BarsArrowUp:f("M3 4.5h14.25M3 9h9.75M3 13.5h5.25m5.25-.75L17.25 9m0 0L21 12.75M17.25 9v12"),Funnel:f("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:f("M6 18 18 6M6 6l12 12"),Plus:f("M12 9v6m3-3H9m12 0a9 9 0 1 1-18 0 9 9 0 0 1 18 0Z"),PaperClip:f("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:f("M4 6h16M4 12h16M4 18h16"),ChevronRight:f("M8.25 4.5l7.5 7.5-7.5 7.5"),ChevronLeft:f("M15.75 19.5L8.25 12l7.5-7.5"),ChevronDown:f("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:f("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:f("m4.5 12.75 6 6 9-13.5"),View:f("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:f("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:f("m18.75 4.5-7.5 7.5 7.5 7.5m-6-15L5.25 12l7.5 7.5"),DblChevronRight:f("m5.25 4.5 7.5 7.5-7.5 7.5m6-15 7.5 7.5-7.5 7.5")},ue=["innerHTML"],w=e.defineComponent({__name:"icon",props:{icon:{},size:{}},setup(t){return(n,o)=>(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(W)[t.icon]},null,10,ue))}}),me={class:"dropdown dropdown-end"},pe={tabindex:"0",class:"menu dropdown-content bg-white z-1 mt-4 p-2 shadow-sm"},fe={class:"min-w-max flex-no-wrap text-black"},F=e.defineComponent({__name:"sub-menu",props:{label:{},items:{},action:{type:Function},disabled:{type:Boolean},btnClass:{},disableArrow:{type:Boolean}},setup(t){return(n,o)=>(e.openBlock(),e.createElementBlock("div",me,[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(w),{key:0,icon:e.unref(b).ChevronDown,size:"sm"},null,8,["icon"]))],2),e.createElementVNode("ul",pe,[e.createElementVNode("li",fe,[(e.openBlock(!0),e.createElementBlock(e.Fragment,null,e.renderList(t.items,a=>(e.openBlock(),e.createBlock(Z,e.mergeProps({key:a.label},{ref_for:!0},a),null,16))),128))])])]))}}),P="btn btn-ghost text-left justify-between min-w-max font-normal",Z=e.defineComponent({__name:"menu-item",props:{label:{},items:{},action:{},disabled:{type:Boolean,default:!1}},setup(t){const n=t,o=e.computed(()=>!n.disabled&&n.action&&"routerLink"in n.action),a=e.computed(()=>!n.disabled&&n.action),l=e.computed(()=>n.items?.length),c=e.computed(()=>{const d=n.action;return d&&"routerLink"in d&&"params"in d?{name:d.routerLink,params:d.params}:""}),u=()=>{n.action?.()};return(d,i)=>{const s=e.resolveComponent("RouterLink");return l.value?(e.openBlock(),e.createBlock(F,e.mergeProps({key:0},n,{"btn-class":P}),null,16)):o.value?(e.openBlock(),e.createBlock(s,{key:1,to:c.value,class:e.normalizeClass(P),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(P),onClick:u},e.toDisplayString(t.label),1)):(e.openBlock(),e.createElementBlock("div",{key:3,class:e.normalizeClass([P,{"btn-disabled":t.disabled}])},e.toDisplayString(t.label),3))}}}),he={class:"navbar bg-base-100 shadow-sm"},ge={class:"flex-1"},be={key:0,class:"breadcrumbs text-sm"},ve={class:"flex grow justify-end px-2"},ke={class:"flex items-stretch"},ye=e.defineComponent({__name:"menu",props:{menu:{},breadcrumbs:{}},setup(t){return(n,o)=>{const a=e.resolveComponent("RouterLink");return e.openBlock(),e.createElementBlock("nav",he,[e.createElementVNode("div",ge,[t.breadcrumbs?(e.openBlock(),e.createElementBlock("div",be,[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",ve,[e.createElementVNode("div",ke,[(e.openBlock(!0),e.createElementBlock(e.Fragment,null,e.renderList(t.menu,l=>(e.openBlock(),e.createBlock(Z,e.mergeProps({key:l.label},{ref_for:!0},l),null,16))),128))])])])}}}),Be=e.defineComponent({__name:"dropdown",props:{items:{}},setup(t){const n=e.ref(!0);return(o,a)=>(e.openBlock(),e.createBlock(F,{items:t.items,label:"test",open:n.value,"btn-class":"","disable-arrow":!0},null,8,["items","open"]))}}),Ce={class:"font-bold"},we={class:"pt-4"},xe={class:"modal-action"},G=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:n,emit:o}){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_${z.v4()}`,u=o,d=()=>{document.getElementById(c)?.showModal()},i=()=>{document.getElementById(c)?.close(),u("closeModal")};return n({closeModal:i,openModal:d}),e.watch(()=>l.open,(s,r,p)=>{l.open?d():i()}),e.onMounted(()=>{l.open&&d()}),(s,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:i}," ✕ ")),e.createElementVNode("h3",Ce,e.toDisplayString(t.modalTitle),1),e.createElementVNode("div",we,[e.renderSlot(s.$slots,"content")]),e.createElementVNode("div",xe,[e.renderSlot(s.$slots,"actions")])],2)]))}});var q=(t=>(t.button="button",t.submit="submit",t.reset="reset",t))(q||{}),J=(t=>(t.a="a",t.button="button",t))(J||{}),$=(t=>(t.blank="blank",t.primary="primary",t.secondary="secondary",t.error="error",t))($||{});const Ve={blank:"btn-ghost",primary:"btn-primary",secondary:"btn-soft btn-primary",error:"btn-error text-white"},Ee={blank:"badge-ghost",primary:"badge-primary",secondary:"badge-soft badge-primary",error:"badge-error"},Q={xs:"btn-xs",sm:"btn-sm",lg:"btn-sm",xl:"btn"},X={xs:"badge-xs text-xxs",sm:"badge-sm text-xs",lg:"badge-sm text-xs",xl:"badge text-xs"},M=e.defineComponent({__name:"btn",props:{href:{},disabled:{type:Boolean,default:!1},as:{default:J.button},icon:{},type:{default:q.button},outline:{type:Boolean,default:!1},color:{default:$.primary},size:{default:"sm"},square:{type:Boolean,default:!1}},emits:["click"],setup(t,{emit:n}){const o=t,a=n;return(l,c)=>(e.openBlock(),e.createBlock(e.resolveDynamicComponent(t.as),e.mergeProps({class:["btn p-1 flex justify-center flex-nowrap",e.unref(Ve)[t.color],e.unref(Q)[t.size],{"btn-outline":t.outline,"btn-square":t.square}]},o,{onClick:c[0]||(c[0]=u=>a("click"))}),{default:e.withCtx(()=>[t.icon?(e.openBlock(),e.createBlock(e.unref(w),{key:0,icon:t.icon,size:t.size},null,8,["icon","size"])):e.createCommentVNode("",!0),e.renderSlot(l.$slots,"default")]),_:3},16,["class"]))}}),Ne=["type","disabled"],$e=e.defineComponent({__name:"btn-badge",props:{icon:{default:void 0},type:{default:q.button},color:{default:void 0},disabled:{type:Boolean,default:!1},size:{default:"sm"}},emits:["click"],setup(t,{emit:n}){const o=n;return(a,l)=>(e.openBlock(),e.createElementBlock("button",{class:e.normalizeClass(["badge gap-1",e.unref(X)[t.size],e.unref(Ee)[t.color]]),type:t.type,disabled:t.disabled,onClick:l[0]||(l[0]=c=>o("click"))},[e.renderSlot(a.$slots,"default"),t.icon?(e.openBlock(),e.createBlock(e.unref(w),{key:0,icon:t.icon,size:t.size},null,8,["icon","size"])):e.createCommentVNode("",!0)],10,Ne))}}),Y=e.defineComponent({__name:"confirmModal",props:{title:{},message:{},confirmLabel:{default:"Ok"},cancelLabel:{default:"Cancel"}},emits:["closeModal"],setup(t,{emit:n}){const o=n,a=l=>{o("closeModal",{confirmed:l})};return(l,c)=>(e.openBlock(),e.createBlock(G,{"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(M),{color:e.unref($).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(M),{onClick:c[1]||(c[1]=u=>a(!0))},{default:e.withCtx(()=>[e.createTextVNode(e.toDisplayString(t.confirmLabel),1)]),_:1})]),_:1},8,["modal-title"]))}});class T{constructor(){this.showModal=e.ref(!1),this.modals=[]}openModal(n){const o=n.props.onClose,a=z.v4(),l=n;n.props.onClose=c=>{o(c),this.closeModal(a)},l.id=a,this.modals=[...this.modals,l],this.showModal.value=Date.now()}closeModal(n){this.modals=this.modals.filter(o=>o.id!==n),this.showModal.value=Date.now()}static showConfirm(n){this.getInstance().openModal({component:Y,props:n})}static openModal(n){this.getInstance().openModal(n)}static getInstance(){return this.instance||(this.instance=new T),this.instance}static closeAll(){this.instance.closeAll()}closeAll(){this.modals=[],this.showModal.value=!1}}const ee=e.defineComponent({__name:"modalWrapper",setup(t){const n=T.getInstance(),o=e.computed(()=>n.showModal.value?n.modals:[]);return(a,l)=>(e.openBlock(!0),e.createElementBlock(e.Fragment,null,e.renderList(o.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))}}),te=e.defineComponent({__name:"notification-message",props:{message:{},type:{}},setup(t){const n={success:"alert-success",error:"alert-error",warning:"alert-warning",info:"alert-info"};return(o,a)=>(e.openBlock(),e.createElementBlock("div",{role:"alert",class:e.normalizeClass(`alert ${n[t.type]} `)},[e.createElementVNode("span",null,e.toDisplayString(t.message),1)],2))}}),Me=5e3;class A{constructor(){this.notifications=e.ref([]),this.addNotification=(n,o="info")=>{const a={id:z.v4(),duration:Me,message:n,type:o};this.notifications.value.push(a),this.removeNotificationAfterDuration(a)},this.removeNotificationAfterDuration=n=>{setTimeout(()=>{this.removeNotification(n.id)},n.duration)},this.removeNotification=n=>{this.notifications.value=this.notifications.value.filter(o=>o.id!==n)}}static getInstance(){return this.instance||(this.instance=new A),this.instance}static info(n){this.getInstance().addNotification(n,"info")}static success(n){this.getInstance().addNotification(n,"success")}static warning(n){this.getInstance().addNotification(n,"warning")}static error(n){this.getInstance().addNotification(n,"error")}static removeNotification(n){this.getInstance().removeNotification(n)}}const Le={class:"toast toast-top toast-center z-[999]"},oe=e.defineComponent({__name:"notifications",setup(t){const n=A.getInstance();return(o,a)=>(e.openBlock(),e.createElementBlock("div",Le,[(e.openBlock(!0),e.createElementBlock(e.Fragment,null,e.renderList(e.unref(n).notifications.value,l=>(e.openBlock(),e.createBlock(te,e.mergeProps({key:l.id},{ref_for:!0},l),null,16))),128))]))}}),De={class:"flex h-screen flex-col"},_e={class:"shrink-0"},Se={class:"navbar bg-primary text-primary-content w-full z-100"},Pe={class:"navbar-start"},ze={class:"navbar-center"},Fe=["href"],Te={class:"navbar-end"},Ae={class:"drawer-content overflow-y-auto mb-2 mr-2 shadow-md"},Re={class:"drawer-side h-full shadow-md"},qe={class:"flex-grow overflow-y-auto"},Ie={class:"bg-base-200 p-4"},Ke=e.defineComponent({__name:"shell.component",props:{title:{},menu:{},user:{},version:{},widthSidebar:{default:300}},emits:["logout"],setup(t,{emit:n}){const a=t,l=e.ref(!1),c=()=>{l.value=!l.value},u=n,d=e.computed(()=>a.user?{label:a.user.name,items:[{label:"Logout",action:()=>{u("logout")}}]}:null);return(i,s)=>(e.openBlock(),e.createElementBlock(e.Fragment,null,[e.createVNode(oe),e.createVNode(e.unref(ee)),e.createElementVNode("div",De,[e.createElementVNode("header",_e,[e.createElementVNode("nav",Se,[e.createElementVNode("div",Pe,[e.createElementVNode("button",{"aria-label":"open sidebar",class:"btn btn-square btn-ghost p-1",onClick:c},[e.createVNode(e.unref(w),{icon:e.unref(b).Hamburger},null,8,["icon"])])]),e.createElementVNode("div",ze,[e.createElementVNode("a",{class:"btn btn-ghost text-primary-content text-lg color-white",href:e.unref("/")},e.toDisplayString(t.title),9,Fe)]),e.createElementVNode("div",Te,[d.value?(e.openBlock(),e.createBlock(e.unref(F),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":s[0]||(s[0]=r=>l.value=r),type:"checkbox",class:"drawer-toggle"},null,512),[[e.vModelCheckbox,l.value]]),e.createElementVNode("main",Ae,[e.renderSlot(i.$slots,"default")]),e.createElementVNode("div",Re,[s[1]||(s[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",qe,[(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(ce.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",Ie," version: "+e.toDisplayString(t.version),1)],4)])],2)])],64))}}),D=e.defineComponent({__name:"pagination-button.component",props:{currentPage:{},page:{},label:{},neverActive:{type:Boolean,default:!1},disabled:{type:Boolean}},emits:["updatePage","updatePageSize"],setup(t,{emit:n}){const o=t,a=n,l=e.computed(()=>o.neverActive?!1:o.page===o.currentPage),c=e.computed(()=>o.neverActive?$.blank:l.value?$.primary:$.secondary),u=()=>{a("updatePage",o.page)};return(d,i)=>(e.openBlock(),e.createBlock(e.unref(M),{disabled:t.disabled,square:!0,size:"xs",color:c.value,onClick:i[0]||(i[0]=s=>u())},{default:e.withCtx(()=>[e.createTextVNode(e.toDisplayString(t.label),1)]),_:1},8,["disabled","color"]))}}),Ue={class:"flex gap-2"},je={class:"flex flex-1 justify-center items-center"},He={class:"flex gap-1"},Oe={class:"text-sm"},_=6,ne=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:n}){const o=t,a=n,l=e.computed(()=>{let r=Math.ceil(o.totalItems/o.itemsPerPage);return r<1?1:r}),c=_/2,u=e.computed(()=>{if(l.value<=_)return{min:1,max:l.value};let r=o.currentPage-c;r<=1?r=1:r+_>l.value&&(r=l.value-_);let p=r+_;return{min:r,max:p}}),d=r=>({label:"...",currentPage:r,page:-10,disabled:!0,neverActive:!0}),i=e.computed(()=>{let r=l.value;r<1&&(r=1);const p=o.currentPage,v=[],{min:y,max:E}=u.value;return Array.from({length:r},(L,h)=>{const g=h+1;g!==1&&g!==r&&(g>E||g<y)||(g===r&&r>1&&E<r&&v.push(d(p)),v.push({label:`${g}`,totalPages:r,currentPage:p,page:g}),g===1&&r>1&&y>1&&v.push(d(p)))}),v}),s=r=>{a("updatePage",r)};return(r,p)=>(e.openBlock(),e.createElementBlock("div",Ue,[e.createElementVNode("div",je,[e.createElementVNode("div",He,[e.createVNode(D,e.mergeProps(o,{page:1,label:"<<","current-page":t.currentPage,"never-active":!0,disabled:t.currentPage===1,onUpdatePage:s}),null,16,["current-page","disabled"]),e.createVNode(D,e.mergeProps(o,{page:t.currentPage-1,label:"<","current-page":t.currentPage,"never-active":!0,disabled:t.currentPage===1,onUpdatePage:s}),null,16,["page","current-page","disabled"]),(e.openBlock(!0),e.createElementBlock(e.Fragment,null,e.renderList(i.value,v=>(e.openBlock(),e.createBlock(D,e.mergeProps({key:v.page,ref_for:!0},v,{onUpdatePage:s}),null,16))),128)),e.createVNode(D,e.mergeProps(o,{page:t.currentPage+1,label:">","current-page":t.currentPage,"never-active":!0,disabled:o.currentPage===l.value,onUpdatePage:s}),null,16,["page","current-page","disabled"]),e.createVNode(D,e.mergeProps(o,{page:l.value,label:">>","current-page":t.currentPage,"never-active":!0,disabled:o.currentPage===l.value,onUpdatePage:s}),null,16,["page","current-page","disabled"])])]),e.createElementVNode("div",Oe," page "+e.toDisplayString(t.currentPage)+" of "+e.toDisplayString(l.value),1)]))}}),I=(t,n)=>{const o=t.__vccOpts||t;for(const[a,l]of n)o[a]=l;return o},We=()=>({data:{type:Object,required:!0},column:{type:Object,required:!0},options:{type:Object,required:!1}}),Ze=e.defineComponent({name:"TextCell",props:{...We()},computed:{value(){const t=this.data[this.column.id];return t?this.column.options?.format==="keyValue"?t[this.column.options.key]:t:null}}}),Ge=Ze;function Je(t,n,o,a,l,c){return e.toDisplayString(t.value)}const Qe=I(Ge,[["render",Je]]),Xe={class:"flex-grow pr-2"},Ye={class:"h-4 w-4"},et=e.defineComponent({__name:"sort.header",props:{column:{},sortColumn:{},sortDirection:{}},emits:["sort"],setup(t,{emit:n}){const o=t,a=e.computed(()=>o.sortDirection==="asc"?b.BarsArrowUp:b.BarsArrowDown),l=e.computed(()=>o.column.options?.sortId??o.column.id),c=()=>{u("sort",l.value)},u=n;return(d,i)=>(e.openBlock(),e.createElementBlock("button",{class:"flex items-center",onClick:c},[e.createElementVNode("span",Xe,e.toDisplayString(t.column.label),1),e.createElementVNode("div",Ye,[t.sortColumn===l.value?(e.openBlock(),e.createBlock(e.unref(w),{key:0,icon:a.value},null,8,["icon"])):e.createCommentVNode("",!0)])]))}}),tt={class:"table w-full"},ot={key:0},nt=["colspan"],lt={class:"flex gap-2"},le=e.defineComponent({__name:"table.component",props:{loading:{type:Boolean},actions:{},data:{},displayColumns:{},page:{},sort:{}},emits:["delete","edit","updatePage","sort"],setup(t,{emit:n}){const o=n,a=d=>{o("edit",d)},l=d=>{o("delete",d)},c=d=>{o("updatePage",d)},u=d=>{o("sort",d)};return(d,i)=>(e.openBlock(),e.createElementBlock(e.Fragment,null,[e.createElementVNode("table",tt,[e.createElementVNode("thead",null,[e.createElementVNode("tr",null,[(e.openBlock(!0),e.createElementBlock(e.Fragment,null,e.renderList(t.displayColumns,s=>(e.openBlock(),e.createElementBlock("th",{key:s.scope},[e.createVNode(et,e.mergeProps({column:s},{ref_for:!0},t.sort,{onSort:u}),null,16,["column"])]))),128)),i[0]||(i[0]=e.createElementVNode("th",null,null,-1))])]),e.createElementVNode("tbody",null,[t.loading?(e.openBlock(),e.createElementBlock("tr",ot,[e.createElementVNode("td",{colspan:t.displayColumns.length+1,class:"text-center"},[...i[1]||(i[1]=[e.createElementVNode("span",{class:"loading loading-bars loading-xs"},null,-1)])],8,nt)])):e.createCommentVNode("",!0),(e.openBlock(!0),e.createElementBlock(e.Fragment,null,e.renderList(t.data,s=>(e.openBlock(),e.createElementBlock("tr",{key:s.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:s,column:r}),null,16,["data","column"]))]))),128)),e.createElementVNode("td",null,[e.createElementVNode("span",lt,[(e.openBlock(!0),e.createElementBlock(e.Fragment,null,e.renderList(t.actions,r=>(e.openBlock(),e.createBlock(M,{key:r.label,icon:r.icon,outline:!0,onClick:p=>r.action(s)},{default:e.withCtx(()=>[e.createTextVNode(e.toDisplayString(r.label),1)]),_:2},1032,["icon","onClick"]))),128)),e.createVNode(M,{icon:e.unref(b).Edit,outline:!0,onClick:r=>a(s)},null,8,["icon","onClick"]),e.createVNode(M,{icon:e.unref(b).Delete,outline:!0,onClick:r=>l(s)},null,8,["icon","onClick"])])])]))),128))])]),t.page?(e.openBlock(),e.createBlock(ne,{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))}}),at={},st={class:"card bg-base-100 shadow-sm"},rt={class:"card-body"},ct={key:0,class:"card-title"},it={key:1,class:"card-actions justify-end"};function dt(t,n){return e.openBlock(),e.createElementBlock("div",st,[e.createElementVNode("div",rt,[t.$slots.title?(e.openBlock(),e.createElementBlock("h2",ct,[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",it,[e.renderSlot(t.$slots,"actions")])):e.createCommentVNode("",!0)])])}const ut=I(at,[["render",dt]]),mt=(t,n)=>{if(!t)return null;const o=a=>{t.contains(a.target)||n()};return document.addEventListener("click",o),o},pt=t=>{document.removeEventListener("click",t)},ft={beforeMount(t,n){t.clickOutsideEvent=function(o){t===o.target||t.contains(o.target)||n.value(o)},document.addEventListener("click",t.clickOutsideEvent)},unmounted(t){document.removeEventListener("click",t.clickOutsideEvent)}};function ht(t){const n=e.getCurrentInstance();if(!n)return!1;const o=n.vnode.props;return o?!!(o[e.toHandlerKey(t)]||o[e.toHandlerKey(e.camelize(t))]):!1}const ae={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:"select",description:"form-control--description label text-xs text-gray-500"},fixedArrayList:{root:"flex flex-row gap-x-2",item:"w-full"}},k=()=>({id:z.v4(),visible:!0,required:!1,enabled:!0,isFocused:!1,isTouched:!1,hideLabel:!1,styles:ae,width:"w-24"}),se=()=>({...k(),options:[],valueKey:"value",labelKey:"label"}),K=({isTouched:t,errors:n})=>!!(t&&n),re=(t,n,o,a)=>n===void 0||n!==void 0&&!t||!a&&!o,V=(t,n)=>[t,{"input-error":K(n)}],gt={key:0},x=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:{},width:{}},k()),setup(t){const n=t,o=e.computed(()=>!re(n.visible,n.description,n.isFocused,!0)),a=e.computed(()=>n.required),l=e.computed(()=>K(n));return(c,u)=>(e.openBlock(),e.createElementBlock("fieldset",{class:e.normalizeClass(["fieldset",t.styles.control.wrapper,t.width])},[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",gt,"*")):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:o.value?t.description:null),3)],2))}}),bt=["disabled"],vt=["value"],kt=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:{},width:{},options:{},valueKey:{},labelKey:{}},{...k(),options:[],valueKey:"value",labelKey:"label"}),{modelValue:{},modelModifiers:{}}),emits:e.mergeModels(["change","focus","blur"],["update:modelValue"]),setup(t,{emit:n}){const o=t,a=n,l=e.useModel(t,"modelValue"),c=s=>{a("change",s)},u=s=>{a("focus",s)},d=s=>{a("blur",s)},i=e.computed(()=>V(o.styles.control.select,o));return(s,r)=>(e.openBlock(),e.createBlock(x,e.normalizeProps(e.guardReactiveProps(o)),{default:e.withCtx(()=>[e.withDirectives(e.createElementVNode("select",{"onUpdate:modelValue":r[0]||(r[0]=p=>l.value=p),disabled:!t.enabled,class:e.normalizeClass(i.value),onChange:c,onFocus:u,onBlur:d},[(e.openBlock(!0),e.createElementBlock(e.Fragment,null,e.renderList(t.options,p=>(e.openBlock(),e.createElementBlock("option",{key:p[t.valueKey],value:p},e.toDisplayString(p[t.labelKey]),9,vt))),128))],42,bt),[[e.vModelSelect,l.value]])]),_:1},16))}}),yt=["disabled"],Bt={key:0,class:e.normalizeClass([`bg-base-100 w-52 shadow -mt-5
14
- absolute z-50`])},Ct=["onClick","onBlur"],wt=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:{},width:{},config:{},options:{},valueKey:{},labelKey:{}},se()),{modelValue:{},modelModifiers:{}}),emits:e.mergeModels(["change","focus","blur"],["update:modelValue"]),setup(t,{emit:n}){const o=t,a=n,l=e.useModel(t,"modelValue"),c=e.ref(""),u=m=>{a("change",m)},d=m=>{a("focus",m)},i=m=>{a("blur",m)},s=e.ref(!1),r=e.ref([]),p=m=>{s.value=!0,v(m)},v=m=>{l.value=m,u(m)},y=m=>{r.value?.length===m+1&&(r.value=[])},E=m=>m[o.valueKey],L=m=>m?.[o.labelKey]??"";e.watch(()=>l.value,m=>{m&&!E(m)||(s.value=!0,r.value=[],c.value=L(m))},{immediate:!0}),e.watch(()=>c.value,m=>{if(s.value){s.value=!1;return}h(m)});const h=m=>{if(v({[o.labelKey]:m}),o.config){const{uri:C,skipAuth:S,dataField:N}=o.config;(o.config.skipAuth?j.apiNoAuth:j.useApi()).get(`${C}${m}`).then(R=>{r.value=R.data[N]})}else o.options&&(r.value=o.options.filter(C=>L(C).toLowerCase().includes(m)).slice(0,10))},g=()=>{r.value?.length||h(c.value)},B=e.computed(()=>V(o.styles.control.select,o));return(m,C)=>{const S=e.resolveDirective("click-outside");return e.openBlock(),e.createBlock(x,e.normalizeProps(e.guardReactiveProps(o)),{default:e.withCtx(()=>[e.withDirectives(e.createElementVNode("input",{"onUpdate:modelValue":C[0]||(C[0]=N=>c.value=N),autocomplete:"off",type:"text",class:e.normalizeClass([B.value]),disabled:!t.enabled,onFocus:d,onBlur:i,onClick:g},null,42,yt),[[e.vModelText,c.value]]),e.withDirectives((e.openBlock(),e.createElementBlock("div",null,[r.value?.length?(e.openBlock(),e.createElementBlock("ul",Bt,[(e.openBlock(!0),e.createElementBlock(e.Fragment,null,e.renderList(r.value,(N,U)=>(e.openBlock(),e.createElementBlock("li",{key:N[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:R=>p(N),onBlur:R=>y(U)},e.toDisplayString(L(N)),41,Ct)]))),128))])):e.createCommentVNode("",!0)])),[[S,()=>r.value=[]]])]),_:1},16)}}}),xt={key:0,class:e.normalizeClass([`bg-base-100 w-52 shadow -mt-5
15
- absolute z-50 p-0`])},Vt=["onClick"],Et={class:"w-4 mr-2"},Nt=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:{},width:{},options:{},valueKey:{},labelKey:{}},{...k(),valueKey:"value",labelKey:"label"}),{modelValue:{},modelModifiers:{}}),emits:e.mergeModels(["change","focus","blur"],["update:modelValue"]),setup(t,{emit:n}){const o=t,a=n,l=e.useModel(t,"modelValue");let c=!1;const u=h=>{a("change",h)},d=e.ref(!1),i=()=>{d.value=!d.value,c=!0},s=()=>{c||(d.value=!1),c=!1},r=e.computed(()=>l.value?.map(h=>y(h))??[]),p=h=>r.value.includes(h),v=(h,g)=>{h.preventDefault();let B=l.value??[];const m=y(g);p(m)?B=B.filter(S=>y(S)!==m):B.push(g),l.value=B,u(B)},y=h=>h[o.valueKey],E=h=>h?.[o.labelKey]??"",L=e.computed(()=>V([o.styles.control.select,"w-full truncate block"].join(" "),o));return(h,g)=>{const B=e.resolveDirective("click-outside");return e.openBlock(),e.createBlock(x,e.normalizeProps(e.guardReactiveProps(o)),{default:e.withCtx(()=>[e.createElementVNode("button",{type:"button",class:e.normalizeClass(L.value),onClick:i},e.toDisplayString(l.value?.map?.(m=>E(m)).join(", ")??"Select value"),3),e.withDirectives((e.openBlock(),e.createElementBlock("div",null,[d.value?(e.openBlock(),e.createElementBlock("ul",xt,[(e.openBlock(!0),e.createElementBlock(e.Fragment,null,e.renderList(t.options,m=>(e.openBlock(),e.createElementBlock("li",{key:m[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:C=>v(C,m)},[e.createElementVNode("div",Et,[p(y(m))?(e.openBlock(),e.createBlock(e.unref(w),{key:0,icon:e.unref(b).Check,size:"sm"},null,8,["icon"])):e.createCommentVNode("",!0)]),e.createTextVNode(" "+e.toDisplayString(E(m)),1)],8,Vt)]))),128))])):e.createCommentVNode("",!0)])),[[B,()=>s()]])]),_:1},16)}}}),$t={class:"card bg-base-100 border border-base-300"},Mt={class:"flex items-center gap-1 px-3 py-2 border-b border-base-300 bg-base-200"},Lt=["title","onClick"],Dt=["innerHTML"],_t={class:"card-body p-3"},St=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:{},width:{},actions:{}},{...k(),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(["change"],["update:modelValue"]),setup(t,{emit:n}){const o=t,a=n,l=e.useModel(t,"modelValue"),c=O.useEditor({content:l.value??"",extensions:[ie.configure({heading:!1,blockquote:!1,bulletList:!1,orderedList:!1,listItem:!1,code:!1,codeBlock:!1,horizontalRule:!1,hardBreak:!1}),de.Markdown.configure({html:!1,transformPastedText:!0})],onUpdate({editor:u}){a("change",u.storage.markdown.getMarkdown())}});return e.onBeforeUnmount(()=>{c.value?.destroy()}),(u,d)=>(e.openBlock(),e.createBlock(x,e.normalizeProps(e.guardReactiveProps(o)),{default:e.withCtx(()=>[e.createElementVNode("div",$t,[e.createElementVNode("div",Mt,[(e.openBlock(!0),e.createElementBlock(e.Fragment,null,e.renderList(t.actions,i=>(e.openBlock(),e.createElementBlock("button",{key:i.name,type:"button",class:e.normalizeClass(["btn btn-sm btn-ghost",{"btn-active":e.unref(c)?.isActive(i.name)}]),title:i.label,onClick:s=>i.action(e.unref(c))},[e.createElementVNode("span",{innerHTML:i.label},null,8,Dt)],10,Lt))),128))]),e.createElementVNode("div",_t,[e.createVNode(e.unref(O.EditorContent),{editor:e.unref(c),class:"prose prose-sm max-w-none min-h-96"},null,8,["editor"])])])]),_:1},16))}}),Pt=I(St,[["__scopeId","data-v-68d3e971"]]),zt={class:"flex items-center justify-center h-full"},Ft={class:"fieldset-label"},Tt=["disabled"],At={class:"font-bold text-gray-500 text-sm"},Rt=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:{},width:{}},{...k()}),{modelValue:{},modelModifiers:{}}),emits:e.mergeModels(["change","focus","blur"],["update:modelValue"]),setup(t,{emit:n}){const o=t,a=n,l=e.useModel(t,"modelValue"),c=s=>{a("change",s)},u=s=>{a("focus",s)},d=s=>{a("blur",s)},i=e.computed(()=>V(o.styles.control.checkbox,o));return(s,r)=>(e.openBlock(),e.createElementBlock("div",zt,[e.createVNode(x,e.mergeProps(o,{"hide-label":!0}),{default:e.withCtx(()=>[e.createElementVNode("label",Ft,[e.withDirectives(e.createElementVNode("input",{"onUpdate:modelValue":r[0]||(r[0]=p=>l.value=p),type:"checkbox",class:e.normalizeClass(i.value),disabled:!t.enabled,onChange:c,onFocus:u,onBlur:d},null,42,Tt),[[e.vModelCheckbox,l.value]]),e.createElementVNode("span",At,e.toDisplayString(t.label),1)])]),_:1},16)]))}}),qt=["type","disabled","autofocus","placeholder"],It=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:{},width:{},type:{}},{...k(),type:"text"}),{modelValue:{},modelModifiers:{}}),emits:e.mergeModels(["change","focus","blur"],["update:modelValue"]),setup(t,{emit:n}){const o=t,a=n,l=e.useModel(t,"modelValue"),c=s=>{a("change",s)},u=s=>{a("focus",s)},d=s=>{a("blur",s)},i=e.computed(()=>V(o.styles.control.input,o));return(s,r)=>(e.openBlock(),e.createBlock(x,e.normalizeProps(e.guardReactiveProps(o)),{default:e.withCtx(()=>[e.withDirectives(e.createElementVNode("input",{"onUpdate:modelValue":r[0]||(r[0]=p=>l.value=p),autocomplete:"off",type:t.type,class:e.normalizeClass(i.value),disabled:!t.enabled,autofocus:t.isFocused,placeholder:t.placeholder,onChange:c,onFocus:u,onBlur:d},null,42,qt),[[e.vModelDynamic,l.value]])]),_:1},16))}}),Kt=["disabled","step","autofocus","placeholder"],Ut=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:{},width:{},steps:{}},{...k(),steps:1}),{modelValue:{},modelModifiers:{}}),emits:e.mergeModels(["change","focus","blur"],["update:modelValue"]),setup(t,{emit:n}){const o=t,a=n,l=e.useModel(t,"modelValue"),c=s=>{a("change",s)},u=s=>{a("focus",s)},d=s=>{a("blur",s)},i=e.computed(()=>V(o.styles.control.input,o));return(s,r)=>(e.openBlock(),e.createBlock(x,e.normalizeProps(e.guardReactiveProps(o)),{default:e.withCtx(()=>[e.withDirectives(e.createElementVNode("input",{"onUpdate:modelValue":r[0]||(r[0]=p=>l.value=p),autocomplete:"off",type:"number",class:e.normalizeClass([i.value]),disabled:!t.enabled,step:t.steps,autofocus:t.isFocused,placeholder:t.placeholder,onChange:c,onFocus:u,onBlur:d},null,42,Kt),[[e.vModelText,l.value]])]),_:1},16))}}),jt=["disabled","rows","autofocus","placeholder"],Ht=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:{},width:{},rows:{}},{...k(),rows:4}),{modelValue:{},modelModifiers:{}}),emits:e.mergeModels(["change","focus","blur"],["update:modelValue"]),setup(t,{emit:n}){const o=t,a=n,l=e.useModel(t,"modelValue"),c=s=>{a("change",s)},u=s=>{a("focus",s)},d=s=>{a("blur",s)},i=e.computed(()=>V(o.styles.control.textarea,o));return(s,r)=>(e.openBlock(),e.createBlock(x,e.normalizeProps(e.guardReactiveProps(o)),{default:e.withCtx(()=>[e.withDirectives(e.createElementVNode("textarea",{"onUpdate:modelValue":r[0]||(r[0]=p=>l.value=p),autocomplete:"off",type:"text",class:e.normalizeClass(i.value),disabled:!t.enabled,rows:t.rows,autofocus:t.isFocused,placeholder:t.placeholder,onChange:c,onFocus:u,onBlur:d},null,42,jt),[[e.vModelText,l.value]])]),_:1},16))}}),Ot={class:"grid grid-cols-[auto_1fr_auto] h-full overflow-hidden"},Wt={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"},Zt={class:"flex-1 overflow-y-auto bg-white"},Gt={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=e.defineComponent({__name:"drawer",props:{widthLeft:{default:200},widthRight:{default:200}},setup(t){const n=e.ref({left:!0,right:!0}),o=a=>{n.value[a]=!n.value[a]};return(a,l)=>(e.openBlock(),e.createElementBlock("main",Ot,[e.createElementVNode("aside",Wt,[e.createElementVNode("div",{class:e.normalizeClass(["absolute top-0 z-20",n.value.left?"-right-0":"-right-2"])},[e.createElementVNode("button",{class:"btn btn-ghost btn-circle",onClick:l[0]||(l[0]=c=>o("left"))},[e.createVNode(e.unref(w),{size:"sm",icon:n.value.left?e.unref(b).DblChevronLeft:e.unref(b).DblChevronRight},null,8,["icon"])])],2),n.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",Zt,[e.renderSlot(a.$slots,"default")]),e.createElementVNode("aside",Gt,[n.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",n.value.right?"-left-0":"-left-2"])},[e.createElementVNode("button",{class:"btn btn-ghost btn-circle",onClick:l[1]||(l[1]=c=>o("right"))},[e.createVNode(e.unref(w),{size:"sm",icon:n.value.right?e.unref(b).DblChevronRight:e.unref(b).DblChevronLeft},null,8,["icon"])])],2)])]))}}),Qt={class:"ml-1"},Xt={class:"truncate flex-1 min-w-0 text-left"},Yt={key:0,class:"badge badge-ghost badge-sm flex-shrink-0"},eo=e.defineComponent({__name:"TreeItem",props:{active:{},node:{},expanded:{},isExpanded:{type:Function}},emits:["toggle","select"],setup(t,{emit:n}){const o=t,a=n,l=e.computed(()=>o.active===o.node.id);return(c,u)=>{const d=e.resolveComponent("TreeItem",!0);return e.openBlock(),e.createElementBlock("li",Qt,[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)>0?(e.openBlock(),e.createElementBlock("span",{key:0,class:"flex items-center justify-center",onClick:u[0]||(u[0]=i=>a("toggle",t.node))},[t.node.children&&t.isExpanded(t.node.id)?(e.openBlock(),e.createBlock(e.unref(H.ChevronDownIcon),{key:0,class:"w-3 h-3"})):(e.openBlock(),e.createBlock(e.unref(H.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]=i=>a("select",t.node))},[e.createElementVNode("div",Xt,e.toDisplayString(t.node.label),1),t.node.tag?(e.openBlock(),e.createElementBlock("div",Yt,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,i=>(e.openBlock(),e.createBlock(d,{key:i.id,node:i,expanded:t.expanded,active:t.active,"is-expanded":t.isExpanded,onToggle:u[2]||(u[2]=s=>a("toggle",s)),onSelect:u[3]||(u[3]=s=>a("select",s))},null,8,["node","expanded","active","is-expanded"]))),128))],2)):e.createCommentVNode("",!0)])}}}),to={class:"select-none text-sm"},oo=e.defineComponent({__name:"TreeView",props:{data:{},active:{}},emits:["select"],setup(t,{emit:n}){const o=t,a=n,l=e.ref(new Set),c=i=>{const s=i.id;if(!i.children||i.children.length===0){a("select",i);return}l.value.has(s)?l.value.delete(s):l.value.add(s)},u=i=>{a("select",i),l.value.add(i.id)},d=i=>l.value.has(i);return(i,s)=>(e.openBlock(),e.createElementBlock("ul",to,[(e.openBlock(!0),e.createElementBlock(e.Fragment,null,e.renderList(o.data,r=>(e.openBlock(),e.createBlock(eo,{key:r.id,node:r,expanded:l.value,active:t.active,"is-expanded":d,onToggle:c,onSelect:u},null,8,["node","expanded","active"]))),128))]))}}),no={key:0,class:"flex items-center justify-center h-20"},lo=e.defineComponent({__name:"loading",props:{loading:{type:Boolean}},setup(t){return(n,o)=>t.loading?(e.openBlock(),e.createElementBlock("div",no,[...o[0]||(o[0]=[e.createElementVNode("span",{class:"loading loading-bars loading-md text-primary"},null,-1)])])):e.createCommentVNode("",!0)}}),ao=["checked"],so={class:"collapse-title text-gray-500 text-xs font-medium"},ro={key:0,class:"list bg-base-100"},co=e.defineComponent({__name:"Collapse",props:{title:{},opened:{type:Boolean,default:!0},heightFull:{type:Boolean}},setup(t){const n=e.useSlots(),o=t,a=e.ref(o.opened);return e.watch(()=>o.opened,()=>{},{immediate:!0}),(l,c)=>(e.openBlock(),e.createElementBlock("div",{class:e.normalizeClass(["collapse collapse-arrow bg-white w-full border border-gray-300",t.heightFull?"h-full":""])},[e.createElementVNode("input",{type:"checkbox",checked:a.value},null,8,ao),e.createElementVNode("div",so,e.toDisplayString(t.title),1),e.createElementVNode("div",{class:e.normalizeClass(["collapse-content",e.unref(n).list?"p-0":""])},[e.renderSlot(l.$slots,"default"),e.unref(n).list?(e.openBlock(),e.createElementBlock("ul",ro,[e.renderSlot(l.$slots,"list")])):e.createCommentVNode("",!0)],2)],2))}}),io={class:"list-row"},uo={class:"list-col-grow"},mo={key:0},po={key:1,class:"text-xs text-gray-600"},fo=["href"],ho={key:1},go={key:0,class:"text-xs text-gray-500"},bo=["href"],vo={key:1},ko=e.defineComponent({__name:"CollapseRow",props:{title:{},label:{},labelLink:{},description:{},descriptionLink:{}},setup(t){return(n,o)=>(e.openBlock(),e.createElementBlock("li",io,[e.createElementVNode("div",uo,[t.title?(e.openBlock(),e.createElementBlock("div",mo,e.toDisplayString(t.title),1)):e.createCommentVNode("",!0),t.description||t.descriptionLink?(e.openBlock(),e.createElementBlock("div",po,[t.descriptionLink?(e.openBlock(),e.createElementBlock("a",{key:0,href:t.descriptionLink,target:"_blank"},e.toDisplayString(t.description??t.descriptionLink),9,fo)):(e.openBlock(),e.createElementBlock("span",ho,e.toDisplayString(t.description),1))])):e.createCommentVNode("",!0)]),t.label?(e.openBlock(),e.createElementBlock("div",go,[t.labelLink?(e.openBlock(),e.createElementBlock("a",{key:0,href:t.labelLink,target:"_blank"},e.toDisplayString(t.label),9,bo)):(e.openBlock(),e.createElementBlock("span",vo,e.toDisplayString(t.label),1))])):e.createCommentVNode("",!0),e.renderSlot(n.$slots,"default")]))}}),yo={class:"text-gray-800"},Bo=e.defineComponent({__name:"alert",props:{message:{},type:{}},setup(t){const n={success:"alert-success",error:"alert-error",warning:"alert-warning",info:"alert-info"};return(o,a)=>(e.openBlock(),e.createElementBlock("div",{role:"alert",class:e.normalizeClass(`alert alert-soft ${n[t.type]} `)},[e.createElementVNode("span",yo,e.toDisplayString(t.message),1),e.renderSlot(o.$slots,"default")],2))}});exports.Alert=Bo;exports.Autocomplete=wt;exports.BadgeSize=X;exports.Btn=M;exports.BtnBadge=$e;exports.ButtonSize=Q;exports.Card=ut;exports.Checkbox=Rt;exports.ClickOutside=ft;exports.Collapse=co;exports.CollapseRow=ko;exports.Color=$;exports.ConfirmModal=Y;exports.ControlWrapper=x;exports.DefaultAutoCompleteProperties=se;exports.DefaultControlProperties=k;exports.Drawer=Jt;exports.Dropdown=Be;exports.Icon=w;exports.IconEnum=b;exports.IconMap=W;exports.Input=It;exports.InputNumber=Ut;exports.Loading=lo;exports.Markdown=Pt;exports.Menu=ye;exports.Modal=G;exports.ModalService=T;exports.ModalWrapper=ee;exports.MultiSelect=Nt;exports.NotificationMessage=te;exports.NotificationService=A;exports.Notifications=oe;exports.PaginationComponent=ne;exports.SelectComponent=kt;exports.ShellComponent=Ke;exports.SubMenu=F;exports.Table=le;exports.TableComponent=le;exports.TextCell=Qe;exports.Textarea=Ht;exports.TreeView=oo;exports.addClickOutsideEventListener=mt;exports.buildInputStyle=V;exports.hasCustomEventListener=ht;exports.isDescriptionHidden=re;exports.myStyles=ae;exports.removeClickOutsideEventListener=pt;exports.showErrors=K;
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 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:"m4.5 12.75 6 6 9-13.5"})])}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:"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:xe,DblChevronRight:Ne,Language:ze,Check:Ve,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,a)=>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),a=e.computed(()=>o.items?.length),s=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 a.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:s.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,a=>(e.openBlock(),e.createElementBlock("li",{key:a.label},[a.routerLink?(e.openBlock(),e.createBlock(r,{key:0,to:{name:a.routerLink,params:a.params}},{default:e.withCtx(()=>[e.createTextVNode(e.toDisplayString(a.label),1)]),_:2},1032,["to"])):(e.openBlock(),e.createElementBlock(e.Fragment,{key:1},[e.createTextVNode(e.toDisplayString(a.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,a=>(e.openBlock(),e.createBlock(X,e.mergeProps({key:a.label},{ref_for:!0},a),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]"},a=t,s=`modal_${R.v4()}`,i=n,d=()=>{document.getElementById(s)?.showModal()},u=()=>{document.getElementById(s)?.close(),i("closeModal")};return o({closeModal:u,openModal:d}),e.watch(()=>a.open,(c,l,p)=>{a.open?d():u()}),e.onMounted(()=>{a.open&&d()}),(c,l)=>(e.openBlock(),e.createElementBlock("dialog",{id:s,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||{}),B=(t=>(t.blank="blank",t.primary="primary",t.secondary="secondary",t.error="error",t))(B||{});const tt={blank:"btn-ghost",primary:"btn-primary",secondary:"btn-soft btn-primary",error:"btn-error"},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:B.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"},w=e.defineComponent({__name:"btn",props:ee,emits:te,setup(t,{emit:o}){const n=t,r=o;return(a,s)=>(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:s[0]||(s[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(a.$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(a,s)=>(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:s[0]||(s[0]=i=>r("click"))},[e.renderSlot(a.$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))}}),ae=e.defineComponent({__name:"confirmModal",props:{title:{},message:{},confirmLabel:{default:"Ok"},cancelLabel:{default:"Cancel"}},emits:["closeModal"],setup(t,{emit:o}){const n=o,r=a=>{n("closeModal",{confirmed:a})};return(a,s)=>(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(w),{color:e.unref(B).secondary,outline:!0,onClick:s[0]||(s[0]=i=>r(!1))},{default:e.withCtx(()=>[e.createTextVNode(e.toDisplayString(t.cancelLabel),1)]),_:1},8,["color"]),e.createVNode(e.unref(w),{onClick:s[1]||(s[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(),a=o;o.props.onClose=s=>{n(s),this.closeModal(r)},a.id=r,this.modals=[...this.modals,a],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:ae,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 se=e.defineComponent({__name:"modalWrapper",setup(t){const o=O.getInstance(),n=e.computed(()=>o.showModal.value?o.modals:[]);return(r,a)=>(e.openBlock(!0),e.createElementBlock(e.Fragment,null,e.renderList(n.value,s=>(e.openBlock(),e.createBlock(e.resolveDynamicComponent(s?.component),e.mergeProps({key:s.id,ref_for:!0},s?.props,{open:!0,onCloseModal:s?.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 at={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",at,[(e.openBlock(!0),e.createElementBlock(e.Fragment,null,e.renderList(e.unref(o).notifications.value,a=>(e.openBlock(),e.createBlock(ce,e.mergeProps({key:a.id},{ref_for:!0},a),null,16))),128))]))}}),st={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,a=e.ref(!1),s=()=>{a.value=!a.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(se)),e.createElementVNode("div",st,[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:s},[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":a.value}])},[e.withDirectives(e.createElementVNode("input",{id:"app-drawer","onUpdate:modelValue":c[0]||(c[0]=l=>a.value=l),type:"checkbox",class:"drawer-toggle"},null,512),[[e.vModelCheckbox,a.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,a=e.computed(()=>n.neverActive?!1:n.page===n.currentPage),s=e.computed(()=>n.neverActive?B.blank:a.value?B.primary:B.secondary),i=()=>{r("updatePage",n.page)};return(d,u)=>(e.openBlock(),e.createBlock(e.unref(w),{disabled:d.disabled,square:!0,size:"xs",color:s.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"},Vt={class:"flex gap-1"},xt={class:"text-sm"},L=6,de=e.defineComponent({__name:"pagination.component",props:wt,emits:Bt,setup(t,{emit:o}){const n=t,r=o,a=e.computed(()=>{let l=Math.ceil(n.totalItems/n.itemsPerPage);return l<1?1:l}),s=L/2,i=e.computed(()=>{if(a.value<=L)return{min:1,max:a.value};let l=n.currentPage-s;l<=1?l=1:l+L>a.value&&(l=a.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=a.value;l<1&&(l=1);const p=n.currentPage,m=[],{min:f,max:v}=i.value;return Array.from({length:l},(N,k)=>{const g=k+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",Vt,[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===a.value,onUpdatePage:c}),null,16,["page","current-page","disabled"]),e.createVNode(S,e.mergeProps(n,{page:a.value,label:">>","current-page":l.currentPage,"never-active":!0,disabled:n.currentPage===a.value,onUpdatePage:c}),null,16,["page","current-page","disabled"])])]),e.createElementVNode("div",xt," page "+e.toDisplayString(l.currentPage)+" of "+e.toDisplayString(a.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,a)=>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,a=e.computed(()=>n.sortDirection==="asc"?b.BarsArrowUp:b.BarsArrowDown),s=e.computed(()=>n.column.options?.sortId??n.column.id),i=()=>{r("sort",s.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===s.value?(e.openBlock(),e.createBlock(e.unref(C),{key:0,icon:a.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(),a=e.computed(()=>"onEdit"in r),s=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(w,{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)),a.value?(e.openBlock(),e.createBlock(w,{key:0,icon:e.unref(b).Edit,outline:!0,onClick:f=>i(m)},null,8,["icon","onClick"])):e.createCommentVNode("",!0),s.value?(e.openBlock(),e.createBlock(w,{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,a]of o)n[r]=a;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:!1},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},V={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={...V,options:{type:Array,required:!0},labelKey:{type:String,default:"label"},valueKey:{type:String,default:"value"},enableCreate:{type:Boolean,default:!1}},Yt=["select","clear","close","create"],pe={...I,...H,isOpen:{type:Boolean,default:!1},isActive:{type:Function,default:t=>!1}},eo={key:1,tabindex:"-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,a=e.ref(-1),s=e.ref(),i=n;e.watch(()=>r.options,()=>{a.value=-1});function d(){e.nextTick(()=>{s.value?.querySelector(`[data-index="${a.value}"]`)?.scrollIntoView({block:"nearest"})})}function u(l){const p=r.options?.length??0;if(p)switch(l.key){case"ArrowDown":l.preventDefault(),a.value=(a.value+1)%p,d();break;case"ArrowUp":l.preventDefault(),a.value=a.value<=0?p-1:a.value-1,d();break;case"Enter":l.preventDefault(),a.value>=0&&a.value<p&&c(r.options[a.value]);break}}function c(l){a.value=-1,i("select",l)}return o({handleKeydown:u}),(l,p)=>(e.openBlock(),e.createElementBlock("ul",{ref_key:"listRef",ref:s,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===a.value,onMousedown:e.withModifiers(v=>c(m),["prevent"]),onMousemove:v=>a.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===a.value,"hover:bg-base-200":f!==a.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)}],ao={key:0},x=e.defineComponent({__name:"ControlWrapper",props:V,setup(t){const o=t,n=e.computed(()=>!me(o.visible,o.description,o.isFocused,!0)),r=e.computed(()=>o.required),a=e.computed(()=>K(o)),s=e.computed(()=>P(o.styles));return(i,d)=>(e.openBlock(),e.createElementBlock("fieldset",{class:e.normalizeClass(["fieldset",[i.width,s.value.control.wrapper]])},[e.createElementVNode("legend",{class:e.normalizeClass(s.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",ao,"*")):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":a.value}])},e.toDisplayString(a.value?i.errors:n.value?i.description:null),3)],2))}}),so={class:"flex items-center w-full"},co={class:"overflow-hidden w-full"},io={class:"absolute inset-y-0 right-0 flex items-center pr-3 gap-1 pointer-events-none"},uo={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(),a=e.ref(),s=o,i=()=>{d(),s("clear")},d=()=>{s("close")},u=l=>{if(l.key==="Escape"){d();return}a.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(x,e.normalizeProps(e.guardReactiveProps(n)),{default:e.withCtx(()=>[e.createElementVNode("div",so,[e.createElementVNode("div",{class:"relative w-full",onKeydown:u},[e.createElementVNode("div",co,[e.renderSlot(l.$slots,"default")]),e.createElementVNode("div",io,[l.isLoading&&!l.label?(e.openBlock(),e.createElementBlock("span",uo)):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[2]||(p[2]=[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[3]||(p[3]=[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:a,query:l.query,options:l.options,"is-loading":l.isLoading,"is-active":l.isActive,onSelect:p[0]||(p[0]=m=>s("select",m))},null,8,["query","options","is-loading","is-active"])):e.createCommentVNode("",!0)]),_:1})],32),l.enableCreate?(e.openBlock(),e.createBlock(w,{key:0,icon:"Plus",color:"blank",size:"lg",tooltip:"Create new",onClick:p[1]||(p[1]=m=>s("create"))})):e.createCommentVNode("",!0)])]),_: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},po=t=>{const o=e.ref([]),n=new Map,r=new Map,a=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},s=l=>n.get(l.value);return{options:o,setOptions:a,getOriginal:s,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(s).filter(Boolean)}},W=t=>po(t),mo=e.defineComponent({__name:"SelectComponent",props:e.mergeModels(H,{modelValue:{},modelModifiers:{}}),emits:e.mergeModels(["update:modelValue","change","clear","focus","blur"],["update:modelValue"]),setup(t,{emit:o}){const n=e.ref(!1),r=t,a=o,s=e.useModel(t,"modelValue"),i=W(r),{options:d}=i;e.watch(()=>r.options,()=>{i.setOptions(r.options)},{immediate:!0});const u=k=>{a("change",k)},c=e.computed(()=>s.value?i.getLabels(s.value)[0]:""),l=e.computed(()=>P(r.styles)),p=e.computed(()=>E(l.value.control.select,r)),m=k=>{const g=i.getOriginal(k);s.value=g,u(g)},f=()=>{n.value=!1,s.value=null,u(void 0)},v=k=>i.getValues(s.value)?.[0]===k.value,N=()=>{n.value=!1};return(k,g)=>(e.openBlock(),e.createBlock(U,e.mergeProps(r,{options:e.unref(d),disabled:!k.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,k.width]]),onClick:g[0]||(g[0]=y=>n.value=!0)},e.toDisplayString(c.value??"Select value"),3)]),_:1},16,["options","disabled","is-open","query"]))}}),fo={...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 go(t){const o=e.ref([]),n=e.ref(!1);function r(s){if(!t.options){o.value=[];return}const i=s.toLowerCase(),d=i?t.options.filter(u=>F(u,t).toLowerCase().includes(i)):t.options;o.value=d.slice(0,t.maxResults)}function a(){o.value=[]}return{results:o,isLoading:n,search:r,clear:a}}function ko(t){const o=e.ref([]),n=e.ref(!1);let r=null,a=null;async function s(u){a&&a.abort(),a=new AbortController,n.value=!0;try{const c=await t.fetchOptions(u,a.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(()=>{s(u)},t.debounceMs)}function d(){r&&clearTimeout(r),a&&a.abort(),o.value=[],n.value=!1}return{results:o,isLoading:n,search:i,clear:d}}function ho(t){const o=t.fetchOptions?ko(t):go(t);function n(r){o.search(r)}return{results:o.results,isLoading:o.isLoading,triggerSearch:n,clear:o.clear}}const vo=["aria-expanded","value","placeholder","disabled"],bo=e.defineComponent({__name:"AutoComplete",props:fo,emits:["update:modelValue","change","clear","focus","blur"],setup(t,{emit:o}){const n=t,r=o,a=e.ref(null),s=e.ref(""),i=e.ref(!1),d=ho(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,h=>{if(h==null||h===""){s.value="";return}const $=typeof h=="object"?h[n.labelKey]:h;$!==s.value&&(s.value=$)},{immediate:!0});const f=h=>{s.value=h.target.value,n.freeText?r("update:modelValue",s.value):r("update:modelValue",""),c(s.value),i.value=!0},v=()=>{c(s.value),i.value=!0};function N(){setTimeout(()=>{i.value=!1,n.freeText?r("change",s.value):n.modelValue||(s.value="")},150)}const k=h=>{const $=p.getOriginal(h);s.value=h.label,i.value=!1,r("update:modelValue",$),r("change",$)},g=()=>{s.value="",l(),i.value=!1,r("update:modelValue",""),r("clear"),e.nextTick(()=>a.value?.focus())},y=()=>{i.value=!1},_=e.computed(()=>P(n.styles)),ve=e.computed(()=>E(_.value.control.select,n));return(h,$)=>(e.openBlock(),e.createBlock(U,e.mergeProps(n,{options:e.unref(m),"is-loading":e.unref(u),"is-open":i.value,query:s.value,onClose:y,onSelect:k,onClear:g}),{default:e.withCtx(()=>[e.createElementVNode("input",{ref_key:"inputRef",ref:a,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,"w-full"]),value:s.value,placeholder:h.placeholder,disabled:!h.enabled,onInput:f,onFocus:v,onBlur:N},null,42,vo)]),_:1},16,["options","is-loading","is-open","query"]))}}),yo=e.defineComponent({__name:"MultiSelect",props:e.mergeModels(pe,{modelValue:{},modelModifiers:{}}),emits:e.mergeModels(["update:modelValue","change","clear","focus","blur"],["update:modelValue"]),setup(t,{emit:o}){const n=e.ref(!1),r=t,a=o,s=e.useModel(t,"modelValue"),i=g=>{a("change",g)},d=W(r),{options:u}=d;e.watch(()=>r.options,()=>{d.setOptions(r.options)},{immediate:!0});const c=e.computed(()=>s.value?d.getLabels(...s.value).join(", "):void 0),l=e.computed(()=>d.getValues(...s.value??[])),p=g=>{let y=s.value??[];if(v(g))y=y.filter(_=>d.getOption(_)!==g.value);else{const _=d.getOriginal(g);y.push(_)}s.value=y,i(y)},m=()=>{n.value=!1,s.value=[],i([])},f=()=>{n.value=!1},v=g=>l.value?.includes(g.value)??!1,N=e.computed(()=>P(r.styles)),k=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",[k.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"]))}}),wo=["change"],Bo={...V,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()}]}},Co={class:"flex items-center gap-1 px-3 py-2 border-b border-base-300 bg-base-200"},Eo=["title","onClick"],Vo=["innerHTML"],xo={class:"card-body p-3"},No=e.defineComponent({__name:"Markdown",props:e.mergeModels(Bo,{modelValue:{},modelModifiers:{}}),emits:e.mergeModels(wo,["update:modelValue"]),setup(t,{emit:o}){const n=t,r=o,a=e.useModel(t,"modelValue"),s=Z.useEditor({content:a.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(()=>{s.value?.destroy()}),(i,d)=>(e.openBlock(),e.createBlock(x,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",Co,[(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(s)?.isActive(u.name)}]),title:u.label,onClick:c=>u.action(e.unref(s))},[e.createElementVNode("span",{innerHTML:u.label},null,8,Vo)],10,Eo))),128))]),e.createElementVNode("div",xo,[e.createVNode(e.unref(Z.EditorContent),{editor:e.unref(s),class:"prose prose-sm max-w-none h-full"},null,8,["editor"])])],2)]),_:1},16))}}),_o={...V},$o=["change","focus","blur"],So={class:"flex items-center justify-center h-full"},Lo={class:"fieldset-label"},Mo=["disabled"],Po={class:"font-bold text-gray-500 text-sm"},Do=e.defineComponent({__name:"Checkbox",props:e.mergeModels(_o,{modelValue:{},modelModifiers:{}}),emits:e.mergeModels($o,["update:modelValue"]),setup(t,{emit:o}){const n=t,r=o,a=e.useModel(t,"modelValue"),s=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",So,[e.createVNode(x,e.mergeProps(n,{"hide-label":!0}),{default:e.withCtx(()=>[e.createElementVNode("label",Lo,[e.withDirectives(e.createElementVNode("input",{"onUpdate:modelValue":l[0]||(l[0]=p=>a.value=p),type:"checkbox",class:e.normalizeClass(u.value),disabled:!c.enabled,onChange:s,onFocus:i,onBlur:d},null,42,Mo),[[e.vModelCheckbox,a.value]]),e.createElementVNode("span",Po,e.toDisplayString(c.label),1)])]),_:1},16)]))}}),zo={...V,type:{type:String,default:"text"}},Ao=["change","focus","blur"],Oo=["type","disabled","autofocus","placeholder"],To=e.defineComponent({__name:"Input",props:e.mergeModels(zo,{modelValue:{},modelModifiers:{}}),emits:e.mergeModels(Ao,["update:modelValue"]),setup(t,{emit:o}){const n=t,r=o,a=e.useModel(t,"modelValue"),s=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(x,e.normalizeProps(e.guardReactiveProps(n)),{default:e.withCtx(()=>[e.withDirectives(e.createElementVNode("input",{"onUpdate:modelValue":l[0]||(l[0]=p=>a.value=p),autocomplete:"off",type:c.type,class:e.normalizeClass(["w-full",u.value]),disabled:!c.enabled,autofocus:c.isFocused,placeholder:c.placeholder,onChange:s,onFocus:i,onBlur:d},null,42,Oo),[[e.vModelDynamic,a.value]])]),_:1},16))}}),jo={...V,steps:{type:Number,default:1}},Fo=["change","focus","blur"],Ro=["disabled","step","autofocus","placeholder"],qo=e.defineComponent({__name:"InputNumber",props:e.mergeModels(jo,{modelValue:{},modelModifiers:{}}),emits:e.mergeModels(Fo,["update:modelValue"]),setup(t,{emit:o}){const n=t,r=o,a=e.useModel(t,"modelValue"),s=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(x,e.normalizeProps(e.guardReactiveProps(n)),{default:e.withCtx(()=>[e.withDirectives(e.createElementVNode("input",{"onUpdate:modelValue":l[0]||(l[0]=p=>a.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:s,onFocus:i,onBlur:d},null,42,Ro),[[e.vModelText,a.value]])]),_:1},16))}}),Io={...V,rows:{type:Number,default:4}},Ho=["change","focus","blur"],Ko=["disabled","rows","autofocus","placeholder"],Uo=e.defineComponent({__name:"Textarea",props:e.mergeModels(Io,{modelValue:{},modelModifiers:{}}),emits:e.mergeModels(Ho,["update:modelValue"]),setup(t,{emit:o}){const n=t,r=o,a=e.useModel(t,"modelValue"),s=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(x,e.normalizeProps(e.guardReactiveProps(n)),{default:e.withCtx(()=>[e.withDirectives(e.createElementVNode("textarea",{"onUpdate:modelValue":l[0]||(l[0]=p=>a.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:s,onFocus:i,onBlur:d},null,42,Ko),[[e.vModelText,a.value]])]),_:1},16))}}),Wo={widthLeft:{type:Number,default:200},widthRight:{type:Number,default:200},initialLeftOpen:{type:Boolean,default:!0},initialRightOpen:{type:Boolean,default:!0}},Zo={class:"flex h-full overflow-hidden gap-2"},Go={key:0,id:"drawer-left",class:"min-h-0 relative flex-shrink-0 bg-white overflow-visible flex"},Jo={class:"flex-1 overflow-y-auto bg-white"},Qo={key:1,class:"min-h-0 relative flex-shrink-0 bg-white overflow-visible flex"},Xo=e.defineComponent({__name:"drawer",props:Wo,setup(t){const o=t,n=e.useSlots(),r=e.computed(()=>!!n["left-drawer"]),a=e.computed(()=>!!n["right-drawer"]),s=e.ref({left:o.initialLeftOpen,right:o.initialRightOpen}),i=d=>{s.value[d]=!s.value[d]};return(d,u)=>(e.openBlock(),e.createElementBlock("main",Zo,[r.value?(e.openBlock(),e.createElementBlock("aside",Go,[e.createElementVNode("div",{style:e.normalizeStyle({width:s.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:s.value.left?e.unref(b).ChevronLeft:e.unref(b).ChevronRight},null,8,["icon"])])])):e.createCommentVNode("",!0),e.createElementVNode("div",Jo,[e.renderSlot(d.$slots,"default")]),a.value?(e.openBlock(),e.createElementBlock("aside",Qo,[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:s.value.right?e.unref(b).ChevronRight:e.unref(b).ChevronLeft},null,8,["icon"])]),e.createElementVNode("div",{style:e.normalizeStyle({width:s.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)]))}}),Yo={class:"ml-1"},en={class:"truncate flex-1 min-w-0 text-left"},tn={key:0,class:"badge badge-ghost badge-sm flex-shrink-0"},on=e.defineComponent({__name:"TreeItem",props:{active:{},node:{},expanded:{},isExpanded:{type:Function}},emits:["toggle","select"],setup(t,{emit:o}){const n=t,r=o,a=e.computed(()=>n.active===n.node.id);return(s,i)=>{const d=e.resolveComponent("TreeItem",!0);return e.openBlock(),e.createElementBlock("li",Yo,[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`,a.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",en,e.toDisplayString(t.node.label),1),t.node.tag?(e.openBlock(),e.createElementBlock("div",tn,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":!a.value,"border-primary":a.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)])}}}),nn={class:"select-none text-sm"},ln=e.defineComponent({__name:"TreeView",props:{data:{},active:{}},emits:["select"],setup(t,{emit:o}){const n=t,r=o,a=e.ref(new Set),s=u=>{const c=u.id;if(!u.children||u.children.length===0){r("select",u);return}a.value.has(c)?a.value.delete(c):a.value.add(c)},i=u=>{r("select",u),a.value.add(u.id)},d=u=>a.value.has(u);return(u,c)=>(e.openBlock(),e.createElementBlock("ul",nn,[(e.openBlock(!0),e.createElementBlock(e.Fragment,null,e.renderList(n.data,l=>(e.openBlock(),e.createBlock(on,{key:l.id,node:l,expanded:a.value,active:t.active,"is-expanded":d,onToggle:s,onSelect:i},null,8,["node","expanded","active"]))),128))]))}}),rn={key:0,class:"flex items-center justify-center h-20"},an=e.defineComponent({__name:"loading",props:{loading:{type:Boolean}},setup(t){return(o,n)=>t.loading?(e.openBlock(),e.createElementBlock("div",rn,[...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:()=>[]}},cn=["checked"],dn={class:"collapse-title text-gray-500 text-xs font-medium"},un={class:"flex items-center justify-between"},pn={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),a=e.ref(n.opened||n.disabled);return(s,i)=>(e.openBlock(),e.createElementBlock("div",{class:e.normalizeClass(["collapse collapse-arrow bg-white w-full border border-gray-300",s.heightFull?"h-full":"",s.disabled?"collapse-open":"",a.value?"overflow-visible":""])},[s.disabled?e.createCommentVNode("",!0):(e.openBlock(),e.createElementBlock("input",{key:0,type:"checkbox",checked:r.value,tabindex:"-1",onChange:i[0]||(i[0]=d=>a.value=d.target.checked)},null,40,cn)),e.createElementVNode("div",dn,[e.createElementVNode("div",un,[e.createElementVNode("span",null,e.toDisplayString(s.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(w),{key:u,color:e.unref(B).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(s.$slots,"default"),e.unref(o).list?(e.openBlock(),e.createElementBlock("ul",pn,[e.renderSlot(s.$slots,"list")])):e.createCommentVNode("",!0)],2)],2))}}),mn={title:{type:String},label:{type:String},labelLink:{type:String},description:{type:String},descriptionLink:{type:String}},fn={class:"list-row"},gn={class:"list-col-grow"},kn={key:0},hn={key:1,class:"text-xs text-gray-600"},vn=["href"],bn={key:1},yn={key:0,class:"text-xs text-gray-500"},wn=["href"],Bn={key:1},Cn=e.defineComponent({__name:"CollapseRow",props:mn,setup(t){return(o,n)=>(e.openBlock(),e.createElementBlock("li",fn,[e.createElementVNode("div",gn,[o.title?(e.openBlock(),e.createElementBlock("div",kn,e.toDisplayString(o.title),1)):e.createCommentVNode("",!0),o.description||o.descriptionLink?(e.openBlock(),e.createElementBlock("div",hn,[o.descriptionLink?(e.openBlock(),e.createElementBlock("a",{key:0,href:o.descriptionLink,target:"_blank"},e.toDisplayString(o.description??o.descriptionLink),9,vn)):(e.openBlock(),e.createElementBlock("span",bn,e.toDisplayString(o.description),1))])):e.createCommentVNode("",!0)]),o.label?(e.openBlock(),e.createElementBlock("div",yn,[o.labelLink?(e.openBlock(),e.createElementBlock("a",{key:0,href:o.labelLink,target:"_blank"},e.toDisplayString(o.label),9,wn)):(e.openBlock(),e.createElementBlock("span",Bn,e.toDisplayString(o.label),1))])):e.createCommentVNode("",!0),e.renderSlot(o.$slots,"default")]))}}),En={class:"text-gray-800"},Vn=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",En,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 a=e.computed(()=>t.value.map(l=>l[n.value])),s=l=>o.value.includes(l),i=e.computed(()=>{const l=o.value.length;return l===0?"None":l===a.value.length?"All":`${l}`});return{isSelected:s,selectedLabel:i,selectAll:()=>r("update:modelValue",[...a.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"},Nn={class:"text-xs text-base-content/50"},_n={class:"flex gap-1"},$n={class:"flex flex-col gap-1"},Sn=["checked","onChange"],Ln={class:"text-sm flex-1 select-none"},Mn={key:1,class:"badge badge-sm badge-ghost"},Pn=e.defineComponent({__name:"filter",props:ge,emits:ke,setup(t,{emit:o}){const n=t,r=o,a=e.computed(()=>n.items??[]),{isSelected:s,selectedLabel:i,selectAll:d,selectNone:u,toggleItem:c}=he(a,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",Nn,e.toDisplayString(e.unref(i))+" of "+e.toDisplayString(a.value.length)+" items ",1),e.createElementVNode("div",_n,[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(a.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(s)(m[l.valueKey])}])},[e.createElementVNode("input",{type:"checkbox",class:"checkbox checkbox-sm",checked:e.unref(s)(m[l.valueKey]),onChange:f=>e.unref(c)(m[l.valueKey],f.target.checked)},null,40,Sn),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",Ln,e.toDisplayString(m[l.labelKey]),1),m[l.countKey]>0?(e.openBlock(),e.createElementBlock("span",Mn,e.toDisplayString(m[l.countKey]),1)):e.createCommentVNode("",!0)],2))),128))])]),_:1},8,["title","opened"]))}});exports.Alert=Vn;exports.Autocomplete=bo;exports.BadgeSize=re;exports.Btn=w;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=Do;exports.ClickOutside=Jt;exports.Collapse=fe;exports.CollapseRow=Cn;exports.Color=B;exports.ConfirmModal=ae;exports.ControlWrapper=x;exports.Drawer=Xo;exports.Dropdown=Qe;exports.Filter=Pn;exports.FilterEmits=ke;exports.FilterProperties=ge;exports.Icon=C;exports.IconEnum=b;exports.IconMap=J;exports.IconProperties=Q;exports.Input=To;exports.InputNumber=qo;exports.Loading=an;exports.Markdown=No;exports.Menu=Je;exports.Modal=Y;exports.ModalService=O;exports.ModalWrapper=se;exports.MultiSelect=yo;exports.NotificationMessage=ce;exports.NotificationService=T;exports.Notifications=ie;exports.PaginationComponent=de;exports.SelectComponent=mo;exports.ShellComponent=vt;exports.SubMenu=z;exports.Table=ue;exports.TableComponent=ue;exports.TextCell=_t;exports.Textarea=Uo;exports.TreeView=ln;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;