envoc-form 3.2.0 → 4.0.1-1

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (449) hide show
  1. package/README.md +10 -1
  2. package/dist/css/envoc-form-styles.css +0 -113
  3. package/dist/css/envoc-form-styles.css.map +1 -1
  4. package/es/AddressInput/AddressInput.d.ts +15 -0
  5. package/es/AddressInput/AddressInput.js +21 -97
  6. package/es/AddressInput/UsStates.d.ts +3 -0
  7. package/es/AddressInput/UsStates.js +53 -152
  8. package/es/ConfirmBaseForm/ConfirmBaseForm.d.ts +10 -0
  9. package/es/ConfirmBaseForm/ConfirmBaseForm.js +35 -43
  10. package/es/ConfirmDeleteForm/ConfirmDeleteForm.d.ts +11 -0
  11. package/es/ConfirmDeleteForm/ConfirmDeleteForm.js +54 -40
  12. package/es/DatePicker/DateOnlyDatePickerGroup.d.ts +10 -0
  13. package/es/DatePicker/DateOnlyDatePickerGroup.js +23 -0
  14. package/es/DatePicker/DatePickerGroup.d.ts +8 -0
  15. package/es/DatePicker/DatePickerGroup.js +60 -0
  16. package/es/DatePicker/DatePickerHelper.d.ts +3 -0
  17. package/es/DatePicker/DatePickerHelper.js +1 -0
  18. package/es/DatePicker/StringDatePickerGroup.d.ts +5 -0
  19. package/es/DatePicker/StringDatePickerGroup.js +19 -0
  20. package/es/Field/CustomFieldInputProps.d.ts +7 -0
  21. package/es/Field/CustomFieldInputProps.js +1 -0
  22. package/es/Field/CustomFieldMetaProps.d.ts +4 -0
  23. package/es/Field/CustomFieldMetaProps.js +1 -0
  24. package/es/Field/Field.d.ts +22 -0
  25. package/es/Field/Field.js +46 -0
  26. package/es/Field/FieldErrorScrollTarget.d.ts +2 -0
  27. package/es/Field/FieldErrorScrollTarget.js +11 -0
  28. package/es/Field/FieldNameContext.d.ts +3 -0
  29. package/es/Field/FieldNameContext.js +3 -0
  30. package/es/Field/FieldSection.d.ts +7 -0
  31. package/es/Field/FieldSection.js +20 -0
  32. package/es/Field/InjectedFieldProps.d.ts +7 -0
  33. package/es/Field/InjectedFieldProps.js +1 -0
  34. package/es/Field/StandAloneInput.d.ts +9 -0
  35. package/es/Field/StandAloneInput.js +49 -0
  36. package/es/Field/useStandardField.d.ts +15 -0
  37. package/es/Field/useStandardField.js +93 -0
  38. package/es/FieldArray/FieldArray.d.ts +15 -0
  39. package/es/FieldArray/FieldArray.js +80 -0
  40. package/es/File/FileGroup.d.ts +8 -0
  41. package/es/File/FileGroup.js +50 -0
  42. package/es/File/FileList.d.ts +6 -0
  43. package/es/File/FileList.js +20 -0
  44. package/es/File/humanFileSize.d.ts +1 -0
  45. package/es/File/humanFileSize.js +6 -0
  46. package/es/Form/FocusError.d.ts +5 -0
  47. package/es/Form/FocusError.js +41 -53
  48. package/es/Form/Form.d.ts +22 -0
  49. package/es/Form/Form.js +111 -125
  50. package/es/Form/FormBasedPreventNavigation.d.ts +5 -0
  51. package/es/Form/FormBasedPreventNavigation.js +53 -30
  52. package/es/Form/ServerErrorContext.d.ts +10 -0
  53. package/es/Form/ServerErrorContext.js +8 -6
  54. package/es/FormActions.d.ts +7 -0
  55. package/es/FormActions.js +22 -0
  56. package/es/Group.d.ts +13 -0
  57. package/es/Group.js +22 -0
  58. package/es/Input/IconInputGroup.d.ts +9 -0
  59. package/es/Input/IconInputGroup.js +40 -0
  60. package/es/Input/InputGroup.d.ts +12 -0
  61. package/es/Input/InputGroup.js +33 -0
  62. package/es/Input/MoneyInputGroup.d.ts +7 -0
  63. package/es/Input/MoneyInputGroup.js +41 -0
  64. package/es/Input/NumberInputGroup.d.ts +7 -0
  65. package/es/Input/NumberInputGroup.js +41 -0
  66. package/es/Input/StringInputGroup.d.ts +7 -0
  67. package/es/Input/StringInputGroup.js +40 -0
  68. package/es/Normalization/NormalizationFunction.d.ts +4 -0
  69. package/es/Normalization/NormalizationFunction.js +1 -0
  70. package/es/Normalization/normalizers.d.ts +2 -0
  71. package/es/Normalization/normalizers.js +30 -0
  72. package/es/Select/BooleanSelectGroup.d.ts +7 -0
  73. package/es/Select/BooleanSelectGroup.js +27 -0
  74. package/es/Select/NumberSelectGroup.d.ts +8 -0
  75. package/es/Select/NumberSelectGroup.js +19 -0
  76. package/es/Select/SelectGroup.d.ts +22 -0
  77. package/es/Select/SelectGroup.js +59 -0
  78. package/es/Select/SelectGroupPropsHelper.d.ts +3 -0
  79. package/es/Select/SelectGroupPropsHelper.js +1 -0
  80. package/es/Select/StringSelectGroup.d.ts +8 -0
  81. package/es/Select/StringSelectGroup.js +19 -0
  82. package/es/StandardFormActions.d.ts +6 -0
  83. package/es/StandardFormActions.js +23 -24
  84. package/es/SubmitFormButton.d.ts +7 -0
  85. package/es/SubmitFormButton.js +37 -23
  86. package/es/TextArea/TextAreaGroup.d.ts +8 -0
  87. package/es/TextArea/TextAreaGroup.js +33 -0
  88. package/es/Validation/ValidatedApiResult.d.ts +6 -0
  89. package/es/Validation/ValidatedApiResult.js +1 -0
  90. package/es/Validation/ValidationError.d.ts +5 -0
  91. package/es/Validation/ValidationError.js +1 -0
  92. package/es/Validation/ValidationFunction.d.ts +4 -0
  93. package/es/Validation/ValidationFunction.js +1 -0
  94. package/es/Validation/validators.d.ts +15 -0
  95. package/es/Validation/validators.js +73 -0
  96. package/es/__Tests__/FormTestBase.d.ts +27 -0
  97. package/es/__Tests__/FormTestBase.js +83 -12
  98. package/{src/__Tests__/index.js → es/__Tests__/index.d.ts} +0 -0
  99. package/es/__Tests__/index.js +2 -2
  100. package/es/index.d.ts +71 -0
  101. package/es/index.js +47 -20
  102. package/es/utils/objectContainsNonSerializableProperty.d.ts +1 -0
  103. package/es/utils/objectContainsNonSerializableProperty.js +14 -16
  104. package/es/utils/objectToFormData.d.ts +10 -0
  105. package/es/utils/objectToFormData.js +77 -65
  106. package/es/utils/typeChecks.d.ts +8 -0
  107. package/es/utils/typeChecks.js +18 -25
  108. package/lib/AddressInput/AddressInput.d.ts +15 -0
  109. package/lib/AddressInput/AddressInput.js +27 -123
  110. package/lib/AddressInput/UsStates.d.ts +3 -0
  111. package/lib/AddressInput/UsStates.js +55 -159
  112. package/lib/ConfirmBaseForm/ConfirmBaseForm.d.ts +10 -0
  113. package/lib/ConfirmBaseForm/ConfirmBaseForm.js +41 -57
  114. package/lib/ConfirmDeleteForm/ConfirmDeleteForm.d.ts +11 -0
  115. package/lib/ConfirmDeleteForm/ConfirmDeleteForm.js +60 -56
  116. package/lib/DatePicker/DateOnlyDatePickerGroup.d.ts +10 -0
  117. package/lib/DatePicker/DateOnlyDatePickerGroup.js +29 -0
  118. package/lib/DatePicker/DatePickerGroup.d.ts +8 -0
  119. package/lib/DatePicker/DatePickerGroup.js +66 -0
  120. package/lib/DatePicker/DatePickerHelper.d.ts +3 -0
  121. package/lib/DatePicker/DatePickerHelper.js +2 -0
  122. package/lib/DatePicker/StringDatePickerGroup.d.ts +5 -0
  123. package/lib/DatePicker/StringDatePickerGroup.js +25 -0
  124. package/lib/Field/CustomFieldInputProps.d.ts +7 -0
  125. package/lib/Field/CustomFieldInputProps.js +2 -0
  126. package/lib/Field/CustomFieldMetaProps.d.ts +4 -0
  127. package/lib/Field/CustomFieldMetaProps.js +2 -0
  128. package/lib/Field/Field.d.ts +22 -0
  129. package/lib/Field/Field.js +51 -0
  130. package/lib/Field/FieldErrorScrollTarget.d.ts +2 -0
  131. package/lib/Field/FieldErrorScrollTarget.js +14 -0
  132. package/lib/Field/FieldNameContext.d.ts +3 -0
  133. package/lib/Field/FieldNameContext.js +9 -0
  134. package/lib/Field/FieldSection.d.ts +7 -0
  135. package/lib/Field/FieldSection.js +23 -0
  136. package/lib/Field/InjectedFieldProps.d.ts +7 -0
  137. package/lib/Field/InjectedFieldProps.js +2 -0
  138. package/lib/Field/StandAloneInput.d.ts +9 -0
  139. package/lib/Field/StandAloneInput.js +75 -0
  140. package/lib/Field/useStandardField.d.ts +15 -0
  141. package/lib/Field/useStandardField.js +96 -0
  142. package/lib/FieldArray/FieldArray.d.ts +15 -0
  143. package/lib/FieldArray/FieldArray.js +86 -0
  144. package/lib/File/FileGroup.d.ts +8 -0
  145. package/lib/File/FileGroup.js +55 -0
  146. package/lib/File/FileList.d.ts +6 -0
  147. package/lib/File/FileList.js +23 -0
  148. package/lib/File/humanFileSize.d.ts +1 -0
  149. package/lib/File/humanFileSize.js +10 -0
  150. package/lib/Form/FocusError.d.ts +5 -0
  151. package/lib/Form/FocusError.js +47 -66
  152. package/lib/Form/Form.d.ts +22 -0
  153. package/lib/Form/Form.js +117 -153
  154. package/lib/Form/FormBasedPreventNavigation.d.ts +5 -0
  155. package/lib/Form/FormBasedPreventNavigation.js +56 -39
  156. package/lib/Form/ServerErrorContext.d.ts +10 -0
  157. package/lib/Form/ServerErrorContext.js +14 -18
  158. package/lib/FormActions.d.ts +7 -0
  159. package/lib/FormActions.js +28 -0
  160. package/lib/Group.d.ts +13 -0
  161. package/lib/Group.js +28 -0
  162. package/lib/Input/IconInputGroup.d.ts +9 -0
  163. package/lib/Input/IconInputGroup.js +45 -0
  164. package/lib/Input/InputGroup.d.ts +12 -0
  165. package/lib/Input/InputGroup.js +38 -0
  166. package/lib/Input/MoneyInputGroup.d.ts +7 -0
  167. package/lib/Input/MoneyInputGroup.js +46 -0
  168. package/lib/Input/NumberInputGroup.d.ts +7 -0
  169. package/lib/Input/NumberInputGroup.js +46 -0
  170. package/lib/Input/StringInputGroup.d.ts +7 -0
  171. package/lib/Input/StringInputGroup.js +45 -0
  172. package/lib/Normalization/NormalizationFunction.d.ts +4 -0
  173. package/lib/Normalization/NormalizationFunction.js +2 -0
  174. package/lib/Normalization/normalizers.d.ts +2 -0
  175. package/lib/Normalization/normalizers.js +35 -0
  176. package/lib/Select/BooleanSelectGroup.d.ts +7 -0
  177. package/lib/Select/BooleanSelectGroup.js +34 -0
  178. package/lib/Select/NumberSelectGroup.d.ts +8 -0
  179. package/lib/Select/NumberSelectGroup.js +27 -0
  180. package/lib/Select/SelectGroup.d.ts +22 -0
  181. package/lib/Select/SelectGroup.js +65 -0
  182. package/lib/Select/SelectGroupPropsHelper.d.ts +3 -0
  183. package/lib/Select/SelectGroupPropsHelper.js +2 -0
  184. package/lib/Select/StringSelectGroup.d.ts +8 -0
  185. package/lib/Select/StringSelectGroup.js +27 -0
  186. package/lib/StandardFormActions.d.ts +6 -0
  187. package/lib/StandardFormActions.js +29 -37
  188. package/lib/SubmitFormButton.d.ts +7 -0
  189. package/lib/SubmitFormButton.js +42 -38
  190. package/lib/TextArea/TextAreaGroup.d.ts +8 -0
  191. package/lib/TextArea/TextAreaGroup.js +38 -0
  192. package/lib/Validation/ValidatedApiResult.d.ts +6 -0
  193. package/lib/Validation/ValidatedApiResult.js +2 -0
  194. package/lib/Validation/ValidationError.d.ts +5 -0
  195. package/lib/Validation/ValidationError.js +2 -0
  196. package/lib/Validation/ValidationFunction.d.ts +4 -0
  197. package/lib/Validation/ValidationFunction.js +2 -0
  198. package/lib/Validation/validators.d.ts +15 -0
  199. package/lib/Validation/validators.js +86 -0
  200. package/lib/__Tests__/FormTestBase.d.ts +27 -0
  201. package/lib/__Tests__/FormTestBase.js +86 -25
  202. package/lib/__Tests__/index.d.ts +2 -0
  203. package/lib/__Tests__/index.js +8 -15
  204. package/lib/index.d.ts +71 -0
  205. package/lib/index.js +112 -174
  206. package/lib/utils/objectContainsNonSerializableProperty.d.ts +1 -0
  207. package/lib/utils/objectContainsNonSerializableProperty.js +17 -24
  208. package/lib/utils/objectToFormData.d.ts +10 -0
  209. package/lib/utils/objectToFormData.js +79 -73
  210. package/lib/utils/typeChecks.d.ts +8 -0
  211. package/lib/utils/typeChecks.js +29 -58
  212. package/package.json +106 -100
  213. package/src/AddressInput/{AddesssInput.test.js → AddressInput.test.tsx} +7 -3
  214. package/src/AddressInput/AddressInput.tsx +72 -0
  215. package/src/AddressInput/{UsStates.js → UsStates.ts} +3 -1
  216. package/src/AddressInput/__snapshots__/AddressInput.test.tsx.snap +175 -0
  217. package/src/ConfirmBaseForm/ConfirmBaseForm.test.tsx +24 -0
  218. package/src/ConfirmBaseForm/ConfirmBaseForm.tsx +50 -0
  219. package/src/ConfirmBaseForm/__snapshots__/{ConfirmBaseForm.test.js.snap → ConfirmBaseForm.test.tsx.snap} +2 -2
  220. package/src/ConfirmDeleteForm/{ConfirmDeleteForm.test.js → ConfirmDeleteForm.test.tsx} +3 -3
  221. package/src/ConfirmDeleteForm/ConfirmDeleteForm.tsx +67 -0
  222. package/src/ConfirmDeleteForm/__snapshots__/{ConfirmDeleteForm.test.js.snap → ConfirmDeleteForm.test.tsx.snap} +2 -2
  223. package/src/DatePicker/DateOnlyDatePickerGroup.tsx +24 -0
  224. package/src/DatePicker/DatePicker.test.tsx +48 -0
  225. package/src/DatePicker/DatePickerGroup.tsx +75 -0
  226. package/src/DatePicker/DatePickerHelper.ts +4 -0
  227. package/src/DatePicker/StringDatePickerGroup.tsx +14 -0
  228. package/src/DatePicker/__snapshots__/DatePicker.test.tsx.snap +151 -0
  229. package/src/Field/CustomFieldInputProps.ts +10 -0
  230. package/src/Field/CustomFieldMetaProps.ts +5 -0
  231. package/src/Field/Field.tsx +93 -0
  232. package/src/Field/FieldErrorScrollTarget.tsx +11 -0
  233. package/src/Field/FieldNameContext.ts +6 -0
  234. package/src/Field/FieldSection.tsx +18 -0
  235. package/src/Field/InjectedFieldProps.ts +8 -0
  236. package/src/Field/StandAloneInput.tsx +51 -0
  237. package/src/Field/useStandardField.ts +121 -0
  238. package/src/FieldArray/FieldArray.tsx +133 -0
  239. package/src/File/FileGroup.test.tsx +35 -0
  240. package/src/File/FileGroup.tsx +71 -0
  241. package/src/File/FileList.tsx +19 -0
  242. package/src/File/__snapshots__/FileGroup.test.tsx.snap +32 -0
  243. package/src/File/humanFileSize.ts +8 -0
  244. package/src/Form/{FocusError.js → FocusError.tsx} +10 -6
  245. package/src/Form/Form.test.tsx +14 -0
  246. package/src/Form/{Form.js → Form.tsx} +71 -31
  247. package/src/Form/FormBasedPreventNavigation.tsx +74 -0
  248. package/src/Form/ServerErrorContext.ts +17 -0
  249. package/src/Form/__snapshots__/{Form.test.js.snap → Form.test.tsx.snap} +1 -1
  250. package/src/FormActions.tsx +34 -0
  251. package/src/Group.tsx +43 -0
  252. package/src/Input/IconInputGroup.tsx +48 -0
  253. package/src/Input/InputGroup.tsx +57 -0
  254. package/src/Input/MoneyInputGroup.tsx +44 -0
  255. package/src/Input/NumberInputGroup.tsx +42 -0
  256. package/src/Input/StringInputGroup.tsx +48 -0
  257. package/src/Input/__Tests__/IconInputGroup.test.tsx +35 -0
  258. package/src/Input/__Tests__/MoneyInputGroup.test.tsx +37 -0
  259. package/src/Input/__Tests__/NumberInputGroup.test.tsx +35 -0
  260. package/src/Input/__Tests__/StringInputGroup.test.tsx +27 -0
  261. package/src/Input/__Tests__/__snapshots__/IconInputGroup.test.tsx.snap +29 -0
  262. package/src/Input/__Tests__/__snapshots__/MoneyInputGroup.test.tsx.snap +31 -0
  263. package/src/Input/__Tests__/__snapshots__/NumberInputGroup.test.tsx.snap +29 -0
  264. package/src/Input/__Tests__/__snapshots__/StringInputGroup.test.tsx.snap +28 -0
  265. package/src/Normalization/NormalizationFunction.ts +4 -0
  266. package/src/{normalizers.js → Normalization/normalizers.ts} +5 -5
  267. package/src/Select/BooleanSelectGroup.tsx +27 -0
  268. package/src/Select/NumberSelectGroup.tsx +14 -0
  269. package/src/Select/SelectGroup.tsx +106 -0
  270. package/src/Select/SelectGroupPropsHelper.ts +4 -0
  271. package/src/Select/StringSelectGroup.tsx +14 -0
  272. package/src/Select/__tests__/BooleanSelectGroup.test.tsx +35 -0
  273. package/src/Select/__tests__/NumberSelectGroup.test.tsx +87 -0
  274. package/src/Select/__tests__/StringSelectGroup.test.tsx +89 -0
  275. package/src/Select/__tests__/__snapshots__/BooleanSelectGroup.test.tsx.snap +99 -0
  276. package/src/Select/__tests__/__snapshots__/NumberSelectGroup.test.tsx.snap +197 -0
  277. package/src/Select/__tests__/__snapshots__/StringSelectGroup.test.tsx.snap +197 -0
  278. package/src/{StandardFormActions.js → StandardFormActions.tsx} +12 -6
  279. package/src/SubmitFormButton.tsx +44 -0
  280. package/src/TextArea/TextAreaGroup.tsx +55 -0
  281. package/src/Validation/ValidatedApiResult.ts +8 -0
  282. package/src/Validation/ValidationError.ts +6 -0
  283. package/src/Validation/ValidationFunction.ts +4 -0
  284. package/src/{validators/validators.test.js → Validation/validators.test.tsx} +6 -4
  285. package/src/Validation/validators.ts +92 -0
  286. package/src/__Tests__/FormTestBase.tsx +63 -0
  287. package/src/__Tests__/{StandardFormActions.test.js → StandardFormActions.test.tsx} +2 -8
  288. package/src/__Tests__/{SubmitFormButton.test.js → SubmitFormButton.test.tsx} +2 -8
  289. package/src/__Tests__/__snapshots__/{StandardFormActions.test.js.snap → StandardFormActions.test.tsx.snap} +2 -2
  290. package/src/__Tests__/__snapshots__/{SubmitFormButton.test.js.snap → SubmitFormButton.test.tsx.snap} +1 -1
  291. package/src/__Tests__/index.ts +3 -0
  292. package/src/index.ts +149 -0
  293. package/src/react-app-env.d.ts +1 -0
  294. package/src/styles.scss +0 -7
  295. package/src/utils/{objectContainsNonSerializableProperty.test.js → objectContainsNonSerializableProperty.test.tsx} +0 -0
  296. package/src/utils/{objectContainsNonSerializableProperty.js → objectContainsNonSerializableProperty.ts} +4 -2
  297. package/src/utils/{objectToFormData.test.js → objectToFormData.test.tsx} +0 -0
  298. package/src/utils/{objectToFormData.js → objectToFormData.ts} +29 -13
  299. package/src/utils/typeChecks.ts +18 -0
  300. package/es/AddressInput/index.js +0 -2
  301. package/es/BoolInput/BoolInput.js +0 -10
  302. package/es/BoolInput/InlineBoolInput.js +0 -10
  303. package/es/BoolInput/boolOptions.js +0 -8
  304. package/es/BoolInput/index.js +0 -3
  305. package/es/ConfirmBaseForm/index.js +0 -2
  306. package/es/ConfirmDeleteForm/index.js +0 -2
  307. package/es/DatePickerInput/DatePickerInput.js +0 -95
  308. package/es/DatePickerInput/index.js +0 -2
  309. package/es/ErrorScrollTarget.js +0 -10
  310. package/es/FileInput/DefaultFileList.js +0 -36
  311. package/es/FileInput/DropzoneFileInput.js +0 -58
  312. package/es/FileInput/FileInput.js +0 -62
  313. package/es/FileInput/index.js +0 -3
  314. package/es/Form/index.js +0 -3
  315. package/es/FormGroup.js +0 -22
  316. package/es/FormGroupWrapper.js +0 -22
  317. package/es/FormInput/FormInput.js +0 -206
  318. package/es/FormInput/index.js +0 -2
  319. package/es/FormInputArray/FormInputArray.js +0 -225
  320. package/es/FormInputArray/index.js +0 -2
  321. package/es/FormSection.js +0 -11
  322. package/es/IconInput.js +0 -33
  323. package/es/InlineFormInput/InlineFormInput.js +0 -8
  324. package/es/InlineFormInput/index.js +0 -2
  325. package/es/MoneyInput/InlineMoneyInput.js +0 -7
  326. package/es/MoneyInput/MoneyInput.js +0 -7
  327. package/es/MoneyInput/index.js +0 -3
  328. package/es/MoneyInput/moneyInputProps.js +0 -13
  329. package/es/NestedFormFieldContext.js +0 -4
  330. package/es/ReactSelectField/ReactSelectField.js +0 -162
  331. package/es/ReactSelectField/index.js +0 -2
  332. package/es/normalizers.js +0 -39
  333. package/es/selectors.js +0 -6
  334. package/es/useStandardFormInput.js +0 -119
  335. package/es/utils/index.js +0 -3
  336. package/es/validators/index.js +0 -2
  337. package/es/validators/validators.js +0 -94
  338. package/lib/AddressInput/index.js +0 -13
  339. package/lib/BoolInput/BoolInput.js +0 -23
  340. package/lib/BoolInput/InlineBoolInput.js +0 -23
  341. package/lib/BoolInput/boolOptions.js +0 -15
  342. package/lib/BoolInput/index.js +0 -23
  343. package/lib/ConfirmBaseForm/index.js +0 -13
  344. package/lib/ConfirmDeleteForm/index.js +0 -13
  345. package/lib/DatePickerInput/DatePickerInput.js +0 -113
  346. package/lib/DatePickerInput/index.js +0 -13
  347. package/lib/ErrorScrollTarget.js +0 -20
  348. package/lib/FileInput/DefaultFileList.js +0 -47
  349. package/lib/FileInput/DropzoneFileInput.js +0 -75
  350. package/lib/FileInput/FileInput.js +0 -82
  351. package/lib/FileInput/index.js +0 -23
  352. package/lib/Form/index.js +0 -23
  353. package/lib/FormGroup.js +0 -33
  354. package/lib/FormGroupWrapper.js +0 -37
  355. package/lib/FormInput/FormInput.js +0 -229
  356. package/lib/FormInput/index.js +0 -13
  357. package/lib/FormInputArray/FormInputArray.js +0 -248
  358. package/lib/FormInputArray/index.js +0 -13
  359. package/lib/FormSection.js +0 -28
  360. package/lib/IconInput.js +0 -51
  361. package/lib/InlineFormInput/InlineFormInput.js +0 -20
  362. package/lib/InlineFormInput/index.js +0 -13
  363. package/lib/MoneyInput/InlineMoneyInput.js +0 -20
  364. package/lib/MoneyInput/MoneyInput.js +0 -20
  365. package/lib/MoneyInput/index.js +0 -23
  366. package/lib/MoneyInput/moneyInputProps.js +0 -26
  367. package/lib/NestedFormFieldContext.js +0 -16
  368. package/lib/ReactSelectField/ReactSelectField.js +0 -187
  369. package/lib/ReactSelectField/index.js +0 -31
  370. package/lib/normalizers.js +0 -51
  371. package/lib/selectors.js +0 -18
  372. package/lib/useStandardFormInput.js +0 -135
  373. package/lib/utils/index.js +0 -23
  374. package/lib/validators/index.js +0 -17
  375. package/lib/validators/validators.js +0 -130
  376. package/src/AddressInput/AddressInput.js +0 -73
  377. package/src/AddressInput/__snapshots__/AddesssInput.test.js.snap +0 -207
  378. package/src/AddressInput/index.js +0 -2
  379. package/src/BoolInput/BoolInput.js +0 -7
  380. package/src/BoolInput/BoolInput.test.js +0 -23
  381. package/src/BoolInput/InlineBoolInput.js +0 -7
  382. package/src/BoolInput/__snapshots__/BoolInput.test.js.snap +0 -89
  383. package/src/BoolInput/boolOptions.js +0 -6
  384. package/src/BoolInput/index.js +0 -4
  385. package/src/ConfirmBaseForm/ConfirmBaseForm.js +0 -37
  386. package/src/ConfirmBaseForm/ConfirmBaseForm.test.js +0 -14
  387. package/src/ConfirmBaseForm/index.js +0 -2
  388. package/src/ConfirmDeleteForm/ConfirmDeleteForm.js +0 -39
  389. package/src/ConfirmDeleteForm/index.js +0 -2
  390. package/src/DatePickerInput/DatePickerInput.js +0 -49
  391. package/src/DatePickerInput/DatePickerInput.test.js +0 -74
  392. package/src/DatePickerInput/__snapshots__/DatePickerInput.test.js.snap +0 -134
  393. package/src/DatePickerInput/date-picker-input.scss +0 -42
  394. package/src/DatePickerInput/index.js +0 -3
  395. package/src/ErrorScrollTarget.js +0 -6
  396. package/src/FileInput/DefaultFileList.js +0 -39
  397. package/src/FileInput/DropzoneFileInput.js +0 -56
  398. package/src/FileInput/DropzoneFileInput.test.js +0 -24
  399. package/src/FileInput/FileInput.js +0 -77
  400. package/src/FileInput/FileInput.test.js +0 -24
  401. package/src/FileInput/__snapshots__/DropzoneFileInput.test.js.snap +0 -57
  402. package/src/FileInput/__snapshots__/FileInput.test.js.snap +0 -58
  403. package/src/FileInput/file-input.scss +0 -58
  404. package/src/FileInput/index.js +0 -4
  405. package/src/Form/Form.test.js +0 -23
  406. package/src/Form/FormBasedPreventNavigation.js +0 -25
  407. package/src/Form/ServerErrorContext.js +0 -7
  408. package/src/Form/index.js +0 -3
  409. package/src/FormGroup.js +0 -30
  410. package/src/FormGroupWrapper.js +0 -28
  411. package/src/FormInput/FormInput.js +0 -145
  412. package/src/FormInput/FormInput.test.js +0 -66
  413. package/src/FormInput/__snapshots__/FormInput.test.js.snap +0 -323
  414. package/src/FormInput/form-input.scss +0 -9
  415. package/src/FormInput/index.js +0 -2
  416. package/src/FormInputArray/FormInputArray.js +0 -224
  417. package/src/FormInputArray/FormInputArray.test.js +0 -108
  418. package/src/FormInputArray/__snapshots__/FormInputArray.test.js.snap +0 -52
  419. package/src/FormInputArray/form-input-array.scss +0 -13
  420. package/src/FormInputArray/index.js +0 -2
  421. package/src/FormSection.js +0 -13
  422. package/src/IconInput.js +0 -31
  423. package/src/InlineFormInput/InlineFormInput.js +0 -6
  424. package/src/InlineFormInput/InlineFormInput.test.js +0 -23
  425. package/src/InlineFormInput/__snapshots__/InlineFormInput.test.js.snap +0 -26
  426. package/src/InlineFormInput/index.js +0 -3
  427. package/src/InlineFormInput/inline-form-input.scss +0 -3
  428. package/src/MoneyInput/InlineMoneyInput.js +0 -7
  429. package/src/MoneyInput/MoneyInput.js +0 -7
  430. package/src/MoneyInput/MoneyInputs.test.js +0 -43
  431. package/src/MoneyInput/__snapshots__/MoneyInputs.test.js.snap +0 -81
  432. package/src/MoneyInput/index.js +0 -4
  433. package/src/MoneyInput/money-input.scss +0 -3
  434. package/src/MoneyInput/moneyInputProps.js +0 -12
  435. package/src/NestedFormFieldContext.js +0 -6
  436. package/src/ReactSelectField/ReactSelectField.js +0 -155
  437. package/src/ReactSelectField/index.js +0 -6
  438. package/src/ReactSelectField/react-select-field.scss +0 -5
  439. package/src/SubmitFormButton.js +0 -28
  440. package/src/__Tests__/FormTestBase.js +0 -14
  441. package/src/__Tests__/IconInput.test.js +0 -23
  442. package/src/__Tests__/__snapshots__/IconInput.test.js.snap +0 -38
  443. package/src/index.js +0 -45
  444. package/src/selectors.js +0 -3
  445. package/src/useStandardFormInput.js +0 -118
  446. package/src/utils/index.js +0 -3
  447. package/src/utils/typeChecks.js +0 -18
  448. package/src/validators/index.js +0 -2
  449. package/src/validators/validators.js +0 -93
