@ghentcdh/ui 0.8.2 → 0.8.3
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.esm.js +497 -479
- package/index.js +2 -2
- package/index.mjs +497 -479
- package/package.json +1 -1
package/index.js
CHANGED
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
"use strict";Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const e=require("vue"),ye=require("vue-router"),q=require("uuid"),v=require("@heroicons/vue/24/outline"),Be=require("@tiptap/starter-kit"),X=require("@tiptap/vue-3"),Ce=require("tiptap-markdown"),Z=require("@heroicons/vue/24/solid");var y=(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))(y||{});const J={Edit:v.PencilSquareIcon,Delete:v.TrashIcon,BarsArrowDown:v.BarsArrowDownIcon,BarsArrowUp:v.BarsArrowUpIcon,Funnel:v.FunnelIcon,Close:v.XMarkIcon,Plus:v.PlusCircleIcon,PaperClip:v.PaperClipIcon,Hamburger:v.Bars3Icon,ChevronRight:v.ChevronRightIcon,ChevronLeft:v.ChevronLeftIcon,ChevronDown:v.ChevronDownIcon,ChevronUp:v.ChevronUpIcon,DblChevronLeft:v.ChevronDoubleLeftIcon,DblChevronRight:v.ChevronDoubleRightIcon,Language:v.LanguageIcon,Check:v.CheckIcon,View:v.EyeIcon,Text:v.DocumentTextIcon,Link:v.LinkIcon},Q={icon:{type:[String,Object,Function]},size:{type:String}},V=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(s,r)=>n.value?(e.openBlock(),e.createBlock(e.resolveDynamicComponent(n.value),{key:0,class:e.normalizeClass([{"w-full h-full":!s.size,"w-2 h-2":s.size==="xs","w-4 h-4":s.size==="sm","w-6 h-6":s.size==="lg","w-8 h-8":s.size==="xl"}])},null,8,["class"])):e.createCommentVNode("",!0)}}),we={class:"dropdown dropdown-end"},Ve={tabindex:"0",class:"menu dropdown-content bg-white z-1 mt-4 p-2 shadow-sm"},Ee={class:"min-w-max flex-no-wrap text-black"},T=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",we,[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(V),{key:0,icon:e.unref(y).ChevronDown,size:"sm"},null,8,["icon"]))],2),e.createElementVNode("ul",Ve,[e.createElementVNode("li",Ee,[(e.openBlock(!0),e.createElementBlock(e.Fragment,null,e.renderList(t.items,s=>(e.openBlock(),e.createBlock(Y,e.mergeProps({key:s.label},{ref_for:!0},s),null,16))),128))])])]))}}),z="btn btn-ghost text-left justify-between min-w-max font-normal",Y=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),s=e.computed(()=>!o.disabled&&o.action),r=e.computed(()=>o.items?.length),a=e.computed(()=>{const u=o.action;return u&&"routerLink"in u&&"params"in u?{name:u.routerLink,params:u.params}:""}),i=()=>{o.action?.()};return(u,d)=>{const c=e.resolveComponent("RouterLink");return r.value?(e.openBlock(),e.createBlock(T,e.mergeProps({key:0},o,{"btn-class":z}),null,16)):n.value?(e.openBlock(),e.createBlock(c,{key:1,to:a.value,class:e.normalizeClass(z),onClick:i},{default:e.withCtx(()=>[e.createTextVNode(e.toDisplayString(t.label),1)]),_:1},8,["to"])):s.value?(e.openBlock(),e.createElementBlock("button",{key:2,class:e.normalizeClass(z),onClick:i},e.toDisplayString(t.label),1)):(e.openBlock(),e.createElementBlock("div",{key:3,class:e.normalizeClass([z,{"btn-disabled":t.disabled}])},e.toDisplayString(t.label),3))}}}),Ne={class:"navbar bg-base-100 shadow-sm"},xe={class:"flex-1"},_e={key:0,class:"breadcrumbs text-sm"},Se={class:"flex grow justify-end px-2"},$e={class:"flex items-stretch"},Le=e.defineComponent({__name:"menu",props:{menu:{},breadcrumbs:{}},setup(t){return(o,n)=>{const s=e.resolveComponent("RouterLink");return e.openBlock(),e.createElementBlock("nav",Ne,[e.createElementVNode("div",xe,[t.breadcrumbs?(e.openBlock(),e.createElementBlock("div",_e,[e.createElementVNode("ul",null,[(e.openBlock(!0),e.createElementBlock(e.Fragment,null,e.renderList(t.breadcrumbs,r=>(e.openBlock(),e.createElementBlock("li",{key:r.label},[r.routerLink?(e.openBlock(),e.createBlock(s,{key:0,to:{name:r.routerLink,params:r.params}},{default:e.withCtx(()=>[e.createTextVNode(e.toDisplayString(r.label),1)]),_:2},1032,["to"])):(e.openBlock(),e.createElementBlock(e.Fragment,{key:1},[e.createTextVNode(e.toDisplayString(r.label),1)],64))]))),128))])])):e.createCommentVNode("",!0)]),e.createElementVNode("div",Se,[e.createElementVNode("div",$e,[(e.openBlock(!0),e.createElementBlock(e.Fragment,null,e.renderList(t.menu,r=>(e.openBlock(),e.createBlock(Y,e.mergeProps({key:r.label},{ref_for:!0},r),null,16))),128))])])])}}}),Pe=e.defineComponent({__name:"dropdown",props:{items:{}},setup(t){const o=e.ref(!0);return(n,s)=>(e.openBlock(),e.createBlock(T,{items:t.items,label:"test",open:o.value,"btn-class":"","disable-arrow":!0},null,8,["items","open"]))}}),Me={class:"font-bold"},De={class:"pt-4"},ze={class:"flex justify-end gap-2 p-2 mt-2 border-t border-gray-300"},ee=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 s={xs:"max-w-xs w-[50VW]",sm:"max-w-sm w-[50VW]",lg:"max-w-2xl w-[80VW]",xl:"max-w-[80VW] w-[80VW]"},r=t,a=`modal_${q.v4()}`,i=n,u=()=>{document.getElementById(a)?.showModal()},d=()=>{document.getElementById(a)?.close(),i("closeModal")};return o({closeModal:d,openModal:u}),e.watch(()=>r.open,(c,l,p)=>{r.open?u():d()}),e.onMounted(()=>{r.open&&u()}),(c,l)=>(e.openBlock(),e.createElementBlock("dialog",{id:a,class:"modal"},[e.createElementVNode("div",{class:e.normalizeClass(["modal-box bg-white",s[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:d}," ✕ ")),e.createElementVNode("h3",Me,e.toDisplayString(t.modalTitle),1),e.createElementVNode("div",De,[e.renderSlot(c.$slots,"content")]),e.createElementVNode("div",ze,[e.renderSlot(c.$slots,"actions")])],2)]))}});var A=(t=>(t.button="button",t.submit="submit",t.reset="reset",t))(A||{}),j=(t=>(t.a="a",t.button="button",t))(j||{}),w=(t=>(t.blank="blank",t.primary="primary",t.secondary="secondary",t.error="error",t))(w||{});const Te={blank:"btn-ghost",primary:"btn-primary",secondary:"btn-soft btn-primary",error:"btn-error"},Ae={blank:"badge-ghost",primary:"badge-primary",secondary:"badge-soft badge-primary",error:"badge-error"},te={href:{type:String},disabled:{type:Boolean,default:!1},tooltip:{type:String},as:{type:String,default:j.button},icon:{type:[String,Object,Function]},type:{type:String,default:A.button},outline:{type:Boolean,default:!1},color:{type:String,default:w.primary},size:{type:String,default:"sm"},square:{type:Boolean,default:!1}},oe=["click"],ne={icon:{type:[String,Object,Function]},type:{type:String,default:A.button},color:{type:String},disabled:{type:Boolean,default:!1},size:{type:String,default:"sm"}},le=["click"],se={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"},C=e.defineComponent({__name:"btn",props:te,emits:oe,setup(t,{emit:o}){const n=t,s=o;return(r,a)=>(e.openBlock(),e.createBlock(e.resolveDynamicComponent(n.as),{class:e.normalizeClass(["btn p-1 flex justify-center flex-nowrap",e.unref(Te)[n.color],e.unref(se)[n.size],{"btn-outline":n.outline,"btn-square":n.square,tooltip:n.tooltip}]),href:n.href,type:n.type,disabled:n.disabled,"data-tip":n.tooltip,onClick:a[0]||(a[0]=i=>s("click"))},{default:e.withCtx(()=>[n.icon?(e.openBlock(),e.createBlock(e.unref(V),{key:0,icon:n.icon,size:n.size},null,8,["icon","size"])):e.createCommentVNode("",!0),e.renderSlot(r.$slots,"default")]),_:3},8,["class","href","type","disabled","data-tip"]))}}),Oe=["type","disabled"],Ie=e.defineComponent({__name:"btn-badge",props:ne,emits:le,setup(t,{emit:o}){const n=t,s=o;return(r,a)=>(e.openBlock(),e.createElementBlock("button",{class:e.normalizeClass(["badge gap-1",e.unref(re)[n.size],e.unref(Ae)[n.color]]),type:n.type,disabled:n.disabled,onClick:a[0]||(a[0]=i=>s("click"))},[e.renderSlot(r.$slots,"default"),n.icon?(e.openBlock(),e.createBlock(e.unref(V),{key:0,icon:n.icon,size:n.size},null,8,["icon","size"])):e.createCommentVNode("",!0)],10,Oe))}}),ae=e.defineComponent({__name:"confirmModal",props:{title:{},message:{},confirmLabel:{default:"Ok"},cancelLabel:{default:"Cancel"}},emits:["closeModal"],setup(t,{emit:o}){const n=o,s=r=>{n("closeModal",{confirmed:r})};return(r,a)=>(e.openBlock(),e.createBlock(ee,{"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(C),{color:e.unref(w).secondary,outline:!0,onClick:a[0]||(a[0]=i=>s(!1))},{default:e.withCtx(()=>[e.createTextVNode(e.toDisplayString(t.cancelLabel),1)]),_:1},8,["color"]),e.createVNode(e.unref(C),{onClick:a[1]||(a[1]=i=>s(!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,s=q.v4(),r=o;o.props.onClose=a=>{n(a),this.closeModal(s)},r.id=s,this.modals=[...this.modals,r],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 ce=e.defineComponent({__name:"modalWrapper",setup(t){const o=O.getInstance(),n=e.computed(()=>o.showModal.value?o.modals:[]);return(s,r)=>(e.openBlock(!0),e.createElementBlock(e.Fragment,null,e.renderList(n.value,a=>(e.openBlock(),e.createBlock(e.resolveDynamicComponent(a?.component),e.mergeProps({key:a.id,ref_for:!0},a?.props,{open:!0,onCloseModal:a?.props?.onClose}),null,16,["onCloseModal"]))),128))}}),ie=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,s)=>(e.openBlock(),e.createElementBlock("div",{role:"alert",class:e.normalizeClass(`alert ${o[t.type]} `)},[e.createElementVNode("span",null,e.toDisplayString(t.message),1)],2))}}),Fe=5e3;class I{constructor(){this.notifications=e.ref([]),this.addNotification=(o,n="info")=>{const s={id:q.v4(),duration:Fe,message:o,type:n};this.notifications.value.push(s),this.removeNotificationAfterDuration(s)},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 I),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 Re={class:"toast toast-top toast-center z-[999]"},ue=e.defineComponent({__name:"notifications",setup(t){const o=I.getInstance();return(n,s)=>(e.openBlock(),e.createElementBlock("div",Re,[(e.openBlock(!0),e.createElementBlock(e.Fragment,null,e.renderList(e.unref(o).notifications.value,r=>(e.openBlock(),e.createBlock(ie,e.mergeProps({key:r.id},{ref_for:!0},r),null,16))),128))]))}}),qe={class:"flex h-screen flex-col"},je={class:"shrink-0"},Ke={class:"navbar bg-primary text-primary-content w-full z-100"},Ue={class:"navbar-start"},He={class:"navbar-center"},We=["href"],Ge={class:"navbar-end"},Xe={class:"drawer-content overflow-y-auto mb-2 mr-2 shadow-md"},Ze={class:"drawer-side h-full shadow-md"},Je={class:"flex-grow overflow-y-auto"},Qe={class:"bg-base-200 p-4"},Ye=e.defineComponent({__name:"shell.component",props:{title:{},menu:{},user:{},version:{},widthSidebar:{default:300}},emits:["logout"],setup(t,{emit:o}){const s=t,r=e.ref(!1),a=()=>{r.value=!r.value},i=o,u=e.computed(()=>s.user?{label:s.user.name,items:[{label:"Logout",action:()=>{i("logout")}}]}:null);return(d,c)=>(e.openBlock(),e.createElementBlock(e.Fragment,null,[e.createVNode(ue),e.createVNode(e.unref(ce)),e.createElementVNode("div",qe,[e.createElementVNode("header",je,[e.createElementVNode("nav",Ke,[e.createElementVNode("div",Ue,[e.createElementVNode("button",{"aria-label":"open sidebar",class:"btn btn-square btn-ghost p-1",onClick:a},[e.createVNode(e.unref(V),{icon:e.unref(y).Hamburger},null,8,["icon"])])]),e.createElementVNode("div",He,[e.createElementVNode("a",{class:"btn btn-ghost text-primary-content text-lg color-white",href:e.unref("/")},e.toDisplayString(t.title),9,We)]),e.createElementVNode("div",Ge,[u.value?(e.openBlock(),e.createBlock(e.unref(T),e.mergeProps({key:0},u.value,{"btn-class":""}),null,16)):e.createCommentVNode("",!0)])])]),e.createElementVNode("div",{class:e.normalizeClass(["drawer flex-1 overflow-hidden",{"drawer-open":r.value}])},[e.withDirectives(e.createElementVNode("input",{id:"app-drawer","onUpdate:modelValue":c[0]||(c[0]=l=>r.value=l),type:"checkbox",class:"drawer-toggle"},null,512),[[e.vModelCheckbox,r.value]]),e.createElementVNode("main",Xe,[e.renderSlot(d.$slots,"default")]),e.createElementVNode("div",Ze,[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",Je,[(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(ye.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",Qe," version: "+e.toDisplayString(t.version),1)],4)])],2)])],64))}}),et={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}},tt=["updatePage","updatePageSize"],L=e.defineComponent({__name:"pagination-button.component",props:et,emits:tt,setup(t,{emit:o}){const n=t,s=o,r=e.computed(()=>n.neverActive?!1:n.page===n.currentPage),a=e.computed(()=>n.neverActive?w.blank:r.value?w.primary:w.secondary),i=()=>{s("updatePage",n.page)};return(u,d)=>(e.openBlock(),e.createBlock(e.unref(C),{disabled:u.disabled,square:!0,size:"xs",color:a.value,onClick:d[0]||(d[0]=c=>i())},{default:e.withCtx(()=>[e.createTextVNode(e.toDisplayString(u.label),1)]),_:1},8,["disabled","color"]))}}),ot={totalItems:{type:Number,default:0},itemsPerPage:{type:Number,default:1},currentPage:{type:Number,default:1}},nt=["updatePage","updatePageSize"],lt={class:"flex gap-2"},st={class:"flex flex-1 justify-center items-center"},rt={class:"flex gap-1"},at={class:"text-sm"},P=6,de=e.defineComponent({__name:"pagination.component",props:ot,emits:nt,setup(t,{emit:o}){const n=t,s=o,r=e.computed(()=>{let l=Math.ceil(n.totalItems/n.itemsPerPage);return l<1?1:l}),a=P/2,i=e.computed(()=>{if(r.value<=P)return{min:1,max:r.value};let l=n.currentPage-a;l<=1?l=1:l+P>r.value&&(l=r.value-P);let p=l+P;return{min:l,max:p}}),u=l=>({label:"...",currentPage:l,page:-10,disabled:!0,neverActive:!0}),d=e.computed(()=>{let l=r.value;l<1&&(l=1);const p=n.currentPage,m=[],{min:f,max:k}=i.value;return Array.from({length:l},(_,b)=>{const g=b+1;g!==1&&g!==l&&(g>k||g<f)||(g===l&&l>1&&k<l&&m.push(u(p)),m.push({label:`${g}`,totalPages:l,currentPage:p,page:g}),g===1&&l>1&&f>1&&m.push(u(p)))}),m}),c=l=>{s("updatePage",l)};return(l,p)=>(e.openBlock(),e.createElementBlock("div",lt,[e.createElementVNode("div",st,[e.createElementVNode("div",rt,[e.createVNode(L,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(L,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(d.value,m=>(e.openBlock(),e.createBlock(L,e.mergeProps({key:m.page,ref_for:!0},m,{onUpdatePage:c}),null,16))),128)),e.createVNode(L,e.mergeProps(n,{page:l.currentPage+1,label:">","current-page":l.currentPage,"never-active":!0,disabled:n.currentPage===r.value,onUpdatePage:c}),null,16,["page","current-page","disabled"]),e.createVNode(L,e.mergeProps(n,{page:r.value,label:">>","current-page":l.currentPage,"never-active":!0,disabled:n.currentPage===r.value,onUpdatePage:c}),null,16,["page","current-page","disabled"])])]),e.createElementVNode("div",at," page "+e.toDisplayString(l.currentPage)+" of "+e.toDisplayString(r.value),1)]))}}),ct={data:{type:Object,required:!0},column:{type:Object,required:!0},options:{type:Object}},it=e.defineComponent({__name:"text.cell",props:ct,setup(t){const o=t,n=e.computed(()=>{const s=o.data[o.column.id];return s?o.column.options?.format==="keyValue"?s[o.column.options.key]:s:null});return(s,r)=>e.toDisplayString(n.value)}}),ut={column:{type:Object,required:!0},sortColumn:{type:String},sortDirection:{type:String}},dt=["sort"],pt={class:"flex-grow pr-2"},mt={class:"h-4 w-4"},ft=e.defineComponent({__name:"sort.header",props:ut,emits:dt,setup(t,{emit:o}){const n=t,s=o,r=e.computed(()=>n.sortDirection==="asc"?y.BarsArrowUp:y.BarsArrowDown),a=e.computed(()=>n.column.options?.sortId??n.column.id),i=()=>{s("sort",a.value)};return(u,d)=>(e.openBlock(),e.createElementBlock("button",{class:"flex items-center",onClick:i},[e.createElementVNode("span",pt,e.toDisplayString(u.column.label),1),e.createElementVNode("div",mt,[u.sortColumn===a.value?(e.openBlock(),e.createBlock(e.unref(V),{key:0,icon:r.value},null,8,["icon"])):e.createCommentVNode("",!0)])]))}}),gt={loading:{type:Boolean,default:!1},actions:{type:Array},data:{type:Array},displayColumns:{type:Array,required:!0},page:{type:Object},sort:{type:Object}},vt=["updatePage","sort"],bt={class:"table w-full"},ht={key:0},kt=["colspan"],yt={class:"flex gap-2"},pe=e.defineComponent({__name:"table.component",props:gt,emits:vt,setup(t,{emit:o}){const n=o,s=e.useAttrs(),r=e.computed(()=>"onEdit"in s),a=e.computed(()=>"onDelete"in s),i=l=>{s.onEdit?.(l)},u=l=>{s.onDelete?.(l)},d=l=>{n("updatePage",l)},c=l=>{n("sort",l)};return(l,p)=>(e.openBlock(),e.createElementBlock(e.Fragment,null,[e.createElementVNode("table",bt,[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(ft,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",ht,[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,kt)])):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",yt,[(e.openBlock(!0),e.createElementBlock(e.Fragment,null,e.renderList(l.actions,f=>(e.openBlock(),e.createBlock(C,{key:f.label,icon:f.icon,outline:!0,onClick:k=>f.action(m)},{default:e.withCtx(()=>[e.createTextVNode(e.toDisplayString(f.label),1)]),_:2},1032,["icon","onClick"]))),128)),r.value?(e.openBlock(),e.createBlock(C,{key:0,icon:e.unref(y).Edit,outline:!0,onClick:f=>i(m)},null,8,["icon","onClick"])):e.createCommentVNode("",!0),a.value?(e.openBlock(),e.createBlock(C,{key:1,icon:e.unref(y).Delete,outline:!0,onClick:f=>u(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:d},null,8,["total-items","items-per-page","current-page"])):e.createCommentVNode("",!0)],64))}}),Bt=(t,o)=>{const n=t.__vccOpts||t;for(const[s,r]of o)n[s]=r;return n},Ct={},wt={class:"card bg-base-100 shadow-sm"},Vt={class:"card-body"},Et={key:0,class:"card-title"},Nt={key:1,class:"card-actions justify-end"};function xt(t,o){return e.openBlock(),e.createElementBlock("div",wt,[e.createElementVNode("div",Vt,[t.$slots.title?(e.openBlock(),e.createElementBlock("h2",Et,[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",Nt,[e.renderSlot(t.$slots,"actions")])):e.createCommentVNode("",!0)])])}const _t=Bt(Ct,[["render",xt]]),St=(t,o)=>{if(!t)return null;const n=s=>{t.contains(s.target)||o()};return document.addEventListener("click",n),n},$t=t=>{document.removeEventListener("click",t)},Lt={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 Pt(t){return t.replace(/[:\s_-]+(.)/g,(o,n)=>n.toUpperCase()).replace(/^[A-Z]/,o=>o.toLowerCase())}function Mt(t){const o=e.getCurrentInstance();if(!o)return!1;const n=o.vnode.props;if(!n)return!1;const s=Pt(t),r=e.camelize(t);return[e.toHandlerKey(t),e.toHandlerKey(r),e.toHandlerKey(s),`on:${t}`,`on:${r}`,`on:${s}`].some(i=>!!n[i])}const Dt=["select"],K={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"}},D=t=>{if(!t)return{...M};const o={...M};for(const n of Object.keys(t)){const s=t[n];s&&typeof s=="object"&&(o[n]={...M[n],...s})}return o},N={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"}},U={...N,options:{type:Array,required:!0},labelKey:{type:String,default:"label"},valueKey:{type:String,default:"value"},enableCreate:{type:Boolean,default:!1}},zt=["select","clear","close","create"],me={...K,...U,isOpen:{type:Boolean,default:!1},isActive:{type:Function,default:t=>!1}},Tt={key:1,tabindex:"-1",class:"pointer-events-none"},At=["data-index","aria-selected","onMousedown","onMousemove"],Ot=["innerHTML"],It={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 Ft(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 Rt=e.defineComponent({__name:"ListResults",props:K,emits:Dt,setup(t,{expose:o,emit:n}){const s=t,r=e.ref(-1),a=e.ref(),i=n;e.watch(()=>s.options,()=>{r.value=-1});function u(){e.nextTick(()=>{a.value?.querySelector(`[data-index="${r.value}"]`)?.scrollIntoView({block:"nearest"})})}function d(l){const p=s.options?.length??0;if(p)switch(l.key){case"ArrowDown":l.preventDefault(),r.value=(r.value+1)%p,u();break;case"ArrowUp":l.preventDefault(),r.value=r.value<=0?p-1:r.value-1,u();break;case"Enter":l.preventDefault(),r.value>=0&&r.value<p&&c(s.options[r.value]);break}}function c(l){r.value=-1,i("select",l)}return o({handleKeydown:d}),(l,p)=>(e.openBlock(),e.createElementBlock("ul",{ref_key:"listRef",ref:a,role:"listbox",class:"absolute z-50 w-full mt-1 bg-base-100 border border-base-300 rounded-box shadow-xl overflow-auto max-h-64 origin-top p-1"},[l.isLoading?(e.openBlock(),e.createElementBlock(e.Fragment,{key:0},e.renderList(2,m=>e.createElementVNode("li",{key:`skel-${m}`,class:"pointer-events-none px-3 py-2"},[...p[0]||(p[0]=[e.createElementVNode("div",{class:"flex items-center gap-3"},[e.createElementVNode("div",{class:"skeleton h-3 w-3/4 rounded"})],-1)])])),64)):l.options.length===0?(e.openBlock(),e.createElementBlock("li",Tt,[...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===r.value,onMousedown:e.withModifiers(k=>c(m),["prevent"]),onMousemove:k=>r.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===r.value,"hover:bg-base-200":f!==r.value}])},[e.createElementVNode("span",{class:"whitespace-nowrap",innerHTML:Ft(m.label,l.query)},null,8,Ot),l.isActive(m)?(e.openBlock(),e.createElementBlock("svg",It,[...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,At))),128))],512))}}),H=({isTouched:t,errors:o})=>!!(t&&o),fe=(t,o,n,s)=>o===void 0||o!==void 0&&!t||!s&&!n,E=(t,o)=>[t,{"input-error":H(o)}],qt={key:0},x=e.defineComponent({__name:"ControlWrapper",props:N,setup(t){const o=t,n=e.computed(()=>!fe(o.visible,o.description,o.isFocused,!0)),s=e.computed(()=>o.required),r=e.computed(()=>H(o)),a=e.computed(()=>D(o.styles));return(i,u)=>(e.openBlock(),e.createElementBlock("fieldset",{class:e.normalizeClass(["fieldset",[i.width,a.value.control.wrapper]])},[e.createElementVNode("legend",{class:e.normalizeClass(a.value.control.label)},[i.hideLabel?e.createCommentVNode("",!0):(e.openBlock(),e.createElementBlock(e.Fragment,{key:0},[e.createElementVNode("span",null,e.toDisplayString(i.label),1),s.value?(e.openBlock(),e.createElementBlock("span",qt,"*")):e.createCommentVNode("",!0)],64)),u[0]||(u[0]=e.createTextVNode(" ",-1))],2),e.renderSlot(i.$slots,"default"),e.createElementVNode("p",{class:e.normalizeClass(["fieldset-label h-4",{"text-error":r.value}])},e.toDisplayString(r.value?i.errors:n.value?i.description:null),3)],2))}}),jt={class:"flex items-center w-full"},Kt={class:"overflow-hidden w-full"},Ut={class:"absolute inset-y-0 right-0 flex items-center pr-3 gap-1 pointer-events-none"},Ht={key:0,class:"loading loading-spinner loading-xs text-primary pointer-events-none"},W=e.defineComponent({__name:"SelectWrapper",props:me,emits:zt,setup(t,{emit:o}){const n=t,s=e.ref(),r=e.ref(),a=o,i=()=>{u(),a("clear")},u=()=>{a("close")},d=l=>{if(l.key==="Escape"){u();return}r.value?.handleKeydown(l)},c=l=>{s.value&&!s.value.contains(l.target)&&u()};return e.onMounted(()=>{document.addEventListener("click",c)}),e.onUnmounted(()=>{document.removeEventListener("click",c)}),(l,p)=>(e.openBlock(),e.createElementBlock("div",{ref_key:"selectWrapperRef",ref:s},[e.createVNode(x,e.normalizeProps(e.guardReactiveProps(n)),{default:e.withCtx(()=>[e.createElementVNode("div",jt,[e.createElementVNode("div",{class:"relative w-full",onKeydown:d},[e.createElementVNode("div",Kt,[e.renderSlot(l.$slots,"default")]),e.createElementVNode("div",Ut,[l.isLoading&&!l.label?(e.openBlock(),e.createElementBlock("span",Ht)):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(Rt,{key:0,ref_key:"listResultsRef",ref:r,query:l.query,options:l.options,"is-loading":l.isLoading,"is-active":l.isActive,onSelect:p[0]||(p[0]=m=>a("select",m))},null,8,["query","options","is-loading","is-active"])):e.createCommentVNode("",!0)]),_:1})],32),l.enableCreate?(e.openBlock(),e.createBlock(C,{key:0,icon:"Plus",color:"blank",size:"lg",tooltip:"Create new",onClick:p[1]||(p[1]=m=>a("create"))})):e.createCommentVNode("",!0)])]),_:3},16)],512))}}),R=(t,o)=>{if(t)return typeof t=="object"?t[o.labelKey]:t},F=(t,o)=>{if(t)return typeof t=="object"?t[o.valueKey]:t},Wt=t=>{const o=e.ref([]),n=new Map,s=new Map,r=l=>{const p=[];n.clear(),s.clear(),l?.forEach(m=>{const f={value:F(m,t),label:R(m,t)};n.set(f.value,m),p.push(f)}),o.value=p},a=l=>n.get(l.value);return{options:o,setOptions:r,getOriginal:a,getLabels:(...l)=>l.map(p=>R(p,t)),getValues:(...l)=>l.map(p=>F(p,t)),getOption:l=>s.get(F(l,t)),getOriginals:(...l)=>l.map(a).filter(Boolean)}},G=t=>Wt(t),Gt=e.defineComponent({__name:"SelectComponent",props:e.mergeModels(U,{modelValue:{},modelModifiers:{}}),emits:e.mergeModels(["update:modelValue","change","clear","focus","blur"],["update:modelValue"]),setup(t,{emit:o}){const n=e.ref(!1),s=t,r=o,a=e.useModel(t,"modelValue"),i=G(s),{options:u}=i;e.watch(()=>s.options,()=>{i.setOptions(s.options)},{immediate:!0});const d=b=>{r("change",b)},c=e.computed(()=>a.value?i.getLabels(a.value)[0]:""),l=e.computed(()=>D(s.styles)),p=e.computed(()=>E(l.value.control.select,s)),m=b=>{const g=i.getOriginal(b);a.value=g,d(g)},f=()=>{n.value=!1,a.value=null,d(void 0)},k=b=>i.getValues(a.value)?.[0]===b.value,_=()=>{n.value=!1};return(b,g)=>(e.openBlock(),e.createBlock(W,e.mergeProps(s,{options:e.unref(u),disabled:!b.enabled,"is-open":n.value,query:c.value,"is-active":k,onClose:_,onSelect:m,onClear:f}),{default:e.withCtx(()=>[e.createElementVNode("button",{type:"button",class:e.normalizeClass(["truncate block text-left",[p.value,b.width]]),onClick:g[0]||(g[0]=B=>n.value=!0)},e.toDisplayString(c.value??"Select value"),3)]),_:1},16,["options","disabled","is-open","query"]))}}),Xt={...U,...K,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 Zt(t){const o=e.ref([]),n=e.ref(!1);function s(a){if(!t.options){o.value=[];return}const i=a.toLowerCase(),u=i?t.options.filter(d=>R(d,t).toLowerCase().includes(i)):t.options;o.value=u.slice(0,t.maxResults)}function r(){o.value=[]}return{results:o,isLoading:n,search:s,clear:r}}function Jt(t){const o=e.ref([]),n=e.ref(!1);let s=null,r=null;async function a(d){r&&r.abort(),r=new AbortController,n.value=!0;try{const c=await t.fetchOptions(d,r.signal);o.value=(c||[]).slice(0,t.maxResults)}catch(c){c.name!=="AbortError"&&(o.value=[])}finally{n.value=!1}}function i(d){s&&clearTimeout(s),n.value=!0,s=setTimeout(()=>{a(d)},t.debounceMs)}function u(){s&&clearTimeout(s),r&&r.abort(),o.value=[],n.value=!1}return{results:o,isLoading:n,search:i,clear:u}}function Qt(t){const o=t.fetchOptions?Jt(t):Zt(t);function n(s){o.search(s)}return{results:o.results,isLoading:o.isLoading,triggerSearch:n,clear:o.clear}}const Yt=["aria-expanded","value","placeholder","disabled"],eo=e.defineComponent({__name:"AutoComplete",props:Xt,emits:["update:modelValue","change","clear","focus","blur"],setup(t,{emit:o}){const n=t,s=o,r=e.ref(null),a=e.ref(""),i=e.ref(!1),u=Qt(n),{isLoading:d,triggerSearch:c,clear:l}=u,p=G(n),{options:m}=p;e.watch(()=>u.results.value,()=>{p.setOptions(u.results.value)},{immediate:!0}),e.watch(()=>n.modelValue,h=>{if(h==null||h===""){a.value="";return}const $=typeof h=="object"?h[n.labelKey]:h;$!==a.value&&(a.value=$)},{immediate:!0});const f=h=>{a.value=h.target.value,n.freeText?s("update:modelValue",a.value):s("update:modelValue",""),c(a.value),i.value=!0},k=()=>{c(a.value),i.value=!0};function _(){setTimeout(()=>{i.value=!1,n.freeText?s("change",a.value):n.modelValue||(a.value="")},150)}const b=h=>{const $=p.getOriginal(h);a.value=h.label,i.value=!1,s("update:modelValue",$),s("change",$)},g=()=>{a.value="",l(),i.value=!1,s("update:modelValue",""),s("clear"),e.nextTick(()=>r.value?.focus())},B=()=>{i.value=!1},S=e.computed(()=>D(n.styles)),ke=e.computed(()=>E(S.value.control.select,n));return(h,$)=>(e.openBlock(),e.createBlock(W,e.mergeProps(n,{options:e.unref(m),"is-loading":e.unref(d),"is-open":i.value,query:a.value,onClose:B,onSelect:b,onClear:g}),{default:e.withCtx(()=>[e.createElementVNode("input",{ref_key:"inputRef",ref:r,type:"text",role:"combobox","aria-expanded":i.value,"aria-autocomplete":"list","aria-haspopup":"listbox",autocomplete:"off",autocorrect:"off",spellcheck:"false",class:e.normalizeClass([ke.value,"w-full"]),value:a.value,placeholder:h.placeholder,disabled:!h.enabled,onInput:f,onFocus:k,onBlur:_},null,42,Yt)]),_:1},16,["options","is-loading","is-open","query"]))}}),to=e.defineComponent({__name:"MultiSelect",props:e.mergeModels(me,{modelValue:{},modelModifiers:{}}),emits:e.mergeModels(["update:modelValue","change","clear","focus","blur"],["update:modelValue"]),setup(t,{emit:o}){const n=e.ref(!1),s=t,r=o,a=e.useModel(t,"modelValue"),i=g=>{r("change",g)},u=G(s),{options:d}=u;e.watch(()=>s.options,()=>{u.setOptions(s.options)},{immediate:!0});const c=e.computed(()=>a.value?u.getLabels(...a.value).join(", "):void 0),l=e.computed(()=>u.getValues(...a.value??[])),p=g=>{let B=a.value??[];if(k(g))B=B.filter(S=>u.getOption(S)!==g.value);else{const S=u.getOriginal(g);B.push(S)}a.value=B,i(B)},m=()=>{n.value=!1,a.value=[],i([])},f=()=>{n.value=!1},k=g=>l.value?.includes(g.value)??!1,_=e.computed(()=>D(s.styles)),b=e.computed(()=>E(_.value.control.select,s));return(g,B)=>(e.openBlock(),e.createBlock(W,e.mergeProps(s,{options:e.unref(d),"is-open":n.value,disabled:!g.enabled,query:c.value,"is-active":k,onClose:f,onSelect:p,onClear:m}),{default:e.withCtx(()=>[e.createElementVNode("button",{type:"button",class:e.normalizeClass(["truncate block text-left",[b.value,g.width]]),onClick:B[0]||(B[0]=S=>n.value=!0)},e.toDisplayString(c.value??"Select value"),3)]),_:1},16,["options","is-open","disabled","query"]))}}),oo=["change"],no={...N,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()}]}},lo={class:"flex items-center gap-1 px-3 py-2 border-b border-base-300 bg-base-200"},so=["title","onClick"],ro=["innerHTML"],ao={class:"card-body p-3"},co=e.defineComponent({__name:"Markdown",props:e.mergeModels(no,{modelValue:{},modelModifiers:{}}),emits:e.mergeModels(oo,["update:modelValue"]),setup(t,{emit:o}){const n=t,s=o,r=e.useModel(t,"modelValue"),a=X.useEditor({content:r.value??"",extensions:[Be.configure({heading:!1,blockquote:!1,bulletList:!1,orderedList:!1,listItem:!1,code:!1,codeBlock:!1,horizontalRule:!1,hardBreak:!1}),Ce.Markdown.configure({html:!1,transformPastedText:!0})],onUpdate({editor:i}){s("change",i.storage.markdown.getMarkdown())}});return e.onBeforeUnmount(()=>{a.value?.destroy()}),(i,u)=>(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",lo,[(e.openBlock(!0),e.createElementBlock(e.Fragment,null,e.renderList(i.actions,d=>(e.openBlock(),e.createElementBlock("button",{key:d.name,tabindex:"-1",type:"button",class:e.normalizeClass(["btn btn-sm btn-ghost",{"btn-active":e.unref(a)?.isActive(d.name)}]),title:d.label,onClick:c=>d.action(e.unref(a))},[e.createElementVNode("span",{innerHTML:d.label},null,8,ro)],10,so))),128))]),e.createElementVNode("div",ao,[e.createVNode(e.unref(X.EditorContent),{editor:e.unref(a),class:"prose prose-sm max-w-none h-full"},null,8,["editor"])])],2)]),_:1},16))}}),io={...N},uo=["change","focus","blur"],po={class:"flex items-center justify-center h-full"},mo={class:"fieldset-label"},fo=["disabled"],go={class:"font-bold text-gray-500 text-sm"},vo=e.defineComponent({__name:"Checkbox",props:e.mergeModels(io,{modelValue:{},modelModifiers:{}}),emits:e.mergeModels(uo,["update:modelValue"]),setup(t,{emit:o}){const n=t,s=o,r=e.useModel(t,"modelValue"),a=c=>{s("change",c)},i=c=>{s("focus",c)},u=c=>{s("blur",c)},d=e.computed(()=>E(n.styles.control.checkbox,n));return(c,l)=>(e.openBlock(),e.createElementBlock("div",po,[e.createVNode(x,e.mergeProps(n,{"hide-label":!0}),{default:e.withCtx(()=>[e.createElementVNode("label",mo,[e.withDirectives(e.createElementVNode("input",{"onUpdate:modelValue":l[0]||(l[0]=p=>r.value=p),type:"checkbox",class:e.normalizeClass(d.value),disabled:!c.enabled,onChange:a,onFocus:i,onBlur:u},null,42,fo),[[e.vModelCheckbox,r.value]]),e.createElementVNode("span",go,e.toDisplayString(c.label),1)])]),_:1},16)]))}}),bo={...N,type:{type:String,default:"text"}},ho=["change","focus","blur"],ko=["type","disabled","autofocus","placeholder"],yo=e.defineComponent({__name:"Input",props:e.mergeModels(bo,{modelValue:{},modelModifiers:{}}),emits:e.mergeModels(ho,["update:modelValue"]),setup(t,{emit:o}){const n=t,s=o,r=e.useModel(t,"modelValue"),a=c=>{s("change",c)},i=c=>{s("focus",c)},u=c=>{s("blur",c)},d=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=>r.value=p),autocomplete:"off",type:c.type,class:e.normalizeClass(["w-full",d.value]),disabled:!c.enabled,autofocus:c.isFocused,placeholder:c.placeholder,onChange:a,onFocus:i,onBlur:u},null,42,ko),[[e.vModelDynamic,r.value]])]),_:1},16))}}),Bo={...N,steps:{type:Number,default:1}},Co=["change","focus","blur"],wo=["disabled","step","autofocus","placeholder"],Vo=e.defineComponent({__name:"InputNumber",props:e.mergeModels(Bo,{modelValue:{},modelModifiers:{}}),emits:e.mergeModels(Co,["update:modelValue"]),setup(t,{emit:o}){const n=t,s=o,r=e.useModel(t,"modelValue"),a=c=>{s("change",c)},i=c=>{s("focus",c)},u=c=>{s("blur",c)},d=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=>r.value=p),autocomplete:"off",type:"number",class:e.normalizeClass(["w-full",[d.value]]),disabled:!c.enabled,step:c.steps,autofocus:c.isFocused,placeholder:c.placeholder,onChange:a,onFocus:i,onBlur:u},null,42,wo),[[e.vModelText,r.value]])]),_:1},16))}}),Eo={...N,rows:{type:Number,default:4}},No=["change","focus","blur"],xo=["disabled","rows","autofocus","placeholder"],_o=e.defineComponent({__name:"Textarea",props:e.mergeModels(Eo,{modelValue:{},modelModifiers:{}}),emits:e.mergeModels(No,["update:modelValue"]),setup(t,{emit:o}){const n=t,s=o,r=e.useModel(t,"modelValue"),a=c=>{s("change",c)},i=c=>{s("focus",c)},u=c=>{s("blur",c)},d=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=>r.value=p),autocomplete:"off",type:"text",class:e.normalizeClass(["w-full",d.value]),disabled:!c.enabled,rows:c.rows,autofocus:c.isFocused,placeholder:c.placeholder,onChange:a,onFocus:i,onBlur:u},null,42,xo),[[e.vModelText,r.value]])]),_:1},16))}}),So={widthLeft:{type:Number,default:200},widthRight:{type:Number,default:200},initialLeftOpen:{type:Boolean,default:!0},initialRightOpen:{type:Boolean,default:!0}},$o={class:"flex h-full overflow-hidden gap-2"},Lo={key:0,id:"drawer-left",class:"min-h-0 relative flex-shrink-0 bg-white overflow-visible flex"},Po={class:"flex-1 overflow-y-auto bg-white"},Mo={key:1,class:"min-h-0 relative flex-shrink-0 bg-white overflow-visible flex"},Do=e.defineComponent({__name:"drawer",props:So,setup(t){const o=t,n=e.useSlots(),s=e.computed(()=>!!n["left-drawer"]),r=e.computed(()=>!!n["right-drawer"]),a=e.ref({left:o.initialLeftOpen,right:o.initialRightOpen}),i=u=>{a.value[u]=!a.value[u]};return(u,d)=>(e.openBlock(),e.createElementBlock("main",$o,[s.value?(e.openBlock(),e.createElementBlock("aside",Lo,[e.createElementVNode("div",{style:e.normalizeStyle({width:a.value.left?u.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:u.widthLeft+"px"}),class:"h-full overflow-y-auto p-4"},[e.renderSlot(u.$slots,"left-drawer")],4)],4),e.createElementVNode("button",{class:"hover:bg-base-300 hover:text-base-content transition-colors cursor-pointer",onClick:d[0]||(d[0]=c=>i("left"))},[e.createVNode(e.unref(V),{size:"lg",icon:a.value.left?e.unref(y).ChevronLeft:e.unref(y).ChevronRight},null,8,["icon"])])])):e.createCommentVNode("",!0),e.createElementVNode("div",Po,[e.renderSlot(u.$slots,"default")]),r.value?(e.openBlock(),e.createElementBlock("aside",Mo,[e.createElementVNode("button",{class:"hover:bg-base-300 hover:text-base-content transition-colors cursor-pointer",onClick:d[1]||(d[1]=c=>i("right"))},[e.createVNode(e.unref(V),{size:"lg",icon:a.value.right?e.unref(y).ChevronRight:e.unref(y).ChevronLeft},null,8,["icon"])]),e.createElementVNode("div",{style:e.normalizeStyle({width:a.value.right?u.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:u.widthRight+"px"}),class:"h-full overflow-y-auto p-4"},[e.renderSlot(u.$slots,"right-drawer")],4)],4)])):e.createCommentVNode("",!0)]))}}),zo={class:"ml-1"},To={class:"truncate flex-1 min-w-0 text-left"},Ao={key:0,class:"badge badge-ghost badge-sm flex-shrink-0"},Oo=e.defineComponent({__name:"TreeItem",props:{active:{},node:{},expanded:{},isExpanded:{type:Function}},emits:["toggle","select"],setup(t,{emit:o}){const n=t,s=o,r=e.computed(()=>n.active===n.node.id);return(a,i)=>{const u=e.resolveComponent("TreeItem",!0);return e.openBlock(),e.createElementBlock("li",zo,[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`,r.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]=d=>s("toggle",t.node))},[t.node.children&&t.isExpanded(t.node.id)?(e.openBlock(),e.createBlock(e.unref(Z.ChevronDownIcon),{key:0,class:"w-3 h-3"})):(e.openBlock(),e.createBlock(e.unref(Z.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]=d=>s("select",t.node))},[e.createElementVNode("div",To,e.toDisplayString(t.node.label),1),t.node.tag?(e.openBlock(),e.createElementBlock("div",Ao,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":!r.value,"border-primary":r.value}])},[(e.openBlock(!0),e.createElementBlock(e.Fragment,null,e.renderList(t.node.children,d=>(e.openBlock(),e.createBlock(u,{key:d.id,node:d,expanded:t.expanded,active:t.active,"is-expanded":t.isExpanded,onToggle:i[2]||(i[2]=c=>s("toggle",c)),onSelect:i[3]||(i[3]=c=>s("select",c))},null,8,["node","expanded","active","is-expanded"]))),128))],2)):e.createCommentVNode("",!0)])}}}),Io={class:"select-none text-sm"},Fo=e.defineComponent({__name:"TreeView",props:{data:{},active:{}},emits:["select"],setup(t,{emit:o}){const n=t,s=o,r=e.ref(new Set),a=d=>{const c=d.id;if(!d.children||d.children.length===0){s("select",d);return}r.value.has(c)?r.value.delete(c):r.value.add(c)},i=d=>{s("select",d),r.value.add(d.id)},u=d=>r.value.has(d);return(d,c)=>(e.openBlock(),e.createElementBlock("ul",Io,[(e.openBlock(!0),e.createElementBlock(e.Fragment,null,e.renderList(n.data,l=>(e.openBlock(),e.createBlock(Oo,{key:l.id,node:l,expanded:r.value,active:t.active,"is-expanded":u,onToggle:a,onSelect:i},null,8,["node","expanded","active"]))),128))]))}}),Ro={key:0,class:"flex items-center justify-center h-20"},qo=e.defineComponent({__name:"loading",props:{loading:{type:Boolean}},setup(t){return(o,n)=>t.loading?(e.openBlock(),e.createElementBlock("div",Ro,[...n[0]||(n[0]=[e.createElementVNode("span",{class:"loading loading-bars loading-md text-primary"},null,-1)])])):e.createCommentVNode("",!0)}}),jo={title:{type:String,required:!0},opened:{type:Boolean,default:!0},heightFull:{type:Boolean,default:!1},disabled:{type:Boolean,default:!1},actions:{type:Array,default:()=>[]}},Ko=["checked"],Uo={class:"collapse-title text-gray-500 text-xs font-medium"},Ho={class:"flex items-center justify-between"},Wo={key:0,class:"list bg-base-100"},ge=e.defineComponent({__name:"Collapse",props:jo,setup(t){const o=e.useSlots(),n=t,s=e.ref(n.opened),r=e.ref(n.opened||n.disabled);return(a,i)=>(e.openBlock(),e.createElementBlock("div",{class:e.normalizeClass(["collapse collapse-arrow bg-white w-full border border-gray-300",a.heightFull?"h-full":"",a.disabled?"collapse-open":"",r.value?"overflow-visible":""])},[a.disabled?e.createCommentVNode("",!0):(e.openBlock(),e.createElementBlock("input",{key:0,type:"checkbox",checked:s.value,tabindex:"-1",onChange:i[0]||(i[0]=u=>r.value=u.target.checked)},null,40,Ko)),e.createElementVNode("div",Uo,[e.createElementVNode("div",Ho,[e.createElementVNode("span",null,e.toDisplayString(a.title),1),n.actions.length>0?(e.openBlock(),e.createElementBlock("div",{key:0,class:"relative z-10 flex gap-1",onClick:i[1]||(i[1]=e.withModifiers(()=>{},["stop"]))},[(e.openBlock(!0),e.createElementBlock(e.Fragment,null,e.renderList(n.actions,(u,d)=>(e.openBlock(),e.createBlock(e.unref(C),{key:d,color:e.unref(w).blank,size:"xs",icon:u.icon,tooltip:u.tooltip,disabled:u.disabled,onClick:u.onClick},{default:e.withCtx(()=>[e.createTextVNode(e.toDisplayString(u.label),1)]),_:2},1032,["color","icon","tooltip","disabled","onClick"]))),128))])):e.createCommentVNode("",!0)])]),e.createElementVNode("div",{class:e.normalizeClass(["collapse-content",e.unref(o).list?"p-0":""])},[e.renderSlot(a.$slots,"default"),e.unref(o).list?(e.openBlock(),e.createElementBlock("ul",Wo,[e.renderSlot(a.$slots,"list")])):e.createCommentVNode("",!0)],2)],2))}}),Go={title:{type:String},label:{type:String},labelLink:{type:String},description:{type:String},descriptionLink:{type:String}},Xo={class:"list-row"},Zo={class:"list-col-grow"},Jo={key:0},Qo={key:1,class:"text-xs text-gray-600"},Yo=["href"],en={key:1},tn={key:0,class:"text-xs text-gray-500"},on=["href"],nn={key:1},ln=e.defineComponent({__name:"CollapseRow",props:Go,setup(t){return(o,n)=>(e.openBlock(),e.createElementBlock("li",Xo,[e.createElementVNode("div",Zo,[o.title?(e.openBlock(),e.createElementBlock("div",Jo,e.toDisplayString(o.title),1)):e.createCommentVNode("",!0),o.description||o.descriptionLink?(e.openBlock(),e.createElementBlock("div",Qo,[o.descriptionLink?(e.openBlock(),e.createElementBlock("a",{key:0,href:o.descriptionLink,target:"_blank"},e.toDisplayString(o.description??o.descriptionLink),9,Yo)):(e.openBlock(),e.createElementBlock("span",en,e.toDisplayString(o.description),1))])):e.createCommentVNode("",!0)]),o.label?(e.openBlock(),e.createElementBlock("div",tn,[o.labelLink?(e.openBlock(),e.createElementBlock("a",{key:0,href:o.labelLink,target:"_blank"},e.toDisplayString(o.label),9,on)):(e.openBlock(),e.createElementBlock("span",nn,e.toDisplayString(o.label),1))])):e.createCommentVNode("",!0),e.renderSlot(o.$slots,"default")]))}}),sn={class:"text-gray-800"},rn=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,s)=>(e.openBlock(),e.createElementBlock("div",{role:"alert",class:e.normalizeClass(`alert alert-soft ${o[t.type]} `)},[e.createElementVNode("span",sn,e.toDisplayString(t.message),1),e.renderSlot(n.$slots,"default")],2))}}),ve={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}},be=["update:modelValue"],he=(t,o,n,s)=>{const r=e.computed(()=>t.value.map(l=>l[n.value])),a=l=>o.value.includes(l),i=e.computed(()=>{const l=o.value.length;return l===0?"None":l===r.value.length?"All":`${l}`});return{isSelected:a,selectedLabel:i,selectAll:()=>s("update:modelValue",[...r.value]),selectNone:()=>s("update:modelValue",[]),toggleItem:(l,p)=>{p?s("update:modelValue",[...o.value,l]):s("update:modelValue",o.value.filter(m=>m!==l))}}},an={class:"flex items-center justify-between mb-2"},cn={class:"text-xs text-base-content/50"},un={class:"flex gap-1"},dn={class:"flex flex-col gap-1"},pn=["checked","onChange"],mn={class:"text-sm flex-1 select-none"},fn={key:1,class:"badge badge-sm badge-ghost"},gn=e.defineComponent({__name:"filter",props:ve,emits:be,setup(t,{emit:o}){const n=t,s=o,r=e.computed(()=>n.items??[]),{isSelected:a,selectedLabel:i,selectAll:u,selectNone:d,toggleItem:c}=he(r,e.toRef(n,"modelValue"),e.toRef(n,"valueKey"),s);return(l,p)=>(e.openBlock(),e.createBlock(e.unref(ge),{title:l.title,opened:l.opened},{default:e.withCtx(()=>[e.createElementVNode("div",an,[e.createElementVNode("span",cn,e.toDisplayString(e.unref(i))+" of "+e.toDisplayString(r.value.length)+" items ",1),e.createElementVNode("div",un,[e.createElementVNode("button",{class:"btn btn-ghost btn-xs",type:"button",tabindex:"-1",onClick:p[0]||(p[0]=(...m)=>e.unref(u)&&e.unref(u)(...m))}," All "),e.createElementVNode("button",{class:"btn btn-ghost btn-xs",type:"button",tabindex:"-1",onClick:p[1]||(p[1]=(...m)=>e.unref(d)&&e.unref(d)(...m))}," None ")])]),e.createElementVNode("div",dn,[(e.openBlock(!0),e.createElementBlock(e.Fragment,null,e.renderList(r.value,m=>(e.openBlock(),e.createElementBlock("label",{key:m[l.valueKey],class:e.normalizeClass(["flex items-center gap-3 px-2 py-1.5 rounded-lg cursor-pointer transition-colors hover:bg-base-200",{"bg-base-200/60":e.unref(a)(m[l.valueKey])}])},[e.createElementVNode("input",{type:"checkbox",class:"checkbox checkbox-sm",checked:e.unref(a)(m[l.valueKey]),onChange:f=>e.unref(c)(m[l.valueKey],f.target.checked)},null,40,pn),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",mn,e.toDisplayString(m[l.labelKey]),1),m[l.countKey]>0?(e.openBlock(),e.createElementBlock("span",fn,e.toDisplayString(m[l.countKey]),1)):e.createCommentVNode("",!0)],2))),128))])]),_:1},8,["title","opened"]))}});exports.Alert=rn;exports.Autocomplete=eo;exports.BadgeSize=re;exports.Btn=C;exports.BtnBadge=Ie;exports.BtnBadgeEmits=le;exports.BtnBadgeProperties=ne;exports.BtnEmits=oe;exports.BtnProperties=te;exports.ButtonSize=se;exports.ButtonTag=j;exports.ButtonType=A;exports.Card=_t;exports.Checkbox=vo;exports.ClickOutside=Lt;exports.Collapse=ge;exports.CollapseRow=ln;exports.Color=w;exports.ConfirmModal=ae;exports.ControlWrapper=x;exports.Drawer=Do;exports.Dropdown=Pe;exports.Filter=gn;exports.FilterEmits=be;exports.FilterProperties=ve;exports.Icon=V;exports.IconEnum=y;exports.IconMap=J;exports.IconProperties=Q;exports.Input=yo;exports.InputNumber=Vo;exports.Loading=qo;exports.Markdown=co;exports.Menu=Le;exports.Modal=ee;exports.ModalService=O;exports.ModalWrapper=ce;exports.MultiSelect=to;exports.NotificationMessage=ie;exports.NotificationService=I;exports.Notifications=ue;exports.PaginationComponent=de;exports.SelectComponent=Gt;exports.ShellComponent=Ye;exports.SubMenu=T;exports.Table=pe;exports.TableComponent=pe;exports.TextCell=it;exports.Textarea=_o;exports.TreeView=Fo;exports.addClickOutsideEventListener=St;exports.buildInputStyle=E;exports.hasCustomEventListener=Mt;exports.isDescriptionHidden=fe;exports.mergeStyles=D;exports.myStyles=M;exports.removeClickOutsideEventListener=$t;exports.showErrors=H;exports.useFilter=he;
|
|
1
|
+
"use strict";Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const e=require("vue"),ye=require("vue-router"),q=require("uuid"),b=require("@heroicons/vue/24/outline"),Be=require("@tiptap/starter-kit"),X=require("@tiptap/vue-3"),Ce=require("tiptap-markdown"),Z=require("@heroicons/vue/24/solid");var y=(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))(y||{});const J={Edit:b.PencilSquareIcon,Delete:b.TrashIcon,BarsArrowDown:b.BarsArrowDownIcon,BarsArrowUp:b.BarsArrowUpIcon,Funnel:b.FunnelIcon,Close:b.XMarkIcon,Plus:b.PlusCircleIcon,PaperClip:b.PaperClipIcon,Hamburger:b.Bars3Icon,ChevronRight:b.ChevronRightIcon,ChevronLeft:b.ChevronLeftIcon,ChevronDown:b.ChevronDownIcon,ChevronUp:b.ChevronUpIcon,DblChevronLeft:b.ChevronDoubleLeftIcon,DblChevronRight:b.ChevronDoubleRightIcon,Language:b.LanguageIcon,Check:b.CheckIcon,View:b.EyeIcon,Text:b.DocumentTextIcon,Link:b.LinkIcon},Q={icon:{type:[String,Object,Function]},size:{type:String}},V=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(a,r)=>n.value?(e.openBlock(),e.createBlock(e.resolveDynamicComponent(n.value),{key:0,class:e.normalizeClass([{"w-full h-full":!a.size,"w-2 h-2":a.size==="xs","w-4 h-4":a.size==="sm","w-6 h-6":a.size==="lg","w-8 h-8":a.size==="xl"}])},null,8,["class"])):e.createCommentVNode("",!0)}}),we={class:"dropdown dropdown-end"},Ve={tabindex:"0",class:"menu dropdown-content bg-white z-1 mt-4 p-2 shadow-sm"},Ee={class:"min-w-max flex-no-wrap text-black"},T=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",we,[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(V),{key:0,icon:e.unref(y).ChevronDown,size:"sm"},null,8,["icon"]))],2),e.createElementVNode("ul",Ve,[e.createElementVNode("li",Ee,[(e.openBlock(!0),e.createElementBlock(e.Fragment,null,e.renderList(t.items,a=>(e.openBlock(),e.createBlock(Y,e.mergeProps({key:a.label},{ref_for:!0},a),null,16))),128))])])]))}}),z="btn btn-ghost text-left justify-between min-w-max font-normal",Y=e.defineComponent({__name:"menu-item",props:{label:{},items:{},action:{},disabled:{type:Boolean,default:!1}},setup(t){const o=t,n=e.computed(()=>!o.disabled&&o.action&&"routerLink"in o.action),a=e.computed(()=>!o.disabled&&o.action),r=e.computed(()=>o.items?.length),s=e.computed(()=>{const u=o.action;return u&&"routerLink"in u&&"params"in u?{name:u.routerLink,params:u.params}:""}),c=()=>{o.action?.()};return(u,d)=>{const i=e.resolveComponent("RouterLink");return r.value?(e.openBlock(),e.createBlock(T,e.mergeProps({key:0},o,{"btn-class":z}),null,16)):n.value?(e.openBlock(),e.createBlock(i,{key:1,to:s.value,class:e.normalizeClass(z),onClick:c},{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(z),onClick:c},e.toDisplayString(t.label),1)):(e.openBlock(),e.createElementBlock("div",{key:3,class:e.normalizeClass([z,{"btn-disabled":t.disabled}])},e.toDisplayString(t.label),3))}}}),Ne={class:"navbar bg-base-100 shadow-sm"},xe={class:"flex-1"},_e={key:0,class:"breadcrumbs text-sm"},$e={class:"flex grow justify-end px-2"},Se={class:"flex items-stretch"},Le=e.defineComponent({__name:"menu",props:{menu:{},breadcrumbs:{}},setup(t){return(o,n)=>{const a=e.resolveComponent("RouterLink");return e.openBlock(),e.createElementBlock("nav",Ne,[e.createElementVNode("div",xe,[t.breadcrumbs?(e.openBlock(),e.createElementBlock("div",_e,[e.createElementVNode("ul",null,[(e.openBlock(!0),e.createElementBlock(e.Fragment,null,e.renderList(t.breadcrumbs,r=>(e.openBlock(),e.createElementBlock("li",{key:r.label},[r.routerLink?(e.openBlock(),e.createBlock(a,{key:0,to:{name:r.routerLink,params:r.params},role:"navigation","area-label":r.label},{default:e.withCtx(()=>[e.createTextVNode(e.toDisplayString(r.label),1)]),_:2},1032,["to","area-label"])):(e.openBlock(),e.createElementBlock(e.Fragment,{key:1},[e.createTextVNode(e.toDisplayString(r.label),1)],64))]))),128))])])):e.createCommentVNode("",!0)]),e.createElementVNode("div",$e,[e.createElementVNode("div",Se,[(e.openBlock(!0),e.createElementBlock(e.Fragment,null,e.renderList(t.menu,r=>(e.openBlock(),e.createBlock(Y,e.mergeProps({key:r.label},{ref_for:!0},r),null,16))),128))])])])}}}),Pe=e.defineComponent({__name:"dropdown",props:{items:{}},setup(t){const o=e.ref(!0);return(n,a)=>(e.openBlock(),e.createBlock(T,{items:t.items,label:"test",open:o.value,"btn-class":"","disable-arrow":!0},null,8,["items","open"]))}}),Me={class:"font-bold"},De={class:"pt-4"},ze={class:"flex justify-end gap-2 p-2 mt-2 border-t border-gray-300"},ee=e.defineComponent({__name:"modal",props:{modalTitle:{},buttonLabel:{},buttonSaveLabel:{},data:{},open:{type:Boolean,default:!1},disableClose:{type:Boolean,default:!1},width:{default:"sm"}},emits:["closeModal"],setup(t,{expose:o,emit:n}){const a={xs:"max-w-xs w-[50VW]",sm:"max-w-sm w-[50VW]",lg:"max-w-2xl w-[80VW]",xl:"max-w-[80VW] w-[80VW]"},r=t,s=`modal_${q.v4()}`,c=n,u=()=>{document.getElementById(s)?.showModal()},d=()=>{document.getElementById(s)?.close(),c("closeModal")};return o({closeModal:d,openModal:u}),e.watch(()=>r.open,(i,l,p)=>{r.open?u():d()}),e.onMounted(()=>{r.open&&u()}),(i,l)=>(e.openBlock(),e.createElementBlock("dialog",{id:s,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:d}," ✕ ")),e.createElementVNode("h3",Me,e.toDisplayString(t.modalTitle),1),e.createElementVNode("div",De,[e.renderSlot(i.$slots,"content")]),e.createElementVNode("div",ze,[e.renderSlot(i.$slots,"actions")])],2)]))}});var A=(t=>(t.button="button",t.submit="submit",t.reset="reset",t))(A||{}),j=(t=>(t.a="a",t.button="button",t))(j||{}),w=(t=>(t.blank="blank",t.primary="primary",t.secondary="secondary",t.error="error",t))(w||{});const Te={blank:"btn-ghost",primary:"btn-primary",secondary:"btn-soft btn-primary",error:"btn-error"},Ae={blank:"badge-ghost",primary:"badge-primary",secondary:"badge-soft badge-primary",error:"badge-error"},te={href:{type:String},disabled:{type:Boolean,default:!1},tooltip:{type:String},as:{type:String,default:j.button},icon:{type:[String,Object,Function]},type:{type:String,default:A.button},outline:{type:Boolean,default:!1},color:{type:String,default:w.primary},size:{type:String,default:"sm"},square:{type:Boolean,default:!1}},oe=["click"],ne={icon:{type:[String,Object,Function]},type:{type:String,default:A.button},color:{type:String},disabled:{type:Boolean,default:!1},size:{type:String,default:"sm"}},le=["click"],ae={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"},C=e.defineComponent({__name:"btn",props:te,emits:oe,setup(t,{emit:o}){const n=t,a=o;return(r,s)=>(e.openBlock(),e.createBlock(e.resolveDynamicComponent(n.as),{class:e.normalizeClass(["btn p-1 flex justify-center flex-nowrap",e.unref(Te)[n.color],e.unref(ae)[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]=c=>a("click"))},{default:e.withCtx(()=>[n.icon?(e.openBlock(),e.createBlock(e.unref(V),{key:0,icon:n.icon,size:n.size},null,8,["icon","size"])):e.createCommentVNode("",!0),e.renderSlot(r.$slots,"default")]),_:3},8,["class","href","type","disabled","data-tip"]))}}),Oe=["type","disabled"],Ie=e.defineComponent({__name:"btn-badge",props:ne,emits:le,setup(t,{emit:o}){const n=t,a=o;return(r,s)=>(e.openBlock(),e.createElementBlock("button",{class:e.normalizeClass(["badge gap-1",e.unref(re)[n.size],e.unref(Ae)[n.color]]),type:n.type,disabled:n.disabled,onClick:s[0]||(s[0]=c=>a("click"))},[e.renderSlot(r.$slots,"default"),n.icon?(e.openBlock(),e.createBlock(e.unref(V),{key:0,icon:n.icon,size:n.size},null,8,["icon","size"])):e.createCommentVNode("",!0)],10,Oe))}}),se=e.defineComponent({__name:"confirmModal",props:{title:{},message:{},confirmLabel:{default:"Ok"},cancelLabel:{default:"Cancel"}},emits:["closeModal"],setup(t,{emit:o}){const n=o,a=r=>{n("closeModal",{confirmed:r})};return(r,s)=>(e.openBlock(),e.createBlock(ee,{"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(C),{color:e.unref(w).secondary,outline:!0,onClick:s[0]||(s[0]=c=>a(!1))},{default:e.withCtx(()=>[e.createTextVNode(e.toDisplayString(t.cancelLabel),1)]),_:1},8,["color"]),e.createVNode(e.unref(C),{onClick:s[1]||(s[1]=c=>a(!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,a=q.v4(),r=o;o.props.onClose=s=>{n(s),this.closeModal(a)},r.id=a,this.modals=[...this.modals,r],this.showModal.value=Date.now()}closeModal(o){this.modals=this.modals.filter(n=>n.id!==o),this.showModal.value=Date.now()}static showConfirm(o){this.getInstance().openModal({component:se,props:o})}static openModal(o){this.getInstance().openModal(o)}static getInstance(){return this.instance||(this.instance=new O),this.instance}static closeAll(){this.instance.closeAll()}closeAll(){this.modals=[],this.showModal.value=!1}}const ie=e.defineComponent({__name:"modalWrapper",setup(t){const o=O.getInstance(),n=e.computed(()=>o.showModal.value?o.modals:[]);return(a,r)=>(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,a)=>(e.openBlock(),e.createElementBlock("div",{role:"alert",class:e.normalizeClass(`alert ${o[t.type]} `)},[e.createElementVNode("span",null,e.toDisplayString(t.message),1)],2))}}),Fe=5e3;class I{constructor(){this.notifications=e.ref([]),this.addNotification=(o,n="info")=>{const a={id:q.v4(),duration:Fe,message:o,type:n};this.notifications.value.push(a),this.removeNotificationAfterDuration(a)},this.removeNotificationAfterDuration=o=>{setTimeout(()=>{this.removeNotification(o.id)},o.duration)},this.removeNotification=o=>{this.notifications.value=this.notifications.value.filter(n=>n.id!==o)}}static getInstance(){return this.instance||(this.instance=new I),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 Re={class:"toast toast-top toast-center z-[999]"},ue=e.defineComponent({__name:"notifications",setup(t){const o=I.getInstance();return(n,a)=>(e.openBlock(),e.createElementBlock("div",Re,[(e.openBlock(!0),e.createElementBlock(e.Fragment,null,e.renderList(e.unref(o).notifications.value,r=>(e.openBlock(),e.createBlock(ce,e.mergeProps({key:r.id},{ref_for:!0},r),null,16))),128))]))}}),qe={class:"flex h-screen flex-col"},je={class:"shrink-0"},Ke={class:"navbar bg-primary text-primary-content w-full z-100"},Ue={class:"navbar-start"},He={class:"navbar-center"},We=["href"],Ge={class:"navbar-end"},Xe={class:"drawer-content overflow-y-auto mb-2 mr-2 shadow-md"},Ze={class:"drawer-side h-full shadow-md"},Je={class:"flex-grow overflow-y-auto"},Qe={class:"bg-base-200 p-4"},Ye=e.defineComponent({__name:"shell.component",props:{title:{},menu:{},user:{},version:{},widthSidebar:{default:300}},emits:["logout"],setup(t,{emit:o}){const a=t,r=e.ref(!1),s=()=>{r.value=!r.value},c=o,u=e.computed(()=>a.user?{label:a.user.name,items:[{label:"Logout",action:()=>{c("logout")}}]}:null);return(d,i)=>(e.openBlock(),e.createElementBlock(e.Fragment,null,[e.createVNode(ue),e.createVNode(e.unref(ie)),e.createElementVNode("div",qe,[e.createElementVNode("header",je,[e.createElementVNode("nav",Ke,[e.createElementVNode("div",Ue,[e.createElementVNode("button",{"aria-label":"open sidebar",class:"btn btn-square btn-ghost p-1",onClick:s},[e.createVNode(e.unref(V),{icon:e.unref(y).Hamburger},null,8,["icon"])])]),e.createElementVNode("div",He,[e.createElementVNode("a",{class:"btn btn-ghost text-primary-content text-lg color-white",href:e.unref("/")},e.toDisplayString(t.title),9,We)]),e.createElementVNode("div",Ge,[u.value?(e.openBlock(),e.createBlock(e.unref(T),e.mergeProps({key:0},u.value,{"btn-class":""}),null,16)):e.createCommentVNode("",!0)])])]),e.createElementVNode("div",{class:e.normalizeClass(["drawer flex-1 overflow-hidden",{"drawer-open":r.value}])},[e.withDirectives(e.createElementVNode("input",{id:"app-drawer","onUpdate:modelValue":i[0]||(i[0]=l=>r.value=l),type:"checkbox",class:"drawer-toggle"},null,512),[[e.vModelCheckbox,r.value]]),e.createElementVNode("main",Xe,[e.renderSlot(d.$slots,"default")]),e.createElementVNode("div",Ze,[i[1]||(i[1]=e.createElementVNode("label",{for:"app-drawer","aria-label":"close sidebar",class:"drawer-overlay"},null,-1)),e.createElementVNode("div",{class:"menu bg-base-100 h-full flex flex-col justify-between",style:e.normalizeStyle({width:t.widthSidebar+"px"})},[e.createElementVNode("ul",Je,[(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(ye.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",Qe," version: "+e.toDisplayString(t.version),1)],4)])],2)])],64))}}),et={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}},tt=["updatePage","updatePageSize"],L=e.defineComponent({__name:"pagination-button.component",props:et,emits:tt,setup(t,{emit:o}){const n=t,a=o,r=e.computed(()=>n.neverActive?!1:n.page===n.currentPage),s=e.computed(()=>n.neverActive?w.blank:r.value?w.primary:w.secondary),c=()=>{a("updatePage",n.page)};return(u,d)=>(e.openBlock(),e.createBlock(e.unref(C),{disabled:u.disabled,square:!0,size:"xs",color:s.value,onClick:d[0]||(d[0]=i=>c())},{default:e.withCtx(()=>[e.createTextVNode(e.toDisplayString(u.label),1)]),_:1},8,["disabled","color"]))}}),ot={totalItems:{type:Number,default:0},itemsPerPage:{type:Number,default:1},currentPage:{type:Number,default:1}},nt=["updatePage","updatePageSize"],lt={class:"flex gap-2"},at={class:"flex flex-1 justify-center items-center"},rt={class:"flex gap-1"},st={class:"text-sm"},P=6,de=e.defineComponent({__name:"pagination.component",props:ot,emits:nt,setup(t,{emit:o}){const n=t,a=o,r=e.computed(()=>{let l=Math.ceil(n.totalItems/n.itemsPerPage);return l<1?1:l}),s=P/2,c=e.computed(()=>{if(r.value<=P)return{min:1,max:r.value};let l=n.currentPage-s;l<=1?l=1:l+P>r.value&&(l=r.value-P);let p=l+P;return{min:l,max:p}}),u=l=>({label:"...",currentPage:l,page:-10,disabled:!0,neverActive:!0}),d=e.computed(()=>{let l=r.value;l<1&&(l=1);const p=n.currentPage,m=[],{min:f,max:k}=c.value;return Array.from({length:l},(_,v)=>{const g=v+1;g!==1&&g!==l&&(g>k||g<f)||(g===l&&l>1&&k<l&&m.push(u(p)),m.push({label:`${g}`,totalPages:l,currentPage:p,page:g}),g===1&&l>1&&f>1&&m.push(u(p)))}),m}),i=l=>{a("updatePage",l)};return(l,p)=>(e.openBlock(),e.createElementBlock("div",lt,[e.createElementVNode("div",at,[e.createElementVNode("div",rt,[e.createVNode(L,e.mergeProps(n,{page:1,label:"<<","current-page":l.currentPage,"never-active":!0,disabled:l.currentPage===1,onUpdatePage:i}),null,16,["current-page","disabled"]),e.createVNode(L,e.mergeProps(n,{page:l.currentPage-1,label:"<","current-page":l.currentPage,"never-active":!0,disabled:l.currentPage===1,onUpdatePage:i}),null,16,["page","current-page","disabled"]),(e.openBlock(!0),e.createElementBlock(e.Fragment,null,e.renderList(d.value,m=>(e.openBlock(),e.createBlock(L,e.mergeProps({key:m.page,ref_for:!0},m,{onUpdatePage:i}),null,16))),128)),e.createVNode(L,e.mergeProps(n,{page:l.currentPage+1,label:">","current-page":l.currentPage,"never-active":!0,disabled:n.currentPage===r.value,onUpdatePage:i}),null,16,["page","current-page","disabled"]),e.createVNode(L,e.mergeProps(n,{page:r.value,label:">>","current-page":l.currentPage,"never-active":!0,disabled:n.currentPage===r.value,onUpdatePage:i}),null,16,["page","current-page","disabled"])])]),e.createElementVNode("div",st," page "+e.toDisplayString(l.currentPage)+" of "+e.toDisplayString(r.value),1)]))}}),it={data:{type:Object,required:!0},column:{type:Object,required:!0},options:{type:Object}},ct=e.defineComponent({__name:"text.cell",props:it,setup(t){const o=t,n=e.computed(()=>{const a=o.data[o.column.id];return a?o.column.options?.format==="keyValue"?a[o.column.options.key]:a:null});return(a,r)=>e.toDisplayString(n.value)}}),ut={column:{type:Object,required:!0},sortColumn:{type:String},sortDirection:{type:String}},dt=["sort"],pt={class:"flex-grow pr-2"},mt={class:"h-4 w-4"},ft=e.defineComponent({__name:"sort.header",props:ut,emits:dt,setup(t,{emit:o}){const n=t,a=o,r=e.computed(()=>n.sortDirection==="asc"?y.BarsArrowUp:y.BarsArrowDown),s=e.computed(()=>n.column.options?.sortId??n.column.id),c=()=>{a("sort",s.value)};return(u,d)=>(e.openBlock(),e.createElementBlock("button",{class:"flex items-center",onClick:c},[e.createElementVNode("span",pt,e.toDisplayString(u.column.label),1),e.createElementVNode("div",mt,[u.sortColumn===s.value?(e.openBlock(),e.createBlock(e.unref(V),{key:0,icon:r.value},null,8,["icon"])):e.createCommentVNode("",!0)])]))}}),gt={loading:{type:Boolean,default:!1},actions:{type:Array},data:{type:Array},displayColumns:{type:Array,required:!0},page:{type:Object},sort:{type:Object}},bt=["updatePage","sort"],vt={class:"table w-full"},ht={key:0},kt=["colspan"],yt=["ui-id"],Bt={class:"flex gap-2"},pe=e.defineComponent({__name:"table.component",props:gt,emits:bt,setup(t,{emit:o}){const n=o,a=e.useAttrs(),r=e.computed(()=>"onEdit"in a),s=e.computed(()=>"onDelete"in a),c=l=>{a.onEdit?.(l)},u=l=>{a.onDelete?.(l)},d=l=>{n("updatePage",l)},i=l=>{n("sort",l)};return(l,p)=>(e.openBlock(),e.createElementBlock(e.Fragment,null,[e.createElementVNode("table",vt,[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(ft,e.mergeProps({column:m},{ref_for:!0},l.sort,{onSort:i}),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",ht,[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,kt)])):e.createCommentVNode("",!0),(e.openBlock(!0),e.createElementBlock(e.Fragment,null,e.renderList(l.data,m=>(e.openBlock(),e.createElementBlock("tr",{key:m.id,"ui-id":`table_${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",Bt,[(e.openBlock(!0),e.createElementBlock(e.Fragment,null,e.renderList(l.actions,f=>(e.openBlock(),e.createBlock(C,{"area-label":f.label,key:f.label,icon:f.icon,outline:!0,onClick:k=>f.action(m)},{default:e.withCtx(()=>[e.createTextVNode(e.toDisplayString(f.label),1)]),_:2},1032,["area-label","icon","onClick"]))),128)),r.value?(e.openBlock(),e.createBlock(C,{key:0,"area-label":"Edit",icon:e.unref(y).Edit,outline:!0,onClick:f=>c(m)},null,8,["icon","onClick"])):e.createCommentVNode("",!0),s.value?(e.openBlock(),e.createBlock(C,{key:1,"area-label":"Delete",icon:e.unref(y).Delete,outline:!0,onClick:f=>u(m)},null,8,["icon","onClick"])):e.createCommentVNode("",!0)])])],8,yt))),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:d},null,8,["total-items","items-per-page","current-page"])):e.createCommentVNode("",!0)],64))}}),Ct=(t,o)=>{const n=t.__vccOpts||t;for(const[a,r]of o)n[a]=r;return n},wt={},Vt={class:"card bg-base-100 shadow-sm"},Et={class:"card-body"},Nt={key:0,class:"card-title"},xt={key:1,class:"card-actions justify-end"};function _t(t,o){return e.openBlock(),e.createElementBlock("div",Vt,[e.createElementVNode("div",Et,[t.$slots.title?(e.openBlock(),e.createElementBlock("h2",Nt,[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",xt,[e.renderSlot(t.$slots,"actions")])):e.createCommentVNode("",!0)])])}const $t=Ct(wt,[["render",_t]]),St=(t,o)=>{if(!t)return null;const n=a=>{t.contains(a.target)||o()};return document.addEventListener("click",n),n},Lt=t=>{document.removeEventListener("click",t)},Pt={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 Mt(t){return t.replace(/[:\s_-]+(.)/g,(o,n)=>n.toUpperCase()).replace(/^[A-Z]/,o=>o.toLowerCase())}function Dt(t){const o=e.getCurrentInstance();if(!o)return!1;const n=o.vnode.props;if(!n)return!1;const a=Mt(t),r=e.camelize(t);return[e.toHandlerKey(t),e.toHandlerKey(r),e.toHandlerKey(a),`on:${t}`,`on:${r}`,`on:${a}`].some(c=>!!n[c])}const zt=["select"],K={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"}},D=t=>{if(!t)return{...M};const o={...M};for(const n of Object.keys(t)){const a=t[n];a&&typeof a=="object"&&(o[n]={...M[n],...a})}return o},N={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"}},U={...N,options:{type:Array,required:!0},labelKey:{type:String,default:"label"},valueKey:{type:String,default:"value"},enableCreate:{type:Boolean,default:!1}},Tt=["select","clear","close","create"],me={...K,...U,isOpen:{type:Boolean,default:!1},isActive:{type:Function,default:t=>!1}},At={key:1,tabindex:"-1",class:"pointer-events-none"},Ot=["data-index","aria-selected","onMousedown","onMousemove"],It=["innerHTML"],Ft={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 Rt(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 qt=e.defineComponent({__name:"ListResults",props:K,emits:zt,setup(t,{expose:o,emit:n}){const a=t,r=e.ref(-1),s=e.ref(),c=n;e.watch(()=>a.options,()=>{r.value=-1});function u(){e.nextTick(()=>{s.value?.querySelector(`[data-index="${r.value}"]`)?.scrollIntoView({block:"nearest"})})}function d(l){const p=a.options?.length??0;if(p)switch(l.key){case"ArrowDown":l.preventDefault(),r.value=(r.value+1)%p,u();break;case"ArrowUp":l.preventDefault(),r.value=r.value<=0?p-1:r.value-1,u();break;case"Enter":l.preventDefault(),r.value>=0&&r.value<p&&i(a.options[r.value]);break}}function i(l){r.value=-1,c("select",l)}return o({handleKeydown:d}),(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",At,[...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===r.value,onMousedown:e.withModifiers(k=>i(m),["prevent"]),onMousemove:k=>r.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===r.value,"hover:bg-base-200":f!==r.value}])},[e.createElementVNode("span",{class:"whitespace-nowrap",innerHTML:Rt(m.label,l.query)},null,8,It),l.isActive(m)?(e.openBlock(),e.createElementBlock("svg",Ft,[...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,Ot))),128))],512))}}),H=({isTouched:t,errors:o})=>!!(t&&o),fe=(t,o,n,a)=>o===void 0||o!==void 0&&!t||!a&&!n,E=(t,o)=>[t,{"input-error":H(o)}],jt={key:0},x=e.defineComponent({__name:"ControlWrapper",props:N,setup(t){const o=t,n=e.computed(()=>!fe(o.visible,o.description,o.isFocused,!0)),a=e.computed(()=>o.required),r=e.computed(()=>H(o)),s=e.computed(()=>D(o.styles));return(c,u)=>(e.openBlock(),e.createElementBlock("fieldset",{class:e.normalizeClass(["fieldset",[c.width,s.value.control.wrapper]])},[e.createElementVNode("legend",{class:e.normalizeClass(s.value.control.label)},[c.hideLabel?e.createCommentVNode("",!0):(e.openBlock(),e.createElementBlock(e.Fragment,{key:0},[e.createElementVNode("span",null,e.toDisplayString(c.label),1),a.value?(e.openBlock(),e.createElementBlock("span",jt,"*")):e.createCommentVNode("",!0)],64)),u[0]||(u[0]=e.createTextVNode(" ",-1))],2),e.renderSlot(c.$slots,"default"),e.createElementVNode("p",{class:e.normalizeClass(["fieldset-label h-4",{"text-error":r.value}])},e.toDisplayString(r.value?c.errors:n.value?c.description:null),3)],2))}}),Kt={class:"flex items-center w-full"},Ut={class:"overflow-hidden w-full"},Ht={class:"absolute inset-y-0 right-0 flex items-center pr-3 gap-1 pointer-events-none"},Wt={key:0,class:"loading loading-spinner loading-xs text-primary pointer-events-none"},W=e.defineComponent({__name:"SelectWrapper",props:me,emits:Tt,setup(t,{emit:o}){const n=t,a=e.ref(),r=e.ref(),s=o,c=()=>{u(),s("clear")},u=()=>{s("close")},d=l=>{if(l.key==="Escape"){u();return}r.value?.handleKeydown(l)},i=l=>{a.value&&!a.value.contains(l.target)&&u()};return e.onMounted(()=>{document.addEventListener("click",i)}),e.onUnmounted(()=>{document.removeEventListener("click",i)}),(l,p)=>(e.openBlock(),e.createElementBlock("div",{ref_key:"selectWrapperRef",ref:a},[e.createVNode(x,e.normalizeProps(e.guardReactiveProps(n)),{default:e.withCtx(()=>[e.createElementVNode("div",Kt,[e.createElementVNode("div",{class:"relative w-full",onKeydown:d},[e.createElementVNode("div",Ut,[e.renderSlot(l.$slots,"default")]),e.createElementVNode("div",Ht,[l.isLoading&&!l.label?(e.openBlock(),e.createElementBlock("span",Wt)):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(c,["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(qt,{key:0,ref_key:"listResultsRef",ref:r,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(C,{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))}}),R=(t,o)=>{if(t)return typeof t=="object"?t[o.labelKey]:t},F=(t,o)=>{if(t)return typeof t=="object"?t[o.valueKey]:t},Gt=t=>{const o=e.ref([]),n=new Map,a=new Map,r=l=>{const p=[];n.clear(),a.clear(),l?.forEach(m=>{const f={value:F(m,t),label:R(m,t)};n.set(f.value,m),p.push(f)}),o.value=p},s=l=>n.get(l.value);return{options:o,setOptions:r,getOriginal:s,getLabels:(...l)=>l.map(p=>R(p,t)),getValues:(...l)=>l.map(p=>F(p,t)),getOption:l=>a.get(F(l,t)),getOriginals:(...l)=>l.map(s).filter(Boolean)}},G=t=>Gt(t),Xt=["aria-label"],Zt=e.defineComponent({__name:"SelectComponent",props:e.mergeModels(U,{modelValue:{},modelModifiers:{}}),emits:e.mergeModels(["update:modelValue","change","clear","focus","blur"],["update:modelValue"]),setup(t,{emit:o}){const n=e.ref(!1),a=t,r=o,s=e.useModel(t,"modelValue"),c=G(a),{options:u}=c;e.watch(()=>a.options,()=>{c.setOptions(a.options)},{immediate:!0});const d=v=>{r("change",v)},i=e.computed(()=>s.value?c.getLabels(s.value)[0]:""),l=e.computed(()=>D(a.styles)),p=e.computed(()=>E(l.value.control.select,a)),m=v=>{const g=c.getOriginal(v);s.value=g,d(g)},f=()=>{n.value=!1,s.value=null,d(void 0)},k=v=>c.getValues(s.value)?.[0]===v.value,_=()=>{n.value=!1};return(v,g)=>(e.openBlock(),e.createBlock(W,e.mergeProps(a,{options:e.unref(u),disabled:!v.enabled,"is-open":n.value,query:i.value,"is-active":k,onClose:_,onSelect:m,onClear:f}),{default:e.withCtx(()=>[e.createElementVNode("button",{type:"button",class:e.normalizeClass(["truncate block text-left",[p.value,v.width]]),onClick:g[0]||(g[0]=B=>n.value=!0),"aria-label":v.id,role:"combobox"},e.toDisplayString(i.value??"Select value"),11,Xt)]),_:1},16,["options","disabled","is-open","query"]))}}),Jt={...U,...K,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 Qt(t){const o=e.ref([]),n=e.ref(!1);function a(s){if(!t.options){o.value=[];return}const c=s.toLowerCase(),u=c?t.options.filter(d=>R(d,t).toLowerCase().includes(c)):t.options;o.value=u.slice(0,t.maxResults)}function r(){o.value=[]}return{results:o,isLoading:n,search:a,clear:r}}function Yt(t){const o=e.ref([]),n=e.ref(!1);let a=null,r=null;async function s(d){r&&r.abort(),r=new AbortController,n.value=!0;try{const i=await t.fetchOptions(d,r.signal);o.value=(i||[]).slice(0,t.maxResults)}catch(i){i.name!=="AbortError"&&(o.value=[])}finally{n.value=!1}}function c(d){a&&clearTimeout(a),n.value=!0,a=setTimeout(()=>{s(d)},t.debounceMs)}function u(){a&&clearTimeout(a),r&&r.abort(),o.value=[],n.value=!1}return{results:o,isLoading:n,search:c,clear:u}}function eo(t){const o=t.fetchOptions?Yt(t):Qt(t);function n(a){o.search(a)}return{results:o.results,isLoading:o.isLoading,triggerSearch:n,clear:o.clear}}const to=["aria-label","aria-expanded","value","placeholder","disabled"],oo=e.defineComponent({__name:"AutoComplete",props:Jt,emits:["update:modelValue","change","clear","focus","blur"],setup(t,{emit:o}){const n=t,a=o,r=e.ref(null),s=e.ref(""),c=e.ref(!1),u=eo(n),{isLoading:d,triggerSearch:i,clear:l}=u,p=G(n),{options:m}=p;e.watch(()=>u.results.value,()=>{p.setOptions(u.results.value)},{immediate:!0}),e.watch(()=>n.modelValue,h=>{if(h==null||h===""){s.value="";return}const S=typeof h=="object"?h[n.labelKey]:h;S!==s.value&&(s.value=S)},{immediate:!0});const f=h=>{s.value=h.target.value,n.freeText?a("update:modelValue",s.value):a("update:modelValue",""),i(s.value),c.value=!0},k=()=>{i(s.value),c.value=!0};function _(){setTimeout(()=>{c.value=!1,n.freeText?a("change",s.value):n.modelValue||(s.value="")},150)}const v=h=>{const S=p.getOriginal(h);s.value=h.label,c.value=!1,a("update:modelValue",S),a("change",S)},g=()=>{s.value="",l(),c.value=!1,a("update:modelValue",""),a("clear"),e.nextTick(()=>r.value?.focus())},B=()=>{c.value=!1},$=e.computed(()=>D(n.styles)),ke=e.computed(()=>E($.value.control.select,n));return(h,S)=>(e.openBlock(),e.createBlock(W,e.mergeProps(n,{options:e.unref(m),"is-loading":e.unref(d),"is-open":c.value,query:s.value,onClose:B,onSelect:v,onClear:g}),{default:e.withCtx(()=>[e.createElementVNode("input",{ref_key:"inputRef",ref:r,type:"text",role:"combobox","aria-label":h.id,"aria-expanded":c.value,"aria-autocomplete":"list","aria-haspopup":"listbox",autocomplete:"off",autocorrect:"off",spellcheck:"false",class:e.normalizeClass([ke.value,"w-full"]),value:s.value,placeholder:h.placeholder,disabled:!h.enabled,onInput:f,onFocus:k,onBlur:_},null,42,to)]),_:1},16,["options","is-loading","is-open","query"]))}}),no=["aria-label"],lo=e.defineComponent({__name:"MultiSelect",props:e.mergeModels(me,{modelValue:{},modelModifiers:{}}),emits:e.mergeModels(["update:modelValue","change","clear","focus","blur"],["update:modelValue"]),setup(t,{emit:o}){const n=e.ref(!1),a=t,r=o,s=e.useModel(t,"modelValue"),c=g=>{r("change",g)},u=G(a),{options:d}=u;e.watch(()=>a.options,()=>{u.setOptions(a.options)},{immediate:!0});const i=e.computed(()=>s.value?u.getLabels(...s.value).join(", "):void 0),l=e.computed(()=>u.getValues(...s.value??[])),p=g=>{let B=s.value??[];if(k(g))B=B.filter($=>u.getOption($)!==g.value);else{const $=u.getOriginal(g);B.push($)}s.value=B,c(B)},m=()=>{n.value=!1,s.value=[],c([])},f=()=>{n.value=!1},k=g=>l.value?.includes(g.value)??!1,_=e.computed(()=>D(a.styles)),v=e.computed(()=>E(_.value.control.select,a));return(g,B)=>(e.openBlock(),e.createBlock(W,e.mergeProps(a,{options:e.unref(d),"is-open":n.value,disabled:!g.enabled,query:i.value,"is-active":k,onClose:f,onSelect:p,onClear:m}),{default:e.withCtx(()=>[e.createElementVNode("button",{type:"button",class:e.normalizeClass(["truncate block text-left",[v.value,g.width]]),onClick:B[0]||(B[0]=$=>n.value=!0),"aria-label":g.id,role:"combobox"},e.toDisplayString(i.value??"Select value"),11,no)]),_:1},16,["options","is-open","disabled","query"]))}}),ao=["change"],ro={...N,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()}]}},so=["aria-label"],io={class:"flex items-center gap-1 px-3 py-2 border-b border-base-300 bg-base-200"},co=["title","onClick"],uo=["innerHTML"],po={class:"card-body p-3"},mo=e.defineComponent({__name:"Markdown",props:e.mergeModels(ro,{modelValue:{},modelModifiers:{}}),emits:e.mergeModels(ao,["update:modelValue"]),setup(t,{emit:o}){const n=t,a=o,r=e.useModel(t,"modelValue"),s=X.useEditor({content:r.value??"",extensions:[Be.configure({heading:!1,blockquote:!1,bulletList:!1,orderedList:!1,listItem:!1,code:!1,codeBlock:!1,horizontalRule:!1,hardBreak:!1}),Ce.Markdown.configure({html:!1,transformPastedText:!0})],onUpdate({editor:c}){a("change",c.storage.markdown.getMarkdown())}});return e.onBeforeUnmount(()=>{s.value?.destroy()}),(c,u)=>(e.openBlock(),e.createBlock(x,e.normalizeProps(e.guardReactiveProps(n)),{default:e.withCtx(()=>[e.createElementVNode("div",{class:e.normalizeClass([[c.minHeight],"card bg-base-100 border border-base-300 w-full"]),"aria-label":c.id,role:"textbox"},[e.createElementVNode("div",io,[(e.openBlock(!0),e.createElementBlock(e.Fragment,null,e.renderList(c.actions,d=>(e.openBlock(),e.createElementBlock("button",{key:d.name,tabindex:"-1",type:"button",class:e.normalizeClass(["btn btn-sm btn-ghost",{"btn-active":e.unref(s)?.isActive(d.name)}]),title:d.label,onClick:i=>d.action(e.unref(s))},[e.createElementVNode("span",{innerHTML:d.label},null,8,uo)],10,co))),128))]),e.createElementVNode("div",po,[e.createVNode(e.unref(X.EditorContent),{editor:e.unref(s),class:"prose prose-sm max-w-none h-full"},null,8,["editor"])])],10,so)]),_:1},16))}}),fo={...N},go=["change","focus","blur"],bo={class:"flex items-center justify-center h-full"},vo={class:"fieldset-label"},ho=["aria-label","disabled"],ko={class:"font-bold text-gray-500 text-sm"},yo=e.defineComponent({__name:"Checkbox",props:e.mergeModels(fo,{modelValue:{},modelModifiers:{}}),emits:e.mergeModels(go,["update:modelValue"]),setup(t,{emit:o}){const n=t,a=o,r=e.useModel(t,"modelValue"),s=i=>{a("change",i)},c=i=>{a("focus",i)},u=i=>{a("blur",i)},d=e.computed(()=>E(n.styles.control.checkbox,n));return(i,l)=>(e.openBlock(),e.createElementBlock("div",bo,[e.createVNode(x,e.mergeProps(n,{"hide-label":!0}),{default:e.withCtx(()=>[e.createElementVNode("label",vo,[e.withDirectives(e.createElementVNode("input",{"onUpdate:modelValue":l[0]||(l[0]=p=>r.value=p),"aria-label":i.id,role:"checkbox",type:"checkbox",class:e.normalizeClass(d.value),disabled:!i.enabled,onChange:s,onFocus:c,onBlur:u},null,42,ho),[[e.vModelCheckbox,r.value]]),e.createElementVNode("span",ko,e.toDisplayString(i.label),1)])]),_:1},16)]))}}),Bo={...N,type:{type:String,default:"text"}},Co=["change","focus","blur"],wo=["aria-label","type","disabled","autofocus","placeholder"],Vo=e.defineComponent({__name:"Input",props:e.mergeModels(Bo,{modelValue:{},modelModifiers:{}}),emits:e.mergeModels(Co,["update:modelValue"]),setup(t,{emit:o}){const n=t,a=o,r=e.useModel(t,"modelValue"),s=i=>{a("change",i)},c=i=>{a("focus",i)},u=i=>{a("blur",i)},d=e.computed(()=>E(n.styles.control.input,n));return(i,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=>r.value=p),"aria-label":i.id,autocomplete:"off",type:i.type,class:e.normalizeClass(["w-full",d.value]),disabled:!i.enabled,autofocus:i.isFocused,placeholder:i.placeholder,onChange:s,onFocus:c,onBlur:u},null,42,wo),[[e.vModelDynamic,r.value]])]),_:1},16))}}),Eo={...N,steps:{type:Number,default:1}},No=["change","focus","blur"],xo=["aria-label","disabled","step","autofocus","placeholder"],_o=e.defineComponent({__name:"InputNumber",props:e.mergeModels(Eo,{modelValue:{},modelModifiers:{}}),emits:e.mergeModels(No,["update:modelValue"]),setup(t,{emit:o}){const n=t,a=o,r=e.useModel(t,"modelValue"),s=i=>{a("change",i)},c=i=>{a("focus",i)},u=i=>{a("blur",i)},d=e.computed(()=>E(n.styles.control.input,n));return(i,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=>r.value=p),autocomplete:"off","aria-label":i.id,type:"number",class:e.normalizeClass(["w-full",[d.value]]),disabled:!i.enabled,step:i.steps,autofocus:i.isFocused,placeholder:i.placeholder,onChange:s,onFocus:c,onBlur:u},null,42,xo),[[e.vModelText,r.value]])]),_:1},16))}}),$o={...N,rows:{type:Number,default:4}},So=["change","focus","blur"],Lo=["aria-label","disabled","rows","autofocus","placeholder"],Po=e.defineComponent({__name:"Textarea",props:e.mergeModels($o,{modelValue:{},modelModifiers:{}}),emits:e.mergeModels(So,["update:modelValue"]),setup(t,{emit:o}){const n=t,a=o,r=e.useModel(t,"modelValue"),s=i=>{a("change",i)},c=i=>{a("focus",i)},u=i=>{a("blur",i)},d=e.computed(()=>E(n.styles.control.textarea,n));return(i,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=>r.value=p),autocomplete:"off",type:"text","aria-label":i.id,class:e.normalizeClass(["w-full",d.value]),disabled:!i.enabled,rows:i.rows,autofocus:i.isFocused,placeholder:i.placeholder,onChange:s,onFocus:c,onBlur:u},null,42,Lo),[[e.vModelText,r.value]])]),_:1},16))}}),Mo={widthLeft:{type:Number,default:200},widthRight:{type:Number,default:200},initialLeftOpen:{type:Boolean,default:!0},initialRightOpen:{type:Boolean,default:!0}},Do={class:"flex h-full overflow-hidden gap-2"},zo={key:0,id:"drawer-left",class:"min-h-0 relative flex-shrink-0 bg-white overflow-visible flex"},To={class:"flex-1 overflow-y-auto bg-white"},Ao={key:1,class:"min-h-0 relative flex-shrink-0 bg-white overflow-visible flex"},Oo=e.defineComponent({__name:"drawer",props:Mo,setup(t){const o=t,n=e.useSlots(),a=e.computed(()=>!!n["left-drawer"]),r=e.computed(()=>!!n["right-drawer"]),s=e.ref({left:o.initialLeftOpen,right:o.initialRightOpen}),c=u=>{s.value[u]=!s.value[u]};return(u,d)=>(e.openBlock(),e.createElementBlock("main",Do,[a.value?(e.openBlock(),e.createElementBlock("aside",zo,[e.createElementVNode("div",{style:e.normalizeStyle({width:s.value.left?u.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:u.widthLeft+"px"}),class:"h-full overflow-y-auto p-4"},[e.renderSlot(u.$slots,"left-drawer")],4)],4),e.createElementVNode("button",{class:"hover:bg-base-300 hover:text-base-content transition-colors cursor-pointer",onClick:d[0]||(d[0]=i=>c("left"))},[e.createVNode(e.unref(V),{size:"lg",icon:s.value.left?e.unref(y).ChevronLeft:e.unref(y).ChevronRight},null,8,["icon"])])])):e.createCommentVNode("",!0),e.createElementVNode("div",To,[e.renderSlot(u.$slots,"default")]),r.value?(e.openBlock(),e.createElementBlock("aside",Ao,[e.createElementVNode("button",{class:"hover:bg-base-300 hover:text-base-content transition-colors cursor-pointer",onClick:d[1]||(d[1]=i=>c("right"))},[e.createVNode(e.unref(V),{size:"lg",icon:s.value.right?e.unref(y).ChevronRight:e.unref(y).ChevronLeft},null,8,["icon"])]),e.createElementVNode("div",{style:e.normalizeStyle({width:s.value.right?u.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:u.widthRight+"px"}),class:"h-full overflow-y-auto p-4"},[e.renderSlot(u.$slots,"right-drawer")],4)],4)])):e.createCommentVNode("",!0)]))}}),Io={class:"ml-1"},Fo={class:"truncate flex-1 min-w-0 text-left"},Ro={key:0,class:"badge badge-ghost badge-sm flex-shrink-0"},qo=e.defineComponent({__name:"TreeItem",props:{active:{},node:{},expanded:{},isExpanded:{type:Function}},emits:["toggle","select"],setup(t,{emit:o}){const n=t,a=o,r=e.computed(()=>n.active===n.node.id);return(s,c)=>{const u=e.resolveComponent("TreeItem",!0);return e.openBlock(),e.createElementBlock("li",Io,[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`,r.value?"text-primary":""])},[(t.node?.children?.length??0)>0?(e.openBlock(),e.createElementBlock("span",{key:0,class:"flex items-center justify-center",onClick:c[0]||(c[0]=d=>a("toggle",t.node))},[t.node.children&&t.isExpanded(t.node.id)?(e.openBlock(),e.createBlock(e.unref(Z.ChevronDownIcon),{key:0,class:"w-3 h-3"})):(e.openBlock(),e.createBlock(e.unref(Z.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:c[1]||(c[1]=d=>a("select",t.node))},[e.createElementVNode("div",Fo,e.toDisplayString(t.node.label),1),t.node.tag?(e.openBlock(),e.createElementBlock("div",Ro,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":!r.value,"border-primary":r.value}])},[(e.openBlock(!0),e.createElementBlock(e.Fragment,null,e.renderList(t.node.children,d=>(e.openBlock(),e.createBlock(u,{key:d.id,node:d,expanded:t.expanded,active:t.active,"is-expanded":t.isExpanded,onToggle:c[2]||(c[2]=i=>a("toggle",i)),onSelect:c[3]||(c[3]=i=>a("select",i))},null,8,["node","expanded","active","is-expanded"]))),128))],2)):e.createCommentVNode("",!0)])}}}),jo={class:"select-none text-sm"},Ko=e.defineComponent({__name:"TreeView",props:{data:{},active:{}},emits:["select"],setup(t,{emit:o}){const n=t,a=o,r=e.ref(new Set),s=d=>{const i=d.id;if(!d.children||d.children.length===0){a("select",d);return}r.value.has(i)?r.value.delete(i):r.value.add(i)},c=d=>{a("select",d),r.value.add(d.id)},u=d=>r.value.has(d);return(d,i)=>(e.openBlock(),e.createElementBlock("ul",jo,[(e.openBlock(!0),e.createElementBlock(e.Fragment,null,e.renderList(n.data,l=>(e.openBlock(),e.createBlock(qo,{key:l.id,node:l,expanded:r.value,active:t.active,"is-expanded":u,onToggle:s,onSelect:c},null,8,["node","expanded","active"]))),128))]))}}),Uo={key:0,class:"flex items-center justify-center h-20"},Ho=e.defineComponent({__name:"loading",props:{loading:{type:Boolean}},setup(t){return(o,n)=>t.loading?(e.openBlock(),e.createElementBlock("div",Uo,[...n[0]||(n[0]=[e.createElementVNode("span",{class:"loading loading-bars loading-md text-primary"},null,-1)])])):e.createCommentVNode("",!0)}}),Wo={title:{type:String,required:!0},opened:{type:Boolean,default:!0},heightFull:{type:Boolean,default:!1},disabled:{type:Boolean,default:!1},actions:{type:Array,default:()=>[]}},Go=["checked"],Xo={class:"collapse-title text-gray-500 text-xs font-medium"},Zo={class:"flex items-center justify-between"},Jo={key:0,class:"list bg-base-100"},ge=e.defineComponent({__name:"Collapse",props:Wo,setup(t){const o=e.useSlots(),n=t,a=e.ref(n.opened),r=e.ref(n.opened||n.disabled);return(s,c)=>(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":"",r.value?"overflow-visible":""])},[s.disabled?e.createCommentVNode("",!0):(e.openBlock(),e.createElementBlock("input",{key:0,type:"checkbox",checked:a.value,tabindex:"-1",onChange:c[0]||(c[0]=u=>r.value=u.target.checked)},null,40,Go)),e.createElementVNode("div",Xo,[e.createElementVNode("div",Zo,[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:c[1]||(c[1]=e.withModifiers(()=>{},["stop"]))},[(e.openBlock(!0),e.createElementBlock(e.Fragment,null,e.renderList(n.actions,(u,d)=>(e.openBlock(),e.createBlock(e.unref(C),{key:d,color:e.unref(w).blank,size:"xs",icon:u.icon,tooltip:u.tooltip,disabled:u.disabled,onClick:u.onClick},{default:e.withCtx(()=>[e.createTextVNode(e.toDisplayString(u.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",Jo,[e.renderSlot(s.$slots,"list")])):e.createCommentVNode("",!0)],2)],2))}}),Qo={title:{type:String},label:{type:String},labelLink:{type:String},description:{type:String},descriptionLink:{type:String}},Yo={class:"list-row"},en={class:"list-col-grow"},tn={key:0},on={key:1,class:"text-xs text-gray-600"},nn=["href"],ln={key:1},an={key:0,class:"text-xs text-gray-500"},rn=["href"],sn={key:1},cn=e.defineComponent({__name:"CollapseRow",props:Qo,setup(t){return(o,n)=>(e.openBlock(),e.createElementBlock("li",Yo,[e.createElementVNode("div",en,[o.title?(e.openBlock(),e.createElementBlock("div",tn,e.toDisplayString(o.title),1)):e.createCommentVNode("",!0),o.description||o.descriptionLink?(e.openBlock(),e.createElementBlock("div",on,[o.descriptionLink?(e.openBlock(),e.createElementBlock("a",{key:0,href:o.descriptionLink,target:"_blank"},e.toDisplayString(o.description??o.descriptionLink),9,nn)):(e.openBlock(),e.createElementBlock("span",ln,e.toDisplayString(o.description),1))])):e.createCommentVNode("",!0)]),o.label?(e.openBlock(),e.createElementBlock("div",an,[o.labelLink?(e.openBlock(),e.createElementBlock("a",{key:0,href:o.labelLink,target:"_blank"},e.toDisplayString(o.label),9,rn)):(e.openBlock(),e.createElementBlock("span",sn,e.toDisplayString(o.label),1))])):e.createCommentVNode("",!0),e.renderSlot(o.$slots,"default")]))}}),un={class:"text-gray-800"},dn=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,a)=>(e.openBlock(),e.createElementBlock("div",{role:"alert",class:e.normalizeClass(`alert alert-soft ${o[t.type]} `)},[e.createElementVNode("span",un,e.toDisplayString(t.message),1),e.renderSlot(n.$slots,"default")],2))}}),be={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}},ve=["update:modelValue"],he=(t,o,n,a)=>{const r=e.computed(()=>t.value.map(l=>l[n.value])),s=l=>o.value.includes(l),c=e.computed(()=>{const l=o.value.length;return l===0?"None":l===r.value.length?"All":`${l}`});return{isSelected:s,selectedLabel:c,selectAll:()=>a("update:modelValue",[...r.value]),selectNone:()=>a("update:modelValue",[]),toggleItem:(l,p)=>{p?a("update:modelValue",[...o.value,l]):a("update:modelValue",o.value.filter(m=>m!==l))}}},pn={class:"flex items-center justify-between mb-2"},mn={class:"text-xs text-base-content/50"},fn={class:"flex gap-1"},gn={class:"flex flex-col gap-1"},bn=["checked","onChange"],vn={class:"text-sm flex-1 select-none"},hn={key:1,class:"badge badge-sm badge-ghost"},kn=e.defineComponent({__name:"filter",props:be,emits:ve,setup(t,{emit:o}){const n=t,a=o,r=e.computed(()=>n.items??[]),{isSelected:s,selectedLabel:c,selectAll:u,selectNone:d,toggleItem:i}=he(r,e.toRef(n,"modelValue"),e.toRef(n,"valueKey"),a);return(l,p)=>(e.openBlock(),e.createBlock(e.unref(ge),{title:l.title,opened:l.opened},{default:e.withCtx(()=>[e.createElementVNode("div",pn,[e.createElementVNode("span",mn,e.toDisplayString(e.unref(c))+" of "+e.toDisplayString(r.value.length)+" items ",1),e.createElementVNode("div",fn,[e.createElementVNode("button",{class:"btn btn-ghost btn-xs",type:"button",tabindex:"-1",onClick:p[0]||(p[0]=(...m)=>e.unref(u)&&e.unref(u)(...m))}," All "),e.createElementVNode("button",{class:"btn btn-ghost btn-xs",type:"button",tabindex:"-1",onClick:p[1]||(p[1]=(...m)=>e.unref(d)&&e.unref(d)(...m))}," None ")])]),e.createElementVNode("div",gn,[(e.openBlock(!0),e.createElementBlock(e.Fragment,null,e.renderList(r.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(i)(m[l.valueKey],f.target.checked)},null,40,bn),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",vn,e.toDisplayString(m[l.labelKey]),1),m[l.countKey]>0?(e.openBlock(),e.createElementBlock("span",hn,e.toDisplayString(m[l.countKey]),1)):e.createCommentVNode("",!0)],2))),128))])]),_:1},8,["title","opened"]))}});exports.Alert=dn;exports.Autocomplete=oo;exports.BadgeSize=re;exports.Btn=C;exports.BtnBadge=Ie;exports.BtnBadgeEmits=le;exports.BtnBadgeProperties=ne;exports.BtnEmits=oe;exports.BtnProperties=te;exports.ButtonSize=ae;exports.ButtonTag=j;exports.ButtonType=A;exports.Card=$t;exports.Checkbox=yo;exports.ClickOutside=Pt;exports.Collapse=ge;exports.CollapseRow=cn;exports.Color=w;exports.ConfirmModal=se;exports.ControlWrapper=x;exports.Drawer=Oo;exports.Dropdown=Pe;exports.Filter=kn;exports.FilterEmits=ve;exports.FilterProperties=be;exports.Icon=V;exports.IconEnum=y;exports.IconMap=J;exports.IconProperties=Q;exports.Input=Vo;exports.InputNumber=_o;exports.Loading=Ho;exports.Markdown=mo;exports.Menu=Le;exports.Modal=ee;exports.ModalService=O;exports.ModalWrapper=ie;exports.MultiSelect=lo;exports.NotificationMessage=ce;exports.NotificationService=I;exports.Notifications=ue;exports.PaginationComponent=de;exports.SelectComponent=Zt;exports.ShellComponent=Ye;exports.SubMenu=T;exports.Table=pe;exports.TableComponent=pe;exports.TextCell=ct;exports.Textarea=Po;exports.TreeView=Ko;exports.addClickOutsideEventListener=St;exports.buildInputStyle=E;exports.hasCustomEventListener=Dt;exports.isDescriptionHidden=fe;exports.mergeStyles=D;exports.myStyles=M;exports.removeClickOutsideEventListener=Lt;exports.showErrors=H;exports.useFilter=he;
|