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
@@ -1,134 +0,0 @@
1
- // Jest Snapshot v1, https://goo.gl/fbAQLP
2
-
3
- exports[`DatePickerInput has matching snapshot 1`] = `
4
- <DocumentFragment>
5
- <div
6
- class="react-date-picker react-date-picker--closed react-date-picker--enabled form-control"
7
- >
8
- <div
9
- class="react-date-picker__wrapper"
10
- >
11
- <div
12
- class="react-date-picker__inputGroup"
13
- >
14
- <input
15
- max="2021-09-23"
16
- min="2020-09-23"
17
- name="date"
18
- style="visibility: hidden; position: absolute; z-index: -999;"
19
- type="date"
20
- value="2020-09-25"
21
- />
22
- <input
23
- autocomplete="off"
24
- class="react-date-picker__inputGroup__input react-date-picker__inputGroup__month"
25
- data-input="true"
26
- inputmode="numeric"
27
- max="12"
28
- min="9"
29
- name="month"
30
- placeholder="--"
31
- type="number"
32
- value="9"
33
- />
34
- <span
35
- class="react-date-picker__inputGroup__divider"
36
- >
37
- /
38
- </span>
39
- <input
40
- autocomplete="off"
41
- class="react-date-picker__inputGroup__input react-date-picker__inputGroup__day"
42
- data-input="true"
43
- inputmode="numeric"
44
- max="30"
45
- min="23"
46
- name="day"
47
- placeholder="--"
48
- type="number"
49
- value="25"
50
- />
51
- <span
52
- class="react-date-picker__inputGroup__divider"
53
- >
54
- /
55
- </span>
56
- <input
57
- autocomplete="off"
58
- class="react-date-picker__inputGroup__input react-date-picker__inputGroup__year"
59
- data-input="true"
60
- inputmode="numeric"
61
- max="2021"
62
- min="2020"
63
- name="year"
64
- placeholder="----"
65
- step="1"
66
- type="number"
67
- value="2020"
68
- />
69
- </div>
70
- <button
71
- class="react-date-picker__clear-button react-date-picker__button"
72
- type="button"
73
- >
74
- <svg
75
- class="react-date-picker__clear-button__icon react-date-picker__button__icon"
76
- height="19"
77
- stroke="black"
78
- stroke-width="2"
79
- viewBox="0 0 19 19"
80
- width="19"
81
- xmlns="http://www.w3.org/2000/svg"
82
- >
83
- <line
84
- x1="4"
85
- x2="15"
86
- y1="4"
87
- y2="15"
88
- />
89
- <line
90
- x1="15"
91
- x2="4"
92
- y1="4"
93
- y2="15"
94
- />
95
- </svg>
96
- </button>
97
- <button
98
- class="react-date-picker__calendar-button react-date-picker__button"
99
- type="button"
100
- >
101
- <svg
102
- class="react-date-picker__calendar-button__icon react-date-picker__button__icon"
103
- height="19"
104
- stroke="black"
105
- stroke-width="2"
106
- viewBox="0 0 19 19"
107
- width="19"
108
- xmlns="http://www.w3.org/2000/svg"
109
- >
110
- <rect
111
- fill="none"
112
- height="15"
113
- width="15"
114
- x="2"
115
- y="2"
116
- />
117
- <line
118
- x1="6"
119
- x2="6"
120
- y1="0"
121
- y2="4"
122
- />
123
- <line
124
- x1="13"
125
- x2="13"
126
- y1="0"
127
- y2="4"
128
- />
129
- </svg>
130
- </button>
131
- </div>
132
- </div>
133
- </DocumentFragment>
134
- `;
@@ -1,42 +0,0 @@
1
- @import '../variables';
2
-
3
- .react-date-picker {
4
- padding: 0;
5
- &.react-date-picker--open {
6
- border: 1px solid $input-border-color--focused;
7
- box-shadow: $input-box-shadow--focused;
8
- }
9
- &.react-date-picker--disabled {
10
- background-color: $input-disabled-background-color;
11
- border-color: $input-disabled-border-color;
12
- }
13
-
14
- .react-date-picker__wrapper {
15
- width: 100%;
16
- border: none;
17
- }
18
-
19
- .react-date-picker__inputGroup {
20
- width: 100%;
21
- margin-left: 10px;
22
- }
23
-
24
- .is-invalid.react-date-picker {
25
- border: 1px solid $red;
26
- }
27
-
28
- .react-date-picker__calendar {
29
- z-index: 3;
30
- }
31
- .react-date-picker__inputGroup__input {
32
- min-width: 18px;
33
- text-align: center;
34
- &.react-date-picker__inputGroup__year {
35
- min-width: 40px;
36
- }
37
- }
38
-
39
- .react-calendar__tile--now {
40
- outline: 1px solid rgba(0, 0, 0, 0.5);
41
- }
42
- }
@@ -1,3 +0,0 @@
1
- import DatePickerInput from './DatePickerInput';
2
-
3
- export default DatePickerInput;
@@ -1,6 +0,0 @@
1
- import React from 'react';
2
-
3
- export default function ErrorScrollTarget(props) {
4
- const divId = `${props.name.toLowerCase()}-error-scroll-target`;
5
- return <div id={divId} style={{ display: 'none' }} />;
6
- }
@@ -1,39 +0,0 @@
1
- import React from 'react';
2
- import { ListGroupItem, ListGroup } from 'reactstrap';
3
-
4
- export default function DefaultFileList({ files, rejectedFiles = [] }) {
5
- return (
6
- <ListGroup>
7
- {files.map((file) => (
8
- <Group key={file.path} item={file} warning={false} />
9
- ))}
10
- {rejectedFiles.map(({ file }) => {
11
- return <Group key={file.path} item={file} warning={true} />;
12
- })}
13
- </ListGroup>
14
- );
15
- }
16
-
17
- function Group({ item, warning }) {
18
- return (
19
- <ListGroupItem
20
- color={`d-flex ${
21
- warning ? 'warning' : 'success'
22
- } justify-content-between list-group-item ${
23
- warning ? 'list-group-item-warning' : 'list-group-item-success'
24
- } px-3 py-1 rounded-1`}>
25
- <span className="d-flex justify-content-between w-100">
26
- <span>{item.name}</span> <span>{humanFileSize(item.size)}</span>
27
- </span>
28
- </ListGroupItem>
29
- );
30
- }
31
-
32
- function humanFileSize(size) {
33
- const i = Math.floor(Math.log(size) / Math.log(1024));
34
- return (
35
- (size / Math.pow(1024, i)).toFixed(2) * 1 +
36
- ' ' +
37
- ['B', 'KB', 'MB', 'GB', 'TB'][i]
38
- );
39
- }
@@ -1,56 +0,0 @@
1
- import React from 'react';
2
- import { useDropzone } from 'react-dropzone';
3
- import classNames from 'classnames';
4
- import DefaultFileList from './DefaultFileList';
5
-
6
- export default function DropzoneFileInput({
7
- className: classNameProp,
8
- onChange,
9
- value,
10
- accept,
11
- disabled,
12
- multiple = false,
13
- FileList = DefaultFileList,
14
- placeholder = 'Drag and drop some file(s) here, or click to select file(s)',
15
- dropzone,
16
- ...props
17
- }) {
18
- const {
19
- acceptedFiles = (acceptedFiles = acceptedFiles[0]),
20
- fileRejections = fileRejections.push(
21
- acceptedFiles.slice(1, acceptedFiles.length)
22
- ),
23
- getRootProps,
24
- getInputProps,
25
- isDragAccept,
26
- isDragReject,
27
- } = useDropzone({ accept, onDrop, disabled: disabled, multiple: multiple });
28
-
29
- function onDrop(acceptedFiles) {
30
- if (!acceptedFiles?.length > 1 && !multiple) {
31
- onChange(null);
32
- } else {
33
- onChange(acceptedFiles);
34
- }
35
- }
36
-
37
- const className = classNames('react-dropzone', classNameProp, {
38
- accept: isDragAccept,
39
- reject: isDragReject,
40
- disabled: disabled,
41
- });
42
-
43
- return (
44
- <section className={className}>
45
- <div {...getRootProps()}>
46
- <input {...props} {...getInputProps()} />
47
- <>{placeholder}</>
48
- {!multiple && <b>{`Only one file accepted.`}</b>}
49
- {accept && <b>{`Files of type "${accept}" accepted`}</b>}
50
- </div>
51
- <aside>
52
- <FileList files={acceptedFiles} rejectedFiles={fileRejections} />
53
- </aside>
54
- </section>
55
- );
56
- }
@@ -1,24 +0,0 @@
1
- import React from 'react';
2
- import { render } from '@testing-library/react';
3
-
4
- import DropzoneFileInput from './DropzoneFileInput';
5
-
6
- describe('DropZoneFileInput', () => {
7
- it('Renders without error', () => {
8
- render(<DropzoneFileInput name="myFile" />);
9
- });
10
-
11
- it('Renders multiple file without error', () => {
12
- render(<DropzoneFileInput name="myFile" multiple />);
13
- });
14
-
15
- it('has matching snapshot', () => {
16
- const renderResult = render(<DropzoneFileInput name="myFile" />);
17
- expect(renderResult.asFragment()).toMatchSnapshot();
18
- });
19
-
20
- it('Multiple file input has matching snapshot', () => {
21
- const renderResult = render(<DropzoneFileInput name="myFile" multiple />);
22
- expect(renderResult.asFragment()).toMatchSnapshot();
23
- });
24
- });
@@ -1,77 +0,0 @@
1
- import React, { useEffect, useRef, useState } from 'react';
2
- import DefaultFileList from './DefaultFileList';
3
-
4
- export default function FileInput({
5
- className,
6
- onChange,
7
- value,
8
- multiple = false,
9
- ...props
10
- }) {
11
- const inputRef = useRef();
12
- const [acceptedFiles, setAcceptedFiles] = useState([]);
13
- useEffect(() => {
14
- if (!value && inputRef.current) {
15
- inputRef.current.value = null;
16
- }
17
- }, [value]);
18
- return (
19
- <>
20
- <div
21
- className={`custom-file file-input ${className || ''} ${
22
- props.disabled ? 'disabled' : ''
23
- }`}>
24
- <div>
25
- <input
26
- ref={inputRef}
27
- type="file"
28
- className="custom-file-input"
29
- onChange={handleChange}
30
- multiple={multiple}
31
- {...props}
32
- />
33
- </div>
34
- <label className="custom-file-label">
35
- <div>
36
- {!value && <span>Choose A File...</span>}
37
- {value &&
38
- (!multiple ? (
39
- <span>
40
- {value.name} - size: {humanFileSize(value.size)}
41
- </span>
42
- ) : value.length === 1 ? (
43
- <span>
44
- {value[0].name} - size: {humanFileSize(value[0].size)}
45
- </span>
46
- ) : (
47
- <span>Multiple files selected.</span>
48
- ))}
49
- </div>
50
- </label>
51
- </div>
52
- <DefaultFileList files={acceptedFiles} />
53
- </>
54
- );
55
- function handleChange(e) {
56
- if (e == null || !e.target || !e.target.files.length) {
57
- onChange(null);
58
- } else {
59
- const files = [...e.target.files];
60
- setAcceptedFiles(files);
61
- if (!multiple) {
62
- onChange(files[0]);
63
- } else {
64
- onChange(files);
65
- }
66
- }
67
- }
68
- }
69
-
70
- function humanFileSize(size) {
71
- const i = Math.floor(Math.log(size) / Math.log(1024));
72
- return (
73
- (size / Math.pow(1024, i)).toFixed(2) * 1 +
74
- ' ' +
75
- ['B', 'KB', 'MB', 'GB', 'TB'][i]
76
- );
77
- }
@@ -1,24 +0,0 @@
1
- import React from 'react';
2
- import { render, screen } from '@testing-library/react';
3
-
4
- import FileInput from './FileInput';
5
-
6
- describe('FileInput', () => {
7
- it('Renders without error', () => {
8
- render(<FileInput name="myFile" />);
9
- });
10
-
11
- it('Renders multiple files without error', () => {
12
- render(<FileInput name="myFile" multiple />);
13
- });
14
-
15
- it('has matching snapshot', () => {
16
- const renderResult = render(<FileInput name="myFile" />);
17
- expect(renderResult.asFragment()).toMatchSnapshot();
18
- });
19
-
20
- it('multiple files has matching snapshot', () => {
21
- const renderResult = render(<FileInput name="myFile" multiple />);
22
- expect(renderResult.asFragment()).toMatchSnapshot();
23
- });
24
- });
@@ -1,57 +0,0 @@
1
- // Jest Snapshot v1, https://goo.gl/fbAQLP
2
-
3
- exports[`DropZoneFileInput Multiple file input has matching snapshot 1`] = `
4
- <DocumentFragment>
5
- <section
6
- class="react-dropzone"
7
- >
8
- <div
9
- tabindex="0"
10
- >
11
- <input
12
- autocomplete="off"
13
- multiple=""
14
- name="myFile"
15
- style="display: none;"
16
- tabindex="-1"
17
- type="file"
18
- />
19
- Drag and drop some file(s) here, or click to select file(s)
20
- </div>
21
- <aside>
22
- <ul
23
- class="list-group"
24
- />
25
- </aside>
26
- </section>
27
- </DocumentFragment>
28
- `;
29
-
30
- exports[`DropZoneFileInput has matching snapshot 1`] = `
31
- <DocumentFragment>
32
- <section
33
- class="react-dropzone"
34
- >
35
- <div
36
- tabindex="0"
37
- >
38
- <input
39
- autocomplete="off"
40
- name="myFile"
41
- style="display: none;"
42
- tabindex="-1"
43
- type="file"
44
- />
45
- Drag and drop some file(s) here, or click to select file(s)
46
- <b>
47
- Only one file accepted.
48
- </b>
49
- </div>
50
- <aside>
51
- <ul
52
- class="list-group"
53
- />
54
- </aside>
55
- </section>
56
- </DocumentFragment>
57
- `;
@@ -1,58 +0,0 @@
1
- // Jest Snapshot v1, https://goo.gl/fbAQLP
2
-
3
- exports[`FileInput has matching snapshot 1`] = `
4
- <DocumentFragment>
5
- <div
6
- class="custom-file file-input "
7
- >
8
- <div>
9
- <input
10
- class="custom-file-input"
11
- name="myFile"
12
- type="file"
13
- />
14
- </div>
15
- <label
16
- class="custom-file-label"
17
- >
18
- <div>
19
- <span>
20
- Choose A File...
21
- </span>
22
- </div>
23
- </label>
24
- </div>
25
- <ul
26
- class="list-group"
27
- />
28
- </DocumentFragment>
29
- `;
30
-
31
- exports[`FileInput multiple files has matching snapshot 1`] = `
32
- <DocumentFragment>
33
- <div
34
- class="custom-file file-input "
35
- >
36
- <div>
37
- <input
38
- class="custom-file-input"
39
- multiple=""
40
- name="myFile"
41
- type="file"
42
- />
43
- </div>
44
- <label
45
- class="custom-file-label"
46
- >
47
- <div>
48
- <span>
49
- Choose A File...
50
- </span>
51
- </div>
52
- </label>
53
- </div>
54
- <ul
55
- class="list-group"
56
- />
57
- </DocumentFragment>
58
- `;
@@ -1,58 +0,0 @@
1
- @import '../variables';
2
-
3
- .file-input {
4
- &.is-invalid {
5
- .custom-file-label {
6
- border: 1px solid $red;
7
- }
8
- }
9
- }
10
-
11
- .custom-file-input:disabled ~ .custom-file-label {
12
- background-color: $input-disabled-background-color;
13
- border-color: $input-disabled-border-color;
14
- &:after {
15
- display: none !important;
16
- }
17
- }
18
-
19
- section.react-dropzone {
20
- & > div {
21
- display: flex;
22
- flex: 1;
23
- flex-direction: column;
24
- align-items: center;
25
- border: 1px dashed #d8dbe0;
26
- border-radius: 0.25rem;
27
- background-color: white;
28
- color: #8a93a2;
29
- outline: none;
30
- margin: 0;
31
- padding: 20px;
32
- transition: 'border .24s ease-in-out';
33
- cursor: pointer;
34
- &:focus,
35
- &:focus-within {
36
- border-color: #958bef;
37
- box-shadow: 0 0 0 0.2rem rgba(50, 31, 219, 0.25);
38
- }
39
- }
40
- &.active > div,
41
- &.accept > div {
42
- border-color: #958bef;
43
- box-shadow: 0 0 0 0.2rem rgba(50, 31, 219, 0.25);
44
- }
45
- &.reject > div {
46
- color: rgb(229, 83, 83);
47
- border-color: rgb(229, 83, 83);
48
- box-shadow: rgba(229, 83, 83, 0.25) 0px 0px 0px 3.2px;
49
- }
50
- &.disabled > div {
51
- background-color: $input-disabled-background-color;
52
- border-color: $input-disabled-border-color;
53
- cursor: no-drop;
54
- }
55
- & > aside > .list-group:not(:empty) {
56
- margin-top: 1rem;
57
- }
58
- }
@@ -1,4 +0,0 @@
1
- import FileInput from './FileInput';
2
- import DropzoneFileInput from './DropzoneFileInput';
3
-
4
- export { FileInput, DropzoneFileInput };
@@ -1,23 +0,0 @@
1
- import React from 'react';
2
- import { render } from '@testing-library/react';
3
- import { HashRouter } from 'react-router-dom';
4
- import Form from './Form';
5
-
6
- describe('MoneyInput', () => {
7
- it('renders without crashing', () => {
8
- render(
9
- <HashRouter>
10
- <Form onSubmit={() => {}} />
11
- </HashRouter>
12
- );
13
- });
14
-
15
- it('has matching snapshot', () => {
16
- const renderResult = render(
17
- <HashRouter>
18
- <Form onSubmit={() => {}} />
19
- </HashRouter>
20
- );
21
- expect(renderResult.asFragment()).toMatchSnapshot();
22
- });
23
- });
@@ -1,25 +0,0 @@
1
- import { useEffect } from 'react';
2
- import { useFormikContext } from 'formik';
3
-
4
- export default function FormBasedPreventNavigation({
5
- ignoreLostChanges,
6
- promptMessage = 'Changes you made may not be saved.',
7
- }) {
8
- const { dirty, isSubmitting } = useFormikContext();
9
- const preventNavigate = !ignoreLostChanges && dirty && !isSubmitting;
10
- useEffect(() => {
11
- if (!preventNavigate) {
12
- return;
13
- }
14
- window.addEventListener('beforeunload', beforeUnload);
15
- return () => {
16
- window.removeEventListener('beforeunload', beforeUnload);
17
- };
18
- function beforeUnload(e) {
19
- e.preventDefault();
20
- e.returnValue = promptMessage;
21
- }
22
- }, [preventNavigate, promptMessage]);
23
- // TODO: https://reactrouter.com/docs/en/v6/upgrading/v5#prompt-is-not-currently-supported
24
- return null;
25
- }
@@ -1,7 +0,0 @@
1
- import React from 'react';
2
-
3
- const ServerErrorContext = React.createContext({
4
- getError: (path) => {},
5
- setError: (path, errorMessage) => {},
6
- });
7
- export default ServerErrorContext;
package/src/Form/index.js DELETED
@@ -1,3 +0,0 @@
1
- import Form from './Form';
2
- import ServerErrorContext from './ServerErrorContext';
3
- export { Form as default, ServerErrorContext };
package/src/FormGroup.js DELETED
@@ -1,30 +0,0 @@
1
- import React from 'react';
2
- import {
3
- FormGroup as BootstrapFormGroup,
4
- Label,
5
- FormFeedback,
6
- FormText,
7
- Alert,
8
- } from 'reactstrap';
9
-
10
- const FormGroup = ({
11
- label,
12
- id,
13
- helpText,
14
- className,
15
- style,
16
- children,
17
- meta,
18
- }) => {
19
- return (
20
- <BootstrapFormGroup className={className} style={style}>
21
- {!!meta.warning && <Alert color="warning">{meta.warning}</Alert>}
22
- {label && <Label htmlFor={id}>{label}</Label>}
23
- {children}
24
- {meta.error && <FormFeedback>{meta.error}</FormFeedback>}
25
- {helpText && <FormText>{helpText}</FormText>}
26
- </BootstrapFormGroup>
27
- );
28
- };
29
-
30
- export default FormGroup;