@effect-app/vue-components 2.7.1 → 2.7.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.
@@ -1,91 +1,4 @@
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
- });
1
+ import f from "./vue-components.es18.js";
89
2
  export {
90
- A as default
3
+ f as default
91
4
  };
@@ -1,9 +1,91 @@
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
- };
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
+ });
7
89
  export {
8
- s as default
90
+ A as default
9
91
  };
@@ -0,0 +1,9 @@
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
+ };
7
+ export {
8
+ s as default
9
+ };
@@ -1,194 +1,34 @@
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",
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",
6
7
  props: {
7
- inputProps: {},
8
- field: {},
9
- state: {}
8
+ form: {},
9
+ disabled: { type: Boolean },
10
+ subscribe: {}
10
11
  },
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))
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
19
26
  }, [
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
- };
27
+ a(t.$slots, "default", { subscribedValues: s(n) }, void 0, !0)
28
+ ], 8, S)
29
+ ], 32));
190
30
  }
191
31
  });
192
32
  export {
193
- w as default
33
+ V as default
194
34
  };
@@ -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.es38.js";
2
+ import o from "./vue-components.es30.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.es16.js";
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.es38.js";
4
+ import T from "./vue-components.es30.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.1",
3
+ "version": "2.7.2",
4
4
  "peerDependencies": {
5
5
  "@mdi/js": "^7.4.47",
6
6
  "effect": "^3.18.0",
@@ -762,10 +762,26 @@ export const useOmegaForm = <
762
762
  if (!values) return undefined
763
763
  const normalized: any = { ...values }
764
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
+
765
781
  // Process all fields in the schema metadata
766
782
  for (const key in meta) {
767
783
  const fieldMeta = meta[key as keyof typeof meta]
768
- const value = normalized[key]
784
+ const value = getNestedValue(normalized, key)
769
785
 
770
786
  // Check if the value is falsy (but not boolean false or zero)
771
787
  const isFalsyButNotZero = value == null || value === false || value === "" || Number.isNaN(value)
@@ -779,7 +795,7 @@ export const useOmegaForm = <
779
795
  ) {
780
796
  // If value is missing or falsy, set to null or undefined based on schema
781
797
  if (value === undefined || isFalsy) {
782
- normalized[key] = fieldMeta.nullableOrUndefined === "undefined" ? undefined : null
798
+ setNestedValue(normalized, key, fieldMeta.nullableOrUndefined === "undefined" ? undefined : null)
783
799
  }
784
800
  }
785
801
  }
@@ -895,46 +911,15 @@ export const useOmegaForm = <
895
911
  }
896
912
 
897
913
  const defaultValues = computed(() => {
898
- // Normalize tanstack default values at the beginning
899
- const normalizedTanstackDefaults = extractSchemaDefaults(
900
- normalizeDefaultValues(
901
- tanstackFormOptions?.defaultValues
902
- )
903
- )
904
-
905
- if (
906
- normalizedTanstackDefaults
907
- && !omegaConfig?.persistency?.overrideDefaultValues
908
- ) {
909
- // defaultValues from tanstack are not partial,
910
- // so if ovverrideDefaultValues is false we return the normalized values
911
- return normalizedTanstackDefaults
912
- }
913
-
914
- // we are here because there are no default values from tankstack
915
- // or because omegaConfig?.persistency?.overrideDefaultValues is true
916
-
917
914
  // will contain what we get from querystring or local/session storage
918
915
  let defValuesPatch
919
916
 
920
917
  const persistency = omegaConfig?.persistency
921
- if (!persistency?.policies || persistency.policies.length === 0) return {}
922
- if (persistency.policies.includes("querystring")) {
923
- try {
924
- const params = new URLSearchParams(window.location.search)
925
- const value = params.get(persistencyKey.value)
926
- clearUrlParams()
927
- if (value) {
928
- defValuesPatch = JSON.parse(value)
929
- }
930
- } catch (error) {
931
- console.error(error)
932
- }
933
- }
934
918
 
935
919
  if (
936
920
  // query string has higher priority than local/session storage
937
- !defValuesPatch
921
+ persistency?.policies
922
+ && !defValuesPatch
938
923
  && (persistency.policies.includes("local")
939
924
  || persistency.policies.includes("session"))
940
925
  ) {
@@ -953,16 +938,30 @@ export const useOmegaForm = <
953
938
  }
954
939
  }
955
940
  }
941
+ if (persistency?.policies && persistency.policies.includes("querystring")) {
942
+ try {
943
+ const params = new URLSearchParams(window.location.search)
944
+ const value = params.get(persistencyKey.value)
945
+ clearUrlParams()
946
+ if (value) {
947
+ defValuesPatch = deepMerge(defValuesPatch || {}, JSON.parse(value))
948
+ }
949
+ } catch (error) {
950
+ console.error(error)
951
+ }
952
+ }
956
953
 
957
954
  // to be sure we have a valid object at the end of the gathering process
958
- defValuesPatch ??= extractSchemaDefaults({})
955
+ defValuesPatch ??= {}
959
956
 
960
- if (!normalizedTanstackDefaults) {
961
- // we just return what we gathered from the query/storage
962
- return defValuesPatch
963
- } else {
964
- return deepMerge(normalizedTanstackDefaults, defValuesPatch)
965
- }
957
+ // we just return what we gathered from the query/storage
958
+ return extractSchemaDefaults(
959
+ normalizeDefaultValues(
960
+ omegaConfig?.persistency?.overrideDefaultValues
961
+ ? deepMerge(tanstackFormOptions?.defaultValues || {}, defValuesPatch)
962
+ : deepMerge(defValuesPatch, tanstackFormOptions?.defaultValues || {})
963
+ )
964
+ )
966
965
  })
967
966
 
968
967
  const wrapWithSpan = (span: api.Span | undefined, toWrap: () => any) => {
@@ -1,34 +0,0 @@
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
- };