@bysages/solid 0.2.2 → 0.3.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 (293) hide show
  1. package/README.md +16 -2
  2. package/dist/ai-response-ClGGptX3.mjs +139 -0
  3. package/dist/chevron-D5RzcayK.mjs +9 -0
  4. package/dist/components/accordion/index.d.mts +7 -0
  5. package/dist/components/accordion/index.mjs +10 -0
  6. package/dist/components/affix/index.d.mts +20 -0
  7. package/dist/components/affix/index.mjs +33 -0
  8. package/dist/components/ai/index.d.mts +2 -0
  9. package/dist/components/ai/index.mjs +71 -0
  10. package/dist/components/ai-action/index.d.mts +13 -0
  11. package/dist/components/ai-action/index.mjs +27 -0
  12. package/dist/components/ai-attachments/index.d.mts +20 -0
  13. package/dist/components/ai-attachments/index.mjs +110 -0
  14. package/dist/components/ai-message/index.d.mts +13 -0
  15. package/dist/components/ai-message/index.mjs +22 -0
  16. package/dist/components/ai-prompt-input/index.d.mts +45 -0
  17. package/dist/components/ai-prompt-input/index.mjs +153 -0
  18. package/dist/components/ai-reasoning/index.d.mts +13 -0
  19. package/dist/components/ai-reasoning/index.mjs +38 -0
  20. package/dist/components/ai-response/index.d.mts +20 -0
  21. package/dist/components/ai-response/index.mjs +2 -0
  22. package/dist/components/ai-source/index.d.mts +13 -0
  23. package/dist/components/ai-source/index.mjs +36 -0
  24. package/dist/components/ai-suggestion/index.d.mts +13 -0
  25. package/dist/components/ai-suggestion/index.mjs +22 -0
  26. package/dist/components/ai-tool/index.d.mts +23 -0
  27. package/dist/components/ai-tool/index.mjs +90 -0
  28. package/dist/components/alert/index.d.mts +22 -0
  29. package/dist/components/alert/index.mjs +87 -0
  30. package/dist/components/angle-slider/index.d.mts +15 -0
  31. package/dist/components/angle-slider/index.mjs +18 -0
  32. package/dist/components/aspect-ratio/index.d.mts +10 -0
  33. package/dist/components/aspect-ratio/index.mjs +23 -0
  34. package/dist/components/autocomplete/index.d.mts +21 -0
  35. package/dist/components/autocomplete/index.mjs +76 -0
  36. package/dist/components/avatar/index.d.mts +23 -0
  37. package/dist/components/avatar/index.mjs +20 -0
  38. package/dist/components/avatar-group/index.d.mts +11 -0
  39. package/dist/components/avatar-group/index.mjs +20 -0
  40. package/dist/components/back-top/index.d.mts +29 -0
  41. package/dist/components/back-top/index.mjs +93 -0
  42. package/dist/components/badge/index.d.mts +10 -0
  43. package/dist/components/badge/index.mjs +23 -0
  44. package/dist/components/banner/index.d.mts +24 -0
  45. package/dist/components/banner/index.mjs +67 -0
  46. package/dist/components/bento/index.d.mts +24 -0
  47. package/dist/components/bento/index.mjs +51 -0
  48. package/dist/components/block-ui/index.d.mts +12 -0
  49. package/dist/components/block-ui/index.mjs +43 -0
  50. package/dist/components/breadcrumb/index.d.mts +11 -0
  51. package/dist/components/breadcrumb/index.mjs +45 -0
  52. package/dist/components/browser/index.d.mts +21 -0
  53. package/dist/components/browser/index.mjs +87 -0
  54. package/dist/components/button/index.d.mts +15 -0
  55. package/dist/components/button/index.mjs +43 -0
  56. package/dist/components/button-group/index.d.mts +23 -0
  57. package/dist/components/button-group/index.mjs +38 -0
  58. package/dist/components/calendar/index.d.mts +17 -0
  59. package/dist/components/calendar/index.mjs +209 -0
  60. package/dist/components/card/index.d.mts +11 -0
  61. package/dist/components/card/index.mjs +33 -0
  62. package/dist/components/carousel/index.d.mts +9 -0
  63. package/dist/components/carousel/index.mjs +12 -0
  64. package/dist/components/cascade-select/index.d.mts +31 -0
  65. package/dist/components/cascade-select/index.mjs +304 -0
  66. package/dist/components/checkbox/index.d.mts +15 -0
  67. package/dist/components/checkbox/index.mjs +18 -0
  68. package/dist/components/checkbox-group/index.d.mts +28 -0
  69. package/dist/components/checkbox-group/index.mjs +97 -0
  70. package/dist/components/chip/index.d.mts +12 -0
  71. package/dist/components/chip/index.mjs +36 -0
  72. package/dist/components/client-only/index.d.mts +2 -0
  73. package/dist/components/client-only/index.mjs +2 -0
  74. package/dist/components/clipboard/index.d.mts +16 -0
  75. package/dist/components/clipboard/index.mjs +19 -0
  76. package/dist/components/collapsible/index.d.mts +7 -0
  77. package/dist/components/collapsible/index.mjs +10 -0
  78. package/dist/components/collection/index.d.mts +2 -0
  79. package/dist/components/collection/index.mjs +2 -0
  80. package/dist/components/color-picker/index.d.mts +19 -0
  81. package/dist/components/color-picker/index.mjs +18 -0
  82. package/dist/components/combobox/index.d.mts +17 -0
  83. package/dist/components/combobox/index.mjs +18 -0
  84. package/dist/components/command/index.d.mts +43 -0
  85. package/dist/components/command/index.mjs +253 -0
  86. package/dist/components/comment/index.d.mts +17 -0
  87. package/dist/components/comment/index.mjs +101 -0
  88. package/dist/components/config-provider/index.d.mts +48 -0
  89. package/dist/components/config-provider/index.mjs +67 -0
  90. package/dist/components/container/index.d.mts +13 -0
  91. package/dist/components/container/index.mjs +23 -0
  92. package/dist/components/data-view/index.d.mts +18 -0
  93. package/dist/components/data-view/index.mjs +110 -0
  94. package/dist/components/date-input/index.d.mts +15 -0
  95. package/dist/components/date-input/index.mjs +18 -0
  96. package/dist/components/date-picker/index.d.mts +17 -0
  97. package/dist/components/date-picker/index.mjs +18 -0
  98. package/dist/components/deferred-content/index.d.mts +16 -0
  99. package/dist/components/deferred-content/index.mjs +52 -0
  100. package/dist/components/descriptions/index.d.mts +26 -0
  101. package/dist/components/descriptions/index.mjs +69 -0
  102. package/dist/components/dialog/index.d.mts +9 -0
  103. package/dist/components/dialog/index.mjs +11 -0
  104. package/dist/components/dock/index.d.mts +22 -0
  105. package/dist/components/dock/index.mjs +64 -0
  106. package/dist/components/download-trigger/index.d.mts +2 -0
  107. package/dist/components/download-trigger/index.mjs +2 -0
  108. package/dist/components/drawer/index.d.mts +9 -0
  109. package/dist/components/drawer/index.mjs +12 -0
  110. package/dist/components/dynamic-input/index.d.mts +30 -0
  111. package/dist/components/dynamic-input/index.mjs +119 -0
  112. package/dist/components/editable/index.d.mts +15 -0
  113. package/dist/components/editable/index.mjs +18 -0
  114. package/dist/components/ellipsis/index.d.mts +10 -0
  115. package/dist/components/ellipsis/index.mjs +27 -0
  116. package/dist/components/empty/index.d.mts +10 -0
  117. package/dist/components/empty/index.mjs +31 -0
  118. package/dist/components/field/index.d.mts +8 -0
  119. package/dist/components/field/index.mjs +11 -0
  120. package/dist/components/fieldset/index.d.mts +7 -0
  121. package/dist/components/fieldset/index.mjs +10 -0
  122. package/dist/components/file-upload/index.d.mts +17 -0
  123. package/dist/components/file-upload/index.mjs +18 -0
  124. package/dist/components/float-button/index.d.mts +61 -0
  125. package/dist/components/float-button/index.mjs +129 -0
  126. package/dist/components/floating-panel/index.d.mts +9 -0
  127. package/dist/components/floating-panel/index.mjs +12 -0
  128. package/dist/components/focus-trap/index.d.mts +2 -0
  129. package/dist/components/focus-trap/index.mjs +2 -0
  130. package/dist/components/form/index.d.mts +2 -0
  131. package/dist/components/form/index.mjs +125 -0
  132. package/dist/components/format/index.d.mts +9 -0
  133. package/dist/components/format/index.mjs +10 -0
  134. package/dist/components/frame/index.d.mts +10 -0
  135. package/dist/components/frame/index.mjs +12 -0
  136. package/dist/components/grid/index.d.mts +13 -0
  137. package/dist/components/grid/index.mjs +42 -0
  138. package/dist/components/highlight/index.d.mts +7 -0
  139. package/dist/components/highlight/index.mjs +11 -0
  140. package/dist/components/hover-card/index.d.mts +7 -0
  141. package/dist/components/hover-card/index.mjs +10 -0
  142. package/dist/components/icon/index.d.mts +24 -0
  143. package/dist/components/icon/index.mjs +54 -0
  144. package/dist/components/image/index.d.mts +17 -0
  145. package/dist/components/image/index.mjs +70 -0
  146. package/dist/components/image-cropper/index.d.mts +8 -0
  147. package/dist/components/image-cropper/index.mjs +11 -0
  148. package/dist/components/image-viewer/index.d.mts +19 -0
  149. package/dist/components/image-viewer/index.mjs +152 -0
  150. package/dist/components/input/index.d.mts +19 -0
  151. package/dist/components/input/index.mjs +2 -0
  152. package/dist/components/input-group/index.d.mts +18 -0
  153. package/dist/components/input-group/index.mjs +36 -0
  154. package/dist/components/json-tree-view/index.d.mts +7 -0
  155. package/dist/components/json-tree-view/index.mjs +10 -0
  156. package/dist/components/kbd/index.d.mts +6 -0
  157. package/dist/components/kbd/index.mjs +15 -0
  158. package/dist/components/layout/index.d.mts +60 -0
  159. package/dist/components/layout/index.mjs +192 -0
  160. package/dist/components/link/index.d.mts +10 -0
  161. package/dist/components/link/index.mjs +24 -0
  162. package/dist/components/list/index.d.mts +26 -0
  163. package/dist/components/list/index.mjs +97 -0
  164. package/dist/components/listbox/index.d.mts +17 -0
  165. package/dist/components/listbox/index.mjs +19 -0
  166. package/dist/components/marquee/index.d.mts +7 -0
  167. package/dist/components/marquee/index.mjs +10 -0
  168. package/dist/components/masonry/index.d.mts +11 -0
  169. package/dist/components/masonry/index.mjs +34 -0
  170. package/dist/components/mentions/index.d.mts +2 -0
  171. package/dist/components/mentions/index.mjs +3 -0
  172. package/dist/components/menu/index.d.mts +13 -0
  173. package/dist/components/menu/index.mjs +38 -0
  174. package/dist/components/menubar/index.d.mts +32 -0
  175. package/dist/components/menubar/index.mjs +83 -0
  176. package/dist/components/meter/index.d.mts +21 -0
  177. package/dist/components/meter/index.mjs +95 -0
  178. package/dist/components/navigation-menu/index.d.mts +8 -0
  179. package/dist/components/navigation-menu/index.mjs +11 -0
  180. package/dist/components/number-input/index.d.mts +15 -0
  181. package/dist/components/number-input/index.mjs +18 -0
  182. package/dist/components/order-list/index.d.mts +21 -0
  183. package/dist/components/order-list/index.mjs +160 -0
  184. package/dist/components/page-header/index.d.mts +11 -0
  185. package/dist/components/page-header/index.mjs +34 -0
  186. package/dist/components/pagination/index.d.mts +17 -0
  187. package/dist/components/pagination/index.mjs +18 -0
  188. package/dist/components/password-input/index.d.mts +15 -0
  189. package/dist/components/password-input/index.mjs +18 -0
  190. package/dist/components/pin-input/index.d.mts +14 -0
  191. package/dist/components/pin-input/index.mjs +18 -0
  192. package/dist/components/popconfirm/index.d.mts +17 -0
  193. package/dist/components/popconfirm/index.mjs +85 -0
  194. package/dist/components/popover/index.d.mts +8 -0
  195. package/dist/components/popover/index.mjs +11 -0
  196. package/dist/components/presence/index.d.mts +2 -0
  197. package/dist/components/presence/index.mjs +2 -0
  198. package/dist/components/progress/index.d.mts +15 -0
  199. package/dist/components/progress/index.mjs +18 -0
  200. package/dist/components/progress-group/index.d.mts +22 -0
  201. package/dist/components/progress-group/index.mjs +84 -0
  202. package/dist/components/qr-code/index.d.mts +8 -0
  203. package/dist/components/qr-code/index.mjs +11 -0
  204. package/dist/components/radio-group/index.d.mts +15 -0
  205. package/dist/components/radio-group/index.mjs +18 -0
  206. package/dist/components/rating-group/index.d.mts +15 -0
  207. package/dist/components/rating-group/index.mjs +18 -0
  208. package/dist/components/result/index.d.mts +22 -0
  209. package/dist/components/result/index.mjs +66 -0
  210. package/dist/components/scroll-area/index.d.mts +7 -0
  211. package/dist/components/scroll-area/index.mjs +10 -0
  212. package/dist/components/segment-group/index.d.mts +17 -0
  213. package/dist/components/segment-group/index.mjs +23 -0
  214. package/dist/components/select/index.d.mts +2 -0
  215. package/dist/components/select/index.mjs +2 -0
  216. package/dist/components/separator/index.d.mts +11 -0
  217. package/dist/components/separator/index.mjs +27 -0
  218. package/dist/components/signature-pad/index.d.mts +8 -0
  219. package/dist/components/signature-pad/index.mjs +11 -0
  220. package/dist/components/skeleton/index.d.mts +7 -0
  221. package/dist/components/skeleton/index.mjs +15 -0
  222. package/dist/components/slider/index.d.mts +15 -0
  223. package/dist/components/slider/index.mjs +18 -0
  224. package/dist/components/spinner/index.d.mts +9 -0
  225. package/dist/components/spinner/index.mjs +26 -0
  226. package/dist/components/split-button/index.d.mts +36 -0
  227. package/dist/components/split-button/index.mjs +124 -0
  228. package/dist/components/splitter/index.d.mts +7 -0
  229. package/dist/components/splitter/index.mjs +10 -0
  230. package/dist/components/spotlight/index.d.mts +11 -0
  231. package/dist/components/spotlight/index.mjs +38 -0
  232. package/dist/components/stack/index.d.mts +11 -0
  233. package/dist/components/stack/index.mjs +45 -0
  234. package/dist/components/stat/index.d.mts +17 -0
  235. package/dist/components/stat/index.mjs +44 -0
  236. package/dist/components/steps/index.d.mts +18 -0
  237. package/dist/components/steps/index.mjs +18 -0
  238. package/dist/components/swap/index.d.mts +8 -0
  239. package/dist/components/swap/index.mjs +11 -0
  240. package/dist/components/switch/index.d.mts +15 -0
  241. package/dist/components/switch/index.mjs +18 -0
  242. package/dist/components/table/index.d.mts +77 -0
  243. package/dist/components/table/index.mjs +837 -0
  244. package/dist/components/tabs/index.d.mts +19 -0
  245. package/dist/components/tabs/index.mjs +23 -0
  246. package/dist/components/tags-input/index.d.mts +16 -0
  247. package/dist/components/tags-input/index.mjs +18 -0
  248. package/dist/components/terminal/index.d.mts +17 -0
  249. package/dist/components/terminal/index.mjs +84 -0
  250. package/dist/components/textarea/index.d.mts +14 -0
  251. package/dist/components/textarea/index.mjs +37 -0
  252. package/dist/components/timeline/index.d.mts +15 -0
  253. package/dist/components/timeline/index.mjs +44 -0
  254. package/dist/components/timer/index.d.mts +8 -0
  255. package/dist/components/timer/index.mjs +11 -0
  256. package/dist/components/toast/index.d.mts +11 -0
  257. package/dist/components/toast/index.mjs +13 -0
  258. package/dist/components/toc/index.d.mts +7 -0
  259. package/dist/components/toc/index.mjs +10 -0
  260. package/dist/components/toggle/index.d.mts +7 -0
  261. package/dist/components/toggle/index.mjs +10 -0
  262. package/dist/components/toggle-group/index.d.mts +14 -0
  263. package/dist/components/toggle-group/index.mjs +18 -0
  264. package/dist/components/toolbar/index.d.mts +17 -0
  265. package/dist/components/toolbar/index.mjs +46 -0
  266. package/dist/components/tooltip/index.d.mts +7 -0
  267. package/dist/components/tooltip/index.mjs +10 -0
  268. package/dist/components/tour/index.d.mts +11 -0
  269. package/dist/components/tour/index.mjs +13 -0
  270. package/dist/components/transfer/index.d.mts +24 -0
  271. package/dist/components/transfer/index.mjs +175 -0
  272. package/dist/components/tree-select/index.d.mts +28 -0
  273. package/dist/components/tree-select/index.mjs +253 -0
  274. package/dist/components/tree-view/index.d.mts +18 -0
  275. package/dist/components/tree-view/index.mjs +19 -0
  276. package/dist/components/typography/index.d.mts +11 -0
  277. package/dist/components/typography/index.mjs +34 -0
  278. package/dist/components/user/index.d.mts +19 -0
  279. package/dist/components/user/index.mjs +68 -0
  280. package/dist/components/virtual-list/index.d.mts +17 -0
  281. package/dist/components/virtual-list/index.mjs +71 -0
  282. package/dist/components/watermark/index.d.mts +17 -0
  283. package/dist/components/watermark/index.mjs +77 -0
  284. package/dist/index-B1xiJ5ki.d.mts +1811 -0
  285. package/dist/index-DDX7x8aT.d.mts +95 -0
  286. package/dist/index-IfofF-SW.d.mts +10356 -0
  287. package/dist/index-YPUiqD3n.d.mts +42 -0
  288. package/dist/index.d.mts +141 -15209
  289. package/dist/index.mjs +141 -6171
  290. package/dist/input-DoFQ7RXh.mjs +78 -0
  291. package/dist/mentions-f5Js_2W7.mjs +263 -0
  292. package/dist/select-CHaXbzLX.mjs +115 -0
  293. package/package.json +101 -7
