@enos5/enos-vue-default 0.3.1 → 1.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/dist/index.js CHANGED
@@ -1,101 +1,128 @@
1
- import { ref, computed, watch, openBlock, createElementBlock, createElementVNode, Fragment, renderList, normalizeClass, normalizeStyle, toDisplayString, createBlock, createCommentVNode, renderSlot, createVNode, Transition, withCtx, mergeProps, useSlots, unref, withDirectives, vShow, useAttrs, vModelCheckbox, onMounted, nextTick, onBeforeUnmount, Teleport, withModifiers, onUnmounted, createTextVNode, resolveDynamicComponent, vModelText } from "vue";
2
- import { LockClosedIcon, ChevronDownIcon, PhotoIcon, ExclamationCircleIcon, ExclamationTriangleIcon, ChevronUpIcon, MagnifyingGlassIcon, CheckIcon, PencilSquareIcon } from "@heroicons/vue/24/outline";
1
+ import { ref, computed, watch, openBlock, createElementBlock, createElementVNode, Fragment, renderList, normalizeClass, normalizeStyle, toDisplayString, createBlock, createCommentVNode, renderSlot, createVNode, Transition, withCtx, mergeProps, useSlots, unref, withDirectives, vShow, useAttrs, vModelCheckbox, onMounted, nextTick, onBeforeUnmount, Teleport, withModifiers, onUnmounted, defineComponent, resolveDynamicComponent, createTextVNode, normalizeProps, vModelText } from "vue";
2
+ import { LockClosedIcon, ChevronDownIcon, PhotoIcon, ExclamationCircleIcon, ExclamationTriangleIcon, Cog6ToothIcon, ArrowRightOnRectangleIcon, ChevronUpDownIcon, ChevronUpIcon, MagnifyingGlassIcon, CheckIcon, PencilSquareIcon } from "@heroicons/vue/24/outline";
3
3
  import Editor from "@tinymce/tinymce-vue";
4
4
  import { Link } from "@inertiajs/vue3";
