cisse-vue-ui 0.5.33 → 0.6.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (84) hide show
  1. package/dist/Button.vue_vue_type_script_setup_true_lang-CBYr0Z2_.js +99 -0
  2. package/dist/Button.vue_vue_type_script_setup_true_lang-CBYr0Z2_.js.map +1 -0
  3. package/dist/Button.vue_vue_type_script_setup_true_lang-CXRj7LEP.cjs +98 -0
  4. package/dist/Button.vue_vue_type_script_setup_true_lang-CXRj7LEP.cjs.map +1 -0
  5. package/dist/{ConfirmDialog.vue_vue_type_script_setup_true_lang-CHIIi5Gu.cjs → ConfirmDialog.vue_vue_type_script_setup_true_lang-Bine-xfp.cjs} +2 -2
  6. package/dist/{ConfirmDialog.vue_vue_type_script_setup_true_lang-CHIIi5Gu.cjs.map → ConfirmDialog.vue_vue_type_script_setup_true_lang-Bine-xfp.cjs.map} +1 -1
  7. package/dist/{ConfirmDialog.vue_vue_type_script_setup_true_lang-DdCwgxtv.js → ConfirmDialog.vue_vue_type_script_setup_true_lang-DqkA1Zr-.js} +2 -2
  8. package/dist/{ConfirmDialog.vue_vue_type_script_setup_true_lang-DdCwgxtv.js.map → ConfirmDialog.vue_vue_type_script_setup_true_lang-DqkA1Zr-.js.map} +1 -1
  9. package/dist/{DarkModeToggle.vue_vue_type_script_setup_true_lang-0K4ucPlO.js → FilterTabs.vue_vue_type_script_setup_true_lang-AFYkni3y.js} +411 -136
  10. package/dist/FilterTabs.vue_vue_type_script_setup_true_lang-AFYkni3y.js.map +1 -0
  11. package/dist/{DarkModeToggle.vue_vue_type_script_setup_true_lang-DOrIWBcH.cjs → FilterTabs.vue_vue_type_script_setup_true_lang-HwjuvIJX.cjs} +398 -123
  12. package/dist/FilterTabs.vue_vue_type_script_setup_true_lang-HwjuvIJX.cjs.map +1 -0
  13. package/dist/{IconPicker.vue_vue_type_script_setup_true_lang-agY_E72J.cjs → FormActions.vue_vue_type_script_setup_true_lang-DzN_fbUC.cjs} +404 -165
  14. package/dist/FormActions.vue_vue_type_script_setup_true_lang-DzN_fbUC.cjs.map +1 -0
  15. package/dist/{IconPicker.vue_vue_type_script_setup_true_lang-Ch1x6Ap9.js → FormActions.vue_vue_type_script_setup_true_lang-d2aur5Pu.js} +405 -166
  16. package/dist/FormActions.vue_vue_type_script_setup_true_lang-d2aur5Pu.js.map +1 -0
  17. package/dist/{Button.vue_vue_type_script_setup_true_lang-BHpVJnRn.js → ListSkeleton.vue_vue_type_script_setup_true_lang-BwtEbaiT.js} +7 -102
  18. package/dist/ListSkeleton.vue_vue_type_script_setup_true_lang-BwtEbaiT.js.map +1 -0
  19. package/dist/{Button.vue_vue_type_script_setup_true_lang-CLmHDal2.cjs → ListSkeleton.vue_vue_type_script_setup_true_lang-DtwwmfWr.cjs} +6 -101
  20. package/dist/ListSkeleton.vue_vue_type_script_setup_true_lang-DtwwmfWr.cjs.map +1 -0
  21. package/dist/{PageLayout.vue_vue_type_script_setup_true_lang-rMu1Z5uH.js → PageHero.vue_vue_type_script_setup_true_lang-C-YXGDTY.js} +244 -97
  22. package/dist/PageHero.vue_vue_type_script_setup_true_lang-C-YXGDTY.js.map +1 -0
  23. package/dist/{PageLayout.vue_vue_type_script_setup_true_lang-hhzpkC6_.cjs → PageHero.vue_vue_type_script_setup_true_lang-CKCmOxOa.cjs} +241 -94
  24. package/dist/PageHero.vue_vue_type_script_setup_true_lang-CKCmOxOa.cjs.map +1 -0
  25. package/dist/components/core/FilterTabs.stories.d.ts +14 -0
  26. package/dist/components/core/FilterTabs.test.d.ts +1 -0
  27. package/dist/components/core/FilterTabs.vue.d.ts +29 -0
  28. package/dist/components/core/StatsCard.stories.d.ts +15 -0
  29. package/dist/components/core/StatsCard.test.d.ts +1 -0
  30. package/dist/components/core/StatsCard.vue.d.ts +44 -0
  31. package/dist/components/core/StatsGrid.stories.d.ts +12 -0
  32. package/dist/components/core/StatsGrid.test.d.ts +1 -0
  33. package/dist/components/core/StatsGrid.vue.d.ts +16 -0
  34. package/dist/components/core/index.cjs +24 -21
  35. package/dist/components/core/index.cjs.map +1 -1
  36. package/dist/components/core/index.d.ts +5 -0
  37. package/dist/components/core/index.js +5 -2
  38. package/dist/components/feedback/index.cjs +5 -5
  39. package/dist/components/feedback/index.js +5 -5
  40. package/dist/components/form/FormActions.stories.d.ts +18 -0
  41. package/dist/components/form/FormActions.test.d.ts +1 -0
  42. package/dist/components/form/FormActions.vue.d.ts +56 -0
  43. package/dist/components/form/FormInput.vue.d.ts +1 -1
  44. package/dist/components/form/FormSection.stories.d.ts +13 -0
  45. package/dist/components/form/FormSection.test.d.ts +1 -0
  46. package/dist/components/form/FormSection.vue.d.ts +49 -0
  47. package/dist/components/form/index.cjs +18 -16
  48. package/dist/components/form/index.cjs.map +1 -1
  49. package/dist/components/form/index.d.ts +2 -0
  50. package/dist/components/form/index.js +3 -1
  51. package/dist/components/index.cjs +52 -45
  52. package/dist/components/index.cjs.map +1 -1
  53. package/dist/components/index.js +22 -15
  54. package/dist/components/index.js.map +1 -1
  55. package/dist/components/layout/PageHero.stories.d.ts +11 -0
  56. package/dist/components/layout/PageHero.test.d.ts +1 -0
  57. package/dist/components/layout/PageHero.vue.d.ts +51 -0
  58. package/dist/components/layout/index.cjs +5 -4
  59. package/dist/components/layout/index.cjs.map +1 -1
  60. package/dist/components/layout/index.d.ts +2 -0
  61. package/dist/components/layout/index.js +2 -1
  62. package/dist/index-6hQQcCpF.js +84 -0
  63. package/dist/index-6hQQcCpF.js.map +1 -0
  64. package/dist/index-Bp7Mpfbi.cjs +83 -0
  65. package/dist/index-Bp7Mpfbi.cjs.map +1 -0
  66. package/dist/index.cjs +53 -46
  67. package/dist/index.cjs.map +1 -1
  68. package/dist/index.js +33 -26
  69. package/dist/index.js.map +1 -1
  70. package/dist/style.css +1 -1
  71. package/dist/types/form.d.ts +4 -0
  72. package/package.json +1 -1
  73. package/dist/Button.vue_vue_type_script_setup_true_lang-BHpVJnRn.js.map +0 -1
  74. package/dist/Button.vue_vue_type_script_setup_true_lang-CLmHDal2.cjs.map +0 -1
  75. package/dist/DarkModeToggle.vue_vue_type_script_setup_true_lang-0K4ucPlO.js.map +0 -1
  76. package/dist/DarkModeToggle.vue_vue_type_script_setup_true_lang-DOrIWBcH.cjs.map +0 -1
  77. package/dist/IconPicker.vue_vue_type_script_setup_true_lang-Ch1x6Ap9.js.map +0 -1
  78. package/dist/IconPicker.vue_vue_type_script_setup_true_lang-agY_E72J.cjs.map +0 -1
  79. package/dist/PageLayout.vue_vue_type_script_setup_true_lang-hhzpkC6_.cjs.map +0 -1
  80. package/dist/PageLayout.vue_vue_type_script_setup_true_lang-rMu1Z5uH.js.map +0 -1
  81. package/dist/index-BBUxkeI7.js +0 -77
  82. package/dist/index-BBUxkeI7.js.map +0 -1
  83. package/dist/index-BlwU8BWn.cjs +0 -76
  84. package/dist/index-BlwU8BWn.cjs.map +0 -1
@@ -1,11 +1,12 @@
1
- import { defineComponent, createElementBlock, openBlock, renderSlot, createTextVNode, toDisplayString, mergeModels, useModel, withDirectives, mergeProps, vModelDynamic, computed, ref, watch, createElementVNode, createBlock, unref, normalizeClass, createVNode, Teleport, Transition, withCtx, createCommentVNode, normalizeStyle, vModelText, Fragment, renderList, nextTick, withModifiers, withKeys } from "vue";
1
+ import { defineComponent, createElementBlock, openBlock, renderSlot, createTextVNode, toDisplayString, mergeModels, useModel, withDirectives, createBlock, createCommentVNode, unref, createElementVNode, mergeProps, vModelDynamic, computed, ref, watch, normalizeClass, createVNode, Teleport, Transition, withCtx, normalizeStyle, vModelText, Fragment, renderList, nextTick, withModifiers, withKeys, vShow } from "vue";
2
2
  import { u as useId } from "./useId-xeHj7rkg.js";
3
3
  import { Icon } from "@iconify/vue";
4
4
  import { u as useDropdown } from "./useDropdown-iVu14E6s.js";
5
5
  import { _ as _export_sfc } from "./_plugin-vue_export-helper-1tPrXgE0.js";