@@ -0,0 +1,1811 @@
1
+ import { Component, JSX } from "solid-js";
2
+ import { SolidFormApi, createField, createForm } from "@tanstack/solid-form";
3
+ //#region ../../node_modules/.pnpm/@tanstack+form-core@1.33.5/node_modules/@tanstack/form-core/dist/esm/standardSchemaValidator.d.ts
4
+ type TStandardSchemaValidatorValue<TData, TSource extends ValidationSource = ValidationSource> = {
5
+ value: TData;
6
+ validationSource: TSource;
7
+ };
8
+ /**
9
+ * The Standard Schema interface.
10
+ */
11
+ type StandardSchemaV1<Input = unknown, Output = Input> = {
12
+ /**
13
+ * The Standard Schema properties.
14
+ */
15
+ readonly '~standard': StandardSchemaV1Props<Input, Output>;
16
+ };
17
+ /**
18
+ * The Standard Schema properties interface.
19
+ */
20
+ interface StandardSchemaV1Props<Input = unknown, Output = Input> {
21
+ /**
22
+ * The version number of the standard.
23
+ */
24
+ readonly version: 1;
25
+ /**
26
+ * The vendor name of the schema library.
27
+ */
28
+ readonly vendor: string;
29
+ /**
30
+ * Validates unknown input values.
31
+ */
32
+ readonly validate: (value: unknown) => StandardSchemaV1Result<Output> | Promise<StandardSchemaV1Result<Output>>;
33
+ /**
34
+ * Inferred types associated with the schema.
35
+ */
36
+ readonly types?: StandardSchemaV1Types<Input, Output> | undefined;
37
+ }
38
+ /**
39
+ * The result interface of the validate function.
40
+ */
41
+ type StandardSchemaV1Result<Output> = StandardSchemaV1SuccessResult<Output> | StandardSchemaV1FailureResult;
42
+ /**
43
+ * The result interface if validation succeeds.
44
+ */
45
+ interface StandardSchemaV1SuccessResult<Output> {
46
+ /**
47
+ * The typed output value.
48
+ */
49
+ readonly value: Output;
50
+ /**
51
+ * The non-existent issues.
52
+ */
53
+ readonly issues?: undefined;
54
+ }
55
+ /**
56
+ * The result interface if validation fails.
57
+ */
58
+ interface StandardSchemaV1FailureResult {
59
+ /**
60
+ * The issues of failed validation.
61
+ */
62
+ readonly issues: ReadonlyArray<StandardSchemaV1Issue>;
63
+ }
64
+ /**
65
+ * The issue interface of the failure output.
66
+ */
67
+ interface StandardSchemaV1Issue {
68
+ /**
69
+ * The error message of the issue.
70
+ */
71
+ readonly message: string;
72
+ /**
73
+ * The path of the issue, if any.
74
+ */
75
+ readonly path?: ReadonlyArray<PropertyKey | StandardSchemaV1PathSegment> | undefined;
76
+ }
77
+ /**
78
+ * The path segment interface of the issue.
79
+ */
80
+ interface StandardSchemaV1PathSegment {
81
+ /**
82
+ * The key representing a path segment.
83
+ */
84
+ readonly key: PropertyKey;
85
+ }
86
+ /**
87
+ * The Standard Schema types interface.
88
+ */
89
+ interface StandardSchemaV1Types<Input = unknown, Output = Input> {
90
+ /**
91
+ * The input type of the schema.
92
+ */
93
+ readonly input: Input;
94
+ /**
95
+ * The output type of the schema.
96
+ */
97
+ readonly output: Output;
98
+ }
99
+ //#endregion
100
+ //#region ../../node_modules/.pnpm/@tanstack+store@0.11.1/node_modules/@tanstack/store/dist/types.d.ts
101
+ type Observer<T> = {
102
+ next?: (value: T) => void;
103
+ error?: (err: unknown) => void;
104
+ complete?: () => void;
105
+ };
106
+ interface Subscription {
107
+ unsubscribe: () => void;
108
+ }
109
+ //#endregion
110
+ //#region ../../node_modules/.pnpm/@tanstack+store@0.11.1/node_modules/@tanstack/store/dist/store.d.ts
111
+ //#region src/store.d.ts
112
+ type StoreAction = (...args: Array<any>) => any;
113
+ type StoreActionMap = Record<string, StoreAction>;
114
+ type StoreActionsFactory<T, TActions extends StoreActionMap> = (store: {
115
+ setState: Store<T>['setState'];
116
+ get: Store<T>['get'];
117
+ }) => TActions;
118
+ type NonFunction<T> = T extends ((...args: Array<any>) => any) ? never : T;
119
+ declare class Store<T, TActions extends StoreActionMap = never> {
120
+ private atom;
121
+ readonly actions: TActions;
122
+ constructor(getValue: (prev?: NoInfer<T>) => T);
123
+ constructor(initialValue: T);
124
+ constructor(initialValue: NonFunction<T>, actionsFactory: StoreActionsFactory<T, TActions>);
125
+ setState(updater: (prev: T) => T): void;
126
+ get state(): T;
127
+ get(): T;
128
+ subscribe(observerOrFn: Observer<T> | ((value: T) => void)): Subscription;
129
+ }
130
+ declare class ReadonlyStore<T> implements Omit<Store<T>, 'setState' | 'actions'> {
131
+ private atom;
132
+ constructor(getValue: (prev?: NoInfer<T>) => T);
133
+ constructor(initialValue: T);
134
+ get state(): T;
135
+ get(): T;
136
+ subscribe(observerOrFn: Observer<T> | ((value: T) => void)): Subscription;
137
+ }
138
+ //#endregion
139
+ //#region ../../node_modules/.pnpm/@tanstack+form-core@1.33.5/node_modules/@tanstack/form-core/dist/esm/util-types.d.ts
140
+ /**
141
+ * @private
142
+ */
143
+ type UnwrapOneLevelOfArray<T> = T extends (infer U)[] ? U : T;
144
+ /**
145
+ * @private
146
+ * Helper type that rejects synchronous validators that return Promises.
147
+ * If the validator is a function returning a Promise, the type becomes `never`.
148
+ * Uses infer to extract the return type and handles `any` specially to avoid
149
+ * rejecting mock functions and other uses of `any`.
150
+ */
151
+ type RejectPromiseValidator<T> = T extends ((...args: any[]) => infer R) ? 0 extends 1 & R ? T : [R] extends [Promise<any> | PromiseLike<any>] ? never : T : T;
152
+ interface AnyDeepKeyAndValue<K extends string = string, V extends any = any> {
153
+ key: K;
154
+ value: V;
155
+ }
156
+ type ArrayAccessor<TParent extends AnyDeepKeyAndValue> = `${TParent['key'] extends never ? '' : TParent['key']}[${number}]`;
157
+ interface ArrayDeepKeyAndValue<in out TParent extends AnyDeepKeyAndValue, in out T extends ReadonlyArray<any>> extends AnyDeepKeyAndValue {
158
+ key: ArrayAccessor<TParent>;
159
+ value: T[number] | Nullable<TParent['value']>;
160
+ }
161
+ type DeepKeyAndValueArray<TParent extends AnyDeepKeyAndValue, T extends ReadonlyArray<any>, TAcc> = DeepKeysAndValuesImpl<NonNullable<T[number]>, ArrayDeepKeyAndValue<TParent, T>, TAcc | ArrayDeepKeyAndValue<TParent, T>>;
162
+ type TupleAccessor<TParent extends AnyDeepKeyAndValue, TKey extends string> = `${TParent['key'] extends never ? '' : TParent['key']}[${TKey}]`;
163
+ interface TupleDeepKeyAndValue<in out TParent extends AnyDeepKeyAndValue, in out T, in out TKey extends AllTupleKeys<T>> extends AnyDeepKeyAndValue {
164
+ key: TupleAccessor<TParent, TKey>;
165
+ value: T[TKey] | Nullable<TParent['value']>;
166
+ }
167
+ type AllTupleKeys<T> = T extends any ? keyof T & `${number}` : never;
168
+ type DeepKeyAndValueTuple<TParent extends AnyDeepKeyAndValue, T extends ReadonlyArray<any>, TAcc, TAllKeys extends AllTupleKeys<T> = AllTupleKeys<T>> = TAllKeys extends any ? DeepKeysAndValuesImpl<NonNullable<T[TAllKeys]>, TupleDeepKeyAndValue<TParent, T, TAllKeys>, TAcc | TupleDeepKeyAndValue<TParent, T, TAllKeys>> : never;
169
+ type AllObjectKeys<T> = T extends any ? keyof T & (string | number) : never;
170
+ type ObjectAccessor<TParent extends AnyDeepKeyAndValue, TKey extends string | number> = TParent['key'] extends never ? `${TKey}` : `${TParent['key']}.${TKey}`;
171
+ type Nullable<T> = T & (undefined | null);
172
+ type ObjectValue<TParent extends AnyDeepKeyAndValue, T, TKey extends AllObjectKeys<T>> = T[TKey] | Nullable<TParent['value']>;
173
+ interface ObjectDeepKeyAndValue<in out TParent extends AnyDeepKeyAndValue, in out T, in out TKey extends AllObjectKeys<T>> extends AnyDeepKeyAndValue {
174
+ key: ObjectAccessor<TParent, TKey>;
175
+ value: ObjectValue<TParent, T, TKey>;
176
+ }
177
+ type DeepKeyAndValueObject<TParent extends AnyDeepKeyAndValue, T, TAcc, TAllKeys extends AllObjectKeys<T> = AllObjectKeys<T>> = TAllKeys extends any ? DeepKeysAndValuesImpl<NonNullable<T[TAllKeys]>, ObjectDeepKeyAndValue<TParent, T, TAllKeys>, TAcc | ObjectDeepKeyAndValue<TParent, T, TAllKeys>> : never;
178
+ type UnknownAccessor<TParent extends AnyDeepKeyAndValue> = TParent['key'] extends never ? string : `${TParent['key']}.${string}`;
179
+ interface UnknownDeepKeyAndValue<TParent extends AnyDeepKeyAndValue> extends AnyDeepKeyAndValue {
180
+ key: UnknownAccessor<TParent>;
181
+ value: unknown;
182
+ }
183
+ type DeepKeysAndValues<T> = DeepKeysAndValuesImpl<T> extends AnyDeepKeyAndValue ? DeepKeysAndValuesImpl<T> : never;
184
+ type DeepKeysAndValuesImpl<T, TParent extends AnyDeepKeyAndValue = never, TAcc = never> = unknown extends T ? TAcc | UnknownDeepKeyAndValue<TParent> : unknown extends T ? T : T extends string | number | boolean | bigint | Date ? TAcc : T extends ReadonlyArray<any> ? number extends T['length'] ? DeepKeyAndValueArray<TParent, T, TAcc> : DeepKeyAndValueTuple<TParent, T, TAcc> : keyof T extends never ? TAcc | UnknownDeepKeyAndValue<TParent> : T extends object ? DeepKeyAndValueObject<TParent, T, TAcc> : TAcc;
185
+ type DeepRecord<T> = { [TRecord in DeepKeysAndValues<T> as TRecord['key']]: TRecord['value']; };
186
+ /**
187
+ * The keys of an object or array, deeply nested.
188
+ */
189
+ type DeepKeys<T> = unknown extends T ? string : DeepKeysAndValues<T>['key'];
190
+ /**
191
+ * Infer the type of a deeply nested property within an object or an array.
192
+ */
193
+ type DeepValue<TValue, TAccessor> = unknown extends TValue ? TValue : TAccessor extends DeepKeys<TValue> ? DeepRecord<TValue>[TAccessor] : never;
194
+ /**
195
+ * The keys of an object or array, deeply nested and only with a value of TValue
196
+ */
197
+ type DeepKeysOfType<TData, TValue> = Extract<DeepKeysAndValues<TData>, AnyDeepKeyAndValue<string, TValue>>['key'];
198
+ //#endregion
199
+ //#region ../../node_modules/.pnpm/@tanstack+form-core@1.33.5/node_modules/@tanstack/form-core/dist/esm/utils.d.ts
200
+ type UpdaterFn<TInput, TOutput = TInput> = (input: TInput) => TOutput;
201
+ type Updater<TInput, TOutput = TInput> = TOutput | UpdaterFn<TInput, TOutput>;
202
+ //#endregion
203
+ //#region ../../node_modules/.pnpm/@tanstack+form-core@1.33.5/node_modules/@tanstack/form-core/dist/esm/FieldApi.d.ts
204
+ /**
205
+ * @private
206
+ */
207
+ type FieldValidateFn<TParentData, TName extends DeepKeys<TParentData>, TData extends DeepValue<TParentData, TName> = DeepValue<TParentData, TName>> = (props: {
208
+ value: TData;
209
+ fieldApi: FieldApi<TParentData, TName, TData, any, any, any, any, any, any, any, any, any, any, any, any, any, any, any, any, any, any, any, any>;
210
+ }) => unknown;
211
+ /**
212
+ * @private
213
+ */
214
+ type FieldValidateAsyncFn<TParentData, TName extends DeepKeys<TParentData>, TData extends DeepValue<TParentData, TName> = DeepValue<TParentData, TName>> = (options: {
215
+ value: TData;
216
+ fieldApi: FieldApi<TParentData, TName, TData, any, any, any, any, any, any, any, any, any, any, any, any, any, any, any, any, any, any, any, any>;
217
+ signal: AbortSignal;
218
+ }) => unknown | Promise<unknown>;
219
+ /**
220
+ * @private
221
+ */
222
+ type FieldListenerFn<TParentData, TName extends DeepKeys<TParentData>, TData extends DeepValue<TParentData, TName> = DeepValue<TParentData, TName>> = (props: {
223
+ value: TData;
224
+ fieldApi: FieldApi<TParentData, TName, TData, any, any, any, any, any, any, any, any, any, any, any, any, any, any, any, any, any, any, any, any>;
225
+ }) => void;
226
+ /**
227
+ * @private
228
+ */
229
+ type FieldValidateOrFn<TParentData, TName extends DeepKeys<TParentData>, TData extends DeepValue<TParentData, TName> = DeepValue<TParentData, TName>> = FieldValidateFn<TParentData, TName, TData> | StandardSchemaV1<TData, unknown>;
230
+ /**
231
+ * @private
232
+ */
233
+ type FieldAsyncValidateOrFn<TParentData, TName extends DeepKeys<TParentData>, TData extends DeepValue<TParentData, TName> = DeepValue<TParentData, TName>> = FieldValidateAsyncFn<TParentData, TName, TData> | StandardSchemaV1<TData, unknown>;
234
+ interface FieldValidators<TParentData, TName extends DeepKeys<TParentData>, TData extends DeepValue<TParentData, TName>, TOnMount extends undefined | FieldValidateOrFn<TParentData, TName, TData>, TOnChange extends undefined | FieldValidateOrFn<TParentData, TName, TData>, TOnChangeAsync extends undefined | FieldAsyncValidateOrFn<TParentData, TName, TData>, TOnBlur extends undefined | FieldValidateOrFn<TParentData, TName, TData>, TOnBlurAsync extends undefined | FieldAsyncValidateOrFn<TParentData, TName, TData>, TOnSubmit extends undefined | FieldValidateOrFn<TParentData, TName, TData>, TOnSubmitAsync extends undefined | FieldAsyncValidateOrFn<TParentData, TName, TData>, TOnDynamic extends undefined | FieldValidateOrFn<TParentData, TName, TData>, TOnDynamicAsync extends undefined | FieldAsyncValidateOrFn<TParentData, TName, TData>> {
235
+ /**
236
+ * An optional function, that runs on the mount event of input.
237
+ */
238
+ onMount?: RejectPromiseValidator<TOnMount>;
239
+ /**
240
+ * An optional function, that runs on the change event of input.
241
+ *
242
+ * @example z.string().min(1)
243
+ */
244
+ onChange?: RejectPromiseValidator<TOnChange>;
245
+ /**
246
+ * An optional property similar to `onChange` but async validation
247
+ *
248
+ * @example z.string().refine(async (val) => val.length > 3, { message: 'Testing 123' })
249
+ */
250
+ onChangeAsync?: TOnChangeAsync;
251
+ /**
252
+ * An optional number to represent how long the `onChangeAsync` should wait before running
253
+ *
254
+ * If set to a number larger than 0, will debounce the async validation event by this length of time in milliseconds
255
+ */
256
+ onChangeAsyncDebounceMs?: number;
257
+ /**
258
+ * An optional list of field names that should trigger this field's `onChange` and `onChangeAsync` events when its value changes
259
+ */
260
+ onChangeListenTo?: DeepKeys<TParentData>[];
261
+ /**
262
+ * An optional function, that runs on the blur event of input.
263
+ *
264
+ * @example z.string().min(1)
265
+ */
266
+ onBlur?: RejectPromiseValidator<TOnBlur>;
267
+ /**
268
+ * An optional property similar to `onBlur` but async validation.
269
+ *
270
+ * @example z.string().refine(async (val) => val.length > 3, { message: 'Testing 123' })
271
+ */
272
+ onBlurAsync?: TOnBlurAsync;
273
+ /**
274
+ * An optional number to represent how long the `onBlurAsync` should wait before running
275
+ *
276
+ * If set to a number larger than 0, will debounce the async validation event by this length of time in milliseconds
277
+ */
278
+ onBlurAsyncDebounceMs?: number;
279
+ /**
280
+ * An optional list of field names that should trigger this field's `onBlur` and `onBlurAsync` events when its value changes
281
+ */
282
+ onBlurListenTo?: DeepKeys<TParentData>[];
283
+ /**
284
+ * An optional function, that runs on the submit event of form.
285
+ *
286
+ * @example z.string().min(1)
287
+ */
288
+ onSubmit?: RejectPromiseValidator<TOnSubmit>;
289
+ /**
290
+ * An optional property similar to `onSubmit` but async validation.
291
+ *
292
+ * @example z.string().refine(async (val) => val.length > 3, { message: 'Testing 123' })
293
+ */
294
+ onSubmitAsync?: TOnSubmitAsync;
295
+ onDynamic?: RejectPromiseValidator<TOnDynamic>;
296
+ onDynamicAsync?: TOnDynamicAsync;
297
+ onDynamicAsyncDebounceMs?: number;
298
+ }
299
+ interface FieldListeners<TParentData, TName extends DeepKeys<TParentData>, TData extends DeepValue<TParentData, TName> = DeepValue<TParentData, TName>> {
300
+ onChange?: FieldListenerFn<TParentData, TName, TData>;
301
+ onChangeDebounceMs?: number;
302
+ onBlur?: FieldListenerFn<TParentData, TName, TData>;
303
+ onBlurDebounceMs?: number;
304
+ onMount?: FieldListenerFn<TParentData, TName, TData>;
305
+ onUnmount?: FieldListenerFn<TParentData, TName, TData>;
306
+ onSubmit?: FieldListenerFn<TParentData, TName, TData>;
307
+ onGroupSubmit?: FieldListenerFn<TParentData, TName, TData>;
308
+ }
309
+ interface FieldExtraOptions<TParentData, TName extends DeepKeys<TParentData>, TData extends DeepValue<TParentData, TName>, TOnMount extends undefined | FieldValidateOrFn<TParentData, TName, TData>, TOnChange extends undefined | FieldValidateOrFn<TParentData, TName, TData>, TOnChangeAsync extends undefined | FieldAsyncValidateOrFn<TParentData, TName, TData>, TOnBlur extends undefined | FieldValidateOrFn<TParentData, TName, TData>, TOnBlurAsync extends undefined | FieldAsyncValidateOrFn<TParentData, TName, TData>, TOnSubmit extends undefined | FieldValidateOrFn<TParentData, TName, TData>, TOnSubmitAsync extends undefined | FieldAsyncValidateOrFn<TParentData, TName, TData>, TOnDynamic extends undefined | FieldValidateOrFn<TParentData, TName, TData>, TOnDynamicAsync extends undefined | FieldAsyncValidateOrFn<TParentData, TName, TData>> {
310
+ /**
311
+ * A list of validators to pass to the field
312
+ */
313
+ validators?: FieldValidators<TParentData, TName, TData, TOnMount, TOnChange, TOnChangeAsync, TOnBlur, TOnBlurAsync, TOnSubmit, TOnSubmitAsync, TOnDynamic, TOnDynamicAsync>;
314
+ /**
315
+ * A list of listeners which attach to the corresponding events
316
+ */
317
+ listeners?: FieldListeners<TParentData, TName, TData>;
318
+ }
319
+ interface FieldApiOptions<in out TParentData, in out TName extends DeepKeys<TParentData>, in out TData extends DeepValue<TParentData, TName>, in out TOnMount extends undefined | FieldValidateOrFn<TParentData, TName, TData>, in out TOnChange extends undefined | FieldValidateOrFn<TParentData, TName, TData>, in out TOnChangeAsync extends undefined | FieldAsyncValidateOrFn<TParentData, TName, TData>, in out TOnBlur extends undefined | FieldValidateOrFn<TParentData, TName, TData>, in out TOnBlurAsync extends undefined | FieldAsyncValidateOrFn<TParentData, TName, TData>, in out TOnSubmit extends undefined | FieldValidateOrFn<TParentData, TName, TData>, in out TOnSubmitAsync extends undefined | FieldAsyncValidateOrFn<TParentData, TName, TData>, in out TOnDynamic extends undefined | FieldValidateOrFn<TParentData, TName, TData>, in out TOnDynamicAsync extends undefined | FieldAsyncValidateOrFn<TParentData, TName, TData>, in out TFormOnMount extends undefined | FormValidateOrFn<TParentData>, in out TFormOnChange extends undefined | FormValidateOrFn<TParentData>, in out TFormOnChangeAsync extends undefined | FormAsyncValidateOrFn<TParentData>, in out TFormOnBlur extends undefined | FormValidateOrFn<TParentData>, in out TFormOnBlurAsync extends undefined | FormAsyncValidateOrFn<TParentData>, in out TFormOnSubmit extends undefined | FormValidateOrFn<TParentData>, in out TFormOnSubmitAsync extends undefined | FormAsyncValidateOrFn<TParentData>, in out TFormOnDynamic extends undefined | FormValidateOrFn<TParentData>, in out TFormOnDynamicAsync extends undefined | FormAsyncValidateOrFn<TParentData>, in out TFormOnServer extends undefined | FormAsyncValidateOrFn<TParentData>, in out TParentSubmitMeta> extends FieldLikeApiOptions<TParentData, TName, TData, TOnMount, TOnChange, TOnChangeAsync, TOnBlur, TOnBlurAsync, TOnSubmit, TOnSubmitAsync, TOnDynamic, TOnDynamicAsync, TFormOnMount, TFormOnChange, TFormOnChangeAsync, TFormOnBlur, TFormOnBlurAsync, TFormOnSubmit, TFormOnSubmitAsync, TFormOnDynamic, TFormOnDynamicAsync, TFormOnServer, TParentSubmitMeta>, FieldExtraOptions<TParentData, TName, TData, TOnMount, TOnChange, TOnChangeAsync, TOnBlur, TOnBlurAsync, TOnSubmit, TOnSubmitAsync, TOnDynamic, TOnDynamicAsync> {}
320
+ /**
321
+ * @public
322
+ *
323
+ * A type representing the Field API with all generics set to `any` for convenience.
324
+ */
325
+ type AnyFieldApi = FieldApi<any, any, any, any, any, any, any, any, any, any, any, any, any, any, any, any, any, any, any, any, any, any, any>;
326
+ /**
327
+ * We cannot use methods and must use arrow functions. Otherwise, our React adapters
328
+ * will break due to loss of the method when using spread.
329
+ */
330
+ /**
331
+ * A class representing the API for managing a form field.
332
+ *
333
+ * Normally, you will not need to create a new `FieldApi` instance directly.
334
+ * Instead, you will use a framework hook/function like `useField` or `createField`
335
+ * to create a new instance for you that uses your framework's reactivity model.
336
+ * However, if you need to create a new instance manually, you can do so by calling
337
+ * the `new FieldApi` constructor.
338
+ */
339
+ declare class FieldApi<in out TParentData, in out TName extends DeepKeys<TParentData>, in out TData extends DeepValue<TParentData, TName>, in out TOnMount extends undefined | FieldValidateOrFn<TParentData, TName, TData>, in out TOnChange extends undefined | FieldValidateOrFn<TParentData, TName, TData>, in out TOnChangeAsync extends undefined | FieldAsyncValidateOrFn<TParentData, TName, TData>, in out TOnBlur extends undefined | FieldValidateOrFn<TParentData, TName, TData>, in out TOnBlurAsync extends undefined | FieldAsyncValidateOrFn<TParentData, TName, TData>, in out TOnSubmit extends undefined | FieldValidateOrFn<TParentData, TName, TData>, in out TOnSubmitAsync extends undefined | FieldAsyncValidateOrFn<TParentData, TName, TData>, in out TOnDynamic extends undefined | FieldValidateOrFn<TParentData, TName, TData>, in out TOnDynamicAsync extends undefined | FieldAsyncValidateOrFn<TParentData, TName, TData>, in out TFormOnMount extends undefined | FormValidateOrFn<TParentData>, in out TFormOnChange extends undefined | FormValidateOrFn<TParentData>, in out TFormOnChangeAsync extends undefined | FormAsyncValidateOrFn<TParentData>, in out TFormOnBlur extends undefined | FormValidateOrFn<TParentData>, in out TFormOnBlurAsync extends undefined | FormAsyncValidateOrFn<TParentData>, in out TFormOnSubmit extends undefined | FormValidateOrFn<TParentData>, in out TFormOnSubmitAsync extends undefined | FormAsyncValidateOrFn<TParentData>, in out TFormOnDynamic extends undefined | FormValidateOrFn<TParentData>, in out TFormOnDynamicAsync extends undefined | FormAsyncValidateOrFn<TParentData>, in out TFormOnServer extends undefined | FormAsyncValidateOrFn<TParentData>, in out TParentSubmitMeta> implements FieldLikeAPI<TParentData, TName, TData, TOnMount, TOnChange, TOnChangeAsync, TOnBlur, TOnBlurAsync, TOnSubmit, TOnSubmitAsync, TOnDynamic, TOnDynamicAsync, TFormOnMount, TFormOnChange, TFormOnChangeAsync, TFormOnBlur, TFormOnBlurAsync, TFormOnSubmit, TFormOnSubmitAsync, TFormOnDynamic, TFormOnDynamicAsync, TFormOnServer, TParentSubmitMeta, FieldExtraOptions<TParentData, TName, TData, TOnMount, TOnChange, TOnChangeAsync, TOnBlur, TOnBlurAsync, TOnSubmit, TOnSubmitAsync, TOnDynamic, TOnDynamicAsync>> {
340
+ /**
341
+ * A reference to the form API instance.
342
+ */
343
+ form: FieldApiOptions<TParentData, TName, TData, TOnMount, TOnChange, TOnChangeAsync, TOnBlur, TOnBlurAsync, TOnSubmit, TOnSubmitAsync, TOnDynamic, TOnDynamicAsync, TFormOnMount, TFormOnChange, TFormOnChangeAsync, TFormOnBlur, TFormOnBlurAsync, TFormOnSubmit, TFormOnSubmitAsync, TFormOnDynamic, TFormOnDynamicAsync, TFormOnServer, TParentSubmitMeta>['form'];
344
+ /**
345
+ * The field name.
346
+ */
347
+ name: TName;
348
+ /**
349
+ * The field options.
350
+ */
351
+ options: FieldApiOptions<TParentData, TName, TData, TOnMount, TOnChange, TOnChangeAsync, TOnBlur, TOnBlurAsync, TOnSubmit, TOnSubmitAsync, TOnDynamic, TOnDynamicAsync, TFormOnMount, TFormOnChange, TFormOnChangeAsync, TFormOnBlur, TFormOnBlurAsync, TFormOnSubmit, TFormOnSubmitAsync, TFormOnDynamic, TFormOnDynamicAsync, TFormOnServer, TParentSubmitMeta>;
352
+ /**
353
+ * The field state store.
354
+ */
355
+ store: ReadonlyStore<FieldLikeState<TParentData, TName, TData, TOnMount, TOnChange, TOnChangeAsync, TOnBlur, TOnBlurAsync, TOnSubmit, TOnSubmitAsync, TOnDynamic, TOnDynamicAsync, TFormOnMount, TFormOnChange, TFormOnChangeAsync, TFormOnBlur, TFormOnBlurAsync, TFormOnSubmit, TFormOnSubmitAsync, TFormOnDynamic, TFormOnDynamicAsync>>;
356
+ /**
357
+ * The current field state.
358
+ */
359
+ get state(): FieldLikeState<TParentData, TName, TData, TOnMount, TOnChange, TOnChangeAsync, TOnBlur, TOnBlurAsync, TOnSubmit, TOnSubmitAsync, TOnDynamic, TOnDynamicAsync, TFormOnMount, TFormOnChange, TFormOnChangeAsync, TFormOnBlur, TFormOnBlurAsync, TFormOnSubmit, TFormOnSubmitAsync, TFormOnDynamic, TFormOnDynamicAsync>;
360
+ timeoutIds: {
361
+ validations: Record<ValidationCause, ReturnType<typeof setTimeout> | null>;
362
+ listeners: Record<ListenerCause, ReturnType<typeof setTimeout> | null>;
363
+ formListeners: Record<ListenerCause, ReturnType<typeof setTimeout> | null>;
364
+ };
365
+ /**
366
+ * Initializes a new `FieldApi` instance.
367
+ */
368
+ constructor(opts: FieldApiOptions<TParentData, TName, TData, TOnMount, TOnChange, TOnChangeAsync, TOnBlur, TOnBlurAsync, TOnSubmit, TOnSubmitAsync, TOnDynamic, TOnDynamicAsync, TFormOnMount, TFormOnChange, TFormOnChangeAsync, TFormOnBlur, TFormOnBlurAsync, TFormOnSubmit, TFormOnSubmitAsync, TFormOnDynamic, TFormOnDynamicAsync, TFormOnServer, TParentSubmitMeta>);
369
+ /**
370
+ * @private
371
+ */
372
+ runValidator<TValue extends TStandardSchemaValidatorValue<TData> & {
373
+ fieldApi: AnyFieldApi;
374
+ }, TType extends 'validate' | 'validateAsync'>(props: {
375
+ validate: TType extends 'validate' ? FieldValidateOrFn<any, any, any> : FieldAsyncValidateOrFn<any, any, any>;
376
+ value: TValue;
377
+ type: TType;
378
+ }): unknown;
379
+ /**
380
+ * Mounts the field instance to the form.
381
+ * @returns A function to unmount the field instance.
382
+ */
383
+ mount: () => () => void;
384
+ /**
385
+ * Updates the field instance with new options.
386
+ */
387
+ update: (opts: FieldApiOptions<TParentData, TName, TData, TOnMount, TOnChange, TOnChangeAsync, TOnBlur, TOnBlurAsync, TOnSubmit, TOnSubmitAsync, TOnDynamic, TOnDynamicAsync, TFormOnMount, TFormOnChange, TFormOnChangeAsync, TFormOnBlur, TFormOnBlurAsync, TFormOnSubmit, TFormOnSubmitAsync, TFormOnDynamic, TFormOnDynamicAsync, TFormOnServer, TParentSubmitMeta>) => void;
388
+ /**
389
+ * Gets the current field value.
390
+ * @deprecated Use `field.state.value` instead.
391
+ */
392
+ getValue: () => TData;
393
+ /**
394
+ * Sets the field value and run the `change` validator.
395
+ */
396
+ setValue: (updater: Updater<TData>, options?: UpdateMetaOptions) => void;
397
+ getMeta: () => FieldLikeMeta<TParentData, TName, TData, TOnMount, TOnChange, TOnChangeAsync, TOnBlur, TOnBlurAsync, TOnSubmit, TOnSubmitAsync, TOnDynamic, TOnDynamicAsync, TFormOnMount, TFormOnChange, TFormOnChangeAsync, TFormOnBlur, TFormOnBlurAsync, TFormOnSubmit, TFormOnSubmitAsync, TFormOnDynamic, TFormOnDynamicAsync>;
398
+ /**
399
+ * Sets the field metadata.
400
+ */
401
+ setMeta: (updater: Updater<FieldLikeMetaBase<TParentData, TName, TData, TOnMount, TOnChange, TOnChangeAsync, TOnBlur, TOnBlurAsync, TOnSubmit, TOnSubmitAsync, TOnDynamic, TOnDynamicAsync, TFormOnMount, TFormOnChange, TFormOnChangeAsync, TFormOnBlur, TFormOnBlurAsync, TFormOnSubmit, TFormOnSubmitAsync, TFormOnDynamic, TFormOnDynamicAsync>>) => void;
402
+ /**
403
+ * Gets the field information object.
404
+ */
405
+ getInfo: () => FieldInfo<TParentData>;
406
+ /**
407
+ * Pushes a new value to the field.
408
+ */
409
+ pushValue: (value: TData extends any[] ? TData[number] : never, options?: UpdateMetaOptions) => void;
410
+ /**
411
+ * Inserts a value at the specified index, shifting the subsequent values to the right.
412
+ */
413
+ insertValue: (index: number, value: TData extends any[] ? TData[number] : never, options?: UpdateMetaOptions) => void;
414
+ /**
415
+ * Replaces a value at the specified index.
416
+ */
417
+ replaceValue: (index: number, value: TData extends any[] ? TData[number] : never, options?: UpdateMetaOptions) => void;
418
+ /**
419
+ * Removes a value at the specified index.
420
+ */
421
+ removeValue: (index: number, options?: UpdateMetaOptions) => void;
422
+ /**
423
+ * Swaps the values at the specified indices.
424
+ */
425
+ swapValues: (aIndex: number, bIndex: number, options?: UpdateMetaOptions) => void;
426
+ /**
427
+ * Moves the value at the first specified index to the second specified index.
428
+ */
429
+ moveValue: (aIndex: number, bIndex: number, options?: UpdateMetaOptions) => void;
430
+ /**
431
+ * Clear all values from the array.
432
+ */
433
+ clearValues: (options?: UpdateMetaOptions) => void;
434
+ /**
435
+ * @private
436
+ */
437
+ getLinkedFields: (cause: ValidationCause) => AnyFieldApi[];
438
+ /**
439
+ * @private
440
+ */
441
+ validateSync: (cause: ValidationCause, errorFromForm: ValidationErrorMap) => {
442
+ hasErrored: boolean;
443
+ };
444
+ /**
445
+ * `@private`
446
+ * Starts tracking an async validation, incrementing the counter and setting isValidating if needed.
447
+ */
448
+ private startValidation;
449
+ /**
450
+ * `@private`
451
+ * Ends tracking an async validation, decrementing the counter and clearing isValidating if no validations remain.
452
+ */
453
+ private endValidation;
454
+ /**
455
+ * @private
456
+ */
457
+ validateAsync: (cause: ValidationCause, formValidationResultPromise: Promise<FieldErrorMapFromValidator<TParentData, TName, TData, TOnMount, TOnChange, TOnChangeAsync, TOnBlur, TOnBlurAsync, TOnSubmit, TOnSubmitAsync>>) => Promise<unknown[]>;
458
+ /**
459
+ * Validates the field value.
460
+ */
461
+ validate: (cause: ValidationCause, opts?: {
462
+ skipFormValidation?: boolean;
463
+ skipGroupValidation?: boolean;
464
+ }) => ValidationError[] | Promise<ValidationError[]>;
465
+ /**
466
+ * Handles the change event.
467
+ */
468
+ handleChange: (updater: Updater<TData>) => void;
469
+ /**
470
+ * Handles the blur event.
471
+ */
472
+ handleBlur: () => void;
473
+ /**
474
+ * Updates the field's errorMap
475
+ */
476
+ setErrorMap: (errorMap: ValidationErrorMap<UnwrapFieldValidateOrFn<TName, TOnMount, TFormOnMount>, UnwrapFieldValidateOrFn<TName, TOnChange, TFormOnChange>, UnwrapFieldAsyncValidateOrFn<TName, TOnChangeAsync, TFormOnChangeAsync>, UnwrapFieldValidateOrFn<TName, TOnBlur, TFormOnBlur>, UnwrapFieldAsyncValidateOrFn<TName, TOnBlurAsync, TFormOnBlurAsync>, UnwrapFieldValidateOrFn<TName, TOnSubmit, TFormOnSubmit>, UnwrapFieldAsyncValidateOrFn<TName, TOnSubmitAsync, TFormOnSubmitAsync>, UnwrapFieldValidateOrFn<TName, TOnDynamic, TFormOnDynamic>, UnwrapFieldAsyncValidateOrFn<TName, TOnDynamicAsync, TFormOnDynamicAsync>>) => void;
477
+ /**
478
+ * Parses the field's value with the given schema and returns
479
+ * issues (if any). This method does NOT set any internal errors.
480
+ * @param schema The standard schema to parse this field's value with.
481
+ */
482
+ parseValueWithSchema: (schema: StandardSchemaV1<TData, unknown>) => StandardSchemaV1Issue[] | undefined;
483
+ /**
484
+ * Parses the field's value with the given schema and returns
485
+ * issues (if any). This method does NOT set any internal errors.
486
+ * @param schema The standard schema to parse this field's value with.
487
+ */
488
+ parseValueWithSchemaAsync: (schema: StandardSchemaV1<TData, unknown>) => Promise<StandardSchemaV1Issue[] | undefined>;
489
+ private triggerOnBlurListener;
490
+ /**
491
+ * @private
492
+ */
493
+ triggerOnChangeListener: () => void;
494
+ /**
495
+ * @private
496
+ */
497
+ triggerOnSubmitListener: () => void;
498
+ }
499
+ //#endregion
500
+ //#region ../../node_modules/.pnpm/@tanstack+form-core@1.33.5/node_modules/@tanstack/form-core/dist/esm/ValidationLogic.d.ts
501
+ interface ValidationLogicValidatorsFn {
502
+ fn: FormValidators<any, any, any, any, any, any, any, any, any, any>[keyof FormValidators<any, any, any, any, any, any, any, any, any, any>];
503
+ cause: 'change' | 'blur' | 'submit' | 'mount' | 'server' | 'dynamic';
504
+ }
505
+ interface ValidationLogicProps {
506
+ form: AnyFormApi$1;
507
+ /**
508
+ * Set when the validators being processed belong to a `FormGroupApi`.
509
+ * Allows validation strategies (e.g. `revalidateLogic`) to gate their
510
+ * behavior on the group's own state instead of the parent form's.
511
+ */
512
+ group?: AnyFormGroupApi;
513
+ validators: FormValidators<any, any, any, any, any, any, any, any, any, any> | undefined | null;
514
+ event: {
515
+ type: 'blur' | 'change' | 'submit' | 'mount' | 'server';
516
+ fieldName?: string;
517
+ async: boolean;
518
+ };
519
+ runValidation: (props: {
520
+ validators: Array<ValidationLogicValidatorsFn | undefined>;
521
+ form: AnyFormApi$1;
522
+ }) => void;
523
+ }
524
+ type ValidationLogicFn = (props: ValidationLogicProps) => void;
525
+ //#endregion
526
+ //#region ../../node_modules/.pnpm/@tanstack+form-core@1.33.5/node_modules/@tanstack/form-core/dist/esm/FormGroupApi.d.ts
527
+ /**
528
+ * @private
529
+ */
530
+ type FormGroupValidateFn<TParentData, TName extends DeepKeys<TParentData>, TData extends DeepValue<TParentData, TName> = DeepValue<TParentData, TName>> = (props: {
531
+ value: TData;
532
+ groupApi: FormGroupApi<TParentData, TName, TData, any, any, any, any, any, any, any, any, any, any, any, any, any, any, any, any, any, any, any, any, any>;
533
+ }) => unknown;
534
+ /**
535
+ * @private
536
+ */
537
+ type FormGroupValidateOrFn<TParentData, TName extends DeepKeys<TParentData>, TData extends DeepValue<TParentData, TName> = DeepValue<TParentData, TName>> = FormGroupValidateFn<TParentData, TName, TData> | StandardSchemaV1<TData, unknown>;
538
+ /**
539
+ * @private
540
+ */
541
+ type FormGroupValidateAsyncFn<TParentData, TName extends DeepKeys<TParentData>, TData extends DeepValue<TParentData, TName> = DeepValue<TParentData, TName>> = (options: {
542
+ value: TData;
543
+ groupApi: FormGroupApi<TParentData, TName, TData, any, any, any, any, any, any, any, any, any, any, any, any, any, any, any, any, any, any, any, any, any>;
544
+ signal: AbortSignal;
545
+ }) => unknown | Promise<unknown>;
546
+ /**
547
+ * @private
548
+ */
549
+ type FormGroupAsyncValidateOrFn<TParentData, TName extends DeepKeys<TParentData>, TData extends DeepValue<TParentData, TName> = DeepValue<TParentData, TName>> = FormGroupValidateAsyncFn<TParentData, TName, TData> | StandardSchemaV1<TData, unknown>;
550
+ /**
551
+ * @private
552
+ */
553
+ type FormGroupListenerFn<TParentData, TName extends DeepKeys<TParentData>, TData extends DeepValue<TParentData, TName> = DeepValue<TParentData, TName>> = (props: {
554
+ value: TData;
555
+ groupApi: FormGroupApi<TParentData, TName, TData, any, any, any, any, any, any, any, any, any, any, any, any, any, any, any, any, any, any, any, any, any>;
556
+ }) => void;
557
+ interface FormGroupValidators<TParentData, TName extends DeepKeys<TParentData>, TData extends DeepValue<TParentData, TName>, TOnMount extends undefined | FormGroupValidateOrFn<TParentData, TName, TData>, TOnChange extends undefined | FormGroupValidateOrFn<TParentData, TName, TData>, TOnChangeAsync extends undefined | FormGroupAsyncValidateOrFn<TParentData, TName, TData>, TOnBlur extends undefined | FormGroupValidateOrFn<TParentData, TName, TData>, TOnBlurAsync extends undefined | FormGroupAsyncValidateOrFn<TParentData, TName, TData>, TOnSubmit extends undefined | FormGroupValidateOrFn<TParentData, TName, TData>, TOnSubmitAsync extends undefined | FormGroupAsyncValidateOrFn<TParentData, TName, TData>, TOnDynamic extends undefined | FormGroupValidateOrFn<TParentData, TName, TData>, TOnDynamicAsync extends undefined | FormGroupAsyncValidateOrFn<TParentData, TName, TData>> {
558
+ /**
559
+ * An optional function, that runs on the mount event of input.
560
+ */
561
+ onMount?: TOnMount;
562
+ /**
563
+ * An optional function, that runs on the change event of input.
564
+ *
565
+ * @example z.string().min(1)
566
+ */
567
+ onChange?: TOnChange;
568
+ /**
569
+ * An optional property similar to `onChange` but async validation
570
+ *
571
+ * @example z.string().refine(async (val) => val.length > 3, { message: 'Testing 123' })
572
+ */
573
+ onChangeAsync?: TOnChangeAsync;
574
+ /**
575
+ * An optional number to represent how long the `onChangeAsync` should wait before running
576
+ *
577
+ * If set to a number larger than 0, will debounce the async validation event by this length of time in milliseconds
578
+ */
579
+ onChangeAsyncDebounceMs?: number;
580
+ /**
581
+ * An optional list of field names that should trigger this field's `onChange` and `onChangeAsync` events when its value changes
582
+ */
583
+ /**
584
+ * An optional function, that runs on the blur event of input.
585
+ *
586
+ * @example z.string().min(1)
587
+ */
588
+ onBlur?: TOnBlur;
589
+ /**
590
+ * An optional property similar to `onBlur` but async validation.
591
+ *
592
+ * @example z.string().refine(async (val) => val.length > 3, { message: 'Testing 123' })
593
+ */
594
+ onBlurAsync?: TOnBlurAsync;
595
+ /**
596
+ * An optional number to represent how long the `onBlurAsync` should wait before running
597
+ *
598
+ * If set to a number larger than 0, will debounce the async validation event by this length of time in milliseconds
599
+ */
600
+ onBlurAsyncDebounceMs?: number;
601
+ /**
602
+ * An optional list of field names that should trigger this field's `onBlur` and `onBlurAsync` events when its value changes
603
+ */
604
+ /**
605
+ * An optional function, that runs on the submit event of form.
606
+ *
607
+ * @example z.string().min(1)
608
+ */
609
+ onSubmit?: TOnSubmit;
610
+ /**
611
+ * An optional property similar to `onSubmit` but async validation.
612
+ *
613
+ * @example z.string().refine(async (val) => val.length > 3, { message: 'Testing 123' })
614
+ */
615
+ onSubmitAsync?: TOnSubmitAsync;
616
+ onDynamic?: TOnDynamic;
617
+ onDynamicAsync?: TOnDynamicAsync;
618
+ onDynamicAsyncDebounceMs?: number;
619
+ }
620
+ interface FormGroupListeners<TParentData, TName extends DeepKeys<TParentData>, TData extends DeepValue<TParentData, TName> = DeepValue<TParentData, TName>> {
621
+ onChange?: FormGroupListenerFn<TParentData, TName, TData>;
622
+ onChangeDebounceMs?: number;
623
+ onBlur?: FormGroupListenerFn<TParentData, TName, TData>;
624
+ onBlurDebounceMs?: number;
625
+ onMount?: FormGroupListenerFn<TParentData, TName, TData>;
626
+ onUnmount?: FormGroupListenerFn<TParentData, TName, TData>;
627
+ onSubmit?: FormGroupListenerFn<TParentData, TName, TData>;
628
+ onGroupSubmit?: FormGroupListenerFn<TParentData, TName, TData>;
629
+ }
630
+ interface FormGroupExtraOptions<in out TParentData, in out TName extends DeepKeys<TParentData>, in out TData extends DeepValue<TParentData, TName>, in out TOnMount extends undefined | FormGroupValidateOrFn<TParentData, TName, TData>, in out TOnChange extends undefined | FormGroupValidateOrFn<TParentData, TName, TData>, in out TOnChangeAsync extends undefined | FormGroupAsyncValidateOrFn<TParentData, TName, TData>, in out TOnBlur extends undefined | FormGroupValidateOrFn<TParentData, TName, TData>, in out TOnBlurAsync extends undefined | FormGroupAsyncValidateOrFn<TParentData, TName, TData>, in out TOnSubmit extends undefined | FormGroupValidateOrFn<TParentData, TName, TData>, in out TOnSubmitAsync extends undefined | FormGroupAsyncValidateOrFn<TParentData, TName, TData>, in out TOnDynamic extends undefined | FormGroupValidateOrFn<TParentData, TName, TData>, in out TOnDynamicAsync extends undefined | FormGroupAsyncValidateOrFn<TParentData, TName, TData>, in out TSubmitMeta, in out TFormOnMount extends undefined | FormValidateOrFn<TParentData>, in out TFormOnChange extends undefined | FormValidateOrFn<TParentData>, in out TFormOnChangeAsync extends undefined | FormAsyncValidateOrFn<TParentData>, in out TFormOnBlur extends undefined | FormValidateOrFn<TParentData>, in out TFormOnBlurAsync extends undefined | FormAsyncValidateOrFn<TParentData>, in out TFormOnSubmit extends undefined | FormValidateOrFn<TParentData>, in out TFormOnSubmitAsync extends undefined | FormAsyncValidateOrFn<TParentData>, in out TFormOnDynamic extends undefined | FormValidateOrFn<TParentData>, in out TFormOnDynamicAsync extends undefined | FormAsyncValidateOrFn<TParentData>, in out TFormOnServer extends undefined | FormAsyncValidateOrFn<TParentData>, in out TParentSubmitMeta> {
631
+ /**
632
+ * A list of validators to pass to the field
633
+ */
634
+ validators?: FormGroupValidators<TParentData, TName, TData, TOnMount, TOnChange, TOnChangeAsync, TOnBlur, TOnBlurAsync, TOnSubmit, TOnSubmitAsync, TOnDynamic, TOnDynamicAsync>;
635
+ /**
636
+ * If true, allows the form to be submitted in an invalid state i.e. canSubmit will remain true regardless of validation errors. Defaults to undefined.
637
+ */
638
+ canSubmitWhenInvalid?: boolean;
639
+ /**
640
+ * A list of listeners which attach to the corresponding events
641
+ */
642
+ listeners?: FormGroupListeners<TParentData, TName, TData>;
643
+ defaultState?: FormGroupState;
644
+ /**
645
+ * Optional validation logic strategy to use for this group's own
646
+ * validators (e.g. `revalidateLogic()`). When omitted, the parent form's
647
+ * `validationLogic` (or the default) is used.
648
+ */
649
+ validationLogic?: ValidationLogicFn;
650
+ /**
651
+ * onSubmitMeta, the data passed from the handleSubmit handler, to the onSubmit function props
652
+ */
653
+ onSubmitMeta?: TSubmitMeta;
654
+ /**
655
+ * A function to be called when the form is submitted, what should happen once the user submits a valid form returns `any` or a promise `Promise<any>`
656
+ */
657
+ onGroupSubmit?: (props: {
658
+ value: TData;
659
+ groupApi: FormGroupApi<TParentData, TName, TData, TOnMount, TOnChange, TOnChangeAsync, TOnBlur, TOnBlurAsync, TOnSubmit, TOnSubmitAsync, TOnDynamic, TOnDynamicAsync, TSubmitMeta, TFormOnMount, TFormOnChange, TFormOnChangeAsync, TFormOnBlur, TFormOnBlurAsync, TFormOnSubmit, TFormOnSubmitAsync, TFormOnDynamic, TFormOnDynamicAsync, TFormOnServer, TParentSubmitMeta>;
660
+ meta: TSubmitMeta;
661
+ }) => any | Promise<any>;
662
+ /**
663
+ * Specify an action for scenarios where the user tries to submit an invalid form.
664
+ */
665
+ onGroupSubmitInvalid?: (props: {
666
+ value: TData;
667
+ groupApi: FormGroupApi<TParentData, TName, TData, TOnMount, TOnChange, TOnChangeAsync, TOnBlur, TOnBlurAsync, TOnSubmit, TOnSubmitAsync, TOnDynamic, TOnDynamicAsync, TSubmitMeta, TFormOnMount, TFormOnChange, TFormOnChangeAsync, TFormOnBlur, TFormOnBlurAsync, TFormOnSubmit, TFormOnSubmitAsync, TFormOnDynamic, TFormOnDynamicAsync, TFormOnServer, TParentSubmitMeta>;
668
+ meta: TSubmitMeta;
669
+ }) => void;
670
+ }
671
+ interface FormGroupOptions<in out TParentData, in out TName extends DeepKeys<TParentData>, in out TData extends DeepValue<TParentData, TName>, in out TOnMount extends undefined | FormGroupValidateOrFn<TParentData, TName, TData>, in out TOnChange extends undefined | FormGroupValidateOrFn<TParentData, TName, TData>, in out TOnChangeAsync extends undefined | FormGroupAsyncValidateOrFn<TParentData, TName, TData>, in out TOnBlur extends undefined | FormGroupValidateOrFn<TParentData, TName, TData>, in out TOnBlurAsync extends undefined | FormGroupAsyncValidateOrFn<TParentData, TName, TData>, in out TOnSubmit extends undefined | FormGroupValidateOrFn<TParentData, TName, TData>, in out TOnSubmitAsync extends undefined | FormGroupAsyncValidateOrFn<TParentData, TName, TData>, in out TOnDynamic extends undefined | FormGroupValidateOrFn<TParentData, TName, TData>, in out TOnDynamicAsync extends undefined | FormGroupAsyncValidateOrFn<TParentData, TName, TData>, in out TSubmitMeta, in out TFormOnMount extends undefined | FormValidateOrFn<TParentData>, in out TFormOnChange extends undefined | FormValidateOrFn<TParentData>, in out TFormOnChangeAsync extends undefined | FormAsyncValidateOrFn<TParentData>, in out TFormOnBlur extends undefined | FormValidateOrFn<TParentData>, in out TFormOnBlurAsync extends undefined | FormAsyncValidateOrFn<TParentData>, in out TFormOnSubmit extends undefined | FormValidateOrFn<TParentData>, in out TFormOnSubmitAsync extends undefined | FormAsyncValidateOrFn<TParentData>, in out TFormOnDynamic extends undefined | FormValidateOrFn<TParentData>, in out TFormOnDynamicAsync extends undefined | FormAsyncValidateOrFn<TParentData>, in out TFormOnServer extends undefined | FormAsyncValidateOrFn<TParentData>, in out TParentSubmitMeta> extends FieldLikeOptions<TParentData, TName, TData, TOnMount, TOnChange, TOnChangeAsync, TOnBlur, TOnBlurAsync, TOnSubmit, TOnSubmitAsync, TOnDynamic, TOnDynamicAsync>, FormGroupExtraOptions<TParentData, TName, TData, TOnMount, TOnChange, TOnChangeAsync, TOnBlur, TOnBlurAsync, TOnSubmit, TOnSubmitAsync, TOnDynamic, TOnDynamicAsync, TSubmitMeta, TFormOnMount, TFormOnChange, TFormOnChangeAsync, TFormOnBlur, TFormOnBlurAsync, TFormOnSubmit, TFormOnSubmitAsync, TFormOnDynamic, TFormOnDynamicAsync, TFormOnServer, TParentSubmitMeta> {}
672
+ interface FormGroupApiOptions<in out TParentData, in out TName extends DeepKeys<TParentData>, in out TData extends DeepValue<TParentData, TName>, in out TOnMount extends undefined | FormGroupValidateOrFn<TParentData, TName, TData>, in out TOnChange extends undefined | FormGroupValidateOrFn<TParentData, TName, TData>, in out TOnChangeAsync extends undefined | FormGroupAsyncValidateOrFn<TParentData, TName, TData>, in out TOnBlur extends undefined | FormGroupValidateOrFn<TParentData, TName, TData>, in out TOnBlurAsync extends undefined | FormGroupAsyncValidateOrFn<TParentData, TName, TData>, in out TOnSubmit extends undefined | FormGroupValidateOrFn<TParentData, TName, TData>, in out TOnSubmitAsync extends undefined | FormGroupAsyncValidateOrFn<TParentData, TName, TData>, in out TOnDynamic extends undefined | FormGroupValidateOrFn<TParentData, TName, TData>, in out TOnDynamicAsync extends undefined | FormGroupAsyncValidateOrFn<TParentData, TName, TData>, in out TSubmitMeta, in out TFormOnMount extends undefined | FormValidateOrFn<TParentData>, in out TFormOnChange extends undefined | FormValidateOrFn<TParentData>, in out TFormOnChangeAsync extends undefined | FormAsyncValidateOrFn<TParentData>, in out TFormOnBlur extends undefined | FormValidateOrFn<TParentData>, in out TFormOnBlurAsync extends undefined | FormAsyncValidateOrFn<TParentData>, in out TFormOnSubmit extends undefined | FormValidateOrFn<TParentData>, in out TFormOnSubmitAsync extends undefined | FormAsyncValidateOrFn<TParentData>, in out TFormOnDynamic extends undefined | FormValidateOrFn<TParentData>, in out TFormOnDynamicAsync extends undefined | FormAsyncValidateOrFn<TParentData>, in out TFormOnServer extends undefined | FormAsyncValidateOrFn<TParentData>, in out TParentSubmitMeta> extends FormGroupOptions<TParentData, TName, TData, TOnMount, TOnChange, TOnChangeAsync, TOnBlur, TOnBlurAsync, TOnSubmit, TOnSubmitAsync, TOnDynamic, TOnDynamicAsync, TSubmitMeta, TFormOnMount, TFormOnChange, TFormOnChangeAsync, TFormOnBlur, TFormOnBlurAsync, TFormOnSubmit, TFormOnSubmitAsync, TFormOnDynamic, TFormOnDynamicAsync, TFormOnServer, TParentSubmitMeta> {
673
+ form: FormApi<TParentData, TFormOnMount, TFormOnChange, TFormOnChangeAsync, TFormOnBlur, TFormOnBlurAsync, TFormOnSubmit, TFormOnSubmitAsync, TFormOnDynamic, TFormOnDynamicAsync, TFormOnServer, TParentSubmitMeta>;
674
+ }
675
+ interface FormGroupState {
676
+ /**
677
+ * A boolean indicating if the form is currently in the process of being submitted after `handleSubmit` is called.
678
+ *
679
+ * Goes back to `false` when submission completes for one of the following reasons:
680
+ * - the validation step returned errors.
681
+ * - the `onSubmit` function has completed.
682
+ *
683
+ * Note: if you're running async operations in your `onSubmit` function make sure to await them to ensure `isSubmitting` is set to `false` only when the async operation completes.
684
+ *
685
+ * This is useful for displaying loading indicators or disabling form inputs during submission.
686
+ *
687
+ */
688
+ isSubmitting: boolean;
689
+ /**
690
+ * A boolean indicating if the `onSubmit` function has completed successfully.
691
+ *
692
+ * Goes back to `false` at each new submission attempt.
693
+ *
694
+ * Note: you can use isSubmitting to check if the form is currently submitting.
695
+ */
696
+ isSubmitted: boolean;
697
+ /**
698
+ * A boolean indicating if the form or any of its fields are currently validating.
699
+ */
700
+ isValidating: boolean;
701
+ /**
702
+ * A counter for tracking the number of submission attempts.
703
+ */
704
+ submissionAttempts: number;
705
+ /**
706
+ * A boolean indicating if the last submission was successful.
707
+ */
708
+ isSubmitSuccessful: boolean;
709
+ }
710
+ /**
711
+ * @public
712
+ *
713
+ * A type representing the FormGroup API with all generics set to `any` for convenience.
714
+ */
715
+ type AnyFormGroupApi = FormGroupApi<any, any, any, any, any, any, any, any, any, any, any, any, any, any, any, any, any, any, any, any, any, any, any, any>;
716
+ /**
717
+ * @public
718
+ *
719
+ * The `meta` shape exposed on `FormGroupApi.state.meta`. Mirrors
720
+ * `FieldApi.state.meta` (since `FormGroupMeta extends FieldLikeMeta`) but
721
+ * additionally surfaces the group's submission lifecycle and aggregated
722
+ * validity flags. All derivation lives on the parent `FormApi` (in
723
+ * `formGroupMetaDerived`), keeping per-instance `FormGroupApi.store` as
724
+ * minimal as `FieldApi.store`.
725
+ *
726
+ * Aggregated booleans (`isTouched`, `isBlurred`, `isDirty`, `isPristine`,
727
+ * `isDefaultValue`) are computed across the group's descendant fields
728
+ * rather than the group's own field-meta entry.
729
+ */
730
+ interface FormGroupMeta<in out TParentData, in out TName extends DeepKeys<TParentData>, in out TData extends DeepValue<TParentData, TName>, in out TOnMount extends undefined | FormGroupValidateOrFn<TParentData, TName, TData>, in out TOnChange extends undefined | FormGroupValidateOrFn<TParentData, TName, TData>, in out TOnChangeAsync extends undefined | FormGroupAsyncValidateOrFn<TParentData, TName, TData>, in out TOnBlur extends undefined | FormGroupValidateOrFn<TParentData, TName, TData>, in out TOnBlurAsync extends undefined | FormGroupAsyncValidateOrFn<TParentData, TName, TData>, in out TOnSubmit extends undefined | FormGroupValidateOrFn<TParentData, TName, TData>, in out TOnSubmitAsync extends undefined | FormGroupAsyncValidateOrFn<TParentData, TName, TData>, in out TOnDynamic extends undefined | FormGroupValidateOrFn<TParentData, TName, TData>, in out TOnDynamicAsync extends undefined | FormGroupAsyncValidateOrFn<TParentData, TName, TData>, in out TFormOnMount extends undefined | FormValidateOrFn<TParentData>, in out TFormOnChange extends undefined | FormValidateOrFn<TParentData>, in out TFormOnChangeAsync extends undefined | FormAsyncValidateOrFn<TParentData>, in out TFormOnBlur extends undefined | FormValidateOrFn<TParentData>, in out TFormOnBlurAsync extends undefined | FormAsyncValidateOrFn<TParentData>, in out TFormOnSubmit extends undefined | FormValidateOrFn<TParentData>, in out TFormOnSubmitAsync extends undefined | FormAsyncValidateOrFn<TParentData>, in out TFormOnDynamic extends undefined | FormValidateOrFn<TParentData>, in out TFormOnDynamicAsync extends undefined | FormAsyncValidateOrFn<TParentData>> extends FieldLikeMeta<TParentData, TName, TData, TOnMount, TOnChange, TOnChangeAsync, TOnBlur, TOnBlurAsync, TOnSubmit, TOnSubmitAsync, TOnDynamic, TOnDynamicAsync, TFormOnMount, TFormOnChange, TFormOnChangeAsync, TFormOnBlur, TFormOnBlurAsync, TFormOnSubmit, TFormOnSubmitAsync, TFormOnDynamic, TFormOnDynamicAsync>, FormGroupState {
731
+ isFieldsValidating: boolean;
732
+ isFieldsValid: boolean;
733
+ isGroupValid: boolean;
734
+ isValid: boolean;
735
+ canSubmit: boolean;
736
+ }
737
+ /**
738
+ * @public
739
+ *
740
+ * `FormGroupMeta` with all generics widened to `any`.
741
+ */
742
+ type AnyFormGroupMeta = FormGroupMeta<any, any, any, any, any, any, any, any, any, any, any, any, any, any, any, any, any, any, any, any, any>;
743
+ interface FormGroupStoreState<in out TParentData, in out TName extends DeepKeys<TParentData>, in out TData extends DeepValue<TParentData, TName>, in out TOnMount extends undefined | FormGroupValidateOrFn<TParentData, TName, TData>, in out TOnChange extends undefined | FormGroupValidateOrFn<TParentData, TName, TData>, in out TOnChangeAsync extends undefined | FormGroupAsyncValidateOrFn<TParentData, TName, TData>, in out TOnBlur extends undefined | FormGroupValidateOrFn<TParentData, TName, TData>, in out TOnBlurAsync extends undefined | FormGroupAsyncValidateOrFn<TParentData, TName, TData>, in out TOnSubmit extends undefined | FormGroupValidateOrFn<TParentData, TName, TData>, in out TOnSubmitAsync extends undefined | FormGroupAsyncValidateOrFn<TParentData, TName, TData>, in out TOnDynamic extends undefined | FormGroupValidateOrFn<TParentData, TName, TData>, in out TOnDynamicAsync extends undefined | FormGroupAsyncValidateOrFn<TParentData, TName, TData>, in out TFormOnMount extends undefined | FormValidateOrFn<TParentData>, in out TFormOnChange extends undefined | FormValidateOrFn<TParentData>, in out TFormOnChangeAsync extends undefined | FormAsyncValidateOrFn<TParentData>, in out TFormOnBlur extends undefined | FormValidateOrFn<TParentData>, in out TFormOnBlurAsync extends undefined | FormAsyncValidateOrFn<TParentData>, in out TFormOnSubmit extends undefined | FormValidateOrFn<TParentData>, in out TFormOnSubmitAsync extends undefined | FormAsyncValidateOrFn<TParentData>, in out TFormOnDynamic extends undefined | FormValidateOrFn<TParentData>, in out TFormOnDynamicAsync extends undefined | FormAsyncValidateOrFn<TParentData>> {
744
+ /**
745
+ * The current value of the form group.
746
+ */
747
+ value: TData;
748
+ /**
749
+ * The current metadata of the form group, including aggregated validity,
750
+ * group-level errors, and submission lifecycle.
751
+ */
752
+ meta: FormGroupMeta<TParentData, TName, TData, TOnMount, TOnChange, TOnChangeAsync, TOnBlur, TOnBlurAsync, TOnSubmit, TOnSubmitAsync, TOnDynamic, TOnDynamicAsync, TFormOnMount, TFormOnChange, TFormOnChangeAsync, TFormOnBlur, TFormOnBlurAsync, TFormOnSubmit, TFormOnSubmitAsync, TFormOnDynamic, TFormOnDynamicAsync>;
753
+ }
754
+ declare class FormGroupApi<in out TParentData, in out TName extends DeepKeys<TParentData>, in out TData extends DeepValue<TParentData, TName>, in out TOnMount extends undefined | FormGroupValidateOrFn<TParentData, TName, TData>, in out TOnChange extends undefined | FormGroupValidateOrFn<TParentData, TName, TData>, in out TOnChangeAsync extends undefined | FormGroupAsyncValidateOrFn<TParentData, TName, TData>, in out TOnBlur extends undefined | FormGroupValidateOrFn<TParentData, TName, TData>, in out TOnBlurAsync extends undefined | FormGroupAsyncValidateOrFn<TParentData, TName, TData>, in out TOnSubmit extends undefined | FormGroupValidateOrFn<TParentData, TName, TData>, in out TOnSubmitAsync extends undefined | FormGroupAsyncValidateOrFn<TParentData, TName, TData>, in out TOnDynamic extends undefined | FormGroupValidateOrFn<TParentData, TName, TData>, in out TOnDynamicAsync extends undefined | FormGroupAsyncValidateOrFn<TParentData, TName, TData>, in out TSubmitMeta, in out TFormOnMount extends undefined | FormValidateOrFn<TParentData>, in out TFormOnChange extends undefined | FormValidateOrFn<TParentData>, in out TFormOnChangeAsync extends undefined | FormAsyncValidateOrFn<TParentData>, in out TFormOnBlur extends undefined | FormValidateOrFn<TParentData>, in out TFormOnBlurAsync extends undefined | FormAsyncValidateOrFn<TParentData>, in out TFormOnSubmit extends undefined | FormValidateOrFn<TParentData>, in out TFormOnSubmitAsync extends undefined | FormAsyncValidateOrFn<TParentData>, in out TFormOnDynamic extends undefined | FormValidateOrFn<TParentData>, in out TFormOnDynamicAsync extends undefined | FormAsyncValidateOrFn<TParentData>, in out TFormOnServer extends undefined | FormAsyncValidateOrFn<TParentData>, in out TParentSubmitMeta> implements FormLikeAPI<TParentData, TSubmitMeta>, FieldLikeAPI<TParentData, TName, TData, TOnMount, TOnChange, TOnChangeAsync, TOnBlur, TOnBlurAsync, TOnSubmit, TOnSubmitAsync, TOnDynamic, TOnDynamicAsync, TFormOnMount, TFormOnChange, TFormOnChangeAsync, TFormOnBlur, TFormOnBlurAsync, TFormOnSubmit, TFormOnSubmitAsync, TFormOnDynamic, TFormOnDynamicAsync, TFormOnServer, TParentSubmitMeta, FormGroupExtraOptions<TParentData, TName, TData, TOnMount, TOnChange, TOnChangeAsync, TOnBlur, TOnBlurAsync, TOnSubmit, TOnSubmitAsync, TOnDynamic, TOnDynamicAsync, TSubmitMeta, TFormOnMount, TFormOnChange, TFormOnChangeAsync, TFormOnBlur, TFormOnBlurAsync, TFormOnSubmit, TFormOnSubmitAsync, TFormOnDynamic, TFormOnDynamicAsync, TFormOnServer, TParentSubmitMeta>> {
755
+ /**
756
+ * A reference to the form API instance.
757
+ */
758
+ form: FormGroupApiOptions<TParentData, TName, TData, TOnMount, TOnChange, TOnChangeAsync, TOnBlur, TOnBlurAsync, TOnSubmit, TOnSubmitAsync, TOnDynamic, TOnDynamicAsync, TSubmitMeta, TFormOnMount, TFormOnChange, TFormOnChangeAsync, TFormOnBlur, TFormOnBlurAsync, TFormOnSubmit, TFormOnSubmitAsync, TFormOnDynamic, TFormOnDynamicAsync, TFormOnServer, TParentSubmitMeta>['form'];
759
+ /**
760
+ * The field name.
761
+ */
762
+ name: TName;
763
+ /**
764
+ * The field options.
765
+ */
766
+ options: FormGroupApiOptions<TParentData, TName, TData, TOnMount, TOnChange, TOnChangeAsync, TOnBlur, TOnBlurAsync, TOnSubmit, TOnSubmitAsync, TOnDynamic, TOnDynamicAsync, TSubmitMeta, TFormOnMount, TFormOnChange, TFormOnChangeAsync, TFormOnBlur, TFormOnBlurAsync, TFormOnSubmit, TFormOnSubmitAsync, TFormOnDynamic, TFormOnDynamicAsync, TFormOnServer, TParentSubmitMeta>;
767
+ /**
768
+ * The field state store.
769
+ */
770
+ store: ReadonlyStore<FormGroupStoreState<TParentData, TName, TData, TOnMount, TOnChange, TOnChangeAsync, TOnBlur, TOnBlurAsync, TOnSubmit, TOnSubmitAsync, TOnDynamic, TOnDynamicAsync, TFormOnMount, TFormOnChange, TFormOnChangeAsync, TFormOnBlur, TFormOnBlurAsync, TFormOnSubmit, TFormOnSubmitAsync, TFormOnDynamic, TFormOnDynamicAsync>>;
771
+ /**
772
+ * The current field state.
773
+ */
774
+ get state(): FormGroupStoreState<TParentData, TName, TData, TOnMount, TOnChange, TOnChangeAsync, TOnBlur, TOnBlurAsync, TOnSubmit, TOnSubmitAsync, TOnDynamic, TOnDynamicAsync, TFormOnMount, TFormOnChange, TFormOnChangeAsync, TFormOnBlur, TFormOnBlurAsync, TFormOnSubmit, TFormOnSubmitAsync, TFormOnDynamic, TFormOnDynamicAsync>;
775
+ /**
776
+ * @private
777
+ *
778
+ * Updates this group's submission lifecycle state on the parent form's
779
+ * `baseStore` (where group state is now persisted), preserving entries
780
+ * for any other mounted groups. After writing, the form's
781
+ * `formGroupMetaDerived` re-derives so this group's `state.meta` picks
782
+ * up the new lifecycle values automatically.
783
+ */
784
+ private setFormGroupState;
785
+ timeoutIds: {
786
+ validations: Record<ValidationCause, ReturnType<typeof setTimeout> | null>;
787
+ listeners: Record<ListenerCause, ReturnType<typeof setTimeout> | null>;
788
+ formListeners: Record<ListenerCause, ReturnType<typeof setTimeout> | null>;
789
+ };
790
+ /**
791
+ * @private
792
+ *
793
+ * Tracks the set of fully-qualified child field names that this group's
794
+ * validators last set form-source errors on, keyed by `errorMap` key.
795
+ * Used to clear stale group-level field errors on subsequent runs without
796
+ * trampling errors set by the parent form's validators.
797
+ */
798
+ private _lastDistributedFieldNames;
799
+ private fieldInfo;
800
+ constructor(opts: FormGroupApiOptions<TParentData, TName, TData, TOnMount, TOnChange, TOnChangeAsync, TOnBlur, TOnBlurAsync, TOnSubmit, TOnSubmitAsync, TOnDynamic, TOnDynamicAsync, TSubmitMeta, TFormOnMount, TFormOnChange, TFormOnChangeAsync, TFormOnBlur, TFormOnBlurAsync, TFormOnSubmit, TFormOnSubmitAsync, TFormOnDynamic, TFormOnDynamicAsync, TFormOnServer, TParentSubmitMeta>);
801
+ /**
802
+ * Updates the field instance with new options.
803
+ */
804
+ update: (opts: FormGroupApiOptions<TParentData, TName, TData, TOnMount, TOnChange, TOnChangeAsync, TOnBlur, TOnBlurAsync, TOnSubmit, TOnSubmitAsync, TOnDynamic, TOnDynamicAsync, TSubmitMeta, TFormOnMount, TFormOnChange, TFormOnChangeAsync, TFormOnBlur, TFormOnBlurAsync, TFormOnSubmit, TFormOnSubmitAsync, TFormOnDynamic, TFormOnDynamicAsync, TFormOnServer, TParentSubmitMeta>) => void;
805
+ /**
806
+ * @private
807
+ */
808
+ runValidator<TValue extends TStandardSchemaValidatorValue<TData> & {
809
+ groupApi: AnyFormGroupApi;
810
+ }, TType extends 'validate' | 'validateAsync'>(props: {
811
+ validate: TType extends 'validate' ? FormGroupValidateOrFn<any, any, any> : FormGroupAsyncValidateOrFn<any, any, any>;
812
+ value: TValue;
813
+ type: TType;
814
+ }): unknown;
815
+ mount: () => () => void;
816
+ /**
817
+ * Sets the field value and run the `change` validator.
818
+ */
819
+ setValue: (updater: Updater<TData>, options?: UpdateMetaOptions) => void;
820
+ getMeta: () => FormGroupMeta<TParentData, TName, TData, TOnMount, TOnChange, TOnChangeAsync, TOnBlur, TOnBlurAsync, TOnSubmit, TOnSubmitAsync, TOnDynamic, TOnDynamicAsync, TFormOnMount, TFormOnChange, TFormOnChangeAsync, TFormOnBlur, TFormOnBlurAsync, TFormOnSubmit, TFormOnSubmitAsync, TFormOnDynamic, TFormOnDynamicAsync>;
821
+ /**
822
+ * Sets the field metadata.
823
+ */
824
+ setMeta: (updater: Updater<FieldLikeMetaBase<TParentData, TName, TData, TOnMount, TOnChange, TOnChangeAsync, TOnBlur, TOnBlurAsync, TOnSubmit, TOnSubmitAsync, TOnDynamic, TOnDynamicAsync, TFormOnMount, TFormOnChange, TFormOnChangeAsync, TFormOnBlur, TFormOnBlurAsync, TFormOnSubmit, TFormOnSubmitAsync, TFormOnDynamic, TFormOnDynamicAsync>>) => void;
825
+ /**
826
+ * Gets the field information object.
827
+ */
828
+ getInfo: () => FieldInfo<TParentData>;
829
+ /**
830
+ * @private
831
+ */
832
+ getRelatedFields: () => AnyFieldApi[];
833
+ /**
834
+ * @private
835
+ */
836
+ getRelatedFieldMetasDerived: () => (FieldLikeMetaBase<any, any, any, any, any, any, any, any, any, any, any, any, any, any, any, any, any, any, any, any, any> & FieldLikeMetaDerived<any, any, any, any, any, any, any, any, any, any, any, any, any, any, any, any, any, any, any, any, any> & {
837
+ name: string;
838
+ })[];
839
+ /**
840
+ * @private
841
+ *
842
+ * Builds a fully-qualified field name from a path that is relative to this
843
+ * group, supporting both dot (`name`, `nested.value`) and bracket
844
+ * (`[0].name`) notation.
845
+ */
846
+ private buildChildFieldName;
847
+ /**
848
+ * @private
849
+ *
850
+ * Distributes a `{ fields: { ... } }` payload returned by one of this
851
+ * group's own validators onto the corresponding child fields. Tracks
852
+ * which fields have been touched so subsequent runs can clear stale
853
+ * errors without trampling errors set by the parent form's validators.
854
+ */
855
+ private distributeFieldErrors;
856
+ /**
857
+ * @private
858
+ */
859
+ validateSync: (cause: ValidationCause, errorFromForm: ValidationErrorMap, opts?: {
860
+ skipRelatedFieldValidation?: boolean;
861
+ }) => {
862
+ hasErrored: boolean;
863
+ };
864
+ /**
865
+ * @private
866
+ */
867
+ validateAsync: (cause: ValidationCause, formValidationResultPromise: Promise<FieldErrorMapFromValidator<TParentData, TName, TData, TOnMount, TOnChange, TOnChangeAsync, TOnBlur, TOnBlurAsync, TOnSubmit, TOnSubmitAsync>>, opts?: {
868
+ skipRelatedFieldValidation?: boolean;
869
+ }) => Promise<unknown[]>;
870
+ /**
871
+ * Validates all fields according to the FIELD level validators.
872
+ * This will ignore FORM level validators, use form.validate({ValidationCause}) for a complete validation
873
+ */
874
+ validateAllFields: (cause: ValidationCause) => Promise<unknown[]>;
875
+ validateArrayFieldsStartingFrom: <TField extends DeepKeysOfType<TParentData, any[]>>(field: TField, index: number, cause: ValidationCause) => Promise<unknown[]>;
876
+ validateField: <TField extends DeepKeysOfType<TParentData, any>>(field: TField, cause: ValidationCause) => any[] | Promise<any[]>;
877
+ getFieldValue: <TField extends DeepKeysOfType<TParentData, any>>(field: TField) => DeepValue<TParentData, TField>;
878
+ getFieldMeta: <TField extends DeepKeysOfType<TParentData, any>>(field: TField) => AnyFieldLikeMeta | undefined;
879
+ setFieldMeta: <TField extends DeepKeysOfType<TParentData, any>>(field: TField, updater: Updater<AnyFieldLikeMetaBase>) => void;
880
+ setFieldValue: <TField extends DeepKeysOfType<TParentData, any>>(field: TField, value: any) => void;
881
+ deleteField: <TField extends DeepKeysOfType<TParentData, any>>(field: TField) => void;
882
+ pushFieldValue: <TField extends DeepKeysOfType<TParentData, any[]>>(field: TField, value: any) => void;
883
+ insertFieldValue: <TField extends DeepKeysOfType<TParentData, any[]>>(field: TField, index: number, value: any) => Promise<void>;
884
+ replaceFieldValue: <TField extends DeepKeysOfType<TParentData, any[]>>(field: TField, index: number, value: any) => Promise<void>;
885
+ swapFieldValues: <TField extends DeepKeysOfType<TParentData, any[]>>(field: TField, index1: number, index2: number) => void;
886
+ moveFieldValues: <TField extends DeepKeysOfType<TParentData, any[]>>(field: TField, fromIndex: number, toIndex: number) => void;
887
+ clearFieldValues: <TField extends DeepKeysOfType<TParentData, any[]>>(field: TField) => void;
888
+ resetField: <TField extends DeepKeysOfType<TParentData, any>>(field: TField) => void;
889
+ removeFieldValue: <TField extends DeepKeysOfType<TParentData, any[]>>(field: TField, index: number) => Promise<void>;
890
+ areRelatedFieldsValid: () => boolean;
891
+ /**
892
+ * Validates the form group and all related children.
893
+ */
894
+ validate: (cause: ValidationCause, opts?: {
895
+ skipFormValidation?: boolean;
896
+ skipRelatedFieldValidation?: boolean;
897
+ }) => ValidationError[] | Promise<ValidationError[]>;
898
+ /**
899
+ * @private
900
+ */
901
+ triggerOnChangeListener: () => void;
902
+ /**
903
+ * @private
904
+ */
905
+ triggerOnSubmitListener: () => void;
906
+ handleSubmit(): Promise<void>;
907
+ handleSubmit(submitMeta: TSubmitMeta): Promise<void>;
908
+ /**
909
+ * Handles the form submission, performs validation, and calls the appropriate onSubmit or onSubmitInvalid callbacks.
910
+ */
911
+ _handleSubmit: (submitMeta?: TSubmitMeta) => Promise<void>;
912
+ }
913
+ //#endregion
914
+ //#region ../../node_modules/.pnpm/@tanstack+form-core@1.33.5/node_modules/@tanstack/form-core/dist/esm/types.d.ts
915
+ type ValidationError = unknown;
916
+ type ValidationSource = 'form' | 'field';
917
+ /**
918
+ * "server" is only intended for SSR/SSG validation and should not execute anything
919
+ * @private
920
+ */
921
+ type ValidationCause = 'change' | 'blur' | 'submit' | 'mount' | 'server' | 'dynamic';
922
+ /**
923
+ * @private
924
+ */
925
+ type ListenerCause = 'change' | 'blur' | 'submit' | 'mount';
926
+ /**
927
+ * @private
928
+ */
929
+ type ValidationErrorMapKeys = `on${Capitalize<ValidationCause>}`;
930
+ /**
931
+ * @private
932
+ */
933
+ type ValidationErrorMap<TOnMountReturn = unknown, TOnChangeReturn = unknown, TOnChangeAsyncReturn = unknown, TOnBlurReturn = unknown, TOnBlurAsyncReturn = unknown, TOnSubmitReturn = unknown, TOnSubmitAsyncReturn = unknown, TOnDynamicReturn = unknown, TOnDynamicAsyncReturn = unknown, TOnServerReturn = unknown> = {
934
+ onMount?: TOnMountReturn;
935
+ onChange?: TOnChangeReturn | TOnChangeAsyncReturn;
936
+ onBlur?: TOnBlurReturn | TOnBlurAsyncReturn;
937
+ onSubmit?: TOnSubmitReturn | TOnSubmitAsyncReturn;
938
+ onDynamic?: TOnDynamicReturn | TOnDynamicAsyncReturn;
939
+ onServer?: TOnServerReturn;
940
+ };
941
+ /**
942
+ * @private allows tracking the source of the errors in the error map
943
+ */
944
+ type ValidationErrorMapSource = {
945
+ onMount?: ValidationSource;
946
+ onChange?: ValidationSource;
947
+ onBlur?: ValidationSource;
948
+ onSubmit?: ValidationSource;
949
+ onServer?: ValidationSource;
950
+ onDynamic?: ValidationSource;
951
+ };
952
+ /**
953
+ * @private
954
+ */
955
+ type FormValidationErrorMap<TFormData = unknown, TOnMountReturn = unknown, TOnChangeReturn = unknown, TOnChangeAsyncReturn = unknown, TOnBlurReturn = unknown, TOnBlurAsyncReturn = unknown, TOnSubmitReturn = unknown, TOnSubmitAsyncReturn = unknown, TOnDynamicReturn = unknown, TOnDynamicAsyncReturn = unknown, TOnServerReturn = unknown> = {
956
+ onMount?: TOnMountReturn | GlobalFormValidationError<TFormData>;
957
+ onChange?: TOnChangeReturn | TOnChangeAsyncReturn | GlobalFormValidationError<TFormData>;
958
+ onBlur?: TOnBlurReturn | TOnBlurAsyncReturn | GlobalFormValidationError<TFormData>;
959
+ onSubmit?: TOnSubmitReturn | TOnSubmitAsyncReturn | GlobalFormValidationError<TFormData>;
960
+ onDynamic?: TOnDynamicReturn | TOnDynamicAsyncReturn | GlobalFormValidationError<TFormData>;
961
+ onServer?: TOnServerReturn;
962
+ };
963
+ /**
964
+ * @private
965
+ *
966
+ * @example
967
+ * ```tsx
968
+ * {
969
+ * form: 'This form contains an error',
970
+ * fields: {
971
+ * age: "Must be 13 or older to register"
972
+ * }
973
+ * }
974
+ * ````
975
+ */
976
+ type GlobalFormValidationError<TFormData> = {
977
+ form?: ValidationError;
978
+ fields: Partial<Record<DeepKeys<TFormData>, ValidationError>>;
979
+ };
980
+ type ExtractGlobalFormError<TFormError> = TFormError extends GlobalFormValidationError<any> ? TFormError['form'] : TFormError;
981
+ /**
982
+ * @private
983
+ */
984
+ interface UpdateMetaOptions {
985
+ /**
986
+ * @default false
987
+ */
988
+ dontUpdateMeta?: boolean;
989
+ /**
990
+ * @default false
991
+ */
992
+ dontValidate?: boolean;
993
+ /**
994
+ * @default false
995
+ */
996
+ dontRunListeners?: boolean;
997
+ }
998
+ /**
999
+ * @private
1000
+ */
1001
+ interface FormLikeAPI<TFormData, TSubmitMeta> {
1002
+ /**
1003
+ * Validates all fields using the correct handlers for a given validation cause.
1004
+ */
1005
+ validateAllFields: (cause: ValidationCause) => Promise<unknown[]>;
1006
+ /**
1007
+ * Validates the children of a specified array in the form starting from a given index until the end using the correct handlers for a given validation type.
1008
+ */
1009
+ validateArrayFieldsStartingFrom: <TField extends DeepKeysOfType<TFormData, any[]>>(field: TField, index: number, cause: ValidationCause) => Promise<unknown[]>;
1010
+ /**
1011
+ * Validates a specified field in the form using the correct handlers for a given validation type.
1012
+ */
1013
+ validateField: <TField extends DeepKeys<TFormData>>(field: TField, cause: ValidationCause) => unknown[] | Promise<unknown[]>;
1014
+ /**
1015
+ * Handles the form submission, performs validation, and calls the appropriate onSubmit or onSubmitInvalid callbacks.
1016
+ */
1017
+ handleSubmit(): Promise<void>;
1018
+ handleSubmit(submitMeta: TSubmitMeta): Promise<void>;
1019
+ /**
1020
+ * Gets the value of the specified field.
1021
+ */
1022
+ getFieldValue: <TField extends DeepKeys<TFormData>>(field: TField) => DeepValue<TFormData, TField>;
1023
+ /**
1024
+ * Gets the metadata of the specified field.
1025
+ */
1026
+ getFieldMeta: <TField extends DeepKeys<TFormData>>(field: TField) => AnyFieldLikeMeta | undefined;
1027
+ /**
1028
+ * Updates the metadata of the specified field.
1029
+ */
1030
+ setFieldMeta: <TField extends DeepKeys<TFormData>>(field: TField, updater: Updater<AnyFieldLikeMetaBase>) => void;
1031
+ /**
1032
+ * Sets the value of the specified field and optionally updates the touched state.
1033
+ */
1034
+ setFieldValue: <TField extends DeepKeys<TFormData>>(field: TField, updater: Updater<DeepValue<TFormData, TField>>, opts?: UpdateMetaOptions) => void;
1035
+ /**
1036
+ * Delete the specified field. Also deletes all subfields if there are any.
1037
+ */
1038
+ deleteField: <TField extends DeepKeys<TFormData>>(field: TField) => void;
1039
+ /**
1040
+ * Pushes a value into an array field.
1041
+ */
1042
+ pushFieldValue: <TField extends DeepKeysOfType<TFormData, any[]>>(field: TField, value: DeepValue<TFormData, TField> extends any[] ? DeepValue<TFormData, TField>[number] : never, opts?: UpdateMetaOptions) => void;
1043
+ /**
1044
+ * Insert a value into an array field at the specified index.
1045
+ */
1046
+ insertFieldValue: <TField extends DeepKeysOfType<TFormData, any[]>>(field: TField, index: number, value: DeepValue<TFormData, TField> extends any[] ? DeepValue<TFormData, TField>[number] : never, opts?: UpdateMetaOptions) => Promise<void>;
1047
+ /**
1048
+ * Replaces a value into an array field at the specified index.
1049
+ */
1050
+ replaceFieldValue: <TField extends DeepKeysOfType<TFormData, any[]>>(field: TField, index: number, value: DeepValue<TFormData, TField> extends any[] ? DeepValue<TFormData, TField>[number] : never, opts?: UpdateMetaOptions) => Promise<void>;
1051
+ /**
1052
+ * Removes a value from an array field at the specified index.
1053
+ */
1054
+ removeFieldValue: <TField extends DeepKeysOfType<TFormData, any[]>>(field: TField, index: number, opts?: UpdateMetaOptions) => Promise<void>;
1055
+ /**
1056
+ * Swaps the values at the specified indices within an array field.
1057
+ */
1058
+ swapFieldValues: <TField extends DeepKeysOfType<TFormData, any[]>>(field: TField, index1: number, index2: number, opts?: UpdateMetaOptions) => void;
1059
+ /**
1060
+ * Moves the value at the first specified index to the second specified index within an array field.
1061
+ */
1062
+ moveFieldValues: <TField extends DeepKeysOfType<TFormData, any[]>>(field: TField, index1: number, index2: number, opts?: UpdateMetaOptions) => void;
1063
+ /**
1064
+ * Clear all values within an array field.
1065
+ */
1066
+ clearFieldValues: <TField extends DeepKeysOfType<TFormData, any[]>>(field: TField, opts?: UpdateMetaOptions) => void;
1067
+ /**
1068
+ * Resets the field value and meta to default state
1069
+ */
1070
+ resetField: <TField extends DeepKeys<TFormData>>(field: TField) => void;
1071
+ }
1072
+ type UnwrapFormAsyncValidateOrFnForInner<TValidateOrFn extends undefined | FormAsyncValidateOrFn<any>> = [TValidateOrFn] extends [FormValidateAsyncFn<any>] ? Awaited<ReturnType<TValidateOrFn>> : [TValidateOrFn] extends [StandardSchemaV1<infer TOut, any>] ? StandardBrandedSchemaV1<TOut> : undefined;
1073
+ type UnwrapFieldAsyncValidateOrFn<TName extends string, TValidateOrFn extends undefined | FieldAsyncValidateOrFn<any, any, any> | FormGroupAsyncValidateOrFn<any, any>, TFormValidateOrFn extends undefined | FormAsyncValidateOrFn<any>> = ([TFormValidateOrFn] extends [StandardSchemaV1<any, infer TStandardOut>] ? TName extends keyof TStandardOut ? StandardSchemaV1Issue[] : undefined : undefined) | (UnwrapFormAsyncValidateOrFnForInner<TFormValidateOrFn> extends (infer TFormValidateVal) ? TFormValidateVal extends {
1074
+ __standardSchemaV1: true;
1075
+ } ? [DeepValue<TFormValidateVal, TName>] extends [never] ? undefined : StandardSchemaV1Issue[] : TFormValidateVal extends {
1076
+ fields: any;
1077
+ } ? TName extends keyof TFormValidateVal['fields'] ? TFormValidateVal['fields'][TName] : undefined : undefined : never) | ([TValidateOrFn] extends [FieldValidateAsyncFn<any, any, any>] ? Awaited<ReturnType<TValidateOrFn>> : [TValidateOrFn] extends [StandardSchemaV1<any, any>] ? StandardSchemaV1Issue[] : undefined) | ([TValidateOrFn] extends [FormGroupValidateAsyncFn<any, any, any>] ? Awaited<ReturnType<TValidateOrFn>> : [TValidateOrFn] extends [StandardSchemaV1<any, any>] ? StandardSchemaV1Issue[] : undefined);
1078
+ /**
1079
+ * @private
1080
+ */
1081
+ type FieldErrorMapFromValidator<TParentData, TName extends DeepKeys<TParentData>, TData extends DeepValue<TParentData, TName>, TOnMount extends undefined | FieldValidateOrFn<TParentData, TName, TData> | FormGroupValidateOrFn<TParentData, TName, TData>, TOnChange extends undefined | FieldValidateOrFn<TParentData, TName, TData> | FormGroupValidateOrFn<TParentData, TName, TData>, TOnChangeAsync extends undefined | FieldAsyncValidateOrFn<TParentData, TName, TData> | FormGroupAsyncValidateOrFn<TParentData, TName, TData>, TOnBlur extends undefined | FieldValidateOrFn<TParentData, TName, TData> | FormGroupValidateOrFn<TParentData, TName, TData>, TOnBlurAsync extends undefined | FieldAsyncValidateOrFn<TParentData, TName, TData> | FormGroupAsyncValidateOrFn<TParentData, TName, TData>, TOnSubmit extends undefined | FieldValidateOrFn<TParentData, TName, TData> | FormGroupValidateOrFn<TParentData, TName, TData>, TOnSubmitAsync extends undefined | FieldAsyncValidateOrFn<TParentData, TName, TData> | FormGroupAsyncValidateOrFn<TParentData, TName, TData>> = Partial<Record<DeepKeys<TParentData>, ValidationErrorMap<TOnMount, TOnChange, TOnChangeAsync, TOnBlur, TOnBlurAsync, TOnSubmit, TOnSubmitAsync>>>;
1082
+ type StandardBrandedSchemaV1<T> = T & {
1083
+ __standardSchemaV1: true;
1084
+ };
1085
+ type UnwrapFormValidateOrFnForInner<TValidateOrFn extends undefined | FormValidateOrFn<any>> = [TValidateOrFn] extends [FormValidateFn<any>] ? ReturnType<TValidateOrFn> : [TValidateOrFn] extends [StandardSchemaV1<infer TOut, any>] ? StandardBrandedSchemaV1<TOut> : undefined;
1086
+ type UnwrapFieldValidateOrFn<TName extends string, TValidateOrFn extends undefined | FieldValidateOrFn<any, any, any> | FormGroupValidateOrFn<any, any, any>, TFormValidateOrFn extends undefined | FormValidateOrFn<any>> = ([TFormValidateOrFn] extends [StandardSchemaV1<any, infer TStandardOut>] ? TName extends keyof TStandardOut ? StandardSchemaV1Issue[] : undefined : undefined) | (UnwrapFormValidateOrFnForInner<TFormValidateOrFn> extends (infer TFormValidateVal) ? TFormValidateVal extends {
1087
+ __standardSchemaV1: true;
1088
+ } ? [DeepValue<TFormValidateVal, TName>] extends [never] ? undefined : StandardSchemaV1Issue[] : TFormValidateVal extends {
1089
+ fields: any;
1090
+ } ? TName extends keyof TFormValidateVal['fields'] ? TFormValidateVal['fields'][TName] : undefined : undefined : never) | ([TValidateOrFn] extends [StandardSchemaV1<any, any>] ? StandardSchemaV1Issue[] : [TValidateOrFn] extends [FieldValidateFn<any, any, any>] ? ReturnType<TValidateOrFn> : undefined) | ([TValidateOrFn] extends [StandardSchemaV1<any, any>] ? StandardSchemaV1Issue[] : [TValidateOrFn] extends [FormGroupValidateFn<any, any, any>] ? ReturnType<TValidateOrFn> : undefined);
1091
+ /**
1092
+ * @private
1093
+ */
1094
+ type FieldLikeMetaBase<TParentData, TName extends DeepKeys<TParentData>, TData extends DeepValue<TParentData, TName>, TOnMount extends undefined | FieldValidateOrFn<TParentData, TName, TData> | FormGroupValidateOrFn<TParentData, TName, TData>, TOnChange extends undefined | FieldValidateOrFn<TParentData, TName, TData> | FormGroupValidateOrFn<TParentData, TName, TData>, TOnChangeAsync extends undefined | FieldAsyncValidateOrFn<TParentData, TName, TData> | FormGroupAsyncValidateOrFn<TParentData, TName, TData>, TOnBlur extends undefined | FieldValidateOrFn<TParentData, TName, TData> | FormGroupValidateOrFn<TParentData, TName, TData>, TOnBlurAsync extends undefined | FieldAsyncValidateOrFn<TParentData, TName, TData> | FormGroupAsyncValidateOrFn<TParentData, TName, TData>, TOnSubmit extends undefined | FieldValidateOrFn<TParentData, TName, TData> | FormGroupValidateOrFn<TParentData, TName, TData>, TOnSubmitAsync extends undefined | FieldAsyncValidateOrFn<TParentData, TName, TData> | FormGroupAsyncValidateOrFn<TParentData, TName, TData>, TOnDynamic extends undefined | FieldValidateOrFn<TParentData, TName, TData> | FormGroupValidateOrFn<TParentData, TName, TData>, TOnDynamicAsync extends undefined | FieldAsyncValidateOrFn<TParentData, TName, TData> | FormGroupAsyncValidateOrFn<TParentData, TName, TData>, TFormOnMount extends undefined | FormValidateOrFn<TParentData>, TFormOnChange extends undefined | FormValidateOrFn<TParentData>, TFormOnChangeAsync extends undefined | FormAsyncValidateOrFn<TParentData>, TFormOnBlur extends undefined | FormValidateOrFn<TParentData>, TFormOnBlurAsync extends undefined | FormAsyncValidateOrFn<TParentData>, TFormOnSubmit extends undefined | FormValidateOrFn<TParentData>, TFormOnSubmitAsync extends undefined | FormAsyncValidateOrFn<TParentData>, TFormOnDynamic extends undefined | FormValidateOrFn<TParentData>, TFormOnDynamicAsync extends undefined | FormAsyncValidateOrFn<TParentData>> = {
1095
+ /**
1096
+ * A flag indicating whether the field has been touched.
1097
+ */
1098
+ isTouched: boolean;
1099
+ /**
1100
+ * A flag indicating whether the field has been blurred.
1101
+ */
1102
+ isBlurred: boolean;
1103
+ /**
1104
+ * A flag that is `true` if the field's value has been modified by the user. Opposite of `isPristine`.
1105
+ */
1106
+ isDirty: boolean;
1107
+ /**
1108
+ * A map of errors related to the field value.
1109
+ */
1110
+ errorMap: ValidationErrorMap<UnwrapFieldValidateOrFn<TName, TOnMount, TFormOnMount>, UnwrapFieldValidateOrFn<TName, TOnChange, TFormOnChange>, UnwrapFieldAsyncValidateOrFn<TName, TOnChangeAsync, TFormOnChangeAsync>, UnwrapFieldValidateOrFn<TName, TOnBlur, TFormOnBlur>, UnwrapFieldAsyncValidateOrFn<TName, TOnBlurAsync, TFormOnBlurAsync>, UnwrapFieldValidateOrFn<TName, TOnSubmit, TFormOnSubmit>, UnwrapFieldAsyncValidateOrFn<TName, TOnSubmitAsync, TFormOnSubmitAsync>, UnwrapFieldValidateOrFn<TName, TOnDynamic, TFormOnDynamic>, UnwrapFieldAsyncValidateOrFn<TName, TOnDynamicAsync, TFormOnDynamicAsync>>;
1111
+ /**
1112
+ * @private allows tracking the source of the errors in the error map
1113
+ */
1114
+ errorSourceMap: ValidationErrorMapSource;
1115
+ /**
1116
+ * A flag indicating whether the field is currently being validated.
1117
+ */
1118
+ isValidating: boolean;
1119
+ /**
1120
+ * @private
1121
+ * Counter for tracking active async validations to prevent race conditions
1122
+ * when multiple validations finish at the same time.
1123
+ *
1124
+ * NOTE: This field is intentionally internal (prefixed with `_`) and is not
1125
+ * part of the public API — do not read or rely on it from external code.
1126
+ */
1127
+ _pendingValidationsCount: number;
1128
+ /**
1129
+ * @private a counter that is incremented every time a structural array
1130
+ * operation (push, insert, remove, swap, move, replace, clear) modifies
1131
+ * the value of an array field. Adapters can subscribe to this to trigger
1132
+ * re-renders for `mode="array"` fields without having to subscribe to the
1133
+ * full field value.
1134
+ */
1135
+ _arrayVersion: number;
1136
+ };
1137
+ /**
1138
+ * @private
1139
+ */
1140
+ type AnyFieldLikeMetaBase = FieldLikeMetaBase<any, any, any, any, any, any, any, any, any, any, any, any, any, any, any, any, any, any, any, any, any>;
1141
+ /**
1142
+ * @private
1143
+ */
1144
+ type FieldLikeMetaDerived<TParentData, TName extends DeepKeys<TParentData>, TData extends DeepValue<TParentData, TName>, TOnMount extends undefined | FieldValidateOrFn<TParentData, TName, TData> | FormGroupValidateOrFn<TParentData, TName, TData>, TOnChange extends undefined | FieldValidateOrFn<TParentData, TName, TData> | FormGroupValidateOrFn<TParentData, TName, TData>, TOnChangeAsync extends undefined | FieldAsyncValidateOrFn<TParentData, TName, TData> | FormGroupAsyncValidateOrFn<TParentData, TName, TData>, TOnBlur extends undefined | FieldValidateOrFn<TParentData, TName, TData> | FormGroupValidateOrFn<TParentData, TName, TData>, TOnBlurAsync extends undefined | FieldAsyncValidateOrFn<TParentData, TName, TData> | FormGroupAsyncValidateOrFn<TParentData, TName, TData>, TOnSubmit extends undefined | FieldValidateOrFn<TParentData, TName, TData> | FormGroupValidateOrFn<TParentData, TName, TData>, TOnSubmitAsync extends undefined | FieldAsyncValidateOrFn<TParentData, TName, TData> | FormGroupAsyncValidateOrFn<TParentData, TName, TData>, TOnDynamic extends undefined | FieldValidateOrFn<TParentData, TName, TData> | FormGroupValidateOrFn<TParentData, TName, TData>, TOnDynamicAsync extends undefined | FieldAsyncValidateOrFn<TParentData, TName, TData> | FormGroupAsyncValidateOrFn<TParentData, TName, TData>, TFormOnMount extends undefined | FormValidateOrFn<TParentData>, TFormOnChange extends undefined | FormValidateOrFn<TParentData>, TFormOnChangeAsync extends undefined | FormAsyncValidateOrFn<TParentData>, TFormOnBlur extends undefined | FormValidateOrFn<TParentData>, TFormOnBlurAsync extends undefined | FormAsyncValidateOrFn<TParentData>, TFormOnSubmit extends undefined | FormValidateOrFn<TParentData>, TFormOnSubmitAsync extends undefined | FormAsyncValidateOrFn<TParentData>, TFormOnDynamic extends undefined | FormValidateOrFn<TParentData>, TFormOnDynamicAsync extends undefined | FormAsyncValidateOrFn<TParentData>> = {
1145
+ /**
1146
+ * An array of errors related to the field value.
1147
+ */
1148
+ errors: Array<UnwrapOneLevelOfArray<UnwrapFieldValidateOrFn<TName, TOnMount, TFormOnMount>> | UnwrapOneLevelOfArray<UnwrapFieldValidateOrFn<TName, TOnChange, TFormOnChange>> | UnwrapOneLevelOfArray<UnwrapFieldAsyncValidateOrFn<TName, TOnChangeAsync, TFormOnChangeAsync>> | UnwrapOneLevelOfArray<UnwrapFieldValidateOrFn<TName, TOnBlur, TFormOnBlur>> | UnwrapOneLevelOfArray<UnwrapFieldAsyncValidateOrFn<TName, TOnBlurAsync, TFormOnBlurAsync>> | UnwrapOneLevelOfArray<UnwrapFieldValidateOrFn<TName, TOnSubmit, TFormOnSubmit>> | UnwrapOneLevelOfArray<UnwrapFieldAsyncValidateOrFn<TName, TOnSubmitAsync, TFormOnSubmitAsync>> | UnwrapOneLevelOfArray<UnwrapFieldValidateOrFn<TName, TOnDynamic, TFormOnDynamic>> | UnwrapOneLevelOfArray<UnwrapFieldAsyncValidateOrFn<TName, TOnDynamicAsync, TFormOnDynamicAsync>>>;
1149
+ /**
1150
+ * A flag that is `true` if the field's value has not been modified by the user. Opposite of `isDirty`.
1151
+ */
1152
+ isPristine: boolean;
1153
+ /**
1154
+ * A boolean indicating if the field is valid. Evaluates `true` if there are no field errors.
1155
+ */
1156
+ isValid: boolean;
1157
+ /**
1158
+ * A flag indicating whether the field's current value is the default value
1159
+ */
1160
+ isDefaultValue: boolean;
1161
+ };
1162
+ /**
1163
+ * @private
1164
+ * An object type representing the metadata of a field in a form.
1165
+ */
1166
+ type FieldLikeMeta<TParentData, TName extends DeepKeys<TParentData>, TData extends DeepValue<TParentData, TName>, TOnMount extends undefined | FieldValidateOrFn<TParentData, TName, TData> | FormGroupValidateOrFn<TParentData, TName, TData>, TOnChange extends undefined | FieldValidateOrFn<TParentData, TName, TData> | FormGroupValidateOrFn<TParentData, TName, TData>, TOnChangeAsync extends undefined | FieldAsyncValidateOrFn<TParentData, TName, TData> | FormGroupAsyncValidateOrFn<TParentData, TName, TData>, TOnBlur extends undefined | FieldValidateOrFn<TParentData, TName, TData> | FormGroupValidateOrFn<TParentData, TName, TData>, TOnBlurAsync extends undefined | FieldAsyncValidateOrFn<TParentData, TName, TData> | FormGroupAsyncValidateOrFn<TParentData, TName, TData>, TOnSubmit extends undefined | FieldValidateOrFn<TParentData, TName, TData> | FormGroupValidateOrFn<TParentData, TName, TData>, TOnSubmitAsync extends undefined | FieldAsyncValidateOrFn<TParentData, TName, TData> | FormGroupAsyncValidateOrFn<TParentData, TName, TData>, TOnDynamic extends undefined | FieldValidateOrFn<TParentData, TName, TData> | FormGroupValidateOrFn<TParentData, TName, TData>, TOnDynamicAsync extends undefined | FieldAsyncValidateOrFn<TParentData, TName, TData> | FormGroupAsyncValidateOrFn<TParentData, TName, TData>, TFormOnMount extends undefined | FormValidateOrFn<TParentData>, TFormOnChange extends undefined | FormValidateOrFn<TParentData>, TFormOnChangeAsync extends undefined | FormAsyncValidateOrFn<TParentData>, TFormOnBlur extends undefined | FormValidateOrFn<TParentData>, TFormOnBlurAsync extends undefined | FormAsyncValidateOrFn<TParentData>, TFormOnSubmit extends undefined | FormValidateOrFn<TParentData>, TFormOnSubmitAsync extends undefined | FormAsyncValidateOrFn<TParentData>, TFormOnDynamic extends undefined | FormValidateOrFn<TParentData>, TFormOnDynamicAsync extends undefined | FormAsyncValidateOrFn<TParentData>> = FieldLikeMetaBase<TParentData, TName, TData, TOnMount, TOnChange, TOnChangeAsync, TOnBlur, TOnBlurAsync, TOnSubmit, TOnSubmitAsync, TOnDynamic, TOnDynamicAsync, TFormOnMount, TFormOnChange, TFormOnChangeAsync, TFormOnBlur, TFormOnBlurAsync, TFormOnSubmit, TFormOnSubmitAsync, TFormOnDynamic, TFormOnDynamicAsync> & FieldLikeMetaDerived<TParentData, TName, TData, TOnMount, TOnChange, TOnChangeAsync, TOnBlur, TOnBlurAsync, TOnSubmit, TOnSubmitAsync, TOnDynamic, TOnDynamicAsync, TFormOnMount, TFormOnChange, TFormOnChangeAsync, TFormOnBlur, TFormOnBlurAsync, TFormOnSubmit, TFormOnSubmitAsync, TFormOnDynamic, TFormOnDynamicAsync>;
1167
+ /**
1168
+ * @private
1169
+ */
1170
+ type AnyFieldLikeMeta = FieldLikeMeta<any, any, any, any, any, any, any, any, any, any, any, any, any, any, any, any, any, any, any, any, any>;
1171
+ /**
1172
+ * @private
1173
+ * An object type representing the state of a field.
1174
+ */
1175
+ type FieldLikeState<TParentData, TName extends DeepKeys<TParentData>, TData extends DeepValue<TParentData, TName>, TOnMount extends undefined | FieldValidateOrFn<TParentData, TName, TData> | FormGroupValidateOrFn<TParentData, TName, TData>, TOnChange extends undefined | FieldValidateOrFn<TParentData, TName, TData> | FormGroupValidateOrFn<TParentData, TName, TData>, TOnChangeAsync extends undefined | FieldAsyncValidateOrFn<TParentData, TName, TData> | FormGroupAsyncValidateOrFn<TParentData, TName, TData>, TOnBlur extends undefined | FieldValidateOrFn<TParentData, TName, TData> | FormGroupValidateOrFn<TParentData, TName, TData>, TOnBlurAsync extends undefined | FieldAsyncValidateOrFn<TParentData, TName, TData> | FormGroupAsyncValidateOrFn<TParentData, TName, TData>, TOnSubmit extends undefined | FieldValidateOrFn<TParentData, TName, TData> | FormGroupValidateOrFn<TParentData, TName, TData>, TOnSubmitAsync extends undefined | FieldAsyncValidateOrFn<TParentData, TName, TData> | FormGroupAsyncValidateOrFn<TParentData, TName, TData>, TOnDynamic extends undefined | FieldValidateOrFn<TParentData, TName, TData> | FormGroupValidateOrFn<TParentData, TName, TData>, TOnDynamicAsync extends undefined | FieldAsyncValidateOrFn<TParentData, TName, TData> | FormGroupAsyncValidateOrFn<TParentData, TName, TData>, TFormOnMount extends undefined | FormValidateOrFn<TParentData>, TFormOnChange extends undefined | FormValidateOrFn<TParentData>, TFormOnChangeAsync extends undefined | FormAsyncValidateOrFn<TParentData>, TFormOnBlur extends undefined | FormValidateOrFn<TParentData>, TFormOnBlurAsync extends undefined | FormAsyncValidateOrFn<TParentData>, TFormOnSubmit extends undefined | FormValidateOrFn<TParentData>, TFormOnSubmitAsync extends undefined | FormAsyncValidateOrFn<TParentData>, TFormOnDynamic extends undefined | FormValidateOrFn<TParentData>, TFormOnDynamicAsync extends undefined | FormAsyncValidateOrFn<TParentData>> = {
1176
+ /**
1177
+ * The current value of the field.
1178
+ */
1179
+ value: TData;
1180
+ /**
1181
+ * The current metadata of the field.
1182
+ */
1183
+ meta: FieldLikeMeta<TParentData, TName, TData, TOnMount, TOnChange, TOnChangeAsync, TOnBlur, TOnBlurAsync, TOnSubmit, TOnSubmitAsync, TOnDynamic, TOnDynamicAsync, TFormOnMount, TFormOnChange, TFormOnChangeAsync, TFormOnBlur, TFormOnBlurAsync, TFormOnSubmit, TFormOnSubmitAsync, TFormOnDynamic, TFormOnDynamicAsync>;
1184
+ };
1185
+ /**
1186
+ * @private
1187
+ * An object type representing the options for a field in a form.
1188
+ */
1189
+ interface FieldLikeOptions<TParentData, TName extends DeepKeys<TParentData>, TData extends DeepValue<TParentData, TName>, in out TOnMount extends undefined | FieldValidateOrFn<TParentData, TName, TData> | FormGroupValidateOrFn<TParentData, TName, TData>, in out TOnChange extends undefined | FieldValidateOrFn<TParentData, TName, TData> | FormGroupValidateOrFn<TParentData, TName, TData>, in out TOnChangeAsync extends undefined | FieldAsyncValidateOrFn<TParentData, TName, TData> | FormGroupAsyncValidateOrFn<TParentData, TName, TData>, in out TOnBlur extends undefined | FieldValidateOrFn<TParentData, TName, TData> | FormGroupValidateOrFn<TParentData, TName, TData>, in out TOnBlurAsync extends undefined | FieldAsyncValidateOrFn<TParentData, TName, TData> | FormGroupAsyncValidateOrFn<TParentData, TName, TData>, in out TOnSubmit extends undefined | FieldValidateOrFn<TParentData, TName, TData> | FormGroupValidateOrFn<TParentData, TName, TData>, in out TOnSubmitAsync extends undefined | FieldAsyncValidateOrFn<TParentData, TName, TData> | FormGroupAsyncValidateOrFn<TParentData, TName, TData>, in out TOnDynamic extends undefined | FieldValidateOrFn<TParentData, TName, TData> | FormGroupValidateOrFn<TParentData, TName, TData>, in out TOnDynamicAsync extends undefined | FieldAsyncValidateOrFn<TParentData, TName, TData> | FormGroupAsyncValidateOrFn<TParentData, TName, TData>> {
1190
+ /**
1191
+ * The field name. The type will be `DeepKeys<TParentData>` to ensure your name is a deep key of the parent dataset.
1192
+ */
1193
+ name: TName;
1194
+ /**
1195
+ * An optional default value for the field.
1196
+ */
1197
+ defaultValue?: NoInfer<TData>;
1198
+ /**
1199
+ * The default time to debounce async validation if there is not a more specific debounce time passed.
1200
+ */
1201
+ asyncDebounceMs?: number;
1202
+ /**
1203
+ * If `true`, always run async validation, even if there are errors emitted during synchronous validation.
1204
+ */
1205
+ asyncAlways?: boolean;
1206
+ /**
1207
+ * An optional object with default metadata for the field.
1208
+ */
1209
+ defaultMeta?: Partial<FieldLikeMeta<TParentData, TName, TData, TOnMount, TOnChange, TOnChangeAsync, TOnBlur, TOnBlurAsync, TOnSubmit, TOnSubmitAsync, TOnDynamic, TOnDynamicAsync, any, any, any, any, any, any, any, any, any>>;
1210
+ /**
1211
+ * Disable the `flat(1)` operation on `field.errors`. This is useful if you want to keep the error structure as is. Not suggested for most use-cases.
1212
+ */
1213
+ disableErrorFlat?: boolean;
1214
+ }
1215
+ /**
1216
+ * @private
1217
+ * An object type representing the required options for the FieldApi class.
1218
+ */
1219
+ interface FieldLikeApiOptions<in out TParentData, in out TName extends DeepKeys<TParentData>, in out TData extends DeepValue<TParentData, TName>, in out TOnMount extends undefined | FieldValidateOrFn<TParentData, TName, TData> | FormGroupValidateOrFn<TParentData, TName, TData>, in out TOnChange extends undefined | FieldValidateOrFn<TParentData, TName, TData> | FormGroupValidateOrFn<TParentData, TName, TData>, in out TOnChangeAsync extends undefined | FieldAsyncValidateOrFn<TParentData, TName, TData> | FormGroupAsyncValidateOrFn<TParentData, TName, TData>, in out TOnBlur extends undefined | FieldValidateOrFn<TParentData, TName, TData> | FormGroupValidateOrFn<TParentData, TName, TData>, in out TOnBlurAsync extends undefined | FieldAsyncValidateOrFn<TParentData, TName, TData> | FormGroupAsyncValidateOrFn<TParentData, TName, TData>, in out TOnSubmit extends undefined | FieldValidateOrFn<TParentData, TName, TData> | FormGroupValidateOrFn<TParentData, TName, TData>, in out TOnSubmitAsync extends undefined | FieldAsyncValidateOrFn<TParentData, TName, TData> | FormGroupAsyncValidateOrFn<TParentData, TName, TData>, in out TOnDynamic extends undefined | FieldValidateOrFn<TParentData, TName, TData> | FormGroupValidateOrFn<TParentData, TName, TData>, in out TOnDynamicAsync extends undefined | FieldAsyncValidateOrFn<TParentData, TName, TData> | FormGroupAsyncValidateOrFn<TParentData, TName, TData>, in out TFormOnMount extends undefined | FormValidateOrFn<TParentData>, in out TFormOnChange extends undefined | FormValidateOrFn<TParentData>, in out TFormOnChangeAsync extends undefined | FormAsyncValidateOrFn<TParentData>, in out TFormOnBlur extends undefined | FormValidateOrFn<TParentData>, in out TFormOnBlurAsync extends undefined | FormAsyncValidateOrFn<TParentData>, in out TFormOnSubmit extends undefined | FormValidateOrFn<TParentData>, in out TFormOnSubmitAsync extends undefined | FormAsyncValidateOrFn<TParentData>, in out TFormOnDynamic extends undefined | FormValidateOrFn<TParentData>, in out TFormOnDynamicAsync extends undefined | FormAsyncValidateOrFn<TParentData>, in out TFormOnServer extends undefined | FormAsyncValidateOrFn<TParentData>, in out TParentSubmitMeta> extends FieldLikeOptions<TParentData, TName, TData, TOnMount, TOnChange, TOnChangeAsync, TOnBlur, TOnBlurAsync, TOnSubmit, TOnSubmitAsync, TOnDynamic, TOnDynamicAsync> {
1220
+ form: FormApi<TParentData, TFormOnMount, TFormOnChange, TFormOnChangeAsync, TFormOnBlur, TFormOnBlurAsync, TFormOnSubmit, TFormOnSubmitAsync, TFormOnDynamic, TFormOnDynamicAsync, TFormOnServer, TParentSubmitMeta>;
1221
+ }
1222
+ /**
1223
+ * @private
1224
+ */
1225
+ interface FieldLikeAPI<in out TParentData, in out TName extends DeepKeys<TParentData>, in out TData extends DeepValue<TParentData, TName>, in out TOnMount extends undefined | FieldValidateOrFn<TParentData, TName, TData> | FormGroupValidateOrFn<TParentData, TName, TData>, in out TOnChange extends undefined | FieldValidateOrFn<TParentData, TName, TData> | FormGroupValidateOrFn<TParentData, TName, TData>, in out TOnChangeAsync extends undefined | FieldAsyncValidateOrFn<TParentData, TName, TData> | FormGroupAsyncValidateOrFn<TParentData, TName, TData>, in out TOnBlur extends undefined | FieldValidateOrFn<TParentData, TName, TData> | FormGroupValidateOrFn<TParentData, TName, TData>, in out TOnBlurAsync extends undefined | FieldAsyncValidateOrFn<TParentData, TName, TData> | FormGroupAsyncValidateOrFn<TParentData, TName, TData>, in out TOnSubmit extends undefined | FieldValidateOrFn<TParentData, TName, TData> | FormGroupValidateOrFn<TParentData, TName, TData>, in out TOnSubmitAsync extends undefined | FieldAsyncValidateOrFn<TParentData, TName, TData> | FormGroupAsyncValidateOrFn<TParentData, TName, TData>, in out TOnDynamic extends undefined | FieldValidateOrFn<TParentData, TName, TData> | FormGroupValidateOrFn<TParentData, TName, TData>, in out TOnDynamicAsync extends undefined | FieldAsyncValidateOrFn<TParentData, TName, TData> | FormGroupAsyncValidateOrFn<TParentData, TName, TData>, in out TFormOnMount extends undefined | FormValidateOrFn<TParentData>, in out TFormOnChange extends undefined | FormValidateOrFn<TParentData>, in out TFormOnChangeAsync extends undefined | FormAsyncValidateOrFn<TParentData>, in out TFormOnBlur extends undefined | FormValidateOrFn<TParentData>, in out TFormOnBlurAsync extends undefined | FormAsyncValidateOrFn<TParentData>, in out TFormOnSubmit extends undefined | FormValidateOrFn<TParentData>, in out TFormOnSubmitAsync extends undefined | FormAsyncValidateOrFn<TParentData>, in out TFormOnDynamic extends undefined | FormValidateOrFn<TParentData>, in out TFormOnDynamicAsync extends undefined | FormAsyncValidateOrFn<TParentData>, in out TFormOnServer extends undefined | FormAsyncValidateOrFn<TParentData>, in out TParentSubmitMeta, TExtraOptions = {}> {
1226
+ form: AnyFormApi$1;
1227
+ options: FieldLikeApiOptions<TParentData, TName, TData, TOnMount, TOnChange, TOnChangeAsync, TOnBlur, TOnBlurAsync, TOnSubmit, TOnSubmitAsync, TOnDynamic, TOnDynamicAsync, TFormOnMount, TFormOnChange, TFormOnChangeAsync, TFormOnBlur, TFormOnBlurAsync, TFormOnSubmit, TFormOnSubmitAsync, TFormOnDynamic, TFormOnDynamicAsync, TFormOnServer, TParentSubmitMeta> & TExtraOptions;
1228
+ store: ReadonlyStore<FieldLikeState<TParentData, TName, TData, TOnMount, TOnChange, TOnChangeAsync, TOnBlur, TOnBlurAsync, TOnSubmit, TOnSubmitAsync, TOnDynamic, TOnDynamicAsync, TFormOnMount, TFormOnChange, TFormOnChangeAsync, TFormOnBlur, TFormOnBlurAsync, TFormOnSubmit, TFormOnSubmitAsync, TFormOnDynamic, TFormOnDynamicAsync>>;
1229
+ /**
1230
+ * The field name.
1231
+ */
1232
+ name: TName;
1233
+ mount: () => () => void;
1234
+ setValue: (updater: Updater<TData>, options?: UpdateMetaOptions) => void;
1235
+ getMeta: () => AnyFieldLikeMeta;
1236
+ setMeta: (updater: Updater<AnyFieldLikeMetaBase>) => void;
1237
+ getInfo: () => FieldInfo<TParentData>;
1238
+ validate: (cause: ValidationCause, opts?: {
1239
+ skipFormValidation?: boolean;
1240
+ skipGroupValidation?: boolean;
1241
+ }) => ValidationError[] | Promise<ValidationError[]>;
1242
+ /**
1243
+ * @private
1244
+ */
1245
+ triggerOnChangeListener: () => void;
1246
+ /**
1247
+ * @private
1248
+ */
1249
+ triggerOnSubmitListener: () => void;
1250
+ }
1251
+ /**
1252
+ * @private
1253
+ */
1254
+ interface FieldInfo<TParentData> {
1255
+ instance: FieldLikeAPI<TParentData, any, any, any, any, any, any, any, any, any, any, any, any, any, any, any, any, any, any, any, any, any, any> | null;
1256
+ validationMetaMap: Record<ValidationErrorMapKeys, ValidationMeta | undefined>;
1257
+ }
1258
+ //#endregion
1259
+ //#region ../../node_modules/.pnpm/@tanstack+form-core@1.33.5/node_modules/@tanstack/form-core/dist/esm/FormApi.d.ts
1260
+ /**
1261
+ * @private
1262
+ */
1263
+ type FormErrorMapFromValidator<TFormData, TOnMount extends undefined | FormValidateOrFn<TFormData>, TOnChange extends undefined | FormValidateOrFn<TFormData>, TOnChangeAsync extends undefined | FormAsyncValidateOrFn<TFormData>, TOnBlur extends undefined | FormValidateOrFn<TFormData>, TOnBlurAsync extends undefined | FormAsyncValidateOrFn<TFormData>, TOnSubmit extends undefined | FormValidateOrFn<TFormData>, TOnSubmitAsync extends undefined | FormAsyncValidateOrFn<TFormData>, TOnDynamic extends undefined | FormValidateOrFn<TFormData>, TOnDynamicAsync extends undefined | FormAsyncValidateOrFn<TFormData>> = Partial<Record<DeepKeys<TFormData>, ValidationErrorMap<TOnMount, TOnChange, TOnChangeAsync, TOnBlur, TOnBlurAsync, TOnSubmit, TOnSubmitAsync, TOnDynamic, TOnDynamicAsync>>>;
1264
+ type FormValidateFn<TFormData> = (props: {
1265
+ value: TFormData;
1266
+ formApi: FormApi<TFormData, any, any, any, any, any, any, any, any, any, any, any>;
1267
+ }) => unknown;
1268
+ /**
1269
+ * @private
1270
+ */
1271
+ type FormValidateOrFn<TFormData> = FormValidateFn<TFormData> | StandardSchemaV1<TFormData, unknown>;
1272
+ type UnwrapFormValidateOrFn<TValidateOrFn extends undefined | FormValidateOrFn<any>> = [TValidateOrFn] extends [FormValidateFn<any>] ? ExtractGlobalFormError<ReturnType<TValidateOrFn>> : [TValidateOrFn] extends [StandardSchemaV1<any, any>] ? Record<string, StandardSchemaV1Issue[]> : undefined;
1273
+ /**
1274
+ * @private
1275
+ */
1276
+ type FormValidateAsyncFn<TFormData> = (props: {
1277
+ value: TFormData;
1278
+ formApi: FormApi<TFormData, any, any, any, any, any, any, any, any, any, any, any>;
1279
+ signal: AbortSignal;
1280
+ }) => unknown | Promise<unknown>;
1281
+ /**
1282
+ * @private
1283
+ */
1284
+ type FormAsyncValidateOrFn<TFormData> = FormValidateAsyncFn<TFormData> | StandardSchemaV1<TFormData, unknown>;
1285
+ type UnwrapFormAsyncValidateOrFn<TValidateOrFn extends undefined | FormAsyncValidateOrFn<any>> = [TValidateOrFn] extends [FormValidateAsyncFn<any>] ? ExtractGlobalFormError<Awaited<ReturnType<TValidateOrFn>>> : [TValidateOrFn] extends [StandardSchemaV1<any, any>] ? Record<string, StandardSchemaV1Issue[]> : undefined;
1286
+ interface FormValidators<TFormData, TOnMount extends undefined | FormValidateOrFn<TFormData>, TOnChange extends undefined | FormValidateOrFn<TFormData>, TOnChangeAsync extends undefined | FormAsyncValidateOrFn<TFormData>, TOnBlur extends undefined | FormValidateOrFn<TFormData>, TOnBlurAsync extends undefined | FormAsyncValidateOrFn<TFormData>, TOnSubmit extends undefined | FormValidateOrFn<TFormData>, TOnSubmitAsync extends undefined | FormAsyncValidateOrFn<TFormData>, TOnDynamic extends undefined | FormValidateOrFn<TFormData>, TOnDynamicAsync extends undefined | FormAsyncValidateOrFn<TFormData>> {
1287
+ /**
1288
+ * Optional function that fires as soon as the component mounts.
1289
+ */
1290
+ onMount?: RejectPromiseValidator<TOnMount>;
1291
+ /**
1292
+ * Optional function that checks the validity of your data whenever a value changes
1293
+ */
1294
+ onChange?: RejectPromiseValidator<TOnChange>;
1295
+ /**
1296
+ * Optional onChange asynchronous counterpart to onChange. Useful for more complex validation logic that might involve server requests.
1297
+ */
1298
+ onChangeAsync?: TOnChangeAsync;
1299
+ /**
1300
+ * The default time in milliseconds that if set to a number larger than 0, will debounce the async validation event by this length of time in milliseconds.
1301
+ */
1302
+ onChangeAsyncDebounceMs?: number;
1303
+ /**
1304
+ * Optional function that validates the form data when a field loses focus, returns a `FormValidationError`
1305
+ */
1306
+ onBlur?: RejectPromiseValidator<TOnBlur>;
1307
+ /**
1308
+ * Optional onBlur asynchronous validation method for when a field loses focus returns a ` FormValidationError` or a promise of `Promise<FormValidationError>`
1309
+ */
1310
+ onBlurAsync?: TOnBlurAsync;
1311
+ /**
1312
+ * The default time in milliseconds that if set to a number larger than 0, will debounce the async validation event by this length of time in milliseconds.
1313
+ */
1314
+ onBlurAsyncDebounceMs?: number;
1315
+ onSubmit?: RejectPromiseValidator<TOnSubmit>;
1316
+ onSubmitAsync?: TOnSubmitAsync;
1317
+ onDynamic?: RejectPromiseValidator<TOnDynamic>;
1318
+ onDynamicAsync?: TOnDynamicAsync;
1319
+ onDynamicAsyncDebounceMs?: number;
1320
+ }
1321
+ interface FormListenersPropsGroup<TFormData, TOnMount extends undefined | FormValidateOrFn<TFormData>, TOnChange extends undefined | FormValidateOrFn<TFormData>, TOnChangeAsync extends undefined | FormAsyncValidateOrFn<TFormData>, TOnBlur extends undefined | FormValidateOrFn<TFormData>, TOnBlurAsync extends undefined | FormAsyncValidateOrFn<TFormData>, TOnSubmit extends undefined | FormValidateOrFn<TFormData>, TOnSubmitAsync extends undefined | FormAsyncValidateOrFn<TFormData>, TOnDynamic extends undefined | FormValidateOrFn<TFormData>, TOnDynamicAsync extends undefined | FormAsyncValidateOrFn<TFormData>, TOnServer extends undefined | FormAsyncValidateOrFn<TFormData>, TSubmitMeta = never> {
1322
+ formApi: FormApi<TFormData, TOnMount, TOnChange, TOnChangeAsync, TOnBlur, TOnBlurAsync, TOnSubmit, TOnSubmitAsync, TOnDynamic, TOnDynamicAsync, TOnServer, TSubmitMeta>;
1323
+ groupApi: AnyFormGroupApi;
1324
+ }
1325
+ interface FormListenersPropsField<TFormData, TOnMount extends undefined | FormValidateOrFn<TFormData>, TOnChange extends undefined | FormValidateOrFn<TFormData>, TOnChangeAsync extends undefined | FormAsyncValidateOrFn<TFormData>, TOnBlur extends undefined | FormValidateOrFn<TFormData>, TOnBlurAsync extends undefined | FormAsyncValidateOrFn<TFormData>, TOnSubmit extends undefined | FormValidateOrFn<TFormData>, TOnSubmitAsync extends undefined | FormAsyncValidateOrFn<TFormData>, TOnDynamic extends undefined | FormValidateOrFn<TFormData>, TOnDynamicAsync extends undefined | FormAsyncValidateOrFn<TFormData>, TOnServer extends undefined | FormAsyncValidateOrFn<TFormData>, TSubmitMeta = never> {
1326
+ formApi: FormApi<TFormData, TOnMount, TOnChange, TOnChangeAsync, TOnBlur, TOnBlurAsync, TOnSubmit, TOnSubmitAsync, TOnDynamic, TOnDynamicAsync, TOnServer, TSubmitMeta>;
1327
+ fieldApi: AnyFieldApi;
1328
+ }
1329
+ interface FormListeners<TFormData, TOnMount extends undefined | FormValidateOrFn<TFormData>, TOnChange extends undefined | FormValidateOrFn<TFormData>, TOnChangeAsync extends undefined | FormAsyncValidateOrFn<TFormData>, TOnBlur extends undefined | FormValidateOrFn<TFormData>, TOnBlurAsync extends undefined | FormAsyncValidateOrFn<TFormData>, TOnSubmit extends undefined | FormValidateOrFn<TFormData>, TOnSubmitAsync extends undefined | FormAsyncValidateOrFn<TFormData>, TOnDynamic extends undefined | FormValidateOrFn<TFormData>, TOnDynamicAsync extends undefined | FormAsyncValidateOrFn<TFormData>, TOnServer extends undefined | FormAsyncValidateOrFn<TFormData>, TSubmitMeta = never> {
1330
+ onChange?: (props: FormListenersPropsField<TFormData, TOnMount, TOnChange, TOnChangeAsync, TOnBlur, TOnBlurAsync, TOnSubmit, TOnSubmitAsync, TOnDynamic, TOnDynamicAsync, TOnServer, TSubmitMeta>) => void;
1331
+ onChangeDebounceMs?: number;
1332
+ onChangeGroup?: (props: FormListenersPropsGroup<TFormData, TOnMount, TOnChange, TOnChangeAsync, TOnBlur, TOnBlurAsync, TOnSubmit, TOnSubmitAsync, TOnDynamic, TOnDynamicAsync, TOnServer, TSubmitMeta>) => void;
1333
+ onChangeGroupDebounceMs?: number;
1334
+ onBlur?: (props: {
1335
+ formApi: FormApi<TFormData, TOnMount, TOnChange, TOnChangeAsync, TOnBlur, TOnBlurAsync, TOnSubmit, TOnSubmitAsync, TOnDynamic, TOnDynamicAsync, TOnServer, TSubmitMeta>;
1336
+ fieldApi: AnyFieldApi;
1337
+ }) => void;
1338
+ onBlurDebounceMs?: number;
1339
+ onMount?: (props: {
1340
+ formApi: FormApi<TFormData, TOnMount, TOnChange, TOnChangeAsync, TOnBlur, TOnBlurAsync, TOnSubmit, TOnSubmitAsync, TOnDynamic, TOnDynamicAsync, TOnServer, TSubmitMeta>;
1341
+ }) => void;
1342
+ onSubmit?: (props: {
1343
+ formApi: FormApi<TFormData, TOnMount, TOnChange, TOnChangeAsync, TOnBlur, TOnBlurAsync, TOnSubmit, TOnSubmitAsync, TOnDynamic, TOnDynamicAsync, TOnServer, TSubmitMeta>;
1344
+ meta: TSubmitMeta;
1345
+ }) => void;
1346
+ onFieldUnmount?: (props: FormListenersPropsField<TFormData, TOnMount, TOnChange, TOnChangeAsync, TOnBlur, TOnBlurAsync, TOnSubmit, TOnSubmitAsync, TOnDynamic, TOnDynamicAsync, TOnServer, TSubmitMeta>) => void;
1347
+ onGroupUnmount?: (props: FormListenersPropsGroup<TFormData, TOnMount, TOnChange, TOnChangeAsync, TOnBlur, TOnBlurAsync, TOnSubmit, TOnSubmitAsync, TOnDynamic, TOnDynamicAsync, TOnServer, TSubmitMeta>) => void;
1348
+ }
1349
+ /**
1350
+ * An object representing the base properties of a form, unrelated to any validators
1351
+ */
1352
+ interface BaseFormOptions<in out TFormData, in out TSubmitMeta = never> {
1353
+ /**
1354
+ * Set initial values for your form.
1355
+ */
1356
+ defaultValues?: TFormData;
1357
+ /**
1358
+ * onSubmitMeta, the data passed from the handleSubmit handler, to the onSubmit function props
1359
+ */
1360
+ onSubmitMeta?: TSubmitMeta;
1361
+ }
1362
+ /**
1363
+ * An object representing the options for a form.
1364
+ */
1365
+ interface FormOptions<in out TFormData, in out TOnMount extends undefined | FormValidateOrFn<TFormData>, in out TOnChange extends undefined | FormValidateOrFn<TFormData>, in out TOnChangeAsync extends undefined | FormAsyncValidateOrFn<TFormData>, in out TOnBlur extends undefined | FormValidateOrFn<TFormData>, in out TOnBlurAsync extends undefined | FormAsyncValidateOrFn<TFormData>, in out TOnSubmit extends undefined | FormValidateOrFn<TFormData>, in out TOnSubmitAsync extends undefined | FormAsyncValidateOrFn<TFormData>, in out TOnDynamic extends undefined | FormValidateOrFn<TFormData>, in out TOnDynamicAsync extends undefined | FormAsyncValidateOrFn<TFormData>, in out TOnServer extends undefined | FormAsyncValidateOrFn<TFormData>, in out TSubmitMeta = never> extends BaseFormOptions<TFormData, TSubmitMeta> {
1366
+ /**
1367
+ * The form name, used for devtools and identification
1368
+ */
1369
+ formId?: string;
1370
+ /**
1371
+ * The default state for the form.
1372
+ */
1373
+ defaultState?: Partial<FormState<TFormData, TOnMount, TOnChange, TOnChangeAsync, TOnBlur, TOnBlurAsync, TOnSubmit, TOnSubmitAsync, TOnDynamic, TOnDynamicAsync, TOnServer>>;
1374
+ /**
1375
+ * If true, always run async validation, even when sync validation has produced an error. Defaults to undefined.
1376
+ */
1377
+ asyncAlways?: boolean;
1378
+ /**
1379
+ * Optional time in milliseconds if you want to introduce a delay before firing off an async action.
1380
+ */
1381
+ asyncDebounceMs?: number;
1382
+ /**
1383
+ * If true, allows the form to be submitted in an invalid state i.e. canSubmit will remain true regardless of validation errors. Defaults to undefined.
1384
+ */
1385
+ canSubmitWhenInvalid?: boolean;
1386
+ /**
1387
+ * A list of validators to pass to the form
1388
+ */
1389
+ validators?: FormValidators<TFormData, TOnMount, TOnChange, TOnChangeAsync, TOnBlur, TOnBlurAsync, TOnSubmit, TOnSubmitAsync, TOnDynamic, TOnDynamicAsync>;
1390
+ validationLogic?: ValidationLogicFn;
1391
+ /**
1392
+ * form level listeners
1393
+ */
1394
+ listeners?: FormListeners<TFormData, TOnMount, TOnChange, TOnChangeAsync, TOnBlur, TOnBlurAsync, TOnSubmit, TOnSubmitAsync, TOnDynamic, TOnDynamicAsync, TOnServer, TSubmitMeta>;
1395
+ /**
1396
+ * A function to be called when the form is submitted, what should happen once the user submits a valid form returns `any` or a promise `Promise<any>`
1397
+ */
1398
+ onSubmit?: (props: {
1399
+ value: TFormData;
1400
+ formApi: FormApi<TFormData, TOnMount, TOnChange, TOnChangeAsync, TOnBlur, TOnBlurAsync, TOnSubmit, TOnSubmitAsync, TOnDynamic, TOnDynamicAsync, TOnServer, TSubmitMeta>;
1401
+ meta: TSubmitMeta;
1402
+ }) => any | Promise<any>;
1403
+ /**
1404
+ * Specify an action for scenarios where the user tries to submit an invalid form.
1405
+ */
1406
+ onSubmitInvalid?: (props: {
1407
+ value: TFormData;
1408
+ formApi: FormApi<TFormData, TOnMount, TOnChange, TOnChangeAsync, TOnBlur, TOnBlurAsync, TOnSubmit, TOnSubmitAsync, TOnDynamic, TOnDynamicAsync, TOnServer, TSubmitMeta>;
1409
+ meta: TSubmitMeta;
1410
+ }) => void;
1411
+ transform?: (data: unknown) => unknown;
1412
+ }
1413
+ /**
1414
+ * An object representing the validation metadata for a field. Not intended for public usage.
1415
+ */
1416
+ type ValidationMeta = {
1417
+ /**
1418
+ * An abort controller stored in memory to cancel previous async validation attempts.
1419
+ */
1420
+ lastAbortController: AbortController;
1421
+ };
1422
+ /**
1423
+ * An object representing the current state of the form.
1424
+ */
1425
+ type BaseFormState<in out TFormData, in out TOnMount extends undefined | FormValidateOrFn<TFormData>, in out TOnChange extends undefined | FormValidateOrFn<TFormData>, in out TOnChangeAsync extends undefined | FormAsyncValidateOrFn<TFormData>, in out TOnBlur extends undefined | FormValidateOrFn<TFormData>, in out TOnBlurAsync extends undefined | FormAsyncValidateOrFn<TFormData>, in out TOnSubmit extends undefined | FormValidateOrFn<TFormData>, in out TOnSubmitAsync extends undefined | FormAsyncValidateOrFn<TFormData>, in out TOnDynamic extends undefined | FormValidateOrFn<TFormData>, in out TOnDynamicAsync extends undefined | FormAsyncValidateOrFn<TFormData>, in out TOnServer extends undefined | FormAsyncValidateOrFn<TFormData>> = {
1426
+ /**
1427
+ * The current values of the form fields.
1428
+ */
1429
+ values: TFormData;
1430
+ /**
1431
+ * The error map for the form itself.
1432
+ */
1433
+ errorMap: ValidationErrorMap<UnwrapFormValidateOrFn<TOnMount>, UnwrapFormValidateOrFn<TOnChange>, UnwrapFormAsyncValidateOrFn<TOnChangeAsync>, UnwrapFormValidateOrFn<TOnBlur>, UnwrapFormAsyncValidateOrFn<TOnBlurAsync>, UnwrapFormValidateOrFn<TOnSubmit>, UnwrapFormAsyncValidateOrFn<TOnSubmitAsync>, UnwrapFormValidateOrFn<TOnDynamic>, UnwrapFormAsyncValidateOrFn<TOnDynamicAsync>, UnwrapFormAsyncValidateOrFn<TOnServer>>;
1434
+ /**
1435
+ * An internal mechanism used for keeping track of validation logic in a form.
1436
+ */
1437
+ validationMetaMap: Record<ValidationErrorMapKeys, ValidationMeta | undefined>;
1438
+ /**
1439
+ * A record of field metadata for each field in the form, not including the derived properties, like `errors` and such
1440
+ */
1441
+ fieldMetaBase: Partial<Record<DeepKeys<TFormData>, AnyFieldLikeMetaBase>>;
1442
+ /**
1443
+ * A record of submission lifecycle state for each mounted `FormGroupApi`,
1444
+ * keyed by the group's fully-qualified field name. Stored on the form so
1445
+ * group-level state can be read from `FormApi` without having to walk the
1446
+ * mounted group instances.
1447
+ */
1448
+ formGroupStateBase: Partial<Record<string, FormGroupState>>;
1449
+ /**
1450
+ * A boolean indicating if the form is currently in the process of being submitted after `handleSubmit` is called.
1451
+ *
1452
+ * Goes back to `false` when submission completes for one of the following reasons:
1453
+ * - the validation step returned errors.
1454
+ * - the `onSubmit` function has completed.
1455
+ *
1456
+ * Note: if you're running async operations in your `onSubmit` function make sure to await them to ensure `isSubmitting` is set to `false` only when the async operation completes.
1457
+ *
1458
+ * This is useful for displaying loading indicators or disabling form inputs during submission.
1459
+ *
1460
+ */
1461
+ isSubmitting: boolean;
1462
+ /**
1463
+ * A boolean indicating if the `onSubmit` function has completed successfully.
1464
+ *
1465
+ * Goes back to `false` at each new submission attempt.
1466
+ *
1467
+ * Note: you can use isSubmitting to check if the form is currently submitting.
1468
+ */
1469
+ isSubmitted: boolean;
1470
+ /**
1471
+ * A boolean indicating if the form or any of its fields are currently validating.
1472
+ */
1473
+ isValidating: boolean;
1474
+ /**
1475
+ * A counter for tracking the number of submission attempts.
1476
+ */
1477
+ submissionAttempts: number;
1478
+ /**
1479
+ * A boolean indicating if the last submission was successful.
1480
+ */
1481
+ isSubmitSuccessful: boolean;
1482
+ /**
1483
+ * @private, used to force a re-evaluation of the form state when options change
1484
+ */
1485
+ _force_re_eval?: boolean;
1486
+ };
1487
+ type DerivedFormState<in out TFormData, in out TOnMount extends undefined | FormValidateOrFn<TFormData>, in out TOnChange extends undefined | FormValidateOrFn<TFormData>, in out TOnChangeAsync extends undefined | FormAsyncValidateOrFn<TFormData>, in out TOnBlur extends undefined | FormValidateOrFn<TFormData>, in out TOnBlurAsync extends undefined | FormAsyncValidateOrFn<TFormData>, in out TOnSubmit extends undefined | FormValidateOrFn<TFormData>, in out TOnSubmitAsync extends undefined | FormAsyncValidateOrFn<TFormData>, in out TOnDynamic extends undefined | FormValidateOrFn<TFormData>, in out TOnDynamicAsync extends undefined | FormAsyncValidateOrFn<TFormData>, in out TOnServer extends undefined | FormAsyncValidateOrFn<TFormData>> = {
1488
+ /**
1489
+ * A boolean indicating if the form is currently validating.
1490
+ */
1491
+ isFormValidating: boolean;
1492
+ /**
1493
+ * A boolean indicating if the form is valid.
1494
+ */
1495
+ isFormValid: boolean;
1496
+ /**
1497
+ * The error array for the form itself.
1498
+ */
1499
+ errors: Array<NonNullable<UnwrapFormValidateOrFn<TOnMount> | UnwrapFormValidateOrFn<TOnChange> | UnwrapFormAsyncValidateOrFn<TOnChangeAsync> | UnwrapFormValidateOrFn<TOnBlur> | UnwrapFormAsyncValidateOrFn<TOnBlurAsync> | UnwrapFormValidateOrFn<TOnSubmit> | UnwrapFormAsyncValidateOrFn<TOnSubmitAsync> | UnwrapFormValidateOrFn<TOnDynamic> | UnwrapFormAsyncValidateOrFn<TOnDynamicAsync> | UnwrapFormAsyncValidateOrFn<TOnServer>>>;
1500
+ /**
1501
+ * A boolean indicating if any of the form fields are currently validating.
1502
+ */
1503
+ isFieldsValidating: boolean;
1504
+ /**
1505
+ * A boolean indicating if all the form fields are valid. Evaluates `true` if there are no field errors.
1506
+ */
1507
+ isFieldsValid: boolean;
1508
+ /**
1509
+ * A boolean indicating if any of the form fields have been touched.
1510
+ */
1511
+ isTouched: boolean;
1512
+ /**
1513
+ * A boolean indicating if any of the form fields have been blurred.
1514
+ */
1515
+ isBlurred: boolean;
1516
+ /**
1517
+ * A boolean indicating if any of the form's fields' values have been modified by the user. Evaluates `true` if the user have modified at least one of the fields. Opposite of `isPristine`.
1518
+ */
1519
+ isDirty: boolean;
1520
+ /**
1521
+ * A boolean indicating if none of the form's fields' values have been modified by the user. Evaluates `true` if the user have not modified any of the fields. Opposite of `isDirty`.
1522
+ */
1523
+ isPristine: boolean;
1524
+ /**
1525
+ * A boolean indicating if all of the form's fields are the same as default values.
1526
+ */
1527
+ isDefaultValue: boolean;
1528
+ /**
1529
+ * A boolean indicating if the form and all its fields are valid. Evaluates `true` if there are no errors.
1530
+ */
1531
+ isValid: boolean;
1532
+ /**
1533
+ * A boolean indicating if the form can be submitted based on its current state.
1534
+ */
1535
+ canSubmit: boolean;
1536
+ /**
1537
+ * A record of field metadata for each field in the form.
1538
+ */
1539
+ fieldMeta: Partial<Record<DeepKeys<TFormData>, AnyFieldLikeMeta>>;
1540
+ };
1541
+ interface FormState<in out TFormData, in out TOnMount extends undefined | FormValidateOrFn<TFormData>, in out TOnChange extends undefined | FormValidateOrFn<TFormData>, in out TOnChangeAsync extends undefined | FormAsyncValidateOrFn<TFormData>, in out TOnBlur extends undefined | FormValidateOrFn<TFormData>, in out TOnBlurAsync extends undefined | FormAsyncValidateOrFn<TFormData>, in out TOnSubmit extends undefined | FormValidateOrFn<TFormData>, in out TOnSubmitAsync extends undefined | FormAsyncValidateOrFn<TFormData>, in out TOnDynamic extends undefined | FormValidateOrFn<TFormData>, in out TOnDynamicAsync extends undefined | FormAsyncValidateOrFn<TFormData>, in out TOnServer extends undefined | FormAsyncValidateOrFn<TFormData>> extends BaseFormState<TFormData, TOnMount, TOnChange, TOnChangeAsync, TOnBlur, TOnBlurAsync, TOnSubmit, TOnSubmitAsync, TOnDynamic, TOnDynamicAsync, TOnServer>, DerivedFormState<TFormData, TOnMount, TOnChange, TOnChangeAsync, TOnBlur, TOnBlurAsync, TOnSubmit, TOnSubmitAsync, TOnDynamic, TOnDynamicAsync, TOnServer> {}
1542
+ /**
1543
+ * @public
1544
+ *
1545
+ * A type representing the Form API with all generics set to `any` for convenience.
1546
+ */
1547
+ type AnyFormApi$1 = FormApi<any, any, any, any, any, any, any, any, any, any, any, any>;
1548
+ interface ValidateOpts<TFormData> {
1549
+ dontUpdateFormErrorMap?: boolean;
1550
+ filterFieldNames?: (fieldName: DeepKeys<TFormData>) => boolean;
1551
+ group?: AnyFormGroupApi;
1552
+ }
1553
+ /**
1554
+ * We cannot use methods and must use arrow functions. Otherwise, our React adapters
1555
+ * will break due to loss of the method when using spread.
1556
+ */
1557
+ /**
1558
+ * A class representing the Form API. It handles the logic and interactions with the form state.
1559
+ *
1560
+ * Normally, you will not need to create a new `FormApi` instance directly. Instead, you will use a framework
1561
+ * hook/function like `useForm` or `createForm` to create a new instance for you that uses your framework's reactivity model.
1562
+ * However, if you need to create a new instance manually, you can do so by calling the `new FormApi` constructor.
1563
+ */
1564
+ declare class FormApi<in out TFormData, in out TOnMount extends undefined | FormValidateOrFn<TFormData>, in out TOnChange extends undefined | FormValidateOrFn<TFormData>, in out TOnChangeAsync extends undefined | FormAsyncValidateOrFn<TFormData>, in out TOnBlur extends undefined | FormValidateOrFn<TFormData>, in out TOnBlurAsync extends undefined | FormAsyncValidateOrFn<TFormData>, in out TOnSubmit extends undefined | FormValidateOrFn<TFormData>, in out TOnSubmitAsync extends undefined | FormAsyncValidateOrFn<TFormData>, in out TOnDynamic extends undefined | FormValidateOrFn<TFormData>, in out TOnDynamicAsync extends undefined | FormAsyncValidateOrFn<TFormData>, in out TOnServer extends undefined | FormAsyncValidateOrFn<TFormData>, in out TSubmitMeta = never> implements FormLikeAPI<TFormData, TSubmitMeta> {
1565
+ /**
1566
+ * The options for the form.
1567
+ */
1568
+ options: FormOptions<TFormData, TOnMount, TOnChange, TOnChangeAsync, TOnBlur, TOnBlurAsync, TOnSubmit, TOnSubmitAsync, TOnDynamic, TOnDynamicAsync, TOnServer, TSubmitMeta>;
1569
+ baseStore: Store<BaseFormState<TFormData, TOnMount, TOnChange, TOnChangeAsync, TOnBlur, TOnBlurAsync, TOnSubmit, TOnSubmitAsync, TOnDynamic, TOnDynamicAsync, TOnServer>>;
1570
+ fieldMetaDerived: Store<FormState<TFormData, TOnMount, TOnChange, TOnChangeAsync, TOnBlur, TOnBlurAsync, TOnSubmit, TOnSubmitAsync, TOnDynamic, TOnDynamicAsync, TOnServer>['fieldMeta']>;
1571
+ /**
1572
+ * A derived store of every mounted `FormGroupApi`'s `meta`, keyed by
1573
+ * group name. Mirrors `fieldMetaDerived` for fields: per-group `meta`
1574
+ * is computed once on the form (from `baseStore.formGroupStateBase`,
1575
+ * `fieldMetaDerived`, and the registered `formGroupApis`) so reads
1576
+ * from a `FormGroupApi.store` instance stay minimal.
1577
+ */
1578
+ formGroupMetaDerived: ReadonlyStore<Record<string, AnyFormGroupMeta>>;
1579
+ store: ReadonlyStore<FormState<TFormData, TOnMount, TOnChange, TOnChangeAsync, TOnBlur, TOnBlurAsync, TOnSubmit, TOnSubmitAsync, TOnDynamic, TOnDynamicAsync, TOnServer>>;
1580
+ /**
1581
+ * A record of field information for each field in the form.
1582
+ */
1583
+ fieldInfo: Partial<Record<DeepKeys<TFormData>, FieldInfo<TFormData>>>;
1584
+ /**
1585
+ * The set of currently-mounted `FormGroupApi` instances belonging to
1586
+ * this form. Used by `FieldApi.validate` to cascade field-level changes
1587
+ * into the validators of any group that encompasses the field.
1588
+ */
1589
+ formGroupApis: Set<AnyFormGroupApi>;
1590
+ get state(): FormState<TFormData, TOnMount, TOnChange, TOnChangeAsync, TOnBlur, TOnBlurAsync, TOnSubmit, TOnSubmitAsync, TOnDynamic, TOnDynamicAsync, TOnServer>;
1591
+ /**
1592
+ * @private
1593
+ */
1594
+ timeoutIds: {
1595
+ validations: Record<ValidationCause, ReturnType<typeof setTimeout> | null>;
1596
+ listeners: Record<ListenerCause, ReturnType<typeof setTimeout> | null>;
1597
+ formListeners: Record<ListenerCause, ReturnType<typeof setTimeout> | null>;
1598
+ };
1599
+ /**
1600
+ * @private
1601
+ */
1602
+ _formId: string;
1603
+ /**
1604
+ * @private
1605
+ */
1606
+ private _devtoolsSubmissionOverride;
1607
+ /**
1608
+ * Constructs a new `FormApi` instance with the given form options.
1609
+ */
1610
+ constructor(opts?: FormOptions<TFormData, TOnMount, TOnChange, TOnChangeAsync, TOnBlur, TOnBlurAsync, TOnSubmit, TOnSubmitAsync, TOnDynamic, TOnDynamicAsync, TOnServer, TSubmitMeta>);
1611
+ get formId(): string;
1612
+ /**
1613
+ * @private
1614
+ */
1615
+ runValidator<TValue extends TStandardSchemaValidatorValue<TFormData> & {
1616
+ formApi: AnyFormApi$1;
1617
+ }, TType extends 'validate' | 'validateAsync'>(props: {
1618
+ validate: TType extends 'validate' ? FormValidateOrFn<TFormData> : FormAsyncValidateOrFn<TFormData>;
1619
+ value: TValue;
1620
+ type: TType;
1621
+ }): unknown;
1622
+ mount: () => () => void;
1623
+ /**
1624
+ * Updates the form options and form state.
1625
+ */
1626
+ update: (options?: FormOptions<TFormData, TOnMount, TOnChange, TOnChangeAsync, TOnBlur, TOnBlurAsync, TOnSubmit, TOnSubmitAsync, TOnDynamic, TOnDynamicAsync, TOnServer, TSubmitMeta>) => void;
1627
+ /**
1628
+ * Resets the form state to the default values.
1629
+ * If values are provided, the form will be reset to those values instead and the default values will be updated.
1630
+ *
1631
+ * @param values - Optional values to reset the form to.
1632
+ * @param opts - Optional options to control the reset behavior.
1633
+ */
1634
+ reset: (values?: TFormData, opts?: {
1635
+ keepDefaultValues?: boolean;
1636
+ }) => void;
1637
+ /**
1638
+ * Validates all fields according to the FIELD level validators.
1639
+ * This will ignore FORM level validators, use form.validate({ValidationCause}) for a complete validation
1640
+ */
1641
+ validateAllFields: (cause: ValidationCause) => Promise<unknown[]>;
1642
+ /**
1643
+ * Validates the children of a specified array in the form starting from a given index until the end using the correct handlers for a given validation type.
1644
+ */
1645
+ validateArrayFieldsStartingFrom: <TField extends DeepKeysOfType<TFormData, any[]>>(field: TField, index: number, cause: ValidationCause) => Promise<unknown[]>;
1646
+ /**
1647
+ * Validates a specified field in the form using the correct handlers for a given validation type.
1648
+ */
1649
+ validateField: <TField extends DeepKeys<TFormData>>(field: TField, cause: ValidationCause) => any[] | Promise<any[]>;
1650
+ /**
1651
+ * TODO: This code is copied from FieldApi, we should refactor to share
1652
+ * @private
1653
+ */
1654
+ validateSync: (cause: ValidationCause, validateOpts?: ValidateOpts<TFormData>) => {
1655
+ hasErrored: boolean;
1656
+ fieldsErrorMap: FormErrorMapFromValidator<TFormData, TOnMount, TOnChange, TOnChangeAsync, TOnBlur, TOnBlurAsync, TOnSubmit, TOnSubmitAsync, TOnDynamic, TOnDynamicAsync>;
1657
+ };
1658
+ /**
1659
+ * @private
1660
+ */
1661
+ validateAsync: (cause: ValidationCause, validateOpts?: ValidateOpts<TFormData>) => Promise<FormErrorMapFromValidator<TFormData, TOnMount, TOnChange, TOnChangeAsync, TOnBlur, TOnBlurAsync, TOnSubmit, TOnSubmitAsync, TOnDynamic, TOnDynamicAsync>>;
1662
+ /**
1663
+ * @private
1664
+ */
1665
+ validate: (cause: ValidationCause, validateOpts?: ValidateOpts<TFormData>) => FormErrorMapFromValidator<TFormData, TOnMount, TOnChange, TOnChangeAsync, TOnBlur, TOnBlurAsync, TOnSubmit, TOnSubmitAsync, TOnDynamic, TOnDynamicAsync> | Promise<FormErrorMapFromValidator<TFormData, TOnMount, TOnChange, TOnChangeAsync, TOnBlur, TOnBlurAsync, TOnSubmit, TOnSubmitAsync, TOnDynamic, TOnDynamicAsync>>;
1666
+ handleSubmit(): Promise<void>;
1667
+ handleSubmit(submitMeta: TSubmitMeta): Promise<void>;
1668
+ /**
1669
+ * Handles the form submission, performs validation, and calls the appropriate onSubmit or onSubmitInvalid callbacks.
1670
+ */
1671
+ _handleSubmit: (submitMeta?: TSubmitMeta) => Promise<void>;
1672
+ /**
1673
+ * Gets the value of the specified field.
1674
+ */
1675
+ getFieldValue: <TField extends DeepKeys<TFormData>>(field: TField) => DeepValue<TFormData, TField>;
1676
+ /**
1677
+ * Gets the metadata of the specified field.
1678
+ */
1679
+ getFieldMeta: <TField extends DeepKeys<TFormData>>(field: TField) => AnyFieldLikeMeta | undefined;
1680
+ /**
1681
+ * Gets the derived `meta` of the form group registered at the given
1682
+ * name. Mirrors `getFieldMeta` for fields. Returns `undefined` if no
1683
+ * `FormGroupApi` with that name is currently mounted.
1684
+ */
1685
+ getFormGroupMeta: (name: string) => AnyFormGroupMeta | undefined;
1686
+ /**
1687
+ * Gets the field info of the specified field.
1688
+ */
1689
+ getFieldInfo: <TField extends DeepKeys<TFormData>>(field: TField) => FieldInfo<TFormData>;
1690
+ /**
1691
+ * Updates the metadata of the specified field.
1692
+ */
1693
+ setFieldMeta: <TField extends DeepKeys<TFormData>>(field: TField, updater: Updater<AnyFieldLikeMetaBase>) => void;
1694
+ /**
1695
+ * resets every field's meta
1696
+ */
1697
+ resetFieldMeta: <TField extends DeepKeys<TFormData>>(fieldMeta: Partial<Record<TField, AnyFieldLikeMeta>>) => Partial<Record<TField, AnyFieldLikeMeta>>;
1698
+ /**
1699
+ * Sets the value of the specified field and optionally updates the touched state.
1700
+ */
1701
+ setFieldValue: <TField extends DeepKeys<TFormData>>(field: TField, updater: Updater<DeepValue<TFormData, TField>>, opts?: UpdateMetaOptions) => void;
1702
+ deleteField: <TField extends DeepKeys<TFormData>>(field: TField) => void;
1703
+ /**
1704
+ * Pushes a value into an array field.
1705
+ */
1706
+ pushFieldValue: <TField extends DeepKeysOfType<TFormData, any[]>>(field: TField, value: DeepValue<TFormData, TField> extends any[] ? DeepValue<TFormData, TField>[number] : never, options?: UpdateMetaOptions) => void;
1707
+ insertFieldValue: <TField extends DeepKeysOfType<TFormData, any[]>>(field: TField, index: number, value: DeepValue<TFormData, TField> extends any[] ? DeepValue<TFormData, TField>[number] : never, options?: UpdateMetaOptions) => Promise<void>;
1708
+ /**
1709
+ * Replaces a value into an array field at the specified index.
1710
+ */
1711
+ replaceFieldValue: <TField extends DeepKeysOfType<TFormData, any[]>>(field: TField, index: number, value: DeepValue<TFormData, TField> extends any[] ? DeepValue<TFormData, TField>[number] : never, options?: UpdateMetaOptions) => Promise<void>;
1712
+ /**
1713
+ * Removes a value from an array field at the specified index.
1714
+ */
1715
+ removeFieldValue: <TField extends DeepKeysOfType<TFormData, any[]>>(field: TField, index: number, options?: UpdateMetaOptions) => Promise<void>;
1716
+ /**
1717
+ * Swaps the values at the specified indices within an array field.
1718
+ */
1719
+ swapFieldValues: <TField extends DeepKeysOfType<TFormData, any[]>>(field: TField, index1: number, index2: number, options?: UpdateMetaOptions) => void;
1720
+ /**
1721
+ * Moves the value at the first specified index to the second specified index within an array field.
1722
+ */
1723
+ moveFieldValues: <TField extends DeepKeysOfType<TFormData, any[]>>(field: TField, index1: number, index2: number, options?: UpdateMetaOptions) => void;
1724
+ /**
1725
+ * Clear all values within an array field.
1726
+ */
1727
+ clearFieldValues: <TField extends DeepKeysOfType<TFormData, any[]>>(field: TField, options?: UpdateMetaOptions) => void;
1728
+ /**
1729
+ * Resets the field value and meta to default state
1730
+ */
1731
+ resetField: <TField extends DeepKeys<TFormData>>(field: TField) => void;
1732
+ /**
1733
+ * Updates the form's errorMap
1734
+ */
1735
+ setErrorMap: (errorMap: FormValidationErrorMap<TFormData, UnwrapFormValidateOrFn<TOnMount>, UnwrapFormValidateOrFn<TOnChange>, UnwrapFormAsyncValidateOrFn<TOnChangeAsync>, UnwrapFormValidateOrFn<TOnBlur>, UnwrapFormAsyncValidateOrFn<TOnBlurAsync>, UnwrapFormValidateOrFn<TOnSubmit>, UnwrapFormAsyncValidateOrFn<TOnSubmitAsync>, UnwrapFormValidateOrFn<TOnDynamic>, UnwrapFormAsyncValidateOrFn<TOnDynamicAsync>, UnwrapFormAsyncValidateOrFn<TOnServer>>) => void;
1736
+ /**
1737
+ * Returns form and field level errors
1738
+ */
1739
+ getAllErrors: () => {
1740
+ form: {
1741
+ errors: Array<NonNullable<UnwrapFormValidateOrFn<TOnMount> | UnwrapFormValidateOrFn<TOnChange> | UnwrapFormAsyncValidateOrFn<TOnChangeAsync> | UnwrapFormValidateOrFn<TOnBlur> | UnwrapFormAsyncValidateOrFn<TOnBlurAsync> | UnwrapFormValidateOrFn<TOnSubmit> | UnwrapFormAsyncValidateOrFn<TOnSubmitAsync> | UnwrapFormValidateOrFn<TOnDynamic> | UnwrapFormAsyncValidateOrFn<TOnDynamicAsync> | UnwrapFormAsyncValidateOrFn<TOnServer>>>;
1742
+ errorMap: ValidationErrorMap<UnwrapFormValidateOrFn<TOnMount>, UnwrapFormValidateOrFn<TOnChange>, UnwrapFormAsyncValidateOrFn<TOnChangeAsync>, UnwrapFormValidateOrFn<TOnBlur>, UnwrapFormAsyncValidateOrFn<TOnBlurAsync>, UnwrapFormValidateOrFn<TOnSubmit>, UnwrapFormAsyncValidateOrFn<TOnSubmitAsync>, UnwrapFormValidateOrFn<TOnDynamic>, UnwrapFormAsyncValidateOrFn<TOnDynamicAsync>, UnwrapFormAsyncValidateOrFn<TOnServer>>;
1743
+ };
1744
+ fields: Record<DeepKeys<TFormData>, {
1745
+ errors: ValidationError[];
1746
+ errorMap: ValidationErrorMap;
1747
+ }>;
1748
+ };
1749
+ /**
1750
+ * Parses the form's values with a given standard schema and returns
1751
+ * issues (if any). This method does NOT set any internal errors.
1752
+ * @param schema The standard schema to parse the form values with.
1753
+ */
1754
+ parseValuesWithSchema: (schema: StandardSchemaV1<TFormData, unknown>) => {
1755
+ form: Record<string, StandardSchemaV1Issue[]>;
1756
+ fields: Record<string, StandardSchemaV1Issue[]>;
1757
+ } | undefined;
1758
+ /**
1759
+ * Parses the form's values with a given standard schema and returns
1760
+ * issues (if any). This method does NOT set any internal errors.
1761
+ * @param schema The standard schema to parse the form values with.
1762
+ */
1763
+ parseValuesWithSchemaAsync: (schema: StandardSchemaV1<TFormData, unknown>) => Promise<{
1764
+ form: Record<string, StandardSchemaV1Issue[]>;
1765
+ fields: Record<string, StandardSchemaV1Issue[]>;
1766
+ } | undefined>;
1767
+ }
1768
+ //#endregion
1769
+ //#region ../../node_modules/.pnpm/@tanstack+devtools-event-client@0.4.4/node_modules/@tanstack/devtools-event-client/dist/esm/plugin.d.ts
1770
+ declare global {
1771
+ var __TANSTACK_EVENT_TARGET__: EventTarget | null;
1772
+ }
1773
+ //#endregion
1774
+ //#region src/components/form/index.d.ts
1775
+ /** The seam this family passes the engine through — the members the
1776
+ * components drive, with the engine's field-name generics opened to
1777
+ * `any`. The engine ships no "any form" alias: its loosest, `FormLikeAPI`,
1778
+ * still pins names to `string`, which a concrete form's literal names
1779
+ * cannot satisfy. */
1780
+ interface AnyFormApi {
1781
+ handleSubmit(): Promise<unknown>;
1782
+ setFieldMeta(field: any, updater: (prev: any) => any): void;
1783
+ Field: Component<any>;
1784
+ }
1785
+ /** The form element itself: native submit interception handing the event
1786
+ * to the engine, one grid, one spacing voice. */
1787
+ interface FormProps extends JSX.FormHTMLAttributes<HTMLFormElement> {
1788
+ form: AnyFormApi;
1789
+ }
1790
+ declare function Form(props: FormProps): JSX.Element;
1791
+ /**
1792
+ * The named slot in the grid: label, control, hint — and the engine's
1793
+ * errors for this name, shown through the same parts the standalone
1794
+ * Field family styles. The children receive the live engine field — in
1795
+ * Solid an accessor to the FieldApi — so every capability the engine
1796
+ * has is right there where the control is wired. Without a Form above
1797
+ * it degrades to a plain labelled field.
1798
+ */
1799
+ interface FormFieldProps extends Omit<JSX.HTMLAttributes<HTMLDivElement>, "children"> {
1800
+ form?: AnyFormApi;
1801
+ name: string;
1802
+ label?: string;
1803
+ hint?: string;
1804
+ required?: boolean;
1805
+ invalid?: boolean;
1806
+ disabled?: boolean;
1807
+ children?: JSX.Element | ((field: any) => JSX.Element);
1808
+ }
1809
+ declare function FormField(props: FormFieldProps): JSX.Element;
1810
+ //#endregion
1811
+ export { SolidFormApi as a, FormApi as c, FormProps as i, FieldApi as l, FormField as n, createField as o, FormFieldProps as r, createForm as s, Form as t };