cisse-vue-ui 0.10.1 → 1.0.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (72) hide show
  1. package/dist/{CheckboxGroup.vue_vue_type_script_setup_true_lang-ZP02bMgY.js → CheckboxGroup.vue_vue_type_script_setup_true_lang-CZ4Sox5V.js} +409 -169
  2. package/dist/CheckboxGroup.vue_vue_type_script_setup_true_lang-CZ4Sox5V.js.map +1 -0
  3. package/dist/{CheckboxGroup.vue_vue_type_script_setup_true_lang-BC86pBlY.cjs → CheckboxGroup.vue_vue_type_script_setup_true_lang-DGGefZ7m.cjs} +406 -166
  4. package/dist/CheckboxGroup.vue_vue_type_script_setup_true_lang-DGGefZ7m.cjs.map +1 -0
  5. package/dist/{FilterTabs.vue_vue_type_script_setup_true_lang-CwcJkw3D.cjs → DataList.vue_vue_type_script_setup_true_lang-MshUshzx.cjs} +477 -221
  6. package/dist/DataList.vue_vue_type_script_setup_true_lang-MshUshzx.cjs.map +1 -0
  7. package/dist/{FilterTabs.vue_vue_type_script_setup_true_lang-aPs8YGWB.js → DataList.vue_vue_type_script_setup_true_lang-e5XO82_b.js} +498 -242
  8. package/dist/DataList.vue_vue_type_script_setup_true_lang-e5XO82_b.js.map +1 -0
  9. package/dist/{Dropdown.vue_vue_type_script_setup_true_lang-BAKGRZIb.cjs → Dropdown.vue_vue_type_script_setup_true_lang-BeCEo4vl.cjs} +30 -12
  10. package/dist/Dropdown.vue_vue_type_script_setup_true_lang-BeCEo4vl.cjs.map +1 -0
  11. package/dist/{Dropdown.vue_vue_type_script_setup_true_lang-GLCX7E3C.js → Dropdown.vue_vue_type_script_setup_true_lang-DIzyh_AZ.js} +31 -13
  12. package/dist/Dropdown.vue_vue_type_script_setup_true_lang-DIzyh_AZ.js.map +1 -0
  13. package/dist/{PageHero.vue_vue_type_script_setup_true_lang-BqwBJlv0.cjs → PageHero.vue_vue_type_script_setup_true_lang-8fMdvVcY.cjs} +2 -2
  14. package/dist/{PageHero.vue_vue_type_script_setup_true_lang-BqwBJlv0.cjs.map → PageHero.vue_vue_type_script_setup_true_lang-8fMdvVcY.cjs.map} +1 -1
  15. package/dist/{PageHero.vue_vue_type_script_setup_true_lang-by-P5wIB.js → PageHero.vue_vue_type_script_setup_true_lang-CeNM9vr4.js} +2 -2
  16. package/dist/{PageHero.vue_vue_type_script_setup_true_lang-by-P5wIB.js.map → PageHero.vue_vue_type_script_setup_true_lang-CeNM9vr4.js.map} +1 -1
  17. package/dist/components/core/Divider.stories.d.ts +13 -0
  18. package/dist/components/core/Divider.test.d.ts +1 -0
  19. package/dist/components/core/Divider.vue.d.ts +24 -0
  20. package/dist/components/core/Drawer.vue.d.ts +2 -0
  21. package/dist/components/core/Menu.stories.d.ts +11 -0
  22. package/dist/components/core/Menu.test.d.ts +1 -0
  23. package/dist/components/core/Menu.vue.d.ts +30 -0
  24. package/dist/components/core/MenuItem.vue.d.ts +12 -0
  25. package/dist/components/core/datalist/DataList.stories.d.ts +12 -0
  26. package/dist/components/core/datalist/DataList.test.d.ts +1 -0
  27. package/dist/components/core/datalist/DataList.vue.d.ts +39 -0
  28. package/dist/components/core/datalist/DataListItem.vue.d.ts +33 -0
  29. package/dist/components/core/datalist/DataListLabel.vue.d.ts +26 -0
  30. package/dist/components/core/datalist/DataListValue.vue.d.ts +26 -0
  31. package/dist/components/core/datalist/index.d.ts +5 -0
  32. package/dist/components/core/index.cjs +50 -43
  33. package/dist/components/core/index.cjs.map +1 -1
  34. package/dist/components/core/index.d.ts +7 -0
  35. package/dist/components/core/index.js +28 -21
  36. package/dist/components/form/Form.stories.d.ts +11 -0
  37. package/dist/components/form/Form.test.d.ts +1 -0
  38. package/dist/components/form/Form.vue.d.ts +55 -0
  39. package/dist/components/form/FormSection.vue.d.ts +1 -1
  40. package/dist/components/form/InputGroup.stories.d.ts +12 -0
  41. package/dist/components/form/InputGroup.test.d.ts +1 -0
  42. package/dist/components/form/InputGroup.vue.d.ts +32 -0
  43. package/dist/components/form/Option.vue.d.ts +27 -0
  44. package/dist/components/form/Select.stories.d.ts +13 -0
  45. package/dist/components/form/Select.test.d.ts +1 -0
  46. package/dist/components/form/Select.vue.d.ts +53 -0
  47. package/dist/components/form/index.cjs +33 -29
  48. package/dist/components/form/index.cjs.map +1 -1
  49. package/dist/components/form/index.d.ts +7 -0
  50. package/dist/components/form/index.js +33 -29
  51. package/dist/components/index.cjs +84 -73
  52. package/dist/components/index.cjs.map +1 -1
  53. package/dist/components/index.js +64 -53
  54. package/dist/components/layout/index.cjs +1 -1
  55. package/dist/components/layout/index.js +1 -1
  56. package/dist/index-BNqdYSNO.js +127 -0
  57. package/dist/{index-D-VE0o-l.js.map → index-BNqdYSNO.js.map} +1 -1
  58. package/dist/{index-CKd33NtQ.cjs → index-DJ2WIWY-.cjs} +85 -74
  59. package/dist/{index-CKd33NtQ.cjs.map → index-DJ2WIWY-.cjs.map} +1 -1
  60. package/dist/index.cjs +85 -74
  61. package/dist/index.cjs.map +1 -1
  62. package/dist/index.js +65 -54
  63. package/dist/style.css +1 -1
  64. package/dist/types/components.d.ts +10 -0
  65. package/package.json +1 -1
  66. package/dist/CheckboxGroup.vue_vue_type_script_setup_true_lang-BC86pBlY.cjs.map +0 -1
  67. package/dist/CheckboxGroup.vue_vue_type_script_setup_true_lang-ZP02bMgY.js.map +0 -1
  68. package/dist/Dropdown.vue_vue_type_script_setup_true_lang-BAKGRZIb.cjs.map +0 -1
  69. package/dist/Dropdown.vue_vue_type_script_setup_true_lang-GLCX7E3C.js.map +0 -1
  70. package/dist/FilterTabs.vue_vue_type_script_setup_true_lang-CwcJkw3D.cjs.map +0 -1
  71. package/dist/FilterTabs.vue_vue_type_script_setup_true_lang-aPs8YGWB.js.map +0 -1
  72. package/dist/index-D-VE0o-l.js +0 -116
@@ -1,14 +1,162 @@
1
1
  "use strict";
2
2
  const vue = require("vue");
3
- const useId = require("./useId-nxrBaIC9.cjs");
4
3
  const vue$1 = require("@iconify/vue");
5
- const useDropdown = require("./useDropdown-HI7ABBLe.cjs");
4
+ const Button_vue_vue_type_script_setup_true_lang = require("./Button.vue_vue_type_script_setup_true_lang-CXRj7LEP.cjs");
6
5
  const useInputStyles = require("./useInputStyles-DMfvW6N5.cjs");
6
+ const useId = require("./useId-nxrBaIC9.cjs");
7
+ const useDropdown = require("./useDropdown-HI7ABBLe.cjs");
7
8
  const _pluginVue_exportHelper = require("./_plugin-vue_export-helper-DM9IkUGy.cjs");
8
9
  const index = require("./index-D1x3TH9k.cjs");
