envoc-form 5.0.3 → 5.0.6
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 +163 -20
- package/es/ConfirmBaseForm/ConfirmBaseForm.js +2 -2
- package/es/DatePicker/DatePickerGroup.js +2 -2
- package/es/FieldArray/FieldArray.js +4 -4
- package/es/File/FileGroup.js +3 -3
- package/es/Form/Form.js +2 -2
- package/es/Group.js +3 -3
- package/es/Input/CheckboxGroup.d.ts +6 -0
- package/es/Input/CheckboxGroup.js +14 -0
- package/es/Input/CheckboxInputGroup.d.ts +13 -0
- package/es/Input/CheckboxInputGroup.js +41 -0
- package/es/Input/IconInputGroup.js +2 -2
- package/es/Input/InputGroup.js +2 -2
- package/es/Input/MoneyInputGroup.js +2 -2
- package/es/Input/NumberInputGroup.js +2 -2
- package/es/Input/PhoneNumberInputGroup.js +2 -2
- package/es/Input/StringInputGroup.js +2 -2
- package/es/Select/SelectGroup.js +3 -3
- package/es/StandardFormActions.js +3 -3
- package/es/SubmitFormButton.js +2 -2
- package/es/TextArea/TextAreaGroup.js +2 -2
- package/es/index.d.ts +2 -0
- package/es/index.js +1 -0
- package/lib/ConfirmBaseForm/ConfirmBaseForm.js +2 -5
- package/lib/DatePicker/DatePickerGroup.js +2 -2
- package/lib/FieldArray/FieldArray.js +4 -4
- package/lib/File/FileGroup.js +3 -3
- package/lib/Form/Form.js +2 -2
- package/lib/Group.js +3 -3
- package/lib/Input/CheckboxGroup.d.ts +6 -0
- package/lib/Input/CheckboxGroup.js +20 -0
- package/lib/Input/CheckboxInputGroup.d.ts +13 -0
- package/lib/Input/CheckboxInputGroup.js +46 -0
- package/lib/Input/IconInputGroup.js +2 -2
- package/lib/Input/InputGroup.js +2 -2
- package/lib/Input/MoneyInputGroup.js +2 -2
- package/lib/Input/NumberInputGroup.js +2 -2
- package/lib/Input/PhoneNumberInputGroup.js +2 -2
- package/lib/Input/StringInputGroup.js +2 -2
- package/lib/Select/SelectGroup.js +3 -3
- package/lib/StandardFormActions.js +3 -3
- package/lib/SubmitFormButton.js +2 -2
- package/lib/TextArea/TextAreaGroup.js +2 -2
- package/lib/index.d.ts +2 -0
- package/lib/index.js +3 -1
- package/package.json +111 -111
- package/src/AddressInput/AddressInput.test.tsx +27 -27
- package/src/AddressInput/AddressInput.tsx +82 -82
- package/src/AddressInput/UsStates.ts +55 -55
- package/src/AddressInput/__snapshots__/AddressInput.test.tsx.snap +182 -182
- package/src/ConfirmBaseForm/ConfirmBaseForm.test.tsx +24 -24
- package/src/ConfirmBaseForm/ConfirmBaseForm.tsx +74 -74
- package/src/ConfirmBaseForm/__snapshots__/ConfirmBaseForm.test.tsx.snap +23 -23
- package/src/ConfirmDeleteForm/ConfirmDeleteForm.test.tsx +24 -24
- package/src/ConfirmDeleteForm/ConfirmDeleteForm.tsx +87 -87
- package/src/ConfirmDeleteForm/__snapshots__/ConfirmDeleteForm.test.tsx.snap +25 -25
- package/src/DatePicker/DatePicker.test.tsx +48 -48
- package/src/DatePicker/DatePickerGroup.tsx +109 -115
- package/src/DatePicker/DatePickerHelper.ts +4 -4
- package/src/DatePicker/StringDateOnlyPickerGroup.tsx +28 -28
- package/src/DatePicker/StringDatePickerGroup.tsx +20 -20
- package/src/DatePicker/__snapshots__/DatePicker.test.tsx.snap +152 -152
- package/src/Field/CustomFieldInputProps.ts +10 -10
- package/src/Field/CustomFieldMetaProps.ts +5 -5
- package/src/Field/Field.tsx +113 -113
- package/src/Field/FieldErrorScrollTarget.tsx +12 -12
- package/src/Field/FieldNameContext.ts +6 -6
- package/src/Field/FieldSection.tsx +18 -18
- package/src/Field/InjectedFieldProps.ts +8 -8
- package/src/Field/StandAloneInput.tsx +55 -55
- package/src/Field/useStandardField.ts +125 -125
- package/src/FieldArray/FieldArray.tsx +154 -154
- package/src/File/FileGroup.test.tsx +35 -35
- package/src/File/FileGroup.tsx +82 -85
- package/src/File/FileList.tsx +21 -21
- package/src/File/__snapshots__/FileGroup.test.tsx.snap +34 -34
- package/src/File/humanFileSize.ts +8 -8
- package/src/Form/FocusError.tsx +55 -55
- package/src/Form/Form.test.tsx +14 -14
- package/src/Form/Form.tsx +234 -237
- package/src/Form/FormBasedPreventNavigation.tsx +56 -56
- package/src/Form/LegacyFormBasedPreventNavigation.tsx +77 -77
- package/src/Form/NewFormBasedPreventNavigation.tsx +59 -59
- package/src/Form/ServerErrorContext.ts +18 -18
- package/src/Form/__snapshots__/Form.test.tsx.snap +10 -10
- package/src/FormActions.tsx +47 -47
- package/src/FormDefaults.ts +2 -2
- package/src/Group.tsx +62 -62
- package/src/Input/CheckboxGroup.tsx +60 -0
- package/src/Input/CheckboxInputGroup.tsx +78 -0
- package/src/Input/IconInputGroup.tsx +54 -54
- package/src/Input/InputGroup.tsx +66 -72
- package/src/Input/MoneyInputGroup.tsx +47 -50
- package/src/Input/NumberInputGroup.tsx +45 -48
- package/src/Input/PhoneNumberInputGroup.tsx +45 -45
- package/src/Input/StringInputGroup.tsx +50 -53
- package/src/Input/__Tests__/CheckboxInputGroup.test.tsx +26 -0
- package/src/Input/__Tests__/IconInputGroup.test.tsx +35 -35
- package/src/Input/__Tests__/MoneyInputGroup.test.tsx +37 -37
- package/src/Input/__Tests__/NumberInputGroup.test.tsx +35 -35
- package/src/Input/__Tests__/PhoneNumberInputGroup.test.tsx +36 -36
- package/src/Input/__Tests__/StringInputGroup.test.tsx +27 -27
- package/src/Input/__Tests__/__snapshots__/CheckboxInputGroup.test.tsx.snap +33 -0
- package/src/Input/__Tests__/__snapshots__/IconInputGroup.test.tsx.snap +32 -32
- package/src/Input/__Tests__/__snapshots__/MoneyInputGroup.test.tsx.snap +34 -34
- package/src/Input/__Tests__/__snapshots__/NumberInputGroup.test.tsx.snap +32 -32
- package/src/Input/__Tests__/__snapshots__/PhoneNumberInputGroup.test.tsx.snap +33 -33
- package/src/Input/__Tests__/__snapshots__/StringInputGroup.test.tsx.snap +31 -31
- package/src/Normalization/NormalizationFunction.ts +4 -4
- package/src/Normalization/normalizers.ts +44 -44
- package/src/Select/BooleanSelectGroup.tsx +28 -28
- package/src/Select/NumberSelectGroup.tsx +16 -16
- package/src/Select/SelectGroup.tsx +124 -124
- package/src/Select/SelectGroupPropsHelper.ts +4 -4
- package/src/Select/StringSelectGroup.tsx +16 -16
- package/src/Select/__tests__/BooleanSelectGroup.test.tsx +35 -35
- package/src/Select/__tests__/NumberSelectGroup.test.tsx +87 -87
- package/src/Select/__tests__/StringSelectGroup.test.tsx +89 -89
- package/src/Select/__tests__/__snapshots__/BooleanSelectGroup.test.tsx.snap +98 -98
- package/src/Select/__tests__/__snapshots__/NumberSelectGroup.test.tsx.snap +195 -195
- package/src/Select/__tests__/__snapshots__/StringSelectGroup.test.tsx.snap +195 -195
- package/src/StandardFormActions.tsx +41 -41
- package/src/SubmitFormButton.tsx +54 -54
- package/src/TextArea/TextAreaGroup.tsx +64 -64
- package/src/Validation/ValidatedApiResult.ts +8 -8
- package/src/Validation/ValidationError.ts +6 -6
- package/src/Validation/ValidationFunction.ts +4 -4
- package/src/Validation/validators.test.tsx +81 -81
- package/src/Validation/validators.ts +97 -97
- package/src/__Tests__/FormTestBase.tsx +65 -64
- package/src/__Tests__/RealisticForm.test.tsx +82 -82
- package/src/__Tests__/StandardFormActions.test.tsx +17 -17
- package/src/__Tests__/SubmitFormButton.test.tsx +17 -17
- package/src/__Tests__/__snapshots__/StandardFormActions.test.tsx.snap +27 -27
- package/src/__Tests__/__snapshots__/SubmitFormButton.test.tsx.snap +20 -20
- package/src/__Tests__/index.ts +3 -3
- package/src/_variables.scss +11 -11
- package/src/index.ts +156 -153
- package/src/react-app-env.d.ts +1 -1
- package/src/setupTests.ts +1 -1
- package/src/utils/objectContainsNonSerializableProperty.test.tsx +49 -49
- package/src/utils/objectContainsNonSerializableProperty.ts +17 -17
- package/src/utils/objectToFormData.test.tsx +76 -76
- package/src/utils/objectToFormData.ts +105 -105
- package/src/utils/typeChecks.ts +18 -18
@@ -1,13 +1,13 @@
|
|
1
1
|
import { jsx as _jsx, Fragment as _Fragment, jsxs as _jsxs } from "react/jsx-runtime";
|
2
|
-
import
|
2
|
+
import { clsx } from 'clsx';
|
3
3
|
import { useFormikContext } from 'formik';
|
4
|
-
import SubmitFormButton from './SubmitFormButton';
|
5
4
|
import { FormDefaults } from './FormDefaults';
|
5
|
+
import SubmitFormButton from './SubmitFormButton';
|
6
6
|
/** Standard submit and cancel buttons. */
|
7
7
|
export default function StandardFormActions(_a) {
|
8
8
|
var allowPristineSubmit = _a.allowPristineSubmit, handleCancel = _a.handleCancel;
|
9
9
|
var isSubmitting = useFormikContext().isSubmitting;
|
10
|
-
return (_jsxs(_Fragment, { children: [_jsx(SubmitFormButton, { allowPristineSubmit: allowPristineSubmit }), "\u00A0", _jsx("button", { className:
|
10
|
+
return (_jsxs(_Fragment, { children: [_jsx(SubmitFormButton, { allowPristineSubmit: allowPristineSubmit }), "\u00A0", _jsx("button", { className: clsx(FormDefaults.cssClassPrefix + 'standard-form-actions-cancel-button'), type: "button", disabled: isSubmitting, onClick: handleCancel || goBack, children: "Cancel" })] }));
|
11
11
|
function goBack() {
|
12
12
|
window.history.back();
|
13
13
|
}
|
package/es/SubmitFormButton.js
CHANGED
@@ -22,7 +22,7 @@ var __rest = (this && this.__rest) || function (s, e) {
|
|
22
22
|
};
|
23
23
|
import { jsx as _jsx } from "react/jsx-runtime";
|
24
24
|
import React from 'react';
|
25
|
-
import
|
25
|
+
import { clsx } from 'clsx';
|
26
26
|
import { useFormikContext } from 'formik';
|
27
27
|
import { FormDefaults } from './FormDefaults';
|
28
28
|
function SubmitFormButton(_a, ref) {
|
@@ -34,7 +34,7 @@ function SubmitFormButton(_a, ref) {
|
|
34
34
|
? 'Loading, please wait...'
|
35
35
|
: preventSubmit
|
36
36
|
? "You haven't made any changes"
|
37
|
-
: '', className:
|
37
|
+
: '', className: clsx(FormDefaults.cssClassPrefix + 'submit-form-button', className), children: children || 'Submit' })));
|
38
38
|
}
|
39
39
|
/** Generic submit button for forms. */
|
40
40
|
export default React.forwardRef(SubmitFormButton);
|
@@ -22,13 +22,13 @@ var __rest = (this && this.__rest) || function (s, e) {
|
|
22
22
|
};
|
23
23
|
import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
|
24
24
|
import React from 'react';
|
25
|
-
import
|
25
|
+
import { clsx } from 'clsx';
|
26
26
|
import { FormDefaults } from '../FormDefaults';
|
27
27
|
import Group from '../Group';
|
28
28
|
function TextAreaGroup(_a, ref) {
|
29
29
|
var _b;
|
30
30
|
var input = _a.input, meta = _a.meta, label = _a.label, helpText = _a.helpText, className = _a.className, required = _a.required, disabled = _a.disabled, icon = _a.icon, rest = __rest(_a, ["input", "meta", "label", "helpText", "className", "required", "disabled", "icon"]);
|
31
|
-
return (_jsxs(Group, { input: input, meta: meta, required: required, disabled: disabled, label: label, helpText: helpText, className:
|
31
|
+
return (_jsxs(Group, { input: input, meta: meta, required: required, disabled: disabled, label: label, helpText: helpText, className: clsx(className, FormDefaults.cssClassPrefix + 'text-area-group'), children: [icon, _jsx("textarea", __assign({}, input, rest, { value: (_b = input.value) !== null && _b !== void 0 ? _b : '', onChange: function (val) { return input.onChange(val.target.value); }, ref: ref, className: clsx(className, FormDefaults.cssClassPrefix + 'text-area-group') }))] }));
|
32
32
|
}
|
33
33
|
/** Generic controlled `<textarea/>` wrapped by a `<Group/>` */
|
34
34
|
var TextAreaGroupWithRef = React.forwardRef(TextAreaGroup);
|
package/es/index.d.ts
CHANGED
@@ -58,6 +58,8 @@ export { default as SelectGroup } from './Select/SelectGroup';
|
|
58
58
|
export type { SelectGroupProps, SelectOption } from './Select/SelectGroup';
|
59
59
|
export { BooleanSelectGroup } from './Select/BooleanSelectGroup';
|
60
60
|
export type { BooleanSelectGroupProps } from './Select/BooleanSelectGroup';
|
61
|
+
export { default as CheckboxInputGroup } from './Input/CheckboxInputGroup';
|
62
|
+
export type { CheckboxInputGroupProps } from './Input/CheckboxInputGroup';
|
61
63
|
export { MultiNumberSelectGroup, SingleNumberSelectGroup, } from './Select/NumberSelectGroup';
|
62
64
|
export type { MultiNumberSelectGroupProps, SingleNumberSelectGroupProps, } from './Select/NumberSelectGroup';
|
63
65
|
export type { SelectGroupPropsHelper } from './Select/SelectGroupPropsHelper';
|
package/es/index.js
CHANGED
@@ -40,6 +40,7 @@ export * as normalizers from './Normalization/normalizers';
|
|
40
40
|
// Select
|
41
41
|
export { default as SelectGroup } from './Select/SelectGroup';
|
42
42
|
export { BooleanSelectGroup } from './Select/BooleanSelectGroup';
|
43
|
+
export { default as CheckboxInputGroup } from './Input/CheckboxInputGroup';
|
43
44
|
export { MultiNumberSelectGroup, SingleNumberSelectGroup, } from './Select/NumberSelectGroup';
|
44
45
|
export { MultiStringSelectGroup, SingleStringSelectGroup, } from './Select/StringSelectGroup';
|
45
46
|
// Text Area
|
@@ -21,12 +21,9 @@ var __rest = (this && this.__rest) || function (s, e) {
|
|
21
21
|
}
|
22
22
|
return t;
|
23
23
|
};
|
24
|
-
var __importDefault = (this && this.__importDefault) || function (mod) {
|
25
|
-
return (mod && mod.__esModule) ? mod : { "default": mod };
|
26
|
-
};
|
27
24
|
Object.defineProperty(exports, "__esModule", { value: true });
|
28
25
|
var jsx_runtime_1 = require("react/jsx-runtime");
|
29
|
-
var
|
26
|
+
var clsx_1 = require("clsx");
|
30
27
|
var envoc_request_1 = require("envoc-request");
|
31
28
|
var FormDefaults_1 = require("../FormDefaults");
|
32
29
|
// TODO: ask about how we should use 'children'
|
@@ -40,7 +37,7 @@ function ConfirmBaseForm(_a) {
|
|
40
37
|
var handleCancel = _a.handleCancel, request = _a.request, style = _a.style, title = _a.title, confirmButtonText = _a.confirmButtonText, confirmButtonClass = _a.confirmButtonClass, children = _a.children, props = __rest(_a, ["handleCancel", "request", "style", "title", "confirmButtonText", "confirmButtonClass", "children"]);
|
41
38
|
var webRequest = (0, envoc_request_1.useAxiosRequest)(Object.assign({}, request, { autoExecute: false }));
|
42
39
|
var onCancel = handleCancel !== null && handleCancel !== void 0 ? handleCancel : goBack;
|
43
|
-
return ((0, jsx_runtime_1.jsxs)("div", __assign({ style: __assign({ textAlign: 'center' }, style) }, props, { children: [(0, jsx_runtime_1.jsx)("h3", { children: title }), children, (0, jsx_runtime_1.jsx)("button", { className: (0,
|
40
|
+
return ((0, jsx_runtime_1.jsxs)("div", __assign({ style: __assign({ textAlign: 'center' }, style) }, props, { children: [(0, jsx_runtime_1.jsx)("h3", { children: title }), children, (0, jsx_runtime_1.jsx)("button", { className: (0, clsx_1.clsx)(confirmButtonClass !== null && confirmButtonClass !== void 0 ? confirmButtonClass : FormDefaults_1.FormDefaults.cssClassPrefix + 'confirm-base-form-confirm-button'), type: "button", onClick: webRequest.submitRequest, children: confirmButtonText !== null && confirmButtonText !== void 0 ? confirmButtonText : 'Confirm' }), (0, jsx_runtime_1.jsx)("button", { className: (0, clsx_1.clsx)(FormDefaults_1.FormDefaults.cssClassPrefix + 'confirm-base-form-cancel-button'), type: "button", onClick: onCancel, children: "Cancel" })] })));
|
44
41
|
function goBack() {
|
45
42
|
window.history.back();
|
46
43
|
}
|
@@ -29,7 +29,7 @@ exports.convertToTimeZoneInsensitiveISOString = void 0;
|
|
29
29
|
var jsx_runtime_1 = require("react/jsx-runtime");
|
30
30
|
var react_1 = require("react");
|
31
31
|
var entry_nostyle_1 = __importDefault(require("react-date-picker/dist/entry.nostyle"));
|
32
|
-
var
|
32
|
+
var clsx_1 = require("clsx");
|
33
33
|
var parseISO_1 = __importDefault(require("date-fns/parseISO"));
|
34
34
|
var FormDefaults_1 = require("../FormDefaults");
|
35
35
|
var Group_1 = __importDefault(require("../Group"));
|
@@ -54,7 +54,7 @@ function DatePickerGroup(_a) {
|
|
54
54
|
}
|
55
55
|
}
|
56
56
|
}, [setDisplayDate, input.value]);
|
57
|
-
return ((0, jsx_runtime_1.jsx)(Group_1.default, { input: input, meta: meta, label: label, helpText: helpText, className: (0,
|
57
|
+
return ((0, jsx_runtime_1.jsx)(Group_1.default, { input: input, meta: meta, label: label, helpText: helpText, className: (0, clsx_1.clsx)(className, FormDefaults_1.FormDefaults.cssClassPrefix + 'date-picker'), required: required, disabled: disabled, children: (0, jsx_runtime_1.jsx)(entry_nostyle_1.default, __assign({}, rest, { className: (0, clsx_1.clsx)(FormDefaults_1.FormDefaults.cssClassPrefix + 'date-picker', className), value: displayDate, onChange: handleChange })) }));
|
58
58
|
function handleChange(e) {
|
59
59
|
var onChange = input.onChange;
|
60
60
|
if (onChange === null) {
|
@@ -24,7 +24,7 @@ var __importDefault = (this && this.__importDefault) || function (mod) {
|
|
24
24
|
};
|
25
25
|
Object.defineProperty(exports, "__esModule", { value: true });
|
26
26
|
var jsx_runtime_1 = require("react/jsx-runtime");
|
27
|
-
var
|
27
|
+
var clsx_1 = require("clsx");
|
28
28
|
var Field_1 = __importDefault(require("../Field/Field"));
|
29
29
|
var FieldNameContext_1 = require("../Field/FieldNameContext");
|
30
30
|
var useStandardField_1 = __importDefault(require("../Field/useStandardField"));
|
@@ -47,15 +47,15 @@ function FieldArray(_a) {
|
|
47
47
|
: Array.isArray(input.value)
|
48
48
|
? input.value
|
49
49
|
: [];
|
50
|
-
return ((0, jsx_runtime_1.jsxs)("div", { className: FormDefaults_1.FormDefaults.cssClassPrefix + 'field-array', children: [(0, jsx_runtime_1.jsxs)("div", { className: FormDefaults_1.FormDefaults.cssClassPrefix + 'field-array-header', children: [(0, jsx_runtime_1.jsx)("div", { className: FormDefaults_1.FormDefaults.cssClassPrefix + 'field-array-title', children: label }), (0, jsx_runtime_1.jsx)("button", { className: (0,
|
50
|
+
return ((0, jsx_runtime_1.jsxs)("div", { className: FormDefaults_1.FormDefaults.cssClassPrefix + 'field-array', children: [(0, jsx_runtime_1.jsxs)("div", { className: FormDefaults_1.FormDefaults.cssClassPrefix + 'field-array-header', children: [(0, jsx_runtime_1.jsx)("div", { className: FormDefaults_1.FormDefaults.cssClassPrefix + 'field-array-title', children: label }), (0, jsx_runtime_1.jsx)("button", { className: (0, clsx_1.clsx)(FormDefaults_1.FormDefaults.cssClassPrefix + 'add-array-item-button', (_b = {}, _b[FormDefaults_1.FormDefaults.cssClassPrefix + 'disabled'] = disabled, _b)), title: "Add Item", type: "button", onClick: addItem, children: "+" })] }), (0, jsx_runtime_1.jsx)("div", { className: FormDefaults_1.FormDefaults.cssClassPrefix + 'field-array-body', children: values.map(function (value, index) {
|
51
51
|
var _a, _b;
|
52
52
|
var itemName = "".concat(input.name, "[").concat(index, "]");
|
53
|
-
return ((0, jsx_runtime_1.jsxs)("div", { className: (0,
|
53
|
+
return ((0, jsx_runtime_1.jsxs)("div", { className: (0, clsx_1.clsx)(FormDefaults_1.FormDefaults.cssClassPrefix + 'field-array-item', (_a = {},
|
54
54
|
_a[FormDefaults_1.FormDefaults.cssClassPrefix + 'removed'] = value.isDeleted,
|
55
55
|
_a)), role: "listitem", children: [(0, jsx_runtime_1.jsx)(FieldNameContext_1.FieldNameContext.Provider, { value: itemName, children: children({
|
56
56
|
Field: Field_1.default,
|
57
57
|
FieldArray: FieldArray,
|
58
|
-
}) }), (0, jsx_runtime_1.jsx)("button", { className: (0,
|
58
|
+
}) }), (0, jsx_runtime_1.jsx)("button", { className: (0, clsx_1.clsx)(FormDefaults_1.FormDefaults.cssClassPrefix + 'remove-array-item-button', (_b = {}, _b[FormDefaults_1.FormDefaults.cssClassPrefix + 'disabled'] = disabled, _b)), type: "button", title: "Remove Item", onClick: function () { return removeItem(value); }, children: "-" })] }, (value && value['form-input-array-key']) ||
|
59
59
|
(value && value['id']) ||
|
60
60
|
itemName));
|
61
61
|
}) })] }));
|
package/lib/File/FileGroup.js
CHANGED
@@ -27,14 +27,14 @@ var __importDefault = (this && this.__importDefault) || function (mod) {
|
|
27
27
|
Object.defineProperty(exports, "__esModule", { value: true });
|
28
28
|
var jsx_runtime_1 = require("react/jsx-runtime");
|
29
29
|
var react_1 = __importDefault(require("react"));
|
30
|
-
var
|
30
|
+
var clsx_1 = require("clsx");
|
31
31
|
var FileList_1 = __importDefault(require("./FileList"));
|
32
32
|
var FormDefaults_1 = require("../FormDefaults");
|
33
33
|
var Group_1 = __importDefault(require("../Group"));
|
34
34
|
function FileGroup(_a, ref) {
|
35
35
|
var _b;
|
36
36
|
var input = _a.input, meta = _a.meta, label = _a.label, helpText = _a.helpText, className = _a.className, required = _a.required, disabled = _a.disabled, multiple = _a.multiple, rest = __rest(_a, ["input", "meta", "label", "helpText", "className", "required", "disabled", "multiple"]);
|
37
|
-
return ((0, jsx_runtime_1.jsxs)(Group_1.default, { input: input, meta: meta, label: label, helpText: helpText, className: (0,
|
37
|
+
return ((0, jsx_runtime_1.jsxs)(Group_1.default, { input: input, meta: meta, label: label, helpText: helpText, className: (0, clsx_1.clsx)(className, (_b = {}, _b[FormDefaults_1.FormDefaults.cssClassPrefix + 'multiple'] = multiple, _b), FormDefaults_1.FormDefaults.cssClassPrefix + 'file-group'), required: required, disabled: disabled, children: [(0, jsx_runtime_1.jsx)("input", __assign({}, input, rest, { multiple: multiple, onChange: function (e) {
|
38
38
|
var _a, _b;
|
39
39
|
if (!((_b = (_a = e === null || e === void 0 ? void 0 : e.target) === null || _a === void 0 ? void 0 : _a.files) === null || _b === void 0 ? void 0 : _b.length)) {
|
40
40
|
input.onChange(undefined);
|
@@ -51,7 +51,7 @@ function FileGroup(_a, ref) {
|
|
51
51
|
input.onChange(files);
|
52
52
|
}
|
53
53
|
}
|
54
|
-
}, value: undefined, ref: ref, type: "file", className: (0,
|
54
|
+
}, value: undefined, ref: ref, type: "file", className: (0, clsx_1.clsx)(className, FormDefaults_1.FormDefaults.cssClassPrefix + 'file-group') })), (0, jsx_runtime_1.jsx)(FileList_1.default, { files: input.value })] }));
|
55
55
|
}
|
56
56
|
/** File upload input group. */
|
57
57
|
var FileGroupWithRef = react_1.default.forwardRef(FileGroup);
|
package/lib/Form/Form.js
CHANGED
@@ -27,7 +27,7 @@ var __importDefault = (this && this.__importDefault) || function (mod) {
|
|
27
27
|
Object.defineProperty(exports, "__esModule", { value: true });
|
28
28
|
var jsx_runtime_1 = require("react/jsx-runtime");
|
29
29
|
var react_1 = require("react");
|
30
|
-
var
|
30
|
+
var clsx_1 = require("clsx");
|
31
31
|
var formik_1 = require("formik");
|
32
32
|
var FocusError_1 = __importDefault(require("./FocusError"));
|
33
33
|
var FormBasedPreventNavigation_1 = __importDefault(require("./FormBasedPreventNavigation"));
|
@@ -59,7 +59,7 @@ function Form(_a) {
|
|
59
59
|
_a)));
|
60
60
|
},
|
61
61
|
}); }, [serverErrors]);
|
62
|
-
return ((0, jsx_runtime_1.jsx)(formik_1.Formik, __assign({ validateOnChange: false, validateOnBlur: true, validateOnMount: false, initialValues: initialValues || {}, onSubmit: handleSubmit }, props, { children: (0, jsx_runtime_1.jsx)(ServerErrorContext_1.ServerErrorContext.Provider, { value: serverErrorContextValue, children: (0, jsx_runtime_1.jsxs)(formik_1.Form, { className: (0,
|
62
|
+
return ((0, jsx_runtime_1.jsx)(formik_1.Formik, __assign({ validateOnChange: false, validateOnBlur: true, validateOnMount: false, initialValues: initialValues || {}, onSubmit: handleSubmit }, props, { children: (0, jsx_runtime_1.jsx)(ServerErrorContext_1.ServerErrorContext.Provider, { value: serverErrorContextValue, children: (0, jsx_runtime_1.jsxs)(formik_1.Form, { className: (0, clsx_1.clsx)(className, FormDefaults_1.FormDefaults.cssClassPrefix + 'form'), style: style, children: [(0, jsx_runtime_1.jsx)(FocusError_1.default, { serverErrors: serverErrorContextValue }), (0, jsx_runtime_1.jsx)(FormBasedPreventNavigation_1.default, { ignoreLostChanges: ignoreLostChanges }), children({
|
63
63
|
// hack for ref forwarding
|
64
64
|
Field: Field_1.default,
|
65
65
|
FieldArray: FieldArray_1.default,
|
package/lib/Group.js
CHANGED
@@ -4,14 +4,14 @@ var __importDefault = (this && this.__importDefault) || function (mod) {
|
|
4
4
|
};
|
5
5
|
Object.defineProperty(exports, "__esModule", { value: true });
|
6
6
|
var jsx_runtime_1 = require("react/jsx-runtime");
|
7
|
-
var
|
8
|
-
var FormDefaults_1 = require("./FormDefaults");
|
7
|
+
var clsx_1 = require("clsx");
|
9
8
|
var FieldErrorScrollTarget_1 = __importDefault(require("./Field/FieldErrorScrollTarget"));
|
9
|
+
var FormDefaults_1 = require("./FormDefaults");
|
10
10
|
/** Contains standard field bits like a label, helper text, error scroll target, validation message container, etc. */
|
11
11
|
function Group(_a) {
|
12
12
|
var _b;
|
13
13
|
var className = _a.className, children = _a.children, label = _a.label, helpText = _a.helpText, meta = _a.meta, input = _a.input, disabled = _a.disabled, required = _a.required;
|
14
|
-
return ((0, jsx_runtime_1.jsxs)("div", { className: (0,
|
14
|
+
return ((0, jsx_runtime_1.jsxs)("div", { className: (0, clsx_1.clsx)(className, FormDefaults_1.FormDefaults.cssClassPrefix + 'group', (_b = {},
|
15
15
|
_b[FormDefaults_1.FormDefaults.cssClassPrefix + 'invalid'] = meta.error,
|
16
16
|
_b[FormDefaults_1.FormDefaults.cssClassPrefix + 'disabled'] = disabled,
|
17
17
|
_b[FormDefaults_1.FormDefaults.cssClassPrefix + 'required'] = required,
|
@@ -0,0 +1,6 @@
|
|
1
|
+
import { GroupProps } from '../Group';
|
2
|
+
export interface CheckboxGroupProps extends GroupProps {
|
3
|
+
labelOnLeft?: boolean;
|
4
|
+
}
|
5
|
+
/** Contains standard field bits like a label, helper text, error scroll target, validation message container, etc. */
|
6
|
+
export default function CheckboxGroup({ className, children, label, helpText, meta, input, disabled, required, labelOnLeft, }: CheckboxGroupProps): import("react/jsx-runtime").JSX.Element;
|
@@ -0,0 +1,20 @@
|
|
1
|
+
"use strict";
|
2
|
+
var __importDefault = (this && this.__importDefault) || function (mod) {
|
3
|
+
return (mod && mod.__esModule) ? mod : { "default": mod };
|
4
|
+
};
|
5
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
6
|
+
var jsx_runtime_1 = require("react/jsx-runtime");
|
7
|
+
var clsx_1 = require("clsx");
|
8
|
+
var FieldErrorScrollTarget_1 = __importDefault(require("../Field/FieldErrorScrollTarget"));
|
9
|
+
var FormDefaults_1 = require("../FormDefaults");
|
10
|
+
/** Contains standard field bits like a label, helper text, error scroll target, validation message container, etc. */
|
11
|
+
function CheckboxGroup(_a) {
|
12
|
+
var _b;
|
13
|
+
var className = _a.className, children = _a.children, label = _a.label, helpText = _a.helpText, meta = _a.meta, input = _a.input, disabled = _a.disabled, required = _a.required, labelOnLeft = _a.labelOnLeft;
|
14
|
+
return ((0, jsx_runtime_1.jsxs)("div", { className: (0, clsx_1.clsx)(className, FormDefaults_1.FormDefaults.cssClassPrefix + 'group', (_b = {},
|
15
|
+
_b[FormDefaults_1.FormDefaults.cssClassPrefix + 'invalid'] = meta.error,
|
16
|
+
_b[FormDefaults_1.FormDefaults.cssClassPrefix + 'disabled'] = disabled,
|
17
|
+
_b[FormDefaults_1.FormDefaults.cssClassPrefix + 'required'] = required,
|
18
|
+
_b)), children: [(0, jsx_runtime_1.jsx)(FieldErrorScrollTarget_1.default, {}), meta.warning && ((0, jsx_runtime_1.jsx)("div", { className: FormDefaults_1.FormDefaults.cssClassPrefix + 'warning', children: meta.warning })), (0, jsx_runtime_1.jsx)("div", { className: FormDefaults_1.FormDefaults.cssClassPrefix + 'checkbox-group-input', children: labelOnLeft ? ((0, jsx_runtime_1.jsxs)(jsx_runtime_1.Fragment, { children: [(0, jsx_runtime_1.jsx)("label", { htmlFor: input.id, children: label }), children] })) : ((0, jsx_runtime_1.jsxs)(jsx_runtime_1.Fragment, { children: [children, (0, jsx_runtime_1.jsx)("label", { htmlFor: input.id, children: label })] })) }), meta.error && ((0, jsx_runtime_1.jsx)("div", { id: "".concat(input.id, "-error"), className: FormDefaults_1.FormDefaults.cssClassPrefix + 'error', children: meta.error })), helpText && ((0, jsx_runtime_1.jsx)("div", { className: FormDefaults_1.FormDefaults.cssClassPrefix + 'help', children: helpText }))] }));
|
19
|
+
}
|
20
|
+
exports.default = CheckboxGroup;
|
@@ -0,0 +1,13 @@
|
|
1
|
+
import React from 'react';
|
2
|
+
import { InputGroupProps } from './InputGroup';
|
3
|
+
export interface CheckboxInputGroupProps extends Omit<InputGroupProps<boolean | undefined | null>, 'onChange' | 'type' | 'value'> {
|
4
|
+
labelOnLeft?: boolean;
|
5
|
+
}
|
6
|
+
/** Standard checkbox input. Value defaults to `undefined` with no user input and no initial values.
|
7
|
+
*
|
8
|
+
* If the user should be required to decide yes / no before submission, consider using `BooleanSelectGroup`.
|
9
|
+
*
|
10
|
+
* If the user should be required to check the box before submission, use the `required` prop.
|
11
|
+
*/
|
12
|
+
declare const CheckboxInputGroupWithRef: React.ComponentType<CheckboxInputGroupProps>;
|
13
|
+
export default CheckboxInputGroupWithRef;
|
@@ -0,0 +1,46 @@
|
|
1
|
+
"use strict";
|
2
|
+
var __assign = (this && this.__assign) || function () {
|
3
|
+
__assign = Object.assign || function(t) {
|
4
|
+
for (var s, i = 1, n = arguments.length; i < n; i++) {
|
5
|
+
s = arguments[i];
|
6
|
+
for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p))
|
7
|
+
t[p] = s[p];
|
8
|
+
}
|
9
|
+
return t;
|
10
|
+
};
|
11
|
+
return __assign.apply(this, arguments);
|
12
|
+
};
|
13
|
+
var __rest = (this && this.__rest) || function (s, e) {
|
14
|
+
var t = {};
|
15
|
+
for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p) && e.indexOf(p) < 0)
|
16
|
+
t[p] = s[p];
|
17
|
+
if (s != null && typeof Object.getOwnPropertySymbols === "function")
|
18
|
+
for (var i = 0, p = Object.getOwnPropertySymbols(s); i < p.length; i++) {
|
19
|
+
if (e.indexOf(p[i]) < 0 && Object.prototype.propertyIsEnumerable.call(s, p[i]))
|
20
|
+
t[p[i]] = s[p[i]];
|
21
|
+
}
|
22
|
+
return t;
|
23
|
+
};
|
24
|
+
var __importDefault = (this && this.__importDefault) || function (mod) {
|
25
|
+
return (mod && mod.__esModule) ? mod : { "default": mod };
|
26
|
+
};
|
27
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
28
|
+
var jsx_runtime_1 = require("react/jsx-runtime");
|
29
|
+
var react_1 = __importDefault(require("react"));
|
30
|
+
var clsx_1 = require("clsx");
|
31
|
+
var CheckboxGroup_1 = __importDefault(require("./CheckboxGroup"));
|
32
|
+
var FormDefaults_1 = require("../FormDefaults");
|
33
|
+
function CheckboxInputGroup(_a, ref) {
|
34
|
+
var input = _a.input, meta = _a.meta, disabled = _a.disabled, label = _a.label, required = _a.required, helpText = _a.helpText, className = _a.className, labelOnLeft = _a.labelOnLeft, rest = __rest(_a, ["input", "meta", "disabled", "label", "required", "helpText", "className", "labelOnLeft"]);
|
35
|
+
return ((0, jsx_runtime_1.jsx)(CheckboxGroup_1.default, { input: input, meta: meta, disabled: disabled, required: required, label: label, helpText: helpText, labelOnLeft: labelOnLeft, className: (0, clsx_1.clsx)(className, FormDefaults_1.FormDefaults.cssClassPrefix + 'checkbox-group', { 'label-on-left': labelOnLeft }, { 'label-on-right': !labelOnLeft }), children: (0, jsx_runtime_1.jsx)("input", __assign({}, rest, { type: "checkbox", "aria-invalid": !!meta.error, "aria-errormessage": !!meta.error ? "".concat(input.name, "-error") : undefined, className: (0, clsx_1.clsx)(className, FormDefaults_1.FormDefaults.cssClassPrefix + 'checkbox-group'), checked: input.value === true, onChange: function (e) {
|
36
|
+
input.onChange(e.target.checked);
|
37
|
+
}, disabled: disabled, required: required, onBlur: input.onBlur, id: input.id, name: input.name, ref: ref })) }));
|
38
|
+
}
|
39
|
+
/** Standard checkbox input. Value defaults to `undefined` with no user input and no initial values.
|
40
|
+
*
|
41
|
+
* If the user should be required to decide yes / no before submission, consider using `BooleanSelectGroup`.
|
42
|
+
*
|
43
|
+
* If the user should be required to check the box before submission, use the `required` prop.
|
44
|
+
*/
|
45
|
+
var CheckboxInputGroupWithRef = react_1.default.forwardRef(CheckboxInputGroup);
|
46
|
+
exports.default = CheckboxInputGroupWithRef;
|
@@ -27,14 +27,14 @@ var __importDefault = (this && this.__importDefault) || function (mod) {
|
|
27
27
|
Object.defineProperty(exports, "__esModule", { value: true });
|
28
28
|
var jsx_runtime_1 = require("react/jsx-runtime");
|
29
29
|
var react_1 = __importDefault(require("react"));
|
30
|
-
var
|
30
|
+
var clsx_1 = require("clsx");
|
31
31
|
var InputGroup_1 = __importDefault(require("./InputGroup"));
|
32
32
|
var FormDefaults_1 = require("../FormDefaults");
|
33
33
|
function IconInputGroup(_a, ref) {
|
34
34
|
var _b;
|
35
35
|
var icon = _a.icon, className = _a.className, rest = __rest(_a, ["icon", "className"]);
|
36
36
|
var input = rest.input;
|
37
|
-
return ((0, jsx_runtime_1.jsx)(jsx_runtime_1.Fragment, { children: (0, jsx_runtime_1.jsx)(InputGroup_1.default, __assign({ icon: icon, ref: ref, className: (0,
|
37
|
+
return ((0, jsx_runtime_1.jsx)(jsx_runtime_1.Fragment, { children: (0, jsx_runtime_1.jsx)(InputGroup_1.default, __assign({ icon: icon, ref: ref, className: (0, clsx_1.clsx)(className, FormDefaults_1.FormDefaults.cssClassPrefix + 'icon-input-group'), value: (_b = input.value) !== null && _b !== void 0 ? _b : '', onChange: function (e) {
|
38
38
|
if (!e.target.value) {
|
39
39
|
input.onChange(undefined);
|
40
40
|
}
|
package/lib/Input/InputGroup.js
CHANGED
@@ -27,12 +27,12 @@ var __importDefault = (this && this.__importDefault) || function (mod) {
|
|
27
27
|
Object.defineProperty(exports, "__esModule", { value: true });
|
28
28
|
var jsx_runtime_1 = require("react/jsx-runtime");
|
29
29
|
var react_1 = __importDefault(require("react"));
|
30
|
-
var
|
30
|
+
var clsx_1 = require("clsx");
|
31
31
|
var FormDefaults_1 = require("../FormDefaults");
|
32
32
|
var Group_1 = __importDefault(require("../Group"));
|
33
33
|
function InputGroup(_a, ref) {
|
34
34
|
var input = _a.input, meta = _a.meta, label = _a.label, helpText = _a.helpText, className = _a.className, required = _a.required, disabled = _a.disabled, onChange = _a.onChange, value = _a.value, icon = _a.icon, rest = __rest(_a, ["input", "meta", "label", "helpText", "className", "required", "disabled", "onChange", "value", "icon"]);
|
35
|
-
return ((0, jsx_runtime_1.jsxs)(Group_1.default, { input: input, meta: meta, required: required, disabled: disabled, label: label, helpText: helpText, className: (0,
|
35
|
+
return ((0, jsx_runtime_1.jsxs)(Group_1.default, { input: input, meta: meta, required: required, disabled: disabled, label: label, helpText: helpText, className: (0, clsx_1.clsx)(className, FormDefaults_1.FormDefaults.cssClassPrefix + 'input-group'), children: [icon, (0, jsx_runtime_1.jsx)("input", __assign({}, input, rest, { "aria-invalid": !!meta.error, "aria-errormessage": !!meta.error ? "".concat(input.name, "-error") : undefined, value: value !== null && value !== void 0 ? value : '', onChange: onChange, ref: ref, className: (0, clsx_1.clsx)(className, FormDefaults_1.FormDefaults.cssClassPrefix + 'input-group') }))] }));
|
36
36
|
}
|
37
37
|
/** Generic controlled `<input/>` wrapped by a `<Group/>` */
|
38
38
|
var InputGroupWithRef = react_1.default.forwardRef(InputGroup);
|
@@ -27,14 +27,14 @@ var __importDefault = (this && this.__importDefault) || function (mod) {
|
|
27
27
|
Object.defineProperty(exports, "__esModule", { value: true });
|
28
28
|
var jsx_runtime_1 = require("react/jsx-runtime");
|
29
29
|
var react_1 = __importDefault(require("react"));
|
30
|
-
var
|
30
|
+
var clsx_1 = require("clsx");
|
31
31
|
var InputGroup_1 = __importDefault(require("./InputGroup"));
|
32
32
|
var FormDefaults_1 = require("../FormDefaults");
|
33
33
|
function MoneyInputGroup(_a, ref) {
|
34
34
|
var parseFunc = _a.parseFunc, className = _a.className, rest = __rest(_a, ["parseFunc", "className"]);
|
35
35
|
var effectiveParse = parseFunc !== null && parseFunc !== void 0 ? parseFunc : parseFloat;
|
36
36
|
var input = rest.input;
|
37
|
-
return ((0, jsx_runtime_1.jsx)(InputGroup_1.default, __assign({ ref: ref, step: 0.01, min: 0 }, rest, { type: "number", className: (0,
|
37
|
+
return ((0, jsx_runtime_1.jsx)(InputGroup_1.default, __assign({ ref: ref, step: 0.01, min: 0 }, rest, { type: "number", className: (0, clsx_1.clsx)(className, FormDefaults_1.FormDefaults.cssClassPrefix + 'money-group'), value: input.value || '', onChange: function (e) {
|
38
38
|
if (!e.target.value) {
|
39
39
|
input.onChange(undefined);
|
40
40
|
}
|
@@ -27,14 +27,14 @@ var __importDefault = (this && this.__importDefault) || function (mod) {
|
|
27
27
|
Object.defineProperty(exports, "__esModule", { value: true });
|
28
28
|
var jsx_runtime_1 = require("react/jsx-runtime");
|
29
29
|
var react_1 = __importDefault(require("react"));
|
30
|
-
var
|
30
|
+
var clsx_1 = require("clsx");
|
31
31
|
var InputGroup_1 = __importDefault(require("./InputGroup"));
|
32
32
|
var FormDefaults_1 = require("../FormDefaults");
|
33
33
|
function NumberInputGroup(_a, ref) {
|
34
34
|
var parseFunc = _a.parseFunc, className = _a.className, rest = __rest(_a, ["parseFunc", "className"]);
|
35
35
|
var effectiveParse = parseFunc !== null && parseFunc !== void 0 ? parseFunc : parseFloat;
|
36
36
|
var input = rest.input;
|
37
|
-
return ((0, jsx_runtime_1.jsx)(InputGroup_1.default, __assign({ ref: ref }, rest, { type: "number", className: (0,
|
37
|
+
return ((0, jsx_runtime_1.jsx)(InputGroup_1.default, __assign({ ref: ref }, rest, { type: "number", className: (0, clsx_1.clsx)(className, FormDefaults_1.FormDefaults.cssClassPrefix + 'number-group'), value: input.value || '', onChange: function (e) {
|
38
38
|
if (!e.target.value) {
|
39
39
|
input.onChange(undefined);
|
40
40
|
}
|
@@ -27,7 +27,7 @@ var __importDefault = (this && this.__importDefault) || function (mod) {
|
|
27
27
|
Object.defineProperty(exports, "__esModule", { value: true });
|
28
28
|
var jsx_runtime_1 = require("react/jsx-runtime");
|
29
29
|
var react_1 = __importDefault(require("react"));
|
30
|
-
var
|
30
|
+
var clsx_1 = require("clsx");
|
31
31
|
var InputGroup_1 = __importDefault(require("./InputGroup"));
|
32
32
|
var FormDefaults_1 = require("../FormDefaults");
|
33
33
|
var normalizers_1 = require("../Normalization/normalizers");
|
@@ -35,7 +35,7 @@ function PhoneNumberInputGroup(_a, ref) {
|
|
35
35
|
var _b;
|
36
36
|
var className = _a.className, rest = __rest(_a, ["className"]);
|
37
37
|
var input = rest.input;
|
38
|
-
return ((0, jsx_runtime_1.jsx)(InputGroup_1.default, __assign({ ref: ref, autoComplete: "tel-national" }, rest, { type: "text", className: (0,
|
38
|
+
return ((0, jsx_runtime_1.jsx)(InputGroup_1.default, __assign({ ref: ref, autoComplete: "tel-national" }, rest, { type: "text", className: (0, clsx_1.clsx)(className, FormDefaults_1.FormDefaults.cssClassPrefix + 'phone-number-group'), value: (_b = input.value) !== null && _b !== void 0 ? _b : '', onChange: function (e) {
|
39
39
|
if (!e.target.value) {
|
40
40
|
input.onChange(undefined);
|
41
41
|
}
|
@@ -27,14 +27,14 @@ var __importDefault = (this && this.__importDefault) || function (mod) {
|
|
27
27
|
Object.defineProperty(exports, "__esModule", { value: true });
|
28
28
|
var jsx_runtime_1 = require("react/jsx-runtime");
|
29
29
|
var react_1 = __importDefault(require("react"));
|
30
|
-
var
|
30
|
+
var clsx_1 = require("clsx");
|
31
31
|
var InputGroup_1 = __importDefault(require("./InputGroup"));
|
32
32
|
var FormDefaults_1 = require("../FormDefaults");
|
33
33
|
function StringInputGroup(_a, ref) {
|
34
34
|
var _b;
|
35
35
|
var className = _a.className, rest = __rest(_a, ["className"]);
|
36
36
|
var input = rest.input;
|
37
|
-
return ((0, jsx_runtime_1.jsx)(InputGroup_1.default, __assign({ ref: ref }, rest, { className: (0,
|
37
|
+
return ((0, jsx_runtime_1.jsx)(InputGroup_1.default, __assign({ ref: ref }, rest, { className: (0, clsx_1.clsx)(className, FormDefaults_1.FormDefaults.cssClassPrefix + 'string-group'), value: (_b = input.value) !== null && _b !== void 0 ? _b : '', onChange: function (e) {
|
38
38
|
if (!e.target.value) {
|
39
39
|
input.onChange(undefined);
|
40
40
|
}
|
@@ -27,7 +27,7 @@ var __importDefault = (this && this.__importDefault) || function (mod) {
|
|
27
27
|
Object.defineProperty(exports, "__esModule", { value: true });
|
28
28
|
var jsx_runtime_1 = require("react/jsx-runtime");
|
29
29
|
var react_select_1 = __importDefault(require("react-select"));
|
30
|
-
var
|
30
|
+
var clsx_1 = require("clsx");
|
31
31
|
var FormDefaults_1 = require("../FormDefaults");
|
32
32
|
var Group_1 = __importDefault(require("../Group"));
|
33
33
|
// TODO: we could also name this "ReactSelectGroup" or similar but the types are strongly defined now so kept the names consistent
|
@@ -48,7 +48,7 @@ function SelectGroup(_a) {
|
|
48
48
|
? options.resp
|
49
49
|
: [];
|
50
50
|
var isLoading = (options && 'loading' in options && options.loading) || false;
|
51
|
-
return ((0, jsx_runtime_1.jsx)(Group_1.default, __assign({}, rest, { input: input, meta: meta, required: required, disabled: disabled, className: (0,
|
51
|
+
return ((0, jsx_runtime_1.jsx)(Group_1.default, __assign({}, rest, { input: input, meta: meta, required: required, disabled: disabled, className: (0, clsx_1.clsx)(className, (_b = {},
|
52
52
|
_b[FormDefaults_1.FormDefaults.cssClassPrefix + 'multiple'] = multiple,
|
53
53
|
_b[FormDefaults_1.FormDefaults.cssClassPrefix + 'loading'] = isLoading,
|
54
54
|
_b), FormDefaults_1.FormDefaults.cssClassPrefix + 'select-group'), children: (0, jsx_runtime_1.jsx)(react_select_1.default, { inputId: input.id, isMulti: multiple, isDisabled: disabled, options: effectiveOptions, onBlur: input.onBlur, value: getValue(), onChange: function (e) {
|
@@ -58,7 +58,7 @@ function SelectGroup(_a) {
|
|
58
58
|
else {
|
59
59
|
input.onChange(e === null || e === void 0 ? void 0 : e.value);
|
60
60
|
}
|
61
|
-
}, getOptionLabel: function (option) { var _a; return (_a = option === null || option === void 0 ? void 0 : option.label) !== null && _a !== void 0 ? _a : ''; }, className: (0,
|
61
|
+
}, getOptionLabel: function (option) { var _a; return (_a = option === null || option === void 0 ? void 0 : option.label) !== null && _a !== void 0 ? _a : ''; }, className: (0, clsx_1.clsx)(className, FormDefaults_1.FormDefaults.cssClassPrefix + 'select-group'), classNamePrefix: "react-select", menuPortalTarget: document.body, menuPlacement: "auto", placeholder: placeholder }) })));
|
62
62
|
function getValue() {
|
63
63
|
if (multiple) {
|
64
64
|
return effectiveOptions.filter(function (o) {
|
@@ -4,15 +4,15 @@ var __importDefault = (this && this.__importDefault) || function (mod) {
|
|
4
4
|
};
|
5
5
|
Object.defineProperty(exports, "__esModule", { value: true });
|
6
6
|
var jsx_runtime_1 = require("react/jsx-runtime");
|
7
|
-
var
|
7
|
+
var clsx_1 = require("clsx");
|
8
8
|
var formik_1 = require("formik");
|
9
|
-
var SubmitFormButton_1 = __importDefault(require("./SubmitFormButton"));
|
10
9
|
var FormDefaults_1 = require("./FormDefaults");
|
10
|
+
var SubmitFormButton_1 = __importDefault(require("./SubmitFormButton"));
|
11
11
|
/** Standard submit and cancel buttons. */
|
12
12
|
function StandardFormActions(_a) {
|
13
13
|
var allowPristineSubmit = _a.allowPristineSubmit, handleCancel = _a.handleCancel;
|
14
14
|
var isSubmitting = (0, formik_1.useFormikContext)().isSubmitting;
|
15
|
-
return ((0, jsx_runtime_1.jsxs)(jsx_runtime_1.Fragment, { children: [(0, jsx_runtime_1.jsx)(SubmitFormButton_1.default, { allowPristineSubmit: allowPristineSubmit }), "\u00A0", (0, jsx_runtime_1.jsx)("button", { className: (0,
|
15
|
+
return ((0, jsx_runtime_1.jsxs)(jsx_runtime_1.Fragment, { children: [(0, jsx_runtime_1.jsx)(SubmitFormButton_1.default, { allowPristineSubmit: allowPristineSubmit }), "\u00A0", (0, jsx_runtime_1.jsx)("button", { className: (0, clsx_1.clsx)(FormDefaults_1.FormDefaults.cssClassPrefix + 'standard-form-actions-cancel-button'), type: "button", disabled: isSubmitting, onClick: handleCancel || goBack, children: "Cancel" })] }));
|
16
16
|
function goBack() {
|
17
17
|
window.history.back();
|
18
18
|
}
|
package/lib/SubmitFormButton.js
CHANGED
@@ -27,7 +27,7 @@ var __importDefault = (this && this.__importDefault) || function (mod) {
|
|
27
27
|
Object.defineProperty(exports, "__esModule", { value: true });
|
28
28
|
var jsx_runtime_1 = require("react/jsx-runtime");
|
29
29
|
var react_1 = __importDefault(require("react"));
|
30
|
-
var
|
30
|
+
var clsx_1 = require("clsx");
|
31
31
|
var formik_1 = require("formik");
|
32
32
|
var FormDefaults_1 = require("./FormDefaults");
|
33
33
|
function SubmitFormButton(_a, ref) {
|
@@ -39,7 +39,7 @@ function SubmitFormButton(_a, ref) {
|
|
39
39
|
? 'Loading, please wait...'
|
40
40
|
: preventSubmit
|
41
41
|
? "You haven't made any changes"
|
42
|
-
: '', className: (0,
|
42
|
+
: '', className: (0, clsx_1.clsx)(FormDefaults_1.FormDefaults.cssClassPrefix + 'submit-form-button', className), children: children || 'Submit' })));
|
43
43
|
}
|
44
44
|
/** Generic submit button for forms. */
|
45
45
|
exports.default = react_1.default.forwardRef(SubmitFormButton);
|
@@ -27,13 +27,13 @@ var __importDefault = (this && this.__importDefault) || function (mod) {
|
|
27
27
|
Object.defineProperty(exports, "__esModule", { value: true });
|
28
28
|
var jsx_runtime_1 = require("react/jsx-runtime");
|
29
29
|
var react_1 = __importDefault(require("react"));
|
30
|
-
var
|
30
|
+
var clsx_1 = require("clsx");
|
31
31
|
var FormDefaults_1 = require("../FormDefaults");
|
32
32
|
var Group_1 = __importDefault(require("../Group"));
|
33
33
|
function TextAreaGroup(_a, ref) {
|
34
34
|
var _b;
|
35
35
|
var input = _a.input, meta = _a.meta, label = _a.label, helpText = _a.helpText, className = _a.className, required = _a.required, disabled = _a.disabled, icon = _a.icon, rest = __rest(_a, ["input", "meta", "label", "helpText", "className", "required", "disabled", "icon"]);
|
36
|
-
return ((0, jsx_runtime_1.jsxs)(Group_1.default, { input: input, meta: meta, required: required, disabled: disabled, label: label, helpText: helpText, className: (0,
|
36
|
+
return ((0, jsx_runtime_1.jsxs)(Group_1.default, { input: input, meta: meta, required: required, disabled: disabled, label: label, helpText: helpText, className: (0, clsx_1.clsx)(className, FormDefaults_1.FormDefaults.cssClassPrefix + 'text-area-group'), children: [icon, (0, jsx_runtime_1.jsx)("textarea", __assign({}, input, rest, { value: (_b = input.value) !== null && _b !== void 0 ? _b : '', onChange: function (val) { return input.onChange(val.target.value); }, ref: ref, className: (0, clsx_1.clsx)(className, FormDefaults_1.FormDefaults.cssClassPrefix + 'text-area-group') }))] }));
|
37
37
|
}
|
38
38
|
/** Generic controlled `<textarea/>` wrapped by a `<Group/>` */
|
39
39
|
var TextAreaGroupWithRef = react_1.default.forwardRef(TextAreaGroup);
|
package/lib/index.d.ts
CHANGED
@@ -58,6 +58,8 @@ export { default as SelectGroup } from './Select/SelectGroup';
|
|
58
58
|
export type { SelectGroupProps, SelectOption } from './Select/SelectGroup';
|
59
59
|
export { BooleanSelectGroup } from './Select/BooleanSelectGroup';
|
60
60
|
export type { BooleanSelectGroupProps } from './Select/BooleanSelectGroup';
|
61
|
+
export { default as CheckboxInputGroup } from './Input/CheckboxInputGroup';
|
62
|
+
export type { CheckboxInputGroupProps } from './Input/CheckboxInputGroup';
|
61
63
|
export { MultiNumberSelectGroup, SingleNumberSelectGroup, } from './Select/NumberSelectGroup';
|
62
64
|
export type { MultiNumberSelectGroupProps, SingleNumberSelectGroupProps, } from './Select/NumberSelectGroup';
|
63
65
|
export type { SelectGroupPropsHelper } from './Select/SelectGroupPropsHelper';
|
package/lib/index.js
CHANGED
@@ -29,7 +29,7 @@ var __importDefault = (this && this.__importDefault) || function (mod) {
|
|
29
29
|
return (mod && mod.__esModule) ? mod : { "default": mod };
|
30
30
|
};
|
31
31
|
Object.defineProperty(exports, "__esModule", { value: true });
|
32
|
-
exports.validators = exports.serialize = exports.objectContainsNonSerializableProperty = exports.TextAreaGroup = exports.SingleStringSelectGroup = exports.MultiStringSelectGroup = exports.SingleNumberSelectGroup = exports.MultiNumberSelectGroup = exports.BooleanSelectGroup = exports.SelectGroup = exports.normalizers = exports.StringInputGroup = exports.PhoneNumberInputGroup = exports.NumberInputGroup = exports.MoneyInputGroup = exports.InputGroup = exports.IconInputGroup = exports.Group = exports.FormDefaults = exports.StandardFormActions = exports.FormActions = exports.ServerErrorContext = exports.Form = exports.FileGroup = exports.FieldArray = exports.useStandardField = exports.StandAloneInput = exports.FieldNameContext = exports.FieldErrorScrollTarget = exports.Field = exports.StringDateOnlyPickerGroup = exports.StringDatePickerGroup = exports.convertToTimeZoneInsensitiveISOString = exports.DatePickerGroup = exports.ConfirmDeleteForm = exports.ConfirmBaseForm = exports.SubmitFormButton = exports.AddressInput = void 0;
|
32
|
+
exports.validators = exports.serialize = exports.objectContainsNonSerializableProperty = exports.TextAreaGroup = exports.SingleStringSelectGroup = exports.MultiStringSelectGroup = exports.SingleNumberSelectGroup = exports.MultiNumberSelectGroup = exports.CheckboxInputGroup = exports.BooleanSelectGroup = exports.SelectGroup = exports.normalizers = exports.StringInputGroup = exports.PhoneNumberInputGroup = exports.NumberInputGroup = exports.MoneyInputGroup = exports.InputGroup = exports.IconInputGroup = exports.Group = exports.FormDefaults = exports.StandardFormActions = exports.FormActions = exports.ServerErrorContext = exports.Form = exports.FileGroup = exports.FieldArray = exports.useStandardField = exports.StandAloneInput = exports.FieldNameContext = exports.FieldErrorScrollTarget = exports.Field = exports.StringDateOnlyPickerGroup = exports.StringDatePickerGroup = exports.convertToTimeZoneInsensitiveISOString = exports.DatePickerGroup = exports.ConfirmDeleteForm = exports.ConfirmBaseForm = exports.SubmitFormButton = exports.AddressInput = void 0;
|
33
33
|
// Address
|
34
34
|
var AddressInput_1 = require("./AddressInput/AddressInput");
|
35
35
|
Object.defineProperty(exports, "AddressInput", { enumerable: true, get: function () { return __importDefault(AddressInput_1).default; } });
|
@@ -101,6 +101,8 @@ var SelectGroup_1 = require("./Select/SelectGroup");
|
|
101
101
|
Object.defineProperty(exports, "SelectGroup", { enumerable: true, get: function () { return __importDefault(SelectGroup_1).default; } });
|
102
102
|
var BooleanSelectGroup_1 = require("./Select/BooleanSelectGroup");
|
103
103
|
Object.defineProperty(exports, "BooleanSelectGroup", { enumerable: true, get: function () { return BooleanSelectGroup_1.BooleanSelectGroup; } });
|
104
|
+
var CheckboxInputGroup_1 = require("./Input/CheckboxInputGroup");
|
105
|
+
Object.defineProperty(exports, "CheckboxInputGroup", { enumerable: true, get: function () { return __importDefault(CheckboxInputGroup_1).default; } });
|
104
106
|
var NumberSelectGroup_1 = require("./Select/NumberSelectGroup");
|
105
107
|
Object.defineProperty(exports, "MultiNumberSelectGroup", { enumerable: true, get: function () { return NumberSelectGroup_1.MultiNumberSelectGroup; } });
|
106
108
|
Object.defineProperty(exports, "SingleNumberSelectGroup", { enumerable: true, get: function () { return NumberSelectGroup_1.SingleNumberSelectGroup; } });
|