vlite3 1.1.1 → 1.1.2

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 (60) hide show
  1. package/components/AttachmentsList/AttachmentsList.vue.d.ts +1 -16
  2. package/components/AttachmentsList/AttachmentsList.vue.js +191 -167
  3. package/components/AvatarUploader/AvatarUploader.vue.d.ts +1 -1
  4. package/components/Button.vue.d.ts +1 -1
  5. package/components/Calendar/Calendar.vue.d.ts +6 -6
  6. package/components/Carousel/Carousel.vue.d.ts +2 -2
  7. package/components/CategoryManager/CategoryManager.vue.d.ts +2 -1
  8. package/components/CategoryManager/CategoryManager.vue.js +187 -147
  9. package/components/CategoryManager/types.d.ts +14 -0
  10. package/components/Chip/Chip.vue.d.ts +2 -2
  11. package/components/CommandPalette/CommandPaletteContent.vue2.js +1 -1
  12. package/components/CommandPalette/{CommandPaletteItem.vue2.js → CommandPaletteItem.vue.js} +1 -1
  13. package/components/ConfirmationModal.vue.d.ts +2 -2
  14. package/components/CustomFieldsDisplay/CustomFieldsDisplay.vue.d.ts +1 -1
  15. package/components/DataTable/DataTable.vue.d.ts +3 -3
  16. package/components/Dropdown/Dropdown.vue.d.ts +2 -2
  17. package/components/Dropdown/DropdownGroupedLayout.vue.d.ts +1 -1
  18. package/components/Dropdown/DropdownMenu.vue.d.ts +1 -1
  19. package/components/Dropdown/DropdownTrigger.vue.d.ts +1 -1
  20. package/components/FilePicker/FilePicker.vue.d.ts +1 -1
  21. package/components/Form/Form.vue.js +2 -2
  22. package/components/Form/Form.vue2.js +220 -232
  23. package/components/Form/FormField.vue.d.ts +1 -1
  24. package/components/Input.vue.d.ts +3 -3
  25. package/components/Invoice/Invoice.vue.d.ts +1 -4
  26. package/components/Invoice/Invoice.vue.js +20 -13
  27. package/components/Invoice/InvoiceVariant1.vue.d.ts +3 -0
  28. package/components/Invoice/InvoiceVariant1.vue.js +302 -256
  29. package/components/Invoice/InvoiceVariant2.vue.d.ts +3 -0
  30. package/components/Invoice/InvoiceVariant2.vue.js +164 -168
  31. package/components/Invoice/InvoiceVariant3.vue.d.ts +3 -0
  32. package/components/Invoice/InvoiceVariant3.vue.js +213 -170
  33. package/components/Invoice/InvoiceVariant4.vue.d.ts +3 -0
  34. package/components/Invoice/InvoiceVariant4.vue.js +280 -227
  35. package/components/Invoice/types.d.ts +4 -0
  36. package/components/List/List.vue.d.ts +1 -9
  37. package/components/List/List.vue.js +166 -165
  38. package/components/List/ListFieldRow.vue.d.ts +2 -2
  39. package/components/List/ListFieldRow.vue.js +50 -50
  40. package/components/MultiSelect/MultiSelect.vue.d.ts +1 -1
  41. package/components/Navbar/NavbarItem.vue.d.ts +1 -1
  42. package/components/NavbarCommandPalette.vue.js +1 -1
  43. package/components/NumberInput.vue.d.ts +2 -2
  44. package/components/OTPInput/OTPInput.vue.d.ts +1 -1
  45. package/components/PricingPlan/PricingPlan.vue.d.ts +1 -1
  46. package/components/SidebarMenu/SidebarMenu.vue.d.ts +1 -1
  47. package/components/Stats/Stats.vue.d.ts +1 -1
  48. package/components/StatusChip/status-map.js +27 -7
  49. package/components/ThumbnailSelector/ThumbnailSelector.vue.d.ts +2 -2
  50. package/components/Workbook/Workbook.vue.d.ts +3 -3
  51. package/core/config.d.ts +76 -0
  52. package/core/index.js +17 -5
  53. package/index.js +264 -262
  54. package/package.json +1 -1
  55. package/style.css +2 -2
  56. package/types/config.type.d.ts +6 -0
  57. package/types/list.type.d.ts +6 -0
  58. package/utils/configUtils.d.ts +9 -0
  59. package/utils/configUtils.js +7 -0
  60. package/utils/index.d.ts +1 -0
