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.
- package/README.md +5173 -12
- package/es/AddressInput/AddressInput.d.ts +24 -15
- package/es/AddressInput/AddressInput.js +20 -21
- package/es/AddressInput/UsStates.d.ts +3 -3
- package/es/AddressInput/UsStates.js +53 -53
- package/es/ConfirmBaseForm/ConfirmBaseForm.d.ts +26 -12
- package/es/ConfirmBaseForm/ConfirmBaseForm.js +42 -36
- package/es/ConfirmDeleteForm/ConfirmDeleteForm.d.ts +24 -11
- package/es/ConfirmDeleteForm/ConfirmDeleteForm.js +60 -55
- package/es/DatePicker/DatePickerGroup.d.ts +13 -9
- package/es/DatePicker/DatePickerGroup.js +87 -77
- package/es/DatePicker/DatePickerHelper.d.ts +3 -3
- package/es/DatePicker/DatePickerHelper.js +1 -1
- package/es/DatePicker/StringDateOnlyPickerGroup.d.ts +9 -5
- package/es/DatePicker/StringDateOnlyPickerGroup.js +29 -24
- package/es/DatePicker/StringDatePickerGroup.d.ts +9 -5
- package/es/DatePicker/StringDatePickerGroup.js +24 -19
- package/es/Field/CustomFieldInputProps.d.ts +7 -7
- package/es/Field/CustomFieldInputProps.js +1 -1
- package/es/Field/CustomFieldMetaProps.d.ts +4 -4
- package/es/Field/CustomFieldMetaProps.js +1 -1
- package/es/Field/Field.d.ts +28 -22
- package/es/Field/Field.js +51 -46
- package/es/Field/FieldErrorScrollTarget.d.ts +2 -2
- package/es/Field/FieldErrorScrollTarget.js +12 -11
- package/es/Field/FieldNameContext.d.ts +3 -3
- package/es/Field/FieldNameContext.js +3 -3
- package/es/Field/FieldSection.d.ts +7 -7
- package/es/Field/FieldSection.js +9 -20
- package/es/Field/InjectedFieldProps.d.ts +7 -7
- package/es/Field/InjectedFieldProps.js +1 -1
- package/es/Field/StandAloneInput.d.ts +13 -9
- package/es/Field/StandAloneInput.js +50 -49
- package/es/Field/useStandardField.d.ts +21 -15
- package/es/Field/useStandardField.js +92 -93
- package/es/FieldArray/FieldArray.d.ts +24 -15
- package/es/FieldArray/FieldArray.js +77 -83
- package/es/File/FileGroup.d.ts +10 -8
- package/es/File/FileGroup.js +53 -52
- package/es/File/FileList.d.ts +5 -6
- package/es/File/FileList.js +10 -21
- package/es/File/humanFileSize.d.ts +1 -1
- package/es/File/humanFileSize.js +6 -6
- package/es/Form/FocusError.d.ts +7 -5
- package/es/Form/FocusError.js +42 -41
- package/es/Form/Form.d.ts +33 -27
- package/es/Form/Form.js +141 -140
- package/es/Form/FormBasedPreventNavigation.d.ts +6 -5
- package/es/Form/FormBasedPreventNavigation.js +20 -53
- package/es/Form/LegacyFormBasedPreventNavigation.d.ts +17 -0
- package/es/Form/LegacyFormBasedPreventNavigation.js +69 -0
- package/es/Form/NewFormBasedPreventNavigation.d.ts +14 -0
- package/es/Form/NewFormBasedPreventNavigation.js +39 -0
- package/es/Form/ServerErrorContext.d.ts +11 -10
- package/es/Form/ServerErrorContext.js +9 -8
- package/es/FormActions.d.ts +12 -7
- package/es/FormActions.js +16 -26
- package/es/FormDefaults.d.ts +4 -3
- package/es/FormDefaults.js +2 -1
- package/es/Group.d.ts +16 -13
- package/es/Group.js +14 -24
- package/es/Input/IconInputGroup.d.ts +12 -9
- package/es/Input/IconInputGroup.js +43 -41
- package/es/Input/InputGroup.d.ts +12 -12
- package/es/Input/InputGroup.js +34 -34
- package/es/Input/MoneyInputGroup.d.ts +9 -7
- package/es/Input/MoneyInputGroup.js +43 -42
- package/es/Input/NumberInputGroup.d.ts +9 -7
- package/es/Input/NumberInputGroup.js +43 -42
- package/es/Input/StringInputGroup.d.ts +8 -7
- package/es/Input/StringInputGroup.js +43 -41
- package/es/Normalization/NormalizationFunction.d.ts +4 -4
- package/es/Normalization/NormalizationFunction.js +1 -1
- package/es/Normalization/normalizers.d.ts +4 -2
- package/es/Normalization/normalizers.js +32 -30
- package/es/Select/BooleanSelectGroup.d.ts +7 -7
- package/es/Select/BooleanSelectGroup.js +28 -27
- package/es/Select/NumberSelectGroup.d.ts +9 -8
- package/es/Select/NumberSelectGroup.js +21 -19
- package/es/Select/SelectGroup.d.ts +27 -22
- package/es/Select/SelectGroup.js +65 -64
- package/es/Select/SelectGroupPropsHelper.d.ts +3 -3
- package/es/Select/SelectGroupPropsHelper.js +1 -1
- package/es/Select/StringSelectGroup.d.ts +9 -8
- package/es/Select/StringSelectGroup.js +21 -19
- package/es/StandardFormActions.d.ts +11 -6
- package/es/StandardFormActions.js +14 -24
- package/es/SubmitFormButton.d.ts +10 -7
- package/es/SubmitFormButton.js +40 -39
- package/es/TextArea/TextAreaGroup.d.ts +9 -8
- package/es/TextArea/TextAreaGroup.js +35 -34
- package/es/Validation/ValidatedApiResult.d.ts +6 -6
- package/es/Validation/ValidatedApiResult.js +1 -1
- package/es/Validation/ValidationError.d.ts +5 -5
- package/es/Validation/ValidationError.js +1 -1
- package/es/Validation/ValidationFunction.d.ts +4 -4
- package/es/Validation/ValidationFunction.js +1 -1
- package/es/Validation/validators.d.ts +18 -15
- package/es/Validation/validators.js +77 -73
- package/es/index.d.ts +73 -73
- package/es/index.js +50 -50
- package/es/setupTests.d.ts +1 -0
- package/es/setupTests.js +1 -0
- package/es/utils/objectContainsNonSerializableProperty.d.ts +1 -1
- package/es/utils/objectContainsNonSerializableProperty.js +14 -14
- package/es/utils/objectToFormData.d.ts +10 -10
- package/es/utils/objectToFormData.js +77 -77
- package/es/utils/typeChecks.d.ts +8 -8
- package/es/utils/typeChecks.js +18 -18
- package/lib/AddressInput/AddressInput.d.ts +24 -15
- package/lib/AddressInput/AddressInput.js +26 -27
- package/lib/AddressInput/UsStates.d.ts +3 -3
- package/lib/AddressInput/UsStates.js +55 -55
- package/lib/ConfirmBaseForm/ConfirmBaseForm.d.ts +26 -12
- package/lib/ConfirmBaseForm/ConfirmBaseForm.js +48 -42
- package/lib/ConfirmDeleteForm/ConfirmDeleteForm.d.ts +24 -11
- package/lib/ConfirmDeleteForm/ConfirmDeleteForm.js +66 -61
- package/lib/DatePicker/DatePickerGroup.d.ts +13 -9
- package/lib/DatePicker/DatePickerGroup.js +95 -85
- package/lib/DatePicker/DatePickerHelper.d.ts +3 -3
- package/lib/DatePicker/DatePickerHelper.js +2 -2
- package/lib/DatePicker/StringDateOnlyPickerGroup.d.ts +9 -5
- package/lib/DatePicker/StringDateOnlyPickerGroup.js +35 -30
- package/lib/DatePicker/StringDatePickerGroup.d.ts +9 -5
- package/lib/DatePicker/StringDatePickerGroup.js +30 -25
- package/lib/Field/CustomFieldInputProps.d.ts +7 -7
- package/lib/Field/CustomFieldInputProps.js +2 -2
- package/lib/Field/CustomFieldMetaProps.d.ts +4 -4
- package/lib/Field/CustomFieldMetaProps.js +2 -2
- package/lib/Field/Field.d.ts +28 -22
- package/lib/Field/Field.js +56 -51
- package/lib/Field/FieldErrorScrollTarget.d.ts +2 -2
- package/lib/Field/FieldErrorScrollTarget.js +15 -14
- package/lib/Field/FieldNameContext.d.ts +3 -3
- package/lib/Field/FieldNameContext.js +9 -9
- package/lib/Field/FieldSection.d.ts +7 -7
- package/lib/Field/FieldSection.js +12 -23
- package/lib/Field/InjectedFieldProps.d.ts +7 -7
- package/lib/Field/InjectedFieldProps.js +2 -2
- package/lib/Field/StandAloneInput.d.ts +13 -9
- package/lib/Field/StandAloneInput.js +76 -75
- package/lib/Field/useStandardField.d.ts +21 -15
- package/lib/Field/useStandardField.js +95 -96
- package/lib/FieldArray/FieldArray.d.ts +24 -15
- package/lib/FieldArray/FieldArray.js +83 -89
- package/lib/File/FileGroup.d.ts +10 -8
- package/lib/File/FileGroup.js +58 -57
- package/lib/File/FileList.d.ts +5 -6
- package/lib/File/FileList.js +13 -24
- package/lib/File/humanFileSize.d.ts +1 -1
- package/lib/File/humanFileSize.js +10 -10
- package/lib/Form/FocusError.d.ts +7 -5
- package/lib/Form/FocusError.js +48 -47
- package/lib/Form/Form.d.ts +33 -27
- package/lib/Form/Form.js +147 -146
- package/lib/Form/FormBasedPreventNavigation.d.ts +6 -5
- package/lib/Form/FormBasedPreventNavigation.js +26 -56
- package/lib/Form/LegacyFormBasedPreventNavigation.d.ts +17 -0
- package/lib/Form/LegacyFormBasedPreventNavigation.js +72 -0
- package/lib/Form/NewFormBasedPreventNavigation.d.ts +14 -0
- package/lib/Form/NewFormBasedPreventNavigation.js +42 -0
- package/lib/Form/ServerErrorContext.d.ts +11 -10
- package/lib/Form/ServerErrorContext.js +15 -14
- package/lib/FormActions.d.ts +12 -7
- package/lib/FormActions.js +22 -32
- package/lib/FormDefaults.d.ts +4 -3
- package/lib/FormDefaults.js +5 -4
- package/lib/Group.d.ts +16 -13
- package/lib/Group.js +20 -30
- package/lib/Input/IconInputGroup.d.ts +12 -9
- package/lib/Input/IconInputGroup.js +48 -46
- package/lib/Input/InputGroup.d.ts +12 -12
- package/lib/Input/InputGroup.js +39 -39
- package/lib/Input/MoneyInputGroup.d.ts +9 -7
- package/lib/Input/MoneyInputGroup.js +48 -47
- package/lib/Input/NumberInputGroup.d.ts +9 -7
- package/lib/Input/NumberInputGroup.js +48 -47
- package/lib/Input/StringInputGroup.d.ts +8 -7
- package/lib/Input/StringInputGroup.js +48 -46
- package/lib/Normalization/NormalizationFunction.d.ts +4 -4
- package/lib/Normalization/NormalizationFunction.js +2 -2
- package/lib/Normalization/normalizers.d.ts +4 -2
- package/lib/Normalization/normalizers.js +37 -35
- package/lib/Select/BooleanSelectGroup.d.ts +7 -7
- package/lib/Select/BooleanSelectGroup.js +35 -34
- package/lib/Select/NumberSelectGroup.d.ts +9 -8
- package/lib/Select/NumberSelectGroup.js +29 -27
- package/lib/Select/SelectGroup.d.ts +27 -22
- package/lib/Select/SelectGroup.js +71 -70
- package/lib/Select/SelectGroupPropsHelper.d.ts +3 -3
- package/lib/Select/SelectGroupPropsHelper.js +2 -2
- package/lib/Select/StringSelectGroup.d.ts +9 -8
- package/lib/Select/StringSelectGroup.js +29 -27
- package/lib/StandardFormActions.d.ts +11 -6
- package/lib/StandardFormActions.js +20 -30
- package/lib/SubmitFormButton.d.ts +10 -7
- package/lib/SubmitFormButton.js +45 -44
- package/lib/TextArea/TextAreaGroup.d.ts +9 -8
- package/lib/TextArea/TextAreaGroup.js +40 -39
- package/lib/Validation/ValidatedApiResult.d.ts +6 -6
- package/lib/Validation/ValidatedApiResult.js +2 -2
- package/lib/Validation/ValidationError.d.ts +5 -5
- package/lib/Validation/ValidationError.js +2 -2
- package/lib/Validation/ValidationFunction.d.ts +4 -4
- package/lib/Validation/ValidationFunction.js +2 -2
- package/lib/Validation/validators.d.ts +18 -15
- package/lib/Validation/validators.js +90 -86
- package/lib/index.d.ts +73 -73
- package/lib/index.js +117 -117
- package/lib/setupTests.d.ts +1 -0
- package/lib/setupTests.js +3 -0
- package/lib/utils/objectContainsNonSerializableProperty.d.ts +1 -1
- package/lib/utils/objectContainsNonSerializableProperty.js +17 -17
- package/lib/utils/objectToFormData.d.ts +10 -10
- package/lib/utils/objectToFormData.js +79 -79
- package/lib/utils/typeChecks.d.ts +8 -8
- package/lib/utils/typeChecks.js +29 -29
- package/package.json +14 -11
- package/src/AddressInput/AddressInput.tsx +15 -5
- package/src/AddressInput/__snapshots__/AddressInput.test.tsx.snap +14 -12
- package/src/ConfirmBaseForm/ConfirmBaseForm.tsx +14 -0
- package/src/ConfirmDeleteForm/ConfirmDeleteForm.tsx +13 -0
- package/src/DatePicker/DatePicker.test.tsx +1 -1
- package/src/DatePicker/DatePickerGroup.tsx +18 -7
- package/src/DatePicker/StringDateOnlyPickerGroup.tsx +7 -2
- package/src/DatePicker/StringDatePickerGroup.tsx +7 -1
- package/src/Field/Field.tsx +20 -7
- package/src/Field/FieldErrorScrollTarget.tsx +1 -0
- package/src/Field/StandAloneInput.tsx +4 -0
- package/src/Field/useStandardField.ts +13 -9
- package/src/FieldArray/FieldArray.tsx +14 -5
- package/src/File/FileGroup.tsx +9 -3
- package/src/File/FileList.tsx +2 -2
- package/src/Form/FocusError.tsx +3 -0
- package/src/Form/Form.tsx +6 -0
- package/src/Form/FormBasedPreventNavigation.tsx +28 -46
- package/src/Form/LegacyFormBasedPreventNavigation.tsx +77 -0
- package/src/Form/NewFormBasedPreventNavigation.tsx +59 -0
- package/src/Form/ServerErrorContext.ts +1 -0
- package/src/FormActions.tsx +7 -0
- package/src/FormDefaults.ts +1 -0
- package/src/Group.tsx +12 -4
- package/src/Input/IconInputGroup.tsx +5 -2
- package/src/Input/InputGroup.tsx +13 -5
- package/src/Input/MoneyInputGroup.tsx +3 -1
- package/src/Input/NumberInputGroup.tsx +3 -1
- package/src/Input/StringInputGroup.tsx +3 -2
- package/src/Input/__Tests__/__snapshots__/IconInputGroup.test.tsx.snap +1 -0
- package/src/Input/__Tests__/__snapshots__/MoneyInputGroup.test.tsx.snap +1 -0
- package/src/Input/__Tests__/__snapshots__/NumberInputGroup.test.tsx.snap +1 -0
- package/src/Input/__Tests__/__snapshots__/StringInputGroup.test.tsx.snap +1 -0
- package/src/Normalization/normalizers.ts +4 -2
- package/src/Select/BooleanSelectGroup.tsx +2 -1
- package/src/Select/NumberSelectGroup.tsx +4 -2
- package/src/Select/SelectGroup.tsx +13 -2
- package/src/Select/StringSelectGroup.tsx +2 -0
- package/src/Select/__tests__/__snapshots__/BooleanSelectGroup.test.tsx.snap +6 -8
- package/src/Select/__tests__/__snapshots__/NumberSelectGroup.test.tsx.snap +12 -16
- package/src/Select/__tests__/__snapshots__/StringSelectGroup.test.tsx.snap +12 -16
- package/src/StandardFormActions.tsx +5 -0
- package/src/SubmitFormButton.tsx +5 -1
- package/src/TextArea/TextAreaGroup.tsx +6 -4
- package/src/Validation/validators.ts +19 -14
- package/src/__Tests__/FormTestBase.tsx +9 -8
- package/src/__Tests__/RealisticForm.test.tsx +82 -0
- package/src/index.ts +4 -4
- package/src/setupTests.ts +1 -0
- package/src/utils/objectToFormData.test.tsx +1 -1
- package/es/__Tests__/FormTestBase.d.ts +0 -27
- package/es/__Tests__/FormTestBase.js +0 -83
- package/es/__Tests__/index.d.ts +0 -2
- package/es/__Tests__/index.js +0 -2
- package/lib/__Tests__/FormTestBase.d.ts +0 -27
- package/lib/__Tests__/FormTestBase.js +0 -86
- package/lib/__Tests__/index.d.ts +0 -2
- package/lib/__Tests__/index.js +0 -8
@@ -1,2 +1,4 @@
|
|
1
|
-
|
2
|
-
export declare const
|
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
|
-
|
2
|
-
|
3
|
-
|
4
|
-
|
5
|
-
|
6
|
-
|
7
|
-
|
8
|
-
|
9
|
-
|
10
|
-
|
11
|
-
|
12
|
-
|
13
|
-
|
14
|
-
|
15
|
-
|
16
|
-
|
17
|
-
|
18
|
-
|
19
|
-
|
20
|
-
|
21
|
-
|
22
|
-
|
23
|
-
|
24
|
-
|
25
|
-
|
26
|
-
|
27
|
-
|
28
|
-
|
29
|
-
|
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
|
-
|
2
|
-
import {
|
3
|
-
|
4
|
-
|
5
|
-
|
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
|
-
|
25
|
-
|
26
|
-
|
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
|
-
|
2
|
-
|
3
|
-
|
4
|
-
|
5
|
-
export declare function MultiNumberSelectGroup(props: MultiNumberSelectGroupProps): JSX.Element;
|
6
|
-
export interface SingleNumberSelectGroupProps extends SelectGroupPropsHelper<number> {
|
7
|
-
}
|
8
|
-
|
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
|
-
|
15
|
-
|
16
|
-
}
|
17
|
-
|
18
|
-
|
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
|
-
|
2
|
-
import {
|
3
|
-
|
4
|
-
|
5
|
-
value: (TValue extends Array<infer P> ? P : TValue) | undefined;
|
6
|
-
|
7
|
-
|
8
|
-
|
9
|
-
|
10
|
-
|
11
|
-
|
12
|
-
|
13
|
-
|
14
|
-
|
15
|
-
|
16
|
-
|
17
|
-
|
18
|
-
|
19
|
-
|
20
|
-
|
21
|
-
|
22
|
-
|
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 {};
|
package/es/Select/SelectGroup.js
CHANGED
@@ -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
|
27
|
-
import
|
28
|
-
// TODO: we could also name this "ReactSelectGroup" or similar but the types are strongly defined now so kept the names consistent
|
29
|
-
|
30
|
-
|
31
|
-
var
|
32
|
-
var
|
33
|
-
|
34
|
-
|
35
|
-
|
36
|
-
|
37
|
-
|
38
|
-
|
39
|
-
|
40
|
-
|
41
|
-
|
42
|
-
|
43
|
-
|
44
|
-
|
45
|
-
|
46
|
-
|
47
|
-
_b[FormDefaults.cssClassPrefix + '
|
48
|
-
_b
|
49
|
-
|
50
|
-
|
51
|
-
|
52
|
-
|
53
|
-
|
54
|
-
|
55
|
-
|
56
|
-
|
57
|
-
|
58
|
-
|
59
|
-
|
60
|
-
|
61
|
-
|
62
|
-
|
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
|
-
|
2
|
-
|
3
|
-
|
4
|
-
|
5
|
-
export declare function MultiStringSelectGroup(props: MultiStringSelectGroupProps): JSX.Element;
|
6
|
-
export interface SingleStringSelectGroupProps extends SelectGroupPropsHelper<string> {
|
7
|
-
}
|
8
|
-
|
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
|
-
|
15
|
-
|
16
|
-
}
|
17
|
-
|
18
|
-
|
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
|
-
|
4
|
-
|
5
|
-
|
6
|
-
|
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
|
-
|
2
|
-
|
3
|
-
|
4
|
-
|
5
|
-
|
6
|
-
|
7
|
-
|
8
|
-
|
9
|
-
|
10
|
-
return
|
11
|
-
|
12
|
-
|
13
|
-
|
14
|
-
|
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
|
+
}
|
package/es/SubmitFormButton.d.ts
CHANGED
@@ -1,7 +1,10 @@
|
|
1
|
-
import React from 'react';
|
2
|
-
export interface SubmitFormButtonProps extends Omit<React.HTMLProps<HTMLButtonElement>, 'type'> {
|
3
|
-
|
4
|
-
|
5
|
-
|
6
|
-
|
7
|
-
|
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;
|