@enos5/enos-vue-default 1.0.1 → 1.2.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,129 +1,141 @@
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";
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, inject, provide, defineComponent, isVNode, cloneVNode, resolveDynamicComponent, createTextVNode, h, vModelText } from "vue";
2
+ import { LockClosedIcon, ChevronDownIcon, PhotoIcon, ExclamationCircleIcon, ExclamationTriangleIcon, 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$G;
8
+ return _sfc_main$K;
9
9
  },
10
10
  get ActionMessage() {
11
- return _sfc_main$F;
11
+ return _sfc_main$J;
12
12
  },
13
13
  get ActionSection() {
14
- return _sfc_main$D;
14
+ return _sfc_main$H;
15
15
  },
16
16
  get Badge() {
17
- return _sfc_main$C;
17
+ return _sfc_main$G;
18
18
  },
19
19
  get Button() {
20
- return _sfc_main$B;
20
+ return _sfc_main$F;
21
21
  },
22
22
  get Card() {
23
- return _sfc_main$I;
23
+ return _sfc_main$M;
24
24
  },
25
25
  get CardTabs() {
26
- return _sfc_main$J;
26
+ return _sfc_main$N;
27
27
  },
28
28
  get Checkbox() {
29
- return _sfc_main$A;
29
+ return _sfc_main$E;
30
30
  },
31
31
  get CheckboxInput() {
32
- return _sfc_main$z;
32
+ return _sfc_main$D;
33
33
  },
34
34
  get CheckboxMultipleInput() {
35
- return _sfc_main$n;
35
+ return _sfc_main$r;
36
36
  },
37
37
  get ConfirmationModal() {
38
- return _sfc_main$l;
38
+ return _sfc_main$p;
39
39
  },
40
40
  get CustomSelect() {
41
- return _sfc_main$w;
41
+ return _sfc_main$A;
42
42
  },
43
43
  get DateInput() {
44
- return _sfc_main$u;
44
+ return _sfc_main$y;
45
45
  },
46
46
  get DialogModal() {
47
- return _sfc_main$k;
47
+ return _sfc_main$o;
48
48
  },
49
49
  get Divider() {
50
- return _sfc_main$H;
50
+ return _sfc_main$L;
51
51
  },
52
52
  get Dropdown() {
53
- return _sfc_main$j;
53
+ return _sfc_main$n;
54
54
  },
55
55
  get DropdownLink() {
56
- return _sfc_main$i;
56
+ return _sfc_main$m;
57
57
  },
58
58
  get EnosVueDefault() {
59
59
  return plugin;
60
60
  },
61
61
  get FormSection() {
62
- return _sfc_main$h;
62
+ return _sfc_main$l;
63
63
  },
64
64
  get ImageInput() {
65
- return _sfc_main$t;
65
+ return _sfc_main$x;
66
66
  },
67
67
  get InputError() {
68
- return _sfc_main$g;
68
+ return _sfc_main$k;
69
69
  },
70
70
  get InputGroup() {
71
- return _sfc_main$o;
71
+ return _sfc_main$s;
72
72
  },
73
73
  get InputLabel() {
74
- return _sfc_main$f;
74
+ return _sfc_main$j;
75
75
  },
76
76
  get LinkButton() {
77
- return _sfc_main$e;
77
+ return _sfc_main$i;
78
78
  },
79
79
  get Modal() {
80
- return _sfc_main$m;
80
+ return _sfc_main$q;
81
81
  },
82
82
  get NotationInput() {
83
- return _sfc_main$s;
83
+ return _sfc_main$w;
84
84
  },
85
85
  get RadioInput() {
86
- return _sfc_main$r;
86
+ return _sfc_main$v;
87
87
  },
88
88
  get RadioMultipleInput() {
89
- return _sfc_main$q;
89
+ return _sfc_main$u;
90
90
  },
91
91
  get SectionBorder() {
92
- return _sfc_main$d;
92
+ return _sfc_main$h;
93
93
  },
94
94
  get SectionTitle() {
95
95
  return SectionTitle;
96
96
  },
97
97
  get SelectInput() {
98
- return _sfc_main$v;
98
+ return _sfc_main$z;
99
99
  },