@@ -1,28 +1,28 @@
1
- import { defineComponent as pe, inject as Fe, computed as r, onMounted as ee, onUnmounted as O, ref as K, watch as te, openBlock as s, createElementBlock as u, withKeys as ae, withModifiers as J, normalizeClass as m, createElementVNode as v, createVNode as R, mergeProps as M, toDisplayString as q, unref as t, renderSlot as ie, createCommentVNode as c, createBlock as x, Fragment as le, renderList as Se } from "vue";
1
+ import { defineComponent as pe, inject as Se, computed as r, onMounted as te, onUnmounted as O, ref as K, watch as ae, openBlock as s, createElementBlock as d, withKeys as le, withModifiers as J, normalizeClass as m, createElementVNode as f, createVNode as A, mergeProps as M, toDisplayString as z, unref as t, renderSlot as ie, createCommentVNode as c, createBlock as S, Fragment as Ce, renderList as Fe } from "vue";
2
2
  import { useForm as we } from "./composables/useForm.js";
3
- import G from "./FormFields.vue.js";
3
+ import Q from "./FormFields.vue.js";
4
4
  import Ae from "./FormField.vue.js";
5
- import Re from "./FormSkeleton.vue.js";
6
- import U from "../Button.vue.js";
7
- import Ue from "../BackButton.vue.js";
5
+ import Te from "./FormSkeleton.vue.js";
6
+ import T from "../Button.vue.js";
7
+ import Re from "../BackButton.vue.js";
8
8
  import Pe from "../Timeline/Timeline.vue.js";
9
9
  import "@iconify/vue";
