@itcase/forms 1.1.91 → 1.1.93

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.
@@ -1,6 +1,6 @@
1
1
  import { AxiosError } from 'axios';
2
2
  import { FocusableInput } from 'final-form-focus';
3
- import { useForm, useFormState } from 'react-final-form';
3
+ import { useField, useForm, useFormState } from 'react-final-form';
4
4
  declare const focusOnError: (formElementsList: FocusableInput[], errors: object) => any;
5
5
  declare const focusOnErrorDecorator: import("final-form").Decorator<object, object>;
6
6
  declare const setErrorsMutator: (args: [string, {
@@ -19,4 +19,4 @@ declare const sendFormDataToServer: (url: string, data: unknown) => Promise<{
19
19
  response?: undefined;
20
20
  }>;
21
21
  declare const createDataTestIdField: (fieldname: string, dataTestId?: string) => string;
22
- export { createDataTestIdField, focusOnError, focusOnErrorDecorator, sendFormDataToServer, setErrorsMutator, useForm, useFormState, };
22
+ export { createDataTestIdField, focusOnError, focusOnErrorDecorator, sendFormDataToServer, setErrorsMutator, useField, useForm, useFormState, };
@@ -1 +1 @@
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"),g=require("@itcase/ui-web/components/Code"),h=require("@itcase/ui-web/components/Icon"),y=require("@itcase/ui-web/components/Dadata"),x=require("@itcase/ui-web/components/DatePicker"),_=require("lodash/castArray"),T=require("@itcase/ui-web/components/Dropzone"),b=require("@itcase/ui-web/components/Title"),S=require("@itcase/ui-web/components/Input"),v=require("@itcase/ui-web/components/InputNumber"),I=require("react-imask"),C=require("@itcase/ui-web/components/InputPassword"),P=require("@itcase/ui-web/components/Radio"),M=require("@itcase/ui-web/components/Segmented"),F=require("@itcase/ui-web/components/Select"),z=require("@itcase/ui-web/components/Switch"),w=require("@itcase/ui-web/components/Textarea"),k=require("@itcase/ui-web/components/Button"),N=require("@itcase/ui-web/components/Group"),j=require("@itcase/ui-web/components/Loader"),q=require("@itcase/ui-web/components/Notification"),B=require("libphonenumber-js");function D(e){return e&&e.__esModule?e:{default:e}}var E=D(r),V=D(a),A=D(l),$=D(u),K=D(c),R=D(m),L=D(_);const O={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-адрес"}},G={width:"fill",direction:"vertical",labelTextColor:"surfaceTextPrimary",messageTextColor:"surfaceTextSecondary",dividerFill:"errorPrimary",errorMessageTextColor:"errorTextSecondary",helpTextColor:"surfaceTextQuaternary",requiredMessageTextColor:"warningTextSecondary",showMessage:!0},W={size:"s",labelTextSize:"s",messageTextSize:"s",errorMessageTextSize:"s",helpTextSize:"s",requiredMessageTextSize:"s",...G},H={size:"m",labelTextSize:"s",messageTextSize:"s",errorMessageTextSize:"s",helpTextSize:"s",requiredMessageTextSize:"s",...G},U={size:"l",labelTextSize:"s",messageTextSize:"s",errorMessageTextSize:"s",helpTextSize:"s",requiredMessageTextSize:"s",...G},J={size:"xl",labelTextSize:"s",messageTextSize:"s",errorMessageTextSize:"s",helpTextSize:"s",requiredMessageTextSize:"s",...G};function Q(e){const{className:a,dataTestId:s,dataTour:l,type:d,label:u,labelHidden:c,labelTextColor:m,labelTextSize:p,labelTextWeight:f,messageTextSize:g,desc:h,descTextColor:y,descTextSize:x,descTextWeight:_,afterItem:T,beforeItem:b,dividerDirection:S,dividerFill:v,dividerSize:I,dividerWidth:C,errorKey:P,errorMessage:M,fieldClassName:F,helpText:z,helpTextColor:w,helpTextColorSuccess:k,helpTextSize:N,helpTextWeight:j,inputName:q,inputValue:B,metaActive:D,metaError:E,showDivider:A,showMessage:$,tag:K="div",before:R,after:L,isDisabled:O,isErrorState:G,isHidden:W,isRequired:H,isValidState:U,children:J}=e,Q=r.useMemo(()=>V.default(a,U&&"form__item_state_success",H&&"form__item_state_required",O&&"form__item_state_disabled",D&&"form__item_state_focus",B&&"form__item_state_filled",G&&`form__item_state_${P}`),[a,G,U,H,D,B,O,E]),X=r.useMemo(()=>V.default(F,U&&`${F}_state_success`,D&&`${F}_state_focus`,B&&`${F}_state_filled`,O&&`${F}_state_disabled`,G&&`${F}_state_${P}`),[F,G,U,D,B,O,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||`${q}Field`}Message`;return t.jsxs(K,{className:V.default(Q,"form__item","form-field",d?`form-field_type_${d}`:"form-field_type_classic",Y,Z,te,O&&"form-field_state_disabled",W&&"form-field_state_hidden",ae,se),"data-testid":s,"data-tour":l,style:ie,children:[R,(u||c)&&t.jsx("div",{className:V.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&&" "]})}),h&&t.jsx("div",{className:V.default("form-field__desc",`text_size_${x}`),"data-testid":`${s}Desc`,children:t.jsx(n.Text,{size:x,textColor:y,textWeight:_,children:h})}),t.jsxs("div",{className:V.default("form-field__content",ee,re),children:[t.jsxs("div",{className:V.default("form-field__content-inner",X),children:[b,J,T]}),A&&t.jsx(o.Divider,{className:"form-field__item-divider",width:C,direction:S,size:I,fill:v})]}),$&&t.jsxs("div",{className:V.default("form-field__message",`text_size_${oe||N||g}`),"data-testid":de,children:[G&&M&&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:M}),Boolean(z)&&(!G||!M)&&t.jsx(n.Text,{className:"form-field__message-item form-field__message-item_type_help-text",dataTestId:`${s}MessageHelpText`,size:N,textColor:U?k:w,textWeight:j,children:z}),(!G&&!z||G&&!z&&!M)&&t.jsx(n.Text,{className:"form-field__message-item form-field__message-item_type_help-text",dataTestId:`${s}MessageHelpText`,size:g,children:" "})]}),L]})}function X(a){const{inputName:s}=a,{change:i}=e.useForm();return r.useEffect(()=>()=>{i(s,void 0)},[]),t.jsx(Q,{...a})}const Y=(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"})},Z=$.default(void 0,Y),ee=(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"},te=(e,t)=>d.setIn(e,t.path,t.message),re=Object.create(null);function ae(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(te,re);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 se(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 ie(e){const{inputProps:t,validationStateKey:a}=e;return r.useMemo(()=>{const e={};return a?(Object.entries(t||{}).forEach(([t,r])=>{const s=R.default(t);if(s.startsWith(`${a}_`)){const t=s.replace(`${a}_`,""),i=K.default(t);e[i]=r}else e[t]||(e[t]=r)}),e):t},[a,t])}const oe=E.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:g,successKey:h,isErrorState:y,isValidState:x}=se({fieldProps:d,input:e,meta:a}),_=ie({inputProps:u,validationStateKey:y?n:x?h:null}),T=ee(e.name,i);return t.jsx(X,{className:V.default("form-field-checkbox","form__item_checkbox",l),dataTestId:T,errorKey:n,errorMessage:g,fieldClassName:"form-checkbox",inputName:e.name,inputValue:e.checked,metaActive:a.active,metaError:a.error,showMessage:c,tag:"label",isDisabled:m,isErrorState:y,isRequired:p,isValidState:x,...d,children:t.jsx(s.Checkbox,{checked:e.checked,isActive:e.checked,isDisabled:m,onBlur:e.onBlur,onChange:o,onFocus:e.onFocus,..._})})}})});function ne(a){const{dataTestId:s,name:i,initialValue:o,classNameGroupItem:l,emptyMessage:d,emptyMessageTextColor:u,emptyMessageTextSize:c,fieldProps:m,inputProps:f,options:g,showMessage:h,isDisabled:y,isRequired:x,onChange:_}=a,{change:T}=e.useForm(),b=r.useCallback((e,t)=>{const r=e.includes(t)?e.filter(e=>e!==t):[...e,t];T(i,r),_&&_(r)},[T,i,_]);return r.useEffect(()=>{o&&T(i,o)},[o]),t.jsx(e.Field,{name:i,initialValue:o,children:function({input:e,meta:a}){const{errorKey:i,errorMessage:o,successKey:_,isErrorState:T,isValidState:S}=se({fieldProps:m,input:e,meta:a}),v=ie({inputProps:f,validationStateKey:T?i:S?_:null}),I=r.useMemo(()=>{const t=[{label:null,value:null}];if(e?.value){return g.filter(t=>e.value?.includes(t.value))||t}return t},[e.value]),C=ee(e.name,s);return t.jsx(X,{className:V.default("form-field_chips","form__item_chips",l),dataTestId:C,errorKey:i,errorMessage:o,fieldClassName:"form-chips",inputName:e.name,inputValue:String(e.value??""),metaActive:a.active,metaError:a.error,showMessage:h,isDisabled:y,isErrorState:T,isRequired:x,isValidState:S,...m,children:g?.length?t.jsx(p.ChipsGroup,{direction:"horizontal",gap:"1m",wrap:"wrap",children:g.map(r=>t.jsx(p.Chips,{className:V.default(a.active&&"form-chips_state_focus",a.error&&a.touched&&`form-chips_state_${i}`),label:r.label,isActive:I.some(e=>e.value===r.value),isDisabled:r.isDisabled,onClick:()=>b(e.value,r.value),...v},r.value))}):t.jsx(n.Text,{size:c,textColor:u,children:d})})}})}const le=E.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:g,isRequired:h,onChange:y}=a,{change:x}=e.useForm(),_=r.useCallback((e,t)=>{x(i,t&&e.value),y&&y(e.value,i,t)},[x,y]);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:y,successKey:x,isErrorState:T,isValidState:b}=se({fieldProps:d,input:e,meta:a}),S=ie({inputProps:u,validationStateKey:T?o:b?x:null}),v=ee(e.name,s);return t.jsx(X,{className:V.default("form-field_choice","form__item_choice",l),dataTestId:v,label:n,errorKey:o,errorMessage:y,fieldClassName:"form-choice",inputName:e.name,inputValue:String(e.value??""),metaActive:a.active,metaError:a.error,showMessage:m,isDisabled:p,isErrorState:T,isRequired:h,isValidState:b,...d,children:t.jsx(f.Choice,{className:V.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:g,setActiveSegment:_,...S})})}})}),de=E.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,type:p,...f}=r,h={...f,...d};return t.jsx(e.Field,{name:s,initialValue:i,children:function({input:e,meta:r}){const{errorKey:s,errorMessage:i,successKey:d,isErrorState:p,isValidState:f}=se({fieldProps:l,input:e,meta:r}),y=ie({inputProps:h,validationStateKey:p?s:f?d:null}),x=ee(e.name,a);return t.jsx(X,{className:V.default("form-field-code","form__item_code",n),dataTestId:x,label:o,errorKey:s,errorMessage:i,fieldClassName:"form-code",inputName:e.name,inputValue:String(e.value??""),metaActive:r.active,metaError:r.error,showMessage:u,isDisabled:c,isErrorState:p,isRequired:m,isValidState:f,...l,children:t.jsx(g.Code,{initialValue:e.value,isDisabled:c,onBlur:e.onBlur,onChange:e.onChange,onFocus:e.onFocus,...y})})}})}),ue=E.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:g,isRequired:y,onClickClearIcon:x}=r;return t.jsx(e.Field,{name:s,initialValue:i,children:function({input:e,meta:s}){const{errorKey:i,errorMessage:_,isErrorState:T,isValidState:b}=se({fieldProps:p,input:e,meta:s}),S=ie({inputProps:r,validationStateKey:T?i:"success"}),v=ee(e.name,a);return t.jsxs(X,{className:V.default("form-field_custom","form__item_custom",o),dataTestId:v,errorKey:i,errorMessage:_,fieldClassName:"form-custom",inputName:e.name,inputValue:String(e.value??""),metaActive:s.active,metaError:s.error,showMessage:f,isDisabled:g,isErrorState:T,isRequired:y,isValidState:b,...p,children:[t.jsx(m,{...S,input:e,meta:s,isDisabled:g}),n&&t.jsx(h.Icon,{className:"form-field__icon",size:c,iconFill:l,iconFillHover:d,imageSrc:n,shape:u,SvgImage:n,onClick:x})]})}})}),ce=E.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:g,isValidState:h}=se({fieldProps:n,input:e,meta:r}),x=ie({inputProps:l,validationStateKey:g?s:h?d:null}),_=ee(e.name,a);return t.jsx(X,{className:V.default("form-field_input-dadata","form__item_input-dadata",o),dataTestId:_,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:g,isRequired:p,isValidState:h,...n,children:t.jsx(y.Dadata,{dataTestId:`${_}Input`,input:e,inputProps:x,meta:r,token:c,setValue:f})})}})});function me(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:g,successKey:h,isErrorState:y,isValidState:_}=se({fieldProps:l,input:e,meta:a}),T=ie({inputProps:d,validationStateKey:y?f:_?h:null}),b=ee(e.name,s);return t.jsx(X,{className:V.default("form-field_datepicker","form__item_datepicker",o),dataTestId:b,errorKey:f,errorMessage:g,fieldClassName:"form-datepicker",inputName:e.name,inputValue:String(e.value??""),metaActive:a.active,metaError:a.error,showMessage:u,isDisabled:c,isErrorState:y,isRequired:m,isValidState:_,...l,children:t.jsx(x.DatePickerInput,{name:e.name,datePickerProps:n,endValue:n?.selectsRange?e.value.endDate:null,inputProps:T,value:n?.selectsRange?e.value.startDate:e.value,onBlur:e.onBlur,onChange:i,onFocus:e.onFocus})})}})}var pe=["dataTestId","type","name","width","maxFiles","label","classNameGroupItem","dropzoneProps","fieldProps","inputProps","showMessage","isDisabled","isRequired","onClickPreview","onAddFiles","onDeleteFile"];var fe=E.default.memo(function(a){var s=a.dataTestId;a.type;var i=a.name,o=a.width,n=a.maxFiles,l=a.label,d=a.classNameGroupItem,u=a.dropzoneProps,c=a.fieldProps,m=void 0===c?{}:c,p=a.inputProps,f=void 0===p?{}:p,g=a.showMessage,h=a.isDisabled,y=a.isRequired,x=a.onClickPreview,_=a.onAddFiles,b=a.onDeleteFile,S=function(e,t){if(null==e)return{};var r={};for(var a in e)if({}.hasOwnProperty.call(e,a)){if(-1!==t.indexOf(a))continue;r[a]=e[a]}return r}(a,pe),v=Object.assign({},S,f);return t.jsx(e.Field,{name:i,children:function(e){var a,i,c,p=e.input,f=e.meta,S=se({fieldProps:m,input:p,meta:f}),I=S.errorKey,C=S.errorMessage,P=S.successKey,M=S.isErrorState,F=S.isValidState,z=ie({inputProps:v,validationStateKey:M?I:F?P:null}),w=null!=(a=null!=(i=null==u?void 0:u.maxFiles)?i:n)?a:5,k=r.useCallback(function(e){p.onChange(1===w?e[0]:e)},[p,w]),N=r.useMemo(function(){return null==p.value||""===p.value?[]:L.default(p.value)},[p.value]),j=ee(p.name,s);return t.jsx(X,Object.assign({className:V.default("form-field_type_dropzone","form__item_type_dropzone",d),dataTestId:j,width:o,label:l,errorKey:I,errorMessage:C,fieldClassName:"form-dropzone",inputName:p.name,inputValue:(c=p.value,Array.isArray(c)?c.length>0?c:"":null!=c?c:""),metaActive:f.active,metaError:f.error,showMessage:g,isDisabled:h,isErrorState:M,isRequired:y,isValidState:F},m,{children:t.jsx(T.Dropzone,Object.assign({},z,{maxFiles:n,dropzoneProps:u,fieldValuesList:N,inputName:p.name,onClickPreview:x,onAddFiles:_,onChangeFiles:k,onDeleteFile:b}))}))}})});const ge=E.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:g,labelTextWeight:h,message:y,messageTextColor:x,messageTextSize:_,messageTextWeight:T,column:S,showGroupMessage:v,before:I,after:C,isActive:P,isDisabled:M,isHidden:F,children:z}=r,w=i.useDevicePropsGenerator(r),{fillActiveClass:k,fillActiveHoverClass:N,fillClass:j,fillDisabledClass:q,fillHoverClass:B,shapeClass:D}=w,{styles:A}=i.useStyles(r),$=ee(l,s);return t.jsx(e.Field,{name:l,children:function({input:e,meta:s}){const{errorKey:i,errorMessage:w,isErrorState:K}=se({fieldProps:r,input:e,meta:s}),R=ie({inputProps:r,validationStateKey:K?i:"success"});return t.jsxs("div",{className:V.default("form__group",a,F&&"form__group_hidden",M?q&&`fill_${q}`:P?k&&`fill_active_${k}`:j&&`fill_${j}`,M?q&&`fill_${q}`:P?N&&`fill_active_hover_${N}`:B&&`fill_hover_${B}`,D&&`shape_${D}`,S&&`form__group_column_${S}`),"data-testid":$,"data-tour":o,style:A,children:[t.jsxs("div",{className:"form__group-wrapper",children:[I,d&&t.jsx("div",{className:"form__group-title",children:t.jsx(b.Title,{dataTestId:`${$}Title`,size:c,textColor:u,textWeight:m,children:d})}),p&&t.jsx("div",{className:"form__group-label",children:t.jsx(n.Text,{dataTestId:`${$}Label`,size:g,textColor:f,textWeight:h,children:p})}),t.jsx("div",{className:"form__group-items",children:z}),C]}),v&&t.jsxs(E.default.Fragment,{children:[K&&w&&t.jsx(n.Text,{className:`form__group-message form__group-message_type-${i}`,dataTestId:`${$}MessageError`,size:R.messageTextSize,textColor:R.messageTextColor,textWeight:R.messageTextWeight,children:w}),Boolean(y)&&(!K||!w)&&t.jsx(n.Text,{className:"form__group-message",dataTestId:`${l}GroupMessage`,size:_,textColor:x,textWeight:T,children:y}),!K&&!y&&t.jsx(n.Text,{className:"form__group-message",size:_,children:" "})]})]})}})}),he=E.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:g,showMessage:y,isDisabled:x,isRequired:_,onClickClearIcon:T,onChange:b}=a;return t.jsx(e.Field,{name:i,initialValue:o,parse:g,children:function({input:e,meta:a}){const i=r.useCallback(t=>{e.onChange(t),b&&b(t.target.value,e.name)},[b,e]),{errorKey:o,errorMessage:g,successKey:v,isErrorState:I,isValidState:C}=se({fieldProps:p,input:e,meta:a}),P=ie({inputProps:f,validationStateKey:I?o:C?v:null}),M=ee(e.name,s);return t.jsxs(X,{className:V.default("form-field_input","form__item_input",n),dataTestId:M,errorKey:o,errorMessage:g,fieldClassName:"form-input",inputName:e.name,inputValue:String(e.value??""),metaActive:a.active,metaError:a.error,showMessage:y,isDisabled:x,isErrorState:I,isRequired:_,isValidState:C,...p,children:[t.jsx(S.Input,{className:V.default(a.active&&"input_state_focus",a.error&&a.touched&&`input_state_${o}`),dataTestId:`${M}Input`,type:"text",name:e.name,autoComplete:"nope",value:String(e.value??""),isDisabled:x,onBlur:e.onBlur,onChange:i,onFocus:e.onFocus,...P}),l&&t.jsx(h.Icon,{className:"form-field__icon",dataTestId:`${M}InputIcon`,size:m,iconFill:d,iconFillHover:u,imageSrc:"string"==typeof l&&l,shape:c,SvgImage:"string"!=typeof l&&l,onClick:T})]})}})}),ye=E.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:g}=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),g&&g(t.target.value)},[g,e.onChange]),{errorKey:o,errorMessage:c,successKey:h,isErrorState:y,isValidState:x}=se({fieldProps:l,input:e,meta:a}),_=ie({inputProps:d,validationStateKey:y?o:x?h:null}),T=ee(e.name,s);return t.jsx(X,{className:V.default("form-field_input-number","form__item_input-number",n),dataTestId:T,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:y,isRequired:f,isValidState:x,...l,children:t.jsx(v.InputNumber,{className:V.default(a.active&&"input_state_focus",(a.submitFailed||a.touched)&&a.error&&`input_state_${o}`),dataTestId:`${T}InputNumber`,type:u,name:e.name,value:Number(e.value)||0,onChange:i,..._})})}})}),xe=E.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:g,showMessage:y,unmasked:x,isDisabled:_,isRequired:T,onClickClearIcon:b}=a;return t.jsx(e.Field,{name:i,initialValue:o,children:function({input:e,meta:a}){const{ref:i,unmaskedValue:v,value:C,setUnmaskedValue:P}=I.useIMask(g,{defaultValue:o,onAccept:(t,r,a)=>{a&&e.onChange(r._unmaskedValue)}});r.useEffect(()=>{e.value!==v&&P(e.value.replace(x,""))},[e.value]);const{errorKey:M,errorMessage:F,successKey:z,isErrorState:w,isValidState:k}=se({fieldProps:p,input:e,meta:a}),N=ie({inputProps:f,validationStateKey:w?M:k?z:null}),j=ee(e.name,s);return t.jsxs(X,{className:V.default("form-field-masked-input","form__item_masked-input",n),dataTestId:j,errorKey:M,errorMessage:F,fieldClassName:"form-maskedInput",inputName:e.name,inputValue:String(e.value??x??""),metaActive:a.active,metaError:a.error,showMessage:y,isDisabled:_,isErrorState:w,isRequired:T,isValidState:k,...p,children:[t.jsx(S.Input,{className:V.default(a.active&&"input_state_focus",a.error&&a.touched&&`input_state_${M}`),dataTestId:`${j}Input`,ref:i,value:C,onBlur:e.onBlur,onFocus:e.onFocus,...N}),l&&t.jsx(h.Icon,{className:"form-field__icon",size:m,iconFill:d,iconFillHover:u,imageSrc:l,shape:c,SvgImage:l,onClick:b})]})}})}),_e=E.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:g,isErrorState:h,isValidState:y}=se({fieldProps:l,input:e,meta:a}),x=ie({inputProps:d,validationStateKey:h?o:y?g:null}),_=ee(e.name,s);return t.jsx(X,{className:V.default("form-field_input-password","form__item_input-password",n),dataTestId:_,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:h,isRequired:p,isValidState:y,...l,children:t.jsx(C.InputPassword,{className:V.default(a.active&&"input-password_state_focus",a.error&&a.touched&&`input-password_state_${o}`),dataTestId:`${_}InputPassword`,name:e.name,autoComplete:"nope",value:String(e.value??""),isDisabled:m,onBlur:e.onBlur,onChange:i,onFocus:e.onFocus,...x})})}})});function Te(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(E.default.Fragment,{children:i.map(e=>t.jsx(P.Radio,{className:"form-radio__item",label:e.label,checked:e.value===a.value,value:e.value,onChange:l,...s},e.value))})}const be=E.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:g,isValidState:h}=se({fieldProps:o,input:e,meta:r}),y=ie({inputProps:n,validationStateKey:g?s:h?f:null}),x=ee(e.name,a);return t.jsx(X,{className:V.default("form-field_radio","form__item_radio",i),dataTestId:x,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:g,isRequired:c,isValidState:h,...o,children:t.jsx(Te,{input:e,inputProps:y,options:l,onChange:m})})}})});function Se(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:g,isErrorState:h,isValidState:y}=se({fieldProps:o,input:e,meta:a}),x=ie({inputProps:n,validationStateKey:h?m:y?g:null}),_=ee(e.name,s);return t.jsx(X,{className:V.default("form-field_segmented","form__item_segmented"),dataTestId:_,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:h,isRequired:c,isValidState:y,...o,children:t.jsx(M.Segmented,{dataTestId:_,activeSegment:i,segments:l,isDisabled:u,setActiveSegment:p,...x})})}})}function ve(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=ve({options:e.options,selectValue:r})),t||i?s.push(e):o.length&&(s=s.concat(o))}),s}const Ie=E.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:g,onInputChange:h}=a;return t.jsx(e.Field,{name:i,initialValue:o,children:function({input:e,meta:a}){const[i,o]=r.useState(null),y=r.useMemo(()=>{const t=ve({options:d,selectValue:e.value});return!t.length&&e.value?.length&&t.push({label:e.label,value:e.value}),t},[e.label,e.value]),x=r.useCallback(t=>{e.onChange(t),g&&g(t,{name:e.name})},[g,e.onChange]),_=r.useCallback(e=>{const t=Array.isArray(e)?e.map(e=>e.value):e?.value||null;o(e),x(t)},[x]);r.useEffect(()=>{o(y)},[y]);const{errorKey:T,errorMessage:b,successKey:S,isErrorState:v,isValidState:I}=se({fieldProps:l,input:e,meta:a}),C=ie({inputProps:u,validationStateKey:v?T:I?S:null}),P=ee(e.name,s);return t.jsx(X,{className:V.default("form-field_select","form__item_select",n),dataTestId:P,errorKey:T,errorMessage:b,fieldClassName:"form-select",inputName:e.name,inputValue:String(e.value??""),metaActive:a.active,metaError:a.error,showMessage:m,isDisabled:p,isErrorState:v,isRequired:f,isValidState:I,...l,children:t.jsx(F.Select,{className:"form-select-item",dataTestId:`${P}Select`,ref:c,instanceId:`id_${e.name}`,options:d,value:i,isDisabled:p,onChange:_,onInputChange:h,...C})})}})}),Ce=E.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:g,isErrorState:h,isValidState:y}=se({fieldProps:n,input:e,meta:a}),x=ie({inputProps:l,validationStateKey:h?p:y?g:null}),_=ee(e.name,s);return t.jsx(X,{className:V.default("form-field-switch","form__item_switch",o),dataTestId:_,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:h,isRequired:c,isValidState:y,...n,children:t.jsx(z.Switch,{isActive:e.checked,isDisabled:u,onChange:i,...x})})}})}),Pe=E.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}=se({fieldProps:o,input:e,meta:r}),g=ie({inputProps:n,validationStateKey:p?s:f?m:null}),h=ee(e.name,a);return t.jsx(X,{className:V.default("form-field_textarea","form__item_textarea",i),dataTestId:h,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(w.Textarea,{className:V.default(r.active&&"textarea_state_focus",r.error&&r.touched&&`textarea_state_${s}`),dataTestId:`${h}Textarea`,name:e.name,value:String(e.value??""),isDisabled:d,onBlur:e.onBlur,onChange:e.onChange,onFocus:e.onFocus,...g})})}})});function Me(e,a){switch(e.type){case Fe.password:return t.jsx(_e,{...e,dataTestId:e.dataTestId??a.dataTestId},a.key);case Fe.primaryButton:return r.createElement(k.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 Fe.secondaryButton:return r.createElement(k.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 Fe.tertiaryButton:return r.createElement(k.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 Fe.checkbox:return t.jsx(oe,{...e,dataTestId:e.dataTestId??a.dataTestId},a.key);case Fe.choice:return t.jsx(le,{...e,dataTestId:e.dataTestId??a.dataTestId},a.key);case Fe.code:return t.jsx(de,{...e,dataTestId:e.dataTestId??a.dataTestId},a.key);case Fe.chips:return t.jsx(ne,{...e,dataTestId:e.dataTestId??a.dataTestId},a.key);case Fe.switch:return t.jsx(Ce,{...e,dataTestId:e.dataTestId??a.dataTestId},a.key);case Fe.segmented:return t.jsx(Se,{...e,dataTestId:e.dataTestId??a.dataTestId},a.key);case Fe.datePicker:return t.jsx(me,{...e,dataTestId:e.dataTestId??a.dataTestId},a.key);case Fe.fileInput:return t.jsx(fe,{...e,dataTestId:e.dataTestId??a.dataTestId},a.key);case Fe.radioGroup:return t.jsx(be,{...e,dataTestId:e.dataTestId??a.dataTestId},a.key);case Fe.select:return t.jsx(Ie,{...e,dataTestId:e.dataTestId??a.dataTestId},a.key);case Fe.text:return t.jsx(he,{...e,dataTestId:e.dataTestId??a.dataTestId},a.key);case Fe.textarea:return t.jsx(Pe,{...e,dataTestId:e.dataTestId??a.dataTestId},a.key);case Fe.maskedInput:return t.jsx(xe,{...e,dataTestId:e.dataTestId??a.dataTestId},a.key);case Fe.custom:return t.jsx(ue,{...e,dataTestId:e.dataTestId??a.dataTestId},a.key);case Fe.dadataInput:return t.jsx(ce,{...e,dataTestId:e.dataTestId??a.dataTestId},a.key);case Fe.inputNumber:return t.jsx(ye,{...e,dataTestId:e.dataTestId??a.dataTestId},a.key);case Fe.group:return t.jsx(ge,{...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 Me(s,{...a,dataTestId:s.dataTestId??a.dataTestId,key:t+"_form_group"})})},a.key)}}const Fe={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"},ze=E.default.forwardRef(function(a,s){const{className:o,dataTestId:l,dataTour:d,type:u,initialValues:c,initialValuesEqual:m,config:p,validationSchema:f,title:g,desc:h,buttonGap:y,dataTestIdButtons:x,dataTestIdPrimaryButton:_,dataTestIdSecondaryButton:T,dataTestIdTertiaryButton:S,dataTourButtons:v,dataTourPrimaryButton:I,dataTourSecondaryButton:C,dataTourTertiaryButton:P,disableFieldsAutoComplete:M=!1,fieldsGap:F,groupGap:z,language:w,mutators:B,notificationCloseButton:D,notificationTestAlign:A,notificationType:$,primaryButton:K,renderFieldsWrapper:R=e=>e,secondaryButton:L,tertiaryButton:O,before:G,after:W,isLoading:H,onClickSecondaryButton:U,onClickTertiaryButton:J,onChangeFormValues:Q,onSubmit:X}=a,Y=p.fields||p,ee=p.title||p.form?.title,te=p.form?.dataTestId||l,re=ae(f,w),se=r.useCallback(e=>{s&&"object"==typeof s&&(s.current=e)},[s]),ie=i.useDevicePropsGenerator(a),{directionClass:oe="vertical",fillClass:ne,titleFill:le,titlePosition:de,titleTextColor:ue,titleTextSize:ce,titleTextWeight:me,descSize:pe,descTextColor:fe,descTextWeight:ge,buttonDirection:he="vertical",buttonFill:ye,buttonJustifyContent:xe,buttonPadding:_e,buttonPosition:Te,elevationClass:be,heightClass:Se,loader:ve,loaderAppearance:Ie,loaderFill:Ce="surfacePrimary",loaderItemFill:Pe="accentItemSecondary",loaderShape:Fe,loaderSize:ze="l",loaderText:we,loaderType:ke="dot",primaryButtonAppearance:Ne,primaryButtonFill:je,primaryButtonFillHover:qe,primaryButtonHtmlType:Be,primaryButtonIsDisabled:De,primaryButtonIsLoading:Ee,primaryButtonLabel:Ve,primaryButtonLabelSize:Ae,primaryButtonLabelTextColor:$e,primaryButtonLabelTextWeight:Ke,primaryButtonSize:Re,secondaryButtonAppearance:Le,secondaryButtonFill:Oe,secondaryButtonFillHover:Ge,secondaryButtonHtmlType:We,secondaryButtonIsDisabled:He,secondaryButtonIsLoading:Ue,secondaryButtonLabel:Je,secondaryButtonLabelSize:Qe,secondaryButtonLabelTextColor:Xe,secondaryButtonLabelTextWeight:Ye,secondaryButtonSize:Ze,shapeClass:et,tertiaryButtonAppearance:tt,tertiaryButtonFill:rt,tertiaryButtonFillHover:at,tertiaryButtonHtmlType:st,tertiaryButtonIsDisabled:it,tertiaryButtonIsLoading:ot,tertiaryButtonLabel:nt,tertiaryButtonLabelSize:lt,tertiaryButtonLabelTextColor:dt,tertiaryButtonLabelTextWeight:ut,tertiaryButtonSize:ct,widthClass:mt}=ie,{styles:pt,wrapper:ft}=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:V.default(o,"form",u&&`form_type_${u}`,mt&&`width_${mt}`,Se&&`height_${Se}`,de&&`form_title-position_${de}`,Te&&`form_button-position_${Te}`,ne&&`fill_${ne}`,et&&`shape_${et}`,oe&&`direction_${oe}`,be&&`elevation_${be}`),ref:()=>se(r),autoCapitalize:M?"off":void 0,autoComplete:M?"off":void 0,autoCorrect:M?"off":void 0,"data-testid":te||l&&`${l}Form`||"Form","data-tour":d,spellCheck:M?"false":void 0,style:pt,onSubmit:a,children:[G,(g||ee)&&t.jsx(b.Title,{className:"form__title",dataTestId:te?`${te}Title`:"FormTitle",size:ce,fill:le,textColor:ue,textWeight:me,children:g||ee}),h&&t.jsx(n.Text,{className:"form__desc",size:pe,textColor:fe,textWeight:ge,"data-testid":te?`${te}Desc`:"FormDesc",children:h}),i&&!s&&t.jsx("div",{className:V.default("notification","form-notification",$?`form-notification_${$}`:"form-notification_global"),children:t.jsx(q.Notification,{appearance:"errorPrimary sizeS solid rounded",dataTestId:te?`${te}Notification`:"FormNotification",type:"global",width:"fill",status:"error",text:r.getState().submitError,textAlign:A,closeIcon:D})}),Q&&t.jsx(e.FormSpy,{subscription:{values:!0},onChange:Q}),Boolean(Y&&Object.keys(Y).length)&&t.jsx(E.default.Fragment,{children:R(t.jsxs(N.Group,{className:"form__wrapper",direction:"vertical",gap:F||z,style:ft,children:[Object.keys(Y).map(e=>Me(Y[e],{dataTestId:te,key:e})),H&&(ve||t.jsx(j.Loader,{appearance:Ie,className:"form__loader",dataTestId:te?`${te}Loader`:"FormLoader",type:ke,size:ze,fill:Ce,text:we,itemFill:Pe,shape:Fe}))]}))}),p.buttons?t.jsx(N.Group,{className:"form__button",dataTestId:x||te&&`${te}Buttons`,dataTour:v,direction:he,justifyContent:xe,fill:ye,padding:_e,gap:y,children:Object.keys(p.buttons).map(e=>Me(p.buttons[e],{dataTestId:te,key:e,primaryButtonHtmlType:Be,primaryButtonIsDisabled:De,primaryButtonIsLoading:Ee,secondaryButtonHtmlType:We,secondaryButtonIsDisabled:He,secondaryButtonIsLoading:Ue,tertiaryButtonHtmlType:st,tertiaryButtonIsDisabled:it,tertiaryButtonIsLoading:ot,onClickSecondaryButton:U,onClickTertiaryButton:J}))}):(Ve||K||Je||L||O||nt)&&t.jsxs(N.Group,{className:"form__button",dataTestId:x||te&&`${te}Buttons`,dataTour:v,direction:he,justifyContent:xe,fill:ye,padding:_e,gap:y,children:[Ve?t.jsx(k.Button,{appearance:Ne,className:"form__button-item",dataTestId:_||te&&`${te}PrimaryButton`||"FormPrimaryButton",dataTour:I,width:"fill",size:Re,fill:je,fillHover:qe,label:Ve,labelTextColor:$e,labelTextSize:Ae,labelTextWeight:Ke,htmlType:Be||"submit",isDisabled:De,isLoading:Ee}):K,Je?t.jsx(k.Button,{appearance:Le,className:"form__button-item",dataTestId:T||te&&`${te}SecondaryButton`||"FormSecondaryButton",dataTour:C,width:"fill",size:Ze,fill:Oe,fillHover:Ge,label:Je,labelTextColor:Xe,labelTextSize:Qe,labelTextWeight:Ye,htmlType:We,isDisabled:He,isLoading:Ue,onClick:U}):L,nt?t.jsx(k.Button,{appearance:tt,className:"form__button-item",dataTestId:S||te&&`${te}TertiaryButton`||"FormTertiaryButton",dataTour:P,width:"fill",size:ct,fill:rt,fillHover:at,label:nt,labelTextColor:dt,labelTextSize:lt,labelTextWeight:ut,htmlType:st,isDisabled:it,isLoading:ot,onClick:J}):O]}),W]}),decorators:[Z],mutators:B,subscription:{modifiedSinceLastSubmit:!0,pristine:!0,submitError:!0,submitting:!0},validate:re,onSubmit:X})});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=O,exports.FieldWrapper=X,exports.FieldWrapperBase=Q,exports.FinalForm=ze,exports.FormFieldCheckbox=oe,exports.FormFieldChips=ne,exports.FormFieldChoice=le,exports.FormFieldCode=de,exports.FormFieldCustom=ue,exports.FormFieldDadataInput=ce,exports.FormFieldDatePicker=me,exports.FormFieldFileInput=fe,exports.FormFieldInput=he,exports.FormFieldInputNumber=ye,exports.FormFieldMaskedInput=xe,exports.FormFieldPassword=_e,exports.FormFieldRadioGroup=be,exports.FormFieldSegmented=Se,exports.FormFieldSelect=Ie,exports.FormFieldSwitch=Ce,exports.FormFieldTextarea=Pe,exports.FormGroup=ge,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=ee,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 sizeM solid rounded",width:"fill",errorAppearance:"errorPrimary sizeM solid rounded",requiredAppearance:"requirePrimary sizeM solid rounded",successAppearance:"successPrimary 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={appearance:"defaultSecondary sizeM solid rounded",errorAppearance:"errorTertiary sizeM solid rounded",requiredAppearance:"requireTertiary sizeM solid rounded",showFilename:!0,showFileSize:!0,successAppearance:"successTertiary sizeM solid rounded",isPreviews:!0},exports.defaultFieldProps=G,exports.defaultFieldSizeL=U,exports.defaultFieldSizeM=H,exports.defaultFieldSizeS=W,exports.defaultFieldSizeXL=J,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=Y,exports.focusOnErrorDecorator=Z,exports.formTypes=Fe,exports.generateField=Me,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]=L.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||B.isPossiblePhoneNumber(e,"RU"),exports.sendFormDataToServer=async(e,t)=>{try{return{response:await A.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=ae;
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"),g=require("@itcase/ui-web/components/Code"),h=require("@itcase/ui-web/components/Icon"),y=require("@itcase/ui-web/components/Dadata"),x=require("@itcase/ui-web/components/DatePicker"),_=require("lodash/castArray"),T=require("@itcase/ui-web/components/Dropzone"),b=require("@itcase/ui-web/components/Title"),S=require("@itcase/ui-web/components/Input"),v=require("@itcase/ui-web/components/InputNumber"),I=require("react-imask"),C=require("@itcase/ui-web/components/InputPassword"),P=require("@itcase/ui-web/components/Radio"),F=require("@itcase/ui-web/components/Segmented"),M=require("@itcase/ui-web/components/Select"),z=require("@itcase/ui-web/components/Switch"),w=require("@itcase/ui-web/components/Textarea"),k=require("@itcase/ui-web/components/Button"),j=require("@itcase/ui-web/components/Group"),N=require("@itcase/ui-web/components/Loader"),q=require("@itcase/ui-web/components/Notification"),B=require("libphonenumber-js");function D(e){return e&&e.__esModule?e:{default:e}}var E=D(r),V=D(a),A=D(l),$=D(u),K=D(c),R=D(m),L=D(_);const O={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-адрес"}},G={width:"fill",direction:"vertical",labelTextColor:"surfaceTextPrimary",messageTextColor:"surfaceTextSecondary",dividerFill:"errorPrimary",errorMessageTextColor:"errorTextSecondary",helpTextColor:"surfaceTextQuaternary",requiredMessageTextColor:"warningTextSecondary",showMessage:!0},W={size:"s",labelTextSize:"s",messageTextSize:"s",errorMessageTextSize:"s",helpTextSize:"s",requiredMessageTextSize:"s",...G},H={size:"m",labelTextSize:"s",messageTextSize:"s",errorMessageTextSize:"s",helpTextSize:"s",requiredMessageTextSize:"s",...G},U={size:"l",labelTextSize:"s",messageTextSize:"s",errorMessageTextSize:"s",helpTextSize:"s",requiredMessageTextSize:"s",...G},J={size:"xl",labelTextSize:"s",messageTextSize:"s",errorMessageTextSize:"s",helpTextSize:"s",requiredMessageTextSize:"s",...G};function Q(e){const{className:a,dataTestId:s,dataTour:l,type:d,label:u,labelHidden:c,labelTextColor:m,labelTextSize:p,labelTextWeight:f,messageTextSize:g,desc:h,descTextColor:y,descTextSize:x,descTextWeight:_,afterItem:T,beforeItem:b,dividerDirection:S,dividerFill:v,dividerSize:I,dividerWidth:C,errorKey:P,errorMessage:F,fieldClassName:M,helpText:z,helpTextColor:w,helpTextColorSuccess:k,helpTextSize:j,helpTextWeight:N,inputName:q,inputValue:B,metaActive:D,metaError:E,showDivider:A,showMessage:$,tag:K="div",before:R,after:L,isDisabled:O,isErrorState:G,isHidden:W,isRequired:H,isValidState:U,children:J}=e,Q=r.useMemo(()=>V.default(a,U&&"form__item_state_success",H&&"form__item_state_required",O&&"form__item_state_disabled",D&&"form__item_state_focus",B&&"form__item_state_filled",G&&`form__item_state_${P}`),[a,G,U,H,D,B,O,E]),X=r.useMemo(()=>V.default(M,U&&`${M}_state_success`,D&&`${M}_state_focus`,B&&`${M}_state_filled`,O&&`${M}_state_disabled`,G&&`${M}_state_${P}`),[M,G,U,D,B,O,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||`${q}Field`}Message`;return t.jsxs(K,{className:V.default(Q,"form__item","form-field",d?`form-field_type_${d}`:"form-field_type_classic",Y,Z,te,O&&"form-field_state_disabled",W&&"form-field_state_hidden",ae,se),"data-testid":s,"data-tour":l,style:ie,children:[R,(u||c)&&t.jsx("div",{className:V.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&&" "]})}),h&&t.jsx("div",{className:V.default("form-field__desc",`text_size_${x}`),"data-testid":`${s}Desc`,children:t.jsx(n.Text,{size:x,textColor:y,textWeight:_,children:h})}),t.jsxs("div",{className:V.default("form-field__content",ee,re),children:[t.jsxs("div",{className:V.default("form-field__content-inner",X),children:[b,J,T]}),A&&t.jsx(o.Divider,{className:"form-field__item-divider",width:C,direction:S,size:I,fill:v})]}),$&&t.jsxs("div",{className:V.default("form-field__message",`text_size_${oe||j||g}`),"data-testid":de,children:[G&&F&&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:F}),Boolean(z)&&(!G||!F)&&t.jsx(n.Text,{className:"form-field__message-item form-field__message-item_type_help-text",dataTestId:`${s}MessageHelpText`,size:j,textColor:U?k:w,textWeight:N,children:z}),(!G&&!z||G&&!z&&!F)&&t.jsx(n.Text,{className:"form-field__message-item form-field__message-item_type_help-text",dataTestId:`${s}MessageHelpText`,size:g,children:" "})]}),L]})}function X(a){const{inputName:s}=a,{change:i}=e.useForm();return r.useEffect(()=>()=>{i(s,void 0)},[]),t.jsx(Q,{...a})}const Y=(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"})},Z=$.default(void 0,Y),ee=(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"},te=(e,t)=>d.setIn(e,t.path,t.message),re=Object.create(null);function ae(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(te,re);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 se(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 ie(e){const{inputProps:t,validationStateKey:a}=e;return r.useMemo(()=>{const e={};return a?(Object.entries(t||{}).forEach(([t,r])=>{const s=R.default(t);if(s.startsWith(`${a}_`)){const t=s.replace(`${a}_`,""),i=K.default(t);e[i]=r}else e[t]||(e[t]=r)}),e):t},[a,t])}const oe=E.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:g,successKey:h,isErrorState:y,isValidState:x}=se({fieldProps:d,input:e,meta:a}),_=ie({inputProps:u,validationStateKey:y?n:x?h:null}),T=ee(e.name,i);return t.jsx(X,{className:V.default("form-field-checkbox","form__item_checkbox",l),dataTestId:T,errorKey:n,errorMessage:g,fieldClassName:"form-checkbox",inputName:e.name,inputValue:e.checked,metaActive:a.active,metaError:a.error,showMessage:c,tag:"label",isDisabled:m,isErrorState:y,isRequired:p,isValidState:x,...d,children:t.jsx(s.Checkbox,{checked:e.checked,isActive:e.checked,isDisabled:m,onBlur:e.onBlur,onChange:o,onFocus:e.onFocus,..._})})}})});function ne(a){const{dataTestId:s,name:i,initialValue:o,classNameGroupItem:l,emptyMessage:d,emptyMessageTextColor:u,emptyMessageTextSize:c,fieldProps:m,inputProps:f,options:g,showMessage:h,isDisabled:y,isRequired:x,onChange:_}=a,{change:T}=e.useForm(),b=r.useCallback((e,t)=>{const r=e.includes(t)?e.filter(e=>e!==t):[...e,t];T(i,r),_&&_(r)},[T,i,_]);return r.useEffect(()=>{o&&T(i,o)},[o]),t.jsx(e.Field,{name:i,initialValue:o,children:function({input:e,meta:a}){const{errorKey:i,errorMessage:o,successKey:_,isErrorState:T,isValidState:S}=se({fieldProps:m,input:e,meta:a}),v=ie({inputProps:f,validationStateKey:T?i:S?_:null}),I=r.useMemo(()=>{const t=[{label:null,value:null}];if(e?.value){return g.filter(t=>e.value?.includes(t.value))||t}return t},[e.value]),C=ee(e.name,s);return t.jsx(X,{className:V.default("form-field_chips","form__item_chips",l),dataTestId:C,errorKey:i,errorMessage:o,fieldClassName:"form-chips",inputName:e.name,inputValue:String(e.value??""),metaActive:a.active,metaError:a.error,showMessage:h,isDisabled:y,isErrorState:T,isRequired:x,isValidState:S,...m,children:g?.length?t.jsx(p.ChipsGroup,{direction:"horizontal",gap:"1m",wrap:"wrap",children:g.map(r=>t.jsx(p.Chips,{className:V.default(a.active&&"form-chips_state_focus",a.error&&a.touched&&`form-chips_state_${i}`),label:r.label,isActive:I.some(e=>e.value===r.value),isDisabled:r.isDisabled,onClick:()=>b(e.value,r.value),...v},r.value))}):t.jsx(n.Text,{size:c,textColor:u,children:d})})}})}const le=E.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:g,isRequired:h,onChange:y}=a,{change:x}=e.useForm(),_=r.useCallback((e,t)=>{x(i,t&&e.value),y&&y(e.value,i,t)},[x,y]);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:y,successKey:x,isErrorState:T,isValidState:b}=se({fieldProps:d,input:e,meta:a}),S=ie({inputProps:u,validationStateKey:T?o:b?x:null}),v=ee(e.name,s);return t.jsx(X,{className:V.default("form-field_choice","form__item_choice",l),dataTestId:v,label:n,errorKey:o,errorMessage:y,fieldClassName:"form-choice",inputName:e.name,inputValue:String(e.value??""),metaActive:a.active,metaError:a.error,showMessage:m,isDisabled:p,isErrorState:T,isRequired:h,isValidState:b,...d,children:t.jsx(f.Choice,{className:V.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:g,setActiveSegment:_,...S})})}})}),de=E.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,type:p,...f}=r,h={...f,...d};return t.jsx(e.Field,{name:s,initialValue:i,children:function({input:e,meta:r}){const{errorKey:s,errorMessage:i,successKey:d,isErrorState:p,isValidState:f}=se({fieldProps:l,input:e,meta:r}),y=ie({inputProps:h,validationStateKey:p?s:f?d:null}),x=ee(e.name,a);return t.jsx(X,{className:V.default("form-field-code","form__item_code",n),dataTestId:x,label:o,errorKey:s,errorMessage:i,fieldClassName:"form-code",inputName:e.name,inputValue:String(e.value??""),metaActive:r.active,metaError:r.error,showMessage:u,isDisabled:c,isErrorState:p,isRequired:m,isValidState:f,...l,children:t.jsx(g.Code,{initialValue:e.value,isDisabled:c,onBlur:e.onBlur,onChange:e.onChange,onFocus:e.onFocus,...y})})}})}),ue=E.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:g,isRequired:y,onClickClearIcon:x}=r;return t.jsx(e.Field,{name:s,initialValue:i,children:function({input:e,meta:s}){const{errorKey:i,errorMessage:_,isErrorState:T,isValidState:b}=se({fieldProps:p,input:e,meta:s}),S=ie({inputProps:r,validationStateKey:T?i:"success"}),v=ee(e.name,a);return t.jsxs(X,{className:V.default("form-field_custom","form__item_custom",o),dataTestId:v,errorKey:i,errorMessage:_,fieldClassName:"form-custom",inputName:e.name,inputValue:String(e.value??""),metaActive:s.active,metaError:s.error,showMessage:f,isDisabled:g,isErrorState:T,isRequired:y,isValidState:b,...p,children:[t.jsx(m,{...S,input:e,meta:s,isDisabled:g}),n&&t.jsx(h.Icon,{className:"form-field__icon",size:c,iconFill:l,iconFillHover:d,imageSrc:n,shape:u,SvgImage:n,onClick:x})]})}})}),ce=E.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:g,isValidState:h}=se({fieldProps:n,input:e,meta:r}),x=ie({inputProps:l,validationStateKey:g?s:h?d:null}),_=ee(e.name,a);return t.jsx(X,{className:V.default("form-field_input-dadata","form__item_input-dadata",o),dataTestId:_,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:g,isRequired:p,isValidState:h,...n,children:t.jsx(y.Dadata,{dataTestId:`${_}Input`,input:e,inputProps:x,meta:r,token:c,setValue:f})})}})});function me(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:g,successKey:h,isErrorState:y,isValidState:_}=se({fieldProps:l,input:e,meta:a}),T=ie({inputProps:d,validationStateKey:y?f:_?h:null}),b=ee(e.name,s);return t.jsx(X,{className:V.default("form-field_datepicker","form__item_datepicker",o),dataTestId:b,errorKey:f,errorMessage:g,fieldClassName:"form-datepicker",inputName:e.name,inputValue:String(e.value??""),metaActive:a.active,metaError:a.error,showMessage:u,isDisabled:c,isErrorState:y,isRequired:m,isValidState:_,...l,children:t.jsx(x.DatePickerInput,{name:e.name,datePickerProps:n,endValue:n?.selectsRange?e.value.endDate:null,inputProps:T,value:n?.selectsRange?e.value.startDate:e.value,onBlur:e.onBlur,onChange:i,onFocus:e.onFocus})})}})}var pe=["dataTestId","type","name","width","maxFiles","label","classNameGroupItem","dropzoneProps","fieldProps","inputProps","showMessage","isDisabled","isRequired","onClickPreview","onAddFiles","onDeleteFile"];var fe=E.default.memo(function(a){var s=a.dataTestId;a.type;var i=a.name,o=a.width,n=a.maxFiles,l=a.label,d=a.classNameGroupItem,u=a.dropzoneProps,c=a.fieldProps,m=void 0===c?{}:c,p=a.inputProps,f=void 0===p?{}:p,g=a.showMessage,h=a.isDisabled,y=a.isRequired,x=a.onClickPreview,_=a.onAddFiles,b=a.onDeleteFile,S=function(e,t){if(null==e)return{};var r={};for(var a in e)if({}.hasOwnProperty.call(e,a)){if(-1!==t.indexOf(a))continue;r[a]=e[a]}return r}(a,pe),v=Object.assign({},S,f);return t.jsx(e.Field,{name:i,children:function(e){var a,i,c,p=e.input,f=e.meta,S=se({fieldProps:m,input:p,meta:f}),I=S.errorKey,C=S.errorMessage,P=S.successKey,F=S.isErrorState,M=S.isValidState,z=ie({inputProps:v,validationStateKey:F?I:M?P:null}),w=null!=(a=null!=(i=null==u?void 0:u.maxFiles)?i:n)?a:5,k=r.useCallback(function(e){p.onChange(1===w?e[0]:e)},[p,w]),j=r.useMemo(function(){return null==p.value||""===p.value?[]:L.default(p.value)},[p.value]),N=ee(p.name,s);return t.jsx(X,Object.assign({className:V.default("form-field_type_dropzone","form__item_type_dropzone",d),dataTestId:N,width:o,label:l,errorKey:I,errorMessage:C,fieldClassName:"form-dropzone",inputName:p.name,inputValue:(c=p.value,Array.isArray(c)?c.length>0?c:"":null!=c?c:""),metaActive:f.active,metaError:f.error,showMessage:g,isDisabled:h,isErrorState:F,isRequired:y,isValidState:M},m,{children:t.jsx(T.Dropzone,Object.assign({},z,{maxFiles:n,dropzoneProps:u,fieldValuesList:j,inputName:p.name,onClickPreview:x,onAddFiles:_,onChangeFiles:k,onDeleteFile:b}))}))}})});const ge=E.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:g,labelTextWeight:h,message:y,messageTextColor:x,messageTextSize:_,messageTextWeight:T,column:S,showGroupMessage:v,before:I,after:C,isActive:P,isDisabled:F,isHidden:M,children:z}=r,w=i.useDevicePropsGenerator(r),{fillActiveClass:k,fillActiveHoverClass:j,fillClass:N,fillDisabledClass:q,fillHoverClass:B,shapeClass:D}=w,{styles:A}=i.useStyles(r),$=ee(l,s);return t.jsx(e.Field,{name:l,children:function({input:e,meta:s}){const{errorKey:i,errorMessage:w,isErrorState:K}=se({fieldProps:r,input:e,meta:s}),R=ie({inputProps:r,validationStateKey:K?i:"success"});return t.jsxs("div",{className:V.default("form__group",a,M&&"form__group_hidden",F?q&&`fill_${q}`:P?k&&`fill_active_${k}`:N&&`fill_${N}`,F?q&&`fill_${q}`:P?j&&`fill_active_hover_${j}`:B&&`fill_hover_${B}`,D&&`shape_${D}`,S&&`form__group_column_${S}`),"data-testid":$,"data-tour":o,style:A,children:[t.jsxs("div",{className:"form__group-wrapper",children:[I,d&&t.jsx("div",{className:"form__group-title",children:t.jsx(b.Title,{dataTestId:`${$}Title`,size:c,textColor:u,textWeight:m,children:d})}),p&&t.jsx("div",{className:"form__group-label",children:t.jsx(n.Text,{dataTestId:`${$}Label`,size:g,textColor:f,textWeight:h,children:p})}),t.jsx("div",{className:"form__group-items",children:z}),C]}),v&&t.jsxs(E.default.Fragment,{children:[K&&w&&t.jsx(n.Text,{className:`form__group-message form__group-message_type-${i}`,dataTestId:`${$}MessageError`,size:R.messageTextSize,textColor:R.messageTextColor,textWeight:R.messageTextWeight,children:w}),Boolean(y)&&(!K||!w)&&t.jsx(n.Text,{className:"form__group-message",dataTestId:`${l}GroupMessage`,size:_,textColor:x,textWeight:T,children:y}),!K&&!y&&t.jsx(n.Text,{className:"form__group-message",size:_,children:" "})]})]})}})}),he=E.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:g,showMessage:y,isDisabled:x,isRequired:_,onClickClearIcon:T,onChange:b}=a;return t.jsx(e.Field,{name:i,initialValue:o,parse:g,children:function({input:e,meta:a}){const i=r.useCallback(t=>{e.onChange(t),b&&b(t.target.value,e.name)},[b,e]),{errorKey:o,errorMessage:g,successKey:v,isErrorState:I,isValidState:C}=se({fieldProps:p,input:e,meta:a}),P=ie({inputProps:f,validationStateKey:I?o:C?v:null}),F=ee(e.name,s);return t.jsxs(X,{className:V.default("form-field_input","form__item_input",n),dataTestId:F,errorKey:o,errorMessage:g,fieldClassName:"form-input",inputName:e.name,inputValue:String(e.value??""),metaActive:a.active,metaError:a.error,showMessage:y,isDisabled:x,isErrorState:I,isRequired:_,isValidState:C,...p,children:[t.jsx(S.Input,{className:V.default(a.active&&"input_state_focus",a.error&&a.touched&&`input_state_${o}`),dataTestId:`${F}Input`,type:"text",name:e.name,autoComplete:"nope",value:String(e.value??""),isDisabled:x,onBlur:e.onBlur,onChange:i,onFocus:e.onFocus,...P}),l&&t.jsx(h.Icon,{className:"form-field__icon",dataTestId:`${F}InputIcon`,size:m,iconFill:d,iconFillHover:u,imageSrc:"string"==typeof l&&l,shape:c,SvgImage:"string"!=typeof l&&l,onClick:T})]})}})}),ye=E.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:g}=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),g&&g(t.target.value)},[g,e.onChange]),{errorKey:o,errorMessage:c,successKey:h,isErrorState:y,isValidState:x}=se({fieldProps:l,input:e,meta:a}),_=ie({inputProps:d,validationStateKey:y?o:x?h:null}),T=ee(e.name,s);return t.jsx(X,{className:V.default("form-field_input-number","form__item_input-number",n),dataTestId:T,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:y,isRequired:f,isValidState:x,...l,children:t.jsx(v.InputNumber,{className:V.default(a.active&&"input_state_focus",(a.submitFailed||a.touched)&&a.error&&`input_state_${o}`),dataTestId:`${T}InputNumber`,type:u,name:e.name,value:Number(e.value)||0,onChange:i,..._})})}})}),xe=E.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:g,showMessage:y,unmasked:x,isDisabled:_,isRequired:T,onClickClearIcon:b}=a;return t.jsx(e.Field,{name:i,initialValue:o,children:function({input:e,meta:a}){const{ref:i,unmaskedValue:v,value:C,setUnmaskedValue:P}=I.useIMask(g,{defaultValue:o,onAccept:(t,r,a)=>{a&&e.onChange(r._unmaskedValue)}});r.useEffect(()=>{e.value!==v&&P(e.value.replace(x,""))},[e.value]);const{errorKey:F,errorMessage:M,successKey:z,isErrorState:w,isValidState:k}=se({fieldProps:p,input:e,meta:a}),j=ie({inputProps:f,validationStateKey:w?F:k?z:null}),N=ee(e.name,s);return t.jsxs(X,{className:V.default("form-field-masked-input","form__item_masked-input",n),dataTestId:N,errorKey:F,errorMessage:M,fieldClassName:"form-maskedInput",inputName:e.name,inputValue:String(e.value??x??""),metaActive:a.active,metaError:a.error,showMessage:y,isDisabled:_,isErrorState:w,isRequired:T,isValidState:k,...p,children:[t.jsx(S.Input,{className:V.default(a.active&&"input_state_focus",a.error&&a.touched&&`input_state_${F}`),dataTestId:`${N}Input`,ref:i,value:C,onBlur:e.onBlur,onFocus:e.onFocus,...j}),l&&t.jsx(h.Icon,{className:"form-field__icon",size:m,iconFill:d,iconFillHover:u,imageSrc:l,shape:c,SvgImage:l,onClick:b})]})}})}),_e=E.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:g,isErrorState:h,isValidState:y}=se({fieldProps:l,input:e,meta:a}),x=ie({inputProps:d,validationStateKey:h?o:y?g:null}),_=ee(e.name,s);return t.jsx(X,{className:V.default("form-field_input-password","form__item_input-password",n),dataTestId:_,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:h,isRequired:p,isValidState:y,...l,children:t.jsx(C.InputPassword,{className:V.default(a.active&&"input-password_state_focus",a.error&&a.touched&&`input-password_state_${o}`),dataTestId:`${_}InputPassword`,name:e.name,autoComplete:"nope",value:String(e.value??""),isDisabled:m,onBlur:e.onBlur,onChange:i,onFocus:e.onFocus,...x})})}})});function Te(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(E.default.Fragment,{children:i.map(e=>t.jsx(P.Radio,{className:"form-radio__item",label:e.label,checked:e.value===a.value,value:e.value,onChange:l,...s},e.value))})}const be=E.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:g,isValidState:h}=se({fieldProps:o,input:e,meta:r}),y=ie({inputProps:n,validationStateKey:g?s:h?f:null}),x=ee(e.name,a);return t.jsx(X,{className:V.default("form-field_radio","form__item_radio",i),dataTestId:x,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:g,isRequired:c,isValidState:h,...o,children:t.jsx(Te,{input:e,inputProps:y,options:l,onChange:m})})}})});function Se(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:g,isErrorState:h,isValidState:y}=se({fieldProps:o,input:e,meta:a}),x=ie({inputProps:n,validationStateKey:h?m:y?g:null}),_=ee(e.name,s);return t.jsx(X,{className:V.default("form-field_segmented","form__item_segmented"),dataTestId:_,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:h,isRequired:c,isValidState:y,...o,children:t.jsx(F.Segmented,{dataTestId:`${_}Segment`,activeSegment:i,segments:l,isDisabled:u,setActiveSegment:p,...x})})}})}function ve(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=ve({options:e.options,selectValue:r})),t||i?s.push(e):o.length&&(s=s.concat(o))}),s}const Ie=E.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:g,onInputChange:h}=a;return t.jsx(e.Field,{name:i,initialValue:o,children:function({input:e,meta:a}){const[i,o]=r.useState(null),y=r.useMemo(()=>{const t=ve({options:d,selectValue:e.value});return!t.length&&e.value?.length&&t.push({label:e.label,value:e.value}),t},[e.label,e.value]),x=r.useCallback(t=>{e.onChange(t),g&&g(t,{name:e.name})},[g,e.onChange]),_=r.useCallback(e=>{const t=Array.isArray(e)?e.map(e=>e.value):e?.value||null;o(e),x(t)},[x]);r.useEffect(()=>{o(y)},[y]);const{errorKey:T,errorMessage:b,successKey:S,isErrorState:v,isValidState:I}=se({fieldProps:l,input:e,meta:a}),C=ie({inputProps:u,validationStateKey:v?T:I?S:null}),P=ee(e.name,s);return t.jsx(X,{className:V.default("form-field_select","form__item_select",n),dataTestId:P,errorKey:T,errorMessage:b,fieldClassName:"form-select",inputName:e.name,inputValue:String(e.value??""),metaActive:a.active,metaError:a.error,showMessage:m,isDisabled:p,isErrorState:v,isRequired:f,isValidState:I,...l,children:t.jsx(M.Select,{className:"form-select-item",dataTestId:`${P}Select`,ref:c,instanceId:`id_${e.name}`,options:d,value:i,isDisabled:p,onChange:_,onInputChange:h,...C})})}})}),Ce=E.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:g,isErrorState:h,isValidState:y}=se({fieldProps:n,input:e,meta:a}),x=ie({inputProps:l,validationStateKey:h?p:y?g:null}),_=ee(e.name,s);return t.jsx(X,{className:V.default("form-field-switch","form__item_switch",o),dataTestId:_,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:h,isRequired:c,isValidState:y,...n,children:t.jsx(z.Switch,{isActive:e.checked,isDisabled:u,onChange:i,...x})})}})}),Pe=E.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}=se({fieldProps:o,input:e,meta:r}),g=ie({inputProps:n,validationStateKey:p?s:f?m:null}),h=ee(e.name,a);return t.jsx(X,{className:V.default("form-field_textarea","form__item_textarea",i),dataTestId:h,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(w.Textarea,{className:V.default(r.active&&"textarea_state_focus",r.error&&r.touched&&`textarea_state_${s}`),dataTestId:`${h}Textarea`,name:e.name,value:String(e.value??""),isDisabled:d,onBlur:e.onBlur,onChange:e.onChange,onFocus:e.onFocus,...g})})}})});function Fe(e,a){switch(e.type){case Me.password:return t.jsx(_e,{...e,dataTestId:e.dataTestId??a.dataTestId},a.key);case Me.primaryButton:return r.createElement(k.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 Me.secondaryButton:return r.createElement(k.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 Me.tertiaryButton:return r.createElement(k.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 Me.checkbox:return t.jsx(oe,{...e,dataTestId:e.dataTestId??a.dataTestId},a.key);case Me.choice:return t.jsx(le,{...e,dataTestId:e.dataTestId??a.dataTestId},a.key);case Me.code:return t.jsx(de,{...e,dataTestId:e.dataTestId??a.dataTestId},a.key);case Me.chips:return t.jsx(ne,{...e,dataTestId:e.dataTestId??a.dataTestId},a.key);case Me.switch:return t.jsx(Ce,{...e,dataTestId:e.dataTestId??a.dataTestId},a.key);case Me.segmented:return t.jsx(Se,{...e,dataTestId:e.dataTestId??a.dataTestId},a.key);case Me.datePicker:return t.jsx(me,{...e,dataTestId:e.dataTestId??a.dataTestId},a.key);case Me.fileInput:return t.jsx(fe,{...e,dataTestId:e.dataTestId??a.dataTestId},a.key);case Me.radioGroup:return t.jsx(be,{...e,dataTestId:e.dataTestId??a.dataTestId},a.key);case Me.select:return t.jsx(Ie,{...e,dataTestId:e.dataTestId??a.dataTestId},a.key);case Me.text:return t.jsx(he,{...e,dataTestId:e.dataTestId??a.dataTestId},a.key);case Me.textarea:return t.jsx(Pe,{...e,dataTestId:e.dataTestId??a.dataTestId},a.key);case Me.maskedInput:return t.jsx(xe,{...e,dataTestId:e.dataTestId??a.dataTestId},a.key);case Me.custom:return t.jsx(ue,{...e,dataTestId:e.dataTestId??a.dataTestId},a.key);case Me.dadataInput:return t.jsx(ce,{...e,dataTestId:e.dataTestId??a.dataTestId},a.key);case Me.inputNumber:return t.jsx(ye,{...e,dataTestId:e.dataTestId??a.dataTestId},a.key);case Me.group:return t.jsx(ge,{...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 Fe(s,{...a,dataTestId:s.dataTestId??a.dataTestId,key:t+"_form_group"})})},a.key)}}const Me={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"},ze=E.default.forwardRef(function(a,s){const{className:o,dataTestId:l,dataTour:d,type:u,initialValues:c,initialValuesEqual:m,config:p,validationSchema:f,title:g,desc:h,buttonGap:y,dataTestIdButtons:x,dataTestIdPrimaryButton:_,dataTestIdSecondaryButton:T,dataTestIdTertiaryButton:S,dataTourButtons:v,dataTourPrimaryButton:I,dataTourSecondaryButton:C,dataTourTertiaryButton:P,disableFieldsAutoComplete:F=!1,fieldsGap:M,groupGap:z,language:w,mutators:B,notificationCloseButton:D,notificationTestAlign:A,notificationType:$,primaryButton:K,renderFieldsWrapper:R=e=>e,secondaryButton:L,tertiaryButton:O,before:G,after:W,isLoading:H,onClickSecondaryButton:U,onClickTertiaryButton:J,onChangeFormValues:Q,onSubmit:X}=a,Y=p.fields||p,ee=p.title||p.form?.title,te=p.form?.dataTestId||l,re=ae(f,w),se=r.useCallback(e=>{s&&"object"==typeof s&&(s.current=e)},[s]),ie=i.useDevicePropsGenerator(a),{directionClass:oe="vertical",fillClass:ne,titleFill:le,titlePosition:de,titleTextColor:ue,titleTextSize:ce,titleTextWeight:me,descSize:pe,descTextColor:fe,descTextWeight:ge,buttonDirection:he="vertical",buttonFill:ye,buttonJustifyContent:xe,buttonPadding:_e,buttonPosition:Te,elevationClass:be,heightClass:Se,loader:ve,loaderAppearance:Ie,loaderFill:Ce="surfacePrimary",loaderItemFill:Pe="accentItemSecondary",loaderShape:Me,loaderSize:ze="l",loaderText:we,loaderType:ke="dot",primaryButtonAppearance:je,primaryButtonFill:Ne,primaryButtonFillHover:qe,primaryButtonHtmlType:Be,primaryButtonIsDisabled:De,primaryButtonIsLoading:Ee,primaryButtonLabel:Ve,primaryButtonLabelSize:Ae,primaryButtonLabelTextColor:$e,primaryButtonLabelTextWeight:Ke,primaryButtonSize:Re,secondaryButtonAppearance:Le,secondaryButtonFill:Oe,secondaryButtonFillHover:Ge,secondaryButtonHtmlType:We,secondaryButtonIsDisabled:He,secondaryButtonIsLoading:Ue,secondaryButtonLabel:Je,secondaryButtonLabelSize:Qe,secondaryButtonLabelTextColor:Xe,secondaryButtonLabelTextWeight:Ye,secondaryButtonSize:Ze,shapeClass:et,tertiaryButtonAppearance:tt,tertiaryButtonFill:rt,tertiaryButtonFillHover:at,tertiaryButtonHtmlType:st,tertiaryButtonIsDisabled:it,tertiaryButtonIsLoading:ot,tertiaryButtonLabel:nt,tertiaryButtonLabelSize:lt,tertiaryButtonLabelTextColor:dt,tertiaryButtonLabelTextWeight:ut,tertiaryButtonSize:ct,widthClass:mt}=ie,{styles:pt,wrapper:ft}=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:V.default(o,"form",u&&`form_type_${u}`,mt&&`width_${mt}`,Se&&`height_${Se}`,de&&`form_title-position_${de}`,Te&&`form_button-position_${Te}`,ne&&`fill_${ne}`,et&&`shape_${et}`,oe&&`direction_${oe}`,be&&`elevation_${be}`),ref:()=>se(r),autoCapitalize:F?"off":void 0,autoComplete:F?"off":void 0,autoCorrect:F?"off":void 0,"data-testid":te||l&&`${l}Form`||"Form","data-tour":d,spellCheck:F?"false":void 0,style:pt,onSubmit:a,children:[G,(g||ee)&&t.jsx(b.Title,{className:"form__title",dataTestId:te?`${te}Title`:"FormTitle",size:ce,fill:le,textColor:ue,textWeight:me,children:g||ee}),h&&t.jsx(n.Text,{className:"form__desc",size:pe,textColor:fe,textWeight:ge,"data-testid":te?`${te}Desc`:"FormDesc",children:h}),i&&!s&&t.jsx("div",{className:V.default("notification","form-notification",$?`form-notification_${$}`:"form-notification_global"),children:t.jsx(q.Notification,{appearance:"errorPrimary sizeS solid rounded",dataTestId:te?`${te}Notification`:"FormNotification",type:"global",width:"fill",status:"error",text:r.getState().submitError,textAlign:A,closeIcon:D})}),Q&&t.jsx(e.FormSpy,{subscription:{values:!0},onChange:Q}),Boolean(Y&&Object.keys(Y).length)&&t.jsx(E.default.Fragment,{children:R(t.jsxs(j.Group,{className:"form__wrapper",direction:"vertical",gap:M||z,style:ft,children:[Object.keys(Y).map(e=>Fe(Y[e],{dataTestId:te,key:e})),H&&(ve||t.jsx(N.Loader,{appearance:Ie,className:"form__loader",dataTestId:te?`${te}Loader`:"FormLoader",type:ke,size:ze,fill:Ce,text:we,itemFill:Pe,shape:Me}))]}))}),p.buttons?t.jsx(j.Group,{className:"form__button",dataTestId:x||te&&`${te}Buttons`,dataTour:v,direction:he,justifyContent:xe,fill:ye,padding:_e,gap:y,children:Object.keys(p.buttons).map(e=>Fe(p.buttons[e],{dataTestId:te,key:e,primaryButtonHtmlType:Be,primaryButtonIsDisabled:De,primaryButtonIsLoading:Ee,secondaryButtonHtmlType:We,secondaryButtonIsDisabled:He,secondaryButtonIsLoading:Ue,tertiaryButtonHtmlType:st,tertiaryButtonIsDisabled:it,tertiaryButtonIsLoading:ot,onClickSecondaryButton:U,onClickTertiaryButton:J}))}):(Ve||K||Je||L||O||nt)&&t.jsxs(j.Group,{className:"form__button",dataTestId:x||te&&`${te}Buttons`,dataTour:v,direction:he,justifyContent:xe,fill:ye,padding:_e,gap:y,children:[Ve?t.jsx(k.Button,{appearance:je,className:"form__button-item",dataTestId:_||te&&`${te}PrimaryButton`||"FormPrimaryButton",dataTour:I,width:"fill",size:Re,fill:Ne,fillHover:qe,label:Ve,labelTextColor:$e,labelTextSize:Ae,labelTextWeight:Ke,htmlType:Be||"submit",isDisabled:De,isLoading:Ee}):K,Je?t.jsx(k.Button,{appearance:Le,className:"form__button-item",dataTestId:T||te&&`${te}SecondaryButton`||"FormSecondaryButton",dataTour:C,width:"fill",size:Ze,fill:Oe,fillHover:Ge,label:Je,labelTextColor:Xe,labelTextSize:Qe,labelTextWeight:Ye,htmlType:We,isDisabled:He,isLoading:Ue,onClick:U}):L,nt?t.jsx(k.Button,{appearance:tt,className:"form__button-item",dataTestId:S||te&&`${te}TertiaryButton`||"FormTertiaryButton",dataTour:P,width:"fill",size:ct,fill:rt,fillHover:at,label:nt,labelTextColor:dt,labelTextSize:lt,labelTextWeight:ut,htmlType:st,isDisabled:it,isLoading:ot,onClick:J}):O]}),W]}),decorators:[Z],mutators:B,subscription:{modifiedSinceLastSubmit:!0,pristine:!0,submitError:!0,submitting:!0},validate:re,onSubmit:X})});Object.defineProperty(exports,"Field",{enumerable:!0,get:function(){return e.Field}}),Object.defineProperty(exports,"useField",{enumerable:!0,get:function(){return e.useField}}),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=O,exports.FieldWrapper=X,exports.FieldWrapperBase=Q,exports.FinalForm=ze,exports.FormFieldCheckbox=oe,exports.FormFieldChips=ne,exports.FormFieldChoice=le,exports.FormFieldCode=de,exports.FormFieldCustom=ue,exports.FormFieldDadataInput=ce,exports.FormFieldDatePicker=me,exports.FormFieldFileInput=fe,exports.FormFieldInput=he,exports.FormFieldInputNumber=ye,exports.FormFieldMaskedInput=xe,exports.FormFieldPassword=_e,exports.FormFieldRadioGroup=be,exports.FormFieldSegmented=Se,exports.FormFieldSelect=Ie,exports.FormFieldSwitch=Ce,exports.FormFieldTextarea=Pe,exports.FormGroup=ge,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=ee,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 sizeM solid rounded",width:"fill",errorAppearance:"errorPrimary sizeM solid rounded",requiredAppearance:"requirePrimary sizeM solid rounded",successAppearance:"successPrimary 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={appearance:"defaultSecondary sizeM solid rounded",errorAppearance:"errorTertiary sizeM solid rounded",requiredAppearance:"requireTertiary sizeM solid rounded",showFilename:!0,showFileSize:!0,successAppearance:"successTertiary sizeM solid rounded",isPreviews:!0},exports.defaultFieldProps=G,exports.defaultFieldSizeL=U,exports.defaultFieldSizeM=H,exports.defaultFieldSizeS=W,exports.defaultFieldSizeXL=J,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=Y,exports.focusOnErrorDecorator=Z,exports.formTypes=Me,exports.generateField=Fe,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]=L.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||B.isPossiblePhoneNumber(e,"RU"),exports.sendFormDataToServer=async(e,t)=>{try{return{response:await A.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=ae;
@@ -1 +1 @@
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 s}from"react/jsx-runtime";import o,{useEffect as n,useMemo as l,useCallback as d,useState as u,createElement as c}from"react";import m from"clsx";import{Checkbox as p}from"@itcase/ui-web/components/Checkbox";import{useDeviceTargetClass as f,useStyles as g,useDevicePropsGenerator as h}from"@itcase/ui-core/hooks";import{Divider as y}from"@itcase/ui-web/components/Divider";import{Text as _}from"@itcase/ui-web/components/Text";import T from"axios";import{FORM_ERROR as b,getIn as v,setIn as S}from"final-form";import I from"final-form-focus";import x from"lodash/camelCase";import P from"lodash/snakeCase";import{ChipsGroup as C,Chips as z}from"@itcase/ui-web/components/Chips";import{Choice as M}from"@itcase/ui-web/components/Choice";import{Code as w}from"@itcase/ui-web/components/Code";import{Icon as N}from"@itcase/ui-web/components/Icon";import{Dadata as k}from"@itcase/ui-web/components/Dadata";import{DatePickerInput as B}from"@itcase/ui-web/components/DatePicker";import V from"lodash/castArray";import{Dropzone as A}from"@itcase/ui-web/components/Dropzone";import{Title as F}from"@itcase/ui-web/components/Title";import{Input as q}from"@itcase/ui-web/components/Input";import{InputNumber as D}from"@itcase/ui-web/components/InputNumber";import{useIMask as $}from"react-imask";import{InputPassword as K}from"@itcase/ui-web/components/InputPassword";import{Radio as E}from"@itcase/ui-web/components/Radio";import{Segmented as L}from"@itcase/ui-web/components/Segmented";import{Select as R}from"@itcase/ui-web/components/Select";import{Switch as W}from"@itcase/ui-web/components/Switch";import{Textarea as H}from"@itcase/ui-web/components/Textarea";import{Button as G}from"@itcase/ui-web/components/Button";import{Group as O}from"@itcase/ui-web/components/Group";import{Loader as j}from"@itcase/ui-web/components/Loader";import{Notification as U}from"@itcase/ui-web/components/Notification";import{isPossiblePhoneNumber as J}from"libphonenumber-js";const Q={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-адрес"}},Z={appearance:"defaultPrimary sizeL ghost rounded",width:"fill",errorAppearance:"errorPrimary sizeL ghost rounded",requiredAppearance:"requirePrimary sizeL ghost rounded"},X={width:"fill",direction:"vertical",labelTextColor:"surfaceTextPrimary",messageTextColor:"surfaceTextSecondary",dividerFill:"errorPrimary",errorMessageTextColor:"errorTextSecondary",helpTextColor:"surfaceTextQuaternary",requiredMessageTextColor:"warningTextSecondary",showMessage:!0},Y={size:"s",labelTextSize:"s",messageTextSize:"s",errorMessageTextSize:"s",helpTextSize:"s",requiredMessageTextSize:"s",...X},ee={size:"m",labelTextSize:"s",messageTextSize:"s",errorMessageTextSize:"s",helpTextSize:"s",requiredMessageTextSize:"s",...X},te={size:"l",labelTextSize:"s",messageTextSize:"s",errorMessageTextSize:"s",helpTextSize:"s",requiredMessageTextSize:"s",...X},re={size:"xl",labelTextSize:"s",messageTextSize:"s",errorMessageTextSize:"s",helpTextSize:"s",requiredMessageTextSize:"s",...X};function ae(e){const{className:t,dataTestId:r,dataTour:a,type:o,label:n,labelHidden:d,labelTextColor:u,labelTextSize:c,labelTextWeight:p,messageTextSize:h,desc:T,descTextColor:b,descTextSize:v,descTextWeight:S,afterItem:I,beforeItem:x,dividerDirection:P,dividerFill:C,dividerSize:z,dividerWidth:M,errorKey:w,errorMessage:N,fieldClassName:k,helpText:B,helpTextColor:V,helpTextColorSuccess:A,helpTextSize:F,helpTextWeight:q,inputName:D,inputValue:$,metaActive:K,metaError:E,showDivider:L,showMessage:R,tag:W="div",before:H,after:G,isDisabled:O,isErrorState:j,isHidden:U,isRequired:J,isValidState:Q,children:Z}=e,X=l(()=>m(t,Q&&"form__item_state_success",J&&"form__item_state_required",O&&"form__item_state_disabled",K&&"form__item_state_focus",$&&"form__item_state_filled",j&&`form__item_state_${w}`),[t,j,Q,J,K,$,O,E]),Y=l(()=>m(k,Q&&`${k}_state_success`,K&&`${k}_state_focus`,$&&`${k}_state_filled`,O&&`${k}_state_disabled`,j&&`${k}_state_${w}`),[k,j,Q,K,$,O,E]),ee=f(e,{prefix:"form-field_size_",propsKey:"size"}),te=f(e,{prefix:"fill_",propsKey:"fill"}),re=f(e,{prefix:"fill_",propsKey:"inputFill"}),ae=f(e,{prefix:"form-field_shape_",propsKey:"shape"}),ie=f(e,{prefix:"form-field__item-value_shape_",propsKey:"inputShape"}),se=f(e,{prefix:"direction_",propsKey:"direction"}),oe=f(e,{prefix:"width_",propsKey:"width"}),{styles:ne}=g(e),le=e[`${w}MessageTextSize`],de=e[`${w}MessageTextColor`],ue=e[`${w}MessageTextWeight`],ce=`${r||`${D}Field`}Message`;return s(W,{className:m(X,"form__item","form-field",o?`form-field_type_${o}`:"form-field_type_classic",ee,te,ae,O&&"form-field_state_disabled",U&&"form-field_state_hidden",se,oe),"data-testid":r,"data-tour":a,style:ne,children:[H,(n||d)&&i("div",{className:m("form-field__label",`text_size_${c}`),"data-testid":`${r}Label`,children:s(_,{size:c,textColor:u,textWeight:p,children:[n,d&&" "]})}),T&&i("div",{className:m("form-field__desc",`text_size_${v}`),"data-testid":`${r}Desc`,children:i(_,{size:v,textColor:b,textWeight:S,children:T})}),s("div",{className:m("form-field__content",re,ie),children:[s("div",{className:m("form-field__content-inner",Y),children:[x,Z,I]}),L&&i(y,{className:"form-field__item-divider",width:M,direction:P,size:z,fill:C})]}),R&&s("div",{className:m("form-field__message",`text_size_${le||F||h}`),"data-testid":ce,children:[j&&N&&i(_,{className:"form-field__message-item form-field__message-item_type-error",dataTestId:`${r}MessageError`,size:le,textColor:de,textWeight:ue,children:N}),Boolean(B)&&(!j||!N)&&i(_,{className:"form-field__message-item form-field__message-item_type_help-text",dataTestId:`${r}MessageHelpText`,size:F,textColor:Q?A:V,textWeight:q,children:B}),(!j&&!B||j&&!B&&!N)&&i(_,{className:"form-field__message-item form-field__message-item_type_help-text",dataTestId:`${r}MessageHelpText`,size:h,children:" "})]}),G]})}function ie(t){const{inputName:r}=t,{change:a}=e();return n(()=>()=>{a(r,void 0)},[]),i(ae,{...t})}const se=(e,t)=>{const r=e,a=Object.keys(t).map(e=>e===b?"notification__item_status_error":`react-select-id_${e}-input`),i=r.find(e=>e.name?v(t,e.name):a.includes(e.id)),s=Object.keys(t);if(!i&&s.length){let e;try{const t=s[0];t===b?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"})},oe=I(void 0,se),ne=(e,t)=>{const[r,a]=e,i=a.submitError,s=a.error;if("non_field_errors"===r||r===b)t.formState.error=s,t.formState.submitError=i;else if(r in t.fields){if(t.fields[r].touched=!0,s||""===s){const e=Object.assign({},t.formState.errors,{[r]:s});t.fields[r].error=s,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}}},le=async(e,t)=>{try{return{response:await T({url:e,method:"POST",data:t}),success:!0}}catch(e){const t=e,r={};return"string"==typeof t.response?.data&&(r[b]="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}}},de=(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"},ue=(e,t)=>S(e,t.path,t.message),ce=Object.create(null);function me(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(ue,ce);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 pe(e){const{fieldProps:t={},input:r={},meta:a={}}=e,i=!a.modifiedSinceLastSubmit&&a.submitError,s=a.error?.key||"error",o=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:s,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:o,isValidState:n}}function fe(e){const{inputProps:t,validationStateKey:r}=e;return l(()=>{const e={};return r?(Object.entries(t||{}).forEach(([t,a])=>{const i=P(t);if(i.startsWith(`${r}_`)){const t=i.replace(`${r}_`,""),s=x(t);e[s]=a}else e[t]||(e[t]=a)}),e):t},[r,t])}const ge=o.memo(function(e){const{dataTestId:r,name:a,initialValue:s,classNameGroupItem:o,fieldProps:n={},inputProps:l={},showMessage:u,isDisabled:c,isRequired:f,onChange:g}=e;return i(t,{type:"checkbox",name:a,initialValue:s,children:function({input:e,meta:t}){const a=d(t=>{t&&(e.onChange(t),g&&g(t.target.checked,e.name))},[g,e.onChange]),{errorKey:s,errorMessage:h,successKey:y,isErrorState:_,isValidState:T}=pe({fieldProps:n,input:e,meta:t}),b=fe({inputProps:l,validationStateKey:_?s:T?y:null}),v=de(e.name,r);return i(ie,{className:m("form-field-checkbox","form__item_checkbox",o),dataTestId:v,errorKey:s,errorMessage:h,fieldClassName:"form-checkbox",inputName:e.name,inputValue:e.checked,metaActive:t.active,metaError:t.error,showMessage:u,tag:"label",isDisabled:c,isErrorState:_,isRequired:f,isValidState:T,...n,children:i(p,{checked:e.checked,isActive:e.checked,isDisabled:c,onBlur:e.onBlur,onChange:a,onFocus:e.onFocus,...b})})}})}),he={appearance:"surfacePrimary sizeM solid rounded",width:"fill",errorAppearance:"errorPrimary sizeM solid rounded",requiredAppearance:"warningPrimary sizeM solid rounded"};function ye(r){const{dataTestId:a,name:s,initialValue:o,classNameGroupItem:u,emptyMessage:c,emptyMessageTextColor:p,emptyMessageTextSize:f,fieldProps:g,inputProps:h,options:y,showMessage:T,isDisabled:b,isRequired:v,onChange:S}=r,{change:I}=e(),x=d((e,t)=>{const r=e.includes(t)?e.filter(e=>e!==t):[...e,t];I(s,r),S&&S(r)},[I,s,S]);return n(()=>{o&&I(s,o)},[o]),i(t,{name:s,initialValue:o,children:function({input:e,meta:t}){const{errorKey:r,errorMessage:s,successKey:o,isErrorState:n,isValidState:d}=pe({fieldProps:g,input:e,meta:t}),S=fe({inputProps:h,validationStateKey:n?r:d?o:null}),I=l(()=>{const t=[{label:null,value:null}];if(e?.value){return y.filter(t=>e.value?.includes(t.value))||t}return t},[e.value]),P=de(e.name,a);return i(ie,{className:m("form-field_chips","form__item_chips",u),dataTestId:P,errorKey:r,errorMessage:s,fieldClassName:"form-chips",inputName:e.name,inputValue:String(e.value??""),metaActive:t.active,metaError:t.error,showMessage:T,isDisabled:b,isErrorState:n,isRequired:v,isValidState:d,...g,children:y?.length?i(C,{direction:"horizontal",gap:"1m",wrap:"wrap",children:y.map(a=>i(z,{className:m(t.active&&"form-chips_state_focus",t.error&&t.touched&&`form-chips_state_${r}`),label:a.label,isActive:I.some(e=>e.value===a.value),isDisabled:a.isDisabled,onClick:()=>x(e.value,a.value),...S},a.value))}):i(_,{size:f,textColor:p,children:c})})}})}const _e={appearance:"defaultPrimary sizeM solid rounded",width:"fill",errorAppearance:"errorPrimary sizeM solid rounded",requiredAppearance:"requirePrimary sizeM solid rounded"},Te=o.memo(function(r){const{dataTestId:a,name:s,initialValue:o,label:n,classNameGroupItem:u,fieldProps:c,inputProps:p,options:f,showMessage:g,isDisabled:h,isCheckbox:y,isRequired:_,onChange:T}=r,{change:b}=e(),v=d((e,t)=>{b(s,t&&e.value),T&&T(e.value,s,t)},[b,T]);return i(t,{name:s,initialValue:o,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:s,errorMessage:o,successKey:d,isErrorState:T,isValidState:b}=pe({fieldProps:c,input:e,meta:t}),S=fe({inputProps:p,validationStateKey:T?s:b?d:null}),I=de(e.name,a);return i(ie,{className:m("form-field_choice","form__item_choice",u),dataTestId:I,label:n,errorKey:s,errorMessage:o,fieldClassName:"form-choice",inputName:e.name,inputValue:String(e.value??""),metaActive:t.active,metaError:t.error,showMessage:g,isDisabled:h,isErrorState:T,isRequired:_,isValidState:b,...c,children:i(M,{className:m(t.active&&"form-choice_state_focus",t.error&&t.touched&&`form-choice_state_${s}`),name:e.name,active:r,options:f,isDisabled:h,isCheckbox:y,setActiveSegment:v,...S})})}})}),be={appearance:"defaultPrimary sizeM solid rounded",width:"fill",errorAppearance:"errorPrimary sizeM solid rounded",requiredAppearance:"requirePrimary sizeM solid rounded",successAppearance:"successPrimary sizeM solid rounded"},ve=o.memo(function(e){const{dataTestId:r,name:a,initialValue:s,label:o,classNameGroupItem:n,fieldProps:l={},inputProps:d={},showMessage:u,isDisabled:c,isRequired:p,type:f,...g}=e,h={...g,...d};return i(t,{name:a,initialValue:s,children:function({input:e,meta:t}){const{errorKey:a,errorMessage:s,successKey:d,isErrorState:f,isValidState:g}=pe({fieldProps:l,input:e,meta:t}),y=fe({inputProps:h,validationStateKey:f?a:g?d:null}),_=de(e.name,r);return i(ie,{className:m("form-field-code","form__item_code",n),dataTestId:_,label:o,errorKey:a,errorMessage:s,fieldClassName:"form-code",inputName:e.name,inputValue:String(e.value??""),metaActive:t.active,metaError:t.error,showMessage:u,isDisabled:c,isErrorState:f,isRequired:p,isValidState:g,...l,children:i(w,{initialValue:e.value,isDisabled:c,onBlur:e.onBlur,onChange:e.onChange,onFocus:e.onFocus,...y})})}})}),Se=o.memo(function(e){const{dataTestId:r,name:a,initialValue:o,classNameGroupItem:n,clearIcon:l,clearIconFill:d,clearIconFillHover:u,clearIconShape:c,clearIconSize:p,Component:f,fieldProps:g={},showMessage:h,isDisabled:y,isRequired:_,onClickClearIcon:T}=e;return i(t,{name:a,initialValue:o,children:function({input:t,meta:a}){const{errorKey:o,errorMessage:b,isErrorState:v,isValidState:S}=pe({fieldProps:g,input:t,meta:a}),I=fe({inputProps:e,validationStateKey:v?o:"success"}),x=de(t.name,r);return s(ie,{className:m("form-field_custom","form__item_custom",n),dataTestId:x,errorKey:o,errorMessage:b,fieldClassName:"form-custom",inputName:t.name,inputValue:String(t.value??""),metaActive:a.active,metaError:a.error,showMessage:h,isDisabled:y,isErrorState:v,isRequired:_,isValidState:S,...g,children:[i(f,{...I,input:t,meta:a,isDisabled:y}),l&&i(N,{className:"form-field__icon",size:p,iconFill:d,iconFillHover:u,imageSrc:l,shape:c,SvgImage:l,onClick:T})]})}})}),Ie={appearance:"defaultPrimary sizeM solid rounded",errorAppearance:"errorPrimary sizeM solid rounded",requiredAppearance:"requirePrimary sizeM solid rounded",successAppearance:"successPrimary sizeM solid rounded"},xe=o.memo(function(e){const{dataTestId:r,name:a,initialValue:s,classNameGroupItem:o,fieldProps:n,inputProps:l,parse:d,showMessage:u,token:c,isDisabled:p,isRequired:f,onDadataAutocomplete:g}=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(!g){throw new Error(`FormFieldDadataInput: 'onDadataAutocomplete' prop is missing, instead got ${g}.`+"\n"+e)}}return i(t,{name:a,initialValue:s,parse:d,children:function({input:e,meta:t}){const{errorKey:a,errorMessage:s,successKey:d,isErrorState:h,isValidState:y}=pe({fieldProps:n,input:e,meta:t}),_=fe({inputProps:l,validationStateKey:h?a:y?d:null}),T=de(e.name,r);return i(ie,{className:m("form-field_input-dadata","form__item_input-dadata",o),dataTestId:T,errorKey:a,errorMessage:s,fieldClassName:"form-dadata",inputName:e.name,inputValue:String(e.value??""),metaActive:t.active,metaError:t.error,showMessage:u,isDisabled:p,isErrorState:h,isRequired:f,isValidState:y,...n,children:i(k,{dataTestId:`${T}Input`,input:e,inputProps:_,meta:t,token:c,setValue:g})})}})}),Pe={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 Ce(e){const{dataTestId:r,name:a,classNameGroupItem:s,datePickerProps:o,fieldProps:n={},inputProps:l={},showMessage:u,isDisabled:c,isRequired:p,onChange:f}=e;return i(t,{name:a,children:function({input:e,meta:t}){const a=d((t,r)=>{o?.selectsRange?e.onChange({endDate:r,startDate:t}):e.onChange(t),f&&f(t,r)},[e.onChange,f]),{errorKey:g,errorMessage:h,successKey:y,isErrorState:_,isValidState:T}=pe({fieldProps:n,input:e,meta:t}),b=fe({inputProps:l,validationStateKey:_?g:T?y:null}),v=de(e.name,r);return i(ie,{className:m("form-field_datepicker","form__item_datepicker",s),dataTestId:v,errorKey:g,errorMessage:h,fieldClassName:"form-datepicker",inputName:e.name,inputValue:String(e.value??""),metaActive:t.active,metaError:t.error,showMessage:u,isDisabled:c,isErrorState:_,isRequired:p,isValidState:T,...n,children:i(B,{name:e.name,datePickerProps:o,endValue:o?.selectsRange?e.value.endDate:null,inputProps:b,value:o?.selectsRange?e.value.startDate:e.value,onBlur:e.onBlur,onChange:a,onFocus:e.onFocus})})}})}var ze={appearance:"defaultSecondary sizeM solid rounded",errorAppearance:"errorTertiary sizeM solid rounded",requiredAppearance:"requireTertiary sizeM solid rounded",showFilename:!0,showFileSize:!0,successAppearance:"successTertiary sizeM solid rounded",isPreviews:!0},Me=["dataTestId","type","name","width","maxFiles","label","classNameGroupItem","dropzoneProps","fieldProps","inputProps","showMessage","isDisabled","isRequired","onClickPreview","onAddFiles","onDeleteFile"];var we=o.memo(function(e){var r=e.dataTestId;e.type;var a=e.name,s=e.width,o=e.maxFiles,n=e.label,u=e.classNameGroupItem,c=e.dropzoneProps,p=e.fieldProps,f=void 0===p?{}:p,g=e.inputProps,h=void 0===g?{}:g,y=e.showMessage,_=e.isDisabled,T=e.isRequired,b=e.onClickPreview,v=e.onAddFiles,S=e.onDeleteFile,I=function(e,t){if(null==e)return{};var r={};for(var a in e)if({}.hasOwnProperty.call(e,a)){if(-1!==t.indexOf(a))continue;r[a]=e[a]}return r}(e,Me),x=Object.assign({},I,h);return i(t,{name:a,children:function(e){var t,a,p,g=e.input,h=e.meta,I=pe({fieldProps:f,input:g,meta:h}),P=I.errorKey,C=I.errorMessage,z=I.successKey,M=I.isErrorState,w=I.isValidState,N=fe({inputProps:x,validationStateKey:M?P:w?z:null}),k=null!=(t=null!=(a=null==c?void 0:c.maxFiles)?a:o)?t:5,B=d(function(e){g.onChange(1===k?e[0]:e)},[g,k]),F=l(function(){return null==g.value||""===g.value?[]:V(g.value)},[g.value]),q=de(g.name,r);return i(ie,Object.assign({className:m("form-field_type_dropzone","form__item_type_dropzone",u),dataTestId:q,width:s,label:n,errorKey:P,errorMessage:C,fieldClassName:"form-dropzone",inputName:g.name,inputValue:(p=g.value,Array.isArray(p)?p.length>0?p:"":null!=p?p:""),metaActive:h.active,metaError:h.error,showMessage:y,isDisabled:_,isErrorState:M,isRequired:T,isValidState:w},f,{children:i(A,Object.assign({},N,{maxFiles:o,dropzoneProps:c,fieldValuesList:F,inputName:g.name,onClickPreview:b,onAddFiles:v,onChangeFiles:B,onDeleteFile:S}))}))}})});const Ne={width:"fill",labelTextSize:"s",messageTextColor:"surfaceTextPrimary",messageTextSize:"s",errorMessageTextColor:"errorTextSecondary",errorMessageTextSize:"s",helpTextSize:"s",requiredMessageTextColor:"warningTextSecondary",requiredMessageTextSize:"s"},ke=o.memo(function(e){const{className:r,dataTestId:a,dataTour:n,name:l,title:d,titleTextColor:u,titleTextSize:c,titleTextWeight:p,label:f,labelTextColor:y,labelTextSize:T,labelTextWeight:b,message:v,messageTextColor:S,messageTextSize:I,messageTextWeight:x,column:P,showGroupMessage:C,before:z,after:M,isActive:w,isDisabled:N,isHidden:k,children:B}=e,V=h(e),{fillActiveClass:A,fillActiveHoverClass:q,fillClass:D,fillDisabledClass:$,fillHoverClass:K,shapeClass:E}=V,{styles:L}=g(e),R=de(l,a);return i(t,{name:l,children:function({input:t,meta:a}){const{errorKey:g,errorMessage:h,isErrorState:V}=pe({fieldProps:e,input:t,meta:a}),W=fe({inputProps:e,validationStateKey:V?g:"success"});return s("div",{className:m("form__group",r,k&&"form__group_hidden",N?$&&`fill_${$}`:w?A&&`fill_active_${A}`:D&&`fill_${D}`,N?$&&`fill_${$}`:w?q&&`fill_active_hover_${q}`:K&&`fill_hover_${K}`,E&&`shape_${E}`,P&&`form__group_column_${P}`),"data-testid":R,"data-tour":n,style:L,children:[s("div",{className:"form__group-wrapper",children:[z,d&&i("div",{className:"form__group-title",children:i(F,{dataTestId:`${R}Title`,size:c,textColor:u,textWeight:p,children:d})}),f&&i("div",{className:"form__group-label",children:i(_,{dataTestId:`${R}Label`,size:T,textColor:y,textWeight:b,children:f})}),i("div",{className:"form__group-items",children:B}),M]}),C&&s(o.Fragment,{children:[V&&h&&i(_,{className:`form__group-message form__group-message_type-${g}`,dataTestId:`${R}MessageError`,size:W.messageTextSize,textColor:W.messageTextColor,textWeight:W.messageTextWeight,children:h}),Boolean(v)&&(!V||!h)&&i(_,{className:"form__group-message",dataTestId:`${l}GroupMessage`,size:I,textColor:S,textWeight:x,children:v}),!V&&!v&&i(_,{className:"form__group-message",size:I,children:" "})]})]})}})}),Be={appearance:"defaultPrimary sizeM solid rounded",width:"fill",errorAppearance:"errorPrimary sizeM solid rounded",requiredAppearance:"requirePrimary sizeM solid rounded",successAppearance:"successPrimary sizeM solid rounded"},Ve=o.memo(function(e){const{dataTestId:r,name:a,initialValue:o,classNameGroupItem:n,clearIcon:l,clearIconFill:u,clearIconFillHover:c,clearIconShape:p,clearIconSize:f,fieldProps:g={},inputProps:h={},parse:y,showMessage:_,isDisabled:T,isRequired:b,onClickClearIcon:v,onChange:S}=e;return i(t,{name:a,initialValue:o,parse:y,children:function({input:e,meta:t}){const a=d(t=>{e.onChange(t),S&&S(t.target.value,e.name)},[S,e]),{errorKey:o,errorMessage:y,successKey:I,isErrorState:x,isValidState:P}=pe({fieldProps:g,input:e,meta:t}),C=fe({inputProps:h,validationStateKey:x?o:P?I:null}),z=de(e.name,r);return s(ie,{className:m("form-field_input","form__item_input",n),dataTestId:z,errorKey:o,errorMessage:y,fieldClassName:"form-input",inputName:e.name,inputValue:String(e.value??""),metaActive:t.active,metaError:t.error,showMessage:_,isDisabled:T,isErrorState:x,isRequired:b,isValidState:P,...g,children:[i(q,{className:m(t.active&&"input_state_focus",t.error&&t.touched&&`input_state_${o}`),dataTestId:`${z}Input`,type:"text",name:e.name,autoComplete:"nope",value:String(e.value??""),isDisabled:T,onBlur:e.onBlur,onChange:a,onFocus:e.onFocus,...C}),l&&i(N,{className:"form-field__icon",dataTestId:`${z}InputIcon`,size:f,iconFill:u,iconFillHover:c,imageSrc:"string"==typeof l&&l,shape:p,SvgImage:"string"!=typeof l&&l,onClick:v})]})}})}),Ae={appearance:"defaultPrimary sizeM solid rounded",width:"fill",errorAppearance:"errorPrimary sizeM solid rounded",requiredAppearance:"requirePrimary sizeM solid rounded",successAppearance:"successPrimary sizeM solid rounded"},Fe=o.memo(function(e){const{dataTestId:r,name:a,initialValue:s,classNameGroupItem:o,fieldProps:n={},inputProps:l={},inputType:u="custom",parse:c,showMessage:p,isDisabled:f,isRequired:g,onChange:h}=e;return i(t,{name:a,initialValue:s,parse:c,children:function({input:e,meta:t}){const a=d(t=>{e.onChange(t),h&&h(t.target.value)},[h,e.onChange]),{errorKey:s,errorMessage:c,successKey:y,isErrorState:_,isValidState:T}=pe({fieldProps:n,input:e,meta:t}),b=fe({inputProps:l,validationStateKey:_?s:T?y:null}),v=de(e.name,r);return i(ie,{className:m("form-field_input-number","form__item_input-number",o),dataTestId:v,errorKey:s,errorMessage:c,fieldClassName:"form-input-number",inputName:e.name,inputValue:String(e.value??""),metaActive:t.active,metaError:t.error,showMessage:p,isDisabled:f,isErrorState:_,isRequired:g,isValidState:T,...n,children:i(D,{className:m(t.active&&"input_state_focus",(t.submitFailed||t.touched)&&t.error&&`input_state_${s}`),dataTestId:`${v}InputNumber`,type:u,name:e.name,value:Number(e.value)||0,onChange:a,...b})})}})}),qe={appearance:"defaultPrimary sizeM solid rounded",width:"fill",errorAppearance:"errorPrimary sizeM solid rounded",requiredAppearance:"requirePrimary sizeM solid rounded",successAppearance:"successPrimary sizeM solid rounded"},De=o.memo(function(e){const{dataTestId:r,name:a,initialValue:o,classNameGroupItem:l,clearIcon:d,clearIconFill:u,clearIconFillHover:c,clearIconShape:p,clearIconSize:f,fieldProps:g={},inputProps:h={},optionsMask:y,showMessage:_,unmasked:T,isDisabled:b,isRequired:v,onClickClearIcon:S}=e;return i(t,{name:a,initialValue:o,children:function({input:e,meta:t}){const{ref:a,unmaskedValue:I,value:x,setUnmaskedValue:P}=$(y,{defaultValue:o,onAccept:(t,r,a)=>{a&&e.onChange(r._unmaskedValue)}});n(()=>{e.value!==I&&P(e.value.replace(T,""))},[e.value]);const{errorKey:C,errorMessage:z,successKey:M,isErrorState:w,isValidState:k}=pe({fieldProps:g,input:e,meta:t}),B=fe({inputProps:h,validationStateKey:w?C:k?M:null}),V=de(e.name,r);return s(ie,{className:m("form-field-masked-input","form__item_masked-input",l),dataTestId:V,errorKey:C,errorMessage:z,fieldClassName:"form-maskedInput",inputName:e.name,inputValue:String(e.value??T??""),metaActive:t.active,metaError:t.error,showMessage:_,isDisabled:b,isErrorState:w,isRequired:v,isValidState:k,...g,children:[i(q,{className:m(t.active&&"input_state_focus",t.error&&t.touched&&`input_state_${C}`),dataTestId:`${V}Input`,ref:a,value:x,onBlur:e.onBlur,onFocus:e.onFocus,...B}),d&&i(N,{className:"form-field__icon",size:f,iconFill:u,iconFillHover:c,imageSrc:d,shape:p,SvgImage:d,onClick:S})]})}})}),$e={appearance:"defaultPrimary sizeM solid rounded",errorAppearance:"errorPrimary sizeM solid rounded",requiredAppearance:"requirePrimary sizeM solid rounded",successAppearance:"successPrimary sizeM solid rounded"},Ke=o.memo(function(e){const{dataTestId:r,name:a,initialValue:s,classNameGroupItem:o,fieldProps:n,inputProps:l,parse:u,showMessage:c,isDisabled:p,isRequired:f,onChange:g}=e;return i(t,{name:a,initialValue:s,parse:u,children:function({input:e,meta:t}){const a=d(t=>{e.onChange(t),g&&g(t.target.value,e.name)},[g,e.onChange]),{errorKey:s,errorMessage:u,successKey:h,isErrorState:y,isValidState:_}=pe({fieldProps:n,input:e,meta:t}),T=fe({inputProps:l,validationStateKey:y?s:_?h:null}),b=de(e.name,r);return i(ie,{className:m("form-field_input-password","form__item_input-password",o),dataTestId:b,errorKey:s,errorMessage:u,fieldClassName:"form-password",inputName:e.name,inputValue:String(e.value??""),metaActive:t.active,metaError:t.error,showMessage:c,isDisabled:p,isErrorState:y,isRequired:f,isValidState:_,...n,children:i(K,{className:m(t.active&&"input-password_state_focus",t.error&&t.touched&&`input-password_state_${s}`),dataTestId:`${b}InputPassword`,name:e.name,autoComplete:"nope",value:String(e.value??""),isDisabled:p,onBlur:e.onBlur,onChange:a,onFocus:e.onFocus,...T})})}})}),Ee={appearance:"defaultPrimary sizeM solid circular",errorAppearance:"errorPrimary sizeM solid circular",requiredAppearance:"requirePrimary sizeM solid circular",successAppearance:"successPrimary sizeM solid circular"};function Le(e){const{input:t,inputProps:r,options:a,onChange:s}=e,n=d(e=>{t.onChange(e),s&&s(e,t.name)},[t,s]),l=d(e=>{e.target.checked&&n(e.target.value)},[s]);return i(o.Fragment,{children:a.map(e=>i(E,{className:"form-radio__item",label:e.label,checked:e.value===t.value,value:e.value,onChange:l,...r},e.value))})}const Re=o.memo(function(e){const{dataTestId:r,name:a,classNameGroupItem:s,fieldProps:o={},inputProps:n={},options:l=[],showMessage:d,isDisabled:u,isRequired:c,onChange:p}=e;return i(t,{name:a,children:function({input:e,meta:t}){const{errorKey:a,errorMessage:f,successKey:g,isErrorState:h,isValidState:y}=pe({fieldProps:o,input:e,meta:t}),_=fe({inputProps:n,validationStateKey:h?a:y?g:null}),T=de(e.name,r);return i(ie,{className:m("form-field_radio","form__item_radio",s),dataTestId:T,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:h,isRequired:c,isValidState:y,...o,children:i(Le,{input:e,inputProps:_,options:l,onChange:p})})}})}),We={appearance:"defaultPrimary sizeM solid rounded",width:"fill",errorAppearance:"errorPrimary sizeM solid rounded",requiredAppearance:"requirePrimary sizeM solid rounded"};function He(r){const{dataTestId:a,name:s,fieldProps:o,inputProps:n,options:u,showMessage:c,isDisabled:p,isRequired:f}=r,{change:g}=e(),h=d(e=>{g(s,e.value)},[g]);return i(t,{name:s,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:s,errorMessage:d,successKey:g,isErrorState:y,isValidState:_}=pe({fieldProps:o,input:e,meta:t}),T=fe({inputProps:n,validationStateKey:y?s:_?g:null}),b=de(e.name,a);return i(ie,{className:m("form-field_segmented","form__item_segmented"),dataTestId:b,errorKey:s,errorMessage:d,fieldClassName:"form-segmented",inputName:e.name,inputValue:String(e.value??""),metaActive:t.active,metaError:t.error,showMessage:c,isDisabled:p,isErrorState:y,isRequired:f,isValidState:_,...o,children:i(L,{dataTestId:b,activeSegment:r,segments:u,isDisabled:p,setActiveSegment:h,...T})})}})}const Ge={appearance:"defaultPrimary sizeM solid rounded",errorAppearance:"errorPrimary sizeM solid rounded",requiredAppearance:"requirePrimary sizeM solid rounded",successAppearance:"successPrimary sizeM solid rounded"};function Oe(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),s=a.includes(e.label);let o=[];e.options&&(o=Oe({options:e.options,selectValue:r})),t||s?i.push(e):o.length&&(i=i.concat(o))}),i}const je=o.memo(function(e){const{dataTestId:r,name:a,initialValue:s,classNameGroupItem:o,fieldProps:c,options:p=[],selectProps:f,selectRef:g,showMessage:h,isDisabled:y,isRequired:_,onChange:T,onInputChange:b}=e;return i(t,{name:a,initialValue:s,children:function({input:e,meta:t}){const[a,s]=u(null),v=l(()=>{const t=Oe({options:p,selectValue:e.value});return!t.length&&e.value?.length&&t.push({label:e.label,value:e.value}),t},[e.label,e.value]),S=d(t=>{e.onChange(t),T&&T(t,{name:e.name})},[T,e.onChange]),I=d(e=>{const t=Array.isArray(e)?e.map(e=>e.value):e?.value||null;s(e),S(t)},[S]);n(()=>{s(v)},[v]);const{errorKey:x,errorMessage:P,successKey:C,isErrorState:z,isValidState:M}=pe({fieldProps:c,input:e,meta:t}),w=fe({inputProps:f,validationStateKey:z?x:M?C:null}),N=de(e.name,r);return i(ie,{className:m("form-field_select","form__item_select",o),dataTestId:N,errorKey:x,errorMessage:P,fieldClassName:"form-select",inputName:e.name,inputValue:String(e.value??""),metaActive:t.active,metaError:t.error,showMessage:h,isDisabled:y,isErrorState:z,isRequired:_,isValidState:M,...c,children:i(R,{className:"form-select-item",dataTestId:`${N}Select`,ref:g,instanceId:`id_${e.name}`,options:p,value:a,isDisabled:y,onChange:I,onInputChange:b,...w})})}})}),Ue={appearance:"defaultPrimary sizeL solid rounded",errorAppearance:"errorPrimary sizeL solid rounded",requiredAppearance:"requirePrimary sizeL solid rounded",successAppearance:"successPrimary sizeL solid rounded"},Je=o.memo(function(e){const{dataTestId:r,name:a,classNameGroupItem:s,fieldProps:o={},inputProps:n={},showMessage:l,isDisabled:u,isRequired:c,onChange:p}=e;return i(t,{type:"checkbox",name:a,children:function({input:e,meta:t}){const a=d(t=>{e.onChange(t),p&&p(t.target.checked,e.name)},[p,e.onChange]),{errorKey:f,errorMessage:g,successKey:h,isErrorState:y,isValidState:_}=pe({fieldProps:o,input:e,meta:t}),T=fe({inputProps:n,validationStateKey:y?f:_?h:null}),b=de(e.name,r);return i(ie,{className:m("form-field-switch","form__item_switch",s),dataTestId:b,errorKey:f,errorMessage:g,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:_,...o,children:i(W,{isActive:e.checked,isDisabled:u,onChange:a,...T})})}})}),Qe={appearance:"defaultPrimary sizeM solid rounded",errorAppearance:"errorPrimary sizeM solid rounded",requiredAppearance:"requirePrimary sizeM solid rounded",successAppearance:"successPrimary sizeM solid rounded"},Ze=o.memo(function(e){const{dataTestId:r,name:a,classNameGroupItem:s,fieldProps:o={},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:p,isErrorState:f,isValidState:g}=pe({fieldProps:o,input:e,meta:t}),h=fe({inputProps:n,validationStateKey:f?a:g?p:null}),y=de(e.name,r);return i(ie,{className:m("form-field_textarea","form__item_textarea",s),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:g,...o,children:i(H,{className:m(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,...h})})}})});function Xe(e,t){switch(e.type){case Ye.password:return i(Ke,{...e,dataTestId:e.dataTestId??t.dataTestId},t.key);case Ye.primaryButton:return c(G,{...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 Ye.secondaryButton:return c(G,{...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 Ye.tertiaryButton:return c(G,{...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 Ye.checkbox:return i(ge,{...e,dataTestId:e.dataTestId??t.dataTestId},t.key);case Ye.choice:return i(Te,{...e,dataTestId:e.dataTestId??t.dataTestId},t.key);case Ye.code:return i(ve,{...e,dataTestId:e.dataTestId??t.dataTestId},t.key);case Ye.chips:return i(ye,{...e,dataTestId:e.dataTestId??t.dataTestId},t.key);case Ye.switch:return i(Je,{...e,dataTestId:e.dataTestId??t.dataTestId},t.key);case Ye.segmented:return i(He,{...e,dataTestId:e.dataTestId??t.dataTestId},t.key);case Ye.datePicker:return i(Ce,{...e,dataTestId:e.dataTestId??t.dataTestId},t.key);case Ye.fileInput:return i(we,{...e,dataTestId:e.dataTestId??t.dataTestId},t.key);case Ye.radioGroup:return i(Re,{...e,dataTestId:e.dataTestId??t.dataTestId},t.key);case Ye.select:return i(je,{...e,dataTestId:e.dataTestId??t.dataTestId},t.key);case Ye.text:return i(Ve,{...e,dataTestId:e.dataTestId??t.dataTestId},t.key);case Ye.textarea:return i(Ze,{...e,dataTestId:e.dataTestId??t.dataTestId},t.key);case Ye.maskedInput:return i(De,{...e,dataTestId:e.dataTestId??t.dataTestId},t.key);case Ye.custom:return i(Se,{...e,dataTestId:e.dataTestId??t.dataTestId},t.key);case Ye.dadataInput:return i(xe,{...e,dataTestId:e.dataTestId??t.dataTestId},t.key);case Ye.inputNumber:return i(Fe,{...e,dataTestId:e.dataTestId??t.dataTestId},t.key);case Ye.group:return i(ke,{...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 Xe(i,{...t,dataTestId:i.dataTestId??t.dataTestId,key:r+"_form_group"})})},t.key)}}const Ye={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"},et=o.forwardRef(function(e,t){const{className:n,dataTestId:l,dataTour:u,type:c,initialValues:p,initialValuesEqual:f,config:y,validationSchema:T,title:b,desc:v,buttonGap:S,dataTestIdButtons:I,dataTestIdPrimaryButton:x,dataTestIdSecondaryButton:P,dataTestIdTertiaryButton:C,dataTourButtons:z,dataTourPrimaryButton:M,dataTourSecondaryButton:w,dataTourTertiaryButton:N,disableFieldsAutoComplete:k=!1,fieldsGap:B,groupGap:V,language:A,mutators:q,notificationCloseButton:D,notificationTestAlign:$,notificationType:K,primaryButton:E,renderFieldsWrapper:L=e=>e,secondaryButton:R,tertiaryButton:W,before:H,after:J,isLoading:Q,onClickSecondaryButton:Z,onClickTertiaryButton:X,onChangeFormValues:Y,onSubmit:ee}=e,te=y.fields||y,re=y.title||y.form?.title,ae=y.form?.dataTestId||l,ie=me(T,A),se=d(e=>{t&&"object"==typeof t&&(t.current=e)},[t]),ne=h(e),{directionClass:le="vertical",fillClass:de,titleFill:ue,titlePosition:ce,titleTextColor:pe,titleTextSize:fe,titleTextWeight:ge,descSize:he,descTextColor:ye,descTextWeight:_e,buttonDirection:Te="vertical",buttonFill:be,buttonJustifyContent:ve,buttonPadding:Se,buttonPosition:Ie,elevationClass:xe,heightClass:Pe,loader:Ce,loaderAppearance:ze,loaderFill:Me="surfacePrimary",loaderItemFill:we="accentItemSecondary",loaderShape:Ne,loaderSize:ke="l",loaderText:Be,loaderType:Ve="dot",primaryButtonAppearance:Ae,primaryButtonFill:Fe,primaryButtonFillHover:qe,primaryButtonHtmlType:De,primaryButtonIsDisabled:$e,primaryButtonIsLoading:Ke,primaryButtonLabel:Ee,primaryButtonLabelSize:Le,primaryButtonLabelTextColor:Re,primaryButtonLabelTextWeight:We,primaryButtonSize:He,secondaryButtonAppearance:Ge,secondaryButtonFill:Oe,secondaryButtonFillHover:je,secondaryButtonHtmlType:Ue,secondaryButtonIsDisabled:Je,secondaryButtonIsLoading:Qe,secondaryButtonLabel:Ze,secondaryButtonLabelSize:Ye,secondaryButtonLabelTextColor:et,secondaryButtonLabelTextWeight:tt,secondaryButtonSize:rt,shapeClass:at,tertiaryButtonAppearance:it,tertiaryButtonFill:st,tertiaryButtonFillHover:ot,tertiaryButtonHtmlType:nt,tertiaryButtonIsDisabled:lt,tertiaryButtonIsLoading:dt,tertiaryButtonLabel:ut,tertiaryButtonLabelSize:ct,tertiaryButtonLabelTextColor:mt,tertiaryButtonLabelTextWeight:pt,tertiaryButtonSize:ft,widthClass:gt}=ne,{styles:ht,wrapper:yt}=g(e);return i(r,{initialValues:p,initialValuesEqual:f,render:({form:e,handleSubmit:t,modifiedSinceLastSubmit:r,submitError:d})=>s("form",{className:m(n,"form",c&&`form_type_${c}`,gt&&`width_${gt}`,Pe&&`height_${Pe}`,ce&&`form_title-position_${ce}`,Ie&&`form_button-position_${Ie}`,de&&`fill_${de}`,at&&`shape_${at}`,le&&`direction_${le}`,xe&&`elevation_${xe}`),ref:()=>se(e),autoCapitalize:k?"off":void 0,autoComplete:k?"off":void 0,autoCorrect:k?"off":void 0,"data-testid":ae||l&&`${l}Form`||"Form","data-tour":u,spellCheck:k?"false":void 0,style:ht,onSubmit:t,children:[H,(b||re)&&i(F,{className:"form__title",dataTestId:ae?`${ae}Title`:"FormTitle",size:fe,fill:ue,textColor:pe,textWeight:ge,children:b||re}),v&&i(_,{className:"form__desc",size:he,textColor:ye,textWeight:_e,"data-testid":ae?`${ae}Desc`:"FormDesc",children:v}),d&&!r&&i("div",{className:m("notification","form-notification",K?`form-notification_${K}`:"form-notification_global"),children:i(U,{appearance:"errorPrimary sizeS solid rounded",dataTestId:ae?`${ae}Notification`:"FormNotification",type:"global",width:"fill",status:"error",text:e.getState().submitError,textAlign:$,closeIcon:D})}),Y&&i(a,{subscription:{values:!0},onChange:Y}),Boolean(te&&Object.keys(te).length)&&i(o.Fragment,{children:L(s(O,{className:"form__wrapper",direction:"vertical",gap:B||V,style:yt,children:[Object.keys(te).map(e=>Xe(te[e],{dataTestId:ae,key:e})),Q&&(Ce||i(j,{appearance:ze,className:"form__loader",dataTestId:ae?`${ae}Loader`:"FormLoader",type:Ve,size:ke,fill:Me,text:Be,itemFill:we,shape:Ne}))]}))}),y.buttons?i(O,{className:"form__button",dataTestId:I||ae&&`${ae}Buttons`,dataTour:z,direction:Te,justifyContent:ve,fill:be,padding:Se,gap:S,children:Object.keys(y.buttons).map(e=>Xe(y.buttons[e],{dataTestId:ae,key:e,primaryButtonHtmlType:De,primaryButtonIsDisabled:$e,primaryButtonIsLoading:Ke,secondaryButtonHtmlType:Ue,secondaryButtonIsDisabled:Je,secondaryButtonIsLoading:Qe,tertiaryButtonHtmlType:nt,tertiaryButtonIsDisabled:lt,tertiaryButtonIsLoading:dt,onClickSecondaryButton:Z,onClickTertiaryButton:X}))}):(Ee||E||Ze||R||W||ut)&&s(O,{className:"form__button",dataTestId:I||ae&&`${ae}Buttons`,dataTour:z,direction:Te,justifyContent:ve,fill:be,padding:Se,gap:S,children:[Ee?i(G,{appearance:Ae,className:"form__button-item",dataTestId:x||ae&&`${ae}PrimaryButton`||"FormPrimaryButton",dataTour:M,width:"fill",size:He,fill:Fe,fillHover:qe,label:Ee,labelTextColor:Re,labelTextSize:Le,labelTextWeight:We,htmlType:De||"submit",isDisabled:$e,isLoading:Ke}):E,Ze?i(G,{appearance:Ge,className:"form__button-item",dataTestId:P||ae&&`${ae}SecondaryButton`||"FormSecondaryButton",dataTour:w,width:"fill",size:rt,fill:Oe,fillHover:je,label:Ze,labelTextColor:et,labelTextSize:Ye,labelTextWeight:tt,htmlType:Ue,isDisabled:Je,isLoading:Qe,onClick:Z}):R,ut?i(G,{appearance:it,className:"form__button-item",dataTestId:C||ae&&`${ae}TertiaryButton`||"FormTertiaryButton",dataTour:N,width:"fill",size:ft,fill:st,fillHover:ot,label:ut,labelTextColor:mt,labelTextSize:ct,labelTextWeight:pt,htmlType:nt,isDisabled:lt,isLoading:dt,onClick:X}):W]}),J]}),decorators:[oe],mutators:q,subscription:{modifiedSinceLastSubmit:!0,pristine:!0,submitError:!0,submitting:!0},validate:ie,onSubmit:ee})}),tt=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:""},rt=e=>{const t={},r=e.response?.data||e;if(r)if("string"==typeof r)t[b]="Во время обработки запроса произошла ошибка, попробуйте повторить запрос";else for(const e in r){t["non_field_errors"===e||"detail"===e?b:e]=V(r[e])[0]}else t[b]=e.message||"Произошла ошибка";return t},at=e=>!e||J(e,"RU"),it=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())},st=e=>{const t=e instanceof Date?e:new Date(e);return!isNaN(t.getTime())},ot=e=>{const t=Object.entries(e.fields);return e.requiredFields=t.reduce((e,[t,r])=>(r.exclusiveTests?.required&&e.push(t),e),[]),e};export{Q as DEFAULT_MESSAGES_FIELDS,ie as FieldWrapper,ae as FieldWrapperBase,et as FinalForm,ge as FormFieldCheckbox,ye as FormFieldChips,Te as FormFieldChoice,ve as FormFieldCode,Se as FormFieldCustom,xe as FormFieldDadataInput,Ce as FormFieldDatePicker,we as FormFieldFileInput,Ve as FormFieldInput,Fe as FormFieldInputNumber,De as FormFieldMaskedInput,Ke as FormFieldPassword,Re as FormFieldRadioGroup,He as FormFieldSegmented,je as FormFieldSelect,Je as FormFieldSwitch,Ze as FormFieldTextarea,ke as FormGroup,ot as addRequiredFieldsParamToSchema,de as createDataTestIdField,st as dateValidation,Z as defaultCheckboxProps,he as defaultChipsProps,_e as defaultChoiceProps,be as defaultCodeProps,Ie as defaultDadataInputProps,Pe as defaultDatepickerProps,ze as defaultDropzoneProps,X as defaultFieldProps,te as defaultFieldSizeL,ee as defaultFieldSizeM,Y as defaultFieldSizeS,re as defaultFieldSizeXL,Ne as defaultGroupProps,Ae as defaultInputNumberProps,Be as defaultInputProps,qe as defaultMaskedInputProps,$e as defaultPasswordProps,Ee as defaultRadioProps,We as defaultSegmentedProps,Ge as defaultSelectProps,Ue as defaultSwitchProps,Qe as defaultTextareaProps,it as emailValidation,se as focusOnError,oe as focusOnErrorDecorator,Ye as formTypes,Xe as generateField,rt as getErrorsForFinalForm,tt as parseNumericField,at as phoneValidation,le as sendFormDataToServer,ne as setErrorsMutator,me as useYupValidationSchema};
1
+ import{useForm as e,Field as t,Form as r,FormSpy as a}from"react-final-form";export{Field,useField,useForm,useFormState}from"react-final-form";import{jsx as i,jsxs as s}from"react/jsx-runtime";import o,{useEffect as n,useMemo as l,useCallback as d,useState as u,createElement as c}from"react";import m from"clsx";import{Checkbox as p}from"@itcase/ui-web/components/Checkbox";import{useDeviceTargetClass as f,useStyles as g,useDevicePropsGenerator as h}from"@itcase/ui-core/hooks";import{Divider as y}from"@itcase/ui-web/components/Divider";import{Text as _}from"@itcase/ui-web/components/Text";import T from"axios";import{FORM_ERROR as b,getIn as S,setIn as v}from"final-form";import I from"final-form-focus";import x from"lodash/camelCase";import P from"lodash/snakeCase";import{ChipsGroup as C,Chips as z}from"@itcase/ui-web/components/Chips";import{Choice as M}from"@itcase/ui-web/components/Choice";import{Code as w}from"@itcase/ui-web/components/Code";import{Icon as N}from"@itcase/ui-web/components/Icon";import{Dadata as k}from"@itcase/ui-web/components/Dadata";import{DatePickerInput as B}from"@itcase/ui-web/components/DatePicker";import V from"lodash/castArray";import{Dropzone as F}from"@itcase/ui-web/components/Dropzone";import{Title as A}from"@itcase/ui-web/components/Title";import{Input as q}from"@itcase/ui-web/components/Input";import{InputNumber as D}from"@itcase/ui-web/components/InputNumber";import{useIMask as $}from"react-imask";import{InputPassword as K}from"@itcase/ui-web/components/InputPassword";import{Radio as E}from"@itcase/ui-web/components/Radio";import{Segmented as L}from"@itcase/ui-web/components/Segmented";import{Select as R}from"@itcase/ui-web/components/Select";import{Switch as W}from"@itcase/ui-web/components/Switch";import{Textarea as H}from"@itcase/ui-web/components/Textarea";import{Button as G}from"@itcase/ui-web/components/Button";import{Group as O}from"@itcase/ui-web/components/Group";import{Loader as j}from"@itcase/ui-web/components/Loader";import{Notification as U}from"@itcase/ui-web/components/Notification";import{isPossiblePhoneNumber as J}from"libphonenumber-js";const Q={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-адрес"}},Z={appearance:"defaultPrimary sizeL ghost rounded",width:"fill",errorAppearance:"errorPrimary sizeL ghost rounded",requiredAppearance:"requirePrimary sizeL ghost rounded"},X={width:"fill",direction:"vertical",labelTextColor:"surfaceTextPrimary",messageTextColor:"surfaceTextSecondary",dividerFill:"errorPrimary",errorMessageTextColor:"errorTextSecondary",helpTextColor:"surfaceTextQuaternary",requiredMessageTextColor:"warningTextSecondary",showMessage:!0},Y={size:"s",labelTextSize:"s",messageTextSize:"s",errorMessageTextSize:"s",helpTextSize:"s",requiredMessageTextSize:"s",...X},ee={size:"m",labelTextSize:"s",messageTextSize:"s",errorMessageTextSize:"s",helpTextSize:"s",requiredMessageTextSize:"s",...X},te={size:"l",labelTextSize:"s",messageTextSize:"s",errorMessageTextSize:"s",helpTextSize:"s",requiredMessageTextSize:"s",...X},re={size:"xl",labelTextSize:"s",messageTextSize:"s",errorMessageTextSize:"s",helpTextSize:"s",requiredMessageTextSize:"s",...X};function ae(e){const{className:t,dataTestId:r,dataTour:a,type:o,label:n,labelHidden:d,labelTextColor:u,labelTextSize:c,labelTextWeight:p,messageTextSize:h,desc:T,descTextColor:b,descTextSize:S,descTextWeight:v,afterItem:I,beforeItem:x,dividerDirection:P,dividerFill:C,dividerSize:z,dividerWidth:M,errorKey:w,errorMessage:N,fieldClassName:k,helpText:B,helpTextColor:V,helpTextColorSuccess:F,helpTextSize:A,helpTextWeight:q,inputName:D,inputValue:$,metaActive:K,metaError:E,showDivider:L,showMessage:R,tag:W="div",before:H,after:G,isDisabled:O,isErrorState:j,isHidden:U,isRequired:J,isValidState:Q,children:Z}=e,X=l(()=>m(t,Q&&"form__item_state_success",J&&"form__item_state_required",O&&"form__item_state_disabled",K&&"form__item_state_focus",$&&"form__item_state_filled",j&&`form__item_state_${w}`),[t,j,Q,J,K,$,O,E]),Y=l(()=>m(k,Q&&`${k}_state_success`,K&&`${k}_state_focus`,$&&`${k}_state_filled`,O&&`${k}_state_disabled`,j&&`${k}_state_${w}`),[k,j,Q,K,$,O,E]),ee=f(e,{prefix:"form-field_size_",propsKey:"size"}),te=f(e,{prefix:"fill_",propsKey:"fill"}),re=f(e,{prefix:"fill_",propsKey:"inputFill"}),ae=f(e,{prefix:"form-field_shape_",propsKey:"shape"}),ie=f(e,{prefix:"form-field__item-value_shape_",propsKey:"inputShape"}),se=f(e,{prefix:"direction_",propsKey:"direction"}),oe=f(e,{prefix:"width_",propsKey:"width"}),{styles:ne}=g(e),le=e[`${w}MessageTextSize`],de=e[`${w}MessageTextColor`],ue=e[`${w}MessageTextWeight`],ce=`${r||`${D}Field`}Message`;return s(W,{className:m(X,"form__item","form-field",o?`form-field_type_${o}`:"form-field_type_classic",ee,te,ae,O&&"form-field_state_disabled",U&&"form-field_state_hidden",se,oe),"data-testid":r,"data-tour":a,style:ne,children:[H,(n||d)&&i("div",{className:m("form-field__label",`text_size_${c}`),"data-testid":`${r}Label`,children:s(_,{size:c,textColor:u,textWeight:p,children:[n,d&&" "]})}),T&&i("div",{className:m("form-field__desc",`text_size_${S}`),"data-testid":`${r}Desc`,children:i(_,{size:S,textColor:b,textWeight:v,children:T})}),s("div",{className:m("form-field__content",re,ie),children:[s("div",{className:m("form-field__content-inner",Y),children:[x,Z,I]}),L&&i(y,{className:"form-field__item-divider",width:M,direction:P,size:z,fill:C})]}),R&&s("div",{className:m("form-field__message",`text_size_${le||A||h}`),"data-testid":ce,children:[j&&N&&i(_,{className:"form-field__message-item form-field__message-item_type-error",dataTestId:`${r}MessageError`,size:le,textColor:de,textWeight:ue,children:N}),Boolean(B)&&(!j||!N)&&i(_,{className:"form-field__message-item form-field__message-item_type_help-text",dataTestId:`${r}MessageHelpText`,size:A,textColor:Q?F:V,textWeight:q,children:B}),(!j&&!B||j&&!B&&!N)&&i(_,{className:"form-field__message-item form-field__message-item_type_help-text",dataTestId:`${r}MessageHelpText`,size:h,children:" "})]}),G]})}function ie(t){const{inputName:r}=t,{change:a}=e();return n(()=>()=>{a(r,void 0)},[]),i(ae,{...t})}const se=(e,t)=>{const r=e,a=Object.keys(t).map(e=>e===b?"notification__item_status_error":`react-select-id_${e}-input`),i=r.find(e=>e.name?S(t,e.name):a.includes(e.id)),s=Object.keys(t);if(!i&&s.length){let e;try{const t=s[0];t===b?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"})},oe=I(void 0,se),ne=(e,t)=>{const[r,a]=e,i=a.submitError,s=a.error;if("non_field_errors"===r||r===b)t.formState.error=s,t.formState.submitError=i;else if(r in t.fields){if(t.fields[r].touched=!0,s||""===s){const e=Object.assign({},t.formState.errors,{[r]:s});t.fields[r].error=s,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}}},le=async(e,t)=>{try{return{response:await T({url:e,method:"POST",data:t}),success:!0}}catch(e){const t=e,r={};return"string"==typeof t.response?.data&&(r[b]="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}}},de=(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"},ue=(e,t)=>v(e,t.path,t.message),ce=Object.create(null);function me(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(ue,ce);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 pe(e){const{fieldProps:t={},input:r={},meta:a={}}=e,i=!a.modifiedSinceLastSubmit&&a.submitError,s=a.error?.key||"error",o=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:s,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:o,isValidState:n}}function fe(e){const{inputProps:t,validationStateKey:r}=e;return l(()=>{const e={};return r?(Object.entries(t||{}).forEach(([t,a])=>{const i=P(t);if(i.startsWith(`${r}_`)){const t=i.replace(`${r}_`,""),s=x(t);e[s]=a}else e[t]||(e[t]=a)}),e):t},[r,t])}const ge=o.memo(function(e){const{dataTestId:r,name:a,initialValue:s,classNameGroupItem:o,fieldProps:n={},inputProps:l={},showMessage:u,isDisabled:c,isRequired:f,onChange:g}=e;return i(t,{type:"checkbox",name:a,initialValue:s,children:function({input:e,meta:t}){const a=d(t=>{t&&(e.onChange(t),g&&g(t.target.checked,e.name))},[g,e.onChange]),{errorKey:s,errorMessage:h,successKey:y,isErrorState:_,isValidState:T}=pe({fieldProps:n,input:e,meta:t}),b=fe({inputProps:l,validationStateKey:_?s:T?y:null}),S=de(e.name,r);return i(ie,{className:m("form-field-checkbox","form__item_checkbox",o),dataTestId:S,errorKey:s,errorMessage:h,fieldClassName:"form-checkbox",inputName:e.name,inputValue:e.checked,metaActive:t.active,metaError:t.error,showMessage:u,tag:"label",isDisabled:c,isErrorState:_,isRequired:f,isValidState:T,...n,children:i(p,{checked:e.checked,isActive:e.checked,isDisabled:c,onBlur:e.onBlur,onChange:a,onFocus:e.onFocus,...b})})}})}),he={appearance:"surfacePrimary sizeM solid rounded",width:"fill",errorAppearance:"errorPrimary sizeM solid rounded",requiredAppearance:"warningPrimary sizeM solid rounded"};function ye(r){const{dataTestId:a,name:s,initialValue:o,classNameGroupItem:u,emptyMessage:c,emptyMessageTextColor:p,emptyMessageTextSize:f,fieldProps:g,inputProps:h,options:y,showMessage:T,isDisabled:b,isRequired:S,onChange:v}=r,{change:I}=e(),x=d((e,t)=>{const r=e.includes(t)?e.filter(e=>e!==t):[...e,t];I(s,r),v&&v(r)},[I,s,v]);return n(()=>{o&&I(s,o)},[o]),i(t,{name:s,initialValue:o,children:function({input:e,meta:t}){const{errorKey:r,errorMessage:s,successKey:o,isErrorState:n,isValidState:d}=pe({fieldProps:g,input:e,meta:t}),v=fe({inputProps:h,validationStateKey:n?r:d?o:null}),I=l(()=>{const t=[{label:null,value:null}];if(e?.value){return y.filter(t=>e.value?.includes(t.value))||t}return t},[e.value]),P=de(e.name,a);return i(ie,{className:m("form-field_chips","form__item_chips",u),dataTestId:P,errorKey:r,errorMessage:s,fieldClassName:"form-chips",inputName:e.name,inputValue:String(e.value??""),metaActive:t.active,metaError:t.error,showMessage:T,isDisabled:b,isErrorState:n,isRequired:S,isValidState:d,...g,children:y?.length?i(C,{direction:"horizontal",gap:"1m",wrap:"wrap",children:y.map(a=>i(z,{className:m(t.active&&"form-chips_state_focus",t.error&&t.touched&&`form-chips_state_${r}`),label:a.label,isActive:I.some(e=>e.value===a.value),isDisabled:a.isDisabled,onClick:()=>x(e.value,a.value),...v},a.value))}):i(_,{size:f,textColor:p,children:c})})}})}const _e={appearance:"defaultPrimary sizeM solid rounded",width:"fill",errorAppearance:"errorPrimary sizeM solid rounded",requiredAppearance:"requirePrimary sizeM solid rounded"},Te=o.memo(function(r){const{dataTestId:a,name:s,initialValue:o,label:n,classNameGroupItem:u,fieldProps:c,inputProps:p,options:f,showMessage:g,isDisabled:h,isCheckbox:y,isRequired:_,onChange:T}=r,{change:b}=e(),S=d((e,t)=>{b(s,t&&e.value),T&&T(e.value,s,t)},[b,T]);return i(t,{name:s,initialValue:o,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:s,errorMessage:o,successKey:d,isErrorState:T,isValidState:b}=pe({fieldProps:c,input:e,meta:t}),v=fe({inputProps:p,validationStateKey:T?s:b?d:null}),I=de(e.name,a);return i(ie,{className:m("form-field_choice","form__item_choice",u),dataTestId:I,label:n,errorKey:s,errorMessage:o,fieldClassName:"form-choice",inputName:e.name,inputValue:String(e.value??""),metaActive:t.active,metaError:t.error,showMessage:g,isDisabled:h,isErrorState:T,isRequired:_,isValidState:b,...c,children:i(M,{className:m(t.active&&"form-choice_state_focus",t.error&&t.touched&&`form-choice_state_${s}`),name:e.name,active:r,options:f,isDisabled:h,isCheckbox:y,setActiveSegment:S,...v})})}})}),be={appearance:"defaultPrimary sizeM solid rounded",width:"fill",errorAppearance:"errorPrimary sizeM solid rounded",requiredAppearance:"requirePrimary sizeM solid rounded",successAppearance:"successPrimary sizeM solid rounded"},Se=o.memo(function(e){const{dataTestId:r,name:a,initialValue:s,label:o,classNameGroupItem:n,fieldProps:l={},inputProps:d={},showMessage:u,isDisabled:c,isRequired:p,type:f,...g}=e,h={...g,...d};return i(t,{name:a,initialValue:s,children:function({input:e,meta:t}){const{errorKey:a,errorMessage:s,successKey:d,isErrorState:f,isValidState:g}=pe({fieldProps:l,input:e,meta:t}),y=fe({inputProps:h,validationStateKey:f?a:g?d:null}),_=de(e.name,r);return i(ie,{className:m("form-field-code","form__item_code",n),dataTestId:_,label:o,errorKey:a,errorMessage:s,fieldClassName:"form-code",inputName:e.name,inputValue:String(e.value??""),metaActive:t.active,metaError:t.error,showMessage:u,isDisabled:c,isErrorState:f,isRequired:p,isValidState:g,...l,children:i(w,{initialValue:e.value,isDisabled:c,onBlur:e.onBlur,onChange:e.onChange,onFocus:e.onFocus,...y})})}})}),ve=o.memo(function(e){const{dataTestId:r,name:a,initialValue:o,classNameGroupItem:n,clearIcon:l,clearIconFill:d,clearIconFillHover:u,clearIconShape:c,clearIconSize:p,Component:f,fieldProps:g={},showMessage:h,isDisabled:y,isRequired:_,onClickClearIcon:T}=e;return i(t,{name:a,initialValue:o,children:function({input:t,meta:a}){const{errorKey:o,errorMessage:b,isErrorState:S,isValidState:v}=pe({fieldProps:g,input:t,meta:a}),I=fe({inputProps:e,validationStateKey:S?o:"success"}),x=de(t.name,r);return s(ie,{className:m("form-field_custom","form__item_custom",n),dataTestId:x,errorKey:o,errorMessage:b,fieldClassName:"form-custom",inputName:t.name,inputValue:String(t.value??""),metaActive:a.active,metaError:a.error,showMessage:h,isDisabled:y,isErrorState:S,isRequired:_,isValidState:v,...g,children:[i(f,{...I,input:t,meta:a,isDisabled:y}),l&&i(N,{className:"form-field__icon",size:p,iconFill:d,iconFillHover:u,imageSrc:l,shape:c,SvgImage:l,onClick:T})]})}})}),Ie={appearance:"defaultPrimary sizeM solid rounded",errorAppearance:"errorPrimary sizeM solid rounded",requiredAppearance:"requirePrimary sizeM solid rounded",successAppearance:"successPrimary sizeM solid rounded"},xe=o.memo(function(e){const{dataTestId:r,name:a,initialValue:s,classNameGroupItem:o,fieldProps:n,inputProps:l,parse:d,showMessage:u,token:c,isDisabled:p,isRequired:f,onDadataAutocomplete:g}=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(!g){throw new Error(`FormFieldDadataInput: 'onDadataAutocomplete' prop is missing, instead got ${g}.`+"\n"+e)}}return i(t,{name:a,initialValue:s,parse:d,children:function({input:e,meta:t}){const{errorKey:a,errorMessage:s,successKey:d,isErrorState:h,isValidState:y}=pe({fieldProps:n,input:e,meta:t}),_=fe({inputProps:l,validationStateKey:h?a:y?d:null}),T=de(e.name,r);return i(ie,{className:m("form-field_input-dadata","form__item_input-dadata",o),dataTestId:T,errorKey:a,errorMessage:s,fieldClassName:"form-dadata",inputName:e.name,inputValue:String(e.value??""),metaActive:t.active,metaError:t.error,showMessage:u,isDisabled:p,isErrorState:h,isRequired:f,isValidState:y,...n,children:i(k,{dataTestId:`${T}Input`,input:e,inputProps:_,meta:t,token:c,setValue:g})})}})}),Pe={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 Ce(e){const{dataTestId:r,name:a,classNameGroupItem:s,datePickerProps:o,fieldProps:n={},inputProps:l={},showMessage:u,isDisabled:c,isRequired:p,onChange:f}=e;return i(t,{name:a,children:function({input:e,meta:t}){const a=d((t,r)=>{o?.selectsRange?e.onChange({endDate:r,startDate:t}):e.onChange(t),f&&f(t,r)},[e.onChange,f]),{errorKey:g,errorMessage:h,successKey:y,isErrorState:_,isValidState:T}=pe({fieldProps:n,input:e,meta:t}),b=fe({inputProps:l,validationStateKey:_?g:T?y:null}),S=de(e.name,r);return i(ie,{className:m("form-field_datepicker","form__item_datepicker",s),dataTestId:S,errorKey:g,errorMessage:h,fieldClassName:"form-datepicker",inputName:e.name,inputValue:String(e.value??""),metaActive:t.active,metaError:t.error,showMessage:u,isDisabled:c,isErrorState:_,isRequired:p,isValidState:T,...n,children:i(B,{name:e.name,datePickerProps:o,endValue:o?.selectsRange?e.value.endDate:null,inputProps:b,value:o?.selectsRange?e.value.startDate:e.value,onBlur:e.onBlur,onChange:a,onFocus:e.onFocus})})}})}var ze={appearance:"defaultSecondary sizeM solid rounded",errorAppearance:"errorTertiary sizeM solid rounded",requiredAppearance:"requireTertiary sizeM solid rounded",showFilename:!0,showFileSize:!0,successAppearance:"successTertiary sizeM solid rounded",isPreviews:!0},Me=["dataTestId","type","name","width","maxFiles","label","classNameGroupItem","dropzoneProps","fieldProps","inputProps","showMessage","isDisabled","isRequired","onClickPreview","onAddFiles","onDeleteFile"];var we=o.memo(function(e){var r=e.dataTestId;e.type;var a=e.name,s=e.width,o=e.maxFiles,n=e.label,u=e.classNameGroupItem,c=e.dropzoneProps,p=e.fieldProps,f=void 0===p?{}:p,g=e.inputProps,h=void 0===g?{}:g,y=e.showMessage,_=e.isDisabled,T=e.isRequired,b=e.onClickPreview,S=e.onAddFiles,v=e.onDeleteFile,I=function(e,t){if(null==e)return{};var r={};for(var a in e)if({}.hasOwnProperty.call(e,a)){if(-1!==t.indexOf(a))continue;r[a]=e[a]}return r}(e,Me),x=Object.assign({},I,h);return i(t,{name:a,children:function(e){var t,a,p,g=e.input,h=e.meta,I=pe({fieldProps:f,input:g,meta:h}),P=I.errorKey,C=I.errorMessage,z=I.successKey,M=I.isErrorState,w=I.isValidState,N=fe({inputProps:x,validationStateKey:M?P:w?z:null}),k=null!=(t=null!=(a=null==c?void 0:c.maxFiles)?a:o)?t:5,B=d(function(e){g.onChange(1===k?e[0]:e)},[g,k]),A=l(function(){return null==g.value||""===g.value?[]:V(g.value)},[g.value]),q=de(g.name,r);return i(ie,Object.assign({className:m("form-field_type_dropzone","form__item_type_dropzone",u),dataTestId:q,width:s,label:n,errorKey:P,errorMessage:C,fieldClassName:"form-dropzone",inputName:g.name,inputValue:(p=g.value,Array.isArray(p)?p.length>0?p:"":null!=p?p:""),metaActive:h.active,metaError:h.error,showMessage:y,isDisabled:_,isErrorState:M,isRequired:T,isValidState:w},f,{children:i(F,Object.assign({},N,{maxFiles:o,dropzoneProps:c,fieldValuesList:A,inputName:g.name,onClickPreview:b,onAddFiles:S,onChangeFiles:B,onDeleteFile:v}))}))}})});const Ne={width:"fill",labelTextSize:"s",messageTextColor:"surfaceTextPrimary",messageTextSize:"s",errorMessageTextColor:"errorTextSecondary",errorMessageTextSize:"s",helpTextSize:"s",requiredMessageTextColor:"warningTextSecondary",requiredMessageTextSize:"s"},ke=o.memo(function(e){const{className:r,dataTestId:a,dataTour:n,name:l,title:d,titleTextColor:u,titleTextSize:c,titleTextWeight:p,label:f,labelTextColor:y,labelTextSize:T,labelTextWeight:b,message:S,messageTextColor:v,messageTextSize:I,messageTextWeight:x,column:P,showGroupMessage:C,before:z,after:M,isActive:w,isDisabled:N,isHidden:k,children:B}=e,V=h(e),{fillActiveClass:F,fillActiveHoverClass:q,fillClass:D,fillDisabledClass:$,fillHoverClass:K,shapeClass:E}=V,{styles:L}=g(e),R=de(l,a);return i(t,{name:l,children:function({input:t,meta:a}){const{errorKey:g,errorMessage:h,isErrorState:V}=pe({fieldProps:e,input:t,meta:a}),W=fe({inputProps:e,validationStateKey:V?g:"success"});return s("div",{className:m("form__group",r,k&&"form__group_hidden",N?$&&`fill_${$}`:w?F&&`fill_active_${F}`:D&&`fill_${D}`,N?$&&`fill_${$}`:w?q&&`fill_active_hover_${q}`:K&&`fill_hover_${K}`,E&&`shape_${E}`,P&&`form__group_column_${P}`),"data-testid":R,"data-tour":n,style:L,children:[s("div",{className:"form__group-wrapper",children:[z,d&&i("div",{className:"form__group-title",children:i(A,{dataTestId:`${R}Title`,size:c,textColor:u,textWeight:p,children:d})}),f&&i("div",{className:"form__group-label",children:i(_,{dataTestId:`${R}Label`,size:T,textColor:y,textWeight:b,children:f})}),i("div",{className:"form__group-items",children:B}),M]}),C&&s(o.Fragment,{children:[V&&h&&i(_,{className:`form__group-message form__group-message_type-${g}`,dataTestId:`${R}MessageError`,size:W.messageTextSize,textColor:W.messageTextColor,textWeight:W.messageTextWeight,children:h}),Boolean(S)&&(!V||!h)&&i(_,{className:"form__group-message",dataTestId:`${l}GroupMessage`,size:I,textColor:v,textWeight:x,children:S}),!V&&!S&&i(_,{className:"form__group-message",size:I,children:" "})]})]})}})}),Be={appearance:"defaultPrimary sizeM solid rounded",width:"fill",errorAppearance:"errorPrimary sizeM solid rounded",requiredAppearance:"requirePrimary sizeM solid rounded",successAppearance:"successPrimary sizeM solid rounded"},Ve=o.memo(function(e){const{dataTestId:r,name:a,initialValue:o,classNameGroupItem:n,clearIcon:l,clearIconFill:u,clearIconFillHover:c,clearIconShape:p,clearIconSize:f,fieldProps:g={},inputProps:h={},parse:y,showMessage:_,isDisabled:T,isRequired:b,onClickClearIcon:S,onChange:v}=e;return i(t,{name:a,initialValue:o,parse:y,children:function({input:e,meta:t}){const a=d(t=>{e.onChange(t),v&&v(t.target.value,e.name)},[v,e]),{errorKey:o,errorMessage:y,successKey:I,isErrorState:x,isValidState:P}=pe({fieldProps:g,input:e,meta:t}),C=fe({inputProps:h,validationStateKey:x?o:P?I:null}),z=de(e.name,r);return s(ie,{className:m("form-field_input","form__item_input",n),dataTestId:z,errorKey:o,errorMessage:y,fieldClassName:"form-input",inputName:e.name,inputValue:String(e.value??""),metaActive:t.active,metaError:t.error,showMessage:_,isDisabled:T,isErrorState:x,isRequired:b,isValidState:P,...g,children:[i(q,{className:m(t.active&&"input_state_focus",t.error&&t.touched&&`input_state_${o}`),dataTestId:`${z}Input`,type:"text",name:e.name,autoComplete:"nope",value:String(e.value??""),isDisabled:T,onBlur:e.onBlur,onChange:a,onFocus:e.onFocus,...C}),l&&i(N,{className:"form-field__icon",dataTestId:`${z}InputIcon`,size:f,iconFill:u,iconFillHover:c,imageSrc:"string"==typeof l&&l,shape:p,SvgImage:"string"!=typeof l&&l,onClick:S})]})}})}),Fe={appearance:"defaultPrimary sizeM solid rounded",width:"fill",errorAppearance:"errorPrimary sizeM solid rounded",requiredAppearance:"requirePrimary sizeM solid rounded",successAppearance:"successPrimary sizeM solid rounded"},Ae=o.memo(function(e){const{dataTestId:r,name:a,initialValue:s,classNameGroupItem:o,fieldProps:n={},inputProps:l={},inputType:u="custom",parse:c,showMessage:p,isDisabled:f,isRequired:g,onChange:h}=e;return i(t,{name:a,initialValue:s,parse:c,children:function({input:e,meta:t}){const a=d(t=>{e.onChange(t),h&&h(t.target.value)},[h,e.onChange]),{errorKey:s,errorMessage:c,successKey:y,isErrorState:_,isValidState:T}=pe({fieldProps:n,input:e,meta:t}),b=fe({inputProps:l,validationStateKey:_?s:T?y:null}),S=de(e.name,r);return i(ie,{className:m("form-field_input-number","form__item_input-number",o),dataTestId:S,errorKey:s,errorMessage:c,fieldClassName:"form-input-number",inputName:e.name,inputValue:String(e.value??""),metaActive:t.active,metaError:t.error,showMessage:p,isDisabled:f,isErrorState:_,isRequired:g,isValidState:T,...n,children:i(D,{className:m(t.active&&"input_state_focus",(t.submitFailed||t.touched)&&t.error&&`input_state_${s}`),dataTestId:`${S}InputNumber`,type:u,name:e.name,value:Number(e.value)||0,onChange:a,...b})})}})}),qe={appearance:"defaultPrimary sizeM solid rounded",width:"fill",errorAppearance:"errorPrimary sizeM solid rounded",requiredAppearance:"requirePrimary sizeM solid rounded",successAppearance:"successPrimary sizeM solid rounded"},De=o.memo(function(e){const{dataTestId:r,name:a,initialValue:o,classNameGroupItem:l,clearIcon:d,clearIconFill:u,clearIconFillHover:c,clearIconShape:p,clearIconSize:f,fieldProps:g={},inputProps:h={},optionsMask:y,showMessage:_,unmasked:T,isDisabled:b,isRequired:S,onClickClearIcon:v}=e;return i(t,{name:a,initialValue:o,children:function({input:e,meta:t}){const{ref:a,unmaskedValue:I,value:x,setUnmaskedValue:P}=$(y,{defaultValue:o,onAccept:(t,r,a)=>{a&&e.onChange(r._unmaskedValue)}});n(()=>{e.value!==I&&P(e.value.replace(T,""))},[e.value]);const{errorKey:C,errorMessage:z,successKey:M,isErrorState:w,isValidState:k}=pe({fieldProps:g,input:e,meta:t}),B=fe({inputProps:h,validationStateKey:w?C:k?M:null}),V=de(e.name,r);return s(ie,{className:m("form-field-masked-input","form__item_masked-input",l),dataTestId:V,errorKey:C,errorMessage:z,fieldClassName:"form-maskedInput",inputName:e.name,inputValue:String(e.value??T??""),metaActive:t.active,metaError:t.error,showMessage:_,isDisabled:b,isErrorState:w,isRequired:S,isValidState:k,...g,children:[i(q,{className:m(t.active&&"input_state_focus",t.error&&t.touched&&`input_state_${C}`),dataTestId:`${V}Input`,ref:a,value:x,onBlur:e.onBlur,onFocus:e.onFocus,...B}),d&&i(N,{className:"form-field__icon",size:f,iconFill:u,iconFillHover:c,imageSrc:d,shape:p,SvgImage:d,onClick:v})]})}})}),$e={appearance:"defaultPrimary sizeM solid rounded",errorAppearance:"errorPrimary sizeM solid rounded",requiredAppearance:"requirePrimary sizeM solid rounded",successAppearance:"successPrimary sizeM solid rounded"},Ke=o.memo(function(e){const{dataTestId:r,name:a,initialValue:s,classNameGroupItem:o,fieldProps:n,inputProps:l,parse:u,showMessage:c,isDisabled:p,isRequired:f,onChange:g}=e;return i(t,{name:a,initialValue:s,parse:u,children:function({input:e,meta:t}){const a=d(t=>{e.onChange(t),g&&g(t.target.value,e.name)},[g,e.onChange]),{errorKey:s,errorMessage:u,successKey:h,isErrorState:y,isValidState:_}=pe({fieldProps:n,input:e,meta:t}),T=fe({inputProps:l,validationStateKey:y?s:_?h:null}),b=de(e.name,r);return i(ie,{className:m("form-field_input-password","form__item_input-password",o),dataTestId:b,errorKey:s,errorMessage:u,fieldClassName:"form-password",inputName:e.name,inputValue:String(e.value??""),metaActive:t.active,metaError:t.error,showMessage:c,isDisabled:p,isErrorState:y,isRequired:f,isValidState:_,...n,children:i(K,{className:m(t.active&&"input-password_state_focus",t.error&&t.touched&&`input-password_state_${s}`),dataTestId:`${b}InputPassword`,name:e.name,autoComplete:"nope",value:String(e.value??""),isDisabled:p,onBlur:e.onBlur,onChange:a,onFocus:e.onFocus,...T})})}})}),Ee={appearance:"defaultPrimary sizeM solid circular",errorAppearance:"errorPrimary sizeM solid circular",requiredAppearance:"requirePrimary sizeM solid circular",successAppearance:"successPrimary sizeM solid circular"};function Le(e){const{input:t,inputProps:r,options:a,onChange:s}=e,n=d(e=>{t.onChange(e),s&&s(e,t.name)},[t,s]),l=d(e=>{e.target.checked&&n(e.target.value)},[s]);return i(o.Fragment,{children:a.map(e=>i(E,{className:"form-radio__item",label:e.label,checked:e.value===t.value,value:e.value,onChange:l,...r},e.value))})}const Re=o.memo(function(e){const{dataTestId:r,name:a,classNameGroupItem:s,fieldProps:o={},inputProps:n={},options:l=[],showMessage:d,isDisabled:u,isRequired:c,onChange:p}=e;return i(t,{name:a,children:function({input:e,meta:t}){const{errorKey:a,errorMessage:f,successKey:g,isErrorState:h,isValidState:y}=pe({fieldProps:o,input:e,meta:t}),_=fe({inputProps:n,validationStateKey:h?a:y?g:null}),T=de(e.name,r);return i(ie,{className:m("form-field_radio","form__item_radio",s),dataTestId:T,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:h,isRequired:c,isValidState:y,...o,children:i(Le,{input:e,inputProps:_,options:l,onChange:p})})}})}),We={appearance:"defaultPrimary sizeM solid rounded",width:"fill",errorAppearance:"errorPrimary sizeM solid rounded",requiredAppearance:"requirePrimary sizeM solid rounded"};function He(r){const{dataTestId:a,name:s,fieldProps:o,inputProps:n,options:u,showMessage:c,isDisabled:p,isRequired:f}=r,{change:g}=e(),h=d(e=>{g(s,e.value)},[g]);return i(t,{name:s,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:s,errorMessage:d,successKey:g,isErrorState:y,isValidState:_}=pe({fieldProps:o,input:e,meta:t}),T=fe({inputProps:n,validationStateKey:y?s:_?g:null}),b=de(e.name,a);return i(ie,{className:m("form-field_segmented","form__item_segmented"),dataTestId:b,errorKey:s,errorMessage:d,fieldClassName:"form-segmented",inputName:e.name,inputValue:String(e.value??""),metaActive:t.active,metaError:t.error,showMessage:c,isDisabled:p,isErrorState:y,isRequired:f,isValidState:_,...o,children:i(L,{dataTestId:`${b}Segment`,activeSegment:r,segments:u,isDisabled:p,setActiveSegment:h,...T})})}})}const Ge={appearance:"defaultPrimary sizeM solid rounded",errorAppearance:"errorPrimary sizeM solid rounded",requiredAppearance:"requirePrimary sizeM solid rounded",successAppearance:"successPrimary sizeM solid rounded"};function Oe(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),s=a.includes(e.label);let o=[];e.options&&(o=Oe({options:e.options,selectValue:r})),t||s?i.push(e):o.length&&(i=i.concat(o))}),i}const je=o.memo(function(e){const{dataTestId:r,name:a,initialValue:s,classNameGroupItem:o,fieldProps:c,options:p=[],selectProps:f,selectRef:g,showMessage:h,isDisabled:y,isRequired:_,onChange:T,onInputChange:b}=e;return i(t,{name:a,initialValue:s,children:function({input:e,meta:t}){const[a,s]=u(null),S=l(()=>{const t=Oe({options:p,selectValue:e.value});return!t.length&&e.value?.length&&t.push({label:e.label,value:e.value}),t},[e.label,e.value]),v=d(t=>{e.onChange(t),T&&T(t,{name:e.name})},[T,e.onChange]),I=d(e=>{const t=Array.isArray(e)?e.map(e=>e.value):e?.value||null;s(e),v(t)},[v]);n(()=>{s(S)},[S]);const{errorKey:x,errorMessage:P,successKey:C,isErrorState:z,isValidState:M}=pe({fieldProps:c,input:e,meta:t}),w=fe({inputProps:f,validationStateKey:z?x:M?C:null}),N=de(e.name,r);return i(ie,{className:m("form-field_select","form__item_select",o),dataTestId:N,errorKey:x,errorMessage:P,fieldClassName:"form-select",inputName:e.name,inputValue:String(e.value??""),metaActive:t.active,metaError:t.error,showMessage:h,isDisabled:y,isErrorState:z,isRequired:_,isValidState:M,...c,children:i(R,{className:"form-select-item",dataTestId:`${N}Select`,ref:g,instanceId:`id_${e.name}`,options:p,value:a,isDisabled:y,onChange:I,onInputChange:b,...w})})}})}),Ue={appearance:"defaultPrimary sizeL solid rounded",errorAppearance:"errorPrimary sizeL solid rounded",requiredAppearance:"requirePrimary sizeL solid rounded",successAppearance:"successPrimary sizeL solid rounded"},Je=o.memo(function(e){const{dataTestId:r,name:a,classNameGroupItem:s,fieldProps:o={},inputProps:n={},showMessage:l,isDisabled:u,isRequired:c,onChange:p}=e;return i(t,{type:"checkbox",name:a,children:function({input:e,meta:t}){const a=d(t=>{e.onChange(t),p&&p(t.target.checked,e.name)},[p,e.onChange]),{errorKey:f,errorMessage:g,successKey:h,isErrorState:y,isValidState:_}=pe({fieldProps:o,input:e,meta:t}),T=fe({inputProps:n,validationStateKey:y?f:_?h:null}),b=de(e.name,r);return i(ie,{className:m("form-field-switch","form__item_switch",s),dataTestId:b,errorKey:f,errorMessage:g,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:_,...o,children:i(W,{isActive:e.checked,isDisabled:u,onChange:a,...T})})}})}),Qe={appearance:"defaultPrimary sizeM solid rounded",errorAppearance:"errorPrimary sizeM solid rounded",requiredAppearance:"requirePrimary sizeM solid rounded",successAppearance:"successPrimary sizeM solid rounded"},Ze=o.memo(function(e){const{dataTestId:r,name:a,classNameGroupItem:s,fieldProps:o={},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:p,isErrorState:f,isValidState:g}=pe({fieldProps:o,input:e,meta:t}),h=fe({inputProps:n,validationStateKey:f?a:g?p:null}),y=de(e.name,r);return i(ie,{className:m("form-field_textarea","form__item_textarea",s),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:g,...o,children:i(H,{className:m(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,...h})})}})});function Xe(e,t){switch(e.type){case Ye.password:return i(Ke,{...e,dataTestId:e.dataTestId??t.dataTestId},t.key);case Ye.primaryButton:return c(G,{...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 Ye.secondaryButton:return c(G,{...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 Ye.tertiaryButton:return c(G,{...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 Ye.checkbox:return i(ge,{...e,dataTestId:e.dataTestId??t.dataTestId},t.key);case Ye.choice:return i(Te,{...e,dataTestId:e.dataTestId??t.dataTestId},t.key);case Ye.code:return i(Se,{...e,dataTestId:e.dataTestId??t.dataTestId},t.key);case Ye.chips:return i(ye,{...e,dataTestId:e.dataTestId??t.dataTestId},t.key);case Ye.switch:return i(Je,{...e,dataTestId:e.dataTestId??t.dataTestId},t.key);case Ye.segmented:return i(He,{...e,dataTestId:e.dataTestId??t.dataTestId},t.key);case Ye.datePicker:return i(Ce,{...e,dataTestId:e.dataTestId??t.dataTestId},t.key);case Ye.fileInput:return i(we,{...e,dataTestId:e.dataTestId??t.dataTestId},t.key);case Ye.radioGroup:return i(Re,{...e,dataTestId:e.dataTestId??t.dataTestId},t.key);case Ye.select:return i(je,{...e,dataTestId:e.dataTestId??t.dataTestId},t.key);case Ye.text:return i(Ve,{...e,dataTestId:e.dataTestId??t.dataTestId},t.key);case Ye.textarea:return i(Ze,{...e,dataTestId:e.dataTestId??t.dataTestId},t.key);case Ye.maskedInput:return i(De,{...e,dataTestId:e.dataTestId??t.dataTestId},t.key);case Ye.custom:return i(ve,{...e,dataTestId:e.dataTestId??t.dataTestId},t.key);case Ye.dadataInput:return i(xe,{...e,dataTestId:e.dataTestId??t.dataTestId},t.key);case Ye.inputNumber:return i(Ae,{...e,dataTestId:e.dataTestId??t.dataTestId},t.key);case Ye.group:return i(ke,{...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 Xe(i,{...t,dataTestId:i.dataTestId??t.dataTestId,key:r+"_form_group"})})},t.key)}}const Ye={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"},et=o.forwardRef(function(e,t){const{className:n,dataTestId:l,dataTour:u,type:c,initialValues:p,initialValuesEqual:f,config:y,validationSchema:T,title:b,desc:S,buttonGap:v,dataTestIdButtons:I,dataTestIdPrimaryButton:x,dataTestIdSecondaryButton:P,dataTestIdTertiaryButton:C,dataTourButtons:z,dataTourPrimaryButton:M,dataTourSecondaryButton:w,dataTourTertiaryButton:N,disableFieldsAutoComplete:k=!1,fieldsGap:B,groupGap:V,language:F,mutators:q,notificationCloseButton:D,notificationTestAlign:$,notificationType:K,primaryButton:E,renderFieldsWrapper:L=e=>e,secondaryButton:R,tertiaryButton:W,before:H,after:J,isLoading:Q,onClickSecondaryButton:Z,onClickTertiaryButton:X,onChangeFormValues:Y,onSubmit:ee}=e,te=y.fields||y,re=y.title||y.form?.title,ae=y.form?.dataTestId||l,ie=me(T,F),se=d(e=>{t&&"object"==typeof t&&(t.current=e)},[t]),ne=h(e),{directionClass:le="vertical",fillClass:de,titleFill:ue,titlePosition:ce,titleTextColor:pe,titleTextSize:fe,titleTextWeight:ge,descSize:he,descTextColor:ye,descTextWeight:_e,buttonDirection:Te="vertical",buttonFill:be,buttonJustifyContent:Se,buttonPadding:ve,buttonPosition:Ie,elevationClass:xe,heightClass:Pe,loader:Ce,loaderAppearance:ze,loaderFill:Me="surfacePrimary",loaderItemFill:we="accentItemSecondary",loaderShape:Ne,loaderSize:ke="l",loaderText:Be,loaderType:Ve="dot",primaryButtonAppearance:Fe,primaryButtonFill:Ae,primaryButtonFillHover:qe,primaryButtonHtmlType:De,primaryButtonIsDisabled:$e,primaryButtonIsLoading:Ke,primaryButtonLabel:Ee,primaryButtonLabelSize:Le,primaryButtonLabelTextColor:Re,primaryButtonLabelTextWeight:We,primaryButtonSize:He,secondaryButtonAppearance:Ge,secondaryButtonFill:Oe,secondaryButtonFillHover:je,secondaryButtonHtmlType:Ue,secondaryButtonIsDisabled:Je,secondaryButtonIsLoading:Qe,secondaryButtonLabel:Ze,secondaryButtonLabelSize:Ye,secondaryButtonLabelTextColor:et,secondaryButtonLabelTextWeight:tt,secondaryButtonSize:rt,shapeClass:at,tertiaryButtonAppearance:it,tertiaryButtonFill:st,tertiaryButtonFillHover:ot,tertiaryButtonHtmlType:nt,tertiaryButtonIsDisabled:lt,tertiaryButtonIsLoading:dt,tertiaryButtonLabel:ut,tertiaryButtonLabelSize:ct,tertiaryButtonLabelTextColor:mt,tertiaryButtonLabelTextWeight:pt,tertiaryButtonSize:ft,widthClass:gt}=ne,{styles:ht,wrapper:yt}=g(e);return i(r,{initialValues:p,initialValuesEqual:f,render:({form:e,handleSubmit:t,modifiedSinceLastSubmit:r,submitError:d})=>s("form",{className:m(n,"form",c&&`form_type_${c}`,gt&&`width_${gt}`,Pe&&`height_${Pe}`,ce&&`form_title-position_${ce}`,Ie&&`form_button-position_${Ie}`,de&&`fill_${de}`,at&&`shape_${at}`,le&&`direction_${le}`,xe&&`elevation_${xe}`),ref:()=>se(e),autoCapitalize:k?"off":void 0,autoComplete:k?"off":void 0,autoCorrect:k?"off":void 0,"data-testid":ae||l&&`${l}Form`||"Form","data-tour":u,spellCheck:k?"false":void 0,style:ht,onSubmit:t,children:[H,(b||re)&&i(A,{className:"form__title",dataTestId:ae?`${ae}Title`:"FormTitle",size:fe,fill:ue,textColor:pe,textWeight:ge,children:b||re}),S&&i(_,{className:"form__desc",size:he,textColor:ye,textWeight:_e,"data-testid":ae?`${ae}Desc`:"FormDesc",children:S}),d&&!r&&i("div",{className:m("notification","form-notification",K?`form-notification_${K}`:"form-notification_global"),children:i(U,{appearance:"errorPrimary sizeS solid rounded",dataTestId:ae?`${ae}Notification`:"FormNotification",type:"global",width:"fill",status:"error",text:e.getState().submitError,textAlign:$,closeIcon:D})}),Y&&i(a,{subscription:{values:!0},onChange:Y}),Boolean(te&&Object.keys(te).length)&&i(o.Fragment,{children:L(s(O,{className:"form__wrapper",direction:"vertical",gap:B||V,style:yt,children:[Object.keys(te).map(e=>Xe(te[e],{dataTestId:ae,key:e})),Q&&(Ce||i(j,{appearance:ze,className:"form__loader",dataTestId:ae?`${ae}Loader`:"FormLoader",type:Ve,size:ke,fill:Me,text:Be,itemFill:we,shape:Ne}))]}))}),y.buttons?i(O,{className:"form__button",dataTestId:I||ae&&`${ae}Buttons`,dataTour:z,direction:Te,justifyContent:Se,fill:be,padding:ve,gap:v,children:Object.keys(y.buttons).map(e=>Xe(y.buttons[e],{dataTestId:ae,key:e,primaryButtonHtmlType:De,primaryButtonIsDisabled:$e,primaryButtonIsLoading:Ke,secondaryButtonHtmlType:Ue,secondaryButtonIsDisabled:Je,secondaryButtonIsLoading:Qe,tertiaryButtonHtmlType:nt,tertiaryButtonIsDisabled:lt,tertiaryButtonIsLoading:dt,onClickSecondaryButton:Z,onClickTertiaryButton:X}))}):(Ee||E||Ze||R||W||ut)&&s(O,{className:"form__button",dataTestId:I||ae&&`${ae}Buttons`,dataTour:z,direction:Te,justifyContent:Se,fill:be,padding:ve,gap:v,children:[Ee?i(G,{appearance:Fe,className:"form__button-item",dataTestId:x||ae&&`${ae}PrimaryButton`||"FormPrimaryButton",dataTour:M,width:"fill",size:He,fill:Ae,fillHover:qe,label:Ee,labelTextColor:Re,labelTextSize:Le,labelTextWeight:We,htmlType:De||"submit",isDisabled:$e,isLoading:Ke}):E,Ze?i(G,{appearance:Ge,className:"form__button-item",dataTestId:P||ae&&`${ae}SecondaryButton`||"FormSecondaryButton",dataTour:w,width:"fill",size:rt,fill:Oe,fillHover:je,label:Ze,labelTextColor:et,labelTextSize:Ye,labelTextWeight:tt,htmlType:Ue,isDisabled:Je,isLoading:Qe,onClick:Z}):R,ut?i(G,{appearance:it,className:"form__button-item",dataTestId:C||ae&&`${ae}TertiaryButton`||"FormTertiaryButton",dataTour:N,width:"fill",size:ft,fill:st,fillHover:ot,label:ut,labelTextColor:mt,labelTextSize:ct,labelTextWeight:pt,htmlType:nt,isDisabled:lt,isLoading:dt,onClick:X}):W]}),J]}),decorators:[oe],mutators:q,subscription:{modifiedSinceLastSubmit:!0,pristine:!0,submitError:!0,submitting:!0},validate:ie,onSubmit:ee})}),tt=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:""},rt=e=>{const t={},r=e.response?.data||e;if(r)if("string"==typeof r)t[b]="Во время обработки запроса произошла ошибка, попробуйте повторить запрос";else for(const e in r){t["non_field_errors"===e||"detail"===e?b:e]=V(r[e])[0]}else t[b]=e.message||"Произошла ошибка";return t},at=e=>!e||J(e,"RU"),it=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())},st=e=>{const t=e instanceof Date?e:new Date(e);return!isNaN(t.getTime())},ot=e=>{const t=Object.entries(e.fields);return e.requiredFields=t.reduce((e,[t,r])=>(r.exclusiveTests?.required&&e.push(t),e),[]),e};export{Q as DEFAULT_MESSAGES_FIELDS,ie as FieldWrapper,ae as FieldWrapperBase,et as FinalForm,ge as FormFieldCheckbox,ye as FormFieldChips,Te as FormFieldChoice,Se as FormFieldCode,ve as FormFieldCustom,xe as FormFieldDadataInput,Ce as FormFieldDatePicker,we as FormFieldFileInput,Ve as FormFieldInput,Ae as FormFieldInputNumber,De as FormFieldMaskedInput,Ke as FormFieldPassword,Re as FormFieldRadioGroup,He as FormFieldSegmented,je as FormFieldSelect,Je as FormFieldSwitch,Ze as FormFieldTextarea,ke as FormGroup,ot as addRequiredFieldsParamToSchema,de as createDataTestIdField,st as dateValidation,Z as defaultCheckboxProps,he as defaultChipsProps,_e as defaultChoiceProps,be as defaultCodeProps,Ie as defaultDadataInputProps,Pe as defaultDatepickerProps,ze as defaultDropzoneProps,X as defaultFieldProps,te as defaultFieldSizeL,ee as defaultFieldSizeM,Y as defaultFieldSizeS,re as defaultFieldSizeXL,Ne as defaultGroupProps,Fe as defaultInputNumberProps,Be as defaultInputProps,qe as defaultMaskedInputProps,$e as defaultPasswordProps,Ee as defaultRadioProps,We as defaultSegmentedProps,Ge as defaultSelectProps,Ue as defaultSwitchProps,Qe as defaultTextareaProps,it as emailValidation,se as focusOnError,oe as focusOnErrorDecorator,Ye as formTypes,Xe as generateField,rt as getErrorsForFinalForm,tt as parseNumericField,at as phoneValidation,le as sendFormDataToServer,ne as setErrorsMutator,me as useYupValidationSchema};
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@itcase/forms",
3
- "version": "1.1.91",
3
+ "version": "1.1.93",
4
4
  "description": "Forms fields, inputs, etc.",
5
5
  "keywords": [],
6
6
  "license": "MIT",
@@ -45,7 +45,7 @@
45
45
  "@itcase/tokens-baikal": "^1.1.54",
46
46
  "@itcase/tokens-palette": "^1.1.50",
47
47
  "@itcase/ui-core": "^1.10.15",
48
- "@itcase/ui-web": "^1.10.15",
48
+ "@itcase/ui-web": "^1.10.16",
49
49
  "axios": "^1.16.1",
50
50
  "clsx": "^2.1.1",
51
51
  "final-form": "4.20.10",
@@ -64,7 +64,7 @@
64
64
  },
65
65
  "devDependencies": {
66
66
  "@itcase/ui-core": "^1.10.15",
67
- "@itcase/ui-web": "^1.10.15",
67
+ "@itcase/ui-web": "^1.10.16",
68
68
  "@babel/core": "^7.29.7",
69
69
  "@babel/preset-env": "^7.29.7",
70
70
  "@babel/preset-react": "^7.29.7",
@@ -89,7 +89,7 @@
89
89
  "@vitest/browser-playwright": "^4.1.8",
90
90
  "babel-plugin-inline-react-svg": "^2.0.2",
91
91
  "babel-plugin-transform-react-remove-prop-types": "^0.4.24",
92
- "concurrently": "^10.0.1",
92
+ "concurrently": "^10.0.3",
93
93
  "conventional-changelog-conventionalcommits": "^9.3.1",
94
94
  "eslint": "9.39.2",
95
95
  "husky": "^9.1.7",