@jcoreio/zod-forms 1.0.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 (521) hide show
  1. package/FieldPath.d.ts +26 -0
  2. package/FieldPath.d.ts.map +1 -0
  3. package/FieldPath.js +155 -0
  4. package/FieldPath.js.map +1 -0
  5. package/FieldPath.mjs +138 -0
  6. package/FieldPath.mjs.map +1 -0
  7. package/FormAction.d.ts +15 -0
  8. package/FormAction.d.ts.map +1 -0
  9. package/FormAction.js +6 -0
  10. package/FormAction.js.map +1 -0
  11. package/FormAction.mjs +2 -0
  12. package/FormAction.mjs.map +1 -0
  13. package/FormContext.d.ts +39 -0
  14. package/FormContext.d.ts.map +1 -0
  15. package/FormContext.js +10 -0
  16. package/FormContext.js.map +1 -0
  17. package/FormContext.mjs +3 -0
  18. package/FormContext.mjs.map +1 -0
  19. package/FormState.d.ts +31 -0
  20. package/FormState.d.ts.map +1 -0
  21. package/FormState.js +6 -0
  22. package/FormState.js.map +1 -0
  23. package/FormState.mjs +2 -0
  24. package/FormState.mjs.map +1 -0
  25. package/FormStateContext.d.ts +8 -0
  26. package/FormStateContext.d.ts.map +1 -0
  27. package/FormStateContext.js +10 -0
  28. package/FormStateContext.js.map +1 -0
  29. package/FormStateContext.mjs +3 -0
  30. package/FormStateContext.mjs.map +1 -0
  31. package/LICENSE.md +21 -0
  32. package/README.md +154 -0
  33. package/actions/addHandlers.d.ts +15 -0
  34. package/actions/addHandlers.d.ts.map +1 -0
  35. package/actions/addHandlers.js +16 -0
  36. package/actions/addHandlers.js.map +1 -0
  37. package/actions/addHandlers.mjs +7 -0
  38. package/actions/addHandlers.mjs.map +1 -0
  39. package/actions/arrayActions.d.ts +113 -0
  40. package/actions/arrayActions.d.ts.map +1 -0
  41. package/actions/arrayActions.js +146 -0
  42. package/actions/arrayActions.js.map +1 -0
  43. package/actions/arrayActions.mjs +120 -0
  44. package/actions/arrayActions.mjs.map +1 -0
  45. package/actions/initialize.d.ts +13 -0
  46. package/actions/initialize.d.ts.map +1 -0
  47. package/actions/initialize.js +16 -0
  48. package/actions/initialize.js.map +1 -0
  49. package/actions/initialize.mjs +7 -0
  50. package/actions/initialize.mjs.map +1 -0
  51. package/actions/removeHandlers.d.ts +10 -0
  52. package/actions/removeHandlers.d.ts.map +1 -0
  53. package/actions/removeHandlers.js +16 -0
  54. package/actions/removeHandlers.js.map +1 -0
  55. package/actions/removeHandlers.mjs +7 -0
  56. package/actions/removeHandlers.mjs.map +1 -0
  57. package/actions/setMeta.d.ts +9 -0
  58. package/actions/setMeta.d.ts.map +1 -0
  59. package/actions/setMeta.js +14 -0
  60. package/actions/setMeta.js.map +1 -0
  61. package/actions/setMeta.mjs +8 -0
  62. package/actions/setMeta.mjs.map +1 -0
  63. package/actions/setMounted.d.ts +6 -0
  64. package/actions/setMounted.d.ts.map +1 -0
  65. package/actions/setMounted.js +13 -0
  66. package/actions/setMounted.js.map +1 -0
  67. package/actions/setMounted.mjs +7 -0
  68. package/actions/setMounted.mjs.map +1 -0
  69. package/actions/setRawValue.d.ts +9 -0
  70. package/actions/setRawValue.d.ts.map +1 -0
  71. package/actions/setRawValue.js +14 -0
  72. package/actions/setRawValue.js.map +1 -0
  73. package/actions/setRawValue.mjs +8 -0
  74. package/actions/setRawValue.mjs.map +1 -0
  75. package/actions/setSubmitStatus.d.ts +14 -0
  76. package/actions/setSubmitStatus.d.ts.map +1 -0
  77. package/actions/setSubmitStatus.js +16 -0
  78. package/actions/setSubmitStatus.js.map +1 -0
  79. package/actions/setSubmitStatus.mjs +7 -0
  80. package/actions/setSubmitStatus.mjs.map +1 -0
  81. package/actions/setValue.d.ts +12 -0
  82. package/actions/setValue.d.ts.map +1 -0
  83. package/actions/setValue.js +18 -0
  84. package/actions/setValue.js.map +1 -0
  85. package/actions/setValue.mjs +9 -0
  86. package/actions/setValue.mjs.map +1 -0
  87. package/actions/submit.d.ts +5 -0
  88. package/actions/submit.d.ts.map +1 -0
  89. package/actions/submit.js +12 -0
  90. package/actions/submit.js.map +1 -0
  91. package/actions/submit.mjs +6 -0
  92. package/actions/submit.mjs.map +1 -0
  93. package/actions/submitSucceeded.d.ts +5 -0
  94. package/actions/submitSucceeded.d.ts.map +1 -0
  95. package/actions/submitSucceeded.js +12 -0
  96. package/actions/submitSucceeded.js.map +1 -0
  97. package/actions/submitSucceeded.mjs +6 -0
  98. package/actions/submitSucceeded.mjs.map +1 -0
  99. package/createFormMiddleware.d.ts +6 -0
  100. package/createFormMiddleware.d.ts.map +1 -0
  101. package/createFormMiddleware.js +186 -0
  102. package/createFormMiddleware.js.map +1 -0
  103. package/createFormMiddleware.mjs +53 -0
  104. package/createFormMiddleware.mjs.map +1 -0
  105. package/createFormProvider.d.ts +7 -0
  106. package/createFormProvider.d.ts.map +1 -0
  107. package/createFormProvider.js +85 -0
  108. package/createFormProvider.js.map +1 -0
  109. package/createFormProvider.mjs +63 -0
  110. package/createFormProvider.mjs.map +1 -0
  111. package/createFormReducer.d.ts +9 -0
  112. package/createFormReducer.d.ts.map +1 -0
  113. package/createFormReducer.js +95 -0
  114. package/createFormReducer.js.map +1 -0
  115. package/createFormReducer.mjs +84 -0
  116. package/createFormReducer.mjs.map +1 -0
  117. package/createSelectFieldErrorMap.d.ts +32 -0
  118. package/createSelectFieldErrorMap.d.ts.map +1 -0
  119. package/createSelectFieldErrorMap.js +43 -0
  120. package/createSelectFieldErrorMap.js.map +1 -0
  121. package/createSelectFieldErrorMap.mjs +24 -0
  122. package/createSelectFieldErrorMap.mjs.map +1 -0
  123. package/createSelectFormStatus.d.ts +89 -0
  124. package/createSelectFormStatus.d.ts.map +1 -0
  125. package/createSelectFormStatus.js +54 -0
  126. package/createSelectFormStatus.js.map +1 -0
  127. package/createSelectFormStatus.mjs +28 -0
  128. package/createSelectFormStatus.mjs.map +1 -0
  129. package/createSelectFormValues.d.ts +45 -0
  130. package/createSelectFormValues.d.ts.map +1 -0
  131. package/createSelectFormValues.js +24 -0
  132. package/createSelectFormValues.js.map +1 -0
  133. package/createSelectFormValues.mjs +10 -0
  134. package/createSelectFormValues.mjs.map +1 -0
  135. package/createZodForm.d.ts +33 -0
  136. package/createZodForm.d.ts.map +1 -0
  137. package/createZodForm.js +51 -0
  138. package/createZodForm.js.map +1 -0
  139. package/createZodForm.mjs +46 -0
  140. package/createZodForm.mjs.map +1 -0
  141. package/index.d.ts +14 -0
  142. package/index.d.ts.map +1 -0
  143. package/index.js +76 -0
  144. package/index.js.map +1 -0
  145. package/index.mjs +11 -0
  146. package/index.mjs.map +1 -0
  147. package/initFormState.d.ts +4 -0
  148. package/initFormState.d.ts.map +1 -0
  149. package/initFormState.js +22 -0
  150. package/initFormState.js.map +1 -0
  151. package/initFormState.mjs +16 -0
  152. package/initFormState.mjs.map +1 -0
  153. package/package.json +49 -0
  154. package/reducers/addHandlers.d.ts +24 -0
  155. package/reducers/addHandlers.d.ts.map +1 -0
  156. package/reducers/addHandlers.js +24 -0
  157. package/reducers/addHandlers.js.map +1 -0
  158. package/reducers/addHandlers.mjs +21 -0
  159. package/reducers/addHandlers.mjs.map +1 -0
  160. package/reducers/arrayInsert.d.ts +7 -0
  161. package/reducers/arrayInsert.d.ts.map +1 -0
  162. package/reducers/arrayInsert.js +16 -0
  163. package/reducers/arrayInsert.js.map +1 -0
  164. package/reducers/arrayInsert.mjs +12 -0
  165. package/reducers/arrayInsert.mjs.map +1 -0
  166. package/reducers/arrayInsertRaw.d.ts +7 -0
  167. package/reducers/arrayInsertRaw.d.ts.map +1 -0
  168. package/reducers/arrayInsertRaw.js +22 -0
  169. package/reducers/arrayInsertRaw.js.map +1 -0
  170. package/reducers/arrayInsertRaw.mjs +14 -0
  171. package/reducers/arrayInsertRaw.mjs.map +1 -0
  172. package/reducers/arrayMove.d.ts +8 -0
  173. package/reducers/arrayMove.d.ts.map +1 -0
  174. package/reducers/arrayMove.js +25 -0
  175. package/reducers/arrayMove.js.map +1 -0
  176. package/reducers/arrayMove.mjs +16 -0
  177. package/reducers/arrayMove.mjs.map +1 -0
  178. package/reducers/arrayPop.d.ts +7 -0
  179. package/reducers/arrayPop.d.ts.map +1 -0
  180. package/reducers/arrayPop.js +13 -0
  181. package/reducers/arrayPop.js.map +1 -0
  182. package/reducers/arrayPop.mjs +5 -0
  183. package/reducers/arrayPop.mjs.map +1 -0
  184. package/reducers/arrayPush.d.ts +7 -0
  185. package/reducers/arrayPush.d.ts.map +1 -0
  186. package/reducers/arrayPush.js +15 -0
  187. package/reducers/arrayPush.js.map +1 -0
  188. package/reducers/arrayPush.mjs +11 -0
  189. package/reducers/arrayPush.mjs.map +1 -0
  190. package/reducers/arrayPushRaw.d.ts +7 -0
  191. package/reducers/arrayPushRaw.d.ts.map +1 -0
  192. package/reducers/arrayPushRaw.js +17 -0
  193. package/reducers/arrayPushRaw.js.map +1 -0
  194. package/reducers/arrayPushRaw.mjs +9 -0
  195. package/reducers/arrayPushRaw.mjs.map +1 -0
  196. package/reducers/arrayRemove.d.ts +7 -0
  197. package/reducers/arrayRemove.d.ts.map +1 -0
  198. package/reducers/arrayRemove.js +21 -0
  199. package/reducers/arrayRemove.js.map +1 -0
  200. package/reducers/arrayRemove.mjs +13 -0
  201. package/reducers/arrayRemove.mjs.map +1 -0
  202. package/reducers/arrayRemoveAll.d.ts +7 -0
  203. package/reducers/arrayRemoveAll.d.ts.map +1 -0
  204. package/reducers/arrayRemoveAll.js +14 -0
  205. package/reducers/arrayRemoveAll.js.map +1 -0
  206. package/reducers/arrayRemoveAll.mjs +8 -0
  207. package/reducers/arrayRemoveAll.mjs.map +1 -0
  208. package/reducers/arrayShift.d.ts +7 -0
  209. package/reducers/arrayShift.d.ts.map +1 -0
  210. package/reducers/arrayShift.js +14 -0
  211. package/reducers/arrayShift.js.map +1 -0
  212. package/reducers/arrayShift.mjs +8 -0
  213. package/reducers/arrayShift.mjs.map +1 -0
  214. package/reducers/arraySplice.d.ts +7 -0
  215. package/reducers/arraySplice.d.ts.map +1 -0
  216. package/reducers/arraySplice.js +20 -0
  217. package/reducers/arraySplice.js.map +1 -0
  218. package/reducers/arraySplice.mjs +14 -0
  219. package/reducers/arraySplice.mjs.map +1 -0
  220. package/reducers/arraySpliceRaw.d.ts +7 -0
  221. package/reducers/arraySpliceRaw.d.ts.map +1 -0
  222. package/reducers/arraySpliceRaw.js +26 -0
  223. package/reducers/arraySpliceRaw.js.map +1 -0
  224. package/reducers/arraySpliceRaw.mjs +18 -0
  225. package/reducers/arraySpliceRaw.mjs.map +1 -0
  226. package/reducers/arraySwap.d.ts +8 -0
  227. package/reducers/arraySwap.d.ts.map +1 -0
  228. package/reducers/arraySwap.js +27 -0
  229. package/reducers/arraySwap.js.map +1 -0
  230. package/reducers/arraySwap.mjs +18 -0
  231. package/reducers/arraySwap.mjs.map +1 -0
  232. package/reducers/arrayUnshift.d.ts +7 -0
  233. package/reducers/arrayUnshift.d.ts.map +1 -0
  234. package/reducers/arrayUnshift.js +15 -0
  235. package/reducers/arrayUnshift.js.map +1 -0
  236. package/reducers/arrayUnshift.mjs +11 -0
  237. package/reducers/arrayUnshift.mjs.map +1 -0
  238. package/reducers/arrayUnshiftRaw.d.ts +7 -0
  239. package/reducers/arrayUnshiftRaw.d.ts.map +1 -0
  240. package/reducers/arrayUnshiftRaw.js +17 -0
  241. package/reducers/arrayUnshiftRaw.js.map +1 -0
  242. package/reducers/arrayUnshiftRaw.mjs +9 -0
  243. package/reducers/arrayUnshiftRaw.mjs.map +1 -0
  244. package/reducers/initialize.d.ts +46 -0
  245. package/reducers/initialize.d.ts.map +1 -0
  246. package/reducers/initialize.js +46 -0
  247. package/reducers/initialize.js.map +1 -0
  248. package/reducers/initialize.mjs +38 -0
  249. package/reducers/initialize.mjs.map +1 -0
  250. package/reducers/removeHandlers.d.ts +24 -0
  251. package/reducers/removeHandlers.d.ts.map +1 -0
  252. package/reducers/removeHandlers.js +24 -0
  253. package/reducers/removeHandlers.js.map +1 -0
  254. package/reducers/removeHandlers.mjs +21 -0
  255. package/reducers/removeHandlers.mjs.map +1 -0
  256. package/reducers/setMeta.d.ts +6 -0
  257. package/reducers/setMeta.d.ts.map +1 -0
  258. package/reducers/setMeta.js +28 -0
  259. package/reducers/setMeta.js.map +1 -0
  260. package/reducers/setMeta.mjs +21 -0
  261. package/reducers/setMeta.mjs.map +1 -0
  262. package/reducers/setRawValue.d.ts +27 -0
  263. package/reducers/setRawValue.d.ts.map +1 -0
  264. package/reducers/setRawValue.js +35 -0
  265. package/reducers/setRawValue.js.map +1 -0
  266. package/reducers/setRawValue.mjs +26 -0
  267. package/reducers/setRawValue.mjs.map +1 -0
  268. package/reducers/setSubmitStatus.d.ts +24 -0
  269. package/reducers/setSubmitStatus.d.ts.map +1 -0
  270. package/reducers/setSubmitStatus.js +18 -0
  271. package/reducers/setSubmitStatus.js.map +1 -0
  272. package/reducers/setSubmitStatus.mjs +12 -0
  273. package/reducers/setSubmitStatus.mjs.map +1 -0
  274. package/reducers/setValue.d.ts +28 -0
  275. package/reducers/setValue.d.ts.map +1 -0
  276. package/reducers/setValue.js +41 -0
  277. package/reducers/setValue.js.map +1 -0
  278. package/reducers/setValue.mjs +32 -0
  279. package/reducers/setValue.mjs.map +1 -0
  280. package/reducers/submitSucceeded.d.ts +23 -0
  281. package/reducers/submitSucceeded.d.ts.map +1 -0
  282. package/reducers/submitSucceeded.js +22 -0
  283. package/reducers/submitSucceeded.js.map +1 -0
  284. package/reducers/submitSucceeded.mjs +13 -0
  285. package/reducers/submitSucceeded.mjs.map +1 -0
  286. package/reducers/util/getInverseArrayElementSchema.d.ts +3 -0
  287. package/reducers/util/getInverseArrayElementSchema.d.ts.map +1 -0
  288. package/reducers/util/getInverseArrayElementSchema.js +14 -0
  289. package/reducers/util/getInverseArrayElementSchema.js.map +1 -0
  290. package/reducers/util/getInverseArrayElementSchema.mjs +8 -0
  291. package/reducers/util/getInverseArrayElementSchema.mjs.map +1 -0
  292. package/reducers/util/updateRawArray.d.ts +7 -0
  293. package/reducers/util/updateRawArray.d.ts.map +1 -0
  294. package/reducers/util/updateRawArray.js +14 -0
  295. package/reducers/util/updateRawArray.js.map +1 -0
  296. package/reducers/util/updateRawArray.mjs +8 -0
  297. package/reducers/util/updateRawArray.mjs.map +1 -0
  298. package/src/FieldPath.ts +215 -0
  299. package/src/FormAction.ts +26 -0
  300. package/src/FormContext.ts +44 -0
  301. package/src/FormState.ts +36 -0
  302. package/src/FormStateContext.ts +13 -0
  303. package/src/actions/addHandlers.ts +23 -0
  304. package/src/actions/arrayActions.ts +183 -0
  305. package/src/actions/initialize.ts +16 -0
  306. package/src/actions/removeHandlers.ts +13 -0
  307. package/src/actions/setMeta.ts +17 -0
  308. package/src/actions/setMounted.ts +8 -0
  309. package/src/actions/setRawValue.ts +17 -0
  310. package/src/actions/setSubmitStatus.ts +26 -0
  311. package/src/actions/setValue.ts +21 -0
  312. package/src/actions/submit.ts +7 -0
  313. package/src/actions/submitSucceeded.ts +7 -0
  314. package/src/createFormMiddleware.ts +74 -0
  315. package/src/createFormProvider.tsx +101 -0
  316. package/src/createFormReducer.ts +91 -0
  317. package/src/createSelectFieldErrorMap.ts +47 -0
  318. package/src/createSelectFormStatus.ts +41 -0
  319. package/src/createSelectFormValues.ts +16 -0
  320. package/src/createZodForm.ts +57 -0
  321. package/src/index.ts +32 -0
  322. package/src/initFormState.ts +18 -0
  323. package/src/reducers/addHandlers.ts +21 -0
  324. package/src/reducers/arrayInsert.ts +19 -0
  325. package/src/reducers/arrayInsertRaw.ts +22 -0
  326. package/src/reducers/arrayMove.ts +36 -0
  327. package/src/reducers/arrayPop.ts +16 -0
  328. package/src/reducers/arrayPush.ts +20 -0
  329. package/src/reducers/arrayPushRaw.ts +18 -0
  330. package/src/reducers/arrayRemove.ts +22 -0
  331. package/src/reducers/arrayRemoveAll.ts +15 -0
  332. package/src/reducers/arrayShift.ts +15 -0
  333. package/src/reducers/arraySplice.ts +17 -0
  334. package/src/reducers/arraySpliceRaw.ts +30 -0
  335. package/src/reducers/arraySwap.ts +29 -0
  336. package/src/reducers/arrayUnshift.ts +16 -0
  337. package/src/reducers/arrayUnshiftRaw.ts +18 -0
  338. package/src/reducers/initialize.ts +47 -0
  339. package/src/reducers/removeHandlers.ts +21 -0
  340. package/src/reducers/setMeta.ts +26 -0
  341. package/src/reducers/setRawValue.ts +40 -0
  342. package/src/reducers/setSubmitStatus.ts +15 -0
  343. package/src/reducers/setValue.ts +49 -0
  344. package/src/reducers/submitSucceeded.ts +17 -0
  345. package/src/reducers/util/getInverseArrayElementSchema.ts +9 -0
  346. package/src/reducers/util/updateRawArray.ts +25 -0
  347. package/src/useArrayField.ts +161 -0
  348. package/src/useField.ts +152 -0
  349. package/src/useFormContext.ts +11 -0
  350. package/src/useFormDispatch.ts +13 -0
  351. package/src/useFormSelector.ts +9 -0
  352. package/src/useFormStatus.ts +14 -0
  353. package/src/useFormValues.ts +8 -0
  354. package/src/useHtmlField.ts +235 -0
  355. package/src/useInitialize.ts +14 -0
  356. package/src/useSubmit.ts +29 -0
  357. package/src/util/PathInSchema.ts +7 -0
  358. package/src/util/PathInType.ts +26 -0
  359. package/src/util/SchemaAt.ts +68 -0
  360. package/src/util/acceptsArray.ts +72 -0
  361. package/src/util/acceptsBigint.ts +71 -0
  362. package/src/util/acceptsNumber.ts +71 -0
  363. package/src/util/bindActionsToField.ts +22 -0
  364. package/src/util/get.ts +10 -0
  365. package/src/util/getArrayElementSchema.ts +74 -0
  366. package/src/util/maybeParse.ts +9 -0
  367. package/src/util/parsePathstring.ts +119 -0
  368. package/src/util/pathstring.ts +32 -0
  369. package/src/util/set.ts +25 -0
  370. package/src/util/setAdd.ts +6 -0
  371. package/src/util/setDelete.ts +6 -0
  372. package/useArrayField.d.ts +34 -0
  373. package/useArrayField.d.ts.map +1 -0
  374. package/useArrayField.js +99 -0
  375. package/useArrayField.js.map +1 -0
  376. package/useArrayField.mjs +75 -0
  377. package/useArrayField.mjs.map +1 -0
  378. package/useField.d.ts +34 -0
  379. package/useField.d.ts.map +1 -0
  380. package/useField.js +98 -0
  381. package/useField.js.map +1 -0
  382. package/useField.mjs +75 -0
  383. package/useField.mjs.map +1 -0
  384. package/useFormContext.d.ts +4 -0
  385. package/useFormContext.d.ts.map +1 -0
  386. package/useFormContext.js +17 -0
  387. package/useFormContext.js.map +1 -0
  388. package/useFormContext.mjs +10 -0
  389. package/useFormContext.mjs.map +1 -0
  390. package/useFormDispatch.d.ts +7 -0
  391. package/useFormDispatch.d.ts.map +1 -0
  392. package/useFormDispatch.js +10 -0
  393. package/useFormDispatch.js.map +1 -0
  394. package/useFormDispatch.mjs +4 -0
  395. package/useFormDispatch.mjs.map +1 -0
  396. package/useFormSelector.d.ts +6 -0
  397. package/useFormSelector.d.ts.map +1 -0
  398. package/useFormSelector.js +10 -0
  399. package/useFormSelector.js.map +1 -0
  400. package/useFormSelector.mjs +4 -0
  401. package/useFormSelector.mjs.map +1 -0
  402. package/useFormStatus.d.ts +13 -0
  403. package/useFormStatus.d.ts.map +1 -0
  404. package/useFormStatus.js +15 -0
  405. package/useFormStatus.js.map +1 -0
  406. package/useFormStatus.mjs +10 -0
  407. package/useFormStatus.mjs.map +1 -0
  408. package/useFormValues.d.ts +8 -0
  409. package/useFormValues.d.ts.map +1 -0
  410. package/useFormValues.js +14 -0
  411. package/useFormValues.js.map +1 -0
  412. package/useFormValues.mjs +9 -0
  413. package/useFormValues.mjs.map +1 -0
  414. package/useHtmlField.d.ts +41 -0
  415. package/useHtmlField.d.ts.map +1 -0
  416. package/useHtmlField.js +161 -0
  417. package/useHtmlField.js.map +1 -0
  418. package/useHtmlField.mjs +148 -0
  419. package/useHtmlField.mjs.map +1 -0
  420. package/useInitialize.d.ts +5 -0
  421. package/useInitialize.d.ts.map +1 -0
  422. package/useInitialize.js +18 -0
  423. package/useInitialize.js.map +1 -0
  424. package/useInitialize.mjs +11 -0
  425. package/useInitialize.mjs.map +1 -0
  426. package/useSubmit.d.ts +5 -0
  427. package/useSubmit.d.ts.map +1 -0
  428. package/useSubmit.js +53 -0
  429. package/useSubmit.js.map +1 -0
  430. package/useSubmit.mjs +39 -0
  431. package/useSubmit.mjs.map +1 -0
  432. package/util/PathInSchema.d.ts +5 -0
  433. package/util/PathInSchema.d.ts.map +1 -0
  434. package/util/PathInSchema.js +6 -0
  435. package/util/PathInSchema.js.map +1 -0
  436. package/util/PathInSchema.mjs +2 -0
  437. package/util/PathInSchema.mjs.map +1 -0
  438. package/util/PathInType.d.ts +11 -0
  439. package/util/PathInType.d.ts.map +1 -0
  440. package/util/PathInType.js +6 -0
  441. package/util/PathInType.js.map +1 -0
  442. package/util/PathInType.mjs +2 -0
  443. package/util/PathInType.mjs.map +1 -0
  444. package/util/SchemaAt.d.ts +5 -0
  445. package/util/SchemaAt.d.ts.map +1 -0
  446. package/util/SchemaAt.js +6 -0
  447. package/util/SchemaAt.js.map +1 -0
  448. package/util/SchemaAt.mjs +2 -0
  449. package/util/SchemaAt.mjs.map +1 -0
  450. package/util/acceptsArray.d.ts +3 -0
  451. package/util/acceptsArray.d.ts.map +1 -0
  452. package/util/acceptsArray.js +89 -0
  453. package/util/acceptsArray.js.map +1 -0
  454. package/util/acceptsArray.mjs +105 -0
  455. package/util/acceptsArray.mjs.map +1 -0
  456. package/util/acceptsBigint.d.ts +3 -0
  457. package/util/acceptsBigint.d.ts.map +1 -0
  458. package/util/acceptsBigint.js +88 -0
  459. package/util/acceptsBigint.js.map +1 -0
  460. package/util/acceptsBigint.mjs +104 -0
  461. package/util/acceptsBigint.mjs.map +1 -0
  462. package/util/acceptsNumber.d.ts +3 -0
  463. package/util/acceptsNumber.d.ts.map +1 -0
  464. package/util/acceptsNumber.js +88 -0
  465. package/util/acceptsNumber.js.map +1 -0
  466. package/util/acceptsNumber.mjs +104 -0
  467. package/util/acceptsNumber.mjs.map +1 -0
  468. package/util/bindActionsToField.d.ts +7 -0
  469. package/util/bindActionsToField.d.ts.map +1 -0
  470. package/util/bindActionsToField.js +22 -0
  471. package/util/bindActionsToField.js.map +1 -0
  472. package/util/bindActionsToField.mjs +4 -0
  473. package/util/bindActionsToField.mjs.map +1 -0
  474. package/util/get.d.ts +2 -0
  475. package/util/get.d.ts.map +1 -0
  476. package/util/get.js +12 -0
  477. package/util/get.js.map +1 -0
  478. package/util/get.mjs +4 -0
  479. package/util/get.mjs.map +1 -0
  480. package/util/getArrayElementSchema.d.ts +3 -0
  481. package/util/getArrayElementSchema.d.ts.map +1 -0
  482. package/util/getArrayElementSchema.js +87 -0
  483. package/util/getArrayElementSchema.js.map +1 -0
  484. package/util/getArrayElementSchema.mjs +102 -0
  485. package/util/getArrayElementSchema.mjs.map +1 -0
  486. package/util/maybeParse.d.ts +3 -0
  487. package/util/maybeParse.d.ts.map +1 -0
  488. package/util/maybeParse.js +11 -0
  489. package/util/maybeParse.js.map +1 -0
  490. package/util/maybeParse.mjs +5 -0
  491. package/util/maybeParse.mjs.map +1 -0
  492. package/util/parsePathstring.d.ts +40 -0
  493. package/util/parsePathstring.d.ts.map +1 -0
  494. package/util/parsePathstring.js +55 -0
  495. package/util/parsePathstring.js.map +1 -0
  496. package/util/parsePathstring.mjs +35 -0
  497. package/util/parsePathstring.mjs.map +1 -0
  498. package/util/pathstring.d.ts +13 -0
  499. package/util/pathstring.d.ts.map +1 -0
  500. package/util/pathstring.js +15 -0
  501. package/util/pathstring.js.map +1 -0
  502. package/util/pathstring.mjs +7 -0
  503. package/util/pathstring.mjs.map +1 -0
  504. package/util/set.d.ts +2 -0
  505. package/util/set.d.ts.map +1 -0
  506. package/util/set.js +33 -0
  507. package/util/set.js.map +1 -0
  508. package/util/set.mjs +23 -0
  509. package/util/set.mjs.map +1 -0
  510. package/util/setAdd.d.ts +2 -0
  511. package/util/setAdd.d.ts.map +1 -0
  512. package/util/setAdd.js +13 -0
  513. package/util/setAdd.js.map +1 -0
  514. package/util/setAdd.mjs +7 -0
  515. package/util/setAdd.mjs.map +1 -0
  516. package/util/setDelete.d.ts +2 -0
  517. package/util/setDelete.d.ts.map +1 -0
  518. package/util/setDelete.js +13 -0
  519. package/util/setDelete.js.map +1 -0
  520. package/util/setDelete.mjs +7 -0
  521. package/util/setDelete.mjs.map +1 -0