5
5
  const components = /* @__PURE__ */ Object.freeze(/* @__PURE__ */ Object.defineProperty({
6
6
  __proto__: null,
7
7
  get ActionCard() {
8
- return _sfc_main$x;
8
+ return _sfc_main$G;
9
9
  },
10
10
  get ActionMessage() {
11
- return _sfc_main$w;
11
+ return _sfc_main$F;
12
12
  },
13
13
  get ActionSection() {
14
- return _sfc_main$u;
14
+ return _sfc_main$D;
15
15
  },
16
16
  get Badge() {
17
- return _sfc_main$t;
17
+ return _sfc_main$C;
18
18
  },
19
19
  get Button() {
20
- return _sfc_main$s;
20
+ return _sfc_main$B;
21
21
  },
22
22
  get Card() {
23
- return _sfc_main$z;
23
+ return _sfc_main$I;
24
24
  },
25
25
  get CardTabs() {
26
- return _sfc_main$A;
26
+ return _sfc_main$J;
27
27
  },
28
28
  get Checkbox() {
29
- return _sfc_main$r;
29
+ return _sfc_main$A;
30
30
  },
31
31
  get CheckboxInput() {
32
- return _sfc_main$q;
32
+ return _sfc_main$z;
33
33
  },
34
34
  get CheckboxMultipleInput() {
35
- return _sfc_main$e;
35
+ return _sfc_main$n;
36
36
  },
37
37
  get ConfirmationModal() {
38
- return _sfc_main$c;
38
+ return _sfc_main$l;
39
39
  },
40
40
  get CustomSelect() {
41
- return _sfc_main$n;
41
+ return _sfc_main$w;
42
42
  },
43
43
  get DateInput() {
44
- return _sfc_main$l;
44
+ return _sfc_main$u;
45
45
  },
46
46
  get DialogModal() {
47
- return _sfc_main$b;
47
+ return _sfc_main$k;
48
48
  },
49
49
  get Divider() {
50
- return _sfc_main$y;
50
+ return _sfc_main$H;
51
51
  },
52
52
  get Dropdown() {
53
- return _sfc_main$a;
53
+ return _sfc_main$j;
54
54
  },
55
55
  get DropdownLink() {
56
- return _sfc_main$9;
56
+ return _sfc_main$i;
57
57
  },
58
58
  get EnosVueDefault() {
59
59
  return plugin;
60
60
  },
61
61
  get FormSection() {
62
- return _sfc_main$8;
62
+ return _sfc_main$h;
63
63
  },
64
64
  get ImageInput() {
65
- return _sfc_main$k;
65
+ return _sfc_main$t;
66
66
  },
67
67
  get InputError() {
68
- return _sfc_main$7;
68
+ return _sfc_main$g;
69
69
  },
70
70
  get InputGroup() {
71
- return _sfc_main$f;
71
+ return _sfc_main$o;
72
72
  },
73
73
  get InputLabel() {
74
- return _sfc_main$6;
74
+ return _sfc_main$f;
75
75
  },
76
76
  get LinkButton() {
77
- return _sfc_main$5;
77
+ return _sfc_main$e;
78
78
  },
79
79
  get Modal() {
80
- return _sfc_main$d;
80
+ return _sfc_main$m;
81
81
  },
82
82
  get NotationInput() {
83
- return _sfc_main$j;
83
+ return _sfc_main$s;
84
84
  },
85
85
  get RadioInput() {
86
- return _sfc_main$i;
86
+ return _sfc_main$r;
87
87
  },
88
88
  get RadioMultipleInput() {
89
- return _sfc_main$h;
89
+ return _sfc_main$q;
90
90
  },
91
91
  get SectionBorder() {
92
- return _sfc_main$4;
92
+ return _sfc_main$d;
93
93
  },
94
94
  get SectionTitle() {
95
95
  return SectionTitle;
96
96
  },
97
97
  get SelectInput() {
98
- return _sfc_main$m;
98
+ return _sfc_main$v;
99
+ },
100
+ get SideMenu() {
101
+ return _sfc_main$4;
102
+ },
103
+ get SideMenuBrand() {
104
+ return _sfc_main$c;
105
+ },
106
+ get SideMenuButton() {
107
+ return _sfc_main$b;
108
+ },
109
+ get SideMenuList() {
110
+ return _sfc_main$a;
111
+ },
112
+ get SideMenuNavFooter() {
113
+ return _sfc_main$9;
114
+ },
115
+ get SideMenuNavMain() {
116
+ return _sfc_main$8;
117
+ },
118
+ get SideMenuNavUser() {
119
+ return _sfc_main$5;
120
+ },
121
+ get SideMenuUserInfo() {
122
+ return _sfc_main$7;
123
+ },
124
+ get SideMenuUserMenuContent() {
125
+ return _sfc_main$6;
99
126
  },
100
127
  get SortControls() {
101
128
  return _sfc_main$3;
@@ -107,25 +134,25 @@ const components = /* @__PURE__ */ Object.freeze(/* @__PURE__ */ Object.definePr
107
134
  return _sfc_main;
108
135
  },
109
136
  get TextArea() {
110
- return _sfc_main$o;
137
+ return _sfc_main$x;
111
138
  },
112
139
  get TextInput() {
113
- return _sfc_main$p;
140
+ return _sfc_main$y;
114
141
  },
115
142
  get ThSortable() {
116
143
  return _sfc_main$2;
117
144
  },
118
145
  get TinyEditor() {
119
- return _sfc_main$g;
146
+ return _sfc_main$p;
120
147
  }
121
148
  }, Symbol.toStringTag, { value: "Module" }));
122
- const _hoisted_1$w = { class: "border-b border-neutral-200 bg-neutral-50/80 p-2 dark:border-neutral-800 dark:bg-neutral-900/80" };
123
- const _hoisted_2$h = {
149
+ const _hoisted_1$F = { class: "border-b border-neutral-200 bg-neutral-50/80 p-2 dark:border-neutral-800 dark:bg-neutral-900/80" };
150
+ const _hoisted_2$m = {
124
151
  role: "tablist",
125
152
  class: "flex overflow-hidden rounded-lg bg-white shadow-sm ring-1 ring-neutral-200 dark:bg-neutral-950 dark:ring-neutral-800"
126
153
  };
127
- const _hoisted_3$c = ["aria-selected", "tabindex", "onClick", "onKeydown"];
128
- const _sfc_main$A = {
154
+ const _hoisted_3$e = ["aria-selected", "tabindex", "onClick", "onKeydown"];
155
+ const _sfc_main$J = {
129
156
  __name: "CardTabs",
130
157
  props: {
131
158
  tabs: {
@@ -194,8 +221,8 @@ const _sfc_main$A = {
194
221
  focusTabAtIndex(targetIndex);
195
222
  };
196
223
  return (_ctx, _cache) => {
197
- return openBlock(), createElementBlock("div", _hoisted_1$w, [
198
- createElementVNode("div", _hoisted_2$h, [
224
+ return openBlock(), createElementBlock("div", _hoisted_1$F, [
225
+ createElementVNode("div", _hoisted_2$m, [
199
226
  (openBlock(true), createElementBlock(Fragment, null, renderList(__props.tabs, (tab, index) => {
200
227
  return openBlock(), createElementBlock("button", {
201
228
  key: tab.value,
@@ -215,22 +242,22 @@ const _sfc_main$A = {
215
242
  ]),
216
243
  onClick: ($event) => activateTab(tab.value),
217
244
  onKeydown: ($event) => onTabKeydown($event, index)
218
- }, toDisplayString(tab.label), 47, _hoisted_3$c);
245
+ }, toDisplayString(tab.label), 47, _hoisted_3$e);
219
246
  }), 128))
220
247
  ])
221
248
  ]);
222
249
  };
223
250
  }
224
251
  };
225
- const _hoisted_1$v = {
252
+ const _hoisted_1$E = {
226
253
  key: 0,
227
254
  class: "mb-4"
228
255
  };
229
- const _hoisted_2$g = {
256
+ const _hoisted_2$l = {
230
257
  key: 1,
231
258
  class: "mb-4 text-xl font-semibold tracking-tight text-neutral-950 dark:text-neutral-50"
232
259
  };
233
- const _sfc_main$z = {
260
+ const _sfc_main$I = {
234
261
  __name: "Card",
235
262
  props: {
236
263
  title: {
@@ -291,7 +318,7 @@ const _sfc_main$z = {
291
318
  return openBlock(), createElementBlock("div", {
292
319
  class: normalizeClass(["rounded-2xl border border-neutral-200 bg-white text-neutral-950 shadow-sm dark:border-neutral-800 dark:bg-neutral-950 dark:text-neutral-50", __props.overflowClass, { "sticky top-6 self-start": __props.sticky }, __props.cardClass])
293
320
  }, [
294
- __props.tabs.length > 0 ? (openBlock(), createBlock(_sfc_main$A, {
321
+ __props.tabs.length > 0 ? (openBlock(), createBlock(_sfc_main$J, {
295
322
  key: 0,
296
323
  tabs: __props.tabs,
297
324
  "active-tab": __props.activeTab,
@@ -301,9 +328,9 @@ const _sfc_main$z = {
301
328
  createElementVNode("div", {
302
329
  class: normalizeClass(__props.paddingClass)
303
330
  }, [
304
- _ctx.$slots.customTitle ? (openBlock(), createElementBlock("div", _hoisted_1$v, [
331
+ _ctx.$slots.customTitle ? (openBlock(), createElementBlock("div", _hoisted_1$E, [
305
332
  renderSlot(_ctx.$slots, "customTitle")
306
- ])) : __props.title ? (openBlock(), createElementBlock("h3", _hoisted_2$g, toDisplayString(__props.title), 1)) : createCommentVNode("", true),
333
+ ])) : __props.title ? (openBlock(), createElementBlock("h3", _hoisted_2$l, toDisplayString(__props.title), 1)) : createCommentVNode("", true),
307
334
  createElementVNode("div", {
308
335
  class: normalizeClass(["relative", __props.tabs.length > 0 ? "overflow-hidden" : "overflow-visible"])
309
336
  }, [
@@ -336,7 +363,7 @@ const _sfc_main$z = {
336
363
  };
337
364
  }
338
365
  };
339
- const _sfc_main$y = /* @__PURE__ */ Object.assign({
366
+ const _sfc_main$H = /* @__PURE__ */ Object.assign({
340
367
  inheritAttrs: false
341
368
  }, {
342
369
  __name: "Divider",
@@ -348,7 +375,7 @@ const _sfc_main$y = /* @__PURE__ */ Object.assign({
348
375
  };
349
376
  }
350
377
  });
351
- const _sfc_main$x = {
378
+ const _sfc_main$G = {
352
379
  __name: "ActionCard",
353
380
  props: {
354
381
  title: {
@@ -363,13 +390,13 @@ const _sfc_main$x = {
363
390
  setup(__props) {
364
391
  const slots = useSlots();
365
392
  return (_ctx, _cache) => {
366
- return openBlock(), createBlock(_sfc_main$z, {
393
+ return openBlock(), createBlock(_sfc_main$I, {
367
394
  title: __props.title,
368
395
  "content-class": __props.actionsClass
369
396
  }, {
370
397
  default: withCtx(() => [
371
398
  renderSlot(_ctx.$slots, "default"),
372
- unref(slots).danger ? (openBlock(), createBlock(_sfc_main$y, {
399
+ unref(slots).danger ? (openBlock(), createBlock(_sfc_main$H, {
373
400
  key: 0,
374
401
  class: "mt-6 pt-4"
375
402
  }, {
@@ -384,8 +411,8 @@ const _sfc_main$x = {
384
411
  };
385
412
  }
386
413
  };
387
- const _hoisted_1$u = { class: "text-sm text-gray-600" };
388
- const _sfc_main$w = {
414
+ const _hoisted_1$D = { class: "text-sm text-gray-600" };
415
+ const _sfc_main$F = {
389
416
  __name: "ActionMessage",
390
417
  props: {
391
418
  on: Boolean
@@ -399,7 +426,7 @@ const _sfc_main$w = {
399
426
  "leave-to-class": "opacity-0"
400
427
  }, {
401
428
  default: withCtx(() => [
402
- withDirectives(createElementVNode("div", _hoisted_1$u, [
429
+ withDirectives(createElementVNode("div", _hoisted_1$D, [
403
430
  renderSlot(_ctx.$slots, "default")
404
431
  ], 512), [
405
432
  [vShow, __props.on]
@@ -418,36 +445,36 @@ const _export_sfc = (sfc, props) => {
418
445
  }
419
446
  return target;
420
447
  };
421
- const _sfc_main$v = {};
422
- const _hoisted_1$t = { class: "md:col-span-1 flex justify-between" };
423
- const _hoisted_2$f = { class: "px-4 sm:px-0" };
424
- const _hoisted_3$b = { class: "text-xl font-semibold tracking-tight text-neutral-950 dark:text-neutral-50" };
425
- const _hoisted_4$8 = { class: "mt-1 max-w-2xl text-sm text-neutral-600 dark:text-neutral-200" };
426
- const _hoisted_5$6 = { class: "px-4 sm:px-0" };
448
+ const _sfc_main$E = {};
449
+ const _hoisted_1$C = { class: "md:col-span-1 flex justify-between" };
450
+ const _hoisted_2$k = { class: "px-4 sm:px-0" };
451
+ const _hoisted_3$d = { class: "text-xl font-semibold tracking-tight text-neutral-950 dark:text-neutral-50" };
452
+ const _hoisted_4$a = { class: "mt-1 max-w-2xl text-sm text-neutral-600 dark:text-neutral-200" };
453
+ const _hoisted_5$8 = { class: "px-4 sm:px-0" };
427
454
  function _sfc_render(_ctx, _cache) {
428
- return openBlock(), createElementBlock("div", _hoisted_1$t, [
429
- createElementVNode("div", _hoisted_2$f, [
430
- createElementVNode("h3", _hoisted_3$b, [
455
+ return openBlock(), createElementBlock("div", _hoisted_1$C, [
456
+ createElementVNode("div", _hoisted_2$k, [
457
+ createElementVNode("h3", _hoisted_3$d, [
431
458
  renderSlot(_ctx.$slots, "title")
432
459
  ]),
433
- createElementVNode("p", _hoisted_4$8, [
460
+ createElementVNode("p", _hoisted_4$a, [
434
461
  renderSlot(_ctx.$slots, "description")
435
462
  ])
436
463
  ]),
437
- createElementVNode("div", _hoisted_5$6, [
464
+ createElementVNode("div", _hoisted_5$8, [
438
465
  renderSlot(_ctx.$slots, "aside")
439
466
  ])
440
467
  ]);
441
468
  }
442
- const SectionTitle = /* @__PURE__ */ _export_sfc(_sfc_main$v, [["render", _sfc_render]]);
443
- const _hoisted_1$s = { class: "md:grid md:grid-cols-3 md:gap-6" };
444
- const _hoisted_2$e = { class: "mt-5 md:mt-0 md:col-span-2" };
445
- const _hoisted_3$a = { class: "rounded-lg border border-neutral-200 bg-white px-4 py-5 shadow-sm dark:border-neutral-800 dark:bg-neutral-950 sm:p-6" };
446
- const _sfc_main$u = {
469
+ const SectionTitle = /* @__PURE__ */ _export_sfc(_sfc_main$E, [["render", _sfc_render]]);
470
+ const _hoisted_1$B = { class: "md:grid md:grid-cols-3 md:gap-6" };
471
+ const _hoisted_2$j = { class: "mt-5 md:mt-0 md:col-span-2" };
472
+ const _hoisted_3$c = { class: "rounded-lg border border-neutral-200 bg-white px-4 py-5 shadow-sm dark:border-neutral-800 dark:bg-neutral-950 sm:p-6" };
473
+ const _sfc_main$D = {
447
474
  __name: "ActionSection",
448
475
  setup(__props) {
449
476
  return (_ctx, _cache) => {
450
- return openBlock(), createElementBlock("div", _hoisted_1$s, [
477
+ return openBlock(), createElementBlock("div", _hoisted_1$B, [
451
478
  createVNode(SectionTitle, null, {
452
479
  title: withCtx(() => [
453
480
  renderSlot(_ctx.$slots, "title")
@@ -457,8 +484,8 @@ const _sfc_main$u = {
457
484
  ]),
458
485
  _: 3
459
486
  }),
460
- createElementVNode("div", _hoisted_2$e, [
461
- createElementVNode("div", _hoisted_3$a, [
487
+ createElementVNode("div", _hoisted_2$j, [
488
+ createElementVNode("div", _hoisted_3$c, [
462
489
  renderSlot(_ctx.$slots, "content")
463
490
  ])
464
491
  ])
@@ -466,8 +493,8 @@ const _sfc_main$u = {
466
493
  };
467
494
  }
468
495
  };
469
- const _hoisted_1$r = { class: "sr-only" };
470
- const _sfc_main$t = {
496
+ const _hoisted_1$A = { class: "sr-only" };
497
+ const _sfc_main$C = {
471
498
  __name: "Badge",
472
499
  props: {
473
500
  type: {
@@ -532,7 +559,7 @@ const _sfc_main$t = {
532
559
  createElementVNode("span", {
533
560
  class: normalizeClass(["w-2 h-2 rounded-full", colorClasses[__props.color].dot])
534
561
  }, null, 2),
535
- createElementVNode("span", _hoisted_1$r, [
562
+ createElementVNode("span", _hoisted_1$A, [
536
563
  renderSlot(_ctx.$slots, "default")
537
564
  ])
538
565
  ], 2)) : (openBlock(), createElementBlock("span", {
@@ -549,8 +576,8 @@ const _sfc_main$t = {
549
576
  };
550
577
  }
551
578
  };
552
- const _hoisted_1$q = ["type", "disabled"];
553
- const _sfc_main$s = /* @__PURE__ */ Object.assign({
579
+ const _hoisted_1$z = ["type", "disabled"];
580
+ const _sfc_main$B = /* @__PURE__ */ Object.assign({
554
581
  inheritAttrs: false
555
582
  }, {
556
583
  __name: "Button",
@@ -565,28 +592,49 @@ const _sfc_main$s = /* @__PURE__ */ Object.assign({
565
592
  },
566
593
  variant: {
567
594
  type: String,
568
- default: "primary"
595
+ default: "default"
596
+ },
597
+ size: {
598
+ type: String,
599
+ default: "default"
569
600
  }
570
601
  },
571
602
  setup(__props) {
572
603
  const attrs = useAttrs();
573
604
  const props = __props;
574
605
  const variantClasses = {
575
- primary: "bg-neutral-900 text-neutral-50 hover:bg-neutral-900/90 dark:bg-neutral-800 dark:text-neutral-50 dark:hover:bg-neutral-700",
606
+ default: "bg-primary text-primary-foreground hover:bg-primary/90",
607
+ destructive: "bg-destructive text-white hover:bg-destructive/90 focus-visible:ring-destructive/20 dark:focus-visible:ring-destructive/40 dark:bg-destructive/60",
608
+ outline: "border bg-background shadow-xs hover:bg-accent hover:text-accent-foreground dark:bg-input/30 dark:border-input dark:hover:bg-input/50",
609
+ secondary: "bg-secondary text-secondary-foreground hover:bg-secondary/80",
610
+ ghost: "hover:bg-accent hover:text-accent-foreground dark:hover:bg-accent/50",
611
+ link: "text-primary underline-offset-4 hover:underline",
612
+ primary: "bg-primary text-primary-foreground hover:bg-primary/90",
576
613
  success: "bg-emerald-600 text-white hover:bg-emerald-600/90 dark:bg-emerald-600 dark:text-white dark:hover:bg-emerald-600/90",
577
- secondary: "bg-gray-300 text-gray-900 hover:bg-gray-300/80 dark:bg-gray-500 dark:text-gray-50 dark:hover:bg-gray-500/80",
578
- tertiary: "border border-neutral-200 bg-background shadow-xs hover:bg-accent hover:text-accent-foreground dark:border-input dark:bg-input/30 dark:hover:bg-input/50",
614
+ tertiary: "border bg-background shadow-xs hover:bg-accent hover:text-accent-foreground dark:bg-input/30 dark:border-input dark:hover:bg-input/50",
579
615
  warning: "bg-amber-100 text-amber-700 hover:bg-amber-100/90 focus-visible:ring-amber-500/20 dark:bg-amber-600/20 dark:text-neutral-50 dark:hover:bg-amber-600/30 dark:focus-visible:ring-amber-500/40",
580
- danger: "bg-red-100 text-red-700 hover:bg-red-100/90 focus-visible:ring-red-500/20 dark:bg-red-600/20 dark:text-neutral-50 dark:hover:bg-red-600/30 dark:focus-visible:ring-red-500/40",
616
+ danger: "bg-destructive/10 text-destructive hover:bg-destructive/15 focus-visible:ring-destructive/20 dark:bg-destructive/20 dark:text-destructive-foreground dark:hover:bg-destructive/25",
581
617
  "warning-solid": "bg-amber-500 text-white hover:bg-amber-500/90 dark:bg-amber-500 dark:text-white dark:hover:bg-amber-500/90",
582
- "danger-solid": "bg-red-600 text-white hover:bg-red-600/90 focus-visible:ring-red-500/20 dark:bg-red-600/60 dark:text-white dark:hover:bg-red-600/50 dark:focus-visible:ring-red-500/40"
618
+ "danger-solid": "bg-destructive text-white hover:bg-destructive/90 focus-visible:ring-destructive/20 dark:focus-visible:ring-destructive/40 dark:bg-destructive/60"
619
+ };
620
+ const sizeClasses = {
621
+ default: "h-9 px-4 py-2 has-[>svg]:px-3",
622
+ sm: "h-8 rounded-md gap-1.5 px-3 has-[>svg]:px-2.5",
623
+ lg: "h-10 rounded-md px-6 has-[>svg]:px-4",
624
+ icon: "size-9",
625
+ "icon-sm": "size-8",
626
+ "icon-lg": "size-10"
583
627
  };
584
628
  const resolvedVariant = computed(() => {
585
- return variantClasses[props.variant] ? props.variant : "primary";
629
+ return variantClasses[props.variant] ? props.variant : "default";
630
+ });
631
+ const resolvedSize = computed(() => {
632
+ return sizeClasses[props.size] ? props.size : "default";
586
633
  });
587
634
  const buttonClasses = computed(() => [
588
- "inline-flex h-9 min-w-[40px] shrink-0 items-center justify-center gap-2 whitespace-nowrap rounded-md px-4 py-2 text-sm font-medium shadow-xs outline-none transition-all disabled:pointer-events-none disabled:opacity-50 aria-invalid:border-red-500 aria-invalid:ring-red-500/20 dark:aria-invalid:ring-red-500/40 [&_svg]:pointer-events-none [&_svg]:shrink-0 [&_svg:not([class*=size-])]:size-4 focus-visible:border-ring focus-visible:ring-[3px] focus-visible:ring-ring/50",
635
+ "inline-flex shrink-0 items-center justify-center gap-2 whitespace-nowrap rounded-md text-sm font-medium transition-all disabled:pointer-events-none disabled:opacity-50 [&_svg]:pointer-events-none [&_svg:not([class*=size-])]:size-4 [&_svg]:shrink-0 outline-none focus-visible:border-ring focus-visible:ring-ring/50 focus-visible:ring-[3px] aria-invalid:ring-destructive/20 dark:aria-invalid:ring-destructive/40 aria-invalid:border-destructive",
589
636
  variantClasses[resolvedVariant.value],
637
+ sizeClasses[resolvedSize.value],
590
638
  attrs.class
591
639
  ]);
592
640
  return (_ctx, _cache) => {
@@ -596,12 +644,12 @@ const _sfc_main$s = /* @__PURE__ */ Object.assign({
596
644
  class: buttonClasses.value
597
645
  }), [
598
646
  renderSlot(_ctx.$slots, "default")
599
- ], 16, _hoisted_1$q);
647
+ ], 16, _hoisted_1$z);
600
648
  };
601
649
  }
602
650
  });
603
- const _hoisted_1$p = ["value"];
604
- const _sfc_main$r = {
651
+ const _hoisted_1$y = ["value"];
652
+ const _sfc_main$A = {
605
653
  __name: "Checkbox",
606
654
  props: {
607
655
  checked: {
@@ -631,14 +679,14 @@ const _sfc_main$r = {
631
679
  type: "checkbox",
632
680
  value: __props.value,
633
681
  class: "rounded border-neutral-300 text-neutral-900 shadow-sm focus:ring-neutral-900 dark:border-neutral-700 dark:bg-neutral-950 dark:text-neutral-100 dark:focus:ring-neutral-100"
634
- }, null, 8, _hoisted_1$p)), [
682
+ }, null, 8, _hoisted_1$y)), [
635
683
  [vModelCheckbox, proxyChecked.value]
636
684
  ]);
637
685
  };
638
686
  }
639
687
  };
640
- const _hoisted_1$o = ["checked", "disabled"];
641
- const _sfc_main$q = {
688
+ const _hoisted_1$x = ["checked", "disabled"];
689
+ const _sfc_main$z = {
642
690
  __name: "CheckboxInput",
643
691
  props: {
644
692
  modelValue: {
@@ -693,7 +741,7 @@ const _sfc_main$q = {
693
741
  onChange,
694
742
  onFocus: handleFocus,
695
743
  onBlur: handleBlur
696
- }, null, 40, _hoisted_1$o),
744
+ }, null, 40, _hoisted_1$x),
697
745
  createElementVNode("span", {
698
746
  class: normalizeClass(["inline-flex h-4 w-4 items-center justify-center border text-[10px] font-bold leading-none", [
699
747
  isChecked.value ? "border-current bg-white/15 text-current dark:bg-neutral-900/15" : "border-current/70 text-transparent",
@@ -705,21 +753,21 @@ const _sfc_main$q = {
705
753
  };
706
754
  }
707
755
  };
708
- const _hoisted_1$n = { class: "relative flex items-center" };
709
- const _hoisted_2$d = {
756
+ const _hoisted_1$w = { class: "relative flex items-center" };
757
+ const _hoisted_2$i = {
710
758
  key: 0,
711
759
  class: "absolute inset-y-0 left-0 flex items-center pointer-events-none pl-3"
712
760
  };
713
- const _hoisted_3$9 = ["type", "value", "disabled"];
714
- const _hoisted_4$7 = ["aria-label"];
715
- const _hoisted_5$5 = {
761
+ const _hoisted_3$b = ["type", "value", "disabled"];
762
+ const _hoisted_4$9 = ["aria-label"];
763
+ const _hoisted_5$7 = {
716
764
  key: 0,
717
765
  class: "h-5 w-5",
718
766
  fill: "none",
719
767
  stroke: "currentColor",
720
768
  viewBox: "0 0 24 24"
721
769
  };
722
- const _hoisted_6$5 = {
770
+ const _hoisted_6$7 = {
723
771
  key: 1,
724
772
  class: "h-5 w-5",
725
773
  fill: "none",
@@ -727,7 +775,7 @@ const _hoisted_6$5 = {
727
775
  viewBox: "0 0 24 24"
728
776
  };
729
777
  const DEFAULT_MAX_LENGTH$1 = 254;
730
- const _sfc_main$p = /* @__PURE__ */ Object.assign({ inheritAttrs: false }, {
778
+ const _sfc_main$y = /* @__PURE__ */ Object.assign({ inheritAttrs: false }, {
731
779
  __name: "TextInput",
732
780
  props: {
733
781
  modelValue: {
@@ -786,8 +834,8 @@ const _sfc_main$p = /* @__PURE__ */ Object.assign({ inheritAttrs: false }, {
786
834
  });
787
835
  __expose({ focus: () => input.value?.focus() });
788
836
  return (_ctx, _cache) => {
789
- return openBlock(), createElementBlock("div", _hoisted_1$n, [
790
- isPasswordField.value ? (openBlock(), createElementBlock("div", _hoisted_2$d, [
837
+ return openBlock(), createElementBlock("div", _hoisted_1$w, [
838
+ isPasswordField.value ? (openBlock(), createElementBlock("div", _hoisted_2$i, [
791
839
  createVNode(unref(LockClosedIcon), { class: "h-5 w-5 text-neutral-400 dark:text-neutral-200" })
792
840
  ])) : createCommentVNode("", true),
793
841
  createElementVNode("input", mergeProps({
@@ -801,7 +849,7 @@ const _sfc_main$p = /* @__PURE__ */ Object.assign({ inheritAttrs: false }, {
801
849
  onInput: _cache[0] || (_cache[0] = ($event) => emit("update:modelValue", $event.target.value)),
802
850
  onBlur: _cache[1] || (_cache[1] = ($event) => emit("blur", $event)),
803
851
  onWheel: handleWheel
804
- }), null, 16, _hoisted_3$9),
852
+ }), null, 16, _hoisted_3$b),
805
853
  isPasswordField.value ? (openBlock(), createElementBlock("button", {
806
854
  key: 1,
807
855
  type: "button",
@@ -809,14 +857,14 @@ const _sfc_main$p = /* @__PURE__ */ Object.assign({ inheritAttrs: false }, {
809
857
  "aria-label": revealed.value ? "Hide password" : "Show password",
810
858
  onClick: toggleVisibility
811
859
  }, [
812
- revealed.value ? (openBlock(), createElementBlock("svg", _hoisted_5$5, [..._cache[2] || (_cache[2] = [
860
+ revealed.value ? (openBlock(), createElementBlock("svg", _hoisted_5$7, [..._cache[2] || (_cache[2] = [
813
861
  createElementVNode("path", {
814
862
  "stroke-linecap": "round",
815
863
  "stroke-linejoin": "round",
816
864
  "stroke-width": "2",
817
865
  d: "M13.875 18.825A10.05 10.05 0 0112 19c-5 0-9.27-3.11-11-7 1.01-2.27 2.78-4.1 5-5.32m3.08-1.3A9.96 9.96 0 0112 5c5 0 9.27 3.11 11 7a11.03 11.03 0 01-4.16 4.91M15 12a3 3 0 00-3-3m0 0a3 3 0 00-2.94 3.59M3 3l18 18"
818
866
  }, null, -1)
819
- ])])) : (openBlock(), createElementBlock("svg", _hoisted_6$5, [..._cache[3] || (_cache[3] = [
867
+ ])])) : (openBlock(), createElementBlock("svg", _hoisted_6$7, [..._cache[3] || (_cache[3] = [
820
868
  createElementVNode("path", {
821
869
  "stroke-linecap": "round",
822
870
  "stroke-linejoin": "round",
@@ -830,14 +878,14 @@ const _sfc_main$p = /* @__PURE__ */ Object.assign({ inheritAttrs: false }, {
830
878
  d: "M2.458 12C3.732 7.943 7.523 5 12 5s8.268 2.943 9.542 7c-1.274 4.057-5.065 7-9.542 7S3.732 16.057 2.458 12z"
831
879
  }, null, -1)
832
880
  ])]))
833
- ], 8, _hoisted_4$7)) : createCommentVNode("", true)
881
+ ], 8, _hoisted_4$9)) : createCommentVNode("", true)
834
882
  ]);
835
883
  };
836
884
  }
837
885
  });
838
- const _hoisted_1$m = ["value", "disabled"];
886
+ const _hoisted_1$v = ["value", "disabled"];
839
887
  const DEFAULT_MAX_LENGTH = 1e3;
840
- const _sfc_main$o = /* @__PURE__ */ Object.assign({ inheritAttrs: false }, {
888
+ const _sfc_main$x = /* @__PURE__ */ Object.assign({ inheritAttrs: false }, {
841
889
  __name: "TextArea",
842
890
  props: {
843
891
  modelValue: String,
@@ -907,13 +955,13 @@ const _sfc_main$o = /* @__PURE__ */ Object.assign({ inheritAttrs: false }, {
907
955
  value: props.modelValue,
908
956
  disabled: props.disabled,
909
957
  onInput: updateValue
910
- }), null, 16, _hoisted_1$m)
958
+ }), null, 16, _hoisted_1$v)
911
959
  ]);
912
960
  };
913
961
  }
914
962
  });
915
- const _hoisted_1$l = ["onClick"];
916
- const _sfc_main$n = /* @__PURE__ */ Object.assign({ inheritAttrs: false }, {
963
+ const _hoisted_1$u = ["onClick"];
964
+ const _sfc_main$w = /* @__PURE__ */ Object.assign({ inheritAttrs: false }, {
917
965
  __name: "CustomSelect",
918
966
  props: {
919
967
  modelValue: {
@@ -1193,7 +1241,7 @@ const _sfc_main$n = /* @__PURE__ */ Object.assign({ inheritAttrs: false }, {
1193
1241
  }
1194
1242
  ]),
1195
1243
  onClick: withModifiers(($event) => selectOption(option), ["stop"])
1196
- }, toDisplayString(optionText(option)), 11, _hoisted_1$l);
1244
+ }, toDisplayString(optionText(option)), 11, _hoisted_1$u);
1197
1245
  }), 128))
1198
1246
  ], 6)) : createCommentVNode("", true)
1199
1247
  ]))
@@ -1204,7 +1252,7 @@ const _sfc_main$n = /* @__PURE__ */ Object.assign({ inheritAttrs: false }, {
1204
1252
  };
1205
1253
  }
1206
1254
  });
1207
- const _sfc_main$m = {
1255
+ const _sfc_main$v = {
1208
1256
  __name: "SelectInput",
1209
1257
  props: {
1210
1258
  modelValue: {
@@ -1292,7 +1340,7 @@ const _sfc_main$m = {
1292
1340
  setup(__props, { emit: __emit }) {
1293
1341
  const emit = __emit;
1294
1342
  return (_ctx, _cache) => {
1295
- return openBlock(), createBlock(_sfc_main$n, mergeProps({
1343
+ return openBlock(), createBlock(_sfc_main$w, mergeProps({
1296
1344
  "model-value": __props.modelValue,
1297
1345
  "model-modifiers": __props.modelModifiers,
1298
1346
  options: __props.options,
@@ -1318,8 +1366,8 @@ const _sfc_main$m = {
1318
1366
  };
1319
1367
  }
1320
1368
  };
1321
- const _hoisted_1$k = ["type", "max", "value", "disabled"];
1322
- const _sfc_main$l = /* @__PURE__ */ Object.assign({ inheritAttrs: false }, {
1369
+ const _hoisted_1$t = ["type", "max", "value", "disabled"];
1370
+ const _sfc_main$u = /* @__PURE__ */ Object.assign({ inheritAttrs: false }, {
1323
1371
  __name: "DateInput",
1324
1372
  props: {
1325
1373
  modelValue: {
@@ -1399,22 +1447,22 @@ const _sfc_main$l = /* @__PURE__ */ Object.assign({ inheritAttrs: false }, {
1399
1447
  disabled: props.disabled,
1400
1448
  onInput: handleDateInput,
1401
1449
  onChange: handleDateInput
1402
- }), null, 16, _hoisted_1$k);
1450
+ }), null, 16, _hoisted_1$t);
1403
1451
  };
1404
1452
  }
1405
1453
  });
1406
- const _hoisted_1$j = { class: "relative" };
1407
- const _hoisted_2$c = { class: "absolute inset-y-0 left-0 pl-3 flex items-center pointer-events-none" };
1408
- const _hoisted_3$8 = ["accept"];
1409
- const _hoisted_4$6 = {
1454
+ const _hoisted_1$s = { class: "relative" };
1455
+ const _hoisted_2$h = { class: "absolute inset-y-0 left-0 pl-3 flex items-center pointer-events-none" };
1456
+ const _hoisted_3$a = ["accept"];
1457
+ const _hoisted_4$8 = {
1410
1458
  key: 0,
1411
1459
  class: "mt-4 rounded-lg border border-neutral-200 bg-neutral-50 p-4 dark:border-neutral-800 dark:bg-neutral-900/50"
1412
1460
  };
1413
- const _hoisted_5$4 = { class: "flex items-center space-x-4" };
1414
- const _hoisted_6$4 = ["src"];
1415
- const _hoisted_7$4 = { class: "text-sm font-medium text-neutral-900 dark:text-neutral-50" };
1416
- const _hoisted_8$2 = { class: "text-xs text-neutral-500 dark:text-neutral-200" };
1417
- const _sfc_main$k = {
1461
+ const _hoisted_5$6 = { class: "flex items-center space-x-4" };
1462
+ const _hoisted_6$6 = ["src"];
1463
+ const _hoisted_7$6 = { class: "text-sm font-medium text-neutral-900 dark:text-neutral-50" };
1464
+ const _hoisted_8$3 = { class: "text-xs text-neutral-500 dark:text-neutral-200" };
1465
+ const _sfc_main$t = {
1418
1466
  __name: "ImageInput",
1419
1467
  props: {
1420
1468
  currentImageUrl: {
@@ -1448,8 +1496,8 @@ const _sfc_main$k = {
1448
1496
  };
1449
1497
  return (_ctx, _cache) => {
1450
1498
  return openBlock(), createElementBlock("div", null, [
1451
- createElementVNode("div", _hoisted_1$j, [
1452
- createElementVNode("div", _hoisted_2$c, [
1499
+ createElementVNode("div", _hoisted_1$s, [
1500
+ createElementVNode("div", _hoisted_2$h, [
1453
1501
  createVNode(unref(PhotoIcon), { class: "size-5 text-neutral-400 dark:text-neutral-200" })
1454
1502
  ]),
1455
1503
  createElementVNode("input", mergeProps(__props.attrs, {
@@ -1457,18 +1505,18 @@ const _sfc_main$k = {
1457
1505
  accept: __props.accept,
1458
1506
  class: "block w-full cursor-pointer rounded-lg border border-neutral-200 bg-white py-3 pl-10 pr-4 text-sm text-neutral-700 shadow-sm transition-all duration-200 file:mr-4 file:rounded-md file:border-0 file:bg-neutral-900 file:px-4 file:py-2 file:text-sm file:font-medium file:text-neutral-50 hover:file:bg-neutral-800 focus:border-neutral-900 focus:outline-none focus:ring-2 focus:ring-neutral-950/10 dark:border-neutral-800 dark:bg-neutral-950 dark:text-neutral-100 dark:file:bg-neutral-800 dark:file:text-neutral-50 dark:hover:file:bg-neutral-700 dark:focus:border-neutral-100 dark:focus:ring-neutral-100/10",
1459
1507
  onChange: handleFileChange
1460
- }), null, 16, _hoisted_3$8)
1508
+ }), null, 16, _hoisted_3$a)
1461
1509
  ]),
1462
- props.currentImageUrl ? (openBlock(), createElementBlock("div", _hoisted_4$6, [
1463
- createElementVNode("div", _hoisted_5$4, [
1510
+ props.currentImageUrl ? (openBlock(), createElementBlock("div", _hoisted_4$8, [
1511
+ createElementVNode("div", _hoisted_5$6, [
1464
1512
  createElementVNode("img", {
1465
1513
  src: props.currentImageUrl,
1466
1514
  alt: "Current logo",
1467
1515
  class: "h-16 w-auto max-w-24 object-contain rounded-lg shadow-sm"
1468
- }, null, 8, _hoisted_6$4),
1516
+ }, null, 8, _hoisted_6$6),
1469
1517
  createElementVNode("div", null, [
1470
- createElementVNode("p", _hoisted_7$4, toDisplayString(props.currentLabel), 1),
1471
- createElementVNode("p", _hoisted_8$2, toDisplayString(props.currentSubtext), 1)
1518
+ createElementVNode("p", _hoisted_7$6, toDisplayString(props.currentLabel), 1),
1519
+ createElementVNode("p", _hoisted_8$3, toDisplayString(props.currentSubtext), 1)
1472
1520
  ])
1473
1521
  ])
1474
1522
  ])) : createCommentVNode("", true)
@@ -1476,9 +1524,9 @@ const _sfc_main$k = {
1476
1524
  };
1477
1525
  }
1478
1526
  };
1479
- const _hoisted_1$i = { class: "flex h-12 overflow-hidden rounded-lg border border-neutral-200 bg-white text-sm dark:border-neutral-800 dark:bg-neutral-950" };
1480
- const _hoisted_2$b = ["disabled", "onClick"];
1481
- const _sfc_main$j = {
1527
+ const _hoisted_1$r = { class: "flex h-12 overflow-hidden rounded-lg border border-neutral-200 bg-white text-sm dark:border-neutral-800 dark:bg-neutral-950" };
1528
+ const _hoisted_2$g = ["disabled", "onClick"];
1529
+ const _sfc_main$s = {
1482
1530
  __name: "NotationInput",
1483
1531
  props: {
1484
1532
  modelValue: {
@@ -1504,7 +1552,7 @@ const _sfc_main$j = {
1504
1552
  const isSelected = (option) => String(option) === String(props.modelValue ?? "");
1505
1553
  const selectOption = (option) => emit("update:modelValue", option);
1506
1554
  return (_ctx, _cache) => {
1507
- return openBlock(), createElementBlock("div", _hoisted_1$i, [
1555
+ return openBlock(), createElementBlock("div", _hoisted_1$r, [
1508
1556
  (openBlock(true), createElementBlock(Fragment, null, renderList(normalizedOptions.value, (option, idx) => {
1509
1557
  return openBlock(), createElementBlock("button", {
1510
1558
  key: `notation-${idx}-${option}`,
@@ -1517,14 +1565,14 @@ const _sfc_main$j = {
1517
1565
  ]]),
1518
1566
  disabled: __props.disabled,
1519
1567
  onClick: ($event) => selectOption(option)
1520
- }, toDisplayString(option), 11, _hoisted_2$b);
1568
+ }, toDisplayString(option), 11, _hoisted_2$g);
1521
1569
  }), 128))
1522
1570
  ]);
1523
1571
  };
1524
1572
  }
1525
1573
  };
1526
- const _hoisted_1$h = ["name", "value", "checked", "disabled"];
1527
- const _sfc_main$i = {
1574
+ const _hoisted_1$q = ["name", "value", "checked", "disabled"];
1575
+ const _sfc_main$r = {
1528
1576
  __name: "RadioInput",
1529
1577
  props: {
1530
1578
  modelValue: {
@@ -1579,14 +1627,14 @@ const _sfc_main$i = {
1579
1627
  onChange,
1580
1628
  onFocus: handleFocus,
1581
1629
  onBlur: handleBlur
1582
- }, null, 40, _hoisted_1$h),
1630
+ }, null, 40, _hoisted_1$q),
1583
1631
  createElementVNode("span", null, toDisplayString(isChecked.value ? "✓" : "○") + " " + toDisplayString(__props.label), 1)
1584
1632
  ], 2);
1585
1633
  };
1586
1634
  }
1587
1635
  };
1588
- const _hoisted_1$g = { class: "flex flex-wrap gap-3" };
1589
- const _sfc_main$h = {
1636
+ const _hoisted_1$p = { class: "flex flex-wrap gap-3" };
1637
+ const _sfc_main$q = {
1590
1638
  __name: "RadioMultipleInput",
1591
1639
  props: {
1592
1640
  modelValue: {
@@ -1615,9 +1663,9 @@ const _sfc_main$h = {
1615
1663
  });
1616
1664
  const selectOption = (option) => emit("update:modelValue", option);
1617
1665
  return (_ctx, _cache) => {
1618
- return openBlock(), createElementBlock("div", _hoisted_1$g, [
1666
+ return openBlock(), createElementBlock("div", _hoisted_1$p, [
1619
1667
  (openBlock(true), createElementBlock(Fragment, null, renderList(normalizedOptions.value, (option) => {
1620
- return openBlock(), createBlock(_sfc_main$f, {
1668
+ return openBlock(), createBlock(_sfc_main$o, {
1621
1669
  key: `radio-${__props.name ?? "group"}-${option}`,
1622
1670
  type: "radio-input",
1623
1671
  "model-value": props.modelValue,
@@ -1632,11 +1680,11 @@ const _sfc_main$h = {
1632
1680
  };
1633
1681
  }
1634
1682
  };
1635
- const _hoisted_1$f = {
1683
+ const _hoisted_1$o = {
1636
1684
  key: 0,
1637
1685
  class: "min-h-[12rem] w-full rounded-lg border border-slate-300 bg-slate-50"
1638
1686
  };
1639
- const _sfc_main$g = {
1687
+ const _sfc_main$p = {
1640
1688
  __name: "TinyEditor",
1641
1689
  props: {
1642
1690
  modelValue: {
@@ -1741,7 +1789,7 @@ const _sfc_main$g = {
1741
1789
  };
1742
1790
  return (_ctx, _cache) => {
1743
1791
  return openBlock(), createElementBlock("div", { key: editorKey.value }, [
1744
- !isEditorReady.value ? (openBlock(), createElementBlock("div", _hoisted_1$f)) : (openBlock(), createBlock(unref(Editor), {
1792
+ !isEditorReady.value ? (openBlock(), createElementBlock("div", _hoisted_1$o)) : (openBlock(), createBlock(unref(Editor), {
1745
1793
  key: 1,
1746
1794
  "initial-value": content.value,
1747
1795
  "license-key": __props.licenseKey,
@@ -1755,17 +1803,17 @@ const _sfc_main$g = {
1755
1803
  };
1756
1804
  }
1757
1805
  };
1758
- const _hoisted_1$e = ["for"];
1759
- const _hoisted_2$a = {
1806
+ const _hoisted_1$n = ["for"];
1807
+ const _hoisted_2$f = {
1760
1808
  key: 1,
1761
1809
  class: "text-xs text-gray-500 mb-1 block break-all"
1762
1810
  };
1763
- const _hoisted_3$7 = {
1811
+ const _hoisted_3$9 = {
1764
1812
  key: 15,
1765
1813
  class: "flex items-center mt-2 text-sm text-red-600"
1766
1814
  };
1767
1815
  const defaultFieldClass = "block w-full rounded-lg border border-neutral-200 bg-white px-4 py-3 text-sm text-neutral-950 placeholder:text-neutral-400 shadow-sm transition-all duration-200 focus:border-neutral-900 focus:outline-none focus:ring-2 focus:ring-neutral-950/10 dark:border-neutral-800 dark:bg-neutral-950 dark:text-neutral-50 dark:placeholder:text-neutral-500 dark:focus:border-neutral-100 dark:focus:ring-neutral-100/10";
1768
- const _sfc_main$f = /* @__PURE__ */ Object.assign({ inheritAttrs: false }, {
1816
+ const _sfc_main$o = /* @__PURE__ */ Object.assign({ inheritAttrs: false }, {
1769
1817
  __name: "InputGroup",
1770
1818
  props: {
1771
1819
  type: {
@@ -2057,39 +2105,39 @@ const _sfc_main$f = /* @__PURE__ */ Object.assign({ inheritAttrs: false }, {
2057
2105
  key: 0,
2058
2106
  for: fieldId.value,
2059
2107
  class: "text-base font-semibold text-gray-900 dark:text-gray-50 mb-1 block"
2060
- }, toDisplayString(__props.label), 9, _hoisted_1$e)) : createCommentVNode("", true),
2061
- __props.helperText && !showsInlineChoiceControl.value ? (openBlock(), createElementBlock("span", _hoisted_2$a, toDisplayString(__props.helperText), 1)) : createCommentVNode("", true),
2062
- isTextareaType.value ? (openBlock(), createBlock(_sfc_main$o, mergeProps({ key: 2 }, textAreaBindings.value, {
2108
+ }, toDisplayString(__props.label), 9, _hoisted_1$n)) : createCommentVNode("", true),
2109
+ __props.helperText && !showsInlineChoiceControl.value ? (openBlock(), createElementBlock("span", _hoisted_2$f, toDisplayString(__props.helperText), 1)) : createCommentVNode("", true),
2110
+ isTextareaType.value ? (openBlock(), createBlock(_sfc_main$x, mergeProps({ key: 2 }, textAreaBindings.value, {
2063
2111
  "onUpdate:modelValue": _cache[0] || (_cache[0] = ($event) => emit("update:modelValue", $event)),
2064
2112
  onBlur: _cache[1] || (_cache[1] = ($event) => emit("blur", $event))
2065
- }), null, 16)) : isTinyEditorType.value ? (openBlock(), createBlock(_sfc_main$g, mergeProps({ key: 3 }, tinyEditorBindings.value, {
2113
+ }), null, 16)) : isTinyEditorType.value ? (openBlock(), createBlock(_sfc_main$p, mergeProps({ key: 3 }, tinyEditorBindings.value, {
2066
2114
  "onUpdate:modelValue": _cache[2] || (_cache[2] = ($event) => emit("update:modelValue", $event)),
2067
2115
  onBlur: _cache[3] || (_cache[3] = ($event) => emit("blur", $event))
2068
- }), null, 16)) : isSelectType.value ? (openBlock(), createBlock(_sfc_main$m, mergeProps({ key: 4 }, selectBindings.value, {
2116
+ }), null, 16)) : isSelectType.value ? (openBlock(), createBlock(_sfc_main$v, mergeProps({ key: 4 }, selectBindings.value, {
2069
2117
  "onUpdate:modelValue": _cache[4] || (_cache[4] = ($event) => emit("update:modelValue", $event)),
2070
2118
  onBlur: _cache[5] || (_cache[5] = ($event) => emit("blur", $event))
2071
- }), null, 16)) : isDateType.value ? (openBlock(), createBlock(_sfc_main$l, mergeProps({ key: 5 }, dateBindings.value, {
2119
+ }), null, 16)) : isDateType.value ? (openBlock(), createBlock(_sfc_main$u, mergeProps({ key: 5 }, dateBindings.value, {
2072
2120
  "onUpdate:modelValue": _cache[6] || (_cache[6] = ($event) => emit("update:modelValue", $event)),
2073
2121
  onBlur: _cache[7] || (_cache[7] = ($event) => emit("blur", $event))
2074
- }), null, 16)) : isTextLikeType.value ? (openBlock(), createBlock(_sfc_main$p, mergeProps({ key: 6 }, textInputBindings.value, {
2122
+ }), null, 16)) : isTextLikeType.value ? (openBlock(), createBlock(_sfc_main$y, mergeProps({ key: 6 }, textInputBindings.value, {
2075
2123
  "onUpdate:modelValue": _cache[8] || (_cache[8] = ($event) => emit("update:modelValue", $event)),
2076
2124
  onBlur: _cache[9] || (_cache[9] = ($event) => emit("blur", $event))
2077
- }), null, 16)) : isImageType.value ? (openBlock(), createBlock(_sfc_main$k, mergeProps({ key: 7 }, imageBindings.value, {
2125
+ }), null, 16)) : isImageType.value ? (openBlock(), createBlock(_sfc_main$t, mergeProps({ key: 7 }, imageBindings.value, {
2078
2126
  "onUpdate:modelValue": _cache[10] || (_cache[10] = ($event) => emit("update:modelValue", $event)),
2079
2127
  onBlur: _cache[11] || (_cache[11] = ($event) => emit("blur", $event))
2080
- }), null, 16)) : isCheckboxSingleType.value ? (openBlock(), createBlock(_sfc_main$q, mergeProps({ key: 8 }, checkboxSingleBindings.value, {
2128
+ }), null, 16)) : isCheckboxSingleType.value ? (openBlock(), createBlock(_sfc_main$z, mergeProps({ key: 8 }, checkboxSingleBindings.value, {
2081
2129
  "onUpdate:modelValue": _cache[12] || (_cache[12] = ($event) => emit("update:modelValue", $event)),
2082
2130
  onBlur: _cache[13] || (_cache[13] = ($event) => emit("blur", $event))
2083
- }), null, 16)) : isRadioSingleType.value ? (openBlock(), createBlock(_sfc_main$i, mergeProps({ key: 9 }, radioSingleBindings.value, {
2131
+ }), null, 16)) : isRadioSingleType.value ? (openBlock(), createBlock(_sfc_main$r, mergeProps({ key: 9 }, radioSingleBindings.value, {
2084
2132
  "onUpdate:modelValue": _cache[14] || (_cache[14] = ($event) => emit("update:modelValue", $event)),
2085
2133
  onBlur: _cache[15] || (_cache[15] = ($event) => emit("blur", $event))
2086
- }), null, 16)) : isNotationType.value ? (openBlock(), createBlock(_sfc_main$j, mergeProps({ key: 10 }, notationBindings.value, {
2134
+ }), null, 16)) : isNotationType.value ? (openBlock(), createBlock(_sfc_main$s, mergeProps({ key: 10 }, notationBindings.value, {
2087
2135
  "onUpdate:modelValue": _cache[16] || (_cache[16] = ($event) => emit("update:modelValue", $event)),
2088
2136
  onBlur: _cache[17] || (_cache[17] = ($event) => emit("blur", $event))
2089
- }), null, 16)) : isCheckboxType.value ? (openBlock(), createBlock(_sfc_main$e, mergeProps({ key: 11 }, checkboxBindings.value, {
2137
+ }), null, 16)) : isCheckboxType.value ? (openBlock(), createBlock(_sfc_main$n, mergeProps({ key: 11 }, checkboxBindings.value, {
2090
2138
  "onUpdate:modelValue": _cache[18] || (_cache[18] = ($event) => emit("update:modelValue", $event)),
2091
2139
  onBlur: _cache[19] || (_cache[19] = ($event) => emit("blur", $event))
2092
- }), null, 16)) : isRadioType.value ? (openBlock(), createBlock(_sfc_main$h, mergeProps({ key: 12 }, radioBindings.value, {
2140
+ }), null, 16)) : isRadioType.value ? (openBlock(), createBlock(_sfc_main$q, mergeProps({ key: 12 }, radioBindings.value, {
2093
2141
  "onUpdate:modelValue": _cache[20] || (_cache[20] = ($event) => emit("update:modelValue", $event)),
2094
2142
  onBlur: _cache[21] || (_cache[21] = ($event) => emit("blur", $event))
2095
2143
  }), null, 16)) : isNoComponentType.value ? renderSlot(_ctx.$slots, "unsupported-type", {
@@ -2105,7 +2153,7 @@ const _sfc_main$f = /* @__PURE__ */ Object.assign({ inheritAttrs: false }, {
2105
2153
  updateValue,
2106
2154
  attrs: unref(attrs)
2107
2155
  }),
2108
- hasError.value ? (openBlock(), createElementBlock("div", _hoisted_3$7, [
2156
+ hasError.value ? (openBlock(), createElementBlock("div", _hoisted_3$9, [
2109
2157
  createVNode(unref(ExclamationCircleIcon), { class: "mr-1 h-4 w-4 flex-shrink-0" }),
2110
2158
  createElementVNode("span", null, toDisplayString(__props.errorMessage), 1)
2111
2159
  ])) : createCommentVNode("", true)
@@ -2113,8 +2161,8 @@ const _sfc_main$f = /* @__PURE__ */ Object.assign({ inheritAttrs: false }, {
2113
2161
  };
2114
2162
  }
2115
2163
  });
2116
- const _hoisted_1$d = { class: "flex flex-wrap gap-3" };
2117
- const _sfc_main$e = {
2164
+ const _hoisted_1$m = { class: "flex flex-wrap gap-3" };
2165
+ const _sfc_main$n = {
2118
2166
  __name: "CheckboxMultipleInput",
2119
2167
  props: {
2120
2168
  modelValue: {
@@ -2151,9 +2199,9 @@ const _sfc_main$e = {
2151
2199
  emit("update:modelValue", nextSelection);
2152
2200
  };
2153
2201
  return (_ctx, _cache) => {
2154
- return openBlock(), createElementBlock("div", _hoisted_1$d, [
2202
+ return openBlock(), createElementBlock("div", _hoisted_1$m, [
2155
2203
  (openBlock(true), createElementBlock(Fragment, null, renderList(normalizedOptions.value, (option) => {
2156
- return openBlock(), createBlock(_sfc_main$f, {
2204
+ return openBlock(), createBlock(_sfc_main$o, {
2157
2205
  key: `checkbox-${option}`,
2158
2206
  type: "checkbox-input",
2159
2207
  "model-value": isChecked(option),
@@ -2168,7 +2216,7 @@ const _sfc_main$e = {
2168
2216
  };
2169
2217
  }
2170
2218
  };
2171
- const _sfc_main$d = {
2219
+ const _sfc_main$m = {
2172
2220
  __name: "Modal",
2173
2221
  props: {
2174
2222
  show: {
@@ -2309,14 +2357,14 @@ const _sfc_main$d = {
2309
2357
  };
2310
2358
  }
2311
2359
  };
2312
- const _hoisted_1$c = { class: "bg-white px-4 pb-4 pt-5 dark:bg-neutral-950 sm:p-6 sm:pb-4" };
2313
- const _hoisted_2$9 = { class: "sm:flex sm:items-start" };
2314
- const _hoisted_3$6 = { class: "mx-auto flex size-12 shrink-0 items-center justify-center rounded-full bg-red-100 dark:bg-red-950/60 sm:mx-0 sm:size-10" };
2315
- const _hoisted_4$5 = { class: "mt-3 text-center sm:mt-0 sm:ms-4 sm:text-start" };
2316
- const _hoisted_5$3 = { class: "text-lg font-medium text-neutral-950 dark:text-neutral-50" };
2317
- const _hoisted_6$3 = { class: "mt-4 text-sm text-neutral-600 dark:text-neutral-200" };
2318
- const _hoisted_7$3 = { class: "flex flex-col-reverse gap-4 border-t border-neutral-200 bg-neutral-50 px-6 py-4 text-end dark:border-neutral-800 dark:bg-neutral-900/60 lg:flex-row lg:justify-end lg:gap-0" };
2319
- const _sfc_main$c = {
2360
+ const _hoisted_1$l = { class: "bg-white px-4 pb-4 pt-5 dark:bg-neutral-950 sm:p-6 sm:pb-4" };
2361
+ const _hoisted_2$e = { class: "sm:flex sm:items-start" };
2362
+ const _hoisted_3$8 = { class: "mx-auto flex size-12 shrink-0 items-center justify-center rounded-full bg-red-100 dark:bg-red-950/60 sm:mx-0 sm:size-10" };
2363
+ const _hoisted_4$7 = { class: "mt-3 text-center sm:mt-0 sm:ms-4 sm:text-start" };
2364
+ const _hoisted_5$5 = { class: "text-lg font-medium text-neutral-950 dark:text-neutral-50" };
2365
+ const _hoisted_6$5 = { class: "mt-4 text-sm text-neutral-600 dark:text-neutral-200" };
2366
+ const _hoisted_7$5 = { class: "flex flex-col-reverse gap-4 border-t border-neutral-200 bg-neutral-50 px-6 py-4 text-end dark:border-neutral-800 dark:bg-neutral-900/60 lg:flex-row lg:justify-end lg:gap-0" };
2367
+ const _sfc_main$l = {
2320
2368
  __name: "ConfirmationModal",
2321
2369
  props: {
2322
2370
  show: {
@@ -2344,7 +2392,7 @@ const _sfc_main$c = {
2344
2392
  emit("close");
2345
2393
  };
2346
2394
  return (_ctx, _cache) => {
2347
- return openBlock(), createBlock(_sfc_main$d, {
2395
+ return openBlock(), createBlock(_sfc_main$m, {
2348
2396
  show: __props.show,
2349
2397
  "max-width": __props.maxWidth,
2350
2398
  closeable: __props.closeable,
@@ -2352,22 +2400,22 @@ const _sfc_main$c = {
2352
2400
  onClose: close
2353
2401
  }, {
2354
2402
  default: withCtx(() => [
2355
- createElementVNode("div", _hoisted_1$c, [
2356
- createElementVNode("div", _hoisted_2$9, [
2357
- createElementVNode("div", _hoisted_3$6, [
2403
+ createElementVNode("div", _hoisted_1$l, [
2404
+ createElementVNode("div", _hoisted_2$e, [
2405
+ createElementVNode("div", _hoisted_3$8, [
2358
2406
  createVNode(unref(ExclamationTriangleIcon), { class: "size-6 text-red-600 dark:text-neutral-100" })
2359
2407
  ]),
2360
- createElementVNode("div", _hoisted_4$5, [
2361
- createElementVNode("h3", _hoisted_5$3, [
2408
+ createElementVNode("div", _hoisted_4$7, [
2409
+ createElementVNode("h3", _hoisted_5$5, [
2362
2410
  renderSlot(_ctx.$slots, "title")
2363
2411
  ]),
2364
- createElementVNode("div", _hoisted_6$3, [
2412
+ createElementVNode("div", _hoisted_6$5, [
2365
2413
  renderSlot(_ctx.$slots, "content")
2366
2414
  ])
2367
2415
  ])
2368
2416
  ])
2369
2417
  ]),
2370
- createElementVNode("div", _hoisted_7$3, [
2418
+ createElementVNode("div", _hoisted_7$5, [
2371
2419
  renderSlot(_ctx.$slots, "footer")
2372
2420
  ])
2373
2421
  ]),
@@ -2376,11 +2424,11 @@ const _sfc_main$c = {
2376
2424
  };
2377
2425
  }
2378
2426
  };
2379
- const _hoisted_1$b = { class: "px-6 py-4" };
2380
- const _hoisted_2$8 = { class: "text-lg font-medium text-neutral-950 dark:text-neutral-50" };
2381
- const _hoisted_3$5 = { class: "mt-4 text-sm text-neutral-600 dark:text-neutral-200" };
2382
- const _hoisted_4$4 = { class: "flex flex-row justify-end border-t border-neutral-200 bg-neutral-50 px-6 py-4 text-end dark:border-neutral-800 dark:bg-neutral-900/60" };
2383
- const _sfc_main$b = {
2427
+ const _hoisted_1$k = { class: "px-6 py-4" };
2428
+ const _hoisted_2$d = { class: "text-lg font-medium text-neutral-950 dark:text-neutral-50" };
2429
+ const _hoisted_3$7 = { class: "mt-4 text-sm text-neutral-600 dark:text-neutral-200" };
2430
+ const _hoisted_4$6 = { class: "flex flex-row justify-end border-t border-neutral-200 bg-neutral-50 px-6 py-4 text-end dark:border-neutral-800 dark:bg-neutral-900/60" };
2431
+ const _sfc_main$k = {
2384
2432
  __name: "DialogModal",
2385
2433
  props: {
2386
2434
  show: {
@@ -2403,22 +2451,22 @@ const _sfc_main$b = {
2403
2451
  emit("close");
2404
2452
  };
2405
2453
  return (_ctx, _cache) => {
2406
- return openBlock(), createBlock(_sfc_main$d, {
2454
+ return openBlock(), createBlock(_sfc_main$m, {
2407
2455
  show: __props.show,
2408
2456
  "max-width": __props.maxWidth,
2409
2457
  closeable: __props.closeable,
2410
2458
  onClose: close
2411
2459
  }, {
2412
2460
  default: withCtx(() => [
2413
- createElementVNode("div", _hoisted_1$b, [
2414
- createElementVNode("div", _hoisted_2$8, [
2461
+ createElementVNode("div", _hoisted_1$k, [
2462
+ createElementVNode("div", _hoisted_2$d, [
2415
2463
  renderSlot(_ctx.$slots, "title")
2416
2464
  ]),
2417
- createElementVNode("div", _hoisted_3$5, [
2465
+ createElementVNode("div", _hoisted_3$7, [
2418
2466
  renderSlot(_ctx.$slots, "content")
2419
2467
  ])
2420
2468
  ]),
2421
- createElementVNode("div", _hoisted_4$4, [
2469
+ createElementVNode("div", _hoisted_4$6, [
2422
2470
  renderSlot(_ctx.$slots, "footer")
2423
2471
  ])
2424
2472
  ]),
@@ -2427,8 +2475,8 @@ const _sfc_main$b = {
2427
2475
  };
2428
2476
  }
2429
2477
  };
2430
- const _hoisted_1$a = { class: "relative inline-block w-fit" };
2431
- const _sfc_main$a = {
2478
+ const _hoisted_1$j = { class: "relative inline-block w-fit" };
2479
+ const _sfc_main$j = {
2432
2480
  __name: "Dropdown",
2433
2481
  props: {
2434
2482
  align: {
@@ -2569,7 +2617,7 @@ const _sfc_main$a = {
2569
2617
  window.removeEventListener("scroll", handleViewportChange, true);
2570
2618
  });
2571
2619
  return (_ctx, _cache) => {
2572
- return openBlock(), createElementBlock("div", _hoisted_1$a, [
2620
+ return openBlock(), createElementBlock("div", _hoisted_1$j, [
2573
2621
  createElementVNode("div", {
2574
2622
  ref_key: "triggerRef",
2575
2623
  ref: triggerRef,
@@ -2609,13 +2657,13 @@ const _sfc_main$a = {
2609
2657
  };
2610
2658
  }
2611
2659
  };
2612
- const _hoisted_1$9 = {
2660
+ const _hoisted_1$i = {
2613
2661
  key: 0,
2614
2662
  type: "submit",
2615
2663
  class: "block w-full px-4 py-2 text-start text-sm leading-5 text-neutral-700 transition duration-150 ease-in-out hover:bg-neutral-100 focus:bg-neutral-100 focus:outline-none dark:text-neutral-100 dark:hover:bg-neutral-900 dark:focus:bg-neutral-900"
2616
2664
  };
2617
- const _hoisted_2$7 = ["href"];
2618
- const _sfc_main$9 = {
2665
+ const _hoisted_2$c = ["href"];
2666
+ const _sfc_main$i = {
2619
2667
  __name: "DropdownLink",
2620
2668
  props: {
2621
2669
  href: String,
@@ -2624,7 +2672,7 @@ const _sfc_main$9 = {
2624
2672
  setup(__props) {
2625
2673
  return (_ctx, _cache) => {
2626
2674
  return openBlock(), createElementBlock("div", null, [
2627
- __props.as == "button" ? (openBlock(), createElementBlock("button", _hoisted_1$9, [
2675
+ __props.as == "button" ? (openBlock(), createElementBlock("button", _hoisted_1$i, [
2628
2676
  renderSlot(_ctx.$slots, "default")
2629
2677
  ])) : __props.as == "a" ? (openBlock(), createElementBlock("a", {
2630
2678
  key: 1,
@@ -2632,7 +2680,7 @@ const _sfc_main$9 = {
2632
2680
  class: "block px-4 py-2 text-sm leading-5 text-neutral-700 transition duration-150 ease-in-out hover:bg-neutral-100 focus:bg-neutral-100 focus:outline-none dark:text-neutral-100 dark:hover:bg-neutral-900 dark:focus:bg-neutral-900"
2633
2681
  }, [
2634
2682
  renderSlot(_ctx.$slots, "default")
2635
- ], 8, _hoisted_2$7)) : (openBlock(), createBlock(unref(Link), {
2683
+ ], 8, _hoisted_2$c)) : (openBlock(), createBlock(unref(Link), {
2636
2684
  key: 2,
2637
2685
  href: __props.href,
2638
2686
  class: "block px-4 py-2 text-sm leading-5 text-neutral-700 transition duration-150 ease-in-out hover:bg-neutral-100 focus:bg-neutral-100 focus:outline-none dark:text-neutral-100 dark:hover:bg-neutral-900 dark:focus:bg-neutral-900"
@@ -2646,20 +2694,20 @@ const _sfc_main$9 = {
2646
2694
  };
2647
2695
  }
2648
2696
  };
2649
- const _hoisted_1$8 = { class: "md:grid md:grid-cols-3 md:gap-6" };
2650
- const _hoisted_2$6 = { class: "mt-5 md:col-span-2 md:mt-0" };
2651
- const _hoisted_3$4 = { class: "grid grid-cols-6 gap-6" };
2652
- const _hoisted_4$3 = {
2697
+ const _hoisted_1$h = { class: "md:grid md:grid-cols-3 md:gap-6" };
2698
+ const _hoisted_2$b = { class: "mt-5 md:col-span-2 md:mt-0" };
2699
+ const _hoisted_3$6 = { class: "grid grid-cols-6 gap-6" };
2700
+ const _hoisted_4$5 = {
2653
2701
  key: 0,
2654
2702
  class: "flex items-center justify-start rounded-b-lg border border-t-0 border-neutral-200 bg-neutral-50 px-3 pb-6 text-end dark:border-neutral-800 dark:bg-neutral-900/60 sm:rounded-bl-md sm:rounded-br-md"
2655
2703
  };
2656
- const _sfc_main$8 = {
2704
+ const _sfc_main$h = {
2657
2705
  __name: "FormSection",
2658
2706
  emits: ["submitted"],
2659
2707
  setup(__props) {
2660
2708
  const hasActions = computed(() => !!useSlots().actions);
2661
2709
  return (_ctx, _cache) => {
2662
- return openBlock(), createElementBlock("div", _hoisted_1$8, [
2710
+ return openBlock(), createElementBlock("div", _hoisted_1$h, [
2663
2711
  createVNode(SectionTitle, null, {
2664
2712
  title: withCtx(() => [
2665
2713
  renderSlot(_ctx.$slots, "title")
@@ -2669,18 +2717,18 @@ const _sfc_main$8 = {
2669
2717
  ]),
2670
2718
  _: 3
2671
2719
  }),
2672
- createElementVNode("div", _hoisted_2$6, [
2720
+ createElementVNode("div", _hoisted_2$b, [
2673
2721
  createElementVNode("form", {
2674
2722
  onSubmit: _cache[0] || (_cache[0] = withModifiers(($event) => _ctx.$emit("submitted"), ["prevent"]))
2675
2723
  }, [
2676
2724
  createElementVNode("div", {
2677
2725
  class: normalizeClass(["rounded-lg border border-neutral-200 bg-white px-4 py-5 shadow-sm dark:border-neutral-800 dark:bg-neutral-950 sm:p-6", hasActions.value ? "sm:rounded-tl-md sm:rounded-tr-md" : "sm:rounded-md"])
2678
2726
  }, [
2679
- createElementVNode("div", _hoisted_3$4, [
2727
+ createElementVNode("div", _hoisted_3$6, [
2680
2728
  renderSlot(_ctx.$slots, "form")
2681
2729
  ])
2682
2730
  ], 2),
2683
- hasActions.value ? (openBlock(), createElementBlock("div", _hoisted_4$3, [
2731
+ hasActions.value ? (openBlock(), createElementBlock("div", _hoisted_4$5, [
2684
2732
  renderSlot(_ctx.$slots, "actions")
2685
2733
  ])) : createCommentVNode("", true)
2686
2734
  ], 32)
@@ -2689,8 +2737,8 @@ const _sfc_main$8 = {
2689
2737
  };
2690
2738
  }
2691
2739
  };
2692
- const _hoisted_1$7 = { class: "text-sm text-red-600 dark:text-neutral-100" };
2693
- const _sfc_main$7 = {
2740
+ const _hoisted_1$g = { class: "text-sm text-red-600 dark:text-neutral-100" };
2741
+ const _sfc_main$g = {
2694
2742
  __name: "InputError",
2695
2743
  props: {
2696
2744
  message: String
@@ -2698,33 +2746,33 @@ const _sfc_main$7 = {
2698
2746
  setup(__props) {
2699
2747
  return (_ctx, _cache) => {
2700
2748
  return withDirectives((openBlock(), createElementBlock("div", null, [
2701
- createElementVNode("p", _hoisted_1$7, toDisplayString(__props.message), 1)
2749
+ createElementVNode("p", _hoisted_1$g, toDisplayString(__props.message), 1)
2702
2750
  ], 512)), [
2703
2751
  [vShow, __props.message]
2704
2752
  ]);
2705
2753
  };
2706
2754
  }
2707
2755
  };
2708
- const _hoisted_1$6 = { class: "block text-sm font-medium text-neutral-700 dark:text-neutral-100" };
2709
- const _hoisted_2$5 = { key: 0 };
2710
- const _hoisted_3$3 = { key: 1 };
2711
- const _sfc_main$6 = {
2756
+ const _hoisted_1$f = { class: "block text-sm font-medium text-neutral-700 dark:text-neutral-100" };
2757
+ const _hoisted_2$a = { key: 0 };
2758
+ const _hoisted_3$5 = { key: 1 };
2759
+ const _sfc_main$f = {
2712
2760
  __name: "InputLabel",
2713
2761
  props: {
2714
2762
  value: String
2715
2763
  },
2716
2764
  setup(__props) {
2717
2765
  return (_ctx, _cache) => {
2718
- return openBlock(), createElementBlock("label", _hoisted_1$6, [
2719
- __props.value ? (openBlock(), createElementBlock("span", _hoisted_2$5, toDisplayString(__props.value), 1)) : (openBlock(), createElementBlock("span", _hoisted_3$3, [
2766
+ return openBlock(), createElementBlock("label", _hoisted_1$f, [
2767
+ __props.value ? (openBlock(), createElementBlock("span", _hoisted_2$a, toDisplayString(__props.value), 1)) : (openBlock(), createElementBlock("span", _hoisted_3$5, [
2720
2768
  renderSlot(_ctx.$slots, "default")
2721
2769
  ]))
2722
2770
  ]);
2723
2771
  };
2724
2772
  }
2725
2773
  };
2726
- const _hoisted_1$5 = ["href", "title", "target", "rel"];
2727
- const _sfc_main$5 = /* @__PURE__ */ Object.assign({
2774
+ const _hoisted_1$e = ["href", "title", "target", "rel"];
2775
+ const _sfc_main$e = /* @__PURE__ */ Object.assign({
2728
2776
  inheritAttrs: false
2729
2777
  }, {
2730
2778
  __name: "LinkButton",
@@ -2793,24 +2841,472 @@ const _sfc_main$5 = /* @__PURE__ */ Object.assign({
2793
2841
  class: linkClasses.value
2794
2842
  }), [
2795
2843
  renderSlot(_ctx.$slots, "default")
2796
- ], 16, _hoisted_1$5));
2844
+ ], 16, _hoisted_1$e));
2797
2845
  };
2798
2846
  }
2799
2847
  });
2800
- const _hoisted_1$4 = { class: "hidden sm:block" };
2801
- const _hoisted_2$4 = { class: "py-8" };
2802
- const _sfc_main$4 = {
2848
+ const _hoisted_1$d = { class: "hidden sm:block" };
2849
+ const _hoisted_2$9 = { class: "py-8" };
2850
+ const _sfc_main$d = {
2803
2851
  __name: "SectionBorder",
2804
2852
  setup(__props) {
2805
2853
  return (_ctx, _cache) => {
2806
- return openBlock(), createElementBlock("div", _hoisted_1$4, [
2807
- createElementVNode("div", _hoisted_2$4, [
2808
- createVNode(_sfc_main$y)
2854
+ return openBlock(), createElementBlock("div", _hoisted_1$d, [
2855
+ createElementVNode("div", _hoisted_2$9, [
2856
+ createVNode(_sfc_main$H)
2809
2857
  ])
2810
2858
  ]);
2811
2859
  };
2812
2860
  }
2813
2861
  };
2862
+ const _hoisted_1$c = { class: "flex size-8 items-center justify-center rounded-md bg-neutral-900 text-sm font-semibold text-white dark:bg-neutral-100 dark:text-neutral-900" };
2863
+ const _hoisted_2$8 = { class: "grid flex-1 text-left text-sm text-neutral-900 dark:text-neutral-100" };
2864
+ const _hoisted_3$4 = { class: "mb-0.5 truncate leading-tight font-semibold" };
2865
+ const _hoisted_4$4 = {
2866
+ key: 0,
2867
+ class: "truncate text-xs text-neutral-500 dark:text-neutral-400"
2868
+ };
2869
+ const _hoisted_5$4 = ["href", "target", "rel"];
2870
+ const _hoisted_6$4 = { class: "flex size-8 items-center justify-center rounded-md bg-neutral-900 text-sm font-semibold text-white dark:bg-neutral-100 dark:text-neutral-900" };
2871
+ const _hoisted_7$4 = { class: "grid flex-1 text-left text-sm text-neutral-900 dark:text-neutral-100" };
2872
+ const _hoisted_8$2 = { class: "mb-0.5 truncate leading-tight font-semibold" };
2873
+ const _hoisted_9$2 = {
2874
+ key: 0,
2875
+ class: "truncate text-xs text-neutral-500 dark:text-neutral-400"
2876
+ };
2877
+ const _hoisted_10$2 = { class: "flex size-8 items-center justify-center rounded-md bg-neutral-900 text-sm font-semibold text-white dark:bg-neutral-100 dark:text-neutral-900" };
2878
+ const _hoisted_11$2 = { class: "grid flex-1 text-left text-sm text-neutral-900 dark:text-neutral-100" };
2879
+ const _hoisted_12$2 = { class: "mb-0.5 truncate leading-tight font-semibold" };
2880
+ const _hoisted_13$2 = {
2881
+ key: 0,
2882
+ class: "truncate text-xs text-neutral-500 dark:text-neutral-400"
2883
+ };
2884
+ const sharedClass = "flex items-center gap-3 rounded-lg px-3 py-2 transition-colors hover:bg-neutral-100 dark:hover:bg-neutral-900";
2885
+ const _sfc_main$c = /* @__PURE__ */ defineComponent({
2886
+ __name: "SideMenuBrand",
2887
+ props: {
2888
+ title: {},
2889
+ subtitle: { default: "" },
2890
+ href: { default: void 0 },
2891
+ external: { type: Boolean, default: false },
2892
+ target: { default: void 0 },
2893
+ rel: { default: void 0 },
2894
+ logoText: { default: "" }
2895
+ },
2896
+ setup(__props) {
2897
+ const props = __props;
2898
+ const logoFallback = computed(() => {
2899
+ if (props.logoText) {
2900
+ return props.logoText;
2901
+ }
2902
+ return props.title.split(" ").filter(Boolean).slice(0, 2).map((part) => part.charAt(0)).join("").toUpperCase();
2903
+ });
2904
+ return (_ctx, _cache) => {
2905
+ return __props.href && !__props.external ? (openBlock(), createBlock(unref(Link), {
2906
+ key: 0,
2907
+ href: __props.href,
2908
+ class: normalizeClass(sharedClass)
2909
+ }, {
2910
+ default: withCtx(() => [
2911
+ renderSlot(_ctx.$slots, "logo", {}, () => [
2912
+ createElementVNode("div", _hoisted_1$c, toDisplayString(logoFallback.value), 1)
2913
+ ]),
2914
+ createElementVNode("div", _hoisted_2$8, [
2915
+ createElementVNode("span", _hoisted_3$4, toDisplayString(__props.title), 1),
2916
+ __props.subtitle ? (openBlock(), createElementBlock("span", _hoisted_4$4, toDisplayString(__props.subtitle), 1)) : createCommentVNode("", true)
2917
+ ])
2918
+ ]),
2919
+ _: 3
2920
+ }, 8, ["href"])) : __props.href && __props.external ? (openBlock(), createElementBlock("a", {
2921
+ key: 1,
2922
+ href: __props.href,
2923
+ target: __props.target,
2924
+ rel: __props.rel,
2925
+ class: normalizeClass(sharedClass)
2926
+ }, [
2927
+ renderSlot(_ctx.$slots, "logo", {}, () => [
2928
+ createElementVNode("div", _hoisted_6$4, toDisplayString(logoFallback.value), 1)
2929
+ ]),
2930
+ createElementVNode("div", _hoisted_7$4, [
2931
+ createElementVNode("span", _hoisted_8$2, toDisplayString(__props.title), 1),
2932
+ __props.subtitle ? (openBlock(), createElementBlock("span", _hoisted_9$2, toDisplayString(__props.subtitle), 1)) : createCommentVNode("", true)
2933
+ ])
2934
+ ], 8, _hoisted_5$4)) : (openBlock(), createElementBlock("div", {
2935
+ key: 2,
2936
+ class: normalizeClass(sharedClass)
2937
+ }, [
2938
+ renderSlot(_ctx.$slots, "logo", {}, () => [
2939
+ createElementVNode("div", _hoisted_10$2, toDisplayString(logoFallback.value), 1)
2940
+ ]),
2941
+ createElementVNode("div", _hoisted_11$2, [
2942
+ createElementVNode("span", _hoisted_12$2, toDisplayString(__props.title), 1),
2943
+ __props.subtitle ? (openBlock(), createElementBlock("span", _hoisted_13$2, toDisplayString(__props.subtitle), 1)) : createCommentVNode("", true)
2944
+ ])
2945
+ ]));
2946
+ };
2947
+ }
2948
+ });
2949
+ const _hoisted_1$b = ["href", "aria-current", "target", "rel"];
2950
+ const baseClass = "flex w-full items-center gap-2 rounded-md px-3 py-2 text-sm font-medium text-foreground transition-colors hover:bg-muted dark:text-white";
2951
+ const _sfc_main$b = /* @__PURE__ */ defineComponent({
2952
+ __name: "SideMenuButton",
2953
+ props: {
2954
+ href: {},
2955
+ title: { default: "" },
2956
+ active: { type: Boolean },
2957
+ icon: {},
2958
+ external: { type: Boolean, default: false },
2959
+ target: { default: void 0 },
2960
+ rel: { default: void 0 },
2961
+ activeClass: { default: "bg-muted text-foreground dark:text-white" },
2962
+ class: { type: [Boolean, null, String, Object, Array], default: void 0 },
2963
+ itemClass: { type: [Boolean, null, String, Object, Array], default: "" },
2964
+ iconClass: { default: "h-4 w-4" }
2965
+ },
2966
+ setup(__props) {
2967
+ const props = __props;
2968
+ return (_ctx, _cache) => {
2969
+ return !__props.external ? (openBlock(), createBlock(unref(Link), {
2970
+ key: 0,
2971
+ href: __props.href,
2972
+ "aria-current": __props.active ? "page" : void 0,
2973
+ class: normalizeClass([baseClass, __props.active ? __props.activeClass : "", __props.itemClass, props.class])
2974
+ }, {
2975
+ default: withCtx(() => [
2976
+ __props.icon ? (openBlock(), createBlock(resolveDynamicComponent(__props.icon), {
2977
+ key: 0,
2978
+ class: normalizeClass(__props.iconClass)
2979
+ }, null, 8, ["class"])) : createCommentVNode("", true),
2980
+ renderSlot(_ctx.$slots, "default", {}, () => [
2981
+ createTextVNode(toDisplayString(__props.title), 1)
2982
+ ])
2983
+ ]),
2984
+ _: 3
2985
+ }, 8, ["href", "aria-current", "class"])) : (openBlock(), createElementBlock("a", {
2986
+ key: 1,
2987
+ href: __props.href,
2988
+ "aria-current": __props.active ? "page" : void 0,
2989
+ target: __props.target,
2990
+ rel: __props.rel,
2991
+ class: normalizeClass([baseClass, __props.active ? __props.activeClass : "", __props.itemClass, props.class])
2992
+ }, [
2993
+ __props.icon ? (openBlock(), createBlock(resolveDynamicComponent(__props.icon), {
2994
+ key: 0,
2995
+ class: normalizeClass(__props.iconClass)
2996
+ }, null, 8, ["class"])) : createCommentVNode("", true),
2997
+ renderSlot(_ctx.$slots, "default", {}, () => [
2998
+ createTextVNode(toDisplayString(__props.title), 1)
2999
+ ])
3000
+ ], 10, _hoisted_1$b));
3001
+ };
3002
+ }
3003
+ });
3004
+ const _hoisted_1$a = ["aria-label"];
3005
+ const _sfc_main$a = /* @__PURE__ */ defineComponent({
3006
+ __name: "SideMenuList",
3007
+ props: {
3008
+ items: {},
3009
+ label: { default: "Navigation" },
3010
+ activeClass: { default: "bg-muted text-foreground dark:text-white" },
3011
+ itemClass: { default: "" },
3012
+ iconClass: { default: "h-4 w-4" }
3013
+ },
3014
+ setup(__props) {
3015
+ return (_ctx, _cache) => {
3016
+ return openBlock(), createElementBlock("nav", {
3017
+ "aria-label": __props.label,
3018
+ class: "flex flex-col space-y-1 space-x-0"
3019
+ }, [
3020
+ (openBlock(true), createElementBlock(Fragment, null, renderList(__props.items, (item) => {
3021
+ return openBlock(), createBlock(_sfc_main$b, {
3022
+ key: item.href,
3023
+ href: item.href,
3024
+ title: item.title,
3025
+ icon: item.icon,
3026
+ active: item.active,
3027
+ external: item.external,
3028
+ target: item.target,
3029
+ rel: item.rel,
3030
+ "active-class": __props.activeClass,
3031
+ "item-class": __props.itemClass,
3032
+ "icon-class": __props.iconClass
3033
+ }, {
3034
+ default: withCtx(() => [
3035
+ renderSlot(_ctx.$slots, "item", { item }, () => [
3036
+ createTextVNode(toDisplayString(item.title), 1)
3037
+ ])
3038
+ ]),
3039
+ _: 2
3040
+ }, 1032, ["href", "title", "icon", "active", "external", "target", "rel", "active-class", "item-class", "icon-class"]);
3041
+ }), 128))
3042
+ ], 8, _hoisted_1$a);
3043
+ };
3044
+ }
3045
+ });
3046
+ const _hoisted_1$9 = { class: "px-2 py-0" };
3047
+ const _hoisted_2$7 = { class: "px-3 pb-2 text-xs font-semibold uppercase tracking-wide text-neutral-500 dark:text-neutral-400" };
3048
+ const _sfc_main$9 = /* @__PURE__ */ defineComponent({
3049
+ __name: "SideMenuNavFooter",
3050
+ props: {
3051
+ items: {},
3052
+ label: { default: "Footer" }
3053
+ },
3054
+ setup(__props) {
3055
+ return (_ctx, _cache) => {
3056
+ return openBlock(), createElementBlock("section", _hoisted_1$9, [
3057
+ createElementVNode("h3", _hoisted_2$7, toDisplayString(__props.label), 1),
3058
+ createVNode(_sfc_main$a, {
3059
+ items: __props.items,
3060
+ label: "Footer navigation",
3061
+ "item-class": "text-neutral-600 hover:text-neutral-800 dark:text-neutral-300 dark:hover:text-neutral-100"
3062
+ }, null, 8, ["items"])
3063
+ ]);
3064
+ };
3065
+ }
3066
+ });
3067
+ const _hoisted_1$8 = { class: "px-2 py-0" };
3068
+ const _hoisted_2$6 = { class: "px-3 pb-2 text-xs font-semibold uppercase tracking-wide text-neutral-500 dark:text-neutral-400" };
3069
+ const _sfc_main$8 = /* @__PURE__ */ defineComponent({
3070
+ __name: "SideMenuNavMain",
3071
+ props: {
3072
+ items: {},
3073
+ label: { default: "Plateforme" }
3074
+ },
3075
+ setup(__props) {
3076
+ return (_ctx, _cache) => {
3077
+ return openBlock(), createElementBlock("section", _hoisted_1$8, [
3078
+ createElementVNode("h3", _hoisted_2$6, toDisplayString(__props.label), 1),
3079
+ createVNode(_sfc_main$a, {
3080
+ items: __props.items,
3081
+ label: "Main navigation"
3082
+ }, null, 8, ["items"])
3083
+ ]);
3084
+ };
3085
+ }
3086
+ });
3087
+ const _hoisted_1$7 = { class: "flex items-center gap-2" };
3088
+ const _hoisted_2$5 = { class: "flex size-8 shrink-0 items-center justify-center overflow-hidden rounded-lg bg-neutral-200 text-xs font-semibold text-neutral-900 dark:bg-neutral-800 dark:text-neutral-100" };
3089
+ const _hoisted_3$3 = ["src", "alt"];
3090
+ const _hoisted_4$3 = { key: 1 };
3091
+ const _hoisted_5$3 = { class: "grid flex-1 text-left text-sm leading-tight text-neutral-900 dark:text-neutral-100" };
3092
+ const _hoisted_6$3 = { class: "truncate font-medium" };
3093
+ const _hoisted_7$3 = {
3094
+ key: 0,
3095
+ class: "truncate text-xs text-neutral-500 dark:text-neutral-300"
3096
+ };
3097
+ const _sfc_main$7 = /* @__PURE__ */ defineComponent({
3098
+ __name: "SideMenuUserInfo",
3099
+ props: {
3100
+ name: {},
3101
+ email: { default: "" },
3102
+ avatar: { default: "" },
3103
+ showEmail: { type: Boolean, default: false }
3104
+ },
3105
+ setup(__props) {
3106
+ const props = __props;
3107
+ const initials = computed(() => {
3108
+ return props.name.split(" ").filter(Boolean).slice(0, 2).map((part) => part.charAt(0)).join("").toUpperCase();
3109
+ });
3110
+ return (_ctx, _cache) => {
3111
+ return openBlock(), createElementBlock("div", _hoisted_1$7, [
3112
+ createElementVNode("div", _hoisted_2$5, [
3113
+ __props.avatar ? (openBlock(), createElementBlock("img", {
3114
+ key: 0,
3115
+ src: __props.avatar,
3116
+ alt: __props.name,
3117
+ class: "size-full object-cover"
3118
+ }, null, 8, _hoisted_3$3)) : (openBlock(), createElementBlock("span", _hoisted_4$3, toDisplayString(initials.value), 1))
3119
+ ]),
3120
+ createElementVNode("div", _hoisted_5$3, [
3121
+ createElementVNode("span", _hoisted_6$3, toDisplayString(__props.name), 1),
3122
+ __props.showEmail && __props.email ? (openBlock(), createElementBlock("span", _hoisted_7$3, toDisplayString(__props.email), 1)) : createCommentVNode("", true)
3123
+ ])
3124
+ ]);
3125
+ };
3126
+ }
3127
+ });
3128
+ const _hoisted_1$6 = { class: "p-0 font-normal" };
3129
+ const _hoisted_2$4 = { class: "flex items-center gap-2 px-1 py-1.5 text-left text-sm" };
3130
+ const _sfc_main$6 = /* @__PURE__ */ defineComponent({
3131
+ __name: "SideMenuUserMenuContent",
3132
+ props: {
3133
+ name: {},
3134
+ email: { default: "" },
3135
+ avatar: { default: "" },
3136
+ settingsHref: { default: "" },
3137
+ settingsLabel: { default: "Settings" },
3138
+ logoutLabel: { default: "Log out" }
3139
+ },
3140
+ emits: ["logout"],
3141
+ setup(__props, { emit: __emit }) {
3142
+ const emit = __emit;
3143
+ return (_ctx, _cache) => {
3144
+ return openBlock(), createElementBlock(Fragment, null, [
3145
+ createElementVNode("div", _hoisted_1$6, [
3146
+ createElementVNode("div", _hoisted_2$4, [
3147
+ createVNode(_sfc_main$7, {
3148
+ name: __props.name,
3149
+ email: __props.email,
3150
+ avatar: __props.avatar,
3151
+ "show-email": true
3152
+ }, null, 8, ["name", "email", "avatar"])
3153
+ ])
3154
+ ]),
3155
+ _cache[1] || (_cache[1] = createElementVNode("div", { class: "my-1 border-t border-neutral-200 dark:border-neutral-800" }, null, -1)),
3156
+ __props.settingsHref ? (openBlock(), createBlock(_sfc_main$i, {
3157
+ key: 0,
3158
+ href: __props.settingsHref
3159
+ }, {
3160
+ default: withCtx(() => [
3161
+ createVNode(unref(Cog6ToothIcon), { class: "mr-2 size-4" }),
3162
+ createTextVNode(" " + toDisplayString(__props.settingsLabel), 1)
3163
+ ]),
3164
+ _: 1
3165
+ }, 8, ["href"])) : createCommentVNode("", true),
3166
+ createElementVNode("button", {
3167
+ type: "button",
3168
+ class: "block w-full px-4 py-2 text-start text-sm leading-5 text-neutral-700 transition duration-150 ease-in-out hover:bg-neutral-100 focus:bg-neutral-100 focus:outline-none dark:text-neutral-100 dark:hover:bg-neutral-900 dark:focus:bg-neutral-900",
3169
+ onClick: _cache[0] || (_cache[0] = ($event) => emit("logout"))
3170
+ }, [
3171
+ createVNode(unref(ArrowRightOnRectangleIcon), { class: "mr-2 inline size-4" }),
3172
+ createTextVNode(" " + toDisplayString(__props.logoutLabel), 1)
3173
+ ])
3174
+ ], 64);
3175
+ };
3176
+ }
3177
+ });
3178
+ const _hoisted_1$5 = {
3179
+ type: "button",
3180
+ class: "flex w-full items-center gap-2 rounded-lg px-3 py-2 text-left text-sm transition-colors hover:bg-neutral-100 dark:hover:bg-neutral-900"
3181
+ };
3182
+ const _sfc_main$5 = /* @__PURE__ */ defineComponent({
3183
+ __name: "SideMenuNavUser",
3184
+ props: {
3185
+ user: {},
3186
+ settingsHref: { default: "" },
3187
+ settingsLabel: { default: "Settings" },
3188
+ logoutLabel: { default: "Log out" }
3189
+ },
3190
+ emits: ["logout"],
3191
+ setup(__props, { emit: __emit }) {
3192
+ const emit = __emit;
3193
+ const handleLogout = () => {
3194
+ emit("logout");
3195
+ };
3196
+ return (_ctx, _cache) => {
3197
+ return openBlock(), createBlock(_sfc_main$j, {
3198
+ align: "right",
3199
+ width: "48",
3200
+ "content-classes": ["py-1", "bg-white", "dark:bg-neutral-950"]
3201
+ }, {
3202
+ trigger: withCtx(() => [
3203
+ createElementVNode("button", _hoisted_1$5, [
3204
+ createVNode(_sfc_main$7, {
3205
+ name: __props.user.name,
3206
+ email: __props.user.email,
3207
+ avatar: __props.user.avatar
3208
+ }, null, 8, ["name", "email", "avatar"]),
3209
+ createVNode(unref(ChevronUpDownIcon), { class: "ml-auto size-4" })
3210
+ ])
3211
+ ]),
3212
+ content: withCtx(() => [
3213
+ renderSlot(_ctx.$slots, "content", {
3214
+ user: __props.user,
3215
+ logout: handleLogout
3216
+ }, () => [
3217
+ createVNode(_sfc_main$6, {
3218
+ name: __props.user.name,
3219
+ email: __props.user.email,
3220
+ avatar: __props.user.avatar,
3221
+ "settings-href": __props.settingsHref,
3222
+ "settings-label": __props.settingsLabel,
3223
+ "logout-label": __props.logoutLabel,
3224
+ onLogout: handleLogout
3225
+ }, null, 8, ["name", "email", "avatar", "settings-href", "settings-label", "logout-label"])
3226
+ ])
3227
+ ]),
3228
+ _: 3
3229
+ });
3230
+ };
3231
+ }
3232
+ });
3233
+ const _hoisted_1$4 = { class: "grid gap-4" };
3234
+ const rootClass = "flex h-full w-full max-w-xs flex-col border-r border-neutral-200 bg-white/95 shadow-sm dark:border-neutral-800 dark:bg-neutral-950";
3235
+ const headerClass = "border-b border-neutral-200 p-4 dark:border-neutral-800";
3236
+ const contentClass = "flex min-h-0 flex-1 flex-col gap-4 overflow-y-auto p-2";
3237
+ const footerClass = "border-t border-neutral-200 p-2 dark:border-neutral-800";
3238
+ const _sfc_main$4 = /* @__PURE__ */ defineComponent({
3239
+ __name: "SideMenu",
3240
+ props: {
3241
+ brand: { default: void 0 },
3242
+ mainItems: { default: () => [] },
3243
+ footerItems: { default: () => [] },
3244
+ user: { default: void 0 },
3245
+ mainLabel: { default: "Plateforme" },
3246
+ footerLabel: { default: "Ressources" },
3247
+ settingsHref: { default: "" },
3248
+ settingsLabel: { default: "Settings" },
3249
+ logoutLabel: { default: "Log out" },
3250
+ class: { type: [Boolean, null, String, Object, Array], default: void 0 },
3251
+ headerClass: { type: [Boolean, null, String, Object, Array], default: void 0 },
3252
+ contentClass: { type: [Boolean, null, String, Object, Array], default: void 0 },
3253
+ footerClass: { type: [Boolean, null, String, Object, Array], default: void 0 }
3254
+ },
3255
+ setup(__props) {
3256
+ const props = __props;
3257
+ const slots = useSlots();
3258
+ const hasHeader = computed(() => Boolean(slots.header || props.brand));
3259
+ const hasContent = computed(() => Boolean(slots.default || props.mainItems.length));
3260
+ const hasFooter = computed(() => Boolean(slots.footer || props.footerItems.length || props.user));
3261
+ return (_ctx, _cache) => {
3262
+ return openBlock(), createElementBlock("aside", {
3263
+ class: normalizeClass([rootClass, props.class])
3264
+ }, [
3265
+ hasHeader.value ? (openBlock(), createElementBlock("div", {
3266
+ key: 0,
3267
+ class: normalizeClass([headerClass, props.headerClass])
3268
+ }, [
3269
+ renderSlot(_ctx.$slots, "header", {}, () => [
3270
+ __props.brand ? (openBlock(), createBlock(_sfc_main$c, normalizeProps(mergeProps({ key: 0 }, __props.brand)), null, 16)) : createCommentVNode("", true)
3271
+ ])
3272
+ ], 2)) : createCommentVNode("", true),
3273
+ hasContent.value ? (openBlock(), createElementBlock("div", {
3274
+ key: 1,
3275
+ class: normalizeClass([contentClass, props.contentClass])
3276
+ }, [
3277
+ renderSlot(_ctx.$slots, "default", {}, () => [
3278
+ __props.mainItems.length ? (openBlock(), createBlock(_sfc_main$8, {
3279
+ key: 0,
3280
+ items: __props.mainItems,
3281
+ label: __props.mainLabel
3282
+ }, null, 8, ["items", "label"])) : createCommentVNode("", true)
3283
+ ])
3284
+ ], 2)) : createCommentVNode("", true),
3285
+ hasFooter.value ? (openBlock(), createElementBlock("div", {
3286
+ key: 2,
3287
+ class: normalizeClass([footerClass, props.footerClass])
3288
+ }, [
3289
+ renderSlot(_ctx.$slots, "footer", {}, () => [
3290
+ createElementVNode("div", _hoisted_1$4, [
3291
+ __props.footerItems.length ? (openBlock(), createBlock(_sfc_main$9, {
3292
+ key: 0,
3293
+ items: __props.footerItems,
3294
+ label: __props.footerLabel
3295
+ }, null, 8, ["items", "label"])) : createCommentVNode("", true),
3296
+ __props.user ? (openBlock(), createBlock(_sfc_main$5, {
3297
+ key: 1,
3298
+ user: __props.user,
3299
+ "settings-href": __props.settingsHref,
3300
+ "settings-label": __props.settingsLabel,
3301
+ "logout-label": __props.logoutLabel
3302
+ }, null, 8, ["user", "settings-href", "settings-label", "logout-label"])) : createCommentVNode("", true)
3303
+ ])
3304
+ ])
3305
+ ], 2)) : createCommentVNode("", true)
3306
+ ], 2);
3307
+ };
3308
+ }
3309
+ });
2814
3310
  const _hoisted_1$3 = { class: "rounded-xl border border-neutral-200 bg-white/80 px-6 py-4 backdrop-blur-sm dark:border-neutral-800 dark:bg-neutral-950/80" };
2815
3311
  const _hoisted_2$3 = { class: "flex flex-col items-start justify-between gap-4 sm:flex-row sm:items-center" };
2816
3312
  const _hoisted_3$2 = { class: "flex items-center gap-3" };
@@ -3159,7 +3655,7 @@ const _sfc_main$1 = {
3159
3655
  ]),
3160
3656
  createElementVNode("h3", _hoisted_13$1, toDisplayString(__props.emptyState.title), 1),
3161
3657
  createElementVNode("p", _hoisted_14$1, toDisplayString(__props.emptyState.description), 1),
3162
- __props.emptyState.actionText && __props.emptyState.actionUrl ? (openBlock(), createBlock(_sfc_main$5, {
3658
+ __props.emptyState.actionText && __props.emptyState.actionUrl ? (openBlock(), createBlock(_sfc_main$e, {
3163
3659
  key: 0,
3164
3660
  href: __props.emptyState.actionUrl,
3165
3661
  variant: "primary"
@@ -3652,7 +4148,7 @@ const _sfc_main = {
3652
4148
  isEditingRow(item, index) && column.slot && unref(slots)[getEditSlotName(column)] ? renderSlot(_ctx.$slots, getEditSlotName(column), mergeProps({
3653
4149
  key: 0,
3654
4150
  ref_for: true
3655
- }, getSlotBindings(item, column, index))) : isEditingRow(item, index) && column.input ? (openBlock(), createBlock(_sfc_main$f, {
4151
+ }, getSlotBindings(item, column, index))) : isEditingRow(item, index) && column.input ? (openBlock(), createBlock(_sfc_main$o, {
3656
4152
  key: 1,
3657
4153
  type: getInputType(column),
3658
4154
  class: normalizeClass(getInputClass(column)),
@@ -3685,10 +4181,11 @@ const _sfc_main = {
3685
4181
  key: 0,
3686
4182
  ref_for: true
3687
4183
  }, getSlotBindings(item, null, index))) : createCommentVNode("", true),
3688
- __props.rowEditing && isEditingRow(item, index) ? (openBlock(), createBlock(_sfc_main$s, {
4184
+ __props.rowEditing && isEditingRow(item, index) ? (openBlock(), createBlock(_sfc_main$B, {
3689
4185
  key: 1,
3690
4186
  type: "button",
3691
- variant: "tertiary",
4187
+ variant: "outline",
4188
+ size: "icon",
3692
4189
  title: __props.cancelLabel,
3693
4190
  "aria-label": __props.cancelLabel,
3694
4191
  onClick: ($event) => cancelEdit(item, index)
@@ -3697,10 +4194,11 @@ const _sfc_main = {
3697
4194
  createVNode(unref(CheckIcon), { class: "size-4" })
3698
4195
  ]),
3699
4196
  _: 1
3700
- }, 8, ["title", "aria-label", "onClick"])) : __props.rowEditing ? (openBlock(), createBlock(_sfc_main$s, {
4197
+ }, 8, ["title", "aria-label", "onClick"])) : __props.rowEditing ? (openBlock(), createBlock(_sfc_main$B, {
3701
4198
  key: 2,
3702
4199
  type: "button",
3703
- variant: "warning",
4200
+ variant: "secondary",
4201
+ size: "icon",
3704
4202
  disabled: isRowEditDisabled(item, index),
3705
4203
  title: __props.editLabel,
3706
4204
  "aria-label": __props.editLabel,
@@ -3723,7 +4221,7 @@ const _sfc_main = {
3723
4221
  ]),
3724
4222
  createElementVNode("h3", _hoisted_17, toDisplayString(__props.emptyState.title), 1),
3725
4223
  createElementVNode("p", _hoisted_18, toDisplayString(__props.emptyState.description), 1),
3726
- __props.emptyState.actionText && __props.emptyState.actionUrl ? (openBlock(), createBlock(_sfc_main$5, {
4224
+ __props.emptyState.actionText && __props.emptyState.actionUrl ? (openBlock(), createBlock(_sfc_main$e, {
3727
4225
  key: 0,
3728
4226
  href: __props.emptyState.actionUrl,
3729
4227
  variant: "primary"
@@ -3749,43 +4247,52 @@ const plugin = {
3749
4247
  }
3750
4248
  };
3751
4249
  export {
3752
- _sfc_main$x as ActionCard,
3753
- _sfc_main$w as ActionMessage,
3754
- _sfc_main$u as ActionSection,
3755
- _sfc_main$t as Badge,
3756
- _sfc_main$s as Button,
3757
- _sfc_main$z as Card,
3758
- _sfc_main$A as CardTabs,
3759
- _sfc_main$r as Checkbox,
3760
- _sfc_main$q as CheckboxInput,
3761
- _sfc_main$e as CheckboxMultipleInput,
3762
- _sfc_main$c as ConfirmationModal,
3763
- _sfc_main$n as CustomSelect,
3764
- _sfc_main$l as DateInput,
3765
- _sfc_main$b as DialogModal,
3766
- _sfc_main$y as Divider,
3767
- _sfc_main$a as Dropdown,
3768
- _sfc_main$9 as DropdownLink,
4250
+ _sfc_main$G as ActionCard,
4251
+ _sfc_main$F as ActionMessage,
4252
+ _sfc_main$D as ActionSection,
4253
+ _sfc_main$C as Badge,
4254
+ _sfc_main$B as Button,
4255
+ _sfc_main$I as Card,
4256
+ _sfc_main$J as CardTabs,
4257
+ _sfc_main$A as Checkbox,
4258
+ _sfc_main$z as CheckboxInput,
4259
+ _sfc_main$n as CheckboxMultipleInput,
4260
+ _sfc_main$l as ConfirmationModal,
4261
+ _sfc_main$w as CustomSelect,
4262
+ _sfc_main$u as DateInput,
4263
+ _sfc_main$k as DialogModal,
4264
+ _sfc_main$H as Divider,
4265
+ _sfc_main$j as Dropdown,
4266
+ _sfc_main$i as DropdownLink,
3769
4267
  plugin as EnosVueDefault,
3770
- _sfc_main$8 as FormSection,
3771
- _sfc_main$k as ImageInput,
3772
- _sfc_main$7 as InputError,
3773
- _sfc_main$f as InputGroup,
3774
- _sfc_main$6 as InputLabel,
3775
- _sfc_main$5 as LinkButton,
3776
- _sfc_main$d as Modal,
3777
- _sfc_main$j as NotationInput,
3778
- _sfc_main$i as RadioInput,
3779
- _sfc_main$h as RadioMultipleInput,
3780
- _sfc_main$4 as SectionBorder,
4268
+ _sfc_main$h as FormSection,
4269
+ _sfc_main$t as ImageInput,
4270
+ _sfc_main$g as InputError,
4271
+ _sfc_main$o as InputGroup,
4272
+ _sfc_main$f as InputLabel,
4273
+ _sfc_main$e as LinkButton,
4274
+ _sfc_main$m as Modal,
4275
+ _sfc_main$s as NotationInput,
4276
+ _sfc_main$r as RadioInput,
4277
+ _sfc_main$q as RadioMultipleInput,
4278
+ _sfc_main$d as SectionBorder,
3781
4279
  SectionTitle,
3782
- _sfc_main$m as SelectInput,
4280
+ _sfc_main$v as SelectInput,
4281
+ _sfc_main$4 as SideMenu,
4282
+ _sfc_main$c as SideMenuBrand,
4283
+ _sfc_main$b as SideMenuButton,
4284
+ _sfc_main$a as SideMenuList,
4285
+ _sfc_main$9 as SideMenuNavFooter,
4286
+ _sfc_main$8 as SideMenuNavMain,
4287
+ _sfc_main$5 as SideMenuNavUser,
4288
+ _sfc_main$7 as SideMenuUserInfo,
4289
+ _sfc_main$6 as SideMenuUserMenuContent,
3783
4290
  _sfc_main$3 as SortControls,
3784
4291
  _sfc_main$1 as TableList,
3785
4292
  _sfc_main as TableListForm,
3786
- _sfc_main$o as TextArea,
3787
- _sfc_main$p as TextInput,
4293
+ _sfc_main$x as TextArea,
4294
+ _sfc_main$y as TextInput,
3788
4295
  _sfc_main$2 as ThSortable,
3789
- _sfc_main$g as TinyEditor
4296
+ _sfc_main$p as TinyEditor
3790
4297
  };
3791
4298
  //# sourceMappingURL=index.js.map