@effect-app/vue-components 4.0.0-beta.7 → 4.0.0-beta.71

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 (172) hide show
  1. package/README.md +24 -0
  2. package/dist/reset.css +52 -0
  3. package/dist/types/components/OmegaForm/OmegaAutoGen.vue.d.ts +1 -1
  4. package/dist/types/components/OmegaForm/OmegaFormStuff.d.ts +22 -15
  5. package/dist/types/components/OmegaForm/useOmegaForm.d.ts +3 -5
  6. package/dist/types/utils/index.d.ts +3 -4
  7. package/dist/vue-components.es.js +21 -44
  8. package/dist/vue-components10.es.js +5 -0
  9. package/dist/vue-components11.es.js +13 -0
  10. package/dist/vue-components12.es.js +440 -0
  11. package/dist/vue-components13.es.js +4 -0
  12. package/dist/vue-components14.es.js +38 -0
  13. package/dist/vue-components15.es.js +27 -0
  14. package/dist/vue-components16.es.js +28 -0
  15. package/dist/vue-components17.es.js +7 -0
  16. package/dist/vue-components18.es.js +18 -0
  17. package/dist/vue-components19.es.js +36 -0
  18. package/dist/vue-components2.es.js +11 -0
  19. package/dist/vue-components20.es.js +18 -0
  20. package/dist/vue-components21.es.js +21 -0
  21. package/dist/vue-components22.es.js +30 -0
  22. package/dist/vue-components23.es.js +7 -0
  23. package/dist/vue-components24.es.js +9 -0
  24. package/dist/vue-components25.es.js +38 -0
  25. package/dist/vue-components26.es.js +25 -0
  26. package/dist/vue-components27.es.js +128 -0
  27. package/dist/vue-components28.es.js +24 -0
  28. package/dist/vue-components29.es.js +21 -0
  29. package/dist/vue-components3.es.js +54 -0
  30. package/dist/vue-components30.es.js +9 -0
  31. package/dist/vue-components31.es.js +19 -0
  32. package/dist/vue-components32.es.js +5 -0
  33. package/dist/vue-components33.es.js +29 -0
  34. package/dist/vue-components34.es.js +5 -0
  35. package/dist/vue-components35.es.js +29 -0
  36. package/dist/vue-components36.es.js +6 -0
  37. package/dist/vue-components37.es.js +18 -0
  38. package/dist/vue-components38.es.js +56 -0
  39. package/dist/vue-components39.es.js +5 -0
  40. package/dist/vue-components4.es.js +5 -0
  41. package/dist/vue-components40.es.js +44 -0
  42. package/dist/vue-components41.es.js +5 -0
  43. package/dist/vue-components42.es.js +84 -0
  44. package/dist/vue-components44.es.js +8 -0
  45. package/dist/vue-components45.es.js +7 -0
  46. package/dist/vue-components46.es.js +267 -0
  47. package/dist/vue-components48.es.js +6 -0
  48. package/dist/vue-components49.es.js +79 -0
  49. package/dist/vue-components5.es.js +24 -0
  50. package/dist/vue-components50.es.js +5 -0
  51. package/dist/vue-components51.es.js +66 -0
  52. package/dist/vue-components52.es.js +5 -0
  53. package/dist/vue-components53.es.js +24 -0
  54. package/dist/vue-components54.es.js +5 -0
  55. package/dist/vue-components55.es.js +59 -0
  56. package/dist/vue-components56.es.js +5 -0
  57. package/dist/vue-components57.es.js +12 -0
  58. package/dist/vue-components58.es.js +22 -0
  59. package/dist/vue-components6.es.js +13 -0
  60. package/dist/vue-components60.es.js +7 -0
  61. package/dist/vue-components61.es.js +235 -0
  62. package/dist/vue-components62.es.js +33 -0
  63. package/dist/vue-components63.es.js +8 -0
  64. package/dist/vue-components64.es.js +36 -0
  65. package/dist/vue-components7.es.js +28 -0
  66. package/dist/vue-components8.es.js +47 -0
  67. package/dist/vue-components9.es.js +5 -0
  68. package/package.json +30 -25
  69. package/src/components/CommandButton.vue +1 -1
  70. package/src/components/OmegaForm/OmegaAutoGen.vue +25 -30
  71. package/src/components/OmegaForm/OmegaErrorsInternal.vue +2 -3
  72. package/src/components/OmegaForm/OmegaFormStuff.ts +498 -357
  73. package/src/components/OmegaForm/OmegaInternalInput.vue +9 -5
  74. package/src/components/OmegaForm/useOmegaForm.ts +57 -36
  75. package/src/reset.css +52 -0
  76. package/src/utils/index.ts +4 -8
  77. package/dist/vue-components.es10.js +0 -237
  78. package/dist/vue-components.es100.js +0 -4
  79. package/dist/vue-components.es11.js +0 -32
  80. package/dist/vue-components.es12.js +0 -439
  81. package/dist/vue-components.es13.js +0 -49
  82. package/dist/vue-components.es14.js +0 -4
  83. package/dist/vue-components.es15.js +0 -4
  84. package/dist/vue-components.es16.js +0 -725
  85. package/dist/vue-components.es17.js +0 -143
  86. package/dist/vue-components.es18.js +0 -6
  87. package/dist/vue-components.es19.js +0 -13
  88. package/dist/vue-components.es2.js +0 -30
  89. package/dist/vue-components.es20.js +0 -5
  90. package/dist/vue-components.es21.js +0 -26
  91. package/dist/vue-components.es22.js +0 -6
  92. package/dist/vue-components.es23.js +0 -10
  93. package/dist/vue-components.es24.js +0 -57
  94. package/dist/vue-components.es25.js +0 -71
  95. package/dist/vue-components.es26.js +0 -8
  96. package/dist/vue-components.es27.js +0 -8
  97. package/dist/vue-components.es28.js +0 -5
  98. package/dist/vue-components.es29.js +0 -5
  99. package/dist/vue-components.es3.js +0 -16
  100. package/dist/vue-components.es30.js +0 -4
  101. package/dist/vue-components.es31.js +0 -4
  102. package/dist/vue-components.es32.js +0 -4
  103. package/dist/vue-components.es33.js +0 -4
  104. package/dist/vue-components.es34.js +0 -19
  105. package/dist/vue-components.es35.js +0 -13
  106. package/dist/vue-components.es36.js +0 -194
  107. package/dist/vue-components.es38.js +0 -40
  108. package/dist/vue-components.es39.js +0 -6
  109. package/dist/vue-components.es4.js +0 -52
  110. package/dist/vue-components.es40.js +0 -85
  111. package/dist/vue-components.es41.js +0 -54
  112. package/dist/vue-components.es42.js +0 -563
  113. package/dist/vue-components.es43.js +0 -43
  114. package/dist/vue-components.es44.js +0 -29
  115. package/dist/vue-components.es45.js +0 -7
  116. package/dist/vue-components.es46.js +0 -42
  117. package/dist/vue-components.es47.js +0 -316
  118. package/dist/vue-components.es48.js +0 -33
  119. package/dist/vue-components.es49.js +0 -6
  120. package/dist/vue-components.es5.js +0 -52
  121. package/dist/vue-components.es50.js +0 -26
  122. package/dist/vue-components.es51.js +0 -77
  123. package/dist/vue-components.es52.js +0 -101
  124. package/dist/vue-components.es53.js +0 -4
  125. package/dist/vue-components.es54.js +0 -320
  126. package/dist/vue-components.es55.js +0 -66
  127. package/dist/vue-components.es56.js +0 -4
  128. package/dist/vue-components.es57.js +0 -4
  129. package/dist/vue-components.es58.js +0 -113
  130. package/dist/vue-components.es6.js +0 -69
  131. package/dist/vue-components.es60.js +0 -9
  132. package/dist/vue-components.es61.js +0 -34
  133. package/dist/vue-components.es63.js +0 -6
  134. package/dist/vue-components.es64.js +0 -103
  135. package/dist/vue-components.es65.js +0 -4
  136. package/dist/vue-components.es66.js +0 -23
  137. package/dist/vue-components.es67.js +0 -84
  138. package/dist/vue-components.es68.js +0 -14
  139. package/dist/vue-components.es69.js +0 -115
  140. package/dist/vue-components.es7.js +0 -83
  141. package/dist/vue-components.es70.js +0 -5
  142. package/dist/vue-components.es71.js +0 -34
  143. package/dist/vue-components.es72.js +0 -4
  144. package/dist/vue-components.es73.js +0 -4
  145. package/dist/vue-components.es74.js +0 -17
  146. package/dist/vue-components.es75.js +0 -72
  147. package/dist/vue-components.es76.js +0 -17
  148. package/dist/vue-components.es77.js +0 -25
  149. package/dist/vue-components.es78.js +0 -7
  150. package/dist/vue-components.es79.js +0 -23
  151. package/dist/vue-components.es8.js +0 -63
  152. package/dist/vue-components.es80.js +0 -32
  153. package/dist/vue-components.es81.js +0 -24
  154. package/dist/vue-components.es82.js +0 -14
  155. package/dist/vue-components.es83.js +0 -7
  156. package/dist/vue-components.es84.js +0 -21
  157. package/dist/vue-components.es85.js +0 -11
  158. package/dist/vue-components.es86.js +0 -33
  159. package/dist/vue-components.es87.js +0 -50
  160. package/dist/vue-components.es88.js +0 -28
  161. package/dist/vue-components.es89.js +0 -18
  162. package/dist/vue-components.es9.js +0 -21
  163. package/dist/vue-components.es90.js +0 -10
  164. package/dist/vue-components.es91.js +0 -13
  165. package/dist/vue-components.es92.js +0 -67
  166. package/dist/vue-components.es93.js +0 -58
  167. package/dist/vue-components.es94.js +0 -19
  168. package/dist/vue-components.es95.js +0 -35
  169. package/dist/vue-components.es96.js +0 -31
  170. package/dist/vue-components.es97.js +0 -44
  171. package/dist/vue-components.es98.js +0 -4
  172. package/dist/vue-components.es99.js +0 -46