10
- import { $t as Ve } from "../../utils/i18n.js";
11
- import { useVLiteConfig as ze } from "../../core/config.js";
12
- import { resolveFieldType as Ne } from "./utils/form.utils.js";
13
- const Te = ["onKeydown"], Le = { class: "flex items-center gap-3" }, Be = { class: "flex items-center gap-2 shrink-0" }, De = { key: 0 }, qe = {
10
+ import { $t as Ue } from "../../utils/i18n.js";
11
+ import { useVLiteConfig as Ve } from "../../core/config.js";
12
+ import { resolveFieldType as ze } from "./utils/form.utils.js";
13
+ const Be = ["onKeydown"], Le = { class: "flex items-center gap-3" }, Ne = { class: "flex items-center gap-2 shrink-0" }, De = {
14
14
  key: 0,
15
- class: "flex flex-col lg:flex-row gap-10 lg:gap-12"
16
- }, He = { class: "w-full order-first lg:order-last lg:min-w-100 lg:max-w-[380px] shrink-0" }, $e = { class: "flex-1 min-w-0 order-last lg:order-first" }, Ie = { class: "text-base font-semibold text-foreground" }, Ke = {
15
+ class: "w-full order-first lg:order-last lg:min-w-100 lg:max-w-[380px] shrink-0"
16
+ }, qe = { key: 0 }, He = { class: "text-base font-semibold text-foreground" }, $e = {
17
17
  key: 0,
18
18
  class: "text-sm text-muted-foreground mt-1"
19
- }, Me = {
19
+ }, Ie = {
20
20
  key: 2,
21
21
  class: "form-step"
22
- }, Ge = { class: "text-lg font-semibold text-foreground" }, je = {
22
+ }, Ke = { class: "text-lg font-semibold text-foreground" }, Me = {
23
23
  key: 0,
24
24
  class: "text-sm text-muted-foreground mt-1"
25
- }, Ee = { class: "flex gap-3 items-center" }, lt = /* @__PURE__ */ pe({
25
+ }, Ge = { class: "flex gap-3 items-center" }, at = /* @__PURE__ */ pe({
26
26
  __name: "Form",
27
27
  props: {
28
28
  schema: {},
@@ -63,49 +63,49 @@ const Te = ["onKeydown"], Le = { class: "flex items-center gap-3" }, Be = { clas
63
63
  },
64
64
  emits: ["onSubmit", "onCancel", "onStepChange", "onAddonAction", "onBack"],
65
65
  setup(e, { emit: se }) {
66
- const l = e, g = se, f = Fe("modal-context", null), ne = ze(), H = r(() => ne?.components?.form || {}), P = r(() => l.variant ?? H.value.variant ?? "outline"), V = r(() => l.size ?? H.value.size ?? "md"), z = r(() => l.rounded ?? H.value.rounded ?? "md"), $ = r(
67
- () => l.showRequiredAsterisk ?? H.value.showRequiredAsterisk ?? !0
68
- ), oe = r(() => l.showCancel || !!f), F = r(() => !!f), N = r(() => l.stickyFooter || F.value);
69
- ee(() => {
70
- l.footer && F.value && f?.registerFormFooter?.(!0);
66
+ const l = e, h = se, v = Se("modal-context", null), ne = Ve(), B = r(() => ne?.components?.form || {}), L = r(() => l.variant ?? B.value.variant ?? "outline"), N = r(() => l.size ?? B.value.size ?? "md"), D = r(() => l.rounded ?? B.value.rounded ?? "md"), G = r(
67
+ () => l.showRequiredAsterisk ?? B.value.showRequiredAsterisk ?? !0
68
+ ), oe = r(() => l.showCancel || !!v), C = r(() => !!v), R = r(() => l.stickyFooter || C.value);
69
+ te(() => {
70
+ l.footer && C.value && v?.registerFormFooter?.(!0);
71
71
  }), O(() => {
72
- F.value && f?.registerFormFooter?.(!1);
72
+ C.value && v?.registerFormFooter?.(!1);
73
73
  });
74
- const re = K(null), j = K(null), Q = K(!1);
74
+ const re = K(null), j = K(null), W = K(!1);
75
75
  let E = null;
76
- ee(() => {
76
+ te(() => {
77
77
  j.value && (E = new IntersectionObserver(
78
78
  ([a]) => {
79
- Q.value = !a.isIntersecting;
79
+ W.value = !a.isIntersecting;
80
80
  },
81
81
  { threshold: 0 }
82
82
  ), E.observe(j.value));
83
83
  }), O(() => {
84
84
  E?.disconnect();
85
85
  });
86
- const S = r(() => !l.schema || l.schema.length === 0 ? !1 : Array.isArray(l.schema[0])), d = r(() => l.tabs && l.tabs.length > 0 && S.value), n = K(0), W = r(() => l.tabs ? l.tabs.map((a, i) => ({
86
+ const F = r(() => !l.schema || l.schema.length === 0 ? !1 : Array.isArray(l.schema[0])), u = r(() => l.tabs && l.tabs.length > 0 && F.value), n = K(0), X = r(() => l.tabs ? l.tabs.map((a, i) => ({
87
87
  id: a.id?.toString() || i.toString(),
88
88
  title: a.title,
89
89
  icon: a.icon,
90
90
  description: a.description,
91
91
  status: i < n.value ? "completed" : i === n.value ? "current" : "upcoming"
92
- })) : []), T = r(() => S.value ? l.schema : [l.schema]), X = r(() => d.value ? T.value[n.value] || [] : []), h = r(() => S.value ? null : l.schema.find((i) => Ne(i, {
92
+ })) : []), P = r(() => F.value ? l.schema : [l.schema]), Y = r(() => u.value ? P.value[n.value] || [] : []), g = r(() => u.value ? null : (F.value ? l.schema.flat() : l.schema).find((i) => ze(i, {
93
93
  values: b.value,
94
94
  globalValues: b.value,
95
95
  isUpdate: l.isUpdate
96
- }) === "thumbnailSelector") ?? null), de = r(() => !!h.value), {
96
+ }) === "thumbnailSelector") ?? null), w = r(() => !!g.value), {
97
97
  formValues: b,
98
- errors: y,
99
- isSubmitting: C,
100
- fieldLoading: L,
98
+ errors: x,
99
+ isSubmitting: k,
100
+ fieldLoading: q,
101
101
  handleFieldChange: ue,
102
- validateField: ce,
103
- validateAll: me,
104
- isFieldVisible: w,
105
- isFieldDisabled: A,
106
- isFieldReadonly: B,
107
- handleSubmit: ve,
108
- reinitialize: fe
102
+ validateField: de,
103
+ validateAll: ce,
104
+ isFieldVisible: U,
105
+ isFieldDisabled: V,
106
+ isFieldReadonly: H,
107
+ handleSubmit: me,
108
+ reinitialize: ve
109
109
  } = we({
110
110
  schema: l.schema,
111
111
  values: l.values,
@@ -113,267 +113,255 @@ const Te = ["onKeydown"], Le = { class: "flex items-center gap-3" }, Be = { clas
113
113
  folderId: l.folderId,
114
114
  emitFields: l.emitFields,
115
115
  onSubmit: (a) => {
116
- g("onSubmit", a, f?.close || (() => {
116
+ h("onSubmit", a, v?.close || (() => {
117
117
  }));
118
118
  }
119
119
  });
120
- te(
121
- () => l.loading || C.value,
120
+ ae(
121
+ () => l.loading || k.value,
122
122
  (a) => {
123
- f?.setSubmitting && f.setSubmitting(a);
123
+ v?.setSubmitting && v.setSubmitting(a);
124
124
  },
125
125
  { immediate: !0 }
126
126
  ), O(() => {
127
- f?.setSubmitting && f.setSubmitting(!1);
128
- }), te(
127
+ v?.setSubmitting && v.setSubmitting(!1);
128
+ }), ae(
129
129
  [() => l.schema, () => l.values, () => l.schemaLoading],
130
130
  ([a, i, o]) => {
131
- o || fe(a, i);
131
+ o || ve(a, i);
132
132
  }
133
133
  );
134
- const D = (a, i) => {
134
+ const $ = (a, i) => {
135
135
  ue(a, i.value, i.data);
136
- }, ge = async () => {
137
- if (!d.value) return !0;
138
- const a = X.value;
136
+ }, fe = async () => {
137
+ if (!u.value) return !0;
138
+ const a = Y.value;
139
139
  let i = !0;
140
140
  for (const o of a) {
141
- if (!w(o) || A(o)) continue;
142
- await ce(o) && (i = !1);
141
+ if (!U(o) || V(o)) continue;
142
+ await de(o) && (i = !1);
143
143
  }
144
144
  return i;
145
- }, he = r(() => d.value ? n.value < T.value.length - 1 : !1), Y = r(() => d.value ? n.value > 0 : !1), I = r(() => d.value ? n.value === T.value.length - 1 : !0), Z = async () => {
146
- !he.value || !await ge() || (n.value++, g("onStepChange", n.value));
147
- }, be = () => {
148
- Y.value && (n.value--, g("onStepChange", n.value));
149
- }, ye = (a, i) => {
150
- i <= n.value && (n.value = i, g("onStepChange", n.value));
145
+ }, ge = r(() => u.value ? n.value < P.value.length - 1 : !1), Z = r(() => u.value ? n.value > 0 : !1), I = r(() => u.value ? n.value === P.value.length - 1 : !0), _ = async () => {
146
+ !ge.value || !await fe() || (n.value++, h("onStepChange", n.value));
147
+ }, he = () => {
148
+ Z.value && (n.value--, h("onStepChange", n.value));
149
+ }, be = (a, i) => {
150
+ i <= n.value && (n.value = i, h("onStepChange", n.value));
151
151
  }, p = async () => {
152
- if (d.value) {
152
+ if (u.value) {
153
153
  if (!I.value && !l.isUpdate) {
154
- await Z();
154
+ await _();
155
155
  return;
156
156
  }
157
- if (!await me()) {
158
- const i = T.value.findIndex(
159
- (o) => o.some((k) => !!y.value[k.name])
157
+ if (!await ce()) {
158
+ const i = P.value.findIndex(
159
+ (o) => o.some((y) => !!x.value[y.name])
160
160
  );
161
- i !== -1 && i !== n.value && (n.value = i, g("onStepChange", n.value));
161
+ i !== -1 && i !== n.value && (n.value = i, h("onStepChange", n.value));
162
162
  return;
163
163
  }
164
164
  }
165
165
  try {
166
- await ve();
166
+ await me();
167
167
  } catch {
168
168
  }
169
- }, ke = (a) => {
169
+ }, ye = (a) => {
170
170
  if (a.key !== "Enter") return;
171
171
  const o = a.target.tagName.toLowerCase();
172
172
  o !== "textarea" && o !== "button" && (a.preventDefault(), p());
173
- }, _ = (a) => {
173
+ }, ee = (a) => {
174
174
  (a.metaKey || a.ctrlKey) && a.key === "s" && (a.preventDefault(), p());
175
175
  }, xe = () => {
176
- g("onCancel"), f && f?.close?.();
176
+ h("onCancel"), v && v?.close?.();
177
177
  };
178
- return (a, i) => (s(), u("form", {
178
+ return (a, i) => (s(), d("form", {
179
179
  class: m(["form-container ", l.class, e.isPage && "pb-10"]),
180
180
  onSubmit: J(p, ["prevent"]),
181
181
  onKeydown: [
182
- ke,
183
- ae(J(_, ["meta", "prevent"]), ["s"]),
184
- ae(J(_, ["ctrl", "prevent"]), ["s"])
182
+ ye,
183
+ le(J(ee, ["meta", "prevent"]), ["s"]),
184
+ le(J(ee, ["ctrl", "prevent"]), ["s"])
185
185
  ]
186
186
  }, [
187
- e.isPage ? (s(), u("div", {
187
+ e.isPage ? (s(), d("div", {
188
188
  key: 0,
189
189
  class: m([
190
190
  "form-page-header sticky top-0 z-30 bg-background flex items-center justify-between pb-3.5 pt-4 -mt-3.5 mb-4.5",
191
191
  e.pageHeaderClass
192
192
  ])
193
193
  }, [
194
- v("div", Le, [
195
- R(Ue, M(e.backButtonProps, {
194
+ f("div", Le, [
195
+ A(Re, M(e.backButtonProps, {
196
196
  fallback: e.backButtonPath,
197
197
  class: "max-sm:w-8 max-sm:h-8 max-sm:min-w-8 max-sm:min-h-8 max-sm:px-0 shrink-0"
198
198
  }), null, 16, ["fallback"]),
199
- v("h1", {
199
+ f("h1", {
200
200
  class: m(["text-foreground max-sm:text-lg text-fs-5 truncate", e.pageTitleClass])
201
- }, q(e.pageTitleI18n ? t(Ve)(e.pageTitleI18n) : e.pageTitle), 3)
201
+ }, z(e.pageTitleI18n ? t(Ue)(e.pageTitleI18n) : e.pageTitle), 3)
202
202
  ]),
203
- v("div", Be, [
203
+ f("div", Ne, [
204
204
  ie(a.$slots, "header-actions", {
205
205
  values: t(b),
206
- isSubmitting: t(C),
206
+ isSubmitting: t(k),
207
207
  handleSubmit: p
208
208
  }, void 0, !0),
209
- R(U, M({
209
+ A(T, M({
210
210
  type: "button",
211
211
  variant: e.isUpdate ? "outline" : "primary",
212
212
  text: e.submitText
213
213
  }, e.submitProps, {
214
214
  disabled: e.schemaLoading,
215
- loading: e.loading || t(C),
215
+ loading: e.loading || t(k),
216
216
  onClick: p,
217
217
  class: "max-sm:hidden"
218
218
  }), null, 16, ["variant", "text", "disabled", "loading"])
219
219
  ])
220
220
  ], 2)) : c("", !0),
221
- !e.schemaLoading && d.value && W.value.length > 0 ? (s(), u("div", {
221
+ !e.schemaLoading && u.value && X.value.length > 0 ? (s(), d("div", {
222
222
  key: 1,
223
223
  class: m(["form-timeline", e.timelineTextPosition == "right" ? "mb-6.5" : "mb-13"])
224
224
  }, [
225
- R(t(Pe), {
226
- steps: W.value,
225
+ A(t(Pe), {
226
+ steps: X.value,
227
227
  activeStep: n.value,
228
228
  direction: "horizontal",
229
229
  textPosition: e.timelineTextPosition,
230
230
  clickable: !0,
231
- onStepClick: ye
231
+ onStepClick: be
232
232
  }, null, 8, ["steps", "activeStep", "textPosition"])
233
233
  ], 2)) : c("", !0),
234
- v("div", {
235
- class: m(e.footer && N.value ? "pb-2" : "")
234
+ f("div", {
235
+ class: m(e.footer && R.value ? "pb-2" : "")
236
236
  }, [
237
- e.schemaLoading ? (s(), x(Re, {
237
+ e.schemaLoading ? (s(), S(Te, {
238
238
  key: 0,
239
- isGrouped: S.value
240
- }, null, 8, ["isGrouped"])) : (s(), u(le, { key: 1 }, [
241
- S.value ? S.value && !d.value ? (s(), u("div", {
242
- key: 1,
243
- class: m(["form-groups space-y-6", e.groupContainerClass])
239
+ isGrouped: F.value
240
+ }, null, 8, ["isGrouped"])) : (s(), d("div", {
241
+ key: 1,
242
+ class: m(w.value ? "flex flex-col lg:flex-row gap-10 lg:gap-16" : "")
243
+ }, [
244
+ w.value ? (s(), d("div", De, [
245
+ g.value && t(U)(g.value) ? (s(), S(Ae, {
246
+ key: 0,
247
+ field: g.value,
248
+ value: t(b)[g.value.name],
249
+ values: t(b),
250
+ errors: t(x),
251
+ variant: L.value,
252
+ size: N.value,
253
+ rounded: D.value,
254
+ disabled: t(V)(g.value),
255
+ readonly: t(H)(g.value),
256
+ error: t(x)[g.value.name] || "",
257
+ isUpdate: e.isUpdate,
258
+ loading: t(q)[g.value?.name],
259
+ onChange: i[0] || (i[0] = (o) => $(g.value.name, o))
260
+ }, null, 8, ["field", "value", "values", "errors", "variant", "size", "rounded", "disabled", "readonly", "error", "isUpdate", "loading"])) : c("", !0)
261
+ ])) : c("", !0),
262
+ f("div", {
263
+ class: m(w.value ? "flex-1 min-w-0 order-last lg:order-first" : "w-full")
244
264
  }, [
245
- (s(!0), u(le, null, Se(T.value, (o, k) => (s(), u("div", {
246
- key: k,
247
- class: m(["form-group border rounded overflow-hidden bg-body", e.groupClass])
265
+ F.value ? F.value && !u.value ? (s(), d("div", {
266
+ key: 1,
267
+ class: m(["form-groups space-y-6", e.groupContainerClass])
248
268
  }, [
249
- e.groupsHeadings?.[k] ? (s(), u("div", {
269
+ (s(!0), d(Ce, null, Fe(P.value, (o, y) => (s(), d("div", {
270
+ key: y,
271
+ class: m(["form-group border rounded overflow-hidden bg-body", e.groupClass])
272
+ }, [
273
+ e.groupsHeadings?.[y] ? (s(), d("div", {
274
+ key: 0,
275
+ class: m(["form-group-header bg-muted/50 px-4 py-2.5 border-b", e.headerClass])
276
+ }, [
277
+ f("h3", He, z(e.groupsHeadings[y]), 1),
278
+ e.groupHeadingsDescription?.[y] ? (s(), d("p", $e, z(e.groupHeadingsDescription[y]), 1)) : c("", !0)
279
+ ], 2)) : c("", !0),
280
+ f("div", {
281
+ class: m(["form-group-body p-4.5", e.groupBodyClass])
282
+ }, [
283
+ A(Q, {
284
+ schema: o,
285
+ values: t(b),
286
+ errors: t(x),
287
+ fieldLoading: t(q),
288
+ variant: L.value,
289
+ size: N.value,
290
+ rounded: D.value,
291
+ className: e.className,
292
+ isUpdate: e.isUpdate,
293
+ showRequiredAsterisk: G.value,
294
+ isFieldVisible: t(U),
295
+ isFieldDisabled: t(V),
296
+ isFieldReadonly: t(H),
297
+ excludeTypes: w.value ? ["thumbnailSelector"] : [],
298
+ onChange: $,
299
+ onAddonAction: i[2] || (i[2] = (ke) => h("onAddonAction", ke))
300
+ }, null, 8, ["schema", "values", "errors", "fieldLoading", "variant", "size", "rounded", "className", "isUpdate", "showRequiredAsterisk", "isFieldVisible", "isFieldDisabled", "isFieldReadonly", "excludeTypes"])
301
+ ], 2)
302
+ ], 2))), 128))
303
+ ], 2)) : u.value ? (s(), d("div", Ie, [
304
+ e.tabs?.[n.value] ? (s(), d("div", {
250
305
  key: 0,
251
- class: m(["form-group-header bg-muted/50 px-4 py-2.5 border-b", e.headerClass])
306
+ class: m(["form-step-header mb-6", e.headerClass])
252
307
  }, [
253
- v("h3", Ie, q(e.groupsHeadings[k]), 1),
254
- e.groupHeadingsDescription?.[k] ? (s(), u("p", Ke, q(e.groupHeadingsDescription[k]), 1)) : c("", !0)
308
+ f("h2", Ke, z(e.tabs[n.value].title), 1),
309
+ e.tabs[n.value].description ? (s(), d("p", Me, z(e.tabs[n.value].description), 1)) : c("", !0)
255
310
  ], 2)) : c("", !0),
256
- v("div", {
257
- class: m(["form-group-body p-4.5", e.groupBodyClass])
258
- }, [
259
- R(G, {
260
- schema: o,
261
- values: t(b),
262
- errors: t(y),
263
- fieldLoading: t(L),
264
- variant: P.value,
265
- size: V.value,
266
- rounded: z.value,
267
- className: e.className,
268
- isUpdate: e.isUpdate,
269
- showRequiredAsterisk: $.value,
270
- isFieldVisible: t(w),
271
- isFieldDisabled: t(A),
272
- isFieldReadonly: t(B),
273
- onChange: D,
274
- onAddonAction: i[3] || (i[3] = (Ce) => g("onAddonAction", Ce))
275
- }, null, 8, ["schema", "values", "errors", "fieldLoading", "variant", "size", "rounded", "className", "isUpdate", "showRequiredAsterisk", "isFieldVisible", "isFieldDisabled", "isFieldReadonly"])
276
- ], 2)
277
- ], 2))), 128))
278
- ], 2)) : d.value ? (s(), u("div", Me, [
279
- e.tabs?.[n.value] ? (s(), u("div", {
280
- key: 0,
281
- class: m(["form-step-header mb-6", e.headerClass])
282
- }, [
283
- v("h2", Ge, q(e.tabs[n.value].title), 1),
284
- e.tabs[n.value].description ? (s(), u("p", je, q(e.tabs[n.value].description), 1)) : c("", !0)
285
- ], 2)) : c("", !0),
286
- R(G, {
287
- schema: X.value,
311
+ A(Q, {
312
+ schema: Y.value,
313
+ values: t(b),
314
+ errors: t(x),
315
+ fieldLoading: t(q),
316
+ variant: L.value,
317
+ size: N.value,
318
+ rounded: D.value,
319
+ className: e.className,
320
+ isUpdate: e.isUpdate,
321
+ showRequiredAsterisk: G.value,
322
+ isFieldVisible: t(U),
323
+ isFieldDisabled: t(V),
324
+ isFieldReadonly: t(H),
325
+ excludeTypes: w.value ? ["thumbnailSelector"] : [],
326
+ onChange: $,
327
+ onAddonAction: i[3] || (i[3] = (o) => h("onAddonAction", o))
328
+ }, null, 8, ["schema", "values", "errors", "fieldLoading", "variant", "size", "rounded", "className", "isUpdate", "showRequiredAsterisk", "isFieldVisible", "isFieldDisabled", "isFieldReadonly", "excludeTypes"])
329
+ ])) : c("", !0) : (s(), d("div", qe, [
330
+ A(Q, {
331
+ schema: e.schema,
332
+ values: t(b),
333
+ errors: t(x),
334
+ fieldLoading: t(q),
335
+ variant: L.value,
336
+ size: N.value,
337
+ rounded: D.value,
338
+ className: e.className,
339
+ isUpdate: e.isUpdate,
340
+ showRequiredAsterisk: G.value,
341
+ isFieldVisible: t(U),
342
+ isFieldDisabled: t(V),
343
+ isFieldReadonly: t(H),
344
+ excludeTypes: w.value ? ["thumbnailSelector"] : [],
345
+ onChange: $,
346
+ onAddonAction: i[1] || (i[1] = (o) => h("onAddonAction", o))
347
+ }, null, 8, ["schema", "values", "errors", "fieldLoading", "variant", "size", "rounded", "className", "isUpdate", "showRequiredAsterisk", "isFieldVisible", "isFieldDisabled", "isFieldReadonly", "excludeTypes"])
348
+ ])),
349
+ ie(a.$slots, "default", {
288
350
  values: t(b),
289
- errors: t(y),
290
- fieldLoading: t(L),
291
- variant: P.value,
292
- size: V.value,
293
- rounded: z.value,
294
- className: e.className,
295
- isUpdate: e.isUpdate,
296
- showRequiredAsterisk: $.value,
297
- isFieldVisible: t(w),
298
- isFieldDisabled: t(A),
299
- isFieldReadonly: t(B),
300
- onChange: D,
301
- onAddonAction: i[4] || (i[4] = (o) => g("onAddonAction", o))
302
- }, null, 8, ["schema", "values", "errors", "fieldLoading", "variant", "size", "rounded", "className", "isUpdate", "showRequiredAsterisk", "isFieldVisible", "isFieldDisabled", "isFieldReadonly"])
303
- ])) : c("", !0) : (s(), u("div", De, [
304
- de.value ? (s(), u("div", qe, [
305
- v("div", He, [
306
- h.value && t(w)(h.value) ? (s(), x(Ae, {
307
- key: 0,
308
- field: h.value,
309
- value: t(b)[h.value.name],
310
- values: t(b),
311
- errors: t(y),
312
- variant: P.value,
313
- size: V.value,
314
- rounded: z.value,
315
- disabled: t(A)(h.value),
316
- readonly: t(B)(h.value),
317
- error: t(y)[h.value.name] || "",
318
- isUpdate: e.isUpdate,
319
- loading: t(L)[h.value?.name],
320
- onChange: i[0] || (i[0] = (o) => D(h.value.name, o))
321
- }, null, 8, ["field", "value", "values", "errors", "variant", "size", "rounded", "disabled", "readonly", "error", "isUpdate", "loading"])) : c("", !0)
322
- ]),
323
- v("div", $e, [
324
- R(G, {
325
- schema: e.schema,
326
- values: t(b),
327
- errors: t(y),
328
- fieldLoading: t(L),
329
- variant: P.value,
330
- size: V.value,
331
- rounded: z.value,
332
- className: e.className,
333
- isUpdate: e.isUpdate,
334
- showRequiredAsterisk: $.value,
335
- isFieldVisible: t(w),
336
- isFieldDisabled: t(A),
337
- isFieldReadonly: t(B),
338
- excludeTypes: ["thumbnailSelector"],
339
- onChange: D,
340
- onAddonAction: i[1] || (i[1] = (o) => g("onAddonAction", o))
341
- }, null, 8, ["schema", "values", "errors", "fieldLoading", "variant", "size", "rounded", "className", "isUpdate", "showRequiredAsterisk", "isFieldVisible", "isFieldDisabled", "isFieldReadonly"])
342
- ])
343
- ])) : (s(), x(G, {
344
- key: 1,
345
- schema: e.schema,
346
- values: t(b),
347
- errors: t(y),
348
- fieldLoading: t(L),
349
- variant: P.value,
350
- size: V.value,
351
- rounded: z.value,
352
- className: e.className,
353
- isUpdate: e.isUpdate,
354
- showRequiredAsterisk: $.value,
355
- isFieldVisible: t(w),
356
- isFieldDisabled: t(A),
357
- isFieldReadonly: t(B),
358
- onChange: D,
359
- onAddonAction: i[2] || (i[2] = (o) => g("onAddonAction", o))
360
- }, null, 8, ["schema", "values", "errors", "fieldLoading", "variant", "size", "rounded", "className", "isUpdate", "showRequiredAsterisk", "isFieldVisible", "isFieldDisabled", "isFieldReadonly"]))
361
- ])),
362
- ie(a.$slots, "default", {
363
- values: t(b),
364
- errors: t(y),
365
- isSubmitting: t(C),
366
- handleSubmit: p
367
- }, void 0, !0)
368
- ], 64)),
369
- v("div", {
351
+ errors: t(x),
352
+ isSubmitting: t(k),
353
+ handleSubmit: p
354
+ }, void 0, !0)
355
+ ], 2)
356
+ ], 2)),
357
+ f("div", {
370
358
  ref_key: "sentinelRef",
371
359
  ref: j,
372
360
  class: "form-scroll-sentinel h-px w-full",
373
361
  "aria-hidden": "true"
374
362
  }, null, 512)
375
363
  ], 2),
376
- e.footer && !e.schemaLoading ? (s(), u("div", {
364
+ e.footer && !e.schemaLoading ? (s(), d("div", {
377
365
  key: 2,
378
366
  ref_key: "footerRef",
379
367
  ref: re,
@@ -381,72 +369,72 @@ const Te = ["onKeydown"], Le = { class: "flex items-center gap-3" }, Be = { clas
381
369
  "form-footer items-center gap-3 z-20 rounded-b-md!",
382
370
  e.isPage ? "flex sm:hidden" : "flex",
383
371
  e.footerClass,
384
- d.value ? "justify-between" : "justify-end",
372
+ u.value ? "justify-between" : "justify-end",
385
373
  // Sticky footer: always applied when inside a modal or when stickyFooter prop is set.
386
374
  // `sticky bottom-0` anchors the footer to the bottom of the nearest scrollable ancestor
387
375
  // (the modal's overflow-y-auto body), keeping it visible at all times without leaving
388
376
  // the normal document flow (unlike `fixed` which would escape the modal bounds).
389
- N.value ? "sticky bottom-0 bg-body pt-3 pb-3 -mx-0.5 px-0.5 mt-6 border-t border-border/75" : "mt-6",
377
+ R.value ? "sticky bottom-0 bg-body pt-3 pb-3 -mx-0.5 px-0.5 mt-6 border-t border-border/75" : "mt-6",
390
378
  // Show a subtle top shadow while content is scrolling beneath the sticky footer
391
- (N.value && Q.value, ""),
379
+ (R.value && W.value, ""),
392
380
  // Inside modal: extend footer flush to modal edge padding
393
- F.value ? "-mx-4 px-4 pb-3! mt-7.5!" : "",
381
+ C.value ? "-mx-4 px-4 pb-3! mt-7.5!" : "",
394
382
  // Non-sticky inside modal keeps the original border styling
395
- !N.value && F.value ? "border-t border-border/75 mt-5" : "",
396
- !N.value && !F.value ? "mt-6" : ""
383
+ !R.value && C.value ? "border-t border-border/75 mt-5" : "",
384
+ !R.value && !C.value ? "mt-6" : ""
397
385
  ])
398
386
  }, [
399
- v("div", Ee, [
400
- oe.value ? (s(), x(U, {
387
+ f("div", Ge, [
388
+ oe.value ? (s(), S(T, {
401
389
  key: 0,
402
390
  type: "button",
403
391
  variant: "outline",
404
392
  text: e.cancelText,
405
- disabled: e.loading || t(C),
393
+ disabled: e.loading || t(k),
406
394
  onClick: xe
407
395
  }, null, 8, ["text", "disabled"])) : c("", !0),
408
- d.value && e.isUpdate && !I.value ? (s(), x(U, M({
396
+ u.value && e.isUpdate && !I.value ? (s(), S(T, M({
409
397
  key: 1,
410
398
  type: "button",
411
399
  variant: "primary",
412
400
  text: e.submitText
413
401
  }, e.submitProps, {
414
- loading: e.loading || t(C),
402
+ loading: e.loading || t(k),
415
403
  onClick: p
416
404
  }), null, 16, ["text", "loading"])) : c("", !0)
417
405
  ]),
418
- v("div", {
419
- class: m(["flex gap-3 items-center", d.value && "ml-auto"])
406
+ f("div", {
407
+ class: m(["flex gap-3 items-center", u.value && "ml-auto"])
420
408
  }, [
421
- d.value && Y.value ? (s(), x(U, {
409
+ u.value && Z.value ? (s(), S(T, {
422
410
  key: 0,
423
411
  type: "button",
424
412
  variant: "outline",
425
413
  icon: "lucide:arrow-left",
426
414
  text: "Previous",
427
- onClick: be
415
+ onClick: he
428
416
  })) : c("", !0),
429
- d.value && !I.value ? (s(), x(U, {
417
+ u.value && !I.value ? (s(), S(T, {
430
418
  key: 1,
431
419
  type: "button",
432
420
  variant: e.isUpdate ? "outline" : "primary",
433
421
  text: "Next",
434
422
  iconRight: "lucide:arrow-right",
435
- onClick: Z
423
+ onClick: _
436
424
  }, null, 8, ["variant"])) : c("", !0),
437
- !d.value || I.value ? (s(), x(U, M({
425
+ !u.value || I.value ? (s(), S(T, M({
438
426
  key: 2,
439
427
  type: "submit",
440
428
  variant: "primary",
441
429
  text: e.submitText
442
430
  }, e.submitProps, {
443
- loading: e.loading || t(C)
431
+ loading: e.loading || t(k)
444
432
  }), null, 16, ["text", "loading"])) : c("", !0)
445
433
  ], 2)
446
434
  ], 2)) : c("", !0)
447
- ], 42, Te));
435
+ ], 42, Be));
448
436
  }
449
437
  });
450
438
  export {
451
- lt as default
439
+ at as default
452
440
  };