@effect-app/vue-components 2.6.2 → 2.7.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (35) hide show
  1. package/dist/types/components/OmegaForm/InputProps.d.ts +10 -4
  2. package/dist/types/components/OmegaForm/OmegaTaggedUnion.vue.d.ts +9 -13
  3. package/dist/types/components/OmegaForm/OmegaTaggedUnionInternal.vue.d.ts +2 -9
  4. package/dist/types/components/OmegaForm/useOmegaForm.d.ts +2 -1
  5. package/dist/vue-components.es10.js +203 -148
  6. package/dist/vue-components.es12.js +137 -115
  7. package/dist/vue-components.es22.js +1 -1
  8. package/dist/vue-components.es23.js +1 -1
  9. package/dist/vue-components.es36.js +1 -1
  10. package/dist/vue-components.es40.js +4 -23
  11. package/dist/vue-components.es41.js +23 -5
  12. package/dist/vue-components.es42.js +5 -21
  13. package/dist/vue-components.es43.js +16 -25
  14. package/dist/vue-components.es44.js +23 -15
  15. package/dist/vue-components.es45.js +17 -7
  16. package/dist/vue-components.es46.js +12 -5
  17. package/dist/vue-components.es47.js +5 -19
  18. package/dist/vue-components.es48.js +19 -9
  19. package/dist/vue-components.es49.js +9 -31
  20. package/dist/vue-components.es50.js +25 -42
  21. package/dist/vue-components.es51.js +38 -16
  22. package/dist/vue-components.es52.js +26 -11
  23. package/dist/vue-components.es53.js +11 -4
  24. package/dist/vue-components.es54.js +1 -1
  25. package/dist/vue-components.es56.js +1 -1
  26. package/dist/vue-components.es58.js +3 -3
  27. package/dist/vue-components.es59.js +1 -1
  28. package/dist/vue-components.es8.js +29 -36
  29. package/dist/vue-components.es9.js +7 -6
  30. package/package.json +3 -3
  31. package/src/components/OmegaForm/InputProps.ts +17 -8
  32. package/src/components/OmegaForm/OmegaFormStuff.ts +52 -0
  33. package/src/components/OmegaForm/OmegaTaggedUnion.vue +16 -35
  34. package/src/components/OmegaForm/OmegaTaggedUnionInternal.vue +2 -1
  35. package/src/components/OmegaForm/useOmegaForm.ts +123 -10
@@ -1,4 +1,5 @@
1
1
  import type { DeepKeys, DeepValue, FieldApi, FieldAsyncValidateOrFn, FieldValidateAsyncFn, FieldValidateFn, FieldValidateOrFn, FormAsyncValidateOrFn, FormValidateOrFn, StandardSchemaV1 } from "@tanstack/vue-form";
2
+ import { type IsUnion } from "effect-app/utils";
2
3
  export type OmegaFieldInternalApi<From extends Record<PropertyKey, any>, TName extends DeepKeys<From>> = FieldApi<From, TName, DeepValue<From, TName>, FieldValidateOrFn<From, TName, DeepValue<From, TName>> | undefined, StandardSchemaV1<DeepValue<From, TName>, unknown> | FieldValidateFn<From, TName>, StandardSchemaV1<DeepValue<From, TName>, unknown> | FieldValidateAsyncFn<From, TName>, FieldValidateOrFn<From, TName, DeepValue<From, TName>>, FieldAsyncValidateOrFn<From, TName, DeepValue<From, TName>>, FieldValidateOrFn<From, TName, DeepValue<From, TName>> | undefined, FieldAsyncValidateOrFn<From, TName, DeepValue<From, TName>> | undefined, FieldValidateOrFn<From, TName, DeepValue<From, TName>> | undefined, FieldAsyncValidateOrFn<From, TName, DeepValue<From, TName>> | undefined, FormValidateOrFn<From> | undefined, FormValidateOrFn<From> | undefined, any, FormValidateOrFn<From> | undefined, FormAsyncValidateOrFn<From> | undefined, FormValidateOrFn<From> | undefined, FormAsyncValidateOrFn<From> | undefined, FormValidateOrFn<From> | undefined, FormAsyncValidateOrFn<From> | undefined, FormAsyncValidateOrFn<From> | undefined, Record<string, any> | undefined>;
