@redneckz/wildless-cms-uni-blocks 0.14.16 → 0.14.18
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/bundle/blocks.schema.json +1 -1
- package/bundle/bundle.umd.js +253 -81
- package/bundle/bundle.umd.min.js +1 -1
- package/bundle/components/ApplicationForm/renderWedDataOrganization.d.ts +1 -1
- package/bundle/components/BenefitsBlock/BenefitsBlockContent.d.ts +1 -1
- package/bundle/components/Bonus/BonusContent.d.ts +1 -1
- package/bundle/components/BusinessBlock/BusinessBlockContent.d.ts +1 -1
- package/bundle/components/ButtonsBlock/ButtonsBlockContent.d.ts +1 -1
- package/bundle/components/CarouselCatalogCard/CarouselCatalogCardContent.d.ts +1 -1
- package/bundle/components/CarouselProductCard/CarouselProductCard.d.ts +1 -1
- package/bundle/components/CarouselProductCard/CarouselProductCardContent.d.ts +1 -1
- package/bundle/components/CarouselProgramsCard/CarouselProgramsCardContent.d.ts +1 -1
- package/bundle/components/CarouselRecommendationCard/ImageAlwaysOnRight.d.ts +1 -0
- package/bundle/components/CarouselRecommendationCard/ImageAlwaysOnRight.mobile.d.ts +1 -0
- package/bundle/components/Depository/Depository.d.ts +5 -0
- package/bundle/components/Depository/DepositoryFilter.d.ts +9 -0
- package/bundle/components/Depository/useDepository.d.ts +7 -1
- package/bundle/components/ErrorBlock/ErrorBlockContent.d.ts +1 -1
- package/bundle/components/ExchangeRateTile/ExchangeCurrencyCalculator.d.ts +1 -1
- package/bundle/components/Header/HeaderTop.d.ts +1 -1
- package/bundle/components/InsuranceAmountBlock/InsuranceAmountBlockInner.d.ts +1 -1
- package/bundle/components/ParagraphBlock/ParagraphBlockContent.d.ts +1 -1
- package/bundle/components/RepresentativeOfficeInfo/RepresentativeOfficeInfoContent.d.ts +2 -2
- package/bundle/components/RollupItem/RollupItem.d.ts +1 -1
- package/bundle/components/SafeDepositRental/SafeDepositRentalForm.d.ts +1 -1
- package/bundle/components/StepsBlock/StepsBlockContent.d.ts +2 -2
- package/bundle/components/TariffsTable/EmbeddableCellData.d.ts +1 -1
- package/bundle/components/TariffsTable/TariffsTableContent.d.ts +1 -1
- package/bundle/icons/IconName.d.ts +12 -66
- package/bundle/model/Bullets.d.ts +4 -1
- package/bundle/model/JSXBlock.d.ts +1 -0
- package/bundle/ui-kit/BaseFiltration/BaseFiltrationContent.d.ts +2 -2
- package/bundle/ui-kit/BaseFiltration/BaseFiltrationInner.d.ts +1 -1
- package/bundle/ui-kit/DatePicker/Calendar.d.ts +10 -0
- package/bundle/ui-kit/DatePicker/DatePicker.d.ts +9 -0
- package/bundle/ui-kit/DatePicker/getYears.d.ts +1 -0
- package/bundle/ui-kit/DatePicker/months.d.ts +1 -0
- package/bundle/ui-kit/DatePicker/renderCalendarCells.d.ts +12 -0
- package/bundle/ui-kit/DatePicker/useDatePickerManager.d.ts +26 -0
- package/bundle/ui-kit/List/ListContent.d.ts +1 -0
- package/bundle/ui-kit/NotFound/NotFound.d.ts +2 -0
- package/bundle/ui-kit/Radio/Radio.d.ts +1 -1
- package/bundle/ui-kit/RichText/RichTextProps.d.ts +1 -0
- package/bundle/ui-kit/SearchDialog/SearchInput.d.ts +1 -0
- package/bundle/ui-kit/Select/Select.d.ts +3 -1
- package/bundle/ui-kit/Text/TextProps.d.ts +1 -0
- package/bundle/utils/formatDate.d.ts +1 -1
- package/cosmos-static/icons/ActualBalanceIcon.svg +1 -1
- package/cosmos-static/icons/BriefcaseIcon.svg +1 -1
- package/cosmos-static/icons/ChartIcon.svg +1 -1
- package/cosmos-static/icons/FaxIcon.svg +1 -0
- package/cosmos-static/icons/FullScreenIcon.svg +1 -1
- package/cosmos-static/icons/HeartIcon.svg +1 -1
- package/cosmos-static/icons/HouseIcon.svg +1 -1
- package/cosmos-static/icons/MagnifierIcon.svg +1 -1
- package/cosmos-static/icons/MailIcon.svg +1 -1
- package/cosmos-static/icons/MapMarkerClusterIcon.svg +1 -1
- package/cosmos-static/icons/MapMarkerSingleIcon.svg +1 -1
- package/cosmos-static/icons/MapOpenedIcon.svg +1 -1
- package/cosmos-static/icons/NewDocIcon.svg +1 -1
- package/cosmos-static/icons/PackA4Icon.svg +1 -1
- package/cosmos-static/icons/PassSendIcon.svg +1 -1
- package/cosmos-static/icons/PercentIcon.svg +1 -1
- package/cosmos-static/icons/PhoneCallingIcon.svg +1 -0
- package/cosmos-static/icons/PhoneIcon.svg +1 -1
- package/cosmos-static/icons/PlusCircleIcon.svg +1 -0
- package/cosmos-static/icons/ResponseFailIcon.svg +1 -1
- package/cosmos-static/icons/ResponseOKIcon.svg +1 -1
- package/cosmos-static/icons/SignDocsIcon.svg +1 -1
- package/cosmos-static/icons/UserGeoLocationIcon.svg +1 -1
- package/dist/components/ApplicationForm/ApplicationFormWed.js.map +1 -1
- package/dist/components/ApplicationForm/renderWedDataOrganization.d.ts +1 -1
- package/dist/components/ApplicationForm/renderWedDataOrganization.js.map +1 -1
- package/dist/components/ApplicationForm/renderWedTextarea.js.map +1 -1
- package/dist/components/BenefitsBlock/BenefitsBlock.js +1 -1
- package/dist/components/BenefitsBlock/BenefitsBlock.js.map +1 -1
- package/dist/components/BenefitsBlock/BenefitsBlockContent.d.ts +1 -1
- package/dist/components/Blocks.mobile.js +2 -2
- package/dist/components/Blocks.mobile.js.map +1 -1
- package/dist/components/Bonus/Bonus.js +1 -1
- package/dist/components/Bonus/Bonus.js.map +1 -1
- package/dist/components/Bonus/BonusContent.d.ts +1 -1
- package/dist/components/BonusBenefitsBlock/renderBonusBenefit.js +1 -1
- package/dist/components/BonusBenefitsBlock/renderBonusBenefit.js.map +1 -1
- package/dist/components/BusinessBlock/BusinessBlockContent.d.ts +1 -1
- package/dist/components/ButtonsBlock/ButtonsBlockContent.d.ts +1 -1
- package/dist/components/Calculator/UnknownRate.js +1 -1
- package/dist/components/Calculator/UnknownRate.js.map +1 -1
- package/dist/components/Calculator/getRefinancingCalculatorLimitParams.js.map +1 -1
- package/dist/components/Calculator/getRefinancingCalculatorRateParams.js +1 -1
- package/dist/components/Calculator/getRefinancingCalculatorRateParams.js.map +1 -1
- package/dist/components/Calculator/rangeHelpers.js +1 -1
- package/dist/components/Calculator/rangeHelpers.js.map +1 -1
- package/dist/components/CarouselCatalogCard/CarouselCatalogCardContent.d.ts +1 -1
- package/dist/components/CarouselProductCard/CarouselProductCard.d.ts +1 -1
- package/dist/components/CarouselProductCard/CarouselProductCard.js +1 -1
- package/dist/components/CarouselProductCard/CarouselProductCard.js.map +1 -1
- package/dist/components/CarouselProductCard/CarouselProductCardContent.d.ts +1 -1
- package/dist/components/CarouselProgramsCard/CarouselProgramsCardContent.d.ts +1 -1
- package/dist/components/CarouselRecommendationCard/CarouselRecommendationCard.js +2 -1
- package/dist/components/CarouselRecommendationCard/CarouselRecommendationCard.js.map +1 -1
- package/dist/components/CarouselRecommendationCard/ImageAlwaysOnRight.d.ts +1 -0
- package/dist/components/CarouselRecommendationCard/ImageAlwaysOnRight.js +4 -0
- package/dist/components/CarouselRecommendationCard/ImageAlwaysOnRight.js.map +1 -0
- package/dist/components/CarouselRecommendationCard/ImageAlwaysOnRight.mobile.d.ts +1 -0
- package/dist/components/CarouselRecommendationCard/ImageAlwaysOnRight.mobile.js +4 -0
- package/dist/components/CarouselRecommendationCard/ImageAlwaysOnRight.mobile.js.map +1 -0
- package/dist/components/ComparisonTable/ComparisonTable.js +1 -1
- package/dist/components/ComparisonTable/ComparisonTable.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/TableCell.js +1 -1
- package/dist/components/ComparisonTable/TableCell.js.map +1 -1
- package/dist/components/ComparisonTable/TableCell.mobile.js +1 -1
- package/dist/components/ComparisonTable/TableCell.mobile.js.map +1 -1
- package/dist/components/ComparisonTable/TableColumn.js +1 -1
- package/dist/components/ComparisonTable/TableColumn.js.map +1 -1
- package/dist/components/ComparisonTable/TableRow.js +1 -1
- package/dist/components/ComparisonTable/TableRow.js.map +1 -1
- package/dist/components/Depository/Depository.d.ts +5 -0
- package/dist/components/Depository/Depository.js +15 -2
- package/dist/components/Depository/Depository.js.map +1 -1
- package/dist/components/Depository/DepositoryFilter.d.ts +9 -0
- package/dist/components/Depository/DepositoryFilter.js +8 -0
- package/dist/components/Depository/DepositoryFilter.js.map +1 -0
- package/dist/components/Depository/DepositoryItem.js +3 -2
- package/dist/components/Depository/DepositoryItem.js.map +1 -1
- package/dist/components/Depository/useDepository.d.ts +7 -1
- package/dist/components/Depository/useDepository.js +3 -2
- package/dist/components/Depository/useDepository.js.map +1 -1
- package/dist/components/ErrorBlock/ErrorBlock.js.map +1 -1
- package/dist/components/ErrorBlock/ErrorBlockContent.d.ts +1 -1
- package/dist/components/ExchangeRateTile/ExchangeCurrencyCalculator.d.ts +1 -1
- package/dist/components/ExchangeRateTile/ExchangeCurrencyCalculator.js.map +1 -1
- package/dist/components/Footer/Footer.js +1 -1
- package/dist/components/Footer/Footer.js.map +1 -1
- package/dist/components/Footer/Footer.mobile.js +2 -2
- package/dist/components/Footer/Footer.mobile.js.map +1 -1
- package/dist/components/Footer/LinkList.js +1 -1
- package/dist/components/Footer/LinkList.js.map +1 -1
- package/dist/components/Footer/TextInformation.js +1 -1
- package/dist/components/Footer/TextInformation.js.map +1 -1
- package/dist/components/GracePeriod/GracePeriod.js +1 -1
- package/dist/components/GracePeriod/GracePeriod.js.map +1 -1
- package/dist/components/Header/Header.js +1 -1
- package/dist/components/Header/Header.js.map +1 -1
- package/dist/components/Header/Header.mobile.js +2 -2
- package/dist/components/Header/Header.mobile.js.map +1 -1
- package/dist/components/Header/HeaderSecondaryMenuButton.js.map +1 -1
- package/dist/components/Header/HeaderTop.d.ts +1 -1
- package/dist/components/Header/HeaderTop.js +5 -5
- package/dist/components/Header/HeaderTop.js.map +1 -1
- package/dist/components/Header/InternetBankButton.js +1 -1
- package/dist/components/Header/InternetBankButton.js.map +1 -1
- package/dist/components/InsuranceAmountBlock/InsuranceAmountBlockInner.d.ts +1 -1
- package/dist/components/InsuranceAmountBlock/InsuranceAmountBlockInner.js.map +1 -1
- package/dist/components/MortgageFiltration/MortgageFiltration.js +1 -1
- package/dist/components/MortgageFiltration/MortgageFiltration.js.map +1 -1
- package/dist/components/OfficesAtmsMap/OfficesAtmsMapLayout.js +1 -1
- package/dist/components/OfficesAtmsMap/OfficesAtmsMapLayout.js.map +1 -1
- package/dist/components/ParagraphBlock/ParagraphBlockContent.d.ts +1 -1
- package/dist/components/ProductBlock/renderBackwardButton.js +1 -1
- package/dist/components/ProductBlock/renderBackwardButton.js.map +1 -1
- package/dist/components/RepresentativeOfficeInfo/RepresentativeOfficeInfo.js.map +1 -1
- package/dist/components/RepresentativeOfficeInfo/RepresentativeOfficeInfoContent.d.ts +2 -2
- package/dist/components/RollupItem/PrimaryFoldButton.js +3 -3
- package/dist/components/RollupItem/PrimaryFoldButton.js.map +1 -1
- package/dist/components/RollupItem/RollupItem.d.ts +1 -1
- package/dist/components/RollupItem/RollupItem.js +1 -1
- package/dist/components/RollupItem/RollupItem.js.map +1 -1
- package/dist/components/RollupItem/renderRoundedIcon.mobile.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.d.ts +1 -1
- package/dist/components/SafeDepositRental/SafeDepositRentalForm.js.map +1 -1
- package/dist/components/StepsBlock/StepsBlock.js +1 -1
- package/dist/components/StepsBlock/StepsBlock.js.map +1 -1
- package/dist/components/StepsBlock/StepsBlock.mobile.js +1 -1
- package/dist/components/StepsBlock/StepsBlock.mobile.js.map +1 -1
- package/dist/components/StepsBlock/StepsBlockContent.d.ts +2 -2
- package/dist/components/StickyBottomMenu/ActiveSubMenuItem.js +3 -3
- package/dist/components/StickyBottomMenu/ActiveSubMenuItem.js.map +1 -1
- package/dist/components/StickyBottomMenu/RenderItem.js +1 -1
- package/dist/components/StickyBottomMenu/RenderItem.js.map +1 -1
- package/dist/components/StickyBottomMenu/RenderMenuItems.js +1 -1
- package/dist/components/StickyBottomMenu/RenderMenuItems.js.map +1 -1
- package/dist/components/StickyBottomMenu/StickyBottomMenu.mobile.js +2 -2
- package/dist/components/StickyBottomMenu/StickyBottomMenu.mobile.js.map +1 -1
- package/dist/components/StickyBottomMenu/useBurgerMenuDialog.js +3 -3
- package/dist/components/StickyBottomMenu/useBurgerMenuDialog.js.map +1 -1
- package/dist/components/TariffsTable/EmbeddableCellData.d.ts +1 -1
- package/dist/components/TariffsTable/EmbeddableCellData.js.map +1 -1
- package/dist/components/TariffsTable/TariffsTable.js +2 -2
- package/dist/components/TariffsTable/TariffsTable.js.map +1 -1
- package/dist/components/TariffsTable/TariffsTableContent.d.ts +1 -1
- package/dist/components/TariffsTable/TariffsTableRow.js +1 -1
- package/dist/components/TariffsTable/TariffsTableRow.js.map +1 -1
- package/dist/components/TariffsTable/TariffsTableWrapper.js.map +1 -1
- package/dist/components/TariffsTable/dataFixture.js +4 -1
- package/dist/components/TariffsTable/dataFixture.js.map +1 -1
- package/dist/content-page-repository/transformContentPage.js.map +1 -1
- package/dist/hooks/useActiveRoute.js +1 -1
- package/dist/hooks/useActiveRoute.js.map +1 -1
- package/dist/hooks/useSWRResource.js.map +1 -1
- package/dist/icons/IconName.d.ts +12 -66
- package/dist/icons/IconName.js +9 -63
- package/dist/icons/IconName.js.map +1 -1
- package/dist/model/Bullets.d.ts +4 -1
- package/dist/model/JSXBlock.d.ts +1 -0
- package/dist/services/search/useSearch.js.map +1 -1
- package/dist/ui-kit/BaseFiltration/BaseFiltrationContent.d.ts +2 -2
- package/dist/ui-kit/BaseFiltration/BaseFiltrationInner.d.ts +1 -1
- package/dist/ui-kit/BaseFiltration/BaseFiltrationInner.js +2 -5
- package/dist/ui-kit/BaseFiltration/BaseFiltrationInner.js.map +1 -1
- package/dist/ui-kit/Button/Button.js.map +1 -1
- package/dist/ui-kit/Button/getDisabledButtonClasses.js.map +1 -1
- package/dist/ui-kit/Checkbox/Checkbox.js +1 -1
- package/dist/ui-kit/Checkbox/Checkbox.js.map +1 -1
- package/dist/ui-kit/DatePicker/Calendar.d.ts +10 -0
- package/dist/ui-kit/DatePicker/Calendar.js +26 -0
- package/dist/ui-kit/DatePicker/Calendar.js.map +1 -0
- package/dist/ui-kit/DatePicker/DatePicker.d.ts +9 -0
- package/dist/ui-kit/DatePicker/DatePicker.js +44 -0
- package/dist/ui-kit/DatePicker/DatePicker.js.map +1 -0
- package/dist/ui-kit/DatePicker/getYears.d.ts +1 -0
- package/dist/ui-kit/DatePicker/getYears.js +6 -0
- package/dist/ui-kit/DatePicker/getYears.js.map +1 -0
- package/dist/ui-kit/DatePicker/months.d.ts +1 -0
- package/dist/ui-kit/DatePicker/months.js +17 -0
- package/dist/ui-kit/DatePicker/months.js.map +1 -0
- package/dist/ui-kit/DatePicker/renderCalendarCells.d.ts +12 -0
- package/dist/ui-kit/DatePicker/renderCalendarCells.js +35 -0
- package/dist/ui-kit/DatePicker/renderCalendarCells.js.map +1 -0
- package/dist/ui-kit/DatePicker/useDatePickerManager.d.ts +26 -0
- package/dist/ui-kit/DatePicker/useDatePickerManager.js +48 -0
- package/dist/ui-kit/DatePicker/useDatePickerManager.js.map +1 -0
- package/dist/ui-kit/Foldable/DefaultFoldButton.js.map +1 -1
- package/dist/ui-kit/Icon/Icon.js +1 -1
- package/dist/ui-kit/Icon/Icon.js.map +1 -1
- package/dist/ui-kit/InnerTable/InnerTableButton.js +1 -1
- package/dist/ui-kit/InnerTable/InnerTableButton.js.map +1 -1
- package/dist/ui-kit/InnerTable/getHorizontalShift.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/InputRange/renderRangeWithTicks.js +2 -1
- package/dist/ui-kit/InputRange/renderRangeWithTicks.js.map +1 -1
- package/dist/ui-kit/List/ListContent.d.ts +1 -0
- package/dist/ui-kit/LocationDialog/LocationDialog.js +1 -1
- package/dist/ui-kit/LocationDialog/LocationDialog.js.map +1 -1
- package/dist/ui-kit/NotFound/NotFound.d.ts +2 -0
- package/dist/ui-kit/NotFound/NotFound.js +9 -0
- package/dist/ui-kit/NotFound/NotFound.js.map +1 -0
- package/dist/ui-kit/Pagination/PageSizeSelector.js +1 -1
- package/dist/ui-kit/Pagination/PageSizeSelector.js.map +1 -1
- package/dist/ui-kit/Paragraph/Paragraph.js.map +1 -1
- package/dist/ui-kit/Radio/Radio.d.ts +1 -1
- package/dist/ui-kit/Radio/Radio.js +2 -1
- package/dist/ui-kit/Radio/Radio.js.map +1 -1
- package/dist/ui-kit/RadioButtonGroup/RadioButtonGroup.js +1 -1
- package/dist/ui-kit/RadioButtonGroup/RadioButtonGroup.js.map +1 -1
- package/dist/ui-kit/RichText/RichText.js.map +1 -1
- package/dist/ui-kit/RichText/RichTextProps.d.ts +1 -0
- package/dist/ui-kit/SearchBar/SearchBar.js +1 -1
- package/dist/ui-kit/SearchBar/SearchBar.js.map +1 -1
- package/dist/ui-kit/SearchDialog/SearchInput.d.ts +1 -0
- package/dist/ui-kit/SearchDialog/SearchInput.js +2 -2
- package/dist/ui-kit/SearchDialog/SearchInput.js.map +1 -1
- package/dist/ui-kit/Select/Select.d.ts +3 -1
- package/dist/ui-kit/Select/Select.js +3 -3
- package/dist/ui-kit/Select/Select.js.map +1 -1
- package/dist/ui-kit/Select/SelectPopup.js +6 -1
- package/dist/ui-kit/Select/SelectPopup.js.map +1 -1
- package/dist/ui-kit/Select/filterOptions.js.map +1 -1
- package/dist/ui-kit/SwipeListControl/SwipeListControl.js +1 -1
- package/dist/ui-kit/SwipeListControl/SwipeListControl.js.map +1 -1
- package/dist/ui-kit/Text/Text.js.map +1 -1
- package/dist/ui-kit/Text/TextProps.d.ts +1 -0
- package/dist/ui-kit/TextWithIcon/TextWithIcon.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/utils/formatDate.d.ts +1 -1
- package/dist/utils/formatDate.js +11 -1
- package/dist/utils/formatDate.js.map +1 -1
- package/lib/common.css +1 -1
- package/lib/components/ApplicationForm/ApplicationFormWed.js.map +1 -1
- package/lib/components/ApplicationForm/renderWedDataOrganization.d.ts +1 -1
- package/lib/components/ApplicationForm/renderWedDataOrganization.js.map +1 -1
- package/lib/components/ApplicationForm/renderWedTextarea.js.map +1 -1
- package/lib/components/BenefitsBlock/BenefitsBlock.js +1 -1
- package/lib/components/BenefitsBlock/BenefitsBlock.js.map +1 -1
- package/lib/components/BenefitsBlock/BenefitsBlockContent.d.ts +1 -1
- package/lib/components/Blocks.mobile.js +2 -2
- package/lib/components/Blocks.mobile.js.map +1 -1
- package/lib/components/Bonus/Bonus.js +1 -1
- package/lib/components/Bonus/Bonus.js.map +1 -1
- package/lib/components/Bonus/BonusContent.d.ts +1 -1
- package/lib/components/BonusBenefitsBlock/renderBonusBenefit.js +1 -1
- package/lib/components/BonusBenefitsBlock/renderBonusBenefit.js.map +1 -1
- package/lib/components/BusinessBlock/BusinessBlockContent.d.ts +1 -1
- package/lib/components/ButtonsBlock/ButtonsBlockContent.d.ts +1 -1
- package/lib/components/Calculator/UnknownRate.js +1 -1
- package/lib/components/Calculator/UnknownRate.js.map +1 -1
- package/lib/components/Calculator/getRefinancingCalculatorLimitParams.js.map +1 -1
- package/lib/components/Calculator/getRefinancingCalculatorRateParams.js +1 -1
- package/lib/components/Calculator/getRefinancingCalculatorRateParams.js.map +1 -1
- package/lib/components/Calculator/rangeHelpers.js +1 -1
- package/lib/components/Calculator/rangeHelpers.js.map +1 -1
- package/lib/components/CarouselCatalogCard/CarouselCatalogCardContent.d.ts +1 -1
- package/lib/components/CarouselProductCard/CarouselProductCard.d.ts +1 -1
- package/lib/components/CarouselProductCard/CarouselProductCard.js +1 -1
- package/lib/components/CarouselProductCard/CarouselProductCard.js.map +1 -1
- package/lib/components/CarouselProductCard/CarouselProductCardContent.d.ts +1 -1
- package/lib/components/CarouselProgramsCard/CarouselProgramsCardContent.d.ts +1 -1
- package/lib/components/CarouselRecommendationCard/CarouselRecommendationCard.js +2 -1
- package/lib/components/CarouselRecommendationCard/CarouselRecommendationCard.js.map +1 -1
- package/lib/components/CarouselRecommendationCard/ImageAlwaysOnRight.d.ts +1 -0
- package/lib/components/CarouselRecommendationCard/ImageAlwaysOnRight.js +2 -0
- package/lib/components/CarouselRecommendationCard/ImageAlwaysOnRight.js.map +1 -0
- package/lib/components/CarouselRecommendationCard/ImageAlwaysOnRight.mobile.d.ts +1 -0
- package/lib/components/CarouselRecommendationCard/ImageAlwaysOnRight.mobile.js +2 -0
- package/lib/components/CarouselRecommendationCard/ImageAlwaysOnRight.mobile.js.map +1 -0
- package/lib/components/ComparisonTable/ComparisonTable.js +1 -1
- package/lib/components/ComparisonTable/ComparisonTable.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/TableCell.js +1 -1
- package/lib/components/ComparisonTable/TableCell.js.map +1 -1
- package/lib/components/ComparisonTable/TableCell.mobile.js +1 -1
- package/lib/components/ComparisonTable/TableCell.mobile.js.map +1 -1
- package/lib/components/ComparisonTable/TableColumn.js +1 -1
- package/lib/components/ComparisonTable/TableColumn.js.map +1 -1
- package/lib/components/ComparisonTable/TableRow.js +1 -1
- package/lib/components/ComparisonTable/TableRow.js.map +1 -1
- package/lib/components/Depository/Depository.d.ts +5 -0
- package/lib/components/Depository/Depository.js +15 -2
- package/lib/components/Depository/Depository.js.map +1 -1
- package/lib/components/Depository/DepositoryFilter.d.ts +9 -0
- package/lib/components/Depository/DepositoryFilter.js +6 -0
- package/lib/components/Depository/DepositoryFilter.js.map +1 -0
- package/lib/components/Depository/DepositoryItem.js +3 -2
- package/lib/components/Depository/DepositoryItem.js.map +1 -1
- package/lib/components/Depository/useDepository.d.ts +7 -1
- package/lib/components/Depository/useDepository.js +3 -2
- package/lib/components/Depository/useDepository.js.map +1 -1
- package/lib/components/ErrorBlock/ErrorBlock.js.map +1 -1
- package/lib/components/ErrorBlock/ErrorBlockContent.d.ts +1 -1
- package/lib/components/ExchangeRateTile/ExchangeCurrencyCalculator.d.ts +1 -1
- package/lib/components/ExchangeRateTile/ExchangeCurrencyCalculator.js.map +1 -1
- package/lib/components/Footer/Footer.js +1 -1
- package/lib/components/Footer/Footer.js.map +1 -1
- package/lib/components/Footer/Footer.mobile.js +2 -2
- package/lib/components/Footer/Footer.mobile.js.map +1 -1
- package/lib/components/Footer/LinkList.js +1 -1
- package/lib/components/Footer/LinkList.js.map +1 -1
- package/lib/components/Footer/TextInformation.js +1 -1
- package/lib/components/Footer/TextInformation.js.map +1 -1
- package/lib/components/GracePeriod/GracePeriod.js +1 -1
- package/lib/components/GracePeriod/GracePeriod.js.map +1 -1
- package/lib/components/Header/Header.js +1 -1
- package/lib/components/Header/Header.js.map +1 -1
- package/lib/components/Header/Header.mobile.js +2 -2
- package/lib/components/Header/Header.mobile.js.map +1 -1
- package/lib/components/Header/HeaderSecondaryMenuButton.js.map +1 -1
- package/lib/components/Header/HeaderTop.d.ts +1 -1
- package/lib/components/Header/HeaderTop.js +5 -5
- package/lib/components/Header/HeaderTop.js.map +1 -1
- package/lib/components/Header/InternetBankButton.js +1 -1
- package/lib/components/Header/InternetBankButton.js.map +1 -1
- package/lib/components/InsuranceAmountBlock/InsuranceAmountBlockInner.d.ts +1 -1
- package/lib/components/InsuranceAmountBlock/InsuranceAmountBlockInner.js.map +1 -1
- package/lib/components/MortgageFiltration/MortgageFiltration.js +1 -1
- package/lib/components/MortgageFiltration/MortgageFiltration.js.map +1 -1
- package/lib/components/OfficesAtmsMap/OfficesAtmsMapLayout.js +1 -1
- package/lib/components/OfficesAtmsMap/OfficesAtmsMapLayout.js.map +1 -1
- package/lib/components/ParagraphBlock/ParagraphBlockContent.d.ts +1 -1
- package/lib/components/ProductBlock/renderBackwardButton.js +1 -1
- package/lib/components/ProductBlock/renderBackwardButton.js.map +1 -1
- package/lib/components/RepresentativeOfficeInfo/RepresentativeOfficeInfo.js.map +1 -1
- package/lib/components/RepresentativeOfficeInfo/RepresentativeOfficeInfoContent.d.ts +2 -2
- package/lib/components/RollupItem/PrimaryFoldButton.js +3 -3
- package/lib/components/RollupItem/PrimaryFoldButton.js.map +1 -1
- package/lib/components/RollupItem/RollupItem.d.ts +1 -1
- package/lib/components/RollupItem/RollupItem.js +1 -1
- package/lib/components/RollupItem/RollupItem.js.map +1 -1
- package/lib/components/RollupItem/renderRoundedIcon.mobile.js.map +1 -1
- 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.d.ts +1 -1
- package/lib/components/SafeDepositRental/SafeDepositRentalForm.js.map +1 -1
- package/lib/components/StepsBlock/StepsBlock.js +1 -1
- package/lib/components/StepsBlock/StepsBlock.js.map +1 -1
- package/lib/components/StepsBlock/StepsBlock.mobile.js +1 -1
- package/lib/components/StepsBlock/StepsBlock.mobile.js.map +1 -1
- package/lib/components/StepsBlock/StepsBlockContent.d.ts +2 -2
- package/lib/components/StickyBottomMenu/ActiveSubMenuItem.js +3 -3
- package/lib/components/StickyBottomMenu/ActiveSubMenuItem.js.map +1 -1
- package/lib/components/StickyBottomMenu/RenderItem.js +1 -1
- package/lib/components/StickyBottomMenu/RenderItem.js.map +1 -1
- package/lib/components/StickyBottomMenu/RenderMenuItems.js +1 -1
- package/lib/components/StickyBottomMenu/RenderMenuItems.js.map +1 -1
- package/lib/components/StickyBottomMenu/StickyBottomMenu.mobile.js +2 -2
- package/lib/components/StickyBottomMenu/StickyBottomMenu.mobile.js.map +1 -1
- package/lib/components/StickyBottomMenu/useBurgerMenuDialog.js +3 -3
- package/lib/components/StickyBottomMenu/useBurgerMenuDialog.js.map +1 -1
- package/lib/components/TariffsTable/EmbeddableCellData.d.ts +1 -1
- package/lib/components/TariffsTable/EmbeddableCellData.js.map +1 -1
- package/lib/components/TariffsTable/TariffsTable.js +2 -2
- package/lib/components/TariffsTable/TariffsTable.js.map +1 -1
- package/lib/components/TariffsTable/TariffsTableContent.d.ts +1 -1
- package/lib/components/TariffsTable/TariffsTableRow.js +1 -1
- package/lib/components/TariffsTable/TariffsTableRow.js.map +1 -1
- package/lib/components/TariffsTable/TariffsTableWrapper.js.map +1 -1
- package/lib/components/TariffsTable/dataFixture.js +4 -1
- package/lib/components/TariffsTable/dataFixture.js.map +1 -1
- package/lib/content-page-repository/transformContentPage.js.map +1 -1
- package/lib/hooks/useActiveRoute.js +1 -1
- package/lib/hooks/useActiveRoute.js.map +1 -1
- package/lib/hooks/useSWRResource.js.map +1 -1
- package/lib/icons/IconName.d.ts +12 -66
- package/lib/icons/IconName.js +9 -63
- package/lib/icons/IconName.js.map +1 -1
- package/lib/model/Bullets.d.ts +4 -1
- package/lib/model/JSXBlock.d.ts +1 -0
- package/lib/services/search/useSearch.js.map +1 -1
- package/lib/ui-kit/BaseFiltration/BaseFiltrationContent.d.ts +2 -2
- package/lib/ui-kit/BaseFiltration/BaseFiltrationInner.d.ts +1 -1
- package/lib/ui-kit/BaseFiltration/BaseFiltrationInner.js +2 -5
- package/lib/ui-kit/BaseFiltration/BaseFiltrationInner.js.map +1 -1
- package/lib/ui-kit/Button/Button.js.map +1 -1
- package/lib/ui-kit/Button/getDisabledButtonClasses.js.map +1 -1
- package/lib/ui-kit/Checkbox/Checkbox.js +1 -1
- package/lib/ui-kit/Checkbox/Checkbox.js.map +1 -1
- package/lib/ui-kit/DatePicker/Calendar.d.ts +10 -0
- package/lib/ui-kit/DatePicker/Calendar.js +24 -0
- package/lib/ui-kit/DatePicker/Calendar.js.map +1 -0
- package/lib/ui-kit/DatePicker/DatePicker.d.ts +9 -0
- package/lib/ui-kit/DatePicker/DatePicker.js +42 -0
- package/lib/ui-kit/DatePicker/DatePicker.js.map +1 -0
- package/lib/ui-kit/DatePicker/getYears.d.ts +1 -0
- package/lib/ui-kit/DatePicker/getYears.js +3 -0
- package/lib/ui-kit/DatePicker/getYears.js.map +1 -0
- package/lib/ui-kit/DatePicker/months.d.ts +1 -0
- package/lib/ui-kit/DatePicker/months.js +15 -0
- package/lib/ui-kit/DatePicker/months.js.map +1 -0
- package/lib/ui-kit/DatePicker/renderCalendarCells.d.ts +12 -0
- package/lib/ui-kit/DatePicker/renderCalendarCells.js +32 -0
- package/lib/ui-kit/DatePicker/renderCalendarCells.js.map +1 -0
- package/lib/ui-kit/DatePicker/useDatePickerManager.d.ts +26 -0
- package/lib/ui-kit/DatePicker/useDatePickerManager.js +45 -0
- package/lib/ui-kit/DatePicker/useDatePickerManager.js.map +1 -0
- package/lib/ui-kit/Foldable/DefaultFoldButton.js.map +1 -1
- package/lib/ui-kit/Icon/Icon.js +1 -1
- package/lib/ui-kit/Icon/Icon.js.map +1 -1
- package/lib/ui-kit/InnerTable/InnerTableButton.js +1 -1
- package/lib/ui-kit/InnerTable/InnerTableButton.js.map +1 -1
- package/lib/ui-kit/InnerTable/getHorizontalShift.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/InputRange/renderRangeWithTicks.js +2 -1
- package/lib/ui-kit/InputRange/renderRangeWithTicks.js.map +1 -1
- package/lib/ui-kit/List/ListContent.d.ts +1 -0
- package/lib/ui-kit/LocationDialog/LocationDialog.js +1 -1
- package/lib/ui-kit/LocationDialog/LocationDialog.js.map +1 -1
- package/lib/ui-kit/NotFound/NotFound.d.ts +2 -0
- package/lib/ui-kit/NotFound/NotFound.js +7 -0
- package/lib/ui-kit/NotFound/NotFound.js.map +1 -0
- package/lib/ui-kit/Pagination/PageSizeSelector.js +1 -1
- package/lib/ui-kit/Pagination/PageSizeSelector.js.map +1 -1
- package/lib/ui-kit/Paragraph/Paragraph.js.map +1 -1
- package/lib/ui-kit/Radio/Radio.d.ts +1 -1
- package/lib/ui-kit/Radio/Radio.js +2 -1
- package/lib/ui-kit/Radio/Radio.js.map +1 -1
- package/lib/ui-kit/RadioButtonGroup/RadioButtonGroup.js +1 -1
- package/lib/ui-kit/RadioButtonGroup/RadioButtonGroup.js.map +1 -1
- package/lib/ui-kit/RichText/RichText.js.map +1 -1
- package/lib/ui-kit/RichText/RichTextProps.d.ts +1 -0
- package/lib/ui-kit/SearchBar/SearchBar.js +1 -1
- package/lib/ui-kit/SearchBar/SearchBar.js.map +1 -1
- package/lib/ui-kit/SearchDialog/SearchInput.d.ts +1 -0
- package/lib/ui-kit/SearchDialog/SearchInput.js +2 -2
- package/lib/ui-kit/SearchDialog/SearchInput.js.map +1 -1
- package/lib/ui-kit/Select/Select.d.ts +3 -1
- package/lib/ui-kit/Select/Select.js +3 -3
- package/lib/ui-kit/Select/Select.js.map +1 -1
- package/lib/ui-kit/Select/SelectPopup.js +6 -1
- package/lib/ui-kit/Select/SelectPopup.js.map +1 -1
- package/lib/ui-kit/Select/filterOptions.js.map +1 -1
- package/lib/ui-kit/SwipeListControl/SwipeListControl.js +1 -1
- package/lib/ui-kit/SwipeListControl/SwipeListControl.js.map +1 -1
- package/lib/ui-kit/Text/Text.js.map +1 -1
- package/lib/ui-kit/Text/TextProps.d.ts +1 -0
- package/lib/ui-kit/TextWithIcon/TextWithIcon.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/utils/formatDate.d.ts +1 -1
- package/lib/utils/formatDate.js +11 -1
- package/lib/utils/formatDate.js.map +1 -1
- package/mobile/bundle/bundle.umd.js +475 -466
- package/mobile/bundle/bundle.umd.min.js +1 -1
- package/mobile/bundle/components/ApplicationForm/renderWedDataOrganization.d.ts +1 -1
- package/mobile/bundle/components/BenefitsBlock/BenefitsBlockContent.d.ts +1 -1
- package/mobile/bundle/components/Bonus/BonusContent.d.ts +1 -1
- package/mobile/bundle/components/BusinessBlock/BusinessBlockContent.d.ts +1 -1
- package/mobile/bundle/components/ButtonsBlock/ButtonsBlockContent.d.ts +1 -1
- package/mobile/bundle/components/CarouselCatalogCard/CarouselCatalogCardContent.d.ts +1 -1
- package/mobile/bundle/components/CarouselProductCard/CarouselProductCard.d.ts +1 -1
- package/mobile/bundle/components/CarouselProductCard/CarouselProductCardContent.d.ts +1 -1
- package/mobile/bundle/components/CarouselProgramsCard/CarouselProgramsCardContent.d.ts +1 -1
- package/mobile/bundle/components/CarouselRecommendationCard/ImageAlwaysOnRight.d.ts +1 -0
- package/mobile/bundle/components/Depository/Depository.d.ts +5 -0
- package/mobile/bundle/components/Depository/DepositoryFilter.d.ts +9 -0
- package/mobile/bundle/components/Depository/useDepository.d.ts +7 -1
- package/mobile/bundle/components/ErrorBlock/ErrorBlockContent.d.ts +1 -1
- package/mobile/bundle/components/ExchangeRateTile/ExchangeCurrencyCalculator.d.ts +1 -1
- package/mobile/bundle/components/Header/HeaderTop.d.ts +1 -1
- package/mobile/bundle/components/InsuranceAmountBlock/InsuranceAmountBlockInner.d.ts +1 -1
- package/mobile/bundle/components/ParagraphBlock/ParagraphBlockContent.d.ts +1 -1
- package/mobile/bundle/components/RepresentativeOfficeInfo/RepresentativeOfficeInfoContent.d.ts +2 -2
- package/mobile/bundle/components/RollupItem/RollupItem.d.ts +1 -1
- package/mobile/bundle/components/SafeDepositRental/SafeDepositRentalForm.d.ts +1 -1
- package/mobile/bundle/components/StepsBlock/StepsBlockContent.d.ts +2 -2
- package/mobile/bundle/components/TariffsTable/EmbeddableCellData.d.ts +1 -1
- package/mobile/bundle/components/TariffsTable/TariffsTableContent.d.ts +1 -1
- package/mobile/bundle/icons/IconName.d.ts +12 -66
- package/mobile/bundle/model/Bullets.d.ts +4 -1
- package/mobile/bundle/model/JSXBlock.d.ts +1 -0
- package/mobile/bundle/ui-kit/BaseFiltration/BaseFiltrationContent.d.ts +2 -2
- package/mobile/bundle/ui-kit/BaseFiltration/BaseFiltrationInner.d.ts +1 -1
- package/mobile/bundle/ui-kit/DatePicker/Calendar.d.ts +10 -0
- package/mobile/bundle/ui-kit/DatePicker/DatePicker.d.ts +9 -0
- package/mobile/bundle/ui-kit/DatePicker/getYears.d.ts +1 -0
- package/mobile/bundle/ui-kit/DatePicker/months.d.ts +1 -0
- package/mobile/bundle/ui-kit/DatePicker/renderCalendarCells.d.ts +12 -0
- package/mobile/bundle/ui-kit/DatePicker/useDatePickerManager.d.ts +26 -0
- package/mobile/bundle/ui-kit/List/ListContent.d.ts +1 -0
- package/mobile/bundle/ui-kit/NotFound/NotFound.d.ts +2 -0
- package/mobile/bundle/ui-kit/Radio/Radio.d.ts +1 -1
- package/mobile/bundle/ui-kit/RichText/RichTextProps.d.ts +1 -0
- package/mobile/bundle/ui-kit/SearchDialog/SearchInput.d.ts +1 -0
- package/mobile/bundle/ui-kit/Select/Select.d.ts +3 -1
- package/mobile/bundle/ui-kit/Text/TextProps.d.ts +1 -0
- package/mobile/bundle/utils/formatDate.d.ts +1 -1
- package/mobile/dist/components/ApplicationForm/ApplicationFormWed.js.map +1 -1
- package/mobile/dist/components/ApplicationForm/renderWedDataOrganization.d.ts +1 -1
- package/mobile/dist/components/ApplicationForm/renderWedDataOrganization.js.map +1 -1
- package/mobile/dist/components/ApplicationForm/renderWedTextarea.js.map +1 -1
- package/mobile/dist/components/BenefitsBlock/BenefitsBlock.js +1 -1
- package/mobile/dist/components/BenefitsBlock/BenefitsBlock.js.map +1 -1
- package/mobile/dist/components/BenefitsBlock/BenefitsBlockContent.d.ts +1 -1
- package/mobile/dist/components/Blocks.js +2 -2
- package/mobile/dist/components/Blocks.js.map +1 -1
- package/mobile/dist/components/Bonus/Bonus.js +1 -1
- package/mobile/dist/components/Bonus/Bonus.js.map +1 -1
- package/mobile/dist/components/Bonus/BonusContent.d.ts +1 -1
- package/mobile/dist/components/BonusBenefitsBlock/renderBonusBenefit.js +1 -1
- package/mobile/dist/components/BonusBenefitsBlock/renderBonusBenefit.js.map +1 -1
- package/mobile/dist/components/BusinessBlock/BusinessBlockContent.d.ts +1 -1
- package/mobile/dist/components/ButtonsBlock/ButtonsBlockContent.d.ts +1 -1
- package/mobile/dist/components/Calculator/UnknownRate.js +1 -1
- package/mobile/dist/components/Calculator/UnknownRate.js.map +1 -1
- package/mobile/dist/components/Calculator/getRefinancingCalculatorLimitParams.js.map +1 -1
- package/mobile/dist/components/Calculator/getRefinancingCalculatorRateParams.js +1 -1
- package/mobile/dist/components/Calculator/getRefinancingCalculatorRateParams.js.map +1 -1
- package/mobile/dist/components/Calculator/rangeHelpers.js +1 -1
- package/mobile/dist/components/Calculator/rangeHelpers.js.map +1 -1
- package/mobile/dist/components/CarouselCatalogCard/CarouselCatalogCardContent.d.ts +1 -1
- package/mobile/dist/components/CarouselProductCard/CarouselProductCard.d.ts +1 -1
- package/mobile/dist/components/CarouselProductCard/CarouselProductCard.js +1 -1
- package/mobile/dist/components/CarouselProductCard/CarouselProductCard.js.map +1 -1
- package/mobile/dist/components/CarouselProductCard/CarouselProductCardContent.d.ts +1 -1
- package/mobile/dist/components/CarouselProgramsCard/CarouselProgramsCardContent.d.ts +1 -1
- package/mobile/dist/components/CarouselRecommendationCard/CarouselRecommendationCard.js +5 -3
- package/mobile/dist/components/CarouselRecommendationCard/CarouselRecommendationCard.js.map +1 -1
- package/mobile/dist/components/CarouselRecommendationCard/ImageAlwaysOnRight.d.ts +1 -0
- package/mobile/dist/components/CarouselRecommendationCard/ImageAlwaysOnRight.js +4 -0
- package/mobile/dist/components/CarouselRecommendationCard/ImageAlwaysOnRight.js.map +1 -0
- package/mobile/dist/components/ComparisonTable/TableCell.js +1 -1
- package/mobile/dist/components/ComparisonTable/TableCell.js.map +1 -1
- package/mobile/dist/components/ComparisonTable/TableColumn.js +1 -1
- package/mobile/dist/components/ComparisonTable/TableColumn.js.map +1 -1
- package/mobile/dist/components/ComparisonTable/TableRow.js +1 -1
- package/mobile/dist/components/ComparisonTable/TableRow.js.map +1 -1
- package/mobile/dist/components/Depository/Depository.d.ts +5 -0
- package/mobile/dist/components/Depository/Depository.js +15 -2
- package/mobile/dist/components/Depository/Depository.js.map +1 -1
- package/mobile/dist/components/Depository/DepositoryFilter.d.ts +9 -0
- package/mobile/dist/components/Depository/DepositoryFilter.js +8 -0
- package/mobile/dist/components/Depository/DepositoryFilter.js.map +1 -0
- package/mobile/dist/components/Depository/DepositoryItem.js +3 -2
- package/mobile/dist/components/Depository/DepositoryItem.js.map +1 -1
- package/mobile/dist/components/Depository/useDepository.d.ts +7 -1
- package/mobile/dist/components/Depository/useDepository.js +3 -2
- package/mobile/dist/components/Depository/useDepository.js.map +1 -1
- package/mobile/dist/components/ErrorBlock/ErrorBlock.js.map +1 -1
- package/mobile/dist/components/ErrorBlock/ErrorBlockContent.d.ts +1 -1
- package/mobile/dist/components/ExchangeRateTile/ExchangeCurrencyCalculator.d.ts +1 -1
- package/mobile/dist/components/ExchangeRateTile/ExchangeCurrencyCalculator.js.map +1 -1
- package/mobile/dist/components/Footer/Footer.js +2 -2
- package/mobile/dist/components/Footer/Footer.js.map +1 -1
- package/mobile/dist/components/Footer/LinkList.js +1 -1
- package/mobile/dist/components/Footer/LinkList.js.map +1 -1
- package/mobile/dist/components/Footer/TextInformation.js +1 -1
- package/mobile/dist/components/Footer/TextInformation.js.map +1 -1
- package/mobile/dist/components/GracePeriod/GracePeriod.js +1 -1
- package/mobile/dist/components/GracePeriod/GracePeriod.js.map +1 -1
- package/mobile/dist/components/Header/Header.js +2 -2
- package/mobile/dist/components/Header/Header.js.map +1 -1
- package/mobile/dist/components/Header/HeaderSecondaryMenuButton.js.map +1 -1
- package/mobile/dist/components/Header/HeaderTop.d.ts +1 -1
- package/mobile/dist/components/Header/HeaderTop.js +5 -5
- package/mobile/dist/components/Header/HeaderTop.js.map +1 -1
- package/mobile/dist/components/Header/InternetBankButton.js +1 -1
- package/mobile/dist/components/Header/InternetBankButton.js.map +1 -1
- package/mobile/dist/components/InsuranceAmountBlock/InsuranceAmountBlockInner.d.ts +1 -1
- package/mobile/dist/components/InsuranceAmountBlock/InsuranceAmountBlockInner.js.map +1 -1
- package/mobile/dist/components/MortgageFiltration/MortgageFiltration.js +1 -1
- package/mobile/dist/components/MortgageFiltration/MortgageFiltration.js.map +1 -1
- package/mobile/dist/components/OfficesAtmsMap/OfficesAtmsMapLayout.js +1 -1
- package/mobile/dist/components/OfficesAtmsMap/OfficesAtmsMapLayout.js.map +1 -1
- package/mobile/dist/components/ParagraphBlock/ParagraphBlockContent.d.ts +1 -1
- package/mobile/dist/components/ProductBlock/renderBackwardButton.js +1 -1
- package/mobile/dist/components/ProductBlock/renderBackwardButton.js.map +1 -1
- package/mobile/dist/components/RepresentativeOfficeInfo/RepresentativeOfficeInfo.js.map +1 -1
- package/mobile/dist/components/RepresentativeOfficeInfo/RepresentativeOfficeInfoContent.d.ts +2 -2
- package/mobile/dist/components/RollupItem/PrimaryFoldButton.js +3 -3
- package/mobile/dist/components/RollupItem/PrimaryFoldButton.js.map +1 -1
- package/mobile/dist/components/RollupItem/RollupItem.d.ts +1 -1
- package/mobile/dist/components/RollupItem/RollupItem.js +1 -1
- package/mobile/dist/components/RollupItem/RollupItem.js.map +1 -1
- package/mobile/dist/components/RollupItem/renderRoundedIcon.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.d.ts +1 -1
- package/mobile/dist/components/SafeDepositRental/SafeDepositRentalForm.js.map +1 -1
- package/mobile/dist/components/StepsBlock/StepsBlock.js +1 -1
- package/mobile/dist/components/StepsBlock/StepsBlock.js.map +1 -1
- package/mobile/dist/components/StepsBlock/StepsBlockContent.d.ts +2 -2
- package/mobile/dist/components/StickyBottomMenu/ActiveSubMenuItem.js +3 -3
- package/mobile/dist/components/StickyBottomMenu/ActiveSubMenuItem.js.map +1 -1
- package/mobile/dist/components/StickyBottomMenu/RenderItem.js +1 -1
- package/mobile/dist/components/StickyBottomMenu/RenderItem.js.map +1 -1
- package/mobile/dist/components/StickyBottomMenu/RenderMenuItems.js +1 -1
- package/mobile/dist/components/StickyBottomMenu/RenderMenuItems.js.map +1 -1
- package/mobile/dist/components/StickyBottomMenu/StickyBottomMenu.js +2 -2
- package/mobile/dist/components/StickyBottomMenu/StickyBottomMenu.js.map +1 -1
- package/mobile/dist/components/StickyBottomMenu/useBurgerMenuDialog.js +3 -3
- package/mobile/dist/components/StickyBottomMenu/useBurgerMenuDialog.js.map +1 -1
- package/mobile/dist/components/TariffsTable/EmbeddableCellData.d.ts +1 -1
- package/mobile/dist/components/TariffsTable/EmbeddableCellData.js.map +1 -1
- package/mobile/dist/components/TariffsTable/TariffsTable.js +2 -2
- package/mobile/dist/components/TariffsTable/TariffsTable.js.map +1 -1
- package/mobile/dist/components/TariffsTable/TariffsTableContent.d.ts +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/TariffsTableWrapper.js.map +1 -1
- package/mobile/dist/components/TariffsTable/dataFixture.js +4 -1
- package/mobile/dist/components/TariffsTable/dataFixture.js.map +1 -1
- package/mobile/dist/content-page-repository/transformContentPage.js.map +1 -1
- package/mobile/dist/hooks/useActiveRoute.js +1 -1
- package/mobile/dist/hooks/useActiveRoute.js.map +1 -1
- package/mobile/dist/hooks/useSWRResource.js.map +1 -1
- package/mobile/dist/icons/IconName.d.ts +12 -66
- package/mobile/dist/icons/IconName.js +9 -63
- package/mobile/dist/icons/IconName.js.map +1 -1
- package/mobile/dist/model/Bullets.d.ts +4 -1
- package/mobile/dist/model/JSXBlock.d.ts +1 -0
- package/mobile/dist/services/search/useSearch.js.map +1 -1
- package/mobile/dist/ui-kit/BaseFiltration/BaseFiltrationContent.d.ts +2 -2
- package/mobile/dist/ui-kit/BaseFiltration/BaseFiltrationInner.d.ts +1 -1
- package/mobile/dist/ui-kit/BaseFiltration/BaseFiltrationInner.js +2 -5
- package/mobile/dist/ui-kit/BaseFiltration/BaseFiltrationInner.js.map +1 -1
- package/mobile/dist/ui-kit/Button/Button.js.map +1 -1
- package/mobile/dist/ui-kit/Button/getDisabledButtonClasses.js.map +1 -1
- package/mobile/dist/ui-kit/Checkbox/Checkbox.js +1 -1
- package/mobile/dist/ui-kit/Checkbox/Checkbox.js.map +1 -1
- package/mobile/dist/ui-kit/DatePicker/Calendar.d.ts +10 -0
- package/mobile/dist/ui-kit/DatePicker/Calendar.js +26 -0
- package/mobile/dist/ui-kit/DatePicker/Calendar.js.map +1 -0
- package/mobile/dist/ui-kit/DatePicker/DatePicker.d.ts +9 -0
- package/mobile/dist/ui-kit/DatePicker/DatePicker.js +44 -0
- package/mobile/dist/ui-kit/DatePicker/DatePicker.js.map +1 -0
- package/mobile/dist/ui-kit/DatePicker/getYears.d.ts +1 -0
- package/mobile/dist/ui-kit/DatePicker/getYears.js +6 -0
- package/mobile/dist/ui-kit/DatePicker/getYears.js.map +1 -0
- package/mobile/dist/ui-kit/DatePicker/months.d.ts +1 -0
- package/mobile/dist/ui-kit/DatePicker/months.js +17 -0
- package/mobile/dist/ui-kit/DatePicker/months.js.map +1 -0
- package/mobile/dist/ui-kit/DatePicker/renderCalendarCells.d.ts +12 -0
- package/mobile/dist/ui-kit/DatePicker/renderCalendarCells.js +35 -0
- package/mobile/dist/ui-kit/DatePicker/renderCalendarCells.js.map +1 -0
- package/mobile/dist/ui-kit/DatePicker/useDatePickerManager.d.ts +26 -0
- package/mobile/dist/ui-kit/DatePicker/useDatePickerManager.js +48 -0
- package/mobile/dist/ui-kit/DatePicker/useDatePickerManager.js.map +1 -0
- package/mobile/dist/ui-kit/Foldable/DefaultFoldButton.js.map +1 -1
- package/mobile/dist/ui-kit/Icon/Icon.js +1 -1
- package/mobile/dist/ui-kit/Icon/Icon.js.map +1 -1
- package/mobile/dist/ui-kit/InnerTable/InnerTableButton.js +1 -1
- package/mobile/dist/ui-kit/InnerTable/InnerTableButton.js.map +1 -1
- package/mobile/dist/ui-kit/InnerTable/getHorizontalShift.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/InputRange/renderRangeWithTicks.js +2 -1
- package/mobile/dist/ui-kit/InputRange/renderRangeWithTicks.js.map +1 -1
- package/mobile/dist/ui-kit/List/ListContent.d.ts +1 -0
- package/mobile/dist/ui-kit/LocationDialog/LocationDialog.js +1 -1
- package/mobile/dist/ui-kit/LocationDialog/LocationDialog.js.map +1 -1
- package/mobile/dist/ui-kit/NotFound/NotFound.d.ts +2 -0
- package/mobile/dist/ui-kit/NotFound/NotFound.js +9 -0
- package/mobile/dist/ui-kit/NotFound/NotFound.js.map +1 -0
- package/mobile/dist/ui-kit/Pagination/PageSizeSelector.js +1 -1
- package/mobile/dist/ui-kit/Pagination/PageSizeSelector.js.map +1 -1
- package/mobile/dist/ui-kit/Paragraph/Paragraph.js.map +1 -1
- package/mobile/dist/ui-kit/Radio/Radio.d.ts +1 -1
- package/mobile/dist/ui-kit/Radio/Radio.js +2 -1
- package/mobile/dist/ui-kit/Radio/Radio.js.map +1 -1
- package/mobile/dist/ui-kit/RadioButtonGroup/RadioButtonGroup.js +1 -1
- package/mobile/dist/ui-kit/RadioButtonGroup/RadioButtonGroup.js.map +1 -1
- package/mobile/dist/ui-kit/RichText/RichText.js.map +1 -1
- package/mobile/dist/ui-kit/RichText/RichTextProps.d.ts +1 -0
- package/mobile/dist/ui-kit/SearchBar/SearchBar.js +1 -1
- package/mobile/dist/ui-kit/SearchBar/SearchBar.js.map +1 -1
- package/mobile/dist/ui-kit/SearchDialog/SearchInput.d.ts +1 -0
- package/mobile/dist/ui-kit/SearchDialog/SearchInput.js +2 -2
- package/mobile/dist/ui-kit/SearchDialog/SearchInput.js.map +1 -1
- package/mobile/dist/ui-kit/Select/Select.d.ts +3 -1
- package/mobile/dist/ui-kit/Select/Select.js +3 -3
- package/mobile/dist/ui-kit/Select/Select.js.map +1 -1
- package/mobile/dist/ui-kit/Select/SelectPopup.js +6 -1
- package/mobile/dist/ui-kit/Select/SelectPopup.js.map +1 -1
- package/mobile/dist/ui-kit/Select/filterOptions.js.map +1 -1
- package/mobile/dist/ui-kit/SwipeListControl/SwipeListControl.js +1 -1
- package/mobile/dist/ui-kit/SwipeListControl/SwipeListControl.js.map +1 -1
- package/mobile/dist/ui-kit/Text/Text.js.map +1 -1
- package/mobile/dist/ui-kit/Text/TextProps.d.ts +1 -0
- package/mobile/dist/ui-kit/TextWithIcon/TextWithIcon.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/utils/formatDate.d.ts +1 -1
- package/mobile/dist/utils/formatDate.js +11 -1
- package/mobile/dist/utils/formatDate.js.map +1 -1
- package/mobile/lib/common.css +1 -1
- package/mobile/lib/components/ApplicationForm/ApplicationFormWed.js.map +1 -1
- package/mobile/lib/components/ApplicationForm/renderWedDataOrganization.d.ts +1 -1
- package/mobile/lib/components/ApplicationForm/renderWedDataOrganization.js.map +1 -1
- package/mobile/lib/components/ApplicationForm/renderWedTextarea.js.map +1 -1
- package/mobile/lib/components/BenefitsBlock/BenefitsBlock.js +1 -1
- package/mobile/lib/components/BenefitsBlock/BenefitsBlock.js.map +1 -1
- package/mobile/lib/components/BenefitsBlock/BenefitsBlockContent.d.ts +1 -1
- package/mobile/lib/components/Blocks.js +2 -2
- package/mobile/lib/components/Blocks.js.map +1 -1
- package/mobile/lib/components/Bonus/Bonus.js +1 -1
- package/mobile/lib/components/Bonus/Bonus.js.map +1 -1
- package/mobile/lib/components/Bonus/BonusContent.d.ts +1 -1
- package/mobile/lib/components/BonusBenefitsBlock/renderBonusBenefit.js +1 -1
- package/mobile/lib/components/BonusBenefitsBlock/renderBonusBenefit.js.map +1 -1
- package/mobile/lib/components/BusinessBlock/BusinessBlockContent.d.ts +1 -1
- package/mobile/lib/components/ButtonsBlock/ButtonsBlockContent.d.ts +1 -1
- package/mobile/lib/components/Calculator/UnknownRate.js +1 -1
- package/mobile/lib/components/Calculator/UnknownRate.js.map +1 -1
- package/mobile/lib/components/Calculator/getRefinancingCalculatorLimitParams.js.map +1 -1
- package/mobile/lib/components/Calculator/getRefinancingCalculatorRateParams.js +1 -1
- package/mobile/lib/components/Calculator/getRefinancingCalculatorRateParams.js.map +1 -1
- package/mobile/lib/components/Calculator/rangeHelpers.js +1 -1
- package/mobile/lib/components/Calculator/rangeHelpers.js.map +1 -1
- package/mobile/lib/components/CarouselCatalogCard/CarouselCatalogCardContent.d.ts +1 -1
- package/mobile/lib/components/CarouselProductCard/CarouselProductCard.d.ts +1 -1
- package/mobile/lib/components/CarouselProductCard/CarouselProductCard.js +1 -1
- package/mobile/lib/components/CarouselProductCard/CarouselProductCard.js.map +1 -1
- package/mobile/lib/components/CarouselProductCard/CarouselProductCardContent.d.ts +1 -1
- package/mobile/lib/components/CarouselProgramsCard/CarouselProgramsCardContent.d.ts +1 -1
- package/mobile/lib/components/CarouselRecommendationCard/CarouselRecommendationCard.js +6 -4
- package/mobile/lib/components/CarouselRecommendationCard/CarouselRecommendationCard.js.map +1 -1
- package/mobile/lib/components/CarouselRecommendationCard/ImageAlwaysOnRight.d.ts +1 -0
- package/mobile/lib/components/CarouselRecommendationCard/ImageAlwaysOnRight.js +2 -0
- package/mobile/lib/components/CarouselRecommendationCard/ImageAlwaysOnRight.js.map +1 -0
- package/mobile/lib/components/ComparisonTable/TableCell.js +1 -1
- package/mobile/lib/components/ComparisonTable/TableCell.js.map +1 -1
- package/mobile/lib/components/ComparisonTable/TableColumn.js +1 -1
- package/mobile/lib/components/ComparisonTable/TableColumn.js.map +1 -1
- package/mobile/lib/components/ComparisonTable/TableRow.js +1 -1
- package/mobile/lib/components/ComparisonTable/TableRow.js.map +1 -1
- package/mobile/lib/components/Depository/Depository.d.ts +5 -0
- package/mobile/lib/components/Depository/Depository.js +15 -2
- package/mobile/lib/components/Depository/Depository.js.map +1 -1
- package/mobile/lib/components/Depository/DepositoryFilter.d.ts +9 -0
- package/mobile/lib/components/Depository/DepositoryFilter.js +6 -0
- package/mobile/lib/components/Depository/DepositoryFilter.js.map +1 -0
- package/mobile/lib/components/Depository/DepositoryItem.js +3 -2
- package/mobile/lib/components/Depository/DepositoryItem.js.map +1 -1
- package/mobile/lib/components/Depository/useDepository.d.ts +7 -1
- package/mobile/lib/components/Depository/useDepository.js +3 -2
- package/mobile/lib/components/Depository/useDepository.js.map +1 -1
- package/mobile/lib/components/ErrorBlock/ErrorBlock.js.map +1 -1
- package/mobile/lib/components/ErrorBlock/ErrorBlockContent.d.ts +1 -1
- package/mobile/lib/components/ExchangeRateTile/ExchangeCurrencyCalculator.d.ts +1 -1
- package/mobile/lib/components/ExchangeRateTile/ExchangeCurrencyCalculator.js.map +1 -1
- package/mobile/lib/components/Footer/Footer.js +2 -2
- package/mobile/lib/components/Footer/Footer.js.map +1 -1
- package/mobile/lib/components/Footer/LinkList.js +1 -1
- package/mobile/lib/components/Footer/LinkList.js.map +1 -1
- package/mobile/lib/components/Footer/TextInformation.js +1 -1
- package/mobile/lib/components/Footer/TextInformation.js.map +1 -1
- package/mobile/lib/components/GracePeriod/GracePeriod.js +1 -1
- package/mobile/lib/components/GracePeriod/GracePeriod.js.map +1 -1
- package/mobile/lib/components/Header/Header.js +2 -2
- package/mobile/lib/components/Header/Header.js.map +1 -1
- package/mobile/lib/components/Header/HeaderSecondaryMenuButton.js.map +1 -1
- package/mobile/lib/components/Header/HeaderTop.d.ts +1 -1
- package/mobile/lib/components/Header/HeaderTop.js +5 -5
- package/mobile/lib/components/Header/HeaderTop.js.map +1 -1
- package/mobile/lib/components/Header/InternetBankButton.js +1 -1
- package/mobile/lib/components/Header/InternetBankButton.js.map +1 -1
- package/mobile/lib/components/InsuranceAmountBlock/InsuranceAmountBlockInner.d.ts +1 -1
- package/mobile/lib/components/InsuranceAmountBlock/InsuranceAmountBlockInner.js.map +1 -1
- package/mobile/lib/components/MortgageFiltration/MortgageFiltration.js +1 -1
- package/mobile/lib/components/MortgageFiltration/MortgageFiltration.js.map +1 -1
- package/mobile/lib/components/OfficesAtmsMap/OfficesAtmsMapLayout.js +1 -1
- package/mobile/lib/components/OfficesAtmsMap/OfficesAtmsMapLayout.js.map +1 -1
- package/mobile/lib/components/ParagraphBlock/ParagraphBlockContent.d.ts +1 -1
- package/mobile/lib/components/ProductBlock/renderBackwardButton.js +1 -1
- package/mobile/lib/components/ProductBlock/renderBackwardButton.js.map +1 -1
- package/mobile/lib/components/RepresentativeOfficeInfo/RepresentativeOfficeInfo.js.map +1 -1
- package/mobile/lib/components/RepresentativeOfficeInfo/RepresentativeOfficeInfoContent.d.ts +2 -2
- package/mobile/lib/components/RollupItem/PrimaryFoldButton.js +3 -3
- package/mobile/lib/components/RollupItem/PrimaryFoldButton.js.map +1 -1
- package/mobile/lib/components/RollupItem/RollupItem.d.ts +1 -1
- package/mobile/lib/components/RollupItem/RollupItem.js +1 -1
- package/mobile/lib/components/RollupItem/RollupItem.js.map +1 -1
- package/mobile/lib/components/RollupItem/renderRoundedIcon.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.d.ts +1 -1
- package/mobile/lib/components/SafeDepositRental/SafeDepositRentalForm.js.map +1 -1
- package/mobile/lib/components/StepsBlock/StepsBlock.js +1 -1
- package/mobile/lib/components/StepsBlock/StepsBlock.js.map +1 -1
- package/mobile/lib/components/StepsBlock/StepsBlockContent.d.ts +2 -2
- package/mobile/lib/components/StickyBottomMenu/ActiveSubMenuItem.js +3 -3
- package/mobile/lib/components/StickyBottomMenu/ActiveSubMenuItem.js.map +1 -1
- package/mobile/lib/components/StickyBottomMenu/RenderItem.js +1 -1
- package/mobile/lib/components/StickyBottomMenu/RenderItem.js.map +1 -1
- package/mobile/lib/components/StickyBottomMenu/RenderMenuItems.js +1 -1
- package/mobile/lib/components/StickyBottomMenu/RenderMenuItems.js.map +1 -1
- package/mobile/lib/components/StickyBottomMenu/StickyBottomMenu.js +2 -2
- package/mobile/lib/components/StickyBottomMenu/StickyBottomMenu.js.map +1 -1
- package/mobile/lib/components/StickyBottomMenu/useBurgerMenuDialog.js +3 -3
- package/mobile/lib/components/StickyBottomMenu/useBurgerMenuDialog.js.map +1 -1
- package/mobile/lib/components/TariffsTable/EmbeddableCellData.d.ts +1 -1
- package/mobile/lib/components/TariffsTable/EmbeddableCellData.js.map +1 -1
- package/mobile/lib/components/TariffsTable/TariffsTable.js +2 -2
- package/mobile/lib/components/TariffsTable/TariffsTable.js.map +1 -1
- package/mobile/lib/components/TariffsTable/TariffsTableContent.d.ts +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/TariffsTableWrapper.js.map +1 -1
- package/mobile/lib/components/TariffsTable/dataFixture.js +4 -1
- package/mobile/lib/components/TariffsTable/dataFixture.js.map +1 -1
- package/mobile/lib/content-page-repository/transformContentPage.js.map +1 -1
- package/mobile/lib/hooks/useActiveRoute.js +1 -1
- package/mobile/lib/hooks/useActiveRoute.js.map +1 -1
- package/mobile/lib/hooks/useSWRResource.js.map +1 -1
- package/mobile/lib/icons/IconName.d.ts +12 -66
- package/mobile/lib/icons/IconName.js +9 -63
- package/mobile/lib/icons/IconName.js.map +1 -1
- package/mobile/lib/model/Bullets.d.ts +4 -1
- package/mobile/lib/model/JSXBlock.d.ts +1 -0
- package/mobile/lib/services/search/useSearch.js.map +1 -1
- package/mobile/lib/ui-kit/BaseFiltration/BaseFiltrationContent.d.ts +2 -2
- package/mobile/lib/ui-kit/BaseFiltration/BaseFiltrationInner.d.ts +1 -1
- package/mobile/lib/ui-kit/BaseFiltration/BaseFiltrationInner.js +2 -5
- package/mobile/lib/ui-kit/BaseFiltration/BaseFiltrationInner.js.map +1 -1
- package/mobile/lib/ui-kit/Button/Button.js.map +1 -1
- package/mobile/lib/ui-kit/Button/getDisabledButtonClasses.js.map +1 -1
- package/mobile/lib/ui-kit/Checkbox/Checkbox.js +1 -1
- package/mobile/lib/ui-kit/Checkbox/Checkbox.js.map +1 -1
- package/mobile/lib/ui-kit/DatePicker/Calendar.d.ts +10 -0
- package/mobile/lib/ui-kit/DatePicker/Calendar.js +24 -0
- package/mobile/lib/ui-kit/DatePicker/Calendar.js.map +1 -0
- package/mobile/lib/ui-kit/DatePicker/DatePicker.d.ts +9 -0
- package/mobile/lib/ui-kit/DatePicker/DatePicker.js +42 -0
- package/mobile/lib/ui-kit/DatePicker/DatePicker.js.map +1 -0
- package/mobile/lib/ui-kit/DatePicker/getYears.d.ts +1 -0
- package/mobile/lib/ui-kit/DatePicker/getYears.js +3 -0
- package/mobile/lib/ui-kit/DatePicker/getYears.js.map +1 -0
- package/mobile/lib/ui-kit/DatePicker/months.d.ts +1 -0
- package/mobile/lib/ui-kit/DatePicker/months.js +15 -0
- package/mobile/lib/ui-kit/DatePicker/months.js.map +1 -0
- package/mobile/lib/ui-kit/DatePicker/renderCalendarCells.d.ts +12 -0
- package/mobile/lib/ui-kit/DatePicker/renderCalendarCells.js +32 -0
- package/mobile/lib/ui-kit/DatePicker/renderCalendarCells.js.map +1 -0
- package/mobile/lib/ui-kit/DatePicker/useDatePickerManager.d.ts +26 -0
- package/mobile/lib/ui-kit/DatePicker/useDatePickerManager.js +45 -0
- package/mobile/lib/ui-kit/DatePicker/useDatePickerManager.js.map +1 -0
- package/mobile/lib/ui-kit/Foldable/DefaultFoldButton.js.map +1 -1
- package/mobile/lib/ui-kit/Icon/Icon.js +1 -1
- package/mobile/lib/ui-kit/Icon/Icon.js.map +1 -1
- package/mobile/lib/ui-kit/InnerTable/InnerTableButton.js +1 -1
- package/mobile/lib/ui-kit/InnerTable/InnerTableButton.js.map +1 -1
- package/mobile/lib/ui-kit/InnerTable/getHorizontalShift.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/InputRange/renderRangeWithTicks.js +2 -1
- package/mobile/lib/ui-kit/InputRange/renderRangeWithTicks.js.map +1 -1
- package/mobile/lib/ui-kit/List/ListContent.d.ts +1 -0
- package/mobile/lib/ui-kit/LocationDialog/LocationDialog.js +1 -1
- package/mobile/lib/ui-kit/LocationDialog/LocationDialog.js.map +1 -1
- package/mobile/lib/ui-kit/NotFound/NotFound.d.ts +2 -0
- package/mobile/lib/ui-kit/NotFound/NotFound.js +7 -0
- package/mobile/lib/ui-kit/NotFound/NotFound.js.map +1 -0
- package/mobile/lib/ui-kit/Pagination/PageSizeSelector.js +1 -1
- package/mobile/lib/ui-kit/Pagination/PageSizeSelector.js.map +1 -1
- package/mobile/lib/ui-kit/Paragraph/Paragraph.js.map +1 -1
- package/mobile/lib/ui-kit/Radio/Radio.d.ts +1 -1
- package/mobile/lib/ui-kit/Radio/Radio.js +2 -1
- package/mobile/lib/ui-kit/Radio/Radio.js.map +1 -1
- package/mobile/lib/ui-kit/RadioButtonGroup/RadioButtonGroup.js +1 -1
- package/mobile/lib/ui-kit/RadioButtonGroup/RadioButtonGroup.js.map +1 -1
- package/mobile/lib/ui-kit/RichText/RichText.js.map +1 -1
- package/mobile/lib/ui-kit/RichText/RichTextProps.d.ts +1 -0
- package/mobile/lib/ui-kit/SearchBar/SearchBar.js +1 -1
- package/mobile/lib/ui-kit/SearchBar/SearchBar.js.map +1 -1
- package/mobile/lib/ui-kit/SearchDialog/SearchInput.d.ts +1 -0
- package/mobile/lib/ui-kit/SearchDialog/SearchInput.js +2 -2
- package/mobile/lib/ui-kit/SearchDialog/SearchInput.js.map +1 -1
- package/mobile/lib/ui-kit/Select/Select.d.ts +3 -1
- package/mobile/lib/ui-kit/Select/Select.js +3 -3
- package/mobile/lib/ui-kit/Select/Select.js.map +1 -1
- package/mobile/lib/ui-kit/Select/SelectPopup.js +6 -1
- package/mobile/lib/ui-kit/Select/SelectPopup.js.map +1 -1
- package/mobile/lib/ui-kit/Select/filterOptions.js.map +1 -1
- package/mobile/lib/ui-kit/SwipeListControl/SwipeListControl.js +1 -1
- package/mobile/lib/ui-kit/SwipeListControl/SwipeListControl.js.map +1 -1
- package/mobile/lib/ui-kit/Text/Text.js.map +1 -1
- package/mobile/lib/ui-kit/Text/TextProps.d.ts +1 -0
- package/mobile/lib/ui-kit/TextWithIcon/TextWithIcon.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/utils/formatDate.d.ts +1 -1
- package/mobile/lib/utils/formatDate.js +11 -1
- package/mobile/lib/utils/formatDate.js.map +1 -1
- package/mobile/src/components/ApplicationForm/ApplicationFormWed.tsx +1 -1
- package/mobile/src/components/ApplicationForm/renderWedDataOrganization.tsx +2 -2
- package/mobile/src/components/ApplicationForm/renderWedTextarea.tsx +1 -1
- package/mobile/src/components/BenefitsBlock/BenefitsBlock.tsx +1 -1
- package/mobile/src/components/BenefitsBlock/BenefitsBlockContent.ts +1 -1
- package/mobile/src/components/Blocks.ts +2 -2
- package/mobile/src/components/Bonus/Bonus.tsx +1 -1
- package/mobile/src/components/Bonus/BonusContent.ts +1 -1
- package/mobile/src/components/BonusBenefitsBlock/BonusBenefitsBlock.example.json +1 -1
- package/mobile/src/components/BonusBenefitsBlock/renderBonusBenefit.tsx +1 -1
- package/mobile/src/components/BusinessBlock/BusinessBlockContent.ts +1 -1
- package/mobile/src/components/ButtonsBlock/ButtonsBlockContent.ts +1 -1
- package/mobile/src/components/Calculator/UnknownRate.tsx +3 -5
- package/mobile/src/components/Calculator/getRefinancingCalculatorLimitParams.ts +1 -1
- package/mobile/src/components/Calculator/getRefinancingCalculatorRateParams.ts +1 -1
- package/mobile/src/components/Calculator/rangeHelpers.ts +1 -1
- package/mobile/src/components/Carousel/Carousel.ui.json +1 -1
- package/mobile/src/components/CarouselCard/CarouselCard.ui.json +1 -1
- package/mobile/src/components/CarouselCatalogCard/CarouselCatalogCardContent.ts +1 -1
- package/mobile/src/components/CarouselInvestmentCard/CarouselInvestmentCard.ui.json +1 -1
- package/mobile/src/components/CarouselProductCard/CarouselProductCard.tsx +3 -4
- package/mobile/src/components/CarouselProductCard/CarouselProductCardContent.ts +1 -1
- package/mobile/src/components/CarouselProgramsCard/CarouselProgramsCardContent.ts +1 -1
- package/mobile/src/components/CarouselRecommendationCard/CarouselRecommendationCard.example.json +1 -2
- package/mobile/src/components/CarouselRecommendationCard/CarouselRecommendationCard.tsx +33 -24
- package/mobile/src/components/CarouselRecommendationCard/ImageAlwaysOnRight.tsx +1 -0
- package/mobile/src/components/ComparisonTable/TableCell.tsx +1 -1
- package/mobile/src/components/ComparisonTable/TableColumn.tsx +1 -1
- package/mobile/src/components/ComparisonTable/TableRow.tsx +1 -1
- package/mobile/src/components/Depository/Depository.tsx +27 -4
- package/mobile/src/components/Depository/DepositoryFilter.tsx +39 -0
- package/mobile/src/components/Depository/DepositoryItem.tsx +3 -2
- package/mobile/src/components/Depository/useDepository.ts +11 -2
- package/mobile/src/components/ErrorBlock/ErrorBlock.tsx +1 -1
- package/mobile/src/components/ErrorBlock/ErrorBlockContent.ts +1 -1
- package/mobile/src/components/ExchangeRateTile/ExchangeCurrencyCalculator.tsx +1 -1
- package/mobile/src/components/Footer/Footer.tsx +2 -2
- package/mobile/src/components/Footer/LinkList.tsx +1 -1
- package/mobile/src/components/Footer/TextInformation.tsx +1 -1
- package/mobile/src/components/GracePeriod/GracePeriod.tsx +1 -1
- package/mobile/src/components/Header/Header.tsx +3 -3
- package/mobile/src/components/Header/HeaderSecondaryMenuButton.tsx +1 -1
- package/mobile/src/components/Header/HeaderTop.tsx +6 -6
- package/mobile/src/components/Header/InternetBankButton.tsx +2 -2
- package/mobile/src/components/InsuranceAmountBlock/InsuranceAmountBlockInner.tsx +1 -1
- package/mobile/src/components/MortgageFiltration/MortgageFiltration.tsx +2 -2
- package/mobile/src/components/OfficesAtmsMap/OfficesAtmsMapLayout.tsx +24 -23
- package/mobile/src/components/ParagraphBlock/ParagraphBlockContent.ts +1 -1
- package/mobile/src/components/ProductBlock/renderBackwardButton.tsx +1 -1
- package/mobile/src/components/RepresentativeOfficeInfo/RepresentativeOfficeInfo.tsx +1 -1
- package/mobile/src/components/RepresentativeOfficeInfo/RepresentativeOfficeInfoContent.ts +2 -2
- package/mobile/src/components/RollupItem/PrimaryFoldButton.tsx +4 -4
- package/mobile/src/components/RollupItem/RollupItem.tsx +2 -2
- package/mobile/src/components/RollupItem/renderRoundedIcon.tsx +1 -1
- package/mobile/src/components/SafeDepositRental/SafeDepositRental.tsx +1 -1
- package/mobile/src/components/SafeDepositRental/SafeDepositRentalFields.tsx +2 -2
- package/mobile/src/components/SafeDepositRental/SafeDepositRentalForm.tsx +1 -1
- package/mobile/src/components/StepsBlock/StepsBlock.tsx +1 -1
- package/mobile/src/components/StepsBlock/StepsBlockContent.ts +2 -2
- package/mobile/src/components/StickyBottomMenu/ActiveSubMenuItem.tsx +3 -3
- package/mobile/src/components/StickyBottomMenu/RenderItem.tsx +1 -1
- package/mobile/src/components/StickyBottomMenu/RenderMenuItems.tsx +2 -2
- package/mobile/src/components/StickyBottomMenu/StickyBottomMenu.tsx +3 -3
- package/mobile/src/components/StickyBottomMenu/useBurgerMenuDialog.tsx +3 -3
- package/mobile/src/components/TariffsTable/EmbeddableCellData.tsx +3 -3
- package/mobile/src/components/TariffsTable/TariffsTable.tsx +2 -2
- package/mobile/src/components/TariffsTable/TariffsTableContent.ts +1 -1
- package/mobile/src/components/TariffsTable/TariffsTableRow.tsx +1 -1
- package/mobile/src/components/TariffsTable/TariffsTableWrapper.tsx +1 -1
- package/mobile/src/components/TariffsTable/dataFixture.tsx +4 -1
- package/mobile/src/content-page-repository/transformContentPage.ts +1 -1
- package/mobile/src/hooks/useActiveRoute.ts +1 -1
- package/mobile/src/hooks/useSWRResource.ts +1 -1
- package/mobile/src/icons/ActualBalanceIcon.svg +1 -185
- package/mobile/src/icons/BriefcaseIcon.svg +6 -6
- package/mobile/src/icons/ChartIcon.svg +1 -1
- package/mobile/src/icons/FaxIcon.svg +1 -0
- package/mobile/src/icons/FullScreenIcon.svg +1 -1
- package/mobile/src/icons/HeartIcon.svg +1 -1
- package/mobile/src/icons/HouseIcon.svg +1 -1
- package/mobile/src/icons/IconName.ts +5 -5
- package/mobile/src/icons/MagnifierIcon.svg +1 -39
- package/mobile/src/icons/MailIcon.svg +1 -4
- package/mobile/src/icons/MapMarkerClusterIcon.svg +1 -1
- package/mobile/src/icons/MapMarkerSingleIcon.svg +1 -1
- package/mobile/src/icons/MapOpenedIcon.svg +1 -1
- package/mobile/src/icons/NewDocIcon.svg +1 -249
- package/mobile/src/icons/PackA4Icon.svg +1 -14
- package/mobile/src/icons/PassSendIcon.svg +1 -236
- package/mobile/src/icons/PercentIcon.svg +1 -373
- package/mobile/src/icons/PhoneCallingIcon.svg +1 -0
- package/mobile/src/icons/PhoneIcon.svg +1 -1
- package/mobile/src/icons/PlusCircleIcon.svg +1 -0
- package/mobile/src/icons/ResponseFailIcon.svg +1 -1
- package/mobile/src/icons/ResponseOKIcon.svg +1 -1
- package/mobile/src/icons/SignDocsIcon.svg +1 -286
- package/mobile/src/icons/UserGeoLocationIcon.svg +2 -2
- package/mobile/src/model/Bullets.ts +4 -1
- package/mobile/src/model/JSXBlock.ts +1 -0
- package/mobile/src/services/search/useSearch.ts +2 -2
- package/mobile/src/ui-kit/BaseFiltration/BaseFiltrationContent.ts +2 -2
- package/mobile/src/ui-kit/BaseFiltration/BaseFiltrationInner.tsx +3 -18
- package/mobile/src/ui-kit/Button/Button.tsx +1 -1
- package/mobile/src/ui-kit/Button/getDisabledButtonClasses.ts +1 -1
- package/mobile/src/ui-kit/Checkbox/Checkbox.tsx +1 -1
- package/mobile/src/ui-kit/DatePicker/Calendar.tsx +55 -0
- package/mobile/src/ui-kit/DatePicker/DatePicker.tsx +113 -0
- package/mobile/src/ui-kit/DatePicker/getYears.ts +4 -0
- package/mobile/src/ui-kit/DatePicker/months.ts +14 -0
- package/mobile/src/ui-kit/DatePicker/renderCalendarCells.tsx +76 -0
- package/mobile/src/ui-kit/DatePicker/useDatePickerManager.ts +72 -0
- package/mobile/src/ui-kit/Foldable/DefaultFoldButton.tsx +1 -1
- package/mobile/src/ui-kit/Icon/Icon.tsx +1 -1
- package/mobile/src/ui-kit/InnerTable/InnerTableButton.tsx +2 -2
- package/mobile/src/ui-kit/InnerTable/getHorizontalShift.tsx +1 -1
- package/mobile/src/ui-kit/InputRange/InputRange.tsx +2 -2
- package/mobile/src/ui-kit/InputRange/renderRangeWithTicks.tsx +2 -1
- package/mobile/src/ui-kit/List/ListContent.ts +1 -0
- package/mobile/src/ui-kit/LocationDialog/LocationDialog.tsx +1 -1
- package/mobile/src/ui-kit/NotFound/NotFound.tsx +18 -0
- package/mobile/src/ui-kit/Pagination/PageSizeSelector.tsx +2 -0
- package/mobile/src/ui-kit/Paragraph/Paragraph.tsx +1 -1
- package/mobile/src/ui-kit/Radio/Radio.tsx +3 -2
- package/mobile/src/ui-kit/RadioButtonGroup/RadioButtonGroup.tsx +1 -1
- package/mobile/src/ui-kit/RichText/RichText.tsx +1 -1
- package/mobile/src/ui-kit/RichText/RichTextProps.ts +1 -0
- package/mobile/src/ui-kit/SearchBar/SearchBar.tsx +1 -1
- package/mobile/src/ui-kit/SearchDialog/SearchInput.tsx +5 -4
- package/mobile/src/ui-kit/Select/Select.tsx +7 -3
- package/mobile/src/ui-kit/Select/SelectPopup.tsx +6 -1
- package/mobile/src/ui-kit/Select/filterOptions.ts +3 -1
- package/mobile/src/ui-kit/SwipeListControl/SwipeListControl.tsx +1 -1
- package/mobile/src/ui-kit/Text/Text.tsx +1 -1
- package/mobile/src/ui-kit/Text/TextProps.ts +1 -0
- package/mobile/src/ui-kit/TextWithIcon/TextWithIcon.tsx +1 -1
- package/mobile/src/ui-kit/YandexMap/YandexMap.tsx +1 -1
- package/mobile/src/utils/formatDate.ts +11 -1
- package/package.json +11 -5
- package/src/components/ApplicationForm/ApplicationFormWed.tsx +1 -1
- package/src/components/ApplicationForm/renderWedDataOrganization.tsx +2 -2
- package/src/components/ApplicationForm/renderWedTextarea.tsx +1 -1
- package/src/components/BenefitsBlock/BenefitsBlock.fixture.tsx +5 -4
- package/src/components/BenefitsBlock/BenefitsBlock.tsx +1 -1
- package/src/components/BenefitsBlock/BenefitsBlockContent.ts +1 -1
- package/src/components/Blocks.mobile.ts +2 -2
- package/src/components/Bonus/Bonus.tsx +1 -1
- package/src/components/Bonus/BonusContent.ts +1 -1
- package/src/components/BonusBenefitsBlock/BonusBenefitsBlock.example.json +1 -1
- package/src/components/BonusBenefitsBlock/BonusBenefitsBlock.fixture.mobile.tsx +14 -8
- package/src/components/BonusBenefitsBlock/BonusBenefitsBlock.fixture.tsx +35 -7
- package/src/components/BonusBenefitsBlock/renderBonusBenefit.tsx +1 -1
- package/src/components/BusinessBlock/BusinessBlock.fixture.tsx +2 -1
- package/src/components/BusinessBlock/BusinessBlockContent.ts +1 -1
- package/src/components/ButtonsBlock/ButtonsBlock.fixture.mobile.tsx +2 -1
- package/src/components/ButtonsBlock/ButtonsBlock.fixture.tsx +2 -1
- package/src/components/ButtonsBlock/ButtonsBlockContent.ts +1 -1
- package/src/components/Calculator/Calculator.fixture.tsx +1 -1
- package/src/components/Calculator/UnknownRate.tsx +3 -5
- package/src/components/Calculator/getRefinancingCalculatorLimitParams.ts +1 -1
- package/src/components/Calculator/getRefinancingCalculatorRateParams.ts +1 -1
- package/src/components/Calculator/rangeHelpers.ts +1 -1
- package/src/components/Carousel/Carousel.ui.json +1 -1
- package/src/components/CarouselCard/CarouselCard.ui.json +1 -1
- package/src/components/CarouselCatalogCard/CarouselCatalogCard.fixture.mobile.tsx +1 -1
- package/src/components/CarouselCatalogCard/CarouselCatalogCard.fixture.tsx +1 -1
- package/src/components/CarouselCatalogCard/CarouselCatalogCardContent.ts +1 -1
- package/src/components/CarouselInvestmentCard/CarouselInvestmentCard.ui.json +1 -1
- package/src/components/CarouselProductCard/CarouselProductCard.fixture.mobile.tsx +1 -1
- package/src/components/CarouselProductCard/CarouselProductCard.fixture.tsx +1 -1
- package/src/components/CarouselProductCard/CarouselProductCard.tsx +3 -4
- package/src/components/CarouselProductCard/CarouselProductCardContent.ts +1 -1
- package/src/components/CarouselProgramsCard/CarouselProgramsCardContent.ts +1 -1
- package/src/components/CarouselRecommendationCard/CarouselRecommendationCard.example.json +1 -2
- package/src/components/CarouselRecommendationCard/CarouselRecommendationCard.fixture.mobile.tsx +1 -1
- package/src/components/CarouselRecommendationCard/CarouselRecommendationCard.fixture.tsx +1 -1
- package/src/components/CarouselRecommendationCard/CarouselRecommendationCard.tsx +2 -1
- package/src/components/CarouselRecommendationCard/ImageAlwaysOnRight.mobile.tsx +1 -0
- package/src/components/CarouselRecommendationCard/ImageAlwaysOnRight.tsx +1 -0
- package/src/components/ComparisonTable/ComparisonTable.fixture.tsx +4 -5
- package/src/components/ComparisonTable/ComparisonTable.tsx +1 -1
- package/src/components/ComparisonTable/HeaderCell.tsx +1 -1
- package/src/components/ComparisonTable/TableCell.mobile.tsx +1 -1
- package/src/components/ComparisonTable/TableCell.tsx +1 -1
- package/src/components/ComparisonTable/TableColumn.tsx +1 -1
- package/src/components/ComparisonTable/TableRow.tsx +1 -1
- package/src/components/Depository/Depository.tsx +27 -4
- package/src/components/Depository/DepositoryFilter.tsx +39 -0
- package/src/components/Depository/DepositoryItem.tsx +3 -2
- package/src/components/Depository/useDepository.ts +11 -2
- package/src/components/ErrorBlock/ErrorBlock.tsx +1 -1
- package/src/components/ErrorBlock/ErrorBlockContent.ts +1 -1
- package/src/components/ExchangeRateTile/ExchangeCurrencyCalculator.tsx +1 -1
- package/src/components/Footer/Footer.mobile.tsx +2 -2
- package/src/components/Footer/Footer.tsx +1 -1
- package/src/components/Footer/LinkList.tsx +1 -1
- package/src/components/Footer/TextInformation.tsx +1 -1
- package/src/components/GracePeriod/GracePeriod.tsx +1 -1
- package/src/components/Header/Header.mobile.tsx +3 -3
- package/src/components/Header/Header.tsx +1 -1
- package/src/components/Header/HeaderSecondaryMenuButton.tsx +1 -1
- package/src/components/Header/HeaderTop.tsx +6 -6
- package/src/components/Header/InternetBankButton.tsx +2 -2
- package/src/components/InsuranceAmountBlock/InsuranceAmountBlockInner.tsx +1 -1
- package/src/components/LinkDocs/LinkDocs.fixture.tsx +5 -1
- package/src/components/MortgageFiltration/MortgageFiltration.tsx +2 -2
- package/src/components/OfficesAtmsMap/OfficesAtmsMapLayout.tsx +24 -23
- package/src/components/ParagraphBlock/ParagraphBlockContent.ts +1 -1
- package/src/components/ProductBlock/renderBackwardButton.tsx +1 -1
- package/src/components/ProductGallery/ProductGallery.fixture.mobile.tsx +3 -2
- package/src/components/ProductGallery/ProductGallery.fixture.tsx +1 -1
- package/src/components/ProductTile/ProductTile.fixture.mobile.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 +1 -1
- package/src/components/RepresentativeOfficeInfo/RepresentativeOfficeInfoContent.ts +2 -2
- package/src/components/RollupItem/PrimaryFoldButton.tsx +4 -4
- package/src/components/RollupItem/RollupItem.fixture.mobile.tsx +1 -1
- package/src/components/RollupItem/RollupItem.tsx +2 -2
- package/src/components/RollupItem/renderRoundedIcon.mobile.tsx +1 -1
- package/src/components/SafeDepositRental/SafeDepositRental.tsx +1 -1
- package/src/components/SafeDepositRental/SafeDepositRentalFields.tsx +2 -2
- package/src/components/SafeDepositRental/SafeDepositRentalForm.tsx +1 -1
- package/src/components/StepsBlock/StepsBlock.fixture.tsx +4 -4
- package/src/components/StepsBlock/StepsBlock.mobile.tsx +1 -1
- package/src/components/StepsBlock/StepsBlock.tsx +2 -2
- package/src/components/StepsBlock/StepsBlockContent.ts +2 -2
- package/src/components/StickyBottomMenu/ActiveSubMenuItem.tsx +3 -3
- package/src/components/StickyBottomMenu/RenderItem.tsx +1 -1
- package/src/components/StickyBottomMenu/RenderMenuItems.tsx +2 -2
- package/src/components/StickyBottomMenu/StickyBottomMenu.fixture.mobile.tsx +1 -1
- package/src/components/StickyBottomMenu/StickyBottomMenu.fixture.tsx +2 -1
- package/src/components/StickyBottomMenu/StickyBottomMenu.mobile.tsx +3 -3
- package/src/components/StickyBottomMenu/useBurgerMenuDialog.tsx +3 -3
- package/src/components/TariffsTable/EmbeddableCellData.tsx +3 -3
- package/src/components/TariffsTable/TariffsTable.tsx +2 -2
- package/src/components/TariffsTable/TariffsTableContent.ts +1 -1
- package/src/components/TariffsTable/TariffsTableRow.tsx +1 -1
- package/src/components/TariffsTable/TariffsTableWrapper.tsx +1 -1
- package/src/components/TariffsTable/dataFixture.tsx +4 -1
- package/src/content-page-repository/transformContentPage.ts +1 -1
- package/src/hooks/useActiveRoute.ts +1 -1
- package/src/hooks/useSWRResource.ts +1 -1
- package/src/icons/ActualBalanceIcon.svg +1 -185
- package/src/icons/BriefcaseIcon.svg +6 -6
- package/src/icons/ChartIcon.svg +1 -1
- package/src/icons/FaxIcon.svg +1 -0
- package/src/icons/FullScreenIcon.svg +1 -1
- package/src/icons/HeartIcon.svg +1 -1
- package/src/icons/HouseIcon.svg +1 -1
- package/src/icons/IconName.ts +324 -6
- package/src/icons/MagnifierIcon.svg +1 -39
- package/src/icons/MailIcon.svg +1 -4
- package/src/icons/MapMarkerClusterIcon.svg +1 -1
- package/src/icons/MapMarkerSingleIcon.svg +1 -1
- package/src/icons/MapOpenedIcon.svg +1 -1
- package/src/icons/NewDocIcon.svg +1 -249
- package/src/icons/PackA4Icon.svg +1 -14
- package/src/icons/PassSendIcon.svg +1 -236
- package/src/icons/PercentIcon.svg +1 -373
- package/src/icons/PhoneCallingIcon.svg +1 -0
- package/src/icons/PhoneIcon.svg +1 -1
- package/src/icons/PlusCircleIcon.svg +1 -0
- package/src/icons/ResponseFailIcon.svg +1 -1
- package/src/icons/ResponseOKIcon.svg +1 -1
- package/src/icons/SignDocsIcon.svg +1 -286
- package/src/icons/UserGeoLocationIcon.svg +2 -2
- package/src/model/Bullets.ts +4 -1
- package/src/model/JSXBlock.ts +1 -0
- package/src/services/search/useSearch.ts +2 -2
- package/src/ui-kit/BaseFiltration/BaseFiltrationContent.ts +2 -2
- package/src/ui-kit/BaseFiltration/BaseFiltrationInner.tsx +3 -18
- package/src/ui-kit/Button/Button.tsx +1 -1
- package/src/ui-kit/Button/getDisabledButtonClasses.ts +1 -1
- package/src/ui-kit/Checkbox/Checkbox.tsx +1 -1
- package/src/ui-kit/DatePicker/Calendar.tsx +55 -0
- package/src/ui-kit/DatePicker/DatePicker.tsx +113 -0
- package/src/ui-kit/DatePicker/getYears.ts +4 -0
- package/src/ui-kit/DatePicker/months.ts +14 -0
- package/src/ui-kit/DatePicker/renderCalendarCells.tsx +76 -0
- package/src/ui-kit/DatePicker/useDatePickerManager.ts +72 -0
- package/src/ui-kit/Foldable/DefaultFoldButton.tsx +1 -1
- package/src/ui-kit/Icon/Icon.tsx +1 -1
- package/src/ui-kit/InnerTable/InnerTableButton.tsx +2 -2
- package/src/ui-kit/InnerTable/getHorizontalShift.tsx +1 -1
- package/src/ui-kit/InputRange/InputRange.tsx +2 -2
- package/src/ui-kit/InputRange/renderRangeWithTicks.tsx +2 -1
- package/src/ui-kit/List/ListContent.ts +1 -0
- package/src/ui-kit/LocationDialog/LocationDialog.tsx +1 -1
- package/src/ui-kit/NotFound/NotFound.tsx +18 -0
- package/src/ui-kit/Pagination/PageSizeSelector.tsx +2 -0
- package/src/ui-kit/Paragraph/Paragraph.tsx +1 -1
- package/src/ui-kit/Radio/Radio.tsx +3 -2
- package/src/ui-kit/RadioButtonGroup/RadioButtonGroup.tsx +1 -1
- package/src/ui-kit/RichText/RichText.tsx +1 -1
- package/src/ui-kit/RichText/RichTextProps.ts +1 -0
- package/src/ui-kit/SearchBar/SearchBar.tsx +1 -1
- package/src/ui-kit/SearchDialog/SearchInput.tsx +5 -4
- package/src/ui-kit/Select/Select.tsx +7 -3
- package/src/ui-kit/Select/SelectPopup.tsx +6 -1
- package/src/ui-kit/Select/filterOptions.ts +3 -1
- package/src/ui-kit/SwipeListControl/SwipeListControl.tsx +1 -1
- package/src/ui-kit/Text/Text.tsx +1 -1
- package/src/ui-kit/Text/TextProps.ts +1 -0
- package/src/ui-kit/TextWithIcon/TextWithIcon.tsx +1 -1
- package/src/ui-kit/YandexMap/YandexMap.tsx +1 -1
- package/src/utils/formatDate.ts +11 -1
- package/bundle/components/CarouselRecommendationCard/CarouselRecommendationCard.mobile.d.ts +0 -5
- package/cosmos-static/icons/AirPlaneIcon.svg +0 -1
- package/cosmos-static/icons/BriefcaseIcon2.svg +0 -1
- package/cosmos-static/icons/Car2Icon.svg +0 -1
- package/cosmos-static/icons/CarIcon.svg +0 -1
- package/cosmos-static/icons/CardSendIcon.svg +0 -1
- package/cosmos-static/icons/CardWithGemIcon.svg +0 -1
- package/cosmos-static/icons/CinemaIcon.svg +0 -1
- package/cosmos-static/icons/ClockIcon.svg +0 -1
- package/cosmos-static/icons/CoinIcon.svg +0 -1
- package/cosmos-static/icons/ComfortableCompIcon.svg +0 -1
- package/cosmos-static/icons/CreditCardsIcon.svg +0 -1
- package/cosmos-static/icons/DocsIcon.svg +0 -1
- package/cosmos-static/icons/EarthIcon.svg +0 -1
- package/cosmos-static/icons/GlassIcon.svg +0 -1
- package/cosmos-static/icons/HeartTickIcon.svg +0 -1
- package/cosmos-static/icons/InterestGrowthIcon.svg +0 -1
- package/cosmos-static/icons/InterestIcon.svg +0 -1
- package/cosmos-static/icons/JCBIcon.svg +0 -1
- package/cosmos-static/icons/MasterCardIcon.svg +0 -1
- package/cosmos-static/icons/MetroIcon.svg +0 -1
- package/cosmos-static/icons/MirIcon.svg +0 -1
- package/cosmos-static/icons/NotificationBingIcon.svg +0 -1
- package/cosmos-static/icons/OfficeIcon.svg +0 -1
- package/cosmos-static/icons/PowerIcon.svg +0 -1
- package/cosmos-static/icons/PumpkinIcon.svg +0 -1
- package/cosmos-static/icons/SecurityCardIcon.svg +0 -1
- package/cosmos-static/icons/UnionPayIcon.svg +0 -1
- package/cosmos-static/icons/VisaIcon.svg +0 -1
- package/cosmos-static/icons/WateringCanIcon.svg +0 -1
- package/cosmos-static/icons//320/241onvert/320/241ardIcon.svg +0 -1
- package/dist/components/CarouselRecommendationCard/CarouselRecommendationCard.mobile.d.ts +0 -5
- package/dist/components/CarouselRecommendationCard/CarouselRecommendationCard.mobile.js +0 -16
- package/dist/components/CarouselRecommendationCard/CarouselRecommendationCard.mobile.js.map +0 -1
- package/lib/components/CarouselRecommendationCard/CarouselRecommendationCard.mobile.d.ts +0 -5
- package/lib/components/CarouselRecommendationCard/CarouselRecommendationCard.mobile.js +0 -14
- package/lib/components/CarouselRecommendationCard/CarouselRecommendationCard.mobile.js.map +0 -1
- package/mobile/src/icons/AirPlaneIcon.svg +0 -16
- package/mobile/src/icons/BriefcaseIcon2.svg +0 -7
- package/mobile/src/icons/Car2Icon.svg +0 -10
- package/mobile/src/icons/CarIcon.svg +0 -1
- package/mobile/src/icons/CardSendIcon.svg +0 -9
- package/mobile/src/icons/CardWithGemIcon.svg +0 -1
- package/mobile/src/icons/CinemaIcon.svg +0 -1
- package/mobile/src/icons/ClockIcon.svg +0 -207
- package/mobile/src/icons/CoinIcon.svg +0 -6
- package/mobile/src/icons/ComfortableCompIcon.svg +0 -372
- package/mobile/src/icons/CreditCardsIcon.svg +0 -1
- package/mobile/src/icons/DocsIcon.svg +0 -1
- package/mobile/src/icons/EarthIcon.svg +0 -1
- package/mobile/src/icons/GlassIcon.svg +0 -1
- package/mobile/src/icons/HeartTickIcon.svg +0 -5
- package/mobile/src/icons/InterestGrowthIcon.svg +0 -1
- package/mobile/src/icons/InterestIcon.svg +0 -1
- package/mobile/src/icons/JCBIcon.svg +0 -1
- package/mobile/src/icons/MasterCardIcon.svg +0 -1
- package/mobile/src/icons/MetroIcon.svg +0 -10
- package/mobile/src/icons/MirIcon.svg +0 -1
- package/mobile/src/icons/NotificationBingIcon.svg +0 -5
- package/mobile/src/icons/OfficeIcon.svg +0 -1
- package/mobile/src/icons/PowerIcon.svg +0 -1
- package/mobile/src/icons/PumpkinIcon.svg +0 -1
- package/mobile/src/icons/SecurityCardIcon.svg +0 -7
- package/mobile/src/icons/UnionPayIcon.svg +0 -1
- package/mobile/src/icons/VisaIcon.svg +0 -1
- package/mobile/src/icons/WateringCanIcon.svg +0 -1
- package/mobile/src/icons//320/241onvert/320/241ardIcon.svg +0 -8
- package/src/components/CarouselRecommendationCard/CarouselRecommendationCard.mobile.tsx +0 -58
- package/src/icons/AirPlaneIcon.svg +0 -16
- package/src/icons/BriefcaseIcon2.svg +0 -7
- package/src/icons/Car2Icon.svg +0 -10
- package/src/icons/CarIcon.svg +0 -1
- package/src/icons/CardSendIcon.svg +0 -9
- package/src/icons/CardWithGemIcon.svg +0 -1
- package/src/icons/CinemaIcon.svg +0 -1
- package/src/icons/ClockIcon.svg +0 -207
- package/src/icons/CoinIcon.svg +0 -6
- package/src/icons/ComfortableCompIcon.svg +0 -372
- package/src/icons/CreditCardsIcon.svg +0 -1
- package/src/icons/DocsIcon.svg +0 -1
- package/src/icons/EarthIcon.svg +0 -1
- package/src/icons/GlassIcon.svg +0 -1
- package/src/icons/HeartTickIcon.svg +0 -5
- package/src/icons/InterestGrowthIcon.svg +0 -1
- package/src/icons/InterestIcon.svg +0 -1
- package/src/icons/JCBIcon.svg +0 -1
- package/src/icons/MasterCardIcon.svg +0 -1
- package/src/icons/MetroIcon.svg +0 -10
- package/src/icons/MirIcon.svg +0 -1
- package/src/icons/NotificationBingIcon.svg +0 -5
- package/src/icons/OfficeIcon.svg +0 -1
- package/src/icons/PowerIcon.svg +0 -1
- package/src/icons/PumpkinIcon.svg +0 -1
- package/src/icons/SecurityCardIcon.svg +0 -7
- package/src/icons/UnionPayIcon.svg +0 -1
- package/src/icons/VisaIcon.svg +0 -1
- package/src/icons/WateringCanIcon.svg +0 -1
- package/src/icons//320/241onvert/320/241ardIcon.svg +0 -8
|
@@ -840,7 +840,12 @@
|
|
|
840
840
|
return options.filter((_) => _.text?.toLocaleLowerCase().includes(query?.trim().toLocaleLowerCase()));
|
|
841
841
|
};
|
|
842
842
|
|
|
843
|
-
const SelectPopup = JSX(({ popupRef, options, value, query, onChange }) => options?.length ? (jsx("div", { className: "bg-white text-l max-h-64 overflow-y-auto overflow-x-hidden rounded-md", role: "listbox", ref: popupRef, children: filterOptions(options, query).map((option) => (jsxs("div", { className: "flex px-m py-s cursor-pointer hover:bg-main-divider pr-5xl relative", role: "option", "aria-selected": option.key === value?.key, onClick: () =>
|
|
843
|
+
const SelectPopup = JSX(({ popupRef, options, value, query, onChange }) => options?.length ? (jsx("div", { className: "bg-white text-l max-h-64 overflow-y-auto overflow-x-hidden rounded-md", role: "listbox", ref: popupRef, children: filterOptions(options, query).map((option) => (jsxs("div", { className: "flex px-m py-s cursor-pointer hover:bg-main-divider pr-5xl relative", role: "option", "aria-selected": option.key === value?.key, onClick: (e) => {
|
|
844
|
+
e.stopPropagation();
|
|
845
|
+
if (onChange) {
|
|
846
|
+
onChange(option);
|
|
847
|
+
}
|
|
848
|
+
}, children: [jsx("span", { className: "min-h-6", children: formatOption(option) }), jsx(Icon, { name: "DoneSimpleIcon", width: "16", height: "16", className: style('absolute right-4 pt-3xs', option.key === value?.key ? '' : 'hidden') })] }, option.key))) })) : null);
|
|
844
849
|
|
|
845
850
|
function useSelectPopup({ isOpen, options, value, query, onChange, onClose, }) {
|
|
846
851
|
const popup = usePopupManager();
|
|
@@ -869,7 +874,7 @@
|
|
|
869
874
|
return inputRef;
|
|
870
875
|
}
|
|
871
876
|
|
|
872
|
-
const Select = JSX(({ className, label, options = [], value, valid = true, isBorder = true, placeholder = '', isSearch = false, onChange, }) => {
|
|
877
|
+
const Select = JSX(({ className, label, options = [], value, valid = true, isBorder = true, placeholder = '', isSearch = false, iconVersion, onChange, }) => {
|
|
873
878
|
const [isOpen, { setFalse: close, setTrue: open }] = useBool();
|
|
874
879
|
const [query, setQuery] = useState('');
|
|
875
880
|
const handleClose = useCallback(() => {
|
|
@@ -884,10 +889,10 @@
|
|
|
884
889
|
onChange,
|
|
885
890
|
onClose: handleClose,
|
|
886
891
|
});
|
|
887
|
-
return (jsxs("div", { className: className, children: [renderLabel(label), jsxs("div", { className: style('relative', isOpen ? 'z-20' : 'z-10'), ref: inputRef, children: [jsxs("div", { className: style('text-l flex justify-between items-center text-primary-text cursor-pointer relative z-10', getBorderStyle(isBorder, valid)), onClick: isOpen ? handleClose : open, children: [jsx("p", { className: "p-m pr-3xl flex items-center overflow-hidden text-ellipsis whitespace-nowrap", children: formatOption(value) || placeholder }), renderIcon$
|
|
892
|
+
return (jsxs("div", { className: className, children: [renderLabel(label), jsxs("div", { className: style('relative', isOpen ? 'z-20' : 'z-10'), ref: inputRef, children: [jsxs("div", { className: style('text-l flex justify-between items-center text-primary-text cursor-pointer relative z-10', getBorderStyle(isBorder, valid)), onClick: isOpen ? handleClose : open, children: [jsx("p", { className: "p-m pr-3xl flex items-center overflow-hidden text-ellipsis whitespace-nowrap", children: formatOption(value) || placeholder }), renderIcon$1(isOpen, iconVersion)] }), isSearch && isOpen ? (jsx("div", { className: style('absolute top-0 w-full z-20'), children: jsx(Input, { type: "text", autoFocus: true, value: query, onChange: setQuery }) })) : null] })] }));
|
|
888
893
|
});
|
|
889
894
|
const renderLabel = (label) => label ? (jsx("div", { className: "mb-xs", children: jsx(Text, { size: "text-m", color: "text-primary-text", font: "font-light", children: label }) })) : null;
|
|
890
|
-
const renderIcon$
|
|
895
|
+
const renderIcon$1 = (isOpen, iconVersion) => (jsx(Icon, { className: style('absolute right-3', isOpen ? '' : 'rotate-180'), iconVersion: iconVersion, name: "ArrowUpIcon", width: "16", height: "16" }));
|
|
891
896
|
const getBorderStyle = (isBorder, valid) => style(isBorder ? 'border rounded-md hover:border-primary-hover' : '', valid ? ' border-gray' : 'border-error');
|
|
892
897
|
|
|
893
898
|
const SelectControl = JSX(({ className = '', error, ...rest }) => (jsxs("div", { className: className, children: [jsx(Select, { ...rest, valid: !error }), jsx("div", { className: "h-2", children: error ? (jsx(Text, { size: "text-xs", font: "font-light", color: "text-error", children: error })) : null })] })));
|
|
@@ -1034,8 +1039,9 @@
|
|
|
1034
1039
|
function renderRangeWithTicks({ list = [], min, max, step, value = list[0] || min, disabled, onChange, }) {
|
|
1035
1040
|
const rangeValue = list.length ? list.indexOf(value) : value;
|
|
1036
1041
|
const rangeValueShift = rangeValue > min ? rangeValue - min : 0;
|
|
1042
|
+
const percentage = (rangeValueShift * 100) / (max - min);
|
|
1037
1043
|
const inputStyle = {
|
|
1038
|
-
backgroundSize: `${
|
|
1044
|
+
backgroundSize: `${percentage.toFixed(2)}% 100%`,
|
|
1039
1045
|
};
|
|
1040
1046
|
return (jsxs("div", { children: [list.length ? (jsx("div", { className: "absolute w-full flex justify-between -bottom-[3px] px-m", children: list.map((_, i) => (jsx("div", { className: style('w-2 h-2 rounded-full', rangeValue <= i || disabled ? 'bg-gray' : 'bg-primary-main') }, String(i)))) })) : null, jsx("div", { className: "absolute inset-x-0 -bottom-1 px-m leading-[18px]", children: jsx("input", { className: "box-border w-full m-0 cursor-pointer slider relative z-10", style: inputStyle, type: "range", min: min, max: max, step: step, value: rangeValue, disabled: disabled, onInput: ((e) => {
|
|
1041
1047
|
const rawValue = parseDecimal(e.target?.value);
|
|
@@ -1056,7 +1062,7 @@
|
|
|
1056
1062
|
const handleChange = useCallback((e) => {
|
|
1057
1063
|
onChange && onChange(parseDecimal(e.target?.value));
|
|
1058
1064
|
}, [onChange]);
|
|
1059
|
-
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('
|
|
1065
|
+
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('mt-xs font-sans text-h3 w-full h-14', 'border border-solid border-gray rounded-md outline-none', 'pl-m 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)] }));
|
|
1060
1066
|
});
|
|
1061
1067
|
const closestValue = (list) => (_) => list.reduce((prev, curr) => (Math.abs(curr - _) < Math.abs(prev - _) ? curr : prev));
|
|
1062
1068
|
const renderRangeCaption = (items) => (jsx("div", { className: "flex justify-between my-xs", children: items.map((item, i) => (jsx(Text, { size: "text-s", font: "font-light", color: "text-secondary-text", children: item }, String(i)))) }));
|
|
@@ -1183,7 +1189,7 @@
|
|
|
1183
1189
|
|
|
1184
1190
|
const renderContacts = () => (jsxs("div", { className: "flex gap-xl", children: [jsxs("a", { className: "flex gap-s items-center text-primary-text no-underline", href: `tel:8 (800) 200-78-70`, "aria-label": "8 (800) 200-78-70", children: [jsx(Img, { image: { icon: 'PhoneIcon' }, width: "24", height: "24" }), jsx("span", { children: "8 (800) 200-78-70" })] }), jsxs("a", { className: "flex gap-s items-center text-primary-text no-underline", "aria-label": "ved@rshb.ru", href: `mailto:ved@rshb.ru`, children: [jsx(Img, { image: { icon: 'MailIcon' }, width: "24", height: "24" }), jsx("span", { children: "ved@rshb.ru" })] })] }));
|
|
1185
1191
|
|
|
1186
|
-
const Radio = JSX(({ name, text, value, checked, onChange, className }) => (jsx("div", { className: className, children: jsxs("label", { className: "font-sans flex gap-s 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(
|
|
1192
|
+
const Radio = JSX(({ name, text, value, checked, onChange, className }) => (jsx("div", { className: className, children: jsxs("label", { className: "font-sans flex gap-s 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(Text, { color: "text-primary-text", children: text }) : null] }) })));
|
|
1187
1193
|
|
|
1188
1194
|
const renderQuestionsInterested = (field) => {
|
|
1189
1195
|
const { value, onChange } = field('vedTypes');
|
|
@@ -1287,6 +1293,8 @@
|
|
|
1287
1293
|
return jsx(EmbeddedForm, { ...formBlock, onSubmit: handleSubmit });
|
|
1288
1294
|
};
|
|
1289
1295
|
|
|
1296
|
+
const AlignStyles = 'text-left';
|
|
1297
|
+
|
|
1290
1298
|
const iconBgStyles = {
|
|
1291
1299
|
'': 'bg-main-divider group-data-secondary:bg-white/30',
|
|
1292
1300
|
primary: 'bg-main-divider',
|
|
@@ -1303,8 +1311,6 @@
|
|
|
1303
1311
|
|
|
1304
1312
|
const defaultIconSize = 56;
|
|
1305
1313
|
|
|
1306
|
-
const AlignStyles = 'text-left';
|
|
1307
|
-
|
|
1308
1314
|
const BenefitsBlock = JSX(({ className = '', title, benefitList, ...rest }) => (jsxs(BlockWrapper, { className: className, defaultPadding: "p-6xl", ...rest, children: [title ? jsx(Heading, { headingType: "h3", as: "h2", className: AlignStyles, title: title }) : null, benefitList?.length ? (jsx("div", { className: "flex flex-col @md:flex-row flex-wrap w-full @md:justify-center mt-xl gap-5xl", role: "list", children: benefitList.map(renderBenefit) })) : null] })));
|
|
1309
1315
|
const renderBenefit = (benefit, i) => (jsxs("div", { className: "flex gap-m items-center @md:basis-1/2 @md:max-w-[500px]", 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$2(benefit.description)] })) : null] }, String(i)));
|
|
1310
1316
|
const renderDescription$2 = (description) => {
|
|
@@ -1404,6 +1410,8 @@
|
|
|
1404
1410
|
jsx("div", { className: "shrink-0 -mb-10", children: jsx("span", { className: "font-mohave text-title-large sm:text-title-extra gradient-color-text", children: _.bonusCount }) })) : null, _.bonusName ? (jsx("div", { className: "shrink-0 gradient-color-text", children: jsx(Text, { size: "text-h2", children: _.bonusName }) })) : null] }));
|
|
1405
1411
|
const renderBonusImage = (_) => _.image ? jsx(Img, { className: "min-w-12 p-xs rounded-icon shrink-0", image: _.image }) : null;
|
|
1406
1412
|
|
|
1413
|
+
const isShowDots = true;
|
|
1414
|
+
|
|
1407
1415
|
const mapChildren = (mapper) => (children) => {
|
|
1408
1416
|
if (children === null || children === undefined) {
|
|
1409
1417
|
return children;
|
|
@@ -1568,8 +1576,6 @@
|
|
|
1568
1576
|
];
|
|
1569
1577
|
};
|
|
1570
1578
|
|
|
1571
|
-
const isShowDots = true;
|
|
1572
|
-
|
|
1573
1579
|
const DEFAULT_GAP = 14;
|
|
1574
1580
|
/*
|
|
1575
1581
|
Horizontal padding used on a container above SwipeListControl.
|
|
@@ -1834,7 +1840,7 @@
|
|
|
1834
1840
|
],
|
|
1835
1841
|
});
|
|
1836
1842
|
|
|
1837
|
-
const UnknownRate = JSX(({ title = 'Ставка', isUnavailableByTerm = false }) => (jsxs("div", { children: [jsx(Text, { size: "text-l", font: "font-light", color: "text-secondary-text", children: title }), jsx(
|
|
1843
|
+
const UnknownRate = JSX(({ title = 'Ставка', isUnavailableByTerm = false }) => (jsxs("div", { className: "space-y-s", children: [jsx(Text, { size: "text-l", font: "font-light", color: "text-secondary-text", children: title }), jsx(Icon, { className: "w-10 h-10 @5xl:h-auto @5xl:w-40", name: "PercentIcon" }), jsx("div", { className: "w-64", children: isUnavailableByTerm ? (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"] })) : (jsx(Paragraph, { size: "text-xl", font: "font-light", color: "text-primary-text", children: "\u0412\u044B\u0431\u0435\u0440\u0438\u0442\u0435 \u0434\u0440\u0443\u0433\u0443\u044E \u0441\u0443\u043C\u043C\u0443 \u0438\u043B\u0438 \u0441\u0440\u043E\u043A" })) })] })));
|
|
1838
1844
|
|
|
1839
1845
|
const renderDesktopRate = ({ rate, depositeName, fractionDigits, isShowDepositeName, }) => (jsx(Rate, { rate: rate, depositeName: depositeName, fractionDigits: fractionDigits, isShowDepositeName: isShowDepositeName, rateBlockClassName: "tracking-[-25px]", unit: "%" }));
|
|
1840
1846
|
const renderMobileRate = ({ rate }) => (jsx(CalculatorValueBlock, { title: "\u0421\u0442\u0430\u0432\u043A\u0430", value: rate, postfix: "%" }));
|
|
@@ -2782,10 +2788,12 @@
|
|
|
2782
2788
|
});
|
|
2783
2789
|
const getFilteredIcon = (icon) => (icon?.src || icon?.icon ? icon : undefined);
|
|
2784
2790
|
|
|
2785
|
-
const
|
|
2786
|
-
|
|
2791
|
+
const ImageAlwaysOnRight = false;
|
|
2792
|
+
|
|
2793
|
+
//TODO: replace SocialMedia with renderButtonSection
|
|
2794
|
+
const CarouselRecommendationCard = JSX(({ className, padding, description, href, icon, items = [], listItemSize = 'S', socialMedia = [], target, title, align = 'text-left', isImageAlwaysOnRight = ImageAlwaysOnRight, ...rest }) => {
|
|
2795
|
+
return (jsx(BlockWrapper, { className: style('relative min-h-28 group-data-gray:bg-main-divider/50', className), defaultPadding: "p-0", ...rest, children: jsx(LinkWrapper, { href: href, target: target, className: "h-full", children: jsx(BaseTile, { className: "h-full", defaultPadding: "p-m", padding: padding, insetTitle: title ? (jsx(Headline, { title: title, description: description, headlineVersion: "S", isEmbedded: true, align: align })) : null, rightImage: icon?.icon || icon?.src ? jsx(Img, { image: icon }) : null, buttons: socialMedia.length ? jsx(SocialMedia, { media: socialMedia, showButtonText: true }) : null, isImageAlwaysOnRight: isImageAlwaysOnRight, children: items.length ? jsx(List, { items: items, listItemSize: listItemSize }) : null }) }) }));
|
|
2787
2796
|
});
|
|
2788
|
-
const renderIcon$1 = (icon) => icon?.src || icon?.icon ? (jsx("div", { children: jsx(Img, { image: icon }) })) : null;
|
|
2789
2797
|
|
|
2790
2798
|
const renderCardInfo = (cell, i) => {
|
|
2791
2799
|
const { title, description, buttons } = cell;
|
|
@@ -2839,6 +2847,167 @@
|
|
|
2839
2847
|
return orientation === 'horizontal' ? (jsx(SwipeListControl, { onVisibleIndicesChange: handleSlideChange, children: tableColumns })) : (tableColumns);
|
|
2840
2848
|
});
|
|
2841
2849
|
|
|
2850
|
+
const TextWithIcon = JSX(({ textNode, iconNode, tag, onClick, justifyContent = 'between', className, ...rest }) => {
|
|
2851
|
+
const Tag = tag;
|
|
2852
|
+
return (jsxs(Tag, { tag: tag, className: style('flex items-center w-full gap-1', justifyContent === 'between' ? 'justify-between' : 'justify-center', className), onClick: onClick, ...rest, children: [textNode ? jsx("div", { children: textNode }) : null, iconNode ? jsx("div", { children: iconNode }) : null] }));
|
|
2853
|
+
});
|
|
2854
|
+
|
|
2855
|
+
const DefaultFoldButton = JSX(({ className = '', label, icon, dataTheme = '', disabled = false, onClick }) => (jsx(TextWithIcon, { tag: "button", onClick: onClick, disabled: disabled, "data-theme": dataTheme, justifyContent: "center", className: style('py-4 border border-transparent outline-none focus:border-primary-text', disabled
|
|
2856
|
+
? 'bg-main-divider text-main-disabled hover:bg-main-divider'
|
|
2857
|
+
: 'bg-primary-main text-white hover:bg-primary-hove', className), textNode: jsx("span", { className: "text-h4 pr-s", children: label }), iconNode: icon ? (jsx(Img, { image: {
|
|
2858
|
+
icon,
|
|
2859
|
+
iconVersion: 'white',
|
|
2860
|
+
}, className: "my-auto", width: "20", height: "20" })) : null })));
|
|
2861
|
+
const renderDefaultFoldButton = ({ isUnfolded, onToggle }) => {
|
|
2862
|
+
const labels = ['Развернуть', 'Скрыть'];
|
|
2863
|
+
const icons = ['ArrowDownIcon', 'ArrowUpIcon'];
|
|
2864
|
+
return (jsx(DefaultFoldButton, { icon: icons[Number(isUnfolded)], label: labels[Number(isUnfolded)], onClick: onToggle }));
|
|
2865
|
+
};
|
|
2866
|
+
|
|
2867
|
+
const NotFound = JSX(({ title, description }) => (jsxs("div", { className: "bg-white p-6xl py-20 flex gap-s flex-col @xl:items-center", children: [jsx(Img, { image: { icon: 'MagnifierIcon' }, width: "120", height: "120" }), jsx(Headline, { title: title, description: description, headlineVersion: "S", isEmbedded: true, align: AlignStyles })] })));
|
|
2868
|
+
|
|
2869
|
+
const ICONS = ['ArrowDownIcon', 'ArrowUpIcon'];
|
|
2870
|
+
const resultsGridStyle = 'space-y-px lg:space-y-0 lg:grid lg:grid-cols-12 gap-2xs border-box';
|
|
2871
|
+
const BaseFiltrationInner = JSX(({ label = '', blocksToRender = [], topItemsCount = 0, block, notFound, ...rest }) => {
|
|
2872
|
+
const [visibleBlocks, hiddenBlocks] = topItemsCount > 0
|
|
2873
|
+
? [blocksToRender.slice(0, topItemsCount), blocksToRender.slice(topItemsCount)]
|
|
2874
|
+
: [blocksToRender, []];
|
|
2875
|
+
return (jsxs("div", { children: [jsx("div", { className: style(blocksToRender.length ? 'hidden' : 'block'), children: notFound ? jsx(NotFound, { ...notFound }) : null }), jsxs("div", { className: style('space-y-2xs', blocksToRender.length ? '' : 'hidden'), children: [jsx("div", { className: style(resultsGridStyle), children: renderBlocksList(visibleBlocks, { ...rest.options, parent: block }) }), jsx(Foldable, { renderFoldableSection: ({ isUnfolded }) => {
|
|
2876
|
+
return (jsx(FoldableSection, { className: style(resultsGridStyle), isUnfolded: isUnfolded, children: renderBlocksList(hiddenBlocks, { ...rest.options, parent: block }) }));
|
|
2877
|
+
}, 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 })) })] })] }));
|
|
2878
|
+
});
|
|
2879
|
+
|
|
2880
|
+
const isEmpty = (v) => v === null ||
|
|
2881
|
+
v === undefined ||
|
|
2882
|
+
v === '' ||
|
|
2883
|
+
(Array.isArray(v) && v.length === 0) ||
|
|
2884
|
+
(typeof v === 'object' && Object.keys(v).length === 0);
|
|
2885
|
+
|
|
2886
|
+
const isSingularFieldMatch = (key, pattern) => (target) => isEmpty(pattern[key]) || isEmpty(target[key]) || pattern[key] === target[key];
|
|
2887
|
+
const isMultipleFieldMatch = (key, pattern) => (target) => isEmpty(pattern[key]) ||
|
|
2888
|
+
isEmpty(target[key]) ||
|
|
2889
|
+
pattern[key]?.some((_) => target[key]?.includes(_));
|
|
2890
|
+
const isNumberFieldMatch = (key, pattern) => (target) => isEmpty(pattern[key]) ||
|
|
2891
|
+
isEmpty(target[key]) ||
|
|
2892
|
+
naturalNumber(pattern[key]) <= naturalNumber(target[key]);
|
|
2893
|
+
const isMultipleNumberFieldMatch = (key, pattern) => (target) => isEmpty(pattern[key]) || isEmpty(target[key]) || target[key]?.includes(pattern[key]);
|
|
2894
|
+
const isValueInRange = (key, pattern) => (target) => isEmpty(pattern[key]) ||
|
|
2895
|
+
isEmpty(target[key]) ||
|
|
2896
|
+
(naturalNumber(pattern[key]?.min) >= naturalNumber(target[key]?.min) &&
|
|
2897
|
+
naturalNumber(pattern[key]?.min) <= naturalNumber(target[key]?.max));
|
|
2898
|
+
const shouldRenderBlock = (pattern, target) => Object.entries(pattern)
|
|
2899
|
+
.map(([key, subPattern]) => {
|
|
2900
|
+
if (typeof subPattern === 'number') {
|
|
2901
|
+
return Array.isArray(target[key])
|
|
2902
|
+
? isMultipleNumberFieldMatch(key, pattern)
|
|
2903
|
+
: isNumberFieldMatch(key, pattern);
|
|
2904
|
+
}
|
|
2905
|
+
if (typeof subPattern === 'object' && 'min' in subPattern && 'max' in subPattern) {
|
|
2906
|
+
return isValueInRange(key, pattern);
|
|
2907
|
+
}
|
|
2908
|
+
return Array.isArray(subPattern)
|
|
2909
|
+
? isMultipleFieldMatch(key, pattern)
|
|
2910
|
+
: isSingularFieldMatch(key, pattern);
|
|
2911
|
+
})
|
|
2912
|
+
.every((predicate) => predicate(target));
|
|
2913
|
+
const naturalNumber = (n) => Number(n || 0);
|
|
2914
|
+
|
|
2915
|
+
const getBlocksToRender = (blocks, filtrationState) => (normalize = identity) => blocks && blocks.filter((b) => shouldRenderBlock(filtrationState, normalize(b.content || {})));
|
|
2916
|
+
|
|
2917
|
+
const SlideCheckboxGroup = JSX(({ value, onChange, items = [], multiple }) => {
|
|
2918
|
+
const handleChange = (newValue) => {
|
|
2919
|
+
if (!onChange) {
|
|
2920
|
+
return;
|
|
2921
|
+
}
|
|
2922
|
+
if (multiple) {
|
|
2923
|
+
const hasAlready = value?.includes(newValue);
|
|
2924
|
+
onChange(hasAlready ? (value || []).filter((v) => v !== newValue) : [...(value || []), newValue]);
|
|
2925
|
+
}
|
|
2926
|
+
else {
|
|
2927
|
+
onChange(value === newValue ? '' : newValue);
|
|
2928
|
+
}
|
|
2929
|
+
};
|
|
2930
|
+
return items.map((item) => (jsx(SlideCheckbox, { text: item.title, value: [value].flatMap((_) => _).includes(item.value), onChange: () => handleChange(item.value), type: multiple ? 'checkbox' : 'radio' }, item.value)));
|
|
2931
|
+
});
|
|
2932
|
+
|
|
2933
|
+
const renderFiltrationForm = ({ field, reset, filtrationSchema, resetButton, children, }) => (jsxs("form", { className: "flex flex-col @4xl:flex-row justify-between bg-white p-4xl gap-s @4xl:gap-0", children: [jsxs("div", { className: "flex flex-col @4xl:flex-row gap-5xl", children: [children, Object.entries(filtrationSchema).map(renderFormItem(field))] }), resetButton ? (jsx("div", { children: jsx(Button, { className: "w-full @4xl:w-72 @4xl:ml-s", onClick: reset, ...resetButton }) })) : null] }));
|
|
2934
|
+
const renderFormItem = (field) => ([key, item]) => {
|
|
2935
|
+
const type = item?.type;
|
|
2936
|
+
switch (type) {
|
|
2937
|
+
case 'array':
|
|
2938
|
+
return renderCheckboxes(key, field)(item);
|
|
2939
|
+
default:
|
|
2940
|
+
return null;
|
|
2941
|
+
}
|
|
2942
|
+
};
|
|
2943
|
+
const renderCheckboxes = (key, field) => (item) => {
|
|
2944
|
+
const options = item?.items?.enum?.map((e, i) => ({ value: e, title: item?.items?.enumNames?.[i] || '' })) ||
|
|
2945
|
+
[];
|
|
2946
|
+
return (jsxs("div", { children: [item?.title ? (jsx("div", { className: "mb-m", children: jsx(Text, { size: "text-m", font: "font-light", color: "text-secondary-text", children: item.title }) })) : null, jsx(SlideCheckboxGroup, { items: options, multiple: true, ...field(key) })] }, key));
|
|
2947
|
+
};
|
|
2948
|
+
|
|
2949
|
+
const getPeriod = (source, content) => source[content?.sourceBook]?.rateRows
|
|
2950
|
+
.map((el) => el.minMonths)
|
|
2951
|
+
.filter((minMonths) => minMonths !== undefined);
|
|
2952
|
+
|
|
2953
|
+
async function fetchMultitudeJSON(...urls) {
|
|
2954
|
+
const fetchPromises = urls.map((url) => fetchJSON(url));
|
|
2955
|
+
return Promise.all(fetchPromises);
|
|
2956
|
+
}
|
|
2957
|
+
|
|
2958
|
+
const unique = (list) => [...new Set(list)];
|
|
2959
|
+
|
|
2960
|
+
function zip(firstCol, ...restCols) {
|
|
2961
|
+
return firstCol.map((firstEl, rowIndex) => [firstEl, ...restCols.map((col) => col[rowIndex])]);
|
|
2962
|
+
}
|
|
2963
|
+
|
|
2964
|
+
const getChildSourceBook = (blocks) => blocks?.filter(hasSourceBook).map(({ content: { sourceBook } }) => sourceBook);
|
|
2965
|
+
const hasSourceBook = (block) => Boolean(block && block.content && typeof block.content.sourceBook === 'string');
|
|
2966
|
+
|
|
2967
|
+
function useDepositsPeriods(blocks) {
|
|
2968
|
+
const { dirs = [], source = [] } = useMemo(() => {
|
|
2969
|
+
const sourceBooks = getChildSourceBook(blocks);
|
|
2970
|
+
return { dirs: sourceBooks?.map((url) => `/wcms-resources/${url}.json`), source: sourceBooks };
|
|
2971
|
+
}, [blocks]);
|
|
2972
|
+
const { data = [] } = useAsyncData(dirs, fetchMultitudeJSON);
|
|
2973
|
+
return {
|
|
2974
|
+
source: Object.fromEntries(zip(source, data).filter(([, sourceData]) => Boolean(sourceData))),
|
|
2975
|
+
months: unique(data
|
|
2976
|
+
.flatMap((item) => item?.rateRows || [])
|
|
2977
|
+
.filter((row) => typeof row.minMonths === 'number' && row.minMonths === row.maxMonths)
|
|
2978
|
+
.map((row) => row.minMonths)).sort((a, b) => a - b) || [],
|
|
2979
|
+
};
|
|
2980
|
+
}
|
|
2981
|
+
|
|
2982
|
+
const DEFAULT_MIN_SUM = 500;
|
|
2983
|
+
const DEFAULT_MAX_SUM = 1000000000;
|
|
2984
|
+
const initialFiltrationState$1 = {
|
|
2985
|
+
sum: {
|
|
2986
|
+
min: 10000,
|
|
2987
|
+
max: DEFAULT_MAX_SUM,
|
|
2988
|
+
},
|
|
2989
|
+
period: 3,
|
|
2990
|
+
};
|
|
2991
|
+
const DepositFiltration = JSX(({ className, filtrationSchema = {}, resetButton, sumInput, periodInput, ...rest }) => {
|
|
2992
|
+
const { source, months } = useDepositsPeriods(rest.block?.blocks);
|
|
2993
|
+
const [filtrationState, { field, reset }] = useForm(initialFiltrationState$1);
|
|
2994
|
+
const blocksToRender = getBlocksToRender(rest.block?.blocks, filtrationState)((content) => ({ ...content, period: getPeriod(source, content || {}) || [] }));
|
|
2995
|
+
const Inputs = (jsxs("div", { children: [jsx(CurrencyInput, { label: sumInput?.title, min: DEFAULT_MIN_SUM, max: DEFAULT_MAX_SUM, ...field('sum', {
|
|
2996
|
+
parse: (min) => ({ min: Number(min), max: DEFAULT_MAX_SUM }),
|
|
2997
|
+
format: ({ min }) => String(min),
|
|
2998
|
+
}) }), jsx(InputRange, { title: periodInput?.title, items: ['От 3 мес', 'До 5 лет'], list: months, ...field('period') })] }));
|
|
2999
|
+
return (jsxs(BlockWrapper, { className: style('space-y-2xs', className), defaultPadding: "p-0", version: "transparent", ...rest, children: [renderFiltrationForm({ field, reset, filtrationSchema, resetButton, children: Inputs }), jsx(BaseFiltrationInner, { blocksToRender: blocksToRender, ...rest })] }));
|
|
3000
|
+
});
|
|
3001
|
+
const sourceBookSchema = {
|
|
3002
|
+
type: 'string',
|
|
3003
|
+
title: 'Адрес справочника',
|
|
3004
|
+
};
|
|
3005
|
+
DepositFiltration.childrenTypes = ['ProductTile'];
|
|
3006
|
+
DepositFiltration.childSchema = (content) => ({
|
|
3007
|
+
...(content?.filtrationSchema || {}),
|
|
3008
|
+
sourceBook: sourceBookSchema,
|
|
3009
|
+
});
|
|
3010
|
+
|
|
2842
3011
|
const renderErrorContent = (error) => {
|
|
2843
3012
|
if (error?.contentType === 'Image' && error?.image) {
|
|
2844
3013
|
return jsx(Img, { image: error.image });
|
|
@@ -3027,35 +3196,18 @@
|
|
|
3027
3196
|
|
|
3028
3197
|
const useSitemap = (fallback) => useSWRResource(projectSettings.SITEMAP || 'sitemap', { fallback });
|
|
3029
3198
|
|
|
3030
|
-
const TextWithIcon = JSX(({ textNode, iconNode, tag, onClick, justifyContent = 'between', className, ...rest }) => {
|
|
3031
|
-
const Tag = tag;
|
|
3032
|
-
return (jsxs(Tag, { tag: tag, className: style('flex items-center w-full gap-1', justifyContent === 'between' ? 'justify-between' : 'justify-center', className), onClick: onClick, ...rest, children: [textNode ? jsx("div", { children: textNode }) : null, iconNode ? jsx("div", { children: iconNode }) : null] }));
|
|
3033
|
-
});
|
|
3034
|
-
|
|
3035
|
-
const DefaultFoldButton = JSX(({ className = '', label, icon, dataTheme = '', disabled = false, onClick }) => (jsx(TextWithIcon, { tag: "button", onClick: onClick, disabled: disabled, "data-theme": dataTheme, justifyContent: "center", className: style('py-4 border border-transparent outline-none focus:border-primary-text', disabled
|
|
3036
|
-
? 'bg-main-divider text-main-disabled hover:bg-main-divider'
|
|
3037
|
-
: 'bg-primary-main text-white hover:bg-primary-hove', className), textNode: jsx("span", { className: "text-h4 pr-s", children: label }), iconNode: icon ? (jsx(Img, { image: {
|
|
3038
|
-
icon,
|
|
3039
|
-
iconVersion: 'white',
|
|
3040
|
-
}, className: "my-auto", width: "20", height: "20" })) : null })));
|
|
3041
|
-
const renderDefaultFoldButton = ({ isUnfolded, onToggle }) => {
|
|
3042
|
-
const labels = ['Развернуть', 'Скрыть'];
|
|
3043
|
-
const icons = ['ArrowDownIcon', 'ArrowUpIcon'];
|
|
3044
|
-
return (jsx(DefaultFoldButton, { icon: icons[Number(isUnfolded)], label: labels[Number(isUnfolded)], onClick: onToggle }));
|
|
3045
|
-
};
|
|
3046
|
-
|
|
3047
3199
|
const foldableSectionStyles = 'flex flex-wrap group-last:last:pb-0';
|
|
3048
3200
|
|
|
3049
3201
|
const getIconName = (isUnfolded) => isUnfolded ? 'ArrowUpSolidIcon' : 'ArrowDownSolidIcon';
|
|
3050
3202
|
|
|
3051
|
-
const rollupItemStyles = '';
|
|
3052
|
-
|
|
3053
3203
|
const renderRoundedIcon = (icon, iconBgVersion) => (jsx(RoundedIcon, { ...icon, iconBgVersion: iconBgVersion, className: "shrink-0" }));
|
|
3054
3204
|
|
|
3055
3205
|
const rollupIconVersion = 'black';
|
|
3056
3206
|
|
|
3057
3207
|
const PrimaryFoldButton = JSX(({ label, labelIconBgVersion, icon, onToggle, labelIcon }) => (jsx(TextWithIcon, { tag: "button", className: style('border-none bg-transparent items-center group/button', labelIcon?.icon ? 'py-xs' : 'py-lg'), onClick: onToggle, textNode: jsxs("div", { className: "flex items-center text-start group-hover/button:text-primary-main gap-s", children: [renderRoundedIcon(labelIcon, labelIconBgVersion), label ? (jsx(Text, { size: "text-h6", font: "font-normal", children: label })) : null] }), iconNode: icon ? jsx(Icon, { name: icon, iconVersion: rollupIconVersion, width: "24", height: "24" }) : null })));
|
|
3058
3208
|
|
|
3209
|
+
const rollupItemStyles = '';
|
|
3210
|
+
|
|
3059
3211
|
const RollupItem = JSX(({ className = '', isExpanded, isFoldButtonOnTop = true, label = 'Развернуть', labelIcon, labelIconBgVersion, version = 'primary', ...rest }) => (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-lg', foldableSectionStyles), isUnfolded: isUnfolded, children: renderChildren({
|
|
3060
3212
|
...rest,
|
|
3061
3213
|
extraProps: { className: 'w-full', padding: 'p-0' },
|
|
@@ -3263,55 +3415,169 @@
|
|
|
3263
3415
|
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', align) })) : null, rightImage: img, buttons: renderButtonsSection(buttons, { className: 'flex-wrap' }), children: [description ? (jsx(Text, { size: "text-xl", "font-weight": "font-light", children: description })) : null, jsxs("div", { className: style('gap-m', 'flex flex-1 flex-col', 'flex-col items-start @xl:flex-row @xl:items-center'), children: [renderList$1(items, listItemSize), qr?.src ? (jsx("div", { className: style('flex justify-center bg-white rounded-md @xl:-order-1', containerStyle), children: jsx(Img, { className: "w-fit", image: qr }) })) : null, image?.src ? jsx(Img, { className: "lg:hidden", image: image }) : null] })] }) }));
|
|
3264
3416
|
});
|
|
3265
3417
|
|
|
3266
|
-
const
|
|
3267
|
-
|
|
3268
|
-
|
|
3269
|
-
|
|
3418
|
+
const badgeBgStyleMap = {
|
|
3419
|
+
primary: 'bg-white/30',
|
|
3420
|
+
secondary: 'bg-main-divider',
|
|
3421
|
+
};
|
|
3422
|
+
const badgeTextColorStyleMap = {
|
|
3423
|
+
primary: 'text-white',
|
|
3424
|
+
secondary: 'text-secondary-text',
|
|
3425
|
+
};
|
|
3426
|
+
const Badge = JSX(({ count, version = 'secondary' }) => {
|
|
3427
|
+
return (jsx("div", { className: style('w-6 h-6 rounded-full flex items-center justify-center', badgeBgStyleMap[version]), children: jsx(Text, { size: "text-xs", color: badgeTextColorStyleMap[version], children: count }) }));
|
|
3428
|
+
});
|
|
3270
3429
|
|
|
3271
|
-
const
|
|
3272
|
-
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", isEmbedded: true }), jsx("figure", { className: "m-0 mt-xl min-w-[80%]", children: renderShimmer() })] })));
|
|
3273
|
-
const renderShimmer = (size = 3) => goldenSequence(100, size)
|
|
3274
|
-
.map((_) => Math.floor(_))
|
|
3275
|
-
.map(renderShimmerItem);
|
|
3276
|
-
const renderShimmerItem = (width, index) => (jsx("div", { style: { width: `${width || 100}%` }, className: "h-4 mt-xs bg-secondary-light" }, String(index)));
|
|
3277
|
-
const goldenSequence = (first, size) => [first].concat(size > 0 ? goldenSequence(first / GOLDEN_RATIO, size - 1) : []);
|
|
3430
|
+
const getBadgeCount = (blocks = [], filter = {}) => blocks.filter(({ content = {} }) => shouldRenderBlock(filter, content)).length;
|
|
3278
3431
|
|
|
3279
|
-
|
|
3280
|
-
|
|
3281
|
-
|
|
3282
|
-
|
|
3283
|
-
|
|
3284
|
-
|
|
3285
|
-
|
|
3286
|
-
|
|
3432
|
+
const scalarCmp = (a, b) => a === b;
|
|
3433
|
+
const arrCmp = (cmp = scalarCmp) => (a, b) => a === b || Boolean(a && b && a.length === b.length && a.every((_, i) => cmp(_, b[i])));
|
|
3434
|
+
const objCmp = (cmp) => (a, b) => a === b ||
|
|
3435
|
+
Boolean(a &&
|
|
3436
|
+
b &&
|
|
3437
|
+
Object.keys(a).length === Object.keys(b).length &&
|
|
3438
|
+
Object.entries(a).every(([key, value]) => cmp(value, b[key])));
|
|
3439
|
+
function combineBoolCmps(...comparators) {
|
|
3440
|
+
return (a, b) => comparators.some((cmp) => cmp(a, b));
|
|
3287
3441
|
}
|
|
3288
3442
|
|
|
3289
|
-
const
|
|
3290
|
-
const router = useRouter();
|
|
3291
|
-
const handleClick = useCallback((ev) => {
|
|
3292
|
-
ev?.preventDefault();
|
|
3293
|
-
router.back();
|
|
3294
|
-
}, []);
|
|
3295
|
-
return (jsxs(BlockWrapper, { className: style('overflow-hidden flex flex-col gap-3xl box-border', className), defaultPadding: "p-6xl", padding: padding, ...rest, children: [backwardButton
|
|
3296
|
-
? renderBackwardButton(!rest.version || rest.version === 'primary' ? 'primary' : 'white', handleClick)
|
|
3297
|
-
: null, jsx(BaseProductTile, { className: "grow h-full", ...rest })] }));
|
|
3298
|
-
});
|
|
3299
|
-
|
|
3300
|
-
const ProductGallery = JSX(({ className, padding, slides = [], ...rest }) => (jsx(BlockWrapper, { className: style('overflow-hidden relative', className), padding: padding, ...rest, children: jsx(SwipeListControl, { gap: 0, padding: 0, children: slides
|
|
3301
|
-
.map((s) => s.productBlock)
|
|
3302
|
-
.map((_, i) => (jsx("div", { className: "box-border h-full", role: "listitem", children: jsx(BaseProductTile, { className: "px-5 h-full", headlineVersion: "L", ..._, ...rest }) }, String(i)))) }) })));
|
|
3303
|
-
|
|
3304
|
-
const ProductTile = JSX(({ className, padding, headlineVersion = 'S', isTabularBenefits = true, additionalDescription, imageOptions, isFullWidthTitle = true, ...rest }) => (jsx(BlockWrapper, { className: className, padding: "p-0", ...rest, children: jsx(BaseProductTile, { className: "h-full", defaultPadding: "p-4xl sm:p-xl", padding: padding, headlineVersion: headlineVersion, isTabularBenefits: isTabularBenefits, imageOptions: { isImageSecondary: true, ...imageOptions }, isFullWidthTitle: isFullWidthTitle, ...rest, children: additionalDescription ? (jsx(Paragraph, { size: "text-m", font: "font-light", color: "group-data-primary:text-secondary-text", children: additionalDescription })) : null }) })));
|
|
3443
|
+
const hotFilterRecordCmp = objCmp(combineBoolCmps(scalarCmp, arrCmp()));
|
|
3305
3444
|
|
|
3306
|
-
const
|
|
3307
|
-
|
|
3308
|
-
|
|
3309
|
-
|
|
3310
|
-
|
|
3311
|
-
|
|
3312
|
-
|
|
3313
|
-
|
|
3314
|
-
|
|
3445
|
+
const EMPTY_ARR = [];
|
|
3446
|
+
const EMPTY_OBJ = {};
|
|
3447
|
+
const useHotFilters = ({ hotFilters = EMPTY_ARR, filtrationState = EMPTY_OBJ, blocks = EMPTY_ARR, onFiltrationStateChange, }) => {
|
|
3448
|
+
const activeItemIndex = useMemo(() => Math.max(0, hotFilters.findIndex((_) => hotFilterRecordCmp(_.filter, filtrationState))), [hotFilters, filtrationState]);
|
|
3449
|
+
const items = useMemo(() => hotFilters.map((_) => ({
|
|
3450
|
+
text: _.text,
|
|
3451
|
+
appendRight: (jsx(Badge, { version: _ === hotFilters[activeItemIndex] ? 'primary' : 'secondary', count: getBadgeCount(blocks, _.filter) })),
|
|
3452
|
+
})), [hotFilters, blocks, activeItemIndex]);
|
|
3453
|
+
const handleChange = useCallback((_) => {
|
|
3454
|
+
onFiltrationStateChange(hotFilters[items.indexOf(_)].filter);
|
|
3455
|
+
}, [hotFilters, items]);
|
|
3456
|
+
return {
|
|
3457
|
+
value: items[activeItemIndex],
|
|
3458
|
+
items: items,
|
|
3459
|
+
onChange: handleChange,
|
|
3460
|
+
};
|
|
3461
|
+
};
|
|
3462
|
+
|
|
3463
|
+
const tabPaddingStyleMap = {
|
|
3464
|
+
default: 'px-xs',
|
|
3465
|
+
underlined: 'px-m',
|
|
3466
|
+
rounded: 'px-lg rounded-md',
|
|
3467
|
+
};
|
|
3468
|
+
const tabTextStyle = 'text-secondary-text hover:text-primary-main';
|
|
3469
|
+
const activeTabTextStyleMap = {
|
|
3470
|
+
default: 'text-black sm:text-white',
|
|
3471
|
+
underlined: 'text-primary-main border-b-2',
|
|
3472
|
+
rounded: 'text-white',
|
|
3473
|
+
};
|
|
3474
|
+
const tabBgStyleMap = {
|
|
3475
|
+
default: 'bg-white',
|
|
3476
|
+
underlined: 'bg-white',
|
|
3477
|
+
rounded: 'bg-transparent',
|
|
3478
|
+
};
|
|
3479
|
+
const activeTabBgStyleMap = {
|
|
3480
|
+
default: 'sm:bg-primary-main',
|
|
3481
|
+
underlined: 'bg-white',
|
|
3482
|
+
rounded: 'bg-primary-main',
|
|
3483
|
+
};
|
|
3484
|
+
const TabItemInner = JSX(({ tag = 'div', item = {}, isActive, type = 'default', onClick }) => {
|
|
3485
|
+
const Tag = tag;
|
|
3486
|
+
const { text, appendRight, ...link } = item;
|
|
3487
|
+
return (jsx(Tag, { className: style('h-12', 'block flex-1', 'cursor-pointer', tabPaddingStyleMap[type], isActive ? activeTabBgStyleMap[type] : tabBgStyleMap[type]), role: "tab", "aria-selected": isActive, onClick: onClick, ...link, children: jsxs("div", { className: style('h-full', 'flex justify-center items-center', 'text-center whitespace-nowrap', isActive ? activeTabTextStyleMap[type] : tabTextStyle), children: [jsx(Text, { size: "text-m", children: text }), appendRight ? jsx("div", { className: "ml-xs", children: appendRight }) : null] }) }));
|
|
3488
|
+
});
|
|
3489
|
+
|
|
3490
|
+
const TabItem = JSX((props) => props?.item?.href ? jsx(LinkTabItem, { ...props }) : jsx(ButtonTabItem, { ...props }));
|
|
3491
|
+
const LinkTabItem = JSX((props) => {
|
|
3492
|
+
const link = useLink();
|
|
3493
|
+
const handleClick = useCallback(() => {
|
|
3494
|
+
props.onClick && props.onClick(props.item || {});
|
|
3495
|
+
}, [props.onClick, props.item]);
|
|
3496
|
+
const { onClick, ...item } = link({ ...props.item, onClick: handleClick });
|
|
3497
|
+
return jsx(TabItemInner, { ...props, tag: "a", item: item, onClick: onClick });
|
|
3498
|
+
});
|
|
3499
|
+
// TODO: Update handlerDecorator (support buttons?)
|
|
3500
|
+
const ButtonTabItem = JSX(({ item = {}, onClick, ...rest }) => {
|
|
3501
|
+
const handleClick = useCallback(() => {
|
|
3502
|
+
onClick && onClick(item);
|
|
3503
|
+
}, [onClick, item]);
|
|
3504
|
+
return jsx(TabItemInner, { item: item, onClick: handleClick, ...rest });
|
|
3505
|
+
});
|
|
3506
|
+
|
|
3507
|
+
const renderTab = (activeTab, onClick, type) => (tab, i) => (jsx(TabItem, { isActive: tab === activeTab, onClick: onClick, type: type, item: tab }, String(i)));
|
|
3508
|
+
|
|
3509
|
+
const TabsControl = JSX(({ className, tabsType = 'default', items = [], value, onChange }) => (jsx("div", { className: style('flex gap-x-2xs overflow-x-auto no-scrollbar', className), role: "tablist", children: items.map(renderTab(value, onChange, tabsType)) })));
|
|
3510
|
+
|
|
3511
|
+
const initialFiltrationState = {
|
|
3512
|
+
categories: [],
|
|
3513
|
+
extraOptions: [],
|
|
3514
|
+
propertyType: [],
|
|
3515
|
+
stage: [],
|
|
3516
|
+
};
|
|
3517
|
+
const MortgageFiltration = JSX(({ className, hotFilters, filtrationSchema = {}, resetButton, ...rest }) => {
|
|
3518
|
+
const [filtrationState, { field, reset, update: replaceFiltrationState }] = useForm(initialFiltrationState);
|
|
3519
|
+
const blocksToRender = getBlocksToRender(rest.block?.blocks, filtrationState)();
|
|
3520
|
+
const handleFiltrationStateChange = useCallback((_ = initialFiltrationState) => replaceFiltrationState(_), []);
|
|
3521
|
+
const tabsControlProps = useHotFilters({
|
|
3522
|
+
hotFilters,
|
|
3523
|
+
filtrationState,
|
|
3524
|
+
blocks: rest.block?.blocks,
|
|
3525
|
+
onFiltrationStateChange: handleFiltrationStateChange,
|
|
3526
|
+
});
|
|
3527
|
+
return (jsxs(BlockWrapper, { className: style('space-y-2xs', className), defaultPadding: "p-0", version: "transparent", ...rest, children: [jsx(TabsControl, { ...tabsControlProps }), renderFiltrationForm({ field, reset, filtrationSchema, resetButton }), jsx(BaseFiltrationInner, { blocksToRender: blocksToRender, ...rest })] }));
|
|
3528
|
+
});
|
|
3529
|
+
MortgageFiltration.childrenTypes = ['ProductTile'];
|
|
3530
|
+
MortgageFiltration.childSchema = (content) => content?.filtrationSchema || {};
|
|
3531
|
+
|
|
3532
|
+
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;
|
|
3533
|
+
const renderValueBlock = (title, value = 0) => (jsxs("div", { className: "basis-full flex flex-col-reverse sm:flex-row sm:justify-between sm:bg-main-divider sm:py-m sm:px-lg sm:rounded-md items-baseline whitespace-pre", children: [jsx(Text, { font: "font-light", size: "text-l", color: "text-secondary-text", children: title }), jsxs("span", { className: "font-sans text-h6 sm:text-primary-main text-primary-text", children: [toLocalNumberFormat(2)(value), " \u20BD"] })] }));
|
|
3534
|
+
|
|
3535
|
+
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, isFullWidthTitle: true, imageOptions: { directionRight: false, imageAlign: 'center', ...imageOptions }, ...rest, children: renderInsuranceSumMonth(Number(sum), Number(monthLimit)) }) })));
|
|
3536
|
+
|
|
3537
|
+
const GOLDEN_RATIO = 1.618;
|
|
3538
|
+
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", isEmbedded: true }), jsx("figure", { className: "m-0 mt-xl min-w-[80%]", children: renderShimmer() })] })));
|
|
3539
|
+
const renderShimmer = (size = 3) => goldenSequence(100, size)
|
|
3540
|
+
.map((_) => Math.floor(_))
|
|
3541
|
+
.map(renderShimmerItem);
|
|
3542
|
+
const renderShimmerItem = (width, index) => (jsx("div", { style: { width: `${width || 100}%` }, className: "h-4 mt-xs bg-secondary-light" }, String(index)));
|
|
3543
|
+
const goldenSequence = (first, size) => [first].concat(size > 0 ? goldenSequence(first / GOLDEN_RATIO, size - 1) : []);
|
|
3544
|
+
|
|
3545
|
+
function renderBackwardButton(version, handleClick) {
|
|
3546
|
+
const iconVersion = version === 'primary' ? 'white' : 'black';
|
|
3547
|
+
const className = 'w-12 h-12 min-h-12 min-w-12 flex items-center justify-center';
|
|
3548
|
+
const text = 'Вернуться назад';
|
|
3549
|
+
return (jsxs("div", { className: "hidden sm:flex items-center gap-s", children: [jsx("div", { className: getRegularButtonClasses({ className, version, rounded: true }), onClick: handleClick, children: jsx(Img, { className: "w-4 h-4", image: {
|
|
3550
|
+
icon: 'ArrowLeftIcon',
|
|
3551
|
+
iconVersion: iconVersion,
|
|
3552
|
+
} }) }), jsx(Button, { version: "link", text: text, ariaLabel: text, onClick: handleClick })] }));
|
|
3553
|
+
}
|
|
3554
|
+
|
|
3555
|
+
const ProductBlock = JSX(({ className, padding, backwardButton, ...rest }) => {
|
|
3556
|
+
const router = useRouter();
|
|
3557
|
+
const handleClick = useCallback((ev) => {
|
|
3558
|
+
ev?.preventDefault();
|
|
3559
|
+
router.back();
|
|
3560
|
+
}, []);
|
|
3561
|
+
return (jsxs(BlockWrapper, { className: style('overflow-hidden flex flex-col gap-3xl box-border', className), defaultPadding: "p-6xl", padding: padding, ...rest, children: [backwardButton
|
|
3562
|
+
? renderBackwardButton(!rest.version || rest.version === 'primary' ? 'primary' : 'white', handleClick)
|
|
3563
|
+
: null, jsx(BaseProductTile, { className: "grow h-full", ...rest })] }));
|
|
3564
|
+
});
|
|
3565
|
+
|
|
3566
|
+
const ProductGallery = JSX(({ className, padding, slides = [], ...rest }) => (jsx(BlockWrapper, { className: style('overflow-hidden relative', className), padding: padding, ...rest, children: jsx(SwipeListControl, { gap: 0, padding: 0, children: slides
|
|
3567
|
+
.map((s) => s.productBlock)
|
|
3568
|
+
.map((_, i) => (jsx("div", { className: "box-border h-full", role: "listitem", children: jsx(BaseProductTile, { className: "px-5 h-full", headlineVersion: "L", ..._, ...rest }) }, String(i)))) }) })));
|
|
3569
|
+
|
|
3570
|
+
const ProductTile = JSX(({ className, padding, headlineVersion = 'S', isTabularBenefits = true, additionalDescription, imageOptions, isFullWidthTitle = true, ...rest }) => (jsx(BlockWrapper, { className: className, padding: "p-0", ...rest, children: jsx(BaseProductTile, { className: "h-full", defaultPadding: "p-4xl sm:p-xl", padding: padding, headlineVersion: headlineVersion, isTabularBenefits: isTabularBenefits, imageOptions: { isImageSecondary: true, ...imageOptions }, isFullWidthTitle: isFullWidthTitle, ...rest, children: additionalDescription ? (jsx(Paragraph, { size: "text-m", font: "font-light", color: "group-data-primary:text-secondary-text", children: additionalDescription })) : null }) })));
|
|
3571
|
+
|
|
3572
|
+
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: "h3", as: "h3", title: title }) : null] }), jsxs("div", { className: "w-full space-y-m", children: [__html ? renderDescriptionBlock(__html) : null, renderBlock({
|
|
3573
|
+
label: 'Адрес',
|
|
3574
|
+
data: address,
|
|
3575
|
+
iconName: 'GeolocationIcon',
|
|
3576
|
+
}), renderBlock({ label: 'Телефон(факс)', data: telephone, iconName: 'PhoneIcon' }), renderBlock({
|
|
3577
|
+
label: 'E-mail',
|
|
3578
|
+
data: email,
|
|
3579
|
+
iconName: 'MailIcon',
|
|
3580
|
+
dataColor: 'text-primary-main',
|
|
3315
3581
|
}), button?.text ? renderButtonsSection([button]) : null] })] })));
|
|
3316
3582
|
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 }));
|
|
3317
3583
|
const renderDescriptionBlock = (__html) => (jsx("div", { className: "border-b border-main-divider pb-lg", children: jsx(RichText, { __html: __html }) }));
|
|
@@ -3322,25 +3588,6 @@
|
|
|
3322
3588
|
return (jsx(BlockWrapper, { defaultPadding: "p-0", ...rest, children: jsx(RichText, { __html: __html, richVersion: richVersion }) }));
|
|
3323
3589
|
});
|
|
3324
3590
|
|
|
3325
|
-
const styles$2 = {
|
|
3326
|
-
focus: 'focus:border-primary-text focus:border',
|
|
3327
|
-
hover: 'hover:bg-primary-hover',
|
|
3328
|
-
active: 'active:bg-primary-active',
|
|
3329
|
-
border: 'border-b border-b-2 border-gray last:border-0',
|
|
3330
|
-
position: 'relative flex items-center justify-center',
|
|
3331
|
-
font: 'text-center font-sans text-l',
|
|
3332
|
-
};
|
|
3333
|
-
// TODO: Добавить метод определения центральной точки
|
|
3334
|
-
const ZoomButton = JSX(({ yandexMaps, direction = 'in' }) => {
|
|
3335
|
-
const iconName = direction === 'in' ? 'PlusIcon' : 'MinusIcon';
|
|
3336
|
-
const changeZoom = () => {
|
|
3337
|
-
const currentZoom = yandexMaps.current.getZoom();
|
|
3338
|
-
const newZoom = direction === 'in' ? currentZoom + 1 : currentZoom - 1;
|
|
3339
|
-
yandexMaps.current.setZoom(newZoom, { checkZoomRange: true });
|
|
3340
|
-
};
|
|
3341
|
-
return (jsx("div", { onClick: changeZoom, className: `${Object.values(styles$2).join(' ')} bg-white select-none cursor-pointer w-12 h-12`, children: jsx(Icon, { name: iconName, width: "20", height: "16" }) }));
|
|
3342
|
-
});
|
|
3343
|
-
|
|
3344
3591
|
function renderClusterer(yandexMaps, map, points) {
|
|
3345
3592
|
map.geoObjects.removeAll();
|
|
3346
3593
|
const clusterIconContentLayout = yandexMaps.templateLayoutFactory.createClass('<div style="margin-top: -3px;">{{properties.geoObjects.length}}</div>');
|
|
@@ -3373,7 +3620,7 @@
|
|
|
3373
3620
|
});
|
|
3374
3621
|
}
|
|
3375
3622
|
|
|
3376
|
-
const styles$
|
|
3623
|
+
const styles$2 = {
|
|
3377
3624
|
focus: 'focus:border-primary-text focus:border',
|
|
3378
3625
|
hover: 'hover:bg-primary-hover',
|
|
3379
3626
|
active: 'active:bg-primary-active',
|
|
@@ -3385,10 +3632,10 @@
|
|
|
3385
3632
|
const getYandexMapUrl = () => {
|
|
3386
3633
|
return `https://yandex.ru/maps/?ll=${[pointsCenter[1], pointsCenter[0]]}&z=10&l=map`;
|
|
3387
3634
|
};
|
|
3388
|
-
return (jsx("a", { className: `select-none cursor-pointer px-4xl h-12 bg-primary-main text-white ${Object.values(styles$
|
|
3635
|
+
return (jsx("a", { className: `select-none cursor-pointer px-4xl h-12 bg-primary-main text-white ${Object.values(styles$2).join(' ')}`, href: getYandexMapUrl(), target: "_blank", children: "\u041E\u0442\u043A\u0440\u044B\u0442\u044C \u043D\u0430 \u043A\u0430\u0440\u0442\u0435" }));
|
|
3389
3636
|
};
|
|
3390
3637
|
|
|
3391
|
-
const styles = {
|
|
3638
|
+
const styles$1 = {
|
|
3392
3639
|
focus: 'focus:border-primary-text focus:border',
|
|
3393
3640
|
hover: 'hover:bg-primary-hover',
|
|
3394
3641
|
active: 'active:bg-primary-active',
|
|
@@ -3410,7 +3657,7 @@
|
|
|
3410
3657
|
map.geoObjects.add(result.geoObjects);
|
|
3411
3658
|
});
|
|
3412
3659
|
};
|
|
3413
|
-
return (jsx("div", { className: `select-none cursor-pointer py-m w-12 bg-white ${Object.values(styles).join(' ')} ${className}`, onClick: setUserGeoLocation, children: jsx(Icon, { name: "UserGeoLocationIcon", width: "20", height: "16" }) }));
|
|
3660
|
+
return (jsx("div", { className: `select-none cursor-pointer py-m w-12 bg-white ${Object.values(styles$1).join(' ')} ${className}`, onClick: setUserGeoLocation, children: jsx(Icon, { name: "UserGeoLocationIcon", width: "20", height: "16" }) }));
|
|
3414
3661
|
};
|
|
3415
3662
|
|
|
3416
3663
|
const getNS = (_) => globalThis[_];
|
|
@@ -3453,6 +3700,25 @@
|
|
|
3453
3700
|
return useExternalNS(YMAPS_NAMESPACE, url);
|
|
3454
3701
|
};
|
|
3455
3702
|
|
|
3703
|
+
const styles = {
|
|
3704
|
+
focus: 'focus:border-primary-text focus:border',
|
|
3705
|
+
hover: 'hover:bg-primary-hover',
|
|
3706
|
+
active: 'active:bg-primary-active',
|
|
3707
|
+
border: 'border-b border-b-2 border-gray last:border-0',
|
|
3708
|
+
position: 'relative flex items-center justify-center',
|
|
3709
|
+
font: 'text-center font-sans text-l',
|
|
3710
|
+
};
|
|
3711
|
+
// TODO: Добавить метод определения центральной точки
|
|
3712
|
+
const ZoomButton = JSX(({ yandexMaps, direction = 'in' }) => {
|
|
3713
|
+
const iconName = direction === 'in' ? 'PlusIcon' : 'MinusIcon';
|
|
3714
|
+
const changeZoom = () => {
|
|
3715
|
+
const currentZoom = yandexMaps.current.getZoom();
|
|
3716
|
+
const newZoom = direction === 'in' ? currentZoom + 1 : currentZoom - 1;
|
|
3717
|
+
yandexMaps.current.setZoom(newZoom, { checkZoomRange: true });
|
|
3718
|
+
};
|
|
3719
|
+
return (jsx("div", { onClick: changeZoom, className: `${Object.values(styles).join(' ')} bg-white select-none cursor-pointer w-12 h-12`, children: jsx(Icon, { name: iconName, width: "20", height: "16" }) }));
|
|
3720
|
+
});
|
|
3721
|
+
|
|
3456
3722
|
const FULLSCREEN_STYLES = {
|
|
3457
3723
|
border: 'border border-transparent rounded-md ',
|
|
3458
3724
|
position: 'absolute flex items-center justify-center',
|
|
@@ -3519,6 +3785,12 @@
|
|
|
3519
3785
|
const mapByIndex = (arr, index) => arr.map((a) => a[index]);
|
|
3520
3786
|
const getArraySumAndAverage = (arr) => arr.length && arr.reduce((a, b) => a + b) / arr.length;
|
|
3521
3787
|
|
|
3788
|
+
const RadioButtons = JSX(({ className = '' }) => {
|
|
3789
|
+
const [selectedOption, setSelectedOption] = useState('option2');
|
|
3790
|
+
const onChange = useCallback((_) => setSelectedOption(_), []);
|
|
3791
|
+
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 })] }));
|
|
3792
|
+
});
|
|
3793
|
+
|
|
3522
3794
|
const WrapperSelect = JSX(({ data, fieldLabel, fieldValue, selected, placeholder = '', setSelected, label }) => {
|
|
3523
3795
|
const dataFormat = data
|
|
3524
3796
|
.filter(Boolean)
|
|
@@ -3529,12 +3801,6 @@
|
|
|
3529
3801
|
|
|
3530
3802
|
const RegionsAndBranches = JSX(({ regions = [], selectedRegion, onSelectedRegion: onSelectedRegion, branches = [], selectedBranch, onSelectedBranch, }) => (jsxs("div", { className: "flex flex-col @xl: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" }) })] })));
|
|
3531
3803
|
|
|
3532
|
-
const RadioButtons = JSX(({ className = '' }) => {
|
|
3533
|
-
const [selectedOption, setSelectedOption] = useState('option2');
|
|
3534
|
-
const onChange = useCallback((_) => setSelectedOption(_), []);
|
|
3535
|
-
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 })] }));
|
|
3536
|
-
});
|
|
3537
|
-
|
|
3538
3804
|
const ITEMS = ['От 1 дня', 'До 365 дней'];
|
|
3539
3805
|
const MIN = 1;
|
|
3540
3806
|
const MAX = 365;
|
|
@@ -3648,6 +3914,8 @@
|
|
|
3648
3914
|
throw new Error(x);
|
|
3649
3915
|
}
|
|
3650
3916
|
|
|
3917
|
+
const checkCanRenderIcon = (icon) => Boolean(icon?.icon || icon?.src);
|
|
3918
|
+
|
|
3651
3919
|
const STEPS_BLOCK_STYLE = {
|
|
3652
3920
|
description: 'text-white/80 text-l font-light group-data-primary:text-secondary-text group-data-gray:text-secondary-text',
|
|
3653
3921
|
iconText: 'text-white group-data-primary:text-secondary-text group-data-gray:text-secondary-text',
|
|
@@ -3656,8 +3924,6 @@
|
|
|
3656
3924
|
dot: 'bg-white/80 group-data-primary:bg-secondary-text',
|
|
3657
3925
|
};
|
|
3658
3926
|
|
|
3659
|
-
const checkCanRenderIcon = (icon) => Boolean(icon?.icon || icon?.src);
|
|
3660
|
-
|
|
3661
3927
|
const STEPS_SIZE_MAP = {
|
|
3662
3928
|
normal: { icon: 'h-11 w-11', image: 'h-14 w-14' },
|
|
3663
3929
|
small: { icon: 'h-12 w-12', image: 'h-14 w-14' },
|
|
@@ -3696,6 +3962,18 @@
|
|
|
3696
3962
|
return (jsx("div", { className: style(iconAreaSize, containerStyle, 'z-10 mr-s flex justify-center content-center'), children: jsx("span", { className: "flex max-w-full max-h-full self-center text-h4 text-secondary-text group-data-secondary:text-white", children: checkCanRenderIcon(step?.icon) ? (jsx(Img, { image: { ...step.icon, iconVersion: step.icon?.iconVersion || iconVersion }, imageClassName: "max-w-full max-h-full", width: iconSize, height: iconSize })) : (jsx("span", { children: i + 1 })) }) }));
|
|
3697
3963
|
};
|
|
3698
3964
|
|
|
3965
|
+
const isHrefActive = (router) => ({ href }) => !href
|
|
3966
|
+
? false
|
|
3967
|
+
: withoutQuery(isURL(href) ? router.href : router.pathname).startsWith(withoutQuery(href));
|
|
3968
|
+
|
|
3969
|
+
const isTopItemActive = (router) => isHrefActive(projectSettings.BASE_PATH ? { pathname: projectSettings.BASE_PATH } : router);
|
|
3970
|
+
|
|
3971
|
+
function useActiveRoute(items = []) {
|
|
3972
|
+
const router = useRouter();
|
|
3973
|
+
const activeIndex = items.findIndex(isTopItemActive(router));
|
|
3974
|
+
return [activeIndex, items[activeIndex]];
|
|
3975
|
+
}
|
|
3976
|
+
|
|
3699
3977
|
const RenderItem = JSX(({ isActive, item, onClick }) => {
|
|
3700
3978
|
const isAnotherPortal = projectSettings?.BASE_PATH
|
|
3701
3979
|
? !item.href?.startsWith(projectSettings?.BASE_PATH)
|
|
@@ -3713,57 +3991,86 @@
|
|
|
3713
3991
|
} }), item.title] }));
|
|
3714
3992
|
});
|
|
3715
3993
|
|
|
3716
|
-
const isHrefActive = (router) => ({ href }) => !href
|
|
3717
|
-
? false
|
|
3718
|
-
: withoutQuery(isURL(href) ? router.href : router.pathname).startsWith(withoutQuery(href));
|
|
3719
|
-
|
|
3720
|
-
const isTopItemActive = (router) => isHrefActive(projectSettings.BASE_PATH ? { pathname: projectSettings.BASE_PATH } : router);
|
|
3721
|
-
|
|
3722
|
-
function useActiveRoute(items = []) {
|
|
3723
|
-
const router = useRouter();
|
|
3724
|
-
const activeIndex = items.findIndex(isTopItemActive(router));
|
|
3725
|
-
return [activeIndex, items[activeIndex]];
|
|
3726
|
-
}
|
|
3727
|
-
|
|
3728
3994
|
const RenderMenuItems = JSX(({ menuItems, onClick }) => {
|
|
3729
3995
|
const [activeIndex] = useActiveRoute(menuItems);
|
|
3730
3996
|
return (jsx("div", { className: "ml-auto container bg-white flex justify-center shadow-blue-gray", children: menuItems.map((_, i) => (jsx(RenderItem, { isActive: i === activeIndex, item: _, onClick: onClick }, String(i)))) }));
|
|
3731
3997
|
});
|
|
3732
3998
|
|
|
3733
|
-
const
|
|
3734
|
-
const [latestEvent, setLatestEvent] = useState(initialEvent || null);
|
|
3735
|
-
useEffect(() => eventBus.subscribe(type, (_) => setLatestEvent(_)), [eventBus, type]);
|
|
3736
|
-
const fireEvent = useCallback((_) => eventBus.fire(type, _), [eventBus, type]);
|
|
3737
|
-
return [latestEvent, fireEvent];
|
|
3738
|
-
};
|
|
3999
|
+
const isDialogOpen = (id, dialogs) => dialogs.find((item) => item.id === id, id);
|
|
3739
4000
|
|
|
3740
|
-
|
|
3741
|
-
|
|
3742
|
-
|
|
3743
|
-
const
|
|
3744
|
-
const
|
|
3745
|
-
|
|
3746
|
-
|
|
3747
|
-
}, []);
|
|
3748
|
-
const { data } = useAsyncData(REGION_URL, fetchJSONUnsafe);
|
|
3749
|
-
useEffect(() => {
|
|
3750
|
-
if (data && !hasStoredLocation()) {
|
|
3751
|
-
fireCurrentLocation(data);
|
|
3752
|
-
}
|
|
3753
|
-
}, [data]);
|
|
3754
|
-
return [currentLocation ?? { name: defaultLocation }, selectCurrentLocation];
|
|
4001
|
+
function useList(initialList = []) {
|
|
4002
|
+
const [list, setList] = useState(initialList);
|
|
4003
|
+
const push = useCallback((item) => setList(_ => [..._, item]), []);
|
|
4004
|
+
const pop = useCallback(() => setList(_ => _.slice(0, -1)), []);
|
|
4005
|
+
const remove = useCallback((item) => setList(_ => _.filter(currentItem => currentItem !== item)), []);
|
|
4006
|
+
const clear = useCallback(() => setList([]), []);
|
|
4007
|
+
return [list, { setList, push, pop, remove, clear }];
|
|
3755
4008
|
}
|
|
3756
|
-
|
|
3757
|
-
const
|
|
3758
|
-
|
|
3759
|
-
|
|
3760
|
-
|
|
3761
|
-
|
|
3762
|
-
|
|
3763
|
-
|
|
3764
|
-
|
|
3765
|
-
|
|
3766
|
-
|
|
4009
|
+
|
|
4010
|
+
const useDialogsList = ({ onCloseAll, onClose, } = {}) => {
|
|
4011
|
+
const [dialogs, { push, pop, clear }] = useList();
|
|
4012
|
+
const closeAll = useCallback(() => {
|
|
4013
|
+
onCloseAll && onCloseAll(dialogs);
|
|
4014
|
+
clear();
|
|
4015
|
+
}, [dialogs, onCloseAll]);
|
|
4016
|
+
const close = useCallback(() => {
|
|
4017
|
+
onClose && onClose(dialogs[dialogs.length - 1]);
|
|
4018
|
+
pop();
|
|
4019
|
+
}, [dialogs, onClose]);
|
|
4020
|
+
useEffect(() => defaultEventBus.subscribe('dialog', (action) => {
|
|
4021
|
+
switch (action.type) {
|
|
4022
|
+
case 'open':
|
|
4023
|
+
push(action);
|
|
4024
|
+
break;
|
|
4025
|
+
case 'close':
|
|
4026
|
+
if (action.all) {
|
|
4027
|
+
closeAll();
|
|
4028
|
+
}
|
|
4029
|
+
else {
|
|
4030
|
+
close();
|
|
4031
|
+
}
|
|
4032
|
+
break;
|
|
4033
|
+
default:
|
|
4034
|
+
assertUnreachable(action);
|
|
4035
|
+
}
|
|
4036
|
+
}), [closeAll, close]);
|
|
4037
|
+
return dialogs;
|
|
4038
|
+
};
|
|
4039
|
+
|
|
4040
|
+
const useLatestEvent = (eventBus, type, initialEvent) => {
|
|
4041
|
+
const [latestEvent, setLatestEvent] = useState(initialEvent || null);
|
|
4042
|
+
useEffect(() => eventBus.subscribe(type, (_) => setLatestEvent(_)), [eventBus, type]);
|
|
4043
|
+
const fireEvent = useCallback((_) => eventBus.fire(type, _), [eventBus, type]);
|
|
4044
|
+
return [latestEvent, fireEvent];
|
|
4045
|
+
};
|
|
4046
|
+
|
|
4047
|
+
const REGION_URL = '/api/v1/region';
|
|
4048
|
+
const LOCATION_STORAGE_KEY = 'location';
|
|
4049
|
+
function useLocation(defaultLocation = 'Москва') {
|
|
4050
|
+
const [currentLocation, fireCurrentLocation] = useLatestEvent(defaultEventBus, 'location', restoreLocation() ?? { name: defaultLocation });
|
|
4051
|
+
const selectCurrentLocation = useCallback((_) => {
|
|
4052
|
+
storeLocation(_);
|
|
4053
|
+
fireCurrentLocation(_);
|
|
4054
|
+
}, []);
|
|
4055
|
+
const { data } = useAsyncData(REGION_URL, fetchJSONUnsafe);
|
|
4056
|
+
useEffect(() => {
|
|
4057
|
+
if (data && !hasStoredLocation()) {
|
|
4058
|
+
fireCurrentLocation(data);
|
|
4059
|
+
}
|
|
4060
|
+
}, [data]);
|
|
4061
|
+
return [currentLocation ?? { name: defaultLocation }, selectCurrentLocation];
|
|
4062
|
+
}
|
|
4063
|
+
const hasStoredLocation = () => Boolean(globalThis.localStorage?.getItem(LOCATION_STORAGE_KEY));
|
|
4064
|
+
const restoreLocation = () => {
|
|
4065
|
+
try {
|
|
4066
|
+
const data = globalThis.localStorage?.getItem(LOCATION_STORAGE_KEY);
|
|
4067
|
+
return data && JSON.parse(data);
|
|
4068
|
+
}
|
|
4069
|
+
catch (ex) {
|
|
4070
|
+
return null;
|
|
4071
|
+
}
|
|
4072
|
+
};
|
|
4073
|
+
const storeLocation = (_) => {
|
|
3767
4074
|
try {
|
|
3768
4075
|
globalThis.localStorage?.setItem(LOCATION_STORAGE_KEY, JSON.stringify(_));
|
|
3769
4076
|
}
|
|
@@ -3863,11 +4170,6 @@
|
|
|
3863
4170
|
return prefixL;
|
|
3864
4171
|
}
|
|
3865
4172
|
|
|
3866
|
-
const SearchBar$1 = JSX(({ className, searchTerm, onSearch }) => {
|
|
3867
|
-
return (jsxs("form", { className: `font-sans relative ${className}`, children: [jsx("div", { className: "absolute rounded h-full flex items-center justify-center pl-m max-w-44 gap-s 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-m w-full peer text-l text-black border border-solid rounded-md box-border
|
|
3868
|
-
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" })] }));
|
|
3869
|
-
});
|
|
3870
|
-
|
|
3871
4173
|
const renderForeignOffices = (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-5xl", children: foreignOffices.map((office, i) => (jsx(ForeignOffice, { ...office }, String(i)))) })] })) : null;
|
|
3872
4174
|
const ForeignOffice = JSX(({ icon, ...rest }) => {
|
|
3873
4175
|
const link = useLink();
|
|
@@ -3881,6 +4183,11 @@
|
|
|
3881
4183
|
|
|
3882
4184
|
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));
|
|
3883
4185
|
|
|
4186
|
+
const SearchBar$1 = JSX(({ className, searchTerm, onSearch }) => {
|
|
4187
|
+
return (jsxs("form", { className: `font-sans relative ${className}`, children: [jsx("div", { className: "absolute rounded h-full flex items-center justify-center pl-m max-w-44 gap-s 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-m w-full peer text-l text-black border border-solid rounded-md box-border
|
|
4188
|
+
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" })] }));
|
|
4189
|
+
});
|
|
4190
|
+
|
|
3884
4191
|
const SEARCH_TERM_MIN_LENGTH = 3;
|
|
3885
4192
|
const LocationDialog = JSX(() => {
|
|
3886
4193
|
const { defaultLocation, foreignOffices } = useSitemap();
|
|
@@ -3911,11 +4218,11 @@
|
|
|
3911
4218
|
};
|
|
3912
4219
|
};
|
|
3913
4220
|
|
|
3914
|
-
const SearchInput = JSX(({ className, value, autoFocus, onChange, onFocus }) => {
|
|
4221
|
+
const SearchInput = JSX(({ className, value, autoFocus, onChange, onFocus, placeholder = 'Поиск по сайту' }) => {
|
|
3915
4222
|
const handleChange = useCallback((ev) => {
|
|
3916
4223
|
onChange && onChange(ev.target?.value || '');
|
|
3917
4224
|
}, [onChange]);
|
|
3918
|
-
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', iconVersion: 'black' }, width: "24", height: "24" }) }), jsx("input", { className: style('h-12 w-full px-10 text-l text-black outline-none box-border
|
|
4225
|
+
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', iconVersion: 'black' }, width: "24", height: "24" }) }), jsx("input", { className: style('h-12 w-full px-10 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: placeholder, autoFocus: autoFocus, onChange: handleChange, onFocus: onFocus })] }));
|
|
3919
4226
|
});
|
|
3920
4227
|
|
|
3921
4228
|
function useDebouncedEffect(effect, deps, delay = 300) {
|
|
@@ -3930,10 +4237,6 @@
|
|
|
3930
4237
|
const compareBy = (indexOf) => (a, b) => indexOf(a) - indexOf(b);
|
|
3931
4238
|
const desc = (cmp) => (a, b) => -cmp(a, b);
|
|
3932
4239
|
|
|
3933
|
-
function zip(firstCol, ...restCols) {
|
|
3934
|
-
return firstCol.map((firstEl, rowIndex) => [firstEl, ...restCols.map((col) => col[rowIndex])]);
|
|
3935
|
-
}
|
|
3936
|
-
|
|
3937
4240
|
const joinMaps = (aggregate, emptyVal) => (acc, map) => {
|
|
3938
4241
|
for (const [key, b] of map) {
|
|
3939
4242
|
acc.set(key, aggregate(acc.get(key) || emptyVal, b));
|
|
@@ -4107,47 +4410,6 @@
|
|
|
4107
4410
|
});
|
|
4108
4411
|
const renderOfficeLink = (officesLink) => officesLink ? (jsxs("a", { className: "flex items-center mb-3", href: officesLink, rel: "noopener noreferrer", "aria-label": "\u041E\u0444\u0438\u0441\u044B \u0438 \u0431\u0430\u043D\u043A\u043E\u043C\u0430\u0442\u044B", children: [jsx(Img, { image: { icon: 'MapOpenedIcon', iconVersion: 'black' }, width: "24", height: "24", className: "text-primary-main box-border mr-xs bg-main-divider p-xs rounded-md" }), jsx("span", { children: "\u041E\u0444\u0438\u0441\u044B \u0438 \u0431\u0430\u043D\u043A\u043E\u043C\u0430\u0442\u044B" })] })) : null;
|
|
4109
4412
|
|
|
4110
|
-
function useList(initialList = []) {
|
|
4111
|
-
const [list, setList] = useState(initialList);
|
|
4112
|
-
const push = useCallback((item) => setList(_ => [..._, item]), []);
|
|
4113
|
-
const pop = useCallback(() => setList(_ => _.slice(0, -1)), []);
|
|
4114
|
-
const remove = useCallback((item) => setList(_ => _.filter(currentItem => currentItem !== item)), []);
|
|
4115
|
-
const clear = useCallback(() => setList([]), []);
|
|
4116
|
-
return [list, { setList, push, pop, remove, clear }];
|
|
4117
|
-
}
|
|
4118
|
-
|
|
4119
|
-
const useDialogsList = ({ onCloseAll, onClose, } = {}) => {
|
|
4120
|
-
const [dialogs, { push, pop, clear }] = useList();
|
|
4121
|
-
const closeAll = useCallback(() => {
|
|
4122
|
-
onCloseAll && onCloseAll(dialogs);
|
|
4123
|
-
clear();
|
|
4124
|
-
}, [dialogs, onCloseAll]);
|
|
4125
|
-
const close = useCallback(() => {
|
|
4126
|
-
onClose && onClose(dialogs[dialogs.length - 1]);
|
|
4127
|
-
pop();
|
|
4128
|
-
}, [dialogs, onClose]);
|
|
4129
|
-
useEffect(() => defaultEventBus.subscribe('dialog', (action) => {
|
|
4130
|
-
switch (action.type) {
|
|
4131
|
-
case 'open':
|
|
4132
|
-
push(action);
|
|
4133
|
-
break;
|
|
4134
|
-
case 'close':
|
|
4135
|
-
if (action.all) {
|
|
4136
|
-
closeAll();
|
|
4137
|
-
}
|
|
4138
|
-
else {
|
|
4139
|
-
close();
|
|
4140
|
-
}
|
|
4141
|
-
break;
|
|
4142
|
-
default:
|
|
4143
|
-
assertUnreachable(action);
|
|
4144
|
-
}
|
|
4145
|
-
}), [closeAll, close]);
|
|
4146
|
-
return dialogs;
|
|
4147
|
-
};
|
|
4148
|
-
|
|
4149
|
-
const isDialogOpen = (id, dialogs) => dialogs.find((item) => item.id === id, id);
|
|
4150
|
-
|
|
4151
4413
|
const BURGER_MENU_DIALOG_ID = 'burgerMenuDialog';
|
|
4152
4414
|
const useBurgerMenuDialog = () => {
|
|
4153
4415
|
const { open: openDialog, closeAll, close } = useDialogManager();
|
|
@@ -4186,52 +4448,6 @@
|
|
|
4186
4448
|
return (jsx("div", { className: "w-full mb-5", "data-component": "sticky-bottom-menu-container", children: jsx(BlockWrapper, { className: "@container-normal fixed w-full h-[74px] bottom-0 left-0 my-0 mx-auto bg-transparent z-[100]", padding: "p-0", "data-component": "sticky-bottom-menu", children: jsx(RenderMenuItems, { menuItems: menuItemsWithButton, onClick: toggle }) }) }));
|
|
4187
4449
|
});
|
|
4188
4450
|
|
|
4189
|
-
const tabPaddingStyleMap = {
|
|
4190
|
-
default: 'px-xs',
|
|
4191
|
-
underlined: 'px-m',
|
|
4192
|
-
rounded: 'px-lg rounded-md',
|
|
4193
|
-
};
|
|
4194
|
-
const tabTextStyle = 'text-secondary-text hover:text-primary-main';
|
|
4195
|
-
const activeTabTextStyleMap = {
|
|
4196
|
-
default: 'text-black sm:text-white',
|
|
4197
|
-
underlined: 'text-primary-main border-b-2',
|
|
4198
|
-
rounded: 'text-white',
|
|
4199
|
-
};
|
|
4200
|
-
const tabBgStyleMap = {
|
|
4201
|
-
default: 'bg-white',
|
|
4202
|
-
underlined: 'bg-white',
|
|
4203
|
-
rounded: 'bg-transparent',
|
|
4204
|
-
};
|
|
4205
|
-
const activeTabBgStyleMap = {
|
|
4206
|
-
default: 'sm:bg-primary-main',
|
|
4207
|
-
underlined: 'bg-white',
|
|
4208
|
-
rounded: 'bg-primary-main',
|
|
4209
|
-
};
|
|
4210
|
-
const TabItemInner = JSX(({ tag = 'div', item = {}, isActive, type = 'default', onClick }) => {
|
|
4211
|
-
const Tag = tag;
|
|
4212
|
-
const { text, appendRight, ...link } = item;
|
|
4213
|
-
return (jsx(Tag, { className: style('h-12', 'block flex-1', 'cursor-pointer', tabPaddingStyleMap[type], isActive ? activeTabBgStyleMap[type] : tabBgStyleMap[type]), role: "tab", "aria-selected": isActive, onClick: onClick, ...link, children: jsxs("div", { className: style('h-full', 'flex justify-center items-center', 'text-center whitespace-nowrap', isActive ? activeTabTextStyleMap[type] : tabTextStyle), children: [jsx(Text, { size: "text-m", children: text }), appendRight ? jsx("div", { className: "ml-xs", children: appendRight }) : null] }) }));
|
|
4214
|
-
});
|
|
4215
|
-
|
|
4216
|
-
const TabItem = JSX((props) => props?.item?.href ? jsx(LinkTabItem, { ...props }) : jsx(ButtonTabItem, { ...props }));
|
|
4217
|
-
const LinkTabItem = JSX((props) => {
|
|
4218
|
-
const link = useLink();
|
|
4219
|
-
const handleClick = useCallback(() => {
|
|
4220
|
-
props.onClick && props.onClick(props.item || {});
|
|
4221
|
-
}, [props.onClick, props.item]);
|
|
4222
|
-
const { onClick, ...item } = link({ ...props.item, onClick: handleClick });
|
|
4223
|
-
return jsx(TabItemInner, { ...props, tag: "a", item: item, onClick: onClick });
|
|
4224
|
-
});
|
|
4225
|
-
// TODO: Update handlerDecorator (support buttons?)
|
|
4226
|
-
const ButtonTabItem = JSX(({ item = {}, onClick, ...rest }) => {
|
|
4227
|
-
const handleClick = useCallback(() => {
|
|
4228
|
-
onClick && onClick(item);
|
|
4229
|
-
}, [onClick, item]);
|
|
4230
|
-
return jsx(TabItemInner, { item: item, onClick: handleClick, ...rest });
|
|
4231
|
-
});
|
|
4232
|
-
|
|
4233
|
-
const renderTab = (activeTab, onClick, type) => (tab, i) => (jsx(TabItem, { isActive: tab === activeTab, onClick: onClick, type: type, item: tab }, String(i)));
|
|
4234
|
-
|
|
4235
4451
|
const scrollButtonStyle = 'hidden sm:flex absolute z-40 top-0';
|
|
4236
4452
|
const ScrollableTabsControl = JSX(({ className, items = [], value, onChange, tabsType }) => {
|
|
4237
4453
|
const [containerRef, scroll] = useSwipeListScroll({
|
|
@@ -4240,8 +4456,6 @@
|
|
|
4240
4456
|
return (jsxs("div", { className: style('relative overflow-x-auto no-scrollbar', className), role: "tablist", children: [jsx(SwipeListContainer, { containerRef: containerRef, snapAlign: "snap-start", onVisibleIndicesChange: scroll.handleVisibleIndicesChange, children: items.map(renderTab(value, onChange, tabsType)) }), scroll.canScrollLeft ? (jsx(ScrollLeftButton, { className: style('left-6', scrollButtonStyle), onClick: scroll.scrollLeft })) : null, scroll.canScrollRight ? (jsx(ScrollRightButton, { className: style('right-6', scrollButtonStyle), onClick: scroll.scrollRight })) : null] }));
|
|
4241
4457
|
});
|
|
4242
4458
|
|
|
4243
|
-
const TabsControl = JSX(({ className, tabsType = 'default', items = [], value, onChange }) => (jsx("div", { className: style('flex gap-x-2xs overflow-x-auto no-scrollbar', className), role: "tablist", children: items.map(renderTab(value, onChange, tabsType)) })));
|
|
4244
|
-
|
|
4245
4459
|
const renderTabs = ({ tabsMode, ...props }) => {
|
|
4246
4460
|
switch (tabsMode) {
|
|
4247
4461
|
case 'wideScreen':
|
|
@@ -4292,17 +4506,19 @@
|
|
|
4292
4506
|
};
|
|
4293
4507
|
const normalizeTab = (_) => (_?.type === 'group' ? { text: _.title } : _);
|
|
4294
4508
|
|
|
4509
|
+
const dividerStyle = '@4xl:border-main-divider @4xl:border-b';
|
|
4510
|
+
const firstCellStyle = 'w-80 flex-shrink-0';
|
|
4511
|
+
const COLS_LENGTH_FOR_SCROLL = 2;
|
|
4512
|
+
const COLUMN_WIDTH$1 = 4 * 80 + 40; // w-80 + pl-10 = 360px
|
|
4513
|
+
|
|
4514
|
+
const headlineAlign = 'text-left';
|
|
4515
|
+
|
|
4295
4516
|
const carouselContainerClassesMap = {
|
|
4296
4517
|
comparison: 'flex gap-m duration-1000',
|
|
4297
4518
|
tariff: 'flex gap-5xl flex-grow duration-1000',
|
|
4298
4519
|
};
|
|
4299
4520
|
const TableCarouselContainer = JSX(({ children, activeIndex, columnWidth, version = 'comparison' }) => (jsx("div", { className: "flex flex-1 overflow-hidden", children: jsx("div", { className: carouselContainerClassesMap[version], style: { transform: `translateX(-${activeIndex * columnWidth}px)` }, children: children }) })));
|
|
4300
4521
|
|
|
4301
|
-
const dividerStyle = '@4xl:border-main-divider @4xl:border-b';
|
|
4302
|
-
const firstCellStyle = 'w-80 flex-shrink-0';
|
|
4303
|
-
const COLS_LENGTH_FOR_SCROLL = 2;
|
|
4304
|
-
const COLUMN_WIDTH$1 = 4 * 80 + 40; // w-80 + pl-10 = 360px
|
|
4305
|
-
|
|
4306
4522
|
const TableInnerButton = JSX(({ className = '', isOpen, onClick }) => (jsx(Button, { className: className, appendRight: jsx(Img, { image: { icon: isOpen ? 'ArrowUpIcon' : 'ArrowDownIcon' }, width: "20", height: "20" }), text: isOpen ? 'Скрыть' : 'Показать', version: "gray", onClick: onClick })));
|
|
4307
4523
|
|
|
4308
4524
|
const renderButtonsCellData = ({ buttons }) => renderButtonsSection(buttons, {
|
|
@@ -4445,8 +4661,6 @@
|
|
|
4445
4661
|
})] }), isScrollAvailable ? (jsx("div", { className: "absolute top-0 right-0 bottom-0 w-20 bg-opacity-to-white" })) : null] }));
|
|
4446
4662
|
});
|
|
4447
4663
|
|
|
4448
|
-
const headlineAlign = 'text-left';
|
|
4449
|
-
|
|
4450
4664
|
const TariffsTable = JSX(({ className = '', title, description, rowHeaders, tariffsColumns: columns, hiddenRowsNum = 0, ...rest }) => {
|
|
4451
4665
|
const colData = columns?.map(({ data }) => data) || [];
|
|
4452
4666
|
const rowData = rowHeaders?.map((header, i) => ({
|
|
@@ -4474,211 +4688,6 @@
|
|
|
4474
4688
|
|
|
4475
4689
|
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, isFullWidthTitle: false, ...rest }) })));
|
|
4476
4690
|
|
|
4477
|
-
const ICONS = ['ArrowDownIcon', 'ArrowUpIcon'];
|
|
4478
|
-
const resultsGridStyle = 'space-y-px lg:space-y-0 lg:grid lg:grid-cols-12 gap-2xs border-box';
|
|
4479
|
-
const BaseFiltrationInner = JSX(({ label = '', blocksToRender = [], topItemsCount = 0, block, notFound, ...rest }) => {
|
|
4480
|
-
const [visibleBlocks, hiddenBlocks] = topItemsCount > 0
|
|
4481
|
-
? [blocksToRender.slice(0, topItemsCount), blocksToRender.slice(topItemsCount)]
|
|
4482
|
-
: [blocksToRender, []];
|
|
4483
|
-
return (jsxs("div", { children: [jsx("div", { className: style(blocksToRender.length ? 'hidden' : 'block'), children: notFound ? renderNotFound(notFound) : null }), jsxs("div", { className: style('space-y-2xs', blocksToRender.length ? '' : 'hidden'), children: [jsx("div", { className: style(resultsGridStyle), children: renderBlocksList(visibleBlocks, { ...rest.options, parent: block }) }), jsx(Foldable, { renderFoldableSection: ({ isUnfolded }) => {
|
|
4484
|
-
return (jsx(FoldableSection, { className: style(resultsGridStyle), isUnfolded: isUnfolded, children: renderBlocksList(hiddenBlocks, { ...rest.options, parent: block }) }));
|
|
4485
|
-
}, 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 })) })] })] }));
|
|
4486
|
-
});
|
|
4487
|
-
const renderNotFound = ({ title, description }) => (jsxs("div", { className: "bg-white p-6xl py-20 flex gap-s flex-col @xl:items-center", children: [jsx(Img, { image: { icon: 'MagnifierIcon' }, width: "120", height: "120" }), jsx(Headline, { title: title, description: description, headlineVersion: "S", isEmbedded: true, align: AlignStyles })] }));
|
|
4488
|
-
|
|
4489
|
-
const isEmpty = (v) => v === null ||
|
|
4490
|
-
v === undefined ||
|
|
4491
|
-
v === '' ||
|
|
4492
|
-
(Array.isArray(v) && v.length === 0) ||
|
|
4493
|
-
(typeof v === 'object' && Object.keys(v).length === 0);
|
|
4494
|
-
|
|
4495
|
-
const isSingularFieldMatch = (key, pattern) => (target) => isEmpty(pattern[key]) || isEmpty(target[key]) || pattern[key] === target[key];
|
|
4496
|
-
const isMultipleFieldMatch = (key, pattern) => (target) => isEmpty(pattern[key]) ||
|
|
4497
|
-
isEmpty(target[key]) ||
|
|
4498
|
-
pattern[key]?.some((_) => target[key]?.includes(_));
|
|
4499
|
-
const isNumberFieldMatch = (key, pattern) => (target) => isEmpty(pattern[key]) ||
|
|
4500
|
-
isEmpty(target[key]) ||
|
|
4501
|
-
naturalNumber(pattern[key]) <= naturalNumber(target[key]);
|
|
4502
|
-
const isMultipleNumberFieldMatch = (key, pattern) => (target) => isEmpty(pattern[key]) || isEmpty(target[key]) || target[key]?.includes(pattern[key]);
|
|
4503
|
-
const isValueInRange = (key, pattern) => (target) => isEmpty(pattern[key]) ||
|
|
4504
|
-
isEmpty(target[key]) ||
|
|
4505
|
-
(naturalNumber(pattern[key]?.min) >= naturalNumber(target[key]?.min) &&
|
|
4506
|
-
naturalNumber(pattern[key]?.min) <= naturalNumber(target[key]?.max));
|
|
4507
|
-
const shouldRenderBlock = (pattern, target) => Object.entries(pattern)
|
|
4508
|
-
.map(([key, subPattern]) => {
|
|
4509
|
-
if (typeof subPattern === 'number') {
|
|
4510
|
-
return Array.isArray(target[key])
|
|
4511
|
-
? isMultipleNumberFieldMatch(key, pattern)
|
|
4512
|
-
: isNumberFieldMatch(key, pattern);
|
|
4513
|
-
}
|
|
4514
|
-
if (typeof subPattern === 'object' && 'min' in subPattern && 'max' in subPattern) {
|
|
4515
|
-
return isValueInRange(key, pattern);
|
|
4516
|
-
}
|
|
4517
|
-
return Array.isArray(subPattern)
|
|
4518
|
-
? isMultipleFieldMatch(key, pattern)
|
|
4519
|
-
: isSingularFieldMatch(key, pattern);
|
|
4520
|
-
})
|
|
4521
|
-
.every((predicate) => predicate(target));
|
|
4522
|
-
const naturalNumber = (n) => Number(n || 0);
|
|
4523
|
-
|
|
4524
|
-
const getBlocksToRender = (blocks, filtrationState) => (normalize = identity) => blocks && blocks.filter((b) => shouldRenderBlock(filtrationState, normalize(b.content || {})));
|
|
4525
|
-
|
|
4526
|
-
const SlideCheckboxGroup = JSX(({ value, onChange, items = [], multiple }) => {
|
|
4527
|
-
const handleChange = (newValue) => {
|
|
4528
|
-
if (!onChange) {
|
|
4529
|
-
return;
|
|
4530
|
-
}
|
|
4531
|
-
if (multiple) {
|
|
4532
|
-
const hasAlready = value?.includes(newValue);
|
|
4533
|
-
onChange(hasAlready ? (value || []).filter((v) => v !== newValue) : [...(value || []), newValue]);
|
|
4534
|
-
}
|
|
4535
|
-
else {
|
|
4536
|
-
onChange(value === newValue ? '' : newValue);
|
|
4537
|
-
}
|
|
4538
|
-
};
|
|
4539
|
-
return items.map((item) => (jsx(SlideCheckbox, { text: item.title, value: [value].flatMap((_) => _).includes(item.value), onChange: () => handleChange(item.value), type: multiple ? 'checkbox' : 'radio' }, item.value)));
|
|
4540
|
-
});
|
|
4541
|
-
|
|
4542
|
-
const renderFiltrationForm = ({ field, reset, filtrationSchema, resetButton, children, }) => (jsxs("form", { className: "flex flex-col @4xl:flex-row justify-between bg-white p-4xl gap-s @4xl:gap-0", children: [jsxs("div", { className: "flex flex-col @4xl:flex-row gap-5xl", children: [children, Object.entries(filtrationSchema).map(renderFormItem(field))] }), resetButton ? (jsx("div", { children: jsx(Button, { className: "w-full @4xl:w-72 @4xl:ml-s", onClick: reset, ...resetButton }) })) : null] }));
|
|
4543
|
-
const renderFormItem = (field) => ([key, item]) => {
|
|
4544
|
-
const type = item?.type;
|
|
4545
|
-
switch (type) {
|
|
4546
|
-
case 'array':
|
|
4547
|
-
return renderCheckboxes(key, field)(item);
|
|
4548
|
-
default:
|
|
4549
|
-
return null;
|
|
4550
|
-
}
|
|
4551
|
-
};
|
|
4552
|
-
const renderCheckboxes = (key, field) => (item) => {
|
|
4553
|
-
const options = item?.items?.enum?.map((e, i) => ({ value: e, title: item?.items?.enumNames?.[i] || '' })) ||
|
|
4554
|
-
[];
|
|
4555
|
-
return (jsxs("div", { children: [item?.title ? (jsx("div", { className: "mb-m", children: jsx(Text, { size: "text-m", font: "font-light", color: "text-secondary-text", children: item.title }) })) : null, jsx(SlideCheckboxGroup, { items: options, multiple: true, ...field(key) })] }, key));
|
|
4556
|
-
};
|
|
4557
|
-
|
|
4558
|
-
const getPeriod = (source, content) => source[content?.sourceBook]?.rateRows
|
|
4559
|
-
.map((el) => el.minMonths)
|
|
4560
|
-
.filter((minMonths) => minMonths !== undefined);
|
|
4561
|
-
|
|
4562
|
-
async function fetchMultitudeJSON(...urls) {
|
|
4563
|
-
const fetchPromises = urls.map((url) => fetchJSON(url));
|
|
4564
|
-
return Promise.all(fetchPromises);
|
|
4565
|
-
}
|
|
4566
|
-
|
|
4567
|
-
const unique = (list) => [...new Set(list)];
|
|
4568
|
-
|
|
4569
|
-
const getChildSourceBook = (blocks) => blocks?.filter(hasSourceBook).map(({ content: { sourceBook } }) => sourceBook);
|
|
4570
|
-
const hasSourceBook = (block) => Boolean(block && block.content && typeof block.content.sourceBook === 'string');
|
|
4571
|
-
|
|
4572
|
-
function useDepositsPeriods(blocks) {
|
|
4573
|
-
const { dirs = [], source = [] } = useMemo(() => {
|
|
4574
|
-
const sourceBooks = getChildSourceBook(blocks);
|
|
4575
|
-
return { dirs: sourceBooks?.map((url) => `/wcms-resources/${url}.json`), source: sourceBooks };
|
|
4576
|
-
}, [blocks]);
|
|
4577
|
-
const { data = [] } = useAsyncData(dirs, fetchMultitudeJSON);
|
|
4578
|
-
return {
|
|
4579
|
-
source: Object.fromEntries(zip(source, data).filter(([, sourceData]) => Boolean(sourceData))),
|
|
4580
|
-
months: unique(data
|
|
4581
|
-
.flatMap((item) => item?.rateRows || [])
|
|
4582
|
-
.filter((row) => typeof row.minMonths === 'number' && row.minMonths === row.maxMonths)
|
|
4583
|
-
.map((row) => row.minMonths)).sort((a, b) => a - b) || [],
|
|
4584
|
-
};
|
|
4585
|
-
}
|
|
4586
|
-
|
|
4587
|
-
const DEFAULT_MIN_SUM = 500;
|
|
4588
|
-
const DEFAULT_MAX_SUM = 1000000000;
|
|
4589
|
-
const initialFiltrationState$1 = {
|
|
4590
|
-
sum: {
|
|
4591
|
-
min: 10000,
|
|
4592
|
-
max: DEFAULT_MAX_SUM,
|
|
4593
|
-
},
|
|
4594
|
-
period: 3,
|
|
4595
|
-
};
|
|
4596
|
-
const DepositFiltration = JSX(({ className, filtrationSchema = {}, resetButton, sumInput, periodInput, ...rest }) => {
|
|
4597
|
-
const { source, months } = useDepositsPeriods(rest.block?.blocks);
|
|
4598
|
-
const [filtrationState, { field, reset }] = useForm(initialFiltrationState$1);
|
|
4599
|
-
const blocksToRender = getBlocksToRender(rest.block?.blocks, filtrationState)((content) => ({ ...content, period: getPeriod(source, content || {}) || [] }));
|
|
4600
|
-
const Inputs = (jsxs("div", { children: [jsx(CurrencyInput, { label: sumInput?.title, min: DEFAULT_MIN_SUM, max: DEFAULT_MAX_SUM, ...field('sum', {
|
|
4601
|
-
parse: (min) => ({ min: Number(min), max: DEFAULT_MAX_SUM }),
|
|
4602
|
-
format: ({ min }) => String(min),
|
|
4603
|
-
}) }), jsx(InputRange, { title: periodInput?.title, items: ['От 3 мес', 'До 5 лет'], list: months, ...field('period') })] }));
|
|
4604
|
-
return (jsxs(BlockWrapper, { className: style('space-y-2xs', className), defaultPadding: "p-0", version: "transparent", ...rest, children: [renderFiltrationForm({ field, reset, filtrationSchema, resetButton, children: Inputs }), jsx(BaseFiltrationInner, { blocksToRender: blocksToRender, ...rest })] }));
|
|
4605
|
-
});
|
|
4606
|
-
const sourceBookSchema = {
|
|
4607
|
-
type: 'string',
|
|
4608
|
-
title: 'Адрес справочника',
|
|
4609
|
-
};
|
|
4610
|
-
DepositFiltration.childrenTypes = ['ProductTile'];
|
|
4611
|
-
DepositFiltration.childSchema = (content) => ({
|
|
4612
|
-
...(content?.filtrationSchema || {}),
|
|
4613
|
-
sourceBook: sourceBookSchema,
|
|
4614
|
-
});
|
|
4615
|
-
|
|
4616
|
-
const badgeBgStyleMap = {
|
|
4617
|
-
primary: 'bg-white/30',
|
|
4618
|
-
secondary: 'bg-main-divider',
|
|
4619
|
-
};
|
|
4620
|
-
const badgeTextColorStyleMap = {
|
|
4621
|
-
primary: 'text-white',
|
|
4622
|
-
secondary: 'text-secondary-text',
|
|
4623
|
-
};
|
|
4624
|
-
const Badge = JSX(({ count, version = 'secondary' }) => {
|
|
4625
|
-
return (jsx("div", { className: style('w-6 h-6 rounded-full flex items-center justify-center', badgeBgStyleMap[version]), children: jsx(Text, { size: "text-xs", color: badgeTextColorStyleMap[version], children: count }) }));
|
|
4626
|
-
});
|
|
4627
|
-
|
|
4628
|
-
const getBadgeCount = (blocks = [], filter = {}) => blocks.filter(({ content = {} }) => shouldRenderBlock(filter, content)).length;
|
|
4629
|
-
|
|
4630
|
-
const scalarCmp = (a, b) => a === b;
|
|
4631
|
-
const arrCmp = (cmp = scalarCmp) => (a, b) => a === b || Boolean(a && b && a.length === b.length && a.every((_, i) => cmp(_, b[i])));
|
|
4632
|
-
const objCmp = (cmp) => (a, b) => a === b ||
|
|
4633
|
-
Boolean(a &&
|
|
4634
|
-
b &&
|
|
4635
|
-
Object.keys(a).length === Object.keys(b).length &&
|
|
4636
|
-
Object.entries(a).every(([key, value]) => cmp(value, b[key])));
|
|
4637
|
-
function combineBoolCmps(...comparators) {
|
|
4638
|
-
return (a, b) => comparators.some((cmp) => cmp(a, b));
|
|
4639
|
-
}
|
|
4640
|
-
|
|
4641
|
-
const hotFilterRecordCmp = objCmp(combineBoolCmps(scalarCmp, arrCmp()));
|
|
4642
|
-
|
|
4643
|
-
const EMPTY_ARR = [];
|
|
4644
|
-
const EMPTY_OBJ = {};
|
|
4645
|
-
const useHotFilters = ({ hotFilters = EMPTY_ARR, filtrationState = EMPTY_OBJ, blocks = EMPTY_ARR, onFiltrationStateChange, }) => {
|
|
4646
|
-
const activeItemIndex = useMemo(() => Math.max(0, hotFilters.findIndex((_) => hotFilterRecordCmp(_.filter, filtrationState))), [hotFilters, filtrationState]);
|
|
4647
|
-
const items = useMemo(() => hotFilters.map((_) => ({
|
|
4648
|
-
text: _.text,
|
|
4649
|
-
appendRight: (jsx(Badge, { version: _ === hotFilters[activeItemIndex] ? 'primary' : 'secondary', count: getBadgeCount(blocks, _.filter) })),
|
|
4650
|
-
})), [hotFilters, blocks, activeItemIndex]);
|
|
4651
|
-
const handleChange = useCallback((_) => {
|
|
4652
|
-
onFiltrationStateChange(hotFilters[items.indexOf(_)].filter);
|
|
4653
|
-
}, [hotFilters, items]);
|
|
4654
|
-
return {
|
|
4655
|
-
value: items[activeItemIndex],
|
|
4656
|
-
items: items,
|
|
4657
|
-
onChange: handleChange,
|
|
4658
|
-
};
|
|
4659
|
-
};
|
|
4660
|
-
|
|
4661
|
-
const initialFiltrationState = {
|
|
4662
|
-
categories: [],
|
|
4663
|
-
extraOptions: [],
|
|
4664
|
-
propertyType: [],
|
|
4665
|
-
stage: [],
|
|
4666
|
-
};
|
|
4667
|
-
const MortgageFiltration = JSX(({ className, hotFilters, filtrationSchema = {}, resetButton, ...rest }) => {
|
|
4668
|
-
const [filtrationState, { field, reset, update: replaceFiltrationState }] = useForm(initialFiltrationState);
|
|
4669
|
-
const blocksToRender = getBlocksToRender(rest.block?.blocks, filtrationState)();
|
|
4670
|
-
const handleFiltrationStateChange = useCallback((_ = initialFiltrationState) => replaceFiltrationState(_), []);
|
|
4671
|
-
const tabsControlProps = useHotFilters({
|
|
4672
|
-
hotFilters,
|
|
4673
|
-
filtrationState,
|
|
4674
|
-
blocks: rest.block?.blocks,
|
|
4675
|
-
onFiltrationStateChange: handleFiltrationStateChange,
|
|
4676
|
-
});
|
|
4677
|
-
return (jsxs(BlockWrapper, { className: style('space-y-2xs', className), defaultPadding: "p-0", version: "transparent", ...rest, children: [jsx(TabsControl, { ...tabsControlProps }), renderFiltrationForm({ field, reset, filtrationSchema, resetButton }), jsx(BaseFiltrationInner, { blocksToRender: blocksToRender, ...rest })] }));
|
|
4678
|
-
});
|
|
4679
|
-
MortgageFiltration.childrenTypes = ['ProductTile'];
|
|
4680
|
-
MortgageFiltration.childSchema = (content) => content?.filtrationSchema || {};
|
|
4681
|
-
|
|
4682
4691
|
const Blocks = {
|
|
4683
4692
|
ApplicationForm,
|
|
4684
4693
|
BenefitsBlock,
|
|
@@ -4920,7 +4929,7 @@
|
|
|
4920
4929
|
|
|
4921
4930
|
const joinList = (sep) => (list) => list.reduce((acc, el, i) => (acc.length ? acc.concat({ ...sep, key: `sep-${i}` }, el) : [el]), []);
|
|
4922
4931
|
|
|
4923
|
-
const packageVersion = "0.14.
|
|
4932
|
+
const packageVersion = "0.14.18";
|
|
4924
4933
|
|
|
4925
4934
|
exports.Blocks = Blocks;
|
|
4926
4935
|
exports.ContentPage = ContentPage;
|