envoc-form 5.0.2 → 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
@@ -1,195 +0,0 @@
1
- // Jest Snapshot v1, https://goo.gl/fbAQLP
2
-
3
- exports[`MultiNumberSelectGroup has matching snapshot 1`] = `
4
- <DocumentFragment>
5
- <form
6
- action="#"
7
- class="envoc-form-form"
8
- >
9
- <div
10
- class="envoc-form-multiple envoc-form-select-group envoc-form-group"
11
- >
12
- <div
13
- id="userroles-error-scroll-target"
14
- style="display: none;"
15
- />
16
- <label
17
- for="userRoles"
18
- >
19
- Favorite Number
20
- </label>
21
- <div
22
- class="envoc-form-select-group css-b62m3t-container"
23
- >
24
- <span
25
- class="css-1f43avz-a11yText-A11yText"
26
- id="react-select-5-live-region"
27
- />
28
- <span
29
- aria-atomic="false"
30
- aria-live="polite"
31
- aria-relevant="additions text"
32
- class="css-1f43avz-a11yText-A11yText"
33
- />
34
- <div
35
- class="react-select__control css-13cymwt-control"
36
- >
37
- <div
38
- class="react-select__value-container react-select__value-container--is-multi css-16674sh-Component"
39
- >
40
- <div
41
- class="react-select__placeholder css-1jqq78o-placeholder"
42
- id="react-select-5-placeholder"
43
- >
44
- Select...
45
- </div>
46
- <div
47
- class="react-select__input-container css-d9r47t-Component"
48
- data-value=""
49
- >
50
- <input
51
- aria-autocomplete="list"
52
- aria-describedby="react-select-5-placeholder"
53
- aria-expanded="false"
54
- aria-haspopup="true"
55
- autocapitalize="none"
56
- autocomplete="off"
57
- autocorrect="off"
58
- class="react-select__input"
59
- id="userRoles"
60
- role="combobox"
61
- spellcheck="false"
62
- style="opacity: 1; width: 100%; grid-area: 1 / 2; min-width: 2px; border: 0px; margin: 0px; outline: 0; padding: 0px;"
63
- tabindex="0"
64
- type="text"
65
- value=""
66
- />
67
- </div>
68
- </div>
69
- <div
70
- class="react-select__indicators css-ny0e4k-Component"
71
- >
72
- <span
73
- class="react-select__indicator-separator css-1u9des2-indicatorSeparator"
74
- />
75
- <div
76
- aria-hidden="true"
77
- class="react-select__indicator react-select__dropdown-indicator css-1xc3v61-indicatorContainer"
78
- >
79
- <svg
80
- aria-hidden="true"
81
- class="css-tj5bde-Svg"
82
- focusable="false"
83
- height="20"
84
- viewBox="0 0 20 20"
85
- width="20"
86
- >
87
- <path
88
- d="M4.516 7.548c0.436-0.446 1.043-0.481 1.576 0l3.908 3.747 3.908-3.747c0.533-0.481 1.141-0.446 1.574 0 0.436 0.445 0.408 1.197 0 1.615-0.406 0.418-4.695 4.502-4.695 4.502-0.217 0.223-0.502 0.335-0.787 0.335s-0.57-0.112-0.789-0.335c0 0-4.287-4.084-4.695-4.502s-0.436-1.17 0-1.615z"
89
- />
90
- </svg>
91
- </div>
92
- </div>
93
- </div>
94
- </div>
95
- </div>
96
- </form>
97
- </DocumentFragment>
98
- `;
99
-
100
- exports[`SingleNumberSelectGroup has matching snapshot 1`] = `
101
- <DocumentFragment>
102
- <form
103
- action="#"
104
- class="envoc-form-form"
105
- >
106
- <div
107
- class="envoc-form-select-group envoc-form-group"
108
- >
109
- <div
110
- id="favoritenumber-error-scroll-target"
111
- style="display: none;"
112
- />
113
- <label
114
- for="favoriteNumber"
115
- >
116
- Favorite Number
117
- </label>
118
- <div
119
- class="envoc-form-select-group css-b62m3t-container"
120
- >
121
- <span
122
- class="css-1f43avz-a11yText-A11yText"
123
- id="react-select-3-live-region"
124
- />
125
- <span
126
- aria-atomic="false"
127
- aria-live="polite"
128
- aria-relevant="additions text"
129
- class="css-1f43avz-a11yText-A11yText"
130
- />
131
- <div
132
- class="react-select__control css-13cymwt-control"
133
- >
134
- <div
135
- class="react-select__value-container css-16674sh-Component"
136
- >
137
- <div
138
- class="react-select__placeholder css-1jqq78o-placeholder"
139
- id="react-select-3-placeholder"
140
- >
141
- Select...
142
- </div>
143
- <div
144
- class="react-select__input-container css-d9r47t-Component"
145
- data-value=""
146
- >
147
- <input
148
- aria-autocomplete="list"
149
- aria-describedby="react-select-3-placeholder"
150
- aria-expanded="false"
151
- aria-haspopup="true"
152
- autocapitalize="none"
153
- autocomplete="off"
154
- autocorrect="off"
155
- class="react-select__input"
156
- id="favoriteNumber"
157
- role="combobox"
158
- spellcheck="false"
159
- style="opacity: 1; width: 100%; grid-area: 1 / 2; min-width: 2px; border: 0px; margin: 0px; outline: 0; padding: 0px;"
160
- tabindex="0"
161
- type="text"
162
- value=""
163
- />
164
- </div>
165
- </div>
166
- <div
167
- class="react-select__indicators css-ny0e4k-Component"
168
- >
169
- <span
170
- class="react-select__indicator-separator css-1u9des2-indicatorSeparator"
171
- />
172
- <div
173
- aria-hidden="true"
174
- class="react-select__indicator react-select__dropdown-indicator css-1xc3v61-indicatorContainer"
175
- >
176
- <svg
177
- aria-hidden="true"
178
- class="css-tj5bde-Svg"
179
- focusable="false"
180
- height="20"
181
- viewBox="0 0 20 20"
182
- width="20"
183
- >
184
- <path
185
- d="M4.516 7.548c0.436-0.446 1.043-0.481 1.576 0l3.908 3.747 3.908-3.747c0.533-0.481 1.141-0.446 1.574 0 0.436 0.445 0.408 1.197 0 1.615-0.406 0.418-4.695 4.502-4.695 4.502-0.217 0.223-0.502 0.335-0.787 0.335s-0.57-0.112-0.789-0.335c0 0-4.287-4.084-4.695-4.502s-0.436-1.17 0-1.615z"
186
- />
187
- </svg>
188
- </div>
189
- </div>
190
- </div>
191
- </div>
192
- </div>
193
- </form>
194
- </DocumentFragment>
195
- `;
@@ -1,195 +0,0 @@
1
- // Jest Snapshot v1, https://goo.gl/fbAQLP
2
-
3
- exports[`MultiStringSelectGroup has matching snapshot 1`] = `
4
- <DocumentFragment>
5
- <form
6
- action="#"
7
- class="envoc-form-form"
8
- >
9
- <div
10
- class="envoc-form-multiple envoc-form-select-group envoc-form-group"
11
- >
12
- <div
13
- id="favoritecolors-error-scroll-target"
14
- style="display: none;"
15
- />
16
- <label
17
- for="favoriteColors"
18
- >
19
- Favorite Color
20
- </label>
21
- <div
22
- class="envoc-form-select-group css-b62m3t-container"
23
- >
24
- <span
25
- class="css-1f43avz-a11yText-A11yText"
26
- id="react-select-5-live-region"
27
- />
28
- <span
29
- aria-atomic="false"
30
- aria-live="polite"
31
- aria-relevant="additions text"
32
- class="css-1f43avz-a11yText-A11yText"
33
- />
34
- <div
35
- class="react-select__control css-13cymwt-control"
36
- >
37
- <div
38
- class="react-select__value-container react-select__value-container--is-multi css-16674sh-Component"
39
- >
40
- <div
41
- class="react-select__placeholder css-1jqq78o-placeholder"
42
- id="react-select-5-placeholder"
43
- >
44
- Select...
45
- </div>
46
- <div
47
- class="react-select__input-container css-d9r47t-Component"
48
- data-value=""
49
- >
50
- <input
51
- aria-autocomplete="list"
52
- aria-describedby="react-select-5-placeholder"
53
- aria-expanded="false"
54
- aria-haspopup="true"
55
- autocapitalize="none"
56
- autocomplete="off"
57
- autocorrect="off"
58
- class="react-select__input"
59
- id="favoriteColors"
60
- role="combobox"
61
- spellcheck="false"
62
- style="opacity: 1; width: 100%; grid-area: 1 / 2; min-width: 2px; border: 0px; margin: 0px; outline: 0; padding: 0px;"
63
- tabindex="0"
64
- type="text"
65
- value=""
66
- />
67
- </div>
68
- </div>
69
- <div
70
- class="react-select__indicators css-ny0e4k-Component"
71
- >
72
- <span
73
- class="react-select__indicator-separator css-1u9des2-indicatorSeparator"
74
- />
75
- <div
76
- aria-hidden="true"
77
- class="react-select__indicator react-select__dropdown-indicator css-1xc3v61-indicatorContainer"
78
- >
79
- <svg
80
- aria-hidden="true"
81
- class="css-tj5bde-Svg"
82
- focusable="false"
83
- height="20"
84
- viewBox="0 0 20 20"
85
- width="20"
86
- >
87
- <path
88
- d="M4.516 7.548c0.436-0.446 1.043-0.481 1.576 0l3.908 3.747 3.908-3.747c0.533-0.481 1.141-0.446 1.574 0 0.436 0.445 0.408 1.197 0 1.615-0.406 0.418-4.695 4.502-4.695 4.502-0.217 0.223-0.502 0.335-0.787 0.335s-0.57-0.112-0.789-0.335c0 0-4.287-4.084-4.695-4.502s-0.436-1.17 0-1.615z"
89
- />
90
- </svg>
91
- </div>
92
- </div>
93
- </div>
94
- </div>
95
- </div>
96
- </form>
97
- </DocumentFragment>
98
- `;
99
-
100
- exports[`SingleStringSelectGroup has matching snapshot 1`] = `
101
- <DocumentFragment>
102
- <form
103
- action="#"
104
- class="envoc-form-form"
105
- >
106
- <div
107
- class="envoc-form-select-group envoc-form-group"
108
- >
109
- <div
110
- id="favoritecolor-error-scroll-target"
111
- style="display: none;"
112
- />
113
- <label
114
- for="favoriteColor"
115
- >
116
- Favorite Color
117
- </label>
118
- <div
119
- class="envoc-form-select-group css-b62m3t-container"
120
- >
121
- <span
122
- class="css-1f43avz-a11yText-A11yText"
123
- id="react-select-3-live-region"
124
- />
125
- <span
126
- aria-atomic="false"
127
- aria-live="polite"
128
- aria-relevant="additions text"
129
- class="css-1f43avz-a11yText-A11yText"
130
- />
131
- <div
132
- class="react-select__control css-13cymwt-control"
133
- >
134
- <div
135
- class="react-select__value-container css-16674sh-Component"
136
- >
137
- <div
138
- class="react-select__placeholder css-1jqq78o-placeholder"
139
- id="react-select-3-placeholder"
140
- >
141
- Select...
142
- </div>
143
- <div
144
- class="react-select__input-container css-d9r47t-Component"
145
- data-value=""
146
- >
147
- <input
148
- aria-autocomplete="list"
149
- aria-describedby="react-select-3-placeholder"
150
- aria-expanded="false"
151
- aria-haspopup="true"
152
- autocapitalize="none"
153
- autocomplete="off"
154
- autocorrect="off"
155
- class="react-select__input"
156
- id="favoriteColor"
157
- role="combobox"
158
- spellcheck="false"
159
- style="opacity: 1; width: 100%; grid-area: 1 / 2; min-width: 2px; border: 0px; margin: 0px; outline: 0; padding: 0px;"
160
- tabindex="0"
161
- type="text"
162
- value=""
163
- />
164
- </div>
165
- </div>
166
- <div
167
- class="react-select__indicators css-ny0e4k-Component"
168
- >
169
- <span
170
- class="react-select__indicator-separator css-1u9des2-indicatorSeparator"
171
- />
172
- <div
173
- aria-hidden="true"
174
- class="react-select__indicator react-select__dropdown-indicator css-1xc3v61-indicatorContainer"
175
- >
176
- <svg
177
- aria-hidden="true"
178
- class="css-tj5bde-Svg"
179
- focusable="false"
180
- height="20"
181
- viewBox="0 0 20 20"
182
- width="20"
183
- >
184
- <path
185
- d="M4.516 7.548c0.436-0.446 1.043-0.481 1.576 0l3.908 3.747 3.908-3.747c0.533-0.481 1.141-0.446 1.574 0 0.436 0.445 0.408 1.197 0 1.615-0.406 0.418-4.695 4.502-4.695 4.502-0.217 0.223-0.502 0.335-0.787 0.335s-0.57-0.112-0.789-0.335c0 0-4.287-4.084-4.695-4.502s-0.436-1.17 0-1.615z"
186
- />
187
- </svg>
188
- </div>
189
- </div>
190
- </div>
191
- </div>
192
- </div>
193
- </form>
194
- </DocumentFragment>
195
- `;
@@ -1,41 +0,0 @@
1
- import { MouseEventHandler } from 'react';
2
- import classNames from 'classnames';
3
- import { useFormikContext } from 'formik';
4
- import SubmitFormButton from './SubmitFormButton';
5
- import { FormDefaults } from './FormDefaults';
6
-
7
- export interface StandardFormActionsProps {
8
- /** Allow the form to be submitted without any changes. By default this is not allowed. */
9
- allowPristineSubmit?: boolean;
10
- /** The cancel button's `onClick`.
11
- * @defaultValue `window.history.back()`
12
- */
13
- handleCancel?: MouseEventHandler<HTMLButtonElement>;
14
- }
15
-
16
- /** Standard submit and cancel buttons. */
17
- export default function StandardFormActions({
18
- allowPristineSubmit,
19
- handleCancel,
20
- }: StandardFormActionsProps) {
21
- const { isSubmitting } = useFormikContext();
22
-
23
- return (
24
- <>
25
- <SubmitFormButton allowPristineSubmit={allowPristineSubmit} />
26
- &nbsp;
27
- <button
28
- className={classNames(
29
- FormDefaults.cssClassPrefix + 'standard-form-actions-cancel-button'
30
- )}
31
- type="button"
32
- disabled={isSubmitting}
33
- onClick={handleCancel || goBack}>
34
- Cancel
35
- </button>
36
- </>
37
- );
38
- function goBack() {
39
- window.history.back();
40
- }
41
- }
@@ -1,54 +0,0 @@
1
- import React, { LegacyRef } from 'react';
2
- import classNames from 'classnames';
3
- import { useFormikContext } from 'formik';
4
- import { FormDefaults } from './FormDefaults';
5
-
6
- export interface SubmitFormButtonProps
7
- extends Omit<React.HTMLProps<HTMLButtonElement>, 'type'> {
8
- /** Allow the form to be submitted without any changes. By default this is not allowed. */
9
- allowPristineSubmit?: boolean;
10
- /** Text to display on the button. Default text is 'Submit'. */
11
- children?: React.ReactNode;
12
- }
13
-
14
- function SubmitFormButton(
15
- {
16
- allowPristineSubmit,
17
- children,
18
- disabled,
19
- title,
20
- className,
21
- ...props
22
- }: SubmitFormButtonProps,
23
- ref: LegacyRef<HTMLButtonElement>
24
- ) {
25
- const { isSubmitting, dirty } = useFormikContext();
26
- const preventSubmit = (!dirty && !allowPristineSubmit) || isSubmitting;
27
- const buttonName = typeof children === 'string' ? children : 'Submit';
28
- return (
29
- <button
30
- {...props}
31
- ref={ref}
32
- type="submit"
33
- disabled={preventSubmit || disabled}
34
- aria-label={buttonName}
35
- title={
36
- title || isSubmitting
37
- ? 'Loading, please wait...'
38
- : preventSubmit
39
- ? "You haven't made any changes"
40
- : ''
41
- }
42
- className={classNames(
43
- FormDefaults.cssClassPrefix + 'submit-form-button',
44
- className
45
- )}>
46
- {children || 'Submit'}
47
- </button>
48
- );
49
- }
50
-
51
- /** Generic submit button for forms. */
52
- export default React.forwardRef(
53
- SubmitFormButton
54
- ) as React.FunctionComponent<SubmitFormButtonProps>;
@@ -1,64 +0,0 @@
1
- import React, { LegacyRef } from 'react';
2
- import classNames from 'classnames';
3
- import { InjectedFieldProps } from '../Field/InjectedFieldProps';
4
- import { FormDefaults } from '../FormDefaults';
5
- import Group, { GroupProps } from '../Group';
6
-
7
- export interface TextAreaGroupProps
8
- extends InjectedFieldProps<string | undefined | null>,
9
- Omit<
10
- React.HTMLProps<HTMLTextAreaElement>,
11
- keyof InjectedFieldProps<any> | 'children' | 'className' | 'label'
12
- >,
13
- Omit<GroupProps, keyof InjectedFieldProps<any> | 'children'> {
14
- icon?: React.ReactNode;
15
- }
16
-
17
- function TextAreaGroup(
18
- {
19
- input,
20
- meta,
21
- label,
22
- helpText,
23
- className,
24
- required,
25
- disabled,
26
- icon,
27
- ...rest
28
- }: TextAreaGroupProps,
29
- ref: LegacyRef<HTMLTextAreaElement>
30
- ) {
31
- return (
32
- <Group
33
- input={input}
34
- meta={meta}
35
- required={required}
36
- disabled={disabled}
37
- label={label}
38
- helpText={helpText}
39
- className={classNames(
40
- className,
41
- FormDefaults.cssClassPrefix + 'text-area-group'
42
- )}>
43
- {icon}
44
- <textarea
45
- {...input}
46
- {...rest}
47
- value={input.value ?? ''}
48
- onChange={(val) => input.onChange(val.target.value)}
49
- ref={ref}
50
- className={classNames(
51
- className,
52
- FormDefaults.cssClassPrefix + 'text-area-group'
53
- )}
54
- />
55
- </Group>
56
- );
57
- }
58
-
59
- /** Generic controlled `<textarea/>` wrapped by a `<Group/>` */
60
- const TextAreaGroupWithRef = React.forwardRef(
61
- TextAreaGroup
62
- ) as React.ComponentType<TextAreaGroupProps>;
63
-
64
- export default TextAreaGroupWithRef;
@@ -1,8 +0,0 @@
1
- import { ValidationError } from './ValidationError';
2
-
3
- // TODO: this means that all template projects MUST have this API shape - thoughts?
4
- /** The root result from a typical envoc API call when forms are returned */
5
- export interface ValidatedApiResult {
6
- validationFailures?: ValidationError[];
7
- hasErrors?: boolean;
8
- }
@@ -1,6 +0,0 @@
1
- // TODO: this means that all template projects MUST have this API shape - thoughts?
2
- /** Represents a server side validation failure - only 'standard' for envoc */
3
- export interface ValidationError {
4
- propertyName?: string;
5
- errorMessage?: string;
6
- }
@@ -1,4 +0,0 @@
1
- /** Client side validation function */
2
- export interface ValidationFunction<TValue> {
3
- (value: TValue): string | undefined;
4
- }
@@ -1,81 +0,0 @@
1
- import { integer, length, maxLength, maxValue, minValue } from './validators';
2
-
3
- describe('integer validator', () => {
4
- it('accepts an integer', () => {
5
- const returned = integer('123');
6
- expect(returned).toBe(undefined);
7
- });
8
-
9
- it("doesn't accept a float", () => {
10
- const returned = integer('123.5569');
11
- expect(returned).toBe('Must be a whole number');
12
- });
13
- });
14
-
15
- describe('length validator', () => {
16
- it('fails for invalid Length', () => {
17
- const length10 = length(10);
18
- const tooLong = length10('01234567890');
19
- const tooShort = length10('aaa');
20
- expect(tooLong).toBe('Length must be 10');
21
- expect(tooShort).toBe('Length must be 10');
22
- });
23
-
24
- it('succeeds for correct length', () => {
25
- const length10 = length(10);
26
- const validString = length10('0123456789');
27
- const validNumber = length10(1234567890);
28
- expect(validString).toBe(undefined);
29
- expect(validNumber).toBe(undefined);
30
- });
31
- });
32
-
33
- describe('maxValue validator', () => {
34
- it('fails for invalid value', () => {
35
- const maxValue10 = maxValue(10);
36
- const tooBig = maxValue10(11);
37
- expect(tooBig).toBe('Maximum value 10 exceeded');
38
- });
39
-
40
- it('succeeds for valid value', () => {
41
- const maxValue10 = maxValue(10);
42
- const maxAllowable = maxValue10(10);
43
- const lowAllowable = maxValue10(1);
44
- expect(maxAllowable).toBe(undefined);
45
- expect(lowAllowable).toBe(undefined);
46
- });
47
- });
48
-
49
- describe('minValue validator', () => {
50
- it('fails for invalid value', () => {
51
- const minValue10 = minValue(10);
52
- const tooSmall = minValue10(9);
53
- expect(tooSmall).toBe('Minimum value 10 not met');
54
- });
55
-
56
- it('succeeds for valid value', () => {
57
- const minValue10 = minValue(10);
58
- const minAllowable = minValue10(10);
59
- const highAllowable = minValue10(15);
60
- expect(minAllowable).toBe(undefined);
61
- expect(highAllowable).toBe(undefined);
62
- });
63
- });
64
-
65
- describe('maxLength validator', () => {
66
- it('fails for invalid value', () => {
67
- const maxLength10 = maxLength(10);
68
- const stringTooLong = maxLength10('012345678910');
69
- const numberTooLong = maxLength10(1234567890123);
70
- expect(stringTooLong).toBe('Maximum length 10 exceeded');
71
- expect(numberTooLong).toBe('Maximum length 10 exceeded');
72
- });
73
-
74
- it('succeeds for valid value', () => {
75
- const maxLength10 = maxLength(10);
76
- const exactMatch = maxLength10('0123456789');
77
- const shortValid = maxLength10('0123');
78
- expect(exactMatch).toBe(undefined);
79
- expect(shortValid).toBe(undefined);
80
- });
81
- });