envoc-form 3.1.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 (422) 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 -20
  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 -174
  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 -100
  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 -2
  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 -3
  288. package/es/Form/index.js +0 -3
  289. package/es/FormGroup.js +0 -22
  290. package/es/FormGroupWrapper.js +0 -22
  291. package/es/FormInput/FormInput.js +0 -206
  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/MoneyInput/InlineMoneyInput.js +0 -7
  300. package/es/MoneyInput/MoneyInput.js +0 -7
  301. package/es/MoneyInput/index.js +0 -3
  302. package/es/MoneyInput/moneyInputProps.js +0 -13
  303. package/es/NestedFormFieldContext.js +0 -4
  304. package/es/ReactSelectField/ReactSelectField.js +0 -128
  305. package/es/ReactSelectField/index.js +0 -2
  306. package/es/normalizers.js +0 -39
  307. package/es/selectors.js +0 -6
  308. package/es/useStandardFormInput.js +0 -119
  309. package/es/utils/index.js +0 -3
  310. package/es/validators/index.js +0 -2
  311. package/es/validators/validators.js +0 -94
  312. package/lib/AddressInput/index.js +0 -13
  313. package/lib/BoolInput/BoolInput.js +0 -23
  314. package/lib/BoolInput/InlineBoolInput.js +0 -23
  315. package/lib/BoolInput/boolOptions.js +0 -15
  316. package/lib/BoolInput/index.js +0 -23
  317. package/lib/ConfirmBaseForm/index.js +0 -13
  318. package/lib/ConfirmDeleteForm/index.js +0 -13
  319. package/lib/DatePickerInput/index.js +0 -13
  320. package/lib/ErrorScrollTarget.js +0 -20
  321. package/lib/FileInput/DefaultFileList.js +0 -47
  322. package/lib/FileInput/DropzoneFileInput.js +0 -75
  323. package/lib/FileInput/FileInput.js +0 -82
  324. package/lib/FileInput/index.js +0 -23
  325. package/lib/Form/index.js +0 -23
  326. package/lib/FormGroup.js +0 -33
  327. package/lib/FormGroupWrapper.js +0 -37
  328. package/lib/FormInput/FormInput.js +0 -229
  329. package/lib/FormInput/index.js +0 -13
  330. package/lib/FormInputArray/FormInputArray.js +0 -248
  331. package/lib/FormInputArray/index.js +0 -13
  332. package/lib/FormSection.js +0 -28
  333. package/lib/IconInput.js +0 -51
  334. package/lib/InlineFormInput/InlineFormInput.js +0 -20
  335. package/lib/InlineFormInput/index.js +0 -13
  336. package/lib/MoneyInput/InlineMoneyInput.js +0 -20
  337. package/lib/MoneyInput/MoneyInput.js +0 -20
  338. package/lib/MoneyInput/index.js +0 -23
  339. package/lib/MoneyInput/moneyInputProps.js +0 -26
  340. package/lib/NestedFormFieldContext.js +0 -16
  341. package/lib/ReactSelectField/ReactSelectField.js +0 -152
  342. package/lib/ReactSelectField/index.js +0 -31
  343. package/lib/normalizers.js +0 -51
  344. package/lib/selectors.js +0 -18
  345. package/lib/useStandardFormInput.js +0 -135
  346. package/lib/utils/index.js +0 -23
  347. package/lib/validators/index.js +0 -17
  348. package/lib/validators/validators.js +0 -130
  349. package/src/AddressInput/AddressInput.js +0 -73
  350. package/src/AddressInput/__snapshots__/AddesssInput.test.js.snap +0 -207
  351. package/src/AddressInput/index.js +0 -2
  352. package/src/BoolInput/BoolInput.js +0 -7
  353. package/src/BoolInput/BoolInput.test.js +0 -23
  354. package/src/BoolInput/InlineBoolInput.js +0 -7
  355. package/src/BoolInput/__snapshots__/BoolInput.test.js.snap +0 -89
  356. package/src/BoolInput/boolOptions.js +0 -6
  357. package/src/BoolInput/index.js +0 -4
  358. package/src/ConfirmBaseForm/ConfirmBaseForm.js +0 -37
  359. package/src/ConfirmBaseForm/ConfirmBaseForm.test.js +0 -14
  360. package/src/ConfirmBaseForm/index.js +0 -2
  361. package/src/ConfirmDeleteForm/ConfirmDeleteForm.js +0 -39
  362. package/src/ConfirmDeleteForm/index.js +0 -2
  363. package/src/DatePickerInput/DatePickerInput.js +0 -49
  364. package/src/DatePickerInput/DatePickerInput.test.js +0 -74
  365. package/src/DatePickerInput/__snapshots__/DatePickerInput.test.js.snap +0 -134
  366. package/src/DatePickerInput/date-picker-input.scss +0 -42
  367. package/src/DatePickerInput/index.js +0 -3
  368. package/src/ErrorScrollTarget.js +0 -6
  369. package/src/FileInput/DefaultFileList.js +0 -39
  370. package/src/FileInput/DropzoneFileInput.js +0 -56
  371. package/src/FileInput/DropzoneFileInput.test.js +0 -24
  372. package/src/FileInput/FileInput.js +0 -77
  373. package/src/FileInput/FileInput.test.js +0 -24
  374. package/src/FileInput/__snapshots__/DropzoneFileInput.test.js.snap +0 -57
  375. package/src/FileInput/__snapshots__/FileInput.test.js.snap +0 -58
  376. package/src/FileInput/file-input.scss +0 -58
  377. package/src/FileInput/index.js +0 -4
  378. package/src/Form/Form.test.js +0 -23
  379. package/src/Form/FormBasedPreventNavigation.js +0 -25
  380. package/src/Form/ServerErrorContext.js +0 -7
  381. package/src/Form/index.js +0 -3
  382. package/src/FormGroup.js +0 -30
  383. package/src/FormGroupWrapper.js +0 -28
  384. package/src/FormInput/FormInput.js +0 -145
  385. package/src/FormInput/FormInput.test.js +0 -66
  386. package/src/FormInput/__snapshots__/FormInput.test.js.snap +0 -323
  387. package/src/FormInput/form-input.scss +0 -9
  388. package/src/FormInput/index.js +0 -2
  389. package/src/FormInputArray/FormInputArray.js +0 -224
  390. package/src/FormInputArray/FormInputArray.test.js +0 -108
  391. package/src/FormInputArray/__snapshots__/FormInputArray.test.js.snap +0 -52
  392. package/src/FormInputArray/form-input-array.scss +0 -13
  393. package/src/FormInputArray/index.js +0 -2
  394. package/src/FormSection.js +0 -13
  395. package/src/IconInput.js +0 -31
  396. package/src/InlineFormInput/InlineFormInput.js +0 -6
  397. package/src/InlineFormInput/InlineFormInput.test.js +0 -23
  398. package/src/InlineFormInput/__snapshots__/InlineFormInput.test.js.snap +0 -26
  399. package/src/InlineFormInput/index.js +0 -3
  400. package/src/InlineFormInput/inline-form-input.scss +0 -3
  401. package/src/MoneyInput/InlineMoneyInput.js +0 -7
  402. package/src/MoneyInput/MoneyInput.js +0 -7
  403. package/src/MoneyInput/MoneyInputs.test.js +0 -43
  404. package/src/MoneyInput/__snapshots__/MoneyInputs.test.js.snap +0 -81
  405. package/src/MoneyInput/index.js +0 -4
  406. package/src/MoneyInput/money-input.scss +0 -3
  407. package/src/MoneyInput/moneyInputProps.js +0 -12
  408. package/src/NestedFormFieldContext.js +0 -6
  409. package/src/ReactSelectField/ReactSelectField.js +0 -122
  410. package/src/ReactSelectField/index.js +0 -6
  411. package/src/ReactSelectField/react-select-field.scss +0 -5
  412. package/src/SubmitFormButton.js +0 -28
  413. package/src/__Tests__/FormTestBase.js +0 -14
  414. package/src/__Tests__/IconInput.test.js +0 -23
  415. package/src/__Tests__/__snapshots__/IconInput.test.js.snap +0 -38
  416. package/src/index.js +0 -45
  417. package/src/selectors.js +0 -3
  418. package/src/useStandardFormInput.js +0 -118
  419. package/src/utils/index.js +0 -3
  420. package/src/utils/typeChecks.js +0 -18
  421. package/src/validators/index.js +0 -2
  422. package/src/validators/validators.js +0 -93
