envoc-form 3.3.0 → 4.0.1-2

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 (455) 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 -25
  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 -262
  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 -101
  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 +179 -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 +33 -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 +30 -0
  262. package/src/Input/__Tests__/__snapshots__/MoneyInputGroup.test.tsx.snap +32 -0
  263. package/src/Input/__Tests__/__snapshots__/NumberInputGroup.test.tsx.snap +30 -0
  264. package/src/Input/__Tests__/__snapshots__/StringInputGroup.test.tsx.snap +29 -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 -3
  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 -4
  314. package/es/Form/index.js +0 -5
  315. package/es/FormGroup.js +0 -22
  316. package/es/FormGroupWrapper.js +0 -22
  317. package/es/FormInput/FormInput.js +0 -212
  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/MoneyFormattedInput/MoneyFormattedInput.js +0 -106
  326. package/es/MoneyFormattedInput/index.js +0 -2
  327. package/es/MoneyInput/InlineMoneyInput.js +0 -7
  328. package/es/MoneyInput/MoneyInput.js +0 -7
  329. package/es/MoneyInput/index.js +0 -3
  330. package/es/MoneyInput/moneyInputProps.js +0 -13
  331. package/es/NestedFormFieldContext.js +0 -4
  332. package/es/ReactSelectField/ReactSelectField.js +0 -162
  333. package/es/ReactSelectField/index.js +0 -2
  334. package/es/normalizers.js +0 -39
  335. package/es/selectors.js +0 -6
  336. package/es/useStandardFormInput.js +0 -119
  337. package/es/utils/index.js +0 -3
  338. package/es/validators/index.js +0 -2
  339. package/es/validators/validators.js +0 -94
  340. package/lib/AddressInput/index.js +0 -23
  341. package/lib/BoolInput/BoolInput.js +0 -23
  342. package/lib/BoolInput/InlineBoolInput.js +0 -23
  343. package/lib/BoolInput/boolOptions.js +0 -15
  344. package/lib/BoolInput/index.js +0 -23
  345. package/lib/ConfirmBaseForm/index.js +0 -13
  346. package/lib/ConfirmDeleteForm/index.js +0 -13
  347. package/lib/DatePickerInput/DatePickerInput.js +0 -113
  348. package/lib/DatePickerInput/index.js +0 -13
  349. package/lib/ErrorScrollTarget.js +0 -20
  350. package/lib/FileInput/DefaultFileList.js +0 -47
  351. package/lib/FileInput/DropzoneFileInput.js +0 -75
  352. package/lib/FileInput/FileInput.js +0 -82
  353. package/lib/FileInput/index.js +0 -31
  354. package/lib/Form/index.js +0 -39
  355. package/lib/FormGroup.js +0 -33
  356. package/lib/FormGroupWrapper.js +0 -37
  357. package/lib/FormInput/FormInput.js +0 -236
  358. package/lib/FormInput/index.js +0 -13
  359. package/lib/FormInputArray/FormInputArray.js +0 -248
  360. package/lib/FormInputArray/index.js +0 -13
  361. package/lib/FormSection.js +0 -28
  362. package/lib/IconInput.js +0 -51
  363. package/lib/InlineFormInput/InlineFormInput.js +0 -20
  364. package/lib/InlineFormInput/index.js +0 -13
  365. package/lib/MoneyFormattedInput/MoneyFormattedInput.js +0 -126
  366. package/lib/MoneyFormattedInput/index.js +0 -15
  367. package/lib/MoneyInput/InlineMoneyInput.js +0 -20
  368. package/lib/MoneyInput/MoneyInput.js +0 -20
  369. package/lib/MoneyInput/index.js +0 -23
  370. package/lib/MoneyInput/moneyInputProps.js +0 -26
  371. package/lib/NestedFormFieldContext.js +0 -16
  372. package/lib/ReactSelectField/ReactSelectField.js +0 -187
  373. package/lib/ReactSelectField/index.js +0 -31
  374. package/lib/normalizers.js +0 -51
  375. package/lib/selectors.js +0 -18
  376. package/lib/useStandardFormInput.js +0 -135
  377. package/lib/utils/index.js +0 -23
  378. package/lib/validators/index.js +0 -17
  379. package/lib/validators/validators.js +0 -130
  380. package/src/AddressInput/AddressInput.js +0 -73
  381. package/src/AddressInput/__snapshots__/AddesssInput.test.js.snap +0 -207
  382. package/src/AddressInput/index.js +0 -3
  383. package/src/BoolInput/BoolInput.js +0 -7
  384. package/src/BoolInput/BoolInput.test.js +0 -23
  385. package/src/BoolInput/InlineBoolInput.js +0 -7
  386. package/src/BoolInput/__snapshots__/BoolInput.test.js.snap +0 -89
  387. package/src/BoolInput/boolOptions.js +0 -6
  388. package/src/BoolInput/index.js +0 -4
  389. package/src/ConfirmBaseForm/ConfirmBaseForm.js +0 -37
  390. package/src/ConfirmBaseForm/ConfirmBaseForm.test.js +0 -14
  391. package/src/ConfirmBaseForm/index.js +0 -2
  392. package/src/ConfirmDeleteForm/ConfirmDeleteForm.js +0 -39
  393. package/src/ConfirmDeleteForm/index.js +0 -2
  394. package/src/DatePickerInput/DatePickerInput.js +0 -49
  395. package/src/DatePickerInput/DatePickerInput.test.js +0 -74
  396. package/src/DatePickerInput/__snapshots__/DatePickerInput.test.js.snap +0 -134
  397. package/src/DatePickerInput/date-picker-input.scss +0 -42
  398. package/src/DatePickerInput/index.js +0 -3
  399. package/src/ErrorScrollTarget.js +0 -6
  400. package/src/FileInput/DefaultFileList.js +0 -39
  401. package/src/FileInput/DropzoneFileInput.js +0 -56
  402. package/src/FileInput/DropzoneFileInput.test.js +0 -24
  403. package/src/FileInput/FileInput.js +0 -77
  404. package/src/FileInput/FileInput.test.js +0 -24
  405. package/src/FileInput/__snapshots__/DropzoneFileInput.test.js.snap +0 -57
  406. package/src/FileInput/__snapshots__/FileInput.test.js.snap +0 -58
  407. package/src/FileInput/file-input.scss +0 -58
  408. package/src/FileInput/index.js +0 -5
  409. package/src/Form/Form.test.js +0 -23
  410. package/src/Form/FormBasedPreventNavigation.js +0 -25
  411. package/src/Form/ServerErrorContext.js +0 -7
  412. package/src/Form/index.js +0 -11
  413. package/src/FormGroup.js +0 -30
  414. package/src/FormGroupWrapper.js +0 -28
  415. package/src/FormInput/FormInput.js +0 -148
  416. package/src/FormInput/FormInput.test.js +0 -66
  417. package/src/FormInput/__snapshots__/FormInput.test.js.snap +0 -323
  418. package/src/FormInput/form-input.scss +0 -9
  419. package/src/FormInput/index.js +0 -2
  420. package/src/FormInputArray/FormInputArray.js +0 -224
  421. package/src/FormInputArray/FormInputArray.test.js +0 -108
  422. package/src/FormInputArray/__snapshots__/FormInputArray.test.js.snap +0 -52
  423. package/src/FormInputArray/form-input-array.scss +0 -13
  424. package/src/FormInputArray/index.js +0 -2
  425. package/src/FormSection.js +0 -13
  426. package/src/IconInput.js +0 -31
  427. package/src/InlineFormInput/InlineFormInput.js +0 -6
  428. package/src/InlineFormInput/InlineFormInput.test.js +0 -23
  429. package/src/InlineFormInput/__snapshots__/InlineFormInput.test.js.snap +0 -26
  430. package/src/InlineFormInput/index.js +0 -3
  431. package/src/InlineFormInput/inline-form-input.scss +0 -3
  432. package/src/MoneyFormattedInput/MoneyFormattedInput.js +0 -115
  433. package/src/MoneyFormattedInput/index.js +0 -3
  434. package/src/MoneyInput/InlineMoneyInput.js +0 -7
  435. package/src/MoneyInput/MoneyInput.js +0 -7
  436. package/src/MoneyInput/MoneyInputs.test.js +0 -43
  437. package/src/MoneyInput/__snapshots__/MoneyInputs.test.js.snap +0 -81
  438. package/src/MoneyInput/index.js +0 -4
  439. package/src/MoneyInput/money-input.scss +0 -3
  440. package/src/MoneyInput/moneyInputProps.js +0 -12
  441. package/src/NestedFormFieldContext.js +0 -6
  442. package/src/ReactSelectField/ReactSelectField.js +0 -155
  443. package/src/ReactSelectField/index.js +0 -6
  444. package/src/ReactSelectField/react-select-field.scss +0 -5
  445. package/src/SubmitFormButton.js +0 -28
  446. package/src/__Tests__/FormTestBase.js +0 -14
  447. package/src/__Tests__/IconInput.test.js +0 -23
  448. package/src/__Tests__/__snapshots__/IconInput.test.js.snap +0 -38
  449. package/src/index.js +0 -70
  450. package/src/selectors.js +0 -3
  451. package/src/useStandardFormInput.js +0 -118
  452. package/src/utils/index.js +0 -3
  453. package/src/utils/typeChecks.js +0 -18
  454. package/src/validators/index.js +0 -2
  455. package/src/validators/validators.js +0 -93
