@effect-app/vue-components 4.0.0-beta.20 → 4.0.0-beta.201

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 (196) hide show
  1. package/README.md +36 -8
  2. package/dist/reset.css +52 -0
  3. package/dist/types/components/CommandButton.vue.d.ts +6 -4
  4. package/dist/types/components/OmegaForm/OmegaArray.vue.d.ts +1 -1
  5. package/dist/types/components/OmegaForm/OmegaAutoGen.vue.d.ts +1 -1
  6. package/dist/types/components/OmegaForm/OmegaErrorsInternal.vue.d.ts +1 -1
  7. package/dist/types/components/OmegaForm/OmegaFormInput.vue.d.ts +1 -1
  8. package/dist/types/components/OmegaForm/OmegaInput.vue.d.ts +1 -1
  9. package/dist/types/components/OmegaForm/OmegaInternalInput.vue.d.ts +2 -1
  10. package/dist/types/components/OmegaForm/OmegaWrapper.vue.d.ts +1 -1
  11. package/dist/types/components/OmegaForm/createUseFormWithCustomInput.d.ts +2 -2
  12. package/dist/types/components/OmegaForm/errors.d.ts +33 -0
  13. package/dist/types/components/OmegaForm/getOmegaStore.d.ts +1 -1
  14. package/dist/types/components/OmegaForm/hocs.d.ts +3 -0
  15. package/dist/types/components/OmegaForm/index.d.ts +13 -3
  16. package/dist/types/components/OmegaForm/inputs.d.ts +4 -0
  17. package/dist/types/components/OmegaForm/meta/checks.d.ts +4 -0
  18. package/dist/types/components/OmegaForm/meta/createMeta.d.ts +32 -0
  19. package/dist/types/components/OmegaForm/meta/defaults.d.ts +2 -0
  20. package/dist/types/components/OmegaForm/meta/redacted.d.ts +2 -0
  21. package/dist/types/components/OmegaForm/meta/types.d.ts +56 -0
  22. package/dist/types/components/OmegaForm/meta/walker.d.ts +18 -0
  23. package/dist/types/components/OmegaForm/persistency.d.ts +58 -0
  24. package/dist/types/components/OmegaForm/submit.d.ts +60 -0
  25. package/dist/types/components/OmegaForm/types.d.ts +281 -0
  26. package/dist/types/components/OmegaForm/useOmegaForm.d.ts +7 -213
  27. package/dist/types/components/OmegaForm/validation/localized.d.ts +10 -0
  28. package/dist/types/index.d.ts +0 -1
  29. package/dist/types/utils/index.d.ts +6 -6
  30. package/dist/vue-components.es.js +29 -45
  31. package/dist/vue-components10.es.js +5 -0
  32. package/dist/vue-components11.es.js +20 -0
  33. package/dist/vue-components12.es.js +49 -0
  34. package/dist/vue-components13.es.js +128 -0
  35. package/dist/vue-components14.es.js +65 -0
  36. package/dist/vue-components15.es.js +60 -0
  37. package/dist/vue-components16.es.js +22 -0
  38. package/dist/vue-components17.es.js +5 -0
  39. package/dist/vue-components18.es.js +80 -0
  40. package/dist/vue-components19.es.js +92 -0
  41. package/dist/vue-components2.es.js +11 -0
  42. package/dist/vue-components20.es.js +73 -0
  43. package/dist/vue-components21.es.js +12 -0
  44. package/dist/vue-components22.es.js +56 -0
  45. package/dist/vue-components23.es.js +5 -0
  46. package/dist/vue-components24.es.js +44 -0
  47. package/dist/vue-components25.es.js +5 -0
  48. package/dist/vue-components26.es.js +84 -0
  49. package/dist/vue-components28.es.js +8 -0
  50. package/dist/vue-components29.es.js +9 -0
  51. package/dist/vue-components3.es.js +86 -0
  52. package/dist/vue-components30.es.js +269 -0
  53. package/dist/vue-components32.es.js +8 -0
  54. package/dist/vue-components33.es.js +73 -0
  55. package/dist/vue-components34.es.js +5 -0
  56. package/dist/vue-components35.es.js +52 -0
  57. package/dist/vue-components36.es.js +5 -0
  58. package/dist/vue-components37.es.js +24 -0
  59. package/dist/vue-components38.es.js +5 -0
  60. package/dist/vue-components39.es.js +59 -0
  61. package/dist/vue-components4.es.js +5 -0
  62. package/dist/vue-components40.es.js +5 -0
  63. package/dist/vue-components41.es.js +12 -0
  64. package/dist/vue-components42.es.js +22 -0
  65. package/dist/vue-components44.es.js +9 -0
  66. package/dist/vue-components45.es.js +4 -0
  67. package/dist/vue-components46.es.js +38 -0
  68. package/dist/vue-components47.es.js +27 -0
  69. package/dist/vue-components48.es.js +28 -0
  70. package/dist/vue-components49.es.js +7 -0
  71. package/dist/vue-components5.es.js +24 -0
  72. package/dist/vue-components50.es.js +18 -0
  73. package/dist/vue-components51.es.js +36 -0
  74. package/dist/vue-components52.es.js +18 -0
  75. package/dist/vue-components53.es.js +21 -0
  76. package/dist/vue-components54.es.js +30 -0
  77. package/dist/vue-components55.es.js +7 -0
  78. package/dist/vue-components56.es.js +9 -0
  79. package/dist/vue-components57.es.js +38 -0
  80. package/dist/vue-components58.es.js +25 -0
  81. package/dist/vue-components59.es.js +128 -0
  82. package/dist/vue-components6.es.js +13 -0
  83. package/dist/vue-components60.es.js +24 -0
  84. package/dist/vue-components61.es.js +21 -0
  85. package/dist/vue-components62.es.js +9 -0
  86. package/dist/vue-components63.es.js +19 -0
  87. package/dist/vue-components64.es.js +5 -0
  88. package/dist/vue-components65.es.js +29 -0
  89. package/dist/vue-components66.es.js +5 -0
  90. package/dist/vue-components67.es.js +29 -0
  91. package/dist/vue-components68.es.js +6 -0
  92. package/dist/vue-components69.es.js +18 -0
  93. package/dist/vue-components7.es.js +13 -0
  94. package/dist/vue-components70.es.js +40 -0
  95. package/dist/vue-components71.es.js +81 -0
  96. package/dist/vue-components72.es.js +33 -0
  97. package/dist/vue-components73.es.js +19 -0
  98. package/dist/vue-components74.es.js +48 -0
  99. package/dist/vue-components8.es.js +35 -0
  100. package/dist/vue-components9.es.js +47 -0
  101. package/package.json +35 -31
  102. package/src/components/CommandButton.vue +55 -7
  103. package/src/components/OmegaForm/OmegaArray.vue +2 -4
  104. package/src/components/OmegaForm/OmegaAutoGen.vue +2 -1
  105. package/src/components/OmegaForm/OmegaErrorsInternal.vue +1 -1
  106. package/src/components/OmegaForm/OmegaFormInput.vue +1 -1
  107. package/src/components/OmegaForm/OmegaInput.vue +7 -36
  108. package/src/components/OmegaForm/OmegaInputVuetify.vue +5 -2
  109. package/src/components/OmegaForm/OmegaInternalInput.vue +18 -10
  110. package/src/components/OmegaForm/OmegaTaggedUnion.vue +2 -1
  111. package/src/components/OmegaForm/OmegaTaggedUnionInternal.vue +1 -1
  112. package/src/components/OmegaForm/OmegaWrapper.vue +1 -1
  113. package/src/components/OmegaForm/blockDialog.ts +18 -6
  114. package/src/components/OmegaForm/createUseFormWithCustomInput.ts +2 -1
  115. package/src/components/OmegaForm/errors.ts +136 -0
  116. package/src/components/OmegaForm/getOmegaStore.ts +1 -1
  117. package/src/components/OmegaForm/hocs.ts +19 -0
  118. package/src/components/OmegaForm/index.ts +16 -4
  119. package/src/components/OmegaForm/inputs.ts +22 -0
  120. package/src/components/OmegaForm/meta/checks.ts +81 -0
  121. package/src/components/OmegaForm/meta/createMeta.ts +138 -0
  122. package/src/components/OmegaForm/meta/defaults.ts +132 -0
  123. package/src/components/OmegaForm/meta/redacted.ts +66 -0
  124. package/src/components/OmegaForm/meta/types.ts +78 -0
  125. package/src/components/OmegaForm/meta/walker.ts +248 -0
  126. package/src/components/OmegaForm/persistency.ts +247 -0
  127. package/src/components/OmegaForm/submit.ts +128 -0
  128. package/src/components/OmegaForm/types.ts +751 -0
  129. package/src/components/OmegaForm/useOmegaForm.ts +58 -893
  130. package/src/components/OmegaForm/validation/localized.ts +202 -0
  131. package/src/index.ts +0 -1
  132. package/src/reset.css +52 -0
  133. package/src/utils/index.ts +10 -7
  134. package/dist/types/components/OmegaForm/OmegaFormStuff.d.ts +0 -157
  135. package/dist/types/constants/index.d.ts +0 -1
  136. package/dist/vue-components.es10.js +0 -239
  137. package/dist/vue-components.es11.js +0 -32
  138. package/dist/vue-components.es12.js +0 -481
  139. package/dist/vue-components.es13.js +0 -49
  140. package/dist/vue-components.es14.js +0 -4
  141. package/dist/vue-components.es15.js +0 -4
  142. package/dist/vue-components.es16.js +0 -13
  143. package/dist/vue-components.es17.js +0 -6
  144. package/dist/vue-components.es18.js +0 -13
  145. package/dist/vue-components.es19.js +0 -57
  146. package/dist/vue-components.es2.js +0 -31
  147. package/dist/vue-components.es20.js +0 -56
  148. package/dist/vue-components.es21.js +0 -8
  149. package/dist/vue-components.es22.js +0 -8
  150. package/dist/vue-components.es23.js +0 -5
  151. package/dist/vue-components.es24.js +0 -5
  152. package/dist/vue-components.es25.js +0 -4
  153. package/dist/vue-components.es26.js +0 -4
  154. package/dist/vue-components.es27.js +0 -4
  155. package/dist/vue-components.es28.js +0 -4
  156. package/dist/vue-components.es29.js +0 -19
  157. package/dist/vue-components.es3.js +0 -17
  158. package/dist/vue-components.es30.js +0 -194
  159. package/dist/vue-components.es32.js +0 -31
  160. package/dist/vue-components.es33.js +0 -6
  161. package/dist/vue-components.es34.js +0 -4
  162. package/dist/vue-components.es35.js +0 -4
  163. package/dist/vue-components.es36.js +0 -113
  164. package/dist/vue-components.es38.js +0 -9
  165. package/dist/vue-components.es39.js +0 -34
  166. package/dist/vue-components.es4.js +0 -52
  167. package/dist/vue-components.es41.js +0 -6
  168. package/dist/vue-components.es42.js +0 -25
  169. package/dist/vue-components.es43.js +0 -7
  170. package/dist/vue-components.es44.js +0 -23
  171. package/dist/vue-components.es45.js +0 -32
  172. package/dist/vue-components.es46.js +0 -24
  173. package/dist/vue-components.es47.js +0 -14
  174. package/dist/vue-components.es48.js +0 -7
  175. package/dist/vue-components.es49.js +0 -21
  176. package/dist/vue-components.es5.js +0 -52
  177. package/dist/vue-components.es50.js +0 -11
  178. package/dist/vue-components.es51.js +0 -33
  179. package/dist/vue-components.es52.js +0 -50
  180. package/dist/vue-components.es53.js +0 -28
  181. package/dist/vue-components.es54.js +0 -13
  182. package/dist/vue-components.es55.js +0 -67
  183. package/dist/vue-components.es56.js +0 -58
  184. package/dist/vue-components.es57.js +0 -19
  185. package/dist/vue-components.es58.js +0 -35
  186. package/dist/vue-components.es59.js +0 -31
  187. package/dist/vue-components.es6.js +0 -69
  188. package/dist/vue-components.es60.js +0 -44
  189. package/dist/vue-components.es61.js +0 -4
  190. package/dist/vue-components.es62.js +0 -46
  191. package/dist/vue-components.es63.js +0 -4
  192. package/dist/vue-components.es7.js +0 -83
  193. package/dist/vue-components.es8.js +0 -63
  194. package/dist/vue-components.es9.js +0 -21
  195. package/src/components/OmegaForm/OmegaFormStuff.ts +0 -1184
  196. package/src/constants/index.ts +0 -1
