envoc-form 3.3.0 → 4.0.1-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 (428) hide show
  1. package/README.md +10 -1
  2. package/dist/css/envoc-form-styles.css +0 -113
  3. package/dist/css/envoc-form-styles.css.map +1 -1
  4. package/es/AddressInput/AddressInput.d.ts +15 -0
  5. package/es/AddressInput/AddressInput.js +21 -97
  6. package/es/AddressInput/UsStates.d.ts +3 -0
  7. package/es/AddressInput/UsStates.js +53 -152
  8. package/es/ConfirmBaseForm/ConfirmBaseForm.d.ts +10 -0
  9. package/es/ConfirmBaseForm/ConfirmBaseForm.js +35 -43
  10. package/es/ConfirmDeleteForm/ConfirmDeleteForm.d.ts +11 -0
  11. package/es/ConfirmDeleteForm/ConfirmDeleteForm.js +54 -40
  12. package/es/DatePickerInput/DatePickerInput.d.ts +14 -0
  13. package/es/DatePickerInput/DatePickerInput.js +63 -95
  14. package/es/Field/CustomFieldInputProps.d.ts +7 -0
  15. package/es/Field/CustomFieldInputProps.js +1 -0
  16. package/es/Field/CustomFieldMetaProps.d.ts +4 -0
  17. package/es/Field/CustomFieldMetaProps.js +1 -0
  18. package/es/Field/Field.d.ts +22 -0
  19. package/es/Field/Field.js +46 -0
  20. package/es/Field/FieldErrorScrollTarget.d.ts +2 -0
  21. package/es/Field/FieldErrorScrollTarget.js +11 -0
  22. package/es/Field/FieldNameContext.d.ts +3 -0
  23. package/es/Field/FieldNameContext.js +3 -0
  24. package/es/Field/FieldSection.d.ts +7 -0
  25. package/es/Field/FieldSection.js +20 -0
  26. package/es/Field/InjectedFieldProps.d.ts +7 -0
  27. package/es/Field/InjectedFieldProps.js +1 -0
  28. package/es/Field/useStandardField.d.ts +15 -0
  29. package/es/Field/useStandardField.js +93 -0
  30. package/es/FieldArray/FieldArray.d.ts +15 -0
  31. package/es/FieldArray/FieldArray.js +80 -0
  32. package/es/File/FileGroup.d.ts +8 -0
  33. package/es/File/FileGroup.js +50 -0
  34. package/es/File/FileList.d.ts +6 -0
  35. package/es/File/FileList.js +20 -0
  36. package/es/File/humanFileSize.d.ts +1 -0
  37. package/es/File/humanFileSize.js +6 -0
  38. package/es/Form/FocusError.d.ts +5 -0
  39. package/es/Form/FocusError.js +41 -53
  40. package/es/Form/Form.d.ts +22 -0
  41. package/es/Form/Form.js +111 -125
  42. package/es/Form/FormBasedPreventNavigation.d.ts +5 -0
  43. package/es/Form/FormBasedPreventNavigation.js +53 -30
  44. package/es/Form/ServerErrorContext.d.ts +10 -0
  45. package/es/Form/ServerErrorContext.js +8 -6
  46. package/es/FormActions.d.ts +7 -0
  47. package/es/FormActions.js +22 -0
  48. package/es/Group.d.ts +13 -0
  49. package/es/Group.js +22 -0
  50. package/es/Input/IconInputGroup.d.ts +9 -0
  51. package/es/Input/IconInputGroup.js +40 -0
  52. package/es/Input/InputGroup.d.ts +12 -0
  53. package/es/Input/InputGroup.js +33 -0
  54. package/es/Input/MoneyInputGroup.d.ts +7 -0
  55. package/es/Input/MoneyInputGroup.js +41 -0
  56. package/es/Input/NumberInputGroup.d.ts +7 -0
  57. package/es/Input/NumberInputGroup.js +41 -0
  58. package/es/Input/StringInputGroup.d.ts +7 -0
  59. package/es/Input/StringInputGroup.js +40 -0
  60. package/es/Normalization/NormalizationFunction.d.ts +4 -0
  61. package/es/Normalization/NormalizationFunction.js +1 -0
  62. package/es/Normalization/normalizers.d.ts +2 -0
  63. package/es/Normalization/normalizers.js +30 -0
  64. package/es/Select/BooleanSelectGroup.d.ts +7 -0
  65. package/es/Select/BooleanSelectGroup.js +27 -0
  66. package/es/Select/NumberSelectGroup.d.ts +8 -0
  67. package/es/Select/NumberSelectGroup.js +19 -0
  68. package/es/Select/SelectGroup.d.ts +22 -0
  69. package/es/Select/SelectGroup.js +59 -0
  70. package/es/Select/SelectGroupPropsHelper.d.ts +3 -0
  71. package/es/Select/SelectGroupPropsHelper.js +1 -0
  72. package/es/Select/StringSelectGroup.d.ts +8 -0
  73. package/es/Select/StringSelectGroup.js +19 -0
  74. package/es/StandardFormActions.d.ts +6 -0
  75. package/es/StandardFormActions.js +23 -24
  76. package/es/SubmitFormButton.d.ts +7 -0
  77. package/es/SubmitFormButton.js +37 -23
  78. package/es/Validation/ValidatedApiResult.d.ts +6 -0
  79. package/es/Validation/ValidatedApiResult.js +1 -0
  80. package/es/Validation/ValidationError.d.ts +5 -0
  81. package/es/Validation/ValidationError.js +1 -0
  82. package/es/Validation/ValidationFunction.d.ts +4 -0
  83. package/es/Validation/ValidationFunction.js +1 -0
  84. package/es/Validation/validators.d.ts +15 -0
  85. package/es/Validation/validators.js +73 -0
  86. package/es/__Tests__/FormTestBase.d.ts +27 -0
  87. package/es/__Tests__/FormTestBase.js +83 -12
  88. package/{src/__Tests__/index.js → es/__Tests__/index.d.ts} +0 -0
  89. package/es/__Tests__/index.js +2 -2
  90. package/es/index.d.ts +57 -0
  91. package/es/index.js +41 -25
  92. package/es/utils/objectContainsNonSerializableProperty.d.ts +1 -0
  93. package/es/utils/objectContainsNonSerializableProperty.js +14 -16
  94. package/es/utils/objectToFormData.d.ts +10 -0
  95. package/es/utils/objectToFormData.js +77 -65
  96. package/es/utils/typeChecks.d.ts +8 -0
  97. package/es/utils/typeChecks.js +18 -25
  98. package/lib/AddressInput/AddressInput.d.ts +15 -0
  99. package/lib/AddressInput/AddressInput.js +27 -123
  100. package/lib/AddressInput/UsStates.d.ts +3 -0
  101. package/lib/AddressInput/UsStates.js +55 -159
  102. package/lib/ConfirmBaseForm/ConfirmBaseForm.d.ts +10 -0
  103. package/lib/ConfirmBaseForm/ConfirmBaseForm.js +41 -57
  104. package/lib/ConfirmDeleteForm/ConfirmDeleteForm.d.ts +11 -0
  105. package/lib/ConfirmDeleteForm/ConfirmDeleteForm.js +60 -56
  106. package/lib/DatePickerInput/DatePickerInput.d.ts +14 -0
  107. package/lib/DatePickerInput/DatePickerInput.js +69 -113
  108. package/lib/Field/CustomFieldInputProps.d.ts +7 -0
  109. package/lib/Field/CustomFieldInputProps.js +2 -0
  110. package/lib/Field/CustomFieldMetaProps.d.ts +4 -0
  111. package/lib/Field/CustomFieldMetaProps.js +2 -0
  112. package/lib/Field/Field.d.ts +22 -0
  113. package/lib/Field/Field.js +51 -0
  114. package/lib/Field/FieldErrorScrollTarget.d.ts +2 -0
  115. package/lib/Field/FieldErrorScrollTarget.js +14 -0
  116. package/lib/Field/FieldNameContext.d.ts +3 -0
  117. package/lib/Field/FieldNameContext.js +9 -0
  118. package/lib/Field/FieldSection.d.ts +7 -0
  119. package/lib/Field/FieldSection.js +23 -0
  120. package/lib/Field/InjectedFieldProps.d.ts +7 -0
  121. package/lib/Field/InjectedFieldProps.js +2 -0
  122. package/lib/Field/useStandardField.d.ts +15 -0
  123. package/lib/Field/useStandardField.js +96 -0
  124. package/lib/FieldArray/FieldArray.d.ts +15 -0
  125. package/lib/FieldArray/FieldArray.js +86 -0
  126. package/lib/File/FileGroup.d.ts +8 -0
  127. package/lib/File/FileGroup.js +55 -0
  128. package/lib/File/FileList.d.ts +6 -0
  129. package/lib/File/FileList.js +23 -0
  130. package/lib/File/humanFileSize.d.ts +1 -0
  131. package/lib/File/humanFileSize.js +10 -0
  132. package/lib/Form/FocusError.d.ts +5 -0
  133. package/lib/Form/FocusError.js +47 -66
  134. package/lib/Form/Form.d.ts +22 -0
  135. package/lib/Form/Form.js +117 -153
  136. package/lib/Form/FormBasedPreventNavigation.d.ts +5 -0
  137. package/lib/Form/FormBasedPreventNavigation.js +56 -39
  138. package/lib/Form/ServerErrorContext.d.ts +10 -0
  139. package/lib/Form/ServerErrorContext.js +14 -18
  140. package/lib/FormActions.d.ts +7 -0
  141. package/lib/FormActions.js +28 -0
  142. package/lib/Group.d.ts +13 -0
  143. package/lib/Group.js +28 -0
  144. package/lib/Input/IconInputGroup.d.ts +9 -0
  145. package/lib/Input/IconInputGroup.js +45 -0
  146. package/lib/Input/InputGroup.d.ts +12 -0
  147. package/lib/Input/InputGroup.js +38 -0
  148. package/lib/Input/MoneyInputGroup.d.ts +7 -0
  149. package/lib/Input/MoneyInputGroup.js +46 -0
  150. package/lib/Input/NumberInputGroup.d.ts +7 -0
  151. package/lib/Input/NumberInputGroup.js +46 -0
  152. package/lib/Input/StringInputGroup.d.ts +7 -0
  153. package/lib/Input/StringInputGroup.js +45 -0
  154. package/lib/Normalization/NormalizationFunction.d.ts +4 -0
  155. package/lib/Normalization/NormalizationFunction.js +2 -0
  156. package/lib/Normalization/normalizers.d.ts +2 -0
  157. package/lib/Normalization/normalizers.js +35 -0
  158. package/lib/Select/BooleanSelectGroup.d.ts +7 -0
  159. package/lib/Select/BooleanSelectGroup.js +34 -0
  160. package/lib/Select/NumberSelectGroup.d.ts +8 -0
  161. package/lib/Select/NumberSelectGroup.js +27 -0
  162. package/lib/Select/SelectGroup.d.ts +22 -0
  163. package/lib/Select/SelectGroup.js +65 -0
  164. package/lib/Select/SelectGroupPropsHelper.d.ts +3 -0
  165. package/lib/Select/SelectGroupPropsHelper.js +2 -0
  166. package/lib/Select/StringSelectGroup.d.ts +8 -0
  167. package/lib/Select/StringSelectGroup.js +27 -0
  168. package/lib/StandardFormActions.d.ts +6 -0
  169. package/lib/StandardFormActions.js +29 -37
  170. package/lib/SubmitFormButton.d.ts +7 -0
  171. package/lib/SubmitFormButton.js +42 -38
  172. package/lib/Validation/ValidatedApiResult.d.ts +6 -0
  173. package/lib/Validation/ValidatedApiResult.js +2 -0
  174. package/lib/Validation/ValidationError.d.ts +5 -0
  175. package/lib/Validation/ValidationError.js +2 -0
  176. package/lib/Validation/ValidationFunction.d.ts +4 -0
  177. package/lib/Validation/ValidationFunction.js +2 -0
  178. package/lib/Validation/validators.d.ts +15 -0
  179. package/lib/Validation/validators.js +86 -0
  180. package/lib/__Tests__/FormTestBase.d.ts +27 -0
  181. package/lib/__Tests__/FormTestBase.js +86 -25
  182. package/lib/__Tests__/index.d.ts +2 -0
  183. package/lib/__Tests__/index.js +8 -15
  184. package/lib/index.d.ts +57 -0
  185. package/lib/index.js +101 -262
  186. package/lib/utils/objectContainsNonSerializableProperty.d.ts +1 -0
  187. package/lib/utils/objectContainsNonSerializableProperty.js +17 -24
  188. package/lib/utils/objectToFormData.d.ts +10 -0
  189. package/lib/utils/objectToFormData.js +79 -73
  190. package/lib/utils/typeChecks.d.ts +8 -0
  191. package/lib/utils/typeChecks.js +29 -58
  192. package/package.json +106 -101
  193. package/src/AddressInput/{AddesssInput.test.js → AddressInput.test.tsx} +7 -3
  194. package/src/AddressInput/AddressInput.tsx +72 -0
  195. package/src/AddressInput/{UsStates.js → UsStates.ts} +3 -1
  196. package/src/AddressInput/__snapshots__/AddressInput.test.tsx.snap +175 -0
  197. package/src/ConfirmBaseForm/ConfirmBaseForm.test.tsx +24 -0
  198. package/src/ConfirmBaseForm/ConfirmBaseForm.tsx +50 -0
  199. package/src/ConfirmBaseForm/__snapshots__/{ConfirmBaseForm.test.js.snap → ConfirmBaseForm.test.tsx.snap} +2 -2
  200. package/src/ConfirmDeleteForm/{ConfirmDeleteForm.test.js → ConfirmDeleteForm.test.tsx} +3 -3
  201. package/src/ConfirmDeleteForm/ConfirmDeleteForm.tsx +67 -0
  202. package/src/ConfirmDeleteForm/__snapshots__/{ConfirmDeleteForm.test.js.snap → ConfirmDeleteForm.test.tsx.snap} +2 -2
  203. package/src/DatePickerInput/DatePickerInput.test.tsx +48 -0
  204. package/src/DatePickerInput/DatePickerInput.tsx +85 -0
  205. package/src/DatePickerInput/__snapshots__/DatePickerInput.test.tsx.snap +151 -0
  206. package/src/Field/CustomFieldInputProps.ts +10 -0
  207. package/src/Field/CustomFieldMetaProps.ts +5 -0
  208. package/src/Field/Field.tsx +90 -0
  209. package/src/Field/FieldErrorScrollTarget.tsx +11 -0
  210. package/src/Field/FieldNameContext.ts +6 -0
  211. package/src/Field/FieldSection.tsx +18 -0
  212. package/src/Field/InjectedFieldProps.ts +8 -0
  213. package/src/Field/useStandardField.ts +121 -0
  214. package/src/FieldArray/FieldArray.tsx +133 -0
  215. package/src/File/FileGroup.test.tsx +35 -0
  216. package/src/File/FileGroup.tsx +71 -0
  217. package/src/File/FileList.tsx +19 -0
  218. package/src/File/__snapshots__/FileGroup.test.tsx.snap +32 -0
  219. package/src/File/humanFileSize.ts +8 -0
  220. package/src/Form/{FocusError.js → FocusError.tsx} +10 -6
  221. package/src/Form/Form.test.tsx +14 -0
  222. package/src/Form/{Form.js → Form.tsx} +71 -31
  223. package/src/Form/FormBasedPreventNavigation.tsx +74 -0
  224. package/src/Form/ServerErrorContext.ts +17 -0
  225. package/src/Form/__snapshots__/{Form.test.js.snap → Form.test.tsx.snap} +1 -1
  226. package/src/FormActions.tsx +34 -0
  227. package/src/Group.tsx +43 -0
  228. package/src/Input/IconInputGroup.tsx +48 -0
  229. package/src/Input/InputGroup.tsx +57 -0
  230. package/src/Input/MoneyInputGroup.tsx +44 -0
  231. package/src/Input/NumberInputGroup.tsx +42 -0
  232. package/src/Input/StringInputGroup.tsx +40 -0
  233. package/src/Input/__Tests__/IconInputGroup.test.tsx +35 -0
  234. package/src/Input/__Tests__/MoneyInputGroup.test.tsx +37 -0
  235. package/src/Input/__Tests__/NumberInputGroup.test.tsx +35 -0
  236. package/src/Input/__Tests__/StringInputGroup.test.tsx +27 -0
  237. package/src/Input/__Tests__/__snapshots__/IconInputGroup.test.tsx.snap +29 -0
  238. package/src/Input/__Tests__/__snapshots__/MoneyInputGroup.test.tsx.snap +31 -0
  239. package/src/Input/__Tests__/__snapshots__/NumberInputGroup.test.tsx.snap +29 -0
  240. package/src/Input/__Tests__/__snapshots__/StringInputGroup.test.tsx.snap +28 -0
  241. package/src/Normalization/NormalizationFunction.ts +4 -0
  242. package/src/{normalizers.js → Normalization/normalizers.ts} +5 -5
  243. package/src/Select/BooleanSelectGroup.tsx +27 -0
  244. package/src/Select/NumberSelectGroup.tsx +14 -0
  245. package/src/Select/SelectGroup.tsx +106 -0
  246. package/src/Select/SelectGroupPropsHelper.ts +4 -0
  247. package/src/Select/StringSelectGroup.tsx +14 -0
  248. package/src/Select/__tests__/BooleanSelectGroup.test.tsx +35 -0
  249. package/src/Select/__tests__/NumberSelectGroup.test.tsx +87 -0
  250. package/src/Select/__tests__/StringSelectGroup.test.tsx +89 -0
  251. package/src/Select/__tests__/__snapshots__/BooleanSelectGroup.test.tsx.snap +99 -0
  252. package/src/Select/__tests__/__snapshots__/NumberSelectGroup.test.tsx.snap +197 -0
  253. package/src/Select/__tests__/__snapshots__/StringSelectGroup.test.tsx.snap +197 -0
  254. package/src/{StandardFormActions.js → StandardFormActions.tsx} +12 -6
  255. package/src/SubmitFormButton.tsx +44 -0
  256. package/src/Validation/ValidatedApiResult.ts +8 -0
  257. package/src/Validation/ValidationError.ts +6 -0
  258. package/src/Validation/ValidationFunction.ts +4 -0
  259. package/src/{validators/validators.test.js → Validation/validators.test.tsx} +6 -4
  260. package/src/Validation/validators.ts +92 -0
  261. package/src/__Tests__/FormTestBase.tsx +63 -0
  262. package/src/__Tests__/{StandardFormActions.test.js → StandardFormActions.test.tsx} +2 -8
  263. package/src/__Tests__/{SubmitFormButton.test.js → SubmitFormButton.test.tsx} +2 -8
  264. package/src/__Tests__/__snapshots__/{StandardFormActions.test.js.snap → StandardFormActions.test.tsx.snap} +2 -2
  265. package/src/__Tests__/__snapshots__/{SubmitFormButton.test.js.snap → SubmitFormButton.test.tsx.snap} +1 -1
  266. package/src/__Tests__/index.ts +3 -0
  267. package/src/index.ts +114 -0
  268. package/src/react-app-env.d.ts +1 -0
  269. package/src/styles.scss +0 -7
  270. package/src/utils/{objectContainsNonSerializableProperty.test.js → objectContainsNonSerializableProperty.test.tsx} +0 -0
  271. package/src/utils/{objectContainsNonSerializableProperty.js → objectContainsNonSerializableProperty.ts} +4 -2
  272. package/src/utils/{objectToFormData.test.js → objectToFormData.test.tsx} +0 -0
  273. package/src/utils/{objectToFormData.js → objectToFormData.ts} +29 -13
  274. package/src/utils/typeChecks.ts +18 -0
  275. package/es/AddressInput/index.js +0 -3
  276. package/es/BoolInput/BoolInput.js +0 -10
  277. package/es/BoolInput/InlineBoolInput.js +0 -10
  278. package/es/BoolInput/boolOptions.js +0 -8
  279. package/es/BoolInput/index.js +0 -3
  280. package/es/ConfirmBaseForm/index.js +0 -2
  281. package/es/ConfirmDeleteForm/index.js +0 -2
  282. package/es/DatePickerInput/index.js +0 -2
  283. package/es/ErrorScrollTarget.js +0 -10
  284. package/es/FileInput/DefaultFileList.js +0 -36
  285. package/es/FileInput/DropzoneFileInput.js +0 -58
  286. package/es/FileInput/FileInput.js +0 -62
  287. package/es/FileInput/index.js +0 -4
  288. package/es/Form/index.js +0 -5
  289. package/es/FormGroup.js +0 -22
  290. package/es/FormGroupWrapper.js +0 -22
  291. package/es/FormInput/FormInput.js +0 -212
  292. package/es/FormInput/index.js +0 -2
  293. package/es/FormInputArray/FormInputArray.js +0 -225
  294. package/es/FormInputArray/index.js +0 -2
  295. package/es/FormSection.js +0 -11
  296. package/es/IconInput.js +0 -33
  297. package/es/InlineFormInput/InlineFormInput.js +0 -8
  298. package/es/InlineFormInput/index.js +0 -2
  299. package/es/MoneyFormattedInput/MoneyFormattedInput.js +0 -106
  300. package/es/MoneyFormattedInput/index.js +0 -2
  301. package/es/MoneyInput/InlineMoneyInput.js +0 -7
  302. package/es/MoneyInput/MoneyInput.js +0 -7
  303. package/es/MoneyInput/index.js +0 -3
  304. package/es/MoneyInput/moneyInputProps.js +0 -13
  305. package/es/NestedFormFieldContext.js +0 -4
  306. package/es/ReactSelectField/ReactSelectField.js +0 -162
  307. package/es/ReactSelectField/index.js +0 -2
  308. package/es/normalizers.js +0 -39
  309. package/es/selectors.js +0 -6
  310. package/es/useStandardFormInput.js +0 -119
  311. package/es/utils/index.js +0 -3
  312. package/es/validators/index.js +0 -2
  313. package/es/validators/validators.js +0 -94
  314. package/lib/AddressInput/index.js +0 -23
  315. package/lib/BoolInput/BoolInput.js +0 -23
  316. package/lib/BoolInput/InlineBoolInput.js +0 -23
  317. package/lib/BoolInput/boolOptions.js +0 -15
  318. package/lib/BoolInput/index.js +0 -23
  319. package/lib/ConfirmBaseForm/index.js +0 -13
  320. package/lib/ConfirmDeleteForm/index.js +0 -13
  321. package/lib/DatePickerInput/index.js +0 -13
  322. package/lib/ErrorScrollTarget.js +0 -20
  323. package/lib/FileInput/DefaultFileList.js +0 -47
  324. package/lib/FileInput/DropzoneFileInput.js +0 -75
  325. package/lib/FileInput/FileInput.js +0 -82
  326. package/lib/FileInput/index.js +0 -31
  327. package/lib/Form/index.js +0 -39
  328. package/lib/FormGroup.js +0 -33
  329. package/lib/FormGroupWrapper.js +0 -37
  330. package/lib/FormInput/FormInput.js +0 -236
  331. package/lib/FormInput/index.js +0 -13
  332. package/lib/FormInputArray/FormInputArray.js +0 -248
  333. package/lib/FormInputArray/index.js +0 -13
  334. package/lib/FormSection.js +0 -28
  335. package/lib/IconInput.js +0 -51
  336. package/lib/InlineFormInput/InlineFormInput.js +0 -20
  337. package/lib/InlineFormInput/index.js +0 -13
  338. package/lib/MoneyFormattedInput/MoneyFormattedInput.js +0 -126
  339. package/lib/MoneyFormattedInput/index.js +0 -15
  340. package/lib/MoneyInput/InlineMoneyInput.js +0 -20
  341. package/lib/MoneyInput/MoneyInput.js +0 -20
  342. package/lib/MoneyInput/index.js +0 -23
  343. package/lib/MoneyInput/moneyInputProps.js +0 -26
  344. package/lib/NestedFormFieldContext.js +0 -16
  345. package/lib/ReactSelectField/ReactSelectField.js +0 -187
  346. package/lib/ReactSelectField/index.js +0 -31
  347. package/lib/normalizers.js +0 -51
  348. package/lib/selectors.js +0 -18
  349. package/lib/useStandardFormInput.js +0 -135
  350. package/lib/utils/index.js +0 -23
  351. package/lib/validators/index.js +0 -17
  352. package/lib/validators/validators.js +0 -130
  353. package/src/AddressInput/AddressInput.js +0 -73
  354. package/src/AddressInput/__snapshots__/AddesssInput.test.js.snap +0 -207
  355. package/src/AddressInput/index.js +0 -3
  356. package/src/BoolInput/BoolInput.js +0 -7
  357. package/src/BoolInput/BoolInput.test.js +0 -23
  358. package/src/BoolInput/InlineBoolInput.js +0 -7
  359. package/src/BoolInput/__snapshots__/BoolInput.test.js.snap +0 -89
  360. package/src/BoolInput/boolOptions.js +0 -6
  361. package/src/BoolInput/index.js +0 -4
  362. package/src/ConfirmBaseForm/ConfirmBaseForm.js +0 -37
  363. package/src/ConfirmBaseForm/ConfirmBaseForm.test.js +0 -14
  364. package/src/ConfirmBaseForm/index.js +0 -2
  365. package/src/ConfirmDeleteForm/ConfirmDeleteForm.js +0 -39
  366. package/src/ConfirmDeleteForm/index.js +0 -2
  367. package/src/DatePickerInput/DatePickerInput.js +0 -49
  368. package/src/DatePickerInput/DatePickerInput.test.js +0 -74
  369. package/src/DatePickerInput/__snapshots__/DatePickerInput.test.js.snap +0 -134
  370. package/src/DatePickerInput/date-picker-input.scss +0 -42
  371. package/src/DatePickerInput/index.js +0 -3
  372. package/src/ErrorScrollTarget.js +0 -6
  373. package/src/FileInput/DefaultFileList.js +0 -39
  374. package/src/FileInput/DropzoneFileInput.js +0 -56
  375. package/src/FileInput/DropzoneFileInput.test.js +0 -24
  376. package/src/FileInput/FileInput.js +0 -77
  377. package/src/FileInput/FileInput.test.js +0 -24
  378. package/src/FileInput/__snapshots__/DropzoneFileInput.test.js.snap +0 -57
  379. package/src/FileInput/__snapshots__/FileInput.test.js.snap +0 -58
  380. package/src/FileInput/file-input.scss +0 -58
  381. package/src/FileInput/index.js +0 -5
  382. package/src/Form/Form.test.js +0 -23
  383. package/src/Form/FormBasedPreventNavigation.js +0 -25
  384. package/src/Form/ServerErrorContext.js +0 -7
  385. package/src/Form/index.js +0 -11
  386. package/src/FormGroup.js +0 -30
  387. package/src/FormGroupWrapper.js +0 -28
  388. package/src/FormInput/FormInput.js +0 -148
  389. package/src/FormInput/FormInput.test.js +0 -66
  390. package/src/FormInput/__snapshots__/FormInput.test.js.snap +0 -323
  391. package/src/FormInput/form-input.scss +0 -9
  392. package/src/FormInput/index.js +0 -2
  393. package/src/FormInputArray/FormInputArray.js +0 -224
  394. package/src/FormInputArray/FormInputArray.test.js +0 -108
  395. package/src/FormInputArray/__snapshots__/FormInputArray.test.js.snap +0 -52
  396. package/src/FormInputArray/form-input-array.scss +0 -13
  397. package/src/FormInputArray/index.js +0 -2
  398. package/src/FormSection.js +0 -13
  399. package/src/IconInput.js +0 -31
  400. package/src/InlineFormInput/InlineFormInput.js +0 -6
  401. package/src/InlineFormInput/InlineFormInput.test.js +0 -23
  402. package/src/InlineFormInput/__snapshots__/InlineFormInput.test.js.snap +0 -26
  403. package/src/InlineFormInput/index.js +0 -3
  404. package/src/InlineFormInput/inline-form-input.scss +0 -3
  405. package/src/MoneyFormattedInput/MoneyFormattedInput.js +0 -115
  406. package/src/MoneyFormattedInput/index.js +0 -3
  407. package/src/MoneyInput/InlineMoneyInput.js +0 -7
  408. package/src/MoneyInput/MoneyInput.js +0 -7
  409. package/src/MoneyInput/MoneyInputs.test.js +0 -43
  410. package/src/MoneyInput/__snapshots__/MoneyInputs.test.js.snap +0 -81
  411. package/src/MoneyInput/index.js +0 -4
  412. package/src/MoneyInput/money-input.scss +0 -3
  413. package/src/MoneyInput/moneyInputProps.js +0 -12
  414. package/src/NestedFormFieldContext.js +0 -6
  415. package/src/ReactSelectField/ReactSelectField.js +0 -155
  416. package/src/ReactSelectField/index.js +0 -6
  417. package/src/ReactSelectField/react-select-field.scss +0 -5
  418. package/src/SubmitFormButton.js +0 -28
  419. package/src/__Tests__/FormTestBase.js +0 -14
  420. package/src/__Tests__/IconInput.test.js +0 -23
  421. package/src/__Tests__/__snapshots__/IconInput.test.js.snap +0 -38
  422. package/src/index.js +0 -70
  423. package/src/selectors.js +0 -3
  424. package/src/useStandardFormInput.js +0 -118
  425. package/src/utils/index.js +0 -3
  426. package/src/utils/typeChecks.js +0 -18
  427. package/src/validators/index.js +0 -2
  428. package/src/validators/validators.js +0 -93