6
6
  import { o as onClickOutside, u as useDebounceFn } from "./index-BaWpldIJ.js";
7
- const _hoisted_1$e = ["data-error", "for"];
8
- const _sfc_main$e = /* @__PURE__ */ defineComponent({
7
+ import { _ as _sfc_main$h } from "./Button.vue_vue_type_script_setup_true_lang-CBYr0Z2_.js";
8
+ const _hoisted_1$g = ["data-error", "for"];
9
+ const _sfc_main$g = /* @__PURE__ */ defineComponent({
9
10
  __name: "FormLabel",
10
11
  props: {
11
12
  error: { type: [String, Boolean] },
@@ -19,12 +20,12 @@ const _sfc_main$e = /* @__PURE__ */ defineComponent({
19
20
  class: "block text-sm font-medium text-gray-700 data-[error=true]:text-red-500 dark:text-gray-300"
20
21
  }, [
21
22
  renderSlot(_ctx.$slots, "default")
22
- ], 8, _hoisted_1$e);
23
+ ], 8, _hoisted_1$g);
23
24
  };
24
25
  }
25
26
  });
26
- const _hoisted_1$d = ["id", "data-error", "role", "aria-live"];
27
- const _sfc_main$d = /* @__PURE__ */ defineComponent({
27
+ const _hoisted_1$f = ["id", "data-error", "role", "aria-live"];
28
+ const _sfc_main$f = /* @__PURE__ */ defineComponent({
28
29
  __name: "FormHelp",
29
30
  props: {
30
31
  id: {},
@@ -43,12 +44,18 @@ const _sfc_main$d = /* @__PURE__ */ defineComponent({
43
44
  renderSlot(_ctx.$slots, "default", {}, () => [
44
45
  createTextVNode(toDisplayString(__props.text ?? ""), 1)
45
46
  ])
46
- ], 8, _hoisted_1$d);
47
+ ], 8, _hoisted_1$f);
47
48
  };
48
49
  }
49
50
  });
