{"version":3,"sources":["business/registration/components/RegistrationStep/index.js","ui2/icons/download.sprite.svg","business/registration/components/ContractorsRegistrationForm/Preamble/index.js","ui2/icons/warning.sprite.svg","business/registration/components/ContractorsRegistrationForm/CryptoProImport/index.js","business/registration/components/ContractorsRegistrationForm/FormComponent/success.sprite.svg","business/registration/components/ContractorsRegistrationForm/FormComponent/index.js","business/registration/components/ContractorsRegistrationForm/ResendLetter/index.js","business/registration/constants.ts","business/registration/components/ContractorsRegistrationForm/index.js","business/registration/components/ContractorsRegistrationForm/ErrorsAndWarnings/index.js","business/registration/components/FactorinRegistrationForm/CryptoProImport/index.js","business/registration/components/FactorinRegistrationForm/FormComponent/success.sprite.svg","business/registration/components/FactorinRegistrationForm/ResendLetter/index.js","business/registration/components/Fields/Dadata/index.tsx","business/registration/components/Fields/index.tsx","business/registration/components/FactorinRegistrationForm/PersonalDataError/index.tsx","business/registration/components/FactorinRegistrationForm/Icons/documentsArrow.sprite.svg","business/registration/components/FactorinRegistrationForm/Documents/index.tsx","business/registration/components/FactorinRegistrationForm/hooks.ts","business/registration/components/FactorinRegistrationForm/Icons/registration.sprite.svg","business/registration/components/FactorinRegistrationForm/Lead/index.tsx","business/registration/components/FactorinRegistrationForm/Rate/Tariffs/check.sprite.svg","business/registration/components/FactorinRegistrationForm/Rate/Tariffs/Proffits/nonCheck.sprite.svg","business/registration/components/FactorinRegistrationForm/Rate/Tariffs/Proffits/index.tsx","business/registration/components/FactorinRegistrationForm/Rate/Tariffs/Prices/index.tsx","business/registration/components/FactorinRegistrationForm/Rate/Tariffs/index.tsx","business/registration/components/FactorinRegistrationForm/Rate/Buttons/ErrorBanner/warningBanner.sprite.svg","business/registration/components/FactorinRegistrationForm/Rate/Buttons/ErrorBanner/index.tsx","business/registration/components/FactorinRegistrationForm/Rate/Buttons/index.tsx","business/registration/components/FactorinRegistrationForm/Rate/index.tsx","business/registration/components/FactorinRegistrationForm/Form/PluginNonInstalled/index.tsx","business/registration/components/FactorinRegistrationForm/Form/index.tsx","business/registration/components/FactorinRegistrationForm/Icons/registrationSuccess.sprite.svg","business/registration/components/FactorinRegistrationForm/Icons/registrationFailure.sprite.svg","business/registration/components/FactorinRegistrationForm/index.js","business/registration/components/FactorinRegistrationForm/FormComponent/index.js","business/registration/components/FactorinRegistrationForm/ErrorsAndWarnings/index.js","business/registration/components/FactorinRegistrationForm/SuccessLite/index.tsx","business/registration/components/FactorinRegistrationForm/FailureLite/index.tsx","business/registration/components/FactorinRegistrationForm/FailureINNLite/index.tsx","business/registration/components/DFARegistrationForm/CryptoProImport/index.js","business/registration/components/DFARegistrationForm/FormComponent/success.sprite.svg","business/registration/components/DFARegistrationForm/ResendLetter/index.js","business/registration/components/DFARegistrationForm/PersonalDataError/index.tsx","business/registration/components/DFARegistrationForm/Form/PluginNonInstalled/index.tsx","business/registration/components/DFARegistrationForm/Form/index.tsx","business/registration/components/DFARegistrationForm/Icons/registrationSuccess.sprite.svg","business/registration/components/DFARegistrationForm/Icons/registrationFailure.sprite.svg","business/registration/components/DFARegistrationForm/index.js","business/registration/components/DFARegistrationForm/hooks.ts","business/registration/components/DFARegistrationForm/FormComponent/index.js","business/registration/components/DFARegistrationForm/ErrorsAndWarnings/index.js","business/registration/components/DFARegistrationForm/SuccessLite/index.tsx","business/registration/components/DFARegistrationForm/FailureLite/index.tsx","business/registration/components/DFARegistrationForm/FailureINNLite/index.tsx","business/registration/components/Support/index.js","business/registration/index.js","business/yandex-metrics/components/Tracker/index.tsx","business/yandex-metrics/middlewares/index.tsx","business/yandex-metrics/index.ts","business/registration/components/FactorinRegistrationForm/Rate/Tariffs/index.module.scss","business/registration/components/FactorinRegistrationForm/Form/PluginNonInstalled/index.module.scss","business/registration/components/FactorinRegistrationForm/index.module.scss","business/registration/components/DFARegistrationForm/Form/PluginNonInstalled/index.module.scss","business/registration/components/DFARegistrationForm/index.module.scss","business/registration/components/Support/index.module.scss","core/i18n/i18n.js","core/i18n/components/notificationRenderer.js","core/i18n/components/formsErrorRenderer.js","core/i18n/components/LanguageSelector/index.tsx","core/i18n/state/actions.js","core/i18n/components/ConnectedLanguageSelector/index.js","core/i18n/index.js","core/i18n/api/errorFormatter.js","ui3/components/Typography/index.module.scss","business/fapp/components/FactorinView/index.module.scss","core/messaging/state/reducer.js","core/messaging/state/utils.ts","core/messaging/state/sagas.js","core/messaging/state/index.ts","core/messaging/components/UiPortal/index.tsx","core/messaging/components/ErrorModal/index.tsx","core/messaging/index.ts","core/messaging/MessagingModule.tsx","ui3/components/Checkbox/index.tsx","business/uiCo/components/ClientOfficeModal/index.tsx","business/registration/components/RegistrationStep/index.module.scss","business/registration/components/ContractorsRegistrationForm/index.module.scss","business/registration/components/FactorinRegistrationForm/FormComponent/index.module.scss","business/registration/components/FactorinRegistrationForm/PersonalDataError/index.module.scss","business/registration/components/DFARegistrationForm/FormComponent/index.module.scss","business/registration/components/DFARegistrationForm/PersonalDataError/index.module.scss","business/landing-dfa/pages/Landing/assets/issue_bg.svg","business/landing-dfa/pages/Landing/assets/buy_bg.svg","business/landing-dfa/pages/Landing/assets/sell_bg.svg","ui2/hooks.ts","ui2/components/Button/index.module.scss","ui2/components/CheckBox/index.module.scss","business/data/components/PaginationHeader/index.module.scss","business/fapp/ErrorBoundaryMiddleware/index.module.scss","business/fapp/components/PopupWithButton/index.module.scss","business/fapp/components/FactorinGrid/Header/index.module.scss","business/fapp/components/DocumentItem/index.module.scss","core/i18n/components/TranslateComponent/index.tsx","ui3/utils.tsx","business/fapp/components/FactorinGrid/index.module.scss","business/fapp/components/FactorinGrid/Body/index.module.scss","business/fapp/components/Dock/index.module.scss","business/cryptoprofiles/components/CertificateSelector/index.module.scss","business/cryptopro/constants.js","business/cryptopro/oids.js","business/cryptopro/utils.js","business/cryptopro/errors.js","business/cryptopro/Certificate.js","business/cryptopro/api.js","business/cryptopro/methods.js","ui3/components/Calendar/index.module.scss","ui2/components/TabHeader/index.module.scss","ui2/components/Tooltip/index.module.scss","business/cryptoprofiles/components/CryptoProfilesManager/index.module.scss","../generated/entries/landing-dfa.js","business/landing-dfa/api/monitoring.ts","business/landing-dfa/components/RouteContext.js","business/landing-dfa/components/ContentBox/index.tsx","business/landing-dfa/components/AccentButton/index.tsx","business/landing-dfa/pages/Landing/assets/Doc.png","business/landing-dfa/pages/Landing/assets/Cart.png","business/landing-dfa/pages/Landing/assets/PuzzleHome.png","business/landing-dfa/constants.ts","business/landing-dfa/pages/Landing/data.tsx","business/landing-dfa/components/InfoBlock/index.tsx","business/landing-dfa/components/NumberedSteps/index.tsx","business/landing-dfa/pages/Landing/assets/issue.png","business/landing-dfa/pages/Landing/assets/buy.png","business/landing-dfa/pages/Landing/assets/Showcase.png","business/landing-dfa/pages/Landing/assets/Case.png","business/landing-dfa/components/News/utils.ts","business/landing-dfa/api/descisions.ts","business/landing-dfa/api/news.ts","business/landing-dfa/api/documents.ts","business/landing-dfa/api/emission.ts","business/landing-dfa/api/withus.ts","business/landing-dfa/api/feedback.ts","business/landing-dfa/components/FeedbackForm/types.ts","business/landing-dfa/utils.ts","business/landing-dfa/components/NewsTag/index.tsx","business/landing-dfa/components/NewsPreview/index.tsx","business/landing-dfa/components/NewsSlide/index.tsx","business/landing-dfa/components/Titles/index.tsx","business/landing-dfa/components/Slider/index.tsx","business/landing-dfa/components/PagingControls/utils.ts","business/landing-dfa/components/PagingControls/index.tsx","business/landing-dfa/components/SliderControls/index.tsx","business/landing-dfa/components/Slider/utils.ts","business/landing-dfa/components/News/index.tsx","business/landing-dfa/routes/landingAnchorRoutes.js","business/landing-dfa/components/PageContainer/index.tsx","business/landing-dfa/components/Partners/utils.ts","business/landing-dfa/components/PartnerSlide/index.tsx","business/landing-dfa/components/Partners/index.tsx","business/landing-dfa/state/monitoring/actions.ts","business/landing-dfa/state/monitoring/reducer.ts","business/landing-dfa/state/monitoring/sagas.ts","business/landing-dfa/state/monitoring/index.ts","business/landing-dfa/components/Paragraph/index.tsx","business/landing-dfa/components/MonitoringBlock/index.tsx","business/landing-dfa/components/MainInfo/assets/desktopDfa.png","business/landing-dfa/components/MainInfo/assets/tabletDfa.png","business/landing-dfa/components/MainInfo/assets/mobileDfa.png","business/landing-dfa/components/MainInfo/index.tsx","business/landing-dfa/components/MainInfo/assets/individual.png","business/landing-dfa/components/MainInfo/assets/init.png","business/landing-dfa/components/MainInfo/assets/issueIcon.png","business/landing-dfa/components/MainInfo/assets/market.png","business/landing-dfa/components/ui/container/ContainerStyles.tsx","business/landing-dfa/components/ui/container/Container.tsx","business/landing-dfa/components/ui/container/types.tsx","business/landing-dfa/components/ui/main/mainStyles.tsx","business/landing-dfa/state/news/errors.ts","business/landing-dfa/components/ui/main/main.tsx","business/landing-dfa/components/NewsDetail/index.tsx","business/landing-dfa/state/news/actions.ts","business/landing-dfa/state/news/reducer.ts","business/landing-dfa/state/news/sagas.ts","business/landing-dfa/state/news/index.ts","business/landing-dfa/components/Social/index.tsx","business/landing-dfa/state/emission/actions.ts","business/landing-dfa/state/emission/reducer.ts","business/landing-dfa/state/emission/sagas.ts","business/landing-dfa/components/ui/loaders/types.ts","business/landing-dfa/state/hooks.ts","business/landing-dfa/state/emission/index.ts","business/landing-dfa/components/ContainerBox/index.tsx","business/landing-dfa/components/EmissionsTable/Cells/index.tsx","business/landing-dfa/components/EmissionsTable/CellContainer/index.tsx","business/landing-dfa/components/EmissionsTable/Header/index.tsx","business/landing-dfa/components/EmissionsTable/BodyRow/index.tsx","business/landing-dfa/components/ui/loaders/LoaderStyles.tsx","business/landing-dfa/components/ui/loaders/Loader.tsx","business/landing-dfa/components/ui/loaders/InlineLoaderStyles.tsx","business/landing-dfa/components/ui/loaders/InlineLoader.tsx","business/landing-dfa/components/EmissionsTable/Body/index.tsx","business/landing-dfa/components/EmissionsTable/index.tsx","business/landing-dfa/columns/fields/index.tsx","business/landing-dfa/columns/descisionsColumns.ts","business/landing-dfa/columns/emissionsColumns.ts","business/landing-dfa/components/Emissions/index.tsx","business/landing-dfa/components/DocumentsCommon/index.tsx","business/landing-dfa/state/documents/actions.ts","business/landing-dfa/state/documents/reducer.ts","business/landing-dfa/state/documents/sagas.ts","business/landing-dfa/state/documents/hooks.ts","business/landing-dfa/state/documents/index.ts","business/landing-dfa/components/GeneralDocuments/utils.ts","business/landing-dfa/components/GeneralDocuments/index.tsx","business/landing-dfa/components/RegistrationDocuments/utils.ts","business/landing-dfa/components/RegistrationDocuments/index.tsx","business/landing-dfa/routes/routes.js","business/landing-dfa/pages/Landing/index.tsx","business/landing-dfa/pages/Landing/assets/GrinningFace.png","business/landing-dfa/pages/Onboarding/index.tsx","business/landing-dfa/pages/NewsDetail/index.tsx","business/landing-dfa/pages/Registration/index.tsx","business/landing-dfa/pages/Information/index.tsx","business/landing-dfa/state/emission/hooks.ts","business/landing-dfa/components/ui/styles/global.ts","business/landing-dfa/icons/Close.js","business/landing-dfa/icons/Menu.js","business/landing-dfa/icons/Logos.js","business/landing-dfa/components/LandingLayout/scroll-position.ts","business/landing-dfa/components/ui/theme/base/colors.ts","business/landing-dfa/components/ui/theme/base/breakpoints.ts","business/landing-dfa/components/ui/theme/base/spacing.ts","business/landing-dfa/components/ui/theme/base/transitions.ts","business/landing-dfa/components/ui/theme/base/typography.ts","business/landing-dfa/components/ui/theme/base/borders.ts","business/landing-dfa/components/ui/theme/base/shadows.ts","business/landing-dfa/components/ui/theme/base/index.ts","business/landing-dfa/components/ui/theme/themes.ts","business/landing-dfa/components/ui/theme/provider.tsx","business/landing-dfa/components/Footer/components/AdditionalInfo/index.tsx","business/landing-dfa/components/Footer/components/Address/index.tsx","business/landing-dfa/components/Footer/components/Contacts/index.tsx","business/landing-dfa/components/Footer/components/Links/index.tsx","business/landing-dfa/components/Footer/index.tsx","business/landing-dfa/components/LandingLayout/index.js","business/landing-dfa/middlewares/LandingRender/index.tsx","business/landing-dfa/middlewares/TrackerRender/index.ts","business/landing-dfa/middlewares/MuiThemeProviderRender/index.tsx","business/landing-dfa/state/info/actions.ts","business/landing-dfa/state/info/reducer.ts","business/landing-dfa/state/info/sagas.js","business/landing-dfa/components/FeedbackModal/types.ts","business/landing-dfa/state/info/index.ts","business/landing-dfa/state/feedback/actions.ts","business/landing-dfa/state/feedback/constanst.ts","business/landing-dfa/state/feedback/reducer.ts","business/landing-dfa/state/feedback/sagas.ts","business/landing-dfa/state/feedback/hooks.ts","business/landing-dfa/state/feedback/index.ts","business/landing-dfa/state/index.ts","business/landing-dfa/components/ContactsModal/index.tsx","business/landing-dfa/components/PersonalDataModal/index.tsx","business/landing-dfa/components/FeedbackForm/InvestorBlock/utils.ts","business/landing-dfa/components/FeedbackForm/utils.ts","business/landing-dfa/components/FeedbackForm/CommonBlock/utils.ts","business/landing-dfa/components/FeedbackForm/InvestorBlock/index.tsx","business/landing-dfa/components/FeedbackForm/IssuerBlock/index.tsx","business/landing-dfa/components/FeedbackForm/CommonBlock/index.tsx","business/landing-dfa/components/FeedbackForm/index.tsx","business/landing-dfa/components/ConfirmationCodeForm/index.tsx","business/landing-dfa/components/ConfirmationCode/index.tsx","business/landing-dfa/components/FeedbackModal/utils.ts","business/landing-dfa/components/ConfirmationMessage/index.tsx","business/landing-dfa/components/ConfirmationMessage/types.ts","business/landing-dfa/components/FeedbackModal/index.tsx","business/landing-dfa/index.ts","business/landing-dfa/middlewares/InitializeRender/index.tsx","core/mui/index.ts","core/mui/middlewares/ThemeProviderRender/index.tsx","business/fapp/components/FactorinGrid/CheckableColumn/index.module.scss","business/fapp/components/DocumentsView/index.module.scss","../packages/rest/@factorin/rest/errors.ts","../packages/rest/@factorin/rest/rest.ts","../packages/rest/@factorin/rest/api/account.ts","../packages/rest/@factorin/rest/api/accounts.ts","../packages/rest/@factorin/rest/api/auth.ts","../packages/rest/@factorin/rest/api/banks.ts","../packages/rest/@factorin/rest/api/cessions.ts","../packages/rest/@factorin/rest/api/cessionraws.ts","../packages/rest/@factorin/rest/api/companies.ts","../packages/rest/@factorin/rest/api/companyadmin.ts","../packages/rest/@factorin/rest/api/conveyor.ts","../packages/rest/@factorin/rest/api/cryptoprofiles.ts","../packages/rest/@factorin/rest/api/dictionary.ts","../packages/rest/@factorin/rest/api/discountregisters.ts","../packages/rest/@factorin/rest/api/discounts.ts","../packages/rest/@factorin/rest/api/discountsupplies.ts","../packages/rest/@factorin/rest/api/discountsupplyraws.ts","../packages/rest/@factorin/rest/api/documents.ts","../packages/rest/@factorin/rest/api/factoringagreement.ts","../packages/rest/@factorin/rest/api/fundingrequests.ts","../packages/rest/@factorin/rest/api/individuals.ts","../packages/rest/@factorin/rest/api/members.ts","../packages/rest/@factorin/rest/api/monitoring.ts","../packages/rest/@factorin/rest/api/noticeofcession.ts","../packages/rest/@factorin/rest/api/paymentdistributionraws.ts","../packages/rest/@factorin/rest/api/permissiongroups.ts","../packages/rest/@factorin/rest/api/permissions.ts","../packages/rest/@factorin/rest/api/users.ts","../packages/rest/@factorin/rest/api/profile.ts","../packages/rest/@factorin/rest/api/registers.ts","../packages/rest/@factorin/rest/api/registration.ts","../packages/rest/@factorin/rest/api/reports.ts","../packages/rest/@factorin/rest/api/signs.ts","../packages/rest/@factorin/rest/api/supplies.ts","../packages/rest/@factorin/rest/api/supplyraws.ts","../packages/rest/@factorin/rest/api/system.ts","../packages/rest/@factorin/rest/api/systemconfiguration.ts","../packages/rest/@factorin/rest/api/warrants.ts","../packages/rest/@factorin/rest/api/systemnotifications.ts","business/registration/components/FactorinRegistrationForm/common.module.scss","business/registration/components/DFARegistrationForm/common.module.scss","business/uiCo/components/ClientOfficeModal/index.module.scss","core/forms/components/errorRenderer.ts","core/forms/components/FormField/show.svg","core/forms/components/ArrayErrorsComponent/index.tsx","core/forms/components/FormField/index.tsx","core/forms/components/CalendarField/index.tsx","core/forms/components/CheckboxField/index.tsx","core/forms/components/RadioField/index.tsx","core/forms/index.ts","core/redux/utils/state.ts","ui3/components/CheckboxWithLabel/index.tsx","core/i18n/components/LanguageSelector/index.module.scss","business/data/state/pagination/actions.ts","business/data/state/pagination/reducer.js","business/data/state/storage/actions.ts","business/data/state/storage/sagas.js","business/data/state/pagination/statuses.ts","business/data/state/pagination/utils.ts","business/data/state/pagination/sagas.js","business/data/state/pagination/index.js","business/data/state/storage/reducer.js","business/data/state/storage/index.js","business/data/state/index.js","business/data/utils/index.ts","business/data/components/PaginationCalendarFilterField/index.tsx","business/data/components/PaginationInputFilterField/index.tsx","business/data/components/PaginationCountBadge/index.tsx","business/data/components/PaginationHeader/index.tsx","business/data/components/PaginationLoader/index.tsx","business/data/components/PaginationList/index.tsx","business/data/components/PaginationParametersControl/Dropdown/index.tsx","business/data/components/PaginationParametersControl/index.tsx","business/data/components/PaginationSelect/index.js","business/data/components/PaginationSelectFilterField/index.tsx","business/data/index.js","core/forms/components/CalendarField/index.module.scss","ui3/components/Dadata/index.module.scss","business/environment/components/LoginErrorWindow/index.module.scss","business/environment/components/ApplicationInitialization/index.module.scss","ui2/components/ProgressLoader/index.module.scss","business/data/components/PaginationCalendarFilterField/index.module.scss","business/data/components/PaginationSelectFilterField/index.module.scss","business/fapp/components/ListPlaceholder/index.module.scss","ui2/icons/help.sprite.svg","business/cryptoprofiles/components/CertificateSelector2/index.module.scss","business/landing-dfa/components/LandingLayout/index.module.scss","ui2/icons/info.sprite.svg","business/data/components/PaginationList/index.module.scss","business/data/components/PaginationParametersControl/Dropdown/index.module.scss","business/fapp/components/FactorinGrid/Cells/index.module.scss","core/api/errorFormatter.js","core/api/rest.js","core/api/index.js","core/api/state.js","core/api/middleware.js","business/fapp/components/FactorinGrid/CheckboxHeader/index.module.scss","business/fapp/components/CrudTable/index.module.scss","business/fapp/components/EntitysList/index.module.scss","business/environment/components/FactorinWindow/index.module.scss","ui2/components/ClosingOverlay/index.module.scss","ui2/components/Icon/index.module.scss","ui2/components/Layout/index.module.scss","ui2/utils.tsx","business/uploads/state/actions.ts","business/uploads/state/reducer.js","business/uploads/state/sagas.ts","business/uploads/state/constants.ts","business/uploads/state/hooks.ts","business/uploads/state/index.ts","business/registration/components/ContractorsRegistrationForm/common.module.scss","core/redux/utils/sagas.js","core/helmet/index.js","core/helmet/components/HelmetProvider/index.tsx","ui3/components/Typography/index.tsx","core/redux/utils/ui.ts","business/data/components/PaginationParametersControl/index.module.scss","business/fapp/components/PromptModal/index.module.scss","business/fapp/components/AmountSuppliesPopup/DraggablePopup/index.module.scss","business/fapp/components/RegistersList/index.module.scss","ui2/components/FormControls/index.module.scss","core/forms/components/ArrayErrorsComponent/index.module.scss","core/forms/components/RadioField/index.module.scss","core/messaging/components/UiPortal/index.module.scss","ui3/components/Calendar2/TimePicker/List/index.module.scss","ui3/icons/padlock.svg","core/messaging/components/ErrorModal/index.module.scss","ui2/utils.module.scss","ui2/components/LoadingIndicator/index.module.scss","business/fapp/components/RegistersList/ListItem/index.module.scss","business/registration/components/ContractorsRegistrationForm/Preamble/index.module.scss","ui2/components/LoadingIndicator/index.tsx","ui2/components/Button/index.tsx","ui2/components/CheckBox/index.tsx","ui2/components/Portal/index.tsx","ui2/components/ClosingOverlay/index.tsx","ui2/components/Icon/index.tsx","ui2/components/TransitionComponent/index.tsx","ui2/components/Typography/index.tsx","ui2/components/ProgressLoader/index.tsx","ui2/icons/done.sprite.svg","ui2/icons/drop.sprite.svg","ui2/components/FormControls/index.tsx","ui2/components/Responsive/index.tsx","ui2/components/Layout/index.tsx","ui2/components/PdfContainer/index.js","ui2/components/TabHeader/index.tsx","ui2/components/Tooltip/index.tsx","ui2/icons/arrow.sprite.svg","ui2/components/index.ts","business/forms/RadioGroupField/index.tsx","business/forms/SelectField/index.tsx","business/forms/SliderField/index.tsx","business/forms/CheckboxField/index.tsx","../packages/domain/@factorin/domain/user.ts","../packages/domain/@factorin/domain/companies.ts","../packages/domain/@factorin/domain/api.ts","../packages/domain/@factorin/domain/filtering.ts","../packages/domain/@factorin/domain/reports.ts","../packages/domain/@factorin/domain/processTemplates.ts","../packages/domain/@factorin/domain/users.ts","../packages/domain/@factorin/domain/registers/types.ts","../packages/domain/@factorin/domain/documents/filters.ts","../packages/domain/@factorin/domain/documents/parameters.ts","../packages/domain/@factorin/domain/registers/filters.ts","../packages/domain/@factorin/domain/dfa.ts","../packages/domain/@factorin/domain/registers/utils.ts","../packages/domain/@factorin/domain/registers/parameters.ts","business/registration/components/ContractorsRegistrationForm/FormComponent/index.module.scss","business/data/components/PaginationInputFilterField/index.module.scss","business/data/components/PaginationSelect/index.module.scss","business/fapp/components/FactorinGrid/GridAdapter/index.module.scss","business/fapp/components/FactorinGrid/Filters/index.module.scss","business/fapp/components/EntitysList/UploadButton/index.module.scss","business/fapp/components/EntitysList/TransferButton/index.module.scss","business/fapp/components/ListFilterField/index.module.scss","ui3/icons/AlertF24.tsx","ui3/icons/ExternalLeft24.tsx","ui3/icons/ExternalRight24.tsx","ui3/icons/ExternalUp24.tsx","ui3/icons/ArrowDown24.tsx","ui3/icons/ArrowLeft24.tsx","ui3/icons/ArrowRight24.tsx","ui3/icons/ArrowUp24.tsx","ui3/icons/Calendar24.tsx","ui3/icons/Clock24.tsx","ui3/icons/Close24.tsx","ui3/icons/Document24.tsx","ui3/icons/Download24.tsx","ui3/icons/EyeClose24.tsx","ui3/icons/Eye24.tsx","ui3/icons/File24.tsx","ui3/icons/Box24.tsx","ui3/icons/Info24.tsx","ui3/icons/QuestionRound24.tsx","ui3/icons/MoreHorizontal24.tsx","ui3/icons/Padlock24.tsx","ui3/icons/Plus24.tsx","ui3/icons/Printer24.tsx","ui3/icons/Search24.tsx","ui3/icons/SettingsAlt24.tsx","ui3/icons/StopSign24.tsx","ui3/icons/Check24.tsx","ui3/icons/FileText24.tsx","ui3/icons/ChevronsLeft24.tsx","ui3/icons/ChevronsRight24.tsx","ui3/icons/ArrowsUpdown24.tsx","ui3/icons/Telegram24.tsx","business/fapp/components/RegistersList/DownloadButton/index.module.scss","business/fapp/components/RegistersList/TransferButton/index.module.scss","business/fapp/components/SearchInput/index.module.scss","business/fapp/components/SupplyItem/index.module.scss","business/fapp/components/TwoColumnLayout/index.module.scss","core/config/state/actions.ts","core/config/state/reducer.ts","core/config/state/sagas.ts","core/config/state/hooks.ts","core/config/state/utils.ts","core/config/state/index.ts","core/config/index.ts","core/config/ConfigModule.tsx","core/react/BrowserRouterRender.tsx","core/react/index.tsx","core/redux/history/index.js","core/redux/state/index.js","core/redux/state/middleware.js","core/redux/state/sagas.js","core/redux/state/actions.js","core/redux/state/reducer.js","core/redux/store/index.js","core/redux/ReduxProvider.js","core/redux/index.js","ui2/index.ts","business/landing-dfa/components/ui/index.module.scss","business/environment/state/actions.js","business/environment/state/sagas.js","business/environment/state/reducer.js","business/environment/state/index.js","business/environment/components/FactorinWindow/index.js","business/environment/components/LogoutButton/index.js","business/environment/components/LoginErrorWindow/index.js","business/environment/components/ApplicationInitialization/index.js","business/environment/state/utils.ts","business/environment/InitializationMiddleware/index.js","business/environment/components/ProcessContext/index.js","business/environment/utils/index.ts","business/environment/index.js","business/registration/components/FactorinRegistrationForm/Lead/index.module.scss","business/registration/components/FactorinRegistrationForm/Rate/index.module.scss","business/editor-render/render/HeaderRenderer/index.tsx","business/editor-render/render/ImageRenderer/index.tsx","business/editor-render/render/QuoteRenderer/index.tsx","business/editor-render/render/index.tsx","business/editor-render/render/ParagraphRenderer/index.tsx","business/editor-render/render/ListRenderer/index.tsx","business/editor-render/render/DelimiterRenderer/index.tsx","business/editor-render/render/LinkRenderer/index.tsx","ui3/components/Box/index.tsx","business/cryptopro/thirdparty/cadesplugin_api.js","core/messaging/state/actions.ts","business/editor-render/render/DelimiterRenderer/index.module.scss","business/registration/components/FactorinRegistrationForm/Form/index.module.scss","business/fapp/components/DownloadPopup/index.module.scss","business/registration/components/FactorinRegistrationForm/Rate/Buttons/ErrorBanner/index.module.scss","business/registration/components/DFARegistrationForm/Form/index.module.scss","business/editor-render/render/ImageRenderer/index.module.scss","business/cryptoprofiles/state/certificates/actions.js","business/cryptoprofiles/constants.js","business/cryptoprofiles/state/certificates/filters.js","business/cryptoprofiles/state/certificates/reducer.js","business/cryptoprofiles/state/certificates/sagas.js","business/cryptoprofiles/state/certificates/hooks.ts","business/cryptoprofiles/state/certificates/index.js","business/cryptoprofiles/state/cryptoprofiles/actions.js","business/cryptoprofiles/state/cryptoprofiles/reducer.js","business/cryptoprofiles/state/cryptoprofiles/sagas.js","business/cryptoprofiles/state/cryptoprofiles/index.js","business/cryptoprofiles/state/index.js","business/cryptoprofiles/components/CertificateSelector/index.js","business/cryptoprofiles/components/CryptoProfilesManager/index.js","business/cryptoprofiles/components/CertificateSelector2/index.js","business/cryptoprofiles/components/UpdateCertsButton/index.tsx","business/cryptoprofiles/index.js","business/cryptoprofiles/components/CryptoProfileButton/index.js","ui3/components/Calendar2/index.module.scss","business/registration/components/Fields/Dadata/index.module.scss","business/registration/components/FactorinRegistrationForm/Documents/index.module.scss","business/registration/components/FactorinRegistrationForm/Rate/Tariffs/Prices/index.module.scss","core/messaging/components/Messaging/index.module.scss","ui2/components/Typography/index.module.scss","ui2/components/Slider/index.module.scss","business/registration/components/FactorinRegistrationForm/Rate/Tariffs/Proffits/index.module.scss","core/messaging/components/Messaging/index.tsx","business/fapp/components/FactorinGrid/SortColumnsSettings/index.module.scss","ui3/components/Button/index.tsx","ui3/components/Button2/index.tsx","ui3/components/Grid/index.tsx","ui3/components/Responsive/index.tsx","ui3/components/Tooltip/index.tsx","ui3/components/Icon/index.tsx","ui3/hooks.ts","ui3/components/Input/index.tsx","ui3/components/Counter/index.tsx","ui3/components/RadioGroup/index.tsx","ui3/components/Tab/index.tsx","ui3/components/Tabs/index.tsx","ui3/components/Calendar/Ranges/index.tsx","ui3/components/Dadata/index.tsx","ui3/components/Dropdown/NoOptions/index.tsx","ui3/components/Dropdown/Search/index.tsx","ui3/components/Dropdown/ButtonsContainer/index.tsx","ui3/components/Dropdown/Item/index.tsx","ui3/components/Dropdown/SelectAll/index.tsx","ui3/components/Dropdown/index.tsx","ui3/components/BaseDropdownButton/index.tsx","ui3/components/DropdownPopper/index.tsx","ui3/components/DropdownButton/index.tsx","ui3/components/Calendar2/Ranges/index.tsx","ui3/components/Calendar2/Container/index.tsx","ui3/components/Calendar2/Day/index.tsx","ui3/components/Calendar2/Caption/index.tsx","ui3/components/Calendar2/Navbar/index.tsx","ui3/components/Calendar2/Months/index.tsx","ui3/components/Calendar2/ButtonsContainer/index.tsx","ui3/components/Calendar2/TimePicker/Header/index.tsx","ui3/components/Calendar2/TimePicker/List/Header/index.tsx","ui3/components/Calendar2/TimePicker/List/Item/index.tsx","ui3/components/Calendar2/TimePicker/List/index.tsx","ui3/components/Calendar2/TimePicker/index.tsx","ui3/components/Calendar2/index.tsx","ui3/components/CalendarInput/index.tsx","ui3/components/Badge/index.tsx","ui3/components/IconButton/index.tsx","ui3/components/CloseModalButton/index.tsx","ui3/components/Chip/index.tsx","ui3/components/Slider/index.tsx","ui3/components/Switch/index.tsx","ui3/components/DropdownSelect/index.tsx","ui3/components/FiilterButton/index.tsx","ui3/components/DropdownFilter/index.tsx","ui3/components/Search/index.tsx","ui3/typography.ts","fonts/hinted-subset-Roboto-Light.woff","fonts/hinted-subset-Roboto-Light.woff2","fonts/hinted-subset-Roboto-Regular.woff","fonts/hinted-subset-Roboto-Regular.woff2","fonts/hinted-subset-Roboto-Medium.woff","fonts/hinted-subset-Roboto-Medium.woff2","fonts/hinted-subset-Roboto-Bold.woff","fonts/hinted-subset-Roboto-Bold.woff2","fonts/hinted-subset-UbuntuMono-Regular.woff","ui3/fonts.ts","ui3/palette.ts","ui3/theme.ts","business/downloads/state/actions.ts","business/downloads/state/reducer.ts","business/downloads/state/sagas.js","business/downloads/state/hooks.ts","business/downloads/index.tsx","business/downloads/state/index.ts","core/forms/components/FormField/index.module.scss","business/fapp/components/TransferLayout/index.tsx","business/fapp/components/PromptModal/index.js","business/fapp/state/subscriptions.js","business/fapp/ErrorBoundaryMiddleware/index.js","business/fapp/components/AmountSuppliesPopup/DraggablePopup/index.js","business/fapp/components/AmountSuppliesPopup/index.js","business/fapp/components/FactorinGrid/calculations.ts","business/fapp/components/PopupWithButton/index.tsx","business/fapp/components/FactorinGrid/SortColumnsSettings/index.tsx","business/fapp/components/FactorinGrid/RatiosColumnsSettings/index.ts","business/fapp/components/FactorinGrid/GridAdapter/index.tsx","business/fapp/components/FactorinGrid/Cells/index.ts","business/fapp/components/FactorinGrid/Header/index.tsx","business/fapp/components/FactorinGrid/Filters/index.tsx","business/fapp/components/FactorinGrid/constants.ts","business/fapp/components/FactorinGrid/CheckableColumn/index.tsx","business/fapp/components/FactorinGrid/Body/index.tsx","business/fapp/components/FactorinGrid/CheckboxHeader/index.tsx","business/fapp/components/FactorinGrid/index.tsx","business/fapp/components/CrudTable/index.js","business/fapp/components/Dock/index.js","business/bapp/state/actions.ts","business/fapp/components/DownloadPopup/index.tsx","business/fapp/components/DocumentItem/DownloadButton/index.js","business/fapp/components/DocumentItem/index.js","business/fapp/components/EntitysList/UploadButton/index.tsx","business/fapp/components/EntitysList/TransferButton/index.tsx","business/fapp/components/EntitysList/Checkbox/index.tsx","business/fapp/components/ListFilterField/index.tsx","business/fapp/constants.ts","business/fapp/components/EntitysList/index.js","business/fapp/components/FactorinView/index.js","business/fapp/components/DocumentsView/index.js","business/fapp/components/ListPlaceholder/index.js","business/fapp/components/RegistersList/DownloadButton/index.tsx","business/fapp/components/RegistersList/ListItem/index.tsx","business/fapp/components/RegistersList/TransferButton/index.tsx","business/fapp/components/RegistersList/index.tsx","business/fapp/components/SearchInput/index.js","business/fapp/components/SupplyItem/index.js","business/fapp/components/TwoColumnLayout/index.js","business/fapp/index.js"],"names":["steps","RegistrationStep","step","className","styles","tabs","value","symbol","SpriteSymbol","sprite","add","DownloadSpriteSpriteSymbol","props","viewBox","xlinkHref","getPublicLink","clientofficeUrl","Uid","PublicDocumentsList","useState","docs","setDocs","useSelector","useEffect","wrapRequest","rawRequest","method","url","headers","Accept","contentTypeJson","then","component","weight","textSize","map","doc","download","href","icon","DocumentTypeName","FileExtension","substr","bytes","FileSize","decimalPlaces","CommercialTerm","title","description","clarification","commercialTerm","termClarification","commercialTerms","DefaultCommercialTerms","size","commercialTermItems","element","index","tanderCommercialTerms","TanderCommercialTerms","note","invoiceMarketCommercialTerms","sberComercialTerms","commercialTermsComponents","Preamble","children","pathname","useLocation","CommercialTermsComponent","preamble","style","display","tooltip","commonStyles","infoIcon","help","heading","link","step1","WarningSpriteSpriteSymbol","bowser","Bowser","NoCertificateComponent","state","busy","updateCertificates","a","setState","delay","t","this","warning","errorIcon","variant","type","button","disabled","onClick","React","PureComponent","filterCertificates","cert","getAlgorithm","oid","Object","keys","allowedOids","includes","Promise","all","getOwnerInfo","exportBase64","info","base64","thumbprint","label","CryptoProImport","initCertificates","setStage","mobile","tablet","getCertsList","allCerts","Array","certificates","from","filter","data","length","EmptyCertificateListError","cryptoProPluginDownload","additionalLink","cryptoProLinks","name","details","message","SuccessSpriteSpriteSymbol","roles","phoneMask","phoneValidation","getError","key","v","isIPINN","inn","ogrnValidation","checkOgrn","ogrnipValidation","checkOgrnip","validationNone","getFromInfo","getInnFromInfo","startsWith","substring","isIPCert","mapCertInfo","surname","firstName","middleName","role","email","company","kpp","ogrn","isIndividual","snils","checkSnils","formattedSnils","formMutators","setCertificate","changeValue","getter","saveFormData","values","certificate","rest","window","localStorage","setItem","JSON","stringify","resetFormData","removeItem","initialValues","roleOverride","savedData","getItem","parse","parsedData","savedTumbprint","findSavedCertificate","nameParts","formDataMap","Surname","FirstName","MiddleName","Email","PhoneNumber","CompanyName","CompanyINN","CompanyKPP","SNILS","CompanyOGRN","AllowUsePersonalData","Base64Certificate","UserRoleUid","CertificateField","wrapFormComponent","onChange","mutate","ellipsis","useCallback","SelectField","Select","InputField","Input","CheckBoxField","CheckBox","RegistrationForm","form","submitForm","clientOfficeUri","landingOwnerUid","resolve","apiValues","requestUrl","config","basePath","LandingOwnerUid","Created","timer","ConfirmCodeRequestRemaining","error","fixedRole","mutators","subscription","hasValidationErrors","onSubmit","handleSubmit","row","validate","validators","required","select","options","placeholder","offset","pipe","needInitialValidate","mask","id","is","checkboxField","marginTop","linkClass","linkAnchorClass","errors","errorsContainer","errorsLabel","loading","getDerivedStateFromProps","FormComponent","connect","landing","ResendLetterComponent","tick","clearInterval","resendLetter","params","setInterval","minutes","Math","floor","seconds","padStart","buttons","secondary","ResendLetter","supportedBrowsers","BROWSER_MAP","ie","opera","edge","firefox","chrome","yandex","android","samsung_internet","safari","uc","stages","cryptoProImport","formEntry","success","successIcon","failure","platformNotSuported","color","browserNotSuported","cryptoProPluginAbout","pluginNotInstalled","noCertificate","ContractorsRegistrationForm","useTranslation","Component","satisfies","stage","cn","errorDetails","ParticipantOption","short_with_opf","replace","ParticipantInput","forwardRef","ref","active","onValueChange","readOnly","oldActive","usePrevious","oldData","oldOldData","undefined","target","Option","option","visibleValue","needEvent","ParticipantSelect","inputProps","token","suggestionsClassName","suggestions","suggestionClassName","suggestion","customInput","autoComplete","containerClassName","container","renderOption","participant","ParticipantSelectField","onBlur","onFocus","ParticipantSelectFieldWithMutate","PersonalDataError","DocumentsArrowSpriteSpriteSymbol","Documents","memo","isDefaultOpen","isOpen","setOpen","Button","open","documentsArrow","in","timeout","animation","useRequest","path","mapFormValuesToApi","onSuccess","onError","setBusy","request","withCredentials","result","RegistrationSpriteSpriteSymbol","INN","phone","CheckSpriteSpriteSymbol","NonCheckSpriteSpriteSymbol","Proffit","isSelected","isMobile","useMobile","item","selected","proffits","Proffits","onlySelected","PriceCard","onSelect","priceKey","selectedClassName","priceTextSize","useRef","buttonRef","current","setTimeout","top","getBoundingClientRect","scrollTop","document","documentElement","body","scrollToTop","clearTimeout","arrow","Prices","price","mapData","Tariffs","MobileTariffs","buttonProps","mobileProffit","WarningBannerSpriteSpriteSymbol","ErrorBanner","onClose","height","setHeight","handleDrag","e","deltaY","handleStop","abs","FULL_HEIGHT","axis","defaultClassName","defaultClassNameDragging","dragHandleActive","onDrag","onStop","bounds","position","y","cancel","content","handle","header","zIndex","darken","mapLeadForRequest","IsMobile","ShowErrorButton","leadResult","isShow","showError","sendMobileLead","TariffTypeCode","showErrorWithSendLead","ContinueButton","showForm","Email2","email2","RegisterButton","onReject","sendRequest","tariffs","application","factoring","factoringPrice","majors","majorsPrice","mobileTariffs","PluginNotInstalled","certInn","isIP","RegistrationSuccessSpriteSpriteSymbol","RegistrationFailureSpriteSpriteSymbol","lead","field","hidden","imgContainer","documents","rate","setSelected","certificateOptions","useMemo","rolesOptions","disabledFields","companyValidation","personalData","successLite","useTimeoutEffect","resultLiteIcon","to","failureLite","failureINNLite","FactorinRegistrationForm","componentProps","width","progress","ogrnValidator","getOgrnFromInfo","onCompanyChange","DFARegistrationForm","Support","support","contacts","registration","translations","Tracker","accountIds","location","page","ym","accounts","defer","version","getTrackerRender","Next","useConfig","yandexMetrics","module","exports","initialLanguage","i18nextParameters","supportedLngs","fallbackLng","lng","debug","process","interpolation","escapeValue","react","useSuspense","i18n","i18next","use","initReactI18next","init","resources","setLocale","language","on","notificationRenderer","translate","textType","formsErrorRenderer","languages","LanguageSelector","classNames","languageChanged","setLanguage","changeLanguage","find","visible","setVisible","showPopup","hidePopup","selector","languageSelector","actionTypes","LANGUAGE_CHANGED","i18nActions","createAction","ConnectedLanguageSelector","i18nInstance","API","errorFormatter","messaging","forms","errorRenderer","lookupTableReducer","messagingActions","enqueue","updateModalProps","m","hideMessage","closeAll","isModal","isInfoError","getErrorTitle","hideMessageTimeout","showNotification","showModal","put","actions","messageId","$payload","duration","notification","fork","modal","closeable","withHideModal","next","hideModalWrapper","modalId","withErrorHandler","errorHandlerWrapper","errorText","reducer","sagas","takeEvery","UiPortal","uiPortal","ErrorModal","useModalContext","close","useAction","py","px","spacing","alignItems","bgcolor","borderRadius","maxWidth","variantType","containerClass","modalTypes","renderChain","Messaging","iconPxForSize","medium","small","BpIcon","sx","minWidth","border","borderColor","backgroundColor","CheckIcon","fill","xmlns","fillRule","clipRule","d","Checkbox","checked","palette","padding","grayscale","shade0","checkboxClasses","colorPrimary","colorSecondary","shade80","checkedIcon","disableRipple","coModalClassNames","standardSizeModal","COModal","standard","useMemoNoWarn","useEffectNoWarn","useCallbackNoWarn","useMemoDeps","factory","deps","defaultValue","callback","useInputOnChange","Symbol","isHtml","unwrapHtml","customTranslateFn","valuesInner","translatedValues","translateComplexExpression","translated","setHtml","namespaces","withTranslation","useI18nTranslation","customT","constants","AUTHENTICATED_ATTRIBUTE_SIGNING_TIME","CAPICOM_PROPID_UNKNOWN","CAPICOM_PROPID_KEY_PROV_HANDLE","CAPICOM_PROPID_KEY_PROV_INFO","CAPICOM_PROPID_SHA1_HASH","CAPICOM_PROPID_HASH_PROP","CAPICOM_PROPID_MD5_HASH","CAPICOM_PROPID_KEY_CONTEXT","CAPICOM_PROPID_KEY_SPEC","CAPICOM_PROPID_IE30_RESERVED","CAPICOM_PROPID_PUBKEY_HASH_RESERVED","CAPICOM_PROPID_ENHKEY_USAGE","CAPICOM_PROPID_CTL_USAGE","CAPICOM_PROPID_NEXT_UPDATE_LOCATION","CAPICOM_PROPID_FRIENDLY_NAME","CAPICOM_PROPID_PVK_FILE","CAPICOM_PROPID_DESCRIPTION","CAPICOM_PROPID_ACCESS_STATE","CAPICOM_PROPID_SIGNATURE_HASH","CAPICOM_PROPID_SMART_CARD_DATA","CAPICOM_PROPID_EFS","CAPICOM_PROPID_FORTEZZA_DATA","CAPICOM_PROPID_ARCHIVED","CAPICOM_PROPID_KEY_IDENTIFIER","CAPICOM_PROPID_AUTO_ENROLL","CAPICOM_PROPID_PUBKEY_ALG_PARA","CAPICOM_PROPID_CROSS_CERT_DIST_POINTS","CAPICOM_PROPID_ISSUER_PUBLIC_KEY_MD5_HASH","CAPICOM_PROPID_SUBJECT_PUBLIC_KEY_MD5_HASH","CAPICOM_PROPID_ENROLLMENT","CAPICOM_PROPID_DATE_STAMP","CAPICOM_PROPID_ISSUER_SERIAL_NUMBER_MD5_HASH","CAPICOM_PROPID_SUBJECT_NAME_MD5_HASH","CAPICOM_PROPID_EXTENDED_ERROR_INFO","CAPICOM_PROPID_RENEWAL","CAPICOM_PROPID_ARCHIVED_KEY_HASH","CAPICOM_PROPID_FIRST_RESERVED","CAPICOM_PROPID_LAST_RESERVED","CAPICOM_PROPID_FIRST_USER","CAPICOM_PROPID_LAST_USER","oids","subjectNameTagsTranslations","possibleNames","translation","issuerNameTagsTranslations","regexes","infoString","group","test","match","quotes","first","second","parseCertInfo","tags","parts","descr","oidTitle","some","tag","possible","parseGroup","errorsText","hash","PluginNotInstalledError","constructor","__proto__","prototype","Error","PluginNotAvailableError","CertificateNotValidError","GetCertificatePropError","ExportCertificateError","GetCertificateAlgorithmError","GetCertificateInfoError","OpenStoreError","GetCertificateListError","ProcessingCertificateListError","ThumbprintNotSpecifiedError","CertificateNotFoundError","GetCertificateForHashError","InstallSignDataError","InstallHashDataError","InstallSignSettingsError","CreateSignError","wrapMethod","Certificate","isValid","_cert","IsValid","validation","Result","getProp","propName","Export","PublicKey","publicKey","Algorithm","algorithm","FriendlyName","Value","getInfo","propInfo","getIssuerInfo","subjectName","issuerName","validFrom","Date","validTo","formatDateTime","$certs","cadesplugin","set_log_level","LOG_LEVEL_ERROR","call","func","console","log","createObject","args","CreateObjectAsync","CreateObject","propset","object","property","createAndOpenStore","store","Open","CAPICOM_CURRENT_USER_STORE","CAPICOM_MY_STORE","CAPICOM_STORE_OPEN_MAXIMUM_ALLOWED","getCerts","Certificates","certs","Find","CAPICOM_CERTIFICATE_FIND_TIME_VALID","CAPICOM_CERTIFICATE_FIND_EXTENDED_PROPERTY","cryptoConstants","getCount","Count","count","getCertificateItem","number","Item","Thumbprint","SubjectName","IssuerName","ValidFromDate","ValidToDate","getCertificateItemList","list","i","push","Close","getCert","getCadesCert","CAPICOM_CERTIFICATE_FIND_SHA1_HASH","filtered","installSignatureData","attrs","clientTime","installHashData","hashedData","hashAlg","dataHash","SetHashValue","installSignatureSettings","signer","oAttrs","AuthenticatedAttributes2","Add","CAPICOM_CERTIFICATE_INCLUDE_END_ENTITY_ONLY","createSignature","oSignedData","oHashedData","oSigner","SignHash","CADESCOM_CADES_BES","signature","signHash","dateObj","getVarDate","extensions","mergeExtensions","require","redux","api","helmet","mui","landingDfa","theme","applyContainer","build","runApplication","MonitorCardsCodes","RouteContext","createContext","ContentBox","backgroundImage","withBorder","isTablet","useTablet","overflow","backgroundRepeat","backgroundSize","backgroundPosition","AccentButton","isDesktop","useDesktop","fullWidth","typography","mediumBody1","isArray","PR_EMAIL","ASK_EMAIL","PARTNER_EMAIL","OPERATOR_EMAIL","LANDING_DOMAIN_PATH","advantages","text","ideas","image","Doc","Cart","Puzzle","toKnow","issuerCompanies","releaseDfaSteps","clients","unqualified","arr","helps","additional","InfoBlock","p","mb","src","fileUrl","alt","lineHeight","mt","Step","last","flex","direction","Divider","NumberedSteps","idx","newsGlider","Glide","startAt","perSwipe","gap","perView","breakpoints","descisions","query","getState","opermoduleUrl","apiPath","NEWS_DOMAIN_PATH","newsPart","withUrl","news","neighbours","get","documentsPart","emissionPart","emission","withUsPart","withUs","itemList","feedbackPart","feedback","sendCode","post","sendForm","InvestorType","Role","InvestorStatus","monitoringPart","monitoring","useNavigate","route","useHistory","getIdFromAnchor","anchor","useListTranslate","tKey","el","NewsTag","noWrap","textOverflow","NewsPreview","Description","Id","Tags","Title","goToDetail","maxHeight","WebkitLineClamp","WebkitBoxOrient","formatDate","cursor","NewsSlideContainer","flexDirection","whiteSpace","minHeight","NewsSlide","needShow","onVisible","isVisible","Skeleton","userSelect","webkitUserSelect","khtmlUserSelect","mozUserSelect","msUserSelect","TitleH1","fontSize","fontWeight","SectionTitleH1","TitleH2","TitleH3","Slider","glider","elementsViewCount","overflowSizePx","slidesData","Slide","slideComponent","gliderRef","mount","disable","enable","go","update","slideIndex","ControlsContext","useControlsContext","useContext","ControlButton","isRound","Dots","PageNumberButton","pageNumber","onPageNumber","currentPage","PagingControls","onNext","onPrevious","pageCount","showNumbers","Provider","SliderControls","slidesCount","setCurrentPage","ceil","useSliderPagination","parameters","usePaginationRequests","storage","needFetch","fetching","allLoaded","elements","total","totalElements","needShowElement","disableSlider","News","rowCount","slidesViewCount","useMediaSwitch","slides","colCount","max","slide","currentElementIndex","rowIndex","pickElementIndex","getNewsSlidesArray","alignSelf","landingAnchorRoutes","issuers","investors","partners","PageContainer","withMainButton","toMain","mx","startIcon","partnersGlider","PartnerSlideContainer","isBig","justifyContent","PartnerSlide","rowDirection","columns","imgKey","flexWrap","alignContent","partner","file","Partners","countPerSlide","overflowSize","monitoringAction","createActionNamespace","monitoringActions","getMonitoringList","setMonitoringList","actionLookup","_","apiCall","takeLatest","augmentSaga","Paragraph","TOOLTIP_CODES","K1","K2","K3","K4","K5","ElementWrapper","gridItemSpacing","desktop","MonitoringBlock","monitorElements","updatedData","reduce","code","K7","date","K6","Link","underline","textProps","componentPropsTooltipSx","ABOUT","MainInfo","showFeedback","pl","pr","DesktopDfa","TabletDfa","MobileDfa","sizes","full","css","tight","ContainerStyle","styled","div","space","mediaQueries","lg","halfSizesMap","half2","md","$size","Container","ContainerSize","errorTypes","errorKeys","MainStyle","Main","forwardedAs","Placeholder","NewsDetail","RenderContent","newsAction","newsActions","setStatus","setError","status","getNewsItem","screenType","newsItem","itemData","storageActions","receive","Render","Content","Neighbours","NotFoundError","itemNotFoundError","unknownError","SocialBadge","Icon","rel","shade40","TelegramButton","Telegram24","emissionAction","emissionActions","getEmissions","setEmissionLoading","setEmissionError","setEmissionItems","isLoading","setEmissionsLoading","emissions","LoaderSize","LoaderColor","InlineLoaderColor","useGetItems","loadAction","actionPayload","load","ContainerBox","EmissionTypography","DocumentLink","statusColor","acception","closed","other","DocumentCell","column","CellContainer","columnWidth","Header","columnsWidth","onScroll","pb","borderBottom","BodyRow","Cell","rotation","keyframes","LoaderStyle","$color","colors","LoaderCircleBgStyle","circle","$thickness","LoaderCircleFgStyle","circumference","r","PI","Loader","thickness","pxSize","center","radius","cx","cy","span","Body","showLoader","msOverflowStyle","scrollbarWidth","rowData","EmissionssTable","mobileWidth","tableProps","headerRef","bodyRef","onHeaderScroll","scrollLeft","currentTarget","onBodyScroll","dateObject","castDate","toLocaleString","day","month","getFullYear","StringCell","sortable","EmitentName","Files","Kind","Data","KindName","MediaType","Size","unitSeparator","IssuedDate","fixedWidth","issuer","placement","statusextended","circulationperiod","decision","signUrl","flexShrink","repayment","emissionsColumns","Emissions","displayedData","slice","File","fileType","FilesContainer","files","filesColumns","col","DocumentsCommon","titleButtons","defaultOpen","setIsOpen","align","event","stopPropagation","prev","onMouseUp","blur","Collapse","pt","subtitle","documentsAction","documentsActions","getDocs","setLoading","useDocs","formatting","formatGeneralDocuments","checklist","GeneralDocuments","documentsLoading","useGeneralDocumentsProps","findChecklist","formatDocuments","downloads","templates","formatUlPartnerDocuments","RegistrationDocuments","ipDocuments","ipDocumentsLoading","companyDocuments","companyDocumentsLoading","flPartnerDocuments","flPartnerDocumentsLoading","useRegistrationsDocuments","routes","home","showFeedbackIssuer","formValues","ISSUER","showPartnerContacts","IssueBg","IssueImage","BuyBg","BuyImage","Showcase","SellBg","SellImage","anchors","onboarding","isRed","newsdetail","useParams","useStorageItem","information","emissionsLoading","headerRoutes","GlobalStyle","createGlobalStyle","background","fontSizesMap","xs","primary","primaryHover","primaryVisited","transform","Menu","DFALogo","stroke","strokeWidth","x","filterUnits","colorInterpolationFilters","floodOpacity","mode","in2","stdDeviation","x1","y1","x2","y2","gradientUnits","stopColor","noop","primaryPressed","primaryContrast","accent","accentContrast","accentContrastSecondary","accentDarken","accentControlBg","accentBorder","accentBorderHover","errorHover","errorPressed","errorContrast","warningHover","warningPressed","warningContrast","successHover","successPressed","successContrast","sm","xl","breakpointsMap","half0","half1","half3","half4","spaceMap","xxl","xxxl","fast","med","norm","ease","inSine","outSine","inOutSine","inQuad","outQuad","inOutQuad","inCubic","outCubic","inOutCubic","inQuart","outQuart","inOutQuart","inQuint","outQuint","inOutQuint","inExpo","outExpo","inOutExpo","inCirc","outCirc","inOutCirc","inBack","outBack","inOutBack","fontSizes","xxxs","xxs","fontSizesMobileMap","borderRadiuses","borderRadiusesMap","boxShadows","transitions","borders","shadows","themeLight","themeBase","secondaryHover","secondaryPressed","secondaryContrast","backgroundDarken","foreground","overlay","shadowLight","shadowDark","textSecondary","textContrast","accentText","borderActive","borderHover","borderLight","controlBg","popupMenuItemBgActiveHover","themeDefault","ThemeProvider","AdditionaInfo","Address","CONTACTS","Contacts","descriptionVariant","contactWidth","Links","links","scrollOffset","scrollCallback","yCoordinate","pageYOffset","yOffset","scrollTo","behavior","scrollWithOffset","linkVariant","NavHashLink","exact","smooth","scroll","Footer","dfaLogoHeight","margin","borderTop","useLayoutEffect","showAuthorization","menuIsOpen","logoLink","logo","headerLink","innerClassName","linkContent","coRegistration__wrapper","coRegistration","NavLink","activeClassName","activeLink","mobileMenu","LandingLayout","isHeaderLocked","headerHeight","scrollHidden","setScrollHidden","lastScroll","delta","useScrollWatcher","setScrollPosition","requestRunning","handleScroll","requestAnimationFrame","addEventListener","removeEventListener","useScrollPosition","headerLocked","setHeaderLocked","headerOverlay","setHeaderOverlay","fixedHeader","showHeader","transparentHeader","allRoutes","Rus","render","createElement","TrackerRender","accurateTrackBounce","clickmap","trackLinks","webvisor","muiTheme","createTheme","toFixed","typographyOptions","c","infoAction","infoActions","set","lang","staticUrl","about","history","Values","FeedbackModalStage","feedbackAction","feedbackActions","setCodeSendTime","FEEDBACK_PATH","SENDED_CONFIRMATION_TIME","SENDED_CONFIRMATION_TIME_PATH","initialState","time","getEmailCodeSendedTime","sendCodeRequest","withBusyWrapper","busyWrapper","sendedConfirmations","currentTime","getTime","sendedTime","differenceInSeconds","CONFIRMATION","isError","errorMessage","formValuesToApiMap","investorStatus","investorType","Name","INVESTOR","PlacementAmount","ProfitabilityRate","AttractionAmount","AttractionAmountCost","ConfirmationCode","FINAL","useFeedbackBusy","mergeStateParts","ContactsModal","modalStyles","modalClass","PersonalDataModal","hide","scrollable","investorTypes","FL","UL","IP","QUALIFIED","NONE_QUALIFIED","useRateValueFormatter","Number","isFinite","toString","needInnTypes","innValidatorsByRole","requiredKey","equal","useFormState","rateFormatter","context","SliderField","min","valueLabelFormat","groupLabel","RadioGroupField","mountOnEnter","unmountOnExit","intValuesHelpers","tabsOptions","componentByRoleMap","obj","tab","basePrices","PRICE_LIMITS","CommonBlock","useForm","change","getFieldState","gray","maxLength","format","onKeyPress","fieldState","formatCurrency","clickable","SelectedTabComponent","FeedbackForm","submit","showApprovalModal","showApproval","preventDefault","dirtyFields","keepDirtyOnReinitialize","boxSizing","CheckboxField","typographyProps","CodeForm","digitsCount","onCodeEnter","digits","setDigits","inputRefs","createRef","keyDown","selectionStart","focus","cursorPosition","newDigits","join","autoFocus","onKeyDown","InputProps","textAlign","mediumHeader1","SendCode","onRequestCode","codeTime","useCodeTime","setTimer","disableSend","timeDeltaSeconds","countDown","ConfimationCode","goBack","INIT","absolute","my","initialFormValues","ConfimationMessage","FeedbackModal","requestCode","domain","BrowserRouterRender","initialize","ApiError","response","NotAuthorizedError","ForbiddenError","UnknownError","mayHaveBody","contentTypeErrorJson","checkContentType","extractUnicode","fileName","extractFilename","getFilename","responseType","contentType","onDownloadProgress","onUploadProgress","setCancel","hasBody","requestQuery","arrayFormat","requestParameters","cancelToken","axios","patch","remove","createApiCaller","accountPart","accountsPart","authPart","create","auth","check","stsLoginUrl","redirectUrl","stsLogoutUrl","identityToken","tokens","Code","RedirectUrl","refreshTokens","refreshToken","RefreshToken","banksPart","cessionsPart","sessionRawsPart","cede","registerUid","confirm","uids","Confirm","SupplyUids","companiesPart","companies","clientprofiles","companyAdminPart","companyUsers","isEIO","changePassword","conveyorCessionsPart","cryptoProfilesPart","supplyUids","reasonUid","ReasonUid","Comment","Uids","cryptoProfiles","base64certificate","dictsMethod","dict","userTemplates","dicts","supplies","rejectReasons","registers","statuses","platformParticipants","processTemplates","processTemplateInstances","documentTypes","reports","types","periods","contractorroles","userRegisterTemplates","currency","discountRegistersPart","discountsPart","discountSuppliesPart","discountSupplyRawsPart","upload","uploadWarrant","registerHashes","registerUids","hashAlgorithm","documentHash","documentId","downloadProtocol","factoringAgreementsPart","fundingrequestsPart","getByOrder","orderAgreementUid","fundingrequestsrawsPart","individuals","readUpdate","individualsPart","membersPart","amount","noticeOfCessionPart","paymentDistributionRawsPart","getByRegister","permissionGroupsPart","permissionGroups","addPermission","permissionIds","removePermission","permissionsPart","permissions","usersPart","users","addPermissionGroup","permissionGroupIds","removePermissionGroup","NewPassword","resetPassword","unblock","profilePart","profile","userInfo","newpassword","oldpassword","individualInfo","registersPart","registrationPart","downloadExcel","registerType","acknowledge","Stage","validateBySource","uid","isOk","changeStage","finance","cessionsUids","Finance","CessionsUids","downloadRegistersInExcel","notice","reportsPart","signsPart","multiSignsPart","signs","relatedSigns","parentSignature","childSignatures","ParentSignature","ChildSignatures","multiSigns","signatures","Signatures","suppliesPart","cessionRawsPart","systemPart","system","systemConfigurationPart","warrantsPart","_path","alphanumeric","cyralphanumeric","surnameNameMiddlename","sample","nospace","nummin","nummax","integer","finite","specSymbols","upperCase","digital","incorrectDate","ArrayErrorsComponent","_excluded","_extends","assign","arguments","source","hasOwnProperty","apply","_objectWithoutProperties","excluded","sourceKeys","indexOf","_objectWithoutPropertiesLoose","getOwnPropertySymbols","sourceSymbolKeys","propertyIsEnumerable","SvgShow","_ref","svgRef","titleId","ForwardRef","withFormField","focused","input","meta","touched","pristine","formField","isFocused","hasError","isRequired","wrapper","TextAreaField","withClassName","textarea","withIcon","PasswordField","show","setShow","password","checker","valid","emailRegex","emailsRegex","loginRegex","fioChecker","defaultValidators","arg","errorKey","requiredArray","checkINN","isKpp","login","emails","contactFIO","eq","has","notSpecSymbols","formatter","isNaN","diff","differenceInCalendarDays","dateTime","differenceInMinutes","finalProps","buttonCaptions","en","reset","today","ru","TranslatedCalendarInput","calendarInput","calendar","locale","CalendarField","onChangeMutate","CheckboxWithLabel","RadioField","radio","htmlFor","prefixTypes","prefix","createActionWithPath","defaultState","lookupTable","reducePath","applyPath","action","bindPathActions","pathActions","dispatch","mapReducerParts","mapSagasParts","joinStateParts","createPrefixed","prefixes","actionCreator","namespace","withPrefixes","withPath","ml","control","paginationAction","paginationActions","setParameters","setParametersThrottled","setQueue","setTotal","markDirty","requestRefresh","linkQueue","receiveRefresh","massMarkDirty","markDirtyByType","refresh","reducerRefresh","massRefresh","defaultPathState","filters","sorting","descending","dirty","queue","start","stop","elem","storageAction","receiveWithUpdate","resetError","loadItem","saveItem","loadStorageItem","saveStorageItem","initializeStorage","updated","paginationStatuses","getDomainTypeFromPath","split","shift","fetchData","requestWithRefresh","performGenericRequest","performRequest","performRequestWithRefresh","refreshPagination","massRefreshPaginations","refreshAllPaginations","getPagedParameters","pageSize","overflowLeft","overflowRight","pagination","mapSortingToApi","mapFiltersToApi","environment","wampList","Page","ItemsCount","mapToStorage","setQueueStatus","PENDING","oldTotal","COMPLETE","ERROR","genericRequest","requestTask","isCancelled","CANCELLED","take","pathToCancel","getUpdatedPaginationsPaths","entity","paginations","applyFiltersLocal","EntityType","oldEntity","oldUpdatedPaginationsPaths","newEntity","newUpdatedPaginationsPaths","domainsExtendProps","transportRegisters","omitFields","updatedPaginations","throttle","$errors","usePagination","useStorage","itemId","usePaginationCreate","hasPagination","useRefreshPaginationOnUnmount","usePaginationFilter","mapToParameters","partOfField","mapFilters","changeFilterValue","fetch","newStop","paginationElements","isInteger","itemsLoading","itemsLoaded","setElements","usePaginationFilters","setFilters","PaginationCalendarFilterField","mapFromDateToFilter","formatDateOnlyForBackend","mapToDateToFilter","calendarContainer","divider","PaginationInputFilterField","onFilterChange","currentValue","PaginationCountBadge","refreshOnDirty","requestTotal","prevDirty","PaginationHeader","updateAnytime","Buttons","notifyDirty","setNotifyDirty","useUpdateOnlyEffect","hideTimer","paginationHeader","headingType","keepInDOM","InPlacePopup","alignment","getNonPendingRequests","forceUpdateContainer","startIndex","resetAfterIndex","_getItemStyleCache","forceUpdate","PaginationLoaderClass","requests","infiniteLoaderRef","containerRef","currentlyRendered","visibleStartIndex","visibleStopIndex","resetInfiniteLoaderCache","resetloadMoreItemsCache","resolvePendingRequests","forEach","refreshWhenDirty","oldPagination","becameDirty","isItemLoaded","loadMoreItems","stopIndex","prevProps","placeholderRenderer","loadingRenderer","itemCount","Loading","containerProps","noItems","minimumBatchSize","threshold","onItemsRendered","multipleRef","indices","PaginationLoader","ListProxy","forwardedRef","listRef","useRemUpdatedCallback","guidPattern","firstElementLoaded","isGuid","getFirstUpdatedIndex","shouldComponentUpdate","bind","selectedId","onRowSelected","paginationQueue","ElementRenderer","elementRenderer","onRowSelect","queueStatus","PaginationListClass","virtualizedList","recalculateRowHeights","prevPaginationQueue","updatedQueue","resetStart","rowHeightAsFunction","rowHeight","renderPlaceholder","textCompact","placeholderText","needFirstRowSelect","itemSize","PaginationList","defaultProps","innerProps","innerRef","isDisabled","Dropdown","getValue","dropdownOptions","opt","onDropdownClick","onChangeCallback","dropdown","searchable","components","PaginationParametersControl","valueLookup","tabSliderSelectorValue","val","cache","setCache","getCached","onTabChange","onChangeDropdownValue","dropdownIdx","selectorOptions","positioner","ValueContainer","SingleValue","useSelectPagination","defaultParameters","isLoaded","isCreate","useOptions","mapValueToOptions","mapItemToOption","setOptions","mapToOptions","defaultMapSearchToFilters","PaginationSelect","maxResults","mapSearchToFilters","overflowKey","loadingMessage","customComponents","customMenuList","CustomMenuList","MenuList","Select2","needLoading","prevIsLoaded","onInputChange","inputValue","newParameters","filterOption","valueContainer","MultiValue","itemContainer","MultiValueLabel","MultiValueRemove","PaginationSelectFilterField","clearable","noOptionsMessage","initializationSagas","changeLanguageSagas","user","changeUserRoleSagas","HelpSpriteSpriteSymbol","InfoSpriteSpriteSymbol","notAuthorized","forbidden","notFound","unknown","tooLarge","saveAsFile","filename","fileSaver","readBlobJson","blob","reject","reader","FileReader","onload","err","onerror","readAsText","webApiCaller","requestHeaders","getResponseAsJSON","json","Blob","saveAs","wrapApi","callApi","callArgs","getFromPublicDir","pathPrefix","wrap","middleware","stateMap","grabCursor","html","dangerouslySetInnerHTML","__html","setRef","refs","uploadsAction","uploadsActions","progressUpload","finishUpload","uploadFileWithProgress","paginationPath","maxSizeMB","uploadMaxSize","maxSize","FormData","append","formDataKey","additionalInfo","formData","k","progressChannel","createUploadChannel","runChannel","REDUCER_NAME","useUploads","createRequestChannel","progressType","eventChannel","emitter","onProgress","totalLength","lengthComputable","getResponseHeader","indeterminate","loaded","done","END","createDownloadChannel","channel","getProgressAction","getFinishAction","saga","wrapperSagas","reduceRight","wrapperSaga","aurmenter","withConnectedRouter","router","useSelectorCustom","selectorFunc","useDispatch","useConnectedRouter","LoadingIndicator","loadingIndicator","rx","onMouseDown","tabIndex","markComponents","checkbox","radiobutton","mark","root","getElementById","Portal","ReactDOM","createPortal","ClosingOverlay","tryInvoke","closingOverlay","TransitionComponent","CSSTransition","enter","exit","enterActive","enterDone","applyEllipsis","Label","componentRef","Text","standalone","Note","DropSpriteSpriteSymbol","ControlIcon","VisibleValue","inputRef","maskChar","hasIcon","labelUp","visibleOption","errorLabel","shadow","noFilter","SearchIcon","search","SelectOption","selectProps","selectOption","searchPlaceholder","noOptionsPlaceholder","toggleOpen","onSelectBlur","onMenuOpen","selectStyles","provided","opacity","menu","boxShadow","menuList","overflowY","selectedOption","selectButton","drop","selectMenu","reactSelect","IndicatorSeparator","DropdownIndicator","backspaceRemovesValue","isSearchable","Desktop","Mobile","useMediaQuery","GridRow","GridColumn","flexBasis","marginLeft","TabHeader","tabHeader","passive","Tooltip","UI2Migration","fontFamily","helper","SelectedValue","filteredSelected","Typography","s","o","renderValueComponent","filteredValue","FormControl","displayEmpty","IconComponent","ArrowDown24","MenuProps","PaperProps","MenuListProps","renderValue","inputBaseClasses","inputClasses","MenuItem","User","Companies","orderBy","orderDirection","maskFilterApi","f","isMaskFilter","dictionaries","mapDefaultFilters","Roles","UserChangeStatusId","Permissions","ClientProfiles","Reports","usersFilters","userName","ReportStatuses","Registers","dixyAcceptedProcessTemplates","dixyApprovedProcessTemplates","tanderProcessTemplates","documentsFilters","applyFilter","DocumentTypeCode","processTemplate","ProcessTemplateCode","downloadTypeFilter","dixyApproved","dixyAccepted","dixyDiscount","tanderApproved","tanderDiscount","tanderTransport","detailsPayment","conveyor","Statuses","Templates","DfaTypes","IssueProposalStatuses","registersAvailableStatuses","AlertF24","SvgIcon","ExternalLeft24","ExternalRight24","ExternalUp24","ArrowLeft24","ArrowRight24","ArrowUp24","Calendar24","Clock24","Close24","Document24","Download24","EyeClose24","Eye24","clipPath","File24","Box24","Info24","QuestionRound24","MoreHorizontal24","Padlock24","Plus24","Printer24","Search24","SettingsAlt24","StopSign24","Check24","FileText24","ChevronsLeft24","ChevronsRight24","ArrowsUpdown24","configAction","configActions","getConfig","prioritizeExtensions","Current","Application","historyHandle","createBrowserHistory","basename","connectRouter","sagaMiddleware","createSagaMiddleware","unfoldReducer","combineReducers","reduxDevToolsCompose","__REDUX_DEVTOOLS_EXTENSION_COMPOSE__","composeEnhancers","compose","newStore","createStore","appReducer","createRootReducer","applyMiddleware","run","main","createRootSaga","ReduxProvider","$ignore","INITIALIZE","SET_ENVIRONMENT","REQUEST_LOGOUT","SET_BUSY","environmentActions","setEnvironment","requestLogout","tryGetEnvironmentPart","getSystemInfo","initializeSaga","languageChangedSaga","mapDictFilters","mapDictNodes","setter","systemInfo","sequential","parallel","sequientialSagasWithOrder","initialized","environmentActionTypes","i18nActionTypes","FactorinWindow","overrideFill","fillGray","Normal","LogoutButton","resetRoute","logout","LoginErrorWindow","ApplicationInitializer","initializer","loader","ENVIRONMENT_KEY","useEnvironment","useBusy","createError","UserNotFoundError","ProcessContext","useProcessContext","useUserIsUnpaid","initializationErrors","h1","h2","h3","h6","lineHeigh","marginY","ImageRenderer","caption","withBackground","stretch","componentMap","level","getComponent","paragraph","items","boxProps","delimiter","marks_container","marks","quote","captionProps","left","right","bottom","linkTool","textDecoration","renderContent","blocks","block","getTitleAndDescription","firstHeaderIndex","findIndex","textIndex","pluginObject","plugin_resolved","plugin_reject","plugin_resolve","isOpera","isFireFox","isEdge","failed_extensions","canPromise","browserSpecs","check_browser","ru_cryptopro_npcades_10_native_bridge","callbacksCount","callbacks","resultForCallback","callbackId","resultArray","functionName","hasCallback","iframe","arrObjs","setAttribute","encodeURIComponent","alert","appendChild","parentNode","removeChild","JSModuleVersion","async_spawn","set_pluginObject","getLastError","isNativeMessageSupported","ReleasePluginObjects","cadesplugin_load_timeout","check_load_timeout","set_constantValues","current_log_level","check_plugin_working","tem","ua","navigator","userAgent","M","exec","appName","appVersion","splice","cpcsp_console_log","msg","LOG_LEVEL_DEBUG","LOG_LEVEL_INFO","postMessage","CAPICOM_LOCAL_MACHINE_STORE","CADESCOM_LOCAL_MACHINE_STORE","CADESCOM_CURRENT_USER_STORE","CADESCOM_CONTAINER_STORE","CAPICOM_CERTIFICATE_FIND_SUBJECT_NAME","CADESCOM_XML_SIGNATURE_TYPE_ENVELOPED","CADESCOM_XML_SIGNATURE_TYPE_ENVELOPING","CADESCOM_XML_SIGNATURE_TYPE_TEMPLATE","XmlDsigGost3410UrlObsolete","XmlDsigGost3411UrlObsolete","XmlDsigGost3410Url","XmlDsigGost3411Url","CADESCOM_CADES_DEFAULT","CADESCOM_CADES_T","CADESCOM_CADES_X_LONG_TYPE_1","CADESCOM_ENCODE_BASE64","CADESCOM_ENCODE_BINARY","CADESCOM_ENCODE_ANY","CAPICOM_CERTIFICATE_INCLUDE_CHAIN_EXCEPT_ROOT","CAPICOM_CERTIFICATE_INCLUDE_WHOLE_CHAIN","CAPICOM_CERT_INFO_SUBJECT_SIMPLE_NAME","CAPICOM_CERT_INFO_ISSUER_SIMPLE_NAME","CAPICOM_CERTIFICATE_FIND_ISSUER_NAME","CAPICOM_CERTIFICATE_FIND_ROOT_NAME","CAPICOM_CERTIFICATE_FIND_TEMPLATE_NAME","CAPICOM_CERTIFICATE_FIND_EXTENSION","CAPICOM_CERTIFICATE_FIND_APPLICATION_POLICY","CAPICOM_CERTIFICATE_FIND_CERTIFICATE_POLICY","CAPICOM_CERTIFICATE_FIND_TIME_NOT_YET_VALID","CAPICOM_CERTIFICATE_FIND_TIME_EXPIRED","CAPICOM_CERTIFICATE_FIND_KEY_USAGE","CAPICOM_DIGITAL_SIGNATURE_KEY_USAGE","CAPICOM_OID_OTHER","CAPICOM_OID_KEY_USAGE_EXTENSION","CAPICOM_EKU_CLIENT_AUTH","CAPICOM_EKU_SMARTCARD_LOGON","CAPICOM_EKU_OTHER","CAPICOM_AUTHENTICATED_ATTRIBUTE_SIGNING_TIME","CADESCOM_AUTHENTICATED_ATTRIBUTE_DOCUMENT_NAME","CADESCOM_AUTHENTICATED_ATTRIBUTE_DOCUMENT_DESCRIPTION","CADESCOM_ATTRIBUTE_OTHER","CADESCOM_STRING_TO_UCS2LE","CADESCOM_BASE64_TO_BINARY","CADESCOM_DISPLAY_DATA_NONE","CADESCOM_DISPLAY_DATA_CONTENT","CADESCOM_DISPLAY_DATA_ATTRIBUTE","CADESCOM_ENCRYPTION_ALGORITHM_RC2","CADESCOM_ENCRYPTION_ALGORITHM_RC4","CADESCOM_ENCRYPTION_ALGORITHM_DES","CADESCOM_ENCRYPTION_ALGORITHM_3DES","CADESCOM_ENCRYPTION_ALGORITHM_AES","CADESCOM_ENCRYPTION_ALGORITHM_GOST_28147_89","CADESCOM_HASH_ALGORITHM_SHA1","CADESCOM_HASH_ALGORITHM_MD2","CADESCOM_HASH_ALGORITHM_MD4","CADESCOM_HASH_ALGORITHM_MD5","CADESCOM_HASH_ALGORITHM_SHA_256","CADESCOM_HASH_ALGORITHM_SHA_384","CADESCOM_HASH_ALGORITHM_SHA_512","CADESCOM_HASH_ALGORITHM_CP_GOST_3411","CADESCOM_HASH_ALGORITHM_CP_GOST_3411_2012_256","CADESCOM_HASH_ALGORITHM_CP_GOST_3411_2012_512","generatorFunc","continuer","verb","generator","onFulfilled","onRejected","isIE","isIOS","call_ru_cryptopro_npcades_10_native_bridge","ActiveXObject","decimalToHexString","toUpperCase","GetMessageFromException","exception","cpcsp_chrome_nmcades","array","tmpobj","ex","str","eval","show_firefox_missing_extension_dialog","cadesplugin_skip_extension_install","ovr","innerHTML","getElementsByTagName","plugin_loaded_error","visibility","install_opera_extension","opr","addons","installExtension","reload","firefox_or_edge_nmcades_onload","check_chrome_plugin","plugin_loaded","nmcades_api_onload","fileref","load_extension","load_npapi_plugin","elem1","elem2","createPromise","check_npapi_plugin","mimetype","mimeTypes","enabledPlugin","readyState","messagingAction","SET_LIST","SET_ERROR","UPDATE_LIST","SET_CERTIFICATE","certificatesActions","setList","updateList","hashAlgorithmMap","certificateFilters","sign","registered","IsDeleted","addToProfile","available","notifyCryptoProError","getCertificatesAllowedList","tryUpdateCertificatesList","updateCertificateList","getSelectedCertificateAlgorithmEnum","signWithSelectedCertificate","processCertificate","filterType","cryptoprofiles","profiles","alg","filterResult","reason","allowedCerts","availableCerts","getSelectedCertificate","certificatesActionTypes","REDUCER_PATH","useError","useSelectedCertificate","useCertificates","cryptoprofilesAction","cryptoprofilesActions","registerCert","initCount","uploadCertificate","cryptoprofileChanged","addCertificate","getCryptoProfiles","removeCryproProfile","certRaw","certificateChangedSagas","Cert","Cert_disabled","Cert__name","Cert__error","Cert__date","CertificateSelector","hideDisabled","needUpdateButton","isCurrentItemDisable","isOptionDisabled","renderRemoveButton","removeCertificate","CertificateComponent","SubjectCommonName","NotAfter","readonly","subject","deleted","certsList","ReadOnlyCryptoProfilesManager","modalSize","CertificateSelector2","forceDirection","UpdateCertsButton","infoButtons","showCryptoProfilesModal","showModalWithClosePopup","Notification","measureRef","contentRect","notificationContainer","notificationClose","ModalContextObject","ModalContext","Consumer","withModalContext","contextHOC","createModal","useHideAction","hideModal","hideAction","hideLastModal","lastModal","Modal","verticalOffset","modalRight","modalCenter","modalContainer","modalClose","modalClassNames","modalTitle","modalContent","contentDfa","modalContentDfa","modalButtons","modalButton","connector","modals","notifications","shape","mr","CircularProgress","buttonPyForSize","large","extraSmall","extraExtraSmall","buttonPxForSize","circularProgressForSize","sxPropsByVariantsProps","loadingButtonClasses","brand","Button2","LoadingButton","GridContainer","Grid","GridItem","headerProps","enterTouchDelay","leaveDelay","PopperProps","modifiers","componentsProps","popper","tooltipClasses","transformOrigin","useTooltipPropsToOnlyEllipsisComponent","setDisabled","useSizeContext","viewportHeight","viewportWidth","offsetWidth","scrollWidth","offsetHeight","scrollHeight","disableHoverListener","onPaste","suffix","noLabel","formatChars","formHelperTextClasses","InputLabelProps","endAdornment","InputAdornment","TextField","hiddenLabel","helperText","restInput","showMaxSize","bgColors","black","textColors","Counter","textVariant","shade85","RadioGroup","labelVariant","labelColor","FormLabel","formLabelClasses","FormHelperText","regularCaption3","Stack","FormControlLabel","Radio","shade60","general","primary50","shade20","primary60","Tab","iconPosition","transition","tabClasses","iconWrapper","Tabs","TabComponent","handleChange","TabIndicatorProps","borderBottomWidth","borderBottomStyle","borderBottomColor","borderBottomLeftRadius","borderBottomRightRadius","tabsClasses","flexContainer","DayModifiers","NoOptions","allowInput","Search","startAdornment","ButtonsContainer","isMulti","itemTypographyProps","ListItem","disablePadding","ListItemButton","ListItemIcon","SelectAll","every","allowSelectAll","needNoOptionsMessage","withButtonsContainerBg","itemSx","concat","BaseDropdownButton","isActive","extended","endIcon","borderWidth","borderStyle","buttonClasses","easing","easeInOut","loadingPosition","DropdownPopper","anchorEl","disablePortal","Popper","enabled","fallbackPlacements","TransitionProps","ClickAwayListener","onClickAway","Fade","DropdownButton","popperProps","Day","useDayPicker","isRange","Box","cellBg","CaptionLabel","displayMonth","goToMonth","useNavigation","NativeSelect","getMonth","year","n","newDate","addMonths","newDateYear","toLocaleDateString","NavButton","Navbar","currentMonth","onChangeMonth","Months","needTabIndex","ButtonBase","onKeyDownCallback","focusElement","previousElementSibling","parentElement","lastElementChild","nextElementSibling","firstElementChild","preventScroll","List","defaultScrollStartElement","elementNumber","scrollIntoView","useScrollToStartElement","updateScrollClass","hoursRange","minutesRange","TimePicker","hours","localizationProps","useBaseProps","dayPickerStyles","months","week","nav","cell","head_cell","weekDay","day_today","day_range_start","rangeStart","day_range_end","rangeEnd","day_range_middle","rangeMiddle","day_selected","Calendar2","initialFocus","timePicker","baseProps","onDayClick","borderLeft","SUFFIX_ICON_BASE_CONFIG","CalendarInput","needCloseSuffix","isUTCConvert","onOpen","usePopperOpenState","setInputValue","isDelSuffix","setIsDelSuffix","setFormatChars","Boolean","previousConfig","commitInputChange","parsed","parseDate","getUTCOffsetConvertedDate","onInputBlur","onInputFocus","onInputClick","onCalendarChange","CalendarInputField","modified","intervalError","badgePrimaryBgColor","green","red","purple","orange","lightGray","badgeSecondaryBgColor","badgeTypographyColor","iconSizeSpacing","typographyVariantBySize","Badge","view","LeftIcon","leftIcon","RightIcon","rightIcon","iconPForSize","extraExtraLarge","extraLarge","iconSizeForSize","IconButton","buttonOffsetBySize","CloseModalButton","Chip","shade95","shade10","startValue","valueLabelDisplay","getAriaLabel","activeThumb","sliderClasses","thumb","infoCustom","red50","track","rail","valueLabel","valueLabelOpen","Switch","focusVisibleClassName","buttonBaseClasses","focusVisible","switchClasses","switchBase","transitionDuration","PadlockIcon","SwitchWithLabel","switchProps","formControlLabelClasses","DropdownSelect","dropdownSx","restPopperProps","buttonSx","openState","useOpenState","onClear","FilterButton","activeCount","useFilterOpenState","toggle","DropdownFilter","typographyBySize","isGray","textFieldPropsSx","inputPropsSx","inputAdornmentClasses","positionStart","shade100","boldTitle1","letterSpacing","regularHeader2","mediumCaption1","mediumBody2","mediumCaption2","mediumMicro1","boldCaption1","regularCaption1","boldBody2","regularBody2","boldBody1","mediumCaption3","boldCaption2","mediumHeader2","regularCaption2","regularHeader1","boldTitle3","boldHeader1","boldTitle5","boldHeader2","boldTitle2","boldTitle4","fontsOptions","MuiCssBaseline","styleOverrides","robotoLightWoff2","robotoLightWoff","robotoRegularWoff2","robotoRegularWoff","robotoMediumWoff2","robotoMediumWoff","robotoBoldWoff2","robotoBoldWoff","ubuntuMono","paletteOptions","primary10","primary20","primary30","primary80","secondary10","secondary20","secondary30","secondary50","secondary60","secondary80","bWtoDark","bw10","bw60","bw80","bw95","shade5","shade90","shade98","green10","green20","green30","green50","green60","green80","orange10","orange20","orange30","orange50","orange60","orange80","red10","red20","red30","red60","red80","yellow10","yellow20","yellow30","yellow50","yellow60","textTransform","MuiLoadingButton","ownerState","MuiChip","variants","MuiLinearProgress","bar","MuiTextField","MuiFormHelperText","marginRight","MuiFilledInput","disableUnderline","MuiInputLabel","paddingLeft","MuiInputBase","paddingTop","paddingRight","MuiFormLabel","asterisk","downloadsAction","downloadsActions","finish","downloadDocumentWithProgress","initializeState","useDownloads","RegistersLayoutKeys","PromptModal","prompt","fappSubscriptions","ErrorStack","stack","expanded","setExpanded","toggleExpanded","compact","expand","ErrorRenderer","errorBoundary","ErrorBoundaryMiddleware","RenderAmount","AmountsDraggablePopup","amounts","storageKey","getCheckedCount","include","exclude","getAmounts","fields","register","subtract","ids","registerField","supplyField","defaultAmountFields","amountWithoutVat","vat","amountWithVat","AmountSuppliesPopup","registerId","checkedIds","amountFields","getColumnMinWidth","rem","calculateColumnWidths","containerWidth","columnRatios","realWidths","surplusWidths","leftToDistribute","ratioTotal","columnRatio","desiredWidth","surplus","canProceed","iterations","distributed","PopupWithButton","suppressPopup","popupRef","clientWidth","clientHeight","xProps","yProps","popup","getPopupProps","popupLocation","popupClassName","popupProps","renderedButton","DragElement","SortableHandle","dragHandle","Column","SortableElement","domainType","onChangeVisible","columnIndex","SortColumns","SortableContainer","PopupButton","ColumnsSettings","onSortEnd","numbers","helperClass","dragged","lockAxis","lockToContainerEdges","useDragHandle","WithSettingsComponent","localStorageAccessorJSON","storageColumns","sort","sortColumns","changeSort","memoColumns","visibleColumns","oldIndex","newIndex","oldColumns","newColumns","arrayMove","useSort","ratioSaveKey","mapRatios","ratio","normalizeColumnRatios","widths","multiplier","getSumColumnRatios","useRatios","onResize","ratios","getInitialRatios","setRatios","setRatiosCallback","updateRatios","sum","fixedSum","totalWidth","calculateRatios","resetRatios","prevColumns","newRatios","GridAdapter","visibleRowStartIndex","visibleRowStopIndex","grid","cellStyles","DragHandle","isLast","onResizeFinished","onResizeReset","deltaX","clientX","onDoubleClick","headerRenderer","checkable","fixed","columnWidths","resetAfterIndices","scrollPosition","updateScrollPosition","draggedColumnWidths","setDraggedColumnWidths","updateColumnSize","newWidths","innerWidth","applyNewColumnSizes","resetResizes","columnCount","filtersRenderer","filterField","Filter","Filters","BODY_CELL_CLASSNAME","parseFloat","checkBoxColumnWidth","checkModel","FactorinCheckClass","CheckboxComponent","checkedKeySelector","checkedRows","onCheckedChanged","checkedKey","getSingle","updateSingle","markClassName","checkboxMark","checkBoxColumnRenderer","selectedRow","setHoveredRowIndex","getData","checkboxCell","onMouseEnter","onMouseLeave","relatedTarget","classList","contains","CheckableColumnComponent","checkboxContainer","coreRef","checkboxColumnRef","CheckableColumn","cellRenderer","hoveredRowIndex","onRowClick","cellClassName","isHovered","columnsCount","isFirstColumn","isLastColumn","isRowLast","clickableRow","rowNumber","hScrollBarVisible","checkboxRef","checkboxWidth","checkboxComponent","isHovering","setHoveredRowIndexCallback","scrollbarSize","vScroll","hScroll","disableCheckAll","CustomCheckbox","selectAllClick","updateAll","getAll","CheckboxHeader","withFilters","filterHeader","FilterHeader","ROW_HEIGHT_REM","CHECKBOX_COLUMN_WIDTH_REM","FactorinGrid","editableColumns","headerHeightRem","rowHeightRem","checkboxWidthRem","customCheckboxCell","customCheckboxHeader","customCheckbox","userSetVScrollBarVisible","bodyHeight","bodyWidth","vScrollBarVisible","headerWidth","onChangeRatios","getColumnWidth","filtersRef","useImperativeHandle","shouldForceUpdate","checkboxHeader","RemoveButton","getRemoveColumn","Table","entityName","gridProps","tableColumns","addCallback","resetChanges","CrudTableComponent","arrayProps","formProps","arrayMutators","crudTable","isEqual","CrudTable","Dock","isCompact","onArrowClick","updateHeight","dockContainer","collapsed","dock","componentContainer","useDock","showDock","setShowDock","openDock","bappAction","bappActions","downloadAdditionalDocuments","getCompanies","setCompanies","changeCompaniesSelectMenuState","changeRegisterStage","changeRegistersStage","getNotifications","setNotifications","DownloadPopup","isDownloading","ThreeDots","renderButton","progressLoader","downloadPopup","SectionHeader","sectionHeading","InfoSection","infoSection","FileSection","fileSection","addChildrenProps","FileItem","onDownload","isNotDownloadable","ItemButton","Document","titleRatio","descriptionRatio","fileItem","fileItemPart","DocumentSection","DownloadButton","additionalDocuments","$additionalDocuments","shouldDownloadAdditionalDocuments","documentDownloading","setDocumentDownloading","documentDownloadingTimer","downloadError","documentsDownloads","documentModel","downloadInProgress","DocumentItem","isPlaceholder","documentItem","focusedClassName","seed","ACCEPT_UPLOAD_FILES","UploadButton","onUpload","uploadFiles","processTemplateCode","multiple","accept","onPick","TransferLayoutContext","useTransferLayoutContext","TransferLayout","changeTab","currentTab","TransferButton","showFullView","RegistersView","FactorinCheck","itemsCount","defaultModel","onCheck","ListFilterField","filterFieldForDomain","discountRegisters","PAGINATION_PARAMETERS","batchuid","BatchUId","banks","bankUid","orderAgreements","orderAgreement","domainsWithTransferLayout","EntitysList","model","parametersModel","onModelChange","uploadPaginationPath","getDefaultParameters","changeKeyState","itemStyler","listProps","HeaderButton","headerButton","modelParameters","omitFilters","actualParameters","useListPagination","selectModel","useRowHeight","paginationControl","columnTypes","STRING","DATE","DATETIME","CURRENCY","COMPOSITE","fappViewColumnRenderers","formatOr","secondaryField","compositeCell","selectedValues","checkedCount","allSelected","SortButton","sortField","sortingField","sortButton","desc","asc","SimpleHeader","mapColumns","CustomSortButton","FactorinView","paginationTotal","DockComponent","checkedTotal","onRowClickCallback","rowSelectable","customSortButton","dockProps","mappedColumns","isEmpty","factorinView","DocumentsViewPlaceholder","documentsViewPlaceholder","DocumentsViewNoBatchUidPlaceholder","importing","DocumentsView","ImportResult","LastErrorMessage","ListPlaceholder","listPlaceholder","tableLikeHeader","signatureFields","registerHasAnySignature","RegisterSection","RejectReason","reasonCode","reasons","DownloadAll","shouldDownloadRegister","registerDownloading","setRegisterDownloading","registerDownloadingTimer","signsDownloads","loadRegister","documentFiles","TypeCode","Type","signFiles","SignedIcon","CreateDate","signatureModel","documentHeader","RejectReasonCode","datesRegisterTemplateCodes","registerChildTemplateCodes","ReesterCeded","ReesterAccepted","ReesterApproved","ReesterDiscount","ReesterCompleted","ReesterFinanced","checkAvailableDates","RegisterTemplateCode","RegisterStartDate","RegisterEndDate","discountItemSizes","itemSizes","rowHeights","parentTemplateCode","contractor","contractors","customChildCheck","isDiscount","checkChild","getDiscountRowHeights","isShowDates","getAmountField","AmountWithVat","Amount","CessionAmount","getSignIconKey","FactorSignUid","DebtorORBuyerSignUid","ClientORProviderSignUid","getCheckedState","getCheckedProps","updateCheckedState","ForbiddenElement","forChild","lightIcon","statusIcon","ReplyingElement","ProcessedElement","processed","ExpiredElement","SignElement","signed","DownloadElement","contractorField","Client","ClientORProviderShortName","ClientORProviderFullName","Factor","FactorShortName","FactorFullName","Debtor","DebtorORBuyerShortName","getDateOr","dates","numberTooltip","onRegisterClick","signIconKey","child","isChild","line","isUnprocessed","actionLine","icons","isForbidden","isProcessed","RegistersList","deselectRegister","setModel","setPaginationParameters","onRowSelectedCallback","RegisterItem","DiscountRegisterItem","endDate","SupplyAmountForDiscount","discountAmountWithVat","DiscountAmountWithVat","discountActionLine","discountAmounts","discountAdditionalAmounts","tariff","isExpired","isReplying","SearchInput","SupplyItem","PrimaryDocumentDate","supplyItem","ProviderFullName","ProviderINN","TwoColumnLayout","twoColumnLayout","fapp","wamp","subscriptions"],"mappings":"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","file":"static/js/landing-dfa.92cb7117.js","sourcesContent":["import React from 'react';\n\nimport { TabHeader } from 'Modules/ui2/components';\n\nimport styles from './index.module.scss';\n\n\nconst steps = [\n 'Регистрация',\n 'Активация',\n 'Полномочия',\n 'Документы',\n];\n\nexport const RegistrationStep = ({ step }) => (\n \n);\n","\n import React from 'react';\n import SpriteSymbol from \"../../../node_modules/svg-baker-runtime/browser-symbol.js\";\n import sprite from \"../../../node_modules/svg-sprite-loader/runtime/browser-sprite.build.js\";\n\n const symbol = new SpriteSymbol({\n \"id\": \"download.sprite\",\n \"use\": \"download.sprite-usage\",\n \"viewBox\": \"0 0 56 56\",\n \"content\": \"\\n \\n\"\n});\n sprite.add(symbol);\n\n const DownloadSpriteSpriteSymbol = props => (\n \n \n \n );\n export default DownloadSpriteSpriteSymbol;\n ","import React, { useEffect, useState } from 'react';\nimport fp from 'lodash/fp';\nimport bytes from 'bytes';\nimport { useLocation } from 'react-router-dom';\nimport { rawRequest, contentTypeJson } from '@factorin/rest';\n\nimport { wrapRequest } from 'Modules/core/api';\nimport { Label, Link, GridRow, GridColumn, Text, Icon, Tooltip, Note, LoadingIndicator } from 'Modules/ui2/components';\nimport help from 'Modules/ui2/icons/help.sprite.svg';\nimport download from 'Modules/ui2/icons/download.sprite.svg';\nimport { useSelector } from 'Modules/core/redux/utils';\n\nimport { RegistrationStep } from '../../RegistrationStep';\nimport styles from './index.module.scss';\nimport commonStyles from '../common.module.scss';\n\n\nconst eSigTooltip = 'Усиленная квалифицированная электронная подпись (УКЭП). Для прохождения регистрации должен быть установлен криптопровайдер, поддерживающий алгоритмы ГОСТ, и КриптоПРО Browser Plug-in.';\nconst proxyTooltip = 'Если подписант не ген. директор';\n\nconst getPublicLink = ({ Uid }, clientofficeUrl) => fp.pipe(fp.filter(fp.identity), fp.join(''))([\n clientofficeUrl,\n '/api/v1',\n `/companydocuments/public/${Uid}/download`,\n]);\n\nconst PublicDocumentsList = () => {\n const [docs, setDocs] = useState(null);\n const clientofficeUrl = useSelector('landing.config.clientofficeUrl');\n useEffect(\n () => {\n if (clientofficeUrl) {\n wrapRequest(rawRequest, {\n method: 'GET',\n url: `${clientofficeUrl}/api/v1/companydocuments/public`,\n headers: {\n Accept: contentTypeJson,\n 'Accept-Language': 'ru',\n 'Content-Type': contentTypeJson,\n },\n }).then(docs => fp.isArray(docs) && setDocs(docs));\n }\n },\n [clientofficeUrl],\n );\n if (!docs) {\n return (\n <>\n \n \n \n );\n }\n\n return (\n <>\n \n \n {docs.map(doc => (\n
\n \n {doc.DocumentTypeName} \n \n {doc.FileExtension.substr(1)}, \n {bytes(doc.FileSize, { decimalPlaces: 1 })}\n \n \n
\n ))}\n
\n \n );\n};\n\nconst CommercialTerm = ({ title, description, clarification }) => (\n
\n \n \n {description}\n \n \n
\n);\n\nconst commercialTerms = [\n {\n title: '12 000** ₽/год',\n description: '',\n clarification: '** не включает НДС',\n },\n];\n\nconst DefaultCommercialTerms = () => (\n \n \n \n
\n {commercialTerms.map((element, index) => (\n \n ))}\n
\n
\n
\n);\n\nconst tanderCommercialTerms = [\n {\n title: 'Бесплатно *',\n description: 'при использовании только продукта \"Маркетплейс Тандер\"',\n },\n {\n title: '12 000** ₽/год',\n description: 'при использовании других продуктов платформы',\n clarification: '** не включает НДС',\n },\n];\n\nconst TanderCommercialTerms = () => (\n \n \n \n
\n {tanderCommercialTerms.map((element, index) => (\n \n ))}\n
\n \n * В случае если участник заключил лицензионный договор с ООО «Факторин»\n в первый раз не ранее 01 апреля 2021 г., обязанность по оплате лицензионного\n вознаграждения возникает в календарный месяц, в котором участник подключится\n к любому другому продукту Платформы помимо “Маркетплейс Тандер”.\n При этом лицензионное вознаграждение выплачивается в порядке, указанном в\n лицензионном договоре за 12 (двенадцать) месяцев, начиная с даты\n заключения лицензионного договора между участником и ООО «Факторин».\n \n
\n
\n);\n\nconst invoiceMarketCommercialTerms = [\n {\n title: 'Бесплатно *',\n description: 'до 1 сентября 2021 г., продукт \"Уступка с верификацией по ЭДО\"',\n },\n];\n\nconst InvoiceMarketCommercialTerms = () => (\n \n \n \n
\n {invoiceMarketCommercialTerms.map((element, index) => (\n \n ))}\n
\n \n * В случае если участник заключил лицензионный договор с ООО «Факторин» в первый раз\n не ранее 18.05.2021 г., для участника устанавливается ознакомительный период\n до 01.09.2021 г., в течение которого участнику предоставляется право\n использования продукта платформы «Уступка с верификацией по ЭДО от\n ООО «Инвойс Маркет» для участников в роли поставщиков» для ознакомления с\n функциональными возможностями ФАКТОРИН, при этом плата (лицензионный платеж) за\n использование ФАКТОРИН в данный период не взимается.
\n Начиная со следующего дня после окончания указанного ознакомительного периода\n или после подключения любого другого продукта платформы участник вправе\n использовать ФАКТОРИН только при условии предварительной оплаты\n лицензионного вознаграждения в порядке, указанном в лицензионном договоре\n заключенным участником с ООО «Факторин».\n
\n
\n
\n);\n\nconst sberComercialTerms = [\n {\n title: '14 400 ₽/год',\n description: '',\n },\n];\n\nconst SberCommercialTerms = () => (\n \n \n \n
\n {sberComercialTerms.map((element, index) => (\n \n ))}\n
\n
\n
\n);\n\nconst MtsCommercialTerms = () => <>;\n\nconst commercialTermsComponents = {\n '/magnit': TanderCommercialTerms,\n '/onboarding': TanderCommercialTerms,\n '/invoicemarket': InvoiceMarketCommercialTerms,\n '/sberfactoring': SberCommercialTerms,\n '/mts': MtsCommercialTerms,\n};\n\nexport const Preamble = ({ children }) => {\n const { pathname } = useLocation();\n const CommercialTermsComponent = commercialTermsComponents[pathname] || DefaultCommercialTerms;\n return (\n
\n {children}\n \n \n \n \n
    \n \n Электронная цифровая подпись \n \n \n \n Доверенность на подписание документов \n \n \n
\n
\n
\n \n \n \n
\n \n
\n
\n \n \n help@factorin.io\n \n
\n \n \n
\n );\n};\n","\n import React from 'react';\n import SpriteSymbol from \"../../../node_modules/svg-baker-runtime/browser-symbol.js\";\n import sprite from \"../../../node_modules/svg-sprite-loader/runtime/browser-sprite.build.js\";\n\n const symbol = new SpriteSymbol({\n \"id\": \"warning.sprite\",\n \"use\": \"warning.sprite-usage\",\n \"viewBox\": \"0 0 56 56\",\n \"content\": \"\\n \\n\"\n});\n sprite.add(symbol);\n\n const WarningSpriteSpriteSymbol = props => (\n \n \n \n );\n export default WarningSpriteSpriteSymbol;\n ","import React from 'react';\nimport { delay, Bowser } from '@factorin/util';\n\nimport { getCertsList, EmptyCertificateListError } from 'Modules/business/cryptopro';\nimport { Button, Label, Text, Icon } from 'Modules/ui2/components';\nimport info from 'Modules/ui2/icons/info.sprite.svg';\nimport warning from 'Modules/ui2/icons/warning.sprite.svg';\nimport { allowedOids, cryptoProLinks, cryptoProPluginDownload } from 'Modules/business/cryptoprofiles';\n\nimport styles from '../common.module.scss';\n\n\nconst bowser = new Bowser();\n\nexport class NoCertificateComponent extends React.PureComponent {\n state = {\n busy: false,\n };\n\n updateCertificates = async () => {\n const { updateCertificates } = this.props;\n this.setState({ busy: true });\n if (!await updateCertificates()) {\n // add delay so it doesn't feel instant with broken button\n await delay(1000);\n this.setState({ busy: false });\n }\n };\n\n render() {\n const { t } = this.props;\n const { busy } = this.state;\n return (\n <>\n\n \n \n \n {t('noCertificate.description')}\n \n \n {t('noCertificate.refresh')}\n \n \n );\n }\n}\n\nconst filterCertificates = async cert => {\n const { oid } = await cert.getAlgorithm();\n if (!Object.keys(allowedOids).includes(oid))\n return null;\n\n const [info, base64] = await Promise.all([\n cert.getOwnerInfo(),\n cert.exportBase64(),\n ]);\n\n return {\n thumbprint: cert.thumbprint,\n label: cert.label,\n info,\n base64,\n };\n};\n\nexport class CryptoProImport extends React.PureComponent {\n componentDidMount() {\n this.initCertificates();\n }\n\n componentDidUpdate() {\n this.initCertificates();\n }\n\n initCertificates = async () => {\n const { setStage } = this.props;\n\n if (bowser.mobile || bowser.tablet) {\n setStage('platformNotSuported');\n return;\n }\n\n try {\n const updateCertificates = async () => {\n try {\n const allCerts = await getCertsList();\n const certificates = Array.from(await Promise.all(\n allCerts.map(filterCertificates),\n )).filter(data => data != null);\n\n if (certificates.length === 0)\n return false;\n\n setStage('formEntry', { certificates });\n return true;\n } catch (err) {\n if (err instanceof EmptyCertificateListError)\n return false;\n throw err;\n }\n };\n\n if (!await updateCertificates())\n setStage('noCertificate', { updateCertificates });\n } catch (error) {\n setStage('pluginNotInstalled', {\n link: cryptoProPluginDownload,\n additionalLink: cryptoProLinks[bowser.name],\n details: `${error.message}`,\n });\n }\n };\n\n render() {\n const { t } = this.props;\n return (\n <>\n \n \n \n {t('allow.description')}\n \n \n );\n }\n}\n","\n import React from 'react';\n import SpriteSymbol from \"../../../../../../node_modules/svg-baker-runtime/browser-symbol.js\";\n import sprite from \"../../../../../../node_modules/svg-sprite-loader/runtime/browser-sprite.build.js\";\n\n const symbol = new SpriteSymbol({\n \"id\": \"success.sprite\",\n \"use\": \"success.sprite-usage\",\n \"viewBox\": \"0 0 80 94\",\n \"content\": \"\\n \\n\"\n});\n sprite.add(symbol);\n\n const SuccessSpriteSpriteSymbol = props => (\n \n \n \n );\n export default SuccessSpriteSpriteSymbol;\n ","import fp from 'lodash/fp';\nimport React, { useCallback } from 'react';\nimport { Form, FormSpy, Field } from 'react-final-form';\nimport { checkSnils, checkOgrn, checkOgrnip } from 'ru-validation-codes';\nimport { rawRequest, contentTypeJson } from '@factorin/rest';\nimport { config } from '@factorin/container.macro';\n\nimport { validators, getError, wrapFormComponent } from 'Modules/core/forms';\nimport { wrapRequest } from 'Modules/core/api';\nimport { connect } from 'Modules/core/redux/utils';\nimport { Text, Icon, GridRow, GridColumn, Button, linkAnchorClass, Select, Input, Label, CheckBox } from 'Modules/ui2/components';\nimport info from 'Modules/ui2/icons/info.sprite.svg';\nimport warning from 'Modules/ui2/icons/warning.sprite.svg';\n\nimport success from './success.sprite.svg';\nimport commonStyles from '../common.module.scss';\nimport styles from './index.module.scss';\n\n\nexport const roles = [\n ['9312b1cb-3d0e-442d-9e4e-ac737eec6448', 'client'],\n ['e12411e0-6f75-4946-abed-56bc56cef9e0', 'factor'],\n ['562c5372-9f94-4f7a-b216-bd59a6a9b59f', 'debtor'],\n];\n\nconst phoneMask = '+7(999)999-99-99';\nconst phoneValidation = getError(\n { key: 'phone' },\n v => v && v.length === phoneMask.length,\n);\n\nconst isIPINN = inn => inn && inn.length === 12;\n\nconst ogrnValidation = getError({ key: 'ogrn' }, checkOgrn);\nconst ogrnipValidation = getError({ key: 'ogrnip' }, checkOgrnip);\n\nconst validationNone = getError({ key: 'none' }, v => fp.isEmpty(v));\n\nconst getFromInfo = fp.curry((title, info) => fp.pipe(\n fp.find(fp.pipe(\n fp.get('title'),\n fp.equals(title),\n )),\n fp.get('descr'),\n fp.trim,\n)(info));\n\nconst getInnFromInfo = fp.pipe(\n info => getFromInfo('ИНН ЮЛ', info) || getFromInfo('ИНН', info),\n inn => inn.startsWith('00') ? inn.substring(2) : inn,\n);\n\nconst isIPCert = fp.pipe(getInnFromInfo, isIPINN);\n\nconst isIndividual = info => !getFromInfo('ОГРНИП', info) && !getFromInfo('ОГРН', info);\n\nconst mapCertInfo = {\n surname: info => getFromInfo('Фамилия', info) || getFromInfo('Владелец', info),\n firstName: fp.pipe(\n getFromInfo('Имя Отчество'),\n fp.split(' '),\n fp.get(0),\n ),\n middleName: fp.pipe(\n getFromInfo('Имя Отчество'),\n fp.split(' '),\n fp.drop(1),\n fp.join(' '),\n ),\n role: () => '9312b1cb-3d0e-442d-9e4e-ac737eec6448',\n email: getFromInfo('Email'),\n company: info => !isIPCert(info) ? getFromInfo('Компания', info) : null,\n kpp: getFromInfo('KPP'),\n ogrn: info => getFromInfo(isIPCert(info) ? 'ОГРНИП' : 'ОГРН', info),\n inn: info => !isIndividual(info) ? getInnFromInfo(info) : null,\n snils: fp.pipe(\n getFromInfo('СНИЛС'),\n snils => {\n if (!snils)\n return '';\n\n if (checkSnils(snils))\n return snils;\n\n const formattedSnils = `${\n snils.substring(0, 3)}-${\n snils.substring(3, 6)}-${\n snils.substring(6, 9)} ${\n snils.substring(9, 12)}`;\n\n if (checkSnils(formattedSnils))\n return formattedSnils;\n\n return '';\n },\n ),\n};\n\nconst formMutators = {\n setCertificate: ([{ info }], state, { changeValue }) => fp.pipe(\n fp.mapValues(getter => getter(info)),\n fp.toPairs,\n fp.forEach(([key, value]) => changeValue(state, key, () => value)),\n )(mapCertInfo),\n};\n\nconst findSavedCertificate = (savedTumbprint, certificates) => fp.find(\n ({ thumbprint }) => thumbprint === savedTumbprint,\n certificates,\n);\n\nconst saveFormData = ({ values: { certificate, ...rest } }) =>\n window.localStorage.setItem('registrationForm', JSON.stringify({\n thumbprint: certificate ? certificate.thumbprint : null,\n ...rest,\n }));\n\nexport const resetFormData = () => window.localStorage.removeItem('registrationForm');\n\nconst initialValues = (certificates, roleOverride) => {\n try {\n const savedData = window.localStorage.getItem('registrationForm');\n if (savedData) {\n const { thumbprint, role, name, ...parsedData } = JSON.parse(savedData);\n if (thumbprint) {\n const certificate = findSavedCertificate(thumbprint, certificates);\n if (certificate) {\n const nameParts = fp.split(' ', name);\n return {\n certificate,\n role: `${role}`.length === 1 ? '9312b1cb-3d0e-442d-9e4e-ac737eec6448' : role,\n ...name && {\n surname: nameParts[0],\n firstName: nameParts[1],\n middleName: fp.pipe(\n fp.drop(2),\n fp.join(' '),\n )(nameParts),\n },\n ...parsedData,\n ...roleOverride && { role: roleOverride },\n };\n }\n }\n }\n } catch {}\n\n const [certificate] = certificates;\n return {\n certificate,\n role: roleOverride,\n ...fp.mapValues(getter => getter(certificate.info), mapCertInfo),\n };\n};\n\nconst formDataMap = {\n Surname: fp.get('surname'), // Ф\n FirstName: fp.get('firstName'), // И\n MiddleName: fp.get('middleName'), // О\n Email: fp.get('email'),\n PhoneNumber: fp.get('phone'),\n CompanyName: fp.get('company'),\n CompanyINN: fp.get('inn'),\n CompanyKPP: fp.get('kpp'),\n SNILS: fp.get('snils'),\n CompanyOGRN: fp.get('ogrn'),\n AllowUsePersonalData: fp.get('usePersonalData'),\n Base64Certificate: fp.get('certificate.base64'),\n UserRoleUid: fp.get('role'),\n};\n\nconst CertificateField = wrapFormComponent(({ onChange, mutate, ...props }) => (\n {\n mutate(cert);\n onChange(cert);\n },\n [mutate, onChange],\n )}\n {...props}\n />\n));\n\nconst SelectField = wrapFormComponent(Select);\nconst InputField = wrapFormComponent(Input);\nexport const CheckBoxField = wrapFormComponent(CheckBox);\n\nexport class RegistrationForm extends React.PureComponent {\n state = {\n busy: false,\n };\n\n saveFormData = fp.debounce(100, form =>\n !this.state.busy && saveFormData(form));\n\n static getDerivedStateFromProps = ({ certificates, fixedRole }) => ({\n certificates: certificates.map(cert => ({\n label: cert.label,\n value: cert,\n })),\n initialValues: initialValues(certificates, fixedRole),\n });\n\n submitForm = async values => {\n if (this.state.busy)\n return;\n\n const { t, setStage, clientOfficeUri = '', landingOwnerUid } = this.props;\n\n saveFormData({ values });\n await new Promise(resolve => this.setState({ busy: true }, resolve));\n\n const apiValues = fp.mapValues(getter => getter(values), formDataMap);\n const requestUrl = fp.pipe(fp.compact, fp.join(''))([\n clientOfficeUri || config.basePath,\n '/api/v1',\n '/registration/create',\n ]);\n\n try {\n const data = await wrapRequest(rawRequest, {\n method: 'POST',\n url: requestUrl,\n headers: {\n Accept: contentTypeJson,\n 'Accept-Language': 'ru',\n 'Content-Type': contentTypeJson,\n },\n data: JSON.stringify({\n ...apiValues,\n LandingOwnerUid: landingOwnerUid,\n }),\n });\n\n if (data.Created) {\n resetFormData();\n setStage('success', { email: values.email });\n } else {\n setStage('resendLetter', {\n email: values.email,\n timer: data.ConfirmCodeRequestRemaining,\n });\n }\n } catch (error) {\n setStage('failure', { error: error.message || t('failure.unknown') });\n }\n };\n\n render() {\n const { t, fixedRole } = this.props;\n const { busy, certificates, initialValues } = this.state;\n return (\n \n {({\n form: { mutators: { setCertificate } },\n values,\n hasValidationErrors,\n handleSubmit,\n }) => (\n
\n \n \n Формы заполняются автоматически на основе данных УКЭП\n
\n  \n Проверьте и заполните недостающие поля\n
\n \n \n \n \n \n \n \n \n \n \n ({\n value: id,\n label: t(`entry.roles.${name}`),\n }))}\n placeholder={t('entry.fields.role.placeholder')}\n />\n \n \n \n \n \n \n \n \n \n \n \n isIPINN(values.inn)\n ? validationNone(company)\n : validators.required(company)\n }\n needInitialValidate\n label={t('entry.fields.company.label')}\n\n disabled={busy}\n placeholder={isIPINN(values.inn)\n ? t('entry.fields.notApplicable')\n : t('entry.fields.company.placeholder')}\n />\n \n \n \n \n \n \n \n validators.pipe(\n validators.required,\n isIPINN(values.inn)\n ? ogrnipValidation\n : ogrnValidation,\n )(ogrn)}\n needInitialValidate\n label={t(`entry.fields.ogrn.label.${\n isIPINN(values.inn)\n ? 'individual'\n : 'company'\n }`)}\n\n disabled={busy}\n placeholder='1234567890123'\n />\n \n \n \n \n \n \n \n \n isIPINN(values.inn)\n ? validationNone(kpp)\n : validators.pipe(\n validators.required,\n validators.is.kpp,\n )(kpp)\n }\n needInitialValidate\n label={t('entry.fields.kpp.label')}\n\n disabled={busy}\n placeholder={isIPINN(values.inn)\n ? t('entry.fields.notApplicable')\n : '123456789'}\n />\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n {t('entry.legal', { linkClass: linkAnchorClass })}\n \n \n \n {({ errors }) => {\n const personalError = fp.get('usePersonalData', errors);\n return personalError\n ? (\n
\n \n {t('formField:usePersonalData')}\n \n
\n )\n : null;\n }}\n
\n
\n
\n \n {t('entry.submit')}\n \n \n )}\n \n );\n }\n}\n\nexport const FormComponent = connect(\n ({ landing }) => ({\n clientOfficeUri: fp.get('config.clientofficeUrl', landing),\n }),\n)(RegistrationForm);\n\nexport const SuccessfulRegistrationComponent = ({ t, email }) => (\n <>\n \n \n \n {t('success.description', { email, linkClass: linkAnchorClass })}\n \n \n);\n\nexport const FailedRegistrationComponent = ({ t, error, setStage }) => (\n <>\n \n \n \n {error}\n \n \n {t('failure.description')}\n \n setStage('formEntry')}\n >\n {t('failure.backToForm')}\n \n \n);\n","import fp from 'lodash/fp';\nimport React from 'react';\nimport { config } from '@factorin/container.macro';\nimport { rawRequest } from '@factorin/rest';\n\nimport { wrapRequest } from 'Modules/core/api';\nimport { connect } from 'Modules/core/redux';\nimport { Icon, Label, Text, Button } from 'Modules/ui2/components';\nimport warning from 'Modules/ui2/icons/warning.sprite.svg';\n\nimport { resetFormData } from '../FormComponent';\nimport styles from '../common.module.scss';\n\n\nclass ResendLetterComponent extends React.PureComponent {\n state = {\n timer: this.props.timer,\n };\n\n componentDidMount() {\n const { timer } = this.props;\n if (timer > 0)\n this.timer = setInterval(this.tick, 1000);\n }\n\n tick = () => this.setState(({ timer }) => {\n if (timer === 0)\n return clearInterval(this.timer);\n return { timer: timer - 1 };\n });\n\n resendLetter = async () => {\n const { t, setStage, email, clientOfficeUri = '' } = this.props;\n try {\n await wrapRequest(rawRequest, {\n method: 'POST',\n url: fp.pipe(fp.compact, fp.join(''))([\n clientOfficeUri || config.basePath,\n '/api/v1',\n '/registration/confirmcode',\n ]),\n params: { email },\n });\n resetFormData();\n setStage('success', { email });\n } catch ({ message }) {\n setStage('failure', { error: message || t('failure.unknown') });\n }\n };\n\n render() {\n const { t, setStage } = this.props;\n const { timer } = this.state;\n return (\n <>\n \n \n \n {timer === 0\n ? t('resending.description')\n : t('resending.await', {\n minutes: Math.floor(timer / 60),\n seconds: `${timer % 60}`.padStart(2, '0'),\n })}\n \n
\n {timer === 0 && (\n \n )}\n \n
\n \n );\n }\n}\n\nexport const ResendLetter = connect(\n ({ landing }) => ({\n clientOfficeUri: fp.get('config.clientofficeUrl', landing),\n }),\n)(ResendLetterComponent);\n","import { Bowser } from '@factorin/util';\n\n\nexport const supportedBrowsers = {\n [Bowser.BROWSER_MAP.ie]: '>=11',\n [Bowser.BROWSER_MAP.opera]: '>=15',\n [Bowser.BROWSER_MAP.edge]: '>=11',\n [Bowser.BROWSER_MAP.firefox]: '>=3',\n [Bowser.BROWSER_MAP.chrome]: '>=20',\n [Bowser.BROWSER_MAP.yandex]: '>=1',\n [Bowser.BROWSER_MAP.android]: '>=4.4',\n [Bowser.BROWSER_MAP.samsung_internet]: '>=4',\n [Bowser.BROWSER_MAP.safari]: '>=9',\n [Bowser.BROWSER_MAP.uc]: '>=12.12',\n};\n","import { Bowser } from '@factorin/util';\nimport React, { useState, useCallback } from 'react';\n\nimport { UI2Migration, Desktop } from 'Modules/ui2/components';\nimport { useTranslation } from 'Modules/core/i18n';\nimport { cn } from 'Modules/ui2/utils';\n\nimport { Preamble } from './Preamble';\nimport { CryptoProImport, NoCertificateComponent } from './CryptoProImport';\nimport { FormComponent, SuccessfulRegistrationComponent, FailedRegistrationComponent } from './FormComponent';\nimport { PlatformNotSupportedComponent, BrowserNotSupportedComponent, PluginNotInstalledComponent } from './ErrorsAndWarnings';\nimport { ResendLetter } from './ResendLetter';\nimport { supportedBrowsers } from '../../constants';\nimport styles from './index.module.scss';\n\n\nconst bowser = new Bowser();\n\nconst stages = {\n cryptoProImport: CryptoProImport,\n formEntry: FormComponent,\n success: SuccessfulRegistrationComponent,\n failure: FailedRegistrationComponent,\n platformNotSuported: PlatformNotSupportedComponent,\n browserNotSuported: BrowserNotSupportedComponent,\n pluginNotInstalled: PluginNotInstalledComponent,\n noCertificate: NoCertificateComponent,\n resendLetter: ResendLetter,\n};\n\nconst initCheckStages = stages => {\n if (bowser.mobile || bowser.tablet)\n return stages.platformNotSuported;\n\n if (!bowser.satisfies(supportedBrowsers))\n return stages.browserNotSuported;\n\n return stages.cryptoProImport;\n};\n\nexport const ContractorsRegistrationForm = ({ children, landingOwnerUid, className }) => {\n const { t } = useTranslation('registrationForm');\n const [{ Component, ...state }, setState] = useState(() => ({\n Component: initCheckStages(stages),\n landingOwnerUid,\n }));\n const setStage = useCallback(\n (stage, props) => setState(state => ({\n ...state,\n Component: stages[stage],\n ...props,\n })),\n [],\n );\n return (\n \n \n \n {children}\n \n \n \n \n );\n};\n","import React from 'react';\n\nimport { Icon, Label, Text, linkAnchorClass, Link } from 'Modules/ui2/components';\nimport warning from 'Modules/ui2/icons/warning.sprite.svg';\nimport help from 'Modules/ui2/icons/help.sprite.svg';\nimport { cryptoProPluginAbout } from 'Modules/business/cryptoprofiles';\n\nimport styles from '../common.module.scss';\n\n\nexport const PlatformNotSupportedComponent = ({ t }) => (\n <>\n \n \n \n {t('platform.description')}\n \n \n {t('platform.requirements')}\n \n \n help@factorin.io\n \n \n);\n\nexport const BrowserNotSupportedComponent = ({ t }) => (\n <>\n \n \n \n {t('browser.description', { link: cryptoProPluginAbout })}\n \n \n);\n\nexport const PluginNotInstalledComponent = ({ t, link, additionalLink, details }) => (\n <>\n \n \n \n {t('plugin.details', { details })}\n \n \n {t('plugin.description', { link, linkClass: linkAnchorClass })}\n \n {additionalLink && (\n \n {t('plugin.descriptionAdditional', { additionalLink, linkClass: linkAnchorClass })}\n \n )}\n \n);\n","import React from 'react';\nimport { delay } from '@factorin/util';\n\nimport { getCertsList, EmptyCertificateListError } from 'Modules/business/cryptopro';\nimport { Button, Label, Text, Icon } from 'Modules/ui2/components';\nimport info from 'Modules/ui2/icons/info.sprite.svg';\nimport warning from 'Modules/ui2/icons/warning.sprite.svg';\nimport { allowedOids } from 'Modules/business/cryptoprofiles';\n\nimport styles from '../common.module.scss';\n\n\nexport class NoCertificateComponent extends React.PureComponent {\n state = {\n busy: false,\n };\n\n updateCertificates = async () => {\n const { updateCertificates } = this.props;\n this.setState({ busy: true });\n if (!await updateCertificates()) {\n // add delay so it doesn't feel instant with broken button\n await delay(1000);\n this.setState({ busy: false });\n }\n };\n\n render() {\n const { t } = this.props;\n const { busy } = this.state;\n return (\n <>\n\n \n \n \n {t('noCertificate.description')}\n \n \n {t('noCertificate.refresh')}\n \n \n );\n }\n}\n\nconst filterCertificates = async cert => {\n const { oid } = await cert.getAlgorithm();\n if (!Object.keys(allowedOids).includes(oid))\n return null;\n\n const [info, base64] = await Promise.all([\n cert.getOwnerInfo(),\n cert.exportBase64(),\n ]);\n\n return {\n thumbprint: cert.thumbprint,\n label: cert.label,\n info,\n base64,\n };\n};\n\nexport class CryptoProImport extends React.PureComponent {\n componentDidMount() {\n this.initCertificates();\n }\n\n componentDidUpdate() {\n this.initCertificates();\n }\n\n initCertificates = async () => {\n const { setStage } = this.props;\n\n try {\n const updateCertificates = async () => {\n try {\n const allCerts = await getCertsList();\n const certificates = Array.from(await Promise.all(\n allCerts.map(filterCertificates),\n )).filter(data => data != null);\n\n if (certificates.length === 0)\n return false;\n\n setStage('form', { certificates });\n return true;\n } catch (err) {\n if (err instanceof EmptyCertificateListError)\n return false;\n throw err;\n }\n };\n\n if (!await updateCertificates())\n setStage('noCertificate', { updateCertificates });\n } catch (error) {\n setStage('form', { errorDetails: `${error.message}` });\n }\n };\n\n render() {\n const { t } = this.props;\n return (\n <>\n \n \n \n {t('allow.description')}\n \n \n );\n }\n}\n","\n import React from 'react';\n import SpriteSymbol from \"../../../../../../node_modules/svg-baker-runtime/browser-symbol.js\";\n import sprite from \"../../../../../../node_modules/svg-sprite-loader/runtime/browser-sprite.build.js\";\n\n const symbol = new SpriteSymbol({\n \"id\": \"success.sprite\",\n \"use\": \"success.sprite-usage\",\n \"viewBox\": \"0 0 80 94\",\n \"content\": \"\\n \\n\"\n});\n sprite.add(symbol);\n\n const SuccessSpriteSpriteSymbol = props => (\n \n \n \n );\n export default SuccessSpriteSpriteSymbol;\n ","import fp from 'lodash/fp';\nimport React from 'react';\nimport { config } from '@factorin/container.macro';\nimport { rawRequest } from '@factorin/rest';\n\nimport { wrapRequest } from 'Modules/core/api';\nimport { connect } from 'Modules/core/redux';\nimport { Icon, Label, Text, Button } from 'Modules/ui2/components';\nimport warning from 'Modules/ui2/icons/warning.sprite.svg';\n\nimport styles from '../common.module.scss';\n\n\nclass ResendLetterComponent extends React.PureComponent {\n state = {\n timer: this.props.timer,\n };\n\n componentDidMount() {\n const { timer } = this.props;\n if (timer > 0)\n this.timer = setInterval(this.tick, 1000);\n }\n\n tick = () => this.setState(({ timer }) => {\n if (timer === 0)\n return clearInterval(this.timer);\n return { timer: timer - 1 };\n });\n\n resendLetter = async () => {\n const { t, setStage, email, clientOfficeUri = '' } = this.props;\n try {\n await wrapRequest(rawRequest, {\n method: 'POST',\n url: fp.pipe(fp.compact, fp.join(''))([\n clientOfficeUri || config.basePath,\n '/api/v1',\n '/registration/confirmcode',\n ]),\n params: { email },\n });\n setStage('success', { email });\n } catch ({ message }) {\n setStage('failure', { error: message || t('failure.unknown') });\n }\n };\n\n render() {\n const { t, setStage } = this.props;\n const { timer } = this.state;\n return (\n <>\n \n \n \n {timer === 0\n ? t('resending.description')\n : t('resending.await', {\n minutes: Math.floor(timer / 60),\n seconds: `${timer % 60}`.padStart(2, '0'),\n })}\n \n
\n {timer === 0 && (\n \n )}\n \n
\n \n );\n }\n}\n\nexport const ResendLetter = connect(\n ({ landing }) => ({\n clientOfficeUri: fp.get('config.clientofficeUrl', landing),\n }),\n)(ResendLetterComponent);\n","import fp from 'lodash/fp';\nimport React, { FC, ComponentProps, useCallback, useEffect } from 'react';\nimport { PartySuggestions, DaDataSuggestion, DaDataParty } from 'react-dadata';\n\nimport { Label, Input, cn, InputProps, usePrevious } from 'Modules/ui2';\n\nimport styles from './index.module.scss';\n\n\nconst token = 'f47078270dcde409c92d9fdef88e6f9ec32f6bc7';\n\n\ntype ParticipantOptionProps = Partial> & {\n data: DaDataSuggestion;\n}\n\nconst ParticipantOption: FC = ({ data, className, onClick }) => (\n
\n {data.data.name?.short_with_opf && (\n \n )}\n \n
\n);\n\nconst ParticipantInput = React.forwardRef(({\n data,\n onChange,\n active,\n onValueChange,\n value,\n readOnly,\n disabled,\n ...props\n}, ref) => {\n // TODO add custom control for dadata component\n const oldActive = usePrevious(active);\n const oldData = usePrevious(data);\n const oldOldData = usePrevious(oldData);\n useEffect(\n () => {\n if (oldActive !== undefined && oldActive && !active && !readOnly &&\n fp.get('value', oldData) === fp.get('value', data) &&\n fp.get('value', data) === fp.get('value', oldOldData))\n onChange({ target: { value: '' } });\n },\n [active, oldActive, onChange, oldData, oldOldData, data, readOnly],\n );\n\n const Option = useCallback(\n ({ className, ...props }) => (\n \n ),\n [data],\n );\n return (\n \n );\n});\n\n\nexport const ParticipantSelect: FC, 'token'>> =\n ({ inputProps: { className, ...inputProps }, value, onChange, ...props }) => (\n ,\n [],\n )}\n {...props}\n />\n );\n","import React, { useCallback } from 'react';\n\nimport { Input, CheckBox, Select, SelectProps, FormControlBase } from 'Modules/ui2';\nimport { wrapFormComponent } from 'Modules/core/forms';\n\nimport { ParticipantSelect } from './Dadata';\n\n\nexport const InputField = wrapFormComponent(Input);\nexport const CheckBoxField = wrapFormComponent(CheckBox);\nexport const SelectField = wrapFormComponent(Select);\n\nexport const ParticipantSelectField = wrapFormComponent(({\n name,\n value,\n onChange,\n onBlur,\n onFocus,\n ...props\n}) => (\n \n));\ntype ParticipantSelectFieldWithMutateProps = FormControlBase & {\n mutate?: (value: any) => void;\n}\nexport const ParticipantSelectFieldWithMutate =\nwrapFormComponent(({\n name,\n value,\n onChange,\n onBlur,\n onFocus,\n active,\n mutate,\n ...props\n}) => (\n {\n if (mutate)\n mutate(value);\n onChange(value);\n }}\n />\n));\n\ntype CertificateFieldProps = SelectProps & { mutate: (value: any) => void }\nexport const CertificateField = wrapFormComponent(({\n onChange,\n mutate,\n ...props\n}) => (\n {\n mutate(cert);\n onChange(cert);\n },\n [mutate, onChange],\n )}\n {...props}\n />\n));\n","import fp from 'lodash/fp';\nimport React from 'react';\nimport { FormSpyProps } from 'react-final-form';\n\nimport { useTranslation } from 'Modules/core/i18n';\n\nimport styles from './index.module.scss';\n\n\nexport const PersonalDataError: FormSpyProps['component'] = ({ errors }) => {\n const { t } = useTranslation('formField');\n return fp.get('usePersonalData', errors)\n ? (\n
\n \n {t('usePersonalData')}\n \n
\n )\n : null;\n};\n","\n import React from 'react';\n import SpriteSymbol from \"../../../../../../node_modules/svg-baker-runtime/browser-symbol.js\";\n import sprite from \"../../../../../../node_modules/svg-sprite-loader/runtime/browser-sprite.build.js\";\n\n const symbol = new SpriteSymbol({\n \"id\": \"documentsArrow.sprite\",\n \"use\": \"documentsArrow.sprite-usage\",\n \"viewBox\": \"0 0 16 16\",\n \"content\": \"\\n\\n\"\n});\n sprite.add(symbol);\n\n const DocumentsArrowSpriteSpriteSymbol = props => (\n \n \n \n );\n export default DocumentsArrowSpriteSpriteSymbol;\n ","import React, { useEffect, useState } from 'react';\nimport fp from 'lodash/fp';\nimport bytes from 'bytes';\nimport { rawRequest, contentTypeJson } from '@factorin/rest';\n\nimport { Label, Link, Text, Button, Note, LoadingIndicator, ClassName, cn, animation, TransitionComponent, Icon } from 'Modules/ui2';\nimport download from 'Modules/ui2/icons/download.sprite.svg';\nimport { wrapRequest } from 'Modules/core/api';\nimport { useSelector } from 'Modules/core/redux';\n\nimport documentsArrow from '../Icons/documentsArrow.sprite.svg';\nimport styles from './index.module.scss';\n\n\nexport interface Document {\n Uid: string;\n DocumentUid: string;\n Date: Date;\n Number: string;\n DocumentTypeUid: string;\n DocumentTypeName: string;\n DocumentTypeCode: string;\n FileUid: string;\n FileName: string;\n FileExtension: string;\n FileSize: number;\n IsPublic: boolean;\n IsDeleted: boolean;\n IsSigned: boolean;\n}\n\nconst getPublicLink = ({ Uid }: Document, clientofficeUrl: string) => fp.pipe(\n fp.filter(fp.identity),\n fp.join(''),\n)([\n clientofficeUrl,\n '/api/v1',\n `/companydocuments/public/${Uid}/download`,\n]);\n\ntype DocumentsProps = ClassName & {\n isDefaultOpen?: boolean;\n}\n\nexport const Documents = React.memo(({ className, isDefaultOpen = false }) => {\n const [docs, setDocs] = useState(null);\n const clientofficeUrl = useSelector('landing.config.clientofficeUrl');\n useEffect(\n () => {\n if (clientofficeUrl) {\n wrapRequest(rawRequest, {\n method: 'GET',\n url: `${clientofficeUrl}/api/v1/companydocuments/public`,\n headers: {\n Accept: contentTypeJson,\n 'Accept-Language': 'ru',\n 'Content-Type': contentTypeJson,\n },\n }).then((docs: Document[]) => fp.isArray(docs) && setDocs(docs));\n }\n },\n [clientofficeUrl],\n );\n\n const [isOpen, setOpen] = useState(isDefaultOpen);\n\n return (\n
\n setOpen(open => !open)}\n >\n \n Документы платформы\n \n \n \n {docs ? docs.map(doc => (\n
\n \n {`${doc.DocumentTypeName} `}\n \n {`${doc.FileExtension.substr(1)}, `}\n {bytes(doc.FileSize, { decimalPlaces: 1 })}\n \n \n
\n )) : }\n
\n
\n
\n );\n});\n","import fp from 'lodash/fp';\nimport { useState, useCallback } from 'react';\nimport { rawRequest, contentTypeJson } from '@factorin/rest';\nimport { config } from '@factorin/container.macro';\n\nimport { wrapRequest } from 'Modules/core/api';\nimport { useSelector } from 'Modules/core/redux';\n\n\nexport const useRequest = (\n path: string,\n mapFormValuesToApi: (data: TValues) => any,\n method?: string,\n onSuccess?: (data: TValues, result: TResult) => void,\n onError?: (error: any) => void,\n) => {\n const [busy, setBusy] = useState(false);\n\n const clientofficeUrl = useSelector('landing.config.clientofficeUrl');\n const request = useCallback(\n async (data: TValues) => {\n if (busy)\n return;\n\n setBusy(true);\n const requestUrl = fp.pipe(fp.compact, fp.join(''))([\n clientofficeUrl || config.basePath,\n 'api/v1',\n path,\n ]);\n\n try {\n const result: TResult = await wrapRequest(rawRequest, {\n method: method || 'POST',\n url: requestUrl,\n headers: {\n Accept: contentTypeJson,\n 'Accept-Language': 'ru',\n 'Content-Type': contentTypeJson,\n },\n withCredentials: true,\n data: JSON.stringify(mapFormValuesToApi(data)),\n });\n\n if (onSuccess)\n onSuccess(data, result);\n } catch (error) {\n setBusy(false);\n if (onError)\n onError(error);\n }\n },\n [busy, clientofficeUrl, path, method, mapFormValuesToApi, onSuccess, onError],\n );\n\n return {\n busy,\n request,\n };\n};\n","\n import React from 'react';\n import SpriteSymbol from \"../../../../../../node_modules/svg-baker-runtime/browser-symbol.js\";\n import sprite from \"../../../../../../node_modules/svg-sprite-loader/runtime/browser-sprite.build.js\";\n\n const symbol = new SpriteSymbol({\n \"id\": \"registration.sprite\",\n \"use\": \"registration.sprite-usage\",\n \"viewBox\": \"0 0 560 521\",\n \"content\": \"\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\"\n});\n sprite.add(symbol);\n\n const RegistrationSpriteSpriteSymbol = props => (\n \n \n \n );\n export default RegistrationSpriteSpriteSymbol;\n ","import React, { FC, useCallback } from 'react';\nimport { Form, Field, FormSpy } from 'react-final-form';\nimport { DaDataSuggestion, DaDataParty } from 'react-dadata';\n\nimport { Button, Desktop, GridColumn, GridRow, Label, linkAnchorClass, useMobile } from 'Modules/ui2';\nimport { validators, getError } from 'Modules/core/forms';\n\nimport { DefaultComponentProps } from '../types';\nimport { CheckBoxField, InputField, ParticipantSelectField } from '../../Fields';\nimport { PersonalDataError } from '../PersonalDataError';\nimport { Documents } from '../Documents';\nimport { useRequest } from '../hooks';\nimport RegistrationIcon from '../Icons/registration.sprite.svg';\nimport styles from './index.module.scss';\n\n\nconst phoneMask = '+7(999)999-99-99';\nconst phoneValidation = getError(\n { key: 'phone' },\n v => v && v.length === phoneMask.length,\n);\n\nexport type LeadValues = {\n surname: string;\n firstName: string;\n company: DaDataSuggestion;\n phone: string;\n email: string;\n email2: string;\n usePersonalData: boolean;\n}\n\nexport type LeadResult = {\n Uid: string;\n INN: string;\n Email: string;\n Surname: string;\n FirstName: string;\n MiddleName: string;\n PhoneNumber: string;\n LeadgeneratorName: string;\n TariffTypeCode: string;\n IsMobile: boolean;\n}\n\nconst mapFormValuesToApi = (data: LeadValues) => ({\n INN: data.company.data.inn,\n Email: data.email,\n PhoneNumber: data.phone,\n Surname: data.surname,\n FirstName: data.firstName,\n});\n\nexport const Lead: FC = ({ t, setStage }) => {\n const onSuccess = useCallback(\n (values: LeadValues, leadResult: LeadResult) => setStage('rate', { values, leadResult }),\n [setStage],\n );\n const { busy, request } = useRequest('/leads', mapFormValuesToApi, 'POST', onSuccess);\n const isMobile = useMobile();\n return (\n
\n \n {t('lead.header')}\n \n \n \n \n subscription={{ hasValidationErrors: true, values: true }}\n onSubmit={request}\n >\n {({ hasValidationErrors, values }) => (\n <>\n
\n \n \n \n \n \n \n
\n \n \n {t('lead.fields.legal', { linkClass: linkAnchorClass })}\n \n \n \n
\n \n request(values)}\n loading={busy}\n >\n {t('lead.button')}\n \n \n )}\n \n
\n \n \n
\n \n
\n
\n
\n
\n \n \n \n \n \n
\n );\n};\n","\n import React from 'react';\n import SpriteSymbol from \"../../../../../../../node_modules/svg-baker-runtime/browser-symbol.js\";\n import sprite from \"../../../../../../../node_modules/svg-sprite-loader/runtime/browser-sprite.build.js\";\n\n const symbol = new SpriteSymbol({\n \"id\": \"check.sprite\",\n \"use\": \"check.sprite-usage\",\n \"viewBox\": \"0 0 26 26\",\n \"content\": \"\\n \\n\"\n});\n sprite.add(symbol);\n\n const CheckSpriteSpriteSymbol = props => (\n \n \n \n );\n export default CheckSpriteSpriteSymbol;\n ","\n import React from 'react';\n import SpriteSymbol from \"../../../../../../../../node_modules/svg-baker-runtime/browser-symbol.js\";\n import sprite from \"../../../../../../../../node_modules/svg-sprite-loader/runtime/browser-sprite.build.js\";\n\n const symbol = new SpriteSymbol({\n \"id\": \"nonCheck.sprite\",\n \"use\": \"nonCheck.sprite-usage\",\n \"viewBox\": \"0 0 26 26\",\n \"content\": \"\\n \\n \\n\"\n});\n sprite.add(symbol);\n\n const NonCheckSpriteSpriteSymbol = props => (\n \n \n \n );\n export default NonCheckSpriteSpriteSymbol;\n ","import React, { FC } from 'react';\n\nimport { GridColumn, Label, cn, useMobile } from 'Modules/ui2';\nimport { useTranslation } from 'Modules/core/i18n';\n\nimport Check from '../check.sprite.svg';\nimport NonCheck from './nonCheck.sprite.svg';\nimport styles from './index.module.scss';\n\n\ntype ProffitProps = {\n value: string;\n isSelected: boolean;\n}\n\nexport const Proffit: FC = ({ value, isSelected }) => {\n const { t } = useTranslation('registrationForm');\n const isMobile = useMobile();\n return (\n \n \n {isSelected ? : }\n \n );\n};\n\nconst proffits = [\n 'fast',\n 'verified',\n 'registers',\n 'discounting',\n 'individual',\n];\n\ntype ProffitsProps = {\n selected: number[];\n onlySelected?: boolean;\n}\n\nexport const Proffits: FC = ({ selected, onlySelected }) => (\n \n {(onlySelected ? selected.map(index => proffits[index]) : proffits).map((value, index) => (\n \n ))}\n \n);\n","import React, { FC, useCallback, MouseEventHandler, useRef, useEffect } from 'react';\n\nimport { GridColumn, Button, Label, cn, Desktop, Mobile, scrollToTop } from 'Modules/ui2';\nimport { useTranslation } from 'Modules/core/i18n';\n\nimport Check from '../check.sprite.svg';\nimport { PriceCardProps, PricesProps } from './types';\nimport styles from './index.module.scss';\n\n\nexport const PriceCard: FC = ({\n className,\n onSelect,\n priceKey,\n selected,\n selectedClassName,\n priceTextSize = '40',\n mobile,\n}) => {\n const timer = useRef>();\n const buttonRef = useRef();\n const select = useCallback>(\n () => {\n onSelect(priceKey);\n if (mobile) {\n timer.current = setTimeout(() => {\n const { top } = buttonRef.current?.getBoundingClientRect();\n const { scrollTop } = document.documentElement || document.body;\n scrollToTop(top + scrollTop - 4);\n }, 300);\n }\n },\n [priceKey, onSelect, mobile],\n );\n\n useEffect(\n () => () => clearTimeout(timer.current),\n [],\n );\n\n const { t } = useTranslation('registrationForm');\n return (\n \n \n \n \n \n \n
\n \n \n \n );\n};\n\nexport const Prices: FC = ({ data, selected, onSelect }) => (\n \n {data.map(price => (\n \n ))}\n \n);\n\nexport * from './types';\n","import fp from 'lodash/fp';\nimport React, { FC } from 'react';\n\nimport { animation, GridColumn, GridRow, TransitionComponent } from 'Modules/ui2';\n\nimport { Proffits } from './Proffits';\nimport { Prices, PriceCardKeys, Price, PriceCard } from './Prices';\nimport { Tariff, TariffsProps } from './types';\nimport styles from './index.module.scss';\n\n\ntype MapData = (data: TariffsProps['data']) => (Pick & Price)[];\nconst mapData: MapData = fp.pipe(\n fp.toPairs,\n fp.map<[PriceCardKeys, Tariff], ReturnType[0]>(\n ([key, { proffits, ...value }]) => ({\n priceKey: key,\n ...value,\n }),\n ),\n);\n\nexport const Tariffs: FC = ({ data, select, selected }) => (\n \n \n \n \n);\n\nexport const MobileTariffs: FC = ({ data, select, selected, buttonProps }) => (\n
\n {mapData(data).map(({ priceKey, priceTextSize, button: Button, onlySelected }) => (\n \n \n \n \n \n \n \n
\n);\n\nexport * from './Prices';\nexport * from './types';\n","\n import React from 'react';\n import SpriteSymbol from \"../../../../../../../../node_modules/svg-baker-runtime/browser-symbol.js\";\n import sprite from \"../../../../../../../../node_modules/svg-sprite-loader/runtime/browser-sprite.build.js\";\n\n const symbol = new SpriteSymbol({\n \"id\": \"warningBanner.sprite\",\n \"use\": \"warningBanner.sprite-usage\",\n \"viewBox\": \"0 0 28 28\",\n \"content\": \"\\n\\n\\n\\n\"\n});\n sprite.add(symbol);\n\n const WarningBannerSpriteSpriteSymbol = props => (\n \n \n \n );\n export default WarningBannerSpriteSpriteSymbol;\n ","import React, { FC, useCallback, useState } from 'react';\nimport Draggable, { DraggableEventHandler } from 'react-draggable';\n\nimport { Button, ClosingOverlay, Label, Text, cn } from 'Modules/ui2';\nimport { WithT } from 'Modules/core/i18n';\n\nimport Warning from './warningBanner.sprite.svg';\nimport styles from './index.module.scss';\n\n\nconst FULL_HEIGHT = 292;\nconst CLOSE_DELTA = FULL_HEIGHT / 4;\n\ntype ErrorBannerProps = WithT & {\n onClose: () => void;\n}\n\nexport const ErrorBanner: FC = ({ t, onClose }) => {\n const [height, setHeight] = useState(292);\n const handleDrag = useCallback(\n (e, data) => setHeight(height => height - data.deltaY),\n [],\n );\n const handleStop = useCallback(\n () => {\n const needClose = Math.abs(FULL_HEIGHT - height) > CLOSE_DELTA;\n if (needClose)\n onClose();\n else\n setHeight(FULL_HEIGHT);\n },\n [height, setHeight, onClose],\n );\n return (\n \n
\n
\n
\n \n \n
\n \n {t('rate.error.description')}\n \n \n {t('rate.error.button')}\n \n \n
\n \n );\n};\n","import fp from 'lodash/fp';\nimport React, { ComponentProps, FC, useCallback, useState } from 'react';\n\nimport { animation, Button, Portal, TransitionComponent } from 'Modules/ui2';\n\nimport { useRequest } from '../../hooks';\nimport { LeadResult } from '../../Lead';\nimport { Tariff } from '../Tariffs';\nimport { RateProps } from '../types';\nimport { ErrorBanner } from './ErrorBanner';\n\n\nconst mapLeadForRequest = (data: LeadResult) => ({\n ...fp.omit(['Uid', 'LeadGeneratorName', 'IsMobile'], data),\n IsMobile: true,\n});\n\ntype ShowErrorButtonProps = ComponentProps & {\n type: string;\n}\n\nexport const ShowErrorButton: FC = ({ t, type, leadResult }) => {\n const [isShow, showError] = useState(false);\n\n const { request } = useRequest(`/leads/${leadResult.Uid}`, mapLeadForRequest, 'PUT');\n const sendMobileLead = useCallback(\n () => request({ ...leadResult, TariffTypeCode: type }),\n [leadResult, type, request],\n );\n const showErrorWithSendLead = useCallback(\n () => {\n sendMobileLead();\n showError(true);\n },\n [sendMobileLead],\n );\n\n return (\n <>\n \n {t('rate.buttons.continue')}\n \n \n \n showError(false)} />\n \n \n \n );\n};\n\nexport const ContinueButton: Tariff['button'] = ({ t, setStage, className, values }) => {\n const showForm = useCallback(\n () => setStage('cryptoProImport', { values: fp.omit('usePersonalData', values) }),\n [values, setStage],\n );\n return (\n \n {t('rate.buttons.continue')}\n \n );\n};\n\nconst mapFormValuesToApi = (data: RateProps['values']) => ({\n Surname: data.surname,\n FirstName: data.firstName,\n CompanyName: data.company.value,\n CompanyINN: data.company.data.inn,\n CompanyOGRN: data.company.data.ogrn,\n CompanyKPP: data.company.data.kpp,\n Email: data.email,\n Email2: data.email2 || '',\n PhoneNumber: data.phone,\n AllowUsePersonalData: true,\n});\n\nconst INNFailureMessage = 'CompanyINN:Компания с таким ИНН уже зарегистрирована';\n\nexport const RegisterButton: Tariff['button'] = ({ t, setStage, values, className }) => {\n const onSuccess = useCallback(\n (values, data) => data.Created\n ? setStage('successLite')\n : setStage('resendLetter', {\n email: values.email,\n timer: data.ConfirmCodeRequestRemaining,\n }),\n [setStage],\n );\n const onReject = useCallback(\n error => {\n const message = fp.get('message', error);\n if (message === INNFailureMessage)\n setStage('failureINNLite');\n else\n setStage('failureLite', { error: message || t('failureLite.unknown') });\n },\n [setStage, t],\n );\n const { busy, request } = useRequest(\n '/registration/createlight',\n mapFormValuesToApi,\n 'POST',\n onSuccess,\n onReject,\n );\n\n const sendRequest = useCallback(\n () => request(values),\n [request, values],\n );\n return (\n \n {t('rate.buttons.register')}\n \n );\n};\n","import React, { FC, useState } from 'react';\n\nimport { Desktop, Label, Mobile, useMobile } from 'Modules/ui2';\n\nimport { PriceCardKeys, Tariffs, MobileTariffs, Tariff } from './Tariffs';\nimport { Documents } from '../Documents';\nimport { ContinueButton, RegisterButton, ShowErrorButton } from './Buttons';\nimport { RateProps } from './types';\nimport styles from './index.module.scss';\n\n\nconst tariffs: Record = {\n application: {\n proffits: [0],\n button: RegisterButton,\n },\n factoring: {\n className: styles.factoringPrice,\n selectedClassName: styles.selected,\n proffits: [0, 1, 2, 3],\n button: ContinueButton,\n },\n majors: {\n className: styles.majorsPrice,\n proffits: [0, 1, 2, 3, 4],\n priceTextSize: '21-24',\n button: ContinueButton,\n },\n};\n\nconst mobileTariffs: Record = {\n application: {\n proffits: [0],\n onlySelected: true,\n button: RegisterButton,\n },\n factoring: {\n className: styles.factoringPrice,\n selectedClassName: styles.selected,\n proffits: [0, 1, 2, 3],\n button: props => ,\n },\n majors: {\n className: styles.majorsPrice,\n proffits: [4],\n onlySelected: true,\n priceTextSize: '21-24',\n button: props => ,\n },\n};\n\nexport const Rate: FC = props => {\n const { landingOwnerUid, t } = props;\n const [selected, setSelected] = useState('application');\n\n const Button = landingOwnerUid ? ContinueButton : tariffs[selected].button;\n\n const mobile = useMobile();\n\n return (\n
\n \n
\n \n \n
\n \n
\n \n \n \n \n \n \n
\n );\n};\n","import React, { FC } from 'react';\nimport { Bowser } from '@factorin/util';\n\nimport { Icon, Label, Text, Button, linkAnchorClass } from 'Modules/ui2/components';\nimport warning from 'Modules/ui2/icons/warning.sprite.svg';\nimport { cryptoProPluginDownload, cryptoProLinks } from 'Modules/business/cryptoprofiles';\n\nimport { DefaultComponentProps } from '../../types';\nimport styles from './index.module.scss';\n\n\nconst bowser = new Bowser();\n\nexport type PluginNotInstalledProps = Pick & {\n details: string;\n}\n\nexport const PluginNotInstalled: FC = ({ t, setStage, details }) => (\n
\n \n \n \n {t('plugin.details', { details })}\n \n \n {t('plugin.description', { link: cryptoProPluginDownload, linkClass: linkAnchorClass })}\n \n {cryptoProLinks[bowser.name] && (\n \n {t('plugin.descriptionAdditional', {\n additionalLink: cryptoProLinks[bowser.name],\n linkClass: linkAnchorClass,\n })}\n \n )}\n setStage('rate')}\n >\n {t('plugin.return')}\n \n
\n);\n","import fp from 'lodash/fp';\nimport React, { FC, useCallback, useMemo } from 'react';\nimport { Form as FinalForm, Field, FormSpy, FormProps as FinalFormProps } from 'react-final-form';\nimport { checkSnils, checkOgrn, checkOgrnip } from 'ru-validation-codes';\nimport { DaDataSuggestion, DaDataParty } from 'react-dadata';\nimport { Common } from '@factorin/domain';\n\nimport { Button, GridColumn, GridRow, Label, Text, linkAnchorClass } from 'Modules/ui2';\nimport { getError, validators } from 'Modules/core/forms';\n\nimport { SelectField, CertificateField, InputField, CheckBoxField, ParticipantSelectField } from '../../Fields';\nimport { PersonalDataError } from '../PersonalDataError';\nimport { DefaultComponentProps } from '../types';\nimport { useRequest } from '../hooks';\nimport { LeadValues } from '../Lead';\nimport { PluginNotInstalled, PluginNotInstalledProps } from './PluginNonInstalled';\nimport { Certificate, CertInfo } from './types';\nimport styles from './index.module.scss';\n\n\nexport const roles = [\n ['9312b1cb-3d0e-442d-9e4e-ac737eec6448', 'client'],\n ['e12411e0-6f75-4946-abed-56bc56cef9e0', 'factor'],\n ['562c5372-9f94-4f7a-b216-bd59a6a9b59f', 'debtor'],\n];\n\ntype FormValues = any;\n\nconst phoneMask = '+7(999)999-99-99';\n\nconst ogrnValidation = getError({ key: 'ogrn' }, checkOgrn);\nconst ogrnipValidation = getError({ key: 'ogrnip' }, checkOgrnip);\n\nconst validationNone = getError({ key: 'none' }, v => fp.isEmpty(v));\n\nconst companyValidation = (value: DaDataSuggestion, values: FormValues) =>\n values.certInn && fp.pipe(\n fp.get('data.inn'),\n fp.negate(fp.isEqual(values.certInn)),\n )(value) ? { key: 'differenceINN' } : undefined;\n\nconst getFromInfo = fp.curry((title, info) => fp.pipe(\n fp.find(fp.pipe(\n fp.get('title'),\n fp.equals(title),\n )),\n fp.get('descr'),\n fp.trim,\n)(info));\n\ntype Getter = (info: CertInfo[]) => string | boolean;\n\nconst getInnFromInfo = fp.pipe(\n (info: CertInfo[]) => getFromInfo('ИНН ЮЛ', info) || getFromInfo('ИНН', info),\n inn => inn.startsWith('00') ? inn.substring(2) : inn,\n);\n\nconst isIPCert: Getter = info => !!getFromInfo('ОГРНИП', info);\nconst isIndividual: Getter = info => !isIPCert(info) && !getFromInfo('ОГРН', info);\n\nconst mapCertInfo: Common.Catalog = {\n surname: info => getFromInfo('Фамилия', info) || getFromInfo('Владелец', info),\n firstName: fp.pipe(\n getFromInfo('Имя Отчество'),\n fp.split(' '),\n fp.get(0),\n ),\n middleName: fp.pipe(\n getFromInfo('Имя Отчество'),\n fp.split(' '),\n fp.drop(1),\n fp.join(' '),\n ),\n role: () => roles[0][0],\n certInn: info => !isIndividual(info) ? getInnFromInfo(info) : null,\n isIP: isIPCert,\n kpp: getFromInfo('KPP'),\n ogrn: info => getFromInfo('ОГРНИП', info) || getFromInfo('ОГРН', info),\n snils: fp.pipe(\n getFromInfo('СНИЛС'),\n snils => {\n if (!snils)\n return '';\n\n if (checkSnils(snils))\n return snils;\n\n const formattedSnils = `${snils.substring(0, 3)}-${snils.substring(3, 6)}-${snils.substring(6, 9)} ${snils.substring(9, 12)}`;\n\n if (checkSnils(formattedSnils))\n return formattedSnils;\n\n return '';\n },\n ),\n};\n\nconst formMutators: FinalFormProps['mutators'] = {\n setCertificate: ([{ info }], state, { changeValue }) => fp.pipe(\n fp.mapValues>(getter => getter(info)),\n fp.toPairs,\n fp.forEach(([key, value]) => changeValue(state, key, () => value)),\n )(mapCertInfo),\n};\n\nconst formDataMap = {\n Surname: fp.get('surname'), // Ф\n FirstName: fp.get('firstName'), // И\n MiddleName: fp.get('middleName'), // О\n Email: fp.get('email'),\n PhoneNumber: fp.get('phone'),\n CompanyName: fp.get('company.data.name.short_with_opf'), // dadata field\n CompanyINN: fp.get('company.data.inn'), // dadata field\n CompanyKPP: fp.get('kpp'),\n SNILS: fp.get('snils'),\n CompanyOGRN: fp.get('ogrn'),\n AllowUsePersonalData: fp.get('usePersonalData'),\n Base64Certificate: fp.get('certificate.base64'),\n UserRoleUid: fp.get('role'),\n};\n\ntype FormProps = DefaultComponentProps & {\n errorDetails?: PluginNotInstalledProps['details'];\n values: Omit;\n certificates?: Certificate[];\n}\n\nexport const Form: FC = ({\n t,\n setStage,\n values,\n certificates = [],\n landingOwnerUid,\n errorDetails,\n}) => {\n const onSuccess = useCallback(\n (values, data) => data.Created\n ? setStage('success', { data, values })\n : setStage('resendLetter', {\n email: values.email,\n timer: data.ConfirmCodeRequestRemaining,\n }),\n [setStage],\n );\n const onReject = useCallback(\n error => setStage(\n 'failure',\n { error: fp.get('message', error) || t('failure.unknown') },\n ),\n [setStage, t],\n );\n const mapFormValuesToApi = useCallback(\n (values: FormValues) => ({\n ...fp.mapValues(getter => getter(values), formDataMap),\n LandingOwnerUid: landingOwnerUid,\n }),\n [landingOwnerUid],\n );\n const { busy, request } = useRequest(\n '/registration/create',\n mapFormValuesToApi,\n 'POST',\n onSuccess,\n onReject,\n );\n\n const certificateOptions = useMemo(\n () => certificates.map(cert => ({\n label: cert.label,\n value: cert,\n })),\n [certificates],\n );\n\n const rolesOptions = useMemo(\n () => roles.map(([id, name]) => ({\n value: id,\n label: t(`entry.roles.${name}`),\n })),\n [t],\n );\n\n const initialValues = useMemo(\n () => errorDetails ? {} : {\n certificate: certificates[0],\n ...fp.mapValues(getter => getter(certificates[0].info), mapCertInfo),\n ...values,\n },\n [errorDetails, certificates, values],\n );\n\n const disabledFields = busy || !!errorDetails;\n return (\n
\n \n {t('form.header')}\n \n {errorDetails && (\n \n )}\n {!errorDetails && (\n \n {t('form.description')}\n \n )}\n \n onSubmit={request}\n mutators={formMutators}\n initialValues={initialValues}\n subscription={{ hasValidationErrors: true, values: true }}\n >\n {({\n form: { mutators: { setCertificate } },\n values,\n hasValidationErrors,\n handleSubmit,\n }) => (\n
\n \n \n \n \n \n \n \n \n \n \n \n validators.required(value) ||\n companyValidation(value, values)}\n label={t('lead.fields.company.label')}\n needInitialValidate={!errorDetails}\n\n disabled={disabledFields}\n />\n \n \n \n \n \n \n \n \n \n \n validators.pipe(\n validators.required,\n fp.get('isIP', values)\n ? ogrnipValidation\n : ogrnValidation,\n )(ogrn)}\n label={t(`entry.fields.ogrn.label.${fp.get('isIP', values)\n ? 'individual'\n : 'company'\n }`)}\n placeholder='1234567890123'\n needInitialValidate={!errorDetails}\n\n disabled={disabledFields}\n />\n \n \n \n \n \n \n fp.get('isIP', values)\n ? validationNone(kpp)\n : validators.pipe(\n validators.required,\n validators.is.kpp,\n )(kpp)\n }\n label={t('entry.fields.kpp.label')}\n placeholder={fp.get('isIP', values)\n ? t('entry.fields.notApplicable')\n : '123456789'}\n needInitialValidate={!errorDetails}\n\n disabled={disabledFields}\n />\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n {t('lead.fields.legal', { linkClass: linkAnchorClass })}\n \n \n \n \n \n {t('form.button')}\n \n \n )}\n \n
\n );\n};\n","\n import React from 'react';\n import SpriteSymbol from \"../../../../../../node_modules/svg-baker-runtime/browser-symbol.js\";\n import sprite from \"../../../../../../node_modules/svg-sprite-loader/runtime/browser-sprite.build.js\";\n\n const symbol = new SpriteSymbol({\n \"id\": \"registrationSuccess.sprite\",\n \"use\": \"registrationSuccess.sprite-usage\",\n \"viewBox\": \"0 0 110 116\",\n \"content\": \"\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\"\n});\n sprite.add(symbol);\n\n const RegistrationSuccessSpriteSpriteSymbol = props => (\n \n \n \n );\n export default RegistrationSuccessSpriteSpriteSymbol;\n ","\n import React from 'react';\n import SpriteSymbol from \"../../../../../../node_modules/svg-baker-runtime/browser-symbol.js\";\n import sprite from \"../../../../../../node_modules/svg-sprite-loader/runtime/browser-sprite.build.js\";\n\n const symbol = new SpriteSymbol({\n \"id\": \"registrationFailure.sprite\",\n \"use\": \"registrationFailure.sprite-usage\",\n \"viewBox\": \"0 0 117 89\",\n \"content\": \"\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\"\n});\n sprite.add(symbol);\n\n const RegistrationFailureSpriteSpriteSymbol = props => (\n \n \n \n );\n export default RegistrationFailureSpriteSpriteSymbol;\n ","import { Bowser } from '@factorin/util';\nimport React, { useState, useCallback, useMemo } from 'react';\n\nimport { UI2Migration } from 'Modules/ui2/components';\nimport { cn } from 'Modules/ui2/utils';\nimport { useTranslation } from 'Modules/core/i18n';\nimport { Portal } from 'Modules/ui';\n\nimport { CryptoProImport, NoCertificateComponent } from './CryptoProImport';\nimport { SuccessfulRegistrationComponent, FailedRegistrationComponent } from './FormComponent';\nimport { PlatformNotSupportedComponent, BrowserNotSupportedComponent } from './ErrorsAndWarnings';\nimport { ResendLetter } from './ResendLetter';\nimport { Lead } from './Lead';\nimport { Rate } from './Rate';\nimport { Form } from './Form';\nimport { SuccessLite } from './SuccessLite';\nimport { FailureLite } from './FailureLite';\nimport { FailureINNLite } from './FailureINNLite';\nimport { supportedBrowsers } from '../../constants';\nimport styles from './index.module.scss';\n\n\nconst bowser = new Bowser();\n\nconst stages = {\n cryptoProImport: CryptoProImport,\n lead: Lead,\n rate: Rate,\n form: Form,\n success: SuccessfulRegistrationComponent,\n failure: FailedRegistrationComponent,\n platformNotSuported: PlatformNotSupportedComponent,\n browserNotSuported: BrowserNotSupportedComponent,\n noCertificate: NoCertificateComponent,\n resendLetter: ResendLetter,\n successLite: SuccessLite,\n failureLite: FailureLite,\n failureINNLite: FailureINNLite,\n};\n\nconst initCheckStages = stages => {\n if (bowser.tablet)\n return stages.platformNotSuported;\n\n if (!bowser.satisfies(supportedBrowsers))\n return stages.browserNotSuported;\n\n return stages.lead;\n};\n\nconst getProgress = stage => {\n if (stage === stages.lead)\n return '0';\n if (stage === stages.rate)\n return '50%';\n return '100%';\n};\n\n/** @type {React.FC<{ landingOwnerUid?: string; className?: string; }>} */\nexport const FactorinRegistrationForm = ({ landingOwnerUid, className, children }) => {\n const { t } = useTranslation('registrationForm');\n const [{ Component, ...componentProps }, setState] = useState(() => ({\n Component: initCheckStages(stages),\n landingOwnerUid,\n }));\n const setStage = useCallback(\n (stage, props) => setState(state => ({\n ...state,\n Component: stages[stage],\n ...props,\n })),\n [],\n );\n\n const width = useMemo(() => getProgress(Component), [Component]);\n\n return (\n \n \n
\n \n {children}\n \n \n );\n};\n","import React from 'react';\n\nimport { Text, Icon, Button, linkAnchorClass, Label } from 'Modules/ui2/components';\nimport warning from 'Modules/ui2/icons/warning.sprite.svg';\n\nimport success from './success.sprite.svg';\nimport commonStyles from '../common.module.scss';\nimport styles from './index.module.scss';\n\n\nexport const SuccessfulRegistrationComponent = ({ t, email }) => (\n <>\n \n \n \n {t('success.description', { email, linkClass: linkAnchorClass })}\n \n \n);\n\nexport const FailedRegistrationComponent = ({ t, error, setStage }) => (\n <>\n \n \n \n {error}\n \n \n {t('failure.description')}\n \n setStage('form')}\n >\n {t('failure.backToForm')}\n \n \n);\n","import React from 'react';\n\nimport { Icon, Label, Text, Link } from 'Modules/ui2/components';\nimport warning from 'Modules/ui2/icons/warning.sprite.svg';\nimport help from 'Modules/ui2/icons/help.sprite.svg';\nimport { cryptoProPluginAbout } from 'Modules/business/cryptoprofiles';\n\nimport styles from '../common.module.scss';\n\n\nexport const PlatformNotSupportedComponent = ({ t }) => (\n <>\n \n \n \n {t('platform.description')}\n \n \n {t('platform.requirements')}\n \n \n help@factorin.io\n \n \n);\n\nexport const BrowserNotSupportedComponent = ({ t }) => (\n <>\n \n \n \n {t('browser.description', { link: cryptoProPluginAbout })}\n \n \n);\n","import React, { FC } from 'react';\nimport { Link } from 'react-router-dom';\n\nimport { scrollToTop, useTimeoutEffect } from 'Modules/ui2';\nimport { Text, Button, Label } from 'Modules/ui2/components';\n\nimport SuccessIcon from '../Icons/registrationSuccess.sprite.svg';\nimport { DefaultComponentProps } from '../types';\nimport commonStyles from '../common.module.scss';\n\n\nexport const SuccessLite: FC = ({ t }) => {\n useTimeoutEffect(scrollToTop, 100);\n return (\n <>\n
\n \n
\n \n \n {t('successLite.description')}\n \n \n \n {t('successLite.button')}\n \n \n \n );\n};\n","import React, { FC, useCallback } from 'react';\n\nimport { scrollToTop, useTimeoutEffect } from 'Modules/ui2';\nimport { Text, Button, Label, linkAnchorClass } from 'Modules/ui2/components';\n\nimport FailureIcon from '../Icons/registrationFailure.sprite.svg';\nimport { DefaultComponentProps } from '../types';\nimport commonStyles from '../common.module.scss';\n\n\ntype FailureLiteProps = DefaultComponentProps & {\n error: string;\n}\n\nexport const FailureLite: FC = ({ t, error, setStage }) => {\n useTimeoutEffect(scrollToTop, 100);\n return (\n <>\n
\n \n
\n \n \n {error}\n \n \n {t('failureLite.description', { linkClass: linkAnchorClass })}\n \n setStage('lead'),\n [setStage],\n )}\n >\n {t('failureLite.button')}\n \n \n );\n};\n","import React, { FC, useCallback } from 'react';\n\nimport { scrollToTop, useTimeoutEffect } from 'Modules/ui2';\nimport { Text, Button, Label, linkAnchorClass } from 'Modules/ui2/components';\n\nimport FailureIcon from '../Icons/registrationFailure.sprite.svg';\nimport { DefaultComponentProps } from '../types';\nimport commonStyles from '../common.module.scss';\n\n\ntype FailureLiteProps = DefaultComponentProps & {\n error: string;\n}\n\nexport const FailureINNLite: FC = ({ t, setStage }) => {\n useTimeoutEffect(scrollToTop, 100);\n return (\n <>\n
\n \n
\n \n \n {t('failureINNLite.description1', { linkClass: linkAnchorClass })}\n \n \n {t('failureINNLite.description2', { linkClass: linkAnchorClass })}\n \n setStage('lead'),\n [setStage],\n )}\n >\n {t('failureINNLite.button')}\n \n \n );\n};\n","import React from 'react';\nimport { delay } from '@factorin/util';\n\nimport { getCertsList, EmptyCertificateListError } from 'Modules/business/cryptopro';\nimport { Button, Label, Text, Icon } from 'Modules/ui2/components';\nimport info from 'Modules/ui2/icons/info.sprite.svg';\nimport warning from 'Modules/ui2/icons/warning.sprite.svg';\nimport { allowedOids } from 'Modules/business/cryptoprofiles';\n\nimport styles from '../common.module.scss';\n\n\nexport class NoCertificateComponent extends React.PureComponent {\n state = {\n busy: false,\n };\n\n updateCertificates = async () => {\n const { updateCertificates } = this.props;\n this.setState({ busy: true });\n if (!await updateCertificates()) {\n // add delay so it doesn't feel instant with broken button\n await delay(1000);\n this.setState({ busy: false });\n }\n };\n\n render() {\n const { t } = this.props;\n const { busy } = this.state;\n return (\n <>\n\n \n \n \n {t('noCertificate.description')}\n \n \n {t('noCertificate.refresh')}\n \n \n );\n }\n}\n\nconst filterCertificates = async cert => {\n const { oid } = await cert.getAlgorithm();\n if (!Object.keys(allowedOids).includes(oid))\n return null;\n\n const [info, base64] = await Promise.all([\n cert.getOwnerInfo(),\n cert.exportBase64(),\n ]);\n\n return {\n thumbprint: cert.thumbprint,\n label: cert.label,\n info,\n base64,\n };\n};\n\nexport class CryptoProImport extends React.PureComponent {\n componentDidMount() {\n this.initCertificates();\n }\n\n componentDidUpdate() {\n this.initCertificates();\n }\n\n initCertificates = async () => {\n const { setStage } = this.props;\n\n try {\n const updateCertificates = async () => {\n try {\n const allCerts = await getCertsList();\n const certificates = Array.from(await Promise.all(\n allCerts.map(filterCertificates),\n )).filter(data => data != null);\n\n if (certificates.length === 0)\n return false;\n\n setStage('form', { certificates });\n return true;\n } catch (err) {\n if (err instanceof EmptyCertificateListError)\n return false;\n throw err;\n }\n };\n\n if (!await updateCertificates())\n setStage('noCertificate', { updateCertificates });\n } catch (error) {\n setStage('form', { errorDetails: `${error.message}` });\n }\n };\n\n render() {\n const { t } = this.props;\n return (\n <>\n \n \n \n {t('allow.description')}\n \n \n );\n }\n}\n","\n import React from 'react';\n import SpriteSymbol from \"../../../../../../node_modules/svg-baker-runtime/browser-symbol.js\";\n import sprite from \"../../../../../../node_modules/svg-sprite-loader/runtime/browser-sprite.build.js\";\n\n const symbol = new SpriteSymbol({\n \"id\": \"success.sprite\",\n \"use\": \"success.sprite-usage\",\n \"viewBox\": \"0 0 80 94\",\n \"content\": \"\\n \\n\"\n});\n sprite.add(symbol);\n\n const SuccessSpriteSpriteSymbol = props => (\n \n \n \n );\n export default SuccessSpriteSpriteSymbol;\n ","import fp from 'lodash/fp';\nimport React from 'react';\nimport { config } from '@factorin/container.macro';\nimport { rawRequest } from '@factorin/rest';\n\nimport { wrapRequest } from 'Modules/core/api';\nimport { connect } from 'Modules/core/redux';\nimport { Icon, Label, Text, Button } from 'Modules/ui2/components';\nimport warning from 'Modules/ui2/icons/warning.sprite.svg';\n\nimport styles from '../common.module.scss';\n\n\nclass ResendLetterComponent extends React.PureComponent {\n state = {\n timer: this.props.timer,\n };\n\n componentDidMount() {\n const { timer } = this.props;\n if (timer > 0)\n this.timer = setInterval(this.tick, 1000);\n }\n\n tick = () => this.setState(({ timer }) => {\n if (timer === 0)\n return clearInterval(this.timer);\n return { timer: timer - 1 };\n });\n\n resendLetter = async () => {\n const { t, setStage, email, clientOfficeUri = '' } = this.props;\n try {\n await wrapRequest(rawRequest, {\n method: 'POST',\n url: fp.pipe(fp.compact, fp.join(''))([\n clientOfficeUri || config.basePath,\n '/api/v1',\n '/registration/confirmcode',\n ]),\n params: { email },\n });\n setStage('success', { email });\n } catch ({ message }) {\n setStage('failure', { error: message || t('failure.unknown') });\n }\n };\n\n render() {\n const { t, setStage } = this.props;\n const { timer } = this.state;\n return (\n <>\n \n \n \n {timer === 0\n ? t('resending.description')\n : t('resending.await', {\n minutes: Math.floor(timer / 60),\n seconds: `${timer % 60}`.padStart(2, '0'),\n })}\n \n
\n {timer === 0 && (\n \n )}\n \n
\n \n );\n }\n}\n\nexport const ResendLetter = connect(\n state => ({\n clientOfficeUri: fp.get('config.clientofficeUrl', state),\n }),\n)(ResendLetterComponent);\n","import fp from 'lodash/fp';\nimport React from 'react';\nimport { FormSpyProps } from 'react-final-form';\n\nimport { useTranslation } from 'Modules/core/i18n';\n\nimport styles from './index.module.scss';\n\n\nexport const PersonalDataError: FormSpyProps['component'] = ({ errors }) => {\n const { t } = useTranslation('formField');\n return fp.get('usePersonalData', errors)\n ? (\n
\n \n {t('usePersonalData')}\n \n
\n )\n : null;\n};\n","import React, { FC } from 'react';\nimport { Bowser } from '@factorin/util';\n\nimport { Icon, Label, Text, Button, linkAnchorClass } from 'Modules/ui2/components';\nimport warning from 'Modules/ui2/icons/warning.sprite.svg';\nimport { cryptoProPluginDownload, cryptoProLinks } from 'Modules/business/cryptoprofiles';\n\nimport { DefaultComponentProps } from '../../types';\nimport styles from './index.module.scss';\n\n\nconst bowser = new Bowser();\n\nexport type PluginNotInstalledProps = Pick & {\n details: string;\n}\n\nexport const PluginNotInstalled: FC = ({ t, setStage, details }) => (\n
\n \n \n \n {t('plugin.details', { details })}\n \n \n {t('plugin.description', { link: cryptoProPluginDownload, linkClass: linkAnchorClass })}\n \n {cryptoProLinks[bowser.name] && (\n \n {t('plugin.descriptionAdditional', {\n additionalLink: cryptoProLinks[bowser.name],\n linkClass: linkAnchorClass,\n })}\n \n )}\n setStage('rate')}\n >\n {t('plugin.return')}\n \n
\n);\n","import fp from 'lodash/fp';\nimport React, { FC, useCallback, useMemo } from 'react';\nimport { Form as FinalForm, Field, FormSpy, FormProps as FinalFormProps } from 'react-final-form';\nimport { checkSnils, checkOgrn, checkOgrnip } from 'ru-validation-codes';\nimport { DaDataSuggestion, DaDataParty } from 'react-dadata';\nimport { Common } from '@factorin/domain';\n\nimport { Button, GridColumn, GridRow, Label, Text, linkAnchorClass } from 'Modules/ui2';\nimport { getError, validators } from 'Modules/core/forms';\n\nimport { CertificateField, InputField, CheckBoxField, ParticipantSelectFieldWithMutate } from '../../Fields';\nimport { PersonalDataError } from '../PersonalDataError';\nimport { DefaultComponentProps } from '../types';\nimport { useRequest } from '../hooks';\nimport { PluginNotInstalled, PluginNotInstalledProps } from './PluginNonInstalled';\nimport { Certificate, CertInfo, FormValues } from './types';\nimport styles from './index.module.scss';\n\n\nexport const clientRole = '9312b1cb-3d0e-442d-9e4e-ac737eec6448';\n\nconst phoneMask = '+7(999)999-99-99';\n\nconst ogrnValidator = (ogrn: string, values: object) => validators.pipe(\n validators.required,\n fp.get('isIP', values) ? getError({ key: 'ogrnip' }, checkOgrnip)\n : getError({ key: 'ogrn' }, checkOgrn),\n)(ogrn);\n\nconst validationNone = getError({ key: 'none' }, v => fp.isEmpty(v));\n\nconst companyValidation = (value: DaDataSuggestion, values: FormValues) =>\n values.certInn && fp.pipe(\n fp.get('data.inn'),\n fp.negate(fp.isEqual(values.certInn)),\n )(value) ? { key: 'differenceINN' } : undefined;\n\nconst getFromInfo = fp.curry((title, info) => fp.pipe(\n fp.find(fp.pipe(\n fp.get('title'),\n fp.equals(title),\n )),\n fp.get('descr'),\n fp.trim,\n)(info));\n\ntype Getter = (info: CertInfo[]) => string | boolean | object;\n\nconst getInnFromInfo = fp.pipe(\n (info: CertInfo[]) => getFromInfo('ИНН ЮЛ', info) || getFromInfo('ИНН', info),\n inn => inn.startsWith('00') ? inn.substring(2) : inn,\n);\n\nconst getOgrnFromInfo = info => getFromInfo('ОГРНИП', info) || getFromInfo('ОГРН', info);\n\nconst isIPCert: Getter = info => !!getFromInfo('ОГРНИП', info);\nconst isIndividual: Getter = info => !isIPCert(info) && !getFromInfo('ОГРН', info);\n\nconst mapCertInfo: Common.Catalog = {\n surname: info => getFromInfo('Фамилия', info) || getFromInfo('Владелец', info),\n firstName: fp.pipe(\n getFromInfo('Имя Отчество'),\n fp.split(' '),\n fp.get(0),\n ),\n middleName: fp.pipe(\n getFromInfo('Имя Отчество'),\n fp.split(' '),\n fp.drop(1),\n fp.join(' '),\n ),\n certInn: info => !isIndividual(info) ? getInnFromInfo(info) : null,\n isIP: isIPCert,\n isIndividual,\n kpp: getFromInfo('KPP'),\n ogrn: getOgrnFromInfo,\n snils: fp.pipe(\n getFromInfo('СНИЛС'),\n snils => {\n if (!snils)\n return '';\n\n if (checkSnils(snils))\n return snils;\n\n const formattedSnils = `${snils.substring(0, 3)}-${snils.substring(3, 6)}-${snils.substring(6, 9)} ${snils.substring(9, 12)}`;\n\n if (checkSnils(formattedSnils))\n return formattedSnils;\n\n return '';\n },\n ),\n company: info => ({\n data: {\n ...isIndividual(info) ? {} : {\n inn: info && getInnFromInfo(info),\n ogrn: getOgrnFromInfo,\n name: {\n short_with_opf: getFromInfo('Компания', info),\n },\n },\n },\n }),\n};\n\nconst formMutators: FinalFormProps['mutators'] = {\n setCertificate: ([{ info }], state, { changeValue }) => fp.pipe(\n fp.mapValues>(getter => getter(info)),\n fp.toPairs,\n fp.forEach(([key, value]) => changeValue(state, key, () => value)),\n )(mapCertInfo),\n onCompanyChange: ([data], state, { changeValue }) => {\n changeValue(state, 'isIP', () => checkOgrnip(fp.get('data.ogrn', data)));\n changeValue(state, 'ogrn', () => fp.get('data.ogrn', data));\n changeValue(state, 'kpp', () => '');\n },\n};\n\nconst formDataMap = {\n Surname: fp.get('surname'), // Ф\n FirstName: fp.get('firstName'), // И\n MiddleName: fp.get('middleName'), // О\n Email: fp.get('email'),\n PhoneNumber: fp.get('phone'),\n CompanyName: fp.get('company.data.name.short_with_opf'), // dadata field\n CompanyINN: fp.get('company.data.inn'), // dadata field\n CompanyKPP: fp.get('kpp'),\n SNILS: fp.get('snils'),\n CompanyOGRN: fp.get('ogrn'),\n AllowUsePersonalData: fp.get('usePersonalData'),\n Base64Certificate: fp.get('certificate.base64'),\n};\n\ntype FormProps = DefaultComponentProps & {\n errorDetails?: PluginNotInstalledProps['details'];\n certificates?: Certificate[];\n}\n\nexport const Form: FC = ({\n t,\n setStage,\n certificates = [],\n landingOwnerUid,\n errorDetails,\n}) => {\n const onSuccess = useCallback(\n (values, data) => data.Created\n ? setStage('success', { data, values })\n : setStage('resendLetter', {\n email: values.email,\n timer: data.ConfirmCodeRequestRemaining,\n }),\n [setStage],\n );\n const onReject = useCallback(\n error => setStage(\n 'failure',\n { error: fp.get('response.data.Message', error) || t('failure.unknown') },\n ),\n [setStage, t],\n );\n const mapFormValuesToApi = useCallback(\n (values: FormValues) => ({\n ...fp.mapValues(getter => getter(values), formDataMap),\n UserRoleUid: clientRole,\n LandingOwnerUid: landingOwnerUid,\n }),\n [landingOwnerUid],\n );\n const { busy, request } = useRequest(\n '/registration/create',\n mapFormValuesToApi,\n 'POST',\n onSuccess,\n onReject,\n );\n\n const certificateOptions = useMemo(\n () => certificates.map(cert => ({\n label: cert.label,\n value: cert,\n })),\n [certificates],\n );\n\n const initialValues = useMemo(\n () => errorDetails ? {} : {\n certificate: certificates[0],\n ...fp.mapValues(getter => getter(certificates[0].info), mapCertInfo),\n },\n [errorDetails, certificates],\n );\n\n const disabledFields = busy || !!errorDetails;\n\n return (\n
\n \n {t('form.header')}\n \n {errorDetails && (\n \n )}\n {!errorDetails && (\n \n {t('form.description')}\n \n )}\n \n onSubmit={request}\n mutators={formMutators}\n initialValues={initialValues}\n subscription={{ hasValidationErrors: true, values: true, errors: true }}\n >\n {({\n form: {\n mutators: {\n setCertificate,\n onCompanyChange,\n },\n },\n values,\n hasValidationErrors,\n handleSubmit,\n }) => (\n
\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n validators.required(value) ||\n companyValidation(value, values as FormValues)}\n label={t('lead.fields.company.label')}\n needInitialValidate={!errorDetails}\n\n disabled={disabledFields}\n readOnly={!fp.get('isIndividual', values)}\n />\n \n \n \n \n \n \n \n \n \n \n \n fp.get('isIP', values)\n ? validationNone(kpp)\n : validators.pipe(\n validators.required,\n validators.is.kpp,\n )(kpp)\n }\n label={t('entry.fields.kpp.label')}\n placeholder={fp.get('isIP', values)\n ? t('entry.fields.notApplicable')\n : '123456789'}\n needInitialValidate={!errorDetails}\n\n disabled={disabledFields || fp.get('isIP', values)}\n />\n \n \n \n \n \n \n \n \n \n \n \n {t('lead.fields.legal', { linkClass: linkAnchorClass })}\n \n \n \n \n \n {t('form.button')}\n \n \n )}\n \n
\n );\n};\n","\n import React from 'react';\n import SpriteSymbol from \"../../../../../../node_modules/svg-baker-runtime/browser-symbol.js\";\n import sprite from \"../../../../../../node_modules/svg-sprite-loader/runtime/browser-sprite.build.js\";\n\n const symbol = new SpriteSymbol({\n \"id\": \"registrationSuccess.sprite\",\n \"use\": \"registrationSuccess.sprite-usage\",\n \"viewBox\": \"0 0 110 116\",\n \"content\": \"\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\"\n});\n sprite.add(symbol);\n\n const RegistrationSuccessSpriteSpriteSymbol = props => (\n \n \n \n );\n export default RegistrationSuccessSpriteSpriteSymbol;\n ","\n import React from 'react';\n import SpriteSymbol from \"../../../../../../node_modules/svg-baker-runtime/browser-symbol.js\";\n import sprite from \"../../../../../../node_modules/svg-sprite-loader/runtime/browser-sprite.build.js\";\n\n const symbol = new SpriteSymbol({\n \"id\": \"registrationFailure.sprite\",\n \"use\": \"registrationFailure.sprite-usage\",\n \"viewBox\": \"0 0 117 89\",\n \"content\": \"\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\"\n});\n sprite.add(symbol);\n\n const RegistrationFailureSpriteSpriteSymbol = props => (\n \n \n \n );\n export default RegistrationFailureSpriteSpriteSymbol;\n ","import { Bowser } from '@factorin/util';\nimport React, { useState, useCallback, useMemo } from 'react';\n\nimport { UI2Migration } from 'Modules/ui2/components';\nimport { cn } from 'Modules/ui2/utils';\nimport { useTranslation } from 'Modules/core/i18n';\nimport { Portal } from 'Modules/ui';\n\nimport { CryptoProImport, NoCertificateComponent } from './CryptoProImport';\nimport { SuccessfulRegistrationComponent, FailedRegistrationComponent } from './FormComponent';\nimport { PlatformNotSupportedComponent, BrowserNotSupportedComponent } from './ErrorsAndWarnings';\nimport { ResendLetter } from './ResendLetter';\nimport { Form } from './Form';\nimport { SuccessLite } from './SuccessLite';\nimport { FailureLite } from './FailureLite';\nimport { FailureINNLite } from './FailureINNLite';\nimport { supportedBrowsers } from '../../constants';\nimport styles from './index.module.scss';\n\n\nconst bowser = new Bowser();\n\nconst stages = {\n cryptoProImport: CryptoProImport,\n form: Form,\n success: SuccessfulRegistrationComponent,\n failure: FailedRegistrationComponent,\n platformNotSuported: PlatformNotSupportedComponent,\n browserNotSuported: BrowserNotSupportedComponent,\n noCertificate: NoCertificateComponent,\n resendLetter: ResendLetter,\n successLite: SuccessLite,\n failureLite: FailureLite,\n failureINNLite: FailureINNLite,\n};\n\nconst initCheckStages = stages => {\n if (bowser.tablet)\n return stages.platformNotSuported;\n\n if (!bowser.satisfies(supportedBrowsers))\n return stages.browserNotSuported;\n\n return stages.cryptoProImport;\n};\n\nconst getProgress = stage => {\n if (stage === stages.lead)\n return '0';\n if (stage === stages.rate)\n return '50%';\n return '100%';\n};\n\n/** @type {React.FC<{ landingOwnerUid?: string; className?: string; }>} */\nexport const DFARegistrationForm = ({ landingOwnerUid, className, children }) => {\n const { t } = useTranslation('registrationForm');\n const [{ Component, ...componentProps }, setState] = useState(() => ({\n Component: initCheckStages(stages),\n landingOwnerUid,\n }));\n const setStage = useCallback(\n (stage, props) => setState(state => ({\n ...state,\n Component: stages[stage],\n ...props,\n })),\n [],\n );\n\n const width = useMemo(() => getProgress(Component), [Component]);\n\n return (\n \n \n
\n \n {children}\n \n \n );\n};\n","import fp from 'lodash/fp';\nimport { useState, useCallback } from 'react';\nimport { rawRequest, contentTypeJson } from '@factorin/rest';\nimport { config } from '@factorin/container.macro';\n\nimport { wrapRequest } from 'Modules/core/api';\nimport { useSelector } from 'Modules/core/redux';\n\n\nexport const useRequest = (\n path: string,\n mapFormValuesToApi: (data: TValues) => any,\n method?: string,\n onSuccess?: (data: TValues, result: TResult) => void,\n onError?: (error: any) => void,\n) => {\n const [busy, setBusy] = useState(false);\n\n const clientofficeUrl = useSelector('config.clientofficeUrl');\n const request = useCallback(\n async (data: TValues) => {\n if (busy)\n return;\n\n setBusy(true);\n const requestUrl = fp.pipe(fp.compact, fp.join(''))([\n clientofficeUrl || config.basePath,\n 'api/v1',\n path,\n ]);\n\n try {\n const result: TResult = await wrapRequest(rawRequest, {\n method: method || 'POST',\n url: requestUrl,\n headers: {\n Accept: contentTypeJson,\n 'Accept-Language': 'ru',\n 'Content-Type': contentTypeJson,\n },\n withCredentials: true,\n data: JSON.stringify(mapFormValuesToApi(data)),\n });\n\n if (onSuccess)\n onSuccess(data, result);\n } catch (error) {\n setBusy(false);\n if (onError)\n onError(error);\n }\n },\n [busy, clientofficeUrl, path, method, mapFormValuesToApi, onSuccess, onError],\n );\n\n return {\n busy,\n request,\n };\n};\n","import React from 'react';\n\nimport { Text, Icon, Button, linkAnchorClass, Label } from 'Modules/ui2/components';\nimport warning from 'Modules/ui2/icons/warning.sprite.svg';\n\nimport success from './success.sprite.svg';\nimport commonStyles from '../common.module.scss';\nimport styles from './index.module.scss';\n\n\nexport const SuccessfulRegistrationComponent = ({ t, email }) => (\n <>\n \n \n \n {t('success.description', { email, linkClass: linkAnchorClass })}\n \n \n);\n\nexport const FailedRegistrationComponent = ({ t, error, setStage }) => (\n <>\n \n \n \n {error}\n \n \n {t('failure.description')}\n \n setStage('form')}\n >\n {t('failure.backToForm')}\n \n \n);\n","import React from 'react';\n\nimport { Icon, Label, Text, Link } from 'Modules/ui2/components';\nimport warning from 'Modules/ui2/icons/warning.sprite.svg';\nimport help from 'Modules/ui2/icons/help.sprite.svg';\nimport { cryptoProPluginAbout } from 'Modules/business/cryptoprofiles';\n\nimport styles from '../common.module.scss';\n\n\nexport const PlatformNotSupportedComponent = ({ t }) => (\n <>\n \n \n \n {t('platform.description')}\n \n \n {t('platform.requirements')}\n \n \n help@cfahub.ru\n \n \n);\n\nexport const BrowserNotSupportedComponent = ({ t }) => (\n <>\n \n \n \n {t('browser.description', { link: cryptoProPluginAbout })}\n \n \n);\n","import React, { FC } from 'react';\nimport { Link } from 'react-router-dom';\n\nimport { scrollToTop, useTimeoutEffect } from 'Modules/ui2';\nimport { Text, Button, Label } from 'Modules/ui2/components';\n\nimport SuccessIcon from '../Icons/registrationSuccess.sprite.svg';\nimport { DefaultComponentProps } from '../types';\nimport commonStyles from '../common.module.scss';\n\n\nexport const SuccessLite: FC = ({ t }) => {\n useTimeoutEffect(scrollToTop, 100);\n return (\n <>\n
\n \n
\n \n \n {t('successLite.description')}\n \n \n \n {t('successLite.button')}\n \n \n \n );\n};\n","import React, { FC, useCallback } from 'react';\n\nimport { scrollToTop, useTimeoutEffect } from 'Modules/ui2';\nimport { Text, Button, Label, linkAnchorClass } from 'Modules/ui2/components';\n\nimport FailureIcon from '../Icons/registrationFailure.sprite.svg';\nimport { DefaultComponentProps } from '../types';\nimport commonStyles from '../common.module.scss';\n\n\ntype FailureLiteProps = DefaultComponentProps & {\n error: string;\n}\n\nexport const FailureLite: FC = ({ t, error, setStage }) => {\n useTimeoutEffect(scrollToTop, 100);\n return (\n <>\n
\n \n
\n \n \n {error}\n \n \n {t('failureLite.description', { linkClass: linkAnchorClass })}\n \n setStage('lead'),\n [setStage],\n )}\n >\n {t('failureLite.button')}\n \n \n );\n};\n","import React, { FC, useCallback } from 'react';\n\nimport { scrollToTop, useTimeoutEffect } from 'Modules/ui2';\nimport { Text, Button, Label, linkAnchorClass } from 'Modules/ui2/components';\n\nimport FailureIcon from '../Icons/registrationFailure.sprite.svg';\nimport { DefaultComponentProps } from '../types';\nimport commonStyles from '../common.module.scss';\n\n\ntype FailureLiteProps = DefaultComponentProps & {\n error: string;\n}\n\nexport const FailureINNLite: FC = ({ t, setStage }) => {\n useTimeoutEffect(scrollToTop, 100);\n return (\n <>\n
\n \n
\n \n \n {t('failureINNLite.description1', { linkClass: linkAnchorClass })}\n \n \n {t('failureINNLite.description2', { linkClass: linkAnchorClass })}\n \n setStage('lead'),\n [setStage],\n )}\n >\n {t('failureINNLite.button')}\n \n \n );\n};\n","import React from 'react';\n\nimport { Label, Link, Text } from 'Modules/ui2/components';\n\nimport styles from './index.module.scss';\n\n\nexport const Support = () => (\n
\n \n \n \n Служба технической поддержки\n \n
\n \n База знаний\n \n
\n \n
\n);\n","import translations from './translations.json';\n\n\nexport * from './components/RegistrationStep';\nexport * from './components/ContractorsRegistrationForm';\nexport * from './components/FactorinRegistrationForm';\nexport * from './components/DFARegistrationForm';\nexport * from './components/Support';\n\nexport const registration = {\n translations,\n};\n","import React, { useEffect, FC } from 'react';\nimport { useLocation } from 'react-router-dom';\nimport ym, { YMInitializer } from 'react-yandex-metrika';\n\nimport { TrackerProps } from './types';\n\n\nconst trackPage = (page: string) => ym('hit', page);\n\nexport const Tracker: FC = ({ accountIds, options }) => {\n const location = useLocation();\n useEffect(\n () => trackPage(location.pathname),\n [location.pathname],\n );\n\n return (\n \n );\n};\n\nexport * from './types';\n","import React from 'react';\nimport { Route } from 'react-router-dom';\n\nimport { ChainedRender } from 'Modules/core/react';\nimport { useConfig } from 'Modules/core/config';\n\nimport { Tracker, TrackerProps } from '../components/Tracker';\n\n\nexport const getTrackerRender = (props: Omit): ChainedRender =>\n ({ Next }) => {\n const accountIds = useConfig('trackerIds');\n return (\n <>\n {process.env.NODE_ENV !== 'development' && accountIds && (\n \n \n \n )}\n \n \n );\n };\n","export * from './middlewares';\nexport * from './components/Tracker/types';\n\nexport const yandexMetrics = {};\n","// extracted by mini-css-extract-plugin\nmodule.exports = {\"container\":\"Tariffs_container__2y9ce\",\"mobileProffit\":\"Tariffs_mobileProffit__3cCrq\"};","// extracted by mini-css-extract-plugin\nmodule.exports = {\"container\":\"PluginNonInstalled_container__2mIcx\",\"icon\":\"PluginNonInstalled_icon__10oUu\"};","// extracted by mini-css-extract-plugin\nmodule.exports = {\"form\":\"FactorinRegistrationForm_form__3JOVG\",\"progress\":\"FactorinRegistrationForm_progress__-g2aB\"};","// extracted by mini-css-extract-plugin\nmodule.exports = {\"container\":\"PluginNonInstalled_container__d2VQj\",\"icon\":\"PluginNonInstalled_icon__1WUpS\"};","// extracted by mini-css-extract-plugin\nmodule.exports = {\"form\":\"DFARegistrationForm_form__3XzbL\",\"progress\":\"DFARegistrationForm_progress__2krEp\"};","// extracted by mini-css-extract-plugin\nmodule.exports = {\"support\":\"Support_support__3U1im\",\"contacts\":\"Support_contacts__3BVpn\"};","import i18next from 'i18next';\nimport { initReactI18next } from 'react-i18next';\nimport { setLocale } from '@factorin/util';\nimport withDependencies from '@factorin/container.macro';\n\n\nconst initialLanguage = window.localStorage.getItem('language') || 'ru';\n\nconst i18nextParameters = {\n supportedLngs: ['ru', 'en'],\n fallbackLng: 'ru',\n lng: initialLanguage,\n\n debug: process.env.NODE_ENV === 'development',\n\n ...process.env.NODE_ENV === 'test' && {\n lng: 'cimode',\n initImmediate: false,\n appendNamespaceToCIMode: true,\n },\n\n interpolation: { escapeValue: false },\n react: { useSuspense: true },\n};\n\nexport const i18n = withDependencies(translations => {\n i18next\n .use(initReactI18next)\n .init({\n resources: translations,\n ...i18nextParameters,\n }, () => {\n setLocale(i18next.language);\n window.localStorage.setItem('language', initialLanguage);\n });\n\n i18next.on('languageChanged', lng => {\n window.localStorage.setItem('language', lng);\n setLocale(lng);\n });\n\n return i18next;\n});\n","import React from 'react';\n\nimport { Text } from 'Modules/ui';\n\nimport { translate } from './TranslateComponent';\n\n\nexport const notificationRenderer = translate('notifications')(\n ({ content, t }) => (\n \n {t(content)}\n \n ),\n);\n","import { translate } from './TranslateComponent';\n\n\nexport const formsErrorRenderer = translate('formField')(\n ({ error, t }) => t(error),\n);\n","import React, { useState, useCallback, useMemo, ComponentType } from 'react';\nimport { i18n } from '@factorin/container.macro';\n\nimport { Text, Button, TransitionComponent, animation, cn } from 'Modules/ui';\n\nimport styles from './index.module.scss';\nimport { LanguageSelectorProps } from './types';\n\n\nconst languages = [\n {\n name: 'RU',\n key: 'ru',\n },\n {\n name: 'EN',\n key: 'en',\n },\n];\n\nexport const LanguageSelector: ComponentType = React.memo(({\n classNames = {},\n languageChanged,\n}) => {\n const [language, setLanguage] = useState(() => i18n.language);\n const changeLanguage = useCallback(\n language => {\n i18n.changeLanguage(language);\n if (languageChanged)\n languageChanged(language);\n setLanguage(language);\n },\n [languageChanged],\n );\n\n const value = useMemo(\n () => languages.find(({ key }) => key === language),\n [language],\n );\n\n const [visible, setVisible] = useState(false);\n const showPopup = useCallback(() => setVisible(true), []);\n const hidePopup = useCallback(() => setVisible(false), []);\n\n return (\n
\n \n {value.name}\n \n \n
\n {languages.map(({ key, name }, index) => (\n {\n hidePopup();\n changeLanguage(key);\n }}\n >\n {name}\n \n ))}\n
\n
\n
\n );\n});\n","import { createAction } from 'Modules/core/redux';\n\n\nconst actionTypes = {\n LANGUAGE_CHANGED: 'LANGUAGE_CHANGED',\n};\n\nexport { actionTypes as i18nActionTypes };\n\nexport const i18nActions = {\n languageChanged: createAction(actionTypes.LANGUAGE_CHANGED),\n};\n","import { connect } from 'Modules/core/redux';\n\n\nimport { i18nActions } from '../../state/actions';\nimport { LanguageSelector } from '../LanguageSelector';\n\n\nexport const ConnectedLanguageSelector = connect(\n null,\n {\n languageChanged: i18nActions.languageChanged,\n },\n)(LanguageSelector);\n","import { i18n as i18nInstance } from './i18n';\nimport translations from './translations.json';\nimport { errorFormatter } from './api/errorFormatter';\nimport { notificationRenderer } from './components/notificationRenderer';\nimport { formsErrorRenderer } from './components/formsErrorRenderer';\n\n\nexport * from './components/LanguageSelector';\nexport * from './components/ConnectedLanguageSelector';\nexport * from './components/TranslateComponent';\n\nexport * from './state/actions';\n\nexport const i18n = {\n i18n: i18nInstance,\n translations,\n\n API: {\n errorFormatter,\n },\n messaging: {\n notificationRenderer,\n },\n forms: {\n errorRenderer: formsErrorRenderer,\n },\n};\n","import { i18n } from '@factorin/container.macro';\n\n\nexport const errorFormatter = key => i18n.t(`apiErrors:${key}`);\n","// extracted by mini-css-extract-plugin\nmodule.exports = {\"ellipsis\":\"Typography_ellipsis__2GmAH\",\"label\":\"Typography_label__28BP3\",\"link\":\"Typography_link__3tRXx\",\"standalone\":\"Typography_standalone__1EZSR\",\"icon\":\"Typography_icon__15t1z\",\"linkContent\":\"Typography_linkContent__708D8\",\"label-72\":\"Typography_label-72__bVIAC\",\"label-48\":\"Typography_label-48__2IZO-\",\"label-40\":\"Typography_label-40__10EUE\",\"label-36\":\"Typography_label-36__2Qv59\",\"label-32\":\"Typography_label-32__1rPRf\",\"label-24\":\"Typography_label-24__4DK_V\",\"label-21-24\":\"Typography_label-21-24__7AN-q\",\"label-21-32\":\"Typography_label-21-32__1xxWr\",\"label-18\":\"Typography_label-18__35hzu\",\"label-16\":\"Typography_label-16__8EK0B\",\"label-14\":\"Typography_label-14__1ygOn\",\"label-12\":\"Typography_label-12__12b_4\",\"label-10\":\"Typography_label-10__36sSk\",\"label-9\":\"Typography_label-9__2mEzQ\",\"text\":\"Typography_text__2ArRJ\",\"regular\":\"Typography_regular__UJYbK\",\"medium\":\"Typography_medium__fVfE5\",\"bold\":\"Typography_bold__MhFOP\",\"text-40\":\"Typography_text-40__2nR6B\",\"text-36\":\"Typography_text-36__1nw7u\",\"text-32\":\"Typography_text-32__wZisi\",\"text-28\":\"Typography_text-28__guJ8V\",\"text-24\":\"Typography_text-24__w3mge\",\"text-21\":\"Typography_text-21__1E7yC\",\"text-20\":\"Typography_text-20__N1KLr\",\"text-18\":\"Typography_text-18__3WZMJ\",\"text-16\":\"Typography_text-16__2JEHx\",\"text-14\":\"Typography_text-14__vUd-w\",\"note\":\"Typography_note__1oQtY\"};","// extracted by mini-css-extract-plugin\nmodule.exports = {\"factorinView\":\"FactorinView_factorinView__29sl4\",\"header\":\"FactorinView_header__LlPaw\",\"buttons\":\"FactorinView_buttons__3VEV7\",\"title\":\"FactorinView_title__2ePuV\",\"info\":\"FactorinView_info__1rKjx\",\"gridDockOffset\":\"FactorinView_gridDockOffset__2guYr\",\"sortButton\":\"FactorinView_sortButton__1NwEh\",\"desc\":\"FactorinView_desc__2tVln\",\"asc\":\"FactorinView_asc__DcW7B\",\"compositeCell\":\"FactorinView_compositeCell__2vr3E\",\"second\":\"FactorinView_second__39EVm\"};","import fp from 'lodash/fp';\n\nimport { lookupTableReducer } from 'Modules/core/redux';\n\nimport { messagingActions } from './actions';\n\n\nexport const messaging = lookupTableReducer([], {\n [messagingActions.enqueue]: (state, message) => [...state, message],\n\n [messagingActions.updateModalProps]: (state, { id, props }) => state.map(\n m => m.id === id\n ? { ...m, props: fp.merge(m.props, props) }\n : m,\n ),\n\n [messagingActions.hideMessage]: (state, id) => state.filter(m => m.id !== id),\n\n [messagingActions.closeAll]: state => state.filter(m => !m.isModal),\n});\n","import fp from 'lodash/fp';\n\n\nexport const isInfoError = error => fp.get('response.data.ErrorType', error) === 'Info' || fp.get('response.data.errorType', error) === 'Info';\n\nexport const getErrorTitle = error => fp.get('response.data.title', error) ?? fp.getOr(error, 'response.data.Title', error);\n","import { put, fork, takeEvery, delay } from 'redux-saga/effects';\nimport fp from 'lodash/fp';\n\nimport { messagingActions as actions } from './actions';\nimport { isInfoError, getErrorTitle } from './utils';\n\n\nfunction* hideMessageTimeout(id, timeout) {\n yield delay(timeout);\n yield put(actions.hideMessage(id));\n}\n\nlet messageId = 0;\nfunction* showNotification({ $payload }) {\n const { duration = 10000, ...notification } = $payload;\n const message = {\n id: messageId++,\n isModal: false,\n ...notification,\n };\n yield put(actions.enqueue(message));\n yield fork(hideMessageTimeout, message.id, duration);\n}\n\nfunction* showModal({ $payload: modal }) {\n const message = {\n id: messageId++,\n isModal: true,\n closeable: true,\n ...modal,\n };\n yield put(actions.enqueue(message));\n return messageId;\n}\n\nexport const withHideModal = next => function* hideModalWrapper({ $payload: { modalId } }) {\n yield next();\n if (fp.isInteger(modalId))\n yield put(actions.hideMessage(modalId));\n};\n\nexport const withErrorHandler = key => next => function* errorHandlerWrapper() {\n try {\n yield next();\n } catch (error) {\n // errorType?: 'Info' | 'Error', в случае Info отображаем модальное окно с ошибкой\n if (isInfoError(error)) {\n yield put(actions.showModal({\n type: 'ErrorModal',\n props: {\n errorText: getErrorTitle(error),\n },\n }));\n } else {\n yield put(actions.showNotification({\n content: { key, values: { error: getErrorTitle(error) } },\n }));\n }\n }\n};\n\nexport const sagas = [\n takeEvery(`${actions.showNotification}`, showNotification),\n takeEvery(`${actions.showModal}`, showModal),\n];\n","import { messaging } from './reducer';\nimport { sagas } from './sagas';\n\n\nexport const state = {\n reducer: {\n messaging,\n },\n sagas,\n};\n\nexport * as MessagingTypes from './types';\nexport * from './utils';\n","import React, { FC } from 'react';\n\nimport { Portal } from 'Modules/ui';\n\nimport styles from './index.module.scss';\n\n\nexport const UiPortal: FC = () => (\n \n
\n \n);\n","import React, { FC } from 'react';\n\nimport { Button2, Stack, Typography } from 'Modules/ui3';\nimport { useTranslation } from 'Modules/core/i18n';\nimport { useAction } from 'Modules/core/redux';\n\nimport styles from './index.module.scss';\nimport { useModalContext } from '../Messaging';\nimport { messagingActions } from '../../state/actions';\n\n\nexport interface ErrorModalProps {\n errorText: string;\n}\nconst ErrorModalComponent: FC = ({ errorText }) => {\n const { t } = useTranslation('errorModal');\n const { modal } = useModalContext();\n const close = useAction(() => messagingActions.hideMessage(modal.id), [modal.id]);\n return (\n spacing(120)}\n >\n \n {errorText ?? t('unknownError')}\n \n \n {t('close')}\n \n \n );\n};\n\nexport const ErrorModal = {\n component: ErrorModalComponent,\n containerClass: styles.modal,\n position: 'center',\n};\n","import { state } from './state';\nimport { MessagingModule } from './MessagingModule';\nimport { notificationRenderer } from './components/Messaging';\nimport { ErrorModal } from './components/ErrorModal';\n\n\nexport { MessagingTypes, isInfoError, getErrorTitle } from './state';\nexport * from './state/actions';\nexport { withErrorHandler, withHideModal } from './state/sagas';\n\nexport {\n modalClassNames,\n ModalContext, withModalContext, useModalContext, createModal,\n} from './components/Messaging';\nexport type { ModalComponent } from './components/Messaging';\n\nexport const messaging = {\n messaging: {\n notificationRenderer,\n modalTypes: {\n ErrorModal,\n },\n },\n state,\n renderChain: [\n [MessagingModule, 40],\n ],\n};\n","import React, { ComponentType, FC } from 'react';\n\nimport { Messaging } from './components/Messaging';\nimport { UiPortal } from './components/UiPortal';\n\n\nexport const MessagingModule: FC<{ Next: ComponentType }> = ({ Next }) => (\n <>\n \n \n \n \n);\n","import React, { FC } from 'react';\nimport {\n Checkbox as DefaultCheckbox,\n checkboxClasses,\n CheckboxProps as DefaultCheckboxProps,\n} from '@mui/material';\n\nimport { Box } from '../Box';\n\n\nconst iconPxForSize: Record = {\n medium: 6,\n small: 5,\n};\n\nconst BpIcon: FC> = ({ readOnly, size }) => (\n ({\n borderRadius: spacing(1),\n width: spacing(iconPxForSize[size] - 1),\n height: spacing(iconPxForSize[size] - 1),\n minWidth: spacing(iconPxForSize[size] - 1),\n border: 2,\n borderColor: 'grayscale.shade60',\n 'input:hover ~ &': {\n borderColor: !readOnly && 'grayscale.shade80',\n },\n 'input:disabled ~ &': !readOnly ? {\n backgroundColor: 'grayscale.shade20',\n borderColor: 'grayscale.shade20',\n } : {},\n })}\n />\n);\n\nconst CheckIcon = (\n \n \n \n);\n\nexport type CheckboxProps = Pick & {\n color?: 'primary' | 'secondary';\n name?: string;\n readOnly?: boolean;\n};\n\nexport const Checkbox: FC = ({\n checked,\n onChange,\n disabled,\n color = 'primary',\n name,\n required,\n readOnly,\n size = 'medium',\n ...props\n}) => (\n ({\n width: spacing(iconPxForSize[size]),\n height: spacing(iconPxForSize[size]),\n minWidth: spacing(iconPxForSize[size]),\n padding: 0,\n borderRadius: spacing(1),\n\n '& > svg': {\n width: spacing(iconPxForSize[size] - 1),\n height: spacing(iconPxForSize[size] - 1),\n\n fill: palette.grayscale.shade0,\n },\n\n [`&.${checkboxClasses.checked}`]: {\n [`&.${checkboxClasses.colorPrimary}`]: {\n backgroundColor: 'general.primary50',\n '&:hover': {\n backgroundColor: !readOnly && 'general.primary60',\n },\n },\n [`&.${checkboxClasses.colorSecondary}`]: {\n backgroundColor: 'general.secondary50',\n '&:hover': {\n backgroundColor: !readOnly && 'general.secondary60',\n },\n },\n [`&.${checkboxClasses.disabled}`]: !readOnly ? {\n backgroundColor: 'grayscale.shade20',\n\n '& > svg': {\n fill: palette.grayscale.shade80,\n },\n } : {},\n },\n })}\n data-testid={`checkbox-${name}`}\n name={name}\n icon={}\n checkedIcon={CheckIcon}\n checked={checked}\n onChange={onChange}\n disabled={disabled || readOnly}\n disableRipple\n color={color}\n required={required}\n {...props}\n />\n);\n","import React, { ComponentType } from 'react';\n\nimport { ClassName, cn, Text } from 'Modules/ui';\n\nimport styles from './index.module.scss';\n\n\nexport const coModalClassNames = {\n modal: styles.modal,\n standardSizeModal: styles.standardSizeModal,\n title: styles.title,\n buttons: styles.buttons,\n};\n\nexport type CoModalProps = ClassName & {\n title?: string;\n standard?: boolean;\n}\n\nexport const COModal: ComponentType = ({\n title,\n standard = false,\n className,\n children,\n}) => (\n
\n {title && (\n \n {title}\n \n )}\n {children}\n
\n);\n","// extracted by mini-css-extract-plugin\nmodule.exports = {\"tabs\":\"RegistrationStep_tabs__2M46g\"};","// extracted by mini-css-extract-plugin\nmodule.exports = {\"form\":\"ContractorsRegistrationForm_form__BFR7-\"};","// extracted by mini-css-extract-plugin\nmodule.exports = {\"successIcon\":\"FormComponent_successIcon__1sEUE\"};","// extracted by mini-css-extract-plugin\nmodule.exports = {\"container\":\"PersonalDataError_container__1667x\"};","// extracted by mini-css-extract-plugin\nmodule.exports = {\"successIcon\":\"FormComponent_successIcon__QEaj4\"};","// extracted by mini-css-extract-plugin\nmodule.exports = {\"container\":\"PersonalDataError_container__1MCxM\"};","module.exports = \"data:image/svg+xml,%3csvg width='720' height='442' viewBox='0 0 720 442' fill='none' xmlns='http://www.w3.org/2000/svg'%3e %3cg clip-path='url(%23clip0_1409_1230)'%3e %3cpath d='M825.324 391.619C825.324 231.843 496.353 386.342 522.853 199.044' stroke='%23CDD1DA'/%3e %3cpath d='M649.647 107.344C753.147 546.844 351.147 256.344 357.146 478.844' stroke='%23CDD1DA'/%3e %3ccircle cx='646.539' cy='99.7366' r='11.25' transform='rotate(150 646.539 99.7366)' fill='white' stroke='%23FF3200' stroke-width='1.5'/%3e %3ccircle cx='652.245' cy='304.435' r='11.25' transform='rotate(150 652.245 304.435)' fill='white' stroke='%23FF3200' stroke-width='1.5'/%3e %3cpath d='M46.6701 195.67C89.1472 50.8447 261.656 268.385 348.986 7.87061e-05' stroke='%23CDD1DA'/%3e %3ccircle cx='42.8434' cy='207.042' r='11.25' transform='rotate(-15 42.8434 207.042)' fill='white' stroke='%23FF3200' stroke-width='1.5'/%3e %3c/g%3e %3cdefs%3e %3cclipPath id='clip0_1409_1230'%3e %3crect width='720' height='442' fill='white'/%3e %3c/clipPath%3e %3c/defs%3e %3c/svg%3e\"","module.exports = \"data:image/svg+xml,%3csvg width='819' height='442' viewBox='0 0 819 442' fill='none' xmlns='http://www.w3.org/2000/svg'%3e %3cg clip-path='url(%23clip0_1409_1266)'%3e %3cpath d='M751.265 58.0015C758.972 222.329 529.267 21.5001 514.376 303.343' stroke='%23CDD1DA'/%3e %3ccircle cx='749.66' cy='47.3919' r='11.25' transform='rotate(150 749.66 47.3919)' fill='white' stroke='%23FF3200' stroke-width='1.5'/%3e %3cpath d='M45.038 148.069C58.8679 294.5 376.368 92 376.368 457.001' stroke='%23CDD1DA'/%3e %3cpath d='M390.368 47.5C434.368 323.499 613.868 226.5 831.868 248.501' stroke='%23CDD1DA'/%3e %3cpath d='M606.869 473.499C664.369 246.999 852.368 259 617.867 160.999' stroke='%23CDD1DA'/%3e %3ccircle cx='12' cy='12' r='11.25' transform='matrix(0.965926 0.258819 0.258819 -0.965926 26.5146 145.183)' fill='white' stroke='%23FF3200' stroke-width='1.5'/%3e %3ccircle cx='387.759' cy='36.3919' r='11.25' transform='rotate(150 387.759 36.3919)' fill='white' stroke='%23FF3200' stroke-width='1.5'/%3e %3c/g%3e %3cdefs%3e %3cclipPath id='clip0_1409_1266'%3e %3crect width='819' height='442' fill='white'/%3e %3c/clipPath%3e %3c/defs%3e %3c/svg%3e\"","module.exports = \"data:image/svg+xml,%3csvg width='782' height='502' viewBox='0 0 782 502' fill='none' xmlns='http://www.w3.org/2000/svg'%3e %3cg clip-path='url(%23clip0_1409_1423)'%3e %3cpath d='M336.471 171.497C323.971 406.496 -7.62823 213.497 -22.5199 495.34' stroke='%23CDD1DA'/%3e %3cpath d='M369.497 317.5C-70.5026 474 275.858 33.4558 7.47272 -53.8748' stroke='%23CDD1DA'/%3e %3cpath d='M875.002 107.999C686.502 326.499 816.898 590.686 615.398 404.686' stroke='%23CDD1DA'/%3e %3cpath d='M618.19 86.4007C806.69 -132.1 676.293 -396.287 877.793 -210.286' stroke='%23CDD1DA'/%3e %3ccircle cx='146.867' cy='318.387' r='11.25' transform='rotate(150 146.867 318.387)' fill='white' stroke='%23FF3200' stroke-width='1.5'/%3e %3ccircle cx='608.394' cy='395.892' r='11.25' transform='rotate(150 608.394 395.892)' fill='white' stroke='%23FF3200' stroke-width='1.5'/%3e %3ccircle cx='610.391' cy='95.3938' r='11.25' transform='rotate(150 610.391 95.3938)' fill='white' stroke='%23FF3200' stroke-width='1.5'/%3e %3c/g%3e %3cdefs%3e %3cclipPath id='clip0_1409_1423'%3e %3crect width='782' height='502' fill='white'/%3e %3c/clipPath%3e %3c/defs%3e %3c/svg%3e\"","import fp from 'lodash/fp';\nimport React, { useMemo, useEffect, useRef, useCallback, useState } from 'react';\n\n\nexport const useMemoNoWarn = useMemo;\nexport const useEffectNoWarn = useEffect;\nexport const useCallbackNoWarn = useCallback;\n\nexport const useMemoDeps = (\n factory: (...args: any[]) => TResult,\n deps: React.DependencyList,\n): TResult => useMemoNoWarn(() => factory(...deps), [factory, ...deps]);\n\nexport const useUpdateOnlyEffect = (\n effect: React.EffectCallback,\n deps: React.DependencyList,\n): void => {\n const isFirstRun = useRef(true);\n useEffectNoWarn(() => {\n if (isFirstRun.current) {\n isFirstRun.current = false;\n return undefined;\n }\n return effect();\n }, deps);\n};\n\nexport const usePrevious = (\n value: TValue,\n defaultValue?: TDefault,\n): TValue | TDefault => {\n const ref = useRef(defaultValue);\n useEffect(() => {\n ref.current = value;\n });\n return ref.current;\n};\n\nexport const useTimeoutEffect = (callback: () => void, timeout: number) =>\n useEffectNoWarn(() => {\n const timer = setTimeout(callback, timeout);\n return () => clearTimeout(timer);\n }, []);\n\nexport const useInputOnChange = (callback: (value: any) => void, needEvent: boolean) =>\n useCallback(e => callback(needEvent ? e : e.target.value), [callback, needEvent]);\n\nexport const useStateRef = (initialValue: TValue): [\n TValue,\n React.Dispatch>,\n React.RefObject\n] => {\n const [value, setValue] = useState(initialValue);\n const stateRef = useRef(value);\n const setValueAndRef = useMemo>>(\n () => value => {\n if (fp.isFunction(value)) {\n setValue(prevState => {\n const newValue = value(prevState);\n stateRef.current = newValue;\n return newValue;\n });\n }\n stateRef.current = value as TValue;\n setValue(value);\n },\n [],\n );\n return [value, setValueAndRef, stateRef];\n};\n\nexport const useNoEvent = any>(callback: TFunc) =>\n useCallback(() => callback(), [callback]);\n\n\nconst DATA_UNKNOWN = Symbol('DATA_UNKNOWN');\nexport const useDataRequest = (data: TData, getData: () => void) => {\n const oldData = usePrevious(data, DATA_UNKNOWN);\n useEffect(\n () => {\n if (!data && oldData !== data)\n getData();\n },\n [data, getData, oldData],\n );\n};\n","// extracted by mini-css-extract-plugin\nmodule.exports = {\"button\":\"Button_button__vFzkq\",\"auxiliary\":\"Button_auxiliary__2xww-\",\"styled\":\"Button_styled__2Fc5y\",\"loadingIndicator\":\"Button_loadingIndicator__1uWA8\",\"size-64\":\"Button_size-64__1MtN-\",\"size-56\":\"Button_size-56__10aXO\",\"size-48\":\"Button_size-48__2yLFx\",\"size-40\":\"Button_size-40__rcD8G\",\"size-36\":\"Button_size-36__9cT7L\",\"size-32\":\"Button_size-32__3i-J5\",\"normal\":\"Button_normal__3w3df\",\"secondary\":\"Button_secondary__2AX10\",\"background\":\"Button_background__1KWRz\"};","// extracted by mini-css-extract-plugin\nmodule.exports = {\"checkbox\":\"CheckBox_checkbox__2XAMC\",\"disabled\":\"CheckBox_disabled__1SOoy\",\"mark\":\"CheckBox_mark__NBd5-\",\"size-24\":\"CheckBox_size-24__1nDI2\",\"content\":\"CheckBox_content__14Frv\",\"size-32\":\"CheckBox_size-32__3FQHO\",\"radiobutton\":\"CheckBox_radiobutton__29Lec\"};","// extracted by mini-css-extract-plugin\nmodule.exports = {\"paginationHeader\":\"PaginationHeader_paginationHeader__33C5l\",\"total\":\"PaginationHeader_total__1adE0\",\"title\":\"PaginationHeader_title___rC-s\",\"dirty\":\"PaginationHeader_dirty__1Z4cx\",\"icon\":\"PaginationHeader_icon__cAs7C\",\"notification\":\"PaginationHeader_notification__2AibV\",\"refresh\":\"PaginationHeader_refresh__38Yrd\",\"header\":\"PaginationHeader_header__13eeW\"};","// extracted by mini-css-extract-plugin\nmodule.exports = {\"errorBoundary\":\"ErrorBoundaryMiddleware_errorBoundary__2Qik4\",\"languageSelector\":\"ErrorBoundaryMiddleware_languageSelector__19Y6j\",\"logo\":\"ErrorBoundaryMiddleware_logo__2f8kO\",\"error\":\"ErrorBoundaryMiddleware_error__1EhvF\",\"details\":\"ErrorBoundaryMiddleware_details__6w0xU\",\"expand\":\"ErrorBoundaryMiddleware_expand__WoaWL\",\"stack\":\"ErrorBoundaryMiddleware_stack__3iboT\"};","// extracted by mini-css-extract-plugin\nmodule.exports = {\"popup\":\"PopupWithButton_popup__1B8SM\",\"top\":\"PopupWithButton_top__3h7eM\",\"bottom\":\"PopupWithButton_bottom__3Ni6o\",\"left\":\"PopupWithButton_left__1Fuu1\",\"right\":\"PopupWithButton_right__2DBhs\",\"button\":\"PopupWithButton_button__3Xzr5\",\"content\":\"PopupWithButton_content__3DYRS\"};","// extracted by mini-css-extract-plugin\nmodule.exports = {\"container\":\"Header_container__1NFO9\",\"content\":\"Header_content__BMsIS\",\"dragHandle\":\"Header_dragHandle__1xCQD\",\"last\":\"Header_last__3WPOJ\",\"fixed\":\"Header_fixed__3uupg\"};","// extracted by mini-css-extract-plugin\nmodule.exports = {\"documentItem\":\"DocumentItem_documentItem__2mMOU\",\"placeholder\":\"DocumentItem_placeholder__LsDRA\",\"selected\":\"DocumentItem_selected__2eUXz\",\"focused\":\"DocumentItem_focused__H7IbT\",\"filename\":\"DocumentItem_filename__3_-lJ\",\"date\":\"DocumentItem_date__QSOMI\",\"menu\":\"DocumentItem_menu__B7lt-\"};","import React, { useMemo } from 'react';\nimport fp from 'lodash/fp';\nimport { withTranslation, useTranslation as useI18nTranslation, Namespace } from 'react-i18next';\nimport { TFunction } from 'i18next';\n\nimport { setHtml } from 'Modules/ui';\n\nimport { ValuesType, ComplexContentType, ContentType } from './types';\n\n\nconst htmlPreamble = '';\nconst isHtml = fp.startsWith(htmlPreamble);\nconst unwrapHtml = fp.replace(htmlPreamble, '');\n\nconst customTranslateFn = (t: TFunction) => (\n content: ContentType,\n values?: ValuesType,\n): React.ReactNode => {\n const translateComplexExpression = ({\n key,\n values: valuesInner,\n translatedValues,\n }: ComplexContentType) => t(key, {\n ...valuesInner,\n ...translatedValues &&\n fp.mapValues(customTranslateFn(t), translatedValues),\n });\n\n if (fp.isNil(content))\n return '';\n\n if (fp.isObject(content))\n return translateComplexExpression(content);\n\n const translated = t(content, values);\n return isHtml(translated)\n ? \n : translated;\n};\n\nexport const translate = (namespaces: Namespace = []) => Component =>\n // current type withTranslation props no correct\n // @ts-ignore\n withTranslation(namespaces)(({ t, ...props }) => (\n \n ));\n\nexport const useTranslation = (namespaces: Namespace = []) => {\n const { t, i18n } = useI18nTranslation(namespaces);\n const customT = useMemo(\n () => customTranslateFn(t),\n [t],\n );\n return {\n t: customT,\n i18n,\n };\n};\n\nexport * from './types';\n","import React, { ElementType } from 'react';\nimport clsx from 'clsx';\nimport type {} from '@mui/lab/themeAugmentation';\n\n\nexport type Forbid = TType & {\n [K in keyof TForbid]?: never;\n};\n\nexport type ComponentWrapper = PWrapper & {\n component: ElementType>;\n componentRef?: React.Ref;\n};\n\nexport type ComponentWrapperProps = PComponent &\nComponentWrapper;\n\nexport type ClassName = { className?: string };\nexport { clsx as cn };\n\ntype Join = K extends string | number\n ? P extends string | number\n ? `${K}${'' extends P ? '' : '.'}${P}`\n : never\n : never;\n\ntype Prev = [\n never,\n 0,\n 1,\n 2,\n 3,\n 4,\n 5,\n 6,\n 7,\n 8,\n 9,\n 10,\n 11,\n 12,\n 13,\n 14,\n 15,\n 16,\n 17,\n 18,\n 19,\n 20,\n ...0[],\n];\n\nexport type Paths = [D] extends [never]\n ? never\n : T extends object\n ? {\n [K in keyof T]-?: K extends string | number\n ? `${K}` | Join>\n : never;\n }[keyof T]\n : '';\n","// extracted by mini-css-extract-plugin\nmodule.exports = {\"rowHeight\":\"6\",\"checkBoxColumnWidth\":\"6\",\"container\":\"FactorinGrid_container__3T1fk\"};","// extracted by mini-css-extract-plugin\nmodule.exports = {\"body\":\"Body_body__L-ccC\",\"hScroll\":\"Body_hScroll__ax7KP\",\"vScroll\":\"Body_vScroll__3Fj1h\",\"clickableRow\":\"Body_clickableRow__1gcj1\",\"selected\":\"Body_selected__3b7YH\",\"content\":\"Body_content__3peZ8\"};","// extracted by mini-css-extract-plugin\nmodule.exports = {\"dockContainer\":\"Dock_dockContainer__njWTS\",\"collapsed\":\"Dock_collapsed__1VZu5\",\"dock\":\"Dock_dock__2Wx7q\",\"arrow\":\"Dock_arrow__3SilI\",\"componentContainer\":\"Dock_componentContainer__3OAbz\"};","// extracted by mini-css-extract-plugin\nmodule.exports = {\"selector\":\"CertificateSelector_selector__3p-PB\",\"select\":\"CertificateSelector_select__MEKWj\",\"button\":\"CertificateSelector_button__2plnB\",\"reason\":\"CertificateSelector_reason__2q6F_\",\"Cert\":\"CertificateSelector_Cert__1A24L\",\"Cert_disabled\":\"CertificateSelector_Cert_disabled__1KtIo\",\"Cert__name\":\"CertificateSelector_Cert__name__9xHkb\",\"Cert__date\":\"CertificateSelector_Cert__date__hEWPt\",\"Cert__error\":\"CertificateSelector_Cert__error__29fBC\"};","export const constants = {\n // CAPICOM_STORE_LOCATION enumeration\n StoreLocation: {\n CAPICOM_MEMORY_STORE: 0,\n CAPICOM_LOCAL_MACHINE_STORE: 1,\n CAPICOM_CURRENT_USER_STORE: 2,\n CAPICOM_ACTIVE_DIRECTORY_USER_STORE: 3,\n CAPICOM_SMART_CARD_USER_STORE: 4,\n },\n // CAPICOM_STORE_OPEN_MODE enumeration\n StoreOpenMode: {\n CAPICOM_STORE_OPEN_READ_ONLY: 0,\n CAPICOM_STORE_OPEN_READ_WRITE: 1,\n CAPICOM_STORE_OPEN_MAXIMUM_ALLOWED: 2,\n CAPICOM_STORE_OPEN_EXISTING_ONLY: 128,\n CAPICOM_STORE_OPEN_INCLUDE_ARCHIVED: 256,\n },\n // CAPICOM_CERTIFICATE_FIND_TYPE enumeration\n CertFindType: {\n CAPICOM_CERTIFICATE_FIND_SHA1_HASH: 0,\n CAPICOM_CERTIFICATE_FIND_SUBJECT_NAME: 1,\n CAPICOM_CERTIFICATE_FIND_ISSUER_NAME: 2,\n CAPICOM_CERTIFICATE_FIND_ROOT_NAME: 3,\n CAPICOM_CERTIFICATE_FIND_TEMPLATE_NAME: 4,\n CAPICOM_CERTIFICATE_FIND_EXTENSION: 5,\n CAPICOM_CERTIFICATE_FIND_EXTENDED_PROPERTY: 6,\n CAPICOM_CERTIFICATE_FIND_APPLICATION_POLICY: 7,\n CAPICOM_CERTIFICATE_FIND_CERTIFICATE_POLICY: 8,\n CAPICOM_CERTIFICATE_FIND_TIME_VALID: 9,\n CAPICOM_CERTIFICATE_FIND_TIME_NOT_YET_VALID: 10,\n CAPICOM_CERTIFICATE_FIND_TIME_EXPIRED: 11,\n CAPICOM_CERTIFICATE_FIND_KEY_USAGE: 12,\n },\n Time: {\n AUTHENTICATED_ATTRIBUTE_SIGNING_TIME: 0,\n },\n Check: {\n CHECK_NONE: 0,\n CHECK_TRUSTED_ROOT: 1,\n CHECK_TIME_VALIDITY: 2,\n CHECK_SIGNATURE_VALIDITY: 4,\n CHECK_ONLINE_REVOCATION_STATUS: 8,\n CHECK_OFFLINE_REVOCATION_STATUS: 16,\n TRUST_IS_NOT_TIME_VALID: 1,\n TRUST_IS_NOT_TIME_NESTED: 2,\n TRUST_IS_REVOKED: 4,\n TRUST_IS_NOT_SIGNATURE_VALID: 8,\n TRUST_IS_NOT_VALID_FOR_USAGE: 16,\n TRUST_IS_UNTRUSTED_ROOT: 32,\n TRUST_REVOCATION_STATUS_UNKNOWN: 64,\n TRUST_IS_CYCLIC: 128,\n TRUST_IS_PARTIAL_CHAIN: 65536,\n TRUST_CTL_IS_NOT_TIME_VALID: 131072,\n TRUST_CTL_IS_NOT_SIGNATURE_VALID: 262144,\n TRUST_CTL_IS_NOT_VALID_FOR_USAGE: 524288,\n },\n // CAPICOM_PROPID enumeration\n PropId: {\n CAPICOM_PROPID_UNKNOWN: 0,\n CAPICOM_PROPID_KEY_PROV_HANDLE: 1,\n CAPICOM_PROPID_KEY_PROV_INFO: 2,\n CAPICOM_PROPID_SHA1_HASH: 3,\n CAPICOM_PROPID_HASH_PROP: 3,\n CAPICOM_PROPID_MD5_HASH: 4,\n CAPICOM_PROPID_KEY_CONTEXT: 5,\n CAPICOM_PROPID_KEY_SPEC: 6,\n CAPICOM_PROPID_IE30_RESERVED: 7,\n CAPICOM_PROPID_PUBKEY_HASH_RESERVED: 8,\n CAPICOM_PROPID_ENHKEY_USAGE: 9,\n CAPICOM_PROPID_CTL_USAGE: 9,\n CAPICOM_PROPID_NEXT_UPDATE_LOCATION: 10,\n CAPICOM_PROPID_FRIENDLY_NAME: 11,\n CAPICOM_PROPID_PVK_FILE: 12,\n CAPICOM_PROPID_DESCRIPTION: 13,\n CAPICOM_PROPID_ACCESS_STATE: 14,\n CAPICOM_PROPID_SIGNATURE_HASH: 15,\n CAPICOM_PROPID_SMART_CARD_DATA: 16,\n CAPICOM_PROPID_EFS: 17,\n CAPICOM_PROPID_FORTEZZA_DATA: 18,\n CAPICOM_PROPID_ARCHIVED: 19,\n CAPICOM_PROPID_KEY_IDENTIFIER: 20,\n CAPICOM_PROPID_AUTO_ENROLL: 21,\n CAPICOM_PROPID_PUBKEY_ALG_PARA: 22,\n CAPICOM_PROPID_CROSS_CERT_DIST_POINTS: 23,\n CAPICOM_PROPID_ISSUER_PUBLIC_KEY_MD5_HASH: 24,\n CAPICOM_PROPID_SUBJECT_PUBLIC_KEY_MD5_HASH: 25,\n CAPICOM_PROPID_ENROLLMENT: 26,\n CAPICOM_PROPID_DATE_STAMP: 27,\n CAPICOM_PROPID_ISSUER_SERIAL_NUMBER_MD5_HASH: 28,\n CAPICOM_PROPID_SUBJECT_NAME_MD5_HASH: 29,\n CAPICOM_PROPID_EXTENDED_ERROR_INFO: 30,\n CAPICOM_PROPID_RENEWAL: 64,\n CAPICOM_PROPID_ARCHIVED_KEY_HASH: 65,\n CAPICOM_PROPID_FIRST_RESERVED: 66,\n CAPICOM_PROPID_LAST_RESERVED: 0x00007FFF,\n CAPICOM_PROPID_FIRST_USER: 0x00008000,\n CAPICOM_PROPID_LAST_USER: 0x0000FFFF,\n },\n // CADESCOM_XML_SIGNATURE_TYPE enumeration\n SignatureType: {\n CADESCOM_XML_SIGNATURE_TYPE_ENVELOPED: 0,\n CADESCOM_XML_SIGNATURE_TYPE_ENVELOPING: 1,\n CADESCOM_XML_SIGNATURE_TYPE_TEMPLATE: 2,\n },\n // CADESCOM_HASH_ALGORITHM enumeration\n HashAlgorithm: {\n CADESCOM_HASH_ALGORITHM_CP_GOST_3411: 100,\n CADESCOM_HASH_ALGORITHM_MD2: 1,\n CADESCOM_HASH_ALGORITHM_MD4: 2,\n CADESCOM_HASH_ALGORITHM_MD5: 3,\n CADESCOM_HASH_ALGORITHM_SHA_256: 4,\n CADESCOM_HASH_ALGORITHM_SHA_384: 5,\n CADESCOM_HASH_ALGORITHM_SHA_512: 6,\n CADESCOM_HASH_ALGORITHM_SHA1: 0,\n },\n CadesType: {\n CADESCOM_CADES_DEFAULT: 0,\n CADESCOM_CADES_BES: 1,\n CADESCOM_CADES_X_LONG_TYPE_1: 0x5d,\n },\n ContentEncoding: {\n CADESCOM_BASE64_TO_BINARY: 0x01,\n CADESCOM_STRING_TO_UCS2LE: 0x00,\n },\n StoreNames: {\n CAPICOM_MY_STORE: 'My',\n },\n Chain: {\n CAPICOM_CERTIFICATE_INCLUDE_CHAIN_EXCEPT_ROOT: 0,\n CAPICOM_CERTIFICATE_INCLUDE_WHOLE_CHAIN: 1,\n CAPICOM_CERTIFICATE_INCLUDE_END_ENTITY_ONLY: 2,\n },\n GostXmlDSigUrls: {\n XmlDsigGost3410Url: 'urn:ietf:params:xml:ns:cpxmlsec:algorithms:gostr34102001-gostr3411',\n XmlDsigGost3411Url: 'urn:ietf:params:xml:ns:cpxmlsec:algorithms:gostr3411',\n XmlDsigGost3410UrlObsolete: 'http://www.w3.org/2001/04/xmldsig-more#gostr34102001-gostr3411',\n XmlDsigGost3411UrlObsolete: 'http://www.w3.org/2001/04/xmldsig-more#gostr3411',\n },\n};\n","export const oids = {\n '1.2.840.113549.1.9.2': 'Неструктурированное имя',\n '1.2.643.3.141.1.1': 'РНС ФСС',\n '1.2.643.3.141.1.2': 'КП ФСС',\n '1.2.643.3.131.1.1': 'ИНН',\n '1.2.643.100.4': 'ИНН ЮЛ',\n '1.2.643.100.114': 'Тип идентификации при выдаче сертификата',\n '1.3.6.1.5.5.7.3.2': 'Проверка подлинности клиента',\n '1.3.6.1.5.5.7.3.4': 'Защищенная электронная почта',\n '1.2.643.3.8.100.1': 'Сертификат типа \"ekey-ГОСТ\"',\n '1.2.643.3.8.100.1.1': 'Общее использование в системах ИОК без права заверения финансовых документов',\n '1.2.643.3.8.100.1.2': 'Передача отчетности по ТКС',\n '1.2.643.3.8.100.1.3': 'Оформление взаимных обязательств, соглашений, договоров, актов и т.п.',\n '1.2.643.3.8.100.1.4': 'Внутрикорпоративный документооборот',\n '1.2.643.3.8.100.1.5': 'Использование в системах электронной торговли',\n '1.2.643.3.8.100.1.6': 'Использование в торгово-закупочной системе \"ЭЛЕКТРА\"',\n '1.2.643.6.2.1.7.2': 'Использование физическим лицом в отношениях, связанных с возникновением, исполнением (осуществлением) и прекращением гражданских прав и обязанностей в отношении инвестиционных паев паевых инвестиционных фондов, в том числе отношения, связанные с учетом и/или фиксацией прав на инвестиционные паи паевых инвестиционных фондов',\n '1.2.643.6.2.1.7.1': 'Использование единоличным исполнительным органом юридического лица или уполномоченными представителями юридического лица в отношениях, связанных с возникновением, исполнением (осуществлением) и прекращением гражданских и иных прав и обязанностей в сфере негосударственного пенсионного обеспечения, негосударственного пенсионного страхования, в сфере деятельности паевых инвестиционных фондов, акционерных инвестиционных фондов, профессиональных участников рынка ценных бумаг, а также связанной с обслуживанием указанной деятельности услуг кредитных и иных организаций',\n '1.3.6.1.4.1.29919.21': 'Использование в системе Портал государственных закупок Ростовской области \"Рефери\".',\n '1.2.643.3.2.100.65.13.11': 'Использование в системе АИС \"Госзакупки\" Сахалинской области.',\n '1.2.643.3.8.100.1.7': 'Использование в системе Портал государственных закупок Ставропольского края.',\n '1.2.643.3.8.100.1.8': 'Использование в Единой системе электронной торговли B2B-Center и B2G.',\n '1.2.643.3.8.100.1.9': 'Для участия в электронных торгах и подписания государственного контракта в электронной площадке ОАО «ЕЭТП» уполномоченными лицами участников размещения государственного или муниципального заказа',\n '1.2.643.3.8.100.1.10': 'Для участия в электронных торгах и подписания государственного контракта в информационных системах Тендерного комитета города Москвы уполномоченными лицами участников размещения государственного заказа города Москвы',\n '1.2.643.3.8.100.1.11': 'Подписание электронных документов в автоматизированной информационной системе размещения государственного и муниципального заказа Саратовской области',\n '1.2.643.3.8.100.1.12': 'Использование в системе государственного заказа Иркутской области',\n '1.2.643.3.8.100.1.13': 'Использование в электронной торговой площадке агентства государственного заказа Красноярского края',\n '1.3.6.1.4.1.24138.1.1.8.1': 'Обеспечение юридической значимости в Системе \"Электронная Торговая Площадка\"',\n '1.2.643.3.8.100.1.14': 'Использование в электронной торговой площадке \"Тендер\"',\n '1.2.643.6.3': 'Использование в электронных торговых системах и в программном обеспечении, связанным с обменом электронных сообщений',\n '1.2.643.2.2.34.6': 'Пользователь Центра Регистрации',\n '1.2.643.2.39.1.1': 'Использование в программных продуктах системы \"1С:Предприятие 8\"',\n '1.2.643.5.1.24.2.1.3': 'Формирование документов для получения государственных услуг в сфере ведения государственного кадастра недвижимости со стороны заявителя',\n '1.2.643.5.1.24.2.1.3.1': 'Формирование кадастровым инженером документов для получения государственных услуг в сфере ведения государственного кадастра недвижимости со стороны заявителя',\n '1.2.643.5.1.24.2.2.2': 'Формирование документов как результата оказания услуги со стороны органов регистрации прав',\n '1.2.643.5.1.24.2.2.3': 'Формирование документов для получения государственных услуг в сфере государственной регистрации прав на недвижимое имущество и сделок с ним со стороны заявителя',\n '1.2.643.6.3.1.1': 'Использование на электронных площадок отобранных для проведения аукционах в электронной форме',\n '1.2.643.6.3.1.2.1': 'Тип участника - Юридическое лицо',\n '1.2.643.6.3.1.2.2': 'Тип участника - Физическое лицо',\n '1.2.643.6.3.1.2.3': 'Тип участника - Индивидуальный предприниматель',\n '1.2.643.6.3.1.3.1': 'Участник размещения заказа',\n '1.2.643.6.3.1.4.1': 'Администратор организации',\n '1.2.643.6.3.1.4.2': 'Уполномоченный специалист',\n '1.2.643.6.3.1.4.3': 'Специалист с правом подписи контракта',\n '1.3.643.3.8.100.15': 'Использование в ЭТП \"uTender\"',\n};\n","import { Bowser } from '@factorin/util';\n\nimport { oids } from './oids';\n\n\nexport const subjectNameTagsTranslations = [\n { possibleNames: ['UnstructuredName'], translation: 'Неструктурированное имя' },\n { possibleNames: ['CN'], translation: 'Владелец' },\n { possibleNames: ['SN'], translation: 'Фамилия' },\n { possibleNames: ['G'], translation: 'Имя Отчество' },\n { possibleNames: ['C'], translation: 'Страна' },\n { possibleNames: ['S'], translation: 'Регион' },\n { possibleNames: ['STREET'], translation: 'Адрес' },\n { possibleNames: ['O'], translation: 'Компания' },\n { possibleNames: ['OU'], translation: 'Отдел/подразделение' },\n { possibleNames: ['T'], translation: 'Должность' },\n { possibleNames: ['ОГРН', 'OGRN'], translation: 'ОГРН' },\n { possibleNames: ['ОГРНИП', 'OGRNIP'], translation: 'ОГРНИП' },\n { possibleNames: ['СНИЛС', 'SNILS'], translation: 'СНИЛС' },\n { possibleNames: ['ИНН', 'INN'], translation: 'ИНН' },\n { possibleNames: ['ИНН ЮЛ', 'ЮЛ', 'INNLE'], translation: 'ИНН ЮЛ' },\n { possibleNames: ['Тип идентификации при выдаче сертификата', 'IdentificationKind'], translation: 'Тип идентификации при выдаче сертификата' },\n { possibleNames: ['E'], translation: 'Email' },\n { possibleNames: ['L'], translation: 'Город' },\n];\n\nexport const issuerNameTagsTranslations = [\n { possibleNames: ['UnstructuredName'], translation: 'Неструктурированное имя' },\n { possibleNames: ['CN'], translation: 'Удостоверяющий центр' },\n { possibleNames: ['S'], translation: 'Регион' },\n { possibleNames: ['C'], translation: 'Страна' },\n { possibleNames: ['STREET'], translation: 'Адрес' },\n { possibleNames: ['O'], translation: 'Компания' },\n { possibleNames: ['OU'], translation: 'Тип' },\n { possibleNames: ['T'], translation: 'Должность' },\n { possibleNames: ['ОГРН', 'OGRN'], translation: 'ОГРН' },\n { possibleNames: ['ОГРНИП', 'OGRNIP'], translation: 'ОГРНИП' },\n { possibleNames: ['СНИЛС', 'SNILS'], translation: 'СНИЛС' },\n { possibleNames: ['ИНН', 'INN'], translation: 'ИНН' },\n { possibleNames: ['ИНН ЮЛ', 'ЮЛ', 'INNLE'], translation: 'ИНН ЮЛ' },\n { possibleNames: ['Тип идентификации при выдаче сертификата', 'IdentificationKind'], translation: 'Тип идентификации при выдаче сертификата' },\n { possibleNames: ['E'], translation: 'Email' },\n { possibleNames: ['L'], translation: 'Город' },\n];\n\nconst regexes = {\n infoString: /([а-яА-Яa-zA-Z0-9.]+)=(?:(\"[^\"]+?\")|(.+?))(?:,|$)/g,\n group: /^([а-яА-Яa-zA-Z0-9.]+)=(.+?),?$/,\n oid: {\n test: /^OID./,\n match: /^OID\\.(.*)/,\n },\n quotes: {\n first: /^\"(.*)\"/,\n second: /\"{2}/g,\n },\n};\n\nconst parseGroup = tags => group => {\n const parts = group.match(regexes.group);\n let title = parts && parts[1];\n let descr = parts && parts[2];\n let translated = false;\n\n if (regexes.oid.test.test(title)) {\n let oidTitle = title.match(regexes.oid.match);\n\n if (oidTitle && oidTitle[1]) {\n oidTitle = oids[oidTitle[1]];\n\n if (oidTitle)\n title = oidTitle;\n }\n }\n\n descr = descr.replace(regexes.quotes.first, '$1');\n descr = descr.replace(regexes.quotes.second, '\"');\n\n tags.some(tag => tag.possibleNames.some(possible => {\n const match = possible === title;\n\n if (match) {\n title = tag.translation;\n translated = true;\n }\n\n return match;\n }));\n\n return {\n title,\n descr,\n translated,\n };\n};\n\nexport const parseCertInfo = (tags, infoString) => {\n let result = infoString.match(regexes.infoString);\n\n if (result)\n result = result.map(parseGroup(tags));\n\n return result;\n};\n\nconst bowser = new Bowser();\n\nexport const getDateObj = dateObj =>\n bowser.ie ? dateObj.getVarDate() : dateObj;\n","/* eslint no-proto: 0 */\n\nconst errorsText = {\n pluginNotInstalled: 'Не подключен модуль для работы с cades plugin',\n pluginNotAvailable: 'КриптоПРО ЭЦП Browser Plug-In недоступен',\n certNotValid: message => `Ошибка при проверке сертификата: ${message}`,\n getCertProp: message => `Ошибка при обращении к свойству сертификата: ${message}`,\n exportCert: message => `Ошибка при экспорте сертификата: ${message}`,\n getCertAlgorithm: message => `Ошибка при получении алгоритма: ${message}`,\n getCertInfo: message => `Ошибка при извлечении данных из сертификата: ${message}`,\n openStore: message => `Ошибка при открытии хранилища: ${message}`,\n getCertList: message => `Ошибка получения списка сертификатов: ${message}`,\n emptyCertList: 'Нет доступных сертификатов',\n processingCertList: message => `Ошибка обработки сертификатов: ${message}`,\n thumbprintNotSpecified: 'Хэш не указан',\n certNotFound: hash => `Сертификат с хэшем: \"${hash}\" не найден`,\n getCertForHash: hash => `Не удалось получить сертификат по хэшу: ${hash}`,\n installSignData: message => `Ошибка при установке данных подписи: ${message}`,\n installHashData: message => `Ошибка при задании hash'а данных: ${message}`,\n installSignSettings: message => `Не удалось установить настройки для подписи: ${message}`,\n createSign: message => `Не удалось создать подпись: ${message}`,\n};\n\nexport class PluginNotInstalledError extends Error {\n constructor() {\n super(errorsText.pluginNotInstalled);\n\n this.name = 'PluginNotInstalledError';\n this.constructor = PluginNotInstalledError;\n this.__proto__ = PluginNotInstalledError.prototype;\n }\n}\n\nexport class PluginNotAvailableError extends Error {\n constructor() {\n super(errorsText.pluginNotAvailable);\n\n this.name = 'PluginNotAvailableError';\n this.constructor = PluginNotAvailableError;\n this.__proto__ = PluginNotAvailableError.prototype;\n }\n}\n\nexport class CertificateNotValidError extends Error {\n constructor(message) {\n super(errorsText.certNotValid(message));\n\n this.name = 'CertificateNotValidError';\n this.constructor = CertificateNotValidError;\n this.__proto__ = CertificateNotValidError.prototype;\n }\n}\n\nexport class GetCertificatePropError extends Error {\n constructor(message) {\n super(errorsText.getCertProp(message));\n\n this.name = 'GetCertificatePropError';\n this.constructor = GetCertificatePropError;\n this.__proto__ = GetCertificatePropError.prototype;\n }\n}\n\nexport class ExportCertificateError extends Error {\n constructor(message) {\n super(errorsText.exportCert(message));\n\n this.name = 'ExportCertificateError';\n this.constructor = ExportCertificateError;\n this.__proto__ = ExportCertificateError.prototype;\n }\n}\n\nexport class GetCertificateAlgorithmError extends Error {\n constructor(message) {\n super(errorsText.getCertAlgorithm(message));\n\n this.name = 'GetCertificateAlgorithmError';\n this.constructor = GetCertificateAlgorithmError;\n this.__proto__ = GetCertificateAlgorithmError.prototype;\n }\n}\n\nexport class GetCertificateInfoError extends Error {\n constructor(message) {\n super(errorsText.getCertInfo(message));\n\n this.name = 'GetCertificateInfoError';\n this.constructor = GetCertificateInfoError;\n this.__proto__ = GetCertificateInfoError.prototype;\n }\n}\n\nexport class OpenStoreError extends Error {\n constructor(message) {\n super(errorsText.openStore(message));\n\n this.name = 'OpenStoreError';\n this.constructor = OpenStoreError;\n this.__proto__ = OpenStoreError.prototype;\n }\n}\n\nexport class GetCertificateListError extends Error {\n constructor(message) {\n super(errorsText.getCertList(message));\n\n this.name = 'GetCertificateListError';\n this.constructor = GetCertificateListError;\n this.__proto__ = GetCertificateListError.prototype;\n }\n}\n\nexport class EmptyCertificateListError extends Error {\n constructor() {\n super(errorsText.emptyCertList);\n\n this.name = 'EmptyCertificateListError';\n this.constructor = EmptyCertificateListError;\n this.__proto__ = EmptyCertificateListError.prototype;\n }\n}\n\nexport class ProcessingCertificateListError extends Error {\n constructor(message) {\n super(errorsText.processingCertList(message));\n\n this.name = 'ProcessingCertificateListError';\n this.constructor = ProcessingCertificateListError;\n this.__proto__ = ProcessingCertificateListError.prototype;\n }\n}\n\nexport class ThumbprintNotSpecifiedError extends Error {\n constructor() {\n super(errorsText.thumbprintNotSpecified);\n\n this.name = 'ThumbprintNotSpecifiedError';\n this.constructor = ThumbprintNotSpecifiedError;\n this.__proto__ = ThumbprintNotSpecifiedError.prototype;\n }\n}\n\nexport class CertificateNotFoundError extends Error {\n constructor(hash) {\n super(errorsText.certNotFound(hash));\n\n this.name = 'CertificateNotFoundError';\n this.constructor = CertificateNotFoundError;\n this.__proto__ = CertificateNotFoundError.prototype;\n }\n}\n\nexport class GetCertificateForHashError extends Error {\n constructor(hash) {\n super(errorsText.getCertForHash(hash));\n\n this.name = 'GetCertificateForHashError';\n this.constructor = GetCertificateForHashError;\n this.__proto__ = GetCertificateForHashError.prototype;\n }\n}\n\nexport class InstallSignDataError extends Error {\n constructor(message) {\n super(errorsText.installSignData(message));\n\n this.name = 'InstallSignDataError';\n this.constructor = InstallSignDataError;\n this.__proto__ = InstallSignDataError.prototype;\n }\n}\n\nexport class InstallHashDataError extends Error {\n constructor(message) {\n super(errorsText.installHashData(message));\n\n this.name = 'InstallHashDataError';\n this.constructor = InstallHashDataError;\n this.__proto__ = InstallHashDataError.prototype;\n }\n}\n\nexport class InstallSignSettingsError extends Error {\n constructor(message) {\n super(errorsText.installSignSettings(message));\n\n this.name = 'InstallSignSettingsError';\n this.constructor = InstallSignSettingsError;\n this.__proto__ = InstallSignSettingsError.prototype;\n }\n}\n\nexport class CreateSignError extends Error {\n constructor(message) {\n super(errorsText.createSign(message));\n\n this.name = 'CreateSignError';\n this.constructor = CreateSignError;\n this.__proto__ = CreateSignError.prototype;\n }\n}\n","import { formatDateTime } from '@factorin/util';\n\nimport { issuerNameTagsTranslations, subjectNameTagsTranslations, parseCertInfo } from './utils';\nimport {\n CertificateNotValidError,\n GetCertificatePropError,\n ExportCertificateError,\n GetCertificateAlgorithmError,\n GetCertificateInfoError,\n} from './errors';\n\n\nconst wrapMethod = (Error, getter) => async (...args) => {\n try {\n return await getter(...args);\n } catch ({ message }) {\n throw new Error(message);\n }\n};\n\nexport class Certificate {\n constructor(item) {\n this._cert = item._cert;\n this.thumbprint = item.thumbprint;\n this.subjectName = item.subjectName;\n this.issuerName = item.issuerName;\n this.validFrom = new Date(item.validFrom);\n this.validTo = new Date(item.validTo);\n\n const name = item.subjectName.match(/CN=(.+?)(?:,|$)/);\n if (name && name[1])\n this.name = name[1];\n\n this.label = `${this.name || this.subjectName} (до ${formatDateTime(this.validTo)})`;\n\n (window.$certs || (window.$certs = {}))[this.name] = this;\n }\n\n isValid = wrapMethod(\n CertificateNotValidError,\n async () => {\n const validation = await this._cert.IsValid();\n return validation.Result;\n },\n );\n\n getProp = wrapMethod(\n GetCertificatePropError,\n async propName => this._cert[propName],\n );\n\n exportBase64 = wrapMethod(\n ExportCertificateError,\n async () => this._cert.Export(0),\n );\n\n getAlgorithm = wrapMethod(\n GetCertificateAlgorithmError,\n async () => {\n const publicKey = await this._cert.PublicKey();\n const algorithm = await publicKey.Algorithm;\n return {\n algorithm: await algorithm.FriendlyName,\n oid: await algorithm.Value,\n };\n },\n );\n\n getInfo = wrapMethod(\n GetCertificateInfoError,\n async (tags, propName) => {\n const propInfo = await this._cert[propName];\n return parseCertInfo(tags, propInfo);\n },\n );\n\n getOwnerInfo = async () => this.getInfo(subjectNameTagsTranslations, 'SubjectName');\n\n getIssuerInfo = async () => this.getInfo(issuerNameTagsTranslations, 'IssuerName');\n}\n","import { PluginNotInstalledError, PluginNotAvailableError } from './errors';\n\nimport './thirdparty/cadesplugin_api';\n\n\nif (window.cadesplugin)\n window.cadesplugin.set_log_level(window.cadesplugin.LOG_LEVEL_ERROR);\n\nexport const call = func => async (...args) => {\n if (!window.cadesplugin)\n throw new PluginNotInstalledError();\n\n try {\n await window.cadesplugin;\n } catch (err) {\n console.log(err);\n throw new PluginNotAvailableError();\n }\n\n return func(...args);\n};\n","import { constants as cryptoConstants } from './constants';\nimport { getDateObj } from './utils';\nimport { Certificate } from './Certificate';\nimport {\n OpenStoreError,\n GetCertificateListError,\n EmptyCertificateListError,\n ProcessingCertificateListError,\n ThumbprintNotSpecifiedError,\n CertificateNotFoundError,\n GetCertificateForHashError,\n InstallHashDataError,\n InstallSignDataError,\n InstallSignSettingsError,\n CreateSignError,\n} from './errors';\nimport { call } from './api';\n\n\nconst canAsync = () => !!window.cadesplugin.CreateObjectAsync;\n\nconst createObject = async args =>\n (window.cadesplugin.CreateObjectAsync || window.cadesplugin.CreateObject)(args);\n\nconst propset = async (object, property, value) => {\n if (canAsync())\n await object[`propset_${property}`](value);\n else\n object[property] = value;\n};\n\nconst createAndOpenStore = async () => {\n const store = await createObject('CAdESCOM.Store');\n try {\n await store.Open(\n window.cadesplugin.CAPICOM_CURRENT_USER_STORE,\n window.cadesplugin.CAPICOM_MY_STORE,\n window.cadesplugin.CAPICOM_STORE_OPEN_MAXIMUM_ALLOWED,\n );\n return store;\n } catch ({ message }) {\n throw new OpenStoreError(message);\n }\n};\n\nconst getCerts = async store => {\n try {\n let certs = await store.Certificates;\n if (certs) {\n certs = await certs.Find(\n window.cadesplugin.CAPICOM_CERTIFICATE_FIND_TIME_VALID,\n );\n /**\n * Не рассматриваются сертификаты, в которых отсутствует закрытый ключ\n * или не действительны на данный момент\n * */\n certs = await certs.Find(\n window.cadesplugin.CAPICOM_CERTIFICATE_FIND_EXTENDED_PROPERTY,\n cryptoConstants.PropId.CAPICOM_PROPID_KEY_PROV_INFO,\n );\n }\n return certs;\n } catch ({ message }) {\n throw new GetCertificateListError(message);\n }\n};\n\nconst getCount = async certs => {\n const count = await certs.Count;\n if (!count)\n throw new EmptyCertificateListError();\n return count;\n};\n\nconst getCertificateItem = async (certs, number) => {\n const item = await certs.Item(number);\n return new Certificate({\n _cert: await item,\n thumbprint: await item.Thumbprint,\n subjectName: await item.SubjectName,\n issuerName: await item.IssuerName,\n validFrom: await item.ValidFromDate,\n validTo: await item.ValidToDate,\n });\n};\n\nconst getCertificateItemList = async (certs, count) => {\n try {\n const list = [];\n for (let i = 0; i < count; i++)\n list.push(getCertificateItem(certs, i + 1));\n return await Promise.all(list);\n } catch ({ message }) {\n throw new ProcessingCertificateListError(message);\n }\n};\n\n\nexport const getCertsList = call(async () => {\n const store = await createAndOpenStore();\n const certs = await getCerts(store);\n const count = await getCount(certs);\n const result = await getCertificateItemList(certs, count);\n store.Close();\n return result;\n});\n\nexport const getCert = call(async thumbprint => {\n if (!thumbprint)\n throw new ThumbprintNotSpecifiedError();\n const list = await getCertsList();\n const cert = list.find(cert => cert.thumbprint === thumbprint);\n if (!cert)\n throw new CertificateNotFoundError(thumbprint);\n return cert;\n});\n\nconst getCadesCert = async hash => {\n const store = await createAndOpenStore();\n const certs = await store.Certificates;\n const filtered = await certs.Find(window.cadesplugin.CAPICOM_CERTIFICATE_FIND_SHA1_HASH, hash);\n if (!filtered.Count)\n throw new GetCertificateForHashError(hash);\n const item = await filtered.Item(1);\n store.Close();\n return item;\n};\n\nconst installSignatureData = async (attrs, clientTime) => {\n try {\n await propset(attrs, 'Name', cryptoConstants.Time.AUTHENTICATED_ATTRIBUTE_SIGNING_TIME);\n await propset(attrs, 'Value', clientTime);\n } catch ({ message }) {\n throw new InstallSignDataError(message);\n }\n};\n\nconst installHashData = async (hashedData, hashAlg, dataHash) => {\n try {\n await propset(hashedData, 'Algorithm', hashAlg);\n await hashedData.SetHashValue(dataHash);\n } catch ({ message }) {\n throw new InstallHashDataError(message);\n }\n};\n\nconst installSignatureSettings = async (signer, cert, oAttrs) => {\n try {\n await propset(signer, 'Certificate', cert);\n const attrs = await signer.AuthenticatedAttributes2;\n await attrs.Add(oAttrs);\n await propset(signer, 'Options',\n window.cadesplugin.CAPICOM_CERTIFICATE_INCLUDE_END_ENTITY_ONLY);\n } catch ({ message }) {\n throw new InstallSignSettingsError(message);\n }\n};\n\nconst createSignature = async (oSignedData, oHashedData, oSigner) => {\n try {\n const signature = await oSignedData.SignHash(\n oHashedData,\n oSigner,\n window.cadesplugin.CADESCOM_CADES_BES,\n );\n return signature;\n } catch ({ message }) {\n throw new CreateSignError(message);\n }\n};\n\nexport const signHash = call(async (hash, dataHash, hashAlg) => {\n const cert = await getCadesCert(hash);\n const clientTime = getDateObj(new Date());\n const oAttrs = await createObject('CADESCOM.CPAttribute');\n const oHashedData = await createObject('CAdESCOM.HashedData');\n const oSignedData = await createObject('CAdESCOM.CadesSignedData');\n const oSigner = await createObject('CAdESCOM.CPSigner');\n\n await installSignatureData(oAttrs, clientTime);\n await installHashData(oHashedData, hashAlg, dataHash);\n await installSignatureSettings(oSigner, cert, oAttrs);\n return createSignature(oSignedData, oHashedData, oSigner);\n});\n","// extracted by mini-css-extract-plugin\nmodule.exports = {\"container\":\"Calendar_container__3rBBM\",\"months\":\"Calendar_months__19K7a\",\"week\":\"Calendar_week__14Snd\",\"weekdaysRow\":\"Calendar_weekdaysRow__cRWy9\",\"day\":\"Calendar_day__1es2I\",\"disabled\":\"Calendar_disabled__2fiSu\",\"outside\":\"Calendar_outside__3NDGk\",\"selected\":\"Calendar_selected__3PXKN\",\"isRange\":\"Calendar_isRange__1byPt\",\"from\":\"Calendar_from__1bpSd\",\"to\":\"Calendar_to__1dP_T\",\"today\":\"Calendar_today__3aVlv\"};","// extracted by mini-css-extract-plugin\nmodule.exports = {\"tabHeader\":\"TabHeader_tabHeader__zRVv_\",\"tab\":\"TabHeader_tab__3VG8Y\",\"active\":\"TabHeader_active__Y2AqD\",\"passive\":\"TabHeader_passive__uYQXc\"};","// extracted by mini-css-extract-plugin\nmodule.exports = {\"container\":\"Tooltip_container__2ioZg\",\"tooltip\":\"Tooltip_tooltip__CbZ7H\",\"left\":\"Tooltip_left__252X_\",\"right\":\"Tooltip_right__2Fi4_\",\"top\":\"Tooltip_top__zxzqm\",\"bottom\":\"Tooltip_bottom__3Rv60\",\"sm\":\"Tooltip_sm__2AjnO\",\"md\":\"Tooltip_md__1t8Ud\",\"lg\":\"Tooltip_lg__2iVv8\"};","// extracted by mini-css-extract-plugin\nmodule.exports = {\"modalSize\":\"CryptoProfilesManager_modalSize__15fuA\",\"content\":\"CryptoProfilesManager_content__3Foom\",\"certsList\":\"CryptoProfilesManager_certsList__12_lw\",\"selectorHeader\":\"CryptoProfilesManager_selectorHeader__MxNjD\",\"button\":\"CryptoProfilesManager_button__Rfl1k\"};","import { mergeExtensions, build, applyContainer } from '@factorin/container';\n\nimport { theme } from '../theme';\n\n\n\nconst extensions = mergeExtensions(\n \n require('../../src/core/react').react,\n \n require('../../src/core/redux').redux,\n \n require('../../src/core/forms').forms,\n \n require('../../src/core/messaging').messaging,\n \n require('../../src/core/api').api,\n \n require('../../src/core/i18n').i18n,\n \n require('../../src/core/helmet').helmet,\n \n require('../../src/core/mui').mui,\n \n require('../../src/business/yandex-metrics').yandexMetrics,\n \n require('../../src/business/data').data,\n \n require('../../src/business/registration').registration,\n \n require('../../src/business/landing-dfa').landingDfa,\n \n require('../../src/core/config').config,\n \n { config: {\"configuration\":\"landing-dfa\",\"pathPrefix\":\"/Frontend\",\"apiPath\":\"/api\"}, theme },\n);\nconst container = applyContainer(build(extensions));\ncontainer.runApplication();\n","import { withUrl, get, ItemRequest } from '@factorin/rest';\n\n\nexport enum MonitorCardsCodes {\n K1 = 'K1',\n K2 = 'K2',\n K3 = 'K3',\n K4 = 'K4',\n K5 = 'K5',\n K6 = 'K6',\n K7 = 'K7',\n}\n\nexport interface MonitoringElement {\n id: string;\n code: MonitorCardsCodes;\n title: string;\n text: string;\n link: string;\n order: number;\n}\n\n\nconst monitoringPart = withUrl('MarketsMonitor');\n\nexport const monitoring = {\n itemList: get(() => monitoringPart()),\n item: get(({ id }) => monitoringPart({ path: `${id}` })),\n list: get(\n () => monitoringPart({\n path: 'list',\n }),\n ),\n};\n","import React from 'react';\n\n\nexport const RouteContext = React.createContext(null);\n","import React, { FC } from 'react';\n\nimport { Box, useTablet, BoxProps, useMobile } from 'Modules/ui3';\n\n\nexport type ContentBoxProps = BoxProps & {\n backgroundImage?: string;\n withBorder?: boolean;\n}\nexport const ContentBox: FC = ({\n children, backgroundImage, withBorder, sx, ...props\n}) => {\n const isMobile = useMobile();\n const isTablet = useTablet();\n return (\n \n {children}\n \n );\n};\n","import React, { FC, PropsWithChildren } from 'react';\n\nimport { useDesktop, useMobile, Button2, Button2Props } from 'Modules/ui3';\n\n\nexport const AccentButton: FC> = ({ children, sx, ...props }) => {\n const isMobile = useMobile();\n const isDesktop = useDesktop();\n return (\n ({\n ...isDesktop && typography.mediumBody1,\n }),\n ...Array.isArray(sx) ? sx : [sx],\n ]}\n {...props}\n >\n {children}\n \n );\n};\n","export default __webpack_public_path__ + \"static/media/Doc.866e3083.png\";","export default __webpack_public_path__ + \"static/media/Cart.6617f78c.png\";","export default __webpack_public_path__ + \"static/media/PuzzleHome.15f71b66.png\";","export const FACTORIN_URL = 'https://factorin.io/';\n\nexport const HELLO_EMAIL = 'hello@cfahub.ru';\nexport const PR_EMAIL = 'pr@cfahub.ru';\nexport const ASK_EMAIL = 'ask@cfahub.ru';\nexport const PARTNER_EMAIL = 'partner@cfahub.ru';\nexport const OPERATOR_EMAIL = 'operator@cfahub.ru';\n\nexport const LANDING_DOMAIN_PATH = 'landing-dfa';\n","import React from 'react';\n\nimport Doc from './assets/Doc.png';\nimport Cart from './assets/Cart.png';\nimport Puzzle from './assets/PuzzleHome.png';\nimport { ASK_EMAIL, OPERATOR_EMAIL, PARTNER_EMAIL, PR_EMAIL } from '../../constants';\n\n\nexport const data = {\n advantages: [\n {\n title: <>Доступная инфраструктура без посредников,\n text: (\n <>\n Привлечь средства можно 24/7, а все функции биржи,\n депозитария, клирингового центра и брокера выполнит сама платформа\n \n ),\n },\n {\n title: <>Низкие расходы на администрирование исполнения обязательств,\n text: 'Осуществляется автоматически согласно смарт-контракту. Ошибки и человеческий фактор — исключены',\n },\n {\n title: 'Моментальные расчеты',\n text: 'Реализованы по принципу «поставка против платежа» (при условии использования номинальных счетов)',\n },\n {\n title: 'НДС не облагается',\n text: (\n <>\n Большинство операций с ЦФА освобождены от НДС,\n облагаются только некоторые сделки с гибридными ЦФА\n \n ),\n },\n {\n title: <>Привлечение капитала под широкий перечень активов,\n text: 'Могут быть токенизированы и введены в оборот ранее низколиквидные активы (товары, услуги, объекты прав)',\n },\n {\n title: 'Гибкие условия выпуска, обращения и погашения',\n text: 'С помощью смарт-контрактов можно реализовать любой сценарий жизненного цикла актива. Например, ЦФА со сроком обращения несколько дней, что делает его отличным источником краткосрочной ликвидности',\n },\n {\n title: 'Привлечение инвесторов с любым уровнем дохода',\n text: 'Выпуск ЦФА может состоять из большого числа недорогих активов, что позволяет привлечь не только крупных, но и небольших инвесторов',\n },\n {\n title: 'Отсутствие барьера для МСБ',\n text: 'Разместить ЦФА могут любые компании и ИП вне зависимости от размера годовой выручки. Также отсутствуют ограничения по объему выпуска, наличию кредитного рейтинга и поручителя',\n },\n ],\n ideas: [\n {\n title: 'Цифровые облигации',\n text: (\n <>\n Выпуск корпоративных и государственных долговых инструментов\n быстрее и дешевле чем на традиционном фондовом рынке\n \n ),\n image: Doc,\n },\n {\n title: 'Маркетплейс финансирования',\n text: 'Токенизация кредиторской задолженности покупателей и дебиторской задолженности поставщиков',\n image: Cart,\n },\n {\n title: 'Цифровые квадратные метры',\n text: (\n <>\n Быстрое и дешевое привлечение финансирования для девелоперов.\n Вложения в недвижимость с низким порогом входа для инвесторов\n \n ),\n image: Puzzle,\n },\n ],\n toKnow: [\n 'ЦФА не являются платежным средством',\n 'Реализуется интеграция платформы ЦФА ХАБ с платформой цифрового рубля',\n 'ЦФА выпускаются эмитентами только на платформах операторов, включенных в реестр Банка России',\n <>ЦФА нельзя приобрести за криптовалюту,\n ],\n issuerCompanies: [\n 'Крупные корпорации',\n 'Средний и малый бизнес',\n 'Индивидуальные предприниматели',\n ],\n releaseDfaSteps: [\n <>\n Подбираем ЦФА под ваши задачи. Используем готовый смарт-контракт или разрабатываем новый\n ,\n <>\n Запрашиваем документы для проведения идентификации.\n Открываем личный кабинет на платформе\n ,\n 'Проверяем заявку на выпуск и публикуем «Решение о выпуске ЦФА»',\n 'Собираем заявки от инвесторов. Выпускаем ЦФА',\n ],\n clients: {\n unqualified: {\n title: 'Неквалифицированные инвесторы',\n text: (\n <>\n Как и в случае с традиционными инструментами, есть ряд ограничений.\n Физлица без статуса могут вкладывать средства, например,\n в долговые ЦФА наиболее надежных эмитентов, доходность и сроки погашения\n которых фиксируются заранее. Также им доступны некоторые типы гибридных ЦФА с\n привязкой к реальным активам и цифровые права участия в капитале непубличных АО.\n

\n Регистрируйтесь на ЦФА ХАБ и получайте доступ к новым цифровым инструментам.\n Если захотите расширить свои инвестиционные возможности — подскажем,\n как это сделать по правилам\n \n ),\n },\n arr: [\n {\n title: 'Квалифицированные инвесторы',\n text: 'Структурные продукты любой сложности, разрешенные российским законодательством',\n },\n {\n title: 'Банки и другие финансовые организации',\n text: 'Диверсификация кредитного портфеля и доступ к новым клиентам',\n },\n {\n title: 'Нерезиденты',\n text: 'Для иностранных клиентов разрешена удаленная идентификация',\n },\n {\n title: 'Нефинансовый сектор, включая ИП',\n text: (\n <>\n Размещение свободных средств под ставки, превышающие депозитные.\n Для любого бизнеса без ограничений по объему выручки\n \n ),\n },\n ],\n },\n helps: [\n {\n title: 'Операторам обмена',\n text: 'Предлагаем взаимодействие через API для организации на вашей стороне всех доступных сделок с ЦФА: эмиссия и первичное приобретение, купля-продажа на вторичном рынке',\n },\n {\n title: 'Номинальным держателям с лицензией депозитария',\n text: 'Подготовили API для учета ЦФА, права на которые принадлежат вашим клиентам',\n },\n {\n title: 'Банкам и доверительным управляющим, брокерам и инвестиционным советникам, управляющим компаниям и депозитариям, инвестиционным платформам и агентам',\n text: (\n <>\n Платим за лидогенерацию сделок.\n Создаем брендированные витрины или интегрируемся с вашими приложениями.\n Статус оператора обмена не требуется\n \n ),\n },\n ],\n additional: [\n 'Юридический консалтинг',\n 'Структурирование выпусков ЦФА',\n 'Разработка ПО (личные кабинеты, витрины, маркетплейсы и др.)',\n 'Разработка смарт-контрактов',\n 'Разработка API',\n ],\n documents: [\n {\n name: 'Правила ИС ООО «Блокчейн Хаб» (версия от 27.07.2023)',\n // size: 399,\n link: './rules.pdf',\n },\n {\n name: 'Устав ООО «Блокчейн Хаб»',\n link: './Устав ООО Блокчейн Хаб.pdf',\n },\n {\n name: 'Политика информационной безопасности',\n link: './Политика_информационной_безопасности_ООО_Блокчейн_Хаб.pdf',\n },\n {\n name: 'Лицензионный договор',\n link: './Лицензионный договор.pdf',\n },\n {\n name: 'Тарифы на уплату лицензионного вознаграждения',\n link: './Тарифы_на_уплату_лицензионного_вознаграждения.pdf',\n },\n {\n name: 'Положение о квалифицированных инвесторах',\n link: './Положение о квалифицированных инвесторах ООО Блокчейн Хаб.pdf',\n },\n {\n name: 'Требования к программному обеспечению',\n link: './Требования к программному обеспечению для работы Пользователя в Личном кабинете.pdf',\n },\n {\n name: 'Заявление ЮЛ, ИП о присоединении к правилам',\n link: './Заявление ЮЛ, ИП о присоединении к правилам.docx',\n },\n {\n name: 'Заявление ЮЛ, ИП о присоединении к лицензионному договору',\n link: './Заявление ЮЛ, ИП о присоединении к лицензионному договору.docx',\n },\n {\n name: 'Перечень документов для регистрации ЮЛ',\n link: './Перечень документов для регистрации ЮЛ.pdf',\n },\n {\n name: 'Перечень документов для регистрации ИП',\n link: './Перечень документов для регистрации ИП.pdf',\n },\n {\n name: 'Анкета в целях идентификации ЮЛ',\n link: './Анкета в целях идентификации ЮЛ.docx',\n },\n {\n name: 'Анкета в целях идентификации ИП',\n link: './Анкета в целях идентификации ИП.docx',\n },\n {\n name: 'Анкета в целях идентификации ФЛ',\n link: './Анкета в целях идентификации ФЛ.docx',\n },\n {\n name: 'Анкета в целях идентификации ИСБОЮЛ',\n link: './Анкета в целях идентификации ИСБОЮЛ.docx',\n },\n {\n name: 'Форма доверенности представителя ЮЛ, ИП',\n link: './Форма доверенности представителя ЮЛ, ИП.docx',\n },\n {\n name: 'Решение ПАО МТС о выпуске ЦФА № 02 от 12.12.2023',\n link: './Решение ПАО МТС о выпуске ЦФА № 02 от 12.12.2023.pdf',\n },\n {\n name: 'Уведомление о признании выпуска ЦФА состоявшимся ПАО «МТС», решение №2',\n link: './Уведомление_о_признании_выпуска_ЦФА_состоявшимся_МТС.pdf',\n },\n ],\n contacts: [\n {\n email: ASK_EMAIL,\n text: 'Выпуск и покупка ЦФА',\n },\n {\n email: OPERATOR_EMAIL,\n text: 'Информационная поддержка пользователей',\n },\n {\n email: PARTNER_EMAIL,\n text: 'Партнерская программа',\n },\n {\n email: PR_EMAIL,\n text: 'для СМИ',\n },\n ],\n};\n","import React, { FC } from 'react';\n\nimport { Typography, Stack, useDesktop, BoxProps } from 'Modules/ui3';\nimport { fileUrl } from 'Modules/ui2';\n\nimport { ContentBox } from '../ContentBox';\n\n\ntype InfoBlockProps = BoxProps & {\n data: {\n title?: React.ReactNode;\n text?: React.ReactNode;\n image?: string;\n };\n}\n\nexport const InfoBlock: FC = ({ data: { image, text, title }, ...props }) => {\n const isDesktop = useDesktop();\n return (\n \n {image && info_image}\n {title && (\n \n {title}\n \n )}\n {text && (\n \n {text}\n \n )}\n \n );\n};\n","import React, { FC } from 'react';\nimport { Divider, StackProps } from '@mui/material';\n\nimport { Stack, Box, Typography, useMobile, useDesktop } from 'Modules/ui3';\n\n\ninterface StepProps {\n number: string;\n text: React.ReactNode;\n last?: boolean;\n}\n\ntype NumberedStepsProps = StackProps & {\n steps: StepProps['text'][];\n}\n\nconst Step: FC = ({ number, text, last }) => {\n const isDesktop = useDesktop();\n const isMobile = useMobile();\n return (\n \n \n \n {number}\n \n {!isMobile && !last && }\n \n \n \n {text}\n \n \n \n );\n};\n\nexport const NumberedSteps: FC = ({ steps, ...props }) => {\n const isMobile = useMobile();\n return (\n \n {steps.map((step, idx) => )}\n \n );\n};\n","export default __webpack_public_path__ + \"static/media/issue.11af5d59.png\";","export default __webpack_public_path__ + \"static/media/buy.fa4a4660.png\";","export default __webpack_public_path__ + \"static/media/Showcase.ee08007c.png\";","export default __webpack_public_path__ + \"static/media/Case.20fa94d5.png\";","import Glide from '@glidejs/glide';\n\nimport { IGetNewsSlidesArray } from './types';\nimport { NewsPreviewProps } from '../NewsPreview';\n\n\nexport const newsGlider = new Glide('#newsGlide', {\n type: 'slider',\n startAt: 0,\n perSwipe: '|',\n gap: 8,\n perView: 3,\n breakpoints: {\n 480: {\n perView: 1,\n },\n 1280: {\n perView: 2,\n },\n },\n});\n\nexport const getNewsSlidesArray = ({\n elements,\n rowCount,\n colCount,\n}: IGetNewsSlidesArray): NewsPreviewProps[][] => {\n const slides = [];\n const slidesCount = Math.max(Math.ceil(Math.ceil(\n elements.length / colCount,\n ) / rowCount) * colCount, colCount);\n\n for (let slideIndex = 0; slideIndex < slidesCount; slideIndex++) {\n const slide = [];\n const currentElementIndex = slideIndex + Math.floor(\n slideIndex / colCount,\n ) * colCount * (rowCount - 1);\n for (let rowIndex = 0; rowIndex < rowCount; rowIndex++) {\n const pickElementIndex = currentElementIndex + colCount * rowIndex;\n if (pickElementIndex < elements.length)\n slide.push(elements[pickElementIndex]);\n }\n slides.push(slide);\n }\n return slides;\n};\n","import { Request, request } from '@factorin/rest';\nimport { Pagination } from '@factorin/domain';\nimport { store } from '@factorin/container.macro';\n\n\nexport interface DescisionFile {\n Kind: string;\n MediaType: string;\n Data: string;\n KindName: string;\n Size: number;\n}\n\nexport interface Descision {\n Uid: string;\n EmitentName: string;\n ExchageOperatorName: string;\n OisName: string;\n Amount: number;\n IssuedDate: Date;\n BurnedDate: Date;\n Files: DescisionFile[];\n}\n\nexport const DESCISIONS_PAGINATION_PATH = 'descisions';\n\nexport const descisions = {\n list: ({ query }: Request.Query) => request>({\n basePath: store.getState().config.opermoduleUrl,\n apiPath: 'api/v1/public',\n method: 'GET',\n url: 'descisions',\n query,\n }),\n};\n","import { withUrl, Request, list, get, ItemRequest } from '@factorin/rest';\n\nimport { RenderData } from 'Modules/business/editor-render/render';\n\n\ninterface NewsRequest {\n Tags?: string[];\n}\n\ninterface NewsCommon {\n Date?: string;\n Id: string;\n Tags?: string[];\n}\n\nexport interface NewsPaginationElement extends NewsCommon {\n Description?: string;\n Img?: string;\n Title?: string;\n}\nexport interface News extends NewsCommon{\n Content: RenderData;\n}\n\ninterface NeighboursRequest extends ItemRequest {\n tags?: string[];\n}\n\nexport type Neighbours = Record<'Previous' | 'Next', NewsPaginationElement>;\n\nexport const NEWS_DOMAIN_PATH = 'news';\nconst newsPart = withUrl('news');\nexport const news = {\n ...list, NewsPaginationElement>(newsPart()),\n neighbours: get, Neighbours>(\n ({ query: { id, ...query } }) => newsPart({\n path: `neighbours/${id}`,\n query,\n }),\n ),\n};\n","import { get, withUrl, Request } from '@factorin/rest';\n\n\nexport type DocsGroups = 'ip' | 'company' | 'general' | 'flPartner';\n\nexport interface QueryGroupsOfDocs{\n group: DocsGroups;\n}\n\nexport interface Document {\n id: string;\n type: string;\n file: {\n url: string;\n } | null;\n header: string;\n order: number;\n checklist: boolean;\n}\n\nexport type DocumentsIds = Array;\n\nconst documentsPart = withUrl('Docs');\n\nexport const documents = {\n list: get, Document[]>(({ query }) => documentsPart({ path: 'list', query })),\n};\n","import { get, withUrl } from '@factorin/rest';\n\nimport { DocumentData } from './types';\n\n\ninterface EmissionDocument extends DocumentData {\n caption: string;\n}\n\nexport interface EmissionItem {\n issuer: string;\n status: 'acception' | 'active' | 'closed' | 'other';\n statusextended: string | null;\n circulationperiod: string;\n decision?: EmissionDocument;\n 'decision_sign'?: EmissionDocument;\n result?: EmissionDocument;\n repayment?: EmissionDocument;\n}\n\nconst emissionPart = withUrl('Emission');\n\nexport const emission = {\n list: get(() => emissionPart()),\n};\n","import { withUrl, Request, get, ItemRequest } from '@factorin/rest';\nimport { Pagination } from '@factorin/domain';\n\n\ninterface ImgSettings {\n file: {\n url: string;\n };\n width: number;\n height: number;\n}\n\nexport interface WithUsPaginationElement {\n id: string;\n name?: string;\n link?: string;\n small: ImgSettings;\n big: ImgSettings;\n}\n\ntype WithUsIds = Array;\n\nexport const WITH_US_DOMAIN_PATH = 'withUs';\nconst withUsPart = withUrl('WithUs');\nexport const withUs = {\n itemList: get(() => withUsPart()),\n item: get(({ id }) => withUsPart({ path: `${id}` })),\n list: get, WithUsPaginationElement>(\n ({ query }) => withUsPart({\n path: 'list',\n ...query,\n }),\n ),\n};\n","import { Request, post, withUrl } from '@factorin/rest';\n\n\nexport interface ConfirmationCodeRequest {\n email: string;\n}\n\nexport interface FeedbackRequest {\n ConfirmationCode: string;\n Role: 1 | 2;\n Name: string;\n Email: string;\n INN: string;\n PlacementAmount?: number;\n ProfitabilityRate?: number;\n AttractionAmount?: number;\n AttractionAmountCost?: number;\n InvestorType?: 1 | 2 | 3;\n InvestorStatus?: 1 | 2;\n}\n\nconst feedbackPart = withUrl('Feedback');\n\nexport const feedback = {\n sendCode: post, void>(({ body }) => feedbackPart({\n path: 'ConfirmationCode',\n body,\n })),\n sendForm: post, void>(({ body }) => feedbackPart({\n body,\n })),\n};\n","import { WithT } from 'Modules/core/i18n';\n\n\nexport enum InvestorType {\n FL = 1,\n UL = 2,\n IP = 3,\n}\n\nexport enum Role {\n INVESTOR = 1,\n ISSUER = 2,\n}\n\nexport enum InvestorStatus {\n QUALIFIED = 1,\n NONE_QUALIFIED = 2,\n}\n\nexport type FormValues = Partial<{\n role: Role;\n name: string;\n email: string;\n price: string;\n inn: string;\n rate: number;\n investorType: InvestorType;\n investorStatus: InvestorStatus;\n}>\n\nexport interface FeedbackFormProps {\n formValues: FormValues;\n}\n\nexport type SelectedTabComponentProps = Pick & WithT;\n","import { ReactNode, useCallback, useMemo } from 'react';\nimport { useHistory } from 'react-router-dom';\n\nimport { TFunction } from 'Modules/core/i18n';\n\n\nexport const MOBILE_WIDTH = 480;\n\nexport const useRegistrationNavigate = () => {\n const { push } = useHistory();\n return useCallback(() => push('/onboarding'), [push]);\n};\n\nexport const useNavigate = (route, state = {}) => {\n const { push } = useHistory();\n return useCallback(() => push(route, state), [push, route, state]);\n};\n\nexport const navigateExternal = link => Object.assign(document.createElement('a'), {\n target: '_blank',\n rel: 'noopener norefferer',\n href: link,\n}).click();\n\nexport const getIdFromAnchor = anchor => anchor.replace('#', '');\n\nexport type ListForTranslate = Array & {tKey: string}>\nexport const useListTranslate = \n(t: TFunction, list: ListForTranslate) =>\n useMemo(() => list.map(\n ({ tKey, ...el }) => ({\n ...el,\n label: t(tKey),\n }),\n ), [t, list]);\n","import React, { FC } from 'react';\n\nimport { Typography } from 'Modules/ui3';\n\n\nexport interface NewsTagProps {\n tag: string;\n}\nexport const NewsTag: FC = ({ tag }) => (\n \n {tag}\n \n);\n","import React, { FC } from 'react';\nimport { formatDate } from '@factorin/util/lib';\n\nimport { Box, Stack, Typography, useDesktop } from 'Modules/ui3';\nimport { setHtml } from 'Modules/ui';\n\nimport { useNavigate } from '../../utils';\nimport { NewsPaginationElement } from '../../api';\nimport { NewsTag } from '../NewsTag';\n\n\nexport type NewsPreviewProps = Omit\n\nexport const NewsPreview: FC =\n({ Date, Description, Id, Tags = [], Title }) => {\n const goToDetail = useNavigate(`/news/${Id}`);\n const isDesktop = useDesktop();\n return (\n <>\n \n {Tags.map((tag, idx) => (\n \n ))}\n \n \n \n \n \n {formatDate(Date)}\n \n \n \n \n \n Читать полностью\n \n \n );\n};\n","import React, { FC, PropsWithChildren, useCallback } from 'react';\nimport fp from 'lodash/fp';\nimport VisibilitySensor from 'react-visibility-sensor';\nimport { Skeleton } from '@mui/material';\n\nimport { useDesktop, Stack } from 'Modules/ui3';\n\nimport { ContentBox, ContentBoxProps } from '../ContentBox';\nimport { NewsPreview, NewsPreviewProps } from '../NewsPreview';\nimport { SlideBaseProps } from '../Slider/types';\n\n\nexport const NewsSlideContainer: FC> = ({\n children, ...props\n}) => {\n const isDesktop = useDesktop();\n return (\n \n {children}\n \n );\n};\n\nexport type NewsSlideProps = SlideBaseProps & {\n needShow?: () => void;\n}\n\nexport const NewsSlide: FC = ({ data, needShow }) => {\n const onVisible = useCallback(isVisible => isVisible && needShow && needShow(), [needShow]);\n\n return (\n \n {data.map((news, idx) => fp.isEmpty(news) ? (\n \n \n \n \n \n \n \n ) : (\n \n \n \n ))}\n \n );\n};\n","import React, { FC } from 'react';\n\nimport { useDesktop, TypographyProps, Typography } from 'Modules/ui3';\n\n\nexport const TitleH1: FC> = ({ children, ...props }) => {\n const isDesktop = useDesktop();\n return (\n \n {children}\n \n );\n};\n\nexport const SectionTitleH1: FC> = ({ children, ...props }) => {\n const isDesktop = useDesktop();\n return (\n \n {children}\n \n );\n};\n\nexport const TitleH2: FC> = ({ children, ...props }) => {\n const isDesktop = useDesktop();\n return (\n \n {children}\n \n );\n};\n\nexport const TitleH3: FC> = ({ children, ...props }) => {\n const isDesktop = useDesktop();\n return (\n \n {children}\n \n );\n};\n","import React, { useRef, useEffect, ReactElement } from 'react';\n\nimport { Box } from 'Modules/ui3';\n\nimport { SlideBaseProps, SliderProps } from './types';\nimport './index.scss';\n\n\nexport const Slider = , >({\n glider, elementsViewCount = 1, overflowSizePx,\n disabled, slidesData, slideComponent: Slide,\n ...props\n}: SliderProps): ReactElement> => {\n const gliderRef = useRef();\n\n useEffect(() => {\n glider.mount();\n }, [glider]);\n\n useEffect(() => {\n if (disabled)\n glider.disable();\n else\n glider.enable();\n }, [disabled, glider]);\n\n useEffect(() => {\n glider.go('=0');\n }, [glider, elementsViewCount, overflowSizePx]);\n\n useEffect(() => {\n glider.update();\n }, [glider, slidesData, elementsViewCount, overflowSizePx, disabled]);\n\n return (\n \n \n \n {slidesData.map((data, slideIndex) => (\n
  • \n \n
  • \n ))}\n
    \n \n \n );\n};\n","import { createContext, useContext } from 'react';\n\nimport { IControlsContext } from './types';\n\n\nexport const ControlsContext = createContext({} as IControlsContext);\n\nexport const useControlsContext = (): IControlsContext => useContext(ControlsContext);\n","import React, { FC, PropsWithChildren } from 'react';\n\nimport { ExternalLeft24, ExternalRight24, IconButton, Stack, Typography } from 'Modules/ui3';\n\nimport { ControlButtonProps, PageNumberButtonProps, PagingControlsProps } from './types';\nimport { ControlsContext, useControlsContext } from './utils';\n\n\nconst ControlButton: FC> = ({\n onClick, selected, children,\n}) => {\n const { disabled } = useControlsContext();\n return (\n \n {children}\n \n );\n};\n\nconst Dots: FC = () => (\n \n ...\n \n);\n\nconst PageNumberButton: FC = ({ pageNumber }) => {\n const { onPageNumber, currentPage } = useControlsContext();\n return (\n onPageNumber(pageNumber)}\n selected={currentPage === pageNumber}\n >\n \n {pageNumber}\n \n \n );\n};\n\nexport const PagingControls: FC = ({\n currentPage, disabled,\n onChange,\n onNext = onChange,\n onPrevious = onChange,\n onPageNumber = onChange,\n pageCount,\n showNumbers,\n}) => (\n \n \n \n onPrevious(currentPage <= 1 ? pageCount : currentPage - 1)}\n >\n \n \n {showNumbers && (\n \n \n {currentPage > 2 && pageCount > 3 && }\n {pageCount > 1 && (\n 1 && currentPage < pageCount\n ? currentPage\n : currentPage === pageCount && pageCount > 3\n ? pageCount - 1\n : 2\n }\n />\n )}\n {pageCount > 3 && pageCount - currentPage > 1 && }\n {pageCount > 2 && }\n \n )}\n onNext(currentPage >= pageCount ? 1 : currentPage + 1)}>\n \n \n \n \n);\n","import React, { FC, useEffect, useMemo, useState } from 'react';\n\n\nimport { SliderControlsProps } from './types';\nimport { PagingControls } from '../PagingControls';\n\n\nexport const SliderControls: FC = ({\n glider, slidesCount, elementsViewCount = 1, ...props\n}) => {\n const [currentPage, setCurrentPage] = useState(1);\n\n useEffect(() => {\n glider.on('move', () => setCurrentPage(Math.floor(glider.index / elementsViewCount + 1)));\n return () => {\n glider.on('move', () => null);\n };\n }, [elementsViewCount, glider]);\n\n const pageCount = useMemo(() => Math.ceil(slidesCount / elementsViewCount),\n [slidesCount, elementsViewCount]);\n return (\n glider.go('|<')}\n onNext={() => glider.go('|>')}\n onPageNumber={number => glider.go(`=${(number - 1) * elementsViewCount}`)}\n currentPage={currentPage}\n pageCount={pageCount}\n {...props}\n />\n );\n};\n","import { useMemo, useCallback } from 'react';\nimport fp from 'lodash/fp';\n\nimport { usePaginationRequests } from 'Modules/business/data';\n\nimport { SliderPaginationParameters } from './types';\n\n\nexport const useSliderPagination = ({\n elementsViewCount = 1, path, parameters = {}, step,\n}: SliderPaginationParameters) => {\n const { storage, needFetch, fetching, allLoaded, elements, total = 0 } =\n usePaginationRequests(path, parameters, step);\n\n const totalElements = useMemo(() =>\n fp.map((number: number) => storage && storage[elements[number]])(fp.range(0, total)),\n [storage, total, elements]);\n\n const needShowElement = useCallback(() => !fetching && !allLoaded && needFetch(), [\n fetching,\n allLoaded,\n needFetch,\n ]);\n\n const disableSlider = useMemo(() => total <= elementsViewCount,\n [total, elementsViewCount]);\n return {\n totalElements,\n needShowElement,\n disableSlider,\n };\n};\n","import React, { FC, useMemo } from 'react';\n\nimport { Box, Stack, useDesktop, useMediaSwitch } from 'Modules/ui3';\n\nimport { getNewsSlidesArray, newsGlider } from './utils';\nimport { NEWS_DOMAIN_PATH, NewsPaginationElement } from '../../api';\nimport { NewsSlide, NewsSlideProps } from '../NewsSlide';\nimport { SectionTitleH1 } from '../Titles';\nimport { NewsProps } from './types';\nimport { Slider } from '../Slider';\nimport { SliderControls } from '../SliderControls';\nimport { useSliderPagination } from '../Slider/utils';\n\n\nexport const News: FC = React.memo(({ rowCount = 1, ...props }) => {\n const slidesViewCount = useMediaSwitch(3, 2, 1);\n const isDesktop = useDesktop();\n const { needShowElement, disableSlider, totalElements } =\n useSliderPagination({\n elementsViewCount: slidesViewCount * rowCount,\n path: NEWS_DOMAIN_PATH,\n });\n\n const slides = useMemo(() => getNewsSlidesArray({\n elements: totalElements,\n rowCount,\n colCount: slidesViewCount,\n }), [totalElements, rowCount, slidesViewCount]);\n\n return (\n \n Новости\n \n glider={newsGlider}\n slideComponent={NewsSlide}\n needShow={needShowElement}\n slidesData={slides}\n elementsViewCount={slidesViewCount}\n disabled={disableSlider}\n />\n \n \n \n \n );\n});\n","export const landingAnchorRoutes = {\n issuers: {\n route: '#issuers',\n name: 'Эмитентам',\n },\n investors: {\n route: '#investors',\n name: 'Инвесторам',\n },\n partners: {\n route: '#partners',\n name: 'Партнерам',\n },\n news: {\n route: '#news',\n name: 'Новости',\n },\n registration: {\n route: 'registration',\n name: 'Регистрация',\n },\n documents: {\n route: 'information',\n name: 'Раскрытие информации',\n },\n contacts: {\n route: '#contacts',\n name: 'Контакты',\n },\n};\n","import React, { FC, PropsWithChildren } from 'react';\n\nimport { useMediaSwitch, Stack, Button, ExternalLeft24, useDesktop } from 'Modules/ui3';\nimport { useTranslation } from 'Modules/core/i18n';\n\nimport { useNavigate } from '../../utils';\n\n\ninterface PageContainerProps {\n withMainButton?: boolean;\n}\n\n\nexport const PageContainer: FC> = ({\n children, withMainButton,\n}) => {\n const { t } = useTranslation('landingCommon');\n const toMain = useNavigate('/');\n const isDesktop = useDesktop();\n\n return (\n \n {withMainButton && (\n }\n size='medium'\n mb={isDesktop ? 8 : 4}\n sx={{\n alignSelf: 'flex-start',\n color: 'grayscale.shade90',\n fontWeight: 400,\n height: ({ spacing }) => spacing(6),\n }}\n onClick={toMain}\n >\n {t('buttons.toMain')}\n \n )}\n {children}\n \n );\n};\n","import Glide from '@glidejs/glide';\n\n\nexport const partnersGlider = new Glide('#partnersGlide', {\n type: 'slider',\n startAt: 0,\n gap: 8,\n perView: 1,\n perSwipe: '|',\n});\n","import React, { FC, PropsWithChildren, useCallback, useMemo } from 'react';\nimport fp from 'lodash/fp';\nimport { Skeleton } from '@mui/material';\nimport VisibilitySensor from 'react-visibility-sensor';\n\nimport { useDesktop, Stack, useMediaSwitch } from 'Modules/ui3';\n\nimport { ContentBox } from '../ContentBox';\nimport { WithUsPaginationElement } from '../../api';\nimport { SlideBaseProps } from '../Slider/types';\n\n\nconst flexGap = 2;\nconst PartnerSlideContainer: FC> = ({ children, isBig }) => (\n \n {children}\n \n);\n\nexport interface PartnerSlideProps extends SlideBaseProps {\n needShow?: () => void;\n rowDirection?: boolean;\n}\n\nexport const PartnerSlide: FC = ({ data, needShow, rowDirection }) => {\n const onVisible = useCallback(isVisible => isVisible && needShow && needShow(), [needShow]);\n const isDesktop = useDesktop();\n const columns = useMediaSwitch(4, 3, 1);\n const imgKey = useMemo(() => isDesktop ? 'big' : 'small', [isDesktop]);\n\n return (\n ({\n '& > div': {\n [rowDirection ? 'flexBasis' : 'width']:\n `calc((100% - ${spacing(flexGap * (columns - 1))}) / ${columns})`,\n },\n })}\n >\n {data.map((partner, idx) => fp.isEmpty(partner) ? (\n \n \n \n \n \n ) : (\n \n \n \n ))}\n \n );\n};\n","import React, { FC, useMemo } from 'react';\nimport fp from 'lodash/fp';\n\nimport { Stack, useDesktop, useMediaSwitch, useMobile } from 'Modules/ui3';\n\nimport { PartnersProps } from './types';\nimport { useSliderPagination } from '../Slider/utils';\nimport { partnersGlider } from './utils';\nimport { WITH_US_DOMAIN_PATH, WithUsPaginationElement } from '../../api';\nimport { SectionTitleH1 } from '../Titles';\nimport { SliderControls } from '../SliderControls';\nimport { Slider } from '../Slider';\nimport { PartnerSlide, PartnerSlideProps } from '../PartnerSlide';\n\n\nexport const Partners: FC = React.memo(props => {\n const countPerSlide = useMediaSwitch(8, 6, 2);\n\n const isDesktop = useDesktop();\n const isMobile = useMobile();\n const { needShowElement, disableSlider, totalElements } =\n useSliderPagination({\n path: WITH_US_DOMAIN_PATH,\n elementsViewCount: countPerSlide,\n });\n\n const slides = useMemo(() => fp.chunk(countPerSlide, totalElements),\n [totalElements, countPerSlide]);\n\n const overflowSize = useMediaSwitch(50, 22, 123);\n\n return (\n \n \n С нами уже работают\n {!(isMobile || disableSlider) && (\n \n )}\n \n \n glider={partnersGlider}\n slideComponent={PartnerSlide}\n slidesData={slides}\n disabled={disableSlider}\n needShow={needShowElement}\n overflowSizePx={overflowSize}\n rowDirection={disableSlider}\n />\n \n );\n});\n","import { createActionNamespace } from 'Modules/core/redux';\n\nimport { MonitoringElement } from '../../api';\n\n\nconst monitoringAction = createActionNamespace('monitoring');\n\n\nexport const monitoringActions = {\n getMonitoringList: monitoringAction('GET_MONITORING_LIST'),\n setMonitoringList: monitoringAction('SET_MONITORING_LIST'),\n};\n","import { ActionLookupReducer, lookupTableReducer } from 'Modules/core/redux';\n\nimport { monitoringActions } from './actions';\nimport { MonitoringElement } from '../../api';\n\n\nconst defaultState: MonitoringElement[] = [];\n\nconst actionLookup: ActionLookupReducer = {\n [`${monitoringActions.setMonitoringList}`]: (_, list: MonitoringElement[]) => list,\n};\n\nexport const reducer = lookupTableReducer(defaultState, actionLookup);\n","import { put, takeLatest } from 'redux-saga/effects';\n\nimport { apiCall } from 'Modules/core/api';\nimport { augmentSaga } from 'Modules/core/redux';\nimport { withErrorHandler } from 'Modules/core/messaging';\n\nimport { monitoring } from '../../api';\nimport { monitoringActions } from './actions';\n\n\nexport function* getMonitoringList() {\n const data = yield apiCall(monitoring.list);\n yield put(monitoringActions.setMonitoringList(data));\n}\n\nexport const sagas = [\n takeLatest(`${monitoringActions.getMonitoringList}`, augmentSaga(\n getMonitoringList,\n withErrorHandler('monitoring.getMonitoringList'),\n )),\n];\n","import { reducer } from './reducer';\nimport { sagas } from './sagas';\n\n\nexport * from './actions';\n\n\nexport const monitoring = {\n reducer,\n sagas,\n};\n","import React, { FC } from 'react';\n\nimport { Typography, TypographyProps, useDesktop } from 'Modules/ui3';\n\n\nexport const Paragraph: FC> = ({ children, ...props }) => {\n const isDesktop = useDesktop();\n\n return (\n \n {children}\n \n );\n};\n","import React, { FC, ReactNode, useEffect } from 'react';\nimport { range } from 'lodash';\nimport { Link, Skeleton } from '@mui/material';\n\nimport { useAction, useSelector } from 'Modules/core/redux';\nimport { useTranslation } from 'Modules/core/i18n';\nimport { Typography, Stack, useDesktop, QuestionRound24, GridContainer, GridItem, useMobile, useMediaSwitch, Tooltip } from 'Modules/ui3';\n\nimport { ContentBox } from '../ContentBox';\nimport { LANDING_DOMAIN_PATH } from '../../constants';\nimport { MonitorCardsCodes, MonitoringElement } from '../../api';\nimport { monitoringActions } from '../../state/monitoring';\nimport { SectionTitleH1 } from '../Titles';\nimport { Paragraph } from '../Paragraph';\n\n\ntype UpdatedElements = Pick & Partial> & {\n tooltip: ReactNode;\n};\n\ninterface UpdatedData {\n date: string;\n elements: UpdatedElements[];\n}\n\n\nconst SKELETONS_COUNT = 6;\n\nconst TOOLTIP_CODES = {\n [MonitorCardsCodes.K1]: 'tooltips.K1',\n [MonitorCardsCodes.K2]: 'tooltips.K2',\n [MonitorCardsCodes.K3]: 'tooltips.K3',\n [MonitorCardsCodes.K4]: 'tooltips.K4',\n [MonitorCardsCodes.K5]: 'tooltips.K5',\n};\n\n\nconst ElementWrapper: FC = ({ children }) => {\n const gridItemSpacing = useMediaSwitch(52, 32, 30);\n const isDesktop = useDesktop();\n\n return (\n spacing(gridItemSpacing)}\n >\n \n \n {children}\n \n \n \n );\n};\n\n\nexport const MonitoringBlock: FC = () => {\n const { t } = useTranslation('monitoring');\n const isDesktop = useDesktop();\n const isMobile = useMobile();\n const monitorElements = useSelector(`${LANDING_DOMAIN_PATH}.monitoring`);\n const getMonitoringList = useAction(monitoringActions.getMonitoringList);\n\n useEffect(() => {\n getMonitoringList();\n }, [getMonitoringList]);\n\n const updatedData = monitorElements.reduce((result, {\n code, title, text, link,\n }) => {\n if (code === MonitorCardsCodes.K7)\n result.date = text;\n else {\n result.elements.push({\n title,\n text,\n tooltip: t(TOOLTIP_CODES[code]),\n ...code === MonitorCardsCodes.K6 && { link },\n });\n }\n return result;\n }, {\n date: '',\n elements: [],\n });\n\n return (\n <>\n \n {t('title')}\n \n \n \n {t('description')}\n \n {updatedData.date && (\n \n {updatedData.date}\n \n )}\n \n \n {!updatedData.elements.length\n ? range(SKELETONS_COUNT).map((_, index) => (\n \n \n \n \n ))\n : updatedData.elements.map(({ title, text, link, tooltip }, index) => (\n \n \n {title}\n \n \n \n {text}\n {link && (\n \n  «Новости»\n \n )}\n \n {tooltip && (\n theme.spacing(65),\n }}\n >\n \n \n \n \n )}\n \n \n ))\n }\n \n \n );\n};\n","export default __webpack_public_path__ + \"static/media/desktopDfa.49e27c8e.png\";","export default __webpack_public_path__ + \"static/media/tabletDfa.99ceda43.png\";","export default __webpack_public_path__ + \"static/media/mobileDfa.492f8b06.png\";","import React, { FC } from 'react';\n\nimport { Box, Stack, Typography, useDesktop, useMediaSwitch, useMobile, useTablet } from 'Modules/ui3';\nimport { fileUrl } from 'Modules/ui2';\nimport { useAction } from 'Modules/core/redux';\nimport { messagingActions } from 'Modules/core/messaging';\nimport { useTranslation } from 'Modules/core/i18n';\n\nimport { ContentBox } from '../ContentBox';\nimport { TitleH1 } from '../Titles';\nimport { AccentButton } from '../AccentButton';\nimport DesktopDfa from './assets/desktopDfa.png';\nimport TabletDfa from './assets/tabletDfa.png';\nimport MobileDfa from './assets/mobileDfa.png';\nimport IssueIcon from './assets/issueIcon.png';\nimport Init from './assets/init.png';\nimport Individual from './assets/individual.png';\nimport Market from './assets/market.png';\n\n\nconst ABOUT = [\n {\n icon: Individual,\n text: 'individualText',\n info: 'individualInfo',\n },\n {\n icon: Init,\n text: 'initText',\n info: 'initInfo',\n },\n {\n icon: IssueIcon,\n text: 'issueText',\n info: 'issueInfo',\n },\n {\n icon: Market,\n text: 'marketText',\n info: 'marketInfo',\n },\n];\n\n\nexport const MainInfo: FC = () => {\n const { t } = useTranslation('mainInfo');\n\n const isMobile = useMobile();\n const isDesktop = useDesktop();\n const isTablet = useTablet();\n\n const showFeedback = useAction(() => messagingActions.showModal({\n type: 'FeedbackModal',\n closeable: false,\n }));\n\n return (\n <>\n \n \n \n \n {t('title')}\n \n {t('description')}\n \n \n \n {t('sendRequest')}\n \n \n \n Цифровые финансовые активы\n \n \n \n \n {ABOUT.map((item, idx) => (\n \n \n icon\n \n \n {t(`about.${item.text}`)}\n \n \n {t(`about.${item.info}`)}\n \n \n \n \n ))}\n \n \n );\n};\n","export default \"data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAADAAAAAwCAYAAABXAvmHAAAACXBIWXMAAAsTAAALEwEAmpwYAAAAAXNSR0IArs4c6QAAAARnQU1BAACxjwv8YQUAAAldSURBVHgB7Vl7jFRnFf/dO3fuPHaeu7PM7gq7C8tjeViybaAkxUhixJA2BEKiosb4SsRUEx9/G9KGtDERbRGrCSZGE1vTRqEYDFJtqUQCrbG8d3GXZWCW7c7Mzs77fR+e7z5mBmKi35Sl/YOTfLkzc8+9e37n/M7j+xZ4KA/lA4mADkT/88u7UC4cQKXYg0rpHdSrh4VvP/cGPgThBqCfPfldMvhZaLofmQSQWwDqNcDtjSGbfAlDG14Tdn81hgckXAD0k7/bjIZyHpkkIIqAN0DLBxSyQKNmXt1dOkq516GJFJVn/4ZFFj4Ar/3yy8jN/waa2vrR4TRB+EOAUwbm3wfRClAVQHLeRDZ1COsePybs2BvDIggfgN8f/gZy6SPQtXveIpgRcbmBrqAJqF4FinkoqVlI/pBGOXMUkusl4VvPvIn7KJwAXiQAmSPQLAC6jiYAQWh9ligSoR5j6YUc5s+9BSWfRf/oekaxG5QrL+LjT/zpfkRFBK8wo42ltRajC1v27ywfyPO4OQHB7UXvp3ZivKzhDz9/AanTJ0YgOA7hzvSk/pMfvKr/Yv82fADhi8DLLALzrQhUK6jeHEciFkPfhjG4+pdSHrja3kofSjlg9DH2NH71/DMoxKaxJSBi3YphBB7dCqF3gCrZ/EWk53cJLxyLgVM4I0CGa3qTOuq/LyJx6V+QKnn89cRxpK5dNL1v67Dl7gKunAc8fux9cgfiDQFn8hrOXZ9G/OhvUf3jEapemY3wuP+u79+3BJzCB0Bl1cfiPUWhGoggkUggHr8DWW3g+vmzlLRzFrUsAEZye4C5W+gaWYsvrOjGFGG8VCFctOKpNApvHgfSiWUY2/QcOIUPAKOOvcjIeqlI+SpDJ6bUajVcSBfgSM1QFOpWFKyIsfJaLgC+AB4bHMCYV8BtUpkkIDdozZYbKF1+Bwj37tH3f8XNYxInhVTLKNUAEV65BvLIOmiUqDNk0JBLhM48rjTMpNZaugYoqk5COILP93shE+g4qcVq5jWRp96Rz4aw47MRHoskHmWobRFgQhTZsOUJFFaMYFlsCku9MsRgxDRedJACW1ZG16omsEg/wuEwvpgv43BCxwzddhNmP60VGj1Xq3MVFj4AhjfVuwAwjvsjS+APUidmBrDObOuyfBGsILPIJYle3VGiSgSPUF/YWi7iLDneSyrdzBJNB6/wAWiCaANgJyrlAnS5Tc/SEfSWbpJ6Qz4DRAchUcfe1TiPiVtVJAh3VDGUwCv8VchejA6K0hYVu7zayau1dG0d9jsD2iA6Da9BeN8P8bVPbkaRbs0bfXCxI9CeAzZFGBAjCg5zMcowFgtaiz6CqWoAcNCfjC6j5pWGcOMqRp/cg2+G+/Dq68cNFd75njMH0PS2Thwuxa7DFQzDGew2DXM4zKsktYGxTNJbDdBwhNdPxKfryVewecdeXLg+Ra/XuWcbzhxQm+WxmryDWnYBtcQs6tQIfJFe+Nko4fGaxttAWFLbIJh/7fmJRdHjY7UfOHMC27dv7yQFeCnUaHI6lU7j6vQM+rxODIQCKOVzyM7GIROA8LLlkEPdFgALDAMi2hWpLRosevEpfKwn1MFkyU0hi/sUhUEajf09Edy4fAnvvZ+Gh/56X8APJxk2Nz0JUakjEO2n1WfOQ8x4wWGCYstmO/s90A0nm6HcHvAKfxk1RmcVKo0Rydu3MOT3YMyj41q2jIlMARKtfopKn8+HYrFIG7KLcEpOdA8spXyhXiFaUWHjBVuayHZulmNUbnP4ADQazdJYot2Wi7x8lUaAXLGMAbcDnwgIKCgaxisNzJQyCEoZRIN+9LglpO7EodAoHQyFqI/1mvxnOzjDeDMvNBo3FjmJ0YxAKpnC+GwSPbIDgwEPFJpz3qIoiGTMRo+AsKhjglhxlQY8eaGAAYrKUqJYqdbA7Pg4BNmNtWtWQ/AFrZLc0QlPJ1XIzIGR4SHyrIzYrZuYypXhE8tY3uWhba8HkxSBTKGMpeTcx4n+OXpkqtTA7fICwsSesuRB3ulFz+Q4ohs3me/soInxA2D126pECiXdQi6HfnrDEJX0i2VgIl+BR6ggSpRZEvIaUflHtmQ0u/Vsv0/8YHuBeLGCPkcW8zrppudMOhEAoYMgcOZA3RqV6ZDB5Te+X6GpYJZG/UHKx0epiJQIY76hYLaqwCuUscrnpimaxm36niyUDMDbyF6PXqQSLBsnF83+0IHwR8Caf3IzcSqf84i6JKwJe4zmdT5Xg5MitJ2S2ecUjT3CVKmKSqGKXopKlPQaDhfepai4SG9n2GsmMYsq5Q5jEW8QOHdkbIirG55fFg5g2+gI/LKEOFEnkStiVZeEOYGSuajDRbuvlX29+Ex/AFtDEmR69mauglQmi4AkorRkENcouY2ubcxJekd5zB+Bhr3bUtHjkdEzEMGGTJr4X8UFArIyFIZWqKNWKdNxaRdVmRB5n45WfBWM0SnGDUrm98o1REppOqVUoefmIbC56IFQqFEvmTnQMMdnVr8pUR2BMNY7KQLeMvL1DHSqPE7mVgaW1Xp21EId10nXUXeVIlVFuV6GQxYhEAhUy2YSL/osJNVPkdEFAuJvjsfsg+Rgp9OQiQ4RV93UZfOPbu0J2LjAqOI0T/AcdM/vVs1p1WhkCqlqHVGIKweE54+l68XCjw3PKnZFUk1qMXGSMdSgILvMeYfVRXtEsHdoomU002GjhIMdArQd1ywmACbyiekDlVzupwoLu7Era1i7Lf3uPa1uUcw+dtSUFpCmnvmMTs+rzUZWAY9wA2A+9Z5Z+P54IrktuZA+mitSyWlGQ2k7TrGMZ2XX3n6269j3KJ8U+txqxHwTKf8sZMkjl/E2nYG8fXS0NjzmkvZ4HeLTYZe0XBKFu+HehV64+5Zu/qYSBYX/pv9/SMcAbNk9gRi58iB9PPjuqvqnox7H012SuLNbIsvuNRj3fjdFIWpJD2QW+h+yaRL0jz71jVeG1eGxLnzO68C+JZIwLLcb3/Q8ml5XKAKibX9J5UJyXwHYQv+2iNHlR2ydG9W3BwV8JyjpT/U4Wo5nVtoJWGOV2Ogb9SQO/WwOHLIoANplywRO0eXUr4cxvNGFL1FUvh5xwoiKAYbszlNx8jQUXZCkg8Lp0wo+6vKX1djxzzU4cWUt9Eu0Tq1EZvap1bvRgXS2DbpPcqAfQxEJQ5UCLn0viyweykN58PIfrTaOn0+bEm0AAAAASUVORK5CYII=\"","export default \"data:image/png;base64,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\"","export default \"data:image/png;base64,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\"","export default \"data:image/png;base64,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\"","import styled, { css } from 'styled-components';\n\nimport { ContainerSizes } from './types';\n\n\nconst sizes = {\n full: css`\n max-width: 1440px;\n `,\n content: css`\n max-width: 960px;\n `,\n tight: css`\n max-width: 560px;\n `,\n};\n\nexport const ContainerStyle = styled.div<{ $size: ContainerSizes }>`\n box-sizing: border-box;\n margin: 0 auto;\n min-width: 320px;\n width: 100%;\n padding: 0 ${({ theme }) => theme.space[4]};\n\n ${({ theme }) => theme.mediaQueries.lg} {\n padding: 0 ${({ theme }) => theme.halfSizesMap.half2};\n }\n\n ${({ theme }) => theme.mediaQueries.md} {\n padding: 0 ${({ theme }) => theme.space[2]};\n }\n \n ${({ $size }) => sizes[$size]}\n`;\n","import React, { ForwardedRef, forwardRef } from 'react';\n\nimport { ContainerStyle } from './ContainerStyles';\nimport { ContainerProps } from './types';\n\n\nfunction Container(props: ContainerProps, ref?: ForwardedRef) {\n const { size = 'full', ...rest } = props;\n\n return ;\n}\n\nexport default forwardRef(Container);\n","import { LidoComponentProps } from '../utils';\n\n\nexport type { Theme } from '../theme';\n\nexport enum ContainerSize {\n full,\n content,\n tight,\n}\nexport type ContainerSizes = keyof typeof ContainerSize\n\nexport type ContainerProps = LidoComponentProps<\n'div',\n{\n size?: ContainerSizes;\n}\n>\n","import styled from 'styled-components';\n\nimport { Container } from '../container';\n\n\nexport const MainStyle = styled(Container)`\n position: relative;\n margin-top: ${({ theme }) => theme.space[1]};\n margin-bottom: ${({ theme }) => theme.space[1]};\n`;\n","export enum errorTypes {\n newsItem = 'newsItem',\n}\n\nexport enum errorKeys {\n itemNotFoundError = 'itemNotFoundError',\n itemsNotFoundError = 'itemsNotFoundError',\n unknownError = 'unknownError',\n}\n","import React, { FC } from 'react';\n\nimport { MainStyle } from './mainStyles';\n\n\nexport const Main: FC = props =>\n ;\n","import React, { FC } from 'react';\nimport { Skeleton } from '@mui/material';\n\nimport { Box, Stack, useMediaSwitch } from 'Modules/ui3';\n\nimport { NewsItem } from '../../state/news';\nimport { ContentBox } from '../ContentBox';\nimport { NewsTag } from '../NewsTag';\n\n\ntype NewsDetailProps = Pick;\n\nconst Placeholder: FC = () => (\n <>\n \n \n
    \n \n \n
    \n \n \n \n);\n\nexport const NewsDetail: FC = ({ RenderContent, Tags }) => (\n \n \n {Tags?.map((tag, idx) => (\n \n ))}\n \n \n {RenderContent || }\n \n \n);\n","import { createActionNamespace } from 'Modules/core/redux';\n\nimport { GetItemType, IError, IStatus } from './types';\n\n\nconst newsAction = createActionNamespace('news');\n\n\nexport const newsActions = {\n setStatus: newsAction('SET_STATUS'),\n setError: newsAction('SET_ERROR'),\n getItem: newsAction('GET_ITEM'),\n};\n","import { ActionLookupReducer, lookupTableReducer } from 'Modules/core/redux';\n\nimport { newsActions } from './actions';\nimport { IError, IStatus, Reducer } from './types';\n\n\nconst defaultState: Reducer = {\n busy: false,\n errors: { },\n};\n\nconst actionLookup: ActionLookupReducer = {\n [`${newsActions.setStatus}`]: (state, status: IStatus) => ({\n ...state,\n ...status,\n }),\n [`${newsActions.setError}`]: (state, error: IError) => ({\n ...state,\n errors: {\n ...state.errors,\n [error.type]: error.key,\n },\n }),\n};\n\nexport const reducer = lookupTableReducer(defaultState, actionLookup);\n","import { all, put, takeLatest } from 'redux-saga/effects';\nimport { NotFoundError } from '@factorin/rest';\n\nimport { apiCall } from 'Modules/core/api';\nimport * as Render from 'Modules/business/editor-render/render';\nimport { ActionPayload } from 'Modules/core/redux';\nimport { storageActions } from 'Modules/business/data';\n\nimport { NEWS_DOMAIN_PATH, news } from '../../api';\nimport { newsActions } from './actions';\nimport { errorKeys, errorTypes } from './errors';\nimport { GetItemType } from './types';\n\n\nfunction* setBusy(value) {\n yield put(newsActions.setStatus({ busy: value }));\n}\n\nfunction* setError(type, key) {\n yield put(newsActions.setError({ type, key }));\n}\n\nfunction* getNewsItem({ $payload: { id, screenType } }: ActionPayload) {\n yield setBusy(true);\n yield setError(errorTypes.newsItem, null);\n try {\n const [itemData, neighbours] = yield all([\n apiCall(news.item, { id }),\n apiCall(news.neighbours, { query: { id } }),\n ]);\n yield put(storageActions.receive(\n NEWS_DOMAIN_PATH,\n {\n [id]: {\n ...itemData,\n RenderContent: Render.renderContent(itemData.Content, screenType),\n Neighbours: neighbours,\n },\n },\n ));\n } catch (error) {\n yield setError(\n errorTypes.newsItem,\n error instanceof NotFoundError\n ? errorKeys.itemNotFoundError\n : errorKeys.unknownError,\n );\n }\n\n yield setBusy(false);\n}\n\nexport const sagas = [\n takeLatest(`${newsActions.getItem}`, getNewsItem),\n];\n","import { reducer } from './reducer';\nimport { sagas } from './sagas';\n\n\nexport * from './types';\nexport * from './actions';\n\n\nexport const news = {\n reducer,\n sagas,\n};\n","import React, { FC } from 'react';\nimport { SvgIconProps } from '@mui/material/SvgIcon';\n\nimport { Telegram24, Stack, Typography } from 'Modules/ui3';\n\n\ninterface SocialBadgeProps {\n link: string;\n icon: (props: SvgIconProps) => JSX.Element;\n text: string;\n}\nconst SocialBadge: FC = ({ icon: Icon, link, text }) => (\n \n ({\n backgroundColor: palette.grayscale.shade0,\n borderColor: palette.grayscale.shade40,\n borderRadius: spacing(5),\n })}\n >\n \n \n {text}\n \n \n \n);\n\nexport const TelegramButton = () => (\n \n);\n\n","import { createActionNamespace } from 'Modules/core/redux';\n\nimport { EmissionsReducer } from './types';\n\n\nconst emissionAction = createActionNamespace('emission');\n\nexport const emissionActions = {\n getEmissions: emissionAction('GET_EMISSIONS'),\n setEmissionLoading: emissionAction('SET_EMISSION_LOADING'),\n setEmissionError: emissionAction('SET_EMISSION_ERROR'),\n setEmissionItems: emissionAction('SET_EMISSION_ITEMS'),\n};\n","import { lookupTableReducer, ActionLookupReducer } from 'Modules/core/redux';\n\nimport { emissionActions } from './actions';\nimport { EmissionsReducer } from './types';\n\n\nconst initialState: EmissionsReducer = {\n data: null,\n isLoading: false,\n error: null,\n};\n\nconst actionLookup: ActionLookupReducer = {\n [`${emissionActions.setEmissionLoading}`]: (state, isLoading) => ({\n ...state,\n isLoading,\n }),\n [`${emissionActions.setEmissionError}`]: (state, error) => ({\n ...state,\n isLoading: false,\n error,\n }),\n [`${emissionActions.setEmissionItems}`]: (state, data) => ({\n ...state,\n data,\n }),\n};\n\nexport const reducer = lookupTableReducer(initialState, actionLookup);\n","import { put, takeLatest } from 'redux-saga/effects';\n\nimport { apiCall, ApiResult } from 'Modules/core/api';\n\nimport { emissionActions } from './actions';\nimport { emission } from '../../api';\n\n\nfunction* setEmissionsLoading(isLoading: boolean) {\n yield put(emissionActions.setEmissionLoading(isLoading));\n}\n\nfunction* getEmissions() {\n try {\n yield setEmissionsLoading(true);\n\n const emissions: ApiResult = yield apiCall(emission.list);\n\n yield put(emissionActions.setEmissionItems(emissions));\n } catch (error) {\n yield put(emissionActions.setEmissionError(error));\n }\n\n yield setEmissionsLoading(false);\n}\n\nexport const sagas = [takeLatest(`${emissionActions.getEmissions}`, getEmissions)];\n","import { LidoComponentProps } from '../utils';\n\n\nexport type { Theme } from '../theme';\n\nexport enum LoaderSize {\n small = 18,\n medium = 24,\n large = 64,\n}\nexport type LoaderSizes = keyof typeof LoaderSize\n\nexport enum LoaderColor {\n primary,\n secondary,\n foreground,\n success,\n}\nexport type LoaderColors = keyof typeof LoaderColor\n\nexport type LoaderProps = LidoComponentProps<\n'div',\n{\n size?: LoaderSizes;\n color?: LoaderColors;\n thickness?: number;\n}\n>\n\nexport enum InlineLoaderColor {\n text,\n secondary,\n foreground,\n}\nexport type InlineLoaderColors = keyof typeof InlineLoaderColor\nexport type InlineLoaderProps = LidoComponentProps<\n'div',\n{\n color?: InlineLoaderColors;\n}\n>\n","import { useEffect } from 'react';\nimport fp from 'lodash/fp';\n\nimport { useAction, useSelector } from 'Modules/core/redux';\n\nimport { LANDING_DOMAIN_PATH } from '../constants';\nimport { ItemsState, UseGetItems, UseGetItemsProps } from './types';\n\n\nexport const useGetItems = ({\n path,\n loadAction,\n actionPayload,\n}: UseGetItemsProps): UseGetItems => {\n const { data, isLoading, error } = useSelector>(\n state => fp.getOr({}, `${LANDING_DOMAIN_PATH}.${path}`, state),\n [path],\n );\n const load = useAction(() => loadAction(actionPayload), [actionPayload, loadAction]);\n useEffect(() => {\n if (!data && !isLoading && !error)\n load();\n }, [data, isLoading, load, error]);\n\n return { data, error, isLoading, load };\n};\n","import { reducer } from './reducer';\nimport { sagas } from './sagas';\n\n\nexport * from './actions';\nexport * from './hooks';\n\nexport const emission = {\n reducer,\n sagas,\n};\n","import React, { FC } from 'react';\n\nimport { Box, BoxProps, useMediaSwitch } from 'Modules/ui3';\n\n\nexport type ContainerBoxProps = BoxProps;\n\nexport const ContainerBox: FC = ({\n children, ...props\n}) => (\n \n {children}\n \n);\n","import fp from 'lodash/fp';\nimport React, { FC, forwardRef, useMemo } from 'react';\n\nimport { PaletteColor, Stack, Tooltip, Typography, TypographyProps, useDesktop } from 'Modules/ui3';\n\nimport { CellProps } from '../types';\nimport { EmissionItem } from '../../../api';\n\n\nexport const EmissionTypography: typeof Typography = forwardRef((props, ref) => {\n const isDesktop = useDesktop();\n return (\n \n );\n});\n\nconst DocumentLink: FC> = props => (\n \n);\n\nexport const IssuerCell: FC = ({ data, column: { field } }) => {\n const text = fp.get(field, data);\n return (\n \n \n {text}\n \n \n );\n};\n\nconst statusColor: Record = {\n acception: 'infoCustom.orange60',\n active: 'infoCustom.green50',\n closed: 'grayscale.shade90',\n other: 'grayscale.shade90',\n};\nexport const StatusCell: FC = ({ data, t }) => {\n const isDesktop = useDesktop();\n\n const color = statusColor[data.status];\n const text = useMemo(() => data.status === 'other'\n ? data.statusextended : t(`status.${data.status}`) as string,\n [data.statusextended, data.status, t]);\n\n return (\n \n {text}\n \n );\n};\n\nexport const StringCell: FC = ({ data, column: { field } }) => {\n const text = fp.get(field, data) as string;\n return (\n \n {text}\n \n );\n};\n\nexport const DocumentCell: FC = ({ data, column: { field } }) => {\n const url = fp.get(`${field}.file.url`, data);\n if (!url)\n return null;\n\n const text = fp.get(`${field}.caption`, data);\n return (\n \n {text}\n \n );\n};\n\nexport const DecisionCell: FC = ({ t, ...props }) => {\n const isDesktop = useDesktop();\n const signUrl = fp.get('decision_sign.file.url', props.data);\n return (\n \n \n {signUrl && (\n \n {t('sign')}\n \n )}\n \n );\n};\n","import React, { FC, PropsWithChildren } from 'react';\n\nimport { Stack, StackProps } from 'Modules/ui3';\n\n\nexport interface CellContainerProps extends Pick {\n columnWidth: string;\n}\n\nexport const CellContainer: FC> = ({\n children, columnWidth, ...props\n}) => (\n \n {children}\n \n);\n","import React, { forwardRef } from 'react';\n\nimport { Stack } from 'Modules/ui3';\n\nimport { EmissionTypography } from '../Cells';\nimport { CellContainer } from '../CellContainer';\nimport { CellProps, RowProps, WithOnScroll } from '../types';\n\n\ntype HeaderProps = RowProps & Omit & WithOnScroll;\n\nexport const Header = forwardRef((\n { columns, t, isDesktop, columnsWidth, onScroll }, ref,\n) => (\n \n {columns.map((column, index) => (\n \n \n {t(`columns.${column.field}`)}\n \n \n ))}\n \n));\n","import React, { FC } from 'react';\n\nimport { Stack } from 'Modules/ui3';\n\nimport { CellProps, RowProps } from '../types';\nimport { CellContainer } from '../CellContainer';\n\n\nexport type BodyRowProps = Omit & RowProps;\n\nexport const BodyRow: FC = ({ columns, columnsWidth, isDesktop, ...props }) => (\n \n {columns.map(({ Cell, ...column }, index) => (\n \n \n \n ))}\n \n);\n","import styled, { keyframes } from 'styled-components';\n\nimport { LoaderColors } from './types';\n\n\nexport const rotation = keyframes`\n 100% {\n transform: rotate(360deg);\n }\n`;\n\nexport const LoaderStyle = styled.div<{\n $size: number;\n $color: LoaderColors;\n}>`\n margin: 0;\n padding: 0;\n line-height: 0;\n width: ${props => props.$size}rem;\n height: ${props => props.$size}rem;\n color: ${({ theme, $color }) => theme.colors[$color]};\n`;\n\nexport const LoaderCircleBgStyle = styled.circle<{ $thickness: number }>`\n fill: none;\n stroke: currentColor;\n stroke-width: ${props => props.$thickness};\n opacity: 0.2;\n`;\n\nexport const LoaderCircleFgStyle = styled.circle<{\n $thickness: number;\n r: number;\n}>`\n fill: none;\n stroke: currentColor;\n stroke-linecap: round;\n stroke-width: ${props => props.$thickness};\n stroke-dasharray: ${props => {\n const circumference = 2 * props.r * Math.PI;\n const filledPart = 0.25;\n\n return `${circumference * filledPart} ${circumference * (1 - filledPart)}`;\n }};\n transform: rotate(0deg);\n transform-origin: 50% 50%;\n animation: ${rotation} 1.4s linear infinite;\n`;\n","import React, { ForwardedRef, forwardRef } from 'react';\n\nimport { LoaderProps, LoaderSize } from './types';\nimport {\n LoaderStyle,\n LoaderCircleBgStyle,\n LoaderCircleFgStyle,\n} from './LoaderStyles';\n\n\nfunction Loader(props: LoaderProps, ref?: ForwardedRef) {\n const { size = 'medium', thickness = 3, color = 'primary', ...rest } = props;\n\n const pxSize = LoaderSize[size];\n const center = pxSize / 2;\n const radius = pxSize / 2 - thickness / 2;\n\n return (\n \n \n \n \n \n \n );\n}\n\nexport default forwardRef(Loader);\n","import styled, { keyframes } from 'styled-components';\n\nimport { InlineLoaderColors } from './types';\n\n\nexport const translation = keyframes`\n 100% {\n background-position: 0 0;\n }\n`;\n\nexport const InlineLoaderStyle = styled.span<{ $color?: InlineLoaderColors }>`\n --loader-color: ${({ theme, $color }) =>\n $color ? theme.colors[$color] : 'currentColor'};\n\n width: 100%;\n display: inline-block;\n vertical-align: top;\n border-radius: 1000px;\n position: relative;\n overflow: hidden;\n user-select: none;\n opacity: 0.05;\n animation: ${translation} 2s infinite;\n background-size: 300% 100%;\n background-position: 100% 0;\n background-image: linear-gradient(\n 90deg,\n var(--loader-color) 0,\n var(--loader-color) 33.33%,\n transparent 44.44%,\n transparent 55.55%,\n var(--loader-color) 66.66%,\n var(--loader-color) 100%\n );\n\n &:after {\n content: '';\n position: absolute;\n top: 0;\n right: 0;\n bottom: 0;\n left: 0;\n background: var(--loader-color);\n opacity: 0.2;\n }\n`;\n","import React, { ForwardedRef, forwardRef } from 'react';\n\nimport { InlineLoaderProps } from './types';\nimport { InlineLoaderStyle } from './InlineLoaderStyles';\n\n\nfunction InlineLoader(\n props: InlineLoaderProps,\n ref?: ForwardedRef,\n) {\n const { color, ...rest } = props;\n const heightAdjuster = <> ;\n\n return (\n \n {heightAdjuster}\n \n );\n}\n\nexport default forwardRef(InlineLoader);\n","import React, { forwardRef } from 'react';\n\nimport { Stack } from 'Modules/ui3';\n\nimport { BodyRow, BodyRowProps } from '../BodyRow';\nimport { EmissionItem } from '../../../api';\nimport { WithOnScroll } from '../types';\nimport { Loader } from '../../ui/loaders';\n\n\nexport interface BodyProps extends Omit, WithOnScroll {\n data: EmissionItem[];\n showLoader?: boolean;\n}\n\nexport const Body = forwardRef((\n { data, isDesktop, onScroll, showLoader, ...props }, ref,\n) => showLoader ? : (\n \n {data.map((rowData, index) => (\n \n ))}\n \n));\n","import React, { FC, useCallback, useMemo, useRef, UIEvent } from 'react';\n\nimport { Stack, useDesktop } from 'Modules/ui3';\nimport { useTranslation } from 'Modules/core/i18n';\n\nimport { Header } from './Header';\nimport { Body, BodyProps } from './Body';\n\n\nexport type EmissionsTableProps = Omit;\n\nexport const EmissionssTable: FC = ({ data, columns, ...props }) => {\n const { t } = useTranslation('emissionsTable');\n const isDesktop = useDesktop();\n const columnsWidth = useMemo(() =>\n columns.map(({ width, mobileWidth }) => `${isDesktop ? width : mobileWidth}px`),\n [isDesktop, columns]);\n\n const tableProps = { columns, t, columnsWidth, isDesktop };\n\n const headerRef = useRef(null);\n const bodyRef = useRef(null);\n const onHeaderScroll = useCallback((e: UIEvent) => {\n bodyRef.current.scrollLeft = e.currentTarget.scrollLeft;\n },\n [bodyRef]);\n const onBodyScroll = useCallback((e: UIEvent) => {\n headerRef.current.scrollLeft = e.currentTarget.scrollLeft;\n },\n [headerRef]);\n return (\n \n
    \n \n \n );\n};\n","import React, { useMemo } from 'react';\nimport fp from 'lodash/fp';\nimport { castDate } from '@factorin/util';\nimport bytes from 'bytes';\n\nimport { FactorinViewColumn } from 'Modules/business/fapp';\nimport { Box, Tooltip, Typography } from 'Modules/ui3';\n\nimport { Descision, DescisionFile } from '../../api';\n\n\ntype DescisionsCells = FactorinViewColumn['Cell'];\n\n\nexport const formatDate = (date: string | Date) => {\n const dateObject = castDate(date);\n if (dateObject)\n return `${dateObject.toLocaleString('ru', { day: '2-digit', month: '2-digit' })}.${dateObject.getFullYear()}`;\n return null;\n};\n\nexport const DateCell: DescisionsCells = ({ data, column: { field } }) => (\n \n \n {formatDate(fp.get(field, data))}\n \n \n);\n\nexport const StringCell: DescisionsCells = ({ data, column: { field } }) => (\n \n \n \n {fp.get(field, data)}\n \n \n \n);\n\nexport const FilesCell: DescisionsCells = ({ data, column: { field } }) => {\n const docs = useMemo(() => fp.pipe(\n fp.get(field),\n fp.filter({ Kind: 'IssueDecision' }),\n )(data), [field, data]) as DescisionFile[];\n return (\n \n {docs.map(({ Data, KindName, MediaType, Size }, index) => (\n \n \n \n {KindName}\n \n {MediaType}\n \n \n {' '}{bytes(Size, { unitSeparator: ' ' })}\n \n \n ))}\n \n );\n};\n\n","import { Common } from '@factorin/domain';\n\nimport { FactorinViewColumn } from 'Modules/business/fapp';\n\nimport { DateCell, FilesCell, StringCell } from './fields';\n\n\nconst columns: Common.Catalog = {\n Uid: {\n field: 'Uid',\n Cell: StringCell,\n sortable: false,\n minWidth: 30,\n },\n EmitentName: {\n field: 'EmitentName',\n Cell: StringCell,\n sortable: false,\n minWidth: 35,\n },\n Files: {\n field: 'Files',\n Cell: FilesCell,\n sortable: false,\n minWidth: 25,\n },\n IssuedDate: {\n field: 'IssuedDate',\n Cell: DateCell,\n sortable: false,\n fixedWidth: 20,\n },\n\n};\n\nconst descisionsColumnOrder = [\n 'Uid',\n 'EmitentName',\n 'Files',\n 'IssuedDate',\n];\n\nexport const descisionsColumns = descisionsColumnOrder.map(column => columns[column]);\n","import { EmissionItem } from '../api';\nimport { DecisionCell, DocumentCell, IssuerCell, StatusCell, StringCell } from '../components/EmissionsTable/Cells';\nimport { EmissionsTableColumn } from '../components/EmissionsTable/types';\n\n\nexport const columns: Partial> = {\n issuer: {\n field: 'issuer',\n Cell: IssuerCell,\n width: 164,\n mobileWidth: 156,\n },\n status: {\n field: 'status',\n Cell: StatusCell,\n width: 107,\n mobileWidth: 95,\n },\n circulationperiod: {\n field: 'circulationperiod',\n Cell: StringCell,\n width: 126,\n mobileWidth: 98,\n },\n decision: {\n field: 'decision',\n Cell: DecisionCell,\n width: 217,\n mobileWidth: 234,\n },\n result: {\n field: 'result',\n Cell: DocumentCell,\n width: 211,\n mobileWidth: 162,\n },\n repayment: {\n field: 'repayment',\n Cell: DocumentCell,\n width: 207,\n mobileWidth: 155,\n },\n};\n\nconst emissionsColumnOrder = [\n 'issuer',\n 'status',\n 'circulationperiod',\n 'decision',\n 'result',\n 'repayment',\n];\n\nexport const emissionsColumns = emissionsColumnOrder.map(column => columns[column]);\n","import React, { FC, useMemo, useState } from 'react';\n\nimport { Stack, Typography, useDesktop, useMediaSwitch } from 'Modules/ui3';\n\nimport { ContainerBox } from '../ContainerBox';\nimport { EmissionssTable, EmissionsTableProps } from '../EmissionsTable';\nimport { PagingControls } from '../PagingControls';\nimport { emissionsColumns } from '../../columns';\n\n\nconst ROW_COUNT = 10;\ntype EmissionsProps = Omit;\n\nexport const Emissions: FC = ({ data, ...props }) => {\n const isDesktop = useDesktop();\n const [currentPage, setCurrentPage] = useState(1);\n const pageCount = useMemo(() => Math.ceil(data.length / ROW_COUNT), [data.length]);\n const displayedData = useMemo(() =>\n data.slice((currentPage - 1) * ROW_COUNT, currentPage * ROW_COUNT),\n [currentPage, data]);\n return (\n \n \n Выпуски\n \n \n \n \n \n \n );\n};\n","import React, { FC, useMemo, useState } from 'react';\nimport { Collapse } from '@mui/material';\nimport fp from 'lodash/fp';\n\nimport {\n useMediaSwitch,\n Stack,\n Typography,\n useMobile,\n ArrowDown24,\n ArrowUp24,\n IconButton,\n useDesktop,\n File24,\n} from 'Modules/ui3';\n\nimport { ContainerBox } from '../ContainerBox';\nimport { Loader } from '../ui/loaders';\nimport { DocumentsCommonProps, FileProps, FilesContainerProps } from './types';\n\n\nconst File: FC = ({ title, href }) => {\n const isMobile = useMobile();\n const fileType = href ? 'a' : 'span';\n\n return (\n \n ({\n alignSelf: 'flex-start',\n color: href ? 'general.primary50' : 'grayscale.shade90',\n height: spacing(6),\n width: spacing(6),\n })}\n />\n \n variant={isMobile ? 'regularCaption1' : 'regularBody2'}\n color='grayscale.shade95'\n component={fileType}\n sx={fileType === 'a' ? {\n '&:hover': {\n color: 'general.primary50',\n },\n '&:visited': {\n color: 'grayscale.shade95',\n '&:hover': {\n color: 'general.primary50',\n },\n },\n } : {}}\n {...href ? { target: '_blank', href } : {}}\n >\n {title}\n \n \n );\n};\n\nconst FilesContainer: FC = ({\n files,\n title,\n}) => {\n const isDesktop = useDesktop();\n const isMobile = useMobile();\n const filesColumns = useMemo(\n () => isDesktop ? fp.chunk(Math.ceil(files.length / 2), files) : [files],\n [files, isDesktop],\n );\n return (\n \n {title && (\n \n {title}\n \n )}\n \n {filesColumns.map((col, idx) => (\n \n {col.map(file => (\n \n ))}\n \n ))}\n \n \n );\n};\n\nexport const DocumentsCommon: FC = ({\n documents = [],\n showLoader,\n title,\n titleButtons,\n defaultOpen = false,\n ...props\n}) => {\n const isMobile = useMobile();\n const isDesktop = useDesktop();\n const [isOpen, setIsOpen] = useState(defaultOpen);\n\n const handleAccordionClick = () => {\n if (!isOpen)\n setIsOpen(true);\n };\n\n const handleToggleButtonClick = (event: React.MouseEvent) => {\n event.stopPropagation();\n setIsOpen(prev => !prev);\n };\n\n return (\n \n \n \n \n {title}\n \n {(!isMobile || isOpen) && titleButtons}\n \n e.currentTarget.blur()}\n disableRipple\n sx={{\n alignSelf: 'flex-start',\n }}\n >\n {isOpen ? : }\n \n \n \n \n {showLoader ? \n : documents.map((group, idx) =>\n group.files.length > 0 && (\n \n ))\n }\n\n \n \n \n );\n};\n","import { createActionNamespace } from 'Modules/core/redux';\n\nimport { GetDocs, SetError, SetLoading, UpdateDocs } from './types';\n\n\nconst documentsAction = createActionNamespace('docs');\n\nexport const documentsActions = {\n getDocs: documentsAction('GET_DOCS'),\n setLoading: documentsAction('SET_DOCUMENTS_LOADING'),\n setError: documentsAction('SET_DOCUMENTS_ERROR'),\n setDocs: documentsAction('SET_DOCS'),\n};\n","import { lookupTableReducer, ActionLookupReducer } from 'Modules/core/redux';\n\nimport { documentsActions } from './actions';\nimport { DocsReducer } from './types';\n\n\nconst initialState: DocsReducer = {};\n\nconst actionLookup: ActionLookupReducer = {\n [`${documentsActions.setLoading}`]: (state, { group, isLoading }) =>\n ({\n ...state,\n [group]: {\n ...state[group],\n isLoading,\n },\n }),\n [`${documentsActions.setError}`]: (state, { group, error }) => ({\n ...state,\n [group]: {\n ...state[group],\n error,\n },\n }),\n [`${documentsActions.setDocs}`]: (state, { group, data }) => ({\n ...state,\n [group]: {\n ...state[group],\n data,\n },\n }),\n};\n\nexport const reducer = lookupTableReducer(initialState, actionLookup);\n","import { put, takeEvery } from 'redux-saga/effects';\n\nimport { apiCall, ApiResult } from 'Modules/core/api';\nimport { ActionPayload } from 'Modules/core/redux';\nimport { messagingActions } from 'Modules/core/messaging';\n\nimport { documentsActions } from './actions';\nimport { documents } from '../../api';\nimport { GetDocs } from './types';\n\n\nfunction* getDocs({ $payload: { group } }: ActionPayload) {\n try {\n yield put(documentsActions.setLoading({ group, isLoading: true }));\n yield put(documentsActions.setError({ group, error: null }));\n\n const data: ApiResult = yield apiCall(\n documents.list,\n {\n query: {\n group,\n },\n } as Parameters[0],\n );\n\n yield put(documentsActions.setDocs({ group, data }));\n } catch (error) {\n yield put(documentsActions.setError({ group, error }));\n yield put(messagingActions.showNotification({\n content: {\n key: 'documents.getDocsError',\n values: {\n error,\n },\n },\n }));\n } finally {\n yield put(documentsActions.setLoading({ group, isLoading: false }));\n }\n}\n\nexport const sagas = [\n takeEvery(`${documentsActions.getDocs}`, getDocs),\n];\n","import { documentsActions } from './actions';\nimport { useGetItems } from '../hooks';\nimport { DocsGroups } from '../../api';\nimport { DocsState } from './types';\nimport { UseGetItems } from '../types';\n\n\nconst documentsPath = 'documents';\n\nexport function useDocs(group: DocsGroups): UseGetItems;\nexport function useDocs(group: DocsGroups, formatting: (data: DocsState['data']) => TReturn): UseGetItems;\nexport function useDocs(\n group: DocsGroups,\n formatting?: (data: DocsState['data']) => TReturn,\n) {\n const { data, ...rest } = useGetItems[0]>({\n path: `${documentsPath}.${group}`,\n loadAction: documentsActions.getDocs,\n actionPayload: { group },\n });\n\n return {\n data: formatting ? formatting(data) : data ?? [],\n ...rest,\n };\n}\n","import { reducer } from './reducer';\nimport { sagas } from './sagas';\n\n\nexport * from './actions';\nexport * from './hooks';\n\nexport const documents = {\n reducer,\n sagas,\n};\n","import { useTranslation } from 'Modules/core/i18n';\n\nimport { Document } from '../../api';\nimport { useDocs } from '../../state/documents';\nimport { DocumentsCommonProps } from '../DocumentsCommon/types';\n\n\ninterface GeneralDocuments {\n documents: Document[];\n}\n\nexport const formatGeneralDocuments = (documents: Document[] = []): GeneralDocuments => ({\n documents: documents.filter(el => !el.checklist),\n});\n\nexport const useGeneralDocumentsProps = (): DocumentsCommonProps => {\n const { t } = useTranslation('documents');\n\n const {\n data: { documents },\n isLoading: documentsLoading,\n } = useDocs('general', formatGeneralDocuments);\n\n return {\n title: t('generalDocuments') as string,\n showLoader: documentsLoading,\n documents: [\n {\n files: documents,\n },\n ],\n };\n};\n","import React, { FC } from 'react';\n\nimport { DocumentsCommon } from '../DocumentsCommon';\nimport { useGeneralDocumentsProps } from './utils';\n\n\nexport const GeneralDocuments: FC = () => {\n const componentProps = useGeneralDocumentsProps();\n\n return (\n \n );\n};\n","import { useTranslation } from 'Modules/core/i18n';\n\nimport { useDocs } from '../../state/documents';\nimport { DocumentsCommonProps } from '../DocumentsCommon/types';\nimport { Document } from '../../api';\n\n\ninterface Group extends DocumentsCommonProps {\n checklist: string | undefined;\n}\n\ninterface SplittedDocuments extends Pick {\n downloads: Document[];\n templates: Document[];\n}\n\ninterface UlPartnerDocuments extends Pick {\n documents: Document[];\n}\n\nconst findChecklist = (documents: Document[]): Group['checklist'] =>\n documents.find(el => el.checklist)?.file.url;\n\nconst formatDocuments = (documents: Document[] = []): SplittedDocuments => ({\n checklist: findChecklist(documents),\n downloads: documents.filter(el => !!el.file?.url && !el.checklist),\n templates: documents.filter(el => !el.file?.url),\n});\n\nconst formatUlPartnerDocuments = (documents: Document[] = []): UlPartnerDocuments => ({\n checklist: findChecklist(documents),\n documents: documents.filter(el => !el.checklist),\n});\n\n\nexport const useRegistrationsDocuments = (): Group[] => {\n const { t } = useTranslation('documents');\n\n const {\n data: ipDocuments,\n isLoading: ipDocumentsLoading,\n } = useDocs('ip', formatDocuments);\n const {\n data: companyDocuments,\n isLoading: companyDocumentsLoading,\n } = useDocs('company', formatDocuments);\n const {\n data: flPartnerDocuments,\n isLoading: flPartnerDocumentsLoading,\n } = useDocs('flPartner', formatUlPartnerDocuments);\n\n return [\n {\n title: t('ulRegistration') as string,\n checklist: companyDocuments?.checklist,\n showLoader: companyDocumentsLoading,\n documents: [\n {\n subtitle: t('downloads') as string,\n files: companyDocuments.downloads,\n },\n {\n subtitle: t('templates') as string,\n files: companyDocuments.templates,\n },\n ],\n },\n {\n title: t('ipRegistration') as string,\n checklist: ipDocuments?.checklist,\n showLoader: ipDocumentsLoading,\n documents: [\n {\n subtitle: t('downloads') as string,\n files: ipDocuments.downloads,\n },\n {\n subtitle: t('templates') as string,\n files: ipDocuments.templates,\n },\n ],\n },\n {\n title: t('partnerFlRegistration') as string,\n checklist: flPartnerDocuments.checklist,\n showLoader: flPartnerDocumentsLoading,\n documents: [\n {\n files: flPartnerDocuments.documents,\n },\n ],\n },\n ];\n};\n","import React, { FC } from 'react';\n\nimport { Button2, Stack, useDesktop, useMobile } from 'Modules/ui3';\n\nimport { DocumentsCommon } from '../DocumentsCommon';\nimport { useRegistrationsDocuments } from './utils';\n\n\nexport const RegistrationDocuments: FC = () => {\n const documents = useRegistrationsDocuments();\n const isMobile = useMobile();\n const isDesktop = useDesktop();\n\n return (\n \n {documents.map(({ checklist, ...props }) => (\n e.currentTarget.blur()}\n // @ts-ignore\n target='_blank'\n rel='noreferrer'\n variant='stroke'\n size={isDesktop ? 'small' : isMobile ? 'extraExtraSmall' : 'extraSmall'}\n >\n Скачать чек-лист\n \n )}\n />\n ))}\n \n );\n};\n","import { Landing } from '../pages/Landing';\nimport { Onboarding } from '../pages/Onboarding';\nimport { landingAnchorRoutes } from './landingAnchorRoutes';\nimport { NewsDetailPage } from '../pages/NewsDetail';\nimport { Information } from '../pages/Information';\nimport { Registration } from '../pages/Registration';\n\n\nexport const routes = {\n home: {\n route: '/',\n page: Landing,\n anchors: landingAnchorRoutes,\n },\n onboarding: {\n route: '/onboarding',\n name: 'Регистрация',\n page: Onboarding,\n isRed: true,\n },\n newsdetail: {\n route: '/news/:id',\n name: 'Новость',\n page: NewsDetailPage,\n },\n registration: {\n route: '/registration',\n name: 'Регистрация',\n page: Registration,\n },\n information: {\n route: '/information',\n name: 'Раскрытие информации',\n page: Information,\n },\n // support: {\n // route: 'https://support.factorin.io/',\n // name: 'Техподдержка',\n // isRed: true,\n // isExternal: true,\n // },\n};\n\nexport const headerRoutes = [\n 'issuers',\n 'investors',\n 'partners',\n 'news',\n 'registration',\n 'documents',\n 'contacts',\n];\n\nexport const footerRoutes = [[], [], [], []];\n","import React, { FC } from 'react';\n\nimport { Stack, Box, Typography, GridContainer, GridItem, useMediaSwitch, useMobile, useDesktop } from 'Modules/ui3';\nimport { fileUrl } from 'Modules/ui2';\nimport { useAction } from 'Modules/core/redux';\nimport { messagingActions } from 'Modules/core/messaging';\n\nimport { ContentBox } from '../../components/ContentBox';\nimport { AccentButton } from '../../components/AccentButton';\nimport { data } from './data';\nimport { InfoBlock } from '../../components/InfoBlock';\nimport { NumberedSteps } from '../../components/NumberedSteps';\nimport IssueBg from './assets/issue_bg.svg';\nimport IssueImage from './assets/issue.png';\nimport BuyBg from './assets/buy_bg.svg';\nimport BuyImage from './assets/buy.png';\nimport Showcase from './assets/Showcase.png';\nimport SellBg from './assets/sell_bg.svg';\nimport SellImage from './assets/Case.png';\nimport { News } from '../../components/News';\nimport { getIdFromAnchor } from '../../utils';\nimport { landingAnchorRoutes } from '../../routes/landingAnchorRoutes';\nimport GrinningFace from './assets/GrinningFace.png';\nimport { PageContainer } from '../../components/PageContainer';\nimport { SectionTitleH1, TitleH1, TitleH2, TitleH3 } from '../../components/Titles';\nimport { Partners } from '../../components/Partners';\nimport { Role } from '../../components/FeedbackForm/types';\nimport { MonitoringBlock } from '../../components/MonitoringBlock';\nimport { Paragraph } from '../../components/Paragraph';\nimport { MainInfo } from '../../components/MainInfo';\n\n\nexport const Landing: FC = () => {\n const isMobile = useMobile();\n const isDesktop = useDesktop();\n\n const showFeedback = useAction(() => messagingActions.showModal({\n type: 'FeedbackModal',\n closeable: false,\n }));\n\n const showFeedbackIssuer = useAction(() => messagingActions.showModal({\n type: 'FeedbackModal',\n closeable: false,\n props: {\n formValues: {\n role: Role.ISSUER,\n },\n },\n }));\n\n const showPartnerContacts = useAction(() => messagingActions.showModal({\n type: 'ContactsModal',\n }));\n\n return (\n \n \n \n\n \n Преимущества ЦФА\n \n \n Цифровые финансовые активы — новый финансовый инструмент на российском рынке.\n Он позволяет привлечь инвестиции быстрее и дешевле, а также легко настраивается\n под конкретные бизнес-задачи за счет использования технологии блокчейн\n \n \n {data.advantages.map((item, idx) => (\n \n \n \n ))}\n \n \n Цифровые продукты\n \n \n {data.ideas.map((item, idx) => (\n \n ))}\n \n \n Важно знать\n \n \n {data.toKnow.map((item, idx) => (\n \n \n \n ))}\n \n \n \n \n \n Эмитентам\n \n \n Выпускайте ЦФА\n \n \n Привлекайте средства быстрее, дешевле, без посредников\n \n \n Заявка на привлечение\n \n \n \n Выпускайте ЦФА\n \n \n \n \n \n Эмитентом ЦФА может стать любая компания\n \n \n {data.issuerCompanies.map((item, idx) => (\n \n ))}\n \n \n Выпустить ЦФА на платформе просто\n \n \n \n Заявка на привлечение\n \n \n \n \n \n \n Инвесторам\n \n \n Покупайте ЦФА\n \n \n Диверсифицируйте портфель за счет доходных цифровых активов\n \n \n Заявка на инвестирование\n \n \n \n Покупайте ЦФА\n \n \n \n \n \n Заработать на ЦФА получится у каждого\n \n \n \n \n \n \n {data.clients.arr.map((item, idx) => (\n \n \n \n ))}\n \n \n \n Купить подходящий актив можно на платформе ЦФА ХАБ\n \n \n Витрина\n \n \n Заявка на инвестирование\n \n \n \n \n \n \n Партнерам\n \n \n Откройте вашим клиентам доступ к ЦФА\n \n \n Подключайтесь к ЦФА ХАБ через API и добавляйте новые\n инструменты без изменения клиентского пути\n \n \n Стать партнером\n \n \n \n Продавайте ЦФА\n \n \n \n \n \n Помогаем зарабатывать вместе с нами!\n \n \n smile\n \n Комиссии за сделки с ЦФА ваших клиентов делятся между платформой и партнером\n \n \n \n {data.helps.map((item, idx) => (\n \n ))}\n \n \n Дополнительные услуги для клиентов и партнеров\n \n \n {data.additional.map((item, idx) => (\n \n \n \n ))}\n \n \n Стать партнером\n \n \n \n \n \n );\n};\n","export default \"data:image/png;base64,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\"","import React, { FC } from 'react';\n\nimport { DFARegistrationForm } from 'Modules/business/registration';\n\nimport { Main } from '../../components/ui/main';\n\n\nexport const Onboarding: FC = () => (\n
    \n \n
    \n);\n","import React, { useEffect } from 'react';\nimport { useParams } from 'react-router';\n\nimport { useAction } from 'Modules/core/redux';\nimport { useDesktop, Stack, Typography, Box, useMobile } from 'Modules/ui3';\nimport { useStorageItem } from 'Modules/business/data';\n\nimport { NewsDetail } from '../../components/NewsDetail';\nimport { PageContainer } from '../../components/PageContainer';\nimport { NewsItem, newsActions } from '../../state/news';\nimport { NEWS_DOMAIN_PATH } from '../../api';\nimport { NewsPreview } from '../../components/NewsPreview';\nimport { TelegramButton } from '../../components/Social';\nimport { News } from '../../components/News';\nimport { NewsSlideContainer } from '../../components/NewsSlide';\n\n\nexport const NewsDetailPage = () => {\n const { id } = useParams<{ id: string }>();\n const isDesktop = useDesktop();\n const isMobile = useMobile();\n const getNewsItem = useAction(\n () => newsActions.getItem({ id, screenType: isDesktop ? 'desktop' : 'mobile' }),\n [id, isDesktop],\n );\n\n useEffect(() => {\n getNewsItem();\n }, [getNewsItem]);\n const { Neighbours, RenderContent, Tags } =\n useStorageItem(NEWS_DOMAIN_PATH, id) || {};\n return (\n \n \n \n \n \n \n {isDesktop && Neighbours?.Next && (\n \n \n \n )}\n \n \n Всё о рынке ЦФА, подписывайтесь!\n \n \n \n \n \n \n \n );\n};\n","import React, { FC } from 'react';\n\nimport { useMobile } from 'Modules/ui3';\n\nimport { PageContainer } from '../../components/PageContainer';\nimport { SectionTitleH1 } from '../../components/Titles';\nimport { RegistrationDocuments } from '../../components/RegistrationDocuments';\n\n\nexport const Registration: FC = () => {\n const isMobile = useMobile();\n\n return (\n \n {!isMobile && (\n \n Документы для регистрации\n \n )}\n \n \n );\n};\n","import React, { FC } from 'react';\n\nimport { Stack, useMobile } from 'Modules/ui3';\n\nimport { PageContainer } from '../../components/PageContainer';\nimport { SectionTitleH1 } from '../../components/Titles';\nimport { useEmissions } from '../../state/emission';\nimport { Emissions } from '../../components/Emissions';\nimport { GeneralDocuments } from '../../components/GeneralDocuments';\n\n\nexport const Information: FC = () => {\n const isMobile = useMobile();\n\n const { data: emissions, isLoading: emissionsLoading } = useEmissions();\n\n return (\n \n {!isMobile && (\n \n Раскрытие информации\n \n )}\n \n \n \n \n \n );\n};\n","import { emissionActions } from './actions';\nimport { useGetItems } from '../hooks';\nimport { EmissionItem } from '../../api';\n\n\nconst emissionsPath = 'emission';\n\nexport const useEmissions = () => useGetItems({\n path: emissionsPath,\n loadAction: emissionActions.getEmissions,\n});\n","import { createGlobalStyle } from 'styled-components';\n\n\nconst GlobalStyle = createGlobalStyle`\n * {\n margin: 0;\n padding: 0;\n }\n html,\n body {\n width: 100%;\n }\n body {\n background: ${({ theme }) => theme.colors.background};\n color: ${({ theme }) => theme.colors.text};\n position: relative;\n box-sizing: border-box;\n font-size: ${({ theme }) => theme.fontSizesMap.xs};\n line-height: 1.5em;\n font-weight: 500;\n }\n a {\n color: ${({ theme }) => theme.colors.primary};\n\n &:hover {\n color: ${({ theme }) => theme.colors.primaryHover};\n }\n\n &:visited {\n color: ${({ theme }) => theme.colors.primaryVisited};\n }\n }\n \n .errorLink {\n color: white;\n\n &:hover {\n color: ${({ theme }) => theme.colors.primaryHover};\n }\n\n &:visited {\n color: white;\n }\n }\n`;\n\nexport default GlobalStyle;\n","import React from 'react';\r\n\r\n\r\nexport const Close = ({ className }) => (\r\n \r\n \r\n \r\n \r\n);\r\n","import React from 'react';\r\n\r\n\r\nexport const Menu = ({ className }) => (\r\n \r\n \r\n \r\n \r\n \r\n);\r\n","import React from 'react';\r\n\r\n\r\nexport const DFALogo = props => (\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n);\r\n\r\nexport const SkLogo = props => (\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n);\r\n\r\nexport const FactorinLogo = props => (\r\n \r\n \r\n \r\n \r\n);\r\n\r\nexport const MtsLogo = props => (\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n);\r\n","import { useState, useEffect } from 'react';\n\n\nconst noop = () => {};\n\nexport function useScrollPosition(callback: (scrollY: number) => void = noop): number {\n const [position, setScrollPosition] = useState(window.pageYOffset);\n useEffect(() => {\n let requestRunning: number | null = null;\n const handleScroll = () => {\n requestRunning = requestRunning || window.requestAnimationFrame(() => {\n callback(window.pageYOffset);\n setScrollPosition(window.pageYOffset);\n requestRunning = null;\n });\n };\n window.addEventListener('scroll', handleScroll);\n return () => window.removeEventListener('scroll', handleScroll);\n }, [callback]);\n return position;\n}\n","const colors = {\n primary: '#FF3200',\n primaryHover: '#DF2C00',\n primaryPressed: '#C12600',\n primaryContrast: '#fff',\n primaryVisited: '#4bbeff',\n\n accent: '#27272e',\n accentContrast: '#fff',\n accentContrastSecondary: 'rgba(255, 255, 255, 0.6)',\n accentDarken: 'rgba(0, 0, 0, .2)',\n accentControlBg: 'rgba(0, 0, 0, .1)',\n accentBorder: 'rgba(255, 255, 255, 0.2)',\n accentBorderHover: 'rgba(255, 255, 255, 0.3)',\n\n error: '#e14d4d',\n errorHover: '#d44c4d',\n errorPressed: '#d44c4d',\n errorContrast: '#fff',\n\n warning: '#FF3200',\n warningHover: '#DF2C00',\n warningPressed: '#C12600',\n warningContrast: '#fff',\n\n success: '#53BA95',\n successHover: '#5dae5e',\n successPressed: '#5dae5e',\n successContrast: '#fff',\n} as const;\n\nexport default { colors };\n","const sm = {\n width: '359px',\n height: '639px',\n} as const;\n\nconst md = {\n width: '479px',\n height: '799px',\n} as const;\n\nconst lg = {\n width: '767px',\n height: '1023px',\n} as const;\n\nconst xl = {\n width: '1023px',\n height: '1365px',\n} as const;\n\nconst mediaQueries = {\n sm: `@media screen and (max-width: ${sm.width})`,\n md: `@media screen and (max-width: ${md.width})`,\n lg: `@media screen and (max-width: ${lg.width})`,\n xl: `@media screen and (max-width: ${xl.width})`,\n};\n\nconst breakpoints = [sm.width, md.width, lg.width, xl.width];\nconst breakpointsMap = { sm, md, lg, xl };\n\nexport default {\n breakpoints,\n breakpointsMap,\n mediaQueries,\n};\n","const space = [\n 0,\n '0.8rem',\n '1.6rem',\n '2.4rem',\n '3.2rem',\n '4rem',\n '4.8rem',\n '5.6rem',\n '6.4rem',\n '11.2rem',\n] as const;\n\nconst halfSizesMap = {\n half0: '0.4rem', // xs\n half1: '1.2rem',\n half2: '2rem', // lg\n half3: '3.6rem',\n half4: '4.4rem', // xxxl\n};\n\nconst spaceMap = {\n xs: '0.4rem',\n sm: '0.8rem',\n md: '1.6rem',\n lg: '2.0rem',\n xl: '2.4rem',\n xxl: '3.2rem',\n xxxl: '4.4rem',\n} as const;\n\nexport default {\n space,\n halfSizesMap,\n spaceMap,\n};\n","const duration = {\n fast: '100ms',\n med: '150ms',\n norm: '200ms',\n} as const;\n\nconst ease = {\n inSine: 'cubic-bezier(0.47, 0, 0.745, 0.715)',\n outSine: 'cubic-bezier(0.39, 0.575, 0.565, 1)',\n inOutSine: 'cubic-bezier(0.445, 0.05, 0.55, 0.95)',\n\n inQuad: 'cubic-bezier(0.55, 0.085, 0.68, 0.53)',\n outQuad: 'cubic-bezier(0.25, 0.46, 0.45, 0.94)',\n inOutQuad: 'cubic-bezier(0.455, 0.03, 0.515, 0.955)',\n\n inCubic: 'cubic-bezier(0.55, 0.055, 0.675, 0.19)',\n outCubic: 'cubic-bezier(0.215, 0.61, 0.355, 1)',\n inOutCubic: 'cubic-bezier(0.645, 0.045, 0.355, 1)',\n\n inQuart: 'cubic-bezier(0.895, 0.03, 0.685, 0.22)',\n outQuart: 'cubic-bezier(0.165, 0.84, 0.44, 1)',\n inOutQuart: 'cubic-bezier(0.77, 0, 0.175, 1)',\n\n inQuint: 'cubic-bezier(0.755, 0.05, 0.855, 0.06)',\n outQuint: 'cubic-bezier(0.23, 1, 0.32, 1)',\n inOutQuint: 'cubic-bezier(0.86, 0, 0.07, 1)',\n\n inExpo: 'cubic-bezier(0.95, 0.05, 0.795, 0.035)',\n outExpo: 'cubic-bezier(0.19, 1, 0.22, 1)',\n inOutExpo: 'cubic-bezier(1, 0, 0, 1)',\n\n inCirc: 'cubic-bezier(0.6, 0.04, 0.98, 0.335)',\n outCirc: 'cubic-bezier(0.075, 0.82, 0.165, 1)',\n inOutCirc: 'cubic-bezier(0.785, 0.135, 0.15, 0.86)',\n\n inBack: 'cubic-bezier(0.6, -0.28, 0.735, 0.045)',\n outBack: 'cubic-bezier(0.175, 0.885, 0.32, 1.275)',\n inOutBack: 'cubic-bezier(0.68, -0.55, 0.265, 1.55)',\n} as const;\n\nexport default {\n duration,\n ease,\n};\n","const fontSizes = [\n '1.0rem',\n '1.2rem',\n '1.4rem',\n '1.6rem',\n '1.8rem',\n '2.0rem',\n '2.6rem',\n '3.2rem',\n '4.0rem',\n '5.0rem',\n] as const;\n\nconst fontSizesMap = {\n xxxs: '1.3rem', // 2\n xxs: '1.6rem', // 2.4\n xs: '2.0rem', // 3\n sm: '2.5rem', // 3.2\n md: '3.0rem', // 4\n lg: '4.0rem', // 4.8\n xl: '4.8rem', // 6\n} as const;\n\nconst fontSizesMobileMap = {\n xxxs: '1.0rem',\n xxs: '1.2rem', // 1.6\n xs: '1.4rem', // 2.1\n sm: '1.6rem', // 2.4\n md: '1.8rem', // 2.4\n lg: '2.2rem', // 2.8\n xl: '2.6rem', // 3.2\n} as const;\n\nexport default {\n fontSizes,\n fontSizesMap,\n fontSizesMobileMap,\n};\n","const borderRadiuses = [4, 6, 8, 10, 12, 24] as const;\n\nconst borderRadiusesMap = {\n xs: 4,\n sm: 6,\n md: 8,\n lg: 10,\n xl: 12,\n xxl: 24,\n} as const;\n\nexport default {\n borderRadiuses,\n borderRadiusesMap,\n};\n","const boxShadows = {\n xs: '0px 4px 8px 0px',\n sm: '0px 4px 12px 0px',\n md: '0px 4px 16px 0px',\n lg: '0px 8px 24px 0px',\n xl: '0px 8px 32px 0px',\n xxl: '0px 8px 44px 0px',\n} as const;\n\nexport default { boxShadows };\n","import colors from './colors';\nimport breakpoints from './breakpoints';\nimport spacing from './spacing';\nimport transitions from './transitions';\nimport typography from './typography';\nimport borders from './borders';\nimport shadows from './shadows';\n\n\nexport default {\n ...spacing,\n ...breakpoints,\n ...colors,\n ...transitions,\n ...typography,\n ...borders,\n ...shadows,\n};\n","import themeBase from './base';\n\n\nexport const themeLight = {\n ...themeBase,\n colors: {\n ...themeBase.colors,\n\n secondary: '#273852',\n secondaryHover: '#16161A',\n secondaryPressed: '#16161A',\n secondaryContrast: '#fff',\n\n background: '#F6F6F6',\n backgroundDarken: '#dae0e5',\n\n foreground: '#fff',\n\n overlay: 'rgba(0, 0, 0, 0.5)',\n\n shadowLight: 'rgba(39, 56, 82, 0.08)',\n shadowDark: 'rgba(0, 0, 0, .25)',\n\n text: '#273852',\n textSecondary: '#7a8aa0',\n textContrast: '#fff',\n accentText: '#273852',\n\n border: '#E9EBEF',\n borderActive: 'rgba(0, 10, 61, 0.48)',\n borderHover: 'rgba(0, 10, 61, 0.24)',\n borderLight: '#dfe5eb',\n accentBorder: 'rgba(0, 10, 61, 0.12)',\n accentBorderHover: 'rgba(0, 10, 61, 0.24)',\n\n controlBg: '#fff',\n accentControlBg: 'rgba(239, 242, 246, 0.56)',\n\n popupMenuItemBgActiveHover: '#000a3d',\n },\n};\n\nexport const themeDark = {\n ...themeBase,\n colors: {\n ...themeBase.colors,\n\n secondary: 'rgba(255, 255, 255, .8)',\n secondaryHover: '#fff',\n secondaryContrast: '#273852',\n\n background: '#1c1c21',\n backgroundDarken: '#131317',\n\n foreground: '#34343d',\n\n overlay: 'rgba(0, 0, 0, 0.5)',\n\n shadowLight: 'rgba(0, 0, 0, .25)',\n shadowDark: 'rgba(0, 0, 0, .5)',\n\n text: '#fff',\n textSecondary: 'rgba(255, 255, 255, .8)',\n textContrast: '#34343d',\n accentText: '#fff',\n\n border: 'rgba(255, 255, 255, 0.12)',\n borderActive: 'rgba(255, 255, 255, 0.48)',\n borderHover: 'rgba(255, 255, 255, 0.24)',\n borderLight: '#484855',\n accentBorder: 'rgba(255, 255, 255, 0.12)',\n accentBorderHover: 'rgba(255, 255, 255, 0.24)',\n\n controlBg: '#2f2f37',\n accentControlBg: 'rgba(39, 39, 46, 0.56)',\n\n popupMenuItemBgActiveHover: '#fff',\n },\n};\n\nexport const themeDefault = themeLight;\n","import React, { FC } from 'react';\nimport {\n ThemeProvider as StyledThemeProvider,\n ThemeProviderProps,\n} from 'styled-components';\n\nimport { themeDefault, themeDark, themeLight } from './themes';\nimport { Theme } from './types';\n\n\nexport const ThemeProvider: FC> = props => {\n const { theme = themeDefault, ...rest } = props;\n\n return ;\n};\n\ntype BoundThemeProvider = FC, 'theme'>>\n\nexport const LightThemeProvider: BoundThemeProvider =\n props => ;\n\nexport const DarkThemeProvider: BoundThemeProvider =\n props => ;\n","import React, { FC } from 'react';\n\nimport { Typography, useDesktop } from 'Modules/ui3';\n\n\nexport const AdditionaInfo: FC = () => {\n const isDesktop = useDesktop();\n\n return (\n \n © ООО «Блокчейн Хаб», оператор платформы ЦФА ХАБ,{' '}\n \n включен в реестр операторов информационных систем Банка России\n .\n Экосистема ПАО «МТС»\n \n );\n};\n","import React, { FC } from 'react';\n\nimport { Stack, Typography, useMediaSwitch, useTablet } from 'Modules/ui3';\n\n\nexport const Address: FC = () => {\n const isTablet = useTablet();\n\n return (\n \n \n Адрес\n \n\n \n 119435 Москва, ул. Большой Саввинский пер., 8, стр. 1\n \n \n );\n};\n","import React, { FC } from 'react';\n\nimport { Stack, Typography, useDesktop, useMediaSwitch, useMobile } from 'Modules/ui3';\n\nimport { ASK_EMAIL, OPERATOR_EMAIL, PARTNER_EMAIL, PR_EMAIL } from '../../../../constants';\n\n\nconst CONTACTS = [\n {\n email: ASK_EMAIL,\n description: 'Выпуск и покупка ЦФА',\n },\n {\n email: OPERATOR_EMAIL,\n description: 'Информационная поддержка',\n },\n {\n email: PARTNER_EMAIL,\n description: 'Партнерская программа',\n },\n {\n email: PR_EMAIL,\n description: 'для СМИ',\n },\n];\n\n\nexport const Contacts: FC = () => {\n const isDesktop = useDesktop();\n const isMobile = useMobile();\n\n const descriptionVariant = useMediaSwitch('regularBody2', 'regularCaption1', 'regularCaption3');\n const contactWidth = useMediaSwitch('50%', '223px', '165px');\n\n return (\n \n \n Контакты\n \n\n \n {CONTACTS.map(({ email, description }, index) => (\n \n \n {email}\n \n\n \n {description}\n \n \n ))}\n \n \n );\n};\n","import React, { FC, useCallback } from 'react';\nimport { NavHashLink } from 'react-router-hash-link';\nimport { Link } from '@mui/material';\n\nimport { useMediaSwitch, Stack } from 'Modules/ui3';\n\nimport { routes } from '../../../../routes/routes';\n\n\ninterface Links {\n links: string[];\n}\n\n\nconst scrollWithOffset = (el, offset) => {\n const yCoordinate = el.getBoundingClientRect().top + window.pageYOffset;\n const yOffset = offset;\n window.scrollTo({ top: yCoordinate + yOffset, behavior: 'smooth' });\n};\n\n\nexport const Links: FC = ({ links }) => {\n const scrollOffset = useMediaSwitch(-112, -76, -60);\n\n const scrollCallback = useCallback(\n el => scrollWithOffset(el, scrollOffset),\n [scrollOffset],\n );\n\n const linkVariant = useMediaSwitch('regularBody2', 'regularBody2', 'regularCaption1');\n\n return (\n \n {links.map(key => routes.home.anchors[key])\n .map(({ route, name }) => (\n \n {name}\n \n ))}\n \n );\n};\n","import React, { FC } from 'react';\n\nimport { useMobile, useTablet, useMediaSwitch, useDesktop, Typography, Box, Stack, ExternalUp24 } from 'Modules/ui3';\n\nimport { DFALogo } from '../../icons';\nimport { getIdFromAnchor } from '../../utils';\nimport { landingAnchorRoutes } from '../../routes/landingAnchorRoutes';\nimport { AdditionaInfo, Address, Contacts, Links } from './components';\n\n\nconst scrollToTop = () => {\n if ('scrollTo' in window) {\n window.scrollTo({\n top: 0,\n behavior: 'smooth',\n });\n } else\n window.scroll(0, 0);\n};\n\n\nexport const Footer: FC = () => {\n const isDesktop = useDesktop();\n const isTablet = useTablet();\n const isMobile = useMobile();\n\n const dfaLogoHeight = useMediaSwitch(25, 20, 20);\n\n return (\n spacing(74) : '100%'}\n >\n {\n isDesktop\n ? (\n <>\n \n \n\n \n \n\n \n\n
    \n\n \n \n \n Наверх\n \n \n \n )\n : (\n <>\n \n \n \n\n \n\n \n \n \n\n {isTablet &&
    }\n \n\n {isMobile &&
    }\n\n \n \n )\n }\n \n );\n};\n","import fp from 'lodash/fp';\nimport React, { useState, useMemo, useRef, useEffect, useLayoutEffect, useCallback } from 'react';\nimport { Link as RRLink, NavLink, useLocation } from 'react-router-dom';\nimport { NavHashLink } from 'react-router-hash-link';\n\nimport {\n Link,\n Label,\n Button,\n cn,\n} from 'Modules/ui2';\nimport { useConfig } from 'Modules/core/config';\nimport { Desktop, useDesktop, useMediaSwitch } from 'Modules/ui3';\n\nimport { GlobalStyle } from '../ui/styles';\nimport { DFALogo, Menu, Close } from '../../icons';\nimport { headerRoutes, routes } from '../../routes/routes';\nimport { useScrollPosition } from './scroll-position';\nimport styles from './index.module.scss';\nimport { ThemeProvider, themeLight } from '../ui/theme';\nimport { Footer } from '../Footer';\n\n\nconst scrollWithOffset = (el, offset) => {\n const yCoordinate = el.getBoundingClientRect().top + window.pageYOffset;\n const yOffset = offset;\n window.scrollTo({ top: yCoordinate + yOffset, behavior: 'smooth' });\n};\n\nconst Header = React.memo(({ headerRef }) => {\n const [isOpen, setIsOpen] = useState(false);\n const { pathname, hash } = useLocation();\n useEffect(\n () => setIsOpen(false),\n [pathname, hash],\n );\n useLayoutEffect(\n () => {\n document.body.style.overflow = isOpen ? 'hidden' : '';\n return () => { document.body.style.overflow = ''; };\n },\n [isOpen],\n );\n\n const clientofficeUrl = useConfig('clientofficeUrl');\n const showAuthorization = useConfig('showAuthorization');\n\n const scrollOffset = useMediaSwitch(-112, -76, -60);\n const scrollCallback = useCallback(\n el => scrollWithOffset(el, scrollOffset),\n [scrollOffset],\n );\n const isDesktop = useDesktop();\n\n return (\n \n );\n});\n\nconst useScrollWatcher = ref => {\n const [scrollHidden, setScrollHidden] = useState(false);\n const callback = useMemo(\n () => {\n let scrollHidden = false;\n let lastScroll = 0;\n const callback = scroll => {\n const height = fp.get('current.offsetHeight', ref);\n const delta = lastScroll - scroll;\n if (scrollHidden && delta > height) {\n lastScroll = scroll;\n setScrollHidden(scrollHidden = false);\n }\n if (!scrollHidden && delta < -height) {\n lastScroll = scroll;\n setScrollHidden(scrollHidden = true);\n }\n if (scrollHidden && delta < 0 || !scrollHidden && delta > 0)\n lastScroll = scroll;\n };\n return callback;\n },\n [ref],\n );\n return { scrollHidden, callback };\n};\n\n/** @type {React.FC<{ overlay?: boolean, isHeaderLocked?: boolean }>} */\nexport const LandingLayout = ({\n children,\n overlay = false,\n isHeaderLocked = true,\n}) => {\n const { pathname } = useLocation();\n useLayoutEffect(\n () => { window.scroll(0, 0); },\n [pathname],\n );\n\n const headerRef = useRef();\n const headerHeight = fp.get('current.offsetHeight', headerRef);\n const { scrollHidden, callback } = useScrollWatcher(headerRef);\n const scroll = useScrollPosition(callback);\n\n const [headerLocked, setHeaderLocked] = useState(isHeaderLocked);\n useEffect(\n () => {\n if (typeof isHeaderLocked !== 'undefined')\n setHeaderLocked(isHeaderLocked);\n else if (scroll > headerHeight)\n setHeaderLocked(true);\n else if (scroll < 1)\n setHeaderLocked(false);\n },\n [scroll, headerHeight, isHeaderLocked],\n );\n\n const [headerOverlay, setHeaderOverlay] = useState(overlay);\n useEffect(() => {\n setHeaderOverlay(overlay);\n }, [overlay, pathname]);\n\n const className = cn(\n styles.landing,\n headerOverlay && styles.overlay,\n headerLocked && styles.fixedHeader,\n (isHeaderLocked || !scrollHidden) && styles.showHeader,\n headerOverlay && !isHeaderLocked &&\n (scroll < headerHeight / 2 || !headerLocked) && styles.transparentHeader,\n );\n return (\n <>\n \n \n
    \n
    \n {children}\n
    \n
    \n \n \n );\n};\n","import React from 'react';\nimport { Switch, Route, Redirect } from 'react-router-dom';\n\nimport { ChainedRender } from 'Modules/core/react';\n\nimport { RouteContext } from '../../components/RouteContext';\nimport { routes } from '../../routes/routes';\nimport { LandingLayout } from '../../components/LandingLayout';\n\n\nconst allRoutes = Object.values(routes);\n\nconst Rus: ChainedRender = ({ Next }) => (\n \n \n {allRoutes.map(route => (\n (\n \n {React.createElement(route.page)}\n \n )}\n />\n ))}\n \n \n \n);\n\nexport const LandingRender: ChainedRender = ({ Next }) => (\n \n } />\n \n);\n\nexport const RedirectToHome: ChainedRender = () => ;\n","import { getTrackerRender } from 'Modules/business/yandex-metrics';\n\n\nexport const TrackerRender = getTrackerRender({\n options: {\n accurateTrackBounce: true,\n clickmap: true,\n trackLinks: true,\n webvisor: true,\n },\n});\n","import fp from 'lodash/fp';\nimport React from 'react';\nimport { ThemeProvider, createTheme, ThemeOptions } from '@mui/material';\n\nimport { theme, typographyOptions } from 'Modules/ui3';\nimport { ChainedRender } from 'Modules/core/react';\n\n\nconst muiTheme = createTheme(\n [\n theme,\n {\n spacing: abs => `${(0.4 * abs).toFixed(2)}rem`,\n typography: fp.mapValues(style =>\n fp.mapValues((v: string | number) => {\n if (fp.isString(v) && v.includes('px')) {\n const value = v.replace('px', '');\n return `${+value / 10}rem`;\n }\n return v;\n }, style),\n typographyOptions.typography),\n } as ThemeOptions,\n ].reduce((r, c) => fp.merge(r, c)),\n);\n\nexport const MuiThemeProviderRender: ChainedRender = ({ Next }) => (\n \n \n \n);\n","import { createActionNamespace } from 'Modules/core/redux';\n\n\nconst infoAction = createActionNamespace('info');\n\nexport const infoActions = {\n get: infoAction('GET'),\n set: infoAction('SET'),\n};\n","import { lookupTableReducer } from 'Modules/core/redux';\n\nimport { infoActions } from './actions';\n\n\nconst actionLookup = {\n [`${infoActions.set}`]: (state, { lang, data }) => ({\n ...state,\n [lang]: data,\n }),\n};\n\nexport const reducer = lookupTableReducer({}, actionLookup);\n","import fp from 'lodash/fp';\nimport { put, takeLatest, call, all } from 'redux-saga/effects';\nimport { rawRequest, contentTypeJson } from '@factorin/rest';\n\nimport { wrapRequest } from 'Modules/core/api';\n\nimport { infoActions } from './actions';\n\n\nfunction* sendRequest(url) {\n const result = yield call(wrapRequest, rawRequest, {\n method: 'GET',\n url,\n headers: {\n Accept: contentTypeJson,\n 'Accept-Language': 'ru',\n 'Content-Type': contentTypeJson,\n 'Cache-Control': 'no-cache, no-store, must-revalidate',\n },\n });\n return result;\n}\n\nfunction* getInfo({ $payload: { lang, staticUrl } }) {\n const [about, history] = yield all([\n sendRequest(`${staticUrl}/content/json/about_${lang}.json`),\n sendRequest(`${staticUrl}/content/json/history_${lang}.json`),\n ]);\n\n yield put(infoActions.set({\n lang,\n data: {\n about: {\n Date: about.Date,\n Values: fp.chunk(3, about.Values),\n },\n history,\n },\n }));\n}\n\nexport const sagas = [\n takeLatest(`${infoActions.get}`, getInfo),\n];\n","import { FeedbackFormProps } from '../FeedbackForm/types';\n\n\nexport enum FeedbackModalStage {\n INIT = 'INIT',\n CONFIRMATION = 'CONFIRMATION',\n FINAL = 'FINAL',\n}\n\nexport interface FeedbackModalComponentProps extends Partial {\n stage: FeedbackModalStage;\n errorMessage?: string | null;\n isError?: boolean;\n}\n","import { reducer } from './reducer';\nimport { sagas } from './sagas';\n\n\nexport * from './actions';\nexport * from './utils';\n\nexport const info = {\n reducer,\n sagas,\n};\n","import { createActionNamespace } from 'Modules/core/redux';\n\nimport { SendCode, SubmitFeedbackForm, SetCodeSendTime, SendFeedbackForm } from './types';\n\n\nconst feedbackAction = createActionNamespace('feedback');\n\nexport const feedbackActions = {\n submitForm: feedbackAction('SUBMIT_FORM'),\n sendCode: feedbackAction('SEND_CODE'),\n sendForm: feedbackAction('SEND_FORM'),\n setCodeSendTime: feedbackAction('SET_CODE_SEND_TIME'),\n setBusy: feedbackAction('SET_BUSY'),\n};\n","import { LANDING_DOMAIN_PATH } from '../../constants';\n\n\nexport const FEEDBACK_PATH = 'feedback';\n\nexport const SENDED_CONFIRMATION_TIME = 'sendedConfirmationTime';\nexport const SENDED_CONFIRMATION_TIME_PATH = `${LANDING_DOMAIN_PATH}.${FEEDBACK_PATH}.${SENDED_CONFIRMATION_TIME}`;\n\nexport const SEND_CODE_DELAY_SECONDS = 120;\n","import { lookupTableReducer, ActionLookupReducer } from 'Modules/core/redux';\n\nimport { feedbackActions } from './actions';\nimport { FeedbackReducer, SetCodeSendTime } from './types';\nimport { SENDED_CONFIRMATION_TIME } from './constanst';\n\n\nconst initialState: FeedbackReducer = {\n [SENDED_CONFIRMATION_TIME]: {},\n busy: false,\n};\n\nconst actionLookup: ActionLookupReducer = {\n [`${feedbackActions.setCodeSendTime}`]: (state, { email, time }: SetCodeSendTime) => ({\n ...state,\n [SENDED_CONFIRMATION_TIME]: {\n ...state[SENDED_CONFIRMATION_TIME],\n [email]: time,\n },\n }),\n [`${feedbackActions.setBusy}`]: (state, busy) => ({\n ...state,\n busy,\n }),\n};\n\nexport const reducer = lookupTableReducer(initialState, actionLookup);\n","import { put, select, takeLatest } from 'redux-saga/effects';\nimport { differenceInSeconds } from 'date-fns';\nimport fp from 'lodash/fp';\n\nimport { ActionPayload, augmentSaga } from 'Modules/core/redux';\nimport { messagingActions, withErrorHandler } from 'Modules/core/messaging';\nimport { apiCall } from 'Modules/core/api';\n\nimport { feedbackActions } from './actions';\nimport { FeedbackReducer, SendCode, SendFeedbackForm, SubmitFeedbackForm, SendedConfirmationTimeKey } from './types';\nimport { FeedbackModalComponentProps, FeedbackModalStage } from '../../components/FeedbackModal/types';\nimport { ConfirmationCodeRequest, FeedbackRequest, feedback } from '../../api';\nimport { SENDED_CONFIRMATION_TIME_PATH, SEND_CODE_DELAY_SECONDS } from './constanst';\nimport { FormValues, Role } from '../../components/FeedbackForm/types';\n\n\nfunction* setBusy(busy: boolean) {\n yield put(feedbackActions.setBusy(busy));\n}\n\nexport const withBusyWrapper = next =>\n function* busyWrapper() {\n yield setBusy(true);\n yield next();\n yield setBusy(false);\n };\n\nfunction* getEmailCodeSendedTime(email: SendedConfirmationTimeKey) {\n const sendedConfirmations: FeedbackReducer['sendedConfirmationTime'] =\n yield select(fp.getOr({}, `${SENDED_CONFIRMATION_TIME_PATH}`));\n return sendedConfirmations[email];\n}\n\nfunction* sendCodeRequest(email: SendedConfirmationTimeKey) {\n const currentTime = new Date().getTime();\n const sendedTime: number = yield getEmailCodeSendedTime(email);\n\n if (differenceInSeconds(currentTime, sendedTime) > SEND_CODE_DELAY_SECONDS || !sendedTime) {\n yield put(feedbackActions.setCodeSendTime({ email, time: currentTime }));\n yield apiCall(feedback.sendCode, {\n body: {\n email,\n } as ConfirmationCodeRequest,\n } as Parameters[0]);\n }\n}\n\nfunction* submitForm({ $payload: { formValues, modalId } }: ActionPayload) {\n yield sendCodeRequest(formValues.email);\n\n yield put(messagingActions.updateModalProps({\n id: modalId,\n props: {\n formValues,\n stage: FeedbackModalStage.CONFIRMATION,\n isError: false,\n errorMessage: null,\n } as FeedbackModalComponentProps,\n }));\n}\n\nfunction* sendCode({ $payload: { email } }: ActionPayload) {\n yield sendCodeRequest(email);\n}\n\nconst formValuesToApiMap = ({\n email, inn, investorStatus, investorType, name, price, rate, role,\n}: FormValues): Omit => ({\n Email: email,\n INN: inn,\n Name: name,\n Role: role,\n ...role === Role.INVESTOR && {\n InvestorStatus: investorStatus,\n InvestorType: investorType,\n PlacementAmount: +price,\n ProfitabilityRate: rate,\n },\n ...role === Role.ISSUER && {\n AttractionAmount: +price,\n AttractionAmountCost: rate,\n },\n});\n\nfunction* sendForm({\n $payload: { ConfirmationCode, formValues, modalId },\n}: ActionPayload) {\n try {\n yield put(messagingActions.updateModalProps({\n id: modalId,\n props: {\n errorMessage: null,\n isError: false,\n } as FeedbackModalComponentProps,\n }));\n\n yield apiCall(feedback.sendForm, {\n body: {\n ConfirmationCode,\n ...formValuesToApiMap(formValues),\n } as FeedbackRequest,\n } as Parameters[0]);\n\n yield put(messagingActions.updateModalProps({\n id: modalId,\n props: {\n stage: FeedbackModalStage.FINAL,\n } as FeedbackModalComponentProps,\n }));\n } catch (error) {\n yield put(messagingActions.updateModalProps({\n id: modalId,\n props: {\n stage: fp.get('response.status', error) === 400\n ? FeedbackModalStage.CONFIRMATION : FeedbackModalStage.FINAL,\n errorMessage: fp.get('response.data', error),\n isError: true,\n } as FeedbackModalComponentProps,\n }));\n }\n}\n\nexport const sagas = [\n takeLatest(`${feedbackActions.submitForm}`, augmentSaga(\n submitForm,\n withBusyWrapper,\n withErrorHandler('feedback.sendFormError'),\n )),\n takeLatest(`${feedbackActions.sendCode}`, augmentSaga(\n sendCode,\n withBusyWrapper,\n withErrorHandler('feedback.sendCodeError'),\n )),\n takeLatest(`${feedbackActions.sendForm}`, augmentSaga(\n sendForm,\n withBusyWrapper,\n withErrorHandler('feedback.sendFormError'),\n )),\n];\n","import fp from 'lodash/fp';\n\nimport { useSelector } from 'Modules/core/redux';\n\nimport { FeedbackReducer, SendedConfirmationTimeKey } from './types';\nimport { FEEDBACK_PATH, SENDED_CONFIRMATION_TIME_PATH } from './constanst';\nimport { LANDING_DOMAIN_PATH } from '../../constants';\n\n\nexport const useCodeTime = (email: SendedConfirmationTimeKey) => {\n const sendedConfirmations = useSelector(\n fp.getOr({}, `${SENDED_CONFIRMATION_TIME_PATH}`),\n );\n\n return sendedConfirmations[email];\n};\n\nexport const useFeedbackBusy = (): FeedbackReducer['busy'] => useSelector(`${LANDING_DOMAIN_PATH}.${FEEDBACK_PATH}.busy`);\n","import { reducer } from './reducer';\nimport { sagas } from './sagas';\n\n\nexport * from './actions';\nexport * from './hooks';\nexport * from './constanst';\n\nexport const feedback = {\n reducer,\n sagas,\n};\n","import { mergeStateParts } from 'Modules/core/redux';\n\nimport { info } from './info';\nimport { news } from './news';\nimport { documents } from './documents';\nimport { emission } from './emission';\nimport { feedback } from './feedback';\nimport { monitoring } from './monitoring';\n\n\nexport const state = mergeStateParts('landing-dfa', {\n info,\n news,\n documents,\n emission,\n feedback,\n monitoring,\n});\n","import React, { FC } from 'react';\n\nimport { Stack, Typography, useDesktop } from 'Modules/ui3';\n\nimport modalStyles from '../ui/index.module.scss';\nimport { PARTNER_EMAIL } from '../../constants';\n\n\nconst ContactsModalComponent: FC = () => {\n const isDesktop = useDesktop();\n return (\n \n \n Ваши клиенты получат доступ к ЦФА не выходя из своих приложений!\n \n \n Хотите стать партнером платформы — напишите нам на\n \n \n {PARTNER_EMAIL}\n \n \n );\n};\n\nexport const ContactsModal = {\n component: ContactsModalComponent,\n containerClass: modalStyles.container,\n modalClass: modalStyles.modal,\n position: 'center',\n};\n","import React, { FC } from 'react';\n\nimport { useTranslation } from 'Modules/core/i18n';\nimport { CloseModalButton, Stack, Typography } from 'Modules/ui3';\nimport { useModalContext } from 'Modules/core/messaging';\n\nimport modalStyles from '../ui/index.module.scss';\n\n\nconst PersonalDataComponent: FC = () => {\n const { t } = useTranslation('personaleData');\n const { modal } = useModalContext();\n return (\n \n \n \n {t('title')}\n \n \n {t('content')}\n \n \n );\n};\n\nexport const PersonalDataModal = {\n component: PersonalDataComponent,\n containerClass: modalStyles.container,\n modalClass: modalStyles.modal,\n position: 'center',\n};\n","import { RadioElement } from 'Modules/ui3';\n\nimport { ListForTranslate } from '../../../utils';\nimport { InvestorStatus, InvestorType } from '../types';\n\n\nexport const investorTypes: ListForTranslate = [\n {\n tKey: 'investorTypes.person',\n value: InvestorType.FL,\n },\n {\n tKey: 'investorTypes.company',\n value: InvestorType.UL,\n },\n {\n tKey: 'investorTypes.individual',\n value: InvestorType.IP,\n },\n];\n\nexport const investorStatus: ListForTranslate = [\n {\n tKey: 'investorStatus.qualified',\n value: InvestorStatus.QUALIFIED,\n },\n {\n tKey: 'investorStatus.noneQualified',\n value: InvestorStatus.NONE_QUALIFIED,\n },\n];\n","import { useCallback } from 'react';\n\nimport { TFunction } from 'Modules/core/i18n';\nimport { validators } from 'Modules/core/forms';\n\nimport { FormValues, InvestorType, Role } from './types';\n\n\nexport const useRateValueFormatter = (t: TFunction) => useCallback((rate: number) => {\n if (!Number.isFinite(rate))\n return undefined;\n const value = rate.toString().replace('.', ',');\n\n return t('rateFormatter', { value: rate >= 0 ? `+${value}` : value });\n}, [t]);\n\nexport const COMPANY_INN_LENGTH = 10;\nexport const INDIVIDUAL_INN_LENGTH = 12;\n\nexport const needInnTypes: InvestorType[] = [InvestorType.UL, InvestorType.IP];\n\nexport const innValidatorsByRole = {\n [Role.INVESTOR]: (value, values: FormValues) => needInnTypes.includes(values?.investorType) &&\n validators.pipe(\n validators.requiredKey('requiredInn'),\n validators.is.inn,\n validators.length.equal(values?.investorType === InvestorType.IP\n ? INDIVIDUAL_INN_LENGTH : COMPANY_INN_LENGTH),\n )(value),\n [Role.ISSUER]: validators.pipe(\n validators.requiredKey('requiredInn'),\n validators.is.inn,\n ),\n};\n","import { FC } from 'react';\n\nimport { TabOption } from 'Modules/ui3';\n\nimport { InvestorBlock } from '../InvestorBlock';\nimport { IssuerBlock } from '../IssuerBlock';\nimport { ListForTranslate } from '../../../utils';\nimport { Role } from '../types';\n\n\ninterface Tab {\n tKey: string;\n role: Role;\n component: FC;\n}\nconst tabs: Tab[] = [\n {\n tKey: 'role.investor',\n role: Role.INVESTOR,\n component: InvestorBlock,\n },\n {\n tKey: 'role.issuer',\n role: Role.ISSUER,\n component: IssuerBlock,\n },\n];\nexport const tabsOptions: ListForTranslate = tabs.map(\n ({ component, role, ...props }) => ({ ...props, value: role }),\n);\n\nexport const componentByRoleMap: Record = tabs.reduce((obj, tab) => ({\n ...obj,\n [tab.role]: tab.component,\n}), {} as Record);\n\nexport const basePrices: Record = {\n [Role.INVESTOR]: [100_000, 1_000_000, 10_000_000],\n [Role.ISSUER]: [10_000_000, 100_000_000, 500_000_000],\n};\n\nexport const PRICE_LIMITS = {\n [Role.INVESTOR]: {\n min: 100_000,\n max: 999_999_999_999,\n },\n [Role.ISSUER]: {\n min: 1_000_000,\n max: 999_999_999_999,\n },\n};\n","import React, { FC } from 'react';\nimport { Field, useFormState } from 'react-final-form';\nimport { Collapse } from '@mui/material';\nimport { intValuesHelpers } from '@factorin/util';\n\nimport { WithT } from 'Modules/core/i18n';\nimport { InputField, RadioElement, Stack } from 'Modules/ui3';\nimport { RadioGroupField, SliderField } from 'Modules/business/forms';\nimport { validators } from 'Modules/core/forms';\n\nimport { investorTypes, investorStatus } from './utils';\nimport { FormValues, Role } from '../types';\nimport { useListTranslate } from '../../../utils';\nimport { useRateValueFormatter, innValidatorsByRole, needInnTypes } from '../utils';\n\n\nexport const InvestorBlock: FC = ({ t }) => {\n const { values } = useFormState();\n const rateFormatter = useRateValueFormatter(t);\n return (\n \n \n (t, investorTypes)}\n validate={values?.role === Role.INVESTOR &&\n validators.requiredKey('investorTypeRequired')}\n spacing={2}\n parse={value => +value || undefined}\n required\n />\n \n \n innValidatorsByRole[values.role](value, values)}\n parse={intValuesHelpers.parse}\n required\n />\n \n (t, investorStatus)}\n validate={values?.role === Role.INVESTOR &&\n validators.requiredKey('isQualifiedRequired')}\n spacing={2}\n parse={value => +value || undefined}\n required\n />\n \n );\n};\n","import React, { FC } from 'react';\nimport { Field } from 'react-final-form';\nimport { intValuesHelpers } from '@factorin/util';\n\nimport { WithT } from 'Modules/core/i18n';\nimport { InputField, Stack } from 'Modules/ui3';\nimport { SliderField } from 'Modules/business/forms';\n\nimport { FormValues, Role } from '../types';\nimport { innValidatorsByRole, useRateValueFormatter } from '../utils';\n\n\nexport const IssuerBlock: FC = ({ t }) => {\n const rateFormatter = useRateValueFormatter(t);\n return (\n \n \n innValidatorsByRole[values.role](value, values)}\n parse={intValuesHelpers.parse}\n required\n />\n \n \n );\n};\n","import React, { FC } from 'react';\nimport { formatCurrency, intValuesHelpers } from '@factorin/util';\nimport { Field, useForm } from 'react-final-form';\n\nimport { Stack, InputField, Chip, TabOption, Typography, Tabs } from 'Modules/ui3';\nimport { validators } from 'Modules/core/forms';\nimport { WithT } from 'Modules/core/i18n';\n\nimport { PRICE_LIMITS, basePrices, tabsOptions } from './utils';\nimport { FormValues, Role } from '../types';\nimport { useListTranslate } from '../../../utils';\n\n\ninterface CommonBlockProps extends WithT {\n role: Role;\n price: FormValues['price'];\n}\n\nexport const CommonBlock: FC = ({ t, price, role }) => {\n const { change, getFieldState } = useForm();\n return (\n <>\n \n {t('role.title')}\n \n (t, tabsOptions)}\n variant='button'\n value={role}\n onChange={value => change('role', value)}\n gray\n fullWidth\n sx={{\n mt: 4,\n }}\n />\n \n \n \n \n {\n const fieldState = getFieldState(field as keyof FormValues);\n return formatCurrency(value, fieldState?.active || !value ? null : '₽');\n }}\n />\n \n \n {basePrices[role]?.map((value, idx) => (\n change('price', value)}\n />\n ))}\n \n \n );\n};\n","import React, { FC, SyntheticEvent, useCallback, useMemo } from 'react';\nimport { Field, Form as FinalForm } from 'react-final-form';\n\n\nimport { useTranslation } from 'Modules/core/i18n';\nimport { Box, Button2, CloseModalButton, Typography } from 'Modules/ui3';\nimport { useAction } from 'Modules/core/redux';\nimport { messagingActions, useModalContext } from 'Modules/core/messaging';\nimport { validators } from 'Modules/core/forms';\nimport { CheckboxField } from 'Modules/business/forms';\n\nimport { FeedbackFormProps, FormValues, SelectedTabComponentProps } from './types';\nimport { CommonBlock } from './CommonBlock';\nimport { componentByRoleMap } from './CommonBlock/utils';\nimport styles from '../ui/index.module.scss';\nimport { feedbackActions, useFeedbackBusy } from '../../state/feedback';\n\n\nconst SelectedTabComponent: FC = ({ role, t }) => {\n const Component = useMemo(\n () => componentByRoleMap[role],\n [role],\n );\n return Component && (\n \n \n \n );\n};\n\nexport const FeedbackForm: FC = ({ formValues }) => {\n const { t } = useTranslation('feedbackForm');\n const { modal } = useModalContext();\n const busy = useFeedbackBusy();\n\n const submit = useAction((formValues: FormValues) => feedbackActions.submitForm({\n formValues,\n modalId: modal.id,\n }), [modal.id]);\n\n const showApprovalModal = useAction(() => messagingActions.showModal({\n type: 'PersonalDataModal',\n closeable: false,\n }));\n\n const showApproval = useCallback((e: SyntheticEvent) => {\n e.preventDefault();\n showApprovalModal();\n }, [showApprovalModal]);\n\n return (\n \n {({ handleSubmit, values }) => (\n \n \n \n \n \n \n \n {t('approval')}\n \n {t('personalData')}\n \n \n )}\n validate={validators.required}\n />\n \n {t('submit')}\n \n \n \n \n )}\n \n );\n};\n","import React, { FC, createRef, useCallback, useEffect, useMemo, useState } from 'react';\nimport fp from 'lodash/fp';\n\nimport { Input, Stack } from 'Modules/ui3';\n\nimport { useFeedbackBusy } from '../../state/feedback';\nimport { CodeFormProps } from './types';\n\n\nexport const CodeForm: FC = ({ digitsCount = 4, onCodeEnter, isError }) => {\n const [digits, setDigits] = useState([]);\n const busy = useFeedbackBusy();\n\n const inputRefs = useMemo(() =>\n Array.from({ length: digitsCount }, () => createRef()),\n [digitsCount]);\n\n useEffect(() => {\n if (isError || digits.length < digitsCount)\n setDigits(Array.from({ length: digitsCount }, () => ''));\n }, [isError, digitsCount, digits.length]);\n\n\n const keyDown = useCallback((idx: number) => (e: React.KeyboardEvent) => {\n if (e.key === 'Backspace' && inputRefs[idx].current.selectionStart === 0 && idx > 0) {\n inputRefs[idx].current.blur();\n inputRefs[idx - 1].current.focus();\n }\n }, [inputRefs]);\n\n const change = useCallback((idx: number) => e => {\n const target = e.target as HTMLInputElement;\n const cursorPosition = target.selectionStart;\n\n const values = fp.pipe(\n // Если курсор установлен слева от символа, то обрезаем его, чтобы он не сместился в следующую ячейку\n value => value.length > cursorPosition ? value.slice(0, -1) : value,\n // Блокируем ввод и удаляем не цыфры при вставке из буфера\n fp.replace(/[^\\d]+/g, ''),\n // Обрезаем под количество чисел кода\n value => value.substring(0, digitsCount - idx),\n fp.split(''),\n )(target.value);\n\n setDigits(prev => {\n const newDigits = prev.map(\n (current, index) => {\n if (index === idx || index > idx && values[index - idx])\n return values[index - idx];\n return current;\n },\n );\n\n const code = newDigits.join('');\n if (code.length === digitsCount)\n onCodeEnter(code);\n\n return newDigits;\n });\n\n if (/\\d/.test(values[0])) {\n inputRefs[idx].current.blur();\n if (idx < digitsCount - values.length)\n inputRefs[idx + values.length].current.focus();\n }\n }, [digitsCount, inputRefs, onCodeEnter]);\n\n return (\n \n {inputRefs.map((ref, idx) => (\n ({\n height: 'auto',\n '& > input': {\n py: 4,\n textAlign: 'center',\n height: 'auto',\n ...typography.mediumHeader1,\n },\n }),\n }}\n />\n ))}\n \n );\n};\n","import React, { FC, useEffect, useState } from 'react';\nimport { differenceInSeconds } from 'date-fns';\n\nimport { Box, CloseModalButton, ExternalLeft24, IconButton, Stack, Typography } from 'Modules/ui3';\nimport { useTranslation } from 'Modules/core/i18n';\nimport { messagingActions, useModalContext } from 'Modules/core/messaging';\nimport { useAction } from 'Modules/core/redux';\n\nimport { ConfimationCodeProps, SendCodeProps } from './types';\nimport { FeedbackModalComponentProps, FeedbackModalStage } from '../FeedbackModal/types';\nimport { SEND_CODE_DELAY_SECONDS, useCodeTime } from '../../state/feedback';\nimport { CodeForm } from '../ConfirmationCodeForm';\n\n\nconst SendCode: FC = React.memo(({ t, email, onRequestCode }) => {\n const codeTime = useCodeTime(email);\n const [timer, setTimer] = useState(0);\n const disableSend = timer > 0;\n\n useEffect(() => {\n const timeDeltaSeconds = differenceInSeconds(new Date().getTime(), codeTime);\n\n if (SEND_CODE_DELAY_SECONDS > timeDeltaSeconds) {\n setTimer(SEND_CODE_DELAY_SECONDS - timeDeltaSeconds);\n const countDown = setInterval(() => {\n setTimer(prev => prev - 1);\n }, 1000);\n\n return () => clearInterval(countDown);\n }\n return null;\n }, [codeTime]);\n\n return (\n \n {t(disableSend ? 'sendCodeTimer' : 'sendCode', { timer })}\n \n );\n});\n\nexport const ConfimationCode: FC = ({\n email, onRequestCode, onCodeEnter, errorMessage,\n}) => {\n const { t } = useTranslation('confimationCode');\n const { modal: { hide, id } } = useModalContext();\n\n const goBack = useAction(() => messagingActions.updateModalProps({\n id,\n props: {\n stage: FeedbackModalStage.INIT,\n } as FeedbackModalComponentProps,\n }), [id]);\n\n return (\n \n \n \n \n \n \n \n \n \n {t('title')}\n \n \n {t('helper', { email })}\n \n \n {errorMessage && (\n \n {errorMessage}\n \n )}\n \n \n \n \n \n );\n};\n","import { FormValues, Role } from '../FeedbackForm/types';\n\n\nexport const initialFormValues: FormValues = {\n role: Role.INVESTOR,\n rate: 0,\n};\n","import React, { FC } from 'react';\n\nimport { Box, Check24, CloseModalButton, Stack, StopSign24, Telegram24, Typography } from 'Modules/ui3';\nimport { useTranslation } from 'Modules/core/i18n';\nimport { useModalContext } from 'Modules/core/messaging';\n\nimport { ConfimationMessageProps, telegramLink } from './types';\n\n\nexport const ConfimationMessage: FC = ({ success }) => {\n const { t } = useTranslation('confimationMessage');\n const { modal: { hide } } = useModalContext();\n\n return (\n \n \n \n \n svg': {\n fontSize: ({ spacing }) => spacing(8),\n },\n }}\n >\n {success ? : }\n \n \n \n {t(success ? 'success.title' : 'error.title')}\n \n \n {t(success ? 'success.helper' : 'error.helper')}\n \n {success && (\n \n spacing(8) }} />\n \n {t('telegram')}\n \n \n )}\n \n \n );\n};\n","export interface ConfimationMessageProps {\n success?: boolean;\n}\n\nexport const telegramLink = 'https://t.me/cfa_hub';\n","import React, { FC, useMemo } from 'react';\n\nimport { useAction } from 'Modules/core/redux';\nimport { useModalContext } from 'Modules/core/messaging';\n\nimport modalStyles from '../ui/index.module.scss';\nimport { FeedbackModalComponentProps, FeedbackModalStage } from './types';\nimport { FeedbackForm } from '../FeedbackForm';\nimport { ConfimationCode } from '../ConfirmationCode';\nimport { initialFormValues } from './utils';\nimport { ConfimationMessage } from '../ConfirmationMessage';\nimport { feedbackActions } from '../../state/feedback';\n\n\nconst FeedbackModalComponent: FC = ({\n stage = FeedbackModalStage.INIT, formValues = {}, errorMessage, isError,\n}) => {\n const { modal: { id } } = useModalContext();\n const sendForm = useAction((code: string) => feedbackActions.sendForm({\n modalId: id,\n ConfirmationCode: code,\n formValues,\n }), [id, formValues]);\n\n const requestCode = useAction(() => feedbackActions.sendCode(\n { email: formValues.email },\n ),\n [formValues.email]);\n\n const initialValues = useMemo(() => ({\n ...initialFormValues,\n ...formValues,\n }), [formValues]);\n\n if (stage === FeedbackModalStage.INIT)\n return ;\n if (stage === FeedbackModalStage.CONFIRMATION) {\n return (\n \n );\n }\n if (stage === FeedbackModalStage.FINAL)\n return ;\n return null;\n};\n\nexport const FeedbackModal = {\n component: FeedbackModalComponent,\n containerClass: modalStyles.container,\n modalClass: modalStyles.modal,\n position: 'center',\n};\n","import { BrowserRouterRender } from 'Modules/core/react';\n\nimport {\n InitializeRender,\n LandingRender,\n MuiThemeProviderRender,\n RedirectToHome,\n TrackerRender,\n} from './middlewares';\n// @ts-ignore\nimport translations from './translations.json';\nimport { state } from './state';\nimport { descisions, monitoring, news, withUs } from './api';\nimport { ContactsModal } from './components/ContactsModal';\nimport { PersonalDataModal } from './components/PersonalDataModal';\nimport { FeedbackModal } from './components/FeedbackModal';\nimport './index.scss';\n\n\nexport const landingDfa = {\n API: {\n domain: {\n descisions,\n news,\n withUs,\n monitoring,\n },\n },\n\n messaging: {\n modalTypes: {\n ContactsModal,\n FeedbackModal,\n PersonalDataModal,\n },\n },\n\n data: {\n domain: {\n descisions: {},\n news: {},\n withUs: {},\n monitoring: {},\n },\n },\n\n renderChain: [\n [MuiThemeProviderRender, 45],\n [BrowserRouterRender, -30],\n [TrackerRender, -31],\n [InitializeRender, -35],\n [LandingRender, -50],\n [RedirectToHome, -60],\n ],\n\n state,\n\n translations,\n};\n","import React, { useEffect } from 'react';\nimport { i18n } from '@factorin/container.macro';\n\nimport { ChainedRender } from 'Modules/core/react';\nimport { useAction } from 'Modules/core/redux';\nimport { storageActions } from 'Modules/business/data';\n\n\nconst useChangeLanguage = () => {\n useEffect(\n () => {\n i18n.changeLanguage('ru');\n },\n [],\n );\n};\n\nexport const InitializeRender: ChainedRender = ({ Next }) => {\n const initialize = useAction(storageActions.initialize, []);\n useChangeLanguage();\n useEffect(\n () => {\n initialize();\n },\n [initialize],\n );\n\n return ;\n};\n","import { ThemeProviderRender } from './middlewares';\n\n\nexport const mui = {\n renderChain: [\n [ThemeProviderRender, 45],\n ],\n};\n","import React from 'react';\nimport { ThemeProvider } from '@mui/material';\n\nimport { theme } from 'Modules/ui3';\nimport { ChainedRender } from 'Modules/core/react';\n\n\nexport const ThemeProviderRender: ChainedRender = ({ Next }) => (\n \n \n \n);\n","// extracted by mini-css-extract-plugin\nmodule.exports = {\"container\":\"CheckableColumn_container__3G3-2\",\"checkbox\":\"CheckableColumn_checkbox__1-6pn\",\"checkboxMark\":\"CheckableColumn_checkboxMark__2qfk_\",\"checkboxCell\":\"CheckableColumn_checkboxCell__1gAEG\",\"selected\":\"CheckableColumn_selected__1ajDM\"};","// extracted by mini-css-extract-plugin\nmodule.exports = {\"documentsViewPlaceholder\":\"DocumentsView_documentsViewPlaceholder__30657\",\"importing\":\"DocumentsView_importing__xxlhn\",\"error\":\"DocumentsView_error__386Tc\"};","import { AxiosResponse } from 'axios';\n\n\nclass ApiError extends Error {\n response: AxiosResponse;\n\n constructor(response: AxiosResponse, message: string) {\n super(message);\n this.response = response;\n }\n}\n\nexport class NotAuthorizedError extends ApiError {\n constructor(response: AxiosResponse) {\n super(response, 'notAuthorized');\n }\n}\n\nexport class ForbiddenError extends ApiError {\n constructor(response: AxiosResponse) {\n super(response, 'forbidden');\n }\n}\n\nexport class NotFoundError extends ApiError {\n constructor(response: AxiosResponse) {\n super(response, 'notFound');\n }\n}\n\nexport class UnknownError extends ApiError {\n constructor(response: AxiosResponse) {\n super(response, 'unknown');\n }\n}\n","import fp from 'lodash/fp';\nimport qs from 'qs';\nimport axios, { AxiosResponse, AxiosRequestConfig, ResponseType } from 'axios';\nimport { decode as decodeBase64 } from 'universal-base64';\nimport { Pagination } from '@factorin/domain';\n\nimport { NotAuthorizedError, ForbiddenError, UnknownError, NotFoundError } from './errors';\n\n\nexport type HttpMethod = 'GET' | 'POST' | 'PUT' | 'PATCH' | 'HEAD' | 'DELETE';\n\nexport type HttpHeaders = {\n [key: string]: string;\n};\n\nconst mayHaveBody = (method: HttpMethod) =>\n ['POST', 'PUT', 'PATCH', 'DELETE'].includes(method.toUpperCase());\n\n\nexport const contentTypeJson = 'application/json';\nexport const contentTypeErrorJson = 'application/problem+json';\n\nexport const checkContentType = (response: AxiosResponse, contentType: string) => fp.pipe(\n fp.defaultTo(''),\n fp.split('; '),\n fp.first,\n fp.defaultTo(''),\n fp.toLower,\n fp.isEqual(contentType),\n)(response.headers['content-type']);\n\n\nconst extractUnicode = (fileName: string) => {\n const match = fileName.match(/^=\\?utf-8\\?B\\?([^?]+)\\?=$/);\n return !match ? fileName : fp.pipe(fp.get(1), decodeBase64)(match);\n};\n\nconst extractFilename = (value: string) => {\n const match = value.match(/^filename=[\"']?([^'\"]+)[\"']?$/);\n return match ? match[1] : '';\n};\n\nexport const getFilename = (headers: any, fallback: string) => fp.pipe(\n fp.defaultTo(''),\n fp.split(';'),\n fp.map(fp.trim),\n fp.find(value => /^filename=/i.test(value)),\n fp.defaultTo(''),\n extractFilename,\n extractUnicode,\n value => value || fallback,\n)(headers['content-disposition']);\n\n\nexport const rawRequest = async (request: AxiosRequestConfig) => {\n const response: AxiosResponse =\n await axios(request).catch(error => error.response);\n\n switch (response.status) {\n case 200:\n case 201:\n case 202:\n case 304:\n case 204:\n return response;\n\n case 401:\n throw new NotAuthorizedError(response);\n case 403:\n throw new ForbiddenError(response);\n case 404:\n throw new NotFoundError(response);\n\n case 400:\n case 500:\n default:\n throw new UnknownError(response);\n }\n};\n\ntype Omit = Pick>;\n\nexport namespace Request {\n export type Url = {\n url: string;\n };\n\n export type ServerParameters = {\n basePath: string;\n apiPath: string;\n };\n\n export type Body = {\n body: TBody;\n }\n\n export type Query = {\n query: TQuery;\n }\n\n export type Path = {\n path: string;\n }\n\n export type Cancel = {\n setCancel?: (cancel: () => void) => void;\n }\n\n export type UploadProgress = {\n onUploadProgress?: (progressEvent: any) => void;\n }\n\n export type DownloadProgress = {\n onDownloadProgress?: (progressEvent: any) => void;\n }\n\n export type Parameters =\n ServerParameters &\n Url &\n Partial &\n Partial &\n Partial &\n UploadProgress &\n DownloadProgress &\n Cancel &\n {\n method: HttpMethod;\n headers?: HttpHeaders;\n responseType?: ResponseType;\n contentType?: string;\n };\n}\n\n\nexport const request = async ({\n basePath,\n apiPath,\n url,\n path = '',\n query = {},\n method,\n headers = {},\n responseType,\n contentType = contentTypeJson,\n onDownloadProgress,\n onUploadProgress,\n body,\n setCancel,\n}: Request.Parameters): Promise> => {\n if (!url)\n throw new Error('Url is not specified');\n\n const hasBody = body !== undefined;\n\n if (hasBody && !mayHaveBody(method))\n throw new Error('Incorrect body or method usage');\n\n const requestQuery = qs.stringify(query, { arrayFormat: 'repeat' });\n\n const requestUrl = fp.pipe(\n fp.filter(fp.identity),\n fp.join(''),\n )([\n basePath,\n apiPath,\n '/',\n url,\n path && '/',\n path,\n requestQuery && '?',\n requestQuery,\n ]);\n\n const requestParameters: AxiosRequestConfig = {\n url: requestUrl,\n method,\n headers: {\n Accept: contentTypeJson,\n ...hasBody && { 'Content-Type': contentType },\n ...headers,\n },\n ...hasBody && {\n data: contentType === contentTypeJson\n ? JSON.stringify(body)\n : body,\n },\n responseType,\n onDownloadProgress,\n onUploadProgress,\n ...setCancel && {\n cancelToken: new axios.CancelToken(setCancel),\n },\n };\n\n return rawRequest(requestParameters);\n};\n\ntype MethodParameters =\n Omit;\n\ntype RequestTransformArgs = (\n (TArgs extends void ? {} : TArgs) &\n Request.ServerParameters & Partial\n);\n\ntype RequestTransform = TArgs extends void\n ? () => MethodParameters\n : (args: TArgs) => MethodParameters;\n\nconst method = (name: HttpMethod) =>\n (transform: RequestTransform) =>\n (args: RequestTransformArgs) => request({\n ...args,\n ...transform(args as TArgs),\n method: name,\n });\n\nexport const get = method('GET');\nexport const post = method('POST');\nexport const put = method('PUT');\nexport const patch = method('PATCH');\nexport const remove = method('DELETE');\n\ntype WithUrlMapper = (args?: Partial>) => MethodParameters;\n\nexport const withUrl = (url: string): WithUrlMapper => (args = {}) => ({ ...args, url });\n\nexport type ItemRequest = {\n id: string | number;\n};\n\nexport type ItemUpdate = {\n id: string | number;\n item: TItem;\n}\n\nexport const list = <\n TItem = any,\n TRequest extends object = object,\n TList = TItem,\n>({ url }: Request.Url) => ({\n item: get(\n ({ id }) => ({\n url,\n path: `${id}`,\n }),\n ),\n list: get, Pagination.List>(\n ({ query }) => ({\n url,\n query,\n }),\n ),\n});\n\nexport const readUpdate = <\n TItem = any,\n>({ url }: Request.Url) => ({\n item: get(\n ({ id }) => ({\n url,\n path: `${id}`,\n }),\n ),\n update: put, TItem>(\n ({ id, item }) => ({\n url,\n path: `${id}`,\n body: item,\n }),\n ),\n});\n\ntype ApiCall =\n (args: RequestTransformArgs) => Promise>;\n\ntype ExtractApiArgType = TApiCall extends ApiCall ? TArgs : never;\ntype ExtractApiResult = TApiCall extends ApiCall<{}, infer TResult> ? TResult : any;\n\nexport type AxiosResponseType = AxiosResponse;\nexport type ApiCaller = >(\n apiCall: TApiCall,\n args?: ExtractApiArgType\n) => Promise>>;\n\n\ntype ApiCallerParameters = Request.ServerParameters & Partial;\ntype ApiCallerCreator = {\n (params: ApiCallerParameters): ApiCaller;\n (params: () => ApiCallerParameters): ApiCaller;\n};\n\ntype ObjectOrCreator = TObject | ((args: any) => TObject);\n\nexport const createApiCaller: ApiCallerCreator =\n (params: ObjectOrCreator): ApiCaller =>\n (apiCall, args) => apiCall({\n ...args,\n ...fp.isFunction(params)\n ? params(args)\n : params,\n });\n","import { get, post, put, withUrl, Request } from '../rest';\n\n\nconst accountPart = withUrl('account');\n\nexport const account = {\n get: get(\n () => accountPart(),\n ),\n\n create: post(\n ({ body }) => accountPart({\n path: 'create',\n body,\n }),\n ),\n\n put: put(\n ({ body }) => accountPart({\n body,\n }),\n ),\n};\n","import { Accounts, Pagination } from '@factorin/domain';\n\nimport { withUrl, list, post, put, remove, ItemRequest } from '../rest';\n\n\ninterface AccountListRequest extends Pagination.Request {\n bankUid: string;\n}\n\ninterface CreateChangeAccountItem {\n item: {\n BankUid: string;\n DebtorUid: string;\n ClientUid: string;\n Currency: string;\n Number: string;\n };\n}\n\nconst accountsPart = withUrl('accounts');\nexport const accounts = {\n ...list(accountsPart()),\n create: post(\n ({ item }) => accountsPart({\n body: item,\n }),\n ),\n update: put(\n ({ id, item }) => accountsPart({\n path: `${id}`,\n body: item,\n }),\n ),\n remove: remove(\n ({ id }) => accountsPart({\n path: `${id}`,\n }),\n ),\n};\n","import { get, post, withUrl } from '../rest';\n\n\nexport namespace Auth {\n export type RedirectUrl = {\n redirectUrl: string;\n };\n\n export type IdentityToken = {\n identityToken: string;\n };\n\n export type Code = {\n code: string;\n };\n\n export type RefreshToken = {\n refreshToken: string;\n };\n\n export type TokensResponse = {\n RefreshToken: string;\n AccessToken: string;\n IdentityToken: string;\n }\n\n export type RefreshTokensResponse = {\n RefreshToken: string;\n AccessToken: string;\n }\n}\n\n\nconst authPart = withUrl('auth');\n\nexport const auth = {\n check: get(() => authPart({\n path: 'check',\n })),\n\n stsLoginUrl: get(\n ({ redirectUrl }) => authPart({\n path: 'stsloginurl',\n query: {\n redirectUrl,\n },\n }),\n ),\n stsLogoutUrl: get(\n ({ identityToken, redirectUrl }) => authPart({\n path: 'stslogouturl',\n query: {\n identityToken,\n redirectUrl,\n },\n }),\n ),\n\n tokens: post(\n ({ code, redirectUrl }) => authPart({\n path: 'tokens',\n body: {\n Code: code,\n RedirectUrl: redirectUrl,\n },\n }),\n ),\n refreshTokens: post(\n ({ refreshToken }) => authPart({\n path: 'refreshtokens',\n body: {\n RefreshToken: refreshToken,\n },\n }),\n ),\n};\n","import { Banks } from '@factorin/domain';\n\nimport { withUrl, list, post, put, remove, ItemRequest } from '../rest';\n\n\ninterface CreateChangeBankItem {\n item: {\n BIK: string;\n FullName: string;\n ShortName: string;\n OGRN: string;\n INN: string;\n KPP: string;\n CorrAccount: string;\n CorrBank: string;\n };\n}\n\nconst banksPart = withUrl('banks');\nexport const banks = {\n ...list(banksPart()),\n create: post(\n ({ item }) => banksPart({\n body: item,\n }),\n ),\n update: put(\n ({ id, item }) => banksPart({\n path: `${id}`,\n body: item,\n }),\n ),\n remove: remove(\n ({ id }) => banksPart({\n path: `${id}`,\n }),\n ),\n};\n","import { Cessions, Pagination, Common } from '@factorin/domain';\n\nimport { withUrl, list, post } from '../rest';\n\n\ninterface CessionListRequest extends Pagination.Request {\n registerUid?: string;\n baseDateRange?: Common.DateRange;\n providerUid?: string;\n providerINN?: string;\n buyerUid?: string;\n buyerINN?: string;\n supplyAgreementNumber?: string;\n primaryDocumentDateRange?: Common.DateRange;\n amount?: Common.DecimalRange;\n cessionAmount?: Common.DecimalRange;\n}\n\ninterface CedeRequest {\n registerUid: string;\n confirm: boolean;\n uids: string[];\n}\n\nconst cessionsPart = withUrl('cessions');\n\nexport const cessions = {\n ...list(cessionsPart()),\n cede: post(\n ({ registerUid, confirm, uids }) => cessionsPart({\n query: {\n registerUid,\n },\n body: {\n Confirm: confirm,\n SupplyUids: uids,\n },\n }),\n ),\n};\n","import { CessionRaws, Pagination } from '@factorin/domain';\n\nimport { withUrl, list } from '../rest';\n\n\ninterface CessionRawListRequest extends Pagination.Request {\n batchUId?: string;\n cessionNumber?: string;\n additionalSupplyNumber?: string;\n}\n\nconst sessionRawsPart = withUrl('cessionraws');\n\nexport const cessionraws = list(sessionRawsPart());\n","import { Companies } from '@factorin/domain';\n\nimport { withUrl, get } from '../rest';\n\n\nconst companiesPart = withUrl('companies');\nexport const companies = {\n // co\n item: get(\n () => companiesPart({\n path: 'self',\n }),\n ),\n clientprofiles: get(\n () => companiesPart({\n path: 'self/clientprofiles',\n }),\n ),\n};\n","import { Users, Pagination } from '@factorin/domain';\n\nimport { withUrl, get, post, put, remove, Request, ItemRequest, patch } from '../rest';\n\n\ntype CreateBodyRequest = Pick & {\n Password: string;\n};\n\ntype UpdateBodyRequest = Pick & {\n ClientProfileUid: string;\n}\n\ninterface ChangePasswordRequest {\n NewPassword: string;\n}\n\ntype RequestFilters = Partial<{\n login: string;\n surname: string;\n firstname: string;\n middlename: string;\n isEIO: boolean;\n}>;\n\nconst companyAdminPart = withUrl('users');\n\nexport const companyUsers = {\n list: get<\n Request.Query,\n Pagination.List\n >(\n ({ query: { isEIO, ...query } }) => companyAdminPart({\n path: isEIO ? 'availablewarrantissuers' : '',\n query,\n }),\n ),\n item: get(\n ({ id }) => companyAdminPart({\n path: `${id}`,\n }),\n ),\n create: post, Users.CompanyUser>(\n ({ body }) => companyAdminPart({\n body,\n }),\n ),\n update: put, Users.CompanyUser>(\n ({ id, body }) => companyAdminPart({\n path: `${id}`,\n body,\n }),\n ),\n remove: remove(\n ({ id }) => companyAdminPart({\n path: `${id}`,\n }),\n ),\n changePassword: patch, void>(\n ({ id, body }) => companyAdminPart({\n path: `${id}/password`,\n body,\n }),\n ),\n};\n","import { withUrl, patch } from '../rest';\n\n\nexport interface ConveyorConfirmReject {\n registerUid: string;\n supplyUids: string[];\n confirm: boolean;\n reasonUid?: string;\n comment?: string;\n}\n\nconst conveyorCessionsPart = withUrl('conveyor/cessions');\n\nexport const conveyorCessions = {\n confirm: patch(\n ({ registerUid, supplyUids, reasonUid, confirm, comment = '' }) => conveyorCessionsPart({\n query: {\n registerUid,\n },\n body: {\n Confirm: confirm,\n ReasonUid: reasonUid,\n Comment: comment,\n Uids: supplyUids,\n },\n }),\n ),\n};\n","import { CryptoProfiles } from '@factorin/domain';\n\nimport { get, post, remove, withUrl, ItemRequest } from '../rest';\n\n\ntype AddCryptoProfile = {\n base64certificate: string;\n}\n\nconst cryptoProfilesPart = withUrl('cryptoprofiles');\n\nexport const cryptoProfiles = {\n list: get(cryptoProfilesPart),\n\n add: post(\n ({ base64certificate }) => cryptoProfilesPart({\n body: {\n base64certificate,\n },\n }),\n ),\n\n remove: remove(\n ({ id }) => cryptoProfilesPart({\n path: `${id}`,\n }),\n ),\n};\n","import { Supplies, Registers, Reports, Filters } from '@factorin/domain';\n\nimport { get, withUrl } from '../rest';\n\n\nexport interface PlatformParticipant {\n Uid: string;\n Uri: string;\n CompanyUid: string;\n ShortName: string;\n FullName: string;\n DltKey: string;\n AllowNotifications: boolean;\n}\n\nexport interface ProcessTemplateInstance {\n Code: string;\n Mask: string;\n ProcessTemplate: Filters.FilterDefinition;\n}\n\nexport interface ContractorRoles extends Filters.FilterDefinition {\n Uid: string;\n}\n\nexport interface Currency {\n key: string;\n value: string;\n}\n\nconst dictsMethod = withUrl('dicts');\nconst dict = (path: string) =>\n get(() => dictsMethod({ path }));\n\nconst userTemplates = withUrl('registertemplates');\n\nexport const dicts = {\n supplies: {\n rejectReasons: dict('supplies/rejectreasons'),\n },\n\n registers: {\n stages: dict('registers/stages'),\n\n statuses: dict('registers/statuses'),\n\n templates: dict('registers/templates'),\n },\n\n platformParticipants: dict('system/platformparticipants'),\n\n processTemplates: dict('processtemplates'),\n\n processTemplateInstances: dict('processtemplateinstances'),\n\n documentTypes: dict('documenttypes'),\n\n reports: {\n types: dict('reports/types'),\n\n periods: dict('reports/periods'),\n\n statuses: dict('reports/statuses'),\n },\n\n contractorroles: dict('contractorroles'),\n\n userRegisterTemplates: get(\n () => userTemplates({ path: 'available' }),\n ),\n\n currency: dict('currency'),\n};\n","import { Registers } from '@factorin/domain';\n\nimport { withUrl, ItemRequest, patch, list } from '../rest';\nimport { RegisterListRequest } from './registers';\n\n\nconst discountRegistersPart = withUrl('discountregisters');\n\nexport const discountRegisters = {\n ...list(\n discountRegistersPart(),\n ),\n cancel: patch(\n ({ id }) => discountRegistersPart({\n path: `${id}/cancel`,\n }),\n ),\n};\n","import { Discounts } from '@factorin/domain';\n\nimport { withUrl, list } from '../rest';\n\n\nconst discountsPart = withUrl('discounts');\n\nexport const discounts = {\n list: list(discountsPart()).list,\n};\n","import { Supplies } from '@factorin/domain';\n\nimport { withUrl, patch, list } from '../rest';\n\n\ntype PatchDiscountSupplies = {\n uids: Supplies.DiscountDraftSupply['Uid'][];\n confirm: boolean;\n}\n\nconst discountSuppliesPart = withUrl('discountsupplies');\nexport const discountSupplies = {\n ...list(discountSuppliesPart()),\n confirm: patch(\n ({ uids, confirm }) => discountSuppliesPart({\n body: {\n Confirm: confirm,\n Uids: uids,\n },\n }),\n ),\n};\n","import { Discounts } from '@factorin/domain';\n\nimport { withUrl, list } from '../rest';\n\n\nconst discountSupplyRawsPart = withUrl('discountsupplyraws');\n\nexport const discountSupplyRaws = {\n list: list(discountSupplyRawsPart()).list,\n};\n","import { Common, Documents, Pagination } from '@factorin/domain';\n\nimport { get, post, withUrl, list, Request } from '../rest';\n\n\ntype Download =\n Request.DownloadProgress &\n Request.Cancel & {\n id: string;\n };\n\ntype Upload =\n Request.Query &\n Request.UploadProgress &\n Request.Cancel & {\n data: any;\n };\n\ntype UploadWarrant = Upload & {\n registerUid: string;\n}\n\ntype RegistersHashRequest = {\n registerUids: string[];\n hashAlgorithm: string;\n base64?: boolean;\n};\n\ntype RegisterForSignResponse = {\n RegisterUid: string;\n DocumentForSignUid: string;\n Hash: string;\n};\n\ntype RegistersHashResponse = RegisterForSignResponse[];\n\ntype DocumentHashRequest = {\n documentId: string;\n hashAlgorithm: string;\n base64?: boolean;\n};\n\ntype DocumentForSignResponse = {\n DocumentId: number;\n Hash: string;\n};\n\ninterface DocumentListRequest extends Pagination.Request {\n id?: number;\n number?: string;\n dateRange?: Common.DateRange;\n documentTypeCode?: string;\n}\n\ntype ProtocolRequest =\n Request.DownloadProgress &\n Request.Cancel & {\n id: string;\n };\n\nconst documentsPart = withUrl('documents');\n\nexport const documents = {\n ...list(documentsPart()),\n\n download: get(\n ({ id, ...request }) => documentsPart({\n path: `${id}/download`,\n responseType: 'blob',\n ...request,\n }),\n ),\n\n upload: post(\n ({ data, ...request }) => documentsPart({\n path: 'upload',\n contentType: 'multipart/form-data',\n body: data,\n ...request,\n }),\n ),\n\n uploadWarrant: post(\n ({ data, registerUid, ...request }) => documentsPart({\n path: 'uploadwarrant',\n query: {\n registerUid,\n },\n contentType: 'multipart/form-data',\n body: data,\n ...request,\n }),\n ),\n\n registerHashes: get(\n ({ registerUids, hashAlgorithm, base64 = false }) => documentsPart({\n path: 'hashes',\n query: {\n hashAlgorithm,\n registerUids,\n base64,\n },\n }),\n ),\n\n documentHash: get(\n ({ documentId, hashAlgorithm, base64 = false }) => documentsPart({\n path: 'hashes',\n query: {\n hashAlgorithm,\n documentId,\n base64,\n },\n }),\n ),\n\n downloadProtocol: get(\n ({ id, ...request }) => documentsPart({\n path: `${id}/protocol/download`,\n responseType: 'blob',\n ...request,\n }),\n ),\n};\n","import { Factoring, Pagination, Common } from '@factorin/domain';\n\nimport { withUrl, list, get, ItemRequest } from '../rest';\n\n\ninterface FactoringAgreementListRequest extends Pagination.Request {\n clientUid?: string;\n clientINN?: string;\n clientSignDateRange?: Common.DateRange;\n factorUid?: string;\n factorINN?: string;\n factorSignDateRange?: Common.DateRange;\n supplyAgreementUid?: string;\n number?: string;\n dateRange?: Common.DateRange;\n code?: string;\n uid?: string;\n}\n\nconst factoringAgreementsPart = withUrl('factoringagreements');\nexport const factoringagreements = {\n ...list(factoringAgreementsPart()),\n getByOrder: get(\n ({ id }) => factoringAgreementsPart({\n path: 'byorderagreement',\n query: {\n orderAgreementUid: id,\n },\n }),\n ),\n};\n","import { FundingRequests } from '@factorin/domain';\n\nimport { withUrl, list } from '../rest';\n\n\nconst fundingrequestsPart = withUrl('fundingrequests');\nconst fundingrequestsrawsPart = withUrl('fundingrequestsraws');\n\nexport const fundingrequests = {\n ...list(fundingrequestsPart()),\n};\n\nexport const fundingrequestsraws = {\n ...list(fundingrequestsrawsPart()),\n};\n","import { Individuals } from '@factorin/domain';\n\nimport { withUrl, readUpdate } from '../rest';\n\n\nconst individualsPart = withUrl('individuals');\n\nexport const individuals = readUpdate(individualsPart());\n","import { Members } from '@factorin/domain';\n\nimport { get, post, put, withUrl, Request, ItemRequest } from '../rest';\n\n\ntype FillBalanceRequest = ItemRequest & { amount: number };\n\nconst membersPart = withUrl('members');\n\nexport const members = {\n list: get(\n () => membersPart(),\n ),\n item: get(\n ({ id }) => membersPart({\n path: `${id}`,\n }),\n ),\n\n create: post(\n ({ body }) => membersPart({ body }),\n ),\n update: put(\n ({ body }) => membersPart({ body }),\n ),\n\n roles: get(\n () => membersPart({ path: 'roles' }),\n ),\n\n fillBalance: post(\n ({ id, amount }) => membersPart({\n path: `${id}/fillBalance`,\n body: { amount },\n }),\n ),\n\n updateBox: put(\n ({ id }) => membersPart({\n path: `${id}/updatebox`,\n }),\n ),\n};\n","import { Monitorings } from '@factorin/domain';\n\nimport { get, withUrl } from '../rest';\n\n\nconst monitoringPart = withUrl('monitoring');\n\nexport const monitoring = {\n list: get(\n () => monitoringPart(),\n ),\n};\n","import { Notifications } from '@factorin/domain';\n\nimport { get, list, withUrl, ItemRequest } from '../rest';\n\n\nconst noticeOfCessionPart = withUrl('noticeofcession');\n\nexport const noticeOfCession = {\n ...list(noticeOfCessionPart()),\n getByRegister: get(\n ({ id }) => noticeOfCessionPart({\n path: 'byregister',\n query: {\n registerUid: id,\n },\n }),\n ),\n};\n","import { SupplyRaws } from '@factorin/domain';\n\nimport { withUrl, list } from '../rest';\n\n\nconst paymentDistributionRawsPart = withUrl('paymentdistributionraws');\n\nexport const paymentDistributionRaws = {\n list: list(paymentDistributionRawsPart()).list,\n};\n","import { Permissions, Pagination } from '@factorin/domain';\n\nimport { withUrl, list, Request, post, put, remove, ItemRequest } from '../rest';\n\n\nexport type PermissionGroupBody = {\n Name: string;\n}\n\nexport type PermissionsIds = {\n permissionIds: string[];\n}\n\nconst permissionGroupsPart = withUrl('permissionGroups');\n\nexport const permissionGroups = {\n ...list(permissionGroupsPart()),\n\n create: post, void>(\n ({ body }) => permissionGroupsPart({\n body,\n }),\n ),\n\n addPermission: put(\n ({ id, permissionIds }) => permissionGroupsPart({\n path: `${id}/permissions`,\n query: { permissionIds },\n }),\n ),\n removePermission: remove(\n ({ id, permissionIds }) => permissionGroupsPart({\n path: `${id}/permissions`,\n query: { permissionIds },\n }),\n ),\n};\n","import { Permissions, Pagination } from '@factorin/domain';\n\nimport { withUrl, list, Request, post } from '../rest';\n\n\nexport type PermissionBody = {\n Name: string;\n Type: string;\n}\n\nconst permissionsPart = withUrl('permissions');\n\nexport const permissions = {\n ...list(permissionsPart()),\n\n create: post, void>(\n ({ body }) => permissionsPart({\n body,\n }),\n ),\n};\n","import { Permissions, Pagination } from '@factorin/domain';\n\nimport { withUrl, list, put, remove, ItemRequest } from '../rest';\n\n\nexport type permissionGroupBody = {\n Name: string;\n}\n\ntype PermissionsIds = {\n permissionIds: string[];\n}\n\nexport type PermissionGroupsIds = {\n permissionGroupIds: string[];\n}\n\nexport type NewPassword = {\n NewPassword: string;\n}\n\nconst usersPart = withUrl('users');\n\nexport const users = {\n ...list(usersPart()),\n\n addPermission: put(\n ({ id, permissionIds }) => usersPart({\n path: `${id}/permissions`,\n body: permissionIds,\n }),\n ),\n removePermission: remove(\n ({ id, permissionIds }) => usersPart({\n path: `${id}/permissions`,\n query: { permissionIds },\n }),\n ),\n\n addPermissionGroup: put(\n ({ id, permissionGroupIds }) => usersPart({\n path: `${id}/permissiongroups`,\n query: { permissionGroupIds },\n }),\n ),\n removePermissionGroup: remove(\n ({ id, permissionGroupIds }) => usersPart({\n path: `${id}/permissiongroups`,\n query: { permissionGroupIds },\n }),\n ),\n\n changePassword: put(\n ({ id, NewPassword }) => usersPart({\n path: `${id}/password`,\n body: { NewPassword },\n }),\n ),\n\n resetPassword: put(\n ({ id }) => usersPart({\n path: `${id}/password/reset`,\n }),\n ),\n\n unblock: put(\n ({ id }) => usersPart({\n path: `${id}/unblock`,\n }),\n ),\n};\n","import { User } from '@factorin/domain';\n\nimport { get, withUrl, patch } from '../rest';\n\n\ninterface ChangePasswordRequest {\n newpassword: string;\n oldpassword: string;\n}\n\nconst profilePart = withUrl('profile');\n\nexport const profile = {\n userInfo: get(profilePart),\n\n changePassword: patch(\n ({ newpassword, oldpassword }) => profilePart({\n body: {\n newpassword,\n oldpassword,\n },\n }),\n ),\n\n roles: get(\n () => profilePart({\n path: 'roles',\n }),\n ),\n\n individualInfo: get(\n () => profilePart({\n path: 'individual',\n }),\n ),\n};\n","import { Registers, Common, Pagination } from '@factorin/domain';\n\nimport { get, patch, post, withUrl, list, Request, ItemRequest } from '../rest';\n\n\nexport type ChangeRegisterStageRequest = {\n Stage: string;\n}\n\nexport interface CessionsFinanceRequest {\n cessionsUids: string[];\n finance: boolean;\n}\n\nexport interface CessionsFinanceResponse {\n RegisterFinancedUid?: string;\n RegisterNonFinancedUid?: string;\n}\n\ntype Download =\n Request.DownloadProgress &\n Request.Cancel &\n ItemRequest;\n\ntype DownloadExcel = Download & {\n registerType: 'r1' | 'r2';\n}\n\nexport interface RegisterListRequest extends Pagination.Request {\n clientORProviderUid?: string;\n clientORProviderINN?: string;\n debtorORBuyerUid?: string;\n debtorORBuyerINN?: string;\n factorUid?: string;\n factorINN?: string;\n number?: string;\n isSignAllowed?: boolean;\n isClientSignAllowed?: boolean;\n isFactorSignAllowed?: boolean;\n createDateRange?: Common.DateRange;\n clientORProviderSignDateRange?: Common.DateRange;\n amount?: Common.DecimalRange;\n cessionAmount?: Common.DecimalRange;\n registerStatusName?: string;\n registerStatusCode?: string;\n registerStageName?: string;\n registerStageCode?: string;\n registerTemplateCode?: string;\n supplyAgreementDateRange?: Common.DateRange;\n factoringAgreementDateRange?: Common.DateRange;\n registerStatusMask?: number;\n registerStageMask?: number;\n registerTemplateMask?: number;\n registerStartDate?: Date;\n registerEndDate?: Date;\n parentUid?: string;\n}\n\ntype ValidateBySource = {\n uid: string;\n isOk: boolean;\n};\n\ntype ColumnsFields = {\n Field: string;\n ColumnText: string;\n}\n\ninterface DownloadExcelRequest extends RegisterListRequest {\n columnItems: ColumnsFields[];\n}\n\ninterface NoticeRequest {\n RegisterFinancedUid: string;\n AccountUid: string;\n}\n\ninterface NoticeResponse {\n RegisterNoticeOfCessUid: string;\n}\n\nconst registersPart = withUrl('registers');\n\nexport const registers = {\n ...list(registersPart()),\n\n downloadExcel: get(\n ({ id, registerType, ...request }) => registersPart({\n path: `${id}/${registerType}downloadexcel`,\n responseType: 'blob',\n ...request,\n }),\n ),\n\n download: get(\n ({ id, ...request }) => registersPart({\n path: `${id}/zip`,\n responseType: 'blob',\n ...request,\n }),\n ),\n\n acknowledge: patch(\n ({ id }) => registersPart({\n path: `${id}`,\n body: {\n Stage: 'acknowledge',\n },\n }),\n ),\n\n validateBySource: patch(\n ({ uid, isOk }) => registersPart({\n path: `${uid}/validatebysource`,\n body: isOk,\n }),\n ),\n\n changeStage: patch, void>(\n ({ id, body }) => registersPart({\n path: `${id}`,\n body,\n }),\n ),\n\n finance: patch(\n ({ id, cessionsUids, finance }) => registersPart({\n path: `${id}/finance`,\n body: {\n Finance: finance,\n CessionsUids: cessionsUids,\n },\n }),\n ),\n\n downloadRegistersInExcel: post>(\n ({ body, ...request }) => registersPart({\n path: 'excel/download',\n responseType: 'blob',\n body,\n ...request,\n }),\n ),\n\n notice: post, NoticeResponse>(\n ({ body }) => registersPart({\n path: 'notice',\n body,\n }),\n ),\n};\n","import { get, withUrl, Request } from '../rest';\n\n\nconst registrationPart = withUrl('registration');\n\nexport const registration = {\n confirm: get(\n ({ query }) => registrationPart({\n path: 'confirm',\n query,\n }),\n ),\n};\n","import { Pagination, Reports } from '@factorin/domain';\n\nimport { withUrl, list, post, Request } from '../rest';\n\n\ntype CreateReport = {\n ReportTypeCode: string;\n ReportSettings: Reports.ReportSetting[];\n}\n\nconst reportsPart = withUrl('reports');\n\nexport const reports = {\n ...list(reportsPart()),\n\n create: post, void>(\n ({ body }) => reportsPart({\n body,\n }),\n ),\n};\n","import { Warrants } from '@factorin/domain';\n\nimport { get, post, withUrl, Request } from '../rest';\n\n\ntype Download =\n Request.DownloadProgress &\n Request.Cancel & {\n id: string;\n };\n\ntype WarrantRequest = Pick;\n\ntype CreateSign = {\n DocumentForSignUid: string;\n Signature: string;\n WarrantRequest: WarrantRequest;\n}\n\ntype RelatedSignRequest = {\n parentSignature: CreateSign;\n childSignatures: CreateSign[];\n}\n\ntype MultiSignRequest = {\n signatures: CreateSign[];\n}\n\nconst signsPart = withUrl('signs');\nconst multiSignsPart = withUrl('multiSigns');\n\nexport const signs = {\n download: get(\n ({ id, ...request }) => signsPart({\n path: `${id}`,\n responseType: 'blob',\n ...request,\n }),\n ),\n\n create: post(\n data => signsPart({\n body: data,\n }),\n ),\n\n relatedSigns: post(\n ({ parentSignature, childSignatures }) => multiSignsPart({\n body: {\n ParentSignature: parentSignature,\n ChildSignatures: childSignatures,\n },\n }),\n ),\n\n multiSigns: post(\n ({ signatures }) => signsPart({\n path: 'list',\n body: {\n Signatures: signatures,\n },\n }),\n ),\n};\n","import { Supplies, Pagination, Common } from '@factorin/domain';\n\nimport { withUrl, list, patch } from '../rest';\n\n\ninterface SupplyListRequest extends Pagination.Request {\n registerUid?: string;\n baseDateRange?: Common.DateRange;\n providerUid?: string;\n providerINN?: string;\n buyerUid?: string;\n buyerINN?: string;\n supplyAgreementNumber?: string;\n primaryDocumentDateRange?: Common.DateRange;\n amount?: Common.DecimalRange;\n cessionAmount?: Common.DecimalRange;\n}\n\nexport interface SupplyConfirmReject {\n registerUid: string;\n supplyUids: string[];\n confirm: boolean;\n reasonUid?: string;\n comment?: string;\n}\n\nconst suppliesPart = withUrl('supplies');\nexport const supplies = {\n ...list(suppliesPart()),\n\n confirm: patch(\n ({ registerUid, supplyUids, reasonUid, confirm, comment = '' }) => suppliesPart({\n query: {\n registerUid,\n },\n body: {\n Confirm: confirm,\n ReasonUid: reasonUid,\n Comment: comment,\n SupplyUids: supplyUids,\n },\n }),\n ),\n};\n","import { SupplyRaws, Pagination } from '@factorin/domain';\n\nimport { withUrl, list } from '../rest';\n\n\ninterface SupplyRawListRequest extends Pagination.Request {\n batchUId?: string;\n supplyNumber?: string;\n additionalSupplyNumber?: string;\n}\n\nconst cessionRawsPart = withUrl('supplyraws');\n\nexport const supplyraws = list(cessionRawsPart());\n","import { withUrl, get } from '../rest';\n\n\nconst systemPart = withUrl('system');\n\nexport const system = {\n info: get(\n () => systemPart({\n path: 'info',\n }),\n ),\n};\n","import { SystemConfigurations } from '@factorin/domain';\n\nimport { get, put, withUrl, Request } from '../rest';\n\n\nconst systemConfigurationPart = withUrl('systemConfiguration');\n\nexport const systemConfiguration = {\n list: get(\n () => systemConfigurationPart(),\n ),\n put: put(\n ({ body }) => systemConfigurationPart({\n body,\n }),\n ),\n};\n","import { Warrants } from '@factorin/domain';\n\nimport { withUrl, list } from '../rest';\n\n\nconst warrantsPart = withUrl('warrant-templates');\n\nexport const warrants = {\n list: list(warrantsPart()).list,\n};\n","import { Pagination } from '@factorin/domain';\n\nimport { withUrl, list } from '../rest';\n\n\nexport interface SystemNotification {\n Uid: string;\n NotificationText: string;\n}\n\nconst permissionsPart = withUrl('systemnotifications');\n\nexport const systemNotifications = {\n list: list(permissionsPart()).list,\n};\n","// extracted by mini-css-extract-plugin\nmodule.exports = {\"infoIcon\":\"common_infoIcon__13kfR\",\"errorIcon\":\"common_errorIcon__2KAAW\",\"resultLiteIcon\":\"common_resultLiteIcon__k4Ls3\",\"buttons\":\"common_buttons__2pe0i\",\"button\":\"common_button__3eCPd\",\"description\":\"common_description__2leZt\",\"error\":\"common_error__d9p_i\"};","// extracted by mini-css-extract-plugin\nmodule.exports = {\"infoIcon\":\"common_infoIcon__1_D0m\",\"errorIcon\":\"common_errorIcon__9ntcd\",\"resultLiteIcon\":\"common_resultLiteIcon__2tLiI\",\"buttons\":\"common_buttons__3Bwba\",\"button\":\"common_button__2CKsf\",\"description\":\"common_description__25mmm\",\"error\":\"common_error__30x5-\"};","// extracted by mini-css-extract-plugin\nmodule.exports = {\"modal\":\"ClientOfficeModal_modal__3KEAf\",\"standardSizeModal\":\"ClientOfficeModal_standardSizeModal__36VzJ\",\"title\":\"ClientOfficeModal_title__AjsqX\",\"buttons\":\"ClientOfficeModal_buttons__3BiEp\"};","import { ComponentType } from 'react';\n\nimport { ErrorDefinition } from './FormField';\n\n\nconst errors = {\n required: () =>\n 'Заполните поле',\n\n email: () =>\n 'Введите email',\n\n alphanumeric: () =>\n 'Допустимы только буквенно-цифровые символы на латинице',\n\n cyralphanumeric: () =>\n 'Допустимы только буквенно-цифровые символы',\n\n surnameNameMiddlename: () =>\n 'Неверный формат имени',\n\n sample: () =>\n 'Значения не совпадают',\n\n nospace: () =>\n 'Значение не должно содержать символов пробела',\n\n min: ({ min }: { min: number }) =>\n `Длина не должна быть меньше ${min} символов`,\n\n max: ({ max }: { max: number }) =>\n `Длина не должна превышать ${max} символов`,\n\n nummin: ({ min }: { min: number }) =>\n `Значение не должно быть меньше ${min}`,\n\n nummax: ({ max }: { max: number }) =>\n `Значение не должно превышать ${max}`,\n integer: () =>\n 'Значение должно быть целым числом',\n finite: () =>\n 'Значение должно быть числом',\n specSymbols: () =>\n 'Должен быть, как минимум, один из спец. символов ?!@%#',\n upperCase: () =>\n 'Должна быть, как минимум, одна заглавная буква',\n digital: () =>\n 'Должна быть, как минимум, одна цифра',\n incorrectDate: () =>\n 'Даты заполнены некорректно, измените значение',\n};\n\nexport type ErrorRendererProps = { error: ErrorDefinition };\n\nexport const errorRenderer: ComponentType =\n ({ error }) => error && errors[error.key](error.values);\n","var _path;\n\nvar _excluded = [\"title\", \"titleId\"];\n\nfunction _extends() { _extends = Object.assign || function (target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i]; for (var key in source) { if (Object.prototype.hasOwnProperty.call(source, key)) { target[key] = source[key]; } } } return target; }; return _extends.apply(this, arguments); }\n\nfunction _objectWithoutProperties(source, excluded) { if (source == null) return {}; var target = _objectWithoutPropertiesLoose(source, excluded); var key, i; if (Object.getOwnPropertySymbols) { var sourceSymbolKeys = Object.getOwnPropertySymbols(source); for (i = 0; i < sourceSymbolKeys.length; i++) { key = sourceSymbolKeys[i]; if (excluded.indexOf(key) >= 0) continue; if (!Object.prototype.propertyIsEnumerable.call(source, key)) continue; target[key] = source[key]; } } return target; }\n\nfunction _objectWithoutPropertiesLoose(source, excluded) { if (source == null) return {}; var target = {}; var sourceKeys = Object.keys(source); var key, i; for (i = 0; i < sourceKeys.length; i++) { key = sourceKeys[i]; if (excluded.indexOf(key) >= 0) continue; target[key] = source[key]; } return target; }\n\nimport * as React from \"react\";\n\nfunction SvgShow(_ref, svgRef) {\n var title = _ref.title,\n titleId = _ref.titleId,\n props = _objectWithoutProperties(_ref, _excluded);\n\n return /*#__PURE__*/React.createElement(\"svg\", _extends({\n viewBox: \"0 0 56 56\",\n xmlns: \"http://www.w3.org/2000/svg\",\n ref: svgRef,\n \"aria-labelledby\": titleId\n }, props), title ? /*#__PURE__*/React.createElement(\"title\", {\n id: titleId\n }, title) : null, _path || (_path = /*#__PURE__*/React.createElement(\"path\", {\n d: \"m28 10.5c-11.67 0-21.63 7.257-25.67 17.5 4.037 10.24 14 17.5 25.67 17.5s21.63-7.257 25.67-17.5c-4.037-10.24-14-17.5-25.67-17.5zm0 29.17c-6.44 0-11.67-5.227-11.67-11.67s5.227-11.67 11.67-11.67 11.67 5.227 11.67 11.67-5.227 11.67-11.67 11.67zm0-18.67c-3.873 0-7 3.127-7 7s3.127 7 7 7 7-3.127 7-7-3.127-7-7-7z\",\n fillRule: \"evenodd\"\n })));\n}\n\nvar ForwardRef = /*#__PURE__*/React.forwardRef(SvgShow);\nexport default \"data:image/svg+xml,%3csvg version='1.1' viewBox='0 0 56 56' xmlns='http://www.w3.org/2000/svg'%3e %3cpath d='m28 10.5c-11.67 0-21.63 7.257-25.67 17.5 4.037 10.24 14 17.5 25.67 17.5s21.63-7.257 25.67-17.5c-4.037-10.24-14-17.5-25.67-17.5zm0 29.17c-6.44 0-11.67-5.227-11.67-11.67s5.227-11.67 11.67-11.67 11.67 5.227 11.67 11.67-5.227 11.67-11.67 11.67zm0-18.67c-3.873 0-7 3.127-7 7s3.127 7 7 7 7-3.127 7-7-3.127-7-7-7z' fill-rule='evenodd'/%3e %3c/svg%3e\";\nexport { ForwardRef as ReactComponent };","import fp from 'lodash/fp';\nimport React, { useMemo } from 'react';\nimport { FormSpyRenderProps } from 'react-final-form';\nimport { forms } from '@factorin/container.macro';\n\nimport { Text, cn, ClassName } from 'Modules/ui';\n\nimport styles from './index.module.scss';\n\n\nconst finalFormArrayError = 'FINAL_FORM/array-error';\n\n\ninterface ArrayErrorsComponentProps extends FormSpyRenderProps, ClassName {\n errorKeys: string[];\n}\n\nexport const ArrayErrorsComponent: React.FC = React.memo(({\n errors,\n errorKeys,\n className,\n}) => {\n const error = useMemo(\n () => fp.pipe(\n fp.map((key:string) => fp.get(key, errors)),\n fp.map(fp.get(finalFormArrayError)),\n fp.compact,\n fp.first,\n )(errorKeys),\n [errors, errorKeys],\n );\n return (\n \n {error && }\n \n );\n});\n","import fp from 'lodash/fp';\nimport React, { ComponentType, CSSProperties, ReactChildren, useState } from 'react';\nimport { FieldRenderProps, FieldMetaState } from 'react-final-form';\nimport { forms } from '@factorin/container.macro';\nimport { checkINN, checkSnils } from 'ru-validation-codes';\nimport isKpp from 'is-kpp-js';\nimport { differenceInCalendarDays, differenceInMinutes } from 'date-fns';\nimport { formatDate, formatDateTime } from '@factorin/util/lib';\n\nimport { cn, withClassName, Forbid, ClassName } from 'Modules/ui';\nimport { FormControlBase } from 'Modules/ui2/components';\n\nimport { ReactComponent as ShowIcon } from './show.svg';\nimport styles from './index.module.scss';\n\n\ntype FieldProps = {\n style?: CSSProperties;\n classNames?: {\n container?: string;\n wrapper?: string;\n error?: string;\n label?: string;\n isFocused?: string;\n isValid?: string;\n hasError?: string;\n pristine?: string;\n isRequired?: string;\n };\n};\n\ntype FormFieldProps = {\n label?: React.ReactNode;\n field?: FieldProps;\n};\n\ntype AllFormFieldProps = FieldRenderProps & FormFieldProps;\n\ntype ComponentProps = ClassName & {\n name?: string;\n onBlur?: (event: React.FocusEvent) => void;\n onChange?: (event: React.ChangeEvent | any) => void;\n onFocus?: (event: React.FocusEvent) => void;\n value?: any;\n}\n\nexport const withFormField = (\n Component: ComponentType>,\n): ComponentType =>\n class extends React.PureComponent {\n state = {\n focused: false,\n };\n\n onBlur = (e: React.FocusEvent) => this.setState({\n focused: false,\n }, () => this.props.input.onBlur(e));\n\n onFocus = (e: React.FocusEvent) => this.setState({\n focused: true,\n }, () => this.props.input.onFocus(e));\n\n render() {\n const {\n field: { classNames = {}, style } = {} as FieldProps,\n meta: { touched, error, pristine } = {} as FieldMetaState,\n input, label, ...props\n } = this.props;\n\n const componentProps = {\n ...props,\n ...input,\n onFocus: this.onFocus,\n onBlur: this.onBlur,\n } as PComponent;\n\n return (\n \n {label && (\n \n )}\n
    \n \n
    \n {touched && error && !pristine && (\n \n {fp.isString(error) ? error : }\n \n )}\n
    \n );\n }\n };\n\nexport const TextAreaField = withFormField(\n withClassName(styles.textarea, 'textarea'),\n);\n\ninterface InputWithIcon {\n icon?: ReactChildren;\n}\n\nexport type InputFieldProps = JSX.IntrinsicElements['input'] & InputWithIcon;\n\nexport const InputField = withFormField(\n withClassName(styles.input, ({ icon: Icon, ...props }) => Icon\n ? (\n
    \n \n {Icon}\n
    \n ) : ),\n);\n\nexport const PasswordField = withFormField(\n withClassName(styles.input, props => {\n const [show, setShow] = useState(false);\n return (\n
    \n \n setShow(!show)}\n />\n
    \n );\n }),\n);\n\nexport type ErrorDefinition = {\n key: string;\n values?: {\n [key: string]: any;\n };\n};\n\nexport type Validator = (value: TValue) => ErrorDefinition | undefined;\n\nexport const getError = (\n error: string | ErrorDefinition,\n checker: (value: TValue) => boolean,\n): Validator => fp.pipe(\n checker,\n (valid: boolean) => valid\n ? undefined\n : fp.isString(error)\n ? { key: error }\n : error,\n);\n\nconst emailRegex = /^[a-zA-Z0-9.!#$%&'*+/=?^_`{|}~-]+@[a-zA-Z0-9-]+\\.[a-zA-Z0-9-](?:[a-zA-Z0-9-]{0,61}[a-zA-Z0-9])?(?:\\.[a-zA-Z0-9](?:[a-zA-Z0-9-]{0,61}[a-zA-Z0-9])?)*$/;\n\nconst emailsRegex = /^([a-zA-Z0-9.!#$%&'*+/=?^_`{|}~-]+@[a-zA-Z0-9-]+\\.[a-zA-Z0-9-](?:[a-zA-Z0-9-]{0,61}[a-zA-Z0-9])?(?:\\.[a-zA-Z0-9](?:[a-zA-Z0-9-]{0,61}[a-zA-Z0-9])?)*,?)+$/;\n\nconst loginRegex = /^(([a-zA-Z0-9.+_-]+@[a-zA-Z0-9](?:[a-zA-Z0-9-]{0,61}[a-zA-Z0-9])?(?:\\.[a-zA-Z0-9](?:[a-zA-Z0-9-]{0,61}[a-zA-Z0-9])?)*)|([a-zA-Z0-9.+_-]{5,50}))$/;\n\nconst fioChecker = fp.pipe(\n fp.defaultTo(''),\n fp.split(' '),\n fp.filter(fp.identity),\n fp.get('length'),\n count => count > 1,\n);\n\ntype NumberFormatter = (value: number) => string;\n\nconst defaultValidators = {\n pipe: (...args: Validator[]): Validator => (value: any) => fp.pipe(\n fp.map((arg: Validator) => arg(value)),\n fp.filter(fp.identity),\n fp.first,\n )(args),\n\n required: getError('required', value => !!value || fp.isNumber(value)),\n requiredKey: (errorKey: string) => getError(errorKey, value => !!value || fp.isNumber(value)),\n requiredArray: getError('required', (value: Array) => !!value || Array.isArray(value) ? value.length > 0 : false),\n\n is: {\n inn: getError({ key: 'inn' }, value => !value || checkINN(value)),\n\n snils: getError({ key: 'snils' }, checkSnils),\n\n kpp: getError({ key: 'kpp' }, isKpp),\n\n login: getError('login', value => loginRegex.test(value)),\n\n email: getError('email', value => emailRegex.test(value)),\n\n emails: getError('email', value => emailsRegex.test(value)),\n\n surnameNameMiddlename: getError(\n 'surnameNameMiddlename',\n fioChecker,\n ),\n\n contactFIO: getError(\n 'fioMinTwoPart',\n fioChecker,\n ),\n\n integer: getError('integer', value => !value || fp.isInteger(+value)),\n\n finite: getError('finite', value => !value || /^[0-9]*(,|\\.|)[0-9]*$/gm.test(value)),\n\n phone: (mask: string) => getError(\n { key: 'phone' },\n value => value && value.length === mask.length,\n ),\n\n },\n\n eq: (sample: TValue): Validator =>\n getError({ key: 'sample' }, fp.equals(sample)),\n\n has: {\n nospace: getError({ key: 'nospace' }, value => !(/\\s/).test(value)),\n upperCase: getError('upperCase', value => /[A-ZА-Я]/.test(value)),\n digital: getError('digital', value => /\\d/.test(value)),\n specSymbols: getError('specSymbols', value => /[?!@%#]/.test(value)),\n notSpecSymbols: getError('noSpecSymbols', value => !/[?!@%#]/.test(value)),\n },\n\n number: {\n min: (min: number, formatter?: NumberFormatter) => getError(\n { key: 'nummin', values: { min: formatter ? formatter(min) : min } },\n value => {\n if (min && (value || typeof value === 'number' && !Number.isNaN(value)))\n return fp.lte(min, value);\n return true;\n },\n ),\n\n max: (max: number, formatter?: NumberFormatter) => getError(\n { key: 'nummax', values: { max: formatter ? formatter(max) : max } },\n value => {\n if (max && (value || typeof value === 'number' && !Number.isNaN(value)))\n return fp.gte(max, value);\n return true;\n },\n ),\n },\n date: {\n min: (min: Date, equal?: boolean) => getError(\n { key: equal ? 'dateminEqual' : 'datemin', values: { min: formatDate(min) } },\n (value: Date) => {\n const diff = differenceInCalendarDays(value, min);\n if (min && value)\n return equal ? diff >= 0 : diff > 0;\n return true;\n },\n ),\n max: (max: Date, equal?: boolean) => getError(\n { key: equal ? 'datemaxEqual' : 'datemax', values: { max: formatDate(max) } },\n (value: Date) => {\n const diff = differenceInCalendarDays(value, max);\n if (max && value)\n return equal ? diff <= 0 : diff < 0;\n return true;\n },\n ),\n },\n\n dateTime: {\n min: (min: Date, equal?: boolean) => getError(\n { key: equal ? 'dateminEqual' : 'datemin', values: { min: formatDateTime(min) } },\n (value: Date) => {\n const diff = differenceInMinutes(value, min);\n if (min && value)\n return equal ? diff >= 0 : diff > 0;\n return true;\n },\n ),\n max: (max: Date, equal?: boolean) => getError(\n { key: equal ? 'datemaxEqual' : 'datemax', values: { max: formatDateTime(max) } },\n (value: Date) => {\n const diff = differenceInMinutes(value, max);\n if (max && value)\n return equal ? diff <= 0 : diff < 0;\n return true;\n },\n ),\n },\n\n length: {\n min: (min: number) => getError(\n { key: 'min', values: { min } },\n fp.pipe(fp.size, fp.lte(min)),\n ),\n\n max: (max: number) => getError(\n { key: 'max', values: { max } },\n fp.pipe(fp.size, fp.gte(max)),\n ),\n equal: (equal: number, key: string = 'equal') => getError(\n { key, values: { length: equal } },\n fp.pipe(fp.size, fp.eq(equal)),\n ),\n },\n};\n\nexport const validators = {\n ...defaultValidators,\n password: defaultValidators.pipe(\n defaultValidators.length.min(8),\n defaultValidators.has.specSymbols,\n defaultValidators.has.digital,\n defaultValidators.has.upperCase,\n ),\n};\n\nexport const wrapFormComponent = >(\n Component: ComponentType,\n): ComponentType & PComponent> =>\n ({ input, meta: { error, touched, active }, needInitialValidate, ...props }) => {\n const finalProps = {\n ...input,\n ...props,\n active,\n error: (touched || needInitialValidate) && error\n ? \n : null,\n } as PComponent;\n return (\n \n );\n };\n","import React, { FC, useCallback, useRef } from 'react';\nimport { castDate, formatDate } from '@factorin/util';\nimport { container } from '@factorin/container';\n\nimport { useTranslation } from 'Modules/core/i18n';\nimport { Omit, CalendarInputProps, CalendarInput, cn, Button, CalendarInputMethods } from 'Modules/ui';\n\nimport { withFormField } from '../FormField';\nimport styles from './index.module.scss';\n\n\nexport type TranslatedCalendarInputProps = Omit;\n\nconst buttonCaptions = {\n en: {\n reset: 'Reset',\n today: 'Today is',\n },\n ru: {\n reset: 'Очистить',\n today: 'Сегодня',\n },\n};\n\nexport const TranslatedCalendarInput: FC = ({\n className,\n value,\n onChange,\n children,\n name,\n ...props\n}) => {\n const { i18n } = useTranslation();\n const calendarInput = useRef();\n const reset = useCallback(\n () => {\n onChange(null);\n calendarInput.current.close();\n },\n [onChange],\n );\n const today = useCallback(\n () => {\n onChange(new Date());\n calendarInput.current.close();\n },\n [onChange],\n );\n return (\n \n \n \n \n );\n};\n\nexport const CalendarField = withFormField(TranslatedCalendarInput);\n","import React, { FC, ReactNode, useCallback } from 'react';\nimport { FieldRenderProps } from 'react-final-form';\n\nimport { Checkbox } from 'Modules/ui3/components/Checkbox';\nimport { CheckboxWithLabel, CheckboxWithLabelProps } from 'Modules/ui3/components/CheckboxWithLabel';\n\n\ntype CheckboxProps = Omit & {\n label?: ReactNode;\n}\n\nexport type CheckboxFieldProps = FieldRenderProps & CheckboxProps & {\n mutate?: (event) => void;\n};\n\nexport const CheckboxField: FC = ({\n input: { onChange, ...input },\n meta,\n mutate,\n label,\n ...props\n}) => {\n const onChangeMutate = useCallback(\n event => {\n onChange(event.target.checked);\n if (mutate)\n mutate(event.target.checked);\n },\n [mutate, onChange],\n );\n return label ? (\n \n ) : (\n \n );\n};\n","import React, { useCallback, FC } from 'react';\nimport { FieldRenderProps } from 'react-final-form';\n\nimport { Text, cn, ClassName } from 'Modules/ui';\n\nimport styles from './index.module.scss';\n\n\ntype RadioProps = ClassName & FieldRenderProps & {\n id: string;\n title: string;\n}\n\nexport const RadioField: FC = ({ id, input, title, className }) => (\n \n \n input.onChange(input.value),\n [input],\n )}\n />\n \n \n);\n","import { errorRenderer } from './components/errorRenderer';\n\n\nexport * from './components/ArrayErrorsComponent';\nexport * from './components/FormField';\nexport * from './components/CalendarField';\nexport type { TranslatedCalendarInputProps } from './components/CalendarField';\nexport * from './components/CheckboxField';\nexport * from './components/RadioField';\n\nexport const forms = {\n forms: {\n errorRenderer,\n },\n};\n","import fp from 'lodash/fp';\nimport { Dispatch, Reducer } from 'redux';\nimport { Common } from '@factorin/domain';\n\nimport { ActionPayload, Action, ActionReducer, ActionLookupReducer, StatePart } from '../types';\n\n\ntype Actions = {\n [action: string]: Action;\n}\n\nexport const prefixTypes = (\n prefix: string,\n types: TTypes,\n): TTypes => fp.mapValues(type => `${prefix}/${type}`, types) as TTypes;\n\nexport type ActionCreator =\n ($payload: TPayload) => { type: string, $payload?: TPayload };\n\nexport const createAction = (type: string): ActionCreator => Object.assign(\n ($payload: TPayload) => ({ type, $payload }),\n {\n toString: () => type,\n },\n);\n\ntype ActionWithPath = { type: string, path: string, $payload: TPayload };\n\nexport type ActionCreatorWithPath = {\n (path: string): ($payload: TPayload) => ActionWithPath;\n (path: string, $payload: TPayload): ActionWithPath;\n};\n\nexport const createActionWithPath =\n (type: string) => >(Object.assign(\n (path: string, $payload?: TPayload) => {\n if ($payload)\n return { type, path, $payload };\n return ($payload: TPayload): ActionWithPath =>\n ({ type, path, $payload });\n },\n {\n toString: () => type,\n },\n ));\n\nexport const lookupTableReducer = (\n defaultState: any,\n lookupTable: ActionLookupReducer,\n): Reducer =>\n (state = defaultState, { type, $payload, ...props }: ActionPayload) =>\n type in lookupTable\n ? lookupTable[type](state, $payload, props)\n : state;\n\nexport const reducePath = (reducer: ActionReducer): ActionReducer =>\n (state, $payload, { path, ...props }) => ({\n ...state,\n [path]: reducer(state[path], $payload, props),\n });\n\nexport const applyPath = (path: string, actions: Action[]) =>\n fp.mapValues(action => action(path), actions);\n\nexport const bindPathActions = (\n pathActions: Actions,\n actions: Actions = {},\n) =>\n (dispatch: Dispatch, { path }: { path: string }) => ({\n ...fp.mapValues(\n action => (...args: any[]) => dispatch(action(path, ...args)),\n pathActions,\n ),\n ...fp.mapValues(\n action => (...args: any[]) => dispatch(action(...args)),\n actions,\n ),\n });\n\nconst mapReducerParts = fp.pipe(\n fp.mapValues('reducer'),\n fp.pickBy(fp.identity),\n);\n\nconst mapSagasParts = fp.pipe(\n fp.mapValues('sagas'),\n fp.values,\n fp.filter(fp.identity),\n fp.flatten,\n);\n\nexport const mergeStateParts = (prefix: string, parts: Common.Catalog) => ({\n reducer: {\n [prefix]: mapReducerParts(parts),\n },\n sagas: mapSagasParts(parts),\n});\n\nexport const joinStateParts = (parts: Common.Catalog) => ({\n reducer: mapReducerParts(parts),\n sagas: mapSagasParts(parts),\n});\n\nconst createPrefixed = (\n type: string,\n prefixes: TPrefixes,\n actionCreator: (type: string) => TActionCreator,\n): Record => prefixes.reduce(\n (actions, prefix) => {\n actions[prefix as TPrefixes[number]] = actionCreator(`${type}.${prefix}`);\n return actions;\n },\n {} as Record,\n);\n\nexport const createActionNamespace = (namespace: string) => Object.assign(\n (type: string) => createAction(`${namespace}/${type}`),\n {\n withPrefixes: (...prefixes: TPrefixes) =>\n (type: string) => createPrefixed>(\n `${namespace}/${type}`, prefixes, createAction,\n ),\n withPath: Object.assign(\n (type: string) =>\n createActionWithPath(`${namespace}/${type}`),\n {\n withPrefixes: (...prefixes: TPrefixes) =>\n (type: string) =>\n createPrefixed>(\n `${namespace}/${type}`, prefixes, createActionWithPath,\n ),\n },\n ),\n },\n);\n","import React, { FC } from 'react';\nimport {\n FormControlLabelProps,\n FormControlLabel,\n} from '@mui/material';\n\nimport { Typography, TypographyProps } from '../Typography';\nimport { Checkbox, CheckboxProps } from '../Checkbox';\n\n\nexport type CheckboxWithLabelProps = Omit &\nCheckboxProps & {\n typographyProps?: TypographyProps;\n};\n\nexport const CheckboxWithLabel: FC = ({\n color,\n label,\n name,\n disabled,\n readOnly,\n required,\n typographyProps,\n size,\n sx,\n ...props\n}) => (\n \n {label}\n \n )}\n control={(\n \n )}\n disabled={disabled}\n sx={[\n {\n ml: 0,\n },\n ...Array.isArray(sx) ? sx : [sx],\n ]}\n {...props}\n />\n);\n","// extracted by mini-css-extract-plugin\nmodule.exports = {\"selector\":\"LanguageSelector_selector__1c7bW\",\"options\":\"LanguageSelector_options__1FVU8\",\"value\":\"LanguageSelector_value__smqxK\"};","import { createActionNamespace } from 'Modules/core/redux';\n\nimport { IParameters, IQueue, IRequest, IReceive, IDirtyByType } from './types';\n\n\nconst paginationAction = createActionNamespace('pagination');\n\nexport const paginationActions = {\n setParameters: paginationAction.withPath('SET_PARAMETERS'),\n setParametersThrottled: paginationAction.withPath('SET_PARAMETERS_THROTTLED'),\n setQueue: paginationAction.withPath('SET_QUEUE'),\n setTotal: paginationAction.withPath('SET_TOTAL'),\n markDirty: paginationAction.withPath('MARK_DIRTY'),\n request: paginationAction.withPath('REQUEST'),\n requestRefresh: paginationAction.withPath('REQUEST_REFRESH'),\n linkQueue: paginationAction.withPath('LINK_QUEUE'),\n receive: paginationAction.withPath('RECEIVE'),\n receiveRefresh: paginationAction.withPath('RECEIVE_REFRESH'),\n massMarkDirty: paginationAction('MASS_MARK_DIRTY'),\n markDirtyByType: paginationAction('MARK_DIRTY_BY_TYPE'),\n setError: paginationAction.withPath('SET_ERROR'),\n refresh: paginationAction.withPath<{}>('REFRESH'),\n reducerRefresh: paginationAction.withPath<{}>('REDUCER_REFRESH'),\n massRefresh: paginationAction('MASS_REFRESH'),\n};\n","import fp from 'lodash/fp';\n\nimport { lookupTableReducer, reducePath } from 'Modules/core/redux';\n\nimport { paginationActions } from './actions';\n\n\nconst defaultPathState = {\n parameters: {\n filters: {},\n sorting: null,\n descending: false,\n },\n\n elements: {},\n total: undefined,\n\n dirty: false,\n error: '',\n\n queue: {},\n};\n\nconst actionLookup = {\n [paginationActions.setParameters]: reducePath((_, parameters) => ({\n ...defaultPathState,\n parameters,\n })),\n [paginationActions.setQueue]: reducePath((state, { start, stop, status }) => ({\n ...state,\n queue: {\n ...state.queue,\n [`${start}:${stop}`]: status,\n },\n })),\n [paginationActions.setTotal]: reducePath((state, total) => ({\n ...state,\n total,\n })),\n [paginationActions.markDirty]: reducePath((state, { dirty = true }) => ({\n ...state,\n dirty,\n })),\n [paginationActions.linkQueue]: reducePath((state, { start, stop }) => ({\n ...state,\n elements: {\n ...state.elements,\n ...fp.pipe(\n fp.map(i => ({ [i]: `${start}:${stop}` })),\n fp.reduce(fp.assign, {}),\n )(fp.range(start, stop)),\n },\n })),\n [paginationActions.receive]: reducePath((\n state,\n { elements, start, stop },\n ) => ({\n ...state,\n elements: {\n ...state.elements,\n ...fp.zipObject(\n fp.range(start, stop),\n fp.map(elem => elem.Uid || elem.Id || elem.id, elements),\n ),\n },\n })),\n [paginationActions.receiveRefresh]: reducePath((state, { elements, total, start, stop }) => ({\n ...state,\n total,\n dirty: false,\n elements: fp.zipObject(\n fp.range(start, stop),\n fp.map(elem => elem.Uid || elem.Id || elem.id, elements),\n ),\n })),\n [paginationActions.setError]: reducePath((state, error) => ({\n ...state,\n error,\n })),\n [paginationActions.massMarkDirty]: (state, basePath) => fp.pipe(\n fp.keys,\n fp.filter(fp.startsWith(basePath)),\n fp.map(path => ({\n [path]: {\n dirty: true,\n },\n })),\n fp.reduce(fp.merge, state),\n )(state),\n [paginationActions.reducerRefresh]: reducePath((state, $payload) =>\n fp.isEmpty($payload) ? {\n ...defaultPathState,\n parameters: state.parameters,\n } : {\n ...state,\n ...$payload,\n }),\n};\n\nexport const reducer = lookupTableReducer({}, actionLookup);\n","import { Common } from '@factorin/domain';\n\nimport { createActionNamespace } from 'Modules/core/redux';\n\nimport { IError, ISaveItem } from './types';\n\n\nconst storageAction = createActionNamespace('storage');\n\nexport const storageActions = {\n initialize: storageAction('INITIALIZE'),\n receive: storageAction.withPath('RECEIVE'),\n receiveWithUpdate: storageAction.withPath('RECEIVE_WITH_UPDATE'),\n setError: storageAction.withPath('SET_ERROR'),\n resetError: storageAction.withPath('RESET_ERROR'),\n loadItem: storageAction.withPath('LOAD_ITEM'),\n saveItem: storageAction.withPath('SAVE_ITEM'),\n};\n","import { put, takeEvery } from 'redux-saga/effects';\nimport { API } from '@factorin/container.macro';\n\nimport { apiCall } from 'Modules/core/api';\nimport { messagingActions } from 'Modules/core/messaging';\n\nimport { storageActions } from './actions';\n\n\nexport function* loadStorageItem({ path, $payload: id }) {\n try {\n const item = yield apiCall(API.domain[path].item, { id });\n yield put(storageActions.receive(path, { [id]: item }));\n return item;\n } catch (err) {\n yield put(storageActions.setError(path, { id, error: `${err}` }));\n yield put(\n messagingActions.showNotification({\n content: 'storage.getError',\n }),\n );\n return null;\n }\n}\n\nexport function* saveStorageItem({ path, $payload: { id, item } }) {\n try {\n yield apiCall(API.domain[path].update, { id, item });\n const updated = { ...item };\n yield put(storageActions.receive(path, { [id]: updated }));\n return updated;\n } catch (err) {\n yield put(storageActions.setError(path, { id, error: `${err}` }));\n yield put(\n messagingActions.showNotification({\n content: 'storage.saveError',\n }),\n );\n return null;\n }\n}\n\nexport function* initializeStorage() {\n yield put(storageActions.initialize());\n}\n\nexport const sagas = [\n takeEvery(`${storageActions.loadItem}`, loadStorageItem),\n takeEvery(`${storageActions.saveItem}`, saveStorageItem),\n];\n","export enum paginationStatuses {\n PENDING = 'PENDING',\n COMPLETE = 'COMPLETE',\n CANCELLED = 'CANCELLED',\n ERROR = 'ERROR',\n}\n","export const getDomainTypeFromPath = (path: string) => path.split('/').shift();\n","import fp from 'lodash/fp';\nimport { put, select, all, fork, take, cancel, takeEvery, throttle } from 'redux-saga/effects';\nimport { mapFiltersToApi, mapSortingToApi, applyFiltersLocal } from '@factorin/domain';\nimport { API, data } from '@factorin/container.macro';\n\nimport { apiCall } from 'Modules/core/api';\nimport { applyPath } from 'Modules/core/redux';\nimport { messagingActions } from 'Modules/core/messaging';\n\nimport { paginationActions } from './actions';\nimport { storageActions } from '../storage/actions';\nimport { loadStorageItem } from '../storage/sagas';\nimport { paginationStatuses } from './statuses';\nimport { getDomainTypeFromPath } from './utils';\n\n\nconst getPagedParameters = (start, stop) => {\n if (start === stop) {\n return {\n pageSize: 0,\n pageNumber: 0,\n overflowLeft: 0,\n overflowRight: 0,\n };\n }\n\n let pageSize = stop - start;\n let pageNumber = Math.floor(stop / pageSize);\n while ((pageNumber - 1) * pageSize > start || pageNumber * pageSize < stop) {\n if (pageNumber * pageSize < stop)\n pageSize++;\n else\n pageNumber--;\n }\n return {\n pageSize,\n pageNumber,\n overflowLeft: start - (pageNumber - 1) * pageSize,\n overflowRight: pageNumber * pageSize - stop,\n };\n};\n\nfunction* fetchData(path, type, start, stop) {\n const parameters = yield select(({ data }) => data.pagination[path].parameters);\n\n // TODO: make backend more index-based pagination-friendly\n const { pageSize, pageNumber, overflowLeft, overflowRight } = getPagedParameters(start, stop);\n\n const sorting = mapSortingToApi(parameters);\n const filters = yield select(state =>\n mapFiltersToApi(parameters.filters, data.domain[type].filters, state.environment));\n\n let response;\n const isWampRequest = !!API.domain[type].wampList;\n if (isWampRequest) {\n response = yield API.domain[type].wampList({\n query: {\n pageSize,\n pageNumber,\n ...sorting,\n ...filters,\n },\n });\n } else {\n response = yield apiCall(API.domain[type].list, {\n query: {\n pageSize,\n pageNumber,\n ...sorting,\n ...filters,\n },\n });\n }\n\n const { Page, ItemsCount: total } = response;\n return {\n elements: (Page || []).slice(overflowLeft, pageSize - overflowRight),\n total,\n };\n}\n\nconst mapToStorage = fp.keyBy(({ Id, Uid, id }) => Uid || Id || id);\n\nfunction* request(path, start, stop) {\n const { setQueue, linkQueue, setTotal, markDirty, receive, setError } = applyPath(\n path,\n paginationActions,\n );\n\n const setQueueStatus = status => put(setQueue({ start, stop, status }));\n\n yield setQueueStatus(paginationStatuses.PENDING);\n yield put(linkQueue({ start, stop }));\n\n const type = getDomainTypeFromPath(path);\n\n try {\n const { elements, total } = yield fetchData(path, type, start, stop);\n const oldTotal = yield select(({ data }) => data.pagination[path].total);\n\n if (fp.isUndefined(oldTotal))\n yield put(setTotal(total));\n else if (oldTotal !== total)\n yield put(markDirty({}));\n\n yield put(storageActions.receive(type, mapToStorage(elements)));\n yield put(receive({ elements, start, stop }));\n\n yield setQueueStatus(paginationStatuses.COMPLETE);\n } catch (err) {\n if (process.env.NODE_ENV === 'development') {\n console.error('pagination error');\n console.error(err);\n }\n yield setQueueStatus(paginationStatuses.ERROR);\n yield put(setError(err));\n }\n}\n\nfunction* requestWithRefresh(path, start, stop) {\n const { setQueue, receiveRefresh, setError } = applyPath(path, paginationActions);\n\n const setQueueStatus = status => put(setQueue({ start, stop, status }));\n\n yield setQueueStatus(paginationStatuses.PENDING);\n\n const type = getDomainTypeFromPath(path);\n\n try {\n const { elements, total } = yield fetchData(path, type, start, stop);\n\n yield put(storageActions.receive(type, mapToStorage(elements)));\n yield put(receiveRefresh({ elements, total, start, stop }));\n\n yield setQueueStatus(paginationStatuses.COMPLETE);\n } catch (err) {\n if (process.env.NODE_ENV === 'development') {\n console.error('pagination error');\n console.error(err);\n }\n yield setQueueStatus(paginationStatuses.ERROR);\n yield put(setError(err));\n }\n}\n\nfunction* performGenericRequest(genericRequest, path, start, stop) {\n const status = yield select(({ data }) => data.pagination[path].queue[`${start}:${stop}`]);\n\n if (status && status === paginationStatuses.PENDING)\n return;\n\n const requestTask = yield fork(genericRequest, path, start, stop);\n\n if (status && status === paginationStatuses.ERROR) {\n yield cancel(requestTask);\n return;\n }\n\n const isCancelled = fp.isEqual({\n start,\n stop,\n status: paginationStatuses.CANCELLED,\n });\n\n yield take(\n ({ type, path: pathToCancel, $payload }) =>\n pathToCancel === path &&\n (type === `${paginationActions.setParameters}` ||\n type === `${paginationActions.setQueue}` && isCancelled($payload)),\n );\n\n yield cancel(requestTask);\n}\n\nfunction* performRequest({ path, $payload: { start, stop } }) {\n yield performGenericRequest(request, path, start, stop);\n}\n\nfunction* performRequestWithRefresh({ path, $payload: { start, stop } }) {\n yield performGenericRequest(requestWithRefresh, path, start, stop);\n}\n\nfunction* setParametersThrottled({ path, $payload }) {\n yield put(paginationActions.setParameters(path, $payload));\n}\n\nconst getUpdatedPaginationsPaths = (domain, entity, paginations) =>\n fp.pipe(\n fp.toPairs,\n fp.filter(\n ([\n path,\n {\n elements,\n parameters: { filters },\n },\n ]) =>\n getDomainTypeFromPath(path) === domain &&\n (Object.values(elements).includes(entity.Uid) ||\n applyFiltersLocal(entity, data.domain[domain].filters, filters)),\n ),\n fp.map(0),\n )(paginations);\n\nfunction* markDirty(path) {\n const oldDirty = yield select(fp.get(`data.pagination[${path}].dirty`));\n if (oldDirty)\n yield put(paginationActions.markDirty(path, { dirty: false }));\n\n yield put(paginationActions.markDirty(path, {}));\n}\n\nfunction* markDirtyByType({ $payload: { EntityType, Uid } }) {\n if (!Uid || Uid === 0)\n return;\n\n try {\n const domain = `${EntityType}s`;\n const oldEntity = yield select(fp.get(`data.storage[${domain}][${Uid}]`));\n\n const pagination = yield select(fp.get('data.pagination'));\n\n const oldUpdatedPaginationsPaths = oldEntity\n ? getUpdatedPaginationsPaths(domain, oldEntity, pagination)\n : [];\n\n const newEntity = yield loadStorageItem({ path: domain, $payload: Uid });\n const newUpdatedPaginationsPaths = getUpdatedPaginationsPaths(\n domain,\n newEntity,\n pagination,\n );\n yield all(\n fp\n .union(newUpdatedPaginationsPaths, oldUpdatedPaginationsPaths)\n .map(path => markDirty(path)),\n );\n } catch (error) {\n console.log(error);\n yield put(\n messagingActions.showNotification({\n content: 'pagination.markDirtyError',\n }),\n );\n }\n}\n\nconst domainsExtendProps = {\n documents: ['$errorDocument'],\n registers: ['Documents'],\n transportRegisters: ['Documents'],\n};\n\nfunction* refreshPagination({ path, ...rest }) {\n const domain = getDomainTypeFromPath(path);\n\n const omitFields = fp.getOr([], domain, domainsExtendProps);\n if (omitFields.length !== 0) {\n const storage = yield select(fp.get(`data.storage[${domain}]`));\n const pagination = yield select(fp.get(`data.pagination[${path}]`));\n if (!pagination)\n return;\n yield put(\n storageActions.receiveWithUpdate(\n domain,\n fp.pipe(\n fp.get('elements'),\n fp.map(elem => fp.omit(omitFields, storage[elem])),\n mapToStorage,\n )(pagination),\n ),\n );\n }\n\n yield put(paginationActions.reducerRefresh(path, rest?.$payload));\n}\n\nfunction* massRefreshPaginations({ $payload: basePath = '' }) {\n const paginations = yield select(fp.get('data.pagination'));\n const updatedPaginations = fp.pipe(fp.keys, fp.filter(fp.startsWith(basePath)))(paginations);\n\n yield all(fp.map(path => refreshPagination({ path }), updatedPaginations));\n}\n\nexport function* refreshAllPaginations() {\n yield massRefreshPaginations({});\n}\n\nexport const sagas = [\n takeEvery(`${paginationActions.request}`, performRequest),\n takeEvery(`${paginationActions.requestRefresh}`, performRequestWithRefresh),\n // TODO: make custom throttle based on path with variable delay\n throttle(1000, `${paginationActions.setParametersThrottled}`, setParametersThrottled),\n takeEvery(`${paginationActions.markDirtyByType}`, markDirtyByType),\n takeEvery(`${paginationActions.refresh}`, refreshPagination),\n takeEvery(`${paginationActions.massRefresh}`, massRefreshPaginations),\n];\n","import { reducer } from './reducer';\nimport { sagas } from './sagas';\n\n\nexport const pagination = {\n reducer,\n sagas,\n};\n","import fp from 'lodash/fp';\nimport { data } from '@factorin/container.macro';\n\nimport { lookupTableReducer, reducePath } from 'Modules/core/redux';\n\nimport { storageActions } from './actions';\n\n\nconst defaultPathState = () => ({\n $errors: {},\n});\n\nconst actionLookup = {\n [storageActions.initialize]: () => fp.mapValues(defaultPathState, data.domain),\n [storageActions.receive]: reducePath(fp.mergeWith(fp.assign)),\n [storageActions.receiveWithUpdate]: reducePath((state, elements) => ({\n ...state,\n ...elements,\n })),\n [storageActions.setError]: reducePath(({ $errors, ...state }, { id, error }) => ({\n ...state,\n $errors: {\n ...$errors,\n [id]: error,\n },\n })),\n [storageActions.resetError]: reducePath(({ $errors, ...state }, id) => ({\n ...state,\n $errors: fp.omit(id, $errors),\n })),\n};\n\nexport const reducer = lookupTableReducer(defaultPathState, actionLookup);\n","import { reducer } from './reducer';\nimport { sagas } from './sagas';\n\n\nexport const storage = {\n reducer,\n sagas,\n};\n","import { mergeStateParts } from 'Modules/core/redux';\n\nimport { pagination } from './pagination';\nimport { storage } from './storage';\n\n\nexport const state = mergeStateParts('data', {\n pagination,\n storage,\n});\n","import fp from 'lodash/fp';\nimport { useEffect, useCallback, useState, useMemo } from 'react';\nimport { Common, API } from '@factorin/domain';\n\nimport { useMemoDeps } from 'Modules/ui';\nimport { useSelector, useAction } from 'Modules/core/redux';\n\nimport { paginationActions } from '../state/pagination/actions';\nimport { IParameters, Pagination } from '../state/pagination/types';\nimport { paginationStatuses } from '../state/pagination/statuses';\nimport { getDomainTypeFromPath } from '../state/pagination/utils';\nimport { Storage } from '../state/storage/types';\nimport { UsePaginationFiltersReturnType } from './types';\n\n\nexport function usePagination(path: string): Pagination;\nexport function usePagination(\n path: string,\n key: TKey,\n): Pagination[TKey];\nexport function usePagination(\n path: string,\n key?: TKey,\n): Pagination[TKey] {\n return useSelector(`data.pagination.${path}${key ? `.${key}` : ''}`, [path, key]);\n}\n\nexport const useStorage = (domain: string): Storage =>\n useSelector(`data.storage.${domain}`, [domain]);\n\nexport const useStorageItem = (domain: string, itemId: Common.ElementId): TItem =>\n useSelector(`data.storage.${domain}.${itemId}`, [domain, itemId]);\n\nexport const usePaginationCreate = (path: string, parameters: IParameters = {}) => {\n const hasPagination = useSelector(({ data }: any) => !!data.pagination[path], [path]);\n const setParameters = useAction(paginationActions.setParameters);\n useEffect(\n () => {\n if (!hasPagination)\n setParameters(path, parameters);\n },\n [hasPagination, parameters, path, setParameters],\n );\n};\n\nexport const useRefreshPaginationOnUnmount = (path: string) => {\n const refresh = useAction(\n () => paginationActions.refresh(path, {}),\n [path],\n );\n useEffect(\n () => () => refresh(),\n [refresh],\n );\n};\n\nexport function usePaginationFilter(\n path: string,\n field: string,\n mapToParameters?: (value: TType, filters: any) => any,\n partOfField?: string,\n) {\n const parameters = usePagination(path, 'parameters') || {};\n\n const mapFilters = useCallback(\n (value, parameters) => mapToParameters\n ? mapToParameters(value, parameters.filters)\n : {\n filters: {\n ...parameters.filters,\n [field]: value,\n },\n },\n [field, mapToParameters],\n );\n\n const [filter, changeFilterValue] = useState(\n // @ts-ignore\n () => fp.getOr(\n null,\n partOfField ? `filters[${field}][${partOfField}]` : `filters[${field}]`,\n parameters,\n ),\n );\n const setParameters = useAction(\n (value: TType) => paginationActions.setParametersThrottled(path, {\n ...parameters,\n ...mapFilters(value, parameters),\n }),\n [path, parameters, mapFilters],\n );\n\n const onChange = useCallback(\n (value: TType) => {\n changeFilterValue(value);\n setParameters(value);\n },\n [setParameters],\n );\n\n return { value: filter, onChange };\n}\n\nexport function usePaginationRequests\n(\n path: string,\n parameters: IParameters,\n step: number = 10,\n) {\n const [{ start, stop, fetching }, fetch] = useState(() =>\n ({ start: 0, stop: 0, fetching: false }));\n\n usePaginationCreate(path, parameters);\n\n const total = usePagination(path, 'total');\n const needFetch = useCallback(\n () => fetch(({ start, stop }) => {\n const newStop = fp.min([total, stop + step]);\n return {\n start: fp.min([newStop, start + step]),\n stop: newStop,\n fetching: true,\n };\n }),\n [total, step],\n );\n\n const paginationElements = usePagination<\n 'elements',\n TItem extends { Id: number } ? number : string\n >(path, 'elements');\n\n useEffect(\n () => {\n if (!total)\n fetch({ start: 0, stop: 0, fetching: true });\n\n if (Number.isInteger(total) &&\n total !== 0 &&\n fp.size(paginationElements) === 0) {\n fetch({\n start: 0,\n stop: fp.min([total, step]),\n fetching: true,\n });\n }\n },\n [step, total, paginationElements],\n );\n\n const request = useAction(\n () => paginationActions.request(\n path,\n { start, stop },\n ),\n [path, start, stop],\n );\n const itemsLoading = useCallback(\n (queue: Pagination['queue']) => queue && queue[`${start}:${stop}`] &&\n queue[`${start}:${stop}`] === paginationStatuses.PENDING,\n [start, stop],\n );\n const itemsLoaded = useCallback(\n (queue: Pagination['queue']) => queue && queue[`${start}:${stop}`] &&\n queue[`${start}:${stop}`] !== paginationStatuses.PENDING,\n [start, stop],\n );\n const queue = usePagination(path, 'queue');\n useEffect(\n () => {\n if (fetching &&\n (!total || fp.size(paginationElements) !== stop) &&\n !itemsLoading(queue) &&\n !itemsLoaded(queue))\n request();\n },\n [\n fetching, stop,\n itemsLoading, itemsLoaded, request,\n total, paginationElements, queue,\n ],\n );\n\n const refresh = useAction(\n () => paginationActions.refresh(path, {}),\n [path],\n );\n useEffect(() => refresh, [refresh]);\n\n const [\n elements,\n setElements,\n // eslint-disable-next-line no-extra-parens\n ] = useState<(TItem extends { Id: number } ? number : string)[]>([]);\n const domain = useMemoDeps(getDomainTypeFromPath, [path]);\n const storage = useStorage(domain);\n useEffect(\n () => {\n if (itemsLoaded(queue)) {\n const options = fp.filter(element => !!element, paginationElements);\n setElements(options);\n fetch(values => ({ ...values, fetching: false }));\n }\n },\n [queue, paginationElements, storage, itemsLoaded],\n );\n\n const allLoaded = Number.isInteger(total) &&\n total === fp.size(paginationElements);\n\n return {\n elements,\n needFetch,\n fetching,\n allLoaded,\n storage,\n total,\n };\n}\n\nexport function usePaginationFilters(\n path: string,\n): UsePaginationFiltersReturnType;\nexport function usePaginationFilters(\n path: string,\n field: string,\n): UsePaginationFiltersReturnType\nexport function usePaginationFilters(\n path: string,\n field?: string,\n): UsePaginationFiltersReturnType {\n const parameters = usePagination(path, 'parameters');\n\n const setFilters = useAction(\n (value: TValue) =>\n paginationActions.setParametersThrottled(path, {\n ...parameters,\n filters: {\n ...parameters.filters,\n ...field ? {\n [field]: value,\n } : value,\n },\n }),\n [parameters, field],\n );\n\n const filters = useMemo(() =>\n field ? fp.getOr('', `filters.${field}`, parameters)\n : fp.getOr({}, 'filters', parameters),\n [parameters, field]);\n\n return {\n filters,\n setFilters,\n };\n}\n\nexport * from './types';\n","import fp from 'lodash/fp';\nimport React, { useCallback, ComponentType } from 'react';\nimport { formatDateOnlyForBackend } from '@factorin/util';\n\nimport { TranslatedCalendarInput } from 'Modules/core/forms';\n\nimport { usePaginationFilter, PaginationFilterField } from '../../utils';\nimport styles from './index.module.scss';\n\n\nexport const PaginationCalendarFilterField: ComponentType = React.memo(({\n path,\n field,\n}) => {\n const mapFromDateToFilter = useCallback(\n (value, filters) => ({\n filters: {\n ...filters,\n [field]: {\n from: formatDateOnlyForBackend(value),\n to: fp.get(`${field}.to`, filters),\n },\n },\n }),\n [field],\n );\n const from = usePaginationFilter(path, field, mapFromDateToFilter, 'from');\n\n const mapToDateToFilter = useCallback(\n (value, filters) => ({\n filters: {\n ...filters,\n [field]: {\n from: fp.get(`${field}.from`, filters),\n to: formatDateOnlyForBackend(value),\n },\n },\n }),\n [field],\n );\n const to = usePaginationFilter(path, field, mapToDateToFilter, 'to');\n\n return (\n
    \n \n -\n \n
    \n );\n});\n","import React, { useCallback, FC, ChangeEvent, ComponentProps } from 'react';\n\nimport { cn } from 'Modules/ui';\n\nimport { usePaginationFilter, PaginationFilterField } from '../../utils';\nimport styles from './index.module.scss';\n\n\ntype InputProps = Omit, 'value' | 'onChange'>;\n\nexport const PaginationInputFilterField: FC = React.memo(({\n path,\n field,\n className,\n ...props\n}) => {\n const { value, onChange: onFilterChange } = usePaginationFilter(path, field);\n const currentValue = value || '';\n const onChange = useCallback(\n (e: ChangeEvent) => onFilterChange(e.target.value),\n [onFilterChange],\n );\n\n return (\n \n );\n});\n","import fp from 'lodash/fp';\nimport React, { useEffect, ComponentType } from 'react';\n\nimport { Badge, usePrevious } from 'Modules/ui';\nimport { useAction } from 'Modules/core/redux';\n\nimport { paginationActions } from '../../state/pagination/actions';\nimport { paginationStatuses } from '../../state/pagination/statuses';\nimport { IPaginationParameters } from '../../state/types';\nimport { usePagination } from '../../utils';\n\n\ntype PaginationCountBadgeType = {\n path: string;\n parameters: IPaginationParameters;\n refreshOnDirty?: boolean;\n}\n\nexport const PaginationCountBadge: ComponentType = ({\n path,\n parameters,\n refreshOnDirty,\n}) => {\n const pagination = usePagination(path);\n\n const setParameters = useAction(\n () => paginationActions.setParameters(path, { ...parameters }),\n [path, parameters],\n );\n const requestTotal = useAction(\n () => paginationActions.request(path, { start: 0, stop: 0 }),\n [path],\n );\n\n const prevDirty = usePrevious(fp.get('dirty', pagination));\n useEffect(\n () => {\n if (!path)\n return;\n\n if (!pagination) {\n setParameters();\n return;\n }\n\n const { total, queue, dirty } = pagination;\n const shouldRequestTotal = (!fp.isNumber(total) ||\n refreshOnDirty && prevDirty !== dirty) &&\n queue['0:0'] !== paginationStatuses.PENDING;\n\n if (shouldRequestTotal)\n requestTotal();\n },\n [pagination, prevDirty, parameters, path, refreshOnDirty, setParameters, requestTotal],\n );\n\n if (!pagination || !pagination.total || pagination.total === 0)\n return null;\n\n return ;\n};\n","import fp from 'lodash/fp';\nimport React, { useState, ComponentProps, ComponentType } from 'react';\n\nimport {\n Heading, Text, Button, InPlacePopup,\n TransitionComponent, Refresh, animation,\n useUpdateOnlyEffect,\n} from 'Modules/ui';\nimport { useAction } from 'Modules/core/redux';\nimport { useTranslation } from 'Modules/core/i18n';\n\nimport { paginationActions } from '../../state/pagination/actions';\nimport styles from './index.module.scss';\nimport { usePagination } from '../../utils';\n\n\nexport type PaginationHeaderType = {\n path: string;\n title: string;\n updateAnytime?: boolean;\n buttons?: ComponentType;\n}\n\nexport const PaginationHeader = React.memo(({\n path, title,\n updateAnytime = false,\n buttons: Buttons,\n}) => {\n const dirty = usePagination(path, 'dirty');\n const total = usePagination(path, 'total');\n\n const [notifyDirty, setNotifyDirty] = useState(false);\n useUpdateOnlyEffect(() => {\n if (!dirty)\n return undefined;\n const hideTimer = setTimeout(() => setNotifyDirty(false), 10000);\n setNotifyDirty(true);\n return () => clearTimeout(hideTimer);\n }, [dirty]);\n\n const refresh = useAction(\n () => paginationActions.refresh(path, {}),\n [path],\n );\n\n const { t } = useTranslation('paginationHeader');\n\n return (\n
    \n
    \n
    \n > component='h1' headingType='h1Element' ellipsis className={styles.title}>\n {title}\n \n \n {t({\n key: 'total',\n [fp.isNumber(total) ? 'values' : 'translatedValues']: {\n count: fp.isNumber(total) ? total : 'unknown',\n },\n })}\n \n
    \n {(updateAnytime || dirty) && (\n
    \n \n \n \n {dirty && (\n \n >\n textType='light'\n component={InPlacePopup}\n className={styles.notification}\n alignment='top'\n position={0.3}\n >\n {t('updated')}\n \n \n )}\n
    \n )}\n {Buttons && }\n
    \n
    \n );\n});\n","import fp from 'lodash/fp';\nimport React, { ComponentType, RefObject, PropsWithChildren } from 'react';\nimport InfiniteLoader from 'react-window-infinite-loader';\nimport { VariableSizeList, VariableSizeGrid } from 'react-window';\n\nimport { multipleRef, AutoSizer } from 'Modules/ui';\nimport { useAction } from 'Modules/core/redux';\n\nimport { paginationActions } from '../../state/pagination/actions';\nimport { paginationStatuses } from '../../state/pagination/statuses';\nimport { usePagination } from '../../utils';\nimport { PaginationType } from '../../state/types';\nimport { IRequest } from '../../state/pagination/types';\nimport {\n CommonContainerProps,\n PaginationLoaderConnectedProps,\n PaginationLoaderProps,\n} from './types';\n\n\nconst getNonPendingRequests = (queue: PaginationType['queue']): string[] =>\n fp.pipe(\n fp.pickBy(status => status !== paginationStatuses.PENDING),\n fp.keys,\n )(queue);\n\nconst forceUpdateContainer = (\n container: RefObject['current'],\n startIndex: number,\n) => {\n if ('resetAfterIndex' in container && fp.isFunction(container.resetAfterIndex)) {\n container.resetAfterIndex(startIndex, true);\n return;\n }\n\n // use internal property\n // @ts-ignore\n if (fp.isFunction(container._getItemStyleCache))\n // @ts-ignore\n container._getItemStyleCache(-1);\n\n container.forceUpdate();\n};\n\nclass PaginationLoaderClass<\n TContainerProps extends CommonContainerProps,\n> extends React.PureComponent> {\n requests = {};\n\n infiniteLoaderRef = React.createRef();\n\n containerRef = React.createRef();\n\n currentlyRendered = {\n visibleStartIndex: 0,\n visibleStopIndex: -1,\n };\n\n componentDidMount() {\n this.refreshPagination();\n }\n\n componentDidUpdate(prevProps: PaginationLoaderConnectedProps) {\n this.refreshPagination();\n this.resolvePendingRequests();\n this.refreshWhenDirty(prevProps);\n }\n\n resetInfiniteLoaderCache = () => {\n if (this.infiniteLoaderRef.current)\n this.infiniteLoaderRef.current.resetloadMoreItemsCache(true);\n };\n\n refreshPagination = () => {\n const { pagination, request } = this.props;\n\n if (pagination && !fp.isNumber(pagination.total)) {\n this.requests['0:0'] = this.resetInfiniteLoaderCache;\n if (pagination.queue['0:0'] !== paginationStatuses.PENDING)\n request({ start: 0, stop: 0 });\n }\n };\n\n resolvePendingRequests = () => {\n const { pagination } = this.props;\n\n if (!pagination)\n return;\n\n if (fp.isEmpty(this.requests))\n return;\n\n const completedRequests = fp.intersection(\n fp.keys(this.requests),\n getNonPendingRequests(pagination.queue),\n );\n\n completedRequests.forEach(key => {\n this.requests[key]();\n delete this.requests[key];\n });\n };\n\n refreshWhenDirty = ({\n pagination: oldPagination,\n }: PaginationLoaderConnectedProps) => {\n if (!oldPagination)\n return;\n\n const { refreshOnDirty, requestRefresh, pagination: { dirty = false } = {} } = this.props;\n const becameDirty = !oldPagination.dirty && dirty;\n\n if (!refreshOnDirty || !becameDirty)\n return;\n\n const start = this.currentlyRendered.visibleStartIndex || 0;\n let stop = this.currentlyRendered.visibleStopIndex + 1;\n stop = fp.isNumber(stop) ? stop : 0;\n\n this.requests[`${start}:${stop}`] = () => {\n this.resetInfiniteLoaderCache();\n if (this.containerRef.current)\n forceUpdateContainer(this.containerRef.current, start);\n };\n requestRefresh({ start, stop });\n };\n\n isItemLoaded = (index: number) => {\n const {\n pagination: { elements },\n } = this.props;\n return !!elements[index];\n };\n\n loadMoreItems = (start: number, stopIndex: number): Promise => {\n const { request } = this.props;\n const stop = stopIndex + 1;\n return new Promise(resolve => {\n this.requests[`${start}:${stop}`] = resolve;\n request({ start, stop });\n });\n };\n\n render() {\n const {\n path,\n pagination,\n containerRef,\n placeholderRenderer,\n loadingRenderer,\n request,\n requestRefresh,\n ...props\n } = this.props;\n const itemCount = fp.getOr(0, 'total', pagination);\n\n const Placeholder = this.props.placeholderRenderer as ComponentType;\n const Loading = this.props.loadingRenderer as ComponentType;\n const Container = this.props.container as ComponentType;\n const containerProps = props as unknown as TContainerProps;\n\n const isLoading = pagination && !fp.isNumber(pagination.total);\n const noItems = pagination && !isLoading && itemCount === 0;\n return (\n \n {size => (\n \n {({ onItemsRendered, ref }) => (\n <>\n {\n this.currentlyRendered = indices;\n return onItemsRendered(indices);\n }}\n {...size}\n />\n {isLoading && Loading && (\n
    \n \n
    \n )}\n {noItems && Placeholder && }\n \n )}\n
    \n )}\n \n );\n }\n}\n\n\nexport function PaginationLoader(\n props: PropsWithChildren>\n & { userSetVScrollBarVisible?: boolean },\n) {\n const { path } = props;\n const pagination = usePagination(path);\n const request = useAction((data: IRequest) => paginationActions.request(path, data), [path]);\n const requestRefresh = useAction(\n (data: IRequest) => paginationActions.requestRefresh(path, data),\n [path],\n );\n\n return (\n \n );\n}\n","import fp from 'lodash/fp';\nimport React, { CSSProperties, PropsWithChildren, useRef } from 'react';\nimport { VariableSizeList, VariableSizeListProps, shouldComponentUpdate } from 'react-window';\n\nimport { Text, cn, useRemUpdatedCallback, multipleRef, useMemoDeps } from 'Modules/ui';\n\nimport { paginationStatuses } from '../../state/pagination/statuses';\nimport { getDomainTypeFromPath } from '../../state/pagination/utils';\nimport { PaginationType, StorageType } from '../../state/types';\nimport { usePagination, useStorage } from '../../utils';\nimport { PaginationLoader } from '../PaginationLoader';\nimport { PaginationListProps } from './types';\nimport styles from './index.module.scss';\n\n\nconst ListProxy = React.forwardRef(\n (props, forwardedRef) => {\n const listRef = useRef();\n useRemUpdatedCallback(() => {\n if (listRef.current)\n listRef.current.resetAfterIndex(0);\n });\n return ;\n },\n);\n\nconst guidPattern = /^[0-9a-f]{8}-[0-9a-f]{4}-[1-5][0-9a-f]{3}-[89ab][0-9a-f]{3}-[0-9a-f]{12}$/i;\nconst isGuid = (elem: string) => guidPattern.test(elem);\n\nconst isIdOrGuid = (elem: number | string) => fp.isNumber(elem) || isGuid(elem);\n\nexport const firstElementLoaded = fp.pipe(fp.get('[0]'), isIdOrGuid);\n\nconst getFirstUpdatedIndex = fp.pipe(\n fp.minBy(fp.pipe(fp.split(':'), fp.get(0))),\n fp.split(':'),\n fp.get(0),\n fp.toNumber,\n);\n\n\ntype PaginationListClassProps = ConnectTypes & PaginationListProps;\n\ntype ItemProps = PaginationListClassProps\n& { index: number, style: CSSProperties, onRowSelect: (element: React.ReactText) => void };\n\n\nclass Item extends React.Component> {\n shouldComponentUpdate = shouldComponentUpdate.bind(this);\n\n render() {\n const {\n selectedId,\n onRowSelected,\n storage,\n paginationElements,\n paginationQueue,\n domain,\n elementRenderer: ElementRenderer,\n refreshOnDirty,\n\n index,\n style,\n onRowSelect,\n } = this.props;\n const element = paginationElements[index];\n const queueStatus =\n paginationQueue[element] || storage[element] && paginationStatuses.COMPLETE;\n const isSelected =\n selectedId &&\n element &&\n storage[element] &&\n (storage[element].Uid || storage[element].Id) === selectedId;\n\n return (\n onRowSelect(element)\n : undefined\n }\n />\n );\n }\n}\n\n\nclass PaginationListClass extends React.PureComponent> {\n virtualizedList = React.createRef();\n\n componentDidMount() {\n const { paginationElements, needFirstRowSelect } = this.props;\n if (needFirstRowSelect && firstElementLoaded(paginationElements))\n this.onRowSelect(paginationElements[0]);\n }\n\n componentDidUpdate(prevProps: PaginationListClassProps) {\n const { path, paginationElements, rowHeight, selectedId, needFirstRowSelect } = this.props;\n\n if (selectedId && !fp.includes(selectedId, paginationElements))\n this.onRowSelect(null);\n\n if (!selectedId || prevProps.path !== path) {\n const shouldSelectFirstElement =\n needFirstRowSelect &&\n (prevProps.path !== path || !firstElementLoaded(prevProps.paginationElements));\n\n if (shouldSelectFirstElement && firstElementLoaded(paginationElements))\n this.onRowSelect(paginationElements[0]);\n }\n\n if (fp.isFunction(rowHeight) && prevProps.path === path)\n this.recalculateRowHeights(prevProps.paginationQueue);\n }\n\n onRowSelect = (element: React.ReactText) => {\n const { storage, domain, onRowSelected } = this.props;\n return onRowSelected(element ? storage[element] : null, domain);\n };\n\n recalculateRowHeights = (prevPaginationQueue: PaginationType['queue']) => {\n const { paginationQueue } = this.props;\n\n const updatedQueue = fp.map(\n '0',\n fp.differenceBy(\n fp.get(1),\n fp.toPairs(prevPaginationQueue),\n fp.toPairs(paginationQueue),\n ),\n );\n\n if (updatedQueue.length > 0) {\n const resetStart = getFirstUpdatedIndex(updatedQueue);\n if (this.virtualizedList.current)\n this.virtualizedList.current.resetAfterIndex(resetStart, false);\n }\n };\n\n rowHeightAsFunction = (index: number) => {\n const { rowHeight, storage, paginationElements } = this.props;\n // eslint-disable-next-line no-extra-parens\n return (rowHeight as Function)(storage[paginationElements[index]]);\n };\n\n renderPlaceholder = () => (\n \n {this.props.placeholderText}\n \n );\n\n render() {\n const {\n path,\n className,\n refreshOnDirty,\n rowHeight,\n selectedId,\n containerRef,\n placeholderRenderer,\n itemData,\n } = this.props;\n return (\n
    \n \n path={path}\n container={ListProxy}\n // @ts-ignore\n containerRef={multipleRef(this.virtualizedList, containerRef)}\n placeholderRenderer={placeholderRenderer || this.renderPlaceholder}\n refreshOnDirty={refreshOnDirty}\n className={styles.list}\n itemData={itemData || selectedId}\n itemSize={\n fp.isFunction(rowHeight) ? this.rowHeightAsFunction : fp.constant(rowHeight)\n }\n >\n {({ index, style }) => (\n \n )}\n \n
    \n );\n }\n}\n\ntype ConnectTypes = {\n paginationElements: PaginationType['elements'];\n paginationQueue: PaginationType['queue'];\n storage: StorageType;\n domain: string;\n};\n\nexport function PaginationList({\n path,\n ...props\n}: PropsWithChildren>) {\n const paginationElements = usePagination(path, 'elements');\n const paginationQueue = usePagination(path, 'queue');\n const domain = useMemoDeps(getDomainTypeFromPath, [path]);\n const storage = useStorage(domain);\n return (\n \n );\n}\n\nPaginationList.defaultProps = {\n needFirstRowSelect: true,\n};\n\nexport * from './types';\n","import React, { useCallback, useMemo, FC, ComponentProps } from 'react';\nimport { OptionProps } from 'react-select';\n\nimport { useTranslation } from 'Modules/core/i18n';\nimport { Text, Select2, CustomOption, useMemoDeps, setHtml } from 'Modules/ui';\n\nimport { DropdownOption, DropdownProps } from './types';\nimport styles from './index.module.scss';\n\n\nconst Option: FC> = ({\n data: { icon, label },\n innerProps,\n innerRef,\n isSelected,\n isFocused,\n isDisabled,\n}) => (\n \n >\n component='div'\n ellipsis\n className={styles.option}\n title={label}\n {...icon ? setHtml(`${icon}${label}`) : { children: label }}\n />\n \n);\n\nexport const Dropdown: FC = React.memo(({\n idx,\n options,\n disabled,\n onClick,\n getValue,\n onChange,\n}) => {\n const { t } = useTranslation('filters');\n\n const dropdownOptions = useMemo(\n () => options.map((opt, index) => ({\n label: t(opt.key) as string,\n value: index,\n icon: opt.icon,\n })),\n [options, t],\n );\n\n const value = useMemoDeps(getValue, [idx]);\n const onDropdownClick = useCallback(\n () => onClick(idx),\n [idx, onClick],\n );\n const onChangeCallback = useMemoDeps(onChange, [idx]);\n\n return (\n
    \n \n
    \n );\n});\n","import fp from 'lodash/fp';\nimport React, { useState, useCallback, useMemo, ComponentType } from 'react';\nimport { Common } from '@factorin/domain';\n\nimport { useTranslation } from 'Modules/core/i18n';\nimport { TabSliderSelector, cn } from 'Modules/ui';\n\nimport { Dropdown } from './Dropdown';\nimport { PaginationParametersControlType } from './types';\nimport styles from './index.module.scss';\n\n\nexport const PaginationParametersControl: ComponentType = ({\n options, value, onChange, className,\n}) => {\n const valueLookup = useMemo(\n () => fp.map(fp.pipe(\n fp.concat([]),\n fp.findIndex(({ key }) => key === value),\n ), options),\n [options, value],\n );\n const tabSliderSelectorValue = useMemo(\n () => fp.findIndex(val => val !== -1, valueLookup),\n [valueLookup],\n );\n\n const [cache, setCache] = useState>({});\n\n const getCached = useCallback(\n (idx: number) => valueLookup[idx] !== -1\n ? valueLookup[idx]\n : cache[idx] || 0,\n [cache, valueLookup],\n );\n const onTabChange = useCallback(\n (idx: number) => {\n if (idx === tabSliderSelectorValue)\n return;\n onChange(fp.isArray(options[idx])\n ? options[idx][getCached(idx)]\n : options[idx]);\n },\n [options, tabSliderSelectorValue, onChange, getCached],\n );\n const onChangeDropdownValue = useCallback(\n (idx: number) => (dropdownIdx: number) => {\n onChange(options[idx][dropdownIdx]);\n setCache({ ...cache, [idx]: dropdownIdx });\n },\n [options, cache, onChange],\n );\n\n const { t } = useTranslation('filters');\n\n const selectorOptions = useMemo(\n () => options.map<{ tab: React.ReactNode, clickable: boolean }>((option, idx) => ({\n tab: fp.isArray(option)\n ? (\n \n )\n : t(option.key),\n clickable: !fp.isArray(option),\n })),\n [options, tabSliderSelectorValue, getCached, onChangeDropdownValue, onTabChange, t],\n );\n\n return (\n \n );\n};\n\nexport * from './types';\n","import fp from 'lodash/fp';\nimport React, { useCallback, useEffect, useMemo, useState } from 'react';\nimport { components } from 'react-select';\n\nimport { Select2, Text, useMemoDeps, usePrevious } from 'Modules/ui';\nimport { useAction } from 'Modules/core/redux';\nimport { useTranslation } from 'Modules/core/i18n';\n\nimport { paginationActions } from '../../state/pagination/actions';\nimport { paginationStatuses } from '../../state/pagination/statuses';\nimport { getDomainTypeFromPath } from '../../state/pagination/utils';\nimport styles from './index.module.scss';\nimport { usePagination, useStorage } from '../../utils';\n\n\nconst ValueContainer = ({ children, ...props }) => (\n \n {children}\n \n);\n\nexport const useSelectPagination = (path, max, defaultParameters) => {\n const request = useAction(\n () => paginationActions.request(\n path,\n { start: 0, stop: max },\n ),\n [path, max],\n );\n\n const setParameters = useAction(paginationActions.setParameters);\n const parameters = usePagination(path, 'parameters');\n\n useEffect(\n () => {\n setParameters(path, defaultParameters);\n },\n [path, defaultParameters, setParameters],\n );\n\n const queue = usePagination(path, 'queue');\n const isLoading = useMemo(\n () => fp.get(`[0:${max}]`, queue) === paginationStatuses.PENDING,\n [max, queue],\n );\n const isLoaded = useMemo(\n () => queue &&\n queue[`0:${max}`] &&\n queue[`0:${max}`] !== paginationStatuses.PENDING,\n [max, queue],\n );\n\n const filters = useMemoDeps(fp.get('filters'), [parameters]);\n useEffect(\n () => {\n if (filters && !isLoading && !isLoaded)\n request();\n },\n [filters, isLoading, isLoaded, request],\n );\n\n const elements = usePagination(path, 'elements');\n const total = usePagination(path, 'total') || 0;\n\n return {\n isCreate: !!parameters,\n isLoaded,\n parameters,\n elements,\n total,\n setParameters,\n };\n};\n\nexport const useOptions = ({ path, value, mapValueToOptions, mapItemToOption }) => {\n const [options, setOptions] = useState([]);\n\n const domain = useMemoDeps(getDomainTypeFromPath, [path]);\n const storage = useStorage(domain);\n\n const mapElementsToOptions = useMemo(\n () => fp.pipe(\n fp.filter(element => !!element),\n fp.map(element => mapItemToOption(storage[element])),\n elements => setOptions(value && mapValueToOptions\n ? mapValueToOptions(value, storage, elements)\n : elements),\n ),\n [storage, value, mapValueToOptions, mapItemToOption],\n );\n\n return {\n options,\n mapToOptions: mapElementsToOptions,\n };\n};\n\nconst defaultMapSearchToFilters = fp.constant({ filters: {} });\n\n/** @type {React.FC} */\nexport const PaginationSelect = React.memo(({\n path,\n disabled = false,\n value,\n maxResults,\n mapSearchToFilters = defaultMapSearchToFilters,\n mapItemToOption,\n mapValueToOptions,\n overflowKey,\n placeholder,\n loadingMessage,\n components: customComponents,\n customMenuList: CustomMenuList = components.MenuList,\n Component = Select2,\n ...props\n}) => {\n const defaultParameters = useMemo(\n () => mapSearchToFilters('', value),\n [value, mapSearchToFilters],\n );\n const {\n isCreate,\n isLoaded,\n parameters,\n elements,\n total,\n setParameters,\n } = useSelectPagination(\n path,\n maxResults,\n defaultParameters,\n );\n\n const [loading, needLoading] = useState(true);\n const { options, mapToOptions } = useOptions({\n path,\n value,\n mapValueToOptions,\n mapItemToOption,\n });\n\n const prevIsLoaded = usePrevious(isLoaded);\n useEffect(\n () => {\n if (isLoaded && !prevIsLoaded) {\n mapToOptions(elements);\n needLoading(false);\n }\n },\n [elements, prevIsLoaded, isLoaded, mapToOptions],\n );\n\n const onInputChange = useCallback(\n inputValue => {\n const newParameters = mapSearchToFilters(inputValue, value);\n if (!isCreate || !fp.isEqual(newParameters, parameters)) {\n needLoading(true);\n setParameters(\n path,\n newParameters,\n );\n }\n },\n [path, value, parameters, isCreate, mapSearchToFilters, setParameters],\n );\n\n const { t } = useTranslation();\n const MenuList = useCallback(\n ({ children, ...props }) => (\n \n {children}\n {total !== 0 && total > maxResults && (\n \n {t(overflowKey, { count: total - maxResults })}\n \n )}\n \n ),\n [CustomMenuList, maxResults, total, overflowKey, t],\n );\n\n return (\n \n );\n});\n","import React, { ComponentType, ComponentProps } from 'react';\nimport { components, ValueContainerProps, SingleValueProps, MultiValueProps } from 'react-select';\n\nimport { Select2, Text, TrashCan, cn } from 'Modules/ui';\nimport { useTranslation } from 'Modules/core/i18n';\n\nimport { usePaginationFilter, PaginationFilterField } from '../../utils';\nimport styles from './index.module.scss';\n\n\nconst ValueContainer: ComponentType> = ({ className, ...props }) => (\n \n);\n\nconst SingleValue: ComponentType> = ({ children, ...props }) => (\n \n {children}\n \n);\n\nconst MultiValue: ComponentType> = React.memo(({ className, ...props }) => (\n \n));\n\nconst MultiValueLabel: ComponentType> = React.memo(props => (\n > component='div' ellipsis title={props.data.label}>\n \n \n));\n\nconst MultiValueRemove: ComponentType> = React.memo(props => (\n
    \n \n \n \n
    \n));\n\ntype TemplateSelectFieldType = PaginationFilterField &\nOmit, 'value' | 'onChange'>;\n\nexport const PaginationSelectFilterField: ComponentType = React.memo(({\n path,\n field,\n components,\n ...props\n}) => {\n const { value, onChange } = usePaginationFilter(path, field);\n\n const { t } = useTranslation('paginationSelectFilterField');\n\n return (\n \n );\n});\n","import { state } from './state';\nimport { initializeStorage } from './state/storage/sagas';\nimport { refreshAllPaginations } from './state/pagination/sagas';\nimport translations from './translations.json';\n\n\nexport * from './state/pagination/actions';\nexport * from './state/pagination/statuses';\nexport * from './state/pagination/utils';\nexport * from './state/storage/actions';\nexport * from './state/sagas';\nexport * from './state/types';\n\nexport * from './components';\n\nexport * from './utils';\n\nexport const data = {\n state,\n\n data: {\n domain: {},\n },\n\n environment: {\n initializationSagas: [initializeStorage],\n changeLanguageSagas: [refreshAllPaginations],\n },\n\n user: {\n changeUserRoleSagas: [refreshAllPaginations],\n },\n\n translations,\n};\n","// extracted by mini-css-extract-plugin\nmodule.exports = {\"calendar\":\"CalendarField_calendar__1zAxi\",\"button\":\"CalendarField_button__1Rw8u\"};","// extracted by mini-css-extract-plugin\nmodule.exports = {\"container\":\"Dadata_container__1SMNh\",\"suggestions\":\"Dadata_suggestions__2CMHS\",\"suggestion\":\"Dadata_suggestion__1Bz_3\",\"inn\":\"Dadata_inn__2nwJQ\",\"option\":\"Dadata_option__2l75d\"};","// extracted by mini-css-extract-plugin\nmodule.exports = {\"error\":\"LoginErrorWindow_error__3iWLh\",\"languageSelector\":\"LoginErrorWindow_languageSelector__3agdp\",\"button\":\"LoginErrorWindow_button__2A2GR\"};","// extracted by mini-css-extract-plugin\nmodule.exports = {\"initializer\":\"ApplicationInitialization_initializer__3UXfT\",\"content\":\"ApplicationInitialization_content__OD3Vm\",\"loader\":\"ApplicationInitialization_loader__3TiiQ\"};","// extracted by mini-css-extract-plugin\nmodule.exports = {\"progressLoader\":\"ProgressLoader_progressLoader__2wFEd\",\"progress\":\"ProgressLoader_progress__2AmZw\",\"indeterminate\":\"ProgressLoader_indeterminate__1YmMW\"};","// extracted by mini-css-extract-plugin\nmodule.exports = {\"calendar\":\"PaginationCalendarFilterField_calendar__I6YtQ\",\"calendarContainer\":\"PaginationCalendarFilterField_calendarContainer__2Cefi\",\"divider\":\"PaginationCalendarFilterField_divider__1IcFc\"};","// extracted by mini-css-extract-plugin\nmodule.exports = {\"select\":\"PaginationSelectFilterField_select__2GZq2\"};","// extracted by mini-css-extract-plugin\nmodule.exports = {\"listPlaceholder\":\"ListPlaceholder_listPlaceholder__3L8Pb\",\"header\":\"ListPlaceholder_header__2mJ2n\",\"heading\":\"ListPlaceholder_heading__2HHrF\",\"tableLikeHeader\":\"ListPlaceholder_tableLikeHeader__1F75A\"};","\n import React from 'react';\n import SpriteSymbol from \"../../../node_modules/svg-baker-runtime/browser-symbol.js\";\n import sprite from \"../../../node_modules/svg-sprite-loader/runtime/browser-sprite.build.js\";\n\n const symbol = new SpriteSymbol({\n \"id\": \"help.sprite\",\n \"use\": \"help.sprite-usage\",\n \"viewBox\": \"0 0 56 56\",\n \"content\": \"\\n \\n\"\n});\n sprite.add(symbol);\n\n const HelpSpriteSpriteSymbol = props => (\n \n \n \n );\n export default HelpSpriteSpriteSymbol;\n ","// extracted by mini-css-extract-plugin\nmodule.exports = {\"selector\":\"CertificateSelector2_selector__2jxRa\",\"select\":\"CertificateSelector2_select__1iT6f\",\"button\":\"CertificateSelector2_button__lvAP2\",\"error\":\"CertificateSelector2_error__3XBFE\",\"reason\":\"CertificateSelector2_reason__68Vkj\"};","// extracted by mini-css-extract-plugin\nmodule.exports = {\"landing\":\"LandingLayout_landing__nZ6zg\",\"header\":\"LandingLayout_header__3Enuj\",\"links\":\"LandingLayout_links__QaE3W\",\"isOpen\":\"LandingLayout_isOpen__22Jx3\",\"mobileMenu\":\"LandingLayout_mobileMenu__2f02R\",\"active\":\"LandingLayout_active__2SnsG\",\"close\":\"LandingLayout_close__3Z53V\",\"overlay\":\"LandingLayout_overlay__17zGM\",\"transparentHeader\":\"LandingLayout_transparentHeader__C1ZIt\",\"menuIsOpen\":\"LandingLayout_menuIsOpen__1N9Ze\",\"fixedHeader\":\"LandingLayout_fixedHeader__2zhlH\",\"showHeader\":\"LandingLayout_showHeader__3eBl_\",\"logo\":\"LandingLayout_logo__1nvr4\",\"linkContent\":\"LandingLayout_linkContent__2yeL7\",\"logoLink\":\"LandingLayout_logoLink__17fBE\",\"activeLink\":\"LandingLayout_activeLink__4ql9z\",\"headerLink\":\"LandingLayout_headerLink__2mHBS\",\"mobileCopyright\":\"LandingLayout_mobileCopyright__tmHO-\",\"info\":\"LandingLayout_info__1ZTJK\",\"copyright\":\"LandingLayout_copyright__29n5j\",\"copyrightWrapper\":\"LandingLayout_copyrightWrapper__2-ovW\",\"psinfo\":\"LandingLayout_psinfo__1buCH\",\"coRegistration__wrapper\":\"LandingLayout_coRegistration__wrapper__1hgzY\",\"coRegistration\":\"LandingLayout_coRegistration__2lIxd\"};","\n import React from 'react';\n import SpriteSymbol from \"../../../node_modules/svg-baker-runtime/browser-symbol.js\";\n import sprite from \"../../../node_modules/svg-sprite-loader/runtime/browser-sprite.build.js\";\n\n const symbol = new SpriteSymbol({\n \"id\": \"info.sprite\",\n \"use\": \"info.sprite-usage\",\n \"viewBox\": \"0 0 56 56\",\n \"content\": \"\\n \\n\"\n});\n sprite.add(symbol);\n\n const InfoSpriteSpriteSymbol = props => (\n \n \n \n );\n export default InfoSpriteSpriteSymbol;\n ","// extracted by mini-css-extract-plugin\nmodule.exports = {\"container\":\"PaginationList_container__3RQvZ\",\"list\":\"PaginationList_list__2nnVc\",\"placeholder\":\"PaginationList_placeholder__3vGOC\"};","// extracted by mini-css-extract-plugin\nmodule.exports = {\"dropdown\":\"Dropdown_dropdown__MXBHH\",\"option\":\"Dropdown_option__2lWqG\",\"select\":\"Dropdown_select__2ltAZ\"};","// extracted by mini-css-extract-plugin\nmodule.exports = {\"cell\":\"Cells_cell__3BwIC\",\"first\":\"Cells_first__1-ovZ\",\"last\":\"Cells_last__3hvC-\"};","const errors = {\n notAuthorized: 'Ошибка авторизации',\n forbidden: 'Операция запрещена',\n notFound: 'Не найдено',\n unknown: 'Неизвестная ошибка',\n tooLarge: 'Превышен размер запроса',\n};\n\nexport const errorFormatter = key => errors[key] || errors.unknown;\n","import { saveAs as fileSaver } from 'file-saver';\nimport {\n rawRequest, createApiCaller,\n getFilename, checkContentType, contentTypeJson, contentTypeErrorJson,\n UnknownError, request,\n} from '@factorin/rest';\nimport { API, config } from '@factorin/container.macro';\n\n\nconst saveAsFile = (response, filename) =>\n fileSaver(response.data, filename);\n\n\nconst readBlobJson = blob => new Promise((resolve, reject) => {\n const reader = new window.FileReader();\n reader.onload = () => {\n try {\n resolve(JSON.parse(reader.result));\n } catch (err) {\n reject(err);\n }\n };\n reader.onerror = () => reject(reader.error);\n reader.readAsText(blob);\n});\n\nconst webApiCaller = createApiCaller(({ headers }) => ({\n basePath: config.basePath,\n apiPath: config.apiPath,\n headers: {\n 'Accept-Language': window.localStorage.getItem('language'),\n ...API.state.requestHeaders,\n ...headers,\n },\n}));\n\nconst getResponseAsJSON = async response => {\n let json = (checkContentType(response, contentTypeErrorJson) ||\n checkContentType(response, contentTypeJson)) && response.data;\n if (json instanceof window.Blob && json.type === contentTypeJson)\n json = await readBlobJson(json);\n return json;\n};\n\n/** @type { (request: any, args: { saveAs?: boolean, [rest: string]: any; }) } */\nexport const wrapRequest = async (request, { saveAs, ...args } = {}) => {\n try {\n const response = await request(args);\n const data = await getResponseAsJSON(response) || response.data;\n switch (response.status) {\n case 200:\n case 201:\n case 202:\n case 304:\n if (saveAs) {\n return saveAsFile(\n response,\n getFilename(response.headers, saveAs),\n );\n }\n return data;\n case 204:\n return undefined;\n default:\n throw new UnknownError(response);\n }\n } catch (error) {\n const json = await getResponseAsJSON(error.response);\n switch (error.response.status) {\n case 413:\n throw new Error(API.errorFormatter('tooLarge'));\n case 400:\n case 404:\n case 500:\n if (json && json.title) {\n error.message = json.title;\n break;\n }\n // falls through\n default:\n error.message = API.errorFormatter(error.message) || error.message;\n if (error instanceof UnknownError && error.response)\n error.message += ` (HTTP ${error.response.status})`;\n break;\n }\n throw error;\n }\n};\n\nexport const wrapApi = (func, ...args) => func(...args);\n\nexport const callApi = (apiCall, callArgs) =>\n wrapRequest(args => webApiCaller(apiCall, args), callArgs);\n\nconst method = method => args => callApi(request, { method, ...args });\n\nexport const get = method('GET');\nexport const post = method('POST');\nexport const put = method('PUT');\nexport const patch = method('PATCH');\nexport const remove = method('DELETE');\n\nexport const getFromPublicDir = (path, options = {}) => wrapRequest(rawRequest, {\n method: 'GET',\n url: `${config.basePath || ''}${config.pathPrefix || ''}/${path}`,\n ...options,\n});\n","import { API } from '@factorin/container.macro';\n\nimport { state } from './state';\nimport { errorFormatter } from './errorFormatter';\nimport { apiMiddleware } from './middleware';\nimport { callApi, wrapApi } from './rest';\n\n\nexport * from './rest';\n\nexport const api = {\n API: {\n errorFormatter,\n state,\n call: callApi,\n wrap: wrapApi,\n },\n\n config: {\n apiPath: '/api',\n pathPrefix: '',\n },\n state: {\n middleware: [\n apiMiddleware,\n ],\n },\n};\n\nexport const apiCall = (apiCall, callArgs) => API.call(apiCall, callArgs);\n\nif (process.env.NODE_ENV === 'development' && module.hot) {\n api.API.$updateHot = ({ state: oldState }, API) => ({\n ...API,\n state: oldState,\n });\n}\n","export const state = {\n requestHeaders: {},\n};\n","import { API } from '@factorin/container.macro';\n\n\nexport const apiMiddleware = () => next => action => {\n const { state, stateMap } = API;\n const { type, $payload } = action;\n\n if (stateMap && type in stateMap)\n Object.assign(state, stateMap[type](state, $payload));\n\n return next(action);\n};\n","// extracted by mini-css-extract-plugin\nmodule.exports = {\"container\":\"CheckboxHeader_container__1Jk--\",\"checkbox\":\"CheckboxHeader_checkbox__3XHJV\",\"checkboxMark\":\"CheckboxHeader_checkboxMark__2hnCc\"};","// extracted by mini-css-extract-plugin\nmodule.exports = {\"crudTable\":\"CrudTable_crudTable__2vDnh\",\"buttons\":\"CrudTable_buttons__3SFoy\",\"remove\":\"CrudTable_remove__16GNy\"};","// extracted by mini-css-extract-plugin\nmodule.exports = {\"list\":\"EntitysList_list__1_ngZ\",\"button\":\"EntitysList_button__mRfo1\",\"checkboxPlaceholder\":\"EntitysList_checkboxPlaceholder__2b1L5\",\"checkbox\":\"EntitysList_checkbox__1h0PF\"};","// extracted by mini-css-extract-plugin\nmodule.exports = {\"window\":\"FactorinWindow_window__2LJH5\",\"fillGray\":\"FactorinWindow_fillGray__24VRv\"};","// extracted by mini-css-extract-plugin\nmodule.exports = {\"closingOverlay\":\"ClosingOverlay_closingOverlay__2OxDU\",\"darken\":\"ClosingOverlay_darken__RScwp\"};","// extracted by mini-css-extract-plugin\nmodule.exports = {\"icon\":\"Icon_icon__1d-nd Typography_icon__1VAkj\",\"size-56\":\"Icon_size-56__18y1B\",\"size-48\":\"Icon_size-48__2C1Qy\",\"size-40\":\"Icon_size-40__1COjF\",\"size-32\":\"Icon_size-32__3FSrt\",\"size-24\":\"Icon_size-24__2KucM\",\"size-16\":\"Icon_size-16__uJjIe\"};","// extracted by mini-css-extract-plugin\nmodule.exports = {\"row\":\"Layout_row__KW0wG\",\"column\":\"Layout_column__3Xt-n\"};","import fp from 'lodash/fp';\nimport clsx from 'clsx';\nimport React, { ComponentType, Consumer, SyntheticEvent, ElementType, MutableRefObject } from 'react';\nimport { config } from '@factorin/container.macro';\n\nimport styles from './utils.module.scss';\n\n\nexport const { grabCursor } = styles;\n\nexport const animation: number = 300;\n\nexport const stopPropagation = (event: SyntheticEvent) =>\n event && event.stopPropagation();\n\nexport type FactorinCheckModel = {\n all: boolean;\n include: number[];\n exclude: number[];\n};\n\nexport const DEFAULT_CHECK_MODEL: FactorinCheckModel = {\n all: false,\n include: [],\n exclude: [],\n};\n\nexport const setHtml = (html: string) => ({\n dangerouslySetInnerHTML: { __html: html },\n});\n\nexport const setRef = (ref: React.Ref, value: TRef): void => {\n if (ref && fp.isFunction(ref))\n ref(value);\n if (ref && 'current' in ref) {\n const mutableRef = ref as MutableRefObject;\n mutableRef.current = value;\n }\n};\n\nexport const multipleRef = (...refs: React.Ref[]) =>\n (value: TRef): void =>\n refs.forEach(ref => setRef(ref, value));\n\nexport const getDisplayName = (...args: ComponentType[]) => args\n .map(Component => Component.displayName || Component.name || 'Component')\n .join(', ');\n\nexport type Omit =\n Pick>;\n\nexport const contextHOC =\n \n (Context: Consumer) =>\n (\n Component: ComponentType,\n ): ComponentType> =>\n (props: Omit) => (\n \n {value => {\n const allProps = { ...value, ...props } as PComponent;\n return ;\n }}\n \n );\n\nexport interface ClassName {\n className?: string;\n}\n\nexport const withClassName = (\n className: string,\n component: ElementType,\n): ComponentType => ({ className: additionalClassName, ...props }) =>\n React.createElement(component, {\n ...props,\n className: clsx(className, additionalClassName),\n } as PComponent);\n\nexport type Forbid = TType & {\n [K in keyof TForbid]?: never;\n};\n\nexport type ComponentWrapper = PWrapper & {\n component: ElementType>;\n componentRef?: React.Ref;\n};\n\nexport type ComponentWrapperProps =\n PComponent & ComponentWrapper;\n\nexport { clsx as cn };\n\ntype LocalStorageMappers = {\n serialize: (item: TItem) => string;\n deserialize: (saved: string) => TItem;\n fallback?: TItem | (() => TItem);\n};\n\ntype LocalStorageAccessors = {\n get: () => TItem;\n set: (value: TItem) => void;\n};\n\ninterface LocalStorageAccessor {\n (\n key: string,\n mappers: LocalStorageMappers\n ): LocalStorageAccessors;\n (\n key: string,\n mappers?: Partial>\n ): LocalStorageAccessors;\n}\n\nexport const localStorageAccessor: LocalStorageAccessor = (\n key: string,\n mappers?: Partial>,\n) => ({\n get: fp.pipe(\n () => window.localStorage.getItem(key),\n serialized => serialized\n ? mappers && mappers.deserialize && mappers.deserialize(serialized)\n : mappers && fp.isFunction(mappers.fallback)\n ? mappers.fallback()\n : mappers && mappers.fallback || null,\n ),\n set: fp.pipe(\n mappers && mappers.serialize || fp.toString,\n (serialized: string) => window.localStorage.setItem(key, serialized),\n ),\n});\n\nexport const localStorageAccessorJSON = (\n key: string,\n fallback?: TItem | (() => TItem),\n): LocalStorageAccessors =>\n localStorageAccessor(key, {\n serialize: JSON.stringify,\n deserialize: value => {\n try {\n return JSON.parse(value);\n } catch (error) {\n return fallback || null;\n }\n },\n fallback,\n });\n\nexport function addChildrenProps(children: React.ReactNode, props: object): React.ReactNode;\nexport function addChildrenProps(children: React.ReactNode[], props: object): React.ReactNode[];\nexport function addChildrenProps(children: React.ReactNode | React.ReactNode[], props: object) {\n const addProps = (child: React.ReactNode): React.ReactNode => React.isValidElement(child)\n ? React.cloneElement(child, props)\n : child;\n if (fp.isArray(children))\n return children.map(addProps);\n return addProps(children);\n}\n\nexport const fileUrl = (url: string) => url.replace('./',\n `${config.basePath || ''}${config.pathPrefix || ''}/`);\n\nexport const scrollToTop = (top: number = 0) => {\n if ('scrollTo' in window) {\n window.scrollTo({\n top,\n behavior: 'smooth',\n });\n } else\n window.scroll(0, top);\n};\n","import { createActionNamespace } from 'Modules/core/redux';\n\nimport { Upload, Progress } from './types';\n\n\nconst uploadsAction = createActionNamespace('uploads');\n\nexport const uploadsActions = {\n upload: uploadsAction('UPLOAD'),\n progressUpload: uploadsAction('PROGRESS_UPLOAD'),\n finishUpload: uploadsAction('FINISH_UPLOAD'),\n};\n","import fp from 'lodash/fp';\n\nimport { lookupTableReducer } from 'Modules/core/redux';\n\nimport { uploadsActions } from './actions';\n\n\nconst defaultState = {};\n\nconst actionLookup = {\n [uploadsActions.progressUpload]: (state, upload) => ({\n ...state,\n [upload.id]: upload,\n }),\n [uploadsActions.finishUpload]: (state, id) =>\n fp.pickBy(x => x.id !== id)(state),\n};\n\nexport const reducer = lookupTableReducer(defaultState, actionLookup);\n","import fp from 'lodash/fp';\nimport bytes from 'bytes';\nimport { all, put, select, takeEvery } from 'redux-saga/effects';\nimport { API } from '@factorin/container.macro';\n\nimport { callApi, apiCall } from 'Modules/core/api';\nimport { messagingActions, withErrorHandler } from 'Modules/core/messaging';\nimport { createUploadChannel, runChannel, augmentSaga, ActionPayload } from 'Modules/core/redux';\nimport { getDomainTypeFromPath } from 'Modules/business/data';\n\nimport { uploadsActions } from './actions';\nimport { Upload } from './types';\n\n\nfunction* upload({ $payload }: ActionPayload) {\n const { files, paginationPath, query } = $payload;\n\n const maxSizeMB = yield select(fp.get('environment.maxUploadFileSizeMB')) || 50;\n const uploadMaxSize = maxSizeMB * 1024 * 1024;\n\n const type = getDomainTypeFromPath(paginationPath);\n const size = fp.sumBy('size', files);\n if (fp.isEmpty(files)) {\n yield put(\n messagingActions.showNotification({\n content: 'uploads.emptyFiles',\n }),\n );\n return;\n }\n if (size > uploadMaxSize) {\n yield put(\n messagingActions.showNotification({\n content: {\n key: 'uploads.maxSize',\n values: {\n size: bytes(size),\n maxSize: bytes(uploadMaxSize),\n },\n },\n }),\n );\n return;\n }\n yield all(files.map(file => {\n const data = new window.FormData();\n data.append('FileToUpload', file);\n return apiCall(API.domain[type].upload, { data, query });\n }));\n yield put(\n messagingActions.showNotification({\n content: {\n key: 'uploads.success',\n values: {\n count: files.length,\n },\n },\n }),\n );\n}\n\nexport function* uploadFileWithProgress({\n id,\n query,\n data,\n type,\n formDataKey,\n additionalInfo = {},\n}) {\n const formData = new window.FormData();\n formData.append(formDataKey, data);\n Object.keys(additionalInfo).forEach(k => {\n formData.append(k, additionalInfo[k]);\n });\n\n const progressChannel = createUploadChannel(\n args => callApi(API.domain[type].upload, args),\n { data: formData, query },\n );\n return yield runChannel(\n progressChannel,\n progress => uploadsActions.progressUpload({ id, ...progress }),\n () => uploadsActions.finishUpload(id),\n );\n}\n\nexport const sagas = [\n takeEvery(`${uploadsActions.upload}`, augmentSaga(\n upload,\n withErrorHandler('uploads.uploadError'),\n )),\n];\n","export const REDUCER_NAME = 'uploads';\n","import { useSelector } from 'Modules/core/redux';\n\nimport { Progress } from './types';\nimport { REDUCER_NAME } from './constants';\n\n\nexport const useUploads = (id: Progress['id']): Progress =>\n useSelector(`${REDUCER_NAME}.${id}`);\n","import { reducer } from './reducer';\nimport { sagas } from './sagas';\nimport { REDUCER_NAME } from './constants';\n\n\nexport * from './actions';\nexport * as UploadsTypes from './types';\nexport { uploadFileWithProgress } from './sagas';\nexport * from './hooks';\n\nexport const state = {\n reducer: {\n [REDUCER_NAME]: reducer,\n },\n sagas,\n};\n","// extracted by mini-css-extract-plugin\nmodule.exports = {\"infoIcon\":\"common_infoIcon__1sp_N\",\"errorIcon\":\"common_errorIcon__2fuIT\",\"buttons\":\"common_buttons__1XFgJ\",\"button\":\"common_button__Po1Tm\",\"description\":\"common_description__2qHAd\"};","import { eventChannel, END } from 'redux-saga';\nimport { take, put } from 'redux-saga/effects';\n\n\nconst createRequestChannel = progressType => (request, args) => eventChannel(\n emitter => {\n const onProgress = event => {\n const totalLength = event.lengthComputable\n ? event.total\n : event.target.getResponseHeader('content-length');\n emitter({\n indeterminate: !totalLength,\n value: totalLength ? event.loaded / totalLength : 0,\n });\n };\n let cancel = () => {};\n (async () => {\n // break out of event loop\n await Promise.resolve();\n\n emitter({ indeterminate: true });\n try {\n const result = await request({\n ...args,\n [progressType]: onProgress,\n setCancel: c => {\n cancel = c;\n },\n });\n emitter({ done: true, result });\n } catch (error) {\n emitter({ error });\n }\n emitter(END);\n })();\n return () => cancel();\n },\n);\n\nexport const createDownloadChannel = createRequestChannel('onDownloadProgress');\nexport const createUploadChannel = createRequestChannel('onUploadProgress');\n\nexport function* runChannel(channel, getProgressAction, getFinishAction) {\n try {\n while (true) {\n const { error, done, result, ...progress } = yield take(channel);\n if (error)\n throw error;\n\n if (done)\n return result;\n\n yield put(getProgressAction(progress));\n }\n } finally {\n yield put(getFinishAction());\n }\n}\n\nexport const augmentSaga = (saga, ...wrapperSagas) => wrapperSagas.reduceRight(\n (saga, wrapperSaga) => function* aurmenter(...args) {\n yield wrapperSaga(() => saga(...args))(...args);\n },\n saga,\n);\n","import { HelmetProvider } from './components/HelmetProvider';\n\n\nexport { Helmet } from 'react-helmet-async';\n\nexport const helmet = {\n renderChain: [\n [HelmetProvider, 50],\n ],\n};\n","import React, { ComponentType, FC } from 'react';\nimport { HelmetProvider as AsyncHelmetProvider } from 'react-helmet-async';\n\n\nexport const HelmetProvider:FC<{ Next: ComponentType }> = ({ Next }) => (\n \n \n \n);\n","import React, { RefAttributes, PropsWithChildren, FunctionComponent } from 'react';\nimport { Typography, TypographyProps } from '@mui/material';\n\nimport { cn, ClassName, ComponentWrapperProps } from '../../utils';\nimport styles from './index.module.scss';\n\n\ntype Ellipsis = {\n ellipsis?: boolean;\n};\n\nconst applyEllipsis = (ellipsis?: boolean) => ellipsis && styles.ellipsis;\n\nexport type LabelProps = Ellipsis & {\n weight?: 'regular' | 'medium' | 'bold';\n textSize: '48' | '40' | '36' | '32' | '28' | '24' | '20';\n};\n\nexport const Label = >({\n component,\n componentRef,\n weight,\n textSize,\n ellipsis, // LabelProps\n className,\n ...props // PComponent\n}: ComponentWrapperProps) =>\n React.createElement(component, {\n ...props,\n ref: componentRef,\n className: cn(\n styles.label,\n styles[weight],\n styles[`label-${textSize}`],\n applyEllipsis(ellipsis),\n className,\n ),\n } as any as PComponent & RefAttributes);\n\ntype TextProps = Ellipsis & {\n textSize: '40' | '36' | '32' | '28' | '24' | '20' | '18' | '16' | '14' | '12' | '10';\n weight?: 'regular' | 'medium' | 'bold';\n};\n\nexport const Text = >({\n component,\n componentRef,\n textSize,\n ellipsis,\n weight, // TextProps\n className,\n ...props // PComponent\n}: ComponentWrapperProps) =>\n React.createElement(component, {\n ...props,\n ref: componentRef,\n className: cn(\n styles.text,\n styles[weight],\n styles[`text-${textSize}`],\n applyEllipsis(ellipsis),\n className,\n ),\n } as any as PComponent & RefAttributes);\n\nexport const linkAnchorClass = styles.linkContent;\n\nexport const Note: FunctionComponent = ({ className, children }) => (\n {children}\n);\n\nexport { Typography };\nexport type { TypographyProps };\n","import fp from 'lodash/fp';\nimport { useCallback } from 'react';\nimport { connect, useSelector, useDispatch } from 'react-redux';\nimport { push, RouterRootState } from 'connected-react-router';\nimport { Path, LocationState, LocationDescriptorObject } from 'history';\n\nimport { useCallbackNoWarn, useMemoNoWarn } from 'Modules/ui2/hooks';\n\nimport { ActionCreator, ActionCreatorWithPath } from './state';\n\n\nexport const withConnectedRouter = connect(\n ({ router }: RouterRootState) => ({\n location: router.location,\n }),\n { push },\n);\n\ntype SelectorType = string | ((state: TState) => any);\n\nconst useSelectorCustom = (\n selector: SelectorType,\n deps?: any[],\n): TReturn => {\n const selectorFunc = useCallbackNoWarn(\n state => fp.isString(selector) ? fp.get(selector, state) : selector(state),\n deps || [selector],\n );\n return useSelector(selectorFunc);\n};\n\ntype ReturnDispatchType =\n ReturnType> | ReturnType>;\n\ntype FunctionActionType = (value: TValue) => ReturnDispatchType;\n\ntype CheckParameters void> =\nTValue extends object | string | number\n ? TReturnType\n : () => void;\n\ntype ReturnActionWithPath = (path: string, value: TPayload) => void;\n\nexport function useAction(\n action: FunctionActionType,\n deps?: any[],\n): CheckParameters;\nexport function useAction(\n action: ActionCreator,\n deps?: any[],\n): CheckParameters;\nexport function useAction(\n action: ActionCreatorWithPath,\n deps?: any[],\n): CheckParameters>;\nexport function useAction(\n action: ActionCreator |\n ActionCreatorWithPath |\n FunctionActionType,\n deps?: any[],\n) {\n const dispatch = useDispatch();\n return useMemoNoWarn(\n () => fp.pipe(action, dispatch),\n deps ? [dispatch, ...deps] : [action, dispatch],\n );\n}\n\nexport const useConnectedRouter = () => {\n const location = useSelectorCustom('router.location');\n\n const dispatch = useDispatch();\n const pushTo = useCallback(\n (path: Path | LocationDescriptorObject, state?: LocationState) => {\n if (typeof path === 'string')\n dispatch(push(path, state));\n else\n dispatch(push(path));\n },\n [dispatch],\n );\n\n return {\n location,\n push: pushTo,\n };\n};\n\nexport { connect, useDispatch, useSelectorCustom as useSelector };\n","// extracted by mini-css-extract-plugin\nmodule.exports = {\"control\":\"PaginationParametersControl_control__1LkM9\",\"positioner\":\"PaginationParametersControl_positioner__1PAdh\"};","// extracted by mini-css-extract-plugin\nmodule.exports = {\"content\":\"PromptModal_content__2v6hx\",\"buttons\":\"PromptModal_buttons__Zd0W5\"};","// extracted by mini-css-extract-plugin\nmodule.exports = {\"count\":\"DraggablePopup_count__1PVzh\",\"amount\":\"DraggablePopup_amount__1N6Cd\"};","// extracted by mini-css-extract-plugin\nmodule.exports = {\"list\":\"RegistersList_list__UDRBd\",\"container\":\"RegistersList_container__1q_Mw\",\"button\":\"RegistersList_button__2dQar\"};","// extracted by mini-css-extract-plugin\nmodule.exports = {\"container\":\"FormControls_container__27c8O\",\"control\":\"FormControls_control__UUbr7\",\"shadow\":\"FormControls_shadow__OHMQh\",\"isOpen\":\"FormControls_isOpen__1v35r\",\"error\":\"FormControls_error__1A0UV\",\"input\":\"FormControls_input__3jfP-\",\"visibleOption\":\"FormControls_visibleOption__1FaAl\",\"readOnly\":\"FormControls_readOnly__2mbar\",\"label\":\"FormControls_label__oqnh-\",\"errorLabel\":\"FormControls_errorLabel__MS92P\",\"labelUp\":\"FormControls_labelUp__2crJx\",\"icon\":\"FormControls_icon__21OH8\",\"errorIcon\":\"FormControls_errorIcon__3Xbep\",\"size-48\":\"FormControls_size-48__2VMJ4\",\"description\":\"FormControls_description__TyuqF\",\"hasIcon\":\"FormControls_hasIcon__2eX6j\",\"selectMenu\":\"FormControls_selectMenu__3ts7C\",\"selectOption\":\"FormControls_selectOption__1p_ko\",\"size-56\":\"FormControls_size-56__2H8uR\",\"down\":\"FormControls_down__1dw4X\",\"up\":\"FormControls_up__1NZtt\",\"selectButton\":\"FormControls_selectButton__2_Z4r\",\"selected\":\"FormControls_selected__3dGOy\",\"focused\":\"FormControls_focused___y8Mu\",\"fileControl\":\"FormControls_fileControl__2CMVZ\",\"fileName\":\"FormControls_fileName__2HaFC\",\"fileNameContent\":\"FormControls_fileNameContent__161AD\",\"fileButton\":\"FormControls_fileButton__2JET6\"};","// extracted by mini-css-extract-plugin\nmodule.exports = {\"error\":\"ArrayErrorsComponent_error__3Ziqb\"};","// extracted by mini-css-extract-plugin\nmodule.exports = {\"radio\":\"RadioField_radio__1Ld1-\"};","// extracted by mini-css-extract-plugin\nmodule.exports = {\"uiPortal\":\"UiPortal_uiPortal__u3F5r\"};","// extracted by mini-css-extract-plugin\nmodule.exports = {\"updateScrollClass\":\"List_updateScrollClass__2i7PH\"};","module.exports = \"data:image/svg+xml,%3csvg width='24' height='24' viewBox='0 0 24 24' fill='none' xmlns='http://www.w3.org/2000/svg'%3e %3cpath d='M7 14V20H17V14H7ZM17 12C17.5304 12 18.0391 12.2107 18.4142 12.5858C18.7893 12.9609 19 13.4696 19 14V20C19 20.5304 18.7893 21.0391 18.4142 21.4142C18.0391 21.7893 17.5304 22 17 22H7C6.46957 22 5.96086 21.7893 5.58579 21.4142C5.21071 21.0391 5 20.5304 5 20V14C5 13.4696 5.21071 12.9609 5.58579 12.5858C5.96086 12.2107 6.46957 12 7 12V7C7 5.67392 7.52678 4.40215 8.46447 3.46447C9.40215 2.52678 10.6739 2 12 2C13.3261 2 14.5979 2.52678 15.5355 3.46447C16.4732 4.40215 17 5.67392 17 7V12ZM15 12V7C15 6.60603 14.9224 6.21593 14.7716 5.85195C14.6209 5.48797 14.3999 5.15726 14.1213 4.87868C13.8427 4.6001 13.512 4.37913 13.1481 4.22836C12.7841 4.0776 12.394 4 12 4C11.606 4 11.2159 4.0776 10.8519 4.22836C10.488 4.37913 10.1573 4.6001 9.87868 4.87868C9.6001 5.15726 9.37913 5.48797 9.22836 5.85195C9.0776 6.21593 9 6.60603 9 7V12H15ZM12 19C11.4696 19 10.9609 18.7893 10.5858 18.4142C10.2107 18.0391 10 17.5304 10 17C10 16.4696 10.2107 15.9609 10.5858 15.5858C10.9609 15.2107 11.4696 15 12 15C12.5304 15 13.0391 15.2107 13.4142 15.5858C13.7893 15.9609 14 16.4696 14 17C14 17.5304 13.7893 18.0391 13.4142 18.4142C13.0391 18.7893 12.5304 19 12 19Z' fill='black'/%3e %3c/svg%3e\"","// extracted by mini-css-extract-plugin\nmodule.exports = {\"modal\":\"ErrorModal_modal__3UbRh\"};","// extracted by mini-css-extract-plugin\nmodule.exports = {\"grabCursor\":\"utils_grabCursor__2Op4Z\"};","// extracted by mini-css-extract-plugin\nmodule.exports = {\"loadingIndicator\":\"LoadingIndicator_loadingIndicator__2DUQK\",\"loading\":\"LoadingIndicator_loading__ACSk3\"};","// extracted by mini-css-extract-plugin\nmodule.exports = {\"item\":\"ListItem_item__PNYV8\",\"focused\":\"ListItem_focused__1Am7Q\",\"placeholder\":\"ListItem_placeholder__2o7a3\",\"selected\":\"ListItem_selected__3hlyY\",\"child\":\"ListItem_child__3CGPo\",\"amount\":\"ListItem_amount__rnDsG\",\"menu\":\"ListItem_menu__2UtmY\",\"signed\":\"ListItem_signed__2bLNL\",\"line\":\"ListItem_line__3qeUU\",\"number\":\"ListItem_number__3RM7k\",\"icon\":\"ListItem_icon__3bkIW\",\"date\":\"ListItem_date__2Hpid\",\"icons\":\"ListItem_icons__10sfn\",\"rightIcon\":\"ListItem_rightIcon__1t79T\",\"statusIcon\":\"ListItem_statusIcon__vfBr8\",\"forChild\":\"ListItem_forChild__Fo2LF\",\"lightIcon\":\"ListItem_lightIcon__1cKqw\",\"processed\":\"ListItem_processed__k2JnQ\",\"checkbox\":\"ListItem_checkbox__3P4Aw\",\"contractor\":\"ListItem_contractor__3gPbW\",\"discountAmounts\":\"ListItem_discountAmounts__ufBYY\",\"actionLine\":\"ListItem_actionLine__3R6BP\",\"discountActionLine\":\"ListItem_discountActionLine__2jnAP\",\"description\":\"ListItem_description__20zBn\",\"tariff\":\"ListItem_tariff__2VKN2\",\"endDate\":\"ListItem_endDate__2kWNM\"};","// extracted by mini-css-extract-plugin\nmodule.exports = {\"heading\":\"Preamble_heading__19LN6\",\"link\":\"Preamble_link__1SU6Q\",\"step1\":\"Preamble_step1__GEUVJ\",\"commercialTerms\":\"Preamble_commercialTerms__18qbF\",\"commercialTermItems\":\"Preamble_commercialTermItems__247Sn\",\"commercialTerm\":\"Preamble_commercialTerm__1ORe9\",\"preamble\":\"Preamble_preamble__364pk\",\"note\":\"Preamble_note__3aHsY\",\"termClarification\":\"Preamble_termClarification__3lA2E\"};","import React from 'react';\n\nimport { ClassName, cn } from '../../utils';\nimport styles from './index.module.scss';\n\n\nexport const LoadingIndicator: React.FunctionComponent = ({ className }) => (\n \n \n \n \n \n \n \n \n \n \n);\n","import React, { forwardRef, ButtonHTMLAttributes, PropsWithChildren } from 'react';\nimport 'what-input';\n\nimport { LoadingIndicator } from '../LoadingIndicator';\nimport { cn, ClassName } from '../../utils';\nimport styles from './index.module.scss';\n\n\nexport interface ButtonProps extends PropsWithChildren {\n /** Размер кнопки (высота в px) */\n size?: '64' | '56' | '48' | '40' | '32';\n variant?: 'auxiliary' | 'normal' | 'secondary' | 'background';\n loading?: boolean;\n\n type?: ButtonHTMLAttributes['type'];\n onClick?: ButtonHTMLAttributes['onClick'];\n disabled?: ButtonHTMLAttributes['disabled'];\n title?: ButtonHTMLAttributes['title'];\n style?: ButtonHTMLAttributes['style'];\n value?: ButtonHTMLAttributes['value'];\n tabIndex?: ButtonHTMLAttributes['tabIndex'];\n onMouseDown?: ButtonHTMLAttributes['onMouseDown'];\n}\n\n/**\n * Стандартная кнопка в нескольких вариантах\n *\n * Вариант `auxiliary` не имеет стилей, позволяя делать кастомные кнопки со\n * стандартным поведением (навигация с клавиатуры и окантовка при фокусе)\n */\nexport const Button = forwardRef(({\n className, children,\n variant, size, loading,\n type, onClick, onMouseDown, disabled, title, style, value, tabIndex,\n}, ref) => (\n \n {loading && (\n
    \n \n
    \n )}\n {children}\n \n));\n\nButton.defaultProps = {\n variant: 'auxiliary',\n type: 'button',\n size: '32',\n};\n","import React, { FunctionComponent, PropsWithChildren } from 'react';\n\nimport { cn, ClassName } from '../../utils';\nimport styles from './index.module.scss';\n\n\nexport interface CheckboxProps extends PropsWithChildren {\n size?: '24' | '32';\n variant?: 'checkbox' | 'radiobutton';\n name?: string;\n checked: boolean;\n disabled?: boolean;\n onClick?: (event: React.MouseEvent) => void;\n onChange?: (event: React.ChangeEvent) => void;\n onBlur?: (event: React.FocusEvent) => void;\n onFocus?: (event: React.FocusEvent) => void;\n}\n\nconst markComponents = {\n checkbox: ,\n radiobutton: ,\n};\n\nexport const CheckBox: FunctionComponent = ({\n children,\n className,\n disabled,\n variant,\n size,\n onClick,\n\n name,\n checked,\n onChange,\n onBlur,\n onFocus,\n}) => (\n \n \n \n \n {markComponents[variant]}\n \n \n {children && (\n \n {children}\n \n )}\n \n);\n\nCheckBox.defaultProps = {\n size: '24',\n variant: 'checkbox',\n};\n","import { ComponentType } from 'react';\nimport ReactDOM from 'react-dom';\n\n\nconst root = document.getElementById('root');\n\nexport type PortalProps = {\n children: JSX.Element;\n}\n\nexport const Portal: ComponentType = ({ children }) =>\n root && ReactDOM.createPortal(children, root);\n","import React, { ComponentType, useCallback, SyntheticEvent } from 'react';\nimport { tryInvoke } from '@factorin/util';\n\nimport { Portal } from '../Portal';\nimport { cn, stopPropagation } from '../../utils';\nimport styles from './index.module.scss';\n\n\ntype ClosingOverlayProps = {\n darken?: boolean;\n zIndex?: number;\n onClose?: () => void;\n}\n\nexport const ClosingOverlay: ComponentType = ({\n darken, zIndex = 0, onClose, children,\n}) => (\n <>\n {children}\n \n {\n stopPropagation(e);\n tryInvoke(onClose);\n },\n [onClose],\n )}\n style={{ zIndex }}\n className={cn(styles.closingOverlay, {\n [styles.darken]: darken,\n })}\n />\n \n \n);\n","import React, { FunctionComponent, ComponentType } from 'react';\n\nimport { ClassName, cn } from '../../utils';\nimport styles from './index.module.scss';\n\n\ninterface IconProps extends ClassName {\n icon: ComponentType;\n size?: '56' | '48' | '40' | '32' | '24' | '16';\n\n [prop: string]: any;\n}\n\nexport const Icon: FunctionComponent = ({ icon: Icon, size, className, ...props }) => (\n \n);\n\nIcon.defaultProps = {\n size: '24',\n};\n","import React, { ComponentType } from 'react';\nimport { CSSTransition } from 'react-transition-group';\n\n\nexport type TransitionComponentProps = {\n timeout: number;\n in?: boolean;\n keepInDOM?: boolean;\n onEntered?: (node: HTMLElement) => void;\n};\n\nexport const TransitionComponent: ComponentType = ({\n timeout,\n keepInDOM,\n ...props\n}) => (\n // @ts-ignore\n \n);\n\nexport { TransitionGroup, Transition } from 'react-transition-group';\n","import React, { RefAttributes, PropsWithChildren, AnchorHTMLAttributes, FunctionComponent, ComponentType } from 'react';\n\nimport { cn, ClassName, ComponentWrapperProps } from '../../utils';\nimport styles from './index.module.scss';\nimport { Icon } from '../Icon';\n\n\ntype Ellipsis = {\n ellipsis?: boolean;\n};\n\nconst applyEllipsis = (ellipsis?: boolean) => ellipsis && styles.ellipsis;\n\nexport type LabelProps = Ellipsis & {\n weight?: 'light' | 'regular' | 'medium' | 'demibold';\n textSize: '72' | '48' | '40' | '32' | '24' | '21-24' | '21-32' | '18' | '16' | '14' | '12' | '10' | '9';\n};\n\nexport const Label = >({\n component, componentRef,\n weight, textSize, ellipsis, // LabelProps\n className, ...props // PComponent\n}: ComponentWrapperProps) =>\n React.createElement(component, {\n ...props,\n ref: componentRef,\n className: cn(\n styles.label,\n styles[weight],\n styles[`label-${textSize}`],\n applyEllipsis(ellipsis),\n className,\n ),\n } as any as PComponent & RefAttributes);\n\nLabel.defaultProps = {\n weight: 'regular',\n};\n\ntype TextProps = Ellipsis & {\n textSize: '24' | '21' | '18' | '16' | '14';\n weight?: 'light' | 'regular' | 'medium' | 'demibold';\n};\n\nexport const Text = >({\n component, componentRef,\n textSize, ellipsis, weight, // TextProps\n className, ...props // PComponent\n}: ComponentWrapperProps) =>\n React.createElement(component, {\n ...props,\n ref: componentRef,\n className: cn(\n styles.text,\n styles[weight],\n styles[`text-${textSize}`],\n applyEllipsis(ellipsis),\n className,\n ),\n } as any as PComponent & RefAttributes);\n\ninterface LinkProps extends AnchorHTMLAttributes {\n icon?: ComponentType;\n standalone?: boolean;\n innerClassName?: string;\n component?: ComponentType>;\n}\n\nexport const Link: FunctionComponent = ({\n icon, standalone, innerClassName, component: Component = 'a',\n className, children, ...props\n}) => (\n \n {icon && !standalone && (\n <>\n \n  \n \n )}\n \n {icon && standalone && (\n \n )}\n {children}\n \n \n);\n\nexport const linkAnchorClass = styles.linkContent;\n\nexport const Note: FunctionComponent = ({ className, children }) => (\n \n {children}\n \n);\n","import React, { ComponentType } from 'react';\n\nimport { cn, ClassName } from '../../utils';\nimport styles from './index.module.scss';\n\n\ntype ProgressLoaderProps = ClassName & {\n value?: number;\n indeterminate?: boolean;\n};\n\nconst radius = 20;\nconst circumference = 2 * Math.PI * radius;\nconst loaderStyle = { cx: 28, cy: 28, r: radius, strokeWidth: 7, fill: 'none' };\n\nexport const ProgressLoader: ComponentType = ({\n className,\n value,\n indeterminate,\n}) => (\n \n \n \n \n);\n","\n import React from 'react';\n import SpriteSymbol from \"../../../node_modules/svg-baker-runtime/browser-symbol.js\";\n import sprite from \"../../../node_modules/svg-sprite-loader/runtime/browser-sprite.build.js\";\n\n const symbol = new SpriteSymbol({\n \"id\": \"done.sprite\",\n \"use\": \"done.sprite-usage\",\n \"viewBox\": \"0 0 56 56\",\n \"content\": \"\\n \\n\"\n});\n sprite.add(symbol);\n\n const DoneSpriteSpriteSymbol = props => (\n \n \n \n );\n export default DoneSpriteSpriteSymbol;\n ","\n import React from 'react';\n import SpriteSymbol from \"../../../node_modules/svg-baker-runtime/browser-symbol.js\";\n import sprite from \"../../../node_modules/svg-sprite-loader/runtime/browser-sprite.build.js\";\n\n const symbol = new SpriteSymbol({\n \"id\": \"drop.sprite\",\n \"use\": \"drop.sprite-usage\",\n \"viewBox\": \"0 0 24 24\",\n \"content\": \"\\n \\n\"\n});\n sprite.add(symbol);\n\n const DropSpriteSpriteSymbol = props => (\n \n \n \n );\n export default DropSpriteSpriteSymbol;\n ","import React, { FunctionComponent, useCallback, useState, useMemo, useRef, ChangeEventHandler, InputHTMLAttributes, ComponentType } from 'react';\nimport ReactSelect from 'react-select';\nimport InputMask from 'react-input-mask';\nimport { tryInvoke } from '@factorin/util';\n\nimport { ClassName, cn, animation, multipleRef } from '../../utils';\nimport { useInputOnChange } from '../../hooks';\nimport { TransitionComponent } from '../TransitionComponent';\nimport { Button } from '../Button';\nimport { Link } from '../Typography';\nimport { ClosingOverlay } from '../ClosingOverlay';\nimport { ProgressLoader } from '../ProgressLoader';\nimport { Icon } from '../Icon';\nimport info from '../../icons/info.sprite.svg';\nimport doneIcon from '../../icons/done.sprite.svg';\nimport search from '../../icons/help.sprite.svg';\nimport drop from '../../icons/drop.sprite.svg';\nimport styles from './index.module.scss';\n\n\nexport interface FormControlBase {\n error?: React.ReactNode;\n active?: boolean;\n needInitialValidate?: boolean;\n\n name?: string;\n value?: TValue;\n onChange?: (value: TValue) => void;\n onBlur?: (event: React.FocusEvent) => void;\n onFocus?: (event: React.FocusEvent) => void;\n\n inputProps?: { [p: string]: any };\n}\n\ninterface FormControl extends FormControlBase {\n size?: '48' | '56';\n label?: string;\n disabled?: boolean;\n}\n\ntype VisibleValueProps = ClassName & {\n onClick: () => void;\n}\n\nexport interface InputProps extends FormControl, ClassName {\n type?: 'text' | 'password';\n placeholder?: string;\n mask?: string;\n needEvent?: boolean;\n autoComplete?: HTMLInputElement['autocomplete'];\n visibleValue?: ComponentType;\n readOnly?: HTMLInputElement['readOnly'];\n}\n\nconst ControlIcon = ({ icon, className = '' }) => (\n \n);\n\nexport const Input = React.forwardRef(({\n className,\n size = '48', label, error, disabled,\n name, value, onChange, onBlur, onFocus,\n type = 'text', placeholder, mask,\n needEvent, visibleValue: VisibleValue,\n autoComplete, readOnly,\n}, ref) => {\n const inputRef = useRef();\n const Component = useMemo(\n () => mask\n ? React.forwardRef>((\n props: InputHTMLAttributes,\n ref,\n ) => (\n \n ))\n : 'input',\n [mask],\n );\n\n return (\n
    \n \n {label && (\n \n {label}\n \n )}\n {VisibleValue && (\n inputRef.current && inputRef.current.focus()}\n />\n )}\n {error && (\n \n {error}\n \n )}\n \n {error && (\n \n )}\n
    \n );\n});\n\nexport interface SelectProps extends FormControl, ClassName {\n options: { label: string, value: any }[];\n\n direction?: 'up' | 'down';\n searchable?: boolean;\n searchPlaceholder?: string;\n noOptionsPlaceholder?: string;\n}\n\nconst noFilter = () => true;\n\nconst SearchIcon = () => ;\n\nconst SelectOption = ({ label, value, innerProps, innerRef, isFocused, selectProps }) => (\n \n {label}\n
    \n);\n\nexport const Select: FunctionComponent = ({\n className,\n size, label, error, disabled,\n name, value, onChange, onBlur, onFocus,\n direction, options, searchable, searchPlaceholder, noOptionsPlaceholder,\n}) => {\n const [isOpen, setIsOpen] = useState(false);\n const toggleOpen = useCallback(value => setIsOpen(value), []);\n const onSelect = useCallback(\n ({ value }) => {\n onChange(value);\n toggleOpen(false);\n },\n [onChange, toggleOpen],\n );\n const onSelectBlur = useCallback(\n e => {\n tryInvoke(onBlur, e);\n toggleOpen(false);\n },\n [onBlur, toggleOpen],\n );\n const onMenuOpen = useCallback(\n e => {\n tryInvoke(onFocus, e);\n toggleOpen(true);\n },\n [onFocus, toggleOpen],\n );\n const selectStyles = useMemo(\n () => ({\n control: (provided: object) => ({\n ...provided,\n border: 'none',\n ...!searchable && {\n position: 'absolute' as const,\n opacity: 0,\n height: 0,\n },\n }),\n menu: () => ({ boxShadow: 'none' }),\n menuList: () => ({\n padding: 0,\n overflowY: 'auto' as const,\n maxHeight: 280,\n }),\n }),\n [searchable],\n );\n const selectedOption = useMemo(\n () => options.find(({ value: optionValue }) => optionValue === value),\n [options, value],\n );\n return (\n
    \n \n \n {(selectedOption || {} as { label?: string }).label}\n \n \n {label && (\n \n {label}\n \n )}\n {error && (\n \n {error}\n \n )}\n \n {isOpen && }\n \n \n
    \n noOptionsPlaceholder}\n />\n
    \n
    \n
    \n );\n};\n\nSelect.defaultProps = {\n size: '48',\n noOptionsPlaceholder: '-',\n direction: 'down',\n};\n\ninterface FileControlProps extends FormControl, ClassName {\n progress?: number;\n indeterminate?: boolean;\n done?: boolean;\n onFileClick?: () => void;\n}\n\nexport const FileControl: FunctionComponent = ({\n className, children,\n size, label, error, disabled,\n name, value, onChange, progress, indeterminate, done, onFileClick,\n}) => {\n const input = useRef();\n const onPick = useCallback>(\n ({ target }) => onChange(target.files[0]),\n [onChange],\n );\n const open = useCallback(\n () => {\n input.current.value = '';\n input.current.click();\n },\n [],\n );\n const NameComponent = value && onFileClick ? Link : 'div';\n return (\n
    \n \n
    \n \n {value instanceof File ? value.name : value}\n \n
    \n {(progress || indeterminate) && !done && (\n \n )}\n {done && (\n \n )}\n
    \n
    \n {label && (\n \n {label}\n \n )}\n {error && (\n \n {error}\n \n )}\n \n {children}\n \n
    \n );\n};\n\nFileControl.defaultProps = {\n size: '48',\n};\n","import React from 'react';\nimport Responsive, { MediaQueryProps, useMediaQuery } from 'react-responsive';\n\n\ntype ResponsiveProps = {\n children: MediaQueryProps['children'];\n};\n\nexport const Desktop: React.FC = ({ children }) => (\n \n {children}\n \n);\n\nexport const Mobile: React.FC = ({ children }) => (\n \n {children}\n \n);\n\nexport const useMediaSwitch = (\n desktop: TArg1,\n mobile: TArg2,\n): TArg1 | TArg2 =>\n useMediaQuery({ maxWidth: 480 })\n ? mobile\n : desktop;\n\nexport const useMobile = () => useMediaQuery({ query: '(max-width: 480px)' });\n","import React from 'react';\n\nimport styles from './index.module.scss';\nimport { ClassName, cn } from '../../utils';\nimport { useMediaSwitch } from '../Responsive';\n\n\nexport const GridRow: React.FunctionComponent = ({ className, children }) => (\n
    \n {children}\n
    \n);\n\ninterface GridColumnProps extends ClassName {\n size: 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12;\n offset?: 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11;\n}\n\nexport const GridColumn: React.FunctionComponent = ({\n className, children,\n size, offset = 0,\n}) => (\n \n {children}\n
    \n);\n","import React from 'react';\nimport { Bowser } from '@factorin/util';\nimport { config } from '@factorin/container.macro';\n\n\nconst bowser = new Bowser();\nconst isNative = !bowser.ie;\n\n/** @type {React.FC<{ url: string, className?: string }>} */\nexport const PdfContainer = ({ className, url }) => (\n \n);\n","import React, { FunctionComponent } from 'react';\n\nimport { ClassName, cn } from '../../utils';\nimport { Button } from '../Button';\nimport styles from './index.module.scss';\n\n\ninterface TabHeaderProps extends ClassName {\n tabs: string[];\n value?: number;\n onChange?: (value: number) => void;\n}\n\nexport const TabHeader: FunctionComponent = ({\n className,\n tabs,\n value,\n onChange,\n}) => (\n
    \n {tabs.map((tab, idx) => (\n onChange(idx)\n : undefined}\n >\n {idx + 1}. {tab}\n \n ))}\n
    \n);\n","import React, { PropsWithChildren, RefAttributes } from 'react';\n\nimport { cn, ClassName, ComponentWrapperProps } from '../../utils';\nimport styles from './index.module.scss';\nimport { Label } from '../Typography';\n\n\ninterface TooltipProps {\n tooltip: React.ReactChild;\n position?: 'right' | 'left' | 'top' | 'bottom';\n size?: 'sm' | 'md' | 'lg';\n}\n\n\nexport const Tooltip = >({\n component, componentRef,\n position, tooltip, size, // TooltipProps\n className, children, ...props // PComponent\n}: ComponentWrapperProps) =>\n React.createElement(\n component,\n {\n ...props,\n ref: componentRef,\n className: cn(styles.container, className),\n } as any as PComponent & RefAttributes,\n <>\n {children}\n \n {tooltip}\n \n ,\n );\n\nTooltip.defaultProps = {\n position: 'right',\n size: 'md',\n};\n","\n import React from 'react';\n import SpriteSymbol from \"../../../node_modules/svg-baker-runtime/browser-symbol.js\";\n import sprite from \"../../../node_modules/svg-sprite-loader/runtime/browser-sprite.build.js\";\n\n const symbol = new SpriteSymbol({\n \"id\": \"arrow.sprite\",\n \"use\": \"arrow.sprite-usage\",\n \"viewBox\": \"0 0 100 125\",\n \"content\": \"\\n\\t\\n\"\n});\n sprite.add(symbol);\n\n const ArrowSpriteSpriteSymbol = props => (\n \n \n \n );\n export default ArrowSpriteSpriteSymbol;\n ","import React, { PropsWithChildren } from 'react';\n\nimport { ClassName } from '../utils';\n\n\nexport * from './Button';\nexport * from './CheckBox';\nexport * from './ClosingOverlay';\nexport * from './Icon';\nexport * from './FormControls';\nexport * from './Layout';\nexport * from './LoadingIndicator';\nexport * from './PdfContainer';\nexport * from './TabHeader';\nexport * from './Tooltip';\nexport * from './TransitionComponent';\nexport * from './Typography';\nexport * from './Slider';\nexport * from './Portal';\nexport * from './ProgressLoader';\nexport * from './Responsive';\n\nexport const UI2Migration = ({ children, className }: PropsWithChildren) =>\n React.createElement('div', { className, style: { fontFamily: 'Roboto, sans-serif' } }, children);\n","import React, { FC, useCallback } from 'react';\nimport { FieldRenderProps } from 'react-final-form';\nimport { forms } from '@factorin/container.macro';\n\nimport { RadioGroup, RadioGroupProps } from 'Modules/ui3';\n\n\nexport const RadioGroupField: FC & RadioGroupProps> = ({\n mutate, input: { onChange, ...inputProps }, meta, helper, ...props\n}) => (\n \n : helper\n }\n error={(meta.touched || meta.dirty) && (!!meta.error || !meta.valid)}\n onChange={useCallback(\n event => {\n onChange(event.target.value);\n if (mutate)\n mutate(event.target.value);\n },\n [mutate, onChange],\n )}\n />\n);\n","import React, { FC, ReactNode, useCallback, useMemo } from 'react';\nimport MenuItem from '@mui/material/MenuItem';\nimport FormControl from '@mui/material/FormControl';\nimport { forms } from '@factorin/container.macro';\nimport {\n Select as BaseSelect,\n SelectProps as BaseSelectProps,\n Input,\n inputBaseClasses,\n inputClasses,\n} from '@mui/material';\nimport { FieldRenderProps } from 'react-final-form';\n\nimport { Typography } from '../../../ui3/components/Typography';\nimport { ArrowDown24 } from '../../../ui3/icons';\n\n\nexport interface Option {\n value: string | number;\n title: string | ReactNode;\n}\n\ntype SelectedValue = Option['value'] | Option['value'][];\n\ntype SelectFieldProps = BaseSelectProps & FieldRenderProps & {\n options: Option[];\n}\n\ntype SelectedValueProps = Pick & {\n selected: Option['value'][];\n}\n\nconst SelectedValue: FC = React.memo(({ options, selected, placeholder }) => {\n const filteredSelected = useMemo(() => selected.filter(el => el), [selected]);\n return filteredSelected.length > 0 ? (\n \n {filteredSelected.map(s => options.find(o => o.value === s)?.title).join(', ')}\n \n ) : (\n \n {placeholder}\n \n );\n});\n\nexport const SelectField: FC = ({\n options,\n label,\n input: { value, onChange, name, ...inputProps },\n meta,\n mutate,\n placeholder,\n ...props\n}) => {\n const renderValueComponent = useCallback(selected =>\n ,\n [options, placeholder]);\n\n const filteredValue = useMemo(() =>\n Array.isArray(value) ? value : [value].filter(el => el),\n [value]);\n return (\n \n \n {label}\n \n \n data-testid={`select-${name}`}\n displayEmpty\n // @ts-ignore\n value={filteredValue}\n onChange={e => {\n if (mutate)\n mutate(e.target.value);\n onChange(e.target.value);\n }}\n input={}\n IconComponent={ArrowDown24}\n MenuProps={{\n PaperProps: {\n sx: {\n borderRadius: 3,\n mt: 2,\n boxShadow: '0px 8px 24px rgba(0, 0, 0, 0.05), 0px 2px 8px rgba(0, 0, 0, 0.05)',\n },\n },\n MenuListProps: {\n sx: {\n py: 0,\n },\n },\n }}\n inputProps={{\n name,\n ...inputProps,\n }}\n renderValue={renderValueComponent}\n sx={{\n [`& .${inputBaseClasses.input}`]: {\n pt: 0,\n pl: 0,\n pb: 2,\n },\n [`&.${inputClasses.underline}::before, &.${inputClasses.underline}:hover::before`]: {\n border: 0.5,\n borderRadius: 1,\n borderColor: 'grayscale.shade40',\n height: 0,\n },\n [`&.${inputClasses.underline}::after`]: {\n border: 0.5,\n borderRadius: 1,\n borderColor: 'grayscale.shade100',\n height: 0,\n },\n }}\n {...props}\n >\n {options.map(({ title, value }) => (\n \n {title}\n \n ))}\n \n {meta.touched && meta.error && (\n \n \n \n )}\n \n );\n};\n","import React, { FC, useCallback } from 'react';\nimport { FieldRenderProps } from 'react-final-form';\n\nimport { Slider, SliderProps } from 'Modules/ui3';\n\n\nexport const SliderField: FC & SliderProps> = ({\n mutate, input: { onChange, value = 0, ...inputProps }, meta, ...props\n}) => (\n {\n onChange(value);\n if (mutate)\n mutate(value);\n },\n [mutate, onChange],\n )}\n />\n);\n","import React, { FC, ReactNode } from 'react';\nimport { FieldRenderProps } from 'react-final-form';\n\nimport { Checkbox, CheckboxWithLabel, CheckboxWithLabelProps } from 'Modules/ui3';\n\n\ntype CheckboxProps = Omit & {\n label?: ReactNode;\n}\n\nexport type CheckboxFieldProps = FieldRenderProps & CheckboxProps;\n\nexport const CheckboxField: FC = ({\n input,\n meta,\n label,\n ...props\n}) =>\n label ? (\n \n ) : (\n \n );\n","import { CryptoProfiles } from './cryptoprofiles';\n\n\nexport namespace User {\n export type FactoringRole = 'Debtor' | 'Client' | 'Factor' | 'Admin' | 'Platform';\n\n export enum Roles {\n Administrator = 'Administrator',\n Issuer = 'Issuer',\n Owner = 'Owner',\n NominalHolder = 'NominalHolder',\n }\n\n export interface Claim {\n Name: string;\n }\n\n export enum UserChangeStatusId {\n None = 1,\n WaitingConfirmation = 2,\n }\n\n type ClientProfileGroupResponse = Array<{ Uid: string, Name: string }>;\n\n export enum Permissions {\n AdminCompanyRead = 'AdminCompany.Read',\n AdminCompanyOperator = 'AdminCompany.Operator',\n AdminCompanyDecisionMaker = 'AdminCompany.DecisionMaker',\n IssuerRead = 'Issuer.Read',\n IssuerOperator = 'Issuer.Operator',\n IssuerDecisionMaker = 'Issuer.DecisionMaker',\n OwnerRead = 'Owner.Read',\n OwnerOperator = 'Owner.Operator',\n OwnerDecisionMaker = 'Owner.DecisionMaker',\n OwnerReadIssueParticipation = 'Owner.Read.IssueParticipation',\n OwnerOperatorIssueParticipation = 'Owner.Operator.IssueParticipation',\n OwnerDecisionMakerIssueParticipation = 'Owner.DecisionMaker.IssueParticipation',\n }\n\n export interface Profile {\n CompanyUid: string;\n CompanyINN: string;\n CompanyKPP: string;\n CompanyOGRN: string;\n CompanyFullName: string;\n CompanyShortName: string;\n\n BusinessRole: FactoringRole;\n BusinessRoles: FactoringRole[];\n UserPermissionGroups: Claim[];\n UserPermissions: Claim[];\n ParticipantsDltKeys: string[];\n }\n\n export interface BappProfile extends Profile {\n FIO: string;\n UserName: string;\n IconDataUrl: string;\n UserCryptoProfiles: CryptoProfiles.UserCryptoProfile[];\n ProcessTemplateCodes: string[];\n }\n\n export type PaymentStatuses = 'Undefined' | 'ForPay' | 'Paid' | 'ForPayRenewal' | 'Blocked';\n\n export interface CoProfile extends Profile {\n Permissions: Permissions[] | null;\n Uid: string | null;\n IndividualUid: string | null;\n FirstName: string | null;\n MiddleName: string | null;\n Surname: string | null;\n FullName: string | null;\n INN: string | null;\n Login: string | null;\n NotificationEmail: string | null;\n PhoneNumber: string | null;\n SignerType: 0 | 1 | 2 | null;\n IsWarrantIssuer: boolean | null;\n IsWarrantRevoker: boolean | null;\n UserChangeStatusId: UserChangeStatusId | null;\n IsCompanyAdmin: boolean | null;\n IsDfaIssuer: boolean | null;\n IsDfaOwner: boolean | null;\n IsNominalHolder: boolean | null;\n CreateDate: Date | null;\n BlockedOIS: boolean | null;\n ClientProfileGroups: ClientProfileGroupResponse | null;\n AgentRegistrationTurnedOn: boolean | null;\n PlatformOnboardingProductOrderUid: string | null;\n PlatformOnboardingProductOrderStatusCode: string | null;\n TwoFactorEnabled: boolean | null;\n }\n\n export type IndividualInfo = Pick & {\n SNILS: string;\n };\n\n export interface ClaimResponse {\n Type: string | null;\n Value: string | null;\n }\n\n export interface DFAProfile {\n Uid: string;\n UserName: string | null;\n FIO: string | null;\n ClientUid: string;\n CompanyUid: string;\n ClientINN: string | null;\n ClientKPP: string | null;\n ClientOGRN: string | null;\n ClientProfileOisKey: string | null;\n ClientShortName: string | null;\n ClientOfficeUrl: string | null;\n UserPermissions: ClaimResponse[] | null;\n Permissions: Permissions[] | null;\n BlockedOIS: boolean;\n ClientProfileGroups: ClientProfileGroupResponse[];\n }\n}\n","import { Filters } from './filtering';\n\n\nexport namespace Companies {\n export interface BankRequisite {\n Uid: string;\n Name: string;\n INN: string;\n KPP: string;\n BIK: string;\n SettlementAccount: string;\n CorrespondentAccount: string;\n IsForNominalHolder: boolean;\n\n NotBefore: Date;\n NotAfter: Date;\n }\n export type BankRequisites = BankRequisite[];\n\n export interface CompanyRequisite {\n ShortName: string;\n FullName: string;\n INN: string;\n KPP: string;\n OGRN: string;\n OKPO: string;\n OKATO: string;\n OKVED: string;\n OKTMO: string;\n DateStart: Date;\n DateClosed: Date;\n FactAddressRegionCode: string;\n FactAddress: string;\n LegalAddressRegionCode: string;\n LegalAddress: string;\n }\n\n export interface Company extends CompanyRequisite {\n Acronym: string;\n OPF: string;\n OKOPF: string;\n FactAddressUid: string;\n LegalAddressUid: string;\n StatusDescription: string;\n StatusDate: Date;\n Reorganizing: boolean;\n Bankrupting: boolean;\n Dissolving: boolean;\n Dissolved: boolean;\n Uid: string;\n IsDeleted: boolean;\n Code: string;\n }\n export interface DetailCompany extends Company {\n AllowDfaOwners: boolean;\n AllowDfaIssuers: boolean;\n AllowNominalHolders: boolean;\n DefaultProfileOisKey: string;\n NominalHolderProfileOisKey: string;\n BankRequisites: BankRequisites;\n }\n\n export interface FilterCompany {\n INN: string;\n Id: number;\n Name: string;\n }\n\n export interface ClientProfileType {\n Uid: string;\n Type: {\n Mask: number;\n Uid: string;\n Name: string;\n Code: string;\n };\n }\n\n export type ClientProfileTypes = ClientProfileType[];\n\n export enum ClientProfiles {\n None = 'None',\n Default = 'Default',\n NominalHolder = 'NominalHolder',\n }\n}\n\nexport const companiesFilters = {\n name: {\n api: ({ value }) => ({\n name: value,\n }),\n applyFilter: (value, { ShortName }) =>\n value === ShortName,\n },\n role: {\n api: ({ value }) => ({\n roleCode: value,\n }),\n applyFilter: (value, { Code }) =>\n value === Code,\n },\n};\n","export namespace API {\n export type OrderDirection = 'desc' | 'asc';\n\n export interface FilterQuery {\n [key: string]: TType;\n }\n\n export interface SortingQuery {\n orderBy?: string;\n orderDirection?: OrderDirection;\n }\n\n export type RequestQuery = SortingQuery & FilterQuery;\n\n export interface SortingValue {\n sorting: string;\n descending: boolean;\n }\n\n export type PaginationResult = {\n Page: TEntity[];\n ItemsCount: number;\n PageSize: number;\n PageNumber: number;\n }\n}\n\nexport const mapSortingToApi =\n ({ sorting, descending }: API.SortingValue): API.SortingQuery => ({\n ...sorting && {\n orderBy: sorting,\n orderDirection: descending ? 'desc' : 'asc',\n },\n });\n","import fp from 'lodash/fp';\n\nimport { Dictionary } from './dictionary';\nimport { Common } from './common';\nimport { API } from './api';\n\n\nexport namespace Filters {\n export interface FilterDefinition extends Dictionary.DictionaryItem {\n Mask: number;\n }\n\n export interface FilterDictionary extends Common.Catalog {}\n\n export interface FilterValue {\n value: TValue;\n }\n\n export interface MaskFilterQuery extends API.FilterQuery {}\n\n export interface FilterQuery extends API.FilterQuery {}\n\n export interface Filter {\n api: (filter: FilterValue) => FilterQuery;\n }\n\n export interface FilterApply {\n applyFilter: (value: TValue, item: TItem) => boolean;\n }\n\n export interface MaskFilter extends Filter {\n dict: string;\n }\n\n export interface FilterWithApply<\n TValue = any,\n TItem = any\n > extends Filter, FilterApply {}\n\n export interface MaskFilterWithApply<\n TValue = any,\n TItem = any\n > extends MaskFilter, FilterApply {}\n\n export type MaskFilterApiValue = {\n value: string[];\n dict: FilterDictionary;\n };\n}\n\nexport const maskFilterApi = (key: string) =>\n ({ value, dict }: Filters.MaskFilterApiValue): Filters.MaskFilterQuery => ({\n [key]: value.reduce((mask, filter) => mask + dict[filter]?.Mask || 0, 0),\n });\n\nconst isMaskFilter =\n (filter: Filters.Filter): filter is Filters.MaskFilter => 'dict' in filter;\n\nexport const mapFiltersToApi = fp.curry((\n values: Common.Catalog,\n filters: Common.Catalog,\n dictionaries: Common.Catalog,\n): API.FilterQuery => fp.pipe(\n fp.keys,\n fp.map(f => {\n const filter = filters[f];\n return values[f] ? filter.api({\n value: values[f],\n ...isMaskFilter(filter) && {\n dict: dictionaries[filter.dict],\n },\n }) : null;\n }),\n fp.compact,\n fp.reduce(fp.assign, {}),\n)(values));\n\nexport const applyFiltersLocal = (\n entity: any,\n filters: Common.Catalog,\n values: Common.Catalog,\n): boolean => fp.pipe(\n fp.toPairs,\n fp.all(([type, value]) => filters[type].applyFilter(value, entity)),\n)(values);\n\nexport const mapDefaultFilters = (filters: string[]) => filters.reduce(\n (filtersObject, filter) => ({\n ...filtersObject,\n [filter]: {\n api: ({ value }) => ({\n [filter]: value,\n }),\n },\n }),\n {},\n);\n","import { Documents } from './documents';\n\n\nexport namespace Reports {\n export interface ReportSetting {\n Key: string;\n Value: string;\n }\n\n export interface ReportDictItem {\n Uid: string;\n Code: string;\n Name: string;\n }\n\n export interface ReportType {\n Uid: string;\n Code: string;\n Name: string;\n SendTo: string;\n AutoGeneration: boolean;\n NextDateGeneration: Date;\n GenerationDelayInDays: number;\n ReportTypeSettings: ReportSetting[];\n ReportPeriod: ReportDictItem;\n }\n\n export enum ReportStatuses {\n new = 'new',\n inprocess = 'inprocess',\n finished = 'finished',\n error = 'error',\n }\n\n export interface Report {\n ReportNumber: string;\n Uid: string;\n ReportStatusCode: ReportStatuses;\n ReportStatusName: string;\n ReportTypeCode: string;\n UserUid: string;\n CreateDate: Date;\n ErrorMessage?: string;\n ReportSettings: ReportSetting[];\n }\n\n export interface BappReport extends Report {\n File: Documents.Document;\n }\n}\n","export enum processTemplates {\n tanderProcess = 'TanderProcess',\n tanderProcessCeded = 'TanderProcessCeded',\n tanderCededWithSourceValidation = 'TanderCededWithSourceValidation',\n tanderProcessDiscount = 'TanderProcessDiscount',\n fundedCessionsProcess = 'FundedCessionsProcess',\n\n dixyProcess = 'DixyProcess',\n dixyAcceptedProcess = 'DixyAcceptedProcess',\n dixyApprovedProcess = 'DixyApprovedProcess',\n\n discountProcess = 'ProcessDiscountNG',\n\n conveyorProcess = 'ConveyorProcess',\n paymentDistributionProcess = 'ProcessPaymentDistr',\n verifiedProcess = 'VerifiedProcess',\n\n victoriaProcessCeded = 'VictoriaProcessCeded',\n\n mtsProcessCeded = 'MtsProcessCeded',\n\n approvedProcess = 'ApprovedProcessNG',\n\n mtsApprovedProcess = 'MtsApprovedProcess',\n rtkFundedCessionsProcess = 'RtkFundedCessionsProcess',\n mtsFundedCessionsProcess = 'MtsFundedCessionsProcess',\n approvedOrderProcess = 'ApprovedOrderProcessMts',\n\n epApprovedProcess = 'EpApprovedProcess',\n\n sperProcessCeded = 'SperProcessCeded',\n}\n\nexport const dixyAcceptedProcessTemplates = [\n processTemplates.dixyProcess,\n processTemplates.dixyAcceptedProcess,\n];\n\nexport const dixyApprovedProcessTemplates = [\n processTemplates.dixyProcess,\n processTemplates.dixyApprovedProcess,\n];\n\nexport const tanderProcessTemplates = [\n processTemplates.tanderProcess,\n processTemplates.tanderProcessCeded,\n processTemplates.tanderCededWithSourceValidation,\n];\n","import { Permissions } from './permissions';\nimport { Filters } from './filtering';\n\n\nexport namespace Users {\n interface CommonCompanyUser {\n Uid: string;\n IndividualUid: string;\n FirstName: string;\n MiddleName: string;\n Surname: string;\n FullName: string;\n INN: string;\n Login: string;\n NotificationEmail: string;\n PhoneNumber: string;\n SignerType: 0 | 1 | 2;\n IsWarrantIssuer: boolean;\n IsWarrantRevoker: boolean;\n UserChangeStatusId: number;\n CreateDate: string;\n }\n export interface CompanyUser extends CommonCompanyUser {\n IsCompanyAdmin: boolean;\n IsDfaIssuer: boolean;\n IsDfaOwner: boolean;\n IsNominalHolder: boolean;\n }\n\n export interface CompanyNotifications {\n Uid: string;\n Name: string;\n Code: string;\n IsChecked: boolean;\n Members: string[];\n }\n\n export interface CompanyUserDetails extends CommonCompanyUser {\n NotificationEvents: CompanyNotifications[];\n Permissions: string[];\n ClientProfile: {\n Uid: string;\n ClientProfileType: string;\n };\n }\n\n export interface IdentityUser {\n UserName: string;\n Id: string;\n Permissions: Permissions.Permission[];\n PermissionGroups: Permissions.PermissionGroup[];\n }\n}\n\nexport const usersFilters = {\n userName: {\n api: ({ value }) => ({\n userName: value,\n }),\n },\n};\n","import { Filters } from '../filtering';\nimport { Documents } from '../documents';\n\n\nexport namespace Registers {\n export interface RegisterStage extends Filters.FilterDefinition {\n Name: string;\n Uid: string;\n Code: string;\n Mask: number;\n }\n\n export enum Statuses {\n new = 'new',\n inWork = 'in_work',\n processed = 'processed',\n onClientConfirmation = 'on_client_confirmation',\n waitClientProcessing = 'wait_client_processing',\n onClientSigning = 'on_client_signing',\n onFactorSigning = 'on_factor_signing',\n waitFactorProcessing = 'wait_factor_processing',\n refused = 'refused',\n onSourceConfirmation = 'on_source_confirmation',\n onDebtorSigning = 'on_debtor_signing',\n onDebtorConfirmation = 'on_debtor_confirmation',\n waitDebtorProcessing = 'wait_debtor_processing',\n expired = 'expired',\n rejected = 'rejected',\n onFactorConfirmation = 'on_factor_confirmation',\n manualAnnulled = 'manual_annulled',\n }\n\n export interface RegisterStatus extends Filters.FilterDefinition {\n Name: string;\n Uid: string;\n Code: Statuses;\n Mask: number;\n }\n\n export enum Templates {\n approved = 'ReesterApproved',\n ceded = 'ReesterCeded',\n accepted = 'ReesterAccepted',\n confirmed = 'ReesterConfirmed',\n rejected = 'ReesterRejected',\n error = 'ReesterError',\n transport = 'ReesterTransport',\n discount = 'ReesterDiscount',\n discountConf = 'ReesterDiscountConf',\n discountRej = 'ReesterDiscountRej',\n verified = 'ReesterVerified',\n completed = 'ReesterCompleted',\n completedRej = 'ReesterCompletedRej',\n financed = 'ReesterFinanced',\n nonFinanced = 'ReesterNonFinanced',\n paymentDistr = 'ReesterPaymentDistr',\n fundedSupply = 'ReesterFundedSupply',\n discountComp = 'ReesterDiscountComp',\n noticeOfCess = 'ReesterNoticeOfCess',\n }\n\n export interface RegisterTemplate extends Filters.FilterDefinition {\n Uid: string;\n Name: string;\n ShortName: string;\n Code: Templates;\n ProcessTemplateUid: string;\n Mask: number;\n }\n\n export interface RegisterTemplateSetting {\n Uid: string;\n ProcessTemplateUid: string;\n DebtorSign: boolean;\n ClientSign: boolean;\n FactorSign: boolean;\n RegisterTemplate: RegisterTemplate;\n }\n\n export interface RegisterParent {\n Uid: string;\n Number: string;\n RegisterTemplateName: string;\n RegisterTemplateCode: Templates;\n RegisterTemplateShortName: string;\n RegisterTemplateMask: number;\n RegisterStatusCode: Statuses;\n }\n\n export interface Register {\n Uid: string;\n Number: string;\n Amount: number;\n Vat: number;\n AmountWithVat: number;\n CessionAmount: number;\n CreateDate: Date;\n ModifyDate: Date;\n ProcessTemplateCode: string;\n ProcessTemplateMask: number;\n RegisterStartDate: Date;\n RegisterEndDate: Date;\n RegisterStageCode: string;\n RegisterStageName: string;\n RegisterStageMask: number;\n RegisterStatusCode: Statuses;\n RegisterStatusName: string;\n RegisterStatusMask: number;\n IsSignAllowed: boolean;\n RegisterTemplateUid: string;\n RegisterTemplateName: string;\n RegisterTemplateCode: Templates;\n RegisterTemplateShortName: string;\n RegisterTemplateMask: number;\n FactoringAgreementUid: string;\n FactoringAgreementNumber: string;\n FactoringAgreementDate: Date;\n SupplyAgreementUid: string;\n SupplyAgreementNumber: string;\n SupplyAgreementDate: Date;\n FactorUid: string;\n FactorFullName: string;\n FactorShortName: string;\n FactorINN: string;\n FactorKPP: string;\n FactorSignUid: string;\n FactorSignDate: Date;\n FactorSignerName: string;\n ClientORProviderUid: string;\n ClientORProviderFullName: string;\n ClientORProviderShortName: string;\n ClientORProviderINN: string;\n ClientORProviderKPP: string;\n ClientORProviderSignUid: string;\n ClientORProviderSignDate: Date;\n ClientORProviderSignerName: string;\n DebtorORBuyerUid: string;\n DebtorORBuyerFullName: string;\n DebtorORBuyerShortName: string;\n DebtorORBuyerINN: string;\n DebtorORBuyerKPP: string;\n DebtorORBuyerSignUid: string;\n DebtorORBuyerSignDate: Date;\n DebtorORBuyerSignerName: string;\n IsManualInProcess: boolean;\n IsProcessing: boolean;\n CanFinance: boolean;\n GroupUid: string;\n GroupOrder: number;\n Parent: RegisterParent;\n CreateIndex: number;\n }\n\n export interface DiscountRegister extends Register {\n DiscountAmountWithVat: number;\n AmountWithoutDiscount: number;\n DiscountTariff: number;\n DiscountDate: Date;\n DiscountDatePay: Date;\n AmountPayment: number;\n SupplyAmountForDiscount: number;\n }\n\n export interface DiscountRegisterDetails extends DiscountRegister {\n Documents: Documents.DocumentItem[];\n RegisterTemplateSetting: RegisterTemplateSetting;\n Comment?: string;\n RejectReasonCode?: string;\n }\n\n export interface RegisterDetails extends Register {\n Documents: Documents.DocumentItem[];\n RegisterTemplateSetting: RegisterTemplateSetting;\n Comment?: string;\n RejectReasonCode?: string;\n }\n\n export interface RegisterItem {\n Uid: string;\n Number: string;\n RegisterTemplateName: string;\n Comment: string;\n RejectReason: string;\n IsManualInProcess: boolean;\n CreateIndex: number;\n }\n\n export interface DiscountConfirmedRegister extends Register {\n OfferEndDate: Date;\n AvgAnnualRate: number;\n TotalSupplyAmount: number;\n TotalActualDiscountRate: number;\n TotalDiscountAmount: number;\n TotalRepaymentAmount: number;\n PaymentDelayDays: number;\n DiscountConfirmedRegisterUid: string;\n }\n}\n","import { Filters, maskFilterApi } from '../filtering';\n\n\nexport const documentsFilters = {\n type: {\n dict: 'documentTypes',\n api: maskFilterApi('documentTypeMask'),\n applyFilter: (value, { DocumentTypeCode }) =>\n value.includes(DocumentTypeCode),\n },\n processTemplate: {\n dict: 'processTemplates',\n api: maskFilterApi('processTemplateMask'),\n applyFilter: (value, { ProcessTemplateCode }) =>\n value.includes(ProcessTemplateCode),\n },\n};\n","import { processTemplates, tanderProcessTemplates } from '../processTemplates';\n\n\nconst downloadTypeFilter = ['Download'];\n\nexport const documentParameters = {\n dixyApproved: {\n filters: {\n type: [\n 'DownloadApproved',\n ...downloadTypeFilter,\n ],\n processTemplate: [\n processTemplates.dixyProcess,\n processTemplates.dixyApprovedProcess,\n ],\n },\n },\n dixyAccepted: {\n filters: {\n type: [\n 'DownloadAccepted',\n ...downloadTypeFilter,\n ],\n processTemplate: [\n processTemplates.dixyProcess,\n processTemplates.dixyAcceptedProcess,\n ],\n },\n },\n dixyDiscount: {\n filters: {\n type: downloadTypeFilter,\n processTemplate: [processTemplates.discountProcess],\n },\n },\n tanderApproved: {\n filters: {\n type: downloadTypeFilter,\n processTemplate: tanderProcessTemplates,\n },\n },\n tanderDiscount: {\n filters: {\n type: downloadTypeFilter,\n processTemplate: [processTemplates.tanderProcessDiscount],\n },\n },\n tanderTransport: {\n filters: {\n type: ['DownloadTransport'],\n },\n },\n detailsPayment: {\n filters: {\n type: downloadTypeFilter,\n processTemplate: [processTemplates.paymentDistributionProcess],\n },\n },\n conveyor: {\n filters: {\n type: downloadTypeFilter,\n processTemplate: [processTemplates.conveyorProcess],\n },\n },\n [processTemplates.fundedCessionsProcess]: {\n filters: {\n type: downloadTypeFilter,\n processTemplate: [processTemplates.fundedCessionsProcess],\n },\n },\n [processTemplates.rtkFundedCessionsProcess]: {\n filters: {\n type: downloadTypeFilter,\n processTemplate: [processTemplates.rtkFundedCessionsProcess],\n },\n },\n [processTemplates.mtsFundedCessionsProcess]: {\n filters: {\n type: downloadTypeFilter,\n processTemplate: [processTemplates.mtsFundedCessionsProcess],\n },\n },\n [processTemplates.mtsApprovedProcess]: {\n filters: {\n type: downloadTypeFilter,\n processTemplate: [processTemplates.mtsApprovedProcess],\n },\n },\n [processTemplates.approvedOrderProcess]: {\n filters: {\n type: downloadTypeFilter,\n processTemplate: ['ApprovedOrderProcess'],\n },\n },\n [processTemplates.approvedProcess]: {\n filters: {\n type: downloadTypeFilter,\n processTemplate: [processTemplates.approvedProcess],\n },\n },\n [processTemplates.epApprovedProcess]: {\n filters: {\n type: downloadTypeFilter,\n processTemplate: [processTemplates.epApprovedProcess],\n },\n },\n victoria: {\n filters: {\n type: downloadTypeFilter,\n processTemplate: [processTemplates.victoriaProcessCeded],\n },\n },\n [processTemplates.mtsProcessCeded]: {\n filters: {\n type: downloadTypeFilter,\n processTemplate: [processTemplates.mtsProcessCeded],\n },\n },\n [processTemplates.sperProcessCeded]: {\n filters: {\n type: downloadTypeFilter,\n processTemplate: [processTemplates.sperProcessCeded],\n },\n },\n};\n","import { Filters, maskFilterApi } from '../filtering';\nimport { Common } from '../common';\n\n\nexport const checkDateInPeriod = (date: Date, period: Common.DateRange) =>\n date >= period.From && date <= period.To;\n\n\nexport const registersFilters = {\n type: {\n dict: 'registerTemplates',\n api: maskFilterApi('registerTemplateMask'),\n applyFilter: (value, { RegisterTemplateCode }) =>\n value.includes(RegisterTemplateCode),\n },\n status: {\n dict: 'registerStatuses',\n api: maskFilterApi('registerStatusMask'),\n applyFilter: (value, { RegisterStatusCode }) =>\n value.includes(RegisterStatusCode),\n },\n stage: {\n dict: 'registerStages',\n api: maskFilterApi('registerStageMask'),\n applyFilter: (value, { RegisterStageCode }) =>\n value.includes(RegisterStageCode),\n },\n signAllowed: {\n api: ({ value }) => ({\n isSignAllowed: value,\n }),\n applyFilter: (value, { IsSignAllowed }) =>\n value === IsSignAllowed,\n },\n searchField: {\n api: ({ value }) => ({\n searchField: value,\n }),\n applyFilter: () => false,\n },\n processTemplate: {\n dict: 'processTemplateInstances',\n api: maskFilterApi('processTemplateInstanceMask'),\n applyFilter: (value, { ProcessTemplateInstanceCode }) =>\n value.includes(ProcessTemplateInstanceCode),\n },\n // processTemplateInstance: {\n // dict: 'processTemplateInstances',\n // api: maskFilterApi('processTemplateInstanceMask'),\n // applyFilter: (value, { ProcessTemplateInstanceCode }) =>\n // value.includes(ProcessTemplateInstanceCode),\n // },\n processing: {\n api: ({ value }) => ({\n isProcessing: value,\n }),\n applyFilter: (value, { IsProcessing }) =>\n value === IsProcessing,\n },\n clientId: {\n api: ({ value }) => ({\n clientORProviderUid: value,\n }),\n applyFilter: (value, { ClientORProviderId }) =>\n value === ClientORProviderId,\n },\n factorId: {\n api: ({ value }) => ({\n factorUid: value,\n }),\n applyFilter: (value, { FactorId }) =>\n value === FactorId,\n },\n debtorId: {\n api: ({ value }) => ({\n debtorORBuyerUid: value,\n }),\n applyFilter: (value, { DebtorORBuyerId }) =>\n value === DebtorORBuyerId,\n },\n startDate: >{\n api: ({ value }) => ({\n registerStartDateRange: value,\n }),\n applyFilter: (value, { RegisterStartDate }) =>\n checkDateInPeriod(RegisterStartDate, value),\n },\n endDate: >{\n api: ({ value }) => ({\n registerEndDateRange: value,\n }),\n applyFilter: (value, { RegisterEndDate }) =>\n checkDateInPeriod(RegisterEndDate, value),\n },\n};\n","export enum DfaTypes {\n MonetaryRequirement = 'MonetaryRequirement',\n MonetaryRequirementCoupon = 'MonetaryRequirementCoupon',\n Encumbrance = 'Encumbrance',\n}\n\nexport enum IssueProposalStatuses {\n Created = 'Created',\n Processing = 'Processing',\n Approved = 'Approved',\n Rejected = 'Rejected',\n NotIssued = 'NotIssued',\n Issued = 'Issued',\n Success = 'Success',\n Cancelled = 'Cancelled',\n}\n","import { Registers } from './types';\n\n\nexport const registersAvailableStatuses = Object.values(Registers.Statuses)\n .filter(value => value !== Registers.Statuses.manualAnnulled);\n","import { User } from '../user';\nimport {\n processTemplates,\n tanderProcessTemplates,\n dixyAcceptedProcessTemplates,\n dixyApprovedProcessTemplates,\n} from '../processTemplates';\nimport { Registers } from './types';\nimport { registersAvailableStatuses } from './utils';\n\n\nexport const dixyAcceptedRegisterParameters = {\n clientUnprocessed: {\n filters: {\n type: [Registers.Templates.accepted],\n stage: ['Ack______'],\n status: registersAvailableStatuses,\n processTemplate: dixyAcceptedProcessTemplates,\n },\n },\n notVerified: {\n filters: {\n type: [\n Registers.Templates.accepted,\n Registers.Templates.confirmed,\n Registers.Templates.rejected,\n ],\n stage: ['Ack______'],\n status: registersAvailableStatuses,\n processTemplate: dixyAcceptedProcessTemplates,\n },\n },\n all: {\n filters: {\n type: [\n Registers.Templates.accepted,\n Registers.Templates.confirmed,\n Registers.Templates.rejected,\n ],\n status: registersAvailableStatuses,\n processTemplate: dixyAcceptedProcessTemplates,\n },\n },\n accepted: {\n filters: {\n type: [Registers.Templates.accepted],\n status: registersAvailableStatuses,\n processTemplate: dixyAcceptedProcessTemplates,\n },\n },\n confirmed: {\n filters: {\n type: [Registers.Templates.confirmed],\n status: registersAvailableStatuses,\n processTemplate: dixyAcceptedProcessTemplates,\n },\n },\n rejected: {\n filters: {\n type: [Registers.Templates.rejected],\n status: registersAvailableStatuses,\n processTemplate: dixyAcceptedProcessTemplates,\n },\n },\n};\n\nexport const dixyApprovedRegisterParameters = {\n all: {\n filters: {\n type: [Registers.Templates.approved],\n status: registersAvailableStatuses,\n processTemplate: dixyApprovedProcessTemplates,\n },\n },\n unprocessed: {\n filters: {\n type: [Registers.Templates.approved],\n status: [Registers.Statuses.onSourceConfirmation],\n processTemplate: dixyApprovedProcessTemplates,\n },\n },\n unsignedFactor: {\n filters: {\n type: [Registers.Templates.approved],\n status: [\n Registers.Statuses.onSourceConfirmation,\n Registers.Statuses.onFactorSigning,\n ],\n processTemplate: dixyApprovedProcessTemplates,\n },\n },\n};\n\nexport const victoriaRegisterParameters = {\n all: {\n filters: {\n type: [Registers.Templates.approved],\n status: registersAvailableStatuses,\n processTemplate: [processTemplates.victoriaProcessCeded],\n },\n },\n unprocessed: {\n filters: {\n type: [Registers.Templates.approved],\n status: [\n Registers.Statuses.onSourceConfirmation,\n Registers.Statuses.onDebtorSigning,\n ],\n processTemplate: [processTemplates.victoriaProcessCeded],\n },\n },\n unsignedFactor: {\n filters: {\n type: [Registers.Templates.approved],\n status: [\n Registers.Statuses.onSourceConfirmation,\n Registers.Statuses.onFactorSigning,\n ],\n processTemplate: [processTemplates.victoriaProcessCeded],\n },\n },\n};\n\nexport const tanderApprovedRegisterParameters = {\n all: {\n filters: {\n type: [\n Registers.Templates.approved,\n Registers.Templates.transport,\n ],\n status: registersAvailableStatuses,\n processTemplate: tanderProcessTemplates,\n },\n },\n unprocessed: {\n filters: {\n type: [\n Registers.Templates.approved,\n Registers.Templates.transport,\n ],\n status: [\n Registers.Statuses.onDebtorSigning,\n Registers.Statuses.onSourceConfirmation,\n ],\n processTemplate: tanderProcessTemplates,\n },\n },\n approved: {\n filters: {\n type: [Registers.Templates.approved],\n status: registersAvailableStatuses,\n processTemplate: tanderProcessTemplates,\n },\n },\n transport: {\n filters: {\n type: [Registers.Templates.transport],\n status: registersAvailableStatuses,\n processTemplate: tanderProcessTemplates,\n },\n },\n unsignedFactor: {\n filters: {\n type: [Registers.Templates.approved],\n status: [\n Registers.Statuses.onSourceConfirmation,\n Registers.Statuses.onFactorSigning,\n ],\n processTemplate: tanderProcessTemplates,\n },\n },\n};\n\nconst signingTemplateCodes: { [KRole in User.FactoringRole]: string[] } = {\n Admin: [\n Registers.Templates.approved,\n Registers.Templates.ceded,\n ],\n Factor: [\n Registers.Templates.approved,\n Registers.Templates.ceded,\n Registers.Templates.transport,\n ],\n Client: [Registers.Templates.ceded],\n Debtor: [],\n Platform: [],\n};\n\nconst unprocessedStatuses: { [KRole in User.FactoringRole]: string[] } = {\n Admin: [\n Registers.Statuses.waitFactorProcessing,\n Registers.Statuses.onFactorSigning,\n Registers.Statuses.onClientSigning,\n ],\n Factor: [\n Registers.Statuses.waitFactorProcessing,\n Registers.Statuses.onFactorSigning,\n ],\n Client: [Registers.Statuses.onClientSigning],\n Debtor: [],\n Platform: [],\n};\n\nexport const factorApprovedRegisterParameters = (\n role: User.FactoringRole,\n processTemplate: string[],\n) => ({\n unprocessed: {\n filters: {\n type: signingTemplateCodes[role],\n status: unprocessedStatuses[role],\n processTemplate,\n },\n },\n transport: {\n filters: {\n type: [Registers.Templates.transport],\n status: registersAvailableStatuses,\n processTemplate,\n },\n },\n all: {\n filters: {\n type: signingTemplateCodes[role],\n status: registersAvailableStatuses,\n processTemplate,\n },\n },\n});\n\nexport const getDiscountRegisterParametersForProcess = (processTemplate: string[]) => ({\n all: {\n filters: {\n type: [\n Registers.Templates.discount,\n Registers.Templates.discountConf,\n Registers.Templates.discountRej,\n ],\n status: registersAvailableStatuses,\n processTemplate,\n },\n },\n debtorUnprocessed: {\n filters: {\n type: [Registers.Templates.discountConf],\n status: registersAvailableStatuses,\n signAllowed: true,\n processTemplate,\n },\n },\n clientUnprocessed: {\n filters: {\n type: [Registers.Templates.discount],\n status: [Registers.Statuses.onClientConfirmation],\n processTemplate,\n },\n },\n discount: {\n filters: {\n type: [Registers.Templates.discount],\n status: registersAvailableStatuses,\n processTemplate,\n },\n },\n discountConf: {\n filters: {\n type: [Registers.Templates.discountConf],\n status: registersAvailableStatuses,\n processTemplate,\n },\n },\n discountRejec: {\n filters: {\n type: [Registers.Templates.discountRej],\n status: registersAvailableStatuses,\n processTemplate,\n },\n },\n});\n\nexport const cedeRegisterParameters = {\n verified: {\n filters: {\n type: [Registers.Templates.verified],\n status: registersAvailableStatuses,\n processTemplate: [processTemplates.verifiedProcess],\n },\n },\n ceeded: {\n filters: {\n type: [\n Registers.Templates.ceded,\n Registers.Templates.financed,\n Registers.Templates.nonFinanced,\n ],\n status: registersAvailableStatuses,\n processTemplate: [processTemplates.verifiedProcess],\n },\n },\n all: {\n filters: {\n type: [\n Registers.Templates.verified,\n Registers.Templates.ceded,\n Registers.Templates.financed,\n Registers.Templates.nonFinanced,\n ],\n status: registersAvailableStatuses,\n processTemplate: [processTemplates.verifiedProcess],\n },\n },\n};\n\nexport const factorConveyorParameters = (processTemplate: string) => ({\n unprocessed: {\n filters: {\n type: [\n Registers.Templates.ceded,\n Registers.Templates.financed,\n Registers.Templates.nonFinanced,\n ],\n status: registersAvailableStatuses,\n processing: true,\n processTemplate: [processTemplate],\n },\n },\n all: {\n filters: {\n type: [\n Registers.Templates.ceded,\n Registers.Templates.financed,\n Registers.Templates.nonFinanced,\n ],\n status: registersAvailableStatuses,\n processTemplate: [processTemplate],\n },\n },\n unsigned: {\n filters: {\n type: [Registers.Templates.ceded],\n status: [Registers.Statuses.onFactorSigning],\n stage: ['Ack______'],\n processTemplate: [processTemplate],\n },\n },\n});\n\nexport const debtorConveyorParameters = {\n unprocessed: {\n filters: {\n type: [Registers.Templates.completed],\n status: [Registers.Statuses.onDebtorConfirmation],\n stage: ['Ack______'],\n processTemplate: [processTemplates.conveyorProcess],\n },\n },\n all: {\n filters: {\n type: [\n Registers.Templates.completed,\n Registers.Templates.ceded,\n Registers.Templates.completedRej,\n ],\n status: registersAvailableStatuses,\n processTemplate: [processTemplates.conveyorProcess],\n },\n },\n unsigned: {\n filters: {\n type: [Registers.Templates.ceded],\n status: [Registers.Statuses.onDebtorSigning],\n stage: ['New______'],\n processTemplate: [processTemplates.conveyorProcess],\n },\n },\n};\n\nexport const clientConveyorParameters = {\n unprocessed: {\n filters: {\n type: [Registers.Templates.ceded],\n status: [Registers.Statuses.waitClientProcessing],\n stage: ['Formed___'],\n },\n },\n rvp: {\n filters: {\n type: [\n Registers.Templates.completed,\n Registers.Templates.ceded,\n Registers.Templates.completedRej,\n ],\n status: registersAvailableStatuses,\n processTemplate: [processTemplates.conveyorProcess],\n },\n },\n rnu: {\n filters: {\n type: [\n Registers.Templates.ceded,\n Registers.Templates.financed,\n Registers.Templates.nonFinanced,\n ],\n status: registersAvailableStatuses,\n processTemplate: [processTemplates.conveyorProcess],\n },\n },\n all: {\n filters: {\n type: [\n Registers.Templates.completed,\n Registers.Templates.ceded,\n Registers.Templates.completedRej,\n Registers.Templates.financed,\n Registers.Templates.nonFinanced,\n ],\n status: registersAvailableStatuses,\n processTemplate: [processTemplates.conveyorProcess],\n },\n },\n};\n\nexport const getFinanceParameters = (processTemplate: string) => ({\n factorUnprocessed: {\n filters: {\n type: [Registers.Templates.fundedSupply],\n status: [Registers.Statuses.onFactorSigning],\n stage: ['Formed___'],\n processTemplate: [processTemplate],\n },\n },\n clientUnprocessed: {\n filters: {\n type: [Registers.Templates.fundedSupply],\n status: [Registers.Statuses.onClientSigning],\n stage: ['Ack______'],\n processTemplate: [processTemplate],\n },\n },\n all: {\n filters: {\n processTemplate: [processTemplate],\n },\n },\n});\n\nexport * from './mtsSperParameters';\nexport * from './rtkEpParameters';\n","// extracted by mini-css-extract-plugin\nmodule.exports = {\"note\":\"FormComponent_note__jVtyb\",\"row\":\"FormComponent_row__2MwMX\",\"checkboxField\":\"FormComponent_checkboxField__2xyoT\",\"noError\":\"FormComponent_noError__2pt6a\",\"successIcon\":\"FormComponent_successIcon__bYg7X\",\"errorsContainer\":\"FormComponent_errorsContainer__2OR_e\",\"errorsLabel\":\"FormComponent_errorsLabel__1F0sY\"};","// extracted by mini-css-extract-plugin\nmodule.exports = {\"input\":\"PaginationInputFilterField_input__3gWLK\"};","// extracted by mini-css-extract-plugin\nmodule.exports = {\"overflow\":\"PaginationSelect_overflow__1oDrT\"};","// extracted by mini-css-extract-plugin\nmodule.exports = {\"grid\":\"GridAdapter_grid__2U8wL\"};","// extracted by mini-css-extract-plugin\nmodule.exports = {\"container\":\"Filters_container__2woXq\"};","// extracted by mini-css-extract-plugin\nmodule.exports = {\"container\":\"UploadButton_container__3yu0m\"};","// extracted by mini-css-extract-plugin\nmodule.exports = {\"button\":\"TransferButton_button__1Tvs5\"};","// extracted by mini-css-extract-plugin\nmodule.exports = {\"field\":\"ListFilterField_field__1spiV\"};","import React from 'react';\nimport SvgIcon, { SvgIconProps } from '@mui/material/SvgIcon';\n\n\nexport const AlertF24 = (props: SvgIconProps): JSX.Element => React.createElement(SvgIcon, props, );\n","import React from 'react';\nimport SvgIcon, { SvgIconProps } from '@mui/material/SvgIcon';\n\n\nexport const ExternalLeft24 = (props: SvgIconProps): JSX.Element => React.createElement(SvgIcon, props, );\n","import React from 'react';\nimport SvgIcon, { SvgIconProps } from '@mui/material/SvgIcon';\n\n\nexport const ExternalRight24 = (props: SvgIconProps): JSX.Element => React.createElement(SvgIcon, props, );\n","import React from 'react';\nimport SvgIcon, { SvgIconProps } from '@mui/material/SvgIcon';\n\n\nexport const ExternalUp24 = (props: SvgIconProps): JSX.Element => React.createElement(SvgIcon, props, );\n","import React from 'react';\nimport SvgIcon, { SvgIconProps } from '@mui/material/SvgIcon';\n\n\nexport const ArrowDown24 = (props: SvgIconProps): JSX.Element => React.createElement(SvgIcon, props, );\n","import React from 'react';\nimport SvgIcon, { SvgIconProps } from '@mui/material/SvgIcon';\n\n\nexport const ArrowLeft24 = (props: SvgIconProps): JSX.Element => React.createElement(SvgIcon, props, );\n","import React from 'react';\nimport SvgIcon, { SvgIconProps } from '@mui/material/SvgIcon';\n\n\nexport const ArrowRight24 = (props: SvgIconProps): JSX.Element => React.createElement(SvgIcon, props, );\n","import React from 'react';\nimport SvgIcon, { SvgIconProps } from '@mui/material/SvgIcon';\n\n\nexport const ArrowUp24 = (props: SvgIconProps): JSX.Element => React.createElement(SvgIcon, props, );\n","import React from 'react';\nimport SvgIcon, { SvgIconProps } from '@mui/material/SvgIcon';\n\n\nexport const Calendar24 = (props: SvgIconProps): JSX.Element => React.createElement(SvgIcon, props, );\n","import React from 'react';\nimport SvgIcon, { SvgIconProps } from '@mui/material/SvgIcon';\n\n\nexport const Clock24 = (props: SvgIconProps): JSX.Element => React.createElement(SvgIcon, props, );\n","import React from 'react';\nimport SvgIcon, { SvgIconProps } from '@mui/material/SvgIcon';\n\n\nexport const Close24 = (props: SvgIconProps): JSX.Element => React.createElement(SvgIcon, props, );\n","import React from 'react';\nimport SvgIcon, { SvgIconProps } from '@mui/material/SvgIcon';\n\n\nexport const Document24 = (props: SvgIconProps): JSX.Element => React.createElement(SvgIcon, props, );\n","import React from 'react';\nimport SvgIcon, { SvgIconProps } from '@mui/material/SvgIcon';\n\n\nexport const Download24 = (props: SvgIconProps): JSX.Element => React.createElement(SvgIcon, props, );\n","import React from 'react';\nimport SvgIcon, { SvgIconProps } from '@mui/material/SvgIcon';\n\n\nexport const EyeClose24 = (props: SvgIconProps): JSX.Element => React.createElement(SvgIcon, props, );\n","import React from 'react';\nimport SvgIcon, { SvgIconProps } from '@mui/material/SvgIcon';\n\n\nexport const Eye24 = (props: SvgIconProps): JSX.Element => React.createElement(SvgIcon, props, );\n","import React from 'react';\nimport SvgIcon, { SvgIconProps } from '@mui/material/SvgIcon';\n\n\nexport const File24 = (props: SvgIconProps): JSX.Element => React.createElement(SvgIcon, props, );\n","import React from 'react';\nimport SvgIcon, { SvgIconProps } from '@mui/material/SvgIcon';\n\n\nexport const Box24 = (props: SvgIconProps): JSX.Element => React.createElement(SvgIcon, props, );\n","import React from 'react';\nimport SvgIcon, { SvgIconProps } from '@mui/material/SvgIcon';\n\n\nexport const Info24 = (props: SvgIconProps): JSX.Element => React.createElement(SvgIcon, props, );\n","import React from 'react';\nimport SvgIcon, { SvgIconProps } from '@mui/material/SvgIcon';\n\n\nexport const QuestionRound24 = (props: SvgIconProps): JSX.Element => React.createElement(SvgIcon, props, );\n","import React from 'react';\nimport SvgIcon, { SvgIconProps } from '@mui/material/SvgIcon';\n\n\nexport const MoreHorizontal24 = (props: SvgIconProps): JSX.Element => React.createElement(SvgIcon, props, );\n","import React from 'react';\nimport SvgIcon, { SvgIconProps } from '@mui/material/SvgIcon';\n\n\nexport const Padlock24 = (props: SvgIconProps): JSX.Element => React.createElement(SvgIcon, props, );\n","import React from 'react';\nimport SvgIcon, { SvgIconProps } from '@mui/material/SvgIcon';\n\n\nexport const Plus24 = (props: SvgIconProps): JSX.Element => React.createElement(SvgIcon, props, );\n","import React from 'react';\nimport SvgIcon, { SvgIconProps } from '@mui/material/SvgIcon';\n\n\nexport const Printer24 = (props: SvgIconProps): JSX.Element => React.createElement(SvgIcon, props, );\n","import React from 'react';\nimport SvgIcon, { SvgIconProps } from '@mui/material/SvgIcon';\n\n\nexport const Search24 = (props: SvgIconProps): JSX.Element => React.createElement(SvgIcon, props, );\n","import React from 'react';\nimport SvgIcon, { SvgIconProps } from '@mui/material/SvgIcon';\n\n\nexport const SettingsAlt24 = (props: SvgIconProps): JSX.Element => React.createElement(SvgIcon, props, );\n","import React from 'react';\nimport SvgIcon, { SvgIconProps } from '@mui/material/SvgIcon';\n\n\nexport const StopSign24 = (props: SvgIconProps): JSX.Element => React.createElement(SvgIcon, props, );\n","import React from 'react';\nimport SvgIcon, { SvgIconProps } from '@mui/material/SvgIcon';\n\n\nexport const Check24 = (props: SvgIconProps): JSX.Element => React.createElement(SvgIcon, props, );\n","import React from 'react';\nimport SvgIcon, { SvgIconProps } from '@mui/material/SvgIcon';\n\n\nexport const FileText24 = (props: SvgIconProps): JSX.Element => React.createElement(SvgIcon, props, );\n","import React from 'react';\nimport SvgIcon, { SvgIconProps } from '@mui/material/SvgIcon';\n\n\nexport const ChevronsLeft24 = (props: SvgIconProps): JSX.Element => React.createElement(SvgIcon, props, );\n","import React from 'react';\nimport SvgIcon, { SvgIconProps } from '@mui/material/SvgIcon';\n\n\nexport const ChevronsRight24 = (props: SvgIconProps): JSX.Element => React.createElement(SvgIcon, props, );\n","import React from 'react';\nimport SvgIcon, { SvgIconProps } from '@mui/material/SvgIcon';\n\n\nexport const ArrowsUpdown24 = (props: SvgIconProps): JSX.Element => React.createElement(SvgIcon, props, );\n","import React from 'react';\nimport SvgIcon, { SvgIconProps } from '@mui/material/SvgIcon';\n\n\nexport const Telegram24 = (props: SvgIconProps): JSX.Element => React.createElement(SvgIcon, props,\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n );\n","// extracted by mini-css-extract-plugin\nmodule.exports = {\"documentHeader\":\"DownloadButton_documentHeader__2QL4S\"};","// extracted by mini-css-extract-plugin\nmodule.exports = {\"button\":\"TransferButton_button__24dOh\"};","// extracted by mini-css-extract-plugin\nmodule.exports = {\"search\":\"SearchInput_search__2AlhP\"};","// extracted by mini-css-extract-plugin\nmodule.exports = {\"supplyItem\":\"SupplyItem_supplyItem__2ia-8\"};","// extracted by mini-css-extract-plugin\nmodule.exports = {\"twoColumnLayout\":\"TwoColumnLayout_twoColumnLayout__2H4nj\"};","import { createActionNamespace } from 'Modules/core/redux';\n\n\nconst configAction = createActionNamespace('config');\n\nexport const configActions = {\n get: configAction('GET'),\n set: configAction('SET'),\n};\n","import { lookupTableReducer } from 'Modules/core/redux';\n\nimport { configActions } from './actions';\n\n\nconst actionLookup = {\n [`${configActions.set}`]: (state, config) => ({\n ...state,\n ...config,\n }),\n};\n\nexport const config = lookupTableReducer({}, actionLookup);\n","import { put, call, takeLatest } from 'redux-saga/effects';\n\nimport { getFromPublicDir } from 'Modules/core/api';\n\nimport { configActions } from './actions';\n\n\nfunction* getConfig() {\n const config = yield call(getFromPublicDir, 'config.json', {\n headers: {\n 'Cache-Control': 'no-cache, no-store, must-revalidate',\n },\n });\n\n yield put(configActions.set(config));\n}\n\nexport const sagas = [\n takeLatest(`${configActions.get}`, getConfig),\n];\n","import { useSelector } from 'Modules/core/redux';\n\nimport { CONFIG_REDUCER_PATH } from './utils';\n\n\nexport const useConfig = (path: string): T | undefined =>\n useSelector(`${CONFIG_REDUCER_PATH}.${path}`, [path]);\n","export const CONFIG_REDUCER_PATH = 'config';\n","import { config } from './reducer';\nimport { sagas } from './sagas';\n\n\nexport * from './hooks';\n\nexport const state = {\n reducer: {\n config,\n },\n sagas,\n};\n","import { state } from './state';\r\nimport { ConfigModule } from './ConfigModule';\r\n\r\n\r\nexport * from './state/actions';\r\nexport * from './state/hooks';\r\n\r\n\r\nexport const config = {\r\n state,\r\n\r\n renderChain: [\r\n [ConfigModule, -35],\r\n ],\r\n};\r\n","import React, { useEffect } from 'react';\r\n\r\nimport { ChainedRender } from 'Modules/core/react';\r\nimport { useAction } from 'Modules/core/redux';\r\n\r\nimport { configActions } from './state/actions';\r\n\r\n\r\nexport const ConfigModule: ChainedRender = ({ Next }) => {\r\n const getConfig = useAction(configActions.get, []);\r\n useEffect(\r\n () => {\r\n getConfig();\r\n },\r\n [getConfig],\r\n );\r\n\r\n return ;\r\n};\r\n","import React from 'react';\nimport { BrowserRouter } from 'react-router-dom';\n\nimport { ChainedRender } from './types';\n\n\nexport const BrowserRouterRender: ChainedRender = ({ Next }) => (\n \n \n \n);\n","import fp from 'lodash/fp';\nimport ReactDOM from 'react-dom';\nimport React, { ComponentType } from 'react';\nimport { Prioritized, prioritizeExtensions } from '@factorin/container';\nimport withDependencies from '@factorin/container.macro';\n\nimport { SizeContextProvider } from 'Modules/ui/components';\n\nimport { ChainedRender } from './types';\n\n\ntype RenderedChain = ComponentType<{ Next?: ChainedRender }>;\n\nconst reduceRender = (prev: RenderedChain, Current: ChainedRender): RenderedChain =>\n () => ;\n\nconst render: (renderChain: Prioritized) => ComponentType = fp.pipe(\n prioritizeExtensions,\n fp.reduce(reduceRender, () => null),\n);\n\nconst sizeContextRender: ChainedRender = ({ Next }) => (\n \n \n \n);\n\nexport const react = {\n renderChain: [\n [sizeContextRender, 50],\n ] as Prioritized,\n\n Application: withDependencies((renderChain: Prioritized) =>\n render(renderChain)),\n\n runApplication: withDependencies((Application: ComponentType) => () => {\n ReactDOM.render(\n ,\n document.getElementById('root'),\n );\n }),\n};\n\nexport * from './BrowserRouterRender';\nexport * from './types';\n","import { createBrowserHistory } from 'history';\nimport withDependencies from '@factorin/container.macro';\n\n\nlet historyHandle = null;\n\nexport const history = withDependencies(config => {\n historyHandle = historyHandle || createBrowserHistory({\n basename: config.basePath,\n });\n return historyHandle;\n});\n","import { connectRouter } from 'connected-react-router';\nimport withDependencies from '@factorin/container.macro';\n\nimport { routerMiddleware } from './middleware';\n\n\nexport const isSagaObject = obj => obj['@@redux-saga/IO'];\n\nexport const state = {\n reducer: {\n router: withDependencies(history => connectRouter(history)),\n },\n sagas: [],\n middleware: [\n routerMiddleware,\n ],\n};\n","import { routerMiddleware as middleware } from 'connected-react-router';\nimport withDependencies from '@factorin/container.macro';\n\n\nexport const routerMiddleware =\n withDependencies(history => middleware(history));\n","import createSagaMiddleware from 'redux-saga';\nimport { take, all, cancel } from 'redux-saga/effects';\n\n\nexport const sagaMiddleware = createSagaMiddleware();\n\nconst ABORT_SAGAS_HMR = 'ABORT_SAGAS_HMR';\n\nexport const createRootSaga = ({ sagas }) => {\n if (process.env.NODE_ENV === 'development') {\n return function* main() {\n yield all(sagas);\n\n yield take(ABORT_SAGAS_HMR);\n yield cancel();\n };\n }\n\n return function* main() {\n yield all(sagas);\n };\n};\n\nexport const abortSagas = store => store.dispatch({ type: ABORT_SAGAS_HMR });\n","import { createAction } from '../utils/state';\n\n\nexport const actionTypes = {\n CLEAR_ROOT: 'CLEAR_ROOT',\n};\n\nexport const actions = {\n clearRoot: createAction(actionTypes.CLEAR_ROOT),\n};\n","import fp from 'lodash/fp';\nimport { combineReducers } from 'redux';\nimport { connectRouter } from 'connected-react-router';\n\nimport { actionTypes } from './actions';\n\n\nconst unfoldReducer = fp.pipe(\n fp.mapValues(s => fp.isFunction(s) ? s : unfoldReducer(s)),\n combineReducers,\n);\n\nexport const createRootReducer = ({ reducer }, history) => {\n const appReducer = unfoldReducer(\n fp.isEmpty(reducer)\n ? fp.identity\n : reducer,\n );\n\n const rootReducer = (state, action) => appReducer(\n action.type === actionTypes.CLEAR_ROOT\n ? fp.pick(['router'], state)\n : state,\n action,\n );\n\n return connectRouter(history)(rootReducer);\n};\n","import { compose, createStore, applyMiddleware } from 'redux';\nimport withDependencies from '@factorin/container.macro';\n\nimport { createRootSaga, sagaMiddleware, abortSagas } from '../state/sagas';\nimport { createRootReducer } from '../state/reducer';\n\n\nconst reduxDevToolsCompose = window.__REDUX_DEVTOOLS_EXTENSION_COMPOSE__;\n\nexport const store = withDependencies((state, history) => {\n if (module.hot && window.$reduxStore) {\n const oldStore = window.$reduxStore;\n abortSagas(oldStore);\n oldStore.replaceReducer(createRootReducer(state, history));\n sagaMiddleware.run(createRootSaga(state));\n return oldStore;\n }\n\n const composeEnhancers = reduxDevToolsCompose || compose;\n const newStore = createStore(\n createRootReducer(state, history),\n composeEnhancers(applyMiddleware(...state.middleware, sagaMiddleware)),\n );\n sagaMiddleware.run(createRootSaga(state));\n\n if (module.hot)\n window.$reduxStore = newStore;\n\n return newStore;\n});\n","import React from 'react';\nimport { Provider } from 'react-redux';\nimport { ConnectedRouter } from 'connected-react-router';\nimport withDependencies from '@factorin/container.macro';\n\n\nexport const ReduxProvider = withDependencies((store, history) => ({ Next }) => (\n \n \n \n \n \n));\n","import { call } from 'redux-saga/effects';\n\nimport { history } from './history';\nimport { state, isSagaObject } from './state';\nimport { store } from './store';\nimport { ReduxProvider } from './ReduxProvider';\n\n\nexport * from './types';\nexport * from './utils';\n\nexport const redux = {\n $ignore: [\n isSagaObject,\n ],\n\n history,\n\n state,\n store,\n\n API: {\n call,\n },\n renderChain: [\n [ReduxProvider, 50],\n ],\n};\n","import './common.scss';\n\n\nexport * from './utils';\nexport * from './hooks';\n\nexport * from './components';\n","// extracted by mini-css-extract-plugin\nmodule.exports = {\"modal\":\"ui_modal__2IszF\",\"container\":\"ui_container__1Dq0a\",\"scrollable\":\"ui_scrollable__2ho6A\"};","import { createAction, createActionWithPath } from 'Modules/core/redux';\n\n\nconst actionTypes = {\n INITIALIZE: 'INITIALIZE',\n SET_ENVIRONMENT: 'ENVIRONMENT',\n REQUEST_LOGOUT: 'REQUEST_LOGOUT',\n SET_BUSY: 'SET_BUSY',\n};\n\nexport { actionTypes as environmentActionTypes };\n\nexport const environmentActions = {\n initialize: createAction(actionTypes.INITIALIZE),\n setEnvironment: createAction(actionTypes.SET_ENVIRONMENT),\n requestLogout: createAction(actionTypes.REQUEST_LOGOUT),\n setBusy: createActionWithPath(actionTypes.SET_BUSY),\n};\n","import fp from 'lodash/fp';\nimport { put, all, call, takeLatest } from 'redux-saga/effects';\nimport { environment } from '@factorin/container.macro';\nimport { system } from '@factorin/rest';\n\nimport { apiCall } from 'Modules/core/api';\nimport { i18nActionTypes } from 'Modules/core/i18n';\nimport { messagingActions } from 'Modules/core/messaging';\n\nimport { environmentActions, environmentActionTypes } from './actions';\n\n\nexport const mapDictFilters = fp.keyBy('Code');\nexport const mapDictNodes = fp.keyBy('DltKey');\n\nexport function* tryGetEnvironmentPart(api, setter) {\n const data = yield apiCall(api);\n yield put(environmentActions.setEnvironment(setter(data)));\n}\n\nfunction* getSystemInfo() {\n try {\n const systemInfo = yield apiCall(system.info);\n yield put(environmentActions.setEnvironment({ systemInfo }));\n } catch (error) {\n yield put(messagingActions.showNotification({\n content: {\n key: 'environment.systemInfoError',\n values: {\n error,\n },\n },\n }));\n }\n}\n\nfunction* initializeSaga() {\n try {\n const [sequential, parallel] = fp.partition(fp.isArray, environment.initializationSagas);\n\n const sequientialSagasWithOrder = fp.pipe(\n fp.sortBy(fp.get(1)),\n fp.map(fp.first),\n )(sequential);\n\n for (let index = 0; index < sequientialSagasWithOrder.length; index++) {\n const result = yield call(sequientialSagasWithOrder[index]);\n if (result === null)\n return;\n }\n\n yield all(fp.map(call, parallel));\n yield put(environmentActions.setEnvironment({ initialized: true }));\n } catch (error) {\n yield put(environmentActions.setEnvironment({ error: { message: `${error}` } }));\n }\n}\n\nfunction* languageChangedSaga() {\n yield all(fp.map(call, environment.changeLanguageSagas));\n}\n\nexport const sagas = [\n takeLatest(environmentActionTypes.INITIALIZE, initializeSaga),\n takeLatest(i18nActionTypes.LANGUAGE_CHANGED, languageChangedSaga),\n];\n\nexport const initializationSagas = [\n getSystemInfo,\n];\n","import { lookupTableReducer } from 'Modules/core/redux';\n\nimport { environmentActionTypes as actionTypes } from './actions';\n\n\nconst defaultState = {\n initialized: false,\n};\n\nconst actionLookup = {\n [actionTypes.SET_ENVIRONMENT]: (state, $payload) => ({\n ...state,\n ...$payload,\n }),\n};\n\nexport const reducer = lookupTableReducer(defaultState, actionLookup);\n","import { reducer } from './reducer';\nimport { sagas } from './sagas';\n\n\nexport const state = {\n reducer: {\n environment: reducer,\n },\n sagas,\n};\n","import React from 'react';\nimport { theme } from '@factorin/container.macro';\n\nimport { cn } from 'Modules/ui';\n\nimport styles from './index.module.scss';\n\n\nexport const FactorinWindow = ({ className, children, overrideFill = true }) => (\n
    \n \n {children}\n
    \n);\n","import React, { useCallback } from 'react';\n\nimport { useDispatch } from 'Modules/core/redux';\nimport { Button } from 'Modules/ui';\nimport { useTranslation } from 'Modules/core/i18n';\n\nimport { environmentActions } from '../../state/actions';\n\n\nexport const LogoutButton = ({ className, resetRoute }) => {\n const { t } = useTranslation('logoutButton');\n const dispatch = useDispatch();\n const logout = useCallback(\n () => dispatch(environmentActions.requestLogout(resetRoute)),\n [resetRoute, dispatch],\n );\n return (\n \n );\n};\n","import React from 'react';\n\nimport { Text } from 'Modules/ui';\nimport { LanguageSelector } from 'Modules/core/i18n';\n\nimport { FactorinWindow } from '../FactorinWindow';\nimport { LogoutButton } from '../LogoutButton';\nimport styles from './index.module.scss';\n\n\nexport const LoginErrorWindow = ({ children }) => (\n \n \n \n {children}\n \n \n \n);\n","import React from 'react';\n\nimport { ProgressLoader, Text } from 'Modules/ui';\nimport { useTranslation } from 'Modules/core/i18n';\n\nimport styles from './index.module.scss';\n\n\nexport const ApplicationInitializer = () => {\n const { t } = useTranslation('system');\n return (\n
    \n \n \n \n {t('initializing')}\n \n \n
    \n );\n};\n","import { Common } from '@factorin/domain';\nimport { put } from 'redux-saga/effects';\n\nimport { useSelector } from 'Modules/core/redux';\n\nimport { environmentActions } from './actions';\n\n\nconst ENVIRONMENT_KEY = 'environment';\n\nexport const useEnvironment = >(\n path: string,\n): TReturn => {\n const result = useSelector(`${ENVIRONMENT_KEY}.${path}`, [path]);\n return result;\n};\n\nexport const useBusy = (path: string): boolean =>\n useSelector(`${ENVIRONMENT_KEY}.${path}.busy`, [path]);\n\nexport const withBusyWrapper = path => next =>\n function* busyWrapper() {\n yield put(environmentActions.setBusy(path)(true));\n yield next();\n yield put(environmentActions.setBusy(path)(false));\n };\n","import { environment } from '@factorin/container.macro';\nimport React, { useEffect } from 'react';\n\nimport { useDispatch } from 'Modules/core/redux';\nimport { useTranslation } from 'Modules/core/i18n';\n\nimport { environmentActions } from '../state/actions';\nimport { LoginErrorWindow } from '../components/LoginErrorWindow';\nimport { ApplicationInitializer } from '../components/ApplicationInitialization';\nimport { useEnvironment } from '../state/utils';\n\n\nexport const createError = type => ({ message }) => {\n const { t } = useTranslation('system');\n return (\n \n {message}\n {message &&
    }\n {t(type)}\n
    \n );\n};\n\nexport const ForbiddenError = createError('forbiddenError');\nexport const UserNotFoundError = createError('userNotFound');\nexport const UnknownError = createError('unknownError');\n\nexport const InitializationErrorPages = ({ Next }) => {\n const error = useEnvironment('error');\n if (!error)\n return ;\n\n const { type, message } = error;\n const Error = environment.initializationErrors[type] || UnknownError;\n\n return ;\n};\n\nexport const FactorinInitializer = ({ Next }) => {\n const initialized = useEnvironment('initialized');\n const dispatch = useDispatch();\n useEffect(() => {\n if (!initialized)\n dispatch(environmentActions.initialize());\n }, [initialized, dispatch]);\n return initialized ? : ;\n};\n","import { createContext, useContext } from 'react';\n\n\nexport const ProcessContext = createContext(null);\nexport const useProcessContext = () => useContext(ProcessContext);\n","import { useSelector } from 'Modules/core/redux';\n\n\nexport const useUserIsUnpaid = () => {\n const result = useSelector('user.isUnpaid');\n return result;\n};\n","import { initializationSagas, mapDictFilters, mapDictNodes, tryGetEnvironmentPart } from './state/sagas';\nimport { state } from './state';\nimport {\n FactorinInitializer, InitializationErrorPages,\n ForbiddenError, UserNotFoundError,\n} from './InitializationMiddleware';\nimport translations from './translations.json';\n\n\nexport * from './state/actions';\nexport * from './state/utils';\nexport { mapDictFilters, tryGetEnvironmentPart, mapDictNodes };\n\nexport * from './components';\nexport * from './utils';\n\nexport const environment = {\n environment: {\n changeLanguageSagas: [],\n initializationSagas,\n initializationErrors: {\n ForbiddenError,\n UserNotFoundError,\n },\n },\n\n state,\n\n translations,\n\n renderChain: [\n [FactorinInitializer, 0],\n [InitializationErrorPages, 30],\n ],\n};\n","// extracted by mini-css-extract-plugin\nmodule.exports = {\"header\":\"Lead_header__3bIu-\",\"form\":\"Lead_form__3OmVk\",\"button\":\"Lead_button__wSbHl\",\"field\":\"Lead_field__228x3\",\"documents\":\"Lead_documents__2oo6C\",\"errorsContainer\":\"Lead_errorsContainer__WfO8_\",\"imgContainer\":\"Lead_imgContainer__rM30d\",\"bigImg\":\"Lead_bigImg__3OQ7d\",\"smallImg\":\"Lead_smallImg__194_x\",\"hidden\":\"Lead_hidden__1IsmT\"};","// extracted by mini-css-extract-plugin\nmodule.exports = {\"header\":\"Rate_header__2aONr\",\"button\":\"Rate_button__2j-qk\",\"documents\":\"Rate_documents__r6xLV\",\"factoringPrice\":\"Rate_factoringPrice__3gSX7\",\"selected\":\"Rate_selected__Jv9OQ\",\"majorsPrice\":\"Rate_majorsPrice__3Hq-V\"};","import React, { FunctionComponent, useMemo } from 'react';\n\nimport { setHtml } from 'Modules/ui';\nimport { Typography, TypographyProps } from 'Modules/ui3';\n\nimport { WithContentSize } from '../types';\n\n\n/*\n BLOCK: header\n PARAMS: text: string, level: number [1-6]\n EXAMPLE:\n {\n \"type\": \"header\",\n \"data\": {\n \"text\": \"Why Telegram is the best messenger\",\n \"level\": 2\n }\n }\n */\n\ntype HeaderRenderProps = WithContentSize & {\n text: string;\n level: number;\n};\n\nconst fontSize = {\n h1: {\n desktop: '39px',\n mobile: '20px',\n },\n h2: {\n desktop: '31px',\n mobile: '18px',\n },\n h3: {\n desktop: '20px',\n mobile: '16px',\n },\n h6: {\n desktop: '18px',\n mobile: '14px',\n },\n};\nconst lineHeigh = {\n desktop: '1.25',\n mobile: '1.4',\n};\nconst marginY = {\n desktop: '24px',\n mobile: '16px',\n};\n\nconst getComponent = (level: HeaderRenderProps['level']) => {\n switch (level) {\n case 1: return 'h1';\n case 2: return 'h2';\n case 3: return 'h3';\n default: return 'h6';\n }\n};\n\nexport const HeaderRenderer: FunctionComponent = ({\n text,\n level,\n size,\n}) => {\n const typographyProps = useMemo(() => {\n const component = getComponent(level);\n return {\n component,\n lineHeight: lineHeigh[size],\n my: marginY[size],\n fontSize: fontSize[component][size],\n };\n }, [level, size]);\n return (\n \n );\n};\n","import React, { FunctionComponent } from 'react';\n\nimport { cn } from 'Modules/ui';\n\nimport styles from './index.module.scss';\n\n/*\n BLOCK: image\n PARAMS: file: object,\n caption: string,\n withBorder: boolean,\n withBackground: boolean,\n stretched: boolean\n EXAMPLE:\n {\n \"type\" : \"image\",\n \"data\" : {\n \"file\": {\n \"url\" : \"https://www.tesla.com/tesla_theme/assets/img/_vehicle_redesign/roadster_and_semi/roadster/hero.jpg\"\n },\n \"caption\" : \"Roadster // tesla.com\",\n \"withBorder\" : false,\n \"withBackground\" : false,\n \"stretched\" : true\n }\n }\n */\n\ninterface ImageFile {\n url: string;\n}\n\ninterface ImageRendererProps {\n file: ImageFile;\n caption?: string;\n withBorder?: boolean;\n withBackground?: boolean;\n stretch?: boolean;\n}\n\nexport const ImageRenderer: FunctionComponent = ({\n file,\n caption,\n withBorder,\n withBackground,\n stretch,\n}) => (\n \n);\n\nImageRenderer.defaultProps = {\n caption: '',\n withBorder: false,\n withBackground: false,\n stretch: false,\n} as Partial;\n","import React, { FunctionComponent, useMemo } from 'react';\n\nimport { setHtml } from 'Modules/ui';\nimport { Box, Typography, ChevronsLeft24, ChevronsRight24, TypographyProps } from 'Modules/ui3';\n\nimport { WithContentSize } from '../types';\n\n/*\n BLOCK: quote\n PARAMS: text: string\n caption: string\n EXAMPLE:\n {\n \"type\" : \"quote\",\n \"data\" : {\n \"text\" : \"The unexamined life is not worth living.\",\n \"caption\" : \"Socrates\"\n }\n }\n */\n\ntype QuoteRendererProps = WithContentSize & {\n text: string;\n caption: string;\n};\n\nexport const QuoteRenderer: FunctionComponent = ({ text, caption, size }) => {\n const { textProps, captionProps } = useMemo>>(() => ({\n textProps: {\n fontSize: {\n desktop: '20px',\n mobile: '16px',\n }[size],\n lineHeight: {\n desktop: '1.5',\n mobile: '1.4',\n }[size],\n },\n captionProps: {\n fontSize: {\n desktop: '16px',\n mobile: '12px',\n }[size],\n },\n }), [size]);\n\n return (\n \n \n \n \n \n \n );\n};\n","import React, { ReactNode } from 'react';\n\nimport { HeaderRenderer } from './HeaderRenderer';\nimport { ParagraphRenderer } from './ParagraphRenderer';\nimport { ListRenderer } from './ListRenderer';\nimport { DelimiterRenderer } from './DelimiterRenderer';\nimport { ImageRenderer } from './ImageRenderer';\nimport { QuoteRenderer } from './QuoteRenderer';\nimport { LinkRenderer } from './LinkRenderer';\nimport { ContentSize, RenderData, TitleDescriptionObject } from './types';\n\n\nexport * from './types';\n\nconst componentMap = {\n header: HeaderRenderer,\n paragraph: ParagraphRenderer,\n list: ListRenderer,\n delimiter: DelimiterRenderer,\n image: ImageRenderer,\n quote: QuoteRenderer,\n linkTool: LinkRenderer,\n};\n\nexport const renderContent = (data: RenderData, size: ContentSize = 'desktop'): ReactNode[] =>\n data.blocks.map((block, index) => {\n const Component = componentMap[block.type];\n return Component ? : '';\n });\n\n\n// Get first header block as a main title,\n// get first text block (header or paragraph) as a description\nexport const getTitleAndDescription = (\n data: RenderData,\n): TitleDescriptionObject => {\n const firstHeaderIndex = data.blocks.findIndex(\n elem => elem.type === 'header',\n );\n const textIndex = data.blocks.findIndex(\n (elem, index) =>\n index !== firstHeaderIndex &&\n (elem.type === 'header' || elem.type === 'paragraph'),\n );\n return {\n title:\n firstHeaderIndex !== -1 && data.blocks[firstHeaderIndex]\n ? data.blocks[firstHeaderIndex].data.text\n : '',\n description:\n textIndex !== -1 && data.blocks[textIndex]\n ? data.blocks[textIndex].data.text\n : '',\n };\n};\n","import React, { FunctionComponent, useMemo } from 'react';\n\nimport { setHtml } from 'Modules/ui';\nimport { Typography, TypographyProps } from 'Modules/ui3';\n\nimport { WithContentSize } from '../types';\n\n/*\n BLOCK: paragraph\n PARAMS: text: string\n EXAMPLE:\n {\n \"type\" : \"paragraph\",\n \"data\" : {\n \"text\" : \"Check out our projects on a GitHub page.\",\n }\n }\n */\n\ntype ParagraphRenderProps = WithContentSize & {\n text: string;\n};\n\nexport const ParagraphRenderer: FunctionComponent = ({\n text, size,\n}) => {\n const typographyProps = useMemo>(() => ({\n my: {\n desktop: '24px',\n mobile: '16px',\n }[size],\n fontSize: {\n desktop: '20px',\n mobile: '16px',\n }[size],\n lineHeight: {\n desktop: '1.5',\n mobile: '1.4',\n }[size],\n }), [size]);\n return (\n \n );\n};\n","import React, { FunctionComponent, useMemo } from 'react';\n\nimport { setHtml } from 'Modules/ui';\nimport { Box, Typography, TypographyProps, BoxProps } from 'Modules/ui3';\n\nimport { WithContentSize } from '../types';\n\n\n/*\n BLOCK: list\n PARAMS: style: string ['ordered' | 'unordered'], items: string[]\n EXAMPLE:\n {\n \"type\" : \"list\",\n \"data\" : {\n \"style\" : \"unordered\",\n \"items\" : [\n \"This is a block-styled editor\",\n \"Clean output data\",\n \"Simple and powerful API\"\n ]\n }\n }\n */\n\ntype ListRenderProps = WithContentSize & {\n style: 'ordered' | 'unordered';\n items: string[];\n};\n\ninterface PropsBySize {\n boxProps: BoxProps;\n typographyProps: TypographyProps<'span'>;\n}\n\nexport const ListRenderer: FunctionComponent = ({\n style,\n items,\n size,\n}) => {\n const { boxProps, typographyProps } = useMemo(() => ({\n boxProps: {\n pl: {\n desktop: 8,\n mobile: 5,\n }[size],\n my: {\n desktop: '24px',\n mobile: '16px',\n }[size],\n },\n typographyProps: {\n fontSize: {\n desktop: '20px',\n mobile: '16px',\n }[size],\n lineHeight: {\n desktop: '1.5',\n mobile: '1.4',\n }[size],\n },\n }), [size]);\n\n return (\n \n {items.map((item, index) => (\n
  • \n \n
  • \n ))}\n \n );\n};\n","import React, { FunctionComponent } from 'react';\n\nimport styles from './index.module.scss';\n\n/*\n BLOCK: delimiter\n PARAMS:\n EXAMPLE:\n {\n \"type\" : \"delimiter\",\n \"data\" : {}\n }\n */\n\ntype DelimiterRendererProps = {};\n\nexport const DelimiterRenderer: FunctionComponent<\nDelimiterRendererProps\n> = () => (\n
    \n
    \n
    \n);\n","import React, { FunctionComponent, useMemo } from 'react';\n\nimport { setHtml } from 'Modules/ui';\nimport { Typography, TypographyProps } from 'Modules/ui3';\n\nimport { WithContentSize } from '../types';\n\n\n/*\n BLOCK: link\n PARAMS: title: string,\n url: string,\n EXAMPLE:\n {\n \"type\" : \"link\",\n \"data\" : {\n \"title\": \"Source\",\n \"url\": \"https://editorjs.io/\",\n }\n }\n */\n\ninterface LinkRendererProps extends WithContentSize {\n title?: string;\n url: string;\n}\n\nexport const LinkRenderer: FunctionComponent = ({\n title,\n url,\n size,\n}) => {\n const typographyProps = useMemo>(() => ({\n fontSize: {\n desktop: '20px',\n mobile: '16px',\n }[size],\n lineHeight: {\n desktop: '1.5',\n mobile: '1.4',\n }[size],\n }), [size]);\n return (\n \n );\n};\n","export { Box } from '@mui/material';\nexport type { BoxProps } from '@mui/material';\n",";(function () {\n //already loaded\n if(window.cadesplugin)\n return;\n\n var pluginObject;\n var plugin_resolved = 0;\n var plugin_reject;\n var plugin_resolve;\n var isOpera = 0;\n var isFireFox = 0;\n\tvar isEdge = 0;\n var failed_extensions = 0;\n\n var canPromise = !!window.Promise;\n var cadesplugin;\n\n if(canPromise)\n {\n cadesplugin = new Promise(function(resolve, reject)\n {\n plugin_resolve = resolve;\n plugin_reject = reject;\n });\n } else\n {\n cadesplugin = {};\n }\n\n function check_browser() {\n var ua= navigator.userAgent, tem, M= ua.match(/(opera|chrome|safari|firefox|msie|trident(?=\\/))\\/?\\s*(\\d+)/i) || [];\n if(/trident/i.test(M[1])){\n tem= /\\brv[ :]+(\\d+)/g.exec(ua) || [];\n return {name:'IE',version:(tem[1] || '')};\n }\n if(M[1]=== 'Chrome'){\n tem= ua.match(/\\b(OPR|Edge)\\/(\\d+)/);\n if(tem!= null) return {name:tem[1].replace('OPR', 'Opera'),version:tem[2]};\n }\n M= M[2]? [M[1], M[2]]: [navigator.appName, navigator.appVersion, '-?'];\n if((tem= ua.match(/version\\/(\\d+)/i))!= null) M.splice(1, 1, tem[1]);\n return {name:M[0],version:M[1]};\n }\n var browserSpecs = check_browser();\n\n function cpcsp_console_log(level, msg){\n //IE9 не может писать в консоль если не открыта вкладка developer tools\n if(typeof(console) == 'undefined')\n return;\n if (level <= cadesplugin.current_log_level ){\n if (level == cadesplugin.LOG_LEVEL_DEBUG)\n console.log(\"DEBUG: %s\", msg);\n if (level == cadesplugin.LOG_LEVEL_INFO)\n console.info(\"INFO: %s\", msg);\n if (level == cadesplugin.LOG_LEVEL_ERROR)\n console.error(\"ERROR: %s\", msg);\n return;\n }\n }\n\n function set_log_level(level){\n if (!((level == cadesplugin.LOG_LEVEL_DEBUG) ||\n (level == cadesplugin.LOG_LEVEL_INFO) ||\n (level == cadesplugin.LOG_LEVEL_ERROR))){\n cpcsp_console_log(cadesplugin.LOG_LEVEL_ERROR, \"cadesplugin_api.js: Incorrect log_level: \" + level);\n return;\n }\n cadesplugin.current_log_level = level;\n if (cadesplugin.current_log_level == cadesplugin.LOG_LEVEL_DEBUG)\n cpcsp_console_log(cadesplugin.LOG_LEVEL_INFO, \"cadesplugin_api.js: log_level = DEBUG\");\n if (cadesplugin.current_log_level == cadesplugin.LOG_LEVEL_INFO)\n cpcsp_console_log(cadesplugin.LOG_LEVEL_INFO, \"cadesplugin_api.js: log_level = INFO\");\n if (cadesplugin.current_log_level == cadesplugin.LOG_LEVEL_ERROR)\n cpcsp_console_log(cadesplugin.LOG_LEVEL_INFO, \"cadesplugin_api.js: log_level = ERROR\");\n if(isNativeMessageSupported())\n {\n if (cadesplugin.current_log_level == cadesplugin.LOG_LEVEL_DEBUG)\n window.postMessage(\"set_log_level=debug\", \"*\");\n if (cadesplugin.current_log_level == cadesplugin.LOG_LEVEL_INFO)\n window.postMessage(\"set_log_level=info\", \"*\");\n if (cadesplugin.current_log_level == cadesplugin.LOG_LEVEL_ERROR)\n window.postMessage(\"set_log_level=error\", \"*\");\n }\n }\n\n function set_constantValues()\n {\n cadesplugin.CAPICOM_LOCAL_MACHINE_STORE = 1;\n cadesplugin.CAPICOM_CURRENT_USER_STORE = 2;\n cadesplugin.CADESCOM_LOCAL_MACHINE_STORE = 1;\n cadesplugin.CADESCOM_CURRENT_USER_STORE = 2;\n cadesplugin.CADESCOM_CONTAINER_STORE = 100;\n\n cadesplugin.CAPICOM_MY_STORE = \"My\";\n\n cadesplugin.CAPICOM_STORE_OPEN_MAXIMUM_ALLOWED = 2;\n\n cadesplugin.CAPICOM_CERTIFICATE_FIND_SUBJECT_NAME = 1;\n\n cadesplugin.CADESCOM_XML_SIGNATURE_TYPE_ENVELOPED = 0;\n cadesplugin.CADESCOM_XML_SIGNATURE_TYPE_ENVELOPING = 1;\n cadesplugin.CADESCOM_XML_SIGNATURE_TYPE_TEMPLATE = 2;\n\n cadesplugin.XmlDsigGost3410UrlObsolete = \"http://www.w3.org/2001/04/xmldsig-more#gostr34102001-gostr3411\";\n cadesplugin.XmlDsigGost3411UrlObsolete = \"http://www.w3.org/2001/04/xmldsig-more#gostr3411\";\n cadesplugin.XmlDsigGost3410Url = \"urn:ietf:params:xml:ns:cpxmlsec:algorithms:gostr34102001-gostr3411\";\n cadesplugin.XmlDsigGost3411Url = \"urn:ietf:params:xml:ns:cpxmlsec:algorithms:gostr3411\";\n\n cadesplugin.CADESCOM_CADES_DEFAULT = 0;\n cadesplugin.CADESCOM_CADES_BES = 1;\n cadesplugin.CADESCOM_CADES_T = 0x5;\n cadesplugin.CADESCOM_CADES_X_LONG_TYPE_1 = 0x5d;\n\n cadesplugin.CADESCOM_ENCODE_BASE64 = 0;\n cadesplugin.CADESCOM_ENCODE_BINARY = 1;\n cadesplugin.CADESCOM_ENCODE_ANY = -1;\n\n cadesplugin.CAPICOM_CERTIFICATE_INCLUDE_CHAIN_EXCEPT_ROOT = 0;\n cadesplugin.CAPICOM_CERTIFICATE_INCLUDE_WHOLE_CHAIN = 1;\n cadesplugin.CAPICOM_CERTIFICATE_INCLUDE_END_ENTITY_ONLY = 2;\n\n cadesplugin.CAPICOM_CERT_INFO_SUBJECT_SIMPLE_NAME = 0;\n cadesplugin.CAPICOM_CERT_INFO_ISSUER_SIMPLE_NAME = 1;\n\n cadesplugin.CAPICOM_CERTIFICATE_FIND_SHA1_HASH = 0;\n cadesplugin.CAPICOM_CERTIFICATE_FIND_SUBJECT_NAME = 1;\n cadesplugin.CAPICOM_CERTIFICATE_FIND_ISSUER_NAME = 2;\n cadesplugin.CAPICOM_CERTIFICATE_FIND_ROOT_NAME = 3;\n cadesplugin.CAPICOM_CERTIFICATE_FIND_TEMPLATE_NAME = 4;\n cadesplugin.CAPICOM_CERTIFICATE_FIND_EXTENSION = 5;\n cadesplugin.CAPICOM_CERTIFICATE_FIND_EXTENDED_PROPERTY = 6;\n cadesplugin.CAPICOM_CERTIFICATE_FIND_APPLICATION_POLICY = 7;\n cadesplugin.CAPICOM_CERTIFICATE_FIND_CERTIFICATE_POLICY = 8;\n cadesplugin.CAPICOM_CERTIFICATE_FIND_TIME_VALID = 9;\n cadesplugin.CAPICOM_CERTIFICATE_FIND_TIME_NOT_YET_VALID = 10;\n cadesplugin.CAPICOM_CERTIFICATE_FIND_TIME_EXPIRED = 11;\n cadesplugin.CAPICOM_CERTIFICATE_FIND_KEY_USAGE = 12;\n\n cadesplugin.CAPICOM_DIGITAL_SIGNATURE_KEY_USAGE = 128;\n\n cadesplugin.CAPICOM_PROPID_ENHKEY_USAGE = 9;\n\n cadesplugin.CAPICOM_OID_OTHER = 0;\n cadesplugin.CAPICOM_OID_KEY_USAGE_EXTENSION = 10;\n\n cadesplugin.CAPICOM_EKU_CLIENT_AUTH = 2;\n cadesplugin.CAPICOM_EKU_SMARTCARD_LOGON = 5;\n cadesplugin.CAPICOM_EKU_OTHER = 0;\n\n cadesplugin.CAPICOM_AUTHENTICATED_ATTRIBUTE_SIGNING_TIME = 0;\n cadesplugin.CADESCOM_AUTHENTICATED_ATTRIBUTE_DOCUMENT_NAME = 1;\n cadesplugin.CADESCOM_AUTHENTICATED_ATTRIBUTE_DOCUMENT_DESCRIPTION = 2;\n cadesplugin.CADESCOM_ATTRIBUTE_OTHER = -1;\n\n cadesplugin.CADESCOM_STRING_TO_UCS2LE = 0;\n cadesplugin.CADESCOM_BASE64_TO_BINARY = 1;\n\n cadesplugin.CADESCOM_DISPLAY_DATA_NONE = 0;\n cadesplugin.CADESCOM_DISPLAY_DATA_CONTENT = 1;\n cadesplugin.CADESCOM_DISPLAY_DATA_ATTRIBUTE = 2;\n\n cadesplugin.CADESCOM_ENCRYPTION_ALGORITHM_RC2 = 0;\n cadesplugin.CADESCOM_ENCRYPTION_ALGORITHM_RC4 = 1;\n cadesplugin.CADESCOM_ENCRYPTION_ALGORITHM_DES = 2;\n cadesplugin.CADESCOM_ENCRYPTION_ALGORITHM_3DES = 3;\n cadesplugin.CADESCOM_ENCRYPTION_ALGORITHM_AES = 4;\n cadesplugin.CADESCOM_ENCRYPTION_ALGORITHM_GOST_28147_89 = 25;\n\n cadesplugin.CADESCOM_HASH_ALGORITHM_SHA1 = 0;\n cadesplugin.CADESCOM_HASH_ALGORITHM_MD2 = 1;\n cadesplugin.CADESCOM_HASH_ALGORITHM_MD4 = 2;\n cadesplugin.CADESCOM_HASH_ALGORITHM_MD5 = 3;\n cadesplugin.CADESCOM_HASH_ALGORITHM_SHA_256 = 4;\n cadesplugin.CADESCOM_HASH_ALGORITHM_SHA_384 = 5;\n cadesplugin.CADESCOM_HASH_ALGORITHM_SHA_512 = 6;\n cadesplugin.CADESCOM_HASH_ALGORITHM_CP_GOST_3411 = 100;\n cadesplugin.CADESCOM_HASH_ALGORITHM_CP_GOST_3411_2012_256 = 101;\n cadesplugin.CADESCOM_HASH_ALGORITHM_CP_GOST_3411_2012_512 = 102;\n\n cadesplugin.LOG_LEVEL_DEBUG = 4;\n cadesplugin.LOG_LEVEL_INFO = 2;\n cadesplugin.LOG_LEVEL_ERROR = 1;\n }\n\n function async_spawn(generatorFunc) {\n function continuer(verb, arg) {\n var result;\n try {\n result = generator[verb](arg);\n } catch (err) {\n return Promise.reject(err);\n }\n if (result.done) {\n return result.value;\n } else {\n return Promise.resolve(result.value).then(onFulfilled, onRejected);\n }\n }\n var generator = generatorFunc(Array.prototype.slice.call(arguments, 1));\n var onFulfilled = continuer.bind(continuer, \"next\");\n var onRejected = continuer.bind(continuer, \"throw\");\n return onFulfilled();\n }\n\n function isIE() {\n // var retVal = ((\"Microsoft Internet Explorer\" == navigator.appName) || // IE < 11\n // navigator.userAgent.match(/Trident\\/./i)); // IE 11\n return (browserSpecs.name == 'IE' || browserSpecs.name == 'MSIE');\n }\n\n function isIOS() {\n var retVal = (navigator.userAgent.match(/ipod/i) ||\n navigator.userAgent.match(/ipad/i) ||\n navigator.userAgent.match(/iphone/i));\n return retVal;\n }\n\n function isNativeMessageSupported()\n {\n // В IE работаем через NPAPI\n if(isIE())\n return false;\n // В Edge работаем через NativeMessage\n if(browserSpecs.name == 'Edge') {\n isEdge = true;\n return true;\n }\n // В Chrome, Firefox и Opera работаем через асинхронную версию в зависимости от версии\n if(browserSpecs.name == 'Opera') {\n isOpera = true;\n if(browserSpecs.version >= 33){\n return true;\n }\n else{\n return false;\n }\n }\n if(browserSpecs.name == 'Firefox') {\n isFireFox = true;\n if(browserSpecs.version >= 52){\n return true;\n }\n else{\n return false;\n }\n }\n if(browserSpecs.name == 'Chrome') {\n if(browserSpecs.version >= 42){\n return true;\n }\n else{\n return false;\n }\n }\n }\n\n // Функция активации объектов КриптоПро ЭЦП Browser plug-in\n function CreateObject(name) {\n if (isIOS()) {\n // На iOS для создания объектов используется функция\n // call_ru_cryptopro_npcades_10_native_bridge, определенная в IOS_npcades_supp.js\n return call_ru_cryptopro_npcades_10_native_bridge(\"CreateObject\", [name]);\n }\n if (isIE()) {\n // В Internet Explorer создаются COM-объекты\n if (name.match(/X509Enrollment/i)) {\n try {\n // Объекты CertEnroll создаются через CX509EnrollmentWebClassFactory\n var objCertEnrollClassFactory = document.getElementById(\"certEnrollClassFactory\");\n return objCertEnrollClassFactory.CreateObject(name);\n }\n catch (e) {\n throw(\"Для создания обьектов X509Enrollment следует настроить веб-узел на использование проверки подлинности по протоколу HTTPS\");\n }\n }\n // Объекты CAPICOM и CAdESCOM создаются через CAdESCOM.WebClassFactory\n try {\n var objWebClassFactory = document.getElementById(\"webClassFactory\");\n return objWebClassFactory.CreateObject(name);\n }\n catch (e) {\n // Для версий плагина ниже 2.0.12538\n return new ActiveXObject(name);\n }\n }\n // создаются объекты NPAPI\n return pluginObject.CreateObject(name);\n }\n\n function decimalToHexString(number) {\n if (number < 0) {\n number = 0xFFFFFFFF + number + 1;\n }\n\n return number.toString(16).toUpperCase();\n }\n\n function GetMessageFromException(e) {\n var err = e.message;\n if (!err) {\n err = e;\n } else if (e.number) {\n err += \" (0x\" + decimalToHexString(e.number) + \")\";\n }\n return err;\n }\n\n function getLastError(exception) {\n if(isNativeMessageSupported() || isIE() || isIOS() ) {\n return GetMessageFromException(exception);\n }\n\n try {\n return pluginObject.getLastError();\n } catch(e) {\n return GetMessageFromException(exception);\n }\n }\n\n // Функция для удаления созданных объектов\n function ReleasePluginObjects() {\n return cpcsp_chrome_nmcades.ReleasePluginObjects();\n }\n\n // Функция активации асинхронных объектов КриптоПро ЭЦП Browser plug-in\n function CreateObjectAsync(name) {\n return pluginObject.CreateObjectAsync(name);\n }\n\n //Функции для IOS\n var ru_cryptopro_npcades_10_native_bridge = {\n callbacksCount : 1,\n callbacks : {},\n\n // Automatically called by native layer when a result is available\n resultForCallback : function resultForCallback(callbackId, resultArray) {\n var callback = ru_cryptopro_npcades_10_native_bridge.callbacks[callbackId];\n if (!callback) return;\n callback.apply(null,resultArray);\n },\n\n // Use this in javascript to request native objective-c code\n // functionName : string (I think the name is explicit :p)\n // args : array of arguments\n // callback : function with n-arguments that is going to be called when the native code returned\n call : function call(functionName, args, callback) {\n var hasCallback = callback && typeof callback == \"function\";\n var callbackId = hasCallback ? ru_cryptopro_npcades_10_native_bridge.callbacksCount++ : 0;\n\n if (hasCallback)\n ru_cryptopro_npcades_10_native_bridge.callbacks[callbackId] = callback;\n\n var iframe = document.createElement(\"IFRAME\");\n var arrObjs = new Array(\"_CPNP_handle\");\n try{\n iframe.setAttribute(\"src\", \"cpnp-js-call:\" + functionName + \":\" + callbackId+ \":\" + encodeURIComponent(JSON.stringify(args, arrObjs)));\n } catch(e){\n alert(e);\n }\n document.documentElement.appendChild(iframe);\n iframe.parentNode.removeChild(iframe);\n iframe = null;\n }\n };\n\n function call_ru_cryptopro_npcades_10_native_bridge(functionName, array){\n var tmpobj;\n var ex;\n ru_cryptopro_npcades_10_native_bridge.call(functionName, array, function(e, response){\n ex = e;\n var str='tmpobj='+response;\n eval(str);\n if (typeof (tmpobj) == \"string\"){\n tmpobj = tmpobj.replace(/\\\\\\n/gm, \"\\n\");\n tmpobj = tmpobj.replace(/\\\\\\r/gm, \"\\r\");\n }\n });\n if(ex)\n throw ex;\n return tmpobj;\n }\n\n function show_firefox_missing_extension_dialog()\n {\n if (!window.cadesplugin_skip_extension_install)\n {\n var ovr = document.createElement('div');\n ovr.id = \"cadesplugin_ovr\";\n ovr.style = \"visibility: hidden; position: fixed; left: 0px; top: 0px; width:100%; height:100%; background-color: rgba(0,0,0,0.7)\";\n ovr.innerHTML = \"
    \" +\n \"\" +\n \"

    Для работы КриптоПро ЭЦП Browser plugin на данном сайте необходимо расширение для браузера. Убедитесь, что оно у Вас включено или установите его.\" +\n \"

    Скачать расширение

    \" +\n \"
    \";\n document.getElementsByTagName(\"Body\")[0].appendChild(ovr);\n document.getElementById(\"cadesplugin_close_install\").addEventListener('click',function()\n {\n plugin_loaded_error(\"Плагин недоступен\");\n document.getElementById(\"cadesplugin_ovr\").style.visibility = 'hidden';\n });\n\n ovr.addEventListener('click',function()\n {\n plugin_loaded_error(\"Плагин недоступен\");\n document.getElementById(\"cadesplugin_ovr\").style.visibility = 'hidden';\n });\n ovr.style.visibility=\"visible\";\n }\n }\n\n\n //Выводим окно поверх других с предложением установить расширение для Opera.\n //Если установленна переменная cadesplugin_skip_extension_install - не предлагаем установить расширение\n function install_opera_extension()\n {\n if (!window.cadesplugin_skip_extension_install)\n {\n document.addEventListener('DOMContentLoaded', function() {\n var ovr = document.createElement('div');\n ovr.id = \"cadesplugin_ovr\";\n ovr.style = \"visibility: hidden; position: fixed; left: 0px; top: 0px; width:100%; height:100%; background-color: rgba(0,0,0,0.7)\";\n ovr.innerHTML = \"
    \" +\n \"\" +\n \"

    Для работы КриптоПро ЭЦП Browser plugin на данном сайте необходимо установить расширение из каталога дополнений Opera.\" +\n \"

    \" +\n \"
    \";\n document.getElementsByTagName(\"Body\")[0].appendChild(ovr);\n var btn_install = document.getElementById(\"cadesplugin_install\");\n btn_install.addEventListener('click', function(event) {\n opr.addons.installExtension(\"epebfcehmdedogndhlcacafjaacknbcm\",\n function()\n {\n document.getElementById(\"cadesplugin_ovr\").style.visibility = 'hidden';\n location.reload();\n },\n function(){})\n });\n document.getElementById(\"cadesplugin_close_install\").addEventListener('click',function()\n {\n plugin_loaded_error(\"Плагин недоступен\");\n document.getElementById(\"cadesplugin_ovr\").style.visibility = 'hidden';\n });\n\n ovr.addEventListener('click',function()\n {\n plugin_loaded_error(\"Плагин недоступен\");\n document.getElementById(\"cadesplugin_ovr\").style.visibility = 'hidden';\n });\n ovr.style.visibility=\"visible\";\n document.getElementById(\"cadesplugin_ovr_item\").addEventListener('click',function(e){\n e.stopPropagation();\n });\n });\n }else\n {\n plugin_loaded_error(\"Плагин недоступен\");\n }\n }\n\n function firefox_or_edge_nmcades_onload() {\n cpcsp_chrome_nmcades.check_chrome_plugin(plugin_loaded, plugin_loaded_error);\n }\n\n function nmcades_api_onload () {\n window.postMessage(\"cadesplugin_echo_request\", \"*\");\n window.addEventListener(\"message\", function (event){\n if (typeof(event.data) != \"string\" || !event.data.match(\"cadesplugin_loaded\"))\n return;\n if(isFireFox || isEdge)\n {\n // Для Firefox вместе с сообщением cadesplugin_loaded прилетает url для загрузки nmcades_plugin_api.js\n var url = event.data.substring(event.data.indexOf(\"url:\") + 4);\n var fileref = document.createElement('script');\n fileref.setAttribute(\"type\", \"text/javascript\");\n fileref.setAttribute(\"src\", url);\n fileref.onerror = plugin_loaded_error;\n fileref.onload = firefox_or_edge_nmcades_onload;\n document.getElementsByTagName(\"head\")[0].appendChild(fileref);\n // Для Firefox и Edge у нас только по одному расширению.\n failed_extensions++;\n }else {\n cpcsp_chrome_nmcades.check_chrome_plugin(plugin_loaded, plugin_loaded_error);\n }\n }, false);\n }\n\n //Загружаем расширения для Chrome, Opera, YaBrowser, FireFox, Edge\n function load_extension()\n {\n\n if(isFireFox || isEdge){\n // вызываем callback руками т.к. нам нужно узнать ID расширения. Он уникальный для браузера.\n nmcades_api_onload();\n return;\n } else {\n // в асинхронном варианте для chrome и opera подключаем оба расширения\n var fileref = document.createElement('script');\n fileref.setAttribute(\"type\", \"text/javascript\");\n fileref.setAttribute(\"src\", \"chrome-extension://iifchhfnnmpdbibifmljnfjhpififfog/nmcades_plugin_api.js\");\n fileref.onerror = plugin_loaded_error;\n fileref.onload = nmcades_api_onload;\n document.getElementsByTagName(\"head\")[0].appendChild(fileref);\n fileref = document.createElement('script');\n fileref.setAttribute(\"type\", \"text/javascript\");\n fileref.setAttribute(\"src\", \"chrome-extension://epebfcehmdedogndhlcacafjaacknbcm/nmcades_plugin_api.js\");\n fileref.onerror = plugin_loaded_error;\n fileref.onload = nmcades_api_onload;\n document.getElementsByTagName(\"head\")[0].appendChild(fileref);\n }\n }\n\n //Загружаем плагин для NPAPI\n function load_npapi_plugin()\n {\n var elem = document.createElement('object');\n elem.setAttribute(\"id\", \"cadesplugin_object\");\n elem.setAttribute(\"type\", \"application/x-cades\");\n elem.setAttribute(\"style\", \"visibility: hidden\");\n document.getElementsByTagName(\"body\")[0].appendChild(elem);\n pluginObject = document.getElementById(\"cadesplugin_object\");\n if(isIE())\n {\n var elem1 = document.createElement('object');\n elem1.setAttribute(\"id\", \"certEnrollClassFactory\");\n elem1.setAttribute(\"classid\", \"clsid:884e2049-217d-11da-b2a4-000e7bbb2b09\");\n elem1.setAttribute(\"style\", \"visibility: hidden\");\n document.getElementsByTagName(\"body\")[0].appendChild(elem1);\n var elem2 = document.createElement('object');\n elem2.setAttribute(\"id\", \"webClassFactory\");\n elem2.setAttribute(\"classid\", \"clsid:B04C8637-10BD-484E-B0DA-B8A039F60024\");\n elem2.setAttribute(\"style\", \"visibility: hidden\");\n document.getElementsByTagName(\"body\")[0].appendChild(elem2);\n }\n }\n\n //Отправляем событие что все ок.\n function plugin_loaded()\n {\n plugin_resolved = 1;\n if(canPromise)\n {\n plugin_resolve();\n }else {\n window.postMessage(\"cadesplugin_loaded\", \"*\");\n }\n }\n\n //Отправляем событие что сломались.\n function plugin_loaded_error(msg)\n {\n if(isNativeMessageSupported())\n {\n //в асинхронном варианте подключаем оба расширения, если сломались оба пробуем установить для Opera\n failed_extensions++;\n if(failed_extensions<2)\n return;\n if(isOpera && (typeof(msg) == 'undefined'|| typeof(msg) == 'object'))\n {\n install_opera_extension();\n return;\n }\n }\n if(typeof(msg) == 'undefined' || typeof(msg) == 'object')\n msg = \"Плагин недоступен\";\n plugin_resolved = 1;\n if(canPromise)\n {\n plugin_reject(msg);\n } else {\n window.postMessage(\"cadesplugin_load_error\", \"*\");\n }\n }\n\n //проверяем что у нас хоть какое то событие ушло, и если не уходило кидаем еще раз ошибку\n function check_load_timeout()\n {\n if(plugin_resolved == 1)\n return;\n if(isFireFox)\n {\n show_firefox_missing_extension_dialog();\n }\n plugin_resolved = 1;\n if(canPromise)\n {\n plugin_reject(\"Истекло время ожидания загрузки плагина\");\n } else {\n window.postMessage(\"cadesplugin_load_error\", \"*\");\n }\n\n }\n\n //Вспомогательная функция для NPAPI\n function createPromise(arg)\n {\n return new Promise(arg);\n }\n\n function check_npapi_plugin (){\n try {\n var oAbout = CreateObject(\"CAdESCOM.About\");\n plugin_loaded();\n }\n catch (err) {\n document.getElementById(\"cadesplugin_object\").style.display = 'none';\n // Объект создать не удалось, проверим, установлен ли\n // вообще плагин. Такая возможность есть не во всех браузерах\n var mimetype = navigator.mimeTypes[\"application/x-cades\"];\n if (mimetype) {\n var plugin = mimetype.enabledPlugin;\n if (plugin) {\n plugin_loaded_error(\"Плагин загружен, но не создаются обьекты\");\n }else\n {\n plugin_loaded_error(\"Ошибка при загрузке плагина\");\n }\n }else\n {\n plugin_loaded_error(\"Плагин недоступен\");\n }\n }\n }\n\n //Проверяем работает ли плагин\n function check_plugin_working()\n {\n var div = document.createElement(\"div\");\n div.innerHTML = \"\";\n var isIeLessThan9 = (div.getElementsByTagName(\"iecheck\").length == 1);\n if (isIeLessThan9) {\n plugin_loaded_error(\"Internet Explorer версии 8 и ниже не поддерживается\");\n return;\n }\n\n if(isNativeMessageSupported())\n {\n load_extension();\n }else if(!canPromise) {\n window.addEventListener(\"message\", function (event){\n if (event.data != \"cadesplugin_echo_request\")\n return;\n load_npapi_plugin();\n check_npapi_plugin();\n },\n false);\n }else\n {\n if(document.readyState === \"complete\"){\n load_npapi_plugin();\n check_npapi_plugin();\n } else {\n window.addEventListener(\"load\", function (event) {\n load_npapi_plugin();\n check_npapi_plugin();\n }, false);\n }\n }\n }\n\n function set_pluginObject(obj)\n {\n pluginObject = obj;\n }\n\n //Export\n cadesplugin.JSModuleVersion = \"2.1.0\";\n cadesplugin.async_spawn = async_spawn;\n cadesplugin.set = set_pluginObject;\n cadesplugin.set_log_level = set_log_level;\n cadesplugin.getLastError = getLastError;\n\n if(isNativeMessageSupported())\n {\n cadesplugin.CreateObjectAsync = CreateObjectAsync;\n cadesplugin.ReleasePluginObjects = ReleasePluginObjects;\n }\n\n if(!isNativeMessageSupported())\n {\n cadesplugin.CreateObject = CreateObject;\n }\n\n if(window.cadesplugin_load_timeout)\n {\n setTimeout(check_load_timeout, window.cadesplugin_load_timeout);\n }\n else\n {\n setTimeout(check_load_timeout, 20000);\n }\n\n set_constantValues();\n\n cadesplugin.current_log_level = cadesplugin.LOG_LEVEL_ERROR;\n window.cadesplugin = cadesplugin;\n check_plugin_working();\n}());\n","import { createActionNamespace } from 'Modules/core/redux';\n\nimport { MessagingQueueTypes, ShowModalPayload, ShowNotificationPayload } from './types';\n\n\nconst messagingAction = createActionNamespace('messaging');\n\nexport const messagingActions = {\n showNotification: messagingAction('SHOW_NOTIFICATION'),\n showModal: messagingAction('SHOW_MODAL'),\n updateModalProps: messagingAction<{ id: number, props: any }>('UPDATE_MODAL_PROPS'),\n hideMessage: messagingAction('HIDE_MESSAGE'),\n closeAll: messagingAction('CLOSE_ALL_MODAL'),\n enqueue: messagingAction('ENQUEUE_MESSAGE'),\n};\n","// extracted by mini-css-extract-plugin\nmodule.exports = {\"marks_container\":\"DelimiterRenderer_marks_container__3TMFw\",\"marks\":\"DelimiterRenderer_marks__1ZHUJ\"};","// extracted by mini-css-extract-plugin\nmodule.exports = {\"header\":\"Form_header__jLAM4\",\"note\":\"Form_note__L92ws\",\"form\":\"Form_form__2XNcg\",\"personalData\":\"Form_personalData__11CNX\",\"button\":\"Form_button__H5EuJ\"};","// extracted by mini-css-extract-plugin\nmodule.exports = {\"downloadPopup\":\"DownloadPopup_downloadPopup__2pvu-\",\"button\":\"DownloadPopup_button__2AqRW\",\"popup\":\"DownloadPopup_popup__3Ep87\",\"top\":\"DownloadPopup_top__3562U\",\"bottom\":\"DownloadPopup_bottom__2sbLs\",\"left\":\"DownloadPopup_left__QZN82\",\"content\":\"DownloadPopup_content__1ZrCJ\",\"right\":\"DownloadPopup_right__3mADa\",\"sectionHeading\":\"DownloadPopup_sectionHeading__1Z69l\",\"infoSection\":\"DownloadPopup_infoSection__3oe6L\",\"fileSection\":\"DownloadPopup_fileSection__13BB2\",\"fileItem\":\"DownloadPopup_fileItem__1MMpZ\",\"progressLoader\":\"DownloadPopup_progressLoader__nblUX\",\"fileItemPart\":\"DownloadPopup_fileItemPart__3aneR\",\"icon\":\"DownloadPopup_icon__tg5Qy\",\"date\":\"DownloadPopup_date__1RJWr\"};","// extracted by mini-css-extract-plugin\nmodule.exports = {\"container\":\"ErrorBanner_container__WxQ2r\",\"content\":\"ErrorBanner_content__22usi\",\"header\":\"ErrorBanner_header__hJsNt\",\"handle\":\"ErrorBanner_handle__PeZ5W\"};","// extracted by mini-css-extract-plugin\nmodule.exports = {\"header\":\"Form_header__vVvAA\",\"note\":\"Form_note__1I3Wy\",\"form\":\"Form_form__1PAGB\",\"roles\":\"Form_roles__3L4gD\",\"personalData\":\"Form_personalData__1aRXn\",\"button\":\"Form_button__2kyxl\"};","// extracted by mini-css-extract-plugin\nmodule.exports = {\"image\":\"ImageRenderer_image__3oCXu\"};","import { prefixTypes, createActionWithPath } from 'Modules/core/redux';\n\n\nconst types = prefixTypes('certificates', {\n SET_LIST: 'SET_LIST',\n SET_ERROR: 'SET_ERROR',\n UPDATE_LIST: 'UPDATE_LIST',\n SET_CERTIFICATE: 'SET_CERTIFICATE',\n});\n\nexport { types as certificatesActionTypes };\n\nexport const certificatesActions = {\n setList: createActionWithPath(types.SET_LIST),\n setError: createActionWithPath(types.SET_ERROR),\n updateList: createActionWithPath(types.UPDATE_LIST),\n setCertificate: createActionWithPath(types.SET_CERTIFICATE),\n};\n","import { Bowser } from '@factorin/util';\n\nimport 'Modules/business/cryptopro';\n\n/* global cadesplugin */\nexport const allowedOids = {\n '1.2.643.2.2.19': cadesplugin.CADESCOM_HASH_ALGORITHM_CP_GOST_3411,\n\n '1.2.643.7.1.1.1.1': cadesplugin.CADESCOM_HASH_ALGORITHM_CP_GOST_3411_2012_256,\n '1.2.643.7.1.1.1.2': cadesplugin.CADESCOM_HASH_ALGORITHM_CP_GOST_3411_2012_512,\n\n '1.2.643.7.1.1.2.2': cadesplugin.CADESCOM_HASH_ALGORITHM_CP_GOST_3411_2012_256,\n '1.2.643.7.1.1.2.3': cadesplugin.CADESCOM_HASH_ALGORITHM_CP_GOST_3411_2012_512,\n};\n\nexport const hashAlgorithmMap = {\n '1.2.643.2.2.19': 'GOST3411',\n\n '1.2.643.7.1.1.1.1': 'GOST3411_2012_256',\n '1.2.643.7.1.1.1.2': 'GOST3411_2012_512',\n\n '1.2.643.7.1.1.2.2': 'GOST3411_2012_256',\n '1.2.643.7.1.1.2.3': 'GOST3411_2012_512',\n};\n\nexport const cryptoProPluginAbout = 'https://www.cryptopro.ru/products/cades/plugin/';\nexport const cryptoProPluginDownload = 'https://www.cryptopro.ru/products/cades/plugin/get_2_0';\nexport const cryptoProLinks = {\n [Bowser.BROWSER_MAP.chrome]: 'https://chrome.google.com/webstore/detail/cryptopro-extension-for-c/iifchhfnnmpdbibifmljnfjhpififfog?hl=ru',\n [Bowser.BROWSER_MAP.yandex]: 'https://addons.opera.com/ru/extensions/details/cryptopro-extension-for-cades-browser-plug-in/',\n [Bowser.BROWSER_MAP.opera]: 'https://addons.opera.com/ru/extensions/details/cryptopro-extension-for-cades-browser-plug-in/',\n [Bowser.BROWSER_MAP.firefox]: 'https://www.cryptopro.ru/sites/default/files/products/cades/extensions/firefox_cryptopro_extension_latest.xpi',\n [Bowser.BROWSER_MAP.edge]: 'http://cryptopro.ru/sites/default/files/products/cades/nmcades_uwp/nmcades_uwp.docx',\n};\n","import fp from 'lodash/fp';\n\nimport { allowedOids } from '../../constants';\n\n\nconst sign = (element, registered) => {\n if (!(element.oid in allowedOids))\n return 'nonGostCertificate';\n\n if (fp.some({ Thumbprint: element.thumbprint, IsDeleted: true }, registered))\n return 'deletedCertificate';\n\n if (!fp.some({ Thumbprint: element.thumbprint }, registered))\n return 'notAddedCertificate';\n\n return null;\n};\n\nconst addToProfile = (element, registered) => {\n if (!(element.oid in allowedOids))\n return 'nonGostCertificate';\n\n if (fp.pipe(\n fp.reject(fp.get('IsDeleted')),\n fp.some({ Thumbprint: element.thumbprint }),\n )(registered))\n return 'alreadyAddedCertificate';\n\n return null;\n};\n\nexport const certificateFilters = {\n sign,\n addToProfile,\n};\n","import fp from 'lodash/fp';\n\nimport { lookupTableReducer, reducePath } from 'Modules/core/redux';\n\nimport { certificatesActionTypes as types } from './actions';\nimport { certificateFilters } from './filters';\n\n\nconst defaultState = fp.mapValues(fp.constant({\n available: null,\n error: null,\n selected: null,\n}), certificateFilters);\n\nconst actionLookup = {\n [types.SET_LIST]: reducePath((state, available) => ({\n ...state,\n available,\n })),\n [types.SET_ERROR]: reducePath((state, error) => ({\n ...state,\n error,\n })),\n [types.SET_CERTIFICATE]: reducePath((state, { cert }) => ({\n ...state,\n selected: cert,\n })),\n};\n\nexport const reducer = lookupTableReducer(defaultState, actionLookup);\n","import { put, select, takeLatest } from 'redux-saga/effects';\nimport fp from 'lodash/fp';\nimport { i18n } from '@factorin/container.macro';\n\nimport { messagingActions } from 'Modules/core/messaging';\nimport { getCertsList, signHash } from 'Modules/business/cryptopro';\n\nimport { certificatesActions, certificatesActionTypes } from './actions';\nimport { certificateFilters } from './filters';\nimport { allowedOids, hashAlgorithmMap } from '../../constants';\n\n\nexport function* notifyCryptoProError(preamble, error) {\n yield put(messagingActions.showNotification({\n content: {\n key: 'notifications:cryptoprofiles.errorConstructor',\n values: { error },\n translatedValues: { preamble },\n },\n }));\n}\n\nconst processCertificate = fp.pick(['thumbprint', 'name', 'validTo', 'oid']);\n\nexport function* getCertificatesAllowedList(filterType) {\n const certs = yield getCertsList();\n const registered = yield select(({ cryptoprofiles }) => cryptoprofiles.profiles);\n\n for (let i = 0; i < certs.length; i++) {\n const alg = yield certs[i].getAlgorithm();\n certs[i].oid = alg.oid;\n }\n\n return fp.map(cert => {\n const filterResult = certificateFilters[filterType](cert, registered);\n return {\n disabled: filterResult !== null,\n ...filterResult && { reason: filterResult },\n ...processCertificate(cert),\n };\n }, certs);\n}\n\nexport function* tryUpdateCertificatesList(filterType) {\n const allowedCerts = yield getCertificatesAllowedList(filterType);\n yield put(certificatesActions.setList(filterType, allowedCerts));\n\n const selected = yield select(fp.get(`certificates[${filterType}].selected`));\n if (!selected) {\n const availableCerts = fp.reject(fp.get('disabled'), allowedCerts);\n if (availableCerts.length === 1) {\n yield put(certificatesActions.setCertificate(filterType, {\n cert: availableCerts[0].thumbprint,\n }));\n }\n }\n}\n\nexport function* updateCertificateList({ path }) {\n try {\n yield tryUpdateCertificatesList(path);\n } catch ({ message }) {\n yield put(certificatesActions.setError(path, message));\n yield notifyCryptoProError('notifications:cryptoprofiles.errorRefresh', message);\n }\n}\n\nconst SIGNING_RETIES = 3;\n\nconst getSelectedCertificate = path => ({ certificates }) => fp.find(\n cert => cert.thumbprint === certificates[path].selected,\n certificates[path].available,\n);\n\n/** @type {(path: string) => string} */\nexport function* getSelectedCertificateAlgorithmEnum(path) {\n const cert = yield select(getSelectedCertificate(path));\n return hashAlgorithmMap[cert.oid];\n}\n\n/** @type {(path: string, data: string) => string} */\nexport function* signWithSelectedCertificate(path, data) {\n const cert = yield select(getSelectedCertificate(path));\n const alg = allowedOids[cert.oid];\n\n if (!alg)\n throw new Error(i18n.t('notifications:cryptoprofiles.errorSigning'));\n\n for (let i = 0; i < SIGNING_RETIES; i++) {\n const signature = yield signHash(cert.thumbprint, data, alg);\n if (signature)\n return signature;\n }\n\n throw new Error(i18n.t('notifications:cryptoprofiles.errorSigning'));\n}\n\nexport const sagas = [\n takeLatest(certificatesActionTypes.UPDATE_LIST, updateCertificateList),\n];\n","import { useSelector } from 'Modules/core/redux';\n\n\nexport type CertificatesPath = 'sign' | 'addToProfile';\n\nconst REDUCER_PATH = 'certificates';\n\nexport const useError = (path: CertificatesPath) =>\n useSelector(`${REDUCER_PATH}.${path}.error`, [path]);\n\nexport const useSelectedCertificate = (path: CertificatesPath) =>\n useSelector(`${REDUCER_PATH}.${path}.selected`, [path]);\n\nexport const useCertificates = (path: CertificatesPath): any[] =>\n useSelector(`${REDUCER_PATH}.${path}.available`, [path]);\n","import { reducer } from './reducer';\nimport { sagas } from './sagas';\n\n\nexport * from './hooks';\n\nexport const certificates = {\n reducer,\n sagas,\n};\n","import { createActionNamespace } from 'Modules/core/redux';\n\n\nconst cryptoprofilesAction = createActionNamespace('cryptoprofiles');\n\n\nexport const cryptoprofilesActions = {\n init: cryptoprofilesAction('INIT'),\n load: cryptoprofilesAction('LOAD'),\n registerCert: cryptoprofilesAction('REGISTER_CERT'),\n remove: cryptoprofilesAction('REMOVE'),\n};\n","import fp from 'lodash/fp';\n\nimport { lookupTableReducer } from 'Modules/core/redux';\n\nimport { cryptoprofilesActions } from './actions';\n\n\nconst defaultState = {\n initCount: 0,\n profiles: [],\n};\n\nconst actionLookup = {\n [cryptoprofilesActions.init]: (_, profiles) => ({\n initCount: fp.size(profiles),\n profiles,\n }),\n [cryptoprofilesActions.load]: (state, profiles) => ({\n ...state,\n profiles,\n }),\n};\n\nexport const reducer = lookupTableReducer(defaultState, actionLookup);\n","import fp from 'lodash/fp';\nimport { put, takeLatest, takeEvery, all, call } from 'redux-saga/effects';\nimport { cryptoProfiles } from '@factorin/rest';\nimport { cryptoprofiles } from '@factorin/container.macro';\n\nimport { apiCall } from 'Modules/core/api';\nimport { getCert } from 'Modules/business/cryptopro';\nimport { messagingActions } from 'Modules/core/messaging';\n\nimport { cryptoprofilesActions } from './actions';\nimport { notifyCryptoProError, updateCertificateList } from '../certificates/sagas';\n\n\nexport function* uploadCertificate(thumbprint) {\n const certRaw = yield getCert(thumbprint);\n const base64certificate = yield certRaw.exportBase64();\n\n yield apiCall(cryptoProfiles.add, { base64certificate });\n\n yield put(messagingActions.showNotification({\n content: 'cryptoprofiles.successAdd',\n }));\n\n const certificates = yield apiCall(cryptoProfiles.list);\n yield put(cryptoprofilesActions.load(certificates));\n}\n\nfunction* cryptoprofileChanged() {\n yield all(fp.map(call, cryptoprofiles.certificateChangedSagas));\n}\n\nexport function* addCertificate({ $payload: { certificate } }) {\n try {\n yield uploadCertificate(certificate);\n yield updateCertificateList({ path: 'addToProfile' });\n yield cryptoprofileChanged();\n } catch (err) {\n yield notifyCryptoProError('notifications:cryptoprofiles.errorAdd', err);\n }\n}\n\nexport function* getCryptoProfiles() {\n const certificates = yield apiCall(cryptoProfiles.list);\n yield put(cryptoprofilesActions.init(certificates));\n}\n\nexport function* removeCryproProfile({ $payload: id }) {\n try {\n yield apiCall(cryptoProfiles.remove, { id });\n\n yield put(messagingActions.showNotification({\n content: 'cryptoprofiles.successRemove',\n }));\n\n const certificates = yield apiCall(cryptoProfiles.list);\n yield put(cryptoprofilesActions.load(certificates));\n yield updateCertificateList({ path: 'addToProfile' });\n yield cryptoprofileChanged();\n } catch (error) {\n yield put(messagingActions.showNotification({\n content: 'cryptoprofiles.errorRemove',\n }));\n }\n}\n\nexport const sagas = [\n takeLatest(`${cryptoprofilesActions.registerCert}`, addCertificate),\n takeEvery(`${cryptoprofilesActions.remove}`, removeCryproProfile),\n];\n","import { reducer } from './reducer';\nimport { sagas } from './sagas';\n\n\nexport const cryptoprofiles = {\n reducer,\n sagas,\n};\n","import { joinStateParts } from 'Modules/core/redux';\n\nimport { certificates } from './certificates';\nimport { cryptoprofiles } from './cryptoprofiles';\n\n\nexport const state = joinStateParts({\n certificates,\n cryptoprofiles,\n});\n","import fp from 'lodash/fp';\nimport React, { useEffect, useMemo, useCallback } from 'react';\nimport { formatDate } from '@factorin/util';\n\nimport { connect } from 'Modules/core/redux';\nimport { Button, cn, Select2, CustomOption, Text } from 'Modules/ui';\nimport { translate, useTranslation } from 'Modules/core/i18n';\n\nimport { certificatesActions } from '../../state/certificates/actions';\nimport styles from './index.module.scss';\n\n\nconst Option = ({\n data: { data: { name, disabled, reason, validTo } },\n innerProps,\n innerRef,\n isSelected,\n isFocused,\n}) => {\n const { t } = useTranslation('certificateSelector');\n return (\n \n \n {name}\n \n {!disabled ? (\n \n {t('date', { date: formatDate(validTo) })}\n \n ) : (\n \n {t(`errors.${reason}`)}\n \n )}\n \n );\n};\n\nconst CertificateSelectorComponent = ({\n t, className,\n path, hideDisabled,\n selected, available, error,\n disabled, onChange, updateCertificateList,\n needUpdateButton = true,\n}) => {\n const update = useCallback(\n () => {\n updateCertificateList(path, {});\n },\n [path, updateCertificateList],\n );\n useEffect(\n () => {\n update();\n },\n [update],\n );\n\n const options = useMemo(\n () => (available || []).map(\n data => ({\n data,\n value: data.thumbprint,\n label: data.name,\n disabled: data.disabled,\n }),\n ).filter(hideDisabled ? opt => !opt.disabled : fp.identity),\n [available, hideDisabled],\n );\n\n const change = useCallback(\n value => onChange(path, { cert: value }),\n [path, onChange],\n );\n const isCurrentItemDisable = useMemo(\n () => fp.some({ thumbprint: selected, disabled: true }, available),\n [selected, available],\n );\n useEffect(\n () => {\n if (isCurrentItemDisable)\n change(undefined);\n },\n [isCurrentItemDisable, change],\n );\n\n return (\n
    \n {needUpdateButton && (\n \n {t('refresh')}\n \n )}\n option.disabled}\n value={selected}\n onChange={change}\n noOptionsMessage={t('placeholders.noResult')}\n placeholder={error\n ? t('placeholders.error', { error })\n : t('placeholders.normal')\n }\n components={{\n Option,\n }}\n />\n
    \n );\n};\n\n/** @type {React.FC<{ path: 'sign' | 'addToProfile', className?: string, hideDisabled?: boolean }>} */\nexport const CertificateSelector = fp.compose(\n translate('certificateSelector'),\n connect(\n ({ certificates }, { path }) => certificates[path],\n {\n updateCertificateList: certificatesActions.updateList,\n onChange: certificatesActions.setCertificate,\n },\n ),\n)(CertificateSelectorComponent);\n","import fp from 'lodash/fp';\nimport React, { useMemo } from 'react';\nimport { formatDate } from '@factorin/util';\n\nimport { useSelector, useAction } from 'Modules/core/redux';\nimport { Text, Heading, Button, cn, Certificate, TrashCan, useMemoDeps } from 'Modules/ui';\nimport { modalClassNames } from 'Modules/core/messaging';\nimport { useTranslation } from 'Modules/core/i18n';\nimport { FileSection, FileItem } from 'Modules/business/fapp';\nimport { COModal } from 'Modules/business/uiCo/components/ClientOfficeModal';\n\nimport { cryptoprofilesActions } from '../../state/cryptoprofiles/actions';\nimport { CertificateSelector } from '../CertificateSelector';\nimport styles from './index.module.scss';\n\n\nconst renderRemoveButton = id => function RemoveButton({ className }) {\n const { t } = useTranslation('cryptoProfilesManager');\n\n const removeCertificate = useAction(\n () => cryptoprofilesActions.remove(id),\n [],\n );\n\n return (\n \n \n \n );\n};\n\nconst CertificateComponent = ({\n certificate: { Id, Thumbprint, SubjectCommonName, NotAfter },\n readonly,\n ...props\n}) => {\n const { t } = useTranslation('cryptoProfilesManager');\n\n const button = useMemoDeps(renderRemoveButton, [Id]);\n\n return (\n \n );\n};\n\nconst Certificates = ({ readonly }) => {\n const cryptoprofiles = useSelector('cryptoprofiles.profiles');\n const { t } = useTranslation('cryptoProfilesManager');\n\n const [deleted, registered] = useMemo(\n () => fp.partition(fp.get('IsDeleted'), cryptoprofiles || []),\n [cryptoprofiles],\n );\n\n return (\n <>\n \n {t('labels.registered')}\n \n {fp.isEmpty(registered)\n ? {t('labels.emptyList')}\n : (\n \n {fp.map(data => (\n \n ), registered)}\n \n )}\n {!fp.isEmpty(deleted) && (\n <>\n \n {t('labels.deleted')}\n \n \n {fp.map(data => (\n \n ), deleted)}\n \n \n )}\n \n );\n};\n\nconst CryptoProfilesManagerComponent = () => {\n const certificate = useSelector('certificates.addToProfile.selected');\n const registerCertificate = useAction(\n () => cryptoprofilesActions.registerCert({ certificate }),\n [certificate],\n );\n\n const { t } = useTranslation('cryptoProfilesManager');\n\n return (\n \n
    \n \n \n {t('labels.available')}\n \n \n
    \n \n {t('buttons.register')}\n \n
    \n
    \n
    \n );\n};\n\nconst ReadOnlyCryptoProfilesManagerComponent = () => {\n const { t } = useTranslation('cryptoProfilesManager');\n\n return (\n \n
    \n \n
    \n
    \n );\n};\n\nexport const CryptoProfilesManager = {\n component: CryptoProfilesManagerComponent,\n};\n\nexport const ReadOnlyCryptoProfilesManager = {\n component: ReadOnlyCryptoProfilesManagerComponent,\n};\n","import fp from 'lodash/fp';\nimport React, { useEffect, useMemo, useCallback } from 'react';\nimport { formatDate } from '@factorin/util';\n\nimport { useSelector, useAction } from 'Modules/core/redux';\nimport { Button, Select } from 'Modules/ui2/components';\nimport { cn } from 'Modules/ui2/utils';\nimport { useTranslation } from 'Modules/core/i18n';\n\nimport { certificatesActions } from '../../state/certificates/actions';\nimport styles from './index.module.scss';\n\n\nexport const CertificateSelector2 = ({\n className,\n path,\n hideDisabled,\n disabled,\n forceDirection,\n}) => {\n const { t } = useTranslation('certificateSelector');\n\n const { selected, available, error } = useSelector(`certificates[${path}]`);\n const updateCertificateList = useAction(certificatesActions.updateList);\n\n const update = useCallback(\n () => {\n updateCertificateList(path, {});\n },\n [path, updateCertificateList],\n );\n useEffect(update, [update]);\n\n const options = useMemo(\n () => (available || []).map(\n ({ name, thumbprint, disabled, validTo, reason }) => ({\n value: thumbprint,\n label: disabled\n ? `${name} (${t(`errors.${reason}`)})`\n : t('label', { name, date: formatDate(validTo) }),\n disabled,\n }),\n ).filter(hideDisabled ? opt => !opt.disabled : fp.identity),\n [available, hideDisabled, t],\n );\n\n const onChange = useAction(\n value => certificatesActions.setCertificate(path, { cert: value }),\n [path],\n );\n return (\n
    \n \n {t('refresh')}\n \n \n
    \n );\n};\n","import React, { FC } from 'react';\n\nimport { Button } from 'Modules/ui';\nimport { useAction } from 'Modules/core/redux';\nimport { WithT } from 'Modules/core/i18n';\n\nimport { certificatesActions } from '../../state/certificates/actions';\n\n\ntype UpdateCertsButtonProps = WithT & {\n path: 'sign' | 'addToProfile';\n disabled: boolean;\n}\n\nexport const UpdateCertsButton: FC = ({ path, t, disabled }) => {\n const update = useAction(\n () => certificatesActions.updateList(path, {}),\n [path],\n );\n return (\n \n {t('refresh')}\n \n );\n};\n","import { state } from './state';\nimport { ReadOnlyCryptoProfilesManager } from './components/CryptoProfilesManager';\nimport { CryptoProfileButton } from './components/CryptoProfileButton';\nimport { getCryptoProfiles } from './state/cryptoprofiles/sagas';\nimport translations from './translations.json';\n\n\nexport * from './components/CertificateSelector';\nexport * from './components/CertificateSelector2';\nexport * from './components/UpdateCertsButton';\nexport * from './constants';\nexport * from './state/cryptoprofiles/actions';\nexport * from './state/certificates/actions';\nexport { useError, useSelectedCertificate, useCertificates } from './state/certificates';\nexport * from './state/sagas';\n\nexport const cryptoprofiles = {\n state,\n messaging: {\n modalTypes: {\n ReadOnlyCryptoProfilesManager,\n },\n },\n user: {\n infoButtons: [CryptoProfileButton],\n changeUserRoleSagas: [getCryptoProfiles],\n },\n environment: {\n initializationSagas: [getCryptoProfiles],\n },\n translations,\n};\n","import fp from 'lodash/fp';\nimport React, { useCallback } from 'react';\nimport { messaging } from '@factorin/container.macro';\n\nimport { Text, Button } from 'Modules/ui';\nimport { useAction } from 'Modules/core/redux';\nimport { useTranslation } from 'Modules/core/i18n';\nimport { messagingActions } from 'Modules/core/messaging';\n\n\nexport const CryptoProfileButton = ({ className, hide }) => {\n const { t } = useTranslation('profileButtons');\n\n const showCryptoProfilesModal = useAction(\n () => messagingActions.showModal({\n type: fp.has('CoCryptoProfilesModal', messaging.modalTypes)\n ? 'CoCryptoProfilesModal'\n : 'ReadOnlyCryptoProfilesManager',\n }),\n );\n const showModalWithClosePopup = useCallback(\n () => {\n showCryptoProfilesModal();\n hide();\n },\n [hide, showCryptoProfilesModal],\n );\n\n return (\n \n {t('cryptoProfileButton')}\n \n );\n};\n","// extracted by mini-css-extract-plugin\nmodule.exports = {\"container\":\"Calendar2_container__3fnc2\",\"weekDay\":\"Calendar2_weekDay__2-3Dw\",\"months\":\"Calendar2_months__3p2ud\",\"nav\":\"Calendar2_nav__1RpR2\",\"cell\":\"Calendar2_cell__ZG5Pd\",\"day\":\"Calendar2_day__2ICwk\",\"selected\":\"Calendar2_selected__FIY7i\",\"today\":\"Calendar2_today__1ALGF\",\"rangeMiddle\":\"Calendar2_rangeMiddle__3-BBf\",\"rangeStart\":\"Calendar2_rangeStart__T-6ZV\",\"cellBg\":\"Calendar2_cellBg__4BCkU\",\"rangeEnd\":\"Calendar2_rangeEnd__qkyz9\"};","// extracted by mini-css-extract-plugin\nmodule.exports = {\"container\":\"Dadata_container__3fzJZ\",\"suggestions\":\"Dadata_suggestions__lNTbh\",\"suggestion\":\"Dadata_suggestion__3-q27\",\"option\":\"Dadata_option__2R_ga\"};","// extracted by mini-css-extract-plugin\nmodule.exports = {\"container\":\"Documents_container__JwP_V\",\"isOpen\":\"Documents_isOpen__1P5Ju\",\"icon\":\"Documents_icon__8rmYk\",\"link\":\"Documents_link__3PSMU\"};","// extracted by mini-css-extract-plugin\nmodule.exports = {\"container\":\"Prices_container__383Xg\",\"item\":\"Prices_item__1MQvB\",\"selected\":\"Prices_selected__3tR9Z\",\"arrow\":\"Prices_arrow__pN8V_\"};","// extracted by mini-css-extract-plugin\nmodule.exports = {\"notifications\":\"Messaging_notifications__2luUP\",\"notificationContainer\":\"Messaging_notificationContainer__-1HKr\",\"notification\":\"Messaging_notification__dsyOp\",\"notificationClose\":\"Messaging_notificationClose__1zrAh\",\"modal\":\"Messaging_modal__3S3cS\",\"modalRight\":\"Messaging_modalRight__2zZkN\",\"modalCenter\":\"Messaging_modalCenter__35-3e\",\"modalContainer\":\"Messaging_modalContainer__2bYoC\",\"modalTitle\":\"Messaging_modalTitle__2kik2\",\"modalContent\":\"Messaging_modalContent__3HP6_\",\"modalContentDfa\":\"Messaging_modalContentDfa__1riIn\",\"modalButtons\":\"Messaging_modalButtons__20fL0\",\"modalButton\":\"Messaging_modalButton__8j9Fu\",\"modalClose\":\"Messaging_modalClose__2KfH0\"};","// extracted by mini-css-extract-plugin\nmodule.exports = {\"ellipsis\":\"Typography_ellipsis__3qomY\",\"label\":\"Typography_label__32N01\",\"link\":\"Typography_link__2jyUA\",\"standalone\":\"Typography_standalone__rDpOS\",\"icon\":\"Typography_icon__1VAkj\",\"linkContent\":\"Typography_linkContent__2bwza\",\"light\":\"Typography_light__fn0SL\",\"regular\":\"Typography_regular__23Mvs\",\"medium\":\"Typography_medium__PwVrb\",\"demibold\":\"Typography_demibold__2FwtW\",\"label-72\":\"Typography_label-72__39Kvu\",\"label-48\":\"Typography_label-48__3t0ik\",\"label-40\":\"Typography_label-40__2yWpT\",\"label-32\":\"Typography_label-32__8o48W\",\"label-24\":\"Typography_label-24__3TtQZ\",\"label-21-24\":\"Typography_label-21-24__3_DJu\",\"label-21-32\":\"Typography_label-21-32__2tOS8\",\"label-18\":\"Typography_label-18__3b_Qq\",\"label-16\":\"Typography_label-16__1R-DG\",\"label-14\":\"Typography_label-14__Wfnt9\",\"label-12\":\"Typography_label-12__DZedm\",\"label-10\":\"Typography_label-10__3hnUw\",\"label-9\":\"Typography_label-9__23oRY\",\"text\":\"Typography_text__2Yifl\",\"text-24\":\"Typography_text-24__2Rgef\",\"text-21\":\"Typography_text-21__2K3PE\",\"text-18\":\"Typography_text-18__1lE46\",\"text-16\":\"Typography_text-16__1ZFPx\",\"text-14\":\"Typography_text-14__1Awq5\",\"note\":\"Typography_note__1tEKK\"};","// extracted by mini-css-extract-plugin\nmodule.exports = {\"slider\":\"Slider_slider__2de9v\",\"sideGradient-small\":\"Slider_sideGradient-small__23wnF\",\"sideGradient-small__left\":\"Slider_sideGradient-small__left__1l89Y\",\"sideGradient-small__right\":\"Slider_sideGradient-small__right__3w9O9\",\"sideGradient-large\":\"Slider_sideGradient-large__1GL9z\",\"sideGradient-large__left\":\"Slider_sideGradient-large__left__edR-v\",\"sideGradient-large__right\":\"Slider_sideGradient-large__right__3R0AN\",\"sliderBlock\":\"Slider_sliderBlock__3BbQe\",\"normal\":\"Slider_normal__qJGEv\",\"pagination\":\"Slider_pagination__1qLVM\",\"paginationControls__button\":\"Slider_paginationControls__button__ZCnAd\",\"pagination__button_disabled\":\"Slider_pagination__button_disabled__18alh\",\"paginationControls__button_disabled\":\"Slider_paginationControls__button_disabled__1ozu0\",\"paginationControls__numbers_wrapper\":\"Slider_paginationControls__numbers_wrapper__yBSqB\",\"paginationControls__numbers\":\"Slider_paginationControls__numbers__2evkG\",\"paginationControls__numbers_selected\":\"Slider_paginationControls__numbers_selected__3xPr-\"};","// extracted by mini-css-extract-plugin\nmodule.exports = {\"container\":\"Proffits_container__1UiPY\",\"item\":\"Proffits_item__3e9sq\",\"selected\":\"Proffits_selected__2F6ZI\"};","import fp from 'lodash/fp';\nimport React, {\n useContext,\n useEffect,\n FC,\n ComponentType,\n ComponentProps,\n useCallback,\n} from 'react';\nimport Measure from 'react-measure';\nimport { messaging } from '@factorin/container.macro';\nimport { ConnectedProps, useDispatch } from 'react-redux';\n\nimport { connect, useSelector } from 'Modules/core/redux';\nimport {\n Text,\n Portal,\n CloseButton,\n TransitionComponent,\n TransitionGroup,\n cn,\n contextHOC,\n animation,\n stopPropagation,\n useMemoDeps,\n} from 'Modules/ui';\n\nimport { messagingActions as actions } from '../../state/actions';\nimport styles from './index.module.scss';\nimport {\n MessagingQueueTypes,\n MessagingRootState,\n ModalType,\n MessageBase,\n NotificationType,\n} from '../../state/types';\n\n\ntype NotificationProps = {\n hide: () => void;\n notification: NotificationType;\n};\n\nconst Notification: ComponentType = ({ hide, notification: { content } }) => (\n \n {({\n measureRef,\n contentRect: {\n bounds: { height },\n },\n }) => (\n
    \n
    \n \n \n
    \n
    \n )}\n
    \n);\n\ntype ModalHideFunctionType = () => void;\nexport type ModalContextType = { modal: MessageBase & { hide: ModalHideFunctionType } };\n\nconst ModalContextObject = React.createContext({} as ModalContextType);\nexport const ModalContext = ModalContextObject.Consumer;\nexport const withModalContext = contextHOC(ModalContext);\nexport const useModalContext = (): ModalContextType => useContext(ModalContextObject);\n\ntype WidthFunction = () => string;\n\ntype Position = 'center' | 'right' | 'custom';\n\ntype ModalProps = {\n modal: ModalType;\n};\n\nexport type ModalComponent = {\n key?: string;\n component: ComponentType;\n containerClass?: string;\n modalClass?: string;\n width?: 'auto' | WidthFunction;\n position?: Position;\n verticalOffset?: boolean;\n};\n\nexport function createModal(modal: ModalComponent) {\n return Object.assign(modal, { toString: () => modal.key });\n}\n\nconst useHideAction = () => {\n const queue = useSelector('messaging');\n const dispatch = useDispatch();\n const hide = useCallback((modalId: number) =>\n dispatch(actions.hideMessage(modalId)), [dispatch]);\n const hideModal = useCallback(\n (modal: ModalType) => {\n if (messaging.modalTypes[modal.type].hideAction)\n messaging.modalTypes[modal.type].hideAction(modal, dispatch);\n else\n hide(modal.id);\n },\n [dispatch, hide],\n );\n const hideLastModal = useCallback(() => {\n const lastModal = fp.last(queue.filter(m => m.isModal && m.closeable));\n if (lastModal) {\n if (messaging.modalTypes[lastModal.type].hideAction)\n messaging.modalTypes[lastModal.type].hideAction(lastModal, dispatch);\n else\n hide(lastModal.id);\n }\n }, [dispatch, hide, queue]);\n return {\n queue,\n hide,\n hideModal,\n hideLastModal,\n };\n};\n\nconst Modal: ComponentType = React.memo(({ modal }) => {\n const { type, props = {} } = modal;\n const { hideModal } = useHideAction();\n if (!messaging.modalTypes[type]) {\n if (process.env.NODE_ENV === 'development')\n console.log('no modal type registered', type);\n return null;\n }\n\n const {\n component: Component,\n containerClass,\n modalClass,\n width = 'auto',\n position = 'center',\n verticalOffset = true,\n } = messaging.modalTypes[type] as ModalComponent;\n return (\n hideModal(modal),\n }}\n >\n
    \n {verticalOffset &&
    }\n \n hideModal(modal) } }}\n >\n \n \n {modal.closeable && (\n hideModal(modal)}\n />\n )}\n
    \n {verticalOffset &&
    }\n
    \n
    \n );\n});\n\nexport const modalClassNames = {\n title: styles.modalTitle,\n content: styles.modalContent,\n contentDfa: styles.modalContentDfa,\n buttons: styles.modalButtons,\n button: styles.modalButton,\n};\n\nexport const connector = connect(\n ({ messaging: queue }: MessagingRootState) => ({\n queue,\n }),\n {\n hide: actions.hideMessage,\n },\n);\n\nexport type MessagingProps = ConnectedProps;\n\nexport const Messaging: ComponentType = () => {\n const { hide, hideLastModal, queue } = useHideAction();\n useEffect(() => {\n const onKeyDown = e => {\n if (e.key === 'Escape')\n hideLastModal();\n };\n document.addEventListener('keydown', onKeyDown);\n return () => document.removeEventListener('keydown', onKeyDown);\n }, [hideLastModal]);\n\n const [modals, notifications] = useMemoDeps(fp.partition('isModal'), [\n queue,\n ]);\n\n return (\n \n \n {notifications.map((notification: NotificationType) => (\n \n hide(notification.id)}\n />\n \n ))}\n \n \n {modals.map((modal: ModalType) => (\n \n \n \n ))}\n \n \n );\n};\n\nexport const notificationRenderer: FC = ({ content }) => (\n > component='span' textType='light'>\n {content}\n \n);\n","// extracted by mini-css-extract-plugin\nmodule.exports = {\"container\":\"SortColumnsSettings_container__2ldV0\",\"popup\":\"SortColumnsSettings_popup__2RZk2\",\"content\":\"SortColumnsSettings_content__QVNhR\",\"numbers\":\"SortColumnsSettings_numbers__3fEAQ\",\"column\":\"SortColumnsSettings_column__2HNJU\",\"button\":\"SortColumnsSettings_button__3SFDS\",\"isOpen\":\"SortColumnsSettings_isOpen__1iqD8\",\"dragHandle\":\"SortColumnsSettings_dragHandle__av-t5\",\"name\":\"SortColumnsSettings_name__d5W9A\",\"handle\":\"SortColumnsSettings_handle__227Na\",\"dragged\":\"SortColumnsSettings_dragged__2OcVS\"};","import React, { ButtonHTMLAttributes, forwardRef } from 'react';\nimport ButtonMUI, { LoadingButtonProps } from '@mui/lab/LoadingButton';\nimport { CircularProgress } from '@mui/material';\nimport { SystemCssProperties } from '@mui/system';\n\n\ntype ButtonCssProps = 'height' | 'width' | 'minWidth' | 'm' | 'mt' | 'mr' | 'mb' | 'ml' | 'p' | 'pt' | 'pr' | 'pb' | 'pl';\ninterface ButtonCssProperty extends Pick { }\n\nexport interface IButton\n extends LoadingButtonProps,\n Omit, 'color'>,\n ButtonCssProperty {\n variant?: 'primary' | 'accent' | 'secondary' | 'stroke' | 'text';\n title?: string;\n size?: LoadingButtonProps['size'];\n shape?: 'default' | 'circle';\n fontSize?: string | number;\n lineHeight?: string | number;\n}\n\nexport const Button = forwardRef(\n (\n {\n variant = 'primary',\n children,\n title,\n size = 'large',\n shape = 'default',\n width,\n minWidth,\n height,\n m,\n mt,\n mr,\n mb,\n ml,\n p,\n pt,\n pr,\n pb,\n pl,\n sx,\n fontSize,\n lineHeight,\n ...props\n },\n ref,\n ) => (\n size === 'large'\n ? spacing(14)\n : size === 'medium'\n ? spacing(12)\n : spacing(8),\n borderRadius: size === 'large' || size === 'medium'\n ? 6\n : 4,\n },\n ...{\n width,\n minWidth,\n height,\n m,\n mt,\n mr,\n mb,\n ml,\n p,\n pt,\n pr,\n pb,\n pl,\n fontSize,\n lineHeight,\n },\n ...sx,\n }}\n size={size}\n variant={variant}\n loadingIndicator={\n \n }\n {...props}\n >\n {title || children}\n \n ),\n);\n","import React, { FC } from 'react';\nimport { CircularProgress, SxProps } from '@mui/material';\nimport LoadingButton, { loadingButtonClasses, LoadingButtonProps } from '@mui/lab/LoadingButton';\n\n\ninterface SizeProps {\n size?: 'large' | 'medium' | 'small' | 'extraSmall' | 'extraExtraSmall';\n}\n\nexport interface VariantsProps {\n variantType?: 'main' | 'brand';\n variant?: 'primary' | 'secondary' | 'stroke';\n}\n\nconst buttonPyForSize: Record = {\n large: 4,\n medium: 3,\n small: 2,\n extraSmall: 1.5,\n extraExtraSmall: 1.5,\n};\n\nconst buttonPxForSize: Record = {\n large: 7,\n medium: 5,\n small: 5,\n extraSmall: 4.5,\n extraExtraSmall: 4.5,\n};\n\nconst circularProgressForSize: Record = {\n large: 24,\n medium: 24,\n small: 20,\n extraSmall: 20,\n extraExtraSmall: 16,\n};\n\nexport const sxPropsByVariantsProps: Record> = {\n main: {\n primary: {\n color: 'grayscale.shade0',\n bgcolor: 'grayscale.shade95',\n\n '&:hover': {\n bgcolor: 'grayscale.shade85',\n },\n '&:focus': {\n bgcolor: 'grayscale.shade90',\n },\n [`&.${loadingButtonClasses.loading}`]: {\n bgcolor: 'general.primary80',\n },\n '&:disabled': {\n color: 'grayscale.shade85',\n bgcolor: 'grayscale.shade40',\n },\n },\n secondary: {\n color: 'grayscale.shade95',\n bgcolor: 'grayscale.shade0',\n\n '&:hover': {\n bgcolor: 'grayscale.shade20',\n },\n '&:focus': {\n bgcolor: 'grayscale.shade40',\n },\n [`&.${loadingButtonClasses.loading}`]: {\n bgcolor: 'grayscale.shade40',\n },\n '&:disabled': {\n color: 'grayscale.shade85',\n bgcolor: 'grayscale.shade40',\n },\n },\n stroke: {\n color: 'grayscale.shade95',\n bgcolor: 'grayscale.shade10',\n\n '&:hover': {\n bgcolor: 'grayscale.shade20',\n color: 'grayscale.shade95',\n },\n '&:focus': {\n bgcolor: 'grayscale.shade40',\n },\n '&:visited': {\n color: 'grayscale.shade95',\n },\n [`&.${loadingButtonClasses.loading}`]: {\n bgcolor: 'grayscale.shade40',\n },\n '&:disabled': {\n color: 'grayscale.shade85',\n bgcolor: 'grayscale.shade40',\n },\n },\n },\n brand: {\n primary: {\n color: 'grayscale.shade0',\n bgcolor: 'general.primary50',\n borderColor: 'transparent',\n '&:hover': {\n bgcolor: 'general.primary60',\n },\n '&:focus': {\n bgcolor: 'general.primary80',\n },\n [`&.${loadingButtonClasses.loading}`]: {\n bgcolor: 'general.primary50',\n [`& > .${loadingButtonClasses.loadingIndicator}`]: {\n color: 'grayscale.shade0',\n },\n },\n\n [`&:disabled:not(.${loadingButtonClasses.loading})`]: {\n color: 'grayscale.shade85',\n bgcolor: 'grayscale.shade40',\n },\n },\n secondary: {\n color: 'general.primary60',\n bgcolor: 'general.primary10',\n borderColor: 'transparent',\n '&:hover': {\n bgcolor: 'general.primary20',\n },\n '&:focus': {\n bgcolor: 'general.primary30',\n },\n [`&.${loadingButtonClasses.loading}`]: {\n bgcolor: 'general.primary30',\n },\n '&:disabled': {\n color: 'grayscale.shade85',\n bgcolor: 'grayscale.shade40',\n },\n },\n stroke: {\n color: 'general.primary60',\n bgcolor: 'general.primary10',\n borderColor: 'general.primary50',\n '&:hover': {\n bgcolor: 'general.primary20',\n },\n '&:focus': {\n bgcolor: 'general.primary30',\n },\n [`&.${loadingButtonClasses.loading}`]: {\n bgcolor: 'general.primary30',\n },\n '&:disabled': {\n color: 'grayscale.shade85',\n bgcolor: 'grayscale.shade40',\n borderColor: 'transparent',\n },\n },\n },\n};\n\nexport interface Button2Props extends\n VariantsProps,\n SizeProps,\n Omit { }\n\nexport const Button2: FC = ({\n size = 'medium',\n variantType = 'main',\n variant = 'primary',\n sx,\n ...props\n}) => (\n ({\n py: buttonPyForSize[size],\n px: buttonPxForSize[size],\n\n ...typography[size === 'extraExtraSmall' ? 'mediumCaption1' : 'mediumBody2'],\n\n border: 0,\n borderRadius: 2.5,\n\n ...sxPropsByVariantsProps[variantType][variant],\n }),\n ...Array.isArray(sx) ? sx : [sx]]}\n loadingIndicator={}\n {...props}\n />\n);\n","import React, { FC, forwardRef } from 'react';\nimport { Grid as GridMUI, GridProps } from '@mui/material';\n\n\nexport const GridContainer: FC = forwardRef(({ children, ...props }, ref) => (\n \n {children}\n \n));\n\nexport const GridItem: FC = forwardRef(({ children, ...props }, ref) => (\n \n {children}\n \n));\n","import React, { FC } from 'react';\nimport Responsive, { MediaQueryProps, useMediaQuery } from 'react-responsive';\n\n\nconst width = {\n desktop: 1280,\n mobile: 480,\n};\n\ntype ResponsiveProps = {\n children: MediaQueryProps['children'];\n};\n\nexport const Desktop: FC = ({ children }) => (\n \n {children}\n \n);\n\nexport const Tablet: FC = ({ children }) => (\n \n {children}\n \n);\n\nexport const Mobile: FC = ({ children }) => (\n \n {children}\n \n);\n\nexport const useMobile = () => useMediaQuery({ maxWidth: width.mobile });\n\nexport const useTablet = () => useMediaQuery(\n { minWidth: width.mobile + 1, maxWidth: width.desktop - 1 },\n);\n\nexport const useDesktop = () => useMediaQuery({ minWidth: width.desktop });\n\nexport const useMediaSwitch = (\n desktop: TArg1,\n tablet: TArg2,\n mobile: TArg3,\n): TArg1 | TArg2 | TArg3 => {\n const isMobile = useMobile();\n const isTablet = useTablet();\n return isMobile\n ? mobile : isTablet\n ? tablet : desktop;\n};\n\n","import React, {\n ReactNode,\n FC,\n RefObject,\n useState,\n useRef,\n useEffect,\n} from 'react';\nimport {\n Tooltip as BaseTooltip,\n tooltipClasses,\n TooltipProps as BaseTooltipProps,\n TypographyProps,\n} from '@mui/material';\n\nimport { useSizeContext } from 'Modules/ui';\n\nimport { Typography } from '../Typography';\n\n\nexport type TooltipProps = Omit & {\n header?: ReactNode | string;\n text: ReactNode | string;\n background?: string;\n px?: string | number;\n py?: string | number;\n headerProps?: TypographyProps;\n textProps?: TypographyProps;\n componentPropsTooltipSx?: TooltipProps['componentsProps']['tooltip']['sx'];\n};\n\nexport const Tooltip: FC = React.forwardRef(\n (\n {\n placement,\n text,\n header,\n children,\n background = 'grayscale.shade95',\n px,\n py,\n headerProps,\n textProps,\n componentPropsTooltipSx = {},\n ...props\n },\n ref,\n ) => (\n {\n if (placement === 'top-end')\n return [10, 0];\n\n if (placement === 'top-start')\n return [16, 0];\n\n if (placement === 'right')\n return [-8, 0];\n\n if (placement === 'left')\n return [8, 0];\n return [];\n },\n },\n },\n {\n name: 'arrow',\n options: {\n padding: 16,\n },\n },\n ],\n }}\n componentsProps={{\n popper: {\n sx: {\n [`&.${tooltipClasses.popper}[data-popper-placement*=\"top\"] .${tooltipClasses.arrow}`]:\n {\n mb: -2,\n '&::before': {\n transformOrigin: 'center',\n },\n },\n [`&.${tooltipClasses.popper}[data-popper-placement*=\"right\"] .${tooltipClasses.arrow}`]:\n {\n ml: -1,\n '&::before': {\n transformOrigin: 'center',\n },\n },\n [`&.${tooltipClasses.popper}[data-popper-placement*=\"bottom\"] .${tooltipClasses.arrow}`]:\n {\n mt: -1,\n '&::before': {\n transformOrigin: 'center',\n },\n },\n [`&.${tooltipClasses.popper}[data-popper-placement*=\"left\"] .${tooltipClasses.arrow}`]:\n {\n mr: -0.5,\n '&::before': {\n transformOrigin: 'center',\n },\n },\n },\n },\n tooltip: {\n sx: {\n backgroundColor: background,\n py: py || 3,\n px: px || 4,\n borderRadius: 2,\n lineHeight: 0,\n ...componentPropsTooltipSx,\n },\n },\n arrow: {\n sx: ({ spacing }) => ({\n color: background,\n width: spacing(3),\n height: spacing(3),\n overflow: 'visible',\n '&::before': {\n width: spacing(2),\n height: spacing(2),\n borderRadius: '1px',\n },\n }),\n },\n }}\n title={(\n <>\n {header && (\n \n {header}\n
    \n \n )}\n \n {text}\n \n \n )}\n {...props}\n >\n {children}\n \n ),\n);\n\nexport const useTooltipPropsToOnlyEllipsisComponent =\n (): Partial & {\n componentRef: RefObject;\n } => {\n const [disabled, setDisabled] = useState(true);\n\n const { viewportHeight, viewportWidth } = useSizeContext();\n const ref = useRef(null);\n useEffect(() => {\n if (\n ref.current?.offsetWidth < ref.current?.scrollWidth ||\n ref.current?.offsetHeight < ref.current?.scrollHeight\n )\n setDisabled(false);\n else\n setDisabled(true);\n }, [viewportWidth, viewportHeight]);\n\n return {\n componentRef: ref,\n disableHoverListener: disabled,\n };\n };\n","import { SvgIcon } from '@mui/material';\n\n\nexport const Icon = SvgIcon;\n","import { useCallback } from 'react';\n\n\nexport const useInputOnChange = (callback: (value: any) => void, needEvent: boolean) =>\n useCallback(e => callback(needEvent ? e : e.target.value), [callback, needEvent]);\n","import React, { FC, useState, useCallback } from 'react';\nimport {\n IconButton,\n InputAdornment,\n TextField,\n TextFieldProps,\n formHelperTextClasses,\n inputBaseClasses,\n} from '@mui/material';\nimport { FieldRenderProps } from 'react-final-form';\nimport InputMask from 'react-input-mask';\nimport { forms } from '@factorin/container.macro';\n\nimport { multipleRef } from 'Modules/ui';\n\nimport { useInputOnChange } from '../../hooks';\nimport { Eye24, EyeClose24 } from '../../icons';\n\n\nexport type InputProps = Omit & {\n onChange: (value: string) => void;\n needEvent?: boolean;\n mask?: string;\n formatChars?: any;\n suffix?: React.ReactNode;\n value?: string;\n noLabel?: boolean;\n};\n\n\nexport const Input = React.forwardRef }>(\n (\n {\n required,\n fullWidth = true,\n needEvent,\n value,\n onFocus,\n onBlur,\n onChange,\n onPaste,\n onMouseDown,\n inputProps,\n suffix,\n InputProps,\n disabled,\n noLabel,\n maskChar = null,\n formatChars,\n ...rest\n },\n ref,\n ) => (\n spacing(20),\n [`& .${inputBaseClasses.input}`]: {\n pt: 0,\n pb: 0,\n ...rest.error && {\n color: 'infoCustom.red50',\n },\n },\n [`& .${formHelperTextClasses.root}`]: {\n marginLeft: '0 !important',\n marginTop: '0 !important',\n },\n },\n }}\n variant='filled'\n fullWidth={fullWidth}\n value={value}\n onBlur={onBlur}\n onFocus={onFocus}\n inputProps={{\n ref: multipleRef(ref, inputProps?.ref),\n value,\n onChange: useInputOnChange(onChange, needEvent),\n onFocus,\n onBlur,\n onPaste,\n disabled,\n ...inputProps,\n }}\n InputLabelProps={{ required }}\n // eslint-disable-next-line react/jsx-no-duplicate-props\n InputProps={{\n disabled,\n endAdornment: suffix && (\n {suffix}\n ),\n ...InputProps,\n }}\n onPaste={onPaste}\n {...rest}\n >\n {\n // @ts-ignore\n props => (\n \n )\n }\n \n ),\n);\n\n\ntype TextAreaProps = Omit;\n\nexport const TextArea = React.forwardRef(\n (\n {\n required,\n fullWidth = true,\n needEvent,\n value,\n onFocus,\n onBlur,\n onChange,\n onPaste,\n onMouseDown,\n inputProps,\n suffix,\n InputProps,\n ...rest\n },\n ref,\n ) => (\n {suffix}\n ),\n ...InputProps,\n }}\n onPaste={onPaste}\n {...rest}\n />\n ),\n);\n\nexport type InputFieldType = FieldRenderProps & InputProps;\nexport const InputField: FC = React.forwardRef(({\n input: { name, value, type, onChange, onBlur, onFocus, ...restInput },\n meta,\n helperText,\n showMaxSize,\n maxSize,\n onPaste,\n required,\n ...props\n}, ref) => (\n \n ) : helperText || showMaxSize && `${value.length} / ${maxSize}`\n }\n InputLabelProps={{\n required,\n }}\n error={(meta.touched || meta.dirty) && (!!meta.error || !meta.valid)}\n onPaste={useCallback(\n e => {\n if (onPaste)\n // @ts-ignore\n onPaste(e, onChange);\n },\n [onPaste, onChange],\n )}\n required={required}\n {...props}\n />\n));\n\nexport const TextAreaField: FC & TextAreaProps> = ({\n input: { name, value, type, onChange, onBlur, onFocus, ...restInput },\n meta,\n helperText,\n showMaxSize,\n maxSize,\n onPaste,\n ...props\n}) => (\n \n ) : helperText || showMaxSize && `${value.length} / ${maxSize}`\n }\n error={(meta.touched || meta.dirty) && (!!meta.error || !meta.valid)}\n onPaste={useCallback(\n e => {\n if (onPaste)\n // @ts-ignore\n onPaste(e, onChange);\n },\n [onPaste, onChange],\n )}\n {...props}\n />\n);\n\nexport const PasswordField: FC = props => {\n const [showPassword, setState] = useState(false);\n const toggle = useCallback(() => setState(old => !old), []);\n return (\n \n \n {showPassword ? : }\n \n \n ),\n }}\n {...props}\n />\n );\n};\n","import React, { FC } from 'react';\nimport { TypographyProps } from '@mui/material';\n\nimport { Typography } from '../Typography';\nimport { PaletteColor } from '../../palette';\n\n\nexport type CounterProps = Omit & {\n count: number | string;\n variant: 'primary' | 'secondary' | 'black';\n textVariant?: TypographyProps['variant'];\n gray?: boolean;\n active?: boolean;\n sx?: TypographyProps['sx'];\n}\n\nconst bgColors: Record = {\n primary: 'infoCustom.red50',\n secondary: 'grayscale.shade0',\n black: 'grayscale.shade10',\n};\n\nconst textColors: Record = {\n primary: 'grayscale.shade0',\n secondary: 'infoCustom.red50',\n black: 'grayscale.shade95',\n};\n\n\nexport const Counter: FC = ({\n count,\n variant = 'primary',\n textVariant = 'boldCaption2',\n gray,\n active,\n sx,\n ...props\n}) => (\n spacing(5),\n borderRadius: 3,\n backgroundColor: ({ palette: { grayscale } }) =>\n gray ? grayscale.shade40 : bgColors[active ? 'secondary' : variant],\n color: ({ palette: { grayscale } }) =>\n gray ? grayscale.shade85 : textColors[active ? 'secondary' : variant],\n ...sx,\n }}\n {...props}\n >\n {count}\n \n);\n","import React, { FC, ReactNode } from 'react';\nimport {\n FormControl, FormControlLabel, FormControlProps, FormHelperText, FormLabel, Radio,\n RadioGroup as RadioGroupBase,\n RadioGroupProps as RadioGroupBaseProps,\n StackProps, formLabelClasses,\n} from '@mui/material';\n\nimport { Typography, TypographyProps } from '../Typography';\nimport { Stack } from '../Stack';\n\n\nexport interface RadioElement {\n value: string | number;\n label: string | ReactNode;\n disabled?: boolean;\n hide?: boolean | ReactNode;\n}\nexport interface RadioGroupProps extends RadioGroupBaseProps, Pick, Pick {\n groupLabel?: React.ReactNode;\n labelVariant?: TypographyProps['variant'];\n labelColor?: TypographyProps['color'];\n elements: RadioElement[];\n helper?: ReactNode;\n}\nexport const RadioGroup: FC = ({\n elements, groupLabel, value, name, spacing = 3, required, helper, error,\n labelVariant = 'regularCaption1', labelColor = 'grayscale.shade90',\n ...props\n}) => (\n \n {groupLabel && (\n ({\n ...typography[labelVariant],\n color: labelColor,\n [`&.${formLabelClasses.focused}`]: {\n color: labelColor,\n },\n })}\n >\n {groupLabel}\n \n )}\n {helper && (\n ({\n ...typography.regularCaption3,\n })}\n >\n {helper}\n \n )}\n \n \n {elements.map(el => !el.hide && (\n theme.palette.grayscale.shade60,\n ':hover': {\n bgcolor: 'transparent',\n },\n '& svg:first-of-type': {\n transform: 'scale(1.2)',\n },\n },\n '&.Mui-checked': {\n color: theme => theme.palette.general.primary50,\n '& svg:last-of-type': {\n transform: 'scale(1.2)',\n },\n },\n '&.Mui-disabled': {\n color: theme => theme.palette.grayscale.shade80,\n bgcolor: theme => theme.palette.grayscale.shade20,\n boxShadow: 'none',\n '& svg:first-of-type': {\n color: theme => theme.palette.grayscale.shade20,\n },\n },\n '& .MuiSvgIcon-root': {\n fontSize: 24,\n },\n }}\n />\n )}\n label={{el.label}}\n sx={{\n mx: 0,\n '&:hover .MuiRadio-root:not(.Mui-disabled)': {\n color: theme => theme.palette.grayscale.shade80,\n },\n '&:hover .Mui-checked:not(.Mui-disabled)': {\n color: theme => theme.palette.general.primary60,\n },\n }}\n />\n ))}\n \n \n \n);\n","import React, {\n ComponentProps,\n PropsWithChildren,\n ComponentType,\n ElementType,\n ReactNode,\n} from 'react';\nimport {\n Tab as CommonTab,\n TabProps as CommonTabProps,\n SvgIconProps,\n tabClasses,\n} from '@mui/material';\n\nimport { Counter } from '../Counter';\nimport { Typography } from '../Typography';\n\n\nexport type TabProps<\n TComponent extends ElementType = 'div',\n TProps = ComponentProps,\n> = Pick, 'value'> & {\n variant: 'button' | 'text';\n gray?: boolean;\n active?: boolean;\n icon?: ComponentType;\n component?: TComponent;\n count?: number;\n label: ReactNode;\n};\n\nexport function Tab>({\n variant,\n gray,\n active,\n icon: Icon,\n count,\n label,\n children,\n ...props\n}: PropsWithChildren>) {\n return (\n }\n label={(\n <>\n \n {label}\n \n {count && (\n \n )}\n \n )}\n iconPosition='start'\n sx={({ spacing }) => ({\n width: variant === 'button' ? spacing(50) : 'auto',\n minHeight: spacing(8),\n py: 0,\n px: variant === 'button' ? spacing(4) : 0,\n opacity: 1,\n backgroundColor:\n variant === 'button'\n ? gray\n ? 'grayscale.shade10'\n : 'grayscale.shade0'\n : 'inherit',\n borderRadius: variant === 'button' ? spacing(25) : 0,\n color: 'grayscale.shade95',\n\n transition: 'color 150ms ease-out, backgroundColor 150ms ease-out',\n\n [`&.${tabClasses.root}`]: {\n alignItems: variant === 'button' ? 'center' : 'flex-start',\n },\n\n [`&.${tabClasses.selected}`]: {\n color: variant === 'button' ? 'grayscale.shade0' : 'general.primary50',\n backgroundColor: variant === 'button' && 'general.primary50',\n\n '&:hover': {\n color: variant === 'text' && 'general.primary60',\n backgroundColor: variant === 'button' && 'general.primary50',\n },\n },\n\n [`& .${tabClasses.iconWrapper}`]: {\n width: spacing(5),\n height: spacing(5),\n mr: 0,\n },\n\n '&:hover': {\n color: variant === 'text' && 'grayscale.shade90',\n backgroundColor:\n variant === 'button'\n ? gray\n ? 'grayscale.shade20'\n : 'grayscale.shade10'\n : 'none',\n },\n ...variant === 'button' ? {\n '&:active': {\n color: 'grayscale.shade0',\n backgroundColor: 'general.primary60',\n },\n } : {},\n })}\n disableRipple\n {...props}\n />\n );\n}\n","import React, {\n ComponentType,\n ElementType,\n PropsWithChildren,\n ReactNode,\n SyntheticEvent,\n useCallback,\n} from 'react';\nimport { Tabs as CommonTabs, TabsProps as CommonTabsProps, tabsClasses } from '@mui/material';\n\nimport { Tab, TabProps } from '../Tab';\n\n\nexport type TabOption = {\n icon?: TabProps['icon'];\n value: TValue;\n label: ReactNode;\n};\n\nexport type TabsProps =\nOmit & {\n variant: TabProps['variant'];\n gray?: boolean;\n value: any;\n TabComponent?: ComponentType>;\n onChange: (value: any, e?: SyntheticEvent) => void;\n options: TOption[];\n size?: 'large' | 'small';\n fullWidth?: boolean;\n};\n\nexport function Tabs({\n variant,\n gray,\n value,\n onChange,\n options,\n TabComponent = Tab,\n size = 'large',\n fullWidth,\n sx,\n}: PropsWithChildren>) {\n const handleChange = useCallback(\n (e, value) => onChange(value, e),\n [onChange],\n );\n return (\n ({\n display: variant === 'button' && 'none',\n height: spacing(1),\n backgroundColor: 'general.primary50',\n borderRadius: `${spacing(1)} ${spacing(1)} 0 0`,\n }),\n }}\n sx={[{\n width: fullWidth ? '100%' : 'max-content',\n minHeight: variant === 'text' ? '36px' : size === 'large' ? '56px' : '40px',\n p: variant === 'button' && 1,\n borderBottomWidth: variant === 'text' ? '1px' : '0',\n borderBottomStyle: 'solid',\n borderBottomColor: 'grayscale.shade40',\n borderBottomLeftRadius: '2px',\n borderBottomRightRadius: '2px',\n borderRadius: variant === 'button' && '100px',\n backgroundColor:\n variant === 'button' && (gray ? 'grayscale.shade10' : 'grayscale.shade0'),\n\n [`& .${tabsClasses.flexContainer}`]: {\n minHeight: '100%',\n ...variant === 'button' && {\n '& > *': {\n flex: 1,\n },\n },\n '& > * + *': {\n ml: variant === 'text' ? 8 : 2,\n },\n },\n }, ...Array.isArray(sx) ? sx : [sx]]}\n >\n {options.map(props => (\n \n ))}\n \n );\n}\n","import React, { FC, useCallback, useMemo } from 'react';\nimport { RangeModifier } from 'react-day-picker';\nimport { Button } from '@mui/material';\nimport {\n addDays,\n addMonths,\n addYears,\n} from 'date-fns';\n\nimport { Stack } from '../../Stack';\nimport { Typography } from '../../Typography';\n\n\ntype Range = {\n label: DayModifiers;\n result: RangeModifier;\n}\n\nenum DayModifiers {\n today = 'today',\n yesterday = 'yesterday',\n week = 'week',\n month = 'month',\n halfYear = 'halfYear',\n year = 'year',\n}\n\nconst getRanges = (today: Date): Range[] => [\n {\n label: DayModifiers.today,\n result: { from: today, to: undefined },\n },\n {\n label: DayModifiers.yesterday,\n result: { from: addDays(today, -1), to: undefined },\n },\n {\n label: DayModifiers.week,\n result: { from: addDays(today, -7), to: today },\n },\n {\n label: DayModifiers.month,\n result: { from: addMonths(today, -1), to: today },\n },\n {\n label: DayModifiers.halfYear,\n result: { from: addMonths(today, -6), to: today },\n },\n {\n label: DayModifiers.year,\n result: { from: addYears(today, -1), to: today },\n },\n];\n\ntype RangesProps = {\n locale: 'ru' | 'en';\n value: RangeModifier;\n onChange: (value: RangeModifier) => void;\n}\n\nconst localeRangeLabel: Record> = {\n en: {\n today: 'Today',\n yesterday: 'Yesterday',\n week: 'Week',\n month: 'Month',\n halfYear: 'Half year',\n year: 'Year',\n },\n ru: {\n today: 'Сегодня',\n yesterday: 'Вчера',\n week: 'Неделя',\n month: 'Месяц',\n halfYear: 'Полгода',\n year: 'Год',\n },\n};\n\nconst isEqualDate = (date1: Date, date2: Date): boolean =>\n date1.getFullYear() === date2.getFullYear() &&\n date1.getMonth() === date2.getMonth() &&\n date1.getDate() === date2.getDate();\n\ntype RangeButtonProps = {\n data: Range;\n locale: 'ru' | 'en';\n value: RangeModifier;\n onChange: (date: RangeModifier) => void;\n}\n\nconst RangeButton: FC = ({\n data: { label, result },\n locale,\n value,\n onChange,\n}) => {\n const onClick = useCallback(\n () => onChange(result),\n [result, onChange],\n );\n const selected = useMemo(\n () => value.from && isEqualDate(value.from, result.from) && (\n !result.to || value.to && isEqualDate(value.to, result.to)\n ),\n [value, result],\n );\n return (\n \n \n {localeRangeLabel[locale][label]}\n \n \n );\n};\n\nexport const Ranges: FC = React.memo(({ locale, value, onChange }) => {\n const ranges = useMemo(\n () => getRanges(new Date()),\n [],\n );\n return (\n \n {ranges.map(r => (\n \n ))}\n \n );\n});\n","import React, { FC, ComponentProps, useCallback } from 'react';\nimport { PartySuggestions, DaDataSuggestion, DaDataParty } from 'react-dadata';\nimport { TextField } from '@mui/material';\n\nimport { cn, ClassName } from 'Modules/ui';\nimport { wrapFormComponent } from 'Modules/core/forms';\n\nimport { Typography } from '../Typography';\nimport styles from './index.module.scss';\n\n\nconst token = 'f47078270dcde409c92d9fdef88e6f9ec32f6bc7';\n\n\ntype ParticipantOptionProps = ClassName & {\n data: DaDataSuggestion;\n onClick?: () => void;\n}\n\nconst ParticipantOption: FC = ({ data, className, onClick }) => (\n
    \n \n {data.data.name.short_with_opf?.replace(/['\"]+/g, '')}\n \n \n {data.data.name.short_with_opf?.replace(/['\"]+/g, '')}\n \n
    \n);\n\nconst ParticipantInput = React.forwardRef(({\n data,\n error,\n active, value,\n ...props\n}, ref) => (\n \n));\n\nexport const ParticipantSelect: FC, 'token'>> =\n ({\n inputProps: { className, ...inputProps },\n value, onChange, ...props\n }) => (\n ,\n [],\n )}\n {...props}\n />\n );\n\nexport const ParticipantSelectField = wrapFormComponent(({\n name,\n value,\n onChange,\n onBlur,\n onFocus,\n ...props\n}) => (\n \n));\n","import React, { FC } from 'react';\n\nimport { FileText24 } from '../../../icons';\nimport { Typography } from '../../Typography';\nimport { Stack } from '../../Stack';\n\n\ntype NoOptionsProps = {\n allowInput?: boolean;\n};\n\nexport const NoOptions: FC = ({ children, allowInput }) => (\n \n ({\n width: spacing(5),\n height: spacing(5),\n })}\n />\n {children}\n \n);\n","import fp from 'lodash/fp';\nimport React, { FC } from 'react';\nimport { InputAdornment, TextField, inputBaseClasses } from '@mui/material';\n\nimport { Search24 } from '../../../icons';\n\n\nexport type SearchProps = {\n placeholder: string;\n value?: string;\n onChange: (value: string) => void;\n};\n\nexport const Search: FC = ({ placeholder, value, onChange }) => (\n onChange(e.target.value)}\n InputProps={{\n startAdornment: (\n \n \n \n ),\n }}\n />\n);\n","import React, { FC } from 'react';\n\nimport { Stack } from '../../Stack';\n\n\nexport interface ButtonsContainerProps {\n withBackground?: boolean;\n}\n\nexport const ButtonsContainer: FC = ({ withBackground, children }) => (\n `0 0 ${spacing(4)} ${spacing(4)}`,\n zIndex: 1,\n } : {\n p: 2,\n }}\n >\n {children}\n \n);\n","import React, { ComponentType, ReactNode } from 'react';\nimport {\n SvgIconProps,\n ListItemButton,\n ListItem,\n ListItemIcon,\n checkboxClasses,\n ListItemProps,\n} from '@mui/material';\n\nimport { Check24 } from '../../../icons';\nimport { Typography, TypographyProps } from '../../Typography';\nimport { Stack } from '../../Stack';\nimport { Checkbox } from '../../Checkbox';\n\n\nexport type DropdownOption = {\n label: ReactNode;\n value: any;\n description?: ReactNode;\n icon?: ComponentType;\n};\n\nexport type ItemProps = Pick & {\n data: DropdownOption;\n onSelect: (data: DropdownOption) => void;\n isSelected?: boolean;\n isMulti?: boolean;\n itemTypographyProps?: TypographyProps;\n};\n\nexport const Item = React.memo(\n ({ data, onSelect, isSelected, isMulti, sx = {}, itemTypographyProps = {} }) => (\n \n onSelect(data)}\n sx={{\n py: 3,\n px: 4,\n '&:hover': {\n backgroundColor: 'grayscale.shade5',\n\n [`& .${checkboxClasses.root} > span`]: {\n borderColor: 'grayscale.shade80',\n },\n },\n ...sx,\n }}\n >\n {data.icon && (\n \n ({\n width: spacing(6),\n height: spacing(6),\n })}\n />\n \n )}\n \n \n {data.label}\n \n {data.description && (\n \n {data.description}\n \n )}\n \n {isMulti && (\n \n onSelect(data)}\n />\n \n )}\n {!isMulti && isSelected && (\n \n ({\n width: spacing(6),\n height: spacing(6),\n color: 'general.primary50',\n })}\n />\n \n )}\n \n \n ),\n);\n","import React, { FC, useCallback, useMemo } from 'react';\n\nimport { Item, DropdownOption } from '../Item';\n\n\nexport type SelectAllProps = {\n value: DropdownOption[];\n onChange: (options: DropdownOption[]) => void;\n options: DropdownOption[];\n};\n\nexport const SelectAll: FC = ({\n value,\n options,\n onChange,\n}) => {\n const isSelected = useMemo(\n () =>\n Array.isArray(value) &&\n options.every(o => value.some(v => o.value === v.value)),\n [value, options],\n );\n const onSelect = useCallback(\n () => onChange(!isSelected ? options : []),\n [options, isSelected, onChange],\n );\n\n return (\n \n );\n};\n","import React, { ComponentType, forwardRef, useCallback } from 'react';\nimport { List, StackProps } from '@mui/material';\n\nimport { Stack } from '../Stack';\nimport { NoOptions } from './NoOptions';\nimport { Search, SearchProps } from './Search';\nimport { ButtonsContainer, ButtonsContainerProps } from './ButtonsContainer';\nimport { Item, DropdownOption, ItemProps } from './Item';\nimport { SelectAll } from './SelectAll';\nimport { TypographyProps } from '../Typography';\n\n\nexport type DropdownProps = {\n isMulti?: boolean;\n allowSelectAll?: boolean;\n options: DropdownOption[];\n placeholder?: SearchProps['placeholder'];\n needNoOptionsMessage?: boolean;\n noOptionsMessage?: string;\n inputValue?: SearchProps['value'];\n onInputChange?: SearchProps['onChange'];\n value: DropdownOption | DropdownOption[];\n onChange: (value: DropdownOption | DropdownOption[]) => void;\n buttons?: ComponentType;\n withButtonsContainerBg?: ButtonsContainerProps['withBackground'];\n sx?: StackProps['sx'];\n itemSx?: ItemProps['sx'];\n itemTypographyProps?: TypographyProps;\n};\n\nexport const Dropdown = forwardRef(\n (\n {\n isMulti,\n allowSelectAll,\n options,\n onChange,\n value,\n inputValue,\n onInputChange,\n buttons: Buttons,\n placeholder = 'Поиск',\n needNoOptionsMessage,\n noOptionsMessage = 'По вашему запросу ничего не найдено',\n withButtonsContainerBg,\n sx = {},\n itemSx,\n itemTypographyProps,\n },\n ref,\n ) => {\n const onSelect = useCallback(\n (o: DropdownOption) =>\n onChange(\n !isMulti\n ? o\n : Array.isArray(value)\n ? value.some(v => v.value === o.value)\n ? value.filter(v => v.value !== o.value)\n : value.concat(o)\n : [],\n ),\n [onChange, isMulti, value],\n );\n\n return (\n spacing(100),\n overflow: 'hidden',\n boxShadow:\n '0px 8px 24px rgba(0, 0, 0, 0.05), 0px 2px 8px rgba(0, 0, 0, 0.05)',\n ...sx,\n }}\n >\n {onInputChange && (\n \n )}\n {options.length > 0 && (\n \n {isMulti && allowSelectAll && (\n \n )}\n {options.map(o => (\n v.value === o.value)\n : o.value === value?.value\n }\n sx={itemSx}\n itemTypographyProps={itemTypographyProps}\n />\n ))}\n \n )}\n {needNoOptionsMessage && options.length === 0 && (\n \n {noOptionsMessage}\n \n )}\n {Buttons && (\n \n \n \n )}\n \n );\n },\n);\n\nexport type { DropdownOption };\n","import React, { FC } from 'react';\nimport { TypographyProps, buttonClasses } from '@mui/material';\nimport {\n loadingButtonClasses,\n} from '@mui/lab/LoadingButton';\n\nimport { ArrowDown24 } from '../../icons';\nimport { Typography } from '../Typography';\nimport { Button2, Button2Props } from '../Button2';\n\n\nexport type BaseDropdownButtonProps = Button2Props & {\n isOpen: boolean;\n isActive?: boolean;\n isLoading?: boolean;\n extended?: boolean;\n typographyProps?: TypographyProps;\n};\n\nexport const BaseDropdownButton: FC = ({\n isOpen,\n isActive,\n isLoading,\n sx,\n extended,\n children,\n endIcon,\n typographyProps,\n ...props\n}) => (\n .${loadingButtonClasses.loadingIndicator}`]: {\n color:\n isOpen || isActive\n ? 'grayscale.shade0'\n : 'grayscale.shade95',\n },\n },\n\n [`& > .${buttonClasses.endIcon}`]: {\n ml: 0,\n mr: 0,\n color: 'grayscale.shade85',\n\n transition: ({ transitions }) =>\n transitions.create(\n ['transform', 'color', 'backgroundColor'],\n {\n duration: transitions.duration.standard,\n easing: transitions.easing.easeInOut,\n },\n ),\n\n ...!endIcon && isOpen\n ? {\n transform: 'rotate(180deg)',\n transformOrigin: 'center',\n }\n : {},\n },\n ...sx,\n }}\n loading={isLoading}\n loadingPosition='center'\n endIcon={endIcon || }\n disableRipple\n {...props}\n >\n \n {children}\n \n \n);\n","import React, { FC, PropsWithChildren } from 'react';\nimport { Fade, ClickAwayListener, Popper, Box, PopperProps } from '@mui/material';\n\n\nexport type DropdownPopperProps = Pick & {\n isOpen: boolean;\n close: () => void;\n}\n\nexport const DropdownPopper: FC> = ({\n isOpen,\n close,\n anchorEl,\n children,\n disablePortal,\n sx,\n}) => (\n \n {({ TransitionProps }) => (\n \n \n {children}\n \n \n )}\n \n);\n","import React, { FC, ReactNode, useCallback, useRef, useState } from 'react';\nimport { Box, PopperProps } from '@mui/material';\n\nimport {\n BaseDropdownButton,\n BaseDropdownButtonProps,\n} from '../BaseDropdownButton';\nimport { DropdownPopper, DropdownPopperProps } from '../DropdownPopper';\n\n\nexport const useOpenState = (onOpen?: () => void, onClose?: () => void) => {\n const [isOpen, setOpen] = useState(() => false);\n\n const change = useCallback(() => {\n if (onOpen && !isOpen)\n onOpen();\n if (onClose && isOpen)\n onClose();\n setOpen(!isOpen);\n }, [isOpen, onOpen, onClose]);\n const close = useCallback(() => {\n setOpen(false);\n if (onClose)\n onClose();\n }, [onClose]);\n\n return {\n isOpen,\n change,\n close,\n };\n};\n\nexport type DropdownButtonProps = Pick<\nBaseDropdownButtonProps,\n| 'extended'\n| 'disabled'\n| 'isLoading'\n| 'endIcon'\n| 'isActive'\n| 'typographyProps'\n| 'sx'\n| 'onClick'\n| 'variant'\n> & DropdownPopperProps & {\n text: ReactNode;\n\n popperProps?: Pick;\n};\n\nexport const DropdownButton: FC = ({\n text,\n isOpen,\n close,\n children,\n popperProps,\n ...buttonProps\n}) => {\n const containerRef = useRef();\n\n return (\n \n \n {text}\n \n\n \n {children}\n \n \n );\n};\n","import React, { FC, useCallback, useMemo } from 'react';\nimport { DateRange } from 'react-day-picker-for-new-calendar';\nimport { Button } from '@mui/material';\nimport { addDays, addMonths, addYears } from 'date-fns';\n\nimport { Stack } from '../../Stack';\nimport { Typography } from '../../Typography';\n\n\ntype Range = {\n label: DayModifiers;\n result: DateRange;\n};\n\nenum DayModifiers {\n today = 'today',\n yesterday = 'yesterday',\n week = 'week',\n month = 'month',\n halfYear = 'halfYear',\n year = 'year',\n}\n\nconst getRanges = (today: Date): Range[] => [\n {\n label: DayModifiers.today,\n result: { from: today, to: undefined },\n },\n {\n label: DayModifiers.yesterday,\n result: { from: addDays(today, -1), to: undefined },\n },\n {\n label: DayModifiers.week,\n result: { from: addDays(today, -7), to: today },\n },\n {\n label: DayModifiers.month,\n result: { from: addMonths(today, -1), to: today },\n },\n {\n label: DayModifiers.halfYear,\n result: { from: addMonths(today, -6), to: today },\n },\n {\n label: DayModifiers.year,\n result: { from: addYears(today, -1), to: today },\n },\n];\n\ntype RangesProps = {\n locale: 'ru' | 'en';\n value: DateRange;\n onChange: (value: DateRange) => void;\n};\n\nconst localeRangeLabel: Record<\nRangesProps['locale'],\nRecord\n> = {\n en: {\n today: 'Today',\n yesterday: 'Yesterday',\n week: 'Week',\n month: 'Month',\n halfYear: 'Half year',\n year: 'Year',\n },\n ru: {\n today: 'Сегодня',\n yesterday: 'Вчера',\n week: 'Неделя',\n month: 'Месяц',\n halfYear: 'Полгода',\n year: 'Год',\n },\n};\n\nconst isEqualDate = (date1: Date, date2: Date): boolean =>\n date1.getFullYear() === date2.getFullYear() &&\n date1.getMonth() === date2.getMonth() &&\n date1.getDate() === date2.getDate();\n\ntype RangeButtonProps = {\n data: Range;\n locale: 'ru' | 'en';\n value: DateRange;\n onChange: (date: DateRange) => void;\n};\n\nconst RangeButton: FC = ({\n data: { label, result },\n locale,\n value,\n onChange,\n}) => {\n const onClick = useCallback(() => onChange(result), [result, onChange]);\n const selected = useMemo(\n () =>\n value?.from &&\n isEqualDate(value.from, result.from) &&\n (!result.to || value.to && isEqualDate(value.to, result.to)),\n [value, result],\n );\n return (\n \n \n {localeRangeLabel[locale][label]}\n \n \n );\n};\n\nexport const Ranges: FC = React.memo(\n ({ locale, value, onChange }) => {\n const ranges = useMemo(() => getRanges(new Date()), []);\n return (\n \n {ranges.map(r => (\n \n ))}\n \n );\n },\n);\n","import React, { FC, PropsWithChildren, ReactNode } from 'react';\n\nimport { Stack } from '../../Stack';\n\n\nexport const Container: FC> = ({ children }) => (\n \n {children}\n \n);\n","import React from 'react';\nimport { DayPickerProps, Day as BaseDay, useDayPicker } from 'react-day-picker-for-new-calendar';\n\nimport { Box } from '../../Box';\nimport styles from '../index.module.scss';\n\n\nexport const Day: DayPickerProps['components']['Day'] = props => {\n const { modifiers } = useDayPicker();\n return (\n <>\n \n {modifiers.isRange && (\n \n )}\n \n );\n};\n","import fp from 'lodash/fp';\nimport React, { useCallback, useMemo } from 'react';\nimport { DayPickerProps, useDayPicker, useNavigation } from 'react-day-picker-for-new-calendar';\nimport { addMonths } from 'date-fns';\nimport { NativeSelect } from '@mui/material';\n\nimport { ArrowsUpdown24 } from '../../../icons';\nimport { Typography } from '../../Typography';\nimport { Box } from '../../Box';\n\n\ntype CaptionOption = {\n value: string | number;\n label: string | number;\n disabled?: boolean;\n};\n\nexport const CaptionLabel: DayPickerProps['components']['CaptionLabel'] = ({\n displayMonth,\n}) => {\n const { locale } = useDayPicker();\n const { goToMonth } = useNavigation();\n return (\n \n \n div:first-of-type': {\n borderColor: 'grayscale.shade20',\n },\n }}\n value={`${displayMonth.getFullYear()}-${displayMonth.getMonth()}`}\n onChange={useCallback(\n e => {\n const target = e.target as HTMLSelectElement;\n const [year, month] = target.value.split('-');\n goToMonth(new Date(+year, +month));\n },\n [goToMonth],\n )}\n >\n {useMemo(\n () =>\n fp.pipe(\n fp.range(-12),\n fp.reduce((r, n) => {\n const newDate = addMonths(displayMonth, n);\n const newDateYear = newDate.getFullYear();\n const result = [...r];\n if (!r.some(o => o.value === newDateYear)) {\n result.push({\n value: newDateYear,\n label: newDateYear,\n disabled: true,\n });\n }\n result.push({\n value: `${newDateYear}-${newDate.getMonth()}`,\n label: fp.upperFirst(\n newDate.toLocaleDateString(\n locale.code,\n { month: 'long' },\n ),\n ),\n });\n return result;\n }, []),\n )(13),\n [displayMonth, locale],\n ).map(c => (\n \n {c.label}\n \n ))}\n \n \n \n \n {`${fp.upperFirst(\n displayMonth.toLocaleDateString(locale.code, {\n month: 'long',\n }),\n )} ${displayMonth.getFullYear()}`}\n \n ({\n width: spacing(4),\n height: spacing(4),\n color: 'grayscale.shade95',\n ml: 1,\n })}\n />\n \n \n \n );\n};\n","import React, { ComponentType, FC, useCallback } from 'react';\nimport { useNavigation } from 'react-day-picker-for-new-calendar';\nimport { addMonths } from 'date-fns';\nimport { IconButton, IconButtonProps, SvgIconProps } from '@mui/material';\n\nimport {\n ChevronsLeft24,\n ArrowLeft24,\n ArrowRight24,\n ChevronsRight24,\n} from '../../../icons';\nimport { Stack } from '../../Stack';\n\n\ntype NavButtonIcon = IconButtonProps & {\n icon: ComponentType;\n};\n\nconst NavButton: FC = ({ icon: Icon, sx = {}, ...props }) => (\n theme.spacing(7),\n p: 0,\n color: 'grayscale.shade100',\n ...sx,\n }}\n {...props}\n >\n ({ width: spacing(6), height: spacing(6) })}\n />\n \n);\n\nexport const Navbar: FC = () => {\n const { currentMonth, goToMonth } = useNavigation();\n const onChangeMonth = useCallback(\n (amount: number) => goToMonth(addMonths(currentMonth, amount)),\n [currentMonth, goToMonth],\n );\n\n return (\n \n onChangeMonth(-12), [onChangeMonth])}\n icon={ChevronsLeft24}\n />\n onChangeMonth(-1), [onChangeMonth])}\n icon={ArrowLeft24}\n sx={{ mr: 'auto' }}\n />\n onChangeMonth(1), [onChangeMonth])}\n icon={ArrowRight24}\n sx={{ ml: 'auto' }}\n />\n onChangeMonth(12), [onChangeMonth])}\n icon={ChevronsRight24}\n />\n \n );\n};\n","import React from 'react';\nimport { DayPickerProps, Months as Base } from 'react-day-picker-for-new-calendar';\n\nimport { Box } from '../../Box';\nimport { Navbar } from '../Navbar';\n\n\nexport const Months: DayPickerProps['components']['Months'] = props => (\n \n \n \n \n);\n","import React, { FC, PropsWithChildren, ReactNode } from 'react';\n\nimport { Stack } from '../../Stack';\n\n\nexport const ButtonsContainer: FC> = ({ children }) => (\n `0 0 ${spacing(4)} ${spacing(4)}`}\n zIndex={1}\n >\n {children}\n \n);\n","import React, { FC, PropsWithChildren, ReactNode } from 'react';\n\nimport { Typography } from '../../../Typography';\n\n\ntype HeaderProps = PropsWithChildren;\nexport const Header: FC = ({ children }) => (\n \n {children}\n \n);\n","import React, { FC, PropsWithChildren, ReactNode } from 'react';\n\nimport { Typography } from '../../../../Typography';\n\n\ntype HeaderProps = PropsWithChildren;\n\nexport const Header: FC = ({ children }) => (\n \n {children}\n \n);\n","import React, { FC } from 'react';\nimport { ButtonBase } from '@mui/material';\n\nimport { Typography } from '../../../../Typography';\n\n\nexport type ItemProps = {\n /** Выбранный элемент из списка */\n selected: number;\n /** Значение для отображения и передачи в onChange.\n * При отображении приводится к виду НН\n */\n value: number;\n /** Функция выбора элемента */\n onChange: (value: number) => void;\n /** Обозначение индекса. Нужно для переключения через tab на первый элемент */\n needTabIndex?: boolean;\n};\n\nexport const Item: FC = ({\n value,\n onChange,\n selected,\n needTabIndex,\n}) => (\n onChange(value)}\n tabIndex={needTabIndex ? 0 : -1}\n sx={{\n cursor: 'pointer',\n\n bgcolor:\n selected === value ? 'general.primary50' : 'grayscale.shade0',\n color:\n selected === value ? 'grayscale.shade0' : 'grayscale.shade100',\n\n '&:hover, &:focus': {\n bgcolor:\n selected === value\n ? 'general.primary60'\n : 'grayscale.shade10',\n },\n }}\n >\n {`${value}`.padStart(2, '0')}\n \n);\n","import React, {\n FC,\n KeyboardEventHandler,\n ReactNode,\n useEffect,\n useRef,\n} from 'react';\n\nimport { Stack } from '../../../Stack';\nimport { Header } from './Header';\nimport { Item } from './Item';\nimport type { ItemProps } from './Item';\nimport styles from './index.module.scss';\n\n\ntype ListProps = Pick & {\n /** Заголовок списка\n * @example Час\n * @example Мин.\n */\n header: ReactNode;\n /** Список элементов для выбора */\n options: number[];\n /** Элемент для стартовой позиции скролла.\n * Например, необходимо показать для начала 13 часов, а не 00 */\n defaultScrollStartElement?: number;\n};\n\n/** Изменение фокуса элемента при нажатии на клавиши 'ArrowUp' и 'ArrowDown' */\nconst onKeyDownCallback: KeyboardEventHandler = e => {\n const element = e.target as HTMLDivElement;\n let focusElement: Element;\n\n if (e.key === 'ArrowUp') {\n e.preventDefault();\n if (element.previousElementSibling)\n focusElement = element.previousElementSibling;\n else\n focusElement = element.parentElement.lastElementChild;\n }\n if (e.key === 'ArrowDown') {\n e.preventDefault();\n if (element.nextElementSibling)\n focusElement = element.nextElementSibling;\n else\n focusElement = element.parentElement.firstElementChild;\n }\n\n const htmlFocusElement = focusElement as HTMLElement;\n htmlFocusElement?.focus({\n preventScroll: false,\n });\n};\n\nconst useScrollToStartElement = (elementNumber: number) => {\n const ref = useRef();\n useEffect(() => {\n if (ref.current && elementNumber) {\n const htmlElement = ref.current.children.item(elementNumber) as HTMLElement;\n htmlElement.scrollIntoView();\n }\n }, [elementNumber]);\n return ref;\n};\n\nexport const List: FC = ({\n header,\n options,\n selected,\n onChange,\n defaultScrollStartElement,\n}) => {\n const listRef = useScrollToStartElement(defaultScrollStartElement);\n return (\n \n
    {header}
    \n \n {options.map((v, index) => (\n \n ))}\n
    \n \n );\n};\n","import fp from 'lodash/fp';\nimport React, { FC } from 'react';\n\nimport { Stack } from '../../Stack';\nimport { Header } from './Header';\nimport { List } from './List';\n\n\nconst hoursRange = fp.range(0, 24);\nconst minutesRange = fp.range(0, 60);\n\ntype TimeData = {\n value: number | null;\n onChange: (value: number) => void;\n};\n\nexport type TimePickerProps = {\n /** Хранение данных для часов */\n hours: TimeData;\n /** Хранение данных для минут */\n minutes: TimeData;\n};\n\n/** Компонент выбора времени. Хранение данных вынесено отдельно по каждому значению\n * @see [Незаполненный](https://www.figma.com/design/nyOI7hySHz5glWUuMIdVpZ/%F0%9F%A7%A9-%5BWeb%5D-Components-Factorin?node-id=4850-16243&m=dev)\n * @see [Заполненный](https://www.figma.com/design/nyOI7hySHz5glWUuMIdVpZ/%F0%9F%A7%A9-%5BWeb%5D-Components-Factorin?node-id=4850-16246&m=dev)\n */\nexport const TimePicker: FC = ({ hours, minutes }) => (\n \n
    \n {`${hours.value ?? '--'}`.padStart(2, '0')}:\n {`${minutes.value ?? '--'}`.padStart(2, '0')}\n
    \n \n \n \n \n \n);\n","import React, { FC, ReactNode, useCallback } from 'react';\nimport {\n DayPicker,\n DayPickerProps,\n DateRange,\n DayPickerRangeProps,\n DayPickerBase,\n DayPickerSingleProps,\n} from 'react-day-picker-for-new-calendar';\nimport dayPickerStyles from 'react-day-picker-for-new-calendar/dist/style.module.css';\nimport { ru } from 'date-fns/locale';\nimport cn from 'clsx';\n\nimport { Box } from '../Box';\nimport { Stack } from '../Stack';\nimport { Container } from './Container';\nimport { Day } from './Day';\nimport { CaptionLabel } from './Caption';\nimport { Months } from './Months';\nimport { Ranges } from './Ranges';\nimport { ButtonsContainer } from './ButtonsContainer';\nimport { TimePicker, TimePickerProps } from './TimePicker';\nimport styles from './index.module.scss';\n\n\ntype LocaleProps = Partial>;\n\nconst localizationProps: Record = {\n ru: {\n locale: ru,\n },\n};\n\nexport type BaseCalendarProps2 = {\n /** Значение в календаре:\n * - обычный календарь - `Date`;\n * - период - `{ from: Date, to: Date }`;\n * */\n value: TValue;\n /** Обработчик изменения значения, принимающий на вход:\n * - обычный календарь - `Date`;\n * - период - `{ from: Date, to: Date }`;\n * */\n onChange: (value: TValue) => void;\n /** Локализация календаря, в данный момент поддерживается только русская */\n locale?: 'ru';\n /** Кнопки внизу календаря.\n * В случае наличия помещяются в flex-контейнер по дизайну */\n buttons?: ReactNode;\n /** Выставляет автофокус на компонент при появлении */\n initialFocus?: DayPickerBase['initialFocus'];\n};\n\nfunction useBaseProps(\n locale: BaseCalendarProps2['locale'] = 'ru',\n): TProps {\n return {\n ...localizationProps[locale],\n components: {\n Day,\n Months,\n CaptionLabel,\n },\n classNames: {\n ...dayPickerStyles,\n root: cn(styles.container, dayPickerStyles.root),\n months: cn(styles.months, dayPickerStyles.months),\n row: cn(styles.week, dayPickerStyles.row),\n day: cn(styles.day, dayPickerStyles.day),\n nav: cn(styles.nav, dayPickerStyles.nav),\n cell: cn(styles.cell, dayPickerStyles.cell),\n head_cell: cn(styles.weekDay, dayPickerStyles.head_cell),\n caption: null,\n day_today: cn(styles.today, dayPickerStyles.day_today),\n day_range_start: styles.rangeStart,\n day_range_end: styles.rangeEnd,\n day_range_middle: styles.rangeMiddle,\n day_selected: cn(styles.selected, dayPickerStyles.day_selected),\n },\n } as TProps;\n}\n\nexport type CalendarProps2 = BaseCalendarProps2 & {\n /** Хранение и установка часа/минуты */\n timePicker?: TimePickerProps;\n};\n\n/** Компонент календаря\n *\n * ### Выбор времени\n * Хранение данных времени вынесено за value, так как время должно\n * устанавливаться отдельно по задумке дизайнера\n *\n * @see [Базовая версия](https://www.figma.com/design/nyOI7hySHz5glWUuMIdVpZ/%F0%9F%A7%A9-%5BWeb%5D-Components-Factorin?node-id=4849-10829&m=dev)\n * @see [Выбор времени](https://www.figma.com/design/nyOI7hySHz5glWUuMIdVpZ/%F0%9F%A7%A9-%5BWeb%5D-Components-Factorin?node-id=4849-11451&m=dev)\n */\nexport const Calendar2: FC = ({\n value,\n onChange,\n locale = 'ru',\n buttons,\n initialFocus,\n timePicker,\n}) => {\n const baseProps = useBaseProps(locale);\n return (\n \n \n \n {timePicker && (\n \n \n \n )}\n \n {buttons && {buttons}}\n \n );\n};\n\nexport type RangeCalendarProps2 = BaseCalendarProps2;\n\nexport const RangeCalendar2: FC = ({\n value,\n onChange,\n locale = 'ru',\n buttons,\n initialFocus,\n}) => {\n const baseProps = useBaseProps(locale);\n return (\n \n onChange(range), [onChange])}\n numberOfMonths={2}\n modifiers={{\n isRange: true,\n }}\n modifiersClassNames={{\n isRange: styles.isRange,\n }}\n initialFocus={initialFocus}\n {...baseProps}\n />\n \n {buttons && {buttons}}\n \n );\n};\n","import fp from 'lodash/fp';\nimport React, {\n FC,\n FocusEventHandler,\n MouseEventHandler,\n useCallback,\n useEffect,\n useMemo,\n useRef,\n useState,\n} from 'react';\nimport { FieldRenderProps } from 'react-final-form';\nimport { ClickAwayListener, Fade, Popper, PopperProps, SvgIconProps } from '@mui/material';\nimport { formatDate, parseDate, getUTCOffsetConvertedDate } from '@factorin/util';\nimport { forms } from '@factorin/container.macro';\n\nimport { Calendar24, Close24 } from '../../icons';\nimport { Calendar2, CalendarProps2 } from '../Calendar2';\nimport { Input, InputProps } from '../Input';\nimport { Box } from '../Box';\nimport { Typography } from '../Typography';\n\n\nconst usePopperOpenState = (onOpen?: () => void, onClose?: () => void) => {\n const [isOpen, setOpen] = useState(() => false);\n\n const change = useCallback(() => {\n if (onOpen && !isOpen)\n onOpen();\n if (onClose && isOpen)\n onClose();\n setOpen(!isOpen);\n }, [isOpen, onOpen, onClose]);\n\n const open = useCallback(() => {\n if (onOpen)\n onOpen();\n setOpen(true);\n }, [onOpen]);\n\n const close = useCallback(() => {\n setOpen(false);\n if (onClose)\n onClose();\n }, [onClose]);\n\n return {\n isOpen,\n change,\n open,\n close,\n };\n};\n\n\nconst SUFFIX_ICON_BASE_CONFIG: SvgIconProps = {\n cursor: 'pointer',\n sx: ({ spacing }) => ({\n width: spacing(6),\n height: spacing(6),\n }),\n};\n\n\nexport type CalendarInputProps = Omit &\nOmit & { popperProps?: PopperProps, noLabel?: boolean, needCloseSuffix?: boolean, intervalError?: boolean, isUTCConvert?: boolean };\n\n\nexport const CalendarInput = React.forwardRef<\nHTMLInputElement,\nCalendarInputProps\n>(({ locale = 'ru', value, onChange, onFocus, onBlur, popperProps, noLabel = false, needCloseSuffix = false, isUTCConvert = false, ...props }, ref) => {\n const { isOpen, open, close } = usePopperOpenState();\n\n const [inputValue, setInputValue] = useState('');\n\n const [isDelSuffix, setIsDelSuffix] = useState(false);\n\n const [formatChars, setFormatChars] = useState({\n 1: '[0-3]',\n 2: '[0-9]',\n 3: '[0-1]',\n 4: '[0-9]',\n 5: '[0-9]',\n });\n\n useEffect(() => {\n setIsDelSuffix(Boolean(value));\n }, [value]);\n\n useEffect(() => {\n const currentValue = inputValue || formatDate(value, locale);\n\n if (currentValue) {\n const [day, month] = currentValue.split('.');\n\n setFormatChars(previousConfig => ({\n ...previousConfig,\n 1: day[0] === '_' && Number(day[1]) > 1 ? '[0-2]' : '[0-3]',\n 2: day[0] === '3' ? '[0-1]' : '[0-9]',\n 3: month[0] === '_' && Number(month[1]) > 2 ? '0' : '[0-1]',\n 4: month[0] === '1' ? '[0-2]' : '[0-9]',\n }));\n }\n }, [setFormatChars, inputValue, value, locale]);\n\n const commitInputChange = useMemo(\n () =>\n fp.throttle(200)((value: string) => {\n const parsed = parseDate(value, locale) ?? undefined;\n\n return onChange(isUTCConvert ? getUTCOffsetConvertedDate(parsed) : parsed);\n }),\n [onChange, locale, isUTCConvert],\n );\n\n const onInputChange = useCallback<(value: string) => void>(\n value => {\n setInputValue(value);\n commitInputChange(value);\n }, [commitInputChange]);\n\n const onInputBlur = useCallback>(\n e => {\n setInputValue('');\n close();\n\n if (onBlur)\n onBlur(e);\n },\n [onBlur, close],\n );\n\n const onInputFocus = useCallback>(\n e => {\n open();\n if (onFocus)\n onFocus(e);\n },\n [onFocus, open],\n );\n\n const onInputClick = useCallback>(e => {\n e.stopPropagation();\n }, []);\n\n const onCalendarChange = useCallback(\n (date: Date) => {\n onChange(isUTCConvert ? getUTCOffsetConvertedDate(date) : date);\n setInputValue('');\n close();\n },\n [onChange, close, isUTCConvert],\n );\n\n const containerRef = useRef();\n\n return (\n \n onChange(null)}\n />\n ) : (\n \n )}\n noLabel={noLabel}\n {...props}\n />\n\n \n {({ TransitionProps }) => (\n \n \n \n \n \n \n \n )}\n \n \n );\n});\n\n\nexport const CalendarInputField: FC & CalendarInputProps> = ({\n input: { name, value, onChange, onBlur, onFocus },\n meta: { modified, error, valid },\n helperText,\n onPaste,\n intervalError,\n ...props\n}) => (\n \n \n \n ) : helperText\n }\n error={modified && (!!error || !valid) || intervalError}\n {...props}\n />\n);\n","import React, { ComponentType, FC, ReactNode } from 'react';\nimport { SxProps, Theme } from '@mui/material';\n\nimport { Stack } from '../Stack';\nimport { Typography, TypographyProps } from '../Typography';\nimport { PaletteColor } from '../../palette';\n\n\ntype BadgeColors = 'green' | 'red' | 'purple' | 'orange' | 'gray' | 'lightGray';\n\nconst badgePrimaryBgColor: Record = {\n green: 'infoCustom.green50',\n red: 'infoCustom.red50',\n purple: 'general.secondary50',\n orange: 'infoCustom.orange50',\n gray: 'grayscale.shade85',\n lightGray: 'grayscale.shade20',\n};\n\nconst badgeSecondaryBgColor: Record = {\n green: 'infoCustom.green10',\n red: 'infoCustom.red10',\n purple: 'grayscale.shade10',\n orange: 'infoCustom.orange10',\n gray: 'grayscale.shade10',\n lightGray: 'grayscale.shade20',\n};\n\nconst badgeTypographyColor: Record = {\n green: 'infoCustom.green60',\n red: 'infoCustom.red60',\n purple: 'grayscale.shade90',\n orange: 'infoCustom.orange60',\n gray: 'grayscale.shade90',\n lightGray: 'grayscale.shade20',\n};\n\ntype BadgeSizes = 'large' | 'medium' | 'small';\n\nconst iconSizeSpacing: Record = {\n large: 6,\n medium: 4,\n small: 3,\n};\n\nconst typographyVariantBySize: Record =\n {\n large: 'mediumBody2',\n medium: 'mediumCaption1',\n small: 'mediumCaption3',\n };\n\nexport type BadgeProps = {\n color: BadgeColors;\n view: 'primary' | 'secondary' | 'stroke';\n size: BadgeSizes;\n text?: string | ReactNode;\n leftIcon?: ComponentType<{sx: SxProps}>;\n rightIcon?: ComponentType<{sx: SxProps}>;\n sx?: SxProps;\n};\n\nexport const Badge: FC = ({\n color,\n view,\n size,\n text,\n leftIcon: LeftIcon,\n rightIcon: RightIcon,\n sx = [],\n}) => (\n \n {LeftIcon && (\n ({\n width: spacing(iconSizeSpacing[size]),\n height: spacing(iconSizeSpacing[size]),\n })}\n />\n )}\n {text && (\n \n {text}\n \n )}\n {RightIcon && (\n ({\n width: spacing(iconSizeSpacing[size]),\n height: spacing(iconSizeSpacing[size]),\n })}\n />\n )}\n \n);\n","import React, { FC } from 'react';\nimport { CircularProgress } from '@mui/material';\nimport LoadingButton, { LoadingButtonProps } from '@mui/lab/LoadingButton';\n\nimport { sxPropsByVariantsProps } from '../Button2';\n\n\ninterface SizeProps {\n size?: 'extraExtraLarge' | 'extraLarge' | 'large' | 'medium' | 'small' | 'extraSmall';\n}\n\ninterface VariantsProps {\n variantType?: 'main' | 'brand';\n variant?: 'primary' | 'secondary' | 'stroke';\n}\n\nconst iconPForSize: Record = {\n extraExtraLarge: 4,\n extraLarge: 3,\n large: 2.5,\n medium: 2,\n small: 2,\n extraSmall: 1,\n};\n\nconst iconSizeForSize: Record = {\n extraExtraLarge: 6,\n extraLarge: 6,\n large: 5,\n medium: 5,\n small: 4,\n extraSmall: 4,\n};\n\ninterface IconProps {\n isRound?: boolean;\n}\n\nexport interface IconButtonProps extends\n VariantsProps,\n SizeProps,\n IconProps,\n Omit { }\n\nexport const IconButton: FC = ({\n size = 'medium',\n variantType = 'main',\n variant = 'primary',\n isRound,\n sx,\n ...props\n}) => (\n ({\n width: spacing(iconSizeForSize[size]),\n height: spacing(iconSizeForSize[size]),\n }),\n ...sxPropsByVariantsProps[variantType][variant],\n },\n ...Array.isArray(sx) ? sx : [sx],\n ]}\n loadingIndicator={(\n \n )}\n {...props}\n />\n);\n","import React, { FC } from 'react';\n\nimport { Close24 } from '../../icons';\nimport { IconButton, IconButtonProps } from '../IconButton';\n\n\nconst buttonOffsetBySize: Record, number> = {\n small: 4,\n medium: 6,\n};\ninterface CloseModalButtonProps extends IconButtonProps {\n absolute?: boolean;\n withBorder?: boolean;\n}\n\nexport const CloseModalButton: FC = ({\n onClick,\n size = 'medium',\n variant = 'secondary',\n absolute = true,\n withBorder,\n ...props\n}) => (\n ({\n ...withBorder ? {\n border: 1,\n borderColor: 'grayscale.shade80',\n } : {},\n ...absolute ? {\n position: 'absolute',\n top: spacing(buttonOffsetBySize[size]),\n right: spacing(buttonOffsetBySize[size]),\n zIndex: 1,\n } : {},\n })}\n {...props}\n >\n \n \n);\n","import React, { FC } from 'react';\nimport { Chip as BaseChip, ChipProps } from '@mui/material';\n\nimport { Typography } from '../Typography';\n\n\ninterface ChipCustom extends Omit {\n iconColor?: string;\n variant?: 'base' | 'primary' | 'secondary';\n active?: boolean;\n}\n\nexport const Chip: FC = ({\n label,\n variant = 'base',\n active,\n sx,\n ...props\n}) => (\n {label}}\n variant='filled'\n {...props}\n sx={[({ palette: { grayscale } }) => ({\n px: 3,\n py: 1.5,\n background: variant === 'base' ? grayscale.shade0 : variant === 'secondary' && active ? grayscale.shade95 : grayscale.shade10,\n border: 1,\n borderColor: active ? grayscale.shade95 : variant === 'base' ? grayscale.shade0 : grayscale.shade10,\n '&.hover': {\n background: grayscale.shade20,\n },\n }),\n ...Array.isArray(sx) ? sx : [sx],\n ]}\n />\n);\n","import { FormControl, FormLabel, Slider as SliderBase, SliderProps as SliderBaseProps, formLabelClasses, sliderClasses } from '@mui/material';\nimport React, { FC, ReactNode } from 'react';\n\nimport { Typography, TypographyProps } from '../Typography';\n\n\nexport type SliderProps = Omit & {\n label?: ReactNode;\n labelVariant?: TypographyProps['variant'];\n labelColor?: TypographyProps['color'];\n startValue?: number;\n value?: number;\n defaultValue?: number;\n};\nexport const Slider: FC = ({\n name, label, value = 0, startValue = 0, defaultValue = startValue,\n labelVariant = 'regularCaption1', labelColor = 'grayscale.shade90',\n sx, onChange, valueLabelFormat, min, max, ...props\n}) => (\n \n {label && (\n ({\n ...typography[labelVariant],\n mb: 2,\n color: labelColor,\n [`&.${formLabelClasses.focused}`]: {\n color: labelColor,\n },\n })}\n >\n {label}\n \n )}\n `${name}_${idx}`}\n name={name}\n valueLabelFormat={(value, idx) => (\n \n {valueLabelFormat\n ? typeof valueLabelFormat === 'function'\n ? valueLabelFormat(value, idx)\n : valueLabelFormat\n : value}\n \n )}\n value={[\n value < defaultValue ? value : defaultValue,\n value > defaultValue ? value : defaultValue,\n ]}\n onChange={(e, value, activeThumb) =>\n onChange(e, value[0] !== defaultValue ? value[0] : value[1], activeThumb)}\n min={min}\n max={max}\n sx={[({ palette }) => ({\n '&': {\n pt: 2,\n mb: 6,\n },\n [`& .${sliderClasses.thumb}`]: {\n ...value < defaultValue ? {\n color: palette.infoCustom.red50,\n } : {\n display: 'none',\n },\n ...value === min && {\n transform: 'translate(calc(-50% + 10px), -50%)',\n },\n [`&+.${sliderClasses.thumb}`]: {\n ...value < defaultValue ? {\n display: 'none',\n } : {\n display: 'flex',\n color: palette.infoCustom.red50,\n },\n ...value === max && {\n transform: 'translate(calc(-50% - 10px), -50%)',\n },\n },\n },\n [`& .${sliderClasses.track}`]: {\n color: palette.infoCustom.red50,\n ...value >= defaultValue && {\n transform: 'translate(-2px, -50%)',\n },\n },\n [`& .${sliderClasses.rail}`]: {\n color: palette.grayscale.shade20,\n opacity: 1,\n },\n [`& .${sliderClasses.valueLabel}`]: {\n pt: 2,\n px: 0,\n backgroundColor: 'transparent',\n '&::before': { display: 'none' },\n [`&.${sliderClasses.valueLabelOpen}`]: {\n transform: 'translateY(100%) scale(1)',\n },\n },\n }),\n ...Array.isArray(sx) ? sx : [sx]]}\n {...props}\n />\n \n);\n","import React, { FC } from 'react';\nimport {\n FormControl,\n FormControlLabel,\n FormControlLabelProps,\n Switch as SwitchBase,\n SwitchProps,\n switchClasses,\n formControlLabelClasses,\n buttonBaseClasses,\n} from '@mui/material';\n\nimport { fileUrl } from 'Modules/ui';\n\nimport PadlockIcon from '../../icons/padlock.svg';\n\n\nexport type { SwitchProps };\n\nexport const Switch: FC = ({ sx, name, ...props }) => (\n ({\n width: spacing(13),\n height: spacing(8),\n padding: 0,\n [`& .${switchClasses.switchBase}`]: {\n padding: 0,\n margin: 0.5,\n transitionDuration: '300ms',\n [`&.${switchClasses.checked}`]: {\n transform: `translateX(${spacing(5)})`,\n color: palette.grayscale.shade0,\n [`& + .${switchClasses.track}`]: {\n backgroundColor: palette.general.primary50,\n opacity: 1,\n border: 0,\n },\n },\n [`&.${switchClasses.disabled}`]: {\n [`& + .${switchClasses.track}`]: {\n opacity: 1,\n },\n [`&.${switchClasses.disabled} + .${switchClasses.track}`]: {\n backgroundColor: palette.general.primary50,\n },\n [`& .${switchClasses.thumb}`]: {\n backgroundColor: palette.grayscale.shade0,\n backgroundRepeat: 'no-repeat',\n backgroundPosition: 'center',\n backgroundSize: spacing(4),\n backgroundImage: `url(\"${fileUrl(PadlockIcon)}\")`,\n },\n },\n [`&.${buttonBaseClasses.focusVisible} .${switchClasses.thumb}`]: {\n color: palette.general.primary50,\n border: 6,\n borderColor: palette.grayscale.shade0,\n },\n },\n [`& .${switchClasses.thumb}`]: {\n boxSizing: 'border-box',\n width: spacing(7),\n height: spacing(7),\n },\n [`& .${switchClasses.track}`]: {\n borderRadius: spacing(4),\n backgroundColor: palette.grayscale.shade20,\n opacity: 1,\n transition: transitions.create(['background-color'], {\n duration: 500,\n }),\n },\n }),\n ...Array.isArray(sx) ? sx : [sx]]}\n {...props}\n />\n);\n\nexport type SwitchWithLabelProps = Omit & {\n switchProps?: SwitchProps;\n};\n\nexport const SwitchWithLabel: FC = ({\n switchProps, sx, componentsProps, ...props\n}) => (\n \n }\n sx={[({ palette }) => ({\n mx: 0,\n [`& .${formControlLabelClasses.label}.${formControlLabelClasses.disabled}`]: {\n color: palette.grayscale.shade95,\n },\n }),\n ...Array.isArray(sx) ? sx : [sx]]}\n {...props}\n />\n \n);\n","import React, { memo, useCallback } from 'react';\nimport { PopperProps, SvgIconProps, SxProps, Theme } from '@mui/material';\n\nimport { Dropdown, DropdownProps, DropdownOption } from '../Dropdown';\nimport { Close24 } from '../../icons';\nimport {\n DropdownButton,\n DropdownButtonProps,\n useOpenState,\n} from '../DropdownButton';\n\n\nexport type DropdownSelectProps = Pick<\nDropdownButtonProps,\n'disabled' | 'text'\n> &\nPick & {\n selected: T;\n onSelect: (value: T) => void;\n options: DropdownOption[];\n onOpen?: () => void;\n onClose?: () => void;\n isMulti?: boolean;\n popperProps?: Pick & { dropdownSx?: SxProps };\n isLoading?: boolean;\n buttonSx?: SxProps;\n};\n\n\nexport const DropdownSelect = memo(\n ({\n selected, onSelect, options, onOpen, onClose, disabled, text, isMulti,\n popperProps: { dropdownSx, ...restPopperProps },\n isLoading, buttonSx,\n }) => {\n const openState = useOpenState(onOpen, onClose);\n\n const onChange = useCallback(\n value => {\n onSelect(value);\n\n if (!isMulti)\n openState.close();\n },\n [onSelect, openState, isMulti],\n );\n\n const onClear = useCallback(\n event => {\n event.stopPropagation();\n\n onChange(null);\n },\n [onChange],\n );\n\n return (\n \n }\n extended\n disabled={disabled}\n text={text}\n sx={{\n whiteSpace: ['nowrap'],\n backgroundColor: 'grayscale.shade10',\n borderColor: 'transparent',\n borderRadius: 3,\n ...buttonSx,\n }}\n typographyProps={{\n sx: {\n textOverflow: 'ellipsis',\n overflow: 'hidden',\n color: selected ? 'grayscale.shade100' : 'grayscale.shade85',\n },\n variant: 'regularBody2',\n }}\n variant='stroke'\n popperProps={restPopperProps}\n >\n spacing(99),\n width: '100%',\n borderRadius: 3,\n ...dropdownSx,\n }}\n itemTypographyProps={{\n variant: 'regularCaption1',\n }}\n />\n \n );\n },\n);\n","import React, { FC } from 'react';\nimport { buttonClasses } from '@mui/material';\n\nimport { Button2, Button2Props } from '../Button2';\nimport { SettingsAlt24 } from '../../icons';\nimport { Counter } from '../Counter';\n\n\nexport type FilterButtonProps = Button2Props & {\n isOpen?: boolean;\n activeCount?: number;\n}\n\nexport const FilterButton: FC = ({ activeCount, isOpen, ...buttonProps }) => (\n }\n endIcon={activeCount > 0 && }\n disableRipple\n sx={{\n [`.${buttonClasses.endIcon} > *:nth-of-type(1)`]: {\n fontSize: '1.2rem',\n },\n ...isOpen && {\n bgcolor: 'grayscale.shade40',\n },\n }}\n {...buttonProps}\n />\n);\n","import React, { FC, ReactNode, useCallback, useRef, useState } from 'react';\nimport { Box, BoxProps } from '@mui/material';\n\n\nimport { DropdownPopper, DropdownPopperProps } from '../DropdownPopper';\nimport { FilterButton, FilterButtonProps } from '../FiilterButton';\n\n\nexport type DropdownFilterProps = FilterButtonProps & DropdownPopperProps & {\n text: ReactNode;\n containerProps?: Omit;\n};\n\nexport const useFilterOpenState = () => {\n const [isOpen, setOpen] = useState(false);\n\n const toggle = useCallback(() => {\n setOpen(!isOpen);\n }, [isOpen]);\n const close = useCallback(() => setOpen(false), []);\n\n return {\n isOpen,\n toggle,\n close,\n };\n};\n\nexport const DropdownFilter: FC = ({\n text,\n isOpen,\n close,\n children,\n containerProps,\n ...buttonProps\n}) => {\n const containerRef = useRef();\n return (\n \n \n {text}\n \n \n {children}\n \n \n );\n};\n","import React, { FC } from 'react';\nimport { InputAdornment, inputAdornmentClasses, inputClasses, SxProps, TextField, TextFieldProps, Theme, TypographyVariants } from '@mui/material';\n\nimport { useInputOnChange } from '../../hooks';\nimport { Close24, Search24 } from '../../icons';\n\n\nexport interface SearchProps extends Omit {\n size?: 'medium' | 'small';\n isGray?: boolean;\n onChange: (value: string) => void;\n value: string;\n inputPropsSx?: SxProps;\n textFieldPropsSx?: SxProps;\n}\n\nconst typographyBySize: Record = {\n medium: 'regularBody2',\n small: 'regularCaption1',\n};\n\nexport const Search: FC = ({ size = 'medium', isGray, sx, textFieldPropsSx, inputPropsSx, value, onChange, ...props }) => (\n ({\n color: grayscale.shade85,\n\n [`&.${inputAdornmentClasses.root}.${inputAdornmentClasses.positionStart}.${inputAdornmentClasses.root}:not(${inputAdornmentClasses.hiddenLabel})`]: {\n mt: 0,\n mr: 3,\n },\n })}\n >\n ({\n fontSize: typography[typographyBySize[size] as string].lineHeight,\n })}\n />\n \n ),\n endAdornment: value && (\n onChange('')}\n sx={({ palette: { grayscale } }) => ({\n color: grayscale.shade100,\n cursor: 'pointer',\n })}\n >\n ({\n fontSize: spacing(4),\n })}\n />\n \n ),\n sx: ({ typography, palette: { grayscale } }) => ({\n height: 'auto',\n py: 2,\n px: 4,\n backgroundColor: isGray ? grayscale.shade10 : grayscale.shade0,\n input: {\n height: 'auto',\n p: 0,\n '&::placeholder': {\n color: grayscale.shade85,\n opacity: 1,\n },\n },\n ...typography[typographyBySize[size] as string],\n ...inputPropsSx,\n }),\n }}\n {...props}\n sx={[({ palette }) => ({\n [`& div.${inputClasses.focused}`]: {\n border: 'none',\n backgroundColor: isGray ? palette.grayscale.shade10 : palette.grayscale.shade0,\n },\n ...textFieldPropsSx,\n }),\n ...Array.isArray(sx) ? sx : [sx],\n ]}\n />\n);\n","import { CSSProperties } from 'react';\nimport { ThemeOptions } from '@mui/material/styles';\nimport type { } from '@mui/lab/themeAugmentation';\n\n\ndeclare module '@mui/material/styles' {\n interface TypographyVariants {\n boldTitle1: CSSProperties;\n regularHeader2: CSSProperties;\n mediumCaption1: CSSProperties;\n mediumBody2: CSSProperties;\n regularCaption3: CSSProperties;\n mediumCaption2: CSSProperties;\n mediumMicro1: CSSProperties;\n boldCaption1: CSSProperties;\n regularCaption1: CSSProperties;\n boldBody2: CSSProperties;\n regularBody2: CSSProperties;\n boldBody1: CSSProperties;\n mediumCaption3: CSSProperties;\n mediumBody1: CSSProperties;\n boldCaption2: CSSProperties;\n mediumHeader2: CSSProperties;\n regularCaption2: CSSProperties;\n mediumHeader1: CSSProperties;\n regularHeader1: CSSProperties;\n boldTitle3: CSSProperties;\n boldHeader1: CSSProperties;\n boldTitle5: CSSProperties;\n boldHeader2: CSSProperties;\n boldTitle2: CSSProperties;\n boldTitle4: CSSProperties;\n }\n\n interface TypographyVariantsOptions {\n boldTitle1?: CSSProperties;\n regularHeader2?: CSSProperties;\n mediumCaption1?: CSSProperties;\n mediumBody2?: CSSProperties;\n regularCaption3?: CSSProperties;\n mediumCaption2?: CSSProperties;\n mediumMicro1?: CSSProperties;\n boldCaption1?: CSSProperties;\n regularCaption1?: CSSProperties;\n boldBody2?: CSSProperties;\n regularBody2?: CSSProperties;\n boldBody1?: CSSProperties;\n mediumCaption3?: CSSProperties;\n mediumBody1?: CSSProperties;\n boldCaption2?: CSSProperties;\n mediumHeader2?: CSSProperties;\n regularCaption2?: CSSProperties;\n mediumHeader1?: CSSProperties;\n regularHeader1?: CSSProperties;\n boldTitle3?: CSSProperties;\n boldHeader1?: CSSProperties;\n boldTitle5?: CSSProperties;\n boldHeader2?: CSSProperties;\n boldTitle2?: CSSProperties;\n boldTitle4?: CSSProperties;\n }\n}\n\ndeclare module '@mui/material/Typography' {\n interface TypographyPropsVariantOverrides {\n boldTitle1: true;\n regularHeader2: true;\n mediumCaption1: true;\n mediumBody2: true;\n regularCaption3: true;\n mediumCaption2: true;\n mediumMicro1: true;\n boldCaption1: true;\n regularCaption1: true;\n boldBody2: true;\n regularBody2: true;\n boldBody1: true;\n mediumCaption3: true;\n mediumBody1: true;\n boldCaption2: true;\n mediumHeader2: true;\n regularCaption2: true;\n mediumHeader1: true;\n regularHeader1: true;\n boldTitle3: true;\n boldHeader1: true;\n boldTitle5: true;\n boldHeader2: true;\n boldTitle2: true;\n boldTitle4: true;\n body2: false;\n body1: false;\n caption: false;\n button: false;\n h1: false;\n h2: false;\n h3: false;\n h4: false;\n h5: false;\n h6: false;\n subtitle1: false;\n subtitle2: false;\n overline: false;\n inherit: false;\n }\n}\n\nexport const typographyOptions: ThemeOptions = {\n typography: {\n boldTitle1: {\n fontSize: '48px',\n fontWeight: 700,\n lineHeight: '64px',\n letterSpacing: '0.48px',\n },\n regularHeader2: {\n fontSize: '20px',\n fontWeight: 400,\n lineHeight: '32px',\n letterSpacing: '0.2px',\n },\n mediumCaption1: {\n fontSize: '14px',\n fontWeight: 500,\n lineHeight: '20px',\n letterSpacing: '0.14px',\n },\n mediumBody2: {\n fontSize: '16px',\n fontWeight: 500,\n lineHeight: '24px',\n letterSpacing: '0.16px',\n },\n regularCaption3: {\n fontSize: '12px',\n fontWeight: 400,\n lineHeight: '16px',\n letterSpacing: '0.12px',\n },\n mediumCaption2: {\n fontSize: '12px',\n fontWeight: 500,\n lineHeight: '18px',\n letterSpacing: '0.12px',\n },\n mediumMicro1: {\n fontSize: '10px',\n fontWeight: 500,\n lineHeight: '14px',\n letterSpacing: '0.1px',\n },\n boldCaption1: {\n fontSize: '14px',\n fontWeight: 700,\n lineHeight: '20px',\n letterSpacing: '0.14px',\n },\n regularCaption1: {\n fontSize: '14px',\n fontWeight: 400,\n lineHeight: '20px',\n letterSpacing: '0.14px',\n },\n boldBody2: {\n fontSize: '16px',\n fontWeight: 700,\n lineHeight: '24px',\n letterSpacing: '0.16px',\n },\n regularBody2: {\n fontSize: '16px',\n fontWeight: 400,\n lineHeight: '24px',\n letterSpacing: '0.16px',\n },\n boldBody1: {\n fontSize: '18px',\n fontWeight: 700,\n lineHeight: '24px',\n letterSpacing: '0.18px',\n },\n mediumCaption3: {\n fontSize: '12px',\n fontWeight: 500,\n lineHeight: '16px',\n letterSpacing: '0.12px',\n },\n mediumBody1: {\n fontSize: '18px',\n fontWeight: 500,\n lineHeight: '24px',\n letterSpacing: '0.18px',\n },\n boldCaption2: {\n fontSize: '12px',\n fontWeight: 700,\n lineHeight: '18px',\n letterSpacing: '0.12px',\n },\n mediumHeader2: {\n fontSize: '20px',\n fontWeight: 500,\n lineHeight: '32px',\n letterSpacing: '0.2px',\n },\n regularCaption2: {\n fontSize: '12px',\n fontWeight: 400,\n lineHeight: '18px',\n letterSpacing: '0.12px',\n },\n mediumHeader1: {\n fontSize: '24px',\n fontWeight: 500,\n lineHeight: '36px',\n letterSpacing: '0.24px',\n },\n regularHeader1: {\n fontSize: '24px',\n fontWeight: 400,\n lineHeight: '36px',\n letterSpacing: '0.24px',\n },\n boldTitle3: {\n fontSize: '36px',\n fontWeight: 700,\n lineHeight: '48px',\n letterSpacing: '0.36px',\n },\n boldHeader1: {\n fontSize: '24px',\n fontWeight: 700,\n lineHeight: '36px',\n letterSpacing: '0.24px',\n },\n boldTitle5: {\n fontSize: '28px',\n fontWeight: 700,\n lineHeight: '40px',\n letterSpacing: '0.28px',\n },\n boldHeader2: {\n fontSize: '20px',\n fontWeight: 700,\n lineHeight: '32px',\n letterSpacing: '0.2px',\n },\n boldTitle2: {\n fontSize: '40px',\n fontWeight: 700,\n lineHeight: '56px',\n letterSpacing: '0.4px',\n },\n boldTitle4: {\n fontSize: '32px',\n fontWeight: 700,\n lineHeight: '44px',\n letterSpacing: '0.32px',\n },\n },\n};\n","export default __webpack_public_path__ + \"static/media/hinted-subset-Roboto-Light.8fc5f5f2.woff\";","export default __webpack_public_path__ + \"static/media/hinted-subset-Roboto-Light.680fc6de.woff2\";","export default __webpack_public_path__ + \"static/media/hinted-subset-Roboto-Regular.376ea5d9.woff\";","export default __webpack_public_path__ + \"static/media/hinted-subset-Roboto-Regular.42278116.woff2\";","export default __webpack_public_path__ + \"static/media/hinted-subset-Roboto-Medium.52cb737b.woff\";","export default __webpack_public_path__ + \"static/media/hinted-subset-Roboto-Medium.ef8bb094.woff2\";","export default __webpack_public_path__ + \"static/media/hinted-subset-Roboto-Bold.ef6d1d09.woff\";","export default __webpack_public_path__ + \"static/media/hinted-subset-Roboto-Bold.6a1f56a6.woff2\";","export default __webpack_public_path__ + \"static/media/hinted-subset-UbuntuMono-Regular.5d9e1cdc.woff\";","import { ThemeOptions } from '@mui/material';\n\nimport robotoLightWoff from '../fonts/hinted-subset-Roboto-Light.woff';\nimport robotoLightWoff2 from '../fonts/hinted-subset-Roboto-Light.woff2';\nimport robotoRegularWoff from '../fonts/hinted-subset-Roboto-Regular.woff';\nimport robotoRegularWoff2 from '../fonts/hinted-subset-Roboto-Regular.woff2';\nimport robotoMediumWoff from '../fonts/hinted-subset-Roboto-Medium.woff';\nimport robotoMediumWoff2 from '../fonts/hinted-subset-Roboto-Medium.woff2';\nimport robotoBoldWoff from '../fonts/hinted-subset-Roboto-Bold.woff';\nimport robotoBoldWoff2 from '../fonts/hinted-subset-Roboto-Bold.woff2';\nimport ubuntuMono from '../fonts/hinted-subset-UbuntuMono-Regular.woff';\n\n\nexport const fontsOptions: ThemeOptions = {\n typography: {\n fontFamily: 'Roboto',\n },\n components: {\n MuiCssBaseline: {\n styleOverrides: `\n @font-face {\n font-weight: 300;\n font-family: 'Roboto';\n font-style: normal;\n font-display: swap;\n src: local(''),\n url(${robotoLightWoff2}) format('woff2'),\n url(${robotoLightWoff}) format('woff');\n }\n\n @font-face {\n font-weight: normal;\n font-family: 'Roboto';\n font-style: normal;\n font-display: swap;\n src: local(''),\n url(${robotoRegularWoff2}) format('woff2'),\n url(${robotoRegularWoff}) format('woff');\n }\n\n @font-face {\n font-weight: 500;\n font-family: 'Roboto';\n font-style: normal;\n font-display: swap;\n src: local(''),\n url(${robotoMediumWoff2}) format('woff2'),\n url(${robotoMediumWoff}) format('woff');\n }\n\n @font-face {\n font-weight: bold;\n font-family: 'Roboto';\n font-style: normal;\n font-display: swap;\n src: local(''),\n url(${robotoBoldWoff2}) format('woff2'),\n url(${robotoBoldWoff}) format('woff');\n }\n\n @font-face {\n font-weight: normal;\n font-family: 'Ubuntu Mono';\n font-style: normal;\n font-display: swap;\n src: url(${ubuntuMono}) format('woff');\n }\n `,\n },\n },\n};\n","import { Palette, ThemeOptions } from '@mui/material/styles';\nimport type { } from '@mui/lab/themeAugmentation';\n\nimport { Paths } from './utils';\n\n\ntype GeneralColors =\n | 'primary10'\n | 'primary20'\n | 'primary30'\n | 'primary50'\n | 'primary60'\n | 'primary80'\n | 'secondary10'\n | 'secondary20'\n | 'secondary30'\n | 'secondary50'\n | 'secondary60'\n | 'secondary80'\n\ntype GrayscaleColors =\n | 'bWtoDark'\n | 'bw10'\n | 'bw60'\n | 'bw80'\n | 'bw95'\n | 'shade0'\n | 'shade10'\n | 'shade100'\n | 'shade20'\n | 'shade40'\n | 'shade5'\n | 'shade60'\n | 'shade80'\n | 'shade85'\n | 'shade90'\n | 'shade95'\n | 'shade98'\n\ntype InfoColors =\n | 'green10'\n | 'green20'\n | 'green30'\n | 'green50'\n | 'green60'\n | 'green80'\n | 'orange10'\n | 'orange20'\n | 'orange30'\n | 'orange50'\n | 'orange60'\n | 'orange80'\n | 'red10'\n | 'red20'\n | 'red30'\n | 'red50'\n | 'red60'\n | 'red80'\n | 'yellow10'\n | 'yellow20'\n | 'yellow30'\n | 'yellow50'\n | 'yellow60'\n\ndeclare module '@mui/material/styles' {\n interface Palette {\n general?: Record;\n grayscale?: Record;\n infoCustom?: Record;\n }\n interface PaletteOptions {\n general?: Record;\n grayscale?: Record;\n infoCustom?: Record;\n }\n}\n\nexport type PaletteColor = Paths>;\n\nexport const paletteOptions: ThemeOptions = {\n palette: {\n general: {\n primary10: '#ffede9',\n primary20: '#ffded6',\n primary30: '#ffcabd',\n primary50: '#ff3200',\n primary60: '#df2c00',\n primary80: '#c12600',\n secondary10: '#f3ebfc',\n secondary20: '#e7daf8',\n secondary30: '#dfccf6',\n secondary50: '#6c19d4',\n secondary60: '#5716aa',\n secondary80: '#400b83',\n },\n grayscale: {\n bWtoDark: '#fffffd',\n bw10: '#f4f5f7',\n bw60: '#a5acbd',\n bw80: '#797e8b',\n bw95: '#101828',\n shade0: '#ffffff',\n shade10: '#f4f5f7',\n shade100: '#000000',\n shade20: '#e9ebef',\n shade40: '#dcdee7',\n shade5: '#fafafb',\n shade60: '#cdd1da',\n shade80: '#aaaeba',\n shade85: '#8d919a',\n shade90: '#676b74',\n shade95: '#1e2127',\n shade98: '#141414',\n },\n infoCustom: {\n green10: '#ebf9f0',\n green20: '#d2f1dd',\n green30: '#beebcd',\n green50: '#04b240',\n green60: '#049e39',\n green80: '#047c5d',\n orange10: '#fff3eb',\n orange20: '#fee7d6',\n orange30: '#fed8bd',\n orange50: '#fb6a01',\n orange60: '#e56101',\n orange80: '#d15801',\n red10: '#fdebeb',\n red20: '#ffd1d1',\n red30: '#ffbdbd',\n red50: '#ff0000',\n red60: '#e40000',\n red80: '#d00000',\n yellow10: '#fef8e5',\n yellow20: '#fdf3d0',\n yellow30: '#fcecb7',\n yellow50: '#f5c62a',\n yellow60: '#ffb608',\n },\n },\n};\n","import fp from 'lodash/fp';\nimport { createTheme, ThemeOptions } from '@mui/material/styles';\nimport type { } from '@mui/lab/themeAugmentation';\nimport { formHelperTextClasses, formLabelClasses } from '@mui/material';\n\nimport { typographyOptions } from './typography';\nimport { fontsOptions } from './fonts';\nimport { paletteOptions } from './palette';\n\n\ndeclare module '@mui/material/styles' {\n interface BreakpointOverrides {\n xs: false;\n sm: false;\n md: false;\n lg: false;\n xl: false;\n mobile: true;\n tablet: true;\n desktop: true;\n }\n}\n\ndeclare module '@mui/material' {\n interface ChipPropsVariantOverrides {\n orange: true;\n }\n}\n\ndeclare module '@mui/material/Button' {\n interface ButtonPropsVariantOverrides {\n primary: true;\n secondary: true;\n accent: true;\n stroke: true;\n }\n}\n\nexport const theme = createTheme(\n [\n typographyOptions,\n fontsOptions,\n paletteOptions,\n {\n breakpoints: {\n values: {\n mobile: 0,\n tablet: 480,\n desktop: 1280,\n },\n },\n spacing: 4,\n typography: {\n button: {\n textTransform: 'none',\n },\n },\n components: {\n MuiLoadingButton: {\n styleOverrides: {\n root: ({ ownerState, theme: { spacing } }) => ({\n borderRadius: spacing(2.5),\n fontWeight: 500,\n ...ownerState.size === 'large' && {\n minWidth: spacing(14),\n height: spacing(14),\n py: spacing(4),\n px: ownerState.children ? spacing(7) : spacing(4),\n fontSize: spacing(4.5),\n },\n ...ownerState.size === 'medium' && {\n minWidth: spacing(12),\n height: spacing(12),\n py: ownerState.children ? spacing(3) : spacing(4),\n px: ownerState.children ? spacing(5) : spacing(4),\n fontSize: spacing(4),\n },\n ...ownerState.size === 'small' && {\n minWidth: spacing(8),\n height: spacing(8),\n py: ownerState.children ? spacing(1) : spacing(2),\n px: ownerState.children ? spacing(4) : spacing(2),\n fontSize: spacing(4),\n },\n ...ownerState.variant === 'primary' && {\n color: paletteOptions.palette.grayscale.shade0,\n backgroundColor: paletteOptions.palette.grayscale.shade95,\n '& svg, & path': {\n fill: paletteOptions.palette.grayscale.shade0,\n },\n '&:hover': {\n backgroundColor: paletteOptions.palette.general.primary60,\n },\n '&:active': {\n backgroundColor: paletteOptions.palette.general.primary80,\n },\n ...ownerState.loading && {\n backgroundColor: paletteOptions.palette.general.primary80,\n },\n },\n ...ownerState.variant === 'accent' && {\n color: paletteOptions.palette.grayscale.shade0,\n backgroundColor: paletteOptions.palette.general.primary50,\n '& svg, & path': {\n fill: paletteOptions.palette.grayscale.shade0,\n },\n '&:hover': {\n backgroundColor: paletteOptions.palette.general.primary60,\n },\n '&:active': {\n backgroundColor: paletteOptions.palette.general.primary80,\n },\n ...ownerState.loading && {\n backgroundColor: paletteOptions.palette.general.primary80,\n },\n },\n ...ownerState.variant === 'secondary' && {\n color: paletteOptions.palette.general.primary60,\n backgroundColor: paletteOptions.palette.general.primary10,\n '& svg, & path': {\n fill: paletteOptions.palette.general.primary60,\n },\n '&:hover': {\n backgroundColor: paletteOptions.palette.general.primary20,\n },\n '&:active': {\n backgroundColor: paletteOptions.palette.general.primary30,\n },\n ...ownerState.loading && {\n backgroundColor: paletteOptions.palette.general.primary30,\n },\n },\n ...ownerState.variant === 'stroke' && {\n color: paletteOptions.palette.grayscale.shade95,\n backgroundColor: paletteOptions.palette.grayscale.shade0,\n border: `1px solid ${paletteOptions.palette.grayscale.shade80}`,\n '& svg, & path': {\n fill: paletteOptions.palette.grayscale.shade95,\n },\n '&:hover': {\n backgroundColor: paletteOptions.palette.grayscale.shade10,\n },\n '&:active': {\n backgroundColor: paletteOptions.palette.grayscale.shade20,\n },\n ...ownerState.loading && {\n backgroundColor: paletteOptions.palette.grayscale.shade20,\n },\n },\n ...ownerState.variant === 'text' && {\n color: paletteOptions.palette.grayscale.shade95,\n padding: 0,\n '&:hover': {\n backgroundColor: 'transparent',\n },\n '&:active': {\n backgroundColor: 'transparent',\n },\n },\n ...ownerState.disabled && {\n color: paletteOptions.palette.grayscale.shade85,\n backgroundColor: paletteOptions.palette.grayscale.shade40,\n border: 'none',\n },\n }),\n loadingIndicator: ({ ownerState }) => ({\n ...(ownerState.variant === 'primary' ||\n ownerState.variant === 'accent') && {\n color: paletteOptions.palette.grayscale.shade0,\n },\n ...ownerState.variant === 'secondary' && {\n color: paletteOptions.palette.general.primary60,\n },\n ...ownerState.variant === 'stroke' && {\n color: paletteOptions.palette.grayscale.shade95,\n },\n }),\n },\n },\n MuiChip: {\n styleOverrides: {\n root: {\n height: '32px',\n borderRadius: '48px',\n padding: '8px 16px',\n fontSize: '14px',\n lineHeight: '16px',\n fontWeight: '500',\n },\n label: {\n padding: 0,\n },\n },\n variants: [\n {\n props: { variant: 'orange' },\n style: {\n color: paletteOptions.palette.infoCustom.orange50,\n backgroundColor: paletteOptions.palette.grayscale.shade0,\n },\n },\n {\n props: { color: 'success' },\n style: {\n color: paletteOptions.palette.infoCustom.green50,\n },\n },\n {\n props: { variant: 'filled', color: 'success' },\n style: {\n backgroundColor: paletteOptions.palette.infoCustom.green10,\n },\n },\n {\n props: { variant: 'outlined' },\n style: {\n color: paletteOptions.palette.grayscale.shade100,\n borderColor: paletteOptions.palette.grayscale.shade40,\n },\n },\n ],\n },\n MuiLinearProgress: {\n styleOverrides: {\n root: {\n backgroundColor: paletteOptions.palette.grayscale.shade20,\n borderRadius: '12px',\n },\n bar: {\n backgroundColor: paletteOptions.palette.general.primary50,\n },\n },\n },\n MuiTextField: {\n styleOverrides: {\n root: {\n '& label.Mui-focused': {\n color: paletteOptions.palette.grayscale.shade90,\n },\n '& div.Mui-focused': {\n backgroundColor: paletteOptions.palette.grayscale.shade10,\n border: `1px solid ${paletteOptions.palette.grayscale.shade60}`,\n },\n },\n },\n },\n MuiFormHelperText: {\n styleOverrides: {\n root: {\n fontSize: '12px',\n lineHeight: '16px',\n marginTop: 0,\n marginLeft: 0,\n marginRight: 0,\n [`&.${formHelperTextClasses.error}`]: {\n color: paletteOptions.palette.infoCustom.red50,\n },\n },\n },\n },\n MuiFilledInput: {\n defaultProps: {\n disableUnderline: true,\n },\n styleOverrides: {\n root: {\n height: '56px',\n color: paletteOptions.palette.grayscale.shade100,\n backgroundColor: paletteOptions.palette.grayscale.shade10,\n borderRadius: '12px',\n fontSize: '16px',\n lineHeight: '24px',\n '&:hover ': {\n backgroundColor: paletteOptions.palette.grayscale.shade20,\n },\n },\n },\n },\n MuiInputLabel: {\n styleOverrides: {\n root: {\n fontSize: '16px',\n lineHeight: '16px',\n color: paletteOptions.palette.grayscale.shade90,\n top: '4px',\n paddingLeft: '4px',\n },\n },\n },\n MuiInputBase: {\n styleOverrides: {\n root: {\n [`& + .${formHelperTextClasses.root}`]: {\n marginTop: '6px',\n marginLeft: '16px',\n },\n input: {\n paddingTop: '24px',\n paddingRight: '16px',\n paddingLeft: '16px',\n },\n },\n },\n },\n MuiFormLabel: {\n styleOverrides: {\n root: {\n [`&.${formLabelClasses.error}`]: {\n color: paletteOptions.palette.infoCustom.red50,\n },\n [`& .${formLabelClasses.asterisk}`]: {\n position: 'relative',\n left: '-0.2em',\n },\n },\n },\n },\n },\n } as ThemeOptions,\n ].reduce((r, c) => fp.merge(r, c)),\n);\n","import { createActionNamespace } from 'Modules/core/redux';\n\nimport {\n DownloadAction,\n ProgressAction, FinishAction,\n} from './types';\n\n\nconst downloadsAction = createActionNamespace('downloads');\n\nexport const downloadsActions = {\n initialize: downloadsAction('INITIALIZE'),\n download: downloadsAction.withPath('DOWNLOAD'),\n progress: downloadsAction.withPath('PROGRESS'),\n finish: downloadsAction.withPath('FINISHED'),\n};\n","import fp from 'lodash/fp';\nimport { API } from '@factorin/container.macro';\n\nimport { lookupTableReducer, reducePath } from 'Modules/core/redux';\n\nimport { downloadsActions } from './actions';\n\n\nconst actionLookup = {\n [`${downloadsActions.initialize}`]: () => fp.mapValues(fp.stubObject, API.domain),\n\n [`${downloadsActions.progress}`]: reducePath((state, { id, ...progress }) => ({\n ...state,\n [id]: progress,\n })),\n [`${downloadsActions.finish}`]: reducePath(({ ...state }, id) => {\n delete state[id];\n return state;\n }),\n};\n\nexport const reducer = lookupTableReducer({}, actionLookup);\n","import { call, put, take, takeEvery } from 'redux-saga/effects';\nimport { API } from '@factorin/container.macro';\n\nimport { createDownloadChannel, augmentSaga } from 'Modules/core/redux';\nimport { withErrorHandler } from 'Modules/core/messaging';\nimport { callApi } from 'Modules/core/api';\n\nimport { downloadsActions } from './actions';\n\n\nfunction* downloadDocumentWithProgress(path, { method = 'download', id, ...request }) {\n const progressChannel = yield call(\n createDownloadChannel,\n args => callApi(API.domain[path][method], args), {\n id,\n ...request,\n saveAs: `${path}_id${id}`,\n },\n );\n while (true) {\n const { error, done, ...progress } = yield take(progressChannel);\n if (error) {\n yield put(downloadsActions.finish(path, id));\n throw error;\n }\n\n if (done)\n break;\n\n yield put(downloadsActions.progress(path, { id, ...progress }));\n }\n\n yield put(downloadsActions.finish(path, id));\n}\n\nfunction* download({ path, $payload }) {\n yield API.wrap(downloadDocumentWithProgress, path, $payload);\n}\n\nexport function* initializeState() {\n yield put(downloadsActions.initialize());\n}\n\nexport const sagas = [\n takeEvery(`${downloadsActions.download}`, augmentSaga(\n download,\n withErrorHandler('downloads.error'),\n )),\n];\n","import { useSelector } from 'Modules/core/redux';\n\nimport { Download } from './types';\n\n\nconst DOWNLOADS_KEY = 'downloads';\n\nexport const useDownloads = (path: any): Download => {\n const result = useSelector(`${DOWNLOADS_KEY}.${path}`, [path]);\n return result;\n};\n","import { state, initializeState } from './state';\n// @ts-ignore\nimport translations from './translations.json';\n\n\nexport { downloadsActions, useDownloads, DownloadsTypes } from './state';\n\nexport const downloads = {\n API: {\n domain: {},\n },\n\n state,\n\n environment: {\n initializationSagas: [\n initializeState,\n ],\n },\n\n translations,\n};\n","import { reducer } from './reducer';\nimport { sagas } from './sagas';\n\n\nexport * from './actions';\nexport * from './hooks';\nexport * from './sagas';\nexport * as DownloadsTypes from './types';\n\nexport const state = {\n reducer: {\n downloads: reducer,\n },\n sagas,\n};\n","// extracted by mini-css-extract-plugin\nmodule.exports = {\"formField\":\"FormField_formField__21PHf\",\"input\":\"FormField_input__3p92a\",\"textarea\":\"FormField_textarea__3t9gi\",\"label\":\"FormField_label__2F2M7\",\"helper\":\"FormField_helper__3fs4j\",\"error\":\"FormField_error__pQ0i0\",\"wrapper\":\"FormField_wrapper__1Bup6\",\"withIcon\":\"FormField_withIcon__wFfw1\",\"icon\":\"FormField_icon__g5a4i\",\"password\":\"FormField_password__1Dx8r\"};","import fp from 'lodash/fp';\nimport React, { useState, useMemo, useContext } from 'react';\nimport { Common } from '@factorin/domain';\n\n\ntype TransferLayoutContextType = {\n currentTab?: string;\n changeTab?: (tab: string) => void;\n}\n\nconst TransferLayoutContext = React.createContext({});\n\nexport const useTransferLayoutContext = () => useContext(TransferLayoutContext);\n\n\ntype TransferLayoutType = {\n components: Common.Catalog;\n}\n\nexport const TransferLayout: React.ComponentType = React.memo(({\n components,\n}) => {\n const keys = fp.keys(components);\n const [tab, changeTab] = useState(keys[0]);\n\n const value = useMemo(\n () => ({ currentTab: tab, changeTab }),\n [tab],\n );\n\n const Component = components[tab];\n\n return (\n \n \n \n );\n});\n\nexport enum RegistersLayoutKeys {\n RegistersList = 'RegistersList',\n RegistersView = 'RegistersView',\n}\n","import fp from 'lodash/fp';\nimport React from 'react';\n\nimport { connect } from 'Modules/core/redux';\nimport { Text, Button, cn } from 'Modules/ui';\nimport { withModalContext, modalClassNames } from 'Modules/core/messaging';\nimport { translate } from 'Modules/core/i18n';\n\nimport styles from './index.module.scss';\n\n\nconst PromptModalComponent = ({ t, dispatch, buttons = [], prompt, modal: { hide } }) => (\n <>\n
    \n \n {t(prompt)}\n \n
    \n {buttons.map(({ title, action, hideModal = true }, idx) => (\n {\n if (action)\n dispatch(action);\n if (hideModal)\n hide();\n }}\n >\n {t(title)}\n \n ))}\n
    \n
    \n \n);\n\nexport const PromptModal = {\n component: fp.pipe(\n withModalContext,\n translate(),\n connect(),\n )(PromptModalComponent),\n};\n","export const fappSubscriptions = [\n ...process.env.NODE_ENV === 'development' ? [console.log] : [],\n];\n","import React, { useState, useCallback } from 'react';\nimport { theme } from '@factorin/container.macro';\n\nimport { translate, LanguageSelector } from 'Modules/core/i18n';\nimport { Text, Button } from 'Modules/ui';\n\nimport styles from './index.module.scss';\n\n\nconst ErrorStack = ({ t, stack }) => {\n const [expanded, setExpanded] = useState(false);\n const toggleExpanded = useCallback(() => setExpanded(e => !e), []);\n return (\n <>\n \n {expanded && (\n \n {stack}\n \n )}\n \n );\n};\n\nconst ErrorRenderer = translate('errorBoundary')(({ t, error }) => (\n \n \n
    \n \n
    \n {t('title')}\n
    \n {t('details')}:\n \n {`${error}`}\n \n {error.stack && }\n
    \n
    \n));\n\nexport class ErrorBoundaryMiddleware extends React.PureComponent {\n state = {\n error: null,\n };\n\n componentDidCatch(error) {\n this.setState({ error });\n }\n\n render() {\n const { error } = this.state;\n if (error)\n return ;\n\n const Component = this.props.Next;\n return ;\n }\n}\n","import fp from 'lodash/fp';\nimport React from 'react';\n\nimport { Text, DraggablePopup } from 'Modules/ui';\nimport { useTranslation } from 'Modules/core/i18n';\n\nimport styles from './index.module.scss';\n\n\nconst RenderAmount = ({ data, title }) => data && data !== 0 ? (\n <>\n \n {title}:\n \n  {data} ₽\n
    \n \n) : null;\n\nexport const AmountsDraggablePopup = ({ count, amounts, buttons }) => {\n const { t } = useTranslation('amountSuppliesPopup');\n return (\n \n \n {t('count', { count })}\n \n \n {fp.pipe(\n fp.toPairs,\n fp.map(([key, value]) => (\n \n )),\n )(amounts)}\n \n \n );\n};\n","import fp from 'lodash/fp';\nimport React from 'react';\nimport { formatCurrency } from '@factorin/util';\n\nimport { Portal, TransitionComponent, animation, useMemoDeps } from 'Modules/ui';\nimport { useStorageItem } from 'Modules/business/data';\n\nimport { AmountsDraggablePopup } from './DraggablePopup';\n\n\nconst getCheckedCount = ({ all, include, exclude }, total) =>\n all ? total - exclude.length : include.length;\n\nconst getAmounts = (fields, register, supplies, subtract, ids) => fp.pipe(\n fp.toPairs,\n // eslint-disable-next-line\n fp.filter(([_, { registerField }]) => register[registerField]),\n fp.map(([key, { registerField, supplyField = registerField }]) => [\n key,\n formatCurrency(subtract\n ? register[registerField] - fp.sumBy(id => supplies[id][supplyField], ids)\n : fp.sumBy(id => supplies[id][supplyField], ids)),\n ]),\n fp.fromPairs,\n)(fields);\n\nconst defaultAmountFields = {\n amountWithoutVat: {\n registerField: 'Amount',\n },\n vat: {\n registerField: 'Vat',\n },\n amountWithVat: {\n registerField: 'AmountWithVat',\n },\n};\n\nexport const AmountSuppliesPopup = ({\n registerId,\n total,\n checkedIds,\n elements,\n buttons,\n amountFields = defaultAmountFields,\n}) => {\n const register = useStorageItem('registers', registerId);\n\n const count = useMemoDeps(getCheckedCount, [checkedIds, total]);\n const amounts = useMemoDeps(register ? getAmounts : fp.stubObject, [\n amountFields,\n register,\n elements,\n checkedIds.all,\n checkedIds.all\n ? checkedIds.exclude\n : checkedIds.include,\n ]);\n\n return (\n \n 0} timeout={animation * 2}>\n {count > 0 ? (\n \n ) : }\n \n \n );\n};\n","import { FactorinGridColumn } from './common';\n\n\nconst ITERATIONS_CAP = 10;\nconst COLUMN_MIN_WIDTH = 10;\n\nexport const getColumnMinWidth = ({ fixedWidth, minWidth }: FactorinGridColumn, rem: number) =>\n (fixedWidth || minWidth || COLUMN_MIN_WIDTH) * rem;\n\nexport const calculateColumnWidths = (\n containerWidth: number,\n columns: FactorinGridColumn[],\n columnRatios: any,\n rem: number,\n): number[] => {\n const realWidths = new Array(columns.length);\n const surplusWidths = new Array(columns.length);\n let leftToDistribute = 0;\n let ratioTotal = 0;\n for (let i = 0; i < columns.length; i++) {\n const columnRatio = columnRatios[columns[i].field];\n const desiredWidth = (containerWidth - 1) * columnRatio;\n const minWidth = getColumnMinWidth(columns[i], rem);\n const surplus = Math.max(0, minWidth - desiredWidth);\n if (!surplus)\n ratioTotal += columnRatio;\n realWidths[i] = Math.max(minWidth, desiredWidth);\n surplusWidths[i] = surplus;\n leftToDistribute += surplus;\n }\n let canProceed = true;\n let iterations = 0;\n while (leftToDistribute > 1 && canProceed && iterations++ < ITERATIONS_CAP) {\n canProceed = false;\n let distributed = 0;\n for (let i = 0; i < columns.length; i++) {\n const columnRatio = columnRatios[columns[i].field];\n const width = realWidths[i];\n if (surplusWidths[i])\n continue;\n\n const minWidth = getColumnMinWidth(columns[i], rem);\n const desiredWidth = width - leftToDistribute * columnRatio / ratioTotal;\n const surplus = Math.max(0, minWidth - desiredWidth);\n if (surplus)\n ratioTotal -= columnRatio;\n realWidths[i] = Math.max(minWidth, desiredWidth);\n surplusWidths[i] = surplus;\n distributed += width - realWidths[i];\n canProceed = true;\n }\n leftToDistribute -= distributed;\n }\n return realWidths;\n};\n","import React, { useState, useCallback, useRef, useMemo, ComponentType } from 'react';\n\nimport {\n cn,\n Portal, ClosingOverlay,\n useSizeContext,\n TransitionComponent,\n animation,\n} from 'Modules/ui';\n\nimport styles from './index.module.scss';\nimport { PopupWithButtonProps, PopupLocationClassNames, PopupProps } from './types';\n\n\nconst getPopupProps = (\n elem: HTMLDivElement,\n classNames: PopupLocationClassNames = {},\n): PopupProps => {\n if (!elem)\n return {};\n\n const { left, top, right, bottom } = elem.getBoundingClientRect();\n const { clientWidth, clientHeight } = document.documentElement;\n const xProps = left + right > clientWidth\n ? { right: clientWidth - right }\n : { left };\n const yProps = top + bottom > clientHeight\n ? { bottom: clientHeight - bottom }\n : { top };\n return {\n style: { ...xProps, ...yProps },\n className: cn(\n styles.popup,\n top + bottom > clientHeight\n ? cn(styles.bottom, classNames.bottom)\n : cn(styles.top, classNames.top),\n left + right > clientWidth\n ? cn(styles.right, classNames.right)\n : cn(styles.left, classNames.left),\n ),\n };\n};\n\nexport const PopupWithButton: ComponentType = ({\n classNames = {}, button: Button, children,\n suppressPopup, onOpen,\n}) => {\n const [isOpen, setIsOpen] = useState(false);\n\n const popupRef = useRef();\n const { className: popupClassName, ...popupProps } = useMemo(\n () => getPopupProps(popupRef.current, classNames.popupLocation),\n // eslint-disable-next-line react-hooks/exhaustive-deps\n [isOpen, classNames, useSizeContext()],\n );\n\n const showPopup = useCallback(() => {\n if (onOpen)\n onOpen();\n setIsOpen(true);\n }, [onOpen]);\n const hidePopup = useCallback(() => setIsOpen(false), []);\n\n const renderedButton = (\n \n);\n\ntype ColumnSettinsProps = {\n classNames?: {\n container?: string;\n popup?: string;\n content?: string;\n };\n onSortEnd: SortEndHandler;\n columns: SortColumnsProps['columns'];\n onChangeVisible: SortColumnsProps['onChangeVisible'];\n}\n\nexport const ColumnsSettings: FC = React.memo(({\n classNames = {}, columns,\n onSortEnd, onChangeVisible,\n}) => (\n \n
    \n {columns.map((_, idx) => (\n \n {idx + 1}\n \n ))}\n
    \n \n \n));\n\ntype UseSortResult = {\n sortColumns: Column[];\n visibleColumns: FactorinGridColumn[];\n onSortEnd: ColumnSettinsProps['onSortEnd'];\n onChangeVisible: ColumnSettinsProps['onChangeVisible'];\n}\n\nexport const useSort = (columns: FactorinGridColumn[], storageKey: string): UseSortResult => {\n const storage = useMemo(\n () => storageKey ? localStorageAccessorJSON(storageKey) : null,\n [storageKey],\n );\n\n const [sortColumns, changeSort] = useState(() => {\n if (storageKey) {\n const storageColumns = storage.get();\n if (storageColumns && fp.isEqual(\n fp.map(fp.get('field'), columns).sort(),\n fp.map(fp.get('key'), storageColumns).sort(),\n ))\n return storageColumns;\n }\n return columns.map(({ field, domainType, visible = true }) => ({\n key: field,\n domainType,\n visible,\n }));\n });\n\n const { current: memoColumns } = useRef(columns);\n\n const visibleColumns = useMemo(\n () => fp.pipe(\n fp.filter('visible'),\n fp.map(({ key }) => memoColumns.find(column => column.field === key)),\n )(sortColumns),\n [sortColumns, memoColumns],\n );\n\n const onSortEnd = useCallback(\n ({ oldIndex, newIndex }) => changeSort(oldColumns => {\n const newColumns = arrayMove(oldColumns, oldIndex, newIndex);\n\n if (storageKey)\n storage.set(newColumns);\n\n return newColumns;\n }),\n [storageKey, storage],\n );\n const onChangeVisible = useCallback(\n columnIndex => changeSort(oldColumns => {\n const newColumns = oldColumns.map((column, index) => index === columnIndex\n ? {\n ...column,\n visible: !column.visible,\n }\n : column);\n\n if (storageKey)\n storage.set(newColumns);\n\n return newColumns;\n }),\n [storageKey, storage],\n );\n\n return {\n sortColumns,\n visibleColumns,\n onSortEnd,\n onChangeVisible,\n };\n};\n\ntype WithSortColumnsSettings = Pick;\n\ntype WithSettingsComponentProps = PropsWithChildren & {\n component: ComponentType;\n}\n\nconst WithSettingsComponent = (\n props: WithSettingsComponentProps,\n) => {\n const {\n sortColumns, visibleColumns,\n onChangeVisible, onSortEnd,\n } = useSort(props.columns, props.ratioSaveKey);\n return (\n <>\n \n \n \n );\n};\n\nexport const withSortColumnsSettings = \n(Component: ComponentType) => (props: PropsWithChildren) => props.editableColumns ? (\n \n) : (\n \n);\n","import fp from 'lodash/fp';\nimport { useState, useCallback, useMemo } from 'react';\nimport { Common } from '@factorin/domain';\n\nimport { localStorageAccessorJSON, BrowserStorageAccessors, usePrevious, useUpdateOnlyEffect } from 'Modules/ui';\n\nimport { FactorinGridColumn } from '../common';\n\n\ntype Ratio = number;\n\ntype Ratios = Common.Catalog;\n\nconst mapRatios = fp.map(({ ratio, fixedWidth }) =>\n fixedWidth ? 0 : fp.defaultTo(1, ratio));\n\nconst normalizeColumnRatios = (columns: FactorinGridColumn[]): Ratios => {\n const widths = mapRatios(columns);\n const multiplier = 1 / fp.sum(widths);\n return columns.reduce((result, { field }, index) => {\n result[field] = fp.multiply(multiplier, widths[index]);\n return result;\n }, {});\n};\n\nconst getInitialRatios = (\n columns: FactorinGridColumn[],\n storage: BrowserStorageAccessors,\n): Ratios => {\n if (storage) {\n const ratios = storage.get();\n if (ratios && fp.all(({ field }) => !!ratios[field], columns))\n return ratios;\n }\n return normalizeColumnRatios(columns);\n};\n\nconst calculateRatios = (\n columns: FactorinGridColumn[],\n widths: number[],\n containerWidth: number,\n): Ratios => {\n let sum = 0;\n let fixedSum = 0;\n for (let i = 0; i < columns.length; i++) {\n if (columns[i].fixedWidth)\n fixedSum += widths[i];\n sum += widths[i];\n }\n const totalWidth = Math.min(sum - fixedSum, (containerWidth - 1) * (1 - fixedSum / sum));\n return columns.reduce((ratios, { fixedWidth, field }, index) => {\n ratios[field] = fixedWidth ? 0 : +(widths[index] / totalWidth).toFixed(4);\n return ratios;\n }, {});\n};\n\nconst getSumColumnRatios = fp.pipe(\n mapRatios,\n fp.sum,\n);\n\ntype UpdateRatios = (widths: number[], scrollLeft: number) => void;\n\nexport type UseRatiosResult = {\n ratios: Ratios;\n updateRatios: UpdateRatios;\n resetRatios: () => void;\n}\n\nexport const useRatios = (\n columns: FactorinGridColumn[],\n storageKey: string,\n onResize: (scrollLeft: number) => void,\n containerWidth: number,\n): UseRatiosResult => {\n const storage = useMemo(\n () => storageKey ? localStorageAccessorJSON(storageKey) : null,\n [storageKey],\n );\n\n const [ratios, setRatios] = useState(() => getInitialRatios(columns, storage));\n\n const setRatiosCallback = useCallback(\n (ratios: Ratios, scrollLeft: number) => {\n setRatios(ratios);\n if (storage)\n storage.set(ratios);\n\n onResize(scrollLeft);\n },\n [storage, onResize],\n );\n\n const updateRatios = useCallback(\n (widths, scrollLeft) => {\n const ratios = calculateRatios(columns, widths, containerWidth);\n setRatiosCallback(ratios, scrollLeft);\n },\n [columns, containerWidth, setRatiosCallback],\n );\n\n const resetRatios = useCallback(\n () => setRatiosCallback(normalizeColumnRatios(columns), 0),\n [columns, setRatiosCallback],\n );\n\n const prevColumns = usePrevious(columns);\n useUpdateOnlyEffect(\n () => {\n if (prevColumns.length !== columns.length) {\n const oldRatios = getSumColumnRatios(prevColumns);\n const newRatios = getSumColumnRatios(columns);\n const multiplier = oldRatios / newRatios;\n\n setRatios(ratios => {\n const newRatios = columns.reduce((result, { field }) => {\n result[field] = ratios[field]\n ? ratios[field] * multiplier\n : 1 - multiplier;\n return result;\n }, {});\n\n if (storage)\n storage.set(newRatios);\n\n return newRatios;\n });\n\n onResize(0);\n }\n },\n [columns, prevColumns, storage, onResize],\n );\n\n return {\n ratios,\n updateRatios,\n resetRatios,\n };\n};\n","import fp from 'lodash/fp';\nimport React, { useCallback } from 'react';\nimport { VariableSizeGrid, VariableSizeGridProps, ListOnItemsRenderedProps } from 'react-window';\n\nimport { cn } from 'Modules/ui';\n\nimport styles from './index.module.scss';\n\n\nexport type GridAdapterProps = VariableSizeGridProps & {\n onItemsRendered?: (data: ListOnItemsRenderedProps) => any;\n}\n\nexport const GridAdapter = React.forwardRef(({\n onItemsRendered = fp.noop,\n className,\n ...props\n}, ref) => (\n onItemsRendered({\n visibleStartIndex: visibleRowStartIndex,\n visibleStopIndex: visibleRowStopIndex,\n }),\n [onItemsRendered],\n )}\n className={cn(styles.grid, className)}\n {...props}\n />\n));\n","import styles from './index.module.scss';\n\n\nexport const cellStyles = {\n cell: styles.cell,\n last: styles.last,\n first: styles.first,\n};\n","import fp from 'lodash/fp';\nimport React, { useState, useMemo, useRef, useCallback, useEffect, FC } from 'react';\nimport Draggable, { DraggableEventHandler } from 'react-draggable';\nimport { VariableSizeGrid, GridChildComponentProps, VariableSizeGridProps } from 'react-window';\n\nimport { cn, multipleRef, useSizeContext, Heading } from 'Modules/ui';\n\nimport { getColumnMinWidth } from '../calculations';\nimport { GridAdapter } from '../GridAdapter';\nimport { cellStyles } from '../Cells';\nimport { DragHandleProps, HeaderItemData, HeaderProps } from './types';\nimport styles from './index.module.scss';\n\n\nconst DragHandle: FC = ({\n columnIndex,\n isLast,\n onResize,\n onResizeFinished,\n onResizeReset,\n}) => {\n const onDrag = useCallback(\n (e, { deltaX }) =>\n // eslint-disable-next-line no-extra-parens\n onResize(columnIndex, deltaX, (e as React.MouseEvent).clientX),\n [columnIndex, onResize],\n );\n return (\n \n \n \n );\n};\n\nconst headerRenderer = React.memo>(({\n style,\n columnIndex,\n data: { checkable, columns, onResize, onResizeFinished, onResizeReset, className },\n}) => {\n const { Header, Cell, fixedWidth, ...column } = columns[columnIndex];\n const isLast = columnIndex === columns.length - 1;\n return (\n \n
    \n
    \n
    \n {!fixedWidth && (\n \n )}\n {fixedWidth && (\n \n )}\n \n );\n});\n\nexport const Header = React.forwardRef(({\n width, height, style, classNames = {},\n checkable,\n columns,\n columnWidths,\n onResizeFinished,\n onResizeReset,\n}, ref) => {\n const headerRef = useRef();\n\n useEffect(\n () => {\n headerRef.current.resetAfterIndices({ rowIndex: 0, columnIndex: 0 });\n },\n [columnWidths],\n );\n\n const scrollPosition = useRef(0);\n const updateScrollPosition = useCallback(\n ({ scrollLeft }) => {\n scrollPosition.current = scrollLeft;\n },\n [],\n );\n\n const { rem } = useSizeContext();\n const [draggedColumnWidths, setDraggedColumnWidths] = useState(null);\n\n const columnWidth = useCallback(\n index => Math.max(\n (draggedColumnWidths || columnWidths)[index] || 0,\n getColumnMinWidth(columns[index], rem),\n ),\n [columnWidths, columns, draggedColumnWidths, rem],\n );\n\n const updateColumnSize = useCallback(\n (index, delta, clientX) => {\n setDraggedColumnWidths(widths => {\n const [...newWidths] = widths || columnWidths;\n newWidths[index] += delta;\n return newWidths;\n });\n\n headerRef.current.resetAfterIndices({ rowIndex: 0, columnIndex: index });\n document.body.style.cursor = 'col-resize';\n if (clientX > window.innerWidth - 10)\n headerRef.current.scrollTo({ scrollLeft: scrollPosition.current + delta });\n },\n [columnWidths],\n );\n\n const applyNewColumnSizes = useCallback(\n () => {\n if (!draggedColumnWidths)\n return;\n\n document.body.style.cursor = '';\n onResizeFinished(draggedColumnWidths, scrollPosition.current);\n setDraggedColumnWidths(null);\n headerRef.current.resetAfterIndices({ rowIndex: 0, columnIndex: 0 });\n },\n [draggedColumnWidths, onResizeFinished],\n );\n\n const resetResizes = useCallback(\n () => {\n onResizeReset();\n setDraggedColumnWidths(null);\n headerRef.current.resetAfterIndices({ rowIndex: 0, columnIndex: 0 });\n },\n [onResizeReset],\n );\n\n return (\n (\n () => ({\n checkable,\n columns,\n className: classNames.cell,\n onResize: updateColumnSize,\n onResizeFinished: applyNewColumnSizes,\n onResizeReset: resetResizes,\n }),\n [\n checkable,\n columns,\n classNames.cell,\n updateColumnSize,\n applyNewColumnSizes,\n resetResizes,\n ],\n )}\n >\n {headerRenderer}\n \n );\n});\n","import fp from 'lodash/fp';\nimport React from 'react';\nimport { VariableSizeGrid, GridChildComponentProps } from 'react-window';\n\nimport { cn, Text } from 'Modules/ui';\n\nimport { GridAdapter } from '../GridAdapter';\nimport { cellStyles } from '../Cells';\nimport { FilterItemProps, FiltersProps } from './types';\nimport styles from './index.module.scss';\n\n\nconst filtersRenderer = React.memo>(({\n style,\n columnIndex,\n data: { columns, className },\n}) => {\n const { Header, Cell, filterField = {}, fixedWidth, ...column } = columns[columnIndex];\n const Filter = filterField.Component;\n return (\n \n {Filter ? : null}\n \n );\n});\n\nexport const Filters = React.forwardRef(({\n height,\n columns,\n classNames,\n ...props\n}, ref) => (\n \n {filtersRenderer}\n \n));\n","import styles from './index.module.scss';\n\n\nexport const ROW_HEIGHT_REM = parseFloat(styles.rowHeight);\nexport const CHECKBOX_COLUMN_WIDTH = parseFloat(styles.checkBoxColumnWidth);\nexport const BODY_CELL_CLASSNAME = 'bodyCell';\n","import fp from 'lodash/fp';\nimport React, { useRef, useMemo, useCallback, MouseEventHandler } from 'react';\nimport { VariableSizeGrid, GridChildComponentProps } from 'react-window';\n\nimport { Checkbox, multipleRef, cn, useRemUpdatedCallback, FactorinCheckClass, useMemoDeps } from 'Modules/ui';\n\n\nimport { GridAdapter } from '../GridAdapter';\nimport { cellStyles } from '../Cells';\nimport { BODY_CELL_CLASSNAME } from '../constants';\nimport {\n CheckboxItemProps,\n CheckableColumnComponentProps,\n CheckboxComponentProps,\n CheckboxProps,\n} from './types';\nimport styles from './index.module.scss';\n\n\nconst checkModel = new FactorinCheckClass();\n\nconst CheckboxComponent = React.memo(({\n component: Component = Checkbox,\n disabled,\n rowIndex,\n data,\n checkedKeySelector,\n checkedRows,\n onCheckedChanged,\n}) => {\n const checkedKey = useMemoDeps(checkedKeySelector, [data, rowIndex]);\n const checked = useMemoDeps(checkModel.getSingle, [checkedKey, checkedRows]);\n const onChange = useCallback(\n ({ target }) => onCheckedChanged(checkModel.updateSingle(\n checkedKey,\n checkedRows,\n target.checked,\n )),\n [checkedKey, checkedRows, onCheckedChanged],\n );\n\n return (\n \n );\n});\n\nconst checkBoxColumnRenderer = React.memo>(({\n rowIndex,\n style,\n data: {\n checkable,\n disabled,\n selectedRow,\n className,\n setHoveredRowIndex,\n checkedRows,\n onCheckedChanged,\n checkedKeySelector,\n container,\n checkbox,\n getData,\n },\n}) => {\n const data = useMemo(\n () => getData(rowIndex),\n [getData, rowIndex],\n );\n\n const Container = container || 'div';\n\n return (\n setHoveredRowIndex(rowIndex),\n [rowIndex, setHoveredRowIndex],\n )}\n onMouseLeave={useCallback(\n ({ relatedTarget }) => {\n const element = relatedTarget as Element;\n return !element.classList || element.classList.contains(BODY_CELL_CLASSNAME)\n ? null\n : setHoveredRowIndex(null);\n },\n [setHoveredRowIndex],\n )}\n >\n {(!fp.isFunction(checkable) || checkable(data, rowIndex)) && (\n \n )}\n \n );\n});\n\nconst CheckableColumnComponent = React.memo(({\n width,\n checkable,\n disabled,\n selectedRow,\n className,\n checkedRows,\n checkedKeySelector = (_, index) => index,\n onCheckedChanged,\n setHoveredRowIndex,\n getData,\n checkbox,\n checkboxContainer,\n coreRef,\n ...props\n}) => {\n const checkboxColumnRef = useRef();\n useRemUpdatedCallback(() => {\n if (checkboxColumnRef.current)\n checkboxColumnRef.current.resetAfterIndices({ rowIndex: 0, columnIndex: 0 });\n });\n\n return (\n (\n () => ({\n checkable,\n disabled,\n selectedRow,\n className,\n setHoveredRowIndex,\n checkedRows,\n checkedKeySelector,\n onCheckedChanged,\n getData,\n container: checkboxContainer,\n checkbox,\n }),\n [\n checkable,\n disabled,\n selectedRow,\n className,\n checkedRows,\n setHoveredRowIndex,\n onCheckedChanged,\n checkedKeySelector,\n getData,\n checkbox,\n checkboxContainer,\n ],\n )}\n >\n {checkBoxColumnRenderer}\n \n );\n});\n\nexport type CheckableColumnProps = Omit;\n\nexport const CheckableColumn = React.forwardRef(\n (props, ref) => ,\n);\n","import fp from 'lodash/fp';\nimport React, { useRef, useMemo, useCallback, useState, MouseEventHandler, ComponentProps } from 'react';\nimport { VariableSizeGrid, GridChildComponentProps } from 'react-window';\nimport scrollbarSize from 'dom-helpers/scrollbarSize';\n\nimport { Text, multipleRef, cn } from 'Modules/ui';\n\nimport { BODY_CELL_CLASSNAME } from '../constants';\nimport { cellStyles } from '../Cells';\nimport { GridAdapter } from '../GridAdapter';\nimport { CheckableColumn } from '../CheckableColumn';\nimport { BodyProps, CellItemData } from './types';\nimport styles from './index.module.scss';\n\n\nexport * as BodyTypes from './types';\n\nconst cellRenderer = React.memo>(({\n rowIndex, columnIndex,\n style,\n data: {\n columns, checkable, getData, selectedRow, hoveredRowIndex,\n setHoveredRowIndex, onRowClick, className,\n rowCount,\n },\n}) => {\n const { Header, Cell, className: cellClassName, ...column } = columns[columnIndex];\n const data = getData(rowIndex);\n const isSelected = selectedRow === rowIndex;\n const isHovered = hoveredRowIndex === rowIndex;\n return (\n >\n component='div'\n textType='light'\n data-testid={`row_${rowIndex} cell_${columnIndex}`}\n className={cn(\n cellStyles.cell,\n BODY_CELL_CLASSNAME,\n fp.isFunction(className) ? className({\n data,\n columnIndex,\n rowCount,\n rowIndex,\n columnsCount: columns.length,\n isFirstColumn: columnIndex === 0,\n isLastColumn: columnIndex === columns.length - 1,\n isRowLast: rowIndex === rowCount - 1,\n }) : className,\n !checkable && columnIndex === 0 && cellStyles.first,\n columnIndex === columns.length - 1 && cellStyles.last,\n onRowClick && styles.clickableRow,\n isSelected && styles.selected,\n )}\n role='presentation'\n onClick={useCallback(() => (onRowClick || fp.noop)({\n rowData: data,\n rowNumber: rowIndex,\n }), [data, onRowClick, rowIndex])}\n onMouseEnter={useCallback(\n () => setHoveredRowIndex(rowIndex),\n [rowIndex, setHoveredRowIndex],\n )}\n onMouseLeave={useCallback(\n ({ relatedTarget }) => {\n const element = relatedTarget as Element;\n return !element.classList || element.classList.contains(BODY_CELL_CLASSNAME)\n ? null\n : setHoveredRowIndex(null);\n },\n [setHoveredRowIndex],\n )}\n style={style as React.CSSProperties}\n >\n {data && (\n
    \n \n
    \n )}\n \n );\n});\n\nexport const Body = React.forwardRef(({\n top,\n width,\n height,\n hScrollBarVisible,\n checkable,\n checkboxRef,\n checkboxWidth,\n checkboxCell,\n checkboxComponent,\n checkedKeySelector,\n checkedRows,\n onCheckedChanged,\n disabled,\n rowCount,\n rowHeight,\n isHovering,\n selectedRow,\n onRowClick,\n columns,\n getData,\n columnWidth,\n onItemsRendered,\n onScroll,\n classNames = { body: undefined },\n}, ref) => {\n const bodyRef = useRef();\n\n const [hoveredRowIndex, setHoveredRowIndexCallback] = useState(null);\n const setHoveredRowIndex = useCallback(\n index => (isHovering ? setHoveredRowIndexCallback : fp.noop)(index),\n [isHovering],\n );\n return (\n <>\n {checkable && (\n \n )}\n (\n () => ({\n columns,\n checkable: !!checkable,\n getData,\n selectedRow,\n hoveredRowIndex,\n setHoveredRowIndex,\n onRowClick,\n className: classNames.body.cell,\n rowCount,\n }),\n [\n columns,\n checkable,\n getData,\n selectedRow,\n hoveredRowIndex,\n setHoveredRowIndex,\n onRowClick,\n classNames.body.cell,\n rowCount,\n ],\n )}\n >\n {cellRenderer}\n \n \n );\n});\n","import React, { useCallback, FC } from 'react';\n\nimport { cn, Checkbox, FactorinCheckClass } from 'Modules/ui';\n\nimport { cellStyles } from '../Cells';\nimport { CheckboxHeaderProps, SelectAllProps } from './types';\nimport styles from './index.module.scss';\n\n\nexport * as CheckboxHeaderTypes from './types';\n\nconst checkModel = new FactorinCheckClass();\n\nconst SelectAll = React.memo(({\n disabled,\n disableCheckAll,\n height,\n width,\n top,\n itemCount,\n checkedRows,\n onCheckedChanged,\n className,\n checkbox: CustomCheckbox = Checkbox,\n}) => {\n const selectAllClick = useCallback(\n () => onCheckedChanged(checkModel.updateAll(itemCount, checkedRows)),\n [checkedRows, itemCount, onCheckedChanged],\n );\n\n return (\n \n
    \n {!disableCheckAll && (\n \n )}\n
    \n
    \n );\n});\n\nexport const CheckboxHeader: FC = React.memo(({\n width,\n height,\n className,\n withFilters,\n filterHeader: FilterHeader = 'div',\n ...props\n}) => (\n <>\n {withFilters && (\n \n \n
    \n )}\n \n \n));\n","import fp from 'lodash/fp';\nimport React, { useMemo, useRef, useCallback, useEffect, useImperativeHandle, FC, Ref } from 'react';\nimport { VariableSizeGrid } from 'react-window';\nimport scrollbarSize from 'dom-helpers/scrollbarSize';\n\nimport { cn, useSizeContext, useMemoDeps } from 'Modules/ui';\n\nimport { calculateColumnWidths } from './calculations';\nimport { withSortColumnsSettings } from './SortColumnsSettings';\nimport { useRatios } from './RatiosColumnsSettings';\nimport { Header } from './Header';\nimport { Filters } from './Filters';\nimport { Body } from './Body';\nimport { CheckboxHeader } from './CheckboxHeader';\nimport { FactorinGridProps, FactorinGridRef } from './types';\nimport styles from './index.module.scss';\n\n\nexport * from './common';\nexport * from './types';\n\nconst ROW_HEIGHT_REM = parseFloat(styles.rowHeight);\nconst CHECKBOX_COLUMN_WIDTH_REM = parseFloat(styles.checkBoxColumnWidth);\n\nconst FactorinGridComponent: FC<\nFactorinGridProps & { componentRef: Ref, userSetVScrollBarVisible?: boolean }\n> = ({\n componentRef,\n disabled,\n width, height,\n columns,\n ratioSaveKey,\n itemCount,\n getData,\n headerHeightRem = ROW_HEIGHT_REM,\n rowHeightRem = ROW_HEIGHT_REM,\n onItemsRendered,\n selectedRow,\n onRowClick,\n checkboxWidthRem = CHECKBOX_COLUMN_WIDTH_REM,\n checkable,\n disableCheckAll,\n checkedRows,\n onCheckedChanged,\n checkedKeySelector,\n customCheckboxCell,\n customCheckboxHeader,\n customCheckbox,\n isHovering,\n classNames = { cell: {} },\n path,\n userSetVScrollBarVisible,\n}) => {\n const { rem } = useSizeContext();\n const rowHeight = useMemo(() => fp.constant(rowHeightRem * rem), [rem, rowHeightRem]);\n\n const withFilters = useMemoDeps(\n fp.some(fp.get('filterField')),\n [columns],\n );\n\n const headerHeight = headerHeightRem * rem;\n\n const checkboxWidth = checkboxWidthRem * rem;\n\n const bodyHeight = Math.max(0, height - headerHeight * (withFilters ? 2 : 1));\n const bodyWidth = width - (checkable ? checkboxWidth : 0);\n\n const vScrollBarVisible =\n userSetVScrollBarVisible ?? itemCount * rowHeightRem * rem > bodyHeight;\n\n const headerWidth = bodyWidth - (vScrollBarVisible ? scrollbarSize() : 0);\n\n const bodyRef = useRef();\n const onChangeRatios = useCallback(\n scrollLeft => bodyRef.current.scrollTo({ scrollLeft }),\n [],\n );\n\n const { ratios, updateRatios, resetRatios } = useRatios(\n columns,\n `${ratioSaveKey ?? path}.ratios`,\n onChangeRatios,\n bodyWidth,\n );\n\n const columnWidths = useMemoDeps(\n calculateColumnWidths,\n [headerWidth, columns, ratios, rem],\n );\n\n const hScrollBarVisible = useMemo(\n () => fp.sum(columnWidths) > headerWidth,\n [columnWidths, headerWidth],\n );\n\n const getColumnWidth = useCallback(index => columnWidths[index] || 0, [columnWidths]);\n\n const headerRef = useRef();\n const checkboxColumnRef = useRef();\n const filtersRef = useRef();\n\n useImperativeHandle(componentRef, () => ({\n resetAfterIndex: (index, shouldForceUpdate) =>\n bodyRef.current.resetAfterIndices({\n rowIndex: index,\n columnIndex: 0,\n shouldForceUpdate,\n }),\n }));\n\n useEffect(() => {\n bodyRef.current.resetAfterIndices({ rowIndex: 0, columnIndex: 0 });\n if (filtersRef.current)\n filtersRef.current.resetAfterIndices({ rowIndex: 0, columnIndex: 0 });\n if (checkboxColumnRef.current)\n checkboxColumnRef.current.resetAfterIndices({ rowIndex: 0, columnIndex: 0 });\n }, [columnWidths]);\n\n return (\n
    \n {checkable && (\n \n )}\n \n {withFilters && (\n \n )}\n {\n if (checkboxColumnRef.current)\n checkboxColumnRef.current.scrollTo({ scrollTop });\n if (filtersRef.current)\n filtersRef.current.scrollTo({ scrollLeft });\n headerRef.current.scrollTo({ scrollLeft });\n },\n [],\n )}\n isHovering={isHovering}\n classNames={{\n body: {\n container: classNames.body,\n cell: fp.get('cell.body', classNames),\n },\n checkbox: fp.get('cell.checkbox', classNames),\n }}\n />\n
    \n );\n};\n\nconst withForwardRef = Component => React.forwardRef((props, ref) => (\n \n));\n\nexport const FactorinGrid: FC = fp.compose(\n withForwardRef,\n withSortColumnsSettings,\n React.memo,\n)(FactorinGridComponent);\n","import fp from 'lodash/fp';\nimport React, { useCallback, useMemo } from 'react';\nimport { Form, useForm, useFormState } from 'react-final-form';\nimport { FieldArray } from 'react-final-form-arrays';\nimport arrayMutators from 'final-form-arrays';\n\nimport { Button, TrashCan, cn, AutoSizer } from 'Modules/ui';\n\nimport { FactorinGrid } from '../FactorinGrid';\nimport styles from './index.module.scss';\n\n\nconst RemoveButton = ({ data: { index }, column: { remove } }) => (\n \n);\n\nconst getRemoveColumn = remove => ({\n Header: () => null,\n Cell: RemoveButton,\n field: 'Remove',\n remove,\n fixedWidth: 6.4,\n});\n\nconst Table = ({ columns, entityName, fields, remove, ...gridProps }) => {\n const tableColumns = useMemo(() => [\n ...columns,\n ...remove ? [getRemoveColumn(index => remove(fields, index))] : [],\n ], [columns, fields, remove]);\n return (\n \n {size => (\n ({\n name: `${entityName}[${index}]`,\n index,\n })}\n itemCount={fields.length}\n {...size}\n {...gridProps}\n />\n )}\n \n );\n};\n\nconst Buttons = ({ fields, values, className, add, t }) => {\n const { initialize } = useForm();\n const { hasValidationErrors, pristine } = useFormState({\n subscription: {\n hasValidationErrors: true,\n pristine: true,\n },\n });\n const addCallback = useCallback(\n () => add(fields),\n [add, fields],\n );\n const resetChanges = useCallback(\n () => initialize(values),\n [initialize, values],\n );\n return (\n
    \n {add && (\n \n )}\n \n {t('buttons.save')}\n \n {!pristine && (\n \n )}\n
    \n );\n};\n\nconst CrudTableComponent = ({\n columns, values, classNames = {},\n entityName, arrayProps, gridProps,\n add, remove,\n onSubmit,\n t,\n ...formProps\n}) => (\n \n {({ handleSubmit }) => (\n \n \n {({ fields }) => (\n <>\n \n \n \n )}\n \n \n )}\n \n);\n\nexport const CrudTable = React.memo(CrudTableComponent);\n","import React, { useState, useCallback } from 'react';\nimport Measure from 'react-measure';\n\nimport { cn, Button, Dropdown } from 'Modules/ui';\n\nimport styles from './index.module.scss';\n\n\nexport const Dock = ({ isCompact, onArrowClick, children }) => {\n const [height, setHeight] = useState(0);\n const updateHeight = useCallback(({ bounds }) => setHeight(bounds.height), []);\n return (\n \n {({ measureRef }) => (\n \n \n \n \n \n
    \n {children}\n
    \n
    \n \n )}\n \n );\n};\n\nexport const useDock = () => {\n const [showDock, setShowDock] = useState(false);\n const onArrowClick = useCallback(() => setShowDock(showDock => !showDock), []);\n const openDock = useCallback(() => setShowDock(true), []);\n return {\n openDock,\n isCompact: !showDock,\n onArrowClick,\n };\n};\n","import { createActionNamespace } from 'Modules/core/redux';\n\nimport {\n DownloadExcelType,\n GetCompaniesType,\n SetCompaniesType,\n StatusType,\n ChangeRegisterStageType,\n ChangeRegistersStageType,\n ConfirmRegisterType,\n DownloadAdditionalDocumentsActionType,\n SetNotifications,\n} from './types';\n\n\nconst bappAction = createActionNamespace('bapp');\n\nexport const bappActions = {\n downloadExcel: bappAction('DOWNLOAD_EXCEL'),\n downloadAdditionalDocuments: bappAction('DOWNLOAD_ADDITIONAL_DOCUMENTS'),\n getCompanies: bappAction.withPath('GET_COMPANIES'),\n setCompanies: bappAction.withPath('SET_COMPANIES'),\n changeCompaniesSelectMenuState: bappAction.withPath('CHANGE_COMPANIES_SELECT_MENU_STATE'),\n setStatus: bappAction('SET_STATUS'),\n changeRegisterStage: bappAction('CHANGE_REGISTER_STAGE'),\n changeRegistersStage: bappAction('CHANGE_REGISTERS_STAGE'),\n confirm: bappAction('CONFIRM'),\n getNotifications: bappAction('GET_NOTIFICATIONS'),\n setNotifications: bappAction('SET_NOTIFICATIONS'),\n};\n","import fp from 'lodash/fp';\nimport React, { ComponentType, ComponentProps, useCallback } from 'react';\nimport { formatDate } from '@factorin/util';\n\nimport {\n cn, Button, Text, Heading,\n ProgressLoader,\n ThreeDots, Document, addChildrenProps, ClassName,\n} from 'Modules/ui';\n\nimport { PopupWithButton } from '../PopupWithButton';\nimport styles from './index.module.scss';\nimport { DownloadPopupProps, FileItemProps, FileSectionProps } from './types';\n\n\nexport const DownloadPopup: ComponentType = ({\n classNames = {},\n isDownloading,\n icon: Icon = ThreeDots,\n ...props\n}) => {\n const renderButton = useCallback(\n ({ show, className }) => (\n \n {isDownloading\n ? \n : \n }\n \n ),\n [Icon, classNames.button, isDownloading],\n );\n\n return (\n \n );\n};\n\nexport const SectionHeader: ComponentType = ({ children, className }) => (\n \n {children}\n \n);\n\nexport const InfoSection: ComponentType = ({ children }) => (\n \n {children}\n \n);\n\nexport const FileSection: ComponentType = ({\n className,\n children,\n ratios = [1, 1],\n}) => (\n
    \n {addChildrenProps(children, { ratios })}\n
    \n);\n\nexport const FileItem: ComponentType = ({\n title, description, date,\n onDownload, isNotDownloadable, progress, button: ItemButton,\n icon: Icon = Document,\n ratios: [titleRatio, descriptionRatio],\n}) => (\n
    \n
    \n {progress\n ? \n : \n }\n
    \n {title && (\n \n >\n component='a'\n textType={!isNotDownloadable ? 'link' : 'regular'}\n onClick={!isNotDownloadable ? onDownload : fp.F}\n >\n {title}\n \n
    \n )}\n {description && (\n \n > textType='light' ellipsis component='span'>\n {description}\n \n \n )}\n {date && (\n \n {formatDate(date)}\n \n )}\n {ItemButton && }\n \n);\n\nexport * from './types';\n","import fp from 'lodash/fp';\nimport React, { useState, useRef, useMemo, useCallback, useEffect } from 'react';\n\nimport { useSelector, useAction } from 'Modules/core/redux';\nimport { useTranslation } from 'Modules/core/i18n';\n// TODO: remove cycle dependency for bapp-fapp modules\nimport { bappActions } from 'Modules/business/bapp/state/actions';\nimport { useStorageItem } from 'Modules/business/data';\nimport { downloadsActions, useDownloads } from 'Modules/business/downloads';\n\nimport { DownloadPopup, SectionHeader, FileSection, FileItem } from '../../DownloadPopup';\n\n\nconst documentModel = ({\n documents,\n download,\n documentsDownloads,\n}) => fp.map(\n ({ DocumentTypeName, DocumentTypeCode, Number, Date, Uid }) => ({\n title: DocumentTypeName || DocumentTypeCode,\n description: Number,\n date: Date,\n onDownload: () => download('documents', { id: Uid }),\n progress: documentsDownloads[Uid],\n }),\n documents,\n);\n\nconst DocumentSection = ({ files }) => (\n \n {files.map((file, idx) => (\n \n ))}\n \n);\n\nexport const DownloadButton = ({ documentId }) => {\n const { t } = useTranslation('downloadButton');\n\n const document = useStorageItem('documents', documentId);\n\n const additionalDocuments = document.$additionalDocuments;\n const shouldDownloadAdditionalDocuments = additionalDocuments === undefined;\n const [documentDownloading, setDocumentDownloading] = useState(false);\n const documentDownloadingTimer = useRef();\n\n const downloadError = useAction(bappActions.downloadAdditionalDocuments);\n const onOpen = useCallback(\n () => {\n if (shouldDownloadAdditionalDocuments && !documentDownloading) {\n documentDownloadingTimer.current =\n setTimeout(() => setDocumentDownloading(true), 100);\n downloadError({ uid: document.Uid });\n }\n },\n [document.Uid, documentDownloading, downloadError, shouldDownloadAdditionalDocuments],\n );\n\n useEffect(\n () => {\n if (!shouldDownloadAdditionalDocuments) {\n clearTimeout(documentDownloadingTimer.current);\n setDocumentDownloading(false);\n }\n\n return () => clearTimeout(documentDownloadingTimer.current);\n },\n [shouldDownloadAdditionalDocuments],\n );\n\n const documentsDownloads = useDownloads('documents');\n const download = useAction(downloadsActions.download);\n const files = useMemo(\n () => documentModel({\n documents: [\n document,\n ...additionalDocuments || [],\n ],\n download,\n documentsDownloads,\n }),\n [document, additionalDocuments, documentsDownloads, download],\n );\n\n const downloadInProgress = useSelector(\n ({ downloads }) => downloads.documents[documentId] ||\n additionalDocuments &&\n fp.some(({ Uid }) => downloads.documents[Uid], additionalDocuments),\n [documentId, additionalDocuments],\n );\n\n return (\n \n {!shouldDownloadAdditionalDocuments && (\n <>\n \n {t('documentSectionName')}\n \n \n \n )}\n \n );\n};\n","import React from 'react';\nimport { formatDateTime } from '@factorin/util';\n\nimport { FocusableDiv, Text, GradientPlaceholder, cn } from 'Modules/ui';\nimport { paginationStatuses } from 'Modules/business/data';\n\nimport { DownloadButton } from './DownloadButton';\nimport styles from './index.module.scss';\n\n\nexport const DocumentItem = ({\n index,\n data: document,\n queueStatus,\n isSelected,\n onClick,\n style,\n}) => {\n const isPlaceholder = queueStatus !== paginationStatuses.COMPLETE;\n return (\n \n \n {isPlaceholder\n ? \n : document.Number\n }\n \n \n {isPlaceholder\n ? \n : formatDateTime(document.Date)\n }\n \n {document && (\n
    \n \n
    \n )}\n \n );\n};\n","import React, { useCallback, ComponentType } from 'react';\n\nimport { FilePickerButton } from 'Modules/ui';\nimport { useAction } from 'Modules/core/redux';\nimport { useTranslation } from 'Modules/core/i18n';\nimport { uploadsActions } from 'Modules/business/uploads';\n\nimport styles from './index.module.scss';\n\n\nconst ACCEPT_UPLOAD_FILES = [\n '.xls',\n '.xlsx',\n '.xml',\n 'text/xml',\n 'application/vnd.ms-excel',\n 'application/vnd.openxmlformats-officedocument.spreadsheetml.sheet',\n].join(',');\n\ntype UploadButtonProps = {\n paginationPath: string;\n processTemplate: string;\n onUpload: () => void;\n}\n\nexport const UploadButton: ComponentType = React.memo(({\n paginationPath,\n processTemplate,\n onUpload,\n}) => {\n const upload = useAction(uploadsActions.upload);\n const uploadFiles = useCallback(\n files => {\n if (!(files && files.length > 0))\n return;\n onUpload();\n upload({\n query: {\n processTemplateCode: processTemplate,\n },\n files,\n paginationPath,\n });\n },\n [processTemplate, paginationPath, onUpload, upload],\n );\n\n const { t } = useTranslation('entitysList');\n return (\n
    \n \n {t('buttons.upload')}\n \n
    \n );\n});\n","import React, { useCallback, FC } from 'react';\n\nimport { Button, ArrowRight } from 'Modules/ui';\n\nimport { useTransferLayoutContext, RegistersLayoutKeys } from '../../TransferLayout';\nimport styles from './index.module.scss';\n\n\nexport const TransferButton: FC = () => {\n const { currentTab, changeTab } = useTransferLayoutContext();\n const showFullView = useCallback(\n () => changeTab(RegistersLayoutKeys.RegistersView),\n [changeTab],\n );\n\n if (!currentTab)\n return null;\n\n return (\n \n \n \n );\n};\n","import React, { useCallback, useEffect, FC } from 'react';\n\nimport { FactorinCheckClass, Checkbox as DefaultCheckbox, useMemoDeps } from 'Modules/ui';\nimport { useTranslation } from 'Modules/core/i18n';\nimport { usePagination } from 'Modules/business/data';\n\n\nconst FactorinCheck = new FactorinCheckClass();\n\ntype CheckedRowsType = typeof FactorinCheck.defaultModel;\ntype CheckboxProps = {\n paginationPath: string;\n checkedRows: CheckedRowsType;\n onChange: (model: CheckedRowsType) => void;\n className?: string;\n}\n\nexport const Checkbox: FC = React.memo(({\n paginationPath,\n checkedRows,\n onChange,\n className,\n}) => {\n const itemsCount = usePagination(paginationPath, 'total') || 0;\n\n useEffect(\n () => onChange(FactorinCheck.defaultModel),\n [onChange],\n );\n const checked = useMemoDeps(FactorinCheck.getAll, [itemsCount, checkedRows]);\n const onCheck = useCallback(\n () => onChange(FactorinCheck.updateAll(itemsCount, checkedRows)),\n [checkedRows, itemsCount, onChange],\n );\n\n const { t } = useTranslation('entitysList');\n return (\n \n {t('checkbox')}\n \n );\n});\n","import fp from 'lodash/fp';\nimport React, { useState, useCallback, useRef, useLayoutEffect, FC, ComponentProps, ChangeEventHandler } from 'react';\n\nimport { Text } from 'Modules/ui';\nimport { useAction } from 'Modules/core/redux';\nimport { useTranslation } from 'Modules/core/i18n';\nimport { IPaginationParameters, paginationActions, usePagination } from 'Modules/business/data';\n\nimport styles from './index.module.scss';\n\n\ntype ListFilterFieldProps = {\n path: string;\n field: string;\n}\n\nexport const ListFilterField: FC = React.memo(({ path, field }) => {\n const parameters = usePagination(path, 'parameters');\n const [filter, changeFilterValue] = useState(() => fp.getOr('', `filters[${field}]`, parameters));\n const setParameters = useAction(\n value => paginationActions.setParametersThrottled(path, {\n ...parameters,\n filters: {\n ...parameters.filters,\n [field]: value,\n },\n }),\n [path, field, parameters],\n );\n\n const onInputChange = useCallback>(\n ({ target: { value } }) => {\n changeFilterValue(value);\n setParameters(value);\n },\n [setParameters],\n );\n\n const queue = usePagination(path, 'queue');\n const ref = useRef();\n useLayoutEffect(\n () => {\n ref.current.blur();\n ref.current.focus();\n },\n [queue],\n );\n\n const { t } = useTranslation('listFilterField');\n return (\n >\n componentRef={ref}\n component='input'\n className={styles.field}\n\n value={filter}\n onChange={onInputChange}\n\n autoFocus\n placeholder={t('placeholder') as string}\n />\n );\n});\n","export const filterFieldForDomain = {\n registers: 'searchField',\n discountRegisters: 'searchField',\n};\n","import fp from 'lodash/fp';\nimport React, { useState, useCallback, useEffect, useMemo } from 'react';\n\nimport { useSizeContext, useMemoDeps } from 'Modules/ui';\nimport { useAction } from 'Modules/core/redux';\nimport { useTranslation } from 'Modules/core/i18n';\nimport {\n paginationActions,\n PaginationHeader,\n PaginationList,\n PaginationParametersControl,\n getDomainTypeFromPath,\n usePagination,\n} from 'Modules/business/data';\n\nimport { UploadButton } from './UploadButton';\nimport { TransferButton } from './TransferButton';\nimport { Checkbox } from './Checkbox';\nimport { ListFilterField } from '../ListFilterField';\nimport { filterFieldForDomain } from '../../constants';\nimport styles from './index.module.scss';\n\n\nexport const PAGINATION_PARAMETERS = {\n documents: ({ BatchUId }) => ({\n filters: {\n batchuid: BatchUId,\n },\n }),\n registers: ({ Uid }) => ({\n filters: {\n register: Uid,\n },\n }),\n discountRegisters: ({ Uid }) => ({\n filters: {\n register: Uid,\n },\n }),\n banks: ({ Uid }) => ({\n filters: {\n bankUid: Uid,\n },\n }),\n orderAgreements: ({ Uid }) => ({\n filters: {\n orderAgreement: Uid,\n },\n }),\n};\n\nconst getDefaultParameters = parametersModel => fp.flatten(parametersModel)[0];\n\nconst useRowHeight = rowHeightRem => {\n const { rem } = useSizeContext();\n const result = useMemo(\n () => fp.isFunction(rowHeightRem)\n ? fp.pipe(rowHeightRem, fp.multiply(rem))\n : rowHeightRem * rem,\n [rowHeightRem, rem],\n );\n return result;\n};\n\nconst useListPagination = (path, modelParameters, omitFilters) => {\n const actualParameters = usePagination(path, 'parameters');\n const setParameters = useAction(\n parameters => paginationActions.setParameters(\n path,\n parameters,\n ),\n [path],\n );\n useEffect(\n () => {\n if (!fp.isEqual(fp.omit(omitFilters, actualParameters), modelParameters))\n setParameters(modelParameters);\n },\n [modelParameters, actualParameters, omitFilters, setParameters],\n );\n};\n\nconst domainsWithTransferLayout = ['registers', 'discountRegisters'];\n\nexport const EntitysList = React.memo(({\n selectedId,\n onRowSelected,\n model,\n parametersModel,\n onModelChange,\n processTemplate,\n uploadPaginationPath,\n title,\n\n checkedRows,\n onCheckedChanged,\n classNames,\n checkedKeySelector = (_, index) => index,\n}) => {\n const { t } = useTranslation('entitysList');\n\n const [{ key, placeholder }, changeKeyState] = useState(\n () => getDefaultParameters(parametersModel),\n );\n\n const {\n path,\n parameters,\n item,\n itemStyler,\n rowHeightRem,\n listProps,\n checkable,\n headerButton: HeaderButton,\n } = useMemo(\n () => model[key],\n [model, key],\n );\n\n const domain = useMemoDeps(getDomainTypeFromPath, [path]);\n const filterField = useMemo(\n () => filterFieldForDomain[domain],\n [domain],\n );\n\n useListPagination(\n path,\n parameters,\n `filters.${filterField}`,\n );\n\n const selectModel = useCallback(\n model => {\n if (onModelChange)\n onModelChange(model);\n changeKeyState(model);\n },\n [onModelChange],\n );\n\n const elementRenderer = useCallback(\n ({ data, ...props }) => {\n const Item = item;\n return (\n \n );\n },\n [\n item,\n itemStyler,\n checkable,\n checkedKeySelector,\n checkedRows,\n onCheckedChanged,\n ],\n );\n\n const placeholderText = useMemo(\n () => placeholder ? t(placeholder) : undefined,\n [placeholder, t],\n );\n\n const rowHeight = useRowHeight(rowHeightRem);\n\n const onUpload = useCallback(\n () => selectModel(fp.find(({ key }) => key === 'documents', parametersModel)),\n [selectModel, parametersModel],\n );\n\n return (\n
    \n \n {uploadPaginationPath && (\n \n )}\n {checkable && (\n \n )}\n \n {filterField && (\n \n )}\n {HeaderButton && }\n \n
    \n );\n});\n","import fp from 'lodash/fp';\nimport React, { useState, useCallback, useEffect } from 'react';\nimport { formatDate, formatCurrency, formatOr, formatDateTime } from '@factorin/util';\n\nimport { connect } from 'Modules/core/redux';\nimport { Text, Button, cn, SortArrow, useMemoDeps } from 'Modules/ui';\nimport { translate } from 'Modules/core/i18n';\nimport {\n PaginationLoader,\n paginationActions,\n getDomainTypeFromPath,\n} from 'Modules/business/data';\n\nimport { Dock, useDock } from '../Dock';\nimport { FactorinGrid } from '../FactorinGrid';\nimport styles from './index.module.scss';\n\n\nexport const columnTypes = {\n STRING: 'STRING',\n DATE: 'DATE',\n DATETIME: 'DATETIME',\n CURRENCY: 'CURRENCY',\n COMPOSITE: 'COMPOSITE',\n};\n\nexport const fappViewColumnRenderers = {\n [columnTypes.STRING]: ({ column: { field }, data }) => fp.get(field, data),\n [columnTypes.DATE]: ({ column: { field }, data }) => formatDate(fp.get(field, data)),\n [columnTypes.DATETIME]: ({ column: { field }, data }) => formatDateTime(fp.get(field, data)),\n [columnTypes.CURRENCY]: ({ column: { field }, data }) =>\n formatOr(fp.get(field, data), value => `${formatCurrency(value)} ₽`),\n [columnTypes.COMPOSITE]: translate('domains')(({\n t, column: { field, secondaryField }, data,\n }) => {\n const { key, values } = secondaryField(data);\n\n return (\n
    \n \n {fp.get(field, data)}\n \n {key && (\n \n {t(`utils.${key}`, values)}\n \n )}\n
    \n );\n }),\n};\n\nconst selectedValues = ({ all, include, exclude }, total) => ({\n checkedCount: all ? total - exclude.length : include.length,\n});\n\nconst allSelected = ({ all, exclude }) => all && fp.isEmpty(exclude);\n\nconst SortButton = fp.compose(\n translate('domains'),\n connect(\n ({ data: { pagination } }, { column: { path } }) => ({\n parameters: (pagination[path] || {}).parameters,\n }),\n (dispatch, { column: { path } }) => ({\n setParameters: parameters => dispatch(\n paginationActions.setParameters(path, parameters),\n ),\n }),\n ),\n)(({ t, column: { domainType, field, sortField }, parameters = {}, setParameters }) => {\n const sortingField = sortField || field;\n return (\n setParameters({\n ...parameters,\n sorting: parameters.sorting === sortingField && parameters.descending\n ? undefined\n : sortingField,\n descending: parameters.sorting === sortingField && !parameters.descending,\n }), [sortingField, parameters, setParameters])}\n >\n \n {t(`${domainType}.columns.${field}`)}\n \n \n \n );\n});\n\nconst SimpleHeader = translate('domains')(\n ({ t, column: { domainType, field } }) =>\n t(`${domainType}.columns.${field}`),\n);\n\nconst mapColumns = (path, columns, CustomSortButton) => columns.map(({\n type,\n sortable = true,\n Header,\n Cell,\n ...column\n}) => ({\n ...column,\n path,\n domainType: getDomainTypeFromPath(path),\n Header: Header || (sortable ? CustomSortButton || SortButton : SimpleHeader),\n Cell: Cell || fappViewColumnRenderers[type],\n}));\n\nconst FactorinViewComponent = ({\n t, name,\n dock: DockComponent,\n buttons: Buttons,\n path,\n storage,\n paginationElements,\n paginationTotal,\n columns,\n checkable,\n checkedRows,\n checkedTotal,\n classNames = {},\n onRowClick: onRowClickCallback,\n rowSelectable,\n customSortButton,\n needFirstRowSelect = false,\n userSetVScrollBarVisible,\n ...props\n}) => {\n const [{ data, selectedRow }, setSelected] = useState({});\n\n const { openDock, ...dockProps } = useDock();\n const onRowClick = useCallback(\n data => {\n setSelected({\n data: data.rowData,\n selectedRow: data.rowNumber,\n });\n\n if (DockComponent)\n openDock();\n\n if (onRowClickCallback)\n onRowClickCallback(data);\n },\n [DockComponent, onRowClickCallback, openDock],\n );\n\n const mappedColumns = useMemoDeps(mapColumns, [path, columns, customSortButton]);\n\n const isEmpty = !fp.isNumber(paginationTotal);\n\n useEffect(() => {\n if (needFirstRowSelect && !selectedRow && paginationTotal > 0) {\n setSelected({\n data: paginationElements[0],\n selectedRow: 0,\n });\n }\n }, [needFirstRowSelect, paginationElements, paginationTotal, selectedRow]);\n\n return (\n
    \n {name && (\n
    \n
    \n
    \n {name}\n \n {checkable && !isEmpty\n ? allSelected(checkedRows)\n ? t('allSelected')\n : t('selected', selectedValues(\n checkedRows,\n checkedTotal || paginationTotal,\n ))\n : !isEmpty\n ? t('all', { total: paginationTotal })\n : t('allUnknown')\n }\n \n
    \n {Buttons && (\n
    \n \n
    \n )}\n
    \n
    \n )}\n\n storage[paginationElements[index]],\n [paginationElements, storage],\n )}\n selectedRow={selectedRow}\n onRowClick={rowSelectable || DockComponent ? onRowClick : undefined}\n columns={mappedColumns}\n checkable={checkable}\n checkedRows={checkedRows}\n classNames={classNames.grid}\n {...props}\n />\n\n {DockComponent && data && (\n \n \n \n )}\n
    \n );\n};\n\n\nexport const FactorinView = fp.compose(\n React.memo,\n translate('factorinView'),\n connect(\n ({ data }, { path }) => ({\n paginationElements: fp.get(`pagination[${path}].elements`, data),\n paginationTotal: fp.get(`pagination[${path}].total`, data),\n storage: data.storage[getDomainTypeFromPath(path)],\n }),\n ),\n)(FactorinViewComponent);\n","import React, { useCallback } from 'react';\n\nimport { connect } from 'Modules/core/redux';\nimport { Text, Heading, Button, cn } from 'Modules/ui';\nimport { storageActions } from 'Modules/business/data';\nimport { translate } from 'Modules/core/i18n';\n\nimport { FactorinView } from '../FactorinView';\nimport styles from './index.module.scss';\n\n\nconst DocumentsViewPlaceholder = ({ t }) => (\n \n {t('placeholder')}\n \n);\n\nconst DocumentsViewNoBatchUidPlaceholder = connect(\n null,\n {\n refresh: storageActions.loadItem('documents'),\n },\n)(({ document, refresh, t, error }) => error\n ? (\n
    \n \n {t('error')}\n \n

    \n {error}\n

    \n
    \n ) : (\n
    \n

    \n {t('noBatchUidPlaceholder')}\n

    \n refresh(document.Uid),\n [document.Uid, refresh],\n )}\n >\n {t('buttons.refresh')}\n \n
    \n ));\n\nconst DocumentsViewComponent = ({ document, t, ...props }) =>\n !document\n ? \n : !document.BatchUId\n ? (\n \n ) : (\n \n {t('headerTable')}\n \n )}\n {...props}\n />\n );\n\nexport const DocumentsView = translate('documentsView')(DocumentsViewComponent);\n","import React from 'react';\n\nimport { Heading } from 'Modules/ui';\n\nimport styles from './index.module.scss';\n\n\nexport const ListPlaceholder = ({ header }) => (\n
    \n
    \n \n {header}\n \n
    \n
    \n
    \n);\n","import fp from 'lodash/fp';\nimport React, { useState, useEffect, useCallback, useRef, useMemo, ComponentType, FC, ComponentProps } from 'react';\nimport { Registers, Supplies } from '@factorin/domain';\n\nimport { SignedIcon, Text, Button } from 'Modules/ui';\nimport { useAction } from 'Modules/core/redux';\nimport { useTranslation, TFunction } from 'Modules/core/i18n';\nimport { useEnvironment } from 'Modules/business/environment';\nimport { storageActions, useStorageItem } from 'Modules/business/data';\nimport { downloadsActions, useDownloads, DownloadsTypes } from 'Modules/business/downloads';\n\nimport { DownloadPopup, InfoSection, SectionHeader, FileSection, FileItem, FileItemProps } from '../../DownloadPopup';\nimport { DownloadButtonProps, RegisterSectionType } from './types';\nimport styles from './index.module.scss';\n\n\nconst SIGNING_PROTOCOL_TYPE_CODE = 'SigningProtocol';\n\nconst signatureFields = ['ClientORProvider', 'DebtorORBuyer', 'Factor'];\nconst registerHasAnySignature = fp.pipe(\n fp.pick(signatureFields.map(field => `${field}SignUid`)),\n fp.pickBy(fp.identity),\n fp.negate(fp.isEmpty),\n);\n\nconst documentModel = (\n t: TFunction,\n register: Registers.RegisterDetails,\n download: (path: string, elem: DownloadsTypes.DownloadAction) => void,\n documentsDownloads: DownloadsTypes.Download,\n): FileItemProps[] => register.Documents\n .filter(({ TypeCode }) => TypeCode !== SIGNING_PROTOCOL_TYPE_CODE)\n .map(({ Uid, Type, Number, Date }) => ({\n title: Type,\n description: Number,\n date: Date,\n onDownload: () => download('documents', { id: Uid }),\n progress: documentsDownloads[Uid],\n }));\n\nconst signatureModel = (\n t: TFunction,\n register: Registers.RegisterDetails,\n download: (path: string, elem: DownloadsTypes.DownloadAction) => void,\n signsDownloads: DownloadsTypes.Download,\n documentsDownloads: DownloadsTypes.Download,\n): FileItemProps[] => fp.pipe(\n fp.filter(role => register[`${role}SignUid`]),\n fp.map(role => ({\n title: t(`titleSigns.${role}`),\n description: register[`${role}SignerName`],\n date: register[`${role}SignDate`],\n icon: SignedIcon,\n onDownload: () => download('signs', { id: register[`${role}SignUid`] }),\n progress: signsDownloads[register[`${role}SignUid`]],\n })),\n signs => [\n ...signs,\n ...registerHasAnySignature(register) ? [{\n title: t('titleSigns.protocolFile'),\n date: register.CreateDate,\n onDownload: () => download('documents', {\n method: 'downloadProtocol',\n id: register.Uid,\n uid: register.Uid,\n }),\n progress: documentsDownloads[register.Uid],\n }] : [],\n ],\n)(signatureFields);\n\nconst RegisterSection: ComponentType = ({ t, files }) => files.length > 0\n ? (\n \n {files.map((file, idx) => (\n \n ))}\n \n )\n : (\n \n {t('emptyFiles')}\n \n );\n\ntype RejectReasonProps = {\n reasonCode: Registers.RegisterDetails['RejectReasonCode'];\n t: TFunction;\n}\n\nconst RejectReason: FC = ({ reasonCode, t }) => {\n const reasons = useEnvironment('suppliesRejectReasons');\n return (\n > component='div'>\n {t('rejectReason', { reason: reasons[reasonCode].Name })}\n \n );\n};\n\ntype DownloadAllProps = {\n uid: Registers.Register['Uid'];\n domain: DownloadButtonProps['domain'];\n}\n\nconst DownloadAll: FC = ({ uid, domain }) => {\n const download = useAction(\n () => downloadsActions.download(domain, { id: uid }),\n [uid, domain],\n );\n const { t } = useTranslation('registersList');\n return (\n \n {t('downloadAll')}\n \n );\n};\n\nexport const DownloadButton: FC = ({\n register: { Uid },\n domain = 'registers',\n}) => {\n const register = useStorageItem(domain, Uid);\n\n const shouldDownloadRegister = !register || !register.Documents;\n const [registerDownloading, setRegisterDownloading] = useState(false);\n const registerDownloadingTimer = useRef>();\n\n const signsDownloads = useDownloads('signs');\n const documentsDownloads = useDownloads('documents');\n const downloadInProgress = useMemo(\n () => !fp.isEmpty({\n ...signsDownloads,\n ...documentsDownloads,\n }),\n [signsDownloads, documentsDownloads],\n );\n\n const loadRegister = useAction(\n () => storageActions.loadItem(domain, Uid),\n [Uid, domain],\n );\n const onOpen = useCallback(\n () => {\n if (shouldDownloadRegister && !registerDownloading) {\n registerDownloadingTimer.current =\n setTimeout(() => setRegisterDownloading(true), 100);\n loadRegister();\n }\n },\n [registerDownloading, loadRegister, shouldDownloadRegister],\n );\n\n const download = useAction(\n downloadsActions.download,\n [],\n );\n\n useEffect(\n () => {\n if (!shouldDownloadRegister) {\n clearTimeout(registerDownloadingTimer.current);\n setRegisterDownloading(false);\n }\n },\n [shouldDownloadRegister],\n );\n\n const { t } = useTranslation('registersList');\n\n const documentFiles = useMemo(\n () => shouldDownloadRegister\n ? []\n : documentModel(t, register, download, documentsDownloads),\n [shouldDownloadRegister, t, register, download, documentsDownloads],\n );\n\n const signFiles = useMemo(\n () => shouldDownloadRegister\n ? []\n : signatureModel(t, register, download, signsDownloads, documentsDownloads),\n [shouldDownloadRegister, t, register, download, signsDownloads, documentsDownloads],\n );\n\n return (\n \n {!shouldDownloadRegister && (\n <>\n \n {t('documentSectionName')}\n \n \n \n \n {t('signSectionName')}\n \n \n {(register.RejectReasonCode || register.Comment) && (\n \n {t('comments')}\n \n )}\n {register.RejectReasonCode && (\n \n )}\n {register.Comment && (\n > component='div'>\n {register.Comment}\n \n )}\n \n )}\n \n );\n};\n","import fp from 'lodash/fp';\nimport React, { useMemo, ComponentType, ComponentProps } from 'react';\nimport { getDateOr, formatCurrency } from '@factorin/util';\nimport { Registers } from '@factorin/domain';\n\nimport {\n Text,\n GradientPlaceholder,\n cn,\n FocusableDiv,\n SignedIcon,\n Forbidden,\n Check,\n Expired,\n Reply,\n Checkbox,\n FactorinCheckModel,\n stopPropagation,\n} from 'Modules/ui';\nimport { paginationStatuses } from 'Modules/business/data';\nimport { useTranslation } from 'Modules/core/i18n';\n\nimport { DownloadButton } from '../DownloadButton';\nimport styles from './index.module.scss';\nimport {\n TemplateCodes,\n RowHeightsFunctionType,\n ItemProps,\n DiscountItemProps,\n ListItemType,\n DiscountListItemType,\n GetCheckableProps,\n ContractorField,\n} from './types';\n\n\nexport const datesRegisterTemplateCodes: string[] = [\n 'ReesterAccepted',\n 'ReesterApproved',\n 'ReesterCeded',\n 'ReesterDiscount',\n 'ReesterDiscountConf',\n 'ReesterDiscountComp',\n 'ReesterCompleted',\n 'ReesterVerified',\n 'ReesterFundedSupply',\n];\n\nconst registerChildTemplateCodes: TemplateCodes = {\n ReesterCeded: [\n 'ReesterFinanced',\n 'ReesterNonFinanced',\n ],\n ReesterAccepted: [\n 'ReesterConfirmed',\n 'ReesterRejected',\n ],\n ReesterApproved: [],\n ReesterDiscount: [\n 'ReesterDiscountConf',\n 'ReesterDiscountRej',\n ],\n ReesterCompleted: [\n 'ReesterCeded',\n 'ReesterCompletedRej',\n ],\n ReesterFinanced: ['ReesterNoticeOfCess'],\n};\n\nconst checkAvailableDates = (\n { RegisterTemplateCode, RegisterStartDate, RegisterEndDate }: Registers.Register,\n): boolean =>\n datesRegisterTemplateCodes.includes(RegisterTemplateCode) &&\n !!RegisterStartDate &&\n !!RegisterEndDate;\n\nconst discountItemSizes = {\n child: 6.2,\n contractor: 10.6,\n default: 9.2,\n};\n\nconst getDiscountRowHeights = ({ register, contractor, checkChild }) => {\n if (!register && contractor)\n return discountItemSizes.contractor;\n\n if (!register)\n return discountItemSizes.default;\n\n if (checkChild(register))\n return discountItemSizes.child;\n\n if (contractor)\n return discountItemSizes.contractor;\n\n return discountItemSizes.default;\n};\n\nconst itemSizes = {\n default: 7.8,\n child: 5.8,\n date: 9.2,\n contractor: 1.4,\n};\n\nexport const rowHeights = ({\n parentTemplateCode,\n contractor,\n contractors,\n customChildCheck,\n isDiscount,\n}: RowHeightsFunctionType) => (register: Registers.Register) => {\n const checkChild = (element: Registers.Register) => customChildCheck\n ? customChildCheck(element)\n : parentTemplateCode &&\n registerChildTemplateCodes[parentTemplateCode].includes(element.RegisterTemplateCode);\n\n if (isDiscount)\n return getDiscountRowHeights({ register, contractor, checkChild });\n\n if (!register && contractors)\n return itemSizes.date + itemSizes.contractor * contractors;\n\n if (!register && contractor)\n return itemSizes.date + itemSizes.contractor;\n\n if (!register)\n return itemSizes.date;\n\n if (checkChild(register))\n return itemSizes.child;\n\n const isShowDates = checkAvailableDates(register);\n\n if (contractors && isShowDates)\n return itemSizes.date + itemSizes.contractor * contractors;\n\n if (contractors)\n return itemSizes.default + itemSizes.contractor * contractors;\n\n if (contractor && isShowDates)\n return itemSizes.date + itemSizes.contractor;\n\n if (contractor || isShowDates)\n return itemSizes.date;\n\n return itemSizes.default;\n};\n\nconst getAmountField = (\n { AmountWithVat, Amount, CessionAmount, RegisterTemplateCode }: Registers.Register,\n): string => {\n if (RegisterTemplateCode === 'ReesterFundedSupply') {\n if (CessionAmount)\n return `${formatCurrency(CessionAmount)} ₽`;\n\n return null;\n }\n\n if (AmountWithVat)\n return `${formatCurrency(AmountWithVat)} ₽`;\n\n if (Amount)\n return `${formatCurrency(Amount)} ₽`;\n\n return null;\n};\n\nconst getSignIconKey = ({\n RegisterTemplateCode,\n FactorSignUid,\n DebtorORBuyerSignUid,\n ClientORProviderSignUid,\n}: Registers.Register): string => {\n if (RegisterTemplateCode === 'ReesterCeded' &&\n FactorSignUid &&\n DebtorORBuyerSignUid &&\n ClientORProviderSignUid)\n return 'allSigned';\n\n if ((RegisterTemplateCode === 'ReesterApproved' ||\n RegisterTemplateCode === 'ReesterCeded') &&\n FactorSignUid)\n return 'signedByFactor';\n\n if (RegisterTemplateCode === 'ReesterDiscountConf' &&\n DebtorORBuyerSignUid &&\n ClientORProviderSignUid)\n return 'allSigned';\n\n if (RegisterTemplateCode === 'ReesterDiscountConf' &&\n ClientORProviderSignUid)\n return 'signedByClient';\n\n if (RegisterTemplateCode === 'ReesterFundedSupply' &&\n FactorSignUid &&\n ClientORProviderSignUid)\n return 'allSigned';\n\n if (RegisterTemplateCode === 'ReesterFinanced' &&\n FactorSignUid &&\n ClientORProviderSignUid)\n return 'allSigned';\n\n if (RegisterTemplateCode === 'ReesterNoticeOfCess' &&\n FactorSignUid &&\n ClientORProviderSignUid &&\n DebtorORBuyerSignUid)\n return 'allSigned';\n\n return null;\n};\n\nconst getCheckedState = (\n value: any,\n { all, include = [], exclude = [] },\n): boolean =>\n all && !exclude.includes(value) || include.includes(value);\n\nconst updateCheckedState = (\n value: any,\n { all, include = [], exclude = [] },\n checked: boolean,\n): FactorinCheckModel => ({\n all,\n include: !all\n ? checked\n ? [...include, value]\n : include.filter(i => value !== i)\n : include,\n exclude: all\n ? checked\n ? exclude.filter(i => value !== i)\n : [...exclude, value]\n : exclude,\n});\n\nconst getCheckedProps = ({\n register,\n checkable,\n checkedRows,\n checkedKeySelector,\n onCheck,\n}: GetCheckableProps) => {\n if (checkable && (!fp.isFunction(checkable) || checkable(register))) {\n const checkedKey = checkedKeySelector(register);\n return {\n checkable: true,\n checked: getCheckedState(checkedKey, checkedRows),\n onCheck: (e: React.ChangeEvent) => onCheck(updateCheckedState(\n checkedKey,\n checkedRows,\n e.target.checked,\n )),\n };\n }\n\n return {};\n};\n\nconst ForbiddenElement = ({ forChild }) => (\n
    \n \n
    \n);\n\nconst ReplyingElement = ({ forChild }) => (\n
    \n \n
    \n);\n\nconst ProcessedElement = ({ forChild }) => (\n
    \n \n
    \n);\n\nconst ExpiredElement = ({ forChild }) => (\n
    \n \n
    \n);\n\nconst SignElement = ({ title }) => (\n \n \n
    \n);\n\nconst DownloadElement = ({ register, domain, title }) => (\n
    \n \n
    \n);\n\nconst contractorField: ContractorField = {\n Client: r => r.ClientORProviderShortName || r.ClientORProviderFullName,\n Factor: r => r.FactorShortName || r.FactorFullName,\n Debtor: r => r.DebtorORBuyerShortName || r.DebtorORBuyerShortName,\n};\n\nexport const ListItem: ComponentType = ({\n data: register,\n domain,\n queueStatus,\n isSelected,\n onClick,\n style,\n itemStyler,\n checkable,\n checkedRows,\n onCheck,\n checkedKeySelector,\n}) => {\n const { t } = useTranslation('registersList');\n const isPlaceholder = queueStatus !== paginationStatuses.COMPLETE;\n const props = useMemo(\n () => isPlaceholder ? {\n number: ,\n date: ,\n amount: ,\n } : {\n amount: getAmountField(register),\n date: getDateOr(register, 'CreateDate'),\n dates: checkAvailableDates(register) && t('dates', {\n from: getDateOr(register, 'RegisterStartDate'),\n to: getDateOr(register, 'RegisterEndDate'),\n }),\n number: register.Number,\n numberTooltip: register.Number,\n onRegisterClick: onClick,\n ...getCheckedProps({\n register,\n checkable,\n checkedRows,\n checkedKeySelector,\n onCheck,\n }),\n ...itemStyler && itemStyler(register),\n },\n [\n register,\n itemStyler,\n isPlaceholder,\n t,\n checkable,\n checkedRows,\n checkedKeySelector,\n onCheck,\n onClick,\n ],\n );\n const signIconKey = useMemo(\n () => register && getSignIconKey(register),\n [register],\n );\n\n return (\n \n
    \n {props.checkable && (\n \n )}\n
    \n {props.icon && (\n \n {props.icon}\n \n )}\n >\n ellipsis\n textType={props.isUnprocessed ? 'bolder' : 'regular'}\n component='span'\n >\n {props.number}\n \n
    \n \n {props.date}\n \n
    \n {props.dates && !props.isChild && (\n >\n component='div'\n textType='date'\n textCompact\n >\n {props.dates}\n \n )}\n {props.contractors && !props.isChild && props.contractors.map(type => {\n const contractor = contractorField[type](register);\n return (\n >\n key={type}\n component='div'\n textType='light'\n textCompact\n ellipsis\n title={contractor}\n >\n {contractor}\n \n );\n })}\n
    \n {props.amount ? (\n \n {props.amount}\n \n ) : props.description && (\n \n {props.description}\n \n )}\n
    \n {signIconKey && }\n {props.isForbidden && }\n {props.isProcessed && }\n {!isPlaceholder && isSelected && (\n \n )}\n
    \n
    \n \n );\n};\n\nexport const DiscountListItem: ComponentType = ({\n data: register,\n queueStatus,\n isSelected,\n onClick,\n style,\n itemStyler,\n}) => {\n const { t } = useTranslation('registersList');\n const isPlaceholder = queueStatus !== paginationStatuses.COMPLETE;\n const props = useMemo(\n () => isPlaceholder ? {\n number: ,\n date: ,\n } : {\n date: getDateOr(register, 'CreateDate'),\n endDate: getDateOr(register, 'DiscountDate'),\n amount: `${formatCurrency(register.SupplyAmountForDiscount)} ₽`,\n discountAmountWithVat: `${formatCurrency(register.DiscountAmountWithVat)} ₽`,\n number: register.Number,\n numberTooltip: register.Number,\n onRegisterClick: onClick,\n ...itemStyler && itemStyler(register),\n },\n [\n register,\n itemStyler,\n isPlaceholder,\n onClick,\n ],\n );\n\n const signIconKey = useMemo(\n () => register && getSignIconKey(register),\n [register],\n );\n\n return (\n \n
    \n
    \n {props.icon && (\n \n {props.icon}\n \n )}\n >\n ellipsis\n textType={props.isUnprocessed ? 'bolder' : 'regular'}\n component='span'\n >\n {props.number}\n \n
    \n \n {props.date}\n {props.endDate &&\n !props.isChild &&\n register.RegisterTemplateCode === 'ReesterDiscount' && (\n
    \n >\n component='div'\n textType='light'\n textCompact\n >\n {t('endDate')}\n \n >\n component='div'\n textType='date'\n textCompact\n >\n {props.endDate}\n \n
    \n )}\n
    \n
    \n {props.contractors && !props.isChild && props.contractors.map(type => {\n const contractor = contractorField[type](register);\n return (\n >\n key={type}\n component='div'\n className={register &&\n register.RegisterTemplateCode === 'ReesterDiscount' &&\n styles.contractor\n }\n textType='light'\n textCompact\n ellipsis\n title={contractor}\n >\n {contractor}\n \n );\n })}\n
    \n {!props.isChild && props.discountAmountWithVat && (\n
    \n > textType='budget' component='div'>\n {props.amount}\n \n \n {t('tariff')} \n {props.discountAmountWithVat}\n \n
    \n )}\n {props.isChild && (\n >\n component='div'\n className={styles.discountAmounts}\n textType='budget'\n >\n {props.amount}\n \n )}\n {signIconKey && }\n {props.isForbidden && }\n {props.isProcessed && }\n {props.isExpired && }\n {props.isReplying && }\n {!isPlaceholder && isSelected && (\n \n )}\n
    \n \n );\n};\n","import React, { useCallback, FC } from 'react';\n\nimport { Button, ArrowRight } from 'Modules/ui';\n\nimport { useTransferLayoutContext, RegistersLayoutKeys } from '../../TransferLayout';\nimport styles from './index.module.scss';\n\n\nexport const TransferButton: FC = () => {\n const { currentTab, changeTab } = useTransferLayoutContext();\n const showFullView = useCallback(\n () => changeTab(RegistersLayoutKeys.RegistersView),\n [changeTab],\n );\n\n if (!currentTab)\n return null;\n\n return (\n \n \n \n );\n};\n","import fp from 'lodash/fp';\nimport React, { useState, useCallback, useMemo, useEffect } from 'react';\nimport { Registers } from '@factorin/domain';\n\nimport { useSizeContext } from 'Modules/ui';\nimport { useAction } from 'Modules/core/redux';\nimport { useTranslation } from 'Modules/core/i18n';\nimport {\n PaginationHeader,\n PaginationList,\n PaginationParametersControl,\n paginationActions,\n IPaginationParameters,\n usePagination,\n} from 'Modules/business/data';\n\nimport { ListFilterField } from '../ListFilterField';\nimport { filterFieldForDomain } from '../../constants';\nimport { ListItem, DiscountListItem, rowHeights } from './ListItem';\nimport { TransferButton } from './TransferButton';\nimport { RegistersListProps, ParameterModel } from './types';\nimport { ListItemType } from './ListItem/types';\nimport styles from './index.module.scss';\n\n\nconst useRowHeight = (rowHeightRem: RegistersListProps['rowHeightRem']) => {\n const { rem } = useSizeContext();\n const result = useMemo(\n () => fp.isFunction(rowHeightRem)\n ? fp.pipe(rowHeightRem, fp.multiply(rem))\n : rowHeightRem * rem,\n [rowHeightRem, rem],\n );\n return result;\n};\n\nconst filterField = filterFieldForDomain.registers;\n\nconst useListPagination = (path: string, modelParameters: IPaginationParameters) => {\n const actualParameters = usePagination(path, 'parameters');\n\n const setPaginationParameters = useAction(\n (parameters: IPaginationParameters) => paginationActions.setParameters(\n path,\n parameters,\n ),\n [path],\n );\n useEffect(\n () => {\n if (!fp.isEqual(fp.omit(`filters.${filterField}`, actualParameters), modelParameters))\n setPaginationParameters(modelParameters);\n },\n [modelParameters, actualParameters, setPaginationParameters],\n );\n};\n\nexport const RegistersList = React.memo(({\n selectedId,\n basePath,\n model,\n parametersModel,\n onRowSelected,\n deselectRegister,\n onModelChange,\n item: Item = ListItem,\n itemStyler,\n rowHeightRem = rowHeights({}),\n}) => {\n const [{ key, placeholder }, setModel] = useState(\n () => fp.flatten(parametersModel)[0],\n );\n const selectModel = useCallback(\n (model: ParameterModel) => {\n if (onModelChange)\n onModelChange(model);\n\n setModel(model);\n },\n [onModelChange],\n );\n\n const path = `${basePath}/${key}`;\n\n useListPagination(path, model[key]);\n\n const elementRenderer = useCallback(\n (props: Omit) => (\n \n ),\n [Item, itemStyler],\n );\n\n const onRowSelectedCallback = useCallback(\n (register: Registers.Register) => {\n if (!register && deselectRegister)\n deselectRegister();\n\n if (register && onRowSelected)\n onRowSelected(register.Uid);\n },\n [deselectRegister, onRowSelected],\n );\n\n const rowHeight = useRowHeight(rowHeightRem);\n\n const { t } = useTranslation('registersList');\n const placeholderText: React.ReactNode = placeholder\n ? t(`registersListPlaceholders:${placeholder}`)\n : undefined;\n\n return (\n
    \n \n \n \n \n className={styles.container}\n path={path}\n selectedId={selectedId}\n onRowSelected={onRowSelectedCallback}\n elementRenderer={elementRenderer}\n rowHeight={rowHeight}\n placeholderText={placeholderText}\n />\n
    \n );\n});\n\nexport const RegisterItem = ListItem;\nexport const DiscountRegisterItem = DiscountListItem;\n\nexport { datesRegisterTemplateCodes, rowHeights as registerRowHeights } from './ListItem';\n","import React from 'react';\n\nimport { Search, Text, cn } from 'Modules/ui';\n\nimport styles from './index.module.scss';\n\n\nexport const SearchInput = ({ className, ...inputProps }) => (\n
    \n \n \n
    \n);\n","import React from 'react';\nimport { formatDate } from '@factorin/util';\n\nimport { Heading, Text } from 'Modules/ui';\nimport { translate } from 'Modules/core/i18n';\n\nimport styles from './index.module.scss';\n\n\nconst SupplyItemComponent = ({ data, t }) => (\n <>\n \n {t('header', { number: data.Number })}\n   \n \n {t('date', { date: formatDate(data.PrimaryDocumentDate) })}\n \n \n \n \n \n \n {t('data.provider')}\n \n \n {data.ProviderFullName}\n     \n {t('data.inn', { inn: data.ProviderINN })}\n \n \n \n
    \n \n);\n\nexport const SupplyItem = translate('supplyItem')(SupplyItemComponent);\n","import { withClassName } from 'Modules/ui';\n\nimport styles from './index.module.scss';\n\n\nexport const TwoColumnLayout = withClassName(styles.twoColumnLayout, 'div');\n","import { documentsFilters } from '@factorin/domain';\nimport { documents, signs } from '@factorin/rest';\n\nimport { PromptModal } from './components/PromptModal';\nimport translations from './translations.json';\nimport { fappSubscriptions } from './state';\nimport { ErrorBoundaryMiddleware } from './ErrorBoundaryMiddleware';\n\n\nexport * from './components';\n\nexport const fapp = {\n API: {\n domain: {\n documents,\n signs,\n },\n },\n\n messaging: {\n modalTypes: {\n PromptModal,\n },\n },\n\n data: {\n domain: {\n documents: {\n filters: documentsFilters,\n },\n },\n },\n\n environment: {\n initializationSagas: [],\n },\n\n wamp: {\n subscriptions: [\n ...fappSubscriptions,\n ],\n },\n\n translations,\n renderChain: [\n [ErrorBoundaryMiddleware, 100],\n ],\n};\n"],"sourceRoot":""}