envoc-form 4.0.1-9 → 5.0.1

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (276) hide show
  1. package/README.md +5173 -12
  2. package/es/AddressInput/AddressInput.d.ts +24 -15
  3. package/es/AddressInput/AddressInput.js +20 -21
  4. package/es/AddressInput/UsStates.d.ts +3 -3
  5. package/es/AddressInput/UsStates.js +53 -53
  6. package/es/ConfirmBaseForm/ConfirmBaseForm.d.ts +26 -12
  7. package/es/ConfirmBaseForm/ConfirmBaseForm.js +42 -36
  8. package/es/ConfirmDeleteForm/ConfirmDeleteForm.d.ts +24 -11
  9. package/es/ConfirmDeleteForm/ConfirmDeleteForm.js +60 -55
  10. package/es/DatePicker/DatePickerGroup.d.ts +13 -9
  11. package/es/DatePicker/DatePickerGroup.js +87 -77
  12. package/es/DatePicker/DatePickerHelper.d.ts +3 -3
  13. package/es/DatePicker/DatePickerHelper.js +1 -1
  14. package/es/DatePicker/StringDateOnlyPickerGroup.d.ts +9 -5
  15. package/es/DatePicker/StringDateOnlyPickerGroup.js +29 -24
  16. package/es/DatePicker/StringDatePickerGroup.d.ts +9 -5
  17. package/es/DatePicker/StringDatePickerGroup.js +24 -19
  18. package/es/Field/CustomFieldInputProps.d.ts +7 -7
  19. package/es/Field/CustomFieldInputProps.js +1 -1
  20. package/es/Field/CustomFieldMetaProps.d.ts +4 -4
  21. package/es/Field/CustomFieldMetaProps.js +1 -1
  22. package/es/Field/Field.d.ts +28 -22
  23. package/es/Field/Field.js +51 -46
  24. package/es/Field/FieldErrorScrollTarget.d.ts +2 -2
  25. package/es/Field/FieldErrorScrollTarget.js +12 -11
  26. package/es/Field/FieldNameContext.d.ts +3 -3
  27. package/es/Field/FieldNameContext.js +3 -3
  28. package/es/Field/FieldSection.d.ts +7 -7
  29. package/es/Field/FieldSection.js +9 -20
  30. package/es/Field/InjectedFieldProps.d.ts +7 -7
  31. package/es/Field/InjectedFieldProps.js +1 -1
  32. package/es/Field/StandAloneInput.d.ts +13 -9
  33. package/es/Field/StandAloneInput.js +50 -49
  34. package/es/Field/useStandardField.d.ts +21 -15
  35. package/es/Field/useStandardField.js +92 -93
  36. package/es/FieldArray/FieldArray.d.ts +24 -15
  37. package/es/FieldArray/FieldArray.js +77 -83
  38. package/es/File/FileGroup.d.ts +10 -8
  39. package/es/File/FileGroup.js +53 -52
  40. package/es/File/FileList.d.ts +5 -6
  41. package/es/File/FileList.js +10 -21
  42. package/es/File/humanFileSize.d.ts +1 -1
  43. package/es/File/humanFileSize.js +6 -6
  44. package/es/Form/FocusError.d.ts +7 -5
  45. package/es/Form/FocusError.js +42 -41
  46. package/es/Form/Form.d.ts +33 -27
  47. package/es/Form/Form.js +141 -140
  48. package/es/Form/FormBasedPreventNavigation.d.ts +6 -5
  49. package/es/Form/FormBasedPreventNavigation.js +20 -53
  50. package/es/Form/LegacyFormBasedPreventNavigation.d.ts +17 -0
  51. package/es/Form/LegacyFormBasedPreventNavigation.js +69 -0
  52. package/es/Form/NewFormBasedPreventNavigation.d.ts +14 -0
  53. package/es/Form/NewFormBasedPreventNavigation.js +39 -0
  54. package/es/Form/ServerErrorContext.d.ts +11 -10
  55. package/es/Form/ServerErrorContext.js +9 -8
  56. package/es/FormActions.d.ts +12 -7
  57. package/es/FormActions.js +16 -26
  58. package/es/FormDefaults.d.ts +4 -3
  59. package/es/FormDefaults.js +2 -1
  60. package/es/Group.d.ts +16 -13
  61. package/es/Group.js +14 -24
  62. package/es/Input/IconInputGroup.d.ts +12 -9
  63. package/es/Input/IconInputGroup.js +43 -41
  64. package/es/Input/InputGroup.d.ts +12 -12
  65. package/es/Input/InputGroup.js +34 -34
  66. package/es/Input/MoneyInputGroup.d.ts +9 -7
  67. package/es/Input/MoneyInputGroup.js +43 -42
  68. package/es/Input/NumberInputGroup.d.ts +9 -7
  69. package/es/Input/NumberInputGroup.js +43 -42
  70. package/es/Input/StringInputGroup.d.ts +8 -7
  71. package/es/Input/StringInputGroup.js +43 -41
  72. package/es/Normalization/NormalizationFunction.d.ts +4 -4
  73. package/es/Normalization/NormalizationFunction.js +1 -1
  74. package/es/Normalization/normalizers.d.ts +4 -2
  75. package/es/Normalization/normalizers.js +32 -30
  76. package/es/Select/BooleanSelectGroup.d.ts +7 -7
  77. package/es/Select/BooleanSelectGroup.js +28 -27
  78. package/es/Select/NumberSelectGroup.d.ts +9 -8
  79. package/es/Select/NumberSelectGroup.js +21 -19
  80. package/es/Select/SelectGroup.d.ts +27 -22
  81. package/es/Select/SelectGroup.js +65 -64
  82. package/es/Select/SelectGroupPropsHelper.d.ts +3 -3
  83. package/es/Select/SelectGroupPropsHelper.js +1 -1
  84. package/es/Select/StringSelectGroup.d.ts +9 -8
  85. package/es/Select/StringSelectGroup.js +21 -19
  86. package/es/StandardFormActions.d.ts +11 -6
  87. package/es/StandardFormActions.js +14 -24
  88. package/es/SubmitFormButton.d.ts +10 -7
  89. package/es/SubmitFormButton.js +40 -39
  90. package/es/TextArea/TextAreaGroup.d.ts +9 -8
  91. package/es/TextArea/TextAreaGroup.js +35 -34
  92. package/es/Validation/ValidatedApiResult.d.ts +6 -6
  93. package/es/Validation/ValidatedApiResult.js +1 -1
  94. package/es/Validation/ValidationError.d.ts +5 -5
  95. package/es/Validation/ValidationError.js +1 -1
  96. package/es/Validation/ValidationFunction.d.ts +4 -4
  97. package/es/Validation/ValidationFunction.js +1 -1
  98. package/es/Validation/validators.d.ts +18 -15
  99. package/es/Validation/validators.js +77 -73
  100. package/es/index.d.ts +73 -73
  101. package/es/index.js +50 -50
  102. package/es/setupTests.d.ts +1 -0
  103. package/es/setupTests.js +1 -0
  104. package/es/utils/objectContainsNonSerializableProperty.d.ts +1 -1
  105. package/es/utils/objectContainsNonSerializableProperty.js +14 -14
  106. package/es/utils/objectToFormData.d.ts +10 -10
  107. package/es/utils/objectToFormData.js +77 -77
  108. package/es/utils/typeChecks.d.ts +8 -8
  109. package/es/utils/typeChecks.js +18 -18
  110. package/lib/AddressInput/AddressInput.d.ts +24 -15
  111. package/lib/AddressInput/AddressInput.js +26 -27
  112. package/lib/AddressInput/UsStates.d.ts +3 -3
  113. package/lib/AddressInput/UsStates.js +55 -55
  114. package/lib/ConfirmBaseForm/ConfirmBaseForm.d.ts +26 -12
  115. package/lib/ConfirmBaseForm/ConfirmBaseForm.js +48 -42
  116. package/lib/ConfirmDeleteForm/ConfirmDeleteForm.d.ts +24 -11
  117. package/lib/ConfirmDeleteForm/ConfirmDeleteForm.js +66 -61
  118. package/lib/DatePicker/DatePickerGroup.d.ts +13 -9
  119. package/lib/DatePicker/DatePickerGroup.js +95 -85
  120. package/lib/DatePicker/DatePickerHelper.d.ts +3 -3
  121. package/lib/DatePicker/DatePickerHelper.js +2 -2
  122. package/lib/DatePicker/StringDateOnlyPickerGroup.d.ts +9 -5
  123. package/lib/DatePicker/StringDateOnlyPickerGroup.js +35 -30
  124. package/lib/DatePicker/StringDatePickerGroup.d.ts +9 -5
  125. package/lib/DatePicker/StringDatePickerGroup.js +30 -25
  126. package/lib/Field/CustomFieldInputProps.d.ts +7 -7
  127. package/lib/Field/CustomFieldInputProps.js +2 -2
  128. package/lib/Field/CustomFieldMetaProps.d.ts +4 -4
  129. package/lib/Field/CustomFieldMetaProps.js +2 -2
  130. package/lib/Field/Field.d.ts +28 -22
  131. package/lib/Field/Field.js +56 -51
  132. package/lib/Field/FieldErrorScrollTarget.d.ts +2 -2
  133. package/lib/Field/FieldErrorScrollTarget.js +15 -14
  134. package/lib/Field/FieldNameContext.d.ts +3 -3
  135. package/lib/Field/FieldNameContext.js +9 -9
  136. package/lib/Field/FieldSection.d.ts +7 -7
  137. package/lib/Field/FieldSection.js +12 -23
  138. package/lib/Field/InjectedFieldProps.d.ts +7 -7
  139. package/lib/Field/InjectedFieldProps.js +2 -2
  140. package/lib/Field/StandAloneInput.d.ts +13 -9
  141. package/lib/Field/StandAloneInput.js +76 -75
  142. package/lib/Field/useStandardField.d.ts +21 -15
  143. package/lib/Field/useStandardField.js +95 -96
  144. package/lib/FieldArray/FieldArray.d.ts +24 -15
  145. package/lib/FieldArray/FieldArray.js +83 -89
  146. package/lib/File/FileGroup.d.ts +10 -8
  147. package/lib/File/FileGroup.js +58 -57
  148. package/lib/File/FileList.d.ts +5 -6
  149. package/lib/File/FileList.js +13 -24
  150. package/lib/File/humanFileSize.d.ts +1 -1
  151. package/lib/File/humanFileSize.js +10 -10
  152. package/lib/Form/FocusError.d.ts +7 -5
  153. package/lib/Form/FocusError.js +48 -47
  154. package/lib/Form/Form.d.ts +33 -27
  155. package/lib/Form/Form.js +147 -146
  156. package/lib/Form/FormBasedPreventNavigation.d.ts +6 -5
  157. package/lib/Form/FormBasedPreventNavigation.js +26 -56
  158. package/lib/Form/LegacyFormBasedPreventNavigation.d.ts +17 -0
  159. package/lib/Form/LegacyFormBasedPreventNavigation.js +72 -0
  160. package/lib/Form/NewFormBasedPreventNavigation.d.ts +14 -0
  161. package/lib/Form/NewFormBasedPreventNavigation.js +42 -0
  162. package/lib/Form/ServerErrorContext.d.ts +11 -10
  163. package/lib/Form/ServerErrorContext.js +15 -14
  164. package/lib/FormActions.d.ts +12 -7
  165. package/lib/FormActions.js +22 -32
  166. package/lib/FormDefaults.d.ts +4 -3
  167. package/lib/FormDefaults.js +5 -4
  168. package/lib/Group.d.ts +16 -13
  169. package/lib/Group.js +20 -30
  170. package/lib/Input/IconInputGroup.d.ts +12 -9
  171. package/lib/Input/IconInputGroup.js +48 -46
  172. package/lib/Input/InputGroup.d.ts +12 -12
  173. package/lib/Input/InputGroup.js +39 -39
  174. package/lib/Input/MoneyInputGroup.d.ts +9 -7
  175. package/lib/Input/MoneyInputGroup.js +48 -47
  176. package/lib/Input/NumberInputGroup.d.ts +9 -7
  177. package/lib/Input/NumberInputGroup.js +48 -47
  178. package/lib/Input/StringInputGroup.d.ts +8 -7
  179. package/lib/Input/StringInputGroup.js +48 -46
  180. package/lib/Normalization/NormalizationFunction.d.ts +4 -4
  181. package/lib/Normalization/NormalizationFunction.js +2 -2
  182. package/lib/Normalization/normalizers.d.ts +4 -2
  183. package/lib/Normalization/normalizers.js +37 -35
  184. package/lib/Select/BooleanSelectGroup.d.ts +7 -7
  185. package/lib/Select/BooleanSelectGroup.js +35 -34
  186. package/lib/Select/NumberSelectGroup.d.ts +9 -8
  187. package/lib/Select/NumberSelectGroup.js +29 -27
  188. package/lib/Select/SelectGroup.d.ts +27 -22
  189. package/lib/Select/SelectGroup.js +71 -70
  190. package/lib/Select/SelectGroupPropsHelper.d.ts +3 -3
  191. package/lib/Select/SelectGroupPropsHelper.js +2 -2
  192. package/lib/Select/StringSelectGroup.d.ts +9 -8
  193. package/lib/Select/StringSelectGroup.js +29 -27
  194. package/lib/StandardFormActions.d.ts +11 -6
  195. package/lib/StandardFormActions.js +20 -30
  196. package/lib/SubmitFormButton.d.ts +10 -7
  197. package/lib/SubmitFormButton.js +45 -44
  198. package/lib/TextArea/TextAreaGroup.d.ts +9 -8
  199. package/lib/TextArea/TextAreaGroup.js +40 -39
  200. package/lib/Validation/ValidatedApiResult.d.ts +6 -6
  201. package/lib/Validation/ValidatedApiResult.js +2 -2
  202. package/lib/Validation/ValidationError.d.ts +5 -5
  203. package/lib/Validation/ValidationError.js +2 -2
  204. package/lib/Validation/ValidationFunction.d.ts +4 -4
  205. package/lib/Validation/ValidationFunction.js +2 -2
  206. package/lib/Validation/validators.d.ts +18 -15
  207. package/lib/Validation/validators.js +90 -86
  208. package/lib/index.d.ts +73 -73
  209. package/lib/index.js +117 -117
  210. package/lib/setupTests.d.ts +1 -0
  211. package/lib/setupTests.js +3 -0
  212. package/lib/utils/objectContainsNonSerializableProperty.d.ts +1 -1
  213. package/lib/utils/objectContainsNonSerializableProperty.js +17 -17
  214. package/lib/utils/objectToFormData.d.ts +10 -10
  215. package/lib/utils/objectToFormData.js +79 -79
  216. package/lib/utils/typeChecks.d.ts +8 -8
  217. package/lib/utils/typeChecks.js +29 -29
  218. package/package.json +14 -11
  219. package/src/AddressInput/AddressInput.tsx +15 -5
  220. package/src/AddressInput/__snapshots__/AddressInput.test.tsx.snap +14 -12
  221. package/src/ConfirmBaseForm/ConfirmBaseForm.tsx +14 -0
  222. package/src/ConfirmDeleteForm/ConfirmDeleteForm.tsx +13 -0
  223. package/src/DatePicker/DatePicker.test.tsx +1 -1
  224. package/src/DatePicker/DatePickerGroup.tsx +18 -7
  225. package/src/DatePicker/StringDateOnlyPickerGroup.tsx +7 -2
  226. package/src/DatePicker/StringDatePickerGroup.tsx +7 -1
  227. package/src/Field/Field.tsx +20 -7
  228. package/src/Field/FieldErrorScrollTarget.tsx +1 -0
  229. package/src/Field/StandAloneInput.tsx +4 -0
  230. package/src/Field/useStandardField.ts +13 -9
  231. package/src/FieldArray/FieldArray.tsx +14 -5
  232. package/src/File/FileGroup.tsx +9 -3
  233. package/src/File/FileList.tsx +2 -2
  234. package/src/Form/FocusError.tsx +3 -0
  235. package/src/Form/Form.tsx +6 -0
  236. package/src/Form/FormBasedPreventNavigation.tsx +28 -46
  237. package/src/Form/LegacyFormBasedPreventNavigation.tsx +77 -0
  238. package/src/Form/NewFormBasedPreventNavigation.tsx +59 -0
  239. package/src/Form/ServerErrorContext.ts +1 -0
  240. package/src/FormActions.tsx +7 -0
  241. package/src/FormDefaults.ts +1 -0
  242. package/src/Group.tsx +12 -4
  243. package/src/Input/IconInputGroup.tsx +5 -2
  244. package/src/Input/InputGroup.tsx +13 -5
  245. package/src/Input/MoneyInputGroup.tsx +3 -1
  246. package/src/Input/NumberInputGroup.tsx +3 -1
  247. package/src/Input/StringInputGroup.tsx +3 -2
  248. package/src/Input/__Tests__/__snapshots__/IconInputGroup.test.tsx.snap +1 -0
  249. package/src/Input/__Tests__/__snapshots__/MoneyInputGroup.test.tsx.snap +1 -0
  250. package/src/Input/__Tests__/__snapshots__/NumberInputGroup.test.tsx.snap +1 -0
  251. package/src/Input/__Tests__/__snapshots__/StringInputGroup.test.tsx.snap +1 -0
  252. package/src/Normalization/normalizers.ts +4 -2
  253. package/src/Select/BooleanSelectGroup.tsx +2 -1
  254. package/src/Select/NumberSelectGroup.tsx +4 -2
  255. package/src/Select/SelectGroup.tsx +13 -2
  256. package/src/Select/StringSelectGroup.tsx +2 -0
  257. package/src/Select/__tests__/__snapshots__/BooleanSelectGroup.test.tsx.snap +6 -8
  258. package/src/Select/__tests__/__snapshots__/NumberSelectGroup.test.tsx.snap +12 -16
  259. package/src/Select/__tests__/__snapshots__/StringSelectGroup.test.tsx.snap +12 -16
  260. package/src/StandardFormActions.tsx +5 -0
  261. package/src/SubmitFormButton.tsx +5 -1
  262. package/src/TextArea/TextAreaGroup.tsx +6 -4
  263. package/src/Validation/validators.ts +19 -14
  264. package/src/__Tests__/FormTestBase.tsx +9 -8
  265. package/src/__Tests__/RealisticForm.test.tsx +82 -0
  266. package/src/index.ts +4 -4
  267. package/src/setupTests.ts +1 -0
  268. package/src/utils/objectToFormData.test.tsx +1 -1
  269. package/es/__Tests__/FormTestBase.d.ts +0 -27
  270. package/es/__Tests__/FormTestBase.js +0 -83
  271. package/es/__Tests__/index.d.ts +0 -2
  272. package/es/__Tests__/index.js +0 -2
  273. package/lib/__Tests__/FormTestBase.d.ts +0 -27
  274. package/lib/__Tests__/FormTestBase.js +0 -86
  275. package/lib/__Tests__/index.d.ts +0 -2
  276. package/lib/__Tests__/index.js +0 -8
