cisse-vue-ui 0.7.4 → 0.7.5

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.
Files changed (29) hide show
  1. package/dist/{TagsInput-DtoJKN3L.js → CheckboxGroup.vue_vue_type_script_setup_true_lang-BOGul8zU.js} +400 -225
  2. package/dist/CheckboxGroup.vue_vue_type_script_setup_true_lang-BOGul8zU.js.map +1 -0
  3. package/dist/{TagsInput-tlIso0sZ.cjs → CheckboxGroup.vue_vue_type_script_setup_true_lang-BcoXb8Xg.cjs} +396 -221
  4. package/dist/CheckboxGroup.vue_vue_type_script_setup_true_lang-BcoXb8Xg.cjs.map +1 -0
  5. package/dist/components/form/CheckboxGroup.test.d.ts +1 -0
  6. package/dist/components/form/CheckboxGroup.vue.d.ts +26 -0
  7. package/dist/components/form/TextArea.test.d.ts +1 -0
  8. package/dist/components/form/TextArea.vue.d.ts +40 -0
  9. package/dist/components/form/index.cjs +31 -29
  10. package/dist/components/form/index.cjs.map +1 -1
  11. package/dist/components/form/index.d.ts +2 -0
  12. package/dist/components/form/index.js +3 -1
  13. package/dist/components/index.cjs +31 -29
  14. package/dist/components/index.cjs.map +1 -1
  15. package/dist/components/index.js +3 -1
  16. package/dist/{index-Ci0UGwko.cjs → index-DXO2TliH.cjs} +32 -30
  17. package/dist/index-DXO2TliH.cjs.map +1 -0
  18. package/dist/index-DpEkzIVv.js +97 -0
  19. package/dist/index-DpEkzIVv.js.map +1 -0
  20. package/dist/index.cjs +32 -30
  21. package/dist/index.cjs.map +1 -1
  22. package/dist/index.js +4 -2
  23. package/dist/style.css +1 -1
  24. package/package.json +1 -1
  25. package/dist/TagsInput-DtoJKN3L.js.map +0 -1
  26. package/dist/TagsInput-tlIso0sZ.cjs.map +0 -1
  27. package/dist/index-Ci0UGwko.cjs.map +0 -1
  28. package/dist/index-F9yanU6_.js +0 -95
  29. package/dist/index-F9yanU6_.js.map +0 -1
@@ -6,8 +6,8 @@ const useDropdown = require("./useDropdown-DHFnd259.cjs");
6
6
  const _pluginVue_exportHelper = require("./_plugin-vue_export-helper-DM9IkUGy.cjs");
7
7
  const index = require("./index-D1x3TH9k.cjs");
8
8
  const Button_vue_vue_type_script_setup_true_lang = require("./Button.vue_vue_type_script_setup_true_lang-CXRj7LEP.cjs");
9
- const _hoisted_1$r = ["data-error", "for"];
10
- const _sfc_main$r = /* @__PURE__ */ vue.defineComponent({
9
+ const _hoisted_1$s = ["data-error", "for"];
10
+ const _sfc_main$t = /* @__PURE__ */ vue.defineComponent({
11
11
  __name: "FormLabel",
12
12
  props: {
13
13
  error: { type: [String, Boolean] },
@@ -21,12 +21,12 @@ const _sfc_main$r = /* @__PURE__ */ vue.defineComponent({
21
21
  class: "block text-sm font-medium text-gray-700 data-[error=true]:text-red-500 dark:text-gray-300"
22
22
  }, [
23
23
  vue.renderSlot(_ctx.$slots, "default")
24
- ], 8, _hoisted_1$r);
24
+ ], 8, _hoisted_1$s);
25
25
  };
26
26
  }
27
27
  });
28
- const _hoisted_1$q = ["id", "data-error", "role", "aria-live"];
29
- const _sfc_main$q = /* @__PURE__ */ vue.defineComponent({
28
+ const _hoisted_1$r = ["id", "data-error", "role", "aria-live"];
29
+ const _sfc_main$s = /* @__PURE__ */ vue.defineComponent({
30
30
  __name: "FormHelp",
31
31
  props: {
32
32
  id: {},
@@ -45,19 +45,19 @@ const _sfc_main$q = /* @__PURE__ */ vue.defineComponent({
45
45
  vue.renderSlot(_ctx.$slots, "default", {}, () => [
46
46
  vue.createTextVNode(vue.toDisplayString(__props.text ?? ""), 1)
47
47
  ])
48
- ], 8, _hoisted_1$q);
48
+ ], 8, _hoisted_1$r);
49
49
  };
50
50
  }
51
51
  });
