envoc-form 5.0.3 → 5.0.4-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 (323) hide show
  1. package/README.md +4650 -1250
  2. package/dist/index.cjs +21523 -0
  3. package/dist/index.d.ts +575 -0
  4. package/dist/index.js +21456 -0
  5. package/package.json +107 -111
  6. package/dist/css/envoc-form-styles.css +0 -3
  7. package/dist/css/envoc-form-styles.css.map +0 -1
  8. package/es/AddressInput/AddressInput.d.ts +0 -24
  9. package/es/AddressInput/AddressInput.js +0 -20
  10. package/es/AddressInput/UsStates.d.ts +0 -3
  11. package/es/AddressInput/UsStates.js +0 -53
  12. package/es/ConfirmBaseForm/ConfirmBaseForm.d.ts +0 -26
  13. package/es/ConfirmBaseForm/ConfirmBaseForm.js +0 -42
  14. package/es/ConfirmDeleteForm/ConfirmDeleteForm.d.ts +0 -24
  15. package/es/ConfirmDeleteForm/ConfirmDeleteForm.js +0 -60
  16. package/es/DatePicker/DatePickerGroup.d.ts +0 -13
  17. package/es/DatePicker/DatePickerGroup.js +0 -87
  18. package/es/DatePicker/DatePickerHelper.d.ts +0 -3
  19. package/es/DatePicker/DatePickerHelper.js +0 -1
  20. package/es/DatePicker/StringDateOnlyPickerGroup.d.ts +0 -9
  21. package/es/DatePicker/StringDateOnlyPickerGroup.js +0 -29
  22. package/es/DatePicker/StringDatePickerGroup.d.ts +0 -9
  23. package/es/DatePicker/StringDatePickerGroup.js +0 -24
  24. package/es/Field/CustomFieldInputProps.d.ts +0 -7
  25. package/es/Field/CustomFieldInputProps.js +0 -1
  26. package/es/Field/CustomFieldMetaProps.d.ts +0 -4
  27. package/es/Field/CustomFieldMetaProps.js +0 -1
  28. package/es/Field/Field.d.ts +0 -28
  29. package/es/Field/Field.js +0 -51
  30. package/es/Field/FieldErrorScrollTarget.d.ts +0 -2
  31. package/es/Field/FieldErrorScrollTarget.js +0 -12
  32. package/es/Field/FieldNameContext.d.ts +0 -3
  33. package/es/Field/FieldNameContext.js +0 -3
  34. package/es/Field/FieldSection.d.ts +0 -7
  35. package/es/Field/FieldSection.js +0 -9
  36. package/es/Field/InjectedFieldProps.d.ts +0 -7
  37. package/es/Field/InjectedFieldProps.js +0 -1
  38. package/es/Field/StandAloneInput.d.ts +0 -13
  39. package/es/Field/StandAloneInput.js +0 -50
  40. package/es/Field/useStandardField.d.ts +0 -21
  41. package/es/Field/useStandardField.js +0 -92
  42. package/es/FieldArray/FieldArray.d.ts +0 -24
  43. package/es/FieldArray/FieldArray.js +0 -77
  44. package/es/File/FileGroup.d.ts +0 -10
  45. package/es/File/FileGroup.js +0 -53
  46. package/es/File/FileList.d.ts +0 -5
  47. package/es/File/FileList.js +0 -10
  48. package/es/File/humanFileSize.d.ts +0 -1
  49. package/es/File/humanFileSize.js +0 -6
  50. package/es/Form/FocusError.d.ts +0 -7
  51. package/es/Form/FocusError.js +0 -42
  52. package/es/Form/Form.d.ts +0 -33
  53. package/es/Form/Form.js +0 -141
  54. package/es/Form/FormBasedPreventNavigation.d.ts +0 -6
  55. package/es/Form/FormBasedPreventNavigation.js +0 -20
  56. package/es/Form/LegacyFormBasedPreventNavigation.d.ts +0 -17
  57. package/es/Form/LegacyFormBasedPreventNavigation.js +0 -69
  58. package/es/Form/NewFormBasedPreventNavigation.d.ts +0 -14
  59. package/es/Form/NewFormBasedPreventNavigation.js +0 -39
  60. package/es/Form/ServerErrorContext.d.ts +0 -11
  61. package/es/Form/ServerErrorContext.js +0 -9
  62. package/es/FormActions.d.ts +0 -12
  63. package/es/FormActions.js +0 -16
  64. package/es/FormDefaults.d.ts +0 -4
  65. package/es/FormDefaults.js +0 -2
  66. package/es/Group.d.ts +0 -16
  67. package/es/Group.js +0 -14
  68. package/es/Input/IconInputGroup.d.ts +0 -12
  69. package/es/Input/IconInputGroup.js +0 -43
  70. package/es/Input/InputGroup.d.ts +0 -12
  71. package/es/Input/InputGroup.js +0 -34
  72. package/es/Input/MoneyInputGroup.d.ts +0 -9
  73. package/es/Input/MoneyInputGroup.js +0 -43
  74. package/es/Input/NumberInputGroup.d.ts +0 -9
  75. package/es/Input/NumberInputGroup.js +0 -43
  76. package/es/Input/PhoneNumberInputGroup.d.ts +0 -10
  77. package/es/Input/PhoneNumberInputGroup.js +0 -47
  78. package/es/Input/StringInputGroup.d.ts +0 -8
  79. package/es/Input/StringInputGroup.js +0 -43
  80. package/es/Normalization/NormalizationFunction.d.ts +0 -4
  81. package/es/Normalization/NormalizationFunction.js +0 -1
  82. package/es/Normalization/normalizers.d.ts +0 -4
  83. package/es/Normalization/normalizers.js +0 -32
  84. package/es/Select/BooleanSelectGroup.d.ts +0 -7
  85. package/es/Select/BooleanSelectGroup.js +0 -28
  86. package/es/Select/NumberSelectGroup.d.ts +0 -9
  87. package/es/Select/NumberSelectGroup.js +0 -21
  88. package/es/Select/SelectGroup.d.ts +0 -27
  89. package/es/Select/SelectGroup.js +0 -65
  90. package/es/Select/SelectGroupPropsHelper.d.ts +0 -3
  91. package/es/Select/SelectGroupPropsHelper.js +0 -1
  92. package/es/Select/StringSelectGroup.d.ts +0 -9
  93. package/es/Select/StringSelectGroup.js +0 -21
  94. package/es/StandardFormActions.d.ts +0 -11
  95. package/es/StandardFormActions.js +0 -14
  96. package/es/SubmitFormButton.d.ts +0 -10
  97. package/es/SubmitFormButton.js +0 -40
  98. package/es/TextArea/TextAreaGroup.d.ts +0 -9
  99. package/es/TextArea/TextAreaGroup.js +0 -35
  100. package/es/Validation/ValidatedApiResult.d.ts +0 -6
  101. package/es/Validation/ValidatedApiResult.js +0 -1
  102. package/es/Validation/ValidationError.d.ts +0 -5
  103. package/es/Validation/ValidationError.js +0 -1
  104. package/es/Validation/ValidationFunction.d.ts +0 -4
  105. package/es/Validation/ValidationFunction.js +0 -1
  106. package/es/Validation/validators.d.ts +0 -18
  107. package/es/Validation/validators.js +0 -77
  108. package/es/index.d.ts +0 -75
  109. package/es/index.js +0 -51
  110. package/es/setupTests.d.ts +0 -1
  111. package/es/setupTests.js +0 -1
  112. package/es/utils/objectContainsNonSerializableProperty.d.ts +0 -1
  113. package/es/utils/objectContainsNonSerializableProperty.js +0 -14
  114. package/es/utils/objectToFormData.d.ts +0 -10
  115. package/es/utils/objectToFormData.js +0 -77
  116. package/es/utils/typeChecks.d.ts +0 -8
  117. package/es/utils/typeChecks.js +0 -18
  118. package/lib/AddressInput/AddressInput.d.ts +0 -24
  119. package/lib/AddressInput/AddressInput.js +0 -26
  120. package/lib/AddressInput/UsStates.d.ts +0 -3
  121. package/lib/AddressInput/UsStates.js +0 -55
  122. package/lib/ConfirmBaseForm/ConfirmBaseForm.d.ts +0 -26
  123. package/lib/ConfirmBaseForm/ConfirmBaseForm.js +0 -48
  124. package/lib/ConfirmDeleteForm/ConfirmDeleteForm.d.ts +0 -24
  125. package/lib/ConfirmDeleteForm/ConfirmDeleteForm.js +0 -66
  126. package/lib/DatePicker/DatePickerGroup.d.ts +0 -13
  127. package/lib/DatePicker/DatePickerGroup.js +0 -95
  128. package/lib/DatePicker/DatePickerHelper.d.ts +0 -3
  129. package/lib/DatePicker/DatePickerHelper.js +0 -2
  130. package/lib/DatePicker/StringDateOnlyPickerGroup.d.ts +0 -9
  131. package/lib/DatePicker/StringDateOnlyPickerGroup.js +0 -35
  132. package/lib/DatePicker/StringDatePickerGroup.d.ts +0 -9
  133. package/lib/DatePicker/StringDatePickerGroup.js +0 -30
  134. package/lib/Field/CustomFieldInputProps.d.ts +0 -7
  135. package/lib/Field/CustomFieldInputProps.js +0 -2
  136. package/lib/Field/CustomFieldMetaProps.d.ts +0 -4
  137. package/lib/Field/CustomFieldMetaProps.js +0 -2
  138. package/lib/Field/Field.d.ts +0 -28
  139. package/lib/Field/Field.js +0 -56
  140. package/lib/Field/FieldErrorScrollTarget.d.ts +0 -2
  141. package/lib/Field/FieldErrorScrollTarget.js +0 -15
  142. package/lib/Field/FieldNameContext.d.ts +0 -3
  143. package/lib/Field/FieldNameContext.js +0 -9
  144. package/lib/Field/FieldSection.d.ts +0 -7
  145. package/lib/Field/FieldSection.js +0 -12
  146. package/lib/Field/InjectedFieldProps.d.ts +0 -7
  147. package/lib/Field/InjectedFieldProps.js +0 -2
  148. package/lib/Field/StandAloneInput.d.ts +0 -13
  149. package/lib/Field/StandAloneInput.js +0 -76
  150. package/lib/Field/useStandardField.d.ts +0 -21
  151. package/lib/Field/useStandardField.js +0 -95
  152. package/lib/FieldArray/FieldArray.d.ts +0 -24
  153. package/lib/FieldArray/FieldArray.js +0 -83
  154. package/lib/File/FileGroup.d.ts +0 -10
  155. package/lib/File/FileGroup.js +0 -58
  156. package/lib/File/FileList.d.ts +0 -5
  157. package/lib/File/FileList.js +0 -13
  158. package/lib/File/humanFileSize.d.ts +0 -1
  159. package/lib/File/humanFileSize.js +0 -10
  160. package/lib/Form/FocusError.d.ts +0 -7
  161. package/lib/Form/FocusError.js +0 -48
  162. package/lib/Form/Form.d.ts +0 -33
  163. package/lib/Form/Form.js +0 -147
  164. package/lib/Form/FormBasedPreventNavigation.d.ts +0 -6
  165. package/lib/Form/FormBasedPreventNavigation.js +0 -26
  166. package/lib/Form/LegacyFormBasedPreventNavigation.d.ts +0 -17
  167. package/lib/Form/LegacyFormBasedPreventNavigation.js +0 -72
  168. package/lib/Form/NewFormBasedPreventNavigation.d.ts +0 -14
  169. package/lib/Form/NewFormBasedPreventNavigation.js +0 -42
  170. package/lib/Form/ServerErrorContext.d.ts +0 -11
  171. package/lib/Form/ServerErrorContext.js +0 -15
  172. package/lib/FormActions.d.ts +0 -12
  173. package/lib/FormActions.js +0 -22
  174. package/lib/FormDefaults.d.ts +0 -4
  175. package/lib/FormDefaults.js +0 -5
  176. package/lib/Group.d.ts +0 -16
  177. package/lib/Group.js +0 -20
  178. package/lib/Input/IconInputGroup.d.ts +0 -12
  179. package/lib/Input/IconInputGroup.js +0 -48
  180. package/lib/Input/InputGroup.d.ts +0 -12
  181. package/lib/Input/InputGroup.js +0 -39
  182. package/lib/Input/MoneyInputGroup.d.ts +0 -9
  183. package/lib/Input/MoneyInputGroup.js +0 -48
  184. package/lib/Input/NumberInputGroup.d.ts +0 -9
  185. package/lib/Input/NumberInputGroup.js +0 -48
  186. package/lib/Input/PhoneNumberInputGroup.d.ts +0 -10
  187. package/lib/Input/PhoneNumberInputGroup.js +0 -52
  188. package/lib/Input/StringInputGroup.d.ts +0 -8
  189. package/lib/Input/StringInputGroup.js +0 -48
  190. package/lib/Normalization/NormalizationFunction.d.ts +0 -4
  191. package/lib/Normalization/NormalizationFunction.js +0 -2
  192. package/lib/Normalization/normalizers.d.ts +0 -4
  193. package/lib/Normalization/normalizers.js +0 -37
  194. package/lib/Select/BooleanSelectGroup.d.ts +0 -7
  195. package/lib/Select/BooleanSelectGroup.js +0 -35
  196. package/lib/Select/NumberSelectGroup.d.ts +0 -9
  197. package/lib/Select/NumberSelectGroup.js +0 -29
  198. package/lib/Select/SelectGroup.d.ts +0 -27
  199. package/lib/Select/SelectGroup.js +0 -71
  200. package/lib/Select/SelectGroupPropsHelper.d.ts +0 -3
  201. package/lib/Select/SelectGroupPropsHelper.js +0 -2
  202. package/lib/Select/StringSelectGroup.d.ts +0 -9
  203. package/lib/Select/StringSelectGroup.js +0 -29
  204. package/lib/StandardFormActions.d.ts +0 -11
  205. package/lib/StandardFormActions.js +0 -20
  206. package/lib/SubmitFormButton.d.ts +0 -10
  207. package/lib/SubmitFormButton.js +0 -45
  208. package/lib/TextArea/TextAreaGroup.d.ts +0 -9
  209. package/lib/TextArea/TextAreaGroup.js +0 -40
  210. package/lib/Validation/ValidatedApiResult.d.ts +0 -6
  211. package/lib/Validation/ValidatedApiResult.js +0 -2
  212. package/lib/Validation/ValidationError.d.ts +0 -5
  213. package/lib/Validation/ValidationError.js +0 -2
  214. package/lib/Validation/ValidationFunction.d.ts +0 -4
  215. package/lib/Validation/ValidationFunction.js +0 -2
  216. package/lib/Validation/validators.d.ts +0 -18
  217. package/lib/Validation/validators.js +0 -90
  218. package/lib/index.d.ts +0 -75
  219. package/lib/index.js +0 -119
  220. package/lib/setupTests.d.ts +0 -1
  221. package/lib/setupTests.js +0 -3
  222. package/lib/utils/objectContainsNonSerializableProperty.d.ts +0 -1
  223. package/lib/utils/objectContainsNonSerializableProperty.js +0 -17
  224. package/lib/utils/objectToFormData.d.ts +0 -10
  225. package/lib/utils/objectToFormData.js +0 -79
  226. package/lib/utils/typeChecks.d.ts +0 -8
  227. package/lib/utils/typeChecks.js +0 -29
  228. package/src/AddressInput/AddressInput.test.tsx +0 -27
  229. package/src/AddressInput/AddressInput.tsx +0 -82
  230. package/src/AddressInput/UsStates.ts +0 -55
  231. package/src/AddressInput/__snapshots__/AddressInput.test.tsx.snap +0 -182
  232. package/src/ConfirmBaseForm/ConfirmBaseForm.test.tsx +0 -24
  233. package/src/ConfirmBaseForm/ConfirmBaseForm.tsx +0 -74
  234. package/src/ConfirmBaseForm/__snapshots__/ConfirmBaseForm.test.tsx.snap +0 -23
  235. package/src/ConfirmDeleteForm/ConfirmDeleteForm.test.tsx +0 -24
  236. package/src/ConfirmDeleteForm/ConfirmDeleteForm.tsx +0 -87
  237. package/src/ConfirmDeleteForm/__snapshots__/ConfirmDeleteForm.test.tsx.snap +0 -25
  238. package/src/DatePicker/DatePicker.test.tsx +0 -48
  239. package/src/DatePicker/DatePickerGroup.tsx +0 -115
  240. package/src/DatePicker/DatePickerHelper.ts +0 -4
  241. package/src/DatePicker/StringDateOnlyPickerGroup.tsx +0 -28
  242. package/src/DatePicker/StringDatePickerGroup.tsx +0 -20
  243. package/src/DatePicker/__snapshots__/DatePicker.test.tsx.snap +0 -152
  244. package/src/Field/CustomFieldInputProps.ts +0 -10
  245. package/src/Field/CustomFieldMetaProps.ts +0 -5
  246. package/src/Field/Field.tsx +0 -113
  247. package/src/Field/FieldErrorScrollTarget.tsx +0 -12
  248. package/src/Field/FieldNameContext.ts +0 -6
  249. package/src/Field/FieldSection.tsx +0 -18
  250. package/src/Field/InjectedFieldProps.ts +0 -8
  251. package/src/Field/StandAloneInput.tsx +0 -55
  252. package/src/Field/useStandardField.ts +0 -125
  253. package/src/FieldArray/FieldArray.tsx +0 -154
  254. package/src/File/FileGroup.test.tsx +0 -35
  255. package/src/File/FileGroup.tsx +0 -85
  256. package/src/File/FileList.tsx +0 -21
  257. package/src/File/__snapshots__/FileGroup.test.tsx.snap +0 -34
  258. package/src/File/humanFileSize.ts +0 -8
  259. package/src/Form/FocusError.tsx +0 -55
  260. package/src/Form/Form.test.tsx +0 -14
  261. package/src/Form/Form.tsx +0 -237
  262. package/src/Form/FormBasedPreventNavigation.tsx +0 -56
  263. package/src/Form/LegacyFormBasedPreventNavigation.tsx +0 -77
  264. package/src/Form/NewFormBasedPreventNavigation.tsx +0 -59
  265. package/src/Form/ServerErrorContext.ts +0 -18
  266. package/src/Form/__snapshots__/Form.test.tsx.snap +0 -10
  267. package/src/FormActions.tsx +0 -47
  268. package/src/FormDefaults.ts +0 -2
  269. package/src/Group.tsx +0 -62
  270. package/src/Input/IconInputGroup.tsx +0 -54
  271. package/src/Input/InputGroup.tsx +0 -72
  272. package/src/Input/MoneyInputGroup.tsx +0 -50
  273. package/src/Input/NumberInputGroup.tsx +0 -48
  274. package/src/Input/PhoneNumberInputGroup.tsx +0 -45
  275. package/src/Input/StringInputGroup.tsx +0 -53
  276. package/src/Input/__Tests__/IconInputGroup.test.tsx +0 -35
  277. package/src/Input/__Tests__/MoneyInputGroup.test.tsx +0 -37
  278. package/src/Input/__Tests__/NumberInputGroup.test.tsx +0 -35
  279. package/src/Input/__Tests__/PhoneNumberInputGroup.test.tsx +0 -36
  280. package/src/Input/__Tests__/StringInputGroup.test.tsx +0 -27
  281. package/src/Input/__Tests__/__snapshots__/IconInputGroup.test.tsx.snap +0 -32
  282. package/src/Input/__Tests__/__snapshots__/MoneyInputGroup.test.tsx.snap +0 -34
  283. package/src/Input/__Tests__/__snapshots__/NumberInputGroup.test.tsx.snap +0 -32
  284. package/src/Input/__Tests__/__snapshots__/PhoneNumberInputGroup.test.tsx.snap +0 -33
  285. package/src/Input/__Tests__/__snapshots__/StringInputGroup.test.tsx.snap +0 -31
  286. package/src/Normalization/NormalizationFunction.ts +0 -4
  287. package/src/Normalization/normalizers.ts +0 -44
  288. package/src/Select/BooleanSelectGroup.tsx +0 -28
  289. package/src/Select/NumberSelectGroup.tsx +0 -16
  290. package/src/Select/SelectGroup.tsx +0 -124
  291. package/src/Select/SelectGroupPropsHelper.ts +0 -4
  292. package/src/Select/StringSelectGroup.tsx +0 -16
  293. package/src/Select/__tests__/BooleanSelectGroup.test.tsx +0 -35
  294. package/src/Select/__tests__/NumberSelectGroup.test.tsx +0 -87
  295. package/src/Select/__tests__/StringSelectGroup.test.tsx +0 -89
  296. package/src/Select/__tests__/__snapshots__/BooleanSelectGroup.test.tsx.snap +0 -98
  297. package/src/Select/__tests__/__snapshots__/NumberSelectGroup.test.tsx.snap +0 -195
  298. package/src/Select/__tests__/__snapshots__/StringSelectGroup.test.tsx.snap +0 -195
  299. package/src/StandardFormActions.tsx +0 -41
  300. package/src/SubmitFormButton.tsx +0 -54
  301. package/src/TextArea/TextAreaGroup.tsx +0 -64
  302. package/src/Validation/ValidatedApiResult.ts +0 -8
  303. package/src/Validation/ValidationError.ts +0 -6
  304. package/src/Validation/ValidationFunction.ts +0 -4
  305. package/src/Validation/validators.test.tsx +0 -81
  306. package/src/Validation/validators.ts +0 -97
  307. package/src/__Tests__/FormTestBase.tsx +0 -64
  308. package/src/__Tests__/RealisticForm.test.tsx +0 -82
  309. package/src/__Tests__/StandardFormActions.test.tsx +0 -17
  310. package/src/__Tests__/SubmitFormButton.test.tsx +0 -17
  311. package/src/__Tests__/__snapshots__/StandardFormActions.test.tsx.snap +0 -27
  312. package/src/__Tests__/__snapshots__/SubmitFormButton.test.tsx.snap +0 -20
  313. package/src/__Tests__/index.ts +0 -3
  314. package/src/_variables.scss +0 -11
  315. package/src/index.ts +0 -153
  316. package/src/react-app-env.d.ts +0 -1
  317. package/src/setupTests.ts +0 -1
  318. package/src/styles.scss +0 -0
  319. package/src/utils/objectContainsNonSerializableProperty.test.tsx +0 -49
  320. package/src/utils/objectContainsNonSerializableProperty.ts +0 -17
  321. package/src/utils/objectToFormData.test.tsx +0 -76
  322. package/src/utils/objectToFormData.ts +0 -105
  323. package/src/utils/typeChecks.ts +0 -18