@@ -1,73 +0,0 @@
1
- import React from 'react';
2
- import { Col, Row } from 'reactstrap';
3
- import PropTypes from 'prop-types';
4
- import FormInput from '../FormInput';
5
- import FormSection from '../FormSection';
6
- import validators from '../validators';
7
- import * as normalizers from '../normalizers';
8
- import UsStates from './UsStates';
9
-
10
- export default class AddressInput extends React.Component {
11
- render() {
12
- const { name, ...props } = this.props;
13
- return (
14
- <FormSection name={name} {...props}>
15
- <FormInput
16
- name="address1"
17
- placeholder="Address, Line 1"
18
- label="Address 1"
19
- autoComplete="address-line1"
20
- validate={validators.required}
21
- />
22
- <FormInput
23
- name="address2"
24
- placeholder="Address, Line 2"
25
- label="Address 2"
26
- autoComplete="address-line2"
27
- />
28
- <FormInput
29
- name="city"
30
- placeholder="City"
31
- label="City"
32
- autoComplete="address-level2"
33
- validate={validators.required}
34
- />
35
- <Row>
36
- <Col xs={8}>
37
- <FormInput
38
- name="state"
39
- placeholder="State"
40
- label="State"
41
- type="select"
42
- options={UsStates}
43
- autoComplete="address-level1"
44
- validate={validators.required}
45
- />
46
- </Col>
47
- <Col xs={4}>
48
- <FormInput
49
- name="zipCode"
50
- placeholder="Zip"
51
- label="Zip"
52
- autoComplete="postal-code"
53
- normalize={normalizers.zipCode}
54
- validate={[validators.required, validators.zipCode]}
55
- />
56
- </Col>
57
- </Row>
58
- </FormSection>
59
- );
60
- }
61
- }
62
- AddressInput.propTypes = {
63
- /**
64
- * The key that the resulting values should be nested under within the form values.
65
- * If name prop were chicken the submitted form values would look like: {chicken: {address1:...}}
66
- * this allows us to have two address inputs inside the same form (shipping and billing address)
67
- */
68
- name: PropTypes.string,
69
- };
70
-
71
- AddressInput.defaultProps = {
72
- name: 'address',
73
- };
@@ -1,207 +0,0 @@
1
- // Jest Snapshot v1, https://goo.gl/fbAQLP
2
-
3
- exports[`AddressInput has matching snapshot 1`] = `
4
- <DocumentFragment>
5
- <form
6
- action="#"
7
- >
8
- <div
9
- class="form-group"
10
- >
11
- <label
12
- class=""
13
- for="address.address1"
14
- >
15
- Address 1
16
- </label>
17
- <div
18
- id="address.address1-error-scroll-target"
19
- style="display: none;"
20
- />
21
- <input
22
- aria-invalid="false"
23
- autocomplete="address-line1"
24
- class="form-control"
25
- id="address.address1"
26
- label="Address 1"
27
- name="address.address1"
28
- placeholder="Address, Line 1"
29
- type="text"
30
- value=""
31
- />
32
- </div>
33
- <div
34
- class="form-group"
35
- >
36
- <label
37
- class=""
38
- for="address.address2"
39
- >
40
- Address 2
41
- </label>
42
- <div
43
- id="address.address2-error-scroll-target"
44
- style="display: none;"
45
- />
46
- <input
47
- aria-invalid="false"
48
- autocomplete="address-line2"
49
- class="form-control"
50
- id="address.address2"
51
- label="Address 2"
52
- name="address.address2"
53
- placeholder="Address, Line 2"
54
- type="text"
55
- value=""
56
- />
57
- </div>
58
- <div
59
- class="form-group"
60
- >
61
- <label
62
- class=""
63
- for="address.city"
64
- >
65
- City
66
- </label>
67
- <div
68
- id="address.city-error-scroll-target"
69
- style="display: none;"
70
- />
71
- <input
72
- aria-invalid="false"
73
- autocomplete="address-level2"
74
- class="form-control"
75
- id="address.city"
76
- label="City"
77
- name="address.city"
78
- placeholder="City"
79
- type="text"
80
- value=""
81
- />
82
- </div>
83
- <div
84
- class="row"
85
- >
86
- <div
87
- class="col-8"
88
- >
89
- <div
90
- class="form-group"
91
- >
92
- <label
93
- class=""
94
- for="address.state"
95
- >
96
- State
97
- </label>
98
- <div
99
- id="address.state-error-scroll-target"
100
- style="display: none;"
101
- />
102
- <div
103
- class="react-select-input css-2b097c-container"
104
- id="address.state"
105
- >
106
- <div
107
- class=" css-150ye8w-control"
108
- >
109
- <div
110
- class=" css-lbak6p-Component"
111
- >
112
- <div
113
- class=" css-1vk4ta-placeholder"
114
- >
115
- State
116
- </div>
117
- <div
118
- class="css-lp83hw-Component"
119
- >
120
- <div
121
- class=""
122
- style="display: inline-block;"
123
- >
124
- <input
125
- aria-autocomplete="list"
126
- autocapitalize="none"
127
- autocomplete="off"
128
- autocorrect="off"
129
- id="react-select-3-input"
130
- spellcheck="false"
131
- style="box-sizing: content-box; width: 2px; border: 0px; opacity: 1; outline: 0; padding: 0px;"
132
- tabindex="0"
133
- type="text"
134
- value=""
135
- />
136
- <div
137
- style="position: absolute; top: 0px; left: 0px; visibility: hidden; height: 0px; overflow: scroll; white-space: pre; font-family: -webkit-small-control; letter-spacing: normal; text-transform: none;"
138
- />
139
- </div>
140
- </div>
141
- </div>
142
- <div
143
- class=" css-ny0e4k-Component"
144
- >
145
- <span
146
- class=" css-1sl80az-indicatorSeparator"
147
- />
148
- <div
149
- aria-hidden="true"
150
- class=" css-augegj-indicatorContainer"
151
- >
152
- <svg
153
- aria-hidden="true"
154
- class="css-7ezgaa-Component"
155
- focusable="false"
156
- height="20"
157
- viewBox="0 0 20 20"
158
- width="20"
159
- >
160
- <path
161
- d="M4.516 7.548c0.436-0.446 1.043-0.481 1.576 0l3.908 3.747 3.908-3.747c0.533-0.481 1.141-0.446 1.574 0 0.436 0.445 0.408 1.197 0 1.615-0.406 0.418-4.695 4.502-4.695 4.502-0.217 0.223-0.502 0.335-0.787 0.335s-0.57-0.112-0.789-0.335c0 0-4.287-4.084-4.695-4.502s-0.436-1.17 0-1.615z"
162
- />
163
- </svg>
164
- </div>
165
- </div>
166
- </div>
167
- <input
168
- name="address.state"
169
- type="hidden"
170
- value=""
171
- />
172
- </div>
173
- </div>
174
- </div>
175
- <div
176
- class="col-4"
177
- >
178
- <div
179
- class="form-group"
180
- >
181
- <label
182
- class=""
183
- for="address.zipCode"
184
- >
185
- Zip
186
- </label>
187
- <div
188
- id="address.zipcode-error-scroll-target"
189
- style="display: none;"
190
- />
191
- <input
192
- aria-invalid="false"
193
- autocomplete="postal-code"
194
- class="form-control"
195
- id="address.zipCode"
196
- label="Zip"
197
- name="address.zipCode"
198
- placeholder="Zip"
199
- type="text"
200
- value=""
201
- />
202
- </div>
203
- </div>
204
- </div>
205
- </form>
206
- </DocumentFragment>
207
- `;
@@ -1,2 +0,0 @@
1
- import AddressInput from './AddressInput';
2
- export default AddressInput;
@@ -1,7 +0,0 @@
1
- import React from 'react';
2
- import boolOptions from './boolOptions';
3
- import FormInput from '../FormInput';
4
-
5
- export default function BoolInput(props) {
6
- return <FormInput options={boolOptions} type="select" {...props} />;
7
- }
@@ -1,23 +0,0 @@
1
- import React from 'react';
2
- import { render } from '@testing-library/react';
3
- import { FormTestBase } from '../__Tests__';
4
- import BoolInput from './BoolInput';
5
-
6
- describe('BoolInput', () => {
7
- it('renders without crashing', () => {
8
- render(
9
- <FormTestBase>
10
- <BoolInput name="yesNo" />
11
- </FormTestBase>
12
- );
13
- });
14
-
15
- it('has matching snapshot', () => {
16
- const renderResult = render(
17
- <FormTestBase>
18
- <BoolInput name="yesNo" />
19
- </FormTestBase>
20
- );
21
- expect(renderResult.asFragment()).toMatchSnapshot();
22
- });
23
- });
@@ -1,7 +0,0 @@
1
- import React from 'react';
2
- import boolOptions from './boolOptions';
3
- import InlineFormInput from '../InlineFormInput';
4
-
5
- export default function InlineBoolInput(props) {
6
- return <InlineFormInput options={boolOptions} type="select" {...props} />;
7
- }
@@ -1,89 +0,0 @@
1
- // Jest Snapshot v1, https://goo.gl/fbAQLP
2
-
3
- exports[`BoolInput has matching snapshot 1`] = `
4
- <DocumentFragment>
5
- <form
6
- action="#"
7
- >
8
- <div
9
- class="form-group"
10
- >
11
- <div
12
- id="yesno-error-scroll-target"
13
- style="display: none;"
14
- />
15
- <div
16
- class="react-select-input css-2b097c-container"
17
- id="yesNo"
18
- >
19
- <div
20
- class=" css-150ye8w-control"
21
- >
22
- <div
23
- class=" css-lbak6p-Component"
24
- >
25
- <div
26
- class=" css-1vk4ta-placeholder"
27
- >
28
- Select...
29
- </div>
30
- <div
31
- class="css-lp83hw-Component"
32
- >
33
- <div
34
- class=""
35
- style="display: inline-block;"
36
- >
37
- <input
38
- aria-autocomplete="list"
39
- autocapitalize="none"
40
- autocomplete="off"
41
- autocorrect="off"
42
- id="react-select-3-input"
43
- spellcheck="false"
44
- style="box-sizing: content-box; width: 2px; border: 0px; opacity: 1; outline: 0; padding: 0px;"
45
- tabindex="0"
46
- type="text"
47
- value=""
48
- />
49
- <div
50
- style="position: absolute; top: 0px; left: 0px; visibility: hidden; height: 0px; overflow: scroll; white-space: pre; font-family: -webkit-small-control; letter-spacing: normal; text-transform: none;"
51
- />
52
- </div>
53
- </div>
54
- </div>
55
- <div
56
- class=" css-ny0e4k-Component"
57
- >
58
- <span
59
- class=" css-1sl80az-indicatorSeparator"
60
- />
61
- <div
62
- aria-hidden="true"
63
- class=" css-augegj-indicatorContainer"
64
- >
65
- <svg
66
- aria-hidden="true"
67
- class="css-7ezgaa-Component"
68
- focusable="false"
69
- height="20"
70
- viewBox="0 0 20 20"
71
- width="20"
72
- >
73
- <path
74
- d="M4.516 7.548c0.436-0.446 1.043-0.481 1.576 0l3.908 3.747 3.908-3.747c0.533-0.481 1.141-0.446 1.574 0 0.436 0.445 0.408 1.197 0 1.615-0.406 0.418-4.695 4.502-4.695 4.502-0.217 0.223-0.502 0.335-0.787 0.335s-0.57-0.112-0.789-0.335c0 0-4.287-4.084-4.695-4.502s-0.436-1.17 0-1.615z"
75
- />
76
- </svg>
77
- </div>
78
- </div>
79
- </div>
80
- <input
81
- name="yesNo"
82
- type="hidden"
83
- value=""
84
- />
85
- </div>
86
- </div>
87
- </form>
88
- </DocumentFragment>
89
- `;
@@ -1,6 +0,0 @@
1
- const boolOptions = [
2
- { label: 'Yes', value: true },
3
- { label: 'No', value: false },
4
- ];
5
-
6
- export default boolOptions;
@@ -1,4 +0,0 @@
1
- import BoolInput from './BoolInput';
2
- import InlineBoolInput from './InlineBoolInput';
3
-
4
- export { BoolInput, InlineBoolInput };
@@ -1,37 +0,0 @@
1
- import React from 'react';
2
- import { Button } from 'reactstrap';
3
- import { useAxiosRequest } from 'envoc-request';
4
-
5
- export default function ConfirmBaseForm({
6
- handleCancel,
7
- request,
8
- yesColor = 'danger',
9
- style,
10
- title,
11
- ...props
12
- }) {
13
- const webRequest = useAxiosRequest(
14
- Object.assign({}, request, { autoExecute: false })
15
- );
16
- return (
17
- <div style={{ textAlign: 'center', ...style }} {...props}>
18
- <h3>{title}</h3>
19
- <Button
20
- color={yesColor}
21
- onClick={webRequest.submitRequest}
22
- disabled={webRequest.loading}>
23
- Yes
24
- </Button>
25
- <Button
26
- type="button"
27
- color="link"
28
- disabled={webRequest.loading}
29
- onClick={handleCancel || goBack}>
30
- Cancel
31
- </Button>
32
- </div>
33
- );
34
- function goBack() {
35
- window.history.back();
36
- }
37
- }
@@ -1,14 +0,0 @@
1
- import React from 'react';
2
- import { render, screen } from '@testing-library/react';
3
- import ConfirmBaseForm from './ConfirmBaseForm';
4
-
5
- describe('ConfirmBaseForm', () => {
6
- it('Renders without error', () => {
7
- render(<ConfirmBaseForm />);
8
- });
9
-
10
- it('has matching snapshot', () => {
11
- const renderResult = render(<ConfirmBaseForm />);
12
- expect(renderResult.asFragment()).toMatchSnapshot();
13
- });
14
- });
@@ -1,2 +0,0 @@
1
- import ConfirmBaseForm from './ConfirmBaseForm';
2
- export default ConfirmBaseForm;
@@ -1,39 +0,0 @@
1
- import React from 'react';
2
- import { useNavigate, useParams } from 'react-router-dom';
3
- import ConfirmBaseForm from '../ConfirmBaseForm';
4
- import { toast } from 'react-toastify';
5
-
6
- export default function ConfirmDeleteForm({
7
- successUrl,
8
- form,
9
- children,
10
- ...props
11
- }) {
12
- const navigate = useNavigate();
13
- const { entityId } = useParams();
14
- const request = {
15
- method: 'delete',
16
- url: `/api/${form}/${entityId}`,
17
- onComplete: () => {
18
- toast.success('Deleted!');
19
- goBack();
20
- },
21
- };
22
- return (
23
- <ConfirmBaseForm
24
- request={request}
25
- handleCancel={goBack}
26
- title="Are you sure you want to delete this?"
27
- {...props}>
28
- {children}
29
- </ConfirmBaseForm>
30
- );
31
-
32
- function goBack() {
33
- if (successUrl) {
34
- navigate(successUrl);
35
- } else {
36
- navigate(-1);
37
- }
38
- }
39
- }
@@ -1,2 +0,0 @@
1
- import ConfirmDeleteForm from './ConfirmDeleteForm'
2
- export default ConfirmDeleteForm;
@@ -1,49 +0,0 @@
1
- import React from 'react';
2
- import DatePicker from 'react-date-picker';
3
- import parseISO from 'date-fns/parseISO';
4
- import classnames from 'classnames';
5
-
6
- const dateOnlyRegex = /^\d{4}-\d{2}-\d{2}$/;
7
- const defaultMaxDate = new Date('9999-12-31');
8
-
9
- export default class DatePickerInput extends React.Component {
10
- render() {
11
- const { value, className, maxDate = defaultMaxDate, ...rest } = this.props;
12
-
13
- if (value && !dateOnlyRegex.test(value)) {
14
- const errorMessage = `Invalid date only value of ${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.`;
15
- if (process.env.NODE_ENV !== 'production') {
16
- //We should throw if 'value' is not 'yyyy-mm-dd' in dev
17
- throw new Error(errorMessage);
18
- } else {
19
- console.error(errorMessage);
20
- }
21
- }
22
-
23
- const parsedValue = value ? parseISO(value) : null;
24
- return (
25
- <DatePicker
26
- className={classnames('form-control', className)}
27
- onCalendarOpen={this.onCalendarOpen}
28
- {...rest}
29
- value={parsedValue}
30
- onChange={this.handleChange}
31
- onBlur={this.handleBlur}
32
- maxDate={maxDate}
33
- />
34
- );
35
- }
36
- handleBlur = () => {
37
- const { onBlur } = this.props;
38
- onBlur();
39
- };
40
- handleChange = (e) => {
41
- const { onChange } = this.props;
42
- if (e == null) {
43
- onChange(null);
44
- } else {
45
- // ensure ONLY the date is persisted - so UTC offset info / time is not persisted or sent
46
- onChange(e.toISOString().split('T')[0]);
47
- }
48
- };
49
- }
@@ -1,74 +0,0 @@
1
- import React from 'react';
2
- import { render } from '@testing-library/react';
3
- import '@testing-library/jest-dom/extend-expect';
4
- import DatePickerInput from './DatePickerInput';
5
-
6
- //hack so the datepicker internals don't complain about this not existing in the context of jest
7
- HTMLCanvasElement.prototype.getContext = () => {};
8
-
9
- //Tell console.error to be quiet about the errors so jest output isn't super noisy
10
- //https://github.com/facebook/jest/pull/5267#issuecomment-356605468
11
- beforeEach(() => {
12
- jest.spyOn(console, 'error');
13
- console.error.mockImplementation(() => {});
14
- });
15
-
16
- afterEach(() => {
17
- console.error.mockRestore();
18
- });
19
-
20
- describe('DatePickerInput', () => {
21
- it('Renders without error', () => {
22
- render(
23
- <DatePickerInput
24
- minDate={new Date('9/23/2020')}
25
- maxDate={new Date('09/23/2021')}
26
- />
27
- );
28
- });
29
-
30
- it('Throws when given an invalid format date', () => {
31
- expect(() =>
32
- render(
33
- <DatePickerInput
34
- minDate={new Date('9/23/2020')}
35
- maxDate={new Date('09/23/2021')}
36
- value="09/25/2020"
37
- />
38
- )
39
- ).toThrow();
40
- });
41
-
42
- it('Throws when given a date with time included', () => {
43
- expect(() =>
44
- render(
45
- <DatePickerInput
46
- minDate={new Date('9/23/2020')}
47
- maxDate={new Date('09/23/2021')}
48
- value="2020-09-25T19:07:49.774Z"
49
- />
50
- )
51
- ).toThrow();
52
- });
53
-
54
- it('Accepts valid date only format', () => {
55
- render(
56
- <DatePickerInput
57
- minDate={new Date('9/23/2020')}
58
- maxDate={new Date('09/23/2021')}
59
- value="2020-09-25"
60
- />
61
- );
62
- });
63
-
64
- it('has matching snapshot', () => {
65
- const renderResult = render(
66
- <DatePickerInput
67
- minDate={new Date('9/23/2020')}
68
- maxDate={new Date('09/23/2021')}
69
- value="2020-09-25"
70
- />
71
- );
72
- expect(renderResult.asFragment()).toMatchSnapshot();
73
- });
74
- });