@@ -1,2 +1,4 @@
1
- export declare const phoneNumber: (value: string | undefined) => string | undefined;
2
- export declare const zipCode: (value: string | undefined) => string | undefined;
1
+ /** Normalizer for converting a string into a valid phone number. */
2
+ export declare const phoneNumber: (value: string | undefined | null) => string | undefined;
3
+ /** Normalizer for converting a string into a valid zip code. Allows for XXXXX and XXXXX-XXXX format. */
4
+ export declare const zipCode: (value: string | undefined | null) => string | undefined;
@@ -1,30 +1,32 @@
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
- };
1
+ /** Normalizer for converting a string into a valid phone number. */
2
+ export var phoneNumber = function (value) {
3
+ if (!value) {
4
+ return undefined;
5
+ }
6
+ var onlyNums = value.replace(/[^\d]/g, '');
7
+ if (onlyNums.length <= 3) {
8
+ return onlyNums;
9
+ }
10
+ if (onlyNums.length <= 7) {
11
+ return "".concat(onlyNums.slice(0, 3), "-").concat(onlyNums.slice(3));
12
+ }
13
+ if (onlyNums.length <= 10) {
14
+ return "".concat(onlyNums.slice(0, 3), "-").concat(onlyNums.slice(3, 6), "-").concat(onlyNums.slice(6, 10));
15
+ }
16
+ if (onlyNums.length <= 13) {
17
+ var countryCodeLength = onlyNums.length - 10;
18
+ 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));
19
+ }
20
+ return onlyNums;
21
+ };
22
+ /** Normalizer for converting a string into a valid zip code. Allows for XXXXX and XXXXX-XXXX format. */
23
+ export var zipCode = function (value) {
24
+ if (!value) {
25
+ return undefined;
26
+ }
27
+ var onlyNums = value.replace(/[^\d]/g, '');
28
+ if (onlyNums.length > 5) {
29
+ return onlyNums.substring(0, 5) + '-' + onlyNums.substring(5, 9);
30
+ }
31
+ return onlyNums;
32
+ };
@@ -1,7 +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;
1
+ import { SelectOption } from './SelectGroup';
2
+ import { SelectGroupPropsHelper } from './SelectGroupPropsHelper';
3
+ export interface BooleanSelectGroupProps extends Omit<SelectGroupPropsHelper<boolean | undefined | null>, 'options'> {
4
+ options?: SelectOption<boolean>[];
5
+ }
6
+ /** A `<SelectGroup/>` dropdown with two options. Default options are 'Yes' and 'No' with values of `true` and `false`. */
7
+ export declare function BooleanSelectGroup(props: BooleanSelectGroupProps): import("react/jsx-runtime").JSX.Element;
@@ -1,27 +1,28 @@
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
- }
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
+ /** A `<SelectGroup/>` dropdown with two options. Default options are 'Yes' and 'No' with values of `true` and `false`. */
25
+ export function BooleanSelectGroup(props) {
26
+ var _a;
27
+ return (_jsx(SelectGroup, __assign({ multiple: false }, props, { options: (_a = props.options) !== null && _a !== void 0 ? _a : booleanOptions })));
28
+ }
@@ -1,8 +1,9 @@
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;
1
+ import { SelectGroupPropsHelper } from './SelectGroupPropsHelper';
2
+ export interface MultiNumberSelectGroupProps extends SelectGroupPropsHelper<number[] | undefined | null> {
3
+ }
4
+ /** A `<SelectGroup/>` dropdown with values as numbers. Many options can be selected at a time. */
5
+ export declare function MultiNumberSelectGroup(props: MultiNumberSelectGroupProps): import("react/jsx-runtime").JSX.Element;
6
+ export interface SingleNumberSelectGroupProps extends SelectGroupPropsHelper<number | undefined | null> {
7
+ }
8
+ /** A `<SelectGroup/>` dropdown with values as numbers. Only one option can be selected at a time. */
9
+ export declare function SingleNumberSelectGroup(props: SingleNumberSelectGroupProps): import("react/jsx-runtime").JSX.Element;
@@ -1,19 +1,21 @@
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
- }
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
+ /** A `<SelectGroup/>` dropdown with values as numbers. Many options can be selected at a time. */
15
+ export function MultiNumberSelectGroup(props) {
16
+ return _jsx(SelectGroup, __assign({ multiple: true }, props));
17
+ }
18
+ /** A `<SelectGroup/>` dropdown with values as numbers. Only one option can be selected at a time. */
19
+ export function SingleNumberSelectGroup(props) {
20
+ return _jsx(SelectGroup, __assign({ multiple: false }, props));
21
+ }
@@ -1,22 +1,27 @@
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 {};
1
+ import { InjectedFieldProps } from '../Field/InjectedFieldProps';
2
+ import { GroupProps } from '../Group';
3
+ export interface SelectOption<TValue> {
4
+ /** Value for the select. This will be sent to the API. */
5
+ value: (TValue extends Array<infer P> ? P : TValue) | undefined;
6
+ /** Label for the select. This is displayed to the user. */
7
+ label: string;
8
+ }
9
+ interface OptionsApiResult<TValue> {
10
+ result?: Partial<SelectOption<TValue>>[];
11
+ }
12
+ interface OptionsUseServiceResult<TValue> {
13
+ loading?: boolean;
14
+ resp?: Partial<SelectOption<TValue>>[] | OptionsApiResult<TValue> | null;
15
+ error?: any;
16
+ }
17
+ export interface SelectGroupProps<TValue> extends InjectedFieldProps<TValue | undefined | null>, Omit<GroupProps, 'input' | 'meta' | 'children'> {
18
+ /** Options for the dropdown. Includes the label and value. */
19
+ options: SelectOption<TValue>[] | OptionsUseServiceResult<TValue>;
20
+ /** Whether the user should be able to have multiple values selected. */
21
+ multiple: TValue extends Array<any> ? true : false;
22
+ /** Text diplayed when no value is selected. */
23
+ placeholder?: string;
24
+ }
25
+ /** Generic select dropdown. Uses [react-select](https://react-select.com/home). */
26
+ export default function SelectGroup<TValue>({ input, meta, className, required, disabled, options, multiple, placeholder, ...rest }: SelectGroupProps<TValue>): import("react/jsx-runtime").JSX.Element;
27
+ export {};
@@ -1,64 +1,65 @@
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
- import { FormDefaults } from '../FormDefaults';
28
- // TODO: we could also name this "ReactSelectGroup" or similar but the types are strongly defined now so kept the names consistent
29
- export default function SelectGroup(_a) {
30
- var _b;
31
- 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"]);
32
- var effectiveOptions = !options
33
- ? []
34
- : Array.isArray(options)
35
- ? options
36
- : 'resp' in options &&
37
- !!options.resp &&
38
- 'result' in options.resp &&
39
- !!options.resp.result
40
- ? options.resp.result
41
- : 'resp' in options && !!options.resp && Array.isArray(options.resp)
42
- ? options.resp
43
- : [];
44
- var isLoading = (options && 'loading' in options && options.loading) || false;
45
- return (_jsx(Group, __assign({}, rest, { input: input, meta: meta, className: classNames(className, (_b = {},
46
- _b[FormDefaults.cssClassPrefix + 'multiple'] = multiple,
47
- _b[FormDefaults.cssClassPrefix + 'loading'] = isLoading,
48
- _b), FormDefaults.cssClassPrefix + 'select-group') }, { children: _jsx(ReactSelect, { inputId: input.id, isMulti: multiple, options: effectiveOptions, onBlur: input.onBlur, value: getValue(), onChange: function (e) {
49
- if (multiple === true) {
50
- input.onChange(e === null || e === void 0 ? void 0 : e.map(function (x) { return x.value; }));
51
- }
52
- else {
53
- input.onChange(e === null || e === void 0 ? void 0 : e.value);
54
- }
55
- }, getOptionLabel: function (option) { var _a; return (_a = option === null || option === void 0 ? void 0 : option.label) !== null && _a !== void 0 ? _a : ''; }, className: classNames(className, FormDefaults.cssClassPrefix + 'select-group'), classNamePrefix: "react-select", menuPortalTarget: document.body, menuPlacement: "auto", placeholder: placeholder }) })));
56
- function getValue() {
57
- if (multiple) {
58
- return effectiveOptions.filter(function (o) {
59
- return Array.isArray(input.value) && !!input.value.find(function (x) { return o.value === x; });
60
- });
61
- }
62
- return effectiveOptions.find(function (o) { return o.value === input.value; });
63
- }
64
- }
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 { FormDefaults } from '../FormDefaults';
27
+ import Group from '../Group';
28
+ // TODO: we could also name this "ReactSelectGroup" or similar but the types are strongly defined now so kept the names consistent
29
+ /** Generic select dropdown. Uses [react-select](https://react-select.com/home). */
30
+ export default function SelectGroup(_a) {
31
+ var _b;
32
+ var input = _a.input, meta = _a.meta, className = _a.className, required = _a.required, disabled = _a.disabled, options = _a.options, multiple = _a.multiple, placeholder = _a.placeholder, rest = __rest(_a, ["input", "meta", "className", "required", "disabled", "options", "multiple", "placeholder"]);
33
+ var effectiveOptions = !options
34
+ ? []
35
+ : Array.isArray(options)
36
+ ? options
37
+ : 'resp' in options &&
38
+ !!options.resp &&
39
+ 'result' in options.resp &&
40
+ !!options.resp.result
41
+ ? options.resp.result
42
+ : 'resp' in options && !!options.resp && Array.isArray(options.resp)
43
+ ? options.resp
44
+ : [];
45
+ var isLoading = (options && 'loading' in options && options.loading) || false;
46
+ return (_jsx(Group, __assign({}, rest, { input: input, meta: meta, required: required, disabled: disabled, className: classNames(className, (_b = {},
47
+ _b[FormDefaults.cssClassPrefix + 'multiple'] = multiple,
48
+ _b[FormDefaults.cssClassPrefix + 'loading'] = isLoading,
49
+ _b), FormDefaults.cssClassPrefix + 'select-group'), children: _jsx(ReactSelect, { inputId: input.id, isMulti: multiple, isDisabled: disabled, options: effectiveOptions, onBlur: input.onBlur, value: getValue(), onChange: function (e) {
50
+ if (multiple === true) {
51
+ input.onChange(e === null || e === void 0 ? void 0 : e.map(function (x) { return x.value; }));
52
+ }
53
+ else {
54
+ input.onChange(e === null || e === void 0 ? void 0 : e.value);
55
+ }
56
+ }, getOptionLabel: function (option) { var _a; return (_a = option === null || option === void 0 ? void 0 : option.label) !== null && _a !== void 0 ? _a : ''; }, className: classNames(className, FormDefaults.cssClassPrefix + 'select-group'), classNamePrefix: "react-select", menuPortalTarget: document.body, menuPlacement: "auto", placeholder: placeholder }) })));
57
+ function getValue() {
58
+ if (multiple) {
59
+ return effectiveOptions.filter(function (o) {
60
+ return Array.isArray(input.value) && !!input.value.find(function (x) { return o.value === x; });
61
+ });
62
+ }
63
+ return effectiveOptions.find(function (o) { return o.value === input.value; });
64
+ }
65
+ }
@@ -1,3 +1,3 @@
1
- import { SelectGroupProps } from './SelectGroup';
2
- export interface SelectGroupPropsHelper<T> extends Omit<SelectGroupProps<T>, 'multiple'> {
3
- }
1
+ import { SelectGroupProps } from './SelectGroup';
2
+ export interface SelectGroupPropsHelper<T> extends Omit<SelectGroupProps<T>, 'multiple'> {
3
+ }
@@ -1 +1 @@
1
- export {};
1
+ export {};
@@ -1,8 +1,9 @@
1
- /// <reference types="react" />
2
- import { SelectGroupPropsHelper } from './SelectGroupPropsHelper';
3
- export interface MultiStringSelectGroupProps extends SelectGroupPropsHelper<string[]> {
4
- }
5
- export declare function MultiStringSelectGroup(props: MultiStringSelectGroupProps): JSX.Element;
6
- export interface SingleStringSelectGroupProps extends SelectGroupPropsHelper<string> {
7
- }
8
- export declare function SingleStringSelectGroup(props: SingleStringSelectGroupProps): JSX.Element;
1
+ import { SelectGroupPropsHelper } from './SelectGroupPropsHelper';
2
+ export interface MultiStringSelectGroupProps extends SelectGroupPropsHelper<string[]> {
3
+ }
4
+ /** A `<SelectGroup/>` dropdown with values as strings. Multiple options can be selected at a time. */
5
+ export declare function MultiStringSelectGroup(props: MultiStringSelectGroupProps): import("react/jsx-runtime").JSX.Element;
6
+ export interface SingleStringSelectGroupProps extends SelectGroupPropsHelper<string> {
7
+ }
8
+ /** A `<SelectGroup/>` dropdown with the value as a string. Only one option can be selected at a time. */
9
+ export declare function SingleStringSelectGroup(props: SingleStringSelectGroupProps): import("react/jsx-runtime").JSX.Element;
@@ -1,19 +1,21 @@
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 MultiStringSelectGroup(props) {
15
- return _jsx(SelectGroup, __assign({ multiple: true }, props));
16
- }
17
- export function SingleStringSelectGroup(props) {
18
- return _jsx(SelectGroup, __assign({ multiple: false }, props));
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
+ /** A `<SelectGroup/>` dropdown with values as strings. Multiple options can be selected at a time. */
15
+ export function MultiStringSelectGroup(props) {
16
+ return _jsx(SelectGroup, __assign({ multiple: true }, props));
17
+ }
18
+ /** A `<SelectGroup/>` dropdown with the value as a string. Only one option can be selected at a time. */
19
+ export function SingleStringSelectGroup(props) {
20
+ return _jsx(SelectGroup, __assign({ multiple: false }, props));
21
+ }
@@ -1,6 +1,11 @@
1
- import { MouseEventHandler } from 'react';
2
- export interface StandardFormActionsProps {
3
- allowPristineSubmit?: boolean;
4
- handleCancel?: MouseEventHandler<HTMLButtonElement>;
5
- }
6
- export default function StandardFormActions({ allowPristineSubmit, handleCancel, }: StandardFormActionsProps): JSX.Element;
1
+ import { MouseEventHandler } from 'react';
2
+ export interface StandardFormActionsProps {
3
+ /** Allow the form to be submitted without any changes. By default this is not allowed. */
4
+ allowPristineSubmit?: boolean;
5
+ /** The cancel button's `onClick`.
6
+ * @defaultValue `window.history.back()`
7
+ */
8
+ handleCancel?: MouseEventHandler<HTMLButtonElement>;
9
+ }
10
+ /** Standard submit and cancel buttons. */
11
+ export default function StandardFormActions({ allowPristineSubmit, handleCancel, }: StandardFormActionsProps): import("react/jsx-runtime").JSX.Element;
@@ -1,24 +1,14 @@
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 classNames from 'classnames';
14
- import { useFormikContext } from 'formik';
15
- import SubmitFormButton from './SubmitFormButton';
16
- import { FormDefaults } from './FormDefaults';
17
- export default function StandardFormActions(_a) {
18
- var allowPristineSubmit = _a.allowPristineSubmit, handleCancel = _a.handleCancel;
19
- var isSubmitting = useFormikContext().isSubmitting;
20
- return (_jsxs(_Fragment, { children: [_jsx(SubmitFormButton, { allowPristineSubmit: allowPristineSubmit }), "\u00A0", _jsx("button", __assign({ className: classNames(FormDefaults.cssClassPrefix + 'standard-form-actions-cancel-button'), type: "button", disabled: isSubmitting, onClick: handleCancel || goBack }, { children: "Cancel" }))] }));
21
- function goBack() {
22
- window.history.back();
23
- }
24
- }
1
+ import { jsx as _jsx, Fragment as _Fragment, jsxs as _jsxs } from "react/jsx-runtime";
2
+ import classNames from 'classnames';
3
+ import { useFormikContext } from 'formik';
4
+ import SubmitFormButton from './SubmitFormButton';
5
+ import { FormDefaults } from './FormDefaults';
6
+ /** Standard submit and cancel buttons. */
7
+ export default function StandardFormActions(_a) {
8
+ var allowPristineSubmit = _a.allowPristineSubmit, handleCancel = _a.handleCancel;
9
+ var isSubmitting = useFormikContext().isSubmitting;
10
+ return (_jsxs(_Fragment, { children: [_jsx(SubmitFormButton, { allowPristineSubmit: allowPristineSubmit }), "\u00A0", _jsx("button", { className: classNames(FormDefaults.cssClassPrefix + 'standard-form-actions-cancel-button'), type: "button", disabled: isSubmitting, onClick: handleCancel || goBack, children: "Cancel" })] }));
11
+ function goBack() {
12
+ window.history.back();
13
+ }
14
+ }
@@ -1,7 +1,10 @@
1
- import React from 'react';
2
- export interface SubmitFormButtonProps extends Omit<React.HTMLProps<HTMLButtonElement>, 'type'> {
3
- allowPristineSubmit?: boolean;
4
- children?: React.ReactNode;
5
- }
6
- declare const _default: React.ComponentType<SubmitFormButtonProps>;
7
- export default _default;
1
+ import React from 'react';
2
+ export interface SubmitFormButtonProps extends Omit<React.HTMLProps<HTMLButtonElement>, 'type'> {
3
+ /** Allow the form to be submitted without any changes. By default this is not allowed. */
4
+ allowPristineSubmit?: boolean;
5
+ /** Text to display on the button. Default text is 'Submit'. */
6
+ children?: React.ReactNode;
7
+ }
8
+ /** Generic submit button for forms. */
9
+ declare const _default: React.FunctionComponent<SubmitFormButtonProps>;
10
+ export default _default;