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
@@ -5,18 +5,12 @@ import StandardFormActions from '../StandardFormActions';
5
5
 
6
6
  describe('StandardFormActions', () => {
7
7
  it('renders without crashing', () => {
8
- render(
9
- <FormTestBase>
10
- <StandardFormActions />
11
- </FormTestBase>
12
- );
8
+ render(<FormTestBase>{() => <StandardFormActions />}</FormTestBase>);
13
9
  });
14
10
 
15
11
  it('has matching snapshot', () => {
16
12
  const renderResult = render(
17
- <FormTestBase>
18
- <StandardFormActions />
19
- </FormTestBase>
13
+ <FormTestBase>{() => <StandardFormActions />}</FormTestBase>
20
14
  );
21
15
  expect(renderResult.asFragment()).toMatchSnapshot();
22
16
  });
@@ -5,18 +5,12 @@ import SubmitFormButton from '../SubmitFormButton';
5
5
 
6
6
  describe('SubmitFormButton', () => {
7
7
  it('renders without crashing', () => {
8
- render(
9
- <FormTestBase>
10
- <SubmitFormButton />
11
- </FormTestBase>
12
- );
8
+ render(<FormTestBase>{() => <SubmitFormButton />}</FormTestBase>);
13
9
  });
14
10
 
15
11
  it('has matching snapshot', () => {
16
12
  const renderResult = render(
17
- <FormTestBase>
18
- <SubmitFormButton />
19
- </FormTestBase>
13
+ <FormTestBase>{() => <SubmitFormButton />}</FormTestBase>
20
14
  );
21
15
  expect(renderResult.asFragment()).toMatchSnapshot();
22
16
  });
@@ -6,7 +6,7 @@ exports[`StandardFormActions has matching snapshot 1`] = `
6
6
  action="#"
7
7
  >
8
8
  <button
9
- class="btn btn-primary disabled"
9
+ class="submit-form-button"
10
10
  disabled=""
11
11
  title="You haven't made any changes"
12
12
  type="submit"
@@ -15,7 +15,7 @@ exports[`StandardFormActions has matching snapshot 1`] = `
15
15
  </button>
16
16
   
17
17
  <button
18
- class="btn btn-link"
18
+ class="standard-form-actions-cancel-button"
19
19
  type="button"
20
20
  >
21
21
  Cancel
@@ -6,7 +6,7 @@ exports[`SubmitFormButton has matching snapshot 1`] = `
6
6
  action="#"
7
7
  >
8
8
  <button
9
- class="btn btn-primary disabled"
9
+ class="submit-form-button"
10
10
  disabled=""
11
11
  title="You haven't made any changes"
12
12
  type="submit"
@@ -0,0 +1,3 @@
1
+ import FormTestBase from './FormTestBase';
2
+
3
+ export { FormTestBase };
package/src/index.ts ADDED
@@ -0,0 +1,114 @@
1
+ // Address
2
+ export { default as AddressInput } from './AddressInput/AddressInput';
3
+ export type { AddressInputProps } from './AddressInput/AddressInput';
4
+
5
+ // Button
6
+ export { default as SubmitFormButton } from './SubmitFormButton';
7
+ export type { SubmitFormButtonProps } from './SubmitFormButton';
8
+
9
+ // ConfirmBaseForm
10
+ export { default as ConfirmBaseForm } from './ConfirmBaseForm/ConfirmBaseForm';
11
+ export type { ConfirmBaseFormProps } from './ConfirmBaseForm/ConfirmBaseForm';
12
+
13
+ // ConfirmDeleteForm
14
+ export { default as ConfirmDeleteForm } from './ConfirmDeleteForm/ConfirmDeleteForm';
15
+ export type { ConfirmDeleteFormProps } from './ConfirmDeleteForm/ConfirmDeleteForm';
16
+
17
+ // Date
18
+ export { default as DatePickerInput } from './DatePickerInput/DatePickerInput';
19
+ export type { DatePickerInputProps, DateOnly } from './DatePickerInput/DatePickerInput';
20
+
21
+ // Field
22
+ export { default as Field } from './Field/Field';
23
+ export type { FieldProps } from './Field/Field';
24
+
25
+ export { default as FieldErrorScrollTarget } from './Field/FieldErrorScrollTarget';
26
+
27
+ export { FieldNameContext } from './Field/FieldNameContext';
28
+
29
+ export type { InjectedFieldProps } from './Field/InjectedFieldProps';
30
+
31
+ export { default as useStandardField } from './Field/useStandardField';
32
+ export type { useStandardFieldProps } from './Field/useStandardField';
33
+
34
+ // Field Array
35
+ export { default as FieldArray } from './FieldArray/FieldArray';
36
+ export type {
37
+ FieldArrayProps,
38
+ ArrayFormBuilderProp,
39
+ } from './FieldArray/FieldArray';
40
+
41
+ // File
42
+ export { default as FileGroup } from './File/FileGroup';
43
+ export type { FileGroupProps } from './File/FileGroup';
44
+
45
+ // Form
46
+ export { default as Form } from './Form/Form';
47
+ export type { FormBuilderProp, FormProps } from './Form/Form';
48
+ export { ServerErrorContext } from './Form/ServerErrorContext';
49
+ export type {
50
+ ServerErrorContextProps,
51
+ ServerErrors,
52
+ } from './Form/ServerErrorContext';
53
+
54
+ export { default as FormActions } from './FormActions';
55
+ export type { FormActionsProps as FormActionsProps } from './FormActions';
56
+
57
+ // Input
58
+ export { default as Group } from './Group';
59
+ export type { GroupProps as GroupProps } from './Group';
60
+
61
+ export { default as IconInputGroup } from './Input/IconInputGroup';
62
+ export type { IconInputGroupProps } from './Input/IconInputGroup';
63
+
64
+ export { default as InputGroup } from './Input/InputGroup';
65
+ export type { InputGroupProps } from './Input/InputGroup';
66
+
67
+ export { default as MoneyInputGroup } from './Input/MoneyInputGroup';
68
+ export type { MoneyInputGroupProps } from './Input/MoneyInputGroup';
69
+
70
+ export { default as NumberInputGroup } from './Input/NumberInputGroup';
71
+ export type { NumberInputGroupProps } from './Input/NumberInputGroup';
72
+
73
+ export { default as StringInputGroup } from './Input/StringInputGroup';
74
+ export type { StringInputGroupProps } from './Input/StringInputGroup';
75
+
76
+ // Normalization
77
+ export type { NormalizationFunction } from './Normalization/NormalizationFunction';
78
+ export * as normalizers from './Normalization/normalizers';
79
+
80
+ // Select
81
+ export { default as SelectGroup } from './Select/SelectGroup';
82
+ export type { SelectGroupProps } from './Select/SelectGroup';
83
+
84
+ export { BooleanSelectGroup } from './Select/BooleanSelectGroup';
85
+ export type { BooleanSelectGroupProps } from './Select/BooleanSelectGroup';
86
+
87
+ export {
88
+ MultiNumberSelectGroup,
89
+ SingleNumberSelectGroup,
90
+ } from './Select/NumberSelectGroup';
91
+ export type { MultiNumberSelectGroupProps, SingleNumberSelectGroupProps } from './Select/NumberSelectGroup';
92
+
93
+ export {
94
+ MultiStringSelectGroup,
95
+ SingleStringSelectGroup,
96
+ } from './Select/StringSelectGroup';
97
+ export type { MultiStringSelectGroupProps, SingleStringSelectGroupProps } from './Select/StringSelectGroup';
98
+
99
+ // Utils
100
+ export { default as objectContainsNonSerializableProperty } from './utils/objectContainsNonSerializableProperty';
101
+
102
+ export { default as serialize } from './utils/objectToFormData';
103
+ export type { ObjectToFormDataCfgProps } from './utils/objectToFormData';
104
+
105
+ export * from './utils/typeChecks';
106
+
107
+ // Validation
108
+ export type { ValidatedApiResult } from './Validation/ValidatedApiResult';
109
+
110
+ export type { ValidationError } from './Validation/ValidationError';
111
+
112
+ export type { ValidationFunction } from './Validation/ValidationFunction';
113
+
114
+ export * as validators from './Validation/validators';
@@ -0,0 +1 @@
1
+ /// <reference types="react-scripts" />
package/src/styles.scss CHANGED
@@ -1,7 +0,0 @@
1
- @use './DatePickerInput/date-picker-input.scss';
2
- @use './InlineFormInput/inline-form-input.scss';
3
- @use './MoneyInput/money-input.scss';
4
- @use './FormInput/form-input.scss';
5
- @use './FileInput/file-input.scss';
6
- @use './FormInputArray/form-input-array.scss';
7
- @use './ReactSelectField/react-select-field.scss';
@@ -1,6 +1,8 @@
1
- import { isObject, isBlob, isFile } from './typeChecks';
1
+ import { isBlob, isFile, isObject } from './typeChecks';
2
2
 
3
- export default function objectContainsNonSerializableProperty(object) {
3
+ export default function objectContainsNonSerializableProperty(
4
+ object: any
5
+ ): boolean {
4
6
  return Object.entries(object).some((value) => {
5
7
  if (value) {
6
8
  if (isBlob(value[1]) || isFile(value[1])) {
@@ -1,17 +1,33 @@
1
1
  // Original: https://github.com/therealparmesh/object-to-formdata/blob/master/src/index.js
2
2
  // With Multiple Form File Fix: https://github.com/therealparmesh/object-to-formdata/pull/94/files
3
3
  import {
4
- isUndefined,
5
- isNull,
6
- isBoolean,
7
- isObject,
8
4
  isArray,
9
- isDate,
10
5
  isBlob,
6
+ isBoolean,
7
+ isDate,
11
8
  isFile,
9
+ isNull,
10
+ isObject,
11
+ isUndefined,
12
12
  } from './typeChecks';
13
13
 
14
- const serialize = (obj, cfg, fd, pre) => {
14
+ // TODO: make all of these optional?
15
+ export interface ObjectToFormDataCfgProps {
16
+ indices: boolean;
17
+ dotNotation: boolean;
18
+ allowEmptyArrays: boolean;
19
+ noFileListBrackets: boolean;
20
+ nullsAsUndefineds?: boolean;
21
+ booleansAsIntegers?: boolean;
22
+ }
23
+
24
+ // 'pre' is not provided until this function recursively calls itself when 'obj' is an array or object
25
+ const serialize = (
26
+ obj: any,
27
+ cfg: ObjectToFormDataCfgProps,
28
+ fd?: FormData,
29
+ pre?: string
30
+ ) => {
15
31
  cfg = cfg || {};
16
32
 
17
33
  cfg.indices = isUndefined(cfg.indices) ? false : cfg.indices;
@@ -35,19 +51,21 @@ const serialize = (obj, cfg, fd, pre) => {
35
51
 
36
52
  if (isUndefined(obj)) {
37
53
  return fd;
38
- } else if (isNull(obj)) {
54
+ } else if (isNull(obj) && !!pre) {
39
55
  if (!cfg.nullsAsUndefineds) {
40
56
  fd.append(pre, '');
41
57
  }
42
- } else if (isBoolean(obj)) {
58
+ } else if (isBoolean(obj) && !!pre) {
43
59
  if (cfg.booleansAsIntegers) {
44
- fd.append(pre, obj ? 1 : 0);
60
+ fd.append(pre, obj ? '1' : '0');
45
61
  } else {
46
62
  fd.append(pre, obj);
47
63
  }
64
+ } else if (isDate(obj) && !!pre) {
65
+ fd.append(pre, obj.toISOString());
48
66
  } else if (isArray(obj)) {
49
67
  if (obj.length) {
50
- obj.forEach((value, index) => {
68
+ obj.forEach((value: any, index: number) => {
51
69
  let key;
52
70
  if (cfg.noFileListBrackets && isFile(value)) {
53
71
  key = pre;
@@ -59,8 +77,6 @@ const serialize = (obj, cfg, fd, pre) => {
59
77
  } else if (cfg.allowEmptyArrays) {
60
78
  fd.append(pre + '[]', '');
61
79
  }
62
- } else if (isDate(obj)) {
63
- fd.append(pre, obj.toISOString());
64
80
  } else if (isObject(obj) && !isFile(obj) && !isBlob(obj)) {
65
81
  Object.keys(obj).forEach((prop) => {
66
82
  const value = obj[prop];
@@ -79,7 +95,7 @@ const serialize = (obj, cfg, fd, pre) => {
79
95
 
80
96
  serialize(value, cfg, fd, key);
81
97
  });
82
- } else {
98
+ } else if (!!pre) {
83
99
  fd.append(pre, obj);
84
100
  }
85
101
 
@@ -0,0 +1,18 @@
1
+ export const isUndefined = (value: any) => value === undefined;
2
+ export const isNull = (value: any) => value === null;
3
+ export const isBoolean = (value: any) => typeof value === 'boolean';
4
+ export const isObject = (value: any) => value === Object(value);
5
+ export const isArray = (value: any) => Array.isArray(value);
6
+ export const isDate = (value: any) => value instanceof Date;
7
+
8
+ export const isBlob = (value: any) =>
9
+ value &&
10
+ typeof value.size === 'number' &&
11
+ typeof value.type === 'string' &&
12
+ typeof value.slice === 'function';
13
+
14
+ export const isFile = (value: any) =>
15
+ isBlob(value) &&
16
+ typeof value.name === 'string' &&
17
+ (typeof value.lastModifiedDate === 'object' ||
18
+ typeof value.lastModified === 'number');
@@ -1,2 +0,0 @@
1
- import AddressInput from './AddressInput';
2
- export default AddressInput;
@@ -1,10 +0,0 @@
1
- import _extends from "@babel/runtime/helpers/esm/extends";
2
- import React from 'react';
3
- import boolOptions from './boolOptions';
4
- import FormInput from '../FormInput';
5
- export default function BoolInput(props) {
6
- return /*#__PURE__*/React.createElement(FormInput, _extends({
7
- options: boolOptions,
8
- type: "select"
9
- }, props));
10
- }
@@ -1,10 +0,0 @@
1
- import _extends from "@babel/runtime/helpers/esm/extends";
2
- import React from 'react';
3
- import boolOptions from './boolOptions';
4
- import InlineFormInput from '../InlineFormInput';
5
- export default function InlineBoolInput(props) {
6
- return /*#__PURE__*/React.createElement(InlineFormInput, _extends({
7
- options: boolOptions,
8
- type: "select"
9
- }, props));
10
- }
@@ -1,8 +0,0 @@
1
- var boolOptions = [{
2
- label: 'Yes',
3
- value: true
4
- }, {
5
- label: 'No',
6
- value: false
7
- }];
8
- export default boolOptions;
@@ -1,3 +0,0 @@
1
- import BoolInput from './BoolInput';
2
- import InlineBoolInput from './InlineBoolInput';
3
- export { BoolInput, InlineBoolInput };
@@ -1,2 +0,0 @@
1
- import ConfirmBaseForm from './ConfirmBaseForm';
2
- export default ConfirmBaseForm;
@@ -1,2 +0,0 @@
1
- import ConfirmDeleteForm from './ConfirmDeleteForm';
2
- export default ConfirmDeleteForm;
@@ -1,2 +0,0 @@
1
- import DatePickerInput from './DatePickerInput';
2
- export default DatePickerInput;
@@ -1,10 +0,0 @@
1
- import React from 'react';
2
- export default function ErrorScrollTarget(props) {
3
- var divId = "".concat(props.name.toLowerCase(), "-error-scroll-target");
4
- return /*#__PURE__*/React.createElement("div", {
5
- id: divId,
6
- style: {
7
- display: 'none'
8
- }
9
- });
10
- }
@@ -1,36 +0,0 @@
1
- import React from 'react';
2
- import { ListGroupItem, ListGroup } from 'reactstrap';
3
- export default function DefaultFileList(_ref) {
4
- var files = _ref.files,
5
- _ref$rejectedFiles = _ref.rejectedFiles,
6
- rejectedFiles = _ref$rejectedFiles === void 0 ? [] : _ref$rejectedFiles;
7
- return /*#__PURE__*/React.createElement(ListGroup, null, files.map(function (file) {
8
- return /*#__PURE__*/React.createElement(Group, {
9
- key: file.path,
10
- item: file,
11
- warning: false
12
- });
13
- }), rejectedFiles.map(function (_ref2) {
14
- var file = _ref2.file;
15
- return /*#__PURE__*/React.createElement(Group, {
16
- key: file.path,
17
- item: file,
18
- warning: true
19
- });
20
- }));
21
- }
22
-
23
- function Group(_ref3) {
24
- var item = _ref3.item,
25
- warning = _ref3.warning;
26
- return /*#__PURE__*/React.createElement(ListGroupItem, {
27
- color: "d-flex ".concat(warning ? 'warning' : 'success', " justify-content-between list-group-item ").concat(warning ? 'list-group-item-warning' : 'list-group-item-success', " px-3 py-1 rounded-1")
28
- }, /*#__PURE__*/React.createElement("span", {
29
- className: "d-flex justify-content-between w-100"
30
- }, /*#__PURE__*/React.createElement("span", null, item.name), " ", /*#__PURE__*/React.createElement("span", null, humanFileSize(item.size))));
31
- }
32
-
33
- function humanFileSize(size) {
34
- var i = Math.floor(Math.log(size) / Math.log(1024));
35
- return (size / Math.pow(1024, i)).toFixed(2) * 1 + ' ' + ['B', 'KB', 'MB', 'GB', 'TB'][i];
36
- }
@@ -1,58 +0,0 @@
1
- import _extends from "@babel/runtime/helpers/esm/extends";
2
- import _objectWithoutProperties from "@babel/runtime/helpers/esm/objectWithoutProperties";
3
- import _readOnlyError from "@babel/runtime/helpers/esm/readOnlyError";
4
- var _excluded = ["className", "onChange", "value", "accept", "disabled", "multiple", "FileList", "placeholder", "dropzone"];
5
- import React from 'react';
6
- import { useDropzone } from 'react-dropzone';
7
- import classNames from 'classnames';
8
- import DefaultFileList from './DefaultFileList';
9
- export default function DropzoneFileInput(_ref) {
10
- var classNameProp = _ref.className,
11
- onChange = _ref.onChange,
12
- value = _ref.value,
13
- accept = _ref.accept,
14
- disabled = _ref.disabled,
15
- _ref$multiple = _ref.multiple,
16
- multiple = _ref$multiple === void 0 ? false : _ref$multiple,
17
- _ref$FileList = _ref.FileList,
18
- FileList = _ref$FileList === void 0 ? DefaultFileList : _ref$FileList,
19
- _ref$placeholder = _ref.placeholder,
20
- placeholder = _ref$placeholder === void 0 ? 'Drag and drop some file(s) here, or click to select file(s)' : _ref$placeholder,
21
- dropzone = _ref.dropzone,
22
- props = _objectWithoutProperties(_ref, _excluded);
23
-
24
- var _useDropzone = useDropzone({
25
- accept: accept,
26
- onDrop: onDrop,
27
- disabled: disabled,
28
- multiple: multiple
29
- }),
30
- _useDropzone$accepted = _useDropzone.acceptedFiles,
31
- acceptedFiles = _useDropzone$accepted === void 0 ? (acceptedFiles[0], _readOnlyError("acceptedFiles")) : _useDropzone$accepted,
32
- _useDropzone$fileReje = _useDropzone.fileRejections,
33
- fileRejections = _useDropzone$fileReje === void 0 ? fileRejections.push(acceptedFiles.slice(1, acceptedFiles.length)) : _useDropzone$fileReje,
34
- getRootProps = _useDropzone.getRootProps,
35
- getInputProps = _useDropzone.getInputProps,
36
- isDragAccept = _useDropzone.isDragAccept,
37
- isDragReject = _useDropzone.isDragReject;
38
-
39
- function onDrop(acceptedFiles) {
40
- if (!(acceptedFiles !== null && acceptedFiles !== void 0 && acceptedFiles.length) > 1 && !multiple) {
41
- onChange(null);
42
- } else {
43
- onChange(acceptedFiles);
44
- }
45
- }
46
-
47
- var className = classNames('react-dropzone', classNameProp, {
48
- accept: isDragAccept,
49
- reject: isDragReject,
50
- disabled: disabled
51
- });
52
- return /*#__PURE__*/React.createElement("section", {
53
- className: className
54
- }, /*#__PURE__*/React.createElement("div", getRootProps(), /*#__PURE__*/React.createElement("input", _extends({}, props, getInputProps())), /*#__PURE__*/React.createElement(React.Fragment, null, placeholder), !multiple && /*#__PURE__*/React.createElement("b", null, "Only one file accepted."), accept && /*#__PURE__*/React.createElement("b", null, "Files of type \"".concat(accept, "\" accepted"))), /*#__PURE__*/React.createElement("aside", null, /*#__PURE__*/React.createElement(FileList, {
55
- files: acceptedFiles,
56
- rejectedFiles: fileRejections
57
- })));
58
- }
@@ -1,62 +0,0 @@
1
- import _toConsumableArray from "@babel/runtime/helpers/esm/toConsumableArray";
2
- import _extends from "@babel/runtime/helpers/esm/extends";
3
- import _slicedToArray from "@babel/runtime/helpers/esm/slicedToArray";
4
- import _objectWithoutProperties from "@babel/runtime/helpers/esm/objectWithoutProperties";
5
- var _excluded = ["className", "onChange", "value", "multiple"];
6
- import React, { useEffect, useRef, useState } from 'react';
7
- import DefaultFileList from './DefaultFileList';
8
- export default function FileInput(_ref) {
9
- var className = _ref.className,
10
- onChange = _ref.onChange,
11
- value = _ref.value,
12
- _ref$multiple = _ref.multiple,
13
- multiple = _ref$multiple === void 0 ? false : _ref$multiple,
14
- props = _objectWithoutProperties(_ref, _excluded);
15
-
16
- var inputRef = useRef();
17
-
18
- var _useState = useState([]),
19
- _useState2 = _slicedToArray(_useState, 2),
20
- acceptedFiles = _useState2[0],
21
- setAcceptedFiles = _useState2[1];
22
-
23
- useEffect(function () {
24
- if (!value && inputRef.current) {
25
- inputRef.current.value = null;
26
- }
27
- }, [value]);
28
- return /*#__PURE__*/React.createElement(React.Fragment, null, /*#__PURE__*/React.createElement("div", {
29
- className: "custom-file file-input ".concat(className || '', " ").concat(props.disabled ? 'disabled' : '')
30
- }, /*#__PURE__*/React.createElement("div", null, /*#__PURE__*/React.createElement("input", _extends({
31
- ref: inputRef,
32
- type: "file",
33
- className: "custom-file-input",
34
- onChange: handleChange,
35
- multiple: multiple
36
- }, props))), /*#__PURE__*/React.createElement("label", {
37
- className: "custom-file-label"
38
- }, /*#__PURE__*/React.createElement("div", null, !value && /*#__PURE__*/React.createElement("span", null, "Choose A File..."), value && (!multiple ? /*#__PURE__*/React.createElement("span", null, value.name, " - size: ", humanFileSize(value.size)) : value.length === 1 ? /*#__PURE__*/React.createElement("span", null, value[0].name, " - size: ", humanFileSize(value[0].size)) : /*#__PURE__*/React.createElement("span", null, "Multiple files selected."))))), /*#__PURE__*/React.createElement(DefaultFileList, {
39
- files: acceptedFiles
40
- }));
41
-
42
- function handleChange(e) {
43
- if (e == null || !e.target || !e.target.files.length) {
44
- onChange(null);
45
- } else {
46
- var files = _toConsumableArray(e.target.files);
47
-
48
- setAcceptedFiles(files);
49
-
50
- if (!multiple) {
51
- onChange(files[0]);
52
- } else {
53
- onChange(files);
54
- }
55
- }
56
- }
57
- }
58
-
59
- function humanFileSize(size) {
60
- var i = Math.floor(Math.log(size) / Math.log(1024));
61
- return (size / Math.pow(1024, i)).toFixed(2) * 1 + ' ' + ['B', 'KB', 'MB', 'GB', 'TB'][i];
62
- }
@@ -1,3 +0,0 @@
1
- import FileInput from './FileInput';
2
- import DropzoneFileInput from './DropzoneFileInput';
3
- export { FileInput, DropzoneFileInput };
package/es/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/es/FormGroup.js DELETED
@@ -1,22 +0,0 @@
1
- import React from 'react';
2
- import { FormGroup as BootstrapFormGroup, Label, FormFeedback, FormText, Alert } from 'reactstrap';
3
-
4
- var FormGroup = function FormGroup(_ref) {
5
- var label = _ref.label,
6
- id = _ref.id,
7
- helpText = _ref.helpText,
8
- className = _ref.className,
9
- style = _ref.style,
10
- children = _ref.children,
11
- meta = _ref.meta;
12
- return /*#__PURE__*/React.createElement(BootstrapFormGroup, {
13
- className: className,
14
- style: style
15
- }, !!meta.warning && /*#__PURE__*/React.createElement(Alert, {
16
- color: "warning"
17
- }, meta.warning), label && /*#__PURE__*/React.createElement(Label, {
18
- htmlFor: id
19
- }, label), children, meta.error && /*#__PURE__*/React.createElement(FormFeedback, null, meta.error), helpText && /*#__PURE__*/React.createElement(FormText, null, helpText));
20
- };
21
-
22
- export default FormGroup;
@@ -1,22 +0,0 @@
1
- import _extends from "@babel/runtime/helpers/esm/extends";
2
- import _objectWithoutProperties from "@babel/runtime/helpers/esm/objectWithoutProperties";
3
- var _excluded = ["prepend", "append", "Component", "helpText"];
4
- import React from 'react';
5
- import { InputGroup } from 'reactstrap';
6
- import FormGroup from './FormGroup';
7
- import ErrorScrollTarget from './ErrorScrollTarget';
8
- export default function FormGroupWrapper(_ref) {
9
- var prepend = _ref.prepend,
10
- append = _ref.append,
11
- Component = _ref.Component,
12
- helpText = _ref.helpText,
13
- props = _objectWithoutProperties(_ref, _excluded);
14
-
15
- var meta = props.meta;
16
- return /*#__PURE__*/React.createElement(FormGroup, _extends({
17
- meta: meta,
18
- helpText: helpText
19
- }, props), /*#__PURE__*/React.createElement(ErrorScrollTarget, {
20
- name: props.name
21
- }), prepend || append ? /*#__PURE__*/React.createElement(InputGroup, null, prepend, /*#__PURE__*/React.createElement(Component, props), append) : /*#__PURE__*/React.createElement(Component, props));
22
- }