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.
- package/components/AttachmentsList/AttachmentsList.vue.d.ts +1 -16
- package/components/AttachmentsList/AttachmentsList.vue.js +191 -167
- package/components/AvatarUploader/AvatarUploader.vue.d.ts +1 -1
- package/components/Button.vue.d.ts +1 -1
- package/components/Calendar/Calendar.vue.d.ts +6 -6
- package/components/Carousel/Carousel.vue.d.ts +2 -2
- package/components/CategoryManager/CategoryManager.vue.d.ts +2 -1
- package/components/CategoryManager/CategoryManager.vue.js +187 -147
- package/components/CategoryManager/types.d.ts +14 -0
- package/components/Chip/Chip.vue.d.ts +2 -2
- package/components/CommandPalette/CommandPaletteContent.vue2.js +1 -1
- package/components/CommandPalette/{CommandPaletteItem.vue2.js → CommandPaletteItem.vue.js} +1 -1
- package/components/ConfirmationModal.vue.d.ts +2 -2
- package/components/CustomFieldsDisplay/CustomFieldsDisplay.vue.d.ts +1 -1
- package/components/DataTable/DataTable.vue.d.ts +3 -3
- package/components/Dropdown/Dropdown.vue.d.ts +2 -2
- package/components/Dropdown/DropdownGroupedLayout.vue.d.ts +1 -1
- package/components/Dropdown/DropdownMenu.vue.d.ts +1 -1
- package/components/Dropdown/DropdownTrigger.vue.d.ts +1 -1
- package/components/FilePicker/FilePicker.vue.d.ts +1 -1
- package/components/Form/Form.vue.js +2 -2
- package/components/Form/Form.vue2.js +220 -232
- package/components/Form/FormField.vue.d.ts +1 -1
- package/components/Input.vue.d.ts +3 -3
- package/components/Invoice/Invoice.vue.d.ts +1 -4
- package/components/Invoice/Invoice.vue.js +20 -13
- package/components/Invoice/InvoiceVariant1.vue.d.ts +3 -0
- package/components/Invoice/InvoiceVariant1.vue.js +302 -256
- package/components/Invoice/InvoiceVariant2.vue.d.ts +3 -0
- package/components/Invoice/InvoiceVariant2.vue.js +164 -168
- package/components/Invoice/InvoiceVariant3.vue.d.ts +3 -0
- package/components/Invoice/InvoiceVariant3.vue.js +213 -170
- package/components/Invoice/InvoiceVariant4.vue.d.ts +3 -0
- package/components/Invoice/InvoiceVariant4.vue.js +280 -227
- package/components/Invoice/types.d.ts +4 -0
- package/components/List/List.vue.d.ts +1 -9
- package/components/List/List.vue.js +166 -165
- package/components/List/ListFieldRow.vue.d.ts +2 -2
- package/components/List/ListFieldRow.vue.js +50 -50
- package/components/MultiSelect/MultiSelect.vue.d.ts +1 -1
- package/components/Navbar/NavbarItem.vue.d.ts +1 -1
- package/components/NavbarCommandPalette.vue.js +1 -1
- package/components/NumberInput.vue.d.ts +2 -2
- package/components/OTPInput/OTPInput.vue.d.ts +1 -1
- package/components/PricingPlan/PricingPlan.vue.d.ts +1 -1
- package/components/SidebarMenu/SidebarMenu.vue.d.ts +1 -1
- package/components/Stats/Stats.vue.d.ts +1 -1
- package/components/StatusChip/status-map.js +27 -7
- package/components/ThumbnailSelector/ThumbnailSelector.vue.d.ts +2 -2
- package/components/Workbook/Workbook.vue.d.ts +3 -3
- package/core/config.d.ts +76 -0
- package/core/index.js +17 -5
- package/index.js +264 -262
- package/package.json +1 -1
- package/style.css +2 -2
- package/types/config.type.d.ts +6 -0
- package/types/list.type.d.ts +6 -0
- package/utils/configUtils.d.ts +9 -0
- package/utils/configUtils.js +7 -0
- package/utils/index.d.ts +1 -0
|
@@ -1,28 +1,28 @@
|
|
|
1
|
-
import { defineComponent as pe, inject as
|
|
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
|
|
3
|
+
import Q from "./FormFields.vue.js";
|
|
4
4
|
import Ae from "./FormField.vue.js";
|
|
5
|
-
import
|
|
6
|
-
import
|
|
7
|
-
import
|
|
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
|
|
11
|
-
import { useVLiteConfig as
|
|
12
|
-
import { resolveFieldType as
|
|
13
|
-
const
|
|
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: "
|
|
16
|
-
},
|
|
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
|
-
},
|
|
19
|
+
}, Ie = {
|
|
20
20
|
key: 2,
|
|
21
21
|
class: "form-step"
|
|
22
|
-
},
|
|
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
|
-
},
|
|
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,
|
|
67
|
-
() => l.showRequiredAsterisk ??
|
|
68
|
-
), oe = r(() => l.showCancel || !!
|
|
69
|
-
|
|
70
|
-
l.footer &&
|
|
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
|
-
|
|
72
|
+
C.value && v?.registerFormFooter?.(!1);
|
|
73
73
|
});
|
|
74
|
-
const re = K(null), j = K(null),
|
|
74
|
+
const re = K(null), j = K(null), W = K(!1);
|
|
75
75
|
let E = null;
|
|
76
|
-
|
|
76
|
+
te(() => {
|
|
77
77
|
j.value && (E = new IntersectionObserver(
|
|
78
78
|
([a]) => {
|
|
79
|
-
|
|
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
|
|
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
|
-
})) : []),
|
|
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),
|
|
96
|
+
}) === "thumbnailSelector") ?? null), w = r(() => !!g.value), {
|
|
97
97
|
formValues: b,
|
|
98
|
-
errors:
|
|
99
|
-
isSubmitting:
|
|
100
|
-
fieldLoading:
|
|
98
|
+
errors: x,
|
|
99
|
+
isSubmitting: k,
|
|
100
|
+
fieldLoading: q,
|
|
101
101
|
handleFieldChange: ue,
|
|
102
|
-
validateField:
|
|
103
|
-
validateAll:
|
|
104
|
-
isFieldVisible:
|
|
105
|
-
isFieldDisabled:
|
|
106
|
-
isFieldReadonly:
|
|
107
|
-
handleSubmit:
|
|
108
|
-
reinitialize:
|
|
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
|
-
|
|
116
|
+
h("onSubmit", a, v?.close || (() => {
|
|
117
117
|
}));
|
|
118
118
|
}
|
|
119
119
|
});
|
|
120
|
-
|
|
121
|
-
() => l.loading ||
|
|
120
|
+
ae(
|
|
121
|
+
() => l.loading || k.value,
|
|
122
122
|
(a) => {
|
|
123
|
-
|
|
123
|
+
v?.setSubmitting && v.setSubmitting(a);
|
|
124
124
|
},
|
|
125
125
|
{ immediate: !0 }
|
|
126
126
|
), O(() => {
|
|
127
|
-
|
|
128
|
-
}),
|
|
127
|
+
v?.setSubmitting && v.setSubmitting(!1);
|
|
128
|
+
}), ae(
|
|
129
129
|
[() => l.schema, () => l.values, () => l.schemaLoading],
|
|
130
130
|
([a, i, o]) => {
|
|
131
|
-
o ||
|
|
131
|
+
o || ve(a, i);
|
|
132
132
|
}
|
|
133
133
|
);
|
|
134
|
-
const
|
|
134
|
+
const $ = (a, i) => {
|
|
135
135
|
ue(a, i.value, i.data);
|
|
136
|
-
},
|
|
137
|
-
if (!
|
|
138
|
-
const a =
|
|
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 (!
|
|
142
|
-
await
|
|
141
|
+
if (!U(o) || V(o)) continue;
|
|
142
|
+
await de(o) && (i = !1);
|
|
143
143
|
}
|
|
144
144
|
return i;
|
|
145
|
-
},
|
|
146
|
-
!
|
|
147
|
-
},
|
|
148
|
-
|
|
149
|
-
},
|
|
150
|
-
i <= n.value && (n.value = i,
|
|
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 (
|
|
152
|
+
if (u.value) {
|
|
153
153
|
if (!I.value && !l.isUpdate) {
|
|
154
|
-
await
|
|
154
|
+
await _();
|
|
155
155
|
return;
|
|
156
156
|
}
|
|
157
|
-
if (!await
|
|
158
|
-
const i =
|
|
159
|
-
(o) => o.some((
|
|
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,
|
|
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
|
|
166
|
+
await me();
|
|
167
167
|
} catch {
|
|
168
168
|
}
|
|
169
|
-
},
|
|
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
|
-
},
|
|
173
|
+
}, ee = (a) => {
|
|
174
174
|
(a.metaKey || a.ctrlKey) && a.key === "s" && (a.preventDefault(), p());
|
|
175
175
|
}, xe = () => {
|
|
176
|
-
|
|
176
|
+
h("onCancel"), v && v?.close?.();
|
|
177
177
|
};
|
|
178
|
-
return (a, i) => (s(),
|
|
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
|
-
|
|
183
|
-
|
|
184
|
-
|
|
182
|
+
ye,
|
|
183
|
+
le(J(ee, ["meta", "prevent"]), ["s"]),
|
|
184
|
+
le(J(ee, ["ctrl", "prevent"]), ["s"])
|
|
185
185
|
]
|
|
186
186
|
}, [
|
|
187
|
-
e.isPage ? (s(),
|
|
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
|
-
|
|
195
|
-
|
|
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
|
-
|
|
199
|
+
f("h1", {
|
|
200
200
|
class: m(["text-foreground max-sm:text-lg text-fs-5 truncate", e.pageTitleClass])
|
|
201
|
-
},
|
|
201
|
+
}, z(e.pageTitleI18n ? t(Ue)(e.pageTitleI18n) : e.pageTitle), 3)
|
|
202
202
|
]),
|
|
203
|
-
|
|
203
|
+
f("div", Ne, [
|
|
204
204
|
ie(a.$slots, "header-actions", {
|
|
205
205
|
values: t(b),
|
|
206
|
-
isSubmitting: t(
|
|
206
|
+
isSubmitting: t(k),
|
|
207
207
|
handleSubmit: p
|
|
208
208
|
}, void 0, !0),
|
|
209
|
-
|
|
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(
|
|
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 &&
|
|
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
|
-
|
|
226
|
-
steps:
|
|
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:
|
|
231
|
+
onStepClick: be
|
|
232
232
|
}, null, 8, ["steps", "activeStep", "textPosition"])
|
|
233
233
|
], 2)) : c("", !0),
|
|
234
|
-
|
|
235
|
-
class: m(e.footer &&
|
|
234
|
+
f("div", {
|
|
235
|
+
class: m(e.footer && R.value ? "pb-2" : "")
|
|
236
236
|
}, [
|
|
237
|
-
e.schemaLoading ? (s(),
|
|
237
|
+
e.schemaLoading ? (s(), S(Te, {
|
|
238
238
|
key: 0,
|
|
239
|
-
isGrouped:
|
|
240
|
-
}, null, 8, ["isGrouped"])) : (s(),
|
|
241
|
-
|
|
242
|
-
|
|
243
|
-
|
|
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
|
-
|
|
246
|
-
key:
|
|
247
|
-
class: m(["form-
|
|
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
|
-
|
|
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-
|
|
306
|
+
class: m(["form-step-header mb-6", e.headerClass])
|
|
252
307
|
}, [
|
|
253
|
-
|
|
254
|
-
e.
|
|
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
|
-
|
|
257
|
-
|
|
258
|
-
|
|
259
|
-
|
|
260
|
-
|
|
261
|
-
|
|
262
|
-
|
|
263
|
-
|
|
264
|
-
|
|
265
|
-
|
|
266
|
-
|
|
267
|
-
|
|
268
|
-
|
|
269
|
-
|
|
270
|
-
|
|
271
|
-
|
|
272
|
-
|
|
273
|
-
|
|
274
|
-
|
|
275
|
-
|
|
276
|
-
|
|
277
|
-
|
|
278
|
-
|
|
279
|
-
|
|
280
|
-
|
|
281
|
-
|
|
282
|
-
|
|
283
|
-
|
|
284
|
-
|
|
285
|
-
|
|
286
|
-
|
|
287
|
-
|
|
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(
|
|
290
|
-
|
|
291
|
-
|
|
292
|
-
|
|
293
|
-
|
|
294
|
-
|
|
295
|
-
|
|
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(),
|
|
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
|
-
|
|
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
|
-
|
|
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
|
-
(
|
|
379
|
+
(R.value && W.value, ""),
|
|
392
380
|
// Inside modal: extend footer flush to modal edge padding
|
|
393
|
-
|
|
381
|
+
C.value ? "-mx-4 px-4 pb-3! mt-7.5!" : "",
|
|
394
382
|
// Non-sticky inside modal keeps the original border styling
|
|
395
|
-
!
|
|
396
|
-
!
|
|
383
|
+
!R.value && C.value ? "border-t border-border/75 mt-5" : "",
|
|
384
|
+
!R.value && !C.value ? "mt-6" : ""
|
|
397
385
|
])
|
|
398
386
|
}, [
|
|
399
|
-
|
|
400
|
-
oe.value ? (s(),
|
|
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(
|
|
393
|
+
disabled: e.loading || t(k),
|
|
406
394
|
onClick: xe
|
|
407
395
|
}, null, 8, ["text", "disabled"])) : c("", !0),
|
|
408
|
-
|
|
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(
|
|
402
|
+
loading: e.loading || t(k),
|
|
415
403
|
onClick: p
|
|
416
404
|
}), null, 16, ["text", "loading"])) : c("", !0)
|
|
417
405
|
]),
|
|
418
|
-
|
|
419
|
-
class: m(["flex gap-3 items-center",
|
|
406
|
+
f("div", {
|
|
407
|
+
class: m(["flex gap-3 items-center", u.value && "ml-auto"])
|
|
420
408
|
}, [
|
|
421
|
-
|
|
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:
|
|
415
|
+
onClick: he
|
|
428
416
|
})) : c("", !0),
|
|
429
|
-
|
|
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:
|
|
423
|
+
onClick: _
|
|
436
424
|
}, null, 8, ["variant"])) : c("", !0),
|
|
437
|
-
!
|
|
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(
|
|
431
|
+
loading: e.loading || t(k)
|
|
444
432
|
}), null, 16, ["text", "loading"])) : c("", !0)
|
|
445
433
|
], 2)
|
|
446
434
|
], 2)) : c("", !0)
|
|
447
|
-
], 42,
|
|
435
|
+
], 42, Be));
|
|
448
436
|
}
|
|
449
437
|
});
|
|
450
438
|
export {
|
|
451
|
-
|
|
439
|
+
at as default
|
|
452
440
|
};
|