9
- const Button_vue_vue_type_script_setup_true_lang = require("./Button.vue_vue_type_script_setup_true_lang-CXRj7LEP.cjs");
10
- const _hoisted_1$t = ["data-error", "for"];
11
- const _sfc_main$t = /* @__PURE__ */ vue.defineComponent({
10
+ const _hoisted_1$w = { key: 1 };
11
+ const _sfc_main$x = /* @__PURE__ */ vue.defineComponent({
12
+ __name: "FormActions",
13
+ props: {
14
+ submitLabel: { default: "Enregistrer" },
15
+ cancelLabel: { default: "Annuler" },
16
+ submitIcon: { default: "heroicons:check" },
17
+ cancelIcon: { default: "heroicons:x-mark" },
18
+ loading: { type: Boolean },
19
+ loadingLabel: {},
20
+ disabled: { type: Boolean },
21
+ showCancel: { type: Boolean, default: true },
22
+ align: { default: "right" },
23
+ stackOnMobile: { type: Boolean, default: false },
24
+ submitVariant: { default: "primary" }
25
+ },
26
+ emits: ["submit", "cancel"],
27
+ setup(__props, { emit: __emit }) {
28
+ const emit = __emit;
29
+ return (_ctx, _cache) => {
30
+ return vue.openBlock(), vue.createElementBlock("div", {
31
+ class: vue.normalizeClass([
32
+ "flex gap-3 pt-2",
33
+ __props.align === "left" && "justify-start",
34
+ __props.align === "center" && "justify-center",
35
+ __props.align === "right" && "justify-end",
36
+ __props.align === "stretch" && "[&>*]:flex-1",
37
+ __props.stackOnMobile && "flex-col sm:flex-row"
38
+ ])
39
+ }, [
40
+ __props.showCancel ? (vue.openBlock(), vue.createBlock(Button_vue_vue_type_script_setup_true_lang._sfc_main, {
41
+ key: 0,
42
+ type: "button",
43
+ variant: "outline",
44
+ disabled: __props.loading,
45
+ class: vue.normalizeClass([
46
+ __props.stackOnMobile && "order-2 sm:order-1"
47
+ ]),
48
+ onClick: _cache[0] || (_cache[0] = ($event) => emit("cancel"))
49
+ }, {
50
+ default: vue.withCtx(() => [
51
+ __props.cancelIcon ? (vue.openBlock(), vue.createBlock(vue.unref(vue$1.Icon), {
52
+ key: 0,
53
+ icon: __props.cancelIcon,
54
+ class: "w-5 h-5"
55
+ }, null, 8, ["icon"])) : vue.createCommentVNode("", true),
56
+ vue.createTextVNode(" " + vue.toDisplayString(__props.cancelLabel), 1)
57
+ ]),
58
+ _: 1
59
+ }, 8, ["disabled", "class"])) : vue.createCommentVNode("", true),
60
+ vue.createVNode(Button_vue_vue_type_script_setup_true_lang._sfc_main, {
61
+ type: "submit",
62
+ variant: __props.submitVariant,
63
+ disabled: __props.disabled || __props.loading,
64
+ loading: __props.loading,
65
+ class: vue.normalizeClass([
66
+ __props.stackOnMobile && "order-1 sm:order-2"
67
+ ]),
68
+ onClick: _cache[1] || (_cache[1] = ($event) => emit("submit"))
69
+ }, {
70
+ default: vue.withCtx(() => [
71
+ !__props.loading ? (vue.openBlock(), vue.createElementBlock(vue.Fragment, { key: 0 }, [
72
+ __props.submitIcon ? (vue.openBlock(), vue.createBlock(vue.unref(vue$1.Icon), {
73
+ key: 0,
74
+ icon: __props.submitIcon,
75
+ class: "w-5 h-5"
76
+ }, null, 8, ["icon"])) : vue.createCommentVNode("", true),
77
+ vue.createTextVNode(" " + vue.toDisplayString(__props.submitLabel), 1)
78
+ ], 64)) : (vue.openBlock(), vue.createElementBlock("span", _hoisted_1$w, vue.toDisplayString(__props.loadingLabel || __props.submitLabel + "..."), 1))
79
+ ]),
80
+ _: 1
81
+ }, 8, ["variant", "disabled", "loading", "class"]),
82
+ vue.renderSlot(_ctx.$slots, "extra")
83
+ ], 2);
84
+ };
85
+ }
86
+ });
87
+ const _hoisted_1$v = {
88
+ key: 0,
89
+ class: "pb-5 mb-5"
90
+ };
91
+ const _hoisted_2$k = {
92
+ key: 0,
93
+ class: "text-base/7 font-semibold text-gray-900 dark:text-gray-100"
94
+ };
95
+ const _hoisted_3$i = {
96
+ key: 1,
97
+ class: "mt-1 max-w-2xl text-sm/6 text-gray-600 dark:text-gray-400"
98
+ };
99
+ const _hoisted_4$e = {
100
+ key: 1,
101
+ class: "border-t border-gray-900/10 dark:border-gray-100/10 pt-5 mt-5"
102
+ };
103
+ const _sfc_main$w = /* @__PURE__ */ vue.defineComponent({
104
+ __name: "Form",
105
+ props: {
106
+ title: {},
107
+ description: {},
108
+ layout: { default: "vertical" },
109
+ divide: { type: Boolean, default: false },
110
+ hideFooter: { type: Boolean, default: false },
111
+ submitLabel: { default: "Enregistrer" },
112
+ cancelLabel: { default: "Annuler" },
113
+ loading: { type: Boolean },
114
+ disabled: { type: Boolean },
115
+ cols: { default: 12 }
116
+ },
117
+ emits: ["submit", "cancel"],
118
+ setup(__props, { emit: __emit }) {
119
+ const emit = __emit;
120
+ function handleSubmit(event) {
121
+ event.preventDefault();
122
+ emit("submit", event);
123
+ }
124
+ return (_ctx, _cache) => {
125
+ return vue.openBlock(), vue.createElementBlock("form", { onSubmit: handleSubmit }, [
126
+ __props.title || __props.description || _ctx.$slots.header ? (vue.openBlock(), vue.createElementBlock("div", _hoisted_1$v, [
127
+ vue.renderSlot(_ctx.$slots, "header", {}, () => [
128
+ __props.title ? (vue.openBlock(), vue.createElementBlock("h2", _hoisted_2$k, vue.toDisplayString(__props.title), 1)) : vue.createCommentVNode("", true),
129
+ __props.description ? (vue.openBlock(), vue.createElementBlock("p", _hoisted_3$i, vue.toDisplayString(__props.description), 1)) : vue.createCommentVNode("", true)
130
+ ])
131
+ ])) : vue.createCommentVNode("", true),
132
+ vue.createElementVNode("div", {
133
+ class: vue.normalizeClass([
134
+ "grid gap-6",
135
+ __props.layout === "horizontal" && "sm:grid-cols-12 gap-x-6 gap-y-8",
136
+ __props.layout === "vertical" && `grid-cols-${__props.cols}`,
137
+ __props.divide && "sm:divide-y sm:divide-gray-900/10 dark:sm:divide-gray-100/10"
138
+ ]),
139
+ style: vue.normalizeStyle(__props.layout === "vertical" ? { gridTemplateColumns: `repeat(${__props.cols}, minmax(0, 1fr))` } : void 0)
140
+ }, [
141
+ vue.renderSlot(_ctx.$slots, "default")
142
+ ], 6),
143
+ !__props.hideFooter || _ctx.$slots.footer ? (vue.openBlock(), vue.createElementBlock("div", _hoisted_4$e, [
144
+ vue.renderSlot(_ctx.$slots, "footer", {}, () => [
145
+ vue.createVNode(_sfc_main$x, {
146
+ "submit-label": __props.submitLabel,
147
+ "cancel-label": __props.cancelLabel,
148
+ loading: __props.loading,
149
+ disabled: __props.disabled,
150
+ onCancel: _cache[0] || (_cache[0] = ($event) => emit("cancel"))
151
+ }, null, 8, ["submit-label", "cancel-label", "loading", "disabled"])
152
+ ])
153
+ ])) : vue.createCommentVNode("", true)
154
+ ], 32);
155
+ };
156
+ }
157
+ });
158
+ const _hoisted_1$u = ["data-error", "for"];
159
+ const _sfc_main$v = /* @__PURE__ */ vue.defineComponent({
12
160
  __name: "FormLabel",
13
161
  props: {
14
162
  error: { type: [String, Boolean] },
@@ -22,12 +170,12 @@ const _sfc_main$t = /* @__PURE__ */ vue.defineComponent({
22
170
  class: "block text-sm font-medium text-gray-700 data-[error=true]:text-red-500 dark:text-gray-300"
23
171
  }, [
24
172
  vue.renderSlot(_ctx.$slots, "default")
25
- ], 8, _hoisted_1$t);
173
+ ], 8, _hoisted_1$u);
26
174
  };
27
175
  }
28
176
  });