@@ -1,52 +0,0 @@
1
- // Jest Snapshot v1, https://goo.gl/fbAQLP
2
-
3
- exports[`FormInputArray has matching snapshot 1`] = `
4
- <DocumentFragment>
5
- <form
6
- action="#"
7
- >
8
- <div
9
- class="field-array-card card"
10
- >
11
- <div
12
- class="card-header card-action-header d-flex align-items-baseline"
13
- >
14
- <strong
15
- class="mr-auto"
16
- >
17
- Names
18
- </strong>
19
- <div
20
- class="card-action-header-actions"
21
- >
22
- <button
23
- class="add-array-item btn btn-link"
24
- title="Add an additional item"
25
- type="button"
26
- >
27
- <svg
28
- aria-hidden="true"
29
- class="svg-inline--fa fa-plus fa-w-14 "
30
- data-icon="plus"
31
- data-prefix="fas"
32
- focusable="false"
33
- role="img"
34
- viewBox="0 0 448 512"
35
- xmlns="http://www.w3.org/2000/svg"
36
- >
37
- <path
38
- d="M416 208H272V64c0-17.67-14.33-32-32-32h-32c-17.67 0-32 14.33-32 32v144H32c-17.67 0-32 14.33-32 32v32c0 17.67 14.33 32 32 32h144v144c0 17.67 14.33 32 32 32h32c17.67 0 32-14.33 32-32V304h144c17.67 0 32-14.33 32-32v-32c0-17.67-14.33-32-32-32z"
39
- fill="currentColor"
40
- />
41
- </svg>
42
- Add New
43
- </button>
44
- </div>
45
- </div>
46
- <div
47
- class="card-body"
48
- />
49
- </div>
50
- </form>
51
- </DocumentFragment>
52
- `;
@@ -1,13 +0,0 @@
1
- .field-array-card {
2
- margin-bottom: 1rem;
3
-
4
- .field-array-item {
5
- &.removed {
6
- display: none;
7
- }
8
-
9
- > .remove-array-item {
10
- display: flex;
11
- }
12
- }
13
- }
@@ -1,2 +0,0 @@
1
- import FormInputArray from './FormInputArray';
2
- export default FormInputArray;
@@ -1,13 +0,0 @@
1
- import React, { useContext } from 'react';
2
- import NestedFormFieldContext from './NestedFormFieldContext';
3
-
4
- export default function FormSection({ children, name }) {
5
- const parentContext = useContext(NestedFormFieldContext);
6
- const effectiveValue = parentContext ? `${parentContext}.${name}` : name;
7
-
8
- return (
9
- <NestedFormFieldContext.Provider value={effectiveValue}>
10
- {children}
11
- </NestedFormFieldContext.Provider>
12
- );
13
- }
package/src/IconInput.js DELETED
@@ -1,31 +0,0 @@
1
- import React from 'react';
2
- import PropTypes from 'prop-types';
3
- import {
4
- InputGroup,
5
- InputGroupAddon,
6
- InputGroupText,
7
- Input as BootstrapInput,
8
- FormFeedback,
9
- } from 'reactstrap';
10
- import useStandardFormInput from './useStandardFormInput';
11
-
12
- export default function IconInput({ className, icon, helpText, ...props }) {
13
- const [input, meta] = useStandardFormInput(props);
14
- return (
15
- <InputGroup className={className}>
16
- <InputGroupAddon addonType="prepend">
17
- <InputGroupText>
18
- <i className={icon} />
19
- </InputGroupText>
20
- </InputGroupAddon>
21
- <BootstrapInput invalid={!!meta.error} {...input} />
22
- {meta.error && <FormFeedback>{meta.error}</FormFeedback>}
23
- {helpText && <FormFeedback>{helpText}</FormFeedback>}
24
- </InputGroup>
25
- );
26
- }
27
-
28
- IconInput.propTypes = {
29
- icon: PropTypes.string,
30
- className: PropTypes.string,
31
- };
@@ -1,6 +0,0 @@
1
- import React from 'react';
2
- import FormInput from '../FormInput';
3
-
4
- export default function InlineFormInput(props) {
5
- return <FormInput className="inline-form-input col" {...props} />;
6
- }
@@ -1,23 +0,0 @@
1
- import React from 'react';
2
- import { render } from '@testing-library/react';
3
- import { FormTestBase } from '../__Tests__';
4
- import InlineFormInput from './InlineFormInput';
5
-
6
- describe('MoneyInput', () => {
7
- it('renders without crashing', () => {
8
- render(
9
- <FormTestBase>
10
- <InlineFormInput name="test" />
11
- </FormTestBase>
12
- );
13
- });
14
-
15
- it('has matching snapshot', () => {
16
- const renderResult = render(
17
- <FormTestBase>
18
- <InlineFormInput name="test" />
19
- </FormTestBase>
20
- );
21
- expect(renderResult.asFragment()).toMatchSnapshot();
22
- });
23
- });
@@ -1,26 +0,0 @@
1
- // Jest Snapshot v1, https://goo.gl/fbAQLP
2
-
3
- exports[`MoneyInput has matching snapshot 1`] = `
4
- <DocumentFragment>
5
- <form
6
- action="#"
7
- >
8
- <div
9
- class="inline-form-input col form-group"
10
- >
11
- <div
12
- id="test-error-scroll-target"
13
- style="display: none;"
14
- />
15
- <input
16
- aria-invalid="false"
17
- class="inline-form-input col form-control"
18
- id="test"
19
- name="test"
20
- type="text"
21
- value=""
22
- />
23
- </div>
24
- </form>
25
- </DocumentFragment>
26
- `;
@@ -1,3 +0,0 @@
1
- import InlineFormInput from './InlineFormInput';
2
-
3
- export default InlineFormInput;
@@ -1,3 +0,0 @@
1
- .inline-form-input.form-group {
2
- display: inline-block;
3
- }
@@ -1,7 +0,0 @@
1
- import React from 'react';
2
- import InlineFormInput from '../InlineFormInput';
3
- import moneyInputProps from './moneyInputProps';
4
-
5
- export default function InlineMoneyInput(props) {
6
- return <InlineFormInput {...moneyInputProps} {...props} />;
7
- }
@@ -1,7 +0,0 @@
1
- import React from 'react';
2
- import FormInput from '../FormInput';
3
- import moneyInputProps from './moneyInputProps';
4
-
5
- export default function MoneyInput(props) {
6
- return <FormInput {...moneyInputProps} {...props} />;
7
- }
@@ -1,43 +0,0 @@
1
- import React from 'react';
2
- import { render } from '@testing-library/react';
3
- import { FormTestBase } from '../__Tests__';
4
- import MoneyInput from './MoneyInput';
5
- import InlineMoneyInput from './InlineMoneyInput';
6
-
7
- describe('MoneyInput', () => {
8
- it('renders without crashing', () => {
9
- render(
10
- <FormTestBase>
11
- <MoneyInput name="moneytest" />
12
- </FormTestBase>
13
- );
14
- });
15
-
16
- it('has matching snapshot', () => {
17
- const renderResult = render(
18
- <FormTestBase>
19
- <MoneyInput name="moneytest" />
20
- </FormTestBase>
21
- );
22
- expect(renderResult.asFragment()).toMatchSnapshot();
23
- });
24
- });
25
-
26
- describe('InlineMoneyInput', () => {
27
- it('renders without crashing', () => {
28
- render(
29
- <FormTestBase>
30
- <InlineMoneyInput name="moneytest" />
31
- </FormTestBase>
32
- );
33
- });
34
-
35
- it('has matching snapshot', () => {
36
- const renderResult = render(
37
- <FormTestBase>
38
- <InlineMoneyInput name="moneytest" />
39
- </FormTestBase>
40
- );
41
- expect(renderResult.asFragment()).toMatchSnapshot();
42
- });
43
- });
@@ -1,81 +0,0 @@
1
- // Jest Snapshot v1, https://goo.gl/fbAQLP
2
-
3
- exports[`InlineMoneyInput has matching snapshot 1`] = `
4
- <DocumentFragment>
5
- <form
6
- action="#"
7
- >
8
- <div
9
- class="money-input form-group"
10
- >
11
- <div
12
- id="moneytest-error-scroll-target"
13
- style="display: none;"
14
- />
15
- <div
16
- class="input-group"
17
- >
18
- <div
19
- class="input-group-prepend"
20
- >
21
- <span
22
- class="input-group-text"
23
- >
24
- $
25
- </span>
26
- </div>
27
- <input
28
- aria-invalid="false"
29
- class="money-input form-control"
30
- id="moneytest"
31
- min="0"
32
- name="moneytest"
33
- step="0.01"
34
- type="number"
35
- value=""
36
- />
37
- </div>
38
- </div>
39
- </form>
40
- </DocumentFragment>
41
- `;
42
-
43
- exports[`MoneyInput has matching snapshot 1`] = `
44
- <DocumentFragment>
45
- <form
46
- action="#"
47
- >
48
- <div
49
- class="money-input form-group"
50
- >
51
- <div
52
- id="moneytest-error-scroll-target"
53
- style="display: none;"
54
- />
55
- <div
56
- class="input-group"
57
- >
58
- <div
59
- class="input-group-prepend"
60
- >
61
- <span
62
- class="input-group-text"
63
- >
64
- $
65
- </span>
66
- </div>
67
- <input
68
- aria-invalid="false"
69
- class="money-input form-control"
70
- id="moneytest"
71
- min="0"
72
- name="moneytest"
73
- step="0.01"
74
- type="number"
75
- value=""
76
- />
77
- </div>
78
- </div>
79
- </form>
80
- </DocumentFragment>
81
- `;
@@ -1,4 +0,0 @@
1
- import MoneyInput from './MoneyInput';
2
- import InlineMoneyInput from './InlineMoneyInput';
3
-
4
- export { MoneyInput, InlineMoneyInput };
@@ -1,3 +0,0 @@
1
- input.money-input {
2
- text-align: right;
3
- }
@@ -1,12 +0,0 @@
1
- import React from 'react';
2
- import { InputGroupAddon } from 'reactstrap';
3
-
4
- const MoneyPrepend = <InputGroupAddon addonType="prepend">$</InputGroupAddon>;
5
- const moneyInputProps = {
6
- type: 'number',
7
- step: '0.01',
8
- min: '0',
9
- prepend: MoneyPrepend,
10
- className: 'money-input',
11
- };
12
- export default moneyInputProps;
@@ -1,6 +0,0 @@
1
- import React from 'react';
2
-
3
- // TODO: better name?
4
- const NestedFormFieldContext = React.createContext();
5
-
6
- export default NestedFormFieldContext;
@@ -1,122 +0,0 @@
1
- import React, { useEffect, useRef } from 'react';
2
- import { default as ReactSelect } from 'react-select';
3
-
4
- export const overrideTheme = (theme) => {
5
- return {
6
- ...theme,
7
- borderRadius: 0,
8
- spacing: Object.assign(
9
- {},
10
- { ...theme.spacing },
11
- { baseUnit: 2, controlHeight: 35 }
12
- ),
13
- };
14
- };
15
-
16
- const red = '#f86c6b';
17
- const inputBorderColor = '#c2cfd6';
18
- const inputBorderColorFocused = '#8ad4ee';
19
- const inputBoxShadowFocused = '0 0 0 0.2rem rgba(32, 168, 216, 0.25)';
20
-
21
- export const customStyles = {
22
- control: (provided, { isFocused, selectProps }) => {
23
- return {
24
- ...provided,
25
- paddingLeft: '7px',
26
- '&:hover': {
27
- borderColor: isFocused ? inputBorderColorFocused : inputBorderColor,
28
- },
29
- borderColor: selectProps.hasErrors
30
- ? red
31
- : isFocused
32
- ? inputBorderColorFocused
33
- : inputBorderColor,
34
- boxShadow: isFocused ? inputBoxShadowFocused : '',
35
- };
36
- },
37
- menu: (provided) => ({ ...provided, zIndex: 3 }),
38
- };
39
-
40
- // internal to forms use only
41
- export default function ReactSelectInput({
42
- className,
43
- meta,
44
- disabled,
45
- onSelected,
46
- onChange,
47
- onBlur,
48
- value,
49
- options,
50
- defaultValue,
51
- defaultIndex,
52
- ...props
53
- }) {
54
- const selectedItems = getSelectedItems();
55
- const onSelectedRef = useRef(onSelected);
56
- onSelectedRef.current = onSelected;
57
-
58
- useEffect(() => {
59
- onSelectedRef.current && onSelectedRef.current(selectedItems);
60
- }, [selectedItems]);
61
-
62
- return (
63
- <ReactSelect
64
- {...props}
65
- options={options}
66
- isDisabled={disabled}
67
- hasErrors={meta.error}
68
- getOptionLabel={(option) => option.label}
69
- getOptionValue={getOptionValue}
70
- value={selectedItems}
71
- onChange={handleChange}
72
- className="react-select-input"
73
- theme={overrideTheme}
74
- styles={customStyles}
75
- menuPortalTarget={document.body}
76
- menuPlacement="auto"
77
- />
78
- );
79
-
80
- function getOptionValue(option) {
81
- if (typeof props.getOptionValue === 'function') {
82
- return props.getOptionValue(option);
83
- } else {
84
- return option.value;
85
- }
86
- }
87
-
88
- function getSelectedItems() {
89
- if (defaultValue !== undefined && value === '') {
90
- value = defaultValue;
91
- onChange(defaultValue);
92
- }
93
- if (defaultIndex !== undefined && value === '') {
94
- const item = options[defaultIndex];
95
- onChange(getOptionValue(item));
96
- return item;
97
- }
98
-
99
- const valueIsArray = Array.isArray(value);
100
- const matches = options.filter((x) => {
101
- if (valueIsArray) {
102
- return value.includes(getOptionValue(x));
103
- } else {
104
- return value === getOptionValue(x);
105
- }
106
- });
107
- if (matches.length < 1) {
108
- return null;
109
- }
110
- return matches;
111
- }
112
-
113
- function handleChange(e) {
114
- if (e == null) {
115
- onChange(null);
116
- } else if (Array.isArray(e)) {
117
- onChange(e.map((x) => x.value));
118
- } else {
119
- onChange(e.value);
120
- }
121
- }
122
- }
@@ -1,6 +0,0 @@
1
- import ReactSelectField, {
2
- overrideTheme,
3
- customStyles,
4
- } from './ReactSelectField';
5
-
6
- export { ReactSelectField as default, overrideTheme, customStyles };
@@ -1,5 +0,0 @@
1
- @import '../variables';
2
-
3
- div.react-select-input.has-error {
4
- border-color: $red;
5
- }
@@ -1,28 +0,0 @@
1
- import React from 'react';
2
- import { Button } from 'reactstrap';
3
- import { useFormikContext } from 'formik';
4
-
5
- export default function SubmitFormButton({
6
- allowPristineSubmit,
7
- children,
8
- ...props
9
- }) {
10
- const { isSubmitting, dirty } = useFormikContext();
11
- const preventSubmit = (!dirty && !allowPristineSubmit) || isSubmitting;
12
- return (
13
- <Button
14
- type="submit"
15
- color="primary"
16
- disabled={preventSubmit}
17
- title={
18
- isSubmitting
19
- ? 'Loading, please wait...'
20
- : preventSubmit
21
- ? "You haven't made any changes"
22
- : ''
23
- }
24
- {...props}>
25
- {children || 'Submit'}
26
- </Button>
27
- );
28
- }
@@ -1,14 +0,0 @@
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
-
6
- export default function FormTestBase({ children, initialValues }) {
7
- return (
8
- <HashRouter>
9
- <Form onSubmit={() => {}} initialValues={initialValues}>
10
- {children}
11
- </Form>
12
- </HashRouter>
13
- );
14
- }
@@ -1,23 +0,0 @@
1
- import React from 'react';
2
- import { render } from '@testing-library/react';
3
- import FormTestBase from './FormTestBase';
4
- import IconInput from '../IconInput';
5
-
6
- describe('IconInput', () => {
7
- it('renders without crashing', () => {
8
- render(
9
- <FormTestBase>
10
- <IconInput name="test" icon="fa fa-user" helpText="help text" />
11
- </FormTestBase>
12
- );
13
- });
14
-
15
- it('has matching snapshot', () => {
16
- const renderResult = render(
17
- <FormTestBase>
18
- <IconInput name="test" icon="fa fa-user" helpText="help text" />
19
- </FormTestBase>
20
- );
21
- expect(renderResult.asFragment()).toMatchSnapshot();
22
- });
23
- });
@@ -1,38 +0,0 @@
1
- // Jest Snapshot v1, https://goo.gl/fbAQLP
2
-
3
- exports[`IconInput has matching snapshot 1`] = `
4
- <DocumentFragment>
5
- <form
6
- action="#"
7
- >
8
- <div
9
- class="input-group"
10
- >
11
- <div
12
- class="input-group-prepend"
13
- >
14
- <span
15
- class="input-group-text"
16
- >
17
- <i
18
- class="fa fa-user"
19
- />
20
- </span>
21
- </div>
22
- <input
23
- aria-invalid="false"
24
- class="form-control"
25
- id="test"
26
- name="test"
27
- type="text"
28
- value=""
29
- />
30
- <div
31
- class="invalid-feedback"
32
- >
33
- help text
34
- </div>
35
- </div>
36
- </form>
37
- </DocumentFragment>
38
- `;
package/src/index.js DELETED
@@ -1,45 +0,0 @@
1
- import * as normalizers from './normalizers';
2
-
3
- import { BoolInput, InlineBoolInput } from './BoolInput';
4
- import { InlineMoneyInput, MoneyInput } from './MoneyInput';
5
-
6
- import AddressInput from './AddressInput';
7
- import ConfirmBaseForm from './ConfirmBaseForm';
8
- import ConfirmDeleteForm from './ConfirmDeleteForm';
9
- import ErrorScrollTarget from './ErrorScrollTarget';
10
- import Form from './Form';
11
- import FormGroup from './FormGroup';
12
- import FormGroupWrapper from './FormGroupWrapper';
13
- import FormInput from './FormInput';
14
- import FormInputArray from './FormInputArray';
15
- import FormSection from './FormSection';
16
- import IconInput from './IconInput';
17
- import InlineFormInput from './InlineFormInput';
18
- import StandardFormActions from './StandardFormActions';
19
- import SubmitFormButton from './SubmitFormButton';
20
- import useStandardFormInput from './useStandardFormInput';
21
- import validators from './validators';
22
-
23
- export {
24
- AddressInput,
25
- BoolInput,
26
- ConfirmBaseForm,
27
- ConfirmDeleteForm,
28
- ErrorScrollTarget,
29
- Form,
30
- FormGroup,
31
- FormGroupWrapper,
32
- FormInput,
33
- FormInputArray,
34
- FormSection,
35
- IconInput,
36
- InlineBoolInput,
37
- InlineFormInput,
38
- InlineMoneyInput,
39
- MoneyInput,
40
- normalizers,
41
- StandardFormActions,
42
- SubmitFormButton,
43
- useStandardFormInput,
44
- validators,
45
- };
package/src/selectors.js DELETED
@@ -1,3 +0,0 @@
1
- export const getForm = (state, ownProps) => state.form[ownProps.form];
2
- export const getRegisteredFields = (state, ownProps) =>
3
- getForm(state, ownProps) ? getForm(state, ownProps).registeredFields : {};