@effect-app/vue-components 2.7.4 → 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 +166 -179
- package/dist/vue-components.es16.js +1 -1
- package/dist/vue-components.es17.js +1 -1
- package/dist/vue-components.es20.js +2 -2
- package/dist/vue-components.es21.js +2 -2
- 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.es7.js +1 -1
- package/package.json +1 -1
- package/src/components/OmegaForm/useOmegaForm.ts +3 -53
- package/dist/vue-components.es34.js +0 -4
- package/dist/vue-components.es37.js +0 -9
|
@@ -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,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
|
@@ -758,54 +758,6 @@ export const useOmegaForm = <
|
|
|
758
758
|
return target
|
|
759
759
|
}
|
|
760
760
|
|
|
761
|
-
// Normalize default values based on schema metadata
|
|
762
|
-
// Convert empty strings to null/undefined for nullable fields
|
|
763
|
-
// Also initialize missing nullable fields with null/undefined
|
|
764
|
-
const normalizeDefaultValues = (values?: Partial<From>): Partial<From> | undefined => {
|
|
765
|
-
if (!values) return undefined
|
|
766
|
-
const normalized: any = { ...values }
|
|
767
|
-
|
|
768
|
-
// Helper to get nested value from object using dot notation
|
|
769
|
-
const getNestedValue = (obj: any, path: string) => {
|
|
770
|
-
return path.split(".").reduce((current, key) => current?.[key], obj)
|
|
771
|
-
}
|
|
772
|
-
|
|
773
|
-
// Helper to set nested value in object using dot notation
|
|
774
|
-
const setNestedValue = (obj: any, path: string, value: any) => {
|
|
775
|
-
const parts = path.split(".")
|
|
776
|
-
const last = parts.pop()!
|
|
777
|
-
const target = parts.reduce((current, key) => {
|
|
778
|
-
if (!current[key]) current[key] = {}
|
|
779
|
-
return current[key]
|
|
780
|
-
}, obj)
|
|
781
|
-
target[last] = value
|
|
782
|
-
}
|
|
783
|
-
|
|
784
|
-
// Process all fields in the schema metadata
|
|
785
|
-
for (const key in meta) {
|
|
786
|
-
const fieldMeta = meta[key as keyof typeof meta]
|
|
787
|
-
const value = getNestedValue(normalized, key)
|
|
788
|
-
|
|
789
|
-
// Check if the value is falsy (but not boolean false or zero)
|
|
790
|
-
const isFalsyButNotZero = value == null || value === false || value === "" || Number.isNaN(value)
|
|
791
|
-
const isFalsy = isFalsyButNotZero && value !== false && value !== 0
|
|
792
|
-
|
|
793
|
-
if (
|
|
794
|
-
fieldMeta
|
|
795
|
-
&& !fieldMeta.required
|
|
796
|
-
&& fieldMeta.nullableOrUndefined
|
|
797
|
-
&& fieldMeta.type !== "boolean"
|
|
798
|
-
) {
|
|
799
|
-
// If value is missing or falsy, set to null or undefined based on schema
|
|
800
|
-
if (value === undefined || isFalsy) {
|
|
801
|
-
setNestedValue(normalized, key, fieldMeta.nullableOrUndefined === "undefined" ? undefined : null)
|
|
802
|
-
}
|
|
803
|
-
}
|
|
804
|
-
}
|
|
805
|
-
|
|
806
|
-
return normalized
|
|
807
|
-
}
|
|
808
|
-
|
|
809
761
|
// Helper function to recursively extract default values from schema AST
|
|
810
762
|
const extractDefaultsFromAST = (schemaObj: any): any => {
|
|
811
763
|
const result: Record<string, any> = {}
|
|
@@ -959,11 +911,9 @@ export const useOmegaForm = <
|
|
|
959
911
|
|
|
960
912
|
// we just return what we gathered from the query/storage
|
|
961
913
|
return extractSchemaDefaults(
|
|
962
|
-
|
|
963
|
-
|
|
964
|
-
|
|
965
|
-
: deepMerge(defValuesPatch, tanstackFormOptions?.defaultValues || {})
|
|
966
|
-
)
|
|
914
|
+
omegaConfig?.persistency?.overrideDefaultValues
|
|
915
|
+
? deepMerge(tanstackFormOptions?.defaultValues || {}, defValuesPatch)
|
|
916
|
+
: deepMerge(defValuesPatch, tanstackFormOptions?.defaultValues || {})
|
|
967
917
|
)
|
|
968
918
|
})
|
|
969
919
|
|