@@ -0,0 +1,15 @@
1
+ import { ValidationFunction } from './ValidationFunction';
2
+ export declare const required: (value: any) => "Required" | undefined;
3
+ export declare const length: (len: number) => (value: string | number | undefined) => string | undefined;
4
+ export declare const integer: (val: string | undefined) => "Must be a whole number" | undefined;
5
+ export declare const maxLength: (len: number) => (value: string | number | undefined) => string | undefined;
6
+ export declare const maxCount: (count: number) => (value: {
7
+ isDeleted?: boolean;
8
+ }[] | undefined) => string | undefined;
9
+ export declare const minCount: (count: number) => (value: {
10
+ isDeleted?: boolean;
11
+ }[] | undefined) => string | undefined;
12
+ export declare const maxValue: (max: number) => (value: number | undefined) => string | undefined;
13
+ export declare const minValue: (min: number) => (value: number | undefined) => string | undefined;
14
+ export declare const zipCode: (value: string | undefined) => "Invalid ZIP Code" | undefined;
15
+ export declare const any: <TValue>(validatorList: ValidationFunction<TValue>[]) => (value: TValue) => string | undefined;
@@ -0,0 +1,86 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.any = exports.zipCode = exports.minValue = exports.maxValue = exports.minCount = exports.maxCount = exports.maxLength = exports.integer = exports.length = exports.required = void 0;
4
+ var required = function (value) {
5
+ return Array.isArray(value)
6
+ ? value.length > 0
7
+ ? undefined
8
+ : 'Required'
9
+ : value || value === false || value === 0
10
+ ? undefined
11
+ : 'Required';
12
+ };
13
+ exports.required = required;
14
+ //asserts that the value is a certain number of characters. numbers are coerced to a string
15
+ var length = function (len) { return function (value) {
16
+ var hasError = getLengthOfValue(value) !== len;
17
+ return !hasError ? undefined : "Length must be ".concat(len);
18
+ }; };
19
+ exports.length = length;
20
+ var integer = function (val) {
21
+ if (!val) {
22
+ return undefined;
23
+ }
24
+ if (!Number.isInteger(parseFloat(val))) {
25
+ return 'Must be a whole number';
26
+ }
27
+ };
28
+ exports.integer = integer;
29
+ var maxLength = function (len) { return function (value) {
30
+ var hasError = getLengthOfValue(value) > len;
31
+ return !hasError ? undefined : "Maximum length ".concat(len, " exceeded");
32
+ }; };
33
+ exports.maxLength = maxLength;
34
+ var maxCount = function (count) { return function (value) {
35
+ var hasError = !!value && value.filter(function (x) { return !x.isDeleted; }).length > count;
36
+ return !hasError ? undefined : "Should not have more than ".concat(count);
37
+ }; };
38
+ exports.maxCount = maxCount;
39
+ var minCount = function (count) { return function (value) {
40
+ var hasError = !value || value.filter(function (x) { return !x.isDeleted; }).length < count;
41
+ return !hasError ? undefined : "Should have at least ".concat(count);
42
+ }; };
43
+ exports.minCount = minCount;
44
+ var maxValue = function (max) { return function (value) {
45
+ var hasError = !!value && value > max;
46
+ return !hasError ? undefined : "Maximum value ".concat(max, " exceeded");
47
+ }; };
48
+ exports.maxValue = maxValue;
49
+ var minValue = function (min) { return function (value) {
50
+ var hasError = !value || value < min;
51
+ return !hasError ? undefined : "Minimum value ".concat(min, " not met");
52
+ }; };
53
+ exports.minValue = minValue;
54
+ var zipCode = function (value) {
55
+ return value && !/^[0-9]{5}(?:-[0-9]{4})?$/.test(value)
56
+ ? 'Invalid ZIP Code'
57
+ : undefined;
58
+ };
59
+ exports.zipCode = zipCode;
60
+ //one of the validators provided must be true
61
+ var any = function (validatorList) {
62
+ return function (value) {
63
+ if (validatorList.length === 0 || !value) {
64
+ return;
65
+ }
66
+ return validatorList.reduce(function (isAnyTrue, x) { return (isAnyTrue ? isAnyTrue : x(value)); }, undefined);
67
+ };
68
+ };
69
+ exports.any = any;
70
+ function getLengthOfValue(value) {
71
+ switch (typeof value) {
72
+ case 'undefined':
73
+ return 0;
74
+ case 'string':
75
+ return value.length;
76
+ case 'number':
77
+ // TODO: this seems iffy to me - what if the actual visible value is a fixed length or some special format (e.g. with commas?)
78
+ return value.toString().length;
79
+ default:
80
+ assertUnreachable(value);
81
+ return 0;
82
+ }
83
+ }
84
+ function assertUnreachable(x) {
85
+ return null;
86
+ }
@@ -0,0 +1,27 @@
1
+ /// <reference types="react" />
2
+ import '@testing-library/jest-dom/extend-expect';
3
+ import { DateOnly, FormBuilderProp } from '../../src';
4
+ interface FormTestBaseProps<TForm extends object> {
5
+ children: (formBuilder: FormBuilderProp<TForm>) => JSX.Element;
6
+ initialValues?: TForm;
7
+ }
8
+ export default function FormTestBase<TForm extends PersonDto>({ children, initialValues, }: FormTestBaseProps<TForm>): JSX.Element;
9
+ interface PersonDto {
10
+ name?: string | undefined;
11
+ nameWithIcon?: string | undefined;
12
+ numberOfArms?: number;
13
+ phoneNumber?: string;
14
+ yearlySalaryUSD?: number;
15
+ isCool?: boolean;
16
+ gradDate?: DateOnly;
17
+ favoriteDate?: DateOnly;
18
+ favoriteNumber?: number;
19
+ favoriteColor?: string;
20
+ favoriteColors?: string[];
21
+ favoriteNames?: string[];
22
+ allowLogin?: boolean;
23
+ userRoles?: number[];
24
+ profileImage?: any;
25
+ favoritePictures?: any[];
26
+ }
27
+ export {};
@@ -1,25 +1,86 @@
1
- "use strict";
2
-
3
- var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault");
4
-
5
- Object.defineProperty(exports, "__esModule", {
6
- value: true
7
- });
8
- exports["default"] = FormTestBase;
9
-
10
- require("@testing-library/jest-dom/extend-expect");
11
-
12
- var _react = _interopRequireDefault(require("react"));
13
-
14
- var _reactRouterDom = require("react-router-dom");
15
-
16
- var _Form = _interopRequireDefault(require("../Form"));
17
-
18
- function FormTestBase(_ref) {
19
- var children = _ref.children,
20
- initialValues = _ref.initialValues;
21
- return /*#__PURE__*/_react["default"].createElement(_reactRouterDom.HashRouter, null, /*#__PURE__*/_react["default"].createElement(_Form["default"], {
22
- onSubmit: function onSubmit() {},
23
- initialValues: initialValues
24
- }, children));
25
- }
1
+ "use strict";
2
+ var __assign = (this && this.__assign) || function () {
3
+ __assign = Object.assign || function(t) {
4
+ for (var s, i = 1, n = arguments.length; i < n; i++) {
5
+ s = arguments[i];
6
+ for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p))
7
+ t[p] = s[p];
8
+ }
9
+ return t;
10
+ };
11
+ return __assign.apply(this, arguments);
12
+ };
13
+ var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, generator) {
14
+ function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }
15
+ return new (P || (P = Promise))(function (resolve, reject) {
16
+ function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }
17
+ function rejected(value) { try { step(generator["throw"](value)); } catch (e) { reject(e); } }
18
+ function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); }
19
+ step((generator = generator.apply(thisArg, _arguments || [])).next());
20
+ });
21
+ };
22
+ var __generator = (this && this.__generator) || function (thisArg, body) {
23
+ var _ = { label: 0, sent: function() { if (t[0] & 1) throw t[1]; return t[1]; }, trys: [], ops: [] }, f, y, t, g;
24
+ return g = { next: verb(0), "throw": verb(1), "return": verb(2) }, typeof Symbol === "function" && (g[Symbol.iterator] = function() { return this; }), g;
25
+ function verb(n) { return function (v) { return step([n, v]); }; }
26
+ function step(op) {
27
+ if (f) throw new TypeError("Generator is already executing.");
28
+ while (_) try {
29
+ if (f = 1, y && (t = op[0] & 2 ? y["return"] : op[0] ? y["throw"] || ((t = y["return"]) && t.call(y), 0) : y.next) && !(t = t.call(y, op[1])).done) return t;
30
+ if (y = 0, t) op = [op[0] & 2, t.value];
31
+ switch (op[0]) {
32
+ case 0: case 1: t = op; break;
33
+ case 4: _.label++; return { value: op[1], done: false };
34
+ case 5: _.label++; y = op[1]; op = [0]; continue;
35
+ case 7: op = _.ops.pop(); _.trys.pop(); continue;
36
+ default:
37
+ if (!(t = _.trys, t = t.length > 0 && t[t.length - 1]) && (op[0] === 6 || op[0] === 2)) { _ = 0; continue; }
38
+ if (op[0] === 3 && (!t || (op[1] > t[0] && op[1] < t[3]))) { _.label = op[1]; break; }
39
+ if (op[0] === 6 && _.label < t[1]) { _.label = t[1]; t = op; break; }
40
+ if (t && _.label < t[2]) { _.label = t[2]; _.ops.push(op); break; }
41
+ if (t[2]) _.ops.pop();
42
+ _.trys.pop(); continue;
43
+ }
44
+ op = body.call(thisArg, _);
45
+ } catch (e) { op = [6, e]; y = 0; } finally { f = t = 0; }
46
+ if (op[0] & 5) throw op[1]; return { value: op[0] ? op[1] : void 0, done: true };
47
+ }
48
+ };
49
+ Object.defineProperty(exports, "__esModule", { value: true });
50
+ var jsx_runtime_1 = require("react/jsx-runtime");
51
+ require("@testing-library/jest-dom/extend-expect");
52
+ var react_router_dom_1 = require("react-router-dom");
53
+ var src_1 = require("../../src");
54
+ function FormTestBase(_a) {
55
+ var children = _a.children, initialValues = _a.initialValues;
56
+ return ((0, jsx_runtime_1.jsx)(react_router_dom_1.HashRouter, { children: (0, jsx_runtime_1.jsx)(src_1.Form, __assign({ onSubmit: onSubmit, initialValues: initialValues }, { children: children })) }));
57
+ function onSubmit(data) {
58
+ return __awaiter(this, void 0, void 0, function () {
59
+ var isFormData, result, apiResult;
60
+ return __generator(this, function (_a) {
61
+ switch (_a.label) {
62
+ case 0:
63
+ isFormData = data instanceof FormData;
64
+ return [4 /*yield*/, fetch('/api/submit', {
65
+ body: isFormData ? data : JSON.stringify(data),
66
+ method: 'POST',
67
+ headers: {
68
+ 'Content-Type': isFormData ? 'multipart/form-data' : 'application/json',
69
+ 'X-Show-Errors': "Errors go here",
70
+ },
71
+ })];
72
+ case 1:
73
+ result = _a.sent();
74
+ return [4 /*yield*/, result.json()];
75
+ case 2:
76
+ apiResult = _a.sent();
77
+ if (!apiResult.hasErrors) {
78
+ alert('submitted');
79
+ }
80
+ return [2 /*return*/, apiResult];
81
+ }
82
+ });
83
+ });
84
+ }
85
+ }
86
+ exports.default = FormTestBase;
@@ -0,0 +1,2 @@
1
+ import FormTestBase from './FormTestBase';
2
+ export { FormTestBase };
@@ -1,15 +1,8 @@
1
- "use strict";
2
-
3
- var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault");
4
-
5
- Object.defineProperty(exports, "__esModule", {
6
- value: true
7
- });
8
- Object.defineProperty(exports, "FormTestBase", {
9
- enumerable: true,
10
- get: function get() {
11
- return _FormTestBase["default"];
12
- }
13
- });
14
-
15
- var _FormTestBase = _interopRequireDefault(require("./FormTestBase"));
1
+ "use strict";
2
+ var __importDefault = (this && this.__importDefault) || function (mod) {
3
+ return (mod && mod.__esModule) ? mod : { "default": mod };
4
+ };
5
+ Object.defineProperty(exports, "__esModule", { value: true });
6
+ exports.FormTestBase = void 0;
7
+ var FormTestBase_1 = __importDefault(require("./FormTestBase"));
8
+ exports.FormTestBase = FormTestBase_1.default;
package/lib/index.d.ts ADDED
@@ -0,0 +1,57 @@
1
+ export { default as AddressInput } from './AddressInput/AddressInput';
2
+ export type { AddressInputProps } from './AddressInput/AddressInput';
3
+ export { default as SubmitFormButton } from './SubmitFormButton';
4
+ export type { SubmitFormButtonProps } from './SubmitFormButton';
5
+ export { default as ConfirmBaseForm } from './ConfirmBaseForm/ConfirmBaseForm';
6
+ export type { ConfirmBaseFormProps } from './ConfirmBaseForm/ConfirmBaseForm';
7
+ export { default as ConfirmDeleteForm } from './ConfirmDeleteForm/ConfirmDeleteForm';
8
+ export type { ConfirmDeleteFormProps } from './ConfirmDeleteForm/ConfirmDeleteForm';
9
+ export { default as DatePickerInput } from './DatePickerInput/DatePickerInput';
10
+ export type { DatePickerInputProps, DateOnly } from './DatePickerInput/DatePickerInput';
11
+ export { default as Field } from './Field/Field';
12
+ export type { FieldProps } from './Field/Field';
13
+ export { default as FieldErrorScrollTarget } from './Field/FieldErrorScrollTarget';
14
+ export { FieldNameContext } from './Field/FieldNameContext';
15
+ export type { InjectedFieldProps } from './Field/InjectedFieldProps';
16
+ export { default as useStandardField } from './Field/useStandardField';
17
+ export type { useStandardFieldProps } from './Field/useStandardField';
18
+ export { default as FieldArray } from './FieldArray/FieldArray';
19
+ export type { FieldArrayProps, ArrayFormBuilderProp, } from './FieldArray/FieldArray';
20
+ export { default as FileGroup } from './File/FileGroup';
21
+ export type { FileGroupProps } from './File/FileGroup';
22
+ export { default as Form } from './Form/Form';
23
+ export type { FormBuilderProp, FormProps } from './Form/Form';
24
+ export { ServerErrorContext } from './Form/ServerErrorContext';
25
+ export type { ServerErrorContextProps, ServerErrors, } from './Form/ServerErrorContext';
26
+ export { default as FormActions } from './FormActions';
27
+ export type { FormActionsProps as FormActionsProps } from './FormActions';
28
+ export { default as Group } from './Group';
29
+ export type { GroupProps as GroupProps } from './Group';
30
+ export { default as IconInputGroup } from './Input/IconInputGroup';
31
+ export type { IconInputGroupProps } from './Input/IconInputGroup';
32
+ export { default as InputGroup } from './Input/InputGroup';
33
+ export type { InputGroupProps } from './Input/InputGroup';
34
+ export { default as MoneyInputGroup } from './Input/MoneyInputGroup';
35
+ export type { MoneyInputGroupProps } from './Input/MoneyInputGroup';
36
+ export { default as NumberInputGroup } from './Input/NumberInputGroup';
37
+ export type { NumberInputGroupProps } from './Input/NumberInputGroup';
38
+ export { default as StringInputGroup } from './Input/StringInputGroup';
39
+ export type { StringInputGroupProps } from './Input/StringInputGroup';
40
+ export type { NormalizationFunction } from './Normalization/NormalizationFunction';
41
+ export * as normalizers from './Normalization/normalizers';
42
+ export { default as SelectGroup } from './Select/SelectGroup';
43
+ export type { SelectGroupProps } from './Select/SelectGroup';
44
+ export { BooleanSelectGroup } from './Select/BooleanSelectGroup';
45
+ export type { BooleanSelectGroupProps } from './Select/BooleanSelectGroup';
46
+ export { MultiNumberSelectGroup, SingleNumberSelectGroup, } from './Select/NumberSelectGroup';
47
+ export type { MultiNumberSelectGroupProps, SingleNumberSelectGroupProps } from './Select/NumberSelectGroup';
48
+ export { MultiStringSelectGroup, SingleStringSelectGroup, } from './Select/StringSelectGroup';
49
+ export type { MultiStringSelectGroupProps, SingleStringSelectGroupProps } from './Select/StringSelectGroup';
50
+ export { default as objectContainsNonSerializableProperty } from './utils/objectContainsNonSerializableProperty';
51
+ export { default as serialize } from './utils/objectToFormData';
52
+ export type { ObjectToFormDataCfgProps } from './utils/objectToFormData';
53
+ export * from './utils/typeChecks';
54
+ export type { ValidatedApiResult } from './Validation/ValidatedApiResult';
55
+ export type { ValidationError } from './Validation/ValidationError';
56
+ export type { ValidationFunction } from './Validation/ValidationFunction';
57
+ export * as validators from './Validation/validators';