52
- const _hoisted_1$p = {
52
+ const _hoisted_1$q = {
53
53
  key: 0,
54
54
  class: "absolute left-3 top-1/2 -translate-y-1/2 pointer-events-none text-gray-400"
55
55
  };
56
- const _hoisted_2$h = {
56
+ const _hoisted_2$i = {
57
57
  key: 1,
58
58
  class: "absolute right-3 top-1/2 -translate-y-1/2 flex items-center gap-1"
59
59
  };
60
- const _sfc_main$p = /* @__PURE__ */ vue.defineComponent({
60
+ const _sfc_main$r = /* @__PURE__ */ vue.defineComponent({
61
61
  __name: "InputWrapper",
62
62
  props: {
63
63
  icon: {},
@@ -97,7 +97,7 @@ const _sfc_main$p = /* @__PURE__ */ vue.defineComponent({
97
97
  return vue.openBlock(), vue.createElementBlock("div", {
98
98
  class: vue.normalizeClass(["relative", __props.wrapperClass])
99
99
  }, [
100
- hasLeftIcon.value ? (vue.openBlock(), vue.createElementBlock("div", _hoisted_1$p, [
100
+ hasLeftIcon.value ? (vue.openBlock(), vue.createElementBlock("div", _hoisted_1$q, [
101
101
  vue.renderSlot(_ctx.$slots, "icon", {}, () => [
102
102
  __props.icon ? (vue.openBlock(), vue.createBlock(vue.unref(vue$1.Icon), {
103
103
  key: 0,
@@ -107,7 +107,7 @@ const _sfc_main$p = /* @__PURE__ */ vue.defineComponent({
107
107
  ])
108
108
  ])) : vue.createCommentVNode("", true),
109
109
  vue.renderSlot(_ctx.$slots, "default", { inputClass: inputClass.value }),
110
- hasRightContent.value ? (vue.openBlock(), vue.createElementBlock("div", _hoisted_2$h, [
110
+ hasRightContent.value ? (vue.openBlock(), vue.createElementBlock("div", _hoisted_2$i, [
111
111
  vue.renderSlot(_ctx.$slots, "actions", {}, () => [
112
112
  __props.iconRight ? (vue.openBlock(), vue.createBlock(vue.unref(vue$1.Icon), {
113
113
  key: 0,
@@ -120,8 +120,8 @@ const _sfc_main$p = /* @__PURE__ */ vue.defineComponent({
120
120
  };
121
121
  }
122
122
  });
123
- const _hoisted_1$o = ["id", "disabled", "name", "placeholder", "type", "required", "aria-invalid", "aria-required", "aria-describedby"];
124
- const _sfc_main$o = /* @__PURE__ */ vue.defineComponent({
123
+ const _hoisted_1$p = ["id", "disabled", "name", "placeholder", "type", "required", "aria-invalid", "aria-required", "aria-describedby"];
124
+ const _sfc_main$q = /* @__PURE__ */ vue.defineComponent({
125
125
  ...{
126
126
  inheritAttrs: false
127
127
  },
@@ -147,7 +147,7 @@ const _sfc_main$o = /* @__PURE__ */ vue.defineComponent({
147
147
  const props = __props;
148
148
  const modelValue = vue.useModel(__props, "modelValue");
149
149
  return (_ctx, _cache) => {
150
- return vue.openBlock(), vue.createBlock(_sfc_main$p, {
150
+ return vue.openBlock(), vue.createBlock(_sfc_main$r, {
151
151
  icon: props.icon,
152
152
  "icon-right": props.iconRight,
153
153
  disabled: props.disabled,
@@ -166,7 +166,7 @@ const _sfc_main$o = /* @__PURE__ */ vue.defineComponent({
166
166
  "aria-required": props.required || void 0,
167
167
  "aria-describedby": props.describedBy || void 0,
168
168
  class: inputClass
169
- }, _ctx.$attrs), null, 16, _hoisted_1$o), [
169
+ }, _ctx.$attrs), null, 16, _hoisted_1$p), [
170
170
  [vue.vModelDynamic, modelValue.value]
171
171
  ])
172
172
  ]),
@@ -175,10 +175,10 @@ const _sfc_main$o = /* @__PURE__ */ vue.defineComponent({
175
175
  };
176
176
  }
177
177
  });
178
- const _hoisted_1$n = { class: "relative" };
179
- const _hoisted_2$g = ["id", "disabled", "aria-expanded", "aria-controls", "aria-invalid", "aria-describedby"];
180
- const _hoisted_3$f = { class: "flex-1 truncate" };
181
- const _hoisted_4$b = ["id", "aria-label"];
178
+ const _hoisted_1$o = { class: "relative" };
179
+ const _hoisted_2$h = ["id", "disabled", "aria-expanded", "aria-controls", "aria-invalid", "aria-describedby"];
180
+ const _hoisted_3$g = { class: "flex-1 truncate" };
181
+ const _hoisted_4$c = ["id", "aria-label"];
182
182
  const _hoisted_5$8 = {
183
183
  key: 0,
184
184
  class: "sticky top-0 border-b border-gray-200 bg-white p-2 dark:border-gray-700 dark:bg-gray-800"
@@ -197,7 +197,7 @@ const _hoisted_10$4 = {
197
197
  "aria-hidden": "true"
198
198
  };
199
199
  const _hoisted_11$4 = { class: "flex-1" };
200
- const _sfc_main$n = /* @__PURE__ */ vue.defineComponent({
200
+ const _sfc_main$p = /* @__PURE__ */ vue.defineComponent({
201
201
  __name: "FormSelect",
202
202
  props: /* @__PURE__ */ vue.mergeModels({
203
203
  options: {},
@@ -317,7 +317,7 @@ const _sfc_main$n = /* @__PURE__ */ vue.defineComponent({
317
317
  return [base, state, text, props.triggerClass];
318
318
  });
319
319
  return (_ctx, _cache) => {
320
- return vue.openBlock(), vue.createElementBlock("div", _hoisted_1$n, [
320
+ return vue.openBlock(), vue.createElementBlock("div", _hoisted_1$o, [
321
321
  vue.createElementVNode("button", {
322
322
  id: triggerId.value,
323
323
  ref_key: "triggerRef",
@@ -337,14 +337,14 @@ const _sfc_main$n = /* @__PURE__ */ vue.defineComponent({
337
337
  option: selectedOption.value,
338
338
  placeholder: __props.placeholder
339
339
  }, () => [
340
- vue.createElementVNode("span", _hoisted_3$f, vue.toDisplayString(displayValue.value), 1)
340
+ vue.createElementVNode("span", _hoisted_3$g, vue.toDisplayString(displayValue.value), 1)
341
341
  ]),
342
342
  vue.createVNode(vue.unref(vue$1.Icon), {
343
343
  icon: "lucide:chevron-down",
344
344
  class: vue.normalizeClass(["size-4 shrink-0 text-gray-400 transition-transform", vue.unref(isOpen) && "rotate-180"]),
345
345
  "aria-hidden": "true"
346
346
  }, null, 8, ["class"])
347
- ], 42, _hoisted_2$g),
347
+ ], 42, _hoisted_2$h),
348
348
  (vue.openBlock(), vue.createBlock(vue.Teleport, {
349
349
  to: "body",
350
350
  disabled: !__props.teleport
@@ -426,7 +426,7 @@ const _sfc_main$n = /* @__PURE__ */ vue.defineComponent({
426
426
  ], 42, _hoisted_9$4);
427
427
  }), 128))
428
428
  ])
429
- ], 14, _hoisted_4$b)) : vue.createCommentVNode("", true)
429
+ ], 14, _hoisted_4$c)) : vue.createCommentVNode("", true)
430
430
  ]),
431
431
  _: 3
432
432
  })
@@ -435,8 +435,8 @@ const _sfc_main$n = /* @__PURE__ */ vue.defineComponent({
435
435
  };
436
436
  }
437
437
  });
438
- const _hoisted_1$m = ["hidden"];
439
- const _sfc_main$m = /* @__PURE__ */ vue.defineComponent({
438
+ const _hoisted_1$n = ["hidden"];
439
+ const _sfc_main$o = /* @__PURE__ */ vue.defineComponent({
440
440
  __name: "FormGroup",
441
441
  props: /* @__PURE__ */ vue.mergeModels({
442
442
  label: {},
@@ -477,7 +477,7 @@ const _sfc_main$m = /* @__PURE__ */ vue.defineComponent({
477
477
  }, [
478
478
  vue.renderSlot(_ctx.$slots, "default", {}, () => [
479
479
  vue.renderSlot(_ctx.$slots, "label", {}, () => [
480
- __props.label ? (vue.openBlock(), vue.createBlock(_sfc_main$r, {
480
+ __props.label ? (vue.openBlock(), vue.createBlock(_sfc_main$t, {
481
481
  key: 0,
482
482
  "html-for": inputId.value,
483
483
  error: __props.error
@@ -489,7 +489,7 @@ const _sfc_main$m = /* @__PURE__ */ vue.defineComponent({
489
489
  }, 8, ["html-for", "error"])) : vue.createCommentVNode("", true)
490
490
  ]),
491
491
  vue.renderSlot(_ctx.$slots, "input", {}, () => [
492
- isSelect.value ? (vue.openBlock(), vue.createBlock(_sfc_main$n, vue.mergeProps({
492
+ isSelect.value ? (vue.openBlock(), vue.createBlock(_sfc_main$p, vue.mergeProps({
493
493
  key: 0,
494
494
  modelValue: modelValue.value,
495
495
  "onUpdate:modelValue": _cache[0] || (_cache[0] = ($event) => modelValue.value = $event)
@@ -497,7 +497,7 @@ const _sfc_main$m = /* @__PURE__ */ vue.defineComponent({
497
497
  id: inputId.value,
498
498
  invalid: Boolean(__props.error),
499
499
  "described-by": hasError.value ? helpId.value : void 0
500
- }), null, 16, ["modelValue", "id", "invalid", "described-by"])) : (vue.openBlock(), vue.createBlock(_sfc_main$o, vue.mergeProps({
500
+ }), null, 16, ["modelValue", "id", "invalid", "described-by"])) : (vue.openBlock(), vue.createBlock(_sfc_main$q, vue.mergeProps({
501
501
  key: 1,
502
502
  modelValue: modelValue.value,
503
503
  "onUpdate:modelValue": _cache[1] || (_cache[1] = ($event) => modelValue.value = $event)
@@ -507,7 +507,7 @@ const _sfc_main$m = /* @__PURE__ */ vue.defineComponent({
507
507
  "described-by": hasError.value ? helpId.value : void 0
508
508
  }), null, 16, ["modelValue", "id", "invalid", "described-by"]))
509
509
  ]),
510
- hasError.value ? (vue.openBlock(), vue.createBlock(_sfc_main$q, {
510
+ hasError.value ? (vue.openBlock(), vue.createBlock(_sfc_main$s, {
511
511
  key: 0,
512
512
  id: helpId.value,
513
513
  error: true
@@ -518,12 +518,12 @@ const _sfc_main$m = /* @__PURE__ */ vue.defineComponent({
518
518
  _: 1
519
519
  }, 8, ["id"])) : vue.createCommentVNode("", true)
520
520
  ])
521
- ], 12, _hoisted_1$m);
521
+ ], 12, _hoisted_1$n);
522
522
  };
523
523
  }
524
524
  });
525
- const _hoisted_1$l = ["name", "placeholder", "disabled"];
526
- const _sfc_main$l = /* @__PURE__ */ vue.defineComponent({
525
+ const _hoisted_1$m = ["name", "placeholder", "disabled"];
526
+ const _sfc_main$n = /* @__PURE__ */ vue.defineComponent({
527
527
  ...{
528
528
  inheritAttrs: false
529
529
  },
@@ -543,7 +543,7 @@ const _sfc_main$l = /* @__PURE__ */ vue.defineComponent({
543
543
  const props = __props;
544
544
  const modelValue = vue.useModel(__props, "modelValue");
545
545
  return (_ctx, _cache) => {
546
- return vue.openBlock(), vue.createBlock(_sfc_main$p, {
546
+ return vue.openBlock(), vue.createBlock(_sfc_main$r, {
547
547
  icon: props.icon,
548
548
  size: props.size,
549
549
  disabled: props.disabled
@@ -556,7 +556,7 @@ const _sfc_main$l = /* @__PURE__ */ vue.defineComponent({
556
556
  placeholder: props.placeholder,
557
557
  disabled: props.disabled,
558
558
  class: inputClass
559
- }, _ctx.$attrs), null, 16, _hoisted_1$l), [
559
+ }, _ctx.$attrs), null, 16, _hoisted_1$m), [
560
560
  [vue.vModelText, modelValue.value]
561
561
  ])
562
562
  ]),
@@ -565,14 +565,14 @@ const _sfc_main$l = /* @__PURE__ */ vue.defineComponent({
565
565
  };
566
566
  }
567
567
  });
568
- const _hoisted_1$k = ["id", "aria-checked", "aria-labelledby", "aria-describedby", "disabled"];
569
- const _hoisted_2$f = {
568
+ const _hoisted_1$l = ["id", "aria-checked", "aria-labelledby", "aria-describedby", "disabled"];
569
+ const _hoisted_2$g = {
570
570
  key: 0,
571
571
  class: "flex flex-col"
572
572
  };
573
- const _hoisted_3$e = ["id"];
574
- const _hoisted_4$a = ["id"];
575
- const _sfc_main$k = /* @__PURE__ */ vue.defineComponent({
573
+ const _hoisted_3$f = ["id"];
574
+ const _hoisted_4$b = ["id"];
575
+ const _sfc_main$m = /* @__PURE__ */ vue.defineComponent({
576
576
  __name: "Switch",
577
577
  props: {
578
578
  modelValue: { type: Boolean, default: false },
@@ -636,35 +636,35 @@ const _sfc_main$k = /* @__PURE__ */ vue.defineComponent({
636
636
  ]),
637
637
  "aria-hidden": "true"
638
638
  }, null, 2)
639
- ], 10, _hoisted_1$k),
640
- __props.label || __props.description ? (vue.openBlock(), vue.createElementBlock("div", _hoisted_2$f, [
639
+ ], 10, _hoisted_1$l),
640
+ __props.label || __props.description ? (vue.openBlock(), vue.createElementBlock("div", _hoisted_2$g, [
641
641
  __props.label ? (vue.openBlock(), vue.createElementBlock("span", {
642
642
  key: 0,
643
643
  id: labelId.value,
644
644
  class: "text-sm font-medium text-gray-900 dark:text-white"
645
- }, vue.toDisplayString(__props.label), 9, _hoisted_3$e)) : vue.createCommentVNode("", true),
645
+ }, vue.toDisplayString(__props.label), 9, _hoisted_3$f)) : vue.createCommentVNode("", true),
646
646
  __props.description ? (vue.openBlock(), vue.createElementBlock("span", {
647
647
  key: 1,
648
648
  id: descriptionId.value,
649
649
  class: "text-sm text-gray-500 dark:text-gray-400"
650
- }, vue.toDisplayString(__props.description), 9, _hoisted_4$a)) : vue.createCommentVNode("", true)
650
+ }, vue.toDisplayString(__props.description), 9, _hoisted_4$b)) : vue.createCommentVNode("", true)
651
651
  ])) : vue.createCommentVNode("", true)
652
652
  ], 2);
653
653
  };
654
654
  }
655
655
  });
656
- const _hoisted_1$j = { class: "w-full" };
657
- const _hoisted_2$e = {
656
+ const _hoisted_1$k = { class: "w-full" };
657
+ const _hoisted_2$f = {
658
658
  key: 0,
659
659
  class: "mb-2 flex justify-between text-sm"
660
660
  };
661
- const _hoisted_3$d = { class: "text-gray-600 dark:text-gray-400" };
662
- const _hoisted_4$9 = { class: "font-medium text-gray-900 dark:text-white" };
661
+ const _hoisted_3$e = { class: "text-gray-600 dark:text-gray-400" };
662
+ const _hoisted_4$a = { class: "font-medium text-gray-900 dark:text-white" };
663
663
  const _hoisted_5$7 = { class: "text-gray-600 dark:text-gray-400" };
664
664
  const _hoisted_6$7 = { class: "relative" };
665
665
  const _hoisted_7$6 = ["value", "min", "max", "step", "disabled"];
666
666
  const _hoisted_8$5 = { class: "pointer-events-none absolute inset-y-0 left-0 flex items-center" };
667
- const _sfc_main$j = /* @__PURE__ */ vue.defineComponent({
667
+ const _sfc_main$l = /* @__PURE__ */ vue.defineComponent({
668
668
  __name: "Slider",
669
669
  props: /* @__PURE__ */ vue.mergeModels({
670
670
  min: { default: 0 },
@@ -695,10 +695,10 @@ const _sfc_main$j = /* @__PURE__ */ vue.defineComponent({
695
695
  modelValue.value = Number(target.value);
696
696
  };
697
697
  return (_ctx, _cache) => {
698
- return vue.openBlock(), vue.createElementBlock("div", _hoisted_1$j, [
699
- __props.showValue ? (vue.openBlock(), vue.createElementBlock("div", _hoisted_2$e, [
700
- vue.createElementVNode("span", _hoisted_3$d, vue.toDisplayString(__props.min), 1),
701
- vue.createElementVNode("span", _hoisted_4$9, vue.toDisplayString(displayValue.value), 1),
698
+ return vue.openBlock(), vue.createElementBlock("div", _hoisted_1$k, [
699
+ __props.showValue ? (vue.openBlock(), vue.createElementBlock("div", _hoisted_2$f, [
700
+ vue.createElementVNode("span", _hoisted_3$e, vue.toDisplayString(__props.min), 1),
701
+ vue.createElementVNode("span", _hoisted_4$a, vue.toDisplayString(displayValue.value), 1),
702
702
  vue.createElementVNode("span", _hoisted_5$7, vue.toDisplayString(__props.max), 1)
703
703
  ])) : vue.createCommentVNode("", true),
704
704
  vue.createElementVNode("div", _hoisted_6$7, [
@@ -723,11 +723,11 @@ const _sfc_main$j = /* @__PURE__ */ vue.defineComponent({
723
723
  };
724
724
  }
725
725
  });
726
- const Slider = /* @__PURE__ */ _pluginVue_exportHelper._export_sfc(_sfc_main$j, [["__scopeId", "data-v-c25e2c2a"]]);
727
- const _hoisted_1$i = { class: "relative" };
728
- const _hoisted_2$d = ["id", "disabled", "aria-expanded", "aria-controls"];
729
- const _hoisted_3$c = { class: "flex-1 truncate" };
730
- const _hoisted_4$8 = { class: "flex items-center gap-1" };
726
+ const Slider = /* @__PURE__ */ _pluginVue_exportHelper._export_sfc(_sfc_main$l, [["__scopeId", "data-v-c25e2c2a"]]);
727
+ const _hoisted_1$j = { class: "relative" };
728
+ const _hoisted_2$e = ["id", "disabled", "aria-expanded", "aria-controls"];
729
+ const _hoisted_3$d = { class: "flex-1 truncate" };
730
+ const _hoisted_4$9 = { class: "flex items-center gap-1" };
731
731
  const _hoisted_5$6 = ["id", "aria-label"];
732
732
  const _hoisted_6$6 = { class: "mb-4 flex items-center justify-between" };
733
733
  const _hoisted_7$5 = {
@@ -743,7 +743,7 @@ const _hoisted_9$3 = ["abbr"];
743
743
  const _hoisted_10$3 = ["id", "aria-label"];
744
744
  const _hoisted_11$3 = ["aria-label", "aria-selected", "aria-disabled", "disabled", "onClick"];
745
745
  const _hoisted_12$2 = { class: "mt-4 border-t border-gray-200 pt-3 dark:border-gray-700" };
746
- const _sfc_main$i = /* @__PURE__ */ vue.defineComponent({
746
+ const _sfc_main$k = /* @__PURE__ */ vue.defineComponent({
747
747
  __name: "DatePicker",
748
748
  props: /* @__PURE__ */ vue.mergeModels({
749
749
  placeholder: { default: "Select date" },
@@ -867,7 +867,7 @@ const _sfc_main$i = /* @__PURE__ */ vue.defineComponent({
867
867
  return formatter.format(date);
868
868
  };
869
869
  return (_ctx, _cache) => {
870
- return vue.openBlock(), vue.createElementBlock("div", _hoisted_1$i, [
870
+ return vue.openBlock(), vue.createElementBlock("div", _hoisted_1$j, [
871
871
  vue.createElementVNode("button", {
872
872
  id: triggerId.value,
873
873
  ref_key: "triggerRef",
@@ -885,8 +885,8 @@ const _sfc_main$i = /* @__PURE__ */ vue.defineComponent({
885
885
  onClick: _cache[0] || (_cache[0] = //@ts-ignore
886
886
  (...args) => vue.unref(toggle) && vue.unref(toggle)(...args))
887
887
  }, [
888
- vue.createElementVNode("span", _hoisted_3$c, vue.toDisplayString(displayValue.value || __props.placeholder), 1),
889
- vue.createElementVNode("div", _hoisted_4$8, [
888
+ vue.createElementVNode("span", _hoisted_3$d, vue.toDisplayString(displayValue.value || __props.placeholder), 1),
889
+ vue.createElementVNode("div", _hoisted_4$9, [
890
890
  modelValue.value ? (vue.openBlock(), vue.createElementBlock("button", {
891
891
  key: 0,
892
892
  type: "button",
@@ -906,7 +906,7 @@ const _sfc_main$i = /* @__PURE__ */ vue.defineComponent({
906
906
  "aria-hidden": "true"
907
907
  })
908
908
  ])
909
- ], 10, _hoisted_2$d),
909
+ ], 10, _hoisted_2$e),
910
910
  (vue.openBlock(), vue.createBlock(vue.Teleport, {
911
911
  to: "body",
912
912
  disabled: !__props.teleport
@@ -1011,10 +1011,10 @@ const _sfc_main$i = /* @__PURE__ */ vue.defineComponent({
1011
1011
  };
1012
1012
  }
1013
1013
  });
1014
- const _hoisted_1$h = { class: "space-y-4" };
1015
- const _hoisted_2$c = ["accept", "multiple", "disabled"];
1016
- const _hoisted_3$b = { class: "space-y-2" };
1017
- const _hoisted_4$7 = { class: "text-sm font-medium text-gray-700 dark:text-gray-300" };
1014
+ const _hoisted_1$i = { class: "space-y-4" };
1015
+ const _hoisted_2$d = ["accept", "multiple", "disabled"];
1016
+ const _hoisted_3$c = { class: "space-y-2" };
1017
+ const _hoisted_4$8 = { class: "text-sm font-medium text-gray-700 dark:text-gray-300" };
1018
1018
  const _hoisted_5$5 = {
1019
1019
  key: 0,
1020
1020
  class: "text-xs text-gray-500 dark:text-gray-400"
@@ -1031,7 +1031,7 @@ const _hoisted_8$3 = { class: "flex-1 min-w-0" };
1031
1031
  const _hoisted_9$2 = { class: "text-sm font-medium text-gray-700 dark:text-gray-300 truncate" };
1032
1032
  const _hoisted_10$2 = { class: "text-xs text-gray-500 dark:text-gray-400" };
1033
1033
  const _hoisted_11$2 = ["onClick"];
1034
- const _sfc_main$h = /* @__PURE__ */ vue.defineComponent({
1034
+ const _sfc_main$j = /* @__PURE__ */ vue.defineComponent({
1035
1035
  __name: "FileUpload",
1036
1036
  props: {
1037
1037
  accept: {},
@@ -1159,7 +1159,7 @@ const _sfc_main$h = /* @__PURE__ */ vue.defineComponent({
1159
1159
  return "heroicons:document";
1160
1160
  };
1161
1161
  return (_ctx, _cache) => {
1162
- return vue.openBlock(), vue.createElementBlock("div", _hoisted_1$h, [
1162
+ return vue.openBlock(), vue.createElementBlock("div", _hoisted_1$i, [
1163
1163
  vue.createElementVNode("div", {
1164
1164
  class: vue.normalizeClass(dropzoneClasses.value),
1165
1165
  onDrop: vue.withModifiers(handleDrop, ["prevent"]),
@@ -1176,13 +1176,13 @@ const _sfc_main$h = /* @__PURE__ */ vue.defineComponent({
1176
1176
  multiple: __props.multiple,
1177
1177
  disabled: __props.disabled,
1178
1178
  onChange: handleInputChange
1179
- }, null, 40, _hoisted_2$c),
1180
- vue.createElementVNode("div", _hoisted_3$b, [
1179
+ }, null, 40, _hoisted_2$d),
1180
+ vue.createElementVNode("div", _hoisted_3$c, [
1181
1181
  vue.createVNode(vue.unref(vue$1.Icon), {
1182
1182
  icon: "heroicons:cloud-arrow-up",
1183
1183
  class: vue.normalizeClass(["size-12 mx-auto text-gray-400", { "text-primary-500": isDragging.value }])
1184
1184
  }, null, 8, ["class"]),
1185
- vue.createElementVNode("p", _hoisted_4$7, vue.toDisplayString(__props.label), 1),
1185
+ vue.createElementVNode("p", _hoisted_4$8, vue.toDisplayString(__props.label), 1),
1186
1186
  __props.description ? (vue.openBlock(), vue.createElementBlock("p", _hoisted_5$5, vue.toDisplayString(__props.description), 1)) : vue.createCommentVNode("", true),
1187
1187
  __props.maxSize ? (vue.openBlock(), vue.createElementBlock("p", _hoisted_6$5, " Max size: " + vue.toDisplayString(formatSize(__props.maxSize)), 1)) : vue.createCommentVNode("", true)
1188
1188
  ])
@@ -1218,13 +1218,13 @@ const _sfc_main$h = /* @__PURE__ */ vue.defineComponent({
1218
1218
  };
1219
1219
  }
1220
1220
  });
1221
- const _hoisted_1$g = { class: "flex items-center gap-1" };
1222
- const _hoisted_2$b = ["disabled", "onClick", "onMousemove"];
1223
- const _hoisted_3$a = {
1221
+ const _hoisted_1$h = { class: "flex items-center gap-1" };
1222
+ const _hoisted_2$c = ["disabled", "onClick", "onMousemove"];
1223
+ const _hoisted_3$b = {
1224
1224
  key: 0,
1225
1225
  class: "ml-2 text-sm font-medium text-gray-700 dark:text-gray-300"
1226
1226
  };
1227
- const _sfc_main$g = /* @__PURE__ */ vue.defineComponent({
1227
+ const _sfc_main$i = /* @__PURE__ */ vue.defineComponent({
1228
1228
  __name: "Rating",
1229
1229
  props: {
1230
1230
  modelValue: { default: 0 },
@@ -1287,7 +1287,7 @@ const _sfc_main$g = /* @__PURE__ */ vue.defineComponent({
1287
1287
  hoverValue.value = null;
1288
1288
  };
1289
1289
  return (_ctx, _cache) => {
1290
- return vue.openBlock(), vue.createElementBlock("div", _hoisted_1$g, [
1290
+ return vue.openBlock(), vue.createElementBlock("div", _hoisted_1$h, [
1291
1291
  vue.createElementVNode("div", {
1292
1292
  class: "flex items-center",
1293
1293
  onMouseleave: handleMouseLeave
@@ -1319,21 +1319,21 @@ const _sfc_main$g = /* @__PURE__ */ vue.defineComponent({
1319
1319
  class: vue.normalizeClass([sizeClasses.value, __props.color])
1320
1320
  }, null, 8, ["icon", "class"])
1321
1321
  ], 4)
1322
- ], 42, _hoisted_2$b);
1322
+ ], 42, _hoisted_2$c);
1323
1323
  }), 128))
1324
1324
  ], 32),
1325
- __props.showValue ? (vue.openBlock(), vue.createElementBlock("span", _hoisted_3$a, vue.toDisplayString(__props.modelValue.toFixed(__props.allowHalf ? 1 : 0)), 1)) : vue.createCommentVNode("", true)
1325
+ __props.showValue ? (vue.openBlock(), vue.createElementBlock("span", _hoisted_3$b, vue.toDisplayString(__props.modelValue.toFixed(__props.allowHalf ? 1 : 0)), 1)) : vue.createCommentVNode("", true)
1326
1326
  ]);
1327
1327
  };
1328
1328
  }
1329
1329
  });
1330
- const _hoisted_1$f = { class: "relative inline-block" };
1331
- const _hoisted_2$a = {
1330
+ const _hoisted_1$g = { class: "relative inline-block" };
1331
+ const _hoisted_2$b = {
1332
1332
  key: 0,
1333
1333
  class: "block text-sm font-medium text-gray-700 dark:text-gray-300 mb-1"
1334
1334
  };
1335
- const _hoisted_3$9 = ["disabled"];
1336
- const _hoisted_4$6 = { class: "text-sm font-mono text-gray-700 dark:text-gray-300" };
1335
+ const _hoisted_3$a = ["disabled"];
1336
+ const _hoisted_4$7 = { class: "text-sm font-mono text-gray-700 dark:text-gray-300" };
1337
1337
  const _hoisted_5$4 = { class: "grid grid-cols-5 gap-2 mb-3" };
1338
1338
  const _hoisted_6$4 = ["title", "onClick"];
1339
1339
  const _hoisted_7$3 = {
@@ -1341,7 +1341,7 @@ const _hoisted_7$3 = {
1341
1341
  class: "flex items-center gap-2 pt-3 border-t border-gray-200 dark:border-gray-700"
1342
1342
  };
1343
1343
  const _hoisted_8$2 = ["value"];
1344
- const _sfc_main$f = /* @__PURE__ */ vue.defineComponent({
1344
+ const _sfc_main$h = /* @__PURE__ */ vue.defineComponent({
1345
1345
  __name: "ColorPicker",
1346
1346
  props: {
1347
1347
  modelValue: { default: "#3b82f6" },
@@ -1410,8 +1410,8 @@ const _sfc_main$f = /* @__PURE__ */ vue.defineComponent({
1410
1410
  isOpen.value = false;
1411
1411
  };
1412
1412
  return (_ctx, _cache) => {
1413
- return vue.openBlock(), vue.createElementBlock("div", _hoisted_1$f, [
1414
- __props.label ? (vue.openBlock(), vue.createElementBlock("label", _hoisted_2$a, vue.toDisplayString(__props.label), 1)) : vue.createCommentVNode("", true),
1413
+ return vue.openBlock(), vue.createElementBlock("div", _hoisted_1$g, [
1414
+ __props.label ? (vue.openBlock(), vue.createElementBlock("label", _hoisted_2$b, vue.toDisplayString(__props.label), 1)) : vue.createCommentVNode("", true),
1415
1415
  vue.createElementVNode("button", {
1416
1416
  type: "button",
1417
1417
  class: vue.normalizeClass(["flex items-center gap-2 px-3 py-2 border border-gray-300 dark:border-gray-600 rounded-lg bg-white dark:bg-gray-800 hover:bg-gray-50 dark:hover:bg-gray-700 transition-colors", { "opacity-50 cursor-not-allowed": __props.disabled }]),
@@ -1422,12 +1422,12 @@ const _sfc_main$f = /* @__PURE__ */ vue.defineComponent({
1422
1422
  class: "size-6 rounded border border-gray-200 dark:border-gray-600",
1423
1423
  style: vue.normalizeStyle({ backgroundColor: __props.modelValue })
1424
1424
  }, null, 4),
1425
- vue.createElementVNode("span", _hoisted_4$6, vue.toDisplayString(__props.modelValue), 1),
1425
+ vue.createElementVNode("span", _hoisted_4$7, vue.toDisplayString(__props.modelValue), 1),
1426
1426
  vue.createVNode(vue.unref(vue$1.Icon), {
1427
1427
  icon: "heroicons:chevron-down",
1428
1428
  class: vue.normalizeClass(["size-4 text-gray-400", { "rotate-180": isOpen.value }])
1429
1429
  }, null, 8, ["class"])
1430
- ], 10, _hoisted_3$9),
1430
+ ], 10, _hoisted_3$a),
1431
1431
  (vue.openBlock(), vue.createBlock(vue.Teleport, {
1432
1432
  to: teleportTarget.value,
1433
1433
  disabled: teleportDisabled.value
@@ -1501,16 +1501,16 @@ const _sfc_main$f = /* @__PURE__ */ vue.defineComponent({
1501
1501
  };
1502
1502
  }
1503
1503
  });
1504
- const _hoisted_1$e = { class: "space-y-2" };
1505
- const _hoisted_2$9 = {
1504
+ const _hoisted_1$f = { class: "space-y-2" };
1505
+ const _hoisted_2$a = {
1506
1506
  key: 0,
1507
1507
  class: "flex justify-between text-sm font-medium text-gray-700 dark:text-gray-300"
1508
1508
  };
1509
- const _hoisted_3$8 = {
1509
+ const _hoisted_3$9 = {
1510
1510
  key: 1,
1511
1511
  class: "flex justify-between text-xs text-gray-500 dark:text-gray-400"
1512
1512
  };
1513
- const _sfc_main$e = /* @__PURE__ */ vue.defineComponent({
1513
+ const _sfc_main$g = /* @__PURE__ */ vue.defineComponent({
1514
1514
  __name: "RangeSlider",
1515
1515
  props: {
1516
1516
  modelValue: { default: () => [25, 75] },
@@ -1588,8 +1588,8 @@ const _sfc_main$e = /* @__PURE__ */ vue.defineComponent({
1588
1588
  }
1589
1589
  };
1590
1590
  return (_ctx, _cache) => {
1591
- return vue.openBlock(), vue.createElementBlock("div", _hoisted_1$e, [
1592
- __props.showLabels ? (vue.openBlock(), vue.createElementBlock("div", _hoisted_2$9, [
1591
+ return vue.openBlock(), vue.createElementBlock("div", _hoisted_1$f, [
1592
+ __props.showLabels ? (vue.openBlock(), vue.createElementBlock("div", _hoisted_2$a, [
1593
1593
  vue.createElementVNode("span", null, vue.toDisplayString(__props.formatLabel(minValue.value)), 1),
1594
1594
  vue.createElementVNode("span", null, vue.toDisplayString(__props.formatLabel(maxValue.value)), 1)
1595
1595
  ])) : vue.createCommentVNode("", true),
@@ -1622,7 +1622,7 @@ const _sfc_main$e = /* @__PURE__ */ vue.defineComponent({
1622
1622
  onMousedown: _cache[1] || (_cache[1] = ($event) => handleMouseDown("max"))
1623
1623
  }, null, 38)
1624
1624
  ], 2),
1625
- __props.showMinMax ? (vue.openBlock(), vue.createElementBlock("div", _hoisted_3$8, [
1625
+ __props.showMinMax ? (vue.openBlock(), vue.createElementBlock("div", _hoisted_3$9, [
1626
1626
  vue.createElementVNode("span", null, vue.toDisplayString(__props.formatLabel(__props.min)), 1),
1627
1627
  vue.createElementVNode("span", null, vue.toDisplayString(__props.formatLabel(__props.max)), 1)
1628
1628
  ])) : vue.createCommentVNode("", true)
@@ -1630,10 +1630,10 @@ const _sfc_main$e = /* @__PURE__ */ vue.defineComponent({
1630
1630
  };
1631
1631
  }
1632
1632
  });
1633
- const _hoisted_1$d = ["aria-expanded", "aria-controls"];
1634
- const _hoisted_2$8 = ["id", "name", "placeholder", "disabled", "aria-controls"];
1635
- const _hoisted_3$7 = { class: "flex items-center gap-1" };
1636
- const _hoisted_4$5 = ["id", "aria-label", "aria-multiselectable"];
1633
+ const _hoisted_1$e = ["aria-expanded", "aria-controls"];
1634
+ const _hoisted_2$9 = ["id", "name", "placeholder", "disabled", "aria-controls"];
1635
+ const _hoisted_3$8 = { class: "flex items-center gap-1" };
1636
+ const _hoisted_4$6 = ["id", "aria-label", "aria-multiselectable"];
1637
1637
  const _hoisted_5$3 = ["aria-selected", "aria-disabled", "disabled", "onClick"];
1638
1638
  const _hoisted_6$3 = { class: "flex-1" };
1639
1639
  const _hoisted_7$2 = {
@@ -1641,7 +1641,7 @@ const _hoisted_7$2 = {
1641
1641
  class: "px-3 py-2 text-center text-sm text-gray-500 dark:text-gray-400",
1642
1642
  role: "status"
1643
1643
  };
1644
- const _sfc_main$d = /* @__PURE__ */ vue.defineComponent({
1644
+ const _sfc_main$f = /* @__PURE__ */ vue.defineComponent({
1645
1645
  __name: "Combobox",
1646
1646
  props: {
1647
1647
  modelValue: {},
@@ -1772,10 +1772,10 @@ const _sfc_main$d = /* @__PURE__ */ vue.defineComponent({
1772
1772
  class: "flex-1 border-none bg-transparent text-sm text-gray-900 outline-hidden placeholder:text-gray-400 dark:text-gray-100 dark:placeholder:text-gray-500",
1773
1773
  onClick: _cache[1] || (_cache[1] = vue.withModifiers(() => {
1774
1774
  }, ["stop"]))
1775
- }, null, 8, _hoisted_2$8)), [
1775
+ }, null, 8, _hoisted_2$9)), [
1776
1776
  [vue.vModelText, search.value]
1777
1777
  ]),
1778
- vue.createElementVNode("div", _hoisted_3$7, [
1778
+ vue.createElementVNode("div", _hoisted_3$8, [
1779
1779
  __props.clearable && selectedOptions.value.length > 0 && !__props.disabled ? (vue.openBlock(), vue.createElementBlock("button", {
1780
1780
  key: 0,
1781
1781
  type: "button",
@@ -1798,7 +1798,7 @@ const _sfc_main$d = /* @__PURE__ */ vue.defineComponent({
1798
1798
  "aria-hidden": "true"
1799
1799
  }, null, 8, ["class"])
1800
1800
  ])
1801
- ], 10, _hoisted_1$d),
1801
+ ], 10, _hoisted_1$e),
1802
1802
  (vue.openBlock(), vue.createBlock(vue.Teleport, {
1803
1803
  to: teleportTarget.value,
1804
1804
  disabled: teleportDisabled.value
@@ -1857,7 +1857,7 @@ const _sfc_main$d = /* @__PURE__ */ vue.defineComponent({
1857
1857
  })) : vue.createCommentVNode("", true)
1858
1858
  ], 10, _hoisted_5$3);
1859
1859
  }), 128)) : (vue.openBlock(), vue.createElementBlock("div", _hoisted_7$2, vue.toDisplayString(__props.noResultsText), 1))
1860
- ], 8, _hoisted_4$5)) : vue.createCommentVNode("", true)
1860
+ ], 8, _hoisted_4$6)) : vue.createCommentVNode("", true)
1861
1861
  ]),
1862
1862
  _: 1
1863
1863
  })
@@ -1866,13 +1866,13 @@ const _sfc_main$d = /* @__PURE__ */ vue.defineComponent({
1866
1866
  };
1867
1867
  }
1868
1868
  });
1869
- const _hoisted_1$c = { class: "relative" };
1870
- const _hoisted_2$7 = {
1869
+ const _hoisted_1$d = { class: "relative" };
1870
+ const _hoisted_2$8 = {
1871
1871
  key: 0,
1872
1872
  class: "text-red-500 ml-0.5"
1873
1873
  };
1874
- const _hoisted_3$6 = ["id", "disabled", "aria-invalid", "aria-describedby"];
1875
- const _hoisted_4$4 = {
1874
+ const _hoisted_3$7 = ["id", "disabled", "aria-invalid", "aria-describedby"];
1875
+ const _hoisted_4$5 = {
1876
1876
  key: 0,
1877
1877
  class: "flex items-center gap-2 flex-1"
1878
1878
  };
@@ -1900,7 +1900,7 @@ const _hoisted_13 = {
1900
1900
  const _hoisted_14 = ["title", "onClick"];
1901
1901
  const _hoisted_15 = { class: "mt-4 flex items-center justify-between border-t border-gray-200 pt-4 dark:border-gray-700" };
1902
1902
  const _hoisted_16 = { class: "text-xs text-gray-500" };
1903
- const _sfc_main$c = /* @__PURE__ */ vue.defineComponent({
1903
+ const _sfc_main$e = /* @__PURE__ */ vue.defineComponent({
1904
1904
  __name: "IconPicker",
1905
1905
  props: /* @__PURE__ */ vue.mergeModels({
1906
1906
  label: {},
@@ -2024,15 +2024,15 @@ const _sfc_main$c = /* @__PURE__ */ vue.defineComponent({
2024
2024
  searchQuery.value = "";
2025
2025
  }
2026
2026
  return (_ctx, _cache) => {
2027
- return vue.openBlock(), vue.createElementBlock("div", _hoisted_1$c, [
2028
- __props.label ? (vue.openBlock(), vue.createBlock(_sfc_main$r, {
2027
+ return vue.openBlock(), vue.createElementBlock("div", _hoisted_1$d, [
2028
+ __props.label ? (vue.openBlock(), vue.createBlock(_sfc_main$t, {
2029
2029
  key: 0,
2030
2030
  "html-for": inputId.value,
2031
2031
  error: __props.error
2032
2032
  }, {
2033
2033
  default: vue.withCtx(() => [
2034
2034
  vue.createTextVNode(vue.toDisplayString(__props.label) + " ", 1),
2035
- __props.required ? (vue.openBlock(), vue.createElementBlock("span", _hoisted_2$7, "*")) : vue.createCommentVNode("", true)
2035
+ __props.required ? (vue.openBlock(), vue.createElementBlock("span", _hoisted_2$8, "*")) : vue.createCommentVNode("", true)
2036
2036
  ]),
2037
2037
  _: 1
2038
2038
  }, 8, ["html-for", "error"])) : vue.createCommentVNode("", true),
@@ -2048,7 +2048,7 @@ const _sfc_main$c = /* @__PURE__ */ vue.defineComponent({
2048
2048
  ]]),
2049
2049
  onClick: openPicker
2050
2050
  }, [
2051
- modelValue.value ? (vue.openBlock(), vue.createElementBlock("div", _hoisted_4$4, [
2051
+ modelValue.value ? (vue.openBlock(), vue.createElementBlock("div", _hoisted_4$5, [
2052
2052
  vue.createElementVNode("div", _hoisted_5$2, [
2053
2053
  vue.createVNode(vue.unref(vue$1.Icon), {
2054
2054
  icon: modelValue.value,
@@ -2072,8 +2072,8 @@ const _sfc_main$c = /* @__PURE__ */ vue.defineComponent({
2072
2072
  icon: "lucide:chevron-down",
2073
2073
  class: "size-4 text-gray-400"
2074
2074
  })
2075
- ], 10, _hoisted_3$6),
2076
- __props.help && !hasError.value ? (vue.openBlock(), vue.createBlock(_sfc_main$q, {
2075
+ ], 10, _hoisted_3$7),
2076
+ __props.help && !hasError.value ? (vue.openBlock(), vue.createBlock(_sfc_main$s, {
2077
2077
  key: 1,
2078
2078
  id: helpId.value
2079
2079
  }, {
@@ -2082,7 +2082,7 @@ const _sfc_main$c = /* @__PURE__ */ vue.defineComponent({
2082
2082
  ]),
2083
2083
  _: 1
2084
2084
  }, 8, ["id"])) : vue.createCommentVNode("", true),
2085
- hasError.value ? (vue.openBlock(), vue.createBlock(_sfc_main$q, {
2085
+ hasError.value ? (vue.openBlock(), vue.createBlock(_sfc_main$s, {
2086
2086
  key: 2,
2087
2087
  id: helpId.value,
2088
2088
  error: true
@@ -2159,10 +2159,10 @@ const _sfc_main$c = /* @__PURE__ */ vue.defineComponent({
2159
2159
  };
2160
2160
  }
2161
2161
  });
2162
- const _hoisted_1$b = { class: "flex items-center justify-between" };
2163
- const _hoisted_2$6 = { class: "flex items-center gap-3" };
2164
- const _hoisted_3$5 = { class: "text-lg font-semibold text-gray-900 dark:text-white" };
2165
- const _hoisted_4$3 = {
2162
+ const _hoisted_1$c = { class: "flex items-center justify-between" };
2163
+ const _hoisted_2$7 = { class: "flex items-center gap-3" };
2164
+ const _hoisted_3$6 = { class: "text-lg font-semibold text-gray-900 dark:text-white" };
2165
+ const _hoisted_4$4 = {
2166
2166
  key: 0,
2167
2167
  class: "text-sm text-gray-500 dark:text-gray-400"
2168
2168
  };
@@ -2171,7 +2171,7 @@ const _hoisted_6$1 = {
2171
2171
  key: 0,
2172
2172
  class: "px-5 py-4 bg-gray-50 dark:bg-slate-800/50 border-t border-gray-100 dark:border-slate-700"
2173
2173
  };
2174
- const _sfc_main$b = /* @__PURE__ */ vue.defineComponent({
2174
+ const _sfc_main$d = /* @__PURE__ */ vue.defineComponent({
2175
2175
  __name: "FormSection",
2176
2176
  props: /* @__PURE__ */ vue.mergeModels({
2177
2177
  title: {},
@@ -2205,8 +2205,8 @@ const _sfc_main$b = /* @__PURE__ */ vue.defineComponent({
2205
2205
  ]),
2206
2206
  onClick: _cache[0] || (_cache[0] = ($event) => __props.collapsible && toggleCollapse())
2207
2207
  }, [
2208
- vue.createElementVNode("div", _hoisted_1$b, [
2209
- vue.createElementVNode("div", _hoisted_2$6, [
2208
+ vue.createElementVNode("div", _hoisted_1$c, [
2209
+ vue.createElementVNode("div", _hoisted_2$7, [
2210
2210
  __props.icon ? (vue.openBlock(), vue.createElementBlock("div", {
2211
2211
  key: 0,
2212
2212
  class: vue.normalizeClass([
@@ -2231,12 +2231,12 @@ const _sfc_main$b = /* @__PURE__ */ vue.defineComponent({
2231
2231
  }, null, 8, ["icon", "class"])
2232
2232
  ], 2)) : vue.createCommentVNode("", true),
2233
2233
  vue.createElementVNode("div", null, [
2234
- vue.createElementVNode("h2", _hoisted_3$5, [
2234
+ vue.createElementVNode("h2", _hoisted_3$6, [
2235
2235
  vue.renderSlot(_ctx.$slots, "title", {}, () => [
2236
2236
  vue.createTextVNode(vue.toDisplayString(__props.title), 1)
2237
2237
  ])
2238
2238
  ]),
2239
- __props.subtitle ? (vue.openBlock(), vue.createElementBlock("p", _hoisted_4$3, [
2239
+ __props.subtitle ? (vue.openBlock(), vue.createElementBlock("p", _hoisted_4$4, [
2240
2240
  vue.renderSlot(_ctx.$slots, "subtitle", {}, () => [
2241
2241
  vue.createTextVNode(vue.toDisplayString(__props.subtitle), 1)
2242
2242
  ])
@@ -2274,8 +2274,8 @@ const _sfc_main$b = /* @__PURE__ */ vue.defineComponent({
2274
2274
  };
2275
2275
  }
2276
2276
  });
2277
- const _hoisted_1$a = { key: 1 };
2278
- const _sfc_main$a = /* @__PURE__ */ vue.defineComponent({
2277
+ const _hoisted_1$b = { key: 1 };
2278
+ const _sfc_main$c = /* @__PURE__ */ vue.defineComponent({
2279
2279
  __name: "FormActions",
2280
2280
  props: {
2281
2281
  submitLabel: { default: "Enregistrer" },
@@ -2342,7 +2342,7 @@ const _sfc_main$a = /* @__PURE__ */ vue.defineComponent({
2342
2342
  class: "w-5 h-5"
2343
2343
  }, null, 8, ["icon"])) : vue.createCommentVNode("", true),
2344
2344
  vue.createTextVNode(" " + vue.toDisplayString(__props.submitLabel), 1)
2345
- ], 64)) : (vue.openBlock(), vue.createElementBlock("span", _hoisted_1$a, vue.toDisplayString(__props.loadingLabel || __props.submitLabel + "..."), 1))
2345
+ ], 64)) : (vue.openBlock(), vue.createElementBlock("span", _hoisted_1$b, vue.toDisplayString(__props.loadingLabel || __props.submitLabel + "..."), 1))
2346
2346
  ]),
2347
2347
  _: 1
2348
2348
  }, 8, ["variant", "disabled", "loading", "class"]),
@@ -2351,8 +2351,8 @@ const _sfc_main$a = /* @__PURE__ */ vue.defineComponent({
2351
2351
  };
2352
2352
  }
2353
2353
  });
2354
- const _hoisted_1$9 = ["id", "name", "placeholder", "disabled", "required", "aria-invalid", "aria-required", "aria-describedby"];
2355
- const _sfc_main$9 = /* @__PURE__ */ vue.defineComponent({
2354
+ const _hoisted_1$a = ["id", "name", "placeholder", "disabled", "required", "aria-invalid", "aria-required", "aria-describedby"];
2355
+ const _sfc_main$b = /* @__PURE__ */ vue.defineComponent({
2356
2356
  ...{
2357
2357
  inheritAttrs: false
2358
2358
  },
@@ -2387,7 +2387,7 @@ const _sfc_main$9 = /* @__PURE__ */ vue.defineComponent({
2387
2387
  isTouched.value = true;
2388
2388
  }
2389
2389
  return (_ctx, _cache) => {
2390
- return vue.openBlock(), vue.createBlock(_sfc_main$p, {
2390
+ return vue.openBlock(), vue.createBlock(_sfc_main$r, {
2391
2391
  icon: "lucide:mail",
2392
2392
  size: __props.size,
2393
2393
  disabled: __props.disabled,
@@ -2406,7 +2406,7 @@ const _sfc_main$9 = /* @__PURE__ */ vue.defineComponent({
2406
2406
  "aria-required": __props.required || void 0,
2407
2407
  "aria-describedby": __props.describedBy,
2408
2408
  class: inputClass
2409
- }, _ctx.$attrs, { onBlur: handleBlur }), null, 16, _hoisted_1$9), [
2409
+ }, _ctx.$attrs, { onBlur: handleBlur }), null, 16, _hoisted_1$a), [
2410
2410
  [vue.vModelText, modelValue.value]
2411
2411
  ])
2412
2412
  ]),
@@ -2426,14 +2426,14 @@ const _sfc_main$9 = /* @__PURE__ */ vue.defineComponent({
2426
2426
  };
2427
2427
  }
2428
2428
  });
2429
- const _hoisted_1$8 = ["id", "type", "name", "placeholder", "disabled", "required", "aria-required", "aria-describedby"];
2430
- const _hoisted_2$5 = ["disabled"];
2431
- const _hoisted_3$4 = {
2429
+ const _hoisted_1$9 = ["id", "type", "name", "placeholder", "disabled", "required", "aria-required", "aria-describedby"];
2430
+ const _hoisted_2$6 = ["disabled"];
2431
+ const _hoisted_3$5 = {
2432
2432
  key: 0,
2433
2433
  class: "mt-2"
2434
2434
  };
2435
- const _hoisted_4$2 = { class: "h-1.5 w-full rounded-full bg-gray-200 dark:bg-slate-700 overflow-hidden" };
2436
- const _sfc_main$8 = /* @__PURE__ */ vue.defineComponent({
2435
+ const _hoisted_4$3 = { class: "h-1.5 w-full rounded-full bg-gray-200 dark:bg-slate-700 overflow-hidden" };
2436
+ const _sfc_main$a = /* @__PURE__ */ vue.defineComponent({
2437
2437
  ...{
2438
2438
  inheritAttrs: false
2439
2439
  },
@@ -2487,7 +2487,7 @@ const _sfc_main$8 = /* @__PURE__ */ vue.defineComponent({
2487
2487
  return (_ctx, _cache) => {
2488
2488
  var _a, _b;
2489
2489
  return vue.openBlock(), vue.createElementBlock("div", null, [
2490
- vue.createVNode(_sfc_main$p, {
2490
+ vue.createVNode(_sfc_main$r, {
2491
2491
  icon: "lucide:lock",
2492
2492
  size: __props.size,
2493
2493
  disabled: __props.disabled
@@ -2504,7 +2504,7 @@ const _sfc_main$8 = /* @__PURE__ */ vue.defineComponent({
2504
2504
  "aria-required": __props.required || void 0,
2505
2505
  "aria-describedby": __props.describedBy,
2506
2506
  class: inputClass
2507
- }, _ctx.$attrs, { autocomplete: "new-password" }), null, 16, _hoisted_1$8), [
2507
+ }, _ctx.$attrs, { autocomplete: "new-password" }), null, 16, _hoisted_1$9), [
2508
2508
  [vue.vModelDynamic, modelValue.value]
2509
2509
  ])
2510
2510
  ]),
@@ -2519,12 +2519,12 @@ const _sfc_main$8 = /* @__PURE__ */ vue.defineComponent({
2519
2519
  icon: showPassword.value ? "lucide:eye-off" : "lucide:eye",
2520
2520
  class: "size-5 text-gray-400 hover:text-gray-600 dark:hover:text-gray-300"
2521
2521
  }, null, 8, ["icon"])
2522
- ], 8, _hoisted_2$5)
2522
+ ], 8, _hoisted_2$6)
2523
2523
  ]),
2524
2524
  _: 1
2525
2525
  }, 8, ["size", "disabled"]),
2526
- __props.showStrength && modelValue.value ? (vue.openBlock(), vue.createElementBlock("div", _hoisted_3$4, [
2527
- vue.createElementVNode("div", _hoisted_4$2, [
2526
+ __props.showStrength && modelValue.value ? (vue.openBlock(), vue.createElementBlock("div", _hoisted_3$5, [
2527
+ vue.createElementVNode("div", _hoisted_4$3, [
2528
2528
  vue.createElementVNode("div", {
2529
2529
  class: vue.normalizeClass([
2530
2530
  "h-full rounded-full transition-all duration-300",
@@ -2548,10 +2548,10 @@ const _sfc_main$8 = /* @__PURE__ */ vue.defineComponent({
2548
2548
  };
2549
2549
  }
2550
2550
  });
2551
- const _hoisted_1$7 = ["disabled"];
2552
- const _hoisted_2$4 = { class: "text-lg leading-none" };
2553
- const _hoisted_3$3 = ["id", "value", "name", "placeholder", "disabled", "required", "aria-required", "aria-describedby"];
2554
- const _hoisted_4$1 = { class: "text-xs text-gray-400 font-medium" };
2551
+ const _hoisted_1$8 = ["disabled"];
2552
+ const _hoisted_2$5 = { class: "text-lg leading-none" };
2553
+ const _hoisted_3$4 = ["id", "value", "name", "placeholder", "disabled", "required", "aria-required", "aria-describedby"];
2554
+ const _hoisted_4$2 = { class: "text-xs text-gray-400 font-medium" };
2555
2555
  const _hoisted_5 = {
2556
2556
  key: 0,
2557
2557
  class: "absolute z-50 mt-1 w-full bg-white dark:bg-slate-800 border border-gray-200 dark:border-slate-700 rounded-xl shadow-lg overflow-hidden"
@@ -2607,7 +2607,7 @@ function getMaxDigitsFromPattern(pattern) {
2607
2607
  if (!pattern) return void 0;
2608
2608
  return (pattern.match(/#/g) || []).length;
2609
2609
  }
2610
- const _sfc_main$7 = /* @__PURE__ */ vue.defineComponent({
2610
+ const _sfc_main$9 = /* @__PURE__ */ vue.defineComponent({
2611
2611
  ...{
2612
2612
  inheritAttrs: false
2613
2613
  },
@@ -2734,7 +2734,7 @@ const _sfc_main$7 = /* @__PURE__ */ vue.defineComponent({
2734
2734
  ref_key: "dropdownRef",
2735
2735
  ref: dropdownRef
2736
2736
  }, [
2737
- vue.createVNode(_sfc_main$p, {
2737
+ vue.createVNode(_sfc_main$r, {
2738
2738
  size: __props.size,
2739
2739
  disabled: __props.disabled
2740
2740
  }, {
@@ -2745,7 +2745,7 @@ const _sfc_main$7 = /* @__PURE__ */ vue.defineComponent({
2745
2745
  class: "flex items-center gap-1 pr-2 border-r border-gray-200 dark:border-slate-600 hover:bg-gray-50 dark:hover:bg-slate-600 -ml-1 pl-1 py-1 rounded-l transition-colors disabled:opacity-50 disabled:cursor-not-allowed",
2746
2746
  onClick: _cache[0] || (_cache[0] = vue.withModifiers(($event) => showDropdown.value = !showDropdown.value, ["stop"]))
2747
2747
  }, [
2748
- vue.createElementVNode("span", _hoisted_2$4, vue.toDisplayString(selectedCountry.value.flag), 1),
2748
+ vue.createElementVNode("span", _hoisted_2$5, vue.toDisplayString(selectedCountry.value.flag), 1),
2749
2749
  vue.createVNode(vue.unref(vue$1.Icon), {
2750
2750
  icon: "lucide:chevron-down",
2751
2751
  class: vue.normalizeClass([
@@ -2753,7 +2753,7 @@ const _sfc_main$7 = /* @__PURE__ */ vue.defineComponent({
2753
2753
  showDropdown.value && "rotate-180"
2754
2754
  ])
2755
2755
  }, null, 8, ["class"])
2756
- ], 8, _hoisted_1$7)
2756
+ ], 8, _hoisted_1$8)
2757
2757
  ]),
2758
2758
  default: vue.withCtx(({ inputClass }) => [
2759
2759
  vue.createElementVNode("input", vue.mergeProps({
@@ -2770,10 +2770,10 @@ const _sfc_main$7 = /* @__PURE__ */ vue.defineComponent({
2770
2770
  }, _ctx.$attrs, {
2771
2771
  onInput: handleInput,
2772
2772
  onPaste: handlePaste
2773
- }), null, 16, _hoisted_3$3)
2773
+ }), null, 16, _hoisted_3$4)
2774
2774
  ]),
2775
2775
  actions: vue.withCtx(() => [
2776
- vue.createElementVNode("span", _hoisted_4$1, vue.toDisplayString(selectedCountry.value.dialCode), 1)
2776
+ vue.createElementVNode("span", _hoisted_4$2, vue.toDisplayString(selectedCountry.value.dialCode), 1)
2777
2777
  ]),
2778
2778
  _: 1
2779
2779
  }, 8, ["size", "disabled"]),
@@ -2819,10 +2819,10 @@ const _sfc_main$7 = /* @__PURE__ */ vue.defineComponent({
2819
2819
  };
2820
2820
  }
2821
2821
  });
2822
- const _hoisted_1$6 = ["disabled"];
2823
- const _hoisted_2$3 = ["id", "value", "name", "placeholder", "disabled", "required", "min", "max", "step", "aria-required", "aria-describedby"];
2824
- const _hoisted_3$2 = ["disabled"];
2825
- const _sfc_main$6 = /* @__PURE__ */ vue.defineComponent({
2822
+ const _hoisted_1$7 = ["disabled"];
2823
+ const _hoisted_2$4 = ["id", "value", "name", "placeholder", "disabled", "required", "min", "max", "step", "aria-required", "aria-describedby"];
2824
+ const _hoisted_3$3 = ["disabled"];
2825
+ const _sfc_main$8 = /* @__PURE__ */ vue.defineComponent({
2826
2826
  ...{
2827
2827
  inheritAttrs: false
2828
2828
  },
@@ -2884,7 +2884,7 @@ const _sfc_main$6 = /* @__PURE__ */ vue.defineComponent({
2884
2884
  }
2885
2885
  }
2886
2886
  return (_ctx, _cache) => {
2887
- return vue.openBlock(), vue.createBlock(_sfc_main$p, {
2887
+ return vue.openBlock(), vue.createBlock(_sfc_main$r, {
2888
2888
  size: __props.size,
2889
2889
  disabled: __props.disabled
2890
2890
  }, vue.createSlots({
@@ -2903,7 +2903,7 @@ const _sfc_main$6 = /* @__PURE__ */ vue.defineComponent({
2903
2903
  "aria-required": __props.required || void 0,
2904
2904
  "aria-describedby": __props.describedBy,
2905
2905
  class: [inputClass, "text-center", __props.showStepper && "pl-12 pr-12"]
2906
- }, _ctx.$attrs, { onInput: handleInput }), null, 16, _hoisted_2$3)
2906
+ }, _ctx.$attrs, { onInput: handleInput }), null, 16, _hoisted_2$4)
2907
2907
  ]),
2908
2908
  _: 2
2909
2909
  }, [
@@ -2920,7 +2920,7 @@ const _sfc_main$6 = /* @__PURE__ */ vue.defineComponent({
2920
2920
  icon: "lucide:minus",
2921
2921
  class: "size-4 text-gray-500"
2922
2922
  })
2923
- ], 8, _hoisted_1$6)
2923
+ ], 8, _hoisted_1$7)
2924
2924
  ]),
2925
2925
  key: "0"
2926
2926
  } : void 0,
@@ -2937,7 +2937,7 @@ const _sfc_main$6 = /* @__PURE__ */ vue.defineComponent({
2937
2937
  icon: "lucide:plus",
2938
2938
  class: "size-4 text-gray-500"
2939
2939
  })
2940
- ], 8, _hoisted_3$2)
2940
+ ], 8, _hoisted_3$3)
2941
2941
  ]),
2942
2942
  key: "1"
2943
2943
  } : void 0
@@ -2945,10 +2945,10 @@ const _sfc_main$6 = /* @__PURE__ */ vue.defineComponent({
2945
2945
  };
2946
2946
  }
2947
2947
  });
2948
- const _hoisted_1$5 = { class: "text-sm font-medium text-gray-500 dark:text-gray-400" };
2949
- const _hoisted_2$2 = ["id", "value", "name", "placeholder", "disabled", "required", "aria-required", "aria-describedby"];
2950
- const _hoisted_3$1 = { class: "text-sm font-medium text-gray-500 dark:text-gray-400" };
2951
- const _sfc_main$5 = /* @__PURE__ */ vue.defineComponent({
2948
+ const _hoisted_1$6 = { class: "text-sm font-medium text-gray-500 dark:text-gray-400" };
2949
+ const _hoisted_2$3 = ["id", "value", "name", "placeholder", "disabled", "required", "aria-required", "aria-describedby"];
2950
+ const _hoisted_3$2 = { class: "text-sm font-medium text-gray-500 dark:text-gray-400" };
2951
+ const _sfc_main$7 = /* @__PURE__ */ vue.defineComponent({
2952
2952
  ...{
2953
2953
  inheritAttrs: false
2954
2954
  },
@@ -3022,7 +3022,7 @@ const _sfc_main$5 = /* @__PURE__ */ vue.defineComponent({
3022
3022
  }
3023
3023
  }
3024
3024
  return (_ctx, _cache) => {
3025
- return vue.openBlock(), vue.createBlock(_sfc_main$p, {
3025
+ return vue.openBlock(), vue.createBlock(_sfc_main$r, {
3026
3026
  size: __props.size,
3027
3027
  disabled: __props.disabled
3028
3028
  }, vue.createSlots({
@@ -3042,21 +3042,21 @@ const _sfc_main$5 = /* @__PURE__ */ vue.defineComponent({
3042
3042
  }, _ctx.$attrs, {
3043
3043
  onInput: handleInput,
3044
3044
  onBlur: handleBlur
3045
- }), null, 16, _hoisted_2$2)
3045
+ }), null, 16, _hoisted_2$3)
3046
3046
  ]),
3047
3047
  _: 2
3048
3048
  }, [
3049
3049
  config.value.position === "prefix" ? {
3050
3050
  name: "icon",
3051
3051
  fn: vue.withCtx(() => [
3052
- vue.createElementVNode("span", _hoisted_1$5, vue.toDisplayString(config.value.symbol), 1)
3052
+ vue.createElementVNode("span", _hoisted_1$6, vue.toDisplayString(config.value.symbol), 1)
3053
3053
  ]),
3054
3054
  key: "0"
3055
3055
  } : void 0,
3056
3056
  config.value.position === "suffix" ? {
3057
3057
  name: "actions",
3058
3058
  fn: vue.withCtx(() => [
3059
- vue.createElementVNode("span", _hoisted_3$1, vue.toDisplayString(config.value.symbol), 1)
3059
+ vue.createElementVNode("span", _hoisted_3$2, vue.toDisplayString(config.value.symbol), 1)
3060
3060
  ]),
3061
3061
  key: "1"
3062
3062
  } : void 0
@@ -3064,8 +3064,8 @@ const _sfc_main$5 = /* @__PURE__ */ vue.defineComponent({
3064
3064
  };
3065
3065
  }
3066
3066
  });
3067
- const _hoisted_1$4 = ["id", "value", "name", "placeholder", "disabled", "required", "min", "max", "step", "aria-required", "aria-describedby"];
3068
- const _sfc_main$4 = /* @__PURE__ */ vue.defineComponent({
3067
+ const _hoisted_1$5 = ["id", "value", "name", "placeholder", "disabled", "required", "min", "max", "step", "aria-required", "aria-describedby"];
3068
+ const _sfc_main$6 = /* @__PURE__ */ vue.defineComponent({
3069
3069
  ...{
3070
3070
  inheritAttrs: false
3071
3071
  },
@@ -3110,7 +3110,7 @@ const _sfc_main$4 = /* @__PURE__ */ vue.defineComponent({
3110
3110
  displayValue.value = target.value;
3111
3111
  }
3112
3112
  return (_ctx, _cache) => {
3113
- return vue.openBlock(), vue.createBlock(_sfc_main$p, {
3113
+ return vue.openBlock(), vue.createBlock(_sfc_main$r, {
3114
3114
  size: __props.size,
3115
3115
  disabled: __props.disabled
3116
3116
  }, {
@@ -3130,7 +3130,7 @@ const _sfc_main$4 = /* @__PURE__ */ vue.defineComponent({
3130
3130
  "aria-required": __props.required || void 0,
3131
3131
  "aria-describedby": __props.describedBy,
3132
3132
  class: [inputClass, "text-right pr-10"]
3133
- }, _ctx.$attrs, { onInput: handleInput }), null, 16, _hoisted_1$4)
3133
+ }, _ctx.$attrs, { onInput: handleInput }), null, 16, _hoisted_1$5)
3134
3134
  ]),
3135
3135
  actions: vue.withCtx(() => [..._cache[0] || (_cache[0] = [
3136
3136
  vue.createElementVNode("span", { class: "text-sm font-medium text-gray-500 dark:text-gray-400" }, "%", -1)
@@ -3140,11 +3140,11 @@ const _sfc_main$4 = /* @__PURE__ */ vue.defineComponent({
3140
3140
  };
3141
3141
  }
3142
3142
  });
3143
- const _hoisted_1$3 = { class: "inline-flex items-center gap-2 bg-gray-50 dark:bg-slate-700 rounded-xl p-1 border border-gray-200 dark:border-slate-600" };
3144
- const _hoisted_2$1 = ["disabled"];
3145
- const _hoisted_3 = ["id", "value", "name", "disabled", "required", "min", "max"];
3146
- const _hoisted_4 = ["disabled"];
3147
- const _sfc_main$3 = /* @__PURE__ */ vue.defineComponent({
3143
+ const _hoisted_1$4 = { class: "inline-flex items-center gap-2 bg-gray-50 dark:bg-slate-700 rounded-xl p-1 border border-gray-200 dark:border-slate-600" };
3144
+ const _hoisted_2$2 = ["disabled"];
3145
+ const _hoisted_3$1 = ["id", "value", "name", "disabled", "required", "min", "max"];
3146
+ const _hoisted_4$1 = ["disabled"];
3147
+ const _sfc_main$5 = /* @__PURE__ */ vue.defineComponent({
3148
3148
  ...{
3149
3149
  inheritAttrs: false
3150
3150
  },
@@ -3214,7 +3214,7 @@ const _sfc_main$3 = /* @__PURE__ */ vue.defineComponent({
3214
3214
  }[props.size]
3215
3215
  }));
3216
3216
  return (_ctx, _cache) => {
3217
- return vue.openBlock(), vue.createElementBlock("div", _hoisted_1$3, [
3217
+ return vue.openBlock(), vue.createElementBlock("div", _hoisted_1$4, [
3218
3218
  vue.createElementVNode("button", {
3219
3219
  type: "button",
3220
3220
  disabled: !canDecrement.value,
@@ -3231,7 +3231,7 @@ const _sfc_main$3 = /* @__PURE__ */ vue.defineComponent({
3231
3231
  icon: "lucide:minus",
3232
3232
  class: vue.normalizeClass(["text-gray-600 dark:text-gray-300", sizeClasses.value.icon])
3233
3233
  }, null, 8, ["class"])
3234
- ], 10, _hoisted_2$1),
3234
+ ], 10, _hoisted_2$2),
3235
3235
  vue.createElementVNode("input", vue.mergeProps({
3236
3236
  id: __props.id ?? __props.name,
3237
3237
  value: modelValue.value,
@@ -3248,7 +3248,7 @@ const _sfc_main$3 = /* @__PURE__ */ vue.defineComponent({
3248
3248
  "disabled:opacity-50",
3249
3249
  sizeClasses.value.input
3250
3250
  ]
3251
- }, _ctx.$attrs, { onInput: handleInput }), null, 16, _hoisted_3),
3251
+ }, _ctx.$attrs, { onInput: handleInput }), null, 16, _hoisted_3$1),
3252
3252
  vue.createElementVNode("button", {
3253
3253
  type: "button",
3254
3254
  disabled: !canIncrement.value,
@@ -3265,13 +3265,13 @@ const _sfc_main$3 = /* @__PURE__ */ vue.defineComponent({
3265
3265
  icon: "lucide:plus",
3266
3266
  class: vue.normalizeClass(["text-gray-600 dark:text-gray-300", sizeClasses.value.icon])
3267
3267
  }, null, 8, ["class"])
3268
- ], 10, _hoisted_4)
3268
+ ], 10, _hoisted_4$1)
3269
3269
  ]);
3270
3270
  };
3271
3271
  }
3272
3272
  });
3273
- const _hoisted_1$2 = ["id", "name", "placeholder", "disabled", "required", "aria-invalid", "aria-required", "aria-describedby"];
3274
- const _sfc_main$2 = /* @__PURE__ */ vue.defineComponent({
3273
+ const _hoisted_1$3 = ["id", "name", "placeholder", "disabled", "required", "aria-invalid", "aria-required", "aria-describedby"];
3274
+ const _sfc_main$4 = /* @__PURE__ */ vue.defineComponent({
3275
3275
  ...{
3276
3276
  inheritAttrs: false
3277
3277
  },
@@ -3312,7 +3312,7 @@ const _sfc_main$2 = /* @__PURE__ */ vue.defineComponent({
3312
3312
  }
3313
3313
  }
3314
3314
  return (_ctx, _cache) => {
3315
- return vue.openBlock(), vue.createBlock(_sfc_main$p, {
3315
+ return vue.openBlock(), vue.createBlock(_sfc_main$r, {
3316
3316
  icon: "lucide:link",
3317
3317
  size: __props.size,
3318
3318
  disabled: __props.disabled,
@@ -3331,7 +3331,7 @@ const _sfc_main$2 = /* @__PURE__ */ vue.defineComponent({
3331
3331
  "aria-required": __props.required || void 0,
3332
3332
  "aria-describedby": __props.describedBy,
3333
3333
  class: inputClass
3334
- }, _ctx.$attrs, { onBlur: handleBlur }), null, 16, _hoisted_1$2), [
3334
+ }, _ctx.$attrs, { onBlur: handleBlur }), null, 16, _hoisted_1$3), [
3335
3335
  [vue.vModelText, modelValue.value]
3336
3336
  ])
3337
3337
  ]),
@@ -3358,8 +3358,8 @@ const _sfc_main$2 = /* @__PURE__ */ vue.defineComponent({
3358
3358
  };
3359
3359
  }
3360
3360
  });
3361
- const _hoisted_1$1 = ["value", "type", "name", "disabled", "onInput", "onKeydown"];
3362
- const _sfc_main$1 = /* @__PURE__ */ vue.defineComponent({
3361
+ const _hoisted_1$2 = ["value", "type", "name", "disabled", "onInput", "onKeydown"];
3362
+ const _sfc_main$3 = /* @__PURE__ */ vue.defineComponent({
3363
3363
  ...{
3364
3364
  inheritAttrs: false
3365
3365
  },
@@ -3504,15 +3504,15 @@ const _sfc_main$1 = /* @__PURE__ */ vue.defineComponent({
3504
3504
  onKeydown: ($event) => handleKeydown($event, index2),
3505
3505
  onPaste: handlePaste,
3506
3506
  onFocus: handleFocus
3507
- }, null, 42, _hoisted_1$1);
3507
+ }, null, 42, _hoisted_1$2);
3508
3508
  }), 128))
3509
3509
  ], 2);
3510
3510
  };
3511
3511
  }
3512
3512
  });
3513
- const _hoisted_1 = ["onClick"];
3514
- const _hoisted_2 = ["id", "name", "placeholder", "disabled", "required"];
3515
- const _sfc_main = /* @__PURE__ */ vue.defineComponent({
3513
+ const _hoisted_1$1 = ["onClick"];
3514
+ const _hoisted_2$1 = ["id", "name", "placeholder", "disabled", "required"];
3515
+ const _sfc_main$2 = /* @__PURE__ */ vue.defineComponent({
3516
3516
  ...{
3517
3517
  inheritAttrs: false
3518
3518
  },
@@ -3630,7 +3630,7 @@ const _sfc_main = /* @__PURE__ */ vue.defineComponent({
3630
3630
  icon: "lucide:x",
3631
3631
  class: vue.normalizeClass(["text-primary-500", sizeClasses.value.icon])
3632
3632
  }, null, 8, ["class"])
3633
- ], 8, _hoisted_1)) : vue.createCommentVNode("", true)
3633
+ ], 8, _hoisted_1$1)) : vue.createCommentVNode("", true)
3634
3634
  ], 2);
3635
3635
  }), 128))
3636
3636
  ]),
@@ -3655,40 +3655,215 @@ const _sfc_main = /* @__PURE__ */ vue.defineComponent({
3655
3655
  }, _ctx.$attrs, {
3656
3656
  onKeydown: handleKeydown,
3657
3657
  onBlur: handleBlur
3658
- }), null, 16, _hoisted_2)), [
3658
+ }), null, 16, _hoisted_2$1)), [
3659
3659
  [vue.vModelText, inputValue.value]
3660
3660
  ]) : vue.createCommentVNode("", true)
3661
3661
  ], 2);
3662
3662
  };
3663
3663
  }
3664
3664
  });
3665
- const TagsInput = /* @__PURE__ */ _pluginVue_exportHelper._export_sfc(_sfc_main, [["__scopeId", "data-v-fcace07c"]]);
3665
+ const TagsInput = /* @__PURE__ */ _pluginVue_exportHelper._export_sfc(_sfc_main$2, [["__scopeId", "data-v-fcace07c"]]);
3666
+ const _hoisted_1 = ["value", "placeholder", "disabled", "readonly", "required", "rows", "maxlength"];
3667
+ const _hoisted_2 = {
3668
+ key: 0,
3669
+ class: "flex justify-end mt-1"
3670
+ };
3671
+ const _hoisted_3 = { class: "text-xs text-gray-400" };
3672
+ const _hoisted_4 = { key: 0 };
3673
+ const _sfc_main$1 = /* @__PURE__ */ vue.defineComponent({
3674
+ __name: "TextArea",
3675
+ props: {
3676
+ modelValue: { default: "" },
3677
+ label: {},
3678
+ placeholder: {},
3679
+ hint: {},
3680
+ error: {},
3681
+ disabled: { type: Boolean },
3682
+ readonly: { type: Boolean },
3683
+ required: { type: Boolean },
3684
+ rows: { default: 3 },
3685
+ maxLength: {},
3686
+ showCount: { type: Boolean, default: false },
3687
+ resize: { default: "vertical" }
3688
+ },
3689
+ emits: ["update:modelValue"],
3690
+ setup(__props, { emit: __emit }) {
3691
+ const props = __props;
3692
+ const emit = __emit;
3693
+ const charCount = vue.computed(() => {
3694
+ var _a;
3695
+ return ((_a = props.modelValue) == null ? void 0 : _a.length) ?? 0;
3696
+ });
3697
+ const resizeClass = vue.computed(() => {
3698
+ switch (props.resize) {
3699
+ case "none":
3700
+ return "resize-none";
3701
+ case "vertical":
3702
+ return "resize-y";
3703
+ case "horizontal":
3704
+ return "resize-x";
3705
+ case "both":
3706
+ return "resize";
3707
+ default:
3708
+ return "resize-y";
3709
+ }
3710
+ });
3711
+ function handleInput(event) {
3712
+ const target = event.target;
3713
+ emit("update:modelValue", target.value);
3714
+ }
3715
+ return (_ctx, _cache) => {
3716
+ return vue.openBlock(), vue.createBlock(_sfc_main$r, {
3717
+ label: __props.label,
3718
+ hint: __props.hint,
3719
+ error: __props.error,
3720
+ required: __props.required,
3721
+ disabled: __props.disabled
3722
+ }, vue.createSlots({
3723
+ default: vue.withCtx(() => [
3724
+ vue.createElementVNode("textarea", {
3725
+ value: __props.modelValue,
3726
+ placeholder: __props.placeholder,
3727
+ disabled: __props.disabled,
3728
+ readonly: __props.readonly,
3729
+ required: __props.required,
3730
+ rows: __props.rows,
3731
+ maxlength: __props.maxLength,
3732
+ class: vue.normalizeClass([
3733
+ "w-full px-4 py-3 rounded-xl border transition-all duration-200",
3734
+ "focus:outline-none focus:ring-2 focus:ring-offset-0",
3735
+ resizeClass.value,
3736
+ __props.error ? "border-red-300 dark:border-red-500 focus:border-red-500 focus:ring-red-500/20" : "border-gray-200 dark:border-slate-600 focus:border-primary-500 focus:ring-primary-500/20",
3737
+ __props.disabled ? "bg-gray-50 dark:bg-slate-800 text-gray-400 cursor-not-allowed" : "bg-white dark:bg-slate-700 text-gray-900 dark:text-white"
3738
+ ]),
3739
+ onInput: handleInput
3740
+ }, null, 42, _hoisted_1),
3741
+ __props.showCount || __props.maxLength ? (vue.openBlock(), vue.createElementBlock("div", _hoisted_2, [
3742
+ vue.createElementVNode("span", _hoisted_3, [
3743
+ vue.createTextVNode(vue.toDisplayString(charCount.value), 1),
3744
+ __props.maxLength ? (vue.openBlock(), vue.createElementBlock("span", _hoisted_4, " / " + vue.toDisplayString(__props.maxLength), 1)) : vue.createCommentVNode("", true)
3745
+ ])
3746
+ ])) : vue.createCommentVNode("", true)
3747
+ ]),
3748
+ _: 2
3749
+ }, [
3750
+ _ctx.$slots.label ? {
3751
+ name: "label",
3752
+ fn: vue.withCtx(() => [
3753
+ vue.renderSlot(_ctx.$slots, "label")
3754
+ ]),
3755
+ key: "0"
3756
+ } : void 0
3757
+ ]), 1032, ["label", "hint", "error", "required", "disabled"]);
3758
+ };
3759
+ }
3760
+ });
3761
+ const _sfc_main = /* @__PURE__ */ vue.defineComponent({
3762
+ __name: "CheckboxGroup",
3763
+ props: {
3764
+ modelValue: { default: () => [] },
3765
+ options: {},
3766
+ label: {},
3767
+ hint: {},
3768
+ error: {},
3769
+ disabled: { type: Boolean },
3770
+ required: { type: Boolean },
3771
+ columns: { default: 2 },
3772
+ inline: { type: Boolean, default: false }
3773
+ },
3774
+ emits: ["update:modelValue"],
3775
+ setup(__props, { emit: __emit }) {
3776
+ const props = __props;
3777
+ const emit = __emit;
3778
+ const gridClass = vue.computed(() => {
3779
+ if (props.inline) return "flex flex-wrap gap-4";
3780
+ switch (props.columns) {
3781
+ case 1:
3782
+ return "grid grid-cols-1 gap-2";
3783
+ case 2:
3784
+ return "grid grid-cols-1 sm:grid-cols-2 gap-2";
3785
+ case 3:
3786
+ return "grid grid-cols-1 sm:grid-cols-2 lg:grid-cols-3 gap-2";
3787
+ case 4:
3788
+ return "grid grid-cols-2 sm:grid-cols-4 gap-2";
3789
+ default:
3790
+ return "grid grid-cols-1 sm:grid-cols-2 gap-2";
3791
+ }
3792
+ });
3793
+ function isChecked(value) {
3794
+ var _a;
3795
+ return ((_a = props.modelValue) == null ? void 0 : _a.includes(value)) ?? false;
3796
+ }
3797
+ function toggleValue(value, checked) {
3798
+ const current = props.modelValue ?? [];
3799
+ if (checked) {
3800
+ if (!current.includes(value)) {
3801
+ emit("update:modelValue", [...current, value]);
3802
+ }
3803
+ } else {
3804
+ emit("update:modelValue", current.filter((v) => v !== value));
3805
+ }
3806
+ }
3807
+ return (_ctx, _cache) => {
3808
+ return vue.openBlock(), vue.createBlock(_sfc_main$r, {
3809
+ label: __props.label,
3810
+ hint: __props.hint,
3811
+ error: __props.error,
3812
+ required: __props.required,
3813
+ disabled: __props.disabled
3814
+ }, {
3815
+ default: vue.withCtx(() => [
3816
+ vue.createElementVNode("div", {
3817
+ class: vue.normalizeClass(gridClass.value)
3818
+ }, [
3819
+ (vue.openBlock(true), vue.createElementBlock(vue.Fragment, null, vue.renderList(__props.options, (option) => {
3820
+ return vue.openBlock(), vue.createBlock(index._sfc_main, {
3821
+ key: option.value,
3822
+ "model-value": isChecked(option.value),
3823
+ disabled: __props.disabled || option.disabled,
3824
+ "onUpdate:modelValue": (checked) => toggleValue(option.value, checked)
3825
+ }, {
3826
+ default: vue.withCtx(() => [
3827
+ vue.createTextVNode(vue.toDisplayString(option.label), 1)
3828
+ ]),
3829
+ _: 2
3830
+ }, 1032, ["model-value", "disabled", "onUpdate:modelValue"]);
3831
+ }), 128))
3832
+ ], 2)
3833
+ ]),
3834
+ _: 1
3835
+ }, 8, ["label", "hint", "error", "required", "disabled"]);
3836
+ };
3837
+ }
3838
+ });
3666
3839
  exports.Slider = Slider;
3667
3840
  exports.TagsInput = TagsInput;
3668
- exports._sfc_main = _sfc_main$r;
3669
- exports._sfc_main$1 = _sfc_main$q;
3670
- exports._sfc_main$10 = _sfc_main$f;
3671
- exports._sfc_main$11 = _sfc_main$e;
3672
- exports._sfc_main$12 = _sfc_main$d;
3673
- exports._sfc_main$13 = _sfc_main$c;
3674
- exports._sfc_main$14 = _sfc_main$b;
3675
- exports._sfc_main$15 = _sfc_main$a;
3676
- exports._sfc_main$16 = _sfc_main$p;
3677
- exports._sfc_main$17 = _sfc_main$9;
3678
- exports._sfc_main$18 = _sfc_main$8;
3679
- exports._sfc_main$19 = _sfc_main$7;
3680
- exports._sfc_main$2 = _sfc_main$o;
3681
- exports._sfc_main$20 = _sfc_main$6;
3682
- exports._sfc_main$21 = _sfc_main$5;
3683
- exports._sfc_main$22 = _sfc_main$4;
3684
- exports._sfc_main$23 = _sfc_main$3;
3685
- exports._sfc_main$24 = _sfc_main$2;
3686
- exports._sfc_main$25 = _sfc_main$1;
3687
- exports._sfc_main$3 = _sfc_main$n;
3688
- exports._sfc_main$4 = _sfc_main$m;
3689
- exports._sfc_main$5 = _sfc_main$l;
3690
- exports._sfc_main$6 = _sfc_main$k;
3691
- exports._sfc_main$7 = _sfc_main$i;
3692
- exports._sfc_main$8 = _sfc_main$h;
3693
- exports._sfc_main$9 = _sfc_main$g;
3694
- //# sourceMappingURL=TagsInput-tlIso0sZ.cjs.map
3841
+ exports._sfc_main = _sfc_main$t;
3842
+ exports._sfc_main$1 = _sfc_main$s;
3843
+ exports._sfc_main$10 = _sfc_main$h;
3844
+ exports._sfc_main$11 = _sfc_main$g;
3845
+ exports._sfc_main$12 = _sfc_main$f;
3846
+ exports._sfc_main$13 = _sfc_main$e;
3847
+ exports._sfc_main$14 = _sfc_main$d;
3848
+ exports._sfc_main$15 = _sfc_main$c;
3849
+ exports._sfc_main$16 = _sfc_main$r;
3850
+ exports._sfc_main$17 = _sfc_main$b;
3851
+ exports._sfc_main$18 = _sfc_main$a;
3852
+ exports._sfc_main$19 = _sfc_main$9;
3853
+ exports._sfc_main$2 = _sfc_main$q;
3854
+ exports._sfc_main$20 = _sfc_main$8;
3855
+ exports._sfc_main$21 = _sfc_main$7;
3856
+ exports._sfc_main$22 = _sfc_main$6;
3857
+ exports._sfc_main$23 = _sfc_main$5;
3858
+ exports._sfc_main$24 = _sfc_main$4;
3859
+ exports._sfc_main$25 = _sfc_main$3;
3860
+ exports._sfc_main$26 = _sfc_main$1;
3861
+ exports._sfc_main$27 = _sfc_main;
3862
+ exports._sfc_main$3 = _sfc_main$p;
3863
+ exports._sfc_main$4 = _sfc_main$o;
3864
+ exports._sfc_main$5 = _sfc_main$n;
3865
+ exports._sfc_main$6 = _sfc_main$m;
3866
+ exports._sfc_main$7 = _sfc_main$k;
3867
+ exports._sfc_main$8 = _sfc_main$j;
3868
+ exports._sfc_main$9 = _sfc_main$i;
3869
+ //# sourceMappingURL=CheckboxGroup.vue_vue_type_script_setup_true_lang-BcoXb8Xg.cjs.map