50
- const _hoisted_1$c = ["id", "disabled", "name", "placeholder", "type", "required", "aria-invalid", "aria-required", "aria-describedby"];
51
- const _sfc_main$c = /* @__PURE__ */ defineComponent({
51
+ const _hoisted_1$e = {
52
+ key: 0,
53
+ class: "relative"
54
+ };
55
+ const _hoisted_2$c = ["id", "disabled", "name", "placeholder", "type", "required", "aria-invalid", "aria-required", "aria-describedby"];
56
+ const _hoisted_3$b = ["id", "disabled", "name", "placeholder", "type", "required", "aria-invalid", "aria-required", "aria-describedby"];
57
+ const baseInputClass = "block w-full rounded-xl border border-gray-200 bg-gray-50 text-sm text-gray-900 placeholder-gray-400 transition-all focus:border-primary-500 focus:ring-2 focus:ring-primary-500 focus:bg-white focus:outline-hidden disabled:border-gray-200 disabled:bg-gray-100 disabled:text-gray-500 disabled:cursor-not-allowed dark:border-slate-600 dark:bg-slate-700 dark:text-white dark:placeholder-gray-500 dark:focus:border-primary-500 dark:focus:ring-primary-500 dark:focus:bg-slate-600 dark:disabled:bg-slate-800 dark:disabled:text-gray-500";
58
+ const _sfc_main$e = /* @__PURE__ */ defineComponent({
52
59
  __name: "FormInput",
53
60
  props: /* @__PURE__ */ mergeModels({
54
61
  type: { default: "text" },
@@ -59,7 +66,9 @@ const _sfc_main$c = /* @__PURE__ */ defineComponent({
59
66
  id: {},
60
67
  name: {},
61
68
  required: { type: Boolean },
62
- describedBy: {}
69
+ describedBy: {},
70
+ icon: {},
71
+ iconRight: {}
63
72
  }, {
64
73
  "modelValue": {},
65
74
  "modelModifiers": {}
@@ -69,9 +78,41 @@ const _sfc_main$c = /* @__PURE__ */ defineComponent({
69
78
  const props = __props;
70
79
  const modelValue = useModel(__props, "modelValue");
71
80
  return (_ctx, _cache) => {
72
- return withDirectives((openBlock(), createElementBlock("input", mergeProps({
81
+ return props.icon || props.iconRight ? (openBlock(), createElementBlock("div", _hoisted_1$e, [
82
+ props.icon ? (openBlock(), createBlock(unref(Icon), {
83
+ key: 0,
84
+ icon: props.icon,
85
+ class: "absolute left-3 top-1/2 -translate-y-1/2 size-5 text-gray-400 pointer-events-none"
86
+ }, null, 8, ["icon"])) : createCommentVNode("", true),
87
+ withDirectives(createElementVNode("input", mergeProps({
88
+ id: props.id ?? props.name ?? "",
89
+ "onUpdate:modelValue": _cache[0] || (_cache[0] = ($event) => modelValue.value = $event),
90
+ disabled: props.disabled,
91
+ name: props.name ?? "",
92
+ placeholder: props.placeholder,
93
+ type: props.type,
94
+ required: props.required,
95
+ "aria-invalid": props.invalid || void 0,
96
+ "aria-required": props.required || void 0,
97
+ "aria-describedby": props.describedBy || void 0,
98
+ class: [
99
+ baseInputClass,
100
+ "py-3",
101
+ props.icon ? "pl-10" : "pl-4",
102
+ props.iconRight ? "pr-10" : "pr-4"
103
+ ]
104
+ }, _ctx.$attrs), null, 16, _hoisted_2$c), [
105
+ [vModelDynamic, modelValue.value]
106
+ ]),
107
+ props.iconRight ? (openBlock(), createBlock(unref(Icon), {
108
+ key: 1,
109
+ icon: props.iconRight,
110
+ class: "absolute right-3 top-1/2 -translate-y-1/2 size-5 text-gray-400 pointer-events-none"
111
+ }, null, 8, ["icon"])) : createCommentVNode("", true)
112
+ ])) : withDirectives((openBlock(), createElementBlock("input", mergeProps({
113
+ key: 1,
73
114
  id: props.id ?? props.name ?? "",
74
- "onUpdate:modelValue": _cache[0] || (_cache[0] = ($event) => modelValue.value = $event),
115
+ "onUpdate:modelValue": _cache[1] || (_cache[1] = ($event) => modelValue.value = $event),
75
116
  disabled: props.disabled,
76
117
  name: props.name ?? "",
77
118
  placeholder: props.placeholder,
@@ -80,22 +121,22 @@ const _sfc_main$c = /* @__PURE__ */ defineComponent({
80
121
  "aria-invalid": props.invalid || void 0,
81
122
  "aria-required": props.required || void 0,
82
123
  "aria-describedby": props.describedBy || void 0,
83
- class: "mt-1 block w-full rounded-md border border-gray-300 bg-white px-3 py-2 text-sm text-gray-800 placeholder-gray-400 shadow-sm user-invalid:border-red-500 user-invalid:text-red-600 focus:border-primary focus:ring-1 focus:ring-primary focus:outline-hidden focus:user-invalid:border-red-500 focus:user-invalid:ring-red-500 disabled:border-gray-200 disabled:bg-gray-50 disabled:text-gray-500 disabled:shadow-none dark:border-gray-700 dark:bg-gray-900 dark:text-gray-200 dark:placeholder-gray-500 dark:focus:border-primary dark:focus:ring-primary dark:disabled:border-gray-800 dark:disabled:bg-gray-950 dark:disabled:text-gray-500"
84
- }, _ctx.$attrs), null, 16, _hoisted_1$c)), [
124
+ class: [baseInputClass, "px-4 py-3"]
125
+ }, _ctx.$attrs), null, 16, _hoisted_3$b)), [
85
126
  [vModelDynamic, modelValue.value]
86
127
  ]);
87
128
  };
88
129
  }
89
130
  });
90
- const _hoisted_1$b = { class: "relative" };
91
- const _hoisted_2$a = ["id", "disabled", "aria-expanded", "aria-controls", "aria-invalid", "aria-describedby"];
92
- const _hoisted_3$9 = { class: "flex-1 truncate" };
93
- const _hoisted_4$7 = ["id", "aria-label"];
94
- const _hoisted_5$6 = {
131
+ const _hoisted_1$d = { class: "relative" };
132
+ const _hoisted_2$b = ["id", "disabled", "aria-expanded", "aria-controls", "aria-invalid", "aria-describedby"];
133
+ const _hoisted_3$a = { class: "flex-1 truncate" };
134
+ const _hoisted_4$8 = ["id", "aria-label"];
135
+ const _hoisted_5$7 = {
95
136
  key: 0,
96
137
  class: "sticky top-0 border-b border-gray-200 bg-white p-2 dark:border-gray-700 dark:bg-gray-800"
97
138
  };
98
- const _hoisted_6$6 = { class: "flex items-center gap-2 rounded-md border border-gray-300 bg-gray-50 px-2 py-1.5 dark:border-gray-600 dark:bg-gray-900" };
139
+ const _hoisted_6$7 = { class: "flex items-center gap-2 rounded-md border border-gray-300 bg-gray-50 px-2 py-1.5 dark:border-gray-600 dark:bg-gray-900" };
99
140
  const _hoisted_7$6 = {
100
141
  key: 1,
101
142
  class: "px-4 py-3 text-sm text-gray-500 dark:text-gray-400",
@@ -109,7 +150,7 @@ const _hoisted_10$3 = {
109
150
  "aria-hidden": "true"
110
151
  };
111
152
  const _hoisted_11$3 = { class: "flex-1" };
112
- const _sfc_main$b = /* @__PURE__ */ defineComponent({
153
+ const _sfc_main$d = /* @__PURE__ */ defineComponent({
113
154
  __name: "FormSelect",
114
155
  props: /* @__PURE__ */ mergeModels({
115
156
  options: {},
@@ -122,6 +163,8 @@ const _sfc_main$b = /* @__PURE__ */ defineComponent({
122
163
  name: {},
123
164
  required: { type: Boolean },
124
165
  describedBy: {},
166
+ icon: {},
167
+ iconRight: {},
125
168
  teleport: { type: Boolean, default: true },
126
169
  searchable: { type: Boolean, default: false },
127
170
  noResultsText: { default: "No results found" },
@@ -227,7 +270,7 @@ const _sfc_main$b = /* @__PURE__ */ defineComponent({
227
270
  return [base, state, text, props.triggerClass];
228
271
  });
229
272
  return (_ctx, _cache) => {
230
- return openBlock(), createElementBlock("div", _hoisted_1$b, [
273
+ return openBlock(), createElementBlock("div", _hoisted_1$d, [
231
274
  createElementVNode("button", {
232
275
  id: triggerId.value,
233
276
  ref_key: "triggerRef",
@@ -247,14 +290,14 @@ const _sfc_main$b = /* @__PURE__ */ defineComponent({
247
290
  option: selectedOption.value,
248
291
  placeholder: __props.placeholder
249
292
  }, () => [
250
- createElementVNode("span", _hoisted_3$9, toDisplayString(displayValue.value), 1)
293
+ createElementVNode("span", _hoisted_3$a, toDisplayString(displayValue.value), 1)
251
294
  ]),
252
295
  createVNode(unref(Icon), {
253
296
  icon: "lucide:chevron-down",
254
297
  class: normalizeClass(["size-4 shrink-0 text-gray-400 transition-transform", unref(isOpen) && "rotate-180"]),
255
298
  "aria-hidden": "true"
256
299
  }, null, 8, ["class"])
257
- ], 42, _hoisted_2$a),
300
+ ], 42, _hoisted_2$b),
258
301
  (openBlock(), createBlock(Teleport, {
259
302
  to: "body",
260
303
  disabled: !__props.teleport
@@ -281,8 +324,8 @@ const _sfc_main$b = /* @__PURE__ */ defineComponent({
281
324
  !__props.teleport && "absolute mt-1 w-full"
282
325
  ])
283
326
  }, [
284
- __props.searchable ? (openBlock(), createElementBlock("div", _hoisted_5$6, [
285
- createElementVNode("div", _hoisted_6$6, [
327
+ __props.searchable ? (openBlock(), createElementBlock("div", _hoisted_5$7, [
328
+ createElementVNode("div", _hoisted_6$7, [
286
329
  createVNode(unref(Icon), {
287
330
  icon: "lucide:search",
288
331
  class: "size-4 text-gray-400",
@@ -336,7 +379,7 @@ const _sfc_main$b = /* @__PURE__ */ defineComponent({
336
379
  ], 42, _hoisted_9$3);
337
380
  }), 128))
338
381
  ])
339
- ], 14, _hoisted_4$7)) : createCommentVNode("", true)
382
+ ], 14, _hoisted_4$8)) : createCommentVNode("", true)
340
383
  ]),
341
384
  _: 3
342
385
  })
@@ -345,8 +388,8 @@ const _sfc_main$b = /* @__PURE__ */ defineComponent({
345
388
  };
346
389
  }
347
390
  });
348
- const _hoisted_1$a = ["hidden"];
349
- const _sfc_main$a = /* @__PURE__ */ defineComponent({
391
+ const _hoisted_1$c = ["hidden"];
392
+ const _sfc_main$c = /* @__PURE__ */ defineComponent({
350
393
  __name: "FormGroup",
351
394
  props: /* @__PURE__ */ mergeModels({
352
395
  label: {},
@@ -363,6 +406,8 @@ const _sfc_main$a = /* @__PURE__ */ defineComponent({
363
406
  name: {},
364
407
  required: { type: Boolean },
365
408
  describedBy: {},
409
+ icon: {},
410
+ iconRight: {},
366
411
  options: {}
367
412
  }, {
368
413
  "modelValue": {},
@@ -385,7 +430,7 @@ const _sfc_main$a = /* @__PURE__ */ defineComponent({
385
430
  }, [
386
431
  renderSlot(_ctx.$slots, "default", {}, () => [
387
432
  renderSlot(_ctx.$slots, "label", {}, () => [
388
- __props.label ? (openBlock(), createBlock(_sfc_main$e, {
433
+ __props.label ? (openBlock(), createBlock(_sfc_main$g, {
389
434
  key: 0,
390
435
  "html-for": inputId.value,
391
436
  error: __props.error
@@ -397,7 +442,7 @@ const _sfc_main$a = /* @__PURE__ */ defineComponent({
397
442
  }, 8, ["html-for", "error"])) : createCommentVNode("", true)
398
443
  ]),
399
444
  renderSlot(_ctx.$slots, "input", {}, () => [
400
- isSelect.value ? (openBlock(), createBlock(_sfc_main$b, mergeProps({
445
+ isSelect.value ? (openBlock(), createBlock(_sfc_main$d, mergeProps({
401
446
  key: 0,
402
447
  modelValue: modelValue.value,
403
448
  "onUpdate:modelValue": _cache[0] || (_cache[0] = ($event) => modelValue.value = $event)
@@ -405,7 +450,7 @@ const _sfc_main$a = /* @__PURE__ */ defineComponent({
405
450
  id: inputId.value,
406
451
  invalid: Boolean(__props.error),
407
452
  "described-by": hasError.value ? helpId.value : void 0
408
- }), null, 16, ["modelValue", "id", "invalid", "described-by"])) : (openBlock(), createBlock(_sfc_main$c, mergeProps({
453
+ }), null, 16, ["modelValue", "id", "invalid", "described-by"])) : (openBlock(), createBlock(_sfc_main$e, mergeProps({
409
454
  key: 1,
410
455
  modelValue: modelValue.value,
411
456
  "onUpdate:modelValue": _cache[1] || (_cache[1] = ($event) => modelValue.value = $event)
@@ -415,7 +460,7 @@ const _sfc_main$a = /* @__PURE__ */ defineComponent({
415
460
  "described-by": hasError.value ? helpId.value : void 0
416
461
  }), null, 16, ["modelValue", "id", "invalid", "described-by"]))
417
462
  ]),
418
- hasError.value ? (openBlock(), createBlock(_sfc_main$d, {
463
+ hasError.value ? (openBlock(), createBlock(_sfc_main$f, {
419
464
  key: 0,
420
465
  id: helpId.value,
421
466
  error: true
@@ -426,13 +471,13 @@ const _sfc_main$a = /* @__PURE__ */ defineComponent({
426
471
  _: 1
427
472
  }, 8, ["id"])) : createCommentVNode("", true)
428
473
  ])
429
- ], 12, _hoisted_1$a);
474
+ ], 12, _hoisted_1$c);
430
475
  };
431
476
  }
432
477
  });
433
- const _hoisted_1$9 = { class: "relative" };
434
- const _hoisted_2$9 = ["disabled", "placeholder", "value"];
435
- const _sfc_main$9 = /* @__PURE__ */ defineComponent({
478
+ const _hoisted_1$b = { class: "relative" };
479
+ const _hoisted_2$a = ["disabled", "placeholder", "value"];
480
+ const _sfc_main$b = /* @__PURE__ */ defineComponent({
436
481
  __name: "SearchInput",
437
482
  props: {
438
483
  modelValue: {},
@@ -448,7 +493,7 @@ const _sfc_main$9 = /* @__PURE__ */ defineComponent({
448
493
  emit("update:modelValue", target.value);
449
494
  };
450
495
  return (_ctx, _cache) => {
451
- return openBlock(), createElementBlock("div", _hoisted_1$9, [
496
+ return openBlock(), createElementBlock("div", _hoisted_1$b, [
452
497
  createVNode(unref(Icon), {
453
498
  icon: __props.icon,
454
499
  class: "absolute top-1/2 left-3 size-5 -translate-y-1/2 text-gray-400"
@@ -460,19 +505,19 @@ const _sfc_main$9 = /* @__PURE__ */ defineComponent({
460
505
  class: "focus:border-primary focus:ring-primary w-full rounded-lg border border-gray-300 bg-white py-2 pr-4 pl-10 text-gray-900 placeholder-gray-400 transition-colors disabled:cursor-not-allowed disabled:opacity-50 dark:border-gray-600 dark:bg-gray-800 dark:text-gray-100 dark:placeholder-gray-500",
461
506
  type: "text",
462
507
  onInput: handleInput
463
- }, null, 40, _hoisted_2$9)
508
+ }, null, 40, _hoisted_2$a)
464
509
  ]);
465
510
  };
466
511
  }
467
512
  });
468
- const _hoisted_1$8 = ["id", "aria-checked", "aria-labelledby", "aria-describedby", "disabled"];
469
- const _hoisted_2$8 = {
513
+ const _hoisted_1$a = ["id", "aria-checked", "aria-labelledby", "aria-describedby", "disabled"];
514
+ const _hoisted_2$9 = {
470
515
  key: 0,
471
516
  class: "flex flex-col"
472
517
  };
473
- const _hoisted_3$8 = ["id"];
474
- const _hoisted_4$6 = ["id"];
475
- const _sfc_main$8 = /* @__PURE__ */ defineComponent({
518
+ const _hoisted_3$9 = ["id"];
519
+ const _hoisted_4$7 = ["id"];
520
+ const _sfc_main$a = /* @__PURE__ */ defineComponent({
476
521
  __name: "Switch",
477
522
  props: {
478
523
  modelValue: { type: Boolean, default: false },
@@ -536,35 +581,35 @@ const _sfc_main$8 = /* @__PURE__ */ defineComponent({
536
581
  ]),
537
582
  "aria-hidden": "true"
538
583
  }, null, 2)
539
- ], 10, _hoisted_1$8),
540
- __props.label || __props.description ? (openBlock(), createElementBlock("div", _hoisted_2$8, [
584
+ ], 10, _hoisted_1$a),
585
+ __props.label || __props.description ? (openBlock(), createElementBlock("div", _hoisted_2$9, [
541
586
  __props.label ? (openBlock(), createElementBlock("span", {
542
587
  key: 0,
543
588
  id: labelId.value,
544
589
  class: "text-sm font-medium text-gray-900 dark:text-white"
545
- }, toDisplayString(__props.label), 9, _hoisted_3$8)) : createCommentVNode("", true),
590
+ }, toDisplayString(__props.label), 9, _hoisted_3$9)) : createCommentVNode("", true),
546
591
  __props.description ? (openBlock(), createElementBlock("span", {
547
592
  key: 1,
548
593
  id: descriptionId.value,
549
594
  class: "text-sm text-gray-500 dark:text-gray-400"
550
- }, toDisplayString(__props.description), 9, _hoisted_4$6)) : createCommentVNode("", true)
595
+ }, toDisplayString(__props.description), 9, _hoisted_4$7)) : createCommentVNode("", true)
551
596
  ])) : createCommentVNode("", true)
552
597
  ], 2);
553
598
  };
554
599
  }
555
600
  });
556
- const _hoisted_1$7 = { class: "w-full" };
557
- const _hoisted_2$7 = {
601
+ const _hoisted_1$9 = { class: "w-full" };
602
+ const _hoisted_2$8 = {
558
603
  key: 0,
559
604
  class: "mb-2 flex justify-between text-sm"
560
605
  };
561
- const _hoisted_3$7 = { class: "text-gray-600 dark:text-gray-400" };
562
- const _hoisted_4$5 = { class: "font-medium text-gray-900 dark:text-white" };
563
- const _hoisted_5$5 = { class: "text-gray-600 dark:text-gray-400" };
564
- const _hoisted_6$5 = { class: "relative" };
606
+ const _hoisted_3$8 = { class: "text-gray-600 dark:text-gray-400" };
607
+ const _hoisted_4$6 = { class: "font-medium text-gray-900 dark:text-white" };
608
+ const _hoisted_5$6 = { class: "text-gray-600 dark:text-gray-400" };
609
+ const _hoisted_6$6 = { class: "relative" };
565
610
  const _hoisted_7$5 = ["value", "min", "max", "step", "disabled"];
566
611
  const _hoisted_8$4 = { class: "pointer-events-none absolute inset-y-0 left-0 flex items-center" };
567
- const _sfc_main$7 = /* @__PURE__ */ defineComponent({
612
+ const _sfc_main$9 = /* @__PURE__ */ defineComponent({
568
613
  __name: "Slider",
569
614
  props: /* @__PURE__ */ mergeModels({
570
615
  min: { default: 0 },
@@ -595,13 +640,13 @@ const _sfc_main$7 = /* @__PURE__ */ defineComponent({
595
640
  modelValue.value = Number(target.value);
596
641
  };
597
642
  return (_ctx, _cache) => {
598
- return openBlock(), createElementBlock("div", _hoisted_1$7, [
599
- __props.showValue ? (openBlock(), createElementBlock("div", _hoisted_2$7, [
600
- createElementVNode("span", _hoisted_3$7, toDisplayString(__props.min), 1),
601
- createElementVNode("span", _hoisted_4$5, toDisplayString(displayValue.value), 1),
602
- createElementVNode("span", _hoisted_5$5, toDisplayString(__props.max), 1)
643
+ return openBlock(), createElementBlock("div", _hoisted_1$9, [
644
+ __props.showValue ? (openBlock(), createElementBlock("div", _hoisted_2$8, [
645
+ createElementVNode("span", _hoisted_3$8, toDisplayString(__props.min), 1),
646
+ createElementVNode("span", _hoisted_4$6, toDisplayString(displayValue.value), 1),
647
+ createElementVNode("span", _hoisted_5$6, toDisplayString(__props.max), 1)
603
648
  ])) : createCommentVNode("", true),
604
- createElementVNode("div", _hoisted_6$5, [
649
+ createElementVNode("div", _hoisted_6$6, [
605
650
  createElementVNode("input", {
606
651
  type: "range",
607
652
  value: modelValue.value,
@@ -623,13 +668,13 @@ const _sfc_main$7 = /* @__PURE__ */ defineComponent({
623
668
  };
624
669
  }
625
670
  });
626
- const Slider = /* @__PURE__ */ _export_sfc(_sfc_main$7, [["__scopeId", "data-v-c25e2c2a"]]);
627
- const _hoisted_1$6 = { class: "relative" };
628
- const _hoisted_2$6 = ["id", "disabled", "aria-expanded", "aria-controls"];
629
- const _hoisted_3$6 = { class: "flex-1 truncate" };
630
- const _hoisted_4$4 = { class: "flex items-center gap-1" };
631
- const _hoisted_5$4 = ["id", "aria-label"];
632
- const _hoisted_6$4 = { class: "mb-4 flex items-center justify-between" };
671
+ const Slider = /* @__PURE__ */ _export_sfc(_sfc_main$9, [["__scopeId", "data-v-c25e2c2a"]]);
672
+ const _hoisted_1$8 = { class: "relative" };
673
+ const _hoisted_2$7 = ["id", "disabled", "aria-expanded", "aria-controls"];
674
+ const _hoisted_3$7 = { class: "flex-1 truncate" };
675
+ const _hoisted_4$5 = { class: "flex items-center gap-1" };
676
+ const _hoisted_5$5 = ["id", "aria-label"];
677
+ const _hoisted_6$5 = { class: "mb-4 flex items-center justify-between" };
633
678
  const _hoisted_7$4 = {
634
679
  class: "font-medium text-gray-900 dark:text-white",
635
680
  "aria-live": "polite",
@@ -643,7 +688,7 @@ const _hoisted_9$2 = ["abbr"];
643
688
  const _hoisted_10$2 = ["id", "aria-label"];
644
689
  const _hoisted_11$2 = ["aria-label", "aria-selected", "aria-disabled", "disabled", "onClick"];
645
690
  const _hoisted_12$1 = { class: "mt-4 border-t border-gray-200 pt-3 dark:border-gray-700" };
646
- const _sfc_main$6 = /* @__PURE__ */ defineComponent({
691
+ const _sfc_main$8 = /* @__PURE__ */ defineComponent({
647
692
  __name: "DatePicker",
648
693
  props: /* @__PURE__ */ mergeModels({
649
694
  placeholder: { default: "Select date" },
@@ -767,7 +812,7 @@ const _sfc_main$6 = /* @__PURE__ */ defineComponent({
767
812
  return formatter.format(date);
768
813
  };
769
814
  return (_ctx, _cache) => {
770
- return openBlock(), createElementBlock("div", _hoisted_1$6, [
815
+ return openBlock(), createElementBlock("div", _hoisted_1$8, [
771
816
  createElementVNode("button", {
772
817
  id: triggerId.value,
773
818
  ref_key: "triggerRef",
@@ -785,8 +830,8 @@ const _sfc_main$6 = /* @__PURE__ */ defineComponent({
785
830
  onClick: _cache[0] || (_cache[0] = //@ts-ignore
786
831
  (...args) => unref(toggle) && unref(toggle)(...args))
787
832
  }, [
788
- createElementVNode("span", _hoisted_3$6, toDisplayString(displayValue.value || __props.placeholder), 1),
789
- createElementVNode("div", _hoisted_4$4, [
833
+ createElementVNode("span", _hoisted_3$7, toDisplayString(displayValue.value || __props.placeholder), 1),
834
+ createElementVNode("div", _hoisted_4$5, [
790
835
  modelValue.value ? (openBlock(), createElementBlock("button", {
791
836
  key: 0,
792
837
  type: "button",
@@ -806,7 +851,7 @@ const _sfc_main$6 = /* @__PURE__ */ defineComponent({
806
851
  "aria-hidden": "true"
807
852
  })
808
853
  ])
809
- ], 10, _hoisted_2$6),
854
+ ], 10, _hoisted_2$7),
810
855
  (openBlock(), createBlock(Teleport, {
811
856
  to: "body",
812
857
  disabled: !__props.teleport
@@ -831,7 +876,7 @@ const _sfc_main$6 = /* @__PURE__ */ defineComponent({
831
876
  style: normalizeStyle(unref(dropdownStyle)),
832
877
  class: "z-9999 w-72 rounded-lg border border-gray-200 bg-white p-4 shadow-lg dark:border-gray-700 dark:bg-gray-800"
833
878
  }, [
834
- createElementVNode("div", _hoisted_6$4, [
879
+ createElementVNode("div", _hoisted_6$5, [
835
880
  createElementVNode("button", {
836
881
  type: "button",
837
882
  class: "rounded p-1 hover:bg-gray-100 dark:hover:bg-gray-700",
@@ -902,7 +947,7 @@ const _sfc_main$6 = /* @__PURE__ */ defineComponent({
902
947
  onClick: _cache[1] || (_cache[1] = ($event) => selectDate({ date: /* @__PURE__ */ new Date(), isDisabled: false }))
903
948
  }, " Today ")
904
949
  ])
905
- ], 12, _hoisted_5$4)) : createCommentVNode("", true)
950
+ ], 12, _hoisted_5$5)) : createCommentVNode("", true)
906
951
  ]),
907
952
  _: 1
908
953
  })
@@ -911,15 +956,15 @@ const _sfc_main$6 = /* @__PURE__ */ defineComponent({
911
956
  };
912
957
  }
913
958
  });
914
- const _hoisted_1$5 = { class: "space-y-4" };
915
- const _hoisted_2$5 = ["accept", "multiple", "disabled"];
916
- const _hoisted_3$5 = { class: "space-y-2" };
917
- const _hoisted_4$3 = { class: "text-sm font-medium text-gray-700 dark:text-gray-300" };
918
- const _hoisted_5$3 = {
959
+ const _hoisted_1$7 = { class: "space-y-4" };
960
+ const _hoisted_2$6 = ["accept", "multiple", "disabled"];
961
+ const _hoisted_3$6 = { class: "space-y-2" };
962
+ const _hoisted_4$4 = { class: "text-sm font-medium text-gray-700 dark:text-gray-300" };
963
+ const _hoisted_5$4 = {
919
964
  key: 0,
920
965
  class: "text-xs text-gray-500 dark:text-gray-400"
921
966
  };
922
- const _hoisted_6$3 = {
967
+ const _hoisted_6$4 = {
923
968
  key: 1,
924
969
  class: "text-xs text-gray-500 dark:text-gray-400"
925
970
  };
@@ -931,7 +976,7 @@ const _hoisted_8$2 = { class: "flex-1 min-w-0" };
931
976
  const _hoisted_9$1 = { class: "text-sm font-medium text-gray-700 dark:text-gray-300 truncate" };
932
977
  const _hoisted_10$1 = { class: "text-xs text-gray-500 dark:text-gray-400" };
933
978
  const _hoisted_11$1 = ["onClick"];
934
- const _sfc_main$5 = /* @__PURE__ */ defineComponent({
979
+ const _sfc_main$7 = /* @__PURE__ */ defineComponent({
935
980
  __name: "FileUpload",
936
981
  props: {
937
982
  accept: {},
@@ -1059,7 +1104,7 @@ const _sfc_main$5 = /* @__PURE__ */ defineComponent({
1059
1104
  return "heroicons:document";
1060
1105
  };
1061
1106
  return (_ctx, _cache) => {
1062
- return openBlock(), createElementBlock("div", _hoisted_1$5, [
1107
+ return openBlock(), createElementBlock("div", _hoisted_1$7, [
1063
1108
  createElementVNode("div", {
1064
1109
  class: normalizeClass(dropzoneClasses.value),
1065
1110
  onDrop: withModifiers(handleDrop, ["prevent"]),
@@ -1076,15 +1121,15 @@ const _sfc_main$5 = /* @__PURE__ */ defineComponent({
1076
1121
  multiple: __props.multiple,
1077
1122
  disabled: __props.disabled,
1078
1123
  onChange: handleInputChange
1079
- }, null, 40, _hoisted_2$5),
1080
- createElementVNode("div", _hoisted_3$5, [
1124
+ }, null, 40, _hoisted_2$6),
1125
+ createElementVNode("div", _hoisted_3$6, [
1081
1126
  createVNode(unref(Icon), {
1082
1127
  icon: "heroicons:cloud-arrow-up",
1083
1128
  class: normalizeClass(["size-12 mx-auto text-gray-400", { "text-primary-500": isDragging.value }])
1084
1129
  }, null, 8, ["class"]),
1085
- createElementVNode("p", _hoisted_4$3, toDisplayString(__props.label), 1),
1086
- __props.description ? (openBlock(), createElementBlock("p", _hoisted_5$3, toDisplayString(__props.description), 1)) : createCommentVNode("", true),
1087
- __props.maxSize ? (openBlock(), createElementBlock("p", _hoisted_6$3, " Max size: " + toDisplayString(formatSize(__props.maxSize)), 1)) : createCommentVNode("", true)
1130
+ createElementVNode("p", _hoisted_4$4, toDisplayString(__props.label), 1),
1131
+ __props.description ? (openBlock(), createElementBlock("p", _hoisted_5$4, toDisplayString(__props.description), 1)) : createCommentVNode("", true),
1132
+ __props.maxSize ? (openBlock(), createElementBlock("p", _hoisted_6$4, " Max size: " + toDisplayString(formatSize(__props.maxSize)), 1)) : createCommentVNode("", true)
1088
1133
  ])
1089
1134
  ], 34),
1090
1135
  files.value.length > 0 ? (openBlock(), createElementBlock("ul", _hoisted_7$3, [
@@ -1118,13 +1163,13 @@ const _sfc_main$5 = /* @__PURE__ */ defineComponent({
1118
1163
  };
1119
1164
  }
1120
1165
  });
1121
- const _hoisted_1$4 = { class: "flex items-center gap-1" };
1122
- const _hoisted_2$4 = ["disabled", "onClick", "onMousemove"];
1123
- const _hoisted_3$4 = {
1166
+ const _hoisted_1$6 = { class: "flex items-center gap-1" };
1167
+ const _hoisted_2$5 = ["disabled", "onClick", "onMousemove"];
1168
+ const _hoisted_3$5 = {
1124
1169
  key: 0,
1125
1170
  class: "ml-2 text-sm font-medium text-gray-700 dark:text-gray-300"
1126
1171
  };
1127
- const _sfc_main$4 = /* @__PURE__ */ defineComponent({
1172
+ const _sfc_main$6 = /* @__PURE__ */ defineComponent({
1128
1173
  __name: "Rating",
1129
1174
  props: {
1130
1175
  modelValue: { default: 0 },
@@ -1187,7 +1232,7 @@ const _sfc_main$4 = /* @__PURE__ */ defineComponent({
1187
1232
  hoverValue.value = null;
1188
1233
  };
1189
1234
  return (_ctx, _cache) => {
1190
- return openBlock(), createElementBlock("div", _hoisted_1$4, [
1235
+ return openBlock(), createElementBlock("div", _hoisted_1$6, [
1191
1236
  createElementVNode("div", {
1192
1237
  class: "flex items-center",
1193
1238
  onMouseleave: handleMouseLeave
@@ -1219,29 +1264,29 @@ const _sfc_main$4 = /* @__PURE__ */ defineComponent({
1219
1264
  class: normalizeClass([sizeClasses.value, __props.color])
1220
1265
  }, null, 8, ["icon", "class"])
1221
1266
  ], 4)
1222
- ], 42, _hoisted_2$4);
1267
+ ], 42, _hoisted_2$5);
1223
1268
  }), 128))
1224
1269
  ], 32),
1225
- __props.showValue ? (openBlock(), createElementBlock("span", _hoisted_3$4, toDisplayString(__props.modelValue.toFixed(__props.allowHalf ? 1 : 0)), 1)) : createCommentVNode("", true)
1270
+ __props.showValue ? (openBlock(), createElementBlock("span", _hoisted_3$5, toDisplayString(__props.modelValue.toFixed(__props.allowHalf ? 1 : 0)), 1)) : createCommentVNode("", true)
1226
1271
  ]);
1227
1272
  };
1228
1273
  }
1229
1274
  });
1230
- const _hoisted_1$3 = { class: "relative inline-block" };
1231
- const _hoisted_2$3 = {
1275
+ const _hoisted_1$5 = { class: "relative inline-block" };
1276
+ const _hoisted_2$4 = {
1232
1277
  key: 0,
1233
1278
  class: "block text-sm font-medium text-gray-700 dark:text-gray-300 mb-1"
1234
1279
  };
1235
- const _hoisted_3$3 = ["disabled"];
1236
- const _hoisted_4$2 = { class: "text-sm font-mono text-gray-700 dark:text-gray-300" };
1237
- const _hoisted_5$2 = { class: "grid grid-cols-5 gap-2 mb-3" };
1238
- const _hoisted_6$2 = ["title", "onClick"];
1280
+ const _hoisted_3$4 = ["disabled"];
1281
+ const _hoisted_4$3 = { class: "text-sm font-mono text-gray-700 dark:text-gray-300" };
1282
+ const _hoisted_5$3 = { class: "grid grid-cols-5 gap-2 mb-3" };
1283
+ const _hoisted_6$3 = ["title", "onClick"];
1239
1284
  const _hoisted_7$2 = {
1240
1285
  key: 0,
1241
1286
  class: "flex items-center gap-2 pt-3 border-t border-gray-200 dark:border-gray-700"
1242
1287
  };
1243
1288
  const _hoisted_8$1 = ["value"];
1244
- const _sfc_main$3 = /* @__PURE__ */ defineComponent({
1289
+ const _sfc_main$5 = /* @__PURE__ */ defineComponent({
1245
1290
  __name: "ColorPicker",
1246
1291
  props: {
1247
1292
  modelValue: { default: "#3b82f6" },
@@ -1310,8 +1355,8 @@ const _sfc_main$3 = /* @__PURE__ */ defineComponent({
1310
1355
  isOpen.value = false;
1311
1356
  };
1312
1357
  return (_ctx, _cache) => {
1313
- return openBlock(), createElementBlock("div", _hoisted_1$3, [
1314
- __props.label ? (openBlock(), createElementBlock("label", _hoisted_2$3, toDisplayString(__props.label), 1)) : createCommentVNode("", true),
1358
+ return openBlock(), createElementBlock("div", _hoisted_1$5, [
1359
+ __props.label ? (openBlock(), createElementBlock("label", _hoisted_2$4, toDisplayString(__props.label), 1)) : createCommentVNode("", true),
1315
1360
  createElementVNode("button", {
1316
1361
  type: "button",
1317
1362
  class: 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 }]),
@@ -1322,12 +1367,12 @@ const _sfc_main$3 = /* @__PURE__ */ defineComponent({
1322
1367
  class: "size-6 rounded border border-gray-200 dark:border-gray-600",
1323
1368
  style: normalizeStyle({ backgroundColor: __props.modelValue })
1324
1369
  }, null, 4),
1325
- createElementVNode("span", _hoisted_4$2, toDisplayString(__props.modelValue), 1),
1370
+ createElementVNode("span", _hoisted_4$3, toDisplayString(__props.modelValue), 1),
1326
1371
  createVNode(unref(Icon), {
1327
1372
  icon: "heroicons:chevron-down",
1328
1373
  class: normalizeClass(["size-4 text-gray-400", { "rotate-180": isOpen.value }])
1329
1374
  }, null, 8, ["class"])
1330
- ], 10, _hoisted_3$3),
1375
+ ], 10, _hoisted_3$4),
1331
1376
  (openBlock(), createBlock(Teleport, {
1332
1377
  to: teleportTarget.value,
1333
1378
  disabled: teleportDisabled.value
@@ -1347,7 +1392,7 @@ const _sfc_main$3 = /* @__PURE__ */ defineComponent({
1347
1392
  onClick: _cache[1] || (_cache[1] = withModifiers(() => {
1348
1393
  }, ["stop"]))
1349
1394
  }, [
1350
- createElementVNode("div", _hoisted_5$2, [
1395
+ createElementVNode("div", _hoisted_5$3, [
1351
1396
  (openBlock(true), createElementBlock(Fragment, null, renderList(__props.swatches, (color) => {
1352
1397
  return openBlock(), createElementBlock("button", {
1353
1398
  key: color,
@@ -1366,7 +1411,7 @@ const _sfc_main$3 = /* @__PURE__ */ defineComponent({
1366
1411
  ["#ffffff", "#f9fafb", "#f3f4f6", "#e5e7eb", "#eab308", "#f59e0b"].includes(color) ? "text-gray-800" : "text-white"
1367
1412
  ]])
1368
1413
  }, null, 8, ["class"])) : createCommentVNode("", true)
1369
- ], 14, _hoisted_6$2);
1414
+ ], 14, _hoisted_6$3);
1370
1415
  }), 128))
1371
1416
  ]),
1372
1417
  __props.showInput ? (openBlock(), createElementBlock("div", _hoisted_7$2, [
@@ -1401,16 +1446,16 @@ const _sfc_main$3 = /* @__PURE__ */ defineComponent({
1401
1446
  };
1402
1447
  }
1403
1448
  });
1404
- const _hoisted_1$2 = { class: "space-y-2" };
1405
- const _hoisted_2$2 = {
1449
+ const _hoisted_1$4 = { class: "space-y-2" };
1450
+ const _hoisted_2$3 = {
1406
1451
  key: 0,
1407
1452
  class: "flex justify-between text-sm font-medium text-gray-700 dark:text-gray-300"
1408
1453
  };
1409
- const _hoisted_3$2 = {
1454
+ const _hoisted_3$3 = {
1410
1455
  key: 1,
1411
1456
  class: "flex justify-between text-xs text-gray-500 dark:text-gray-400"
1412
1457
  };
1413
- const _sfc_main$2 = /* @__PURE__ */ defineComponent({
1458
+ const _sfc_main$4 = /* @__PURE__ */ defineComponent({
1414
1459
  __name: "RangeSlider",
1415
1460
  props: {
1416
1461
  modelValue: { default: () => [25, 75] },
@@ -1488,8 +1533,8 @@ const _sfc_main$2 = /* @__PURE__ */ defineComponent({
1488
1533
  }
1489
1534
  };
1490
1535
  return (_ctx, _cache) => {
1491
- return openBlock(), createElementBlock("div", _hoisted_1$2, [
1492
- __props.showLabels ? (openBlock(), createElementBlock("div", _hoisted_2$2, [
1536
+ return openBlock(), createElementBlock("div", _hoisted_1$4, [
1537
+ __props.showLabels ? (openBlock(), createElementBlock("div", _hoisted_2$3, [
1493
1538
  createElementVNode("span", null, toDisplayString(__props.formatLabel(minValue.value)), 1),
1494
1539
  createElementVNode("span", null, toDisplayString(__props.formatLabel(maxValue.value)), 1)
1495
1540
  ])) : createCommentVNode("", true),
@@ -1522,7 +1567,7 @@ const _sfc_main$2 = /* @__PURE__ */ defineComponent({
1522
1567
  onMousedown: _cache[1] || (_cache[1] = ($event) => handleMouseDown("max"))
1523
1568
  }, null, 38)
1524
1569
  ], 2),
1525
- __props.showMinMax ? (openBlock(), createElementBlock("div", _hoisted_3$2, [
1570
+ __props.showMinMax ? (openBlock(), createElementBlock("div", _hoisted_3$3, [
1526
1571
  createElementVNode("span", null, toDisplayString(__props.formatLabel(__props.min)), 1),
1527
1572
  createElementVNode("span", null, toDisplayString(__props.formatLabel(__props.max)), 1)
1528
1573
  ])) : createCommentVNode("", true)
@@ -1530,18 +1575,18 @@ const _sfc_main$2 = /* @__PURE__ */ defineComponent({
1530
1575
  };
1531
1576
  }
1532
1577
  });
1533
- const _hoisted_1$1 = ["aria-expanded", "aria-controls"];
1534
- const _hoisted_2$1 = ["id", "name", "placeholder", "disabled", "aria-controls"];
1535
- const _hoisted_3$1 = { class: "flex items-center gap-1" };
1536
- const _hoisted_4$1 = ["id", "aria-label", "aria-multiselectable"];
1537
- const _hoisted_5$1 = ["aria-selected", "aria-disabled", "disabled", "onClick"];
1538
- const _hoisted_6$1 = { class: "flex-1" };
1578
+ const _hoisted_1$3 = ["aria-expanded", "aria-controls"];
1579
+ const _hoisted_2$2 = ["id", "name", "placeholder", "disabled", "aria-controls"];
1580
+ const _hoisted_3$2 = { class: "flex items-center gap-1" };
1581
+ const _hoisted_4$2 = ["id", "aria-label", "aria-multiselectable"];
1582
+ const _hoisted_5$2 = ["aria-selected", "aria-disabled", "disabled", "onClick"];
1583
+ const _hoisted_6$2 = { class: "flex-1" };
1539
1584
  const _hoisted_7$1 = {
1540
1585
  key: 1,
1541
1586
  class: "px-3 py-2 text-center text-sm text-gray-500 dark:text-gray-400",
1542
1587
  role: "status"
1543
1588
  };
1544
- const _sfc_main$1 = /* @__PURE__ */ defineComponent({
1589
+ const _sfc_main$3 = /* @__PURE__ */ defineComponent({
1545
1590
  __name: "Combobox",
1546
1591
  props: {
1547
1592
  modelValue: {},
@@ -1672,10 +1717,10 @@ const _sfc_main$1 = /* @__PURE__ */ defineComponent({
1672
1717
  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",
1673
1718
  onClick: _cache[1] || (_cache[1] = withModifiers(() => {
1674
1719
  }, ["stop"]))
1675
- }, null, 8, _hoisted_2$1)), [
1720
+ }, null, 8, _hoisted_2$2)), [
1676
1721
  [vModelText, search.value]
1677
1722
  ]),
1678
- createElementVNode("div", _hoisted_3$1, [
1723
+ createElementVNode("div", _hoisted_3$2, [
1679
1724
  __props.clearable && selectedOptions.value.length > 0 && !__props.disabled ? (openBlock(), createElementBlock("button", {
1680
1725
  key: 0,
1681
1726
  type: "button",
@@ -1698,7 +1743,7 @@ const _sfc_main$1 = /* @__PURE__ */ defineComponent({
1698
1743
  "aria-hidden": "true"
1699
1744
  }, null, 8, ["class"])
1700
1745
  ])
1701
- ], 10, _hoisted_1$1),
1746
+ ], 10, _hoisted_1$3),
1702
1747
  (openBlock(), createBlock(Teleport, {
1703
1748
  to: teleportTarget.value,
1704
1749
  disabled: teleportDisabled.value
@@ -1748,16 +1793,16 @@ const _sfc_main$1 = /* @__PURE__ */ defineComponent({
1748
1793
  class: "size-3"
1749
1794
  })) : createCommentVNode("", true)
1750
1795
  ], 2)) : createCommentVNode("", true),
1751
- createElementVNode("span", _hoisted_6$1, toDisplayString(option.label), 1),
1796
+ createElementVNode("span", _hoisted_6$2, toDisplayString(option.label), 1),
1752
1797
  !__props.multiple && isSelected(option) ? (openBlock(), createBlock(unref(Icon), {
1753
1798
  key: 1,
1754
1799
  icon: "lucide:check",
1755
1800
  class: "size-4 text-primary",
1756
1801
  "aria-hidden": "true"
1757
1802
  })) : createCommentVNode("", true)
1758
- ], 10, _hoisted_5$1);
1803
+ ], 10, _hoisted_5$2);
1759
1804
  }), 128)) : (openBlock(), createElementBlock("div", _hoisted_7$1, toDisplayString(__props.noResultsText), 1))
1760
- ], 8, _hoisted_4$1)) : createCommentVNode("", true)
1805
+ ], 8, _hoisted_4$2)) : createCommentVNode("", true)
1761
1806
  ]),
1762
1807
  _: 1
1763
1808
  })
@@ -1766,18 +1811,18 @@ const _sfc_main$1 = /* @__PURE__ */ defineComponent({
1766
1811
  };
1767
1812
  }
1768
1813
  });
1769
- const _hoisted_1 = { class: "relative" };
1770
- const _hoisted_2 = {
1814
+ const _hoisted_1$2 = { class: "relative" };
1815
+ const _hoisted_2$1 = {
1771
1816
  key: 0,
1772
1817
  class: "text-red-500 ml-0.5"
1773
1818
  };
1774
- const _hoisted_3 = ["id", "disabled", "aria-invalid", "aria-describedby"];
1775
- const _hoisted_4 = {
1819
+ const _hoisted_3$1 = ["id", "disabled", "aria-invalid", "aria-describedby"];
1820
+ const _hoisted_4$1 = {
1776
1821
  key: 0,
1777
1822
  class: "flex items-center gap-2 flex-1"
1778
1823
  };
1779
- const _hoisted_5 = { class: "flex h-8 w-8 items-center justify-center rounded bg-gray-100 dark:bg-gray-800" };
1780
- const _hoisted_6 = { class: "text-gray-700 dark:text-gray-300 font-mono text-xs truncate" };
1824
+ const _hoisted_5$1 = { class: "flex size-8 items-center justify-center rounded bg-gray-100 dark:bg-gray-800" };
1825
+ const _hoisted_6$1 = { class: "text-gray-700 dark:text-gray-300 font-mono text-xs truncate" };
1781
1826
  const _hoisted_7 = {
1782
1827
  key: 1,
1783
1828
  class: "flex-1 text-gray-400 dark:text-gray-500"
@@ -1800,7 +1845,7 @@ const _hoisted_13 = {
1800
1845
  const _hoisted_14 = ["title", "onClick"];
1801
1846
  const _hoisted_15 = { class: "mt-4 flex items-center justify-between border-t border-gray-200 pt-4 dark:border-gray-700" };
1802
1847
  const _hoisted_16 = { class: "text-xs text-gray-500" };
1803
- const _sfc_main = /* @__PURE__ */ defineComponent({
1848
+ const _sfc_main$2 = /* @__PURE__ */ defineComponent({
1804
1849
  __name: "IconPicker",
1805
1850
  props: /* @__PURE__ */ mergeModels({
1806
1851
  label: {},
@@ -1924,15 +1969,15 @@ const _sfc_main = /* @__PURE__ */ defineComponent({
1924
1969
  searchQuery.value = "";
1925
1970
  }
1926
1971
  return (_ctx, _cache) => {
1927
- return openBlock(), createElementBlock("div", _hoisted_1, [
1928
- __props.label ? (openBlock(), createBlock(_sfc_main$e, {
1972
+ return openBlock(), createElementBlock("div", _hoisted_1$2, [
1973
+ __props.label ? (openBlock(), createBlock(_sfc_main$g, {
1929
1974
  key: 0,
1930
1975
  "html-for": inputId.value,
1931
1976
  error: __props.error
1932
1977
  }, {
1933
1978
  default: withCtx(() => [
1934
1979
  createTextVNode(toDisplayString(__props.label) + " ", 1),
1935
- __props.required ? (openBlock(), createElementBlock("span", _hoisted_2, "*")) : createCommentVNode("", true)
1980
+ __props.required ? (openBlock(), createElementBlock("span", _hoisted_2$1, "*")) : createCommentVNode("", true)
1936
1981
  ]),
1937
1982
  _: 1
1938
1983
  }, 8, ["html-for", "error"])) : createCommentVNode("", true),
@@ -1948,14 +1993,14 @@ const _sfc_main = /* @__PURE__ */ defineComponent({
1948
1993
  ]]),
1949
1994
  onClick: openPicker
1950
1995
  }, [
1951
- modelValue.value ? (openBlock(), createElementBlock("div", _hoisted_4, [
1952
- createElementVNode("div", _hoisted_5, [
1996
+ modelValue.value ? (openBlock(), createElementBlock("div", _hoisted_4$1, [
1997
+ createElementVNode("div", _hoisted_5$1, [
1953
1998
  createVNode(unref(Icon), {
1954
1999
  icon: modelValue.value,
1955
- class: "h-5 w-5 text-gray-700 dark:text-gray-300"
2000
+ class: "size-5 text-gray-700 dark:text-gray-300"
1956
2001
  }, null, 8, ["icon"])
1957
2002
  ]),
1958
- createElementVNode("span", _hoisted_6, toDisplayString(modelValue.value), 1)
2003
+ createElementVNode("span", _hoisted_6$1, toDisplayString(modelValue.value), 1)
1959
2004
  ])) : (openBlock(), createElementBlock("span", _hoisted_7, toDisplayString(__props.placeholder), 1)),
1960
2005
  modelValue.value && !__props.disabled ? (openBlock(), createElementBlock("button", {
1961
2006
  key: 2,
@@ -1965,15 +2010,15 @@ const _sfc_main = /* @__PURE__ */ defineComponent({
1965
2010
  }, [
1966
2011
  createVNode(unref(Icon), {
1967
2012
  icon: "lucide:x",
1968
- class: "h-4 w-4"
2013
+ class: "size-4"
1969
2014
  })
1970
2015
  ])) : createCommentVNode("", true),
1971
2016
  createVNode(unref(Icon), {
1972
2017
  icon: "lucide:chevron-down",
1973
- class: "h-4 w-4 text-gray-400"
2018
+ class: "size-4 text-gray-400"
1974
2019
  })
1975
- ], 10, _hoisted_3),
1976
- __props.help && !hasError.value ? (openBlock(), createBlock(_sfc_main$d, {
2020
+ ], 10, _hoisted_3$1),
2021
+ __props.help && !hasError.value ? (openBlock(), createBlock(_sfc_main$f, {
1977
2022
  key: 1,
1978
2023
  id: helpId.value
1979
2024
  }, {
@@ -1982,7 +2027,7 @@ const _sfc_main = /* @__PURE__ */ defineComponent({
1982
2027
  ]),
1983
2028
  _: 1
1984
2029
  }, 8, ["id"])) : createCommentVNode("", true),
1985
- hasError.value ? (openBlock(), createBlock(_sfc_main$d, {
2030
+ hasError.value ? (openBlock(), createBlock(_sfc_main$f, {
1986
2031
  key: 2,
1987
2032
  id: helpId.value,
1988
2033
  error: true
@@ -2006,7 +2051,7 @@ const _sfc_main = /* @__PURE__ */ defineComponent({
2006
2051
  createElementVNode("div", _hoisted_8, [
2007
2052
  createVNode(unref(Icon), {
2008
2053
  icon: "lucide:search",
2009
- class: "absolute left-3 top-1/2 h-4 w-4 -translate-y-1/2 text-gray-400"
2054
+ class: "absolute left-3 top-1/2 size-4 -translate-y-1/2 text-gray-400"
2010
2055
  }),
2011
2056
  withDirectives(createElementVNode("input", {
2012
2057
  "onUpdate:modelValue": _cache[0] || (_cache[0] = ($event) => searchQuery.value = $event),
@@ -2020,7 +2065,7 @@ const _sfc_main = /* @__PURE__ */ defineComponent({
2020
2065
  isLoading.value ? (openBlock(), createElementBlock("div", _hoisted_10, [
2021
2066
  createVNode(unref(Icon), {
2022
2067
  icon: "lucide:loader-2",
2023
- class: "h-4 w-4 animate-spin text-gray-400"
2068
+ class: "size-4 animate-spin text-gray-400"
2024
2069
  })
2025
2070
  ])) : createCommentVNode("", true)
2026
2071
  ]),
@@ -2030,7 +2075,7 @@ const _sfc_main = /* @__PURE__ */ defineComponent({
2030
2075
  return openBlock(), createElementBlock("button", {
2031
2076
  key: icon,
2032
2077
  type: "button",
2033
- class: normalizeClass(["flex h-9 w-9 items-center justify-center rounded transition-colors", [
2078
+ class: normalizeClass(["flex size-9 items-center justify-center rounded transition-colors", [
2034
2079
  modelValue.value === icon ? "bg-primary text-white" : "hover:bg-gray-100 dark:hover:bg-gray-800 text-gray-700 dark:text-gray-300"
2035
2080
  ]]),
2036
2081
  title: icon,
@@ -2038,7 +2083,7 @@ const _sfc_main = /* @__PURE__ */ defineComponent({
2038
2083
  }, [
2039
2084
  createVNode(unref(Icon), {
2040
2085
  icon,
2041
- class: "h-5 w-5"
2086
+ class: "size-5"
2042
2087
  }, null, 8, ["icon"])
2043
2088
  ], 10, _hoisted_14);
2044
2089
  }), 128))
@@ -2059,21 +2104,215 @@ const _sfc_main = /* @__PURE__ */ defineComponent({
2059
2104
  };
2060
2105
  }
2061
2106
  });
2107
+ const _hoisted_1$1 = { class: "flex items-center justify-between" };
2108
+ const _hoisted_2 = { class: "flex items-center gap-3" };
2109
+ const _hoisted_3 = { class: "text-lg font-semibold text-gray-900 dark:text-white" };
2110
+ const _hoisted_4 = {
2111
+ key: 0,
2112
+ class: "text-sm text-gray-500 dark:text-gray-400"
2113
+ };
2114
+ const _hoisted_5 = { class: "p-5 sm:p-6" };
2115
+ const _hoisted_6 = {
2116
+ key: 0,
2117
+ class: "px-5 py-4 bg-gray-50 dark:bg-slate-800/50 border-t border-gray-100 dark:border-slate-700"
2118
+ };
2119
+ const _sfc_main$1 = /* @__PURE__ */ defineComponent({
2120
+ __name: "FormSection",
2121
+ props: /* @__PURE__ */ mergeModels({
2122
+ title: {},
2123
+ subtitle: {},
2124
+ icon: {},
2125
+ iconColor: { default: "primary" },
2126
+ bordered: { type: Boolean, default: true },
2127
+ collapsible: { type: Boolean, default: false },
2128
+ collapsed: { type: Boolean, default: false }
2129
+ }, {
2130
+ "collapsed": { type: Boolean, ...{ default: false } },
2131
+ "collapsedModifiers": {}
2132
+ }),
2133
+ emits: ["update:collapsed"],
2134
+ setup(__props) {
2135
+ const isCollapsed = useModel(__props, "collapsed");
2136
+ function toggleCollapse() {
2137
+ isCollapsed.value = !isCollapsed.value;
2138
+ }
2139
+ return (_ctx, _cache) => {
2140
+ return openBlock(), createElementBlock("div", {
2141
+ class: normalizeClass([
2142
+ "bg-white dark:bg-slate-800 rounded-2xl overflow-hidden",
2143
+ __props.bordered && "border border-gray-100 dark:border-slate-700 shadow-sm"
2144
+ ])
2145
+ }, [
2146
+ createElementVNode("div", {
2147
+ class: normalizeClass([
2148
+ "p-5 border-b border-gray-100 dark:border-slate-700 bg-linear-to-r from-gray-50 to-white dark:from-slate-800 dark:to-slate-800",
2149
+ __props.collapsible && "cursor-pointer hover:bg-gray-50 dark:hover:bg-slate-700/50 transition-colors"
2150
+ ]),
2151
+ onClick: _cache[0] || (_cache[0] = ($event) => __props.collapsible && toggleCollapse())
2152
+ }, [
2153
+ createElementVNode("div", _hoisted_1$1, [
2154
+ createElementVNode("div", _hoisted_2, [
2155
+ __props.icon ? (openBlock(), createElementBlock("div", {
2156
+ key: 0,
2157
+ class: normalizeClass([
2158
+ "size-10 rounded-xl flex items-center justify-center",
2159
+ __props.iconColor === "primary" && "bg-primary-100 dark:bg-primary-900/30",
2160
+ __props.iconColor === "gray" && "bg-gray-100 dark:bg-slate-700",
2161
+ __props.iconColor === "success" && "bg-emerald-100 dark:bg-emerald-900/30",
2162
+ __props.iconColor === "warning" && "bg-amber-100 dark:bg-amber-900/30",
2163
+ __props.iconColor === "danger" && "bg-red-100 dark:bg-red-900/30"
2164
+ ])
2165
+ }, [
2166
+ createVNode(unref(Icon), {
2167
+ icon: __props.icon,
2168
+ class: normalizeClass([
2169
+ "size-5",
2170
+ __props.iconColor === "primary" && "text-primary-600 dark:text-primary-400",
2171
+ __props.iconColor === "gray" && "text-gray-600 dark:text-gray-400",
2172
+ __props.iconColor === "success" && "text-emerald-600 dark:text-emerald-400",
2173
+ __props.iconColor === "warning" && "text-amber-600 dark:text-amber-400",
2174
+ __props.iconColor === "danger" && "text-red-600 dark:text-red-400"
2175
+ ])
2176
+ }, null, 8, ["icon", "class"])
2177
+ ], 2)) : createCommentVNode("", true),
2178
+ createElementVNode("div", null, [
2179
+ createElementVNode("h2", _hoisted_3, [
2180
+ renderSlot(_ctx.$slots, "title", {}, () => [
2181
+ createTextVNode(toDisplayString(__props.title), 1)
2182
+ ])
2183
+ ]),
2184
+ __props.subtitle ? (openBlock(), createElementBlock("p", _hoisted_4, [
2185
+ renderSlot(_ctx.$slots, "subtitle", {}, () => [
2186
+ createTextVNode(toDisplayString(__props.subtitle), 1)
2187
+ ])
2188
+ ])) : createCommentVNode("", true)
2189
+ ])
2190
+ ]),
2191
+ __props.collapsible ? (openBlock(), createElementBlock("button", {
2192
+ key: 0,
2193
+ type: "button",
2194
+ class: "p-2 rounded-lg hover:bg-gray-100 dark:hover:bg-slate-700 transition-colors",
2195
+ onClick: withModifiers(toggleCollapse, ["stop"])
2196
+ }, [
2197
+ createVNode(unref(Icon), {
2198
+ icon: "heroicons:chevron-down",
2199
+ class: normalizeClass([
2200
+ "w-5 h-5 text-gray-400 transition-transform duration-200",
2201
+ isCollapsed.value && "-rotate-90"
2202
+ ])
2203
+ }, null, 8, ["class"])
2204
+ ])) : createCommentVNode("", true),
2205
+ renderSlot(_ctx.$slots, "header-actions")
2206
+ ])
2207
+ ], 2),
2208
+ withDirectives(createElementVNode("div", _hoisted_5, [
2209
+ renderSlot(_ctx.$slots, "default")
2210
+ ], 512), [
2211
+ [vShow, !isCollapsed.value]
2212
+ ]),
2213
+ _ctx.$slots.footer ? withDirectives((openBlock(), createElementBlock("div", _hoisted_6, [
2214
+ renderSlot(_ctx.$slots, "footer")
2215
+ ], 512)), [
2216
+ [vShow, !isCollapsed.value]
2217
+ ]) : createCommentVNode("", true)
2218
+ ], 2);
2219
+ };
2220
+ }
2221
+ });
2222
+ const _hoisted_1 = { key: 1 };
2223
+ const _sfc_main = /* @__PURE__ */ defineComponent({
2224
+ __name: "FormActions",
2225
+ props: {
2226
+ submitLabel: { default: "Enregistrer" },
2227
+ cancelLabel: { default: "Annuler" },
2228
+ submitIcon: { default: "heroicons:check" },
2229
+ cancelIcon: { default: "heroicons:x-mark" },
2230
+ loading: { type: Boolean },
2231
+ loadingLabel: {},
2232
+ disabled: { type: Boolean },
2233
+ showCancel: { type: Boolean, default: true },
2234
+ align: { default: "right" },
2235
+ stackOnMobile: { type: Boolean, default: false },
2236
+ submitVariant: { default: "primary" }
2237
+ },
2238
+ emits: ["submit", "cancel"],
2239
+ setup(__props, { emit: __emit }) {
2240
+ const emit = __emit;
2241
+ return (_ctx, _cache) => {
2242
+ return openBlock(), createElementBlock("div", {
2243
+ class: normalizeClass([
2244
+ "flex gap-3 pt-2",
2245
+ __props.align === "left" && "justify-start",
2246
+ __props.align === "center" && "justify-center",
2247
+ __props.align === "right" && "justify-end",
2248
+ __props.align === "stretch" && "[&>*]:flex-1",
2249
+ __props.stackOnMobile && "flex-col sm:flex-row"
2250
+ ])
2251
+ }, [
2252
+ __props.showCancel ? (openBlock(), createBlock(_sfc_main$h, {
2253
+ key: 0,
2254
+ type: "button",
2255
+ variant: "outline",
2256
+ disabled: __props.loading,
2257
+ class: normalizeClass([
2258
+ __props.stackOnMobile && "order-2 sm:order-1"
2259
+ ]),
2260
+ onClick: _cache[0] || (_cache[0] = ($event) => emit("cancel"))
2261
+ }, {
2262
+ default: withCtx(() => [
2263
+ __props.cancelIcon ? (openBlock(), createBlock(unref(Icon), {
2264
+ key: 0,
2265
+ icon: __props.cancelIcon,
2266
+ class: "w-5 h-5"
2267
+ }, null, 8, ["icon"])) : createCommentVNode("", true),
2268
+ createTextVNode(" " + toDisplayString(__props.cancelLabel), 1)
2269
+ ]),
2270
+ _: 1
2271
+ }, 8, ["disabled", "class"])) : createCommentVNode("", true),
2272
+ createVNode(_sfc_main$h, {
2273
+ type: "submit",
2274
+ variant: __props.submitVariant,
2275
+ disabled: __props.disabled || __props.loading,
2276
+ loading: __props.loading,
2277
+ class: normalizeClass([
2278
+ __props.stackOnMobile && "order-1 sm:order-2"
2279
+ ]),
2280
+ onClick: _cache[1] || (_cache[1] = ($event) => emit("submit"))
2281
+ }, {
2282
+ default: withCtx(() => [
2283
+ !__props.loading ? (openBlock(), createElementBlock(Fragment, { key: 0 }, [
2284
+ __props.submitIcon ? (openBlock(), createBlock(unref(Icon), {
2285
+ key: 0,
2286
+ icon: __props.submitIcon,
2287
+ class: "w-5 h-5"
2288
+ }, null, 8, ["icon"])) : createCommentVNode("", true),
2289
+ createTextVNode(" " + toDisplayString(__props.submitLabel), 1)
2290
+ ], 64)) : (openBlock(), createElementBlock("span", _hoisted_1, toDisplayString(__props.loadingLabel || __props.submitLabel + "..."), 1))
2291
+ ]),
2292
+ _: 1
2293
+ }, 8, ["variant", "disabled", "loading", "class"]),
2294
+ renderSlot(_ctx.$slots, "extra")
2295
+ ], 2);
2296
+ };
2297
+ }
2298
+ });
2062
2299
  export {
2063
2300
  Slider as S,
2064
- _sfc_main$e as _,
2065
- _sfc_main$d as a,
2066
- _sfc_main$c as b,
2067
- _sfc_main$b as c,
2068
- _sfc_main$a as d,
2069
- _sfc_main$9 as e,
2070
- _sfc_main$8 as f,
2071
- _sfc_main$6 as g,
2072
- _sfc_main$5 as h,
2073
- _sfc_main$4 as i,
2074
- _sfc_main$3 as j,
2075
- _sfc_main$2 as k,
2076
- _sfc_main$1 as l,
2077
- _sfc_main as m
2301
+ _sfc_main$g as _,
2302
+ _sfc_main$f as a,
2303
+ _sfc_main$e as b,
2304
+ _sfc_main$d as c,
2305
+ _sfc_main$c as d,
2306
+ _sfc_main$b as e,
2307
+ _sfc_main$a as f,
2308
+ _sfc_main$8 as g,
2309
+ _sfc_main$7 as h,
2310
+ _sfc_main$6 as i,
2311
+ _sfc_main$5 as j,
2312
+ _sfc_main$4 as k,
2313
+ _sfc_main$3 as l,
2314
+ _sfc_main$2 as m,
2315
+ _sfc_main$1 as n,
2316
+ _sfc_main as o
2078
2317
  };
2079
- //# sourceMappingURL=IconPicker.vue_vue_type_script_setup_true_lang-Ch1x6Ap9.js.map
2318
+ //# sourceMappingURL=FormActions.vue_vue_type_script_setup_true_lang-d2aur5Pu.js.map