100
- get SideMenu() {
101
- return _sfc_main$4;
100
+ get Sidebar() {
101
+ return _sfc_main$g;
102
+ },
103
+ get SidebarContent() {
104
+ return _sfc_main$f;
105
+ },
106
+ get SidebarFooter() {
107
+ return _sfc_main$e;
102
108
  },
103
- get SideMenuBrand() {
109
+ get SidebarGroup() {
110
+ return _sfc_main$d;
111
+ },
112
+ get SidebarGroupContent() {
104
113
  return _sfc_main$c;
105
114
  },
106
- get SideMenuButton() {
115
+ get SidebarGroupLabel() {
107
116
  return _sfc_main$b;
108
117
  },
109
- get SideMenuList() {
118
+ get SidebarHeader() {
110
119
  return _sfc_main$a;
111
120
  },
112
- get SideMenuNavFooter() {
121
+ get SidebarInset() {
113
122
  return _sfc_main$9;
114
123
  },
115
- get SideMenuNavMain() {
124
+ get SidebarMenu() {
116
125
  return _sfc_main$8;
117
126
  },
118
- get SideMenuNavUser() {
119
- return _sfc_main$5;
120
- },
121
- get SideMenuUserInfo() {
127
+ get SidebarMenuButton() {
122
128
  return _sfc_main$7;
123
129
  },
124
- get SideMenuUserMenuContent() {
130
+ get SidebarMenuItem() {
125
131
  return _sfc_main$6;
126
132
  },
133
+ get SidebarProvider() {
134
+ return _sfc_main$5;
135
+ },
136
+ get SidebarTrigger() {
137
+ return _sfc_main$4;
138
+ },
127
139
  get SortControls() {
128
140
  return _sfc_main$3;
129
141
  },
@@ -134,25 +146,25 @@ const components = /* @__PURE__ */ Object.freeze(/* @__PURE__ */ Object.definePr
134
146
  return _sfc_main;
135
147
  },
136
148
  get TextArea() {
137
- return _sfc_main$x;
149
+ return _sfc_main$B;
138
150
  },
139
151
  get TextInput() {
140
- return _sfc_main$y;
152
+ return _sfc_main$C;
141
153
  },
142
154
  get ThSortable() {
143
155
  return _sfc_main$2;
144
156
  },
145
157
  get TinyEditor() {
146
- return _sfc_main$p;
158
+ return _sfc_main$t;
147
159
  }
148
160
  }, Symbol.toStringTag, { value: "Module" }));
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 = {
161
+ const _hoisted_1$y = { class: "border-b border-neutral-200 bg-neutral-50/80 p-2 dark:border-neutral-800 dark:bg-neutral-900/80" };
162
+ const _hoisted_2$i = {
151
163
  role: "tablist",
152
164
  class: "flex overflow-hidden rounded-lg bg-white shadow-sm ring-1 ring-neutral-200 dark:bg-neutral-950 dark:ring-neutral-800"
153
165
  };
154
- const _hoisted_3$e = ["aria-selected", "tabindex", "onClick", "onKeydown"];
155
- const _sfc_main$J = {
166
+ const _hoisted_3$c = ["aria-selected", "tabindex", "onClick", "onKeydown"];
167
+ const _sfc_main$N = {
156
168
  __name: "CardTabs",
157
169
  props: {
158
170
  tabs: {
@@ -221,8 +233,8 @@ const _sfc_main$J = {
221
233
  focusTabAtIndex(targetIndex);
222
234
  };
223
235
  return (_ctx, _cache) => {
224
- return openBlock(), createElementBlock("div", _hoisted_1$F, [
225
- createElementVNode("div", _hoisted_2$m, [
236
+ return openBlock(), createElementBlock("div", _hoisted_1$y, [
237
+ createElementVNode("div", _hoisted_2$i, [
226
238
  (openBlock(true), createElementBlock(Fragment, null, renderList(__props.tabs, (tab, index) => {
227
239
  return openBlock(), createElementBlock("button", {
228
240
  key: tab.value,
@@ -242,22 +254,22 @@ const _sfc_main$J = {
242
254
  ]),
243
255
  onClick: ($event) => activateTab(tab.value),
244
256
  onKeydown: ($event) => onTabKeydown($event, index)
245
- }, toDisplayString(tab.label), 47, _hoisted_3$e);
257
+ }, toDisplayString(tab.label), 47, _hoisted_3$c);
246
258
  }), 128))
247
259
  ])
248
260
  ]);
249
261
  };
250
262
  }
251
263
  };
252
- const _hoisted_1$E = {
264
+ const _hoisted_1$x = {
253
265
  key: 0,
254
266
  class: "mb-4"
255
267
  };
256
- const _hoisted_2$l = {
268
+ const _hoisted_2$h = {
257
269
  key: 1,
258
270
  class: "mb-4 text-xl font-semibold tracking-tight text-neutral-950 dark:text-neutral-50"
259
271
  };
260
- const _sfc_main$I = {
272
+ const _sfc_main$M = {
261
273
  __name: "Card",
262
274
  props: {
263
275
  title: {
@@ -318,7 +330,7 @@ const _sfc_main$I = {
318
330
  return openBlock(), createElementBlock("div", {
319
331
  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])
320
332
  }, [
321
- __props.tabs.length > 0 ? (openBlock(), createBlock(_sfc_main$J, {
333
+ __props.tabs.length > 0 ? (openBlock(), createBlock(_sfc_main$N, {
322
334
  key: 0,
323
335
  tabs: __props.tabs,
324
336
  "active-tab": __props.activeTab,
@@ -328,9 +340,9 @@ const _sfc_main$I = {
328
340
  createElementVNode("div", {
329
341
  class: normalizeClass(__props.paddingClass)
330
342
  }, [
331
- _ctx.$slots.customTitle ? (openBlock(), createElementBlock("div", _hoisted_1$E, [
343
+ _ctx.$slots.customTitle ? (openBlock(), createElementBlock("div", _hoisted_1$x, [
332
344
  renderSlot(_ctx.$slots, "customTitle")
333
- ])) : __props.title ? (openBlock(), createElementBlock("h3", _hoisted_2$l, toDisplayString(__props.title), 1)) : createCommentVNode("", true),
345
+ ])) : __props.title ? (openBlock(), createElementBlock("h3", _hoisted_2$h, toDisplayString(__props.title), 1)) : createCommentVNode("", true),
334
346
  createElementVNode("div", {
335
347
  class: normalizeClass(["relative", __props.tabs.length > 0 ? "overflow-hidden" : "overflow-visible"])
336
348
  }, [
@@ -363,7 +375,7 @@ const _sfc_main$I = {
363
375
  };
364
376
  }
365
377
  };
366
- const _sfc_main$H = /* @__PURE__ */ Object.assign({
378
+ const _sfc_main$L = /* @__PURE__ */ Object.assign({
367
379
  inheritAttrs: false
368
380
  }, {
369
381
  __name: "Divider",
@@ -375,7 +387,7 @@ const _sfc_main$H = /* @__PURE__ */ Object.assign({
375
387
  };
376
388
  }
377
389
  });
378
- const _sfc_main$G = {
390
+ const _sfc_main$K = {
379
391
  __name: "ActionCard",
380
392
  props: {
381
393
  title: {
@@ -390,13 +402,13 @@ const _sfc_main$G = {
390
402
  setup(__props) {
391
403
  const slots = useSlots();
392
404
  return (_ctx, _cache) => {
393
- return openBlock(), createBlock(_sfc_main$I, {
405
+ return openBlock(), createBlock(_sfc_main$M, {
394
406
  title: __props.title,
395
407
  "content-class": __props.actionsClass
396
408
  }, {
397
409
  default: withCtx(() => [
398
410
  renderSlot(_ctx.$slots, "default"),
399
- unref(slots).danger ? (openBlock(), createBlock(_sfc_main$H, {
411
+ unref(slots).danger ? (openBlock(), createBlock(_sfc_main$L, {
400
412
  key: 0,
401
413
  class: "mt-6 pt-4"
402
414
  }, {
@@ -411,8 +423,8 @@ const _sfc_main$G = {
411
423
  };
412
424
  }
413
425
  };
414
- const _hoisted_1$D = { class: "text-sm text-gray-600" };
415
- const _sfc_main$F = {
426
+ const _hoisted_1$w = { class: "text-sm text-gray-600" };
427
+ const _sfc_main$J = {
416
428
  __name: "ActionMessage",
417
429
  props: {
418
430
  on: Boolean
@@ -426,7 +438,7 @@ const _sfc_main$F = {
426
438
  "leave-to-class": "opacity-0"
427
439
  }, {
428
440
  default: withCtx(() => [
429
- withDirectives(createElementVNode("div", _hoisted_1$D, [
441
+ withDirectives(createElementVNode("div", _hoisted_1$w, [
430
442
  renderSlot(_ctx.$slots, "default")
431
443
  ], 512), [
432
444
  [vShow, __props.on]
@@ -445,36 +457,36 @@ const _export_sfc = (sfc, props) => {
445
457
  }
446
458
  return target;
447
459
  };
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" };
460
+ const _sfc_main$I = {};
461
+ const _hoisted_1$v = { class: "md:col-span-1 flex justify-between" };
462
+ const _hoisted_2$g = { class: "px-4 sm:px-0" };
463
+ const _hoisted_3$b = { class: "text-xl font-semibold tracking-tight text-neutral-950 dark:text-neutral-50" };
464
+ const _hoisted_4$8 = { class: "mt-1 max-w-2xl text-sm text-neutral-600 dark:text-neutral-200" };
465
+ const _hoisted_5$6 = { class: "px-4 sm:px-0" };
454
466
  function _sfc_render(_ctx, _cache) {
455
- return openBlock(), createElementBlock("div", _hoisted_1$C, [
456
- createElementVNode("div", _hoisted_2$k, [
457
- createElementVNode("h3", _hoisted_3$d, [
467
+ return openBlock(), createElementBlock("div", _hoisted_1$v, [
468
+ createElementVNode("div", _hoisted_2$g, [
469
+ createElementVNode("h3", _hoisted_3$b, [
458
470
  renderSlot(_ctx.$slots, "title")
459
471
  ]),
460
- createElementVNode("p", _hoisted_4$a, [
472
+ createElementVNode("p", _hoisted_4$8, [
461
473
  renderSlot(_ctx.$slots, "description")
462
474
  ])
463
475
  ]),
464
- createElementVNode("div", _hoisted_5$8, [
476
+ createElementVNode("div", _hoisted_5$6, [
465
477
  renderSlot(_ctx.$slots, "aside")
466
478
  ])
467
479
  ]);
468
480
  }
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 = {
481
+ const SectionTitle = /* @__PURE__ */ _export_sfc(_sfc_main$I, [["render", _sfc_render]]);
482
+ const _hoisted_1$u = { class: "md:grid md:grid-cols-3 md:gap-6" };
483
+ const _hoisted_2$f = { class: "mt-5 md:mt-0 md:col-span-2" };
484
+ 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" };
485
+ const _sfc_main$H = {
474
486
  __name: "ActionSection",
475
487
  setup(__props) {
476
488
  return (_ctx, _cache) => {
477
- return openBlock(), createElementBlock("div", _hoisted_1$B, [
489
+ return openBlock(), createElementBlock("div", _hoisted_1$u, [
478
490
  createVNode(SectionTitle, null, {
479
491
  title: withCtx(() => [
480
492
  renderSlot(_ctx.$slots, "title")
@@ -484,8 +496,8 @@ const _sfc_main$D = {
484
496
  ]),
485
497
  _: 3
486
498
  }),
487
- createElementVNode("div", _hoisted_2$j, [
488
- createElementVNode("div", _hoisted_3$c, [
499
+ createElementVNode("div", _hoisted_2$f, [
500
+ createElementVNode("div", _hoisted_3$a, [
489
501
  renderSlot(_ctx.$slots, "content")
490
502
  ])
491
503
  ])
@@ -493,8 +505,8 @@ const _sfc_main$D = {
493
505
  };
494
506
  }
495
507
  };
496
- const _hoisted_1$A = { class: "sr-only" };
497
- const _sfc_main$C = {
508
+ const _hoisted_1$t = { class: "sr-only" };
509
+ const _sfc_main$G = {
498
510
  __name: "Badge",
499
511
  props: {
500
512
  type: {
@@ -559,7 +571,7 @@ const _sfc_main$C = {
559
571
  createElementVNode("span", {
560
572
  class: normalizeClass(["w-2 h-2 rounded-full", colorClasses[__props.color].dot])
561
573
  }, null, 2),
562
- createElementVNode("span", _hoisted_1$A, [
574
+ createElementVNode("span", _hoisted_1$t, [
563
575
  renderSlot(_ctx.$slots, "default")
564
576
  ])
565
577
  ], 2)) : (openBlock(), createElementBlock("span", {
@@ -576,8 +588,8 @@ const _sfc_main$C = {
576
588
  };
577
589
  }
578
590
  };
579
- const _hoisted_1$z = ["type", "disabled"];
580
- const _sfc_main$B = /* @__PURE__ */ Object.assign({
591
+ const _hoisted_1$s = ["type", "disabled"];
592
+ const _sfc_main$F = /* @__PURE__ */ Object.assign({
581
593
  inheritAttrs: false
582
594
  }, {
583
595
  __name: "Button",
@@ -644,12 +656,12 @@ const _sfc_main$B = /* @__PURE__ */ Object.assign({
644
656
  class: buttonClasses.value
645
657
  }), [
646
658
  renderSlot(_ctx.$slots, "default")
647
- ], 16, _hoisted_1$z);
659
+ ], 16, _hoisted_1$s);
648
660
  };
649
661
  }
650
662
  });
651
- const _hoisted_1$y = ["value"];
652
- const _sfc_main$A = {
663
+ const _hoisted_1$r = ["value"];
664
+ const _sfc_main$E = {
653
665
  __name: "Checkbox",
654
666
  props: {
655
667
  checked: {
@@ -679,14 +691,14 @@ const _sfc_main$A = {
679
691
  type: "checkbox",
680
692
  value: __props.value,
681
693
  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"
682
- }, null, 8, _hoisted_1$y)), [
694
+ }, null, 8, _hoisted_1$r)), [
683
695
  [vModelCheckbox, proxyChecked.value]
684
696
  ]);
685
697
  };
686
698
  }
687
699
  };
688
- const _hoisted_1$x = ["name", "checked", "disabled"];
689
- const _sfc_main$z = {
700
+ const _hoisted_1$q = ["name", "checked", "disabled"];
701
+ const _sfc_main$D = {
690
702
  __name: "CheckboxInput",
691
703
  props: {
692
704
  modelValue: {
@@ -746,7 +758,7 @@ const _sfc_main$z = {
746
758
  onChange,
747
759
  onFocus: handleFocus,
748
760
  onBlur: handleBlur
749
- }, null, 40, _hoisted_1$x),
761
+ }, null, 40, _hoisted_1$q),
750
762
  createElementVNode("span", {
751
763
  class: normalizeClass(["inline-flex h-4 w-4 items-center justify-center border text-[10px] font-bold leading-none", [
752
764
  isChecked.value ? "border-current bg-white/15 text-current dark:bg-neutral-900/15" : "border-current/70 text-transparent",
@@ -758,21 +770,21 @@ const _sfc_main$z = {
758
770
  };
759
771
  }
760
772
  };
761
- const _hoisted_1$w = { class: "relative flex items-center" };
762
- const _hoisted_2$i = {
773
+ const _hoisted_1$p = { class: "relative flex items-center" };
774
+ const _hoisted_2$e = {
763
775
  key: 0,
764
776
  class: "absolute inset-y-0 left-0 flex items-center pointer-events-none pl-3"
765
777
  };
766
- const _hoisted_3$b = ["type", "value", "disabled"];
767
- const _hoisted_4$9 = ["aria-label"];
768
- const _hoisted_5$7 = {
778
+ const _hoisted_3$9 = ["type", "value", "disabled"];
779
+ const _hoisted_4$7 = ["aria-label"];
780
+ const _hoisted_5$5 = {
769
781
  key: 0,
770
782
  class: "h-5 w-5",
771
783
  fill: "none",
772
784
  stroke: "currentColor",
773
785
  viewBox: "0 0 24 24"
774
786
  };
775
- const _hoisted_6$7 = {
787
+ const _hoisted_6$5 = {
776
788
  key: 1,
777
789
  class: "h-5 w-5",
778
790
  fill: "none",
@@ -780,7 +792,7 @@ const _hoisted_6$7 = {
780
792
  viewBox: "0 0 24 24"
781
793
  };
782
794
  const DEFAULT_MAX_LENGTH$1 = 254;
783
- const _sfc_main$y = /* @__PURE__ */ Object.assign({ inheritAttrs: false }, {
795
+ const _sfc_main$C = /* @__PURE__ */ Object.assign({ inheritAttrs: false }, {
784
796
  __name: "TextInput",
785
797
  props: {
786
798
  modelValue: {
@@ -839,8 +851,8 @@ const _sfc_main$y = /* @__PURE__ */ Object.assign({ inheritAttrs: false }, {
839
851
  });
840
852
  __expose({ focus: () => input.value?.focus() });
841
853
  return (_ctx, _cache) => {
842
- return openBlock(), createElementBlock("div", _hoisted_1$w, [
843
- isPasswordField.value ? (openBlock(), createElementBlock("div", _hoisted_2$i, [
854
+ return openBlock(), createElementBlock("div", _hoisted_1$p, [
855
+ isPasswordField.value ? (openBlock(), createElementBlock("div", _hoisted_2$e, [
844
856
  createVNode(unref(LockClosedIcon), { class: "h-5 w-5 text-neutral-400 dark:text-neutral-200" })
845
857
  ])) : createCommentVNode("", true),
846
858
  createElementVNode("input", mergeProps({
@@ -854,7 +866,7 @@ const _sfc_main$y = /* @__PURE__ */ Object.assign({ inheritAttrs: false }, {
854
866
  onInput: _cache[0] || (_cache[0] = ($event) => emit("update:modelValue", $event.target.value)),
855
867
  onBlur: _cache[1] || (_cache[1] = ($event) => emit("blur", $event)),
856
868
  onWheel: handleWheel
857
- }), null, 16, _hoisted_3$b),
869
+ }), null, 16, _hoisted_3$9),
858
870
  isPasswordField.value ? (openBlock(), createElementBlock("button", {
859
871
  key: 1,
860
872
  type: "button",
@@ -862,14 +874,14 @@ const _sfc_main$y = /* @__PURE__ */ Object.assign({ inheritAttrs: false }, {
862
874
  "aria-label": revealed.value ? "Hide password" : "Show password",
863
875
  onClick: toggleVisibility
864
876
  }, [
865
- revealed.value ? (openBlock(), createElementBlock("svg", _hoisted_5$7, [..._cache[2] || (_cache[2] = [
877
+ revealed.value ? (openBlock(), createElementBlock("svg", _hoisted_5$5, [..._cache[2] || (_cache[2] = [
866
878
  createElementVNode("path", {
867
879
  "stroke-linecap": "round",
868
880
  "stroke-linejoin": "round",
869
881
  "stroke-width": "2",
870
882
  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"
871
883
  }, null, -1)
872
- ])])) : (openBlock(), createElementBlock("svg", _hoisted_6$7, [..._cache[3] || (_cache[3] = [
884
+ ])])) : (openBlock(), createElementBlock("svg", _hoisted_6$5, [..._cache[3] || (_cache[3] = [
873
885
  createElementVNode("path", {
874
886
  "stroke-linecap": "round",
875
887
  "stroke-linejoin": "round",
@@ -883,14 +895,14 @@ const _sfc_main$y = /* @__PURE__ */ Object.assign({ inheritAttrs: false }, {
883
895
  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"
884
896
  }, null, -1)
885
897
  ])]))
886
- ], 8, _hoisted_4$9)) : createCommentVNode("", true)
898
+ ], 8, _hoisted_4$7)) : createCommentVNode("", true)
887
899
  ]);
888
900
  };
889
901
  }
890
902
  });
891
- const _hoisted_1$v = ["value", "disabled"];
903
+ const _hoisted_1$o = ["value", "disabled"];
892
904
  const DEFAULT_MAX_LENGTH = 1e3;
893
- const _sfc_main$x = /* @__PURE__ */ Object.assign({ inheritAttrs: false }, {
905
+ const _sfc_main$B = /* @__PURE__ */ Object.assign({ inheritAttrs: false }, {
894
906
  __name: "TextArea",
895
907
  props: {
896
908
  modelValue: String,
@@ -960,13 +972,13 @@ const _sfc_main$x = /* @__PURE__ */ Object.assign({ inheritAttrs: false }, {
960
972
  value: props.modelValue,
961
973
  disabled: props.disabled,
962
974
  onInput: updateValue
963
- }), null, 16, _hoisted_1$v)
975
+ }), null, 16, _hoisted_1$o)
964
976
  ]);
965
977
  };
966
978
  }
967
979
  });
968
- const _hoisted_1$u = ["onClick"];
969
- const _sfc_main$w = /* @__PURE__ */ Object.assign({ inheritAttrs: false }, {
980
+ const _hoisted_1$n = ["onClick"];
981
+ const _sfc_main$A = /* @__PURE__ */ Object.assign({ inheritAttrs: false }, {
970
982
  __name: "CustomSelect",
971
983
  props: {
972
984
  modelValue: {
@@ -1246,7 +1258,7 @@ const _sfc_main$w = /* @__PURE__ */ Object.assign({ inheritAttrs: false }, {
1246
1258
  }
1247
1259
  ]),
1248
1260
  onClick: withModifiers(($event) => selectOption(option), ["stop"])
1249
- }, toDisplayString(optionText(option)), 11, _hoisted_1$u);
1261
+ }, toDisplayString(optionText(option)), 11, _hoisted_1$n);
1250
1262
  }), 128))
1251
1263
  ], 6)) : createCommentVNode("", true)
1252
1264
  ]))
@@ -1257,7 +1269,7 @@ const _sfc_main$w = /* @__PURE__ */ Object.assign({ inheritAttrs: false }, {
1257
1269
  };
1258
1270
  }
1259
1271
  });
1260
- const _sfc_main$v = {
1272
+ const _sfc_main$z = {
1261
1273
  __name: "SelectInput",
1262
1274
  props: {
1263
1275
  modelValue: {
@@ -1345,7 +1357,7 @@ const _sfc_main$v = {
1345
1357
  setup(__props, { emit: __emit }) {
1346
1358
  const emit = __emit;
1347
1359
  return (_ctx, _cache) => {
1348
- return openBlock(), createBlock(_sfc_main$w, mergeProps({
1360
+ return openBlock(), createBlock(_sfc_main$A, mergeProps({
1349
1361
  "model-value": __props.modelValue,
1350
1362
  "model-modifiers": __props.modelModifiers,
1351
1363
  options: __props.options,
@@ -1371,8 +1383,8 @@ const _sfc_main$v = {
1371
1383
  };
1372
1384
  }
1373
1385
  };
1374
- const _hoisted_1$t = ["type", "max", "value", "disabled"];
1375
- const _sfc_main$u = /* @__PURE__ */ Object.assign({ inheritAttrs: false }, {
1386
+ const _hoisted_1$m = ["type", "max", "value", "disabled"];
1387
+ const _sfc_main$y = /* @__PURE__ */ Object.assign({ inheritAttrs: false }, {
1376
1388
  __name: "DateInput",
1377
1389
  props: {
1378
1390
  modelValue: {
@@ -1452,22 +1464,22 @@ const _sfc_main$u = /* @__PURE__ */ Object.assign({ inheritAttrs: false }, {
1452
1464
  disabled: props.disabled,
1453
1465
  onInput: handleDateInput,
1454
1466
  onChange: handleDateInput
1455
- }), null, 16, _hoisted_1$t);
1467
+ }), null, 16, _hoisted_1$m);
1456
1468
  };
1457
1469
  }
1458
1470
  });
1459
- const _hoisted_1$s = { class: "relative" };
1460
- const _hoisted_2$h = { class: "absolute inset-y-0 left-0 pl-3 flex items-center pointer-events-none" };
1461
- const _hoisted_3$a = ["accept"];
1462
- const _hoisted_4$8 = {
1471
+ const _hoisted_1$l = { class: "relative" };
1472
+ const _hoisted_2$d = { class: "absolute inset-y-0 left-0 pl-3 flex items-center pointer-events-none" };
1473
+ const _hoisted_3$8 = ["accept"];
1474
+ const _hoisted_4$6 = {
1463
1475
  key: 0,
1464
1476
  class: "mt-4 rounded-lg border border-neutral-200 bg-neutral-50 p-4 dark:border-neutral-800 dark:bg-neutral-900/50"
1465
1477
  };
1466
- const _hoisted_5$6 = { class: "flex items-center space-x-4" };
1467
- const _hoisted_6$6 = ["src"];
1468
- const _hoisted_7$6 = { class: "text-sm font-medium text-neutral-900 dark:text-neutral-50" };
1469
- const _hoisted_8$3 = { class: "text-xs text-neutral-500 dark:text-neutral-200" };
1470
- const _sfc_main$t = {
1478
+ const _hoisted_5$4 = { class: "flex items-center space-x-4" };
1479
+ const _hoisted_6$4 = ["src"];
1480
+ const _hoisted_7$4 = { class: "text-sm font-medium text-neutral-900 dark:text-neutral-50" };
1481
+ const _hoisted_8$2 = { class: "text-xs text-neutral-500 dark:text-neutral-200" };
1482
+ const _sfc_main$x = {
1471
1483
  __name: "ImageInput",
1472
1484
  props: {
1473
1485
  currentImageUrl: {
@@ -1501,8 +1513,8 @@ const _sfc_main$t = {
1501
1513
  };
1502
1514
  return (_ctx, _cache) => {
1503
1515
  return openBlock(), createElementBlock("div", null, [
1504
- createElementVNode("div", _hoisted_1$s, [
1505
- createElementVNode("div", _hoisted_2$h, [
1516
+ createElementVNode("div", _hoisted_1$l, [
1517
+ createElementVNode("div", _hoisted_2$d, [
1506
1518
  createVNode(unref(PhotoIcon), { class: "size-5 text-neutral-400 dark:text-neutral-200" })
1507
1519
  ]),
1508
1520
  createElementVNode("input", mergeProps(__props.attrs, {
@@ -1510,18 +1522,18 @@ const _sfc_main$t = {
1510
1522
  accept: __props.accept,
1511
1523
  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",
1512
1524
  onChange: handleFileChange
1513
- }), null, 16, _hoisted_3$a)
1525
+ }), null, 16, _hoisted_3$8)
1514
1526
  ]),
1515
- props.currentImageUrl ? (openBlock(), createElementBlock("div", _hoisted_4$8, [
1516
- createElementVNode("div", _hoisted_5$6, [
1527
+ props.currentImageUrl ? (openBlock(), createElementBlock("div", _hoisted_4$6, [
1528
+ createElementVNode("div", _hoisted_5$4, [
1517
1529
  createElementVNode("img", {
1518
1530
  src: props.currentImageUrl,
1519
1531
  alt: "Current logo",
1520
1532
  class: "h-16 w-auto max-w-24 object-contain rounded-lg shadow-sm"
1521
- }, null, 8, _hoisted_6$6),
1533
+ }, null, 8, _hoisted_6$4),
1522
1534
  createElementVNode("div", null, [
1523
- createElementVNode("p", _hoisted_7$6, toDisplayString(props.currentLabel), 1),
1524
- createElementVNode("p", _hoisted_8$3, toDisplayString(props.currentSubtext), 1)
1535
+ createElementVNode("p", _hoisted_7$4, toDisplayString(props.currentLabel), 1),
1536
+ createElementVNode("p", _hoisted_8$2, toDisplayString(props.currentSubtext), 1)
1525
1537
  ])
1526
1538
  ])
1527
1539
  ])) : createCommentVNode("", true)
@@ -1529,9 +1541,9 @@ const _sfc_main$t = {
1529
1541
  };
1530
1542
  }
1531
1543
  };
1532
- 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" };
1533
- const _hoisted_2$g = ["disabled", "onClick"];
1534
- const _sfc_main$s = {
1544
+ const _hoisted_1$k = { class: "flex h-12 overflow-hidden rounded-lg border border-neutral-200 bg-white text-sm dark:border-neutral-800 dark:bg-neutral-950" };
1545
+ const _hoisted_2$c = ["disabled", "onClick"];
1546
+ const _sfc_main$w = {
1535
1547
  __name: "NotationInput",
1536
1548
  props: {
1537
1549
  modelValue: {
@@ -1557,7 +1569,7 @@ const _sfc_main$s = {
1557
1569
  const isSelected = (option) => String(option) === String(props.modelValue ?? "");
1558
1570
  const selectOption = (option) => emit("update:modelValue", option);
1559
1571
  return (_ctx, _cache) => {
1560
- return openBlock(), createElementBlock("div", _hoisted_1$r, [
1572
+ return openBlock(), createElementBlock("div", _hoisted_1$k, [
1561
1573
  (openBlock(true), createElementBlock(Fragment, null, renderList(normalizedOptions.value, (option, idx) => {
1562
1574
  return openBlock(), createElementBlock("button", {
1563
1575
  key: `notation-${idx}-${option}`,
@@ -1570,14 +1582,14 @@ const _sfc_main$s = {
1570
1582
  ]]),
1571
1583
  disabled: __props.disabled,
1572
1584
  onClick: ($event) => selectOption(option)
1573
- }, toDisplayString(option), 11, _hoisted_2$g);
1585
+ }, toDisplayString(option), 11, _hoisted_2$c);
1574
1586
  }), 128))
1575
1587
  ]);
1576
1588
  };
1577
1589
  }
1578
1590
  };
1579
- const _hoisted_1$q = ["name", "value", "checked", "disabled"];
1580
- const _sfc_main$r = {
1591
+ const _hoisted_1$j = ["name", "value", "checked", "disabled"];
1592
+ const _sfc_main$v = {
1581
1593
  __name: "RadioInput",
1582
1594
  props: {
1583
1595
  modelValue: {
@@ -1632,14 +1644,14 @@ const _sfc_main$r = {
1632
1644
  onChange,
1633
1645
  onFocus: handleFocus,
1634
1646
  onBlur: handleBlur
1635
- }, null, 40, _hoisted_1$q),
1647
+ }, null, 40, _hoisted_1$j),
1636
1648
  createElementVNode("span", null, toDisplayString(isChecked.value ? "✓" : "○") + " " + toDisplayString(__props.label), 1)
1637
1649
  ], 2);
1638
1650
  };
1639
1651
  }
1640
1652
  };
1641
- const _hoisted_1$p = { class: "flex flex-wrap gap-3" };
1642
- const _sfc_main$q = {
1653
+ const _hoisted_1$i = { class: "flex flex-wrap gap-3" };
1654
+ const _sfc_main$u = {
1643
1655
  __name: "RadioMultipleInput",
1644
1656
  props: {
1645
1657
  modelValue: {
@@ -1668,9 +1680,9 @@ const _sfc_main$q = {
1668
1680
  });
1669
1681
  const selectOption = (option) => emit("update:modelValue", option);
1670
1682
  return (_ctx, _cache) => {
1671
- return openBlock(), createElementBlock("div", _hoisted_1$p, [
1683
+ return openBlock(), createElementBlock("div", _hoisted_1$i, [
1672
1684
  (openBlock(true), createElementBlock(Fragment, null, renderList(normalizedOptions.value, (option) => {
1673
- return openBlock(), createBlock(_sfc_main$o, {
1685
+ return openBlock(), createBlock(_sfc_main$s, {
1674
1686
  key: `radio-${__props.name ?? "group"}-${option}`,
1675
1687
  type: "radio-input",
1676
1688
  "model-value": props.modelValue,
@@ -1685,11 +1697,11 @@ const _sfc_main$q = {
1685
1697
  };
1686
1698
  }
1687
1699
  };
1688
- const _hoisted_1$o = {
1700
+ const _hoisted_1$h = {
1689
1701
  key: 0,
1690
1702
  class: "min-h-[12rem] w-full rounded-lg border border-slate-300 bg-slate-50"
1691
1703
  };
1692
- const _sfc_main$p = {
1704
+ const _sfc_main$t = {
1693
1705
  __name: "TinyEditor",
1694
1706
  props: {
1695
1707
  modelValue: {
@@ -1794,7 +1806,7 @@ const _sfc_main$p = {
1794
1806
  };
1795
1807
  return (_ctx, _cache) => {
1796
1808
  return openBlock(), createElementBlock("div", { key: editorKey.value }, [
1797
- !isEditorReady.value ? (openBlock(), createElementBlock("div", _hoisted_1$o)) : (openBlock(), createBlock(unref(Editor), {
1809
+ !isEditorReady.value ? (openBlock(), createElementBlock("div", _hoisted_1$h)) : (openBlock(), createBlock(unref(Editor), {
1798
1810
  key: 1,
1799
1811
  "initial-value": content.value,
1800
1812
  "license-key": __props.licenseKey,
@@ -1808,17 +1820,17 @@ const _sfc_main$p = {
1808
1820
  };
1809
1821
  }
1810
1822
  };
1811
- const _hoisted_1$n = ["for"];
1812
- const _hoisted_2$f = {
1823
+ const _hoisted_1$g = ["for"];
1824
+ const _hoisted_2$b = {
1813
1825
  key: 1,
1814
1826
  class: "text-xs text-gray-500 mb-1 block break-all"
1815
1827
  };
1816
- const _hoisted_3$9 = {
1828
+ const _hoisted_3$7 = {
1817
1829
  key: 15,
1818
1830
  class: "flex items-center mt-2 text-sm text-red-600"
1819
1831
  };
1820
1832
  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";
1821
- const _sfc_main$o = /* @__PURE__ */ Object.assign({ inheritAttrs: false }, {
1833
+ const _sfc_main$s = /* @__PURE__ */ Object.assign({ inheritAttrs: false }, {
1822
1834
  __name: "InputGroup",
1823
1835
  props: {
1824
1836
  type: {
@@ -2117,39 +2129,39 @@ const _sfc_main$o = /* @__PURE__ */ Object.assign({ inheritAttrs: false }, {
2117
2129
  key: 0,
2118
2130
  for: fieldId.value,
2119
2131
  class: "text-base font-semibold text-gray-900 dark:text-gray-50 mb-1 block"
2120
- }, toDisplayString(__props.label), 9, _hoisted_1$n)) : createCommentVNode("", true),
2121
- __props.helperText && !showsInlineChoiceControl.value ? (openBlock(), createElementBlock("span", _hoisted_2$f, toDisplayString(__props.helperText), 1)) : createCommentVNode("", true),
2122
- isTextareaType.value ? (openBlock(), createBlock(_sfc_main$x, mergeProps({ key: 2 }, textAreaBindings.value, {
2132
+ }, toDisplayString(__props.label), 9, _hoisted_1$g)) : createCommentVNode("", true),
2133
+ __props.helperText && !showsInlineChoiceControl.value ? (openBlock(), createElementBlock("span", _hoisted_2$b, toDisplayString(__props.helperText), 1)) : createCommentVNode("", true),
2134
+ isTextareaType.value ? (openBlock(), createBlock(_sfc_main$B, mergeProps({ key: 2 }, textAreaBindings.value, {
2123
2135
  "onUpdate:modelValue": _cache[0] || (_cache[0] = ($event) => emit("update:modelValue", $event)),
2124
2136
  onBlur: _cache[1] || (_cache[1] = ($event) => emit("blur", $event))
2125
- }), null, 16)) : isTinyEditorType.value ? (openBlock(), createBlock(_sfc_main$p, mergeProps({ key: 3 }, tinyEditorBindings.value, {
2137
+ }), null, 16)) : isTinyEditorType.value ? (openBlock(), createBlock(_sfc_main$t, mergeProps({ key: 3 }, tinyEditorBindings.value, {
2126
2138
  "onUpdate:modelValue": _cache[2] || (_cache[2] = ($event) => emit("update:modelValue", $event)),
2127
2139
  onBlur: _cache[3] || (_cache[3] = ($event) => emit("blur", $event))
2128
- }), null, 16)) : isSelectType.value ? (openBlock(), createBlock(_sfc_main$v, mergeProps({ key: 4 }, selectBindings.value, {
2140
+ }), null, 16)) : isSelectType.value ? (openBlock(), createBlock(_sfc_main$z, mergeProps({ key: 4 }, selectBindings.value, {
2129
2141
  "onUpdate:modelValue": _cache[4] || (_cache[4] = ($event) => emit("update:modelValue", $event)),
2130
2142
  onBlur: _cache[5] || (_cache[5] = ($event) => emit("blur", $event))
2131
- }), null, 16)) : isDateType.value ? (openBlock(), createBlock(_sfc_main$u, mergeProps({ key: 5 }, dateBindings.value, {
2143
+ }), null, 16)) : isDateType.value ? (openBlock(), createBlock(_sfc_main$y, mergeProps({ key: 5 }, dateBindings.value, {
2132
2144
  "onUpdate:modelValue": _cache[6] || (_cache[6] = ($event) => emit("update:modelValue", $event)),
2133
2145
  onBlur: _cache[7] || (_cache[7] = ($event) => emit("blur", $event))
2134
- }), null, 16)) : isTextLikeType.value ? (openBlock(), createBlock(_sfc_main$y, mergeProps({ key: 6 }, textInputBindings.value, {
2146
+ }), null, 16)) : isTextLikeType.value ? (openBlock(), createBlock(_sfc_main$C, mergeProps({ key: 6 }, textInputBindings.value, {
2135
2147
  "onUpdate:modelValue": _cache[8] || (_cache[8] = ($event) => emit("update:modelValue", $event)),
2136
2148
  onBlur: _cache[9] || (_cache[9] = ($event) => emit("blur", $event))
2137
- }), null, 16)) : isImageType.value ? (openBlock(), createBlock(_sfc_main$t, mergeProps({ key: 7 }, imageBindings.value, {
2149
+ }), null, 16)) : isImageType.value ? (openBlock(), createBlock(_sfc_main$x, mergeProps({ key: 7 }, imageBindings.value, {
2138
2150
  "onUpdate:modelValue": _cache[10] || (_cache[10] = ($event) => emit("update:modelValue", $event)),
2139
2151
  onBlur: _cache[11] || (_cache[11] = ($event) => emit("blur", $event))
2140
- }), null, 16)) : isCheckboxSingleType.value ? (openBlock(), createBlock(_sfc_main$z, mergeProps({ key: 8 }, checkboxSingleBindings.value, {
2152
+ }), null, 16)) : isCheckboxSingleType.value ? (openBlock(), createBlock(_sfc_main$D, mergeProps({ key: 8 }, checkboxSingleBindings.value, {
2141
2153
  "onUpdate:modelValue": _cache[12] || (_cache[12] = ($event) => emit("update:modelValue", $event)),
2142
2154
  onBlur: _cache[13] || (_cache[13] = ($event) => emit("blur", $event))
2143
- }), null, 16)) : isRadioSingleType.value ? (openBlock(), createBlock(_sfc_main$r, mergeProps({ key: 9 }, radioSingleBindings.value, {
2155
+ }), null, 16)) : isRadioSingleType.value ? (openBlock(), createBlock(_sfc_main$v, mergeProps({ key: 9 }, radioSingleBindings.value, {
2144
2156
  "onUpdate:modelValue": _cache[14] || (_cache[14] = ($event) => emit("update:modelValue", $event)),
2145
2157
  onBlur: _cache[15] || (_cache[15] = ($event) => emit("blur", $event))
2146
- }), null, 16)) : isNotationType.value ? (openBlock(), createBlock(_sfc_main$s, mergeProps({ key: 10 }, notationBindings.value, {
2158
+ }), null, 16)) : isNotationType.value ? (openBlock(), createBlock(_sfc_main$w, mergeProps({ key: 10 }, notationBindings.value, {
2147
2159
  "onUpdate:modelValue": _cache[16] || (_cache[16] = ($event) => emit("update:modelValue", $event)),
2148
2160
  onBlur: _cache[17] || (_cache[17] = ($event) => emit("blur", $event))
2149
- }), null, 16)) : isCheckboxType.value ? (openBlock(), createBlock(_sfc_main$n, mergeProps({ key: 11 }, checkboxBindings.value, {
2161
+ }), null, 16)) : isCheckboxType.value ? (openBlock(), createBlock(_sfc_main$r, mergeProps({ key: 11 }, checkboxBindings.value, {
2150
2162
  "onUpdate:modelValue": _cache[18] || (_cache[18] = ($event) => emit("update:modelValue", $event)),
2151
2163
  onBlur: _cache[19] || (_cache[19] = ($event) => emit("blur", $event))
2152
- }), null, 16)) : isRadioType.value ? (openBlock(), createBlock(_sfc_main$q, mergeProps({ key: 12 }, radioBindings.value, {
2164
+ }), null, 16)) : isRadioType.value ? (openBlock(), createBlock(_sfc_main$u, mergeProps({ key: 12 }, radioBindings.value, {
2153
2165
  "onUpdate:modelValue": _cache[20] || (_cache[20] = ($event) => emit("update:modelValue", $event)),
2154
2166
  onBlur: _cache[21] || (_cache[21] = ($event) => emit("blur", $event))
2155
2167
  }), null, 16)) : isNoComponentType.value ? renderSlot(_ctx.$slots, "unsupported-type", {
@@ -2165,7 +2177,7 @@ const _sfc_main$o = /* @__PURE__ */ Object.assign({ inheritAttrs: false }, {
2165
2177
  updateValue,
2166
2178
  attrs: unref(attrs)
2167
2179
  }),
2168
- hasError.value ? (openBlock(), createElementBlock("div", _hoisted_3$9, [
2180
+ hasError.value ? (openBlock(), createElementBlock("div", _hoisted_3$7, [
2169
2181
  createVNode(unref(ExclamationCircleIcon), { class: "mr-1 h-4 w-4 flex-shrink-0" }),
2170
2182
  createElementVNode("span", null, toDisplayString(__props.errorMessage), 1)
2171
2183
  ])) : createCommentVNode("", true)
@@ -2173,8 +2185,8 @@ const _sfc_main$o = /* @__PURE__ */ Object.assign({ inheritAttrs: false }, {
2173
2185
  };
2174
2186
  }
2175
2187
  });
2176
- const _hoisted_1$m = { class: "flex flex-wrap gap-3" };
2177
- const _sfc_main$n = {
2188
+ const _hoisted_1$f = { class: "flex flex-wrap gap-3" };
2189
+ const _sfc_main$r = {
2178
2190
  __name: "CheckboxMultipleInput",
2179
2191
  props: {
2180
2192
  modelValue: {
@@ -2215,9 +2227,9 @@ const _sfc_main$n = {
2215
2227
  emit("update:modelValue", nextSelection);
2216
2228
  };
2217
2229
  return (_ctx, _cache) => {
2218
- return openBlock(), createElementBlock("div", _hoisted_1$m, [
2230
+ return openBlock(), createElementBlock("div", _hoisted_1$f, [
2219
2231
  (openBlock(true), createElementBlock(Fragment, null, renderList(normalizedOptions.value, (option) => {
2220
- return openBlock(), createBlock(_sfc_main$o, {
2232
+ return openBlock(), createBlock(_sfc_main$s, {
2221
2233
  key: `checkbox-${option}`,
2222
2234
  type: "checkbox-input",
2223
2235
  name: __props.name,
@@ -2233,7 +2245,7 @@ const _sfc_main$n = {
2233
2245
  };
2234
2246
  }
2235
2247
  };
2236
- const _sfc_main$m = {
2248
+ const _sfc_main$q = {
2237
2249
  __name: "Modal",
2238
2250
  props: {
2239
2251
  show: {
@@ -2374,14 +2386,14 @@ const _sfc_main$m = {
2374
2386
  };
2375
2387
  }
2376
2388
  };
2377
- const _hoisted_1$l = { class: "bg-white px-4 pb-4 pt-5 dark:bg-neutral-950 sm:p-6 sm:pb-4" };
2378
- const _hoisted_2$e = { class: "sm:flex sm:items-start" };
2379
- 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" };
2380
- const _hoisted_4$7 = { class: "mt-3 text-center sm:mt-0 sm:ms-4 sm:text-start" };
2381
- const _hoisted_5$5 = { class: "text-lg font-medium text-neutral-950 dark:text-neutral-50" };
2382
- const _hoisted_6$5 = { class: "mt-4 text-sm text-neutral-600 dark:text-neutral-200" };
2383
- 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" };
2384
- const _sfc_main$l = {
2389
+ const _hoisted_1$e = { class: "bg-white px-4 pb-4 pt-5 dark:bg-neutral-950 sm:p-6 sm:pb-4" };
2390
+ const _hoisted_2$a = { class: "sm:flex sm:items-start" };
2391
+ 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" };
2392
+ const _hoisted_4$5 = { class: "mt-3 text-center sm:mt-0 sm:ms-4 sm:text-start" };
2393
+ const _hoisted_5$3 = { class: "text-lg font-medium text-neutral-950 dark:text-neutral-50" };
2394
+ const _hoisted_6$3 = { class: "mt-4 text-sm text-neutral-600 dark:text-neutral-200" };
2395
+ 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" };
2396
+ const _sfc_main$p = {
2385
2397
  __name: "ConfirmationModal",
2386
2398
  props: {
2387
2399
  show: {
@@ -2409,7 +2421,7 @@ const _sfc_main$l = {
2409
2421
  emit("close");
2410
2422
  };
2411
2423
  return (_ctx, _cache) => {
2412
- return openBlock(), createBlock(_sfc_main$m, {
2424
+ return openBlock(), createBlock(_sfc_main$q, {
2413
2425
  show: __props.show,
2414
2426
  "max-width": __props.maxWidth,
2415
2427
  closeable: __props.closeable,
@@ -2417,22 +2429,22 @@ const _sfc_main$l = {
2417
2429
  onClose: close
2418
2430
  }, {
2419
2431
  default: withCtx(() => [
2420
- createElementVNode("div", _hoisted_1$l, [
2421
- createElementVNode("div", _hoisted_2$e, [
2422
- createElementVNode("div", _hoisted_3$8, [
2432
+ createElementVNode("div", _hoisted_1$e, [
2433
+ createElementVNode("div", _hoisted_2$a, [
2434
+ createElementVNode("div", _hoisted_3$6, [
2423
2435
  createVNode(unref(ExclamationTriangleIcon), { class: "size-6 text-red-600 dark:text-neutral-100" })
2424
2436
  ]),
2425
- createElementVNode("div", _hoisted_4$7, [
2426
- createElementVNode("h3", _hoisted_5$5, [
2437
+ createElementVNode("div", _hoisted_4$5, [
2438
+ createElementVNode("h3", _hoisted_5$3, [
2427
2439
  renderSlot(_ctx.$slots, "title")
2428
2440
  ]),
2429
- createElementVNode("div", _hoisted_6$5, [
2441
+ createElementVNode("div", _hoisted_6$3, [
2430
2442
  renderSlot(_ctx.$slots, "content")
2431
2443
  ])
2432
2444
  ])
2433
2445
  ])
2434
2446
  ]),
2435
- createElementVNode("div", _hoisted_7$5, [
2447
+ createElementVNode("div", _hoisted_7$3, [
2436
2448
  renderSlot(_ctx.$slots, "footer")
2437
2449
  ])
2438
2450
  ]),
@@ -2441,11 +2453,11 @@ const _sfc_main$l = {
2441
2453
  };
2442
2454
  }
2443
2455
  };
2444
- const _hoisted_1$k = { class: "px-6 py-4" };
2445
- const _hoisted_2$d = { class: "text-lg font-medium text-neutral-950 dark:text-neutral-50" };
2446
- const _hoisted_3$7 = { class: "mt-4 text-sm text-neutral-600 dark:text-neutral-200" };
2447
- 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" };
2448
- const _sfc_main$k = {
2456
+ const _hoisted_1$d = { class: "px-6 py-4" };
2457
+ const _hoisted_2$9 = { class: "text-lg font-medium text-neutral-950 dark:text-neutral-50" };
2458
+ const _hoisted_3$5 = { class: "mt-4 text-sm text-neutral-600 dark:text-neutral-200" };
2459
+ 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" };
2460
+ const _sfc_main$o = {
2449
2461
  __name: "DialogModal",
2450
2462
  props: {
2451
2463
  show: {
@@ -2468,22 +2480,22 @@ const _sfc_main$k = {
2468
2480
  emit("close");
2469
2481
  };
2470
2482
  return (_ctx, _cache) => {
2471
- return openBlock(), createBlock(_sfc_main$m, {
2483
+ return openBlock(), createBlock(_sfc_main$q, {
2472
2484
  show: __props.show,
2473
2485
  "max-width": __props.maxWidth,
2474
2486
  closeable: __props.closeable,
2475
2487
  onClose: close
2476
2488
  }, {
2477
2489
  default: withCtx(() => [
2478
- createElementVNode("div", _hoisted_1$k, [
2479
- createElementVNode("div", _hoisted_2$d, [
2490
+ createElementVNode("div", _hoisted_1$d, [
2491
+ createElementVNode("div", _hoisted_2$9, [
2480
2492
  renderSlot(_ctx.$slots, "title")
2481
2493
  ]),
2482
- createElementVNode("div", _hoisted_3$7, [
2494
+ createElementVNode("div", _hoisted_3$5, [
2483
2495
  renderSlot(_ctx.$slots, "content")
2484
2496
  ])
2485
2497
  ]),
2486
- createElementVNode("div", _hoisted_4$6, [
2498
+ createElementVNode("div", _hoisted_4$4, [
2487
2499
  renderSlot(_ctx.$slots, "footer")
2488
2500
  ])
2489
2501
  ]),
@@ -2492,8 +2504,8 @@ const _sfc_main$k = {
2492
2504
  };
2493
2505
  }
2494
2506
  };
2495
- const _hoisted_1$j = { class: "relative inline-block w-fit" };
2496
- const _sfc_main$j = {
2507
+ const _hoisted_1$c = { class: "relative inline-block w-fit" };
2508
+ const _sfc_main$n = {
2497
2509
  __name: "Dropdown",
2498
2510
  props: {
2499
2511
  align: {
@@ -2634,7 +2646,7 @@ const _sfc_main$j = {
2634
2646
  window.removeEventListener("scroll", handleViewportChange, true);
2635
2647
  });
2636
2648
  return (_ctx, _cache) => {
2637
- return openBlock(), createElementBlock("div", _hoisted_1$j, [
2649
+ return openBlock(), createElementBlock("div", _hoisted_1$c, [
2638
2650
  createElementVNode("div", {
2639
2651
  ref_key: "triggerRef",
2640
2652
  ref: triggerRef,
@@ -2674,13 +2686,13 @@ const _sfc_main$j = {
2674
2686
  };
2675
2687
  }
2676
2688
  };
2677
- const _hoisted_1$i = {
2689
+ const _hoisted_1$b = {
2678
2690
  key: 0,
2679
2691
  type: "submit",
2680
2692
  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"
2681
2693
  };
2682
- const _hoisted_2$c = ["href"];
2683
- const _sfc_main$i = {
2694
+ const _hoisted_2$8 = ["href"];
2695
+ const _sfc_main$m = {
2684
2696
  __name: "DropdownLink",
2685
2697
  props: {
2686
2698
  href: String,
@@ -2689,7 +2701,7 @@ const _sfc_main$i = {
2689
2701
  setup(__props) {
2690
2702
  return (_ctx, _cache) => {
2691
2703
  return openBlock(), createElementBlock("div", null, [
2692
- __props.as == "button" ? (openBlock(), createElementBlock("button", _hoisted_1$i, [
2704
+ __props.as == "button" ? (openBlock(), createElementBlock("button", _hoisted_1$b, [
2693
2705
  renderSlot(_ctx.$slots, "default")
2694
2706
  ])) : __props.as == "a" ? (openBlock(), createElementBlock("a", {
2695
2707
  key: 1,
@@ -2697,7 +2709,7 @@ const _sfc_main$i = {
2697
2709
  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"
2698
2710
  }, [
2699
2711
  renderSlot(_ctx.$slots, "default")
2700
- ], 8, _hoisted_2$c)) : (openBlock(), createBlock(unref(Link), {
2712
+ ], 8, _hoisted_2$8)) : (openBlock(), createBlock(unref(Link), {
2701
2713
  key: 2,
2702
2714
  href: __props.href,
2703
2715
  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"
@@ -2711,20 +2723,20 @@ const _sfc_main$i = {
2711
2723
  };
2712
2724
  }
2713
2725
  };
2714
- const _hoisted_1$h = { class: "md:grid md:grid-cols-3 md:gap-6" };
2715
- const _hoisted_2$b = { class: "mt-5 md:col-span-2 md:mt-0" };
2716
- const _hoisted_3$6 = { class: "grid grid-cols-6 gap-6" };
2717
- const _hoisted_4$5 = {
2726
+ const _hoisted_1$a = { class: "md:grid md:grid-cols-3 md:gap-6" };
2727
+ const _hoisted_2$7 = { class: "mt-5 md:col-span-2 md:mt-0" };
2728
+ const _hoisted_3$4 = { class: "grid grid-cols-6 gap-6" };
2729
+ const _hoisted_4$3 = {
2718
2730
  key: 0,
2719
2731
  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"
2720
2732
  };
2721
- const _sfc_main$h = {
2733
+ const _sfc_main$l = {
2722
2734
  __name: "FormSection",
2723
2735
  emits: ["submitted"],
2724
2736
  setup(__props) {
2725
2737
  const hasActions = computed(() => !!useSlots().actions);
2726
2738
  return (_ctx, _cache) => {
2727
- return openBlock(), createElementBlock("div", _hoisted_1$h, [
2739
+ return openBlock(), createElementBlock("div", _hoisted_1$a, [
2728
2740
  createVNode(SectionTitle, null, {
2729
2741
  title: withCtx(() => [
2730
2742
  renderSlot(_ctx.$slots, "title")
@@ -2734,18 +2746,18 @@ const _sfc_main$h = {
2734
2746
  ]),
2735
2747
  _: 3
2736
2748
  }),
2737
- createElementVNode("div", _hoisted_2$b, [
2749
+ createElementVNode("div", _hoisted_2$7, [
2738
2750
  createElementVNode("form", {
2739
2751
  onSubmit: _cache[0] || (_cache[0] = withModifiers(($event) => _ctx.$emit("submitted"), ["prevent"]))
2740
2752
  }, [
2741
2753
  createElementVNode("div", {
2742
2754
  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"])
2743
2755
  }, [
2744
- createElementVNode("div", _hoisted_3$6, [
2756
+ createElementVNode("div", _hoisted_3$4, [
2745
2757
  renderSlot(_ctx.$slots, "form")
2746
2758
  ])
2747
2759
  ], 2),
2748
- hasActions.value ? (openBlock(), createElementBlock("div", _hoisted_4$5, [
2760
+ hasActions.value ? (openBlock(), createElementBlock("div", _hoisted_4$3, [
2749
2761
  renderSlot(_ctx.$slots, "actions")
2750
2762
  ])) : createCommentVNode("", true)
2751
2763
  ], 32)
@@ -2754,8 +2766,8 @@ const _sfc_main$h = {
2754
2766
  };
2755
2767
  }
2756
2768
  };
2757
- const _hoisted_1$g = { class: "text-sm text-red-600 dark:text-neutral-100" };
2758
- const _sfc_main$g = {
2769
+ const _hoisted_1$9 = { class: "text-sm text-red-600 dark:text-neutral-100" };
2770
+ const _sfc_main$k = {
2759
2771
  __name: "InputError",
2760
2772
  props: {
2761
2773
  message: String
@@ -2763,33 +2775,33 @@ const _sfc_main$g = {
2763
2775
  setup(__props) {
2764
2776
  return (_ctx, _cache) => {
2765
2777
  return withDirectives((openBlock(), createElementBlock("div", null, [
2766
- createElementVNode("p", _hoisted_1$g, toDisplayString(__props.message), 1)
2778
+ createElementVNode("p", _hoisted_1$9, toDisplayString(__props.message), 1)
2767
2779
  ], 512)), [
2768
2780
  [vShow, __props.message]
2769
2781
  ]);
2770
2782
  };
2771
2783
  }
2772
2784
  };
2773
- const _hoisted_1$f = { class: "block text-sm font-medium text-neutral-700 dark:text-neutral-100" };
2774
- const _hoisted_2$a = { key: 0 };
2775
- const _hoisted_3$5 = { key: 1 };
2776
- const _sfc_main$f = {
2785
+ const _hoisted_1$8 = { class: "block text-sm font-medium text-neutral-700 dark:text-neutral-100" };
2786
+ const _hoisted_2$6 = { key: 0 };
2787
+ const _hoisted_3$3 = { key: 1 };
2788
+ const _sfc_main$j = {
2777
2789
  __name: "InputLabel",
2778
2790
  props: {
2779
2791
  value: String
2780
2792
  },
2781
2793
  setup(__props) {
2782
2794
  return (_ctx, _cache) => {
2783
- return openBlock(), createElementBlock("label", _hoisted_1$f, [
2784
- __props.value ? (openBlock(), createElementBlock("span", _hoisted_2$a, toDisplayString(__props.value), 1)) : (openBlock(), createElementBlock("span", _hoisted_3$5, [
2795
+ return openBlock(), createElementBlock("label", _hoisted_1$8, [
2796
+ __props.value ? (openBlock(), createElementBlock("span", _hoisted_2$6, toDisplayString(__props.value), 1)) : (openBlock(), createElementBlock("span", _hoisted_3$3, [
2785
2797
  renderSlot(_ctx.$slots, "default")
2786
2798
  ]))
2787
2799
  ]);
2788
2800
  };
2789
2801
  }
2790
2802
  };
2791
- const _hoisted_1$e = ["href", "title", "target", "rel"];
2792
- const _sfc_main$e = /* @__PURE__ */ Object.assign({
2803
+ const _hoisted_1$7 = ["href", "title", "target", "rel"];
2804
+ const _sfc_main$i = /* @__PURE__ */ Object.assign({
2793
2805
  inheritAttrs: false
2794
2806
  }, {
2795
2807
  __name: "LinkButton",
@@ -2858,469 +2870,553 @@ const _sfc_main$e = /* @__PURE__ */ Object.assign({
2858
2870
  class: linkClasses.value
2859
2871
  }), [
2860
2872
  renderSlot(_ctx.$slots, "default")
2861
- ], 16, _hoisted_1$e));
2873
+ ], 16, _hoisted_1$7));
2862
2874
  };
2863
2875
  }
2864
2876
  });
2865
- const _hoisted_1$d = { class: "hidden sm:block" };
2866
- const _hoisted_2$9 = { class: "py-8" };
2867
- const _sfc_main$d = {
2877
+ const _hoisted_1$6 = { class: "hidden sm:block" };
2878
+ const _hoisted_2$5 = { class: "py-8" };
2879
+ const _sfc_main$h = {
2868
2880
  __name: "SectionBorder",
2869
2881
  setup(__props) {
2870
2882
  return (_ctx, _cache) => {
2871
- return openBlock(), createElementBlock("div", _hoisted_1$d, [
2872
- createElementVNode("div", _hoisted_2$9, [
2873
- createVNode(_sfc_main$H)
2883
+ return openBlock(), createElementBlock("div", _hoisted_1$6, [
2884
+ createElementVNode("div", _hoisted_2$5, [
2885
+ createVNode(_sfc_main$L)
2874
2886
  ])
2875
2887
  ]);
2876
2888
  };
2877
2889
  }
2878
2890
  };
2879
- 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" };
2880
- const _hoisted_2$8 = { class: "grid flex-1 text-left text-sm text-neutral-900 dark:text-neutral-100" };
2881
- const _hoisted_3$4 = { class: "mb-0.5 truncate leading-tight font-semibold" };
2882
- const _hoisted_4$4 = {
2883
- key: 0,
2884
- class: "truncate text-xs text-neutral-500 dark:text-neutral-400"
2885
- };
2886
- const _hoisted_5$4 = ["href", "target", "rel"];
2887
- 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" };
2888
- const _hoisted_7$4 = { class: "grid flex-1 text-left text-sm text-neutral-900 dark:text-neutral-100" };
2889
- const _hoisted_8$2 = { class: "mb-0.5 truncate leading-tight font-semibold" };
2890
- const _hoisted_9$2 = {
2891
- key: 0,
2892
- class: "truncate text-xs text-neutral-500 dark:text-neutral-400"
2891
+ const SIDEBAR_CONTEXT_KEY = /* @__PURE__ */ Symbol("SidebarContext");
2892
+ const fallbackOpen = ref(true);
2893
+ const fallbackContext = {
2894
+ state: computed(() => fallbackOpen.value ? "expanded" : "collapsed"),
2895
+ open: fallbackOpen,
2896
+ setOpen: (value) => {
2897
+ fallbackOpen.value = value;
2898
+ },
2899
+ toggleSidebar: () => {
2900
+ fallbackOpen.value = !fallbackOpen.value;
2901
+ },
2902
+ expand: () => {
2903
+ fallbackOpen.value = true;
2904
+ },
2905
+ collapse: () => {
2906
+ fallbackOpen.value = false;
2907
+ }
2893
2908
  };
2894
- 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" };
2895
- const _hoisted_11$2 = { class: "grid flex-1 text-left text-sm text-neutral-900 dark:text-neutral-100" };
2896
- const _hoisted_12$2 = { class: "mb-0.5 truncate leading-tight font-semibold" };
2897
- const _hoisted_13$2 = {
2898
- key: 0,
2899
- class: "truncate text-xs text-neutral-500 dark:text-neutral-400"
2909
+ function provideSidebarContext(defaultOpen = true) {
2910
+ const open = ref(defaultOpen);
2911
+ const state = computed(() => open.value ? "expanded" : "collapsed");
2912
+ const context = {
2913
+ state,
2914
+ open,
2915
+ setOpen: (value) => {
2916
+ open.value = value;
2917
+ },
2918
+ toggleSidebar: () => {
2919
+ open.value = !open.value;
2920
+ },
2921
+ expand: () => {
2922
+ open.value = true;
2923
+ },
2924
+ collapse: () => {
2925
+ open.value = false;
2926
+ }
2927
+ };
2928
+ provide(SIDEBAR_CONTEXT_KEY, context);
2929
+ return context;
2930
+ }
2931
+ function useSidebar() {
2932
+ return inject(SIDEBAR_CONTEXT_KEY, fallbackContext);
2933
+ }
2934
+ const _hoisted_1$5 = ["data-state", "data-collapsible", "data-variant", "data-side"];
2935
+ const _hoisted_2$4 = {
2936
+ "data-sidebar": "sidebar",
2937
+ class: "bg-sidebar text-sidebar-foreground flex h-full w-full flex-col group-data-[variant=floating]:border-sidebar-border group-data-[variant=floating]:rounded-lg group-data-[variant=floating]:border group-data-[variant=floating]:shadow-sm"
2900
2938
  };
2901
- const sharedClass = "flex items-center gap-3 rounded-lg px-3 py-2 transition-colors hover:bg-neutral-100 dark:hover:bg-neutral-900";
2902
- const _sfc_main$c = /* @__PURE__ */ defineComponent({
2903
- __name: "SideMenuBrand",
2939
+ const _sfc_main$g = /* @__PURE__ */ defineComponent({
2940
+ ...{ inheritAttrs: false },
2941
+ __name: "Sidebar",
2904
2942
  props: {
2905
- title: {},
2906
- subtitle: { default: "" },
2907
- href: { default: void 0 },
2908
- external: { type: Boolean, default: false },
2909
- target: { default: void 0 },
2910
- rel: { default: void 0 },
2911
- logoText: { default: "" }
2943
+ side: { default: "left" },
2944
+ variant: { default: "sidebar" },
2945
+ collapsible: { default: "offcanvas" },
2946
+ class: { type: [Boolean, null, String, Object, Array], default: void 0 }
2912
2947
  },
2913
2948
  setup(__props) {
2914
2949
  const props = __props;
2915
- const logoFallback = computed(() => {
2916
- if (props.logoText) {
2917
- return props.logoText;
2918
- }
2919
- return props.title.split(" ").filter(Boolean).slice(0, 2).map((part) => part.charAt(0)).join("").toUpperCase();
2920
- });
2950
+ const { state } = useSidebar();
2921
2951
  return (_ctx, _cache) => {
2922
- return __props.href && !__props.external ? (openBlock(), createBlock(unref(Link), {
2952
+ return __props.collapsible === "none" ? (openBlock(), createElementBlock("div", mergeProps({
2923
2953
  key: 0,
2924
- href: __props.href,
2925
- class: normalizeClass(sharedClass)
2926
- }, {
2927
- default: withCtx(() => [
2928
- renderSlot(_ctx.$slots, "logo", {}, () => [
2929
- createElementVNode("div", _hoisted_1$c, toDisplayString(logoFallback.value), 1)
2930
- ]),
2931
- createElementVNode("div", _hoisted_2$8, [
2932
- createElementVNode("span", _hoisted_3$4, toDisplayString(__props.title), 1),
2933
- __props.subtitle ? (openBlock(), createElementBlock("span", _hoisted_4$4, toDisplayString(__props.subtitle), 1)) : createCommentVNode("", true)
2934
- ])
2935
- ]),
2936
- _: 3
2937
- }, 8, ["href"])) : __props.href && __props.external ? (openBlock(), createElementBlock("a", {
2954
+ "data-slot": "sidebar",
2955
+ "data-sidebar": "sidebar",
2956
+ class: [
2957
+ "bg-sidebar text-sidebar-foreground flex h-full w-(--sidebar-width) flex-col",
2958
+ props.class
2959
+ ]
2960
+ }, _ctx.$attrs), [
2961
+ renderSlot(_ctx.$slots, "default")
2962
+ ], 16)) : (openBlock(), createElementBlock("div", {
2938
2963
  key: 1,
2939
- href: __props.href,
2940
- target: __props.target,
2941
- rel: __props.rel,
2942
- class: normalizeClass(sharedClass)
2964
+ class: "group peer text-sidebar-foreground hidden md:block",
2965
+ "data-slot": "sidebar",
2966
+ "data-state": unref(state),
2967
+ "data-collapsible": unref(state) === "collapsed" ? __props.collapsible : "",
2968
+ "data-variant": __props.variant,
2969
+ "data-side": __props.side
2943
2970
  }, [
2944
- renderSlot(_ctx.$slots, "logo", {}, () => [
2945
- createElementVNode("div", _hoisted_6$4, toDisplayString(logoFallback.value), 1)
2946
- ]),
2947
- createElementVNode("div", _hoisted_7$4, [
2948
- createElementVNode("span", _hoisted_8$2, toDisplayString(__props.title), 1),
2949
- __props.subtitle ? (openBlock(), createElementBlock("span", _hoisted_9$2, toDisplayString(__props.subtitle), 1)) : createCommentVNode("", true)
2950
- ])
2951
- ], 8, _hoisted_5$4)) : (openBlock(), createElementBlock("div", {
2952
- key: 2,
2953
- class: normalizeClass(sharedClass)
2971
+ createElementVNode("div", {
2972
+ class: normalizeClass([
2973
+ "relative w-(--sidebar-width) bg-transparent transition-[width] duration-200 ease-linear",
2974
+ "group-data-[collapsible=offcanvas]:w-0",
2975
+ "group-data-[side=right]:rotate-180",
2976
+ __props.variant === "floating" || __props.variant === "inset" ? "group-data-[collapsible=icon]:w-[calc(var(--sidebar-width-icon)+(--spacing(4)))]" : "group-data-[collapsible=icon]:w-(--sidebar-width-icon)"
2977
+ ])
2978
+ }, null, 2),
2979
+ createElementVNode("div", mergeProps({
2980
+ class: [
2981
+ "fixed inset-y-0 z-10 hidden h-svh w-(--sidebar-width) transition-[left,right,width] duration-200 ease-linear md:flex",
2982
+ __props.side === "left" ? "left-0 group-data-[collapsible=offcanvas]:left-[calc(var(--sidebar-width)*-1)]" : "right-0 group-data-[collapsible=offcanvas]:right-[calc(var(--sidebar-width)*-1)]",
2983
+ __props.variant === "floating" || __props.variant === "inset" ? "p-2 group-data-[collapsible=icon]:w-[calc(var(--sidebar-width-icon)+(--spacing(4))+2px)]" : "group-data-[collapsible=icon]:w-(--sidebar-width-icon) group-data-[side=left]:border-r group-data-[side=right]:border-l",
2984
+ props.class
2985
+ ]
2986
+ }, _ctx.$attrs), [
2987
+ createElementVNode("div", _hoisted_2$4, [
2988
+ renderSlot(_ctx.$slots, "default")
2989
+ ])
2990
+ ], 16)
2991
+ ], 8, _hoisted_1$5));
2992
+ };
2993
+ }
2994
+ });
2995
+ const _sfc_main$f = /* @__PURE__ */ defineComponent({
2996
+ __name: "SidebarContent",
2997
+ props: {
2998
+ class: { type: [Boolean, null, String, Object, Array] }
2999
+ },
3000
+ setup(__props) {
3001
+ const props = __props;
3002
+ return (_ctx, _cache) => {
3003
+ return openBlock(), createElementBlock("div", {
3004
+ "data-slot": "sidebar-content",
3005
+ "data-sidebar": "content",
3006
+ class: normalizeClass(["flex min-h-0 flex-1 flex-col gap-2 overflow-auto group-data-[collapsible=icon]:overflow-hidden", props.class])
2954
3007
  }, [
2955
- renderSlot(_ctx.$slots, "logo", {}, () => [
2956
- createElementVNode("div", _hoisted_10$2, toDisplayString(logoFallback.value), 1)
2957
- ]),
2958
- createElementVNode("div", _hoisted_11$2, [
2959
- createElementVNode("span", _hoisted_12$2, toDisplayString(__props.title), 1),
2960
- __props.subtitle ? (openBlock(), createElementBlock("span", _hoisted_13$2, toDisplayString(__props.subtitle), 1)) : createCommentVNode("", true)
2961
- ])
2962
- ]));
3008
+ renderSlot(_ctx.$slots, "default")
3009
+ ], 2);
3010
+ };
3011
+ }
3012
+ });
3013
+ const _sfc_main$e = /* @__PURE__ */ defineComponent({
3014
+ __name: "SidebarFooter",
3015
+ props: {
3016
+ class: { type: [Boolean, null, String, Object, Array] }
3017
+ },
3018
+ setup(__props) {
3019
+ const props = __props;
3020
+ return (_ctx, _cache) => {
3021
+ return openBlock(), createElementBlock("div", {
3022
+ "data-slot": "sidebar-footer",
3023
+ "data-sidebar": "footer",
3024
+ class: normalizeClass(["flex flex-col gap-2 p-2", props.class])
3025
+ }, [
3026
+ renderSlot(_ctx.$slots, "default")
3027
+ ], 2);
3028
+ };
3029
+ }
3030
+ });
3031
+ const _sfc_main$d = /* @__PURE__ */ defineComponent({
3032
+ __name: "SidebarGroup",
3033
+ props: {
3034
+ class: { type: [Boolean, null, String, Object, Array] }
3035
+ },
3036
+ setup(__props) {
3037
+ const props = __props;
3038
+ return (_ctx, _cache) => {
3039
+ return openBlock(), createElementBlock("div", {
3040
+ "data-slot": "sidebar-group",
3041
+ "data-sidebar": "group",
3042
+ class: normalizeClass(["relative flex w-full min-w-0 flex-col p-2", props.class])
3043
+ }, [
3044
+ renderSlot(_ctx.$slots, "default")
3045
+ ], 2);
3046
+ };
3047
+ }
3048
+ });
3049
+ const _sfc_main$c = /* @__PURE__ */ defineComponent({
3050
+ __name: "SidebarGroupContent",
3051
+ props: {
3052
+ class: { type: [Boolean, null, String, Object, Array] }
3053
+ },
3054
+ setup(__props) {
3055
+ const props = __props;
3056
+ return (_ctx, _cache) => {
3057
+ return openBlock(), createElementBlock("div", {
3058
+ "data-slot": "sidebar-group-content",
3059
+ "data-sidebar": "group-content",
3060
+ class: normalizeClass(["w-full text-sm", props.class])
3061
+ }, [
3062
+ renderSlot(_ctx.$slots, "default")
3063
+ ], 2);
2963
3064
  };
2964
3065
  }
2965
3066
  });
2966
- const _hoisted_1$b = ["href", "aria-current", "target", "rel"];
2967
- 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";
2968
3067
  const _sfc_main$b = /* @__PURE__ */ defineComponent({
2969
- __name: "SideMenuButton",
3068
+ ...{ inheritAttrs: false },
3069
+ __name: "SidebarGroupLabel",
2970
3070
  props: {
2971
- href: {},
2972
- title: { default: "" },
2973
- active: { type: Boolean },
2974
- icon: {},
2975
- external: { type: Boolean, default: false },
2976
- target: { default: void 0 },
2977
- rel: { default: void 0 },
2978
- activeClass: { default: "bg-muted text-foreground dark:text-white" },
2979
- class: { type: [Boolean, null, String, Object, Array], default: void 0 },
2980
- itemClass: { type: [Boolean, null, String, Object, Array], default: "" },
2981
- iconClass: { default: "h-4 w-4" }
3071
+ as: { default: "div" },
3072
+ asChild: { type: Boolean, default: false },
3073
+ class: { type: [Boolean, null, String, Object, Array], default: void 0 }
2982
3074
  },
2983
3075
  setup(__props) {
2984
3076
  const props = __props;
3077
+ const attrs = useAttrs();
3078
+ const slots = useSlots();
3079
+ const baseClass = computed(() => [
3080
+ "text-sidebar-foreground/70 ring-sidebar-ring flex h-8 shrink-0 items-center rounded-md px-2 text-xs font-medium outline-none transition-[margin,opacity] duration-200 ease-linear focus-visible:ring-2 [&>svg]:size-4 [&>svg]:shrink-0",
3081
+ "group-data-[collapsible=icon]:-mt-8 group-data-[collapsible=icon]:opacity-0",
3082
+ props.class
3083
+ ]);
3084
+ const childVNode = computed(() => {
3085
+ if (!props.asChild) {
3086
+ return null;
3087
+ }
3088
+ const content = slots.default?.() ?? [];
3089
+ const firstVNode = content.find((entry) => isVNode(entry));
3090
+ if (!firstVNode) {
3091
+ return null;
3092
+ }
3093
+ return cloneVNode(firstVNode, {
3094
+ ...attrs,
3095
+ class: [baseClass.value, firstVNode.props?.class]
3096
+ });
3097
+ });
2985
3098
  return (_ctx, _cache) => {
2986
- return !__props.external ? (openBlock(), createBlock(unref(Link), {
3099
+ return !__props.asChild ? (openBlock(), createBlock(resolveDynamicComponent(__props.as), mergeProps({
2987
3100
  key: 0,
2988
- href: __props.href,
2989
- "aria-current": __props.active ? "page" : void 0,
2990
- class: normalizeClass([baseClass, __props.active ? __props.activeClass : "", __props.itemClass, props.class])
2991
- }, {
3101
+ "data-slot": "sidebar-group-label",
3102
+ "data-sidebar": "group-label",
3103
+ class: baseClass.value
3104
+ }, unref(attrs)), {
2992
3105
  default: withCtx(() => [
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
- ])
3106
+ renderSlot(_ctx.$slots, "default")
3000
3107
  ]),
3001
3108
  _: 3
3002
- }, 8, ["href", "aria-current", "class"])) : (openBlock(), createElementBlock("a", {
3003
- key: 1,
3004
- href: __props.href,
3005
- "aria-current": __props.active ? "page" : void 0,
3006
- target: __props.target,
3007
- rel: __props.rel,
3008
- class: normalizeClass([baseClass, __props.active ? __props.activeClass : "", __props.itemClass, props.class])
3009
- }, [
3010
- __props.icon ? (openBlock(), createBlock(resolveDynamicComponent(__props.icon), {
3011
- key: 0,
3012
- class: normalizeClass(__props.iconClass)
3013
- }, null, 8, ["class"])) : createCommentVNode("", true),
3014
- renderSlot(_ctx.$slots, "default", {}, () => [
3015
- createTextVNode(toDisplayString(__props.title), 1)
3016
- ])
3017
- ], 10, _hoisted_1$b));
3109
+ }, 16, ["class"])) : childVNode.value ? (openBlock(), createBlock(resolveDynamicComponent(childVNode.value), { key: 1 })) : createCommentVNode("", true);
3018
3110
  };
3019
3111
  }
3020
3112
  });
3021
- const _hoisted_1$a = ["aria-label"];
3022
3113
  const _sfc_main$a = /* @__PURE__ */ defineComponent({
3023
- __name: "SideMenuList",
3114
+ __name: "SidebarHeader",
3024
3115
  props: {
3025
- items: {},
3026
- label: { default: "Navigation" },
3027
- activeClass: { default: "bg-muted text-foreground dark:text-white" },
3028
- itemClass: { default: "" },
3029
- iconClass: { default: "h-4 w-4" }
3116
+ class: { type: [Boolean, null, String, Object, Array] }
3030
3117
  },
3031
3118
  setup(__props) {
3119
+ const props = __props;
3032
3120
  return (_ctx, _cache) => {
3033
- return openBlock(), createElementBlock("nav", {
3034
- "aria-label": __props.label,
3035
- class: "flex flex-col space-y-1 space-x-0"
3121
+ return openBlock(), createElementBlock("div", {
3122
+ "data-slot": "sidebar-header",
3123
+ "data-sidebar": "header",
3124
+ class: normalizeClass(["flex flex-col gap-2 p-2", props.class])
3036
3125
  }, [
3037
- (openBlock(true), createElementBlock(Fragment, null, renderList(__props.items, (item) => {
3038
- return openBlock(), createBlock(_sfc_main$b, {
3039
- key: item.href,
3040
- href: item.href,
3041
- title: item.title,
3042
- icon: item.icon,
3043
- active: item.active,
3044
- external: item.external,
3045
- target: item.target,
3046
- rel: item.rel,
3047
- "active-class": __props.activeClass,
3048
- "item-class": __props.itemClass,
3049
- "icon-class": __props.iconClass
3050
- }, {
3051
- default: withCtx(() => [
3052
- renderSlot(_ctx.$slots, "item", { item }, () => [
3053
- createTextVNode(toDisplayString(item.title), 1)
3054
- ])
3055
- ]),
3056
- _: 2
3057
- }, 1032, ["href", "title", "icon", "active", "external", "target", "rel", "active-class", "item-class", "icon-class"]);
3058
- }), 128))
3059
- ], 8, _hoisted_1$a);
3126
+ renderSlot(_ctx.$slots, "default")
3127
+ ], 2);
3060
3128
  };
3061
3129
  }
3062
3130
  });
3063
- const _hoisted_1$9 = { class: "px-2 py-0" };
3064
- const _hoisted_2$7 = { class: "px-3 pb-2 text-xs font-semibold uppercase tracking-wide text-neutral-500 dark:text-neutral-400" };
3065
3131
  const _sfc_main$9 = /* @__PURE__ */ defineComponent({
3066
- __name: "SideMenuNavFooter",
3132
+ __name: "SidebarInset",
3067
3133
  props: {
3068
- items: {},
3069
- label: { default: "Footer" }
3134
+ class: { type: [Boolean, null, String, Object, Array] }
3070
3135
  },
3071
3136
  setup(__props) {
3137
+ const props = __props;
3072
3138
  return (_ctx, _cache) => {
3073
- return openBlock(), createElementBlock("section", _hoisted_1$9, [
3074
- createElementVNode("h3", _hoisted_2$7, toDisplayString(__props.label), 1),
3075
- createVNode(_sfc_main$a, {
3076
- items: __props.items,
3077
- label: "Footer navigation",
3078
- "item-class": "text-neutral-600 hover:text-neutral-800 dark:text-neutral-300 dark:hover:text-neutral-100"
3079
- }, null, 8, ["items"])
3080
- ]);
3139
+ return openBlock(), createElementBlock("main", {
3140
+ "data-slot": "sidebar-inset",
3141
+ class: normalizeClass([
3142
+ "bg-background relative flex w-full flex-1 flex-col",
3143
+ "md:peer-data-[variant=inset]:m-2 md:peer-data-[variant=inset]:ml-0 md:peer-data-[variant=inset]:rounded-xl md:peer-data-[variant=inset]:shadow-sm md:peer-data-[variant=inset]:peer-data-[state=collapsed]:ml-2",
3144
+ props.class
3145
+ ])
3146
+ }, [
3147
+ renderSlot(_ctx.$slots, "default")
3148
+ ], 2);
3081
3149
  };
3082
3150
  }
3083
3151
  });
3084
- const _hoisted_1$8 = { class: "px-2 py-0" };
3085
- const _hoisted_2$6 = { class: "px-3 pb-2 text-xs font-semibold uppercase tracking-wide text-neutral-500 dark:text-neutral-400" };
3086
3152
  const _sfc_main$8 = /* @__PURE__ */ defineComponent({
3087
- __name: "SideMenuNavMain",
3153
+ __name: "SidebarMenu",
3088
3154
  props: {
3089
- items: {},
3090
- label: { default: "Plateforme" }
3155
+ class: { type: [Boolean, null, String, Object, Array] }
3091
3156
  },
3092
3157
  setup(__props) {
3158
+ const props = __props;
3093
3159
  return (_ctx, _cache) => {
3094
- return openBlock(), createElementBlock("section", _hoisted_1$8, [
3095
- createElementVNode("h3", _hoisted_2$6, toDisplayString(__props.label), 1),
3096
- createVNode(_sfc_main$a, {
3097
- items: __props.items,
3098
- label: "Main navigation"
3099
- }, null, 8, ["items"])
3100
- ]);
3160
+ return openBlock(), createElementBlock("ul", {
3161
+ "data-slot": "sidebar-menu",
3162
+ "data-sidebar": "menu",
3163
+ class: normalizeClass(["flex w-full min-w-0 flex-col gap-1", props.class])
3164
+ }, [
3165
+ renderSlot(_ctx.$slots, "default")
3166
+ ], 2);
3101
3167
  };
3102
3168
  }
3103
3169
  });
3104
- const _hoisted_1$7 = { class: "flex items-center gap-2" };
3105
- 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" };
3106
- const _hoisted_3$3 = ["src", "alt"];
3107
- const _hoisted_4$3 = { key: 1 };
3108
- const _hoisted_5$3 = { class: "grid flex-1 text-left text-sm leading-tight text-neutral-900 dark:text-neutral-100" };
3109
- const _hoisted_6$3 = { class: "truncate font-medium" };
3110
- const _hoisted_7$3 = {
3111
- key: 0,
3112
- class: "truncate text-xs text-neutral-500 dark:text-neutral-300"
3113
- };
3170
+ const _hoisted_1$4 = ["href", "target", "rel"];
3114
3171
  const _sfc_main$7 = /* @__PURE__ */ defineComponent({
3115
- __name: "SideMenuUserInfo",
3172
+ ...{ inheritAttrs: false },
3173
+ __name: "SidebarMenuButton",
3116
3174
  props: {
3117
- name: {},
3118
- email: { default: "" },
3119
- avatar: { default: "" },
3120
- showEmail: { type: Boolean, default: false }
3175
+ href: { default: void 0 },
3176
+ title: { default: "" },
3177
+ active: { type: Boolean, default: void 0 },
3178
+ isActive: { type: Boolean, default: void 0 },
3179
+ icon: { default: void 0 },
3180
+ external: { type: Boolean, default: false },
3181
+ target: { default: void 0 },
3182
+ rel: { default: void 0 },
3183
+ variant: { default: "default" },
3184
+ size: { default: "default" },
3185
+ as: { default: void 0 },
3186
+ asChild: { type: Boolean, default: false },
3187
+ tooltip: { default: void 0 },
3188
+ class: { type: [Boolean, null, String, Object, Array], default: void 0 }
3121
3189
  },
3122
3190
  setup(__props) {
3123
3191
  const props = __props;
3124
- const initials = computed(() => {
3125
- return props.name.split(" ").filter(Boolean).slice(0, 2).map((part) => part.charAt(0)).join("").toUpperCase();
3192
+ const attrs = useAttrs();
3193
+ const slots = useSlots();
3194
+ const resolvedActive = computed(() => props.active ?? props.isActive ?? false);
3195
+ const baseClass = computed(() => [
3196
+ "peer/menu-button flex w-full items-center gap-2 overflow-hidden rounded-md p-2 text-left text-sm outline-none ring-sidebar-ring transition-[width,height,padding] hover:bg-sidebar-accent hover:text-sidebar-accent-foreground focus-visible:ring-2 active:bg-sidebar-accent active:text-sidebar-accent-foreground disabled:pointer-events-none disabled:opacity-50 group-has-data-[sidebar=menu-action]/menu-item:pr-8 aria-disabled:pointer-events-none aria-disabled:opacity-50 data-[active=true]:bg-sidebar-accent data-[active=true]:font-medium data-[active=true]:text-sidebar-accent-foreground data-[state=open]:hover:bg-sidebar-accent data-[state=open]:hover:text-sidebar-accent-foreground group-data-[collapsible=icon]:size-8! group-data-[collapsible=icon]:p-2! [&>span:last-child]:truncate [&>svg]:size-4 [&>svg]:shrink-0",
3197
+ props.variant === "outline" ? "bg-background shadow-[0_0_0_1px_hsl(var(--sidebar-border))] hover:bg-sidebar-accent hover:text-sidebar-accent-foreground hover:shadow-[0_0_0_1px_hsl(var(--sidebar-accent))]" : "hover:bg-sidebar-accent hover:text-sidebar-accent-foreground",
3198
+ props.size === "sm" ? "h-7 text-xs" : props.size === "lg" ? "h-12 text-sm group-data-[collapsible=icon]:p-0!" : "h-8 text-sm",
3199
+ props.class
3200
+ ]);
3201
+ const sharedAttrs = computed(() => ({
3202
+ ...attrs,
3203
+ title: props.tooltip ?? (props.title || void 0),
3204
+ "data-slot": "sidebar-menu-button",
3205
+ "data-sidebar": "menu-button",
3206
+ "data-size": props.size,
3207
+ "data-active": resolvedActive.value ? "true" : void 0,
3208
+ "aria-current": resolvedActive.value ? "page" : void 0,
3209
+ class: baseClass.value
3210
+ }));
3211
+ const childVNode = computed(() => {
3212
+ if (!props.asChild) {
3213
+ return null;
3214
+ }
3215
+ const content = slots.default?.() ?? [];
3216
+ const firstVNode = content.find((entry) => isVNode(entry));
3217
+ if (!firstVNode) {
3218
+ return null;
3219
+ }
3220
+ return cloneVNode(firstVNode, mergeProps(sharedAttrs.value, firstVNode.props ?? {}));
3126
3221
  });
3127
3222
  return (_ctx, _cache) => {
3128
- return openBlock(), createElementBlock("div", _hoisted_1$7, [
3129
- createElementVNode("div", _hoisted_2$5, [
3130
- __props.avatar ? (openBlock(), createElementBlock("img", {
3131
- key: 0,
3132
- src: __props.avatar,
3133
- alt: __props.name,
3134
- class: "size-full object-cover"
3135
- }, null, 8, _hoisted_3$3)) : (openBlock(), createElementBlock("span", _hoisted_4$3, toDisplayString(initials.value), 1))
3223
+ return __props.asChild && childVNode.value ? (openBlock(), createBlock(resolveDynamicComponent(childVNode.value), { key: 0 })) : (__props.as === "link" || !__props.as) && __props.href && !__props.external ? (openBlock(), createBlock(unref(Link), mergeProps({
3224
+ key: 1,
3225
+ href: __props.href
3226
+ }, sharedAttrs.value), {
3227
+ default: withCtx(() => [
3228
+ __props.icon ? (openBlock(), createBlock(resolveDynamicComponent(__props.icon), { key: 0 })) : createCommentVNode("", true),
3229
+ renderSlot(_ctx.$slots, "default", {}, () => [
3230
+ createTextVNode(toDisplayString(__props.title), 1)
3231
+ ])
3136
3232
  ]),
3137
- createElementVNode("div", _hoisted_5$3, [
3138
- createElementVNode("span", _hoisted_6$3, toDisplayString(__props.name), 1),
3139
- __props.showEmail && __props.email ? (openBlock(), createElementBlock("span", _hoisted_7$3, toDisplayString(__props.email), 1)) : createCommentVNode("", true)
3233
+ _: 3
3234
+ }, 16, ["href"])) : __props.href && (__props.external || __props.as === "a") ? (openBlock(), createElementBlock("a", mergeProps({
3235
+ key: 2,
3236
+ href: __props.href,
3237
+ target: __props.target,
3238
+ rel: __props.rel
3239
+ }, sharedAttrs.value), [
3240
+ __props.icon ? (openBlock(), createBlock(resolveDynamicComponent(__props.icon), { key: 0 })) : createCommentVNode("", true),
3241
+ renderSlot(_ctx.$slots, "default", {}, () => [
3242
+ createTextVNode(toDisplayString(__props.title), 1)
3140
3243
  ])
3141
- ]);
3244
+ ], 16, _hoisted_1$4)) : (openBlock(), createElementBlock("button", mergeProps({
3245
+ key: 3,
3246
+ type: "button"
3247
+ }, sharedAttrs.value), [
3248
+ __props.icon ? (openBlock(), createBlock(resolveDynamicComponent(__props.icon), { key: 0 })) : createCommentVNode("", true),
3249
+ renderSlot(_ctx.$slots, "default", {}, () => [
3250
+ createTextVNode(toDisplayString(__props.title), 1)
3251
+ ])
3252
+ ], 16));
3142
3253
  };
3143
3254
  }
3144
3255
  });
3145
- const _hoisted_1$6 = { class: "p-0 font-normal" };
3146
- const _hoisted_2$4 = { class: "flex items-center gap-2 px-1 py-1.5 text-left text-sm" };
3147
3256
  const _sfc_main$6 = /* @__PURE__ */ defineComponent({
3148
- __name: "SideMenuUserMenuContent",
3257
+ __name: "SidebarMenuItem",
3149
3258
  props: {
3150
- name: {},
3151
- email: { default: "" },
3152
- avatar: { default: "" },
3153
- settingsHref: { default: "" },
3154
- settingsLabel: { default: "Settings" },
3155
- logoutLabel: { default: "Log out" }
3259
+ class: { type: [Boolean, null, String, Object, Array] }
3156
3260
  },
3157
- emits: ["logout"],
3158
- setup(__props, { emit: __emit }) {
3159
- const emit = __emit;
3261
+ setup(__props) {
3262
+ const props = __props;
3160
3263
  return (_ctx, _cache) => {
3161
- return openBlock(), createElementBlock(Fragment, null, [
3162
- createElementVNode("div", _hoisted_1$6, [
3163
- createElementVNode("div", _hoisted_2$4, [
3164
- createVNode(_sfc_main$7, {
3165
- name: __props.name,
3166
- email: __props.email,
3167
- avatar: __props.avatar,
3168
- "show-email": true
3169
- }, null, 8, ["name", "email", "avatar"])
3170
- ])
3171
- ]),
3172
- _cache[1] || (_cache[1] = createElementVNode("div", { class: "my-1 border-t border-neutral-200 dark:border-neutral-800" }, null, -1)),
3173
- __props.settingsHref ? (openBlock(), createBlock(_sfc_main$i, {
3174
- key: 0,
3175
- href: __props.settingsHref
3176
- }, {
3177
- default: withCtx(() => [
3178
- createVNode(unref(Cog6ToothIcon), { class: "mr-2 size-4" }),
3179
- createTextVNode(" " + toDisplayString(__props.settingsLabel), 1)
3180
- ]),
3181
- _: 1
3182
- }, 8, ["href"])) : createCommentVNode("", true),
3183
- createElementVNode("button", {
3184
- type: "button",
3185
- 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",
3186
- onClick: _cache[0] || (_cache[0] = ($event) => emit("logout"))
3187
- }, [
3188
- createVNode(unref(ArrowRightOnRectangleIcon), { class: "mr-2 inline size-4" }),
3189
- createTextVNode(" " + toDisplayString(__props.logoutLabel), 1)
3190
- ])
3191
- ], 64);
3264
+ return openBlock(), createElementBlock("li", {
3265
+ "data-slot": "sidebar-menu-item",
3266
+ "data-sidebar": "menu-item",
3267
+ class: normalizeClass(["group/menu-item relative", props.class])
3268
+ }, [
3269
+ renderSlot(_ctx.$slots, "default")
3270
+ ], 2);
3192
3271
  };
3193
3272
  }
3194
3273
  });
3195
- const _hoisted_1$5 = {
3196
- type: "button",
3197
- 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"
3198
- };
3199
3274
  const _sfc_main$5 = /* @__PURE__ */ defineComponent({
3200
- __name: "SideMenuNavUser",
3275
+ ...{ inheritAttrs: false },
3276
+ __name: "SidebarProvider",
3201
3277
  props: {
3202
- user: {},
3203
- settingsHref: { default: "" },
3204
- settingsLabel: { default: "Settings" },
3205
- logoutLabel: { default: "Log out" }
3278
+ defaultOpen: { type: Boolean, default: true },
3279
+ width: { default: "16rem" },
3280
+ iconWidth: { default: "3rem" },
3281
+ class: { type: [Boolean, null, String, Object, Array], default: void 0 }
3206
3282
  },
3207
- emits: ["logout"],
3208
- setup(__props, { emit: __emit }) {
3209
- const emit = __emit;
3210
- const handleLogout = () => {
3211
- emit("logout");
3212
- };
3283
+ setup(__props) {
3284
+ const props = __props;
3285
+ provideSidebarContext(props.defaultOpen);
3213
3286
  return (_ctx, _cache) => {
3214
- return openBlock(), createBlock(_sfc_main$j, {
3215
- align: "right",
3216
- width: "48",
3217
- "content-classes": ["py-1", "bg-white", "dark:bg-neutral-950"]
3218
- }, {
3219
- trigger: withCtx(() => [
3220
- createElementVNode("button", _hoisted_1$5, [
3221
- createVNode(_sfc_main$7, {
3222
- name: __props.user.name,
3223
- email: __props.user.email,
3224
- avatar: __props.user.avatar
3225
- }, null, 8, ["name", "email", "avatar"]),
3226
- createVNode(unref(ChevronUpDownIcon), { class: "ml-auto size-4" })
3227
- ])
3228
- ]),
3229
- content: withCtx(() => [
3230
- renderSlot(_ctx.$slots, "content", {
3231
- user: __props.user,
3232
- logout: handleLogout
3233
- }, () => [
3234
- createVNode(_sfc_main$6, {
3235
- name: __props.user.name,
3236
- email: __props.user.email,
3237
- avatar: __props.user.avatar,
3238
- "settings-href": __props.settingsHref,
3239
- "settings-label": __props.settingsLabel,
3240
- "logout-label": __props.logoutLabel,
3241
- onLogout: handleLogout
3242
- }, null, 8, ["name", "email", "avatar", "settings-href", "settings-label", "logout-label"])
3243
- ])
3244
- ]),
3245
- _: 3
3246
- });
3287
+ return openBlock(), createElementBlock("div", mergeProps({
3288
+ "data-slot": "sidebar-wrapper",
3289
+ style: {
3290
+ "--sidebar-width": props.width,
3291
+ "--sidebar-width-icon": props.iconWidth
3292
+ },
3293
+ class: [
3294
+ "group/sidebar-wrapper has-data-[variant=inset]:bg-sidebar flex min-h-svh w-full",
3295
+ props.class
3296
+ ]
3297
+ }, _ctx.$attrs), [
3298
+ renderSlot(_ctx.$slots, "default")
3299
+ ], 16);
3247
3300
  };
3248
3301
  }
3249
3302
  });
3250
- const _hoisted_1$4 = { class: "grid gap-4" };
3251
- 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";
3252
- const headerClass = "border-b border-neutral-200 p-4 dark:border-neutral-800";
3253
- const contentClass = "flex min-h-0 flex-1 flex-col gap-4 overflow-y-auto p-2";
3254
- const footerClass = "border-t border-neutral-200 p-2 dark:border-neutral-800";
3303
+ const isEmptyString = (value) => value === "";
3304
+ const mergeClasses = (...classes) => classes.filter((className, index, array) => {
3305
+ return Boolean(className) && className.trim() !== "" && array.indexOf(className) === index;
3306
+ }).join(" ").trim();
3307
+ const toKebabCase = (string) => string.replace(/([a-z0-9])([A-Z])/g, "$1-$2").toLowerCase();
3308
+ const toCamelCase = (string) => string.replace(
3309
+ /^([A-Z])|[\s-_]+(\w)/g,
3310
+ (match, p1, p2) => p2 ? p2.toUpperCase() : p1.toLowerCase()
3311
+ );
3312
+ const toPascalCase = (string) => {
3313
+ const camelCase = toCamelCase(string);
3314
+ return camelCase.charAt(0).toUpperCase() + camelCase.slice(1);
3315
+ };
3316
+ var defaultAttributes = {
3317
+ xmlns: "http://www.w3.org/2000/svg",
3318
+ width: 24,
3319
+ height: 24,
3320
+ viewBox: "0 0 24 24",
3321
+ fill: "none",
3322
+ stroke: "currentColor",
3323
+ "stroke-width": 2,
3324
+ "stroke-linecap": "round",
3325
+ "stroke-linejoin": "round"
3326
+ };
3327
+ const LUCIDE_CONTEXT = /* @__PURE__ */ Symbol("lucide-icons");
3328
+ function useLucideProps() {
3329
+ return inject(LUCIDE_CONTEXT, {});
3330
+ }
3331
+ const Icon = ({
3332
+ name,
3333
+ iconNode,
3334
+ absoluteStrokeWidth,
3335
+ "absolute-stroke-width": absoluteStrokeWidthKebabCase,
3336
+ strokeWidth,
3337
+ "stroke-width": strokeWidthKebabCase,
3338
+ size,
3339
+ color,
3340
+ ...props
3341
+ }, { slots }) => {
3342
+ const {
3343
+ size: contextSize,
3344
+ color: contextColor,
3345
+ strokeWidth: contextStrokeWidth = 2,
3346
+ absoluteStrokeWidth: contextAbsoluteStrokeWidth = false,
3347
+ class: contextClass = ""
3348
+ } = useLucideProps();
3349
+ const calculatedStrokeWidth = computed(() => {
3350
+ const isAbsoluteStrokeWidth = isEmptyString(absoluteStrokeWidth) || isEmptyString(absoluteStrokeWidthKebabCase) || absoluteStrokeWidth === true || absoluteStrokeWidthKebabCase === true || contextAbsoluteStrokeWidth === true;
3351
+ const strokeWidthValue = strokeWidth || strokeWidthKebabCase || contextStrokeWidth || defaultAttributes["stroke-width"];
3352
+ if (isAbsoluteStrokeWidth) {
3353
+ return Number(strokeWidthValue) * 24 / Number(size ?? contextSize ?? defaultAttributes.width);
3354
+ }
3355
+ return strokeWidthValue;
3356
+ });
3357
+ return h(
3358
+ "svg",
3359
+ {
3360
+ ...defaultAttributes,
3361
+ ...props,
3362
+ width: size ?? contextSize ?? defaultAttributes.width,
3363
+ height: size ?? contextSize ?? defaultAttributes.height,
3364
+ stroke: color ?? contextColor ?? defaultAttributes.stroke,
3365
+ "stroke-width": calculatedStrokeWidth.value,
3366
+ class: mergeClasses(
3367
+ "lucide",
3368
+ contextClass,
3369
+ ...name ? [`lucide-${toKebabCase(toPascalCase(name))}-icon`, `lucide-${toKebabCase(name)}`] : ["lucide-icon"]
3370
+ )
3371
+ },
3372
+ [...iconNode.map((child) => h(...child)), ...slots.default ? [slots.default()] : []]
3373
+ );
3374
+ };
3375
+ const createLucideIcon = (iconName, iconNode) => (props, { slots, attrs }) => h(
3376
+ Icon,
3377
+ {
3378
+ ...attrs,
3379
+ ...props,
3380
+ iconNode,
3381
+ name: iconName
3382
+ },
3383
+ slots
3384
+ );
3385
+ const __iconNode$1 = [
3386
+ ["rect", { width: "18", height: "18", x: "3", y: "3", rx: "2", key: "afitv7" }],
3387
+ ["path", { d: "M9 3v18", key: "fh3hqa" }],
3388
+ ["path", { d: "m16 15-3-3 3-3", key: "14y99z" }]
3389
+ ];
3390
+ const PanelLeftClose = createLucideIcon("panel-left-close", __iconNode$1);
3391
+ const __iconNode = [
3392
+ ["rect", { width: "18", height: "18", x: "3", y: "3", rx: "2", key: "afitv7" }],
3393
+ ["path", { d: "M9 3v18", key: "fh3hqa" }],
3394
+ ["path", { d: "m14 9 3 3-3 3", key: "8010ee" }]
3395
+ ];
3396
+ const PanelLeftOpen = createLucideIcon("panel-left-open", __iconNode);
3255
3397
  const _sfc_main$4 = /* @__PURE__ */ defineComponent({
3256
- __name: "SideMenu",
3398
+ __name: "SidebarTrigger",
3257
3399
  props: {
3258
- brand: { default: void 0 },
3259
- mainItems: { default: () => [] },
3260
- footerItems: { default: () => [] },
3261
- user: { default: void 0 },
3262
- mainLabel: { default: "Plateforme" },
3263
- footerLabel: { default: "Ressources" },
3264
- settingsHref: { default: "" },
3265
- settingsLabel: { default: "Settings" },
3266
- logoutLabel: { default: "Log out" },
3267
- class: { type: [Boolean, null, String, Object, Array], default: void 0 },
3268
- headerClass: { type: [Boolean, null, String, Object, Array], default: void 0 },
3269
- contentClass: { type: [Boolean, null, String, Object, Array], default: void 0 },
3270
- footerClass: { type: [Boolean, null, String, Object, Array], default: void 0 }
3400
+ class: { type: [Boolean, null, String, Object, Array] }
3271
3401
  },
3272
3402
  setup(__props) {
3273
3403
  const props = __props;
3274
- const slots = useSlots();
3275
- const hasHeader = computed(() => Boolean(slots.header || props.brand));
3276
- const hasContent = computed(() => Boolean(slots.default || props.mainItems.length));
3277
- const hasFooter = computed(() => Boolean(slots.footer || props.footerItems.length || props.user));
3404
+ const { state, toggleSidebar } = useSidebar();
3278
3405
  return (_ctx, _cache) => {
3279
- return openBlock(), createElementBlock("aside", {
3280
- class: normalizeClass([rootClass, props.class])
3281
- }, [
3282
- hasHeader.value ? (openBlock(), createElementBlock("div", {
3283
- key: 0,
3284
- class: normalizeClass([headerClass, props.headerClass])
3285
- }, [
3286
- renderSlot(_ctx.$slots, "header", {}, () => [
3287
- __props.brand ? (openBlock(), createBlock(_sfc_main$c, normalizeProps(mergeProps({ key: 0 }, __props.brand)), null, 16)) : createCommentVNode("", true)
3288
- ])
3289
- ], 2)) : createCommentVNode("", true),
3290
- hasContent.value ? (openBlock(), createElementBlock("div", {
3291
- key: 1,
3292
- class: normalizeClass([contentClass, props.contentClass])
3293
- }, [
3294
- renderSlot(_ctx.$slots, "default", {}, () => [
3295
- __props.mainItems.length ? (openBlock(), createBlock(_sfc_main$8, {
3296
- key: 0,
3297
- items: __props.mainItems,
3298
- label: __props.mainLabel
3299
- }, null, 8, ["items", "label"])) : createCommentVNode("", true)
3300
- ])
3301
- ], 2)) : createCommentVNode("", true),
3302
- hasFooter.value ? (openBlock(), createElementBlock("div", {
3303
- key: 2,
3304
- class: normalizeClass([footerClass, props.footerClass])
3305
- }, [
3306
- renderSlot(_ctx.$slots, "footer", {}, () => [
3307
- createElementVNode("div", _hoisted_1$4, [
3308
- __props.footerItems.length ? (openBlock(), createBlock(_sfc_main$9, {
3309
- key: 0,
3310
- items: __props.footerItems,
3311
- label: __props.footerLabel
3312
- }, null, 8, ["items", "label"])) : createCommentVNode("", true),
3313
- __props.user ? (openBlock(), createBlock(_sfc_main$5, {
3314
- key: 1,
3315
- user: __props.user,
3316
- "settings-href": __props.settingsHref,
3317
- "settings-label": __props.settingsLabel,
3318
- "logout-label": __props.logoutLabel
3319
- }, null, 8, ["user", "settings-href", "settings-label", "logout-label"])) : createCommentVNode("", true)
3320
- ])
3321
- ])
3322
- ], 2)) : createCommentVNode("", true)
3323
- ], 2);
3406
+ return openBlock(), createBlock(_sfc_main$F, {
3407
+ "data-sidebar": "trigger",
3408
+ "data-slot": "sidebar-trigger",
3409
+ variant: "ghost",
3410
+ size: "icon",
3411
+ class: normalizeClass(["h-7 w-7", props.class]),
3412
+ onClick: unref(toggleSidebar)
3413
+ }, {
3414
+ default: withCtx(() => [
3415
+ unref(state) === "collapsed" ? (openBlock(), createBlock(unref(PanelLeftOpen), { key: 0 })) : (openBlock(), createBlock(unref(PanelLeftClose), { key: 1 })),
3416
+ _cache[0] || (_cache[0] = createElementVNode("span", { class: "sr-only" }, "Basculer la barre latérale", -1))
3417
+ ]),
3418
+ _: 1
3419
+ }, 8, ["class", "onClick"]);
3324
3420
  };
3325
3421
  }
3326
3422
  });
@@ -3672,7 +3768,7 @@ const _sfc_main$1 = {
3672
3768
  ]),
3673
3769
  createElementVNode("h3", _hoisted_13$1, toDisplayString(__props.emptyState.title), 1),
3674
3770
  createElementVNode("p", _hoisted_14$1, toDisplayString(__props.emptyState.description), 1),
3675
- __props.emptyState.actionText && __props.emptyState.actionUrl ? (openBlock(), createBlock(_sfc_main$e, {
3771
+ __props.emptyState.actionText && __props.emptyState.actionUrl ? (openBlock(), createBlock(_sfc_main$i, {
3676
3772
  key: 0,
3677
3773
  href: __props.emptyState.actionUrl,
3678
3774
  variant: "primary"
@@ -4165,7 +4261,7 @@ const _sfc_main = {
4165
4261
  isEditingRow(item, index) && column.slot && unref(slots)[getEditSlotName(column)] ? renderSlot(_ctx.$slots, getEditSlotName(column), mergeProps({
4166
4262
  key: 0,
4167
4263
  ref_for: true
4168
- }, getSlotBindings(item, column, index))) : isEditingRow(item, index) && column.input ? (openBlock(), createBlock(_sfc_main$o, {
4264
+ }, getSlotBindings(item, column, index))) : isEditingRow(item, index) && column.input ? (openBlock(), createBlock(_sfc_main$s, {
4169
4265
  key: 1,
4170
4266
  type: getInputType(column),
4171
4267
  class: normalizeClass(getInputClass(column)),
@@ -4198,7 +4294,7 @@ const _sfc_main = {
4198
4294
  key: 0,
4199
4295
  ref_for: true
4200
4296
  }, getSlotBindings(item, null, index))) : createCommentVNode("", true),
4201
- __props.rowEditing && isEditingRow(item, index) ? (openBlock(), createBlock(_sfc_main$B, {
4297
+ __props.rowEditing && isEditingRow(item, index) ? (openBlock(), createBlock(_sfc_main$F, {
4202
4298
  key: 1,
4203
4299
  type: "button",
4204
4300
  variant: "outline",
@@ -4211,7 +4307,7 @@ const _sfc_main = {
4211
4307
  createVNode(unref(CheckIcon), { class: "size-4" })
4212
4308
  ]),
4213
4309
  _: 1
4214
- }, 8, ["title", "aria-label", "onClick"])) : __props.rowEditing ? (openBlock(), createBlock(_sfc_main$B, {
4310
+ }, 8, ["title", "aria-label", "onClick"])) : __props.rowEditing ? (openBlock(), createBlock(_sfc_main$F, {
4215
4311
  key: 2,
4216
4312
  type: "button",
4217
4313
  variant: "secondary",
@@ -4238,7 +4334,7 @@ const _sfc_main = {
4238
4334
  ]),
4239
4335
  createElementVNode("h3", _hoisted_17, toDisplayString(__props.emptyState.title), 1),
4240
4336
  createElementVNode("p", _hoisted_18, toDisplayString(__props.emptyState.description), 1),
4241
- __props.emptyState.actionText && __props.emptyState.actionUrl ? (openBlock(), createBlock(_sfc_main$e, {
4337
+ __props.emptyState.actionText && __props.emptyState.actionUrl ? (openBlock(), createBlock(_sfc_main$i, {
4242
4338
  key: 0,
4243
4339
  href: __props.emptyState.actionUrl,
4244
4340
  variant: "primary"
@@ -4264,52 +4360,56 @@ const plugin = {
4264
4360
  }
4265
4361
  };
4266
4362
  export {
4267
- _sfc_main$G as ActionCard,
4268
- _sfc_main$F as ActionMessage,
4269
- _sfc_main$D as ActionSection,
4270
- _sfc_main$C as Badge,
4271
- _sfc_main$B as Button,
4272
- _sfc_main$I as Card,
4273
- _sfc_main$J as CardTabs,
4274
- _sfc_main$A as Checkbox,
4275
- _sfc_main$z as CheckboxInput,
4276
- _sfc_main$n as CheckboxMultipleInput,
4277
- _sfc_main$l as ConfirmationModal,
4278
- _sfc_main$w as CustomSelect,
4279
- _sfc_main$u as DateInput,
4280
- _sfc_main$k as DialogModal,
4281
- _sfc_main$H as Divider,
4282
- _sfc_main$j as Dropdown,
4283
- _sfc_main$i as DropdownLink,
4363
+ _sfc_main$K as ActionCard,
4364
+ _sfc_main$J as ActionMessage,
4365
+ _sfc_main$H as ActionSection,
4366
+ _sfc_main$G as Badge,
4367
+ _sfc_main$F as Button,
4368
+ _sfc_main$M as Card,
4369
+ _sfc_main$N as CardTabs,
4370
+ _sfc_main$E as Checkbox,
4371
+ _sfc_main$D as CheckboxInput,
4372
+ _sfc_main$r as CheckboxMultipleInput,
4373
+ _sfc_main$p as ConfirmationModal,
4374
+ _sfc_main$A as CustomSelect,
4375
+ _sfc_main$y as DateInput,
4376
+ _sfc_main$o as DialogModal,
4377
+ _sfc_main$L as Divider,
4378
+ _sfc_main$n as Dropdown,
4379
+ _sfc_main$m as DropdownLink,
4284
4380
  plugin as EnosVueDefault,
4285
- _sfc_main$h as FormSection,
4286
- _sfc_main$t as ImageInput,
4287
- _sfc_main$g as InputError,
4288
- _sfc_main$o as InputGroup,
4289
- _sfc_main$f as InputLabel,
4290
- _sfc_main$e as LinkButton,
4291
- _sfc_main$m as Modal,
4292
- _sfc_main$s as NotationInput,
4293
- _sfc_main$r as RadioInput,
4294
- _sfc_main$q as RadioMultipleInput,
4295
- _sfc_main$d as SectionBorder,
4381
+ _sfc_main$l as FormSection,
4382
+ _sfc_main$x as ImageInput,
4383
+ _sfc_main$k as InputError,
4384
+ _sfc_main$s as InputGroup,
4385
+ _sfc_main$j as InputLabel,
4386
+ _sfc_main$i as LinkButton,
4387
+ _sfc_main$q as Modal,
4388
+ _sfc_main$w as NotationInput,
4389
+ _sfc_main$v as RadioInput,
4390
+ _sfc_main$u as RadioMultipleInput,
4391
+ _sfc_main$h as SectionBorder,
4296
4392
  SectionTitle,
4297
- _sfc_main$v as SelectInput,
4298
- _sfc_main$4 as SideMenu,
4299
- _sfc_main$c as SideMenuBrand,
4300
- _sfc_main$b as SideMenuButton,
4301
- _sfc_main$a as SideMenuList,
4302
- _sfc_main$9 as SideMenuNavFooter,
4303
- _sfc_main$8 as SideMenuNavMain,
4304
- _sfc_main$5 as SideMenuNavUser,
4305
- _sfc_main$7 as SideMenuUserInfo,
4306
- _sfc_main$6 as SideMenuUserMenuContent,
4393
+ _sfc_main$z as SelectInput,
4394
+ _sfc_main$g as Sidebar,
4395
+ _sfc_main$f as SidebarContent,
4396
+ _sfc_main$e as SidebarFooter,
4397
+ _sfc_main$d as SidebarGroup,
4398
+ _sfc_main$c as SidebarGroupContent,
4399
+ _sfc_main$b as SidebarGroupLabel,
4400
+ _sfc_main$a as SidebarHeader,
4401
+ _sfc_main$9 as SidebarInset,
4402
+ _sfc_main$8 as SidebarMenu,
4403
+ _sfc_main$7 as SidebarMenuButton,
4404
+ _sfc_main$6 as SidebarMenuItem,
4405
+ _sfc_main$5 as SidebarProvider,
4406
+ _sfc_main$4 as SidebarTrigger,
4307
4407
  _sfc_main$3 as SortControls,
4308
4408
  _sfc_main$1 as TableList,
4309
4409
  _sfc_main as TableListForm,
4310
- _sfc_main$x as TextArea,
4311
- _sfc_main$y as TextInput,
4410
+ _sfc_main$B as TextArea,
4411
+ _sfc_main$C as TextInput,
4312
4412
  _sfc_main$2 as ThSortable,
4313
- _sfc_main$p as TinyEditor
4413
+ _sfc_main$t as TinyEditor
4314
4414
  };
4315
4415
  //# sourceMappingURL=index.js.map