@itcase/forms 1.1.54 → 1.1.56
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/dist/css/form/Field/RadioGroup/FormFieldRadioGroup.css +7 -2
- package/dist/itcase-forms.cjs.js +422 -322
- package/dist/itcase-forms.esm.js +408 -309
- package/package.json +20 -19
package/dist/itcase-forms.cjs.js
CHANGED
|
@@ -5,40 +5,38 @@ var React = require('react');
|
|
|
5
5
|
var finalForm = require('final-form');
|
|
6
6
|
var reactFinalForm = require('react-final-form');
|
|
7
7
|
var clsx = require('clsx');
|
|
8
|
-
var Checkbox = require('@itcase/ui/components/Checkbox');
|
|
8
|
+
var Checkbox = require('@itcase/ui-web/components/Checkbox');
|
|
9
9
|
var camelCase = require('lodash/camelCase');
|
|
10
10
|
var snakeCase = require('lodash/snakeCase');
|
|
11
|
-
var Divider = require('@itcase/ui/components/Divider');
|
|
12
|
-
var Text = require('@itcase/ui/components/Text');
|
|
13
|
-
var
|
|
14
|
-
var useStyles = require('@itcase/ui/hooks/useStyles');
|
|
15
|
-
var Chips = require('@itcase/ui/components/Chips');
|
|
16
|
-
var Choice = require('@itcase/ui/components/Choice');
|
|
17
|
-
var Code = require('@itcase/ui/components/Code');
|
|
18
|
-
var Icon = require('@itcase/ui/components/Icon');
|
|
19
|
-
var Dadata = require('@itcase/ui/components/Dadata');
|
|
20
|
-
var DatePicker = require('@itcase/ui/components/DatePicker');
|
|
21
|
-
var useDevicePropsGenerator = require('@itcase/ui/hooks/useDevicePropsGenerator');
|
|
11
|
+
var Divider = require('@itcase/ui-web/components/Divider');
|
|
12
|
+
var Text = require('@itcase/ui-web/components/Text');
|
|
13
|
+
var hooks = require('@itcase/ui-core/hooks');
|
|
22
14
|
var axios = require('axios');
|
|
15
|
+
var createDecorator = require('final-form-focus');
|
|
16
|
+
var Chips = require('@itcase/ui-web/components/Chips');
|
|
17
|
+
var Choice = require('@itcase/ui-web/components/Choice');
|
|
18
|
+
var Code = require('@itcase/ui-web/components/Code');
|
|
19
|
+
var Icon = require('@itcase/ui-web/components/Icon');
|
|
20
|
+
var Dadata = require('@itcase/ui-web/components/Dadata');
|
|
21
|
+
var DatePicker = require('@itcase/ui-web/components/DatePicker');
|
|
23
22
|
var fileSelector = require('file-selector');
|
|
24
23
|
var castArray = require('lodash/castArray');
|
|
25
24
|
var reactDropzone = require('react-dropzone');
|
|
26
25
|
var common = require('@itcase/common');
|
|
27
|
-
var Button = require('@itcase/ui/components/Button');
|
|
28
|
-
var Loader = require('@itcase/ui/components/Loader');
|
|
29
|
-
var Title = require('@itcase/ui/components/Title');
|
|
30
|
-
var Input = require('@itcase/ui/components/Input');
|
|
31
|
-
var InputNumber = require('@itcase/ui/components/InputNumber');
|
|
26
|
+
var Button = require('@itcase/ui-web/components/Button');
|
|
27
|
+
var Loader = require('@itcase/ui-web/components/Loader');
|
|
28
|
+
var Title = require('@itcase/ui-web/components/Title');
|
|
29
|
+
var Input = require('@itcase/ui-web/components/Input');
|
|
30
|
+
var InputNumber = require('@itcase/ui-web/components/InputNumber');
|
|
32
31
|
var reactImask = require('react-imask');
|
|
33
|
-
var InputPassword = require('@itcase/ui/components/InputPassword');
|
|
34
|
-
var Radio = require('@itcase/ui/components/Radio');
|
|
35
|
-
var Segmented = require('@itcase/ui/components/Segmented');
|
|
36
|
-
var Select = require('@itcase/ui/components/Select');
|
|
37
|
-
var Switch = require('@itcase/ui/components/Switch');
|
|
38
|
-
var Textarea = require('@itcase/ui/components/Textarea');
|
|
39
|
-
var Group = require('@itcase/ui/components/Group');
|
|
40
|
-
var Notification = require('@itcase/ui/components/Notification');
|
|
41
|
-
var createDecorator = require('final-form-focus');
|
|
32
|
+
var InputPassword = require('@itcase/ui-web/components/InputPassword');
|
|
33
|
+
var Radio = require('@itcase/ui-web/components/Radio');
|
|
34
|
+
var Segmented = require('@itcase/ui-web/components/Segmented');
|
|
35
|
+
var Select = require('@itcase/ui-web/components/Select');
|
|
36
|
+
var Switch = require('@itcase/ui-web/components/Switch');
|
|
37
|
+
var Textarea = require('@itcase/ui-web/components/Textarea');
|
|
38
|
+
var Group = require('@itcase/ui-web/components/Group');
|
|
39
|
+
var Notification = require('@itcase/ui-web/components/Notification');
|
|
42
40
|
|
|
43
41
|
function _interopDefault (e) { return e && e.__esModule ? e : { default: e }; }
|
|
44
42
|
|
|
@@ -47,8 +45,8 @@ var clsx__default = /*#__PURE__*/_interopDefault(clsx);
|
|
|
47
45
|
var camelCase__default = /*#__PURE__*/_interopDefault(camelCase);
|
|
48
46
|
var snakeCase__default = /*#__PURE__*/_interopDefault(snakeCase);
|
|
49
47
|
var axios__default = /*#__PURE__*/_interopDefault(axios);
|
|
50
|
-
var castArray__default = /*#__PURE__*/_interopDefault(castArray);
|
|
51
48
|
var createDecorator__default = /*#__PURE__*/_interopDefault(createDecorator);
|
|
49
|
+
var castArray__default = /*#__PURE__*/_interopDefault(castArray);
|
|
52
50
|
|
|
53
51
|
var phoneValidation = function phoneValidation(value) {
|
|
54
52
|
if (!value) {
|
|
@@ -445,8 +443,8 @@ var defaultFieldProps = {
|
|
|
445
443
|
direction: 'vertical',
|
|
446
444
|
labelTextColor: 'surfaceTextPrimary',
|
|
447
445
|
messageTextColor: 'surfaceTextSecondary',
|
|
448
|
-
errorMessageTextColor: 'errorTextSecondary',
|
|
449
446
|
dividerFill: 'errorPrimary',
|
|
447
|
+
errorMessageTextColor: 'errorTextSecondary',
|
|
450
448
|
helpTextColor: 'surfaceTextQuaternary',
|
|
451
449
|
requiredMessageTextColor: 'warningTextSecondary',
|
|
452
450
|
showMessage: true
|
|
@@ -487,6 +485,7 @@ var defaultFieldSizeXL = Object.assign({
|
|
|
487
485
|
function FieldWrapperBase(props) {
|
|
488
486
|
var id = props.id,
|
|
489
487
|
className = props.className,
|
|
488
|
+
dataTestId = props.dataTestId,
|
|
490
489
|
dataTour = props.dataTour,
|
|
491
490
|
type = props.type,
|
|
492
491
|
label = props.label,
|
|
@@ -538,47 +537,47 @@ function FieldWrapperBase(props) {
|
|
|
538
537
|
var fieldClass = React.useMemo(function () {
|
|
539
538
|
return clsx__default.default(fieldClassName, isValidState && fieldClassName + "_state_success", metaActive && fieldClassName + "_state_focus", inputValue && fieldClassName + "_state_filled", isDisabled && fieldClassName + "_state_disabled", isErrorState && fieldClassName + "_state_" + errorKey);
|
|
540
539
|
}, [fieldClassName, isErrorState, isValidState, metaActive, inputValue, isDisabled, metaError]);
|
|
541
|
-
var sizeClass =
|
|
540
|
+
var sizeClass = hooks.useDeviceTargetClass(props, {
|
|
542
541
|
prefix: 'form-field_size_',
|
|
543
542
|
propsKey: 'size'
|
|
544
543
|
});
|
|
545
|
-
var fillClass =
|
|
544
|
+
var fillClass = hooks.useDeviceTargetClass(props, {
|
|
546
545
|
prefix: 'fill_',
|
|
547
546
|
propsKey: 'fill'
|
|
548
547
|
});
|
|
549
|
-
var inputFillClass =
|
|
548
|
+
var inputFillClass = hooks.useDeviceTargetClass(props, {
|
|
550
549
|
prefix: 'fill_',
|
|
551
550
|
propsKey: 'inputFill'
|
|
552
551
|
});
|
|
553
|
-
var shapeClass =
|
|
552
|
+
var shapeClass = hooks.useDeviceTargetClass(props, {
|
|
554
553
|
prefix: 'form-field_shape_',
|
|
555
554
|
propsKey: 'shape'
|
|
556
555
|
});
|
|
557
|
-
var inputShapeClass =
|
|
556
|
+
var inputShapeClass = hooks.useDeviceTargetClass(props, {
|
|
558
557
|
prefix: 'form-field__item-value_shape_',
|
|
559
558
|
propsKey: 'inputShape'
|
|
560
559
|
});
|
|
561
|
-
var directionClass =
|
|
560
|
+
var directionClass = hooks.useDeviceTargetClass(props, {
|
|
562
561
|
prefix: 'direction_',
|
|
563
562
|
propsKey: 'direction'
|
|
564
563
|
});
|
|
565
|
-
var widthClass =
|
|
564
|
+
var widthClass = hooks.useDeviceTargetClass(props, {
|
|
566
565
|
prefix: 'width_',
|
|
567
566
|
propsKey: 'width'
|
|
568
567
|
});
|
|
569
|
-
var _useStyles =
|
|
568
|
+
var _useStyles = hooks.useStyles(props),
|
|
570
569
|
formFieldStyles = _useStyles.styles;
|
|
571
570
|
var errorTextSize = props[errorKey + "MessageTextSize"];
|
|
572
571
|
var errorTextColor = props[errorKey + "MessageTextColor"];
|
|
573
572
|
var errorTextWeight = props[errorKey + "MessageTextWeight"];
|
|
574
573
|
return /*#__PURE__*/React__default.default.createElement(Tag, {
|
|
575
574
|
className: clsx__default.default(formFieldClass, 'form__item', 'form-field', type && "form-field_type_" + type, sizeClass, fillClass, shapeClass, isDisabled && "form-field_state_disabled", isHidden && "form-field_state_hidden", directionClass, widthClass),
|
|
576
|
-
"data-testid":
|
|
575
|
+
"data-testid": dataTestId,
|
|
577
576
|
"data-tour": dataTour,
|
|
578
577
|
style: formFieldStyles
|
|
579
578
|
}, before, (label || labelHidden) && /*#__PURE__*/React__default.default.createElement("div", {
|
|
580
579
|
className: clsx__default.default('form-field__label'),
|
|
581
|
-
"data-testid":
|
|
580
|
+
"data-testid": dataTestId + "Label",
|
|
582
581
|
htmlFor: id
|
|
583
582
|
}, /*#__PURE__*/React__default.default.createElement(Text.Text, {
|
|
584
583
|
size: labelTextSize,
|
|
@@ -588,7 +587,7 @@ function FieldWrapperBase(props) {
|
|
|
588
587
|
sizeTablet: labelTextSizeTablet
|
|
589
588
|
}, label, labelHidden && "\xA0")), desc && /*#__PURE__*/React__default.default.createElement("div", {
|
|
590
589
|
className: "form-field__desc",
|
|
591
|
-
"data-testid":
|
|
590
|
+
"data-testid": dataTestId + "Desc"
|
|
592
591
|
}, /*#__PURE__*/React__default.default.createElement(Text.Text, {
|
|
593
592
|
size: descTextSize,
|
|
594
593
|
textColor: descTextColor,
|
|
@@ -609,20 +608,20 @@ function FieldWrapperBase(props) {
|
|
|
609
608
|
}, isErrorState && errorMessage && /*#__PURE__*/React__default.default.createElement(Text.Text, {
|
|
610
609
|
id: inputName + "-error",
|
|
611
610
|
className: "form-field__message-item form-field__message-item_type-error",
|
|
612
|
-
dataTestId:
|
|
611
|
+
dataTestId: dataTestId + "MessageError",
|
|
613
612
|
size: errorTextSize,
|
|
614
613
|
textColor: errorTextColor,
|
|
615
614
|
textWeight: errorTextWeight
|
|
616
615
|
}, errorMessage), Boolean(helpText) && (!isErrorState || !errorMessage) && /*#__PURE__*/React__default.default.createElement(Text.Text, {
|
|
617
616
|
className: "form-field__message-item form-field__message-item_type_help-text",
|
|
618
|
-
dataTestId:
|
|
617
|
+
dataTestId: dataTestId + "MessageHelpText",
|
|
619
618
|
size: helpTextSize,
|
|
620
619
|
textColor: isValidState ? helpTextColorSuccess : helpTextColor,
|
|
621
620
|
textWeight: helpTextWeight,
|
|
622
621
|
sizeMobile: helpTextSizeMobile
|
|
623
622
|
}, helpText), (!isErrorState && !helpText || isErrorState && !helpText && !errorMessage) && /*#__PURE__*/React__default.default.createElement(Text.Text, {
|
|
624
623
|
className: "form-field__message-item form-field__message-item_type_help-text",
|
|
625
|
-
dataTestId:
|
|
624
|
+
dataTestId: dataTestId + "MessageHelpText",
|
|
626
625
|
size: messageTextSize
|
|
627
626
|
}, "\xA0")), after);
|
|
628
627
|
}
|
|
@@ -639,16 +638,150 @@ function FieldWrapper(props) {
|
|
|
639
638
|
return /*#__PURE__*/React__default.default.createElement(FieldWrapperBase, props);
|
|
640
639
|
}
|
|
641
640
|
|
|
641
|
+
var focusOnError = function focusOnError(formElementsList, errors) {
|
|
642
|
+
var selectsIds = Object.keys(errors).map(function (fieldName) {
|
|
643
|
+
if (fieldName === finalForm.FORM_ERROR) {
|
|
644
|
+
// TODO: get from somewhere
|
|
645
|
+
return 'notification__item_status_error';
|
|
646
|
+
}
|
|
647
|
+
return "react-select-id_" + fieldName + "-input";
|
|
648
|
+
});
|
|
649
|
+
var errorFieldElement = formElementsList.find(function (element) {
|
|
650
|
+
if (element.name) {
|
|
651
|
+
return finalForm.getIn(errors, element.name);
|
|
652
|
+
} else {
|
|
653
|
+
return selectsIds.includes(element.id);
|
|
654
|
+
}
|
|
655
|
+
});
|
|
656
|
+
var errorsList = Object.keys(errors);
|
|
657
|
+
if (!errorFieldElement && errorsList.length) {
|
|
658
|
+
var errorElement;
|
|
659
|
+
try {
|
|
660
|
+
var fieldName = errorsList[0];
|
|
661
|
+
if (fieldName === finalForm.FORM_ERROR) {
|
|
662
|
+
errorElement = document.querySelector('notification__item_status_error');
|
|
663
|
+
} else {
|
|
664
|
+
errorElement = document.querySelector("#" + fieldName + "-error");
|
|
665
|
+
if (!errorElement) {
|
|
666
|
+
errorElement = document.querySelector("#id_" + fieldName);
|
|
667
|
+
}
|
|
668
|
+
}
|
|
669
|
+
} catch (err) {
|
|
670
|
+
console.warn(err);
|
|
671
|
+
}
|
|
672
|
+
if (errorElement) {
|
|
673
|
+
errorElement.scrollIntoView({
|
|
674
|
+
block: 'center'
|
|
675
|
+
}); // , behavior: 'smooth'
|
|
676
|
+
}
|
|
677
|
+
}
|
|
678
|
+
|
|
679
|
+
// The field is covered by the header because header is "sticky",
|
|
680
|
+
// that's we scroll manually so that the field falls into the center of the visible area
|
|
681
|
+
if (errorFieldElement) {
|
|
682
|
+
errorFieldElement.scrollIntoView({
|
|
683
|
+
block: 'center'
|
|
684
|
+
});
|
|
685
|
+
}
|
|
686
|
+
return null;
|
|
687
|
+
};
|
|
688
|
+
var focusOnErrorDecorator = createDecorator__default.default(null, focusOnError);
|
|
689
|
+
var setErrorsMutator = function setErrorsMutator(args, state) {
|
|
690
|
+
var fieldName = args[0],
|
|
691
|
+
data = args[1];
|
|
692
|
+
var submitError = data.submitError;
|
|
693
|
+
var fieldError = data.error;
|
|
694
|
+
if (fieldName === 'non_field_errors' || fieldName === finalForm.FORM_ERROR) {
|
|
695
|
+
// state.formState.invalid = true
|
|
696
|
+
// state.formState.valid = false
|
|
697
|
+
state.formState.error = fieldError;
|
|
698
|
+
state.formState.submitError = submitError;
|
|
699
|
+
} else if (fieldName in state.fields) {
|
|
700
|
+
state.fields[fieldName].touched = true;
|
|
701
|
+
|
|
702
|
+
// TODO: make clear error not by empty string check
|
|
703
|
+
if (fieldError || fieldError === '') {
|
|
704
|
+
var _Object$assign;
|
|
705
|
+
var errorsState = Object.assign({}, state.formState.errors, (_Object$assign = {}, _Object$assign[fieldName] = fieldError, _Object$assign));
|
|
706
|
+
state.fields[fieldName].error = fieldError;
|
|
707
|
+
state.formState.errors = errorsState;
|
|
708
|
+
}
|
|
709
|
+
|
|
710
|
+
// TODO: make clear error not by empty string check
|
|
711
|
+
if (submitError || submitError === '') {
|
|
712
|
+
var _Object$assign2;
|
|
713
|
+
var submitErrorsState = Object.assign({}, state.formState.submitErrors, (_Object$assign2 = {}, _Object$assign2[fieldName] = submitError, _Object$assign2));
|
|
714
|
+
state.fields[fieldName].submitFailed = true;
|
|
715
|
+
state.fields[fieldName].submitSucceeded = false;
|
|
716
|
+
state.fields[fieldName].submitError = submitError;
|
|
717
|
+
state.formState.submitErrors = submitErrorsState;
|
|
718
|
+
state.formState.submitFailed = true;
|
|
719
|
+
state.formState.submitSucceeded = false;
|
|
720
|
+
state.formState.lastSubmittedValues = state.formState.values;
|
|
721
|
+
}
|
|
722
|
+
}
|
|
723
|
+
};
|
|
724
|
+
var sendFormDataToServer = /*#__PURE__*/function () {
|
|
725
|
+
var _ref = _asyncToGenerator(/*#__PURE__*/_regenerator().m(function _callee(url, data) {
|
|
726
|
+
var response, _error$response, _error$response2, formErrors, _t;
|
|
727
|
+
return _regenerator().w(function (_context) {
|
|
728
|
+
while (1) switch (_context.p = _context.n) {
|
|
729
|
+
case 0:
|
|
730
|
+
_context.p = 0;
|
|
731
|
+
_context.n = 1;
|
|
732
|
+
return axios__default.default({
|
|
733
|
+
url: url,
|
|
734
|
+
method: 'POST',
|
|
735
|
+
data: data
|
|
736
|
+
});
|
|
737
|
+
case 1:
|
|
738
|
+
response = _context.v;
|
|
739
|
+
return _context.a(2, {
|
|
740
|
+
response: response,
|
|
741
|
+
success: true
|
|
742
|
+
});
|
|
743
|
+
case 2:
|
|
744
|
+
_context.p = 2;
|
|
745
|
+
_t = _context.v;
|
|
746
|
+
formErrors = {};
|
|
747
|
+
if (typeof ((_error$response = _t.response) == null ? void 0 : _error$response.data) === 'string') {
|
|
748
|
+
formErrors[finalForm.FORM_ERROR] = 'Something went wrong';
|
|
749
|
+
}
|
|
750
|
+
if (typeof ((_error$response2 = _t.response) == null ? void 0 : _error$response2.data) === 'object') {
|
|
751
|
+
Object.entries(_t.response.data).forEach(function (_ref2) {
|
|
752
|
+
var fieldName = _ref2[0],
|
|
753
|
+
errorsList = _ref2[1];
|
|
754
|
+
formErrors[fieldName] = errorsList[0];
|
|
755
|
+
});
|
|
756
|
+
}
|
|
757
|
+
return _context.a(2, {
|
|
758
|
+
error: _t,
|
|
759
|
+
formErrors: formErrors,
|
|
760
|
+
success: false
|
|
761
|
+
});
|
|
762
|
+
}
|
|
763
|
+
}, _callee, null, [[0, 2]]);
|
|
764
|
+
}));
|
|
765
|
+
return function sendFormDataToServer(_x, _x2) {
|
|
766
|
+
return _ref.apply(this, arguments);
|
|
767
|
+
};
|
|
768
|
+
}();
|
|
769
|
+
var createDataTestIdField = function createDataTestIdField(fieldname, dataTestId) {
|
|
770
|
+
var dataTestIdField = dataTestId + fieldname[0].toUpperCase() + fieldname.slice(1) + 'Field';
|
|
771
|
+
return dataTestIdField;
|
|
772
|
+
};
|
|
773
|
+
|
|
642
774
|
var FormFieldCheckbox = /*#__PURE__*/React__default.default.memo(function FormFieldCheckbox(props) {
|
|
643
|
-
var
|
|
775
|
+
var dataTestId = props.dataTestId,
|
|
776
|
+
name = props.name,
|
|
644
777
|
initialValue = props.initialValue,
|
|
645
|
-
isDisabled = props.isDisabled,
|
|
646
778
|
classNameGroupItem = props.classNameGroupItem,
|
|
647
779
|
_props$fieldProps = props.fieldProps,
|
|
648
780
|
fieldProps = _props$fieldProps === void 0 ? {} : _props$fieldProps,
|
|
649
781
|
_props$inputProps = props.inputProps,
|
|
650
782
|
inputProps = _props$inputProps === void 0 ? {} : _props$inputProps,
|
|
651
783
|
showMessage = props.showMessage,
|
|
784
|
+
isDisabled = props.isDisabled,
|
|
652
785
|
isRequired = props.isRequired,
|
|
653
786
|
onChange = props.onChange;
|
|
654
787
|
return /*#__PURE__*/React__default.default.createElement(reactFinalForm.Field, {
|
|
@@ -678,35 +811,37 @@ var FormFieldCheckbox = /*#__PURE__*/React__default.default.memo(function FormFi
|
|
|
678
811
|
}),
|
|
679
812
|
errorKey = _useFieldValidationSt.errorKey,
|
|
680
813
|
errorMessage = _useFieldValidationSt.errorMessage,
|
|
681
|
-
isErrorState = _useFieldValidationSt.isErrorState,
|
|
682
814
|
successKey = _useFieldValidationSt.successKey,
|
|
815
|
+
isErrorState = _useFieldValidationSt.isErrorState,
|
|
683
816
|
isValidState = _useFieldValidationSt.isValidState;
|
|
684
817
|
var updatedInputProps = useValidationAppearanceInputProps({
|
|
685
818
|
inputProps: inputProps,
|
|
686
819
|
validationStateKey: isErrorState ? errorKey : isValidState ? successKey : null
|
|
687
820
|
});
|
|
821
|
+
var dataTestIdField = createDataTestIdField(input.name, dataTestId);
|
|
688
822
|
return /*#__PURE__*/React__default.default.createElement(FieldWrapper, Object.assign({
|
|
689
823
|
className: clsx__default.default('form-field-checkbox', 'form__item_checkbox', classNameGroupItem),
|
|
824
|
+
dataTestId: dataTestIdField,
|
|
690
825
|
errorKey: errorKey,
|
|
691
826
|
errorMessage: errorMessage,
|
|
692
|
-
isErrorState: isErrorState,
|
|
693
|
-
metaError: meta.error,
|
|
694
|
-
isDisabled: isDisabled,
|
|
695
827
|
fieldClassName: "form-checkbox",
|
|
696
828
|
inputName: input.name,
|
|
697
829
|
inputValue: input.checked,
|
|
698
830
|
metaActive: meta.active,
|
|
831
|
+
metaError: meta.error,
|
|
699
832
|
showMessage: showMessage,
|
|
700
833
|
tag: "label",
|
|
834
|
+
isDisabled: isDisabled,
|
|
835
|
+
isErrorState: isErrorState,
|
|
701
836
|
isRequired: isRequired,
|
|
702
837
|
isValidState: isValidState
|
|
703
838
|
}, fieldProps), /*#__PURE__*/React__default.default.createElement(Checkbox.Checkbox, Object.assign({
|
|
704
839
|
type: "checkbox",
|
|
705
840
|
name: input.name,
|
|
706
|
-
isDisabled: isDisabled,
|
|
707
841
|
autoComplete: "nope",
|
|
708
842
|
checked: input.checked,
|
|
709
843
|
isActive: input.checked,
|
|
844
|
+
isDisabled: isDisabled,
|
|
710
845
|
onBlur: input.onBlur,
|
|
711
846
|
onChange: onChangeField,
|
|
712
847
|
onFocus: input.onFocus
|
|
@@ -727,7 +862,8 @@ var defaultChipsProps = {
|
|
|
727
862
|
};
|
|
728
863
|
|
|
729
864
|
function FormFieldChips(props) {
|
|
730
|
-
var
|
|
865
|
+
var dataTestId = props.dataTestId,
|
|
866
|
+
name = props.name,
|
|
731
867
|
initialValue = props.initialValue,
|
|
732
868
|
classNameGroupItem = props.classNameGroupItem,
|
|
733
869
|
emptyMessage = props.emptyMessage,
|
|
@@ -790,8 +926,10 @@ function FormFieldChips(props) {
|
|
|
790
926
|
}
|
|
791
927
|
return emptyOptionsList;
|
|
792
928
|
}, [input.value]);
|
|
929
|
+
var dataTestIdField = createDataTestIdField(input.name, dataTestId);
|
|
793
930
|
return /*#__PURE__*/React__default.default.createElement(FieldWrapper, Object.assign({
|
|
794
931
|
className: clsx__default.default('form-field_chips', 'form__item_chips', classNameGroupItem),
|
|
932
|
+
dataTestId: dataTestIdField,
|
|
795
933
|
errorKey: errorKey,
|
|
796
934
|
errorMessage: errorMessage,
|
|
797
935
|
fieldClassName: "form-chips",
|
|
@@ -840,17 +978,18 @@ var defaultChoiceProps = {
|
|
|
840
978
|
};
|
|
841
979
|
|
|
842
980
|
var FormFieldChoice = /*#__PURE__*/React__default.default.memo(function FormFieldChoice(props) {
|
|
843
|
-
var
|
|
981
|
+
var dataTestId = props.dataTestId,
|
|
982
|
+
name = props.name,
|
|
844
983
|
initialValue = props.initialValue,
|
|
845
984
|
label = props.label,
|
|
846
985
|
messageType = props.messageType,
|
|
847
|
-
isDisabled = props.isDisabled,
|
|
848
986
|
classNameGroupItem = props.classNameGroupItem,
|
|
849
987
|
fieldProps = props.fieldProps,
|
|
850
988
|
inputProps = props.inputProps,
|
|
851
989
|
options = props.options,
|
|
852
990
|
placeholder = props.placeholder,
|
|
853
991
|
showMessage = props.showMessage,
|
|
992
|
+
isDisabled = props.isDisabled,
|
|
854
993
|
isCheckbox = props.isCheckbox,
|
|
855
994
|
isRequired = props.isRequired,
|
|
856
995
|
onChange = props.onChange;
|
|
@@ -863,8 +1002,8 @@ var FormFieldChoice = /*#__PURE__*/React__default.default.memo(function FormFiel
|
|
|
863
1002
|
}
|
|
864
1003
|
}, [change, onChange]);
|
|
865
1004
|
return /*#__PURE__*/React__default.default.createElement(reactFinalForm.Field, {
|
|
866
|
-
|
|
867
|
-
|
|
1005
|
+
name: name,
|
|
1006
|
+
initialValue: initialValue
|
|
868
1007
|
}, function Render(_ref) {
|
|
869
1008
|
var input = _ref.input,
|
|
870
1009
|
meta = _ref.meta;
|
|
@@ -876,8 +1015,8 @@ var FormFieldChoice = /*#__PURE__*/React__default.default.memo(function FormFiel
|
|
|
876
1015
|
*/
|
|
877
1016
|
var activeOption = React.useMemo(function () {
|
|
878
1017
|
var emptyOption = {
|
|
879
|
-
|
|
880
|
-
|
|
1018
|
+
label: null,
|
|
1019
|
+
value: null
|
|
881
1020
|
};
|
|
882
1021
|
if (input.value) {
|
|
883
1022
|
var currentOption = options.find(function (option) {
|
|
@@ -894,40 +1033,42 @@ var FormFieldChoice = /*#__PURE__*/React__default.default.memo(function FormFiel
|
|
|
894
1033
|
}),
|
|
895
1034
|
errorKey = _useFieldValidationSt.errorKey,
|
|
896
1035
|
errorMessage = _useFieldValidationSt.errorMessage,
|
|
897
|
-
isErrorState = _useFieldValidationSt.isErrorState,
|
|
898
1036
|
successKey = _useFieldValidationSt.successKey,
|
|
1037
|
+
isErrorState = _useFieldValidationSt.isErrorState,
|
|
899
1038
|
isValidState = _useFieldValidationSt.isValidState;
|
|
900
1039
|
var updatedInputProps = useValidationAppearanceInputProps({
|
|
901
1040
|
inputProps: inputProps,
|
|
902
1041
|
validationStateKey: isErrorState ? errorKey : isValidState ? successKey : null
|
|
903
1042
|
});
|
|
1043
|
+
var dataTestIdField = createDataTestIdField(input.name, dataTestId);
|
|
904
1044
|
return /*#__PURE__*/React__default.default.createElement(FieldWrapper, Object.assign({
|
|
905
1045
|
className: clsx__default.default('form-field_choice', 'form__item_choice', classNameGroupItem),
|
|
1046
|
+
dataTestId: dataTestIdField,
|
|
906
1047
|
label: label,
|
|
907
1048
|
messageType: messageType,
|
|
908
1049
|
errorKey: errorKey,
|
|
909
1050
|
errorMessage: errorMessage,
|
|
910
|
-
isErrorState: isErrorState,
|
|
911
|
-
metaError: meta.error,
|
|
912
|
-
isDisabled: isDisabled,
|
|
913
1051
|
fieldClassName: "form-choice",
|
|
914
1052
|
inputName: input.name,
|
|
915
1053
|
inputValue: input.value || [],
|
|
916
1054
|
metaActive: meta.active,
|
|
1055
|
+
metaError: meta.error,
|
|
917
1056
|
showMessage: showMessage,
|
|
1057
|
+
isDisabled: isDisabled,
|
|
1058
|
+
isErrorState: isErrorState,
|
|
918
1059
|
isRequired: isRequired,
|
|
919
1060
|
isValidState: isValidState
|
|
920
1061
|
}, fieldProps), /*#__PURE__*/React__default.default.createElement(Choice.Choice, Object.assign({
|
|
921
1062
|
className: clsx__default.default(meta.active && 'form-choice_state_focus', meta.error && meta.touched && "form-choice_state_" + errorKey),
|
|
922
1063
|
name: input.name,
|
|
923
|
-
isDisabled: isDisabled,
|
|
924
1064
|
active: activeOption,
|
|
925
1065
|
inputValue: input.value || [],
|
|
926
1066
|
options: options,
|
|
927
1067
|
placeholder: placeholder,
|
|
928
|
-
|
|
1068
|
+
isDisabled: isDisabled,
|
|
929
1069
|
isCheckbox: isCheckbox,
|
|
930
|
-
isRequired: isRequired
|
|
1070
|
+
isRequired: isRequired,
|
|
1071
|
+
setActiveSegment: setActiveSegment
|
|
931
1072
|
}, updatedInputProps)));
|
|
932
1073
|
});
|
|
933
1074
|
});
|
|
@@ -942,17 +1083,18 @@ var defaultCodeProps = {
|
|
|
942
1083
|
};
|
|
943
1084
|
|
|
944
1085
|
var FormFieldCode = /*#__PURE__*/React__default.default.memo(function FormFieldCode(props) {
|
|
945
|
-
var
|
|
1086
|
+
var dataTestId = props.dataTestId,
|
|
1087
|
+
name = props.name,
|
|
946
1088
|
initialValue = props.initialValue,
|
|
947
1089
|
label = props.label,
|
|
948
1090
|
messageType = props.messageType,
|
|
949
|
-
isDisabled = props.isDisabled,
|
|
950
1091
|
classNameGroupItem = props.classNameGroupItem,
|
|
951
1092
|
_props$fieldProps = props.fieldProps,
|
|
952
1093
|
fieldProps = _props$fieldProps === void 0 ? {} : _props$fieldProps,
|
|
953
1094
|
_props$inputProps = props.inputProps,
|
|
954
1095
|
inputProps = _props$inputProps === void 0 ? {} : _props$inputProps,
|
|
955
1096
|
showMessage = props.showMessage,
|
|
1097
|
+
isDisabled = props.isDisabled,
|
|
956
1098
|
isRequired = props.isRequired;
|
|
957
1099
|
return /*#__PURE__*/React__default.default.createElement(reactFinalForm.Field, {
|
|
958
1100
|
name: name,
|
|
@@ -974,32 +1116,34 @@ var FormFieldCode = /*#__PURE__*/React__default.default.memo(function FormFieldC
|
|
|
974
1116
|
}),
|
|
975
1117
|
errorKey = _useFieldValidationSt.errorKey,
|
|
976
1118
|
errorMessage = _useFieldValidationSt.errorMessage,
|
|
977
|
-
isErrorState = _useFieldValidationSt.isErrorState,
|
|
978
1119
|
successKey = _useFieldValidationSt.successKey,
|
|
1120
|
+
isErrorState = _useFieldValidationSt.isErrorState,
|
|
979
1121
|
isValidState = _useFieldValidationSt.isValidState;
|
|
980
1122
|
var updatedInputProps = useValidationAppearanceInputProps({
|
|
981
1123
|
inputProps: inputProps,
|
|
982
1124
|
validationStateKey: isErrorState ? errorKey : isValidState ? successKey : null
|
|
983
1125
|
});
|
|
1126
|
+
var dataTestIdField = createDataTestIdField(input.name, dataTestId);
|
|
984
1127
|
return /*#__PURE__*/React__default.default.createElement(FieldWrapper, Object.assign({
|
|
985
1128
|
className: clsx__default.default('form-field-code', 'form__item_code', classNameGroupItem),
|
|
1129
|
+
dataTestId: dataTestIdField,
|
|
986
1130
|
label: label,
|
|
987
1131
|
messageType: messageType,
|
|
988
1132
|
errorKey: errorKey,
|
|
989
1133
|
errorMessage: errorMessage,
|
|
990
|
-
isErrorState: isErrorState,
|
|
991
1134
|
fieldClassName: 'form-code',
|
|
992
1135
|
inputName: input.name,
|
|
993
1136
|
inputValue: input.value,
|
|
994
1137
|
metaActive: meta.active,
|
|
995
1138
|
showMessage: showMessage,
|
|
1139
|
+
isErrorState: isErrorState,
|
|
996
1140
|
isRequired: isRequired,
|
|
997
1141
|
isValidState: isValidState
|
|
998
1142
|
}, fieldProps), /*#__PURE__*/React__default.default.createElement(Code.Code, Object.assign({
|
|
999
1143
|
name: input.name,
|
|
1000
1144
|
initialValue: input.value,
|
|
1001
|
-
isDisabled: isDisabled,
|
|
1002
1145
|
autoComplete: "nope",
|
|
1146
|
+
isDisabled: isDisabled,
|
|
1003
1147
|
onBlur: input.onBlur,
|
|
1004
1148
|
onChange: input.onChange,
|
|
1005
1149
|
onFocus: input.onFocus
|
|
@@ -1008,24 +1152,25 @@ var FormFieldCode = /*#__PURE__*/React__default.default.memo(function FormFieldC
|
|
|
1008
1152
|
});
|
|
1009
1153
|
|
|
1010
1154
|
var FormFieldCustom = /*#__PURE__*/React__default.default.memo(function FormFieldCustom(props) {
|
|
1011
|
-
var
|
|
1012
|
-
isDisabled = props.isDisabled,
|
|
1013
|
-
isRequired = props.isRequired,
|
|
1155
|
+
var dataTestId = props.dataTestId,
|
|
1014
1156
|
name = props.name,
|
|
1015
1157
|
initialValue = props.initialValue,
|
|
1016
|
-
_props$fieldProps = props.fieldProps,
|
|
1017
|
-
fieldProps = _props$fieldProps === void 0 ? {} : _props$fieldProps,
|
|
1018
1158
|
classNameGroupItem = props.classNameGroupItem,
|
|
1019
|
-
showMessage = props.showMessage,
|
|
1020
1159
|
clearIcon = props.clearIcon,
|
|
1021
1160
|
clearIconFill = props.clearIconFill,
|
|
1022
1161
|
clearIconFillHover = props.clearIconFillHover,
|
|
1023
1162
|
clearIconShape = props.clearIconShape,
|
|
1024
1163
|
clearIconSize = props.clearIconSize,
|
|
1164
|
+
Component = props.Component,
|
|
1165
|
+
_props$fieldProps = props.fieldProps,
|
|
1166
|
+
fieldProps = _props$fieldProps === void 0 ? {} : _props$fieldProps,
|
|
1167
|
+
showMessage = props.showMessage,
|
|
1168
|
+
isDisabled = props.isDisabled,
|
|
1169
|
+
isRequired = props.isRequired,
|
|
1025
1170
|
onClickClearIcon = props.onClickClearIcon;
|
|
1026
1171
|
return /*#__PURE__*/React__default.default.createElement(reactFinalForm.Field, {
|
|
1027
|
-
|
|
1028
|
-
|
|
1172
|
+
name: name,
|
|
1173
|
+
initialValue: initialValue
|
|
1029
1174
|
}, function Render(_ref) {
|
|
1030
1175
|
var input = _ref.input,
|
|
1031
1176
|
meta = _ref.meta;
|
|
@@ -1041,40 +1186,42 @@ var FormFieldCustom = /*#__PURE__*/React__default.default.memo(function FormFiel
|
|
|
1041
1186
|
input: input,
|
|
1042
1187
|
meta: meta
|
|
1043
1188
|
}),
|
|
1044
|
-
isErrorState = _useFieldValidationSt.isErrorState,
|
|
1045
|
-
isValidState = _useFieldValidationSt.isValidState,
|
|
1046
1189
|
errorKey = _useFieldValidationSt.errorKey,
|
|
1047
|
-
errorMessage = _useFieldValidationSt.errorMessage
|
|
1190
|
+
errorMessage = _useFieldValidationSt.errorMessage,
|
|
1191
|
+
isErrorState = _useFieldValidationSt.isErrorState,
|
|
1192
|
+
isValidState = _useFieldValidationSt.isValidState;
|
|
1048
1193
|
var updatedInputProps = useValidationAppearanceInputProps({
|
|
1049
|
-
validationStateKey: isErrorState ? errorKey : 'success',
|
|
1050
1194
|
// For "Custom" field we pass all props. Can contain some special props, we don't known.
|
|
1051
|
-
inputProps: props
|
|
1195
|
+
inputProps: props,
|
|
1196
|
+
validationStateKey: isErrorState ? errorKey : 'success'
|
|
1052
1197
|
});
|
|
1198
|
+
var dataTestIdField = createDataTestIdField(input.name, dataTestId);
|
|
1053
1199
|
return /*#__PURE__*/React__default.default.createElement(FieldWrapper, Object.assign({
|
|
1054
1200
|
className: clsx__default.default('form-field_custom', 'form__item_custom', classNameGroupItem),
|
|
1201
|
+
dataTestId: dataTestIdField,
|
|
1055
1202
|
errorKey: errorKey,
|
|
1056
1203
|
errorMessage: errorMessage,
|
|
1057
1204
|
fieldClassName: 'form-custom',
|
|
1058
1205
|
inputName: input.name,
|
|
1059
1206
|
inputValue: input.value,
|
|
1207
|
+
metaActive: meta.active,
|
|
1208
|
+
metaError: meta.error,
|
|
1209
|
+
showMessage: showMessage,
|
|
1060
1210
|
isDisabled: isDisabled,
|
|
1061
1211
|
isErrorState: isErrorState,
|
|
1062
1212
|
isRequired: isRequired,
|
|
1063
|
-
isValidState: isValidState
|
|
1064
|
-
metaActive: meta.active,
|
|
1065
|
-
metaError: meta.error,
|
|
1066
|
-
showMessage: showMessage
|
|
1213
|
+
isValidState: isValidState
|
|
1067
1214
|
}, fieldProps), /*#__PURE__*/React__default.default.createElement(Component, Object.assign({}, updatedInputProps, {
|
|
1068
1215
|
input: input,
|
|
1069
|
-
|
|
1070
|
-
|
|
1216
|
+
meta: meta,
|
|
1217
|
+
isDisabled: isDisabled
|
|
1071
1218
|
})), clearIcon && /*#__PURE__*/React__default.default.createElement(Icon.Icon, {
|
|
1072
1219
|
className: "form-field__icon",
|
|
1220
|
+
size: clearIconSize,
|
|
1073
1221
|
iconFill: clearIconFill,
|
|
1074
1222
|
iconFillHover: clearIconFillHover,
|
|
1075
1223
|
imageSrc: clearIcon,
|
|
1076
1224
|
shape: clearIconShape,
|
|
1077
|
-
size: clearIconSize,
|
|
1078
1225
|
SvgImage: clearIcon,
|
|
1079
1226
|
onClick: onClickClearIcon
|
|
1080
1227
|
}));
|
|
@@ -1093,15 +1240,16 @@ var defaultDadataInputProps = {
|
|
|
1093
1240
|
};
|
|
1094
1241
|
|
|
1095
1242
|
var FormFieldDadataInput = /*#__PURE__*/React__default.default.memo(function FormFieldDadataInput(props) {
|
|
1096
|
-
var
|
|
1243
|
+
var dataTestId = props.dataTestId,
|
|
1244
|
+
name = props.name,
|
|
1097
1245
|
initialValue = props.initialValue,
|
|
1098
|
-
isDisabled = props.isDisabled,
|
|
1099
1246
|
classNameGroupItem = props.classNameGroupItem,
|
|
1100
1247
|
fieldProps = props.fieldProps,
|
|
1101
1248
|
inputProps = props.inputProps,
|
|
1102
1249
|
parse = props.parse,
|
|
1103
1250
|
showMessage = props.showMessage,
|
|
1104
1251
|
token = props.token,
|
|
1252
|
+
isDisabled = props.isDisabled,
|
|
1105
1253
|
isRequired = props.isRequired,
|
|
1106
1254
|
onDadataAutocomplete = props.onDadataAutocomplete;
|
|
1107
1255
|
if (process.env.NODE_ENV === 'development') {
|
|
@@ -1136,25 +1284,27 @@ var FormFieldDadataInput = /*#__PURE__*/React__default.default.memo(function For
|
|
|
1136
1284
|
}),
|
|
1137
1285
|
errorKey = _useFieldValidationSt.errorKey,
|
|
1138
1286
|
errorMessage = _useFieldValidationSt.errorMessage,
|
|
1139
|
-
isErrorState = _useFieldValidationSt.isErrorState,
|
|
1140
1287
|
successKey = _useFieldValidationSt.successKey,
|
|
1288
|
+
isErrorState = _useFieldValidationSt.isErrorState,
|
|
1141
1289
|
isValidState = _useFieldValidationSt.isValidState;
|
|
1142
1290
|
var updatedInputProps = useValidationAppearanceInputProps({
|
|
1143
1291
|
inputProps: inputProps,
|
|
1144
1292
|
validationStateKey: isErrorState ? errorKey : isValidState ? successKey : null
|
|
1145
1293
|
});
|
|
1294
|
+
var dataTestIdField = createDataTestIdField(input.name, dataTestId);
|
|
1146
1295
|
return /*#__PURE__*/React__default.default.createElement(FieldWrapper, Object.assign({
|
|
1147
1296
|
className: clsx__default.default('form-field_input-dadata', 'form__item_input-dadata', classNameGroupItem),
|
|
1297
|
+
dataTestId: dataTestIdField,
|
|
1148
1298
|
errorKey: errorKey,
|
|
1149
1299
|
errorMessage: errorMessage,
|
|
1150
|
-
isErrorState: isErrorState,
|
|
1151
|
-
metaError: meta.error,
|
|
1152
|
-
isDisabled: isDisabled,
|
|
1153
1300
|
fieldClassName: "form-dadata",
|
|
1154
1301
|
inputName: input.name,
|
|
1155
1302
|
inputValue: input.value || '',
|
|
1156
1303
|
metaActive: meta.active,
|
|
1304
|
+
metaError: meta.error,
|
|
1157
1305
|
showMessage: showMessage,
|
|
1306
|
+
isDisabled: isDisabled,
|
|
1307
|
+
isErrorState: isErrorState,
|
|
1158
1308
|
isRequired: isRequired,
|
|
1159
1309
|
isValidState: isValidState
|
|
1160
1310
|
}, fieldProps), /*#__PURE__*/React__default.default.createElement(Dadata.Dadata
|
|
@@ -1167,8 +1317,8 @@ var FormFieldDadataInput = /*#__PURE__*/React__default.default.memo(function For
|
|
|
1167
1317
|
input: input,
|
|
1168
1318
|
inputProps: updatedInputProps,
|
|
1169
1319
|
meta: meta,
|
|
1170
|
-
|
|
1171
|
-
|
|
1320
|
+
token: token,
|
|
1321
|
+
setValue: onDadataAutocomplete
|
|
1172
1322
|
}));
|
|
1173
1323
|
});
|
|
1174
1324
|
});
|
|
@@ -1187,8 +1337,8 @@ var defaultDatepickerProps = {
|
|
|
1187
1337
|
};
|
|
1188
1338
|
|
|
1189
1339
|
function FormFieldDatePicker(props) {
|
|
1190
|
-
var
|
|
1191
|
-
|
|
1340
|
+
var dataTestId = props.dataTestId,
|
|
1341
|
+
name = props.name,
|
|
1192
1342
|
classNameGroupItem = props.classNameGroupItem,
|
|
1193
1343
|
datePickerProps = props.datePickerProps,
|
|
1194
1344
|
_props$fieldProps = props.fieldProps,
|
|
@@ -1196,6 +1346,7 @@ function FormFieldDatePicker(props) {
|
|
|
1196
1346
|
_props$inputProps = props.inputProps,
|
|
1197
1347
|
inputProps = _props$inputProps === void 0 ? {} : _props$inputProps,
|
|
1198
1348
|
showMessage = props.showMessage,
|
|
1349
|
+
isDisabled = props.isDisabled,
|
|
1199
1350
|
isRequired = props.isRequired,
|
|
1200
1351
|
onChange = props.onChange;
|
|
1201
1352
|
return /*#__PURE__*/React__default.default.createElement(reactFinalForm.Field, {
|
|
@@ -1233,34 +1384,36 @@ function FormFieldDatePicker(props) {
|
|
|
1233
1384
|
}),
|
|
1234
1385
|
errorKey = _useFieldValidationSt.errorKey,
|
|
1235
1386
|
errorMessage = _useFieldValidationSt.errorMessage,
|
|
1236
|
-
isErrorState = _useFieldValidationSt.isErrorState,
|
|
1237
1387
|
successKey = _useFieldValidationSt.successKey,
|
|
1388
|
+
isErrorState = _useFieldValidationSt.isErrorState,
|
|
1238
1389
|
isValidState = _useFieldValidationSt.isValidState;
|
|
1239
1390
|
var updatedInputProps = useValidationAppearanceInputProps({
|
|
1240
1391
|
inputProps: inputProps,
|
|
1241
1392
|
validationStateKey: isErrorState ? errorKey : isValidState ? successKey : null
|
|
1242
1393
|
});
|
|
1394
|
+
var dataTestIdField = createDataTestIdField(input.name, dataTestId);
|
|
1243
1395
|
return /*#__PURE__*/React__default.default.createElement(FieldWrapper, Object.assign({
|
|
1244
1396
|
className: clsx__default.default('form-field_datepicker', 'form__item_datepicker', classNameGroupItem),
|
|
1397
|
+
dataTestId: dataTestIdField,
|
|
1245
1398
|
errorKey: errorKey,
|
|
1246
1399
|
errorMessage: errorMessage,
|
|
1247
|
-
isErrorState: isErrorState,
|
|
1248
|
-
metaError: meta.error,
|
|
1249
|
-
isDisabled: isDisabled,
|
|
1250
1400
|
fieldClassName: "form-datepicker",
|
|
1251
1401
|
inputName: input.name,
|
|
1252
1402
|
inputValue: input.value || '',
|
|
1253
1403
|
metaActive: meta.active,
|
|
1404
|
+
metaError: meta.error,
|
|
1254
1405
|
showMessage: showMessage,
|
|
1406
|
+
isDisabled: isDisabled,
|
|
1407
|
+
isErrorState: isErrorState,
|
|
1255
1408
|
isRequired: isRequired,
|
|
1256
1409
|
isValidState: isValidState
|
|
1257
1410
|
}, fieldProps), /*#__PURE__*/React__default.default.createElement(DatePicker.DatePickerInput, {
|
|
1258
1411
|
name: input.name,
|
|
1259
|
-
isDisabled: isDisabled,
|
|
1260
1412
|
datePickerProps: datePickerProps,
|
|
1261
1413
|
endValue: datePickerProps.selectsRange ? input.value.endDate : null,
|
|
1262
1414
|
inputProps: updatedInputProps,
|
|
1263
1415
|
value: datePickerProps.selectsRange ? input.value.startDate : input.value,
|
|
1416
|
+
isDisabled: isDisabled,
|
|
1264
1417
|
onBlur: input.onBlur,
|
|
1265
1418
|
onChange: onChangeField,
|
|
1266
1419
|
onFocus: input.onFocus
|
|
@@ -1508,7 +1661,7 @@ var FileInputDropzone = /*#__PURE__*/React__default.default.memo(function FileIn
|
|
|
1508
1661
|
});
|
|
1509
1662
|
};
|
|
1510
1663
|
}, []);
|
|
1511
|
-
var propsGenerator =
|
|
1664
|
+
var propsGenerator = hooks.useDevicePropsGenerator(props);
|
|
1512
1665
|
var fillClass = propsGenerator.fillClass,
|
|
1513
1666
|
fillHoverClass = propsGenerator.fillHoverClass,
|
|
1514
1667
|
borderColorClass = propsGenerator.borderColorClass,
|
|
@@ -1734,25 +1887,26 @@ function setFileDataURL(file, resolve) {
|
|
|
1734
1887
|
|
|
1735
1888
|
var FormFieldFileInput = /*#__PURE__*/React__default.default.memo(function FormFieldFileInput(props) {
|
|
1736
1889
|
var className = props.className,
|
|
1890
|
+
dataTestId = props.dataTestId,
|
|
1737
1891
|
name = props.name,
|
|
1738
1892
|
width = props.width,
|
|
1739
1893
|
maxFiles = props.maxFiles,
|
|
1740
1894
|
maxSize = props.maxSize,
|
|
1741
1895
|
label = props.label,
|
|
1742
|
-
fileErrorText = props.fileErrorText,
|
|
1743
1896
|
classNameGroupItem = props.classNameGroupItem,
|
|
1744
1897
|
dropzoneProps = props.dropzoneProps,
|
|
1745
1898
|
fieldProps = props.fieldProps,
|
|
1899
|
+
fileErrorText = props.fileErrorText,
|
|
1746
1900
|
hintDescription = props.hintDescription,
|
|
1747
1901
|
hintTitle = props.hintTitle,
|
|
1748
1902
|
showFilename = props.showFilename,
|
|
1749
1903
|
showMessage = props.showMessage,
|
|
1750
1904
|
isPreviews = props.isPreviews,
|
|
1751
1905
|
isRequired = props.isRequired,
|
|
1752
|
-
onAddFiles = props.onAddFiles,
|
|
1753
1906
|
onClickPreview = props.onClickPreview,
|
|
1907
|
+
onAddFiles = props.onAddFiles,
|
|
1754
1908
|
onDeleteFile = props.onDeleteFile;
|
|
1755
|
-
var propsGenerator =
|
|
1909
|
+
var propsGenerator = hooks.useDevicePropsGenerator(props);
|
|
1756
1910
|
var size = propsGenerator.size,
|
|
1757
1911
|
fill = propsGenerator.fill,
|
|
1758
1912
|
fillHover = propsGenerator.fillHover,
|
|
@@ -1813,25 +1967,27 @@ var FormFieldFileInput = /*#__PURE__*/React__default.default.memo(function FormF
|
|
|
1813
1967
|
inputProps: props,
|
|
1814
1968
|
validationStateKey: isErrorState ? errorKey : 'success'
|
|
1815
1969
|
});
|
|
1970
|
+
var dataTestIdField = createDataTestIdField(input.name, dataTestId);
|
|
1816
1971
|
|
|
1817
1972
|
/** TODO:
|
|
1818
1973
|
* REFACTOR PROPERTIES
|
|
1819
1974
|
*/
|
|
1820
1975
|
return /*#__PURE__*/React__default.default.createElement(FieldWrapper, Object.assign({
|
|
1821
1976
|
className: clsx__default.default('form-field_type_dropzone', 'form__item_type_dropzone', classNameGroupItem),
|
|
1977
|
+
dataTestId: dataTestIdField,
|
|
1822
1978
|
width: width,
|
|
1823
1979
|
label: label,
|
|
1824
1980
|
labelTextColor: labelTextColor,
|
|
1825
1981
|
errorKey: errorKey,
|
|
1826
1982
|
errorMessage: errorMessage,
|
|
1827
|
-
isErrorState: isErrorState,
|
|
1828
|
-
metaError: meta.error,
|
|
1829
1983
|
fieldClassName: "form-dropzone",
|
|
1830
1984
|
inputName: input.name,
|
|
1831
1985
|
inputValue: input.value,
|
|
1832
1986
|
metaActive: meta.active,
|
|
1987
|
+
metaError: meta.error,
|
|
1833
1988
|
metaTouched: meta.touched,
|
|
1834
1989
|
showMessage: showMessage,
|
|
1990
|
+
isErrorState: isErrorState,
|
|
1835
1991
|
isRequired: isRequired,
|
|
1836
1992
|
isValidState: isValidState
|
|
1837
1993
|
}, fieldProps), /*#__PURE__*/React__default.default.createElement(FileInputDropzone, {
|
|
@@ -1845,12 +2001,11 @@ var FormFieldFileInput = /*#__PURE__*/React__default.default.memo(function FormF
|
|
|
1845
2001
|
borderColorHover: borderColorHover,
|
|
1846
2002
|
borderType: borderType,
|
|
1847
2003
|
borderWidth: borderWidth,
|
|
2004
|
+
dropzoneProps: dropzoneProps,
|
|
1848
2005
|
errorMessageTextColor: errorMessageTextColor,
|
|
1849
2006
|
errorMessageTextSize: errorMessageTextSize,
|
|
1850
2007
|
errorMessageWeight: errorMessageTextWeight,
|
|
1851
2008
|
fileErrorText: fileErrorText,
|
|
1852
|
-
metaError: meta.error,
|
|
1853
|
-
dropzoneProps: dropzoneProps,
|
|
1854
2009
|
hintDescription: hintDescription,
|
|
1855
2010
|
hintDescriptionTextColor: hintDescriptionTextColor,
|
|
1856
2011
|
hintDescriptionTextSize: hintDescriptionTextSize,
|
|
@@ -1863,6 +2018,7 @@ var FormFieldFileInput = /*#__PURE__*/React__default.default.memo(function FormF
|
|
|
1863
2018
|
hintTitleTextWrap: hintTitleTextWrap,
|
|
1864
2019
|
inputName: input.name,
|
|
1865
2020
|
inputValue: input.value,
|
|
2021
|
+
metaError: meta.error,
|
|
1866
2022
|
metaTouched: meta.touched,
|
|
1867
2023
|
removeThumbAppearance: removeThumbAppearance,
|
|
1868
2024
|
removeThumbShape: removeThumbShape,
|
|
@@ -1881,8 +2037,8 @@ var FormFieldFileInput = /*#__PURE__*/React__default.default.memo(function FormF
|
|
|
1881
2037
|
thumbNameTextWeight: thumbNameTextWeight,
|
|
1882
2038
|
thumbNameTextWrap: thumbNameTextWrap,
|
|
1883
2039
|
isPreviews: isPreviews,
|
|
1884
|
-
onAddFiles: onAddFiles,
|
|
1885
2040
|
onClickPreview: onClickPreview,
|
|
2041
|
+
onAddFiles: onAddFiles,
|
|
1886
2042
|
onDeleteFile: onDeleteFile
|
|
1887
2043
|
}));
|
|
1888
2044
|
});
|
|
@@ -1901,8 +2057,9 @@ var defaultGroupProps = {
|
|
|
1901
2057
|
};
|
|
1902
2058
|
|
|
1903
2059
|
var FormBlockGroup = /*#__PURE__*/React__default.default.memo(function Group(props) {
|
|
1904
|
-
var
|
|
1905
|
-
|
|
2060
|
+
var className = props.className,
|
|
2061
|
+
dataTestId = props.dataTestId,
|
|
2062
|
+
dataTour = props.dataTour,
|
|
1906
2063
|
name = props.name,
|
|
1907
2064
|
title = props.title,
|
|
1908
2065
|
titleTextColor = props.titleTextColor,
|
|
@@ -1924,8 +2081,9 @@ var FormBlockGroup = /*#__PURE__*/React__default.default.memo(function Group(pro
|
|
|
1924
2081
|
children = props.children;
|
|
1925
2082
|
|
|
1926
2083
|
// @ts-expect-error
|
|
1927
|
-
var _useStyles =
|
|
2084
|
+
var _useStyles = hooks.useStyles(props),
|
|
1928
2085
|
styles = _useStyles.styles;
|
|
2086
|
+
var dataTestIdField = createDataTestIdField(name, dataTestId);
|
|
1929
2087
|
return /*#__PURE__*/React__default.default.createElement(reactFinalForm.Field, {
|
|
1930
2088
|
name: name
|
|
1931
2089
|
}, function Render(_ref) {
|
|
@@ -1952,6 +2110,7 @@ var FormBlockGroup = /*#__PURE__*/React__default.default.memo(function Group(pro
|
|
|
1952
2110
|
});
|
|
1953
2111
|
return /*#__PURE__*/React__default.default.createElement("div", {
|
|
1954
2112
|
className: clsx__default.default('form__group', className, isHidden && 'form__group_hidden', column && "form__group_column_" + column),
|
|
2113
|
+
"data-test-id": dataTestIdField,
|
|
1955
2114
|
"data-tour": dataTour,
|
|
1956
2115
|
style: styles
|
|
1957
2116
|
}, /*#__PURE__*/React__default.default.createElement("div", {
|
|
@@ -1959,12 +2118,14 @@ var FormBlockGroup = /*#__PURE__*/React__default.default.memo(function Group(pro
|
|
|
1959
2118
|
}, before, title && /*#__PURE__*/React__default.default.createElement("div", {
|
|
1960
2119
|
className: "form__group-title"
|
|
1961
2120
|
}, /*#__PURE__*/React__default.default.createElement(Title.Title, {
|
|
2121
|
+
dataTestId: dataTestIdField + "Title",
|
|
1962
2122
|
size: titleTextSize,
|
|
1963
2123
|
textColor: titleTextColor,
|
|
1964
2124
|
textWeight: titleTextWeight
|
|
1965
2125
|
}, title)), label && /*#__PURE__*/React__default.default.createElement("div", {
|
|
1966
2126
|
className: "form__group-label"
|
|
1967
2127
|
}, /*#__PURE__*/React__default.default.createElement(Text.Text, {
|
|
2128
|
+
dataTestId: dataTestIdField + "Label",
|
|
1968
2129
|
size: labelTextSize,
|
|
1969
2130
|
textColor: labelTextColor,
|
|
1970
2131
|
textWeight: labelTextWeight
|
|
@@ -1973,11 +2134,13 @@ var FormBlockGroup = /*#__PURE__*/React__default.default.memo(function Group(pro
|
|
|
1973
2134
|
}, children), after), showGroupMessage && /*#__PURE__*/React__default.default.createElement(React__default.default.Fragment, null, isErrorState && errorMessage && /*#__PURE__*/React__default.default.createElement(Text.Text, {
|
|
1974
2135
|
id: name + "-error",
|
|
1975
2136
|
className: "form__group-message form__group-message_type-" + errorKey,
|
|
2137
|
+
dataTestId: dataTestIdField + "MessageError",
|
|
1976
2138
|
size: updatedProps.messageTextSize,
|
|
1977
2139
|
textColor: updatedProps.messageTextColor,
|
|
1978
2140
|
textWeight: updatedProps.messageTextWeight
|
|
1979
2141
|
}, errorMessage), Boolean(message) && (!isErrorState || !errorMessage) && /*#__PURE__*/React__default.default.createElement(Text.Text, {
|
|
1980
2142
|
className: "form__group-message",
|
|
2143
|
+
dataTestId: name + "GroupMessage",
|
|
1981
2144
|
size: messageTextSize,
|
|
1982
2145
|
textColor: messageTextColor,
|
|
1983
2146
|
textWeight: messageTextWeight
|
|
@@ -2001,7 +2164,8 @@ var defaultInputProps = {
|
|
|
2001
2164
|
};
|
|
2002
2165
|
|
|
2003
2166
|
var FormFieldInput = /*#__PURE__*/React__default.default.memo(function FormFieldInput(props) {
|
|
2004
|
-
var
|
|
2167
|
+
var dataTestId = props.dataTestId,
|
|
2168
|
+
name = props.name,
|
|
2005
2169
|
initialValue = props.initialValue,
|
|
2006
2170
|
classNameGroupItem = props.classNameGroupItem,
|
|
2007
2171
|
clearIcon = props.clearIcon,
|
|
@@ -2053,8 +2217,10 @@ var FormFieldInput = /*#__PURE__*/React__default.default.memo(function FormField
|
|
|
2053
2217
|
inputProps: inputProps,
|
|
2054
2218
|
validationStateKey: isErrorState ? errorKey : isValidState ? successKey : null
|
|
2055
2219
|
});
|
|
2220
|
+
var dataTestIdField = createDataTestIdField(input.name, dataTestId);
|
|
2056
2221
|
return /*#__PURE__*/React__default.default.createElement(FieldWrapper, Object.assign({
|
|
2057
2222
|
className: clsx__default.default('form-field_input', 'form__item_input', classNameGroupItem),
|
|
2223
|
+
dataTestId: dataTestIdField,
|
|
2058
2224
|
errorKey: errorKey,
|
|
2059
2225
|
errorMessage: errorMessage,
|
|
2060
2226
|
fieldClassName: "form-input",
|
|
@@ -2069,7 +2235,7 @@ var FormFieldInput = /*#__PURE__*/React__default.default.memo(function FormField
|
|
|
2069
2235
|
isValidState: isValidState
|
|
2070
2236
|
}, fieldProps), /*#__PURE__*/React__default.default.createElement(Input.Input, Object.assign({
|
|
2071
2237
|
className: clsx__default.default(meta.active && 'input_state_focus', meta.error && meta.touched && "input_state_" + errorKey),
|
|
2072
|
-
dataTestId:
|
|
2238
|
+
dataTestId: dataTestIdField + "Input",
|
|
2073
2239
|
type: "text",
|
|
2074
2240
|
name: input.name,
|
|
2075
2241
|
autoComplete: "nope",
|
|
@@ -2080,6 +2246,7 @@ var FormFieldInput = /*#__PURE__*/React__default.default.memo(function FormField
|
|
|
2080
2246
|
onFocus: input.onFocus
|
|
2081
2247
|
}, updatedInputProps)), clearIcon && /*#__PURE__*/React__default.default.createElement(Icon.Icon, {
|
|
2082
2248
|
className: "form-field__icon",
|
|
2249
|
+
dataTestId: dataTestIdField + "InputIcon",
|
|
2083
2250
|
size: clearIconSize,
|
|
2084
2251
|
iconFill: clearIconFill,
|
|
2085
2252
|
iconFillHover: clearIconFillHover,
|
|
@@ -2097,7 +2264,8 @@ var defaultInputNumberProps = {
|
|
|
2097
2264
|
};
|
|
2098
2265
|
|
|
2099
2266
|
var FormFieldInputNumber = /*#__PURE__*/React__default.default.memo(function FormFieldInputNumber(props) {
|
|
2100
|
-
var
|
|
2267
|
+
var dataTestId = props.dataTestId,
|
|
2268
|
+
_props$type = props.type,
|
|
2101
2269
|
type = _props$type === void 0 ? 'custom' : _props$type,
|
|
2102
2270
|
name = props.name,
|
|
2103
2271
|
initialValue = props.initialValue,
|
|
@@ -2136,8 +2304,10 @@ var FormFieldInputNumber = /*#__PURE__*/React__default.default.memo(function For
|
|
|
2136
2304
|
var updatedInputProps = useValidationAppearanceInputProps({
|
|
2137
2305
|
inputProps: inputProps
|
|
2138
2306
|
});
|
|
2307
|
+
var dataTestIdField = createDataTestIdField(input.name, dataTestId);
|
|
2139
2308
|
return /*#__PURE__*/React__default.default.createElement(FieldWrapper, Object.assign({
|
|
2140
2309
|
className: clsx__default.default('form-field_input-number', 'form__item_input-number', classNameGroupItem),
|
|
2310
|
+
dataTestId: dataTestIdField,
|
|
2141
2311
|
errorKey: errorKey,
|
|
2142
2312
|
errorMessage: errorMessage,
|
|
2143
2313
|
fieldClassName: "form-input-number",
|
|
@@ -2152,7 +2322,7 @@ var FormFieldInputNumber = /*#__PURE__*/React__default.default.memo(function For
|
|
|
2152
2322
|
isValidState: isValidState
|
|
2153
2323
|
}, fieldProps), /*#__PURE__*/React__default.default.createElement(InputNumber.InputNumber, Object.assign({
|
|
2154
2324
|
className: clsx__default.default(meta.active && 'input_state_focus', (meta.submitFailed || meta.touched) && meta.error && "input_state_" + errorKey),
|
|
2155
|
-
dataTestId:
|
|
2325
|
+
dataTestId: dataTestIdField + "InputNumber",
|
|
2156
2326
|
type: type,
|
|
2157
2327
|
name: input.name,
|
|
2158
2328
|
value: input.value || 0,
|
|
@@ -2162,7 +2332,8 @@ var FormFieldInputNumber = /*#__PURE__*/React__default.default.memo(function For
|
|
|
2162
2332
|
});
|
|
2163
2333
|
|
|
2164
2334
|
var FormFieldMaskedInput = /*#__PURE__*/React__default.default.memo(function FormFieldMaskedInput(props) {
|
|
2165
|
-
var
|
|
2335
|
+
var dataTestId = props.dataTestId,
|
|
2336
|
+
name = props.name,
|
|
2166
2337
|
initialValue = props.initialValue,
|
|
2167
2338
|
classNameGroupItem = props.classNameGroupItem,
|
|
2168
2339
|
clearIcon = props.clearIcon,
|
|
@@ -2224,8 +2395,10 @@ var FormFieldMaskedInput = /*#__PURE__*/React__default.default.memo(function For
|
|
|
2224
2395
|
inputProps: inputProps,
|
|
2225
2396
|
validationStateKey: isErrorState ? errorKey : isValidState ? successKey : null
|
|
2226
2397
|
});
|
|
2398
|
+
var dataTestIdField = createDataTestIdField(input.name, dataTestId);
|
|
2227
2399
|
return /*#__PURE__*/React__default.default.createElement(FieldWrapper, Object.assign({
|
|
2228
2400
|
className: clsx__default.default('form-field-masked-input', 'form__item_masked-input', classNameGroupItem),
|
|
2401
|
+
dataTestId: dataTestIdField,
|
|
2229
2402
|
errorKey: errorKey,
|
|
2230
2403
|
errorMessage: errorMessage,
|
|
2231
2404
|
fieldClassName: 'form-maskedInput',
|
|
@@ -2269,7 +2442,8 @@ var defaultPasswordProps = {
|
|
|
2269
2442
|
};
|
|
2270
2443
|
|
|
2271
2444
|
var FormFieldPassword = /*#__PURE__*/React__default.default.memo(function FormFieldPassword(props) {
|
|
2272
|
-
var
|
|
2445
|
+
var dataTestId = props.dataTestId,
|
|
2446
|
+
name = props.name,
|
|
2273
2447
|
initialValue = props.initialValue,
|
|
2274
2448
|
classNameGroupItem = props.classNameGroupItem,
|
|
2275
2449
|
fieldProps = props.fieldProps,
|
|
@@ -2313,8 +2487,10 @@ var FormFieldPassword = /*#__PURE__*/React__default.default.memo(function FormFi
|
|
|
2313
2487
|
inputProps: inputProps,
|
|
2314
2488
|
validationStateKey: isErrorState ? errorKey : isValidState ? successKey : null
|
|
2315
2489
|
});
|
|
2490
|
+
var dataTestIdField = createDataTestIdField(input.name, dataTestId);
|
|
2316
2491
|
return /*#__PURE__*/React__default.default.createElement(FieldWrapper, Object.assign({
|
|
2317
2492
|
className: clsx__default.default('form-field_input-password', 'form__item_input-password', classNameGroupItem),
|
|
2493
|
+
dataTestId: dataTestIdField,
|
|
2318
2494
|
errorKey: errorKey,
|
|
2319
2495
|
errorMessage: errorMessage,
|
|
2320
2496
|
fieldClassName: "form-password",
|
|
@@ -2329,7 +2505,7 @@ var FormFieldPassword = /*#__PURE__*/React__default.default.memo(function FormFi
|
|
|
2329
2505
|
isValidState: isValidState
|
|
2330
2506
|
}, fieldProps), /*#__PURE__*/React__default.default.createElement(InputPassword.InputPassword, Object.assign({
|
|
2331
2507
|
className: clsx__default.default(meta.active && 'input-password_state_focus', meta.error && meta.touched && "input-password_state_" + errorKey),
|
|
2332
|
-
dataTestId:
|
|
2508
|
+
dataTestId: dataTestIdField + "InputPassword",
|
|
2333
2509
|
name: input.name,
|
|
2334
2510
|
autoComplete: "nope",
|
|
2335
2511
|
value: input.value || '',
|
|
@@ -2384,8 +2560,9 @@ function FormFieldRadioGroupList(props) {
|
|
|
2384
2560
|
}
|
|
2385
2561
|
|
|
2386
2562
|
var FormFieldRadioGroup = /*#__PURE__*/React__default.default.memo(function FormFieldRadioGroup(props) {
|
|
2387
|
-
var
|
|
2388
|
-
|
|
2563
|
+
var dataTestId = props.dataTestId,
|
|
2564
|
+
name = props.name,
|
|
2565
|
+
classNameGroupItem = props.classNameGroupItem,
|
|
2389
2566
|
_props$editableProps = props.editableProps,
|
|
2390
2567
|
editableProps = _props$editableProps === void 0 ? {} : _props$editableProps,
|
|
2391
2568
|
_props$fieldProps = props.fieldProps,
|
|
@@ -2394,8 +2571,8 @@ var FormFieldRadioGroup = /*#__PURE__*/React__default.default.memo(function Form
|
|
|
2394
2571
|
inputProps = _props$inputProps === void 0 ? {} : _props$inputProps,
|
|
2395
2572
|
_props$options = props.options,
|
|
2396
2573
|
options = _props$options === void 0 ? [] : _props$options,
|
|
2397
|
-
classNameGroupItem = props.classNameGroupItem,
|
|
2398
2574
|
showMessage = props.showMessage,
|
|
2575
|
+
isDisabled = props.isDisabled,
|
|
2399
2576
|
isRequired = props.isRequired,
|
|
2400
2577
|
onChange = props.onChange;
|
|
2401
2578
|
return /*#__PURE__*/React__default.default.createElement(reactFinalForm.Field, {
|
|
@@ -2423,26 +2600,28 @@ var FormFieldRadioGroup = /*#__PURE__*/React__default.default.memo(function Form
|
|
|
2423
2600
|
inputProps: inputProps,
|
|
2424
2601
|
validationStateKey: isErrorState ? errorKey : 'success'
|
|
2425
2602
|
});
|
|
2603
|
+
var dataTestIdField = createDataTestIdField(input.name, dataTestId);
|
|
2426
2604
|
return /*#__PURE__*/React__default.default.createElement(FieldWrapper, Object.assign({
|
|
2427
2605
|
className: clsx__default.default('form-field_radio', 'form__item_radio', classNameGroupItem),
|
|
2606
|
+
dataTestId: dataTestIdField,
|
|
2428
2607
|
errorKey: errorKey,
|
|
2429
2608
|
errorMessage: errorMessage,
|
|
2430
|
-
isErrorState: isErrorState,
|
|
2431
|
-
metaError: meta.error,
|
|
2432
|
-
isDisabled: isDisabled,
|
|
2433
2609
|
fieldClassName: 'form-radio',
|
|
2434
2610
|
inputName: input.name,
|
|
2435
2611
|
inputValue: input.value || '',
|
|
2436
2612
|
metaActive: meta.active,
|
|
2613
|
+
metaError: meta.error,
|
|
2437
2614
|
showMessage: showMessage,
|
|
2615
|
+
isDisabled: isDisabled,
|
|
2616
|
+
isErrorState: isErrorState,
|
|
2438
2617
|
isRequired: isRequired,
|
|
2439
2618
|
isValidState: isValidState
|
|
2440
2619
|
}, fieldProps), /*#__PURE__*/React__default.default.createElement(FormFieldRadioGroupList, {
|
|
2441
|
-
isDisabled: isDisabled,
|
|
2442
2620
|
editableProps: editableProps,
|
|
2443
2621
|
input: input,
|
|
2444
2622
|
inputProps: updatedInputProps,
|
|
2445
2623
|
options: options,
|
|
2624
|
+
isDisabled: isDisabled,
|
|
2446
2625
|
onChange: onChange
|
|
2447
2626
|
}));
|
|
2448
2627
|
});
|
|
@@ -2459,12 +2638,13 @@ var defaultSegmentedProps = {
|
|
|
2459
2638
|
};
|
|
2460
2639
|
|
|
2461
2640
|
function FormFieldSegmented(props) {
|
|
2462
|
-
var
|
|
2463
|
-
|
|
2641
|
+
var dataTestId = props.dataTestId,
|
|
2642
|
+
name = props.name,
|
|
2464
2643
|
fieldProps = props.fieldProps,
|
|
2465
2644
|
inputProps = props.inputProps,
|
|
2466
2645
|
options = props.options,
|
|
2467
2646
|
showMessage = props.showMessage,
|
|
2647
|
+
isDisabled = props.isDisabled,
|
|
2468
2648
|
isRequired = props.isRequired;
|
|
2469
2649
|
var _useForm = reactFinalForm.useForm(),
|
|
2470
2650
|
change = _useForm.change;
|
|
@@ -2503,31 +2683,33 @@ function FormFieldSegmented(props) {
|
|
|
2503
2683
|
}),
|
|
2504
2684
|
errorKey = _useFieldValidationSt.errorKey,
|
|
2505
2685
|
errorMessage = _useFieldValidationSt.errorMessage,
|
|
2506
|
-
isErrorState = _useFieldValidationSt.isErrorState,
|
|
2507
2686
|
successKey = _useFieldValidationSt.successKey,
|
|
2687
|
+
isErrorState = _useFieldValidationSt.isErrorState,
|
|
2508
2688
|
isValidState = _useFieldValidationSt.isValidState;
|
|
2509
2689
|
var updatedInputProps = useValidationAppearanceInputProps({
|
|
2510
2690
|
inputProps: inputProps,
|
|
2511
2691
|
validationStateKey: isErrorState ? errorKey : isValidState ? successKey : null
|
|
2512
2692
|
});
|
|
2693
|
+
var dataTestIdField = createDataTestIdField(input.name, dataTestId);
|
|
2513
2694
|
return /*#__PURE__*/React__default.default.createElement(FieldWrapper, Object.assign({
|
|
2514
2695
|
className: clsx__default.default('form-field_segmented', 'form__item_segmented'),
|
|
2696
|
+
dataTestId: dataTestIdField,
|
|
2515
2697
|
errorKey: errorKey,
|
|
2516
2698
|
errorMessage: errorMessage,
|
|
2517
|
-
isErrorState: isErrorState,
|
|
2518
|
-
metaError: meta.error,
|
|
2519
|
-
isDisabled: isDisabled,
|
|
2520
2699
|
fieldClassName: "form-segmented",
|
|
2521
2700
|
inputName: input.name,
|
|
2522
2701
|
inputValue: input.value || [],
|
|
2523
2702
|
metaActive: meta.active,
|
|
2703
|
+
metaError: meta.error,
|
|
2524
2704
|
showMessage: showMessage,
|
|
2705
|
+
isDisabled: isDisabled,
|
|
2706
|
+
isErrorState: isErrorState,
|
|
2525
2707
|
isRequired: isRequired,
|
|
2526
2708
|
isValidState: isValidState
|
|
2527
2709
|
}, fieldProps), /*#__PURE__*/React__default.default.createElement(Segmented.Segmented, Object.assign({
|
|
2528
|
-
isDisabled: isDisabled,
|
|
2529
2710
|
activeSegment: activeOption,
|
|
2530
2711
|
segments: options,
|
|
2712
|
+
isDisabled: isDisabled,
|
|
2531
2713
|
setActiveSegment: setActiveSegment
|
|
2532
2714
|
}, updatedInputProps)));
|
|
2533
2715
|
});
|
|
@@ -2563,17 +2745,18 @@ function getDefaultValue(options, selectValue) {
|
|
|
2563
2745
|
return result;
|
|
2564
2746
|
}
|
|
2565
2747
|
var FormFieldSelect = /*#__PURE__*/React__default.default.memo(function FormFieldSelect(props) {
|
|
2566
|
-
var
|
|
2567
|
-
|
|
2748
|
+
var dataTestId = props.dataTestId,
|
|
2749
|
+
name = props.name,
|
|
2750
|
+
initialValue = props.initialValue,
|
|
2568
2751
|
classNameGroupItem = props.classNameGroupItem,
|
|
2569
2752
|
fieldProps = props.fieldProps,
|
|
2570
|
-
initialValue = props.initialValue,
|
|
2571
|
-
name = props.name,
|
|
2572
2753
|
_props$options = props.options,
|
|
2573
2754
|
options = _props$options === void 0 ? [] : _props$options,
|
|
2574
2755
|
selectProps = props.selectProps,
|
|
2575
2756
|
selectRef = props.selectRef,
|
|
2576
2757
|
showMessage = props.showMessage,
|
|
2758
|
+
isDisabled = props.isDisabled,
|
|
2759
|
+
isRequired = props.isRequired,
|
|
2577
2760
|
onChange = props.onChange,
|
|
2578
2761
|
onInputChange = props.onInputChange;
|
|
2579
2762
|
return /*#__PURE__*/React__default.default.createElement(reactFinalForm.Field, {
|
|
@@ -2625,34 +2808,36 @@ var FormFieldSelect = /*#__PURE__*/React__default.default.memo(function FormFiel
|
|
|
2625
2808
|
}),
|
|
2626
2809
|
errorKey = _useFieldValidationSt.errorKey,
|
|
2627
2810
|
errorMessage = _useFieldValidationSt.errorMessage,
|
|
2628
|
-
isErrorState = _useFieldValidationSt.isErrorState,
|
|
2629
2811
|
successKey = _useFieldValidationSt.successKey,
|
|
2812
|
+
isErrorState = _useFieldValidationSt.isErrorState,
|
|
2630
2813
|
isValidState = _useFieldValidationSt.isValidState;
|
|
2631
2814
|
var updatedSelectProps = useValidationAppearanceInputProps({
|
|
2632
2815
|
inputProps: selectProps,
|
|
2633
2816
|
validationStateKey: isErrorState ? errorKey : isValidState ? successKey : null
|
|
2634
2817
|
});
|
|
2818
|
+
var dataTestIdField = createDataTestIdField(input.name, dataTestId);
|
|
2635
2819
|
return /*#__PURE__*/React__default.default.createElement(FieldWrapper, Object.assign({
|
|
2636
2820
|
className: clsx__default.default('form-field_select', 'form__item_select', classNameGroupItem),
|
|
2821
|
+
dataTestId: dataTestIdField,
|
|
2637
2822
|
errorKey: errorKey,
|
|
2638
2823
|
errorMessage: errorMessage,
|
|
2639
|
-
isErrorState: isErrorState,
|
|
2640
|
-
metaError: meta.error,
|
|
2641
|
-
isDisabled: isDisabled,
|
|
2642
2824
|
fieldClassName: 'form-select',
|
|
2643
2825
|
inputName: input.name,
|
|
2644
2826
|
inputValue: input.value,
|
|
2645
2827
|
metaActive: meta.active,
|
|
2828
|
+
metaError: meta.error,
|
|
2646
2829
|
showMessage: showMessage,
|
|
2830
|
+
isDisabled: isDisabled,
|
|
2831
|
+
isErrorState: isErrorState,
|
|
2647
2832
|
isRequired: isRequired,
|
|
2648
2833
|
isValidState: isValidState
|
|
2649
2834
|
}, fieldProps), /*#__PURE__*/React__default.default.createElement(Select.Select, Object.assign({
|
|
2650
2835
|
className: "form-select-item",
|
|
2651
2836
|
ref: selectRef,
|
|
2652
|
-
isDisabled: isDisabled,
|
|
2653
2837
|
instanceId: "id_" + input.name,
|
|
2654
2838
|
options: options,
|
|
2655
2839
|
value: selectedOptions,
|
|
2840
|
+
isDisabled: isDisabled,
|
|
2656
2841
|
onChange: onChangeValue,
|
|
2657
2842
|
onInputChange: onInputChange
|
|
2658
2843
|
}, updatedSelectProps)));
|
|
@@ -2667,14 +2852,15 @@ var defaultSwitchProps = {
|
|
|
2667
2852
|
};
|
|
2668
2853
|
|
|
2669
2854
|
var FormFieldSwitch = /*#__PURE__*/React__default.default.memo(function FormFieldSwitch(props) {
|
|
2670
|
-
var
|
|
2671
|
-
|
|
2855
|
+
var dataTestId = props.dataTestId,
|
|
2856
|
+
name = props.name,
|
|
2672
2857
|
classNameGroupItem = props.classNameGroupItem,
|
|
2673
2858
|
_props$fieldProps = props.fieldProps,
|
|
2674
2859
|
fieldProps = _props$fieldProps === void 0 ? {} : _props$fieldProps,
|
|
2675
2860
|
_props$inputProps = props.inputProps,
|
|
2676
2861
|
inputProps = _props$inputProps === void 0 ? {} : _props$inputProps,
|
|
2677
2862
|
showMessage = props.showMessage,
|
|
2863
|
+
isDisabled = props.isDisabled,
|
|
2678
2864
|
isRequired = props.isRequired,
|
|
2679
2865
|
onChange = props.onChange;
|
|
2680
2866
|
return /*#__PURE__*/React__default.default.createElement(reactFinalForm.Field, {
|
|
@@ -2703,34 +2889,36 @@ var FormFieldSwitch = /*#__PURE__*/React__default.default.memo(function FormFiel
|
|
|
2703
2889
|
}),
|
|
2704
2890
|
errorKey = _useFieldValidationSt.errorKey,
|
|
2705
2891
|
errorMessage = _useFieldValidationSt.errorMessage,
|
|
2706
|
-
isErrorState = _useFieldValidationSt.isErrorState,
|
|
2707
2892
|
successKey = _useFieldValidationSt.successKey,
|
|
2893
|
+
isErrorState = _useFieldValidationSt.isErrorState,
|
|
2708
2894
|
isValidState = _useFieldValidationSt.isValidState;
|
|
2709
2895
|
var updatedInputProps = useValidationAppearanceInputProps({
|
|
2710
2896
|
inputProps: inputProps,
|
|
2711
2897
|
validationStateKey: isErrorState ? errorKey : isValidState ? successKey : null
|
|
2712
2898
|
});
|
|
2899
|
+
var dataTestIdField = createDataTestIdField(input.name, dataTestId);
|
|
2713
2900
|
return /*#__PURE__*/React__default.default.createElement(FieldWrapper, Object.assign({
|
|
2714
2901
|
className: clsx__default.default('form-field-switch', 'form__item_switch', classNameGroupItem),
|
|
2902
|
+
dataTestId: dataTestIdField,
|
|
2715
2903
|
errorKey: errorKey,
|
|
2716
2904
|
errorMessage: errorMessage,
|
|
2717
|
-
isErrorState: isErrorState,
|
|
2718
|
-
metaError: meta.error,
|
|
2719
|
-
isDisabled: isDisabled,
|
|
2720
2905
|
fieldClassName: "form-switch",
|
|
2721
2906
|
inputName: input.name,
|
|
2722
2907
|
inputValue: input.checked,
|
|
2723
2908
|
metaActive: meta.active,
|
|
2909
|
+
metaError: meta.error,
|
|
2724
2910
|
showMessage: showMessage,
|
|
2725
2911
|
tag: "label",
|
|
2912
|
+
isDisabled: isDisabled,
|
|
2913
|
+
isErrorState: isErrorState,
|
|
2726
2914
|
isRequired: isRequired,
|
|
2727
2915
|
isValidState: isValidState
|
|
2728
2916
|
}, fieldProps), /*#__PURE__*/React__default.default.createElement(Switch.Switch, Object.assign({
|
|
2729
2917
|
type: "checkbox",
|
|
2730
2918
|
name: input.name,
|
|
2731
|
-
isDisabled: isDisabled,
|
|
2732
2919
|
autoComplete: "nope",
|
|
2733
2920
|
isActive: input.checked,
|
|
2921
|
+
isDisabled: isDisabled,
|
|
2734
2922
|
onBlur: input.onBlur,
|
|
2735
2923
|
onChange: onChangeField,
|
|
2736
2924
|
onFocus: input.onFocus
|
|
@@ -2750,7 +2938,8 @@ var defaultTextareaProps = {
|
|
|
2750
2938
|
};
|
|
2751
2939
|
|
|
2752
2940
|
var FormFieldTextarea = /*#__PURE__*/React__default.default.memo(function FormFieldTextarea(props) {
|
|
2753
|
-
var
|
|
2941
|
+
var dataTestId = props.dataTestId,
|
|
2942
|
+
name = props.name,
|
|
2754
2943
|
classNameGroupItem = props.classNameGroupItem,
|
|
2755
2944
|
_props$fieldProps = props.fieldProps,
|
|
2756
2945
|
fieldProps = _props$fieldProps === void 0 ? {} : _props$fieldProps,
|
|
@@ -2785,8 +2974,10 @@ var FormFieldTextarea = /*#__PURE__*/React__default.default.memo(function FormFi
|
|
|
2785
2974
|
inputProps: inputProps,
|
|
2786
2975
|
validationStateKey: isErrorState ? errorKey : isValidState ? successKey : null
|
|
2787
2976
|
});
|
|
2977
|
+
var dataTestIdField = createDataTestIdField(input.name, dataTestId);
|
|
2788
2978
|
return /*#__PURE__*/React__default.default.createElement(FieldWrapper, Object.assign({
|
|
2789
2979
|
className: clsx__default.default('form-field_textarea', 'form__item_textarea', classNameGroupItem),
|
|
2980
|
+
dataTestId: dataTestIdField,
|
|
2790
2981
|
errorKey: errorKey,
|
|
2791
2982
|
errorMessage: errorMessage,
|
|
2792
2983
|
fieldClassName: 'form-textarea',
|
|
@@ -2801,7 +2992,7 @@ var FormFieldTextarea = /*#__PURE__*/React__default.default.memo(function FormFi
|
|
|
2801
2992
|
isValidState: isValidState
|
|
2802
2993
|
}, fieldProps), /*#__PURE__*/React__default.default.createElement(Textarea.Textarea, Object.assign({
|
|
2803
2994
|
className: clsx__default.default(meta.active && 'textarea_state_focus', meta.error && meta.touched && "textarea_state_" + errorKey),
|
|
2804
|
-
dataTestId:
|
|
2995
|
+
dataTestId: dataTestIdField + "Textarea",
|
|
2805
2996
|
name: input.name,
|
|
2806
2997
|
autoComplete: "nope",
|
|
2807
2998
|
value: input.value || '',
|
|
@@ -2834,115 +3025,151 @@ var formTypes = {
|
|
|
2834
3025
|
select: 'select',
|
|
2835
3026
|
"switch": 'switch'
|
|
2836
3027
|
};
|
|
2837
|
-
function generateField(field, config,
|
|
3028
|
+
function generateField(field, config, dataTestId) {
|
|
2838
3029
|
switch (field.type) {
|
|
2839
3030
|
case formTypes.password:
|
|
2840
3031
|
{
|
|
2841
3032
|
return /*#__PURE__*/React__default.default.createElement(FormFieldPassword, Object.assign({
|
|
2842
3033
|
key: config.key
|
|
2843
|
-
}, field,
|
|
3034
|
+
}, field, {
|
|
3035
|
+
dataTestId: dataTestId
|
|
3036
|
+
}));
|
|
2844
3037
|
}
|
|
2845
3038
|
case formTypes.checkbox:
|
|
2846
3039
|
{
|
|
2847
3040
|
return /*#__PURE__*/React__default.default.createElement(FormFieldCheckbox, Object.assign({
|
|
2848
3041
|
key: config.key
|
|
2849
|
-
}, field,
|
|
3042
|
+
}, field, {
|
|
3043
|
+
dataTestId: dataTestId
|
|
3044
|
+
}));
|
|
2850
3045
|
}
|
|
2851
3046
|
case formTypes.choice:
|
|
2852
3047
|
{
|
|
2853
3048
|
return /*#__PURE__*/React__default.default.createElement(FormFieldChoice, Object.assign({
|
|
2854
3049
|
key: config.key
|
|
2855
|
-
}, field,
|
|
3050
|
+
}, field, {
|
|
3051
|
+
dataTestId: dataTestId
|
|
3052
|
+
}));
|
|
2856
3053
|
}
|
|
2857
3054
|
case formTypes.code:
|
|
2858
3055
|
{
|
|
2859
3056
|
return /*#__PURE__*/React__default.default.createElement(FormFieldCode, Object.assign({
|
|
2860
3057
|
key: config.key
|
|
2861
|
-
}, field,
|
|
3058
|
+
}, field, {
|
|
3059
|
+
dataTestId: dataTestId
|
|
3060
|
+
}));
|
|
2862
3061
|
}
|
|
2863
3062
|
case formTypes.chips:
|
|
2864
3063
|
{
|
|
2865
3064
|
return /*#__PURE__*/React__default.default.createElement(FormFieldChips, Object.assign({
|
|
2866
3065
|
key: config.key
|
|
2867
|
-
}, field,
|
|
3066
|
+
}, field, {
|
|
3067
|
+
dataTestId: dataTestId
|
|
3068
|
+
}));
|
|
2868
3069
|
}
|
|
2869
3070
|
case formTypes["switch"]:
|
|
2870
3071
|
{
|
|
2871
3072
|
return /*#__PURE__*/React__default.default.createElement(FormFieldSwitch, Object.assign({
|
|
2872
3073
|
key: config.key
|
|
2873
|
-
}, field,
|
|
3074
|
+
}, field, {
|
|
3075
|
+
dataTestId: dataTestId
|
|
3076
|
+
}));
|
|
2874
3077
|
}
|
|
2875
3078
|
case formTypes.segmented:
|
|
2876
3079
|
{
|
|
2877
3080
|
return /*#__PURE__*/React__default.default.createElement(FormFieldSegmented, Object.assign({
|
|
2878
3081
|
key: config.key
|
|
2879
|
-
}, field,
|
|
3082
|
+
}, field, {
|
|
3083
|
+
dataTestId: dataTestId
|
|
3084
|
+
}));
|
|
2880
3085
|
}
|
|
2881
3086
|
case formTypes.datePicker:
|
|
2882
3087
|
{
|
|
2883
3088
|
return /*#__PURE__*/React__default.default.createElement(FormFieldDatePicker, Object.assign({
|
|
2884
3089
|
key: config.key
|
|
2885
|
-
}, field,
|
|
3090
|
+
}, field, {
|
|
3091
|
+
dataTestId: dataTestId
|
|
3092
|
+
}));
|
|
2886
3093
|
}
|
|
2887
3094
|
case formTypes.fileInput:
|
|
2888
3095
|
{
|
|
2889
3096
|
return /*#__PURE__*/React__default.default.createElement(FormFieldFileInput, Object.assign({
|
|
2890
3097
|
key: config.key
|
|
2891
|
-
}, field,
|
|
3098
|
+
}, field, {
|
|
3099
|
+
dataTestId: dataTestId
|
|
3100
|
+
}));
|
|
2892
3101
|
}
|
|
2893
3102
|
case formTypes.radioGroup:
|
|
2894
3103
|
{
|
|
2895
3104
|
return /*#__PURE__*/React__default.default.createElement(FormFieldRadioGroup, Object.assign({
|
|
2896
3105
|
key: config.key
|
|
2897
|
-
}, field,
|
|
3106
|
+
}, field, {
|
|
3107
|
+
dataTestId: dataTestId
|
|
3108
|
+
}));
|
|
2898
3109
|
}
|
|
2899
3110
|
case formTypes.select:
|
|
2900
3111
|
{
|
|
2901
3112
|
return /*#__PURE__*/React__default.default.createElement(FormFieldSelect, Object.assign({
|
|
2902
3113
|
key: config.key
|
|
2903
|
-
}, field,
|
|
3114
|
+
}, field, {
|
|
3115
|
+
dataTestId: dataTestId
|
|
3116
|
+
}));
|
|
2904
3117
|
}
|
|
2905
3118
|
case formTypes.text:
|
|
2906
3119
|
{
|
|
2907
3120
|
return /*#__PURE__*/React__default.default.createElement(FormFieldInput, Object.assign({
|
|
2908
3121
|
key: config.key
|
|
2909
|
-
}, field,
|
|
3122
|
+
}, field, {
|
|
3123
|
+
dataTestId: dataTestId
|
|
3124
|
+
}));
|
|
2910
3125
|
}
|
|
2911
3126
|
case formTypes.textarea:
|
|
2912
3127
|
{
|
|
2913
3128
|
return /*#__PURE__*/React__default.default.createElement(FormFieldTextarea, Object.assign({
|
|
2914
3129
|
key: config.key
|
|
2915
|
-
}, field,
|
|
3130
|
+
}, field, {
|
|
3131
|
+
dataTestId: dataTestId
|
|
3132
|
+
}));
|
|
2916
3133
|
}
|
|
2917
3134
|
case formTypes.maskedInput:
|
|
2918
3135
|
{
|
|
2919
3136
|
return /*#__PURE__*/React__default.default.createElement(FormFieldMaskedInput, Object.assign({
|
|
2920
3137
|
key: config.key
|
|
2921
|
-
}, field,
|
|
3138
|
+
}, field, {
|
|
3139
|
+
dataTestId: dataTestId
|
|
3140
|
+
}));
|
|
2922
3141
|
}
|
|
2923
3142
|
case formTypes.custom:
|
|
2924
3143
|
{
|
|
2925
3144
|
return /*#__PURE__*/React__default.default.createElement(FormFieldCustom, Object.assign({
|
|
2926
3145
|
key: config.key
|
|
2927
|
-
}, field,
|
|
3146
|
+
}, field, {
|
|
3147
|
+
dataTestId: dataTestId
|
|
3148
|
+
}));
|
|
2928
3149
|
}
|
|
2929
3150
|
case formTypes.dadataInput:
|
|
2930
3151
|
{
|
|
2931
3152
|
return /*#__PURE__*/React__default.default.createElement(FormFieldDadataInput, Object.assign({
|
|
2932
3153
|
key: config.key
|
|
2933
|
-
}, field,
|
|
3154
|
+
}, field, {
|
|
3155
|
+
dataTestId: dataTestId
|
|
3156
|
+
}));
|
|
2934
3157
|
}
|
|
2935
3158
|
case formTypes.inputNumber:
|
|
2936
3159
|
{
|
|
2937
3160
|
return /*#__PURE__*/React__default.default.createElement(FormFieldInputNumber, Object.assign({
|
|
2938
3161
|
key: config.key
|
|
2939
|
-
}, field,
|
|
3162
|
+
}, field, {
|
|
3163
|
+
dataTestId: dataTestId
|
|
3164
|
+
}));
|
|
2940
3165
|
}
|
|
2941
3166
|
case formTypes.group:
|
|
2942
3167
|
{
|
|
2943
3168
|
return /*#__PURE__*/React__default.default.createElement(FormBlockGroup, Object.assign({
|
|
2944
3169
|
key: config.key
|
|
2945
|
-
}, field,
|
|
3170
|
+
}, field, {
|
|
3171
|
+
dataTestId: dataTestId
|
|
3172
|
+
}), Object.entries(field.group).map(function (_ref) {
|
|
2946
3173
|
var key = _ref[0],
|
|
2947
3174
|
value = _ref[1];
|
|
2948
3175
|
var groupProps = Object.assign({}, value, {
|
|
@@ -2951,147 +3178,17 @@ function generateField(field, config, props) {
|
|
|
2951
3178
|
});
|
|
2952
3179
|
return generateField(groupProps, {
|
|
2953
3180
|
key: key + '_form_group'
|
|
2954
|
-
},
|
|
3181
|
+
}, dataTestId);
|
|
2955
3182
|
}));
|
|
2956
3183
|
}
|
|
2957
3184
|
}
|
|
2958
3185
|
}
|
|
2959
3186
|
|
|
2960
|
-
var focusOnError = function focusOnError(formElementsList, errors) {
|
|
2961
|
-
var selectsIds = Object.keys(errors).map(function (fieldName) {
|
|
2962
|
-
if (fieldName === finalForm.FORM_ERROR) {
|
|
2963
|
-
// TODO: get from somewhere
|
|
2964
|
-
return 'notification__item_status_error';
|
|
2965
|
-
}
|
|
2966
|
-
return "react-select-id_" + fieldName + "-input";
|
|
2967
|
-
});
|
|
2968
|
-
var errorFieldElement = formElementsList.find(function (element) {
|
|
2969
|
-
if (element.name) {
|
|
2970
|
-
return finalForm.getIn(errors, element.name);
|
|
2971
|
-
} else {
|
|
2972
|
-
return selectsIds.includes(element.id);
|
|
2973
|
-
}
|
|
2974
|
-
});
|
|
2975
|
-
var errorsList = Object.keys(errors);
|
|
2976
|
-
if (!errorFieldElement && errorsList.length) {
|
|
2977
|
-
var errorElement;
|
|
2978
|
-
try {
|
|
2979
|
-
var fieldName = errorsList[0];
|
|
2980
|
-
if (fieldName === finalForm.FORM_ERROR) {
|
|
2981
|
-
errorElement = document.querySelector('notification__item_status_error');
|
|
2982
|
-
} else {
|
|
2983
|
-
errorElement = document.querySelector("#" + fieldName + "-error");
|
|
2984
|
-
if (!errorElement) {
|
|
2985
|
-
errorElement = document.querySelector("#id_" + fieldName);
|
|
2986
|
-
}
|
|
2987
|
-
}
|
|
2988
|
-
} catch (err) {
|
|
2989
|
-
console.warn(err);
|
|
2990
|
-
}
|
|
2991
|
-
if (errorElement) {
|
|
2992
|
-
errorElement.scrollIntoView({
|
|
2993
|
-
block: 'center'
|
|
2994
|
-
}); // , behavior: 'smooth'
|
|
2995
|
-
}
|
|
2996
|
-
}
|
|
2997
|
-
|
|
2998
|
-
// The field is covered by the header because header is "sticky",
|
|
2999
|
-
// that's we scroll manually so that the field falls into the center of the visible area
|
|
3000
|
-
if (errorFieldElement) {
|
|
3001
|
-
errorFieldElement.scrollIntoView({
|
|
3002
|
-
block: 'center'
|
|
3003
|
-
});
|
|
3004
|
-
}
|
|
3005
|
-
return null;
|
|
3006
|
-
};
|
|
3007
|
-
var focusOnErrorDecorator = createDecorator__default.default(null, focusOnError);
|
|
3008
|
-
var setErrorsMutator = function setErrorsMutator(args, state) {
|
|
3009
|
-
var fieldName = args[0],
|
|
3010
|
-
data = args[1];
|
|
3011
|
-
var submitError = data.submitError;
|
|
3012
|
-
var fieldError = data.error;
|
|
3013
|
-
if (fieldName === 'non_field_errors' || fieldName === finalForm.FORM_ERROR) {
|
|
3014
|
-
// state.formState.invalid = true
|
|
3015
|
-
// state.formState.valid = false
|
|
3016
|
-
state.formState.error = fieldError;
|
|
3017
|
-
state.formState.submitError = submitError;
|
|
3018
|
-
} else if (fieldName in state.fields) {
|
|
3019
|
-
state.fields[fieldName].touched = true;
|
|
3020
|
-
|
|
3021
|
-
// TODO: make clear error not by empty string check
|
|
3022
|
-
if (fieldError || fieldError === '') {
|
|
3023
|
-
var _Object$assign;
|
|
3024
|
-
var errorsState = Object.assign({}, state.formState.errors, (_Object$assign = {}, _Object$assign[fieldName] = fieldError, _Object$assign));
|
|
3025
|
-
state.fields[fieldName].error = fieldError;
|
|
3026
|
-
state.formState.errors = errorsState;
|
|
3027
|
-
}
|
|
3028
|
-
|
|
3029
|
-
// TODO: make clear error not by empty string check
|
|
3030
|
-
if (submitError || submitError === '') {
|
|
3031
|
-
var _Object$assign2;
|
|
3032
|
-
var submitErrorsState = Object.assign({}, state.formState.submitErrors, (_Object$assign2 = {}, _Object$assign2[fieldName] = submitError, _Object$assign2));
|
|
3033
|
-
state.fields[fieldName].submitFailed = true;
|
|
3034
|
-
state.fields[fieldName].submitSucceeded = false;
|
|
3035
|
-
state.fields[fieldName].submitError = submitError;
|
|
3036
|
-
state.formState.submitErrors = submitErrorsState;
|
|
3037
|
-
state.formState.submitFailed = true;
|
|
3038
|
-
state.formState.submitSucceeded = false;
|
|
3039
|
-
state.formState.lastSubmittedValues = state.formState.values;
|
|
3040
|
-
}
|
|
3041
|
-
}
|
|
3042
|
-
};
|
|
3043
|
-
var sendFormDataToServer = /*#__PURE__*/function () {
|
|
3044
|
-
var _ref = _asyncToGenerator(/*#__PURE__*/_regenerator().m(function _callee(url, data) {
|
|
3045
|
-
var response, _error$response, _error$response2, formErrors, _t;
|
|
3046
|
-
return _regenerator().w(function (_context) {
|
|
3047
|
-
while (1) switch (_context.p = _context.n) {
|
|
3048
|
-
case 0:
|
|
3049
|
-
_context.p = 0;
|
|
3050
|
-
_context.n = 1;
|
|
3051
|
-
return axios__default.default({
|
|
3052
|
-
url: url,
|
|
3053
|
-
method: 'POST',
|
|
3054
|
-
data: data
|
|
3055
|
-
});
|
|
3056
|
-
case 1:
|
|
3057
|
-
response = _context.v;
|
|
3058
|
-
return _context.a(2, {
|
|
3059
|
-
success: true,
|
|
3060
|
-
response: response
|
|
3061
|
-
});
|
|
3062
|
-
case 2:
|
|
3063
|
-
_context.p = 2;
|
|
3064
|
-
_t = _context.v;
|
|
3065
|
-
formErrors = {};
|
|
3066
|
-
if (typeof ((_error$response = _t.response) == null ? void 0 : _error$response.data) === 'string') {
|
|
3067
|
-
formErrors[finalForm.FORM_ERROR] = 'Something went wrong';
|
|
3068
|
-
}
|
|
3069
|
-
if (typeof ((_error$response2 = _t.response) == null ? void 0 : _error$response2.data) === 'object') {
|
|
3070
|
-
Object.entries(_t.response.data).forEach(function (_ref2) {
|
|
3071
|
-
var fieldName = _ref2[0],
|
|
3072
|
-
errorsList = _ref2[1];
|
|
3073
|
-
formErrors[fieldName] = errorsList[0];
|
|
3074
|
-
});
|
|
3075
|
-
}
|
|
3076
|
-
return _context.a(2, {
|
|
3077
|
-
error: _t,
|
|
3078
|
-
success: false,
|
|
3079
|
-
formErrors: formErrors
|
|
3080
|
-
});
|
|
3081
|
-
}
|
|
3082
|
-
}, _callee, null, [[0, 2]]);
|
|
3083
|
-
}));
|
|
3084
|
-
return function sendFormDataToServer(_x, _x2) {
|
|
3085
|
-
return _ref.apply(this, arguments);
|
|
3086
|
-
};
|
|
3087
|
-
}();
|
|
3088
|
-
|
|
3089
3187
|
var FinalForm = /*#__PURE__*/React__default.default.forwardRef(function FinalForm(props, ref) {
|
|
3090
3188
|
var className = props.className,
|
|
3091
3189
|
dataTestId = props.dataTestId,
|
|
3092
3190
|
dataTour = props.dataTour,
|
|
3093
3191
|
type = props.type,
|
|
3094
|
-
name = props.name,
|
|
3095
3192
|
initialValues = props.initialValues,
|
|
3096
3193
|
initialValuesEqual = props.initialValuesEqual,
|
|
3097
3194
|
config = props.config,
|
|
@@ -3106,10 +3203,9 @@ var FinalForm = /*#__PURE__*/React__default.default.forwardRef(function FinalFor
|
|
|
3106
3203
|
descSize = props.descSize,
|
|
3107
3204
|
descTextColor = props.descTextColor,
|
|
3108
3205
|
descTextWeight = props.descTextWeight,
|
|
3109
|
-
buttonGap = props.buttonGap
|
|
3110
|
-
|
|
3111
|
-
|
|
3112
|
-
_props$buttonDirectio = props.buttonDirection,
|
|
3206
|
+
buttonGap = props.buttonGap;
|
|
3207
|
+
props.additionalProps;
|
|
3208
|
+
var _props$buttonDirectio = props.buttonDirection,
|
|
3113
3209
|
buttonDirection = _props$buttonDirectio === void 0 ? 'vertical' : _props$buttonDirectio,
|
|
3114
3210
|
buttonFill = props.buttonFill,
|
|
3115
3211
|
buttonJustifyContent = props.buttonJustifyContent,
|
|
@@ -3126,7 +3222,6 @@ var FinalForm = /*#__PURE__*/React__default.default.forwardRef(function FinalFor
|
|
|
3126
3222
|
_props$disableFieldsA = props.disableFieldsAutoComplete,
|
|
3127
3223
|
disableFieldsAutoComplete = _props$disableFieldsA === void 0 ? false : _props$disableFieldsA,
|
|
3128
3224
|
fieldsGap = props.fieldsGap,
|
|
3129
|
-
formName = props.formName,
|
|
3130
3225
|
groupGap = props.groupGap,
|
|
3131
3226
|
heightClass = props.heightClass,
|
|
3132
3227
|
language = props.language,
|
|
@@ -3141,7 +3236,7 @@ var FinalForm = /*#__PURE__*/React__default.default.forwardRef(function FinalFor
|
|
|
3141
3236
|
loaderSize = _props$loaderSize === void 0 ? 'l' : _props$loaderSize,
|
|
3142
3237
|
loaderText = props.loaderText,
|
|
3143
3238
|
_props$loaderType = props.loaderType,
|
|
3144
|
-
loaderType = _props$loaderType === void 0 ? '
|
|
3239
|
+
loaderType = _props$loaderType === void 0 ? 'dot' : _props$loaderType,
|
|
3145
3240
|
mutators = props.mutators,
|
|
3146
3241
|
notificationCloseButton = props.notificationCloseButton,
|
|
3147
3242
|
notificationType = props.notificationType,
|
|
@@ -3175,6 +3270,7 @@ var FinalForm = /*#__PURE__*/React__default.default.forwardRef(function FinalFor
|
|
|
3175
3270
|
secondaryButtonSize = props.secondaryButtonSize,
|
|
3176
3271
|
shapeStrengthClass = props.shapeStrengthClass,
|
|
3177
3272
|
tertiaryButton = props.tertiaryButton,
|
|
3273
|
+
tertiaryButtonAppearance = props.tertiaryButtonAppearance,
|
|
3178
3274
|
tertiaryButtonFill = props.tertiaryButtonFill,
|
|
3179
3275
|
tertiaryButtonFillHover = props.tertiaryButtonFillHover,
|
|
3180
3276
|
tertiaryButtonLabel = props.tertiaryButtonLabel,
|
|
@@ -3196,12 +3292,12 @@ var FinalForm = /*#__PURE__*/React__default.default.forwardRef(function FinalFor
|
|
|
3196
3292
|
ref.current = formInstance;
|
|
3197
3293
|
}
|
|
3198
3294
|
}, [ref]);
|
|
3199
|
-
var propsGenerator =
|
|
3295
|
+
var propsGenerator = hooks.useDevicePropsGenerator(props);
|
|
3200
3296
|
var directionClass = propsGenerator.directionClass,
|
|
3201
3297
|
fillClass = propsGenerator.fillClass,
|
|
3202
3298
|
elevationClass = propsGenerator.elevationClass,
|
|
3203
3299
|
shapeClass = propsGenerator.shapeClass;
|
|
3204
|
-
var _useStyles =
|
|
3300
|
+
var _useStyles = hooks.useStyles(props),
|
|
3205
3301
|
formStyles = _useStyles.styles,
|
|
3206
3302
|
wrapperStyles = _useStyles.wrapper;
|
|
3207
3303
|
return /*#__PURE__*/React__default.default.createElement(reactFinalForm.Form, {
|
|
@@ -3213,8 +3309,7 @@ var FinalForm = /*#__PURE__*/React__default.default.forwardRef(function FinalFor
|
|
|
3213
3309
|
modifiedSinceLastSubmit = _ref.modifiedSinceLastSubmit,
|
|
3214
3310
|
submitError = _ref.submitError;
|
|
3215
3311
|
return /*#__PURE__*/React__default.default.createElement("form", {
|
|
3216
|
-
className: clsx__default.default(className, 'form', type && "form_type_" + type, widthClass && "width_" + widthClass, heightClass && "height_" + heightClass, titlePosition && "form_title-position_" + titlePosition, buttonPosition && "form_button-position_" + buttonPosition, directionClass && "direction_" + directionClass, fillClass && "fill_" + fillClass, shapeClass && "shape_" + shapeClass, shapeStrengthClass && "shape-strength_" + shapeStrengthClass, elevationClass && "elevation_" + elevationClass)
|
|
3217
|
-
name: formName || 'form'
|
|
3312
|
+
className: clsx__default.default(className, 'form', type && "form_type_" + type, widthClass && "width_" + widthClass, heightClass && "height_" + heightClass, titlePosition && "form_title-position_" + titlePosition, buttonPosition && "form_button-position_" + buttonPosition, directionClass && "direction_" + directionClass, fillClass && "fill_" + fillClass, shapeClass && "shape_" + shapeClass, shapeStrengthClass && "shape-strength_" + shapeStrengthClass, elevationClass && "elevation_" + elevationClass)
|
|
3218
3313
|
// We no need set reference to html element, we need reference to "final-form" instance
|
|
3219
3314
|
,
|
|
3220
3315
|
ref: function ref() {
|
|
@@ -3223,7 +3318,7 @@ var FinalForm = /*#__PURE__*/React__default.default.forwardRef(function FinalFor
|
|
|
3223
3318
|
autoCapitalize: disableFieldsAutoComplete ? 'off' : undefined,
|
|
3224
3319
|
autoComplete: disableFieldsAutoComplete ? 'off' : undefined,
|
|
3225
3320
|
autoCorrect: disableFieldsAutoComplete ? 'off' : undefined,
|
|
3226
|
-
"data-testid": dataTestId ||
|
|
3321
|
+
"data-testid": dataTestId || 'Form',
|
|
3227
3322
|
"data-tour": dataTour,
|
|
3228
3323
|
spellCheck: disableFieldsAutoComplete ? 'false' : undefined,
|
|
3229
3324
|
style: formStyles,
|
|
@@ -3233,12 +3328,14 @@ var FinalForm = /*#__PURE__*/React__default.default.forwardRef(function FinalFor
|
|
|
3233
3328
|
size: titleTextSize,
|
|
3234
3329
|
fill: titleFill,
|
|
3235
3330
|
textColor: titleTextColor,
|
|
3236
|
-
textWeight: titleTextWeight
|
|
3331
|
+
textWeight: titleTextWeight,
|
|
3332
|
+
"data-testid": dataTestId ? dataTestId + "Title" : 'FormTitle'
|
|
3237
3333
|
}, title), desc && /*#__PURE__*/React__default.default.createElement(Text.Text, {
|
|
3238
3334
|
className: "form__desc",
|
|
3239
3335
|
size: descSize,
|
|
3240
3336
|
textColor: descTextColor,
|
|
3241
|
-
textWeight: descTextWeight
|
|
3337
|
+
textWeight: descTextWeight,
|
|
3338
|
+
"data-testid": dataTestId ? dataTestId + "Desc" : 'FormDesc'
|
|
3242
3339
|
}, desc), submitError && !modifiedSinceLastSubmit && /*#__PURE__*/React__default.default.createElement("div", {
|
|
3243
3340
|
className: clsx__default.default('notification', 'form-notification', notificationType ? "form-notification_" + notificationType : 'form-notification_global')
|
|
3244
3341
|
}, /*#__PURE__*/React__default.default.createElement(Notification.Notification, {
|
|
@@ -3260,7 +3357,7 @@ var FinalForm = /*#__PURE__*/React__default.default.forwardRef(function FinalFor
|
|
|
3260
3357
|
}, Object.keys(config).map(function (key) {
|
|
3261
3358
|
return generateField(config[key], {
|
|
3262
3359
|
key: key
|
|
3263
|
-
},
|
|
3360
|
+
}, dataTestId);
|
|
3264
3361
|
}), isLoading && (loader || /*#__PURE__*/React__default.default.createElement(Loader.Loader, {
|
|
3265
3362
|
appearance: loaderAppearance,
|
|
3266
3363
|
className: "form__loader",
|
|
@@ -3268,11 +3365,12 @@ var FinalForm = /*#__PURE__*/React__default.default.forwardRef(function FinalFor
|
|
|
3268
3365
|
size: loaderSize,
|
|
3269
3366
|
fill: loaderFill,
|
|
3270
3367
|
text: loaderText,
|
|
3368
|
+
"data-testid": dataTestId + "Loader",
|
|
3271
3369
|
itemFill: loaderItemFill,
|
|
3272
3370
|
shape: loaderShape
|
|
3273
3371
|
}))))), (primaryButtonLabel || primaryButton || secondaryButtonLabel || secondaryButton || tertiaryButton || tertiaryButtonLabel) && /*#__PURE__*/React__default.default.createElement(Group.Group, {
|
|
3274
3372
|
className: "form__button",
|
|
3275
|
-
dataTestId: dataTestIdButtons,
|
|
3373
|
+
dataTestId: dataTestIdButtons || dataTestId + "Buttons",
|
|
3276
3374
|
dataTour: dataTourButtons,
|
|
3277
3375
|
direction: buttonDirection,
|
|
3278
3376
|
justifyContent: buttonJustifyContent,
|
|
@@ -3282,7 +3380,7 @@ var FinalForm = /*#__PURE__*/React__default.default.forwardRef(function FinalFor
|
|
|
3282
3380
|
}, primaryButtonLabel ? /*#__PURE__*/React__default.default.createElement(Button.Button, {
|
|
3283
3381
|
appearance: primaryButtonAppearance,
|
|
3284
3382
|
className: "form__button-item",
|
|
3285
|
-
dataTestId: dataTestIdPrimaryButton ||
|
|
3383
|
+
dataTestId: dataTestIdPrimaryButton || dataTestId && dataTestId + "PrimaryButton" || 'FormPrimaryButton',
|
|
3286
3384
|
dataTour: dataTourPrimaryButton,
|
|
3287
3385
|
width: "fill",
|
|
3288
3386
|
size: primaryButtonSize,
|
|
@@ -3298,7 +3396,7 @@ var FinalForm = /*#__PURE__*/React__default.default.forwardRef(function FinalFor
|
|
|
3298
3396
|
}) : primaryButton, secondaryButtonLabel ? /*#__PURE__*/React__default.default.createElement(Button.Button, {
|
|
3299
3397
|
appearance: secondaryButtonAppearance,
|
|
3300
3398
|
className: "form__button-item",
|
|
3301
|
-
dataTestId: dataTestIdSecondaryButton ||
|
|
3399
|
+
dataTestId: dataTestIdSecondaryButton || dataTestId && dataTestId + "SecondaryButton" || 'FormSecondaryButton',
|
|
3302
3400
|
dataTour: dataTourSecondaryButton,
|
|
3303
3401
|
width: "fill",
|
|
3304
3402
|
size: secondaryButtonSize,
|
|
@@ -3313,8 +3411,9 @@ var FinalForm = /*#__PURE__*/React__default.default.forwardRef(function FinalFor
|
|
|
3313
3411
|
isDisabled: secondaryButtonIsDisabled,
|
|
3314
3412
|
onClick: onClickSecondaryButton
|
|
3315
3413
|
}) : secondaryButton, tertiaryButtonLabel ? /*#__PURE__*/React__default.default.createElement(Button.Button, {
|
|
3414
|
+
appearance: tertiaryButtonAppearance,
|
|
3316
3415
|
className: "form__button-item",
|
|
3317
|
-
dataTestId: dataTestIdTertiaryButton,
|
|
3416
|
+
dataTestId: dataTestIdTertiaryButton || dataTestId && dataTestId + "TertiaryButton" || 'FormTertiaryButton',
|
|
3318
3417
|
dataTour: dataTourTertiaryButton,
|
|
3319
3418
|
width: "fill",
|
|
3320
3419
|
size: tertiaryButtonSize,
|
|
@@ -3618,6 +3717,7 @@ exports.FormFieldSelect = FormFieldSelect;
|
|
|
3618
3717
|
exports.FormFieldSwitch = FormFieldSwitch;
|
|
3619
3718
|
exports.FormFieldTextarea = FormFieldTextarea;
|
|
3620
3719
|
exports.addRequiredFieldsParamToSchema = addRequiredFieldsParamToSchema;
|
|
3720
|
+
exports.createDataTestIdField = createDataTestIdField;
|
|
3621
3721
|
exports.dateValidation = dateValidation;
|
|
3622
3722
|
exports.defaultCheckboxProps = defaultCheckboxProps;
|
|
3623
3723
|
exports.defaultChipsProps = defaultChipsProps;
|