@enos5/enos-vue-default 1.0.1 → 1.2.1

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