3
4
  export type InputProps<From extends Record<PropertyKey, any>, TName extends DeepKeys<From>> = {
4
5
  inputProps: {
@@ -28,17 +29,19 @@ export type VuetifyInputProps<From extends Record<PropertyKey, any>, TName exten
28
29
  }[];
29
30
  };
30
31
  } & Pick<InputProps<From, TName>, "field" | "state">;
31
- export type ExtractTagValue<From extends Record<PropertyKey, any>, TName extends DeepKeys<From>> = DeepValue<From, TName> extends infer U ? U extends {
32
+ export type ExtractTagValue<From extends Record<PropertyKey, any>, TName extends DeepKeys<From> | undefined> = IsUnion<TName> extends true ? From extends {
33
+ _tag: infer Tag;
34
+ } ? Tag : never : DeepValue<From, TName> extends infer U ? U extends {
32
35
  _tag: infer Tag;
33
36
  } ? Tag : never : never;
34
37
  export type ExtractUnionBranch<T, Tag> = T extends {
35
38
  _tag: Tag;
36
39
  } ? T : never;
37
- export type TaggedUnionOption<From extends Record<PropertyKey, any>, TName extends DeepKeys<From>> = {
40
+ export type TaggedUnionOption<From extends Record<PropertyKey, any>, TName extends DeepKeys<From> | undefined> = {
38
41
  readonly title: string;
39
42
  readonly value: ExtractTagValue<From, TName> | null;
40
43
  };
41
- export type TaggedUnionOptionsArray<From extends Record<PropertyKey, any>, TName extends DeepKeys<From>> = readonly [
44
+ export type TaggedUnionOptionsArray<From extends Record<PropertyKey, any>, TName extends DeepKeys<From> | undefined> = readonly [
42
45
  {
43
46
  readonly title: string;
44
47
  readonly value: null;
@@ -47,7 +50,10 @@ export type TaggedUnionOptionsArray<From extends Record<PropertyKey, any>, TName
47
50
  readonly title: string;
48
51
  readonly value: ExtractTagValue<From, TName>;
49
52
  }>
50
- ];
53
+ ] | ReadonlyArray<{
54
+ readonly title: string;
55
+ readonly value: ExtractTagValue<From, TName>;
56
+ }>;
51
57
  export type TaggedUnionProps<From extends Record<PropertyKey, any>, TName extends DeepKeys<From>> = {
52
58
  name: TName;
53
59
  options: TaggedUnionOptionsArray<From, TName>;
@@ -1,25 +1,21 @@
1
- import { type DeepKeys, type DeepValue } from "@tanstack/vue-form";
2
- import { type TaggedUnionOptionsArray } from "./InputProps";
1
+ import { type DeepKeys } from "@tanstack/vue-form";
2
+ import { type TaggedUnionOption } from "./InputProps";
3
3
  import { type useOmegaForm } from "./useOmegaForm";
4
- declare const __VLS_export: <From extends Record<PropertyKey, any>, To extends Record<PropertyKey, any>, Name extends DeepKeys<From>>(__VLS_props: NonNullable<Awaited<typeof __VLS_setup>>["props"], __VLS_ctx?: __VLS_PrettifyLocal<Pick<NonNullable<Awaited<typeof __VLS_setup>>, "attrs" | "emit" | "slots">>, __VLS_expose?: NonNullable<Awaited<typeof __VLS_setup>>["expose"], __VLS_setup?: Promise<{
4
+ declare const __VLS_export: <From extends Record<PropertyKey, any>, To extends Record<PropertyKey, any>, Name extends DeepKeys<From> | undefined = DeepKeys<From>>(__VLS_props: NonNullable<Awaited<typeof __VLS_setup>>["props"], __VLS_ctx?: __VLS_PrettifyLocal<Pick<NonNullable<Awaited<typeof __VLS_setup>>, "attrs" | "emit" | "slots">>, __VLS_expose?: NonNullable<Awaited<typeof __VLS_setup>>["expose"], __VLS_setup?: Promise<{
5
5
  props: __VLS_PrettifyLocal<{
6
- name: Name;
6
+ name?: Name;
7
7
  form: ReturnType<typeof useOmegaForm<From, To>>;
8
8
  type?: "select" | "radio";
9
- options: TaggedUnionOptionsArray<From, Name>;
9
+ options: TaggedUnionOption<From, Name>[];
10
10
  label?: string;
11
11
  }> & import("vue").PublicProps;
12
12
  expose: (exposed: {}) => void;
13
13
  attrs: any;
14
14
  slots: {
15
- [x: string]: ((props: {
16
- field: import("./InputProps").OmegaFieldInternalApi<From, Name>;
17
- state: NonNullable<NonNullable<DeepValue<From, Name>>>;
18
- }) => any) | undefined;
19
- [x: number]: ((props: {
20
- field: import("./InputProps").OmegaFieldInternalApi<From, Name>;
21
- state: NonNullable<NonNullable<DeepValue<From, Name>>>;
22
- }) => any) | undefined;
15
+ [x: string]: ((props: any) => any) | undefined;
16
+ [x: number]: ((props: any) => any) | undefined;
17
+ } & {
18
+ OmegaCustomInput?: (props: {}) => any;
23
19
  } & {
24
20
  default?: (props: {}) => any;
25
21
  };
@@ -4,19 +4,12 @@ declare const __VLS_export: <From extends Record<PropertyKey, any>, To extends R
4
4
  props: __VLS_PrettifyLocal<{
5
5
  state: DeepValue<From, Name>;
6
6
  field: OmegaFieldInternalApi<From, Name>;
7
+ name?: DeepKeys<From>;
7
8
  }> & import("vue").PublicProps;
8
9
  expose: (exposed: {}) => void;
9
10
  attrs: any;
10
11
  slots: {
11
- [x: string]: ((props: {
12
- field: OmegaFieldInternalApi<From, Name>;
13
- state: NonNullable<NonNullable<DeepValue<From, Name>>>;
14
- }) => any) | undefined;
15
- [x: number]: ((props: {
16
- field: OmegaFieldInternalApi<From, Name>;
17
- state: NonNullable<NonNullable<DeepValue<From, Name>>>;
18
- }) => any) | undefined;
19
- [x: symbol]: ((props: {
12
+ [x: `${string}${any}`]: ((props: {
20
13
  field: OmegaFieldInternalApi<From, Name>;
21
14
  state: NonNullable<NonNullable<DeepValue<From, Name>>>;
22
15
  }) => any) | undefined;
@@ -113,9 +113,10 @@ export interface OmegaFormReturn<From extends Record<PropertyKey, any>, To exten
113
113
  };
114
114
  TaggedUnion: <Name extends OmegaFormReturn<From, To, TypeProps>["_keys"]>(__VLS_props: NonNullable<Awaited<typeof __VLS_setup>>["props"], __VLS_ctx?: __VLS_PrettifyLocal<Pick<NonNullable<Awaited<typeof __VLS_setup>>, "attrs" | "emit" | "slots">>, __VLS_expose?: NonNullable<Awaited<typeof __VLS_setup>>["expose"], __VLS_setup?: Promise<{
115
115
  props: __VLS_PrettifyLocal<Pick<Partial<{}> & Omit<{} & import("vue").VNodeProps & import("vue").AllowedComponentProps & import("vue").ComponentCustomProps, never>, never> & {
116
- name: Name;
116
+ name?: Name;
117
117
  type?: "select" | "radio";
118
118
  options: import("./InputProps").TaggedUnionOptionsArray<From, Name>;
119
+ _debugName?: [NoInfer<Name>];
119
120
  label?: string;
120
121
  } & {}> & import("vue").PublicProps;
121
122
  expose(exposed: import("vue").ShallowUnwrapRef<{}>): void;
@@ -1,145 +1,200 @@
1
- import { useForm as z } from "@tanstack/vue-form";
2
- import { Data as K, S as w, Effect as c, Fiber as U, Option as A, Array as j } from "effect-app";
3
- import { runtimeFiberAsPromise as Z } from "./vue-components.es16.js";
4
- import { isObject as G } from "./vue-components.es17.js";
5
- import { computed as D, onUnmounted as R, onMounted as Q, onBeforeUnmount as X, watch as T, ref as Y, h as q } from "vue";
6
- import C from "./vue-components.es18.js";
7
- import ee from "./vue-components.es19.js";
8
- import te from "./vue-components.es20.js";
9
- import { generateMetaFromSchema as re } from "./vue-components.es12.js";
10
- import ne from "./vue-components.es6.js";
11
- import se from "./vue-components.es8.js";
12
- import oe from "./vue-components.es21.js";
13
- import { trace as B } from "./vue-components.es22.js";
14
- import { context as V } from "./vue-components.es23.js";
15
- class ie extends K.TaggedError("FormErrors") {
1
+ import { useForm as K } from "@tanstack/vue-form";
2
+ import { Data as Z, S as p, Effect as v, Fiber as P, Option as O, Array as A } from "effect-app";
3
+ import { runtimeFiberAsPromise as G } from "./vue-components.es16.js";
4
+ import { isObject as Q } from "./vue-components.es17.js";
5
+ import { computed as L, onUnmounted as W, onMounted as X, onBeforeUnmount as Y, watch as B, ref as C, h as H } from "vue";
6
+ import ee from "./vue-components.es18.js";
7
+ import te from "./vue-components.es19.js";
8
+ import re from "./vue-components.es20.js";
9
+ import { generateMetaFromSchema as ne } from "./vue-components.es12.js";
10
+ import se from "./vue-components.es6.js";
11
+ import oe from "./vue-components.es8.js";
12
+ import ie from "./vue-components.es21.js";
13
+ import { trace as q } from "./vue-components.es22.js";
14
+ import { context as U } from "./vue-components.es23.js";
15
+ const k = (c) => {
16
+ const a = c.ast;
17
+ if (a._tag === "Union") {
18
+ const o = a.types.map((f) => {
19
+ const l = p.make(f);
20
+ return k(l).ast;
21
+ }), m = {
22
+ ...a,
23
+ types: o
24
+ };
25
+ return p.make(m);
26
+ }
27
+ if (a._tag === "Transformation") {
28
+ const o = p.make(a.from), m = p.make(a.to), f = k(o), l = k(m), d = {
29
+ ...a,
30
+ from: f.ast,
31
+ to: l.ast
32
+ };
33
+ return p.make(d);
34
+ }
35
+ if (a._tag === "TypeLiteral") {
36
+ const o = a.propertySignatures.map((f) => {
37
+ const l = f.type;
38
+ let d = l;
39
+ if (l._tag === "TypeLiteral" || l._tag === "Union" || l._tag === "Transformation") {
40
+ const w = p.make(l);
41
+ d = k(w).ast;
42
+ }
43
+ return {
44
+ ...f,
45
+ type: d,
46
+ isOptional: !0
47
+ };
48
+ }), m = {
49
+ ...a,
50
+ propertySignatures: o
51
+ };
52
+ return p.make(m);
53
+ }
54
+ return c;
55
+ };
56
+ class ae extends Z.TaggedError("FormErrors") {
16
57
  }
17
- const O = (a) => function(i) {
58
+ const D = (c) => function(o) {
18
59
  return {
19
60
  render() {
20
- return q(i, {
21
- form: a,
61
+ return H(o, {
62
+ form: c,
22
63
  ...this.$attrs
23
64
  }, this.$slots);
24
65
  }
25
66
  };
26
- }, ae = (a) => function(i) {
67
+ }, le = (c) => function(o) {
27
68
  return {
28
69
  setup() {
29
- const { fieldMap: h, form: p } = a, f = p.useStore((u) => u.errors), d = p.useStore((u) => u.fieldMeta), k = p.useStore((u) => u.errorMap), x = D(() => {
30
- const u = j.filterMap(
70
+ const { fieldMap: m, form: f } = c, l = f.useStore((S) => S.errors), d = f.useStore((S) => S.fieldMeta), w = f.useStore((S) => S.errorMap), E = L(() => {
71
+ const S = A.filterMap(
31
72
  Object.entries(d.value),
32
- ([E, v]) => {
33
- const b = v.errors ?? [];
34
- if (!b.length) return A.none();
35
- const o = h.value.get(E);
36
- return o ? A.some({
37
- label: o.label,
38
- inputId: o.id,
73
+ ([_, b]) => {
74
+ const F = b.errors ?? [];
75
+ if (!F.length) return O.none();
76
+ const i = m.value.get(_);
77
+ return i ? O.some({
78
+ label: i.label,
79
+ inputId: i.id,
39
80
  // Only show the first error
40
- errors: [b[0]?.message].filter(Boolean)
41
- }) : A.none();
81
+ errors: [F[0]?.message].filter(Boolean)
82
+ }) : O.none();
42
83
  }
43
- ), y = [];
44
- if (k.value.onSubmit) {
45
- for (const [E, v] of Object.entries(k.value.onSubmit))
46
- if (j.isArray(v) && v.length)
47
- for (const b of v) {
48
- const o = b;
49
- if (o?.path && j.isArray(o.path) && o.path.length) {
50
- const g = o.path.join(".");
51
- if (!h.value.has(g)) {
52
- y.push({
53
- label: g,
54
- inputId: g,
55
- errors: [o.message].filter(Boolean)
84
+ ), g = [];
85
+ if (w.value.onSubmit) {
86
+ for (const [_, b] of Object.entries(w.value.onSubmit))
87
+ if (A.isArray(b) && b.length)
88
+ for (const F of b) {
89
+ const i = F;
90
+ if (i?.path && A.isArray(i.path) && i.path.length) {
91
+ const M = i.path.join(".");
92
+ if (!m.value.has(M)) {
93
+ g.push({
94
+ label: M,
95
+ inputId: M,
96
+ errors: [i.message].filter(Boolean)
56
97
  });
57
98
  break;
58
99
  }
59
100
  }
60
101
  }
61
102
  }
62
- return [...u, ...y];
103
+ return [...S, ...g];
63
104
  });
64
105
  return {
65
- generalErrors: f,
66
- errors: x
106
+ generalErrors: l,
107
+ errors: E
67
108
  };
68
109
  },
69
- render({ errors: h, generalErrors: p }) {
70
- return q(i, {
71
- errors: h,
72
- generalErrors: p,
110
+ render({ errors: m, generalErrors: f }) {
111
+ return H(o, {
112
+ errors: m,
113
+ generalErrors: f,
73
114
  ...this.$attrs
74
115
  }, this.$slots);
75
116
  }
76
117
  };
77
- }, ge = (a, m, i) => {
78
- if (!a) throw new Error("Schema is required");
79
- const h = w.standardSchemaV1(a), p = w.decode(a), { meta: f } = re(a), d = D(() => {
80
- if (i?.persistency?.id)
81
- return i.persistency.id;
82
- const e = window.location.pathname, t = Object.keys(f);
118
+ }, Fe = (c, a, o) => {
119
+ if (!c) throw new Error("Schema is required");
120
+ const m = p.standardSchemaV1(c), f = p.decode(c), { meta: l } = ne(c), d = L(() => {
121
+ if (o?.persistency?.id)
122
+ return o.persistency.id;
123
+ const e = window.location.pathname, t = Object.keys(l);
83
124
  return `${e}-${t.join("-")}`;
84
- }), k = () => {
125
+ }), w = () => {
85
126
  const e = new URLSearchParams(window.location.search);
86
127
  e.delete(d.value);
87
128
  const t = new URL(window.location.href);
88
129
  t.search = e.toString(), window.history.replaceState({}, "", t.toString());
89
130
  };
90
- function x(e, t) {
131
+ function E(e, t) {
91
132
  for (const r in t)
92
- t[r] && G(t[r]) ? (e[r] || (e[r] = {}), x(e[r], t[r])) : e[r] = t[r];
133
+ t[r] && Q(t[r]) ? (e[r] || (e[r] = {}), E(e[r], t[r])) : e[r] = t[r];
93
134
  return e;
94
135
  }
95
- const u = (e) => {
136
+ const S = (e) => {
96
137
  if (!e) return;
97
138
  const t = { ...e };
98
- for (const r in f) {
99
- const s = f[r], n = t[r], F = (n == null || n === !1 || n === "" || Number.isNaN(n)) && n !== !1 && n !== 0;
100
- s && !s.required && s.nullableOrUndefined && s.type !== "boolean" && (n === void 0 || F) && (t[r] = s.nullableOrUndefined === "undefined" ? void 0 : null);
139
+ for (const r in l) {
140
+ const s = l[r], n = t[r], y = (n == null || n === !1 || n === "" || Number.isNaN(n)) && n !== !1 && n !== 0;
141
+ s && !s.required && s.nullableOrUndefined && s.type !== "boolean" && (n === void 0 || y) && (t[r] = s.nullableOrUndefined === "undefined" ? void 0 : null);
101
142
  }
102
143
  return t;
103
- }, y = (e) => {
144
+ }, g = (e) => {
104
145
  const t = {};
146
+ if (e?.members && A.isArray(e.members)) {
147
+ for (const r of e.members) {
148
+ const s = g(r);
149
+ if (Object.keys(s).length > 0 && r?.fields && Object.entries(r.fields).some(
150
+ ([u, y]) => u === "_tag" || u === "type" || u === "kind" ? y?.ast?.defaultValue !== void 0 : !1
151
+ ))
152
+ return s;
153
+ }
154
+ return {};
155
+ }
105
156
  if (e?.fields && typeof e.fields == "object")
106
157
  for (const [r, s] of Object.entries(e.fields)) {
107
158
  if (s?.ast?.defaultValue)
108
159
  try {
109
- const l = s.ast.defaultValue();
110
- l !== void 0 && (t[r] = l);
160
+ const u = s.ast.defaultValue();
161
+ u !== void 0 && (t[r] = u);
111
162
  } catch {
112
163
  }
113
- const n = y(s);
164
+ const n = g(s);
114
165
  Object.keys(n).length > 0 && (t[r] && typeof t[r] == "object" ? Object.assign(t[r], n) : t[r] || (t[r] = n));
115
166
  }
116
167
  return t;
117
- }, E = (e = {}) => {
168
+ }, _ = (e = {}) => {
169
+ let t = {};
118
170
  try {
119
- if ("make" in a && typeof a.make == "function") {
120
- const t = a.make(e);
121
- return w.encodeSync(a.pipe(w.partial))(t);
122
- }
123
- } catch (t) {
124
- window.location.hostname === "localhost" && console.warn("schema.make() failed, extracting defaults from AST:", t);
171
+ const r = c.make(e);
172
+ t = p.encodeSync(k(c))(r);
173
+ } catch (r) {
174
+ window.location.hostname === "localhost" && console.warn("schema.make() failed, extracting defaults from AST:", r);
125
175
  try {
126
- const r = y(a);
127
- return w.encodeSync(a.pipe(w.partial))(r);
128
- } catch (r) {
129
- return window.location.hostname === "localhost" && console.warn("Could not extract defaults from AST:", r), {};
176
+ const s = g(c);
177
+ t = p.encodeSync(k(c))(s);
178
+ } catch (s) {
179
+ window.location.hostname === "localhost" && console.warn("Could not extract defaults from AST:", s);
130
180
  }
131
181
  }
132
- }, v = D(() => {
133
- const e = E(u(m?.defaultValues));
134
- if (e && !i?.persistency?.overrideDefaultValues)
182
+ return E(t, e);
183
+ }, b = L(() => {
184
+ const e = _(
185
+ S(
186
+ a?.defaultValues
187
+ )
188
+ );
189
+ if (e && !o?.persistency?.overrideDefaultValues)
135
190
  return e;
136
191
  let t;
137
- const r = i?.persistency;
192
+ const r = o?.persistency;
138
193
  if (!r?.policies || r.policies.length === 0) return {};
139
194
  if (r.policies.includes("querystring"))
140
195
  try {
141
196
  const n = new URLSearchParams(window.location.search).get(d.value);
142
- k(), n && (t = JSON.parse(n));
197
+ w(), n && (t = JSON.parse(n));
143
198
  } catch (s) {
144
199
  console.error(s);
145
200
  }
@@ -158,114 +213,114 @@ const O = (a) => function(i) {
158
213
  console.error(n);
159
214
  }
160
215
  }
161
- return t ??= E({}), e ? x(e, t) : t;
162
- }), b = (e, t) => e ? V.with(B.setSpan(V.active(), e), t) : t(), o = z({
163
- ...m,
216
+ return t ??= _({}), e ? E(e, t) : t;
217
+ }), F = (e, t) => e ? U.with(q.setSpan(U.active(), e), t) : t(), i = K({
218
+ ...a,
164
219
  validators: {
165
- onSubmit: h,
166
- ...m?.validators || {}
220
+ onSubmit: m,
221
+ ...a?.validators || {}
167
222
  },
168
- onSubmit: m?.onSubmit ? ({ formApi: e, meta: t, value: r }) => b(t?.currentSpan, async () => {
169
- const s = await c.runPromise(p(r)), n = m.onSubmit({
223
+ onSubmit: a?.onSubmit ? ({ formApi: e, meta: t, value: r }) => F(t?.currentSpan, async () => {
224
+ const s = await v.runPromise(f(r)), n = a.onSubmit({
170
225
  formApi: e,
171
226
  meta: t,
172
227
  value: s
173
228
  });
174
- return U.isFiber(n) && U.isRuntimeFiber(n) ? await Z(n) : c.isEffect(n) ? await c.runPromise(
229
+ return P.isFiber(n) && P.isRuntimeFiber(n) ? await G(n) : v.isEffect(n) ? await v.runPromise(
175
230
  n.pipe(
176
231
  // meta?.currentSpan
177
232
  // ? Effect.withParentSpan(meta.currentSpan)
178
233
  // : (_) => _,
179
- c.flatMap((l) => U.join(l))
234
+ v.flatMap((u) => P.join(u))
180
235
  )
181
236
  ) : n;
182
237
  }) : void 0,
183
- defaultValues: v.value
184
- }), g = () => {
185
- Object.keys(f).forEach((e) => {
186
- o.setFieldValue(e, void 0);
238
+ defaultValues: b.value
239
+ }), M = () => {
240
+ Object.keys(l).forEach((e) => {
241
+ i.setFieldValue(e, void 0);
187
242
  });
188
- }, N = (e) => e.reduce((t, r) => {
243
+ }, T = (e) => e.reduce((t, r) => {
189
244
  const s = r.split(".");
190
- return s.reduce((n, l, F) => (F === s.length - 1 ? n[l] = o.getFieldValue(r) : n[l] = n[l] ?? {}, n[l]), t), t;
191
- }, {}), _ = (e) => {
245
+ return s.reduce((n, u, y) => (y === s.length - 1 ? n[u] = i.getFieldValue(r) : n[u] = n[u] ?? {}, n[u]), t), t;
246
+ }, {}), V = (e) => {
192
247
  if (e) {
193
- if (j.isArray(e.keys))
194
- return N(e.keys);
195
- if (j.isArray(e.banKeys)) {
196
- const t = Object.keys(f).filter((r) => e.banKeys?.includes(r));
197
- return N(t);
248
+ if (A.isArray(e.keys))
249
+ return T(e.keys);
250
+ if (A.isArray(e.banKeys)) {
251
+ const t = Object.keys(l).filter((r) => e.banKeys?.includes(r));
252
+ return T(t);
198
253
  }
199
- return o.store.state.values;
254
+ return i.store.state.values;
200
255
  }
201
- }, M = () => {
202
- const e = i?.persistency;
256
+ }, j = () => {
257
+ const e = o?.persistency;
203
258
  if (!(!e?.policies || e.policies.length === 0) && (e.policies.includes("local") || e.policies.includes("session"))) {
204
259
  const t = e.policies.includes("local") ? localStorage : sessionStorage;
205
260
  if (!t) return;
206
- const r = _(e);
261
+ const r = V(e);
207
262
  return t.setItem(d.value, JSON.stringify(r));
208
263
  }
209
- }, L = () => {
210
- const e = i?.persistency;
264
+ }, N = () => {
265
+ const e = o?.persistency;
211
266
  if (!(!e?.policies || e.policies.length === 0) && e.policies.includes("querystring")) {
212
- const t = _(e), r = new URLSearchParams(window.location.search);
267
+ const t = V(e), r = new URLSearchParams(window.location.search);
213
268
  r.set(d.value, JSON.stringify(t));
214
269
  const s = new URL(window.location.href);
215
270
  s.search = r.toString(), window.history.replaceState({}, "", s.toString());
216
271
  }
217
272
  }, I = (e) => {
218
- o.store.state.isDirty && e.preventDefault();
273
+ i.store.state.isDirty && e.preventDefault();
219
274
  };
220
- if (R(M), Q(() => {
221
- window.addEventListener("beforeunload", M), window.addEventListener("blur", L), i?.preventWindowExit && i.preventWindowExit !== "nope" && window.addEventListener("beforeunload", I);
222
- }), X(() => {
223
- window.removeEventListener("beforeunload", M), window.removeEventListener("blur", L), i?.preventWindowExit && i.preventWindowExit !== "nope" && window.removeEventListener("beforeunload", I);
224
- }), i?.preventWindowExit === "prevent-and-reset") {
225
- const e = o.useStore((n) => n.isSubmitting), t = o.useStore((n) => n.submissionAttempts), r = o.useStore((n) => n.canSubmit), s = o.useStore((n) => n.values);
226
- T([e, t], ([n, l], [F]) => {
227
- F && !n && l > 0 && r.value && o.reset(s.value);
275
+ if (W(j), X(() => {
276
+ window.addEventListener("beforeunload", j), window.addEventListener("blur", N), o?.preventWindowExit && o.preventWindowExit !== "nope" && window.addEventListener("beforeunload", I);
277
+ }), Y(() => {
278
+ window.removeEventListener("beforeunload", j), window.removeEventListener("blur", N), o?.preventWindowExit && o.preventWindowExit !== "nope" && window.removeEventListener("beforeunload", I);
279
+ }), o?.preventWindowExit === "prevent-and-reset") {
280
+ const e = i.useStore((n) => n.isSubmitting), t = i.useStore((n) => n.submissionAttempts), r = i.useStore((n) => n.canSubmit), s = i.useStore((n) => n.values);
281
+ B([e, t], ([n, u], [y]) => {
282
+ y && !n && u > 0 && r.value && i.reset(s.value);
228
283
  });
229
284
  }
230
- const $ = (e) => c.currentSpan.pipe(
231
- c.option,
232
- c.flatMap(
233
- (t) => c.promise(() => o.handleSubmit(A.isSome(t) ? { currentSpan: t.value, ...e } : e))
285
+ const $ = (e) => v.currentSpan.pipe(
286
+ v.option,
287
+ v.flatMap(
288
+ (t) => v.promise(() => i.handleSubmit(O.isSome(t) ? { currentSpan: t.value, ...e } : e))
234
289
  )
235
- ), H = (e) => e?.checkErrors ? $(e?.meta).pipe(c.flatMap(c.fnUntraced(function* () {
236
- const t = o.getAllErrors();
290
+ ), J = (e) => e?.checkErrors ? $(e?.meta).pipe(v.flatMap(v.fnUntraced(function* () {
291
+ const t = i.getAllErrors();
237
292
  if (Object.keys(t.fields).length || t.form.errors.length)
238
- return yield* new ie({ form: t.form, fields: t.fields });
239
- }))) : $(e?.meta), J = o.handleSubmit, P = Y(/* @__PURE__ */ new Map()), S = Object.assign(o, {
240
- i18nNamespace: i?.i18nNamespace,
241
- ignorePreventCloseEvents: i?.ignorePreventCloseEvents,
242
- meta: f,
243
- clear: g,
293
+ return yield* new ae({ form: t.form, fields: t.fields });
294
+ }))) : $(e?.meta), z = i.handleSubmit, x = C(/* @__PURE__ */ new Map()), h = Object.assign(i, {
295
+ i18nNamespace: o?.i18nNamespace,
296
+ ignorePreventCloseEvents: o?.ignorePreventCloseEvents,
297
+ meta: l,
298
+ clear: M,
244
299
  handleSubmit: (e) => {
245
- const t = B.getSpan(V.active());
246
- return J({ currentSpan: t, ...e });
300
+ const t = q.getSpan(U.active());
301
+ return z({ currentSpan: t, ...e });
247
302
  },
248
303
  // /** @experimental */
249
- handleSubmitEffect: H,
304
+ handleSubmitEffect: J,
250
305
  registerField: (e) => {
251
- T(e, (t) => P.value.set(t.name, { label: t.label, id: t.id }), { immediate: !0 }), R(() => P.value.delete(e.value.name));
306
+ B(e, (t) => x.value.set(t.name, { label: t.label, id: t.id }), { immediate: !0 }), W(() => x.value.delete(e.value.name));
252
307
  }
253
- }), W = { form: S, fieldMap: P };
254
- return Object.assign(S, {
308
+ }), R = { form: h, fieldMap: x };
309
+ return Object.assign(h, {
255
310
  // Type-level properties for performance optimization (not used at runtime)
256
311
  _paths: void 0,
257
312
  _keys: void 0,
258
- errorContext: W,
259
- Form: O(S)(oe),
260
- Input: O(S)(i?.input ?? ne),
261
- TaggedUnion: O(S)(se),
262
- Field: o.Field,
263
- Errors: ae(W)(te),
264
- Array: O(S)(C),
265
- AutoGen: O(S)(ee)
313
+ errorContext: R,
314
+ Form: D(h)(ie),
315
+ Input: D(h)(o?.input ?? se),
316
+ TaggedUnion: D(h)(oe),
317
+ Field: i.Field,
318
+ Errors: le(R)(re),
319
+ Array: D(h)(ee),
320
+ AutoGen: D(h)(te)
266
321
  });
267
322
  };
268
323
  export {
269
- ie as FormErrors,
270
- ge as useOmegaForm
324
+ ae as FormErrors,
325
+ Fe as useOmegaForm
271
326
  };