package/package.json CHANGED
@@ -1,111 +1,107 @@
1
- {
2
- "name": "envoc-form",
3
- "version": "5.0.3",
4
- "description": "Envoc form components",
5
- "keywords": [
6
- "react-component",
7
- "react",
8
- "forms",
9
- "components",
10
- "envoc"
11
- ],
12
- "homepage": "",
13
- "repository": "",
14
- "license": "MIT",
15
- "author": "Envoc Developers",
16
- "sideEffects": false,
17
- "main": "lib/index.js",
18
- "module": "es/index.js",
19
- "files": [
20
- "dist",
21
- "src",
22
- "lib",
23
- "es"
24
- ],
25
- "scripts": {
26
- "build": "yarn verify-imports && yarn build:esm && yarn build:cjs && yarn build:css && yarn build:docs",
27
- "rebuild": "rimraf ./{dist,es,lib} && yarn build",
28
- "build:esm": "cross-env BABEL_ENV=esm-dir tsc -p tsconfig.esm.json",
29
- "build:css": "sass src/styles.scss dist/css/envoc-form-styles.css",
30
- "build:cjs": "tsc -p tsconfig.cjs.json",
31
- "build:docs": "yarn rimraf README.md && yarn typedoc --options typedoc.json src/index.ts && npx concat-md --decrease-title-levels --dir-name-as-title docs > README.md && cls && yarn rimraf docs",
32
- "verify-imports": "node ../../scripts/check-for-scss-imports.js envoc-form",
33
- "start": "webpack serve --config ./webpack.demo.config.js",
34
- "test": "cross-env SKIP_PREFLIGHT_CHECK=true react-scripts test --watchAll=false",
35
- "coverage": "yarn test --verbose --reporters=default --reporters=jest-junit --coverage --coverageReporters=cobertura"
36
- },
37
- "dependencies": {
38
- "axios": "^0.21.1",
39
- "classnames": "^2.3.1",
40
- "date-fns": "^2.22.1",
41
- "envoc-request": "^5.0.3",
42
- "lru-cache": "^6.0.0",
43
- "prop-types": "^15.7.2",
44
- "react-date-picker": "^8.2.0",
45
- "react-dropzone": "^11.3.4",
46
- "react-router": "^6.2.1",
47
- "react-select": "^5.2.2",
48
- "react-textarea-autosize": "^8.3.3",
49
- "react-toastify": "^7.0.4",
50
- "reactstrap": "^8.9.0",
51
- "history": "^5.2.0",
52
- "smoothscroll-polyfill": "^0.4.4",
53
- "uuid": "^8.3.2",
54
- "@fortawesome/react-fontawesome": "~0.1.16",
55
- "@fortawesome/free-solid-svg-icons": "~5.15.4",
56
- "@fortawesome/fontawesome-svg-core": "~1.2.36"
57
- },
58
- "devDependencies": {
59
- "@babel/cli": "^7.14.5",
60
- "@babel/core": "^7.14.6",
61
- "@babel/plugin-transform-runtime": "^7.14.5",
62
- "@babel/preset-env": "^7.14.7",
63
- "@babel/preset-react": "^7.14.5",
64
- "@testing-library/jest-dom": "^5.14.1",
65
- "@testing-library/react": "^11.2.5",
66
- "@testing-library/user-event": "^12.7.1",
67
- "@types/jest": "^26.0.24",
68
- "@types/react": "~18",
69
- "@types/testing-library__jest-dom": "5.14.5",
70
- "@types/smoothscroll-polyfill": "^0.3.1",
71
- "@types/uuid": "^8.3.2",
72
- "babel-loader": "^8.2.2",
73
- "bootstrap": "^4.6.0",
74
- "clean-webpack-plugin": "^3.0.0",
75
- "cross-env": "7.0.3",
76
- "css-loader": "^5.0.2",
77
- "eslint": "^8.32.0",
78
- "eslint-config-react-app": "^7.0.1",
79
- "html-webpack-plugin": "^5.3.2",
80
- "identity-obj-proxy": "^3.0.0",
81
- "jest-junit": "~12.2.0",
82
- "react": "~18",
83
- "react-dom": "~18",
84
- "react-router-dom": "^6.2.1",
85
- "react-scripts": "^4.0.3",
86
- "rimraf": "~3.0.2",
87
- "sass": "^1.35.2",
88
- "sass-loader": "^11.0.1",
89
- "style-loader": "^2.0.0",
90
- "webpack": "^5.45.0",
91
- "webpack-cli": "^4.7.2",
92
- "webpack-dev-server": "^3.11.2",
93
- "ts-loader": "^9.2.8",
94
- "typescript": "^5.1.6",
95
- "typedoc-plugin-markdown": "^3.15.0",
96
- "typedoc": "^0.24.1",
97
- "concat-md": "~0.3.5"
98
- },
99
- "peerDependencies": {
100
- "@babel/runtime": "^7.14.6",
101
- "formik": "^2.2.9",
102
- "react": ">=18",
103
- "react-dom": ">=18",
104
- "react-router-dom": "^6.2.1"
105
- },
106
- "jest": {
107
- "transformIgnorePatterns": [
108
- "^.+\\.module\\.(css|sass|scss)$"
109
- ]
110
- }
111
- }
1
+ {
2
+ "name": "envoc-form",
3
+ "version": "5.0.4-0",
4
+ "description": "Envoc form components",
5
+ "keywords": [
6
+ "react-component",
7
+ "react",
8
+ "forms",
9
+ "components",
10
+ "envoc"
11
+ ],
12
+ "homepage": "",
13
+ "repository": "",
14
+ "license": "MIT",
15
+ "author": "Envoc Developers",
16
+ "main": "dist/index.cjs",
17
+ "module": "dist/index.js",
18
+ "types": "dist/index.d.ts",
19
+ "type": "module",
20
+ "exports": {
21
+ ".": {
22
+ "import": {
23
+ "types": "./dist/index.d.ts",
24
+ "default": "./dist/index.js"
25
+ },
26
+ "require": {
27
+ "types": "./dist/index.d.ts",
28
+ "default": "./dist/index.cjs"
29
+ }
30
+ }
31
+ },
32
+ "files": [
33
+ "dist"
34
+ ],
35
+ "sideEffects": false,
36
+ "dependencies": {
37
+ "date-fns": "^3.2.0",
38
+ "envoc-request": "^5.0.4-0",
39
+ "history": "^5.3.0",
40
+ "react-date-picker": "^10.6.0",
41
+ "react-dropzone": "^14.2.3",
42
+ "react-router": "^6.22.3",
43
+ "react-select": "^5.8.0",
44
+ "react-toastify": "^10.0.4",
45
+ "smoothscroll-polyfill": "^0.4.4",
46
+ "uuid": "^9.0.1",
47
+ "clsx": "^2.1.0"
48
+ },
49
+ "devDependencies": {
50
+ "@testing-library/dom": "^9.3.4",
51
+ "@testing-library/jest-dom": "^6.4.2",
52
+ "@testing-library/react": "^14.2.1",
53
+ "@testing-library/user-event": "^14.5.2",
54
+ "@types/body": "5.1.4",
55
+ "@types/jest": "^29.5.12",
56
+ "@types/react": "~18.2.65",
57
+ "@types/react-dom": "~18.2.21",
58
+ "@types/smoothscroll-polyfill": "^0.3.4",
59
+ "@types/uuid": "^9.0.8",
60
+ "@typescript-eslint/eslint-plugin": "^7.2.0",
61
+ "@typescript-eslint/parser": "^7.2.0",
62
+ "@vitejs/plugin-react-swc": "^3.6.0",
63
+ "@vitest/coverage-v8": "^1.3.1",
64
+ "@vitest/ui": "^1.3.1",
65
+ "formik": "^2.4.5",
66
+ "body": "5.1.0",
67
+ "concat-md": "^0.5.1",
68
+ "cross-env": "7.0.3",
69
+ "eslint": "^8.57.0",
70
+ "eslint-config-prettier": "^9.1.0",
71
+ "eslint-plugin-jest-dom": "^5.1.0",
72
+ "eslint-plugin-react": "^7.34.0",
73
+ "eslint-plugin-react-hooks": "^4.6.0",
74
+ "identity-obj-proxy": "^3.0.0",
75
+ "react": "~18",
76
+ "react-dom": "~18",
77
+ "react-router-dom": "^6.22.3",
78
+ "rimraf": "^5.0.5",
79
+ "sass": "^1.71.1",
80
+ "typedoc": "^0.25.12",
81
+ "typedoc-plugin-markdown": "^3.17.1",
82
+ "typescript": "^5.4.2",
83
+ "vite": "^5.1.6",
84
+ "vite-plugin-dts": "^3.7.3",
85
+ "vitest": "^1.3.1",
86
+ "jsdom": "^24.0.0"
87
+ },
88
+ "peerDependencies": {
89
+ "@babel/runtime": "^7.14.6",
90
+ "formik": "^2.2.9",
91
+ "react": ">=18",
92
+ "react-dom": ">=18",
93
+ "react-router-dom": "^6.2.1"
94
+ },
95
+ "scripts": {
96
+ "start": "vite",
97
+ "build": "yarn verify-imports && yarn build:js && yarn build:docs",
98
+ "build:docs": "yarn rimraf README.md && yarn typedoc --options typedoc.json src/index.ts && npx concat-md --decrease-title-levels --dir-name-as-title docs > README.md && yarn rimraf docs",
99
+ "build:js": "tsc && vite build",
100
+ "clean": "yarn rimraf ./dist",
101
+ "rebuild": "rimraf ./{dist} && yarn build",
102
+ "test": "vitest run",
103
+ "test:watch": "vitest",
104
+ "test:ui": "vitest --ui",
105
+ "verify-imports": "node ../../scripts/check-for-scss-imports.js envoc-form"
106
+ }
107
+ }
@@ -1,3 +0,0 @@
1
-
2
-
3
- /*# sourceMappingURL=envoc-form-styles.css.map */
@@ -1 +0,0 @@
1
- {"version":3,"sourceRoot":"","sources":[],"names":[],"mappings":"","file":"envoc-form-styles.css"}
@@ -1,24 +0,0 @@
1
- import { FormBuilderProp } from '../Form/Form';
2
- export interface AddressInputProps {
3
- fieldBuilder: Pick<FormBuilderProp<AddressDto>, 'Field'>;
4
- name: string;
5
- }
6
- interface AddressDto {
7
- address1?: string | null;
8
- address2?: string | null;
9
- zipCode?: string | null;
10
- city?: string | null;
11
- state?: string | null;
12
- }
13
- /**
14
- * Collection of `<Field/>`s for inputting an address. Includes:
15
- * ```txt
16
- * Address 1
17
- * Address 2
18
- * City
19
- * State
20
- * Zip
21
- * ```
22
- */
23
- export default function AddressInput({ fieldBuilder: { Field }, name, }: AddressInputProps): import("react/jsx-runtime").JSX.Element;
24
- export {};
@@ -1,20 +0,0 @@
1
- import { jsx as _jsx, jsxs as _jsxs, Fragment as _Fragment } from "react/jsx-runtime";
2
- import UsStates from './UsStates';
3
- import { SingleStringSelectGroup, StringInputGroup } from '../';
4
- import FieldSection from '../Field/FieldSection';
5
- import { zipCode as zipCodeNormalizer } from '../Normalization/normalizers';
6
- import { required, zipCode as zipCodeValidator, } from '../Validation/validators';
7
- /**
8
- * Collection of `<Field/>`s for inputting an address. Includes:
9
- * ```txt
10
- * Address 1
11
- * Address 2
12
- * City
13
- * State
14
- * Zip
15
- * ```
16
- */
17
- export default function AddressInput(_a) {
18
- var Field = _a.fieldBuilder.Field, name = _a.name;
19
- return (_jsx(_Fragment, { children: _jsxs(FieldSection, { name: name, children: [_jsx(Field, { name: "address1", placeholder: "Address, Line 1", label: "Address 1", Component: StringInputGroup, validate: required }), _jsx(Field, { name: "address2", placeholder: "Address, Line 2", label: "Address 2", Component: StringInputGroup }), _jsx(Field, { name: "city", placeholder: "City", label: "City", Component: StringInputGroup, validate: required }), _jsx(Field, { name: "state", placeholder: "State", label: "State", Component: SingleStringSelectGroup, options: UsStates, validate: required }), _jsx(Field, { name: "zipCode", placeholder: "Zip", label: "Zip", Component: StringInputGroup, normalize: zipCodeNormalizer, validate: [required, zipCodeValidator] })] }) }));
20
- }
@@ -1,3 +0,0 @@
1
- import { SelectOption } from '../Select/SelectGroup';
2
- declare const states: SelectOption<string>[];
3
- export default states;
@@ -1,53 +0,0 @@
1
- var states = [
2
- { label: 'Alabama', value: 'AL' },
3
- { label: 'Alaska', value: 'AK' },
4
- { label: 'Arizona', value: 'AZ' },
5
- { label: 'Arkansas', value: 'AR' },
6
- { label: 'California', value: 'CA' },
7
- { label: 'Colorado', value: 'CO' },
8
- { label: 'Connecticut', value: 'CT' },
9
- { label: 'Delaware', value: 'DE' },
10
- { label: 'Florida', value: 'FL' },
11
- { label: 'Georgia', value: 'GA' },
12
- { label: 'Hawaii', value: 'HI' },
13
- { label: 'Idaho', value: 'ID' },
14
- { label: 'Illinois', value: 'IL' },
15
- { label: 'Indiana', value: 'IN' },
16
- { label: 'Iowa', value: 'IA' },
17
- { label: 'Kansas', value: 'KS' },
18
- { label: 'Kentucky', value: 'KY' },
19
- { label: 'Louisiana', value: 'LA' },
20
- { label: 'Maine', value: 'ME' },
21
- { label: 'Maryland', value: 'MD' },
22
- { label: 'Massachusetts', value: 'MA' },
23
- { label: 'Michigan', value: 'MI' },
24
- { label: 'Minnesota', value: 'MN' },
25
- { label: 'Mississippi', value: 'MS' },
26
- { label: 'Missouri', value: 'MO' },
27
- { label: 'Montana', value: 'MT' },
28
- { label: 'Nebraska', value: 'NE' },
29
- { label: 'Nevada', value: 'NV' },
30
- { label: 'New Hampshire', value: 'NH' },
31
- { label: 'New Jersey', value: 'NJ' },
32
- { label: 'New Mexico', value: 'NM' },
33
- { label: 'New York', value: 'NY' },
34
- { label: 'North Carolina', value: 'NC' },
35
- { label: 'North Dakota', value: 'ND' },
36
- { label: 'Ohio', value: 'OH' },
37
- { label: 'Oklahoma', value: 'OK' },
38
- { label: 'Oregon', value: 'OR' },
39
- { label: 'Pennsylvania', value: 'PA' },
40
- { label: 'Rhode Island', value: 'RI' },
41
- { label: 'South Carolina', value: 'SC' },
42
- { label: 'South Dakota', value: 'SD' },
43
- { label: 'Tennessee', value: 'TN' },
44
- { label: 'Texas', value: 'TX' },
45
- { label: 'Utah', value: 'UT' },
46
- { label: 'Vermont', value: 'VT' },
47
- { label: 'Virginia', value: 'VA' },
48
- { label: 'Washington', value: 'WA' },
49
- { label: 'West Virginia', value: 'WV' },
50
- { label: 'Wisconsin', value: 'WI' },
51
- { label: 'Wyoming', value: 'WY' },
52
- ];
53
- export default states;
@@ -1,26 +0,0 @@
1
- import React, { MouseEventHandler } from 'react';
2
- import { useAxiosRequestProps } from 'envoc-request';
3
- export interface ConfirmBaseFormProps {
4
- /** Function to run when cancel button is clicked. */
5
- handleCancel?: MouseEventHandler<HTMLButtonElement>;
6
- /** Axios request upon confirmation */
7
- request: useAxiosRequestProps;
8
- style?: React.CSSProperties;
9
- /** `<h3/>` title text on top of the form. */
10
- title?: string;
11
- /** Custom confirm button text.
12
- * @defaultValue `Confirm`
13
- */
14
- confirmButtonText?: string;
15
- /** CSS class for the buttons. */
16
- confirmButtonClass?: string;
17
- /** Any components to be rendered in between the title and the buttons. */
18
- children?: React.ReactNode;
19
- }
20
- /**
21
- * Confimation dialog. Navigates to a different route to allow the user to either confirm or cancel an action.
22
- * Commonly used for confirming delete and archive.
23
- *
24
- * See `<ConfirmDeleteForm/>` if the confirmation is specifically for deletion.
25
- */
26
- export default function ConfirmBaseForm({ handleCancel, request, style, title, confirmButtonText, confirmButtonClass, children, ...props }: ConfirmBaseFormProps): import("react/jsx-runtime").JSX.Element;
@@ -1,42 +0,0 @@
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 classNames from 'classnames';
25
- import { useAxiosRequest } from 'envoc-request';
26
- import { FormDefaults } from '../FormDefaults';
27
- // TODO: ask about how we should use 'children'
28
- /**
29
- * Confimation dialog. Navigates to a different route to allow the user to either confirm or cancel an action.
30
- * Commonly used for confirming delete and archive.
31
- *
32
- * See `<ConfirmDeleteForm/>` if the confirmation is specifically for deletion.
33
- */
34
- export default function ConfirmBaseForm(_a) {
35
- var handleCancel = _a.handleCancel, request = _a.request, style = _a.style, title = _a.title, confirmButtonText = _a.confirmButtonText, confirmButtonClass = _a.confirmButtonClass, children = _a.children, props = __rest(_a, ["handleCancel", "request", "style", "title", "confirmButtonText", "confirmButtonClass", "children"]);
36
- var webRequest = useAxiosRequest(Object.assign({}, request, { autoExecute: false }));
37
- var onCancel = handleCancel !== null && handleCancel !== void 0 ? handleCancel : goBack;
38
- return (_jsxs("div", __assign({ style: __assign({ textAlign: 'center' }, style) }, props, { children: [_jsx("h3", { children: title }), children, _jsx("button", { className: classNames(confirmButtonClass !== null && confirmButtonClass !== void 0 ? confirmButtonClass : FormDefaults.cssClassPrefix + 'confirm-base-form-confirm-button'), type: "button", onClick: webRequest.submitRequest, children: confirmButtonText !== null && confirmButtonText !== void 0 ? confirmButtonText : 'Confirm' }), _jsx("button", { className: classNames(FormDefaults.cssClassPrefix + 'confirm-base-form-cancel-button'), type: "button", onClick: onCancel, children: "Cancel" })] })));
39
- function goBack() {
40
- window.history.back();
41
- }
42
- }
@@ -1,24 +0,0 @@
1
- import React from 'react';
2
- import { ConfirmBaseFormProps } from '../ConfirmBaseForm/ConfirmBaseForm';
3
- export interface ConfirmDeleteFormProps extends Pick<ConfirmBaseFormProps, 'style'> {
4
- /** Url to navigate to on success. */
5
- successUrl?: string;
6
- /** Form name (key) to apply the confirmation on. */
7
- form: string;
8
- /** Custom message to display.
9
- * @defaultValue `Are you sure you want to delete this?`
10
- */
11
- title?: string;
12
- /** Custom function when the axios request succeeds. */
13
- handleComplete?: Function;
14
- /** Custom function when the axios request fails. */
15
- handleError?: Function;
16
- /** Any components to be rendered in between the title and the buttons. */
17
- children?: React.ReactNode;
18
- }
19
- /**
20
- * Deletion confirmation. Navigates to a different route to allow the user to either confirm or cancel an action.
21
- *
22
- * Wraps `<ConfirmBaseForm/>`.
23
- */
24
- export default function ConfirmDeleteForm({ successUrl, form, title, handleComplete, handleError, children, ...props }: ConfirmDeleteFormProps): import("react/jsx-runtime").JSX.Element;
@@ -1,60 +0,0 @@
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 { useNavigate, useParams } from 'react-router-dom';
25
- import { toast } from 'react-toastify';
26
- import ConfirmBaseForm from '../ConfirmBaseForm/ConfirmBaseForm';
27
- import { FormDefaults } from '../FormDefaults';
28
- /**
29
- * Deletion confirmation. Navigates to a different route to allow the user to either confirm or cancel an action.
30
- *
31
- * Wraps `<ConfirmBaseForm/>`.
32
- */
33
- export default function ConfirmDeleteForm(_a) {
34
- var successUrl = _a.successUrl, form = _a.form, title = _a.title, handleComplete = _a.handleComplete, handleError = _a.handleError, children = _a.children, props = __rest(_a, ["successUrl", "form", "title", "handleComplete", "handleError", "children"]);
35
- var navigate = useNavigate();
36
- var entityId = useParams().entityId;
37
- var onComplete = handleComplete !== null && handleComplete !== void 0 ? handleComplete : function () {
38
- toast.success('Deleted!');
39
- goBack();
40
- };
41
- var onError = handleError !== null && handleError !== void 0 ? handleError : function (error) {
42
- var _a, _b, _c, _d;
43
- toast.error((_d = (_c = (_b = (_a = error.response) === null || _a === void 0 ? void 0 : _a.data) === null || _b === void 0 ? void 0 : _b.validationFailures[0]) === null || _c === void 0 ? void 0 : _c.errorMessage) !== null && _d !== void 0 ? _d : 'Something went wrong talking to the portal. Contact support if this continues.');
44
- };
45
- var request = {
46
- method: 'delete',
47
- url: "/api/".concat(form, "/").concat(entityId),
48
- onComplete: onComplete,
49
- onError: onError,
50
- };
51
- return (_jsx(ConfirmBaseForm, __assign({ request: request, handleCancel: goBack, title: title !== null && title !== void 0 ? title : 'Are you sure you want to delete this?', confirmButtonText: "Yes", confirmButtonClass: FormDefaults.cssClassPrefix + 'confirm-delete-form-yes-button' }, props, { children: children })));
52
- function goBack() {
53
- if (successUrl) {
54
- navigate(successUrl);
55
- }
56
- else {
57
- navigate(-1);
58
- }
59
- }
60
- }
@@ -1,13 +0,0 @@
1
- import { DatePickerProps } from 'react-date-picker/dist/entry.nostyle';
2
- import { InjectedFieldProps } from '../Field/InjectedFieldProps';
3
- import { GroupProps } from '../Group';
4
- export interface DatePickerGroupProps<T> extends InjectedFieldProps<T | undefined | null>, Omit<DatePickerProps, keyof InjectedFieldProps<T> | 'name' | 'value' | 'className'>, Omit<GroupProps, keyof InjectedFieldProps<T> | 'children'> {
5
- convert: (arg: Date) => T;
6
- }
7
- /**
8
- * Field for inputting dates. Uses `<Group/>` and `<DatePicker/>`.
9
- *
10
- * Uses [react-date-picker](https://www.npmjs.com/package/react-date-picker)
11
- */
12
- export default function DatePickerGroup<T>({ input, meta, label, helpText, className, required, disabled, convert, ...rest }: DatePickerGroupProps<T>): import("react/jsx-runtime").JSX.Element;
13
- export declare function convertToTimeZoneInsensitiveISOString(date: Date): string;
@@ -1,87 +0,0 @@
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 { useEffect, useState } from 'react';
25
- import DatePicker from 'react-date-picker/dist/entry.nostyle';
26
- import classnames from 'classnames';
27
- import parseISO from 'date-fns/parseISO';
28
- import { FormDefaults } from '../FormDefaults';
29
- import Group from '../Group';
30
- /**
31
- * Field for inputting dates. Uses `<Group/>` and `<DatePicker/>`.
32
- *
33
- * Uses [react-date-picker](https://www.npmjs.com/package/react-date-picker)
34
- */
35
- export default function DatePickerGroup(_a) {
36
- var input = _a.input, meta = _a.meta, label = _a.label, helpText = _a.helpText, className = _a.className, required = _a.required, disabled = _a.disabled, convert = _a.convert, rest = __rest(_a, ["input", "meta", "label", "helpText", "className", "required", "disabled", "convert"]);
37
- var _b = useState(null), displayDate = _b[0], setDisplayDate = _b[1];
38
- useEffect(function () {
39
- if (!input.value) {
40
- setDisplayDate(null);
41
- }
42
- else if (typeof input.value === 'string') {
43
- if (input.value.indexOf('T') === -1) {
44
- setDisplayDate(new Date("".concat(input.value, "T00:00:00.000")));
45
- }
46
- else {
47
- setDisplayDate(new Date(input.value));
48
- }
49
- }
50
- }, [setDisplayDate, input.value]);
51
- return (_jsx(Group, { input: input, meta: meta, label: label, helpText: helpText, className: classnames(className, FormDefaults.cssClassPrefix + 'date-picker'), required: required, disabled: disabled, children: _jsx(DatePicker, __assign({}, rest, { className: classnames(FormDefaults.cssClassPrefix + 'date-picker', className), value: displayDate, onChange: handleChange })) }));
52
- function handleChange(e) {
53
- var onChange = input.onChange;
54
- if (onChange === null) {
55
- return;
56
- }
57
- if (!e) {
58
- onChange(undefined);
59
- setDisplayDate(null);
60
- return;
61
- }
62
- else if (typeof e === 'string') {
63
- var parsedValue = parseISO(e.toString().split('T')[0]);
64
- setDisplayDate(parsedValue);
65
- onChange(convert(parsedValue));
66
- }
67
- else if (e instanceof Date) {
68
- var parsedValue = parseISO(convertToTimeZoneInsensitiveISOString(e).split('T')[0]);
69
- setDisplayDate(parsedValue);
70
- onChange(convert(parsedValue));
71
- }
72
- else {
73
- // e is instanceof Date[]
74
- var parsedValue = parseISO(convertToTimeZoneInsensitiveISOString(e[0]).split('T')[0]);
75
- setDisplayDate(parsedValue);
76
- onChange(convert(parsedValue));
77
- }
78
- }
79
- }
80
- export function convertToTimeZoneInsensitiveISOString(date) {
81
- var year = new Intl.DateTimeFormat('en', { year: 'numeric' })
82
- .format(date)
83
- .padStart(4, '0');
84
- var month = new Intl.DateTimeFormat('en', { month: '2-digit' }).format(date);
85
- var day = new Intl.DateTimeFormat('en', { day: '2-digit' }).format(date);
86
- return "".concat(year, "-").concat(month, "-").concat(day, "T00:00:00.000Z");
87
- }
@@ -1,3 +0,0 @@
1
- import { DatePickerGroupProps } from './DatePickerGroup';
2
- export interface DatePickerHelper<T> extends Omit<DatePickerGroupProps<T>, 'convert'> {
3
- }
@@ -1 +0,0 @@
1
- export {};
@@ -1,9 +0,0 @@
1
- import { DatePickerHelper } from './DatePickerHelper';
2
- export interface StringDateOnlyPickerGroupProps extends DatePickerHelper<string | undefined | null> {
3
- }
4
- /**
5
- * Date picker input that consumes and outputs as a date only string in ISO format `YYYY-MM-DD`.
6
- *
7
- * Default display to the user is in `MM/DD/YYYY` format.
8
- */
9
- export default function StringDatePickerGroup(props: StringDateOnlyPickerGroupProps): import("react/jsx-runtime").JSX.Element;