envoc-form 3.3.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 (428) 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 -25
  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 -262
  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 -101
  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 -3
  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 -4
  288. package/es/Form/index.js +0 -5
  289. package/es/FormGroup.js +0 -22
  290. package/es/FormGroupWrapper.js +0 -22
  291. package/es/FormInput/FormInput.js +0 -212
  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/MoneyFormattedInput/MoneyFormattedInput.js +0 -106
  300. package/es/MoneyFormattedInput/index.js +0 -2
  301. package/es/MoneyInput/InlineMoneyInput.js +0 -7
  302. package/es/MoneyInput/MoneyInput.js +0 -7
  303. package/es/MoneyInput/index.js +0 -3
  304. package/es/MoneyInput/moneyInputProps.js +0 -13
  305. package/es/NestedFormFieldContext.js +0 -4
  306. package/es/ReactSelectField/ReactSelectField.js +0 -162
  307. package/es/ReactSelectField/index.js +0 -2
  308. package/es/normalizers.js +0 -39
  309. package/es/selectors.js +0 -6
  310. package/es/useStandardFormInput.js +0 -119
  311. package/es/utils/index.js +0 -3
  312. package/es/validators/index.js +0 -2
  313. package/es/validators/validators.js +0 -94
  314. package/lib/AddressInput/index.js +0 -23
  315. package/lib/BoolInput/BoolInput.js +0 -23
  316. package/lib/BoolInput/InlineBoolInput.js +0 -23
  317. package/lib/BoolInput/boolOptions.js +0 -15
  318. package/lib/BoolInput/index.js +0 -23
  319. package/lib/ConfirmBaseForm/index.js +0 -13
  320. package/lib/ConfirmDeleteForm/index.js +0 -13
  321. package/lib/DatePickerInput/index.js +0 -13
  322. package/lib/ErrorScrollTarget.js +0 -20
  323. package/lib/FileInput/DefaultFileList.js +0 -47
  324. package/lib/FileInput/DropzoneFileInput.js +0 -75
  325. package/lib/FileInput/FileInput.js +0 -82
  326. package/lib/FileInput/index.js +0 -31
  327. package/lib/Form/index.js +0 -39
  328. package/lib/FormGroup.js +0 -33
  329. package/lib/FormGroupWrapper.js +0 -37
  330. package/lib/FormInput/FormInput.js +0 -236
  331. package/lib/FormInput/index.js +0 -13
  332. package/lib/FormInputArray/FormInputArray.js +0 -248
  333. package/lib/FormInputArray/index.js +0 -13
  334. package/lib/FormSection.js +0 -28
  335. package/lib/IconInput.js +0 -51
  336. package/lib/InlineFormInput/InlineFormInput.js +0 -20
  337. package/lib/InlineFormInput/index.js +0 -13
  338. package/lib/MoneyFormattedInput/MoneyFormattedInput.js +0 -126
  339. package/lib/MoneyFormattedInput/index.js +0 -15
  340. package/lib/MoneyInput/InlineMoneyInput.js +0 -20
  341. package/lib/MoneyInput/MoneyInput.js +0 -20
  342. package/lib/MoneyInput/index.js +0 -23
  343. package/lib/MoneyInput/moneyInputProps.js +0 -26
  344. package/lib/NestedFormFieldContext.js +0 -16
  345. package/lib/ReactSelectField/ReactSelectField.js +0 -187
  346. package/lib/ReactSelectField/index.js +0 -31
  347. package/lib/normalizers.js +0 -51
  348. package/lib/selectors.js +0 -18
  349. package/lib/useStandardFormInput.js +0 -135
  350. package/lib/utils/index.js +0 -23
  351. package/lib/validators/index.js +0 -17
  352. package/lib/validators/validators.js +0 -130
  353. package/src/AddressInput/AddressInput.js +0 -73
  354. package/src/AddressInput/__snapshots__/AddesssInput.test.js.snap +0 -207
  355. package/src/AddressInput/index.js +0 -3
  356. package/src/BoolInput/BoolInput.js +0 -7
  357. package/src/BoolInput/BoolInput.test.js +0 -23
  358. package/src/BoolInput/InlineBoolInput.js +0 -7
  359. package/src/BoolInput/__snapshots__/BoolInput.test.js.snap +0 -89
  360. package/src/BoolInput/boolOptions.js +0 -6
  361. package/src/BoolInput/index.js +0 -4
  362. package/src/ConfirmBaseForm/ConfirmBaseForm.js +0 -37
  363. package/src/ConfirmBaseForm/ConfirmBaseForm.test.js +0 -14
  364. package/src/ConfirmBaseForm/index.js +0 -2
  365. package/src/ConfirmDeleteForm/ConfirmDeleteForm.js +0 -39
  366. package/src/ConfirmDeleteForm/index.js +0 -2
  367. package/src/DatePickerInput/DatePickerInput.js +0 -49
  368. package/src/DatePickerInput/DatePickerInput.test.js +0 -74
  369. package/src/DatePickerInput/__snapshots__/DatePickerInput.test.js.snap +0 -134
  370. package/src/DatePickerInput/date-picker-input.scss +0 -42
  371. package/src/DatePickerInput/index.js +0 -3
  372. package/src/ErrorScrollTarget.js +0 -6
  373. package/src/FileInput/DefaultFileList.js +0 -39
  374. package/src/FileInput/DropzoneFileInput.js +0 -56
  375. package/src/FileInput/DropzoneFileInput.test.js +0 -24
  376. package/src/FileInput/FileInput.js +0 -77
  377. package/src/FileInput/FileInput.test.js +0 -24
  378. package/src/FileInput/__snapshots__/DropzoneFileInput.test.js.snap +0 -57
  379. package/src/FileInput/__snapshots__/FileInput.test.js.snap +0 -58
  380. package/src/FileInput/file-input.scss +0 -58
  381. package/src/FileInput/index.js +0 -5
  382. package/src/Form/Form.test.js +0 -23
  383. package/src/Form/FormBasedPreventNavigation.js +0 -25
  384. package/src/Form/ServerErrorContext.js +0 -7
  385. package/src/Form/index.js +0 -11
  386. package/src/FormGroup.js +0 -30
  387. package/src/FormGroupWrapper.js +0 -28
  388. package/src/FormInput/FormInput.js +0 -148
  389. package/src/FormInput/FormInput.test.js +0 -66
  390. package/src/FormInput/__snapshots__/FormInput.test.js.snap +0 -323
  391. package/src/FormInput/form-input.scss +0 -9
  392. package/src/FormInput/index.js +0 -2
  393. package/src/FormInputArray/FormInputArray.js +0 -224
  394. package/src/FormInputArray/FormInputArray.test.js +0 -108
  395. package/src/FormInputArray/__snapshots__/FormInputArray.test.js.snap +0 -52
  396. package/src/FormInputArray/form-input-array.scss +0 -13
  397. package/src/FormInputArray/index.js +0 -2
  398. package/src/FormSection.js +0 -13
  399. package/src/IconInput.js +0 -31
  400. package/src/InlineFormInput/InlineFormInput.js +0 -6
  401. package/src/InlineFormInput/InlineFormInput.test.js +0 -23
  402. package/src/InlineFormInput/__snapshots__/InlineFormInput.test.js.snap +0 -26
  403. package/src/InlineFormInput/index.js +0 -3
  404. package/src/InlineFormInput/inline-form-input.scss +0 -3
  405. package/src/MoneyFormattedInput/MoneyFormattedInput.js +0 -115
  406. package/src/MoneyFormattedInput/index.js +0 -3
  407. package/src/MoneyInput/InlineMoneyInput.js +0 -7
  408. package/src/MoneyInput/MoneyInput.js +0 -7
  409. package/src/MoneyInput/MoneyInputs.test.js +0 -43
  410. package/src/MoneyInput/__snapshots__/MoneyInputs.test.js.snap +0 -81
  411. package/src/MoneyInput/index.js +0 -4
  412. package/src/MoneyInput/money-input.scss +0 -3
  413. package/src/MoneyInput/moneyInputProps.js +0 -12
  414. package/src/NestedFormFieldContext.js +0 -6
  415. package/src/ReactSelectField/ReactSelectField.js +0 -155
  416. package/src/ReactSelectField/index.js +0 -6
  417. package/src/ReactSelectField/react-select-field.scss +0 -5
  418. package/src/SubmitFormButton.js +0 -28
  419. package/src/__Tests__/FormTestBase.js +0 -14
  420. package/src/__Tests__/IconInput.test.js +0 -23
  421. package/src/__Tests__/__snapshots__/IconInput.test.js.snap +0 -38
  422. package/src/index.js +0 -70
  423. package/src/selectors.js +0 -3
  424. package/src/useStandardFormInput.js +0 -118
  425. package/src/utils/index.js +0 -3
  426. package/src/utils/typeChecks.js +0 -18
  427. package/src/validators/index.js +0 -2
  428. package/src/validators/validators.js +0 -93
