@effect-app/vue-components 2.7.3 → 2.7.5
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/vue-components.es10.js +169 -182
- package/dist/vue-components.es11.js +2 -2
- package/dist/vue-components.es16.js +10 -11
- package/dist/vue-components.es17.js +5 -10
- package/dist/vue-components.es18.js +55 -5
- package/dist/vue-components.es19.js +63 -50
- package/dist/vue-components.es20.js +6 -68
- package/dist/vue-components.es21.js +4 -4
- package/dist/vue-components.es22.js +3 -6
- package/dist/vue-components.es23.js +3 -3
- package/dist/vue-components.es24.js +2 -3
- package/dist/vue-components.es25.js +1 -1
- package/dist/vue-components.es26.js +1 -1
- package/dist/vue-components.es27.js +1 -1
- package/dist/vue-components.es28.js +17 -2
- package/dist/vue-components.es29.js +10 -16
- package/dist/vue-components.es30.js +41 -191
- package/dist/vue-components.es31.js +4 -0
- package/dist/vue-components.es32.js +2 -42
- package/dist/vue-components.es33.js +89 -2
- package/dist/vue-components.es35.js +7 -89
- package/dist/vue-components.es36.js +34 -0
- package/dist/vue-components.es38.js +187 -27
- package/dist/vue-components.es40.js +1 -1
- package/dist/vue-components.es5.js +1 -1
- package/dist/vue-components.es7.js +1 -1
- package/package.json +3 -3
- package/src/components/OmegaForm/useOmegaForm.ts +7 -54
- package/dist/vue-components.es34.js +0 -4
- package/dist/vue-components.es37.js +0 -9
|
@@ -1,4 +1,91 @@
|
|
|
1
|
-
import
|
|
1
|
+
import { defineComponent as y, getCurrentInstance as E, computed as C, createBlock as n, openBlock as e, Transition as x, withCtx as o, createElementBlock as d, createCommentVNode as B, renderSlot as b, normalizeProps as I, guardReactiveProps as w, resolveDynamicComponent as s, unref as a, normalizeClass as V, createElementVNode as c, toDisplayString as u, Fragment as p, renderList as _, createTextVNode as k } from "vue";
|
|
2
|
+
import { mdiLink as N } from "@mdi/js";
|
|
3
|
+
import { useIntl as z } from "./vue-components.es3.js";
|
|
4
|
+
const D = {
|
|
5
|
+
key: 0,
|
|
6
|
+
class: "error-alert"
|
|
7
|
+
}, G = { class: "text-h6 mb-3" }, L = { class: "font-weight-medium" }, M = { class: "error-message" }, O = ["href"], P = { key: 1 }, A = /* @__PURE__ */ y({
|
|
8
|
+
__name: "OmegaErrorsInternal",
|
|
9
|
+
props: {
|
|
10
|
+
generalErrors: {},
|
|
11
|
+
errors: {}
|
|
12
|
+
},
|
|
13
|
+
setup(t) {
|
|
14
|
+
const m = E()?.appContext.components.VAlert, h = t, { trans: g } = z(), f = C(() => h.generalErrors ? h.generalErrors.filter((i) => !!i).flatMap(
|
|
15
|
+
(i) => Object.values(i).filter((l) => !!l).flatMap(
|
|
16
|
+
(l) => l.filter(
|
|
17
|
+
(r) => !!r?.message
|
|
18
|
+
).map((r) => r.message)
|
|
19
|
+
)
|
|
20
|
+
) : []);
|
|
21
|
+
return (i, l) => (e(), n(x, null, {
|
|
22
|
+
default: o(() => [
|
|
23
|
+
t.errors.length || f.value.length ? (e(), d("div", D, [
|
|
24
|
+
b(i.$slots, "default", I(w({ errors: t.errors, showedGeneralErrors: f.value })), () => [
|
|
25
|
+
(e(), n(s(a(m) ? "v-alert" : "div"), {
|
|
26
|
+
class: V([a(m) ? "mb-4" : "error-alert-content", "mb-4"]),
|
|
27
|
+
type: "error",
|
|
28
|
+
variant: "tonal",
|
|
29
|
+
role: "alert",
|
|
30
|
+
"aria-live": "polite"
|
|
31
|
+
}, {
|
|
32
|
+
default: o(() => [
|
|
33
|
+
c("div", G, u(a(g)("form.includes_error")) + ": ", 1),
|
|
34
|
+
t.errors.length ? (e(), n(s(t.errors.length > 1 ? "ul" : "div"), {
|
|
35
|
+
key: 0,
|
|
36
|
+
class: "error-list"
|
|
37
|
+
}, {
|
|
38
|
+
default: o(() => [
|
|
39
|
+
(e(!0), d(p, null, _(t.errors, (r) => (e(), n(s(t.errors.length > 1 ? "li" : "div"), {
|
|
40
|
+
key: r.inputId,
|
|
41
|
+
class: "error-item"
|
|
42
|
+
}, {
|
|
43
|
+
default: o(() => [
|
|
44
|
+
c("div", L, u(r.label), 1),
|
|
45
|
+
c("div", M, [
|
|
46
|
+
(e(), n(s(r.errors.length > 1 ? "ul" : "div"), { class: "error-list" }, {
|
|
47
|
+
default: o(() => [
|
|
48
|
+
(e(!0), d(p, null, _(r.errors, (v) => (e(), n(s(r.errors.length > 1 ? "li" : "span"), { key: v }, {
|
|
49
|
+
default: o(() => [
|
|
50
|
+
k(u(v), 1)
|
|
51
|
+
]),
|
|
52
|
+
_: 2
|
|
53
|
+
}, 1024))), 128))
|
|
54
|
+
]),
|
|
55
|
+
_: 2
|
|
56
|
+
}, 1024))
|
|
57
|
+
]),
|
|
58
|
+
c("a", {
|
|
59
|
+
href: `#${r.inputId}`,
|
|
60
|
+
class: "error-link"
|
|
61
|
+
}, [
|
|
62
|
+
(e(), n(s(a(m) ? "v-icon" : "i"), {
|
|
63
|
+
icon: a(N),
|
|
64
|
+
"aria-hidden": "true"
|
|
65
|
+
}, {
|
|
66
|
+
default: o(() => [...l[0] || (l[0] = [
|
|
67
|
+
c("i", null, "🔗", -1)
|
|
68
|
+
])]),
|
|
69
|
+
_: 1
|
|
70
|
+
}, 8, ["icon"])),
|
|
71
|
+
k(" " + u(a(g)("form.fix_input")), 1)
|
|
72
|
+
], 8, O)
|
|
73
|
+
]),
|
|
74
|
+
_: 2
|
|
75
|
+
}, 1024))), 128))
|
|
76
|
+
]),
|
|
77
|
+
_: 1
|
|
78
|
+
})) : (e(), d("span", P, u(f.value[0]), 1))
|
|
79
|
+
]),
|
|
80
|
+
_: 1
|
|
81
|
+
}, 8, ["class"]))
|
|
82
|
+
], !0)
|
|
83
|
+
])) : B("", !0)
|
|
84
|
+
]),
|
|
85
|
+
_: 3
|
|
86
|
+
}));
|
|
87
|
+
}
|
|
88
|
+
});
|
|
2
89
|
export {
|
|
3
|
-
|
|
90
|
+
A as default
|
|
4
91
|
};
|
|
@@ -1,91 +1,9 @@
|
|
|
1
|
-
|
|
2
|
-
|
|
3
|
-
|
|
4
|
-
|
|
5
|
-
|
|
6
|
-
|
|
7
|
-
}, G = { class: "text-h6 mb-3" }, L = { class: "font-weight-medium" }, M = { class: "error-message" }, O = ["href"], P = { key: 1 }, A = /* @__PURE__ */ y({
|
|
8
|
-
__name: "OmegaErrorsInternal",
|
|
9
|
-
props: {
|
|
10
|
-
generalErrors: {},
|
|
11
|
-
errors: {}
|
|
12
|
-
},
|
|
13
|
-
setup(t) {
|
|
14
|
-
const m = E()?.appContext.components.VAlert, h = t, { trans: g } = z(), f = C(() => h.generalErrors ? h.generalErrors.filter((i) => !!i).flatMap(
|
|
15
|
-
(i) => Object.values(i).filter((l) => !!l).flatMap(
|
|
16
|
-
(l) => l.filter(
|
|
17
|
-
(r) => !!r?.message
|
|
18
|
-
).map((r) => r.message)
|
|
19
|
-
)
|
|
20
|
-
) : []);
|
|
21
|
-
return (i, l) => (e(), n(x, null, {
|
|
22
|
-
default: o(() => [
|
|
23
|
-
t.errors.length || f.value.length ? (e(), d("div", D, [
|
|
24
|
-
b(i.$slots, "default", I(w({ errors: t.errors, showedGeneralErrors: f.value })), () => [
|
|
25
|
-
(e(), n(s(a(m) ? "v-alert" : "div"), {
|
|
26
|
-
class: V([a(m) ? "mb-4" : "error-alert-content", "mb-4"]),
|
|
27
|
-
type: "error",
|
|
28
|
-
variant: "tonal",
|
|
29
|
-
role: "alert",
|
|
30
|
-
"aria-live": "polite"
|
|
31
|
-
}, {
|
|
32
|
-
default: o(() => [
|
|
33
|
-
c("div", G, u(a(g)("form.includes_error")) + ": ", 1),
|
|
34
|
-
t.errors.length ? (e(), n(s(t.errors.length > 1 ? "ul" : "div"), {
|
|
35
|
-
key: 0,
|
|
36
|
-
class: "error-list"
|
|
37
|
-
}, {
|
|
38
|
-
default: o(() => [
|
|
39
|
-
(e(!0), d(p, null, _(t.errors, (r) => (e(), n(s(t.errors.length > 1 ? "li" : "div"), {
|
|
40
|
-
key: r.inputId,
|
|
41
|
-
class: "error-item"
|
|
42
|
-
}, {
|
|
43
|
-
default: o(() => [
|
|
44
|
-
c("div", L, u(r.label), 1),
|
|
45
|
-
c("div", M, [
|
|
46
|
-
(e(), n(s(r.errors.length > 1 ? "ul" : "div"), { class: "error-list" }, {
|
|
47
|
-
default: o(() => [
|
|
48
|
-
(e(!0), d(p, null, _(r.errors, (v) => (e(), n(s(r.errors.length > 1 ? "li" : "span"), { key: v }, {
|
|
49
|
-
default: o(() => [
|
|
50
|
-
k(u(v), 1)
|
|
51
|
-
]),
|
|
52
|
-
_: 2
|
|
53
|
-
}, 1024))), 128))
|
|
54
|
-
]),
|
|
55
|
-
_: 2
|
|
56
|
-
}, 1024))
|
|
57
|
-
]),
|
|
58
|
-
c("a", {
|
|
59
|
-
href: `#${r.inputId}`,
|
|
60
|
-
class: "error-link"
|
|
61
|
-
}, [
|
|
62
|
-
(e(), n(s(a(m) ? "v-icon" : "i"), {
|
|
63
|
-
icon: a(N),
|
|
64
|
-
"aria-hidden": "true"
|
|
65
|
-
}, {
|
|
66
|
-
default: o(() => [...l[0] || (l[0] = [
|
|
67
|
-
c("i", null, "🔗", -1)
|
|
68
|
-
])]),
|
|
69
|
-
_: 1
|
|
70
|
-
}, 8, ["icon"])),
|
|
71
|
-
k(" " + u(a(g)("form.fix_input")), 1)
|
|
72
|
-
], 8, O)
|
|
73
|
-
]),
|
|
74
|
-
_: 2
|
|
75
|
-
}, 1024))), 128))
|
|
76
|
-
]),
|
|
77
|
-
_: 1
|
|
78
|
-
})) : (e(), d("span", P, u(f.value[0]), 1))
|
|
79
|
-
]),
|
|
80
|
-
_: 1
|
|
81
|
-
}, 8, ["class"]))
|
|
82
|
-
], !0)
|
|
83
|
-
])) : B("", !0)
|
|
84
|
-
]),
|
|
85
|
-
_: 3
|
|
86
|
-
}));
|
|
87
|
-
}
|
|
88
|
-
});
|
|
1
|
+
const s = (t, e) => {
|
|
2
|
+
const o = t.__vccOpts || t;
|
|
3
|
+
for (const [r, c] of e)
|
|
4
|
+
o[r] = c;
|
|
5
|
+
return o;
|
|
6
|
+
};
|
|
89
7
|
export {
|
|
90
|
-
|
|
8
|
+
s as default
|
|
91
9
|
};
|
|
@@ -0,0 +1,34 @@
|
|
|
1
|
+
import { defineComponent as m, createElementBlock as d, openBlock as u, withModifiers as f, createElementVNode as l, unref as s, renderSlot as a } from "vue";
|
|
2
|
+
import { useStore as b } from "@tanstack/vue-form";
|
|
3
|
+
import { usePreventClose as p } from "./vue-components.es11.js";
|
|
4
|
+
import { getOmegaStore as c } from "./vue-components.es53.js";
|
|
5
|
+
const S = ["disabled"], V = /* @__PURE__ */ m({
|
|
6
|
+
__name: "OmegaWrapper",
|
|
7
|
+
props: {
|
|
8
|
+
form: {},
|
|
9
|
+
disabled: { type: Boolean },
|
|
10
|
+
subscribe: {}
|
|
11
|
+
},
|
|
12
|
+
setup(o) {
|
|
13
|
+
const e = o, i = b(
|
|
14
|
+
e.form.store,
|
|
15
|
+
(t) => t.isSubmitting
|
|
16
|
+
), n = c(
|
|
17
|
+
e.form,
|
|
18
|
+
e.subscribe
|
|
19
|
+
);
|
|
20
|
+
return e.form.ignorePreventCloseEvents || p(() => e.form.useStore((t) => t.isDirty)), (t, r) => (u(), d("form", {
|
|
21
|
+
novalidate: "",
|
|
22
|
+
onSubmit: r[0] || (r[0] = f((v) => o.form.handleSubmit(), ["prevent", "stop"]))
|
|
23
|
+
}, [
|
|
24
|
+
l("fieldset", {
|
|
25
|
+
disabled: s(i) || o.disabled
|
|
26
|
+
}, [
|
|
27
|
+
a(t.$slots, "default", { subscribedValues: s(n) }, void 0, !0)
|
|
28
|
+
], 8, S)
|
|
29
|
+
], 32));
|
|
30
|
+
}
|
|
31
|
+
});
|
|
32
|
+
export {
|
|
33
|
+
V as default
|
|
34
|
+
};
|
|
@@ -1,34 +1,194 @@
|
|
|
1
|
-
import { defineComponent as
|
|
2
|
-
import {
|
|
3
|
-
|
|
4
|
-
|
|
5
|
-
|
|
6
|
-
__name: "OmegaWrapper",
|
|
1
|
+
import { defineComponent as k, resolveComponent as b, createElementBlock as v, openBlock as a, createBlock as n, createCommentVNode as u, resolveDynamicComponent as g, mergeProps as o, createSlots as d, withCtx as r, renderSlot as m, normalizeProps as s, guardReactiveProps as P, unref as C, Fragment as V, renderList as U } from "vue";
|
|
2
|
+
import { getInputType as c } from "./vue-components.es12.js";
|
|
3
|
+
const w = /* @__PURE__ */ k({
|
|
4
|
+
inheritAttrs: !1,
|
|
5
|
+
__name: "OmegaInputVuetify",
|
|
7
6
|
props: {
|
|
8
|
-
|
|
9
|
-
|
|
10
|
-
|
|
7
|
+
inputProps: {},
|
|
8
|
+
field: {},
|
|
9
|
+
state: {}
|
|
11
10
|
},
|
|
12
|
-
|
|
13
|
-
|
|
14
|
-
|
|
15
|
-
(
|
|
16
|
-
|
|
17
|
-
|
|
18
|
-
|
|
19
|
-
|
|
20
|
-
return e.form.ignorePreventCloseEvents || p(() => e.form.useStore((t) => t.isDirty)), (t, r) => (u(), d("form", {
|
|
21
|
-
novalidate: "",
|
|
22
|
-
onSubmit: r[0] || (r[0] = f((v) => o.form.handleSubmit(), ["prevent", "stop"]))
|
|
23
|
-
}, [
|
|
24
|
-
l("fieldset", {
|
|
25
|
-
disabled: s(i) || o.disabled
|
|
11
|
+
emits: ["focus", "blur"],
|
|
12
|
+
setup(e) {
|
|
13
|
+
return (l, i) => {
|
|
14
|
+
const y = b("v-text-field"), p = b("v-textarea"), f = b("v-radio"), h = b("v-radio-group"), q = b("v-select"), $ = b("v-autocomplete");
|
|
15
|
+
return a(), v("div", {
|
|
16
|
+
class: "omega-input",
|
|
17
|
+
onFocusout: i[4] || (i[4] = (t) => l.$emit("blur", t)),
|
|
18
|
+
onFocusin: i[5] || (i[5] = (t) => l.$emit("focus", t))
|
|
26
19
|
}, [
|
|
27
|
-
a(
|
|
28
|
-
|
|
29
|
-
|
|
20
|
+
e.inputProps.type === "boolean" || e.inputProps.type === "switch" ? (a(), n(g(e.inputProps.type === "boolean" ? "v-checkbox" : "v-switch"), o({
|
|
21
|
+
key: 0,
|
|
22
|
+
id: e.inputProps.id,
|
|
23
|
+
name: e.field.name,
|
|
24
|
+
label: e.inputProps.label,
|
|
25
|
+
"error-messages": e.inputProps.errorMessages,
|
|
26
|
+
error: e.inputProps.error,
|
|
27
|
+
ripple: ""
|
|
28
|
+
}, l.$attrs, {
|
|
29
|
+
"model-value": e.state.value,
|
|
30
|
+
onChange: i[0] || (i[0] = (t) => e.field.handleChange(t.target.checked))
|
|
31
|
+
}), d({ _: 2 }, [
|
|
32
|
+
l.$slots.label ? {
|
|
33
|
+
name: "label",
|
|
34
|
+
fn: r(() => [
|
|
35
|
+
m(l.$slots, "label", s(P({ required: e.inputProps.required, id: e.inputProps.id, label: e.inputProps.label })))
|
|
36
|
+
]),
|
|
37
|
+
key: "0"
|
|
38
|
+
} : void 0
|
|
39
|
+
]), 1040, ["id", "name", "label", "error-messages", "error", "model-value"])) : u("", !0),
|
|
40
|
+
e.inputProps.type === "email" || e.inputProps.type === "string" || e.inputProps.type === "password" || e.inputProps.type === "date" ? (a(), n(y, o({
|
|
41
|
+
key: 1,
|
|
42
|
+
id: e.inputProps.id,
|
|
43
|
+
required: e.inputProps.required,
|
|
44
|
+
"min-length": e.inputProps.minLength,
|
|
45
|
+
"max-length": e.inputProps.maxLength,
|
|
46
|
+
type: C(c)(e.inputProps.type),
|
|
47
|
+
name: e.field.name,
|
|
48
|
+
label: e.inputProps.label,
|
|
49
|
+
"error-messages": e.inputProps.errorMessages,
|
|
50
|
+
error: e.inputProps.error
|
|
51
|
+
}, l.$attrs, {
|
|
52
|
+
"model-value": e.state.value,
|
|
53
|
+
"onUpdate:modelValue": e.field.handleChange
|
|
54
|
+
}), d({ _: 2 }, [
|
|
55
|
+
l.$slots.label ? {
|
|
56
|
+
name: "label",
|
|
57
|
+
fn: r(() => [
|
|
58
|
+
m(l.$slots, "label", s(P({ required: e.inputProps.required, id: e.inputProps.id, label: e.inputProps.label })))
|
|
59
|
+
]),
|
|
60
|
+
key: "0"
|
|
61
|
+
} : void 0
|
|
62
|
+
]), 1040, ["id", "required", "min-length", "max-length", "type", "name", "label", "error-messages", "error", "model-value", "onUpdate:modelValue"])) : u("", !0),
|
|
63
|
+
e.inputProps.type === "text" ? (a(), n(p, o({
|
|
64
|
+
key: 2,
|
|
65
|
+
id: e.inputProps.id,
|
|
66
|
+
required: e.inputProps.required,
|
|
67
|
+
"min-length": e.inputProps.minLength,
|
|
68
|
+
"max-length": e.inputProps.maxLength,
|
|
69
|
+
name: e.field.name,
|
|
70
|
+
label: e.inputProps.label,
|
|
71
|
+
"error-messages": e.inputProps.errorMessages,
|
|
72
|
+
error: e.inputProps.error
|
|
73
|
+
}, l.$attrs, {
|
|
74
|
+
"model-value": e.state.value,
|
|
75
|
+
"onUpdate:modelValue": e.field.handleChange
|
|
76
|
+
}), d({ _: 2 }, [
|
|
77
|
+
l.$slots.label ? {
|
|
78
|
+
name: "label",
|
|
79
|
+
fn: r(() => [
|
|
80
|
+
m(l.$slots, "label", s(P({ required: e.inputProps.required, id: e.inputProps.id, label: e.inputProps.label })))
|
|
81
|
+
]),
|
|
82
|
+
key: "0"
|
|
83
|
+
} : void 0
|
|
84
|
+
]), 1040, ["id", "required", "min-length", "max-length", "name", "label", "error-messages", "error", "model-value", "onUpdate:modelValue"])) : u("", !0),
|
|
85
|
+
e.inputProps.type === "number" || e.inputProps.type === "range" ? (a(), n(g(e.inputProps.type === "range" ? "v-slider" : "v-text-field"), o({
|
|
86
|
+
key: 3,
|
|
87
|
+
id: e.inputProps.id,
|
|
88
|
+
required: e.inputProps.required,
|
|
89
|
+
min: e.inputProps.min,
|
|
90
|
+
max: e.inputProps.max,
|
|
91
|
+
type: e.inputProps.type,
|
|
92
|
+
name: e.field.name,
|
|
93
|
+
label: e.inputProps.label,
|
|
94
|
+
"error-messages": e.inputProps.errorMessages,
|
|
95
|
+
error: e.inputProps.error
|
|
96
|
+
}, l.$attrs, {
|
|
97
|
+
"model-value": e.state.value,
|
|
98
|
+
"onUpdate:modelValue": i[1] || (i[1] = (t) => {
|
|
99
|
+
t || t === 0 ? e.field.handleChange(Number(t)) : e.field.handleChange(void 0);
|
|
100
|
+
})
|
|
101
|
+
}), d({ _: 2 }, [
|
|
102
|
+
l.$slots.label ? {
|
|
103
|
+
name: "label",
|
|
104
|
+
fn: r(() => [
|
|
105
|
+
m(l.$slots, "label", s(P({ required: e.inputProps.required, id: e.inputProps.id, label: e.inputProps.label })))
|
|
106
|
+
]),
|
|
107
|
+
key: "0"
|
|
108
|
+
} : void 0
|
|
109
|
+
]), 1040, ["id", "required", "min", "max", "type", "name", "label", "error-messages", "error", "model-value"])) : u("", !0),
|
|
110
|
+
e.inputProps.type === "radio" ? (a(), n(h, o({
|
|
111
|
+
key: 4,
|
|
112
|
+
id: e.inputProps.id,
|
|
113
|
+
name: e.field.name,
|
|
114
|
+
label: e.inputProps.label,
|
|
115
|
+
"error-messages": e.inputProps.errorMessages,
|
|
116
|
+
error: e.inputProps.error
|
|
117
|
+
}, l.$attrs, {
|
|
118
|
+
"model-value": e.state.value,
|
|
119
|
+
"onUpdate:modelValue": e.field.handleChange
|
|
120
|
+
}), d({
|
|
121
|
+
default: r(() => [
|
|
122
|
+
(a(!0), v(V, null, U(e.inputProps.options, (t) => (a(), n(f, {
|
|
123
|
+
key: t.value,
|
|
124
|
+
label: t.title,
|
|
125
|
+
value: t.value
|
|
126
|
+
}, null, 8, ["label", "value"]))), 128))
|
|
127
|
+
]),
|
|
128
|
+
_: 2
|
|
129
|
+
}, [
|
|
130
|
+
l.$slots.label ? {
|
|
131
|
+
name: "label",
|
|
132
|
+
fn: r(() => [
|
|
133
|
+
m(l.$slots, "label", s(P({ required: e.inputProps.required, id: e.inputProps.id, label: e.inputProps.label })))
|
|
134
|
+
]),
|
|
135
|
+
key: "0"
|
|
136
|
+
} : void 0
|
|
137
|
+
]), 1040, ["id", "name", "label", "error-messages", "error", "model-value", "onUpdate:modelValue"])) : u("", !0),
|
|
138
|
+
e.inputProps.type === "select" || e.inputProps.type === "multiple" ? (a(), n(q, o({
|
|
139
|
+
key: 5,
|
|
140
|
+
id: e.inputProps.id,
|
|
141
|
+
clearable: e.inputProps.type === "select",
|
|
142
|
+
required: e.inputProps.required,
|
|
143
|
+
multiple: e.inputProps.type === "multiple",
|
|
144
|
+
chips: e.inputProps.type === "multiple",
|
|
145
|
+
name: e.field.name,
|
|
146
|
+
label: e.inputProps.label,
|
|
147
|
+
items: e.inputProps.options,
|
|
148
|
+
"error-messages": e.inputProps.errorMessages,
|
|
149
|
+
error: e.inputProps.error
|
|
150
|
+
}, l.$attrs, {
|
|
151
|
+
"model-value": e.state.value,
|
|
152
|
+
onClear: i[2] || (i[2] = (t) => e.field.handleChange(void 0)),
|
|
153
|
+
"onUpdate:modelValue": e.field.handleChange
|
|
154
|
+
}), d({ _: 2 }, [
|
|
155
|
+
l.$slots.label ? {
|
|
156
|
+
name: "label",
|
|
157
|
+
fn: r(() => [
|
|
158
|
+
m(l.$slots, "label", s(P({ required: e.inputProps.required, id: e.inputProps.id, label: e.inputProps.label })))
|
|
159
|
+
]),
|
|
160
|
+
key: "0"
|
|
161
|
+
} : void 0
|
|
162
|
+
]), 1040, ["id", "clearable", "required", "multiple", "chips", "name", "label", "items", "error-messages", "error", "model-value", "onUpdate:modelValue"])) : u("", !0),
|
|
163
|
+
e.inputProps.type === "autocomplete" || e.inputProps.type === "autocompletemultiple" ? (a(), n($, o({
|
|
164
|
+
key: 6,
|
|
165
|
+
id: e.inputProps.id,
|
|
166
|
+
clearable: e.inputProps.type === "autocomplete",
|
|
167
|
+
multiple: e.inputProps.type === "autocompletemultiple",
|
|
168
|
+
required: e.inputProps.required,
|
|
169
|
+
name: e.field.name,
|
|
170
|
+
label: e.inputProps.label,
|
|
171
|
+
items: e.inputProps.options,
|
|
172
|
+
"error-messages": e.inputProps.errorMessages,
|
|
173
|
+
error: e.inputProps.error,
|
|
174
|
+
chips: e.inputProps.type === "autocompletemultiple"
|
|
175
|
+
}, l.$attrs, {
|
|
176
|
+
"model-value": e.state.value,
|
|
177
|
+
onClear: i[3] || (i[3] = (t) => e.field.handleChange(void 0)),
|
|
178
|
+
"onUpdate:modelValue": e.field.handleChange
|
|
179
|
+
}), d({ _: 2 }, [
|
|
180
|
+
l.$slots.label ? {
|
|
181
|
+
name: "label",
|
|
182
|
+
fn: r(() => [
|
|
183
|
+
m(l.$slots, "label", s(P({ required: e.inputProps.required, id: e.inputProps.id, label: e.inputProps.label })))
|
|
184
|
+
]),
|
|
185
|
+
key: "0"
|
|
186
|
+
} : void 0
|
|
187
|
+
]), 1040, ["id", "clearable", "multiple", "required", "name", "label", "items", "error-messages", "error", "chips", "model-value", "onUpdate:modelValue"])) : u("", !0)
|
|
188
|
+
], 32);
|
|
189
|
+
};
|
|
30
190
|
}
|
|
31
191
|
});
|
|
32
192
|
export {
|
|
33
|
-
|
|
193
|
+
w as default
|
|
34
194
|
};
|
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
(function(){"use strict";try{if(typeof document<"u"){var i=document.createElement("style");if(i.appendChild(document.createTextNode(".omega-input .v-input__details:has(.v-messages:empty){grid-template-rows:0fr;transition:all .2s}.omega-input .v-messages:empty{min-height:0}.omega-input .v-input__details:has(.v-messages){transition:all .2s;overflow:hidden;min-height:0;display:grid;grid-template-rows:1fr}.omega-input .v-messages{transition:all .2s}.omega-input .v-messages>*{transition-duration:0s!important}.omega-input [role=alert]:has(.v-messages:empty){padding:0}.omega-input .v-btn{cursor:pointer;width:auto;appearance:none;box-shadow:none;display:block;min-width:auto;height:auto;padding:.5em .5em .5em 1em}")),document.head.appendChild(i),window.customElements){const e=window.customElements.define;window.customElements.define=function(s,t){const n=t.prototype.connectedCallback;return t.prototype.connectedCallback=function(){if(n&&n.call(this),this.shadowRoot){const a=document.createElement("style");a.appendChild(document.createTextNode(".omega-input .v-input__details:has(.v-messages:empty){grid-template-rows:0fr;transition:all .2s}.omega-input .v-messages:empty{min-height:0}.omega-input .v-input__details:has(.v-messages){transition:all .2s;overflow:hidden;min-height:0;display:grid;grid-template-rows:1fr}.omega-input .v-messages{transition:all .2s}.omega-input .v-messages>*{transition-duration:0s!important}.omega-input [role=alert]:has(.v-messages:empty){padding:0}.omega-input .v-btn{cursor:pointer;width:auto;appearance:none;box-shadow:none;display:block;min-width:auto;height:auto;padding:.5em .5em .5em 1em}")),this.shadowRoot.appendChild(a)}},e.call(window.customElements,s,t)}}}}catch(e){console.error("vite-plugin-css-injected-by-js",e)}})();
|
|
2
|
-
import o from "./vue-components.
|
|
2
|
+
import o from "./vue-components.es38.js";
|
|
3
3
|
|
|
4
4
|
export {
|
|
5
5
|
o as default
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
import { defineComponent as v, mergeModels as C, useModel as k, useSlots as V, computed as _, resolveComponent as g, createBlock as y, openBlock as B, unref as a, createSlots as E, withCtx as u, renderSlot as d, renderList as M, normalizeProps as S, guardReactiveProps as w } from "vue";
|
|
2
2
|
import { useOnClose as L } from "./vue-components.es11.js";
|
|
3
|
-
import { onMountedWithCleanup as h } from "./vue-components.
|
|
3
|
+
import { onMountedWithCleanup as h } from "./vue-components.es29.js";
|
|
4
4
|
const z = /* @__PURE__ */ v({
|
|
5
5
|
__name: "Dialog",
|
|
6
6
|
props: /* @__PURE__ */ C({
|
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
(function(){"use strict";try{if(typeof document<"u"){var i=document.createElement("style");if(i.appendChild(document.createTextNode(".omega-input .v-input__details:has(.v-messages:empty){grid-template-rows:0fr;transition:all .2s}.omega-input .v-messages:empty{min-height:0}.omega-input .v-input__details:has(.v-messages){transition:all .2s;overflow:hidden;min-height:0;display:grid;grid-template-rows:1fr}.omega-input .v-messages{transition:all .2s}.omega-input .v-messages>*{transition-duration:0s!important}.omega-input [role=alert]:has(.v-messages:empty){padding:0}.omega-input .v-btn{cursor:pointer;width:auto;appearance:none;box-shadow:none;display:block;min-width:auto;height:auto;padding:.5em .5em .5em 1em}")),document.head.appendChild(i),window.customElements){const e=window.customElements.define;window.customElements.define=function(s,t){const n=t.prototype.connectedCallback;return t.prototype.connectedCallback=function(){if(n&&n.call(this),this.shadowRoot){const a=document.createElement("style");a.appendChild(document.createTextNode(".omega-input .v-input__details:has(.v-messages:empty){grid-template-rows:0fr;transition:all .2s}.omega-input .v-messages:empty{min-height:0}.omega-input .v-input__details:has(.v-messages){transition:all .2s;overflow:hidden;min-height:0;display:grid;grid-template-rows:1fr}.omega-input .v-messages{transition:all .2s}.omega-input .v-messages>*{transition-duration:0s!important}.omega-input [role=alert]:has(.v-messages:empty){padding:0}.omega-input .v-btn{cursor:pointer;width:auto;appearance:none;box-shadow:none;display:block;min-width:auto;height:auto;padding:.5em .5em .5em 1em}")),this.shadowRoot.appendChild(a)}},e.call(window.customElements,s,t)}}}}catch(e){console.error("vite-plugin-css-injected-by-js",e)}})();
|
|
2
2
|
import { defineComponent as $, computed as n, getCurrentInstance as N, useAttrs as S, useSlots as k, useId as q, renderSlot as u, normalizeProps as s, guardReactiveProps as d, createElementVNode as B, normalizeClass as w, createBlock as I, createCommentVNode as L, unref as A, openBlock as F, mergeProps as O, createSlots as R, withCtx as V } from "vue";
|
|
3
3
|
import { useStore as z } from "@tanstack/vue-form";
|
|
4
|
-
import T from "./vue-components.
|
|
4
|
+
import T from "./vue-components.es38.js";
|
|
5
5
|
|
|
6
6
|
const H = /* @__PURE__ */ $({
|
|
7
7
|
inheritAttrs: !1,
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@effect-app/vue-components",
|
|
3
|
-
"version": "2.7.
|
|
3
|
+
"version": "2.7.5",
|
|
4
4
|
"peerDependencies": {
|
|
5
5
|
"@mdi/js": "^7.4.47",
|
|
6
6
|
"effect": "^3.18.0",
|
|
@@ -53,8 +53,8 @@
|
|
|
53
53
|
"highlight.js": "^11.11.1",
|
|
54
54
|
"mitt": "^3.0.1",
|
|
55
55
|
"vue3-highlightjs": "^1.0.5",
|
|
56
|
-
"
|
|
57
|
-
"effect-app": "
|
|
56
|
+
"effect-app": "3.12.0",
|
|
57
|
+
"@effect-app/vue": "2.92.2"
|
|
58
58
|
},
|
|
59
59
|
"scripts": {
|
|
60
60
|
"build": "pnpm build:run",
|
|
@@ -743,7 +743,10 @@ export const useOmegaForm = <
|
|
|
743
743
|
|
|
744
744
|
function deepMerge(target: any, source: any) {
|
|
745
745
|
for (const key in source) {
|
|
746
|
-
if (
|
|
746
|
+
if (Array.isArray(source[key])) {
|
|
747
|
+
// Arrays should be copied directly, not deep merged
|
|
748
|
+
target[key] = source[key]
|
|
749
|
+
} else if (source[key] && isObject(source[key])) {
|
|
747
750
|
if (!target[key]) {
|
|
748
751
|
target[key] = {}
|
|
749
752
|
}
|
|
@@ -755,54 +758,6 @@ export const useOmegaForm = <
|
|
|
755
758
|
return target
|
|
756
759
|
}
|
|
757
760
|
|
|
758
|
-
// Normalize default values based on schema metadata
|
|
759
|
-
// Convert empty strings to null/undefined for nullable fields
|
|
760
|
-
// Also initialize missing nullable fields with null/undefined
|
|
761
|
-
const normalizeDefaultValues = (values?: Partial<From>): Partial<From> | undefined => {
|
|
762
|
-
if (!values) return undefined
|
|
763
|
-
const normalized: any = { ...values }
|
|
764
|
-
|
|
765
|
-
// Helper to get nested value from object using dot notation
|
|
766
|
-
const getNestedValue = (obj: any, path: string) => {
|
|
767
|
-
return path.split(".").reduce((current, key) => current?.[key], obj)
|
|
768
|
-
}
|
|
769
|
-
|
|
770
|
-
// Helper to set nested value in object using dot notation
|
|
771
|
-
const setNestedValue = (obj: any, path: string, value: any) => {
|
|
772
|
-
const parts = path.split(".")
|
|
773
|
-
const last = parts.pop()!
|
|
774
|
-
const target = parts.reduce((current, key) => {
|
|
775
|
-
if (!current[key]) current[key] = {}
|
|
776
|
-
return current[key]
|
|
777
|
-
}, obj)
|
|
778
|
-
target[last] = value
|
|
779
|
-
}
|
|
780
|
-
|
|
781
|
-
// Process all fields in the schema metadata
|
|
782
|
-
for (const key in meta) {
|
|
783
|
-
const fieldMeta = meta[key as keyof typeof meta]
|
|
784
|
-
const value = getNestedValue(normalized, key)
|
|
785
|
-
|
|
786
|
-
// Check if the value is falsy (but not boolean false or zero)
|
|
787
|
-
const isFalsyButNotZero = value == null || value === false || value === "" || Number.isNaN(value)
|
|
788
|
-
const isFalsy = isFalsyButNotZero && value !== false && value !== 0
|
|
789
|
-
|
|
790
|
-
if (
|
|
791
|
-
fieldMeta
|
|
792
|
-
&& !fieldMeta.required
|
|
793
|
-
&& fieldMeta.nullableOrUndefined
|
|
794
|
-
&& fieldMeta.type !== "boolean"
|
|
795
|
-
) {
|
|
796
|
-
// If value is missing or falsy, set to null or undefined based on schema
|
|
797
|
-
if (value === undefined || isFalsy) {
|
|
798
|
-
setNestedValue(normalized, key, fieldMeta.nullableOrUndefined === "undefined" ? undefined : null)
|
|
799
|
-
}
|
|
800
|
-
}
|
|
801
|
-
}
|
|
802
|
-
|
|
803
|
-
return normalized
|
|
804
|
-
}
|
|
805
|
-
|
|
806
761
|
// Helper function to recursively extract default values from schema AST
|
|
807
762
|
const extractDefaultsFromAST = (schemaObj: any): any => {
|
|
808
763
|
const result: Record<string, any> = {}
|
|
@@ -956,11 +911,9 @@ export const useOmegaForm = <
|
|
|
956
911
|
|
|
957
912
|
// we just return what we gathered from the query/storage
|
|
958
913
|
return extractSchemaDefaults(
|
|
959
|
-
|
|
960
|
-
|
|
961
|
-
|
|
962
|
-
: deepMerge(defValuesPatch, tanstackFormOptions?.defaultValues || {})
|
|
963
|
-
)
|
|
914
|
+
omegaConfig?.persistency?.overrideDefaultValues
|
|
915
|
+
? deepMerge(tanstackFormOptions?.defaultValues || {}, defValuesPatch)
|
|
916
|
+
: deepMerge(defValuesPatch, tanstackFormOptions?.defaultValues || {})
|
|
964
917
|
)
|
|
965
918
|
})
|
|
966
919
|
|