@@ -0,0 +1,63 @@
1
+ import '@testing-library/jest-dom/extend-expect';
2
+ import { HashRouter } from 'react-router-dom';
3
+ import { ValidatedApiResult } from 'Validation/ValidatedApiResult';
4
+ import { DateOnly, Form, FormBuilderProp } from '../../src';
5
+
6
+ interface FormTestBaseProps<TForm extends object> {
7
+ children: (formBuilder: FormBuilderProp<TForm>) => JSX.Element;
8
+ initialValues?: TForm;
9
+ }
10
+
11
+ export default function FormTestBase<TForm extends PersonDto>({
12
+ children,
13
+ initialValues,
14
+ }: FormTestBaseProps<TForm>) {
15
+ return (
16
+ <HashRouter>
17
+ <Form onSubmit={onSubmit} initialValues={initialValues}>
18
+ {children}
19
+ </Form>
20
+ </HashRouter>
21
+ );
22
+
23
+ async function onSubmit(
24
+ data: PersonDto | FormData
25
+ ): Promise<ValidatedApiResult> {
26
+ const isFormData = data instanceof FormData;
27
+ const result = await fetch('/api/submit', {
28
+ body: isFormData ? data : JSON.stringify(data),
29
+ method: 'POST',
30
+ headers: {
31
+ 'Content-Type': isFormData ? 'multipart/form-data' : 'application/json',
32
+ 'X-Show-Errors': `Errors go here`,
33
+ },
34
+ });
35
+
36
+ const apiResult = await (result.json() as Promise<ValidatedApiResult>);
37
+
38
+ if (!apiResult.hasErrors) {
39
+ alert('submitted');
40
+ }
41
+
42
+ return apiResult;
43
+ }
44
+ }
45
+
46
+ interface PersonDto {
47
+ name?: string | undefined;
48
+ nameWithIcon?: string | undefined;
49
+ numberOfArms?: number;
50
+ phoneNumber?: string;
51
+ yearlySalaryUSD?: number;
52
+ isCool?: boolean;
53
+ gradDate?: DateOnly;
54
+ favoriteDate?: DateOnly;
55
+ favoriteNumber?: number;
56
+ favoriteColor?: string;
57
+ favoriteColors?: string[];
58
+ favoriteNames?: string[];
59
+ allowLogin?: boolean;
60
+ userRoles?: number[];
61
+ profileImage?: any;
62
+ favoritePictures?: any[];
63
+ }
@@ -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,149 @@
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 DatePickerGroup } from './DatePicker/DatePickerGroup';
19
+ export type { DatePickerGroupProps as DatePickerGroupProps } from './DatePicker/DatePickerGroup';
20
+
21
+ export type { DatePickerHelper } from './DatePicker/DatePickerHelper';
22
+
23
+ export { default as DateOnlyDatePickerGroup } from './DatePicker/DateOnlyDatePickerGroup';
24
+ export type {
25
+ DateOnly,
26
+ DateOnlyDatePickerGroupProps,
27
+ } from './DatePicker/DateOnlyDatePickerGroup';
28
+
29
+ export { default as StringDatePickerGroup } from './DatePicker/StringDatePickerGroup';
30
+ export type { StringDatePickerGroupProps } from './DatePicker/StringDatePickerGroup';
31
+
32
+ // Field
33
+ export { default as Field } from './Field/Field';
34
+ export type { FieldProps } from './Field/Field';
35
+
36
+ export type { RenderComponent } from './Field/Field';
37
+ export type { RenderComponentProps } from './Field/Field';
38
+
39
+ export { default as FieldErrorScrollTarget } from './Field/FieldErrorScrollTarget';
40
+
41
+ export { FieldNameContext } from './Field/FieldNameContext';
42
+
43
+ export type { InjectedFieldProps } from './Field/InjectedFieldProps';
44
+
45
+ export { default as StandAloneInput } from './Field/StandAloneInput';
46
+
47
+ export type { StandAloneInputProps } from './Field/StandAloneInput';
48
+
49
+ export { default as useStandardField } from './Field/useStandardField';
50
+ export type { useStandardFieldProps } from './Field/useStandardField';
51
+
52
+ // Field Array
53
+ export { default as FieldArray } from './FieldArray/FieldArray';
54
+ export type {
55
+ FieldArrayProps,
56
+ ArrayFormBuilderProp,
57
+ } from './FieldArray/FieldArray';
58
+
59
+ // File
60
+ export { default as FileGroup } from './File/FileGroup';
61
+ export type { FileGroupProps } from './File/FileGroup';
62
+
63
+ // Form
64
+ export { default as Form } from './Form/Form';
65
+ export type { FormBuilderProp, FormProps } from './Form/Form';
66
+ export { ServerErrorContext } from './Form/ServerErrorContext';
67
+ export type {
68
+ ServerErrorContextProps,
69
+ ServerErrors,
70
+ } from './Form/ServerErrorContext';
71
+
72
+ export { default as FormActions } from './FormActions';
73
+ export type { FormActionsProps as FormActionsProps } from './FormActions';
74
+
75
+ export { default as StandardFormActions } from './StandardFormActions';
76
+ export type { StandardFormActionsProps as StandardFormActionsProps } from './StandardFormActions';
77
+
78
+ // Input
79
+ export { default as Group } from './Group';
80
+ export type { GroupProps as GroupProps } from './Group';
81
+
82
+ export { default as IconInputGroup } from './Input/IconInputGroup';
83
+ export type { IconInputGroupProps } from './Input/IconInputGroup';
84
+
85
+ export { default as InputGroup } from './Input/InputGroup';
86
+ export type { InputGroupProps } from './Input/InputGroup';
87
+
88
+ export { default as MoneyInputGroup } from './Input/MoneyInputGroup';
89
+ export type { MoneyInputGroupProps } from './Input/MoneyInputGroup';
90
+
91
+ export { default as NumberInputGroup } from './Input/NumberInputGroup';
92
+ export type { NumberInputGroupProps } from './Input/NumberInputGroup';
93
+
94
+ export { default as StringInputGroup } from './Input/StringInputGroup';
95
+ export type { StringInputGroupProps } from './Input/StringInputGroup';
96
+
97
+ // Normalization
98
+ export type { NormalizationFunction } from './Normalization/NormalizationFunction';
99
+ export * as normalizers from './Normalization/normalizers';
100
+
101
+ // Select
102
+ export { default as SelectGroup } from './Select/SelectGroup';
103
+ export type { SelectGroupProps, SelectOption } from './Select/SelectGroup';
104
+
105
+ export { BooleanSelectGroup } from './Select/BooleanSelectGroup';
106
+ export type { BooleanSelectGroupProps } from './Select/BooleanSelectGroup';
107
+
108
+ export {
109
+ MultiNumberSelectGroup,
110
+ SingleNumberSelectGroup,
111
+ } from './Select/NumberSelectGroup';
112
+ export type {
113
+ MultiNumberSelectGroupProps,
114
+ SingleNumberSelectGroupProps,
115
+ } from './Select/NumberSelectGroup';
116
+
117
+ export type { SelectGroupPropsHelper } from './Select/SelectGroupPropsHelper';
118
+
119
+ export {
120
+ MultiStringSelectGroup,
121
+ SingleStringSelectGroup,
122
+ } from './Select/StringSelectGroup';
123
+ export type {
124
+ MultiStringSelectGroupProps,
125
+ SingleStringSelectGroupProps,
126
+ } from './Select/StringSelectGroup';
127
+
128
+ // Text Area
129
+
130
+ export { default as TextAreaGroup } from './TextArea/TextAreaGroup';
131
+
132
+ export type { TextAreaGroupProps } from './TextArea/TextAreaGroup';
133
+
134
+ // Utils
135
+ export { default as objectContainsNonSerializableProperty } from './utils/objectContainsNonSerializableProperty';
136
+
137
+ export { default as serialize } from './utils/objectToFormData';
138
+ export type { ObjectToFormDataCfgProps } from './utils/objectToFormData';
139
+
140
+ export * from './utils/typeChecks';
141
+
142
+ // Validation
143
+ export type { ValidatedApiResult } from './Validation/ValidatedApiResult';
144
+
145
+ export type { ValidationError } from './Validation/ValidationError';
146
+
147
+ export type { ValidationFunction } from './Validation/ValidationFunction';
148
+
149
+ 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,3 +0,0 @@
1
- import AddressInput from './AddressInput';
2
- import UsStates from './UsStates';
3
- export { AddressInput as default, UsStates };
@@ -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,95 +0,0 @@
1
- import _extends from "@babel/runtime/helpers/esm/extends";
2
- import _objectWithoutProperties from "@babel/runtime/helpers/esm/objectWithoutProperties";
3
- import _classCallCheck from "@babel/runtime/helpers/esm/classCallCheck";
4
- import _createClass from "@babel/runtime/helpers/esm/createClass";
5
- import _assertThisInitialized from "@babel/runtime/helpers/esm/assertThisInitialized";
6
- import _inherits from "@babel/runtime/helpers/esm/inherits";
7
- import _possibleConstructorReturn from "@babel/runtime/helpers/esm/possibleConstructorReturn";
8
- import _getPrototypeOf from "@babel/runtime/helpers/esm/getPrototypeOf";
9
- import _defineProperty from "@babel/runtime/helpers/esm/defineProperty";
10
- var _excluded = ["value", "className", "maxDate"];
11
-
12
- function _createSuper(Derived) { var hasNativeReflectConstruct = _isNativeReflectConstruct(); return function _createSuperInternal() { var Super = _getPrototypeOf(Derived), result; if (hasNativeReflectConstruct) { var NewTarget = _getPrototypeOf(this).constructor; result = Reflect.construct(Super, arguments, NewTarget); } else { result = Super.apply(this, arguments); } return _possibleConstructorReturn(this, result); }; }
13
-
14
- function _isNativeReflectConstruct() { if (typeof Reflect === "undefined" || !Reflect.construct) return false; if (Reflect.construct.sham) return false; if (typeof Proxy === "function") return true; try { Boolean.prototype.valueOf.call(Reflect.construct(Boolean, [], function () {})); return true; } catch (e) { return false; } }
15
-
16
- import React from 'react';
17
- import DatePicker from 'react-date-picker/dist/entry.nostyle';
18
- import parseISO from 'date-fns/parseISO';
19
- import classnames from 'classnames';
20
- var dateOnlyRegex = /^\d{4}-\d{2}-\d{2}$/;
21
- var defaultMaxDate = new Date('9999-12-31');
22
-
23
- var DatePickerInput = /*#__PURE__*/function (_React$Component) {
24
- _inherits(DatePickerInput, _React$Component);
25
-
26
- var _super = _createSuper(DatePickerInput);
27
-
28
- function DatePickerInput() {
29
- var _this;
30
-
31
- _classCallCheck(this, DatePickerInput);
32
-
33
- for (var _len = arguments.length, args = new Array(_len), _key = 0; _key < _len; _key++) {
34
- args[_key] = arguments[_key];
35
- }
36
-
37
- _this = _super.call.apply(_super, [this].concat(args));
38
-
39
- _defineProperty(_assertThisInitialized(_this), "handleBlur", function () {
40
- var onBlur = _this.props.onBlur;
41
- onBlur();
42
- });
43
-
44
- _defineProperty(_assertThisInitialized(_this), "handleChange", function (e) {
45
- var onChange = _this.props.onChange;
46
-
47
- if (e == null) {
48
- onChange(null);
49
- } else {
50
- // ensure ONLY the date is persisted - so UTC offset info / time is not persisted or sent
51
- onChange(e.toISOString().split('T')[0]);
52
- }
53
- });
54
-
55
- return _this;
56
- }
57
-
58
- _createClass(DatePickerInput, [{
59
- key: "render",
60
- value: function render() {
61
- var _this$props = this.props,
62
- value = _this$props.value,
63
- className = _this$props.className,
64
- _this$props$maxDate = _this$props.maxDate,
65
- maxDate = _this$props$maxDate === void 0 ? defaultMaxDate : _this$props$maxDate,
66
- rest = _objectWithoutProperties(_this$props, _excluded);
67
-
68
- if (value && !dateOnlyRegex.test(value)) {
69
- var errorMessage = "Invalid date only value of ".concat(value, " passed to DatePicker input. This input is only configured to handle dates in the format yyyy-mm-dd. Ensure that the server is configured to return date only values.");
70
-
71
- if (process.env.NODE_ENV !== 'production') {
72
- //We should throw if 'value' is not 'yyyy-mm-dd' in dev
73
- throw new Error(errorMessage);
74
- } else {
75
- console.error(errorMessage);
76
- }
77
- }
78
-
79
- var parsedValue = value ? parseISO(value) : null;
80
- return /*#__PURE__*/React.createElement(DatePicker, _extends({
81
- className: classnames('form-control', className),
82
- onCalendarOpen: this.onCalendarOpen
83
- }, rest, {
84
- value: parsedValue,
85
- onChange: this.handleChange,
86
- onBlur: this.handleBlur,
87
- maxDate: maxDate
88
- }));
89
- }
90
- }]);
91
-
92
- return DatePickerInput;
93
- }(React.Component);
94
-
95
- export { DatePickerInput as default };
@@ -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
- }