package/README.md CHANGED
@@ -183,6 +183,30 @@ In [tsconfig.json](tsconfig.js), set the following to address [Issue #32](https:
183
183
  }
184
184
  ```
185
185
 
186
+ ## v4 Breaking Changes (from v3)
187
+
188
+ ### 1. Vuetify 4 CSS Reset Removed
189
+
190
+ Vuetify 4 removed the aggressive global CSS reset that v3 included (universal `margin: 0; padding: 0`, list/heading/input resets, etc.). If your app relied on these defaults, opt in to the supplemental reset:
191
+
192
+ ```ts
193
+ import '@effect-app/vue-components/reset.css'
194
+ ```
195
+
196
+ ### 2. Nested union `_tag` handling
197
+
198
+ `S.TaggedStruct` produces a bare `Literal` AST node, while legacy `S.Struct({ _tag: S.Literal("X") })` produces `Union([Literal("X")])` after `AST.toType`. Both patterns now correctly produce `"select"` metadata thanks to the `unwrapSingleLiteralUnion` helper. A `console.warn` is emitted for the legacy pattern to encourage migration to `TaggedStruct`.
199
+
200
+ ### 3. `UndefinedOr` defaults include the key with explicit `undefined`
201
+
202
+ - **v3**: `defaultsValueFromSchema` skipped keys where the recursive call returned `undefined`, so `UndefinedOr` fields were omitted from the result object entirely.
203
+ - **v4**: The key is present in the result with an explicit `undefined` value.
204
+
205
+ ### 4. `S.optionalKey(X).pipe(S.withDecodingDefault(...))` support
206
+
207
+ - **v3**: Not supported. The v3 equivalent `S.optionalWith` encoded defaults inside a `PropertySignatureTransformation`, opaque to AST inspection.
208
+ - **v4**: `defaultsValueFromSchema` detects `PropertySignatureTransformation` and extracts defaults, enabling `withDecodingDefault` as a new pattern for declaring field defaults directly on the schema.
209
+
186
210
  ### On Submit event
187
211
  The :on-submit event could be tricky in `<OmegaForm />` component.
188
212
  This is a prop that is basically a map of Tanstack Form `onSubmit` option and accept a function that return a Promise. If you want to use it as an event, you have to manage the state of loading yourself with `@submit` with a function returning `void`
package/dist/reset.css ADDED
@@ -0,0 +1,52 @@
1
+ /*
2
+ * Supplemental CSS reset for Vuetify 4.
3
+ * Vuetify 4 removed the aggressive global reset that v3 included.
4
+ * Import this file to restore equivalent behavior:
5
+ * import '@effect-app/vue-components/reset.css'
6
+ */
7
+ @layer vuetify-reset {
8
+ body {
9
+ margin: 0;
10
+ }
11
+
12
+ ul,
13
+ ol {
14
+ margin: 0;
15
+ padding: 0;
16
+ list-style: none;
17
+ }
18
+
19
+ h1,
20
+ h2,
21
+ h3,
22
+ h4,
23
+ h5,
24
+ h6 {
25
+ margin: 0;
26
+ font-size: inherit;
27
+ font-weight: inherit;
28
+ }
29
+
30
+ p {
31
+ margin: 0;
32
+ }
33
+
34
+ input,
35
+ textarea,
36
+ select {
37
+ border: 0;
38
+ background: transparent;
39
+ }
40
+
41
+ a {
42
+ text-decoration: none;
43
+ color: inherit;
44
+ }
45
+
46
+ figure,
47
+ details,
48
+ summary {
49
+ margin: 0;
50
+ padding: 0;
51
+ }
52
+ }
@@ -1,5 +1,5 @@
1
1
  import { type DeepKeys } from "@tanstack/vue-form";
2
- import * as Order from "effect/Order";
2
+ import { Order } from "effect-app";
3
3
  import { type OmegaAutoGenMeta, type OmegaInputProps } from "./OmegaFormStuff";
4
4
  declare const __VLS_export: <// dprint-ignore
5
5
  From extends Record<PropertyKey, string>, To extends Record<PropertyKey, string>, 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_exposed?: NonNullable<Awaited<typeof __VLS_setup>>["expose"], __VLS_setup?: Promise<{
@@ -1,14 +1,14 @@
1
- import type * as Effect from "effect/Effect";
2
- import * as AST from "effect/SchemaAST";
1
+ import { Effect, S } from "effect-app";
3
2
  import { type DeepKeys, type DeepValue, type FieldAsyncValidateOrFn, type FieldValidateOrFn, type FormApi, type FormAsyncValidateOrFn, type FormOptions, type FormState, type FormValidateOrFn, type StandardSchemaV1, type VueFormApi } from "@tanstack/vue-form";
4
- import * as S from "effect/Schema";
3
+ import type { Fiber as EffectFiber } from "effect/Fiber";
4
+ import type { Redacted } from "effect/Redacted";
5
5
  import { useIntl } from "../../utils";
6
6
  import { type OmegaFieldInternalApi } from "./InputProps";
7
7
  import { type OF, type OmegaFormReturn } from "./useOmegaForm";
8
- export type FieldPath<T> = unknown extends T ? string : T extends string | boolean | number | null | undefined | symbol | bigint ? "" : T extends ReadonlyArray<infer U> ? FieldPath_<U, `[${number}]`> : {
8
+ export type FieldPath<T> = unknown extends T ? string : T extends string | boolean | number | null | undefined | symbol | bigint | Redacted<any> ? "" : T extends ReadonlyArray<infer U> ? FieldPath_<U, `[${number}]`> : {
9
9
  [K in keyof T]: FieldPath_<T[K], `${K & string}`>;
10
10
  }[keyof T];
11
- export type FieldPath_<T, Path extends string> = unknown extends T ? string : T extends string | boolean | number | null | undefined | symbol | bigint ? Path : T extends ReadonlyArray<infer U> ? FieldPath_<U, `${Path}[${number}]`> | Path : {
11
+ export type FieldPath_<T, Path extends string> = unknown extends T ? string : T extends string | boolean | number | null | undefined | symbol | bigint | Redacted<any> ? Path : T extends ReadonlyArray<infer U> ? FieldPath_<U, `${Path}[${number}]`> | Path : {
12
12
  [K in keyof T]: FieldPath_<T[K], `${Path}.${K & string}`>;
13
13
  }[keyof T];
14
14
  export type BaseProps<From, TName extends FieldPath<From>> = {
@@ -68,7 +68,7 @@ export type FormProps<From, To> = Omit<FormOptions<From, FormValidateOrFn<From>
68
68
  formApi: OmegaFormParams<From, To>;
69
69
  meta: any;
70
70
  value: To;
71
- }) => Promise<any> | Effect.Effect<unknown, any, never>;
71
+ }) => Promise<any> | EffectFiber<any, any> | Effect.Effect<unknown, any, never>;
72
72
  };
73
73
  export type OmegaFormParams<From, To> = FormApi<From, FormValidateOrFn<From> | undefined, FormValidateOrFn<From> | undefined, StandardSchemaV1<From, To>, 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>;
74
74
  export type OmegaFormState<From, To> = FormState<From, FormValidateOrFn<From> | undefined, FormValidateOrFn<From> | undefined, StandardSchemaV1<From, To>, FormValidateOrFn<From> | undefined, FormAsyncValidateOrFn<From> | undefined, FormValidateOrFn<From> | undefined, FormAsyncValidateOrFn<From> | undefined, FormValidateOrFn<From> | undefined, FormAsyncValidateOrFn<From> | undefined, FormAsyncValidateOrFn<From> | undefined>;
@@ -78,7 +78,10 @@ export type FormType<From extends Record<PropertyKey, any>, To extends Record<Pr
78
78
  Field: OmegaFieldInternalApi<From, Name>;
79
79
  };
80
80
  export type PrefixFromDepth<K extends string | number, _TDepth extends any[]> = K;
81
- export type NestedKeyOf<T> = DeepKeys<T>;
81
+ type StripRedacted<T> = T extends Redacted<any> ? string : T extends ReadonlyArray<infer U> ? ReadonlyArray<StripRedacted<U>> : T extends Record<string, any> ? {
82
+ [K in keyof T]: StripRedacted<T[K]>;
83
+ } : T;
84
+ export type NestedKeyOf<T> = DeepKeys<StripRedacted<T>>;
82
85
  export type FieldValidators<T> = {
83
86
  onChangeAsync?: FieldAsyncValidateOrFn<T, any, any>;
84
87
  onChange?: FieldValidateOrFn<T, any, any>;
@@ -110,15 +113,18 @@ export type SelectFieldMeta = BaseFieldMeta & {
110
113
  export type MultipleFieldMeta = BaseFieldMeta & {
111
114
  type: "multiple";
112
115
  members: any[];
113
- rest: readonly AST.AST[];
116
+ rest: readonly S.AST.AST[];
114
117
  };
115
118
  export type BooleanFieldMeta = BaseFieldMeta & {
116
119
  type: "boolean";
117
120
  };
121
+ export type DateFieldMeta = BaseFieldMeta & {
122
+ type: "date";
123
+ };
118
124
  export type UnknownFieldMeta = BaseFieldMeta & {
119
125
  type: "unknown";
120
126
  };
121
- export type FieldMeta = StringFieldMeta | NumberFieldMeta | SelectFieldMeta | MultipleFieldMeta | BooleanFieldMeta | UnknownFieldMeta;
127
+ export type FieldMeta = StringFieldMeta | NumberFieldMeta | SelectFieldMeta | MultipleFieldMeta | BooleanFieldMeta | DateFieldMeta | UnknownFieldMeta;
122
128
  export type MetaRecord<T = string> = {
123
129
  [K in NestedKeyOf<T>]?: FieldMeta;
124
130
  };
@@ -133,17 +139,18 @@ export type CreateMeta = {
133
139
  meta?: Record<string, any>;
134
140
  nullableOrUndefined?: false | "undefined" | "null";
135
141
  } & ({
136
- propertySignatures: readonly AST.PropertySignature[];
142
+ propertySignatures: readonly S.AST.PropertySignature[];
137
143
  property?: never;
138
144
  } | {
139
145
  propertySignatures?: never;
140
- property: AST.AST;
146
+ property: S.AST.AST;
141
147
  });
142
- export declare const isNullableOrUndefined: (property: false | AST.AST | undefined) => false | "undefined" | "null";
148
+ export declare const isNullableOrUndefined: (property: false | S.AST.AST | undefined) => false | "undefined" | "null";
143
149
  export declare const createMeta: <T = any>({ meta, parent, property, propertySignatures }: CreateMeta, acc?: Partial<MetaRecord<T>>) => MetaRecord<T> | FieldMeta;
150
+ export declare const toFormSchema: <From, To>(schema: S.Codec<To, From, never>) => S.Codec<To, From, never>;
144
151
  export declare const duplicateSchema: <From, To>(schema: S.Codec<To, From, never>) => S.Codec<To, From, never, never>;
145
- export declare const generateMetaFromSchema: <_From, To>(schema: any) => {
146
- schema: any;
152
+ export declare const generateMetaFromSchema: <From, To>(schema: S.Codec<To, From, never>) => {
153
+ schema: S.Codec<To, From, never>;
147
154
  meta: MetaRecord<To>;
148
155
  unionMeta: Record<string, MetaRecord<To>>;
149
156
  };
@@ -153,5 +160,5 @@ declare const supportedInputs: readonly ["button", "checkbox", "color", "date",
153
160
  export type SupportedInputs = typeof supportedInputs[number];
154
161
  export declare const getInputType: (input: string) => SupportedInputs;
155
162
  export declare function deepMerge(target: any, source: any): any;
156
- export declare const defaultsValueFromSchema: (schema: S.Codec<any>, record?: Record<string, any>) => any;
163
+ export declare const defaultsValueFromSchema: (schema: S.Schema<any>, record?: Record<string, any>) => any;
157
164
  export {};
@@ -1,8 +1,6 @@
1
1
  import { type DeepKeys, DeepValue, StandardSchemaV1Issue, ValidationError, ValidationErrorMap } from "@tanstack/vue-form";
2
+ import { Effect, Order, S } from "effect-app";
2
3
  import { UnionToTuples } from "effect-app/utils";
3
- import * as Effect from "effect/Effect";
4
- import * as Order from "effect/Order";
5
- import * as S from "effect/Schema";
6
4
  import { ComputedRef, type InjectionKey } from "vue";
7
5
  import { MergedInputProps } from "./InputProps";
8
6
  import { BaseProps, DefaultTypeProps, FieldPath, type FormProps, type MetaRecord, type NestedKeyOf, OmegaArrayProps, OmegaAutoGenMeta, OmegaError, type OmegaFormApi, OmegaFormState } from "./OmegaFormStuff";
@@ -13,7 +11,7 @@ type keysRule<T> = {
13
11
  keys?: "You should only use one of banKeys or keys, not both, moron";
14
12
  banKeys?: NestedKeyOf<T>[];
15
13
  };
16
- declare const FormErrors_base: new <A extends Record<string, any> = {}>(args: import("effect/Types").MatchRecord<{ readonly [P in keyof A as P extends "_tag" ? never : P]: A[P]; }, void, { readonly [P in keyof A as P extends "_tag" ? never : P]: A[P]; }>) => import("effect/Cause").YieldableError & {
14
+ declare const FormErrors_base: new <A extends Record<string, any> = {}>(args: import("effect/Types").VoidIfEmpty<{ readonly [P in keyof A as P extends "_tag" ? never : P]: A[P]; }>) => import("effect/Cause").YieldableError & {
17
15
  readonly _tag: "FormErrors";
18
16
  } & Readonly<A>;
19
17
  export declare class FormErrors<From> extends FormErrors_base<{
@@ -95,7 +93,7 @@ type CachedFieldApi<From, To, TypeProps = DefaultTypeProps> = import("@tanstack/
95
93
  type CachedFieldState<From, To, TypeProps = DefaultTypeProps> = import("@tanstack/vue-form").FieldState<From, OmegaFormReturn<From, To, TypeProps>["_keys"], DeepValue<From, OmegaFormReturn<From, To, TypeProps>["_keys"]>, import("@tanstack/vue-form").FieldValidateOrFn<From, OmegaFormReturn<From, To, TypeProps>["_keys"], DeepValue<From, OmegaFormReturn<From, To, TypeProps>["_keys"]>> | undefined, import("@tanstack/vue-form").FieldValidateOrFn<From, OmegaFormReturn<From, To, TypeProps>["_keys"], DeepValue<From, OmegaFormReturn<From, To, TypeProps>["_keys"]>> | undefined, import("@tanstack/vue-form").FieldAsyncValidateOrFn<From, OmegaFormReturn<From, To, TypeProps>["_keys"], DeepValue<From, OmegaFormReturn<From, To, TypeProps>["_keys"]>> | undefined, import("@tanstack/vue-form").FieldValidateOrFn<From, OmegaFormReturn<From, To, TypeProps>["_keys"], DeepValue<From, OmegaFormReturn<From, To, TypeProps>["_keys"]>> | undefined, import("@tanstack/vue-form").FieldAsyncValidateOrFn<From, OmegaFormReturn<From, To, TypeProps>["_keys"], DeepValue<From, OmegaFormReturn<From, To, TypeProps>["_keys"]>> | undefined, import("@tanstack/vue-form").FieldValidateOrFn<From, OmegaFormReturn<From, To, TypeProps>["_keys"], DeepValue<From, OmegaFormReturn<From, To, TypeProps>["_keys"]>> | undefined, import("@tanstack/vue-form").FieldAsyncValidateOrFn<From, OmegaFormReturn<From, To, TypeProps>["_keys"], DeepValue<From, OmegaFormReturn<From, To, TypeProps>["_keys"]>> | undefined, import("@tanstack/vue-form").FieldValidateOrFn<From, OmegaFormReturn<From, To, TypeProps>["_keys"], DeepValue<From, OmegaFormReturn<From, To, TypeProps>["_keys"]>> | undefined, import("@tanstack/vue-form").FieldAsyncValidateOrFn<From, OmegaFormReturn<From, To, TypeProps>["_keys"], DeepValue<From, OmegaFormReturn<From, To, TypeProps>["_keys"]>> | undefined, import("@tanstack/vue-form").FormValidateOrFn<From> | undefined, import("@tanstack/vue-form").FormValidateOrFn<From> | undefined, import("@tanstack/vue-form").StandardSchemaV1<From, To>, import("@tanstack/vue-form").FormValidateOrFn<From> | undefined, import("@tanstack/vue-form").FormAsyncValidateOrFn<From> | undefined, import("@tanstack/vue-form").FormValidateOrFn<From> | undefined, import("@tanstack/vue-form").FormAsyncValidateOrFn<From> | undefined, import("@tanstack/vue-form").FormValidateOrFn<From> | undefined, import("@tanstack/vue-form").FormAsyncValidateOrFn<From> | undefined>;
96
94
  export interface OmegaFormReturn<From extends Record<PropertyKey, any>, To extends Record<PropertyKey, any>, TypeProps = DefaultTypeProps> extends OF<From, To> {
97
95
  _paths: FieldPath<From>;
98
- _keys: DeepKeys<From>;
96
+ _keys: NestedKeyOf<From>;
99
97
  _schema: S.Codec<To, From, never>;
100
98
  Input: <Name extends OmegaFormReturn<From, To, TypeProps>["_paths"]>(__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<{
101
99
  props: __VLS_PrettifyLocal<Pick<Partial<{}> & Omit<{} & import("vue").VNodeProps & import("vue").AllowedComponentProps & import("vue").ComponentCustomProps, never>, never> & TypeProps & Partial<{}>> & BaseProps<From, Name> & import("vue").PublicProps;
@@ -1,5 +1,5 @@
1
1
  import { type makeIntl } from "@effect-app/vue";
2
- import { type S } from "effect-app";
2
+ import { S } from "effect-app";
3
3
  import { type InjectionKey } from "vue";
4
4
  export declare const useIntlKey: InjectionKey<ReturnType<typeof makeIntl>["useIntl"]>;
5
5
  export declare const useIntl: () => {
@@ -11,10 +11,9 @@ export declare const useIntl: () => {
11
11
  export declare const provideIntl: (intl: ReturnType<typeof makeIntl>["useIntl"]) => void;
12
12
  /**
13
13
  * Recursively extracts the source AST from a transformation chain.
14
- * In v4, transformations are stored in the `encoding` property, not as wrapped AST nodes.
15
- * This function returns the encoded form if an encoding chain exists, otherwise returns the AST itself.
14
+ * If the provided AST is a transformation, it follows the chain to find the original source AST.
16
15
  *
17
16
  * @param ast - The AST node to extract the transformation source from
18
- * @returns The source AST (the decoded/type form, which is the AST itself in v4)
17
+ * @returns The source AST at the end of the transformation chain
19
18
  */
20
19
  export declare function getTransformationFrom(ast: S.AST.AST): S.AST.AST;
@@ -1,45 +1,22 @@
1
- import * as o from "./vue-components.es2.js";
2
- import { getTransformationFrom as p, provideIntl as l, useIntl as s, useIntlKey as u } from "./vue-components.es3.js";
3
- import { default as i } from "./vue-components.es4.js";
4
- import { default as g } from "./vue-components.es5.js";
5
- import { default as I } from "./vue-components.es6.js";
6
- import { default as y } from "./vue-components.es7.js";
7
- import { default as h } from "./vue-components.es8.js";
8
- import { default as C } from "./vue-components.es9.js";
9
- import { useOmegaForm as T } from "./vue-components.es10.js";
10
- import { useOnClose as b, usePreventClose as j } from "./vue-components.es11.js";
11
- import { createMeta as P, deepMerge as V, defaultsValueFromSchema as k, duplicateSchema as w, generateInputStandardSchemaFromFieldMeta as B, generateMetaFromSchema as D, getInputType as K, isNullableOrUndefined as N } from "./vue-components.es12.js";
12
- import { createUseFormWithCustomInput as $ } from "./vue-components.es13.js";
13
- function r(a) {
14
- for (const e in o)
15
- if (Object.prototype.hasOwnProperty.call(o, e)) {
16
- const t = o[e];
17
- t && typeof t == "object" && a.component(e, t);
18
- }
1
+ import e from "./vue-components4.es.js";
2
+ import { useOnClose as t, usePreventClose as n } from "./vue-components7.es.js";
3
+ import r from "./vue-components9.es.js";
4
+ import { getTransformationFrom as i, provideIntl as a, useIntl as o, useIntlKey as s } from "./vue-components11.es.js";
5
+ import { createMeta as c, deepMerge as l, defaultsValueFromSchema as u, duplicateSchema as d, generateInputStandardSchemaFromFieldMeta as f, generateMetaFromSchema as p, getInputType as m, isNullableOrUndefined as h, toFormSchema as g } from "./vue-components12.es.js";
6
+ import _ from "./vue-components50.es.js";
7
+ import v from "./vue-components52.es.js";
8
+ import y from "./vue-components54.es.js";
9
+ import b from "./vue-components56.es.js";
10
+ import { useOmegaForm as x } from "./vue-components61.es.js";
11
+ import { createUseFormWithCustomInput as S } from "./vue-components62.es.js";
12
+ import { components_exports as C } from "./vue-components64.es.js";
13
+ //#region src/index.ts
14
+ function w(e) {
15
+ for (let t in C) if (Object.prototype.hasOwnProperty.call(C, t)) {
16
+ let n = C[t];
17
+ n && typeof n == "object" && e.component(t, n);
18
+ }
19
19
  }
20
- const n = { install: r };
21
- export {
22
- i as CommandButton,
23
- g as Dialog,
24
- I as OmegaInput,
25
- h as OmegaTaggedUnion,
26
- C as OmegaTaggedUnionInternal,
27
- y as OmegaVuetifyInput,
28
- P as createMeta,
29
- $ as createUseFormWithCustomInput,
30
- V as deepMerge,
31
- n as default,
32
- k as defaultsValueFromSchema,
33
- w as duplicateSchema,
34
- B as generateInputStandardSchemaFromFieldMeta,
35
- D as generateMetaFromSchema,
36
- K as getInputType,
37
- p as getTransformationFrom,
38
- N as isNullableOrUndefined,
39
- l as provideIntl,
40
- s as useIntl,
41
- u as useIntlKey,
42
- T as useOmegaForm,
43
- b as useOnClose,
44
- j as usePreventClose
45
- };
20
+ var T = { install: w };
21
+ //#endregion
22
+ export { e as CommandButton, r as Dialog, v as OmegaInput, b as OmegaTaggedUnion, y as OmegaTaggedUnionInternal, _ as OmegaVuetifyInput, c as createMeta, S as createUseFormWithCustomInput, l as deepMerge, T as default, u as defaultsValueFromSchema, d as duplicateSchema, f as generateInputStandardSchemaFromFieldMeta, p as generateMetaFromSchema, m as getInputType, i as getTransformationFrom, h as isNullableOrUndefined, a as provideIntl, g as toFormSchema, o as useIntl, s as useIntlKey, x as useOmegaForm, t as useOnClose, n as usePreventClose };
@@ -0,0 +1,5 @@
1
+ import "vue";
2
+ typeof WorkerGlobalScope < "u" && globalThis instanceof WorkerGlobalScope;
3
+ var e = Object.prototype.toString, t = (t) => e.call(t) === "[object Object]";
4
+ //#endregion
5
+ export { t as isObject };
@@ -0,0 +1,13 @@
1
+ import { inject as e, provide as t } from "vue";
2
+ import { S as n } from "effect-app";
3
+ //#region src/utils/index.ts
4
+ var r = Symbol(), i = () => {
5
+ let t = e(r);
6
+ if (!t) throw Error("useIntl must be used within a IntlProvider");
7
+ return t();
8
+ }, a = (e) => t(r, e);
9
+ function o(e) {
10
+ return n.AST.toType(e);
11
+ }
12
+ //#endregion
13
+ export { o as getTransformationFrom, a as provideIntl, i as useIntl, r as useIntlKey };