@redneckz/wildless-cms-uni-blocks 0.12.10 → 0.12.12
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/bin/migration-scripts/0.12.9.js +30 -0
- package/bundle/BlockRenderer/renderBlock.d.ts +2 -4
- package/bundle/BlockRenderer/renderBlockList.d.ts +5 -2
- package/bundle/BlockRenderer/renderChildren.d.ts +5 -4
- package/bundle/blocks.schema.json +1 -1
- package/bundle/bundle.umd.js +558 -471
- package/bundle/bundle.umd.min.js +1 -1
- package/bundle/components/BenefitsBlock/benefitImageStyles.d.ts +1 -0
- package/bundle/components/BenefitsBlock/benefitImageStyles.mobile.d.ts +1 -0
- package/bundle/components/BonusBenefitsBlock/renderBonusBenefits.mobile.d.ts +1 -1
- package/bundle/components/Calculator/CalculatorContent.d.ts +20 -1
- package/bundle/components/Calculator/EmbeddableCalcBlocks.d.ts +3 -1
- package/bundle/components/Calculator/RefinancingCalculatorForm.d.ts +5 -0
- package/bundle/components/Calculator/checkRefinancingSourceBookRowCommonParams.d.ts +9 -0
- package/bundle/components/Calculator/constants.d.ts +12 -0
- package/bundle/components/Calculator/getMonthlyPayment.d.ts +8 -2
- package/bundle/components/Calculator/getRefinancingCalculatorLimitParams.d.ts +9 -0
- package/bundle/components/Calculator/getRefinancingCalculatorRateParams.d.ts +13 -0
- package/bundle/components/Calculator/useRefinancingCalculatorParams.d.ts +43 -0
- package/bundle/components/Carousel/CarouselContent.d.ts +3 -9
- package/bundle/components/Carousel/CarouselScrollButtons.d.ts +5 -6
- package/bundle/components/Carousel/renderControlButtons.d.ts +2 -3
- package/bundle/components/CarouselBankHistoryCard/CarouselBankHistoryCard.d.ts +2 -2
- package/bundle/components/CarouselCard/CarouselCard.d.ts +1 -1
- package/bundle/components/CarouselProductCard/CarouselProductCardContent.d.ts +6 -4
- package/bundle/components/CarouselProductCard/alignTextStyle.d.ts +1 -0
- package/bundle/components/CarouselProductCard/alignTextStyle.mobile.d.ts +1 -0
- package/bundle/components/Footer/Footer.d.ts +1 -4
- package/bundle/components/Footer/Footer.mobile.d.ts +1 -4
- package/bundle/components/Footer/FooterProps.d.ts +6 -0
- package/bundle/components/Header/Header.d.ts +1 -4
- package/bundle/components/Header/Header.mobile.d.ts +2 -5
- package/bundle/components/Header/HeaderContent.d.ts +0 -2
- package/bundle/components/Header/HeaderProps.d.ts +8 -0
- package/bundle/components/HorizontalLayout/HorizontalLayout.mobile.d.ts +5 -0
- package/bundle/components/LinkDocs/LinkDocsContent.d.ts +0 -2
- package/bundle/components/SafeDepositRental/RadioButtons.d.ts +6 -0
- package/bundle/components/VerticalLayout/VerticalLayoutContent.d.ts +0 -2
- package/bundle/hooks/useCarouselControls.d.ts +1 -1
- package/bundle/model/Attachment.d.ts +2 -0
- package/bundle/model/JSXBlock.d.ts +1 -1
- package/bundle/ui-kit/BaseProductTile/BaseProductTileContent.d.ts +5 -5
- package/bundle/ui-kit/SwipeListControl/useSwipeListScroll.d.ts +1 -2
- package/bundle/utils/formatBytes.d.ts +1 -0
- package/dist/BlockRenderer/renderBlock.d.ts +2 -4
- package/dist/BlockRenderer/renderBlock.js +1 -2
- package/dist/BlockRenderer/renderBlock.js.map +1 -1
- package/dist/BlockRenderer/renderBlockList.d.ts +5 -2
- package/dist/BlockRenderer/renderBlockList.js +12 -7
- package/dist/BlockRenderer/renderBlockList.js.map +1 -1
- package/dist/BlockRenderer/renderChildren.d.ts +5 -4
- package/dist/BlockRenderer/renderChildren.js +2 -2
- package/dist/BlockRenderer/renderChildren.js.map +1 -1
- package/dist/components/ApplicationForm/ApplicationForm.js +1 -1
- package/dist/components/ApplicationForm/ApplicationForm.js.map +1 -1
- package/dist/components/ApplicationForm/ApplicationFormWed.js +1 -1
- package/dist/components/ApplicationForm/ApplicationFormWed.js.map +1 -1
- package/dist/components/ApplicationForm/ResponseNotification.js +1 -1
- package/dist/components/ApplicationForm/ResponseNotification.js.map +1 -1
- package/dist/components/ApplicationForm/renderWedDataOrganization.js +1 -1
- package/dist/components/ApplicationForm/renderWedDataOrganization.js.map +1 -1
- package/dist/components/BenefitsBlock/BenefitsBlock.js +4 -4
- package/dist/components/BenefitsBlock/BenefitsBlock.js.map +1 -1
- package/dist/components/BenefitsBlock/benefitImageStyles.d.ts +1 -0
- package/dist/components/BenefitsBlock/benefitImageStyles.js +4 -0
- package/dist/components/BenefitsBlock/benefitImageStyles.js.map +1 -0
- package/dist/components/BenefitsBlock/benefitImageStyles.mobile.d.ts +1 -0
- package/dist/components/BenefitsBlock/benefitImageStyles.mobile.js +4 -0
- package/dist/components/BenefitsBlock/benefitImageStyles.mobile.js.map +1 -0
- package/dist/components/Blocks.mobile.js +6 -0
- package/dist/components/Blocks.mobile.js.map +1 -1
- package/dist/components/Bonus/Bonus.js +2 -2
- package/dist/components/Bonus/Bonus.js.map +1 -1
- package/dist/components/BonusBenefitsBlock/BonusBenefitsBlock.js +1 -2
- package/dist/components/BonusBenefitsBlock/BonusBenefitsBlock.js.map +1 -1
- package/dist/components/BonusBenefitsBlock/renderBonusBenefits.mobile.d.ts +1 -1
- package/dist/components/BonusBenefitsBlock/renderBonusBenefits.mobile.js.map +1 -1
- package/dist/components/BusinessBlock/BusinessBlock.js +1 -1
- package/dist/components/BusinessBlock/BusinessBlock.js.map +1 -1
- package/dist/components/BusinessBlock/BusinessCard.js +2 -2
- package/dist/components/BusinessBlock/BusinessCard.js.map +1 -1
- package/dist/components/Calculator/BonusCalculatorForm.js +2 -2
- package/dist/components/Calculator/BonusCalculatorForm.js.map +1 -1
- package/dist/components/Calculator/BusinessDepositCalculatorForm.js +2 -2
- package/dist/components/Calculator/BusinessDepositCalculatorForm.js.map +1 -1
- package/dist/components/Calculator/Calculator.js +5 -5
- package/dist/components/Calculator/Calculator.js.map +1 -1
- package/dist/components/Calculator/CalculatorContent.d.ts +20 -1
- package/dist/components/Calculator/CreditCalculatorForm.js +2 -2
- package/dist/components/Calculator/CreditCalculatorForm.js.map +1 -1
- package/dist/components/Calculator/DepositCalculatorForm.js +3 -3
- package/dist/components/Calculator/DepositCalculatorForm.js.map +1 -1
- package/dist/components/Calculator/EmbeddableCalcBlocks.d.ts +3 -1
- package/dist/components/Calculator/EmbeddableCalcBlocks.js +2 -0
- package/dist/components/Calculator/EmbeddableCalcBlocks.js.map +1 -1
- package/dist/components/Calculator/RefinancingCalculatorForm.d.ts +5 -0
- package/dist/components/Calculator/RefinancingCalculatorForm.js +63 -0
- package/dist/components/Calculator/RefinancingCalculatorForm.js.map +1 -0
- package/dist/components/Calculator/UnknownRate.js +1 -1
- package/dist/components/Calculator/UnknownRate.js.map +1 -1
- package/dist/components/Calculator/checkRefinancingSourceBookRowCommonParams.d.ts +9 -0
- package/dist/components/Calculator/checkRefinancingSourceBookRowCommonParams.js +23 -0
- package/dist/components/Calculator/checkRefinancingSourceBookRowCommonParams.js.map +1 -0
- package/dist/components/Calculator/constants.d.ts +12 -0
- package/dist/components/Calculator/constants.js +25 -1
- package/dist/components/Calculator/constants.js.map +1 -1
- package/dist/components/Calculator/getMonthlyPayment.d.ts +8 -2
- package/dist/components/Calculator/getMonthlyPayment.js +7 -2
- package/dist/components/Calculator/getMonthlyPayment.js.map +1 -1
- package/dist/components/Calculator/getRefinancingCalculatorLimitParams.d.ts +9 -0
- package/dist/components/Calculator/getRefinancingCalculatorLimitParams.js +10 -0
- package/dist/components/Calculator/getRefinancingCalculatorLimitParams.js.map +1 -0
- package/dist/components/Calculator/getRefinancingCalculatorRateParams.d.ts +13 -0
- package/dist/components/Calculator/getRefinancingCalculatorRateParams.js +16 -0
- package/dist/components/Calculator/getRefinancingCalculatorRateParams.js.map +1 -0
- package/dist/components/Calculator/rangeHelpers.js +7 -3
- package/dist/components/Calculator/rangeHelpers.js.map +1 -1
- package/dist/components/Calculator/useRefinancingCalculatorParams.d.ts +43 -0
- package/dist/components/Calculator/useRefinancingCalculatorParams.js +57 -0
- package/dist/components/Calculator/useRefinancingCalculatorParams.js.map +1 -0
- package/dist/components/CardTransfer/CardTransfer.js +1 -1
- package/dist/components/CardTransfer/CardTransfer.js.map +1 -1
- package/dist/components/Carousel/Carousel.js +18 -33
- package/dist/components/Carousel/Carousel.js.map +1 -1
- package/dist/components/Carousel/CarouselContent.d.ts +3 -9
- package/dist/components/Carousel/CarouselScrollButtons.d.ts +5 -6
- package/dist/components/Carousel/CarouselScrollButtons.js +4 -4
- package/dist/components/Carousel/CarouselScrollButtons.js.map +1 -1
- package/dist/components/Carousel/renderControlButtons.d.ts +2 -3
- package/dist/components/Carousel/renderControlButtons.js +3 -3
- package/dist/components/Carousel/renderControlButtons.js.map +1 -1
- package/dist/components/CarouselBankHistoryCard/CarouselBankHistoryCard.d.ts +2 -2
- package/dist/components/CarouselBankHistoryCard/CarouselBankHistoryCard.js +7 -40
- package/dist/components/CarouselBankHistoryCard/CarouselBankHistoryCard.js.map +1 -1
- package/dist/components/CarouselBankHistoryCard/CarouselBankHistoryCard.mobile.js +1 -2
- package/dist/components/CarouselBankHistoryCard/CarouselBankHistoryCard.mobile.js.map +1 -1
- package/dist/components/CarouselCard/CarouselCard.d.ts +1 -1
- package/dist/components/CarouselCard/CarouselCard.js +6 -5
- package/dist/components/CarouselCard/CarouselCard.js.map +1 -1
- package/dist/components/CarouselCard/constants.js +2 -2
- package/dist/components/CarouselCard/constants.js.map +1 -1
- package/dist/components/CarouselCatalogCard/CarouselCatalogCard.js +2 -3
- package/dist/components/CarouselCatalogCard/CarouselCatalogCard.js.map +1 -1
- package/dist/components/CarouselEventCard/CarouselEventCard.js +1 -2
- package/dist/components/CarouselEventCard/CarouselEventCard.js.map +1 -1
- package/dist/components/CarouselInvestmentCard/CarouselInvestmentCard.js +1 -1
- package/dist/components/CarouselInvestmentCard/CarouselInvestmentCard.js.map +1 -1
- package/dist/components/CarouselLinks/CarouselLinks.js +2 -2
- package/dist/components/CarouselLinks/CarouselLinks.js.map +1 -1
- package/dist/components/CarouselProductCard/CarouselProductCard.js +13 -12
- package/dist/components/CarouselProductCard/CarouselProductCard.js.map +1 -1
- package/dist/components/CarouselProductCard/CarouselProductCardContent.d.ts +6 -4
- package/dist/components/CarouselProductCard/alignTextStyle.d.ts +1 -0
- package/dist/components/CarouselProductCard/alignTextStyle.js +4 -0
- package/dist/components/CarouselProductCard/alignTextStyle.js.map +1 -0
- package/dist/components/CarouselProductCard/alignTextStyle.mobile.d.ts +1 -0
- package/dist/components/CarouselProductCard/alignTextStyle.mobile.js +4 -0
- package/dist/components/CarouselProductCard/alignTextStyle.mobile.js.map +1 -0
- package/dist/components/CarouselProgramsCard/CarouselProgramsCard.js +2 -5
- package/dist/components/CarouselProgramsCard/CarouselProgramsCard.js.map +1 -1
- package/dist/components/CarouselRecommendationCard/CarouselRecommendationCard.js +3 -4
- package/dist/components/CarouselRecommendationCard/CarouselRecommendationCard.js.map +1 -1
- package/dist/components/CarouselRecommendationCard/CarouselRecommendationCard.mobile.js +1 -2
- package/dist/components/CarouselRecommendationCard/CarouselRecommendationCard.mobile.js.map +1 -1
- package/dist/components/CarouselRichTextCard/CarouselRichTextCard.js +1 -2
- package/dist/components/CarouselRichTextCard/CarouselRichTextCard.js.map +1 -1
- package/dist/components/CarouselTariffsCard/CarouselTariffsCard.js +2 -2
- package/dist/components/CarouselTariffsCard/CarouselTariffsCard.js.map +1 -1
- package/dist/components/CarouselTariffsCard/getPaddingStyle.mobile.js +1 -1
- package/dist/components/CarouselTariffsCard/getPaddingStyle.mobile.js.map +1 -1
- package/dist/components/ComparisonTable/ComparisonTable.js +2 -2
- package/dist/components/ComparisonTable/ComparisonTable.js.map +1 -1
- package/dist/components/ComparisonTable/ComparisonTable.mobile.js +1 -1
- package/dist/components/ComparisonTable/ComparisonTable.mobile.js.map +1 -1
- package/dist/components/ComparisonTable/ComparisonTableBody.js +1 -1
- package/dist/components/ComparisonTable/ComparisonTableBody.js.map +1 -1
- package/dist/components/ComparisonTable/ComparisonTableRows.js +1 -1
- package/dist/components/ComparisonTable/ComparisonTableRows.js.map +1 -1
- package/dist/components/ComparisonTable/HeaderCell.js +1 -1
- package/dist/components/ComparisonTable/HeaderCell.js.map +1 -1
- package/dist/components/ComparisonTable/HeaderCell.mobile.js +2 -2
- package/dist/components/ComparisonTable/HeaderCell.mobile.js.map +1 -1
- package/dist/components/ComparisonTable/TableCell.js +1 -1
- package/dist/components/ComparisonTable/TableCell.js.map +1 -1
- package/dist/components/ComparisonTable/TableColumn.js +2 -2
- package/dist/components/ComparisonTable/TableColumn.js.map +1 -1
- package/dist/components/ContactsBlock/ContactsBlock.js +2 -2
- package/dist/components/ContactsBlock/ContactsBlock.js.map +1 -1
- package/dist/components/ContentPage/ContentPage.js +17 -10
- package/dist/components/ContentPage/ContentPage.js.map +1 -1
- package/dist/components/ExchangeRateOffice/ExchangeRateOffice.js +1 -1
- package/dist/components/ExchangeRateOffice/ExchangeRateOffice.js.map +1 -1
- package/dist/components/ExchangeRateOffice/renderCurrencies.js +3 -3
- package/dist/components/ExchangeRateOffice/renderCurrencies.js.map +1 -1
- package/dist/components/ExchangeRateOffice/renderTableHeader.js +1 -1
- package/dist/components/ExchangeRateOffice/renderTableHeader.js.map +1 -1
- package/dist/components/ExchangeRateTile/CurrencyTable.js +4 -3
- package/dist/components/ExchangeRateTile/CurrencyTable.js.map +1 -1
- package/dist/components/ExchangeRateTile/CurrentLocation.js +3 -2
- package/dist/components/ExchangeRateTile/CurrentLocation.js.map +1 -1
- package/dist/components/ExchangeRateTile/ExchangeCurrencyCalculator.js +1 -1
- package/dist/components/ExchangeRateTile/ExchangeCurrencyCalculator.js.map +1 -1
- package/dist/components/ExchangeRateTile/ExchangeRateTile.js +1 -1
- package/dist/components/ExchangeRateTile/ExchangeRateTile.js.map +1 -1
- package/dist/components/Footer/Contacts.js +4 -3
- package/dist/components/Footer/Contacts.js.map +1 -1
- package/dist/components/Footer/Footer.d.ts +1 -4
- package/dist/components/Footer/Footer.js +3 -5
- package/dist/components/Footer/Footer.js.map +1 -1
- package/dist/components/Footer/Footer.mobile.d.ts +1 -4
- package/dist/components/Footer/Footer.mobile.js +3 -5
- package/dist/components/Footer/Footer.mobile.js.map +1 -1
- package/dist/components/Footer/FooterProps.d.ts +6 -0
- package/dist/components/Footer/FooterProps.js +2 -0
- package/dist/components/Footer/FooterProps.js.map +1 -0
- package/dist/components/GracePeriod/GracePeriod.js +2 -2
- package/dist/components/GracePeriod/GracePeriod.js.map +1 -1
- package/dist/components/Header/Header.d.ts +1 -4
- package/dist/components/Header/Header.js +3 -9
- package/dist/components/Header/Header.js.map +1 -1
- package/dist/components/Header/Header.mobile.d.ts +2 -5
- package/dist/components/Header/Header.mobile.js +3 -6
- package/dist/components/Header/Header.mobile.js.map +1 -1
- package/dist/components/Header/HeaderContent.d.ts +0 -2
- package/dist/components/Header/HeaderProps.d.ts +8 -0
- package/dist/components/Header/HeaderProps.js +2 -0
- package/dist/components/Header/HeaderProps.js.map +1 -0
- package/dist/components/Header/HeaderSubMenu.js +1 -1
- package/dist/components/Header/HeaderSubMenu.js.map +1 -1
- package/dist/components/Header/HeaderTop.js +1 -1
- package/dist/components/Header/HeaderTop.js.map +1 -1
- package/dist/components/Headline/Headline.js +1 -1
- package/dist/components/Headline/Headline.js.map +1 -1
- package/dist/components/Headline/headlineVersionStyles.js +4 -4
- package/dist/components/Headline/headlineVersionStyles.js.map +1 -1
- package/dist/components/HorizontalLayout/HorizontalLayout.js +1 -1
- package/dist/components/HorizontalLayout/HorizontalLayout.js.map +1 -1
- package/dist/components/HorizontalLayout/HorizontalLayout.mobile.d.ts +5 -0
- package/dist/components/HorizontalLayout/HorizontalLayout.mobile.js +8 -0
- package/dist/components/HorizontalLayout/HorizontalLayout.mobile.js.map +1 -0
- package/dist/components/HorizontalLayout/gapStyles.js +6 -6
- package/dist/components/HorizontalLayout/gapStyles.js.map +1 -1
- package/dist/components/InsuranceAmountBlock/InsuranceAmountBlock.js +1 -1
- package/dist/components/InsuranceAmountBlock/InsuranceAmountBlock.js.map +1 -1
- package/dist/components/InsuranceAmountBlock/InsuranceAmountBlockInner.js +2 -2
- package/dist/components/InsuranceAmountBlock/InsuranceAmountBlockInner.js.map +1 -1
- package/dist/components/InvestmentInfo/InvestmentInfo.js +12 -14
- package/dist/components/InvestmentInfo/InvestmentInfo.js.map +1 -1
- package/dist/components/LinkDocs/LinkDocs.js +6 -2
- package/dist/components/LinkDocs/LinkDocs.js.map +1 -1
- package/dist/components/LinkDocs/LinkDocsContent.d.ts +0 -2
- package/dist/components/MobileAppTile/MobileAppTile.js +2 -2
- package/dist/components/MobileAppTile/MobileAppTile.js.map +1 -1
- package/dist/components/MobileAppTile/renderDescription.js +1 -1
- package/dist/components/MobileAppTile/renderList.js +1 -1
- package/dist/components/MobileAppTile/renderList.js.map +1 -1
- package/dist/components/OfficeMap/OfficeMap.js +1 -1
- package/dist/components/OfficeMap/OfficeMap.js.map +1 -1
- package/dist/components/OfficeServicesBlock/OfficeServicesBlock.js +2 -2
- package/dist/components/OfficeServicesBlock/OfficeServicesBlock.js.map +1 -1
- package/dist/components/PictureText/PictureText.js +1 -1
- package/dist/components/PictureText/PictureText.js.map +1 -1
- package/dist/components/PictureText/renderInsuranceSumMonth.js +1 -1
- package/dist/components/PictureText/renderInsuranceSumMonth.js.map +1 -1
- package/dist/components/Placeholder/Placeholder.js +2 -2
- package/dist/components/Placeholder/Placeholder.js.map +1 -1
- package/dist/components/ProductBlock/ProductBlock.js +1 -1
- package/dist/components/ProductBlock/ProductBlock.js.map +1 -1
- package/dist/components/ProductGallery/ProductGallery.js +1 -1
- package/dist/components/ProductGallery/ProductGallery.js.map +1 -1
- package/dist/components/ProductTile/ProductTile.js +1 -1
- package/dist/components/ProductTile/ProductTile.js.map +1 -1
- package/dist/components/PromoTile/PromoTile.js +1 -1
- package/dist/components/PromoTile/PromoTile.js.map +1 -1
- package/dist/components/RepresentativeOfficeInfo/RepresentativeOfficeInfo.js +4 -8
- package/dist/components/RepresentativeOfficeInfo/RepresentativeOfficeInfo.js.map +1 -1
- package/dist/components/RollupItem/RollupItem.js +5 -2
- package/dist/components/RollupItem/RollupItem.js.map +1 -1
- package/dist/components/SafeDepositRental/RadioButtons.d.ts +6 -0
- package/dist/components/SafeDepositRental/RadioButtons.js +13 -0
- package/dist/components/SafeDepositRental/RadioButtons.js.map +1 -0
- package/dist/components/SafeDepositRental/RegionsAndBranches.js +1 -1
- package/dist/components/SafeDepositRental/RegionsAndBranches.js.map +1 -1
- package/dist/components/SafeDepositRental/RentalPeriod.js +2 -1
- package/dist/components/SafeDepositRental/RentalPeriod.js.map +1 -1
- package/dist/components/SafeDepositRental/SafeBoxCases.js +1 -1
- package/dist/components/SafeDepositRental/SafeBoxCases.js.map +1 -1
- package/dist/components/SafeDepositRental/SafeDepositRental.js +1 -1
- package/dist/components/SafeDepositRental/SafeDepositRental.js.map +1 -1
- package/dist/components/SafeDepositRental/SafeDepositRentalFields.js +2 -2
- package/dist/components/SafeDepositRental/SafeDepositRentalFields.js.map +1 -1
- package/dist/components/SafeDepositRental/SafeDepositRentalForm.js +1 -1
- package/dist/components/SafeDepositRental/SafeDepositRentalForm.js.map +1 -1
- package/dist/components/SafeDepositRental/SafeDepositRentalTotal.js +4 -3
- package/dist/components/SafeDepositRental/SafeDepositRentalTotal.js.map +1 -1
- package/dist/components/StepsBlock/StepsBlock.js +5 -5
- package/dist/components/StepsBlock/StepsBlock.js.map +1 -1
- package/dist/components/StepsBlock/StepsBlock.mobile.js +3 -3
- package/dist/components/StepsBlock/StepsBlock.mobile.js.map +1 -1
- package/dist/components/StepsBlock/renderStep.js +2 -2
- package/dist/components/StepsBlock/renderStep.js.map +1 -1
- package/dist/components/Tabs/ScrollableTabs.js +0 -1
- package/dist/components/Tabs/ScrollableTabs.js.map +1 -1
- package/dist/components/Tabs/renderGroupTab.js +1 -1
- package/dist/components/Tabs/renderGroupTab.js.map +1 -1
- package/dist/components/TariffsTable/EmbeddableCellData.mobile.js +1 -1
- package/dist/components/TariffsTable/EmbeddableCellData.mobile.js.map +1 -1
- package/dist/components/TariffsTable/TableTileHeader.js +1 -1
- package/dist/components/TariffsTable/TableTileHeader.js.map +1 -1
- package/dist/components/TariffsTable/TariffsTable.js +4 -10
- package/dist/components/TariffsTable/TariffsTable.js.map +1 -1
- package/dist/components/TariffsTable/TariffsTable.mobile.js +1 -1
- package/dist/components/TariffsTable/TariffsTable.mobile.js.map +1 -1
- package/dist/components/TariffsTable/TariffsTableRenderCell.js +1 -1
- package/dist/components/TariffsTable/TariffsTableRenderCell.js.map +1 -1
- package/dist/components/TariffsTable/TariffsTableRow.js +1 -1
- package/dist/components/TariffsTable/TariffsTableRow.js.map +1 -1
- package/dist/components/TariffsTable/TariffsTableTileCell.js +1 -1
- package/dist/components/TariffsTable/TariffsTableTileCell.js.map +1 -1
- package/dist/components/Tile/Tile.js +1 -1
- package/dist/components/Tile/Tile.js.map +1 -1
- package/dist/components/VerticalLayout/VerticalLayout.js +4 -14
- package/dist/components/VerticalLayout/VerticalLayout.js.map +1 -1
- package/dist/components/VerticalLayout/VerticalLayoutContent.d.ts +0 -2
- package/dist/content-page-repository/transformDocument.js +3 -0
- package/dist/content-page-repository/transformDocument.js.map +1 -1
- package/dist/hooks/useCarouselControls.d.ts +1 -1
- package/dist/hooks/useCarouselControls.js +5 -6
- package/dist/hooks/useCarouselControls.js.map +1 -1
- package/dist/model/Attachment.d.ts +2 -0
- package/dist/model/JSXBlock.d.ts +1 -1
- package/dist/ui-kit/BaseFiltration/BaseFiltrationInner.js +1 -1
- package/dist/ui-kit/BaseFiltration/BaseFiltrationInner.js.map +1 -1
- package/dist/ui-kit/BaseProductTile/BaseProductTile.js +1 -1
- package/dist/ui-kit/BaseProductTile/BaseProductTile.js.map +1 -1
- package/dist/ui-kit/BaseProductTile/BaseProductTileContent.d.ts +5 -5
- package/dist/ui-kit/BaseTile/BaseTile.js +1 -1
- package/dist/ui-kit/BaseTile/BaseTile.js.map +1 -1
- package/dist/ui-kit/BenefitItem/BenefitItem.js +1 -1
- package/dist/ui-kit/BlockWrapper.js +2 -2
- package/dist/ui-kit/BlockWrapper.js.map +1 -1
- package/dist/ui-kit/Button/ButtonInner.js +1 -1
- package/dist/ui-kit/Button/renderButtonsSection.js +1 -1
- package/dist/ui-kit/Dialog/Dialog.js +1 -1
- package/dist/ui-kit/Dialog/Dialog.js.map +1 -1
- package/dist/ui-kit/InnerTable/InnerTableBodyItem.js +3 -3
- package/dist/ui-kit/InnerTable/InnerTableBodyItem.js.map +1 -1
- package/dist/ui-kit/InnerTable/InnerTableButton.js +1 -1
- package/dist/ui-kit/InnerTable/InnerTableHeader.js +1 -1
- package/dist/ui-kit/InnerTable/InnerTableHeader.js.map +1 -1
- package/dist/ui-kit/Input/Input.js +1 -1
- package/dist/ui-kit/Input/Input.js.map +1 -1
- package/dist/ui-kit/InputRange/InputRange.js +1 -1
- package/dist/ui-kit/InputRange/InputRange.js.map +1 -1
- package/dist/ui-kit/LinkButton/LinkButton.js +3 -3
- package/dist/ui-kit/LinkList/LinkList.js +2 -2
- package/dist/ui-kit/LinkList/LinkList.js.map +1 -1
- package/dist/ui-kit/List/List.js +4 -4
- package/dist/ui-kit/List/List.js.map +1 -1
- package/dist/ui-kit/List/ListItem.js +3 -3
- package/dist/ui-kit/List/ListItem.js.map +1 -1
- package/dist/ui-kit/LocationDialog/LocationDialog.js +4 -4
- package/dist/ui-kit/LocationDialog/LocationDialog.js.map +1 -1
- package/dist/ui-kit/LocationDialog/SearchBar.js +1 -1
- package/dist/ui-kit/LocationDialog/SearchBar.js.map +1 -1
- package/dist/ui-kit/Logo/renderTitle.js +1 -1
- package/dist/ui-kit/Logo/renderTitle.js.map +1 -1
- package/dist/ui-kit/SearchDialog/SearchDialog.js +1 -1
- package/dist/ui-kit/SearchDialog/SearchDialog.js.map +1 -1
- package/dist/ui-kit/SearchDialog/SearchInput.js +1 -1
- package/dist/ui-kit/Select/Select.js +1 -1
- package/dist/ui-kit/Select/Select.js.map +1 -1
- package/dist/ui-kit/SlideCheckbox/SlideCheckbox.js +1 -1
- package/dist/ui-kit/SlideCheckbox/SlideCheckbox.js.map +1 -1
- package/dist/ui-kit/SwipeListControl/SwipeListContainer.js +1 -1
- package/dist/ui-kit/SwipeListControl/SwipeListContainer.js.map +1 -1
- package/dist/ui-kit/SwipeListControl/useSwipeListScroll.d.ts +1 -2
- package/dist/ui-kit/SwipeListControl/useSwipeListScroll.js +11 -11
- package/dist/ui-kit/SwipeListControl/useSwipeListScroll.js.map +1 -1
- package/dist/ui-kit/TableArrowScrollControl/TableArrowScrollControl.js +1 -1
- package/dist/ui-kit/TableArrowScrollControl/TableArrowScrollControl.js.map +1 -1
- package/dist/ui-kit/YandexMap/YandexMap.js +1 -1
- package/dist/ui-kit/YandexMap/YandexMap.js.map +1 -1
- package/dist/ui-kit/YandexMap/renderSearchField.js +1 -1
- package/dist/ui-kit/YandexMap/renderSearchField.js.map +1 -1
- package/dist/utils/formatBytes.d.ts +1 -0
- package/dist/utils/formatBytes.js +13 -0
- package/dist/utils/formatBytes.js.map +1 -0
- package/lib/BlockRenderer/renderBlock.d.ts +2 -4
- package/lib/BlockRenderer/renderBlock.js +1 -2
- package/lib/BlockRenderer/renderBlock.js.map +1 -1
- package/lib/BlockRenderer/renderBlockList.d.ts +5 -2
- package/lib/BlockRenderer/renderBlockList.js +12 -7
- package/lib/BlockRenderer/renderBlockList.js.map +1 -1
- package/lib/BlockRenderer/renderChildren.d.ts +5 -4
- package/lib/BlockRenderer/renderChildren.js +2 -2
- package/lib/BlockRenderer/renderChildren.js.map +1 -1
- package/lib/common.css +1 -1
- package/lib/components/ApplicationForm/ApplicationForm.js +1 -1
- package/lib/components/ApplicationForm/ApplicationForm.js.map +1 -1
- package/lib/components/ApplicationForm/ApplicationFormWed.js +1 -1
- package/lib/components/ApplicationForm/ApplicationFormWed.js.map +1 -1
- package/lib/components/ApplicationForm/ResponseNotification.js +1 -1
- package/lib/components/ApplicationForm/ResponseNotification.js.map +1 -1
- package/lib/components/ApplicationForm/renderWedDataOrganization.js +1 -1
- package/lib/components/ApplicationForm/renderWedDataOrganization.js.map +1 -1
- package/lib/components/BenefitsBlock/BenefitsBlock.js +4 -4
- package/lib/components/BenefitsBlock/BenefitsBlock.js.map +1 -1
- package/lib/components/BenefitsBlock/benefitImageStyles.d.ts +1 -0
- package/lib/components/BenefitsBlock/benefitImageStyles.js +2 -0
- package/lib/components/BenefitsBlock/benefitImageStyles.js.map +1 -0
- package/lib/components/BenefitsBlock/benefitImageStyles.mobile.d.ts +1 -0
- package/lib/components/BenefitsBlock/benefitImageStyles.mobile.js +2 -0
- package/lib/components/BenefitsBlock/benefitImageStyles.mobile.js.map +1 -0
- package/lib/components/Blocks.mobile.js +6 -0
- package/lib/components/Blocks.mobile.js.map +1 -1
- package/lib/components/Bonus/Bonus.js +2 -2
- package/lib/components/Bonus/Bonus.js.map +1 -1
- package/lib/components/BonusBenefitsBlock/BonusBenefitsBlock.js +1 -2
- package/lib/components/BonusBenefitsBlock/BonusBenefitsBlock.js.map +1 -1
- package/lib/components/BonusBenefitsBlock/renderBonusBenefits.mobile.d.ts +1 -1
- package/lib/components/BonusBenefitsBlock/renderBonusBenefits.mobile.js.map +1 -1
- package/lib/components/BusinessBlock/BusinessBlock.js +1 -1
- package/lib/components/BusinessBlock/BusinessBlock.js.map +1 -1
- package/lib/components/BusinessBlock/BusinessCard.js +2 -2
- package/lib/components/BusinessBlock/BusinessCard.js.map +1 -1
- package/lib/components/Calculator/BonusCalculatorForm.js +2 -2
- package/lib/components/Calculator/BonusCalculatorForm.js.map +1 -1
- package/lib/components/Calculator/BusinessDepositCalculatorForm.js +2 -2
- package/lib/components/Calculator/BusinessDepositCalculatorForm.js.map +1 -1
- package/lib/components/Calculator/Calculator.fixture.d.ts +1 -0
- package/lib/components/Calculator/Calculator.js +5 -5
- package/lib/components/Calculator/Calculator.js.map +1 -1
- package/lib/components/Calculator/CalculatorContent.d.ts +20 -1
- package/lib/components/Calculator/CreditCalculatorForm.js +2 -2
- package/lib/components/Calculator/CreditCalculatorForm.js.map +1 -1
- package/lib/components/Calculator/DepositCalculatorForm.js +3 -3
- package/lib/components/Calculator/DepositCalculatorForm.js.map +1 -1
- package/lib/components/Calculator/EmbeddableCalcBlocks.d.ts +3 -1
- package/lib/components/Calculator/EmbeddableCalcBlocks.js +2 -0
- package/lib/components/Calculator/EmbeddableCalcBlocks.js.map +1 -1
- package/lib/components/Calculator/RefinancingCalculatorForm.d.ts +5 -0
- package/lib/components/Calculator/RefinancingCalculatorForm.js +61 -0
- package/lib/components/Calculator/RefinancingCalculatorForm.js.map +1 -0
- package/lib/components/Calculator/UnknownRate.js +1 -1
- package/lib/components/Calculator/UnknownRate.js.map +1 -1
- package/lib/components/Calculator/checkRefinancingSourceBookRowCommonParams.d.ts +9 -0
- package/lib/components/Calculator/checkRefinancingSourceBookRowCommonParams.js +20 -0
- package/lib/components/Calculator/checkRefinancingSourceBookRowCommonParams.js.map +1 -0
- package/lib/components/Calculator/constants.d.ts +12 -0
- package/lib/components/Calculator/constants.js +24 -0
- package/lib/components/Calculator/constants.js.map +1 -1
- package/lib/components/Calculator/getMonthlyPayment.d.ts +8 -2
- package/lib/components/Calculator/getMonthlyPayment.js +7 -2
- package/lib/components/Calculator/getMonthlyPayment.js.map +1 -1
- package/lib/components/Calculator/getRefinancingCalculatorLimitParams.d.ts +9 -0
- package/lib/components/Calculator/getRefinancingCalculatorLimitParams.js +7 -0
- package/lib/components/Calculator/getRefinancingCalculatorLimitParams.js.map +1 -0
- package/lib/components/Calculator/getRefinancingCalculatorRateParams.d.ts +13 -0
- package/lib/components/Calculator/getRefinancingCalculatorRateParams.js +13 -0
- package/lib/components/Calculator/getRefinancingCalculatorRateParams.js.map +1 -0
- package/lib/components/Calculator/rangeHelpers.js +7 -3
- package/lib/components/Calculator/rangeHelpers.js.map +1 -1
- package/lib/components/Calculator/useRefinancingCalculatorParams.d.ts +43 -0
- package/lib/components/Calculator/useRefinancingCalculatorParams.js +54 -0
- package/lib/components/Calculator/useRefinancingCalculatorParams.js.map +1 -0
- package/lib/components/CardTransfer/CardTransfer.js +1 -1
- package/lib/components/CardTransfer/CardTransfer.js.map +1 -1
- package/lib/components/Carousel/Carousel.js +18 -33
- package/lib/components/Carousel/Carousel.js.map +1 -1
- package/lib/components/Carousel/CarouselContent.d.ts +3 -9
- package/lib/components/Carousel/CarouselScrollButtons.d.ts +5 -6
- package/lib/components/Carousel/CarouselScrollButtons.js +4 -4
- package/lib/components/Carousel/CarouselScrollButtons.js.map +1 -1
- package/lib/components/Carousel/renderControlButtons.d.ts +3 -3
- package/lib/components/Carousel/renderControlButtons.js +3 -3
- package/lib/components/Carousel/renderControlButtons.js.map +1 -1
- package/lib/components/CarouselBankHistoryCard/CarouselBankHistoryCard.d.ts +2 -2
- package/lib/components/CarouselBankHistoryCard/CarouselBankHistoryCard.js +7 -40
- package/lib/components/CarouselBankHistoryCard/CarouselBankHistoryCard.js.map +1 -1
- package/lib/components/CarouselBankHistoryCard/CarouselBankHistoryCard.mobile.js +1 -2
- package/lib/components/CarouselBankHistoryCard/CarouselBankHistoryCard.mobile.js.map +1 -1
- package/lib/components/CarouselCard/CarouselCard.d.ts +1 -1
- package/lib/components/CarouselCard/CarouselCard.js +6 -5
- package/lib/components/CarouselCard/CarouselCard.js.map +1 -1
- package/lib/components/CarouselCard/constants.js +2 -2
- package/lib/components/CarouselCard/constants.js.map +1 -1
- package/lib/components/CarouselCatalogCard/CarouselCatalogCard.js +2 -3
- package/lib/components/CarouselCatalogCard/CarouselCatalogCard.js.map +1 -1
- package/lib/components/CarouselEventCard/CarouselEventCard.js +1 -2
- package/lib/components/CarouselEventCard/CarouselEventCard.js.map +1 -1
- package/lib/components/CarouselInvestmentCard/CarouselInvestmentCard.js +1 -1
- package/lib/components/CarouselInvestmentCard/CarouselInvestmentCard.js.map +1 -1
- package/lib/components/CarouselLinks/CarouselLinks.js +2 -2
- package/lib/components/CarouselLinks/CarouselLinks.js.map +1 -1
- package/lib/components/CarouselProductCard/CarouselProductCard.js +13 -12
- package/lib/components/CarouselProductCard/CarouselProductCard.js.map +1 -1
- package/lib/components/CarouselProductCard/CarouselProductCardContent.d.ts +6 -4
- package/lib/components/CarouselProductCard/alignTextStyle.d.ts +1 -0
- package/lib/components/CarouselProductCard/alignTextStyle.js +2 -0
- package/lib/components/CarouselProductCard/alignTextStyle.js.map +1 -0
- package/lib/components/CarouselProductCard/alignTextStyle.mobile.d.ts +1 -0
- package/lib/components/CarouselProductCard/alignTextStyle.mobile.js +2 -0
- package/lib/components/CarouselProductCard/alignTextStyle.mobile.js.map +1 -0
- package/lib/components/CarouselProgramsCard/CarouselProgramsCard.js +2 -5
- package/lib/components/CarouselProgramsCard/CarouselProgramsCard.js.map +1 -1
- package/lib/components/CarouselRecommendationCard/CarouselRecommendationCard.js +4 -5
- package/lib/components/CarouselRecommendationCard/CarouselRecommendationCard.js.map +1 -1
- package/lib/components/CarouselRecommendationCard/CarouselRecommendationCard.mobile.js +1 -2
- package/lib/components/CarouselRecommendationCard/CarouselRecommendationCard.mobile.js.map +1 -1
- package/lib/components/CarouselRichTextCard/CarouselRichTextCard.js +1 -2
- package/lib/components/CarouselRichTextCard/CarouselRichTextCard.js.map +1 -1
- package/lib/components/CarouselTariffsCard/CarouselTariffsCard.js +2 -2
- package/lib/components/CarouselTariffsCard/CarouselTariffsCard.js.map +1 -1
- package/lib/components/CarouselTariffsCard/getPaddingStyle.mobile.js +1 -1
- package/lib/components/CarouselTariffsCard/getPaddingStyle.mobile.js.map +1 -1
- package/lib/components/ComparisonTable/ComparisonTable.js +2 -2
- package/lib/components/ComparisonTable/ComparisonTable.js.map +1 -1
- package/lib/components/ComparisonTable/ComparisonTable.mobile.js +1 -1
- package/lib/components/ComparisonTable/ComparisonTable.mobile.js.map +1 -1
- package/lib/components/ComparisonTable/ComparisonTableBody.js +1 -1
- package/lib/components/ComparisonTable/ComparisonTableBody.js.map +1 -1
- package/lib/components/ComparisonTable/ComparisonTableRows.js +1 -1
- package/lib/components/ComparisonTable/ComparisonTableRows.js.map +1 -1
- package/lib/components/ComparisonTable/HeaderCell.js +1 -1
- package/lib/components/ComparisonTable/HeaderCell.js.map +1 -1
- package/lib/components/ComparisonTable/HeaderCell.mobile.js +2 -2
- package/lib/components/ComparisonTable/HeaderCell.mobile.js.map +1 -1
- package/lib/components/ComparisonTable/TableCell.js +1 -1
- package/lib/components/ComparisonTable/TableCell.js.map +1 -1
- package/lib/components/ComparisonTable/TableColumn.js +2 -2
- package/lib/components/ComparisonTable/TableColumn.js.map +1 -1
- package/lib/components/ContactsBlock/ContactsBlock.js +2 -2
- package/lib/components/ContactsBlock/ContactsBlock.js.map +1 -1
- package/lib/components/ContentPage/ContentPage.js +17 -10
- package/lib/components/ContentPage/ContentPage.js.map +1 -1
- package/lib/components/ExchangeRateOffice/ExchangeRateOffice.js +1 -1
- package/lib/components/ExchangeRateOffice/ExchangeRateOffice.js.map +1 -1
- package/lib/components/ExchangeRateOffice/renderCurrencies.js +3 -3
- package/lib/components/ExchangeRateOffice/renderCurrencies.js.map +1 -1
- package/lib/components/ExchangeRateOffice/renderTableHeader.js +1 -1
- package/lib/components/ExchangeRateOffice/renderTableHeader.js.map +1 -1
- package/lib/components/ExchangeRateTile/CurrencyTable.js +4 -3
- package/lib/components/ExchangeRateTile/CurrencyTable.js.map +1 -1
- package/lib/components/ExchangeRateTile/CurrentLocation.js +3 -2
- package/lib/components/ExchangeRateTile/CurrentLocation.js.map +1 -1
- package/lib/components/ExchangeRateTile/ExchangeCurrencyCalculator.js +1 -1
- package/lib/components/ExchangeRateTile/ExchangeCurrencyCalculator.js.map +1 -1
- package/lib/components/ExchangeRateTile/ExchangeRateTile.fixture.mobile.d.ts +6 -0
- package/lib/components/ExchangeRateTile/ExchangeRateTile.js +1 -1
- package/lib/components/ExchangeRateTile/ExchangeRateTile.js.map +1 -1
- package/lib/components/Footer/Contacts.js +4 -3
- package/lib/components/Footer/Contacts.js.map +1 -1
- package/lib/components/Footer/Footer.d.ts +1 -4
- package/lib/components/Footer/Footer.js +3 -5
- package/lib/components/Footer/Footer.js.map +1 -1
- package/lib/components/Footer/Footer.mobile.d.ts +1 -4
- package/lib/components/Footer/Footer.mobile.js +3 -5
- package/lib/components/Footer/Footer.mobile.js.map +1 -1
- package/lib/components/Footer/FooterProps.d.ts +6 -0
- package/lib/components/Footer/FooterProps.js +2 -0
- package/lib/components/Footer/FooterProps.js.map +1 -0
- package/lib/components/GracePeriod/GracePeriod.js +2 -2
- package/lib/components/GracePeriod/GracePeriod.js.map +1 -1
- package/lib/components/Header/Header.d.ts +1 -4
- package/lib/components/Header/Header.fixture.d.ts +0 -1
- package/lib/components/Header/Header.js +3 -9
- package/lib/components/Header/Header.js.map +1 -1
- package/lib/components/Header/Header.mobile.d.ts +2 -5
- package/lib/components/Header/Header.mobile.js +3 -6
- package/lib/components/Header/Header.mobile.js.map +1 -1
- package/lib/components/Header/HeaderContent.d.ts +0 -2
- package/lib/components/Header/HeaderProps.d.ts +8 -0
- package/lib/components/Header/HeaderProps.js +2 -0
- package/lib/components/Header/HeaderProps.js.map +1 -0
- package/lib/components/Header/HeaderSubMenu.js +1 -1
- package/lib/components/Header/HeaderSubMenu.js.map +1 -1
- package/lib/components/Header/HeaderTop.js +1 -1
- package/lib/components/Header/HeaderTop.js.map +1 -1
- package/lib/components/Headline/Headline.js +1 -1
- package/lib/components/Headline/Headline.js.map +1 -1
- package/lib/components/Headline/headlineVersionStyles.js +4 -4
- package/lib/components/Headline/headlineVersionStyles.js.map +1 -1
- package/lib/components/HorizontalLayout/HorizontalLayout.fixture.mobile.d.ts +8 -0
- package/lib/components/HorizontalLayout/HorizontalLayout.js +1 -1
- package/lib/components/HorizontalLayout/HorizontalLayout.js.map +1 -1
- package/lib/components/HorizontalLayout/HorizontalLayout.mobile.d.ts +5 -0
- package/lib/components/HorizontalLayout/HorizontalLayout.mobile.js +6 -0
- package/lib/components/HorizontalLayout/HorizontalLayout.mobile.js.map +1 -0
- package/lib/components/HorizontalLayout/gapStyles.js +6 -6
- package/lib/components/HorizontalLayout/gapStyles.js.map +1 -1
- package/lib/components/InsuranceAmountBlock/InsuranceAmountBlock.js +1 -1
- package/lib/components/InsuranceAmountBlock/InsuranceAmountBlock.js.map +1 -1
- package/lib/components/InsuranceAmountBlock/InsuranceAmountBlockInner.js +2 -2
- package/lib/components/InsuranceAmountBlock/InsuranceAmountBlockInner.js.map +1 -1
- package/lib/components/InvestmentInfo/InvestmentInfo.js +12 -14
- package/lib/components/InvestmentInfo/InvestmentInfo.js.map +1 -1
- package/lib/components/LinkDocs/LinkDocs.js +6 -2
- package/lib/components/LinkDocs/LinkDocs.js.map +1 -1
- package/lib/components/LinkDocs/LinkDocsContent.d.ts +0 -2
- package/lib/components/MobileAppTile/MobileAppTile.js +2 -2
- package/lib/components/MobileAppTile/MobileAppTile.js.map +1 -1
- package/lib/components/MobileAppTile/renderDescription.js +1 -1
- package/lib/components/MobileAppTile/renderList.js +1 -1
- package/lib/components/MobileAppTile/renderList.js.map +1 -1
- package/lib/components/OfficeMap/OfficeMap.js +1 -1
- package/lib/components/OfficeMap/OfficeMap.js.map +1 -1
- package/lib/components/OfficeServicesBlock/OfficeServicesBlock.js +2 -2
- package/lib/components/OfficeServicesBlock/OfficeServicesBlock.js.map +1 -1
- package/lib/components/PictureText/PictureText.js +1 -1
- package/lib/components/PictureText/PictureText.js.map +1 -1
- package/lib/components/PictureText/renderInsuranceSumMonth.js +1 -1
- package/lib/components/PictureText/renderInsuranceSumMonth.js.map +1 -1
- package/lib/components/Placeholder/Placeholder.js +2 -2
- package/lib/components/Placeholder/Placeholder.js.map +1 -1
- package/lib/components/ProductBlock/ProductBlock.js +1 -1
- package/lib/components/ProductBlock/ProductBlock.js.map +1 -1
- package/lib/components/ProductGallery/ProductGallery.js +1 -1
- package/lib/components/ProductGallery/ProductGallery.js.map +1 -1
- package/lib/components/ProductTile/ProductTile.fixture.mobile.d.ts +16 -0
- package/lib/components/ProductTile/ProductTile.js +1 -1
- package/lib/components/ProductTile/ProductTile.js.map +1 -1
- package/lib/components/PromoTile/PromoTile.js +1 -1
- package/lib/components/PromoTile/PromoTile.js.map +1 -1
- package/lib/components/RepresentativeOfficeInfo/RepresentativeOfficeInfo.js +4 -8
- package/lib/components/RepresentativeOfficeInfo/RepresentativeOfficeInfo.js.map +1 -1
- package/lib/components/RollupItem/RollupItem.js +5 -2
- package/lib/components/RollupItem/RollupItem.js.map +1 -1
- package/lib/components/SafeDepositRental/RadioButtons.d.ts +6 -0
- package/lib/components/SafeDepositRental/RadioButtons.js +11 -0
- package/lib/components/SafeDepositRental/RadioButtons.js.map +1 -0
- package/lib/components/SafeDepositRental/RegionsAndBranches.js +1 -1
- package/lib/components/SafeDepositRental/RegionsAndBranches.js.map +1 -1
- package/lib/components/SafeDepositRental/RentalPeriod.js +2 -1
- package/lib/components/SafeDepositRental/RentalPeriod.js.map +1 -1
- package/lib/components/SafeDepositRental/SafeBoxCases.js +1 -1
- package/lib/components/SafeDepositRental/SafeBoxCases.js.map +1 -1
- package/lib/components/SafeDepositRental/SafeDepositRental.fixture.mobile.d.ts +6 -0
- package/lib/components/SafeDepositRental/SafeDepositRental.js +1 -1
- package/lib/components/SafeDepositRental/SafeDepositRental.js.map +1 -1
- package/lib/components/SafeDepositRental/SafeDepositRentalFields.js +2 -2
- package/lib/components/SafeDepositRental/SafeDepositRentalFields.js.map +1 -1
- package/lib/components/SafeDepositRental/SafeDepositRentalForm.js +1 -1
- package/lib/components/SafeDepositRental/SafeDepositRentalForm.js.map +1 -1
- package/lib/components/SafeDepositRental/SafeDepositRentalTotal.js +4 -3
- package/lib/components/SafeDepositRental/SafeDepositRentalTotal.js.map +1 -1
- package/lib/components/StepsBlock/StepsBlock.js +5 -5
- package/lib/components/StepsBlock/StepsBlock.js.map +1 -1
- package/lib/components/StepsBlock/StepsBlock.mobile.js +3 -3
- package/lib/components/StepsBlock/StepsBlock.mobile.js.map +1 -1
- package/lib/components/StepsBlock/renderStep.js +2 -2
- package/lib/components/StepsBlock/renderStep.js.map +1 -1
- package/lib/components/Tabs/ScrollableTabs.js +0 -1
- package/lib/components/Tabs/ScrollableTabs.js.map +1 -1
- package/lib/components/Tabs/renderGroupTab.js +1 -1
- package/lib/components/Tabs/renderGroupTab.js.map +1 -1
- package/lib/components/TariffsTable/EmbeddableCellData.mobile.js +1 -1
- package/lib/components/TariffsTable/EmbeddableCellData.mobile.js.map +1 -1
- package/lib/components/TariffsTable/TableTileHeader.js +1 -1
- package/lib/components/TariffsTable/TableTileHeader.js.map +1 -1
- package/lib/components/TariffsTable/TariffsTable.js +4 -10
- package/lib/components/TariffsTable/TariffsTable.js.map +1 -1
- package/lib/components/TariffsTable/TariffsTable.mobile.js +1 -1
- package/lib/components/TariffsTable/TariffsTable.mobile.js.map +1 -1
- package/lib/components/TariffsTable/TariffsTableRenderCell.js +1 -1
- package/lib/components/TariffsTable/TariffsTableRenderCell.js.map +1 -1
- package/lib/components/TariffsTable/TariffsTableRow.js +1 -1
- package/lib/components/TariffsTable/TariffsTableRow.js.map +1 -1
- package/lib/components/TariffsTable/TariffsTableTileCell.js +1 -1
- package/lib/components/TariffsTable/TariffsTableTileCell.js.map +1 -1
- package/lib/components/Tile/Tile.js +1 -1
- package/lib/components/Tile/Tile.js.map +1 -1
- package/lib/components/VerticalLayout/VerticalLayout.fixture.d.ts +3 -3
- package/lib/components/VerticalLayout/VerticalLayout.js +4 -14
- package/lib/components/VerticalLayout/VerticalLayout.js.map +1 -1
- package/lib/components/VerticalLayout/VerticalLayoutContent.d.ts +0 -2
- package/lib/content-page-repository/transformDocument.js +3 -0
- package/lib/content-page-repository/transformDocument.js.map +1 -1
- package/lib/hooks/useCarouselControls.d.ts +1 -1
- package/lib/hooks/useCarouselControls.js +5 -6
- package/lib/hooks/useCarouselControls.js.map +1 -1
- package/lib/model/Attachment.d.ts +2 -0
- package/lib/model/JSXBlock.d.ts +1 -1
- package/lib/ui-kit/BaseFiltration/BaseFiltrationInner.js +1 -1
- package/lib/ui-kit/BaseFiltration/BaseFiltrationInner.js.map +1 -1
- package/lib/ui-kit/BaseProductTile/BaseProductTile.js +1 -1
- package/lib/ui-kit/BaseProductTile/BaseProductTile.js.map +1 -1
- package/lib/ui-kit/BaseProductTile/BaseProductTileContent.d.ts +5 -5
- package/lib/ui-kit/BaseTile/BaseTile.js +1 -1
- package/lib/ui-kit/BaseTile/BaseTile.js.map +1 -1
- package/lib/ui-kit/BenefitItem/BenefitItem.js +1 -1
- package/lib/ui-kit/BlockWrapper.js +2 -2
- package/lib/ui-kit/BlockWrapper.js.map +1 -1
- package/lib/ui-kit/Button/ButtonInner.js +1 -1
- package/lib/ui-kit/Button/renderButtonsSection.js +1 -1
- package/lib/ui-kit/Dialog/Dialog.js +1 -1
- package/lib/ui-kit/Dialog/Dialog.js.map +1 -1
- package/lib/ui-kit/InnerTable/InnerTableBodyItem.js +3 -3
- package/lib/ui-kit/InnerTable/InnerTableBodyItem.js.map +1 -1
- package/lib/ui-kit/InnerTable/InnerTableButton.js +1 -1
- package/lib/ui-kit/InnerTable/InnerTableHeader.js +1 -1
- package/lib/ui-kit/InnerTable/InnerTableHeader.js.map +1 -1
- package/lib/ui-kit/Input/Input.js +1 -1
- package/lib/ui-kit/Input/Input.js.map +1 -1
- package/lib/ui-kit/InputRange/InputRange.js +1 -1
- package/lib/ui-kit/InputRange/InputRange.js.map +1 -1
- package/lib/ui-kit/LinkButton/LinkButton.js +3 -3
- package/lib/ui-kit/LinkList/LinkList.js +2 -2
- package/lib/ui-kit/LinkList/LinkList.js.map +1 -1
- package/lib/ui-kit/List/List.js +4 -4
- package/lib/ui-kit/List/List.js.map +1 -1
- package/lib/ui-kit/List/ListItem.js +3 -3
- package/lib/ui-kit/List/ListItem.js.map +1 -1
- package/lib/ui-kit/LocationDialog/LocationDialog.js +4 -4
- package/lib/ui-kit/LocationDialog/LocationDialog.js.map +1 -1
- package/lib/ui-kit/LocationDialog/SearchBar.js +1 -1
- package/lib/ui-kit/LocationDialog/SearchBar.js.map +1 -1
- package/lib/ui-kit/Logo/renderTitle.js +1 -1
- package/lib/ui-kit/Logo/renderTitle.js.map +1 -1
- package/lib/ui-kit/SearchDialog/SearchDialog.js +1 -1
- package/lib/ui-kit/SearchDialog/SearchDialog.js.map +1 -1
- package/lib/ui-kit/SearchDialog/SearchInput.js +1 -1
- package/lib/ui-kit/Select/Select.js +1 -1
- package/lib/ui-kit/Select/Select.js.map +1 -1
- package/lib/ui-kit/SlideCheckbox/SlideCheckbox.js +1 -1
- package/lib/ui-kit/SlideCheckbox/SlideCheckbox.js.map +1 -1
- package/lib/ui-kit/SwipeListControl/SwipeListContainer.js +1 -1
- package/lib/ui-kit/SwipeListControl/SwipeListContainer.js.map +1 -1
- package/lib/ui-kit/SwipeListControl/useSwipeListScroll.d.ts +1 -2
- package/lib/ui-kit/SwipeListControl/useSwipeListScroll.js +11 -11
- package/lib/ui-kit/SwipeListControl/useSwipeListScroll.js.map +1 -1
- package/lib/ui-kit/TableArrowScrollControl/TableArrowScrollControl.js +1 -1
- package/lib/ui-kit/TableArrowScrollControl/TableArrowScrollControl.js.map +1 -1
- package/lib/ui-kit/YandexMap/YandexMap.js +1 -1
- package/lib/ui-kit/YandexMap/YandexMap.js.map +1 -1
- package/lib/ui-kit/YandexMap/renderOpenMap.d.ts +0 -1
- package/lib/ui-kit/YandexMap/renderSearchField.d.ts +0 -1
- package/lib/ui-kit/YandexMap/renderSearchField.js +1 -1
- package/lib/ui-kit/YandexMap/renderSearchField.js.map +1 -1
- package/lib/ui-kit/YandexMap/renderUserGeolocation.d.ts +0 -1
- package/lib/utils/formatBytes.d.ts +1 -0
- package/lib/utils/formatBytes.js +10 -0
- package/lib/utils/formatBytes.js.map +1 -0
- package/mobile/bundle/BlockRenderer/renderBlock.d.ts +2 -4
- package/mobile/bundle/BlockRenderer/renderBlockList.d.ts +5 -2
- package/mobile/bundle/BlockRenderer/renderChildren.d.ts +5 -4
- package/mobile/bundle/bundle.umd.js +1101 -243
- package/mobile/bundle/bundle.umd.min.js +1 -1
- package/mobile/bundle/components/BenefitsBlock/benefitImageStyles.d.ts +1 -0
- package/mobile/bundle/components/BonusBenefitsBlock/renderBonusBenefits.d.ts +1 -1
- package/mobile/bundle/components/Calculator/CalculatorContent.d.ts +20 -1
- package/mobile/bundle/components/Calculator/EmbeddableCalcBlocks.d.ts +3 -1
- package/mobile/bundle/components/Calculator/RefinancingCalculatorForm.d.ts +5 -0
- package/mobile/bundle/components/Calculator/checkRefinancingSourceBookRowCommonParams.d.ts +9 -0
- package/mobile/bundle/components/Calculator/constants.d.ts +12 -0
- package/mobile/bundle/components/Calculator/getMonthlyPayment.d.ts +8 -2
- package/mobile/bundle/components/Calculator/getRefinancingCalculatorLimitParams.d.ts +9 -0
- package/mobile/bundle/components/Calculator/getRefinancingCalculatorRateParams.d.ts +13 -0
- package/mobile/bundle/components/Calculator/useRefinancingCalculatorParams.d.ts +43 -0
- package/mobile/bundle/components/Carousel/CarouselContent.d.ts +3 -9
- package/mobile/bundle/components/Carousel/CarouselScrollButtons.d.ts +5 -6
- package/mobile/bundle/components/Carousel/renderControlButtons.d.ts +2 -3
- package/mobile/bundle/components/CarouselCard/CarouselCard.d.ts +1 -1
- package/mobile/bundle/components/CarouselProductCard/CarouselProductCardContent.d.ts +6 -4
- package/mobile/bundle/components/CarouselProductCard/alignTextStyle.d.ts +1 -0
- package/mobile/bundle/components/Footer/Footer.d.ts +1 -4
- package/mobile/bundle/components/Footer/FooterProps.d.ts +6 -0
- package/mobile/bundle/components/Header/Header.d.ts +2 -5
- package/mobile/bundle/components/Header/HeaderContent.d.ts +0 -2
- package/mobile/bundle/components/Header/HeaderProps.d.ts +8 -0
- package/mobile/bundle/components/LinkDocs/LinkDocsContent.d.ts +0 -2
- package/mobile/bundle/components/SafeDepositRental/RadioButtons.d.ts +6 -0
- package/mobile/bundle/components/VerticalLayout/VerticalLayoutContent.d.ts +0 -2
- package/mobile/bundle/hooks/useCarouselControls.d.ts +1 -1
- package/mobile/bundle/model/Attachment.d.ts +2 -0
- package/mobile/bundle/model/JSXBlock.d.ts +1 -1
- package/mobile/bundle/ui-kit/BaseProductTile/BaseProductTileContent.d.ts +5 -5
- package/mobile/bundle/ui-kit/SwipeListControl/useSwipeListScroll.d.ts +1 -2
- package/mobile/bundle/utils/formatBytes.d.ts +1 -0
- package/mobile/dist/BlockRenderer/renderBlock.d.ts +2 -4
- package/mobile/dist/BlockRenderer/renderBlock.js +1 -2
- package/mobile/dist/BlockRenderer/renderBlock.js.map +1 -1
- package/mobile/dist/BlockRenderer/renderBlockList.d.ts +5 -2
- package/mobile/dist/BlockRenderer/renderBlockList.js +12 -7
- package/mobile/dist/BlockRenderer/renderBlockList.js.map +1 -1
- package/mobile/dist/BlockRenderer/renderChildren.d.ts +5 -4
- package/mobile/dist/BlockRenderer/renderChildren.js +2 -2
- package/mobile/dist/BlockRenderer/renderChildren.js.map +1 -1
- package/mobile/dist/components/ApplicationForm/ApplicationForm.js +1 -1
- package/mobile/dist/components/ApplicationForm/ApplicationForm.js.map +1 -1
- package/mobile/dist/components/ApplicationForm/ApplicationFormWed.js +1 -1
- package/mobile/dist/components/ApplicationForm/ApplicationFormWed.js.map +1 -1
- package/mobile/dist/components/ApplicationForm/ResponseNotification.js +1 -1
- package/mobile/dist/components/ApplicationForm/ResponseNotification.js.map +1 -1
- package/mobile/dist/components/ApplicationForm/renderWedDataOrganization.js +1 -1
- package/mobile/dist/components/ApplicationForm/renderWedDataOrganization.js.map +1 -1
- package/mobile/dist/components/BenefitsBlock/BenefitsBlock.js +4 -4
- package/mobile/dist/components/BenefitsBlock/BenefitsBlock.js.map +1 -1
- package/mobile/dist/components/BenefitsBlock/benefitImageStyles.d.ts +1 -0
- package/mobile/dist/components/BenefitsBlock/benefitImageStyles.js +4 -0
- package/mobile/dist/components/BenefitsBlock/benefitImageStyles.js.map +1 -0
- package/mobile/dist/components/Blocks.js +6 -0
- package/mobile/dist/components/Blocks.js.map +1 -1
- package/mobile/dist/components/Bonus/Bonus.js +2 -2
- package/mobile/dist/components/Bonus/Bonus.js.map +1 -1
- package/mobile/dist/components/BonusBenefitsBlock/BonusBenefitsBlock.js +1 -2
- package/mobile/dist/components/BonusBenefitsBlock/BonusBenefitsBlock.js.map +1 -1
- package/mobile/dist/components/BonusBenefitsBlock/renderBonusBenefits.d.ts +1 -1
- package/mobile/dist/components/BonusBenefitsBlock/renderBonusBenefits.js.map +1 -1
- package/mobile/dist/components/BusinessBlock/BusinessBlock.js +1 -1
- package/mobile/dist/components/BusinessBlock/BusinessBlock.js.map +1 -1
- package/mobile/dist/components/BusinessBlock/BusinessCard.js +2 -2
- package/mobile/dist/components/BusinessBlock/BusinessCard.js.map +1 -1
- package/mobile/dist/components/Calculator/BonusCalculatorForm.js +2 -2
- package/mobile/dist/components/Calculator/BonusCalculatorForm.js.map +1 -1
- package/mobile/dist/components/Calculator/BusinessDepositCalculatorForm.js +2 -2
- package/mobile/dist/components/Calculator/BusinessDepositCalculatorForm.js.map +1 -1
- package/mobile/dist/components/Calculator/Calculator.js +5 -5
- package/mobile/dist/components/Calculator/Calculator.js.map +1 -1
- package/mobile/dist/components/Calculator/CalculatorContent.d.ts +20 -1
- package/mobile/dist/components/Calculator/CreditCalculatorForm.js +2 -2
- package/mobile/dist/components/Calculator/CreditCalculatorForm.js.map +1 -1
- package/mobile/dist/components/Calculator/DepositCalculatorForm.js +3 -3
- package/mobile/dist/components/Calculator/DepositCalculatorForm.js.map +1 -1
- package/mobile/dist/components/Calculator/EmbeddableCalcBlocks.d.ts +3 -1
- package/mobile/dist/components/Calculator/EmbeddableCalcBlocks.js +2 -0
- package/mobile/dist/components/Calculator/EmbeddableCalcBlocks.js.map +1 -1
- package/mobile/dist/components/Calculator/RefinancingCalculatorForm.d.ts +5 -0
- package/mobile/dist/components/Calculator/RefinancingCalculatorForm.js +63 -0
- package/mobile/dist/components/Calculator/RefinancingCalculatorForm.js.map +1 -0
- package/mobile/dist/components/Calculator/UnknownRate.js +1 -1
- package/mobile/dist/components/Calculator/UnknownRate.js.map +1 -1
- package/mobile/dist/components/Calculator/checkRefinancingSourceBookRowCommonParams.d.ts +9 -0
- package/mobile/dist/components/Calculator/checkRefinancingSourceBookRowCommonParams.js +23 -0
- package/mobile/dist/components/Calculator/checkRefinancingSourceBookRowCommonParams.js.map +1 -0
- package/mobile/dist/components/Calculator/constants.d.ts +12 -0
- package/mobile/dist/components/Calculator/constants.js +25 -1
- package/mobile/dist/components/Calculator/constants.js.map +1 -1
- package/mobile/dist/components/Calculator/getMonthlyPayment.d.ts +8 -2
- package/mobile/dist/components/Calculator/getMonthlyPayment.js +7 -2
- package/mobile/dist/components/Calculator/getMonthlyPayment.js.map +1 -1
- package/mobile/dist/components/Calculator/getRefinancingCalculatorLimitParams.d.ts +9 -0
- package/mobile/dist/components/Calculator/getRefinancingCalculatorLimitParams.js +10 -0
- package/mobile/dist/components/Calculator/getRefinancingCalculatorLimitParams.js.map +1 -0
- package/mobile/dist/components/Calculator/getRefinancingCalculatorRateParams.d.ts +13 -0
- package/mobile/dist/components/Calculator/getRefinancingCalculatorRateParams.js +16 -0
- package/mobile/dist/components/Calculator/getRefinancingCalculatorRateParams.js.map +1 -0
- package/mobile/dist/components/Calculator/rangeHelpers.js +7 -3
- package/mobile/dist/components/Calculator/rangeHelpers.js.map +1 -1
- package/mobile/dist/components/Calculator/useRefinancingCalculatorParams.d.ts +43 -0
- package/mobile/dist/components/Calculator/useRefinancingCalculatorParams.js +57 -0
- package/mobile/dist/components/Calculator/useRefinancingCalculatorParams.js.map +1 -0
- package/mobile/dist/components/CardTransfer/CardTransfer.js +1 -1
- package/mobile/dist/components/CardTransfer/CardTransfer.js.map +1 -1
- package/mobile/dist/components/Carousel/Carousel.js +18 -33
- package/mobile/dist/components/Carousel/Carousel.js.map +1 -1
- package/mobile/dist/components/Carousel/CarouselContent.d.ts +3 -9
- package/mobile/dist/components/Carousel/CarouselScrollButtons.d.ts +5 -6
- package/mobile/dist/components/Carousel/CarouselScrollButtons.js +4 -4
- package/mobile/dist/components/Carousel/CarouselScrollButtons.js.map +1 -1
- package/mobile/dist/components/Carousel/renderControlButtons.d.ts +2 -3
- package/mobile/dist/components/Carousel/renderControlButtons.js +3 -3
- package/mobile/dist/components/Carousel/renderControlButtons.js.map +1 -1
- package/mobile/dist/components/CarouselBankHistoryCard/CarouselBankHistoryCard.js +1 -2
- package/mobile/dist/components/CarouselBankHistoryCard/CarouselBankHistoryCard.js.map +1 -1
- package/mobile/dist/components/CarouselCard/CarouselCard.d.ts +1 -1
- package/mobile/dist/components/CarouselCard/CarouselCard.js +6 -5
- package/mobile/dist/components/CarouselCard/CarouselCard.js.map +1 -1
- package/mobile/dist/components/CarouselCard/constants.js +2 -2
- package/mobile/dist/components/CarouselCard/constants.js.map +1 -1
- package/mobile/dist/components/CarouselCatalogCard/CarouselCatalogCard.js +2 -3
- package/mobile/dist/components/CarouselCatalogCard/CarouselCatalogCard.js.map +1 -1
- package/mobile/dist/components/CarouselEventCard/CarouselEventCard.js +1 -2
- package/mobile/dist/components/CarouselEventCard/CarouselEventCard.js.map +1 -1
- package/mobile/dist/components/CarouselInvestmentCard/CarouselInvestmentCard.js +1 -1
- package/mobile/dist/components/CarouselInvestmentCard/CarouselInvestmentCard.js.map +1 -1
- package/mobile/dist/components/CarouselLinks/CarouselLinks.js +2 -2
- package/mobile/dist/components/CarouselLinks/CarouselLinks.js.map +1 -1
- package/mobile/dist/components/CarouselProductCard/CarouselProductCard.js +13 -12
- package/mobile/dist/components/CarouselProductCard/CarouselProductCard.js.map +1 -1
- package/mobile/dist/components/CarouselProductCard/CarouselProductCardContent.d.ts +6 -4
- package/mobile/dist/components/CarouselProductCard/alignTextStyle.d.ts +1 -0
- package/mobile/dist/components/CarouselProductCard/alignTextStyle.js +4 -0
- package/mobile/dist/components/CarouselProductCard/alignTextStyle.js.map +1 -0
- package/mobile/dist/components/CarouselProgramsCard/CarouselProgramsCard.js +2 -5
- package/mobile/dist/components/CarouselProgramsCard/CarouselProgramsCard.js.map +1 -1
- package/mobile/dist/components/CarouselRecommendationCard/CarouselRecommendationCard.js +1 -2
- package/mobile/dist/components/CarouselRecommendationCard/CarouselRecommendationCard.js.map +1 -1
- package/mobile/dist/components/CarouselRichTextCard/CarouselRichTextCard.js +1 -2
- package/mobile/dist/components/CarouselRichTextCard/CarouselRichTextCard.js.map +1 -1
- package/mobile/dist/components/CarouselTariffsCard/CarouselTariffsCard.js +2 -2
- package/mobile/dist/components/CarouselTariffsCard/CarouselTariffsCard.js.map +1 -1
- package/mobile/dist/components/CarouselTariffsCard/getPaddingStyle.js +1 -1
- package/mobile/dist/components/CarouselTariffsCard/getPaddingStyle.js.map +1 -1
- package/mobile/dist/components/ComparisonTable/ComparisonTable.js +1 -1
- package/mobile/dist/components/ComparisonTable/ComparisonTable.js.map +1 -1
- package/mobile/dist/components/ComparisonTable/ComparisonTableBody.js +1 -1
- package/mobile/dist/components/ComparisonTable/ComparisonTableBody.js.map +1 -1
- package/mobile/dist/components/ComparisonTable/ComparisonTableRows.js +1 -1
- package/mobile/dist/components/ComparisonTable/ComparisonTableRows.js.map +1 -1
- package/mobile/dist/components/ComparisonTable/HeaderCell.js +2 -2
- package/mobile/dist/components/ComparisonTable/HeaderCell.js.map +1 -1
- package/mobile/dist/components/ComparisonTable/TableColumn.js +2 -2
- package/mobile/dist/components/ComparisonTable/TableColumn.js.map +1 -1
- package/mobile/dist/components/ContactsBlock/ContactsBlock.js +2 -2
- package/mobile/dist/components/ContactsBlock/ContactsBlock.js.map +1 -1
- package/mobile/dist/components/ContentPage/ContentPage.js +17 -10
- package/mobile/dist/components/ContentPage/ContentPage.js.map +1 -1
- package/mobile/dist/components/ExchangeRateOffice/ExchangeRateOffice.js +1 -1
- package/mobile/dist/components/ExchangeRateOffice/ExchangeRateOffice.js.map +1 -1
- package/mobile/dist/components/ExchangeRateOffice/renderCurrencies.js +3 -3
- package/mobile/dist/components/ExchangeRateOffice/renderCurrencies.js.map +1 -1
- package/mobile/dist/components/ExchangeRateOffice/renderTableHeader.js +1 -1
- package/mobile/dist/components/ExchangeRateOffice/renderTableHeader.js.map +1 -1
- package/mobile/dist/components/ExchangeRateTile/CurrencyTable.js +4 -3
- package/mobile/dist/components/ExchangeRateTile/CurrencyTable.js.map +1 -1
- package/mobile/dist/components/ExchangeRateTile/CurrentLocation.js +3 -2
- package/mobile/dist/components/ExchangeRateTile/CurrentLocation.js.map +1 -1
- package/mobile/dist/components/ExchangeRateTile/ExchangeCurrencyCalculator.js +1 -1
- package/mobile/dist/components/ExchangeRateTile/ExchangeCurrencyCalculator.js.map +1 -1
- package/mobile/dist/components/ExchangeRateTile/ExchangeRateTile.js +1 -1
- package/mobile/dist/components/ExchangeRateTile/ExchangeRateTile.js.map +1 -1
- package/mobile/dist/components/Footer/Contacts.js +4 -3
- package/mobile/dist/components/Footer/Contacts.js.map +1 -1
- package/mobile/dist/components/Footer/Footer.d.ts +1 -4
- package/mobile/dist/components/Footer/Footer.js +3 -5
- package/mobile/dist/components/Footer/Footer.js.map +1 -1
- package/mobile/dist/components/Footer/FooterProps.d.ts +6 -0
- package/mobile/dist/components/Footer/FooterProps.js +2 -0
- package/mobile/dist/components/Footer/FooterProps.js.map +1 -0
- package/mobile/dist/components/GracePeriod/GracePeriod.js +2 -2
- package/mobile/dist/components/GracePeriod/GracePeriod.js.map +1 -1
- package/mobile/dist/components/Header/Header.d.ts +2 -5
- package/mobile/dist/components/Header/Header.js +3 -6
- package/mobile/dist/components/Header/Header.js.map +1 -1
- package/mobile/dist/components/Header/HeaderContent.d.ts +0 -2
- package/mobile/dist/components/Header/HeaderProps.d.ts +8 -0
- package/mobile/dist/components/Header/HeaderProps.js +2 -0
- package/mobile/dist/components/Header/HeaderProps.js.map +1 -0
- package/mobile/dist/components/Header/HeaderSubMenu.js +1 -1
- package/mobile/dist/components/Header/HeaderSubMenu.js.map +1 -1
- package/mobile/dist/components/Header/HeaderTop.js +1 -1
- package/mobile/dist/components/Header/HeaderTop.js.map +1 -1
- package/mobile/dist/components/Headline/Headline.js +1 -1
- package/mobile/dist/components/Headline/Headline.js.map +1 -1
- package/mobile/dist/components/Headline/headlineVersionStyles.js +4 -4
- package/mobile/dist/components/Headline/headlineVersionStyles.js.map +1 -1
- package/mobile/dist/components/HorizontalLayout/HorizontalLayout.js +3 -8
- package/mobile/dist/components/HorizontalLayout/HorizontalLayout.js.map +1 -1
- package/mobile/dist/components/HorizontalLayout/gapStyles.js +6 -6
- package/mobile/dist/components/HorizontalLayout/gapStyles.js.map +1 -1
- package/mobile/dist/components/InsuranceAmountBlock/InsuranceAmountBlock.js +1 -1
- package/mobile/dist/components/InsuranceAmountBlock/InsuranceAmountBlock.js.map +1 -1
- package/mobile/dist/components/InsuranceAmountBlock/InsuranceAmountBlockInner.js +2 -2
- package/mobile/dist/components/InsuranceAmountBlock/InsuranceAmountBlockInner.js.map +1 -1
- package/mobile/dist/components/InvestmentInfo/InvestmentInfo.js +12 -14
- package/mobile/dist/components/InvestmentInfo/InvestmentInfo.js.map +1 -1
- package/mobile/dist/components/LinkDocs/LinkDocs.js +6 -2
- package/mobile/dist/components/LinkDocs/LinkDocs.js.map +1 -1
- package/mobile/dist/components/LinkDocs/LinkDocsContent.d.ts +0 -2
- package/mobile/dist/components/MobileAppTile/MobileAppTile.js +2 -2
- package/mobile/dist/components/MobileAppTile/MobileAppTile.js.map +1 -1
- package/mobile/dist/components/MobileAppTile/renderDescription.js +1 -1
- package/mobile/dist/components/MobileAppTile/renderList.js +1 -1
- package/mobile/dist/components/MobileAppTile/renderList.js.map +1 -1
- package/mobile/dist/components/OfficeMap/OfficeMap.js +1 -1
- package/mobile/dist/components/OfficeMap/OfficeMap.js.map +1 -1
- package/mobile/dist/components/OfficeServicesBlock/OfficeServicesBlock.js +2 -2
- package/mobile/dist/components/OfficeServicesBlock/OfficeServicesBlock.js.map +1 -1
- package/mobile/dist/components/PictureText/PictureText.js +1 -1
- package/mobile/dist/components/PictureText/PictureText.js.map +1 -1
- package/mobile/dist/components/PictureText/renderInsuranceSumMonth.js +1 -1
- package/mobile/dist/components/PictureText/renderInsuranceSumMonth.js.map +1 -1
- package/mobile/dist/components/Placeholder/Placeholder.js +2 -2
- package/mobile/dist/components/Placeholder/Placeholder.js.map +1 -1
- package/mobile/dist/components/ProductBlock/ProductBlock.js +1 -1
- package/mobile/dist/components/ProductBlock/ProductBlock.js.map +1 -1
- package/mobile/dist/components/ProductTile/ProductTile.js +1 -1
- package/mobile/dist/components/ProductTile/ProductTile.js.map +1 -1
- package/mobile/dist/components/PromoTile/PromoTile.js +1 -1
- package/mobile/dist/components/PromoTile/PromoTile.js.map +1 -1
- package/mobile/dist/components/RepresentativeOfficeInfo/RepresentativeOfficeInfo.js +4 -8
- package/mobile/dist/components/RepresentativeOfficeInfo/RepresentativeOfficeInfo.js.map +1 -1
- package/mobile/dist/components/RollupItem/RollupItem.js +5 -2
- package/mobile/dist/components/RollupItem/RollupItem.js.map +1 -1
- package/mobile/dist/components/SafeDepositRental/RadioButtons.d.ts +6 -0
- package/mobile/dist/components/SafeDepositRental/RadioButtons.js +13 -0
- package/mobile/dist/components/SafeDepositRental/RadioButtons.js.map +1 -0
- package/mobile/dist/components/SafeDepositRental/RegionsAndBranches.js +1 -1
- package/mobile/dist/components/SafeDepositRental/RegionsAndBranches.js.map +1 -1
- package/mobile/dist/components/SafeDepositRental/RentalPeriod.js +2 -1
- package/mobile/dist/components/SafeDepositRental/RentalPeriod.js.map +1 -1
- package/mobile/dist/components/SafeDepositRental/SafeBoxCases.js +1 -1
- package/mobile/dist/components/SafeDepositRental/SafeBoxCases.js.map +1 -1
- package/mobile/dist/components/SafeDepositRental/SafeDepositRental.js +1 -1
- package/mobile/dist/components/SafeDepositRental/SafeDepositRental.js.map +1 -1
- package/mobile/dist/components/SafeDepositRental/SafeDepositRentalFields.js +2 -2
- package/mobile/dist/components/SafeDepositRental/SafeDepositRentalFields.js.map +1 -1
- package/mobile/dist/components/SafeDepositRental/SafeDepositRentalForm.js +1 -1
- package/mobile/dist/components/SafeDepositRental/SafeDepositRentalForm.js.map +1 -1
- package/mobile/dist/components/SafeDepositRental/SafeDepositRentalTotal.js +4 -3
- package/mobile/dist/components/SafeDepositRental/SafeDepositRentalTotal.js.map +1 -1
- package/mobile/dist/components/StepsBlock/StepsBlock.js +3 -3
- package/mobile/dist/components/StepsBlock/StepsBlock.js.map +1 -1
- package/mobile/dist/components/StepsBlock/renderStep.js +2 -2
- package/mobile/dist/components/StepsBlock/renderStep.js.map +1 -1
- package/mobile/dist/components/Tabs/ScrollableTabs.js +0 -1
- package/mobile/dist/components/Tabs/ScrollableTabs.js.map +1 -1
- package/mobile/dist/components/Tabs/renderGroupTab.js +1 -1
- package/mobile/dist/components/Tabs/renderGroupTab.js.map +1 -1
- package/mobile/dist/components/TariffsTable/EmbeddableCellData.js +1 -1
- package/mobile/dist/components/TariffsTable/EmbeddableCellData.js.map +1 -1
- package/mobile/dist/components/TariffsTable/TableTileHeader.js +1 -1
- package/mobile/dist/components/TariffsTable/TableTileHeader.js.map +1 -1
- package/mobile/dist/components/TariffsTable/TariffsTable.js +1 -1
- package/mobile/dist/components/TariffsTable/TariffsTable.js.map +1 -1
- package/mobile/dist/components/TariffsTable/TariffsTableRenderCell.js +1 -1
- package/mobile/dist/components/TariffsTable/TariffsTableRenderCell.js.map +1 -1
- package/mobile/dist/components/TariffsTable/TariffsTableRow.js +1 -1
- package/mobile/dist/components/TariffsTable/TariffsTableRow.js.map +1 -1
- package/mobile/dist/components/TariffsTable/TariffsTableTileCell.js +1 -1
- package/mobile/dist/components/TariffsTable/TariffsTableTileCell.js.map +1 -1
- package/mobile/dist/components/Tile/Tile.js +1 -1
- package/mobile/dist/components/Tile/Tile.js.map +1 -1
- package/mobile/dist/components/VerticalLayout/VerticalLayout.js +4 -14
- package/mobile/dist/components/VerticalLayout/VerticalLayout.js.map +1 -1
- package/mobile/dist/components/VerticalLayout/VerticalLayoutContent.d.ts +0 -2
- package/mobile/dist/content-page-repository/transformDocument.js +3 -0
- package/mobile/dist/content-page-repository/transformDocument.js.map +1 -1
- package/mobile/dist/hooks/useCarouselControls.d.ts +1 -1
- package/mobile/dist/hooks/useCarouselControls.js +5 -6
- package/mobile/dist/hooks/useCarouselControls.js.map +1 -1
- package/mobile/dist/model/Attachment.d.ts +2 -0
- package/mobile/dist/model/JSXBlock.d.ts +1 -1
- package/mobile/dist/ui-kit/BaseFiltration/BaseFiltrationInner.js +1 -1
- package/mobile/dist/ui-kit/BaseFiltration/BaseFiltrationInner.js.map +1 -1
- package/mobile/dist/ui-kit/BaseProductTile/BaseProductTile.js +1 -1
- package/mobile/dist/ui-kit/BaseProductTile/BaseProductTile.js.map +1 -1
- package/mobile/dist/ui-kit/BaseProductTile/BaseProductTileContent.d.ts +5 -5
- package/mobile/dist/ui-kit/BaseTile/BaseTile.js +1 -1
- package/mobile/dist/ui-kit/BaseTile/BaseTile.js.map +1 -1
- package/mobile/dist/ui-kit/BenefitItem/BenefitItem.js +1 -1
- package/mobile/dist/ui-kit/BlockWrapper.js +2 -2
- package/mobile/dist/ui-kit/BlockWrapper.js.map +1 -1
- package/mobile/dist/ui-kit/Button/ButtonInner.js +1 -1
- package/mobile/dist/ui-kit/Button/renderButtonsSection.js +1 -1
- package/mobile/dist/ui-kit/Dialog/Dialog.js +1 -1
- package/mobile/dist/ui-kit/Dialog/Dialog.js.map +1 -1
- package/mobile/dist/ui-kit/InnerTable/InnerTableBodyItem.js +3 -3
- package/mobile/dist/ui-kit/InnerTable/InnerTableBodyItem.js.map +1 -1
- package/mobile/dist/ui-kit/InnerTable/InnerTableButton.js +1 -1
- package/mobile/dist/ui-kit/InnerTable/InnerTableHeader.js +1 -1
- package/mobile/dist/ui-kit/InnerTable/InnerTableHeader.js.map +1 -1
- package/mobile/dist/ui-kit/Input/Input.js +1 -1
- package/mobile/dist/ui-kit/Input/Input.js.map +1 -1
- package/mobile/dist/ui-kit/InputRange/InputRange.js +1 -1
- package/mobile/dist/ui-kit/InputRange/InputRange.js.map +1 -1
- package/mobile/dist/ui-kit/LinkButton/LinkButton.js +3 -3
- package/mobile/dist/ui-kit/LinkList/LinkList.js +2 -2
- package/mobile/dist/ui-kit/LinkList/LinkList.js.map +1 -1
- package/mobile/dist/ui-kit/List/List.js +4 -4
- package/mobile/dist/ui-kit/List/List.js.map +1 -1
- package/mobile/dist/ui-kit/List/ListItem.js +3 -3
- package/mobile/dist/ui-kit/List/ListItem.js.map +1 -1
- package/mobile/dist/ui-kit/LocationDialog/LocationDialog.js +4 -4
- package/mobile/dist/ui-kit/LocationDialog/LocationDialog.js.map +1 -1
- package/mobile/dist/ui-kit/LocationDialog/SearchBar.js +1 -1
- package/mobile/dist/ui-kit/LocationDialog/SearchBar.js.map +1 -1
- package/mobile/dist/ui-kit/Logo/renderTitle.js +1 -1
- package/mobile/dist/ui-kit/Logo/renderTitle.js.map +1 -1
- package/mobile/dist/ui-kit/SearchDialog/SearchDialog.js +1 -1
- package/mobile/dist/ui-kit/SearchDialog/SearchDialog.js.map +1 -1
- package/mobile/dist/ui-kit/SearchDialog/SearchInput.js +1 -1
- package/mobile/dist/ui-kit/Select/Select.js +1 -1
- package/mobile/dist/ui-kit/Select/Select.js.map +1 -1
- package/mobile/dist/ui-kit/SlideCheckbox/SlideCheckbox.js +1 -1
- package/mobile/dist/ui-kit/SlideCheckbox/SlideCheckbox.js.map +1 -1
- package/mobile/dist/ui-kit/SwipeListControl/SwipeListContainer.js +1 -1
- package/mobile/dist/ui-kit/SwipeListControl/SwipeListContainer.js.map +1 -1
- package/mobile/dist/ui-kit/SwipeListControl/useSwipeListScroll.d.ts +1 -2
- package/mobile/dist/ui-kit/SwipeListControl/useSwipeListScroll.js +11 -11
- package/mobile/dist/ui-kit/SwipeListControl/useSwipeListScroll.js.map +1 -1
- package/mobile/dist/ui-kit/TableArrowScrollControl/TableArrowScrollControl.js +1 -1
- package/mobile/dist/ui-kit/TableArrowScrollControl/TableArrowScrollControl.js.map +1 -1
- package/mobile/dist/ui-kit/YandexMap/YandexMap.js +1 -1
- package/mobile/dist/ui-kit/YandexMap/YandexMap.js.map +1 -1
- package/mobile/dist/ui-kit/YandexMap/renderSearchField.js +1 -1
- package/mobile/dist/ui-kit/YandexMap/renderSearchField.js.map +1 -1
- package/mobile/dist/utils/formatBytes.d.ts +1 -0
- package/mobile/dist/utils/formatBytes.js +13 -0
- package/mobile/dist/utils/formatBytes.js.map +1 -0
- package/mobile/fonts/mohave/Mohave-Regular.otf +0 -0
- package/mobile/fonts/mohave/Mohave-Regular.ttf +0 -0
- package/mobile/fonts/mohave/mohave.css +7 -0
- package/mobile/fonts/ubuntu/ubuntu.css +67 -0
- package/mobile/fonts/ubuntu/ubuntu.eot +0 -0
- package/mobile/fonts/ubuntu/ubuntu.ttf +0 -0
- package/mobile/fonts/ubuntu/ubuntu.woff +0 -0
- package/mobile/fonts/ubuntu/ubuntu.woff2 +0 -0
- package/mobile/fonts/ubuntu/ubuntubold.ttf +0 -0
- package/mobile/fonts/ubuntu/ubuntubold.woff +0 -0
- package/mobile/fonts/ubuntu/ubuntubold.woff2 +0 -0
- package/mobile/fonts/ubuntu/ubuntubolditalic.ttf +0 -0
- package/mobile/fonts/ubuntu/ubuntubolditalic.woff +0 -0
- package/mobile/fonts/ubuntu/ubuntubolditalic.woff2 +0 -0
- package/mobile/fonts/ubuntu/ubuntuitalic.ttf +0 -0
- package/mobile/fonts/ubuntu/ubuntuitalic.woff +0 -0
- package/mobile/fonts/ubuntu/ubuntuitalic.woff2 +0 -0
- package/mobile/fonts/ubuntu/ubuntulight.ttf +0 -0
- package/mobile/fonts/ubuntu/ubuntulight.woff +0 -0
- package/mobile/fonts/ubuntu/ubuntulight.woff2 +0 -0
- package/mobile/fonts/ubuntu/ubuntulightitalic.ttf +0 -0
- package/mobile/fonts/ubuntu/ubuntulightitalic.woff +0 -0
- package/mobile/fonts/ubuntu/ubuntulightitalic.woff2 +0 -0
- package/mobile/fonts/ubuntu/ubuntumedium.ttf +0 -0
- package/mobile/fonts/ubuntu/ubuntumedium.woff +0 -0
- package/mobile/fonts/ubuntu/ubuntumedium.woff2 +0 -0
- package/mobile/fonts/ubuntu/ubuntumediumitalic.ttf +0 -0
- package/mobile/fonts/ubuntu/ubuntumediumitalic.woff +0 -0
- package/mobile/fonts/ubuntu/ubuntumediumitalic.woff2 +0 -0
- package/mobile/lib/BlockRenderer/renderBlock.d.ts +2 -4
- package/mobile/lib/BlockRenderer/renderBlock.js +1 -2
- package/mobile/lib/BlockRenderer/renderBlock.js.map +1 -1
- package/mobile/lib/BlockRenderer/renderBlockList.d.ts +5 -2
- package/mobile/lib/BlockRenderer/renderBlockList.js +12 -7
- package/mobile/lib/BlockRenderer/renderBlockList.js.map +1 -1
- package/mobile/lib/BlockRenderer/renderChildren.d.ts +5 -4
- package/mobile/lib/BlockRenderer/renderChildren.js +2 -2
- package/mobile/lib/BlockRenderer/renderChildren.js.map +1 -1
- package/mobile/lib/common.css +1 -1
- package/mobile/lib/components/ApplicationForm/ApplicationForm.js +1 -1
- package/mobile/lib/components/ApplicationForm/ApplicationForm.js.map +1 -1
- package/mobile/lib/components/ApplicationForm/ApplicationFormWed.js +1 -1
- package/mobile/lib/components/ApplicationForm/ApplicationFormWed.js.map +1 -1
- package/mobile/lib/components/ApplicationForm/ResponseNotification.js +1 -1
- package/mobile/lib/components/ApplicationForm/ResponseNotification.js.map +1 -1
- package/mobile/lib/components/ApplicationForm/renderWedDataOrganization.js +1 -1
- package/mobile/lib/components/ApplicationForm/renderWedDataOrganization.js.map +1 -1
- package/mobile/lib/components/BenefitsBlock/BenefitsBlock.js +4 -4
- package/mobile/lib/components/BenefitsBlock/BenefitsBlock.js.map +1 -1
- package/mobile/lib/components/BenefitsBlock/benefitImageStyles.d.ts +1 -0
- package/mobile/lib/components/BenefitsBlock/benefitImageStyles.js +2 -0
- package/mobile/lib/components/BenefitsBlock/benefitImageStyles.js.map +1 -0
- package/mobile/lib/components/Blocks.js +6 -0
- package/mobile/lib/components/Blocks.js.map +1 -1
- package/mobile/lib/components/Bonus/Bonus.js +2 -2
- package/mobile/lib/components/Bonus/Bonus.js.map +1 -1
- package/mobile/lib/components/BonusBenefitsBlock/BonusBenefitsBlock.js +1 -2
- package/mobile/lib/components/BonusBenefitsBlock/BonusBenefitsBlock.js.map +1 -1
- package/mobile/lib/components/BonusBenefitsBlock/renderBonusBenefits.d.ts +1 -1
- package/mobile/lib/components/BonusBenefitsBlock/renderBonusBenefits.js.map +1 -1
- package/mobile/lib/components/BusinessBlock/BusinessBlock.js +1 -1
- package/mobile/lib/components/BusinessBlock/BusinessBlock.js.map +1 -1
- package/mobile/lib/components/BusinessBlock/BusinessCard.js +2 -2
- package/mobile/lib/components/BusinessBlock/BusinessCard.js.map +1 -1
- package/mobile/lib/components/Calculator/BonusCalculatorForm.js +2 -2
- package/mobile/lib/components/Calculator/BonusCalculatorForm.js.map +1 -1
- package/mobile/lib/components/Calculator/BusinessDepositCalculatorForm.js +2 -2
- package/mobile/lib/components/Calculator/BusinessDepositCalculatorForm.js.map +1 -1
- package/mobile/lib/components/Calculator/Calculator.js +5 -5
- package/mobile/lib/components/Calculator/Calculator.js.map +1 -1
- package/mobile/lib/components/Calculator/CalculatorContent.d.ts +20 -1
- package/mobile/lib/components/Calculator/CreditCalculatorForm.js +2 -2
- package/mobile/lib/components/Calculator/CreditCalculatorForm.js.map +1 -1
- package/mobile/lib/components/Calculator/DepositCalculatorForm.js +3 -3
- package/mobile/lib/components/Calculator/DepositCalculatorForm.js.map +1 -1
- package/mobile/lib/components/Calculator/EmbeddableCalcBlocks.d.ts +3 -1
- package/mobile/lib/components/Calculator/EmbeddableCalcBlocks.js +2 -0
- package/mobile/lib/components/Calculator/EmbeddableCalcBlocks.js.map +1 -1
- package/mobile/lib/components/Calculator/RefinancingCalculatorForm.d.ts +5 -0
- package/mobile/lib/components/Calculator/RefinancingCalculatorForm.js +61 -0
- package/mobile/lib/components/Calculator/RefinancingCalculatorForm.js.map +1 -0
- package/mobile/lib/components/Calculator/UnknownRate.js +1 -1
- package/mobile/lib/components/Calculator/UnknownRate.js.map +1 -1
- package/mobile/lib/components/Calculator/checkRefinancingSourceBookRowCommonParams.d.ts +9 -0
- package/mobile/lib/components/Calculator/checkRefinancingSourceBookRowCommonParams.js +20 -0
- package/mobile/lib/components/Calculator/checkRefinancingSourceBookRowCommonParams.js.map +1 -0
- package/mobile/lib/components/Calculator/constants.d.ts +12 -0
- package/mobile/lib/components/Calculator/constants.js +24 -0
- package/mobile/lib/components/Calculator/constants.js.map +1 -1
- package/mobile/lib/components/Calculator/getMonthlyPayment.d.ts +8 -2
- package/mobile/lib/components/Calculator/getMonthlyPayment.js +7 -2
- package/mobile/lib/components/Calculator/getMonthlyPayment.js.map +1 -1
- package/mobile/lib/components/Calculator/getRefinancingCalculatorLimitParams.d.ts +9 -0
- package/mobile/lib/components/Calculator/getRefinancingCalculatorLimitParams.js +7 -0
- package/mobile/lib/components/Calculator/getRefinancingCalculatorLimitParams.js.map +1 -0
- package/mobile/lib/components/Calculator/getRefinancingCalculatorRateParams.d.ts +13 -0
- package/mobile/lib/components/Calculator/getRefinancingCalculatorRateParams.js +13 -0
- package/mobile/lib/components/Calculator/getRefinancingCalculatorRateParams.js.map +1 -0
- package/mobile/lib/components/Calculator/rangeHelpers.js +7 -3
- package/mobile/lib/components/Calculator/rangeHelpers.js.map +1 -1
- package/mobile/lib/components/Calculator/useRefinancingCalculatorParams.d.ts +43 -0
- package/mobile/lib/components/Calculator/useRefinancingCalculatorParams.js +54 -0
- package/mobile/lib/components/Calculator/useRefinancingCalculatorParams.js.map +1 -0
- package/mobile/lib/components/CardTransfer/CardTransfer.js +1 -1
- package/mobile/lib/components/CardTransfer/CardTransfer.js.map +1 -1
- package/mobile/lib/components/Carousel/Carousel.js +18 -33
- package/mobile/lib/components/Carousel/Carousel.js.map +1 -1
- package/mobile/lib/components/Carousel/CarouselContent.d.ts +3 -9
- package/mobile/lib/components/Carousel/CarouselScrollButtons.d.ts +5 -6
- package/mobile/lib/components/Carousel/CarouselScrollButtons.js +4 -4
- package/mobile/lib/components/Carousel/CarouselScrollButtons.js.map +1 -1
- package/mobile/lib/components/Carousel/renderControlButtons.d.ts +2 -3
- package/mobile/lib/components/Carousel/renderControlButtons.js +3 -3
- package/mobile/lib/components/Carousel/renderControlButtons.js.map +1 -1
- package/mobile/lib/components/CarouselBankHistoryCard/CarouselBankHistoryCard.js +1 -2
- package/mobile/lib/components/CarouselBankHistoryCard/CarouselBankHistoryCard.js.map +1 -1
- package/mobile/lib/components/CarouselCard/CarouselCard.d.ts +1 -1
- package/mobile/lib/components/CarouselCard/CarouselCard.js +6 -5
- package/mobile/lib/components/CarouselCard/CarouselCard.js.map +1 -1
- package/mobile/lib/components/CarouselCard/constants.js +2 -2
- package/mobile/lib/components/CarouselCard/constants.js.map +1 -1
- package/mobile/lib/components/CarouselCatalogCard/CarouselCatalogCard.js +2 -3
- package/mobile/lib/components/CarouselCatalogCard/CarouselCatalogCard.js.map +1 -1
- package/mobile/lib/components/CarouselEventCard/CarouselEventCard.js +1 -2
- package/mobile/lib/components/CarouselEventCard/CarouselEventCard.js.map +1 -1
- package/mobile/lib/components/CarouselInvestmentCard/CarouselInvestmentCard.js +1 -1
- package/mobile/lib/components/CarouselInvestmentCard/CarouselInvestmentCard.js.map +1 -1
- package/mobile/lib/components/CarouselLinks/CarouselLinks.js +2 -2
- package/mobile/lib/components/CarouselLinks/CarouselLinks.js.map +1 -1
- package/mobile/lib/components/CarouselProductCard/CarouselProductCard.js +13 -12
- package/mobile/lib/components/CarouselProductCard/CarouselProductCard.js.map +1 -1
- package/mobile/lib/components/CarouselProductCard/CarouselProductCardContent.d.ts +6 -4
- package/mobile/lib/components/CarouselProductCard/alignTextStyle.d.ts +1 -0
- package/mobile/lib/components/CarouselProductCard/alignTextStyle.js +2 -0
- package/mobile/lib/components/CarouselProductCard/alignTextStyle.js.map +1 -0
- package/mobile/lib/components/CarouselProgramsCard/CarouselProgramsCard.js +2 -5
- package/mobile/lib/components/CarouselProgramsCard/CarouselProgramsCard.js.map +1 -1
- package/mobile/lib/components/CarouselRecommendationCard/CarouselRecommendationCard.js +1 -2
- package/mobile/lib/components/CarouselRecommendationCard/CarouselRecommendationCard.js.map +1 -1
- package/mobile/lib/components/CarouselRichTextCard/CarouselRichTextCard.js +1 -2
- package/mobile/lib/components/CarouselRichTextCard/CarouselRichTextCard.js.map +1 -1
- package/mobile/lib/components/CarouselTariffsCard/CarouselTariffsCard.js +2 -2
- package/mobile/lib/components/CarouselTariffsCard/CarouselTariffsCard.js.map +1 -1
- package/mobile/lib/components/CarouselTariffsCard/getPaddingStyle.js +1 -1
- package/mobile/lib/components/CarouselTariffsCard/getPaddingStyle.js.map +1 -1
- package/mobile/lib/components/ComparisonTable/ComparisonTable.js +1 -1
- package/mobile/lib/components/ComparisonTable/ComparisonTable.js.map +1 -1
- package/mobile/lib/components/ComparisonTable/ComparisonTableBody.js +1 -1
- package/mobile/lib/components/ComparisonTable/ComparisonTableBody.js.map +1 -1
- package/mobile/lib/components/ComparisonTable/ComparisonTableRows.js +1 -1
- package/mobile/lib/components/ComparisonTable/ComparisonTableRows.js.map +1 -1
- package/mobile/lib/components/ComparisonTable/HeaderCell.js +2 -2
- package/mobile/lib/components/ComparisonTable/HeaderCell.js.map +1 -1
- package/mobile/lib/components/ComparisonTable/TableColumn.js +2 -2
- package/mobile/lib/components/ComparisonTable/TableColumn.js.map +1 -1
- package/mobile/lib/components/ContactsBlock/ContactsBlock.js +2 -2
- package/mobile/lib/components/ContactsBlock/ContactsBlock.js.map +1 -1
- package/mobile/lib/components/ContentPage/ContentPage.js +17 -10
- package/mobile/lib/components/ContentPage/ContentPage.js.map +1 -1
- package/mobile/lib/components/ExchangeRateOffice/ExchangeRateOffice.js +1 -1
- package/mobile/lib/components/ExchangeRateOffice/ExchangeRateOffice.js.map +1 -1
- package/mobile/lib/components/ExchangeRateOffice/renderCurrencies.js +3 -3
- package/mobile/lib/components/ExchangeRateOffice/renderCurrencies.js.map +1 -1
- package/mobile/lib/components/ExchangeRateOffice/renderTableHeader.js +1 -1
- package/mobile/lib/components/ExchangeRateOffice/renderTableHeader.js.map +1 -1
- package/mobile/lib/components/ExchangeRateTile/CurrencyTable.js +4 -3
- package/mobile/lib/components/ExchangeRateTile/CurrencyTable.js.map +1 -1
- package/mobile/lib/components/ExchangeRateTile/CurrentLocation.js +3 -2
- package/mobile/lib/components/ExchangeRateTile/CurrentLocation.js.map +1 -1
- package/mobile/lib/components/ExchangeRateTile/ExchangeCurrencyCalculator.js +1 -1
- package/mobile/lib/components/ExchangeRateTile/ExchangeCurrencyCalculator.js.map +1 -1
- package/mobile/lib/components/ExchangeRateTile/ExchangeRateTile.js +1 -1
- package/mobile/lib/components/ExchangeRateTile/ExchangeRateTile.js.map +1 -1
- package/mobile/lib/components/Footer/Contacts.js +4 -3
- package/mobile/lib/components/Footer/Contacts.js.map +1 -1
- package/mobile/lib/components/Footer/Footer.d.ts +1 -4
- package/mobile/lib/components/Footer/Footer.js +3 -5
- package/mobile/lib/components/Footer/Footer.js.map +1 -1
- package/mobile/lib/components/Footer/FooterProps.d.ts +6 -0
- package/mobile/lib/components/Footer/FooterProps.js +2 -0
- package/mobile/lib/components/Footer/FooterProps.js.map +1 -0
- package/mobile/lib/components/GracePeriod/GracePeriod.js +2 -2
- package/mobile/lib/components/GracePeriod/GracePeriod.js.map +1 -1
- package/mobile/lib/components/Header/Header.d.ts +2 -5
- package/mobile/lib/components/Header/Header.js +3 -6
- package/mobile/lib/components/Header/Header.js.map +1 -1
- package/mobile/lib/components/Header/HeaderContent.d.ts +0 -2
- package/mobile/lib/components/Header/HeaderProps.d.ts +8 -0
- package/mobile/lib/components/Header/HeaderProps.js +2 -0
- package/mobile/lib/components/Header/HeaderProps.js.map +1 -0
- package/mobile/lib/components/Header/HeaderSubMenu.js +1 -1
- package/mobile/lib/components/Header/HeaderSubMenu.js.map +1 -1
- package/mobile/lib/components/Header/HeaderTop.js +1 -1
- package/mobile/lib/components/Header/HeaderTop.js.map +1 -1
- package/mobile/lib/components/Headline/Headline.js +1 -1
- package/mobile/lib/components/Headline/Headline.js.map +1 -1
- package/mobile/lib/components/Headline/headlineVersionStyles.js +4 -4
- package/mobile/lib/components/Headline/headlineVersionStyles.js.map +1 -1
- package/mobile/lib/components/HorizontalLayout/HorizontalLayout.js +3 -8
- package/mobile/lib/components/HorizontalLayout/HorizontalLayout.js.map +1 -1
- package/mobile/lib/components/HorizontalLayout/gapStyles.js +6 -6
- package/mobile/lib/components/HorizontalLayout/gapStyles.js.map +1 -1
- package/mobile/lib/components/InsuranceAmountBlock/InsuranceAmountBlock.js +1 -1
- package/mobile/lib/components/InsuranceAmountBlock/InsuranceAmountBlock.js.map +1 -1
- package/mobile/lib/components/InsuranceAmountBlock/InsuranceAmountBlockInner.js +2 -2
- package/mobile/lib/components/InsuranceAmountBlock/InsuranceAmountBlockInner.js.map +1 -1
- package/mobile/lib/components/InvestmentInfo/InvestmentInfo.js +12 -14
- package/mobile/lib/components/InvestmentInfo/InvestmentInfo.js.map +1 -1
- package/mobile/lib/components/LinkDocs/LinkDocs.js +6 -2
- package/mobile/lib/components/LinkDocs/LinkDocs.js.map +1 -1
- package/mobile/lib/components/LinkDocs/LinkDocsContent.d.ts +0 -2
- package/mobile/lib/components/MobileAppTile/MobileAppTile.js +2 -2
- package/mobile/lib/components/MobileAppTile/MobileAppTile.js.map +1 -1
- package/mobile/lib/components/MobileAppTile/renderDescription.js +1 -1
- package/mobile/lib/components/MobileAppTile/renderList.js +1 -1
- package/mobile/lib/components/MobileAppTile/renderList.js.map +1 -1
- package/mobile/lib/components/OfficeMap/OfficeMap.js +1 -1
- package/mobile/lib/components/OfficeMap/OfficeMap.js.map +1 -1
- package/mobile/lib/components/OfficeServicesBlock/OfficeServicesBlock.js +2 -2
- package/mobile/lib/components/OfficeServicesBlock/OfficeServicesBlock.js.map +1 -1
- package/mobile/lib/components/PictureText/PictureText.js +1 -1
- package/mobile/lib/components/PictureText/PictureText.js.map +1 -1
- package/mobile/lib/components/PictureText/renderInsuranceSumMonth.js +1 -1
- package/mobile/lib/components/PictureText/renderInsuranceSumMonth.js.map +1 -1
- package/mobile/lib/components/Placeholder/Placeholder.js +2 -2
- package/mobile/lib/components/Placeholder/Placeholder.js.map +1 -1
- package/mobile/lib/components/ProductBlock/ProductBlock.js +1 -1
- package/mobile/lib/components/ProductBlock/ProductBlock.js.map +1 -1
- package/mobile/lib/components/ProductTile/ProductTile.js +1 -1
- package/mobile/lib/components/ProductTile/ProductTile.js.map +1 -1
- package/mobile/lib/components/PromoTile/PromoTile.js +1 -1
- package/mobile/lib/components/PromoTile/PromoTile.js.map +1 -1
- package/mobile/lib/components/RepresentativeOfficeInfo/RepresentativeOfficeInfo.js +4 -8
- package/mobile/lib/components/RepresentativeOfficeInfo/RepresentativeOfficeInfo.js.map +1 -1
- package/mobile/lib/components/RollupItem/RollupItem.js +5 -2
- package/mobile/lib/components/RollupItem/RollupItem.js.map +1 -1
- package/mobile/lib/components/SafeDepositRental/RadioButtons.d.ts +6 -0
- package/mobile/lib/components/SafeDepositRental/RadioButtons.js +11 -0
- package/mobile/lib/components/SafeDepositRental/RadioButtons.js.map +1 -0
- package/mobile/lib/components/SafeDepositRental/RegionsAndBranches.js +1 -1
- package/mobile/lib/components/SafeDepositRental/RegionsAndBranches.js.map +1 -1
- package/mobile/lib/components/SafeDepositRental/RentalPeriod.js +2 -1
- package/mobile/lib/components/SafeDepositRental/RentalPeriod.js.map +1 -1
- package/mobile/lib/components/SafeDepositRental/SafeBoxCases.js +1 -1
- package/mobile/lib/components/SafeDepositRental/SafeBoxCases.js.map +1 -1
- package/mobile/lib/components/SafeDepositRental/SafeDepositRental.js +1 -1
- package/mobile/lib/components/SafeDepositRental/SafeDepositRental.js.map +1 -1
- package/mobile/lib/components/SafeDepositRental/SafeDepositRentalFields.js +2 -2
- package/mobile/lib/components/SafeDepositRental/SafeDepositRentalFields.js.map +1 -1
- package/mobile/lib/components/SafeDepositRental/SafeDepositRentalForm.js +1 -1
- package/mobile/lib/components/SafeDepositRental/SafeDepositRentalForm.js.map +1 -1
- package/mobile/lib/components/SafeDepositRental/SafeDepositRentalTotal.js +4 -3
- package/mobile/lib/components/SafeDepositRental/SafeDepositRentalTotal.js.map +1 -1
- package/mobile/lib/components/StepsBlock/StepsBlock.js +3 -3
- package/mobile/lib/components/StepsBlock/StepsBlock.js.map +1 -1
- package/mobile/lib/components/StepsBlock/renderStep.js +2 -2
- package/mobile/lib/components/StepsBlock/renderStep.js.map +1 -1
- package/mobile/lib/components/Tabs/ScrollableTabs.js +0 -1
- package/mobile/lib/components/Tabs/ScrollableTabs.js.map +1 -1
- package/mobile/lib/components/Tabs/renderGroupTab.js +1 -1
- package/mobile/lib/components/Tabs/renderGroupTab.js.map +1 -1
- package/mobile/lib/components/TariffsTable/EmbeddableCellData.js +1 -1
- package/mobile/lib/components/TariffsTable/EmbeddableCellData.js.map +1 -1
- package/mobile/lib/components/TariffsTable/TableTileHeader.js +1 -1
- package/mobile/lib/components/TariffsTable/TableTileHeader.js.map +1 -1
- package/mobile/lib/components/TariffsTable/TariffsTable.js +1 -1
- package/mobile/lib/components/TariffsTable/TariffsTable.js.map +1 -1
- package/mobile/lib/components/TariffsTable/TariffsTableRenderCell.js +1 -1
- package/mobile/lib/components/TariffsTable/TariffsTableRenderCell.js.map +1 -1
- package/mobile/lib/components/TariffsTable/TariffsTableRow.js +1 -1
- package/mobile/lib/components/TariffsTable/TariffsTableRow.js.map +1 -1
- package/mobile/lib/components/TariffsTable/TariffsTableTileCell.js +1 -1
- package/mobile/lib/components/TariffsTable/TariffsTableTileCell.js.map +1 -1
- package/mobile/lib/components/Tile/Tile.js +1 -1
- package/mobile/lib/components/Tile/Tile.js.map +1 -1
- package/mobile/lib/components/VerticalLayout/VerticalLayout.js +4 -14
- package/mobile/lib/components/VerticalLayout/VerticalLayout.js.map +1 -1
- package/mobile/lib/components/VerticalLayout/VerticalLayoutContent.d.ts +0 -2
- package/mobile/lib/content-page-repository/transformDocument.js +3 -0
- package/mobile/lib/content-page-repository/transformDocument.js.map +1 -1
- package/mobile/lib/hooks/useCarouselControls.d.ts +1 -1
- package/mobile/lib/hooks/useCarouselControls.js +5 -6
- package/mobile/lib/hooks/useCarouselControls.js.map +1 -1
- package/mobile/lib/model/Attachment.d.ts +2 -0
- package/mobile/lib/model/JSXBlock.d.ts +1 -1
- package/mobile/lib/ui-kit/BaseFiltration/BaseFiltrationInner.js +1 -1
- package/mobile/lib/ui-kit/BaseFiltration/BaseFiltrationInner.js.map +1 -1
- package/mobile/lib/ui-kit/BaseProductTile/BaseProductTile.js +1 -1
- package/mobile/lib/ui-kit/BaseProductTile/BaseProductTile.js.map +1 -1
- package/mobile/lib/ui-kit/BaseProductTile/BaseProductTileContent.d.ts +5 -5
- package/mobile/lib/ui-kit/BaseTile/BaseTile.js +1 -1
- package/mobile/lib/ui-kit/BaseTile/BaseTile.js.map +1 -1
- package/mobile/lib/ui-kit/BenefitItem/BenefitItem.js +1 -1
- package/mobile/lib/ui-kit/BlockWrapper.js +2 -2
- package/mobile/lib/ui-kit/BlockWrapper.js.map +1 -1
- package/mobile/lib/ui-kit/Button/ButtonInner.js +1 -1
- package/mobile/lib/ui-kit/Button/renderButtonsSection.js +1 -1
- package/mobile/lib/ui-kit/Dialog/Dialog.js +1 -1
- package/mobile/lib/ui-kit/Dialog/Dialog.js.map +1 -1
- package/mobile/lib/ui-kit/InnerTable/InnerTableBodyItem.js +3 -3
- package/mobile/lib/ui-kit/InnerTable/InnerTableBodyItem.js.map +1 -1
- package/mobile/lib/ui-kit/InnerTable/InnerTableButton.js +1 -1
- package/mobile/lib/ui-kit/InnerTable/InnerTableHeader.js +1 -1
- package/mobile/lib/ui-kit/InnerTable/InnerTableHeader.js.map +1 -1
- package/mobile/lib/ui-kit/Input/Input.js +1 -1
- package/mobile/lib/ui-kit/Input/Input.js.map +1 -1
- package/mobile/lib/ui-kit/InputRange/InputRange.js +1 -1
- package/mobile/lib/ui-kit/InputRange/InputRange.js.map +1 -1
- package/mobile/lib/ui-kit/LinkButton/LinkButton.js +3 -3
- package/mobile/lib/ui-kit/LinkList/LinkList.js +2 -2
- package/mobile/lib/ui-kit/LinkList/LinkList.js.map +1 -1
- package/mobile/lib/ui-kit/List/List.js +4 -4
- package/mobile/lib/ui-kit/List/List.js.map +1 -1
- package/mobile/lib/ui-kit/List/ListItem.js +3 -3
- package/mobile/lib/ui-kit/List/ListItem.js.map +1 -1
- package/mobile/lib/ui-kit/LocationDialog/LocationDialog.js +4 -4
- package/mobile/lib/ui-kit/LocationDialog/LocationDialog.js.map +1 -1
- package/mobile/lib/ui-kit/LocationDialog/SearchBar.js +1 -1
- package/mobile/lib/ui-kit/LocationDialog/SearchBar.js.map +1 -1
- package/mobile/lib/ui-kit/Logo/renderTitle.js +1 -1
- package/mobile/lib/ui-kit/Logo/renderTitle.js.map +1 -1
- package/mobile/lib/ui-kit/SearchDialog/SearchDialog.js +1 -1
- package/mobile/lib/ui-kit/SearchDialog/SearchDialog.js.map +1 -1
- package/mobile/lib/ui-kit/SearchDialog/SearchInput.js +1 -1
- package/mobile/lib/ui-kit/Select/Select.js +1 -1
- package/mobile/lib/ui-kit/Select/Select.js.map +1 -1
- package/mobile/lib/ui-kit/SlideCheckbox/SlideCheckbox.js +1 -1
- package/mobile/lib/ui-kit/SlideCheckbox/SlideCheckbox.js.map +1 -1
- package/mobile/lib/ui-kit/SwipeListControl/SwipeListContainer.js +1 -1
- package/mobile/lib/ui-kit/SwipeListControl/SwipeListContainer.js.map +1 -1
- package/mobile/lib/ui-kit/SwipeListControl/useSwipeListScroll.d.ts +1 -2
- package/mobile/lib/ui-kit/SwipeListControl/useSwipeListScroll.js +11 -11
- package/mobile/lib/ui-kit/SwipeListControl/useSwipeListScroll.js.map +1 -1
- package/mobile/lib/ui-kit/TableArrowScrollControl/TableArrowScrollControl.js +1 -1
- package/mobile/lib/ui-kit/TableArrowScrollControl/TableArrowScrollControl.js.map +1 -1
- package/mobile/lib/ui-kit/YandexMap/YandexMap.js +1 -1
- package/mobile/lib/ui-kit/YandexMap/YandexMap.js.map +1 -1
- package/mobile/lib/ui-kit/YandexMap/renderSearchField.js +1 -1
- package/mobile/lib/ui-kit/YandexMap/renderSearchField.js.map +1 -1
- package/mobile/lib/utils/formatBytes.d.ts +1 -0
- package/mobile/lib/utils/formatBytes.js +10 -0
- package/mobile/lib/utils/formatBytes.js.map +1 -0
- package/mobile/src/BlockRenderer/renderBlock.tsx +3 -6
- package/mobile/src/BlockRenderer/renderBlockList.tsx +29 -12
- package/mobile/src/BlockRenderer/renderChildren.ts +7 -6
- package/mobile/src/components/ApplicationForm/ApplicationForm.tsx +1 -1
- package/mobile/src/components/ApplicationForm/ApplicationFormWed.tsx +4 -4
- package/mobile/src/components/ApplicationForm/ResponseNotification.tsx +3 -3
- package/mobile/src/components/ApplicationForm/renderWedDataOrganization.tsx +6 -6
- package/mobile/src/components/BenefitsBlock/BenefitsBlock.tsx +5 -5
- package/mobile/src/components/BenefitsBlock/benefitImageStyles.tsx +1 -0
- package/mobile/src/components/Blocks.ts +6 -0
- package/mobile/src/components/Bonus/Bonus.tsx +3 -3
- package/mobile/src/components/BonusBenefitsBlock/BonusBenefitsBlock.tsx +2 -3
- package/mobile/src/components/BonusBenefitsBlock/renderBonusBenefits.tsx +2 -1
- package/mobile/src/components/BusinessBlock/BusinessBlock.tsx +2 -2
- package/mobile/src/components/BusinessBlock/BusinessCard.tsx +9 -7
- package/mobile/src/components/Calculator/BonusCalculatorForm.tsx +2 -2
- package/mobile/src/components/Calculator/BusinessDepositCalculatorForm.tsx +2 -2
- package/mobile/src/components/Calculator/Calculator.tsx +7 -7
- package/mobile/src/components/Calculator/CalculatorContent.ts +25 -1
- package/mobile/src/components/Calculator/CreditCalculatorForm.tsx +4 -4
- package/mobile/src/components/Calculator/DepositCalculatorForm.tsx +5 -5
- package/mobile/src/components/Calculator/EmbeddableCalcBlocks.tsx +4 -1
- package/mobile/src/components/Calculator/RefinancingCalculatorForm.tsx +147 -0
- package/mobile/src/components/Calculator/UnknownRate.tsx +2 -2
- package/mobile/src/components/Calculator/checkRefinancingSourceBookRowCommonParams.ts +45 -0
- package/mobile/src/components/Calculator/constants.ts +26 -0
- package/mobile/src/components/Calculator/getMonthlyPayment.ts +14 -4
- package/mobile/src/components/Calculator/getRefinancingCalculatorLimitParams.ts +25 -0
- package/mobile/src/components/Calculator/getRefinancingCalculatorRateParams.ts +40 -0
- package/mobile/src/components/Calculator/rangeHelpers.ts +7 -3
- package/mobile/src/components/Calculator/useRefinancingCalculatorParams.ts +136 -0
- package/mobile/src/components/CardTransfer/CardTransfer.tsx +1 -1
- package/mobile/src/components/Carousel/Carousel.tsx +47 -45
- package/mobile/src/components/Carousel/CarouselContent.ts +3 -9
- package/mobile/src/components/Carousel/CarouselScrollButtons.tsx +22 -25
- package/mobile/src/components/Carousel/renderControlButtons.tsx +2 -4
- package/mobile/src/components/CarouselBankHistoryCard/CarouselBankHistoryCard.tsx +1 -2
- package/mobile/src/components/CarouselCard/CarouselCard.tsx +15 -21
- package/mobile/src/components/CarouselCard/constants.ts +2 -2
- package/mobile/src/components/CarouselCatalogCard/CarouselCatalogCard.tsx +14 -20
- package/mobile/src/components/CarouselEventCard/CarouselEventCard.tsx +3 -4
- package/mobile/src/components/CarouselInvestmentCard/CarouselInvestmentCard.tsx +3 -11
- package/mobile/src/components/CarouselLinks/CarouselLinks.tsx +3 -8
- package/mobile/src/components/CarouselProductCard/CarouselProductCard.tsx +42 -43
- package/mobile/src/components/CarouselProductCard/CarouselProductCardContent.ts +6 -4
- package/mobile/src/components/CarouselProductCard/alignTextStyle.tsx +1 -0
- package/mobile/src/components/CarouselProgramsCard/CarouselProgramsCard.tsx +16 -23
- package/mobile/src/components/CarouselRecommendationCard/CarouselRecommendationCard.tsx +3 -8
- package/mobile/src/components/CarouselRichTextCard/CarouselRichTextCard.tsx +1 -2
- package/mobile/src/components/CarouselTariffsCard/CarouselTariffsCard.tsx +3 -3
- package/mobile/src/components/CarouselTariffsCard/getPaddingStyle.tsx +1 -1
- package/mobile/src/components/ComparisonTable/ComparisonTable.tsx +2 -2
- package/mobile/src/components/ComparisonTable/ComparisonTableBody.tsx +1 -1
- package/mobile/src/components/ComparisonTable/ComparisonTableRows.tsx +1 -1
- package/mobile/src/components/ComparisonTable/HeaderCell.tsx +4 -9
- package/mobile/src/components/ComparisonTable/TableColumn.tsx +2 -2
- package/mobile/src/components/ContactsBlock/ContactsBlock.tsx +5 -5
- package/mobile/src/components/ContentPage/ContentPage.tsx +69 -51
- package/mobile/src/components/ExchangeRateOffice/ExchangeRateOffice.tsx +5 -5
- package/mobile/src/components/ExchangeRateOffice/renderCurrencies.tsx +3 -3
- package/mobile/src/components/ExchangeRateOffice/renderTableHeader.tsx +1 -1
- package/mobile/src/components/ExchangeRateTile/CurrencyTable.tsx +26 -10
- package/mobile/src/components/ExchangeRateTile/CurrentLocation.tsx +9 -6
- package/mobile/src/components/ExchangeRateTile/ExchangeCurrencyCalculator.tsx +1 -1
- package/mobile/src/components/ExchangeRateTile/ExchangeRateTile.tsx +1 -1
- package/mobile/src/components/Footer/Contacts.tsx +7 -6
- package/mobile/src/components/Footer/Footer.tsx +8 -12
- package/mobile/src/components/Footer/FooterProps.ts +7 -0
- package/mobile/src/components/GracePeriod/GracePeriod.tsx +11 -5
- package/mobile/src/components/Header/Header.tsx +5 -16
- package/mobile/src/components/Header/HeaderContent.ts +0 -2
- package/mobile/src/components/Header/HeaderProps.ts +9 -0
- package/mobile/src/components/Header/HeaderSubMenu.tsx +3 -3
- package/mobile/src/components/Header/HeaderTop.tsx +1 -1
- package/mobile/src/components/Header/sitemap.wcms-resource.json +144 -0
- package/mobile/src/components/Headline/Headline.tsx +1 -1
- package/mobile/src/components/Headline/headlineVersionStyles.ts +4 -4
- package/mobile/src/components/HorizontalLayout/HorizontalLayout.tsx +3 -25
- package/mobile/src/components/HorizontalLayout/gapStyles.ts +6 -6
- package/mobile/src/components/InsuranceAmountBlock/InsuranceAmountBlock.tsx +4 -4
- package/mobile/src/components/InsuranceAmountBlock/InsuranceAmountBlockInner.tsx +3 -3
- package/mobile/src/components/InvestmentInfo/InvestmentInfo.tsx +15 -24
- package/mobile/src/components/LinkDocs/LinkDocs.tsx +11 -3
- package/mobile/src/components/LinkDocs/LinkDocs.ui.json +3 -0
- package/mobile/src/components/LinkDocs/LinkDocsContent.ts +0 -2
- package/mobile/src/components/MobileAppTile/MobileAppTile.tsx +3 -3
- package/mobile/src/components/MobileAppTile/renderDescription.tsx +1 -1
- package/mobile/src/components/MobileAppTile/renderList.tsx +1 -1
- package/mobile/src/components/OfficeMap/OfficeMap.tsx +6 -6
- package/mobile/src/components/OfficeServicesBlock/OfficeServicesBlock.tsx +5 -5
- package/mobile/src/components/PictureText/PictureText.tsx +1 -1
- package/mobile/src/components/PictureText/renderInsuranceSumMonth.tsx +1 -1
- package/mobile/src/components/Placeholder/Placeholder.tsx +2 -2
- package/mobile/src/components/ProductBlock/ProductBlock.tsx +2 -2
- package/mobile/src/components/ProductTile/ProductTile.tsx +1 -1
- package/mobile/src/components/PromoTile/PromoTile.tsx +1 -1
- package/mobile/src/components/RepresentativeOfficeInfo/RepresentativeOfficeInfo.tsx +15 -16
- package/mobile/src/components/RollupItem/RollupItem.tsx +7 -4
- package/mobile/src/components/SafeDepositRental/{RenderRadioButtons.tsx → RadioButtons.tsx} +8 -3
- package/mobile/src/components/SafeDepositRental/RegionsAndBranches.tsx +3 -3
- package/mobile/src/components/SafeDepositRental/RentalPeriod.tsx +5 -2
- package/mobile/src/components/SafeDepositRental/SafeBoxCases.tsx +3 -3
- package/mobile/src/components/SafeDepositRental/SafeDepositRental.tsx +2 -2
- package/mobile/src/components/SafeDepositRental/SafeDepositRentalFields.tsx +10 -8
- package/mobile/src/components/SafeDepositRental/SafeDepositRentalForm.tsx +1 -1
- package/mobile/src/components/SafeDepositRental/SafeDepositRentalTotal.tsx +15 -12
- package/mobile/src/components/StepsBlock/StepsBlock.tsx +5 -5
- package/mobile/src/components/StepsBlock/renderStep.tsx +7 -7
- package/mobile/src/components/Tabs/ScrollableTabs.tsx +0 -1
- package/mobile/src/components/Tabs/renderGroupTab.tsx +1 -1
- package/mobile/src/components/TariffsTable/EmbeddableCellData.tsx +1 -1
- package/mobile/src/components/TariffsTable/TableTileHeader.tsx +1 -1
- package/mobile/src/components/TariffsTable/TariffsTable.tsx +1 -2
- package/mobile/src/components/TariffsTable/TariffsTableRenderCell.tsx +1 -1
- package/mobile/src/components/TariffsTable/TariffsTableRow.tsx +2 -2
- package/mobile/src/components/TariffsTable/TariffsTableTileCell.tsx +1 -1
- package/mobile/src/components/Tile/Tile.tsx +1 -1
- package/mobile/src/components/VerticalLayout/VerticalLayout.example.json +0 -1
- package/mobile/src/components/VerticalLayout/VerticalLayout.tsx +14 -35
- package/mobile/src/components/VerticalLayout/VerticalLayoutContent.ts +0 -2
- package/mobile/src/content-page-repository/transformDocument.ts +3 -0
- package/mobile/src/hooks/useCarouselControls.ts +8 -7
- package/mobile/src/model/Attachment.ts +2 -0
- package/mobile/src/model/JSXBlock.ts +1 -1
- package/mobile/src/ui-kit/BaseFiltration/BaseFiltrationInner.tsx +1 -1
- package/mobile/src/ui-kit/BaseProductTile/BaseProductTile.tsx +1 -1
- package/mobile/src/ui-kit/BaseProductTile/BaseProductTileContent.ts +5 -5
- package/mobile/src/ui-kit/BaseTile/BaseTile.tsx +7 -5
- package/mobile/src/ui-kit/BenefitItem/BenefitItem.tsx +1 -1
- package/mobile/src/ui-kit/BlockWrapper.tsx +2 -2
- package/mobile/src/ui-kit/Button/ButtonInner.tsx +1 -1
- package/mobile/src/ui-kit/Button/renderButtonsSection.tsx +1 -1
- package/mobile/src/ui-kit/Dialog/Dialog.tsx +3 -3
- package/mobile/src/ui-kit/InnerTable/InnerTableBodyItem.tsx +4 -6
- package/mobile/src/ui-kit/InnerTable/InnerTableButton.tsx +1 -1
- package/mobile/src/ui-kit/InnerTable/InnerTableHeader.tsx +4 -4
- package/mobile/src/ui-kit/Input/Input.tsx +1 -1
- package/mobile/src/ui-kit/InputRange/InputRange.tsx +1 -1
- package/mobile/src/ui-kit/LinkButton/LinkButton.tsx +3 -3
- package/mobile/src/ui-kit/LinkList/LinkList.tsx +2 -2
- package/mobile/src/ui-kit/List/List.tsx +4 -4
- package/mobile/src/ui-kit/List/ListItem.tsx +3 -3
- package/mobile/src/ui-kit/LocationDialog/LocationDialog.tsx +6 -7
- package/mobile/src/ui-kit/LocationDialog/SearchBar.tsx +1 -1
- package/mobile/src/ui-kit/Logo/renderTitle.tsx +1 -1
- package/mobile/src/ui-kit/SearchDialog/SearchDialog.tsx +1 -4
- package/mobile/src/ui-kit/SearchDialog/SearchInput.tsx +1 -1
- package/mobile/src/ui-kit/Select/Select.tsx +1 -1
- package/mobile/src/ui-kit/SlideCheckbox/SlideCheckbox.tsx +3 -3
- package/mobile/src/ui-kit/SwipeListControl/SwipeListContainer.tsx +1 -1
- package/mobile/src/ui-kit/SwipeListControl/useSwipeListScroll.ts +10 -12
- package/mobile/src/ui-kit/TableArrowScrollControl/TableArrowScrollControl.tsx +1 -1
- package/mobile/src/ui-kit/YandexMap/YandexMap.tsx +1 -1
- package/mobile/src/ui-kit/YandexMap/renderSearchField.tsx +2 -1
- package/mobile/src/utils/formatBytes.ts +12 -0
- package/package.json +4 -2
- package/src/BlockRenderer/renderBlock.tsx +3 -6
- package/src/BlockRenderer/renderBlockList.tsx +29 -12
- package/src/BlockRenderer/renderChildren.ts +7 -6
- package/src/components/ApplicationForm/ApplicationForm.tsx +1 -1
- package/src/components/ApplicationForm/ApplicationFormWed.tsx +4 -4
- package/src/components/ApplicationForm/ResponseNotification.tsx +3 -3
- package/src/components/ApplicationForm/renderWedDataOrganization.tsx +6 -6
- package/src/components/BenefitsBlock/BenefitsBlock.fixture.tsx +0 -1
- package/src/components/BenefitsBlock/BenefitsBlock.tsx +5 -5
- package/src/components/BenefitsBlock/benefitImageStyles.mobile.tsx +1 -0
- package/src/components/BenefitsBlock/benefitImageStyles.tsx +1 -0
- package/src/components/Blocks.mobile.ts +6 -0
- package/src/components/Bonus/Bonus.tsx +3 -3
- package/src/components/BonusBenefitsBlock/BonusBenefitsBlock.tsx +2 -3
- package/src/components/BonusBenefitsBlock/renderBonusBenefits.mobile.tsx +2 -1
- package/src/components/BusinessBlock/BusinessBlock.tsx +2 -2
- package/src/components/BusinessBlock/BusinessCard.tsx +9 -7
- package/src/components/Calculator/BonusCalculatorForm.tsx +2 -2
- package/src/components/Calculator/BusinessDepositCalculatorForm.tsx +2 -2
- package/src/components/Calculator/Calculator.fixture.tsx +40 -0
- package/src/components/Calculator/Calculator.tsx +7 -7
- package/src/components/Calculator/CalculatorContent.ts +25 -1
- package/src/components/Calculator/CreditCalculatorForm.tsx +4 -4
- package/src/components/Calculator/DepositCalculatorForm.tsx +5 -5
- package/src/components/Calculator/EmbeddableCalcBlocks.tsx +4 -1
- package/src/components/Calculator/RefinancingCalculatorForm.tsx +147 -0
- package/src/components/Calculator/UnknownRate.tsx +2 -2
- package/src/components/Calculator/checkRefinancingSourceBookRowCommonParams.ts +45 -0
- package/src/components/Calculator/constants.ts +26 -0
- package/src/components/Calculator/getMonthlyPayment.ts +14 -4
- package/src/components/Calculator/getRefinancingCalculatorLimitParams.ts +25 -0
- package/src/components/Calculator/getRefinancingCalculatorRateParams.ts +40 -0
- package/src/components/Calculator/rangeHelpers.ts +7 -3
- package/src/components/Calculator/useRefinancingCalculatorParams.ts +136 -0
- package/src/components/CardTransfer/CardTransfer.tsx +1 -1
- package/src/components/Carousel/Carousel.fixture.mobile.tsx +8 -53
- package/src/components/Carousel/Carousel.fixture.tsx +4 -26
- package/src/components/Carousel/Carousel.tsx +47 -45
- package/src/components/Carousel/CarouselContent.ts +3 -9
- package/src/components/Carousel/CarouselScrollButtons.tsx +22 -25
- package/src/components/Carousel/renderControlButtons.tsx +2 -4
- package/src/components/CarouselBankHistoryCard/CarouselBankHistoryCard.fixture.tsx +2 -7
- package/src/components/CarouselBankHistoryCard/CarouselBankHistoryCard.mobile.tsx +1 -2
- package/src/components/CarouselBankHistoryCard/CarouselBankHistoryCard.tsx +34 -67
- package/src/components/CarouselCard/CarouselCard.fixture.mobile.tsx +1 -1
- package/src/components/CarouselCard/CarouselCard.fixture.tsx +1 -1
- package/src/components/CarouselCard/CarouselCard.tsx +15 -21
- package/src/components/CarouselCard/constants.ts +2 -2
- package/src/components/CarouselCatalogCard/CarouselCatalogCard.tsx +14 -20
- package/src/components/CarouselEventCard/CarouselEventCard.fixture.tsx +5 -3
- package/src/components/CarouselEventCard/CarouselEventCard.tsx +3 -4
- package/src/components/CarouselInvestmentCard/CarouselInvestmentCard.tsx +3 -11
- package/src/components/CarouselLinks/CarouselLinks.tsx +3 -8
- package/src/components/CarouselProductCard/CarouselProductCard.fixture.tsx +7 -4
- package/src/components/CarouselProductCard/CarouselProductCard.tsx +42 -43
- package/src/components/CarouselProductCard/CarouselProductCardContent.ts +6 -4
- package/src/components/CarouselProductCard/alignTextStyle.mobile.tsx +1 -0
- package/src/components/CarouselProductCard/alignTextStyle.tsx +1 -0
- package/src/components/CarouselProgramsCard/CarouselProgramsCard.tsx +16 -23
- package/src/components/CarouselRecommendationCard/CarouselRecommendationCard.mobile.tsx +3 -8
- package/src/components/CarouselRecommendationCard/CarouselRecommendationCard.tsx +24 -30
- package/src/components/CarouselRichTextCard/CarouselRichTextCard.fixture.tsx +1 -1
- package/src/components/CarouselRichTextCard/CarouselRichTextCard.tsx +1 -2
- package/src/components/CarouselTariffsCard/CarouselTariffsCard.tsx +3 -3
- package/src/components/CarouselTariffsCard/getPaddingStyle.mobile.tsx +1 -1
- package/src/components/ComparisonTable/ComparisonTable.mobile.tsx +2 -2
- package/src/components/ComparisonTable/ComparisonTable.tsx +2 -2
- package/src/components/ComparisonTable/ComparisonTableBody.tsx +1 -1
- package/src/components/ComparisonTable/ComparisonTableRows.tsx +1 -1
- package/src/components/ComparisonTable/HeaderCell.mobile.tsx +4 -9
- package/src/components/ComparisonTable/HeaderCell.tsx +5 -10
- package/src/components/ComparisonTable/TableCell.tsx +1 -1
- package/src/components/ComparisonTable/TableColumn.tsx +2 -2
- package/src/components/ContactsBlock/ContactsBlock.tsx +5 -5
- package/src/components/ContentPage/ContentPage.tsx +69 -51
- package/src/components/ExchangeRateOffice/ExchangeRateOffice.tsx +5 -5
- package/src/components/ExchangeRateOffice/renderCurrencies.tsx +3 -3
- package/src/components/ExchangeRateOffice/renderTableHeader.tsx +1 -1
- package/src/components/ExchangeRateTile/CurrencyTable.tsx +26 -10
- package/src/components/ExchangeRateTile/CurrentLocation.tsx +9 -6
- package/src/components/ExchangeRateTile/ExchangeCurrencyCalculator.tsx +1 -1
- package/src/components/ExchangeRateTile/ExchangeRateTile.fixture.mobile.tsx +19 -0
- package/src/components/ExchangeRateTile/ExchangeRateTile.tsx +1 -1
- package/src/components/Footer/Contacts.tsx +7 -6
- package/src/components/Footer/Footer.fixture.mobile.tsx +3 -1
- package/src/components/Footer/Footer.fixture.tsx +4 -17
- package/src/components/Footer/Footer.mobile.tsx +8 -12
- package/src/components/Footer/Footer.tsx +13 -17
- package/src/components/Footer/FooterProps.ts +7 -0
- package/src/components/GracePeriod/GracePeriod.tsx +11 -5
- package/src/components/Header/Header.fixture.mobile.tsx +5 -2
- package/src/components/Header/Header.fixture.tsx +4 -3
- package/src/components/Header/Header.mobile.tsx +5 -16
- package/src/components/Header/Header.tsx +11 -32
- package/src/components/Header/HeaderContent.ts +0 -2
- package/src/components/Header/HeaderProps.ts +9 -0
- package/src/components/Header/HeaderSubMenu.tsx +3 -3
- package/src/components/Header/HeaderTop.tsx +1 -1
- package/src/components/Header/sitemap.wcms-resource.json +144 -0
- package/src/components/Headline/Headline.tsx +1 -1
- package/src/components/Headline/headlineVersionStyles.ts +4 -4
- package/src/components/HorizontalLayout/HorizontalLayout.fixture.mobile.tsx +72 -0
- package/src/components/HorizontalLayout/HorizontalLayout.mobile.tsx +12 -0
- package/src/components/HorizontalLayout/HorizontalLayout.tsx +1 -1
- package/src/components/HorizontalLayout/gapStyles.ts +6 -6
- package/src/components/InsuranceAmountBlock/InsuranceAmountBlock.tsx +4 -4
- package/src/components/InsuranceAmountBlock/InsuranceAmountBlockInner.tsx +3 -3
- package/src/components/InvestmentInfo/InvestmentInfo.tsx +15 -24
- package/src/components/LinkDocs/LinkDocs.tsx +11 -3
- package/src/components/LinkDocs/LinkDocs.ui.json +3 -0
- package/src/components/LinkDocs/LinkDocsContent.ts +0 -2
- package/src/components/MobileAppTile/MobileAppTile.tsx +3 -3
- package/src/components/MobileAppTile/renderDescription.tsx +1 -1
- package/src/components/MobileAppTile/renderList.tsx +1 -1
- package/src/components/OfficeMap/OfficeMap.tsx +6 -6
- package/src/components/OfficeServicesBlock/OfficeServicesBlock.tsx +5 -5
- package/src/components/PictureText/PictureText.tsx +1 -1
- package/src/components/PictureText/renderInsuranceSumMonth.tsx +1 -1
- package/src/components/Placeholder/Placeholder.tsx +2 -2
- package/src/components/ProductBlock/ProductBlock.tsx +2 -2
- package/src/components/ProductGallery/ProductGallery.tsx +2 -2
- package/src/components/ProductTile/ProductTile.fixture.mobile.tsx +214 -0
- package/src/components/ProductTile/ProductTile.tsx +1 -1
- package/src/components/PromoTile/PromoTile.tsx +1 -1
- package/src/components/RepresentativeOfficeInfo/RepresentativeOfficeInfo.fixture.mobile.tsx +1 -1
- package/src/components/RepresentativeOfficeInfo/RepresentativeOfficeInfo.fixture.tsx +1 -1
- package/src/components/RepresentativeOfficeInfo/RepresentativeOfficeInfo.tsx +15 -16
- package/src/components/RollupItem/RollupItem.fixture.mobile.tsx +15 -19
- package/src/components/RollupItem/RollupItem.tsx +7 -4
- package/src/components/SafeDepositRental/{RenderRadioButtons.tsx → RadioButtons.tsx} +8 -3
- package/src/components/SafeDepositRental/RegionsAndBranches.tsx +3 -3
- package/src/components/SafeDepositRental/RentalPeriod.tsx +5 -2
- package/src/components/SafeDepositRental/SafeBoxCases.tsx +3 -3
- package/src/components/SafeDepositRental/SafeDepositRental.fixture.mobile.tsx +15 -0
- package/src/components/SafeDepositRental/SafeDepositRental.tsx +2 -2
- package/src/components/SafeDepositRental/SafeDepositRentalFields.tsx +10 -8
- package/src/components/SafeDepositRental/SafeDepositRentalForm.tsx +1 -1
- package/src/components/SafeDepositRental/SafeDepositRentalTotal.tsx +15 -12
- package/src/components/StepsBlock/StepsBlock.mobile.tsx +5 -5
- package/src/components/StepsBlock/StepsBlock.tsx +20 -20
- package/src/components/StepsBlock/renderStep.tsx +7 -7
- package/src/components/Tabs/ScrollableTabs.tsx +0 -1
- package/src/components/Tabs/renderGroupTab.tsx +1 -1
- package/src/components/TariffsTable/EmbeddableCellData.mobile.tsx +1 -1
- package/src/components/TariffsTable/TableTileHeader.tsx +1 -1
- package/src/components/TariffsTable/TariffsTable.mobile.tsx +1 -2
- package/src/components/TariffsTable/TariffsTable.tsx +6 -21
- package/src/components/TariffsTable/TariffsTableRenderCell.tsx +1 -1
- package/src/components/TariffsTable/TariffsTableRow.tsx +2 -2
- package/src/components/TariffsTable/TariffsTableTileCell.tsx +1 -1
- package/src/components/Tile/Tile.tsx +1 -1
- package/src/components/VerticalLayout/VerticalLayout.example.json +0 -1
- package/src/components/VerticalLayout/VerticalLayout.fixture.mobile.tsx +0 -3
- package/src/components/VerticalLayout/VerticalLayout.fixture.tsx +3 -10
- package/src/components/VerticalLayout/VerticalLayout.tsx +14 -35
- package/src/components/VerticalLayout/VerticalLayoutContent.ts +0 -2
- package/src/content-page-repository/transformDocument.ts +3 -0
- package/src/hooks/useCarouselControls.ts +8 -7
- package/src/model/Attachment.ts +2 -0
- package/src/model/JSXBlock.ts +1 -1
- package/src/ui-kit/BaseFiltration/BaseFiltrationInner.tsx +1 -1
- package/src/ui-kit/BaseProductTile/BaseProductTile.tsx +1 -1
- package/src/ui-kit/BaseProductTile/BaseProductTileContent.ts +5 -5
- package/src/ui-kit/BaseTile/BaseTile.tsx +7 -5
- package/src/ui-kit/BenefitItem/BenefitItem.tsx +1 -1
- package/src/ui-kit/BlockWrapper.tsx +2 -2
- package/src/ui-kit/Button/ButtonInner.tsx +1 -1
- package/src/ui-kit/Button/renderButtonsSection.tsx +1 -1
- package/src/ui-kit/Dialog/Dialog.tsx +3 -3
- package/src/ui-kit/InnerTable/InnerTableBodyItem.tsx +4 -6
- package/src/ui-kit/InnerTable/InnerTableButton.tsx +1 -1
- package/src/ui-kit/InnerTable/InnerTableHeader.tsx +4 -4
- package/src/ui-kit/Input/Input.tsx +1 -1
- package/src/ui-kit/InputRange/InputRange.tsx +1 -1
- package/src/ui-kit/LinkButton/LinkButton.tsx +3 -3
- package/src/ui-kit/LinkList/LinkList.tsx +2 -2
- package/src/ui-kit/List/List.fixture.tsx +4 -4
- package/src/ui-kit/List/List.tsx +4 -4
- package/src/ui-kit/List/ListItem.tsx +3 -3
- package/src/ui-kit/LocationDialog/LocationDialog.tsx +6 -7
- package/src/ui-kit/LocationDialog/SearchBar.tsx +1 -1
- package/src/ui-kit/Logo/renderTitle.tsx +1 -1
- package/src/ui-kit/NumberInput/NumberInput.fixture.tsx +1 -1
- package/src/ui-kit/RichText/RichText.fixture.tsx +1 -1
- package/src/ui-kit/SearchDialog/SearchDialog.tsx +1 -4
- package/src/ui-kit/SearchDialog/SearchInput.tsx +1 -1
- package/src/ui-kit/Select/Select.tsx +1 -1
- package/src/ui-kit/SlideCheckbox/SlideCheckbox.tsx +3 -3
- package/src/ui-kit/SwipeListControl/SwipeListContainer.tsx +1 -1
- package/src/ui-kit/SwipeListControl/useSwipeListScroll.ts +10 -12
- package/src/ui-kit/TableArrowScrollControl/TableArrowScrollControl.tsx +1 -1
- package/src/ui-kit/Tags/Tags.fixture.tsx +1 -1
- package/src/ui-kit/YandexMap/YandexMap.tsx +1 -1
- package/src/ui-kit/YandexMap/renderSearchField.tsx +2 -1
- package/src/utils/formatBytes.ts +12 -0
- package/tailwind.config.cjs +13 -16
- package/bundle/components/Calculator/renderProposalMortgage.d.ts +0 -8
- package/bundle/components/CarouselCard/getCardWidth.d.ts +0 -1
- package/bundle/components/CarouselRecommendationCard/cardStyle.d.ts +0 -1
- package/bundle/components/Header/HeaderBurger.d.ts +0 -9
- package/bundle/components/SafeDepositRental/RenderRadioButtons.d.ts +0 -2
- package/dist/components/Calculator/renderProposalMortgage.d.ts +0 -8
- package/dist/components/Calculator/renderProposalMortgage.js +0 -10
- package/dist/components/Calculator/renderProposalMortgage.js.map +0 -1
- package/dist/components/CarouselCard/getCardWidth.d.ts +0 -1
- package/dist/components/CarouselCard/getCardWidth.js +0 -18
- package/dist/components/CarouselCard/getCardWidth.js.map +0 -1
- package/dist/components/CarouselRecommendationCard/cardStyle.d.ts +0 -1
- package/dist/components/CarouselRecommendationCard/cardStyle.js +0 -4
- package/dist/components/CarouselRecommendationCard/cardStyle.js.map +0 -1
- package/dist/components/Header/HeaderBurger.d.ts +0 -9
- package/dist/components/Header/HeaderBurger.js +0 -17
- package/dist/components/Header/HeaderBurger.js.map +0 -1
- package/dist/components/SafeDepositRental/RenderRadioButtons.d.ts +0 -2
- package/dist/components/SafeDepositRental/RenderRadioButtons.js +0 -12
- package/dist/components/SafeDepositRental/RenderRadioButtons.js.map +0 -1
- package/lib/components/Calculator/renderProposalMortgage.d.ts +0 -8
- package/lib/components/Calculator/renderProposalMortgage.js +0 -7
- package/lib/components/Calculator/renderProposalMortgage.js.map +0 -1
- package/lib/components/CarouselCard/getCardWidth.d.ts +0 -1
- package/lib/components/CarouselCard/getCardWidth.js +0 -15
- package/lib/components/CarouselCard/getCardWidth.js.map +0 -1
- package/lib/components/CarouselRecommendationCard/cardStyle.d.ts +0 -1
- package/lib/components/CarouselRecommendationCard/cardStyle.js +0 -2
- package/lib/components/CarouselRecommendationCard/cardStyle.js.map +0 -1
- package/lib/components/Header/HeaderBurger.d.ts +0 -9
- package/lib/components/Header/HeaderBurger.js +0 -15
- package/lib/components/Header/HeaderBurger.js.map +0 -1
- package/lib/components/SafeDepositRental/RenderRadioButtons.d.ts +0 -2
- package/lib/components/SafeDepositRental/RenderRadioButtons.js +0 -10
- package/lib/components/SafeDepositRental/RenderRadioButtons.js.map +0 -1
- package/mobile/bundle/components/Calculator/renderProposalMortgage.d.ts +0 -8
- package/mobile/bundle/components/CarouselCard/getCardWidth.d.ts +0 -1
- package/mobile/bundle/components/CarouselRecommendationCard/cardStyle.d.ts +0 -1
- package/mobile/bundle/components/Header/HeaderBurger.d.ts +0 -9
- package/mobile/bundle/components/SafeDepositRental/RenderRadioButtons.d.ts +0 -2
- package/mobile/dist/components/Calculator/renderProposalMortgage.d.ts +0 -8
- package/mobile/dist/components/Calculator/renderProposalMortgage.js +0 -10
- package/mobile/dist/components/Calculator/renderProposalMortgage.js.map +0 -1
- package/mobile/dist/components/CarouselCard/getCardWidth.d.ts +0 -1
- package/mobile/dist/components/CarouselCard/getCardWidth.js +0 -18
- package/mobile/dist/components/CarouselCard/getCardWidth.js.map +0 -1
- package/mobile/dist/components/CarouselRecommendationCard/cardStyle.d.ts +0 -1
- package/mobile/dist/components/CarouselRecommendationCard/cardStyle.js +0 -4
- package/mobile/dist/components/CarouselRecommendationCard/cardStyle.js.map +0 -1
- package/mobile/dist/components/Header/HeaderBurger.d.ts +0 -9
- package/mobile/dist/components/Header/HeaderBurger.js +0 -17
- package/mobile/dist/components/Header/HeaderBurger.js.map +0 -1
- package/mobile/dist/components/SafeDepositRental/RenderRadioButtons.d.ts +0 -2
- package/mobile/dist/components/SafeDepositRental/RenderRadioButtons.js +0 -12
- package/mobile/dist/components/SafeDepositRental/RenderRadioButtons.js.map +0 -1
- package/mobile/lib/components/Calculator/renderProposalMortgage.d.ts +0 -8
- package/mobile/lib/components/Calculator/renderProposalMortgage.js +0 -7
- package/mobile/lib/components/Calculator/renderProposalMortgage.js.map +0 -1
- package/mobile/lib/components/CarouselCard/getCardWidth.d.ts +0 -1
- package/mobile/lib/components/CarouselCard/getCardWidth.js +0 -15
- package/mobile/lib/components/CarouselCard/getCardWidth.js.map +0 -1
- package/mobile/lib/components/CarouselRecommendationCard/cardStyle.d.ts +0 -1
- package/mobile/lib/components/CarouselRecommendationCard/cardStyle.js +0 -2
- package/mobile/lib/components/CarouselRecommendationCard/cardStyle.js.map +0 -1
- package/mobile/lib/components/Header/HeaderBurger.d.ts +0 -9
- package/mobile/lib/components/Header/HeaderBurger.js +0 -15
- package/mobile/lib/components/Header/HeaderBurger.js.map +0 -1
- package/mobile/lib/components/SafeDepositRental/RenderRadioButtons.d.ts +0 -2
- package/mobile/lib/components/SafeDepositRental/RenderRadioButtons.js +0 -10
- package/mobile/lib/components/SafeDepositRental/RenderRadioButtons.js.map +0 -1
- package/mobile/src/components/Calculator/renderProposalMortgage.tsx +0 -22
- package/mobile/src/components/CarouselCard/getCardWidth.tsx +0 -16
- package/mobile/src/components/CarouselRecommendationCard/cardStyle.ts +0 -2
- package/mobile/src/components/Header/HeaderBurger.tsx +0 -54
- package/src/components/Calculator/renderProposalMortgage.tsx +0 -22
- package/src/components/CarouselCard/getCardWidth.tsx +0 -16
- package/src/components/CarouselRecommendationCard/cardStyle.ts +0 -2
- package/src/components/Header/HeaderBurger.tsx +0 -54
package/bundle/bundle.umd.js
CHANGED
|
@@ -337,7 +337,7 @@
|
|
|
337
337
|
transparent: 'bg-transparent text-primary-text',
|
|
338
338
|
'': '',
|
|
339
339
|
};
|
|
340
|
-
const BlockWrapper = JSX(({ className, version = 'primary', isTheme = true, defaultPadding = 'p-
|
|
340
|
+
const BlockWrapper = JSX(({ className, version = 'primary', isTheme = true, defaultPadding = 'p-xl', padding, block, tag = 'section', role, children, }) => {
|
|
341
341
|
const Tag = tag;
|
|
342
342
|
const ref = useBlockIntersectionObserver(block);
|
|
343
343
|
const [isHidden, setHidden] = useState(false);
|
|
@@ -345,7 +345,7 @@
|
|
|
345
345
|
setHidden(Boolean(event.label && block?.labels?.length && !block.labels.includes(event.label)));
|
|
346
346
|
}), [block]);
|
|
347
347
|
const isGroup = version && isTheme;
|
|
348
|
-
return (jsx(Tag, { className: style('font-sans', isGroup ? 'group' : '', blockStyles[version], isHidden ? 'hidden' : '', padding || defaultPadding, className), ...(isGroup ? { 'data-ver': version } : {}), ...(block?.anchor ? { id: block.anchor, ref } : {}), role: role, children: children }));
|
|
348
|
+
return (jsx(Tag, { className: style('@container font-sans', isGroup ? 'group' : '', blockStyles[version], isHidden ? 'hidden' : '', padding || defaultPadding, className), ...(isGroup ? { 'data-ver': version } : {}), ...(block?.anchor ? { id: block.anchor, ref } : {}), role: role, children: children }));
|
|
349
349
|
});
|
|
350
350
|
|
|
351
351
|
const headingTag = (tag) => tag;
|
|
@@ -622,7 +622,7 @@
|
|
|
622
622
|
|
|
623
623
|
const ButtonInner = JSX((props) => {
|
|
624
624
|
const { text, aboveText, appendLeft, appendRight, version = 'primary' } = props;
|
|
625
|
-
return (jsxs("div", { className: style(getButtonStyle(props), 'flex gap-2'), children: [appendLeft ? jsx("div", { className: iconStyleMap[version], children: appendLeft }) : null, isWithText(props) ? (jsxs("div", { children: [aboveText ? jsx("div", { className: "text-xs font-light text-left", children: aboveText }) : null, jsx("div", { className: `text-left ${aboveText ? 'text-s -mt-
|
|
625
|
+
return (jsxs("div", { className: style(getButtonStyle(props), 'flex gap-2'), children: [appendLeft ? jsx("div", { className: iconStyleMap[version], children: appendLeft }) : null, isWithText(props) ? (jsxs("div", { children: [aboveText ? jsx("div", { className: "text-xs font-light text-left", children: aboveText }) : null, jsx("div", { className: `text-left ${aboveText ? 'text-s -mt-3xs' : 'text-l'}`, children: text })] })) : null, appendRight ? jsx("div", { className: iconStyleMap[version], children: appendRight }) : null] }));
|
|
626
626
|
});
|
|
627
627
|
const getButtonStyle = (props) => {
|
|
628
628
|
const { version, aboveText, rounded } = props;
|
|
@@ -687,7 +687,7 @@
|
|
|
687
687
|
const validStyle = valid
|
|
688
688
|
? 'border-gray hover:border-primary-hover active:border-primary-text focus:border-primary-text'
|
|
689
689
|
: 'border-error';
|
|
690
|
-
return (jsxs("div", { className: style('relative', className), children: [jsxs("label", { children: [label ? (jsx("div", { className: "mb-
|
|
690
|
+
return (jsxs("div", { className: style('relative', className), children: [jsxs("label", { children: [label ? (jsx("div", { className: "mb-xs", children: jsx(Text, { size: "text-m", font: "font-light", children: label }) })) : null, jsx("input", { className: style('w-full border rounded-md text-primary-text outline-none p-4', paddingStyle, validStyle, inputClassName), id: id, name: name || id, placeholder: placeholder, type: type, value: value, onInput: handleChange, onFocus: onFocus, onBlur: onBlur, pattern: pattern }, key)] }), children] }));
|
|
691
691
|
});
|
|
692
692
|
|
|
693
693
|
const InputControl = JSX(({ className, label, value = '', error, onChange, onBlur }) => (jsxs("div", { className: className, children: [jsx(Input, { type: "text", "aria-label": label, label: label, valid: Boolean(!error), value: value, onChange: onChange, onBlur: onBlur }), jsx("div", { className: "h-2", children: error ? (jsx(Text, { size: "text-xs", font: "font-light", color: "text-error", children: error })) : null })] })));
|
|
@@ -798,7 +798,7 @@
|
|
|
798
798
|
onChange && onChange(option);
|
|
799
799
|
}, [onChange]);
|
|
800
800
|
const isSelected = (option) => option.key === value?.key;
|
|
801
|
-
return (jsxs("div", { className: className, ref: wrapperRef, children: [label ? (jsx("div", { className: "mb-
|
|
801
|
+
return (jsxs("div", { className: className, ref: wrapperRef, children: [label ? (jsx("div", { className: "mb-xs", children: jsx(Text, { size: "text-m", color: "text-primary-text", font: "font-light", children: label }) })) : null, jsxs("div", { className: style('relative', isOpen ? 'z-20' : 'z-10'), children: [jsxs("div", { className: style('text-l flex justify-between items-center text-primary-text cursor-pointer', getBorderStyle(isBorder, valid)), onClick: toggle, children: [jsx("p", { className: "p-4 pr-8 h-14 overflow-hidden text-ellipsis whitespace-nowrap", children: formatOption(value) || placeholder }), jsx(Icon, { className: style('absolute right-3', isOpen ? '' : 'rotate-180'), name: "ArrowUpIcon", width: "16", height: "16" })] }), options?.length ? (jsx("div", { className: style('h-0', isOpen ? '' : 'overflow-hidden'), children: jsx("div", { className: "bg-white text-l max-h-64 overflow-y-auto overflow-x-hidden rounded-md shadow-[0_4px_25px_rgba(0,0,0,0.07)]", children: options.map(renderOption(handleChange, isOpen, isSelected)) }) })) : null] })] }));
|
|
802
802
|
});
|
|
803
803
|
const renderOption = (handleChange, isOpen, isSelected) => (option, i) => (jsxs("div", { onClick: () => {
|
|
804
804
|
handleChange(option);
|
|
@@ -810,7 +810,7 @@
|
|
|
810
810
|
|
|
811
811
|
const renderAcquiringRegion = ({ regions, field }) => (jsxs("div", { className: "mb-4 pb-1 border-b border-b-main-divider sm:flex sm:justify-between sm:gap-5 sm:mb-7 sm:border-none sm:pb-0", children: [jsx("div", { className: "mb-3 sm:mb-0 sm:w-1/2", children: jsx(SelectControl, { label: "\u0412\u0438\u0434 \u044D\u043A\u0432\u0430\u0439\u0440\u0438\u043D\u0433\u0430", placeholder: "\u0412\u044B\u0431\u0435\u0440\u0438\u0442\u0435 \u044D\u043A\u0432\u0430\u0439\u0440\u0438\u043D\u0433", options: ACQUIRING_TYPES.map(({ name: key = '' }) => ({ key, text: key })), ...withValidator(field('acquiringType'), defaultValidator) }) }), jsx("div", { className: "mb-3 sm:mb-0 sm:w-1/2", children: jsx(SelectControl, { label: "\u0410\u0434\u0440\u0435\u0441", placeholder: "\u0412\u044B\u0431\u0435\u0440\u0438\u0442\u0435 \u0430\u0434\u0440\u0435\u0441", options: regions.map(({ code = '', name = '' }) => ({ key: code, text: name })), ...withValidator(field('region'), defaultValidator) }) })] }));
|
|
812
812
|
|
|
813
|
-
const SlideCheckbox = JSX(({ value = false, text, type = 'checkbox', onChange }) => (jsxs("div", { role: type, "aria-checked": value, className: "flex justify-start items-center w-full cursor-pointer mb-
|
|
813
|
+
const SlideCheckbox = JSX(({ value = false, text, type = 'checkbox', onChange }) => (jsxs("div", { role: type, "aria-checked": value, className: "flex justify-start items-center w-full cursor-pointer mb-s", onClick: () => onChange && onChange(!value), children: [jsx("div", { className: style('relative flex-shrink-0 duration-300 w-9 h-5 mr-s rounded-2xl', value ? 'bg-primary-main' : 'bg-main-divider'), children: jsx("div", { className: style('absolute opacity-80 duration-500 top-0.5 w-4 h-4 bg-white rounded-full', value ? 'left-1/2' : 'left-[5%]') }) }), jsx(Text, { size: "text-l", font: "font-light", color: "text-primary-text", children: text })] })));
|
|
814
814
|
|
|
815
815
|
const renderSlideCheckboxes = (field) => (jsxs("div", { className: "sm:mb-5", children: [jsx(SlideCheckbox, { text: "\u0425\u043E\u0447\u0443 \u043A\u0443\u043F\u0438\u0442\u044C \u043E\u043D\u043B\u0430\u0439\u043D-\u043A\u0430\u0441\u0441\u0443", ...field('onlineCheckout') }), jsx(SlideCheckbox, { text: "\u0425\u043E\u0447\u0443 \u043A\u0443\u043F\u0438\u0442\u044C POS-\u0442\u0435\u0440\u043C\u0438\u043D\u0430\u043B", ...field('posTerminal') })] }));
|
|
816
816
|
|
|
@@ -971,7 +971,7 @@
|
|
|
971
971
|
const handleChange = useCallback((e) => {
|
|
972
972
|
onChange && onChange(parseDecimal(e.target?.value));
|
|
973
973
|
}, [onChange]);
|
|
974
|
-
return (jsxs("div", { className: className, children: [jsxs("label", { className: "block relative", children: [title ? (jsx(Text, { size: "text-m", font: "font-light", color: "text-primary-text", children: title })) : null, jsx("input", { className: style('m-0 mt-
|
|
974
|
+
return (jsxs("div", { className: className, children: [jsxs("label", { className: "block relative", children: [title ? (jsx(Text, { size: "text-m", font: "font-light", color: "text-primary-text", children: title })) : null, jsx("input", { className: style('m-0 mt-xs font-sans text-h3 w-full h-14', 'border border-solid border-gray rounded-md outline-none', 'p-0 pl-4 box-border', 'text-primary-text hover:border-primary-hover focus:border-primary-text', DISABLED_INPUT_CLASSES), disabled: disabled, onInput: handleChange, ...normalizedProps }), renderRangeWithTicks({ list, min, max, step, disabled, value, onChange })] }), renderRangeCaption(items)] }));
|
|
975
975
|
});
|
|
976
976
|
const closestValue = (list) => (_) => list.reduce((prev, curr) => (Math.abs(curr - _) < Math.abs(prev - _) ? curr : prev));
|
|
977
977
|
const renderRangeCaption = (items) => (jsx("div", { className: "flex justify-between my-2", children: items.map((item, i) => (jsx(Text, { size: "text-s", font: "font-light", color: "text-secondary-text", children: item }, String(i)))) }));
|
|
@@ -1104,7 +1104,7 @@
|
|
|
1104
1104
|
return (jsxs("div", { className: "mb-3 sm:mb-6", children: [jsxs("div", { className: "mb-4 sm:flex sm:items-center sm:gap-6", children: [jsx(Checkbox, { className: "mb-3 sm:mb-0", text: "\u0412\u0430\u043B\u044E\u0442\u043D\u044B\u0439 \u043A\u043E\u043D\u0442\u0440\u043E\u043B\u044C", ...field('currencyControl') }), jsx(Checkbox, { className: "mb-3 sm:mb-0", text: "\u0414\u043E\u043A\u0443\u043C\u0435\u043D\u0442\u0430\u0440\u043D\u044B\u0435 \u043E\u043F\u0435\u0440\u0430\u0446\u0438\u0438", ...field('documentaryOperations') }), jsx(Checkbox, { className: "mb-3 sm:mb-0", text: "\u041A\u043E\u043D\u0432\u0435\u0440\u0441\u0438\u043E\u043D\u043D\u044B\u0435 \u043E\u043F\u0435\u0440\u0430\u0446\u0438\u0438", ...field('conversionOperations') })] }), jsx("textarea", { placeholder: "\u0423\u043A\u0430\u0436\u0438\u0442\u0435 \u0438\u043D\u0442\u0435\u0440\u0435\u0441\u0443\u044E\u0449\u0438\u0439 \u0432\u0430\u0441 \u0432\u043E\u043F\u0440\u043E\u0441, \u043C\u0435\u0441\u0442\u043E \u0432\u0435\u0434\u0435\u043D\u0438\u044F \u0431\u0438\u0437\u043D\u0435\u0441\u0430 \u0438 \u0443\u0434\u043E\u0431\u043D\u043E\u0435 \u0432\u0440\u0435\u043C\u044F \u0434\u043B\u044F \u0442\u0435\u043B\u0435\u0444\u043E\u043D\u043D\u043E\u0433\u043E \u0437\u0432\u043E\u043D\u043A\u0430", className: "block w-full resize-y min-h-24 p-4 outline-none border rounded-md border-main-stroke hover:border-primary-hover active:focus:border-primary-text", value: textField.value, onInput: ((e) => textField.onChange && textField.onChange(e.target?.value || '')) })] }));
|
|
1105
1105
|
};
|
|
1106
1106
|
|
|
1107
|
-
const renderWedDataOrganization = (field) => (jsxs("div", { children: [jsxs("div", { className: "sm:flex sm:justify-between sm:gap-
|
|
1107
|
+
const renderWedDataOrganization = (field) => (jsxs("div", { children: [jsxs("div", { className: "sm:flex sm:justify-between sm:gap-lg", children: [jsx("div", { className: "sm:w-1/2", children: jsx(InputControl, { className: "shrink-0 w-full mb-s", label: "\u041D\u0430\u0438\u043C\u0435\u043D\u043E\u0432\u0430\u043D\u0438\u0435 \u043E\u0440\u0433\u0430\u043D\u0438\u0437\u0430\u0446\u0438\u0438", ...withValidator(field('fullName'), defaultValidator) }) }), jsx("div", { className: "sm:w-1/2", children: jsx(InputControl, { className: "shrink-0 w-full mb-s", label: "\u0424\u0418\u041E", ...withValidator(field('name'), nameValidator) }) })] }), jsxs("div", { className: "sm:flex sm:justify-between sm:gap-lg sm:mb-2xl", children: [jsx("div", { className: "sm:w-1/2", children: jsx(PhoneInputControl, { className: "shrink-0 w-full mb-s", label: "\u0422\u0435\u043B\u0435\u0444\u043E\u043D", ...withValidator(field('phone'), phoneValidator) }) }), jsx("div", { className: "sm:w-1/2", children: jsx(InputControl, { className: "shrink-0 w-full mb-s", label: "\u042D\u043B\u0435\u043A\u0442\u0440\u043E\u043D\u043D\u0430\u044F \u043F\u043E\u0447\u0442\u0430", ...withValidator(field('mail'), defaultValidator) }) })] })] }));
|
|
1108
1108
|
|
|
1109
1109
|
const initialFormState = {
|
|
1110
1110
|
fullName: '',
|
|
@@ -1137,13 +1137,13 @@
|
|
|
1137
1137
|
});
|
|
1138
1138
|
}, [onSubmit]);
|
|
1139
1139
|
const [, { field, ...formProps }] = useForm(initialFormState, handleSubmit);
|
|
1140
|
-
return (jsxs("form", { className: "container", onSubmit: formProps.onSubmit, children: [jsx(Heading, { headingType: "h6", title: "\u0414\u0430\u043D\u043D\u044B\u0435 \u043E\u0440\u0433\u0430\u043D\u0438\u0437\u0430\u0446\u0438\u0438", className: "sm:text-center mb-
|
|
1140
|
+
return (jsxs("form", { className: "container", onSubmit: formProps.onSubmit, children: [jsx(Heading, { headingType: "h6", title: "\u0414\u0430\u043D\u043D\u044B\u0435 \u043E\u0440\u0433\u0430\u043D\u0438\u0437\u0430\u0446\u0438\u0438", className: "sm:text-center mb-m" }), renderWedDataOrganization(field), jsx(Heading, { headingType: "h6", title: "\u0418\u043D\u0442\u0435\u0440\u0435\u0441\u0443\u044E\u0449\u0438\u0439 \u0432\u043E\u043F\u0440\u043E\u0441", className: "sm:text-center mb-m" }), renderQuestionsInterested(field), jsxs("div", { className: "flex flex-col border-b border-main-divider mb-5 pb-5 sm:items-center sm:flex-row sm:mb-9 sm:pb-9", children: [renderSubmitButton(button, 'mb-m sm:mr-lg sm:mb-0'), jsx(Footnote, { link: link })] }), jsx(Heading, { headingType: "h6", title: "\u0418\u043B\u0438 \u0441\u0432\u044F\u0436\u0438\u0442\u0435\u0441\u044C \u0441 \u043D\u0430\u043C\u0438 \u0443\u0434\u043E\u0431\u043D\u044B\u043C \u0441\u043F\u043E\u0441\u043E\u0431\u043E\u043C", className: "sm:text-center mb-m" }), renderContacts()] }));
|
|
1141
1141
|
});
|
|
1142
1142
|
|
|
1143
1143
|
const ResponseNotification = JSX(({ responseType }) => {
|
|
1144
1144
|
const responseOK = responseType === 'OK';
|
|
1145
1145
|
const backgroundColor = responseOK ? 'bg-ok' : 'bg-fail';
|
|
1146
|
-
return (jsxs("div", { className: `flex items-center mt-
|
|
1146
|
+
return (jsxs("div", { className: `flex items-center mt-lg p-lg rounded-md space-x-m ${backgroundColor}`, children: [responseOK ? (jsx(Img, { image: { icon: 'ResponceOKIcon' }, width: "42", height: "42" })) : (jsx(Img, { image: { icon: 'ResponceFailIcon' }, width: "37", height: "34" })), jsxs("div", { children: [jsx(Heading, { headingType: "h6", title: responseOK ? 'Ваша заявка отправлена' : 'Не удалось отправить заявку', className: "mb-1" }), jsx(Text, { size: "text-l", font: "font-light", color: "text-secondary-text", children: responseOK ? 'Совсем скоро мы с вами свяжемся' : 'Пожалуйста, повторите позднее' })] })] }));
|
|
1147
1147
|
});
|
|
1148
1148
|
|
|
1149
1149
|
const COMPONENTS_MAP = {
|
|
@@ -1162,7 +1162,7 @@
|
|
|
1162
1162
|
setResponseType(status);
|
|
1163
1163
|
return status;
|
|
1164
1164
|
}, []);
|
|
1165
|
-
return (jsx(BlockWrapper, { className: className, defaultPadding: "p-
|
|
1165
|
+
return (jsx(BlockWrapper, { className: className, defaultPadding: "p-6xl", ...rest, children: jsxs("div", { className: "container max-w-[978px]", children: [title ? (jsx(Heading, { headingType: "h3", title: title, className: "mb-4 sm:mb-8 sm:text-center" })) : null, COMPONENTS_MAP[typeForm]({ button, link, onSubmit: handleSubmit }), responseType ? jsx(ResponseNotification, { responseType: responseType }) : null] }) }));
|
|
1166
1166
|
});
|
|
1167
1167
|
|
|
1168
1168
|
const iconBgStyles = {
|
|
@@ -1181,21 +1181,21 @@
|
|
|
1181
1181
|
|
|
1182
1182
|
const defaultIconSize = 44;
|
|
1183
1183
|
|
|
1184
|
-
const BenefitsBlock = JSX(({ className = '', title, benefitList, ...rest }) => (jsxs(BlockWrapper, { className: className, defaultPadding: "p-
|
|
1185
|
-
const renderBenefit = (benefit, i) => (jsxs("div", { className: "flex gap-
|
|
1186
|
-
const renderDescription$
|
|
1184
|
+
const BenefitsBlock = JSX(({ className = '', title, benefitList, ...rest }) => (jsxs(BlockWrapper, { className: className, defaultPadding: "p-6xl", ...rest, children: [title ? jsx(Heading, { headingType: "h3", as: "h2", className: "text-center", title: title }) : null, benefitList?.length ? (jsx("div", { className: "flex flex-wrap w-full sm:justify-center mt-xl gap-5xl", role: "list", children: benefitList.map(renderBenefit) })) : null] })));
|
|
1185
|
+
const renderBenefit = (benefit, i) => (jsxs("div", { className: "flex gap-m items-center md:basis-1/2 md:max-w-[400px]", role: "listitem", children: [benefit?.icon?.icon ? (jsx(RoundedIcon, { className: "shrink-0", defaultIconSize: defaultIconSize, iconBgVersion: benefit?.iconBgVersion || '', ...benefit?.icon })) : null, benefit?.icon?.src ? jsx(Img, { className: "shrink-0", image: benefit.icon }) : null, benefit?.label ? (jsxs("div", { className: "sm:h-full", children: [jsx(Heading, { headingType: "h6", children: benefit.label }), renderDescription$3(benefit.description)] })) : null] }, String(i)));
|
|
1186
|
+
const renderDescription$3 = (description) => {
|
|
1187
1187
|
const benefitType = description?.benefitType || null;
|
|
1188
|
-
return description && benefitType ? (jsx("div", { className: "mt-
|
|
1188
|
+
return description && benefitType ? (jsx("div", { className: "mt-xs text-l font-light text-secondary-text group-data-secondary:text-white/80", children: benefitType === 'list'
|
|
1189
1189
|
? renderListBenefit(description)
|
|
1190
1190
|
: renderTextBenefit(description) })) : null;
|
|
1191
1191
|
};
|
|
1192
1192
|
const renderTextBenefit = (description) => description?.name || null;
|
|
1193
1193
|
const renderListBenefit = (description) => {
|
|
1194
|
-
const listStyleType = description?.bullets ? 'list-disc pl-
|
|
1194
|
+
const listStyleType = description?.bullets ? 'list-disc pl-3xl' : '';
|
|
1195
1195
|
return description?.items && description.items.length > 0 ? (jsx("ul", { className: listStyleType, children: description.items.map((_, i) => (jsx("li", { children: _ }, `benefitListItem-${i}`))) })) : null;
|
|
1196
1196
|
};
|
|
1197
1197
|
|
|
1198
|
-
const renderButtonsSection = (buttons, { className, buttonClassName, isVertical } = {}) => buttons?.length && buttons.some((_) => _?.text || _?.icon?.icon) ? (jsx("div", { className: style('flex', isVertical ? 'flex-col gap-xs justify-items-stretch' : 'flex-wrap gap-
|
|
1198
|
+
const renderButtonsSection = (buttons, { className, buttonClassName, isVertical } = {}) => buttons?.length && buttons.some((_) => _?.text || _?.icon?.icon) ? (jsx("div", { className: style('flex', isVertical ? 'flex-col gap-xs justify-items-stretch' : 'flex-wrap gap-m', className), children: buttons.map(renderButton(buttonClassName)) })) : null;
|
|
1199
1199
|
const renderButton = (buttonClassName = '') => (button, index) => {
|
|
1200
1200
|
const { text, icon, iconRight, version, ...rest } = button || {};
|
|
1201
1201
|
const iconVersionDefault = version === 'secondary' ? 'color' : 'white';
|
|
@@ -1210,25 +1210,25 @@
|
|
|
1210
1210
|
title: { headingType: 'h0', as: 'h1' },
|
|
1211
1211
|
descriptionSize: 'text-h5',
|
|
1212
1212
|
descriptionWeight: 'font-normal',
|
|
1213
|
-
descriptionStyle: 'mt-
|
|
1213
|
+
descriptionStyle: 'mt-xl',
|
|
1214
1214
|
},
|
|
1215
1215
|
XL: {
|
|
1216
1216
|
title: { headingType: 'h1', as: 'h1' },
|
|
1217
1217
|
descriptionSize: 'text-xl',
|
|
1218
1218
|
descriptionWeight: 'font-light',
|
|
1219
|
-
descriptionStyle: 'mt-
|
|
1219
|
+
descriptionStyle: 'mt-m',
|
|
1220
1220
|
},
|
|
1221
1221
|
L: {
|
|
1222
1222
|
title: { headingType: 'h2', as: 'h2' },
|
|
1223
1223
|
descriptionSize: 'text-xl',
|
|
1224
1224
|
descriptionWeight: 'font-light',
|
|
1225
|
-
descriptionStyle: 'mt-
|
|
1225
|
+
descriptionStyle: 'mt-m',
|
|
1226
1226
|
},
|
|
1227
1227
|
M: {
|
|
1228
1228
|
title: { headingType: 'h3', as: 'h2' },
|
|
1229
1229
|
descriptionSize: 'text-xl',
|
|
1230
1230
|
descriptionWeight: 'font-light',
|
|
1231
|
-
descriptionStyle: 'mt-
|
|
1231
|
+
descriptionStyle: 'mt-s',
|
|
1232
1232
|
},
|
|
1233
1233
|
S: {
|
|
1234
1234
|
title: { headingType: 'h4', as: 'h2' },
|
|
@@ -1258,13 +1258,13 @@
|
|
|
1258
1258
|
const Headline = JSX(({ className, version = '', headlineVersion = 'XL', title, description, align = 'text-center', as, isPadding = true, isTheme = false, ...rest }) => {
|
|
1259
1259
|
const versionStyle = headlineVersionStyles[headlineVersion];
|
|
1260
1260
|
const descriptionStyle = { marginTop: versionStyle.descriptionStyle };
|
|
1261
|
-
return (jsxs(BlockWrapper, { className: className, defaultPadding: isPadding ? 'p-
|
|
1261
|
+
return (jsxs(BlockWrapper, { className: className, defaultPadding: isPadding ? 'p-6xl' : '', version: version, isTheme: isTheme, ...rest, children: [title ? (jsx(Heading, { className: style('whitespace-pre-wrap', align), ...versionStyle?.title, as: as || versionStyle?.title.as, title: title })) : null, description ? (jsx(Paragraph, { size: versionStyle.descriptionSize, font: versionStyle.descriptionWeight, align: align, ...descriptionStyle, children: description })) : null] }));
|
|
1262
1262
|
});
|
|
1263
1263
|
|
|
1264
1264
|
const Bonus = JSX((props) => {
|
|
1265
1265
|
const { className = '', title, description, bonusItems, ...rest } = props;
|
|
1266
|
-
return (jsx(BlockWrapper, { className: className, defaultPadding: "p-
|
|
1267
|
-
? bonusItems.map((_, i) => (jsxs("div", { className: "flex-grow w-[49%] border border-gray p-9 mb-3 mx-2 even:mr-0 odd:ml-0 last:odd:mx-0", children: [_?.title ? jsx(Text, { size: "text-h4", children: _.title }) : null, _?.description ? (jsx("div", { className: "mt-
|
|
1266
|
+
return (jsx(BlockWrapper, { className: className, defaultPadding: "p-6xl", ...rest, children: jsxs("div", { className: "container", children: [jsx(Headline, { title: title, description: description, headlineVersion: "M", isPadding: false }), jsx("div", { className: "flex flex-wrap w-full mt-9", children: bonusItems?.length
|
|
1267
|
+
? bonusItems.map((_, i) => (jsxs("div", { className: "flex-grow w-[49%] border border-gray p-9 mb-3 mx-2 even:mr-0 odd:ml-0 last:odd:mx-0", children: [_?.title ? jsx(Text, { size: "text-h4", children: _.title }) : null, _?.description ? (jsx("div", { className: "mt-xs", children: jsx(Paragraph, { size: "text-xl", font: "font-light", children: _.description }) })) : null, jsxs("div", { className: "flex justify-between items-end mt-3", children: [renderButtonsSection(_?.buttons), _.bonusItemContent?.bonusType
|
|
1268
1268
|
? renderBonusItemContent(_.bonusItemContent)
|
|
1269
1269
|
: null] })] }, String(i))))
|
|
1270
1270
|
: null })] }) }));
|
|
@@ -1304,29 +1304,31 @@
|
|
|
1304
1304
|
}
|
|
1305
1305
|
};
|
|
1306
1306
|
|
|
1307
|
-
const BonusBenefitsBlock = JSX(({ bonusBenefits, cardTextAlign = 'center', className = '', columnsCount = '4', subtitle, title, ...rest }) => (jsxs(BlockWrapper, { className:
|
|
1307
|
+
const BonusBenefitsBlock = JSX(({ bonusBenefits, cardTextAlign = 'center', className = '', columnsCount = '4', subtitle, title, ...rest }) => (jsxs(BlockWrapper, { className: className, defaultPadding: "p-6xl", ...rest, children: [jsx(Headline, { className: "mb-4 sm:mb-3xl", isPadding: false, title: title, description: subtitle, headlineVersion: "M" }), bonusBenefits?.length
|
|
1308
1308
|
? renderBonusBenefits(bonusBenefits, columnsCount, cardTextAlign)
|
|
1309
1309
|
: null] })));
|
|
1310
1310
|
|
|
1311
1311
|
const BusinessCard = JSX((props) => {
|
|
1312
1312
|
const { title, image, cardItems, button } = props;
|
|
1313
|
-
return (jsxs("div", { className: "border-gray border p-
|
|
1313
|
+
return (jsxs("div", { className: "border-gray border p-4xl w-1/2 space-y-lg", children: [image ? (jsxs("div", { className: "flex justify-center", children: [image?.src ? jsx(Img, { image: image }) : null, image?.icon ? jsx(Img, { image: image }) : null] })) : null, title ? jsx(Heading, { headingType: "h4", title: title }) : null, cardItems?.length ? (jsx("ul", { className: "space-y-s", children: cardItems.map((_, i) => renderItem(_, String(i))) })) : null, renderButtonsSection([button])] }));
|
|
1314
1314
|
});
|
|
1315
1315
|
const renderItem = (item, key) => {
|
|
1316
1316
|
const { icon, text } = item;
|
|
1317
|
-
return (jsxs("li", { className: "flex items-center gap-
|
|
1317
|
+
return (jsxs("li", { className: "flex items-center gap-s last:mb-0", children: [icon?.icon ? (jsx(Img, { image: icon, className: "w-12 h-12 min-w-12 p-s rounded-icon bg-main-divider" })) : null, icon?.src ? jsx(Img, { image: icon }) : null, jsx(Text, { size: "text-xl", font: "font-light", children: text })] }, key));
|
|
1318
1318
|
};
|
|
1319
1319
|
|
|
1320
|
-
const BusinessBlock = JSX(({ className, title, cards, ...rest }) => (jsxs(BlockWrapper, { className: className, defaultPadding: "p-
|
|
1320
|
+
const BusinessBlock = JSX(({ className, title, cards, ...rest }) => (jsxs(BlockWrapper, { className: className, defaultPadding: "p-6xl space-y-3xl", ...rest, children: [jsx(Heading, { headingType: "h3", title: title, className: "text-center" }), jsx("div", { className: "flex gap-5", children: cards?.length ? cards.map((_, i) => jsx(BusinessCard, { ..._ }, String(i))) : null })] })));
|
|
1321
1321
|
|
|
1322
1322
|
const ButtonsBlock = JSX(({ buttons, className, ...rest }) => (jsx(BlockWrapper, { className: style('!bg-transparent', className), defaultPadding: "p-0", ...rest, children: renderButtonsSection(buttons) })));
|
|
1323
1323
|
|
|
1324
|
-
const useCarouselControls = (props) => {
|
|
1324
|
+
const useCarouselControls = (props, initialIndex = 0) => {
|
|
1325
1325
|
const { itemCount, visibleItemCount } = props;
|
|
1326
|
-
const [activeIndex, setActiveIndex] = useState(
|
|
1326
|
+
const [activeIndex, setActiveIndex] = useState(initialIndex);
|
|
1327
1327
|
const inc = useCallback(() => setActiveIndex((_) => Math.min(_ + 1, itemCount - 1)), [itemCount]);
|
|
1328
1328
|
const dec = useCallback(() => setActiveIndex((_) => Math.max(_ - 1, 0)), [itemCount]);
|
|
1329
|
-
const canInc =
|
|
1329
|
+
const canInc = visibleItemCount
|
|
1330
|
+
? itemCount > visibleItemCount && activeIndex < itemCount - visibleItemCount
|
|
1331
|
+
: activeIndex < itemCount - 1;
|
|
1330
1332
|
const canDec = activeIndex > 0;
|
|
1331
1333
|
const isScrollAvailable = canDec || canInc;
|
|
1332
1334
|
return [
|
|
@@ -1340,9 +1342,6 @@
|
|
|
1340
1342
|
},
|
|
1341
1343
|
];
|
|
1342
1344
|
};
|
|
1343
|
-
function isScrollable({ itemCount, visibleItemCount }) {
|
|
1344
|
-
return Boolean(visibleItemCount && itemCount > visibleItemCount);
|
|
1345
|
-
}
|
|
1346
1345
|
|
|
1347
1346
|
const ArrowButton = JSX(({ className, disabled, ...rest }) => (jsx(Button, { rounded: true, className: `group/btn shadow-[0_4px_25px_rgba(0,0,0,0.07)] w-12 h-12 min-h-12 max-h-12 flex items-center justify-center ${disabled
|
|
1348
1347
|
? 'bg-secondary-light text-secondary-text'
|
|
@@ -1360,8 +1359,17 @@
|
|
|
1360
1359
|
const DEFAULT_MIN_SUM$1 = 10000;
|
|
1361
1360
|
const DEFAULT_MAX_SUM$1 = 5000000;
|
|
1362
1361
|
const CREDIT_DEFAULT_SUM = 200000;
|
|
1362
|
+
const REFINANCING_DEFAULT_SUM = 700000;
|
|
1363
|
+
const REFINANCING_DEFAULT_MAX_SUM = 3000000;
|
|
1364
|
+
const REFINANCING_OLD_MIN_SUM = 0;
|
|
1365
|
+
const REFINANCING_OLD_DEFAULT_SUM = 0;
|
|
1366
|
+
const REFINANCING_OLD_MAX_SUM = 2500000;
|
|
1367
|
+
const REFINANCING_EXTRA_MIN_SUM = 0;
|
|
1368
|
+
const REFINANCING_EXTRA_MAX_SUM = 500000;
|
|
1363
1369
|
const DEPOSIT_DEFAULT_SUM = 20000;
|
|
1364
1370
|
const DEFAULT_MIN_MONTHS$1 = 13;
|
|
1371
|
+
const DEFAULT_REFINANCING_MIN_MONTHS = 13;
|
|
1372
|
+
const DEFAULT_REFINANCING_MONTHS = 48;
|
|
1365
1373
|
const DEFAULT_MAX_MONTHS$1 = 60;
|
|
1366
1374
|
const DEFAULT_MONTHS = Math.round((DEFAULT_MAX_MONTHS$1 - DEFAULT_MIN_MONTHS$1) / 2);
|
|
1367
1375
|
const BUSINESS_DEFAULT_SUM = 100000;
|
|
@@ -1384,6 +1392,20 @@
|
|
|
1384
1392
|
isStateEmployee: false,
|
|
1385
1393
|
isInsurance: true,
|
|
1386
1394
|
};
|
|
1395
|
+
const DEFAULT_REFINANCING_CALCULATOR_PARAMS = {
|
|
1396
|
+
minSum: DEFAULT_MIN_SUM$1,
|
|
1397
|
+
maxSum: REFINANCING_DEFAULT_MAX_SUM,
|
|
1398
|
+
minSumOld: REFINANCING_OLD_MIN_SUM,
|
|
1399
|
+
maxSumOld: REFINANCING_OLD_MAX_SUM,
|
|
1400
|
+
minSumExtra: REFINANCING_EXTRA_MIN_SUM,
|
|
1401
|
+
maxSumExtra: REFINANCING_EXTRA_MAX_SUM,
|
|
1402
|
+
minMonths: DEFAULT_REFINANCING_MIN_MONTHS,
|
|
1403
|
+
maxMonths: DEFAULT_MAX_MONTHS$1,
|
|
1404
|
+
rate: 7.5,
|
|
1405
|
+
isExtraMoney: false,
|
|
1406
|
+
isSalaryClient: false,
|
|
1407
|
+
isInsurance: true,
|
|
1408
|
+
};
|
|
1387
1409
|
const DEFAULT_TRAVEL_MIN_SUM = 6000;
|
|
1388
1410
|
const DEFAULT_REST_MIN_SUM = 6000;
|
|
1389
1411
|
const DEFAULT_BONUS_CALCULATOR_PARAMS = {
|
|
@@ -1423,6 +1445,7 @@
|
|
|
1423
1445
|
const BONUS_CALC_DEFAULT_DIR = 'bonus-calculator-data';
|
|
1424
1446
|
const DEPOSIT_CALC_DEFAULT_DIR = 'deposit-calculator-data';
|
|
1425
1447
|
const BUSINESS_DEPOSIT_CALC_DEFAULT_DIR = 'business-calculator-data';
|
|
1448
|
+
const REFINANCING_CALC_DEFAULT_DIR = 'refinancing-calculator-data';
|
|
1426
1449
|
|
|
1427
1450
|
const Rate = JSX(({ rate, title = 'Ставка', unit, depositeName, isShowDepositeName, rateBlockClassName, fractionDigits = 2, }) => (jsxs("div", { children: [jsx(Text, { size: "text-l", font: "font-light", color: "text-secondary-text", children: title }), jsxs("div", { className: "relative", children: [jsxs("div", { className: "flex justify-start gradient-color-text", children: [jsx("span", { className: style('font-mohave text-title-huge pr-6 -mt-4', rateBlockClassName), children: String(rate.toFixed(fractionDigits)).replace('.', ',') }), unit ? jsx("span", { className: "text-7xl", children: unit }) : null] }), depositeName && isShowDepositeName ? (jsx("div", { className: "absolute bottom-7 w-full text-center whitespace-nowrap", children: depositeName })) : null] })] })));
|
|
1428
1451
|
|
|
@@ -1473,7 +1496,7 @@
|
|
|
1473
1496
|
restExpenseValue: DEFAULT_REST_MIN_SUM,
|
|
1474
1497
|
});
|
|
1475
1498
|
const { minSumTravel, maxSumTravel, minSumOther, maxSumOther, monthBonus, yearBonus } = useBonusCalculatorParams(userInputParams, sourceBookDir);
|
|
1476
|
-
return (jsxs("section", { className: style('flex justify-between', className), children: [jsxs("div", { className: "w-
|
|
1499
|
+
return (jsxs("section", { className: style('flex justify-between', className), children: [jsxs("div", { className: "w-2/5", children: [renderWantedSumInput({
|
|
1477
1500
|
title: 'Сумма покупок в категории путешествия, ₽',
|
|
1478
1501
|
min: minSumTravel,
|
|
1479
1502
|
max: maxSumTravel,
|
|
@@ -1488,7 +1511,7 @@
|
|
|
1488
1511
|
step: 500,
|
|
1489
1512
|
isShowItems: false,
|
|
1490
1513
|
...field('restExpenseValue'),
|
|
1491
|
-
})] }), jsx("div", { children: monthBonus >= 0 ? (jsx(Rate, { title: "\u0411\u0430\u043B\u043B\u043E\u0432 \u0437\u0430 \u043C\u0435\u0441\u044F\u0446", rate: monthBonus, rateBlockClassName: "tracking-[-14px]", fractionDigits: 0 })) : null }), jsxs("div", { className: "w-
|
|
1514
|
+
})] }), jsx("div", { children: monthBonus >= 0 ? (jsx(Rate, { title: "\u0411\u0430\u043B\u043B\u043E\u0432 \u0437\u0430 \u043C\u0435\u0441\u044F\u0446", rate: monthBonus, rateBlockClassName: "tracking-[-14px]", fractionDigits: 0 })) : null }), jsxs("div", { className: "w-96", children: [yearBonus >= 0 ? jsx(CalculatorValueBlock, { title: "\u0411\u0430\u043B\u043B\u043E\u0432 \u0437\u0430 \u0433\u043E\u0434", value: yearBonus }) : null, renderButtonsSection(buttons, { className: 'mt-7', isVertical: true }), renderFootnote(footnote)] })] }));
|
|
1492
1515
|
});
|
|
1493
1516
|
|
|
1494
1517
|
const STEP_DAYS = 1;
|
|
@@ -1511,12 +1534,15 @@
|
|
|
1511
1534
|
],
|
|
1512
1535
|
});
|
|
1513
1536
|
|
|
1514
|
-
const UnknownRate = JSX(({ title = 'Ставка' }) => (jsxs("div", { children: [jsx(Text, { size: "text-l", font: "font-light", color: "text-secondary-text", children: title }), jsx("div", { className: "mt-
|
|
1537
|
+
const UnknownRate = JSX(({ title = 'Ставка' }) => (jsxs("div", { children: [jsx(Text, { size: "text-l", font: "font-light", color: "text-secondary-text", children: title }), jsx("div", { className: "mt-2xs pt-2xs pl-lg pb-xs", children: jsx(Icon, { name: "PercentIcon", width: "90", height: "85" }) }), jsx("div", { className: "w-64 mt-m", children: jsxs(Paragraph, { size: "text-xl", font: "font-light", color: "text-primary-text", children: ["\u041F\u0440\u043E\u0446\u0435\u043D\u0442\u043D\u0430\u044F \u0441\u0442\u0430\u0432\u043A\u0430 \u0434\u043B\u044F \u0441\u0440\u043E\u043A\u0430 ", jsx("strong", { children: "1-30 \u0434\u043D\u0435\u0439" }), " \u0443\u0441\u0442\u0430\u043D\u0430\u0432\u043B\u0438\u0432\u0430\u0435\u0442\u0441\u044F \u043F\u0440\u0438 \u043E\u0431\u0440\u0430\u0449\u0435\u043D\u0438\u0438 \u0432 \u0411\u0430\u043D\u043A"] }) })] })));
|
|
1515
1538
|
|
|
1516
1539
|
const defaultDiscriminator = (_) => _;
|
|
1517
1540
|
const maxBy = (discriminator = defaultDiscriminator) => (list) => list.reduceRight((a, b) => (discriminator(a) > discriminator(b) ? a : b));
|
|
1518
1541
|
const max = maxBy();
|
|
1519
1542
|
|
|
1543
|
+
const minBy = (discriminator = defaultDiscriminator) => maxBy((_) => -discriminator(_));
|
|
1544
|
+
const min = minBy();
|
|
1545
|
+
|
|
1520
1546
|
const mergeIntervals = (intervals) => {
|
|
1521
1547
|
const result = [...intervals];
|
|
1522
1548
|
result.sort(([a], [c]) => a - c);
|
|
@@ -1534,9 +1560,6 @@
|
|
|
1534
1560
|
return result;
|
|
1535
1561
|
};
|
|
1536
1562
|
|
|
1537
|
-
const minBy = (discriminator = defaultDiscriminator) => maxBy((_) => -discriminator(_));
|
|
1538
|
-
const min = minBy();
|
|
1539
|
-
|
|
1540
1563
|
const getLimitRangeByKeys = ([minKey, maxKey], limitParams, rateRows = []) => limitParams && limitParams[minKey] && limitParams[maxKey]
|
|
1541
1564
|
? {
|
|
1542
1565
|
[minKey]: limitParams[minKey],
|
|
@@ -1544,8 +1567,12 @@
|
|
|
1544
1567
|
}
|
|
1545
1568
|
: getRangeByKeys([minKey, maxKey], rateRows);
|
|
1546
1569
|
const getRangeByKeys = ([minKey, maxKey], rows = []) => ({
|
|
1547
|
-
[minKey]: rows.length
|
|
1548
|
-
|
|
1570
|
+
[minKey]: rows.length
|
|
1571
|
+
? min(rows.filter((row) => typeof row[minKey] === 'number').map((row) => row[minKey]))
|
|
1572
|
+
: 0,
|
|
1573
|
+
[maxKey]: rows.length
|
|
1574
|
+
? max(rows.filter((row) => typeof row[minKey] === 'number').map((row) => row[maxKey]))
|
|
1575
|
+
: 0,
|
|
1549
1576
|
});
|
|
1550
1577
|
const checkRangeByKeys = (value, [minKey, maxKey], sourceBookRow) => value >= sourceBookRow[minKey] && value <= sourceBookRow[maxKey];
|
|
1551
1578
|
|
|
@@ -1610,7 +1637,7 @@
|
|
|
1610
1637
|
});
|
|
1611
1638
|
const calculatorParams = useBusinessDepositCalculatorParams(userInputParams, sourceBookDir);
|
|
1612
1639
|
const { income, finalSum, rate, depositeName, isShowUnknownRate } = calculatorParams;
|
|
1613
|
-
return (jsxs("section", { className: className, children: [jsxs("div", { className: "flex justify-between", children: [jsxs("div", { className: "w-
|
|
1640
|
+
return (jsxs("section", { className: className, children: [jsxs("div", { className: "flex justify-between", children: [jsxs("div", { className: "w-2/5", children: [renderWantedSumInput({
|
|
1614
1641
|
title: 'Сумма вклада, ₽',
|
|
1615
1642
|
min: calculatorParams.minSum,
|
|
1616
1643
|
max: calculatorParams.maxSum,
|
|
@@ -1626,7 +1653,7 @@
|
|
|
1626
1653
|
title: 'Выплата процентов',
|
|
1627
1654
|
orientation: 'vertical',
|
|
1628
1655
|
...field('isMonthlyInterestPayment'),
|
|
1629
|
-
})] })] }), isShowUnknownRate ? (jsx(UnknownRate, {})) : (jsx(Rate, { rate: rate, depositeName: depositeName, isShowDepositeName: isShowDepositeName, rateBlockClassName: "tracking-[-25px]", unit: "%" })), jsxs("div", { className: "w-
|
|
1656
|
+
})] })] }), isShowUnknownRate ? (jsx(UnknownRate, {})) : (jsx(Rate, { rate: rate, depositeName: depositeName, isShowDepositeName: isShowDepositeName, rateBlockClassName: "tracking-[-25px]", unit: "%" })), jsxs("div", { className: "w-96", children: [jsx(CalculatorValueBlock, { title: "\u0414\u043E\u0445\u043E\u0434 \u043F\u043E \u0432\u043A\u043B\u0430\u0434\u0443", value: income, postfix: "\u20BD", prefix: "+" }), jsx(CalculatorValueBlock, { title: "\u0421\u0443\u043C\u043C\u0430 \u0432 \u043A\u043E\u043D\u0446\u0435 \u0441\u0440\u043E\u043A\u0430", value: finalSum, postfix: "\u20BD" }), renderButtonsSection(buttons, { className: 'mt-7', isVertical: true }), jsx("div", { className: "mt-7", children: renderFootnote(footnote) })] })] }), jsx("div", { className: "mt-5", children: renderFootnote(bottomFootnote) })] }));
|
|
1630
1657
|
});
|
|
1631
1658
|
const renderBusinessDepositParamsForm = (calculatorParams, field) => (jsxs("div", { children: [jsx(Checkbox, { text: "\u041F\u043E\u043F\u043E\u043B\u043D\u0435\u043D\u0438\u0435", disabled: calculatorParams.isDisabledOperatingDeposit, ...field('isReplenished'), value: calculatorParams.isReplenished }), jsx(Checkbox, { className: "mt-3", disabled: calculatorParams.isDisabledOperatingDeposit, text: "\u0427\u0430\u0441\u0442\u0438\u0447\u043D\u043E\u0435 \u0441\u043D\u044F\u0442\u0438\u0435", ...field('isPartialWithdrawal'), value: calculatorParams.isPartialWithdrawal }), jsx(Checkbox, { className: "mt-3", text: "\u042F\u0432\u043B\u044F\u044E\u0441\u044C \u043C\u0430\u043B\u044B\u043C \u043F\u0440\u0435\u0434\u043F\u0440\u0438\u044F\u0442\u0438\u0435\u043C", ...field('isSmallBusiness'), value: calculatorParams.isSmallBusiness })] }));
|
|
1632
1659
|
|
|
@@ -1642,27 +1669,27 @@
|
|
|
1642
1669
|
],
|
|
1643
1670
|
});
|
|
1644
1671
|
|
|
1645
|
-
const checkCreditSourceBookRowCommonParams = (props) => checkRowParam({
|
|
1672
|
+
const checkCreditSourceBookRowCommonParams = (props) => checkRowParam$1({
|
|
1646
1673
|
...props,
|
|
1647
1674
|
fieldKey: 'isSalaryClient',
|
|
1648
1675
|
viewSettingFieldKey: 'isShowSalaryClient',
|
|
1649
1676
|
}) &&
|
|
1650
|
-
checkRowParam({
|
|
1677
|
+
checkRowParam$1({
|
|
1651
1678
|
...props,
|
|
1652
1679
|
fieldKey: 'isStateEmployee',
|
|
1653
1680
|
viewSettingFieldKey: 'isShowStateEmployee',
|
|
1654
1681
|
}) &&
|
|
1655
|
-
checkRowParam({
|
|
1682
|
+
checkRowParam$1({
|
|
1656
1683
|
...props,
|
|
1657
1684
|
fieldKey: 'isPensionClient',
|
|
1658
1685
|
viewSettingFieldKey: 'isShowPensionClient',
|
|
1659
1686
|
}) &&
|
|
1660
|
-
checkRowParam({
|
|
1687
|
+
checkRowParam$1({
|
|
1661
1688
|
...props,
|
|
1662
1689
|
fieldKey: 'isInsurance',
|
|
1663
1690
|
viewSettingFieldKey: 'isShowInsurance',
|
|
1664
1691
|
});
|
|
1665
|
-
const checkRowParam = ({ row, userInputParams, paramsViewSettings, fieldKey, viewSettingFieldKey, }) => {
|
|
1692
|
+
const checkRowParam$1 = ({ row, userInputParams, paramsViewSettings, fieldKey, viewSettingFieldKey, }) => {
|
|
1666
1693
|
const isExclude = paramsViewSettings ? !paramsViewSettings[viewSettingFieldKey] : false;
|
|
1667
1694
|
return isExclude || userInputParams[fieldKey] === row[fieldKey];
|
|
1668
1695
|
};
|
|
@@ -1686,13 +1713,18 @@
|
|
|
1686
1713
|
* https://finuslugi.ru/potrebitelskie_kredity/stat_annuitetnye_i_differentsirovannye_platezhi
|
|
1687
1714
|
*/
|
|
1688
1715
|
const getMonthlyPayment = (rate, params) => {
|
|
1689
|
-
const { isAnnuity, moneyValue, monthsValue } = params;
|
|
1716
|
+
const { isAnnuity, moneyValue, monthsValue, moneyExtra } = params;
|
|
1690
1717
|
if (rate === 0) {
|
|
1691
1718
|
return 0;
|
|
1692
1719
|
}
|
|
1693
1720
|
else if (isAnnuity) {
|
|
1694
1721
|
const i = rate / MONTHLY_INTEREST_RATE; // Используется значение ставки в процентах
|
|
1695
|
-
|
|
1722
|
+
if (moneyExtra) {
|
|
1723
|
+
return (moneyValue + moneyExtra) * (i + i / (Math.pow(1 + i, monthsValue) - 1));
|
|
1724
|
+
}
|
|
1725
|
+
else {
|
|
1726
|
+
return moneyValue * (i + i / (Math.pow(1 + i, monthsValue) - 1));
|
|
1727
|
+
}
|
|
1696
1728
|
}
|
|
1697
1729
|
else {
|
|
1698
1730
|
return Math.round(moneyValue / monthsValue) + moneyValue * (rate / (MONTHS_IN_YEAR * 100)); // Используется значение ставки (rate) в процентах, делённое на сто.
|
|
@@ -1746,7 +1778,7 @@
|
|
|
1746
1778
|
monthsValue: DEFAULT_MONTHS,
|
|
1747
1779
|
});
|
|
1748
1780
|
const calculatorParams = useCreditCalculatorParams(userInputParams, sourceBookDir, paramsViewSettings);
|
|
1749
|
-
return (jsxs("section", { className: style('flex justify-between', className), children: [jsxs("div", { className: "w-
|
|
1781
|
+
return (jsxs("section", { className: style('flex justify-between', className), children: [jsxs("div", { className: "w-2/5", children: [renderWantedSumInput({
|
|
1750
1782
|
title: 'Сумма кредита, ₽',
|
|
1751
1783
|
step: 500,
|
|
1752
1784
|
min: calculatorParams.minSum,
|
|
@@ -1759,9 +1791,9 @@
|
|
|
1759
1791
|
max: calculatorParams.maxMonths,
|
|
1760
1792
|
...field('monthsValue'),
|
|
1761
1793
|
value: calculatorParams.monthsValue,
|
|
1762
|
-
}), jsx("div", { className: "mt-
|
|
1794
|
+
}), jsx("div", { className: "mt-2xl", children: renderCreditParamsForm$1({ ...calculatorParams, ...paramsViewSettings }, field) })] }), jsx(Rate, { title: "\u0421\u0442\u0430\u0432\u043A\u0430", rate: calculatorParams.rate, rateBlockClassName: "tracking-[-25px]", unit: "%" }), jsxs("div", { className: "w-96", children: [jsx(CalculatorValueBlock, { title: 'Ежемесячный платеж', value: calculatorParams.monthlyPayment, postfix: "\u20BD" }), renderPaymentType({ orientation: 'vertical', ...field('isAnnuity') }), renderButtonsSection(buttons, { className: 'mt-2xl', isVertical: true }), renderFootnote(footnote)] })] }));
|
|
1763
1795
|
});
|
|
1764
|
-
const renderCreditParamsForm = (params, field) => (jsxs("div", { children: [params.isShowSalaryClient ? (jsx(Checkbox, { text: "\u041F\u043E\u043B\u0443\u0447\u0430\u044E \u0437\u0430\u0440\u043F\u043B\u0430\u0442\u0443 \u043D\u0430 \u0441\u0447\u0451\u0442 \u0432 \u0420\u043E\u0441\u0441\u0435\u043B\u044C\u0445\u043E\u0437\u0431\u0430\u043D\u043A\u0435", ...field('isSalaryClient'), value: params.isSalaryClient })) : null, params.isShowStateEmployee ? (jsx(Checkbox, { className: "mt-3", text: "\u0420\u0430\u0431\u043E\u0442\u0430\u044E \u0432 \u0431\u044E\u0434\u0436\u0435\u0442\u043D\u043E\u0439 \u043E\u0440\u0433\u0430\u043D\u0438\u0437\u0430\u0446\u0438\u0438", ...field('isStateEmployee'), value: params.isStateEmployee })) : null, params.isShowPensionClient ? (jsx(Checkbox, { className: "mt-3", text: "\u041F\u043E\u043B\u0443\u0447\u0430\u044E \u043F\u0435\u043D\u0441\u0438\u044E \u043D\u0430 \u043A\u0430\u0440\u0442\u0443 \u0420\u043E\u0441\u0441\u0435\u043B\u044C\u0445\u043E\u0437\u0431\u0430\u043D\u043A\u0430", ...field('isPensionClient'), value: params.isPensionClient })) : null, params.isShowInsurance ? (jsx(Checkbox, { className: "mt-3", text: "\u041A\u043E\u043C\u043F\u043B\u0435\u043A\u0441\u043D\u0430\u044F \u0441\u0442\u0440\u0430\u0445\u043E\u0432\u0430\u044F \u0437\u0430\u0449\u0438\u0442\u0430", ...field('isInsurance'), value: params.isInsurance })) : null] }));
|
|
1796
|
+
const renderCreditParamsForm$1 = (params, field) => (jsxs("div", { children: [params.isShowSalaryClient ? (jsx(Checkbox, { text: "\u041F\u043E\u043B\u0443\u0447\u0430\u044E \u0437\u0430\u0440\u043F\u043B\u0430\u0442\u0443 \u043D\u0430 \u0441\u0447\u0451\u0442 \u0432 \u0420\u043E\u0441\u0441\u0435\u043B\u044C\u0445\u043E\u0437\u0431\u0430\u043D\u043A\u0435", ...field('isSalaryClient'), value: params.isSalaryClient })) : null, params.isShowStateEmployee ? (jsx(Checkbox, { className: "mt-3", text: "\u0420\u0430\u0431\u043E\u0442\u0430\u044E \u0432 \u0431\u044E\u0434\u0436\u0435\u0442\u043D\u043E\u0439 \u043E\u0440\u0433\u0430\u043D\u0438\u0437\u0430\u0446\u0438\u0438", ...field('isStateEmployee'), value: params.isStateEmployee })) : null, params.isShowPensionClient ? (jsx(Checkbox, { className: "mt-3", text: "\u041F\u043E\u043B\u0443\u0447\u0430\u044E \u043F\u0435\u043D\u0441\u0438\u044E \u043D\u0430 \u043A\u0430\u0440\u0442\u0443 \u0420\u043E\u0441\u0441\u0435\u043B\u044C\u0445\u043E\u0437\u0431\u0430\u043D\u043A\u0430", ...field('isPensionClient'), value: params.isPensionClient })) : null, params.isShowInsurance ? (jsx(Checkbox, { className: "mt-3", text: "\u041A\u043E\u043C\u043F\u043B\u0435\u043A\u0441\u043D\u0430\u044F \u0441\u0442\u0440\u0430\u0445\u043E\u0432\u0430\u044F \u0437\u0430\u0449\u0438\u0442\u0430", ...field('isInsurance'), value: params.isInsurance })) : null] }));
|
|
1765
1797
|
|
|
1766
1798
|
const renderRegistrationType = (props) => renderBinaryRadioButtonGroup({
|
|
1767
1799
|
...props,
|
|
@@ -1838,7 +1870,7 @@
|
|
|
1838
1870
|
useEffect(() => {
|
|
1839
1871
|
setMonthsValue && setMonthsValue(defaultMonth);
|
|
1840
1872
|
}, [defaultMonth]);
|
|
1841
|
-
return (jsxs("section", { className: style('flex justify-between', className), children: [jsxs("div", { className: "w-
|
|
1873
|
+
return (jsxs("section", { className: style('flex justify-between', className), children: [jsxs("div", { className: "w-2/5", children: [renderWantedSumInput({
|
|
1842
1874
|
title: 'Сумма вклада, ₽',
|
|
1843
1875
|
min: calculatorParams.minSum,
|
|
1844
1876
|
max: calculatorParams.maxSum,
|
|
@@ -1851,9 +1883,9 @@
|
|
|
1851
1883
|
availableMonths: calculatorParams.availableMonths,
|
|
1852
1884
|
...field('monthsValue'),
|
|
1853
1885
|
value: calculatorParams.monthsValue,
|
|
1854
|
-
}), jsx("div", { className: "mt-
|
|
1886
|
+
}), jsx("div", { className: "mt-2xl", children: renderDepositParamsForm({ ...calculatorParams, ...paramsViewSettings }, field) })] }), jsx(Rate, { rate: rate, rateBlockClassName: "tracking-[-25px]", unit: "%" }), jsxs("div", { className: "w-96", children: [jsx(CalculatorValueBlock, { title: "\u0414\u043E\u0445\u043E\u0434 \u043F\u043E \u0432\u043A\u043B\u0430\u0434\u0443", value: income, postfix: "\u20BD", prefix: "+" }), jsx(CalculatorValueBlock, { title: "\u0421\u0443\u043C\u043C\u0430 \u0432 \u043A\u043E\u043D\u0446\u0435 \u0441\u0440\u043E\u043A\u0430", value: finalSum, postfix: "\u20BD" }), renderButtonsSection(buttons, { className: 'mt-2xl', isVertical: true }), renderFootnote(footnote)] })] }));
|
|
1855
1887
|
});
|
|
1856
|
-
const renderDepositParamsForm = (params, field) => (jsxs("div", { className: "flex flex-col gap-y-
|
|
1888
|
+
const renderDepositParamsForm = (params, field) => (jsxs("div", { className: "flex flex-col gap-y-2xl", children: [params.isShowMonthlyInterestPayment
|
|
1857
1889
|
? renderInterestPayment({
|
|
1858
1890
|
title: 'Выплата процентов',
|
|
1859
1891
|
...field('isMonthlyInterestPayment'),
|
|
@@ -1867,11 +1899,140 @@
|
|
|
1867
1899
|
})
|
|
1868
1900
|
: null] }));
|
|
1869
1901
|
|
|
1902
|
+
const checkRefinancingSourceBookRowCommonParams = (props) => checkRowParam({
|
|
1903
|
+
...props,
|
|
1904
|
+
fieldKey: 'isSalaryClient',
|
|
1905
|
+
viewSettingFieldKey: 'isShowSalaryClient',
|
|
1906
|
+
}) &&
|
|
1907
|
+
checkRowParam({
|
|
1908
|
+
...props,
|
|
1909
|
+
fieldKey: 'isInsurance',
|
|
1910
|
+
viewSettingFieldKey: 'isShowInsurance',
|
|
1911
|
+
}) &&
|
|
1912
|
+
checkRowParam({
|
|
1913
|
+
...props,
|
|
1914
|
+
fieldKey: 'isExtraMoney',
|
|
1915
|
+
viewSettingFieldKey: 'isShowExtraMoney',
|
|
1916
|
+
});
|
|
1917
|
+
const checkRowParam = ({ row, userInputParams, paramsViewSettings, fieldKey, viewSettingFieldKey, }) => {
|
|
1918
|
+
const isExclude = paramsViewSettings ? !paramsViewSettings[viewSettingFieldKey] : false;
|
|
1919
|
+
return isExclude || userInputParams[fieldKey] === row[fieldKey];
|
|
1920
|
+
};
|
|
1921
|
+
|
|
1922
|
+
const getRefinancingCalculatorLimitParams = ({ limitRows, userInputParams, paramsViewSettings, }) => limitRows?.find((row) => checkRefinancingSourceBookRowCommonParams({
|
|
1923
|
+
row,
|
|
1924
|
+
userInputParams,
|
|
1925
|
+
paramsViewSettings,
|
|
1926
|
+
}));
|
|
1927
|
+
|
|
1928
|
+
const getRefinancingCalculatorRateParams = ({ rateRows = [], userInputParams, paramsViewSettings, moneyValue, monthsValue, oldMonthlyPayment, moneyExtra, }) => rateRows?.find((row) => checkRefinancingSourceBookRowCommonParams({
|
|
1929
|
+
row,
|
|
1930
|
+
userInputParams,
|
|
1931
|
+
paramsViewSettings,
|
|
1932
|
+
}) &&
|
|
1933
|
+
checkRangeByKeys(moneyValue, ['minSum', 'maxSum'], row) &&
|
|
1934
|
+
checkRangeByKeys(oldMonthlyPayment, ['minSumOld', 'maxSumOld'], row) &&
|
|
1935
|
+
checkRangeByKeys(moneyExtra, ['minSumExtra', 'maxSumExtra'], row) &&
|
|
1936
|
+
checkRangeByKeys(monthsValue, ['minMonths', 'maxMonths'], row)) || DEFAULT_REFINANCING_CALCULATOR_PARAMS;
|
|
1937
|
+
|
|
1938
|
+
const useRefinancingCalculatorParams = (userInputParams, sourceBookDir, paramsViewSettings) => {
|
|
1939
|
+
let { moneyValue, monthsValue, oldMonthlyPayment, moneyExtra } = userInputParams;
|
|
1940
|
+
const data = useCalculatorParams(sourceBookDir || REFINANCING_CALC_DEFAULT_DIR);
|
|
1941
|
+
const rateRows = data?.rateRows || [DEFAULT_REFINANCING_CALCULATOR_PARAMS];
|
|
1942
|
+
const limitRows = data?.limitRows || [];
|
|
1943
|
+
const sourceBookLimitParams = getRefinancingCalculatorLimitParams({
|
|
1944
|
+
limitRows,
|
|
1945
|
+
userInputParams,
|
|
1946
|
+
paramsViewSettings,
|
|
1947
|
+
});
|
|
1948
|
+
const { minSum, maxSum } = getLimitRangeByKeys(['minSum', 'maxSum'], sourceBookLimitParams, rateRows);
|
|
1949
|
+
const { minSumOld, maxSumOld } = getLimitRangeByKeys(['minSumOld', 'maxSumOld'], sourceBookLimitParams, rateRows);
|
|
1950
|
+
const { minSumExtra, maxSumExtra } = getLimitRangeByKeys(['minSumExtra', 'maxSumExtra'], sourceBookLimitParams, rateRows);
|
|
1951
|
+
const { minMonths, maxMonths } = getLimitRangeByKeys(['minMonths', 'maxMonths'], sourceBookLimitParams, rateRows);
|
|
1952
|
+
moneyValue = clamp(moneyValue, minSum, maxSum);
|
|
1953
|
+
oldMonthlyPayment = clamp(oldMonthlyPayment, minSumOld, maxSumOld);
|
|
1954
|
+
moneyExtra = clamp(moneyExtra, minSumExtra, maxSumExtra);
|
|
1955
|
+
monthsValue = clamp(monthsValue, minMonths, maxMonths);
|
|
1956
|
+
const refinancingCalculatorSourceBookRateParams = getRefinancingCalculatorRateParams({
|
|
1957
|
+
rateRows,
|
|
1958
|
+
userInputParams,
|
|
1959
|
+
paramsViewSettings,
|
|
1960
|
+
moneyValue,
|
|
1961
|
+
monthsValue,
|
|
1962
|
+
oldMonthlyPayment,
|
|
1963
|
+
moneyExtra,
|
|
1964
|
+
});
|
|
1965
|
+
const { rate } = refinancingCalculatorSourceBookRateParams;
|
|
1966
|
+
const monthlyPayment = getMonthlyPayment(rate, userInputParams);
|
|
1967
|
+
const benefit = userInputParams.oldMonthlyPayment - monthlyPayment;
|
|
1968
|
+
return useMemo(() => ({
|
|
1969
|
+
...refinancingCalculatorSourceBookRateParams,
|
|
1970
|
+
...userInputParams,
|
|
1971
|
+
minSum,
|
|
1972
|
+
maxSum,
|
|
1973
|
+
minMonths,
|
|
1974
|
+
maxMonths,
|
|
1975
|
+
moneyValue,
|
|
1976
|
+
monthsValue,
|
|
1977
|
+
oldMonthlyPayment,
|
|
1978
|
+
moneyExtra,
|
|
1979
|
+
monthlyPayment,
|
|
1980
|
+
benefit,
|
|
1981
|
+
}), [userInputParams, data]);
|
|
1982
|
+
};
|
|
1983
|
+
|
|
1984
|
+
const RefinancingCalculatorForm = JSX(({ className, sourceBookDir, buttons, footnote, paramsViewSettings }) => {
|
|
1985
|
+
const [userInputParams, { field }] = useForm({
|
|
1986
|
+
isAnnuity: true,
|
|
1987
|
+
isInsurance: true,
|
|
1988
|
+
isSalaryClient: false,
|
|
1989
|
+
isExtraMoney: false,
|
|
1990
|
+
moneyValue: REFINANCING_DEFAULT_SUM,
|
|
1991
|
+
oldMonthlyPayment: REFINANCING_OLD_DEFAULT_SUM,
|
|
1992
|
+
monthsValue: DEFAULT_REFINANCING_MONTHS,
|
|
1993
|
+
moneyExtra: REFINANCING_OLD_DEFAULT_SUM,
|
|
1994
|
+
});
|
|
1995
|
+
const calculatorParams = useRefinancingCalculatorParams(userInputParams, sourceBookDir, paramsViewSettings);
|
|
1996
|
+
return (jsxs("section", { className: style('flex justify-between', className), children: [jsxs("div", { className: "w-2/5", children: [renderWantedSumInput({
|
|
1997
|
+
title: 'Остаток долга в других банках, ₽ ',
|
|
1998
|
+
step: 500,
|
|
1999
|
+
min: calculatorParams.minSum,
|
|
2000
|
+
max: calculatorParams.maxSum,
|
|
2001
|
+
...field('moneyValue'),
|
|
2002
|
+
value: calculatorParams.moneyValue,
|
|
2003
|
+
}), renderWantedSumInput({
|
|
2004
|
+
title: 'Ежемесячный платеж в других банках, ₽',
|
|
2005
|
+
isShowItems: false,
|
|
2006
|
+
step: 500,
|
|
2007
|
+
min: calculatorParams.minSumOld,
|
|
2008
|
+
max: calculatorParams.maxSumOld,
|
|
2009
|
+
...field('oldMonthlyPayment'),
|
|
2010
|
+
value: calculatorParams.oldMonthlyPayment,
|
|
2011
|
+
}), renderMonthsInput({
|
|
2012
|
+
title: 'Новый срок кредита, месяцев',
|
|
2013
|
+
min: calculatorParams.minMonths,
|
|
2014
|
+
max: calculatorParams.maxMonths,
|
|
2015
|
+
...field('monthsValue'),
|
|
2016
|
+
value: calculatorParams.monthsValue,
|
|
2017
|
+
}), jsx("div", { className: style('mt-7', calculatorParams.isExtraMoney ? 'mb-3' : ''), children: renderCreditParamsForm({ ...calculatorParams, ...paramsViewSettings }, field) }), calculatorParams.isExtraMoney
|
|
2018
|
+
? renderWantedSumInput({
|
|
2019
|
+
title: 'Дополнительная сумма, ₽ ',
|
|
2020
|
+
step: 500,
|
|
2021
|
+
min: calculatorParams.minSumExtra,
|
|
2022
|
+
max: calculatorParams.maxSumExtra,
|
|
2023
|
+
...field('moneyExtra'),
|
|
2024
|
+
value: calculatorParams.moneyExtra,
|
|
2025
|
+
})
|
|
2026
|
+
: null] }), jsx(Rate, { title: "\u0421\u0442\u0430\u0432\u043A\u0430", rate: calculatorParams.rate, fractionDigits: 1, rateBlockClassName: "tracking-[-25px]", unit: "%" }), jsxs("div", { className: "w-96", children: [jsx(CalculatorValueBlock, { title: 'Ежемесячный платеж', value: calculatorParams.monthlyPayment, postfix: "\u20BD" }), calculatorParams.benefit > 0 ? (jsx(CalculatorValueBlock, { title: 'Выгода в месяц', value: calculatorParams.benefit, postfix: "\u20BD" })) : null, renderPaymentType({ orientation: 'vertical', ...field('isAnnuity') }), renderButtonsSection(buttons, { className: 'mt-7', isVertical: true }), renderFootnote(footnote)] })] }));
|
|
2027
|
+
});
|
|
2028
|
+
const renderCreditParamsForm = (params, field) => (jsxs("div", { children: [params.isShowSalaryClient ? (jsx(Checkbox, { text: "\u041F\u043E\u043B\u0443\u0447\u0430\u044E \u0437\u0430\u0440\u043F\u043B\u0430\u0442\u0443 \u043D\u0430 \u0441\u0447\u0451\u0442 \u0432 \u0420\u043E\u0441\u0441\u0435\u043B\u044C\u0445\u043E\u0437\u0431\u0430\u043D\u043A\u0435", ...field('isSalaryClient'), value: params.isSalaryClient })) : null, params.isShowInsurance ? (jsx(Checkbox, { className: "mt-3", text: "\u041A\u043E\u043C\u043F\u043B\u0435\u043A\u0441\u043D\u0430\u044F \u0441\u0442\u0440\u0430\u0445\u043E\u0432\u0430\u044F \u0437\u0430\u0449\u0438\u0442\u0430", ...field('isInsurance'), value: params.isInsurance })) : null, params.isShowExtraMoney ? (jsx(Checkbox, { className: "mt-3", text: "\u041F\u043E\u043B\u0443\u0447\u0438\u0442\u044C \u0434\u043E\u043F\u043E\u043B\u043D\u0438\u0442\u0435\u043B\u044C\u043D\u0443\u044E \u0441\u0443\u043C\u043C\u0443", ...field('isExtraMoney'), value: params.isExtraMoney })) : null] }));
|
|
2029
|
+
|
|
1870
2030
|
const EmbeddableCalcBlocks = {
|
|
1871
2031
|
CreditCalculatorForm,
|
|
1872
2032
|
DepositCalculatorForm,
|
|
1873
2033
|
BusinessDepositCalculatorForm,
|
|
1874
2034
|
BonusCalculatorForm,
|
|
2035
|
+
RefinancingCalculatorForm,
|
|
1875
2036
|
};
|
|
1876
2037
|
|
|
1877
2038
|
const renderCalculatorBlock = (block, i) => {
|
|
@@ -1903,23 +2064,23 @@
|
|
|
1903
2064
|
});
|
|
1904
2065
|
function renderNavButton$3({ tab, i, isActive, onClick }) {
|
|
1905
2066
|
const btnClassName = isActive
|
|
1906
|
-
? 'h-
|
|
1907
|
-
: `h-
|
|
1908
|
-
const btnTitleClassName = isActive ? 'text-xl mb-
|
|
2067
|
+
? 'h-20 w-96 p-xl border-none bg-primary-main text-white'
|
|
2068
|
+
: `h-20 w-96 px-lg ease-in duration-300 bg-white text-primary-text`;
|
|
2069
|
+
const btnTitleClassName = isActive ? 'text-xl mb-xs' : `text-l mb-2xs`;
|
|
1909
2070
|
const btnDescClassName = isActive
|
|
1910
2071
|
? 'text-l font-light text-white'
|
|
1911
2072
|
: `text-m font-light text-secondary-text`;
|
|
1912
2073
|
const iconClassName = isActive ? '' : `text-primary-main`;
|
|
1913
2074
|
const iconVersion = tab?.icon?.iconVersion;
|
|
1914
2075
|
const activeIconStyle = isActive ? 'white' : 'normal';
|
|
1915
|
-
return (jsxs("button", { type: "button", onClick: onClick, "aria-label": tab?.title, className: style('box-border relative border border-gray cursor-pointer text-left border-b-0 flex hover:h-
|
|
2076
|
+
return (jsxs("button", { type: "button", onClick: onClick, "aria-label": tab?.title, className: style('box-border relative border border-gray cursor-pointer text-left border-b-0 flex hover:h-20 space-x-m', btnClassName), children: [jsx(Img, { className: style('h-6 w-6 min-w-6 min-h-6', iconClassName), image: {
|
|
1916
2077
|
...tab?.icon,
|
|
1917
2078
|
iconVersion: iconVersion ?? activeIconStyle,
|
|
1918
2079
|
}, width: "24", height: "24" }), jsxs("div", { className: "border-0", children: [jsx("div", { className: btnTitleClassName, children: tab?.title }), jsx("div", { className: btnDescClassName, children: tab.description })] })] }, String(i)));
|
|
1919
2080
|
}
|
|
1920
2081
|
function renderTabs$1({ activeIndex, tabsNav, slideIndexShift, onClick }) {
|
|
1921
2082
|
const CARD_SHIFT = 388;
|
|
1922
|
-
return (jsxs("div", { children: [jsx("div", { style: { transform: `translateX(-${activeIndex * CARD_SHIFT}px)` }, className: "flex flex-col justify-end items-center h-
|
|
2083
|
+
return (jsxs("div", { children: [jsx("div", { style: { transform: `translateX(-${activeIndex * CARD_SHIFT}px)` }, className: "flex flex-col justify-end items-center h-32 pt-4xl box-border duration-1000", children: jsx("div", { className: "w-full flex flex-nowrap items-end gap-xs", children: tabsNav.map((tab, i) => renderNavButton$3({
|
|
1923
2084
|
tab,
|
|
1924
2085
|
i,
|
|
1925
2086
|
isActive: Boolean(i === slideIndexShift),
|
|
@@ -1957,7 +2118,7 @@
|
|
|
1957
2118
|
? getDisabledButtonClasses({ version: button?.version })
|
|
1958
2119
|
: getRegularButtonClasses({ className: 'text-white', version: button?.version });
|
|
1959
2120
|
const link = useLink();
|
|
1960
|
-
return (jsxs(BlockWrapper, { className: style('flex flex-col items-center', className), defaultPadding: "p-
|
|
2121
|
+
return (jsxs(BlockWrapper, { className: style('flex flex-col items-center', className), defaultPadding: "p-6xl", ...rest, children: [title ? (jsx(Heading, { className: "pb-5 xl:pb-9 self-start xl:self-center", headingType: "h2", title: title })) : null, jsxs("form", { className: "w-full xl:max-w-[468px]", method: "POST", action: FORM_URL, children: [jsx(CurrencyInput, { name: AMOUNT_KEY, valid: !isDisabled, placeholder: placeholder, label: label, ...field(AMOUNT_KEY, { parse: Number, format: String }) }), button?.text ? (jsx("button", { type: "submit", className: style('w-full p-4 mt-5 xl:mt-6', buttonStyle), disabled: isDisabled, ...link(button), children: button.text })) : null] })] }));
|
|
1961
2122
|
});
|
|
1962
2123
|
|
|
1963
2124
|
const defaultBlockDecorator = ({ blockClassName, block, render }) => render({ blockClassName, block });
|
|
@@ -1972,8 +2133,7 @@
|
|
|
1972
2133
|
}
|
|
1973
2134
|
const BlockComponent = type && blocksRegistry[type];
|
|
1974
2135
|
return blockDecorator({
|
|
1975
|
-
blockClassName: style(
|
|
1976
|
-
className, block.style || defaultStyle),
|
|
2136
|
+
blockClassName: style(block.style?.length ? block.style : defaultStyle, className),
|
|
1977
2137
|
block,
|
|
1978
2138
|
ancestors,
|
|
1979
2139
|
// Adjusted by decorator block and blockClassName
|
|
@@ -1987,20 +2147,25 @@
|
|
|
1987
2147
|
const DEFAULT_SLOT_NAME = null;
|
|
1988
2148
|
|
|
1989
2149
|
const EMPTY_ANCESTORS = [];
|
|
1990
|
-
const renderBlocksList = (blocks, { key, ancestors = EMPTY_ANCESTORS, slotName = DEFAULT_SLOT_NAME, renderProps = renderBlock$1, ...options }) =>
|
|
1991
|
-
|
|
1992
|
-
|
|
1993
|
-
|
|
1994
|
-
|
|
1995
|
-
|
|
1996
|
-
|
|
2150
|
+
const renderBlocksList = (blocks, { key, ancestors = EMPTY_ANCESTORS, slotName = DEFAULT_SLOT_NAME, extraProps, renderProps = renderBlock$1, ...options }) => {
|
|
2151
|
+
const renderChildBlock = extraProps
|
|
2152
|
+
? (childBlock, childOptions) => renderBlock$1(childBlock, childOptions, extraProps)
|
|
2153
|
+
: renderProps;
|
|
2154
|
+
return (blocks || []).map((_, i) => renderChildBlock(_, {
|
|
2155
|
+
...options,
|
|
2156
|
+
key: `${key ? key : _.type}-${i}`,
|
|
2157
|
+
ancestors: options.parent
|
|
2158
|
+
? [...(ancestors || EMPTY_ANCESTORS), [options.parent, slotName]]
|
|
2159
|
+
: ancestors,
|
|
2160
|
+
}, i));
|
|
2161
|
+
};
|
|
1997
2162
|
|
|
1998
|
-
function renderChildren({
|
|
2163
|
+
function renderChildren({ block, options, children, extraProps, renderProps, }) {
|
|
1999
2164
|
if (children) {
|
|
2000
2165
|
return children;
|
|
2001
2166
|
}
|
|
2002
2167
|
return block && options
|
|
2003
|
-
? renderBlocksList(block.blocks, { ...options, parent: block, renderProps })
|
|
2168
|
+
? renderBlocksList(block.blocks, { ...options, parent: block, extraProps, renderProps })
|
|
2004
2169
|
: null;
|
|
2005
2170
|
}
|
|
2006
2171
|
|
|
@@ -2031,7 +2196,7 @@
|
|
|
2031
2196
|
return (jsx("div", { className: `inline-block snap-always box-border ${className}`, style: style, "aria-current": Boolean(idx === activeIndex), ref: ref, children: children }));
|
|
2032
2197
|
});
|
|
2033
2198
|
|
|
2034
|
-
const childStyleMap = ['min-w-
|
|
2199
|
+
const childStyleMap = ['min-w-full', 'min-w-1/2', 'min-w-1/3', 'min-w-1/4'];
|
|
2035
2200
|
const SwipeListContainer = JSX(({ className = '', containerRef, activeIndex, visibleItemCount = 0, gap = 0, padding = 0, listType = 'horizontal-list', snapAlign = 'snap-center', minHeight, children, onVisibleItemsChange, onVisibleIndicesChange, }) => {
|
|
2036
2201
|
const observerOptions = {
|
|
2037
2202
|
sensitivity: 1,
|
|
@@ -2067,6 +2232,28 @@
|
|
|
2067
2232
|
.filter(([_]) => _ && _.intersectionRatio >= 0.9)
|
|
2068
2233
|
.map(([, i]) => i);
|
|
2069
2234
|
|
|
2235
|
+
const containerStyles = {
|
|
2236
|
+
'horizontal-list': 'mx-auto mt-5 w-fit',
|
|
2237
|
+
'vertical-list': 'absolute flex-col justify-center h-full top-0 left-4',
|
|
2238
|
+
};
|
|
2239
|
+
const activeDotStyles = {
|
|
2240
|
+
'horizontal-list': 'w-6',
|
|
2241
|
+
'vertical-list': 'h-6',
|
|
2242
|
+
};
|
|
2243
|
+
const dotStyle = 'cursor-pointer rounded-full transition-width duration-300 bg-primary-main group-data-secondary:bg-white group-data-transparent:bg-white';
|
|
2244
|
+
const inactiveDotStyle = 'w-2 h-2 opacity-30';
|
|
2245
|
+
const SwipeListControlDots = JSX(({ containerRef, activeIndex, dotCount = 0, listType = 'horizontal-list', version }) => {
|
|
2246
|
+
const handleClick = (idx) => {
|
|
2247
|
+
if (idx !== activeIndex && containerRef?.current) {
|
|
2248
|
+
containerRef.current.children[idx]?.scrollIntoView({
|
|
2249
|
+
behavior: 'smooth',
|
|
2250
|
+
block: 'nearest',
|
|
2251
|
+
});
|
|
2252
|
+
}
|
|
2253
|
+
};
|
|
2254
|
+
return dotCount ? (jsx("div", { className: style('flex gap-2', containerStyles[listType], version ? 'group' : ''), ...(version ? { 'data-ver': version } : {}), children: new Array(dotCount).fill(null).map((_, idx) => (jsx("div", { className: `${dotStyle} ${idx === activeIndex ? activeDotStyles[listType] : inactiveDotStyle}`, role: "button", "aria-hidden": true, onClick: () => handleClick(idx) }, String(idx)))) })) : null;
|
|
2255
|
+
});
|
|
2256
|
+
|
|
2070
2257
|
const areArraysEqual = (as, bs) => as === bs || Boolean(as && bs && as?.length === bs?.length && as.every((_, i) => _ === bs[i]));
|
|
2071
2258
|
|
|
2072
2259
|
const getItemWidth = (container) => (itemCount) => container.scrollWidth / itemCount;
|
|
@@ -2082,7 +2269,7 @@
|
|
|
2082
2269
|
container.scrollTo({ left: 0, behavior: 'smooth' });
|
|
2083
2270
|
};
|
|
2084
2271
|
|
|
2085
|
-
const useSwipeListScroll = ({ itemCount,
|
|
2272
|
+
const useSwipeListScroll = ({ itemCount, onVisibleIndicesChange, }) => {
|
|
2086
2273
|
const containerRef = useRef(null);
|
|
2087
2274
|
const [visibleIndices, setVisibleIndices] = useState([]);
|
|
2088
2275
|
const handleVisibleIndicesChange = useCallback((indices) => {
|
|
@@ -2098,42 +2285,40 @@
|
|
|
2098
2285
|
if (!containerRef.current) {
|
|
2099
2286
|
return;
|
|
2100
2287
|
}
|
|
2101
|
-
if (
|
|
2102
|
-
|
|
2288
|
+
if (canScrollLeft) {
|
|
2289
|
+
scrollBy(containerRef.current)(itemCount, -1);
|
|
2103
2290
|
}
|
|
2104
2291
|
else {
|
|
2105
|
-
|
|
2292
|
+
scrollToEnd(containerRef.current);
|
|
2106
2293
|
}
|
|
2107
|
-
}, [
|
|
2294
|
+
}, [itemCount, canScrollLeft]);
|
|
2108
2295
|
const scrollRight = useCallback(() => {
|
|
2109
2296
|
if (!containerRef.current) {
|
|
2110
2297
|
return;
|
|
2111
2298
|
}
|
|
2112
|
-
if (
|
|
2113
|
-
|
|
2299
|
+
if (canScrollRight) {
|
|
2300
|
+
scrollBy(containerRef.current)(itemCount, 1);
|
|
2114
2301
|
}
|
|
2115
2302
|
else {
|
|
2116
|
-
|
|
2303
|
+
scrollToStart(containerRef.current);
|
|
2117
2304
|
}
|
|
2118
|
-
}, [itemCount,
|
|
2305
|
+
}, [itemCount, canScrollRight]);
|
|
2119
2306
|
return [
|
|
2120
2307
|
containerRef,
|
|
2121
2308
|
{
|
|
2122
2309
|
scrollLeft,
|
|
2123
2310
|
scrollRight,
|
|
2124
|
-
canScrollLeft
|
|
2125
|
-
canScrollRight
|
|
2311
|
+
canScrollLeft,
|
|
2312
|
+
canScrollRight,
|
|
2126
2313
|
visibleIndicesRange: [minIndex, maxIndex],
|
|
2127
2314
|
handleVisibleIndicesChange,
|
|
2128
2315
|
},
|
|
2129
2316
|
];
|
|
2130
2317
|
};
|
|
2131
2318
|
|
|
2132
|
-
const ITEMS_GAP = 16;
|
|
2133
|
-
|
|
2134
2319
|
const scrollButtonStyle$1 = 'absolute top-[calc(50%-24px)] z-40';
|
|
2135
|
-
const blurBaseStyle = 'absolute top-0 bottom-0 z-40 w-
|
|
2136
|
-
const CarouselScrollButtons = JSX(({ scroll,
|
|
2320
|
+
const blurBaseStyle = 'absolute top-0 bottom-0 z-40 hidden @lg:block w-20 pointer-events-none';
|
|
2321
|
+
const CarouselScrollButtons = JSX(({ scroll, activeIndex, itemCount, arrowsPadded, hasEdgeBlocks, onScrollLeft, onScrollRight, }) => {
|
|
2137
2322
|
const { canScrollLeft, canScrollRight, scrollLeft, scrollRight } = scroll;
|
|
2138
2323
|
const canMoveLeft = hasEdgeBlocks ? activeIndex > 0 : canScrollLeft;
|
|
2139
2324
|
const canMoveRight = hasEdgeBlocks ? activeIndex < itemCount - 1 : canScrollRight;
|
|
@@ -2155,74 +2340,33 @@
|
|
|
2155
2340
|
onScrollRight();
|
|
2156
2341
|
}
|
|
2157
2342
|
}, [scrollRight, onScrollRight, hasEdgeBlocks, canScrollLeft, activeIndex, itemCount]);
|
|
2158
|
-
return (jsxs("div", { children: [renderBlur(
|
|
2159
|
-
});
|
|
2160
|
-
const renderBlur = (isBlur, scroll) => isBlur ? (jsxs("div", { children: [scroll.canScrollLeft ? (jsx("div", { className: style(blurBaseStyle, 'left-0 bg-opacity-from-white') })) : null, scroll.canScrollRight ? (jsx("div", { className: style(blurBaseStyle, 'right-0 bg-opacity-to-white') })) : null] })) : null;
|
|
2161
|
-
|
|
2162
|
-
const containerStyles = {
|
|
2163
|
-
'horizontal-list': 'mx-auto mt-5 w-fit',
|
|
2164
|
-
'vertical-list': 'absolute flex-col justify-center h-full top-0 left-4',
|
|
2165
|
-
};
|
|
2166
|
-
const activeDotStyles = {
|
|
2167
|
-
'horizontal-list': 'w-6',
|
|
2168
|
-
'vertical-list': 'h-6',
|
|
2169
|
-
};
|
|
2170
|
-
const dotStyle = 'cursor-pointer rounded-full transition-width duration-300 bg-primary-main group-data-secondary:bg-white group-data-transparent:bg-white';
|
|
2171
|
-
const inactiveDotStyle = 'w-2 h-2 opacity-30';
|
|
2172
|
-
const SwipeListControlDots = JSX(({ containerRef, activeIndex, dotCount = 0, listType = 'horizontal-list', version }) => {
|
|
2173
|
-
const handleClick = (idx) => {
|
|
2174
|
-
if (idx !== activeIndex && containerRef?.current) {
|
|
2175
|
-
containerRef.current.children[idx]?.scrollIntoView({
|
|
2176
|
-
behavior: 'smooth',
|
|
2177
|
-
block: 'nearest',
|
|
2178
|
-
});
|
|
2179
|
-
}
|
|
2180
|
-
};
|
|
2181
|
-
return dotCount ? (jsx("div", { className: style('flex gap-2', containerStyles[listType], version ? 'group' : ''), ...(version ? { 'data-ver': version } : {}), children: new Array(dotCount).fill(null).map((_, idx) => (jsx("div", { className: `${dotStyle} ${idx === activeIndex ? activeDotStyles[listType] : inactiveDotStyle}`, role: "button", "aria-hidden": true, onClick: () => handleClick(idx) }, String(idx)))) })) : null;
|
|
2343
|
+
return (jsxs("div", { children: [renderBlur(scroll), canMoveLeft ? (jsx(ScrollLeftButton, { className: style(scrollButtonStyle$1, arrowsPadded ? 'left-1 @lg:left-8' : 'left-0'), onClick: handleScrollLeft })) : null, canMoveRight ? (jsx(ScrollRightButton, { className: style(scrollButtonStyle$1, arrowsPadded ? 'right-1 @lg:right-8' : 'right-0'), onClick: handleScrollRight })) : null] }));
|
|
2182
2344
|
});
|
|
2345
|
+
const renderBlur = (scroll) => (jsxs("div", { children: [scroll.canScrollLeft ? (jsx("div", { className: style(blurBaseStyle, 'left-0 bg-opacity-from-white') })) : null, scroll.canScrollRight ? (jsx("div", { className: style(blurBaseStyle, 'right-0 bg-opacity-to-white') })) : null] }));
|
|
2183
2346
|
|
|
2184
|
-
const
|
|
2185
|
-
return [
|
|
2186
|
-
showArrows ? jsx(CarouselScrollButtons, { ...scrollButtonsProps }, "0") : null,
|
|
2187
|
-
showDots ? jsx(SwipeListControlDots, { ...dotsProps, listType: "horizontal-list" }, "1") : null,
|
|
2188
|
-
];
|
|
2189
|
-
};
|
|
2347
|
+
const ITEMS_GAP = 16;
|
|
2190
2348
|
|
|
2191
|
-
const Carousel = JSX(({ className
|
|
2349
|
+
const Carousel = JSX(({ className, itemCount, visibleItemCount = 0, noCardBorder, isAlignCenter, showDots, arrowsPadded = true, isGap = true, ...rest }) => {
|
|
2192
2350
|
const { blocks: childBlocks = [] } = rest.block || {};
|
|
2193
2351
|
const count = itemCount || childBlocks?.length;
|
|
2194
|
-
const [activeIndex,
|
|
2195
|
-
const increaseActiveIndex = useCallback(() => setActiveIndex((_) => _ + 1), []);
|
|
2196
|
-
const decreaseActiveIndex = useCallback(() => setActiveIndex((_) => _ - 1), []);
|
|
2197
|
-
const [containerRef, scroll] = useSwipeListScroll({
|
|
2352
|
+
const [activeIndex, { inc: increaseActiveIndex, dec: decreaseActiveIndex }] = useCarouselControls({
|
|
2198
2353
|
itemCount: count,
|
|
2199
|
-
|
|
2200
|
-
});
|
|
2354
|
+
visibleItemCount,
|
|
2355
|
+
}, Math.floor(visibleItemCount / 2));
|
|
2356
|
+
const [containerRef, scroll] = useSwipeListScroll({ itemCount: count });
|
|
2201
2357
|
const [dotsActiveIndex] = scroll.visibleIndicesRange;
|
|
2358
|
+
// TODO Remove
|
|
2202
2359
|
const isBankHistoryCarousel = childBlocks && childBlocks[0]?.type === 'CarouselBankHistoryCard';
|
|
2203
|
-
return (jsx(BlockWrapper, { className: className, defaultPadding:
|
|
2360
|
+
return (jsx(BlockWrapper, { className: className, defaultPadding: "p-6xl", ...rest, children: jsxs("div", { className: style(isAlignCenter ? 'flex justify-center' : '', 'relative max-w-full'), children: [jsx(SwipeListContainer, { containerRef: containerRef, visibleItemCount: visibleItemCount, snapAlign: "snap-start", gap: isGap ? ITEMS_GAP : undefined, onVisibleIndicesChange: scroll.handleVisibleIndicesChange, children: renderChildren({
|
|
2204
2361
|
...rest,
|
|
2205
|
-
renderProps:
|
|
2206
|
-
|
|
2207
|
-
|
|
2208
|
-
|
|
2209
|
-
|
|
2210
|
-
:
|
|
2211
|
-
|
|
2212
|
-
|
|
2213
|
-
showDots,
|
|
2214
|
-
scrollButtonsProps: {
|
|
2215
|
-
scroll,
|
|
2216
|
-
arrowsPadded,
|
|
2217
|
-
isBlur,
|
|
2218
|
-
onScrollLeft: decreaseActiveIndex,
|
|
2219
|
-
onScrollRight: increaseActiveIndex,
|
|
2220
|
-
hasEdgeBlocks: isBankHistoryCarousel,
|
|
2221
|
-
activeIndex,
|
|
2222
|
-
itemCount: count,
|
|
2223
|
-
},
|
|
2224
|
-
dotsProps: { containerRef, activeIndex: dotsActiveIndex, dotCount: count },
|
|
2225
|
-
})] }) }));
|
|
2362
|
+
renderProps: (block, options, blockIndex) => renderBlock$1(block, options, {
|
|
2363
|
+
className: style('h-full min-w-80 sm:min-w-96', noCardBorder
|
|
2364
|
+
? ''
|
|
2365
|
+
: 'border border-solid border-gray group-data-secondary:border-white/50 group-data-gray:border-main-divider'),
|
|
2366
|
+
blockIndex,
|
|
2367
|
+
isActive: activeIndex === blockIndex,
|
|
2368
|
+
}),
|
|
2369
|
+
}) }), jsx(CarouselScrollButtons, { scroll: scroll, arrowsPadded: arrowsPadded, onScrollLeft: decreaseActiveIndex, onScrollRight: increaseActiveIndex, hasEdgeBlocks: isBankHistoryCarousel, activeIndex: activeIndex, itemCount: count }), showDots ? (jsx(SwipeListControlDots, { containerRef: containerRef, activeIndex: dotsActiveIndex, dotCount: count, listType: "horizontal-list" })) : null] }) }));
|
|
2226
2370
|
});
|
|
2227
2371
|
Carousel.childrenTypes = [
|
|
2228
2372
|
'CarouselCard',
|
|
@@ -2237,75 +2381,21 @@
|
|
|
2237
2381
|
'CarouselInvestmentCard',
|
|
2238
2382
|
'CarouselEventCard',
|
|
2239
2383
|
];
|
|
2240
|
-
const getPaddingStyle$1 = (isPadding) => (isPadding ? 'p-default' : '');
|
|
2241
|
-
const getAlignStyle = (isAlignCenter) => isAlignCenter ? 'flex justify-center' : '';
|
|
2242
|
-
|
|
2243
|
-
const CarouselBankHistoryCard = JSX(({ title, description, blocksLength = 0, activeIndex, options }) => {
|
|
2244
|
-
const orderNumber = Number(options?.key?.split('-').slice(-1)[0]) || 0;
|
|
2245
|
-
const isActive = orderNumber === activeIndex;
|
|
2246
|
-
return (jsx(BlockWrapper, { className: "flex h-[485px]", defaultPadding: "p-0", children: isActive ? (jsx("div", { className: "relative flex items-center w-full", children: jsx(Headline, { headlineVersion: "M", title: title, description: description, align: "text-left", className: style('absolute z-10 h-[385px] w-[440px] p-8 text-white shadow-dark-blue', getActiveBlockPosition(orderNumber, blocksLength), getBackgroundColor(orderNumber)) }) })) : (jsx("div", { className: "flex w-full items-center justify-center", children: jsx("div", { className: style('flex justify-center items-center h-[300px] w-[340px] font-mohave text-title-large tracking-[-0.03em]', getBackgroundColor(orderNumber)), children: jsx("span", { className: getTextColor(orderNumber), children: title }) }) })) }));
|
|
2247
|
-
});
|
|
2248
|
-
const getBackgroundColor = (orderNumber) => {
|
|
2249
|
-
const division = orderNumber % 3;
|
|
2250
|
-
switch (division) {
|
|
2251
|
-
case 0:
|
|
2252
|
-
return 'bg-primary-main';
|
|
2253
|
-
case 1:
|
|
2254
|
-
return 'bg-green-light';
|
|
2255
|
-
case 2:
|
|
2256
|
-
return 'bg-yellow-light';
|
|
2257
|
-
default:
|
|
2258
|
-
return 'bg-primary-main';
|
|
2259
|
-
}
|
|
2260
|
-
};
|
|
2261
|
-
const getTextColor = (orderNumber) => {
|
|
2262
|
-
const division = orderNumber % 3;
|
|
2263
|
-
switch (division) {
|
|
2264
|
-
case 1:
|
|
2265
|
-
return 'gradient-color-text-on-yellow';
|
|
2266
|
-
case 2:
|
|
2267
|
-
return 'gradient-color-text-on-yellow';
|
|
2268
|
-
default:
|
|
2269
|
-
return 'gradient-color-text-on-green';
|
|
2270
|
-
}
|
|
2271
|
-
};
|
|
2272
|
-
const getActiveBlockPosition = (orderNumber, blocksLength) => {
|
|
2273
|
-
if (orderNumber === 0) {
|
|
2274
|
-
return 'left-9';
|
|
2275
|
-
}
|
|
2276
|
-
else if (orderNumber === blocksLength - 1) {
|
|
2277
|
-
return 'right-9';
|
|
2278
|
-
}
|
|
2279
|
-
else {
|
|
2280
|
-
return '-left-[25px]';
|
|
2281
|
-
}
|
|
2282
|
-
};
|
|
2283
|
-
|
|
2284
|
-
const getColSpan = (className) => {
|
|
2285
|
-
const colSpanPrefix = 'col-span-';
|
|
2286
|
-
const colSpanStr = className?.split(/\s+/).find((_) => _.startsWith(colSpanPrefix));
|
|
2287
|
-
return colSpanStr ? parseInt(colSpanStr.substring(colSpanPrefix.length), 10) : 12;
|
|
2288
|
-
};
|
|
2289
2384
|
|
|
2290
|
-
const
|
|
2291
|
-
|
|
2292
|
-
|
|
2293
|
-
|
|
2294
|
-
|
|
2295
|
-
|
|
2296
|
-
|
|
2297
|
-
return 'w-[375px]';
|
|
2298
|
-
}
|
|
2299
|
-
else {
|
|
2300
|
-
return CARD_WIDTH_MAP[carouselVersion];
|
|
2301
|
-
}
|
|
2302
|
-
}
|
|
2385
|
+
const CarouselBankHistoryCard = JSX(({ className, title, description, blockIndex = 0, isActive, ...rest }) => (jsx(BlockWrapper, { className: style('relative flex h-[485px]', isActive ? 'w-[440px] z-10' : 'w-[340px]', className), defaultPadding: "p-0", ...rest, children: jsx("div", { className: style('basis-full self-center', getBackColor(blockIndex)), children: isActive ? (jsx(Headline, { headlineVersion: "M", title: title, description: description, padding: "p-3xl", align: "text-left", className: "h-96 text-white shadow-dark-blue" })) : (jsx("div", { className: "h-[300px] flex justify-center items-center font-mohave text-title-large tracking-[-0.03em]", children: jsx("span", { className: getTextColor(blockIndex), children: title }) })) }) })));
|
|
2386
|
+
const getBackColor = (blockIndex) => ['bg-primary-main', 'bg-green-light', 'bg-yellow-light'][blockIndex % 3];
|
|
2387
|
+
const getTextColor = (blockIndex) => [
|
|
2388
|
+
'gradient-color-text-on-green',
|
|
2389
|
+
'gradient-color-text-on-yellow',
|
|
2390
|
+
'gradient-color-text-on-yellow',
|
|
2391
|
+
][blockIndex % 3];
|
|
2303
2392
|
|
|
2304
2393
|
const titleSize = 'L';
|
|
2305
2394
|
|
|
2306
|
-
const
|
|
2307
|
-
const
|
|
2308
|
-
|
|
2395
|
+
const layerBaseStyle = 'z-10 border border-solid w-full h-full';
|
|
2396
|
+
const layerStyle = style(layerBaseStyle, 'absolute hidden sm:block border-transparent');
|
|
2397
|
+
const CarouselCard = JSX(({ className, title, description, button, ...rest }) => (jsx(BlockWrapper, { className: style('sm:pl-12 sm:pb-9', className), defaultPadding: "p-0", ...rest, children: jsxs("div", { className: "relative", children: [jsx("div", { className: style(layerStyle, 'top-9 right-12 bg-green-dark') }), jsx("div", { className: style(layerStyle, 'top-6 right-8 bg-green') }), jsx("div", { className: style(layerStyle, 'top-3 right-4 bg-green-light') }), jsxs("div", { className: style(layerBaseStyle, 'relative p-10 bg-white border-green-light'), children: [jsx(Headline, { title: title, description: description, headlineVersion: titleSize, align: "text-left", isPadding: false }), renderButtonsSection([button], {
|
|
2398
|
+
className: 'mt-6xl sm:justify-center',
|
|
2309
2399
|
isVertical: true,
|
|
2310
2400
|
})] })] }) })));
|
|
2311
2401
|
|
|
@@ -2313,7 +2403,7 @@
|
|
|
2313
2403
|
black: 'bg-black',
|
|
2314
2404
|
white: 'bg-white',
|
|
2315
2405
|
};
|
|
2316
|
-
const CarouselCatalogCard = JSX(({ className = '', title, description, image, price, button, colors, ...rest }) => (jsxs(BlockWrapper, { className: style('
|
|
2406
|
+
const CarouselCatalogCard = JSX(({ className = '', title, description, image, price, button, colors, ...rest }) => (jsxs(BlockWrapper, { className: style('flex flex-col justify-left gap-m', className), defaultPadding: "p-6xl sm:p-7", ...rest, children: [image?.src ? jsx(Img, { className: "flex justify-center", image: image }) : null, jsx(Headline, { title: title, description: description, headlineVersion: "XS", isPadding: false, align: "text-left" }), colors?.length ? (jsxs("div", { className: "flex text-secondary-text", children: [jsx("div", { className: "mr-xs", children: jsx(Text, { size: "text-s", align: "text-left", font: "font-light", children: "\u0426\u0432\u0435\u0442\u0430:" }) }), colors.map(renderColorOption)] })) : null, price ? (jsxs(Text, { size: "text-h3", align: "text-left", children: [price, "\u00A0\u20BD"] })) : null, renderButtonsSection([button], { buttonClassName: 'w-full' })] })));
|
|
2317
2407
|
const renderColorOption = (color, i) => (jsx("div", { role: "figure", className: `w-6 h-6 ml-1 sm:ml-3 border border-solid border-main-divider rounded-full ${cardStyleMap[color]}` }, String(i)));
|
|
2318
2408
|
|
|
2319
2409
|
const LinkWrapper = JSX(({ className = '', href, target, isRemote = false, children }) => {
|
|
@@ -2324,7 +2414,7 @@
|
|
|
2324
2414
|
});
|
|
2325
2415
|
|
|
2326
2416
|
const CarouselEventCard = JSX(({ className = '', icon, title, description, href, target, ...rest }) => {
|
|
2327
|
-
return (jsx(BlockWrapper, { className:
|
|
2417
|
+
return (jsx(BlockWrapper, { className: className, defaultPadding: "p-0", ...rest, children: jsxs(LinkWrapper, { className: "flex flex-col", href: href, target: target, children: [icon?.icon ? jsx(Img, { image: icon }) : null, icon?.src ? jsx(Img, { image: icon }) : null, title ? (jsx(Heading, { headingType: "h6", as: "h4", className: "text-left mt-s ml-s mb-xs", title: title })) : null, description ? (jsx("div", { className: "ml-s mb-m", children: jsx(Text, { font: "font-light", size: "text-m", color: "text-secondary-text", children: description }) })) : null] }) }));
|
|
2328
2418
|
});
|
|
2329
2419
|
|
|
2330
2420
|
const imageAlignmentMap = {
|
|
@@ -2332,7 +2422,7 @@
|
|
|
2332
2422
|
center: 'self-center',
|
|
2333
2423
|
end: 'self-end',
|
|
2334
2424
|
};
|
|
2335
|
-
const BaseTile = JSX(({ className, defaultPadding, padding, title = '', insetTitle = '', buttons, leftImage, rightImage, imageAlign, backImage, children, }) => (jsxs("div", { className: style('relative flex flex-col gap-
|
|
2425
|
+
const BaseTile = JSX(({ className, defaultPadding, padding, title = '', insetTitle = '', buttons, leftImage, rightImage, imageAlign, backImage, children, }) => (jsxs("div", { className: style('relative flex flex-col gap-3xl font-sans overflow-hidden', padding || defaultPadding, className), children: [title ? jsx("div", { className: "relative", children: title }) : null, jsxs("div", { className: "grow relative flex flex-wrap @xl:flex-nowrap justify-between items-stretch gap-3xl", children: [renderImageContainer(leftImage, { imageAlign }), jsxs("div", { className: style('flex flex-col gap-3xl max-w-[600px] xl:max-w-[728px]', leftImage ? '' : 'grow'), children: [insetTitle, jsx("div", { className: "grow", children: children }), backImage ? (jsx("div", { className: "mx-auto sm:absolute sm:-z-10 sm:-bottom-4 sm:-right-4", children: backImage })) : null, buttons] }), renderImageContainer(rightImage, { className: '-order-1 @xl:order-1', imageAlign })] })] })));
|
|
2336
2426
|
const renderImageContainer = (image, { className, imageAlign }) => image ? (jsx("div", { className: style('flex-shrink-0', imageAlign && imageAlignmentMap[imageAlign], className), children: image })) : null;
|
|
2337
2427
|
|
|
2338
2428
|
const getItemListFontSize = (colValue) => (colValue === 1 ? 'text-h6' : 'text-l');
|
|
@@ -2340,36 +2430,36 @@
|
|
|
2340
2430
|
1: 'flex-col',
|
|
2341
2431
|
2: 'gap-x-10 flex-wrap',
|
|
2342
2432
|
};
|
|
2343
|
-
const CarouselInvestmentCard = JSX(({ className, padding, additionalDescription, cardsList = [], columnsMode = 1, description, image, title, ...rest }) => (jsx(BlockWrapper, { className: style('
|
|
2433
|
+
const CarouselInvestmentCard = JSX(({ className, padding, additionalDescription, cardsList = [], columnsMode = 1, description, image, title, ...rest }) => (jsx(BlockWrapper, { className: style('text-left', className), padding: "p-0", ...rest, children: jsxs(BaseTile, { className: "h-full", defaultPadding: "p-xl", padding: padding, title: title ? jsx(Heading, { headingType: "h4", as: "h3", className: "mb-m z-10", title: title }) : null, backImage: image?.src ? jsx(Img, { image: image }) : null, children: [jsxs("div", { className: "flex justify-between mb-4", children: [description ? (jsx("div", { className: "w-1/3", children: jsx(Text, { size: "text-h6", children: description }) })) : null, additionalDescription ? (jsx(Text, { size: "text-m", font: "font-light", color: "group-data-primary:text-secondary-text", children: additionalDescription })) : null] }), cardsList.length ? (jsx("ul", { className: style('list-none m-0 p-0 flex gap-y-2', cardColumnsModeStyleMap[columnsMode]), children: renderCardList(cardsList, columnsMode) })) : null] }) })));
|
|
2344
2434
|
const renderCardList = (cardsList, columnsMode) => {
|
|
2345
2435
|
const CARDS_COUNT_MAP = [4, 9];
|
|
2346
2436
|
const visibleCardsList = cardsList.slice(0, CARDS_COUNT_MAP[columnsMode - 1]);
|
|
2347
2437
|
return visibleCardsList.map((item, i) => (jsxs("li", { className: columnsMode === 2 ? 'basis-[calc(50%-20px)]' : '', children: [item?.parameter ? (jsx("div", { className: "pr-2.5", children: jsx(Text, { size: getItemListFontSize(columnsMode), children: item.parameter }) })) : null, item?.parameterDescription ? (jsx(Text, { size: "text-m", font: "font-light", color: "text-secondary-text", children: item.parameterDescription })) : null] }, String(i))));
|
|
2348
2438
|
};
|
|
2349
2439
|
|
|
2350
|
-
const LINK_CLASS_NAME = `absolute border border-primary-main ml-
|
|
2351
|
-
text-l font-light bg-white text-primary-text flex w-
|
|
2440
|
+
const LINK_CLASS_NAME = `absolute border border-primary-main ml-s px-xl py-lg
|
|
2441
|
+
text-l font-light bg-white text-primary-text flex w-80
|
|
2352
2442
|
justify-between items-center group-hover/link:text-primary-main z-10`;
|
|
2353
2443
|
const LINK_BORDER_CLASS_NAME = 'bg-transparent border-white border h-[70px] absolute w-[316px] top-0';
|
|
2354
2444
|
const LinkButton = JSX(({ text, href = '', target = '', className = '' }) => {
|
|
2355
2445
|
const link = useLink();
|
|
2356
2446
|
const adjustedProps = link({ href, target });
|
|
2357
|
-
return text ? (jsxs("div", { className: `relative group/link cursor-pointer w-[328px] h-[82px] ${className}`, children: [jsxs("a", { className: LINK_CLASS_NAME, role: "link", ...adjustedProps, children: [jsx("div", { className: "p-
|
|
2447
|
+
return text ? (jsxs("div", { className: `relative group/link cursor-pointer w-[328px] h-[82px] ${className}`, children: [jsxs("a", { className: LINK_CLASS_NAME, role: "link", ...adjustedProps, children: [jsx("div", { className: "p-3xs", children: text }), jsx("div", { className: "w-6 h-6", children: jsx(Img, { className: "w-4 h-4 min-w-4 min-h-4 rounded-full box-border brightness-0 group-hover/link:brightness-100", image: { icon: 'ArrowRightIcon', iconVersion: 'black' }, imageClassName: "group-hover/link:text-primary-main", width: "24", height: "24" }) })] }), jsx("div", { className: `${LINK_BORDER_CLASS_NAME} mx-1.5 mt-1.5` }), jsx("div", { className: `${LINK_BORDER_CLASS_NAME} mt-3 mr-3` })] })) : null;
|
|
2358
2448
|
});
|
|
2359
2449
|
|
|
2360
2450
|
const MAX_LINKS_COUNT = 10;
|
|
2361
|
-
const CarouselLinks = JSX(({ className, additionalDescription, description, links, title, ...rest }) => (jsxs(BlockWrapper, { className: style('flex w-full overflow-hidden
|
|
2451
|
+
const CarouselLinks = JSX(({ className, additionalDescription, description, links, title, ...rest }) => (jsxs(BlockWrapper, { className: style('flex w-full overflow-hidden', className), ...rest, children: [jsxs("div", { className: "mr-xl flex-auto", children: [jsx(Headline, { isPadding: false, title: title, description: description, as: "h1", align: "text-left" }), additionalDescription ? (jsx(Headline, { className: "pt-m", description: additionalDescription, align: "text-left", isPadding: false })) : null] }), links?.length ? renderLinks(links) : null] })));
|
|
2362
2452
|
const renderLinks = (links) => {
|
|
2363
2453
|
const itemCount = Math.ceil(links.length / MAX_LINKS_COUNT);
|
|
2364
|
-
return (jsx(Carousel, { className: "min-w-[832px] w-[832px]", version: "",
|
|
2454
|
+
return (jsx(Carousel, { className: "min-w-[832px] w-[832px]", version: "", itemCount: itemCount, arrowsPadded: false, showDots: true, children: new Array(itemCount).fill(null).map((_, groupIndex) => (jsx("div", { className: "w-[672px] min-w-[672px] ml-10 mr-10 flex flex-wrap self-start", children: links
|
|
2365
2455
|
.slice(groupIndex * MAX_LINKS_COUNT, (groupIndex + 1) * MAX_LINKS_COUNT)
|
|
2366
2456
|
.map((link, index) => (jsx(LinkButton, { className: "m-1", ...link }, String(index)))) }, String(groupIndex)))) }));
|
|
2367
2457
|
};
|
|
2368
2458
|
|
|
2369
2459
|
const DOT_SIZE_MAP = {
|
|
2370
|
-
L: 'w-1.5 h-1.5 mr-
|
|
2371
|
-
M: 'w-1.5 h-1.5 mr-
|
|
2372
|
-
S: 'w-1 h-1 mr-
|
|
2460
|
+
L: 'w-1.5 h-1.5 mr-m',
|
|
2461
|
+
M: 'w-1.5 h-1.5 mr-s',
|
|
2462
|
+
S: 'w-1 h-1 mr-xs',
|
|
2373
2463
|
};
|
|
2374
2464
|
const ListItem = JSX(({ className, isDotted = true, children, size = 'M' }) => (jsxs("div", { className: style('font-sans flex', className), role: "listitem", children: [isDotted ? (jsx("div", { className: "shrink-0", children: jsx("div", { className: style('align-middle inline-block rounded-full bg-primary-text group-data-secondary:bg-white', DOT_SIZE_MAP[size]) }) })) : null, jsx("span", { children: children })] })));
|
|
2375
2465
|
|
|
@@ -2379,31 +2469,31 @@
|
|
|
2379
2469
|
L: 'text-h5',
|
|
2380
2470
|
};
|
|
2381
2471
|
const ITEM_INDENT_MAP = {
|
|
2382
|
-
S: 'ml-
|
|
2383
|
-
M: 'ml-
|
|
2384
|
-
L: 'ml-
|
|
2472
|
+
S: 'ml-xs',
|
|
2473
|
+
M: 'ml-s',
|
|
2474
|
+
L: 'ml-m',
|
|
2385
2475
|
};
|
|
2386
|
-
const List = JSX(({ className, hasIndent, isDotted, items, listItemSize = 'M' }) => items?.length ? (jsx("section", { className: style('flex flex-col gap-
|
|
2476
|
+
const List = JSX(({ className, hasIndent, isDotted, items, listItemSize = 'M' }) => items?.length ? (jsx("section", { className: style('flex flex-col gap-xs text-left text-primary-text group-data-secondary:text-white group-data-gray:text-secondary-text', TEXT_SIZE_MAP[listItemSize], hasIndent ? ITEM_INDENT_MAP[listItemSize] : '', className), role: "list", children: items.map((item, i) => (jsx(ListItem, { isDotted: isDotted, size: listItemSize, children: item }, String(i)))) })) : null);
|
|
2387
2477
|
|
|
2388
|
-
const
|
|
2389
|
-
|
|
2390
|
-
|
|
2391
|
-
|
|
2478
|
+
const alignTextStyle = 'text-center';
|
|
2479
|
+
|
|
2480
|
+
const CarouselProductCard = JSX(({ additionalDescription, align = alignTextStyle, button = {}, className = '', description, headlineSmallVersion = 'H6', href, icon, isDotted = true, isButtonFullWidth = true, isImageFullWidth = false, isTopPosition = false, items = [], target, title, version = 'primary', ...rest }) => {
|
|
2481
|
+
return (jsxs(BlockWrapper, { className: style('flex flex-col justify-between', align, className), defaultPadding: "p-0", version: version, ...rest, children: [jsxs(LinkWrapper, { className: "p-m flex flex-col gap-xs", href: href, target: target, children: [renderCardTitle(headlineSmallVersion, title), renderDescription$2(description), renderItems(items, isDotted, version), renderAdditionalDescription(additionalDescription), renderImage$2(icon, isImageFullWidth, isTopPosition)] }), renderButtonsSection([button], {
|
|
2482
|
+
className: style('p-m pt-0', isButtonFullWidth ? '' : 'self-center'),
|
|
2483
|
+
isVertical: isButtonFullWidth,
|
|
2392
2484
|
})] }));
|
|
2393
2485
|
});
|
|
2394
|
-
const renderImage$2 = (image) => (jsxs("div", { className:
|
|
2395
|
-
const renderCardTitle = (headlineSmallVersion, title) => title ?
|
|
2396
|
-
const renderDescription$
|
|
2397
|
-
const renderAdditionalDescription = (additionalDescription) => additionalDescription ? (jsx(
|
|
2398
|
-
const renderItems = (items, isDotted, version = 'primary') => items?.length ? (jsx(List, { className: style('
|
|
2486
|
+
const renderImage$2 = (image, isImageFullWidth, isTopPosition) => (jsxs("div", { className: style('flex gap-lg', isTopPosition ? 'order-first' : 'order-last', !isImageFullWidth ? 'justify-center' : ''), children: [image?.src ? jsx(Img, { className: "shrink-0", image: image }) : null, image?.icon ? (jsx(Img, { className: style('shrink-0', !isImageFullWidth ? 'w-8 h-8 min-w-8' : ''), image: image })) : null] }));
|
|
2487
|
+
const renderCardTitle = (headlineSmallVersion, title) => title ? jsx(Text, { size: HEADLINE_SMALL_VERSION[headlineSmallVersion], children: title }) : null;
|
|
2488
|
+
const renderDescription$2 = (description) => description ? jsx(Paragraph, { size: "text-l", children: description }) : null;
|
|
2489
|
+
const renderAdditionalDescription = (additionalDescription) => additionalDescription ? (jsx(Text, { size: "text-m", font: "font-light", color: "text-secondary-text group-data-secondary:text-white/80", children: additionalDescription })) : null;
|
|
2490
|
+
const renderItems = (items, isDotted, version = 'primary') => items?.length ? (jsx(List, { className: style('text-s', version === 'primary' ? '!text-secondary-text' : ''), items: items.filter((item) => item?.text).map((item) => item.text), isDotted: isDotted, listItemSize: "S" })) : null;
|
|
2399
2491
|
|
|
2400
2492
|
const cardTitleFont = 'font-normal';
|
|
2401
2493
|
const cardDescriptionColor = 'text-secondary-text';
|
|
2402
2494
|
|
|
2403
|
-
const CarouselProgramsCard = JSX(({ className
|
|
2404
|
-
|
|
2405
|
-
});
|
|
2406
|
-
const renderList$2 = (_, i) => (jsxs("div", { className: "flex flex-row-reverse justify-between gap-y-1 sm:flex-col", children: [_.title ? (jsx(Text, { size: "text-l", font: cardTitleFont, children: _.title })) : null, _.description ? (jsx(Paragraph, { size: "text-l", font: "font-light", color: cardDescriptionColor, children: _.description })) : null] }, String(i)));
|
|
2495
|
+
const CarouselProgramsCard = JSX(({ className, title, icon, list = [], href, target, ...rest }) => (jsx(BlockWrapper, { className: className, defaultPadding: "p-3xl sm:p-0", ...rest, children: jsxs(LinkWrapper, { className: "sm:flex sm:items-center", href: href, target: target, children: [jsx("div", { className: "flex justify-center px-xl", children: icon?.src || icon?.icon ? jsx(Img, { image: icon }) : null }), jsxs("div", { className: "sm:px-s p-5xl", children: [title ? jsx(Heading, { className: "mb-xs sm:mb-m", headingType: "h6", title: title }) : null, list.length ? (jsx("div", { className: "flex flex-col gap-xs sm:gap-s", children: list?.map(renderList$2) })) : null] })] }) })));
|
|
2496
|
+
const renderList$2 = (_, i) => (jsxs("div", { className: "flex flex-row-reverse justify-between gap-y-2xs sm:flex-col", children: [_.title ? (jsx(Text, { size: "text-l", font: cardTitleFont, children: _.title })) : null, _.description ? (jsx(Paragraph, { size: "text-l", font: "font-light", color: cardDescriptionColor, children: _.description })) : null] }, String(i)));
|
|
2407
2497
|
|
|
2408
2498
|
const buttonSizeStyles = {
|
|
2409
2499
|
default: 'w-14 h-14',
|
|
@@ -2458,19 +2548,16 @@
|
|
|
2458
2548
|
|
|
2459
2549
|
const SocialMedia = JSX(({ className = '', media, children, buttonSize }) => (jsxs("div", { className: "font-sans", children: [jsx("div", { className: `flex gap-1 ${className}`, children: media?.map((_, index) => (jsx(MediaButton, { buttonSize: buttonSize, ..._ }, String(index)))) }), jsx(Text, { size: "text-s", font: "font-light", color: "text-secondary-text", children: children })] })));
|
|
2460
2550
|
|
|
2461
|
-
const
|
|
2462
|
-
|
|
2463
|
-
const CarouselRecommendationCard = JSX(({ className = '', description, href, icon, items = [], socialMedia = [], target, title, align = 'text-left', version = 'primary', ...rest }) => {
|
|
2464
|
-
return (jsx(BlockWrapper, { className: style('relative min-w-[524px] min-h-[218px] h-full box-border group-data-gray:bg-main-divider/50', BORDER_STYLE, className), defaultPadding: "p-s", version: version, ...rest, children: jsxs(LinkWrapper, { href: href, target: target, children: [jsx(Headline, { className: "mb-4", title: title, description: description, headlineVersion: "S", isPadding: false, align: align }), jsxs("div", { className: "w-1/2 h-full flex flex-col flex-1 justify-end", children: [items.length ? jsx(List, { items: items, listItemSize: "S" }) : null, socialMedia.length ? jsx(SocialMedia, { className: "pt-10", media: socialMedia }) : null] }), renderIconBlock$2(icon)] }) }));
|
|
2551
|
+
const CarouselRecommendationCard = JSX(({ className, padding, description, href, icon, items = [], socialMedia = [], target, title, align = 'text-left', ...rest }) => {
|
|
2552
|
+
return (jsx(BlockWrapper, { className: style('relative min-h-[218px] group-data-gray:bg-main-divider/50', className), defaultPadding: "p-0", ...rest, children: jsx(LinkWrapper, { href: href, target: target, children: jsx(BaseTile, { className: "h-full", defaultPadding: "p-m", padding: padding, title: title ? (jsx(Headline, { title: title, description: description, headlineVersion: "S", isPadding: false, align: align })) : null, backImage: icon?.icon || icon?.src ? jsx(Img, { image: icon }) : null, buttons: socialMedia.length ? jsx(SocialMedia, { media: socialMedia }) : null, children: items.length ? jsx(List, { items: items, listItemSize: "S" }) : null }) }) }));
|
|
2465
2553
|
});
|
|
2466
|
-
const renderIconBlock$2 = (icon) => (jsxs("div", { className: "absolute bottom-0 right-0", children: [icon?.icon ? jsx(Img, { image: icon }) : null, icon?.src ? jsx(Img, { image: icon }) : null] }));
|
|
2467
2554
|
|
|
2468
2555
|
const RichText = JSX((props) => {
|
|
2469
2556
|
const { __html = '', richVersion = '' } = props;
|
|
2470
2557
|
return (jsx("div", { className: style(richVersion, 'md-container'), dangerouslySetInnerHTML: { __html } }));
|
|
2471
2558
|
});
|
|
2472
2559
|
|
|
2473
|
-
const CarouselRichTextCard = JSX(({ className = '', __html, richVersion = 'striped', ...rest }) => (jsx(BlockWrapper, { className:
|
|
2560
|
+
const CarouselRichTextCard = JSX(({ className = '', __html, richVersion = 'striped', ...rest }) => (jsx(BlockWrapper, { className: className, ...rest, children: jsx(RichText, { __html: __html, richVersion: richVersion }) })));
|
|
2474
2561
|
|
|
2475
2562
|
const Foldable = JSX(({ className = '', isFoldButtonOnTop = false, unfoldedByDefault = false, renderFoldableSection, renderFoldButton, }) => {
|
|
2476
2563
|
const [isUnfolded, setIsUnfolded] = useState(unfoldedByDefault);
|
|
@@ -2506,9 +2593,9 @@
|
|
|
2506
2593
|
const cellsNode = cardCells.map(renderCardInfo);
|
|
2507
2594
|
const visibleCells = cellsNode.slice(0, VISIBLE_CELLS_COUNT);
|
|
2508
2595
|
const hiddenCells = cellsNode.slice(VISIBLE_CELLS_COUNT);
|
|
2509
|
-
return (jsxs(BlockWrapper, { className: style('relative
|
|
2596
|
+
return (jsxs(BlockWrapper, { className: style('relative flex flex-col', className), defaultPadding: getPaddingStyle(isHighlighting), ...rest, children: [isHighlighting ? renderHitIcon() : null, renderIconBlock$1(icon), title ? (jsx(Heading, { className: style('pt-xs', align), headingType: "h5", title: title })) : null, button ? jsx(Button, { className: "w-full mt-m", ...button }) : null, cardCells.length ? (jsx(Foldable, { renderFoldableSection: ({ isUnfolded }) => (jsxs("div", { children: [visibleCells, jsx(FoldableSection, { isUnfolded: isUnfolded, children: hiddenCells })] })), renderFoldButton: cardCells.length > 1 ? renderFoldButton$1 : null })) : null] }));
|
|
2510
2597
|
});
|
|
2511
|
-
const renderIconBlock$1 = (icon) => (jsx("div", { className: "
|
|
2598
|
+
const renderIconBlock$1 = (icon) => (jsx("div", { className: "basis-full self-center", children: icon?.src || icon?.icon ? jsx(Img, { image: icon }) : null }));
|
|
2512
2599
|
const renderFoldButton$1 = ({ isUnfolded, onToggle }) => (jsxs("button", { className: "w-full cursor-pointer text-primary-main pt-5 flex justify-between items-center", onClick: onToggle, children: [jsx("div", { children: isUnfolded ? 'Скрыть' : 'Подробнее о тарифе' }), jsx(Icon, { className: "text-primary-text", name: isUnfolded ? 'ArrowUpIcon' : 'ArrowDownIcon', width: "16", height: "16" })] }));
|
|
2513
2600
|
const renderHitIcon = () => (jsxs("div", { className: "absolute -top-7 -right-4 h-[60px] w-[60px] bg-white flex flex-col items-center justify-center rounded-md shadow-[0_4px_25px_rgba(0,0,0,0.07)]", children: [jsx(Icon, { iconVersion: "black", name: "HeartIcon", width: "23", height: "22" }), jsx(Paragraph, { size: "text-s", font: "font-normal", align: "text-center", color: "text-primary-text", children: "\u0425\u0418\u0422" })] }));
|
|
2514
2601
|
|
|
@@ -2519,7 +2606,7 @@
|
|
|
2519
2606
|
const COLS_LENGTH_FOR_SCROLL$1 = 3;
|
|
2520
2607
|
const COLUMN_WIDTH$2 = 4 * 80 + 4 * 4; // w-80 + gap-4 = 336px
|
|
2521
2608
|
|
|
2522
|
-
const HeaderCell = JSX(({ icon, image, title, link }) => (jsxs("div", { className: `w-80 box-border flex flex-col items-center rounded-t-md border-b-0
|
|
2609
|
+
const HeaderCell = JSX(({ icon, image, title, link }) => (jsxs("div", { className: `w-80 box-border flex flex-col gap-m items-center rounded-t-md border-b-0 p-2xl ${BORDER_CLASSES} ${GRADIENT}`, role: "columnheader", children: [icon && !image?.src && (jsx(Img, { className: "h-16 w-16 min-w-16 min-h-16", image: icon, width: "64", height: "64" })), image?.src && jsx(Img, { image: image }), title ? (jsx(Heading, { headingType: "h4", as: "h3", className: "text-center text-white", title: title })) : null, link?.text && (jsx("div", { className: "mt-auto w-full", children: jsx(Button, { href: link.href, target: link.target, className: "w-full text-primary-main bg-white hover:bg-secondary-hover active:bg-secondary-active", children: jsx("div", { className: "text-xs font-light font-medium py-s", children: link.text }) }) }))] })));
|
|
2523
2610
|
|
|
2524
2611
|
const carouselContainerClassesMap = {
|
|
2525
2612
|
comparison: 'flex gap-4 duration-1000',
|
|
@@ -2538,7 +2625,7 @@
|
|
|
2538
2625
|
});
|
|
2539
2626
|
const labelStyle = (isFillGradient = false) => `text-xl m-0 ${isFillGradient ? 'text-white' : ''}`;
|
|
2540
2627
|
const descriptionStyle = (isFillGradient = false) => `text-s opacity-80 ${isFillGradient ? 'text-white' : 'text-secondary-text'}`;
|
|
2541
|
-
const renderCellInner$1 = ({ label, description }, i, isFillGradient) => (jsxs("div", { className: "first:pt-
|
|
2628
|
+
const renderCellInner$1 = ({ label, description }, i, isFillGradient) => (jsxs("div", { className: "first:pt-2xl pt-xl last:pb-2xl", children: [label ? jsx("h4", { className: labelStyle(isFillGradient), children: label }) : null, description ? jsx("div", { className: descriptionStyle(isFillGradient), children: description }) : null] }, String(i)));
|
|
2542
2629
|
|
|
2543
2630
|
const titleStyle = (isLastRow = false) => `text-s py-7 ${DIVIDER_CLASSES$1} ${FIRST_CELL_CLASSES$1} ${isLastRow ? 'border-b-0' : 'border-solid'}`;
|
|
2544
2631
|
const TableRow = JSX(({ row: { header, data }, activeIndex, isColoredFirstColumn, isFirstRow, isLastRow }) => (jsxs(TableRowContainer, { children: [header?.title ? jsx("div", { className: titleStyle(isLastRow), children: header.title }) : null, data?.length ? (jsx(TableCarouselContainer, { activeIndex: activeIndex, columnWidth: COLUMN_WIDTH$2, children: data.map((cell, i) => (jsx(TableCell, { cell: cell, isFirstRow: isFirstRow, isLastRow: isLastRow, isFillGradient: isColoredFirstColumn && i === 0 }, String(i)))) })) : null] })));
|
|
@@ -2548,7 +2635,7 @@
|
|
|
2548
2635
|
return (jsxs("div", { className: "relative", children: [rowData.map((row, i, { length }) => (jsx(TableRow, { row: row, isFirstRow: i === 0, isLastRow: i + 1 === length, activeIndex: activeIndex, isColoredFirstColumn: isColoredFirstColumn }, String(i)))), isScrollAvailable
|
|
2549
2636
|
? renderArrows({
|
|
2550
2637
|
...controls,
|
|
2551
|
-
btnClass: ['top-
|
|
2638
|
+
btnClass: ['top-28', 'top-12'],
|
|
2552
2639
|
className: 'right-7',
|
|
2553
2640
|
isDisabled: true,
|
|
2554
2641
|
})
|
|
@@ -2569,21 +2656,21 @@
|
|
|
2569
2656
|
visibleItemCount: COLS_LENGTH_FOR_SCROLL$1,
|
|
2570
2657
|
});
|
|
2571
2658
|
const { isScrollAvailable } = controls;
|
|
2572
|
-
return (jsxs("div", { children: [jsxs("div", { role: "table", children: [colHeaders?.length ? (jsx(ComparisonTableColumnHeaders, { colHeaders: colHeaders, activeIndex: activeIndex })) : null, rowData?.length ? (jsx(ComparisonTableRows, { rowData: rowData, isColoredFirstColumn: isColoredFirstColumn, activeIndex: activeIndex, controls: controls })) : null] }), isScrollAvailable ? (jsx("div", { className: "absolute top-0 right-0 bottom-0 w-
|
|
2659
|
+
return (jsxs("div", { children: [jsxs("div", { role: "table", children: [colHeaders?.length ? (jsx(ComparisonTableColumnHeaders, { colHeaders: colHeaders, activeIndex: activeIndex })) : null, rowData?.length ? (jsx(ComparisonTableRows, { rowData: rowData, isColoredFirstColumn: isColoredFirstColumn, activeIndex: activeIndex, controls: controls })) : null] }), isScrollAvailable ? (jsx("div", { className: "absolute top-0 right-0 bottom-0 w-20 bg-opacity-to-white" })) : null] }));
|
|
2573
2660
|
});
|
|
2574
2661
|
|
|
2575
2662
|
const ComparisonTable = JSX(({ className = '', title, rowHeaders, columns, visibleRowLength = 0, isColoredFirstColumn = false, ...rest }) => {
|
|
2576
2663
|
const [isShowAllRow, setIsShowAllRow] = useState(!visibleRowLength);
|
|
2577
2664
|
const handleToggle = useCallback(() => setIsShowAllRow((_) => !_), []);
|
|
2578
|
-
return (jsxs(BlockWrapper, { className: style('overflow-hidden relative', className), defaultPadding: "p-
|
|
2665
|
+
return (jsxs(BlockWrapper, { className: style('overflow-hidden relative', className), defaultPadding: "p-6xl", ...rest, children: [jsx(Heading, { headingType: "h2", className: "max-w-[47rem] text-center mb-9 mx-auto", title: title }), jsx(ComparisonTableBody, { columns: columns, rowHeaders: rowHeaders, isShowAllRow: isShowAllRow, isColoredFirstColumn: isColoredFirstColumn, visibleRowLength: visibleRowLength }), visibleRowLength
|
|
2579
2666
|
? renderShowMoreToggleButton({ isShowAllRow, onClick: handleToggle })
|
|
2580
2667
|
: null] }));
|
|
2581
2668
|
});
|
|
2582
|
-
const renderShowMoreToggleButton = ({ isShowAllRow, onClick, }) => (jsx("div", { className: "pr-
|
|
2669
|
+
const renderShowMoreToggleButton = ({ isShowAllRow, onClick, }) => (jsx("div", { className: "pr-6xl", children: jsxs("div", { className: "flex w-full", children: [jsx("div", { className: FIRST_CELL_CLASSES$1 }), jsx("button", { onClick: onClick, className: "mt-m py-xs flex-1 border-gray border-solid border text-primary-text bg-white hover:border-primary-main hover:text-primary-main", children: jsx(Text, { size: "text-xs", font: "font-medium", children: !isShowAllRow ? 'Показать все параметры' : 'Скрыть' }) })] }) }));
|
|
2583
2670
|
|
|
2584
|
-
const ContactsBlock = JSX(({ className, contacts, info, version = 'secondary', ...rest }) => (jsxs(BlockWrapper, { className: style('flex', className), defaultPadding: "p-
|
|
2671
|
+
const ContactsBlock = JSX(({ className, contacts, info, version = 'secondary', ...rest }) => (jsxs(BlockWrapper, { className: style('flex', className), defaultPadding: "p-6xl", version: version, ...rest, children: [info?.length ? renderBlocks(info) : null, contacts?.length ? renderBlocks(contacts) : null] })));
|
|
2585
2672
|
const renderBlocks = (info) => (jsx("div", { className: "flex grow basis-0", children: info.map((column, index) => renderBlocksColumn({ column, index })) }));
|
|
2586
|
-
const renderBlocksColumn = ({ column, index }) => column ? (jsx("div", { className: "flex flex-col grow basis-0 pr-11 last:pr-0", children: column.map(({ title = '', description, additionalDescription, button }, key) => (jsxs("div", { className: "mt-
|
|
2673
|
+
const renderBlocksColumn = ({ column, index }) => column ? (jsx("div", { className: "flex flex-col grow basis-0 pr-11 last:pr-0", children: column.map(({ title = '', description, additionalDescription, button }, key) => (jsxs("div", { className: "mt-xl first:mt-0", children: [jsx(Headline, { title: title, description: description, headlineVersion: "XS", align: "text-left", isPadding: false }), additionalDescription ? (jsx("div", { className: "mt-xs opacity-80", children: jsx(Paragraph, { size: "text-m", font: "font-light", children: additionalDescription }) })) : null, button?.href ? jsx(Button, { className: "mt-xl", ...button }) : null] }, String(key)))) }, `col-${String(index)}`)) : null;
|
|
2587
2674
|
|
|
2588
2675
|
const isEmpty = (v) => v === null ||
|
|
2589
2676
|
v === undefined ||
|
|
@@ -2645,7 +2732,7 @@
|
|
|
2645
2732
|
}, renderFoldButton: ({ isUnfolded, onToggle }) => (jsx(DefaultFoldButton, { className: style(topItemsCount < 1 ? 'hidden' : ''), disabled: !hiddenBlocks?.length, label: label, icon: ICONS[Number(isUnfolded)], dataTheme: rest.options?.page?.colorPalette, onClick: onToggle })) })] })] }));
|
|
2646
2733
|
});
|
|
2647
2734
|
function renderNotFound({ title, description }) {
|
|
2648
|
-
return (jsxs("div", { className: "bg-white py-20", children: [title ? (jsx("div", { className: "mb-
|
|
2735
|
+
return (jsxs("div", { className: "bg-white py-20", children: [title ? (jsx("div", { className: "mb-xs", children: jsx(Paragraph, { align: "text-center", children: jsx(Text, { size: "text-h4", children: title }) }) })) : null, description ? (jsx(Paragraph, { size: "text-xl", font: "font-light", align: "text-center", children: description })) : null] }));
|
|
2649
2736
|
}
|
|
2650
2737
|
|
|
2651
2738
|
const SlideCheckboxGroup = JSX(({ value, onChange, items = [], multiple }) => {
|
|
@@ -2734,14 +2821,14 @@
|
|
|
2734
2821
|
RUB: 'RoundRubleIcon',
|
|
2735
2822
|
};
|
|
2736
2823
|
const renderCurrencyRow$1 = ({ title, buyPrice, buyDifference, sellPrice, sellDifference, buyOfficeName, sellOfficeName, }) => {
|
|
2737
|
-
return (jsxs("tr", { className: "pb-1 text-h6", children: [jsx("td", { className: "pt-4", children: jsxs("div", { className: "flex items-center", children: [title ? (jsx(Img, { image: { icon: CURRENCY_ICONS_MAP$1[title] }, width: "24", height: "24" })) : null, jsx("span", { className: "ml-
|
|
2824
|
+
return (jsxs("tr", { className: "pb-1 text-h6", children: [jsx("td", { className: "pt-4", children: jsxs("div", { className: "flex items-center", children: [title ? (jsx(Img, { image: { icon: CURRENCY_ICONS_MAP$1[title] }, width: "24", height: "24" })) : null, jsx("span", { className: "ml-xs", children: title })] }) }), renderCurrency(buyPrice, buyDifference), renderCurrency(sellPrice, sellDifference), renderOffice(buyPrice, buyOfficeName), renderOffice(sellPrice, sellOfficeName)] }, title));
|
|
2738
2825
|
};
|
|
2739
2826
|
const formatCurrency$1 = (value) => (value ? currencyNumberFormat$1.format(value) : '');
|
|
2740
2827
|
const renderCurrency = (price, difference) => {
|
|
2741
|
-
return (jsxs("td", { className: "pt-
|
|
2828
|
+
return (jsxs("td", { className: "pt-m pl-5xl", children: [jsx("div", { children: formatCurrency$1(price) }), jsx("div", { className: style('font-normal text-sm text-secondary-text', (difference || 0) >= 0 ? 'text-green' : 'text-red'), children: formatCurrency$1(difference) })] }));
|
|
2742
2829
|
};
|
|
2743
2830
|
const renderOffice = (price, officeName = '') => {
|
|
2744
|
-
return (jsxs("td", { className: "pt-
|
|
2831
|
+
return (jsxs("td", { className: "pt-m pl-5xl", children: [jsx("div", { children: formatCurrency$1(price) }), jsx("div", { className: "font-normal text-sm text-green", children: officeName })] }));
|
|
2745
2832
|
};
|
|
2746
2833
|
const currencyNumberFormat$1 = new Intl.NumberFormat('ru', {
|
|
2747
2834
|
style: 'currency',
|
|
@@ -2749,12 +2836,12 @@
|
|
|
2749
2836
|
});
|
|
2750
2837
|
|
|
2751
2838
|
const renderTableHeader = (title) => {
|
|
2752
|
-
return (jsx("th", { className: "pl-
|
|
2839
|
+
return (jsx("th", { className: "pl-5xl", children: jsx(Text, { size: "text-m", font: "font-light", align: "text-left", color: "text-secondary-text", children: title }) }));
|
|
2753
2840
|
};
|
|
2754
2841
|
|
|
2755
2842
|
const ExchangeRateOffice = JSX(({ className, currencies = [], actuality = '', officeName = '', ...rest }) => {
|
|
2756
2843
|
const fourRates = topNRates(currencies, 4);
|
|
2757
|
-
return (jsxs(BlockWrapper, { className: className, ...rest, children: [jsxs("div", { className: "flex flex-row flex-grow-0 justify-between
|
|
2844
|
+
return (jsxs(BlockWrapper, { className: style('space-y-3xl', className), ...rest, children: [jsxs("div", { className: "flex flex-row flex-grow-0 justify-between space-y-lg", children: [jsx(Heading, { headingType: "h4", title: 'Курс обмена валют в ' + officeName, className: "whitespace-pre-wrap text-h4" }), jsx("div", { className: "pl-6xl", children: jsx(Text, { size: "text-m", font: "font-light", align: "text-left", color: "text-secondary-text", children: actuality }) })] }), jsx("div", { className: "flex flex-row pt-m text-left", children: fourRates.length > 0 ? (jsxs("table", { className: style('h-fit w-fit', className), children: [jsx("thead", { children: jsxs("tr", { children: [jsx("th", { children: jsx(Text, { size: "text-m", font: "font-light", align: "text-left", color: "text-secondary-text", children: "\u0412\u0430\u043B\u044E\u0442\u0430" }) }), renderTableHeader('Купить'), renderTableHeader('Продать'), renderTableHeader('Лучшая покупка'), renderTableHeader('Лучшая продажа')] }) }), jsx("tbody", { children: fourRates.map((item) => renderCurrencyRow$1(item)) })] })) : null })] }));
|
|
2758
2845
|
});
|
|
2759
2846
|
const topNRates = (rates, n) => rates.sort((a, b) => Number(a.id) - Number(b.id)).slice(0, n);
|
|
2760
2847
|
|
|
@@ -2772,18 +2859,19 @@
|
|
|
2772
2859
|
const formatCurrency = (value) => (value ? currencyNumberFormat.format(value) : '');
|
|
2773
2860
|
|
|
2774
2861
|
const TABLE_HEAD_STYLE = 'text-left text-m font-light text-secondary-text';
|
|
2775
|
-
const
|
|
2862
|
+
const TABLE_HEAD_STYLE_WITH_PADDING = `${TABLE_HEAD_STYLE} pl-5xl`;
|
|
2776
2863
|
const CURRENCY_ICONS_MAP = {
|
|
2777
2864
|
USD: 'DollarIcon',
|
|
2778
2865
|
EUR: 'EuroIcon',
|
|
2779
2866
|
};
|
|
2780
|
-
const CurrencyTable = JSX(({ className, exchangeCurrencyItems }) => (jsxs("table", { className: `h-fit w-fit ${className}`, children: [jsx("thead", { children: jsxs("tr", { children: [jsx("th", { className: TABLE_HEAD_STYLE, children: "\u0412\u0430\u043B\u044E\u0442\u0430" }), jsx("th", { className:
|
|
2867
|
+
const CurrencyTable = JSX(({ className, exchangeCurrencyItems }) => (jsxs("table", { className: `h-fit w-fit ${className}`, children: [jsx("thead", { children: jsxs("tr", { children: [jsx("th", { className: TABLE_HEAD_STYLE, children: jsx(Text, { size: "text-m", children: "\u0412\u0430\u043B\u044E\u0442\u0430" }) }), jsx("th", { className: TABLE_HEAD_STYLE_WITH_PADDING, children: jsx(Text, { size: "text-m", children: "\u041A\u0443\u043F\u0438\u0442\u044C" }) }), jsx("th", { className: TABLE_HEAD_STYLE_WITH_PADDING, children: jsx(Text, { size: "text-m", children: "\u041F\u0440\u043E\u0434\u0430\u0442\u044C" }) })] }) }), jsx("tbody", { children: exchangeCurrencyItems.map(renderCurrencyRow) })] })));
|
|
2781
2868
|
const renderCurrencyRow = (exchangeCurrencyItem) => {
|
|
2782
2869
|
const currency = exchangeCurrencyItem?.currency?.currency;
|
|
2783
|
-
return (jsxs("tr", { className: "pb-
|
|
2870
|
+
return (jsxs("tr", { className: "pb-2xs text-h6", children: [jsx("td", { className: "pt-m", children: jsxs("div", { className: "flex items-center", children: [currency ? (jsx(Img, { image: { icon: CURRENCY_ICONS_MAP[currency] }, width: "24", height: "24", className: "mr-2" })) : null, jsx(Text, { size: "text-h6", children: currency })] }) }), jsx("td", { className: "pt-m pl-5xl", children: jsx(Text, { size: "text-h6", children: formatCurrency(exchangeCurrencyItem?.saleExchangeRate) }) }), jsx("td", { className: "pt-m pl-5xl", children: jsx(Text, { size: "text-h6", children: formatCurrency(exchangeCurrencyItem?.buyExchangeRate) }) })] }, currency));
|
|
2784
2871
|
};
|
|
2785
2872
|
|
|
2786
|
-
const
|
|
2873
|
+
const icon = { icon: 'GpsIcon' };
|
|
2874
|
+
const CurrentLocation$1 = JSX(({ className = '', address }) => (jsxs("div", { className: `flex gap-s ${className}`, children: [jsx(RoundedIcon, { ...icon, iconBgVersion: "primary" }), jsxs("div", { className: "space-y-2xs", children: [address ? jsx("p", { className: "text-primary-main text-l", children: address }) : null, jsx("p", { className: "text-secondary-text text-m", children: "\u041A\u0443\u0440\u0441 \u0443\u043A\u0430\u0437\u0430\u043D \u0434\u043B\u044F \u0437\u0430\u0434\u0430\u043D\u043D\u043E\u0433\u043E \u043E\u0444\u0438\u0441\u0430" })] })] })));
|
|
2787
2875
|
|
|
2788
2876
|
const roundTo = (value, precision = 2) => {
|
|
2789
2877
|
const factor = 10 ** precision;
|
|
@@ -2831,7 +2919,7 @@
|
|
|
2831
2919
|
selectBuy: currencyRatesSell?.[0]?.currency?.currency || Currency.USD,
|
|
2832
2920
|
});
|
|
2833
2921
|
const handleSetCalcState = useCallback((newState) => setCalcState((oldState) => ({ ...oldState, ...newState })), []);
|
|
2834
|
-
return (jsxs("div", { className: `grid gap-
|
|
2922
|
+
return (jsxs("div", { className: `grid gap-m pt-2xl ${className}`, children: [renderInput({
|
|
2835
2923
|
placeholder: 'Хочу продать',
|
|
2836
2924
|
rates: currencyRatesSell,
|
|
2837
2925
|
selected: calcState.selectSell,
|
|
@@ -2926,7 +3014,7 @@
|
|
|
2926
3014
|
currencyRatesBuy.unshift({ currency: { currency: Currency.RUB } });
|
|
2927
3015
|
const currencyRatesSell = currencyRates.filter((_) => _.saleExchangeRate);
|
|
2928
3016
|
currencyRatesSell.push({ currency: { currency: Currency.RUB } });
|
|
2929
|
-
return (jsx(BlockWrapper, { className: style('box-border min-h-80', className), ...rest, children: jsx(BaseTile, { className: "h-full", title: jsx(Heading, { headingType: "h4", title: title, className: "whitespace-pre-wrap" }), children: jsxs("div", { className: "flex gap-
|
|
3017
|
+
return (jsx(BlockWrapper, { className: style('box-border min-h-80', className), ...rest, children: jsx(BaseTile, { className: "h-full", title: jsx(Heading, { headingType: "h4", title: title, className: "whitespace-pre-wrap" }), children: jsxs("div", { className: "flex gap-6xl flex-wrap", children: [jsxs("div", { children: [currencyRates ? (jsx(CurrencyTable, { className: "mb-xl", exchangeCurrencyItems: currencyRates })) : null, jsx(CurrentLocation$1, { address: exchangeRates?.address })] }), currencyRates.length && currencyRatesBuy.length && currencyRatesSell.length ? (jsx(ExchangeCurrencyCalculator, { className: "grow", currencyRatesBuy: currencyRatesBuy, currencyRatesSell: currencyRatesSell, button: button })) : null] }) }) }));
|
|
2930
3018
|
});
|
|
2931
3019
|
const getCurrencyRates = (currencies) => {
|
|
2932
3020
|
return currencies?.filter((_) => _?.currency?.id === 1 || _?.currency?.id === 2) || [];
|
|
@@ -2959,11 +3047,11 @@
|
|
|
2959
3047
|
'bg-white': 'text-primary-text',
|
|
2960
3048
|
transparent: 'text-white',
|
|
2961
3049
|
};
|
|
2962
|
-
const renderTitle
|
|
2963
|
-
return (jsx("span", { className: `${TEXT_COLOR[bgColor]} ml-
|
|
3050
|
+
const renderTitle = (title, bgColor, className) => {
|
|
3051
|
+
return (jsx("span", { className: `${TEXT_COLOR[bgColor]} ml-s font-medium ${className || ''}`, children: title || 'Россельхозбанк' }));
|
|
2964
3052
|
};
|
|
2965
3053
|
|
|
2966
|
-
const Logo = JSX(({ className = '', href = '/', logo, children = logo?.title, targetBlank, bgColor = 'bg-white', showTitle = true, }) => (jsxs("a", { className: style('inline-flex items-center font-sans no-underline', className), href: href, target: targetBlank ? '_blank' : '_self', "aria-label": logo?.title || 'Россельхозбанк', children: [renderImage$1(bgColor, logo?.image, { width: '40', height: '45' }), showTitle ? renderTitle
|
|
3054
|
+
const Logo = JSX(({ className = '', href = '/', logo, children = logo?.title, targetBlank, bgColor = 'bg-white', showTitle = true, }) => (jsxs("a", { className: style('inline-flex items-center font-sans no-underline', className), href: href, target: targetBlank ? '_blank' : '_self', "aria-label": logo?.title || 'Россельхозбанк', children: [renderImage$1(bgColor, logo?.image, { width: '40', height: '45' }), showTitle ? renderTitle(children || logo?.title, bgColor) : null] })));
|
|
2967
3055
|
|
|
2968
3056
|
const CloseButton = JSX(({ className, onClick }) => (jsx("button", { className: style('flex justify-center items-center w-12 h-12 p-1 bg-transparent border-none', className), onClick: onClick, title: "\u0417\u0430\u043A\u0440\u044B\u0442\u044C", children: jsx(Img, { image: { icon: 'CloseIcon' }, width: "24", height: "24" }) })));
|
|
2969
3057
|
|
|
@@ -3150,7 +3238,7 @@
|
|
|
3150
3238
|
globalThis.document?.removeEventListener('keydown', handleEscape);
|
|
3151
3239
|
};
|
|
3152
3240
|
}, [onClose]);
|
|
3153
|
-
return isOpened ? (jsx("div", { className: style('fixed inset-0 bg-white text-l font-light z-50 overflow-x-hidden overflow-y-scroll no-scrollbar', className), role: "dialog", children: jsxs("div", { className: "relative container pb-
|
|
3241
|
+
return isOpened ? (jsx("div", { className: style('fixed inset-0 bg-white text-l font-light z-50 overflow-x-hidden overflow-y-scroll no-scrollbar', className), role: "dialog", children: jsxs("div", { className: "relative container pb-6xl min-h-full", children: [jsxs("div", { className: "sticky bg-white pt-xl top-0", children: [jsx(CloseButton, { className: "absolute top-0 -right-6xl", onClick: onClose }), head] }), children] }) })) : null;
|
|
3154
3242
|
});
|
|
3155
3243
|
|
|
3156
3244
|
function useDialogProps(id, isOpenedOnInit = false) {
|
|
@@ -3204,7 +3292,7 @@
|
|
|
3204
3292
|
const handleChange = useCallback((ev) => {
|
|
3205
3293
|
onChange && onChange(ev.target?.value || '');
|
|
3206
3294
|
}, [onChange]);
|
|
3207
|
-
return (jsxs("div", { className: style('font-sans relative', className), role: "form", children: [jsx("div", { className: "absolute h-full flex items-center pl-
|
|
3295
|
+
return (jsxs("div", { className: style('font-sans relative', className), role: "form", children: [jsx("div", { className: "absolute h-full flex items-center pl-m pointer-events-none", children: jsx(Img, { image: { icon: 'LoupeIcon' }, width: "24", height: "24" }) }), jsx("input", { className: style('h-12 pl-12 w-full text-l text-black outline-none box-border', 'border border-solid rounded-md border-gray hover:border-primary-hover active:border-primary-text focus:border-primary-text'), value: value, type: "text", name: "search-bar-input", placeholder: "\u041F\u043E\u0438\u0441\u043A \u043F\u043E \u0441\u0430\u0439\u0442\u0443", autoFocus: autoFocus, onChange: handleChange, onFocus: onFocus })] }));
|
|
3208
3296
|
});
|
|
3209
3297
|
|
|
3210
3298
|
const SEARCH_DIALOG_ID = 'search';
|
|
@@ -3218,7 +3306,7 @@
|
|
|
3218
3306
|
});
|
|
3219
3307
|
const searchItems = useMemo(() => combineTopItemsAndSearchResult(topItems)(searchResult), [topItems, searchResult]);
|
|
3220
3308
|
useEffect(() => printSearchItems(searchItems), [searchItems]); // Temp
|
|
3221
|
-
return (jsx(Dialog, { ...dialogProps, head: jsx(SearchInput, {
|
|
3309
|
+
return (jsx(Dialog, { ...dialogProps, head: jsx(SearchInput, { autoFocus: true, ...searchInputProps }), children: jsx(Sitemap, { topItems: searchItems }) }));
|
|
3222
3310
|
});
|
|
3223
3311
|
const combineTopItemsAndSearchResult = (topItems) => (searchResult) => topItems?.length && searchResult?.length
|
|
3224
3312
|
? zip(topItems, searchResult).map(([_, portalSearchResult]) => ({
|
|
@@ -3251,9 +3339,9 @@
|
|
|
3251
3339
|
});
|
|
3252
3340
|
const isQueryLongEnough = (_) => _ && _.length >= MIN_QUERY_LEN;
|
|
3253
3341
|
|
|
3254
|
-
const Contacts = JSX(({ className = '', items, hasButton }) => (jsxs("div", { className: className, children: [items?.length ? items.map(renderContactsGroup) : null, hasButton ? (jsx(Button, { version: "primary", className: "mb-6 w-full", href: "https://www.rshb.ru/feedback/question/", target: "_blank", ariaLabel: "\u041E\u0431\u0440\u0430\u0442\u043D\u0430\u044F \u0441\u0432\u044F\u0437\u044C", text: "\u041E\u0431\u0440\u0430\u0442\u043D\u0430\u044F \u0441\u0432\u044F\u0437\u044C" })) : null] })));
|
|
3255
|
-
const renderContactsGroup = (item, i) => (jsxs("div", { className: "
|
|
3256
|
-
const renderContact = (item, index) => (jsxs("div", { className: "
|
|
3342
|
+
const Contacts = JSX(({ className = '', items, hasButton }) => (jsxs("div", { className: style('space-y-xl', className), children: [items?.length ? items.map(renderContactsGroup) : null, hasButton ? (jsx(Button, { version: "primary", className: "mb-6 w-full", href: "https://www.rshb.ru/feedback/question/", target: "_blank", ariaLabel: "\u041E\u0431\u0440\u0430\u0442\u043D\u0430\u044F \u0441\u0432\u044F\u0437\u044C", text: "\u041E\u0431\u0440\u0430\u0442\u043D\u0430\u044F \u0441\u0432\u044F\u0437\u044C" })) : null] })));
|
|
3343
|
+
const renderContactsGroup = (item, i) => (jsxs("div", { className: "space-y-m", children: [jsx("div", { className: "", children: jsx(Text, { size: "text-l", font: "font-medium", children: item?.title }) }), jsx("div", { className: "space-y-m", children: item.items?.map(renderContact) })] }, String(i)));
|
|
3344
|
+
const renderContact = (item, index) => (jsxs("div", { className: "space-y-2xs", children: [jsx("div", { children: renderText(item.type, item.text) }), jsx("div", { className: "text-s font-light text-secondary-text", children: item.description })] }, String(index)));
|
|
3257
3345
|
const renderText = (type, text = '') => {
|
|
3258
3346
|
switch (type) {
|
|
3259
3347
|
case 'tel':
|
|
@@ -3287,14 +3375,12 @@
|
|
|
3287
3375
|
const TextInformation = JSX(({ className = '', links }) => (jsxs("div", { className: className, children: [jsx("div", { className: "pt-4 xl:pt-5", children: jsx(Text, { size: "text-xs", font: "font-light", color: "text-secondary-text", children: `\u00a9\u00A02000-${new Date().getFullYear()}\u00A0АО \u00ABРоссельхозбанк\u00BB Генеральная лицензия Банка России \u2116\u00A03349 от\u00A012.08.2015\u00A0г.` }) }), links?.length ? (jsx("div", { className: "flex justify-start items-start gap-5 pt-4", children: links.map((_, i) => (jsx(TextInformationLink, { index: i, ..._ }, String(i)))) })) : null] })));
|
|
3288
3376
|
|
|
3289
3377
|
const LEFT_COL_WIDTH_FULL_HD = 'w-[204px]';
|
|
3290
|
-
const Footer = JSX(({ className
|
|
3291
|
-
const
|
|
3292
|
-
|
|
3293
|
-
const { documents, relatedEnterprises, contacts, socialMedia, mobileApps, logo } = useSWRResource(projectSettings.FOOTER || 'footer', fallback);
|
|
3294
|
-
return (jsxs(BlockWrapper, { tag: "footer", className: className, ...rest, children: [jsxs("div", { className: "flex items-stretch gap-[54px] pb-8 xl:gap-8", children: [jsx(Logo, { className: LEFT_COL_WIDTH_FULL_HD, logo: logo }), jsx(SearchBar$1, { className: "grow" })] }), jsxs("div", { className: "flex items-stretch gap-[54px] xl:gap-8", children: [jsxs("div", { className: `${LEFT_COL_WIDTH_FULL_HD} flex flex-col shrink-0 overflow-hidden`, children: [jsx(Contacts, { items: contacts, hasButton: true }), jsx(SocialMedia, { media: socialMedia, children: "\u0421\u043E\u0446\u0441\u0435\u0442\u0438" }), jsx(SocialMedia, { className: "mt-6", media: mobileApps, children: "\u041C\u043E\u0431\u0438\u043B\u044C\u043D\u043E\u0435 \u043F\u0440\u0438\u043B\u043E\u0436\u0435\u043D\u0438\u0435" })] }), jsx(Sitemap, { className: "flex-grow", topItems: sitemap?.topItems })] }), jsx(HorizontalNavigation, { className: "mt-[98px]", links: relatedEnterprises }), jsx(TextInformation, { links: documents })] }));
|
|
3378
|
+
const Footer = JSX(({ className, sitemap, ...rest }) => {
|
|
3379
|
+
const { documents, relatedEnterprises, contacts, socialMedia, mobileApps, logo } = useSWRResource(projectSettings.FOOTER || 'footer', rest.options?.page?.fallback);
|
|
3380
|
+
return (jsxs(BlockWrapper, { tag: "footer", className: className, ...rest, children: [jsxs("div", { className: "flex items-stretch gap-6xl xl:gap-3xl pb-3xl ", children: [jsx(Logo, { className: LEFT_COL_WIDTH_FULL_HD, logo: logo }), jsx(SearchBar$1, { className: "grow" })] }), jsxs("div", { className: "flex items-stretch gap-6xl xl:gap-3xl", children: [jsxs("div", { className: `${LEFT_COL_WIDTH_FULL_HD} flex flex-col shrink-0 overflow-hidden space-y-xl`, children: [jsx(Contacts, { items: contacts, hasButton: true }), jsx(SocialMedia, { media: socialMedia, children: "\u0421\u043E\u0446\u0441\u0435\u0442\u0438" }), jsx(SocialMedia, { media: mobileApps, children: "\u041C\u043E\u0431\u0438\u043B\u044C\u043D\u043E\u0435 \u043F\u0440\u0438\u043B\u043E\u0436\u0435\u043D\u0438\u0435" })] }), jsx(Sitemap, { className: "flex-grow", topItems: sitemap?.topItems })] }), jsx(HorizontalNavigation, { className: "mt-24", links: relatedEnterprises }), jsx(TextInformation, { links: documents })] }));
|
|
3295
3381
|
});
|
|
3296
3382
|
|
|
3297
|
-
const GracePeriod = JSX(({ className = '', title, description, calendar, ...rest }) => (jsxs(BlockWrapper, { className: className, defaultPadding: "p-
|
|
3383
|
+
const GracePeriod = JSX(({ className = '', title, description, calendar, ...rest }) => (jsxs(BlockWrapper, { className: className, defaultPadding: "p-6xl", ...rest, children: [jsx(Headline, { className: "mb-4", title: title, description: description, headlineVersion: "M", isPadding: false }), calendar ? renderCalendar(calendar) : null] })));
|
|
3298
3384
|
const renderCalendar = (calendar) => {
|
|
3299
3385
|
const colCount = calendar.reduce((accumulator, currentValue) => currentValue?.month?.length ? accumulator + currentValue.month.length : accumulator, 0) || 1;
|
|
3300
3386
|
const colSize = 100 / colCount;
|
|
@@ -3305,61 +3391,27 @@
|
|
|
3305
3391
|
// Condition lower is always true, TS does not understand this, notice filter above
|
|
3306
3392
|
flexBasis: `${_?.month?.length ? _.month.length * colSize : ''}%`,
|
|
3307
3393
|
}));
|
|
3308
|
-
return (jsxs("div", { className: "w-full flex flex-col justify-center mt-13", children: [jsx("div", { className: "flex w-full mb-3 text-h6 text-center", children: mappedCalendar.map((_) => renderMonthNames(_, colSize)) }), jsx("div", { className: "flex w-full", children: mappedCalendar.map((_, ind) => (jsxs("div", { className: "pr-
|
|
3394
|
+
return (jsxs("div", { className: "w-full flex flex-col justify-center mt-13", children: [jsx("div", { className: "flex w-full mb-3 text-h6 text-center", children: mappedCalendar.map((_) => renderMonthNames(_, colSize)) }), jsx("div", { className: "flex gap-s w-full", children: mappedCalendar.map((_, ind) => (jsxs("div", { className: "pr-s border-r border-main-divider last:border-r-0 last:pr-0", style: { flexBasis: _.flexBasis }, children: [jsx("div", { className: "flex", children: renderMonthImages(_) }), jsxs("div", { className: "text-s font-light text-primary-text mt-s", children: [jsx("span", { children: _.text }), "\u2009", jsx("span", { className: "text-primary-main", children: _.greenText })] })] }, `monthItem-${ind}`))) })] }));
|
|
3309
3395
|
};
|
|
3310
3396
|
const renderMonthNames = (item, colSize) => item.month?.map((_, i) => (jsx("div", { style: { flexBasis: `${colSize}%` }, children: _.text }, `monthName-${i}`)));
|
|
3311
3397
|
const renderMonthImages = (item) => item.month?.map((_) => _.image?.src ? (jsx("div", { className: "h-[207px] border-r pr-3 mr-3 border-main-divider last:border-r-0 last:pr-0 last:mr-0", children: jsx(Img, { image: _.image, className: "flex" }) }, `monthImage-${_.image.src}`)) : null);
|
|
3312
3398
|
|
|
3313
|
-
const STORAGE_DEFAULT_TTL = 86400000; // 24 * 60 * 60 * 1000
|
|
3314
|
-
function useCachedAsyncData(key, fetcher, storage = globalThis?.localStorage) {
|
|
3315
|
-
const cachedFetcher = useCallback(async (...args) => {
|
|
3316
|
-
const storageKey = `async:${key}`;
|
|
3317
|
-
const storageData = storage.getItem(storageKey);
|
|
3318
|
-
const cachedData = getParsedData(storageData);
|
|
3319
|
-
if (cachedData) {
|
|
3320
|
-
return cachedData;
|
|
3321
|
-
}
|
|
3322
|
-
const data = await fetcher(...args);
|
|
3323
|
-
storage.setItem(storageKey, JSON.stringify({ data, timestamp: Date.now() }));
|
|
3324
|
-
return data;
|
|
3325
|
-
}, [key, fetcher]);
|
|
3326
|
-
return useAsyncData(key, cachedFetcher);
|
|
3327
|
-
}
|
|
3328
|
-
function getParsedData(storageData) {
|
|
3329
|
-
const { data = null, timestamp = null } = storageData ? JSON.parse(storageData) : {};
|
|
3330
|
-
return data && Date.now() - timestamp < STORAGE_DEFAULT_TTL ? data : undefined;
|
|
3331
|
-
}
|
|
3332
|
-
|
|
3333
|
-
const REGION_URL = '/api/v1/region';
|
|
3334
|
-
function useLocation(defaultLocation = 'Москва') {
|
|
3335
|
-
const currentLocation = getLocalStorageLocation();
|
|
3336
|
-
const [location, setLocation] = useState(currentLocation?.region ?? { name: defaultLocation });
|
|
3337
|
-
const { data } = useCachedAsyncData(REGION_URL, fetchJSONUnsafe);
|
|
3338
|
-
useEffect(() => {
|
|
3339
|
-
setLocation(currentLocation?.region && currentLocation?.manual
|
|
3340
|
-
? currentLocation.region
|
|
3341
|
-
: data || { name: defaultLocation });
|
|
3342
|
-
}, [data]);
|
|
3343
|
-
const onChangeLocation = useCallback((region) => {
|
|
3344
|
-
globalThis.localStorage?.setItem('location', JSON.stringify({ manual: true, region }));
|
|
3345
|
-
setLocation(region);
|
|
3346
|
-
}, []);
|
|
3347
|
-
return [location, onChangeLocation];
|
|
3348
|
-
}
|
|
3349
|
-
const getLocalStorageLocation = () => {
|
|
3350
|
-
const localStorageLocation = globalThis.localStorage?.getItem('location');
|
|
3351
|
-
try {
|
|
3352
|
-
return localStorageLocation ? JSON.parse(localStorageLocation) : null;
|
|
3353
|
-
}
|
|
3354
|
-
catch (_) {
|
|
3355
|
-
return null;
|
|
3356
|
-
}
|
|
3357
|
-
};
|
|
3358
|
-
|
|
3359
3399
|
const isHrefActive = (router) => ({ href }) => withoutQuery(isURL(href) ? router.href : router.pathname).startsWith(withoutQuery(href));
|
|
3360
3400
|
|
|
3361
3401
|
const isTopItemActive = (router) => isHrefActive(projectSettings.BASE_PATH ? { pathname: projectSettings.BASE_PATH } : router);
|
|
3362
3402
|
|
|
3403
|
+
const TopItem = JSX(({ className = '', active, flat, children, ...rest }) => {
|
|
3404
|
+
const link = useLink({ isRemote: true });
|
|
3405
|
+
const { href, target, text, onClick } = link(rest);
|
|
3406
|
+
return (jsx("a", { className: style(getLinkStyle(active, flat), className), href: href, target: target, onClick: onClick, rel: "noopener noreferrer", "aria-label": text, children: jsx("span", { className: getTextStyle$1(active, flat), children: text || children }) }));
|
|
3407
|
+
});
|
|
3408
|
+
const getLinkStyle = (active = false, flat = false) => style('inline-block border border-solid bg-transparent text-center no-underline', active
|
|
3409
|
+
? 'rounded-md border-primary-main group-data-transparent:border-white'
|
|
3410
|
+
: 'border-transparent', flat ? '' : 'px-4 py-2');
|
|
3411
|
+
const getTextStyle$1 = (active = false, flat = false) => style('font-sans text-s font-light', active
|
|
3412
|
+
? 'text-primary-main'
|
|
3413
|
+
: style(flat ? 'text-primary-text' : 'text-secondary-text', 'hover:text-primary-main'), 'group-data-transparent:text-white group-data-transparent:hover:text-primary-hover');
|
|
3414
|
+
|
|
3363
3415
|
const REGIONS_URL = '/api/v1/regions';
|
|
3364
3416
|
function useRegions() {
|
|
3365
3417
|
const { data } = useAsyncData(REGIONS_URL, fetchJSONUnsafe);
|
|
@@ -3377,7 +3429,7 @@
|
|
|
3377
3429
|
};
|
|
3378
3430
|
|
|
3379
3431
|
const SearchBar = JSX(({ className, searchTerm, onSearch }) => {
|
|
3380
|
-
return (jsxs("form", { className: `font-sans relative ${className}`, children: [jsx("div", { className: "absolute rounded h-full flex items-center justify-center pl-4 max-w-
|
|
3432
|
+
return (jsxs("form", { className: `font-sans relative ${className}`, children: [jsx("div", { className: "absolute rounded h-full flex items-center justify-center pl-4 max-w-44 gap-3.5 pointer-events-none", children: searchTerm ? null : (jsx("label", { htmlFor: "search-bar-input", className: `text-secondary-text `, children: "\u041F\u043E\u0438\u0441\u043A \u043F\u043E \u0444\u0438\u043B\u0438\u0430\u043B\u0430\u043C" })) }), jsx("input", { id: "search-bar-input", className: `h-12 pl-4 w-full peer text-l text-black border border-solid rounded-md box-border
|
|
3381
3433
|
outline-none border-gray hover:border-primary-hover active:border-primary-text focus:border-primary-text`, value: searchTerm, onChange: (e) => onSearch(e.target.value.toLowerCase()), type: "text", name: "location-search-bar-input" })] }));
|
|
3382
3434
|
});
|
|
3383
3435
|
|
|
@@ -3392,7 +3444,7 @@
|
|
|
3392
3444
|
dialogProps.onClose && dialogProps.onClose();
|
|
3393
3445
|
onChangeLocation && onChangeLocation(region);
|
|
3394
3446
|
}, [dialogProps.onClose, onChangeLocation]);
|
|
3395
|
-
return (jsxs(Dialog, { ...dialogProps, head: jsxs("div", { children: [jsx(CurrentLocation, { currentLocation: currentLocation, onChangeLocation: handleChangeLocation }), jsx(SearchBar, { onSearch: setQuery, searchTerm: query
|
|
3447
|
+
return (jsxs(Dialog, { ...dialogProps, head: jsxs("div", { children: [jsx(CurrentLocation, { currentLocation: currentLocation, onChangeLocation: handleChangeLocation }), jsx(SearchBar, { onSearch: setQuery, searchTerm: query })] }), children: [query && query.length >= SEARCH_TERM_MIN_LENGTH ? (jsx("div", { children: regions
|
|
3396
3448
|
.filter(({ name }) => name && jaroWinklerDistance(name.toLowerCase())(query.toLowerCase()) >= 0.8)
|
|
3397
3449
|
.map(renderRegion(handleChangeLocation)) })) : (jsx("div", { className: "columns-5", children: Array.from(regionsGroupByLetter.entries()).map(renderRegionGroup(handleChangeLocation)) })), jsx(ForeignOffices, { foreignOffices: foreignOffices })] }));
|
|
3398
3450
|
});
|
|
@@ -3404,29 +3456,17 @@
|
|
|
3404
3456
|
const CurrentLocation = JSX(({ currentLocation, onChangeLocation }) => currentLocation ? (jsxs("div", { className: "mb-4", children: [jsx(Text, { size: "text-l", font: "font-light", children: "\u0421\u0435\u0439\u0447\u0430\u0441 \u0432\u044B\u0431\u0440\u0430\u043D:\u00A0" }), jsx("button", { className: "cursor-pointer", onClick: () => {
|
|
3405
3457
|
onChangeLocation && onChangeLocation(currentLocation);
|
|
3406
3458
|
}, children: jsx(Text, { color: "text-primary-main", children: currentLocation.name }) })] })) : null);
|
|
3407
|
-
const renderRegionGroup = (onChangeLocation) => ([letter, regions]) => (jsxs("div", { className: "break-inside-avoid mb-
|
|
3408
|
-
const renderRegion = (onChangeLocation) => (region) => (jsx("div", { className: "mb-
|
|
3459
|
+
const renderRegionGroup = (onChangeLocation) => ([letter, regions]) => (jsxs("div", { className: "break-inside-avoid mb-2xl w-56", children: [jsx("div", { className: "mb-s", children: jsx(Text, { size: "text-h6", children: letter }) }), regions.map(renderRegion(onChangeLocation))] }, letter));
|
|
3460
|
+
const renderRegion = (onChangeLocation) => (region) => (jsx("div", { className: "mb-2xs", children: jsx("button", { className: "cursor-pointer hover:text-primary-hover", onClick: () => {
|
|
3409
3461
|
onChangeLocation && onChangeLocation(region);
|
|
3410
3462
|
}, children: region.name || '' }) }, region.id));
|
|
3411
|
-
const ForeignOffices = JSX(({ foreignOffices }) => foreignOffices?.length ? (jsxs("div", { className: "border-t border-main-divider mt-
|
|
3463
|
+
const ForeignOffices = JSX(({ foreignOffices }) => foreignOffices?.length ? (jsxs("div", { className: "border-t border-main-divider mt-2xs pt-2xs", children: [jsx("div", { className: "mb-m", children: jsx(Text, { size: "text-m", font: "font-light", color: "text-secondary-text", children: "\u041F\u0440\u0435\u0434\u0441\u0442\u0430\u0432\u0438\u0442\u0435\u043B\u044C\u0441\u0442\u0432\u0430 \u0437\u0430 \u0440\u0443\u0431\u0435\u0436\u043E\u043C:" }) }), jsx("div", { className: "flex gap-10", children: foreignOffices.map((office, i) => (jsx(ForeignOffice, { ...office }, String(i)))) })] })) : null);
|
|
3412
3464
|
const ForeignOffice = JSX(({ icon, ...rest }) => {
|
|
3413
3465
|
const link = useLink();
|
|
3414
3466
|
const { text, target, href, onClick } = link(rest);
|
|
3415
3467
|
return (jsxs("div", { className: "flex gap-x-3", children: [icon ? jsx(Img, { pathPrefix: "/wcms-resources/", image: icon }) : null, text ? (jsx("a", { className: "hover:text-primary-hover", href: href, target: target, onClick: onClick, children: text })) : null] }));
|
|
3416
3468
|
});
|
|
3417
3469
|
|
|
3418
|
-
const TopItem = JSX(({ className = '', active, flat, children, ...rest }) => {
|
|
3419
|
-
const link = useLink({ isRemote: true });
|
|
3420
|
-
const { href, target, text, onClick } = link(rest);
|
|
3421
|
-
return (jsx("a", { className: style(getLinkStyle(active, flat), className), href: href, target: target, onClick: onClick, rel: "noopener noreferrer", "aria-label": text, children: jsx("span", { className: getTextStyle$1(active, flat), children: text || children }) }));
|
|
3422
|
-
});
|
|
3423
|
-
const getLinkStyle = (active = false, flat = false) => style('inline-block border border-solid bg-transparent text-center no-underline', active
|
|
3424
|
-
? 'rounded-md border-primary-main group-data-transparent:border-white'
|
|
3425
|
-
: 'border-transparent', flat ? '' : 'px-4 py-2');
|
|
3426
|
-
const getTextStyle$1 = (active = false, flat = false) => style('font-sans text-s font-light', active
|
|
3427
|
-
? 'text-primary-main'
|
|
3428
|
-
: style(flat ? 'text-primary-text' : 'text-secondary-text', 'hover:text-primary-main'), 'group-data-transparent:text-white group-data-transparent:hover:text-primary-hover');
|
|
3429
|
-
|
|
3430
3470
|
const BUTTON_SIZE_STYLE = {
|
|
3431
3471
|
default: 'w-6 h-6',
|
|
3432
3472
|
large: 'w-12 h-12',
|
|
@@ -3559,7 +3599,7 @@
|
|
|
3559
3599
|
? handleIntersectionActivation(index)
|
|
3560
3600
|
: handleIntersectionDeactivation(index));
|
|
3561
3601
|
}), [subItems]);
|
|
3562
|
-
return (jsxs("nav", { className: "relative mt-
|
|
3602
|
+
return (jsxs("nav", { className: "relative mt-s flex items-center justify-between", children: [jsx("div", { ref: subItemsListRef, className: "overflow-hidden whitespace-nowrap pb-s mt-xs", children: subItems.map((_, i) => (jsx(HeaderSubMenuItem, { className: style('ml-3xl first:ml-0', visibleItemsCount - 1 < i ? 'invisible' : ''), active: _ === activeSubItem, observerOptions: observerOptions, onVisibilityChange: subItemsVisibilityHandlers[i], ..._ }, String(i)))) }), dropDownMenuItems.length ? (jsx(DropdownMenu, { className: "relative w-auto z-40", items: dropDownMenuItems, activeItem: activeSubItem })) : null, projectSettings.CHAT_BOT ? (jsx(HeaderChatBotButton, { className: "ml-9", iconVersion: iconVersion, chat: projectSettings.CHAT_BOT })) : null, jsx(InternetBankButton, { version: version, internetBankUrl: internetBankUrl })] }));
|
|
3563
3603
|
});
|
|
3564
3604
|
const handleIntersectionActivation = (index) => (prev) => Math.max(prev, index + 1);
|
|
3565
3605
|
const handleIntersectionDeactivation = (index) => (prev) => Math.min(prev, index);
|
|
@@ -3568,25 +3608,24 @@
|
|
|
3568
3608
|
'bg-white': 'primary',
|
|
3569
3609
|
transparent: 'transparent',
|
|
3570
3610
|
};
|
|
3571
|
-
const Header = JSX(({ bgColor = 'bg-white',
|
|
3611
|
+
const Header = JSX(({ className, bgColor = 'bg-white', version = BG_COLOR_TO_BLOCK_VERSION[bgColor], sitemap, location, ...rest }) => {
|
|
3572
3612
|
const router = useRouter();
|
|
3573
|
-
const { topItems, logo,
|
|
3613
|
+
const { topItems, logo, officesLink, internetBankUrl } = sitemap || {};
|
|
3574
3614
|
const activeTopItem = topItems?.find(isTopItemActive(router));
|
|
3575
|
-
|
|
3576
|
-
return (jsxs(BlockWrapper, { tag: "header", className: style('pt-6 px-20', showSubMenu && activeTopItem?.items?.length ? 'pb-4' : 'pb-5', className), defaultPadding: "", version: version, ...rest, children: [jsxs("div", { className: "container", children: [jsxs("div", { className: "flex items-center", children: [jsx(Logo, { className: "mr-8", bgColor: bgColor, logo: logo }), topItems?.map((_, i) => (jsx(TopItem, { active: _ === activeTopItem, ..._ }, String(i)))), jsx(HeaderSecondaryMenu, { version: version, className: "ml-auto", locationName: location.name, officesLink: officesLink })] }), jsx("div", { className: style('mt-6 h-px bg-main-divider', version === 'transparent' ? 'opacity-30' : '') }), showSubMenu && activeTopItem?.items?.length ? (jsx(HeaderSubMenu, { subItems: activeTopItem.items, version: version, internetBankUrl: internetBankUrl })) : null] }), jsx(SearchDialog, { topItems: topItems }), jsx(LocationDialog, { currentLocation: location, foreignOffices: foreignOffices, onChangeLocation: onChangeLocation })] }));
|
|
3615
|
+
return (jsx(BlockWrapper, { tag: "header", className: style('pt-3xl px-20', activeTopItem?.items?.length ? 'pb-m' : 'pb-lg', className), defaultPadding: "", version: version, ...rest, children: jsxs("div", { className: "container", children: [jsxs("div", { className: "flex items-center", children: [jsx(Logo, { className: "mr-3xl", bgColor: bgColor, logo: logo }), topItems?.map((_, i) => (jsx(TopItem, { active: _ === activeTopItem, ..._ }, String(i)))), jsx(HeaderSecondaryMenu, { version: version, className: "ml-auto", locationName: location?.name, officesLink: officesLink })] }), jsx("div", { className: style('mt-xl h-px bg-main-divider', version === 'transparent' ? 'opacity-30' : '') }), activeTopItem?.items?.length ? (jsx(HeaderSubMenu, { subItems: activeTopItem.items, version: version, internetBankUrl: internetBankUrl })) : null] }) }));
|
|
3577
3616
|
});
|
|
3578
3617
|
|
|
3579
3618
|
const gapStyles = {
|
|
3580
|
-
XXL: 'gap-
|
|
3581
|
-
XL: 'gap-
|
|
3582
|
-
L: 'gap-
|
|
3583
|
-
M: 'gap-
|
|
3584
|
-
S: 'gap-
|
|
3585
|
-
XS: 'gap-
|
|
3619
|
+
XXL: 'gap-6xl',
|
|
3620
|
+
XL: 'gap-5xl',
|
|
3621
|
+
L: 'gap-3xl',
|
|
3622
|
+
M: 'gap-m',
|
|
3623
|
+
S: 'gap-xs',
|
|
3624
|
+
XS: 'gap-2xs',
|
|
3586
3625
|
'': '',
|
|
3587
3626
|
};
|
|
3588
3627
|
|
|
3589
|
-
const HorizontalLayout = JSX(({ className = '', gap = 'XS', isPadding = false, version = 'transparent', isTheme = false, ...rest }) => (jsx(BlockWrapper, { className: style('relative', 'grid grid-cols-12', gapStyles[gap], className), defaultPadding: isPadding ? 'p-
|
|
3628
|
+
const HorizontalLayout = JSX(({ className = '', gap = 'XS', isPadding = false, version = 'transparent', isTheme = false, ...rest }) => (jsx(BlockWrapper, { className: style('relative', 'grid grid-cols-12', gapStyles[gap], className), defaultPadding: isPadding ? 'p-6xl' : '', version: version, isTheme: isTheme, ...rest, children: renderChildren(rest) })));
|
|
3590
3629
|
HorizontalLayout.childrenTypes = {
|
|
3591
3630
|
exclude: ['HorizontalLayout'],
|
|
3592
3631
|
};
|
|
@@ -3623,7 +3662,7 @@
|
|
|
3623
3662
|
function renderGallery({ activeIndex, cards, selectedCardIndex, onClick }) {
|
|
3624
3663
|
const tabsShiftWidth = activeIndex * 460;
|
|
3625
3664
|
const cardsAlignStyle = cards.length > 2 ? 'justify-start' : 'justify-center';
|
|
3626
|
-
return (jsx("div", { style: { transform: `translateX(-${tabsShiftWidth}px)` }, className: "duration-1000 px-
|
|
3665
|
+
return (jsx("div", { style: { transform: `translateX(-${tabsShiftWidth}px)` }, className: "duration-1000 px-6xl", children: jsx("div", { className: `w-full flex flex-nowrap gap-3.5 pb-6xl ${cardsAlignStyle}`, children: cards.map((slide, i) => renderNavButton$2({
|
|
3627
3666
|
slide,
|
|
3628
3667
|
i,
|
|
3629
3668
|
isActive: Boolean(i === selectedCardIndex),
|
|
@@ -3634,7 +3673,7 @@
|
|
|
3634
3673
|
const btnClassName = isActive
|
|
3635
3674
|
? 'shadow-dark-blue border-primary-main'
|
|
3636
3675
|
: `ease-in duration-300 border-gray`;
|
|
3637
|
-
return (jsxs("button", { type: "button", onClick: onClick, className: `p-
|
|
3676
|
+
return (jsxs("button", { type: "button", onClick: onClick, className: `p-3xl min-w-[460px] flex items-center bg-white border-solid border relative ${btnClassName}`, children: [slide?.icon ? (jsx(Img, { className: "p-5 rounded-full bg-secondary-light mr-[30px]", image: slide.icon, width: "108", height: "108" })) : null, jsxs("div", { className: "flex gap-3.5", children: [slide?.sum ? renderValueBlock$1('страховая сумма', slide.sum) : null, slide?.fee ? renderValueBlock$1('страховой взнос', slide.fee) : null] }), renderDoneIcon(isActive)] }, String(i)));
|
|
3638
3677
|
}
|
|
3639
3678
|
function renderValueBlock$1(title, sum) {
|
|
3640
3679
|
return (jsxs("div", { className: "flex flex-col text-left whitespace-pre", children: [jsxs("span", { className: "text-h6", children: [toLocalNumberFormat(2)(sum), " \u20BD"] }), jsx("span", { className: "text-secondary-text text-l mt-1", children: title })] }));
|
|
@@ -3646,7 +3685,7 @@
|
|
|
3646
3685
|
const InsuranceAmountBlock = JSX(({ className = '', title, insuranceTabs = [], button, ...rest }) => {
|
|
3647
3686
|
const [activeSlideIndex, setActiveSlideIndex] = useState(0);
|
|
3648
3687
|
const handleActiveSlideIndex = useCallback((_) => setActiveSlideIndex(_), []);
|
|
3649
|
-
return (jsxs(BlockWrapper, { className: style('box-border overflow-hidden relative px-0', className), defaultPadding: "p-
|
|
3688
|
+
return (jsxs(BlockWrapper, { className: style('box-border overflow-hidden relative px-0 space-y-2xl', className), defaultPadding: "p-6xl", ...rest, children: [title ? jsx(Heading, { className: "text-center", title: title, headingType: "h3" }) : null, insuranceTabs?.length > 1 ? (jsx("div", { className: "p-xs bg-secondary-light w-fit mx-auto rounded-md", children: insuranceTabs.map((item, i) => renderNavButton$1({
|
|
3650
3689
|
title: item?.title,
|
|
3651
3690
|
i,
|
|
3652
3691
|
isActive: Boolean(i === activeSlideIndex),
|
|
@@ -3676,11 +3715,11 @@
|
|
|
3676
3715
|
'green-dark': 'bg-green-dark',
|
|
3677
3716
|
};
|
|
3678
3717
|
const investmentCellSizeMap = {
|
|
3679
|
-
XS: 'h-
|
|
3680
|
-
S: 'h-
|
|
3681
|
-
M: 'h-
|
|
3682
|
-
L: 'h-
|
|
3683
|
-
XL: 'h-
|
|
3718
|
+
XS: 'h-10',
|
|
3719
|
+
S: 'h-16',
|
|
3720
|
+
M: 'h-24',
|
|
3721
|
+
L: 'h-32',
|
|
3722
|
+
XL: 'h-52',
|
|
3684
3723
|
};
|
|
3685
3724
|
const InvestmentInfo = JSX((props) => {
|
|
3686
3725
|
const { className = '', items, isDotted, investmentZeroColumn, investmentColumns, ...rest } = props;
|
|
@@ -3688,27 +3727,35 @@
|
|
|
3688
3727
|
if (investmentZeroColumn) {
|
|
3689
3728
|
columns.unshift(investmentZeroColumn);
|
|
3690
3729
|
}
|
|
3691
|
-
return (jsx(BlockWrapper, { className: className, ...rest, children: jsxs("div", { className: "container text-m font-light", children: [columns?.length ? (jsxs("div", { children: [jsxs("div", { className: "flex items-end relative pl-
|
|
3730
|
+
return (jsx(BlockWrapper, { className: className, ...rest, children: jsxs("div", { className: "container text-m font-light", children: [columns?.length ? (jsxs("div", { children: [jsxs("div", { className: "flex items-end relative pl-3xl pr-lg text-white", children: [joinList(jsx("div", { className: "w-px h-4 bg-gray" }))(columns.map(renderInvestmentColumn)), jsx("div", { className: "absolute right-3xl w-px h-4 bg-gray" })] }), jsx("div", { className: "border-t border-gray -mt-xs mx-3xl" }), jsx("div", { className: "flex justify-between text-primary-text mt-s -mx-5xl", children: columns.map(renderInvestmentColumnTitle) })] })) : null, items?.length ? (jsx(List, { className: "mt-9 max-w-[657px]", items: items, isDotted: isDotted, listItemSize: "M" })) : null] }) }));
|
|
3692
3731
|
});
|
|
3693
3732
|
const renderInvestmentColumn = (column, i, arr) => {
|
|
3694
3733
|
const isSecondColumn = i === 1;
|
|
3695
3734
|
const isLastColumn = i === arr.length - 1;
|
|
3696
|
-
return (jsx("div", { className: `${getColumnClasses(isSecondColumn, isLastColumn, column.cells)}`, children: column.cells?.length ? (jsx("div", { className: `w-full ${isLastColumn ? 'border-4 border-green-more-dark p-
|
|
3735
|
+
return (jsx("div", { className: `${getColumnClasses(isSecondColumn, isLastColumn, column.cells)}`, children: column.cells?.length ? (jsx("div", { className: `w-full ${isLastColumn ? 'border-4 border-green-more-dark p-2xs min-w-[290px]' : ''}`, children: column.cells.reverse().map(renderInvestmentCell) })) : null }, `column_${i}`));
|
|
3697
3736
|
};
|
|
3698
3737
|
const getColumnClasses = (isSecondColumn, isLastColumn, cells = []) => [
|
|
3699
3738
|
cells.length ? 'flex-1' : 'flex-0',
|
|
3700
|
-
cells.length && !isSecondColumn && !isLastColumn ? 'pl-
|
|
3701
|
-
cells.length && !isLastColumn ? 'pr-
|
|
3739
|
+
cells.length && !isSecondColumn && !isLastColumn ? 'pl-s' : '',
|
|
3740
|
+
cells.length && !isLastColumn ? 'pr-s pb-3xl' : 'pb-xl',
|
|
3702
3741
|
].join(' ');
|
|
3703
3742
|
const renderInvestmentCell = (cell, i) => {
|
|
3704
3743
|
const cellSize = cell.cellSize || 'XS';
|
|
3705
3744
|
const cellColor = cell.cellColor || 'green';
|
|
3706
|
-
return cell.text ? (jsx("div", { className: `flex-1 flex items-center justify-center relative py-
|
|
3745
|
+
return cell.text ? (jsx("div", { className: `flex-1 flex items-center justify-center relative py-xs ${investmentCellSizeMap[cellSize]} ${investmentCellColorMap[cellColor]} ${cellSize === 'XS' ? 'px-s' : 'px-5xl'}`, children: jsx("div", { className: "text-center", children: cell.text }) }, `cell_${i}`)) : null;
|
|
3707
3746
|
};
|
|
3708
|
-
const renderInvestmentColumnTitle = (column, i
|
|
3709
|
-
|
|
3710
|
-
|
|
3711
|
-
|
|
3747
|
+
const renderInvestmentColumnTitle = (column, i) => {
|
|
3748
|
+
return (jsx("div", { className: `flex-1 max-w-[180px] text-center px-xs last:pr-3xl`, children: column.title }, `title_${i}`));
|
|
3749
|
+
};
|
|
3750
|
+
|
|
3751
|
+
const KILO = 1024;
|
|
3752
|
+
const KILO_SIZES = ['байт', 'Кб', 'Мб', 'Гб', 'Тб', 'Пб'];
|
|
3753
|
+
const formatBytes = (bytes, decimals = 2) => {
|
|
3754
|
+
if (bytes === 0) {
|
|
3755
|
+
return '';
|
|
3756
|
+
}
|
|
3757
|
+
const i = Math.floor(Math.log(bytes) / Math.log(KILO));
|
|
3758
|
+
return `${parseFloat((bytes / Math.pow(KILO, i)).toFixed(decimals))} ${KILO_SIZES[i]}`;
|
|
3712
3759
|
};
|
|
3713
3760
|
|
|
3714
3761
|
const LinkDocItem = JSX(({ icon, text, fileSize, ...linkProps }) => (jsxs("a", { className: "flex box-border gap-3 group/item h-fit w-fit text-primary-text no-underline hover:text-primary-main", role: "link", ...linkProps, children: [icon, text ? (jsxs(Text, { size: "text-l", font: "font-light", children: [text, jsx(Text, { color: "text-secondary-text", children: linkProps?.href && formatSuffix(getExtFromHref(linkProps.href), fileSize) })] })) : null] })));
|
|
@@ -3734,24 +3781,27 @@
|
|
|
3734
3781
|
};
|
|
3735
3782
|
const LinkDocs = JSX(({ className = '', title, description, align = 'text-center', documents, icon = { icon: 'DocIcon' }, columnsMode = 'double', ...rest }) => {
|
|
3736
3783
|
const router = useRouter();
|
|
3737
|
-
return (jsxs(BlockWrapper, { className: className, defaultPadding: "p-
|
|
3784
|
+
return (jsxs(BlockWrapper, { className: className, defaultPadding: "p-6xl", ...rest, children: [jsx(Headline, { title: title, description: description, align: align, headlineVersion: "M", as: "h2", isPadding: false }), documents?.length ? (jsx("div", { className: style('mt-5 sm:mt-8 flex flex-col gap-6', linkColumnsModeStyleMap[columnsMode]), role: "list", children: documents.map(renderLinkDocItem(router, columnsMode, icon)) })) : null] }));
|
|
3738
3785
|
});
|
|
3739
3786
|
const renderLinkDocItem = (router, columnsMode, icon) => (docBlockDef, i) => {
|
|
3740
3787
|
const href = docBlockDef?.docType === 'Attachment'
|
|
3741
3788
|
? adjustHref(router)(docBlockDef?.attachment?.src)
|
|
3742
3789
|
: docBlockDef?.href;
|
|
3743
|
-
|
|
3790
|
+
const fileSize = docBlockDef?.docType === 'Attachment'
|
|
3791
|
+
? formatBytes(docBlockDef?.attachment?.fileSize || 0)
|
|
3792
|
+
: docBlockDef?.fileSize;
|
|
3793
|
+
return (jsx("div", { className: columnsMode === 'double' ? 'basis-[calc(50%-20px)]' : '', role: "listitem", children: jsx(LinkDocItem, { text: docBlockDef?.text, target: docBlockDef?.target, href: href, fileSize: fileSize, icon: icon ? jsx(Img, { className: linkIconStyle, image: icon, width: "24", height: "24" }) : null }) }, String(i)));
|
|
3744
3794
|
};
|
|
3745
3795
|
|
|
3746
|
-
const renderDescription$
|
|
3796
|
+
const renderDescription$1 = (description) => description ? (jsx("div", { className: "mb-5 pt-3xs sm:mb-0 sm:pt-0", children: jsx(Text, { size: "text-xl", "font-weight": "light", children: description }) })) : null;
|
|
3747
3797
|
|
|
3748
3798
|
const renderList$1 = (items) => {
|
|
3749
|
-
return items?.length ? (jsx(List, { items: items, className: "text-l font-light mb-
|
|
3799
|
+
return items?.length ? (jsx(List, { items: items, className: "text-l font-light mb-xs last:mb-0" })) : (jsx("span", { className: "text-m font-light text-secondary-text", children: "\u041D\u0430\u0432\u0435\u0434\u0438\u0442\u0435 \u043A\u0430\u043C\u0435\u0440\u0443 \u0442\u0435\u043B\u0435\u0444\u043E\u043D\u0430 \u043D\u0430 QR-\u043A\u043E\u0434 \u0438 \u0441\u043A\u0430\u0447\u0430\u0439\u0442\u0435 \u043F\u0440\u0438\u043B\u043E\u0436\u0435\u043D\u0438\u0435" }));
|
|
3750
3800
|
};
|
|
3751
3801
|
|
|
3752
3802
|
const MobileAppTile = JSX(({ className, padding, alignTitle = 'left', buttons = [], description, headingType = 'h4', image, items, qr, title = 'Мобильное приложение', version = 'primary', ...rest }) => {
|
|
3753
|
-
const containerStyle = version === 'secondary' ? 'p-
|
|
3754
|
-
return (jsx(BlockWrapper, { className: style('min-h-80', className), padding: "p-0", version: version, ...rest, children: jsxs(BaseTile, { className: "h-full", padding: padding, defaultPadding: "p-
|
|
3803
|
+
const containerStyle = version === 'secondary' ? 'p-m min-w-32' : 'min-w-24';
|
|
3804
|
+
return (jsx(BlockWrapper, { className: style('min-h-80', className), padding: "p-0", version: version, ...rest, children: jsxs(BaseTile, { className: "h-full", padding: padding, defaultPadding: "p-6xl", title: title ? (jsx(Heading, { headingType: headingType, title: title, className: style('whitespace-pre-wrap', AlignText[alignTitle]) })) : null, buttons: renderButtonsSection(buttons, { isVertical: buttons.length > 4 }), children: [renderDescription$1(description), jsxs("div", { className: "flex flex-1 flex-wrap gap-m items-center", children: [qr?.src ? (jsx("div", { className: style('flex justify-center bg-white rounded-md', containerStyle), children: jsx(Img, { className: "w-fit", image: qr }) })) : null, renderList$1(items), image?.src ? jsx(Img, { image: image }) : null] })] }) }));
|
|
3755
3805
|
});
|
|
3756
3806
|
|
|
3757
3807
|
const initialFiltrationState = {};
|
|
@@ -3858,7 +3908,7 @@
|
|
|
3858
3908
|
updatePointsToRender(null);
|
|
3859
3909
|
}
|
|
3860
3910
|
};
|
|
3861
|
-
return (jsxs("div", { className: `${Object.values(styles$2).join(' ')} bg-white py-
|
|
3911
|
+
return (jsxs("div", { className: `${Object.values(styles$2).join(' ')} bg-white py-s pl-5xl pr-m w-full`, children: [jsx(Icon, { name: "LoupeIcon", iconVersion: "black", width: "20", height: "20", className: "absolute left-4" }), jsx("input", { type: "text", placeholder: "\u0412\u0432\u0435\u0434\u0438\u0442\u0435 \u0430\u0434\u0440\u0435\u0441 \u0438\u043B\u0438 \u043C\u0435\u0442\u0440\u043E", onChange: onChange, className: "border-0 focus:border-0 outline-0 w-full" })] }));
|
|
3862
3912
|
};
|
|
3863
3913
|
|
|
3864
3914
|
const styles$1 = {
|
|
@@ -3970,7 +4020,7 @@
|
|
|
3970
4020
|
setPointsToRender(normalizedPoints);
|
|
3971
4021
|
}
|
|
3972
4022
|
};
|
|
3973
|
-
return (jsxs("div", { id: "map", className: `${isFullScreen ? '' : 'relative'} w-full ${className}`, children: [jsx("div", { className: `absolute flex left-2 top-4 w-
|
|
4023
|
+
return (jsxs("div", { id: "map", className: `${isFullScreen ? '' : 'relative'} w-full ${className}`, children: [jsx("div", { className: `absolute flex left-2 top-4 w-1/2 ${zIndex}`, children: showSearchField
|
|
3974
4024
|
? renderSearchField(mockPoints, yandexMaps, updatePointsToRender)
|
|
3975
4025
|
: renderOpenMap(pointsCenter) }), jsx("div", { className: `${Object.values(FULLSCREEN_STYLES).join(' ')} ${zIndex} right-2 top-4 bg-white`, onClick: toggleFullscreen, children: jsx(Icon, { name: "FullScreenIcon", width: "16", height: "16" }) }), jsxs("div", { className: `absolute right-2 top-52 z-10 w-12 overflow-hidden border border-transparent rounded-md ${zIndex}`, children: [jsx(ZoomButton, { yandexMaps: map }), jsx(ZoomButton, { yandexMaps: map, direction: "out" })] }), renderUserGeolocation(map.current, yandexMaps, `right-2 top-80 ${zIndex}`)] }));
|
|
3976
4026
|
});
|
|
@@ -4112,11 +4162,11 @@
|
|
|
4112
4162
|
];
|
|
4113
4163
|
const currentWeekDayInd = new Date().getDay();
|
|
4114
4164
|
const currentWeekDay = currentWeekDayInd > 0 ? workScheduleWeek[currentWeekDayInd - 1] : workScheduleWeek[6];
|
|
4115
|
-
return (jsxs("div", { className: `flex flex-col font-sans
|
|
4165
|
+
return (jsxs("div", { className: `flex flex-col font-sans w-full ${className}`, children: [jsxs("div", { className: "flex flex-col gap-m p-6xl pb-3xl", children: [jsxs("div", { className: "flex justify-between", children: [jsx("div", { className: "text-h2", children: name }), renderCurrentDaySchedule(currentWeekDay)] }), jsxs("div", { className: "flex text-l font-light", children: [jsx(Icon, { name: "GeolocationIcon", width: "24", height: "24", className: "pr-1" }), address] }), jsx("div", { className: "flex", children: nearbyOffices.map(renderNearbyOffice) })] }), jsxs("div", { className: "flex justify-between", children: [jsx("div", { className: "flex-grow h-full w-full overflow-hidden", children: point ? jsx(YandexMap, { points: [point], className: "h-full" }) : null }), jsx("div", { className: "w-[434px] min-w-[434px] p-6xl pt-0 flex flex-col", children: workScheduleWeek.map(renderDay) })] })] }));
|
|
4116
4166
|
});
|
|
4117
4167
|
|
|
4118
|
-
const OfficeServicesBlock = JSX(({ className = '', title, servicesList, ...rest }) => (jsxs(BlockWrapper, { className: style('flex flex-col', className), ...rest, children: [title ? jsx(Heading, { headingType: "h5",
|
|
4119
|
-
const renderListItems = (itemList, i) => (jsxs("li", { className: "flex
|
|
4168
|
+
const OfficeServicesBlock = JSX(({ className = '', title, servicesList, ...rest }) => (jsxs(BlockWrapper, { className: style('flex flex-col gap-lg', className), ...rest, children: [title ? jsx(Heading, { headingType: "h5", title: title }) : null, servicesList?.length ? (jsx("ul", { className: "list-none space-y-lg", children: servicesList.map(renderListItems) })) : null] })));
|
|
4169
|
+
const renderListItems = (itemList, i) => (jsxs("li", { className: "flex gap-s list-none ", children: [itemList.icon ? (jsx(Img, { className: "min-w-6 min-h-6 w-6 h-6", width: "24", height: "24", image: itemList.icon })) : null, itemList.label ? (jsx(Text, { size: "text-l", font: "font-light", children: itemList.label })) : null] }, `list_item_${String(i)}`));
|
|
4120
4170
|
|
|
4121
4171
|
const ParagraphBlock = JSX(({ text, size, align, font, children, ...rest }) => (jsx(BlockWrapper, { defaultPadding: "p-0", ...rest, children: jsx(Paragraph, { size: size, align: align, font: font, children: text || children }) })));
|
|
4122
4172
|
|
|
@@ -4137,7 +4187,7 @@
|
|
|
4137
4187
|
'description' in _ ? renderBenefitDescription(_.description, i) : null,
|
|
4138
4188
|
]);
|
|
4139
4189
|
|
|
4140
|
-
const BenefitItem = JSX(({ className, benefitsVersion, ..._ }) => (jsxs("div", { className: style('flex gap-
|
|
4190
|
+
const BenefitItem = JSX(({ className, benefitsVersion, ..._ }) => (jsxs("div", { className: style('flex gap-m', 'description' in _ && _.description ? 'items-start' : 'items-center', className), children: ['icon' in _ ? renderBenefitIcon(_.icon, benefitsVersion) : null, jsx("div", { children: renderBenefitText(_) })] })));
|
|
4141
4191
|
|
|
4142
4192
|
const MAX_BENEFITS_LEN_DEVIATION = 16;
|
|
4143
4193
|
const benefitLength = (_) => _.type === 'rte'
|
|
@@ -4156,21 +4206,21 @@
|
|
|
4156
4206
|
const BaseProductTile = JSX(({ className, padding, defaultPadding, title, description, headlineVersion = 'L', align = 'text-left', isInsetTitle = true, benefitsVersion, isTabularBenefits, benefits, __html, items, isDotted = true, listItemSize, tags, buttons, image, imageOptions: { imageAlign = 'end', directionRight = true, isBackground } = {}, children, }) => {
|
|
4157
4207
|
const img = image?.src ? jsx(Img, { image: image }) : null;
|
|
4158
4208
|
const headline = (jsx(Headline, { title: title, description: description, headlineVersion: headlineVersion, align: align, isPadding: false }));
|
|
4159
|
-
return (jsx(BaseTile, { className: className, padding: padding, defaultPadding: defaultPadding, ...(isInsetTitle ? { insetTitle: headline } : { title: headline }), ...(isBackground ? { backImage: img } : leftOrRightImage(img, directionRight)), imageAlign: imageAlign, buttons: renderButtonsSection(buttons), children: jsxs("div", { className: "flex flex-col gap-
|
|
4209
|
+
return (jsx(BaseTile, { className: className, padding: padding, defaultPadding: defaultPadding, ...(isInsetTitle ? { insetTitle: headline } : { title: headline }), ...(isBackground ? { backImage: img } : leftOrRightImage(img, directionRight)), imageAlign: imageAlign, buttons: renderButtonsSection(buttons), children: jsxs("div", { className: "flex flex-col gap-xl", children: [jsx(BenefitsList, { benefitsVersion: benefitsVersion, isTabularBenefits: isTabularBenefits, benefits: benefits }), __html ? jsx(RichText, { __html: __html }) : null, items?.length ? (jsx(List, { items: items, isDotted: isDotted, listItemSize: listItemSize })) : null, children, tags?.length ? jsx(Tags, { tags: tags }) : null] }) }));
|
|
4160
4210
|
});
|
|
4161
4211
|
const leftOrRightImage = (img, directionRight) => directionRight ? { rightImage: img } : { leftImage: img };
|
|
4162
4212
|
|
|
4163
|
-
const renderInsuranceSumMonth = (sum, monthLimit) => sum || monthLimit ? (jsxs("div", { className: "flex flex-wrap xl:flex-nowrap xl:bg-main-divider xl:rounded-md p-xs gap-
|
|
4213
|
+
const renderInsuranceSumMonth = (sum, monthLimit) => sum || monthLimit ? (jsxs("div", { className: "flex flex-wrap xl:flex-nowrap xl:bg-main-divider xl:rounded-md p-xs gap-xl", children: [Number(sum) > 0 ? renderValueBlock('Страховая сумма:', sum) : null, Number(monthLimit) > 0 ? renderValueBlock('Ежемесячный лимит:', monthLimit) : null] })) : null;
|
|
4164
4214
|
const renderValueBlock = (title, value = 0) => (jsxs("div", { className: "basis-full flex flex-col-reverse sm:flex-row sm:justify-between items-baseline whitespace-pre", children: [jsx(Text, { font: "font-light", size: "text-l", children: title }), jsxs(Text, { size: "text-h6", color: "text-primary-text", children: [toLocalNumberFormat(2)(value), " \u20BD"] })] }));
|
|
4165
4215
|
|
|
4166
|
-
const PictureText = JSX(({ className, padding, headlineVersion = 'M', align = 'text-center', sum, monthLimit, imageOptions, ...rest }) => (jsx(BlockWrapper, { className: className, padding: "p-0", ...rest, children: jsx(BaseProductTile, { className: "h-full", defaultPadding: "p-
|
|
4216
|
+
const PictureText = JSX(({ className, padding, headlineVersion = 'M', align = 'text-center', sum, monthLimit, imageOptions, ...rest }) => (jsx(BlockWrapper, { className: className, padding: "p-0", ...rest, children: jsx(BaseProductTile, { className: "h-full", defaultPadding: "p-6xl", padding: padding, headlineVersion: headlineVersion, align: align, isInsetTitle: false, imageOptions: { directionRight: false, imageAlign: 'center', ...imageOptions }, ...rest, children: renderInsuranceSumMonth(Number(sum), Number(monthLimit)) }) })));
|
|
4167
4217
|
|
|
4168
4218
|
const GOLDEN_RATIO = 1.618;
|
|
4169
|
-
const Placeholder = JSX(({ className, title, description = 'Блок в разработке...', ...rest }) => (jsxs(BlockWrapper, { className: style('box-border', className), ...rest, children: [jsx(Headline, { className: "max-w-[600px]", title: title, description: description, headlineVersion: "L", align: "text-left", isPadding: false }), jsx("figure", { className: "m-0 mt-
|
|
4219
|
+
const Placeholder = JSX(({ className, title, description = 'Блок в разработке...', ...rest }) => (jsxs(BlockWrapper, { className: style('box-border', className), ...rest, children: [jsx(Headline, { className: "max-w-[600px]", title: title, description: description, headlineVersion: "L", align: "text-left", isPadding: false }), jsx("figure", { className: "m-0 mt-xl min-w-[80%]", children: renderShimmer() })] })));
|
|
4170
4220
|
const renderShimmer = (size = 3) => goldenSequence(100, size)
|
|
4171
4221
|
.map((_) => Math.floor(_))
|
|
4172
4222
|
.map(renderShimmerItem);
|
|
4173
|
-
const renderShimmerItem = (width, index) => (jsx("div", { style: { width: `${width || 100}%` }, className: "h-4 mt-
|
|
4223
|
+
const renderShimmerItem = (width, index) => (jsx("div", { style: { width: `${width || 100}%` }, className: "h-4 mt-xs bg-secondary-light" }, String(index)));
|
|
4174
4224
|
const goldenSequence = (first, size) => [first].concat(size > 0 ? goldenSequence(first / GOLDEN_RATIO, size - 1) : []);
|
|
4175
4225
|
|
|
4176
4226
|
function renderBackwardButton({ text, href, target, icon }, version) {
|
|
@@ -4183,13 +4233,13 @@
|
|
|
4183
4233
|
} }) }), jsx(Button, { version: "link", ...commonProps })] }));
|
|
4184
4234
|
}
|
|
4185
4235
|
|
|
4186
|
-
const ProductBlock = JSX(({ className, padding, backwardButton, ...rest }) => (jsxs(BlockWrapper, { className: style('overflow-hidden flex flex-col gap-
|
|
4236
|
+
const ProductBlock = JSX(({ className, padding, backwardButton, ...rest }) => (jsxs(BlockWrapper, { className: style('overflow-hidden flex flex-col gap-3xl box-border', className), defaultPadding: "p-6xl", padding: padding, ...rest, children: [backwardButton?.text
|
|
4187
4237
|
? renderBackwardButton(backwardButton, !rest.version || rest.version === 'primary' ? 'primary' : 'white')
|
|
4188
4238
|
: null, jsx(BaseProductTile, { className: "grow h-full", ...rest })] })));
|
|
4189
4239
|
|
|
4190
4240
|
const ProductGallery = JSX(({ className = '', padding, slides = [], ...rest }) => {
|
|
4191
4241
|
const [activeSlideIndex, setActiveSlideIndex] = useState(0);
|
|
4192
|
-
return (jsxs(BlockWrapper, { className: style('box-border overflow-hidden', className), defaultPadding: "py-
|
|
4242
|
+
return (jsxs(BlockWrapper, { className: style('box-border overflow-hidden', className), defaultPadding: "py-6xl", padding: padding, ...rest, children: [jsx("div", { className: "flex duration-1000", style: { transform: `translateX(-${activeSlideIndex * 100}%)` }, role: "list", children: slides.map(({ productBlock }, i) => (jsx("div", { className: "box-border grow-0 shrink-0 basis-full", role: "listitem", children: jsx(BaseProductTile, { className: "pl-6xl h-full", headlineVersion: "XXL", ...productBlock, ...rest }) }, String(i)))) }), jsx("div", { className: "h-28 px-xs mt-m -mb-m flex gap-xs box-border", children: slides.map(renderNavButton({ activeSlideIndex, onClick: setActiveSlideIndex })) })] }));
|
|
4193
4243
|
});
|
|
4194
4244
|
const renderNavButton = ({ activeSlideIndex, onClick }) => ({ nav }, i) => {
|
|
4195
4245
|
const isActive = i === activeSlideIndex;
|
|
@@ -4205,9 +4255,9 @@
|
|
|
4205
4255
|
return (jsxs("button", { type: "button", onClick: () => onClick(i), "aria-label": nav?.title, className: style('relative px-6 box-border overflow-hidden text-left grow basis-0 border border-gray group-data-secondary:border-white/50', btnClassName), children: [jsx("div", { className: btnTitleClassName, children: nav?.title }), jsx("div", { className: btnDescClassName, children: nav?.description })] }, String(i)));
|
|
4206
4256
|
};
|
|
4207
4257
|
|
|
4208
|
-
const ProductTile = JSX(({ className, padding, headlineVersion = 'S', isTabularBenefits = true, additionalDescription, imageOptions, ...rest }) => (jsx(BlockWrapper, { className: className, padding: "p-0", ...rest, children: jsx(BaseProductTile, { className: "h-full", defaultPadding: "p-
|
|
4258
|
+
const ProductTile = JSX(({ className, padding, headlineVersion = 'S', isTabularBenefits = true, additionalDescription, imageOptions, ...rest }) => (jsx(BlockWrapper, { className: className, padding: "p-0", ...rest, children: jsx(BaseProductTile, { className: "h-full", defaultPadding: "p-xl", padding: padding, headlineVersion: headlineVersion, isTabularBenefits: isTabularBenefits, imageOptions: { isBackground: true, ...imageOptions }, ...rest, children: additionalDescription ? (jsx(Paragraph, { size: "text-m", font: "font-light", color: "group-data-primary:text-secondary-text", children: additionalDescription })) : null }) })));
|
|
4209
4259
|
|
|
4210
|
-
const PromoTile = JSX(({ className, title = 'Акции и спецпредложения', description, headlineVersion = 'S', date, buttons = [], ...rest }) => (jsx(BlockWrapper, { className: style('box-border', className), ...rest, children: jsxs(BaseTile, { className: "h-full", title: title ? (jsx(Headline, { title: title, headlineVersion: headlineVersion, align: "text-left", isPadding: false })) : null, buttons: renderButtonsSection(buttons), children: [date ? jsx("div", { className: "text-s mb-
|
|
4260
|
+
const PromoTile = JSX(({ className, title = 'Акции и спецпредложения', description, headlineVersion = 'S', date, buttons = [], ...rest }) => (jsx(BlockWrapper, { className: style('box-border', className), ...rest, children: jsxs(BaseTile, { className: "h-full", title: title ? (jsx(Headline, { title: title, headlineVersion: headlineVersion, align: "text-left", isPadding: false })) : null, buttons: renderButtonsSection(buttons), children: [date ? jsx("div", { className: "text-s mb-xs", children: formatDate(date) }) : null, jsx("div", { className: "text-l", children: description })] }) })));
|
|
4211
4261
|
function formatDate(date) {
|
|
4212
4262
|
const dateObj = new Date(date);
|
|
4213
4263
|
const dateFormat = {
|
|
@@ -4218,14 +4268,10 @@
|
|
|
4218
4268
|
return dateObj.toLocaleString('ru-RU', dateFormat).replace('г.', '');
|
|
4219
4269
|
}
|
|
4220
4270
|
|
|
4221
|
-
const RepresentativeOfficeInfo = JSX(({ address, email, telephone, button, className = '', __html, icon, title, version = 'primary', ...rest }) => (jsxs(BlockWrapper, { className: style('box-border text-left', className), version: version, ...rest, children: [jsxs("div", { className: "w-full
|
|
4222
|
-
|
|
4223
|
-
|
|
4224
|
-
|
|
4225
|
-
: null] })] })));
|
|
4226
|
-
const renderIconBlock = (icon) => (jsxs("div", { className: 'w-10 h-7 sm:w-24 sm:h-16 mb-3 sm:mb-0 sm:mt-3', children: [icon?.src ? jsx(Img, { image: icon }) : null, icon?.icon ? jsx(Img, { image: icon }) : null] }));
|
|
4227
|
-
const renderDescriptionBlock = (__html) => (jsx("div", { className: "border-b border-main-divider pb-5 my-5", children: jsx(RichText, { __html: __html }) }));
|
|
4228
|
-
const renderBlock = (blockName, data, iconName) => (jsxs("div", { className: "flex mb-4", children: [jsx(Icon, { className: "pr-4", iconVersion: "black", name: iconName, width: "24", height: "24" }), jsxs("div", { className: "flex flex-col first:pb-1", children: [jsx(Text, { size: "text-m", font: "font-light", children: blockName }), data ? (jsx(Text, { size: "text-h6", color: "text-green", children: data })) : null] })] }));
|
|
4271
|
+
const RepresentativeOfficeInfo = JSX(({ address, email, telephone, button, className = '', __html, icon, title, version = 'primary', ...rest }) => (jsxs(BlockWrapper, { className: style('box-border text-left space-y-s', className), version: version, ...rest, children: [jsxs("div", { className: "w-full flex justify-between flex-row-reverse", children: [renderIconBlock(icon), title ? jsx(Heading, { headingType: "h4", as: "h3", title: title }) : null] }), jsxs("div", { className: "w-full space-y-m", children: [__html ? renderDescriptionBlock(__html) : null, renderBlock('Адрес', address, 'GeolocationIcon'), renderBlock('Телефон', telephone, 'PhoneIcon'), renderBlock('E-mail', email, 'MailIcon'), button?.text ? renderButtonsSection([button]) : null] })] })));
|
|
4272
|
+
const renderIconBlock = (icon) => (jsx("div", { className: 'w-10 h-7 sm:w-24 sm:h-16', children: icon?.src || icon?.icon ? jsx(Img, { image: icon }) : null }));
|
|
4273
|
+
const renderDescriptionBlock = (__html) => (jsx("div", { className: "border-b border-main-divider pb-5", children: jsx(RichText, { __html: __html }) }));
|
|
4274
|
+
const renderBlock = (blockName, data, iconName) => (jsxs("div", { className: "flex gap-m", children: [jsx(Icon, { iconVersion: "black", name: iconName, width: "24", height: "24" }), jsxs("div", { className: "flex flex-col", children: [jsx(Text, { size: "text-m", font: "font-light", children: blockName }), data ? (jsx(Text, { size: "text-h6", color: "text-green", children: data })) : null] })] }));
|
|
4229
4275
|
|
|
4230
4276
|
const RichTextBlock = JSX((props) => {
|
|
4231
4277
|
const { __html, richVersion, ...rest } = props;
|
|
@@ -4244,7 +4290,10 @@
|
|
|
4244
4290
|
const rollupItemStyles = 'border-0 border-b border-solid border-main-divider last:border-b-0';
|
|
4245
4291
|
|
|
4246
4292
|
const RollupItem = JSX(({ className = '', label = 'Развернуть', labelIcon, labelIconBgVersion, isExpanded, isFoldButtonOnTop = true, version = 'primary', ...rest }) => {
|
|
4247
|
-
return (jsx(BlockWrapper, { className: style('w-full', rollupItemStyles, className), defaultPadding: "p-0", tag: "div", version: "transparent", ...rest, children: jsx(Foldable, { isFoldButtonOnTop: isFoldButtonOnTop, unfoldedByDefault: isExpanded, renderFoldableSection: ({ isUnfolded }) => (jsx(FoldableSection, { className: style('gap-5
|
|
4293
|
+
return (jsx(BlockWrapper, { className: style('w-full', rollupItemStyles, className), defaultPadding: "p-0", tag: "div", version: "transparent", ...rest, children: jsx(Foldable, { isFoldButtonOnTop: isFoldButtonOnTop, unfoldedByDefault: isExpanded, renderFoldableSection: ({ isUnfolded }) => (jsx(FoldableSection, { className: style('gap-5', foldableSectionStyles), isUnfolded: isUnfolded, children: renderChildren({
|
|
4294
|
+
...rest,
|
|
4295
|
+
extraProps: { className: 'w-full', padding: 'p-0' },
|
|
4296
|
+
}) })), renderFoldButton: ({ isUnfolded, onToggle }) => renderFoldButton({
|
|
4248
4297
|
version,
|
|
4249
4298
|
label,
|
|
4250
4299
|
labelIcon,
|
|
@@ -4267,7 +4316,7 @@
|
|
|
4267
4316
|
})) : (jsx(DefaultFoldButton, { label: label, icon: isUnfolded ? 'ArrowUpIcon' : 'ArrowDownIcon', onClick: onToggle }));
|
|
4268
4317
|
};
|
|
4269
4318
|
const renderPrimaryFoldButton = ({ label, labelIconBgVersion, icon, onToggle, labelIcon, }) => {
|
|
4270
|
-
return (jsxs("button", { className: style('border-none bg-transparent px-0 flex justify-between items-center w-full group/button', labelIcon?.icon ? 'py-
|
|
4319
|
+
return (jsxs("button", { className: style('border-none bg-transparent px-0 flex justify-between items-center w-full group/button', labelIcon?.icon ? 'py-xs' : 'py-lg'), onClick: onToggle, children: [jsxs("div", { className: "flex items-center group-hover/button:text-primary-main gap-s", children: [renderRoundedIcon(), label ? (jsx(Text, { size: "text-h6", font: "font-normal", children: label })) : null] }), icon ? jsx(Icon, { name: icon, iconVersion: rollupIconVersion, width: "24", height: "24" }) : null] }));
|
|
4271
4320
|
};
|
|
4272
4321
|
|
|
4273
4322
|
const WrapperSelect = JSX(({ data, fieldLabel, fieldValue, selected, placeholder = '', setSelected, label }) => {
|
|
@@ -4278,27 +4327,27 @@
|
|
|
4278
4327
|
return (jsx(Select, { options: dataFormat, label: label, placeholder: placeholder || selected, onChange: (_) => setSelected(_.key), value: selectedObj }));
|
|
4279
4328
|
});
|
|
4280
4329
|
|
|
4281
|
-
const RegionsAndBranches = JSX(({ regions = [], selectedRegion, onSelectedRegion: onSelectedRegion, branches = [], selectedBranch, onSelectedBranch, }) => (jsxs("div", { className: "flex
|
|
4330
|
+
const RegionsAndBranches = JSX(({ regions = [], selectedRegion, onSelectedRegion: onSelectedRegion, branches = [], selectedBranch, onSelectedBranch, }) => (jsxs("div", { className: "flex flex-col sm:flex-row gap-m order-1", children: [jsx("div", { className: "flex-1 min-w-0", children: jsx(WrapperSelect, { data: regions, fieldValue: "code", fieldLabel: "name", selected: selectedRegion, setSelected: onSelectedRegion, label: "\u0420\u0435\u0433\u0438\u043E\u043D" }) }), jsx("div", { className: "flex-1 min-w-0", children: jsx(WrapperSelect, { data: branches, fieldValue: "branchCode", fieldLabel: "address", selected: selectedBranch, setSelected: onSelectedBranch, label: "\u041E\u0442\u0434\u0435\u043B\u0435\u043D\u0438\u0435", placeholder: "\u0412\u044B\u0431\u0435\u0440\u0438\u0442\u0435 \u043E\u0442\u0434\u0435\u043B\u0435\u043D\u0438\u0435" }) })] })));
|
|
4282
4331
|
|
|
4283
4332
|
const Radio = JSX(({ name, text, value, checked, onChange, className }) => (jsx("div", { className: className, children: jsxs("label", { className: "font-sans flex items-center relative cursor-pointer", children: [jsx("input", { className: "appearance-none flex justify-center items-center shrink-0 w-5 h-5 border border-gray hover:border-primary-hover\n checked:border-2 checked:!border-primary-main focus:checked:border-primary-main focus:border-primary-text active:border-primary-text\n after:block after:w-2.5 after:h-2.5 after:rounded-full checked:after:bg-primary-main outline-none rounded-full cursor-pointer", type: "radio", value: value, name: name, checked: checked, onChange: (_) => onChange(_.target.value) }), text ? jsx("span", { className: "text-primary-text ml-3 cursor-pointer", children: text }) : null] }) })));
|
|
4284
4333
|
|
|
4285
|
-
const
|
|
4334
|
+
const RadioButtons = JSX(({ className }) => {
|
|
4286
4335
|
const [selectedOption, setSelectedOption] = useState('option2');
|
|
4287
4336
|
const onChange = useCallback((_) => setSelectedOption(_), []);
|
|
4288
|
-
return (jsxs("div", { children: [jsx(Radio, { className: "mb-
|
|
4337
|
+
return (jsxs("div", { className: style('order-4', className), children: [jsx(Radio, { className: "mb-xs", name: "contractType", text: "\u041F\u0440\u043E\u0441\u0442\u043E\u0435 \u0445\u0440\u0430\u043D\u0435\u043D\u0438\u0435", value: "option1", checked: selectedOption === 'option1', onChange: onChange }), jsx(Radio, { name: "contractType", text: "\u0421\u0434\u0435\u043B\u043A\u0430 \u0441 \u043D\u0435\u0434\u0432\u0438\u0436\u0438\u043C\u043E\u0441\u0442\u044C\u044E", value: "option2", checked: selectedOption === 'option2', onChange: onChange })] }));
|
|
4289
4338
|
});
|
|
4290
4339
|
|
|
4291
4340
|
const ITEMS = ['От 1 дня', 'До 365 дней'];
|
|
4292
4341
|
const MIN = 1;
|
|
4293
4342
|
const MAX = 365;
|
|
4294
|
-
const RentalPeriod = JSX(({ days, setDays }) => (jsxs("div", { className: "
|
|
4343
|
+
const RentalPeriod = JSX(({ days, setDays }) => (jsxs("div", { className: "order-1", children: [jsx(Text, { size: "text-m", font: "font-light", children: "\u0421\u0440\u043E\u043A \u0430\u0440\u0435\u043D\u0434\u044B" }), jsx(InputRange, { min: MIN, max: MAX, value: days, items: ITEMS, onChange: setDays })] })));
|
|
4295
4344
|
|
|
4296
4345
|
const SafeBoxCases = JSX(({ caseVolumes = [], selectedCaseVolume, onSelectedCaseVolume, safeBoxCases = [], selectedBoxSize, onSelectedBoxSize, }) => {
|
|
4297
|
-
return (jsxs("div", { className: "flex
|
|
4346
|
+
return (jsxs("div", { className: "flex flex-col sm:flex-row gap-4 order-1", children: [jsx("div", { className: "flex-1 min-w-0", children: jsx(WrapperSelect, { data: caseVolumes, fieldLabel: "volume", selected: selectedCaseVolume, setSelected: onSelectedCaseVolume, label: "\u0420\u0430\u0437\u043C\u0435\u0440", placeholder: "\u0412\u044B\u0431\u0435\u0440\u0438\u0442\u0435 \u0440\u0430\u0437\u043C\u0435\u0440" }) }), jsx("div", { className: "flex-1 min-w-0", children: jsx(WrapperSelect, { data: safeBoxCases, fieldLabel: "safeBoxCasesSize", selected: selectedBoxSize, setSelected: onSelectedBoxSize, label: "\u041F\u0430\u0440\u0430\u043C\u0435\u0442\u0440\u044B \u044F\u0447\u0435\u0439\u043A\u0438, \u043C\u043C (\u0412\u0445\u0428\u0445\u0414)", placeholder: "\u0412\u044B\u0431\u0435\u0440\u0438\u0442\u0435 \u043F\u0430\u0440\u0430\u043C\u0435\u0442\u0440 \u044F\u0447\u0435\u0439\u043A\u0438" }) })] }));
|
|
4298
4347
|
});
|
|
4299
4348
|
|
|
4300
4349
|
const SafeDepositRentalFields = JSX(({ regions, selectedRegion, branches, selectedBranch, days, selectedCaseVolume, selectedBoxSize, safeBoxCases, caseVolumes, onChange, onClick, }) => {
|
|
4301
|
-
return (jsxs("div", { className: "flex-1
|
|
4350
|
+
return (jsxs("div", { className: "contents sm:block flex-1 space-y-xl", children: [jsx(RegionsAndBranches, { regions: regions, selectedRegion: selectedRegion, onSelectedRegion: (value) => onChange({ selectedRegion: value }), branches: branches, selectedBranch: selectedBranch, onSelectedBranch: onSelectedBranch(onChange) }), jsx(RentalPeriod, { days: days, setDays: (value) => onChange({ days: value }) }), jsx(SafeBoxCases, { caseVolumes: caseVolumes, selectedCaseVolume: selectedCaseVolume, onSelectedCaseVolume: onSelectedCaseVolume(onChange), safeBoxCases: safeBoxCases, selectedBoxSize: selectedBoxSize, onSelectedBoxSize: (value) => onChange({ selectedBoxSize: value }) }), jsx("div", { className: "order-4", children: jsx(Text, { size: "text-l", font: "font-light", color: "text-secondary-text", children: "\u0422\u0438\u043F \u0434\u043E\u0433\u043E\u0432\u043E\u0440\u0430" }) }), jsxs("div", { className: "contents sm:flex justify-between items-center", children: [jsx(RadioButtons, { className: "mb-4 sm:mb-0" }), jsx(Button, { text: "\u041E\u0444\u0438\u0441\u044B \u043D\u0430 \u043A\u0430\u0440\u0442\u0435", version: "primary", onClick: onClick, className: "order-6" })] })] }));
|
|
4302
4351
|
});
|
|
4303
4352
|
const onSelectedBranch = (onChange) => (value) => {
|
|
4304
4353
|
onChange({ selectedBranch: value, selectedCaseVolume: '', selectedBoxSize: '' });
|
|
@@ -4309,10 +4358,11 @@
|
|
|
4309
4358
|
|
|
4310
4359
|
const SafeDepositRentalTotal = JSX(({ days, tariffs = [] }) => {
|
|
4311
4360
|
const price = calculatePrice(days, tariffs);
|
|
4312
|
-
|
|
4361
|
+
const imageDescription = 'На рисунке изображена пачка листов\nформата А4';
|
|
4362
|
+
return (jsxs("div", { className: "contents sm:flex flex-col justify-between order-2", children: [jsxs("div", { className: "flex flex-col sm:flex-row gap-x-11 gap-y-7 order-5 sm:order-none py-7 sm:py-0 border-t border-main-divider sm:border-none", children: [renderTotal('Аренда за', days), renderTotal('Цена', price + ' ₽')] }), jsx("span", { className: "sm:hidden order-3 mb-2 text-s-light text-secondary-text", children: imageDescription }), jsxs("div", { className: "flex flex-col items-center gap-3 order-3 sm:order-none mb-6 sm:mb-0 bg-primary-main py-3 sm:p-8 text-center", children: [jsx(Img, { image: { icon: 'PackA4Icon' }, className: "sm:h-[246px]" }), jsx("span", { className: "hidden sm:inline text-s font-light text-white opacity-80 whitespace-pre-line", children: imageDescription })] })] }));
|
|
4313
4363
|
});
|
|
4314
|
-
const renderTotal = (label, total
|
|
4315
|
-
return (jsxs("div", { className:
|
|
4364
|
+
const renderTotal = (label, total) => {
|
|
4365
|
+
return (jsxs("div", { className: "flex justify-between items-center gap-y-1 sm:flex-col sm:items-start", children: [jsx("div", { className: "text-l font-light text-secondary-text", children: label }), jsx("span", { className: "text-l sm:text-h3 text-primary-text", children: total })] }));
|
|
4316
4366
|
};
|
|
4317
4367
|
const calculatePrice = (days, tariffs) => {
|
|
4318
4368
|
const tariffType = getTariffType(days);
|
|
@@ -4359,7 +4409,7 @@
|
|
|
4359
4409
|
const caseVolumes = getCaseVolumes(branch?.safeBoxCaseVolumes);
|
|
4360
4410
|
const safeBoxCases = getCaseVolume(branch?.safeBoxCaseVolumes, data.selectedCaseVolume)?.safeBoxCases;
|
|
4361
4411
|
const tariffs = getTariffs(safeBoxCases, data.selectedBoxSize);
|
|
4362
|
-
return (jsxs("div", { className: "flex
|
|
4412
|
+
return (jsxs("div", { className: "flex flex-col sm:flex-row gap-x-9 align-top mb-6", children: [jsx(SafeDepositRentalFields, { ...data, regions: regions, onClick: onClick, branches: branches, caseVolumes: caseVolumes, safeBoxCases: safeBoxCases, onChange: onChange }), jsx(SafeDepositRentalTotal, { days: data.days, tariffs: tariffs })] }));
|
|
4363
4413
|
});
|
|
4364
4414
|
const getCaseVolumes = (safeBoxCaseVolumes) => safeBoxCaseVolumes?.length ? safeBoxCaseVolumes?.filter((_) => _?.safeBoxCases?.length) : [];
|
|
4365
4415
|
const getCaseVolume = (caseVolumes, selectedCaseVolume) => caseVolumes?.find((_) => _.volume === selectedCaseVolume);
|
|
@@ -4392,7 +4442,7 @@
|
|
|
4392
4442
|
const branches = useSafeBoxes(selectedRegion);
|
|
4393
4443
|
const handleChangeSafeDepositState = useCallback((state) => setStateDepositState((oldState) => ({ ...oldState, ...state })), [setStateDepositState]);
|
|
4394
4444
|
const points = getCoordinates(getBranch(branches, safeDepositState.selectedBranch) || branches);
|
|
4395
|
-
return (jsxs(BlockWrapper, { className: className, defaultPadding: "", ...rest, children: [jsxs("div", { className: "
|
|
4445
|
+
return (jsxs(BlockWrapper, { className: className, defaultPadding: "", ...rest, children: [jsxs("div", { className: "p-4xl", children: [title ? (jsx(Heading, { title: title, headingType: "h3", as: "h2", className: "text-primary-text mb-s text-center" })) : null, jsx(SafeDepositRentalForm, { regions: regions, branches: branches, data: { ...safeDepositState, selectedRegion }, onClick: handleShowMap, onChange: handleChangeSafeDepositState }), footnote ? (jsx(Paragraph, { size: "text-s", font: "font-light", children: footnote })) : null] }), points.length && showMap ? jsx(YandexMap, { points: points, className: "h-[640px]" }) : null] }));
|
|
4396
4446
|
});
|
|
4397
4447
|
const normalizeSelectedRegion = (selectedRegion, regions) => !selectedRegion && regions?.length && regions[0]?.code ? regions[0].code : selectedRegion;
|
|
4398
4448
|
|
|
@@ -4415,9 +4465,9 @@
|
|
|
4415
4465
|
};
|
|
4416
4466
|
const renderDefaultStep = ({ styleMap, isMainButton, version }) => (step, i, arr) => {
|
|
4417
4467
|
const { label, description, button, items, isDotted } = step;
|
|
4418
|
-
return (jsxs("div", { className: style('relative flex flex-col items-center text-center whitespace-pre-line overflow-hidden', getContainerWidth(arr.length)), children: [jsxs("div", { className:
|
|
4468
|
+
return (jsxs("div", { className: style('relative flex flex-col items-center text-center justify-between whitespace-pre-line overflow-hidden space-y-3xl', getContainerWidth(arr.length)), children: [jsxs("div", { className: "text-center space-y-xs", children: [label ? (jsx("div", { children: jsx(Text, { size: "text-h6", children: label }) })) : null, jsxs("div", { className: "flex flex-col items-center gap-3xs", children: [description ? jsx("div", { className: styleMap.description, children: description }) : null, jsx(List, { className: styleMap.description, items: items, listItemSize: "M", isDotted: isDotted })] })] }), button?.text && !isMainButton ? (jsx(Button, { className: "box-border py-s w-full max-w-60 mt-auto", version: version, ...button, children: button?.text })) : null] }, String(i)));
|
|
4419
4469
|
};
|
|
4420
|
-
const getContainerWidth = (length) => (length < 5 ? 'w-[276px]' : 'w-[
|
|
4470
|
+
const getContainerWidth = (length) => (length < 5 ? 'w-[276px]' : 'w-[200px]');
|
|
4421
4471
|
|
|
4422
4472
|
const STEPS_BLOCK_STYLE = {
|
|
4423
4473
|
description: 'text-white/80 text-l font-light group-data-primary:text-secondary-text group-data-gray:text-secondary-text',
|
|
@@ -4428,21 +4478,21 @@
|
|
|
4428
4478
|
};
|
|
4429
4479
|
|
|
4430
4480
|
const getLineOpacity = (showLines) => (showLines ? '' : 'opacity-0');
|
|
4431
|
-
const getPaddingX = (steps) => (steps < 5 ? 'px-
|
|
4481
|
+
const getPaddingX = (steps) => (steps < 5 ? 'px-24' : 'px-16');
|
|
4432
4482
|
const StepsBlock = JSX(({ className = '', showLines = true, steps = [], buttons, size = 'normal', version = 'primary', stepVersion = 'gray', title, ...rest }) => {
|
|
4433
4483
|
const shortGaps = steps.length > 3;
|
|
4434
4484
|
const styleMap = STEPS_BLOCK_STYLE;
|
|
4435
4485
|
const lineOpacity = getLineOpacity(showLines);
|
|
4436
4486
|
const paddingX = getPaddingX(steps.length);
|
|
4437
4487
|
const isMainButton = Boolean(buttons?.every((b) => b?.text));
|
|
4438
|
-
return (jsxs(BlockWrapper, { className: style('box-border flex flex-col items-center overflow-hidden', className), defaultPadding: "p-
|
|
4488
|
+
return (jsxs(BlockWrapper, { className: style('box-border flex flex-col items-center overflow-hidden gap-y-3xl', className), defaultPadding: "p-6xl", version: version, ...rest, children: [title ? jsx(Heading, { headingType: "h4", className: "text-center", title: title }) : null, steps?.length ? (jsxs("div", { className: "box-border space-y-lg", children: [jsx("div", { className: style('flex items-center', paddingX), children: joinList(jsx("div", { className: style('h-0.5 w-full bg-secondary-light flex-1', lineOpacity) }))(steps.map(renderStepIcon(styleMap, size, stepVersion))) }), jsx("div", { className: style('flex justify-between', shortGaps ? 'gap-x-3' : 'gap-x-20'), children: steps.map(renderStep({ styleMap, isMainButton, version })) })] })) : null, renderButtonsSection(buttons)] }));
|
|
4439
4489
|
});
|
|
4440
4490
|
const renderStepIcon = (styleMap, size, stepVersion) => ({ icon }, i) => {
|
|
4441
|
-
const styleStepIconSize = size === 'normal' ? 'h-[100px] w-[100px]' : 'h-[63px] w-[63px]';
|
|
4442
|
-
const stepVersionIconTextStyles = stepVersion === 'secondary' ? 'group-data-primary:text-white' : 'text-secondary-text';
|
|
4443
4491
|
const iconVersion = stepVersion === 'secondary' ? 'white' : 'color';
|
|
4444
|
-
return (jsx(BlockWrapper, { className: `${
|
|
4492
|
+
return (jsx(BlockWrapper, { defaultPadding: "", className: `${getIconSizeStyle(size)} flex justify-center items-center text-center rounded-full box-border z-10`, version: stepVersion, children: checkCanRenderIcon(icon) ? (jsx(Img, { image: { ...icon, iconVersion: icon.iconVersion || iconVersion }, width: "48", height: "48" })) : (jsx("span", { className: style('text-h4', stepVersion === 'transparent' ? styleMap.iconText : getIconTextStyle(stepVersion)), children: i + 1 })) }, String(i)));
|
|
4445
4493
|
};
|
|
4494
|
+
const getIconSizeStyle = (size) => (size === 'normal' ? 'h-24 w-24' : 'h-16 w-16');
|
|
4495
|
+
const getIconTextStyle = (version) => version === 'secondary' ? 'group-data-primary:text-white' : 'text-secondary-text';
|
|
4446
4496
|
|
|
4447
4497
|
const DEFAULT_GAP = 14;
|
|
4448
4498
|
/*
|
|
@@ -4521,7 +4571,7 @@
|
|
|
4521
4571
|
return (jsx("div", { className: getTabClassName('block', active, tabsMode), role: "tab", "aria-selected": active, onClick: () => onClick(tab), children: jsx("a", { role: "tab", className: style('flex flex-1 items-center justify-center h-full', getTabClassName('text', active, tabsMode)), target: tab.target, href: adjustedProps.href, onClick: handleClick, children: jsx("span", { children: tab.text }) }) }));
|
|
4522
4572
|
});
|
|
4523
4573
|
|
|
4524
|
-
const BADGE_CLASSES = 'bg-main-divider min-w-[22px] h-[22px] rounded-full text-xs ml-
|
|
4574
|
+
const BADGE_CLASSES = 'bg-main-divider min-w-[22px] h-[22px] rounded-full text-xs ml-xs flex justify-center items-center';
|
|
4525
4575
|
const LIGHT_BADGE_CLASSES = 'bg-white/30 text-white';
|
|
4526
4576
|
const DARK_BADGE_CLASSES = 'text-secondary-text group-hover/btn:text-primary-main';
|
|
4527
4577
|
const renderGroupTab = ({ page, currentTab, showCounter, onClick, tabsMode }) => (tab, i) => {
|
|
@@ -4559,7 +4609,6 @@
|
|
|
4559
4609
|
const { tabs, ...rest } = props;
|
|
4560
4610
|
const [containerRef, scroll] = useSwipeListScroll({
|
|
4561
4611
|
itemCount: tabs?.length || 0,
|
|
4562
|
-
isCyclic: false,
|
|
4563
4612
|
});
|
|
4564
4613
|
return (jsxs("div", { className: "relative max-w-full m-auto", children: [jsx("div", { className: `font-sans max-w-full w-full overflow-hidden relative bg-white`, children: jsx(SwipeListContainer, { containerRef: containerRef, snapAlign: "snap-start", onVisibleIndicesChange: scroll.handleVisibleIndicesChange, children: tabs?.map(renderTab({ ...rest })) }) }), scroll.canScrollLeft ? (jsx(ScrollLeftButton, { className: `${scrollButtonStyle} left-6`, onClick: scroll.scrollLeft })) : null, scroll.canScrollRight ? (jsx(ScrollRightButton, { className: `${scrollButtonStyle} rotate-180 right-6`, onClick: scroll.scrollRight })) : null] }));
|
|
4565
4614
|
});
|
|
@@ -4610,7 +4659,7 @@
|
|
|
4610
4659
|
const COLUMN_WIDTH$1 = 4 * 80 + 40; // w-80 + pl-10 = 360px
|
|
4611
4660
|
|
|
4612
4661
|
const TableInnerButton = JSX(({ isOpen, onClick }) => {
|
|
4613
|
-
return (jsxs(Button, { version: "primary", onClick: onClick, className: "w-full flex items-center justify-center rounded-none py-5", children: [jsx("div", { className: "text-h4", children: isOpen ? 'Скрыть' : 'Показать' }), jsx(Icon, { name: isOpen ? 'ArrowUpIcon' : 'ArrowDownIcon', className: "ml-
|
|
4662
|
+
return (jsxs(Button, { version: "primary", onClick: onClick, className: "w-full flex items-center justify-center rounded-none py-5", children: [jsx("div", { className: "text-h4", children: isOpen ? 'Скрыть' : 'Показать' }), jsx(Icon, { name: isOpen ? 'ArrowUpIcon' : 'ArrowDownIcon', className: "ml-s", iconVersion: "white", width: "20", height: "20" })] }));
|
|
4614
4663
|
});
|
|
4615
4664
|
|
|
4616
4665
|
const renderButtonsCellData = ({ buttons }) => renderButtonsSection(buttons);
|
|
@@ -4643,7 +4692,7 @@
|
|
|
4643
4692
|
setOpenTableInnerIdx(cellIdx);
|
|
4644
4693
|
setTableInner(props);
|
|
4645
4694
|
};
|
|
4646
|
-
return (jsxs("div", { className: cell?.tableCellType === 'Table' ? 'ml-
|
|
4695
|
+
return (jsxs("div", { className: cell?.tableCellType === 'Table' ? 'ml-5xl' : `first:pt-lg last:pb-lg pl-5xl`, children: [i > 0 ? jsx("div", { className: "h-5" }) : null, renderCell({
|
|
4647
4696
|
cell,
|
|
4648
4697
|
cellProps: {
|
|
4649
4698
|
rowIdx,
|
|
@@ -4703,11 +4752,11 @@
|
|
|
4703
4752
|
'flex duration-1000 text-center',
|
|
4704
4753
|
rowIdx !== 0 ? 'font-normal' : 'font-light',
|
|
4705
4754
|
].join(' ');
|
|
4706
|
-
return (jsxs("div", { className: "flex border-main-divider border border-t-0 border-x-0 border-solid", children: [headerColumn?.data ? (jsx("div", { className: `text-xl
|
|
4755
|
+
return (jsxs("div", { className: "flex border-main-divider border border-t-0 border-x-0 border-solid", children: [headerColumn?.data ? (jsx("div", { className: `text-xl font-light w-[214px] py-lg `, children: headerColumn.data })) : null, jsx("div", { className: "flex flex-grow overflow-hidden", children: jsx("div", { className: columnsClassName, style: {
|
|
4707
4756
|
transform: `translateX(-${transform}px)`,
|
|
4708
|
-
}, children: columns?.map((_, i) => (jsxs("div", { className: "flex flex-col flex-grow justify-center
|
|
4757
|
+
}, children: columns?.map((_, i) => (jsxs("div", { className: "flex flex-col flex-grow gap-s justify-center py-xl odd:bg-main-divider", children: [_?.data ? jsx("div", { className: "text-xl font-light", children: _.data }) : null, _?.cols ? renderCols(_.cols, activeColumnIndex) : null] }, `row${i}`))) }) })] }, String(rowIdx)));
|
|
4709
4758
|
};
|
|
4710
|
-
const renderCols = (cols, rowIndex) => cols?.length > 0 ? (jsx("div", { className: `flex ${rowIndex} ${rowIndex === 0 ? 'text-secondary-text' : ''} last:mr-3`, children: cols.map((data, i) => (jsx("div", { className: `w-
|
|
4759
|
+
const renderCols = (cols, rowIndex) => cols?.length > 0 ? (jsx("div", { className: `flex ${rowIndex} ${rowIndex === 0 ? 'text-secondary-text' : ''} last:mr-3`, children: cols.map((data, i) => (jsx("div", { className: `w-20 text-h6 mr-lg first:ml-3xl`, children: data }, String(i)))) })) : null;
|
|
4711
4760
|
|
|
4712
4761
|
const InnerTableBody = JSX(({ activeTabIndex, items }) => {
|
|
4713
4762
|
const [hiddenTables, setHiddenTables] = useState({});
|
|
@@ -4718,7 +4767,7 @@
|
|
|
4718
4767
|
}) }));
|
|
4719
4768
|
});
|
|
4720
4769
|
|
|
4721
|
-
const InnerTableHeader = JSX(({ currencies, linkToPDF, activeTabIndex, setActiveTabIndex }) => (jsxs("div", { className: "flex justify-between w-full
|
|
4770
|
+
const InnerTableHeader = JSX(({ currencies, linkToPDF, activeTabIndex, setActiveTabIndex }) => (jsxs("div", { className: "flex justify-between w-full px-s", children: [currencies && currencies.length > 1 ? (jsx("div", { className: "flex bg-secondary-light p-2xs rounded-md", children: currencies.map((currency, idx) => (jsx("div", { className: `rounded-md text-xl font-light px-m py-s cursor-pointer ${idx === activeTabIndex ? 'bg-primary-main text-white' : 'text-secondary-text'}`, onClick: () => setActiveTabIndex(idx), children: currency || idx + 1 }, currency))) })) : null, linkToPDF ? (jsx(Button, { href: linkToPDF, version: "secondary", target: "_blank", appendLeft: jsx(Icon, { name: "DocDownloadIcon", iconVersion: "color", className: "mr-3xs", width: "20", height: "20" }), text: "\u0421\u043A\u0430\u0447\u0430\u0442\u044C \u0432 PDF" })) : null] })));
|
|
4722
4771
|
|
|
4723
4772
|
function useTariffsInnerTableData(directoryName) {
|
|
4724
4773
|
const { data } = useAsyncData(tariffsInnerTableDataUrl(directoryName), fetchTariffsInnerTableData);
|
|
@@ -4750,7 +4799,7 @@
|
|
|
4750
4799
|
const [openTableInnerIdx, setOpenTableInnerIdx] = useState(undefined);
|
|
4751
4800
|
const handleOpenTableInnerIdx = useCallback((_) => setOpenTableInnerIdx(_), []);
|
|
4752
4801
|
const onHideContentClick = () => setTableInner(undefined);
|
|
4753
|
-
return (jsxs(TariffsTableRowContainer, { onHideContentClick: onHideContentClick, tableInner: tableInner, ...rest, children: [jsx("div", { className: `text-s py-
|
|
4802
|
+
return (jsxs(TariffsTableRowContainer, { onHideContentClick: onHideContentClick, tableInner: tableInner, ...rest, children: [jsx("div", { className: `text-s py-lg ${FIRST_CELL_CLASSES} ${DIVIDER_CLASSES}`, children: jsxs("div", { className: "flex items-center text-primary-text", role: "cell", children: [header?.icon ? (jsx(Img, { className: "mr-m max-w-6", image: header.icon, width: "24", height: "24" })) : null, header?.title ? jsx("div", { className: "text-m font-light", children: header?.title }) : null] }) }), data?.length ? (jsx(TableCarouselContainer, { activeIndex: activeIndex, columnWidth: COLUMN_WIDTH$1, version: "tariff", children: data.map((cells, i) => (jsx(TariffsTableCell, { cells: cells, rowIdx: rowIdx, cellIdx: i, setTableInner: handleSetTableInner, tableInner: tableInner, openTableInnerIdx: openTableInnerIdx, setOpenTableInnerIdx: handleOpenTableInnerIdx, ...rest }, String(i)))) })) : null] }));
|
|
4754
4803
|
});
|
|
4755
4804
|
|
|
4756
4805
|
const TariffsTable = JSX(({ className = '', title, description, rowHeaders, tariffsColumns: columns, hiddenRowsNum = 0, ...rest }) => {
|
|
@@ -4766,21 +4815,15 @@
|
|
|
4766
4815
|
});
|
|
4767
4816
|
const rows = (rowData || []).map((row, i) => (jsx(TariffsTableRow, { row: row, activeIndex: activeIndex, rowIdx: i, ...rest }, String(i))));
|
|
4768
4817
|
const [visibleRows, hiddenRows] = hiddenRowsNum > 0 ? [rows.slice(0, -hiddenRowsNum), rows.slice(-hiddenRowsNum)] : [rows, []];
|
|
4769
|
-
return (jsxs(BlockWrapper, { className: style('overflow-hidden relative', className), defaultPadding:
|
|
4818
|
+
return (jsxs(BlockWrapper, { className: style('overflow-hidden relative space-y-xl', className), defaultPadding: "p-6xl", ...rest, children: [jsx(Headline, { title: title, description: description, headlineVersion: "M", isPadding: false }), hiddenRowsNum > 0 ? (jsx(Foldable, { renderFoldableSection: ({ isUnfolded }) => (jsxs(Wrapper, { controls: controls, children: [visibleRows, jsx(FoldableSection, { isUnfolded: isUnfolded, children: hiddenRows })] })), renderFoldButton: renderDefaultFoldButton })) : (jsx(Wrapper, { controls: controls, children: rows }))] }));
|
|
4770
4819
|
});
|
|
4771
|
-
function renderTitle({ title, description }) {
|
|
4772
|
-
return title ? (jsx(Heading, { headingType: "h3", className: `text-center ${description ? 'mb-2.5' : 'mb-8'}`, title: title })) : null;
|
|
4773
|
-
}
|
|
4774
|
-
function renderDescription$1(description) {
|
|
4775
|
-
return description ? jsx("div", { className: "mb-9 text-center text-l", children: description }) : null;
|
|
4776
|
-
}
|
|
4777
4820
|
const Wrapper = JSX(({ children, controls }) => {
|
|
4778
4821
|
const { isScrollAvailable } = controls;
|
|
4779
4822
|
return (jsxs("div", { role: "table", children: [jsxs("div", { className: "relative", children: [children, renderArrows({
|
|
4780
4823
|
...controls,
|
|
4781
|
-
btnClass: ['top-
|
|
4824
|
+
btnClass: ['top-28', 'top-11'],
|
|
4782
4825
|
className: 'right-7',
|
|
4783
|
-
})] }), isScrollAvailable ? (jsx("div", { className: "absolute top-0 right-0 bottom-0 w-
|
|
4826
|
+
})] }), isScrollAvailable ? (jsx("div", { className: "absolute top-0 right-0 bottom-0 w-20 bg-opacity-to-white" })) : null] }));
|
|
4784
4827
|
});
|
|
4785
4828
|
|
|
4786
4829
|
const TextBlock = JSX(({ className = '', title, description, iconVersion, image, __html, items = [], ...rest }) => (jsxs(BlockWrapper, { className: style('flex gap-3 sm:gap-4 bg-white group-data-secondary:bg-primary-main/10', className), ...rest, children: [iconVersion === 'small' ? jsx("div", { className: "mt-1", children: renderIcon() }) : null, iconVersion === 'big' ? renderImage(image) : null, jsxs("div", { className: "flex flex-col w-fit gap-1 sm:gap-2", children: [title ? (jsx(Text, { size: "text-l", font: "font-normal", color: "text-primary-text group-data-secondary:text-white", children: title })) : null, description ? renderDescription(description) : null, items?.length ? renderList(items, true) : null, __html ? jsx(RichText, { __html: __html }) : null] })] })));
|
|
@@ -4792,23 +4835,20 @@
|
|
|
4792
4835
|
return (jsx("ul", { className: style('text-secondary-text group-data-secondary:text-white/80', listStyle), children: items.map((_, i) => (jsx("li", { children: jsx(Text, { size: "text-s", font: "font-light", children: _ }) }, `listItem-${i}`))) }));
|
|
4793
4836
|
};
|
|
4794
4837
|
|
|
4795
|
-
const Tile = JSX(({ className, padding, headlineVersion = 'S', listItemSize = 'M', ...rest }) => (jsx(BlockWrapper, { className: className, padding: "p-0", ...rest, children: jsx(BaseProductTile, { className: "h-full", defaultPadding: "p-
|
|
4838
|
+
const Tile = JSX(({ className, padding, headlineVersion = 'S', listItemSize = 'M', ...rest }) => (jsx(BlockWrapper, { className: className, padding: "p-0", ...rest, children: jsx(BaseProductTile, { className: "h-full", defaultPadding: "p-xl", padding: padding, headlineVersion: headlineVersion, listItemSize: listItemSize, ...rest }) })));
|
|
4796
4839
|
|
|
4797
|
-
const
|
|
4798
|
-
|
|
4799
|
-
|
|
4800
|
-
|
|
4801
|
-
right: 'items-end',
|
|
4802
|
-
};
|
|
4803
|
-
const VerticalLayout = JSX(({ className = '', gap = '', align = 'stretch', isPadding = false, isInnerPadding = true, version = 'transparent', isTheme = false, ...rest }) => {
|
|
4804
|
-
const innerPaddingStyle = isInnerPadding ? '' : '!p-0';
|
|
4805
|
-
return (jsx(BlockWrapper, { className: style('relative', 'flex flex-col [&>*]:max-w-full', gapStyles[gap], align && alignStyle[align], className), defaultPadding: isPadding ? 'p-default' : '', version: version, isTheme: isTheme, ...rest, children: renderChildren({
|
|
4806
|
-
...rest,
|
|
4807
|
-
renderProps: (block, options) => renderBlock$1(block, options, { className: innerPaddingStyle }),
|
|
4808
|
-
}) }));
|
|
4809
|
-
});
|
|
4840
|
+
const VerticalLayout = JSX(({ className = '', gap = '', isPadding = false, isInnerPadding = true, version = 'transparent', isTheme = false, ...rest }) => (jsx(BlockWrapper, { className: style('relative flex flex-col', gapStyles[gap], className), defaultPadding: isPadding ? 'p-6xl' : '', version: version, isTheme: isTheme, ...rest, children: renderChildren({
|
|
4841
|
+
...rest,
|
|
4842
|
+
extraProps: { className: 'w-full', padding: isInnerPadding ? '' : 'p-0' },
|
|
4843
|
+
}) })));
|
|
4810
4844
|
VerticalLayout.childrenTypes = [];
|
|
4811
4845
|
|
|
4846
|
+
const getColSpan = (className) => {
|
|
4847
|
+
const colSpanPrefix = 'col-span-';
|
|
4848
|
+
const colSpanStr = className?.split(/\s+/).find((_) => _.startsWith(colSpanPrefix));
|
|
4849
|
+
return colSpanStr ? parseInt(colSpanStr.substring(colSpanPrefix.length), 10) : 12;
|
|
4850
|
+
};
|
|
4851
|
+
|
|
4812
4852
|
const MIN_COL_SPAN = 10;
|
|
4813
4853
|
const getPaddings = (className) => getColSpan(className) < MIN_COL_SPAN ? 'py-6 px-11' : 'py-12 px-32';
|
|
4814
4854
|
|
|
@@ -4878,6 +4918,52 @@
|
|
|
4878
4918
|
ExchangeRateOffice,
|
|
4879
4919
|
};
|
|
4880
4920
|
|
|
4921
|
+
const STORAGE_DEFAULT_TTL = 86400000; // 24 * 60 * 60 * 1000
|
|
4922
|
+
function useCachedAsyncData(key, fetcher, storage = globalThis?.localStorage) {
|
|
4923
|
+
const cachedFetcher = useCallback(async (...args) => {
|
|
4924
|
+
const storageKey = `async:${key}`;
|
|
4925
|
+
const storageData = storage.getItem(storageKey);
|
|
4926
|
+
const cachedData = getParsedData(storageData);
|
|
4927
|
+
if (cachedData) {
|
|
4928
|
+
return cachedData;
|
|
4929
|
+
}
|
|
4930
|
+
const data = await fetcher(...args);
|
|
4931
|
+
storage.setItem(storageKey, JSON.stringify({ data, timestamp: Date.now() }));
|
|
4932
|
+
return data;
|
|
4933
|
+
}, [key, fetcher]);
|
|
4934
|
+
return useAsyncData(key, cachedFetcher);
|
|
4935
|
+
}
|
|
4936
|
+
function getParsedData(storageData) {
|
|
4937
|
+
const { data = null, timestamp = null } = storageData ? JSON.parse(storageData) : {};
|
|
4938
|
+
return data && Date.now() - timestamp < STORAGE_DEFAULT_TTL ? data : undefined;
|
|
4939
|
+
}
|
|
4940
|
+
|
|
4941
|
+
const REGION_URL = '/api/v1/region';
|
|
4942
|
+
function useLocation(defaultLocation = 'Москва') {
|
|
4943
|
+
const currentLocation = getLocalStorageLocation();
|
|
4944
|
+
const [location, setLocation] = useState(currentLocation?.region ?? { name: defaultLocation });
|
|
4945
|
+
const { data } = useCachedAsyncData(REGION_URL, fetchJSONUnsafe);
|
|
4946
|
+
useEffect(() => {
|
|
4947
|
+
setLocation(currentLocation?.region && currentLocation?.manual
|
|
4948
|
+
? currentLocation.region
|
|
4949
|
+
: data || { name: defaultLocation });
|
|
4950
|
+
}, [data]);
|
|
4951
|
+
const onChangeLocation = useCallback((region) => {
|
|
4952
|
+
globalThis.localStorage?.setItem('location', JSON.stringify({ manual: true, region }));
|
|
4953
|
+
setLocation(region);
|
|
4954
|
+
}, []);
|
|
4955
|
+
return [location, onChangeLocation];
|
|
4956
|
+
}
|
|
4957
|
+
const getLocalStorageLocation = () => {
|
|
4958
|
+
const localStorageLocation = globalThis.localStorage?.getItem('location');
|
|
4959
|
+
try {
|
|
4960
|
+
return localStorageLocation ? JSON.parse(localStorageLocation) : null;
|
|
4961
|
+
}
|
|
4962
|
+
catch (_) {
|
|
4963
|
+
return null;
|
|
4964
|
+
}
|
|
4965
|
+
};
|
|
4966
|
+
|
|
4881
4967
|
const debounce = (fn, delay = 600) => {
|
|
4882
4968
|
let timerId;
|
|
4883
4969
|
const debouncedCallback = (...args) => {
|
|
@@ -4991,9 +5077,8 @@
|
|
|
4991
5077
|
return (jsxs("div", { className: `border-main border-2 border-solid bg-white flex w-[125px] items-center justify-center gap-3 p-2 font-sans ${className}`, children: [jsx(LikeButton, { onClick: handlerDecorator(likeService.like), ariaLabel: "\u041F\u043E\u0441\u0442\u0430\u0432\u0438\u0442\u044C \u043E\u0442\u043C\u0435\u0442\u043A\u0443 \u00AB\u043B\u0430\u0439\u043A\u00BB" }), jsx(LikeButton, { onClick: handlerDecorator(likeService.dislike), className: "rotate-180", ariaLabel: "\u041F\u043E\u0441\u0442\u0430\u0432\u0438\u0442\u044C \u043E\u0442\u043C\u0435\u0442\u043A\u0443 \u00AB\u0434\u0438\u0437\u043B\u0430\u0439\u043A\u00BB" }), jsx("span", { className: "select-none", children: likeService.likeCount })] }));
|
|
4992
5078
|
});
|
|
4993
5079
|
|
|
4994
|
-
const ContentPage = JSX((
|
|
4995
|
-
const {
|
|
4996
|
-
const { style: pageStyle, blocks, slots, likeControl, colorPalette = 'pc' } = data;
|
|
5080
|
+
const ContentPage = JSX(({ className, blocksRegistry, blockDecorator, data = {} }) => {
|
|
5081
|
+
const { style: pageStyle, slots, likeControl, colorPalette = 'pc' } = data;
|
|
4997
5082
|
const options = {
|
|
4998
5083
|
key: '',
|
|
4999
5084
|
page: data,
|
|
@@ -5001,6 +5086,8 @@
|
|
|
5001
5086
|
blockDecorator,
|
|
5002
5087
|
parent: data,
|
|
5003
5088
|
};
|
|
5089
|
+
const sitemap = useSWRResource(projectSettings.SITEMAP || 'sitemap', data?.fallback);
|
|
5090
|
+
const [location, onChangeLocation] = useLocation(sitemap?.defaultLocation);
|
|
5004
5091
|
useBlockRouterProvider();
|
|
5005
5092
|
const [isSomeDialogOpened, { setTrue: setSomeDialogOpened, setFalse: resetSomeDialogOpened }] = useBool();
|
|
5006
5093
|
useDialogHandlers({
|
|
@@ -5010,20 +5097,20 @@
|
|
|
5010
5097
|
return (jsxs("section", { className: style('relative', pageStyle, className, isSomeDialogOpened ? 'overflow-hidden h-screen' : ''), "data-theme": colorPalette, children: [slots?.header ? (jsx("div", { className: "mb-5 shadow-[0_8px_32px_0px_#00000014]", children: renderBlocksList(slots?.header, {
|
|
5011
5098
|
...options,
|
|
5012
5099
|
slotName: 'header',
|
|
5013
|
-
|
|
5014
|
-
|
|
5015
|
-
|
|
5016
|
-
|
|
5017
|
-
}
|
|
5018
|
-
|
|
5100
|
+
extraProps: { sitemap, location },
|
|
5101
|
+
}) })) : null, jsxs("div", { className: "container grid grid-cols-12 gap-1", children: [renderChildren({ block: data, options, extraProps: { className: 'scroll-mt-12' } }), renderBlocksList(slots?.footer, {
|
|
5102
|
+
...options,
|
|
5103
|
+
slotName: 'footer',
|
|
5104
|
+
extraProps: { sitemap, location },
|
|
5105
|
+
})] }), likeControl ? renderLikeControl() : null, jsx(CookiePopup, { termLink: { href: '/pd-policy#cookie', target: '_blank' }, personalDataPolicyLink: { href: '/pd-policy', target: '_blank' } }), jsx(SearchDialog, { topItems: sitemap?.topItems }), jsx(LocationDialog, { currentLocation: location, foreignOffices: sitemap?.foreignOffices, onChangeLocation: onChangeLocation })] }));
|
|
5019
5106
|
});
|
|
5020
5107
|
ContentPage.childrenTypes = [];
|
|
5021
5108
|
ContentPage.slots = () => ['header', 'footer'];
|
|
5022
5109
|
function renderLikeControl() {
|
|
5023
|
-
return (jsx("div", { className: "flex items-end absolute bottom-0 right-0 h-full pointer-events-none", children: jsx(LikeControl, { className: "rounded-tl-
|
|
5110
|
+
return (jsx("div", { className: "flex items-end absolute bottom-0 right-0 h-full pointer-events-none", children: jsx(LikeControl, { className: "rounded-tl-3xl sticky bottom-0 pointer-events-auto" }) }));
|
|
5024
5111
|
}
|
|
5025
5112
|
|
|
5026
|
-
const packageVersion = "0.12.
|
|
5113
|
+
const packageVersion = "0.12.12";
|
|
5027
5114
|
|
|
5028
5115
|
exports.Blocks = Blocks;
|
|
5029
5116
|
exports.ContentPage = ContentPage;
|