@itcase/forms 1.1.86 → 1.1.88
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/Checkbox/FormFieldCheckbox.css +12 -2
- package/dist/css/form/Field/Group/FormGroup.css +7 -9
- package/dist/form/Field/Checkbox/FormFieldCheckbox.interface.d.ts +12 -9
- package/dist/form/Field/Checkbox/index.d.ts +1 -0
- package/dist/form/Field/Chips/FormFieldChips.interface.d.ts +5 -2
- package/dist/form/Field/Chips/index.d.ts +1 -0
- package/dist/form/Field/Choice/FormFieldChoice.interface.d.ts +4 -2
- package/dist/form/Field/Choice/index.d.ts +2 -1
- package/dist/form/Field/Code/FormFieldCode.interface.d.ts +5 -2
- package/dist/form/Field/Code/index.d.ts +1 -0
- package/dist/form/Field/Dadata/FormFieldDadataInput.interface.d.ts +4 -2
- package/dist/form/Field/Dadata/index.d.ts +1 -0
- package/dist/form/Field/DatePicker/FormFieldDatePicker.interface.d.ts +4 -2
- package/dist/form/Field/DatePicker/index.d.ts +1 -0
- package/dist/form/Field/Input/FormFieldInput.interface.d.ts +5 -2
- package/dist/form/Field/Input/index.d.ts +1 -0
- package/dist/form/Field/InputNumber/FormFieldInputNumber.interface.d.ts +4 -2
- package/dist/form/Field/InputNumber/index.d.ts +1 -0
- package/dist/form/Field/MaskedInput/FormFieldMaskedInput.interface.d.ts +5 -2
- package/dist/form/Field/MaskedInput/index.d.ts +2 -1
- package/dist/form/Field/Password/FormFieldPassword.interface.d.ts +5 -2
- package/dist/form/Field/Password/index.d.ts +1 -0
- package/dist/form/Field/RadioGroup/FormFieldRadioGroup.interface.d.ts +5 -2
- package/dist/form/Field/RadioGroup/index.d.ts +1 -0
- package/dist/form/Field/Segmented/FormFieldSegmented.interface.d.ts +5 -3
- package/dist/form/Field/Segmented/index.d.ts +2 -1
- package/dist/form/Field/Select/FormFieldSelect.interface.d.ts +5 -3
- package/dist/form/Field/Select/index.d.ts +1 -0
- package/dist/form/Field/Switch/FormFieldSwitch.interface.d.ts +5 -2
- package/dist/form/Field/Switch/index.d.ts +1 -0
- package/dist/form/Field/Textarea/FormFieldTextarea.interface.d.ts +5 -2
- package/dist/form/Field/Textarea/index.d.ts +1 -0
- package/dist/form/Field/index.d.ts +16 -1
- package/dist/itcase-forms.cjs.js +2 -2
- package/dist/itcase-forms.esm.js +2 -2
- package/package.json +8 -8
|
@@ -1,10 +1,20 @@
|
|
|
1
1
|
.form-field {
|
|
2
2
|
&-checkbox {
|
|
3
3
|
&^&_type_classic {
|
|
4
|
-
gap: 0;
|
|
5
4
|
padding: 0 0 8px 0;
|
|
5
|
+
display: grid;
|
|
6
|
+
grid-template-columns: auto 1fr;
|
|
7
|
+
^^&__label {
|
|
8
|
+
grid-area: 1 / 2;
|
|
9
|
+
}
|
|
10
|
+
^^&__content {
|
|
11
|
+
grid-area: 1 / 1;
|
|
12
|
+
justify-self: start;
|
|
13
|
+
}
|
|
6
14
|
^^&__message {
|
|
7
|
-
|
|
15
|
+
grid-column: span 2;
|
|
16
|
+
grid-row: 2;
|
|
17
|
+
padding: 4px 0 0 12px;
|
|
8
18
|
}
|
|
9
19
|
}
|
|
10
20
|
}
|
|
@@ -1,8 +1,10 @@
|
|
|
1
1
|
.form {
|
|
2
2
|
&__group {
|
|
3
3
|
width: 100%;
|
|
4
|
+
gap: 8px;
|
|
5
|
+
display: flex;
|
|
6
|
+
flex-direction: column;
|
|
4
7
|
padding: var(--form-group-padding, 0);
|
|
5
|
-
margin: 0 0 12px 0;
|
|
6
8
|
&_hidden {
|
|
7
9
|
position: absolute;
|
|
8
10
|
display: none;
|
|
@@ -16,7 +18,7 @@
|
|
|
16
18
|
&_2 {
|
|
17
19
|
^^&-items {
|
|
18
20
|
display: grid;
|
|
19
|
-
|
|
21
|
+
gap: 0 24px;
|
|
20
22
|
grid-template-columns: repeat(2, 1fr);
|
|
21
23
|
align-items: end;
|
|
22
24
|
}
|
|
@@ -24,7 +26,7 @@
|
|
|
24
26
|
&_3 {
|
|
25
27
|
^^&-items {
|
|
26
28
|
display: grid;
|
|
27
|
-
|
|
29
|
+
gap: 0 24px;
|
|
28
30
|
grid-template-columns: repeat(3, 1fr);
|
|
29
31
|
align-items: end;
|
|
30
32
|
}
|
|
@@ -32,7 +34,7 @@
|
|
|
32
34
|
&_4 {
|
|
33
35
|
^^&-items {
|
|
34
36
|
display: grid;
|
|
35
|
-
|
|
37
|
+
gap: 0 24px;
|
|
36
38
|
grid-template-columns: repeat(4, 1fr);
|
|
37
39
|
align-items: end;
|
|
38
40
|
}
|
|
@@ -40,7 +42,7 @@
|
|
|
40
42
|
&_5 {
|
|
41
43
|
^^&-items {
|
|
42
44
|
display: grid;
|
|
43
|
-
|
|
45
|
+
gap: 0 24px;
|
|
44
46
|
grid-template-columns: repeat(5, 1fr);
|
|
45
47
|
align-items: end;
|
|
46
48
|
}
|
|
@@ -49,10 +51,6 @@
|
|
|
49
51
|
&-wrapper {
|
|
50
52
|
display: flex;
|
|
51
53
|
flex-flow: column nowrap;
|
|
52
|
-
^&-label {
|
|
53
|
-
}
|
|
54
|
-
^&-items {
|
|
55
|
-
}
|
|
56
54
|
^&-message {
|
|
57
55
|
&_type_error {
|
|
58
56
|
color: var(--color-error-text-primary);
|
|
@@ -1,18 +1,21 @@
|
|
|
1
1
|
import { CompositeAppearanceStateDefault, WidthProps } from '@itcase/types-ui';
|
|
2
|
+
import type { CheckboxProps } from '@itcase/ui-web/components/Checkbox';
|
|
2
3
|
import { FieldWrapperBaseProps } from 'src/form/FieldWrapper/FieldWrapper.interface';
|
|
3
4
|
import { BaseField, FormTypes } from 'src/form/generator/generator.interface';
|
|
4
|
-
type CheckboxField = BaseField & {
|
|
5
|
-
onChange: (isChecked: boolean, name: string) => void;
|
|
6
|
-
type: Extract<FormTypes, 'checkbox'>;
|
|
7
|
-
};
|
|
8
|
-
type FormFieldCheckboxProps = CheckboxField & {
|
|
9
|
-
fieldProps?: FieldWrapperBaseProps;
|
|
10
|
-
initialValue?: {};
|
|
11
|
-
};
|
|
12
5
|
type DefaultCheckboxProps = {
|
|
13
6
|
appearance: CompositeAppearanceStateDefault;
|
|
14
7
|
errorAppearance: CompositeAppearanceStateDefault;
|
|
15
8
|
requiredAppearance: CompositeAppearanceStateDefault;
|
|
16
9
|
width?: WidthProps;
|
|
17
10
|
};
|
|
18
|
-
|
|
11
|
+
type CheckboxInputProps = Partial<DefaultCheckboxProps> & Partial<Pick<CheckboxProps, 'className' | 'dataTestId' | 'dataTour' | 'desc' | 'disabled' | 'indeterminate' | 'label' | 'value'>>;
|
|
12
|
+
type CheckboxField = Omit<BaseField, 'inputProps'> & {
|
|
13
|
+
inputProps: CheckboxInputProps;
|
|
14
|
+
onChange?: (isChecked: boolean, name: string) => void;
|
|
15
|
+
type: Extract<FormTypes, 'checkbox'>;
|
|
16
|
+
};
|
|
17
|
+
type FormFieldCheckboxProps = CheckboxField & {
|
|
18
|
+
fieldProps?: FieldWrapperBaseProps;
|
|
19
|
+
initialValue?: {};
|
|
20
|
+
};
|
|
21
|
+
export type { CheckboxField, CheckboxInputProps, DefaultCheckboxProps, FormFieldCheckboxProps, };
|
|
@@ -1,3 +1,4 @@
|
|
|
1
1
|
import { defaultCheckboxProps } from './appearance/default';
|
|
2
2
|
import { FormFieldCheckbox } from './FormFieldCheckbox';
|
|
3
3
|
export { defaultCheckboxProps, FormFieldCheckbox };
|
|
4
|
+
export type { CheckboxField, CheckboxInputProps, DefaultCheckboxProps, FormFieldCheckboxProps, } from './FormFieldCheckbox.interface';
|
|
@@ -1,10 +1,13 @@
|
|
|
1
1
|
import { FieldRenderProps } from 'react-final-form';
|
|
2
2
|
import { Option } from '@itcase/types-core';
|
|
3
3
|
import { CompositeAppearanceKeys, CompositeAppearanceStateDefault, WidthProps } from '@itcase/types-ui';
|
|
4
|
+
import type { ChipsProps } from '@itcase/ui-web/components/Chips';
|
|
4
5
|
import { TextProps } from '@itcase/ui-web/components/Text';
|
|
5
6
|
import { BaseField, FormTypes } from 'src/form/generator/generator.interface';
|
|
6
7
|
import { UseFieldValidationStateParams } from 'src/hooks/useFieldValidationState/useFieldValidationState.interface';
|
|
7
|
-
type
|
|
8
|
+
type ChipsInputProps = Partial<ChipsProps> & Partial<DefaultChipsProps>;
|
|
9
|
+
type ChipsField = Omit<BaseField, 'inputProps'> & {
|
|
10
|
+
inputProps: ChipsInputProps;
|
|
8
11
|
options: Array<Option & {
|
|
9
12
|
isDisabled?: boolean;
|
|
10
13
|
}>;
|
|
@@ -24,4 +27,4 @@ type DefaultChipsProps = {
|
|
|
24
27
|
requiredAppearance: CompositeAppearanceKeys;
|
|
25
28
|
width?: WidthProps;
|
|
26
29
|
};
|
|
27
|
-
export type { ChipsField, ChipsFieldRenderProps, DefaultChipsProps, FormFieldChipsProps, };
|
|
30
|
+
export type { ChipsField, ChipsFieldRenderProps, ChipsInputProps, DefaultChipsProps, FormFieldChipsProps, };
|
|
@@ -1,3 +1,4 @@
|
|
|
1
1
|
import { defaultChipsProps } from './appearance/default';
|
|
2
2
|
import { FormFieldChips } from './FormFieldChips';
|
|
3
3
|
export { defaultChipsProps, FormFieldChips };
|
|
4
|
+
export type { ChipsField, ChipsFieldRenderProps, ChipsInputProps, DefaultChipsProps, FormFieldChipsProps, } from './FormFieldChips.interface';
|
|
@@ -3,7 +3,9 @@ import { CompositeAppearanceStateDefault, WidthProps } from '@itcase/types-ui';
|
|
|
3
3
|
import { ChoiceProps } from '@itcase/ui-web/components/Choice';
|
|
4
4
|
import { FieldWrapperProps } from 'src/form/FieldWrapper/FieldWrapper.interface';
|
|
5
5
|
import { BaseField, FormTypes } from 'src/form/generator/generator.interface';
|
|
6
|
-
type
|
|
6
|
+
type ChoiceInputProps = Partial<ChoiceProps> & Partial<DefaultChoiceProps>;
|
|
7
|
+
type ChoiceField = Omit<BaseField, 'inputProps'> & {
|
|
8
|
+
inputProps: ChoiceInputProps;
|
|
7
9
|
onChange: (value: string, name: string, isChecked?: boolean) => void;
|
|
8
10
|
options: ChoiceProps['options'];
|
|
9
11
|
type: Extract<FormTypes, 'choice'>;
|
|
@@ -20,4 +22,4 @@ type DefaultChoiceProps = {
|
|
|
20
22
|
requiredAppearance: CompositeAppearanceStateDefault;
|
|
21
23
|
width?: WidthProps;
|
|
22
24
|
};
|
|
23
|
-
export type { ChoiceField, ChoiceFieldRenderProps, DefaultChoiceProps, FormFieldChoiceProps, };
|
|
25
|
+
export type { ChoiceField, ChoiceFieldRenderProps, ChoiceInputProps, DefaultChoiceProps, FormFieldChoiceProps, };
|
|
@@ -1,3 +1,4 @@
|
|
|
1
1
|
import { defaultChoiceProps } from './appearance/default';
|
|
2
2
|
import { FormFieldChoice } from './FormFieldChoice';
|
|
3
|
-
export {
|
|
3
|
+
export { defaultChoiceProps, FormFieldChoice };
|
|
4
|
+
export type { ChoiceField, ChoiceFieldRenderProps, ChoiceInputProps, DefaultChoiceProps, FormFieldChoiceProps, } from './FormFieldChoice.interface';
|
|
@@ -1,6 +1,9 @@
|
|
|
1
1
|
import { CompositeAppearanceStateDefault, WidthProps } from '@itcase/types-ui';
|
|
2
|
+
import type { CodeProps } from '@itcase/ui-web/components/Code';
|
|
2
3
|
import { BaseField, FormTypes } from 'src/form/generator/generator.interface';
|
|
3
|
-
type
|
|
4
|
+
type CodeInputProps = Partial<CodeProps> & Partial<DefaultCodeProps>;
|
|
5
|
+
type CodeField = Omit<BaseField, 'inputProps'> & {
|
|
6
|
+
inputProps: CodeInputProps;
|
|
4
7
|
type: Extract<FormTypes, 'code'>;
|
|
5
8
|
};
|
|
6
9
|
type FormFieldCodeProps = CodeField & {
|
|
@@ -13,4 +16,4 @@ type DefaultCodeProps = {
|
|
|
13
16
|
requiredAppearance: CompositeAppearanceStateDefault;
|
|
14
17
|
width?: WidthProps;
|
|
15
18
|
};
|
|
16
|
-
export type { CodeField, DefaultCodeProps, FormFieldCodeProps };
|
|
19
|
+
export type { CodeField, CodeInputProps, DefaultCodeProps, FormFieldCodeProps };
|
|
@@ -1,7 +1,9 @@
|
|
|
1
1
|
import { CompositeAppearanceStateDefault } from '@itcase/types-ui';
|
|
2
2
|
import { DadataProps } from '@itcase/ui-web/components/Dadata';
|
|
3
3
|
import { BaseField, FormTypes } from 'src/form/generator/generator.interface';
|
|
4
|
-
type
|
|
4
|
+
type DadataInputProps = Partial<DadataProps['inputProps']> & Partial<DefaultDadataProps>;
|
|
5
|
+
type DadataField = Omit<BaseField, 'inputProps'> & {
|
|
6
|
+
inputProps: DadataInputProps;
|
|
5
7
|
token: DadataProps['token'];
|
|
6
8
|
type: Extract<FormTypes, 'dadataInput'>;
|
|
7
9
|
};
|
|
@@ -16,4 +18,4 @@ type DefaultDadataProps = {
|
|
|
16
18
|
requiredAppearance: CompositeAppearanceStateDefault;
|
|
17
19
|
successAppearance: CompositeAppearanceStateDefault;
|
|
18
20
|
};
|
|
19
|
-
export type { DadataField, DefaultDadataProps, FormFieldDadataInputProps };
|
|
21
|
+
export type { DadataField, DadataInputProps, DefaultDadataProps, FormFieldDadataInputProps, };
|
|
@@ -1,3 +1,4 @@
|
|
|
1
1
|
import { defaultDadataInputProps } from './appearance/default';
|
|
2
2
|
import { FormFieldDadataInput } from './FormFieldDadataInput';
|
|
3
3
|
export { defaultDadataInputProps, FormFieldDadataInput };
|
|
4
|
+
export type { DadataField, DadataInputProps, DefaultDadataProps, FormFieldDadataInputProps, } from './FormFieldDadataInput.interface';
|
|
@@ -1,10 +1,12 @@
|
|
|
1
1
|
import { DatePickerInputProps } from '@itcase/ui-web/components/DatePicker';
|
|
2
2
|
import { BaseField, FormTypes } from 'src/form/generator/generator.interface';
|
|
3
|
-
type
|
|
3
|
+
type DatePickerFieldInputProps = Partial<DatePickerInputProps['inputProps']>;
|
|
4
|
+
type DatePickerField = Omit<BaseField, 'inputProps'> & {
|
|
5
|
+
inputProps: DatePickerFieldInputProps;
|
|
4
6
|
type: Extract<FormTypes, 'datePicker'>;
|
|
5
7
|
};
|
|
6
8
|
type FormFieldDatePickerProps = DatePickerField & {
|
|
7
9
|
datePickerProps?: DatePickerInputProps['datePickerProps'];
|
|
8
10
|
onChange?: DatePickerInputProps['onChange'];
|
|
9
11
|
};
|
|
10
|
-
export type { DatePickerField, FormFieldDatePickerProps };
|
|
12
|
+
export type { DatePickerField, DatePickerFieldInputProps, FormFieldDatePickerProps, };
|
|
@@ -1,3 +1,4 @@
|
|
|
1
1
|
import { defaultDatepickerProps } from './appearance/default';
|
|
2
2
|
import { FormFieldDatePicker } from './FormFieldDatePicker';
|
|
3
3
|
export { defaultDatepickerProps, FormFieldDatePicker };
|
|
4
|
+
export type { DatePickerField, DatePickerFieldInputProps, FormFieldDatePickerProps, } from './FormFieldDatePicker.interface';
|
|
@@ -1,7 +1,10 @@
|
|
|
1
1
|
import { CompositeAppearanceStateDefault, WidthProps } from '@itcase/types-ui';
|
|
2
2
|
import { IconProps } from '@itcase/ui-web/components/Icon';
|
|
3
|
+
import type { InputProps } from '@itcase/ui-web/components/Input';
|
|
3
4
|
import { BaseField, FormTypes } from 'src/form/generator/generator.interface';
|
|
4
|
-
type
|
|
5
|
+
type InputInputProps = Partial<DefaultInputProps> & Partial<InputProps>;
|
|
6
|
+
type InputField = Omit<BaseField, 'inputProps'> & {
|
|
7
|
+
inputProps: InputInputProps;
|
|
5
8
|
type: Extract<FormTypes, 'text'>;
|
|
6
9
|
};
|
|
7
10
|
type FormFieldInputProps = InputField & {
|
|
@@ -22,4 +25,4 @@ type DefaultInputProps = {
|
|
|
22
25
|
successAppearance: CompositeAppearanceStateDefault;
|
|
23
26
|
width: WidthProps;
|
|
24
27
|
};
|
|
25
|
-
export type { DefaultInputProps, FormFieldInputProps, InputField };
|
|
28
|
+
export type { DefaultInputProps, FormFieldInputProps, InputField, InputInputProps, };
|
|
@@ -1,3 +1,4 @@
|
|
|
1
1
|
import { defaultInputProps } from './appearance/default';
|
|
2
2
|
import { FormFieldInput } from './FormFieldInput';
|
|
3
3
|
export { defaultInputProps, FormFieldInput };
|
|
4
|
+
export type { DefaultInputProps, FormFieldInputProps, InputField, InputInputProps, } from './FormFieldInput.interface';
|
|
@@ -1,7 +1,9 @@
|
|
|
1
1
|
import { CompositeAppearanceStateDefault, WidthProps } from '@itcase/types-ui';
|
|
2
2
|
import { InputNumberProps } from '@itcase/ui-web/components/InputNumber';
|
|
3
3
|
import { BaseField, FormTypes } from 'src/form/generator/generator.interface';
|
|
4
|
-
type
|
|
4
|
+
type InputNumberInputProps = Partial<DefaultInputNumberProps> & Partial<InputNumberProps>;
|
|
5
|
+
type InputNumberField = Omit<BaseField, 'inputProps'> & {
|
|
6
|
+
inputProps: InputNumberInputProps;
|
|
5
7
|
inputType: InputNumberProps['type'];
|
|
6
8
|
type: Extract<FormTypes, 'inputNumber'>;
|
|
7
9
|
};
|
|
@@ -17,4 +19,4 @@ type DefaultInputNumberProps = {
|
|
|
17
19
|
successAppearance: CompositeAppearanceStateDefault;
|
|
18
20
|
width: WidthProps;
|
|
19
21
|
};
|
|
20
|
-
export type { DefaultInputNumberProps, FormFieldInputNumberProps, InputNumberField, };
|
|
22
|
+
export type { DefaultInputNumberProps, FormFieldInputNumberProps, InputNumberField, InputNumberInputProps, };
|
|
@@ -1,3 +1,4 @@
|
|
|
1
1
|
import { defaultInputNumberProps } from './appearance/default';
|
|
2
2
|
import { FormFieldInputNumber } from './FormFieldInputNumber';
|
|
3
3
|
export { defaultInputNumberProps, FormFieldInputNumber };
|
|
4
|
+
export type { DefaultInputNumberProps, FormFieldInputNumberProps, InputNumberField, InputNumberInputProps, } from './FormFieldInputNumber.interface';
|
|
@@ -1,8 +1,11 @@
|
|
|
1
1
|
import { CompositeAppearanceStateDefault, WidthProps } from '@itcase/types-ui';
|
|
2
2
|
import { IconProps } from '@itcase/ui-web/components/Icon';
|
|
3
|
+
import type { InputProps } from '@itcase/ui-web/components/Input';
|
|
3
4
|
import { InputNumberProps } from '@itcase/ui-web/components/InputNumber';
|
|
4
5
|
import { BaseField, FormTypes } from 'src/form/generator/generator.interface';
|
|
5
|
-
type
|
|
6
|
+
type MaskedInputInputProps = Partial<DefaultMaskedInputProps> & Partial<InputProps>;
|
|
7
|
+
type MaskedInputField = Omit<BaseField, 'inputProps'> & {
|
|
8
|
+
inputProps: MaskedInputInputProps;
|
|
6
9
|
inputType: InputNumberProps['type'];
|
|
7
10
|
type: Extract<FormTypes, 'maskedInput'>;
|
|
8
11
|
};
|
|
@@ -24,4 +27,4 @@ type DefaultMaskedInputProps = {
|
|
|
24
27
|
successAppearance: CompositeAppearanceStateDefault;
|
|
25
28
|
width: WidthProps;
|
|
26
29
|
};
|
|
27
|
-
export type { DefaultMaskedInputProps, FormFieldMaskedInputProps, MaskedInputField, };
|
|
30
|
+
export type { DefaultMaskedInputProps, FormFieldMaskedInputProps, MaskedInputField, MaskedInputInputProps, };
|
|
@@ -1,3 +1,4 @@
|
|
|
1
1
|
import { defaultMaskedInputProps } from './appearance/default';
|
|
2
2
|
import { FormFieldMaskedInput } from './FormFieldMaskedInput';
|
|
3
|
-
export {
|
|
3
|
+
export { defaultMaskedInputProps, FormFieldMaskedInput };
|
|
4
|
+
export type { DefaultMaskedInputProps, FormFieldMaskedInputProps, MaskedInputField, MaskedInputInputProps, } from './FormFieldMaskedInput.interface';
|
|
@@ -1,6 +1,9 @@
|
|
|
1
1
|
import { CompositeAppearanceStateDefault } from '@itcase/types-ui';
|
|
2
|
+
import type { InputPasswordProps } from '@itcase/ui-web/components/InputPassword';
|
|
2
3
|
import { BaseField, FormTypes } from 'src/form/generator/generator.interface';
|
|
3
|
-
type
|
|
4
|
+
type PasswordInputProps = Partial<DefaultPasswordProps> & Partial<InputPasswordProps>;
|
|
5
|
+
type PasswordField = Omit<BaseField, 'inputProps'> & {
|
|
6
|
+
inputProps: PasswordInputProps;
|
|
4
7
|
type: Extract<FormTypes, 'password'>;
|
|
5
8
|
};
|
|
6
9
|
type FormFieldPasswordProps = PasswordField & {
|
|
@@ -14,4 +17,4 @@ type DefaultPasswordProps = {
|
|
|
14
17
|
requiredAppearance: CompositeAppearanceStateDefault;
|
|
15
18
|
successAppearance: CompositeAppearanceStateDefault;
|
|
16
19
|
};
|
|
17
|
-
export type { DefaultPasswordProps, FormFieldPasswordProps, PasswordField };
|
|
20
|
+
export type { DefaultPasswordProps, FormFieldPasswordProps, PasswordField, PasswordInputProps, };
|
|
@@ -1,3 +1,4 @@
|
|
|
1
1
|
import { defaultPasswordProps } from './appearance/default';
|
|
2
2
|
import { FormFieldPassword } from './FormFieldPassword';
|
|
3
3
|
export { defaultPasswordProps, FormFieldPassword };
|
|
4
|
+
export type { DefaultPasswordProps, FormFieldPasswordProps, PasswordField, PasswordInputProps, } from './FormFieldPassword.interface';
|
|
@@ -1,8 +1,11 @@
|
|
|
1
1
|
import { FieldInputProps } from 'react-final-form';
|
|
2
2
|
import { Option } from '@itcase/types-core';
|
|
3
3
|
import { CompositeAppearanceStateDefault } from '@itcase/types-ui';
|
|
4
|
+
import type { RadioProps } from '@itcase/ui-web/components/Radio';
|
|
4
5
|
import { BaseField, FormTypes } from 'src/form/generator/generator.interface';
|
|
5
|
-
type
|
|
6
|
+
type RadioGroupInputProps = Partial<DefaultRadioProps> & Partial<RadioProps>;
|
|
7
|
+
type RadioGroupField = Omit<BaseField, 'inputProps'> & {
|
|
8
|
+
inputProps: RadioGroupInputProps;
|
|
6
9
|
onChange: (value: string, name: string) => void;
|
|
7
10
|
options: Option[];
|
|
8
11
|
type: Extract<FormTypes, 'radioGroup'>;
|
|
@@ -20,4 +23,4 @@ type DefaultRadioProps = {
|
|
|
20
23
|
requiredAppearance: CompositeAppearanceStateDefault;
|
|
21
24
|
successAppearance: CompositeAppearanceStateDefault;
|
|
22
25
|
};
|
|
23
|
-
export type { DefaultRadioProps, FormFieldRadioGroupListProps, FormFieldRadioGroupProps, RadioGroupField, };
|
|
26
|
+
export type { DefaultRadioProps, FormFieldRadioGroupListProps, FormFieldRadioGroupProps, RadioGroupField, RadioGroupInputProps, };
|
|
@@ -1,3 +1,4 @@
|
|
|
1
1
|
import { defaultRadioProps } from './appearance/default';
|
|
2
2
|
import { FormFieldRadioGroup } from './FormFieldRadioGroup';
|
|
3
3
|
export { defaultRadioProps, FormFieldRadioGroup };
|
|
4
|
+
export type { DefaultRadioProps, FormFieldRadioGroupListProps, FormFieldRadioGroupProps, RadioGroupField, RadioGroupInputProps, } from './FormFieldRadioGroup.interface';
|
|
@@ -1,7 +1,9 @@
|
|
|
1
1
|
import { CompositeAppearanceStateDefault, WidthProps } from '@itcase/types-ui';
|
|
2
|
-
import { Segment } from '@itcase/ui-web/components/Segmented';
|
|
2
|
+
import { Segment, SegmentedProps } from '@itcase/ui-web/components/Segmented';
|
|
3
3
|
import { BaseField, FormTypes } from 'src/form/generator/generator.interface';
|
|
4
|
-
type
|
|
4
|
+
type SegmentedInputProps = Partial<DefaultSegmentedProps> & Partial<SegmentedProps>;
|
|
5
|
+
type SegmentedField = Omit<BaseField, 'inputProps'> & {
|
|
6
|
+
inputProps: SegmentedInputProps;
|
|
5
7
|
options: Segment[];
|
|
6
8
|
type: Extract<FormTypes, 'segmented'>;
|
|
7
9
|
};
|
|
@@ -12,4 +14,4 @@ type DefaultSegmentedProps = {
|
|
|
12
14
|
requiredAppearance: CompositeAppearanceStateDefault;
|
|
13
15
|
width: WidthProps;
|
|
14
16
|
};
|
|
15
|
-
export type { DefaultSegmentedProps, FormFieldSegmentedProps, SegmentedField };
|
|
17
|
+
export type { DefaultSegmentedProps, FormFieldSegmentedProps, SegmentedField, SegmentedInputProps, };
|
|
@@ -1,3 +1,4 @@
|
|
|
1
1
|
import { defaultSegmentedProps } from './appearance/default';
|
|
2
2
|
import { FormFieldSegmented } from './FormFieldSegmented';
|
|
3
|
-
export {
|
|
3
|
+
export { defaultSegmentedProps, FormFieldSegmented };
|
|
4
|
+
export type { DefaultSegmentedProps, FormFieldSegmentedProps, SegmentedField, SegmentedInputProps, } from './FormFieldSegmented.interface';
|
|
@@ -5,10 +5,12 @@ import { CompositeAppearanceStateDefault } from '@itcase/types-ui';
|
|
|
5
5
|
import { SelectProps } from '@itcase/ui-web/components/Select';
|
|
6
6
|
import { BaseField, FormTypes } from 'src/form/generator/generator.interface';
|
|
7
7
|
import { UseFieldValidationStateParams } from 'src/hooks/useFieldValidationState/useFieldValidationState.interface';
|
|
8
|
-
type
|
|
8
|
+
type SelectInputProps = Partial<DefaultSelectProps> & Partial<SelectProps<Option>>;
|
|
9
|
+
type SelectField = Omit<BaseField, 'inputProps'> & {
|
|
10
|
+
inputProps: SelectInputProps;
|
|
9
11
|
onChange: SelectProps<Option>['onChange'];
|
|
10
12
|
options: Option[];
|
|
11
|
-
selectProps:
|
|
13
|
+
selectProps: SelectInputProps;
|
|
12
14
|
type: Extract<FormTypes, 'select'>;
|
|
13
15
|
};
|
|
14
16
|
type FormFieldSelectProps = SelectField & {
|
|
@@ -30,4 +32,4 @@ type DefaultSelectProps = {
|
|
|
30
32
|
requiredAppearance: CompositeAppearanceStateDefault;
|
|
31
33
|
successAppearance: CompositeAppearanceStateDefault;
|
|
32
34
|
};
|
|
33
|
-
export type { DefaultSelectProps, FormFieldSelectProps, GetDefaultValueParams, SelectField, SelectFieldRenderProps, };
|
|
35
|
+
export type { DefaultSelectProps, FormFieldSelectProps, GetDefaultValueParams, SelectField, SelectFieldRenderProps, SelectInputProps, };
|
|
@@ -1,3 +1,4 @@
|
|
|
1
1
|
import { defaultSelectProps } from './appearance/default';
|
|
2
2
|
import { FormFieldSelect } from './FormFieldSelect';
|
|
3
3
|
export { defaultSelectProps, FormFieldSelect };
|
|
4
|
+
export type { DefaultSelectProps, FormFieldSelectProps, GetDefaultValueParams, SelectField, SelectFieldRenderProps, SelectInputProps, } from './FormFieldSelect.interface';
|
|
@@ -1,6 +1,9 @@
|
|
|
1
1
|
import { CompositeAppearanceStateDefault } from '@itcase/types-ui';
|
|
2
|
+
import type { SwitchProps } from '@itcase/ui-web/components/Switch';
|
|
2
3
|
import { BaseField, FormTypes } from 'src/form/generator/generator.interface';
|
|
3
|
-
type
|
|
4
|
+
type SwitchInputProps = Partial<DefaultSwitchProps> & Partial<SwitchProps>;
|
|
5
|
+
type SwitchField = Omit<BaseField, 'inputProps'> & {
|
|
6
|
+
inputProps: SwitchInputProps;
|
|
4
7
|
type: Extract<FormTypes, 'switch'>;
|
|
5
8
|
};
|
|
6
9
|
type FormFieldSwitchProps = SwitchField & {
|
|
@@ -13,4 +16,4 @@ type DefaultSwitchProps = {
|
|
|
13
16
|
requiredAppearance: CompositeAppearanceStateDefault;
|
|
14
17
|
successAppearance: CompositeAppearanceStateDefault;
|
|
15
18
|
};
|
|
16
|
-
export type { DefaultSwitchProps, FormFieldSwitchProps, SwitchField };
|
|
19
|
+
export type { DefaultSwitchProps, FormFieldSwitchProps, SwitchField, SwitchInputProps, };
|
|
@@ -1,3 +1,4 @@
|
|
|
1
1
|
import { defaultSwitchProps } from './appearance/default';
|
|
2
2
|
import { FormFieldSwitch } from './FormFieldSwitch';
|
|
3
3
|
export { defaultSwitchProps, FormFieldSwitch };
|
|
4
|
+
export type { DefaultSwitchProps, FormFieldSwitchProps, SwitchField, SwitchInputProps, } from './FormFieldSwitch.interface';
|
|
@@ -1,6 +1,9 @@
|
|
|
1
1
|
import { CompositeAppearanceStateDefault } from '@itcase/types-ui';
|
|
2
|
+
import type { TextareaProps } from '@itcase/ui-web/components/Textarea';
|
|
2
3
|
import { BaseField, FormTypes } from 'src/form/generator/generator.interface';
|
|
3
|
-
type
|
|
4
|
+
type TextareaInputProps = Partial<DefaultTextareaProps> & Partial<TextareaProps>;
|
|
5
|
+
type TextareaField = Omit<BaseField, 'inputProps'> & {
|
|
6
|
+
inputProps: TextareaInputProps;
|
|
4
7
|
type: Extract<FormTypes, 'textarea'>;
|
|
5
8
|
};
|
|
6
9
|
type FormFieldTextareaProps = TextareaField & {};
|
|
@@ -10,4 +13,4 @@ type DefaultTextareaProps = {
|
|
|
10
13
|
requiredAppearance: CompositeAppearanceStateDefault;
|
|
11
14
|
successAppearance: CompositeAppearanceStateDefault;
|
|
12
15
|
};
|
|
13
|
-
export type { DefaultTextareaProps, FormFieldTextareaProps, TextareaField };
|
|
16
|
+
export type { DefaultTextareaProps, FormFieldTextareaProps, TextareaField, TextareaInputProps, };
|
|
@@ -1,3 +1,4 @@
|
|
|
1
1
|
import { defaultTextareaProps } from './appearance/default';
|
|
2
2
|
import { FormFieldTextarea } from './FormFieldTextarea';
|
|
3
3
|
export { defaultTextareaProps, FormFieldTextarea };
|
|
4
|
+
export type { DefaultTextareaProps, FormFieldTextareaProps, TextareaField, TextareaInputProps, } from './FormFieldTextarea.interface';
|
|
@@ -1,20 +1,35 @@
|
|
|
1
1
|
import { Field } from 'react-final-form';
|
|
2
2
|
export { Field };
|
|
3
3
|
export { defaultCheckboxProps, FormFieldCheckbox } from './Checkbox';
|
|
4
|
+
export type { CheckboxField, CheckboxInputProps, DefaultCheckboxProps, FormFieldCheckboxProps, } from './Checkbox';
|
|
4
5
|
export { defaultChipsProps, FormFieldChips } from './Chips';
|
|
6
|
+
export type { ChipsField, ChipsFieldRenderProps, ChipsInputProps, DefaultChipsProps, FormFieldChipsProps, } from './Chips';
|
|
5
7
|
export { defaultChoiceProps, FormFieldChoice } from './Choice';
|
|
8
|
+
export type { ChoiceField, ChoiceFieldRenderProps, ChoiceInputProps, DefaultChoiceProps, FormFieldChoiceProps, } from './Choice';
|
|
6
9
|
export { defaultCodeProps, FormFieldCode } from './Code';
|
|
10
|
+
export type { CodeField, CodeInputProps, DefaultCodeProps, FormFieldCodeProps, } from './Code';
|
|
7
11
|
export { FormFieldCustom } from './Custom';
|
|
8
12
|
export { defaultDadataInputProps, FormFieldDadataInput } from './Dadata';
|
|
13
|
+
export type { DadataField, DadataInputProps, DefaultDadataProps, FormFieldDadataInputProps, } from './Dadata';
|
|
9
14
|
export { defaultDatepickerProps, FormFieldDatePicker } from './DatePicker';
|
|
15
|
+
export type { DatePickerField, DatePickerFieldInputProps, FormFieldDatePickerProps, } from './DatePicker';
|
|
10
16
|
export { defaultDropzoneProps, FormFieldFileInput } from './FileInput';
|
|
11
17
|
export { defaultGroupProps, FormGroup } from './Group';
|
|
12
18
|
export { defaultInputProps, FormFieldInput } from './Input';
|
|
19
|
+
export type { DefaultInputProps, FormFieldInputProps, InputField, InputInputProps, } from './Input';
|
|
13
20
|
export { defaultInputNumberProps, FormFieldInputNumber } from './InputNumber';
|
|
14
|
-
export {
|
|
21
|
+
export type { DefaultInputNumberProps, FormFieldInputNumberProps, InputNumberField, InputNumberInputProps, } from './InputNumber';
|
|
22
|
+
export { defaultMaskedInputProps, FormFieldMaskedInput } from './MaskedInput';
|
|
23
|
+
export type { DefaultMaskedInputProps, FormFieldMaskedInputProps, MaskedInputField, MaskedInputInputProps, } from './MaskedInput';
|
|
15
24
|
export { defaultPasswordProps, FormFieldPassword } from './Password';
|
|
25
|
+
export type { DefaultPasswordProps, FormFieldPasswordProps, PasswordField, PasswordInputProps, } from './Password';
|
|
16
26
|
export { defaultRadioProps, FormFieldRadioGroup } from './RadioGroup';
|
|
27
|
+
export type { DefaultRadioProps, FormFieldRadioGroupListProps, FormFieldRadioGroupProps, RadioGroupField, RadioGroupInputProps, } from './RadioGroup';
|
|
17
28
|
export { defaultSegmentedProps, FormFieldSegmented } from './Segmented';
|
|
29
|
+
export type { DefaultSegmentedProps, FormFieldSegmentedProps, SegmentedField, SegmentedInputProps, } from './Segmented';
|
|
18
30
|
export { defaultSelectProps, FormFieldSelect } from './Select';
|
|
31
|
+
export type { DefaultSelectProps, FormFieldSelectProps, GetDefaultValueParams, SelectField, SelectFieldRenderProps, SelectInputProps, } from './Select';
|
|
19
32
|
export { defaultSwitchProps, FormFieldSwitch } from './Switch';
|
|
33
|
+
export type { DefaultSwitchProps, FormFieldSwitchProps, SwitchField, SwitchInputProps, } from './Switch';
|
|
20
34
|
export { defaultTextareaProps, FormFieldTextarea } from './Textarea';
|
|
35
|
+
export type { DefaultTextareaProps, FormFieldTextareaProps, TextareaField, TextareaInputProps, } from './Textarea';
|
package/dist/itcase-forms.cjs.js
CHANGED
|
@@ -1,3 +1,3 @@
|
|
|
1
|
-
"use strict";var e=require("react-final-form"),t=require("react/jsx-runtime"),r=require("react"),a=require("clsx"),s=require("@itcase/ui-web/components/Checkbox"),i=require("@itcase/ui-core/hooks"),o=require("@itcase/ui-web/components/Divider"),n=require("@itcase/ui-web/components/Text"),l=require("axios"),d=require("final-form"),u=require("final-form-focus"),c=require("lodash/camelCase"),m=require("lodash/snakeCase"),p=require("@itcase/ui-web/components/Chips"),f=require("@itcase/ui-web/components/Choice"),h=require("@itcase/ui-web/components/Code"),x=require("@itcase/ui-web/components/Icon"),g=require("@itcase/ui-web/components/Dadata"),T=require("@itcase/ui-web/components/DatePicker"),y=require("file-selector"),b=require("lodash/castArray"),_=require("react-dropzone"),v=require("@itcase/common"),S=require("@itcase/ui-web/components/Button"),C=require("@itcase/ui-web/components/Loader"),I=require("@itcase/ui-web/components/Title"),P=require("@itcase/ui-web/components/Input"),z=require("@itcase/ui-web/components/InputNumber"),F=require("react-imask"),w=require("@itcase/ui-web/components/InputPassword"),j=require("@itcase/ui-web/components/Radio"),M=require("@itcase/ui-web/components/Segmented"),N=require("@itcase/ui-web/components/Select"),k=require("@itcase/ui-web/components/Switch"),B=require("@itcase/ui-web/components/Textarea"),D=require("@itcase/ui-web/components/Group"),q=require("@itcase/ui-web/components/Notification"),E=require("libphonenumber-js");function V(e){return e&&e.__esModule?e:{default:e}}var R=V(r),A=V(a),W=V(l),K=V(u),$=V(c),L=V(m),O=V(b);const G={email_error:{key:"error",message:"Введите корректный адрес электронной почты"},email_required:{key:"required",message:"Укажите адрес электронной почты"},invalid_value:{key:"error",message:"Некорректное значение"},min:{key:"error",message:({min:e})=>`Значение должно быть не менее ${e} символов`},max:{key:"error",message:({max:e})=>`Значение должно быть не менее ${e} символов`},matches:{key:"error",message:"Допускается ввод только цифр от 0 до 9"},numeric_value:{key:"error",message:"Только числовое значение"},password_required:{key:"required",message:"Введите пароль"},phone_error:{key:"error",message:"Введите корректный номер телефона"},phone_or_email_required:{key:"required",message:"Введите телефон или адрес эл. почты"},phone_required:{key:"required",message:"Укажите номер телефона"},required:{key:"required",message:"Обязательное поле"},url:{key:"error",message:"Введите корректный URL-адрес"}},H={width:"fill",direction:"vertical",labelTextColor:"surfaceTextPrimary",messageTextColor:"surfaceTextSecondary",dividerFill:"errorPrimary",errorMessageTextColor:"errorTextSecondary",helpTextColor:"surfaceTextQuaternary",requiredMessageTextColor:"warningTextSecondary",showMessage:!0},U={size:"s",labelTextSize:"s",messageTextSize:"s",errorMessageTextSize:"s",helpTextSize:"s",requiredMessageTextSize:"s",...H},Q={size:"m",labelTextSize:"s",messageTextSize:"s",errorMessageTextSize:"s",helpTextSize:"s",requiredMessageTextSize:"s",...H},J={size:"l",labelTextSize:"s",messageTextSize:"s",errorMessageTextSize:"s",helpTextSize:"s",requiredMessageTextSize:"s",...H},X={size:"xl",labelTextSize:"s",messageTextSize:"s",errorMessageTextSize:"s",helpTextSize:"s",requiredMessageTextSize:"s",...H};function Y(e){const{className:a,dataTestId:s,dataTour:l,type:d,label:u,labelHidden:c,labelTextColor:m,labelTextSize:p,labelTextWeight:f,messageTextSize:h,desc:x,descTextColor:g,descTextSize:T,descTextWeight:y,afterItem:b,beforeItem:_,dividerDirection:v,dividerFill:S,dividerSize:C,dividerWidth:I,errorKey:P,errorMessage:z,fieldClassName:F,helpText:w,helpTextColor:j,helpTextColorSuccess:M,helpTextSize:N,helpTextWeight:k,inputName:B,inputValue:D,metaActive:q,metaError:E,showDivider:V,showMessage:R,tag:W="div",before:K,after:$,isDisabled:L,isErrorState:O,isHidden:G,isRequired:H,isValidState:U,children:Q}=e,J=r.useMemo(()=>A.default(a,U&&"form__item_state_success",H&&"form__item_state_required",L&&"form__item_state_disabled",q&&"form__item_state_focus",D&&"form__item_state_filled",O&&`form__item_state_${P}`),[a,O,U,H,q,D,L,E]),X=r.useMemo(()=>A.default(F,U&&`${F}_state_success`,q&&`${F}_state_focus`,D&&`${F}_state_filled`,L&&`${F}_state_disabled`,O&&`${F}_state_${P}`),[F,O,U,q,D,L,E]),Y=i.useDeviceTargetClass(e,{prefix:"form-field_size_",propsKey:"size"}),Z=i.useDeviceTargetClass(e,{prefix:"fill_",propsKey:"fill"}),ee=i.useDeviceTargetClass(e,{prefix:"fill_",propsKey:"inputFill"}),te=i.useDeviceTargetClass(e,{prefix:"form-field_shape_",propsKey:"shape"}),re=i.useDeviceTargetClass(e,{prefix:"form-field__item-value_shape_",propsKey:"inputShape"}),ae=i.useDeviceTargetClass(e,{prefix:"direction_",propsKey:"direction"}),se=i.useDeviceTargetClass(e,{prefix:"width_",propsKey:"width"}),{styles:ie}=i.useStyles(e),oe=e[`${P}MessageTextSize`],ne=e[`${P}MessageTextColor`],le=e[`${P}MessageTextWeight`],de=`${s||`${B}Field`}Message`;return t.jsxs(W,{className:A.default(J,"form__item","form-field",d?`form-field_type_${d}`:"form-field_type_classic",Y,Z,te,L&&"form-field_state_disabled",G&&"form-field_state_hidden",ae,se),"data-testid":s,"data-tour":l,style:ie,children:[K,(u||c)&&t.jsx("div",{className:A.default("form-field__label",`text_size_${p}`),"data-testid":`${s}Label`,children:t.jsxs(n.Text,{size:p,textColor:m,textWeight:f,children:[u,c&&" "]})}),x&&t.jsx("div",{className:A.default("form-field__desc",`text_size_${T}`),"data-testid":`${s}Desc`,children:t.jsx(n.Text,{size:T,textColor:g,textWeight:y,children:x})}),t.jsxs("div",{className:A.default("form-field__content",ee,re),children:[t.jsxs("div",{className:A.default("form-field__content-inner",X),children:[_,Q,b]}),V&&t.jsx(o.Divider,{className:"form-field__item-divider",width:I,direction:v,size:C,fill:S})]}),R&&t.jsxs("div",{className:A.default("form-field__message",`text_size_${oe||N||h}`),"data-testid":de,children:[O&&z&&t.jsx(n.Text,{className:"form-field__message-item form-field__message-item_type-error",dataTestId:`${s}MessageError`,size:oe,textColor:ne,textWeight:le,children:z}),Boolean(w)&&(!O||!z)&&t.jsx(n.Text,{className:"form-field__message-item form-field__message-item_type_help-text",dataTestId:`${s}MessageHelpText`,size:N,textColor:U?M:j,textWeight:k,children:w}),(!O&&!w||O&&!w&&!z)&&t.jsx(n.Text,{className:"form-field__message-item form-field__message-item_type_help-text",dataTestId:`${s}MessageHelpText`,size:h,children:" "})]}),$]})}function Z(a){const{inputName:s}=a,{change:i}=e.useForm();return r.useEffect(()=>()=>{i(s,void 0)},[]),t.jsx(Y,{...a})}const ee=(e,t)=>{const r=e,a=Object.keys(t).map(e=>e===d.FORM_ERROR?"notification__item_status_error":`react-select-id_${e}-input`),s=r.find(e=>e.name?d.getIn(t,e.name):a.includes(e.id)),i=Object.keys(t);if(!s&&i.length){let e;try{const t=i[0];t===d.FORM_ERROR?e=document.querySelector("notification__item_status_error"):(e=document.querySelector(`#${t}-error`),e||(e=document.querySelector(`#id_${t}`)))}catch(e){console.warn(e)}e&&e.scrollIntoView({block:"center"})}s&&s.scrollIntoView({block:"center"})},te=K.default(void 0,ee),re=(e,t)=>{const r=(e=>e.replace(/(^|[_-])([a-zA-Z0-9])/g,(e,t,r)=>r.toUpperCase()))(e);return t&&t.endsWith("Field")?t:t?t+r+"Field":r+"Field"},ae=(e,t)=>d.setIn(e,t.path,t.message),se=Object.create(null);function ie(e,t){const a=r.useMemo(()=>e&&(e=>async function(t){try{await(e?.validate(t,{abortEarly:!1}))}catch(e){const t=e;if(t.message)return t.inner.reduce(ae,se);console.warn("itcase-forms schema.validate error: An error not related to the form occurred during validation. Validation ignored.")}})(e),[e,t]);return a}function oe(e){const{fieldProps:t={},input:a={},meta:s={}}=e,i=!s.modifiedSinceLastSubmit&&s.submitError,o=s.error?.key||"error",n=r.useMemo(()=>t.showErrorsOnSubmit?Boolean(s.submitFailed&&s.touched&&(s.error||i)):Boolean(s.touched&&(s.error||i)),[t.showErrorsOnSubmit,s.submitFailed,s.touched,s.error,i]),l=r.useMemo(()=>{const e=Array.isArray(a?.value)?a?.value.length:a?.value,t=s.modifiedSinceLastSubmit&&!s.error&&i;return Boolean(e&&(s.valid||t))},[a?.value,s.valid,s.error,i,s.modifiedSinceLastSubmit]);return{errorKey:o,errorMessage:r.useMemo(()=>{const e=s.error||i||!1;if(e){if("string"==typeof e)return e;if(e.message)return e.message}return""},[s.error,i]),successKey:"success",isErrorState:n,isValidState:l}}function ne(e){const{inputProps:t,validationStateKey:a}=e;return r.useMemo(()=>{const e={};return a?(Object.entries(t||{}).forEach(([t,r])=>{const s=L.default(t);if(s.startsWith(`${a}_`)){const t=s.replace(`${a}_`,""),i=$.default(t);e[i]=r}else e[t]||(e[t]=r)}),e):t},[a,t])}const le=R.default.memo(function(a){const{dataTestId:i,name:o,initialValue:n,classNameGroupItem:l,fieldProps:d={},inputProps:u={},showMessage:c,isDisabled:m,isRequired:p,onChange:f}=a;return t.jsx(e.Field,{type:"checkbox",name:o,initialValue:n,children:function({input:e,meta:a}){const o=r.useCallback(t=>{t&&(e.onChange(t),f&&f(t.target.checked,e.name))},[f,e.onChange]),{errorKey:n,errorMessage:h,successKey:x,isErrorState:g,isValidState:T}=oe({fieldProps:d,input:e,meta:a}),y=ne({inputProps:u,validationStateKey:g?n:T?x:null}),b=re(e.name,i);return t.jsx(Z,{className:A.default("form-field-checkbox","form__item_checkbox",l),dataTestId:b,errorKey:n,errorMessage:h,fieldClassName:"form-checkbox",inputName:e.name,inputValue:e.checked,metaActive:a.active,metaError:a.error,showMessage:c,tag:"label",isDisabled:m,isErrorState:g,isRequired:p,isValidState:T,...d,children:t.jsx(s.Checkbox,{checked:e.checked,isActive:e.checked,isDisabled:m,onBlur:e.onBlur,onChange:o,onFocus:e.onFocus,...y})})}})});function de(a){const{dataTestId:s,name:i,initialValue:o,classNameGroupItem:l,emptyMessage:d,emptyMessageTextColor:u,emptyMessageTextSize:c,fieldProps:m,inputProps:f,options:h,showMessage:x,isDisabled:g,isRequired:T,onChange:y}=a,{change:b}=e.useForm(),_=r.useCallback((e,t)=>{const r=e.includes(t)?e.filter(e=>e!==t):[...e,t];b(i,r),y&&y(r)},[b,i,y]);return r.useEffect(()=>{o&&b(i,o)},[o]),t.jsx(e.Field,{name:i,initialValue:o,children:function({input:e,meta:a}){const{errorKey:i,errorMessage:o,successKey:y,isErrorState:b,isValidState:v}=oe({fieldProps:m,input:e,meta:a}),S=ne({inputProps:f,validationStateKey:b?i:v?y:null}),C=r.useMemo(()=>{const t=[{label:null,value:null}];if(e?.value){return h.filter(t=>e.value?.includes(t.value))||t}return t},[e.value]),I=re(e.name,s);return t.jsx(Z,{className:A.default("form-field_chips","form__item_chips",l),dataTestId:I,errorKey:i,errorMessage:o,fieldClassName:"form-chips",inputName:e.name,inputValue:String(e.value??""),metaActive:a.active,metaError:a.error,showMessage:x,isDisabled:g,isErrorState:b,isRequired:T,isValidState:v,...m,children:h?.length?t.jsx(p.ChipsGroup,{direction:"horizontal",gap:"1m",wrap:"wrap",children:h.map(r=>t.jsx(p.Chips,{className:A.default(a.active&&"form-chips_state_focus",a.error&&a.touched&&`form-chips_state_${i}`),label:r.label,isActive:C.some(e=>e.value===r.value),isDisabled:r.isDisabled,onClick:()=>_(e.value,r.value),...S},r.value))}):t.jsx(n.Text,{size:c,textColor:u,children:d})})}})}const ue=R.default.memo(function(a){const{dataTestId:s,name:i,initialValue:o,label:n,classNameGroupItem:l,fieldProps:d,inputProps:u,options:c,showMessage:m,isDisabled:p,isCheckbox:h,isRequired:x,onChange:g}=a,{change:T}=e.useForm(),y=r.useCallback((e,t)=>{T(i,t&&e.value),g&&g(e.value,i,t)},[T,g]);return t.jsx(e.Field,{name:i,initialValue:o,children:function({input:e,meta:a}){const i=r.useMemo(()=>{const t={label:null,value:null};if(e.value){return c.find(t=>t.value===e.value)||t}return t},[e.value]),{errorKey:o,errorMessage:g,successKey:T,isErrorState:b,isValidState:_}=oe({fieldProps:d,input:e,meta:a}),v=ne({inputProps:u,validationStateKey:b?o:_?T:null}),S=re(e.name,s);return t.jsx(Z,{className:A.default("form-field_choice","form__item_choice",l),dataTestId:S,label:n,errorKey:o,errorMessage:g,fieldClassName:"form-choice",inputName:e.name,inputValue:String(e.value??""),metaActive:a.active,metaError:a.error,showMessage:m,isDisabled:p,isErrorState:b,isRequired:x,isValidState:_,...d,children:t.jsx(f.Choice,{className:A.default(a.active&&"form-choice_state_focus",a.error&&a.touched&&`form-choice_state_${o}`),name:e.name,active:i,options:c,isDisabled:p,isCheckbox:h,setActiveSegment:y,...v})})}})}),ce=R.default.memo(function(r){const{dataTestId:a,name:s,initialValue:i,label:o,classNameGroupItem:n,fieldProps:l={},inputProps:d={},showMessage:u,isDisabled:c,isRequired:m}=r;return t.jsx(e.Field,{name:s,initialValue:i,children:function({input:e,meta:r}){const{errorKey:s,errorMessage:i,successKey:p,isErrorState:f,isValidState:x}=oe({fieldProps:l,input:e,meta:r}),g=ne({inputProps:d,validationStateKey:f?s:x?p:null}),T=re(e.name,a);return t.jsx(Z,{className:A.default("form-field-code","form__item_code",n),dataTestId:T,label:o,errorKey:s,errorMessage:i,fieldClassName:"form-code",inputName:e.name,inputValue:String(e.value??""),metaActive:r.active,showMessage:u,isErrorState:f,isRequired:m,isValidState:x,...l,children:t.jsx(h.Code,{initialValue:e.value,isDisabled:c,onBlur:e.onBlur,onChange:e.onChange,onFocus:e.onFocus,...g})})}})}),me=R.default.memo(function(r){const{dataTestId:a,name:s,initialValue:i,classNameGroupItem:o,clearIcon:n,clearIconFill:l,clearIconFillHover:d,clearIconShape:u,clearIconSize:c,Component:m,fieldProps:p={},showMessage:f,isDisabled:h,isRequired:g,onClickClearIcon:T}=r;return t.jsx(e.Field,{name:s,initialValue:i,children:function({input:e,meta:s}){const{errorKey:i,errorMessage:y,isErrorState:b,isValidState:_}=oe({fieldProps:p,input:e,meta:s}),v=ne({inputProps:r,validationStateKey:b?i:"success"}),S=re(e.name,a);return t.jsxs(Z,{className:A.default("form-field_custom","form__item_custom",o),dataTestId:S,errorKey:i,errorMessage:y,fieldClassName:"form-custom",inputName:e.name,inputValue:String(e.value??""),metaActive:s.active,metaError:s.error,showMessage:f,isDisabled:h,isErrorState:b,isRequired:g,isValidState:_,...p,children:[t.jsx(m,{...v,input:e,meta:s,isDisabled:h}),n&&t.jsx(x.Icon,{className:"form-field__icon",size:c,iconFill:l,iconFillHover:d,imageSrc:n,shape:u,SvgImage:n,onClick:T})]})}})}),pe=R.default.memo(function(r){const{dataTestId:a,name:s,initialValue:i,classNameGroupItem:o,fieldProps:n,inputProps:l,parse:d,showMessage:u,token:c,isDisabled:m,isRequired:p,onDadataAutocomplete:f}=r;if("development"===process.env.NODE_ENV){const e=`Check your form config at field "${s}".`;if(!c){throw new Error(`FormFieldDadataInput: 'token' prop is missing, instead got ${c}.`+"\n"+e)}if(!f){throw new Error(`FormFieldDadataInput: 'onDadataAutocomplete' prop is missing, instead got ${f}.`+"\n"+e)}}return t.jsx(e.Field,{name:s,initialValue:i,parse:d,children:function({input:e,meta:r}){const{errorKey:s,errorMessage:i,successKey:d,isErrorState:h,isValidState:x}=oe({fieldProps:n,input:e,meta:r}),T=ne({inputProps:l,validationStateKey:h?s:x?d:null}),y=re(e.name,a);return t.jsx(Z,{className:A.default("form-field_input-dadata","form__item_input-dadata",o),dataTestId:y,errorKey:s,errorMessage:i,fieldClassName:"form-dadata",inputName:e.name,inputValue:String(e.value??""),metaActive:r.active,metaError:r.error,showMessage:u,isDisabled:m,isErrorState:h,isRequired:p,isValidState:x,...n,children:t.jsx(g.Dadata,{input:e,inputProps:T,meta:r,token:c,setValue:f})})}})});function fe(a){const{dataTestId:s,name:i,classNameGroupItem:o,datePickerProps:n,fieldProps:l={},inputProps:d={},showMessage:u,isDisabled:c,isRequired:m,onChange:p}=a;return t.jsx(e.Field,{name:i,children:function({input:e,meta:a}){const i=r.useCallback((t,r)=>{n?.selectsRange?e.onChange({endDate:r,startDate:t}):e.onChange(t),p&&p(t,r)},[e.onChange,p]),{errorKey:f,errorMessage:h,successKey:x,isErrorState:g,isValidState:y}=oe({fieldProps:l,input:e,meta:a}),b=ne({inputProps:d,validationStateKey:g?f:y?x:null}),_=re(e.name,s);return t.jsx(Z,{className:A.default("form-field_datepicker","form__item_datepicker",o),dataTestId:_,errorKey:f,errorMessage:h,fieldClassName:"form-datepicker",inputName:e.name,inputValue:String(e.value??""),metaActive:a.active,metaError:a.error,showMessage:u,isDisabled:c,isErrorState:g,isRequired:m,isValidState:y,...l,children:t.jsx(T.DatePickerInput,{name:e.name,datePickerProps:n,endValue:n?.selectsRange?e.value.endDate:null,inputProps:b,value:n?.selectsRange?e.value.startDate:e.value,onBlur:e.onBlur,onChange:i,onFocus:e.onFocus})})}})}function he(e,t){(null==t||t>e.length)&&(t=e.length);for(var r=0,a=Array(t);r<t;r++)a[r]=e[r];return a}function xe(e,t,r,a,s,i,o){try{var n=e[i](o),l=n.value}catch(e){return void r(e)}n.done?t(l):Promise.resolve(l).then(a,s)}function ge(e){return function(){var t=this,r=arguments;return new Promise(function(a,s){var i=e.apply(t,r);function o(e){xe(i,a,s,o,n,"next",e)}function n(e){xe(i,a,s,o,n,"throw",e)}o(void 0)})}}function Te(e,t){var r="undefined"!=typeof Symbol&&e[Symbol.iterator]||e["@@iterator"];if(r)return(r=r.call(e)).next.bind(r);if(Array.isArray(e)||(r=function(e,t){if(e){if("string"==typeof e)return he(e,t);var r={}.toString.call(e).slice(8,-1);return"Object"===r&&e.constructor&&(r=e.constructor.name),"Map"===r||"Set"===r?Array.from(e):"Arguments"===r||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(r)?he(e,t):void 0}}(e))||t){r&&(e=r);var a=0;return function(){return a>=e.length?{done:!0}:{done:!1,value:e[a++]}}}throw new TypeError("Invalid attempt to iterate non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.")}function ye(){
|
|
1
|
+
"use strict";var e=require("react-final-form"),t=require("react/jsx-runtime"),r=require("react"),a=require("clsx"),s=require("@itcase/ui-web/components/Checkbox"),i=require("@itcase/ui-core/hooks"),o=require("@itcase/ui-web/components/Divider"),n=require("@itcase/ui-web/components/Text"),l=require("axios"),d=require("final-form"),u=require("final-form-focus"),c=require("lodash/camelCase"),m=require("lodash/snakeCase"),p=require("@itcase/ui-web/components/Chips"),f=require("@itcase/ui-web/components/Choice"),h=require("@itcase/ui-web/components/Code"),x=require("@itcase/ui-web/components/Icon"),g=require("@itcase/ui-web/components/Dadata"),T=require("@itcase/ui-web/components/DatePicker"),y=require("file-selector"),b=require("lodash/castArray"),_=require("react-dropzone"),v=require("@itcase/common"),S=require("@itcase/ui-web/components/Button"),C=require("@itcase/ui-web/components/Loader"),I=require("@itcase/ui-web/components/Title"),P=require("@itcase/ui-web/components/Input"),z=require("@itcase/ui-web/components/InputNumber"),F=require("react-imask"),M=require("@itcase/ui-web/components/InputPassword"),w=require("@itcase/ui-web/components/Radio"),j=require("@itcase/ui-web/components/Segmented"),N=require("@itcase/ui-web/components/Select"),k=require("@itcase/ui-web/components/Switch"),B=require("@itcase/ui-web/components/Textarea"),D=require("@itcase/ui-web/components/Group"),q=require("@itcase/ui-web/components/Notification"),E=require("libphonenumber-js");function V(e){return e&&e.__esModule?e:{default:e}}var A=V(r),R=V(a),W=V(l),K=V(u),$=V(c),L=V(m),O=V(b);const G={email_error:{key:"error",message:"Введите корректный адрес электронной почты"},email_required:{key:"required",message:"Укажите адрес электронной почты"},invalid_value:{key:"error",message:"Некорректное значение"},min:{key:"error",message:({min:e})=>`Значение должно быть не менее ${e} символов`},max:{key:"error",message:({max:e})=>`Значение должно быть не менее ${e} символов`},matches:{key:"error",message:"Допускается ввод только цифр от 0 до 9"},numeric_value:{key:"error",message:"Только числовое значение"},password_required:{key:"required",message:"Введите пароль"},phone_error:{key:"error",message:"Введите корректный номер телефона"},phone_or_email_required:{key:"required",message:"Введите телефон или адрес эл. почты"},phone_required:{key:"required",message:"Укажите номер телефона"},required:{key:"required",message:"Обязательное поле"},url:{key:"error",message:"Введите корректный URL-адрес"}},H={width:"fill",direction:"vertical",labelTextColor:"surfaceTextPrimary",messageTextColor:"surfaceTextSecondary",dividerFill:"errorPrimary",errorMessageTextColor:"errorTextSecondary",helpTextColor:"surfaceTextQuaternary",requiredMessageTextColor:"warningTextSecondary",showMessage:!0},U={size:"s",labelTextSize:"s",messageTextSize:"s",errorMessageTextSize:"s",helpTextSize:"s",requiredMessageTextSize:"s",...H},Q={size:"m",labelTextSize:"s",messageTextSize:"s",errorMessageTextSize:"s",helpTextSize:"s",requiredMessageTextSize:"s",...H},J={size:"l",labelTextSize:"s",messageTextSize:"s",errorMessageTextSize:"s",helpTextSize:"s",requiredMessageTextSize:"s",...H},X={size:"xl",labelTextSize:"s",messageTextSize:"s",errorMessageTextSize:"s",helpTextSize:"s",requiredMessageTextSize:"s",...H};function Y(e){const{className:a,dataTestId:s,dataTour:l,type:d,label:u,labelHidden:c,labelTextColor:m,labelTextSize:p,labelTextWeight:f,messageTextSize:h,desc:x,descTextColor:g,descTextSize:T,descTextWeight:y,afterItem:b,beforeItem:_,dividerDirection:v,dividerFill:S,dividerSize:C,dividerWidth:I,errorKey:P,errorMessage:z,fieldClassName:F,helpText:M,helpTextColor:w,helpTextColorSuccess:j,helpTextSize:N,helpTextWeight:k,inputName:B,inputValue:D,metaActive:q,metaError:E,showDivider:V,showMessage:A,tag:W="div",before:K,after:$,isDisabled:L,isErrorState:O,isHidden:G,isRequired:H,isValidState:U,children:Q}=e,J=r.useMemo(()=>R.default(a,U&&"form__item_state_success",H&&"form__item_state_required",L&&"form__item_state_disabled",q&&"form__item_state_focus",D&&"form__item_state_filled",O&&`form__item_state_${P}`),[a,O,U,H,q,D,L,E]),X=r.useMemo(()=>R.default(F,U&&`${F}_state_success`,q&&`${F}_state_focus`,D&&`${F}_state_filled`,L&&`${F}_state_disabled`,O&&`${F}_state_${P}`),[F,O,U,q,D,L,E]),Y=i.useDeviceTargetClass(e,{prefix:"form-field_size_",propsKey:"size"}),Z=i.useDeviceTargetClass(e,{prefix:"fill_",propsKey:"fill"}),ee=i.useDeviceTargetClass(e,{prefix:"fill_",propsKey:"inputFill"}),te=i.useDeviceTargetClass(e,{prefix:"form-field_shape_",propsKey:"shape"}),re=i.useDeviceTargetClass(e,{prefix:"form-field__item-value_shape_",propsKey:"inputShape"}),ae=i.useDeviceTargetClass(e,{prefix:"direction_",propsKey:"direction"}),se=i.useDeviceTargetClass(e,{prefix:"width_",propsKey:"width"}),{styles:ie}=i.useStyles(e),oe=e[`${P}MessageTextSize`],ne=e[`${P}MessageTextColor`],le=e[`${P}MessageTextWeight`],de=`${s||`${B}Field`}Message`;return t.jsxs(W,{className:R.default(J,"form__item","form-field",d?`form-field_type_${d}`:"form-field_type_classic",Y,Z,te,L&&"form-field_state_disabled",G&&"form-field_state_hidden",ae,se),"data-testid":s,"data-tour":l,style:ie,children:[K,(u||c)&&t.jsx("div",{className:R.default("form-field__label",`text_size_${p}`),"data-testid":`${s}Label`,children:t.jsxs(n.Text,{size:p,textColor:m,textWeight:f,children:[u,c&&" "]})}),x&&t.jsx("div",{className:R.default("form-field__desc",`text_size_${T}`),"data-testid":`${s}Desc`,children:t.jsx(n.Text,{size:T,textColor:g,textWeight:y,children:x})}),t.jsxs("div",{className:R.default("form-field__content",ee,re),children:[t.jsxs("div",{className:R.default("form-field__content-inner",X),children:[_,Q,b]}),V&&t.jsx(o.Divider,{className:"form-field__item-divider",width:I,direction:v,size:C,fill:S})]}),A&&t.jsxs("div",{className:R.default("form-field__message",`text_size_${oe||N||h}`),"data-testid":de,children:[O&&z&&t.jsx(n.Text,{className:"form-field__message-item form-field__message-item_type-error",dataTestId:`${s}MessageError`,size:oe,textColor:ne,textWeight:le,children:z}),Boolean(M)&&(!O||!z)&&t.jsx(n.Text,{className:"form-field__message-item form-field__message-item_type_help-text",dataTestId:`${s}MessageHelpText`,size:N,textColor:U?j:w,textWeight:k,children:M}),(!O&&!M||O&&!M&&!z)&&t.jsx(n.Text,{className:"form-field__message-item form-field__message-item_type_help-text",dataTestId:`${s}MessageHelpText`,size:h,children:" "})]}),$]})}function Z(a){const{inputName:s}=a,{change:i}=e.useForm();return r.useEffect(()=>()=>{i(s,void 0)},[]),t.jsx(Y,{...a})}const ee=(e,t)=>{const r=e,a=Object.keys(t).map(e=>e===d.FORM_ERROR?"notification__item_status_error":`react-select-id_${e}-input`),s=r.find(e=>e.name?d.getIn(t,e.name):a.includes(e.id)),i=Object.keys(t);if(!s&&i.length){let e;try{const t=i[0];t===d.FORM_ERROR?e=document.querySelector("notification__item_status_error"):(e=document.querySelector(`#${t}-error`),e||(e=document.querySelector(`#id_${t}`)))}catch(e){console.warn(e)}e&&e.scrollIntoView({block:"center"})}s&&s.scrollIntoView({block:"center"})},te=K.default(void 0,ee),re=(e,t)=>{const r=(e=>e.replace(/(^|[_-])([a-zA-Z0-9])/g,(e,t,r)=>r.toUpperCase()))(e);return t&&t.endsWith("Field")?t:t?t+r+"Field":r+"Field"},ae=(e,t)=>d.setIn(e,t.path,t.message),se=Object.create(null);function ie(e,t){const a=r.useMemo(()=>e&&(e=>async function(t){try{await(e?.validate(t,{abortEarly:!1}))}catch(e){const t=e;if(t.message)return t.inner.reduce(ae,se);console.warn("itcase-forms schema.validate error: An error not related to the form occurred during validation. Validation ignored.")}})(e),[e,t]);return a}function oe(e){const{fieldProps:t={},input:a={},meta:s={}}=e,i=!s.modifiedSinceLastSubmit&&s.submitError,o=s.error?.key||"error",n=r.useMemo(()=>t.showErrorsOnSubmit?Boolean(s.submitFailed&&s.touched&&(s.error||i)):Boolean(s.touched&&(s.error||i)),[t.showErrorsOnSubmit,s.submitFailed,s.touched,s.error,i]),l=r.useMemo(()=>{const e=Array.isArray(a?.value)?a?.value.length:a?.value,t=s.modifiedSinceLastSubmit&&!s.error&&i;return Boolean(e&&(s.valid||t))},[a?.value,s.valid,s.error,i,s.modifiedSinceLastSubmit]);return{errorKey:o,errorMessage:r.useMemo(()=>{const e=s.error||i||!1;if(e){if("string"==typeof e)return e;if(e.message)return e.message}return""},[s.error,i]),successKey:"success",isErrorState:n,isValidState:l}}function ne(e){const{inputProps:t,validationStateKey:a}=e;return r.useMemo(()=>{const e={};return a?(Object.entries(t||{}).forEach(([t,r])=>{const s=L.default(t);if(s.startsWith(`${a}_`)){const t=s.replace(`${a}_`,""),i=$.default(t);e[i]=r}else e[t]||(e[t]=r)}),e):t},[a,t])}const le=A.default.memo(function(a){const{dataTestId:i,name:o,initialValue:n,classNameGroupItem:l,fieldProps:d={},inputProps:u={},showMessage:c,isDisabled:m,isRequired:p,onChange:f}=a;return t.jsx(e.Field,{type:"checkbox",name:o,initialValue:n,children:function({input:e,meta:a}){const o=r.useCallback(t=>{t&&(e.onChange(t),f&&f(t.target.checked,e.name))},[f,e.onChange]),{errorKey:n,errorMessage:h,successKey:x,isErrorState:g,isValidState:T}=oe({fieldProps:d,input:e,meta:a}),y=ne({inputProps:u,validationStateKey:g?n:T?x:null}),b=re(e.name,i);return t.jsx(Z,{className:R.default("form-field-checkbox","form__item_checkbox",l),dataTestId:b,errorKey:n,errorMessage:h,fieldClassName:"form-checkbox",inputName:e.name,inputValue:e.checked,metaActive:a.active,metaError:a.error,showMessage:c,tag:"label",isDisabled:m,isErrorState:g,isRequired:p,isValidState:T,...d,children:t.jsx(s.Checkbox,{checked:e.checked,isActive:e.checked,isDisabled:m,onBlur:e.onBlur,onChange:o,onFocus:e.onFocus,...y})})}})});function de(a){const{dataTestId:s,name:i,initialValue:o,classNameGroupItem:l,emptyMessage:d,emptyMessageTextColor:u,emptyMessageTextSize:c,fieldProps:m,inputProps:f,options:h,showMessage:x,isDisabled:g,isRequired:T,onChange:y}=a,{change:b}=e.useForm(),_=r.useCallback((e,t)=>{const r=e.includes(t)?e.filter(e=>e!==t):[...e,t];b(i,r),y&&y(r)},[b,i,y]);return r.useEffect(()=>{o&&b(i,o)},[o]),t.jsx(e.Field,{name:i,initialValue:o,children:function({input:e,meta:a}){const{errorKey:i,errorMessage:o,successKey:y,isErrorState:b,isValidState:v}=oe({fieldProps:m,input:e,meta:a}),S=ne({inputProps:f,validationStateKey:b?i:v?y:null}),C=r.useMemo(()=>{const t=[{label:null,value:null}];if(e?.value){return h.filter(t=>e.value?.includes(t.value))||t}return t},[e.value]),I=re(e.name,s);return t.jsx(Z,{className:R.default("form-field_chips","form__item_chips",l),dataTestId:I,errorKey:i,errorMessage:o,fieldClassName:"form-chips",inputName:e.name,inputValue:String(e.value??""),metaActive:a.active,metaError:a.error,showMessage:x,isDisabled:g,isErrorState:b,isRequired:T,isValidState:v,...m,children:h?.length?t.jsx(p.ChipsGroup,{direction:"horizontal",gap:"1m",wrap:"wrap",children:h.map(r=>t.jsx(p.Chips,{className:R.default(a.active&&"form-chips_state_focus",a.error&&a.touched&&`form-chips_state_${i}`),label:r.label,isActive:C.some(e=>e.value===r.value),isDisabled:r.isDisabled,onClick:()=>_(e.value,r.value),...S},r.value))}):t.jsx(n.Text,{size:c,textColor:u,children:d})})}})}const ue=A.default.memo(function(a){const{dataTestId:s,name:i,initialValue:o,label:n,classNameGroupItem:l,fieldProps:d,inputProps:u,options:c,showMessage:m,isDisabled:p,isCheckbox:h,isRequired:x,onChange:g}=a,{change:T}=e.useForm(),y=r.useCallback((e,t)=>{T(i,t&&e.value),g&&g(e.value,i,t)},[T,g]);return t.jsx(e.Field,{name:i,initialValue:o,children:function({input:e,meta:a}){const i=r.useMemo(()=>{const t={label:null,value:null};if(e.value){return c.find(t=>t.value===e.value)||t}return t},[e.value]),{errorKey:o,errorMessage:g,successKey:T,isErrorState:b,isValidState:_}=oe({fieldProps:d,input:e,meta:a}),v=ne({inputProps:u,validationStateKey:b?o:_?T:null}),S=re(e.name,s);return t.jsx(Z,{className:R.default("form-field_choice","form__item_choice",l),dataTestId:S,label:n,errorKey:o,errorMessage:g,fieldClassName:"form-choice",inputName:e.name,inputValue:String(e.value??""),metaActive:a.active,metaError:a.error,showMessage:m,isDisabled:p,isErrorState:b,isRequired:x,isValidState:_,...d,children:t.jsx(f.Choice,{className:R.default(a.active&&"form-choice_state_focus",a.error&&a.touched&&`form-choice_state_${o}`),name:e.name,active:i,options:c,isDisabled:p,isCheckbox:h,setActiveSegment:y,...v})})}})}),ce=A.default.memo(function(r){const{dataTestId:a,name:s,initialValue:i,label:o,classNameGroupItem:n,fieldProps:l={},inputProps:d={},showMessage:u,isDisabled:c,isRequired:m}=r;return t.jsx(e.Field,{name:s,initialValue:i,children:function({input:e,meta:r}){const{errorKey:s,errorMessage:i,successKey:p,isErrorState:f,isValidState:x}=oe({fieldProps:l,input:e,meta:r}),g=ne({inputProps:d,validationStateKey:f?s:x?p:null}),T=re(e.name,a);return t.jsx(Z,{className:R.default("form-field-code","form__item_code",n),dataTestId:T,label:o,errorKey:s,errorMessage:i,fieldClassName:"form-code",inputName:e.name,inputValue:String(e.value??""),metaActive:r.active,showMessage:u,isErrorState:f,isRequired:m,isValidState:x,...l,children:t.jsx(h.Code,{initialValue:e.value,isDisabled:c,onBlur:e.onBlur,onChange:e.onChange,onFocus:e.onFocus,...g})})}})}),me=A.default.memo(function(r){const{dataTestId:a,name:s,initialValue:i,classNameGroupItem:o,clearIcon:n,clearIconFill:l,clearIconFillHover:d,clearIconShape:u,clearIconSize:c,Component:m,fieldProps:p={},showMessage:f,isDisabled:h,isRequired:g,onClickClearIcon:T}=r;return t.jsx(e.Field,{name:s,initialValue:i,children:function({input:e,meta:s}){const{errorKey:i,errorMessage:y,isErrorState:b,isValidState:_}=oe({fieldProps:p,input:e,meta:s}),v=ne({inputProps:r,validationStateKey:b?i:"success"}),S=re(e.name,a);return t.jsxs(Z,{className:R.default("form-field_custom","form__item_custom",o),dataTestId:S,errorKey:i,errorMessage:y,fieldClassName:"form-custom",inputName:e.name,inputValue:String(e.value??""),metaActive:s.active,metaError:s.error,showMessage:f,isDisabled:h,isErrorState:b,isRequired:g,isValidState:_,...p,children:[t.jsx(m,{...v,input:e,meta:s,isDisabled:h}),n&&t.jsx(x.Icon,{className:"form-field__icon",size:c,iconFill:l,iconFillHover:d,imageSrc:n,shape:u,SvgImage:n,onClick:T})]})}})}),pe=A.default.memo(function(r){const{dataTestId:a,name:s,initialValue:i,classNameGroupItem:o,fieldProps:n,inputProps:l,parse:d,showMessage:u,token:c,isDisabled:m,isRequired:p,onDadataAutocomplete:f}=r;if("development"===process.env.NODE_ENV){const e=`Check your form config at field "${s}".`;if(!c){throw new Error(`FormFieldDadataInput: 'token' prop is missing, instead got ${c}.`+"\n"+e)}if(!f){throw new Error(`FormFieldDadataInput: 'onDadataAutocomplete' prop is missing, instead got ${f}.`+"\n"+e)}}return t.jsx(e.Field,{name:s,initialValue:i,parse:d,children:function({input:e,meta:r}){const{errorKey:s,errorMessage:i,successKey:d,isErrorState:h,isValidState:x}=oe({fieldProps:n,input:e,meta:r}),T=ne({inputProps:l,validationStateKey:h?s:x?d:null}),y=re(e.name,a);return t.jsx(Z,{className:R.default("form-field_input-dadata","form__item_input-dadata",o),dataTestId:y,errorKey:s,errorMessage:i,fieldClassName:"form-dadata",inputName:e.name,inputValue:String(e.value??""),metaActive:r.active,metaError:r.error,showMessage:u,isDisabled:m,isErrorState:h,isRequired:p,isValidState:x,...n,children:t.jsx(g.Dadata,{input:e,inputProps:T,meta:r,token:c,setValue:f})})}})});function fe(a){const{dataTestId:s,name:i,classNameGroupItem:o,datePickerProps:n,fieldProps:l={},inputProps:d={},showMessage:u,isDisabled:c,isRequired:m,onChange:p}=a;return t.jsx(e.Field,{name:i,children:function({input:e,meta:a}){const i=r.useCallback((t,r)=>{n?.selectsRange?e.onChange({endDate:r,startDate:t}):e.onChange(t),p&&p(t,r)},[e.onChange,p]),{errorKey:f,errorMessage:h,successKey:x,isErrorState:g,isValidState:y}=oe({fieldProps:l,input:e,meta:a}),b=ne({inputProps:d,validationStateKey:g?f:y?x:null}),_=re(e.name,s);return t.jsx(Z,{className:R.default("form-field_datepicker","form__item_datepicker",o),dataTestId:_,errorKey:f,errorMessage:h,fieldClassName:"form-datepicker",inputName:e.name,inputValue:String(e.value??""),metaActive:a.active,metaError:a.error,showMessage:u,isDisabled:c,isErrorState:g,isRequired:m,isValidState:y,...l,children:t.jsx(T.DatePickerInput,{name:e.name,datePickerProps:n,endValue:n?.selectsRange?e.value.endDate:null,inputProps:b,value:n?.selectsRange?e.value.startDate:e.value,onBlur:e.onBlur,onChange:i,onFocus:e.onFocus})})}})}function he(e,t){(null==t||t>e.length)&&(t=e.length);for(var r=0,a=Array(t);r<t;r++)a[r]=e[r];return a}function xe(e,t,r,a,s,i,o){try{var n=e[i](o),l=n.value}catch(e){return void r(e)}n.done?t(l):Promise.resolve(l).then(a,s)}function ge(e){return function(){var t=this,r=arguments;return new Promise(function(a,s){var i=e.apply(t,r);function o(e){xe(i,a,s,o,n,"next",e)}function n(e){xe(i,a,s,o,n,"throw",e)}o(void 0)})}}function Te(e,t){var r="undefined"!=typeof Symbol&&e[Symbol.iterator]||e["@@iterator"];if(r)return(r=r.call(e)).next.bind(r);if(Array.isArray(e)||(r=function(e,t){if(e){if("string"==typeof e)return he(e,t);var r={}.toString.call(e).slice(8,-1);return"Object"===r&&e.constructor&&(r=e.constructor.name),"Map"===r||"Set"===r?Array.from(e):"Arguments"===r||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(r)?he(e,t):void 0}}(e))||t){r&&(e=r);var a=0;return function(){return a>=e.length?{done:!0}:{done:!1,value:e[a++]}}}throw new TypeError("Invalid attempt to iterate non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.")}function ye(){
|
|
2
2
|
/*! regenerator-runtime -- Copyright (c) 2014-present, Facebook, Inc. -- license (MIT): https://github.com/babel/babel/blob/main/packages/babel-helpers/LICENSE */
|
|
3
|
-
var e,t,r="function"==typeof Symbol?Symbol:{},a=r.iterator||"@@iterator",s=r.toStringTag||"@@toStringTag";function i(r,a,s,i){var l=a&&a.prototype instanceof n?a:n,d=Object.create(l.prototype);return be(d,"_invoke",function(r,a,s){var i,n,l,d=0,u=s||[],c=!1,m={p:0,n:0,v:e,a:p,f:p.bind(e,4),d:function(t,r){return i=t,n=0,l=e,m.n=r,o}};function p(r,a){for(n=r,l=a,t=0;!c&&d&&!s&&t<u.length;t++){var s,i=u[t],p=m.p,f=i[2];r>3?(s=f===a)&&(l=i[(n=i[4])?5:(n=3,3)],i[4]=i[5]=e):i[0]<=p&&((s=r<2&&p<i[1])?(n=0,m.v=a,m.n=i[1]):p<f&&(s=r<3||i[0]>a||a>f)&&(i[4]=r,i[5]=a,m.n=f,n=0))}if(s||r>1)return o;throw c=!0,a}return function(s,u,f){if(d>1)throw TypeError("Generator is already running");for(c&&1===u&&p(u,f),n=u,l=f;(t=n<2?e:l)||!c;){i||(n?n<3?(n>1&&(m.n=-1),p(n,l)):m.n=l:m.v=l);try{if(d=2,i){if(n||(s="next"),t=i[s]){if(!(t=t.call(i,l)))throw TypeError("iterator result is not an object");if(!t.done)return t;l=t.value,n<2&&(n=0)}else 1===n&&(t=i.return)&&t.call(i),n<2&&(l=TypeError("The iterator does not provide a '"+s+"' method"),n=1);i=e}else if((t=(c=m.n<0)?l:r.call(a,m))!==o)break}catch(t){i=e,n=1,l=t}finally{d=1}}return{value:t,done:c}}}(r,s,i),!0),d}var o={};function n(){}function l(){}function d(){}t=Object.getPrototypeOf;var u=[][a]?t(t([][a]())):(be(t={},a,function(){return this}),t),c=d.prototype=n.prototype=Object.create(u);function m(e){return Object.setPrototypeOf?Object.setPrototypeOf(e,d):(e.__proto__=d,be(e,s,"GeneratorFunction")),e.prototype=Object.create(c),e}return l.prototype=d,be(c,"constructor",d),be(d,"constructor",l),l.displayName="GeneratorFunction",be(d,s,"GeneratorFunction"),be(c),be(c,s,"Generator"),be(c,a,function(){return this}),be(c,"toString",function(){return"[object Generator]"}),(ye=function(){return{w:i,m:m}})()}function be(e,t,r,a){var s=Object.defineProperty;try{s({},"",{})}catch(e){s=0}be=function(e,t,r,a){function i(t,r){be(e,t,function(e){return this._invoke(t,r,e)})}t?s?s(e,t,{value:r,enumerable:!a,configurable:!a,writable:!a}):e[t]=r:(i("next",0),i("throw",1),i("return",2))},be(e,t,r,a)}var _e=R.default.memo(function(e){var a,s=e.maxFiles,o=e.maxSize,l=e.dropzoneProps,d=void 0===l?{}:l,u=e.fileErrorText,c=e.hintDescription,m=e.hintTitle,p=e.inputName,f=e.inputValue,h=e.showFilename,x=e.thumbColumn,g=e.isPreviews,T=e.onClickPreview,b=e.onAddFiles,v=e.onChange,I=e.onDeleteFile,P=r.useState(""),z=P[0],F=P[1],w=r.useState(!1),j=w[0],M=w[1],N=r.useRef(null),k=r.useMemo(function(){var e=f?O.default(f):[];return null===N.current?(N.current=e,e):(N.current.forEach(function(t){var r;t.preview&&(!e.some(function(e){return e.preview===t.preview})&&null!=(r=t.preview)&&r.startsWith("blob:")&&URL.revokeObjectURL(t.preview))}),N.current=e,e)},[f]),B=r.useCallback(function(e){var t,r=O.default(e),a=1==(null!=(t=d.maxFiles)?t:s)?r[0]:[].concat(r);return v(a),a},[d.maxFiles,s,v]),D=r.useCallback(function(){var e=ge(ye().m(function e(t){var r,a,s,i,o;return ye().w(function(e){for(;;)switch(e.n){case 0:M(!0),r=[],a=Te(t);case 1:if((s=a()).done){e.n=5;break}if("string"!=typeof(i=s.value)){e.n=3;break}return e.n=2,Ce(i,g);case 2:(o=e.v)&&r.push(o),e.n=4;break;case 3:r.push(i);case 4:e.n=1;break;case 5:B(r),M(!1);case 6:return e.a(2)}},e)}));return function(t){return e.apply(this,arguments)}}(),[g,B]),q=r.useCallback(function(e,t){e.stopPropagation(),e.preventDefault();var r=[].concat(k);r.splice(t,1),I&&I(k[t],p),B(r)},[k,B,I]),E=_.useDropzone(Object.assign({maxFiles:s||5,maxSize:o||10485760},d,{getFilesFromEvent:(a=ge(ye().m(function e(t){var r,a;return ye().w(function(e){for(;;)switch(e.n){case 0:return e.n=1,y.fromEvent(t);case 1:return r=e.v,a=r.filter(function(e){return e instanceof File}),e.a(2,[].concat(k,a))}},e)})),function(e){return a.apply(this,arguments)}),onDropAccepted:function(e){g&&e.forEach(function(e){e.error||e.preview||(e.preview=URL.createObjectURL(e))});var t=B(e);F("");var r=e.map(function(e){return new Promise(function(t){return Pe(e,t)})});Promise.all(r).then(function(){b&&b(t,p)})},onDropRejected:function(e){if(e.length){var t="Ошибка при добавлении файла",r=e[0].errors[0];r&&(t=r.code===_.ErrorCode.TooManyFiles?"Максимальное количество файлов: "+s:r.message),F(t)}else F("")}})),V=E.getInputProps,W=E.getRootProps;r.useEffect(function(){var e=O.default(f);e.some(function(e){return"string"==typeof e})&&D(e)},[f]),r.useEffect(function(){return function(){N.current.forEach(function(e){var t;null!=(t=e.preview)&&t.startsWith("blob:")&&URL.revokeObjectURL(e.preview)})}},[]);var K=i.useDevicePropsGenerator(e),$=K.fillClass,L=K.fillHoverClass,G=K.borderColorClass,H=K.borderColorHoverClass,U=K.borderTypeClass,Q=K.borderWidthClass,J=K.errorMessageTextColor,X=K.errorMessageTextSize,Y=K.errorMessageTextWeight,Z=K.hintDescriptionTextColor,ee=K.hintDescriptionTextSize,te=K.hintDescriptionTextWeight,re=K.hintDescriptionTextWrap,ae=K.hintTitleTextColor,se=K.hintTitleTextSize,ie=K.hintTitleTextWeight,oe=K.hintTitleTextWrap,ne=K.removeThumbAppearance,le=K.removeThumbShape,de=K.removeThumbText,ue=K.removeThumbTextWeight,ce=K.shapeClass,me=K.thumbBorderColorClass,pe=K.thumbBorderColorHoverClass,fe=K.thumbBorderTypeClass,he=K.thumbBorderWidthClass,xe=K.thumbDirectionClass,be=K.thumbNameTextColor,_e=K.thumbNameTextSize,ve=K.thumbNameTextWeight,Se=K.thumbNameTextWrap;return t.jsxs(R.default.Fragment,{children:[t.jsxs("div",Object.assign({},W({className:"form-dropzone__dropzone dropzone"}),{children:[t.jsx("input",Object.assign({},V(),{name:p})),t.jsxs("div",{className:A.default("form-dropzone__dropzone-wrapper",x&&"form-dropzone__dropzone-wrapper_column_"+x,$&&"fill_"+$,L&&"fill_hover_"+L,Q&&"border-width_"+Q,G&&"border-color_"+G,H&&"border-color_hover_"+H,U&&"border_type_"+U,ce&&"shape_"+ce),children:[k.map(function(e,r){return t.jsxs("aside",{className:A.default("form-dropzone__thumb",$,xe,he,me,pe,fe),children:[g&&!e.error&&t.jsx("div",{className:"form-dropzone__thumb-image",children:t.jsx("img",{className:"form-dropzone__thumb-image-inner",src:e.preview||e.image,onClick:function(t){T&&T(e,t)}})}),e.error&&t.jsx("div",{children:t.jsx(n.Text,{size:_e,textColor:be,textWeight:ve,textWrap:Se,children:u||e.error})}),h&&t.jsx("div",{className:"form-dropzone__thumb-name",children:t.jsx(n.Text,{className:"form-dropzone__thumb-name-inner",size:_e,textColor:be,textWeight:ve,textWrap:Se,children:e.name})}),j&&t.jsx("div",{className:"form-dropzone__thumb-loader",children:t.jsx(C.Loader,{width:"fill",height:"fill"})}),t.jsx("div",{className:A.default("form-dropzone__thumb-remove"),children:t.jsx(S.Button,{appearance:ne,className:"form-dropzone__thumb-remove-text",label:de||"Удалить",labelTextWeight:ue,shape:le,onClick:function(e){return q(e,r)}})})]},e.id||e.name+"_"+r)}),k.length?t.jsxs("div",{className:"form-dropzone__hint form-dropzone__hint_type_add-more",children:[t.jsx(n.Text,{className:"form-dropzone__hint-title",size:se,textAlign:"center",textColor:ae,textWeight:ie,textWrap:oe,children:m||"Select a file or drag in form"}),c&&t.jsx(n.Text,{className:"form-dropzone__hint-text",size:ee,textColor:Z,textWeight:te,textWrap:re,children:c})]}):t.jsxs("div",{className:"form-dropzone__hint",children:[t.jsx(n.Text,{className:"form-dropzone__hint-title",size:se,textAlign:"center",textColor:ae,textWeight:ie,textWrap:oe,children:m||"Select a file or drag in form"}),c&&t.jsx(n.Text,{className:"form-dropzone__hint-text",size:ee,textColor:Z,textWeight:te,textWrap:re,children:c})]})]})]})),z&&t.jsx("div",{className:"form-field__message",children:t.jsx(n.Text,{className:"form-field__message-item form-field__message-item_type_message",size:X,textColor:J,textWeight:Y,children:z})})]})});function ve(e){return Se.apply(this,arguments)}function Se(){return(Se=ge(ye().m(function e(t){var r,a,s,i,o,n;return ye().w(function(e){for(;;)switch(e.p=e.n){case 0:return e.p=0,e.n=1,W.default({url:t,responseType:"blob"});case 1:return a=e.v,s=a.data,i=null==(r=a.headers["content-disposition"])?void 0:r.split("filename=")[1],(o=null==i?void 0:i.substring(1).slice(0,-1))||(o=t.split("/").at(-1)),e.a(2,new File([s],o,{type:s.type}));case 2:return e.p=2,n=e.v,console.log("error: ",n),e.a(2,null)}},e,null,[[0,2]])}))).apply(this,arguments)}function Ce(e,t){return Ie.apply(this,arguments)}function Ie(){return(Ie=ge(ye().m(function e(t,r){var a,s;return ye().w(function(e){for(;;)switch(e.n){case 0:if(a=null,s="string"==typeof t&&t.includes("/"),!t.image&&!s){e.n=2;break}return e.n=1,ve(t.image||t);case 1:(a=e.v)&&Pe(a);case 2:return t.dataURL&&"string"==typeof t.dataURL&&t.dataURL.startsWith("data:")&&((a=v.createFileFromDataURL(t.name||t.path,t.dataURL)).dataURL=t.dataURL),a&&(a.id=t.id,r&&(a.preview=URL.createObjectURL(a))),e.a(2,a)}},e)}))).apply(this,arguments)}function Pe(e,t){t=t||function(){};var r=new FileReader;r._readedFile=e,r.onabort=function(){return t()},r.onerror=function(){return t()},r.onload=function(e){e.target._readedFile.dataURL=r.result,t()},e instanceof File?r.readAsDataURL(e):t()}var ze=R.default.memo(function(r){var a=r.className,s=r.dataTestId,o=r.name,n=r.width,l=r.maxFiles,d=r.maxSize,u=r.label,c=r.classNameGroupItem,m=r.dropzoneProps,p=r.fieldProps,f=r.fileErrorText,h=r.hintDescription,x=r.hintTitle,g=r.showFilename,T=r.showMessage,y=r.isPreviews,b=r.isRequired,_=r.onClickPreview,v=r.onAddFiles,S=r.onDeleteFile,C=i.useDevicePropsGenerator(r),I=C.size,P=C.fill,z=C.fillHover,F=C.labelTextColor,w=C.borderColorHover,j=C.borderType,M=C.borderWidth,N=C.errorMessageTextColor,k=C.errorMessageTextSize,B=C.errorMessageTextWeight,D=C.hintDescriptionTextColor,q=C.hintDescriptionTextSize,E=C.hintDescriptionTextWeight,V=C.hintDescriptionTextWrap,R=C.hintTitleTextColor,W=C.hintTitleTextSize,K=C.hintTitleTextWeight,$=C.hintTitleTextWrap,L=C.removeThumbAppearance,O=C.removeThumbShape,G=C.removeThumbText,H=C.removeThumbTextWeight,U=C.shape,Q=C.thumbBorderColor,J=C.thumbBorderColorHover,X=C.thumbBorderType,Y=C.thumbBorderWidth,ee=C.thumbColumn,te=void 0===ee?1:ee,ae=C.thumbDirection,se=void 0===ae?"vertical":ae,ie=C.thumbNameTextColor,le=C.thumbNameTextSize,de=C.thumbNameTextWeight,ue=C.thumbNameTextWrap;return t.jsx(e.Field,{name:o,children:function(e){var i,o=e.input,C=e.meta,ee=oe({fieldProps:p,input:o,meta:C}),ae=ee.errorKey,ce=ee.errorMessage,me=ee.isErrorState,pe=ee.isValidState,fe=ne({inputProps:r,validationStateKey:me?ae:"success"}),he=re(o.name,s);return t.jsx(Z,Object.assign({className:A.default("form-field_type_dropzone","form__item_type_dropzone",c),dataTestId:he,width:n,label:u,labelTextColor:F,errorKey:ae,errorMessage:ce,fieldClassName:"form-dropzone",inputName:o.name,inputValue:(i=o.value,Array.isArray(i)?i.length>0?i:"":null!=i?i:""),metaActive:C.active,metaError:C.error,metaTouched:C.touched,showMessage:T,isErrorState:me,isRequired:b,isValidState:pe},p,{children:t.jsx(_e,{className:a,maxFiles:l,maxSize:d,size:I,fill:P,fillHover:z,borderColor:fe.borderColor,borderColorHover:w,borderType:j,borderWidth:M,dropzoneProps:m,errorMessageTextColor:N,errorMessageTextSize:k,errorMessageWeight:B,fileErrorText:f,hintDescription:h,hintDescriptionTextColor:D,hintDescriptionTextSize:q,hintDescriptionTextWeight:E,hintDescriptionTextWrap:V,hintTitle:x,hintTitleTextColor:R,hintTitleTextSize:W,hintTitleTextWeight:K,hintTitleTextWrap:$,inputName:o.name,inputValue:o.value,metaError:C.error,metaTouched:C.touched,removeThumbAppearance:L,removeThumbShape:O,removeThumbText:G,removeThumbTextWeight:H,shape:U,showFilename:g,thumbBorderColor:Q,thumbBorderColorHover:J,thumbBorderType:X,thumbBorderWidth:Y,thumbColumn:te,thumbDirection:se,thumbNameTextColor:ie,thumbNameTextSize:le,thumbNameTextWeight:de,thumbNameTextWrap:ue,isPreviews:y,onClickPreview:_,onAddFiles:v,onChange:o.onChange,onDeleteFile:S})}))}})});const Fe=R.default.memo(function(r){const{className:a,dataTestId:s,dataTour:o,name:l,title:d,titleTextColor:u,titleTextSize:c,titleTextWeight:m,label:p,labelTextColor:f,labelTextSize:h,labelTextWeight:x,message:g,messageTextColor:T,messageTextSize:y,messageTextWeight:b,column:_,showGroupMessage:v,before:S,after:C,isActive:P,isDisabled:z,isHidden:F,children:w}=r,j=i.useDevicePropsGenerator(r),{fillActiveClass:M,fillActiveHoverClass:N,fillClass:k,fillDisabledClass:B,fillHoverClass:D,shapeClass:q}=j,{styles:E}=i.useStyles(r),V=re(l,s);return t.jsx(e.Field,{name:l,children:function({input:e,meta:s}){const{errorKey:i,errorMessage:j,isErrorState:W}=oe({fieldProps:r,input:e,meta:s}),K=ne({inputProps:r,validationStateKey:W?i:"success"});return t.jsxs("div",{className:A.default("form__group",a,F&&"form__group_hidden",z?B&&`fill_${B}`:P?M&&`fill_active_${M}`:k&&`fill_${k}`,z?B&&`fill_${B}`:P?N&&`fill_active_hover_${N}`:D&&`fill_hover_${D}`,q&&`shape_${q}`,_&&`form__group_column_${_}`),"data-testid":V,"data-tour":o,style:E,children:[t.jsxs("div",{className:"form__group-wrapper",children:[S,d&&t.jsx("div",{className:"form__group-title",children:t.jsx(I.Title,{dataTestId:`${V}Title`,size:c,textColor:u,textWeight:m,children:d})}),p&&t.jsx("div",{className:"form__group-label",children:t.jsx(n.Text,{dataTestId:`${V}Label`,size:h,textColor:f,textWeight:x,children:p})}),t.jsx("div",{className:"form__group-items",children:w}),C]}),v&&t.jsxs(R.default.Fragment,{children:[W&&j&&t.jsx(n.Text,{className:`form__group-message form__group-message_type-${i}`,dataTestId:`${V}MessageError`,size:K.messageTextSize,textColor:K.messageTextColor,textWeight:K.messageTextWeight,children:j}),Boolean(g)&&(!W||!j)&&t.jsx(n.Text,{className:"form__group-message",dataTestId:`${l}GroupMessage`,size:y,textColor:T,textWeight:b,children:g}),!W&&!g&&t.jsx(n.Text,{className:"form__group-message",size:y,children:" "})]})]})}})}),we=R.default.memo(function(a){const{dataTestId:s,name:i,initialValue:o,classNameGroupItem:n,clearIcon:l,clearIconFill:d,clearIconFillHover:u,clearIconShape:c,clearIconSize:m,fieldProps:p={},inputProps:f={},parse:h,showMessage:g,isDisabled:T,isRequired:y,onClickClearIcon:b,onChange:_}=a;return t.jsx(e.Field,{name:i,initialValue:o,parse:h,children:function({input:e,meta:a}){const i=r.useCallback(t=>{e.onChange(t),_&&_(t.target.value,e.name)},[_,e]),{errorKey:o,errorMessage:h,successKey:v,isErrorState:S,isValidState:C}=oe({fieldProps:p,input:e,meta:a}),I=ne({inputProps:f,validationStateKey:S?o:C?v:null}),z=re(e.name,s);return t.jsxs(Z,{className:A.default("form-field_input","form__item_input",n),dataTestId:z,errorKey:o,errorMessage:h,fieldClassName:"form-input",inputName:e.name,inputValue:String(e.value??""),metaActive:a.active,metaError:a.error,showMessage:g,isDisabled:T,isErrorState:S,isRequired:y,isValidState:C,...p,children:[t.jsx(P.Input,{className:A.default(a.active&&"input_state_focus",a.error&&a.touched&&`input_state_${o}`),dataTestId:`${z}Input`,type:"text",name:e.name,autoComplete:"nope",value:String(e.value??""),isDisabled:T,onBlur:e.onBlur,onChange:i,onFocus:e.onFocus,...I}),l&&t.jsx(x.Icon,{className:"form-field__icon",dataTestId:`${z}InputIcon`,size:m,iconFill:d,iconFillHover:u,imageSrc:"string"==typeof l&&l,shape:c,SvgImage:"string"!=typeof l&&l,onClick:b})]})}})}),je=R.default.memo(function(a){const{dataTestId:s,name:i,initialValue:o,classNameGroupItem:n,fieldProps:l={},inputProps:d={},inputType:u="custom",parse:c,showMessage:m,isDisabled:p,isRequired:f,onChange:h}=a;return t.jsx(e.Field,{name:i,initialValue:o,parse:c,children:function({input:e,meta:a}){const i=r.useCallback(t=>{e.onChange(t),h&&h(t.target.value)},[h,e.onChange]),{errorKey:o,errorMessage:c,successKey:x,isErrorState:g,isValidState:T}=oe({fieldProps:l,input:e,meta:a}),y=ne({inputProps:d,validationStateKey:g?o:T?x:null}),b=re(e.name,s);return t.jsx(Z,{className:A.default("form-field_input-number","form__item_input-number",n),dataTestId:b,errorKey:o,errorMessage:c,fieldClassName:"form-input-number",inputName:e.name,inputValue:String(e.value??""),metaActive:a.active,metaError:a.error,showMessage:m,isDisabled:p,isErrorState:g,isRequired:f,isValidState:T,...l,children:t.jsx(z.InputNumber,{className:A.default(a.active&&"input_state_focus",(a.submitFailed||a.touched)&&a.error&&`input_state_${o}`),dataTestId:`${b}InputNumber`,type:u,name:e.name,value:Number(e.value)||0,onChange:i,...y})})}})}),Me=R.default.memo(function(a){const{dataTestId:s,name:i,initialValue:o,classNameGroupItem:n,clearIcon:l,clearIconFill:d,clearIconFillHover:u,clearIconShape:c,clearIconSize:m,fieldProps:p={},inputProps:f={},optionsMask:h,showMessage:g,unmasked:T,isDisabled:y,isRequired:b,onClickClearIcon:_}=a;return t.jsx(e.Field,{name:i,initialValue:o,children:function({input:e,meta:a}){const{ref:i,unmaskedValue:v,value:S,setUnmaskedValue:C}=F.useIMask(h,{defaultValue:o,onAccept:(t,r,a)=>{a&&e.onChange(r._unmaskedValue)}});r.useEffect(()=>{e.value!==v&&C(e.value.replace(T,""))},[e.value]);const{errorKey:I,errorMessage:z,successKey:w,isErrorState:j,isValidState:M}=oe({fieldProps:p,input:e,meta:a}),N=ne({inputProps:f,validationStateKey:j?I:M?w:null}),k=re(e.name,s);return t.jsxs(Z,{className:A.default("form-field-masked-input","form__item_masked-input",n),dataTestId:k,errorKey:I,errorMessage:z,fieldClassName:"form-maskedInput",inputName:e.name,inputValue:String(e.value??T??""),metaActive:a.active,metaError:a.error,showMessage:g,isDisabled:y,isErrorState:j,isRequired:b,isValidState:M,...p,children:[t.jsx(P.Input,{className:A.default(a.active&&"input_state_focus",a.error&&a.touched&&`input_state_${I}`),ref:i,value:S,onBlur:e.onBlur,onFocus:e.onFocus,...N}),l&&t.jsx(x.Icon,{className:"form-field__icon",size:m,iconFill:d,iconFillHover:u,imageSrc:l,shape:c,SvgImage:l,onClick:_})]})}})}),Ne=R.default.memo(function(a){const{dataTestId:s,name:i,initialValue:o,classNameGroupItem:n,fieldProps:l,inputProps:d,parse:u,showMessage:c,isDisabled:m,isRequired:p,onChange:f}=a;return t.jsx(e.Field,{name:i,initialValue:o,parse:u,children:function({input:e,meta:a}){const i=r.useCallback(t=>{e.onChange(t),f&&f(t.target.value,e.name)},[f,e.onChange]),{errorKey:o,errorMessage:u,successKey:h,isErrorState:x,isValidState:g}=oe({fieldProps:l,input:e,meta:a}),T=ne({inputProps:d,validationStateKey:x?o:g?h:null}),y=re(e.name,s);return t.jsx(Z,{className:A.default("form-field_input-password","form__item_input-password",n),dataTestId:y,errorKey:o,errorMessage:u,fieldClassName:"form-password",inputName:e.name,inputValue:String(e.value??""),metaActive:a.active,metaError:a.error,showMessage:c,isDisabled:m,isErrorState:x,isRequired:p,isValidState:g,...l,children:t.jsx(w.InputPassword,{className:A.default(a.active&&"input-password_state_focus",a.error&&a.touched&&`input-password_state_${o}`),dataTestId:`${y}InputPassword`,name:e.name,autoComplete:"nope",value:String(e.value??""),isDisabled:m,onBlur:e.onBlur,onChange:i,onFocus:e.onFocus,...T})})}})});function ke(e){const{input:a,inputProps:s,options:i,onChange:o}=e,n=r.useCallback(e=>{a.onChange(e),o&&o(e,a.name)},[a,o]),l=r.useCallback(e=>{e.target.checked&&n(e.target.value)},[o]);return t.jsx(R.default.Fragment,{children:i.map(e=>t.jsx(j.Radio,{className:"form-radio__item",label:e.label,checked:e.value===a.value,value:e.value,onChange:l,...s},e.value))})}const Be=R.default.memo(function(r){const{dataTestId:a,name:s,classNameGroupItem:i,fieldProps:o={},inputProps:n={},options:l=[],showMessage:d,isDisabled:u,isRequired:c,onChange:m}=r;return t.jsx(e.Field,{name:s,children:function({input:e,meta:r}){const{errorKey:s,errorMessage:p,successKey:f,isErrorState:h,isValidState:x}=oe({fieldProps:o,input:e,meta:r}),g=ne({inputProps:n,validationStateKey:h?s:x?f:null}),T=re(e.name,a);return t.jsx(Z,{className:A.default("form-field_radio","form__item_radio",i),dataTestId:T,errorKey:s,errorMessage:p,fieldClassName:"form-radio",inputName:e.name,inputValue:String(e.value??""),metaActive:r.active,metaError:r.error,showMessage:d,isDisabled:u,isErrorState:h,isRequired:c,isValidState:x,...o,children:t.jsx(ke,{input:e,inputProps:g,options:l,onChange:m})})}})});function De(a){const{dataTestId:s,name:i,fieldProps:o,inputProps:n,options:l,showMessage:d,isDisabled:u,isRequired:c}=a,{change:m}=e.useForm(),p=r.useCallback(e=>{m(i,e.value)},[m]);return t.jsx(e.Field,{name:i,children:function({input:e,meta:a}){const i=r.useMemo(()=>{const t={label:null,value:null};if(e.value){return l.find(t=>t.value===e.value)||t}return t},[e.value]),{errorKey:m,errorMessage:f,successKey:h,isErrorState:x,isValidState:g}=oe({fieldProps:o,input:e,meta:a}),T=ne({inputProps:n,validationStateKey:x?m:g?h:null}),y=re(e.name,s);return t.jsx(Z,{className:A.default("form-field_segmented","form__item_segmented"),dataTestId:y,errorKey:m,errorMessage:f,fieldClassName:"form-segmented",inputName:e.name,inputValue:String(e.value??""),metaActive:a.active,metaError:a.error,showMessage:d,isDisabled:u,isErrorState:x,isRequired:c,isValidState:g,...o,children:t.jsx(M.Segmented,{activeSegment:i,segments:l,isDisabled:u,setActiveSegment:p,...T})})}})}function qe(e){const{options:t,selectValue:r}=e,a=Array.isArray(r)?r:[r];let s=[];return t.forEach(e=>{const t=a.includes(e.value),i=a.includes(e.label);let o=[];e.options&&(o=qe({options:e.options,selectValue:r})),t||i?s.push(e):o.length&&(s=s.concat(o))}),s}const Ee=R.default.memo(function(a){const{dataTestId:s,name:i,initialValue:o,classNameGroupItem:n,fieldProps:l,options:d=[],selectProps:u,selectRef:c,showMessage:m,isDisabled:p,isRequired:f,onChange:h,onInputChange:x}=a;return t.jsx(e.Field,{name:i,initialValue:o,children:function({input:e,meta:a}){const[i,o]=r.useState(null),g=r.useMemo(()=>{const t=qe({options:d,selectValue:e.value});return!t.length&&e.value?.length&&t.push({label:e.label,value:e.value}),t},[e.label,e.value]),T=r.useCallback(t=>{e.onChange(t),h&&h(t,{name:e.name})},[h,e.onChange]),y=r.useCallback(e=>{const t=Array.isArray(e)?e.map(e=>e.value):e?.value||null;o(e),T(t)},[T]);r.useEffect(()=>{o(g)},[g]);const{errorKey:b,errorMessage:_,successKey:v,isErrorState:S,isValidState:C}=oe({fieldProps:l,input:e,meta:a}),I=ne({inputProps:u,validationStateKey:S?b:C?v:null}),P=re(e.name,s);return t.jsx(Z,{className:A.default("form-field_select","form__item_select",n),dataTestId:P,errorKey:b,errorMessage:_,fieldClassName:"form-select",inputName:e.name,inputValue:String(e.value??""),metaActive:a.active,metaError:a.error,showMessage:m,isDisabled:p,isErrorState:S,isRequired:f,isValidState:C,...l,children:t.jsx(N.Select,{className:"form-select-item",ref:c,instanceId:`id_${e.name}`,options:d,value:i,isDisabled:p,onChange:y,onInputChange:x,...I})})}})}),Ve=R.default.memo(function(a){const{dataTestId:s,name:i,classNameGroupItem:o,fieldProps:n={},inputProps:l={},showMessage:d,isDisabled:u,isRequired:c,onChange:m}=a;return t.jsx(e.Field,{type:"checkbox",name:i,children:function({input:e,meta:a}){const i=r.useCallback(t=>{e.onChange(t),m&&m(t.target.checked,e.name)},[m,e.onChange]),{errorKey:p,errorMessage:f,successKey:h,isErrorState:x,isValidState:g}=oe({fieldProps:n,input:e,meta:a}),T=ne({inputProps:l,validationStateKey:x?p:g?h:null}),y=re(e.name,s);return t.jsx(Z,{className:A.default("form-field-switch","form__item_switch",o),dataTestId:y,errorKey:p,errorMessage:f,fieldClassName:"form-switch",inputName:e.name,inputValue:e.checked,metaActive:a.active,metaError:a.error,showMessage:d,tag:"label",isDisabled:u,isErrorState:x,isRequired:c,isValidState:g,...n,children:t.jsx(k.Switch,{isActive:e.checked,isDisabled:u,onChange:i,...T})})}})}),Re=R.default.memo(function(r){const{dataTestId:a,name:s,classNameGroupItem:i,fieldProps:o={},inputProps:n={},showMessage:l,isDisabled:d,isRequired:u}=r;return t.jsx(e.Field,{name:s,children:function({input:e,meta:r}){const{errorKey:s,errorMessage:c,successKey:m,isErrorState:p,isValidState:f}=oe({fieldProps:o,input:e,meta:r}),h=ne({inputProps:n,validationStateKey:p?s:f?m:null}),x=re(e.name,a);return t.jsx(Z,{className:A.default("form-field_textarea","form__item_textarea",i),dataTestId:x,errorKey:s,errorMessage:c,fieldClassName:"form-textarea",inputName:e.name,inputValue:String(e.value??""),metaActive:r.active,metaError:r.error,showMessage:l,isDisabled:d,isErrorState:p,isRequired:u,isValidState:f,...o,children:t.jsx(B.Textarea,{className:A.default(r.active&&"textarea_state_focus",r.error&&r.touched&&`textarea_state_${s}`),dataTestId:`${x}Textarea`,name:e.name,value:String(e.value??""),isDisabled:d,onBlur:e.onBlur,onChange:e.onChange,onFocus:e.onFocus,...h})})}})});function Ae(e,a){switch(e.type){case We.password:return t.jsx(Ne,{...e,dataTestId:e.dataTestId??a.dataTestId},a.key);case We.primaryButton:return r.createElement(S.Button,{...e,className:"form__button-item",dataTestId:e.dataTestId||"FormPrimaryButton",key:a.key,width:"fill",htmlType:a.primaryButtonHtmlType||"submit",isDisabled:a.primaryButtonIsDisabled,isLoading:a.primaryButtonIsLoading});case We.secondaryButton:return r.createElement(S.Button,{...e,className:"form__button-item",dataTestId:e.dataTestId||"FormSecondaryButton",key:a.key,width:"fill",htmlType:a.secondaryButtonHtmlType,isDisabled:a.secondaryButtonIsDisabled,isLoading:a.secondaryButtonIsLoading,onClick:a.onClickSecondaryButton});case We.tertiaryButton:return r.createElement(S.Button,{...e,className:"form__button-item",dataTestId:e.dataTestId||"FormTertiaryButton",key:a.key,width:"fill",htmlType:a.tertiaryButtonHtmlType,isDisabled:a.tertiaryButtonIsDisabled,isLoading:a.tertiaryButtonIsLoading,onClick:a.onClickTertiaryButton});case We.checkbox:return t.jsx(le,{...e,dataTestId:e.dataTestId??a.dataTestId},a.key);case We.choice:return t.jsx(ue,{...e,dataTestId:e.dataTestId??a.dataTestId},a.key);case We.code:return t.jsx(ce,{...e,dataTestId:e.dataTestId??a.dataTestId},a.key);case We.chips:return t.jsx(de,{...e,dataTestId:e.dataTestId??a.dataTestId},a.key);case We.switch:return t.jsx(Ve,{...e,dataTestId:e.dataTestId??a.dataTestId},a.key);case We.segmented:return t.jsx(De,{...e,dataTestId:e.dataTestId??a.dataTestId},a.key);case We.datePicker:return t.jsx(fe,{...e,dataTestId:e.dataTestId??a.dataTestId},a.key);case We.fileInput:return t.jsx(ze,{...e,dataTestId:e.dataTestId??a.dataTestId},a.key);case We.radioGroup:return t.jsx(Be,{...e,dataTestId:e.dataTestId??a.dataTestId},a.key);case We.select:return t.jsx(Ee,{...e,dataTestId:e.dataTestId??a.dataTestId},a.key);case We.text:return t.jsx(we,{...e,dataTestId:e.dataTestId??a.dataTestId},a.key);case We.textarea:return t.jsx(Re,{...e,dataTestId:e.dataTestId??a.dataTestId},a.key);case We.maskedInput:return t.jsx(Me,{...e,dataTestId:e.dataTestId??a.dataTestId},a.key);case We.custom:return t.jsx(me,{...e,dataTestId:e.dataTestId??a.dataTestId},a.key);case We.dadataInput:return t.jsx(pe,{...e,dataTestId:e.dataTestId??a.dataTestId},a.key);case We.inputNumber:return t.jsx(je,{...e,dataTestId:e.dataTestId??a.dataTestId},a.key);case We.group:return t.jsx(Fe,{...e,dataTestId:e.dataTestId??a.dataTestId,children:Object.entries(e.group).map(([t,r])=>{const s={...r,classNameGroupItem:r.classNameGroupItem||"form__group-item",showMessage:e.showMessage};return Ae(s,{...a,dataTestId:s.dataTestId??a.dataTestId,key:t+"_form_group"})})},a.key)}}const We={secondaryButton:"secondaryButton",primaryButton:"primaryButton",tertiaryButton:"tertiaryButton",checkbox:"checkbox",chips:"chips",choice:"choice",code:"code",custom:"custom",dadataInput:"dadataInput",datePicker:"datePicker",dateRangePicker:"dateRangePicker",fileInput:"fileInput",group:"group",inputNumber:"inputNumber",maskedInput:"maskedInput",password:"password",radioGroup:"radioGroup",segmented:"segmented",select:"select",switch:"switch",text:"text",textarea:"textarea"},Ke=R.default.forwardRef(function(a,s){const{className:o,dataTestId:l,dataTour:d,type:u,initialValues:c,initialValuesEqual:m,config:p,validationSchema:f,title:h,desc:x,buttonGap:g,dataTestIdButtons:T,dataTestIdPrimaryButton:y,dataTestIdSecondaryButton:b,dataTestIdTertiaryButton:_,dataTourButtons:v,dataTourPrimaryButton:P,dataTourSecondaryButton:z,dataTourTertiaryButton:F,disableFieldsAutoComplete:w=!1,fieldsGap:j,groupGap:M,language:N,mutators:k,notificationCloseButton:B,notificationType:E,primaryButton:V,renderFieldsWrapper:W=e=>e,secondaryButton:K,tertiaryButton:$,before:L,after:O,isLoading:G,onClickSecondaryButton:H,onClickTertiaryButton:U,onChangeFormValues:Q,onSubmit:J}=a,X=p.fields||p,Y=p.title||p.form?.title,Z=p.form?.dataTestId||l,ee=ie(f,N),re=r.useCallback(e=>{s&&"object"==typeof s&&(s.current=e)},[s]),ae=i.useDevicePropsGenerator(a),{directionClass:se="vertical",fillClass:oe,titleFill:ne,titlePosition:le,titleTextColor:de,titleTextSize:ue,titleTextWeight:ce,descSize:me,descTextColor:pe,descTextWeight:fe,buttonDirection:he="vertical",buttonFill:xe,buttonJustifyContent:ge,buttonPadding:Te,buttonPosition:ye,elevationClass:be,heightClass:_e,loader:ve,loaderAppearance:Se,loaderFill:Ce="surfacePrimary",loaderItemFill:Ie="accentItemSecondary",loaderShape:Pe,loaderSize:ze="l",loaderText:Fe,loaderType:we="dot",primaryButtonAppearance:je,primaryButtonFill:Me,primaryButtonFillHover:Ne,primaryButtonHtmlType:ke,primaryButtonIsDisabled:Be,primaryButtonIsLoading:De,primaryButtonLabel:qe,primaryButtonLabelSize:Ee,primaryButtonLabelTextColor:Ve,primaryButtonLabelTextWeight:Re,primaryButtonSize:We,secondaryButtonAppearance:Ke,secondaryButtonFill:$e,secondaryButtonFillHover:Le,secondaryButtonHtmlType:Oe,secondaryButtonIsDisabled:Ge,secondaryButtonIsLoading:He,secondaryButtonLabel:Ue,secondaryButtonLabelSize:Qe,secondaryButtonLabelTextColor:Je,secondaryButtonLabelTextWeight:Xe,secondaryButtonSize:Ye,shapeClass:Ze,tertiaryButtonAppearance:et,tertiaryButtonFill:tt,tertiaryButtonFillHover:rt,tertiaryButtonHtmlType:at,tertiaryButtonIsDisabled:st,tertiaryButtonIsLoading:it,tertiaryButtonLabel:ot,tertiaryButtonLabelSize:nt,tertiaryButtonLabelTextColor:lt,tertiaryButtonLabelTextWeight:dt,tertiaryButtonSize:ut,widthClass:ct}=ae,{styles:mt,wrapper:pt}=i.useStyles(a);return t.jsx(e.Form,{initialValues:c,initialValuesEqual:m,render:({form:r,handleSubmit:a,modifiedSinceLastSubmit:s,submitError:i})=>t.jsxs("form",{className:A.default(o,"form",u&&`form_type_${u}`,ct&&`width_${ct}`,_e&&`height_${_e}`,le&&`form_title-position_${le}`,ye&&`form_button-position_${ye}`,oe&&`fill_${oe}`,Ze&&`shape_${Ze}`,be&&`elevation_${be}`),ref:()=>re(r),autoCapitalize:w?"off":void 0,autoComplete:w?"off":void 0,autoCorrect:w?"off":void 0,"data-testid":Z||l&&`${l}Form`||"Form","data-tour":d,spellCheck:w?"false":void 0,style:mt,onSubmit:a,children:[L,(h||Y)&&t.jsx(I.Title,{className:"form__title",dataTestId:Z?`${Z}Title`:"FormTitle",size:ue,fill:ne,textColor:de,textWeight:ce,children:h||Y}),x&&t.jsx(n.Text,{className:"form__desc",size:me,textColor:pe,textWeight:fe,"data-testid":l?`${l}Desc`:"FormDesc",children:x}),i&&!s&&t.jsx("div",{className:A.default("notification","form-notification",E?`form-notification_${E}`:"form-notification_global"),children:t.jsx(q.Notification,{appearance:"errorPrimary sizeS solid rounded",dataTestId:p.form?.dataTestId?`${p.form.dataTestId}Notification`:"FormNotification",type:"global",status:"error",text:r.getState().submitError,closeIcon:B})}),Q&&t.jsx(e.FormSpy,{subscription:{values:!0},onChange:Q}),Boolean(X&&Object.keys(X).length)&&t.jsx(R.default.Fragment,{children:W(t.jsxs(D.Group,{className:"form__wrapper",direction:"vertical",gap:j||M,style:pt,children:[Object.keys(X).map(e=>Ae(X[e],{dataTestId:l||p.form?.dataTestId,key:e})),G&&(ve||t.jsx(C.Loader,{appearance:Se,className:"form__loader",dataTestId:p.form?.dataTestId?`${p.form.dataTestId}Loader`:"FormLoader",type:we,size:ze,fill:Ce,text:Fe,itemFill:Ie,shape:Pe}))]}))}),p.buttons?t.jsx(D.Group,{className:"form__button",dataTestId:T||`${l}Buttons`,dataTour:v,direction:he,justifyContent:ge,fill:xe,padding:Te,gap:g,children:Object.keys(p.buttons).map(e=>Ae(p.buttons[e],{dataTestId:l,key:e,primaryButtonHtmlType:ke,primaryButtonIsDisabled:Be,primaryButtonIsLoading:De,secondaryButtonHtmlType:Oe,secondaryButtonIsDisabled:Ge,secondaryButtonIsLoading:He,tertiaryButtonHtmlType:at,tertiaryButtonIsDisabled:st,tertiaryButtonIsLoading:it,onClickSecondaryButton:H,onClickTertiaryButton:U}))}):(qe||V||Ue||K||$||ot)&&t.jsxs(D.Group,{className:"form__button",dataTestId:T||`${l}Buttons`,dataTour:v,direction:he,justifyContent:ge,fill:xe,padding:Te,gap:g,children:[qe?t.jsx(S.Button,{appearance:je,className:"form__button-item",dataTestId:y||l&&`${l}PrimaryButton`||"FormPrimaryButton",dataTour:P,width:"fill",size:We,fill:Me,fillHover:Ne,label:qe,labelTextColor:Ve,labelTextSize:Ee,labelTextWeight:Re,htmlType:ke||"submit",isDisabled:Be,isLoading:De}):V,Ue?t.jsx(S.Button,{appearance:Ke,className:"form__button-item",dataTestId:b||l&&`${l}SecondaryButton`||"FormSecondaryButton",dataTour:z,width:"fill",size:Ye,fill:$e,fillHover:Le,label:Ue,labelTextColor:Je,labelTextSize:Qe,labelTextWeight:Xe,htmlType:Oe,isDisabled:Ge,isLoading:He,onClick:H}):K,ot?t.jsx(S.Button,{appearance:et,className:"form__button-item",dataTestId:_||l&&`${l}TertiaryButton`||"FormTertiaryButton",dataTour:F,width:"fill",size:ut,fill:tt,fillHover:rt,label:ot,labelTextColor:lt,labelTextSize:nt,labelTextWeight:dt,htmlType:at,isDisabled:st,isLoading:it,onClick:U}):$]}),O]}),decorators:[te],mutators:k,subscription:{modifiedSinceLastSubmit:!0,pristine:!0,submitError:!0,submitting:!0},validate:ee,onSubmit:J})});Object.defineProperty(exports,"Field",{enumerable:!0,get:function(){return e.Field}}),Object.defineProperty(exports,"useForm",{enumerable:!0,get:function(){return e.useForm}}),Object.defineProperty(exports,"useFormState",{enumerable:!0,get:function(){return e.useFormState}}),exports.DEFAULT_MESSAGES_FIELDS=G,exports.FieldWrapper=Z,exports.FieldWrapperBase=Y,exports.FinalForm=Ke,exports.FormFieldCheckbox=le,exports.FormFieldChips=de,exports.FormFieldChoice=ue,exports.FormFieldCode=ce,exports.FormFieldCustom=me,exports.FormFieldDadataInput=pe,exports.FormFieldDatePicker=fe,exports.FormFieldFileInput=ze,exports.FormFieldInput=we,exports.FormFieldInputNumber=je,exports.FormFieldMaskedInput=Me,exports.FormFieldPassword=Ne,exports.FormFieldRadioGroup=Be,exports.FormFieldSegmented=De,exports.FormFieldSelect=Ee,exports.FormFieldSwitch=Ve,exports.FormFieldTextarea=Re,exports.FormGroup=Fe,exports.addRequiredFieldsParamToSchema=e=>{const t=Object.entries(e.fields);return e.requiredFields=t.reduce((e,[t,r])=>(r.exclusiveTests?.required&&e.push(t),e),[]),e},exports.createDataTestIdField=re,exports.dateValidation=e=>{const t=e instanceof Date?e:new Date(e);return!isNaN(t.getTime())},exports.defaultCheckboxProps={appearance:"defaultPrimary sizeL ghost rounded",width:"fill",errorAppearance:"errorPrimary sizeL ghost rounded",requiredAppearance:"requirePrimary sizeL ghost rounded"},exports.defaultChipsProps={appearance:"surfacePrimary sizeM solid rounded",width:"fill",errorAppearance:"errorPrimary sizeM solid rounded",requiredAppearance:"warningPrimary sizeM solid rounded"},exports.defaultChoiceProps={appearance:"defaultPrimary sizeM solid rounded",width:"fill",errorAppearance:"errorPrimary sizeM solid rounded",requiredAppearance:"requirePrimary sizeM solid rounded"},exports.defaultCodeProps={appearance:"defaultPrimary sizeL solid rounded",errorAppearance:"errorPrimary sizeM solid rounded",requiredAppearance:"requirePrimary sizeM solid rounded"},exports.defaultDadataInputProps={appearance:"defaultPrimary sizeM solid rounded",errorAppearance:"errorPrimary sizeM solid rounded",requiredAppearance:"requirePrimary sizeM solid rounded",successAppearance:"successPrimary sizeM solid rounded"},exports.defaultDatepickerProps={appearance:"surfacePrimary sizeS solid rounded",dateFormat:"dd/MM/yyyy - HH:mm",readOnly:!1,selectsRange:!1,showTimeSelect:!0,timeCaption:"Время",timeFormat:"p",timeIntervals:60,isClearable:!0,isStartDefaultNull:!0},exports.defaultDropzoneProps={fill:"surfaceSecondary",fillHover:"surfaceTertiary",hintTitle:"Перетащите изображение или выберите файл с компьютера",hintTitleTextColor:"surfaceTextPrimary",hintTitleTextSize:"m",removeThumbText:"удалить",removeThumbTextColor:"errorTextPrimary",removeThumbTextHoverColor:"errorTextPrimaryHover",removeThumbTextSize:"s",shape:"rounded",showFilename:!0,thumbBorderColor:"surfaceBorderTertiary",thumbBorderColorHover:"surfaceBorderQuaternary",thumbBorderWidth:1,thumbNameTextColor:"surfaceTextPrimary",thumbNameTextSize:"s",isPreviews:!0},exports.defaultFieldProps=H,exports.defaultFieldSizeL=J,exports.defaultFieldSizeM=Q,exports.defaultFieldSizeS=U,exports.defaultFieldSizeXL=X,exports.defaultGroupProps={width:"fill",labelTextSize:"s",messageTextColor:"surfaceTextPrimary",messageTextSize:"s",errorMessageTextColor:"errorTextSecondary",errorMessageTextSize:"s",helpTextSize:"s",requiredMessageTextColor:"warningTextSecondary",requiredMessageTextSize:"s"},exports.defaultInputNumberProps={appearance:"defaultPrimary sizeM solid rounded",width:"fill",errorAppearance:"errorPrimary sizeM solid rounded",requiredAppearance:"requirePrimary sizeM solid rounded",successAppearance:"successPrimary sizeM solid rounded"},exports.defaultInputProps={appearance:"defaultPrimary sizeM solid rounded",width:"fill",errorAppearance:"errorPrimary sizeM solid rounded",requiredAppearance:"requirePrimary sizeM solid rounded",successAppearance:"successPrimary sizeM solid rounded"},exports.defaultPasswordProps={appearance:"defaultPrimary sizeM solid rounded",errorAppearance:"errorPrimary sizeM solid rounded",requiredAppearance:"requirePrimary sizeM solid rounded",successAppearance:"successPrimary sizeM solid rounded"},exports.defaultRadioProps={appearance:"defaultPrimary sizeM solid circular",errorAppearance:"errorPrimary sizeM solid circular",requiredAppearance:"requirePrimary sizeM solid circular",successAppearance:"successPrimary sizeM solid circular"},exports.defaultSegmentedProps={appearance:"defaultPrimary sizeM solid rounded",width:"fill",errorAppearance:"errorPrimary sizeM solid rounded",requiredAppearance:"requirePrimary sizeM solid rounded"},exports.defaultSelectProps={appearance:"defaultPrimary sizeM solid rounded",errorAppearance:"errorPrimary sizeM solid rounded",requiredAppearance:"requirePrimary sizeM solid rounded",successAppearance:"successPrimary sizeM solid rounded"},exports.defaultSwitchProps={appearance:"defaultPrimary sizeL solid rounded",errorAppearance:"errorPrimary sizeL solid rounded",requiredAppearance:"requirePrimary sizeL solid rounded",successAppearance:"successPrimary sizeL solid rounded"},exports.defaultTextareaProps={appearance:"defaultPrimary sizeM solid rounded",errorAppearance:"errorPrimary sizeM solid rounded",requiredAppearance:"requirePrimary sizeM solid rounded",successAppearance:"successPrimary sizeM solid rounded"},exports.emailValidation=e=>{if(!e)return!0;return/^[a-za-яёЁ0-9_-]+(?:\.[a-za-яёЁ0-9_-]+)*@(?:[a-za-яёЁ0-9](?:[a-za-яёЁ0-9-]*[a-za-яёЁ0-9])?\.)+[a-za-яёЁ0-9]+$/.test(String(e).toLowerCase())},exports.focusOnError=ee,exports.focusOnErrorDecorator=te,exports.formTypes=We,exports.generateField=Ae,exports.getErrorsForFinalForm=e=>{const t={},r=e.response?.data||e;if(r)if("string"==typeof r)t[d.FORM_ERROR]="Во время обработки запроса произошла ошибка, попробуйте повторить запрос";else for(const e in r){t["non_field_errors"===e||"detail"===e?d.FORM_ERROR:e]=O.default(r[e])[0]}else t[d.FORM_ERROR]=e.message||"Произошла ошибка";return t},exports.parseNumericField=e=>{const t=e.slice(0,10).replace(/,/g,".").replace(/[^\d.]/g,""),r=parseFloat(t);return r||0===r?t.endsWith(".")&&(t.match(/\./g)||[]).length>1?t.slice(0,-1):t:""},exports.phoneValidation=e=>!e||E.isPossiblePhoneNumber(e,"RU"),exports.sendFormDataToServer=async(e,t)=>{try{return{response:await W.default({url:e,method:"POST",data:t}),success:!0}}catch(e){const t=e,r={};return"string"==typeof t.response?.data&&(r[d.FORM_ERROR]="Something went wrong"),"object"==typeof t.response?.data&&Object.entries(t.response.data).forEach(([e,t])=>{r[e]=t[0]}),{error:t,formErrors:r,success:!1}}},exports.setErrorsMutator=(e,t)=>{const[r,a]=e,s=a.submitError,i=a.error;if("non_field_errors"===r||r===d.FORM_ERROR)t.formState.error=i,t.formState.submitError=s;else if(r in t.fields){if(t.fields[r].touched=!0,i||""===i){const e=Object.assign({},t.formState.errors,{[r]:i});t.fields[r].error=i,t.formState.errors=e}if(s||""===s){const e=Object.assign({},t.formState.submitErrors,{[r]:s});t.fields[r].submitFailed=!0,t.fields[r].submitSucceeded=!1,t.fields[r].submitError=s,t.formState.submitErrors=e,t.formState.submitFailed=!0,t.formState.submitSucceeded=!1,t.formState.lastSubmittedValues=t.formState.values}}},exports.useYupValidationSchema=ie;
|
|
3
|
+
var e,t,r="function"==typeof Symbol?Symbol:{},a=r.iterator||"@@iterator",s=r.toStringTag||"@@toStringTag";function i(r,a,s,i){var l=a&&a.prototype instanceof n?a:n,d=Object.create(l.prototype);return be(d,"_invoke",function(r,a,s){var i,n,l,d=0,u=s||[],c=!1,m={p:0,n:0,v:e,a:p,f:p.bind(e,4),d:function(t,r){return i=t,n=0,l=e,m.n=r,o}};function p(r,a){for(n=r,l=a,t=0;!c&&d&&!s&&t<u.length;t++){var s,i=u[t],p=m.p,f=i[2];r>3?(s=f===a)&&(l=i[(n=i[4])?5:(n=3,3)],i[4]=i[5]=e):i[0]<=p&&((s=r<2&&p<i[1])?(n=0,m.v=a,m.n=i[1]):p<f&&(s=r<3||i[0]>a||a>f)&&(i[4]=r,i[5]=a,m.n=f,n=0))}if(s||r>1)return o;throw c=!0,a}return function(s,u,f){if(d>1)throw TypeError("Generator is already running");for(c&&1===u&&p(u,f),n=u,l=f;(t=n<2?e:l)||!c;){i||(n?n<3?(n>1&&(m.n=-1),p(n,l)):m.n=l:m.v=l);try{if(d=2,i){if(n||(s="next"),t=i[s]){if(!(t=t.call(i,l)))throw TypeError("iterator result is not an object");if(!t.done)return t;l=t.value,n<2&&(n=0)}else 1===n&&(t=i.return)&&t.call(i),n<2&&(l=TypeError("The iterator does not provide a '"+s+"' method"),n=1);i=e}else if((t=(c=m.n<0)?l:r.call(a,m))!==o)break}catch(t){i=e,n=1,l=t}finally{d=1}}return{value:t,done:c}}}(r,s,i),!0),d}var o={};function n(){}function l(){}function d(){}t=Object.getPrototypeOf;var u=[][a]?t(t([][a]())):(be(t={},a,function(){return this}),t),c=d.prototype=n.prototype=Object.create(u);function m(e){return Object.setPrototypeOf?Object.setPrototypeOf(e,d):(e.__proto__=d,be(e,s,"GeneratorFunction")),e.prototype=Object.create(c),e}return l.prototype=d,be(c,"constructor",d),be(d,"constructor",l),l.displayName="GeneratorFunction",be(d,s,"GeneratorFunction"),be(c),be(c,s,"Generator"),be(c,a,function(){return this}),be(c,"toString",function(){return"[object Generator]"}),(ye=function(){return{w:i,m:m}})()}function be(e,t,r,a){var s=Object.defineProperty;try{s({},"",{})}catch(e){s=0}be=function(e,t,r,a){function i(t,r){be(e,t,function(e){return this._invoke(t,r,e)})}t?s?s(e,t,{value:r,enumerable:!a,configurable:!a,writable:!a}):e[t]=r:(i("next",0),i("throw",1),i("return",2))},be(e,t,r,a)}var _e=A.default.memo(function(e){var a,s=e.maxFiles,o=e.maxSize,l=e.dropzoneProps,d=void 0===l?{}:l,u=e.fileErrorText,c=e.hintDescription,m=e.hintTitle,p=e.inputName,f=e.inputValue,h=e.showFilename,x=e.thumbColumn,g=e.isPreviews,T=e.onClickPreview,b=e.onAddFiles,v=e.onChange,I=e.onDeleteFile,P=r.useState(""),z=P[0],F=P[1],M=r.useState(!1),w=M[0],j=M[1],N=r.useRef(null),k=r.useMemo(function(){var e=f?O.default(f):[];return null===N.current?(N.current=e,e):(N.current.forEach(function(t){var r;t.preview&&(!e.some(function(e){return e.preview===t.preview})&&null!=(r=t.preview)&&r.startsWith("blob:")&&URL.revokeObjectURL(t.preview))}),N.current=e,e)},[f]),B=r.useCallback(function(e){var t,r=O.default(e),a=1==(null!=(t=d.maxFiles)?t:s)?r[0]:[].concat(r);return v(a),a},[d.maxFiles,s,v]),D=r.useCallback(function(){var e=ge(ye().m(function e(t){var r,a,s,i,o;return ye().w(function(e){for(;;)switch(e.n){case 0:j(!0),r=[],a=Te(t);case 1:if((s=a()).done){e.n=5;break}if("string"!=typeof(i=s.value)){e.n=3;break}return e.n=2,Ce(i,g);case 2:(o=e.v)&&r.push(o),e.n=4;break;case 3:r.push(i);case 4:e.n=1;break;case 5:B(r),j(!1);case 6:return e.a(2)}},e)}));return function(t){return e.apply(this,arguments)}}(),[g,B]),q=r.useCallback(function(e,t){e.stopPropagation(),e.preventDefault();var r=[].concat(k);r.splice(t,1),I&&I(k[t],p),B(r)},[k,B,I]),E=_.useDropzone(Object.assign({maxFiles:s||5,maxSize:o||10485760},d,{getFilesFromEvent:(a=ge(ye().m(function e(t){var r,a;return ye().w(function(e){for(;;)switch(e.n){case 0:return e.n=1,y.fromEvent(t);case 1:return r=e.v,a=r.filter(function(e){return e instanceof File}),e.a(2,[].concat(k,a))}},e)})),function(e){return a.apply(this,arguments)}),onDropAccepted:function(e){g&&e.forEach(function(e){e.error||e.preview||(e.preview=URL.createObjectURL(e))});var t=B(e);F("");var r=e.map(function(e){return new Promise(function(t){return Pe(e,t)})});Promise.all(r).then(function(){b&&b(t,p)})},onDropRejected:function(e){if(e.length){var t="Ошибка при добавлении файла",r=e[0].errors[0];r&&(t=r.code===_.ErrorCode.TooManyFiles?"Максимальное количество файлов: "+s:r.message),F(t)}else F("")}})),V=E.getInputProps,W=E.getRootProps;r.useEffect(function(){var e=O.default(f);e.some(function(e){return"string"==typeof e})&&D(e)},[f]),r.useEffect(function(){return function(){N.current.forEach(function(e){var t;null!=(t=e.preview)&&t.startsWith("blob:")&&URL.revokeObjectURL(e.preview)})}},[]);var K=i.useDevicePropsGenerator(e),$=K.fillClass,L=K.fillHoverClass,G=K.borderColorClass,H=K.borderColorHoverClass,U=K.borderTypeClass,Q=K.borderWidthClass,J=K.errorMessageTextColor,X=K.errorMessageTextSize,Y=K.errorMessageTextWeight,Z=K.hintDescriptionTextColor,ee=K.hintDescriptionTextSize,te=K.hintDescriptionTextWeight,re=K.hintDescriptionTextWrap,ae=K.hintTitleTextColor,se=K.hintTitleTextSize,ie=K.hintTitleTextWeight,oe=K.hintTitleTextWrap,ne=K.removeThumbAppearance,le=K.removeThumbShape,de=K.removeThumbText,ue=K.removeThumbTextWeight,ce=K.shapeClass,me=K.thumbBorderColorClass,pe=K.thumbBorderColorHoverClass,fe=K.thumbBorderTypeClass,he=K.thumbBorderWidthClass,xe=K.thumbDirectionClass,be=K.thumbNameTextColor,_e=K.thumbNameTextSize,ve=K.thumbNameTextWeight,Se=K.thumbNameTextWrap;return t.jsxs(A.default.Fragment,{children:[t.jsxs("div",Object.assign({},W({className:"form-dropzone__dropzone dropzone"}),{children:[t.jsx("input",Object.assign({},V(),{name:p})),t.jsxs("div",{className:R.default("form-dropzone__dropzone-wrapper",x&&"form-dropzone__dropzone-wrapper_column_"+x,$&&"fill_"+$,L&&"fill_hover_"+L,Q&&"border-width_"+Q,G&&"border-color_"+G,H&&"border-color_hover_"+H,U&&"border_type_"+U,ce&&"shape_"+ce),children:[k.map(function(e,r){return t.jsxs("aside",{className:R.default("form-dropzone__thumb",$,xe,he,me,pe,fe),children:[g&&!e.error&&t.jsx("div",{className:"form-dropzone__thumb-image",children:t.jsx("img",{className:"form-dropzone__thumb-image-inner",src:e.preview||e.image,onClick:function(t){T&&T(e,t)}})}),e.error&&t.jsx("div",{children:t.jsx(n.Text,{size:_e,textColor:be,textWeight:ve,textWrap:Se,children:u||e.error})}),h&&t.jsx("div",{className:"form-dropzone__thumb-name",children:t.jsx(n.Text,{className:"form-dropzone__thumb-name-inner",size:_e,textColor:be,textWeight:ve,textWrap:Se,children:e.name})}),w&&t.jsx("div",{className:"form-dropzone__thumb-loader",children:t.jsx(C.Loader,{width:"fill",height:"fill"})}),t.jsx("div",{className:R.default("form-dropzone__thumb-remove"),children:t.jsx(S.Button,{appearance:ne,className:"form-dropzone__thumb-remove-text",label:de||"Удалить",labelTextWeight:ue,shape:le,onClick:function(e){return q(e,r)}})})]},e.id||e.name+"_"+r)}),k.length?t.jsxs("div",{className:"form-dropzone__hint form-dropzone__hint_type_add-more",children:[t.jsx(n.Text,{className:"form-dropzone__hint-title",size:se,textAlign:"center",textColor:ae,textWeight:ie,textWrap:oe,children:m||"Select a file or drag in form"}),c&&t.jsx(n.Text,{className:"form-dropzone__hint-text",size:ee,textColor:Z,textWeight:te,textWrap:re,children:c})]}):t.jsxs("div",{className:"form-dropzone__hint",children:[t.jsx(n.Text,{className:"form-dropzone__hint-title",size:se,textAlign:"center",textColor:ae,textWeight:ie,textWrap:oe,children:m||"Select a file or drag in form"}),c&&t.jsx(n.Text,{className:"form-dropzone__hint-text",size:ee,textColor:Z,textWeight:te,textWrap:re,children:c})]})]})]})),z&&t.jsx("div",{className:"form-field__message",children:t.jsx(n.Text,{className:"form-field__message-item form-field__message-item_type_message",size:X,textColor:J,textWeight:Y,children:z})})]})});function ve(e){return Se.apply(this,arguments)}function Se(){return(Se=ge(ye().m(function e(t){var r,a,s,i,o,n;return ye().w(function(e){for(;;)switch(e.p=e.n){case 0:return e.p=0,e.n=1,W.default({url:t,responseType:"blob"});case 1:return a=e.v,s=a.data,i=null==(r=a.headers["content-disposition"])?void 0:r.split("filename=")[1],(o=null==i?void 0:i.substring(1).slice(0,-1))||(o=t.split("/").at(-1)),e.a(2,new File([s],o,{type:s.type}));case 2:return e.p=2,n=e.v,console.log("error: ",n),e.a(2,null)}},e,null,[[0,2]])}))).apply(this,arguments)}function Ce(e,t){return Ie.apply(this,arguments)}function Ie(){return(Ie=ge(ye().m(function e(t,r){var a,s;return ye().w(function(e){for(;;)switch(e.n){case 0:if(a=null,s="string"==typeof t&&t.includes("/"),!t.image&&!s){e.n=2;break}return e.n=1,ve(t.image||t);case 1:(a=e.v)&&Pe(a);case 2:return t.dataURL&&"string"==typeof t.dataURL&&t.dataURL.startsWith("data:")&&((a=v.createFileFromDataURL(t.name||t.path,t.dataURL)).dataURL=t.dataURL),a&&(a.id=t.id,r&&(a.preview=URL.createObjectURL(a))),e.a(2,a)}},e)}))).apply(this,arguments)}function Pe(e,t){t=t||function(){};var r=new FileReader;r._readedFile=e,r.onabort=function(){return t()},r.onerror=function(){return t()},r.onload=function(e){e.target._readedFile.dataURL=r.result,t()},e instanceof File?r.readAsDataURL(e):t()}var ze=A.default.memo(function(r){var a=r.className,s=r.dataTestId,o=r.name,n=r.width,l=r.maxFiles,d=r.maxSize,u=r.label,c=r.classNameGroupItem,m=r.dropzoneProps,p=r.fieldProps,f=r.fileErrorText,h=r.hintDescription,x=r.hintTitle,g=r.showFilename,T=r.showMessage,y=r.isPreviews,b=r.isRequired,_=r.onClickPreview,v=r.onAddFiles,S=r.onDeleteFile,C=i.useDevicePropsGenerator(r),I=C.size,P=C.fill,z=C.fillHover,F=C.labelTextColor,M=C.borderColorHover,w=C.borderType,j=C.borderWidth,N=C.errorMessageTextColor,k=C.errorMessageTextSize,B=C.errorMessageTextWeight,D=C.hintDescriptionTextColor,q=C.hintDescriptionTextSize,E=C.hintDescriptionTextWeight,V=C.hintDescriptionTextWrap,A=C.hintTitleTextColor,W=C.hintTitleTextSize,K=C.hintTitleTextWeight,$=C.hintTitleTextWrap,L=C.removeThumbAppearance,O=C.removeThumbShape,G=C.removeThumbText,H=C.removeThumbTextWeight,U=C.shape,Q=C.thumbBorderColor,J=C.thumbBorderColorHover,X=C.thumbBorderType,Y=C.thumbBorderWidth,ee=C.thumbColumn,te=void 0===ee?1:ee,ae=C.thumbDirection,se=void 0===ae?"vertical":ae,ie=C.thumbNameTextColor,le=C.thumbNameTextSize,de=C.thumbNameTextWeight,ue=C.thumbNameTextWrap;return t.jsx(e.Field,{name:o,children:function(e){var i,o=e.input,C=e.meta,ee=oe({fieldProps:p,input:o,meta:C}),ae=ee.errorKey,ce=ee.errorMessage,me=ee.isErrorState,pe=ee.isValidState,fe=ne({inputProps:r,validationStateKey:me?ae:"success"}),he=re(o.name,s);return t.jsx(Z,Object.assign({className:R.default("form-field_type_dropzone","form__item_type_dropzone",c),dataTestId:he,width:n,label:u,labelTextColor:F,errorKey:ae,errorMessage:ce,fieldClassName:"form-dropzone",inputName:o.name,inputValue:(i=o.value,Array.isArray(i)?i.length>0?i:"":null!=i?i:""),metaActive:C.active,metaError:C.error,metaTouched:C.touched,showMessage:T,isErrorState:me,isRequired:b,isValidState:pe},p,{children:t.jsx(_e,{className:a,maxFiles:l,maxSize:d,size:I,fill:P,fillHover:z,borderColor:fe.borderColor,borderColorHover:M,borderType:w,borderWidth:j,dropzoneProps:m,errorMessageTextColor:N,errorMessageTextSize:k,errorMessageWeight:B,fileErrorText:f,hintDescription:h,hintDescriptionTextColor:D,hintDescriptionTextSize:q,hintDescriptionTextWeight:E,hintDescriptionTextWrap:V,hintTitle:x,hintTitleTextColor:A,hintTitleTextSize:W,hintTitleTextWeight:K,hintTitleTextWrap:$,inputName:o.name,inputValue:o.value,metaError:C.error,metaTouched:C.touched,removeThumbAppearance:L,removeThumbShape:O,removeThumbText:G,removeThumbTextWeight:H,shape:U,showFilename:g,thumbBorderColor:Q,thumbBorderColorHover:J,thumbBorderType:X,thumbBorderWidth:Y,thumbColumn:te,thumbDirection:se,thumbNameTextColor:ie,thumbNameTextSize:le,thumbNameTextWeight:de,thumbNameTextWrap:ue,isPreviews:y,onClickPreview:_,onAddFiles:v,onChange:o.onChange,onDeleteFile:S})}))}})});const Fe=A.default.memo(function(r){const{className:a,dataTestId:s,dataTour:o,name:l,title:d,titleTextColor:u,titleTextSize:c,titleTextWeight:m,label:p,labelTextColor:f,labelTextSize:h,labelTextWeight:x,message:g,messageTextColor:T,messageTextSize:y,messageTextWeight:b,column:_,showGroupMessage:v,before:S,after:C,isActive:P,isDisabled:z,isHidden:F,children:M}=r,w=i.useDevicePropsGenerator(r),{fillActiveClass:j,fillActiveHoverClass:N,fillClass:k,fillDisabledClass:B,fillHoverClass:D,shapeClass:q}=w,{styles:E}=i.useStyles(r),V=re(l,s);return t.jsx(e.Field,{name:l,children:function({input:e,meta:s}){const{errorKey:i,errorMessage:w,isErrorState:W}=oe({fieldProps:r,input:e,meta:s}),K=ne({inputProps:r,validationStateKey:W?i:"success"});return t.jsxs("div",{className:R.default("form__group",a,F&&"form__group_hidden",z?B&&`fill_${B}`:P?j&&`fill_active_${j}`:k&&`fill_${k}`,z?B&&`fill_${B}`:P?N&&`fill_active_hover_${N}`:D&&`fill_hover_${D}`,q&&`shape_${q}`,_&&`form__group_column_${_}`),"data-testid":V,"data-tour":o,style:E,children:[t.jsxs("div",{className:"form__group-wrapper",children:[S,d&&t.jsx("div",{className:"form__group-title",children:t.jsx(I.Title,{dataTestId:`${V}Title`,size:c,textColor:u,textWeight:m,children:d})}),p&&t.jsx("div",{className:"form__group-label",children:t.jsx(n.Text,{dataTestId:`${V}Label`,size:h,textColor:f,textWeight:x,children:p})}),t.jsx("div",{className:"form__group-items",children:M}),C]}),v&&t.jsxs(A.default.Fragment,{children:[W&&w&&t.jsx(n.Text,{className:`form__group-message form__group-message_type-${i}`,dataTestId:`${V}MessageError`,size:K.messageTextSize,textColor:K.messageTextColor,textWeight:K.messageTextWeight,children:w}),Boolean(g)&&(!W||!w)&&t.jsx(n.Text,{className:"form__group-message",dataTestId:`${l}GroupMessage`,size:y,textColor:T,textWeight:b,children:g}),!W&&!g&&t.jsx(n.Text,{className:"form__group-message",size:y,children:" "})]})]})}})}),Me=A.default.memo(function(a){const{dataTestId:s,name:i,initialValue:o,classNameGroupItem:n,clearIcon:l,clearIconFill:d,clearIconFillHover:u,clearIconShape:c,clearIconSize:m,fieldProps:p={},inputProps:f={},parse:h,showMessage:g,isDisabled:T,isRequired:y,onClickClearIcon:b,onChange:_}=a;return t.jsx(e.Field,{name:i,initialValue:o,parse:h,children:function({input:e,meta:a}){const i=r.useCallback(t=>{e.onChange(t),_&&_(t.target.value,e.name)},[_,e]),{errorKey:o,errorMessage:h,successKey:v,isErrorState:S,isValidState:C}=oe({fieldProps:p,input:e,meta:a}),I=ne({inputProps:f,validationStateKey:S?o:C?v:null}),z=re(e.name,s);return t.jsxs(Z,{className:R.default("form-field_input","form__item_input",n),dataTestId:z,errorKey:o,errorMessage:h,fieldClassName:"form-input",inputName:e.name,inputValue:String(e.value??""),metaActive:a.active,metaError:a.error,showMessage:g,isDisabled:T,isErrorState:S,isRequired:y,isValidState:C,...p,children:[t.jsx(P.Input,{className:R.default(a.active&&"input_state_focus",a.error&&a.touched&&`input_state_${o}`),dataTestId:`${z}Input`,type:"text",name:e.name,autoComplete:"nope",value:String(e.value??""),isDisabled:T,onBlur:e.onBlur,onChange:i,onFocus:e.onFocus,...I}),l&&t.jsx(x.Icon,{className:"form-field__icon",dataTestId:`${z}InputIcon`,size:m,iconFill:d,iconFillHover:u,imageSrc:"string"==typeof l&&l,shape:c,SvgImage:"string"!=typeof l&&l,onClick:b})]})}})}),we=A.default.memo(function(a){const{dataTestId:s,name:i,initialValue:o,classNameGroupItem:n,fieldProps:l={},inputProps:d={},inputType:u="custom",parse:c,showMessage:m,isDisabled:p,isRequired:f,onChange:h}=a;return t.jsx(e.Field,{name:i,initialValue:o,parse:c,children:function({input:e,meta:a}){const i=r.useCallback(t=>{e.onChange(t),h&&h(t.target.value)},[h,e.onChange]),{errorKey:o,errorMessage:c,successKey:x,isErrorState:g,isValidState:T}=oe({fieldProps:l,input:e,meta:a}),y=ne({inputProps:d,validationStateKey:g?o:T?x:null}),b=re(e.name,s);return t.jsx(Z,{className:R.default("form-field_input-number","form__item_input-number",n),dataTestId:b,errorKey:o,errorMessage:c,fieldClassName:"form-input-number",inputName:e.name,inputValue:String(e.value??""),metaActive:a.active,metaError:a.error,showMessage:m,isDisabled:p,isErrorState:g,isRequired:f,isValidState:T,...l,children:t.jsx(z.InputNumber,{className:R.default(a.active&&"input_state_focus",(a.submitFailed||a.touched)&&a.error&&`input_state_${o}`),dataTestId:`${b}InputNumber`,type:u,name:e.name,value:Number(e.value)||0,onChange:i,...y})})}})}),je=A.default.memo(function(a){const{dataTestId:s,name:i,initialValue:o,classNameGroupItem:n,clearIcon:l,clearIconFill:d,clearIconFillHover:u,clearIconShape:c,clearIconSize:m,fieldProps:p={},inputProps:f={},optionsMask:h,showMessage:g,unmasked:T,isDisabled:y,isRequired:b,onClickClearIcon:_}=a;return t.jsx(e.Field,{name:i,initialValue:o,children:function({input:e,meta:a}){const{ref:i,unmaskedValue:v,value:S,setUnmaskedValue:C}=F.useIMask(h,{defaultValue:o,onAccept:(t,r,a)=>{a&&e.onChange(r._unmaskedValue)}});r.useEffect(()=>{e.value!==v&&C(e.value.replace(T,""))},[e.value]);const{errorKey:I,errorMessage:z,successKey:M,isErrorState:w,isValidState:j}=oe({fieldProps:p,input:e,meta:a}),N=ne({inputProps:f,validationStateKey:w?I:j?M:null}),k=re(e.name,s);return t.jsxs(Z,{className:R.default("form-field-masked-input","form__item_masked-input",n),dataTestId:k,errorKey:I,errorMessage:z,fieldClassName:"form-maskedInput",inputName:e.name,inputValue:String(e.value??T??""),metaActive:a.active,metaError:a.error,showMessage:g,isDisabled:y,isErrorState:w,isRequired:b,isValidState:j,...p,children:[t.jsx(P.Input,{className:R.default(a.active&&"input_state_focus",a.error&&a.touched&&`input_state_${I}`),ref:i,value:S,onBlur:e.onBlur,onFocus:e.onFocus,...N}),l&&t.jsx(x.Icon,{className:"form-field__icon",size:m,iconFill:d,iconFillHover:u,imageSrc:l,shape:c,SvgImage:l,onClick:_})]})}})}),Ne=A.default.memo(function(a){const{dataTestId:s,name:i,initialValue:o,classNameGroupItem:n,fieldProps:l,inputProps:d,parse:u,showMessage:c,isDisabled:m,isRequired:p,onChange:f}=a;return t.jsx(e.Field,{name:i,initialValue:o,parse:u,children:function({input:e,meta:a}){const i=r.useCallback(t=>{e.onChange(t),f&&f(t.target.value,e.name)},[f,e.onChange]),{errorKey:o,errorMessage:u,successKey:h,isErrorState:x,isValidState:g}=oe({fieldProps:l,input:e,meta:a}),T=ne({inputProps:d,validationStateKey:x?o:g?h:null}),y=re(e.name,s);return t.jsx(Z,{className:R.default("form-field_input-password","form__item_input-password",n),dataTestId:y,errorKey:o,errorMessage:u,fieldClassName:"form-password",inputName:e.name,inputValue:String(e.value??""),metaActive:a.active,metaError:a.error,showMessage:c,isDisabled:m,isErrorState:x,isRequired:p,isValidState:g,...l,children:t.jsx(M.InputPassword,{className:R.default(a.active&&"input-password_state_focus",a.error&&a.touched&&`input-password_state_${o}`),dataTestId:`${y}InputPassword`,name:e.name,autoComplete:"nope",value:String(e.value??""),isDisabled:m,onBlur:e.onBlur,onChange:i,onFocus:e.onFocus,...T})})}})});function ke(e){const{input:a,inputProps:s,options:i,onChange:o}=e,n=r.useCallback(e=>{a.onChange(e),o&&o(e,a.name)},[a,o]),l=r.useCallback(e=>{e.target.checked&&n(e.target.value)},[o]);return t.jsx(A.default.Fragment,{children:i.map(e=>t.jsx(w.Radio,{className:"form-radio__item",label:e.label,checked:e.value===a.value,value:e.value,onChange:l,...s},e.value))})}const Be=A.default.memo(function(r){const{dataTestId:a,name:s,classNameGroupItem:i,fieldProps:o={},inputProps:n={},options:l=[],showMessage:d,isDisabled:u,isRequired:c,onChange:m}=r;return t.jsx(e.Field,{name:s,children:function({input:e,meta:r}){const{errorKey:s,errorMessage:p,successKey:f,isErrorState:h,isValidState:x}=oe({fieldProps:o,input:e,meta:r}),g=ne({inputProps:n,validationStateKey:h?s:x?f:null}),T=re(e.name,a);return t.jsx(Z,{className:R.default("form-field_radio","form__item_radio",i),dataTestId:T,errorKey:s,errorMessage:p,fieldClassName:"form-radio",inputName:e.name,inputValue:String(e.value??""),metaActive:r.active,metaError:r.error,showMessage:d,isDisabled:u,isErrorState:h,isRequired:c,isValidState:x,...o,children:t.jsx(ke,{input:e,inputProps:g,options:l,onChange:m})})}})});function De(a){const{dataTestId:s,name:i,fieldProps:o,inputProps:n,options:l,showMessage:d,isDisabled:u,isRequired:c}=a,{change:m}=e.useForm(),p=r.useCallback(e=>{m(i,e.value)},[m]);return t.jsx(e.Field,{name:i,children:function({input:e,meta:a}){const i=r.useMemo(()=>{const t={label:null,value:null};if(e.value){return l.find(t=>t.value===e.value)||t}return t},[e.value]),{errorKey:m,errorMessage:f,successKey:h,isErrorState:x,isValidState:g}=oe({fieldProps:o,input:e,meta:a}),T=ne({inputProps:n,validationStateKey:x?m:g?h:null}),y=re(e.name,s);return t.jsx(Z,{className:R.default("form-field_segmented","form__item_segmented"),dataTestId:y,errorKey:m,errorMessage:f,fieldClassName:"form-segmented",inputName:e.name,inputValue:String(e.value??""),metaActive:a.active,metaError:a.error,showMessage:d,isDisabled:u,isErrorState:x,isRequired:c,isValidState:g,...o,children:t.jsx(j.Segmented,{activeSegment:i,segments:l,isDisabled:u,setActiveSegment:p,...T})})}})}function qe(e){const{options:t,selectValue:r}=e,a=Array.isArray(r)?r:[r];let s=[];return t.forEach(e=>{const t=a.includes(e.value),i=a.includes(e.label);let o=[];e.options&&(o=qe({options:e.options,selectValue:r})),t||i?s.push(e):o.length&&(s=s.concat(o))}),s}const Ee=A.default.memo(function(a){const{dataTestId:s,name:i,initialValue:o,classNameGroupItem:n,fieldProps:l,options:d=[],selectProps:u,selectRef:c,showMessage:m,isDisabled:p,isRequired:f,onChange:h,onInputChange:x}=a;return t.jsx(e.Field,{name:i,initialValue:o,children:function({input:e,meta:a}){const[i,o]=r.useState(null),g=r.useMemo(()=>{const t=qe({options:d,selectValue:e.value});return!t.length&&e.value?.length&&t.push({label:e.label,value:e.value}),t},[e.label,e.value]),T=r.useCallback(t=>{e.onChange(t),h&&h(t,{name:e.name})},[h,e.onChange]),y=r.useCallback(e=>{const t=Array.isArray(e)?e.map(e=>e.value):e?.value||null;o(e),T(t)},[T]);r.useEffect(()=>{o(g)},[g]);const{errorKey:b,errorMessage:_,successKey:v,isErrorState:S,isValidState:C}=oe({fieldProps:l,input:e,meta:a}),I=ne({inputProps:u,validationStateKey:S?b:C?v:null}),P=re(e.name,s);return t.jsx(Z,{className:R.default("form-field_select","form__item_select",n),dataTestId:P,errorKey:b,errorMessage:_,fieldClassName:"form-select",inputName:e.name,inputValue:String(e.value??""),metaActive:a.active,metaError:a.error,showMessage:m,isDisabled:p,isErrorState:S,isRequired:f,isValidState:C,...l,children:t.jsx(N.Select,{className:"form-select-item",ref:c,instanceId:`id_${e.name}`,options:d,value:i,isDisabled:p,onChange:y,onInputChange:x,...I})})}})}),Ve=A.default.memo(function(a){const{dataTestId:s,name:i,classNameGroupItem:o,fieldProps:n={},inputProps:l={},showMessage:d,isDisabled:u,isRequired:c,onChange:m}=a;return t.jsx(e.Field,{type:"checkbox",name:i,children:function({input:e,meta:a}){const i=r.useCallback(t=>{e.onChange(t),m&&m(t.target.checked,e.name)},[m,e.onChange]),{errorKey:p,errorMessage:f,successKey:h,isErrorState:x,isValidState:g}=oe({fieldProps:n,input:e,meta:a}),T=ne({inputProps:l,validationStateKey:x?p:g?h:null}),y=re(e.name,s);return t.jsx(Z,{className:R.default("form-field-switch","form__item_switch",o),dataTestId:y,errorKey:p,errorMessage:f,fieldClassName:"form-switch",inputName:e.name,inputValue:e.checked,metaActive:a.active,metaError:a.error,showMessage:d,tag:"label",isDisabled:u,isErrorState:x,isRequired:c,isValidState:g,...n,children:t.jsx(k.Switch,{isActive:e.checked,isDisabled:u,onChange:i,...T})})}})}),Ae=A.default.memo(function(r){const{dataTestId:a,name:s,classNameGroupItem:i,fieldProps:o={},inputProps:n={},showMessage:l,isDisabled:d,isRequired:u}=r;return t.jsx(e.Field,{name:s,children:function({input:e,meta:r}){const{errorKey:s,errorMessage:c,successKey:m,isErrorState:p,isValidState:f}=oe({fieldProps:o,input:e,meta:r}),h=ne({inputProps:n,validationStateKey:p?s:f?m:null}),x=re(e.name,a);return t.jsx(Z,{className:R.default("form-field_textarea","form__item_textarea",i),dataTestId:x,errorKey:s,errorMessage:c,fieldClassName:"form-textarea",inputName:e.name,inputValue:String(e.value??""),metaActive:r.active,metaError:r.error,showMessage:l,isDisabled:d,isErrorState:p,isRequired:u,isValidState:f,...o,children:t.jsx(B.Textarea,{className:R.default(r.active&&"textarea_state_focus",r.error&&r.touched&&`textarea_state_${s}`),dataTestId:`${x}Textarea`,name:e.name,value:String(e.value??""),isDisabled:d,onBlur:e.onBlur,onChange:e.onChange,onFocus:e.onFocus,...h})})}})});function Re(e,a){switch(e.type){case We.password:return t.jsx(Ne,{...e,dataTestId:e.dataTestId??a.dataTestId},a.key);case We.primaryButton:return r.createElement(S.Button,{...e,className:"form__button-item",dataTestId:e.dataTestId||"FormPrimaryButton",key:a.key,width:"fill",htmlType:a.primaryButtonHtmlType||"submit",isDisabled:a.primaryButtonIsDisabled,isLoading:a.primaryButtonIsLoading});case We.secondaryButton:return r.createElement(S.Button,{...e,className:"form__button-item",dataTestId:e.dataTestId||"FormSecondaryButton",key:a.key,width:"fill",htmlType:a.secondaryButtonHtmlType,isDisabled:a.secondaryButtonIsDisabled,isLoading:a.secondaryButtonIsLoading,onClick:a.onClickSecondaryButton});case We.tertiaryButton:return r.createElement(S.Button,{...e,className:"form__button-item",dataTestId:e.dataTestId||"FormTertiaryButton",key:a.key,width:"fill",htmlType:a.tertiaryButtonHtmlType,isDisabled:a.tertiaryButtonIsDisabled,isLoading:a.tertiaryButtonIsLoading,onClick:a.onClickTertiaryButton});case We.checkbox:return t.jsx(le,{...e,dataTestId:e.dataTestId??a.dataTestId},a.key);case We.choice:return t.jsx(ue,{...e,dataTestId:e.dataTestId??a.dataTestId},a.key);case We.code:return t.jsx(ce,{...e,dataTestId:e.dataTestId??a.dataTestId},a.key);case We.chips:return t.jsx(de,{...e,dataTestId:e.dataTestId??a.dataTestId},a.key);case We.switch:return t.jsx(Ve,{...e,dataTestId:e.dataTestId??a.dataTestId},a.key);case We.segmented:return t.jsx(De,{...e,dataTestId:e.dataTestId??a.dataTestId},a.key);case We.datePicker:return t.jsx(fe,{...e,dataTestId:e.dataTestId??a.dataTestId},a.key);case We.fileInput:return t.jsx(ze,{...e,dataTestId:e.dataTestId??a.dataTestId},a.key);case We.radioGroup:return t.jsx(Be,{...e,dataTestId:e.dataTestId??a.dataTestId},a.key);case We.select:return t.jsx(Ee,{...e,dataTestId:e.dataTestId??a.dataTestId},a.key);case We.text:return t.jsx(Me,{...e,dataTestId:e.dataTestId??a.dataTestId},a.key);case We.textarea:return t.jsx(Ae,{...e,dataTestId:e.dataTestId??a.dataTestId},a.key);case We.maskedInput:return t.jsx(je,{...e,dataTestId:e.dataTestId??a.dataTestId},a.key);case We.custom:return t.jsx(me,{...e,dataTestId:e.dataTestId??a.dataTestId},a.key);case We.dadataInput:return t.jsx(pe,{...e,dataTestId:e.dataTestId??a.dataTestId},a.key);case We.inputNumber:return t.jsx(we,{...e,dataTestId:e.dataTestId??a.dataTestId},a.key);case We.group:return t.jsx(Fe,{...e,dataTestId:e.dataTestId??a.dataTestId,children:Object.entries(e.group).map(([t,r])=>{const s={...r,classNameGroupItem:r.classNameGroupItem||"form__group-item",showMessage:e.showMessage};return Re(s,{...a,dataTestId:s.dataTestId??a.dataTestId,key:t+"_form_group"})})},a.key)}}const We={secondaryButton:"secondaryButton",primaryButton:"primaryButton",tertiaryButton:"tertiaryButton",checkbox:"checkbox",chips:"chips",choice:"choice",code:"code",custom:"custom",dadataInput:"dadataInput",datePicker:"datePicker",dateRangePicker:"dateRangePicker",fileInput:"fileInput",group:"group",inputNumber:"inputNumber",maskedInput:"maskedInput",password:"password",radioGroup:"radioGroup",segmented:"segmented",select:"select",switch:"switch",text:"text",textarea:"textarea"},Ke=A.default.forwardRef(function(a,s){const{className:o,dataTestId:l,dataTour:d,type:u,initialValues:c,initialValuesEqual:m,config:p,validationSchema:f,title:h,desc:x,buttonGap:g,dataTestIdButtons:T,dataTestIdPrimaryButton:y,dataTestIdSecondaryButton:b,dataTestIdTertiaryButton:_,dataTourButtons:v,dataTourPrimaryButton:P,dataTourSecondaryButton:z,dataTourTertiaryButton:F,disableFieldsAutoComplete:M=!1,fieldsGap:w,groupGap:j,language:N,mutators:k,notificationCloseButton:B,notificationType:E,primaryButton:V,renderFieldsWrapper:W=e=>e,secondaryButton:K,tertiaryButton:$,before:L,after:O,isLoading:G,onClickSecondaryButton:H,onClickTertiaryButton:U,onChangeFormValues:Q,onSubmit:J}=a,X=p.fields||p,Y=p.title||p.form?.title,Z=p.form?.dataTestId||l,ee=ie(f,N),re=r.useCallback(e=>{s&&"object"==typeof s&&(s.current=e)},[s]),ae=i.useDevicePropsGenerator(a),{directionClass:se="vertical",fillClass:oe,titleFill:ne,titlePosition:le,titleTextColor:de,titleTextSize:ue,titleTextWeight:ce,descSize:me,descTextColor:pe,descTextWeight:fe,buttonDirection:he="vertical",buttonFill:xe,buttonJustifyContent:ge,buttonPadding:Te,buttonPosition:ye,elevationClass:be,heightClass:_e,loader:ve,loaderAppearance:Se,loaderFill:Ce="surfacePrimary",loaderItemFill:Ie="accentItemSecondary",loaderShape:Pe,loaderSize:ze="l",loaderText:Fe,loaderType:Me="dot",primaryButtonAppearance:we,primaryButtonFill:je,primaryButtonFillHover:Ne,primaryButtonHtmlType:ke,primaryButtonIsDisabled:Be,primaryButtonIsLoading:De,primaryButtonLabel:qe,primaryButtonLabelSize:Ee,primaryButtonLabelTextColor:Ve,primaryButtonLabelTextWeight:Ae,primaryButtonSize:We,secondaryButtonAppearance:Ke,secondaryButtonFill:$e,secondaryButtonFillHover:Le,secondaryButtonHtmlType:Oe,secondaryButtonIsDisabled:Ge,secondaryButtonIsLoading:He,secondaryButtonLabel:Ue,secondaryButtonLabelSize:Qe,secondaryButtonLabelTextColor:Je,secondaryButtonLabelTextWeight:Xe,secondaryButtonSize:Ye,shapeClass:Ze,tertiaryButtonAppearance:et,tertiaryButtonFill:tt,tertiaryButtonFillHover:rt,tertiaryButtonHtmlType:at,tertiaryButtonIsDisabled:st,tertiaryButtonIsLoading:it,tertiaryButtonLabel:ot,tertiaryButtonLabelSize:nt,tertiaryButtonLabelTextColor:lt,tertiaryButtonLabelTextWeight:dt,tertiaryButtonSize:ut,widthClass:ct}=ae,{styles:mt,wrapper:pt}=i.useStyles(a);return t.jsx(e.Form,{initialValues:c,initialValuesEqual:m,render:({form:r,handleSubmit:a,modifiedSinceLastSubmit:s,submitError:i})=>t.jsxs("form",{className:R.default(o,"form",u&&`form_type_${u}`,ct&&`width_${ct}`,_e&&`height_${_e}`,le&&`form_title-position_${le}`,ye&&`form_button-position_${ye}`,oe&&`fill_${oe}`,Ze&&`shape_${Ze}`,be&&`elevation_${be}`),ref:()=>re(r),autoCapitalize:M?"off":void 0,autoComplete:M?"off":void 0,autoCorrect:M?"off":void 0,"data-testid":Z||l&&`${l}Form`||"Form","data-tour":d,spellCheck:M?"false":void 0,style:mt,onSubmit:a,children:[L,(h||Y)&&t.jsx(I.Title,{className:"form__title",dataTestId:Z?`${Z}Title`:"FormTitle",size:ue,fill:ne,textColor:de,textWeight:ce,children:h||Y}),x&&t.jsx(n.Text,{className:"form__desc",size:me,textColor:pe,textWeight:fe,"data-testid":l?`${l}Desc`:"FormDesc",children:x}),i&&!s&&t.jsx("div",{className:R.default("notification","form-notification",E?`form-notification_${E}`:"form-notification_global"),children:t.jsx(q.Notification,{appearance:"errorPrimary sizeS solid rounded",dataTestId:p.form?.dataTestId?`${p.form.dataTestId}Notification`:"FormNotification",type:"global",status:"error",text:r.getState().submitError,closeIcon:B})}),Q&&t.jsx(e.FormSpy,{subscription:{values:!0},onChange:Q}),Boolean(X&&Object.keys(X).length)&&t.jsx(A.default.Fragment,{children:W(t.jsxs(D.Group,{className:"form__wrapper",direction:"vertical",gap:w||j,style:pt,children:[Object.keys(X).map(e=>Re(X[e],{dataTestId:l||p.form?.dataTestId,key:e})),G&&(ve||t.jsx(C.Loader,{appearance:Se,className:"form__loader",dataTestId:p.form?.dataTestId?`${p.form.dataTestId}Loader`:"FormLoader",type:Me,size:ze,fill:Ce,text:Fe,itemFill:Ie,shape:Pe}))]}))}),p.buttons?t.jsx(D.Group,{className:"form__button",dataTestId:T||`${l}Buttons`,dataTour:v,direction:he,justifyContent:ge,fill:xe,padding:Te,gap:g,children:Object.keys(p.buttons).map(e=>Re(p.buttons[e],{dataTestId:l,key:e,primaryButtonHtmlType:ke,primaryButtonIsDisabled:Be,primaryButtonIsLoading:De,secondaryButtonHtmlType:Oe,secondaryButtonIsDisabled:Ge,secondaryButtonIsLoading:He,tertiaryButtonHtmlType:at,tertiaryButtonIsDisabled:st,tertiaryButtonIsLoading:it,onClickSecondaryButton:H,onClickTertiaryButton:U}))}):(qe||V||Ue||K||$||ot)&&t.jsxs(D.Group,{className:"form__button",dataTestId:T||`${l}Buttons`,dataTour:v,direction:he,justifyContent:ge,fill:xe,padding:Te,gap:g,children:[qe?t.jsx(S.Button,{appearance:we,className:"form__button-item",dataTestId:y||l&&`${l}PrimaryButton`||"FormPrimaryButton",dataTour:P,width:"fill",size:We,fill:je,fillHover:Ne,label:qe,labelTextColor:Ve,labelTextSize:Ee,labelTextWeight:Ae,htmlType:ke||"submit",isDisabled:Be,isLoading:De}):V,Ue?t.jsx(S.Button,{appearance:Ke,className:"form__button-item",dataTestId:b||l&&`${l}SecondaryButton`||"FormSecondaryButton",dataTour:z,width:"fill",size:Ye,fill:$e,fillHover:Le,label:Ue,labelTextColor:Je,labelTextSize:Qe,labelTextWeight:Xe,htmlType:Oe,isDisabled:Ge,isLoading:He,onClick:H}):K,ot?t.jsx(S.Button,{appearance:et,className:"form__button-item",dataTestId:_||l&&`${l}TertiaryButton`||"FormTertiaryButton",dataTour:F,width:"fill",size:ut,fill:tt,fillHover:rt,label:ot,labelTextColor:lt,labelTextSize:nt,labelTextWeight:dt,htmlType:at,isDisabled:st,isLoading:it,onClick:U}):$]}),O]}),decorators:[te],mutators:k,subscription:{modifiedSinceLastSubmit:!0,pristine:!0,submitError:!0,submitting:!0},validate:ee,onSubmit:J})});Object.defineProperty(exports,"Field",{enumerable:!0,get:function(){return e.Field}}),Object.defineProperty(exports,"useForm",{enumerable:!0,get:function(){return e.useForm}}),Object.defineProperty(exports,"useFormState",{enumerable:!0,get:function(){return e.useFormState}}),exports.DEFAULT_MESSAGES_FIELDS=G,exports.FieldWrapper=Z,exports.FieldWrapperBase=Y,exports.FinalForm=Ke,exports.FormFieldCheckbox=le,exports.FormFieldChips=de,exports.FormFieldChoice=ue,exports.FormFieldCode=ce,exports.FormFieldCustom=me,exports.FormFieldDadataInput=pe,exports.FormFieldDatePicker=fe,exports.FormFieldFileInput=ze,exports.FormFieldInput=Me,exports.FormFieldInputNumber=we,exports.FormFieldMaskedInput=je,exports.FormFieldPassword=Ne,exports.FormFieldRadioGroup=Be,exports.FormFieldSegmented=De,exports.FormFieldSelect=Ee,exports.FormFieldSwitch=Ve,exports.FormFieldTextarea=Ae,exports.FormGroup=Fe,exports.addRequiredFieldsParamToSchema=e=>{const t=Object.entries(e.fields);return e.requiredFields=t.reduce((e,[t,r])=>(r.exclusiveTests?.required&&e.push(t),e),[]),e},exports.createDataTestIdField=re,exports.dateValidation=e=>{const t=e instanceof Date?e:new Date(e);return!isNaN(t.getTime())},exports.defaultCheckboxProps={appearance:"defaultPrimary sizeL ghost rounded",width:"fill",errorAppearance:"errorPrimary sizeL ghost rounded",requiredAppearance:"requirePrimary sizeL ghost rounded"},exports.defaultChipsProps={appearance:"surfacePrimary sizeM solid rounded",width:"fill",errorAppearance:"errorPrimary sizeM solid rounded",requiredAppearance:"warningPrimary sizeM solid rounded"},exports.defaultChoiceProps={appearance:"defaultPrimary sizeM solid rounded",width:"fill",errorAppearance:"errorPrimary sizeM solid rounded",requiredAppearance:"requirePrimary sizeM solid rounded"},exports.defaultCodeProps={appearance:"defaultPrimary sizeL solid rounded",errorAppearance:"errorPrimary sizeM solid rounded",requiredAppearance:"requirePrimary sizeM solid rounded"},exports.defaultDadataInputProps={appearance:"defaultPrimary sizeM solid rounded",errorAppearance:"errorPrimary sizeM solid rounded",requiredAppearance:"requirePrimary sizeM solid rounded",successAppearance:"successPrimary sizeM solid rounded"},exports.defaultDatepickerProps={appearance:"surfacePrimary sizeS solid rounded",dateFormat:"dd/MM/yyyy - HH:mm",readOnly:!1,selectsRange:!1,showTimeSelect:!0,timeCaption:"Время",timeFormat:"p",timeIntervals:60,isClearable:!0,isStartDefaultNull:!0},exports.defaultDropzoneProps={fill:"surfaceSecondary",fillHover:"surfaceTertiary",hintTitle:"Перетащите изображение или выберите файл с компьютера",hintTitleTextColor:"surfaceTextPrimary",hintTitleTextSize:"m",removeThumbText:"удалить",removeThumbTextColor:"errorTextPrimary",removeThumbTextHoverColor:"errorTextPrimaryHover",removeThumbTextSize:"s",shape:"rounded",showFilename:!0,thumbBorderColor:"surfaceBorderTertiary",thumbBorderColorHover:"surfaceBorderQuaternary",thumbBorderWidth:1,thumbNameTextColor:"surfaceTextPrimary",thumbNameTextSize:"s",isPreviews:!0},exports.defaultFieldProps=H,exports.defaultFieldSizeL=J,exports.defaultFieldSizeM=Q,exports.defaultFieldSizeS=U,exports.defaultFieldSizeXL=X,exports.defaultGroupProps={width:"fill",labelTextSize:"s",messageTextColor:"surfaceTextPrimary",messageTextSize:"s",errorMessageTextColor:"errorTextSecondary",errorMessageTextSize:"s",helpTextSize:"s",requiredMessageTextColor:"warningTextSecondary",requiredMessageTextSize:"s"},exports.defaultInputNumberProps={appearance:"defaultPrimary sizeM solid rounded",width:"fill",errorAppearance:"errorPrimary sizeM solid rounded",requiredAppearance:"requirePrimary sizeM solid rounded",successAppearance:"successPrimary sizeM solid rounded"},exports.defaultInputProps={appearance:"defaultPrimary sizeM solid rounded",width:"fill",errorAppearance:"errorPrimary sizeM solid rounded",requiredAppearance:"requirePrimary sizeM solid rounded",successAppearance:"successPrimary sizeM solid rounded"},exports.defaultMaskedInputProps={appearance:"defaultPrimary sizeM solid rounded",width:"fill",errorAppearance:"errorPrimary sizeM solid rounded",requiredAppearance:"requirePrimary sizeM solid rounded",successAppearance:"successPrimary sizeM solid rounded"},exports.defaultPasswordProps={appearance:"defaultPrimary sizeM solid rounded",errorAppearance:"errorPrimary sizeM solid rounded",requiredAppearance:"requirePrimary sizeM solid rounded",successAppearance:"successPrimary sizeM solid rounded"},exports.defaultRadioProps={appearance:"defaultPrimary sizeM solid circular",errorAppearance:"errorPrimary sizeM solid circular",requiredAppearance:"requirePrimary sizeM solid circular",successAppearance:"successPrimary sizeM solid circular"},exports.defaultSegmentedProps={appearance:"defaultPrimary sizeM solid rounded",width:"fill",errorAppearance:"errorPrimary sizeM solid rounded",requiredAppearance:"requirePrimary sizeM solid rounded"},exports.defaultSelectProps={appearance:"defaultPrimary sizeM solid rounded",errorAppearance:"errorPrimary sizeM solid rounded",requiredAppearance:"requirePrimary sizeM solid rounded",successAppearance:"successPrimary sizeM solid rounded"},exports.defaultSwitchProps={appearance:"defaultPrimary sizeL solid rounded",errorAppearance:"errorPrimary sizeL solid rounded",requiredAppearance:"requirePrimary sizeL solid rounded",successAppearance:"successPrimary sizeL solid rounded"},exports.defaultTextareaProps={appearance:"defaultPrimary sizeM solid rounded",errorAppearance:"errorPrimary sizeM solid rounded",requiredAppearance:"requirePrimary sizeM solid rounded",successAppearance:"successPrimary sizeM solid rounded"},exports.emailValidation=e=>{if(!e)return!0;return/^[a-za-яёЁ0-9_-]+(?:\.[a-za-яёЁ0-9_-]+)*@(?:[a-za-яёЁ0-9](?:[a-za-яёЁ0-9-]*[a-za-яёЁ0-9])?\.)+[a-za-яёЁ0-9]+$/.test(String(e).toLowerCase())},exports.focusOnError=ee,exports.focusOnErrorDecorator=te,exports.formTypes=We,exports.generateField=Re,exports.getErrorsForFinalForm=e=>{const t={},r=e.response?.data||e;if(r)if("string"==typeof r)t[d.FORM_ERROR]="Во время обработки запроса произошла ошибка, попробуйте повторить запрос";else for(const e in r){t["non_field_errors"===e||"detail"===e?d.FORM_ERROR:e]=O.default(r[e])[0]}else t[d.FORM_ERROR]=e.message||"Произошла ошибка";return t},exports.parseNumericField=e=>{const t=e.slice(0,10).replace(/,/g,".").replace(/[^\d.]/g,""),r=parseFloat(t);return r||0===r?t.endsWith(".")&&(t.match(/\./g)||[]).length>1?t.slice(0,-1):t:""},exports.phoneValidation=e=>!e||E.isPossiblePhoneNumber(e,"RU"),exports.sendFormDataToServer=async(e,t)=>{try{return{response:await W.default({url:e,method:"POST",data:t}),success:!0}}catch(e){const t=e,r={};return"string"==typeof t.response?.data&&(r[d.FORM_ERROR]="Something went wrong"),"object"==typeof t.response?.data&&Object.entries(t.response.data).forEach(([e,t])=>{r[e]=t[0]}),{error:t,formErrors:r,success:!1}}},exports.setErrorsMutator=(e,t)=>{const[r,a]=e,s=a.submitError,i=a.error;if("non_field_errors"===r||r===d.FORM_ERROR)t.formState.error=i,t.formState.submitError=s;else if(r in t.fields){if(t.fields[r].touched=!0,i||""===i){const e=Object.assign({},t.formState.errors,{[r]:i});t.fields[r].error=i,t.formState.errors=e}if(s||""===s){const e=Object.assign({},t.formState.submitErrors,{[r]:s});t.fields[r].submitFailed=!0,t.fields[r].submitSucceeded=!1,t.fields[r].submitError=s,t.formState.submitErrors=e,t.formState.submitFailed=!0,t.formState.submitSucceeded=!1,t.formState.lastSubmittedValues=t.formState.values}}},exports.useYupValidationSchema=ie;
|
package/dist/itcase-forms.esm.js
CHANGED
|
@@ -1,3 +1,3 @@
|
|
|
1
|
-
import{useForm as e,Field as t,Form as r,FormSpy as a}from"react-final-form";export{Field,useForm,useFormState}from"react-final-form";import{jsx as i,jsxs as o}from"react/jsx-runtime";import s,{useEffect as n,useMemo as l,useCallback as d,useState as u,useRef as c,createElement as m}from"react";import p from"clsx";import{Checkbox as f}from"@itcase/ui-web/components/Checkbox";import{useDeviceTargetClass as h,useStyles as g,useDevicePropsGenerator as y}from"@itcase/ui-core/hooks";import{Divider as T}from"@itcase/ui-web/components/Divider";import{Text as b}from"@itcase/ui-web/components/Text";import _ from"axios";import{FORM_ERROR as v,getIn as x,setIn as S}from"final-form";import I from"final-form-focus";import C from"lodash/camelCase";import z from"lodash/snakeCase";import{ChipsGroup as w,Chips as P}from"@itcase/ui-web/components/Chips";import{Choice as N}from"@itcase/ui-web/components/Choice";import{Code as M}from"@itcase/ui-web/components/Code";import{Icon as k}from"@itcase/ui-web/components/Icon";import{Dadata as B}from"@itcase/ui-web/components/Dadata";import{DatePickerInput as D}from"@itcase/ui-web/components/DatePicker";import{fromEvent as F}from"file-selector";import V from"lodash/castArray";import{useDropzone as A,ErrorCode as E}from"react-dropzone";import{createFileFromDataURL as q}from"@itcase/common";import{Button as K}from"@itcase/ui-web/components/Button";import{Loader as W}from"@itcase/ui-web/components/Loader";import{Title as $}from"@itcase/ui-web/components/Title";import{Input as R}from"@itcase/ui-web/components/Input";import{InputNumber as L}from"@itcase/ui-web/components/InputNumber";import{useIMask as H}from"react-imask";import{InputPassword as j}from"@itcase/ui-web/components/InputPassword";import{Radio as O}from"@itcase/ui-web/components/Radio";import{Segmented as G}from"@itcase/ui-web/components/Segmented";import{Select as U}from"@itcase/ui-web/components/Select";import{Switch as Q}from"@itcase/ui-web/components/Switch";import{Textarea as J}from"@itcase/ui-web/components/Textarea";import{Group as Z}from"@itcase/ui-web/components/Group";import{Notification as X}from"@itcase/ui-web/components/Notification";import{isPossiblePhoneNumber as Y}from"libphonenumber-js";const ee={email_error:{key:"error",message:"Введите корректный адрес электронной почты"},email_required:{key:"required",message:"Укажите адрес электронной почты"},invalid_value:{key:"error",message:"Некорректное значение"},min:{key:"error",message:({min:e})=>`Значение должно быть не менее ${e} символов`},max:{key:"error",message:({max:e})=>`Значение должно быть не менее ${e} символов`},matches:{key:"error",message:"Допускается ввод только цифр от 0 до 9"},numeric_value:{key:"error",message:"Только числовое значение"},password_required:{key:"required",message:"Введите пароль"},phone_error:{key:"error",message:"Введите корректный номер телефона"},phone_or_email_required:{key:"required",message:"Введите телефон или адрес эл. почты"},phone_required:{key:"required",message:"Укажите номер телефона"},required:{key:"required",message:"Обязательное поле"},url:{key:"error",message:"Введите корректный URL-адрес"}},te={appearance:"defaultPrimary sizeL ghost rounded",width:"fill",errorAppearance:"errorPrimary sizeL ghost rounded",requiredAppearance:"requirePrimary sizeL ghost rounded"},re={width:"fill",direction:"vertical",labelTextColor:"surfaceTextPrimary",messageTextColor:"surfaceTextSecondary",dividerFill:"errorPrimary",errorMessageTextColor:"errorTextSecondary",helpTextColor:"surfaceTextQuaternary",requiredMessageTextColor:"warningTextSecondary",showMessage:!0},ae={size:"s",labelTextSize:"s",messageTextSize:"s",errorMessageTextSize:"s",helpTextSize:"s",requiredMessageTextSize:"s",...re},ie={size:"m",labelTextSize:"s",messageTextSize:"s",errorMessageTextSize:"s",helpTextSize:"s",requiredMessageTextSize:"s",...re},oe={size:"l",labelTextSize:"s",messageTextSize:"s",errorMessageTextSize:"s",helpTextSize:"s",requiredMessageTextSize:"s",...re},se={size:"xl",labelTextSize:"s",messageTextSize:"s",errorMessageTextSize:"s",helpTextSize:"s",requiredMessageTextSize:"s",...re};function ne(e){const{className:t,dataTestId:r,dataTour:a,type:s,label:n,labelHidden:d,labelTextColor:u,labelTextSize:c,labelTextWeight:m,messageTextSize:f,desc:y,descTextColor:_,descTextSize:v,descTextWeight:x,afterItem:S,beforeItem:I,dividerDirection:C,dividerFill:z,dividerSize:w,dividerWidth:P,errorKey:N,errorMessage:M,fieldClassName:k,helpText:B,helpTextColor:D,helpTextColorSuccess:F,helpTextSize:V,helpTextWeight:A,inputName:E,inputValue:q,metaActive:K,metaError:W,showDivider:$,showMessage:R,tag:L="div",before:H,after:j,isDisabled:O,isErrorState:G,isHidden:U,isRequired:Q,isValidState:J,children:Z}=e,X=l(()=>p(t,J&&"form__item_state_success",Q&&"form__item_state_required",O&&"form__item_state_disabled",K&&"form__item_state_focus",q&&"form__item_state_filled",G&&`form__item_state_${N}`),[t,G,J,Q,K,q,O,W]),Y=l(()=>p(k,J&&`${k}_state_success`,K&&`${k}_state_focus`,q&&`${k}_state_filled`,O&&`${k}_state_disabled`,G&&`${k}_state_${N}`),[k,G,J,K,q,O,W]),ee=h(e,{prefix:"form-field_size_",propsKey:"size"}),te=h(e,{prefix:"fill_",propsKey:"fill"}),re=h(e,{prefix:"fill_",propsKey:"inputFill"}),ae=h(e,{prefix:"form-field_shape_",propsKey:"shape"}),ie=h(e,{prefix:"form-field__item-value_shape_",propsKey:"inputShape"}),oe=h(e,{prefix:"direction_",propsKey:"direction"}),se=h(e,{prefix:"width_",propsKey:"width"}),{styles:ne}=g(e),le=e[`${N}MessageTextSize`],de=e[`${N}MessageTextColor`],ue=e[`${N}MessageTextWeight`],ce=`${r||`${E}Field`}Message`;return o(L,{className:p(X,"form__item","form-field",s?`form-field_type_${s}`:"form-field_type_classic",ee,te,ae,O&&"form-field_state_disabled",U&&"form-field_state_hidden",oe,se),"data-testid":r,"data-tour":a,style:ne,children:[H,(n||d)&&i("div",{className:p("form-field__label",`text_size_${c}`),"data-testid":`${r}Label`,children:o(b,{size:c,textColor:u,textWeight:m,children:[n,d&&" "]})}),y&&i("div",{className:p("form-field__desc",`text_size_${v}`),"data-testid":`${r}Desc`,children:i(b,{size:v,textColor:_,textWeight:x,children:y})}),o("div",{className:p("form-field__content",re,ie),children:[o("div",{className:p("form-field__content-inner",Y),children:[I,Z,S]}),$&&i(T,{className:"form-field__item-divider",width:P,direction:C,size:w,fill:z})]}),R&&o("div",{className:p("form-field__message",`text_size_${le||V||f}`),"data-testid":ce,children:[G&&M&&i(b,{className:"form-field__message-item form-field__message-item_type-error",dataTestId:`${r}MessageError`,size:le,textColor:de,textWeight:ue,children:M}),Boolean(B)&&(!G||!M)&&i(b,{className:"form-field__message-item form-field__message-item_type_help-text",dataTestId:`${r}MessageHelpText`,size:V,textColor:J?F:D,textWeight:A,children:B}),(!G&&!B||G&&!B&&!M)&&i(b,{className:"form-field__message-item form-field__message-item_type_help-text",dataTestId:`${r}MessageHelpText`,size:f,children:" "})]}),j]})}function le(t){const{inputName:r}=t,{change:a}=e();return n(()=>()=>{a(r,void 0)},[]),i(ne,{...t})}const de=(e,t)=>{const r=e,a=Object.keys(t).map(e=>e===v?"notification__item_status_error":`react-select-id_${e}-input`),i=r.find(e=>e.name?x(t,e.name):a.includes(e.id)),o=Object.keys(t);if(!i&&o.length){let e;try{const t=o[0];t===v?e=document.querySelector("notification__item_status_error"):(e=document.querySelector(`#${t}-error`),e||(e=document.querySelector(`#id_${t}`)))}catch(e){console.warn(e)}e&&e.scrollIntoView({block:"center"})}i&&i.scrollIntoView({block:"center"})},ue=I(void 0,de),ce=(e,t)=>{const[r,a]=e,i=a.submitError,o=a.error;if("non_field_errors"===r||r===v)t.formState.error=o,t.formState.submitError=i;else if(r in t.fields){if(t.fields[r].touched=!0,o||""===o){const e=Object.assign({},t.formState.errors,{[r]:o});t.fields[r].error=o,t.formState.errors=e}if(i||""===i){const e=Object.assign({},t.formState.submitErrors,{[r]:i});t.fields[r].submitFailed=!0,t.fields[r].submitSucceeded=!1,t.fields[r].submitError=i,t.formState.submitErrors=e,t.formState.submitFailed=!0,t.formState.submitSucceeded=!1,t.formState.lastSubmittedValues=t.formState.values}}},me=async(e,t)=>{try{return{response:await _({url:e,method:"POST",data:t}),success:!0}}catch(e){const t=e,r={};return"string"==typeof t.response?.data&&(r[v]="Something went wrong"),"object"==typeof t.response?.data&&Object.entries(t.response.data).forEach(([e,t])=>{r[e]=t[0]}),{error:t,formErrors:r,success:!1}}},pe=(e,t)=>{const r=(e=>e.replace(/(^|[_-])([a-zA-Z0-9])/g,(e,t,r)=>r.toUpperCase()))(e);return t&&t.endsWith("Field")?t:t?t+r+"Field":r+"Field"},fe=(e,t)=>S(e,t.path,t.message),he=Object.create(null);function ge(e,t){const r=l(()=>e&&(e=>async function(t){try{await(e?.validate(t,{abortEarly:!1}))}catch(e){const t=e;if(t.message)return t.inner.reduce(fe,he);console.warn("itcase-forms schema.validate error: An error not related to the form occurred during validation. Validation ignored.")}})(e),[e,t]);return r}function ye(e){const{fieldProps:t={},input:r={},meta:a={}}=e,i=!a.modifiedSinceLastSubmit&&a.submitError,o=a.error?.key||"error",s=l(()=>t.showErrorsOnSubmit?Boolean(a.submitFailed&&a.touched&&(a.error||i)):Boolean(a.touched&&(a.error||i)),[t.showErrorsOnSubmit,a.submitFailed,a.touched,a.error,i]),n=l(()=>{const e=Array.isArray(r?.value)?r?.value.length:r?.value,t=a.modifiedSinceLastSubmit&&!a.error&&i;return Boolean(e&&(a.valid||t))},[r?.value,a.valid,a.error,i,a.modifiedSinceLastSubmit]);return{errorKey:o,errorMessage:l(()=>{const e=a.error||i||!1;if(e){if("string"==typeof e)return e;if(e.message)return e.message}return""},[a.error,i]),successKey:"success",isErrorState:s,isValidState:n}}function Te(e){const{inputProps:t,validationStateKey:r}=e;return l(()=>{const e={};return r?(Object.entries(t||{}).forEach(([t,a])=>{const i=z(t);if(i.startsWith(`${r}_`)){const t=i.replace(`${r}_`,""),o=C(t);e[o]=a}else e[t]||(e[t]=a)}),e):t},[r,t])}const be=s.memo(function(e){const{dataTestId:r,name:a,initialValue:o,classNameGroupItem:s,fieldProps:n={},inputProps:l={},showMessage:u,isDisabled:c,isRequired:m,onChange:h}=e;return i(t,{type:"checkbox",name:a,initialValue:o,children:function({input:e,meta:t}){const a=d(t=>{t&&(e.onChange(t),h&&h(t.target.checked,e.name))},[h,e.onChange]),{errorKey:o,errorMessage:g,successKey:y,isErrorState:T,isValidState:b}=ye({fieldProps:n,input:e,meta:t}),_=Te({inputProps:l,validationStateKey:T?o:b?y:null}),v=pe(e.name,r);return i(le,{className:p("form-field-checkbox","form__item_checkbox",s),dataTestId:v,errorKey:o,errorMessage:g,fieldClassName:"form-checkbox",inputName:e.name,inputValue:e.checked,metaActive:t.active,metaError:t.error,showMessage:u,tag:"label",isDisabled:c,isErrorState:T,isRequired:m,isValidState:b,...n,children:i(f,{checked:e.checked,isActive:e.checked,isDisabled:c,onBlur:e.onBlur,onChange:a,onFocus:e.onFocus,..._})})}})}),_e={appearance:"surfacePrimary sizeM solid rounded",width:"fill",errorAppearance:"errorPrimary sizeM solid rounded",requiredAppearance:"warningPrimary sizeM solid rounded"};function ve(r){const{dataTestId:a,name:o,initialValue:s,classNameGroupItem:u,emptyMessage:c,emptyMessageTextColor:m,emptyMessageTextSize:f,fieldProps:h,inputProps:g,options:y,showMessage:T,isDisabled:_,isRequired:v,onChange:x}=r,{change:S}=e(),I=d((e,t)=>{const r=e.includes(t)?e.filter(e=>e!==t):[...e,t];S(o,r),x&&x(r)},[S,o,x]);return n(()=>{s&&S(o,s)},[s]),i(t,{name:o,initialValue:s,children:function({input:e,meta:t}){const{errorKey:r,errorMessage:o,successKey:s,isErrorState:n,isValidState:d}=ye({fieldProps:h,input:e,meta:t}),x=Te({inputProps:g,validationStateKey:n?r:d?s:null}),S=l(()=>{const t=[{label:null,value:null}];if(e?.value){return y.filter(t=>e.value?.includes(t.value))||t}return t},[e.value]),C=pe(e.name,a);return i(le,{className:p("form-field_chips","form__item_chips",u),dataTestId:C,errorKey:r,errorMessage:o,fieldClassName:"form-chips",inputName:e.name,inputValue:String(e.value??""),metaActive:t.active,metaError:t.error,showMessage:T,isDisabled:_,isErrorState:n,isRequired:v,isValidState:d,...h,children:y?.length?i(w,{direction:"horizontal",gap:"1m",wrap:"wrap",children:y.map(a=>i(P,{className:p(t.active&&"form-chips_state_focus",t.error&&t.touched&&`form-chips_state_${r}`),label:a.label,isActive:S.some(e=>e.value===a.value),isDisabled:a.isDisabled,onClick:()=>I(e.value,a.value),...x},a.value))}):i(b,{size:f,textColor:m,children:c})})}})}const xe={appearance:"defaultPrimary sizeM solid rounded",width:"fill",errorAppearance:"errorPrimary sizeM solid rounded",requiredAppearance:"requirePrimary sizeM solid rounded"},Se=s.memo(function(r){const{dataTestId:a,name:o,initialValue:s,label:n,classNameGroupItem:u,fieldProps:c,inputProps:m,options:f,showMessage:h,isDisabled:g,isCheckbox:y,isRequired:T,onChange:b}=r,{change:_}=e(),v=d((e,t)=>{_(o,t&&e.value),b&&b(e.value,o,t)},[_,b]);return i(t,{name:o,initialValue:s,children:function({input:e,meta:t}){const r=l(()=>{const t={label:null,value:null};if(e.value){return f.find(t=>t.value===e.value)||t}return t},[e.value]),{errorKey:o,errorMessage:s,successKey:d,isErrorState:b,isValidState:_}=ye({fieldProps:c,input:e,meta:t}),x=Te({inputProps:m,validationStateKey:b?o:_?d:null}),S=pe(e.name,a);return i(le,{className:p("form-field_choice","form__item_choice",u),dataTestId:S,label:n,errorKey:o,errorMessage:s,fieldClassName:"form-choice",inputName:e.name,inputValue:String(e.value??""),metaActive:t.active,metaError:t.error,showMessage:h,isDisabled:g,isErrorState:b,isRequired:T,isValidState:_,...c,children:i(N,{className:p(t.active&&"form-choice_state_focus",t.error&&t.touched&&`form-choice_state_${o}`),name:e.name,active:r,options:f,isDisabled:g,isCheckbox:y,setActiveSegment:v,...x})})}})}),Ie={appearance:"defaultPrimary sizeL solid rounded",errorAppearance:"errorPrimary sizeM solid rounded",requiredAppearance:"requirePrimary sizeM solid rounded"},Ce=s.memo(function(e){const{dataTestId:r,name:a,initialValue:o,label:s,classNameGroupItem:n,fieldProps:l={},inputProps:d={},showMessage:u,isDisabled:c,isRequired:m}=e;return i(t,{name:a,initialValue:o,children:function({input:e,meta:t}){const{errorKey:a,errorMessage:o,successKey:f,isErrorState:h,isValidState:g}=ye({fieldProps:l,input:e,meta:t}),y=Te({inputProps:d,validationStateKey:h?a:g?f:null}),T=pe(e.name,r);return i(le,{className:p("form-field-code","form__item_code",n),dataTestId:T,label:s,errorKey:a,errorMessage:o,fieldClassName:"form-code",inputName:e.name,inputValue:String(e.value??""),metaActive:t.active,showMessage:u,isErrorState:h,isRequired:m,isValidState:g,...l,children:i(M,{initialValue:e.value,isDisabled:c,onBlur:e.onBlur,onChange:e.onChange,onFocus:e.onFocus,...y})})}})}),ze=s.memo(function(e){const{dataTestId:r,name:a,initialValue:s,classNameGroupItem:n,clearIcon:l,clearIconFill:d,clearIconFillHover:u,clearIconShape:c,clearIconSize:m,Component:f,fieldProps:h={},showMessage:g,isDisabled:y,isRequired:T,onClickClearIcon:b}=e;return i(t,{name:a,initialValue:s,children:function({input:t,meta:a}){const{errorKey:s,errorMessage:_,isErrorState:v,isValidState:x}=ye({fieldProps:h,input:t,meta:a}),S=Te({inputProps:e,validationStateKey:v?s:"success"}),I=pe(t.name,r);return o(le,{className:p("form-field_custom","form__item_custom",n),dataTestId:I,errorKey:s,errorMessage:_,fieldClassName:"form-custom",inputName:t.name,inputValue:String(t.value??""),metaActive:a.active,metaError:a.error,showMessage:g,isDisabled:y,isErrorState:v,isRequired:T,isValidState:x,...h,children:[i(f,{...S,input:t,meta:a,isDisabled:y}),l&&i(k,{className:"form-field__icon",size:m,iconFill:d,iconFillHover:u,imageSrc:l,shape:c,SvgImage:l,onClick:b})]})}})}),we={appearance:"defaultPrimary sizeM solid rounded",errorAppearance:"errorPrimary sizeM solid rounded",requiredAppearance:"requirePrimary sizeM solid rounded",successAppearance:"successPrimary sizeM solid rounded"},Pe=s.memo(function(e){const{dataTestId:r,name:a,initialValue:o,classNameGroupItem:s,fieldProps:n,inputProps:l,parse:d,showMessage:u,token:c,isDisabled:m,isRequired:f,onDadataAutocomplete:h}=e;if("development"===process.env.NODE_ENV){const e=`Check your form config at field "${a}".`;if(!c){throw new Error(`FormFieldDadataInput: 'token' prop is missing, instead got ${c}.`+"\n"+e)}if(!h){throw new Error(`FormFieldDadataInput: 'onDadataAutocomplete' prop is missing, instead got ${h}.`+"\n"+e)}}return i(t,{name:a,initialValue:o,parse:d,children:function({input:e,meta:t}){const{errorKey:a,errorMessage:o,successKey:d,isErrorState:g,isValidState:y}=ye({fieldProps:n,input:e,meta:t}),T=Te({inputProps:l,validationStateKey:g?a:y?d:null}),b=pe(e.name,r);return i(le,{className:p("form-field_input-dadata","form__item_input-dadata",s),dataTestId:b,errorKey:a,errorMessage:o,fieldClassName:"form-dadata",inputName:e.name,inputValue:String(e.value??""),metaActive:t.active,metaError:t.error,showMessage:u,isDisabled:m,isErrorState:g,isRequired:f,isValidState:y,...n,children:i(B,{input:e,inputProps:T,meta:t,token:c,setValue:h})})}})}),Ne={appearance:"surfacePrimary sizeS solid rounded",dateFormat:"dd/MM/yyyy - HH:mm",readOnly:!1,selectsRange:!1,showTimeSelect:!0,timeCaption:"Время",timeFormat:"p",timeIntervals:60,isClearable:!0,isStartDefaultNull:!0};function Me(e){const{dataTestId:r,name:a,classNameGroupItem:o,datePickerProps:s,fieldProps:n={},inputProps:l={},showMessage:u,isDisabled:c,isRequired:m,onChange:f}=e;return i(t,{name:a,children:function({input:e,meta:t}){const a=d((t,r)=>{s?.selectsRange?e.onChange({endDate:r,startDate:t}):e.onChange(t),f&&f(t,r)},[e.onChange,f]),{errorKey:h,errorMessage:g,successKey:y,isErrorState:T,isValidState:b}=ye({fieldProps:n,input:e,meta:t}),_=Te({inputProps:l,validationStateKey:T?h:b?y:null}),v=pe(e.name,r);return i(le,{className:p("form-field_datepicker","form__item_datepicker",o),dataTestId:v,errorKey:h,errorMessage:g,fieldClassName:"form-datepicker",inputName:e.name,inputValue:String(e.value??""),metaActive:t.active,metaError:t.error,showMessage:u,isDisabled:c,isErrorState:T,isRequired:m,isValidState:b,...n,children:i(D,{name:e.name,datePickerProps:s,endValue:s?.selectsRange?e.value.endDate:null,inputProps:_,value:s?.selectsRange?e.value.startDate:e.value,onBlur:e.onBlur,onChange:a,onFocus:e.onFocus})})}})}var ke={fill:"surfaceSecondary",fillHover:"surfaceTertiary",hintTitle:"Перетащите изображение или выберите файл с компьютера",hintTitleTextColor:"surfaceTextPrimary",hintTitleTextSize:"m",removeThumbText:"удалить",removeThumbTextColor:"errorTextPrimary",removeThumbTextHoverColor:"errorTextPrimaryHover",removeThumbTextSize:"s",shape:"rounded",showFilename:!0,thumbBorderColor:"surfaceBorderTertiary",thumbBorderColorHover:"surfaceBorderQuaternary",thumbBorderWidth:1,thumbNameTextColor:"surfaceTextPrimary",thumbNameTextSize:"s",isPreviews:!0};function Be(e,t){(null==t||t>e.length)&&(t=e.length);for(var r=0,a=Array(t);r<t;r++)a[r]=e[r];return a}function De(e,t,r,a,i,o,s){try{var n=e[o](s),l=n.value}catch(e){return void r(e)}n.done?t(l):Promise.resolve(l).then(a,i)}function Fe(e){return function(){var t=this,r=arguments;return new Promise(function(a,i){var o=e.apply(t,r);function s(e){De(o,a,i,s,n,"next",e)}function n(e){De(o,a,i,s,n,"throw",e)}s(void 0)})}}function Ve(e,t){var r="undefined"!=typeof Symbol&&e[Symbol.iterator]||e["@@iterator"];if(r)return(r=r.call(e)).next.bind(r);if(Array.isArray(e)||(r=function(e,t){if(e){if("string"==typeof e)return Be(e,t);var r={}.toString.call(e).slice(8,-1);return"Object"===r&&e.constructor&&(r=e.constructor.name),"Map"===r||"Set"===r?Array.from(e):"Arguments"===r||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(r)?Be(e,t):void 0}}(e))||t){r&&(e=r);var a=0;return function(){return a>=e.length?{done:!0}:{done:!1,value:e[a++]}}}throw new TypeError("Invalid attempt to iterate non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.")}function Ae(){
|
|
1
|
+
import{useForm as e,Field as t,Form as r,FormSpy as a}from"react-final-form";export{Field,useForm,useFormState}from"react-final-form";import{jsx as i,jsxs as o}from"react/jsx-runtime";import s,{useEffect as n,useMemo as l,useCallback as d,useState as u,useRef as c,createElement as m}from"react";import p from"clsx";import{Checkbox as f}from"@itcase/ui-web/components/Checkbox";import{useDeviceTargetClass as h,useStyles as g,useDevicePropsGenerator as y}from"@itcase/ui-core/hooks";import{Divider as T}from"@itcase/ui-web/components/Divider";import{Text as b}from"@itcase/ui-web/components/Text";import _ from"axios";import{FORM_ERROR as v,getIn as x,setIn as S}from"final-form";import I from"final-form-focus";import C from"lodash/camelCase";import z from"lodash/snakeCase";import{ChipsGroup as P,Chips as w}from"@itcase/ui-web/components/Chips";import{Choice as N}from"@itcase/ui-web/components/Choice";import{Code as M}from"@itcase/ui-web/components/Code";import{Icon as k}from"@itcase/ui-web/components/Icon";import{Dadata as B}from"@itcase/ui-web/components/Dadata";import{DatePickerInput as D}from"@itcase/ui-web/components/DatePicker";import{fromEvent as F}from"file-selector";import A from"lodash/castArray";import{useDropzone as V,ErrorCode as E}from"react-dropzone";import{createFileFromDataURL as q}from"@itcase/common";import{Button as K}from"@itcase/ui-web/components/Button";import{Loader as W}from"@itcase/ui-web/components/Loader";import{Title as $}from"@itcase/ui-web/components/Title";import{Input as R}from"@itcase/ui-web/components/Input";import{InputNumber as L}from"@itcase/ui-web/components/InputNumber";import{useIMask as H}from"react-imask";import{InputPassword as j}from"@itcase/ui-web/components/InputPassword";import{Radio as O}from"@itcase/ui-web/components/Radio";import{Segmented as G}from"@itcase/ui-web/components/Segmented";import{Select as U}from"@itcase/ui-web/components/Select";import{Switch as Q}from"@itcase/ui-web/components/Switch";import{Textarea as J}from"@itcase/ui-web/components/Textarea";import{Group as Z}from"@itcase/ui-web/components/Group";import{Notification as X}from"@itcase/ui-web/components/Notification";import{isPossiblePhoneNumber as Y}from"libphonenumber-js";const ee={email_error:{key:"error",message:"Введите корректный адрес электронной почты"},email_required:{key:"required",message:"Укажите адрес электронной почты"},invalid_value:{key:"error",message:"Некорректное значение"},min:{key:"error",message:({min:e})=>`Значение должно быть не менее ${e} символов`},max:{key:"error",message:({max:e})=>`Значение должно быть не менее ${e} символов`},matches:{key:"error",message:"Допускается ввод только цифр от 0 до 9"},numeric_value:{key:"error",message:"Только числовое значение"},password_required:{key:"required",message:"Введите пароль"},phone_error:{key:"error",message:"Введите корректный номер телефона"},phone_or_email_required:{key:"required",message:"Введите телефон или адрес эл. почты"},phone_required:{key:"required",message:"Укажите номер телефона"},required:{key:"required",message:"Обязательное поле"},url:{key:"error",message:"Введите корректный URL-адрес"}},te={appearance:"defaultPrimary sizeL ghost rounded",width:"fill",errorAppearance:"errorPrimary sizeL ghost rounded",requiredAppearance:"requirePrimary sizeL ghost rounded"},re={width:"fill",direction:"vertical",labelTextColor:"surfaceTextPrimary",messageTextColor:"surfaceTextSecondary",dividerFill:"errorPrimary",errorMessageTextColor:"errorTextSecondary",helpTextColor:"surfaceTextQuaternary",requiredMessageTextColor:"warningTextSecondary",showMessage:!0},ae={size:"s",labelTextSize:"s",messageTextSize:"s",errorMessageTextSize:"s",helpTextSize:"s",requiredMessageTextSize:"s",...re},ie={size:"m",labelTextSize:"s",messageTextSize:"s",errorMessageTextSize:"s",helpTextSize:"s",requiredMessageTextSize:"s",...re},oe={size:"l",labelTextSize:"s",messageTextSize:"s",errorMessageTextSize:"s",helpTextSize:"s",requiredMessageTextSize:"s",...re},se={size:"xl",labelTextSize:"s",messageTextSize:"s",errorMessageTextSize:"s",helpTextSize:"s",requiredMessageTextSize:"s",...re};function ne(e){const{className:t,dataTestId:r,dataTour:a,type:s,label:n,labelHidden:d,labelTextColor:u,labelTextSize:c,labelTextWeight:m,messageTextSize:f,desc:y,descTextColor:_,descTextSize:v,descTextWeight:x,afterItem:S,beforeItem:I,dividerDirection:C,dividerFill:z,dividerSize:P,dividerWidth:w,errorKey:N,errorMessage:M,fieldClassName:k,helpText:B,helpTextColor:D,helpTextColorSuccess:F,helpTextSize:A,helpTextWeight:V,inputName:E,inputValue:q,metaActive:K,metaError:W,showDivider:$,showMessage:R,tag:L="div",before:H,after:j,isDisabled:O,isErrorState:G,isHidden:U,isRequired:Q,isValidState:J,children:Z}=e,X=l(()=>p(t,J&&"form__item_state_success",Q&&"form__item_state_required",O&&"form__item_state_disabled",K&&"form__item_state_focus",q&&"form__item_state_filled",G&&`form__item_state_${N}`),[t,G,J,Q,K,q,O,W]),Y=l(()=>p(k,J&&`${k}_state_success`,K&&`${k}_state_focus`,q&&`${k}_state_filled`,O&&`${k}_state_disabled`,G&&`${k}_state_${N}`),[k,G,J,K,q,O,W]),ee=h(e,{prefix:"form-field_size_",propsKey:"size"}),te=h(e,{prefix:"fill_",propsKey:"fill"}),re=h(e,{prefix:"fill_",propsKey:"inputFill"}),ae=h(e,{prefix:"form-field_shape_",propsKey:"shape"}),ie=h(e,{prefix:"form-field__item-value_shape_",propsKey:"inputShape"}),oe=h(e,{prefix:"direction_",propsKey:"direction"}),se=h(e,{prefix:"width_",propsKey:"width"}),{styles:ne}=g(e),le=e[`${N}MessageTextSize`],de=e[`${N}MessageTextColor`],ue=e[`${N}MessageTextWeight`],ce=`${r||`${E}Field`}Message`;return o(L,{className:p(X,"form__item","form-field",s?`form-field_type_${s}`:"form-field_type_classic",ee,te,ae,O&&"form-field_state_disabled",U&&"form-field_state_hidden",oe,se),"data-testid":r,"data-tour":a,style:ne,children:[H,(n||d)&&i("div",{className:p("form-field__label",`text_size_${c}`),"data-testid":`${r}Label`,children:o(b,{size:c,textColor:u,textWeight:m,children:[n,d&&" "]})}),y&&i("div",{className:p("form-field__desc",`text_size_${v}`),"data-testid":`${r}Desc`,children:i(b,{size:v,textColor:_,textWeight:x,children:y})}),o("div",{className:p("form-field__content",re,ie),children:[o("div",{className:p("form-field__content-inner",Y),children:[I,Z,S]}),$&&i(T,{className:"form-field__item-divider",width:w,direction:C,size:P,fill:z})]}),R&&o("div",{className:p("form-field__message",`text_size_${le||A||f}`),"data-testid":ce,children:[G&&M&&i(b,{className:"form-field__message-item form-field__message-item_type-error",dataTestId:`${r}MessageError`,size:le,textColor:de,textWeight:ue,children:M}),Boolean(B)&&(!G||!M)&&i(b,{className:"form-field__message-item form-field__message-item_type_help-text",dataTestId:`${r}MessageHelpText`,size:A,textColor:J?F:D,textWeight:V,children:B}),(!G&&!B||G&&!B&&!M)&&i(b,{className:"form-field__message-item form-field__message-item_type_help-text",dataTestId:`${r}MessageHelpText`,size:f,children:" "})]}),j]})}function le(t){const{inputName:r}=t,{change:a}=e();return n(()=>()=>{a(r,void 0)},[]),i(ne,{...t})}const de=(e,t)=>{const r=e,a=Object.keys(t).map(e=>e===v?"notification__item_status_error":`react-select-id_${e}-input`),i=r.find(e=>e.name?x(t,e.name):a.includes(e.id)),o=Object.keys(t);if(!i&&o.length){let e;try{const t=o[0];t===v?e=document.querySelector("notification__item_status_error"):(e=document.querySelector(`#${t}-error`),e||(e=document.querySelector(`#id_${t}`)))}catch(e){console.warn(e)}e&&e.scrollIntoView({block:"center"})}i&&i.scrollIntoView({block:"center"})},ue=I(void 0,de),ce=(e,t)=>{const[r,a]=e,i=a.submitError,o=a.error;if("non_field_errors"===r||r===v)t.formState.error=o,t.formState.submitError=i;else if(r in t.fields){if(t.fields[r].touched=!0,o||""===o){const e=Object.assign({},t.formState.errors,{[r]:o});t.fields[r].error=o,t.formState.errors=e}if(i||""===i){const e=Object.assign({},t.formState.submitErrors,{[r]:i});t.fields[r].submitFailed=!0,t.fields[r].submitSucceeded=!1,t.fields[r].submitError=i,t.formState.submitErrors=e,t.formState.submitFailed=!0,t.formState.submitSucceeded=!1,t.formState.lastSubmittedValues=t.formState.values}}},me=async(e,t)=>{try{return{response:await _({url:e,method:"POST",data:t}),success:!0}}catch(e){const t=e,r={};return"string"==typeof t.response?.data&&(r[v]="Something went wrong"),"object"==typeof t.response?.data&&Object.entries(t.response.data).forEach(([e,t])=>{r[e]=t[0]}),{error:t,formErrors:r,success:!1}}},pe=(e,t)=>{const r=(e=>e.replace(/(^|[_-])([a-zA-Z0-9])/g,(e,t,r)=>r.toUpperCase()))(e);return t&&t.endsWith("Field")?t:t?t+r+"Field":r+"Field"},fe=(e,t)=>S(e,t.path,t.message),he=Object.create(null);function ge(e,t){const r=l(()=>e&&(e=>async function(t){try{await(e?.validate(t,{abortEarly:!1}))}catch(e){const t=e;if(t.message)return t.inner.reduce(fe,he);console.warn("itcase-forms schema.validate error: An error not related to the form occurred during validation. Validation ignored.")}})(e),[e,t]);return r}function ye(e){const{fieldProps:t={},input:r={},meta:a={}}=e,i=!a.modifiedSinceLastSubmit&&a.submitError,o=a.error?.key||"error",s=l(()=>t.showErrorsOnSubmit?Boolean(a.submitFailed&&a.touched&&(a.error||i)):Boolean(a.touched&&(a.error||i)),[t.showErrorsOnSubmit,a.submitFailed,a.touched,a.error,i]),n=l(()=>{const e=Array.isArray(r?.value)?r?.value.length:r?.value,t=a.modifiedSinceLastSubmit&&!a.error&&i;return Boolean(e&&(a.valid||t))},[r?.value,a.valid,a.error,i,a.modifiedSinceLastSubmit]);return{errorKey:o,errorMessage:l(()=>{const e=a.error||i||!1;if(e){if("string"==typeof e)return e;if(e.message)return e.message}return""},[a.error,i]),successKey:"success",isErrorState:s,isValidState:n}}function Te(e){const{inputProps:t,validationStateKey:r}=e;return l(()=>{const e={};return r?(Object.entries(t||{}).forEach(([t,a])=>{const i=z(t);if(i.startsWith(`${r}_`)){const t=i.replace(`${r}_`,""),o=C(t);e[o]=a}else e[t]||(e[t]=a)}),e):t},[r,t])}const be=s.memo(function(e){const{dataTestId:r,name:a,initialValue:o,classNameGroupItem:s,fieldProps:n={},inputProps:l={},showMessage:u,isDisabled:c,isRequired:m,onChange:h}=e;return i(t,{type:"checkbox",name:a,initialValue:o,children:function({input:e,meta:t}){const a=d(t=>{t&&(e.onChange(t),h&&h(t.target.checked,e.name))},[h,e.onChange]),{errorKey:o,errorMessage:g,successKey:y,isErrorState:T,isValidState:b}=ye({fieldProps:n,input:e,meta:t}),_=Te({inputProps:l,validationStateKey:T?o:b?y:null}),v=pe(e.name,r);return i(le,{className:p("form-field-checkbox","form__item_checkbox",s),dataTestId:v,errorKey:o,errorMessage:g,fieldClassName:"form-checkbox",inputName:e.name,inputValue:e.checked,metaActive:t.active,metaError:t.error,showMessage:u,tag:"label",isDisabled:c,isErrorState:T,isRequired:m,isValidState:b,...n,children:i(f,{checked:e.checked,isActive:e.checked,isDisabled:c,onBlur:e.onBlur,onChange:a,onFocus:e.onFocus,..._})})}})}),_e={appearance:"surfacePrimary sizeM solid rounded",width:"fill",errorAppearance:"errorPrimary sizeM solid rounded",requiredAppearance:"warningPrimary sizeM solid rounded"};function ve(r){const{dataTestId:a,name:o,initialValue:s,classNameGroupItem:u,emptyMessage:c,emptyMessageTextColor:m,emptyMessageTextSize:f,fieldProps:h,inputProps:g,options:y,showMessage:T,isDisabled:_,isRequired:v,onChange:x}=r,{change:S}=e(),I=d((e,t)=>{const r=e.includes(t)?e.filter(e=>e!==t):[...e,t];S(o,r),x&&x(r)},[S,o,x]);return n(()=>{s&&S(o,s)},[s]),i(t,{name:o,initialValue:s,children:function({input:e,meta:t}){const{errorKey:r,errorMessage:o,successKey:s,isErrorState:n,isValidState:d}=ye({fieldProps:h,input:e,meta:t}),x=Te({inputProps:g,validationStateKey:n?r:d?s:null}),S=l(()=>{const t=[{label:null,value:null}];if(e?.value){return y.filter(t=>e.value?.includes(t.value))||t}return t},[e.value]),C=pe(e.name,a);return i(le,{className:p("form-field_chips","form__item_chips",u),dataTestId:C,errorKey:r,errorMessage:o,fieldClassName:"form-chips",inputName:e.name,inputValue:String(e.value??""),metaActive:t.active,metaError:t.error,showMessage:T,isDisabled:_,isErrorState:n,isRequired:v,isValidState:d,...h,children:y?.length?i(P,{direction:"horizontal",gap:"1m",wrap:"wrap",children:y.map(a=>i(w,{className:p(t.active&&"form-chips_state_focus",t.error&&t.touched&&`form-chips_state_${r}`),label:a.label,isActive:S.some(e=>e.value===a.value),isDisabled:a.isDisabled,onClick:()=>I(e.value,a.value),...x},a.value))}):i(b,{size:f,textColor:m,children:c})})}})}const xe={appearance:"defaultPrimary sizeM solid rounded",width:"fill",errorAppearance:"errorPrimary sizeM solid rounded",requiredAppearance:"requirePrimary sizeM solid rounded"},Se=s.memo(function(r){const{dataTestId:a,name:o,initialValue:s,label:n,classNameGroupItem:u,fieldProps:c,inputProps:m,options:f,showMessage:h,isDisabled:g,isCheckbox:y,isRequired:T,onChange:b}=r,{change:_}=e(),v=d((e,t)=>{_(o,t&&e.value),b&&b(e.value,o,t)},[_,b]);return i(t,{name:o,initialValue:s,children:function({input:e,meta:t}){const r=l(()=>{const t={label:null,value:null};if(e.value){return f.find(t=>t.value===e.value)||t}return t},[e.value]),{errorKey:o,errorMessage:s,successKey:d,isErrorState:b,isValidState:_}=ye({fieldProps:c,input:e,meta:t}),x=Te({inputProps:m,validationStateKey:b?o:_?d:null}),S=pe(e.name,a);return i(le,{className:p("form-field_choice","form__item_choice",u),dataTestId:S,label:n,errorKey:o,errorMessage:s,fieldClassName:"form-choice",inputName:e.name,inputValue:String(e.value??""),metaActive:t.active,metaError:t.error,showMessage:h,isDisabled:g,isErrorState:b,isRequired:T,isValidState:_,...c,children:i(N,{className:p(t.active&&"form-choice_state_focus",t.error&&t.touched&&`form-choice_state_${o}`),name:e.name,active:r,options:f,isDisabled:g,isCheckbox:y,setActiveSegment:v,...x})})}})}),Ie={appearance:"defaultPrimary sizeL solid rounded",errorAppearance:"errorPrimary sizeM solid rounded",requiredAppearance:"requirePrimary sizeM solid rounded"},Ce=s.memo(function(e){const{dataTestId:r,name:a,initialValue:o,label:s,classNameGroupItem:n,fieldProps:l={},inputProps:d={},showMessage:u,isDisabled:c,isRequired:m}=e;return i(t,{name:a,initialValue:o,children:function({input:e,meta:t}){const{errorKey:a,errorMessage:o,successKey:f,isErrorState:h,isValidState:g}=ye({fieldProps:l,input:e,meta:t}),y=Te({inputProps:d,validationStateKey:h?a:g?f:null}),T=pe(e.name,r);return i(le,{className:p("form-field-code","form__item_code",n),dataTestId:T,label:s,errorKey:a,errorMessage:o,fieldClassName:"form-code",inputName:e.name,inputValue:String(e.value??""),metaActive:t.active,showMessage:u,isErrorState:h,isRequired:m,isValidState:g,...l,children:i(M,{initialValue:e.value,isDisabled:c,onBlur:e.onBlur,onChange:e.onChange,onFocus:e.onFocus,...y})})}})}),ze=s.memo(function(e){const{dataTestId:r,name:a,initialValue:s,classNameGroupItem:n,clearIcon:l,clearIconFill:d,clearIconFillHover:u,clearIconShape:c,clearIconSize:m,Component:f,fieldProps:h={},showMessage:g,isDisabled:y,isRequired:T,onClickClearIcon:b}=e;return i(t,{name:a,initialValue:s,children:function({input:t,meta:a}){const{errorKey:s,errorMessage:_,isErrorState:v,isValidState:x}=ye({fieldProps:h,input:t,meta:a}),S=Te({inputProps:e,validationStateKey:v?s:"success"}),I=pe(t.name,r);return o(le,{className:p("form-field_custom","form__item_custom",n),dataTestId:I,errorKey:s,errorMessage:_,fieldClassName:"form-custom",inputName:t.name,inputValue:String(t.value??""),metaActive:a.active,metaError:a.error,showMessage:g,isDisabled:y,isErrorState:v,isRequired:T,isValidState:x,...h,children:[i(f,{...S,input:t,meta:a,isDisabled:y}),l&&i(k,{className:"form-field__icon",size:m,iconFill:d,iconFillHover:u,imageSrc:l,shape:c,SvgImage:l,onClick:b})]})}})}),Pe={appearance:"defaultPrimary sizeM solid rounded",errorAppearance:"errorPrimary sizeM solid rounded",requiredAppearance:"requirePrimary sizeM solid rounded",successAppearance:"successPrimary sizeM solid rounded"},we=s.memo(function(e){const{dataTestId:r,name:a,initialValue:o,classNameGroupItem:s,fieldProps:n,inputProps:l,parse:d,showMessage:u,token:c,isDisabled:m,isRequired:f,onDadataAutocomplete:h}=e;if("development"===process.env.NODE_ENV){const e=`Check your form config at field "${a}".`;if(!c){throw new Error(`FormFieldDadataInput: 'token' prop is missing, instead got ${c}.`+"\n"+e)}if(!h){throw new Error(`FormFieldDadataInput: 'onDadataAutocomplete' prop is missing, instead got ${h}.`+"\n"+e)}}return i(t,{name:a,initialValue:o,parse:d,children:function({input:e,meta:t}){const{errorKey:a,errorMessage:o,successKey:d,isErrorState:g,isValidState:y}=ye({fieldProps:n,input:e,meta:t}),T=Te({inputProps:l,validationStateKey:g?a:y?d:null}),b=pe(e.name,r);return i(le,{className:p("form-field_input-dadata","form__item_input-dadata",s),dataTestId:b,errorKey:a,errorMessage:o,fieldClassName:"form-dadata",inputName:e.name,inputValue:String(e.value??""),metaActive:t.active,metaError:t.error,showMessage:u,isDisabled:m,isErrorState:g,isRequired:f,isValidState:y,...n,children:i(B,{input:e,inputProps:T,meta:t,token:c,setValue:h})})}})}),Ne={appearance:"surfacePrimary sizeS solid rounded",dateFormat:"dd/MM/yyyy - HH:mm",readOnly:!1,selectsRange:!1,showTimeSelect:!0,timeCaption:"Время",timeFormat:"p",timeIntervals:60,isClearable:!0,isStartDefaultNull:!0};function Me(e){const{dataTestId:r,name:a,classNameGroupItem:o,datePickerProps:s,fieldProps:n={},inputProps:l={},showMessage:u,isDisabled:c,isRequired:m,onChange:f}=e;return i(t,{name:a,children:function({input:e,meta:t}){const a=d((t,r)=>{s?.selectsRange?e.onChange({endDate:r,startDate:t}):e.onChange(t),f&&f(t,r)},[e.onChange,f]),{errorKey:h,errorMessage:g,successKey:y,isErrorState:T,isValidState:b}=ye({fieldProps:n,input:e,meta:t}),_=Te({inputProps:l,validationStateKey:T?h:b?y:null}),v=pe(e.name,r);return i(le,{className:p("form-field_datepicker","form__item_datepicker",o),dataTestId:v,errorKey:h,errorMessage:g,fieldClassName:"form-datepicker",inputName:e.name,inputValue:String(e.value??""),metaActive:t.active,metaError:t.error,showMessage:u,isDisabled:c,isErrorState:T,isRequired:m,isValidState:b,...n,children:i(D,{name:e.name,datePickerProps:s,endValue:s?.selectsRange?e.value.endDate:null,inputProps:_,value:s?.selectsRange?e.value.startDate:e.value,onBlur:e.onBlur,onChange:a,onFocus:e.onFocus})})}})}var ke={fill:"surfaceSecondary",fillHover:"surfaceTertiary",hintTitle:"Перетащите изображение или выберите файл с компьютера",hintTitleTextColor:"surfaceTextPrimary",hintTitleTextSize:"m",removeThumbText:"удалить",removeThumbTextColor:"errorTextPrimary",removeThumbTextHoverColor:"errorTextPrimaryHover",removeThumbTextSize:"s",shape:"rounded",showFilename:!0,thumbBorderColor:"surfaceBorderTertiary",thumbBorderColorHover:"surfaceBorderQuaternary",thumbBorderWidth:1,thumbNameTextColor:"surfaceTextPrimary",thumbNameTextSize:"s",isPreviews:!0};function Be(e,t){(null==t||t>e.length)&&(t=e.length);for(var r=0,a=Array(t);r<t;r++)a[r]=e[r];return a}function De(e,t,r,a,i,o,s){try{var n=e[o](s),l=n.value}catch(e){return void r(e)}n.done?t(l):Promise.resolve(l).then(a,i)}function Fe(e){return function(){var t=this,r=arguments;return new Promise(function(a,i){var o=e.apply(t,r);function s(e){De(o,a,i,s,n,"next",e)}function n(e){De(o,a,i,s,n,"throw",e)}s(void 0)})}}function Ae(e,t){var r="undefined"!=typeof Symbol&&e[Symbol.iterator]||e["@@iterator"];if(r)return(r=r.call(e)).next.bind(r);if(Array.isArray(e)||(r=function(e,t){if(e){if("string"==typeof e)return Be(e,t);var r={}.toString.call(e).slice(8,-1);return"Object"===r&&e.constructor&&(r=e.constructor.name),"Map"===r||"Set"===r?Array.from(e):"Arguments"===r||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(r)?Be(e,t):void 0}}(e))||t){r&&(e=r);var a=0;return function(){return a>=e.length?{done:!0}:{done:!1,value:e[a++]}}}throw new TypeError("Invalid attempt to iterate non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.")}function Ve(){
|
|
2
2
|
/*! regenerator-runtime -- Copyright (c) 2014-present, Facebook, Inc. -- license (MIT): https://github.com/babel/babel/blob/main/packages/babel-helpers/LICENSE */
|
|
3
|
-
var e,t,r="function"==typeof Symbol?Symbol:{},a=r.iterator||"@@iterator",i=r.toStringTag||"@@toStringTag";function o(r,a,i,o){var l=a&&a.prototype instanceof n?a:n,d=Object.create(l.prototype);return Ee(d,"_invoke",function(r,a,i){var o,n,l,d=0,u=i||[],c=!1,m={p:0,n:0,v:e,a:p,f:p.bind(e,4),d:function(t,r){return o=t,n=0,l=e,m.n=r,s}};function p(r,a){for(n=r,l=a,t=0;!c&&d&&!i&&t<u.length;t++){var i,o=u[t],p=m.p,f=o[2];r>3?(i=f===a)&&(l=o[(n=o[4])?5:(n=3,3)],o[4]=o[5]=e):o[0]<=p&&((i=r<2&&p<o[1])?(n=0,m.v=a,m.n=o[1]):p<f&&(i=r<3||o[0]>a||a>f)&&(o[4]=r,o[5]=a,m.n=f,n=0))}if(i||r>1)return s;throw c=!0,a}return function(i,u,f){if(d>1)throw TypeError("Generator is already running");for(c&&1===u&&p(u,f),n=u,l=f;(t=n<2?e:l)||!c;){o||(n?n<3?(n>1&&(m.n=-1),p(n,l)):m.n=l:m.v=l);try{if(d=2,o){if(n||(i="next"),t=o[i]){if(!(t=t.call(o,l)))throw TypeError("iterator result is not an object");if(!t.done)return t;l=t.value,n<2&&(n=0)}else 1===n&&(t=o.return)&&t.call(o),n<2&&(l=TypeError("The iterator does not provide a '"+i+"' method"),n=1);o=e}else if((t=(c=m.n<0)?l:r.call(a,m))!==s)break}catch(t){o=e,n=1,l=t}finally{d=1}}return{value:t,done:c}}}(r,i,o),!0),d}var s={};function n(){}function l(){}function d(){}t=Object.getPrototypeOf;var u=[][a]?t(t([][a]())):(Ee(t={},a,function(){return this}),t),c=d.prototype=n.prototype=Object.create(u);function m(e){return Object.setPrototypeOf?Object.setPrototypeOf(e,d):(e.__proto__=d,Ee(e,i,"GeneratorFunction")),e.prototype=Object.create(c),e}return l.prototype=d,Ee(c,"constructor",d),Ee(d,"constructor",l),l.displayName="GeneratorFunction",Ee(d,i,"GeneratorFunction"),Ee(c),Ee(c,i,"Generator"),Ee(c,a,function(){return this}),Ee(c,"toString",function(){return"[object Generator]"}),(Ae=function(){return{w:o,m:m}})()}function Ee(e,t,r,a){var i=Object.defineProperty;try{i({},"",{})}catch(e){i=0}Ee=function(e,t,r,a){function o(t,r){Ee(e,t,function(e){return this._invoke(t,r,e)})}t?i?i(e,t,{value:r,enumerable:!a,configurable:!a,writable:!a}):e[t]=r:(o("next",0),o("throw",1),o("return",2))},Ee(e,t,r,a)}var qe=s.memo(function(e){var t,r=e.maxFiles,a=e.maxSize,m=e.dropzoneProps,f=void 0===m?{}:m,h=e.fileErrorText,g=e.hintDescription,T=e.hintTitle,_=e.inputName,v=e.inputValue,x=e.showFilename,S=e.thumbColumn,I=e.isPreviews,C=e.onClickPreview,z=e.onAddFiles,w=e.onChange,P=e.onDeleteFile,N=u(""),M=N[0],k=N[1],B=u(!1),D=B[0],q=B[1],$=c(null),R=l(function(){var e=v?V(v):[];return null===$.current?($.current=e,e):($.current.forEach(function(t){var r;t.preview&&(!e.some(function(e){return e.preview===t.preview})&&null!=(r=t.preview)&&r.startsWith("blob:")&&URL.revokeObjectURL(t.preview))}),$.current=e,e)},[v]),L=d(function(e){var t,a=V(e),i=1==(null!=(t=f.maxFiles)?t:r)?a[0]:[].concat(a);return w(i),i},[f.maxFiles,r,w]),H=d(function(){var e=Fe(Ae().m(function e(t){var r,a,i,o,s;return Ae().w(function(e){for(;;)switch(e.n){case 0:q(!0),r=[],a=Ve(t);case 1:if((i=a()).done){e.n=5;break}if("string"!=typeof(o=i.value)){e.n=3;break}return e.n=2,$e(o,I);case 2:(s=e.v)&&r.push(s),e.n=4;break;case 3:r.push(o);case 4:e.n=1;break;case 5:L(r),q(!1);case 6:return e.a(2)}},e)}));return function(t){return e.apply(this,arguments)}}(),[I,L]),j=d(function(e,t){e.stopPropagation(),e.preventDefault();var r=[].concat(R);r.splice(t,1),P&&P(R[t],_),L(r)},[R,L,P]),O=A(Object.assign({maxFiles:r||5,maxSize:a||10485760},f,{getFilesFromEvent:(t=Fe(Ae().m(function e(t){var r,a;return Ae().w(function(e){for(;;)switch(e.n){case 0:return e.n=1,F(t);case 1:return r=e.v,a=r.filter(function(e){return e instanceof File}),e.a(2,[].concat(R,a))}},e)})),function(e){return t.apply(this,arguments)}),onDropAccepted:function(e){I&&e.forEach(function(e){e.error||e.preview||(e.preview=URL.createObjectURL(e))});var t=L(e);k("");var r=e.map(function(e){return new Promise(function(t){return Le(e,t)})});Promise.all(r).then(function(){z&&z(t,_)})},onDropRejected:function(e){if(e.length){var t="Ошибка при добавлении файла",a=e[0].errors[0];a&&(t=a.code===E.TooManyFiles?"Максимальное количество файлов: "+r:a.message),k(t)}else k("")}})),G=O.getInputProps,U=O.getRootProps;n(function(){var e=V(v);e.some(function(e){return"string"==typeof e})&&H(e)},[v]),n(function(){return function(){$.current.forEach(function(e){var t;null!=(t=e.preview)&&t.startsWith("blob:")&&URL.revokeObjectURL(e.preview)})}},[]);var Q=y(e),J=Q.fillClass,Z=Q.fillHoverClass,X=Q.borderColorClass,Y=Q.borderColorHoverClass,ee=Q.borderTypeClass,te=Q.borderWidthClass,re=Q.errorMessageTextColor,ae=Q.errorMessageTextSize,ie=Q.errorMessageTextWeight,oe=Q.hintDescriptionTextColor,se=Q.hintDescriptionTextSize,ne=Q.hintDescriptionTextWeight,le=Q.hintDescriptionTextWrap,de=Q.hintTitleTextColor,ue=Q.hintTitleTextSize,ce=Q.hintTitleTextWeight,me=Q.hintTitleTextWrap,pe=Q.removeThumbAppearance,fe=Q.removeThumbShape,he=Q.removeThumbText,ge=Q.removeThumbTextWeight,ye=Q.shapeClass,Te=Q.thumbBorderColorClass,be=Q.thumbBorderColorHoverClass,_e=Q.thumbBorderTypeClass,ve=Q.thumbBorderWidthClass,xe=Q.thumbDirectionClass,Se=Q.thumbNameTextColor,Ie=Q.thumbNameTextSize,Ce=Q.thumbNameTextWeight,ze=Q.thumbNameTextWrap;return o(s.Fragment,{children:[o("div",Object.assign({},U({className:"form-dropzone__dropzone dropzone"}),{children:[i("input",Object.assign({},G(),{name:_})),o("div",{className:p("form-dropzone__dropzone-wrapper",S&&"form-dropzone__dropzone-wrapper_column_"+S,J&&"fill_"+J,Z&&"fill_hover_"+Z,te&&"border-width_"+te,X&&"border-color_"+X,Y&&"border-color_hover_"+Y,ee&&"border_type_"+ee,ye&&"shape_"+ye),children:[R.map(function(e,t){return o("aside",{className:p("form-dropzone__thumb",J,xe,ve,Te,be,_e),children:[I&&!e.error&&i("div",{className:"form-dropzone__thumb-image",children:i("img",{className:"form-dropzone__thumb-image-inner",src:e.preview||e.image,onClick:function(t){C&&C(e,t)}})}),e.error&&i("div",{children:i(b,{size:Ie,textColor:Se,textWeight:Ce,textWrap:ze,children:h||e.error})}),x&&i("div",{className:"form-dropzone__thumb-name",children:i(b,{className:"form-dropzone__thumb-name-inner",size:Ie,textColor:Se,textWeight:Ce,textWrap:ze,children:e.name})}),D&&i("div",{className:"form-dropzone__thumb-loader",children:i(W,{width:"fill",height:"fill"})}),i("div",{className:p("form-dropzone__thumb-remove"),children:i(K,{appearance:pe,className:"form-dropzone__thumb-remove-text",label:he||"Удалить",labelTextWeight:ge,shape:fe,onClick:function(e){return j(e,t)}})})]},e.id||e.name+"_"+t)}),R.length?o("div",{className:"form-dropzone__hint form-dropzone__hint_type_add-more",children:[i(b,{className:"form-dropzone__hint-title",size:ue,textAlign:"center",textColor:de,textWeight:ce,textWrap:me,children:T||"Select a file or drag in form"}),g&&i(b,{className:"form-dropzone__hint-text",size:se,textColor:oe,textWeight:ne,textWrap:le,children:g})]}):o("div",{className:"form-dropzone__hint",children:[i(b,{className:"form-dropzone__hint-title",size:ue,textAlign:"center",textColor:de,textWeight:ce,textWrap:me,children:T||"Select a file or drag in form"}),g&&i(b,{className:"form-dropzone__hint-text",size:se,textColor:oe,textWeight:ne,textWrap:le,children:g})]})]})]})),M&&i("div",{className:"form-field__message",children:i(b,{className:"form-field__message-item form-field__message-item_type_message",size:ae,textColor:re,textWeight:ie,children:M})})]})});function Ke(e){return We.apply(this,arguments)}function We(){return(We=Fe(Ae().m(function e(t){var r,a,i,o,s,n;return Ae().w(function(e){for(;;)switch(e.p=e.n){case 0:return e.p=0,e.n=1,_({url:t,responseType:"blob"});case 1:return a=e.v,i=a.data,o=null==(r=a.headers["content-disposition"])?void 0:r.split("filename=")[1],(s=null==o?void 0:o.substring(1).slice(0,-1))||(s=t.split("/").at(-1)),e.a(2,new File([i],s,{type:i.type}));case 2:return e.p=2,n=e.v,console.log("error: ",n),e.a(2,null)}},e,null,[[0,2]])}))).apply(this,arguments)}function $e(e,t){return Re.apply(this,arguments)}function Re(){return(Re=Fe(Ae().m(function e(t,r){var a,i;return Ae().w(function(e){for(;;)switch(e.n){case 0:if(a=null,i="string"==typeof t&&t.includes("/"),!t.image&&!i){e.n=2;break}return e.n=1,Ke(t.image||t);case 1:(a=e.v)&&Le(a);case 2:return t.dataURL&&"string"==typeof t.dataURL&&t.dataURL.startsWith("data:")&&((a=q(t.name||t.path,t.dataURL)).dataURL=t.dataURL),a&&(a.id=t.id,r&&(a.preview=URL.createObjectURL(a))),e.a(2,a)}},e)}))).apply(this,arguments)}function Le(e,t){t=t||function(){};var r=new FileReader;r._readedFile=e,r.onabort=function(){return t()},r.onerror=function(){return t()},r.onload=function(e){e.target._readedFile.dataURL=r.result,t()},e instanceof File?r.readAsDataURL(e):t()}var He=s.memo(function(e){var r=e.className,a=e.dataTestId,o=e.name,s=e.width,n=e.maxFiles,l=e.maxSize,d=e.label,u=e.classNameGroupItem,c=e.dropzoneProps,m=e.fieldProps,f=e.fileErrorText,h=e.hintDescription,g=e.hintTitle,T=e.showFilename,b=e.showMessage,_=e.isPreviews,v=e.isRequired,x=e.onClickPreview,S=e.onAddFiles,I=e.onDeleteFile,C=y(e),z=C.size,w=C.fill,P=C.fillHover,N=C.labelTextColor,M=C.borderColorHover,k=C.borderType,B=C.borderWidth,D=C.errorMessageTextColor,F=C.errorMessageTextSize,V=C.errorMessageTextWeight,A=C.hintDescriptionTextColor,E=C.hintDescriptionTextSize,q=C.hintDescriptionTextWeight,K=C.hintDescriptionTextWrap,W=C.hintTitleTextColor,$=C.hintTitleTextSize,R=C.hintTitleTextWeight,L=C.hintTitleTextWrap,H=C.removeThumbAppearance,j=C.removeThumbShape,O=C.removeThumbText,G=C.removeThumbTextWeight,U=C.shape,Q=C.thumbBorderColor,J=C.thumbBorderColorHover,Z=C.thumbBorderType,X=C.thumbBorderWidth,Y=C.thumbColumn,ee=void 0===Y?1:Y,te=C.thumbDirection,re=void 0===te?"vertical":te,ae=C.thumbNameTextColor,ie=C.thumbNameTextSize,oe=C.thumbNameTextWeight,se=C.thumbNameTextWrap;return i(t,{name:o,children:function(t){var o,y=t.input,C=t.meta,Y=ye({fieldProps:m,input:y,meta:C}),te=Y.errorKey,ne=Y.errorMessage,de=Y.isErrorState,ue=Y.isValidState,ce=Te({inputProps:e,validationStateKey:de?te:"success"}),me=pe(y.name,a);return i(le,Object.assign({className:p("form-field_type_dropzone","form__item_type_dropzone",u),dataTestId:me,width:s,label:d,labelTextColor:N,errorKey:te,errorMessage:ne,fieldClassName:"form-dropzone",inputName:y.name,inputValue:(o=y.value,Array.isArray(o)?o.length>0?o:"":null!=o?o:""),metaActive:C.active,metaError:C.error,metaTouched:C.touched,showMessage:b,isErrorState:de,isRequired:v,isValidState:ue},m,{children:i(qe,{className:r,maxFiles:n,maxSize:l,size:z,fill:w,fillHover:P,borderColor:ce.borderColor,borderColorHover:M,borderType:k,borderWidth:B,dropzoneProps:c,errorMessageTextColor:D,errorMessageTextSize:F,errorMessageWeight:V,fileErrorText:f,hintDescription:h,hintDescriptionTextColor:A,hintDescriptionTextSize:E,hintDescriptionTextWeight:q,hintDescriptionTextWrap:K,hintTitle:g,hintTitleTextColor:W,hintTitleTextSize:$,hintTitleTextWeight:R,hintTitleTextWrap:L,inputName:y.name,inputValue:y.value,metaError:C.error,metaTouched:C.touched,removeThumbAppearance:H,removeThumbShape:j,removeThumbText:O,removeThumbTextWeight:G,shape:U,showFilename:T,thumbBorderColor:Q,thumbBorderColorHover:J,thumbBorderType:Z,thumbBorderWidth:X,thumbColumn:ee,thumbDirection:re,thumbNameTextColor:ae,thumbNameTextSize:ie,thumbNameTextWeight:oe,thumbNameTextWrap:se,isPreviews:_,onClickPreview:x,onAddFiles:S,onChange:y.onChange,onDeleteFile:I})}))}})});const je={width:"fill",labelTextSize:"s",messageTextColor:"surfaceTextPrimary",messageTextSize:"s",errorMessageTextColor:"errorTextSecondary",errorMessageTextSize:"s",helpTextSize:"s",requiredMessageTextColor:"warningTextSecondary",requiredMessageTextSize:"s"},Oe=s.memo(function(e){const{className:r,dataTestId:a,dataTour:n,name:l,title:d,titleTextColor:u,titleTextSize:c,titleTextWeight:m,label:f,labelTextColor:h,labelTextSize:T,labelTextWeight:_,message:v,messageTextColor:x,messageTextSize:S,messageTextWeight:I,column:C,showGroupMessage:z,before:w,after:P,isActive:N,isDisabled:M,isHidden:k,children:B}=e,D=y(e),{fillActiveClass:F,fillActiveHoverClass:V,fillClass:A,fillDisabledClass:E,fillHoverClass:q,shapeClass:K}=D,{styles:W}=g(e),R=pe(l,a);return i(t,{name:l,children:function({input:t,meta:a}){const{errorKey:g,errorMessage:y,isErrorState:D}=ye({fieldProps:e,input:t,meta:a}),L=Te({inputProps:e,validationStateKey:D?g:"success"});return o("div",{className:p("form__group",r,k&&"form__group_hidden",M?E&&`fill_${E}`:N?F&&`fill_active_${F}`:A&&`fill_${A}`,M?E&&`fill_${E}`:N?V&&`fill_active_hover_${V}`:q&&`fill_hover_${q}`,K&&`shape_${K}`,C&&`form__group_column_${C}`),"data-testid":R,"data-tour":n,style:W,children:[o("div",{className:"form__group-wrapper",children:[w,d&&i("div",{className:"form__group-title",children:i($,{dataTestId:`${R}Title`,size:c,textColor:u,textWeight:m,children:d})}),f&&i("div",{className:"form__group-label",children:i(b,{dataTestId:`${R}Label`,size:T,textColor:h,textWeight:_,children:f})}),i("div",{className:"form__group-items",children:B}),P]}),z&&o(s.Fragment,{children:[D&&y&&i(b,{className:`form__group-message form__group-message_type-${g}`,dataTestId:`${R}MessageError`,size:L.messageTextSize,textColor:L.messageTextColor,textWeight:L.messageTextWeight,children:y}),Boolean(v)&&(!D||!y)&&i(b,{className:"form__group-message",dataTestId:`${l}GroupMessage`,size:S,textColor:x,textWeight:I,children:v}),!D&&!v&&i(b,{className:"form__group-message",size:S,children:" "})]})]})}})}),Ge={appearance:"defaultPrimary sizeM solid rounded",width:"fill",errorAppearance:"errorPrimary sizeM solid rounded",requiredAppearance:"requirePrimary sizeM solid rounded",successAppearance:"successPrimary sizeM solid rounded"},Ue=s.memo(function(e){const{dataTestId:r,name:a,initialValue:s,classNameGroupItem:n,clearIcon:l,clearIconFill:u,clearIconFillHover:c,clearIconShape:m,clearIconSize:f,fieldProps:h={},inputProps:g={},parse:y,showMessage:T,isDisabled:b,isRequired:_,onClickClearIcon:v,onChange:x}=e;return i(t,{name:a,initialValue:s,parse:y,children:function({input:e,meta:t}){const a=d(t=>{e.onChange(t),x&&x(t.target.value,e.name)},[x,e]),{errorKey:s,errorMessage:y,successKey:S,isErrorState:I,isValidState:C}=ye({fieldProps:h,input:e,meta:t}),z=Te({inputProps:g,validationStateKey:I?s:C?S:null}),w=pe(e.name,r);return o(le,{className:p("form-field_input","form__item_input",n),dataTestId:w,errorKey:s,errorMessage:y,fieldClassName:"form-input",inputName:e.name,inputValue:String(e.value??""),metaActive:t.active,metaError:t.error,showMessage:T,isDisabled:b,isErrorState:I,isRequired:_,isValidState:C,...h,children:[i(R,{className:p(t.active&&"input_state_focus",t.error&&t.touched&&`input_state_${s}`),dataTestId:`${w}Input`,type:"text",name:e.name,autoComplete:"nope",value:String(e.value??""),isDisabled:b,onBlur:e.onBlur,onChange:a,onFocus:e.onFocus,...z}),l&&i(k,{className:"form-field__icon",dataTestId:`${w}InputIcon`,size:f,iconFill:u,iconFillHover:c,imageSrc:"string"==typeof l&&l,shape:m,SvgImage:"string"!=typeof l&&l,onClick:v})]})}})}),Qe={appearance:"defaultPrimary sizeM solid rounded",width:"fill",errorAppearance:"errorPrimary sizeM solid rounded",requiredAppearance:"requirePrimary sizeM solid rounded",successAppearance:"successPrimary sizeM solid rounded"},Je=s.memo(function(e){const{dataTestId:r,name:a,initialValue:o,classNameGroupItem:s,fieldProps:n={},inputProps:l={},inputType:u="custom",parse:c,showMessage:m,isDisabled:f,isRequired:h,onChange:g}=e;return i(t,{name:a,initialValue:o,parse:c,children:function({input:e,meta:t}){const a=d(t=>{e.onChange(t),g&&g(t.target.value)},[g,e.onChange]),{errorKey:o,errorMessage:c,successKey:y,isErrorState:T,isValidState:b}=ye({fieldProps:n,input:e,meta:t}),_=Te({inputProps:l,validationStateKey:T?o:b?y:null}),v=pe(e.name,r);return i(le,{className:p("form-field_input-number","form__item_input-number",s),dataTestId:v,errorKey:o,errorMessage:c,fieldClassName:"form-input-number",inputName:e.name,inputValue:String(e.value??""),metaActive:t.active,metaError:t.error,showMessage:m,isDisabled:f,isErrorState:T,isRequired:h,isValidState:b,...n,children:i(L,{className:p(t.active&&"input_state_focus",(t.submitFailed||t.touched)&&t.error&&`input_state_${o}`),dataTestId:`${v}InputNumber`,type:u,name:e.name,value:Number(e.value)||0,onChange:a,..._})})}})}),Ze=s.memo(function(e){const{dataTestId:r,name:a,initialValue:s,classNameGroupItem:l,clearIcon:d,clearIconFill:u,clearIconFillHover:c,clearIconShape:m,clearIconSize:f,fieldProps:h={},inputProps:g={},optionsMask:y,showMessage:T,unmasked:b,isDisabled:_,isRequired:v,onClickClearIcon:x}=e;return i(t,{name:a,initialValue:s,children:function({input:e,meta:t}){const{ref:a,unmaskedValue:S,value:I,setUnmaskedValue:C}=H(y,{defaultValue:s,onAccept:(t,r,a)=>{a&&e.onChange(r._unmaskedValue)}});n(()=>{e.value!==S&&C(e.value.replace(b,""))},[e.value]);const{errorKey:z,errorMessage:w,successKey:P,isErrorState:N,isValidState:M}=ye({fieldProps:h,input:e,meta:t}),B=Te({inputProps:g,validationStateKey:N?z:M?P:null}),D=pe(e.name,r);return o(le,{className:p("form-field-masked-input","form__item_masked-input",l),dataTestId:D,errorKey:z,errorMessage:w,fieldClassName:"form-maskedInput",inputName:e.name,inputValue:String(e.value??b??""),metaActive:t.active,metaError:t.error,showMessage:T,isDisabled:_,isErrorState:N,isRequired:v,isValidState:M,...h,children:[i(R,{className:p(t.active&&"input_state_focus",t.error&&t.touched&&`input_state_${z}`),ref:a,value:I,onBlur:e.onBlur,onFocus:e.onFocus,...B}),d&&i(k,{className:"form-field__icon",size:f,iconFill:u,iconFillHover:c,imageSrc:d,shape:m,SvgImage:d,onClick:x})]})}})}),Xe={appearance:"defaultPrimary sizeM solid rounded",errorAppearance:"errorPrimary sizeM solid rounded",requiredAppearance:"requirePrimary sizeM solid rounded",successAppearance:"successPrimary sizeM solid rounded"},Ye=s.memo(function(e){const{dataTestId:r,name:a,initialValue:o,classNameGroupItem:s,fieldProps:n,inputProps:l,parse:u,showMessage:c,isDisabled:m,isRequired:f,onChange:h}=e;return i(t,{name:a,initialValue:o,parse:u,children:function({input:e,meta:t}){const a=d(t=>{e.onChange(t),h&&h(t.target.value,e.name)},[h,e.onChange]),{errorKey:o,errorMessage:u,successKey:g,isErrorState:y,isValidState:T}=ye({fieldProps:n,input:e,meta:t}),b=Te({inputProps:l,validationStateKey:y?o:T?g:null}),_=pe(e.name,r);return i(le,{className:p("form-field_input-password","form__item_input-password",s),dataTestId:_,errorKey:o,errorMessage:u,fieldClassName:"form-password",inputName:e.name,inputValue:String(e.value??""),metaActive:t.active,metaError:t.error,showMessage:c,isDisabled:m,isErrorState:y,isRequired:f,isValidState:T,...n,children:i(j,{className:p(t.active&&"input-password_state_focus",t.error&&t.touched&&`input-password_state_${o}`),dataTestId:`${_}InputPassword`,name:e.name,autoComplete:"nope",value:String(e.value??""),isDisabled:m,onBlur:e.onBlur,onChange:a,onFocus:e.onFocus,...b})})}})}),et={appearance:"defaultPrimary sizeM solid circular",errorAppearance:"errorPrimary sizeM solid circular",requiredAppearance:"requirePrimary sizeM solid circular",successAppearance:"successPrimary sizeM solid circular"};function tt(e){const{input:t,inputProps:r,options:a,onChange:o}=e,n=d(e=>{t.onChange(e),o&&o(e,t.name)},[t,o]),l=d(e=>{e.target.checked&&n(e.target.value)},[o]);return i(s.Fragment,{children:a.map(e=>i(O,{className:"form-radio__item",label:e.label,checked:e.value===t.value,value:e.value,onChange:l,...r},e.value))})}const rt=s.memo(function(e){const{dataTestId:r,name:a,classNameGroupItem:o,fieldProps:s={},inputProps:n={},options:l=[],showMessage:d,isDisabled:u,isRequired:c,onChange:m}=e;return i(t,{name:a,children:function({input:e,meta:t}){const{errorKey:a,errorMessage:f,successKey:h,isErrorState:g,isValidState:y}=ye({fieldProps:s,input:e,meta:t}),T=Te({inputProps:n,validationStateKey:g?a:y?h:null}),b=pe(e.name,r);return i(le,{className:p("form-field_radio","form__item_radio",o),dataTestId:b,errorKey:a,errorMessage:f,fieldClassName:"form-radio",inputName:e.name,inputValue:String(e.value??""),metaActive:t.active,metaError:t.error,showMessage:d,isDisabled:u,isErrorState:g,isRequired:c,isValidState:y,...s,children:i(tt,{input:e,inputProps:T,options:l,onChange:m})})}})}),at={appearance:"defaultPrimary sizeM solid rounded",width:"fill",errorAppearance:"errorPrimary sizeM solid rounded",requiredAppearance:"requirePrimary sizeM solid rounded"};function it(r){const{dataTestId:a,name:o,fieldProps:s,inputProps:n,options:u,showMessage:c,isDisabled:m,isRequired:f}=r,{change:h}=e(),g=d(e=>{h(o,e.value)},[h]);return i(t,{name:o,children:function({input:e,meta:t}){const r=l(()=>{const t={label:null,value:null};if(e.value){return u.find(t=>t.value===e.value)||t}return t},[e.value]),{errorKey:o,errorMessage:d,successKey:h,isErrorState:y,isValidState:T}=ye({fieldProps:s,input:e,meta:t}),b=Te({inputProps:n,validationStateKey:y?o:T?h:null}),_=pe(e.name,a);return i(le,{className:p("form-field_segmented","form__item_segmented"),dataTestId:_,errorKey:o,errorMessage:d,fieldClassName:"form-segmented",inputName:e.name,inputValue:String(e.value??""),metaActive:t.active,metaError:t.error,showMessage:c,isDisabled:m,isErrorState:y,isRequired:f,isValidState:T,...s,children:i(G,{activeSegment:r,segments:u,isDisabled:m,setActiveSegment:g,...b})})}})}const ot={appearance:"defaultPrimary sizeM solid rounded",errorAppearance:"errorPrimary sizeM solid rounded",requiredAppearance:"requirePrimary sizeM solid rounded",successAppearance:"successPrimary sizeM solid rounded"};function st(e){const{options:t,selectValue:r}=e,a=Array.isArray(r)?r:[r];let i=[];return t.forEach(e=>{const t=a.includes(e.value),o=a.includes(e.label);let s=[];e.options&&(s=st({options:e.options,selectValue:r})),t||o?i.push(e):s.length&&(i=i.concat(s))}),i}const nt=s.memo(function(e){const{dataTestId:r,name:a,initialValue:o,classNameGroupItem:s,fieldProps:c,options:m=[],selectProps:f,selectRef:h,showMessage:g,isDisabled:y,isRequired:T,onChange:b,onInputChange:_}=e;return i(t,{name:a,initialValue:o,children:function({input:e,meta:t}){const[a,o]=u(null),v=l(()=>{const t=st({options:m,selectValue:e.value});return!t.length&&e.value?.length&&t.push({label:e.label,value:e.value}),t},[e.label,e.value]),x=d(t=>{e.onChange(t),b&&b(t,{name:e.name})},[b,e.onChange]),S=d(e=>{const t=Array.isArray(e)?e.map(e=>e.value):e?.value||null;o(e),x(t)},[x]);n(()=>{o(v)},[v]);const{errorKey:I,errorMessage:C,successKey:z,isErrorState:w,isValidState:P}=ye({fieldProps:c,input:e,meta:t}),N=Te({inputProps:f,validationStateKey:w?I:P?z:null}),M=pe(e.name,r);return i(le,{className:p("form-field_select","form__item_select",s),dataTestId:M,errorKey:I,errorMessage:C,fieldClassName:"form-select",inputName:e.name,inputValue:String(e.value??""),metaActive:t.active,metaError:t.error,showMessage:g,isDisabled:y,isErrorState:w,isRequired:T,isValidState:P,...c,children:i(U,{className:"form-select-item",ref:h,instanceId:`id_${e.name}`,options:m,value:a,isDisabled:y,onChange:S,onInputChange:_,...N})})}})}),lt={appearance:"defaultPrimary sizeL solid rounded",errorAppearance:"errorPrimary sizeL solid rounded",requiredAppearance:"requirePrimary sizeL solid rounded",successAppearance:"successPrimary sizeL solid rounded"},dt=s.memo(function(e){const{dataTestId:r,name:a,classNameGroupItem:o,fieldProps:s={},inputProps:n={},showMessage:l,isDisabled:u,isRequired:c,onChange:m}=e;return i(t,{type:"checkbox",name:a,children:function({input:e,meta:t}){const a=d(t=>{e.onChange(t),m&&m(t.target.checked,e.name)},[m,e.onChange]),{errorKey:f,errorMessage:h,successKey:g,isErrorState:y,isValidState:T}=ye({fieldProps:s,input:e,meta:t}),b=Te({inputProps:n,validationStateKey:y?f:T?g:null}),_=pe(e.name,r);return i(le,{className:p("form-field-switch","form__item_switch",o),dataTestId:_,errorKey:f,errorMessage:h,fieldClassName:"form-switch",inputName:e.name,inputValue:e.checked,metaActive:t.active,metaError:t.error,showMessage:l,tag:"label",isDisabled:u,isErrorState:y,isRequired:c,isValidState:T,...s,children:i(Q,{isActive:e.checked,isDisabled:u,onChange:a,...b})})}})}),ut={appearance:"defaultPrimary sizeM solid rounded",errorAppearance:"errorPrimary sizeM solid rounded",requiredAppearance:"requirePrimary sizeM solid rounded",successAppearance:"successPrimary sizeM solid rounded"},ct=s.memo(function(e){const{dataTestId:r,name:a,classNameGroupItem:o,fieldProps:s={},inputProps:n={},showMessage:l,isDisabled:d,isRequired:u}=e;return i(t,{name:a,children:function({input:e,meta:t}){const{errorKey:a,errorMessage:c,successKey:m,isErrorState:f,isValidState:h}=ye({fieldProps:s,input:e,meta:t}),g=Te({inputProps:n,validationStateKey:f?a:h?m:null}),y=pe(e.name,r);return i(le,{className:p("form-field_textarea","form__item_textarea",o),dataTestId:y,errorKey:a,errorMessage:c,fieldClassName:"form-textarea",inputName:e.name,inputValue:String(e.value??""),metaActive:t.active,metaError:t.error,showMessage:l,isDisabled:d,isErrorState:f,isRequired:u,isValidState:h,...s,children:i(J,{className:p(t.active&&"textarea_state_focus",t.error&&t.touched&&`textarea_state_${a}`),dataTestId:`${y}Textarea`,name:e.name,value:String(e.value??""),isDisabled:d,onBlur:e.onBlur,onChange:e.onChange,onFocus:e.onFocus,...g})})}})});function mt(e,t){switch(e.type){case pt.password:return i(Ye,{...e,dataTestId:e.dataTestId??t.dataTestId},t.key);case pt.primaryButton:return m(K,{...e,className:"form__button-item",dataTestId:e.dataTestId||"FormPrimaryButton",key:t.key,width:"fill",htmlType:t.primaryButtonHtmlType||"submit",isDisabled:t.primaryButtonIsDisabled,isLoading:t.primaryButtonIsLoading});case pt.secondaryButton:return m(K,{...e,className:"form__button-item",dataTestId:e.dataTestId||"FormSecondaryButton",key:t.key,width:"fill",htmlType:t.secondaryButtonHtmlType,isDisabled:t.secondaryButtonIsDisabled,isLoading:t.secondaryButtonIsLoading,onClick:t.onClickSecondaryButton});case pt.tertiaryButton:return m(K,{...e,className:"form__button-item",dataTestId:e.dataTestId||"FormTertiaryButton",key:t.key,width:"fill",htmlType:t.tertiaryButtonHtmlType,isDisabled:t.tertiaryButtonIsDisabled,isLoading:t.tertiaryButtonIsLoading,onClick:t.onClickTertiaryButton});case pt.checkbox:return i(be,{...e,dataTestId:e.dataTestId??t.dataTestId},t.key);case pt.choice:return i(Se,{...e,dataTestId:e.dataTestId??t.dataTestId},t.key);case pt.code:return i(Ce,{...e,dataTestId:e.dataTestId??t.dataTestId},t.key);case pt.chips:return i(ve,{...e,dataTestId:e.dataTestId??t.dataTestId},t.key);case pt.switch:return i(dt,{...e,dataTestId:e.dataTestId??t.dataTestId},t.key);case pt.segmented:return i(it,{...e,dataTestId:e.dataTestId??t.dataTestId},t.key);case pt.datePicker:return i(Me,{...e,dataTestId:e.dataTestId??t.dataTestId},t.key);case pt.fileInput:return i(He,{...e,dataTestId:e.dataTestId??t.dataTestId},t.key);case pt.radioGroup:return i(rt,{...e,dataTestId:e.dataTestId??t.dataTestId},t.key);case pt.select:return i(nt,{...e,dataTestId:e.dataTestId??t.dataTestId},t.key);case pt.text:return i(Ue,{...e,dataTestId:e.dataTestId??t.dataTestId},t.key);case pt.textarea:return i(ct,{...e,dataTestId:e.dataTestId??t.dataTestId},t.key);case pt.maskedInput:return i(Ze,{...e,dataTestId:e.dataTestId??t.dataTestId},t.key);case pt.custom:return i(ze,{...e,dataTestId:e.dataTestId??t.dataTestId},t.key);case pt.dadataInput:return i(Pe,{...e,dataTestId:e.dataTestId??t.dataTestId},t.key);case pt.inputNumber:return i(Je,{...e,dataTestId:e.dataTestId??t.dataTestId},t.key);case pt.group:return i(Oe,{...e,dataTestId:e.dataTestId??t.dataTestId,children:Object.entries(e.group).map(([r,a])=>{const i={...a,classNameGroupItem:a.classNameGroupItem||"form__group-item",showMessage:e.showMessage};return mt(i,{...t,dataTestId:i.dataTestId??t.dataTestId,key:r+"_form_group"})})},t.key)}}const pt={secondaryButton:"secondaryButton",primaryButton:"primaryButton",tertiaryButton:"tertiaryButton",checkbox:"checkbox",chips:"chips",choice:"choice",code:"code",custom:"custom",dadataInput:"dadataInput",datePicker:"datePicker",dateRangePicker:"dateRangePicker",fileInput:"fileInput",group:"group",inputNumber:"inputNumber",maskedInput:"maskedInput",password:"password",radioGroup:"radioGroup",segmented:"segmented",select:"select",switch:"switch",text:"text",textarea:"textarea"},ft=s.forwardRef(function(e,t){const{className:n,dataTestId:l,dataTour:u,type:c,initialValues:m,initialValuesEqual:f,config:h,validationSchema:T,title:_,desc:v,buttonGap:x,dataTestIdButtons:S,dataTestIdPrimaryButton:I,dataTestIdSecondaryButton:C,dataTestIdTertiaryButton:z,dataTourButtons:w,dataTourPrimaryButton:P,dataTourSecondaryButton:N,dataTourTertiaryButton:M,disableFieldsAutoComplete:k=!1,fieldsGap:B,groupGap:D,language:F,mutators:V,notificationCloseButton:A,notificationType:E,primaryButton:q,renderFieldsWrapper:R=e=>e,secondaryButton:L,tertiaryButton:H,before:j,after:O,isLoading:G,onClickSecondaryButton:U,onClickTertiaryButton:Q,onChangeFormValues:J,onSubmit:Y}=e,ee=h.fields||h,te=h.title||h.form?.title,re=h.form?.dataTestId||l,ae=ge(T,F),ie=d(e=>{t&&"object"==typeof t&&(t.current=e)},[t]),oe=y(e),{directionClass:se="vertical",fillClass:ne,titleFill:le,titlePosition:de,titleTextColor:ce,titleTextSize:me,titleTextWeight:pe,descSize:fe,descTextColor:he,descTextWeight:ye,buttonDirection:Te="vertical",buttonFill:be,buttonJustifyContent:_e,buttonPadding:ve,buttonPosition:xe,elevationClass:Se,heightClass:Ie,loader:Ce,loaderAppearance:ze,loaderFill:we="surfacePrimary",loaderItemFill:Pe="accentItemSecondary",loaderShape:Ne,loaderSize:Me="l",loaderText:ke,loaderType:Be="dot",primaryButtonAppearance:De,primaryButtonFill:Fe,primaryButtonFillHover:Ve,primaryButtonHtmlType:Ae,primaryButtonIsDisabled:Ee,primaryButtonIsLoading:qe,primaryButtonLabel:Ke,primaryButtonLabelSize:We,primaryButtonLabelTextColor:$e,primaryButtonLabelTextWeight:Re,primaryButtonSize:Le,secondaryButtonAppearance:He,secondaryButtonFill:je,secondaryButtonFillHover:Oe,secondaryButtonHtmlType:Ge,secondaryButtonIsDisabled:Ue,secondaryButtonIsLoading:Qe,secondaryButtonLabel:Je,secondaryButtonLabelSize:Ze,secondaryButtonLabelTextColor:Xe,secondaryButtonLabelTextWeight:Ye,secondaryButtonSize:et,shapeClass:tt,tertiaryButtonAppearance:rt,tertiaryButtonFill:at,tertiaryButtonFillHover:it,tertiaryButtonHtmlType:ot,tertiaryButtonIsDisabled:st,tertiaryButtonIsLoading:nt,tertiaryButtonLabel:lt,tertiaryButtonLabelSize:dt,tertiaryButtonLabelTextColor:ut,tertiaryButtonLabelTextWeight:ct,tertiaryButtonSize:pt,widthClass:ft}=oe,{styles:ht,wrapper:gt}=g(e);return i(r,{initialValues:m,initialValuesEqual:f,render:({form:e,handleSubmit:t,modifiedSinceLastSubmit:r,submitError:d})=>o("form",{className:p(n,"form",c&&`form_type_${c}`,ft&&`width_${ft}`,Ie&&`height_${Ie}`,de&&`form_title-position_${de}`,xe&&`form_button-position_${xe}`,ne&&`fill_${ne}`,tt&&`shape_${tt}`,Se&&`elevation_${Se}`),ref:()=>ie(e),autoCapitalize:k?"off":void 0,autoComplete:k?"off":void 0,autoCorrect:k?"off":void 0,"data-testid":re||l&&`${l}Form`||"Form","data-tour":u,spellCheck:k?"false":void 0,style:ht,onSubmit:t,children:[j,(_||te)&&i($,{className:"form__title",dataTestId:re?`${re}Title`:"FormTitle",size:me,fill:le,textColor:ce,textWeight:pe,children:_||te}),v&&i(b,{className:"form__desc",size:fe,textColor:he,textWeight:ye,"data-testid":l?`${l}Desc`:"FormDesc",children:v}),d&&!r&&i("div",{className:p("notification","form-notification",E?`form-notification_${E}`:"form-notification_global"),children:i(X,{appearance:"errorPrimary sizeS solid rounded",dataTestId:h.form?.dataTestId?`${h.form.dataTestId}Notification`:"FormNotification",type:"global",status:"error",text:e.getState().submitError,closeIcon:A})}),J&&i(a,{subscription:{values:!0},onChange:J}),Boolean(ee&&Object.keys(ee).length)&&i(s.Fragment,{children:R(o(Z,{className:"form__wrapper",direction:"vertical",gap:B||D,style:gt,children:[Object.keys(ee).map(e=>mt(ee[e],{dataTestId:l||h.form?.dataTestId,key:e})),G&&(Ce||i(W,{appearance:ze,className:"form__loader",dataTestId:h.form?.dataTestId?`${h.form.dataTestId}Loader`:"FormLoader",type:Be,size:Me,fill:we,text:ke,itemFill:Pe,shape:Ne}))]}))}),h.buttons?i(Z,{className:"form__button",dataTestId:S||`${l}Buttons`,dataTour:w,direction:Te,justifyContent:_e,fill:be,padding:ve,gap:x,children:Object.keys(h.buttons).map(e=>mt(h.buttons[e],{dataTestId:l,key:e,primaryButtonHtmlType:Ae,primaryButtonIsDisabled:Ee,primaryButtonIsLoading:qe,secondaryButtonHtmlType:Ge,secondaryButtonIsDisabled:Ue,secondaryButtonIsLoading:Qe,tertiaryButtonHtmlType:ot,tertiaryButtonIsDisabled:st,tertiaryButtonIsLoading:nt,onClickSecondaryButton:U,onClickTertiaryButton:Q}))}):(Ke||q||Je||L||H||lt)&&o(Z,{className:"form__button",dataTestId:S||`${l}Buttons`,dataTour:w,direction:Te,justifyContent:_e,fill:be,padding:ve,gap:x,children:[Ke?i(K,{appearance:De,className:"form__button-item",dataTestId:I||l&&`${l}PrimaryButton`||"FormPrimaryButton",dataTour:P,width:"fill",size:Le,fill:Fe,fillHover:Ve,label:Ke,labelTextColor:$e,labelTextSize:We,labelTextWeight:Re,htmlType:Ae||"submit",isDisabled:Ee,isLoading:qe}):q,Je?i(K,{appearance:He,className:"form__button-item",dataTestId:C||l&&`${l}SecondaryButton`||"FormSecondaryButton",dataTour:N,width:"fill",size:et,fill:je,fillHover:Oe,label:Je,labelTextColor:Xe,labelTextSize:Ze,labelTextWeight:Ye,htmlType:Ge,isDisabled:Ue,isLoading:Qe,onClick:U}):L,lt?i(K,{appearance:rt,className:"form__button-item",dataTestId:z||l&&`${l}TertiaryButton`||"FormTertiaryButton",dataTour:M,width:"fill",size:pt,fill:at,fillHover:it,label:lt,labelTextColor:ut,labelTextSize:dt,labelTextWeight:ct,htmlType:ot,isDisabled:st,isLoading:nt,onClick:Q}):H]}),O]}),decorators:[ue],mutators:V,subscription:{modifiedSinceLastSubmit:!0,pristine:!0,submitError:!0,submitting:!0},validate:ae,onSubmit:Y})}),ht=e=>{const t=e.slice(0,10).replace(/,/g,".").replace(/[^\d.]/g,""),r=parseFloat(t);return r||0===r?t.endsWith(".")&&(t.match(/\./g)||[]).length>1?t.slice(0,-1):t:""},gt=e=>{const t={},r=e.response?.data||e;if(r)if("string"==typeof r)t[v]="Во время обработки запроса произошла ошибка, попробуйте повторить запрос";else for(const e in r){t["non_field_errors"===e||"detail"===e?v:e]=V(r[e])[0]}else t[v]=e.message||"Произошла ошибка";return t},yt=e=>!e||Y(e,"RU"),Tt=e=>{if(!e)return!0;return/^[a-za-яёЁ0-9_-]+(?:\.[a-za-яёЁ0-9_-]+)*@(?:[a-za-яёЁ0-9](?:[a-za-яёЁ0-9-]*[a-za-яёЁ0-9])?\.)+[a-za-яёЁ0-9]+$/.test(String(e).toLowerCase())},bt=e=>{const t=e instanceof Date?e:new Date(e);return!isNaN(t.getTime())},_t=e=>{const t=Object.entries(e.fields);return e.requiredFields=t.reduce((e,[t,r])=>(r.exclusiveTests?.required&&e.push(t),e),[]),e};export{ee as DEFAULT_MESSAGES_FIELDS,le as FieldWrapper,ne as FieldWrapperBase,ft as FinalForm,be as FormFieldCheckbox,ve as FormFieldChips,Se as FormFieldChoice,Ce as FormFieldCode,ze as FormFieldCustom,Pe as FormFieldDadataInput,Me as FormFieldDatePicker,He as FormFieldFileInput,Ue as FormFieldInput,Je as FormFieldInputNumber,Ze as FormFieldMaskedInput,Ye as FormFieldPassword,rt as FormFieldRadioGroup,it as FormFieldSegmented,nt as FormFieldSelect,dt as FormFieldSwitch,ct as FormFieldTextarea,Oe as FormGroup,_t as addRequiredFieldsParamToSchema,pe as createDataTestIdField,bt as dateValidation,te as defaultCheckboxProps,_e as defaultChipsProps,xe as defaultChoiceProps,Ie as defaultCodeProps,we as defaultDadataInputProps,Ne as defaultDatepickerProps,ke as defaultDropzoneProps,re as defaultFieldProps,oe as defaultFieldSizeL,ie as defaultFieldSizeM,ae as defaultFieldSizeS,se as defaultFieldSizeXL,je as defaultGroupProps,Qe as defaultInputNumberProps,Ge as defaultInputProps,Xe as defaultPasswordProps,et as defaultRadioProps,at as defaultSegmentedProps,ot as defaultSelectProps,lt as defaultSwitchProps,ut as defaultTextareaProps,Tt as emailValidation,de as focusOnError,ue as focusOnErrorDecorator,pt as formTypes,mt as generateField,gt as getErrorsForFinalForm,ht as parseNumericField,yt as phoneValidation,me as sendFormDataToServer,ce as setErrorsMutator,ge as useYupValidationSchema};
|
|
3
|
+
var e,t,r="function"==typeof Symbol?Symbol:{},a=r.iterator||"@@iterator",i=r.toStringTag||"@@toStringTag";function o(r,a,i,o){var l=a&&a.prototype instanceof n?a:n,d=Object.create(l.prototype);return Ee(d,"_invoke",function(r,a,i){var o,n,l,d=0,u=i||[],c=!1,m={p:0,n:0,v:e,a:p,f:p.bind(e,4),d:function(t,r){return o=t,n=0,l=e,m.n=r,s}};function p(r,a){for(n=r,l=a,t=0;!c&&d&&!i&&t<u.length;t++){var i,o=u[t],p=m.p,f=o[2];r>3?(i=f===a)&&(l=o[(n=o[4])?5:(n=3,3)],o[4]=o[5]=e):o[0]<=p&&((i=r<2&&p<o[1])?(n=0,m.v=a,m.n=o[1]):p<f&&(i=r<3||o[0]>a||a>f)&&(o[4]=r,o[5]=a,m.n=f,n=0))}if(i||r>1)return s;throw c=!0,a}return function(i,u,f){if(d>1)throw TypeError("Generator is already running");for(c&&1===u&&p(u,f),n=u,l=f;(t=n<2?e:l)||!c;){o||(n?n<3?(n>1&&(m.n=-1),p(n,l)):m.n=l:m.v=l);try{if(d=2,o){if(n||(i="next"),t=o[i]){if(!(t=t.call(o,l)))throw TypeError("iterator result is not an object");if(!t.done)return t;l=t.value,n<2&&(n=0)}else 1===n&&(t=o.return)&&t.call(o),n<2&&(l=TypeError("The iterator does not provide a '"+i+"' method"),n=1);o=e}else if((t=(c=m.n<0)?l:r.call(a,m))!==s)break}catch(t){o=e,n=1,l=t}finally{d=1}}return{value:t,done:c}}}(r,i,o),!0),d}var s={};function n(){}function l(){}function d(){}t=Object.getPrototypeOf;var u=[][a]?t(t([][a]())):(Ee(t={},a,function(){return this}),t),c=d.prototype=n.prototype=Object.create(u);function m(e){return Object.setPrototypeOf?Object.setPrototypeOf(e,d):(e.__proto__=d,Ee(e,i,"GeneratorFunction")),e.prototype=Object.create(c),e}return l.prototype=d,Ee(c,"constructor",d),Ee(d,"constructor",l),l.displayName="GeneratorFunction",Ee(d,i,"GeneratorFunction"),Ee(c),Ee(c,i,"Generator"),Ee(c,a,function(){return this}),Ee(c,"toString",function(){return"[object Generator]"}),(Ve=function(){return{w:o,m:m}})()}function Ee(e,t,r,a){var i=Object.defineProperty;try{i({},"",{})}catch(e){i=0}Ee=function(e,t,r,a){function o(t,r){Ee(e,t,function(e){return this._invoke(t,r,e)})}t?i?i(e,t,{value:r,enumerable:!a,configurable:!a,writable:!a}):e[t]=r:(o("next",0),o("throw",1),o("return",2))},Ee(e,t,r,a)}var qe=s.memo(function(e){var t,r=e.maxFiles,a=e.maxSize,m=e.dropzoneProps,f=void 0===m?{}:m,h=e.fileErrorText,g=e.hintDescription,T=e.hintTitle,_=e.inputName,v=e.inputValue,x=e.showFilename,S=e.thumbColumn,I=e.isPreviews,C=e.onClickPreview,z=e.onAddFiles,P=e.onChange,w=e.onDeleteFile,N=u(""),M=N[0],k=N[1],B=u(!1),D=B[0],q=B[1],$=c(null),R=l(function(){var e=v?A(v):[];return null===$.current?($.current=e,e):($.current.forEach(function(t){var r;t.preview&&(!e.some(function(e){return e.preview===t.preview})&&null!=(r=t.preview)&&r.startsWith("blob:")&&URL.revokeObjectURL(t.preview))}),$.current=e,e)},[v]),L=d(function(e){var t,a=A(e),i=1==(null!=(t=f.maxFiles)?t:r)?a[0]:[].concat(a);return P(i),i},[f.maxFiles,r,P]),H=d(function(){var e=Fe(Ve().m(function e(t){var r,a,i,o,s;return Ve().w(function(e){for(;;)switch(e.n){case 0:q(!0),r=[],a=Ae(t);case 1:if((i=a()).done){e.n=5;break}if("string"!=typeof(o=i.value)){e.n=3;break}return e.n=2,$e(o,I);case 2:(s=e.v)&&r.push(s),e.n=4;break;case 3:r.push(o);case 4:e.n=1;break;case 5:L(r),q(!1);case 6:return e.a(2)}},e)}));return function(t){return e.apply(this,arguments)}}(),[I,L]),j=d(function(e,t){e.stopPropagation(),e.preventDefault();var r=[].concat(R);r.splice(t,1),w&&w(R[t],_),L(r)},[R,L,w]),O=V(Object.assign({maxFiles:r||5,maxSize:a||10485760},f,{getFilesFromEvent:(t=Fe(Ve().m(function e(t){var r,a;return Ve().w(function(e){for(;;)switch(e.n){case 0:return e.n=1,F(t);case 1:return r=e.v,a=r.filter(function(e){return e instanceof File}),e.a(2,[].concat(R,a))}},e)})),function(e){return t.apply(this,arguments)}),onDropAccepted:function(e){I&&e.forEach(function(e){e.error||e.preview||(e.preview=URL.createObjectURL(e))});var t=L(e);k("");var r=e.map(function(e){return new Promise(function(t){return Le(e,t)})});Promise.all(r).then(function(){z&&z(t,_)})},onDropRejected:function(e){if(e.length){var t="Ошибка при добавлении файла",a=e[0].errors[0];a&&(t=a.code===E.TooManyFiles?"Максимальное количество файлов: "+r:a.message),k(t)}else k("")}})),G=O.getInputProps,U=O.getRootProps;n(function(){var e=A(v);e.some(function(e){return"string"==typeof e})&&H(e)},[v]),n(function(){return function(){$.current.forEach(function(e){var t;null!=(t=e.preview)&&t.startsWith("blob:")&&URL.revokeObjectURL(e.preview)})}},[]);var Q=y(e),J=Q.fillClass,Z=Q.fillHoverClass,X=Q.borderColorClass,Y=Q.borderColorHoverClass,ee=Q.borderTypeClass,te=Q.borderWidthClass,re=Q.errorMessageTextColor,ae=Q.errorMessageTextSize,ie=Q.errorMessageTextWeight,oe=Q.hintDescriptionTextColor,se=Q.hintDescriptionTextSize,ne=Q.hintDescriptionTextWeight,le=Q.hintDescriptionTextWrap,de=Q.hintTitleTextColor,ue=Q.hintTitleTextSize,ce=Q.hintTitleTextWeight,me=Q.hintTitleTextWrap,pe=Q.removeThumbAppearance,fe=Q.removeThumbShape,he=Q.removeThumbText,ge=Q.removeThumbTextWeight,ye=Q.shapeClass,Te=Q.thumbBorderColorClass,be=Q.thumbBorderColorHoverClass,_e=Q.thumbBorderTypeClass,ve=Q.thumbBorderWidthClass,xe=Q.thumbDirectionClass,Se=Q.thumbNameTextColor,Ie=Q.thumbNameTextSize,Ce=Q.thumbNameTextWeight,ze=Q.thumbNameTextWrap;return o(s.Fragment,{children:[o("div",Object.assign({},U({className:"form-dropzone__dropzone dropzone"}),{children:[i("input",Object.assign({},G(),{name:_})),o("div",{className:p("form-dropzone__dropzone-wrapper",S&&"form-dropzone__dropzone-wrapper_column_"+S,J&&"fill_"+J,Z&&"fill_hover_"+Z,te&&"border-width_"+te,X&&"border-color_"+X,Y&&"border-color_hover_"+Y,ee&&"border_type_"+ee,ye&&"shape_"+ye),children:[R.map(function(e,t){return o("aside",{className:p("form-dropzone__thumb",J,xe,ve,Te,be,_e),children:[I&&!e.error&&i("div",{className:"form-dropzone__thumb-image",children:i("img",{className:"form-dropzone__thumb-image-inner",src:e.preview||e.image,onClick:function(t){C&&C(e,t)}})}),e.error&&i("div",{children:i(b,{size:Ie,textColor:Se,textWeight:Ce,textWrap:ze,children:h||e.error})}),x&&i("div",{className:"form-dropzone__thumb-name",children:i(b,{className:"form-dropzone__thumb-name-inner",size:Ie,textColor:Se,textWeight:Ce,textWrap:ze,children:e.name})}),D&&i("div",{className:"form-dropzone__thumb-loader",children:i(W,{width:"fill",height:"fill"})}),i("div",{className:p("form-dropzone__thumb-remove"),children:i(K,{appearance:pe,className:"form-dropzone__thumb-remove-text",label:he||"Удалить",labelTextWeight:ge,shape:fe,onClick:function(e){return j(e,t)}})})]},e.id||e.name+"_"+t)}),R.length?o("div",{className:"form-dropzone__hint form-dropzone__hint_type_add-more",children:[i(b,{className:"form-dropzone__hint-title",size:ue,textAlign:"center",textColor:de,textWeight:ce,textWrap:me,children:T||"Select a file or drag in form"}),g&&i(b,{className:"form-dropzone__hint-text",size:se,textColor:oe,textWeight:ne,textWrap:le,children:g})]}):o("div",{className:"form-dropzone__hint",children:[i(b,{className:"form-dropzone__hint-title",size:ue,textAlign:"center",textColor:de,textWeight:ce,textWrap:me,children:T||"Select a file or drag in form"}),g&&i(b,{className:"form-dropzone__hint-text",size:se,textColor:oe,textWeight:ne,textWrap:le,children:g})]})]})]})),M&&i("div",{className:"form-field__message",children:i(b,{className:"form-field__message-item form-field__message-item_type_message",size:ae,textColor:re,textWeight:ie,children:M})})]})});function Ke(e){return We.apply(this,arguments)}function We(){return(We=Fe(Ve().m(function e(t){var r,a,i,o,s,n;return Ve().w(function(e){for(;;)switch(e.p=e.n){case 0:return e.p=0,e.n=1,_({url:t,responseType:"blob"});case 1:return a=e.v,i=a.data,o=null==(r=a.headers["content-disposition"])?void 0:r.split("filename=")[1],(s=null==o?void 0:o.substring(1).slice(0,-1))||(s=t.split("/").at(-1)),e.a(2,new File([i],s,{type:i.type}));case 2:return e.p=2,n=e.v,console.log("error: ",n),e.a(2,null)}},e,null,[[0,2]])}))).apply(this,arguments)}function $e(e,t){return Re.apply(this,arguments)}function Re(){return(Re=Fe(Ve().m(function e(t,r){var a,i;return Ve().w(function(e){for(;;)switch(e.n){case 0:if(a=null,i="string"==typeof t&&t.includes("/"),!t.image&&!i){e.n=2;break}return e.n=1,Ke(t.image||t);case 1:(a=e.v)&&Le(a);case 2:return t.dataURL&&"string"==typeof t.dataURL&&t.dataURL.startsWith("data:")&&((a=q(t.name||t.path,t.dataURL)).dataURL=t.dataURL),a&&(a.id=t.id,r&&(a.preview=URL.createObjectURL(a))),e.a(2,a)}},e)}))).apply(this,arguments)}function Le(e,t){t=t||function(){};var r=new FileReader;r._readedFile=e,r.onabort=function(){return t()},r.onerror=function(){return t()},r.onload=function(e){e.target._readedFile.dataURL=r.result,t()},e instanceof File?r.readAsDataURL(e):t()}var He=s.memo(function(e){var r=e.className,a=e.dataTestId,o=e.name,s=e.width,n=e.maxFiles,l=e.maxSize,d=e.label,u=e.classNameGroupItem,c=e.dropzoneProps,m=e.fieldProps,f=e.fileErrorText,h=e.hintDescription,g=e.hintTitle,T=e.showFilename,b=e.showMessage,_=e.isPreviews,v=e.isRequired,x=e.onClickPreview,S=e.onAddFiles,I=e.onDeleteFile,C=y(e),z=C.size,P=C.fill,w=C.fillHover,N=C.labelTextColor,M=C.borderColorHover,k=C.borderType,B=C.borderWidth,D=C.errorMessageTextColor,F=C.errorMessageTextSize,A=C.errorMessageTextWeight,V=C.hintDescriptionTextColor,E=C.hintDescriptionTextSize,q=C.hintDescriptionTextWeight,K=C.hintDescriptionTextWrap,W=C.hintTitleTextColor,$=C.hintTitleTextSize,R=C.hintTitleTextWeight,L=C.hintTitleTextWrap,H=C.removeThumbAppearance,j=C.removeThumbShape,O=C.removeThumbText,G=C.removeThumbTextWeight,U=C.shape,Q=C.thumbBorderColor,J=C.thumbBorderColorHover,Z=C.thumbBorderType,X=C.thumbBorderWidth,Y=C.thumbColumn,ee=void 0===Y?1:Y,te=C.thumbDirection,re=void 0===te?"vertical":te,ae=C.thumbNameTextColor,ie=C.thumbNameTextSize,oe=C.thumbNameTextWeight,se=C.thumbNameTextWrap;return i(t,{name:o,children:function(t){var o,y=t.input,C=t.meta,Y=ye({fieldProps:m,input:y,meta:C}),te=Y.errorKey,ne=Y.errorMessage,de=Y.isErrorState,ue=Y.isValidState,ce=Te({inputProps:e,validationStateKey:de?te:"success"}),me=pe(y.name,a);return i(le,Object.assign({className:p("form-field_type_dropzone","form__item_type_dropzone",u),dataTestId:me,width:s,label:d,labelTextColor:N,errorKey:te,errorMessage:ne,fieldClassName:"form-dropzone",inputName:y.name,inputValue:(o=y.value,Array.isArray(o)?o.length>0?o:"":null!=o?o:""),metaActive:C.active,metaError:C.error,metaTouched:C.touched,showMessage:b,isErrorState:de,isRequired:v,isValidState:ue},m,{children:i(qe,{className:r,maxFiles:n,maxSize:l,size:z,fill:P,fillHover:w,borderColor:ce.borderColor,borderColorHover:M,borderType:k,borderWidth:B,dropzoneProps:c,errorMessageTextColor:D,errorMessageTextSize:F,errorMessageWeight:A,fileErrorText:f,hintDescription:h,hintDescriptionTextColor:V,hintDescriptionTextSize:E,hintDescriptionTextWeight:q,hintDescriptionTextWrap:K,hintTitle:g,hintTitleTextColor:W,hintTitleTextSize:$,hintTitleTextWeight:R,hintTitleTextWrap:L,inputName:y.name,inputValue:y.value,metaError:C.error,metaTouched:C.touched,removeThumbAppearance:H,removeThumbShape:j,removeThumbText:O,removeThumbTextWeight:G,shape:U,showFilename:T,thumbBorderColor:Q,thumbBorderColorHover:J,thumbBorderType:Z,thumbBorderWidth:X,thumbColumn:ee,thumbDirection:re,thumbNameTextColor:ae,thumbNameTextSize:ie,thumbNameTextWeight:oe,thumbNameTextWrap:se,isPreviews:_,onClickPreview:x,onAddFiles:S,onChange:y.onChange,onDeleteFile:I})}))}})});const je={width:"fill",labelTextSize:"s",messageTextColor:"surfaceTextPrimary",messageTextSize:"s",errorMessageTextColor:"errorTextSecondary",errorMessageTextSize:"s",helpTextSize:"s",requiredMessageTextColor:"warningTextSecondary",requiredMessageTextSize:"s"},Oe=s.memo(function(e){const{className:r,dataTestId:a,dataTour:n,name:l,title:d,titleTextColor:u,titleTextSize:c,titleTextWeight:m,label:f,labelTextColor:h,labelTextSize:T,labelTextWeight:_,message:v,messageTextColor:x,messageTextSize:S,messageTextWeight:I,column:C,showGroupMessage:z,before:P,after:w,isActive:N,isDisabled:M,isHidden:k,children:B}=e,D=y(e),{fillActiveClass:F,fillActiveHoverClass:A,fillClass:V,fillDisabledClass:E,fillHoverClass:q,shapeClass:K}=D,{styles:W}=g(e),R=pe(l,a);return i(t,{name:l,children:function({input:t,meta:a}){const{errorKey:g,errorMessage:y,isErrorState:D}=ye({fieldProps:e,input:t,meta:a}),L=Te({inputProps:e,validationStateKey:D?g:"success"});return o("div",{className:p("form__group",r,k&&"form__group_hidden",M?E&&`fill_${E}`:N?F&&`fill_active_${F}`:V&&`fill_${V}`,M?E&&`fill_${E}`:N?A&&`fill_active_hover_${A}`:q&&`fill_hover_${q}`,K&&`shape_${K}`,C&&`form__group_column_${C}`),"data-testid":R,"data-tour":n,style:W,children:[o("div",{className:"form__group-wrapper",children:[P,d&&i("div",{className:"form__group-title",children:i($,{dataTestId:`${R}Title`,size:c,textColor:u,textWeight:m,children:d})}),f&&i("div",{className:"form__group-label",children:i(b,{dataTestId:`${R}Label`,size:T,textColor:h,textWeight:_,children:f})}),i("div",{className:"form__group-items",children:B}),w]}),z&&o(s.Fragment,{children:[D&&y&&i(b,{className:`form__group-message form__group-message_type-${g}`,dataTestId:`${R}MessageError`,size:L.messageTextSize,textColor:L.messageTextColor,textWeight:L.messageTextWeight,children:y}),Boolean(v)&&(!D||!y)&&i(b,{className:"form__group-message",dataTestId:`${l}GroupMessage`,size:S,textColor:x,textWeight:I,children:v}),!D&&!v&&i(b,{className:"form__group-message",size:S,children:" "})]})]})}})}),Ge={appearance:"defaultPrimary sizeM solid rounded",width:"fill",errorAppearance:"errorPrimary sizeM solid rounded",requiredAppearance:"requirePrimary sizeM solid rounded",successAppearance:"successPrimary sizeM solid rounded"},Ue=s.memo(function(e){const{dataTestId:r,name:a,initialValue:s,classNameGroupItem:n,clearIcon:l,clearIconFill:u,clearIconFillHover:c,clearIconShape:m,clearIconSize:f,fieldProps:h={},inputProps:g={},parse:y,showMessage:T,isDisabled:b,isRequired:_,onClickClearIcon:v,onChange:x}=e;return i(t,{name:a,initialValue:s,parse:y,children:function({input:e,meta:t}){const a=d(t=>{e.onChange(t),x&&x(t.target.value,e.name)},[x,e]),{errorKey:s,errorMessage:y,successKey:S,isErrorState:I,isValidState:C}=ye({fieldProps:h,input:e,meta:t}),z=Te({inputProps:g,validationStateKey:I?s:C?S:null}),P=pe(e.name,r);return o(le,{className:p("form-field_input","form__item_input",n),dataTestId:P,errorKey:s,errorMessage:y,fieldClassName:"form-input",inputName:e.name,inputValue:String(e.value??""),metaActive:t.active,metaError:t.error,showMessage:T,isDisabled:b,isErrorState:I,isRequired:_,isValidState:C,...h,children:[i(R,{className:p(t.active&&"input_state_focus",t.error&&t.touched&&`input_state_${s}`),dataTestId:`${P}Input`,type:"text",name:e.name,autoComplete:"nope",value:String(e.value??""),isDisabled:b,onBlur:e.onBlur,onChange:a,onFocus:e.onFocus,...z}),l&&i(k,{className:"form-field__icon",dataTestId:`${P}InputIcon`,size:f,iconFill:u,iconFillHover:c,imageSrc:"string"==typeof l&&l,shape:m,SvgImage:"string"!=typeof l&&l,onClick:v})]})}})}),Qe={appearance:"defaultPrimary sizeM solid rounded",width:"fill",errorAppearance:"errorPrimary sizeM solid rounded",requiredAppearance:"requirePrimary sizeM solid rounded",successAppearance:"successPrimary sizeM solid rounded"},Je=s.memo(function(e){const{dataTestId:r,name:a,initialValue:o,classNameGroupItem:s,fieldProps:n={},inputProps:l={},inputType:u="custom",parse:c,showMessage:m,isDisabled:f,isRequired:h,onChange:g}=e;return i(t,{name:a,initialValue:o,parse:c,children:function({input:e,meta:t}){const a=d(t=>{e.onChange(t),g&&g(t.target.value)},[g,e.onChange]),{errorKey:o,errorMessage:c,successKey:y,isErrorState:T,isValidState:b}=ye({fieldProps:n,input:e,meta:t}),_=Te({inputProps:l,validationStateKey:T?o:b?y:null}),v=pe(e.name,r);return i(le,{className:p("form-field_input-number","form__item_input-number",s),dataTestId:v,errorKey:o,errorMessage:c,fieldClassName:"form-input-number",inputName:e.name,inputValue:String(e.value??""),metaActive:t.active,metaError:t.error,showMessage:m,isDisabled:f,isErrorState:T,isRequired:h,isValidState:b,...n,children:i(L,{className:p(t.active&&"input_state_focus",(t.submitFailed||t.touched)&&t.error&&`input_state_${o}`),dataTestId:`${v}InputNumber`,type:u,name:e.name,value:Number(e.value)||0,onChange:a,..._})})}})}),Ze={appearance:"defaultPrimary sizeM solid rounded",width:"fill",errorAppearance:"errorPrimary sizeM solid rounded",requiredAppearance:"requirePrimary sizeM solid rounded",successAppearance:"successPrimary sizeM solid rounded"},Xe=s.memo(function(e){const{dataTestId:r,name:a,initialValue:s,classNameGroupItem:l,clearIcon:d,clearIconFill:u,clearIconFillHover:c,clearIconShape:m,clearIconSize:f,fieldProps:h={},inputProps:g={},optionsMask:y,showMessage:T,unmasked:b,isDisabled:_,isRequired:v,onClickClearIcon:x}=e;return i(t,{name:a,initialValue:s,children:function({input:e,meta:t}){const{ref:a,unmaskedValue:S,value:I,setUnmaskedValue:C}=H(y,{defaultValue:s,onAccept:(t,r,a)=>{a&&e.onChange(r._unmaskedValue)}});n(()=>{e.value!==S&&C(e.value.replace(b,""))},[e.value]);const{errorKey:z,errorMessage:P,successKey:w,isErrorState:N,isValidState:M}=ye({fieldProps:h,input:e,meta:t}),B=Te({inputProps:g,validationStateKey:N?z:M?w:null}),D=pe(e.name,r);return o(le,{className:p("form-field-masked-input","form__item_masked-input",l),dataTestId:D,errorKey:z,errorMessage:P,fieldClassName:"form-maskedInput",inputName:e.name,inputValue:String(e.value??b??""),metaActive:t.active,metaError:t.error,showMessage:T,isDisabled:_,isErrorState:N,isRequired:v,isValidState:M,...h,children:[i(R,{className:p(t.active&&"input_state_focus",t.error&&t.touched&&`input_state_${z}`),ref:a,value:I,onBlur:e.onBlur,onFocus:e.onFocus,...B}),d&&i(k,{className:"form-field__icon",size:f,iconFill:u,iconFillHover:c,imageSrc:d,shape:m,SvgImage:d,onClick:x})]})}})}),Ye={appearance:"defaultPrimary sizeM solid rounded",errorAppearance:"errorPrimary sizeM solid rounded",requiredAppearance:"requirePrimary sizeM solid rounded",successAppearance:"successPrimary sizeM solid rounded"},et=s.memo(function(e){const{dataTestId:r,name:a,initialValue:o,classNameGroupItem:s,fieldProps:n,inputProps:l,parse:u,showMessage:c,isDisabled:m,isRequired:f,onChange:h}=e;return i(t,{name:a,initialValue:o,parse:u,children:function({input:e,meta:t}){const a=d(t=>{e.onChange(t),h&&h(t.target.value,e.name)},[h,e.onChange]),{errorKey:o,errorMessage:u,successKey:g,isErrorState:y,isValidState:T}=ye({fieldProps:n,input:e,meta:t}),b=Te({inputProps:l,validationStateKey:y?o:T?g:null}),_=pe(e.name,r);return i(le,{className:p("form-field_input-password","form__item_input-password",s),dataTestId:_,errorKey:o,errorMessage:u,fieldClassName:"form-password",inputName:e.name,inputValue:String(e.value??""),metaActive:t.active,metaError:t.error,showMessage:c,isDisabled:m,isErrorState:y,isRequired:f,isValidState:T,...n,children:i(j,{className:p(t.active&&"input-password_state_focus",t.error&&t.touched&&`input-password_state_${o}`),dataTestId:`${_}InputPassword`,name:e.name,autoComplete:"nope",value:String(e.value??""),isDisabled:m,onBlur:e.onBlur,onChange:a,onFocus:e.onFocus,...b})})}})}),tt={appearance:"defaultPrimary sizeM solid circular",errorAppearance:"errorPrimary sizeM solid circular",requiredAppearance:"requirePrimary sizeM solid circular",successAppearance:"successPrimary sizeM solid circular"};function rt(e){const{input:t,inputProps:r,options:a,onChange:o}=e,n=d(e=>{t.onChange(e),o&&o(e,t.name)},[t,o]),l=d(e=>{e.target.checked&&n(e.target.value)},[o]);return i(s.Fragment,{children:a.map(e=>i(O,{className:"form-radio__item",label:e.label,checked:e.value===t.value,value:e.value,onChange:l,...r},e.value))})}const at=s.memo(function(e){const{dataTestId:r,name:a,classNameGroupItem:o,fieldProps:s={},inputProps:n={},options:l=[],showMessage:d,isDisabled:u,isRequired:c,onChange:m}=e;return i(t,{name:a,children:function({input:e,meta:t}){const{errorKey:a,errorMessage:f,successKey:h,isErrorState:g,isValidState:y}=ye({fieldProps:s,input:e,meta:t}),T=Te({inputProps:n,validationStateKey:g?a:y?h:null}),b=pe(e.name,r);return i(le,{className:p("form-field_radio","form__item_radio",o),dataTestId:b,errorKey:a,errorMessage:f,fieldClassName:"form-radio",inputName:e.name,inputValue:String(e.value??""),metaActive:t.active,metaError:t.error,showMessage:d,isDisabled:u,isErrorState:g,isRequired:c,isValidState:y,...s,children:i(rt,{input:e,inputProps:T,options:l,onChange:m})})}})}),it={appearance:"defaultPrimary sizeM solid rounded",width:"fill",errorAppearance:"errorPrimary sizeM solid rounded",requiredAppearance:"requirePrimary sizeM solid rounded"};function ot(r){const{dataTestId:a,name:o,fieldProps:s,inputProps:n,options:u,showMessage:c,isDisabled:m,isRequired:f}=r,{change:h}=e(),g=d(e=>{h(o,e.value)},[h]);return i(t,{name:o,children:function({input:e,meta:t}){const r=l(()=>{const t={label:null,value:null};if(e.value){return u.find(t=>t.value===e.value)||t}return t},[e.value]),{errorKey:o,errorMessage:d,successKey:h,isErrorState:y,isValidState:T}=ye({fieldProps:s,input:e,meta:t}),b=Te({inputProps:n,validationStateKey:y?o:T?h:null}),_=pe(e.name,a);return i(le,{className:p("form-field_segmented","form__item_segmented"),dataTestId:_,errorKey:o,errorMessage:d,fieldClassName:"form-segmented",inputName:e.name,inputValue:String(e.value??""),metaActive:t.active,metaError:t.error,showMessage:c,isDisabled:m,isErrorState:y,isRequired:f,isValidState:T,...s,children:i(G,{activeSegment:r,segments:u,isDisabled:m,setActiveSegment:g,...b})})}})}const st={appearance:"defaultPrimary sizeM solid rounded",errorAppearance:"errorPrimary sizeM solid rounded",requiredAppearance:"requirePrimary sizeM solid rounded",successAppearance:"successPrimary sizeM solid rounded"};function nt(e){const{options:t,selectValue:r}=e,a=Array.isArray(r)?r:[r];let i=[];return t.forEach(e=>{const t=a.includes(e.value),o=a.includes(e.label);let s=[];e.options&&(s=nt({options:e.options,selectValue:r})),t||o?i.push(e):s.length&&(i=i.concat(s))}),i}const lt=s.memo(function(e){const{dataTestId:r,name:a,initialValue:o,classNameGroupItem:s,fieldProps:c,options:m=[],selectProps:f,selectRef:h,showMessage:g,isDisabled:y,isRequired:T,onChange:b,onInputChange:_}=e;return i(t,{name:a,initialValue:o,children:function({input:e,meta:t}){const[a,o]=u(null),v=l(()=>{const t=nt({options:m,selectValue:e.value});return!t.length&&e.value?.length&&t.push({label:e.label,value:e.value}),t},[e.label,e.value]),x=d(t=>{e.onChange(t),b&&b(t,{name:e.name})},[b,e.onChange]),S=d(e=>{const t=Array.isArray(e)?e.map(e=>e.value):e?.value||null;o(e),x(t)},[x]);n(()=>{o(v)},[v]);const{errorKey:I,errorMessage:C,successKey:z,isErrorState:P,isValidState:w}=ye({fieldProps:c,input:e,meta:t}),N=Te({inputProps:f,validationStateKey:P?I:w?z:null}),M=pe(e.name,r);return i(le,{className:p("form-field_select","form__item_select",s),dataTestId:M,errorKey:I,errorMessage:C,fieldClassName:"form-select",inputName:e.name,inputValue:String(e.value??""),metaActive:t.active,metaError:t.error,showMessage:g,isDisabled:y,isErrorState:P,isRequired:T,isValidState:w,...c,children:i(U,{className:"form-select-item",ref:h,instanceId:`id_${e.name}`,options:m,value:a,isDisabled:y,onChange:S,onInputChange:_,...N})})}})}),dt={appearance:"defaultPrimary sizeL solid rounded",errorAppearance:"errorPrimary sizeL solid rounded",requiredAppearance:"requirePrimary sizeL solid rounded",successAppearance:"successPrimary sizeL solid rounded"},ut=s.memo(function(e){const{dataTestId:r,name:a,classNameGroupItem:o,fieldProps:s={},inputProps:n={},showMessage:l,isDisabled:u,isRequired:c,onChange:m}=e;return i(t,{type:"checkbox",name:a,children:function({input:e,meta:t}){const a=d(t=>{e.onChange(t),m&&m(t.target.checked,e.name)},[m,e.onChange]),{errorKey:f,errorMessage:h,successKey:g,isErrorState:y,isValidState:T}=ye({fieldProps:s,input:e,meta:t}),b=Te({inputProps:n,validationStateKey:y?f:T?g:null}),_=pe(e.name,r);return i(le,{className:p("form-field-switch","form__item_switch",o),dataTestId:_,errorKey:f,errorMessage:h,fieldClassName:"form-switch",inputName:e.name,inputValue:e.checked,metaActive:t.active,metaError:t.error,showMessage:l,tag:"label",isDisabled:u,isErrorState:y,isRequired:c,isValidState:T,...s,children:i(Q,{isActive:e.checked,isDisabled:u,onChange:a,...b})})}})}),ct={appearance:"defaultPrimary sizeM solid rounded",errorAppearance:"errorPrimary sizeM solid rounded",requiredAppearance:"requirePrimary sizeM solid rounded",successAppearance:"successPrimary sizeM solid rounded"},mt=s.memo(function(e){const{dataTestId:r,name:a,classNameGroupItem:o,fieldProps:s={},inputProps:n={},showMessage:l,isDisabled:d,isRequired:u}=e;return i(t,{name:a,children:function({input:e,meta:t}){const{errorKey:a,errorMessage:c,successKey:m,isErrorState:f,isValidState:h}=ye({fieldProps:s,input:e,meta:t}),g=Te({inputProps:n,validationStateKey:f?a:h?m:null}),y=pe(e.name,r);return i(le,{className:p("form-field_textarea","form__item_textarea",o),dataTestId:y,errorKey:a,errorMessage:c,fieldClassName:"form-textarea",inputName:e.name,inputValue:String(e.value??""),metaActive:t.active,metaError:t.error,showMessage:l,isDisabled:d,isErrorState:f,isRequired:u,isValidState:h,...s,children:i(J,{className:p(t.active&&"textarea_state_focus",t.error&&t.touched&&`textarea_state_${a}`),dataTestId:`${y}Textarea`,name:e.name,value:String(e.value??""),isDisabled:d,onBlur:e.onBlur,onChange:e.onChange,onFocus:e.onFocus,...g})})}})});function pt(e,t){switch(e.type){case ft.password:return i(et,{...e,dataTestId:e.dataTestId??t.dataTestId},t.key);case ft.primaryButton:return m(K,{...e,className:"form__button-item",dataTestId:e.dataTestId||"FormPrimaryButton",key:t.key,width:"fill",htmlType:t.primaryButtonHtmlType||"submit",isDisabled:t.primaryButtonIsDisabled,isLoading:t.primaryButtonIsLoading});case ft.secondaryButton:return m(K,{...e,className:"form__button-item",dataTestId:e.dataTestId||"FormSecondaryButton",key:t.key,width:"fill",htmlType:t.secondaryButtonHtmlType,isDisabled:t.secondaryButtonIsDisabled,isLoading:t.secondaryButtonIsLoading,onClick:t.onClickSecondaryButton});case ft.tertiaryButton:return m(K,{...e,className:"form__button-item",dataTestId:e.dataTestId||"FormTertiaryButton",key:t.key,width:"fill",htmlType:t.tertiaryButtonHtmlType,isDisabled:t.tertiaryButtonIsDisabled,isLoading:t.tertiaryButtonIsLoading,onClick:t.onClickTertiaryButton});case ft.checkbox:return i(be,{...e,dataTestId:e.dataTestId??t.dataTestId},t.key);case ft.choice:return i(Se,{...e,dataTestId:e.dataTestId??t.dataTestId},t.key);case ft.code:return i(Ce,{...e,dataTestId:e.dataTestId??t.dataTestId},t.key);case ft.chips:return i(ve,{...e,dataTestId:e.dataTestId??t.dataTestId},t.key);case ft.switch:return i(ut,{...e,dataTestId:e.dataTestId??t.dataTestId},t.key);case ft.segmented:return i(ot,{...e,dataTestId:e.dataTestId??t.dataTestId},t.key);case ft.datePicker:return i(Me,{...e,dataTestId:e.dataTestId??t.dataTestId},t.key);case ft.fileInput:return i(He,{...e,dataTestId:e.dataTestId??t.dataTestId},t.key);case ft.radioGroup:return i(at,{...e,dataTestId:e.dataTestId??t.dataTestId},t.key);case ft.select:return i(lt,{...e,dataTestId:e.dataTestId??t.dataTestId},t.key);case ft.text:return i(Ue,{...e,dataTestId:e.dataTestId??t.dataTestId},t.key);case ft.textarea:return i(mt,{...e,dataTestId:e.dataTestId??t.dataTestId},t.key);case ft.maskedInput:return i(Xe,{...e,dataTestId:e.dataTestId??t.dataTestId},t.key);case ft.custom:return i(ze,{...e,dataTestId:e.dataTestId??t.dataTestId},t.key);case ft.dadataInput:return i(we,{...e,dataTestId:e.dataTestId??t.dataTestId},t.key);case ft.inputNumber:return i(Je,{...e,dataTestId:e.dataTestId??t.dataTestId},t.key);case ft.group:return i(Oe,{...e,dataTestId:e.dataTestId??t.dataTestId,children:Object.entries(e.group).map(([r,a])=>{const i={...a,classNameGroupItem:a.classNameGroupItem||"form__group-item",showMessage:e.showMessage};return pt(i,{...t,dataTestId:i.dataTestId??t.dataTestId,key:r+"_form_group"})})},t.key)}}const ft={secondaryButton:"secondaryButton",primaryButton:"primaryButton",tertiaryButton:"tertiaryButton",checkbox:"checkbox",chips:"chips",choice:"choice",code:"code",custom:"custom",dadataInput:"dadataInput",datePicker:"datePicker",dateRangePicker:"dateRangePicker",fileInput:"fileInput",group:"group",inputNumber:"inputNumber",maskedInput:"maskedInput",password:"password",radioGroup:"radioGroup",segmented:"segmented",select:"select",switch:"switch",text:"text",textarea:"textarea"},ht=s.forwardRef(function(e,t){const{className:n,dataTestId:l,dataTour:u,type:c,initialValues:m,initialValuesEqual:f,config:h,validationSchema:T,title:_,desc:v,buttonGap:x,dataTestIdButtons:S,dataTestIdPrimaryButton:I,dataTestIdSecondaryButton:C,dataTestIdTertiaryButton:z,dataTourButtons:P,dataTourPrimaryButton:w,dataTourSecondaryButton:N,dataTourTertiaryButton:M,disableFieldsAutoComplete:k=!1,fieldsGap:B,groupGap:D,language:F,mutators:A,notificationCloseButton:V,notificationType:E,primaryButton:q,renderFieldsWrapper:R=e=>e,secondaryButton:L,tertiaryButton:H,before:j,after:O,isLoading:G,onClickSecondaryButton:U,onClickTertiaryButton:Q,onChangeFormValues:J,onSubmit:Y}=e,ee=h.fields||h,te=h.title||h.form?.title,re=h.form?.dataTestId||l,ae=ge(T,F),ie=d(e=>{t&&"object"==typeof t&&(t.current=e)},[t]),oe=y(e),{directionClass:se="vertical",fillClass:ne,titleFill:le,titlePosition:de,titleTextColor:ce,titleTextSize:me,titleTextWeight:pe,descSize:fe,descTextColor:he,descTextWeight:ye,buttonDirection:Te="vertical",buttonFill:be,buttonJustifyContent:_e,buttonPadding:ve,buttonPosition:xe,elevationClass:Se,heightClass:Ie,loader:Ce,loaderAppearance:ze,loaderFill:Pe="surfacePrimary",loaderItemFill:we="accentItemSecondary",loaderShape:Ne,loaderSize:Me="l",loaderText:ke,loaderType:Be="dot",primaryButtonAppearance:De,primaryButtonFill:Fe,primaryButtonFillHover:Ae,primaryButtonHtmlType:Ve,primaryButtonIsDisabled:Ee,primaryButtonIsLoading:qe,primaryButtonLabel:Ke,primaryButtonLabelSize:We,primaryButtonLabelTextColor:$e,primaryButtonLabelTextWeight:Re,primaryButtonSize:Le,secondaryButtonAppearance:He,secondaryButtonFill:je,secondaryButtonFillHover:Oe,secondaryButtonHtmlType:Ge,secondaryButtonIsDisabled:Ue,secondaryButtonIsLoading:Qe,secondaryButtonLabel:Je,secondaryButtonLabelSize:Ze,secondaryButtonLabelTextColor:Xe,secondaryButtonLabelTextWeight:Ye,secondaryButtonSize:et,shapeClass:tt,tertiaryButtonAppearance:rt,tertiaryButtonFill:at,tertiaryButtonFillHover:it,tertiaryButtonHtmlType:ot,tertiaryButtonIsDisabled:st,tertiaryButtonIsLoading:nt,tertiaryButtonLabel:lt,tertiaryButtonLabelSize:dt,tertiaryButtonLabelTextColor:ut,tertiaryButtonLabelTextWeight:ct,tertiaryButtonSize:mt,widthClass:ft}=oe,{styles:ht,wrapper:gt}=g(e);return i(r,{initialValues:m,initialValuesEqual:f,render:({form:e,handleSubmit:t,modifiedSinceLastSubmit:r,submitError:d})=>o("form",{className:p(n,"form",c&&`form_type_${c}`,ft&&`width_${ft}`,Ie&&`height_${Ie}`,de&&`form_title-position_${de}`,xe&&`form_button-position_${xe}`,ne&&`fill_${ne}`,tt&&`shape_${tt}`,Se&&`elevation_${Se}`),ref:()=>ie(e),autoCapitalize:k?"off":void 0,autoComplete:k?"off":void 0,autoCorrect:k?"off":void 0,"data-testid":re||l&&`${l}Form`||"Form","data-tour":u,spellCheck:k?"false":void 0,style:ht,onSubmit:t,children:[j,(_||te)&&i($,{className:"form__title",dataTestId:re?`${re}Title`:"FormTitle",size:me,fill:le,textColor:ce,textWeight:pe,children:_||te}),v&&i(b,{className:"form__desc",size:fe,textColor:he,textWeight:ye,"data-testid":l?`${l}Desc`:"FormDesc",children:v}),d&&!r&&i("div",{className:p("notification","form-notification",E?`form-notification_${E}`:"form-notification_global"),children:i(X,{appearance:"errorPrimary sizeS solid rounded",dataTestId:h.form?.dataTestId?`${h.form.dataTestId}Notification`:"FormNotification",type:"global",status:"error",text:e.getState().submitError,closeIcon:V})}),J&&i(a,{subscription:{values:!0},onChange:J}),Boolean(ee&&Object.keys(ee).length)&&i(s.Fragment,{children:R(o(Z,{className:"form__wrapper",direction:"vertical",gap:B||D,style:gt,children:[Object.keys(ee).map(e=>pt(ee[e],{dataTestId:l||h.form?.dataTestId,key:e})),G&&(Ce||i(W,{appearance:ze,className:"form__loader",dataTestId:h.form?.dataTestId?`${h.form.dataTestId}Loader`:"FormLoader",type:Be,size:Me,fill:Pe,text:ke,itemFill:we,shape:Ne}))]}))}),h.buttons?i(Z,{className:"form__button",dataTestId:S||`${l}Buttons`,dataTour:P,direction:Te,justifyContent:_e,fill:be,padding:ve,gap:x,children:Object.keys(h.buttons).map(e=>pt(h.buttons[e],{dataTestId:l,key:e,primaryButtonHtmlType:Ve,primaryButtonIsDisabled:Ee,primaryButtonIsLoading:qe,secondaryButtonHtmlType:Ge,secondaryButtonIsDisabled:Ue,secondaryButtonIsLoading:Qe,tertiaryButtonHtmlType:ot,tertiaryButtonIsDisabled:st,tertiaryButtonIsLoading:nt,onClickSecondaryButton:U,onClickTertiaryButton:Q}))}):(Ke||q||Je||L||H||lt)&&o(Z,{className:"form__button",dataTestId:S||`${l}Buttons`,dataTour:P,direction:Te,justifyContent:_e,fill:be,padding:ve,gap:x,children:[Ke?i(K,{appearance:De,className:"form__button-item",dataTestId:I||l&&`${l}PrimaryButton`||"FormPrimaryButton",dataTour:w,width:"fill",size:Le,fill:Fe,fillHover:Ae,label:Ke,labelTextColor:$e,labelTextSize:We,labelTextWeight:Re,htmlType:Ve||"submit",isDisabled:Ee,isLoading:qe}):q,Je?i(K,{appearance:He,className:"form__button-item",dataTestId:C||l&&`${l}SecondaryButton`||"FormSecondaryButton",dataTour:N,width:"fill",size:et,fill:je,fillHover:Oe,label:Je,labelTextColor:Xe,labelTextSize:Ze,labelTextWeight:Ye,htmlType:Ge,isDisabled:Ue,isLoading:Qe,onClick:U}):L,lt?i(K,{appearance:rt,className:"form__button-item",dataTestId:z||l&&`${l}TertiaryButton`||"FormTertiaryButton",dataTour:M,width:"fill",size:mt,fill:at,fillHover:it,label:lt,labelTextColor:ut,labelTextSize:dt,labelTextWeight:ct,htmlType:ot,isDisabled:st,isLoading:nt,onClick:Q}):H]}),O]}),decorators:[ue],mutators:A,subscription:{modifiedSinceLastSubmit:!0,pristine:!0,submitError:!0,submitting:!0},validate:ae,onSubmit:Y})}),gt=e=>{const t=e.slice(0,10).replace(/,/g,".").replace(/[^\d.]/g,""),r=parseFloat(t);return r||0===r?t.endsWith(".")&&(t.match(/\./g)||[]).length>1?t.slice(0,-1):t:""},yt=e=>{const t={},r=e.response?.data||e;if(r)if("string"==typeof r)t[v]="Во время обработки запроса произошла ошибка, попробуйте повторить запрос";else for(const e in r){t["non_field_errors"===e||"detail"===e?v:e]=A(r[e])[0]}else t[v]=e.message||"Произошла ошибка";return t},Tt=e=>!e||Y(e,"RU"),bt=e=>{if(!e)return!0;return/^[a-za-яёЁ0-9_-]+(?:\.[a-za-яёЁ0-9_-]+)*@(?:[a-za-яёЁ0-9](?:[a-za-яёЁ0-9-]*[a-za-яёЁ0-9])?\.)+[a-za-яёЁ0-9]+$/.test(String(e).toLowerCase())},_t=e=>{const t=e instanceof Date?e:new Date(e);return!isNaN(t.getTime())},vt=e=>{const t=Object.entries(e.fields);return e.requiredFields=t.reduce((e,[t,r])=>(r.exclusiveTests?.required&&e.push(t),e),[]),e};export{ee as DEFAULT_MESSAGES_FIELDS,le as FieldWrapper,ne as FieldWrapperBase,ht as FinalForm,be as FormFieldCheckbox,ve as FormFieldChips,Se as FormFieldChoice,Ce as FormFieldCode,ze as FormFieldCustom,we as FormFieldDadataInput,Me as FormFieldDatePicker,He as FormFieldFileInput,Ue as FormFieldInput,Je as FormFieldInputNumber,Xe as FormFieldMaskedInput,et as FormFieldPassword,at as FormFieldRadioGroup,ot as FormFieldSegmented,lt as FormFieldSelect,ut as FormFieldSwitch,mt as FormFieldTextarea,Oe as FormGroup,vt as addRequiredFieldsParamToSchema,pe as createDataTestIdField,_t as dateValidation,te as defaultCheckboxProps,_e as defaultChipsProps,xe as defaultChoiceProps,Ie as defaultCodeProps,Pe as defaultDadataInputProps,Ne as defaultDatepickerProps,ke as defaultDropzoneProps,re as defaultFieldProps,oe as defaultFieldSizeL,ie as defaultFieldSizeM,ae as defaultFieldSizeS,se as defaultFieldSizeXL,je as defaultGroupProps,Qe as defaultInputNumberProps,Ge as defaultInputProps,Ze as defaultMaskedInputProps,Ye as defaultPasswordProps,tt as defaultRadioProps,it as defaultSegmentedProps,st as defaultSelectProps,dt as defaultSwitchProps,ct as defaultTextareaProps,bt as emailValidation,de as focusOnError,ue as focusOnErrorDecorator,ft as formTypes,pt as generateField,yt as getErrorsForFinalForm,gt as parseNumericField,Tt as phoneValidation,me as sendFormDataToServer,ce as setErrorsMutator,ge as useYupValidationSchema};
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@itcase/forms",
|
|
3
|
-
"version": "1.1.
|
|
3
|
+
"version": "1.1.88",
|
|
4
4
|
"description": "Forms fields, inputs, etc.",
|
|
5
5
|
"keywords": [],
|
|
6
6
|
"license": "MIT",
|
|
@@ -39,12 +39,12 @@
|
|
|
39
39
|
"@itcase/common": "^1.2.43",
|
|
40
40
|
"@itcase/config": "^1.6.58",
|
|
41
41
|
"@itcase/icons": "^1.2.29",
|
|
42
|
-
"@itcase/storybook-config": "^1.2.
|
|
42
|
+
"@itcase/storybook-config": "^1.2.68",
|
|
43
43
|
"@itcase/tokens-am": "^1.1.57",
|
|
44
44
|
"@itcase/tokens-baikal": "^1.1.54",
|
|
45
45
|
"@itcase/tokens-palette": "^1.1.50",
|
|
46
|
-
"@itcase/ui-core": "^1.10.
|
|
47
|
-
"@itcase/ui-web": "^1.10.
|
|
46
|
+
"@itcase/ui-core": "^1.10.2",
|
|
47
|
+
"@itcase/ui-web": "^1.10.4",
|
|
48
48
|
"axios": "^1.16.1",
|
|
49
49
|
"clsx": "^2.1.1",
|
|
50
50
|
"final-form": "4.20.10",
|
|
@@ -62,12 +62,12 @@
|
|
|
62
62
|
"react-select": "^5.10.2"
|
|
63
63
|
},
|
|
64
64
|
"devDependencies": {
|
|
65
|
-
"@babel/core": "^7.29.
|
|
66
|
-
"@babel/preset-env": "^7.29.
|
|
67
|
-
"@babel/preset-react": "^7.
|
|
65
|
+
"@babel/core": "^7.29.7",
|
|
66
|
+
"@babel/preset-env": "^7.29.7",
|
|
67
|
+
"@babel/preset-react": "^7.29.7",
|
|
68
68
|
"@commitlint/cli": "^21.0.1",
|
|
69
69
|
"@commitlint/config-conventional": "^21.0.1",
|
|
70
|
-
"@itcase/lint": "^1.1.
|
|
70
|
+
"@itcase/lint": "^1.1.116",
|
|
71
71
|
"@itcase/types-core": "^1.1.74",
|
|
72
72
|
"@itcase/types-ui": "^1.1.79",
|
|
73
73
|
"@rollup/plugin-babel": "^7.0.0",
|