envoc-form 3.2.0 → 4.0.1-1

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