@redneckz/wildless-cms-uni-blocks 0.14.877 → 0.14.879
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/bundle/bundle.umd.js +141 -90
- package/bundle/bundle.umd.min.js +1 -1
- package/bundle/retail/api/dadataHints/dadataHintsType.d.ts +10 -3
- package/bundle/retail/api/dadataHints/hintsListsOptions.d.ts +2 -10
- package/bundle/retail/api/updateUserTask.d.ts +2 -0
- package/bundle/retail/components/DocumentDialog/useDocumentDialog.d.ts +4 -1
- package/bundle/retail/components/VerifyPhoneDialog/VerifyPhoneDialog.d.ts +0 -7
- package/bundle/retail/components/VerifyPhoneDialog/useVerifyPhoneDialogSubmit.d.ts +7 -0
- package/bundle/retail/inputs.d.ts +0 -2
- package/bundle/retail/model/LeadFormState.d.ts +0 -2
- package/bundle/retail/model/NameFieldDef.d.ts +1 -1
- package/bundle/retail/validator/validators.d.ts +5 -3
- package/bundle/ui-kit/Loader/Loader.d.ts +1 -1
- package/dist/components/ApplicationLeadForm/getLeadFormTaskData.js +1 -3
- package/dist/components/ApplicationLeadForm/getLeadFormTaskData.js.map +1 -1
- package/dist/components/ApplicationLeadForm/useInitApplicationLead.js +2 -1
- package/dist/components/ApplicationLeadForm/useInitApplicationLead.js.map +1 -1
- package/dist/components/Blocks.mobile.js +2 -0
- package/dist/components/Blocks.mobile.js.map +1 -1
- package/dist/components/DebitForm/getDebitCardFormTaskData.js +1 -0
- package/dist/components/DebitForm/getDebitCardFormTaskData.js.map +1 -1
- package/dist/retail/adaptors/getPersonalInfoData.js +1 -1
- package/dist/retail/adaptors/getPersonalInfoData.js.map +1 -1
- package/dist/retail/api/dadataHints/dadataHints.js +11 -7
- package/dist/retail/api/dadataHints/dadataHints.js.map +1 -1
- package/dist/retail/api/dadataHints/dadataHintsType.d.ts +10 -3
- package/dist/retail/api/dadataHints/hintsListsOptions.d.ts +2 -10
- package/dist/retail/api/dadataHints/hintsListsOptions.js +17 -2
- package/dist/retail/api/dadataHints/hintsListsOptions.js.map +1 -1
- package/dist/retail/api/esiaRequestProfile.js +1 -5
- package/dist/retail/api/esiaRequestProfile.js.map +1 -1
- package/dist/retail/api/updateUserTask.d.ts +2 -0
- package/dist/retail/api/updateUserTask.js.map +1 -1
- package/dist/retail/components/CheckboxWithDoc/CheckboxWithDoc.js +3 -2
- package/dist/retail/components/CheckboxWithDoc/CheckboxWithDoc.js.map +1 -1
- package/dist/retail/components/DaDataInputControl/DaDataInputControl.js +10 -2
- package/dist/retail/components/DaDataInputControl/DaDataInputControl.js.map +1 -1
- package/dist/retail/components/DaDataInputControl/InputPopup.js +2 -2
- package/dist/retail/components/DaDataInputControl/InputPopup.js.map +1 -1
- package/dist/retail/components/DaDataInputControl/useInputPopup.js +1 -0
- package/dist/retail/components/DaDataInputControl/useInputPopup.js.map +1 -1
- package/dist/retail/components/DocumentDialog/DocumentDialog.js +1 -1
- package/dist/retail/components/DocumentDialog/DocumentDialog.js.map +1 -1
- package/dist/retail/components/DocumentDialog/useDocumentDialog.d.ts +4 -1
- package/dist/retail/components/DocumentDialog/useDocumentDialog.js +11 -3
- package/dist/retail/components/DocumentDialog/useDocumentDialog.js.map +1 -1
- package/dist/retail/components/Fields/BirthPlaceField.js +1 -1
- package/dist/retail/components/Fields/BirthPlaceField.js.map +1 -1
- package/dist/retail/components/Fields/ChildrenField.js +1 -1
- package/dist/retail/components/Fields/ChildrenField.js.map +1 -1
- package/dist/retail/components/Fields/CodeWordField.js +1 -1
- package/dist/retail/components/Fields/CodeWordField.js.map +1 -1
- package/dist/retail/components/Fields/DependentsField.js +1 -1
- package/dist/retail/components/Fields/DependentsField.js.map +1 -1
- package/dist/retail/components/Fields/DulIssueDateField.js +1 -1
- package/dist/retail/components/Fields/DulIssueDateField.js.map +1 -1
- package/dist/retail/components/Fields/DulIssuedByField.js +2 -2
- package/dist/retail/components/Fields/DulIssuedByField.js.map +1 -1
- package/dist/retail/components/Fields/DulSubdivisionCodeField.js +14 -1
- package/dist/retail/components/Fields/DulSubdivisionCodeField.js.map +1 -1
- package/dist/retail/components/Fields/EmailField.js +1 -3
- package/dist/retail/components/Fields/EmailField.js.map +1 -1
- package/dist/retail/components/Fields/Experience5YearsField.js +1 -1
- package/dist/retail/components/Fields/Experience5YearsField.js.map +1 -1
- package/dist/retail/components/Fields/FamilyMembersField.js +2 -2
- package/dist/retail/components/Fields/FamilyMembersField.js.map +1 -1
- package/dist/retail/components/Fields/GeneralSeniorityField.js +12 -1
- package/dist/retail/components/Fields/GeneralSeniorityField.js.map +1 -1
- package/dist/retail/components/Fields/JobsNumberField.js +1 -1
- package/dist/retail/components/Fields/JobsNumberField.js.map +1 -1
- package/dist/retail/components/Fields/LastJobExperienceField.js +1 -1
- package/dist/retail/components/Fields/LastJobExperienceField.js.map +1 -1
- package/dist/retail/components/Fields/LegalFormField.js +1 -1
- package/dist/retail/components/Fields/LegalFormField.js.map +1 -1
- package/dist/retail/components/Fields/MandatoryPaymentsField.js +1 -1
- package/dist/retail/components/Fields/MandatoryPaymentsField.js.map +1 -1
- package/dist/retail/components/Fields/MiddleNameField.js +1 -1
- package/dist/retail/components/Fields/NameField.js +1 -1
- package/dist/retail/components/Fields/RetirementIncomeField.js +1 -1
- package/dist/retail/components/Fields/RetirementIncomeField.js.map +1 -1
- package/dist/retail/components/Fields/SurnameField.js +1 -1
- package/dist/retail/components/Fields/WagesField.js +1 -1
- package/dist/retail/components/Fields/WagesField.js.map +1 -1
- package/dist/retail/components/VerifyPhoneDialog/VerifyPhoneDialog.d.ts +0 -7
- package/dist/retail/components/VerifyPhoneDialog/VerifyPhoneDialog.js +3 -4
- package/dist/retail/components/VerifyPhoneDialog/VerifyPhoneDialog.js.map +1 -1
- package/dist/retail/components/VerifyPhoneDialog/useVerifyPhoneDialogSubmit.d.ts +7 -0
- package/dist/retail/components/VerifyPhoneDialog/useVerifyPhoneDialogSubmit.js +3 -3
- package/dist/retail/components/VerifyPhoneDialog/useVerifyPhoneDialogSubmit.js.map +1 -1
- package/dist/retail/inputs.d.ts +0 -2
- package/dist/retail/inputs.js +0 -4
- package/dist/retail/inputs.js.map +1 -1
- package/dist/retail/model/LeadFormState.d.ts +0 -2
- package/dist/retail/model/NameFieldDef.d.ts +1 -1
- package/dist/retail/utils/calculateInputs.js +1 -1
- package/dist/retail/utils/calculateInputs.js.map +1 -1
- package/dist/retail/utils/updateOrganizationFields.js +1 -1
- package/dist/retail/utils/updateOrganizationFields.js.map +1 -1
- package/dist/retail/validator/getLimitedBirthdayValidation.js +2 -1
- package/dist/retail/validator/getLimitedBirthdayValidation.js.map +1 -1
- package/dist/retail/validator/getRetailFormValidator.js +3 -0
- package/dist/retail/validator/getRetailFormValidator.js.map +1 -1
- package/dist/retail/validator/validatorObj.js +4 -9
- package/dist/retail/validator/validatorObj.js.map +1 -1
- package/dist/retail/validator/validators.d.ts +5 -3
- package/dist/retail/validator/validators.js +27 -17
- package/dist/retail/validator/validators.js.map +1 -1
- package/dist/ui-kit/DialogManager/Dialog.js +1 -1
- package/dist/ui-kit/DialogManager/Dialog.js.map +1 -1
- package/dist/ui-kit/Input/renderErrorText.js +1 -1
- package/dist/ui-kit/Input/renderErrorText.js.map +1 -1
- package/dist/ui-kit/Loader/Loader.d.ts +1 -1
- package/dist/ui-kit/Loader/Loader.js +1 -1
- package/dist/ui-kit/Loader/Loader.js.map +1 -1
- package/lib/common.css +1 -1
- package/lib/components/ApplicationLeadForm/getLeadFormTaskData.js +1 -3
- package/lib/components/ApplicationLeadForm/getLeadFormTaskData.js.map +1 -1
- package/lib/components/ApplicationLeadForm/useInitApplicationLead.js +2 -1
- package/lib/components/ApplicationLeadForm/useInitApplicationLead.js.map +1 -1
- package/lib/components/Blocks.mobile.js +2 -0
- package/lib/components/Blocks.mobile.js.map +1 -1
- package/lib/components/DebitForm/getDebitCardFormTaskData.js +1 -0
- package/lib/components/DebitForm/getDebitCardFormTaskData.js.map +1 -1
- package/lib/components/OfficesAtmsMap/OfficesAtmsMapLayout.d.ts +1 -1
- package/lib/retail/adaptors/getPersonalInfoData.js +1 -1
- package/lib/retail/adaptors/getPersonalInfoData.js.map +1 -1
- package/lib/retail/api/dadataHints/dadataHints.js +11 -7
- package/lib/retail/api/dadataHints/dadataHints.js.map +1 -1
- package/lib/retail/api/dadataHints/dadataHintsType.d.ts +10 -3
- package/lib/retail/api/dadataHints/hintsListsOptions.d.ts +2 -10
- package/lib/retail/api/dadataHints/hintsListsOptions.js +17 -2
- package/lib/retail/api/dadataHints/hintsListsOptions.js.map +1 -1
- package/lib/retail/api/esiaRequestProfile.js +1 -5
- package/lib/retail/api/esiaRequestProfile.js.map +1 -1
- package/lib/retail/api/updateUserTask.d.ts +2 -0
- package/lib/retail/api/updateUserTask.js.map +1 -1
- package/lib/retail/components/CheckboxWithDoc/CheckboxWithDoc.js +3 -2
- package/lib/retail/components/CheckboxWithDoc/CheckboxWithDoc.js.map +1 -1
- package/lib/retail/components/DaDataInputControl/DaDataInputControl.js +10 -2
- package/lib/retail/components/DaDataInputControl/DaDataInputControl.js.map +1 -1
- package/lib/retail/components/DaDataInputControl/InputPopup.js +3 -3
- package/lib/retail/components/DaDataInputControl/InputPopup.js.map +1 -1
- package/lib/retail/components/DaDataInputControl/useInputPopup.js +1 -0
- package/lib/retail/components/DaDataInputControl/useInputPopup.js.map +1 -1
- package/lib/retail/components/DocumentDialog/DocumentDialog.js +1 -1
- package/lib/retail/components/DocumentDialog/DocumentDialog.js.map +1 -1
- package/lib/retail/components/DocumentDialog/useDocumentDialog.d.ts +4 -1
- package/lib/retail/components/DocumentDialog/useDocumentDialog.js +11 -3
- package/lib/retail/components/DocumentDialog/useDocumentDialog.js.map +1 -1
- package/lib/retail/components/Fields/BirthPlaceField.js +1 -1
- package/lib/retail/components/Fields/BirthPlaceField.js.map +1 -1
- package/lib/retail/components/Fields/ChildrenField.js +1 -1
- package/lib/retail/components/Fields/ChildrenField.js.map +1 -1
- package/lib/retail/components/Fields/CodeWordField.js +1 -1
- package/lib/retail/components/Fields/CodeWordField.js.map +1 -1
- package/lib/retail/components/Fields/DependentsField.js +1 -1
- package/lib/retail/components/Fields/DependentsField.js.map +1 -1
- package/lib/retail/components/Fields/DulIssueDateField.js +1 -1
- package/lib/retail/components/Fields/DulIssueDateField.js.map +1 -1
- package/lib/retail/components/Fields/DulIssuedByField.js +2 -2
- package/lib/retail/components/Fields/DulIssuedByField.js.map +1 -1
- package/lib/retail/components/Fields/DulSubdivisionCodeField.js +15 -2
- package/lib/retail/components/Fields/DulSubdivisionCodeField.js.map +1 -1
- package/lib/retail/components/Fields/EmailField.js +1 -3
- package/lib/retail/components/Fields/EmailField.js.map +1 -1
- package/lib/retail/components/Fields/Experience5YearsField.js +1 -1
- package/lib/retail/components/Fields/Experience5YearsField.js.map +1 -1
- package/lib/retail/components/Fields/FamilyMembersField.js +2 -2
- package/lib/retail/components/Fields/FamilyMembersField.js.map +1 -1
- package/lib/retail/components/Fields/GeneralSeniorityField.js +12 -1
- package/lib/retail/components/Fields/GeneralSeniorityField.js.map +1 -1
- package/lib/retail/components/Fields/JobsNumberField.js +1 -1
- package/lib/retail/components/Fields/JobsNumberField.js.map +1 -1
- package/lib/retail/components/Fields/LastJobExperienceField.js +1 -1
- package/lib/retail/components/Fields/LastJobExperienceField.js.map +1 -1
- package/lib/retail/components/Fields/LegalFormField.js +1 -1
- package/lib/retail/components/Fields/LegalFormField.js.map +1 -1
- package/lib/retail/components/Fields/MandatoryPaymentsField.js +1 -1
- package/lib/retail/components/Fields/MandatoryPaymentsField.js.map +1 -1
- package/lib/retail/components/Fields/MiddleNameField.js +1 -1
- package/lib/retail/components/Fields/NameField.js +1 -1
- package/lib/retail/components/Fields/RetirementIncomeField.js +1 -1
- package/lib/retail/components/Fields/RetirementIncomeField.js.map +1 -1
- package/lib/retail/components/Fields/SurnameField.js +1 -1
- package/lib/retail/components/Fields/WagesField.js +1 -1
- package/lib/retail/components/Fields/WagesField.js.map +1 -1
- package/lib/retail/components/VerifyPhoneDialog/VerifyPhoneDialog.d.ts +0 -7
- package/lib/retail/components/VerifyPhoneDialog/VerifyPhoneDialog.js +1 -2
- package/lib/retail/components/VerifyPhoneDialog/VerifyPhoneDialog.js.map +1 -1
- package/lib/retail/components/VerifyPhoneDialog/useVerifyPhoneDialogSubmit.d.ts +7 -0
- package/lib/retail/components/VerifyPhoneDialog/useVerifyPhoneDialogSubmit.js +1 -1
- package/lib/retail/components/VerifyPhoneDialog/useVerifyPhoneDialogSubmit.js.map +1 -1
- package/lib/retail/inputs.d.ts +0 -2
- package/lib/retail/inputs.js +0 -4
- package/lib/retail/inputs.js.map +1 -1
- package/lib/retail/model/LeadFormState.d.ts +0 -2
- package/lib/retail/model/NameFieldDef.d.ts +1 -1
- package/lib/retail/utils/calculateInputs.js +1 -1
- package/lib/retail/utils/calculateInputs.js.map +1 -1
- package/lib/retail/utils/updateOrganizationFields.js +1 -1
- package/lib/retail/utils/updateOrganizationFields.js.map +1 -1
- package/lib/retail/validator/getLimitedBirthdayValidation.js +2 -1
- package/lib/retail/validator/getLimitedBirthdayValidation.js.map +1 -1
- package/lib/retail/validator/getRetailFormValidator.js +4 -1
- package/lib/retail/validator/getRetailFormValidator.js.map +1 -1
- package/lib/retail/validator/validatorObj.js +5 -10
- package/lib/retail/validator/validatorObj.js.map +1 -1
- package/lib/retail/validator/validators.d.ts +5 -3
- package/lib/retail/validator/validators.js +22 -14
- package/lib/retail/validator/validators.js.map +1 -1
- package/lib/ui-kit/DialogManager/Dialog.js +1 -1
- package/lib/ui-kit/DialogManager/Dialog.js.map +1 -1
- package/lib/ui-kit/Input/renderErrorText.js +1 -1
- package/lib/ui-kit/Input/renderErrorText.js.map +1 -1
- package/lib/ui-kit/Loader/Loader.d.ts +1 -1
- package/lib/ui-kit/Loader/Loader.js +1 -1
- package/lib/ui-kit/Loader/Loader.js.map +1 -1
- package/mobile/bundle/bundle.umd.js +569 -142
- package/mobile/bundle/bundle.umd.min.js +1 -1
- package/mobile/bundle/retail/api/dadataHints/dadataHintsType.d.ts +10 -3
- package/mobile/bundle/retail/api/dadataHints/hintsListsOptions.d.ts +2 -10
- package/mobile/bundle/retail/api/updateUserTask.d.ts +2 -0
- package/mobile/bundle/retail/components/DocumentDialog/useDocumentDialog.d.ts +4 -1
- package/mobile/bundle/retail/components/VerifyPhoneDialog/VerifyPhoneDialog.d.ts +0 -7
- package/mobile/bundle/retail/components/VerifyPhoneDialog/useVerifyPhoneDialogSubmit.d.ts +7 -0
- package/mobile/bundle/retail/inputs.d.ts +0 -2
- package/mobile/bundle/retail/model/LeadFormState.d.ts +0 -2
- package/mobile/bundle/retail/model/NameFieldDef.d.ts +1 -1
- package/mobile/bundle/retail/validator/validators.d.ts +5 -3
- package/mobile/bundle/ui-kit/Loader/Loader.d.ts +1 -1
- package/mobile/dist/components/ApplicationLeadForm/getLeadFormTaskData.js +1 -3
- package/mobile/dist/components/ApplicationLeadForm/getLeadFormTaskData.js.map +1 -1
- package/mobile/dist/components/ApplicationLeadForm/useInitApplicationLead.js +2 -1
- package/mobile/dist/components/ApplicationLeadForm/useInitApplicationLead.js.map +1 -1
- package/mobile/dist/components/Blocks.js +2 -0
- package/mobile/dist/components/Blocks.js.map +1 -1
- package/mobile/dist/components/DebitForm/getDebitCardFormTaskData.js +1 -0
- package/mobile/dist/components/DebitForm/getDebitCardFormTaskData.js.map +1 -1
- package/mobile/dist/retail/adaptors/getPersonalInfoData.js +1 -1
- package/mobile/dist/retail/adaptors/getPersonalInfoData.js.map +1 -1
- package/mobile/dist/retail/api/dadataHints/dadataHints.js +11 -7
- package/mobile/dist/retail/api/dadataHints/dadataHints.js.map +1 -1
- package/mobile/dist/retail/api/dadataHints/dadataHintsType.d.ts +10 -3
- package/mobile/dist/retail/api/dadataHints/hintsListsOptions.d.ts +2 -10
- package/mobile/dist/retail/api/dadataHints/hintsListsOptions.js +17 -2
- package/mobile/dist/retail/api/dadataHints/hintsListsOptions.js.map +1 -1
- package/mobile/dist/retail/api/esiaRequestProfile.js +1 -5
- package/mobile/dist/retail/api/esiaRequestProfile.js.map +1 -1
- package/mobile/dist/retail/api/updateUserTask.d.ts +2 -0
- package/mobile/dist/retail/api/updateUserTask.js.map +1 -1
- package/mobile/dist/retail/components/CheckboxWithDoc/CheckboxWithDoc.js +3 -2
- package/mobile/dist/retail/components/CheckboxWithDoc/CheckboxWithDoc.js.map +1 -1
- package/mobile/dist/retail/components/DaDataInputControl/DaDataInputControl.js +10 -2
- package/mobile/dist/retail/components/DaDataInputControl/DaDataInputControl.js.map +1 -1
- package/mobile/dist/retail/components/DaDataInputControl/InputPopup.js +2 -2
- package/mobile/dist/retail/components/DaDataInputControl/InputPopup.js.map +1 -1
- package/mobile/dist/retail/components/DaDataInputControl/useInputPopup.js +1 -0
- package/mobile/dist/retail/components/DaDataInputControl/useInputPopup.js.map +1 -1
- package/mobile/dist/retail/components/DocumentDialog/DocumentDialog.js +1 -1
- package/mobile/dist/retail/components/DocumentDialog/DocumentDialog.js.map +1 -1
- package/mobile/dist/retail/components/DocumentDialog/useDocumentDialog.d.ts +4 -1
- package/mobile/dist/retail/components/DocumentDialog/useDocumentDialog.js +11 -3
- package/mobile/dist/retail/components/DocumentDialog/useDocumentDialog.js.map +1 -1
- package/mobile/dist/retail/components/Fields/BirthPlaceField.js +1 -1
- package/mobile/dist/retail/components/Fields/BirthPlaceField.js.map +1 -1
- package/mobile/dist/retail/components/Fields/ChildrenField.js +1 -1
- package/mobile/dist/retail/components/Fields/ChildrenField.js.map +1 -1
- package/mobile/dist/retail/components/Fields/CodeWordField.js +1 -1
- package/mobile/dist/retail/components/Fields/CodeWordField.js.map +1 -1
- package/mobile/dist/retail/components/Fields/DependentsField.js +1 -1
- package/mobile/dist/retail/components/Fields/DependentsField.js.map +1 -1
- package/mobile/dist/retail/components/Fields/DulIssueDateField.js +1 -1
- package/mobile/dist/retail/components/Fields/DulIssueDateField.js.map +1 -1
- package/mobile/dist/retail/components/Fields/DulIssuedByField.js +2 -2
- package/mobile/dist/retail/components/Fields/DulIssuedByField.js.map +1 -1
- package/mobile/dist/retail/components/Fields/DulSubdivisionCodeField.js +14 -1
- package/mobile/dist/retail/components/Fields/DulSubdivisionCodeField.js.map +1 -1
- package/mobile/dist/retail/components/Fields/EmailField.js +1 -3
- package/mobile/dist/retail/components/Fields/EmailField.js.map +1 -1
- package/mobile/dist/retail/components/Fields/Experience5YearsField.js +1 -1
- package/mobile/dist/retail/components/Fields/Experience5YearsField.js.map +1 -1
- package/mobile/dist/retail/components/Fields/FamilyMembersField.js +2 -2
- package/mobile/dist/retail/components/Fields/FamilyMembersField.js.map +1 -1
- package/mobile/dist/retail/components/Fields/GeneralSeniorityField.js +12 -1
- package/mobile/dist/retail/components/Fields/GeneralSeniorityField.js.map +1 -1
- package/mobile/dist/retail/components/Fields/JobsNumberField.js +1 -1
- package/mobile/dist/retail/components/Fields/JobsNumberField.js.map +1 -1
- package/mobile/dist/retail/components/Fields/LastJobExperienceField.js +1 -1
- package/mobile/dist/retail/components/Fields/LastJobExperienceField.js.map +1 -1
- package/mobile/dist/retail/components/Fields/LegalFormField.js +1 -1
- package/mobile/dist/retail/components/Fields/LegalFormField.js.map +1 -1
- package/mobile/dist/retail/components/Fields/MandatoryPaymentsField.js +1 -1
- package/mobile/dist/retail/components/Fields/MandatoryPaymentsField.js.map +1 -1
- package/mobile/dist/retail/components/Fields/MiddleNameField.js +1 -1
- package/mobile/dist/retail/components/Fields/NameField.js +1 -1
- package/mobile/dist/retail/components/Fields/RetirementIncomeField.js +1 -1
- package/mobile/dist/retail/components/Fields/RetirementIncomeField.js.map +1 -1
- package/mobile/dist/retail/components/Fields/SurnameField.js +1 -1
- package/mobile/dist/retail/components/Fields/WagesField.js +1 -1
- package/mobile/dist/retail/components/Fields/WagesField.js.map +1 -1
- package/mobile/dist/retail/components/VerifyPhoneDialog/VerifyPhoneDialog.d.ts +0 -7
- package/mobile/dist/retail/components/VerifyPhoneDialog/VerifyPhoneDialog.js +3 -4
- package/mobile/dist/retail/components/VerifyPhoneDialog/VerifyPhoneDialog.js.map +1 -1
- package/mobile/dist/retail/components/VerifyPhoneDialog/useVerifyPhoneDialogSubmit.d.ts +7 -0
- package/mobile/dist/retail/components/VerifyPhoneDialog/useVerifyPhoneDialogSubmit.js +3 -3
- package/mobile/dist/retail/components/VerifyPhoneDialog/useVerifyPhoneDialogSubmit.js.map +1 -1
- package/mobile/dist/retail/inputs.d.ts +0 -2
- package/mobile/dist/retail/inputs.js +0 -4
- package/mobile/dist/retail/inputs.js.map +1 -1
- package/mobile/dist/retail/model/LeadFormState.d.ts +0 -2
- package/mobile/dist/retail/model/NameFieldDef.d.ts +1 -1
- package/mobile/dist/retail/utils/calculateInputs.js +1 -1
- package/mobile/dist/retail/utils/calculateInputs.js.map +1 -1
- package/mobile/dist/retail/utils/updateOrganizationFields.js +1 -1
- package/mobile/dist/retail/utils/updateOrganizationFields.js.map +1 -1
- package/mobile/dist/retail/validator/getLimitedBirthdayValidation.js +2 -1
- package/mobile/dist/retail/validator/getLimitedBirthdayValidation.js.map +1 -1
- package/mobile/dist/retail/validator/getRetailFormValidator.js +3 -0
- package/mobile/dist/retail/validator/getRetailFormValidator.js.map +1 -1
- package/mobile/dist/retail/validator/validatorObj.js +4 -9
- package/mobile/dist/retail/validator/validatorObj.js.map +1 -1
- package/mobile/dist/retail/validator/validators.d.ts +5 -3
- package/mobile/dist/retail/validator/validators.js +27 -17
- package/mobile/dist/retail/validator/validators.js.map +1 -1
- package/mobile/dist/ui-kit/DialogManager/Dialog.js +1 -1
- package/mobile/dist/ui-kit/DialogManager/Dialog.js.map +1 -1
- package/mobile/dist/ui-kit/Input/renderErrorText.js +1 -1
- package/mobile/dist/ui-kit/Input/renderErrorText.js.map +1 -1
- package/mobile/dist/ui-kit/Loader/Loader.d.ts +1 -1
- package/mobile/dist/ui-kit/Loader/Loader.js +1 -1
- package/mobile/dist/ui-kit/Loader/Loader.js.map +1 -1
- package/mobile/lib/common.css +1 -1
- package/mobile/lib/components/ApplicationLeadForm/getLeadFormTaskData.js +1 -3
- package/mobile/lib/components/ApplicationLeadForm/getLeadFormTaskData.js.map +1 -1
- package/mobile/lib/components/ApplicationLeadForm/useInitApplicationLead.js +2 -1
- package/mobile/lib/components/ApplicationLeadForm/useInitApplicationLead.js.map +1 -1
- package/mobile/lib/components/Blocks.js +2 -0
- package/mobile/lib/components/Blocks.js.map +1 -1
- package/mobile/lib/components/DebitForm/getDebitCardFormTaskData.js +1 -0
- package/mobile/lib/components/DebitForm/getDebitCardFormTaskData.js.map +1 -1
- package/mobile/lib/retail/adaptors/getPersonalInfoData.js +1 -1
- package/mobile/lib/retail/adaptors/getPersonalInfoData.js.map +1 -1
- package/mobile/lib/retail/api/dadataHints/dadataHints.js +11 -7
- package/mobile/lib/retail/api/dadataHints/dadataHints.js.map +1 -1
- package/mobile/lib/retail/api/dadataHints/dadataHintsType.d.ts +10 -3
- package/mobile/lib/retail/api/dadataHints/hintsListsOptions.d.ts +2 -10
- package/mobile/lib/retail/api/dadataHints/hintsListsOptions.js +17 -2
- package/mobile/lib/retail/api/dadataHints/hintsListsOptions.js.map +1 -1
- package/mobile/lib/retail/api/esiaRequestProfile.js +1 -5
- package/mobile/lib/retail/api/esiaRequestProfile.js.map +1 -1
- package/mobile/lib/retail/api/updateUserTask.d.ts +2 -0
- package/mobile/lib/retail/api/updateUserTask.js.map +1 -1
- package/mobile/lib/retail/components/CheckboxWithDoc/CheckboxWithDoc.js +3 -2
- package/mobile/lib/retail/components/CheckboxWithDoc/CheckboxWithDoc.js.map +1 -1
- package/mobile/lib/retail/components/DaDataInputControl/DaDataInputControl.js +10 -2
- package/mobile/lib/retail/components/DaDataInputControl/DaDataInputControl.js.map +1 -1
- package/mobile/lib/retail/components/DaDataInputControl/InputPopup.js +3 -3
- package/mobile/lib/retail/components/DaDataInputControl/InputPopup.js.map +1 -1
- package/mobile/lib/retail/components/DaDataInputControl/useInputPopup.js +1 -0
- package/mobile/lib/retail/components/DaDataInputControl/useInputPopup.js.map +1 -1
- package/mobile/lib/retail/components/DocumentDialog/DocumentDialog.js +1 -1
- package/mobile/lib/retail/components/DocumentDialog/DocumentDialog.js.map +1 -1
- package/mobile/lib/retail/components/DocumentDialog/useDocumentDialog.d.ts +4 -1
- package/mobile/lib/retail/components/DocumentDialog/useDocumentDialog.js +11 -3
- package/mobile/lib/retail/components/DocumentDialog/useDocumentDialog.js.map +1 -1
- package/mobile/lib/retail/components/Fields/BirthPlaceField.js +1 -1
- package/mobile/lib/retail/components/Fields/BirthPlaceField.js.map +1 -1
- package/mobile/lib/retail/components/Fields/ChildrenField.js +1 -1
- package/mobile/lib/retail/components/Fields/ChildrenField.js.map +1 -1
- package/mobile/lib/retail/components/Fields/CodeWordField.js +1 -1
- package/mobile/lib/retail/components/Fields/CodeWordField.js.map +1 -1
- package/mobile/lib/retail/components/Fields/DependentsField.js +1 -1
- package/mobile/lib/retail/components/Fields/DependentsField.js.map +1 -1
- package/mobile/lib/retail/components/Fields/DulIssueDateField.js +1 -1
- package/mobile/lib/retail/components/Fields/DulIssueDateField.js.map +1 -1
- package/mobile/lib/retail/components/Fields/DulIssuedByField.js +2 -2
- package/mobile/lib/retail/components/Fields/DulIssuedByField.js.map +1 -1
- package/mobile/lib/retail/components/Fields/DulSubdivisionCodeField.js +15 -2
- package/mobile/lib/retail/components/Fields/DulSubdivisionCodeField.js.map +1 -1
- package/mobile/lib/retail/components/Fields/EmailField.js +1 -3
- package/mobile/lib/retail/components/Fields/EmailField.js.map +1 -1
- package/mobile/lib/retail/components/Fields/Experience5YearsField.js +1 -1
- package/mobile/lib/retail/components/Fields/Experience5YearsField.js.map +1 -1
- package/mobile/lib/retail/components/Fields/FamilyMembersField.js +2 -2
- package/mobile/lib/retail/components/Fields/FamilyMembersField.js.map +1 -1
- package/mobile/lib/retail/components/Fields/GeneralSeniorityField.js +12 -1
- package/mobile/lib/retail/components/Fields/GeneralSeniorityField.js.map +1 -1
- package/mobile/lib/retail/components/Fields/JobsNumberField.js +1 -1
- package/mobile/lib/retail/components/Fields/JobsNumberField.js.map +1 -1
- package/mobile/lib/retail/components/Fields/LastJobExperienceField.js +1 -1
- package/mobile/lib/retail/components/Fields/LastJobExperienceField.js.map +1 -1
- package/mobile/lib/retail/components/Fields/LegalFormField.js +1 -1
- package/mobile/lib/retail/components/Fields/LegalFormField.js.map +1 -1
- package/mobile/lib/retail/components/Fields/MandatoryPaymentsField.js +1 -1
- package/mobile/lib/retail/components/Fields/MandatoryPaymentsField.js.map +1 -1
- package/mobile/lib/retail/components/Fields/MiddleNameField.js +1 -1
- package/mobile/lib/retail/components/Fields/NameField.js +1 -1
- package/mobile/lib/retail/components/Fields/RetirementIncomeField.js +1 -1
- package/mobile/lib/retail/components/Fields/RetirementIncomeField.js.map +1 -1
- package/mobile/lib/retail/components/Fields/SurnameField.js +1 -1
- package/mobile/lib/retail/components/Fields/WagesField.js +1 -1
- package/mobile/lib/retail/components/Fields/WagesField.js.map +1 -1
- package/mobile/lib/retail/components/VerifyPhoneDialog/VerifyPhoneDialog.d.ts +0 -7
- package/mobile/lib/retail/components/VerifyPhoneDialog/VerifyPhoneDialog.js +1 -2
- package/mobile/lib/retail/components/VerifyPhoneDialog/VerifyPhoneDialog.js.map +1 -1
- package/mobile/lib/retail/components/VerifyPhoneDialog/useVerifyPhoneDialogSubmit.d.ts +7 -0
- package/mobile/lib/retail/components/VerifyPhoneDialog/useVerifyPhoneDialogSubmit.js +1 -1
- package/mobile/lib/retail/components/VerifyPhoneDialog/useVerifyPhoneDialogSubmit.js.map +1 -1
- package/mobile/lib/retail/inputs.d.ts +0 -2
- package/mobile/lib/retail/inputs.js +0 -4
- package/mobile/lib/retail/inputs.js.map +1 -1
- package/mobile/lib/retail/model/LeadFormState.d.ts +0 -2
- package/mobile/lib/retail/model/NameFieldDef.d.ts +1 -1
- package/mobile/lib/retail/utils/calculateInputs.js +1 -1
- package/mobile/lib/retail/utils/calculateInputs.js.map +1 -1
- package/mobile/lib/retail/utils/updateOrganizationFields.js +1 -1
- package/mobile/lib/retail/utils/updateOrganizationFields.js.map +1 -1
- package/mobile/lib/retail/validator/getLimitedBirthdayValidation.js +2 -1
- package/mobile/lib/retail/validator/getLimitedBirthdayValidation.js.map +1 -1
- package/mobile/lib/retail/validator/getRetailFormValidator.js +4 -1
- package/mobile/lib/retail/validator/getRetailFormValidator.js.map +1 -1
- package/mobile/lib/retail/validator/validatorObj.js +5 -10
- package/mobile/lib/retail/validator/validatorObj.js.map +1 -1
- package/mobile/lib/retail/validator/validators.d.ts +5 -3
- package/mobile/lib/retail/validator/validators.js +22 -14
- package/mobile/lib/retail/validator/validators.js.map +1 -1
- package/mobile/lib/ui-kit/DialogManager/Dialog.js +1 -1
- package/mobile/lib/ui-kit/DialogManager/Dialog.js.map +1 -1
- package/mobile/lib/ui-kit/Input/renderErrorText.js +1 -1
- package/mobile/lib/ui-kit/Input/renderErrorText.js.map +1 -1
- package/mobile/lib/ui-kit/Loader/Loader.d.ts +1 -1
- package/mobile/lib/ui-kit/Loader/Loader.js +1 -1
- package/mobile/lib/ui-kit/Loader/Loader.js.map +1 -1
- package/mobile/src/components/ApplicationLeadForm/getLeadFormTaskData.ts +1 -3
- package/mobile/src/components/ApplicationLeadForm/useInitApplicationLead.ts +2 -1
- package/mobile/src/components/Blocks.ts +2 -0
- package/mobile/src/components/DebitForm/getDebitCardFormTaskData.ts +1 -0
- package/mobile/src/retail/adaptors/getPersonalInfoData.tsx +1 -1
- package/mobile/src/retail/api/dadataHints/dadataHints.ts +17 -6
- package/mobile/src/retail/api/dadataHints/dadataHintsType.ts +10 -3
- package/mobile/src/retail/api/dadataHints/hintsListsOptions.ts +20 -13
- package/mobile/src/retail/api/esiaRequestProfile.ts +2 -6
- package/mobile/src/retail/api/updateUserTask.ts +2 -0
- package/mobile/src/retail/components/CheckboxWithDoc/CheckboxWithDoc.tsx +3 -1
- package/mobile/src/retail/components/DaDataInputControl/DaDataInputControl.tsx +15 -1
- package/mobile/src/retail/components/DaDataInputControl/InputPopup.tsx +5 -2
- package/mobile/src/retail/components/DaDataInputControl/useInputPopup.tsx +1 -0
- package/mobile/src/retail/components/DocumentDialog/DocumentDialog.tsx +1 -1
- package/mobile/src/retail/components/DocumentDialog/useDocumentDialog.ts +12 -3
- package/mobile/src/retail/components/Fields/BirthPlaceField.tsx +1 -0
- package/mobile/src/retail/components/Fields/ChildrenField.tsx +1 -0
- package/mobile/src/retail/components/Fields/CodeWordField.tsx +6 -1
- package/mobile/src/retail/components/Fields/DependentsField.tsx +1 -0
- package/mobile/src/retail/components/Fields/DulIssueDateField.tsx +1 -0
- package/mobile/src/retail/components/Fields/DulIssuedByField.tsx +2 -1
- package/mobile/src/retail/components/Fields/DulSubdivisionCodeField.tsx +21 -3
- package/mobile/src/retail/components/Fields/EmailField.tsx +8 -3
- package/mobile/src/retail/components/Fields/Experience5YearsField.tsx +2 -2
- package/mobile/src/retail/components/Fields/FamilyMembersField.tsx +2 -2
- package/mobile/src/retail/components/Fields/GeneralSeniorityField.tsx +28 -11
- package/mobile/src/retail/components/Fields/JobsNumberField.tsx +1 -0
- package/mobile/src/retail/components/Fields/LastJobExperienceField.tsx +1 -0
- package/mobile/src/retail/components/Fields/LegalFormField.tsx +1 -0
- package/mobile/src/retail/components/Fields/MandatoryPaymentsField.tsx +2 -0
- package/mobile/src/retail/components/Fields/MiddleNameField.tsx +1 -1
- package/mobile/src/retail/components/Fields/NameField.tsx +1 -1
- package/mobile/src/retail/components/Fields/RetirementIncomeField.tsx +2 -0
- package/mobile/src/retail/components/Fields/SurnameField.tsx +1 -1
- package/mobile/src/retail/components/Fields/WagesField.tsx +2 -0
- package/mobile/src/retail/components/VerifyPhoneDialog/VerifyPhoneDialog.tsx +5 -9
- package/mobile/src/retail/components/VerifyPhoneDialog/useVerifyPhoneDialogSubmit.tsx +9 -1
- package/mobile/src/retail/inputs.tsx +0 -4
- package/mobile/src/retail/model/LeadFormState.ts +0 -2
- package/mobile/src/retail/model/NameFieldDef.ts +0 -2
- package/mobile/src/retail/utils/calculateInputs.ts +1 -1
- package/mobile/src/retail/utils/updateOrganizationFields.ts +1 -1
- package/mobile/src/retail/validator/getLimitedBirthdayValidation.ts +2 -1
- package/mobile/src/retail/validator/getRetailFormValidator.ts +9 -1
- package/mobile/src/retail/validator/validatorObj.ts +4 -12
- package/mobile/src/retail/validator/validators.ts +47 -28
- package/mobile/src/ui-kit/DialogManager/Dialog.tsx +1 -1
- package/mobile/src/ui-kit/Input/renderErrorText.tsx +1 -1
- package/mobile/src/ui-kit/Loader/Loader.tsx +4 -2
- package/package.json +1 -1
- package/src/components/ApplicationLeadForm/getLeadFormTaskData.ts +1 -3
- package/src/components/ApplicationLeadForm/useInitApplicationLead.ts +2 -1
- package/src/components/Blocks.mobile.ts +2 -0
- package/src/components/DebitForm/getDebitCardFormTaskData.ts +1 -0
- package/src/retail/adaptors/getPersonalInfoData.tsx +1 -1
- package/src/retail/api/dadataHints/dadataHints.ts +17 -6
- package/src/retail/api/dadataHints/dadataHintsType.ts +10 -3
- package/src/retail/api/dadataHints/hintsListsOptions.ts +20 -13
- package/src/retail/api/esiaRequestProfile.ts +2 -6
- package/src/retail/api/updateUserTask.ts +2 -0
- package/src/retail/components/CheckboxWithDoc/CheckboxWithDoc.tsx +3 -1
- package/src/retail/components/DaDataInputControl/DaDataInputControl.tsx +15 -1
- package/src/retail/components/DaDataInputControl/InputPopup.tsx +5 -2
- package/src/retail/components/DaDataInputControl/useInputPopup.tsx +1 -0
- package/src/retail/components/DocumentDialog/DocumentDialog.tsx +1 -1
- package/src/retail/components/DocumentDialog/useDocumentDialog.ts +12 -3
- package/src/retail/components/Fields/BirthPlaceField.tsx +1 -0
- package/src/retail/components/Fields/ChildrenField.tsx +1 -0
- package/src/retail/components/Fields/CodeWordField.tsx +6 -1
- package/src/retail/components/Fields/DependentsField.tsx +1 -0
- package/src/retail/components/Fields/DulIssueDateField.tsx +1 -0
- package/src/retail/components/Fields/DulIssuedByField.tsx +2 -1
- package/src/retail/components/Fields/DulSubdivisionCodeField.tsx +21 -3
- package/src/retail/components/Fields/EmailField.tsx +8 -3
- package/src/retail/components/Fields/Experience5YearsField.tsx +2 -2
- package/src/retail/components/Fields/FamilyMembersField.tsx +2 -2
- package/src/retail/components/Fields/GeneralSeniorityField.tsx +28 -11
- package/src/retail/components/Fields/JobsNumberField.tsx +1 -0
- package/src/retail/components/Fields/LastJobExperienceField.tsx +1 -0
- package/src/retail/components/Fields/LegalFormField.tsx +1 -0
- package/src/retail/components/Fields/MandatoryPaymentsField.tsx +2 -0
- package/src/retail/components/Fields/MiddleNameField.tsx +1 -1
- package/src/retail/components/Fields/NameField.tsx +1 -1
- package/src/retail/components/Fields/RetirementIncomeField.tsx +2 -0
- package/src/retail/components/Fields/SurnameField.tsx +1 -1
- package/src/retail/components/Fields/WagesField.tsx +2 -0
- package/src/retail/components/VerifyPhoneDialog/VerifyPhoneDialog.tsx +5 -9
- package/src/retail/components/VerifyPhoneDialog/useVerifyPhoneDialogSubmit.tsx +9 -1
- package/src/retail/inputs.tsx +0 -4
- package/src/retail/model/LeadFormState.ts +0 -2
- package/src/retail/model/NameFieldDef.ts +0 -2
- package/src/retail/utils/calculateInputs.ts +1 -1
- package/src/retail/utils/updateOrganizationFields.ts +1 -1
- package/src/retail/validator/getLimitedBirthdayValidation.ts +2 -1
- package/src/retail/validator/getRetailFormValidator.ts +9 -1
- package/src/retail/validator/validatorObj.ts +4 -12
- package/src/retail/validator/validators.ts +47 -28
- package/src/ui-kit/DialogManager/Dialog.tsx +1 -1
- package/src/ui-kit/Input/renderErrorText.tsx +1 -1
- package/src/ui-kit/Loader/Loader.tsx +4 -2
- package/bundle/retail/components/Fields/ExpensesField.d.ts +0 -2
- package/bundle/retail/components/Fields/TotalIncomeField.d.ts +0 -2
- package/dist/retail/components/Fields/ExpensesField.d.ts +0 -2
- package/dist/retail/components/Fields/ExpensesField.js +0 -7
- package/dist/retail/components/Fields/ExpensesField.js.map +0 -1
- package/dist/retail/components/Fields/TotalIncomeField.d.ts +0 -2
- package/dist/retail/components/Fields/TotalIncomeField.js +0 -7
- package/dist/retail/components/Fields/TotalIncomeField.js.map +0 -1
- package/lib/retail/components/Fields/ExpensesField.d.ts +0 -2
- package/lib/retail/components/Fields/ExpensesField.js +0 -5
- package/lib/retail/components/Fields/ExpensesField.js.map +0 -1
- package/lib/retail/components/Fields/TotalIncomeField.d.ts +0 -2
- package/lib/retail/components/Fields/TotalIncomeField.js +0 -5
- package/lib/retail/components/Fields/TotalIncomeField.js.map +0 -1
- package/mobile/bundle/retail/components/Fields/ExpensesField.d.ts +0 -2
- package/mobile/bundle/retail/components/Fields/TotalIncomeField.d.ts +0 -2
- package/mobile/dist/retail/components/Fields/ExpensesField.d.ts +0 -2
- package/mobile/dist/retail/components/Fields/ExpensesField.js +0 -7
- package/mobile/dist/retail/components/Fields/ExpensesField.js.map +0 -1
- package/mobile/dist/retail/components/Fields/TotalIncomeField.d.ts +0 -2
- package/mobile/dist/retail/components/Fields/TotalIncomeField.js +0 -7
- package/mobile/dist/retail/components/Fields/TotalIncomeField.js.map +0 -1
- package/mobile/lib/retail/components/Fields/ExpensesField.d.ts +0 -2
- package/mobile/lib/retail/components/Fields/ExpensesField.js +0 -5
- package/mobile/lib/retail/components/Fields/ExpensesField.js.map +0 -1
- package/mobile/lib/retail/components/Fields/TotalIncomeField.d.ts +0 -2
- package/mobile/lib/retail/components/Fields/TotalIncomeField.js +0 -5
- package/mobile/lib/retail/components/Fields/TotalIncomeField.js.map +0 -1
- package/mobile/src/retail/components/Fields/ExpensesField.tsx +0 -13
- package/mobile/src/retail/components/Fields/TotalIncomeField.tsx +0 -13
- package/src/retail/components/Fields/ExpensesField.tsx +0 -13
- package/src/retail/components/Fields/TotalIncomeField.tsx +0 -13
|
@@ -1262,7 +1262,7 @@
|
|
|
1262
1262
|
// TODO Базовая функицональность всех Control - надо вынести и привязать к required флагу
|
|
1263
1263
|
const getRequiredLabel = ({ label, errors }) => label && errors ? `${label}*` : label;
|
|
1264
1264
|
|
|
1265
|
-
const renderErrorText = (error) => (jsx("div", { className: "h-6", children: error ? (jsx(Text, { size: "text-xs", font: "font-light", color: "text-error", children: error })) : null }));
|
|
1265
|
+
const renderErrorText = (error) => (jsx("div", { className: "min-h-6", children: error ? (jsx(Text, { size: "text-xs", font: "font-light", color: "text-error", children: error })) : null }));
|
|
1266
1266
|
|
|
1267
1267
|
const debounce = (fn, delay = 600) => {
|
|
1268
1268
|
let timerId;
|
|
@@ -2018,20 +2018,24 @@
|
|
|
2018
2018
|
}
|
|
2019
2019
|
|
|
2020
2020
|
const DEFAULT_HINTS_COUNT = 10;
|
|
2021
|
-
const defaultResponseItemHandler = (item) =>
|
|
2022
|
-
|
|
2021
|
+
const defaultResponseItemHandler = (item) => ({
|
|
2022
|
+
value: item?.value || '',
|
|
2023
|
+
});
|
|
2024
|
+
const getResponseHandler = (itemHandler, responseFilter) => (response) => {
|
|
2023
2025
|
const responseData = response?.suggestions || [];
|
|
2024
|
-
|
|
2025
|
-
|
|
2026
|
+
const filteredData = responseFilter ? responseData.filter(responseFilter) : responseData;
|
|
2027
|
+
return filteredData.map((item) => {
|
|
2028
|
+
const data = itemHandler(item);
|
|
2026
2029
|
return {
|
|
2027
2030
|
...item,
|
|
2028
|
-
processedValue: value,
|
|
2031
|
+
processedValue: data.value,
|
|
2032
|
+
additionalValue: data.additionalValue,
|
|
2029
2033
|
};
|
|
2030
2034
|
});
|
|
2031
2035
|
};
|
|
2032
2036
|
const getDaDataHints = (options) => {
|
|
2033
|
-
const { url, query, queryPrefix, requestData = {}, responseItemHandler = defaultResponseItemHandler, } = options;
|
|
2034
|
-
const responseHandler = getResponseHandler(responseItemHandler);
|
|
2037
|
+
const { url, query, queryPrefix, requestData = {}, responseItemHandler = defaultResponseItemHandler, responseFilter, } = options;
|
|
2038
|
+
const responseHandler = getResponseHandler(responseItemHandler, responseFilter);
|
|
2035
2039
|
const queryPrefixValue = queryPrefix ? `${queryPrefix}, ` : '';
|
|
2036
2040
|
const combinedQuery = `${queryPrefixValue}${query}`;
|
|
2037
2041
|
return globalThis
|
|
@@ -2458,7 +2462,7 @@
|
|
|
2458
2462
|
|
|
2459
2463
|
const CloseButton = JSX(({ className, onClose }) => (jsx("button", { className: style('flex justify-center items-center w-12 h-12 p-2xs bg-transparent border-none', className), onClick: onClose, title: "\u0417\u0430\u043A\u0440\u044B\u0442\u044C", type: "button", children: jsx(Icon, { name: "CloseIcon", width: "20", height: "20", iconVersion: "gray" }) })));
|
|
2460
2464
|
|
|
2461
|
-
const Dialog = JSX(({ className, head, children, onClose, onClick }) => (jsxs("div", { className: style('relative bg-white pt-0 p-lg', className), role: "dialog", title: "\u0414\u0438\u0430\u043B\u043E\u0433", onClick: onClick, children: [jsxs("div", { className: "sticky py-xl top-0 bg-white z-10", children: [jsx(CloseButton, { className: "absolute top-0 right-0", onClose: onClose }), jsx("div", { className: "container", children: head })] }), jsx("div", { className: "container pb-
|
|
2465
|
+
const Dialog = JSX(({ className, head, children, onClose, onClick }) => (jsxs("div", { className: style('relative bg-white pt-0 p-lg', className), role: "dialog", title: "\u0414\u0438\u0430\u043B\u043E\u0433", onClick: onClick, children: [jsxs("div", { className: "sticky py-xl top-0 bg-white z-10", children: [jsx(CloseButton, { className: "absolute top-0 right-0", onClose: onClose }), jsx("div", { className: "container", children: head })] }), jsx("div", { className: "container pb-m mb-[74px] lg:mb-0", children: children })] })));
|
|
2462
2466
|
|
|
2463
2467
|
const ResponseTypeDialog = JSX(({ ok, typeForm, onClose }) => {
|
|
2464
2468
|
const statusIcon = ok ? 'ResponseOKIcon' : 'ResponseFailIcon';
|
|
@@ -2546,7 +2550,7 @@
|
|
|
2546
2550
|
|
|
2547
2551
|
const Loader = JSX(({ color = 'text-primary-main', position = 'absolute', blur = true, size = 'big' }) => (jsx("div", { className: style('flex justify-center items-center h-full w-full z-50', position, {
|
|
2548
2552
|
'backdrop-blur': blur,
|
|
2549
|
-
}), children: jsx("div", { className: style('inline-block', 'animate-spin rounded-full', 'border-solid border-current', 'border-r-transparent', size === 'small'
|
|
2553
|
+
}), children: jsx("div", { className: style('inline-block', 'animate-spin rounded-full', 'border-solid border-current', 'border-r-transparent', size === 'extraSmall' && 'border-2 h-4 w-4', size === 'small' && 'border-4 h-8 w-8', size === 'big' && 'border-8 h-28 w-28', color), role: "status" }) })));
|
|
2550
2554
|
|
|
2551
2555
|
const SubmitButton$1 = JSX(({ isLoading, disabled, children, className, ...rest }) => (jsxs(Button, { type: "submit", className: style('relative', className), disabled: isLoading || disabled, ...rest, children: [isLoading ? jsx(Loader, { blur: true, size: "small" }) : null, children] })));
|
|
2552
2556
|
|
|
@@ -2629,7 +2633,9 @@
|
|
|
2629
2633
|
const codeWordValidator = (errorMsg) => validator((_) => typeof _ === 'string' && _.length >= 3 && _.length <= 21 && isCyrillic(_))(errorMsg ?? ERROR_MESSAGE);
|
|
2630
2634
|
const nameRetailValidator = (errorMsg) => validator((_) => typeof _ === 'string' && _.length > 1 && retailCyrillicPattern.test(_))(errorMsg ?? ERROR_MESSAGE);
|
|
2631
2635
|
const jobNumberValidator = (errorMsg) => validator((_) => typeof _ === 'string' && /^[0-9]{1,2}$/g.test(_))(errorMsg ?? ERROR_MESSAGE);
|
|
2632
|
-
const lengthStringValidator = (inputLength, errorMsg) => validator((_) => typeof _ === 'string' &&
|
|
2636
|
+
const lengthStringValidator = (inputLength, errorMsg, isFixLength) => validator((_) => typeof _ === 'string' &&
|
|
2637
|
+
_.length >= 1 &&
|
|
2638
|
+
(isFixLength ? _.length === inputLength : _.length <= inputLength))(errorMsg ?? ERROR_MESSAGE);
|
|
2633
2639
|
const limitedBirthdayValidate = ({ minAge, maxAge }) => (date) => {
|
|
2634
2640
|
const today = new Date();
|
|
2635
2641
|
const minDate = new Date(today.getFullYear() - minAge, today.getMonth(), today.getDate());
|
|
@@ -2645,23 +2651,14 @@
|
|
|
2645
2651
|
return true;
|
|
2646
2652
|
};
|
|
2647
2653
|
const limitedBirthdayValidator = (params) => validator(limitedBirthdayValidate(params))(params.errorMessage);
|
|
2648
|
-
const passportValidator = (birthDate) =>
|
|
2649
|
-
if (_ && birthDate) {
|
|
2650
|
-
return (_.getTime() >=
|
|
2651
|
-
new Date(birthDate?.getFullYear() + 14, birthDate?.getMonth(), birthDate?.getDate()).getTime());
|
|
2652
|
-
}
|
|
2653
|
-
return false;
|
|
2654
|
-
})('Укажите дату выдачи паспорта');
|
|
2654
|
+
const passportValidator = (birthDate) => validateDateFromBirth(14, birthDate)('Укажите дату выдачи паспорта');
|
|
2655
2655
|
const deliveryDateValidator = (errorMsg) => validator((_) => _?.getTime() >= new Date().getTime())(errorMsg);
|
|
2656
|
-
const notLaterDateValidator = (errorMsg) => validator((_) => _?.getTime() <= new Date().getTime())(errorMsg);
|
|
2657
|
-
const numberValidator = (errorMsg) => validator((_) => typeof _ === 'string' && _.length === 6)(errorMsg);
|
|
2658
|
-
const serieValidator = (errorMsg) => validator((_) => typeof _ === 'string' && _.length === 4)(errorMsg);
|
|
2659
2656
|
const snilsValidate = (snils) => {
|
|
2660
|
-
const
|
|
2661
|
-
if (
|
|
2657
|
+
const _snils = String(snils).replace(/[^0-9]+/g, '');
|
|
2658
|
+
if (_snils.length === 11 && _snils !== '00000000000') {
|
|
2662
2659
|
let checksum = 0;
|
|
2663
2660
|
for (let i = 0; i < 9; i++) {
|
|
2664
|
-
checksum += parseInt(
|
|
2661
|
+
checksum += parseInt(_snils.charAt(i)) * (9 - i);
|
|
2665
2662
|
}
|
|
2666
2663
|
if (checksum > 101) {
|
|
2667
2664
|
checksum = checksum % 101;
|
|
@@ -2669,11 +2666,25 @@
|
|
|
2669
2666
|
if (checksum === 100 || checksum === 101) {
|
|
2670
2667
|
checksum = 0;
|
|
2671
2668
|
}
|
|
2672
|
-
return checksum === parseInt(
|
|
2669
|
+
return checksum === parseInt(_snils.slice(9));
|
|
2673
2670
|
}
|
|
2674
2671
|
return false;
|
|
2675
2672
|
};
|
|
2676
2673
|
const snilsValidator = (errorMsg) => validator(snilsValidate)(errorMsg);
|
|
2674
|
+
const generalSeniorityValidator = (lastJobExperience) => validator((_) => typeof _ === 'string' &&
|
|
2675
|
+
/^[0-9]{1,2}$/g.test(_) &&
|
|
2676
|
+
(!lastJobExperience || Number(_) >= Number(lastJobExperience)))('Укажите количество лет стажа');
|
|
2677
|
+
const workBeginDateValidator = (birthDate) => validateDateFromBirth(18, birthDate)('Укажите дату заключения трудового договора');
|
|
2678
|
+
const dateRegistrationValidator = (birthDate) => validateDateFromBirth(0, birthDate)('Укажите дату регистрации');
|
|
2679
|
+
const validateDateFromBirth = (age, birthDate) => validator((_) => {
|
|
2680
|
+
if (_ && birthDate) {
|
|
2681
|
+
const currentDate = _.getTime();
|
|
2682
|
+
const minDate = new Date(birthDate?.getFullYear() + age, birthDate?.getMonth(), birthDate?.getDate()).getTime();
|
|
2683
|
+
const maxDate = new Date().getTime();
|
|
2684
|
+
return currentDate >= minDate && currentDate <= maxDate;
|
|
2685
|
+
}
|
|
2686
|
+
return false;
|
|
2687
|
+
});
|
|
2677
2688
|
|
|
2678
2689
|
const limitedBirthdayValidationData = {
|
|
2679
2690
|
credit: {
|
|
@@ -2683,7 +2694,8 @@
|
|
|
2683
2694
|
},
|
|
2684
2695
|
creditCard: {
|
|
2685
2696
|
minAge: 21,
|
|
2686
|
-
|
|
2697
|
+
maxAge: 73,
|
|
2698
|
+
errorMessage: 'Допустимый возраст заёмщика - от 21 до 73 лет',
|
|
2687
2699
|
},
|
|
2688
2700
|
debitCard: {
|
|
2689
2701
|
minAge: 18,
|
|
@@ -2716,11 +2728,9 @@
|
|
|
2716
2728
|
organizationPhone: phoneValidator('Укажите номер телефона'),
|
|
2717
2729
|
organizationName: defaultValidator('Укажите наименование организации'),
|
|
2718
2730
|
legalForm: defaultValidator('Укажите ОПФ'),
|
|
2719
|
-
generalSeniority: jobNumberValidator('Укажите количество лет стажа'),
|
|
2720
2731
|
lastJobExperience: jobNumberValidator('Укажите стаж на последнем месте работы'),
|
|
2721
2732
|
experience5Years: jobNumberValidator('Укажите общий стаж за последние 5 лет'),
|
|
2722
2733
|
jobsNumber: jobNumberValidator('Укажите количество мест работы за последние 5 лет'),
|
|
2723
|
-
beginDate: notLaterDateValidator('Укажите дату заключения трудового договора'),
|
|
2724
2734
|
addressFact: addressDaDataValidator(),
|
|
2725
2735
|
addressRegistration: addressDaDataValidator(),
|
|
2726
2736
|
addressRetail: defaultSelectValidator('Выберите адрес банка'),
|
|
@@ -2738,20 +2748,17 @@
|
|
|
2738
2748
|
familyMembers: lengthStringValidator(2, 'Укажите количество членов семьи'),
|
|
2739
2749
|
children: lengthStringValidator(2, 'Укажите количество детей'),
|
|
2740
2750
|
dependents: lengthStringValidator(2, 'Укажите количество иждивенцев'),
|
|
2741
|
-
totalIncome: lengthStringValidator(19, 'Укажите среднемесячный доход от основной зарплаты'),
|
|
2742
|
-
expenses: lengthStringValidator(10, 'Укажите сумму обязательных выплат'),
|
|
2743
2751
|
snils: snilsValidator('Некорректный номер СНИЛС'),
|
|
2744
2752
|
conscription: defaultValidator(),
|
|
2745
2753
|
armyIdFlg: agreementValidator,
|
|
2746
|
-
dulSerie:
|
|
2747
|
-
dulNumber:
|
|
2748
|
-
dulSubdivisionCode:
|
|
2754
|
+
dulSerie: lengthStringValidator(4, 'Укажите серию паспорта', true),
|
|
2755
|
+
dulNumber: lengthStringValidator(6, 'Укажите номер паспорта', true),
|
|
2756
|
+
dulSubdivisionCode: lengthStringValidator(7, 'Укажите код подразделения', true),
|
|
2749
2757
|
dulIssuedBy: defaultValidator('Укажите организацию, выдавшую паспорт'),
|
|
2750
|
-
participantDateRegistration: notLaterDateValidator('Укажите дату регистрации'),
|
|
2751
2758
|
retirementIncome: defaultValidator(),
|
|
2752
2759
|
otherIncome: defaultValidator(),
|
|
2753
2760
|
wages: defaultValidator(),
|
|
2754
|
-
mandatoryPayments:
|
|
2761
|
+
mandatoryPayments: lengthStringValidator(10, 'Укажите сумму обязательных выплат'),
|
|
2755
2762
|
bankruptcyFlg: defaultValidator(),
|
|
2756
2763
|
shareholderFlg: defaultValidator(),
|
|
2757
2764
|
legalEntityName: defaultValidator(),
|
|
@@ -2962,17 +2969,32 @@
|
|
|
2962
2969
|
};
|
|
2963
2970
|
const PASSPORT_CODE_HINTS_LIST_OPTIONS = {
|
|
2964
2971
|
url: 'suggest/fms_unit',
|
|
2965
|
-
responseItemHandler: (item) =>
|
|
2972
|
+
responseItemHandler: (item) => ({
|
|
2973
|
+
value: item?.data?.code || '',
|
|
2974
|
+
additionalValue: item?.data?.name,
|
|
2975
|
+
}),
|
|
2966
2976
|
};
|
|
2967
2977
|
const ORGANIZATION_NAME_HINTS_LIST_OPTIONS = {
|
|
2968
2978
|
url: 'suggest/party',
|
|
2979
|
+
responseItemHandler: (item) => {
|
|
2980
|
+
const inn = item?.data?.inn;
|
|
2981
|
+
const address = item?.data?.address?.value || '';
|
|
2982
|
+
const additionalValue = address ? `${inn} ${address}` : inn;
|
|
2983
|
+
return {
|
|
2984
|
+
value: item?.value || '',
|
|
2985
|
+
additionalValue,
|
|
2986
|
+
};
|
|
2987
|
+
},
|
|
2969
2988
|
};
|
|
2970
2989
|
const ORGANIZATION_INN_HINTS_LIST_OPTIONS = {
|
|
2971
2990
|
url: 'suggest/party',
|
|
2972
|
-
responseItemHandler: (item) =>
|
|
2991
|
+
responseItemHandler: (item) => ({
|
|
2992
|
+
value: item?.data?.inn || '',
|
|
2993
|
+
}),
|
|
2973
2994
|
};
|
|
2974
2995
|
const ADDRESS_HINTS_LIST_OPTIONS = {
|
|
2975
2996
|
url: 'suggest/address',
|
|
2997
|
+
responseFilter: (item) => Boolean(item?.data?.postal_code),
|
|
2976
2998
|
};
|
|
2977
2999
|
const hintsListsOptions = {
|
|
2978
3000
|
name: NAME_HINTS_LIST_OPTIONS,
|
|
@@ -3012,9 +3034,9 @@
|
|
|
3012
3034
|
container.addEventListener('keydown', onKeyDownHandler);
|
|
3013
3035
|
return () => container.removeEventListener('keydown', onKeyDownHandler);
|
|
3014
3036
|
}, [listItemActive]);
|
|
3015
|
-
return (jsx("div", { className: "bg-white text-l overflow-y-auto overflow-x-hidden rounded-md shadow-2xl", role: "list", children: options?.map((item, key) => (
|
|
3037
|
+
return (jsx("div", { className: "bg-white text-l overflow-y-auto overflow-x-hidden rounded-md shadow-2xl", role: "list", children: options?.map((item, key) => (jsxs("div", { className: style('px-m py-xs cursor-pointer hover:bg-main-divider relative', {
|
|
3016
3038
|
'bg-main-divider': listItemActive === key,
|
|
3017
|
-
}), role: "listitem", onMouseDown: () => onChange(item), children: jsx("
|
|
3039
|
+
}), role: "listitem", onMouseDown: () => onChange(item), children: [jsx("p", { children: item.processedValue }), item.additionalValue ? (jsx("p", { className: "text-xs text-secondary-text", children: item.additionalValue })) : null] }, key.toString()))) }));
|
|
3018
3040
|
});
|
|
3019
3041
|
|
|
3020
3042
|
// eslint-disable-next-line max-lines-per-function
|
|
@@ -3042,6 +3064,7 @@
|
|
|
3042
3064
|
const result = await getDaDataHints({
|
|
3043
3065
|
url: defaultHintsListOptions.url,
|
|
3044
3066
|
responseItemHandler: defaultHintsListOptions.responseItemHandler,
|
|
3067
|
+
responseFilter: defaultHintsListOptions.responseFilter,
|
|
3045
3068
|
requestData: {
|
|
3046
3069
|
...defaultHintsListOptions?.requestData,
|
|
3047
3070
|
},
|
|
@@ -3074,7 +3097,7 @@
|
|
|
3074
3097
|
return inputRef;
|
|
3075
3098
|
}
|
|
3076
3099
|
|
|
3077
|
-
const DaDataInputControl = JSX(({ value = '', onChange = noop, onDaDataChange, name = '', daDataQueryPrefix, dadata = false, ...rest }) => {
|
|
3100
|
+
const DaDataInputControl = JSX(({ value = '', onChange = noop, onDaDataChange, name = '', daDataQueryPrefix, dadata = false, type, ...rest }) => {
|
|
3078
3101
|
const [isOpen, { setFalse: close, setTrue: open }] = useBool();
|
|
3079
3102
|
const inputRef = useInputPopup({
|
|
3080
3103
|
isOpen: isOpen && dadata,
|
|
@@ -3084,7 +3107,14 @@
|
|
|
3084
3107
|
onChange,
|
|
3085
3108
|
onDaDataChange,
|
|
3086
3109
|
});
|
|
3087
|
-
|
|
3110
|
+
const handleChange = useCallback((e) => {
|
|
3111
|
+
let formattedValue = e ?? '';
|
|
3112
|
+
if (type === 'number') {
|
|
3113
|
+
formattedValue = formattedValue.replace(/^0+(?=\d)/, '');
|
|
3114
|
+
}
|
|
3115
|
+
onChange?.(formattedValue);
|
|
3116
|
+
}, [onChange]);
|
|
3117
|
+
return (jsx(InputWrapper, { value: value, onChange: handleChange, inputRef: inputRef, isOpen: isOpen, onOpen: open, onClose: close, ...rest }));
|
|
3088
3118
|
});
|
|
3089
3119
|
|
|
3090
3120
|
const AddressField = JSX(({ field, input }) => {
|
|
@@ -3994,7 +4024,7 @@
|
|
|
3994
4024
|
|
|
3995
4025
|
const BeginDateField = JSX(({ field, input }) => (jsx(DatePickerControl, { label: "\u0414\u0430\u0442\u0430 \u043D\u0430\u0447\u0430\u043B\u0430 \u0440\u0430\u0431\u043E\u0442\u044B \u043D\u0430 \u0442\u0435\u043A\u0443\u0449\u0435\u043C \u043C\u0435\u0441\u0442\u0435", ...field(input?.name ?? ''), ...input, disabled: isEsiaAuthorize(field, input), maxDate: new Date() })));
|
|
3996
4026
|
|
|
3997
|
-
const BirthPlaceField = JSX(({ field, input }) => (jsx(DaDataInputControl, { label: "\u041C\u0435\u0441\u0442\u043E \u0440\u043E\u0436\u0434\u0435\u043D\u0438\u044F", ...field(input?.name ?? ''), ...input, disabled: isEsiaAuthorize(field, input) })));
|
|
4027
|
+
const BirthPlaceField = JSX(({ field, input }) => (jsx(DaDataInputControl, { label: "\u041C\u0435\u0441\u0442\u043E \u0440\u043E\u0436\u0434\u0435\u043D\u0438\u044F", maxLength: 100, ...field(input?.name ?? ''), ...input, disabled: isEsiaAuthorize(field, input) })));
|
|
3998
4028
|
|
|
3999
4029
|
const safeJsonParse = (data) => {
|
|
4000
4030
|
try {
|
|
@@ -4049,9 +4079,9 @@
|
|
|
4049
4079
|
});
|
|
4050
4080
|
const isValidCardCategory = (cardTypes, selectedCardCategory) => cardTypes.some((cardType) => cardType.key === selectedCardCategory?.key);
|
|
4051
4081
|
|
|
4052
|
-
const ChildrenField = JSX(({ field, input }) => (jsx(DaDataInputControl, { label: "\u041A\u043E\u043B\u0438\u0447\u0435\u0441\u0442\u0432\u043E \u0434\u0435\u0442\u0435\u0439 \u0434\u043E 18 \u043B\u0435\u0442", placeholder: "\u0412\u0432\u0435\u0434\u0438\u0442\u0435 \u0437\u043D\u0430\u0447\u0435\u043D\u0438\u0435", isInteger: true, ...field(input?.name ?? ''), ...input })));
|
|
4082
|
+
const ChildrenField = JSX(({ field, input }) => (jsx(DaDataInputControl, { label: "\u041A\u043E\u043B\u0438\u0447\u0435\u0441\u0442\u0432\u043E \u0434\u0435\u0442\u0435\u0439 \u0434\u043E 18 \u043B\u0435\u0442", placeholder: "\u0412\u0432\u0435\u0434\u0438\u0442\u0435 \u0437\u043D\u0430\u0447\u0435\u043D\u0438\u0435", isInteger: true, type: "number", ...field(input?.name ?? ''), ...input })));
|
|
4053
4083
|
|
|
4054
|
-
const CodeWordField = JSX(({ field, input }) => (jsx(DaDataInputControl, { label: "\u041A\u043E\u0434\u043E\u0432\u043E\u0435 \u0441\u043B\u043E\u0432\u043E", ...field(input?.name ?? ''), ...input })));
|
|
4084
|
+
const CodeWordField = JSX(({ field, input }) => (jsx(DaDataInputControl, { label: "\u041A\u043E\u0434\u043E\u0432\u043E\u0435 \u0441\u043B\u043E\u0432\u043E", maxLength: 20, ...field(input?.name ?? ''), ...input })));
|
|
4055
4085
|
|
|
4056
4086
|
const ConfirmationIncomeField = JSX(({ field, input }) => {
|
|
4057
4087
|
const { data: confirmationIncome } = useLeadFormData('INCOME_CERT_UNITED');
|
|
@@ -4073,26 +4103,33 @@
|
|
|
4073
4103
|
|
|
4074
4104
|
const DocumentDialog = JSX(({ src, onClose, onDocumentRead }) => {
|
|
4075
4105
|
const isMobileMode = useMobileMode();
|
|
4076
|
-
return (jsxs(Dialog, { className: "
|
|
4106
|
+
return (jsxs(Dialog, { className: "mt-xl max-w-4xl mx-auto px-0 min-h-0 pb-0", onClose: onClose, children: [isMobileMode ? (jsx("img", { src: src })) : (jsx("iframe", { src: `${src}#toolbar=0`, className: "w-full h-[80vh]", id: "iframe-dialog" })), jsx(Button, { className: "mx-auto mt-m", type: "button", onClick: () => {
|
|
4077
4107
|
onDocumentRead?.();
|
|
4078
4108
|
onClose?.();
|
|
4079
4109
|
}, children: "\u041E\u0437\u043D\u0430\u043A\u043E\u043C\u0438\u0442\u044C\u0441\u044F" })] }));
|
|
4080
4110
|
});
|
|
4081
4111
|
|
|
4082
4112
|
const useDocumentDialog = (docId, onDocumentRead) => {
|
|
4113
|
+
const [isLoading, { setTrue: startLoading, setFalse: endLoading }] = useBool(false);
|
|
4083
4114
|
const { open } = useDialog(DocumentDialog);
|
|
4084
4115
|
const isMobileMode = useMobileMode();
|
|
4085
|
-
|
|
4086
|
-
if (docId) {
|
|
4116
|
+
const openDocument = useCallback(async () => {
|
|
4117
|
+
if (docId && !isLoading) {
|
|
4118
|
+
startLoading();
|
|
4087
4119
|
const src = URL.createObjectURL(await feedbackById(docId, isMobileMode));
|
|
4088
4120
|
open({ src, onDocumentRead });
|
|
4121
|
+
endLoading();
|
|
4089
4122
|
}
|
|
4090
|
-
}, [open, docId, isMobileMode]);
|
|
4123
|
+
}, [open, docId, isMobileMode, isLoading]);
|
|
4124
|
+
return {
|
|
4125
|
+
openDocument,
|
|
4126
|
+
isLoading,
|
|
4127
|
+
};
|
|
4091
4128
|
};
|
|
4092
4129
|
|
|
4093
4130
|
const CheckboxWithDoc = JSX(({ className, error, docId, ...props }) => {
|
|
4094
|
-
const openDocument = useDocumentDialog(docId, () => props.onChange?.(true));
|
|
4095
|
-
return (jsxs("div", { className: className, children: [jsxs("div", { className: "flex flex-wrap gap-x-m", children: [jsx(Checkbox, { ...props }), docId ? (
|
|
4131
|
+
const { openDocument, isLoading } = useDocumentDialog(docId, () => props.onChange?.(true));
|
|
4132
|
+
return (jsxs("div", { className: className, children: [jsxs("div", { className: "flex flex-wrap gap-x-m", children: [jsx(Checkbox, { ...props }), docId ? (jsxs(Button, { embedded: true, onClick: openDocument, children: [jsx(ButtonTitle, { children: "\u041E\u0437\u043D\u0430\u043A\u043E\u043C\u0438\u0442\u044C\u0441\u044F" }), isLoading ? jsx(Loader, { blur: false, size: "extraSmall", position: "static" }) : null] })) : null] }), renderErrorText(error)] }));
|
|
4096
4133
|
});
|
|
4097
4134
|
|
|
4098
4135
|
const ConsentField = JSX(({ field, input }) => {
|
|
@@ -4569,7 +4606,7 @@
|
|
|
4569
4606
|
organizationName,
|
|
4570
4607
|
};
|
|
4571
4608
|
for (const fieldName in organizationData) {
|
|
4572
|
-
|
|
4609
|
+
field?.(fieldName)?.onChange?.(organizationData[fieldName]);
|
|
4573
4610
|
}
|
|
4574
4611
|
};
|
|
4575
4612
|
const getOrganizationRequisites = (item) => ({
|
|
@@ -4621,31 +4658,43 @@
|
|
|
4621
4658
|
return (jsx(RadioButtonGroupControl, { label: "\u0412\u0440\u0435\u043C\u044F \u0434\u043E\u0441\u0442\u0430\u0432\u043A\u0438", className: "flex-row", items: deliveryTime, ...field(input?.name ?? '') }));
|
|
4622
4659
|
});
|
|
4623
4660
|
|
|
4624
|
-
const DependentsField = JSX(({ field, input }) => (jsx(DaDataInputControl, { label: "\u041A\u043E\u043B\u0438\u0447\u0435\u0441\u0442\u0432\u043E \u0438\u043D\u044B\u0445 \u0438\u0436\u0434\u0438\u0432\u0435\u043D\u0446\u0435\u0432", placeholder: "\u0417\u0430 \u0438\u0441\u043A\u043B\u044E\u0447\u0435\u043D\u0438\u0435\u043C \u0434\u0435\u0442\u0435\u0439 \u0434\u043E 18 \u043B\u0435\u0442", isInteger: true, maxLength: 2, ...field(input?.name ?? ''), ...input })));
|
|
4661
|
+
const DependentsField = JSX(({ field, input }) => (jsx(DaDataInputControl, { label: "\u041A\u043E\u043B\u0438\u0447\u0435\u0441\u0442\u0432\u043E \u0438\u043D\u044B\u0445 \u0438\u0436\u0434\u0438\u0432\u0435\u043D\u0446\u0435\u0432", placeholder: "\u0417\u0430 \u0438\u0441\u043A\u043B\u044E\u0447\u0435\u043D\u0438\u0435\u043C \u0434\u0435\u0442\u0435\u0439 \u0434\u043E 18 \u043B\u0435\u0442", isInteger: true, maxLength: 2, type: "number", ...field(input?.name ?? ''), ...input })));
|
|
4625
4662
|
|
|
4626
4663
|
const DulIssueDateField = JSX(({ field, input }) => {
|
|
4627
4664
|
const birthDate = field('limitedBirthday')?.value;
|
|
4628
4665
|
const startDulIssueDate = useMemo(() => new Date(birthDate?.getFullYear() + 14, birthDate?.getMonth(), birthDate?.getDate()), [birthDate]);
|
|
4629
|
-
return (jsx(DatePickerControl, { label: "\u0414\u0430\u0442\u0430 \u0432\u044B\u0434\u0430\u0447\u0438", ...field(input?.name ?? ''), disabled: isEsiaAuthorize(field, input), minDate: startDulIssueDate }));
|
|
4666
|
+
return (jsx(DatePickerControl, { label: "\u0414\u0430\u0442\u0430 \u0432\u044B\u0434\u0430\u0447\u0438", ...field(input?.name ?? ''), disabled: isEsiaAuthorize(field, input), minDate: startDulIssueDate, maxDate: new Date() }));
|
|
4630
4667
|
});
|
|
4631
4668
|
|
|
4632
4669
|
const DulIssuedByField = JSX(({ field, input }) => {
|
|
4633
4670
|
const { value: dulSubdivisionCode, onChange: changeDulSubdivisionCode } = field('dulSubdivisionCode');
|
|
4634
4671
|
const onDaDataChange = useCallback((item) => {
|
|
4635
|
-
changeDulSubdivisionCode?.(item?.data?.code
|
|
4672
|
+
changeDulSubdivisionCode?.(item?.data?.code);
|
|
4636
4673
|
}, []);
|
|
4637
|
-
return (jsx(DaDataInputControl, { disabled: isEsiaAuthorize(field, input), label: "\u041A\u0435\u043C \u0432\u044B\u0434\u0430\u043D", ...input, ...field(input?.name ?? ''), onDaDataChange: onDaDataChange, daDataQueryPrefix: dulSubdivisionCode }));
|
|
4674
|
+
return (jsx(DaDataInputControl, { disabled: isEsiaAuthorize(field, input), label: "\u041A\u0435\u043C \u0432\u044B\u0434\u0430\u043D", maxLength: 200, ...input, ...field(input?.name ?? ''), onDaDataChange: onDaDataChange, daDataQueryPrefix: dulSubdivisionCode }));
|
|
4638
4675
|
});
|
|
4639
4676
|
|
|
4640
4677
|
const DulNumberField = JSX(({ field, input }) => (jsx(DaDataInputControl, { disabled: isEsiaAuthorize(field, input), label: "\u041D\u043E\u043C\u0435\u0440 \u0434\u043E\u043A\u0443\u043C\u0435\u043D\u0442\u0430", isInteger: true, maxLength: 6, ...field(input?.name ?? '') })));
|
|
4641
4678
|
|
|
4642
4679
|
const DulSerieField = JSX(({ field, input }) => (jsx(DaDataInputControl, { disabled: isEsiaAuthorize(field, input), label: "\u0421\u0435\u0440\u0438\u044F \u0434\u043E\u043A\u0443\u043C\u0435\u043D\u0442\u0430", isInteger: true, maxLength: 4, ...field(input?.name ?? '') })));
|
|
4643
4680
|
|
|
4681
|
+
const MAX_LENGTH$2 = 7;
|
|
4644
4682
|
const DulSubdivisionCodeField = JSX(({ field, input }) => {
|
|
4645
4683
|
const onDaDataChange = useCallback((item) => {
|
|
4646
4684
|
field?.('dulIssuedBy')?.onChange?.(item?.data?.name);
|
|
4647
4685
|
}, []);
|
|
4648
|
-
|
|
4686
|
+
const handleChange = useCallback((v) => {
|
|
4687
|
+
const formattedValue = v.replace(/[^\d-]/g, '');
|
|
4688
|
+
formattedValue.length <= MAX_LENGTH$2 &&
|
|
4689
|
+
field?.('dulSubdivisionCode')?.onChange?.(normalizeWithMask(formattedValue, '___-___'));
|
|
4690
|
+
}, []);
|
|
4691
|
+
useEffect(() => {
|
|
4692
|
+
const value = field?.('dulSubdivisionCode')?.value;
|
|
4693
|
+
if (value) {
|
|
4694
|
+
handleChange(value);
|
|
4695
|
+
}
|
|
4696
|
+
}, []);
|
|
4697
|
+
return (jsx(DaDataInputControl, { disabled: isEsiaAuthorize(field, input), label: "\u041A\u043E\u0434 \u043F\u043E\u0434\u0440\u0430\u0437\u0434\u0435\u043B\u0435\u043D\u0438\u044F", ...input, ...field(input?.name ?? ''), placeholder: "___-___", onChange: handleChange, onDaDataChange: onDaDataChange }));
|
|
4649
4698
|
});
|
|
4650
4699
|
|
|
4651
4700
|
const EducationField = JSX(({ field, input }) => {
|
|
@@ -4653,9 +4702,7 @@
|
|
|
4653
4702
|
return (jsx(SelectField, { field: field, source: education, label: "\u041E\u0431\u0440\u0430\u0437\u043E\u0432\u0430\u043D\u0438\u0435", fieldName: "education", input: input }));
|
|
4654
4703
|
});
|
|
4655
4704
|
|
|
4656
|
-
const EmailField = JSX(({ field, input }) => {
|
|
4657
|
-
return jsx(DaDataInputControl, { label: "\u042D\u043B\u0435\u043A\u0442\u0440\u043E\u043D\u043D\u0430\u044F \u043F\u043E\u0447\u0442\u0430", ...field(input?.name ?? ''), ...input });
|
|
4658
|
-
});
|
|
4705
|
+
const EmailField = JSX(({ field, input }) => (jsx(DaDataInputControl, { label: "\u042D\u043B\u0435\u043A\u0442\u0440\u043E\u043D\u043D\u0430\u044F \u043F\u043E\u0447\u0442\u0430", maxLength: 50, ...field(input?.name ?? ''), ...input })));
|
|
4659
4706
|
|
|
4660
4707
|
const EmployerActivitiesField = JSX(({ field, input }) => {
|
|
4661
4708
|
const { data } = useLeadFormData('ORGANIZATION_ACTIVITY_TYPE');
|
|
@@ -4684,21 +4731,19 @@
|
|
|
4684
4731
|
return (jsx(SelectField, { field: field, source: employment, label: "\u0418\u043D\u0444\u043E\u0440\u043C\u0430\u0446\u0438\u044F \u043E \u0442\u0440\u0443\u0434\u043E\u0443\u0441\u0442\u0440\u043E\u0439\u0441\u0442\u0432\u0435", fieldName: "employment", input: input }));
|
|
4685
4732
|
});
|
|
4686
4733
|
|
|
4687
|
-
const ExpensesField = JSX(({ field, input }) => (jsx(DaDataInputControl, { label: "\u041E\u0431\u044F\u0437\u0430\u0442\u0435\u043B\u044C\u043D\u044B\u0435 \u0440\u0430\u0441\u0445\u043E\u0434\u044B \u0432 \u043C\u0435\u0441\u044F\u0446", placeholder: "\u0412\u0432\u0435\u0434\u0438\u0442\u0435 \u0437\u043D\u0430\u0447\u0435\u043D\u0438\u0435", isInteger: true, ...field(input?.name ?? ''), ...input })));
|
|
4688
|
-
|
|
4689
4734
|
const MAX_YEARS = 5;
|
|
4690
4735
|
const MIN_YEARS = 0;
|
|
4691
4736
|
const Experience5YearsField = JSX(({ field, input }) => {
|
|
4692
4737
|
const onChange = useCallback((value) => field(input?.name ?? '')?.onChange?.(String(clamp(Number(value), MIN_YEARS, MAX_YEARS))), []);
|
|
4693
|
-
return (jsx(DaDataInputControl, { label: "\u0421\u0442\u0430\u0436
|
|
4738
|
+
return (jsx(DaDataInputControl, { label: "\u0421\u0442\u0430\u0436 \u0437\u0430 \u043F\u043E\u0441\u043B\u0435\u0434\u043D\u0438\u0435 5 \u043B\u0435\u0442", placeholder: "\u041A\u043E\u043B\u0438\u0447\u0435\u0441\u0442\u0432\u043E \u043B\u0435\u0442", type: "number", ...field(input?.name ?? ''), ...input, onChange: onChange, disabled: isEsiaAuthorize(field, input) }));
|
|
4694
4739
|
});
|
|
4695
4740
|
|
|
4696
4741
|
const FamilyMembersField = JSX(({ field, input }) => {
|
|
4697
4742
|
const { value, onChange } = field(input?.name ?? '');
|
|
4698
4743
|
const familyStatusKey = field('familyStatus')?.value?.key;
|
|
4699
4744
|
const adultsCount = familyStatusKey === 'MARRIED' ? 2 : 1;
|
|
4700
|
-
const childrenCount = Number(field('children')?.value);
|
|
4701
|
-
const dependentsCount = Number(field('dependents')?.value);
|
|
4745
|
+
const childrenCount = Number(field('children')?.value || 0);
|
|
4746
|
+
const dependentsCount = Number(field('dependents')?.value || 0);
|
|
4702
4747
|
const totalCount = adultsCount + childrenCount + dependentsCount;
|
|
4703
4748
|
useEffect(() => {
|
|
4704
4749
|
onChange?.(totalCount);
|
|
@@ -4711,7 +4756,17 @@
|
|
|
4711
4756
|
return (jsx(SelectField, { field: field, source: familyStatus, label: "\u0421\u0435\u043C\u0435\u0439\u043D\u043E\u0435 \u043F\u043E\u043B\u043E\u0436\u0435\u043D\u0438\u0435", fieldName: "familyStatus", input: input }));
|
|
4712
4757
|
});
|
|
4713
4758
|
|
|
4714
|
-
const GeneralSeniorityField = JSX(({ field, input }) =>
|
|
4759
|
+
const GeneralSeniorityField = JSX(({ field, input }) => {
|
|
4760
|
+
const [errorDate, setErrorDate] = useState('');
|
|
4761
|
+
const lastJobExperience = Number(field('lastJobExperience')?.value);
|
|
4762
|
+
const currentDate = Number(field('generalSeniority')?.value);
|
|
4763
|
+
useEffect(() => {
|
|
4764
|
+
setErrorDate(currentDate && currentDate < lastJobExperience
|
|
4765
|
+
? 'Укажите не меньше, чем число в поле «Стаж на последнем рабочем месте»'
|
|
4766
|
+
: '');
|
|
4767
|
+
}, [lastJobExperience, currentDate]);
|
|
4768
|
+
return (jsx(DaDataInputControl, { label: "\u041E\u0431\u0449\u0438\u0439 \u0441\u0442\u0430\u0436", type: "number", maxLength: 2, placeholder: "\u041A\u043E\u043B\u0438\u0447\u0435\u0441\u0442\u0432\u043E \u043B\u0435\u0442", isInteger: true, ...field(input?.name ?? ''), ...input, error: errorDate || field('generalSeniority')?.error, disabled: isEsiaAuthorize(field, input) }));
|
|
4769
|
+
});
|
|
4715
4770
|
|
|
4716
4771
|
const HousingField = JSX(({ field, input }) => {
|
|
4717
4772
|
const { data: housing } = useLeadFormData('HOUSE_TYPE');
|
|
@@ -4722,9 +4777,9 @@
|
|
|
4722
4777
|
|
|
4723
4778
|
const InitiateBankruptcyFlgField = JSX(({ field, input }) => (jsx(CheckboxWithError, { text: "\u042F \u043F\u043B\u0430\u043D\u0438\u0440\u0443\u044E \u0432 \u0431\u043B\u0438\u0436\u0430\u0439\u0448\u0435\u0435 \u0432\u0440\u0435\u043C\u044F \u0438\u043D\u0438\u0446\u0438\u0438\u0440\u043E\u0432\u0430\u0442\u044C \u0434\u0435\u043B\u043E \u043E \u0431\u0430\u043D\u043A\u0440\u043E\u0442\u0441\u0442\u0432\u0435 \u0432 \u043E\u0442\u043D\u043E\u0448\u0435\u043D\u0438\u0438 \u0441\u0435\u0431\u044F", ...field(input?.name ?? '') })));
|
|
4724
4779
|
|
|
4725
|
-
const JobsNumberField = JSX(({ field, input }) => (jsx(DaDataInputControl, { label: "\u041A\u043E\u043B\u0438\u0447\u0435\u0441\u0442\u0432\u043E \u043C\u0435\u0441\u0442 \u0440\u0430\u0431\u043E\u0442\u044B \u0437\u0430 \u043F\u043E\u0441\u043B\u0435\u0434\u043D\u0438\u0435 5 \u043B\u0435\u0442", placeholder: "\u041A\u043E\u043B\u0438\u0447\u0435\u0441\u0442\u0432\u043E \u043C\u0435\u0441\u0442", isInteger: true, maxLength: 2, ...field(input?.name ?? ''), ...input, disabled: isEsiaAuthorize(field, input) })));
|
|
4780
|
+
const JobsNumberField = JSX(({ field, input }) => (jsx(DaDataInputControl, { label: "\u041A\u043E\u043B\u0438\u0447\u0435\u0441\u0442\u0432\u043E \u043C\u0435\u0441\u0442 \u0440\u0430\u0431\u043E\u0442\u044B \u0437\u0430 \u043F\u043E\u0441\u043B\u0435\u0434\u043D\u0438\u0435 5 \u043B\u0435\u0442", placeholder: "\u041A\u043E\u043B\u0438\u0447\u0435\u0441\u0442\u0432\u043E \u043C\u0435\u0441\u0442", type: "number", isInteger: true, maxLength: 2, ...field(input?.name ?? ''), ...input, disabled: isEsiaAuthorize(field, input) })));
|
|
4726
4781
|
|
|
4727
|
-
const LastJobExperienceField = JSX(({ field, input }) => (jsx(DaDataInputControl, { label: "\u0421\u0442\u0430\u0436 \u043D\u0430 \u043F\u043E\u0441\u043B\u0435\u0434\u043D\u0435\u043C \u0440\u0430\u0431\u043E\u0447\u0435\u043C \u043C\u0435\u0441\u0442\u0435", placeholder: "\u041A\u043E\u043B\u0438\u0447\u0435\u0441\u0442\u0432\u043E \u043B\u0435\u0442", type: "number", maxLength: 2, ...field(input?.name ?? ''), ...input, disabled: isEsiaAuthorize(field, input) })));
|
|
4782
|
+
const LastJobExperienceField = JSX(({ field, input }) => (jsx(DaDataInputControl, { label: "\u0421\u0442\u0430\u0436 \u043D\u0430 \u043F\u043E\u0441\u043B\u0435\u0434\u043D\u0435\u043C \u0440\u0430\u0431\u043E\u0447\u0435\u043C \u043C\u0435\u0441\u0442\u0435", placeholder: "\u041A\u043E\u043B\u0438\u0447\u0435\u0441\u0442\u0432\u043E \u043B\u0435\u0442", type: "number", maxLength: 2, isInteger: true, ...field(input?.name ?? ''), ...input, disabled: isEsiaAuthorize(field, input) })));
|
|
4728
4783
|
|
|
4729
4784
|
const latinPattern = /^[\u0041-\u005A\u0061-\u007A\s]+$/u;
|
|
4730
4785
|
const isLatin = (_ = '') => latinPattern.test(_);
|
|
@@ -4843,11 +4898,11 @@
|
|
|
4843
4898
|
return (jsx(DaDataInputControl, { label: "\u041D\u0430\u0438\u043C\u0435\u043D\u043E\u0432\u0430\u043D\u0438\u0435 \u044E\u0440\u0438\u0434\u0438\u0447\u0435\u0441\u043A\u043E\u0433\u043E \u043B\u0438\u0446\u0430", ...input, ...field(input?.name ?? ''), disabled: !field?.('shareholderFlg')?.value }));
|
|
4844
4899
|
});
|
|
4845
4900
|
|
|
4846
|
-
const LegalFormField = JSX(({ field, input }) => (jsx(DaDataInputControl, { label: "\u041E\u041F\u0424", placeholder: "\u041E\u041E\u041E, \u041F\u0410\u041E \u0438 \u0434\u0440.", ...field(input?.name ?? ''), ...input })));
|
|
4901
|
+
const LegalFormField = JSX(({ field, input }) => (jsx(DaDataInputControl, { label: "\u041E\u041F\u0424", maxLength: 20, placeholder: "\u041E\u041E\u041E, \u041F\u0410\u041E \u0438 \u0434\u0440.", ...field(input?.name ?? ''), ...input })));
|
|
4847
4902
|
|
|
4848
4903
|
const LimitedBirthdayField = JSX(({ field, input }) => (jsx(DatePickerControl, { label: "\u0414\u0430\u0442\u0430 \u0440\u043E\u0436\u0434\u0435\u043D\u0438\u044F", ...field(input?.name ?? ''), disabled: isEsiaAuthorize(field, input) })));
|
|
4849
4904
|
|
|
4850
|
-
const MandatoryPaymentsField = JSX(({ field, input }) => (jsx(DaDataInputControl, { label: "\u041E\u0431\u044F\u0437\u0430\u0442\u0435\u043B\u044C\u043D\u044B\u0435 \u0432\u044B\u043F\u043B\u0430\u0442\u044B", placeholder: "\u0412\u0432\u0435\u0434\u0438\u0442\u0435 \u0437\u043D\u0430\u0447\u0435\u043D\u0438\u0435", isInteger: true, ...field(input?.name ?? ''), ...input })));
|
|
4905
|
+
const MandatoryPaymentsField = JSX(({ field, input }) => (jsx(DaDataInputControl, { label: "\u041E\u0431\u044F\u0437\u0430\u0442\u0435\u043B\u044C\u043D\u044B\u0435 \u0432\u044B\u043F\u043B\u0430\u0442\u044B", placeholder: "\u0412\u0432\u0435\u0434\u0438\u0442\u0435 \u0437\u043D\u0430\u0447\u0435\u043D\u0438\u0435", isInteger: true, type: "number", maxLength: 10, ...field(input?.name ?? ''), ...input })));
|
|
4851
4906
|
|
|
4852
4907
|
const METHODS_OF_OBTAIN = [
|
|
4853
4908
|
{ id: 'office', text: 'В отделении Банка' },
|
|
@@ -4861,7 +4916,7 @@
|
|
|
4861
4916
|
field('middleName')?.onChange?.(value);
|
|
4862
4917
|
}
|
|
4863
4918
|
}, [field]);
|
|
4864
|
-
return (jsx(DaDataInputControl, { label: "\u041E\u0442\u0447\u0435\u0441\u0442\u0432\u043E (\u041E\u0431\u044F\u0437\u0430\u0442\u0435\u043B\u044C\u043D\u043E, \u043F\u0440\u0438 \u043D\u0430\u043B\u0438\u0447\u0438\u0438)", maxLength:
|
|
4919
|
+
return (jsx(DaDataInputControl, { label: "\u041E\u0442\u0447\u0435\u0441\u0442\u0432\u043E (\u041E\u0431\u044F\u0437\u0430\u0442\u0435\u043B\u044C\u043D\u043E, \u043F\u0440\u0438 \u043D\u0430\u043B\u0438\u0447\u0438\u0438)", maxLength: 40, disabled: isEsiaAuthorize(field, input), ...field(input?.name ?? ''), ...input, onChange: onChange }));
|
|
4865
4920
|
});
|
|
4866
4921
|
|
|
4867
4922
|
const NameField = JSX(({ field, input }) => {
|
|
@@ -4870,7 +4925,7 @@
|
|
|
4870
4925
|
field('name')?.onChange?.(value);
|
|
4871
4926
|
}
|
|
4872
4927
|
}, [field]);
|
|
4873
|
-
return (jsx(DaDataInputControl, { label: "\u0418\u043C\u044F", maxLength:
|
|
4928
|
+
return (jsx(DaDataInputControl, { label: "\u0418\u043C\u044F", maxLength: 40, disabled: isEsiaAuthorize(field, input), ...field(input?.name ?? ''), ...input, onChange: onChange }));
|
|
4874
4929
|
});
|
|
4875
4930
|
|
|
4876
4931
|
const OrganizationField = JSX(({ field, input }) => {
|
|
@@ -4966,7 +5021,7 @@
|
|
|
4966
5021
|
});
|
|
4967
5022
|
const getCurrentProductSettings = (productType) => productType === 'debitCard' ? 'DEBIT_CARD_LEAD_PROCESS_SETTINGS' : 'CREDIT_LEAD_PROCESS_SETTINGS';
|
|
4968
5023
|
|
|
4969
|
-
const RetirementIncomeField = JSX(({ field, input }) => (jsx(DaDataInputControl, { label: "\u041F\u0435\u043D\u0441\u0438\u043E\u043D\u043D\u044B\u0435 \u0434\u043E\u0445\u043E\u0434\u044B", placeholder: "\u0412\u0432\u0435\u0434\u0438\u0442\u0435 \u0437\u043D\u0430\u0447\u0435\u043D\u0438\u0435", isInteger: true, ...field(input?.name ?? ''), ...input })));
|
|
5024
|
+
const RetirementIncomeField = JSX(({ field, input }) => (jsx(DaDataInputControl, { label: "\u041F\u0435\u043D\u0441\u0438\u043E\u043D\u043D\u044B\u0435 \u0434\u043E\u0445\u043E\u0434\u044B", placeholder: "\u0412\u0432\u0435\u0434\u0438\u0442\u0435 \u0437\u043D\u0430\u0447\u0435\u043D\u0438\u0435", isInteger: true, type: "number", maxLength: 10, ...field(input?.name ?? ''), ...input })));
|
|
4970
5025
|
|
|
4971
5026
|
const GENDERS = ['male', 'female'];
|
|
4972
5027
|
const getGenderFromName = async (name) => {
|
|
@@ -5025,12 +5080,10 @@
|
|
|
5025
5080
|
field('surname')?.onChange?.(value);
|
|
5026
5081
|
}
|
|
5027
5082
|
}, [field]);
|
|
5028
|
-
return (jsx(DaDataInputControl, { label: "\u0424\u0430\u043C\u0438\u043B\u0438\u044F", maxLength:
|
|
5083
|
+
return (jsx(DaDataInputControl, { label: "\u0424\u0430\u043C\u0438\u043B\u0438\u044F", maxLength: 40, disabled: isEsiaAuthorize(field, input), ...field(input?.name ?? ''), ...input, onChange: onChange }));
|
|
5029
5084
|
});
|
|
5030
5085
|
|
|
5031
|
-
const
|
|
5032
|
-
|
|
5033
|
-
const WagesField = JSX(({ field, input }) => (jsx(DaDataInputControl, { label: "\u0421\u043E\u0432\u043E\u043A\u0443\u043F\u043D\u044B\u0439 \u0434\u043E\u0445\u043E\u0434 \u0432 \u043C\u0435\u0441\u044F\u0446 \u043F\u043E\u0441\u043B\u0435 \u0432\u044B\u0447\u0435\u0442\u0430 \u043D\u0430\u043B\u043E\u0433\u043E\u0432 (\u0437\u0430\u0440\u043F\u043B\u0430\u0442\u0430, \u043F\u0440\u0435\u043C\u0438\u0438)", placeholder: "\u0412\u0432\u0435\u0434\u0438\u0442\u0435 \u0437\u043D\u0430\u0447\u0435\u043D\u0438\u0435", isInteger: true, ...field(input?.name ?? ''), ...input, disabled: isEsiaAuthorize(field, input) })));
|
|
5086
|
+
const WagesField = JSX(({ field, input }) => (jsx(DaDataInputControl, { label: "\u0421\u043E\u0432\u043E\u043A\u0443\u043F\u043D\u044B\u0439 \u0434\u043E\u0445\u043E\u0434 \u0432 \u043C\u0435\u0441\u044F\u0446 \u043F\u043E\u0441\u043B\u0435 \u0432\u044B\u0447\u0435\u0442\u0430 \u043D\u0430\u043B\u043E\u0433\u043E\u0432 (\u0437\u0430\u0440\u043F\u043B\u0430\u0442\u0430, \u043F\u0440\u0435\u043C\u0438\u0438)", placeholder: "\u0412\u0432\u0435\u0434\u0438\u0442\u0435 \u0437\u043D\u0430\u0447\u0435\u043D\u0438\u0435", isInteger: true, type: "number", maxLength: 10, ...field(input?.name ?? ''), ...input, disabled: isEsiaAuthorize(field, input) })));
|
|
5034
5087
|
|
|
5035
5088
|
const DELIVERY_CITIES_REF = {
|
|
5036
5089
|
$ref: '/wcms-resources/delivery-cities-data.json',
|
|
@@ -5079,8 +5132,6 @@
|
|
|
5079
5132
|
familyMembers: FamilyMembersField,
|
|
5080
5133
|
children: ChildrenField,
|
|
5081
5134
|
dependents: DependentsField,
|
|
5082
|
-
totalIncome: TotalIncomeField,
|
|
5083
|
-
expenses: ExpensesField,
|
|
5084
5135
|
snils: SnilsField,
|
|
5085
5136
|
conscription: ConscriptionField,
|
|
5086
5137
|
armyIdFlg: ArmyIdFlgField,
|
|
@@ -5340,6 +5391,7 @@
|
|
|
5340
5391
|
}
|
|
5341
5392
|
};
|
|
5342
5393
|
|
|
5394
|
+
const TIME_TO_RESEND = 180;
|
|
5343
5395
|
const useVerifyPhoneDialogSubmit = ({ values, onSuccess, }) => {
|
|
5344
5396
|
const sessionStore = useSessionStore();
|
|
5345
5397
|
const attempts = sessionStore.smsCode?.attempts || 0;
|
|
@@ -5394,7 +5446,6 @@
|
|
|
5394
5446
|
};
|
|
5395
5447
|
const getTimer = (sendTime) => TIME_TO_RESEND - Math.floor((Date.now() - sendTime) / 1000);
|
|
5396
5448
|
|
|
5397
|
-
const TIME_TO_RESEND = 180;
|
|
5398
5449
|
const CODE_LENGTH = 4;
|
|
5399
5450
|
const VerifyPhoneDialog = JSX(({ phone, withDescription = true, consents, onSuccess = noop, onClose = noop }) => {
|
|
5400
5451
|
const [values, setValues] = useState(Array(CODE_LENGTH).fill(''));
|
|
@@ -5873,9 +5924,7 @@
|
|
|
5873
5924
|
}),
|
|
5874
5925
|
},
|
|
5875
5926
|
],
|
|
5876
|
-
marketingInfo
|
|
5877
|
-
bannerId: marketingInfo?.bannerId,
|
|
5878
|
-
},
|
|
5927
|
+
marketingInfo,
|
|
5879
5928
|
},
|
|
5880
5929
|
};
|
|
5881
5930
|
};
|
|
@@ -6101,10 +6150,7 @@
|
|
|
6101
6150
|
}
|
|
6102
6151
|
}, [target, key]);
|
|
6103
6152
|
|
|
6104
|
-
const esiaRequestProfile = (body) => fetchRetailJSON('/esia/requestProfile', 'POST', body)
|
|
6105
|
-
saveToken(res);
|
|
6106
|
-
return res;
|
|
6107
|
-
});
|
|
6153
|
+
const esiaRequestProfile = (body) => fetchRetailJSON('/esia/requestProfile', 'POST', body);
|
|
6108
6154
|
|
|
6109
6155
|
const initialFormState = {
|
|
6110
6156
|
surname: '',
|
|
@@ -6322,7 +6368,7 @@
|
|
|
6322
6368
|
code,
|
|
6323
6369
|
state,
|
|
6324
6370
|
redirectUri: globalThis.location?.href,
|
|
6325
|
-
authorize:
|
|
6371
|
+
authorize: false,
|
|
6326
6372
|
});
|
|
6327
6373
|
if (data) {
|
|
6328
6374
|
const parsedData = await parseEsiaProfile(data, productType === 'debitCard');
|
|
@@ -6376,6 +6422,7 @@
|
|
|
6376
6422
|
utm_content: queryStorage.get('utm_content'),
|
|
6377
6423
|
utm_term: queryStorage.get('utm_term'),
|
|
6378
6424
|
bannerId: queryStorage.get('bannerId'),
|
|
6425
|
+
userId: queryStorage.get('userId'),
|
|
6379
6426
|
};
|
|
6380
6427
|
return {
|
|
6381
6428
|
code,
|
|
@@ -7865,19 +7912,19 @@
|
|
|
7865
7912
|
} }), jsx("div", { className: "z-10 flex items-center justify-center w-20 h-20 rounded-full bg-white text-primary-text text-m", children: jsx(Timer, { seconds: time }) })] })] }));
|
|
7866
7913
|
});
|
|
7867
7914
|
|
|
7868
|
-
const FormStatus = JSX(({ title, description: dsc, sectionInfoTitle, sectionInfo, sectionAdditionalTitle, sectionInfoAdditional, buttonText, interval, onExpire = noop, ...props }) => (jsxs(BlockWrapper, { ...props, children: [jsxs("div", { className: "flex flex-col md:flex-row items-center", children: [jsx(Headline, { headlineVersion: "M", title: title, description: dsc, align: "text-left", padding: "p-xl", className: "w-full" }), interval ? jsx(TimerCircle, { interval: interval, onEnd: onExpire }) : null] }), jsx(SectionInfo, { title: sectionInfoTitle, items: sectionInfo }), jsx(SectionInfo, { title: sectionAdditionalTitle, items: sectionInfoAdditional, countColumns: true }), buttonText ? (jsx(Link, { href: "/natural", text: buttonText, version: "primary", className: "w-full mt-lg" })) : null] })));
|
|
7869
|
-
const SectionInfo = ({ title, items, countColumns = false, }) => {
|
|
7915
|
+
const FormStatus = JSX(({ title, description: dsc, sectionInfoTitle, sectionInfo, sectionAdditionalTitle, sectionInfoAdditional, buttonText, interval, onExpire = noop, ...props }) => (jsxs(BlockWrapper, { ...props, children: [jsxs("div", { className: "flex flex-col md:flex-row items-center", children: [jsx(Headline, { headlineVersion: "M", title: title, description: dsc, align: "text-left", padding: "p-xl", className: "w-full" }), interval ? jsx(TimerCircle, { interval: interval, onEnd: onExpire }) : null] }), jsx(SectionInfo$1, { title: sectionInfoTitle, items: sectionInfo }), jsx(SectionInfo$1, { title: sectionAdditionalTitle, items: sectionInfoAdditional, countColumns: true }), buttonText ? (jsx(Link, { href: "/natural", text: buttonText, version: "primary", className: "w-full mt-lg" })) : null] })));
|
|
7916
|
+
const SectionInfo$1 = ({ title, items, countColumns = false, }) => {
|
|
7870
7917
|
const isMobile = useMobileMode();
|
|
7871
7918
|
if (!items) {
|
|
7872
7919
|
return null;
|
|
7873
7920
|
}
|
|
7874
|
-
return (jsxs("div", { children: [jsx("hr", { className: "w-full h-px bg-main-gray border-0" }), jsxs("div", { className: "p-xl", children: [title ? (jsx(Text, { color: "text-primary-text", size: "text-h5", children: jsx("div", { className: style({ 'mb-m': Boolean(title) }), children: title }) })) : null, items ? (jsx("div", { className: style('grid grid-cols-1 gap-m', inputColumnStyles(countColumns || isMobile ? 1 : 2)), children: items.map((item, index) => (jsx("div", { children: renderItem$
|
|
7921
|
+
return (jsxs("div", { children: [jsx("hr", { className: "w-full h-px bg-main-gray border-0" }), jsxs("div", { className: "p-xl", children: [title ? (jsx(Text, { color: "text-primary-text", size: "text-h5", children: jsx("div", { className: style({ 'mb-m': Boolean(title) }), children: title }) })) : null, items ? (jsx("div", { className: style('grid grid-cols-1 gap-m', inputColumnStyles(countColumns || isMobile ? 1 : 2)), children: items.map((item, index) => (jsx("div", { children: renderItem$2(item) }, index))) })) : null] })] }));
|
|
7875
7922
|
};
|
|
7876
|
-
const renderItem$
|
|
7923
|
+
const renderItem$2 = ({ label, description }) => (jsxs("div", { className: "flex flex-col", children: [jsx(Text, { color: "text-secondary-text", size: "text-l", children: label }), jsx(Text, { color: "text-primary-text", size: "text-xl", children: description })] }));
|
|
7877
7924
|
|
|
7878
|
-
const FailedStatusContent$
|
|
7925
|
+
const FailedStatusContent$2 = JSX(() => (jsx(FormStatus, { title: "\u0411\u043B\u0430\u0433\u043E\u0434\u0430\u0440\u0438\u043C \u0412\u0430\u0441 \u0437\u0430 \u043E\u0436\u0438\u0434\u0430\u043D\u0438\u0435", description: "\u0412 \u043D\u0430\u0441\u0442\u043E\u044F\u0449\u0438\u0439 \u043C\u043E\u043C\u0435\u043D\u0442 \u0411\u0430\u043D\u043A \u043D\u0435 \u043C\u043E\u0436\u0435\u0442 \u043E\u0434\u043E\u0431\u0440\u0438\u0442\u044C \u0412\u0430\u0448\u0443 \u0437\u0430\u044F\u0432\u043A\u0443 \u043D\u0430 \u043A\u0440\u0435\u0434\u0438\u0442. \u041F\u043E\u043F\u0440\u043E\u0431\u0443\u0439\u0442\u0435 \u043F\u043E\u0434\u0430\u0442\u044C \u0437\u0430\u044F\u0432\u043A\u0443 \u043F\u043E\u0437\u0436\u0435. \u0421\u043F\u0430\u0441\u0438\u0431\u043E \u0437\u0430 \u043E\u0431\u0440\u0430\u0449\u0435\u043D\u0438\u0435 \u0432 \u0410\u041E \u00AB\u0420\u043E\u0441\u0441\u0435\u043B\u044C\u0445\u043E\u0437\u0431\u0430\u043D\u043A\u00BB.", buttonText: "\u0412\u0435\u0440\u043D\u0443\u0442\u044C\u0441\u044F \u043D\u0430 \u0433\u043B\u0430\u0432\u043D\u0443\u044E" })));
|
|
7879
7926
|
|
|
7880
|
-
const PendingStatusContent$
|
|
7927
|
+
const PendingStatusContent$2 = JSX(({ onExpire }) => {
|
|
7881
7928
|
const { statusInfo } = useRetailFormStore();
|
|
7882
7929
|
return (jsx(FormStatus, { interval: 300, title: "\u0417\u0430\u044F\u0432\u043A\u0430 \u0443\u0441\u043F\u0435\u0448\u043D\u043E \u043E\u0442\u043F\u0440\u0430\u0432\u043B\u0435\u043D\u0430", description: "\u041D\u0435 \u0437\u0430\u043A\u0440\u044B\u0432\u0430\u0439\u0442\u0435 \u043E\u043A\u043D\u043E, \u0441\u043A\u043E\u0440\u043E \u0441\u043E\u043E\u0431\u0449\u0438\u043C \u0440\u0435\u0437\u0443\u043B\u044C\u0442\u0430\u0442", sectionInfoTitle: "\u0417\u0430\u044F\u0432\u043B\u0435\u043D\u043D\u044B\u0435 \u0443\u0441\u043B\u043E\u0432\u0438\u044F \u043F\u043E \u043A\u0440\u0435\u0434\u0438\u0442\u0443", sectionInfo: [
|
|
7883
7930
|
{
|
|
@@ -7973,14 +8020,14 @@
|
|
|
7973
8020
|
}, [taskId]);
|
|
7974
8021
|
useInterval(trackStatus, 30000);
|
|
7975
8022
|
const handleExpire = useCallback(() => setStatus(STATUS_TYPE.rework), []);
|
|
7976
|
-
return renderStatus$
|
|
8023
|
+
return renderStatus$2(status, handleExpire);
|
|
7977
8024
|
});
|
|
7978
|
-
const renderStatus$
|
|
8025
|
+
const renderStatus$2 = (status, handleExpire) => {
|
|
7979
8026
|
const statusesMap = {
|
|
7980
|
-
IN_PROCESS: jsx(PendingStatusContent$
|
|
7981
|
-
CANCELLED: jsx(FailedStatusContent$
|
|
7982
|
-
FAILED: jsx(FailedStatusContent$
|
|
7983
|
-
DRAFT: jsx(FailedStatusContent$
|
|
8027
|
+
IN_PROCESS: jsx(PendingStatusContent$2, { onExpire: handleExpire }),
|
|
8028
|
+
CANCELLED: jsx(FailedStatusContent$2, {}),
|
|
8029
|
+
FAILED: jsx(FailedStatusContent$2, {}),
|
|
8030
|
+
DRAFT: jsx(FailedStatusContent$2, {}),
|
|
7984
8031
|
APPROVED: jsx(SuccessStatusCardContent, {}),
|
|
7985
8032
|
PRE_DECISION: jsx(SuccessStatusCardContent, {}),
|
|
7986
8033
|
REVISION: jsx(ReworkStatusContent$1, {}),
|
|
@@ -8014,7 +8061,7 @@
|
|
|
8014
8061
|
const dataValue = getValue(condition?.name);
|
|
8015
8062
|
return _ !== (dataValue?.key ?? dataValue);
|
|
8016
8063
|
});
|
|
8017
|
-
const checkConsentPfrFlg = ({ name }, getValue) => name === 'snils' && isSnilsRequired(getValue);
|
|
8064
|
+
const checkConsentPfrFlg = ({ name }, getValue) => name === 'snils' && !getValue('snils') && isSnilsRequired(getValue);
|
|
8018
8065
|
const isSnilsRequired = (getValue) => getValue('confirmationIncome')?.key !== 'PFR_CERTIFICATE';
|
|
8019
8066
|
|
|
8020
8067
|
const InputsMap = { ...InputsRetailMap, ...InputRetailCardMap };
|
|
@@ -8036,9 +8083,12 @@
|
|
|
8036
8083
|
...validatorObj,
|
|
8037
8084
|
limitedBirthday: getLimitedBirthdayValidation(productType),
|
|
8038
8085
|
dulIssueDate: passportValidator(formState.limitedBirthday),
|
|
8086
|
+
generalSeniority: generalSeniorityValidator(formState.lastJobExperience),
|
|
8087
|
+
beginDate: workBeginDateValidator(formState.limitedBirthday),
|
|
8088
|
+
participantDateRegistration: dateRegistrationValidator(formState.limitedBirthday),
|
|
8039
8089
|
})(formState);
|
|
8040
8090
|
|
|
8041
|
-
const StepsNavigationButtons$
|
|
8091
|
+
const StepsNavigationButtons$2 = JSX(({ step, isSending, onPrevStep }) => {
|
|
8042
8092
|
const isFirstStep = step === 0;
|
|
8043
8093
|
const isFinalStep = step === 5;
|
|
8044
8094
|
return (jsxs("div", { className: "flex justify-between gap-m", children: [jsx(Button, { version: "secondary", disabled: isFirstStep, onClick: onPrevStep, children: "\u041D\u0430\u0437\u0430\u0434" }), jsx(SubmitButton$1, { isLoading: isSending, children: isFinalStep ? 'Отправить заявку' : 'Далее' })] }));
|
|
@@ -8129,7 +8179,7 @@
|
|
|
8129
8179
|
},
|
|
8130
8180
|
];
|
|
8131
8181
|
|
|
8132
|
-
const formStateMap$
|
|
8182
|
+
const formStateMap$2 = [
|
|
8133
8183
|
{
|
|
8134
8184
|
paymentSystem: { key: '', text: '' },
|
|
8135
8185
|
currency: '810',
|
|
@@ -8206,7 +8256,7 @@
|
|
|
8206
8256
|
dulIssuedBy,
|
|
8207
8257
|
dulNumber,
|
|
8208
8258
|
dulSerie,
|
|
8209
|
-
dulSubdivisionCode,
|
|
8259
|
+
dulSubdivisionCode: dulSubdivisionCode?.replace('-', ''),
|
|
8210
8260
|
educationLevelCd: education,
|
|
8211
8261
|
registrationDate: participantDateRegistration
|
|
8212
8262
|
? formatDate(participantDateRegistration, true)
|
|
@@ -8233,7 +8283,7 @@
|
|
|
8233
8283
|
return new Date(date).toISOString().split('.')[0];
|
|
8234
8284
|
};
|
|
8235
8285
|
|
|
8236
|
-
const getDeliveryData = (formData) => {
|
|
8286
|
+
const getDeliveryData$1 = (formData) => {
|
|
8237
8287
|
const { methodObtain, deliveryDate = '', deliveryTime } = formData;
|
|
8238
8288
|
const isCourierDelivery = methodObtain === 'courier';
|
|
8239
8289
|
const deliveryTimeCd = deliveryTime ? { deliveryTimeCd: { key: deliveryTime } } : {};
|
|
@@ -8247,7 +8297,7 @@
|
|
|
8247
8297
|
}
|
|
8248
8298
|
: {};
|
|
8249
8299
|
};
|
|
8250
|
-
const getOfficeCode = (formData) => {
|
|
8300
|
+
const getOfficeCode$1 = (formData) => {
|
|
8251
8301
|
const { addressRetail, methodObtain } = formData;
|
|
8252
8302
|
const isOfficeObtain = addressRetail?.key && methodObtain === 'office';
|
|
8253
8303
|
return isOfficeObtain
|
|
@@ -8271,7 +8321,7 @@
|
|
|
8271
8321
|
taskKind: 'UNITED',
|
|
8272
8322
|
task: {
|
|
8273
8323
|
id: taskId,
|
|
8274
|
-
...getOfficeCode(formData),
|
|
8324
|
+
...getOfficeCode$1(formData),
|
|
8275
8325
|
authorizedAgentId: formData?.bankEmployeeCode,
|
|
8276
8326
|
participants: [
|
|
8277
8327
|
{
|
|
@@ -8283,15 +8333,15 @@
|
|
|
8283
8333
|
key: 'BORROWER',
|
|
8284
8334
|
value: 'Заемщик',
|
|
8285
8335
|
},
|
|
8286
|
-
...getCurrentStepData$
|
|
8336
|
+
...getCurrentStepData$2(step, formData),
|
|
8287
8337
|
},
|
|
8288
8338
|
],
|
|
8289
8339
|
...getCardOptionsData(formData),
|
|
8290
|
-
...getDeliveryData(formData),
|
|
8340
|
+
...getDeliveryData$1(formData),
|
|
8291
8341
|
files: formData?.files,
|
|
8292
8342
|
},
|
|
8293
8343
|
});
|
|
8294
|
-
const getCurrentStepData$
|
|
8344
|
+
const getCurrentStepData$2 = (step, formData) => {
|
|
8295
8345
|
switch (step) {
|
|
8296
8346
|
case 0:
|
|
8297
8347
|
return {};
|
|
@@ -8314,7 +8364,7 @@
|
|
|
8314
8364
|
const [isSending, { setTrue: startSending, setFalse: endSending }] = useBool(false);
|
|
8315
8365
|
const isFinalStep = step === 5;
|
|
8316
8366
|
const retailFormStore = useRetailFormStore();
|
|
8317
|
-
const initialState = useMemo(() => getInitialFormState(step, retailFormStore.leadForm, formStateMap$
|
|
8367
|
+
const initialState = useMemo(() => getInitialFormState(step, retailFormStore.leadForm, formStateMap$2), [step, retailFormStore.leadForm]);
|
|
8318
8368
|
const resetForm = useCallback((response) => {
|
|
8319
8369
|
const { leadForm } = retailFormStore;
|
|
8320
8370
|
if (isFinalStep && response.ok && leadForm) {
|
|
@@ -8355,14 +8405,14 @@
|
|
|
8355
8405
|
return [initialState, handleSubmit, isSending];
|
|
8356
8406
|
};
|
|
8357
8407
|
|
|
8358
|
-
const PRODUCT_TYPE$
|
|
8408
|
+
const PRODUCT_TYPE$2 = 'creditCard';
|
|
8359
8409
|
const CreditCardFormStep = JSX(({ step, sections, onPrevStep, onNextStep, onFinish }) => {
|
|
8360
8410
|
const inputs = useMemo(() => sections?.flatMap((_) => _?.inputs || []), [sections]);
|
|
8361
8411
|
const formValidator = useCallback((formState) => getRetailFormValidator({
|
|
8362
8412
|
formState,
|
|
8363
8413
|
inputs,
|
|
8364
8414
|
step,
|
|
8365
|
-
productType: PRODUCT_TYPE$
|
|
8415
|
+
productType: PRODUCT_TYPE$2,
|
|
8366
8416
|
}), [inputs]);
|
|
8367
8417
|
const [initialState, onSubmit, isSending] = useCreditCardFormAPI({
|
|
8368
8418
|
step,
|
|
@@ -8373,7 +8423,7 @@
|
|
|
8373
8423
|
formValidator,
|
|
8374
8424
|
onSubmit,
|
|
8375
8425
|
});
|
|
8376
|
-
return (jsxs("form", { onSubmit: handleSubmit, className: "space-y-m", children: [renderStep({ sections, field, step }), jsx(StepsNavigationButtons$
|
|
8426
|
+
return (jsxs("form", { onSubmit: handleSubmit, className: "space-y-m", children: [renderStep({ sections, field, step }), jsx(StepsNavigationButtons$2, { isSending: isSending, step: step, onPrevStep: onPrevStep })] }));
|
|
8377
8427
|
});
|
|
8378
8428
|
|
|
8379
8429
|
const PERSONAL_DATA = [
|
|
@@ -8771,7 +8821,7 @@
|
|
|
8771
8821
|
],
|
|
8772
8822
|
},
|
|
8773
8823
|
];
|
|
8774
|
-
const stepsSectionsMap$
|
|
8824
|
+
const stepsSectionsMap$2 = [
|
|
8775
8825
|
CREDIT_CARD_CONTENT,
|
|
8776
8826
|
PERSONAL_INFO_CONTENT$1,
|
|
8777
8827
|
EMPLOYMENT_CONTENT$1,
|
|
@@ -8780,7 +8830,7 @@
|
|
|
8780
8830
|
DELIVERY_CREDIT_CARD_CONTENT,
|
|
8781
8831
|
];
|
|
8782
8832
|
|
|
8783
|
-
const STEPS$
|
|
8833
|
+
const STEPS$2 = 6;
|
|
8784
8834
|
const TITLES = [
|
|
8785
8835
|
'Параметры карты',
|
|
8786
8836
|
'Персональные данные',
|
|
@@ -8795,7 +8845,7 @@
|
|
|
8795
8845
|
const scrollToTop = useCallback(() => formContainerRef?.current?.scrollIntoView({ behavior: 'smooth' }), [formContainerRef]);
|
|
8796
8846
|
useEffect(updateRefreshToken, []);
|
|
8797
8847
|
const handleNextStep = useCallback(() => {
|
|
8798
|
-
setStep((_) => Math.min(_ + 1, STEPS$
|
|
8848
|
+
setStep((_) => Math.min(_ + 1, STEPS$2));
|
|
8799
8849
|
scrollToTop();
|
|
8800
8850
|
}, []);
|
|
8801
8851
|
const handlePrevStep = useCallback(() => {
|
|
@@ -8803,9 +8853,9 @@
|
|
|
8803
8853
|
setStep((_) => Math.max(_ - 1, 0));
|
|
8804
8854
|
scrollToTop();
|
|
8805
8855
|
}, []);
|
|
8806
|
-
const sections = stepsSectionsMap$
|
|
8856
|
+
const sections = stepsSectionsMap$2[step];
|
|
8807
8857
|
const [isFormFinished, { setTrue: handleFinish }] = useBool(false);
|
|
8808
|
-
return (jsx(BlockWrapper, { className: className, ...rest, children: jsxs("div", { ref: formContainerRef, className: "container grid grid-cols-12", children: [isFormFinished ? null : (jsx(CreditCardFormProgress, { stepsTitles: TITLES, step: step, totalSteps: STEPS$
|
|
8858
|
+
return (jsx(BlockWrapper, { className: className, ...rest, children: jsxs("div", { ref: formContainerRef, className: "container grid grid-cols-12", children: [isFormFinished ? null : (jsx(CreditCardFormProgress, { stepsTitles: TITLES, step: step, totalSteps: STEPS$2 })), jsx("div", { className: "py-lg px-5xl mt-2xs bg-white col-span-12", children: isFormFinished ? (jsx(CreditCardFormStatusTracker, {})) : (jsx(CreditCardFormStep, { step: step, sections: sections, onNextStep: handleNextStep, onPrevStep: handlePrevStep, onFinish: handleFinish }, String(step))) })] }) }));
|
|
8809
8859
|
});
|
|
8810
8860
|
|
|
8811
8861
|
const CreditFormProgress = JSX(({ step = 1, totalSteps = 5, stepsTitles = [] }) => {
|
|
@@ -8813,9 +8863,9 @@
|
|
|
8813
8863
|
return (jsx("div", { className: "py-lg px-5xl bg-white col-span-12", children: jsxs("div", { children: [jsxs("span", { className: "font-bold mr-s", children: ["\u0428\u0430\u0433 ", step, " \u0438\u0437 ", totalSteps, "."] }), stepsTitles[step] || null, jsx(ProgressBar, { step: progress, showPercentage: false })] }) }));
|
|
8814
8864
|
});
|
|
8815
8865
|
|
|
8816
|
-
const FailedStatusContent = JSX(() => (jsx(FormStatus, { title: "\u0411\u043B\u0430\u0433\u043E\u0434\u0430\u0440\u0438\u043C \u0412\u0430\u0441 \u0437\u0430 \u043E\u0436\u0438\u0434\u0430\u043D\u0438\u0435", description: "\u0412 \u043D\u0430\u0441\u0442\u043E\u044F\u0449\u0438\u0439 \u043C\u043E\u043C\u0435\u043D\u0442 \u0411\u0430\u043D\u043A \u043D\u0435 \u043C\u043E\u0436\u0435\u0442 \u043E\u0434\u043E\u0431\u0440\u0438\u0442\u044C \u0412\u0430\u0448\u0443 \u0437\u0430\u044F\u0432\u043A\u0443 \u043D\u0430 \u043A\u0440\u0435\u0434\u0438\u0442. \u041F\u043E\u043F\u0440\u043E\u0431\u0443\u0439\u0442\u0435 \u043F\u043E\u0434\u0430\u0442\u044C \u0437\u0430\u044F\u0432\u043A\u0443 \u043F\u043E\u0437\u0436\u0435. \u0421\u043F\u0430\u0441\u0438\u0431\u043E \u0437\u0430 \u043E\u0431\u0440\u0430\u0449\u0435\u043D\u0438\u0435 \u0432 \u0410\u041E \u00AB\u0420\u043E\u0441\u0441\u0435\u043B\u044C\u0445\u043E\u0437\u0431\u0430\u043D\u043A\u00BB.", buttonText: "\u0412\u0435\u0440\u043D\u0443\u0442\u044C\u0441\u044F \u043D\u0430 \u0433\u043B\u0430\u0432\u043D\u0443\u044E" })));
|
|
8866
|
+
const FailedStatusContent$1 = JSX(() => (jsx(FormStatus, { title: "\u0411\u043B\u0430\u0433\u043E\u0434\u0430\u0440\u0438\u043C \u0412\u0430\u0441 \u0437\u0430 \u043E\u0436\u0438\u0434\u0430\u043D\u0438\u0435", description: "\u0412 \u043D\u0430\u0441\u0442\u043E\u044F\u0449\u0438\u0439 \u043C\u043E\u043C\u0435\u043D\u0442 \u0411\u0430\u043D\u043A \u043D\u0435 \u043C\u043E\u0436\u0435\u0442 \u043E\u0434\u043E\u0431\u0440\u0438\u0442\u044C \u0412\u0430\u0448\u0443 \u0437\u0430\u044F\u0432\u043A\u0443 \u043D\u0430 \u043A\u0440\u0435\u0434\u0438\u0442. \u041F\u043E\u043F\u0440\u043E\u0431\u0443\u0439\u0442\u0435 \u043F\u043E\u0434\u0430\u0442\u044C \u0437\u0430\u044F\u0432\u043A\u0443 \u043F\u043E\u0437\u0436\u0435. \u0421\u043F\u0430\u0441\u0438\u0431\u043E \u0437\u0430 \u043E\u0431\u0440\u0430\u0449\u0435\u043D\u0438\u0435 \u0432 \u0410\u041E \u00AB\u0420\u043E\u0441\u0441\u0435\u043B\u044C\u0445\u043E\u0437\u0431\u0430\u043D\u043A\u00BB.", buttonText: "\u0412\u0435\u0440\u043D\u0443\u0442\u044C\u0441\u044F \u043D\u0430 \u0433\u043B\u0430\u0432\u043D\u0443\u044E" })));
|
|
8817
8867
|
|
|
8818
|
-
const PendingStatusContent = JSX(({ onExpire }) => {
|
|
8868
|
+
const PendingStatusContent$1 = JSX(({ onExpire }) => {
|
|
8819
8869
|
const { statusInfo } = useRetailFormStore();
|
|
8820
8870
|
return (jsx(FormStatus, { interval: 300, title: "\u0417\u0430\u044F\u0432\u043A\u0430 \u0443\u0441\u043F\u0435\u0448\u043D\u043E \u043E\u0442\u043F\u0440\u0430\u0432\u043B\u0435\u043D\u0430", description: "\u041D\u0435 \u0437\u0430\u043A\u0440\u044B\u0432\u0430\u0439\u0442\u0435 \u043E\u043A\u043D\u043E, \u0441\u043A\u043E\u0440\u043E \u0441\u043E\u043E\u0431\u0449\u0438\u043C \u0440\u0435\u0437\u0443\u043B\u044C\u0442\u0430\u0442", sectionInfoTitle: "\u0417\u0430\u044F\u0432\u043B\u0435\u043D\u043D\u044B\u0435 \u0443\u0441\u043B\u043E\u0432\u0438\u044F \u043F\u043E \u043A\u0440\u0435\u0434\u0438\u0442\u0443", sectionInfo: [
|
|
8821
8871
|
{
|
|
@@ -8860,7 +8910,7 @@
|
|
|
8860
8910
|
], buttonText: "\u0412\u0435\u0440\u043D\u0443\u0442\u044C\u0441\u044F \u043D\u0430 \u0433\u043B\u0430\u0432\u043D\u0443\u044E" }));
|
|
8861
8911
|
});
|
|
8862
8912
|
|
|
8863
|
-
const SuccessStatusContent = JSX(() => {
|
|
8913
|
+
const SuccessStatusContent$1 = JSX(() => {
|
|
8864
8914
|
const { statusInfo } = useRetailFormStore();
|
|
8865
8915
|
return (jsx(FormStatus, { title: "\u0411\u0430\u043D\u043A \u043E\u0434\u043E\u0431\u0440\u0438\u043B \u0432\u0430\u043C \u043A\u0440\u0435\u0434\u0438\u0442", description: "\u041E\u0431\u0440\u0430\u0442\u0438\u0442\u0435\u0441\u044C \u0432 \u043E\u0442\u0434\u0435\u043B\u0435\u043D\u0438\u0435 \u0431\u0430\u043D\u043A\u0430, \u0447\u0442\u043E\u0431\u044B \u0437\u0430\u0432\u0435\u0440\u0448\u0438\u0442\u044C \u043E\u0444\u043E\u0440\u043C\u043B\u0435\u043D\u0438\u0435 \u0438 \u043F\u043E\u043B\u0443\u0447\u0438\u0442\u044C \u0432\u0430\u0448 \u043A\u0440\u0435\u0434\u0438\u0442", sectionInfo: [
|
|
8866
8916
|
{
|
|
@@ -8909,22 +8959,22 @@
|
|
|
8909
8959
|
}, [taskId]);
|
|
8910
8960
|
useInterval(trackStatus, 30_000);
|
|
8911
8961
|
const handleExpire = useCallback(() => setStatus(STATUS_TYPE.rework), []);
|
|
8912
|
-
return renderStatus(status, handleExpire);
|
|
8962
|
+
return renderStatus$1(status, handleExpire);
|
|
8913
8963
|
});
|
|
8914
|
-
const renderStatus = (status, onExpire) => {
|
|
8964
|
+
const renderStatus$1 = (status, onExpire) => {
|
|
8915
8965
|
const statusesMap = {
|
|
8916
|
-
IN_PROCESS: jsx(PendingStatusContent, { onExpire: onExpire }),
|
|
8917
|
-
CANCELLED: jsx(FailedStatusContent, {}),
|
|
8918
|
-
FAILED: jsx(FailedStatusContent, {}),
|
|
8919
|
-
DRAFT: jsx(FailedStatusContent, {}),
|
|
8920
|
-
APPROVED: jsx(SuccessStatusContent, {}),
|
|
8921
|
-
PRE_DECISION: jsx(SuccessStatusContent, {}),
|
|
8966
|
+
IN_PROCESS: jsx(PendingStatusContent$1, { onExpire: onExpire }),
|
|
8967
|
+
CANCELLED: jsx(FailedStatusContent$1, {}),
|
|
8968
|
+
FAILED: jsx(FailedStatusContent$1, {}),
|
|
8969
|
+
DRAFT: jsx(FailedStatusContent$1, {}),
|
|
8970
|
+
APPROVED: jsx(SuccessStatusContent$1, {}),
|
|
8971
|
+
PRE_DECISION: jsx(SuccessStatusContent$1, {}),
|
|
8922
8972
|
REVISION: jsx(ReworkStatusContent, {}),
|
|
8923
8973
|
};
|
|
8924
8974
|
return statusesMap[status] || jsx(ReworkStatusContent, {});
|
|
8925
8975
|
};
|
|
8926
8976
|
|
|
8927
|
-
const StepsNavigationButtons = JSX(({ step, onPrevStep, isSending }) => {
|
|
8977
|
+
const StepsNavigationButtons$1 = JSX(({ step, onPrevStep, isSending }) => {
|
|
8928
8978
|
const isFirstStep = step === 0;
|
|
8929
8979
|
const isFinalStep = step === 5;
|
|
8930
8980
|
return (jsxs("div", { className: 'flex justify-between gap-m', children: [jsx(Button, { version: "secondary", disabled: isFirstStep, onClick: onPrevStep, children: "\u041D\u0430\u0437\u0430\u0434" }), jsx(SubmitButton$1, { isLoading: isSending, children: isFinalStep ? 'Отправить заявку' : 'Далее' })] }));
|
|
@@ -8974,7 +9024,7 @@
|
|
|
8974
9024
|
key: 'BORROWER',
|
|
8975
9025
|
value: 'Заемщик',
|
|
8976
9026
|
},
|
|
8977
|
-
...getCurrentStepData(step, formData),
|
|
9027
|
+
...getCurrentStepData$1(step, formData),
|
|
8978
9028
|
},
|
|
8979
9029
|
],
|
|
8980
9030
|
...getCalcData(formData),
|
|
@@ -8985,7 +9035,7 @@
|
|
|
8985
9035
|
files: formData?.files,
|
|
8986
9036
|
},
|
|
8987
9037
|
});
|
|
8988
|
-
const getCurrentStepData = (step, formData) => {
|
|
9038
|
+
const getCurrentStepData$1 = (step, formData) => {
|
|
8989
9039
|
switch (step) {
|
|
8990
9040
|
case 0:
|
|
8991
9041
|
return getCalculatorData(formData);
|
|
@@ -9000,7 +9050,7 @@
|
|
|
9000
9050
|
}
|
|
9001
9051
|
};
|
|
9002
9052
|
|
|
9003
|
-
const formStateMap = [
|
|
9053
|
+
const formStateMap$1 = [
|
|
9004
9054
|
{
|
|
9005
9055
|
calculator: {
|
|
9006
9056
|
moneyValue: 0,
|
|
@@ -9026,7 +9076,7 @@
|
|
|
9026
9076
|
const [isSending, { setTrue: startSending, setFalse: endSending }] = useBool(false);
|
|
9027
9077
|
const isFinalStep = step === 4;
|
|
9028
9078
|
const retailFormStore = useRetailFormStore();
|
|
9029
|
-
const initialState = useMemo(() => getInitialFormState(step, retailFormStore.leadForm, formStateMap), [step, retailFormStore.leadForm]);
|
|
9079
|
+
const initialState = useMemo(() => getInitialFormState(step, retailFormStore.leadForm, formStateMap$1), [step, retailFormStore.leadForm]);
|
|
9030
9080
|
const resetForm = useCallback((response) => {
|
|
9031
9081
|
const { leadForm } = retailFormStore;
|
|
9032
9082
|
if (isFinalStep && response.ok && leadForm) {
|
|
@@ -9071,7 +9121,7 @@
|
|
|
9071
9121
|
return [initialState, handleSubmit, isSending];
|
|
9072
9122
|
};
|
|
9073
9123
|
|
|
9074
|
-
const PRODUCT_TYPE = 'credit';
|
|
9124
|
+
const PRODUCT_TYPE$1 = 'credit';
|
|
9075
9125
|
const CreditFormStep = JSX(({ step, sections, programsSource, onPrevStep, onNextStep, onFinish }) => {
|
|
9076
9126
|
const { programId } = useRetailFormStore();
|
|
9077
9127
|
const calcData = programsSource?.[programId ?? '']; // Need normalizator useForm, to be save defaultParams
|
|
@@ -9080,7 +9130,7 @@
|
|
|
9080
9130
|
formState,
|
|
9081
9131
|
inputs,
|
|
9082
9132
|
step,
|
|
9083
|
-
productType: PRODUCT_TYPE,
|
|
9133
|
+
productType: PRODUCT_TYPE$1,
|
|
9084
9134
|
}), [inputs]);
|
|
9085
9135
|
const [initialState, onSubmit, isSending] = useCreditFormAPI({
|
|
9086
9136
|
step,
|
|
@@ -9091,7 +9141,7 @@
|
|
|
9091
9141
|
formValidator,
|
|
9092
9142
|
onSubmit,
|
|
9093
9143
|
});
|
|
9094
|
-
return (jsxs("form", { onSubmit: handleSubmit, className: "space-y-m", children: [renderStep({ sections, field, step, params: { calcData } }), jsx(StepsNavigationButtons, { step: step, isSending: isSending, onPrevStep: onPrevStep })] }));
|
|
9144
|
+
return (jsxs("form", { onSubmit: handleSubmit, className: "space-y-m", children: [renderStep({ sections, field, step, params: { calcData } }), jsx(StepsNavigationButtons$1, { step: step, isSending: isSending, onPrevStep: onPrevStep })] }));
|
|
9095
9145
|
});
|
|
9096
9146
|
|
|
9097
9147
|
/* eslint-disable max-lines */
|
|
@@ -9281,7 +9331,7 @@
|
|
|
9281
9331
|
],
|
|
9282
9332
|
},
|
|
9283
9333
|
];
|
|
9284
|
-
const stepsSectionsMap = [
|
|
9334
|
+
const stepsSectionsMap$1 = [
|
|
9285
9335
|
CALCULATOR_CONTENT,
|
|
9286
9336
|
PERSONAL_INFO_CONTENT,
|
|
9287
9337
|
EMPLOYMENT_CONTENT,
|
|
@@ -9289,8 +9339,8 @@
|
|
|
9289
9339
|
DELIVERY_CREDIT_CONTENT,
|
|
9290
9340
|
];
|
|
9291
9341
|
|
|
9292
|
-
const STEPS = 4;
|
|
9293
|
-
const STEP_TITLES = [
|
|
9342
|
+
const STEPS$1 = 4;
|
|
9343
|
+
const STEP_TITLES$1 = [
|
|
9294
9344
|
'',
|
|
9295
9345
|
'Персональные данные',
|
|
9296
9346
|
'Данные о трудоустройстве',
|
|
@@ -9298,6 +9348,382 @@
|
|
|
9298
9348
|
'Отделение Банка',
|
|
9299
9349
|
];
|
|
9300
9350
|
const CreditForm = UniBlock(({ className, programsSource, ...rest }) => {
|
|
9351
|
+
const [step, setStep] = useState(0);
|
|
9352
|
+
const formContainerRef = useRef(null);
|
|
9353
|
+
const scrollToTop = useCallback(() => formContainerRef?.current?.scrollIntoView({ behavior: 'smooth' }), [formContainerRef]);
|
|
9354
|
+
useEffect(updateRefreshToken, []);
|
|
9355
|
+
const handleNextStep = useCallback(() => {
|
|
9356
|
+
setStep((_) => Math.min(_ + 1, STEPS$1));
|
|
9357
|
+
scrollToTop();
|
|
9358
|
+
}, []);
|
|
9359
|
+
const handlePrevStep = useCallback(() => {
|
|
9360
|
+
//TODO search hook - 1,
|
|
9361
|
+
setStep((_) => Math.max(_ - 1, 0));
|
|
9362
|
+
scrollToTop();
|
|
9363
|
+
}, []);
|
|
9364
|
+
const sections = stepsSectionsMap$1[step];
|
|
9365
|
+
const isStartStep = step === 0;
|
|
9366
|
+
const [isFormFinished, { setTrue: handleFinish }] = useBool(false);
|
|
9367
|
+
return (jsx(BlockWrapper, { className: className, ...rest, children: jsxs("div", { ref: formContainerRef, className: "container grid grid-cols-12", children: [isStartStep || isFormFinished ? null : (jsx(CreditFormProgress, { stepsTitles: STEP_TITLES$1, step: step, totalSteps: STEPS$1 })), jsx("div", { className: "py-lg px-5xl mt-2xs bg-white col-span-12", children: isFormFinished ? (jsx(CreditFormStatusTracker, {})) : (jsx(CreditFormStep, { step: step, sections: sections, programsSource: programsSource, onNextStep: handleNextStep, onPrevStep: handlePrevStep, onFinish: handleFinish }, String(step))) })] }) }));
|
|
9368
|
+
});
|
|
9369
|
+
|
|
9370
|
+
const DebitFormProgress = JSX(({ step = 1, totalSteps = 2, stepsTitles = [] }) => {
|
|
9371
|
+
const progress = useMemo(() => (step / totalSteps) * 100, [step, totalSteps]);
|
|
9372
|
+
return (jsx("div", { className: "py-lg px-5xl bg-white col-span-12", children: jsxs("div", { children: [jsxs("span", { className: "font-bold mr-s", children: ["\u0428\u0430\u0433 ", step, " \u0438\u0437 ", totalSteps, "."] }), stepsTitles[step] || null, jsx(ProgressBar, { step: progress, showPercentage: false })] }) }));
|
|
9373
|
+
});
|
|
9374
|
+
|
|
9375
|
+
const INTERNET_BANK_LINK = 'https://online.rshb.ru/ib6/wf2/retail/ib/loginretaildefault';
|
|
9376
|
+
const DebitFormStatus = JSX(({ title, description: dsc, sectionInfo, buttonText, isDboClient, ...props }) => {
|
|
9377
|
+
return (jsxs(BlockWrapper, { ...props, children: [jsx("div", { className: "flex flex-col md:flex-row items-center", children: jsx(Headline, { headlineVersion: "M", title: title, description: dsc, align: "text-left", padding: "p-xl", className: "w-full" }) }), jsx(SectionInfo, { items: sectionInfo }), buttonText ? (jsx(LinkButton, { href: "/natural", text: buttonText, version: "primary", className: "w-full mt-lg" })) : null, isDboClient ? (jsxs("div", { className: "flex flex-col md:flex-row md:gap-lg", children: [jsx(LinkButton, { href: "/natural/debetcards", text: "\u0417\u0430\u043F\u043E\u043B\u043D\u0438\u0442\u044C \u0437\u0430\u043D\u043E\u0432\u043E", version: "primary", className: "w-full mt-lg" }), jsx(LinkButton, { href: INTERNET_BANK_LINK, text: "\u041F\u0435\u0440\u0435\u0439\u0442\u0438 \u0432 \u0438\u043D\u0442\u0435\u0440\u043D\u0435\u0442 \u0431\u0430\u043D\u043A", version: "primary", className: "w-full mt-lg" })] })) : null] }));
|
|
9378
|
+
});
|
|
9379
|
+
const SectionInfo = ({ title, items, }) => {
|
|
9380
|
+
if (!items) {
|
|
9381
|
+
return null;
|
|
9382
|
+
}
|
|
9383
|
+
return (jsxs("div", { children: [jsx("hr", { className: "w-full h-px bg-main-gray border-0" }), jsxs("div", { className: "p-xl", children: [title ? (jsx(Text, { color: "text-primary-text", size: "text-h5", children: jsx("div", { className: style({ 'mb-m': Boolean(title) }), children: title }) })) : null, items ? (jsx("div", { className: style('grid gap-m md:grid-cols-2', 'md:grid-cols-2'), children: items.map((item, index) => (jsx("div", { children: renderItem$1(item) }, index))) })) : null] })] }));
|
|
9384
|
+
};
|
|
9385
|
+
const renderItem$1 = ({ label, description }) => (jsxs("div", { className: "flex flex-col", children: [jsx(Text, { color: "text-secondary-text", size: "text-l", children: label }), jsx(Text, { color: "text-primary-text", size: "text-xl", children: description })] }));
|
|
9386
|
+
|
|
9387
|
+
const DboClientStatusContent = JSX(() => {
|
|
9388
|
+
const { leadForm } = useRetailFormStore();
|
|
9389
|
+
return (jsx(DebitFormStatus, { title: `${leadForm?.name} ${leadForm?.middleName},`, description: "\u0418\u043D\u0444\u043E\u0440\u043C\u0430\u0446\u0438\u044F \u043E \u0412\u0430\u0441 \u0443\u0436\u0435 \u0435\u0441\u0442\u044C \u0432 \u0441\u0438\u0441\u0442\u0435\u043C\u0430\u0445 \u0411\u0430\u043D\u043A\u0430, \u043E\u0431\u0440\u0430\u0442\u0438\u0442\u0435 \u0432\u043D\u0438\u043C\u0430\u043D\u0438\u0435 \u043D\u0430 \u043A\u043E\u0440\u0440\u0435\u043A\u0442\u043D\u043E\u0441\u0442\u044C \u0437\u0430\u043F\u043E\u043B\u043D\u0435\u043D\u0438\u044F \u043F\u0430\u0441\u043F\u043E\u0440\u0442\u043D\u044B\u0445 \u0434\u0430\u043D\u043D\u044B\u0445", sectionInfo: [
|
|
9390
|
+
{
|
|
9391
|
+
label: 'Фамилия',
|
|
9392
|
+
description: leadForm?.surname,
|
|
9393
|
+
},
|
|
9394
|
+
{
|
|
9395
|
+
label: 'Имя',
|
|
9396
|
+
description: leadForm?.name,
|
|
9397
|
+
},
|
|
9398
|
+
{
|
|
9399
|
+
label: 'Отчество',
|
|
9400
|
+
description: leadForm?.middleName,
|
|
9401
|
+
},
|
|
9402
|
+
{
|
|
9403
|
+
label: 'Дата рождения',
|
|
9404
|
+
description: formatDate(leadForm?.limitedBirthday || ''),
|
|
9405
|
+
},
|
|
9406
|
+
{
|
|
9407
|
+
label: 'Серия документа',
|
|
9408
|
+
description: leadForm?.dulSerie,
|
|
9409
|
+
},
|
|
9410
|
+
{
|
|
9411
|
+
label: 'Номер документа',
|
|
9412
|
+
description: leadForm?.dulNumber,
|
|
9413
|
+
},
|
|
9414
|
+
], isDboClient: true }));
|
|
9415
|
+
});
|
|
9416
|
+
|
|
9417
|
+
const FailedStatusContent = JSX(() => (jsx(DebitFormStatus, { title: "\u0412\u0440\u0435\u043C\u044F \u043E\u0436\u0438\u0434\u0430\u043D\u0438\u044F \u043F\u0440\u0435\u0432\u044B\u0448\u0435\u043D\u043E", description: "\u041F\u043E\u043F\u0440\u043E\u0431\u0443\u0439\u0442\u0435 \u043E\u0442\u043F\u0440\u0430\u0432\u0438\u0442\u044C \u0437\u0430\u044F\u0432\u043A\u0443 \u043F\u043E\u0437\u0436\u0435", buttonText: "\u0412\u0435\u0440\u043D\u0443\u0442\u044C\u0441\u044F \u043D\u0430 \u0433\u043B\u0430\u0432\u043D\u0443\u044E" })));
|
|
9418
|
+
|
|
9419
|
+
const PendingStatusContent = JSX(() => (jsx(DebitFormStatus, { title: "\u041F\u043E\u0434\u043E\u0436\u0434\u0438\u0442\u0435 \u043D\u0435\u043C\u043D\u043E\u0433\u043E", description: "\u0411\u0430\u043D\u043A \u043F\u0440\u043E\u0432\u0435\u0440\u044F\u0435\u0442 \u0432\u0430\u0448\u0443 \u0437\u0430\u044F\u0432\u043A\u0443" })));
|
|
9420
|
+
|
|
9421
|
+
const SalaryDboClientStatusContent = JSX(() => (jsx(DebitFormStatus, { description: "\u0412\u044B \u0443\u0436\u0435 \u044F\u0432\u043B\u044F\u0435\u0442\u0435\u0441\u044C \u043A\u043B\u0438\u0435\u043D\u0442\u043E\u043C \u0410\u041E \u00AB\u0420\u043E\u0441\u0441\u0435\u043B\u044C\u0445\u043E\u0437\u0431\u0430\u043D\u043A\u00BB, \u0434\u043B\u044F \u0412\u0430\u0441 \u043E\u0444\u043E\u0440\u043C\u043B\u0435\u043D\u0438\u0435 \u0437\u0430\u0440\u043F\u043B\u0430\u0442\u043D\u043E\u0439 \u043A\u0430\u0440\u0442\u044B \u0432\u043E\u0437\u043C\u043E\u0436\u043D\u043E \u0432 \u043F\u0435\u0440\u0432\u044B\u0439 \u0440\u0430\u0431\u043E\u0447\u0438\u0439 \u0434\u0435\u043D\u044C", buttonText: "\u041D\u0430 \u0433\u043B\u0430\u0432\u043D\u0443\u044E" })));
|
|
9422
|
+
|
|
9423
|
+
const SuccessStatusContent = JSX(({ isOffice }) => (jsx(DebitFormStatus, { title: "\u0417\u0430\u044F\u0432\u043A\u0430 \u043F\u0440\u0438\u043D\u044F\u0442\u0430", description: isOffice
|
|
9424
|
+
? 'Ваша заявка принята, мы сообщим вам в СМС о поступлении карты в офис'
|
|
9425
|
+
: 'Вам позвонит сотрудник Банка для уточнения времени и даты доставки', buttonText: "\u0412\u0435\u0440\u043D\u0443\u0442\u044C\u0441\u044F \u043D\u0430 \u0433\u043B\u0430\u0432\u043D\u0443\u044E" })));
|
|
9426
|
+
|
|
9427
|
+
const DebitFormStatusTracker = JSX(() => {
|
|
9428
|
+
const [status, setStatus] = useState(STATUS_TYPE.process);
|
|
9429
|
+
const { taskId, statusInfo, programId } = useRetailFormStore();
|
|
9430
|
+
const isSalaryCard = programId === '38';
|
|
9431
|
+
const isOffice = statusInfo?.methodObtain === 'office';
|
|
9432
|
+
useEffect(() => {
|
|
9433
|
+
(async () => {
|
|
9434
|
+
const statusCd = await sendSignalToProcess({
|
|
9435
|
+
signalType: 'FIND_PERSON_SIGNAL',
|
|
9436
|
+
taskId,
|
|
9437
|
+
});
|
|
9438
|
+
isOffice &&
|
|
9439
|
+
(await sendSignalToProcess({
|
|
9440
|
+
signalType: 'SET_PERSON_SIGNAL',
|
|
9441
|
+
taskId,
|
|
9442
|
+
}));
|
|
9443
|
+
setStatus(statusCd || STATUS_TYPE.notFound);
|
|
9444
|
+
})();
|
|
9445
|
+
}, [taskId]);
|
|
9446
|
+
return renderStatus(status, isOffice, isSalaryCard);
|
|
9447
|
+
});
|
|
9448
|
+
const renderStatus = (status, isOffice, isSalaryCard) => {
|
|
9449
|
+
const statusesMap = {
|
|
9450
|
+
IN_PROCESS: jsx(PendingStatusContent, {}),
|
|
9451
|
+
NOT_FOUND: jsx(FailedStatusContent, {}),
|
|
9452
|
+
CLIENT_NOT_OK: jsx(FailedStatusContent, {}),
|
|
9453
|
+
DBO_CLIENT: isSalaryCard ? jsx(SalaryDboClientStatusContent, {}) : jsx(DboClientStatusContent, {}),
|
|
9454
|
+
PRE_DECISION: jsx(SuccessStatusContent, { isOffice: isOffice }), //
|
|
9455
|
+
};
|
|
9456
|
+
return statusesMap[status] || jsx(SuccessStatusContent, { isOffice: isOffice });
|
|
9457
|
+
};
|
|
9458
|
+
|
|
9459
|
+
const StepsNavigationButtons = JSX(({ step, onPrevStep, isSending }) => {
|
|
9460
|
+
const isFirstStep = step === 0;
|
|
9461
|
+
const isFinalStep = step === 5;
|
|
9462
|
+
return (jsxs("div", { className: 'flex justify-between gap-m', children: [jsx(Button, { onClick: onPrevStep, type: "button", version: "secondary", disabled: isFirstStep, children: "\u041D\u0430\u0437\u0430\u0434" }), jsx(SubmitButton$1, { isLoading: isSending, children: isFinalStep ? 'Отправить заявку' : 'Далее' })] }));
|
|
9463
|
+
});
|
|
9464
|
+
|
|
9465
|
+
const updateUserTaskDebit = (body) => doRequest('/user-data/updateUserTaskDebit', 'PUT', body);
|
|
9466
|
+
|
|
9467
|
+
const formStateMap = [
|
|
9468
|
+
{
|
|
9469
|
+
regionRetail: { key: '', text: '' },
|
|
9470
|
+
regionHasDelivery: false,
|
|
9471
|
+
addressRetail: { key: '', text: '' },
|
|
9472
|
+
addressCourier: {
|
|
9473
|
+
fullAddress: '',
|
|
9474
|
+
fiasCode: '',
|
|
9475
|
+
},
|
|
9476
|
+
methodObtain: undefined,
|
|
9477
|
+
deliveryDate: undefined,
|
|
9478
|
+
},
|
|
9479
|
+
{
|
|
9480
|
+
surname: '',
|
|
9481
|
+
name: '',
|
|
9482
|
+
middleName: '',
|
|
9483
|
+
sex: '',
|
|
9484
|
+
limitedBirthday: undefined,
|
|
9485
|
+
birthPlace: '',
|
|
9486
|
+
phone: '',
|
|
9487
|
+
email: '',
|
|
9488
|
+
dulSerie: undefined,
|
|
9489
|
+
dulNumber: undefined,
|
|
9490
|
+
dulIssueDate: undefined,
|
|
9491
|
+
dulSubdivisionCode: '',
|
|
9492
|
+
dulIssuedBy: '',
|
|
9493
|
+
addressRegistration: {
|
|
9494
|
+
fullAddress: '',
|
|
9495
|
+
fiasCode: '',
|
|
9496
|
+
},
|
|
9497
|
+
addressFact: {
|
|
9498
|
+
fullAddress: '',
|
|
9499
|
+
fiasCode: '',
|
|
9500
|
+
},
|
|
9501
|
+
},
|
|
9502
|
+
{
|
|
9503
|
+
paymentSystem: { key: '', text: '' },
|
|
9504
|
+
currency: '810',
|
|
9505
|
+
codeWord: '',
|
|
9506
|
+
latinName: '',
|
|
9507
|
+
latinSurname: '',
|
|
9508
|
+
},
|
|
9509
|
+
];
|
|
9510
|
+
|
|
9511
|
+
const getDeliveryData = (formData) => {
|
|
9512
|
+
const { methodObtain, regionRetail, comment, deliveryDate = '', deliveryTime } = formData;
|
|
9513
|
+
const isCourierDelivery = methodObtain === 'courier';
|
|
9514
|
+
const deliveryTimeCd = deliveryTime ? { deliveryTimeCd: { key: deliveryTime } } : {};
|
|
9515
|
+
return isCourierDelivery
|
|
9516
|
+
? {
|
|
9517
|
+
cardServiceRegionCd: regionRetail,
|
|
9518
|
+
courierDeliveryFlg: true,
|
|
9519
|
+
deliveryComment: comment,
|
|
9520
|
+
deliveryDate: dateToISO(deliveryDate.toString().replace(/(GMT)[+-]\d{4}/, 'GMT+0000')),
|
|
9521
|
+
office: { id: '' },
|
|
9522
|
+
...deliveryTimeCd,
|
|
9523
|
+
}
|
|
9524
|
+
: {};
|
|
9525
|
+
};
|
|
9526
|
+
const getOfficeCode = (formData) => {
|
|
9527
|
+
const { addressRetail, methodObtain } = formData;
|
|
9528
|
+
const isOfficeObtain = addressRetail?.key && methodObtain === 'office';
|
|
9529
|
+
return isOfficeObtain
|
|
9530
|
+
? {
|
|
9531
|
+
courierDeliveryFlg: false,
|
|
9532
|
+
office: { id: addressRetail.key },
|
|
9533
|
+
}
|
|
9534
|
+
: {};
|
|
9535
|
+
};
|
|
9536
|
+
const getDeliveryDebitData = (formData) => {
|
|
9537
|
+
const { addressCourier, methodObtain } = formData;
|
|
9538
|
+
const isCourierDelivery = methodObtain === 'courier';
|
|
9539
|
+
return isCourierDelivery
|
|
9540
|
+
? {
|
|
9541
|
+
participantAddresses: getParticipantAddresses$1({ addressCourier }),
|
|
9542
|
+
}
|
|
9543
|
+
: {};
|
|
9544
|
+
};
|
|
9545
|
+
const getDebitCardData = (formData) => {
|
|
9546
|
+
const { latinName: latinFirstname, latinSurname } = formData;
|
|
9547
|
+
return {
|
|
9548
|
+
latinFirstname,
|
|
9549
|
+
latinSurname,
|
|
9550
|
+
latinName: `${latinFirstname} ${latinSurname}`,
|
|
9551
|
+
};
|
|
9552
|
+
};
|
|
9553
|
+
|
|
9554
|
+
const getDebitCardFormTaskData = ({ participantId, taskId, formData, programId, step = 0, }) => ({
|
|
9555
|
+
task: {
|
|
9556
|
+
id: taskId,
|
|
9557
|
+
creditProgram: {
|
|
9558
|
+
code: debitProgrammIdToCardCodesMap[programId],
|
|
9559
|
+
},
|
|
9560
|
+
...getOfficeCode(formData),
|
|
9561
|
+
participants: [
|
|
9562
|
+
{
|
|
9563
|
+
id: participantId,
|
|
9564
|
+
residentOtherCountry: false,
|
|
9565
|
+
...getCurrentStepData(step, formData),
|
|
9566
|
+
},
|
|
9567
|
+
],
|
|
9568
|
+
...getCardOptionsData(formData),
|
|
9569
|
+
...getDeliveryData(formData),
|
|
9570
|
+
},
|
|
9571
|
+
});
|
|
9572
|
+
const getCurrentStepData = (step, formData) => {
|
|
9573
|
+
switch (step) {
|
|
9574
|
+
case 0:
|
|
9575
|
+
return getDeliveryDebitData(formData);
|
|
9576
|
+
case 1:
|
|
9577
|
+
return getPersonalInfoData(formData);
|
|
9578
|
+
case 2:
|
|
9579
|
+
return getDebitCardData(formData);
|
|
9580
|
+
default:
|
|
9581
|
+
return {};
|
|
9582
|
+
}
|
|
9583
|
+
};
|
|
9584
|
+
|
|
9585
|
+
const useDebitFormAPI = ({ step, onNextStep, onFinish, }) => {
|
|
9586
|
+
const [isSending, { setTrue: startSending, setFalse: endSending }] = useBool(false);
|
|
9587
|
+
const isFinalStep = step === 2;
|
|
9588
|
+
const retailFormStore = useRetailFormStore();
|
|
9589
|
+
const initialState = useMemo(() => getInitialFormState(step, retailFormStore.leadForm, formStateMap), [step, retailFormStore.leadForm]);
|
|
9590
|
+
const resetForm = useCallback(() => {
|
|
9591
|
+
const { leadForm } = retailFormStore;
|
|
9592
|
+
retailFormStore.statusInfo = {
|
|
9593
|
+
methodObtain: leadForm?.methodObtain,
|
|
9594
|
+
};
|
|
9595
|
+
retailFormStore.leadForm = initialState;
|
|
9596
|
+
}, [initialState]);
|
|
9597
|
+
const handleSubmit = useCallback(async (formData) => {
|
|
9598
|
+
startSending();
|
|
9599
|
+
retailFormStore.leadForm = formData;
|
|
9600
|
+
try {
|
|
9601
|
+
const { taskId, participantId, programId } = retailFormStore;
|
|
9602
|
+
if (taskId && participantId && programId) {
|
|
9603
|
+
await updateUserTaskDebit(getDebitCardFormTaskData({
|
|
9604
|
+
participantId,
|
|
9605
|
+
taskId,
|
|
9606
|
+
programId,
|
|
9607
|
+
step,
|
|
9608
|
+
formData: formData,
|
|
9609
|
+
}));
|
|
9610
|
+
}
|
|
9611
|
+
if (isFinalStep || formData.methodObtain === 'courier') {
|
|
9612
|
+
onFinish?.();
|
|
9613
|
+
resetForm();
|
|
9614
|
+
}
|
|
9615
|
+
else {
|
|
9616
|
+
onNextStep();
|
|
9617
|
+
}
|
|
9618
|
+
}
|
|
9619
|
+
catch (ex) {
|
|
9620
|
+
// Do nothing
|
|
9621
|
+
}
|
|
9622
|
+
finally {
|
|
9623
|
+
endSending();
|
|
9624
|
+
}
|
|
9625
|
+
}, [isFinalStep]);
|
|
9626
|
+
return [initialState, handleSubmit, isSending];
|
|
9627
|
+
};
|
|
9628
|
+
|
|
9629
|
+
const PRODUCT_TYPE = 'debitCard';
|
|
9630
|
+
const DebitFormStep = JSX(({ step, sections, onPrevStep, onNextStep, onFinish }) => {
|
|
9631
|
+
const inputs = useMemo(() => sections?.flatMap((_) => _?.inputs ?? []), [sections]);
|
|
9632
|
+
const formValidator = useCallback((formState) => getRetailFormValidator({
|
|
9633
|
+
formState,
|
|
9634
|
+
inputs,
|
|
9635
|
+
step,
|
|
9636
|
+
productType: PRODUCT_TYPE,
|
|
9637
|
+
}), [inputs]);
|
|
9638
|
+
const [initialState, onSubmit, isSending] = useDebitFormAPI({
|
|
9639
|
+
step,
|
|
9640
|
+
onNextStep,
|
|
9641
|
+
onFinish,
|
|
9642
|
+
});
|
|
9643
|
+
const [, { field, onSubmit: handleSubmit }] = useForm(initialState, {
|
|
9644
|
+
formValidator,
|
|
9645
|
+
onSubmit,
|
|
9646
|
+
});
|
|
9647
|
+
return (jsxs("form", { onSubmit: handleSubmit, className: "space-y-m", children: [renderStep({ sections, field, step }), jsx(StepsNavigationButtons, { step: step, isSending: isSending, onPrevStep: onPrevStep })] }));
|
|
9648
|
+
});
|
|
9649
|
+
|
|
9650
|
+
const DEBIT_PERSONAL_INFO_CONTENT = [
|
|
9651
|
+
...PERSONAL_DATA,
|
|
9652
|
+
{
|
|
9653
|
+
title: 'Адрес регистрации по месту жительства',
|
|
9654
|
+
columns: 1,
|
|
9655
|
+
inputs: [],
|
|
9656
|
+
},
|
|
9657
|
+
{
|
|
9658
|
+
inputs: [
|
|
9659
|
+
{
|
|
9660
|
+
name: 'addressRegistration',
|
|
9661
|
+
required: true,
|
|
9662
|
+
dadata: true,
|
|
9663
|
+
filledByEsia: true,
|
|
9664
|
+
},
|
|
9665
|
+
{ name: 'addressMatch' },
|
|
9666
|
+
],
|
|
9667
|
+
},
|
|
9668
|
+
{
|
|
9669
|
+
title: 'Адрес фактического проживания (место пребывания РФ)',
|
|
9670
|
+
inputs: [],
|
|
9671
|
+
},
|
|
9672
|
+
{
|
|
9673
|
+
inputs: [{ name: 'addressFact', required: true, dadata: true }],
|
|
9674
|
+
},
|
|
9675
|
+
];
|
|
9676
|
+
const DEBIT_CARD_CONTENT = [
|
|
9677
|
+
{
|
|
9678
|
+
title: 'Параметры карты',
|
|
9679
|
+
inputs: [],
|
|
9680
|
+
},
|
|
9681
|
+
{
|
|
9682
|
+
inputs: [
|
|
9683
|
+
{ name: 'currency', required: true },
|
|
9684
|
+
{ name: 'paymentSystem', required: true },
|
|
9685
|
+
{ name: 'cardCategory', required: true },
|
|
9686
|
+
],
|
|
9687
|
+
},
|
|
9688
|
+
{
|
|
9689
|
+
title: 'Отображение на карте',
|
|
9690
|
+
inputs: [],
|
|
9691
|
+
},
|
|
9692
|
+
{
|
|
9693
|
+
columns: 2,
|
|
9694
|
+
inputs: [{ name: 'latinName' }, { name: 'latinSurname', required: true }],
|
|
9695
|
+
},
|
|
9696
|
+
{
|
|
9697
|
+
inputs: [
|
|
9698
|
+
{
|
|
9699
|
+
name: 'infoCard',
|
|
9700
|
+
label: 'Проверьте корректность заполненных полей, при необходимости внесите изменения.',
|
|
9701
|
+
},
|
|
9702
|
+
],
|
|
9703
|
+
},
|
|
9704
|
+
{
|
|
9705
|
+
inputs: [
|
|
9706
|
+
{
|
|
9707
|
+
name: 'infoCard',
|
|
9708
|
+
label:
|
|
9709
|
+
// eslint-disable-next-line max-len
|
|
9710
|
+
'Количество символов ограничивается 20. При этом, если фамилия и имя на карте содержит более 21 символа, то необходимо сократить имя и указывать на карте только первую букву имени и фамилию, если при таком сокращении фамилия и имя не умещается в количество символов – 20, то указывать только фамилию.',
|
|
9711
|
+
},
|
|
9712
|
+
],
|
|
9713
|
+
},
|
|
9714
|
+
{
|
|
9715
|
+
inputs: [{ name: 'codeWord', required: true }],
|
|
9716
|
+
},
|
|
9717
|
+
];
|
|
9718
|
+
const stepsSectionsMap = [
|
|
9719
|
+
DELIVERY_CARD_CONTENT,
|
|
9720
|
+
DEBIT_PERSONAL_INFO_CONTENT,
|
|
9721
|
+
DEBIT_CARD_CONTENT,
|
|
9722
|
+
];
|
|
9723
|
+
|
|
9724
|
+
const STEPS = 2;
|
|
9725
|
+
const STEP_TITLES = ['', 'Персональные данные', 'Платежная система'];
|
|
9726
|
+
const DebitForm = UniBlock(({ className, ...rest }) => {
|
|
9301
9727
|
const [step, setStep] = useState(0);
|
|
9302
9728
|
const formContainerRef = useRef(null);
|
|
9303
9729
|
const scrollToTop = useCallback(() => formContainerRef?.current?.scrollIntoView({ behavior: 'smooth' }), [formContainerRef]);
|
|
@@ -9314,7 +9740,7 @@
|
|
|
9314
9740
|
const sections = stepsSectionsMap[step];
|
|
9315
9741
|
const isStartStep = step === 0;
|
|
9316
9742
|
const [isFormFinished, { setTrue: handleFinish }] = useBool(false);
|
|
9317
|
-
return (jsx(BlockWrapper, { className: className, ...rest, children: jsxs("div", { ref: formContainerRef, className: "container grid grid-cols-12", children: [isStartStep || isFormFinished ? null : (jsx(
|
|
9743
|
+
return (jsx(BlockWrapper, { className: className, ...rest, children: jsxs("div", { ref: formContainerRef, className: "container grid grid-cols-12", children: [isStartStep || isFormFinished ? null : (jsx(DebitFormProgress, { stepsTitles: STEP_TITLES, step: step, totalSteps: STEPS })), jsx("div", { className: "py-lg px-5xl mt-2xs bg-white col-span-12", children: isFormFinished ? (jsx(DebitFormStatusTracker, {})) : (jsx(DebitFormStep, { step: step, sections: sections, onNextStep: handleNextStep, onPrevStep: handlePrevStep, onFinish: handleFinish }, String(step))) })] }) }));
|
|
9318
9744
|
});
|
|
9319
9745
|
|
|
9320
9746
|
const isRateRow = (rateRow) => typeof rateRow?.minMonths === 'number' && typeof rateRow?.maxMonths === 'number';
|
|
@@ -10554,6 +10980,7 @@
|
|
|
10554
10980
|
ApplicationLeadForm,
|
|
10555
10981
|
CreditCardForm,
|
|
10556
10982
|
CreditForm,
|
|
10983
|
+
DebitForm,
|
|
10557
10984
|
};
|
|
10558
10985
|
|
|
10559
10986
|
const applyAspects = (aspects) => (ev) => {
|
|
@@ -10675,7 +11102,7 @@
|
|
|
10675
11102
|
slots: () => [HEADER_SLOT, FOOTER_SLOT, STICKY_FOOTER_SLOT],
|
|
10676
11103
|
});
|
|
10677
11104
|
|
|
10678
|
-
const packageVersion = "0.14.
|
|
11105
|
+
const packageVersion = "0.14.878";
|
|
10679
11106
|
|
|
10680
11107
|
exports.Blocks = Blocks;
|
|
10681
11108
|
exports.ContentPage = ContentPage;
|