@@ -0,0 +1,84 @@
1
+ import { initFormState } from "./initFormState.mjs";
2
+ import { addHandlersReducer } from "./reducers/addHandlers.mjs";
3
+ import { removeHandlersReducer } from "./reducers/removeHandlers.mjs";
4
+ import { createSetValueReducer } from "./reducers/setValue.mjs";
5
+ import { createSetRawValueReducer } from "./reducers/setRawValue.mjs";
6
+ import { setMetaReducer } from "./reducers/setMeta.mjs";
7
+ import { submitSucceededReducer } from "./reducers/submitSucceeded.mjs";
8
+ import { setSubmitStatusReducer } from "./reducers/setSubmitStatus.mjs";
9
+ import { createInitializeReducer } from "./reducers/initialize.mjs";
10
+ import { arrayPopReducer } from "./reducers/arrayPop.mjs";
11
+ import { arrayMoveReducer } from "./reducers/arrayMove.mjs";
12
+ import { arrayRemoveReducer } from "./reducers/arrayRemove.mjs";
13
+ import { arrayRemoveAllReducer } from "./reducers/arrayRemoveAll.mjs";
14
+ import { arrayShiftReducer } from "./reducers/arrayShift.mjs";
15
+ import { arraySwapReducer } from "./reducers/arraySwap.mjs";
16
+ import { arrayPushRawReducer } from "./reducers/arrayPushRaw.mjs";
17
+ import { arrayInsertRawReducer } from "./reducers/arrayInsertRaw.mjs";
18
+ import { arraySpliceRawReducer } from "./reducers/arraySpliceRaw.mjs";
19
+ import { arrayUnshiftRawReducer } from "./reducers/arrayUnshiftRaw.mjs";
20
+ import { arrayPushReducer } from "./reducers/arrayPush.mjs";
21
+ import { arrayUnshiftReducer } from "./reducers/arrayUnshift.mjs";
22
+ import { arrayInsertReducer } from "./reducers/arrayInsert.mjs";
23
+ import { arraySpliceReducer } from "./reducers/arraySplice.mjs";
24
+ export function createFormReducer(options) {
25
+ const initializeReducer = createInitializeReducer(options);
26
+ const setValueReducer = createSetValueReducer(options);
27
+ const setRawValueReducer = createSetRawValueReducer(options);
28
+ const formReducer = (state = initFormState(), action) => {
29
+ switch (action.type) {
30
+ case 'setMounted':
31
+ return {
32
+ ...state,
33
+ mounted: action.mounted
34
+ };
35
+ case 'addHandlers':
36
+ return addHandlersReducer(state, action);
37
+ case 'removeHandlers':
38
+ return removeHandlersReducer(state, action);
39
+ case 'initialize':
40
+ return initializeReducer(state, action);
41
+ case 'setSubmitStatus':
42
+ return setSubmitStatusReducer(state, action);
43
+ case 'submitSucceeded':
44
+ return submitSucceededReducer(state);
45
+ case 'setValue':
46
+ return setValueReducer(state, action);
47
+ case 'setRawValue':
48
+ return setRawValueReducer(state, action);
49
+ case 'setMeta':
50
+ return setMetaReducer(state, action);
51
+ case 'arrayInsert':
52
+ return arrayInsertReducer(formReducer, state, action);
53
+ case 'arrayInsertRaw':
54
+ return arrayInsertRawReducer(formReducer, state, action);
55
+ case 'arrayMove':
56
+ return arrayMoveReducer(formReducer, state, action);
57
+ case 'arrayPop':
58
+ return arrayPopReducer(formReducer, state, action);
59
+ case 'arrayPush':
60
+ return arrayPushReducer(formReducer, state, action);
61
+ case 'arrayPushRaw':
62
+ return arrayPushRawReducer(formReducer, state, action);
63
+ case 'arrayRemove':
64
+ return arrayRemoveReducer(formReducer, state, action);
65
+ case 'arrayRemoveAll':
66
+ return arrayRemoveAllReducer(formReducer, state, action);
67
+ case 'arrayShift':
68
+ return arrayShiftReducer(formReducer, state, action);
69
+ case 'arraySplice':
70
+ return arraySpliceReducer(formReducer, state, action);
71
+ case 'arraySpliceRaw':
72
+ return arraySpliceRawReducer(formReducer, state, action);
73
+ case 'arraySwap':
74
+ return arraySwapReducer(formReducer, state, action);
75
+ case 'arrayUnshift':
76
+ return arrayUnshiftReducer(formReducer, state, action);
77
+ case 'arrayUnshiftRaw':
78
+ return arrayUnshiftRawReducer(formReducer, state, action);
79
+ }
80
+ return state;
81
+ };
82
+ return formReducer;
83
+ }
84
+ //# sourceMappingURL=createFormReducer.mjs.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"createFormReducer.mjs","names":["initFormState","addHandlersReducer","removeHandlersReducer","createSetValueReducer","createSetRawValueReducer","setMetaReducer","submitSucceededReducer","setSubmitStatusReducer","createInitializeReducer","arrayPopReducer","arrayMoveReducer","arrayRemoveReducer","arrayRemoveAllReducer","arrayShiftReducer","arraySwapReducer","arrayPushRawReducer","arrayInsertRawReducer","arraySpliceRawReducer","arrayUnshiftRawReducer","arrayPushReducer","arrayUnshiftReducer","arrayInsertReducer","arraySpliceReducer","createFormReducer","options","initializeReducer","setValueReducer","setRawValueReducer","formReducer","state","action","type","mounted"],"sources":["src/createFormReducer.ts"],"sourcesContent":["import { Reducer } from 'redux'\nimport z from 'zod'\nimport { FormAction } from './FormAction'\nimport { FormState } from './FormState'\nimport { initFormState } from './initFormState'\nimport { addHandlersReducer } from './reducers/addHandlers'\nimport { removeHandlersReducer } from './reducers/removeHandlers'\nimport { createSetValueReducer } from './reducers/setValue'\nimport { createSetRawValueReducer } from './reducers/setRawValue'\nimport { setMetaReducer } from './reducers/setMeta'\nimport { submitSucceededReducer } from './reducers/submitSucceeded'\nimport { setSubmitStatusReducer } from './reducers/setSubmitStatus'\nimport { createInitializeReducer } from './reducers/initialize'\nimport { arrayPopReducer } from './reducers/arrayPop'\nimport { arrayMoveReducer } from './reducers/arrayMove'\nimport { arrayRemoveReducer } from './reducers/arrayRemove'\nimport { arrayRemoveAllReducer } from './reducers/arrayRemoveAll'\nimport { arrayShiftReducer } from './reducers/arrayShift'\nimport { arraySwapReducer } from './reducers/arraySwap'\nimport { arrayPushRawReducer } from './reducers/arrayPushRaw'\nimport { arrayInsertRawReducer } from './reducers/arrayInsertRaw'\nimport { arraySpliceRawReducer } from './reducers/arraySpliceRaw'\nimport { arrayUnshiftRawReducer } from './reducers/arrayUnshiftRaw'\nimport { arrayPushReducer } from './reducers/arrayPush'\nimport { arrayUnshiftReducer } from './reducers/arrayUnshift'\nimport { arrayInsertReducer } from './reducers/arrayInsert'\nimport { arraySpliceReducer } from './reducers/arraySplice'\n\nexport function createFormReducer<T extends z.ZodTypeAny>(options: {\n schema: T\n inverseSchema: z.ZodType<z.input<T>, any, z.output<T>>\n}): Reducer<FormState<T>, FormAction<T>> {\n const initializeReducer = createInitializeReducer(options)\n const setValueReducer = createSetValueReducer(options)\n const setRawValueReducer = createSetRawValueReducer(options)\n const formReducer = (\n state: FormState<T> = initFormState(),\n action: FormAction<T>\n ): FormState<T> => {\n switch (action.type) {\n case 'setMounted':\n return { ...state, mounted: action.mounted }\n case 'addHandlers':\n return addHandlersReducer(state, action)\n case 'removeHandlers':\n return removeHandlersReducer(state, action)\n case 'initialize':\n return initializeReducer(state, action)\n case 'setSubmitStatus':\n return setSubmitStatusReducer(state, action)\n case 'submitSucceeded':\n return submitSucceededReducer(state)\n case 'setValue':\n return setValueReducer(state, action)\n case 'setRawValue':\n return setRawValueReducer(state, action)\n case 'setMeta':\n return setMetaReducer(state, action)\n case 'arrayInsert':\n return arrayInsertReducer(formReducer, state, action)\n case 'arrayInsertRaw':\n return arrayInsertRawReducer(formReducer, state, action)\n case 'arrayMove':\n return arrayMoveReducer(formReducer, state, action)\n case 'arrayPop':\n return arrayPopReducer(formReducer, state, action)\n case 'arrayPush':\n return arrayPushReducer(formReducer, state, action)\n case 'arrayPushRaw':\n return arrayPushRawReducer(formReducer, state, action)\n case 'arrayRemove':\n return arrayRemoveReducer(formReducer, state, action)\n case 'arrayRemoveAll':\n return arrayRemoveAllReducer(formReducer, state, action)\n case 'arrayShift':\n return arrayShiftReducer(formReducer, state, action)\n case 'arraySplice':\n return arraySpliceReducer(formReducer, state, action)\n case 'arraySpliceRaw':\n return arraySpliceRawReducer(formReducer, state, action)\n case 'arraySwap':\n return arraySwapReducer(formReducer, state, action)\n case 'arrayUnshift':\n return arrayUnshiftReducer(formReducer, state, action)\n case 'arrayUnshiftRaw':\n return arrayUnshiftRawReducer(formReducer, state, action)\n }\n return state\n }\n return formReducer\n}\n"],"mappings":"AAIA,SAASA,aAAa;AACtB,SAASC,kBAAkB;AAC3B,SAASC,qBAAqB;AAC9B,SAASC,qBAAqB;AAC9B,SAASC,wBAAwB;AACjC,SAASC,cAAc;AACvB,SAASC,sBAAsB;AAC/B,SAASC,sBAAsB;AAC/B,SAASC,uBAAuB;AAChC,SAASC,eAAe;AACxB,SAASC,gBAAgB;AACzB,SAASC,kBAAkB;AAC3B,SAASC,qBAAqB;AAC9B,SAASC,iBAAiB;AAC1B,SAASC,gBAAgB;AACzB,SAASC,mBAAmB;AAC5B,SAASC,qBAAqB;AAC9B,SAASC,qBAAqB;AAC9B,SAASC,sBAAsB;AAC/B,SAASC,gBAAgB;AACzB,SAASC,mBAAmB;AAC5B,SAASC,kBAAkB;AAC3B,SAASC,kBAAkB;AAE3B,OAAO,SAASC,iBAAiBA,CAAyBC,OAGzD,EAAwC;EACvC,MAAMC,iBAAiB,GAAGjB,uBAAuB,CAACgB,OAAO,CAAC;EAC1D,MAAME,eAAe,GAAGvB,qBAAqB,CAACqB,OAAO,CAAC;EACtD,MAAMG,kBAAkB,GAAGvB,wBAAwB,CAACoB,OAAO,CAAC;EAC5D,MAAMI,WAAW,GAAGA,CAClBC,KAAmB,GAAG7B,aAAa,CAAC,CAAC,EACrC8B,MAAqB,KACJ;IACjB,QAAQA,MAAM,CAACC,IAAI;MACjB,KAAK,YAAY;QACf,OAAO;UAAE,GAAGF,KAAK;UAAEG,OAAO,EAAEF,MAAM,CAACE;QAAQ,CAAC;MAC9C,KAAK,aAAa;QAChB,OAAO/B,kBAAkB,CAAC4B,KAAK,EAAEC,MAAM,CAAC;MAC1C,KAAK,gBAAgB;QACnB,OAAO5B,qBAAqB,CAAC2B,KAAK,EAAEC,MAAM,CAAC;MAC7C,KAAK,YAAY;QACf,OAAOL,iBAAiB,CAACI,KAAK,EAAEC,MAAM,CAAC;MACzC,KAAK,iBAAiB;QACpB,OAAOvB,sBAAsB,CAACsB,KAAK,EAAEC,MAAM,CAAC;MAC9C,KAAK,iBAAiB;QACpB,OAAOxB,sBAAsB,CAACuB,KAAK,CAAC;MACtC,KAAK,UAAU;QACb,OAAOH,eAAe,CAACG,KAAK,EAAEC,MAAM,CAAC;MACvC,KAAK,aAAa;QAChB,OAAOH,kBAAkB,CAACE,KAAK,EAAEC,MAAM,CAAC;MAC1C,KAAK,SAAS;QACZ,OAAOzB,cAAc,CAACwB,KAAK,EAAEC,MAAM,CAAC;MACtC,KAAK,aAAa;QAChB,OAAOT,kBAAkB,CAACO,WAAW,EAAEC,KAAK,EAAEC,MAAM,CAAC;MACvD,KAAK,gBAAgB;QACnB,OAAOd,qBAAqB,CAACY,WAAW,EAAEC,KAAK,EAAEC,MAAM,CAAC;MAC1D,KAAK,WAAW;QACd,OAAOpB,gBAAgB,CAACkB,WAAW,EAAEC,KAAK,EAAEC,MAAM,CAAC;MACrD,KAAK,UAAU;QACb,OAAOrB,eAAe,CAACmB,WAAW,EAAEC,KAAK,EAAEC,MAAM,CAAC;MACpD,KAAK,WAAW;QACd,OAAOX,gBAAgB,CAACS,WAAW,EAAEC,KAAK,EAAEC,MAAM,CAAC;MACrD,KAAK,cAAc;QACjB,OAAOf,mBAAmB,CAACa,WAAW,EAAEC,KAAK,EAAEC,MAAM,CAAC;MACxD,KAAK,aAAa;QAChB,OAAOnB,kBAAkB,CAACiB,WAAW,EAAEC,KAAK,EAAEC,MAAM,CAAC;MACvD,KAAK,gBAAgB;QACnB,OAAOlB,qBAAqB,CAACgB,WAAW,EAAEC,KAAK,EAAEC,MAAM,CAAC;MAC1D,KAAK,YAAY;QACf,OAAOjB,iBAAiB,CAACe,WAAW,EAAEC,KAAK,EAAEC,MAAM,CAAC;MACtD,KAAK,aAAa;QAChB,OAAOR,kBAAkB,CAACM,WAAW,EAAEC,KAAK,EAAEC,MAAM,CAAC;MACvD,KAAK,gBAAgB;QACnB,OAAOb,qBAAqB,CAACW,WAAW,EAAEC,KAAK,EAAEC,MAAM,CAAC;MAC1D,KAAK,WAAW;QACd,OAAOhB,gBAAgB,CAACc,WAAW,EAAEC,KAAK,EAAEC,MAAM,CAAC;MACrD,KAAK,cAAc;QACjB,OAAOV,mBAAmB,CAACQ,WAAW,EAAEC,KAAK,EAAEC,MAAM,CAAC;MACxD,KAAK,iBAAiB;QACpB,OAAOZ,sBAAsB,CAACU,WAAW,EAAEC,KAAK,EAAEC,MAAM,CAAC;IAC7D;IACA,OAAOD,KAAK;EACd,CAAC;EACD,OAAOD,WAAW;AACpB","ignoreList":[]}
@@ -0,0 +1,32 @@
1
+ import { FormState } from './FormState';
2
+ export type SelectFieldErrorMap = ReturnType<typeof createSelectFieldErrorMap>;
3
+ export declare function createSelectFieldErrorMap(): ((state: FormState<any>) => {
4
+ [x: string]: string | undefined;
5
+ }) & {
6
+ clearCache: () => void;
7
+ resultsCount: () => number;
8
+ resetResultsCount: () => void;
9
+ } & {
10
+ resultFunc: (resultFuncArgs_0: any, resultFuncArgs_1: Error | undefined) => {
11
+ [x: string]: string | undefined;
12
+ };
13
+ memoizedResultFunc: ((resultFuncArgs_0: any, resultFuncArgs_1: Error | undefined) => {
14
+ [x: string]: string | undefined;
15
+ }) & {
16
+ clearCache: () => void;
17
+ resultsCount: () => number;
18
+ resetResultsCount: () => void;
19
+ };
20
+ lastResult: () => {
21
+ [x: string]: string | undefined;
22
+ };
23
+ dependencies: [(state: FormState<any>) => any, (state: FormState<any>) => Error | undefined];
24
+ recomputations: () => number;
25
+ resetRecomputations: () => void;
26
+ dependencyRecomputations: () => number;
27
+ resetDependencyRecomputations: () => void;
28
+ } & {
29
+ argsMemoize: typeof import("reselect").weakMapMemoize;
30
+ memoize: typeof import("reselect").weakMapMemoize;
31
+ };
32
+ //# sourceMappingURL=createSelectFieldErrorMap.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"createSelectFieldErrorMap.d.ts","sourceRoot":"","sources":["src/createSelectFieldErrorMap.ts"],"names":[],"mappings":"AAGA,OAAO,EAAE,SAAS,EAAE,MAAM,aAAa,CAAA;AAEvC,MAAM,MAAM,mBAAmB,GAAG,UAAU,CAAC,OAAO,yBAAyB,CAAC,CAAA;AAE9E,wBAAgB,yBAAyB;;;;;;;;;;;;;;;;;;;;2BAG3B,SAAS,CAAC,GAAG,CAAC,kBACd,SAAS,CAAC,GAAG,CAAC;;;;;;;;EAc3B"}
@@ -0,0 +1,43 @@
1
+ "use strict";
2
+
3
+ Object.defineProperty(exports, "__esModule", {
4
+ value: true
5
+ });
6
+ exports.createSelectFieldErrorMap = createSelectFieldErrorMap;
7
+ var _pathstring = require("./util/pathstring.js");
8
+ var _reselect = require("reselect");
9
+ function createSelectFieldErrorMap() {
10
+ return (0, _reselect.createSelector)([function (state) {
11
+ return state.validationError;
12
+ }, function (state) {
13
+ return state.submitError;
14
+ }], function () {
15
+ for (var _len = arguments.length, errors = new Array(_len), _key = 0; _key < _len; _key++) {
16
+ errors[_key] = arguments[_key];
17
+ }
18
+ return Object.fromEntries(errors.flatMap(function (e) {
19
+ return isZodError(e) ? e.issues.map(function (issue) {
20
+ return [(0, _pathstring.pathstring)(issue.path), messageForIssue(issue)];
21
+ }) : [];
22
+ }));
23
+ });
24
+ }
25
+ function isZodError(error) {
26
+ return error && error.name === 'ZodError';
27
+ }
28
+
29
+ /**
30
+ * Gets less confusing error messages for ordinary users for certain ZodIssues
31
+ */
32
+ function messageForIssue(issue) {
33
+ if (issue.code === 'invalid_type') {
34
+ return issue.received === 'null' || issue.received === 'undefined' ?
35
+ // Without this, the error would say "Expected <type>, received null"
36
+ // or "Invalid number" as below
37
+ 'Required' : issue.expected === 'number' || issue.expected === 'bigint' ?
38
+ // Without this, invalid text input for z.number() would say "Expected number, received string"
39
+ 'Invalid number' : issue.message;
40
+ }
41
+ return issue.message;
42
+ }
43
+ //# sourceMappingURL=createSelectFieldErrorMap.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"createSelectFieldErrorMap.js","names":["_pathstring","require","_reselect","createSelectFieldErrorMap","createSelector","state","validationError","submitError","_len","arguments","length","errors","Array","_key","Object","fromEntries","flatMap","e","isZodError","issues","map","issue","pathstring","path","messageForIssue","error","name","code","received","expected","message"],"sources":["src/createSelectFieldErrorMap.ts"],"sourcesContent":["import z from 'zod'\nimport { pathstring } from './util/pathstring'\nimport { createSelector } from 'reselect'\nimport { FormState } from './FormState'\n\nexport type SelectFieldErrorMap = ReturnType<typeof createSelectFieldErrorMap>\n\nexport function createSelectFieldErrorMap() {\n return createSelector(\n [\n (state: FormState<any>) => state.validationError,\n (state: FormState<any>) => state.submitError,\n ],\n (...errors: any[]): { [K in string]?: string } =>\n Object.fromEntries(\n errors.flatMap((e) =>\n isZodError(e)\n ? e.issues.map((issue) => [\n pathstring(issue.path),\n messageForIssue(issue),\n ])\n : []\n )\n )\n )\n}\n\nfunction isZodError(error: any): error is z.ZodError {\n return error && error.name === 'ZodError'\n}\n\n/**\n * Gets less confusing error messages for ordinary users for certain ZodIssues\n */\nfunction messageForIssue(issue: z.ZodIssue): string {\n if (issue.code === 'invalid_type') {\n return issue.received === 'null' || issue.received === 'undefined'\n ? // Without this, the error would say \"Expected <type>, received null\"\n // or \"Invalid number\" as below\n 'Required'\n : issue.expected === 'number' || issue.expected === 'bigint'\n ? // Without this, invalid text input for z.number() would say \"Expected number, received string\"\n 'Invalid number'\n : issue.message\n }\n return issue.message\n}\n"],"mappings":";;;;;;AACA,IAAAA,WAAA,GAAAC,OAAA;AACA,IAAAC,SAAA,GAAAD,OAAA;AAKO,SAASE,yBAAyBA,CAAA,EAAG;EAC1C,OAAO,IAAAC,wBAAc,EACnB,CACE,UAACC,KAAqB;IAAA,OAAKA,KAAK,CAACC,eAAe;EAAA,GAChD,UAACD,KAAqB;IAAA,OAAKA,KAAK,CAACE,WAAW;EAAA,EAC7C,EACD;IAAA,SAAAC,IAAA,GAAAC,SAAA,CAAAC,MAAA,EAAIC,MAAM,OAAAC,KAAA,CAAAJ,IAAA,GAAAK,IAAA,MAAAA,IAAA,GAAAL,IAAA,EAAAK,IAAA;MAANF,MAAM,CAAAE,IAAA,IAAAJ,SAAA,CAAAI,IAAA;IAAA;IAAA,OACRC,MAAM,CAACC,WAAW,CAChBJ,MAAM,CAACK,OAAO,CAAC,UAACC,CAAC;MAAA,OACfC,UAAU,CAACD,CAAC,CAAC,GACTA,CAAC,CAACE,MAAM,CAACC,GAAG,CAAC,UAACC,KAAK;QAAA,OAAK,CACtB,IAAAC,sBAAU,EAACD,KAAK,CAACE,IAAI,CAAC,EACtBC,eAAe,CAACH,KAAK,CAAC,CACvB;MAAA,EAAC,GACF,EAAE;IAAA,CACR,CACF,CAAC;EAAA,CACL,CAAC;AACH;AAEA,SAASH,UAAUA,CAACO,KAAU,EAAuB;EACnD,OAAOA,KAAK,IAAIA,KAAK,CAACC,IAAI,KAAK,UAAU;AAC3C;;AAEA;AACA;AACA;AACA,SAASF,eAAeA,CAACH,KAAiB,EAAU;EAClD,IAAIA,KAAK,CAACM,IAAI,KAAK,cAAc,EAAE;IACjC,OAAON,KAAK,CAACO,QAAQ,KAAK,MAAM,IAAIP,KAAK,CAACO,QAAQ,KAAK,WAAW;IAC9D;IACA;IACA,UAAU,GACVP,KAAK,CAACQ,QAAQ,KAAK,QAAQ,IAAIR,KAAK,CAACQ,QAAQ,KAAK,QAAQ;IAC1D;IACA,gBAAgB,GAChBR,KAAK,CAACS,OAAO;EACnB;EACA,OAAOT,KAAK,CAACS,OAAO;AACtB","ignoreList":[]}
@@ -0,0 +1,24 @@
1
+ import { pathstring } from "./util/pathstring.mjs";
2
+ import { createSelector } from 'reselect';
3
+ export function createSelectFieldErrorMap() {
4
+ return createSelector([state => state.validationError, state => state.submitError], (...errors) => Object.fromEntries(errors.flatMap(e => isZodError(e) ? e.issues.map(issue => [pathstring(issue.path), messageForIssue(issue)]) : [])));
5
+ }
6
+ function isZodError(error) {
7
+ return error && error.name === 'ZodError';
8
+ }
9
+
10
+ /**
11
+ * Gets less confusing error messages for ordinary users for certain ZodIssues
12
+ */
13
+ function messageForIssue(issue) {
14
+ if (issue.code === 'invalid_type') {
15
+ return issue.received === 'null' || issue.received === 'undefined' ?
16
+ // Without this, the error would say "Expected <type>, received null"
17
+ // or "Invalid number" as below
18
+ 'Required' : issue.expected === 'number' || issue.expected === 'bigint' ?
19
+ // Without this, invalid text input for z.number() would say "Expected number, received string"
20
+ 'Invalid number' : issue.message;
21
+ }
22
+ return issue.message;
23
+ }
24
+ //# sourceMappingURL=createSelectFieldErrorMap.mjs.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"createSelectFieldErrorMap.mjs","names":["pathstring","createSelector","createSelectFieldErrorMap","state","validationError","submitError","errors","Object","fromEntries","flatMap","e","isZodError","issues","map","issue","path","messageForIssue","error","name","code","received","expected","message"],"sources":["src/createSelectFieldErrorMap.ts"],"sourcesContent":["import z from 'zod'\nimport { pathstring } from './util/pathstring'\nimport { createSelector } from 'reselect'\nimport { FormState } from './FormState'\n\nexport type SelectFieldErrorMap = ReturnType<typeof createSelectFieldErrorMap>\n\nexport function createSelectFieldErrorMap() {\n return createSelector(\n [\n (state: FormState<any>) => state.validationError,\n (state: FormState<any>) => state.submitError,\n ],\n (...errors: any[]): { [K in string]?: string } =>\n Object.fromEntries(\n errors.flatMap((e) =>\n isZodError(e)\n ? e.issues.map((issue) => [\n pathstring(issue.path),\n messageForIssue(issue),\n ])\n : []\n )\n )\n )\n}\n\nfunction isZodError(error: any): error is z.ZodError {\n return error && error.name === 'ZodError'\n}\n\n/**\n * Gets less confusing error messages for ordinary users for certain ZodIssues\n */\nfunction messageForIssue(issue: z.ZodIssue): string {\n if (issue.code === 'invalid_type') {\n return issue.received === 'null' || issue.received === 'undefined'\n ? // Without this, the error would say \"Expected <type>, received null\"\n // or \"Invalid number\" as below\n 'Required'\n : issue.expected === 'number' || issue.expected === 'bigint'\n ? // Without this, invalid text input for z.number() would say \"Expected number, received string\"\n 'Invalid number'\n : issue.message\n }\n return issue.message\n}\n"],"mappings":"AACA,SAASA,UAAU;AACnB,SAASC,cAAc,QAAQ,UAAU;AAKzC,OAAO,SAASC,yBAAyBA,CAAA,EAAG;EAC1C,OAAOD,cAAc,CACnB,CACGE,KAAqB,IAAKA,KAAK,CAACC,eAAe,EAC/CD,KAAqB,IAAKA,KAAK,CAACE,WAAW,CAC7C,EACD,CAAC,GAAGC,MAAa,KACfC,MAAM,CAACC,WAAW,CAChBF,MAAM,CAACG,OAAO,CAAEC,CAAC,IACfC,UAAU,CAACD,CAAC,CAAC,GACTA,CAAC,CAACE,MAAM,CAACC,GAAG,CAAEC,KAAK,IAAK,CACtBd,UAAU,CAACc,KAAK,CAACC,IAAI,CAAC,EACtBC,eAAe,CAACF,KAAK,CAAC,CACvB,CAAC,GACF,EACN,CACF,CACJ,CAAC;AACH;AAEA,SAASH,UAAUA,CAACM,KAAU,EAAuB;EACnD,OAAOA,KAAK,IAAIA,KAAK,CAACC,IAAI,KAAK,UAAU;AAC3C;;AAEA;AACA;AACA;AACA,SAASF,eAAeA,CAACF,KAAiB,EAAU;EAClD,IAAIA,KAAK,CAACK,IAAI,KAAK,cAAc,EAAE;IACjC,OAAOL,KAAK,CAACM,QAAQ,KAAK,MAAM,IAAIN,KAAK,CAACM,QAAQ,KAAK,WAAW;IAC9D;IACA;IACA,UAAU,GACVN,KAAK,CAACO,QAAQ,KAAK,QAAQ,IAAIP,KAAK,CAACO,QAAQ,KAAK,QAAQ;IAC1D;IACA,gBAAgB,GAChBP,KAAK,CAACQ,OAAO;EACnB;EACA,OAAOR,KAAK,CAACQ,OAAO;AACtB","ignoreList":[]}
@@ -0,0 +1,89 @@
1
+ import { FormState } from './FormState';
2
+ export type SelectFormStatus = ReturnType<typeof createSelectFormStatus>;
3
+ export type FormStatus = ReturnType<SelectFormStatus>;
4
+ export declare function createSelectFormStatus(): ((state: FormState<any>) => {
5
+ initialized: boolean;
6
+ submitting: boolean;
7
+ submitSucceeded: boolean;
8
+ submitFailed: boolean;
9
+ submitError: Error | undefined;
10
+ validationError: any;
11
+ valid: boolean;
12
+ invalid: boolean;
13
+ pristine: boolean;
14
+ dirty: boolean;
15
+ }) & {
16
+ clearCache: () => void;
17
+ resultsCount: () => number;
18
+ resetResultsCount: () => void;
19
+ } & {
20
+ resultFunc: (resultFuncArgs_0: boolean, resultFuncArgs_1: boolean, resultFuncArgs_2: boolean, resultFuncArgs_3: boolean, resultFuncArgs_4: Error | undefined, resultFuncArgs_5: boolean, resultFuncArgs_6: boolean, resultFuncArgs_7: any, resultFuncArgs_8: boolean, resultFuncArgs_9: boolean) => {
21
+ initialized: boolean;
22
+ submitting: boolean;
23
+ submitSucceeded: boolean;
24
+ submitFailed: boolean;
25
+ submitError: Error | undefined;
26
+ validationError: any;
27
+ valid: boolean;
28
+ invalid: boolean;
29
+ pristine: boolean;
30
+ dirty: boolean;
31
+ };
32
+ memoizedResultFunc: ((resultFuncArgs_0: boolean, resultFuncArgs_1: boolean, resultFuncArgs_2: boolean, resultFuncArgs_3: boolean, resultFuncArgs_4: Error | undefined, resultFuncArgs_5: boolean, resultFuncArgs_6: boolean, resultFuncArgs_7: any, resultFuncArgs_8: boolean, resultFuncArgs_9: boolean) => {
33
+ initialized: boolean;
34
+ submitting: boolean;
35
+ submitSucceeded: boolean;
36
+ submitFailed: boolean;
37
+ submitError: Error | undefined;
38
+ validationError: any;
39
+ valid: boolean;
40
+ invalid: boolean;
41
+ pristine: boolean;
42
+ dirty: boolean;
43
+ }) & {
44
+ clearCache: () => void;
45
+ resultsCount: () => number;
46
+ resetResultsCount: () => void;
47
+ };
48
+ lastResult: () => {
49
+ initialized: boolean;
50
+ submitting: boolean;
51
+ submitSucceeded: boolean;
52
+ submitFailed: boolean;
53
+ submitError: Error | undefined;
54
+ validationError: any;
55
+ valid: boolean;
56
+ invalid: boolean;
57
+ pristine: boolean;
58
+ dirty: boolean;
59
+ };
60
+ dependencies: [(state: FormState<any>) => boolean, (state: FormState<any>) => boolean, (state: FormState<any>) => boolean, (state: FormState<any>) => boolean, (state: FormState<any>) => Error | undefined, (state: FormState<any>) => boolean, (state: FormState<any>) => boolean, ({ validationError }: FormState<any>) => any, (state: FormState<any>) => boolean, ((state: FormState<any>) => boolean) & {
61
+ clearCache: () => void;
62
+ resultsCount: () => number;
63
+ resetResultsCount: () => void;
64
+ } & {
65
+ resultFunc: (resultFuncArgs_0: any, resultFuncArgs_1: any) => boolean;
66
+ memoizedResultFunc: ((resultFuncArgs_0: any, resultFuncArgs_1: any) => boolean) & {
67
+ clearCache: () => void;
68
+ resultsCount: () => number;
69
+ resetResultsCount: () => void;
70
+ };
71
+ lastResult: () => boolean;
72
+ dependencies: [(state: FormState<any>) => any, (state: FormState<any>) => any];
73
+ recomputations: () => number;
74
+ resetRecomputations: () => void;
75
+ dependencyRecomputations: () => number;
76
+ resetDependencyRecomputations: () => void;
77
+ } & {
78
+ argsMemoize: typeof import("reselect").weakMapMemoize;
79
+ memoize: typeof import("reselect").weakMapMemoize;
80
+ }];
81
+ recomputations: () => number;
82
+ resetRecomputations: () => void;
83
+ dependencyRecomputations: () => number;
84
+ resetDependencyRecomputations: () => void;
85
+ } & {
86
+ argsMemoize: typeof import("reselect").weakMapMemoize;
87
+ memoize: typeof import("reselect").weakMapMemoize;
88
+ };
89
+ //# sourceMappingURL=createSelectFormStatus.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"createSelectFormStatus.d.ts","sourceRoot":"","sources":["src/createSelectFormStatus.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,SAAS,EAAE,MAAM,aAAa,CAAA;AAGvC,MAAM,MAAM,gBAAgB,GAAG,UAAU,CAAC,OAAO,sBAAsB,CAAC,CAAA;AACxE,MAAM,MAAM,UAAU,GAAG,UAAU,CAAC,gBAAgB,CAAC,CAAA;AAErD,wBAAgB,sBAAsB;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;2BA4BnB,SAAS,CAAC,GAAG,CAAC,sBAGd,SAAS,CAAC,GAAG,CAAC,sBAPJ,SAAS,CAAC,GAAG,CAAC,sBADnB,SAAS,CAAC,GAAG,CAAC,sBAGb,SAAS,CAAC,GAAG,CAAC,gCADb,SAAS,CAAC,GAAG,CAAC,sBAHf,SAAS,CAAC,GAAG,CAAC,oCAnBe,SAAS,CAAC,GAAG,CAAC,kBA0B/C,SAAS,CAAC,GAAG,CAAC;;;;;;;;;;;;+BAdrB,SAAS,CAAC,GAAG,CAAC,kBACd,SAAS,CAAC,GAAG,CAAC;;;;;;;;;;;;;;;;EAiB3B"}
@@ -0,0 +1,54 @@
1
+ "use strict";
2
+
3
+ var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault");
4
+ Object.defineProperty(exports, "__esModule", {
5
+ value: true
6
+ });
7
+ exports.createSelectFormStatus = createSelectFormStatus;
8
+ var _reselect = require("reselect");
9
+ var _fastDeepEqual = _interopRequireDefault(require("fast-deep-equal"));
10
+ function createSelectFormStatus() {
11
+ var lastValidationError = undefined;
12
+ function selectValidationError(_ref) {
13
+ var _lastValidationError;
14
+ var validationError = _ref.validationError;
15
+ if (validationError === lastValidationError || (0, _fastDeepEqual["default"])(validationError === null || validationError === void 0 ? void 0 : validationError.issues, (_lastValidationError = lastValidationError) === null || _lastValidationError === void 0 ? void 0 : _lastValidationError.issues)) {
16
+ return lastValidationError;
17
+ }
18
+ return lastValidationError = validationError;
19
+ }
20
+ var selectPristine = (0, _reselect.createSelector)([function (state) {
21
+ return state.values;
22
+ }, function (state) {
23
+ return state.initialValues;
24
+ }], _fastDeepEqual["default"]);
25
+ return (0, _reselect.createStructuredSelector)({
26
+ initialized: function initialized(state) {
27
+ return state.initialized;
28
+ },
29
+ submitting: function submitting(state) {
30
+ return state.submitting;
31
+ },
32
+ submitSucceeded: function submitSucceeded(state) {
33
+ return state.submitSucceeded;
34
+ },
35
+ submitFailed: function submitFailed(state) {
36
+ return state.submitFailed;
37
+ },
38
+ submitError: function submitError(state) {
39
+ return state.submitError;
40
+ },
41
+ validationError: selectValidationError,
42
+ valid: function valid(state) {
43
+ return selectValidationError(state) == null;
44
+ },
45
+ invalid: function invalid(state) {
46
+ return selectValidationError(state) != null;
47
+ },
48
+ pristine: selectPristine,
49
+ dirty: function dirty(state) {
50
+ return !selectPristine(state);
51
+ }
52
+ });
53
+ }
54
+ //# sourceMappingURL=createSelectFormStatus.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"createSelectFormStatus.js","names":["_reselect","require","_fastDeepEqual","_interopRequireDefault","createSelectFormStatus","lastValidationError","undefined","selectValidationError","_ref","_lastValidationError","validationError","isEqual","issues","selectPristine","createSelector","state","values","initialValues","createStructuredSelector","initialized","submitting","submitSucceeded","submitFailed","submitError","valid","invalid","pristine","dirty"],"sources":["src/createSelectFormStatus.ts"],"sourcesContent":["import { createSelector, createStructuredSelector } from 'reselect'\nimport { FormState } from './FormState'\nimport isEqual from 'fast-deep-equal'\n\nexport type SelectFormStatus = ReturnType<typeof createSelectFormStatus>\nexport type FormStatus = ReturnType<SelectFormStatus>\n\nexport function createSelectFormStatus() {\n let lastValidationError: FormState<any>['validationError'] = undefined\n\n function selectValidationError({ validationError }: FormState<any>) {\n if (\n validationError === lastValidationError ||\n isEqual(validationError?.issues, lastValidationError?.issues)\n ) {\n return lastValidationError\n }\n return (lastValidationError = validationError)\n }\n\n const selectPristine = createSelector(\n [\n (state: FormState<any>) => state.values,\n (state: FormState<any>) => state.initialValues,\n ],\n isEqual\n )\n\n return createStructuredSelector({\n initialized: (state: FormState<any>) => state.initialized,\n submitting: (state: FormState<any>) => state.submitting,\n submitSucceeded: (state: FormState<any>) => state.submitSucceeded,\n submitFailed: (state: FormState<any>) => state.submitFailed,\n submitError: (state: FormState<any>) => state.submitError,\n validationError: selectValidationError,\n valid: (state: FormState<any>) => selectValidationError(state) == null,\n invalid: (state: FormState<any>) => selectValidationError(state) != null,\n pristine: selectPristine,\n dirty: (state: FormState<any>) => !selectPristine(state),\n })\n}\n"],"mappings":";;;;;;;AAAA,IAAAA,SAAA,GAAAC,OAAA;AAEA,IAAAC,cAAA,GAAAC,sBAAA,CAAAF,OAAA;AAKO,SAASG,sBAAsBA,CAAA,EAAG;EACvC,IAAIC,mBAAsD,GAAGC,SAAS;EAEtE,SAASC,qBAAqBA,CAAAC,IAAA,EAAsC;IAAA,IAAAC,oBAAA;IAAA,IAAnCC,eAAe,GAAAF,IAAA,CAAfE,eAAe;IAC9C,IACEA,eAAe,KAAKL,mBAAmB,IACvC,IAAAM,yBAAO,EAACD,eAAe,aAAfA,eAAe,uBAAfA,eAAe,CAAEE,MAAM,GAAAH,oBAAA,GAAEJ,mBAAmB,cAAAI,oBAAA,uBAAnBA,oBAAA,CAAqBG,MAAM,CAAC,EAC7D;MACA,OAAOP,mBAAmB;IAC5B;IACA,OAAQA,mBAAmB,GAAGK,eAAe;EAC/C;EAEA,IAAMG,cAAc,GAAG,IAAAC,wBAAc,EACnC,CACE,UAACC,KAAqB;IAAA,OAAKA,KAAK,CAACC,MAAM;EAAA,GACvC,UAACD,KAAqB;IAAA,OAAKA,KAAK,CAACE,aAAa;EAAA,EAC/C,EACDN,yBACF,CAAC;EAED,OAAO,IAAAO,kCAAwB,EAAC;IAC9BC,WAAW,EAAE,SAAAA,YAACJ,KAAqB;MAAA,OAAKA,KAAK,CAACI,WAAW;IAAA;IACzDC,UAAU,EAAE,SAAAA,WAACL,KAAqB;MAAA,OAAKA,KAAK,CAACK,UAAU;IAAA;IACvDC,eAAe,EAAE,SAAAA,gBAACN,KAAqB;MAAA,OAAKA,KAAK,CAACM,eAAe;IAAA;IACjEC,YAAY,EAAE,SAAAA,aAACP,KAAqB;MAAA,OAAKA,KAAK,CAACO,YAAY;IAAA;IAC3DC,WAAW,EAAE,SAAAA,YAACR,KAAqB;MAAA,OAAKA,KAAK,CAACQ,WAAW;IAAA;IACzDb,eAAe,EAAEH,qBAAqB;IACtCiB,KAAK,EAAE,SAAAA,MAACT,KAAqB;MAAA,OAAKR,qBAAqB,CAACQ,KAAK,CAAC,IAAI,IAAI;IAAA;IACtEU,OAAO,EAAE,SAAAA,QAACV,KAAqB;MAAA,OAAKR,qBAAqB,CAACQ,KAAK,CAAC,IAAI,IAAI;IAAA;IACxEW,QAAQ,EAAEb,cAAc;IACxBc,KAAK,EAAE,SAAAA,MAACZ,KAAqB;MAAA,OAAK,CAACF,cAAc,CAACE,KAAK,CAAC;IAAA;EAC1D,CAAC,CAAC;AACJ","ignoreList":[]}
@@ -0,0 +1,28 @@
1
+ import { createSelector, createStructuredSelector } from 'reselect';
2
+ import isEqual from 'fast-deep-equal';
3
+ export function createSelectFormStatus() {
4
+ let lastValidationError = undefined;
5
+ function selectValidationError({
6
+ validationError
7
+ }) {
8
+ var _lastValidationError;
9
+ if (validationError === lastValidationError || isEqual(validationError === null || validationError === void 0 ? void 0 : validationError.issues, (_lastValidationError = lastValidationError) === null || _lastValidationError === void 0 ? void 0 : _lastValidationError.issues)) {
10
+ return lastValidationError;
11
+ }
12
+ return lastValidationError = validationError;
13
+ }
14
+ const selectPristine = createSelector([state => state.values, state => state.initialValues], isEqual);
15
+ return createStructuredSelector({
16
+ initialized: state => state.initialized,
17
+ submitting: state => state.submitting,
18
+ submitSucceeded: state => state.submitSucceeded,
19
+ submitFailed: state => state.submitFailed,
20
+ submitError: state => state.submitError,
21
+ validationError: selectValidationError,
22
+ valid: state => selectValidationError(state) == null,
23
+ invalid: state => selectValidationError(state) != null,
24
+ pristine: selectPristine,
25
+ dirty: state => !selectPristine(state)
26
+ });
27
+ }
28
+ //# sourceMappingURL=createSelectFormStatus.mjs.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"createSelectFormStatus.mjs","names":["createSelector","createStructuredSelector","isEqual","createSelectFormStatus","lastValidationError","undefined","selectValidationError","validationError","_lastValidationError","issues","selectPristine","state","values","initialValues","initialized","submitting","submitSucceeded","submitFailed","submitError","valid","invalid","pristine","dirty"],"sources":["src/createSelectFormStatus.ts"],"sourcesContent":["import { createSelector, createStructuredSelector } from 'reselect'\nimport { FormState } from './FormState'\nimport isEqual from 'fast-deep-equal'\n\nexport type SelectFormStatus = ReturnType<typeof createSelectFormStatus>\nexport type FormStatus = ReturnType<SelectFormStatus>\n\nexport function createSelectFormStatus() {\n let lastValidationError: FormState<any>['validationError'] = undefined\n\n function selectValidationError({ validationError }: FormState<any>) {\n if (\n validationError === lastValidationError ||\n isEqual(validationError?.issues, lastValidationError?.issues)\n ) {\n return lastValidationError\n }\n return (lastValidationError = validationError)\n }\n\n const selectPristine = createSelector(\n [\n (state: FormState<any>) => state.values,\n (state: FormState<any>) => state.initialValues,\n ],\n isEqual\n )\n\n return createStructuredSelector({\n initialized: (state: FormState<any>) => state.initialized,\n submitting: (state: FormState<any>) => state.submitting,\n submitSucceeded: (state: FormState<any>) => state.submitSucceeded,\n submitFailed: (state: FormState<any>) => state.submitFailed,\n submitError: (state: FormState<any>) => state.submitError,\n validationError: selectValidationError,\n valid: (state: FormState<any>) => selectValidationError(state) == null,\n invalid: (state: FormState<any>) => selectValidationError(state) != null,\n pristine: selectPristine,\n dirty: (state: FormState<any>) => !selectPristine(state),\n })\n}\n"],"mappings":"AAAA,SAASA,cAAc,EAAEC,wBAAwB,QAAQ,UAAU;AAEnE,OAAOC,OAAO,MAAM,iBAAiB;AAKrC,OAAO,SAASC,sBAAsBA,CAAA,EAAG;EACvC,IAAIC,mBAAsD,GAAGC,SAAS;EAEtE,SAASC,qBAAqBA,CAAC;IAAEC;EAAgC,CAAC,EAAE;IAAA,IAAAC,oBAAA;IAClE,IACED,eAAe,KAAKH,mBAAmB,IACvCF,OAAO,CAACK,eAAe,aAAfA,eAAe,uBAAfA,eAAe,CAAEE,MAAM,GAAAD,oBAAA,GAAEJ,mBAAmB,cAAAI,oBAAA,uBAAnBA,oBAAA,CAAqBC,MAAM,CAAC,EAC7D;MACA,OAAOL,mBAAmB;IAC5B;IACA,OAAQA,mBAAmB,GAAGG,eAAe;EAC/C;EAEA,MAAMG,cAAc,GAAGV,cAAc,CACnC,CACGW,KAAqB,IAAKA,KAAK,CAACC,MAAM,EACtCD,KAAqB,IAAKA,KAAK,CAACE,aAAa,CAC/C,EACDX,OACF,CAAC;EAED,OAAOD,wBAAwB,CAAC;IAC9Ba,WAAW,EAAGH,KAAqB,IAAKA,KAAK,CAACG,WAAW;IACzDC,UAAU,EAAGJ,KAAqB,IAAKA,KAAK,CAACI,UAAU;IACvDC,eAAe,EAAGL,KAAqB,IAAKA,KAAK,CAACK,eAAe;IACjEC,YAAY,EAAGN,KAAqB,IAAKA,KAAK,CAACM,YAAY;IAC3DC,WAAW,EAAGP,KAAqB,IAAKA,KAAK,CAACO,WAAW;IACzDX,eAAe,EAAED,qBAAqB;IACtCa,KAAK,EAAGR,KAAqB,IAAKL,qBAAqB,CAACK,KAAK,CAAC,IAAI,IAAI;IACtES,OAAO,EAAGT,KAAqB,IAAKL,qBAAqB,CAACK,KAAK,CAAC,IAAI,IAAI;IACxEU,QAAQ,EAAEX,cAAc;IACxBY,KAAK,EAAGX,KAAqB,IAAK,CAACD,cAAc,CAACC,KAAK;EACzD,CAAC,CAAC;AACJ","ignoreList":[]}
@@ -0,0 +1,45 @@
1
+ import z from 'zod';
2
+ import { FormState } from './FormState';
3
+ export type SelectFormValues<T extends z.ZodTypeAny> = ReturnType<typeof createSelectFormValues<T>>;
4
+ export declare function createSelectFormValues<T extends z.ZodTypeAny>(): ((state: FormState<T>) => {
5
+ values: z.output<T> | undefined;
6
+ rawValues: unknown;
7
+ initialValues: z.output<T> | undefined;
8
+ rawInitialValues: unknown;
9
+ }) & {
10
+ clearCache: () => void;
11
+ resultsCount: () => number;
12
+ resetResultsCount: () => void;
13
+ } & {
14
+ resultFunc: (resultFuncArgs_0: unknown extends z.output<T> | undefined ? [z.output<T> | undefined] extends [null] ? z.output<T> | undefined : any : z.output<T> | undefined, resultFuncArgs_1: any, resultFuncArgs_2: any, resultFuncArgs_3: unknown extends z.output<T> | undefined ? [z.output<T> | undefined] extends [null] ? z.output<T> | undefined : any : z.output<T> | undefined) => {
15
+ values: z.output<T> | undefined;
16
+ rawValues: unknown;
17
+ initialValues: z.output<T> | undefined;
18
+ rawInitialValues: unknown;
19
+ };
20
+ memoizedResultFunc: ((resultFuncArgs_0: unknown extends z.output<T> | undefined ? [z.output<T> | undefined] extends [null] ? z.output<T> | undefined : any : z.output<T> | undefined, resultFuncArgs_1: any, resultFuncArgs_2: any, resultFuncArgs_3: unknown extends z.output<T> | undefined ? [z.output<T> | undefined] extends [null] ? z.output<T> | undefined : any : z.output<T> | undefined) => {
21
+ values: z.output<T> | undefined;
22
+ rawValues: unknown;
23
+ initialValues: z.output<T> | undefined;
24
+ rawInitialValues: unknown;
25
+ }) & {
26
+ clearCache: () => void;
27
+ resultsCount: () => number;
28
+ resetResultsCount: () => void;
29
+ };
30
+ lastResult: () => {
31
+ values: z.output<T> | undefined;
32
+ rawValues: unknown;
33
+ initialValues: z.output<T> | undefined;
34
+ rawInitialValues: unknown;
35
+ };
36
+ dependencies: [(state: FormState<T>) => z.output<T> | undefined, (state: FormState<T>) => unknown, (state: FormState<T>) => unknown, (state: FormState<T>) => z.output<T> | undefined];
37
+ recomputations: () => number;
38
+ resetRecomputations: () => void;
39
+ dependencyRecomputations: () => number;
40
+ resetDependencyRecomputations: () => void;
41
+ } & {
42
+ argsMemoize: typeof import("reselect").weakMapMemoize;
43
+ memoize: typeof import("reselect").weakMapMemoize;
44
+ };
45
+ //# sourceMappingURL=createSelectFormValues.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"createSelectFormValues.d.ts","sourceRoot":"","sources":["src/createSelectFormValues.ts"],"names":[],"mappings":"AAAA,OAAO,CAAC,MAAM,KAAK,CAAA;AAEnB,OAAO,EAAE,SAAS,EAAE,MAAM,aAAa,CAAA;AAEvC,MAAM,MAAM,gBAAgB,CAAC,CAAC,SAAS,CAAC,CAAC,UAAU,IAAI,UAAU,CAC/D,OAAO,sBAAsB,CAAC,CAAC,CAAC,CACjC,CAAA;AAED,wBAAgB,sBAAsB,CAAC,CAAC,SAAS,CAAC,CAAC,UAAU;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;2BAEzC,SAAS,CAAC,CAAC,CAAC,sCACT,SAAS,CAAC,CAAC,CAAC,sBAEL,SAAS,CAAC,CAAC,CAAC,sBADf,SAAS,CAAC,CAAC,CAAC;;;;;;;;EAGtC"}
@@ -0,0 +1,24 @@
1
+ "use strict";
2
+
3
+ Object.defineProperty(exports, "__esModule", {
4
+ value: true
5
+ });
6
+ exports.createSelectFormValues = createSelectFormValues;
7
+ var _reselect = require("reselect");
8
+ function createSelectFormValues() {
9
+ return (0, _reselect.createStructuredSelector)({
10
+ values: function values(state) {
11
+ return state.values;
12
+ },
13
+ rawValues: function rawValues(state) {
14
+ return state.rawValues;
15
+ },
16
+ initialValues: function initialValues(state) {
17
+ return state.initialValues;
18
+ },
19
+ rawInitialValues: function rawInitialValues(state) {
20
+ return state.rawInitialValues;
21
+ }
22
+ });
23
+ }
24
+ //# sourceMappingURL=createSelectFormValues.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"createSelectFormValues.js","names":["_reselect","require","createSelectFormValues","createStructuredSelector","values","state","rawValues","initialValues","rawInitialValues"],"sources":["src/createSelectFormValues.ts"],"sourcesContent":["import z from 'zod'\nimport { createStructuredSelector } from 'reselect'\nimport { FormState } from './FormState'\n\nexport type SelectFormValues<T extends z.ZodTypeAny> = ReturnType<\n typeof createSelectFormValues<T>\n>\n\nexport function createSelectFormValues<T extends z.ZodTypeAny>() {\n return createStructuredSelector({\n values: (state: FormState<T>) => state.values,\n rawValues: (state: FormState<T>) => state.rawValues,\n initialValues: (state: FormState<T>) => state.initialValues,\n rawInitialValues: (state: FormState<T>) => state.rawInitialValues,\n })\n}\n"],"mappings":";;;;;;AACA,IAAAA,SAAA,GAAAC,OAAA;AAOO,SAASC,sBAAsBA,CAAA,EAA2B;EAC/D,OAAO,IAAAC,kCAAwB,EAAC;IAC9BC,MAAM,EAAE,SAAAA,OAACC,KAAmB;MAAA,OAAKA,KAAK,CAACD,MAAM;IAAA;IAC7CE,SAAS,EAAE,SAAAA,UAACD,KAAmB;MAAA,OAAKA,KAAK,CAACC,SAAS;IAAA;IACnDC,aAAa,EAAE,SAAAA,cAACF,KAAmB;MAAA,OAAKA,KAAK,CAACE,aAAa;IAAA;IAC3DC,gBAAgB,EAAE,SAAAA,iBAACH,KAAmB;MAAA,OAAKA,KAAK,CAACG,gBAAgB;IAAA;EACnE,CAAC,CAAC;AACJ","ignoreList":[]}
@@ -0,0 +1,10 @@
1
+ import { createStructuredSelector } from 'reselect';
2
+ export function createSelectFormValues() {
3
+ return createStructuredSelector({
4
+ values: state => state.values,
5
+ rawValues: state => state.rawValues,
6
+ initialValues: state => state.initialValues,
7
+ rawInitialValues: state => state.rawInitialValues
8
+ });
9
+ }
10
+ //# sourceMappingURL=createSelectFormValues.mjs.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"createSelectFormValues.mjs","names":["createStructuredSelector","createSelectFormValues","values","state","rawValues","initialValues","rawInitialValues"],"sources":["src/createSelectFormValues.ts"],"sourcesContent":["import z from 'zod'\nimport { createStructuredSelector } from 'reselect'\nimport { FormState } from './FormState'\n\nexport type SelectFormValues<T extends z.ZodTypeAny> = ReturnType<\n typeof createSelectFormValues<T>\n>\n\nexport function createSelectFormValues<T extends z.ZodTypeAny>() {\n return createStructuredSelector({\n values: (state: FormState<T>) => state.values,\n rawValues: (state: FormState<T>) => state.rawValues,\n initialValues: (state: FormState<T>) => state.initialValues,\n rawInitialValues: (state: FormState<T>) => state.rawInitialValues,\n })\n}\n"],"mappings":"AACA,SAASA,wBAAwB,QAAQ,UAAU;AAOnD,OAAO,SAASC,sBAAsBA,CAAA,EAA2B;EAC/D,OAAOD,wBAAwB,CAAC;IAC9BE,MAAM,EAAGC,KAAmB,IAAKA,KAAK,CAACD,MAAM;IAC7CE,SAAS,EAAGD,KAAmB,IAAKA,KAAK,CAACC,SAAS;IACnDC,aAAa,EAAGF,KAAmB,IAAKA,KAAK,CAACE,aAAa;IAC3DC,gBAAgB,EAAGH,KAAmB,IAAKA,KAAK,CAACG;EACnD,CAAC,CAAC;AACJ","ignoreList":[]}
@@ -0,0 +1,33 @@
1
+ import z from 'zod';
2
+ import { FieldPath } from './FieldPath';
3
+ import { TypedUseField } from './useField';
4
+ import { TypedUseHtmlField } from './useHtmlField';
5
+ import { useFormStatus } from './useFormStatus';
6
+ import { TypedUseArrayField } from './useArrayField';
7
+ export type ZodForm<T extends z.ZodTypeAny> = ReturnType<typeof createZodForm<T>>;
8
+ export declare function createZodForm<T extends z.ZodTypeAny>({ schema, }: {
9
+ schema: T;
10
+ }): {
11
+ root: FieldPath<T>;
12
+ get: {
13
+ <Path extends import("./util/PathInSchema").PathInSchema<T>>(path: Path): import("./util/SchemaAt").SchemaAt<T, Path> extends never ? never : FieldPath<import("./util/SchemaAt").SchemaAt<T, Path>>;
14
+ <Pathstring extends import("./util/PathInSchema").PathstringInSchema<T>>(path: Pathstring): FieldPath<import("./util/SchemaAt").SchemaAt<T, import("./util/parsePathstring").parsePathstring<Pathstring>>>;
15
+ };
16
+ FormProvider: ({ children }: {
17
+ children: import("react").ReactElement;
18
+ }) => import("react").JSX.Element;
19
+ useFormContext: () => import("./FormContext").FormContextProps<T>;
20
+ useFormStatus: typeof useFormStatus;
21
+ useFormValues: () => {
22
+ values: z.output<T> | undefined;
23
+ rawValues: unknown;
24
+ initialValues: z.output<T> | undefined;
25
+ rawInitialValues: unknown;
26
+ };
27
+ useInitialize: (options: Omit<import("./actions/initialize").InitializeAction<T>, "type">, deps?: import("react").DependencyList) => void;
28
+ useSubmit: (handlers?: import("./actions/addHandlers").Handlers<T> | undefined) => (e: import("react").FormEvent) => void;
29
+ useArrayField: TypedUseArrayField<T>;
30
+ useField: TypedUseField<T>;
31
+ useHtmlField: TypedUseHtmlField<T>;
32
+ };
33
+ //# sourceMappingURL=createZodForm.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"createZodForm.d.ts","sourceRoot":"","sources":["src/createZodForm.ts"],"names":[],"mappings":"AAAA,OAAO,CAAC,MAAM,KAAK,CAAA;AAEnB,OAAO,EAAE,SAAS,EAAE,MAAM,aAAa,CAAA;AAEvC,OAAO,EAAY,aAAa,EAAE,MAAM,YAAY,CAAA;AACpD,OAAO,EAAgB,iBAAiB,EAAE,MAAM,gBAAgB,CAAA;AAEhE,OAAO,EAAE,aAAa,EAAE,MAAM,iBAAiB,CAAA;AAO/C,OAAO,EAAE,kBAAkB,EAAiB,MAAM,iBAAiB,CAAA;AAEnE,MAAM,MAAM,OAAO,CAAC,CAAC,SAAS,CAAC,CAAC,UAAU,IAAI,UAAU,CACtD,OAAO,aAAa,CAAC,CAAC,CAAC,CACxB,CAAA;AAED,wBAAgB,aAAa,CAAC,CAAC,SAAS,CAAC,CAAC,UAAU,EAAE,EACpD,MAAM,GACP,EAAE;IACD,MAAM,EAAE,CAAC,CAAA;CACV;;;;;;;;;;;;;;;;;;;mBA4BmC,kBAAkB,CAAC,CAAC,CAAC;cAC/B,aAAa,CAAC,CAAC,CAAC;kBACR,iBAAiB,CAAC,CAAC,CAAC;EAErD"}
@@ -0,0 +1,51 @@
1
+ "use strict";
2
+
3
+ Object.defineProperty(exports, "__esModule", {
4
+ value: true
5
+ });
6
+ exports.createZodForm = createZodForm;
7
+ var _zodInvertible = require("zod-invertible");
8
+ var _FieldPath = require("./FieldPath.js");
9
+ var _createFormProvider = require("./createFormProvider.js");
10
+ var _useField = require("./useField.js");
11
+ var _useHtmlField = require("./useHtmlField.js");
12
+ var _useFormContext = require("./useFormContext.js");
13
+ var _useFormStatus = require("./useFormStatus.js");
14
+ var _useFormValues = require("./useFormValues.js");
15
+ var _useSubmit = require("./useSubmit.js");
16
+ var _useInitialize = require("./useInitialize.js");
17
+ var _createSelectFormStatus = require("./createSelectFormStatus.js");
18
+ var _createSelectFieldErrorMap = require("./createSelectFieldErrorMap.js");
19
+ var _createSelectFormValues = require("./createSelectFormValues.js");
20
+ var _useArrayField = require("./useArrayField.js");
21
+ function createZodForm(_ref) {
22
+ var schema = _ref.schema;
23
+ var root = _FieldPath.FieldPath.root(schema);
24
+ var inverseSchema = (0, _zodInvertible.invert)(schema);
25
+ var selectFormStatus = (0, _createSelectFormStatus.createSelectFormStatus)();
26
+ var selectFieldErrorMap = (0, _createSelectFieldErrorMap.createSelectFieldErrorMap)();
27
+ var selectFormValues = (0, _createSelectFormValues.createSelectFormValues)();
28
+ var FormProvider = (0, _createFormProvider.createFormProvider)({
29
+ root: root,
30
+ schema: schema,
31
+ inverseSchema: inverseSchema,
32
+ selectFormStatus: selectFormStatus,
33
+ selectFieldErrorMap: selectFieldErrorMap,
34
+ selectFormValues: selectFormValues
35
+ });
36
+ var get = root.get.bind(root);
37
+ return {
38
+ root: root,
39
+ get: get,
40
+ FormProvider: FormProvider,
41
+ useFormContext: _useFormContext.useFormContext,
42
+ useFormStatus: _useFormStatus.useFormStatus,
43
+ useFormValues: _useFormValues.useFormValues,
44
+ useInitialize: _useInitialize.useInitialize,
45
+ useSubmit: _useSubmit.useSubmit,
46
+ useArrayField: _useArrayField.useArrayField,
47
+ useField: _useField.useField,
48
+ useHtmlField: _useHtmlField.useHtmlField
49
+ };
50
+ }
51
+ //# sourceMappingURL=createZodForm.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"createZodForm.js","names":["_zodInvertible","require","_FieldPath","_createFormProvider","_useField","_useHtmlField","_useFormContext","_useFormStatus","_useFormValues","_useSubmit","_useInitialize","_createSelectFormStatus","_createSelectFieldErrorMap","_createSelectFormValues","_useArrayField","createZodForm","_ref","schema","root","FieldPath","inverseSchema","invert","selectFormStatus","createSelectFormStatus","selectFieldErrorMap","createSelectFieldErrorMap","selectFormValues","createSelectFormValues","FormProvider","createFormProvider","get","bind","useFormContext","useFormStatus","useFormValues","useInitialize","useSubmit","useArrayField","useField","useHtmlField"],"sources":["src/createZodForm.ts"],"sourcesContent":["import z from 'zod'\nimport { invert } from 'zod-invertible'\nimport { FieldPath } from './FieldPath'\nimport { createFormProvider } from './createFormProvider'\nimport { useField, TypedUseField } from './useField'\nimport { useHtmlField, TypedUseHtmlField } from './useHtmlField'\nimport { useFormContext } from './useFormContext'\nimport { useFormStatus } from './useFormStatus'\nimport { useFormValues } from './useFormValues'\nimport { useSubmit } from './useSubmit'\nimport { useInitialize } from './useInitialize'\nimport { createSelectFormStatus } from './createSelectFormStatus'\nimport { createSelectFieldErrorMap } from './createSelectFieldErrorMap'\nimport { createSelectFormValues } from './createSelectFormValues'\nimport { TypedUseArrayField, useArrayField } from './useArrayField'\n\nexport type ZodForm<T extends z.ZodTypeAny> = ReturnType<\n typeof createZodForm<T>\n>\n\nexport function createZodForm<T extends z.ZodTypeAny>({\n schema,\n}: {\n schema: T\n}) {\n const root = FieldPath.root(schema)\n const inverseSchema = invert(schema)\n\n const selectFormStatus = createSelectFormStatus()\n const selectFieldErrorMap = createSelectFieldErrorMap()\n const selectFormValues = createSelectFormValues<T>()\n\n const FormProvider = createFormProvider({\n root,\n schema,\n inverseSchema,\n selectFormStatus,\n selectFieldErrorMap,\n selectFormValues,\n })\n\n const get: (typeof root)['get'] = root.get.bind(root)\n\n return {\n root,\n get,\n FormProvider,\n useFormContext: useFormContext<T>,\n useFormStatus,\n useFormValues: useFormValues<T>,\n useInitialize: useInitialize<T>,\n useSubmit: useSubmit<T>,\n useArrayField: useArrayField as TypedUseArrayField<T>,\n useField: useField as TypedUseField<T>,\n useHtmlField: useHtmlField as TypedUseHtmlField<T>,\n }\n}\n"],"mappings":";;;;;;AACA,IAAAA,cAAA,GAAAC,OAAA;AACA,IAAAC,UAAA,GAAAD,OAAA;AACA,IAAAE,mBAAA,GAAAF,OAAA;AACA,IAAAG,SAAA,GAAAH,OAAA;AACA,IAAAI,aAAA,GAAAJ,OAAA;AACA,IAAAK,eAAA,GAAAL,OAAA;AACA,IAAAM,cAAA,GAAAN,OAAA;AACA,IAAAO,cAAA,GAAAP,OAAA;AACA,IAAAQ,UAAA,GAAAR,OAAA;AACA,IAAAS,cAAA,GAAAT,OAAA;AACA,IAAAU,uBAAA,GAAAV,OAAA;AACA,IAAAW,0BAAA,GAAAX,OAAA;AACA,IAAAY,uBAAA,GAAAZ,OAAA;AACA,IAAAa,cAAA,GAAAb,OAAA;AAMO,SAASc,aAAaA,CAAAC,IAAA,EAI1B;EAAA,IAHDC,MAAM,GAAAD,IAAA,CAANC,MAAM;EAIN,IAAMC,IAAI,GAAGC,oBAAS,CAACD,IAAI,CAACD,MAAM,CAAC;EACnC,IAAMG,aAAa,GAAG,IAAAC,qBAAM,EAACJ,MAAM,CAAC;EAEpC,IAAMK,gBAAgB,GAAG,IAAAC,8CAAsB,EAAC,CAAC;EACjD,IAAMC,mBAAmB,GAAG,IAAAC,oDAAyB,EAAC,CAAC;EACvD,IAAMC,gBAAgB,GAAG,IAAAC,8CAAsB,EAAI,CAAC;EAEpD,IAAMC,YAAY,GAAG,IAAAC,sCAAkB,EAAC;IACtCX,IAAI,EAAJA,IAAI;IACJD,MAAM,EAANA,MAAM;IACNG,aAAa,EAAbA,aAAa;IACbE,gBAAgB,EAAhBA,gBAAgB;IAChBE,mBAAmB,EAAnBA,mBAAmB;IACnBE,gBAAgB,EAAhBA;EACF,CAAC,CAAC;EAEF,IAAMI,GAAyB,GAAGZ,IAAI,CAACY,GAAG,CAACC,IAAI,CAACb,IAAI,CAAC;EAErD,OAAO;IACLA,IAAI,EAAJA,IAAI;IACJY,GAAG,EAAHA,GAAG;IACHF,YAAY,EAAZA,YAAY;IACZI,cAAc,EAAEA,8BAAiB;IACjCC,aAAa,EAAbA,4BAAa;IACbC,aAAa,EAAEA,4BAAgB;IAC/BC,aAAa,EAAEA,4BAAgB;IAC/BC,SAAS,EAAEA,oBAAY;IACvBC,aAAa,EAAEA,4BAAsC;IACrDC,QAAQ,EAAEA,kBAA4B;IACtCC,YAAY,EAAEA;EAChB,CAAC;AACH","ignoreList":[]}