29
- const _hoisted_1$s = ["id", "data-error", "role", "aria-live"];
30
- const _sfc_main$s = /* @__PURE__ */ vue.defineComponent({
177
+ const _hoisted_1$t = ["id", "data-error", "role", "aria-live"];
178
+ const _sfc_main$u = /* @__PURE__ */ vue.defineComponent({
31
179
  __name: "FormHelp",
32
180
  props: {
33
181
  id: {},
@@ -46,19 +194,19 @@ const _sfc_main$s = /* @__PURE__ */ vue.defineComponent({
46
194
  vue.renderSlot(_ctx.$slots, "default", {}, () => [
47
195
  vue.createTextVNode(vue.toDisplayString(__props.text ?? ""), 1)
48
196
  ])
49
- ], 8, _hoisted_1$s);
197
+ ], 8, _hoisted_1$t);
50
198
  };
51
199
  }
52
200
  });
53
- const _hoisted_1$r = {
201
+ const _hoisted_1$s = {
54
202
  key: 0,
55
203
  class: "absolute left-3 top-1/2 -translate-y-1/2 pointer-events-none text-gray-400"
56
204
  };
57
- const _hoisted_2$i = {
205
+ const _hoisted_2$j = {
58
206
  key: 1,
59
207
  class: "absolute right-3 top-1/2 -translate-y-1/2 flex items-center gap-1"
60
208
  };
61
- const _sfc_main$r = /* @__PURE__ */ vue.defineComponent({
209
+ const _sfc_main$t = /* @__PURE__ */ vue.defineComponent({
62
210
  __name: "InputWrapper",
63
211
  props: {
64
212
  icon: {},
@@ -87,7 +235,7 @@ const _sfc_main$r = /* @__PURE__ */ vue.defineComponent({
87
235
  return vue.openBlock(), vue.createElementBlock("div", {
88
236
  class: vue.normalizeClass(["relative", __props.wrapperClass])
89
237
  }, [
90
- hasLeftIcon.value ? (vue.openBlock(), vue.createElementBlock("div", _hoisted_1$r, [
238
+ hasLeftIcon.value ? (vue.openBlock(), vue.createElementBlock("div", _hoisted_1$s, [
91
239
  vue.renderSlot(_ctx.$slots, "icon", {}, () => [
92
240
  __props.icon ? (vue.openBlock(), vue.createBlock(vue.unref(vue$1.Icon), {
93
241
  key: 0,
@@ -97,7 +245,7 @@ const _sfc_main$r = /* @__PURE__ */ vue.defineComponent({
97
245
  ])
98
246
  ])) : vue.createCommentVNode("", true),
99
247
  vue.renderSlot(_ctx.$slots, "default", { inputClass: vue.unref(inputClass) }),
100
- hasRightContent.value ? (vue.openBlock(), vue.createElementBlock("div", _hoisted_2$i, [
248
+ hasRightContent.value ? (vue.openBlock(), vue.createElementBlock("div", _hoisted_2$j, [
101
249
  vue.renderSlot(_ctx.$slots, "actions", {}, () => [
102
250
  __props.iconRight ? (vue.openBlock(), vue.createBlock(vue.unref(vue$1.Icon), {
103
251
  key: 0,
@@ -110,8 +258,8 @@ const _sfc_main$r = /* @__PURE__ */ vue.defineComponent({
110
258
  };
111
259
  }
112
260
  });
113
- const _hoisted_1$q = ["id", "disabled", "name", "placeholder", "type", "required", "aria-invalid", "aria-required", "aria-describedby"];
114
- const _sfc_main$q = /* @__PURE__ */ vue.defineComponent({
261
+ const _hoisted_1$r = ["id", "disabled", "name", "placeholder", "type", "required", "aria-invalid", "aria-required", "aria-describedby"];
262
+ const _sfc_main$s = /* @__PURE__ */ vue.defineComponent({
115
263
  ...{
116
264
  inheritAttrs: false
117
265
  },
@@ -137,7 +285,7 @@ const _sfc_main$q = /* @__PURE__ */ vue.defineComponent({
137
285
  const props = __props;
138
286
  const modelValue = vue.useModel(__props, "modelValue");
139
287
  return (_ctx, _cache) => {
140
- return vue.openBlock(), vue.createBlock(_sfc_main$r, {
288
+ return vue.openBlock(), vue.createBlock(_sfc_main$t, {
141
289
  icon: props.icon,
142
290
  "icon-right": props.iconRight,
143
291
  disabled: props.disabled,
@@ -156,7 +304,7 @@ const _sfc_main$q = /* @__PURE__ */ vue.defineComponent({
156
304
  "aria-required": props.required || void 0,
157
305
  "aria-describedby": props.describedBy || void 0,
158
306
  class: inputClass
159
- }, _ctx.$attrs), null, 16, _hoisted_1$q), [
307
+ }, _ctx.$attrs), null, 16, _hoisted_1$r), [
160
308
  [vue.vModelDynamic, modelValue.value]
161
309
  ])
162
310
  ]),
@@ -165,10 +313,10 @@ const _sfc_main$q = /* @__PURE__ */ vue.defineComponent({
165
313
  };
166
314
  }
167
315
  });
168
- const _hoisted_1$p = { class: "relative" };
169
- const _hoisted_2$h = ["id", "disabled", "aria-expanded", "aria-controls", "aria-invalid", "aria-describedby"];
170
- const _hoisted_3$g = { class: "flex-1 truncate" };
171
- const _hoisted_4$c = ["id", "aria-label"];
316
+ const _hoisted_1$q = { class: "relative" };
317
+ const _hoisted_2$i = ["id", "disabled", "aria-expanded", "aria-controls", "aria-invalid", "aria-describedby"];
318
+ const _hoisted_3$h = { class: "flex-1 truncate" };
319
+ const _hoisted_4$d = ["id", "aria-label"];
172
320
  const _hoisted_5$9 = {
173
321
  key: 0,
174
322
  class: "sticky top-0 border-b border-gray-200 bg-white p-2 dark:border-gray-700 dark:bg-gray-800"
@@ -187,7 +335,7 @@ const _hoisted_10$4 = {
187
335
  "aria-hidden": "true"
188
336
  };
189
337
  const _hoisted_11$4 = { class: "flex-1" };
190
- const _sfc_main$p = /* @__PURE__ */ vue.defineComponent({
338
+ const _sfc_main$r = /* @__PURE__ */ vue.defineComponent({
191
339
  __name: "FormSelect",
192
340
  props: /* @__PURE__ */ vue.mergeModels({
193
341
  options: {},
@@ -313,7 +461,7 @@ const _sfc_main$p = /* @__PURE__ */ vue.defineComponent({
313
461
  props.triggerClass
314
462
  ]);
315
463
  return (_ctx, _cache) => {
316
- return vue.openBlock(), vue.createElementBlock("div", _hoisted_1$p, [
464
+ return vue.openBlock(), vue.createElementBlock("div", _hoisted_1$q, [
317
465
  vue.createElementVNode("button", {
318
466
  id: triggerId.value,
319
467
  ref_key: "triggerRef",
@@ -333,14 +481,14 @@ const _sfc_main$p = /* @__PURE__ */ vue.defineComponent({
333
481
  option: selectedOption.value,
334
482
  placeholder: __props.placeholder
335
483
  }, () => [
336
- vue.createElementVNode("span", _hoisted_3$g, vue.toDisplayString(displayValue.value), 1)
484
+ vue.createElementVNode("span", _hoisted_3$h, vue.toDisplayString(displayValue.value), 1)
337
485
  ]),
338
486
  vue.createVNode(vue.unref(vue$1.Icon), {
339
487
  icon: "lucide:chevron-down",
340
488
  class: vue.normalizeClass(["size-4 shrink-0 text-gray-400 transition-transform", vue.unref(isOpen) && "rotate-180"]),
341
489
  "aria-hidden": "true"
342
490
  }, null, 8, ["class"])
343
- ], 42, _hoisted_2$h),
491
+ ], 42, _hoisted_2$i),
344
492
  (vue.openBlock(), vue.createBlock(vue.Teleport, {
345
493
  to: "body",
346
494
  disabled: !__props.teleport
@@ -422,7 +570,7 @@ const _sfc_main$p = /* @__PURE__ */ vue.defineComponent({
422
570
  ], 42, _hoisted_9$4);
423
571
  }), 128))
424
572
  ])
425
- ], 14, _hoisted_4$c)) : vue.createCommentVNode("", true)
573
+ ], 14, _hoisted_4$d)) : vue.createCommentVNode("", true)
426
574
  ]),
427
575
  _: 3
428
576
  })
@@ -431,7 +579,106 @@ const _sfc_main$p = /* @__PURE__ */ vue.defineComponent({
431
579
  };
432
580
  }
433
581
  });
434
- const _hoisted_1$o = ["hidden"];
582
+ const _hoisted_1$p = { class: "relative grid grid-cols-1" };
583
+ const _hoisted_2$h = ["name", "id", "disabled", "required"];
584
+ const _hoisted_3$g = {
585
+ key: 0,
586
+ value: "",
587
+ disabled: ""
588
+ };
589
+ const _hoisted_4$c = ["value", "disabled"];
590
+ const _sfc_main$q = /* @__PURE__ */ vue.defineComponent({
591
+ __name: "Select",
592
+ props: /* @__PURE__ */ vue.mergeModels({
593
+ options: {},
594
+ placeholder: { default: "Sélectionnez une option" },
595
+ name: {},
596
+ id: {},
597
+ disabled: { type: Boolean },
598
+ required: { type: Boolean },
599
+ invalid: { type: Boolean },
600
+ size: { default: "md" },
601
+ class: {}
602
+ }, {
603
+ "modelValue": {},
604
+ "modelModifiers": {}
605
+ }),
606
+ emits: ["update:modelValue"],
607
+ setup(__props) {
608
+ const props = __props;
609
+ const modelValue = vue.useModel(__props, "modelValue");
610
+ const hasValue = vue.computed(() => modelValue.value !== null && modelValue.value !== "");
611
+ const { inputClass } = useInputStyles.useInputStyles({
612
+ disabled: vue.toRef(props, "disabled"),
613
+ invalid: vue.toRef(props, "invalid"),
614
+ size: vue.toRef(props, "size"),
615
+ hasValue
616
+ });
617
+ const selectClasses = vue.computed(() => [
618
+ ...inputClass.value,
619
+ "appearance-none cursor-pointer pr-10",
620
+ props.class
621
+ ]);
622
+ return (_ctx, _cache) => {
623
+ return vue.openBlock(), vue.createElementBlock("div", _hoisted_1$p, [
624
+ vue.withDirectives(vue.createElementVNode("select", {
625
+ "onUpdate:modelValue": _cache[0] || (_cache[0] = ($event) => modelValue.value = $event),
626
+ name: __props.name,
627
+ id: __props.id,
628
+ disabled: __props.disabled,
629
+ required: __props.required,
630
+ class: vue.normalizeClass([selectClasses.value, "col-start-1 row-start-1"])
631
+ }, [
632
+ __props.placeholder ? (vue.openBlock(), vue.createElementBlock("option", _hoisted_3$g, vue.toDisplayString(__props.placeholder), 1)) : vue.createCommentVNode("", true),
633
+ vue.renderSlot(_ctx.$slots, "default", {}, () => [
634
+ (vue.openBlock(true), vue.createElementBlock(vue.Fragment, null, vue.renderList(__props.options, (option) => {
635
+ return vue.openBlock(), vue.createElementBlock("option", {
636
+ key: option.value,
637
+ value: option.value,
638
+ disabled: option.disabled
639
+ }, vue.toDisplayString(option.label), 9, _hoisted_4$c);
640
+ }), 128))
641
+ ])
642
+ ], 10, _hoisted_2$h), [
643
+ [vue.vModelSelect, modelValue.value]
644
+ ]),
645
+ vue.createVNode(vue.unref(vue$1.Icon), {
646
+ icon: "heroicons:chevron-down",
647
+ class: "pointer-events-none col-start-1 row-start-1 mr-3 size-5 self-center justify-self-end text-gray-500 dark:text-gray-400 sm:size-4",
648
+ "aria-hidden": "true"
649
+ })
650
+ ]);
651
+ };
652
+ }
653
+ });
654
+ const _hoisted_1$o = ["value", "disabled", "selected"];
655
+ const _sfc_main$p = /* @__PURE__ */ vue.defineComponent({
656
+ __name: "Option",
657
+ props: {
658
+ value: {},
659
+ disabled: { type: Boolean },
660
+ selected: { type: Boolean },
661
+ class: {}
662
+ },
663
+ setup(__props) {
664
+ return (_ctx, _cache) => {
665
+ return vue.openBlock(), vue.createElementBlock("option", {
666
+ value: __props.value,
667
+ disabled: __props.disabled,
668
+ selected: __props.selected,
669
+ class: vue.normalizeClass([
670
+ "appearance-none py-1.5 pr-8 pl-3 bg-white dark:bg-gray-900",
671
+ "text-base text-gray-900 dark:text-gray-100 sm:text-sm/6",
672
+ "hover:bg-gray-100 dark:hover:bg-gray-800",
673
+ _ctx.$props.class
674
+ ])
675
+ }, [
676
+ vue.renderSlot(_ctx.$slots, "default")
677
+ ], 10, _hoisted_1$o);
678
+ };
679
+ }
680
+ });
681
+ const _hoisted_1$n = ["hidden"];
435
682
  const _sfc_main$o = /* @__PURE__ */ vue.defineComponent({
436
683
  __name: "FormGroup",
437
684
  props: /* @__PURE__ */ vue.mergeModels({
@@ -473,7 +720,7 @@ const _sfc_main$o = /* @__PURE__ */ vue.defineComponent({
473
720
  }, [
474
721
  vue.renderSlot(_ctx.$slots, "default", {}, () => [
475
722
  vue.renderSlot(_ctx.$slots, "label", {}, () => [
476
- __props.label ? (vue.openBlock(), vue.createBlock(_sfc_main$t, {
723
+ __props.label ? (vue.openBlock(), vue.createBlock(_sfc_main$v, {
477
724
  key: 0,
478
725
  "html-for": inputId.value,
479
726
  error: __props.error
@@ -485,7 +732,7 @@ const _sfc_main$o = /* @__PURE__ */ vue.defineComponent({
485
732
  }, 8, ["html-for", "error"])) : vue.createCommentVNode("", true)
486
733
  ]),
487
734
  vue.renderSlot(_ctx.$slots, "input", {}, () => [
488
- isSelect.value ? (vue.openBlock(), vue.createBlock(_sfc_main$p, vue.mergeProps({
735
+ isSelect.value ? (vue.openBlock(), vue.createBlock(_sfc_main$r, vue.mergeProps({
489
736
  key: 0,
490
737
  modelValue: modelValue.value,
491
738
  "onUpdate:modelValue": _cache[0] || (_cache[0] = ($event) => modelValue.value = $event)
@@ -493,7 +740,7 @@ const _sfc_main$o = /* @__PURE__ */ vue.defineComponent({
493
740
  id: inputId.value,
494
741
  invalid: Boolean(__props.error),
495
742
  "described-by": hasError.value ? helpId.value : void 0
496
- }), null, 16, ["modelValue", "id", "invalid", "described-by"])) : (vue.openBlock(), vue.createBlock(_sfc_main$q, vue.mergeProps({
743
+ }), null, 16, ["modelValue", "id", "invalid", "described-by"])) : (vue.openBlock(), vue.createBlock(_sfc_main$s, vue.mergeProps({
497
744
  key: 1,
498
745
  modelValue: modelValue.value,
499
746
  "onUpdate:modelValue": _cache[1] || (_cache[1] = ($event) => modelValue.value = $event)
@@ -503,7 +750,7 @@ const _sfc_main$o = /* @__PURE__ */ vue.defineComponent({
503
750
  "described-by": hasError.value ? helpId.value : void 0
504
751
  }), null, 16, ["modelValue", "id", "invalid", "described-by"]))
505
752
  ]),
506
- hasError.value ? (vue.openBlock(), vue.createBlock(_sfc_main$s, {
753
+ hasError.value ? (vue.openBlock(), vue.createBlock(_sfc_main$u, {
507
754
  key: 0,
508
755
  id: helpId.value,
509
756
  error: true
@@ -514,11 +761,11 @@ const _sfc_main$o = /* @__PURE__ */ vue.defineComponent({
514
761
  _: 1
515
762
  }, 8, ["id"])) : vue.createCommentVNode("", true)
516
763
  ])
517
- ], 12, _hoisted_1$o);
764
+ ], 12, _hoisted_1$n);
518
765
  };
519
766
  }
520
767
  });
521
- const _hoisted_1$n = ["name", "placeholder", "disabled"];
768
+ const _hoisted_1$m = ["name", "placeholder", "disabled"];
522
769
  const _sfc_main$n = /* @__PURE__ */ vue.defineComponent({
523
770
  ...{
524
771
  inheritAttrs: false
@@ -539,7 +786,7 @@ const _sfc_main$n = /* @__PURE__ */ vue.defineComponent({
539
786
  const props = __props;
540
787
  const modelValue = vue.useModel(__props, "modelValue");
541
788
  return (_ctx, _cache) => {
542
- return vue.openBlock(), vue.createBlock(_sfc_main$r, {
789
+ return vue.openBlock(), vue.createBlock(_sfc_main$t, {
543
790
  icon: props.icon,
544
791
  size: props.size,
545
792
  disabled: props.disabled
@@ -552,7 +799,7 @@ const _sfc_main$n = /* @__PURE__ */ vue.defineComponent({
552
799
  placeholder: props.placeholder,
553
800
  disabled: props.disabled,
554
801
  class: inputClass
555
- }, _ctx.$attrs), null, 16, _hoisted_1$n), [
802
+ }, _ctx.$attrs), null, 16, _hoisted_1$m), [
556
803
  [vue.vModelText, modelValue.value]
557
804
  ])
558
805
  ]),
@@ -561,7 +808,7 @@ const _sfc_main$n = /* @__PURE__ */ vue.defineComponent({
561
808
  };
562
809
  }
563
810
  });
564
- const _hoisted_1$m = ["id", "aria-checked", "aria-labelledby", "aria-describedby", "disabled"];
811
+ const _hoisted_1$l = ["id", "aria-checked", "aria-labelledby", "aria-describedby", "disabled"];
565
812
  const _hoisted_2$g = {
566
813
  key: 0,
567
814
  class: "flex flex-col"
@@ -632,7 +879,7 @@ const _sfc_main$m = /* @__PURE__ */ vue.defineComponent({
632
879
  ]),
633
880
  "aria-hidden": "true"
634
881
  }, null, 2)
635
- ], 10, _hoisted_1$m),
882
+ ], 10, _hoisted_1$l),
636
883
  __props.label || __props.description ? (vue.openBlock(), vue.createElementBlock("div", _hoisted_2$g, [
637
884
  __props.label ? (vue.openBlock(), vue.createElementBlock("span", {
638
885
  key: 0,
@@ -649,7 +896,7 @@ const _sfc_main$m = /* @__PURE__ */ vue.defineComponent({
649
896
  };
650
897
  }
651
898
  });
652
- const _hoisted_1$l = { class: "w-full" };
899
+ const _hoisted_1$k = { class: "w-full" };
653
900
  const _hoisted_2$f = {
654
901
  key: 0,
655
902
  class: "mb-2 flex justify-between text-sm"
@@ -691,7 +938,7 @@ const _sfc_main$l = /* @__PURE__ */ vue.defineComponent({
691
938
  modelValue.value = Number(target.value);
692
939
  };
693
940
  return (_ctx, _cache) => {
694
- return vue.openBlock(), vue.createElementBlock("div", _hoisted_1$l, [
941
+ return vue.openBlock(), vue.createElementBlock("div", _hoisted_1$k, [
695
942
  __props.showValue ? (vue.openBlock(), vue.createElementBlock("div", _hoisted_2$f, [
696
943
  vue.createElementVNode("span", _hoisted_3$e, vue.toDisplayString(__props.min), 1),
697
944
  vue.createElementVNode("span", _hoisted_4$a, vue.toDisplayString(displayValue.value), 1),
@@ -720,7 +967,7 @@ const _sfc_main$l = /* @__PURE__ */ vue.defineComponent({
720
967
  }
721
968
  });
722
969
  const Slider = /* @__PURE__ */ _pluginVue_exportHelper._export_sfc(_sfc_main$l, [["__scopeId", "data-v-a411f1b4"]]);
723
- const _hoisted_1$k = { class: "relative" };
970
+ const _hoisted_1$j = { class: "relative" };
724
971
  const _hoisted_2$e = ["id", "disabled", "aria-expanded", "aria-controls"];
725
972
  const _hoisted_3$d = { class: "flex-1 truncate" };
726
973
  const _hoisted_4$9 = { class: "flex items-center gap-1" };
@@ -871,7 +1118,7 @@ const _sfc_main$k = /* @__PURE__ */ vue.defineComponent({
871
1118
  size: vue.toRef(props, "size")
872
1119
  });
873
1120
  return (_ctx, _cache) => {
874
- return vue.openBlock(), vue.createElementBlock("div", _hoisted_1$k, [
1121
+ return vue.openBlock(), vue.createElementBlock("div", _hoisted_1$j, [
875
1122
  vue.createElementVNode("button", {
876
1123
  id: triggerId.value,
877
1124
  ref_key: "triggerRef",
@@ -1011,7 +1258,7 @@ const _sfc_main$k = /* @__PURE__ */ vue.defineComponent({
1011
1258
  };
1012
1259
  }
1013
1260
  });
1014
- const _hoisted_1$j = { class: "space-y-4" };
1261
+ const _hoisted_1$i = { class: "space-y-4" };
1015
1262
  const _hoisted_2$d = ["accept", "multiple", "disabled"];
1016
1263
  const _hoisted_3$c = { class: "space-y-2" };
1017
1264
  const _hoisted_4$8 = { class: "text-sm font-medium text-gray-700 dark:text-gray-300" };
@@ -1159,7 +1406,7 @@ const _sfc_main$j = /* @__PURE__ */ vue.defineComponent({
1159
1406
  return "heroicons:document";
1160
1407
  };
1161
1408
  return (_ctx, _cache) => {
1162
- return vue.openBlock(), vue.createElementBlock("div", _hoisted_1$j, [
1409
+ return vue.openBlock(), vue.createElementBlock("div", _hoisted_1$i, [
1163
1410
  vue.createElementVNode("div", {
1164
1411
  class: vue.normalizeClass(dropzoneClasses.value),
1165
1412
  onDrop: vue.withModifiers(handleDrop, ["prevent"]),
@@ -1218,7 +1465,7 @@ const _sfc_main$j = /* @__PURE__ */ vue.defineComponent({
1218
1465
  };
1219
1466
  }
1220
1467
  });
1221
- const _hoisted_1$i = { class: "flex items-center gap-1" };
1468
+ const _hoisted_1$h = { class: "flex items-center gap-1" };
1222
1469
  const _hoisted_2$c = ["disabled", "onClick", "onMousemove"];
1223
1470
  const _hoisted_3$b = {
1224
1471
  key: 0,
@@ -1287,7 +1534,7 @@ const _sfc_main$i = /* @__PURE__ */ vue.defineComponent({
1287
1534
  hoverValue.value = null;
1288
1535
  };
1289
1536
  return (_ctx, _cache) => {
1290
- return vue.openBlock(), vue.createElementBlock("div", _hoisted_1$i, [
1537
+ return vue.openBlock(), vue.createElementBlock("div", _hoisted_1$h, [
1291
1538
  vue.createElementVNode("div", {
1292
1539
  class: "flex items-center",
1293
1540
  onMouseleave: handleMouseLeave
@@ -1327,7 +1574,7 @@ const _sfc_main$i = /* @__PURE__ */ vue.defineComponent({
1327
1574
  };
1328
1575
  }
1329
1576
  });
1330
- const _hoisted_1$h = { class: "relative inline-block" };
1577
+ const _hoisted_1$g = { class: "relative inline-block" };
1331
1578
  const _hoisted_2$b = {
1332
1579
  key: 0,
1333
1580
  class: "block text-sm font-medium text-gray-700 dark:text-gray-300 mb-1"
@@ -1410,7 +1657,7 @@ const _sfc_main$h = /* @__PURE__ */ vue.defineComponent({
1410
1657
  isOpen.value = false;
1411
1658
  };
1412
1659
  return (_ctx, _cache) => {
1413
- return vue.openBlock(), vue.createElementBlock("div", _hoisted_1$h, [
1660
+ return vue.openBlock(), vue.createElementBlock("div", _hoisted_1$g, [
1414
1661
  __props.label ? (vue.openBlock(), vue.createElementBlock("label", _hoisted_2$b, vue.toDisplayString(__props.label), 1)) : vue.createCommentVNode("", true),
1415
1662
  vue.createElementVNode("button", {
1416
1663
  type: "button",
@@ -1501,7 +1748,7 @@ const _sfc_main$h = /* @__PURE__ */ vue.defineComponent({
1501
1748
  };
1502
1749
  }
1503
1750
  });
1504
- const _hoisted_1$g = { class: "space-y-2" };
1751
+ const _hoisted_1$f = { class: "space-y-2" };
1505
1752
  const _hoisted_2$a = {
1506
1753
  key: 0,
1507
1754
  class: "flex justify-between text-sm font-medium text-gray-700 dark:text-gray-300"
@@ -1588,7 +1835,7 @@ const _sfc_main$g = /* @__PURE__ */ vue.defineComponent({
1588
1835
  }
1589
1836
  };
1590
1837
  return (_ctx, _cache) => {
1591
- return vue.openBlock(), vue.createElementBlock("div", _hoisted_1$g, [
1838
+ return vue.openBlock(), vue.createElementBlock("div", _hoisted_1$f, [
1592
1839
  __props.showLabels ? (vue.openBlock(), vue.createElementBlock("div", _hoisted_2$a, [
1593
1840
  vue.createElementVNode("span", null, vue.toDisplayString(__props.formatLabel(minValue.value)), 1),
1594
1841
  vue.createElementVNode("span", null, vue.toDisplayString(__props.formatLabel(maxValue.value)), 1)
@@ -1630,7 +1877,7 @@ const _sfc_main$g = /* @__PURE__ */ vue.defineComponent({
1630
1877
  };
1631
1878
  }
1632
1879
  });
1633
- const _hoisted_1$f = ["aria-expanded", "aria-controls"];
1880
+ const _hoisted_1$e = ["aria-expanded", "aria-controls"];
1634
1881
  const _hoisted_2$9 = ["id", "name", "placeholder", "disabled", "aria-controls"];
1635
1882
  const _hoisted_3$8 = { class: "flex items-center gap-1" };
1636
1883
  const _hoisted_4$6 = ["id", "aria-label", "aria-multiselectable"];
@@ -1802,7 +2049,7 @@ const _sfc_main$f = /* @__PURE__ */ vue.defineComponent({
1802
2049
  "aria-hidden": "true"
1803
2050
  }, null, 8, ["class"])
1804
2051
  ])
1805
- ], 10, _hoisted_1$f),
2052
+ ], 10, _hoisted_1$e),
1806
2053
  (vue.openBlock(), vue.createBlock(vue.Teleport, {
1807
2054
  to: teleportTarget.value,
1808
2055
  disabled: teleportDisabled.value
@@ -1870,7 +2117,7 @@ const _sfc_main$f = /* @__PURE__ */ vue.defineComponent({
1870
2117
  };
1871
2118
  }
1872
2119
  });
1873
- const _hoisted_1$e = { class: "relative" };
2120
+ const _hoisted_1$d = { class: "relative" };
1874
2121
  const _hoisted_2$8 = {
1875
2122
  key: 0,
1876
2123
  class: "text-red-500 ml-0.5"
@@ -2028,8 +2275,8 @@ const _sfc_main$e = /* @__PURE__ */ vue.defineComponent({
2028
2275
  searchQuery.value = "";
2029
2276
  }
2030
2277
  return (_ctx, _cache) => {
2031
- return vue.openBlock(), vue.createElementBlock("div", _hoisted_1$e, [
2032
- __props.label ? (vue.openBlock(), vue.createBlock(_sfc_main$t, {
2278
+ return vue.openBlock(), vue.createElementBlock("div", _hoisted_1$d, [
2279
+ __props.label ? (vue.openBlock(), vue.createBlock(_sfc_main$v, {
2033
2280
  key: 0,
2034
2281
  "html-for": inputId.value,
2035
2282
  error: __props.error
@@ -2077,7 +2324,7 @@ const _sfc_main$e = /* @__PURE__ */ vue.defineComponent({
2077
2324
  class: "size-4 text-gray-400"
2078
2325
  })
2079
2326
  ], 10, _hoisted_3$7),
2080
- __props.help && !hasError.value ? (vue.openBlock(), vue.createBlock(_sfc_main$s, {
2327
+ __props.help && !hasError.value ? (vue.openBlock(), vue.createBlock(_sfc_main$u, {
2081
2328
  key: 1,
2082
2329
  id: helpId.value
2083
2330
  }, {
@@ -2086,7 +2333,7 @@ const _sfc_main$e = /* @__PURE__ */ vue.defineComponent({
2086
2333
  ]),
2087
2334
  _: 1
2088
2335
  }, 8, ["id"])) : vue.createCommentVNode("", true),
2089
- hasError.value ? (vue.openBlock(), vue.createBlock(_sfc_main$s, {
2336
+ hasError.value ? (vue.openBlock(), vue.createBlock(_sfc_main$u, {
2090
2337
  key: 2,
2091
2338
  id: helpId.value,
2092
2339
  error: true
@@ -2163,7 +2410,7 @@ const _sfc_main$e = /* @__PURE__ */ vue.defineComponent({
2163
2410
  };
2164
2411
  }
2165
2412
  });
2166
- const _hoisted_1$d = { class: "flex items-center justify-between" };
2413
+ const _hoisted_1$c = { class: "flex items-center justify-between" };
2167
2414
  const _hoisted_2$7 = { class: "flex items-center gap-3" };
2168
2415
  const _hoisted_3$6 = { class: "text-lg font-semibold text-gray-900 dark:text-white" };
2169
2416
  const _hoisted_4$4 = {
@@ -2209,7 +2456,7 @@ const _sfc_main$d = /* @__PURE__ */ vue.defineComponent({
2209
2456
  ]),
2210
2457
  onClick: _cache[0] || (_cache[0] = ($event) => __props.collapsible && toggleCollapse())
2211
2458
  }, [
2212
- vue.createElementVNode("div", _hoisted_1$d, [
2459
+ vue.createElementVNode("div", _hoisted_1$c, [
2213
2460
  vue.createElementVNode("div", _hoisted_2$7, [
2214
2461
  __props.icon ? (vue.openBlock(), vue.createElementBlock("div", {
2215
2462
  key: 0,
@@ -2278,79 +2525,68 @@ const _sfc_main$d = /* @__PURE__ */ vue.defineComponent({
2278
2525
  };
2279
2526
  }
2280
2527
  });
2281
- const _hoisted_1$c = { key: 1 };
2282
2528
  const _sfc_main$c = /* @__PURE__ */ vue.defineComponent({
2283
- __name: "FormActions",
2529
+ __name: "InputGroup",
2284
2530
  props: {
2285
- submitLabel: { default: "Enregistrer" },
2286
- cancelLabel: { default: "Annuler" },
2287
- submitIcon: { default: "heroicons:check" },
2288
- cancelIcon: { default: "heroicons:x-mark" },
2289
- loading: { type: Boolean },
2290
- loadingLabel: {},
2291
- disabled: { type: Boolean },
2292
- showCancel: { type: Boolean, default: true },
2293
- align: { default: "right" },
2294
- stackOnMobile: { type: Boolean, default: false },
2295
- submitVariant: { default: "primary" }
2531
+ size: { default: "md" },
2532
+ prefix: {},
2533
+ suffix: {},
2534
+ class: {}
2296
2535
  },
2297
- emits: ["submit", "cancel"],
2298
- setup(__props, { emit: __emit }) {
2299
- const emit = __emit;
2536
+ setup(__props) {
2537
+ const props = __props;
2538
+ const slots = vue.useSlots();
2539
+ const hasPrefix = vue.computed(() => !!props.prefix || !!slots.prefix);
2540
+ const hasSuffix = vue.computed(() => !!props.suffix || !!slots.suffix);
2541
+ const sizeClasses = {
2542
+ sm: { addon: "px-2.5 py-1.5", text: "text-sm" },
2543
+ md: { addon: "px-3 py-2", text: "text-sm" },
2544
+ lg: { addon: "px-4 py-3", text: "text-base" }
2545
+ };
2546
+ const addonClasses = vue.computed(() => [
2547
+ sizeClasses[props.size].addon,
2548
+ sizeClasses[props.size].text,
2549
+ "inline-flex items-center text-gray-500 dark:text-gray-400",
2550
+ "bg-gray-50 dark:bg-gray-800",
2551
+ "border border-gray-300 dark:border-gray-600"
2552
+ ]);
2553
+ const prefixClasses = vue.computed(() => [
2554
+ ...addonClasses.value,
2555
+ "rounded-l-md border-r-0"
2556
+ ]);
2557
+ const suffixClasses = vue.computed(() => [
2558
+ ...addonClasses.value,
2559
+ "rounded-r-md border-l-0"
2560
+ ]);
2300
2561
  return (_ctx, _cache) => {
2301
2562
  return vue.openBlock(), vue.createElementBlock("div", {
2302
- class: vue.normalizeClass([
2303
- "flex gap-3 pt-2",
2304
- __props.align === "left" && "justify-start",
2305
- __props.align === "center" && "justify-center",
2306
- __props.align === "right" && "justify-end",
2307
- __props.align === "stretch" && "[&>*]:flex-1",
2308
- __props.stackOnMobile && "flex-col sm:flex-row"
2309
- ])
2563
+ class: vue.normalizeClass(["flex", props.class])
2310
2564
  }, [
2311
- __props.showCancel ? (vue.openBlock(), vue.createBlock(Button_vue_vue_type_script_setup_true_lang._sfc_main, {
2565
+ hasPrefix.value ? (vue.openBlock(), vue.createElementBlock("span", {
2312
2566
  key: 0,
2313
- type: "button",
2314
- variant: "outline",
2315
- disabled: __props.loading,
2316
- class: vue.normalizeClass([
2317
- __props.stackOnMobile && "order-2 sm:order-1"
2318
- ]),
2319
- onClick: _cache[0] || (_cache[0] = ($event) => emit("cancel"))
2320
- }, {
2321
- default: vue.withCtx(() => [
2322
- __props.cancelIcon ? (vue.openBlock(), vue.createBlock(vue.unref(vue$1.Icon), {
2323
- key: 0,
2324
- icon: __props.cancelIcon,
2325
- class: "w-5 h-5"
2326
- }, null, 8, ["icon"])) : vue.createCommentVNode("", true),
2327
- vue.createTextVNode(" " + vue.toDisplayString(__props.cancelLabel), 1)
2328
- ]),
2329
- _: 1
2330
- }, 8, ["disabled", "class"])) : vue.createCommentVNode("", true),
2331
- vue.createVNode(Button_vue_vue_type_script_setup_true_lang._sfc_main, {
2332
- type: "submit",
2333
- variant: __props.submitVariant,
2334
- disabled: __props.disabled || __props.loading,
2335
- loading: __props.loading,
2567
+ class: vue.normalizeClass(prefixClasses.value)
2568
+ }, [
2569
+ vue.renderSlot(_ctx.$slots, "prefix", {}, () => [
2570
+ vue.createTextVNode(vue.toDisplayString(__props.prefix), 1)
2571
+ ])
2572
+ ], 2)) : vue.createCommentVNode("", true),
2573
+ vue.createElementVNode("div", {
2336
2574
  class: vue.normalizeClass([
2337
- __props.stackOnMobile && "order-1 sm:order-2"
2338
- ]),
2339
- onClick: _cache[1] || (_cache[1] = ($event) => emit("submit"))
2340
- }, {
2341
- default: vue.withCtx(() => [
2342
- !__props.loading ? (vue.openBlock(), vue.createElementBlock(vue.Fragment, { key: 0 }, [
2343
- __props.submitIcon ? (vue.openBlock(), vue.createBlock(vue.unref(vue$1.Icon), {
2344
- key: 0,
2345
- icon: __props.submitIcon,
2346
- class: "w-5 h-5"
2347
- }, null, 8, ["icon"])) : vue.createCommentVNode("", true),
2348
- vue.createTextVNode(" " + vue.toDisplayString(__props.submitLabel), 1)
2349
- ], 64)) : (vue.openBlock(), vue.createElementBlock("span", _hoisted_1$c, vue.toDisplayString(__props.loadingLabel || __props.submitLabel + "..."), 1))
2350
- ]),
2351
- _: 1
2352
- }, 8, ["variant", "disabled", "loading", "class"]),
2353
- vue.renderSlot(_ctx.$slots, "extra")
2575
+ "flex-1 min-w-0",
2576
+ hasPrefix.value && "[&>*]:rounded-l-none [&>*]:border-l-0",
2577
+ hasSuffix.value && "[&>*]:rounded-r-none [&>*]:border-r-0"
2578
+ ])
2579
+ }, [
2580
+ vue.renderSlot(_ctx.$slots, "default")
2581
+ ], 2),
2582
+ hasSuffix.value ? (vue.openBlock(), vue.createElementBlock("span", {
2583
+ key: 1,
2584
+ class: vue.normalizeClass(suffixClasses.value)
2585
+ }, [
2586
+ vue.renderSlot(_ctx.$slots, "suffix", {}, () => [
2587
+ vue.createTextVNode(vue.toDisplayString(__props.suffix), 1)
2588
+ ])
2589
+ ], 2)) : vue.createCommentVNode("", true)
2354
2590
  ], 2);
2355
2591
  };
2356
2592
  }
@@ -2391,7 +2627,7 @@ const _sfc_main$b = /* @__PURE__ */ vue.defineComponent({
2391
2627
  isTouched.value = true;
2392
2628
  }
2393
2629
  return (_ctx, _cache) => {
2394
- return vue.openBlock(), vue.createBlock(_sfc_main$r, {
2630
+ return vue.openBlock(), vue.createBlock(_sfc_main$t, {
2395
2631
  icon: "lucide:mail",
2396
2632
  size: __props.size,
2397
2633
  disabled: __props.disabled,
@@ -2491,7 +2727,7 @@ const _sfc_main$a = /* @__PURE__ */ vue.defineComponent({
2491
2727
  return (_ctx, _cache) => {
2492
2728
  var _a, _b;
2493
2729
  return vue.openBlock(), vue.createElementBlock("div", null, [
2494
- vue.createVNode(_sfc_main$r, {
2730
+ vue.createVNode(_sfc_main$t, {
2495
2731
  icon: "lucide:lock",
2496
2732
  size: __props.size,
2497
2733
  disabled: __props.disabled
@@ -2738,7 +2974,7 @@ const _sfc_main$9 = /* @__PURE__ */ vue.defineComponent({
2738
2974
  ref_key: "dropdownRef",
2739
2975
  ref: dropdownRef
2740
2976
  }, [
2741
- vue.createVNode(_sfc_main$r, {
2977
+ vue.createVNode(_sfc_main$t, {
2742
2978
  size: __props.size,
2743
2979
  disabled: __props.disabled
2744
2980
  }, {
@@ -2888,7 +3124,7 @@ const _sfc_main$8 = /* @__PURE__ */ vue.defineComponent({
2888
3124
  }
2889
3125
  }
2890
3126
  return (_ctx, _cache) => {
2891
- return vue.openBlock(), vue.createBlock(_sfc_main$r, {
3127
+ return vue.openBlock(), vue.createBlock(_sfc_main$t, {
2892
3128
  size: __props.size,
2893
3129
  disabled: __props.disabled
2894
3130
  }, vue.createSlots({
@@ -3026,7 +3262,7 @@ const _sfc_main$7 = /* @__PURE__ */ vue.defineComponent({
3026
3262
  }
3027
3263
  }
3028
3264
  return (_ctx, _cache) => {
3029
- return vue.openBlock(), vue.createBlock(_sfc_main$r, {
3265
+ return vue.openBlock(), vue.createBlock(_sfc_main$t, {
3030
3266
  size: __props.size,
3031
3267
  disabled: __props.disabled
3032
3268
  }, vue.createSlots({
@@ -3114,7 +3350,7 @@ const _sfc_main$6 = /* @__PURE__ */ vue.defineComponent({
3114
3350
  displayValue.value = target.value;
3115
3351
  }
3116
3352
  return (_ctx, _cache) => {
3117
- return vue.openBlock(), vue.createBlock(_sfc_main$r, {
3353
+ return vue.openBlock(), vue.createBlock(_sfc_main$t, {
3118
3354
  size: __props.size,
3119
3355
  disabled: __props.disabled
3120
3356
  }, {
@@ -3316,7 +3552,7 @@ const _sfc_main$4 = /* @__PURE__ */ vue.defineComponent({
3316
3552
  }
3317
3553
  }
3318
3554
  return (_ctx, _cache) => {
3319
- return vue.openBlock(), vue.createBlock(_sfc_main$r, {
3555
+ return vue.openBlock(), vue.createBlock(_sfc_main$t, {
3320
3556
  icon: "lucide:link",
3321
3557
  size: __props.size,
3322
3558
  disabled: __props.disabled,
@@ -3721,7 +3957,7 @@ const _sfc_main$1 = /* @__PURE__ */ vue.defineComponent({
3721
3957
  }
3722
3958
  return (_ctx, _cache) => {
3723
3959
  return vue.openBlock(), vue.createElementBlock("div", null, [
3724
- __props.label || _ctx.$slots.label ? (vue.openBlock(), vue.createBlock(_sfc_main$t, {
3960
+ __props.label || _ctx.$slots.label ? (vue.openBlock(), vue.createBlock(_sfc_main$v, {
3725
3961
  key: 0,
3726
3962
  error: __props.error
3727
3963
  }, {
@@ -3754,13 +3990,13 @@ const _sfc_main$1 = /* @__PURE__ */ vue.defineComponent({
3754
3990
  __props.maxLength ? (vue.openBlock(), vue.createElementBlock("span", _hoisted_5, " / " + vue.toDisplayString(__props.maxLength), 1)) : vue.createCommentVNode("", true)
3755
3991
  ])
3756
3992
  ])) : vue.createCommentVNode("", true),
3757
- __props.hint && !__props.error ? (vue.openBlock(), vue.createBlock(_sfc_main$s, { key: 2 }, {
3993
+ __props.hint && !__props.error ? (vue.openBlock(), vue.createBlock(_sfc_main$u, { key: 2 }, {
3758
3994
  default: vue.withCtx(() => [
3759
3995
  vue.createTextVNode(vue.toDisplayString(__props.hint), 1)
3760
3996
  ]),
3761
3997
  _: 1
3762
3998
  })) : vue.createCommentVNode("", true),
3763
- __props.error ? (vue.openBlock(), vue.createBlock(_sfc_main$s, {
3999
+ __props.error ? (vue.openBlock(), vue.createBlock(_sfc_main$u, {
3764
4000
  key: 3,
3765
4001
  error: true
3766
4002
  }, {
@@ -3825,7 +4061,7 @@ const _sfc_main = /* @__PURE__ */ vue.defineComponent({
3825
4061
  }
3826
4062
  return (_ctx, _cache) => {
3827
4063
  return vue.openBlock(), vue.createElementBlock("div", null, [
3828
- __props.label ? (vue.openBlock(), vue.createBlock(_sfc_main$t, {
4064
+ __props.label ? (vue.openBlock(), vue.createBlock(_sfc_main$v, {
3829
4065
  key: 0,
3830
4066
  error: __props.error
3831
4067
  }, {
@@ -3848,13 +4084,13 @@ const _sfc_main = /* @__PURE__ */ vue.defineComponent({
3848
4084
  }, null, 8, ["model-value", "label", "disabled", "onUpdate:modelValue"]);
3849
4085
  }), 128))
3850
4086
  ], 2),
3851
- __props.hint && !__props.error ? (vue.openBlock(), vue.createBlock(_sfc_main$s, { key: 1 }, {
4087
+ __props.hint && !__props.error ? (vue.openBlock(), vue.createBlock(_sfc_main$u, { key: 1 }, {
3852
4088
  default: vue.withCtx(() => [
3853
4089
  vue.createTextVNode(vue.toDisplayString(__props.hint), 1)
3854
4090
  ]),
3855
4091
  _: 1
3856
4092
  })) : vue.createCommentVNode("", true),
3857
- __props.error ? (vue.openBlock(), vue.createBlock(_sfc_main$s, {
4093
+ __props.error ? (vue.openBlock(), vue.createBlock(_sfc_main$u, {
3858
4094
  key: 2,
3859
4095
  error: true
3860
4096
  }, {
@@ -3869,32 +4105,36 @@ const _sfc_main = /* @__PURE__ */ vue.defineComponent({
3869
4105
  });
3870
4106
  exports.Slider = Slider;
3871
4107
  exports.TagsInput = TagsInput;
3872
- exports._sfc_main = _sfc_main$t;
3873
- exports._sfc_main$1 = _sfc_main$s;
3874
- exports._sfc_main$10 = _sfc_main$h;
3875
- exports._sfc_main$11 = _sfc_main$g;
3876
- exports._sfc_main$12 = _sfc_main$f;
3877
- exports._sfc_main$13 = _sfc_main$e;
3878
- exports._sfc_main$14 = _sfc_main$d;
3879
- exports._sfc_main$15 = _sfc_main$c;
3880
- exports._sfc_main$16 = _sfc_main$r;
3881
- exports._sfc_main$17 = _sfc_main$b;
3882
- exports._sfc_main$18 = _sfc_main$a;
3883
- exports._sfc_main$19 = _sfc_main$9;
3884
- exports._sfc_main$2 = _sfc_main$q;
3885
- exports._sfc_main$20 = _sfc_main$8;
3886
- exports._sfc_main$21 = _sfc_main$7;
3887
- exports._sfc_main$22 = _sfc_main$6;
3888
- exports._sfc_main$23 = _sfc_main$5;
3889
- exports._sfc_main$24 = _sfc_main$4;
3890
- exports._sfc_main$25 = _sfc_main$3;
3891
- exports._sfc_main$26 = _sfc_main$1;
3892
- exports._sfc_main$27 = _sfc_main;
3893
- exports._sfc_main$3 = _sfc_main$p;
3894
- exports._sfc_main$4 = _sfc_main$o;
3895
- exports._sfc_main$5 = _sfc_main$n;
3896
- exports._sfc_main$6 = _sfc_main$m;
3897
- exports._sfc_main$7 = _sfc_main$k;
3898
- exports._sfc_main$8 = _sfc_main$j;
3899
- exports._sfc_main$9 = _sfc_main$i;
3900
- //# sourceMappingURL=CheckboxGroup.vue_vue_type_script_setup_true_lang-BC86pBlY.cjs.map
4108
+ exports._sfc_main = _sfc_main$w;
4109
+ exports._sfc_main$1 = _sfc_main$v;
4110
+ exports._sfc_main$10 = _sfc_main$k;
4111
+ exports._sfc_main$11 = _sfc_main$j;
4112
+ exports._sfc_main$12 = _sfc_main$i;
4113
+ exports._sfc_main$13 = _sfc_main$h;
4114
+ exports._sfc_main$14 = _sfc_main$g;
4115
+ exports._sfc_main$15 = _sfc_main$f;
4116
+ exports._sfc_main$16 = _sfc_main$e;
4117
+ exports._sfc_main$17 = _sfc_main$d;
4118
+ exports._sfc_main$18 = _sfc_main$x;
4119
+ exports._sfc_main$19 = _sfc_main$t;
4120
+ exports._sfc_main$2 = _sfc_main$u;
4121
+ exports._sfc_main$20 = _sfc_main$c;
4122
+ exports._sfc_main$21 = _sfc_main$b;
4123
+ exports._sfc_main$22 = _sfc_main$a;
4124
+ exports._sfc_main$23 = _sfc_main$9;
4125
+ exports._sfc_main$24 = _sfc_main$8;
4126
+ exports._sfc_main$25 = _sfc_main$7;
4127
+ exports._sfc_main$26 = _sfc_main$6;
4128
+ exports._sfc_main$27 = _sfc_main$5;
4129
+ exports._sfc_main$28 = _sfc_main$4;
4130
+ exports._sfc_main$29 = _sfc_main$3;
4131
+ exports._sfc_main$3 = _sfc_main$s;
4132
+ exports._sfc_main$30 = _sfc_main$1;
4133
+ exports._sfc_main$31 = _sfc_main;
4134
+ exports._sfc_main$4 = _sfc_main$r;
4135
+ exports._sfc_main$5 = _sfc_main$q;
4136
+ exports._sfc_main$6 = _sfc_main$p;
4137
+ exports._sfc_main$7 = _sfc_main$o;
4138
+ exports._sfc_main$8 = _sfc_main$n;
4139
+ exports._sfc_main$9 = _sfc_main$m;
4140
+ //# sourceMappingURL=CheckboxGroup.vue_vue_type_script_setup_true_lang-DGGefZ7m.cjs.map