@@ -1,30 +1,53 @@
1
- import { useEffect } from 'react';
2
- import { useFormikContext } from 'formik';
3
- export default function FormBasedPreventNavigation(_ref) {
4
- var ignoreLostChanges = _ref.ignoreLostChanges,
5
- _ref$promptMessage = _ref.promptMessage,
6
- promptMessage = _ref$promptMessage === void 0 ? 'Changes you made may not be saved.' : _ref$promptMessage;
7
-
8
- var _useFormikContext = useFormikContext(),
9
- dirty = _useFormikContext.dirty,
10
- isSubmitting = _useFormikContext.isSubmitting;
11
-
12
- var preventNavigate = !ignoreLostChanges && dirty && !isSubmitting;
13
- useEffect(function () {
14
- if (!preventNavigate) {
15
- return;
16
- }
17
-
18
- window.addEventListener('beforeunload', beforeUnload);
19
- return function () {
20
- window.removeEventListener('beforeunload', beforeUnload);
21
- };
22
-
23
- function beforeUnload(e) {
24
- e.preventDefault();
25
- e.returnValue = promptMessage;
26
- }
27
- }, [preventNavigate, promptMessage]); // TODO: https://reactrouter.com/docs/en/v6/upgrading/v5#prompt-is-not-currently-supported
28
-
29
- return null;
30
- }
1
+ var __assign = (this && this.__assign) || function () {
2
+ __assign = Object.assign || function(t) {
3
+ for (var s, i = 1, n = arguments.length; i < n; i++) {
4
+ s = arguments[i];
5
+ for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p))
6
+ t[p] = s[p];
7
+ }
8
+ return t;
9
+ };
10
+ return __assign.apply(this, arguments);
11
+ };
12
+ import { useContext, useEffect } from 'react';
13
+ // see: https://gist.github.com/rmorse/426ffcc579922a82749934826fa9f743
14
+ import { UNSAFE_NavigationContext as NavigationContext, } from 'react-router-dom';
15
+ import { useFormikContext } from 'formik';
16
+ export default function FormBasedPreventNavigation(_a) {
17
+ var ignoreLostChanges = _a.ignoreLostChanges, _b = _a.promptMessage, promptMessage = _b === void 0 ? 'Changes you made may not be saved.' : _b;
18
+ var _c = useFormikContext(), dirty = _c.dirty, isSubmitting = _c.isSubmitting;
19
+ var preventNavigate = !ignoreLostChanges && dirty && !isSubmitting;
20
+ var navigator = useContext(NavigationContext).navigator;
21
+ useEffect(function () {
22
+ if (!preventNavigate) {
23
+ return;
24
+ }
25
+ // TODO: https://reactrouter.com/docs/en/v6/upgrading/v5#prompt-is-not-currently-supported
26
+ // this is a workaround until we get native support for prompt on navigate
27
+ var blocker = function (tx) {
28
+ if (window.confirm(promptMessage)) {
29
+ tx.retry();
30
+ }
31
+ };
32
+ var unblock = navigator.block(function (tx) {
33
+ var autoUnblockingTx = __assign(__assign({}, tx), { retry: function () {
34
+ // Automatically unblock the transition so it can play all the way
35
+ // through before retrying it. TODO: Figure out how to re-enable
36
+ // this block if the transition is cancelled for some reason.
37
+ unblock();
38
+ tx.retry();
39
+ } });
40
+ blocker(autoUnblockingTx);
41
+ });
42
+ window.addEventListener('beforeunload', beforeUnload);
43
+ return function () {
44
+ unblock();
45
+ window.removeEventListener('beforeunload', beforeUnload);
46
+ };
47
+ function beforeUnload(e) {
48
+ e.preventDefault();
49
+ e.returnValue = promptMessage;
50
+ }
51
+ }, [preventNavigate, promptMessage, navigator]);
52
+ return null;
53
+ }
@@ -0,0 +1,10 @@
1
+ import React from 'react';
2
+ export interface ServerErrors {
3
+ [path: string]: string;
4
+ }
5
+ export interface ServerErrorContextProps {
6
+ errors: ServerErrors;
7
+ getError: (path: string) => string | undefined;
8
+ setError: (path: string, errorMessage: string | undefined) => void;
9
+ }
10
+ export declare const ServerErrorContext: React.Context<ServerErrorContextProps>;
@@ -1,6 +1,8 @@
1
- import React from 'react';
2
- var ServerErrorContext = /*#__PURE__*/React.createContext({
3
- getError: function getError(path) {},
4
- setError: function setError(path, errorMessage) {}
5
- });
6
- export default ServerErrorContext;
1
+ import React from 'react';
2
+ export var ServerErrorContext = React.createContext({
3
+ errors: {},
4
+ getError: function (path) {
5
+ return undefined;
6
+ },
7
+ setError: function (path, errorMessage) { },
8
+ });
@@ -0,0 +1,7 @@
1
+ /// <reference types="react" />
2
+ export interface FormActionsProps {
3
+ allowPristineSubmit?: boolean;
4
+ handleCancel?: () => void;
5
+ disabled?: boolean;
6
+ }
7
+ export default function FormActions({ allowPristineSubmit, handleCancel, disabled, }: FormActionsProps): JSX.Element;
@@ -0,0 +1,22 @@
1
+ var __assign = (this && this.__assign) || function () {
2
+ __assign = Object.assign || function(t) {
3
+ for (var s, i = 1, n = arguments.length; i < n; i++) {
4
+ s = arguments[i];
5
+ for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p))
6
+ t[p] = s[p];
7
+ }
8
+ return t;
9
+ };
10
+ return __assign.apply(this, arguments);
11
+ };
12
+ import { jsx as _jsx, Fragment as _Fragment, jsxs as _jsxs } from "react/jsx-runtime";
13
+ import { useFormikContext } from 'formik';
14
+ import SubmitFormButton from './SubmitFormButton';
15
+ export default function FormActions(_a) {
16
+ var allowPristineSubmit = _a.allowPristineSubmit, handleCancel = _a.handleCancel, disabled = _a.disabled;
17
+ var isSubmitting = useFormikContext().isSubmitting;
18
+ return (_jsxs(_Fragment, { children: [_jsx(SubmitFormButton, { className: "form-actions", allowPristineSubmit: allowPristineSubmit, disabled: disabled }), _jsx("button", __assign({ type: "button", className: "form-actions cancel-form-button", disabled: isSubmitting || disabled, onClick: handleCancel || goBack }, { children: "Cancel" }))] }));
19
+ function goBack() {
20
+ window.history.back();
21
+ }
22
+ }
package/es/Group.d.ts ADDED
@@ -0,0 +1,13 @@
1
+ /// <reference types="react" />
2
+ import { InjectedFieldProps } from './Field/InjectedFieldProps';
3
+ export interface GroupProps extends InjectedFieldProps<any> {
4
+ className?: string;
5
+ children: React.ReactNode;
6
+ /** simple text label before the input */
7
+ label?: string;
8
+ /** simple helper text after the input*/
9
+ helpText?: string;
10
+ disabled?: boolean;
11
+ }
12
+ /** contains standard field bits like a label, helper text, error scroll target, validation message container, etc */
13
+ export default function Group({ className, children, label, helpText, meta, input, disabled, }: GroupProps): JSX.Element;
package/es/Group.js ADDED
@@ -0,0 +1,22 @@
1
+ var __assign = (this && this.__assign) || function () {
2
+ __assign = Object.assign || function(t) {
3
+ for (var s, i = 1, n = arguments.length; i < n; i++) {
4
+ s = arguments[i];
5
+ for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p))
6
+ t[p] = s[p];
7
+ }
8
+ return t;
9
+ };
10
+ return __assign.apply(this, arguments);
11
+ };
12
+ import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
13
+ import classNames from 'classnames';
14
+ import FieldErrorScrollTarget from './Field/FieldErrorScrollTarget';
15
+ /** contains standard field bits like a label, helper text, error scroll target, validation message container, etc */
16
+ export default function Group(_a) {
17
+ var className = _a.className, children = _a.children, label = _a.label, helpText = _a.helpText, meta = _a.meta, input = _a.input, disabled = _a.disabled;
18
+ return (_jsxs("div", __assign({ className: classNames(className, 'group', {
19
+ 'is-invalid': meta.error,
20
+ disabled: disabled,
21
+ }) }, { children: [_jsx(FieldErrorScrollTarget, {}), meta.warning && _jsx("div", __assign({ className: "warning" }, { children: meta.warning })), _jsx("label", __assign({ htmlFor: input.id }, { children: label })), children, meta.error && _jsx("div", __assign({ className: "error" }, { children: meta.error })), helpText && _jsx("div", __assign({ className: "help" }, { children: helpText }))] })));
22
+ }
@@ -0,0 +1,9 @@
1
+ import React from 'react';
2
+ import { InputGroupProps } from './InputGroup';
3
+ export interface IconInputGroupProps extends Omit<InputGroupProps<string | undefined>, 'onChange' | 'type' | 'value'> {
4
+ type?: 'color' | 'email' | 'search' | 'tel' | 'text' | 'url';
5
+ icon: React.ReactNode;
6
+ helpText?: string;
7
+ }
8
+ declare const IconInputGroupWithRef: React.ComponentType<IconInputGroupProps>;
9
+ export default IconInputGroupWithRef;
@@ -0,0 +1,40 @@
1
+ var __assign = (this && this.__assign) || function () {
2
+ __assign = Object.assign || function(t) {
3
+ for (var s, i = 1, n = arguments.length; i < n; i++) {
4
+ s = arguments[i];
5
+ for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p))
6
+ t[p] = s[p];
7
+ }
8
+ return t;
9
+ };
10
+ return __assign.apply(this, arguments);
11
+ };
12
+ var __rest = (this && this.__rest) || function (s, e) {
13
+ var t = {};
14
+ for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p) && e.indexOf(p) < 0)
15
+ t[p] = s[p];
16
+ if (s != null && typeof Object.getOwnPropertySymbols === "function")
17
+ for (var i = 0, p = Object.getOwnPropertySymbols(s); i < p.length; i++) {
18
+ if (e.indexOf(p[i]) < 0 && Object.prototype.propertyIsEnumerable.call(s, p[i]))
19
+ t[p[i]] = s[p[i]];
20
+ }
21
+ return t;
22
+ };
23
+ import { jsx as _jsx, Fragment as _Fragment } from "react/jsx-runtime";
24
+ import React from 'react';
25
+ import classNames from 'classnames';
26
+ import InputGroupWithRef from './InputGroup';
27
+ function IconInputGroup(_a, ref) {
28
+ var icon = _a.icon, className = _a.className, rest = __rest(_a, ["icon", "className"]);
29
+ var input = rest.input;
30
+ return (_jsx(_Fragment, { children: _jsx(InputGroupWithRef, __assign({ icon: icon, ref: ref, className: classNames(className, 'icon-input-group'), value: input.value || '', onChange: function (e) {
31
+ if (!e.target.value) {
32
+ input.onChange(undefined);
33
+ }
34
+ else {
35
+ input.onChange(e.target.value);
36
+ }
37
+ } }, rest)) }));
38
+ }
39
+ var IconInputGroupWithRef = React.forwardRef(IconInputGroup);
40
+ export default IconInputGroupWithRef;
@@ -0,0 +1,12 @@
1
+ import React, { ChangeEventHandler, LegacyRef } from 'react';
2
+ import { InjectedFieldProps } from '../Field/InjectedFieldProps';
3
+ import { GroupProps } from '../Group';
4
+ export interface InputGroupProps<TValue> extends InjectedFieldProps<TValue>, Omit<React.HTMLProps<HTMLInputElement>, keyof InjectedFieldProps<any> | 'children' | 'className' | 'label'>, Omit<GroupProps, keyof InjectedFieldProps<any> | 'children'> {
5
+ onChange: ChangeEventHandler<HTMLInputElement>;
6
+ value: string | number;
7
+ icon?: React.ReactNode;
8
+ }
9
+ /** generic controlled <input/> wrapped by a Group */
10
+ declare function InputGroup<TValue>({ input, meta, label, helpText, className, disabled, onChange, value, icon, ...rest }: InputGroupProps<TValue>, ref: LegacyRef<HTMLInputElement>): JSX.Element;
11
+ declare const InputGroupWithRef: typeof InputGroup;
12
+ export default InputGroupWithRef;
@@ -0,0 +1,33 @@
1
+ var __assign = (this && this.__assign) || function () {
2
+ __assign = Object.assign || function(t) {
3
+ for (var s, i = 1, n = arguments.length; i < n; i++) {
4
+ s = arguments[i];
5
+ for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p))
6
+ t[p] = s[p];
7
+ }
8
+ return t;
9
+ };
10
+ return __assign.apply(this, arguments);
11
+ };
12
+ var __rest = (this && this.__rest) || function (s, e) {
13
+ var t = {};
14
+ for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p) && e.indexOf(p) < 0)
15
+ t[p] = s[p];
16
+ if (s != null && typeof Object.getOwnPropertySymbols === "function")
17
+ for (var i = 0, p = Object.getOwnPropertySymbols(s); i < p.length; i++) {
18
+ if (e.indexOf(p[i]) < 0 && Object.prototype.propertyIsEnumerable.call(s, p[i]))
19
+ t[p[i]] = s[p[i]];
20
+ }
21
+ return t;
22
+ };
23
+ import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
24
+ import React from 'react';
25
+ import classNames from 'classnames';
26
+ import Group from '../Group';
27
+ /** generic controlled <input/> wrapped by a Group */
28
+ function InputGroup(_a, ref) {
29
+ var input = _a.input, meta = _a.meta, label = _a.label, helpText = _a.helpText, className = _a.className, disabled = _a.disabled, onChange = _a.onChange, value = _a.value, icon = _a.icon, rest = __rest(_a, ["input", "meta", "label", "helpText", "className", "disabled", "onChange", "value", "icon"]);
30
+ return (_jsxs(Group, __assign({ input: input, meta: meta, disabled: disabled, label: label, helpText: helpText, className: classNames(className, 'input-group') }, { children: [icon, _jsx("input", __assign({}, input, rest, { value: value, onChange: onChange, ref: ref, className: classNames(className, 'input-group') }))] })));
31
+ }
32
+ var InputGroupWithRef = React.forwardRef(InputGroup);
33
+ export default InputGroupWithRef;
@@ -0,0 +1,7 @@
1
+ import React from 'react';
2
+ import { InputGroupProps } from './InputGroup';
3
+ export interface MoneyInputGroupProps extends Omit<InputGroupProps<number | undefined>, 'onChange' | 'type' | 'value'> {
4
+ parseFunc?: typeof parseInt | typeof parseFloat;
5
+ }
6
+ declare const MoneyInputGroupWithRef: React.FunctionComponent<MoneyInputGroupProps>;
7
+ export default MoneyInputGroupWithRef;
@@ -0,0 +1,41 @@
1
+ var __assign = (this && this.__assign) || function () {
2
+ __assign = Object.assign || function(t) {
3
+ for (var s, i = 1, n = arguments.length; i < n; i++) {
4
+ s = arguments[i];
5
+ for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p))
6
+ t[p] = s[p];
7
+ }
8
+ return t;
9
+ };
10
+ return __assign.apply(this, arguments);
11
+ };
12
+ var __rest = (this && this.__rest) || function (s, e) {
13
+ var t = {};
14
+ for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p) && e.indexOf(p) < 0)
15
+ t[p] = s[p];
16
+ if (s != null && typeof Object.getOwnPropertySymbols === "function")
17
+ for (var i = 0, p = Object.getOwnPropertySymbols(s); i < p.length; i++) {
18
+ if (e.indexOf(p[i]) < 0 && Object.prototype.propertyIsEnumerable.call(s, p[i]))
19
+ t[p[i]] = s[p[i]];
20
+ }
21
+ return t;
22
+ };
23
+ import { jsx as _jsx } from "react/jsx-runtime";
24
+ import React from 'react';
25
+ import classNames from 'classnames';
26
+ import InputGroup from './InputGroup';
27
+ function MoneyInputGroup(_a, ref) {
28
+ var parseFunc = _a.parseFunc, className = _a.className, rest = __rest(_a, ["parseFunc", "className"]);
29
+ var effectiveParse = parseFunc !== null && parseFunc !== void 0 ? parseFunc : parseFloat;
30
+ var input = rest.input;
31
+ return (_jsx(InputGroup, __assign({ ref: ref, step: 0.01, min: 0 }, rest, { type: "number", className: classNames(className, 'money-group'), value: input.value || '', onChange: function (e) {
32
+ if (!e.target.value) {
33
+ input.onChange(undefined);
34
+ }
35
+ else {
36
+ input.onChange(effectiveParse(e.target.value));
37
+ }
38
+ } })));
39
+ }
40
+ var MoneyInputGroupWithRef = React.forwardRef(MoneyInputGroup);
41
+ export default MoneyInputGroupWithRef;
@@ -0,0 +1,7 @@
1
+ import React from 'react';
2
+ import { InputGroupProps } from './InputGroup';
3
+ export interface NumberInputGroupProps extends Omit<InputGroupProps<number | undefined>, 'onChange' | 'type' | 'value'> {
4
+ parseFunc?: typeof parseInt | typeof parseFloat;
5
+ }
6
+ declare const NumberInputGroupWithRef: React.ComponentType<NumberInputGroupProps>;
7
+ export default NumberInputGroupWithRef;
@@ -0,0 +1,41 @@
1
+ var __assign = (this && this.__assign) || function () {
2
+ __assign = Object.assign || function(t) {
3
+ for (var s, i = 1, n = arguments.length; i < n; i++) {
4
+ s = arguments[i];
5
+ for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p))
6
+ t[p] = s[p];
7
+ }
8
+ return t;
9
+ };
10
+ return __assign.apply(this, arguments);
11
+ };
12
+ var __rest = (this && this.__rest) || function (s, e) {
13
+ var t = {};
14
+ for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p) && e.indexOf(p) < 0)
15
+ t[p] = s[p];
16
+ if (s != null && typeof Object.getOwnPropertySymbols === "function")
17
+ for (var i = 0, p = Object.getOwnPropertySymbols(s); i < p.length; i++) {
18
+ if (e.indexOf(p[i]) < 0 && Object.prototype.propertyIsEnumerable.call(s, p[i]))
19
+ t[p[i]] = s[p[i]];
20
+ }
21
+ return t;
22
+ };
23
+ import { jsx as _jsx } from "react/jsx-runtime";
24
+ import React from 'react';
25
+ import classNames from 'classnames';
26
+ import InputGroup from './InputGroup';
27
+ function NumberInputGroup(_a, ref) {
28
+ var parseFunc = _a.parseFunc, className = _a.className, rest = __rest(_a, ["parseFunc", "className"]);
29
+ var effectiveParse = parseFunc !== null && parseFunc !== void 0 ? parseFunc : parseFloat;
30
+ var input = rest.input;
31
+ return (_jsx(InputGroup, __assign({ ref: ref }, rest, { type: "number", className: classNames(className, 'number-group'), value: input.value || '', onChange: function (e) {
32
+ if (!e.target.value) {
33
+ input.onChange(undefined);
34
+ }
35
+ else {
36
+ input.onChange(effectiveParse(e.target.value));
37
+ }
38
+ } })));
39
+ }
40
+ var NumberInputGroupWithRef = React.forwardRef(NumberInputGroup);
41
+ export default NumberInputGroupWithRef;
@@ -0,0 +1,7 @@
1
+ import React from 'react';
2
+ import { InputGroupProps } from './InputGroup';
3
+ export interface StringInputGroupProps extends Omit<InputGroupProps<string | undefined>, 'onChange' | 'type' | 'value'> {
4
+ type?: 'color' | 'email' | 'search' | 'tel' | 'text' | 'url';
5
+ }
6
+ declare const StringInputGroupWithRef: React.ComponentType<StringInputGroupProps>;
7
+ export default StringInputGroupWithRef;
@@ -0,0 +1,40 @@
1
+ var __assign = (this && this.__assign) || function () {
2
+ __assign = Object.assign || function(t) {
3
+ for (var s, i = 1, n = arguments.length; i < n; i++) {
4
+ s = arguments[i];
5
+ for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p))
6
+ t[p] = s[p];
7
+ }
8
+ return t;
9
+ };
10
+ return __assign.apply(this, arguments);
11
+ };
12
+ var __rest = (this && this.__rest) || function (s, e) {
13
+ var t = {};
14
+ for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p) && e.indexOf(p) < 0)
15
+ t[p] = s[p];
16
+ if (s != null && typeof Object.getOwnPropertySymbols === "function")
17
+ for (var i = 0, p = Object.getOwnPropertySymbols(s); i < p.length; i++) {
18
+ if (e.indexOf(p[i]) < 0 && Object.prototype.propertyIsEnumerable.call(s, p[i]))
19
+ t[p[i]] = s[p[i]];
20
+ }
21
+ return t;
22
+ };
23
+ import { jsx as _jsx } from "react/jsx-runtime";
24
+ import React from 'react';
25
+ import classNames from 'classnames';
26
+ import InputGroup from './InputGroup';
27
+ function StringInputGroup(_a, ref) {
28
+ var className = _a.className, rest = __rest(_a, ["className"]);
29
+ var input = rest.input;
30
+ return (_jsx(InputGroup, __assign({ ref: ref }, rest, { className: classNames(className, 'string-group'), value: input.value || '', onChange: function (e) {
31
+ if (!e.target.value) {
32
+ input.onChange(undefined);
33
+ }
34
+ else {
35
+ input.onChange(e.target.value);
36
+ }
37
+ } })));
38
+ }
39
+ var StringInputGroupWithRef = React.forwardRef(StringInputGroup);
40
+ export default StringInputGroupWithRef;
@@ -0,0 +1,4 @@
1
+ /** Normalization of values */
2
+ export interface NormalizationFunction<TValue> {
3
+ (value: TValue): TValue;
4
+ }
@@ -0,0 +1 @@
1
+ export {};
@@ -0,0 +1,2 @@
1
+ export declare const phoneNumber: (value: string | undefined) => string | undefined;
2
+ export declare const zipCode: (value: string | undefined) => string | undefined;
@@ -0,0 +1,30 @@
1
+ export var phoneNumber = function (value) {
2
+ if (!value) {
3
+ return undefined;
4
+ }
5
+ var onlyNums = value.replace(/[^\d]/g, '');
6
+ if (onlyNums.length <= 3) {
7
+ return onlyNums;
8
+ }
9
+ if (onlyNums.length <= 7) {
10
+ return "".concat(onlyNums.slice(0, 3), "-").concat(onlyNums.slice(3));
11
+ }
12
+ if (onlyNums.length <= 10) {
13
+ return "".concat(onlyNums.slice(0, 3), "-").concat(onlyNums.slice(3, 6), "-").concat(onlyNums.slice(6, 10));
14
+ }
15
+ if (onlyNums.length <= 13) {
16
+ var countryCodeLength = onlyNums.length - 10;
17
+ return "+".concat(onlyNums.slice(0, countryCodeLength), " ").concat(onlyNums.slice(countryCodeLength, 3 + countryCodeLength), "-").concat(onlyNums.slice(3 + countryCodeLength, 6 + countryCodeLength), "-").concat(onlyNums.slice(6 + countryCodeLength, onlyNums.length));
18
+ }
19
+ return onlyNums;
20
+ };
21
+ export var zipCode = function (value) {
22
+ if (!value) {
23
+ return undefined;
24
+ }
25
+ var onlyNums = value.replace(/[^\d]/g, '');
26
+ if (onlyNums.length > 5) {
27
+ return onlyNums.substring(0, 5) + '-' + onlyNums.substring(5, 9);
28
+ }
29
+ return onlyNums;
30
+ };
@@ -0,0 +1,7 @@
1
+ /// <reference types="react" />
2
+ import { SelectOption } from './SelectGroup';
3
+ import { SelectGroupPropsHelper } from './SelectGroupPropsHelper';
4
+ export interface BooleanSelectGroupProps extends Omit<SelectGroupPropsHelper<boolean>, 'options'> {
5
+ options?: SelectOption<boolean>[];
6
+ }
7
+ export declare function BooleanSelectGroup(props: BooleanSelectGroupProps): JSX.Element;
@@ -0,0 +1,27 @@
1
+ var __assign = (this && this.__assign) || function () {
2
+ __assign = Object.assign || function(t) {
3
+ for (var s, i = 1, n = arguments.length; i < n; i++) {
4
+ s = arguments[i];
5
+ for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p))
6
+ t[p] = s[p];
7
+ }
8
+ return t;
9
+ };
10
+ return __assign.apply(this, arguments);
11
+ };
12
+ import { jsx as _jsx } from "react/jsx-runtime";
13
+ import SelectGroup from './SelectGroup';
14
+ var booleanOptions = [
15
+ {
16
+ label: 'Yes',
17
+ value: true,
18
+ },
19
+ {
20
+ label: 'No',
21
+ value: false,
22
+ },
23
+ ];
24
+ export function BooleanSelectGroup(props) {
25
+ var _a;
26
+ return (_jsx(SelectGroup, __assign({ multiple: false }, props, { options: (_a = props.options) !== null && _a !== void 0 ? _a : booleanOptions })));
27
+ }
@@ -0,0 +1,8 @@
1
+ /// <reference types="react" />
2
+ import { SelectGroupPropsHelper } from './SelectGroupPropsHelper';
3
+ export interface MultiNumberSelectGroupProps extends SelectGroupPropsHelper<number[]> {
4
+ }
5
+ export declare function MultiNumberSelectGroup(props: MultiNumberSelectGroupProps): JSX.Element;
6
+ export interface SingleNumberSelectGroupProps extends SelectGroupPropsHelper<number> {
7
+ }
8
+ export declare function SingleNumberSelectGroup(props: SingleNumberSelectGroupProps): JSX.Element;
@@ -0,0 +1,19 @@
1
+ var __assign = (this && this.__assign) || function () {
2
+ __assign = Object.assign || function(t) {
3
+ for (var s, i = 1, n = arguments.length; i < n; i++) {
4
+ s = arguments[i];
5
+ for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p))
6
+ t[p] = s[p];
7
+ }
8
+ return t;
9
+ };
10
+ return __assign.apply(this, arguments);
11
+ };
12
+ import { jsx as _jsx } from "react/jsx-runtime";
13
+ import SelectGroup from './SelectGroup';
14
+ export function MultiNumberSelectGroup(props) {
15
+ return _jsx(SelectGroup, __assign({ multiple: true }, props));
16
+ }
17
+ export function SingleNumberSelectGroup(props) {
18
+ return _jsx(SelectGroup, __assign({ multiple: false }, props));
19
+ }
@@ -0,0 +1,22 @@
1
+ /// <reference types="react" />
2
+ import { InjectedFieldProps } from '../Field/InjectedFieldProps';
3
+ import { GroupProps } from '../Group';
4
+ export interface SelectOption<TValue> {
5
+ value: (TValue extends Array<infer P> ? P : TValue) | undefined;
6
+ label: string;
7
+ }
8
+ interface OptionsApiResult<TValue> {
9
+ result?: Partial<SelectOption<TValue>>[];
10
+ }
11
+ interface OptionsUseServiceResult<TValue> {
12
+ loading?: boolean;
13
+ resp?: Partial<SelectOption<TValue>>[] | OptionsApiResult<TValue> | null;
14
+ error?: any;
15
+ }
16
+ export interface SelectGroupProps<TValue> extends InjectedFieldProps<TValue | undefined>, Omit<GroupProps, 'input' | 'meta' | 'children'> {
17
+ options: SelectOption<TValue>[] | OptionsUseServiceResult<TValue>;
18
+ multiple: TValue extends Array<any> ? true : false;
19
+ placeholder?: string;
20
+ }
21
+ export default function SelectGroup<TValue>({ input, meta, className, options, multiple, placeholder, ...rest }: SelectGroupProps<TValue>): JSX.Element;
22
+ export {};
@@ -0,0 +1,59 @@
1
+ var __assign = (this && this.__assign) || function () {
2
+ __assign = Object.assign || function(t) {
3
+ for (var s, i = 1, n = arguments.length; i < n; i++) {
4
+ s = arguments[i];
5
+ for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p))
6
+ t[p] = s[p];
7
+ }
8
+ return t;
9
+ };
10
+ return __assign.apply(this, arguments);
11
+ };
12
+ var __rest = (this && this.__rest) || function (s, e) {
13
+ var t = {};
14
+ for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p) && e.indexOf(p) < 0)
15
+ t[p] = s[p];
16
+ if (s != null && typeof Object.getOwnPropertySymbols === "function")
17
+ for (var i = 0, p = Object.getOwnPropertySymbols(s); i < p.length; i++) {
18
+ if (e.indexOf(p[i]) < 0 && Object.prototype.propertyIsEnumerable.call(s, p[i]))
19
+ t[p[i]] = s[p[i]];
20
+ }
21
+ return t;
22
+ };
23
+ import { jsx as _jsx } from "react/jsx-runtime";
24
+ import { default as ReactSelect } from 'react-select';
25
+ import classNames from 'classnames';
26
+ import Group from '../Group';
27
+ // TODO: we could also name this "ReactSelectGroup" or similar but the types are strongly defined now so kept the names consistent
28
+ export default function SelectGroup(_a) {
29
+ var input = _a.input, meta = _a.meta, className = _a.className, options = _a.options, multiple = _a.multiple, placeholder = _a.placeholder, rest = __rest(_a, ["input", "meta", "className", "options", "multiple", "placeholder"]);
30
+ var effectiveOptions = !options
31
+ ? []
32
+ : Array.isArray(options)
33
+ ? options
34
+ : 'resp' in options &&
35
+ !!options.resp &&
36
+ 'result' in options.resp &&
37
+ !!options.resp.result
38
+ ? options.resp.result
39
+ : 'resp' in options && !!options.resp && Array.isArray(options.resp)
40
+ ? options.resp
41
+ : [];
42
+ var isLoading = (options && 'loading' in options && options.loading) || false;
43
+ return (_jsx(Group, __assign({}, rest, { input: input, meta: meta, className: classNames(className, { multiple: multiple, 'is-loading': isLoading }, 'select-group') }, { children: _jsx(ReactSelect, { inputId: input.id, isMulti: multiple, options: effectiveOptions, onBlur: input.onBlur, value: getValue(), onChange: function (e) {
44
+ if (multiple === true) {
45
+ input.onChange(e === null || e === void 0 ? void 0 : e.map(function (x) { return x.value; }));
46
+ }
47
+ else {
48
+ input.onChange(e === null || e === void 0 ? void 0 : e.value);
49
+ }
50
+ }, getOptionLabel: function (option) { var _a; return (_a = option === null || option === void 0 ? void 0 : option.label) !== null && _a !== void 0 ? _a : ''; }, className: classNames(className, 'select-group'), classNamePrefix: "react-select", menuPortalTarget: document.body, menuPlacement: "auto", placeholder: placeholder }) })));
51
+ function getValue() {
52
+ if (multiple) {
53
+ return effectiveOptions.filter(function (o) {
54
+ return Array.isArray(input.value) && !!input.value.find(function (x) { return o.value === x; });
55
+ });
56
+ }
57
+ return effectiveOptions.find(function (o) { return o.value === input.value; });
58
+ }
59
+ }
@@ -0,0 +1,3 @@
1
+ import { SelectGroupProps } from './SelectGroup';
2
+ export interface SelectGroupPropsHelper<T> extends Omit<SelectGroupProps<T>, 'multiple'> {
3
+ }
@@ -0,0 +1 @@
1
+ export {};