@@ -0,0 +1,281 @@
1
+ import type { DeepKeys, DeepValue, FieldApi, FieldAsyncValidateOrFn, FieldState, FieldValidateOrFn, FormApi, FormAsyncValidateOrFn, FormOptions, FormState, FormValidateOrFn, StandardSchemaV1, VueFormApi } from "@tanstack/vue-form";
2
+ import type { Effect, Order, S } from "effect-app";
3
+ import type { UnionToTuples } from "effect-app/utils";
4
+ import type { Fiber as EffectFiber } from "effect/Fiber";
5
+ import type { Redacted } from "effect/Redacted";
6
+ import type { AllowedComponentProps, ComponentCustomProps, ComputedRef, PublicProps, ShallowUnwrapRef, VNode, VNodeProps } from "vue";
7
+ import type { MergedInputProps, OmegaFieldInternalApi, TaggedUnionOptionsArray } from "./InputProps";
8
+ import type { MetaRecord, NestedKeyOf } from "./meta/types";
9
+ import type { defaultValuesPriorityUnion as PersistencyPriority, Policies as PersistencyPolicies } from "./persistency";
10
+ import type { FormErrors } from "./submit";
11
+ 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}]`> : {
12
+ [K in keyof T]: FieldPath_<T[K], K & string>;
13
+ }[keyof T];
14
+ 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 : {
15
+ [K in keyof T]: FieldPath_<T[K], `${Path}.${K & string}`>;
16
+ }[keyof T];
17
+ export type BaseProps<From, TName extends FieldPath<From>> = {
18
+ /**
19
+ * Will fallback to i18n when not specified.
20
+ * Can also be provided via #label slot for custom HTML labels.
21
+ * When using the slot, it receives bindings: { required, id, label }
22
+ */
23
+ label?: string;
24
+ validators?: FieldValidators<From>;
25
+ name: TName;
26
+ /**
27
+ * Optional class to apply to the input element.
28
+ * - If a string is provided, it will be used instead of the general class
29
+ * - If null is provided, no class will be applied (neither inputClass nor general class)
30
+ * - If undefined (not provided), the general class will be used
31
+ */
32
+ inputClass?: string | null;
33
+ };
34
+ export type TypesWithOptions = "radio" | "select" | "multiple" | "autocomplete" | "autocompletemultiple";
35
+ export type DefaultTypeProps = {
36
+ type?: TypeOverride;
37
+ options?: undefined;
38
+ } | {
39
+ type?: TypesWithOptions;
40
+ options?: {
41
+ title: string;
42
+ value: unknown;
43
+ }[];
44
+ };
45
+ export type OmegaInputPropsBase<From extends Record<PropertyKey, any>, To extends Record<PropertyKey, any>, Name extends DeepKeys<From>> = {
46
+ form: OF<From, To> & {
47
+ meta: MetaRecord<From>;
48
+ i18nNamespace?: string;
49
+ };
50
+ } & BaseProps<From, Name>;
51
+ export type OmegaInputProps<From extends Record<PropertyKey, any>, To extends Record<PropertyKey, any>, Name extends DeepKeys<From>, TypeProps = DefaultTypeProps> = {
52
+ form: OmegaFormReturn<From, To, TypeProps> & {
53
+ meta: MetaRecord<From>;
54
+ i18nNamespace?: string;
55
+ };
56
+ } & BaseProps<From, Name>;
57
+ export type OmegaArrayProps<From extends Record<PropertyKey, any>, To extends Record<PropertyKey, any>, Name extends DeepKeys<From>> = Omit<OmegaInputProps<From, To, Name>, "validators" | "options" | "label" | "type" | "items" | "name"> & {
58
+ name: DeepKeys<From>;
59
+ defaultItems?: DeepValue<From, DeepKeys<From>>;
60
+ items?: "please use `defaultItems` instead";
61
+ };
62
+ export type TypeOverride = "string" | "text" | "number" | "select" | "multiple" | "boolean" | "radio" | "autocomplete" | "autocompletemultiple" | "switch" | "range" | "password" | "email" | "date";
63
+ export interface OmegaError {
64
+ label: string;
65
+ inputId: string;
66
+ errors: readonly string[];
67
+ }
68
+ export type FormProps<From, To> = Omit<FormOptions<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>, "onSubmit" | "defaultValues"> & {
69
+ defaultValues?: Partial<From>;
70
+ onSubmit?: (props: {
71
+ formApi: OmegaFormParams<From, To>;
72
+ meta: any;
73
+ value: To;
74
+ }) => Promise<any> | EffectFiber<any, any> | Effect.Effect<unknown, any>;
75
+ };
76
+ 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>;
77
+ 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
+ export type OmegaFormApi<From, To, TSubmitMeta = Record<string, any> | undefined> = OmegaFormParams<From, To> & VueFormApi<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, TSubmitMeta>;
79
+ export type FormComponent<T, S> = VueFormApi<T, FormValidateOrFn<T> | undefined, FormValidateOrFn<T> | undefined, StandardSchemaV1<T, S>, FormValidateOrFn<T> | undefined, FormAsyncValidateOrFn<T> | undefined, FormValidateOrFn<T> | undefined, FormAsyncValidateOrFn<T> | undefined, FormValidateOrFn<T> | undefined, FormAsyncValidateOrFn<T> | undefined, FormAsyncValidateOrFn<T> | undefined, Record<string, any> | undefined>;
80
+ export type FormType<From extends Record<PropertyKey, any>, To extends Record<PropertyKey, any>, Name extends DeepKeys<From>> = OmegaFormApi<From, To> & {
81
+ Field: OmegaFieldInternalApi<From, Name>;
82
+ };
83
+ export type PrefixFromDepth<K extends string | number, _TDepth extends any[]> = K;
84
+ export type FieldValidators<T> = {
85
+ onChangeAsync?: FieldAsyncValidateOrFn<T, any, any>;
86
+ onChange?: FieldValidateOrFn<T, any, any>;
87
+ onBlur?: FieldValidateOrFn<T, any, any>;
88
+ onBlurAsync?: FieldAsyncValidateOrFn<T, any, any>;
89
+ };
90
+ export type OmegaAutoGenMeta<From extends Record<PropertyKey, any>, To extends Record<PropertyKey, any>, Name extends DeepKeys<From>> = Omit<OmegaInputProps<From, To, Name>, "form">;
91
+ type keysRule<T> = {
92
+ keys?: NestedKeyOf<T>[];
93
+ banKeys?: "You should only use one of banKeys or keys, not both, moron";
94
+ } | {
95
+ keys?: "You should only use one of banKeys or keys, not both, moron";
96
+ banKeys?: NestedKeyOf<T>[];
97
+ };
98
+ export type Policies = PersistencyPolicies;
99
+ export type defaultValuesPriorityUnion = PersistencyPriority;
100
+ export type OmegaConfig<T> = {
101
+ i18nNamespace?: string;
102
+ persistency?: {
103
+ /** Order of importance:
104
+ * - "querystring": Highest priority when persisting
105
+ * - "local" and then "session": Lower priority storage options
106
+ */
107
+ policies?: UnionToTuples<Policies>;
108
+ overrideDefaultValues?: "deprecated: use defaultValuesPriority";
109
+ id?: string;
110
+ } & keysRule<T>;
111
+ ignorePreventCloseEvents?: boolean;
112
+ /**
113
+ * Prevents browser window/tab exit when form has unsaved changes.
114
+ * Shows native browser "Leave site?" dialog.
115
+ *
116
+ * @remarks
117
+ * - Opt-in only: Must explicitly enable
118
+ * - Independent from data persistence feature
119
+ */
120
+ preventWindowExit?: "prevent" | "prevent-and-reset" | "nope";
121
+ input?: any;
122
+ /**
123
+ * Default values order is: Tanstack default values passed as second parameter to useOmegaForm, then persistency
124
+ * default values from querystring or local/session storage, then defaults from schema
125
+ * You can customize the order and with omegaConfig.defaultValuesPriority
126
+ * default value = ['tanstack', 'persistency', 'schema']
127
+ */
128
+ defaultValuesPriority?: UnionToTuples<defaultValuesPriorityUnion>;
129
+ defaultFromSchema?: "deprecated: use defaultValuesPriority";
130
+ };
131
+ export interface OF<From, To> extends OmegaFormApi<From, To> {
132
+ meta: MetaRecord<From>;
133
+ unionMeta: Record<string, MetaRecord<From>>;
134
+ clear: () => void;
135
+ i18nNamespace?: string;
136
+ ignorePreventCloseEvents?: boolean;
137
+ registerField: (field: ComputedRef<{
138
+ name: string;
139
+ label: string;
140
+ id: string;
141
+ }>) => void;
142
+ /** @experimental */
143
+ handleSubmitEffect: {
144
+ /**
145
+ * when `checkErrors` is true, the Effect will fail with `FormErrors<From>` when there are validation errors
146
+ * @experimental */
147
+ (options: {
148
+ checkErrors: true;
149
+ meta?: Record<string, any>;
150
+ }): Effect.Effect<void, FormErrors<From>>;
151
+ /** @experimental */
152
+ (options?: {
153
+ meta?: Record<string, any>;
154
+ }): Effect.Effect<void>;
155
+ };
156
+ }
157
+ type __VLS_PrettifyLocal<T> = {
158
+ [K in keyof T]: T[K];
159
+ } & {};
160
+ type CachedFieldApi<From extends Record<PropertyKey, any>, To extends Record<PropertyKey, any>, TypeProps = DefaultTypeProps> = FieldApi<From, OmegaFormReturn<From, To, TypeProps>["_keys"], DeepValue<From, OmegaFormReturn<From, To, TypeProps>["_keys"]>, FieldValidateOrFn<From, OmegaFormReturn<From, To, TypeProps>["_keys"], DeepValue<From, OmegaFormReturn<From, To, TypeProps>["_keys"]>> | undefined, FieldValidateOrFn<From, OmegaFormReturn<From, To, TypeProps>["_keys"], DeepValue<From, OmegaFormReturn<From, To, TypeProps>["_keys"]>> | undefined, FieldAsyncValidateOrFn<From, OmegaFormReturn<From, To, TypeProps>["_keys"], DeepValue<From, OmegaFormReturn<From, To, TypeProps>["_keys"]>> | undefined, FieldValidateOrFn<From, OmegaFormReturn<From, To, TypeProps>["_keys"], DeepValue<From, OmegaFormReturn<From, To, TypeProps>["_keys"]>> | undefined, FieldAsyncValidateOrFn<From, OmegaFormReturn<From, To, TypeProps>["_keys"], DeepValue<From, OmegaFormReturn<From, To, TypeProps>["_keys"]>> | undefined, FieldValidateOrFn<From, OmegaFormReturn<From, To, TypeProps>["_keys"], DeepValue<From, OmegaFormReturn<From, To, TypeProps>["_keys"]>> | undefined, FieldAsyncValidateOrFn<From, OmegaFormReturn<From, To, TypeProps>["_keys"], DeepValue<From, OmegaFormReturn<From, To, TypeProps>["_keys"]>> | undefined, FieldValidateOrFn<From, OmegaFormReturn<From, To, TypeProps>["_keys"], DeepValue<From, OmegaFormReturn<From, To, TypeProps>["_keys"]>> | undefined, FieldAsyncValidateOrFn<From, OmegaFormReturn<From, To, TypeProps>["_keys"], DeepValue<From, OmegaFormReturn<From, To, TypeProps>["_keys"]>> | undefined, 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>;
161
+ type CachedFieldState<From extends Record<PropertyKey, any>, To extends Record<PropertyKey, any>, TypeProps = DefaultTypeProps> = FieldState<From, OmegaFormReturn<From, To, TypeProps>["_keys"], DeepValue<From, OmegaFormReturn<From, To, TypeProps>["_keys"]>, FieldValidateOrFn<From, OmegaFormReturn<From, To, TypeProps>["_keys"], DeepValue<From, OmegaFormReturn<From, To, TypeProps>["_keys"]>> | undefined, FieldValidateOrFn<From, OmegaFormReturn<From, To, TypeProps>["_keys"], DeepValue<From, OmegaFormReturn<From, To, TypeProps>["_keys"]>> | undefined, FieldAsyncValidateOrFn<From, OmegaFormReturn<From, To, TypeProps>["_keys"], DeepValue<From, OmegaFormReturn<From, To, TypeProps>["_keys"]>> | undefined, FieldValidateOrFn<From, OmegaFormReturn<From, To, TypeProps>["_keys"], DeepValue<From, OmegaFormReturn<From, To, TypeProps>["_keys"]>> | undefined, FieldAsyncValidateOrFn<From, OmegaFormReturn<From, To, TypeProps>["_keys"], DeepValue<From, OmegaFormReturn<From, To, TypeProps>["_keys"]>> | undefined, FieldValidateOrFn<From, OmegaFormReturn<From, To, TypeProps>["_keys"], DeepValue<From, OmegaFormReturn<From, To, TypeProps>["_keys"]>> | undefined, FieldAsyncValidateOrFn<From, OmegaFormReturn<From, To, TypeProps>["_keys"], DeepValue<From, OmegaFormReturn<From, To, TypeProps>["_keys"]>> | undefined, FieldValidateOrFn<From, OmegaFormReturn<From, To, TypeProps>["_keys"], DeepValue<From, OmegaFormReturn<From, To, TypeProps>["_keys"]>> | undefined, FieldAsyncValidateOrFn<From, OmegaFormReturn<From, To, TypeProps>["_keys"], DeepValue<From, OmegaFormReturn<From, To, TypeProps>["_keys"]>> | undefined, 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>;
162
+ export interface OmegaFormReturn<From extends Record<PropertyKey, any>, To extends Record<PropertyKey, any>, TypeProps = DefaultTypeProps> extends OF<From, To> {
163
+ _paths: FieldPath<From>;
164
+ _keys: NestedKeyOf<From>;
165
+ _schema: S.Codec<To, From>;
166
+ 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<{
167
+ props: __VLS_PrettifyLocal<Pick<Partial<{}> & Omit<{} & VNodeProps & AllowedComponentProps & ComponentCustomProps, never>, never> & TypeProps & Partial<{}>> & BaseProps<From, Name> & PublicProps;
168
+ expose(exposed: ShallowUnwrapRef<{}>): void;
169
+ attrs: any;
170
+ slots: {
171
+ default?(props: MergedInputProps<From, Name>): void;
172
+ label?: (props: {
173
+ required: boolean;
174
+ id: string;
175
+ label: string;
176
+ }) => void;
177
+ };
178
+ emit: {};
179
+ }>) => VNode & {
180
+ __ctx?: Awaited<typeof __VLS_setup>;
181
+ };
182
+ Errors: (__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<{
183
+ props: __VLS_PrettifyLocal<Pick<Partial<{}> & Omit<{} & VNodeProps & AllowedComponentProps & ComponentCustomProps, never>, never> & Partial<{}>> & PublicProps;
184
+ expose(exposed: ShallowUnwrapRef<{}>): void;
185
+ attrs: any;
186
+ slots: {
187
+ default: (props: {
188
+ errors: readonly OmegaError[];
189
+ showedGeneralErrors: string[];
190
+ }) => void;
191
+ };
192
+ emit: {};
193
+ }>) => VNode & {
194
+ __ctx?: Awaited<typeof __VLS_setup>;
195
+ };
196
+ 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<{
197
+ props: __VLS_PrettifyLocal<Pick<Partial<{}> & Omit<{} & VNodeProps & AllowedComponentProps & ComponentCustomProps, never>, never> & {
198
+ name?: Name;
199
+ type?: "select" | "radio";
200
+ options: TaggedUnionOptionsArray<From, Name>;
201
+ _debugName?: [NoInfer<Name>];
202
+ label?: string;
203
+ } & {}> & PublicProps;
204
+ expose(exposed: ShallowUnwrapRef<{}>): void;
205
+ attrs: any;
206
+ slots: Record<string, (props: {
207
+ field: FieldApi<From, Name, DeepValue<From, Name>, any, any, any, any, any, any, any, any, any, any, any, any, any, any, any, any, any, any, any, any>;
208
+ state: FieldState<From, Name, DeepValue<From, Name>, any, any, any, any, any, any, any, any, any, any, any, any, any, any, any, any, any, any>;
209
+ }) => any>;
210
+ emit: {};
211
+ }>) => VNode & {
212
+ __ctx?: Awaited<typeof __VLS_setup>;
213
+ };
214
+ Array: <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<{
215
+ props: __VLS_PrettifyLocal<Pick<Partial<{}> & Omit<{} & VNodeProps & AllowedComponentProps & ComponentCustomProps, never>, never> & (Omit<OmegaArrayProps<From, To, Name>, "form">) & {}> & PublicProps;
216
+ expose(exposed: ShallowUnwrapRef<{}>): void;
217
+ attrs: any;
218
+ slots: {
219
+ "pre-array"?: (props: {
220
+ field: CachedFieldApi<From, To, TypeProps>;
221
+ state: CachedFieldState<From, To, TypeProps>;
222
+ }) => any;
223
+ } & {
224
+ default?: (props: {
225
+ subField: CachedFieldApi<From, To, TypeProps>;
226
+ subState: CachedFieldState<From, To, TypeProps>;
227
+ index: number;
228
+ field: CachedFieldApi<From, To, TypeProps>;
229
+ }) => any;
230
+ } & {
231
+ "post-array"?: (props: {
232
+ field: CachedFieldApi<From, To, TypeProps>;
233
+ state: CachedFieldState<From, To, TypeProps>;
234
+ }) => any;
235
+ } & {
236
+ field?: (props: {
237
+ field: CachedFieldApi<From, To, TypeProps>;
238
+ }) => any;
239
+ };
240
+ emit: {};
241
+ }>) => VNode & {
242
+ __ctx?: Awaited<typeof __VLS_setup>;
243
+ };
244
+ AutoGen: <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<{
245
+ props: __VLS_PrettifyLocal<Pick<Partial<{}> & Omit<{} & VNodeProps & AllowedComponentProps & ComponentCustomProps, never>, never> & {
246
+ pick?: OmegaFormReturn<From, To, TypeProps>["_keys"][];
247
+ omit?: OmegaFormReturn<From, To, TypeProps>["_keys"][];
248
+ labelMap?: (key: OmegaFormReturn<From, To, TypeProps>["_keys"]) => string | undefined;
249
+ filterMap?: <M extends OmegaAutoGenMeta<From, To, Name>>(key: OmegaFormReturn<From, To, TypeProps>["_keys"], meta: M) => boolean | M;
250
+ order?: OmegaFormReturn<From, To, TypeProps>["_keys"][];
251
+ sort?: Order.Order<OmegaAutoGenMeta<From, To, Name>>;
252
+ } & {}> & PublicProps;
253
+ expose(exposed: ShallowUnwrapRef<{}>): void;
254
+ attrs: any;
255
+ slots: {
256
+ default(props: {
257
+ child: OmegaAutoGenMeta<From, To, Name>;
258
+ }): void;
259
+ };
260
+ emit: {};
261
+ }>) => VNode & {
262
+ __ctx?: Awaited<typeof __VLS_setup>;
263
+ };
264
+ Form: <K extends keyof OmegaFormState<To, 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<{
265
+ props: __VLS_PrettifyLocal<Pick<Partial<{}> & Omit<{} & VNodeProps & AllowedComponentProps & ComponentCustomProps, never>, never> & {
266
+ disabled?: boolean;
267
+ subscribe?: K[];
268
+ } & {}> & PublicProps;
269
+ expose(exposed: ShallowUnwrapRef<{}>): void;
270
+ attrs: any;
271
+ slots: {
272
+ default(props: {
273
+ subscribedValues: K[] extends undefined[] ? Record<string, never> : Pick<OmegaFormState<From, To>, K>;
274
+ }): void;
275
+ };
276
+ emit: {};
277
+ }>) => VNode & {
278
+ __ctx?: Awaited<typeof __VLS_setup>;
279
+ };
280
+ }
281
+ export {};
@@ -1,214 +1,8 @@
1
- import { type DeepKeys, DeepValue, StandardSchemaV1Issue, ValidationError, ValidationErrorMap } from "@tanstack/vue-form";
2
- import { Effect, Order, S } from "effect-app";
3
- import { UnionToTuples } from "effect-app/utils";
4
- import { ComputedRef, type InjectionKey } from "vue";
5
- import { MergedInputProps } from "./InputProps";
6
- import { BaseProps, DefaultTypeProps, FieldPath, type FormProps, type MetaRecord, type NestedKeyOf, OmegaArrayProps, OmegaAutoGenMeta, OmegaError, type OmegaFormApi, OmegaFormState } from "./OmegaFormStuff";
7
- type keysRule<T> = {
8
- keys?: NestedKeyOf<T>[];
9
- banKeys?: "You should only use one of banKeys or keys, not both, moron";
10
- } | {
11
- keys?: "You should only use one of banKeys or keys, not both, moron";
12
- banKeys?: NestedKeyOf<T>[];
13
- };
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 & {
15
- readonly _tag: "FormErrors";
16
- } & Readonly<A>;
17
- export declare class FormErrors<From> extends FormErrors_base<{
18
- form: {
19
- errors: (Record<string, StandardSchemaV1Issue[]> | undefined)[];
20
- errorMap: ValidationErrorMap<undefined, undefined, Record<string, StandardSchemaV1Issue[]>, undefined, undefined, undefined, undefined, undefined, undefined, undefined>;
21
- };
22
- fields: Record<DeepKeys<From>, {
23
- errors: ValidationError[];
24
- errorMap: ValidationErrorMap;
25
- }>;
26
- }> {
27
- }
28
- export declare const useErrorLabel: (form: OF<any, any>) => (propsName: string) => string;
29
- export type Policies = "local" | "session" | "querystring";
30
- export type defaultValuesPriorityUnion = "tanstack" | "persistency" | "schema";
31
- export type OmegaConfig<T> = {
32
- i18nNamespace?: string;
33
- persistency?: {
34
- /** Order of importance:
35
- * - "querystring": Highest priority when persisting
36
- * - "local" and then "session": Lower priority storage options
37
- */
38
- policies?: UnionToTuples<Policies>;
39
- overrideDefaultValues?: "deprecated: use defaultValuesPriority";
40
- id?: string;
41
- } & keysRule<T>;
42
- ignorePreventCloseEvents?: boolean;
43
- /**
44
- * Prevents browser window/tab exit when form has unsaved changes.
45
- * Shows native browser "Leave site?" dialog.
46
- *
47
- * @remarks
48
- * - Opt-in only: Must explicitly enable
49
- * - Independent from data persistence feature
50
- */
51
- preventWindowExit?: "prevent" | "prevent-and-reset" | "nope";
52
- input?: any;
53
- /**
54
- * Default values order is: Tanstack default values passed as second parameter to useOmegaForm, then persistency
55
- * default values from querystring or local/session storage, then defaults from schema
56
- * You can customize the order and with omegaConfig.defaultValuesPriority
57
- * default value = ['tanstack', 'persistency', 'schema']
58
- */
59
- defaultValuesPriority?: UnionToTuples<defaultValuesPriorityUnion>;
60
- defaultFromSchema?: "deprecated: use defaultValuesPriority";
61
- };
62
- export interface OF<From, To> extends OmegaFormApi<From, To> {
63
- meta: MetaRecord<From>;
64
- unionMeta: Record<string, MetaRecord<From>>;
65
- clear: () => void;
66
- i18nNamespace?: string;
67
- ignorePreventCloseEvents?: boolean;
68
- registerField: (field: ComputedRef<{
69
- name: string;
70
- label: string;
71
- id: string;
72
- }>) => void;
73
- /** @experimental */
74
- handleSubmitEffect: {
75
- /**
76
- * when `checkErrors` is true, the Effect will fail with `FormErrors<From>` when there are validation errors
77
- * @experimental */
78
- (options: {
79
- checkErrors: true;
80
- meta?: Record<string, any>;
81
- }): Effect.Effect<void, FormErrors<From>>;
82
- /** @experimental */
83
- (options?: {
84
- meta?: Record<string, any>;
85
- }): Effect.Effect<void>;
86
- };
87
- }
1
+ import { S } from "effect-app";
2
+ import { type InjectionKey } from "vue";
3
+ import type { DefaultTypeProps, FormProps, OF, OmegaConfig, OmegaFormReturn } from "./types";
4
+ export { useErrorLabel } from "./errors";
5
+ export { FormErrors } from "./submit";
6
+ export type { defaultValuesPriorityUnion, OF, OmegaConfig, OmegaFormReturn, Policies } from "./types";
88
7
  export declare const OmegaFormKey: InjectionKey<OF<any, any>>;
89
- type __VLS_PrettifyLocal<T> = {
90
- [K in keyof T]: T[K];
91
- } & {};
92
- type CachedFieldApi<From, To, TypeProps = DefaultTypeProps> = import("@tanstack/vue-form").FieldApi<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, import("@tanstack/vue-form").FormAsyncValidateOrFn<From> | undefined, Record<string, any> | undefined>;
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>;
94
- export interface OmegaFormReturn<From extends Record<PropertyKey, any>, To extends Record<PropertyKey, any>, TypeProps = DefaultTypeProps> extends OF<From, To> {
95
- _paths: FieldPath<From>;
96
- _keys: DeepKeys<From>;
97
- _schema: S.Codec<To, From, never>;
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<{
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;
100
- expose(exposed: import("vue").ShallowUnwrapRef<{}>): void;
101
- attrs: any;
102
- slots: {
103
- default?(props: MergedInputProps<From, Name>): void;
104
- label?: (props: {
105
- required: boolean;
106
- id: string;
107
- label: string;
108
- }) => void;
109
- };
110
- emit: {};
111
- }>) => import("vue").VNode & {
112
- __ctx?: Awaited<typeof __VLS_setup>;
113
- };
114
- Errors: (__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
- props: __VLS_PrettifyLocal<Pick<Partial<{}> & Omit<{} & import("vue").VNodeProps & import("vue").AllowedComponentProps & import("vue").ComponentCustomProps, never>, never> & Partial<{}>> & import("vue").PublicProps;
116
- expose(exposed: import("vue").ShallowUnwrapRef<{}>): void;
117
- attrs: any;
118
- slots: {
119
- default: (props: {
120
- errors: readonly OmegaError[];
121
- showedGeneralErrors: string[];
122
- }) => void;
123
- };
124
- emit: {};
125
- }>) => import("vue").VNode & {
126
- __ctx?: Awaited<typeof __VLS_setup>;
127
- };
128
- 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<{
129
- props: __VLS_PrettifyLocal<Pick<Partial<{}> & Omit<{} & import("vue").VNodeProps & import("vue").AllowedComponentProps & import("vue").ComponentCustomProps, never>, never> & {
130
- name?: Name;
131
- type?: "select" | "radio";
132
- options: import("./InputProps").TaggedUnionOptionsArray<From, Name>;
133
- _debugName?: [NoInfer<Name>];
134
- label?: string;
135
- } & {}> & import("vue").PublicProps;
136
- expose(exposed: import("vue").ShallowUnwrapRef<{}>): void;
137
- attrs: any;
138
- slots: Record<string, (props: {
139
- field: import("@tanstack/vue-form").FieldApi<From, Name, DeepValue<From, Name>, any, any, any, any, any, any, any, any, any, any, any, any, any, any, any, any, any, any, any, any>;
140
- state: import("@tanstack/vue-form").FieldState<From, Name, DeepValue<From, Name>, any, any, any, any, any, any, any, any, any, any, any, any, any, any, any, any, any, any>;
141
- }) => any>;
142
- emit: {};
143
- }>) => import("vue").VNode & {
144
- __ctx?: Awaited<typeof __VLS_setup>;
145
- };
146
- Array: <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<{
147
- props: __VLS_PrettifyLocal<Pick<Partial<{}> & Omit<{} & import("vue").VNodeProps & import("vue").AllowedComponentProps & import("vue").ComponentCustomProps, never>, never> & (Omit<OmegaArrayProps<From, To, Name>, "form">) & {}> & import("vue").PublicProps;
148
- expose(exposed: import("vue").ShallowUnwrapRef<{}>): void;
149
- attrs: any;
150
- slots: {
151
- "pre-array"?: (props: {
152
- field: CachedFieldApi<From, To, TypeProps>;
153
- state: CachedFieldState<From, To, TypeProps>;
154
- }) => any;
155
- } & {
156
- default?: (props: {
157
- subField: CachedFieldApi<From, To, TypeProps>;
158
- subState: CachedFieldState<From, To, TypeProps>;
159
- index: number;
160
- field: CachedFieldApi<From, To, TypeProps>;
161
- }) => any;
162
- } & {
163
- "post-array"?: (props: {
164
- field: CachedFieldApi<From, To, TypeProps>;
165
- state: CachedFieldState<From, To, TypeProps>;
166
- }) => any;
167
- } & {
168
- field?: (props: {
169
- field: CachedFieldApi<From, To, TypeProps>;
170
- }) => any;
171
- };
172
- emit: {};
173
- }>) => import("vue").VNode & {
174
- __ctx?: Awaited<typeof __VLS_setup>;
175
- };
176
- AutoGen: <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<{
177
- props: __VLS_PrettifyLocal<Pick<Partial<{}> & Omit<{} & import("vue").VNodeProps & import("vue").AllowedComponentProps & import("vue").ComponentCustomProps, never>, never> & {
178
- pick?: OmegaFormReturn<From, To, TypeProps>["_keys"][];
179
- omit?: OmegaFormReturn<From, To, TypeProps>["_keys"][];
180
- labelMap?: (key: OmegaFormReturn<From, To, TypeProps>["_keys"]) => string | undefined;
181
- filterMap?: <M extends OmegaAutoGenMeta<From, To, Name>>(key: OmegaFormReturn<From, To, TypeProps>["_keys"], meta: M) => boolean | M;
182
- order?: OmegaFormReturn<From, To, TypeProps>["_keys"][];
183
- sort?: Order.Order<OmegaAutoGenMeta<From, To, Name>>;
184
- } & {}> & import("vue").PublicProps;
185
- expose(exposed: import("vue").ShallowUnwrapRef<{}>): void;
186
- attrs: any;
187
- slots: {
188
- default(props: {
189
- child: OmegaAutoGenMeta<From, To, Name>;
190
- }): void;
191
- };
192
- emit: {};
193
- }>) => import("vue").VNode & {
194
- __ctx?: Awaited<typeof __VLS_setup>;
195
- };
196
- Form: <K extends keyof OmegaFormState<To, 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<{
197
- props: __VLS_PrettifyLocal<Pick<Partial<{}> & Omit<{} & import("vue").VNodeProps & import("vue").AllowedComponentProps & import("vue").ComponentCustomProps, never>, never> & {
198
- disabled?: boolean;
199
- subscribe?: K[];
200
- } & {}> & import("vue").PublicProps;
201
- expose(exposed: import("vue").ShallowUnwrapRef<{}>): void;
202
- attrs: any;
203
- slots: {
204
- default(props: {
205
- subscribedValues: K[] extends undefined[] ? Record<string, never> : Pick<OmegaFormState<From, To>, K>;
206
- }): void;
207
- };
208
- emit: {};
209
- }>) => import("vue").VNode & {
210
- __ctx?: Awaited<typeof __VLS_setup>;
211
- };
212
- }
213
- export declare const useOmegaForm: <From extends Record<PropertyKey, any>, To extends Record<PropertyKey, any>, TypeProps = DefaultTypeProps>(schema: S.Codec<To, From, never>, tanstackFormOptions?: NoInfer<FormProps<From, To>>, omegaConfig?: OmegaConfig<To>) => OmegaFormReturn<From, To, TypeProps>;
214
- export {};
8
+ export declare const useOmegaForm: <From extends Record<PropertyKey, any>, To extends Record<PropertyKey, any>, TypeProps = DefaultTypeProps>(schema: S.Codec<To, From>, tanstackFormOptions?: NoInfer<FormProps<From, To>>, omegaConfig?: OmegaConfig<To>) => OmegaFormReturn<From, To, TypeProps>;
@@ -0,0 +1,10 @@
1
+ import type { StandardSchemaV1 } from "@tanstack/vue-form";
2
+ import { S } from "effect-app";
3
+ import type { useIntl } from "../../../utils";
4
+ export type TransFn = ReturnType<typeof useIntl>["trans"];
5
+ export declare const makeStandardSchemaV1Hooks: (trans: TransFn) => {
6
+ leafHook: S.SchemaIssue.LeafHook;
7
+ checkHook: S.SchemaIssue.CheckHook;
8
+ };
9
+ export declare const toLocalizedStandardSchemaV1: <To, From>(schema: S.Codec<To, From>, trans: TransFn) => StandardSchemaV1<From, To>;
10
+ export declare const annotateLiteralUnionMessages: <To, From>(schema: S.Codec<To, From>, trans: TransFn) => S.Codec<To, From>;
@@ -5,5 +5,4 @@ declare const _default: {
5
5
  };
6
6
  export default _default;
7
7
  export * from "./components";
8
- export * from "./constants";
9
8
  export * from "./utils";
@@ -1,5 +1,5 @@
1
1
  import { type makeIntl } from "@effect-app/vue";
2
- import { S } from "effect-app";
2
+ import type { 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: () => {
@@ -10,10 +10,10 @@ export declare const useIntl: () => {
10
10
  };
11
11
  export declare const provideIntl: (intl: ReturnType<typeof makeIntl>["useIntl"]) => void;
12
12
  /**
13
- * Recursively extracts the source AST from a transformation chain.
14
- * If the provided AST is a transformation, it follows the chain to find the original source AST.
15
- *
16
- * @param ast - The AST node to extract the transformation source from
17
- * @returns The source AST at the end of the transformation chain
13
+ * Walks the encoding chain of the given AST node to its source (encoded)
14
+ * side. Shallow does not recurse into children, so inner prop-level
15
+ * transformations (e.g. `FiniteFromString`) keep their decoded shape
16
+ * while struct-level `decodeTo` transformations are unwrapped to their
17
+ * input side (e.g. `NonNegativeInt` rather than the decoded `PositiveInt`).
18
18
  */
19
19
  export declare function getTransformationFrom(ast: S.AST.AST): S.AST.AST;