@ghentcdh/ui 2.0.0 → 3.0.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/ControlWrapper-DejmeYzV.js +1 -0
- package/ControlWrapper-DqO2d36v.js +152 -0
- package/Markdown-DcpBYoNe.js +1 -0
- package/Markdown-Dj1gzJJq.js +59 -0
- package/filter/filter.vue.d.ts +1 -1
- package/form/Checkbox.vue.d.ts +7 -7
- package/form/Input.vue.d.ts +7 -7
- package/form/InputNumber.vue.d.ts +7 -7
- package/form/Textarea.vue.d.ts +8 -8
- package/form/core/ControlWrapper.vue.d.ts +7 -7
- package/form/index.d.ts +8 -8
- package/form/select/AutoComplete.vue.d.ts +11 -11
- package/form/select/MultiSelect.vue.d.ts +10 -10
- package/form/select/SelectComponent.vue.d.ts +10 -10
- package/form/select/SelectWrapper.vue.d.ts +10 -10
- package/form/text/Markdown.vue.d.ts +8 -8
- package/form/text/MarkdownFallback.vue.d.ts +8 -8
- package/index.css +3 -1
- package/index.js +2 -1
- package/index.mjs +2330 -67
- package/package.json +1 -1
- package/table/table.component.vue.d.ts +1 -1
- package/testing.js +1 -1
- package/testing.mjs +338 -419
- package/Markdown-C7ZNnPQB.js +0 -1
- package/Markdown-OZGmR-pI.js +0 -76
- package/index-NGeplssl.js +0 -2
- package/index-WrdKkd9c.js +0 -2633
package/Markdown-C7ZNnPQB.js
DELETED
|
@@ -1 +0,0 @@
|
|
|
1
|
-
"use strict";Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const e=require("vue"),m=require("@tiptap/starter-kit"),i=require("@tiptap/vue-3"),b=require("tiptap-markdown"),a=require("./index-NGeplssl.js"),f=["aria-label"],p={class:"flex items-center gap-1 px-3 py-2 border-b border-base-300 bg-base-200"},k=["title","onClick"],g=["innerHTML"],h={class:"card-body p-3"},_=e.defineComponent({__name:"Markdown",props:e.mergeModels(a.MarkdownComponentProperties,{modelValue:{},modelModifiers:{}}),emits:e.mergeModels(a.MarkdownEmits,["update:modelValue"]),setup(s,{emit:d}){const c=s,u=d,l=e.useModel(s,"modelValue"),r=i.useEditor({content:l.value??"",extensions:[m.configure({heading:!1,blockquote:!1,bulletList:!1,orderedList:!1,listItem:!1,code:!1,codeBlock:!1,horizontalRule:!1,hardBreak:!1}),b.Markdown.configure({html:!1,transformPastedText:!0})],onUpdate({editor:t}){const n=t.storage.markdown.getMarkdown();l.value=n,u("change",n)}});return e.onBeforeUnmount(()=>{r.value?.destroy()}),(t,n)=>(e.openBlock(),e.createBlock(a._sfc_main,e.normalizeProps(e.guardReactiveProps(c)),{default:e.withCtx(()=>[e.createElementVNode("div",{class:e.normalizeClass([[t.minHeight],"card bg-base-100 border border-base-300 w-full"]),"aria-label":t.id,role:"textbox"},[e.createElementVNode("div",p,[(e.openBlock(!0),e.createElementBlock(e.Fragment,null,e.renderList(t.actions,o=>(e.openBlock(),e.createElementBlock("button",{key:o.name,tabindex:"-1",type:"button",class:e.normalizeClass(["btn btn-sm btn-ghost",{"btn-active":e.unref(r)?.isActive(o.name)}]),title:o.label,onClick:v=>o.action(e.unref(r))},[e.createElementVNode("span",{innerHTML:o.label},null,8,g)],10,k))),128))]),e.createElementVNode("div",h,[e.createVNode(e.unref(i.EditorContent),{editor:e.unref(r),class:"prose prose-sm max-w-none h-full"},null,8,["editor"])])],10,f)]),_:1},16))}});exports.default=_;
|
package/Markdown-OZGmR-pI.js
DELETED
|
@@ -1,76 +0,0 @@
|
|
|
1
|
-
import { defineComponent as p, useModel as k, onBeforeUnmount as h, openBlock as n, createBlock as _, normalizeProps as g, guardReactiveProps as v, withCtx as w, createElementVNode as r, normalizeClass as d, createElementBlock as m, Fragment as M, renderList as x, unref as a, createVNode as C, mergeModels as c } from "vue";
|
|
2
|
-
import B from "@tiptap/starter-kit";
|
|
3
|
-
import { useEditor as y, EditorContent as E } from "@tiptap/vue-3";
|
|
4
|
-
import { Markdown as L } from "tiptap-markdown";
|
|
5
|
-
import { _ as V, n as P, m as z } from "./index-WrdKkd9c.js";
|
|
6
|
-
const H = ["aria-label"], T = { class: "flex items-center gap-1 px-3 py-2 border-b border-base-300 bg-base-200" }, N = ["title", "onClick"], R = ["innerHTML"], U = { class: "card-body p-3" }, S = /* @__PURE__ */ p({
|
|
7
|
-
__name: "Markdown",
|
|
8
|
-
props: /* @__PURE__ */ c(z, {
|
|
9
|
-
modelValue: {},
|
|
10
|
-
modelModifiers: {}
|
|
11
|
-
}),
|
|
12
|
-
emits: /* @__PURE__ */ c(P, ["update:modelValue"]),
|
|
13
|
-
setup(l, { emit: u }) {
|
|
14
|
-
const f = l, b = u, i = k(l, "modelValue"), o = y({
|
|
15
|
-
content: i.value ?? "",
|
|
16
|
-
extensions: [
|
|
17
|
-
B.configure({
|
|
18
|
-
heading: !1,
|
|
19
|
-
blockquote: !1,
|
|
20
|
-
bulletList: !1,
|
|
21
|
-
orderedList: !1,
|
|
22
|
-
listItem: !1,
|
|
23
|
-
code: !1,
|
|
24
|
-
codeBlock: !1,
|
|
25
|
-
horizontalRule: !1,
|
|
26
|
-
hardBreak: !1
|
|
27
|
-
}),
|
|
28
|
-
L.configure({
|
|
29
|
-
html: !1,
|
|
30
|
-
transformPastedText: !0
|
|
31
|
-
// parse markdown on paste
|
|
32
|
-
})
|
|
33
|
-
],
|
|
34
|
-
onUpdate({ editor: e }) {
|
|
35
|
-
const s = e.storage.markdown.getMarkdown();
|
|
36
|
-
i.value = s, b("change", s);
|
|
37
|
-
}
|
|
38
|
-
});
|
|
39
|
-
return h(() => {
|
|
40
|
-
o.value?.destroy();
|
|
41
|
-
}), (e, s) => (n(), _(V, g(v(f)), {
|
|
42
|
-
default: w(() => [
|
|
43
|
-
r("div", {
|
|
44
|
-
class: d([[e.minHeight], "card bg-base-100 border border-base-300 w-full"]),
|
|
45
|
-
"aria-label": e.id,
|
|
46
|
-
role: "textbox"
|
|
47
|
-
}, [
|
|
48
|
-
r("div", T, [
|
|
49
|
-
(n(!0), m(M, null, x(e.actions, (t) => (n(), m("button", {
|
|
50
|
-
key: t.name,
|
|
51
|
-
tabindex: "-1",
|
|
52
|
-
type: "button",
|
|
53
|
-
class: d(["btn btn-sm btn-ghost", { "btn-active": a(o)?.isActive(t.name) }]),
|
|
54
|
-
title: t.label,
|
|
55
|
-
onClick: ($) => t.action(a(o))
|
|
56
|
-
}, [
|
|
57
|
-
r("span", {
|
|
58
|
-
innerHTML: t.label
|
|
59
|
-
}, null, 8, R)
|
|
60
|
-
], 10, N))), 128))
|
|
61
|
-
]),
|
|
62
|
-
r("div", U, [
|
|
63
|
-
C(a(E), {
|
|
64
|
-
editor: a(o),
|
|
65
|
-
class: "prose prose-sm max-w-none h-full"
|
|
66
|
-
}, null, 8, ["editor"])
|
|
67
|
-
])
|
|
68
|
-
], 10, H)
|
|
69
|
-
]),
|
|
70
|
-
_: 1
|
|
71
|
-
}, 16));
|
|
72
|
-
}
|
|
73
|
-
});
|
|
74
|
-
export {
|
|
75
|
-
S as default
|
|
76
|
-
};
|
package/index-NGeplssl.js
DELETED
|
@@ -1,2 +0,0 @@
|
|
|
1
|
-
"use strict";const e=require("vue"),Ee=require("vue-router");function k(t){return e.defineComponent({render(){return e.h("svg",{xmlns:"http://www.w3.org/2000/svg",fill:"none",viewBox:"0 0 24 24","stroke-width":"1.5",stroke:"currentColor","aria-hidden":"true"},t.map(n=>e.h("path",{"stroke-linecap":"round","stroke-linejoin":"round",d:n})))}})}const Ve=k(["M3.75 6.75h16.5M3.75 12h16.5m-16.5 5.25h16.5"]),xe=k(["M3 4.5h14.25M3 9h9.75M3 13.5h9.75m4.5-4.5v12m0 0-3.75-3.75M17.25 21 21 17.25"]),$e=k(["M3 4.5h14.25M3 9h9.75M3 13.5h5.25m5.25-.75L17.25 9m0 0L21 12.75M17.25 9v12"]),Ne=k(["m4.5 12.75 6 6 9-13.5"]),Se=k(["m18.75 4.5-7.5 7.5 7.5 7.5m-6-15L5.25 12l7.5 7.5"]),Le=k(["m5.25 4.5 7.5 7.5-7.5 7.5m6-15 7.5 7.5-7.5 7.5"]),Me=k(["m19.5 8.25-7.5 7.5-7.5-7.5"]),Pe=k(["M15.75 19.5 8.25 12l7.5-7.5"]),De=k(["m8.25 4.5 7.5 7.5-7.5 7.5"]),ze=k(["m4.5 15.75 7.5-7.5 7.5 7.5"]),Ae=k(["M19.5 14.25v-2.625a3.375 3.375 0 0 0-3.375-3.375h-1.5A1.125 1.125 0 0 1 13.5 7.125v-1.5a3.375 3.375 0 0 0-3.375-3.375H8.25m0 12.75h7.5m-7.5 3H12M10.5 2.25H5.625c-.621 0-1.125.504-1.125 1.125v17.25c0 .621.504 1.125 1.125 1.125h12.75c.621 0 1.125-.504 1.125-1.125V11.25a9 9 0 0 0-9-9Z"]),Fe=k(["M2.036 12.322a1.012 1.012 0 0 1 0-.639C3.423 7.51 7.36 4.5 12 4.5c4.638 0 8.573 3.007 9.963 7.178.07.207.07.431 0 .639C20.577 16.49 16.64 19.5 12 19.5c-4.638 0-8.573-3.007-9.963-7.178Z","M15 12a3 3 0 1 1-6 0 3 3 0 0 1 6 0Z"]),Oe=k(["M12 3c2.755 0 5.455.232 8.083.678.533.09.917.556.917 1.096v1.044a2.25 2.25 0 0 1-.659 1.591l-5.432 5.432a2.25 2.25 0 0 0-.659 1.591v2.927a2.25 2.25 0 0 1-1.244 2.013L9.75 21v-6.568a2.25 2.25 0 0 0-.659-1.591L3.659 7.409A2.25 2.25 0 0 1 3 5.818V4.774c0-.54.384-1.006.917-1.096A48.32 48.32 0 0 1 12 3Z"]),Te=k(["m10.5 21 5.25-11.25L21 21m-9-3h7.5M3 5.621a48.474 48.474 0 0 1 6-.371m0 0c1.12 0 2.233.038 3.334.114M9 5.25V3m3.334 2.364C11.176 10.658 7.69 15.08 3 17.502m9.334-12.138c.896.061 1.785.147 2.666.257m-4.589 8.495a18.023 18.023 0 0 1-3.827-5.802"]),Ie=k(["M13.19 8.688a4.5 4.5 0 0 1 1.242 7.244l-4.5 4.5a4.5 4.5 0 0 1-6.364-6.364l1.757-1.757m13.35-.622 1.757-1.757a4.5 4.5 0 0 0-6.364-6.364l-4.5 4.5a4.5 4.5 0 0 0 1.242 7.244"]),Re=k(["m18.375 12.739-7.693 7.693a4.5 4.5 0 0 1-6.364-6.364l10.94-10.94A3 3 0 1 1 19.5 7.372L8.552 18.32m.009-.01-.01.01m5.699-9.941-7.81 7.81a1.5 1.5 0 0 0 2.112 2.13"]),je=k(["m16.862 4.487 1.687-1.688a1.875 1.875 0 1 1 2.652 2.652L10.582 16.07a4.5 4.5 0 0 1-1.897 1.13L6 18l.8-2.685a4.5 4.5 0 0 1 1.13-1.897l8.932-8.931Zm0 0L19.5 7.125M18 14v4.75A2.25 2.25 0 0 1 15.75 21H5.25A2.25 2.25 0 0 1 3 18.75V8.25A2.25 2.25 0 0 1 5.25 6H10"]),qe=k(["M12 9v6m3-3H9m12 0a9 9 0 1 1-18 0 9 9 0 0 1 18 0Z"]),Ue=k(["m14.74 9-.346 9m-4.788 0L9.26 9m9.968-3.21c.342.052.682.107 1.022.166m-1.022-.165L18.16 19.673a2.25 2.25 0 0 1-2.244 2.077H8.084a2.25 2.25 0 0 1-2.244-2.077L4.772 5.79m14.456 0a48.108 48.108 0 0 0-3.478-.397m-12 .562c.34-.059.68-.114 1.022-.165m0 0a48.11 48.11 0 0 1 3.478-.397m7.5 0v-.916c0-1.18-.91-2.164-2.09-2.201a51.964 51.964 0 0 0-3.32 0c-1.18.037-2.09 1.022-2.09 2.201v.916m7.5 0a48.667 48.667 0 0 0-7.5 0"]),Ke=k(["M6 18 18 6M6 6l12 12"]),He=k(["M16.023 9.348h4.992v-.001M2.985 19.644v-4.992m0 0h4.992m-4.993 0 3.181 3.183a8.25 8.25 0 0 0 13.803-3.7M4.031 9.865a8.25 8.25 0 0 1 13.803-3.7l3.181 3.182m0-4.991v4.99"]),We=k(["M3 4a1 1 0 011-1h16a1 1 0 011 1v2a1 1 0 01-.293.707L13 13.414V19a1 1 0 01-.553.894l-4 2A1 1 0 017 21v-7.586L3.293 6.707A1 1 0 013 6V4z"]);var _=(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.Filter="Filter",t.Sync="Sync",t))(_||{});const J={Edit:je,Delete:Ue,BarsArrowDown:xe,BarsArrowUp:$e,Funnel:Oe,Close:Ke,Plus:qe,PaperClip:Re,Hamburger:Ve,ChevronRight:De,ChevronLeft:Pe,ChevronDown:Me,ChevronUp:ze,DblChevronLeft:Se,DblChevronRight:Le,Language:Te,Check:Ne,View:Fe,Text:Ae,Link:Ie,Filter:We,Sync:He},Q={icon:{type:[String,Object,Function]},size:{type:String}},$=e.defineComponent({__name:"icon",props:Q,setup(t){const n=t,o=e.computed(()=>n.icon?typeof n.icon=="string"?J[n.icon]:n.icon:null);return(l,a)=>o.value?(e.openBlock(),e.createBlock(e.resolveDynamicComponent(o.value),{key:0,"aria-hidden":"true",class:e.normalizeClass([{"w-full h-full":!l.size,"w-2 h-2":l.size==="xs","w-4 h-4":l.size==="sm","w-6 h-6":l.size==="lg","w-8 h-8":l.size==="xl"}])},null,8,["class"])):e.createCommentVNode("",!0)}}),Ze={class:"dropdown dropdown-end"},Ge={tabindex:"0",role:"menu",class:"menu dropdown-content bg-white z-1 mt-4 p-2 shadow-sm"},Xe={class:"min-w-max flex-no-wrap text-black"},O=e.defineComponent({__name:"sub-menu",props:{label:{},items:{},action:{type:Function},disabled:{type:Boolean},btnClass:{},disableArrow:{type:Boolean}},setup(t){return(n,o)=>(e.openBlock(),e.createElementBlock("div",Ze,[e.createElementVNode("div",{tabindex:"0",role:"button","aria-haspopup":"menu",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($),{key:0,icon:e.unref(_).ChevronDown,size:"sm"},null,8,["icon"]))],2),e.createElementVNode("ul",Ge,[e.createElementVNode("li",Xe,[(e.openBlock(!0),e.createElementBlock(e.Fragment,null,e.renderList(t.items,l=>(e.openBlock(),e.createBlock(Y,e.mergeProps({key:l.label},{ref_for:!0},l),null,16))),128))])])]))}}),F="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 n=t,o=e.computed(()=>!n.disabled&&n.action&&"routerLink"in n.action),l=e.computed(()=>!n.disabled&&n.action),a=e.computed(()=>n.items?.length),s=e.computed(()=>{const u=n.action;return u&&"routerLink"in u&&"params"in u?{name:u.routerLink,params:u.params}:""}),i=()=>{n.action?.()};return(u,p)=>{const d=e.resolveComponent("RouterLink");return a.value?(e.openBlock(),e.createBlock(O,e.mergeProps({key:0},n,{"btn-class":F}),null,16)):o.value?(e.openBlock(),e.createBlock(d,{key:1,to:s.value,class:e.normalizeClass(F),onClick:i},{default:e.withCtx(()=>[e.createTextVNode(e.toDisplayString(t.label),1)]),_:1},8,["to"])):l.value?(e.openBlock(),e.createElementBlock("button",{key:2,class:e.normalizeClass(F),onClick:i},e.toDisplayString(t.label),1)):(e.openBlock(),e.createElementBlock("div",{key:3,class:e.normalizeClass([F,{"btn-disabled":t.disabled}])},e.toDisplayString(t.label),3))}}}),Je={class:"navbar bg-base-100 shadow-sm"},Qe={class:"flex-1"},Ye={key:0,class:"breadcrumbs text-sm"},et={class:"flex grow justify-end px-2"},tt={class:"flex items-stretch"},ot=e.defineComponent({__name:"menu",props:{menu:{},breadcrumbs:{}},setup(t){return(n,o)=>{const l=e.resolveComponent("RouterLink");return e.openBlock(),e.createElementBlock("nav",Je,[e.createElementVNode("div",Qe,[t.breadcrumbs?(e.openBlock(),e.createElementBlock("div",Ye,[e.createElementVNode("ul",null,[(e.openBlock(!0),e.createElementBlock(e.Fragment,null,e.renderList(t.breadcrumbs,a=>(e.openBlock(),e.createElementBlock("li",{key:a.label},[a.routerLink?(e.openBlock(),e.createBlock(l,{key:0,to:{name:a.routerLink,params:a.params},role:"navigation","aria-label":a.label},{default:e.withCtx(()=>[e.createTextVNode(e.toDisplayString(a.label),1)]),_:2},1032,["to","aria-label"])):(e.openBlock(),e.createElementBlock(e.Fragment,{key:1},[e.createTextVNode(e.toDisplayString(a.label),1)],64))]))),128))])])):e.createCommentVNode("",!0)]),e.createElementVNode("div",et,[e.createElementVNode("div",tt,[(e.openBlock(!0),e.createElementBlock(e.Fragment,null,e.renderList(t.menu,a=>(e.openBlock(),e.createBlock(Y,e.mergeProps({key:a.label},{ref_for:!0},a),null,16))),128))])])])}}}),nt=e.defineComponent({__name:"dropdown",props:{items:{}},setup(t){const n=e.ref(!0);return(o,l)=>(e.openBlock(),e.createBlock(O,{items:t.items,label:"test",open:n.value,"btn-class":"","disable-arrow":!0},null,8,["items","open"]))}}),ee={modalTitle:{type:String,required:!0},buttonLabel:{type:String},buttonSaveLabel:{type:String},data:{default:void 0},open:{type:Boolean,default:!1},disableClose:{type:Boolean,default:!1},width:{type:String,default:"sm"}},te=["closeModal"],lt='a[href], button:not([disabled]), textarea:not([disabled]), input:not([disabled]), select:not([disabled]), [tabindex]:not([tabindex="-1"])',X=t=>Array.from(t.querySelectorAll(lt)),oe=({containerRef:t,isActive:n,onEscape:o,restoreFocus:l=!0})=>{let a=null;const s=p=>{const d=t.value;if(!d)return;if(p.key==="Escape"){o?.();return}if(p.key!=="Tab")return;const r=X(d);if(r.length===0)return;const m=r[0],c=r[r.length-1];p.shiftKey?document.activeElement===m&&(p.preventDefault(),c.focus()):document.activeElement===c&&(p.preventDefault(),m.focus())},i=()=>{const p=t.value;if(!p)return;a=document.activeElement,document.addEventListener("keydown",s);const d=X(p);d.length>0&&d[0].focus()},u=()=>{document.removeEventListener("keydown",s),l&&a&&(a.focus(),a=null)};e.watch(n,p=>{p?i():u()},{immediate:!0}),e.onUnmounted(()=>{u()})},ne={xs:"max-w-xs w-[50VW]",sm:"max-w-sm w-[50VW]",lg:"max-w-2xl w-[80VW]",xl:"max-w-[80VW] w-[80VW]"},le={xs:"btn-xs",sm:"btn-sm",lg:"btn-sm",xl:"btn"},ae={xs:"badge-xs text-xxs",sm:"badge-sm text-xs",lg:"badge-sm text-xs",xl:"badge text-xs"},at={class:"flex justify-end gap-2 pt-2 mt-2 border-t border-gray-300 shrink-0"},se=e.defineComponent({__name:"modal",props:ee,emits:te,setup(t,{expose:n,emit:o}){const l=t,a=`modal_${crypto.randomUUID()}`,s=`${a}_title`,i=`${a}_content`,u=e.ref(null),p=e.ref(!1),d=o,r=()=>{u.value?.showModal(),p.value=!0},m=()=>{u.value?.close(),p.value=!1,d("closeModal")},c=()=>{l.disableClose||m()};return oe({containerRef:u,isActive:p,onEscape:()=>{l.disableClose||m()}}),n({closeModal:m,openModal:r}),e.watch(()=>l.open,()=>{l.open?r():m()}),e.onMounted(()=>{l.open&&r()}),(f,h)=>(e.openBlock(),e.createElementBlock("dialog",{ref_key:"dialogRef",ref:u,class:"modal",role:"dialog","aria-modal":"true","aria-labelledby":s,"aria-describedby":i,onCancel:e.withModifiers(c,["prevent"])},[e.createElementVNode("div",{class:e.normalizeClass(["modal-box bg-white min-h-0 max-h-[90vh] flex flex-col overflow-hidden",e.unref(ne)[f.width]])},[f.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","aria-label":"Close",onClick:m}," ✕ ")),f.$slots.title?e.renderSlot(f.$slots,"title",{key:1}):(e.openBlock(),e.createElementBlock("h3",{key:2,id:s,class:"font-bold shrink-0"},e.toDisplayString(f.modalTitle),1)),e.createElementVNode("div",{id:i,class:"pt-4 flex-1 min-h-0 flex flex-col"},[e.renderSlot(f.$slots,"content")]),e.createElementVNode("div",at,[e.renderSlot(f.$slots,"actions")])],2)],544))}});var T=(t=>(t.button="button",t.submit="submit",t.reset="reset",t))(T||{}),U=(t=>(t.a="a",t.button="button",t))(U||{}),V=(t=>(t.blank="blank",t.primary="primary",t.secondary="secondary",t.error="error",t.ghost="ghost",t))(V||{});const st={blank:"btn-ghost",primary:"btn-primary",secondary:"btn-soft btn-primary",error:"btn-error",ghost:"btn-ghost"},rt={blank:"badge-ghost",primary:"badge-primary",secondary:"badge-soft badge-primary",error:"badge-error",ghost:"badge-ghost"},re={href:{type:String},disabled:{type:Boolean,default:!1},tooltip:{type:String},as:{type:String,default:U.button},icon:{type:[String,Object,Function]},type:{type:String,default:T.button},outline:{type:Boolean,default:!1},color:{type:String,default:V.primary},size:{type:String,default:"sm"},square:{type:Boolean,default:!1},noBorder:{type:Boolean,default:!1}},ie=["click"],ce={icon:{type:[String,Object,Function]},type:{type:String,default:T.button},color:{type:String,default:V.primary},disabled:{type:Boolean,default:!1},size:{type:String,default:"sm"}},de=["click"],it={key:1,class:"whitespace-nowrap"},L=e.defineComponent({__name:"btn",props:re,emits:ie,setup(t,{emit:n}){const o=t,l=n;return(a,s)=>(e.openBlock(),e.createBlock(e.resolveDynamicComponent(o.as),{class:e.normalizeClass(["btn p-1 flex justify-center flex-nowrap",e.unref(st)[o.color],e.unref(le)[o.size],{"btn-outline":o.outline,"btn-square":o.square,tooltip:o.tooltip,"border-0":o.noBorder}]),href:o.href,type:o.type,disabled:o.disabled,"data-tip":o.tooltip,onClick:s[0]||(s[0]=i=>l("click"))},{default:e.withCtx(()=>[o.icon?(e.openBlock(),e.createBlock(e.unref($),{key:0,icon:o.icon},null,8,["icon"])):e.createCommentVNode("",!0),a.$slots.default?(e.openBlock(),e.createElementBlock("span",it,[e.renderSlot(a.$slots,"default")])):e.createCommentVNode("",!0)]),_:3},8,["class","href","type","disabled","data-tip"]))}}),ct=["type","disabled"],dt=e.defineComponent({__name:"btn-badge",props:ce,emits:de,setup(t,{emit:n}){const o=t,l=n;return(a,s)=>(e.openBlock(),e.createElementBlock("button",{class:e.normalizeClass(["badge gap-1",e.unref(ae)[o.size],e.unref(rt)[o.color]]),type:o.type,disabled:o.disabled,onClick:s[0]||(s[0]=i=>l("click"))},[e.renderSlot(a.$slots,"default"),o.icon?(e.openBlock(),e.createBlock(e.unref($),{key:0,icon:o.icon,size:o.size},null,8,["icon","size"])):e.createCommentVNode("",!0)],10,ct))}}),ue=e.defineComponent({__name:"confirmModal",props:{title:{},message:{},confirmLabel:{default:"Ok"},cancelLabel:{default:"Cancel"}},emits:["closeModal"],setup(t,{emit:n}){const o=n,l=a=>{o("closeModal",{confirmed:a})};return(a,s)=>(e.openBlock(),e.createBlock(se,{"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(L),{color:e.unref(V).secondary,outline:!0,"aria-label":t.cancelLabel,onClick:s[0]||(s[0]=i=>l(!1))},{default:e.withCtx(()=>[e.createTextVNode(e.toDisplayString(t.cancelLabel),1)]),_:1},8,["color","aria-label"]),e.createVNode(e.unref(L),{"aria-label":t.confirmLabel,onClick:s[1]||(s[1]=i=>l(!0))},{default:e.withCtx(()=>[e.createTextVNode(e.toDisplayString(t.confirmLabel),1)]),_:1},8,["aria-label"])]),_:1},8,["modal-title"]))}});class I{constructor(){this.showModal=e.ref(!1),this.modals=[]}openModal(n){const o=n.props.onClose,l=crypto.randomUUID(),a=n;n.props.onClose=s=>{o(s),this.closeModal(l)},a.id=l,this.modals=[...this.modals,a],this.showModal.value=Date.now()}closeModal(n){this.modals=this.modals.filter(o=>o.id!==n),this.showModal.value=Date.now()}static showConfirm(n){this.getInstance().openModal({component:ue,props:n})}static openModal(n){this.getInstance().openModal(n)}static getInstance(){return this.instance||(this.instance=new I),this.instance}static closeAll(){this.instance.closeAll()}closeAll(){this.modals=[],this.showModal.value=!1}}const pe=e.defineComponent({__name:"modalWrapper",setup(t){const n=I.getInstance(),o=e.computed(()=>n.showModal.value?n.modals:[]);return(l,a)=>(e.openBlock(!0),e.createElementBlock(e.Fragment,null,e.renderList(o.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))}}),me=e.defineComponent({__name:"notification-message",props:{message:{},type:{}},setup(t){const n={success:"alert-success",error:"alert-error",warning:"alert-warning",info:"alert-info"};return(o,l)=>(e.openBlock(),e.createElementBlock("div",{role:"alert",class:e.normalizeClass(`alert ${n[t.type]} `)},[e.createElementVNode("span",null,e.toDisplayString(t.message),1)],2))}}),ut=5e3;class R{constructor(){this.notifications=e.ref([]),this.addNotification=(n,o="info")=>{const l={id:crypto.randomUUID(),duration:ut,message:n,type:o};this.notifications.value.push(l),this.removeNotificationAfterDuration(l)},this.removeNotificationAfterDuration=n=>{setTimeout(()=>{this.removeNotification(n.id)},n.duration)},this.removeNotification=n=>{this.notifications.value=this.notifications.value.filter(o=>o.id!==n)}}static getInstance(){return this.instance||(this.instance=new R),this.instance}static info(n){this.getInstance().addNotification(n,"info")}static success(n){this.getInstance().addNotification(n,"success")}static warning(n){this.getInstance().addNotification(n,"warning")}static error(n){this.getInstance().addNotification(n,"error")}static removeNotification(n){this.getInstance().removeNotification(n)}}const pt={class:"toast toast-top toast-center z-[999]"},fe=e.defineComponent({__name:"notifications",setup(t){const n=R.getInstance();return(o,l)=>(e.openBlock(),e.createElementBlock("div",pt,[(e.openBlock(!0),e.createElementBlock(e.Fragment,null,e.renderList(e.unref(n).notifications.value,a=>(e.openBlock(),e.createBlock(me,e.mergeProps({key:a.id},{ref_for:!0},a),null,16))),128))]))}}),mt={class:"flex h-screen flex-col"},ft={class:"shrink-0"},gt={class:"navbar bg-primary text-primary-content w-full z-100"},ht={class:"navbar-start"},vt={class:"navbar-center"},bt=["href"],yt={class:"navbar-end"},kt={class:"drawer-content overflow-y-auto mb-2 mr-2 shadow-md"},wt={class:"drawer-side h-full shadow-md"},Bt={class:"flex-grow overflow-y-auto"},Ct={class:"bg-base-200 p-4"},_t=e.defineComponent({__name:"shell.component",props:{title:{},menu:{},user:{},version:{},widthSidebar:{default:300}},emits:["logout"],setup(t,{emit:n}){const l=t,a=e.ref(!1),s=()=>{a.value=!a.value},i=n,u=e.computed(()=>l.user?{label:l.user.name,items:[{label:"Logout",action:()=>{i("logout")}}]}:null);return(p,d)=>(e.openBlock(),e.createElementBlock(e.Fragment,null,[e.createVNode(fe),e.createVNode(e.unref(pe)),e.createElementVNode("div",mt,[e.createElementVNode("header",ft,[e.createElementVNode("nav",gt,[e.createElementVNode("div",ht,[e.createElementVNode("button",{"aria-label":"open sidebar",class:"btn btn-square btn-ghost p-1",onClick:s},[e.createVNode(e.unref($),{icon:e.unref(_).Hamburger},null,8,["icon"])])]),e.createElementVNode("div",vt,[e.createElementVNode("a",{class:"btn btn-ghost text-primary-content text-lg color-white",href:e.unref("/")},e.toDisplayString(t.title),9,bt)]),e.createElementVNode("div",yt,[u.value?(e.openBlock(),e.createBlock(e.unref(O),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":a.value}])},[e.withDirectives(e.createElementVNode("input",{id:"app-drawer","onUpdate:modelValue":d[0]||(d[0]=r=>a.value=r),type:"checkbox",class:"drawer-toggle"},null,512),[[e.vModelCheckbox,a.value]]),e.createElementVNode("main",kt,[e.renderSlot(p.$slots,"default")]),e.createElementVNode("div",wt,[d[1]||(d[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",Bt,[(e.openBlock(!0),e.createElementBlock(e.Fragment,null,e.renderList(t.menu,r=>(e.openBlock(),e.createElementBlock("li",{key:r.label},[e.createVNode(e.unref(Ee.RouterLink),{to:{name:r.routerLink,params:r.params}},{default:e.withCtx(()=>[e.createTextVNode(e.toDisplayString(r.label),1)]),_:2},1032,["to"])]))),128))]),e.createElementVNode("div",Ct," 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}},Vt=["updatePage","updatePageSize"],P=e.defineComponent({__name:"pagination-button.component",props:Et,emits:Vt,setup(t,{emit:n}){const o=t,l=n,a=e.computed(()=>o.neverActive?!1:o.page===o.currentPage),s=e.computed(()=>o.neverActive?V.blank:a.value?V.primary:V.secondary),i=()=>{l("updatePage",o.page)};return(u,p)=>(e.openBlock(),e.createBlock(e.unref(L),{disabled:u.disabled,square:!0,size:"xs",color:s.value,onClick:p[0]||(p[0]=d=>i())},{default:e.withCtx(()=>[e.createTextVNode(e.toDisplayString(u.label),1)]),_:1},8,["disabled","color"]))}}),xt={totalItems:{type:Number,default:0},itemsPerPage:{type:Number,default:1},currentPage:{type:Number,default:1},pageSizeOptions:{type:Array,default:()=>[10,20,50,100]}},$t=["updatePage","updatePageSize"],Nt={class:"flex items-center justify-between gap-4"},St={class:"flex gap-1"},Lt={class:"flex items-center gap-4 text-xs text-base-content/60"},Mt={class:"flex items-center gap-2 whitespace-nowrap text-sm"},Pt=["value"],Dt=["value"],zt={class:"whitespace-nowrap"},D=6,ge=e.defineComponent({__name:"pagination.component",props:xt,emits:$t,setup(t,{emit:n}){const o=t,l=n,a=e.computed(()=>{let c=Math.ceil(o.totalItems/o.itemsPerPage);return c<1?1:c}),s=D/2,i=e.computed(()=>{if(a.value<=D)return{min:1,max:a.value};let c=o.currentPage-s;c<=1?c=1:c+D>a.value&&(c=a.value-D);let f=c+D;return{min:c,max:f}}),u=c=>({label:"...",currentPage:c,page:-10,disabled:!0,neverActive:!0}),p=e.computed(()=>{let c=a.value;c<1&&(c=1);const f=o.currentPage,h=[],{min:E,max:x}=i.value;return Array.from({length:c},(v,w)=>{const B=w+1;B!==1&&B!==c&&(B>x||B<E)||(B===c&&c>1&&x<c&&h.push(u(f)),h.push({label:`${B}`,totalPages:c,currentPage:f,page:B}),B===1&&c>1&&E>1&&h.push(u(f)))}),h}),d=e.computed(()=>{const c=(o.currentPage-1)*o.itemsPerPage;return Math.min(c+o.itemsPerPage,o.totalItems)}),r=c=>{l("updatePage",c)},m=c=>{const f=Number(c.target.value);l("updatePageSize",f)};return(c,f)=>(e.openBlock(),e.createElementBlock("div",Nt,[e.createElementVNode("div",St,[e.createVNode(P,e.mergeProps(o,{page:1,label:"<<","current-page":c.currentPage,"never-active":!0,disabled:c.currentPage===1,onUpdatePage:r}),null,16,["current-page","disabled"]),e.createVNode(P,e.mergeProps(o,{page:c.currentPage-1,label:"<","current-page":c.currentPage,"never-active":!0,disabled:c.currentPage===1,onUpdatePage:r}),null,16,["page","current-page","disabled"]),(e.openBlock(!0),e.createElementBlock(e.Fragment,null,e.renderList(p.value,h=>(e.openBlock(),e.createBlock(P,e.mergeProps({key:h.page,ref_for:!0},h,{onUpdatePage:r}),null,16))),128)),e.createVNode(P,e.mergeProps(o,{page:c.currentPage+1,label:">","current-page":c.currentPage,"never-active":!0,disabled:o.currentPage===a.value,onUpdatePage:r}),null,16,["page","current-page","disabled"]),e.createVNode(P,e.mergeProps(o,{page:a.value,label:">>","current-page":c.currentPage,"never-active":!0,disabled:o.currentPage===a.value,onUpdatePage:r}),null,16,["page","current-page","disabled"])]),e.createElementVNode("div",Lt,[e.createElementVNode("label",Mt,[f[0]||(f[0]=e.createTextVNode(" Records per page: ",-1)),e.createElementVNode("select",{class:"select select-xs select-bordered",value:o.itemsPerPage,onChange:m},[(e.openBlock(!0),e.createElementBlock(e.Fragment,null,e.renderList(c.pageSizeOptions,h=>(e.openBlock(),e.createElementBlock("option",{key:h,value:h},e.toDisplayString(h),9,Dt))),128))],40,Pt)]),e.createElementVNode("span",zt," Showing "+e.toDisplayString(d.value)+" of "+e.toDisplayString(c.totalItems)+" records",1)])]))}}),At={column:{type:Object,required:!0},sortColumn:{type:String},sortDirection:{type:String}},Ft=["sort"],Ot=["disabled"],Tt={class:"whitespace-nowrap"},It={class:"h-4 w-4 relative"},Rt=e.defineComponent({__name:"sort.header",props:At,emits:Ft,setup(t,{emit:n}){const o=t,l=n,a=e.computed(()=>o.column.options?.sortable!==!1),s=e.computed(()=>o.sortDirection==="asc"?_.BarsArrowUp:_.BarsArrowDown),i=e.computed(()=>o.column.options?.sortId??o.column.id),u=()=>{a.value&&l("sort",i.value)};return(p,d)=>(e.openBlock(),e.createElementBlock("button",{class:e.normalizeClass(["flex items-center gap-2",a.value?"cursor-pointer":"cursor-default"]),disabled:!a.value,onClick:u},[e.createElementVNode("span",Tt,e.toDisplayString(p.column.label),1),e.createElementVNode("div",It,[a.value&&p.sortColumn===i.value?(e.openBlock(),e.createBlock(e.unref($),{key:0,icon:s.value},null,8,["icon"])):e.createCommentVNode("",!0)])],10,Ot))}}),jt={loading:{type:Boolean,default:!1},multiselect:{type:Boolean,default:!1},actions:{type:Array},data:{type:Array},displayColumns:{type:Array,required:!0},page:{type:Object},sort:{type:Object}},qt=["updatePage","updatePageSize","sort","selectionChange"],Ut={class:"border border-gray-200"},Kt={class:"overflow-x-auto"},Ht={class:"w-full text-sm"},Wt={class:"text-xs text-text-muted font-medium border-b border-gray-200 border-solid sticky top-0 rounded-md"},Zt={class:"border-b border-gray-200"},Gt={key:0,class:"px-3 py-1 w-10 text-left border-r border-gray-200"},Xt=["checked","indeterminate"],Jt={key:0},Qt=["colspan"],Yt={key:1},eo=["colspan"],to=["ui-id"],oo={key:0,class:"py-1 px-3"},no=["checked","onChange"],lo={class:"px-3 flex items-center gap-2 rounded-sm relative border hover:bg-gray-50 hover:border-gray-200 border-transparent max-w-56",style:{"min-width":"100%","min-height":"38px"}},ao={class:"whitespace-nowrap overflow-hidden overflow-ellipsis"},so={class:"align-middle p-0 sticky right-0 bg-white shadow-lg hover:bg-gray-50"},ro={class:"px-3 py-1 items-center justify-end gap-1 h-full flex border-gray-200 shadow-[-4px_0_6px_-2px_rgba(0,0,0,0.05)]"},io={key:0},co={inheritAttrs:!1},uo=e.defineComponent({...co,__name:"table.component",props:jt,emits:qt,setup(t,{emit:n}){const o=t,l=e.ref(new Set);e.watch(()=>o.data,()=>{l.value.clear()});const a=e.computed(()=>!!o.data?.length&&o.data.every(g=>l.value.has(g.id))),s=e.computed(()=>!!o.data?.some(g=>l.value.has(g.id))&&!a.value),i=g=>{const b=new Set(l.value);b.has(g.id)?b.delete(g.id):b.add(g.id),l.value=b,d("selectionChange",o.data?.filter(y=>b.has(y.id))??[])},u=()=>{a.value?l.value=new Set:l.value=new Set(o.data?.map(g=>g.id)??[]),d("selectionChange",o.data?.filter(g=>l.value.has(g.id))??[])},p=e.computed(()=>{const g=o.actions??[];return m.value&&g.push({tooltip:"View",icon:_.View,action:h}),c.value&&g.push({tooltip:"Edit",icon:_.Edit,action:E}),f.value&&g.push({tooltip:"Delete",icon:_.Delete,action:x}),g}),d=n,r=e.useAttrs(),m=e.computed(()=>"onView"in r),c=e.computed(()=>"onEdit"in r),f=e.computed(()=>"onDelete"in r),h=g=>{r.onView?.(g)},E=g=>{r.onEdit?.(g)},x=g=>{r.onDelete?.(g)},v=g=>{d("updatePage",g)},w=g=>{d("updatePageSize",g)},B=g=>{d("sort",g)};return(g,b)=>(e.openBlock(),e.createElementBlock("div",Ut,[e.createElementVNode("div",Kt,[e.createElementVNode("table",Ht,[e.createElementVNode("thead",Wt,[e.createElementVNode("tr",Zt,[g.multiselect?(e.openBlock(),e.createElementBlock("th",Gt,[e.createElementVNode("input",{type:"checkbox",checked:a.value,indeterminate:s.value,class:"cursor-pointer",onChange:u},null,40,Xt)])):e.createCommentVNode("",!0),(e.openBlock(!0),e.createElementBlock(e.Fragment,null,e.renderList(g.displayColumns,y=>(e.openBlock(),e.createElementBlock("th",{key:y.scope,class:"relative px-3 py-1 text-left font-semibold text-text-accent hover:bg-gray-50 select-none border-r border-gray-200",style:e.normalizeStyle(y.width?{width:y.width,maxWidth:y.width,minWidth:y.width}:{minWidth:"150px"})},[e.createVNode(Rt,e.mergeProps({column:y},{ref_for:!0},g.sort,{onSort:B}),null,16,["column"])],4))),128)),b[0]||(b[0]=e.createElementVNode("th",{class:"sticky right-0 w-10 cursor-grab rounded-tr-md visible bg-white shadow-[-4px_0_6px_-2px_rgba(0,0,0,0.05)]"}," ",-1))])]),e.createElementVNode("tbody",null,[g.loading?(e.openBlock(),e.createElementBlock("tr",Jt,[e.createElementVNode("td",{colspan:g.displayColumns.length+1+(g.multiselect?1:0),class:"text-center p-2"},[...b[1]||(b[1]=[e.createElementVNode("span",{class:"loading loading-bars loading-xs"},null,-1)])],8,Qt)])):g.data?.length?e.createCommentVNode("",!0):(e.openBlock(),e.createElementBlock("tr",Yt,[e.createElementVNode("td",{colspan:g.displayColumns.length+1+(g.multiselect?1:0),class:"text-center p-8 font-bold"}," No records found ",8,eo)])),(e.openBlock(!0),e.createElementBlock(e.Fragment,null,e.renderList(g.data,y=>(e.openBlock(),e.createElementBlock("tr",{key:y.id,"ui-id":`table_${y.id}`,class:"hover:bg-gray-100 transition-none transition-colors border-b border-gray-200"},[g.multiselect?(e.openBlock(),e.createElementBlock("td",oo,[e.createElementVNode("input",{type:"checkbox",checked:l.value.has(y.id),class:"cursor-pointer",onChange:C=>i(y)},null,40,no)])):e.createCommentVNode("",!0),(e.openBlock(!0),e.createElementBlock(e.Fragment,null,e.renderList(g.displayColumns,C=>(e.openBlock(),e.createElementBlock("td",{key:C.scope,class:"py-1 px-3 text-sm overflow-hidden"},[e.createElementVNode("div",lo,[e.createElementVNode("div",ao,[(e.openBlock(),e.createBlock(e.resolveDynamicComponent(C.component),e.mergeProps({ref_for:!0},C,{data:y,column:C}),null,16,["data","column"]))])])]))),128)),e.createElementVNode("td",so,[e.createElementVNode("span",ro,[(e.openBlock(!0),e.createElementBlock(e.Fragment,null,e.renderList(p.value,C=>(e.openBlock(),e.createElementBlock(e.Fragment,{key:C.label},[!C.visible||C.visible(y)?(e.openBlock(),e.createBlock(L,{key:0,"aria-label":C.tooltip??C.label,icon:C.icon,color:e.unref(V).secondary,size:"xs",onClick:vl=>C.action(y)},{default:e.withCtx(()=>[C.label?(e.openBlock(),e.createElementBlock("span",io,e.toDisplayString(C.label),1)):e.createCommentVNode("",!0)]),_:2},1032,["aria-label","icon","color","onClick"])):e.createCommentVNode("",!0)],64))),128))])])],8,to))),128))])])]),g.page?(e.openBlock(),e.createBlock(ge,{key:0,class:"p-3","total-items":g.page.count,"items-per-page":g.page.pageSize,"current-page":g.page.page,onUpdatePage:v,onUpdatePageSize:w},null,8,["total-items","items-per-page","current-page"])):e.createCommentVNode("",!0)]))}}),he={data:{type:Object,required:!0},column:{type:Object,required:!0},options:{type:Object}},po={class:"truncate"},mo=["href"],fo=e.defineComponent({__name:"text.cell",props:he,setup(t){const n=t,o=e.computed(()=>{const a=n.column.options?.dataPath??n.column.id,s=n.data[a];if(s==null)return null;const i=n.column.options?.key;return i?s[i]??null:n.column.options?.format==="keyValue"?s[n.column.options.key]:s}),l=e.computed(()=>typeof o.value=="string"&&o.value.startsWith("http"));return(a,s)=>(e.openBlock(),e.createElementBlock("div",po,[l.value?(e.openBlock(),e.createElementBlock("a",{key:0,href:o.value,target:"_blank",rel:"noopener noreferrer"},e.toDisplayString(o.value),9,mo)):(e.openBlock(),e.createElementBlock(e.Fragment,{key:1},[e.createTextVNode(e.toDisplayString(o.value),1)],64))]))}}),go={class:"flex justify-center"},ho=e.defineComponent({__name:"boolean.cell",props:he,setup(t){const n=t,o=e.computed(()=>{const l=n.data[n.column.id];return l?n.column.options?.format==="keyValue"?l[n.column.options.key]:l:null});return(l,a)=>(e.openBlock(),e.createElementBlock("div",go,[o.value===!0?(e.openBlock(),e.createBlock($,{key:0,icon:e.unref(_).Check,size:"sm"},null,8,["icon"])):e.createCommentVNode("",!0)]))}}),vo=(t,n)=>{const o=t.__vccOpts||t;for(const[l,a]of n)o[l]=a;return o},bo={},yo={class:"card bg-base-100 shadow-sm"},ko={class:"card-body"},wo={key:0,class:"card-title"},Bo={key:1,class:"card-actions justify-end"};function Co(t,n){return e.openBlock(),e.createElementBlock("div",yo,[e.createElementVNode("div",ko,[t.$slots.title?(e.openBlock(),e.createElementBlock("h2",wo,[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",Bo,[e.renderSlot(t.$slots,"actions")])):e.createCommentVNode("",!0)])])}const _o=vo(bo,[["render",Co]]),Eo=(t,n)=>{if(!t)return null;const o=l=>{t.contains(l.target)||n()};return document.addEventListener("click",o),o},Vo=t=>{document.removeEventListener("click",t)},xo={beforeMount(t,n){t.clickOutsideEvent=function(o){t===o.target||t.contains(o.target)||n.value(o)},document.addEventListener("click",t.clickOutsideEvent)},unmounted(t){document.removeEventListener("click",t.clickOutsideEvent)}};function $o(t){return t.replace(/[:\s_-]+(.)/g,(n,o)=>o.toUpperCase()).replace(/^[A-Z]/,n=>n.toLowerCase())}function No(t){const n=e.getCurrentInstance();if(!n)return!1;const o=n.vnode.props;if(!o)return!1;const l=$o(t),a=e.camelize(t);return[e.toHandlerKey(t),e.toHandlerKey(a),e.toHandlerKey(l),`on:${t}`,`on:${a}`,`on:${l}`].some(i=>!!o[i])}const z={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:"textarea 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"}},A=t=>{if(!t)return{...z};const n={...z};for(const o of Object.keys(t)){const l=t[o];l&&typeof l=="object"&&(n[o]={...z[o],...l})}return n},N={id:{type:String,default:void 0},placeholder:{type:String,default:void 0},description:{type:String,default:void 0},errors:{type:String,default:void 0},label:{type:String,default:void 0},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:()=>z},width:{type:String,default:"!w-48"},size:{type:String,default:void 0},hideErrors:{type:Boolean,default:!1}},ve=["change"],be={...N,width:{type:String,default:"w-48"},minHeight:{type:String,default:"min-h-[50vh]"},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()}]}},K=({isTouched:t,errors:n})=>!!(t&&n),ye=(t,n,o,l)=>n===void 0||n!==void 0&&!t||!l&&!o,S=(t,n)=>[t,{"input-sm":n.size==="sm","input-error":K(n)}],So={key:0,class:"flex items-center justify-between mb-2"},Lo={key:0},M=e.defineComponent({__name:"ControlWrapper",props:N,setup(t){const n=t,o=e.computed(()=>!ye(n.visible,n.description,n.isFocused,!0)),l=e.computed(()=>n.required),a=e.computed(()=>K(n)),s=e.computed(()=>A(n.styles));return(i,u)=>(e.openBlock(),e.createElementBlock("fieldset",{class:e.normalizeClass(["fieldset",[i.width,s.value.control.wrapper]])},[e.createElementVNode("legend",{class:e.normalizeClass(["w-full inline-block",[s.value.control.label,{"p-0 h-0 leading-none":i.hideLabel}]])},[i.hideLabel?e.createCommentVNode("",!0):(e.openBlock(),e.createElementBlock("div",So,[e.createElementVNode("div",null,[e.createElementVNode("span",null,e.toDisplayString(i.label),1),l.value?(e.openBlock(),e.createElementBlock("span",Lo,"*")):e.createCommentVNode("",!0)]),e.renderSlot(i.$slots,"label-action")]))],2),e.renderSlot(i.$slots,"default"),i.hideErrors?e.createCommentVNode("",!0):(e.openBlock(),e.createElementBlock("p",{key:0,class:e.normalizeClass(["fieldset-label h-4",{"text-error":a.value}])},e.toDisplayString(a.value?i.errors:o.value?i.description:null),3))],2))}}),Mo=["id","aria-label","value"],Po=e.defineComponent({__name:"MarkdownFallback",props:e.mergeModels(be,{modelValue:{},modelModifiers:{}}),emits:e.mergeModels(ve,["update:modelValue"]),setup(t,{emit:n}){const o=t,l=n,a=e.useModel(t,"modelValue"),s=i=>{const u=i.target.value;a.value=u,l("change",u)};return(i,u)=>(e.openBlock(),e.createBlock(M,e.normalizeProps(e.guardReactiveProps(o)),{default:e.withCtx(()=>[e.createElementVNode("textarea",{id:i.id,"aria-label":i.id,class:e.normalizeClass([[i.minHeight,i.width],"textarea textarea-bordered w-full font-mono text-sm"]),value:a.value??"",onInput:s},null,42,Mo)]),_:1},16))}}),Do=["select"],H={options:{type:Array,required:!1},isLoading:{type:Boolean,default:!1},query:{type:String,default:void 0},isActive:{type:Function,default:t=>!1},teleported:{type:Boolean,default:!1}},W={...N,options:{type:Array,required:!0},labelKey:{type:String,default:"label"},valueKey:{type:String,default:"value"},enableCreate:{type:Boolean,default:!1},clearable:{type:Boolean,default:!1},value:{type:null,default:void 0}},zo=["select","clear","close","create"],ke={...H,...W,isOpen:{type:Boolean,default:!1},isActive:{type:Function,default:t=>!1}},Ao={key:1,tabindex:"-1",class:"pointer-events-none"},Fo=["data-index","aria-selected","aria-disabled","onMousedown","onMousemove"],Oo=["innerHTML"],To={key:0,xmlns:"http://www.w3.org/2000/svg",class:"h-4 w-4 shrink-0 opacity-80 text-primary",fill:"none",viewBox:"0 0 24 24",stroke:"currentColor","stroke-width":"2.5"};function Io(t,n,o){if(t||!o)return n;const l=o.replace(/[.*+?^${}()|[\]\\]/g,"\\$&");return n.replace(new RegExp(`(${l})`,"gi"),'<mark class="bg-warning/40 text-inherit rounded-sm px-0.5">$1</mark>')}const Ro=e.defineComponent({__name:"ListResults",props:H,emits:Do,setup(t,{expose:n,emit:o}){const l=t,a=e.ref(-1),s=e.ref(),i=o;e.watch(()=>l.options,()=>{a.value=-1});function u(){e.nextTick(()=>{s.value?.querySelector(`[data-index="${a.value}"]`)?.scrollIntoView({block:"nearest"})})}function p(r){const m=l.options?.length??0;if(m)switch(r.key){case"ArrowDown":r.preventDefault(),a.value=(a.value+1)%m,u();break;case"ArrowUp":r.preventDefault(),a.value=a.value<=0?m-1:a.value-1,u();break;case"Enter":if(r.preventDefault(),a.value>=0&&a.value<m){const c=l.options[a.value];c.disabled||d(c)}break}}function d(r){a.value=-1,i("select",r)}return n({handleKeydown:p}),(r,m)=>(e.openBlock(),e.createElementBlock("ul",{ref_key:"listRef",ref:s,role:"listbox","data-select-listbox":"",class:e.normalizeClass(["bg-base-100 border border-base-300 rounded-box shadow-xl overflow-auto max-h-72 origin-top p-1",r.teleported?"":"absolute z-50 w-full mt-1"])},[r.isLoading?(e.openBlock(),e.createElementBlock(e.Fragment,{key:0},e.renderList(2,c=>e.createElementVNode("li",{key:`skel-${c}`,class:"pointer-events-none px-3 py-2"},[...m[0]||(m[0]=[e.createElementVNode("div",{class:"flex items-center gap-3"},[e.createElementVNode("div",{class:"skeleton h-3 w-3/4 rounded"})],-1)])])),64)):r.options?.length===0?(e.openBlock(),e.createElementBlock("li",Ao,[...m[1]||(m[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(r.options,(c,f)=>(e.openBlock(),e.createElementBlock("li",{key:c.value,"data-index":f,role:"option","aria-selected":f===a.value,"aria-disabled":c.disabled,onMousedown:e.withModifiers(h=>!c.disabled&&d(c),["prevent"]),onMousemove:h=>!c.disabled&&(a.value=f)},[e.createElementVNode("a",{class:e.normalizeClass(["text-sm flex items-center justify-between gap-2 rounded-lg px-3 py-2 text-sm text-base-content no-underline transition-colors duration-100",{"opacity-40 cursor-not-allowed":c.disabled,"cursor-pointer":!c.disabled,"bg-base-200":!c.disabled&&f===a.value,"bg-base-300":r.isActive(c),"hover:bg-base-200":!c.disabled&&f!==a.value}])},[e.createElementVNode("span",{class:"whitespace-nowrap",innerHTML:Io(r.isActive(c),c.label,r.query)},null,8,Oo),r.isActive(c)?(e.openBlock(),e.createElementBlock("svg",To,[...m[2]||(m[2]=[e.createElementVNode("path",{"stroke-linecap":"round","stroke-linejoin":"round",d:"M5 13l4 4L19 7"},null,-1)])])):e.createCommentVNode("",!0)],2)],40,Fo))),128))],2))}}),jo=["aria-label"],qo={class:"flex items-center w-full"},Uo={class:"overflow-hidden w-full"},Ko={class:"absolute inset-y-0 right-0 flex items-center pr-3 gap-1 pointer-events-none"},Ho={key:0,class:"loading loading-spinner loading-xs text-primary pointer-events-none"},Z=e.defineComponent({__name:"SelectWrapper",props:ke,emits:zo,setup(t,{emit:n}){const o=t,l=e.ref(),a=e.ref(),s=e.ref(),i=n,u=e.ref("body"),p=e.computed(()=>{const f=a.value??l.value;if(!f)return{};const h=f.getBoundingClientRect();return{position:"fixed",zIndex:9999,top:`${h.bottom+4}px`,left:`${h.left}px`,width:`${h.width}px`}}),d=()=>{r(),i("clear")},r=()=>{i("close")},m=f=>{if(f.key==="Escape"){r();return}s.value?.handleKeydown(f)},c=f=>{l.value&&!l.value.contains(f.target)&&r()};return e.onMounted(()=>{document.addEventListener("click",c);const f=l.value?.closest("dialog");f&&(u.value=f)}),e.onUnmounted(()=>{document.removeEventListener("click",c)}),(f,h)=>(e.openBlock(),e.createElementBlock("div",{ref_key:"selectWrapperRef",ref:l,"aria-label":f.id,role:"select"},[e.createVNode(M,e.normalizeProps(e.guardReactiveProps(o)),{default:e.withCtx(()=>[e.createElementVNode("div",qo,[e.createElementVNode("div",{ref_key:"inputWrapperRef",ref:a,class:"relative w-full",onKeydown:m},[e.createElementVNode("div",Uo,[e.renderSlot(f.$slots,"default")]),e.createElementVNode("div",Ko,[f.isLoading&&!f.label?(e.openBlock(),e.createElementBlock("span",Ho)):e.createCommentVNode("",!0),f.query&&!f.isLoading&&f.clearable?(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(d,["prevent"])},[...h[2]||(h[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":f.isOpen}]),fill:"none",viewBox:"0 0 24 24",stroke:"currentColor","stroke-width":"2"},[...h[3]||(h[3]=[e.createElementVNode("path",{"stroke-linecap":"round","stroke-linejoin":"round",d:"M19 9l-7 7-7-7"},null,-1)])],2))]),(e.openBlock(),e.createBlock(e.Teleport,{to:u.value},[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(()=>[f.isOpen?(e.openBlock(),e.createBlock(Ro,{key:0,ref_key:"listResultsRef",ref:s,teleported:!0,style:e.normalizeStyle(p.value),query:void 0,options:f.options,"is-loading":f.isLoading,"is-active":f.isActive,onSelect:h[0]||(h[0]=E=>i("select",E))},null,8,["style","options","is-loading","is-active"])):e.createCommentVNode("",!0)]),_:1})],8,["to"]))],544),f.enableCreate?(e.openBlock(),e.createBlock(L,{key:0,icon:e.unref(_).Plus,color:e.unref(V).blank,size:"lg",tooltip:"Create new","aria-label":"create",onClick:h[1]||(h[1]=E=>i("create"))},null,8,["icon","color"])):e.createCommentVNode("",!0)])]),_:3},16)],8,jo))}}),q=(t,n)=>{if(t)return typeof t=="object"?t[n.labelKey]:t},j=(t,n)=>{if(t)return typeof t=="object"?t[n.valueKey]:t},Wo=t=>{const n=e.ref([]),o=new Map,l=new Map,a=r=>{const m=[];o.clear(),l.clear(),r?.forEach(c=>{const f={value:j(c,t),label:q(c,t),...c?.disabled!==void 0&&{disabled:!!c.disabled}};o.set(f.value,c),l.set(f.value,f),m.push(f)}),n.value=m},s=r=>o.get(r.value);return{options:n,setOptions:a,getOriginal:s,getLabels:(...r)=>r.map(m=>m!=null&&typeof m!="object"?l.get(String(m))?.label??String(m):q(m,t)),getValues:(...r)=>r.map(m=>j(m,t)),getOption:r=>l.get(j(r,t)),getOriginals:(...r)=>r.map(s).filter(Boolean)}},G=t=>Wo(t),Zo=["aria-label"],Go=e.defineComponent({__name:"SelectComponent",props:e.mergeModels(W,{modelValue:{},modelModifiers:{}}),emits:e.mergeModels(["update:modelValue","change","clear","focus","blur"],["update:modelValue"]),setup(t,{emit:n}){const o=e.ref(!1),l=t,a=n,s=e.useModel(t,"modelValue"),i=G(l),{options:u}=i;e.watch(()=>l.options,()=>{i.setOptions(l.options)},{immediate:!0});const p=v=>{a("change",v)},d=e.computed(()=>s.value??l.value),r=e.computed(()=>d.value?i.getLabels(d.value)[0]:""),m=e.computed(()=>A(l.styles)),c=e.computed(()=>S(m.value.control.select,l)),f=v=>{const w=i.getOriginal(v);s.value=w,o.value=!1,p(w)},h=()=>{o.value=!1,s.value=null,p(void 0)},E=v=>i.getValues(d.value)?.[0]===v.value,x=()=>{o.value=!1};return(v,w)=>(e.openBlock(),e.createBlock(Z,e.mergeProps(l,{options:e.unref(u),disabled:!v.enabled,"is-open":o.value,query:r.value,"is-active":E,clearable:l.clearable,onClose:x,onSelect:f,onClear:h}),{default:e.withCtx(()=>[e.createElementVNode("button",{type:"button",class:e.normalizeClass(["truncate block text-left",[c.value,v.width]]),"aria-label":v.id,role:"combobox",onClick:w[0]||(w[0]=B=>o.value=!0)},e.toDisplayString(r.value??"Select value"),11,Zo)]),_:1},16,["options","disabled","is-open","query","clearable"]))}}),Xo={...W,...H,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 Jo(t){const n=e.ref([]),o=e.ref(!1);function l(s){if(!t.options){n.value=[];return}const i=s.toLowerCase(),u=i?t.options.filter(p=>q(p,t).toLowerCase().includes(i)):t.options;n.value=u.slice(0,t.maxResults)}function a(){n.value=[]}return{results:n,isLoading:o,search:l,clear:a}}function Qo(t){const n=e.ref([]),o=e.ref(!1);let l=null,a=null;async function s(p){a&&a.abort(),a=new AbortController,o.value=!0;try{const d=await t.fetchOptions(p,a.signal);n.value=(d||[]).slice(0,t.maxResults)}catch(d){d.name!=="AbortError"&&(n.value=[])}finally{o.value=!1}}function i(p){l&&clearTimeout(l),o.value=!0,l=setTimeout(()=>{s(p)},t.debounceMs)}function u(){l&&clearTimeout(l),a&&a.abort(),n.value=[],o.value=!1}return{results:n,isLoading:o,search:i,clear:u}}function Yo(t){const n=t.fetchOptions?Qo(t):Jo(t);function o(l){n.search(l)}return{results:n.results,isLoading:n.isLoading,triggerSearch:o,clear:n.clear}}const en=["aria-label","aria-expanded","value","placeholder","disabled"],tn=e.defineComponent({__name:"AutoComplete",props:Xo,emits:["update:modelValue","change","clear","focus","blur"],setup(t,{emit:n}){const o=t,l=n,a=e.ref(null),s=e.ref(""),i=e.ref(!1),u=Yo(o),{isLoading:p,triggerSearch:d,clear:r}=u,m=G(o),{options:c}=m;e.watch(()=>u.results.value,()=>{m.setOptions(u.results.value)},{immediate:!0}),e.watch(()=>o.modelValue,b=>{if(b==null||b===""){s.value="";return}const y=typeof b=="object"?b[o.labelKey]:b;y!==s.value&&(s.value=y)},{immediate:!0});const f=b=>{s.value=b.target.value,o.freeText?l("update:modelValue",s.value):l("update:modelValue",""),d(s.value),i.value=!0},h=()=>{d(s.value),i.value=!0};function E(){setTimeout(()=>{i.value=!1,o.freeText?l("change",s.value):o.modelValue||(s.value="")},150)}const x=b=>{const y=m.getOriginal(b);s.value=b.label,i.value=!1,l("update:modelValue",y),l("change",y)},v=()=>{s.value="",r(),i.value=!1,l("update:modelValue",""),l("clear"),e.nextTick(()=>a.value?.focus())},w=()=>{i.value=!1},B=e.computed(()=>A(o.styles)),g=e.computed(()=>S(B.value.control.select,o));return(b,y)=>(e.openBlock(),e.createBlock(Z,e.mergeProps(o,{options:e.unref(c),"is-loading":e.unref(p),"is-open":i.value,query:s.value,onClose:w,onSelect:x,onClear:v}),{default:e.withCtx(()=>[e.createElementVNode("input",{ref_key:"inputRef",ref:a,type:"text",role:"combobox","aria-label":b.id,"aria-expanded":i.value,"aria-autocomplete":"list","aria-haspopup":"listbox",autocomplete:"off",autocorrect:"off",spellcheck:"false",class:e.normalizeClass([g.value,"w-full"]),value:s.value,placeholder:b.placeholder,disabled:!b.enabled,onInput:f,onFocus:h,onBlur:E},null,42,en)]),_:1},16,["options","is-loading","is-open","query"]))}}),on=["aria-label"],nn=e.defineComponent({__name:"MultiSelect",props:e.mergeModels(ke,{modelValue:{},modelModifiers:{}}),emits:e.mergeModels(["update:modelValue","change","clear","focus","blur"],["update:modelValue"]),setup(t,{emit:n}){const o=e.ref(!1),l=t,a=n,s=e.useModel(t,"modelValue"),i=v=>{a("change",v)},u=G(l),{options:p}=u;e.watch(()=>l.options,()=>{u.setOptions(l.options)},{immediate:!0});const d=e.computed(()=>s.value?u.getLabels(...s.value).join(", "):void 0),r=e.computed(()=>u.getValues(...s.value??[])),m=v=>{let w=s.value??[];if(h(v))w=w.filter(B=>u.getOption(B)?.value!==v.value);else{const B=u.getOriginal(v);w.push(B)}s.value=w,i(w)},c=()=>{o.value=!1,s.value=[],i([])},f=()=>{o.value=!1},h=v=>r.value?.includes(v.value)??!1,E=e.computed(()=>A(l.styles)),x=e.computed(()=>S(E.value.control.select,l));return(v,w)=>(e.openBlock(),e.createBlock(Z,e.mergeProps(l,{options:e.unref(p),"is-open":o.value,disabled:!v.enabled,query:void 0,"is-active":h,onClose:f,onSelect:m,onClear:c}),{default:e.withCtx(()=>[e.createElementVNode("button",{type:"button",class:e.normalizeClass(["truncate block text-left",[x.value,v.width]]),"aria-label":v.id,role:"combobox",onClick:w[0]||(w[0]=B=>o.value=!0)},e.toDisplayString(d.value??"Select value"),11,on)]),_:1},16,["options","is-open","disabled"]))}}),ln={...N},an=["change","focus","blur"],sn={class:"flex items-center justify-center h-full"},rn={class:"fieldset-label"},cn=["aria-label","disabled"],dn={class:"font-bold text-gray-500 text-sm"},un=e.defineComponent({__name:"Checkbox",props:e.mergeModels(ln,{modelValue:{},modelModifiers:{}}),emits:e.mergeModels(an,["update:modelValue"]),setup(t,{emit:n}){const o=t,l=n,a=e.useModel(t,"modelValue"),s=d=>{l("change",a.value)},i=d=>{l("focus",d)},u=d=>{l("blur",d)},p=e.computed(()=>S(o.styles.control.checkbox,o));return(d,r)=>(e.openBlock(),e.createElementBlock("div",sn,[e.createVNode(M,e.mergeProps(o,{"hide-label":!0}),{default:e.withCtx(()=>[e.createElementVNode("label",rn,[e.withDirectives(e.createElementVNode("input",{"onUpdate:modelValue":r[0]||(r[0]=m=>a.value=m),"aria-label":d.id,role:"checkbox",type:"checkbox",class:e.normalizeClass(p.value),disabled:!d.enabled,onChange:s,onFocus:i,onBlur:u},null,42,cn),[[e.vModelCheckbox,a.value]]),e.createElementVNode("span",dn,e.toDisplayString(d.label),1)])]),_:1},16)]))}}),pn={...N,type:{type:String,default:"text"},clearable:{type:Boolean,default:!1}},mn=["change","focus","blur","clear"],fn={class:"relative w-full"},gn=["aria-label","type","disabled","autofocus","placeholder"],hn=e.defineComponent({__name:"Input",props:e.mergeModels(pn,{modelValue:{},modelModifiers:{}}),emits:e.mergeModels(mn,["update:modelValue"]),setup(t,{emit:n}){const o=t,l=n,a=e.useModel(t,"modelValue"),s=r=>{l("change",r)},i=r=>{l("focus",r)},u=r=>{l("blur",r)},p=()=>{a.value="",l("clear")},d=e.computed(()=>S(o.styles.control.input,o));return(r,m)=>(e.openBlock(),e.createBlock(M,e.normalizeProps(e.guardReactiveProps(o)),{default:e.withCtx(()=>[e.createElementVNode("div",fn,[e.withDirectives(e.createElementVNode("input",{"onUpdate:modelValue":m[0]||(m[0]=c=>a.value=c),"aria-label":r.id,autocomplete:"off",type:r.type,class:e.normalizeClass([[d.value,{"pr-7":r.clearable&&a.value}],"!w-full"]),disabled:!r.enabled,autofocus:r.isFocused,placeholder:r.placeholder,onChange:s,onFocus:i,onBlur:u},null,42,gn),[[e.vModelDynamic,a.value]]),r.clearable&&a.value?(e.openBlock(),e.createElementBlock("button",{key:0,type:"button",class:"absolute inset-y-0 right-0 flex items-center pr-2 btn btn-ghost btn-xs btn-circle opacity-60 hover:opacity-100",tabindex:"-1","aria-label":"Clear",onMousedown:e.withModifiers(p,["prevent"])},[...m[1]||(m[1]=[e.createElementVNode("svg",{xmlns:"http://www.w3.org/2000/svg",class:"h-3.5 w-3.5",fill:"none",viewBox:"0 0 24 24",stroke:"currentColor","stroke-width":"2.5"},[e.createElementVNode("path",{"stroke-linecap":"round","stroke-linejoin":"round",d:"M6 18L18 6M6 6l12 12"})],-1)])],32)):e.createCommentVNode("",!0)])]),_:1},16))}}),vn={...N,steps:{type:Number,default:1}},bn=["change","focus","blur"],yn=["aria-label","disabled","step","autofocus","placeholder"],kn=e.defineComponent({__name:"InputNumber",props:e.mergeModels(vn,{modelValue:{},modelModifiers:{}}),emits:e.mergeModels(bn,["update:modelValue"]),setup(t,{emit:n}){const o=t,l=n,a=e.useModel(t,"modelValue"),s=d=>{l("change",d)},i=d=>{l("focus",d)},u=d=>{l("blur",d)},p=e.computed(()=>S(o.styles?.control?.input,o));return(d,r)=>(e.openBlock(),e.createBlock(M,e.normalizeProps(e.guardReactiveProps(o)),{default:e.withCtx(()=>[e.withDirectives(e.createElementVNode("input",{"onUpdate:modelValue":r[0]||(r[0]=m=>a.value=m),autocomplete:"off","aria-label":d.id,type:"number",class:e.normalizeClass(["w-full",[p.value]]),disabled:!d.enabled,step:d.steps,autofocus:d.isFocused,placeholder:d.placeholder,onChange:s,onFocus:i,onBlur:u},null,42,yn),[[e.vModelText,a.value]])]),_:1},16))}}),wn={...N,rows:{type:Number,default:4},dir:{type:String,default:"ltr"},height:{type:String,default:void 0},minHeight:{type:String,default:void 0}},Bn=["change","focus","blur"],Cn=["aria-label","disabled","rows","dir","autofocus","placeholder"],_n=e.defineComponent({__name:"Textarea",props:e.mergeModels(wn,{modelValue:{},modelModifiers:{}}),emits:e.mergeModels(Bn,["update:modelValue"]),setup(t,{emit:n}){const o=t,l=n,a=e.useModel(t,"modelValue"),s=d=>{l("change",d)},i=d=>{l("focus",d)},u=d=>{l("blur",d)},p=e.computed(()=>S(o.styles.control.textarea,o));return(d,r)=>(e.openBlock(),e.createBlock(M,e.normalizeProps(e.guardReactiveProps(o)),{default:e.withCtx(()=>[e.withDirectives(e.createElementVNode("textarea",{"onUpdate:modelValue":r[0]||(r[0]=m=>a.value=m),autocomplete:"off",type:"text","aria-label":d.id,class:e.normalizeClass(["w-full",p.value]),disabled:!d.enabled,rows:d.rows,dir:d.dir,style:e.normalizeStyle({height:d.height,minHeight:d.minHeight}),autofocus:d.isFocused,placeholder:d.placeholder,onChange:s,onFocus:i,onBlur:u},null,46,Cn),[[e.vModelText,a.value]])]),_:1},16))}}),En=e.defineAsyncComponent({loader:()=>Promise.resolve().then(()=>require("./Markdown-C7ZNnPQB.js")),errorComponent:Po,onError(t,n,o){console.warn("[@ghentcdh/ui] Markdown editor could not load — install the TipTap peer dependencies (@tiptap/pm, @tiptap/starter-kit, @tiptap/vue-3, tiptap-markdown) to enable it. Falling back to a plain textarea.",t),o()}}),Vn={widthLeft:{type:Number,default:200},widthRight:{type:Number,default:200},initialLeftOpen:{type:Boolean,default:!0},initialRightOpen:{type:Boolean,default:!0},drawerColor:{type:String,default:"bg-base-200"}},xn={class:"flex h-full overflow-hidden gap-2"},$n={key:0,id:"drawer-left",class:"min-h-0 relative flex-shrink-0 overflow-visible flex"},Nn=["aria-expanded","aria-label"],Sn={class:"flex-1 overflow-y-auto bg-white"},Ln={key:1,class:"min-h-0 relative flex-shrink-0 bg-white overflow-visible flex"},Mn=["aria-expanded","aria-label"],Pn=e.defineComponent({__name:"drawer",props:Vn,setup(t){const n=t,o=e.useSlots(),l=e.computed(()=>!!o["left-drawer"]),a=e.computed(()=>!!o["right-drawer"]),s=e.ref({left:n.initialLeftOpen,right:n.initialRightOpen}),i=u=>{s.value[u]=!s.value[u]};return(u,p)=>(e.openBlock(),e.createElementBlock("main",xn,[l.value?(e.openBlock(),e.createElementBlock("aside",$n,[e.createElementVNode("div",{id:"drawer-left-panel",style:e.normalizeStyle({width:s.value.left?u.widthLeft+"px":"0px"}),class:e.normalizeClass(["h-full overflow-hidden shadow-sm transition-[width] duration-300 ease-in-out",[u.drawerColor]])},[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)],6),e.createElementVNode("button",{"aria-expanded":s.value.left,"aria-controls":"drawer-left-panel","aria-label":s.value.left?"Collapse left panel":"Expand left panel",class:"hover:bg-base-300 hover:text-base-content transition-colors cursor-pointer",onClick:p[0]||(p[0]=d=>i("left"))},[e.createVNode(e.unref($),{size:"lg",icon:s.value.left?e.unref(_).ChevronLeft:e.unref(_).ChevronRight},null,8,["icon"])],8,Nn)])):e.createCommentVNode("",!0),e.createElementVNode("div",Sn,[e.renderSlot(u.$slots,"default")]),a.value?(e.openBlock(),e.createElementBlock("aside",Ln,[e.createElementVNode("button",{"aria-expanded":s.value.right,"aria-controls":"drawer-right-panel","aria-label":s.value.right?"Collapse right panel":"Expand right panel",class:"hover:bg-base-300 hover:text-base-content transition-colors cursor-pointer",onClick:p[1]||(p[1]=d=>i("right"))},[e.createVNode(e.unref($),{size:"lg",icon:s.value.right?e.unref(_).ChevronRight:e.unref(_).ChevronLeft},null,8,["icon"])],8,Mn),e.createElementVNode("div",{id:"drawer-right-panel",style:e.normalizeStyle({width:s.value.right?u.widthRight+"px":"0px"}),class:e.normalizeClass(["h-full overflow-hidden shadow-sm transition-[width] duration-300 ease-in-out",[u.drawerColor]])},[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)],6)])):e.createCommentVNode("",!0)]))}}),Dn={class:"ml-1"},zn={key:0,xmlns:"http://www.w3.org/2000/svg",viewBox:"0 0 24 24",fill:"currentColor","aria-hidden":"true",class:"w-3 h-3"},An={key:1,xmlns:"http://www.w3.org/2000/svg",viewBox:"0 0 24 24",fill:"currentColor","aria-hidden":"true",class:"w-3 h-3"},Fn={class:"truncate flex-1 min-w-0 text-left"},On={key:0,class:"badge badge-ghost badge-sm flex-shrink-0"},Tn=e.defineComponent({__name:"TreeItem",props:{active:{},node:{},expanded:{},isExpanded:{type:Function}},emits:["toggle","select"],setup(t,{emit:n}){const o=t,l=n,a=e.computed(()=>o.active===o.node.id);return(s,i)=>{const u=e.resolveComponent("TreeItem",!0);return e.openBlock(),e.createElementBlock("li",Dn,[e.createElementVNode("div",{class:e.normalizeClass([`flex items-center gap-1 cursor-pointer rounded-md px-1 py-0.5
|
|
2
|
-
hover:bg-gray-100`,a.value?"text-primary":""])},[(t.node?.children?.length??0)>0?(e.openBlock(),e.createElementBlock("span",{key:0,class:"flex items-center justify-center",onClick:i[0]||(i[0]=p=>l("toggle",t.node))},[t.node.children&&t.isExpanded(t.node.id)?(e.openBlock(),e.createElementBlock("svg",zn,[...i[4]||(i[4]=[e.createElementVNode("path",{"fill-rule":"evenodd",d:"M12.53 16.28a.75.75 0 0 1-1.06 0l-7.5-7.5a.75.75 0 0 1 1.06-1.06L12 14.69l6.97-6.97a.75.75 0 1 1 1.06 1.06l-7.5 7.5Z","clip-rule":"evenodd"},null,-1)])])):(e.openBlock(),e.createElementBlock("svg",An,[...i[5]||(i[5]=[e.createElementVNode("path",{"fill-rule":"evenodd",d:"M16.28 11.47a.75.75 0 0 1 0 1.06l-7.5 7.5a.75.75 0 0 1-1.06-1.06L14.69 12 7.72 5.03a.75.75 0 0 1 1.06-1.06l7.5 7.5Z","clip-rule":"evenodd"},null,-1)])]))])):e.createCommentVNode("",!0),e.createElementVNode("div",{class:"flex items-center gap-2 w-full min-w-0",onClick:i[1]||(i[1]=p=>l("select",t.node))},[e.createElementVNode("div",Fn,e.toDisplayString(t.node.label),1),t.node.tag?(e.openBlock(),e.createElementBlock("div",On,e.toDisplayString(t.node.tag),1)):e.createCommentVNode("",!0)])],2),t.node.children&&t.isExpanded(t.node.id)?(e.openBlock(),e.createElementBlock("ul",{key:0,class:e.normalizeClass(["ml-4 border-l pl-2",{"border-gray-200":!a.value,"border-primary":a.value}])},[(e.openBlock(!0),e.createElementBlock(e.Fragment,null,e.renderList(t.node.children,p=>(e.openBlock(),e.createBlock(u,{key:p.id,node:p,expanded:t.expanded,active:t.active,"is-expanded":t.isExpanded,onToggle:i[2]||(i[2]=d=>l("toggle",d)),onSelect:i[3]||(i[3]=d=>l("select",d))},null,8,["node","expanded","active","is-expanded"]))),128))],2)):e.createCommentVNode("",!0)])}}}),In={class:"select-none text-sm"},Rn=e.defineComponent({__name:"TreeView",props:{data:{},active:{}},emits:["select"],setup(t,{emit:n}){const o=t,l=n,a=e.ref(new Set),s=p=>{const d=p.id;if(!p.children||p.children.length===0){l("select",p);return}a.value.has(d)?a.value.delete(d):a.value.add(d)},i=p=>{l("select",p),a.value.add(p.id)},u=p=>a.value.has(p);return(p,d)=>(e.openBlock(),e.createElementBlock("ul",In,[(e.openBlock(!0),e.createElementBlock(e.Fragment,null,e.renderList(o.data,r=>(e.openBlock(),e.createBlock(Tn,{key:r.id,node:r,expanded:a.value,active:t.active,"is-expanded":u,onToggle:s,onSelect:i},null,8,["node","expanded","active"]))),128))]))}}),jn={key:0,role:"status","aria-live":"polite",class:"flex items-center justify-center h-20"},qn=e.defineComponent({__name:"loading",props:{loading:{type:Boolean}},setup(t){return(n,o)=>t.loading?(e.openBlock(),e.createElementBlock("div",jn,[...o[0]||(o[0]=[e.createElementVNode("span",{"aria-hidden":"true",class:"loading loading-bars loading-md text-primary"},null,-1),e.createElementVNode("span",{class:"sr-only"},"Loading...",-1)])])):e.createCommentVNode("",!0)}}),Un={title:{type:String,required:!0},opened:{type:Boolean,default:!0},heightFull:{type:Boolean,default:!1},scrollable:{type:Boolean,default:!1},disabled:{type:Boolean,default:!1},actions:{type:Array,default:()=>[]}},Kn=["checked","aria-label"],Hn={class:"collapse-title text-gray-500 text-xs font-medium"},Wn={class:"flex items-center justify-between"},Zn={key:0,class:"list bg-base-100"},Gn={key:1,class:"shrink-0 pt-2"},we=e.defineComponent({__name:"Collapse",props:Un,setup(t){const n=e.useSlots(),o=t,l=e.ref(o.opened),a=e.ref(o.opened||o.disabled);return(s,i)=>(e.openBlock(),e.createElementBlock("div",{class:e.normalizeClass(["collapse collapse-arrow bg-white border border-gray-300",[s.scrollable?"flex-1 min-h-0 !grid-rows-[auto_1fr] overflow-hidden":"",s.heightFull?"h-full":"",s.disabled?"collapse-open":"",a.value&&!s.scrollable?"overflow-visible":""]])},[s.disabled?e.createCommentVNode("",!0):(e.openBlock(),e.createElementBlock("input",{key:0,type:"checkbox",checked:l.value,tabindex:"-1","aria-label":"Toggle "+s.title,onChange:i[0]||(i[0]=u=>a.value=u.target.checked)},null,40,Kn)),e.createElementVNode("div",Hn,[e.createElementVNode("div",Wn,[e.createElementVNode("span",null,e.toDisplayString(s.title),1),o.actions.length>0?(e.openBlock(),e.createElementBlock("div",{key:0,class:"relative z-10 flex gap-1 overflow-y-auto",onClick:i[1]||(i[1]=e.withModifiers(()=>{},["stop"]))},[(e.openBlock(!0),e.createElementBlock(e.Fragment,null,e.renderList(o.actions,(u,p)=>(e.openBlock(),e.createBlock(e.unref(L),{key:p,color:e.unref(V).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",[s.scrollable?"!flex !flex-col min-h-0":"",e.unref(n).list?"p-0":""]])},[e.createElementVNode("div",{class:e.normalizeClass(s.scrollable?"flex-1 min-h-0 overflow-y-auto":"")},[e.renderSlot(s.$slots,"default")],2),e.unref(n).list?(e.openBlock(),e.createElementBlock("ul",Zn,[e.renderSlot(s.$slots,"list")])):e.createCommentVNode("",!0),e.unref(n).footer?(e.openBlock(),e.createElementBlock("div",Gn,[e.renderSlot(s.$slots,"footer")])):e.createCommentVNode("",!0)],2)],2))}}),Xn={title:{type:String},label:{type:String},labelLink:{type:String},description:{type:String},descriptionLink:{type:String}},Jn={class:"list-row"},Qn={class:"list-col-grow"},Yn={key:0},el={key:1,class:"text-xs text-gray-600"},tl=["href"],ol={key:1},nl={key:0,class:"text-xs text-gray-500"},ll=["href"],al={key:1},sl=e.defineComponent({__name:"CollapseRow",props:Xn,setup(t){return(n,o)=>(e.openBlock(),e.createElementBlock("li",Jn,[e.createElementVNode("div",Qn,[n.title?(e.openBlock(),e.createElementBlock("div",Yn,e.toDisplayString(n.title),1)):e.createCommentVNode("",!0),n.description||n.descriptionLink?(e.openBlock(),e.createElementBlock("div",el,[n.descriptionLink?(e.openBlock(),e.createElementBlock("a",{key:0,href:n.descriptionLink,target:"_blank"},e.toDisplayString(n.description??n.descriptionLink),9,tl)):(e.openBlock(),e.createElementBlock("span",ol,e.toDisplayString(n.description),1))])):e.createCommentVNode("",!0)]),n.label?(e.openBlock(),e.createElementBlock("div",nl,[n.labelLink?(e.openBlock(),e.createElementBlock("a",{key:0,href:n.labelLink,target:"_blank"},e.toDisplayString(n.label),9,ll)):(e.openBlock(),e.createElementBlock("span",al,e.toDisplayString(n.label),1))])):e.createCommentVNode("",!0),e.renderSlot(n.$slots,"default")]))}}),rl={class:"text-gray-800"},il=e.defineComponent({__name:"alert",props:{message:{},type:{}},setup(t){const n={success:"alert-success",error:"alert-error",warning:"alert-warning",info:"alert-info"};return(o,l)=>(e.openBlock(),e.createElementBlock("div",{role:"alert",class:e.normalizeClass(`alert alert-soft ${n[t.type]} `)},[e.createElementVNode("span",rl,e.toDisplayString(t.message),1),e.renderSlot(o.$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}},Ce=["update:modelValue"],_e=(t,n,o,l)=>{const a=e.computed(()=>t.value.map(r=>r[o.value])),s=r=>n.value.includes(r),i=e.computed(()=>{const r=n.value.length;return r===0?"None":r===a.value.length?"All":`${r}`});return{isSelected:s,selectedLabel:i,selectAll:()=>l("update:modelValue",[...a.value]),selectNone:()=>l("update:modelValue",[]),toggleItem:(r,m)=>{m?l("update:modelValue",[...n.value,r]):l("update:modelValue",n.value.filter(c=>c!==r))}}},cl={class:"flex items-center justify-between mb-2"},dl={class:"text-xs text-base-content/50"},ul={class:"flex gap-1"},pl={class:"flex flex-col gap-1"},ml=["checked","onChange"],fl={class:"text-sm flex-1 select-none"},gl={key:1,class:"badge badge-sm badge-ghost"},hl=e.defineComponent({__name:"filter",props:Be,emits:Ce,setup(t,{emit:n}){const o=t,l=n,a=e.computed(()=>o.items??[]),{isSelected:s,selectedLabel:i,selectAll:u,selectNone:p,toggleItem:d}=_e(a,e.toRef(o,"modelValue"),e.toRef(o,"valueKey"),l);return(r,m)=>(e.openBlock(),e.createBlock(e.unref(we),{title:r.title,opened:r.opened},{default:e.withCtx(()=>[e.createElementVNode("div",cl,[e.createElementVNode("span",dl,e.toDisplayString(e.unref(i))+" of "+e.toDisplayString(a.value.length)+" items ",1),e.createElementVNode("div",ul,[e.createElementVNode("button",{class:"btn btn-ghost btn-xs",type:"button",tabindex:"-1",onClick:m[0]||(m[0]=(...c)=>e.unref(u)&&e.unref(u)(...c))}," All "),e.createElementVNode("button",{class:"btn btn-ghost btn-xs",type:"button",tabindex:"-1",onClick:m[1]||(m[1]=(...c)=>e.unref(p)&&e.unref(p)(...c))}," None ")])]),e.createElementVNode("div",pl,[(e.openBlock(!0),e.createElementBlock(e.Fragment,null,e.renderList(a.value,c=>(e.openBlock(),e.createElementBlock("label",{key:c[r.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)(c[r.valueKey])}])},[e.createElementVNode("input",{type:"checkbox",class:"checkbox checkbox-sm",checked:e.unref(s)(c[r.valueKey]),onChange:f=>e.unref(d)(c[r.valueKey],f.target.checked)},null,40,ml),r.colorKey&&c[r.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:c[r.colorKey]})},null,4)):e.createCommentVNode("",!0),e.createElementVNode("span",fl,e.toDisplayString(c[r.labelKey]),1),c[r.countKey]>0?(e.openBlock(),e.createElementBlock("span",gl,e.toDisplayString(c[r.countKey]),1)):e.createCommentVNode("",!0)],2))),128))])]),_:1},8,["title","opened"]))}});exports.BadgeSize=ae;exports.BtnBadgeEmits=de;exports.BtnBadgeProperties=ce;exports.BtnEmits=ie;exports.BtnProperties=re;exports.ButtonSize=le;exports.ButtonTag=U;exports.ButtonType=T;exports.ClickOutside=xo;exports.Color=V;exports.ControlWrapperProperties=N;exports.FilterEmits=Ce;exports.FilterProperties=Be;exports.IconEnum=_;exports.IconMap=J;exports.IconProperties=Q;exports.Markdown=En;exports.MarkdownComponentProperties=be;exports.MarkdownEmits=ve;exports.ModalEmits=te;exports.ModalProperties=ee;exports.ModalService=I;exports.ModalSize=ne;exports.NotificationService=R;exports._sfc_main=M;exports._sfc_main$1=il;exports._sfc_main$10=Pn;exports._sfc_main$11=nt;exports._sfc_main$12=hl;exports._sfc_main$13=$;exports._sfc_main$14=hn;exports._sfc_main$15=kn;exports._sfc_main$16=qn;exports._sfc_main$17=ot;exports._sfc_main$18=se;exports._sfc_main$19=pe;exports._sfc_main$2=tn;exports._sfc_main$20=nn;exports._sfc_main$21=me;exports._sfc_main$22=fe;exports._sfc_main$23=ge;exports._sfc_main$24=Go;exports._sfc_main$25=_t;exports._sfc_main$26=O;exports._sfc_main$27=uo;exports._sfc_main$28=fo;exports._sfc_main$29=_n;exports._sfc_main$3=ho;exports._sfc_main$30=Rn;exports._sfc_main$4=L;exports._sfc_main$5=dt;exports._sfc_main$6=un;exports._sfc_main$7=we;exports._sfc_main$8=sl;exports._sfc_main$9=ue;exports.addClickOutsideEventListener=Eo;exports.buildInputStyle=S;exports.card=_o;exports.hasCustomEventListener=No;exports.isDescriptionHidden=ye;exports.mergeStyles=A;exports.myStyles=z;exports.removeClickOutsideEventListener=Vo;exports.showErrors=K;exports.useFilter=_e;exports.useFocusTrap=oe;
|