@redneckz/wildless-cms-uni-blocks 0.3.11 → 0.3.14
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/README.md +13 -0
- package/bundle/blocks.schema.json +1 -1
- package/bundle/bundle.umd.js +399 -229
- package/bundle/bundle.umd.min.js +1 -1
- package/cosmos-static/icons/GpsIcon.svg +1 -0
- package/dist/components/Accordion/AccordionBlocks.d.ts +1 -0
- package/dist/components/Accordion/AccordionBlocks.js +2 -0
- package/dist/components/Accordion/AccordionBlocks.js.map +1 -1
- package/dist/components/Accordion/AccordionContent.d.ts +13 -2
- package/dist/components/Accordion/AccordionItem.js +2 -2
- package/dist/components/Accordion/AccordionItem.js.map +1 -1
- package/dist/components/Accordion/AccordionItem.mobile.js +1 -1
- package/dist/components/Accordion/AccordionItem.mobile.js.map +1 -1
- package/dist/components/Accordion/AccordionItemInner.js +5 -4
- package/dist/components/Accordion/AccordionItemInner.js.map +1 -1
- package/dist/components/Accordion/AccordionItemInner.mobile.js +1 -1
- package/dist/components/Accordion/AccordionItemInner.mobile.js.map +1 -1
- package/dist/components/BaseTile/BaseTile.js +1 -1
- package/dist/components/BaseTile/BaseTile.js.map +1 -1
- package/dist/components/Blocks.d.ts +2 -0
- package/dist/components/Blocks.js +4 -0
- package/dist/components/Blocks.js.map +1 -1
- package/dist/components/Blocks.mobile.d.ts +3 -1
- package/dist/components/Blocks.mobile.js +6 -2
- package/dist/components/Blocks.mobile.js.map +1 -1
- package/dist/components/ComparisonTable/ComparisonTable.js +7 -25
- package/dist/components/ComparisonTable/ComparisonTable.js.map +1 -1
- package/dist/components/ComparisonTable/ComparisonTableBody.d.ts +12 -0
- package/dist/components/ComparisonTable/ComparisonTableBody.js +30 -0
- package/dist/components/ComparisonTable/ComparisonTableBody.js.map +1 -0
- package/dist/components/ComparisonTable/ComparisonTableColumnHeaders.d.ts +10 -0
- package/dist/components/ComparisonTable/ComparisonTableColumnHeaders.js +13 -0
- package/dist/components/ComparisonTable/ComparisonTableColumnHeaders.js.map +1 -0
- package/dist/components/ComparisonTable/ComparisonTableContent.d.ts +1 -1
- package/dist/components/ComparisonTable/ComparisonTableRows.d.ts +13 -0
- package/dist/components/ComparisonTable/ComparisonTableRows.js +10 -0
- package/dist/components/ComparisonTable/ComparisonTableRows.js.map +1 -0
- package/dist/components/ComparisonTable/TableColumn.js +2 -2
- package/dist/components/ComparisonTable/TableColumn.js.map +1 -1
- package/dist/components/ContentPage/ContentPageContext.d.ts +1 -1
- package/dist/components/ContentPage/ContentPageHead.js +1 -1
- package/dist/components/ContentPage/ContentPageHead.js.map +1 -1
- package/dist/components/CreditCalculator/CreditCalculator.d.ts +1 -1
- package/dist/components/CreditCalculator/CreditCalculator.js +8 -51
- package/dist/components/CreditCalculator/CreditCalculator.js.map +1 -1
- package/dist/components/CreditCalculator/CreditCalculatorContent.d.ts +10 -2
- package/dist/components/CreditCalculator/CreditCalculatorForm.d.ts +5 -0
- package/dist/components/CreditCalculator/CreditCalculatorForm.js +53 -0
- package/dist/components/CreditCalculator/CreditCalculatorForm.js.map +1 -0
- package/dist/components/CreditCalculator/defaultTabs.d.ts +2 -0
- package/dist/components/CreditCalculator/defaultTabs.js +23 -0
- package/dist/components/CreditCalculator/defaultTabs.js.map +1 -0
- package/dist/components/CreditCalculator/getCalculatorParams.d.ts +1 -1
- package/dist/components/CreditCalculator/getCreditRate.d.ts +1 -1
- package/dist/components/CreditCalculator/getDefaultMonths.d.ts +2 -0
- package/dist/components/CreditCalculator/getDefaultMonths.js +8 -0
- package/dist/components/CreditCalculator/getDefaultMonths.js.map +1 -0
- package/dist/components/CreditCalculator/getDefaultSum.d.ts +2 -0
- package/dist/components/CreditCalculator/getDefaultSum.js +8 -0
- package/dist/components/CreditCalculator/getDefaultSum.js.map +1 -0
- package/dist/components/CreditCalculator/getMonthlyPayment.d.ts +1 -1
- package/dist/components/CreditCalculator/renderButton.d.ts +1 -0
- package/dist/components/CreditCalculator/renderButton.js +8 -0
- package/dist/components/CreditCalculator/renderButton.js.map +1 -0
- package/dist/components/CreditCalculator/renderMonthsInput.d.ts +10 -0
- package/dist/components/CreditCalculator/renderMonthsInput.js +11 -0
- package/dist/components/CreditCalculator/renderMonthsInput.js.map +1 -0
- package/dist/components/CreditCalculator/renderProposal.d.ts +1 -0
- package/dist/components/CreditCalculator/renderProposal.js +9 -0
- package/dist/components/CreditCalculator/renderProposal.js.map +1 -0
- package/dist/components/CreditCalculator/renderTermsButton.d.ts +1 -0
- package/dist/components/CreditCalculator/renderTermsButton.js +9 -0
- package/dist/components/CreditCalculator/renderTermsButton.js.map +1 -0
- package/dist/components/CreditCalculator/renderWantedSumInput.d.ts +10 -0
- package/dist/components/CreditCalculator/renderWantedSumInput.js +18 -0
- package/dist/components/CreditCalculator/renderWantedSumInput.js.map +1 -0
- package/dist/components/ExchangeRateTile/CurrencyTable.d.ts +7 -0
- package/dist/components/ExchangeRateTile/CurrencyTable.js +19 -0
- package/dist/components/ExchangeRateTile/CurrencyTable.js.map +1 -0
- package/dist/components/ExchangeRateTile/CurrentLocation.d.ts +7 -0
- package/dist/components/ExchangeRateTile/CurrentLocation.js +7 -0
- package/dist/components/ExchangeRateTile/CurrentLocation.js.map +1 -0
- package/dist/components/ExchangeRateTile/ExchangeCurrencyCalculator.d.ts +7 -0
- package/dist/components/ExchangeRateTile/ExchangeCurrencyCalculator.js +15 -0
- package/dist/components/ExchangeRateTile/ExchangeCurrencyCalculator.js.map +1 -0
- package/dist/components/ExchangeRateTile/ExchangeRateTile.js +23 -27
- package/dist/components/ExchangeRateTile/ExchangeRateTile.js.map +1 -1
- package/dist/components/ExchangeRateTile/ExchangeRateTileContent.d.ts +10 -0
- package/dist/components/ExchangeRateTile/formatCurrency.d.ts +1 -0
- package/dist/components/ExchangeRateTile/formatCurrency.js +6 -0
- package/dist/components/ExchangeRateTile/formatCurrency.js.map +1 -0
- package/dist/components/Footer/Footer.mobile.js +5 -6
- package/dist/components/Footer/Footer.mobile.js.map +1 -1
- package/dist/components/Footer/FooterContent.d.ts +1 -1
- package/dist/components/Gallery/Gallery.mobile.js +6 -6
- package/dist/components/Gallery/Gallery.mobile.js.map +1 -1
- package/dist/components/Gallery/GalleryContent.d.ts +6 -0
- package/dist/components/Gallery/GalleryInner.js +1 -1
- package/dist/components/Gallery/GalleryInner.js.map +1 -1
- package/dist/components/Header/Header.mobile.js +3 -2
- package/dist/components/Header/Header.mobile.js.map +1 -1
- package/dist/components/Header/HeaderBurger.d.ts +2 -2
- package/dist/components/Header/HeaderBurger.js +1 -1
- package/dist/components/Header/HeaderBurger.js.map +1 -1
- package/dist/components/Header/HeaderContent.d.ts +10 -4
- package/dist/components/Header/HeaderTop.js +1 -1
- package/dist/components/Header/HeaderTop.js.map +1 -1
- package/dist/components/Headline/Headline.js +3 -8
- package/dist/components/Headline/Headline.js.map +1 -1
- package/dist/components/Headline/Headline.mobile.js +3 -2
- package/dist/components/Headline/Headline.mobile.js.map +1 -1
- package/dist/components/Headline/HeadlineContent.d.ts +2 -2
- package/dist/components/Headline/constants.d.ts +4 -0
- package/dist/components/Headline/constants.js +13 -0
- package/dist/components/Headline/constants.js.map +1 -0
- package/dist/components/MobileAppTile/MobileAppTile.js +1 -1
- package/dist/components/MobileAppTile/MobileAppTile.js.map +1 -1
- package/dist/components/ProductBlock/ProductBlockContent.d.ts +1 -0
- package/dist/components/ProductBlock/ProductBlockInner.js +1 -1
- package/dist/components/ProductBlock/ProductBlockInner.js.map +1 -1
- package/dist/components/ProductBlock/ProductBlockInner.mobile.js +1 -1
- package/dist/components/ProductBlock/ProductBlockInner.mobile.js.map +1 -1
- package/dist/components/ProductGallery/ProductGalleryContent.d.ts +1 -1
- package/dist/components/Recommendation/Recommendation.d.ts +5 -0
- package/dist/components/Recommendation/Recommendation.js +34 -0
- package/dist/components/Recommendation/Recommendation.js.map +1 -0
- package/dist/components/Recommendation/RecommendationCard.d.ts +7 -0
- package/dist/components/Recommendation/RecommendationCard.js +13 -0
- package/dist/components/Recommendation/RecommendationCard.js.map +1 -0
- package/dist/components/Recommendation/RecommendationContent.d.ts +14 -0
- package/dist/components/Recommendation/RecommendationContent.js +2 -0
- package/dist/components/Recommendation/RecommendationContent.js.map +1 -0
- package/dist/components/TariffsTable/TableTileHeader.d.ts +2 -0
- package/dist/components/TariffsTable/TableTileHeader.js +10 -0
- package/dist/components/TariffsTable/TableTileHeader.js.map +1 -0
- package/dist/components/TariffsTable/TariffsTable.js +14 -11
- package/dist/components/TariffsTable/TariffsTable.js.map +1 -1
- package/dist/components/TariffsTable/TariffsTable.mobile.d.ts +5 -0
- package/dist/components/TariffsTable/TariffsTable.mobile.js +21 -0
- package/dist/components/TariffsTable/TariffsTable.mobile.js.map +1 -0
- package/dist/components/TariffsTable/TariffsTableCell.js +2 -2
- package/dist/components/TariffsTable/TariffsTableCell.js.map +1 -1
- package/dist/components/TariffsTable/TariffsTableContent.d.ts +22 -18
- package/dist/components/TariffsTable/TariffsTableHorizontal.d.ts +6 -0
- package/dist/components/TariffsTable/TariffsTableHorizontal.js +8 -0
- package/dist/components/TariffsTable/TariffsTableHorizontal.js.map +1 -0
- package/dist/components/TariffsTable/TariffsTableTileCell.d.ts +2 -0
- package/dist/components/TariffsTable/TariffsTableTileCell.js +14 -0
- package/dist/components/TariffsTable/TariffsTableTileCell.js.map +1 -0
- package/dist/components/TariffsTable/TariffsTableVertical.d.ts +4 -0
- package/dist/components/TariffsTable/TariffsTableVertical.js +7 -0
- package/dist/components/TariffsTable/TariffsTableVertical.js.map +1 -0
- package/dist/components/TextBlock/TextBlock.mobile.js +1 -1
- package/dist/components/TextBlock/TextBlock.mobile.js.map +1 -1
- package/dist/hooks/useCreditCalculatorData.js +3 -3
- package/dist/hooks/useCreditCalculatorData.js.map +1 -1
- package/dist/hooks/useExchangeRates.d.ts +9 -0
- package/dist/hooks/useExchangeRates.js +18 -0
- package/dist/hooks/useExchangeRates.js.map +1 -0
- package/dist/hooks/useTableArrowScrollControl.d.ts +7 -0
- package/dist/hooks/useTableArrowScrollControl.js +12 -0
- package/dist/hooks/useTableArrowScrollControl.js.map +1 -0
- package/dist/icons/IconName.d.ts +3 -2
- package/dist/icons/IconName.js +1 -0
- package/dist/icons/IconName.js.map +1 -1
- package/dist/model/BlockVersion.d.ts +6 -1
- package/dist/model/InputTypes.d.ts +1 -0
- package/dist/model/InputTypes.js +2 -0
- package/dist/model/InputTypes.js.map +1 -0
- package/dist/model/ListOrientation.d.ts +8 -0
- package/dist/model/ListOrientation.js +2 -0
- package/dist/model/ListOrientation.js.map +1 -0
- package/dist/model/SitemapProps.d.ts +11 -0
- package/dist/services/sitemap/SitemapProps.d.ts +12 -1
- package/dist/setup-fixture.js +1 -1
- package/dist/setup-fixture.js.map +1 -1
- package/dist/ui-kit/Button/Button.d.ts +1 -0
- package/dist/ui-kit/Button/Button.js +7 -22
- package/dist/ui-kit/Button/Button.js.map +1 -1
- package/dist/ui-kit/Button/ButtonInner.js +16 -10
- package/dist/ui-kit/Button/ButtonInner.js.map +1 -1
- package/dist/ui-kit/Description/Description.js +1 -1
- package/dist/ui-kit/Img/Img.d.ts +2 -1
- package/dist/ui-kit/Img/Img.js +2 -2
- package/dist/ui-kit/Img/Img.js.map +1 -1
- package/dist/ui-kit/Img/Img.mobile.d.ts +6 -2
- package/dist/ui-kit/Img/Img.mobile.js +10 -5
- package/dist/ui-kit/Img/Img.mobile.js.map +1 -1
- package/dist/ui-kit/Input/Input.d.ts +2 -0
- package/dist/ui-kit/Input/Input.js +8 -0
- package/dist/ui-kit/Input/Input.js.map +1 -0
- package/dist/ui-kit/Input/InputProps.d.ts +8 -0
- package/dist/ui-kit/Input/InputProps.js +2 -0
- package/dist/ui-kit/Input/InputProps.js.map +1 -0
- package/dist/ui-kit/Select/Select.d.ts +6 -0
- package/dist/ui-kit/Select/Select.js +8 -0
- package/dist/ui-kit/Select/Select.js.map +1 -0
- package/dist/ui-kit/Select/SelectOption.d.ts +5 -0
- package/dist/ui-kit/Select/SelectOption.js +8 -0
- package/dist/ui-kit/Select/SelectOption.js.map +1 -0
- package/dist/ui-kit/SwipeListControl/SwipeListControl.js +7 -3
- package/dist/ui-kit/SwipeListControl/SwipeListControl.js.map +1 -1
- package/dist/ui-kit/SwipeListControl/SwipeListControlDots.js +9 -1
- package/dist/ui-kit/SwipeListControl/SwipeListControlDots.js.map +1 -1
- package/dist/ui-kit/TableArrowScrollControl/TableArrowScrollControl.d.ts +2 -0
- package/dist/ui-kit/TableArrowScrollControl/TableArrowScrollControl.js +9 -0
- package/dist/ui-kit/TableArrowScrollControl/TableArrowScrollControl.js.map +1 -0
- package/dist/ui-kit/TableArrowScrollControl/TableArrowScrollControlProps.d.ts +7 -0
- package/dist/ui-kit/TableArrowScrollControl/TableArrowScrollControlProps.js +2 -0
- package/dist/ui-kit/TableArrowScrollControl/TableArrowScrollControlProps.js.map +1 -0
- package/dist/ui-kit/Tabs/Tabs.d.ts +2 -0
- package/dist/ui-kit/Tabs/Tabs.js +16 -0
- package/dist/ui-kit/Tabs/Tabs.js.map +1 -0
- package/dist/ui-kit/Tabs/TabsProps.d.ts +17 -0
- package/dist/ui-kit/Tabs/TabsProps.js +2 -0
- package/dist/ui-kit/Tabs/TabsProps.js.map +1 -0
- package/lib/common.css +1 -1
- package/lib/components/Accordion/Accordion.fixture.d.ts +4 -1
- package/lib/components/Accordion/Accordion.fixture.mobile.d.ts +3 -1
- package/lib/components/Accordion/AccordionBlocks.d.ts +1 -0
- package/lib/components/Accordion/AccordionBlocks.js +2 -0
- package/lib/components/Accordion/AccordionBlocks.js.map +1 -1
- package/lib/components/Accordion/AccordionContent.d.ts +13 -2
- package/lib/components/Accordion/AccordionItem.js +2 -2
- package/lib/components/Accordion/AccordionItem.js.map +1 -1
- package/lib/components/Accordion/AccordionItem.mobile.js +1 -1
- package/lib/components/Accordion/AccordionItem.mobile.js.map +1 -1
- package/lib/components/Accordion/AccordionItemInner.js +5 -4
- package/lib/components/Accordion/AccordionItemInner.js.map +1 -1
- package/lib/components/Accordion/AccordionItemInner.mobile.js +1 -1
- package/lib/components/Accordion/AccordionItemInner.mobile.js.map +1 -1
- package/lib/components/BaseTile/BaseTile.js +1 -1
- package/lib/components/BaseTile/BaseTile.js.map +1 -1
- package/lib/components/BenefitsBlock/BenefitsBlock.fixture.d.ts +3 -1
- package/lib/components/Blocks.d.ts +2 -0
- package/lib/components/Blocks.js +4 -0
- package/lib/components/Blocks.js.map +1 -1
- package/lib/components/Blocks.mobile.d.ts +3 -1
- package/lib/components/Blocks.mobile.js +6 -2
- package/lib/components/Blocks.mobile.js.map +1 -1
- package/lib/components/ComparisonTable/ComparisonTable.js +8 -26
- package/lib/components/ComparisonTable/ComparisonTable.js.map +1 -1
- package/lib/components/ComparisonTable/ComparisonTableBody.d.ts +12 -0
- package/lib/components/ComparisonTable/ComparisonTableBody.js +28 -0
- package/lib/components/ComparisonTable/ComparisonTableBody.js.map +1 -0
- package/lib/components/ComparisonTable/ComparisonTableColumnHeaders.d.ts +10 -0
- package/lib/components/ComparisonTable/ComparisonTableColumnHeaders.js +11 -0
- package/lib/components/ComparisonTable/ComparisonTableColumnHeaders.js.map +1 -0
- package/lib/components/ComparisonTable/ComparisonTableContent.d.ts +1 -1
- package/lib/components/ComparisonTable/ComparisonTableRows.d.ts +13 -0
- package/lib/components/ComparisonTable/ComparisonTableRows.js +8 -0
- package/lib/components/ComparisonTable/ComparisonTableRows.js.map +1 -0
- package/lib/components/ComparisonTable/TableColumn.js +2 -2
- package/lib/components/ComparisonTable/TableColumn.js.map +1 -1
- package/lib/components/ContentPage/ContentPageContext.d.ts +1 -1
- package/lib/components/ContentPage/ContentPageHead.js +1 -1
- package/lib/components/ContentPage/ContentPageHead.js.map +1 -1
- package/lib/components/CreditCalculator/CreditCalculator.d.ts +1 -1
- package/lib/components/CreditCalculator/CreditCalculator.fixture.d.ts +3 -1
- package/lib/components/CreditCalculator/CreditCalculator.js +8 -51
- package/lib/components/CreditCalculator/CreditCalculator.js.map +1 -1
- package/lib/components/CreditCalculator/CreditCalculatorContent.d.ts +10 -2
- package/lib/components/CreditCalculator/CreditCalculatorForm.d.ts +5 -0
- package/lib/components/CreditCalculator/CreditCalculatorForm.js +51 -0
- package/lib/components/CreditCalculator/CreditCalculatorForm.js.map +1 -0
- package/lib/components/CreditCalculator/defaultTabs.d.ts +2 -0
- package/lib/components/CreditCalculator/defaultTabs.js +21 -0
- package/lib/components/CreditCalculator/defaultTabs.js.map +1 -0
- package/lib/components/CreditCalculator/getCalculatorParams.d.ts +1 -1
- package/lib/components/CreditCalculator/getCreditRate.d.ts +1 -1
- package/lib/components/CreditCalculator/getDefaultMonths.d.ts +2 -0
- package/lib/components/CreditCalculator/getDefaultMonths.js +5 -0
- package/lib/components/CreditCalculator/getDefaultMonths.js.map +1 -0
- package/lib/components/CreditCalculator/getDefaultSum.d.ts +2 -0
- package/lib/components/CreditCalculator/getDefaultSum.js +5 -0
- package/lib/components/CreditCalculator/getDefaultSum.js.map +1 -0
- package/lib/components/CreditCalculator/getMonthlyPayment.d.ts +1 -1
- package/lib/components/CreditCalculator/renderButton.d.ts +1 -0
- package/lib/components/CreditCalculator/renderButton.js +5 -0
- package/lib/components/CreditCalculator/renderButton.js.map +1 -0
- package/lib/components/CreditCalculator/renderMonthsInput.d.ts +10 -0
- package/lib/components/CreditCalculator/renderMonthsInput.js +8 -0
- package/lib/components/CreditCalculator/renderMonthsInput.js.map +1 -0
- package/lib/components/CreditCalculator/renderProposal.d.ts +1 -0
- package/lib/components/CreditCalculator/renderProposal.js +6 -0
- package/lib/components/CreditCalculator/renderProposal.js.map +1 -0
- package/lib/components/CreditCalculator/renderTermsButton.d.ts +1 -0
- package/lib/components/CreditCalculator/renderTermsButton.js +6 -0
- package/lib/components/CreditCalculator/renderTermsButton.js.map +1 -0
- package/lib/components/CreditCalculator/renderWantedSumInput.d.ts +10 -0
- package/lib/components/CreditCalculator/renderWantedSumInput.js +15 -0
- package/lib/components/CreditCalculator/renderWantedSumInput.js.map +1 -0
- package/lib/components/ExchangeRateTile/CurrencyTable.d.ts +7 -0
- package/lib/components/ExchangeRateTile/CurrencyTable.js +17 -0
- package/lib/components/ExchangeRateTile/CurrencyTable.js.map +1 -0
- package/lib/components/ExchangeRateTile/CurrentLocation.d.ts +7 -0
- package/lib/components/ExchangeRateTile/CurrentLocation.js +5 -0
- package/lib/components/ExchangeRateTile/CurrentLocation.js.map +1 -0
- package/lib/components/ExchangeRateTile/ExchangeCurrencyCalculator.d.ts +7 -0
- package/lib/components/ExchangeRateTile/ExchangeCurrencyCalculator.js +13 -0
- package/lib/components/ExchangeRateTile/ExchangeCurrencyCalculator.js.map +1 -0
- package/lib/components/ExchangeRateTile/ExchangeRateTile.js +23 -27
- package/lib/components/ExchangeRateTile/ExchangeRateTile.js.map +1 -1
- package/lib/components/ExchangeRateTile/ExchangeRateTileContent.d.ts +10 -0
- package/lib/components/ExchangeRateTile/formatCurrency.d.ts +1 -0
- package/lib/components/ExchangeRateTile/formatCurrency.js +3 -0
- package/lib/components/ExchangeRateTile/formatCurrency.js.map +1 -0
- package/lib/components/Footer/Footer.fixture.d.ts +3 -1
- package/lib/components/Footer/Footer.fixture.mobile.d.ts +3 -1
- package/lib/components/Footer/Footer.mobile.js +5 -6
- package/lib/components/Footer/Footer.mobile.js.map +1 -1
- package/lib/components/Footer/FooterContent.d.ts +1 -1
- package/lib/components/Gallery/Gallery.mobile.js +6 -6
- package/lib/components/Gallery/Gallery.mobile.js.map +1 -1
- package/lib/components/Gallery/GalleryContent.d.ts +6 -0
- package/lib/components/Gallery/GalleryInner.js +1 -1
- package/lib/components/Gallery/GalleryInner.js.map +1 -1
- package/lib/components/Header/Header.mobile.js +3 -2
- package/lib/components/Header/Header.mobile.js.map +1 -1
- package/lib/components/Header/HeaderBurger.d.ts +2 -2
- package/lib/components/Header/HeaderBurger.js +1 -1
- package/lib/components/Header/HeaderBurger.js.map +1 -1
- package/lib/components/Header/HeaderContent.d.ts +10 -4
- package/lib/components/Header/HeaderTop.js +1 -1
- package/lib/components/Header/HeaderTop.js.map +1 -1
- package/lib/components/Headline/Headline.fixture.d.ts +4 -2
- package/lib/components/Headline/Headline.fixture.mobile.d.ts +2 -3
- package/lib/components/Headline/Headline.js +3 -8
- package/lib/components/Headline/Headline.js.map +1 -1
- package/lib/components/Headline/Headline.mobile.js +3 -2
- package/lib/components/Headline/Headline.mobile.js.map +1 -1
- package/lib/components/Headline/HeadlineContent.d.ts +2 -2
- package/lib/components/Headline/constants.d.ts +4 -0
- package/lib/components/Headline/constants.js +11 -0
- package/lib/components/Headline/constants.js.map +1 -0
- package/lib/components/LikeControl/LikeControl.fixture.d.ts +3 -1
- package/lib/components/LinkList/LinkList.fixture.d.ts +3 -1
- package/lib/components/MobileAppTile/MobileAppTile.fixture.d.ts +3 -1
- package/lib/components/MobileAppTile/MobileAppTile.fixture.mobile.d.ts +3 -1
- package/lib/components/MobileAppTile/MobileAppTile.js +1 -1
- package/lib/components/MobileAppTile/MobileAppTile.js.map +1 -1
- package/lib/components/Navigation/Navigation.fixture.d.ts +3 -1
- package/lib/components/Placeholder/Placeholder.fixture.d.ts +3 -1
- package/lib/components/ProductBlock/ProductBlock.fixture.d.ts +3 -0
- package/lib/components/ProductBlock/ProductBlockContent.d.ts +1 -0
- package/lib/components/ProductBlock/ProductBlockInner.js +1 -1
- package/lib/components/ProductBlock/ProductBlockInner.js.map +1 -1
- package/lib/components/ProductBlock/ProductBlockInner.mobile.js +1 -1
- package/lib/components/ProductBlock/ProductBlockInner.mobile.js.map +1 -1
- package/lib/components/ProductGallery/ProductGallery.fixture.d.ts +3 -1
- package/lib/components/ProductGallery/ProductGalleryContent.d.ts +1 -1
- package/lib/components/ProductTile/ProductTile.fixture.d.ts +2 -1
- package/lib/components/Recommendation/Recommendation.d.ts +5 -0
- package/lib/components/Recommendation/Recommendation.fixture.d.ts +6 -0
- package/lib/components/Recommendation/Recommendation.js +32 -0
- package/lib/components/Recommendation/Recommendation.js.map +1 -0
- package/lib/components/Recommendation/RecommendationCard.d.ts +7 -0
- package/lib/components/Recommendation/RecommendationCard.js +11 -0
- package/lib/components/Recommendation/RecommendationCard.js.map +1 -0
- package/lib/components/Recommendation/RecommendationContent.d.ts +14 -0
- package/lib/components/Recommendation/RecommendationContent.js +2 -0
- package/lib/components/Recommendation/RecommendationContent.js.map +1 -0
- package/lib/components/TariffsTable/TableTileHeader.d.ts +2 -0
- package/lib/components/TariffsTable/TableTileHeader.js +8 -0
- package/lib/components/TariffsTable/TableTileHeader.js.map +1 -0
- package/lib/components/TariffsTable/TariffsTable.fixture.mobile.d.ts +5 -0
- package/lib/components/TariffsTable/TariffsTable.js +14 -11
- package/lib/components/TariffsTable/TariffsTable.js.map +1 -1
- package/lib/components/TariffsTable/TariffsTable.mobile.d.ts +5 -0
- package/lib/components/TariffsTable/TariffsTable.mobile.js +19 -0
- package/lib/components/TariffsTable/TariffsTable.mobile.js.map +1 -0
- package/lib/components/TariffsTable/TariffsTableCell.js +2 -2
- package/lib/components/TariffsTable/TariffsTableCell.js.map +1 -1
- package/lib/components/TariffsTable/TariffsTableContent.d.ts +22 -18
- package/lib/components/TariffsTable/TariffsTableHorizontal.d.ts +6 -0
- package/lib/components/TariffsTable/TariffsTableHorizontal.js +6 -0
- package/lib/components/TariffsTable/TariffsTableHorizontal.js.map +1 -0
- package/lib/components/TariffsTable/TariffsTableTileCell.d.ts +2 -0
- package/lib/components/TariffsTable/TariffsTableTileCell.js +12 -0
- package/lib/components/TariffsTable/TariffsTableTileCell.js.map +1 -0
- package/lib/components/TariffsTable/TariffsTableVertical.d.ts +4 -0
- package/lib/components/TariffsTable/TariffsTableVertical.js +5 -0
- package/lib/components/TariffsTable/TariffsTableVertical.js.map +1 -0
- package/lib/components/TextBlock/TextBlock.fixture.d.ts +3 -1
- package/lib/components/TextBlock/TextBlock.fixture.mobile.d.ts +3 -1
- package/lib/components/TextBlock/TextBlock.mobile.js +1 -1
- package/lib/components/TextBlock/TextBlock.mobile.js.map +1 -1
- package/lib/components/Tile/Tile.fixture.d.ts +1 -0
- package/lib/hooks/useCreditCalculatorData.js +3 -3
- package/lib/hooks/useCreditCalculatorData.js.map +1 -1
- package/lib/hooks/useExchangeRates.d.ts +9 -0
- package/lib/hooks/useExchangeRates.js +15 -0
- package/lib/hooks/useExchangeRates.js.map +1 -0
- package/lib/hooks/useTableArrowScrollControl.d.ts +7 -0
- package/lib/hooks/useTableArrowScrollControl.js +9 -0
- package/lib/hooks/useTableArrowScrollControl.js.map +1 -0
- package/lib/icons/IconName.d.ts +3 -2
- package/lib/icons/IconName.js +1 -0
- package/lib/icons/IconName.js.map +1 -1
- package/lib/model/BlockVersion.d.ts +6 -1
- package/lib/model/InputTypes.d.ts +1 -0
- package/lib/model/InputTypes.js +2 -0
- package/lib/model/InputTypes.js.map +1 -0
- package/lib/model/ListOrientation.d.ts +8 -0
- package/lib/model/ListOrientation.js +2 -0
- package/lib/model/ListOrientation.js.map +1 -0
- package/lib/model/SitemapProps.d.ts +11 -0
- package/lib/services/sitemap/SitemapProps.d.ts +12 -1
- package/lib/setup-fixture.js +1 -1
- package/lib/setup-fixture.js.map +1 -1
- package/lib/ui-kit/Button/Button.d.ts +1 -0
- package/lib/ui-kit/Button/Button.js +6 -21
- package/lib/ui-kit/Button/Button.js.map +1 -1
- package/lib/ui-kit/Button/ButtonInner.js +16 -10
- package/lib/ui-kit/Button/ButtonInner.js.map +1 -1
- package/lib/ui-kit/Description/Description.js +1 -1
- package/lib/ui-kit/Img/Img.d.ts +2 -1
- package/lib/ui-kit/Img/Img.js +2 -2
- package/lib/ui-kit/Img/Img.js.map +1 -1
- package/lib/ui-kit/Img/Img.mobile.d.ts +6 -2
- package/lib/ui-kit/Img/Img.mobile.js +10 -5
- package/lib/ui-kit/Img/Img.mobile.js.map +1 -1
- package/lib/ui-kit/Input/Input.d.ts +2 -0
- package/lib/ui-kit/Input/Input.js +6 -0
- package/lib/ui-kit/Input/Input.js.map +1 -0
- package/lib/ui-kit/Input/InputProps.d.ts +8 -0
- package/lib/ui-kit/Input/InputProps.js +2 -0
- package/lib/ui-kit/Input/InputProps.js.map +1 -0
- package/lib/ui-kit/Select/Select.d.ts +6 -0
- package/lib/ui-kit/Select/Select.js +6 -0
- package/lib/ui-kit/Select/Select.js.map +1 -0
- package/lib/ui-kit/Select/SelectOption.d.ts +5 -0
- package/lib/ui-kit/Select/SelectOption.js +6 -0
- package/lib/ui-kit/Select/SelectOption.js.map +1 -0
- package/lib/ui-kit/SwipeListControl/SwipeListControl.js +8 -4
- package/lib/ui-kit/SwipeListControl/SwipeListControl.js.map +1 -1
- package/lib/ui-kit/SwipeListControl/SwipeListControlDots.js +9 -1
- package/lib/ui-kit/SwipeListControl/SwipeListControlDots.js.map +1 -1
- package/lib/ui-kit/TableArrowScrollControl/TableArrowScrollControl.d.ts +2 -0
- package/lib/ui-kit/TableArrowScrollControl/TableArrowScrollControl.js +7 -0
- package/lib/ui-kit/TableArrowScrollControl/TableArrowScrollControl.js.map +1 -0
- package/lib/ui-kit/TableArrowScrollControl/TableArrowScrollControlProps.d.ts +7 -0
- package/lib/ui-kit/TableArrowScrollControl/TableArrowScrollControlProps.js +2 -0
- package/lib/ui-kit/TableArrowScrollControl/TableArrowScrollControlProps.js.map +1 -0
- package/lib/ui-kit/Tabs/Tabs.d.ts +2 -0
- package/lib/ui-kit/Tabs/Tabs.js +14 -0
- package/lib/ui-kit/Tabs/Tabs.js.map +1 -0
- package/lib/ui-kit/Tabs/TabsProps.d.ts +17 -0
- package/lib/ui-kit/Tabs/TabsProps.js +2 -0
- package/lib/ui-kit/Tabs/TabsProps.js.map +1 -0
- package/mobile/bundle/bundle.umd.js +337 -164
- package/mobile/bundle/bundle.umd.min.js +1 -1
- package/mobile/dist/components/Accordion/AccordionBlocks.d.ts +1 -0
- package/mobile/dist/components/Accordion/AccordionBlocks.js +2 -0
- package/mobile/dist/components/Accordion/AccordionBlocks.js.map +1 -1
- package/mobile/dist/components/Accordion/AccordionContent.d.ts +13 -2
- package/mobile/dist/components/Accordion/AccordionItem.js +1 -1
- package/mobile/dist/components/Accordion/AccordionItem.js.map +1 -1
- package/mobile/dist/components/Accordion/AccordionItemInner.js +1 -1
- package/mobile/dist/components/Accordion/AccordionItemInner.js.map +1 -1
- package/mobile/dist/components/BaseTile/BaseTile.js +1 -1
- package/mobile/dist/components/BaseTile/BaseTile.js.map +1 -1
- package/mobile/dist/components/Blocks.d.ts +3 -1
- package/mobile/dist/components/Blocks.js +6 -2
- package/mobile/dist/components/Blocks.js.map +1 -1
- package/mobile/dist/components/ComparisonTable/ComparisonTableBody.d.ts +12 -0
- package/mobile/dist/components/ComparisonTable/ComparisonTableBody.js +30 -0
- package/mobile/dist/components/ComparisonTable/ComparisonTableBody.js.map +1 -0
- package/mobile/dist/components/ComparisonTable/ComparisonTableColumnHeaders.d.ts +10 -0
- package/mobile/dist/components/ComparisonTable/ComparisonTableColumnHeaders.js +13 -0
- package/mobile/dist/components/ComparisonTable/ComparisonTableColumnHeaders.js.map +1 -0
- package/mobile/dist/components/ComparisonTable/ComparisonTableContent.d.ts +1 -1
- package/mobile/dist/components/ComparisonTable/ComparisonTableRows.d.ts +13 -0
- package/mobile/dist/components/ComparisonTable/ComparisonTableRows.js +10 -0
- package/mobile/dist/components/ComparisonTable/ComparisonTableRows.js.map +1 -0
- package/mobile/dist/components/ComparisonTable/TableColumn.js +2 -2
- package/mobile/dist/components/ComparisonTable/TableColumn.js.map +1 -1
- package/mobile/dist/components/ContentPage/ContentPageContext.d.ts +1 -1
- package/mobile/dist/components/ContentPage/ContentPageHead.js +1 -1
- package/mobile/dist/components/ContentPage/ContentPageHead.js.map +1 -1
- package/mobile/dist/components/CreditCalculator/CreditCalculator.d.ts +1 -1
- package/mobile/dist/components/CreditCalculator/CreditCalculator.js +8 -51
- package/mobile/dist/components/CreditCalculator/CreditCalculator.js.map +1 -1
- package/mobile/dist/components/CreditCalculator/CreditCalculatorContent.d.ts +10 -2
- package/mobile/dist/components/CreditCalculator/CreditCalculatorForm.d.ts +5 -0
- package/mobile/dist/components/CreditCalculator/CreditCalculatorForm.js +53 -0
- package/mobile/dist/components/CreditCalculator/CreditCalculatorForm.js.map +1 -0
- package/mobile/dist/components/CreditCalculator/defaultTabs.d.ts +2 -0
- package/mobile/dist/components/CreditCalculator/defaultTabs.js +23 -0
- package/mobile/dist/components/CreditCalculator/defaultTabs.js.map +1 -0
- package/mobile/dist/components/CreditCalculator/getCalculatorParams.d.ts +1 -1
- package/mobile/dist/components/CreditCalculator/getCreditRate.d.ts +1 -1
- package/mobile/dist/components/CreditCalculator/getDefaultMonths.d.ts +2 -0
- package/mobile/dist/components/CreditCalculator/getDefaultMonths.js +8 -0
- package/mobile/dist/components/CreditCalculator/getDefaultMonths.js.map +1 -0
- package/mobile/dist/components/CreditCalculator/getDefaultSum.d.ts +2 -0
- package/mobile/dist/components/CreditCalculator/getDefaultSum.js +8 -0
- package/mobile/dist/components/CreditCalculator/getDefaultSum.js.map +1 -0
- package/mobile/dist/components/CreditCalculator/getMonthlyPayment.d.ts +1 -1
- package/mobile/dist/components/CreditCalculator/renderButton.d.ts +1 -0
- package/mobile/dist/components/CreditCalculator/renderButton.js +8 -0
- package/mobile/dist/components/CreditCalculator/renderButton.js.map +1 -0
- package/mobile/dist/components/CreditCalculator/renderMonthsInput.d.ts +10 -0
- package/mobile/dist/components/CreditCalculator/renderMonthsInput.js +11 -0
- package/mobile/dist/components/CreditCalculator/renderMonthsInput.js.map +1 -0
- package/mobile/dist/components/CreditCalculator/renderProposal.d.ts +1 -0
- package/mobile/dist/components/CreditCalculator/renderProposal.js +9 -0
- package/mobile/dist/components/CreditCalculator/renderProposal.js.map +1 -0
- package/mobile/dist/components/CreditCalculator/renderTermsButton.d.ts +1 -0
- package/mobile/dist/components/CreditCalculator/renderTermsButton.js +9 -0
- package/mobile/dist/components/CreditCalculator/renderTermsButton.js.map +1 -0
- package/mobile/dist/components/CreditCalculator/renderWantedSumInput.d.ts +10 -0
- package/mobile/dist/components/CreditCalculator/renderWantedSumInput.js +18 -0
- package/mobile/dist/components/CreditCalculator/renderWantedSumInput.js.map +1 -0
- package/mobile/dist/components/ExchangeRateTile/CurrencyTable.d.ts +7 -0
- package/mobile/dist/components/ExchangeRateTile/CurrencyTable.js +19 -0
- package/mobile/dist/components/ExchangeRateTile/CurrencyTable.js.map +1 -0
- package/mobile/dist/components/ExchangeRateTile/CurrentLocation.d.ts +7 -0
- package/mobile/dist/components/ExchangeRateTile/CurrentLocation.js +7 -0
- package/mobile/dist/components/ExchangeRateTile/CurrentLocation.js.map +1 -0
- package/mobile/dist/components/ExchangeRateTile/ExchangeCurrencyCalculator.d.ts +7 -0
- package/mobile/dist/components/ExchangeRateTile/ExchangeCurrencyCalculator.js +15 -0
- package/mobile/dist/components/ExchangeRateTile/ExchangeCurrencyCalculator.js.map +1 -0
- package/mobile/dist/components/ExchangeRateTile/ExchangeRateTile.js +23 -27
- package/mobile/dist/components/ExchangeRateTile/ExchangeRateTile.js.map +1 -1
- package/mobile/dist/components/ExchangeRateTile/ExchangeRateTileContent.d.ts +10 -0
- package/mobile/dist/components/ExchangeRateTile/formatCurrency.d.ts +1 -0
- package/mobile/dist/components/ExchangeRateTile/formatCurrency.js +6 -0
- package/mobile/dist/components/ExchangeRateTile/formatCurrency.js.map +1 -0
- package/mobile/dist/components/Footer/Footer.js +5 -6
- package/mobile/dist/components/Footer/Footer.js.map +1 -1
- package/mobile/dist/components/Footer/FooterContent.d.ts +1 -1
- package/mobile/dist/components/Gallery/Gallery.js +6 -6
- package/mobile/dist/components/Gallery/Gallery.js.map +1 -1
- package/mobile/dist/components/Gallery/GalleryContent.d.ts +6 -0
- package/mobile/dist/components/Gallery/GalleryInner.js +1 -1
- package/mobile/dist/components/Gallery/GalleryInner.js.map +1 -1
- package/mobile/dist/components/Header/Header.js +3 -2
- package/mobile/dist/components/Header/Header.js.map +1 -1
- package/mobile/dist/components/Header/HeaderBurger.d.ts +2 -2
- package/mobile/dist/components/Header/HeaderBurger.js +1 -1
- package/mobile/dist/components/Header/HeaderBurger.js.map +1 -1
- package/mobile/dist/components/Header/HeaderContent.d.ts +10 -4
- package/mobile/dist/components/Header/HeaderTop.js +1 -1
- package/mobile/dist/components/Header/HeaderTop.js.map +1 -1
- package/mobile/dist/components/Headline/Headline.js +3 -2
- package/mobile/dist/components/Headline/Headline.js.map +1 -1
- package/mobile/dist/components/Headline/HeadlineContent.d.ts +2 -2
- package/mobile/dist/components/Headline/constants.d.ts +4 -0
- package/mobile/dist/components/Headline/constants.js +13 -0
- package/mobile/dist/components/Headline/constants.js.map +1 -0
- package/mobile/dist/components/ProductBlock/ProductBlockContent.d.ts +1 -0
- package/mobile/dist/components/ProductBlock/ProductBlockInner.js +1 -1
- package/mobile/dist/components/ProductBlock/ProductBlockInner.js.map +1 -1
- package/mobile/dist/components/ProductGallery/ProductGalleryContent.d.ts +1 -1
- package/mobile/dist/components/Recommendation/Recommendation.d.ts +5 -0
- package/mobile/dist/components/Recommendation/Recommendation.js +34 -0
- package/mobile/dist/components/Recommendation/Recommendation.js.map +1 -0
- package/mobile/dist/components/Recommendation/RecommendationCard.d.ts +7 -0
- package/mobile/dist/components/Recommendation/RecommendationCard.js +13 -0
- package/mobile/dist/components/Recommendation/RecommendationCard.js.map +1 -0
- package/mobile/dist/components/Recommendation/RecommendationContent.d.ts +14 -0
- package/mobile/dist/components/Recommendation/RecommendationContent.js +2 -0
- package/mobile/dist/components/Recommendation/RecommendationContent.js.map +1 -0
- package/mobile/dist/components/TariffsTable/TableTileHeader.d.ts +2 -0
- package/mobile/dist/components/TariffsTable/TableTileHeader.js +10 -0
- package/mobile/dist/components/TariffsTable/TableTileHeader.js.map +1 -0
- package/mobile/dist/components/TariffsTable/TariffsTable.js +14 -18
- package/mobile/dist/components/TariffsTable/TariffsTable.js.map +1 -1
- package/mobile/dist/components/TariffsTable/TariffsTableCell.js +2 -2
- package/mobile/dist/components/TariffsTable/TariffsTableCell.js.map +1 -1
- package/mobile/dist/components/TariffsTable/TariffsTableContent.d.ts +22 -18
- package/mobile/dist/components/TariffsTable/TariffsTableHorizontal.d.ts +6 -0
- package/mobile/dist/components/TariffsTable/TariffsTableHorizontal.js +8 -0
- package/mobile/dist/components/TariffsTable/TariffsTableHorizontal.js.map +1 -0
- package/mobile/dist/components/TariffsTable/TariffsTableTileCell.d.ts +2 -0
- package/mobile/dist/components/TariffsTable/TariffsTableTileCell.js +14 -0
- package/mobile/dist/components/TariffsTable/TariffsTableTileCell.js.map +1 -0
- package/mobile/dist/components/TariffsTable/TariffsTableVertical.d.ts +4 -0
- package/mobile/dist/components/TariffsTable/TariffsTableVertical.js +7 -0
- package/mobile/dist/components/TariffsTable/TariffsTableVertical.js.map +1 -0
- package/mobile/dist/components/TextBlock/TextBlock.js +1 -1
- package/mobile/dist/components/TextBlock/TextBlock.js.map +1 -1
- package/mobile/dist/hooks/useCreditCalculatorData.js +3 -3
- package/mobile/dist/hooks/useCreditCalculatorData.js.map +1 -1
- package/mobile/dist/hooks/useExchangeRates.d.ts +9 -0
- package/mobile/dist/hooks/useExchangeRates.js +18 -0
- package/mobile/dist/hooks/useExchangeRates.js.map +1 -0
- package/mobile/dist/hooks/useTableArrowScrollControl.d.ts +7 -0
- package/mobile/dist/hooks/useTableArrowScrollControl.js +12 -0
- package/mobile/dist/hooks/useTableArrowScrollControl.js.map +1 -0
- package/mobile/dist/icons/IconName.d.ts +3 -2
- package/mobile/dist/icons/IconName.js +1 -0
- package/mobile/dist/icons/IconName.js.map +1 -1
- package/mobile/dist/model/BlockVersion.d.ts +6 -1
- package/mobile/dist/model/InputTypes.d.ts +1 -0
- package/mobile/dist/model/InputTypes.js +2 -0
- package/mobile/dist/model/InputTypes.js.map +1 -0
- package/mobile/dist/model/ListOrientation.d.ts +8 -0
- package/mobile/dist/model/ListOrientation.js +2 -0
- package/mobile/dist/model/ListOrientation.js.map +1 -0
- package/mobile/dist/model/SitemapProps.d.ts +11 -0
- package/mobile/dist/services/sitemap/SitemapProps.d.ts +12 -1
- package/mobile/dist/setup-fixture.js +1 -1
- package/mobile/dist/setup-fixture.js.map +1 -1
- package/mobile/dist/ui-kit/Button/ButtonInner.js +16 -10
- package/mobile/dist/ui-kit/Button/ButtonInner.js.map +1 -1
- package/mobile/dist/ui-kit/Description/Description.js +1 -1
- package/mobile/dist/ui-kit/Img/Img.d.ts +6 -2
- package/mobile/dist/ui-kit/Img/Img.js +10 -5
- package/mobile/dist/ui-kit/Img/Img.js.map +1 -1
- package/mobile/dist/ui-kit/Input/Input.d.ts +2 -0
- package/mobile/dist/ui-kit/Input/Input.js +8 -0
- package/mobile/dist/ui-kit/Input/Input.js.map +1 -0
- package/mobile/dist/ui-kit/Input/InputProps.d.ts +8 -0
- package/mobile/dist/ui-kit/Input/InputProps.js +2 -0
- package/mobile/dist/ui-kit/Input/InputProps.js.map +1 -0
- package/mobile/dist/ui-kit/Select/Select.d.ts +6 -0
- package/mobile/dist/ui-kit/Select/Select.js +8 -0
- package/mobile/dist/ui-kit/Select/Select.js.map +1 -0
- package/mobile/dist/ui-kit/Select/SelectOption.d.ts +5 -0
- package/mobile/dist/ui-kit/Select/SelectOption.js +8 -0
- package/mobile/dist/ui-kit/Select/SelectOption.js.map +1 -0
- package/mobile/dist/ui-kit/SwipeListControl/SwipeListControl.js +7 -3
- package/mobile/dist/ui-kit/SwipeListControl/SwipeListControl.js.map +1 -1
- package/mobile/dist/ui-kit/SwipeListControl/SwipeListControlDots.js +9 -1
- package/mobile/dist/ui-kit/SwipeListControl/SwipeListControlDots.js.map +1 -1
- package/mobile/dist/ui-kit/TableArrowScrollControl/TableArrowScrollControl.d.ts +2 -0
- package/mobile/dist/ui-kit/TableArrowScrollControl/TableArrowScrollControl.js +9 -0
- package/mobile/dist/ui-kit/TableArrowScrollControl/TableArrowScrollControl.js.map +1 -0
- package/mobile/dist/ui-kit/TableArrowScrollControl/TableArrowScrollControlProps.d.ts +7 -0
- package/mobile/dist/ui-kit/TableArrowScrollControl/TableArrowScrollControlProps.js +2 -0
- package/mobile/dist/ui-kit/TableArrowScrollControl/TableArrowScrollControlProps.js.map +1 -0
- package/mobile/dist/ui-kit/Tabs/Tabs.d.ts +2 -0
- package/mobile/dist/ui-kit/Tabs/Tabs.js +16 -0
- package/mobile/dist/ui-kit/Tabs/Tabs.js.map +1 -0
- package/mobile/dist/ui-kit/Tabs/TabsProps.d.ts +17 -0
- package/mobile/dist/ui-kit/Tabs/TabsProps.js +2 -0
- package/mobile/dist/ui-kit/Tabs/TabsProps.js.map +1 -0
- package/mobile/lib/components/Accordion/AccordionBlocks.d.ts +1 -0
- package/mobile/lib/components/Accordion/AccordionBlocks.js +2 -0
- package/mobile/lib/components/Accordion/AccordionBlocks.js.map +1 -1
- package/mobile/lib/components/Accordion/AccordionContent.d.ts +13 -2
- package/mobile/lib/components/Accordion/AccordionItem.js +1 -1
- package/mobile/lib/components/Accordion/AccordionItem.js.map +1 -1
- package/mobile/lib/components/Accordion/AccordionItemInner.js +1 -1
- package/mobile/lib/components/Accordion/AccordionItemInner.js.map +1 -1
- package/mobile/lib/components/BaseTile/BaseTile.js +1 -1
- package/mobile/lib/components/BaseTile/BaseTile.js.map +1 -1
- package/mobile/lib/components/Blocks.d.ts +3 -1
- package/mobile/lib/components/Blocks.js +6 -2
- package/mobile/lib/components/Blocks.js.map +1 -1
- package/mobile/lib/components/ComparisonTable/ComparisonTableBody.d.ts +12 -0
- package/mobile/lib/components/ComparisonTable/ComparisonTableBody.js +28 -0
- package/mobile/lib/components/ComparisonTable/ComparisonTableBody.js.map +1 -0
- package/mobile/lib/components/ComparisonTable/ComparisonTableColumnHeaders.d.ts +10 -0
- package/mobile/lib/components/ComparisonTable/ComparisonTableColumnHeaders.js +11 -0
- package/mobile/lib/components/ComparisonTable/ComparisonTableColumnHeaders.js.map +1 -0
- package/mobile/lib/components/ComparisonTable/ComparisonTableContent.d.ts +1 -1
- package/mobile/lib/components/ComparisonTable/ComparisonTableRows.d.ts +13 -0
- package/mobile/lib/components/ComparisonTable/ComparisonTableRows.js +8 -0
- package/mobile/lib/components/ComparisonTable/ComparisonTableRows.js.map +1 -0
- package/mobile/lib/components/ComparisonTable/TableColumn.js +2 -2
- package/mobile/lib/components/ComparisonTable/TableColumn.js.map +1 -1
- package/mobile/lib/components/ContentPage/ContentPageContext.d.ts +1 -1
- package/mobile/lib/components/ContentPage/ContentPageHead.js +1 -1
- package/mobile/lib/components/ContentPage/ContentPageHead.js.map +1 -1
- package/mobile/lib/components/CreditCalculator/CreditCalculator.d.ts +1 -1
- package/mobile/lib/components/CreditCalculator/CreditCalculator.js +8 -51
- package/mobile/lib/components/CreditCalculator/CreditCalculator.js.map +1 -1
- package/mobile/lib/components/CreditCalculator/CreditCalculatorContent.d.ts +10 -2
- package/mobile/lib/components/CreditCalculator/CreditCalculatorForm.d.ts +5 -0
- package/mobile/lib/components/CreditCalculator/CreditCalculatorForm.js +51 -0
- package/mobile/lib/components/CreditCalculator/CreditCalculatorForm.js.map +1 -0
- package/mobile/lib/components/CreditCalculator/defaultTabs.d.ts +2 -0
- package/mobile/lib/components/CreditCalculator/defaultTabs.js +21 -0
- package/mobile/lib/components/CreditCalculator/defaultTabs.js.map +1 -0
- package/mobile/lib/components/CreditCalculator/getCalculatorParams.d.ts +1 -1
- package/mobile/lib/components/CreditCalculator/getCreditRate.d.ts +1 -1
- package/mobile/lib/components/CreditCalculator/getDefaultMonths.d.ts +2 -0
- package/mobile/lib/components/CreditCalculator/getDefaultMonths.js +5 -0
- package/mobile/lib/components/CreditCalculator/getDefaultMonths.js.map +1 -0
- package/mobile/lib/components/CreditCalculator/getDefaultSum.d.ts +2 -0
- package/mobile/lib/components/CreditCalculator/getDefaultSum.js +5 -0
- package/mobile/lib/components/CreditCalculator/getDefaultSum.js.map +1 -0
- package/mobile/lib/components/CreditCalculator/getMonthlyPayment.d.ts +1 -1
- package/mobile/lib/components/CreditCalculator/renderButton.d.ts +1 -0
- package/mobile/lib/components/CreditCalculator/renderButton.js +5 -0
- package/mobile/lib/components/CreditCalculator/renderButton.js.map +1 -0
- package/mobile/lib/components/CreditCalculator/renderMonthsInput.d.ts +10 -0
- package/mobile/lib/components/CreditCalculator/renderMonthsInput.js +8 -0
- package/mobile/lib/components/CreditCalculator/renderMonthsInput.js.map +1 -0
- package/mobile/lib/components/CreditCalculator/renderProposal.d.ts +1 -0
- package/mobile/lib/components/CreditCalculator/renderProposal.js +6 -0
- package/mobile/lib/components/CreditCalculator/renderProposal.js.map +1 -0
- package/mobile/lib/components/CreditCalculator/renderTermsButton.d.ts +1 -0
- package/mobile/lib/components/CreditCalculator/renderTermsButton.js +6 -0
- package/mobile/lib/components/CreditCalculator/renderTermsButton.js.map +1 -0
- package/mobile/lib/components/CreditCalculator/renderWantedSumInput.d.ts +10 -0
- package/mobile/lib/components/CreditCalculator/renderWantedSumInput.js +15 -0
- package/mobile/lib/components/CreditCalculator/renderWantedSumInput.js.map +1 -0
- package/mobile/lib/components/ExchangeRateTile/CurrencyTable.d.ts +7 -0
- package/mobile/lib/components/ExchangeRateTile/CurrencyTable.js +17 -0
- package/mobile/lib/components/ExchangeRateTile/CurrencyTable.js.map +1 -0
- package/mobile/lib/components/ExchangeRateTile/CurrentLocation.d.ts +7 -0
- package/mobile/lib/components/ExchangeRateTile/CurrentLocation.js +5 -0
- package/mobile/lib/components/ExchangeRateTile/CurrentLocation.js.map +1 -0
- package/mobile/lib/components/ExchangeRateTile/ExchangeCurrencyCalculator.d.ts +7 -0
- package/mobile/lib/components/ExchangeRateTile/ExchangeCurrencyCalculator.js +13 -0
- package/mobile/lib/components/ExchangeRateTile/ExchangeCurrencyCalculator.js.map +1 -0
- package/mobile/lib/components/ExchangeRateTile/ExchangeRateTile.js +23 -27
- package/mobile/lib/components/ExchangeRateTile/ExchangeRateTile.js.map +1 -1
- package/mobile/lib/components/ExchangeRateTile/ExchangeRateTileContent.d.ts +10 -0
- package/mobile/lib/components/ExchangeRateTile/formatCurrency.d.ts +1 -0
- package/mobile/lib/components/ExchangeRateTile/formatCurrency.js +3 -0
- package/mobile/lib/components/ExchangeRateTile/formatCurrency.js.map +1 -0
- package/mobile/lib/components/Footer/Footer.js +5 -6
- package/mobile/lib/components/Footer/Footer.js.map +1 -1
- package/mobile/lib/components/Footer/FooterContent.d.ts +1 -1
- package/mobile/lib/components/Gallery/Gallery.js +6 -6
- package/mobile/lib/components/Gallery/Gallery.js.map +1 -1
- package/mobile/lib/components/Gallery/GalleryContent.d.ts +6 -0
- package/mobile/lib/components/Gallery/GalleryInner.js +1 -1
- package/mobile/lib/components/Gallery/GalleryInner.js.map +1 -1
- package/mobile/lib/components/Header/Header.js +3 -2
- package/mobile/lib/components/Header/Header.js.map +1 -1
- package/mobile/lib/components/Header/HeaderBurger.d.ts +2 -2
- package/mobile/lib/components/Header/HeaderBurger.js +1 -1
- package/mobile/lib/components/Header/HeaderBurger.js.map +1 -1
- package/mobile/lib/components/Header/HeaderContent.d.ts +10 -4
- package/mobile/lib/components/Header/HeaderTop.js +1 -1
- package/mobile/lib/components/Header/HeaderTop.js.map +1 -1
- package/mobile/lib/components/Headline/Headline.js +3 -2
- package/mobile/lib/components/Headline/Headline.js.map +1 -1
- package/mobile/lib/components/Headline/HeadlineContent.d.ts +2 -2
- package/mobile/lib/components/Headline/constants.d.ts +4 -0
- package/mobile/lib/components/Headline/constants.js +11 -0
- package/mobile/lib/components/Headline/constants.js.map +1 -0
- package/mobile/lib/components/ProductBlock/ProductBlockContent.d.ts +1 -0
- package/mobile/lib/components/ProductBlock/ProductBlockInner.js +1 -1
- package/mobile/lib/components/ProductBlock/ProductBlockInner.js.map +1 -1
- package/mobile/lib/components/ProductGallery/ProductGalleryContent.d.ts +1 -1
- package/mobile/lib/components/Recommendation/Recommendation.d.ts +5 -0
- package/mobile/lib/components/Recommendation/Recommendation.js +32 -0
- package/mobile/lib/components/Recommendation/Recommendation.js.map +1 -0
- package/mobile/lib/components/Recommendation/RecommendationCard.d.ts +7 -0
- package/mobile/lib/components/Recommendation/RecommendationCard.js +11 -0
- package/mobile/lib/components/Recommendation/RecommendationCard.js.map +1 -0
- package/mobile/lib/components/Recommendation/RecommendationContent.d.ts +14 -0
- package/mobile/lib/components/Recommendation/RecommendationContent.js +2 -0
- package/mobile/lib/components/Recommendation/RecommendationContent.js.map +1 -0
- package/mobile/lib/components/TariffsTable/TableTileHeader.d.ts +2 -0
- package/mobile/lib/components/TariffsTable/TableTileHeader.js +8 -0
- package/mobile/lib/components/TariffsTable/TableTileHeader.js.map +1 -0
- package/mobile/lib/components/TariffsTable/TariffsTable.js +14 -18
- package/mobile/lib/components/TariffsTable/TariffsTable.js.map +1 -1
- package/mobile/lib/components/TariffsTable/TariffsTableCell.js +2 -2
- package/mobile/lib/components/TariffsTable/TariffsTableCell.js.map +1 -1
- package/mobile/lib/components/TariffsTable/TariffsTableContent.d.ts +22 -18
- package/mobile/lib/components/TariffsTable/TariffsTableHorizontal.d.ts +6 -0
- package/mobile/lib/components/TariffsTable/TariffsTableHorizontal.js +6 -0
- package/mobile/lib/components/TariffsTable/TariffsTableHorizontal.js.map +1 -0
- package/mobile/lib/components/TariffsTable/TariffsTableTileCell.d.ts +2 -0
- package/mobile/lib/components/TariffsTable/TariffsTableTileCell.js +12 -0
- package/mobile/lib/components/TariffsTable/TariffsTableTileCell.js.map +1 -0
- package/mobile/lib/components/TariffsTable/TariffsTableVertical.d.ts +4 -0
- package/mobile/lib/components/TariffsTable/TariffsTableVertical.js +5 -0
- package/mobile/lib/components/TariffsTable/TariffsTableVertical.js.map +1 -0
- package/mobile/lib/components/TextBlock/TextBlock.js +1 -1
- package/mobile/lib/components/TextBlock/TextBlock.js.map +1 -1
- package/mobile/lib/hooks/useCreditCalculatorData.js +3 -3
- package/mobile/lib/hooks/useCreditCalculatorData.js.map +1 -1
- package/mobile/lib/hooks/useExchangeRates.d.ts +9 -0
- package/mobile/lib/hooks/useExchangeRates.js +15 -0
- package/mobile/lib/hooks/useExchangeRates.js.map +1 -0
- package/mobile/lib/hooks/useTableArrowScrollControl.d.ts +7 -0
- package/mobile/lib/hooks/useTableArrowScrollControl.js +9 -0
- package/mobile/lib/hooks/useTableArrowScrollControl.js.map +1 -0
- package/mobile/lib/icons/IconName.d.ts +3 -2
- package/mobile/lib/icons/IconName.js +1 -0
- package/mobile/lib/icons/IconName.js.map +1 -1
- package/mobile/lib/model/BlockVersion.d.ts +6 -1
- package/mobile/lib/model/InputTypes.d.ts +1 -0
- package/mobile/lib/model/InputTypes.js +2 -0
- package/mobile/lib/model/InputTypes.js.map +1 -0
- package/mobile/lib/model/ListOrientation.d.ts +8 -0
- package/mobile/lib/model/ListOrientation.js +2 -0
- package/mobile/lib/model/ListOrientation.js.map +1 -0
- package/mobile/lib/model/SitemapProps.d.ts +11 -0
- package/mobile/lib/services/sitemap/SitemapProps.d.ts +12 -1
- package/mobile/lib/setup-fixture.js +1 -1
- package/mobile/lib/setup-fixture.js.map +1 -1
- package/mobile/lib/ui-kit/Button/ButtonInner.js +16 -10
- package/mobile/lib/ui-kit/Button/ButtonInner.js.map +1 -1
- package/mobile/lib/ui-kit/Description/Description.js +1 -1
- package/mobile/lib/ui-kit/Img/Img.d.ts +6 -2
- package/mobile/lib/ui-kit/Img/Img.js +10 -5
- package/mobile/lib/ui-kit/Img/Img.js.map +1 -1
- package/mobile/lib/ui-kit/Input/Input.d.ts +2 -0
- package/mobile/lib/ui-kit/Input/Input.js +6 -0
- package/mobile/lib/ui-kit/Input/Input.js.map +1 -0
- package/mobile/lib/ui-kit/Input/InputProps.d.ts +8 -0
- package/mobile/lib/ui-kit/Input/InputProps.js +2 -0
- package/mobile/lib/ui-kit/Input/InputProps.js.map +1 -0
- package/mobile/lib/ui-kit/Select/Select.d.ts +6 -0
- package/mobile/lib/ui-kit/Select/Select.js +6 -0
- package/mobile/lib/ui-kit/Select/Select.js.map +1 -0
- package/mobile/lib/ui-kit/Select/SelectOption.d.ts +5 -0
- package/mobile/lib/ui-kit/Select/SelectOption.js +6 -0
- package/mobile/lib/ui-kit/Select/SelectOption.js.map +1 -0
- package/mobile/lib/ui-kit/SwipeListControl/SwipeListControl.js +8 -4
- package/mobile/lib/ui-kit/SwipeListControl/SwipeListControl.js.map +1 -1
- package/mobile/lib/ui-kit/SwipeListControl/SwipeListControlDots.js +9 -1
- package/mobile/lib/ui-kit/SwipeListControl/SwipeListControlDots.js.map +1 -1
- package/mobile/lib/ui-kit/TableArrowScrollControl/TableArrowScrollControl.d.ts +2 -0
- package/mobile/lib/ui-kit/TableArrowScrollControl/TableArrowScrollControl.js +7 -0
- package/mobile/lib/ui-kit/TableArrowScrollControl/TableArrowScrollControl.js.map +1 -0
- package/mobile/lib/ui-kit/TableArrowScrollControl/TableArrowScrollControlProps.d.ts +7 -0
- package/mobile/lib/ui-kit/TableArrowScrollControl/TableArrowScrollControlProps.js +2 -0
- package/mobile/lib/ui-kit/TableArrowScrollControl/TableArrowScrollControlProps.js.map +1 -0
- package/mobile/lib/ui-kit/Tabs/Tabs.d.ts +2 -0
- package/mobile/lib/ui-kit/Tabs/Tabs.js +14 -0
- package/mobile/lib/ui-kit/Tabs/Tabs.js.map +1 -0
- package/mobile/lib/ui-kit/Tabs/TabsProps.d.ts +17 -0
- package/mobile/lib/ui-kit/Tabs/TabsProps.js +2 -0
- package/mobile/lib/ui-kit/Tabs/TabsProps.js.map +1 -0
- package/mobile/src/common.css +12 -0
- package/mobile/src/components/Accordion/AccordionBlocks.tsx +2 -0
- package/mobile/src/components/Accordion/AccordionContent.ts +16 -0
- package/mobile/src/components/Accordion/AccordionItem.tsx +2 -2
- package/mobile/src/components/Accordion/AccordionItemInner.tsx +1 -1
- package/mobile/src/components/BaseTile/BaseTile.tsx +1 -1
- package/mobile/src/components/Blocks.ts +6 -2
- package/mobile/src/components/ComparisonTable/ComparisonTableBody.tsx +68 -0
- package/mobile/src/components/ComparisonTable/ComparisonTableColumnHeaders.tsx +34 -0
- package/mobile/src/components/ComparisonTable/ComparisonTableContent.ts +1 -1
- package/mobile/src/components/ComparisonTable/ComparisonTableRows.tsx +32 -0
- package/mobile/src/components/ComparisonTable/TableColumn.tsx +6 -2
- package/mobile/src/components/ContentPage/ContentPage.page.json +74 -0
- package/mobile/src/components/ContentPage/ContentPageContext.tsx +1 -1
- package/mobile/src/components/ContentPage/ContentPageHead.tsx +1 -1
- package/mobile/src/components/CreditCalculator/CreditCalculator.tsx +19 -142
- package/mobile/src/components/CreditCalculator/CreditCalculatorContent.ts +12 -2
- package/mobile/src/components/CreditCalculator/CreditCalculatorForm.tsx +92 -0
- package/mobile/src/components/CreditCalculator/defaultTabs.ts +22 -0
- package/mobile/src/components/CreditCalculator/getCalculatorParams.ts +1 -1
- package/mobile/src/components/CreditCalculator/getCreditRate.ts +1 -1
- package/mobile/src/components/CreditCalculator/getDefaultMonths.ts +7 -0
- package/mobile/src/components/CreditCalculator/getDefaultSum.ts +7 -0
- package/mobile/src/components/CreditCalculator/getMonthlyPayment.ts +1 -1
- package/mobile/src/components/CreditCalculator/renderButton.tsx +13 -0
- package/mobile/src/components/CreditCalculator/renderMonthsInput.tsx +29 -0
- package/mobile/src/components/CreditCalculator/renderProposal.tsx +13 -0
- package/mobile/src/components/CreditCalculator/renderTermsButton.tsx +16 -0
- package/mobile/src/components/CreditCalculator/renderWantedSumInput.tsx +36 -0
- package/mobile/src/components/ExchangeRateTile/CurrencyTable.tsx +47 -0
- package/mobile/src/components/ExchangeRateTile/CurrentLocation.tsx +22 -0
- package/mobile/src/components/ExchangeRateTile/ExchangeCurrencyCalculator.tsx +47 -0
- package/mobile/src/components/ExchangeRateTile/ExchangeRateTile.tsx +48 -79
- package/mobile/src/components/ExchangeRateTile/ExchangeRateTileContent.ts +11 -0
- package/mobile/src/components/ExchangeRateTile/formatCurrency.ts +3 -0
- package/mobile/src/components/Footer/Footer.tsx +9 -9
- package/mobile/src/components/Footer/FooterContent.ts +1 -1
- package/mobile/src/components/Gallery/Gallery.example.json +4 -0
- package/mobile/src/components/Gallery/Gallery.tsx +19 -9
- package/mobile/src/components/Gallery/GalleryContent.ts +6 -0
- package/mobile/src/components/Gallery/GalleryInner.tsx +2 -0
- package/mobile/src/components/Header/Header.tsx +5 -6
- package/mobile/src/components/Header/HeaderBurger.tsx +11 -6
- package/mobile/src/components/Header/HeaderContent.ts +12 -4
- package/mobile/src/components/Header/HeaderTop.tsx +5 -1
- package/mobile/src/components/Headline/Headline.example.json +1 -1
- package/mobile/src/components/Headline/Headline.tsx +20 -4
- package/mobile/src/components/Headline/HeadlineContent.ts +2 -3
- package/mobile/src/components/Headline/constants.ts +14 -0
- package/mobile/src/components/MiniGallery/MiniGallery.example.json +8 -4
- package/mobile/src/components/ProductBlock/ProductBlockContent.ts +1 -0
- package/mobile/src/components/ProductBlock/ProductBlockInner.tsx +3 -1
- package/mobile/src/components/ProductGallery/ProductGallery.example.json +2 -1
- package/mobile/src/components/ProductGallery/ProductGalleryContent.ts +1 -1
- package/mobile/src/components/ProductTile/ProductTile.example.json +1 -0
- package/mobile/src/components/Recommendation/Recommendation.example.json +38 -0
- package/mobile/src/components/Recommendation/Recommendation.tsx +105 -0
- package/mobile/src/components/Recommendation/RecommendationCard.tsx +33 -0
- package/mobile/src/components/Recommendation/RecommendationContent.ts +19 -0
- package/mobile/src/components/TariffsTable/TableTileHeader.tsx +15 -0
- package/mobile/src/components/TariffsTable/TariffsTable.example.json +7 -1
- package/mobile/src/components/TariffsTable/TariffsTable.tsx +41 -65
- package/mobile/src/components/TariffsTable/TariffsTableCell.tsx +3 -3
- package/mobile/src/components/TariffsTable/TariffsTableContent.ts +31 -23
- package/mobile/src/components/TariffsTable/TariffsTableHorizontal.tsx +16 -0
- package/mobile/src/components/TariffsTable/TariffsTableTileCell.tsx +61 -0
- package/mobile/src/components/TariffsTable/TariffsTableVertical.tsx +11 -0
- package/mobile/src/components/TextBlock/TextBlock.tsx +2 -2
- package/mobile/src/hooks/useCreditCalculatorData.ts +3 -7
- package/mobile/src/hooks/useExchangeRates.ts +25 -0
- package/mobile/src/hooks/useTableArrowScrollControl.ts +22 -0
- package/mobile/src/icons/GpsIcon.svg +8 -0
- package/mobile/src/icons/IconName.ts +3 -3
- package/mobile/src/model/BlockVersion.ts +7 -1
- package/mobile/src/model/InputTypes.ts +1 -0
- package/mobile/src/model/ListOrientation.ts +8 -0
- package/mobile/src/model/SitemapProps.ts +12 -0
- package/mobile/src/services/sitemap/SitemapProps.ts +13 -1
- package/mobile/src/setup-fixture.ts +1 -1
- package/mobile/src/ui-kit/Button/ButtonInner.tsx +25 -21
- package/mobile/src/ui-kit/Description/Description.tsx +1 -1
- package/mobile/src/ui-kit/Img/Img.tsx +29 -15
- package/mobile/src/ui-kit/Input/Input.tsx +8 -0
- package/mobile/src/ui-kit/Input/InputProps.ts +9 -0
- package/mobile/src/ui-kit/Select/Select.tsx +15 -0
- package/mobile/src/ui-kit/Select/SelectOption.tsx +14 -0
- package/mobile/src/ui-kit/SwipeListControl/SwipeListControl.tsx +17 -20
- package/mobile/src/ui-kit/SwipeListControl/SwipeListControlDots.tsx +12 -0
- package/mobile/src/ui-kit/TableArrowScrollControl/TableArrowScrollControl.tsx +27 -0
- package/mobile/src/ui-kit/TableArrowScrollControl/TableArrowScrollControlProps.ts +7 -0
- package/mobile/src/ui-kit/Tabs/Tabs.tsx +46 -0
- package/mobile/src/ui-kit/Tabs/TabsProps.ts +20 -0
- package/package.json +12 -2
- package/src/common.css +12 -0
- package/src/components/Accordion/Accordion.fixture.mobile.tsx +7 -5
- package/src/components/Accordion/Accordion.fixture.tsx +80 -14
- package/src/components/Accordion/AccordionBlocks.tsx +2 -0
- package/src/components/Accordion/AccordionContent.ts +16 -0
- package/src/components/Accordion/AccordionItem.mobile.tsx +2 -2
- package/src/components/Accordion/AccordionItem.tsx +4 -2
- package/src/components/Accordion/AccordionItemInner.mobile.tsx +1 -1
- package/src/components/Accordion/AccordionItemInner.tsx +21 -16
- package/src/components/BaseTile/BaseTile.tsx +1 -1
- package/src/components/BenefitsBlock/BenefitsBlock.fixture.tsx +36 -33
- package/src/components/Blocks.mobile.ts +6 -2
- package/src/components/Blocks.ts +4 -0
- package/src/components/ComparisonTable/ComparisonTable.tsx +38 -99
- package/src/components/ComparisonTable/ComparisonTableBody.tsx +68 -0
- package/src/components/ComparisonTable/ComparisonTableColumnHeaders.tsx +34 -0
- package/src/components/ComparisonTable/ComparisonTableContent.ts +1 -1
- package/src/components/ComparisonTable/ComparisonTableRows.tsx +32 -0
- package/src/components/ComparisonTable/TableColumn.tsx +6 -2
- package/src/components/ContentPage/ContentPage.page.json +74 -0
- package/src/components/ContentPage/ContentPageContext.tsx +1 -1
- package/src/components/ContentPage/ContentPageHead.tsx +1 -1
- package/src/components/CreditCalculator/CreditCalculator.fixture.tsx +30 -10
- package/src/components/CreditCalculator/CreditCalculator.tsx +19 -142
- package/src/components/CreditCalculator/CreditCalculatorContent.ts +12 -2
- package/src/components/CreditCalculator/CreditCalculatorForm.tsx +92 -0
- package/src/components/CreditCalculator/defaultTabs.ts +22 -0
- package/src/components/CreditCalculator/getCalculatorParams.ts +1 -1
- package/src/components/CreditCalculator/getCreditRate.ts +1 -1
- package/src/components/CreditCalculator/getDefaultMonths.ts +7 -0
- package/src/components/CreditCalculator/getDefaultSum.ts +7 -0
- package/src/components/CreditCalculator/getMonthlyPayment.ts +1 -1
- package/src/components/CreditCalculator/renderButton.tsx +13 -0
- package/src/components/CreditCalculator/renderMonthsInput.tsx +29 -0
- package/src/components/CreditCalculator/renderProposal.tsx +13 -0
- package/src/components/CreditCalculator/renderTermsButton.tsx +16 -0
- package/src/components/CreditCalculator/renderWantedSumInput.tsx +36 -0
- package/src/components/ExchangeRateTile/CurrencyTable.tsx +47 -0
- package/src/components/ExchangeRateTile/CurrentLocation.tsx +22 -0
- package/src/components/ExchangeRateTile/ExchangeCurrencyCalculator.tsx +47 -0
- package/src/components/ExchangeRateTile/ExchangeRateTile.fixture.tsx +1 -1
- package/src/components/ExchangeRateTile/ExchangeRateTile.tsx +48 -79
- package/src/components/ExchangeRateTile/ExchangeRateTileContent.ts +11 -0
- package/src/components/ExchangeRateTile/formatCurrency.ts +3 -0
- package/src/components/Footer/Footer.fixture.mobile.tsx +88 -281
- package/src/components/Footer/Footer.fixture.tsx +143 -141
- package/src/components/Footer/Footer.mobile.tsx +9 -9
- package/src/components/Footer/FooterContent.ts +1 -1
- package/src/components/Gallery/Gallery.example.json +4 -0
- package/src/components/Gallery/Gallery.fixture.mobile.tsx +9 -4
- package/src/components/Gallery/Gallery.mobile.tsx +19 -9
- package/src/components/Gallery/GalleryContent.ts +6 -0
- package/src/components/Gallery/GalleryInner.tsx +2 -0
- package/src/components/Header/Header.fixture.mobile.tsx +1 -203
- package/src/components/Header/Header.mobile.tsx +5 -6
- package/src/components/Header/HeaderBurger.tsx +11 -6
- package/src/components/Header/HeaderContent.ts +12 -4
- package/src/components/Header/HeaderTop.tsx +5 -1
- package/src/components/Headline/Headline.example.json +1 -1
- package/src/components/Headline/Headline.fixture.mobile.tsx +39 -15
- package/src/components/Headline/Headline.fixture.tsx +20 -17
- package/src/components/Headline/Headline.mobile.tsx +20 -4
- package/src/components/Headline/Headline.tsx +9 -12
- package/src/components/Headline/HeadlineContent.ts +2 -3
- package/src/components/Headline/constants.ts +14 -0
- package/src/components/LikeControl/LikeControl.fixture.tsx +7 -5
- package/src/components/LinkList/LinkList.fixture.tsx +8 -10
- package/src/components/MiniGallery/MiniGallery.example.json +8 -4
- package/src/components/MobileAppTile/MobileAppTile.fixture.mobile.tsx +11 -9
- package/src/components/MobileAppTile/MobileAppTile.fixture.tsx +32 -30
- package/src/components/MobileAppTile/MobileAppTile.tsx +1 -1
- package/src/components/Navigation/Navigation.fixture.tsx +26 -24
- package/src/components/Placeholder/Placeholder.fixture.tsx +7 -5
- package/src/components/ProductBlock/ProductBlock.fixture.tsx +27 -11
- package/src/components/ProductBlock/ProductBlockContent.ts +1 -0
- package/src/components/ProductBlock/ProductBlockInner.mobile.tsx +3 -1
- package/src/components/ProductBlock/ProductBlockInner.tsx +1 -1
- package/src/components/ProductGallery/ProductGallery.example.json +2 -1
- package/src/components/ProductGallery/ProductGallery.fixture.tsx +104 -102
- package/src/components/ProductGallery/ProductGalleryContent.ts +1 -1
- package/src/components/ProductTile/ProductTile.example.json +1 -0
- package/src/components/ProductTile/ProductTile.fixture.tsx +50 -117
- package/src/components/Recommendation/Recommendation.example.json +38 -0
- package/src/components/Recommendation/Recommendation.fixture.tsx +73 -0
- package/src/components/Recommendation/Recommendation.tsx +105 -0
- package/src/components/Recommendation/RecommendationCard.tsx +33 -0
- package/src/components/Recommendation/RecommendationContent.ts +19 -0
- package/src/components/TariffsTable/TableTileHeader.tsx +15 -0
- package/src/components/TariffsTable/TariffsTable.example.json +7 -1
- package/src/components/TariffsTable/TariffsTable.fixture.mobile.tsx +164 -0
- package/src/components/TariffsTable/TariffsTable.fixture.tsx +5 -1
- package/src/components/TariffsTable/TariffsTable.mobile.tsx +54 -0
- package/src/components/TariffsTable/TariffsTable.tsx +51 -47
- package/src/components/TariffsTable/TariffsTableCell.tsx +3 -3
- package/src/components/TariffsTable/TariffsTableContent.ts +31 -23
- package/src/components/TariffsTable/TariffsTableHorizontal.tsx +16 -0
- package/src/components/TariffsTable/TariffsTableTileCell.tsx +61 -0
- package/src/components/TariffsTable/TariffsTableVertical.tsx +11 -0
- package/src/components/TextBlock/TextBlock.fixture.mobile.tsx +105 -93
- package/src/components/TextBlock/TextBlock.fixture.tsx +91 -64
- package/src/components/TextBlock/TextBlock.mobile.tsx +2 -2
- package/src/components/Tile/Tile.fixture.tsx +17 -35
- package/src/hooks/useCreditCalculatorData.ts +3 -7
- package/src/hooks/useExchangeRates.ts +25 -0
- package/src/hooks/useTableArrowScrollControl.ts +22 -0
- package/src/icons/GpsIcon.svg +8 -0
- package/src/icons/IconName.ts +3 -3
- package/src/model/BlockVersion.ts +7 -1
- package/src/model/InputTypes.ts +1 -0
- package/src/model/ListOrientation.ts +8 -0
- package/src/model/SitemapProps.ts +12 -0
- package/src/services/sitemap/SitemapProps.ts +13 -1
- package/src/setup-fixture.ts +1 -1
- package/src/ui-kit/Button/Button.tsx +32 -54
- package/src/ui-kit/Button/ButtonInner.tsx +25 -21
- package/src/ui-kit/Description/Description.tsx +1 -1
- package/src/ui-kit/Img/Img.mobile.tsx +29 -15
- package/src/ui-kit/Img/Img.tsx +27 -24
- package/src/ui-kit/Input/Input.tsx +8 -0
- package/src/ui-kit/Input/InputProps.ts +9 -0
- package/src/ui-kit/Select/Select.tsx +15 -0
- package/src/ui-kit/Select/SelectOption.tsx +14 -0
- package/src/ui-kit/SwipeListControl/SwipeListControl.fixture.mobile.tsx +1 -1
- package/src/ui-kit/SwipeListControl/SwipeListControl.tsx +17 -20
- package/src/ui-kit/SwipeListControl/SwipeListControlDots.tsx +12 -0
- package/src/ui-kit/TableArrowScrollControl/TableArrowScrollControl.tsx +27 -0
- package/src/ui-kit/TableArrowScrollControl/TableArrowScrollControlProps.ts +7 -0
- package/src/ui-kit/Tabs/Tabs.tsx +46 -0
- package/src/ui-kit/Tabs/TabsProps.ts +20 -0
- package/dist/hooks/useComparisonTableScroll.d.ts +0 -12
- package/dist/hooks/useComparisonTableScroll.js +0 -12
- package/dist/hooks/useComparisonTableScroll.js.map +0 -1
- package/lib/hooks/useComparisonTableScroll.d.ts +0 -12
- package/lib/hooks/useComparisonTableScroll.js +0 -9
- package/lib/hooks/useComparisonTableScroll.js.map +0 -1
- package/mobile/dist/hooks/useComparisonTableScroll.d.ts +0 -12
- package/mobile/dist/hooks/useComparisonTableScroll.js +0 -12
- package/mobile/dist/hooks/useComparisonTableScroll.js.map +0 -1
- package/mobile/lib/hooks/useComparisonTableScroll.d.ts +0 -12
- package/mobile/lib/hooks/useComparisonTableScroll.js +0 -9
- package/mobile/lib/hooks/useComparisonTableScroll.js.map +0 -1
- package/mobile/src/hooks/useComparisonTableScroll.ts +0 -21
- package/src/hooks/useComparisonTableScroll.ts +0 -21
package/bundle/bundle.umd.js
CHANGED
|
@@ -246,14 +246,19 @@
|
|
|
246
246
|
return (jsx("img", { className: className, src: href, alt: alt, title: title, ...imgProps, "aria-hidden": "true" }));
|
|
247
247
|
});
|
|
248
248
|
|
|
249
|
-
const
|
|
249
|
+
const ALIGN_TEXT = {
|
|
250
250
|
left: 'text-left',
|
|
251
251
|
center: 'text-center',
|
|
252
252
|
right: 'text-right',
|
|
253
253
|
};
|
|
254
|
-
const
|
|
255
|
-
|
|
256
|
-
|
|
254
|
+
const BACKGROUND_COLOR = {
|
|
255
|
+
transparent: 'bg-transparent',
|
|
256
|
+
primary: 'bg-white',
|
|
257
|
+
secondary: 'bg-primary-main',
|
|
258
|
+
};
|
|
259
|
+
|
|
260
|
+
const Headline = JSX(({ bgColorHeadline = 'transparent', align = 'left', className = '', title, description }) => {
|
|
261
|
+
return (jsxs("section", { className: `p-[50px] ${BACKGROUND_COLOR[bgColorHeadline]} ${className}`, children: [title && (jsx(Heading, { headingType: "h2", className: `text-primary-text ${ALIGN_TEXT[align]}`, title: title })), description && (jsx("p", { className: `font-normal text-base mt-4 ${ALIGN_TEXT[align]}`, children: description }))] }));
|
|
257
262
|
});
|
|
258
263
|
|
|
259
264
|
const LinkDocsListItemBase = JSX(({ className, iconClassName, textClassName, suffixClassName, doc, icon }) => {
|
|
@@ -296,14 +301,14 @@
|
|
|
296
301
|
return (jsxs("section", { className: `font-sans text-primary-text p-12 bg-white ${className}`, children: [title ? (jsx(Heading, { headingType: "h2", className: `${subtitle ? 'mb-2.5' : titleMarginsStyleMap[columnsMode]} ${titleAlignStyleMap[align ?? 'center']}`, title: title })) : null, subtitle ? (jsx("h3", { className: `text-base mt-0 font-normal ${titleMarginsStyleMap[columnsMode]} ${titleAlignStyleMap[align ?? 'center']}`, children: subtitle })) : null, jsx(LinkDocsList, { className: linkColumnsModeStyleMap[columnsMode], columnsMode: columnsMode, documents: documents, icon: icon })] }));
|
|
297
302
|
});
|
|
298
303
|
|
|
299
|
-
const Img = JSX(({ className = '', image: { size, ...image } }) => {
|
|
304
|
+
const Img = JSX(({ className = '', image: { size, ...image }, imageClassName = '' }) => {
|
|
300
305
|
const style = {
|
|
301
306
|
width: size?.width ? `${size?.width}px` : '100%',
|
|
302
307
|
height: size?.height ? `${size?.height}px` : '100%',
|
|
303
308
|
};
|
|
304
309
|
return (jsxs("picture", { className: `flex-none ${className}`, children: [image.sources?.length
|
|
305
310
|
? image.sources.map(({ src, format }, index) => (jsx("source", { srcSet: src, type: formatToMimeType(format) }, `${index}_${src}`)))
|
|
306
|
-
: null, jsx("img", { className:
|
|
311
|
+
: null, jsx("img", { className: imageClassName, src: image.src, alt: image.alt || image.title, title: image.title, style: style, ...size })] }));
|
|
307
312
|
});
|
|
308
313
|
function formatToMimeType(format) {
|
|
309
314
|
return format ? `image/${String(format)}` : undefined;
|
|
@@ -316,37 +321,6 @@
|
|
|
316
321
|
return (jsxs("div", { className: "flex flex-row mb-8", children: [benefit.icon && (jsx(Icon, { className: "w-[48px] h-[48px] bg-main rounded-full box-border p-[12px]", name: benefit.icon, width: "48", height: "48", asSVG: true })), jsxs("div", { className: "flex gap-1 flex-col h-full ml-5 max-w-[490px]", children: [benefit.label && (jsx("div", { className: "font-medium text-primary-text text-xl m-0", children: benefit.label })), benefit.description && (jsx("div", { className: "font-normal text-sm text-secondary-text", children: benefit.description }))] })] }, String(i)));
|
|
317
322
|
}
|
|
318
323
|
|
|
319
|
-
const textBlockStyleMaps = {
|
|
320
|
-
primary: {
|
|
321
|
-
background: 'bg-white',
|
|
322
|
-
icon: 'bg-primary-main text-white',
|
|
323
|
-
title: 'text-primary-text',
|
|
324
|
-
description: 'text-secondary-text',
|
|
325
|
-
},
|
|
326
|
-
secondary: {
|
|
327
|
-
background: 'bg-primary-main',
|
|
328
|
-
icon: 'bg-white text-primary-main',
|
|
329
|
-
title: 'text-white',
|
|
330
|
-
description: 'text-white',
|
|
331
|
-
},
|
|
332
|
-
'secondary-light': {
|
|
333
|
-
background: 'bg-primary-main/10',
|
|
334
|
-
icon: 'bg-primary-main text-white',
|
|
335
|
-
title: 'text-primary-text',
|
|
336
|
-
description: 'text-secondary-text',
|
|
337
|
-
},
|
|
338
|
-
};
|
|
339
|
-
const TextBlock = JSX(({ title, description, blockVersion = 'primary', iconVersion, image, className }) => {
|
|
340
|
-
const textBlockStyleMap = textBlockStyleMaps[blockVersion];
|
|
341
|
-
return (jsxs("section", { className: `font-sans px-9 py-4 flex ${textBlockStyleMap.background} ${className || ''}`, children: [iconVersion === 'small' ? renderIcon(textBlockStyleMap.icon) : null, iconVersion === 'big' ? renderImage(image) : null, jsxs("div", { className: "py-0.5", children: [title && (jsx("div", { className: `font-medium text-base mb-1 ${textBlockStyleMap.title}`, children: title })), description && (jsx("div", { className: `text-sm ${textBlockStyleMap.description}`, children: description }))] })] }));
|
|
342
|
-
});
|
|
343
|
-
function renderIcon(className) {
|
|
344
|
-
return (jsx("div", { className: "pt-1.5 pl-1 pr-4", children: jsx("div", { className: `rounded-full h-4 w-4 text-center text-xs ${className}`, children: "i" }) }));
|
|
345
|
-
}
|
|
346
|
-
function renderImage(image) {
|
|
347
|
-
return image?.src ? jsx(Img, { className: "pt-0.5 pr-3", image: image }) : null;
|
|
348
|
-
}
|
|
349
|
-
|
|
350
324
|
const isURL = (href) => href?.includes('//');
|
|
351
325
|
const withoutQuery = (href) => (href || '').replace(/\/?\?.*/, '');
|
|
352
326
|
const getOrigin = (href) => {
|
|
@@ -404,18 +378,37 @@
|
|
|
404
378
|
};
|
|
405
379
|
}
|
|
406
380
|
|
|
407
|
-
const
|
|
408
|
-
|
|
409
|
-
|
|
410
|
-
|
|
411
|
-
|
|
412
|
-
:
|
|
413
|
-
|
|
381
|
+
const Breadcrumb = JSX(({ text, href, target, onClick, className = '', children }) => {
|
|
382
|
+
if (href) {
|
|
383
|
+
return (jsx("a", { className: `no-underline ${className}`, href: href, target: target, onClick: onClick, children: jsx("span", { className: className, children: text || children }) }));
|
|
384
|
+
}
|
|
385
|
+
else {
|
|
386
|
+
return jsx("span", { className: className, children: text || children });
|
|
387
|
+
}
|
|
414
388
|
});
|
|
415
|
-
|
|
416
|
-
|
|
389
|
+
|
|
390
|
+
function joinList(sep) {
|
|
391
|
+
return (list) => list.reduce((acc, el, i) => (acc.length ? acc.concat({ ...sep, key: i }, el) : [el]), []);
|
|
417
392
|
}
|
|
418
393
|
|
|
394
|
+
const ButtonInner = JSX((props) => {
|
|
395
|
+
const { text, aboveText, appendLeft } = props;
|
|
396
|
+
return (jsxs("div", { className: getButtonStyle(props), children: [appendLeft ? appendLeft : null, isWithText(props) ? (jsxs("div", { children: [jsx("div", { className: "text-m-2xs text-left", children: aboveText }), jsx("div", { className: "text-m-button font-medium text-left", children: text })] })) : null] }));
|
|
397
|
+
});
|
|
398
|
+
const getButtonStyle = (props) => {
|
|
399
|
+
const { version, aboveText, rounded } = props;
|
|
400
|
+
if (version === 'link') {
|
|
401
|
+
return '';
|
|
402
|
+
}
|
|
403
|
+
const withTextStyle = `px-8 gap-2 ${aboveText ? 'py-2' : 'py-3.5'}`;
|
|
404
|
+
return [
|
|
405
|
+
'flex items-center justify-center',
|
|
406
|
+
isWithText(props) ? withTextStyle : 'h-12 w-12',
|
|
407
|
+
rounded ? 'rounded-full' : '',
|
|
408
|
+
].join(' ');
|
|
409
|
+
};
|
|
410
|
+
const isWithText = ({ text, aboveText, appendLeft }) => Boolean(text || aboveText || !appendLeft);
|
|
411
|
+
|
|
419
412
|
const buttonStyleMap = {
|
|
420
413
|
primary: 'text-white bg-primary-main hover:bg-primary-hover active:bg-primary-active',
|
|
421
414
|
secondary: 'text-primary-main bg-secondary-light hover:bg-secondary-hover active:bg-secondary-active',
|
|
@@ -426,29 +419,14 @@
|
|
|
426
419
|
secondary: 'bg-secondary-light text-secondary-text',
|
|
427
420
|
link: '',
|
|
428
421
|
};
|
|
429
|
-
const
|
|
430
|
-
const Button = JSX((
|
|
422
|
+
const buttonStyle = 'text-center font-sans select-none';
|
|
423
|
+
const Button = JSX((props) => {
|
|
424
|
+
const { text, aboveText, appendLeft, children, disabled, rounded } = props;
|
|
431
425
|
const buttonInner = children ?? (jsx(ButtonInner, { text: text, aboveText: aboveText, appendLeft: appendLeft, rounded: rounded }));
|
|
432
|
-
return disabled
|
|
433
|
-
|
|
434
|
-
|
|
435
|
-
|
|
436
|
-
ariaLabel,
|
|
437
|
-
className,
|
|
438
|
-
version,
|
|
439
|
-
rounded,
|
|
440
|
-
href,
|
|
441
|
-
target,
|
|
442
|
-
onClick,
|
|
443
|
-
rest,
|
|
444
|
-
});
|
|
445
|
-
});
|
|
446
|
-
function renderButton$3({ className, buttonInner, ariaLabel, version, rounded, href, target, onClick, rest, }) {
|
|
447
|
-
return (jsx("a", { className: `${styleButton} inline-block cursor-pointer no-underline ${buttonStyleMap[version] || ''} ${rounded ? 'rounded-full' : 'rounded-md'} ${className || ''}`, href: href, target: target, onClick: onClick, "aria-label": ariaLabel, role: !href ? 'button' : 'link', ...rest, children: buttonInner }));
|
|
448
|
-
}
|
|
449
|
-
function renderDisabledButton({ className, buttonInner, ariaLabel, version, rounded }) {
|
|
450
|
-
return (jsx("div", { role: "button", "aria-disabled": "true", "aria-label": ariaLabel, tabIndex: "-1", className: `inline-block ${styleButton} ${buttonDisabledStyleMap[version] || ''} ${rounded ? 'rounded-full' : 'rounded-md'} ${className || ''}`, children: buttonInner }));
|
|
451
|
-
}
|
|
426
|
+
return disabled ? (jsx(DisabledButton, { ...props, children: buttonInner })) : (jsx(RegularButton, { ...props, children: buttonInner }));
|
|
427
|
+
});
|
|
428
|
+
const RegularButton = JSX(({ className, ariaLabel, version = 'none', rounded, href, target, children, onClick, ...rest }) => (jsx("a", { className: `${buttonStyle} inline-block cursor-pointer no-underline ${buttonStyleMap[version] || ''} ${rounded ? 'rounded-full' : 'rounded-md'} ${className || ''}`, href: href, target: target, onClick: onClick, "aria-label": ariaLabel, role: href ? 'link' : 'button', ...rest, children: children })));
|
|
429
|
+
const DisabledButton = JSX(({ className, children, ariaLabel, version = 'none', rounded }) => (jsx("div", { role: "button", "aria-disabled": "true", "aria-label": ariaLabel, tabIndex: "-1", className: `inline-block ${buttonStyle} ${buttonDisabledStyleMap[version] || ''} ${rounded ? 'rounded-full' : 'rounded-md'} ${className || ''}`, children: children })));
|
|
452
430
|
|
|
453
431
|
const ButtonSection = JSX(({ context, className = '', buttons }) => {
|
|
454
432
|
const { handlerDecorator } = context;
|
|
@@ -463,7 +441,7 @@
|
|
|
463
441
|
|
|
464
442
|
const Description = JSX((props) => {
|
|
465
443
|
const { className = '', description } = props;
|
|
466
|
-
return jsx("div", { className: `font-normal text-
|
|
444
|
+
return jsx("div", { className: `font-normal text-base ${className}`, children: description });
|
|
467
445
|
});
|
|
468
446
|
|
|
469
447
|
const LIST_STYLE_CLASSES$1 = 'rounded-full inline-block mr-3 mt-2';
|
|
@@ -493,9 +471,75 @@
|
|
|
493
471
|
});
|
|
494
472
|
|
|
495
473
|
const BaseTile = JSX(({ className = '', title, children, buttons, image }) => {
|
|
496
|
-
return (jsxs("div", { className: `font-sans flex flex-col grow h-full items-start ${className}`, children: [title, jsxs("div", { className: "flex grow w-full justify-between", children: [jsxs("div", { className: "flex flex-col justify-between w-full", children: [jsx("div", { children: children }), jsx("div", { children: buttons })] }), image] })] }));
|
|
474
|
+
return (jsxs("div", { className: `font-sans flex flex-col grow h-full items-start ${className}`, children: [title, jsxs("div", { className: "flex grow w-full justify-between", children: [jsxs("div", { className: "flex flex-col justify-between w-full", children: [jsx("div", { children: children }), buttons?.length ? jsx("div", { children: buttons }) : null] }), image] })] }));
|
|
475
|
+
});
|
|
476
|
+
|
|
477
|
+
const benefitIconBgStyleMap = {
|
|
478
|
+
primary: 'bg-main',
|
|
479
|
+
secondary: 'bg-white/30',
|
|
480
|
+
};
|
|
481
|
+
const benefitTitleStyleMap = {
|
|
482
|
+
primary: 'text-primary-text',
|
|
483
|
+
secondary: 'text-white',
|
|
484
|
+
};
|
|
485
|
+
const benefitDescStyleMap = {
|
|
486
|
+
primary: 'text-secondary-text',
|
|
487
|
+
secondary: 'text-white',
|
|
488
|
+
};
|
|
489
|
+
function renderBenefit(benefit, i, version) {
|
|
490
|
+
return (jsxs("div", { className: "flex gap-4 items-center", children: [benefit.icon && (jsx(Icon, { className: `w-[50px] h-[50px] min-w-[50px] min-h-[50px] rounded-full p-[10px] box-border ${benefitIconBgStyleMap[version]}`, name: benefit.icon, width: "24", height: "24", asSVG: true })), jsxs("div", { className: "flex gap-1 flex-col h-full max-w-[149px]", children: [jsx("div", { className: `font-medium text-xl m-0 ${benefitTitleStyleMap[version]}`, children: benefit.label }), benefit.description && (jsx("div", { className: `font-normal text-sm ${benefitDescStyleMap[version]}`, children: benefit.description }))] })] }, String(i)));
|
|
491
|
+
}
|
|
492
|
+
|
|
493
|
+
const ProductBlockInner = JSX(({ className = '', context, title, headingType = 'h2', description, benefits, buttons, image, items, version = 'primary', }) => {
|
|
494
|
+
return (jsxs("div", { className: `flex grow justify-between items-stretch ${className}`, children: [jsx("div", { className: 'flex flex-col', children: jsxs(BaseTile, { context: context, title: title && (jsx(Heading, { headingType: headingType, title: title, className: "whitespace-pre-wrap max-w-[600px]" })), buttons: buttons?.length ? (jsx(ButtonSection, { context: context, buttons: buttons, className: "flex mt-9 gap-3" })) : null, children: [description && (jsx(Description, { className: "mt-4 max-w-[600px]", description: description })), benefits?.filter((items) => items.label)?.length ? (jsx("div", { className: "flex gap-6 mt-6", children: benefits.map((_, i) => renderBenefit(_, i, version)) })) : null, items?.length ? (jsx(List, { className: "mt-5", items: items, itemClassName: "mb-[10px]", version: version })) : null] }) }), image?.src && jsx(Img, { className: "mt-auto", image: image })] }));
|
|
495
|
+
});
|
|
496
|
+
|
|
497
|
+
const productBlockStyleMap = {
|
|
498
|
+
primary: 'bg-white text-primary-text',
|
|
499
|
+
secondary: 'bg-primary-main text-white',
|
|
500
|
+
};
|
|
501
|
+
const breadcrumbsStyleMap = {
|
|
502
|
+
primary: 'text-secondary-text',
|
|
503
|
+
secondary: 'text-white/80',
|
|
504
|
+
};
|
|
505
|
+
const ProductBlock = JSX((props) => {
|
|
506
|
+
const { context, className, breadcrumbs, version = 'primary' } = props;
|
|
507
|
+
const router = context.useRouter();
|
|
508
|
+
const { handlerDecorator } = context;
|
|
509
|
+
return (jsxs("section", { className: `font-sans pt-10 pl-[50px] pb-[50px] pr-[7.5rem] box-border min-h-[420px] ${className || ''} ${productBlockStyleMap[version]}`, children: [breadcrumbs?.length ? (jsx("div", { className: "text-xs mb-6", children: joinList(jsx("span", { className: `mx-2 ${breadcrumbsStyleMap[version]}`, children: "/" }))(breadcrumbs.map((breadcrumb, i) => (jsx(Breadcrumb, { ...useLink({ router, handlerDecorator }, { className: breadcrumbsStyleMap[version], ...breadcrumb }) }, String(i))))) })) : null, jsx(ProductBlockInner, { ...props })] }));
|
|
497
510
|
});
|
|
498
511
|
|
|
512
|
+
const textBlockStyleMaps = {
|
|
513
|
+
primary: {
|
|
514
|
+
background: 'bg-white',
|
|
515
|
+
icon: 'bg-primary-main text-white',
|
|
516
|
+
title: 'text-primary-text',
|
|
517
|
+
description: 'text-secondary-text',
|
|
518
|
+
},
|
|
519
|
+
secondary: {
|
|
520
|
+
background: 'bg-primary-main',
|
|
521
|
+
icon: 'bg-white text-primary-main',
|
|
522
|
+
title: 'text-white',
|
|
523
|
+
description: 'text-white',
|
|
524
|
+
},
|
|
525
|
+
'secondary-light': {
|
|
526
|
+
background: 'bg-primary-main/10',
|
|
527
|
+
icon: 'bg-primary-main text-white',
|
|
528
|
+
title: 'text-primary-text',
|
|
529
|
+
description: 'text-secondary-text',
|
|
530
|
+
},
|
|
531
|
+
};
|
|
532
|
+
const TextBlock = JSX(({ title, description, blockVersion = 'primary', iconVersion, image, className }) => {
|
|
533
|
+
const textBlockStyleMap = textBlockStyleMaps[blockVersion];
|
|
534
|
+
return (jsxs("section", { className: `font-sans px-9 py-4 flex ${textBlockStyleMap.background} ${className || ''}`, children: [iconVersion === 'small' ? renderIcon$1(textBlockStyleMap.icon) : null, iconVersion === 'big' ? renderImage(image) : null, jsxs("div", { className: "py-0.5", children: [title && (jsx("div", { className: `font-medium text-base mb-1 ${textBlockStyleMap.title}`, children: title })), description && (jsx("div", { className: `text-sm ${textBlockStyleMap.description}`, children: description }))] })] }));
|
|
535
|
+
});
|
|
536
|
+
function renderIcon$1(className) {
|
|
537
|
+
return (jsx("div", { className: "pt-1.5 pl-1 pr-4", children: jsx("div", { className: `rounded-full h-4 w-4 text-center text-xs ${className}`, children: "i" }) }));
|
|
538
|
+
}
|
|
539
|
+
function renderImage(image) {
|
|
540
|
+
return image?.src ? jsx(Img, { className: "pt-0.5 pr-3", image: image }) : null;
|
|
541
|
+
}
|
|
542
|
+
|
|
499
543
|
const getColSpan = (className) => {
|
|
500
544
|
const colSpanPrefix = 'col-span-';
|
|
501
545
|
const colSpanStr = className.split(/\s+/).find((_) => _.startsWith(colSpanPrefix));
|
|
@@ -669,7 +713,7 @@
|
|
|
669
713
|
const showNextButton = isGalleryScrollAvailable &&
|
|
670
714
|
cards?.length - activeCardIndex > galleryLengthForScrollMap[version];
|
|
671
715
|
const showPrevButton = isGalleryScrollAvailable && activeCardIndex > 0;
|
|
672
|
-
return (jsxs("section", { className: `relative font-sans text-primary-text bg-white p-[50px] overflow-hidden ${className}`, children: [jsx(GalleryContainer, { context: context, cards: cards, version: version, activeCardIndex: activeCardIndex, ...rest }), showPrevButton && (jsx(ArrowButton, { className: "absolute top-1/2 left-8 rotate-180 z-10 mt-[25px]", onClick: handlePrevClick, ariaLabel: "\u041F\u0440\u043E\u043B\u0438\u0441\u0442\u0430\u0442\u044C \u0432\u043B\u0435\u0432\u043E" })), showNextButton && (jsx(ArrowButton, { className: "absolute top-1/2 right-8 z-10 mt-[25px]", onClick: handleNextClick, ariaLabel: "\u041F\u0440\u043E\u043B\u0438\u0441\u0442\u0430\u0442\u044C \u0432\u043F\u0440\u0430\u0432\u043E" })), jsx("div", { className: "absolute top-0 left-0 bottom-0 w-[84px] bg-opacity-from-white" }), jsx("div", { className: "absolute top-0 right-0 bottom-0 w-[100px] bg-opacity-to-white" })] }));
|
|
716
|
+
return (jsxs("section", { className: `relative font-sans text-primary-text bg-white p-[50px] overflow-hidden ${className}`, children: [jsx(GalleryContainer, { context: context, cards: cards, version: version, activeCardIndex: activeCardIndex, ...rest }), showPrevButton && (jsx(ArrowButton, { className: "absolute top-1/2 left-8 rotate-180 z-10 mt-[25px]", onClick: handlePrevClick, ariaLabel: "\u041F\u0440\u043E\u043B\u0438\u0441\u0442\u0430\u0442\u044C \u0432\u043B\u0435\u0432\u043E", "data-block-control": "scroll-left" })), showNextButton && (jsx(ArrowButton, { className: "absolute top-1/2 right-8 z-10 mt-[25px]", onClick: handleNextClick, ariaLabel: "\u041F\u0440\u043E\u043B\u0438\u0441\u0442\u0430\u0442\u044C \u0432\u043F\u0440\u0430\u0432\u043E", "data-block-control": "scroll-right" })), jsx("div", { className: "absolute top-0 left-0 bottom-0 w-[84px] bg-opacity-from-white" }), jsx("div", { className: "absolute top-0 right-0 bottom-0 w-[100px] bg-opacity-to-white" })] }));
|
|
673
717
|
});
|
|
674
718
|
|
|
675
719
|
const Gallery = JSX((props) => jsx(GalleryInner, { ...props, version: "normal" }));
|
|
@@ -691,6 +735,7 @@
|
|
|
691
735
|
LinkDocs,
|
|
692
736
|
TextBlock,
|
|
693
737
|
PictureText,
|
|
738
|
+
ProductBlock,
|
|
694
739
|
Tile,
|
|
695
740
|
ProductTile,
|
|
696
741
|
Gallery,
|
|
@@ -698,16 +743,17 @@
|
|
|
698
743
|
LinkList,
|
|
699
744
|
};
|
|
700
745
|
|
|
701
|
-
const AccordionItemInner = JSX(({ blocks, context }) => {
|
|
702
|
-
return (jsx("div", { className: 'transition-all duration-300 max-h-0 overflow-hidden group-last:last:pb-0', children: blocks?.length ? blocks.map(renderBlock$1(context)) : null }));
|
|
746
|
+
const AccordionItemInner = JSX(({ blocks, columns = 1, context }) => {
|
|
747
|
+
return (jsx("div", { className: 'transition-all duration-300 max-h-0 overflow-hidden group-last:last:pb-0 flex flex-wrap', children: blocks?.length ? blocks.map(renderBlock$1(context, columns)) : null }));
|
|
703
748
|
});
|
|
704
|
-
const renderBlock$1 = (context) => (block, i) => {
|
|
749
|
+
const renderBlock$1 = (context, columns) => (block, i) => {
|
|
705
750
|
const type = block?.accordionBlockType;
|
|
706
751
|
if (!type || !(type in AccordionBlocks)) {
|
|
707
752
|
return null;
|
|
708
753
|
}
|
|
754
|
+
const columnsCountClass = columns === 2 ? 'w-1/2' : '';
|
|
709
755
|
const AccordionBlock = AccordionBlocks[type];
|
|
710
|
-
return (jsx("div", { className:
|
|
756
|
+
return (jsx("div", { className: `mb-5 last:mb-0 pb-5 ${columnsCountClass}`, children: jsx(AccordionBlock, { context: context, ...block, className: "!p-0" }) }, `block_${i}`));
|
|
711
757
|
};
|
|
712
758
|
|
|
713
759
|
const isActiveHandler = ({ context, blocks }) => {
|
|
@@ -728,13 +774,13 @@
|
|
|
728
774
|
return { isActive, hasContent, icon, handleToggle };
|
|
729
775
|
};
|
|
730
776
|
|
|
731
|
-
const AccordionItem = JSX(({ label, blocks, context }) => {
|
|
777
|
+
const AccordionItem = JSX(({ label, blocks, columns, context }) => {
|
|
732
778
|
const { hasContent, icon, handleToggle } = isActiveHandler({
|
|
733
779
|
context,
|
|
734
780
|
blocks,
|
|
735
781
|
});
|
|
736
782
|
return (jsxs("li", { className: "border-0 border-b border-solid border-main-divider last:border-b-0", children: [jsxs("button", { className: `border-none bg-transparent px-0 py-5 flex justify-between text-left w-full font-sans text-primary-text
|
|
737
|
-
${hasContent ? 'group cursor-pointer' : ''}`, onClick: handleToggle, children: [jsx("span", { className: `text-xl pr-2.5 font-medium ${hasContent ? 'group-hover:text-primary-main' : ''}`, children: label }), hasContent ? jsx(Icon, { name: icon, width: "24", height: "24", asSVG: true }) : null] }), hasContent ? jsx(AccordionItemInner, { blocks: blocks, context: context }) : null] }));
|
|
783
|
+
${hasContent ? 'group cursor-pointer' : ''}`, onClick: handleToggle, children: [jsx("span", { className: `text-xl pr-2.5 font-medium ${hasContent ? 'group-hover:text-primary-main' : ''}`, children: label }), hasContent ? jsx(Icon, { name: icon, width: "24", height: "24", asSVG: true }) : null] }), hasContent ? (jsx(AccordionItemInner, { columns: columns, blocks: blocks, context: context })) : null] }));
|
|
738
784
|
});
|
|
739
785
|
|
|
740
786
|
const Accordion = JSX(({ title, accordionItems, context, className }) => {
|
|
@@ -748,15 +794,6 @@
|
|
|
748
794
|
return (jsxs("div", { className: "flex items-center gap-5 max-w-[500px]", children: [benefit.icon && (jsx(Icon, { className: "h-[70px] w-[70px] min-w-[70px] min-h-[70px]", name: benefit.icon, width: "70", height: "70" })), jsxs("div", { children: [jsx("h3", { className: "font-medium text-xl m-0", children: benefit.label }), benefit.description && (jsx("div", { className: "font-normal text-sm mt-2", children: benefit.description }))] })] }, String(i)));
|
|
749
795
|
};
|
|
750
796
|
|
|
751
|
-
const useComparisonTableScroll = ({ colData, colsLengthForScroll, activeCardIndex, setActiveCardIndex, }) => {
|
|
752
|
-
const nextClick = () => setActiveCardIndex(activeCardIndex + 1);
|
|
753
|
-
const prevClick = () => setActiveCardIndex(activeCardIndex - 1);
|
|
754
|
-
const isScrollAvailable = colData?.length && colData.length > colsLengthForScroll;
|
|
755
|
-
const showNextButton = isScrollAvailable && colData?.length - activeCardIndex > colsLengthForScroll;
|
|
756
|
-
const showPrevButton = isScrollAvailable && activeCardIndex > 0;
|
|
757
|
-
return { nextClick, prevClick, isScrollAvailable, showNextButton, showPrevButton };
|
|
758
|
-
};
|
|
759
|
-
|
|
760
797
|
const GRADIENT = 'bg-gradient-to-r from-main-gradient-start to-main-gradient-end';
|
|
761
798
|
const BORDER_CLASSES$1 = 'border-main-stroke border-solid border';
|
|
762
799
|
const DIVIDER_CLASSES$1 = 'border-main-divider border border-t-0 border-x-0';
|
|
@@ -764,7 +801,7 @@
|
|
|
764
801
|
const COLS_LENGTH_FOR_SCROLL$1 = 2;
|
|
765
802
|
const COLUMN_WIDTH$1 = 4 * 80 + 4 * 4; // w-80 + gap-4 = 336px
|
|
766
803
|
|
|
767
|
-
const
|
|
804
|
+
const TableRowContainer = JSX(({ children }) => (jsx("div", { className: "self-start flex flex-col", role: "row", children: jsx("div", { className: "flex", children: children }) })));
|
|
768
805
|
|
|
769
806
|
const carouselContainerClassesMap = {
|
|
770
807
|
comparison: 'flex gap-4 duration-1000',
|
|
@@ -772,6 +809,12 @@
|
|
|
772
809
|
};
|
|
773
810
|
const TableCarouselContainer = JSX(({ children, activeCardIndex, columnWidth, version = 'comparison' }) => (jsx("div", { className: "flex flex-1 overflow-hidden", children: jsx("div", { className: carouselContainerClassesMap[version], style: { transform: `translateX(-${activeCardIndex * columnWidth}px)` }, children: children }) })));
|
|
774
811
|
|
|
812
|
+
const HeaderCell = JSX(({ icon, image, title, link }) => (jsxs("div", { className: `w-80 box-border flex flex-col items-center rounded-t-md border-b-0 px-7 pt-7 pb-[46px] ${BORDER_CLASSES$1} ${GRADIENT}`, role: "columnheader", scope: "col", children: [icon && !image?.src && (jsx(Icon, { className: "h-[63px] w-[63px] min-w-[63px] min-h-[63px] mb-4", name: icon, width: "63", height: "63" })), image?.src && jsx(Img, { className: "mb-[18px]", image: image }), title && jsx(Heading, { headingType: "h4", className: "text-center text-white", title: title }), link?.text && (jsx("div", { className: "mt-auto w-full", children: jsx(Button, { href: link.href, target: link.target, className: "mt-4 w-full text-primary-main bg-white hover:bg-secondary-hover active:bg-secondary-active", children: jsx("div", { className: "font-medium text-xs py-[11px]", children: link.text }) }) }))] })));
|
|
813
|
+
|
|
814
|
+
const ComparisonTableColumnHeaders = JSX(({ colHeaders, activeCardIndex, router, handlerDecorator }) => {
|
|
815
|
+
return (jsxs(TableRowContainer, { children: [jsx("div", { className: FIRST_CELL_CLASSES$1, role: "columnheader", scope: "col" }), jsx(TableCarouselContainer, { activeCardIndex: activeCardIndex, columnWidth: COLUMN_WIDTH$1, children: colHeaders.map((header, i) => (jsx(HeaderCell, { ...header, link: header.link && useLink({ router, handlerDecorator }, header.link) }, String(i)))) })] }));
|
|
816
|
+
});
|
|
817
|
+
|
|
775
818
|
const TableCell = JSX(({ cell, isFirstRow, isLastRow, isFillGradient }) => {
|
|
776
819
|
const cellWrapperClasses = `w-80 box-border flex flex-col ${BORDER_CLASSES$1} ${!isLastRow ? 'border-y-0' : 'border-t-0 rounded-b-md'} ${isFillGradient ? GRADIENT : ''}`;
|
|
777
820
|
const cellClasses = `mx-7 h-full ${DIVIDER_CLASSES$1} ${isFillGradient && isFirstRow ? 'border-t' : ''} ${!isLastRow ? 'border-solid' : 'border-b-0'}`;
|
|
@@ -779,15 +822,28 @@
|
|
|
779
822
|
});
|
|
780
823
|
const renderCellInner$1 = ({ label, description }, i, isFillGradient) => (jsxs("div", { className: "first:pt-7 pt-6 last:pb-7", children: [label && (jsx("h5", { className: `text-xl font-medium m-0 ${isFillGradient ? 'text-white' : ''}`, children: label })), description && (jsx("div", { className: `text-sm opacity-80 ${isFillGradient ? 'text-white' : 'text-secondary-text'}`, children: description }))] }, String(i)));
|
|
781
824
|
|
|
782
|
-
const TableRowContainer = JSX(({ children }) => (jsx("div", { className: "self-start flex flex-col", role: "row", children: jsx("div", { className: "flex", children: children }) })));
|
|
783
|
-
|
|
784
825
|
const TableRow = JSX(({ row: { header, data }, activeCardIndex, isColoredFirstColumn, isFirstRow, isLastRow }) => (jsxs(TableRowContainer, { children: [header?.title ? (jsx("div", { className: `text-sm py-7 ${DIVIDER_CLASSES$1} ${FIRST_CELL_CLASSES$1} ${!isLastRow ? 'border-solid' : 'border-b-0'}`, children: header.title })) : null, data?.length ? (jsx(TableCarouselContainer, { activeCardIndex: activeCardIndex, columnWidth: COLUMN_WIDTH$1, children: data.map((cell, i) => (jsx(TableCell, { cell: cell, isFirstRow: isFirstRow, isLastRow: isLastRow, isFillGradient: isColoredFirstColumn && i === 0 }, String(i)))) })) : null] })));
|
|
785
826
|
|
|
786
|
-
const
|
|
827
|
+
const TableArrowScrollControl = JSX(({ isScrollAvailable, onNextClick, onPrevClick, showNextButton, showPrevButton }) => {
|
|
828
|
+
return isScrollAvailable ? (jsx("div", { children: jsxs("div", { className: "absolute top-7 right-7 z-10", children: [jsx(ArrowButton, { onClick: onNextClick, disabled: !showNextButton, ariaLabel: "\u041F\u0440\u043E\u043B\u0438\u0441\u0442\u0430\u0442\u044C \u0432\u043F\u0440\u0430\u0432\u043E", "data-block-control": "scroll-right" }), jsx(ArrowButton, { className: "mt-4 rotate-180", onClick: onPrevClick, disabled: !showPrevButton, ariaLabel: "\u041F\u0440\u043E\u043B\u0438\u0441\u0442\u0430\u0442\u044C \u0432\u043B\u0435\u0432\u043E", "data-block-control": "scroll-left" })] }) })) : null;
|
|
829
|
+
});
|
|
830
|
+
|
|
831
|
+
const ComparisonTableRows = JSX(({ rowData, activeCardIndex, isColoredFirstColumn, ...tableArrowScrollProps }) => {
|
|
832
|
+
return (jsxs("div", { className: "relative", children: [rowData.map((row, i, { length }) => (jsx(TableRow, { row: row, isFirstRow: i === 0, isLastRow: i + 1 === length, activeCardIndex: activeCardIndex, isColoredFirstColumn: isColoredFirstColumn }, String(i)))), jsx(TableArrowScrollControl, { ...tableArrowScrollProps })] }));
|
|
833
|
+
});
|
|
834
|
+
|
|
835
|
+
const useTableArrowScrollControl = ({ columnsLength, colsLengthForScroll, activeCardIndex, setActiveCardIndex, }) => {
|
|
836
|
+
const onNextClick = () => setActiveCardIndex(activeCardIndex + 1);
|
|
837
|
+
const onPrevClick = () => setActiveCardIndex(activeCardIndex - 1);
|
|
838
|
+
const isScrollAvailable = columnsLength > colsLengthForScroll;
|
|
839
|
+
const showNextButton = isScrollAvailable && columnsLength - activeCardIndex > colsLengthForScroll;
|
|
840
|
+
const showPrevButton = Boolean(isScrollAvailable && activeCardIndex > 0);
|
|
841
|
+
return { onNextClick, onPrevClick, isScrollAvailable, showNextButton, showPrevButton };
|
|
842
|
+
};
|
|
843
|
+
|
|
844
|
+
const ComparisonTableBody = JSX(({ context, columns, rowHeaders, isShowAllRow, visibleRowLength, isColoredFirstColumn }) => {
|
|
787
845
|
const router = context.useRouter();
|
|
788
846
|
const { handlerDecorator } = context;
|
|
789
|
-
const [activeCardIndex, setActiveCardIndex] = context.useState(0);
|
|
790
|
-
const [isShowAllRow, setIsShowAllRow] = context.useState(!visibleRowLength);
|
|
791
847
|
const colHeaders = columns?.map(({ header }) => header || {});
|
|
792
848
|
const colData = columns?.map(({ data }) => data) || [];
|
|
793
849
|
const rowData = rowHeaders
|
|
@@ -796,22 +852,45 @@
|
|
|
796
852
|
data: colData.map((col) => col?.[i] || [{}]),
|
|
797
853
|
}))
|
|
798
854
|
.slice(0, isShowAllRow ? rowHeaders.length : visibleRowLength);
|
|
799
|
-
const
|
|
800
|
-
|
|
855
|
+
const [activeCardIndex, setActiveCardIndex] = context.useState(0);
|
|
856
|
+
const tableArrowScrollProps = useTableArrowScrollControl({
|
|
857
|
+
columnsLength: colData.length,
|
|
801
858
|
colsLengthForScroll: COLS_LENGTH_FOR_SCROLL$1,
|
|
802
859
|
activeCardIndex,
|
|
803
860
|
setActiveCardIndex,
|
|
804
861
|
});
|
|
862
|
+
const { isScrollAvailable } = tableArrowScrollProps;
|
|
863
|
+
return (jsxs("div", { children: [jsxs("div", { role: "table", children: [colHeaders?.length ? (jsx(ComparisonTableColumnHeaders, { colHeaders: colHeaders, activeCardIndex: activeCardIndex, router: router, handlerDecorator: handlerDecorator })) : null, rowData?.length ? (jsx(ComparisonTableRows, { rowData: rowData, activeCardIndex: activeCardIndex, isColoredFirstColumn: isColoredFirstColumn, ...tableArrowScrollProps })) : null] }), isScrollAvailable ? (jsx("div", { className: "absolute top-0 right-0 bottom-0 w-[84px] bg-opacity-to-white" })) : null] }));
|
|
864
|
+
});
|
|
865
|
+
|
|
866
|
+
const ComparisonTable = JSX(({ className, context, title, rowHeaders, columns, visibleRowLength = 0, isColoredFirstColumn = false, }) => {
|
|
867
|
+
const [isShowAllRow, setIsShowAllRow] = context.useState(!visibleRowLength);
|
|
805
868
|
const showToggle = () => setIsShowAllRow(!isShowAllRow);
|
|
806
|
-
return (jsxs("section", { className: `bg-white font-sans py-[50px] pl-[50px] overflow-hidden text-primary-text relative ${className || ''}`, children: [jsx(Heading, { headingType: "h2", className: "max-w-[47rem] text-center mb-9 mx-auto", title: title }),
|
|
869
|
+
return (jsxs("section", { className: `bg-white font-sans py-[50px] pl-[50px] overflow-hidden text-primary-text relative ${className || ''}`, children: [jsx(Heading, { headingType: "h2", className: "max-w-[47rem] text-center mb-9 mx-auto", title: title }), jsx(ComparisonTableBody, { context: context, columns: columns, rowHeaders: rowHeaders, isShowAllRow: isShowAllRow, isColoredFirstColumn: isColoredFirstColumn, visibleRowLength: visibleRowLength }), visibleRowLength
|
|
870
|
+
? renderShowMoreToggleButton({ isShowAllRow, onClick: showToggle })
|
|
871
|
+
: null] }));
|
|
872
|
+
});
|
|
873
|
+
const renderShowMoreToggleButton = ({ isShowAllRow, onClick, }) => {
|
|
874
|
+
return (jsx("div", { className: "pr-[50px]", children: jsxs("div", { className: "flex w-full", children: [jsx("div", { className: FIRST_CELL_CLASSES$1 }), jsx("button", { onClick: onClick, className: "mt-5 flex-1 border-main-stroke border-solid border text-primary-text bg-white hover:border-primary-main hover:text-primary-main", children: jsx("div", { className: "font-sans font-medium text-xs py-[11px]", children: !isShowAllRow ? 'Показать все параметры' : 'Скрыть' }) })] }) }));
|
|
875
|
+
};
|
|
876
|
+
|
|
877
|
+
const TAB_STYLE = 'px-2 h-14 pb-2 pt-3 border border-b-0 border-main-stroke';
|
|
878
|
+
const ACTIVE_TAB_STYLE = 'px-2 h-16 pt-4 pb-2 text-white bg-primary-main';
|
|
879
|
+
const Tabs = JSX(({ tabs, currentTabIndex, onTabClick }) => {
|
|
880
|
+
return (jsx("div", { className: "flex items-end border-b border-main-stroke", role: "tablist", children: tabs?.map(renderTab(currentTabIndex, onTabClick)) }));
|
|
807
881
|
});
|
|
882
|
+
const renderTab = (currentTabIndex, onTabClick) => (tab, index) => {
|
|
883
|
+
const isActive = currentTabIndex === index;
|
|
884
|
+
return (jsxs("div", { className: `flex h-full flex-1 cursor-pointer mr-2 last:mr-0 ${isActive ? ACTIVE_TAB_STYLE : TAB_STYLE}`, role: "tab", onClick: () => onTabClick(index), "aria-selected": String(isActive), children: [tab?.icon ? renderIcon(tab, isActive) : null, jsxs("div", { children: [tab?.title ? jsx("h3", { className: "font-medium m-0 text-base", children: tab?.title }) : null, tab?.description ? (jsx("span", { className: `font-light text-xs ${isActive ? '' : 'text-secondary-text'}`, children: tab?.description })) : null] })] }, String(index)));
|
|
885
|
+
};
|
|
886
|
+
const renderIcon = (tab, isActive) => (jsx("div", { className: "h-full mt-1", style: isActive ? { filter: 'invert(1)' } : null, children: jsx(Icon, { className: "w-5 h-5 mr-3", name: tab?.icon || 'CardIcon', asSVG: !isActive }) }));
|
|
808
887
|
|
|
809
888
|
function useCreditCalculatorData(useAsyncData, directoryName) {
|
|
810
|
-
const { data } = useAsyncData(creditCalculatorUrl(directoryName),
|
|
889
|
+
const { data } = useAsyncData(creditCalculatorUrl(directoryName), fetchCreditCalculatorData);
|
|
811
890
|
return data || {};
|
|
812
891
|
}
|
|
813
|
-
async function fetchCreditCalculatorData(
|
|
814
|
-
const response = await fetch(
|
|
892
|
+
async function fetchCreditCalculatorData(url) {
|
|
893
|
+
const response = await fetch(url);
|
|
815
894
|
return await response.json();
|
|
816
895
|
}
|
|
817
896
|
function creditCalculatorUrl(directoryName) {
|
|
@@ -830,30 +909,6 @@
|
|
|
830
909
|
onChange(e.target.checked);
|
|
831
910
|
}, checked: checked }), jsx(SVG, { paths: CHECK_PATHS, className: "hidden absolute left-1 ml-px peer-checked:block", width: "11", height: "9", fill: "white", viewBox: "0 0 11 9" }), text ? (jsx("span", { className: "font-sans ml-3 text-sm leading-5 cursor-pointer", children: text })) : null] }) })));
|
|
832
911
|
|
|
833
|
-
const addSpacesBetweenNumbers = (number) => new Intl.NumberFormat('ru-RU', { maximumSignificantDigits: 3 }).format(number);
|
|
834
|
-
|
|
835
|
-
const InputRange = JSX(({ className, title, items = [], min = 1, max = 100, step = 1, value = min, onChange }) => {
|
|
836
|
-
const handleChange = (value) => {
|
|
837
|
-
if (!onChange)
|
|
838
|
-
return;
|
|
839
|
-
const sanitizedValue = Number(value.replace(/\D/g, ''));
|
|
840
|
-
onChange(sanitizedValue);
|
|
841
|
-
};
|
|
842
|
-
const inputStyle = {
|
|
843
|
-
backgroundSize: `${(((value - min) * 100) / (max - min)).toFixed(2)}% 100%`,
|
|
844
|
-
};
|
|
845
|
-
const handleBlur = () => {
|
|
846
|
-
if (!onChange)
|
|
847
|
-
return;
|
|
848
|
-
if (value < min)
|
|
849
|
-
onChange(min);
|
|
850
|
-
if (value > max)
|
|
851
|
-
onChange(max);
|
|
852
|
-
};
|
|
853
|
-
return (jsxs("div", { className: className, children: [jsxs("label", { className: "block relative", children: [title ? (jsx("span", { className: "absolute text-xs text-secondary-text top-1 mt-0.5 pl-4 ml-0.5", children: title })) : null, jsx("input", { className: `m-0 font-sans text-sm w-full h-12 border border-solid border-main-stroke rounded-md
|
|
854
|
-
outline-none p-0 pl-4 m-0 box-border text-primary-text ${title ? 'pt-4' : ''}`, value: addSpacesBetweenNumbers(value), onChange: (e) => handleChange(e.target.value), onBlur: handleBlur }), jsx("div", { className: "absolute inset-x-0 top-[35px] px-4 leading-[18px]", children: jsx("input", { className: "box-border w-full m-0 cursor-pointer slider", type: "range", min: min, max: max, step: step, value: value, onChange: (e) => handleChange(e.target.value), style: inputStyle }) })] }), jsx("div", { className: "flex justify-between my-3", children: items.map((item, i) => (jsxs("span", { className: "text-xs leading-[14px] text-secondary-text pl-4", children: [" ", item, " "] }, String(i)))) })] }));
|
|
855
|
-
});
|
|
856
|
-
|
|
857
912
|
const clamp = (value, min, max) => Math.max(min, Math.min(value, max));
|
|
858
913
|
|
|
859
914
|
const DEFAULT_MIN_SUM = 30000;
|
|
@@ -893,6 +948,14 @@
|
|
|
893
948
|
return result.concat(maxYear);
|
|
894
949
|
};
|
|
895
950
|
|
|
951
|
+
const getDefaultMonths = (calculatorParams) => calculatorParams.maxMonths && calculatorParams.minMonths
|
|
952
|
+
? Math.round((calculatorParams.maxMonths - calculatorParams.minMonths) / 2)
|
|
953
|
+
: DEFAULT_MONTHS;
|
|
954
|
+
|
|
955
|
+
const getDefaultSum = (calculatorParams) => calculatorParams.maxSum && calculatorParams.minSum
|
|
956
|
+
? (calculatorParams.maxSum - calculatorParams.minSum) / 2
|
|
957
|
+
: DEFAULT_SUM;
|
|
958
|
+
|
|
896
959
|
const getMonthlyPayment = (params) => {
|
|
897
960
|
const { calculatorParams, paymentType, rate, sum, months } = params;
|
|
898
961
|
if (!calculatorParams)
|
|
@@ -907,29 +970,74 @@
|
|
|
907
970
|
}
|
|
908
971
|
};
|
|
909
972
|
|
|
910
|
-
|
|
973
|
+
function renderButton(number, i, handleClick) {
|
|
974
|
+
return (jsx("button", { className: "bg-secondary-light rounded-3xl h-10 w-[75px] box-border mr-2 flex items-center justify-center cursor-pointer border-none", onClick: () => handleClick(number), children: jsxs("span", { className: "font-semibold text-sm", children: [number, " ", number === 1 ? 'год' : number > 4 ? 'лет' : 'года'] }) }, String(i)));
|
|
975
|
+
}
|
|
976
|
+
|
|
977
|
+
const addSpacesBetweenNumbers = (number) => new Intl.NumberFormat('ru-RU', { maximumSignificantDigits: 3 }).format(number);
|
|
978
|
+
|
|
979
|
+
const InputRange = JSX(({ className, title, items = [], min = 1, max = 100, step = 1, value = min, onChange }) => {
|
|
980
|
+
const handleChange = (value) => {
|
|
981
|
+
if (!onChange)
|
|
982
|
+
return;
|
|
983
|
+
const sanitizedValue = Number(value.replace(/\D/g, ''));
|
|
984
|
+
onChange(sanitizedValue);
|
|
985
|
+
};
|
|
986
|
+
const inputStyle = {
|
|
987
|
+
backgroundSize: `${(((value - min) * 100) / (max - min)).toFixed(2)}% 100%`,
|
|
988
|
+
};
|
|
989
|
+
const handleBlur = () => {
|
|
990
|
+
if (!onChange)
|
|
991
|
+
return;
|
|
992
|
+
if (value < min)
|
|
993
|
+
onChange(min);
|
|
994
|
+
if (value > max)
|
|
995
|
+
onChange(max);
|
|
996
|
+
};
|
|
997
|
+
return (jsxs("div", { className: className, children: [jsxs("label", { className: "block relative", children: [title ? (jsx("span", { className: "absolute text-xs text-secondary-text top-1 mt-0.5 pl-4 ml-0.5", children: title })) : null, jsx("input", { className: `m-0 font-sans text-sm w-full h-12 border border-solid border-main-stroke rounded-md
|
|
998
|
+
outline-none p-0 pl-4 m-0 box-border text-primary-text ${title ? 'pt-4' : ''}`, value: addSpacesBetweenNumbers(value), onChange: (e) => handleChange(e.target.value), onBlur: handleBlur }), jsx("div", { className: "absolute inset-x-0 top-[35px] px-4 leading-[18px]", children: jsx("input", { className: "box-border w-full m-0 cursor-pointer slider", type: "range", min: min, max: max, step: step, value: value, onChange: (e) => handleChange(e.target.value), style: inputStyle }) })] }), jsx("div", { className: "flex justify-between my-3", children: items.map((item, i) => (jsxs("span", { className: "text-xs leading-[14px] text-secondary-text pl-4", children: [" ", item, " "] }, String(i)))) })] }));
|
|
999
|
+
});
|
|
1000
|
+
|
|
911
1001
|
const STEP_MONTHS = 1;
|
|
1002
|
+
function renderMonthsInput(props) {
|
|
1003
|
+
const { minMonths, maxMonths, monthsValue, defaultMonths, setMonthsValue } = props;
|
|
1004
|
+
return (jsx(InputRange, { className: "mt-[23px]", title: "\u0421\u0440\u043E\u043A \u043A\u0440\u0435\u0434\u0438\u0442\u0430, \u043C\u0435\u0441\u044F\u0446\u0435\u0432", items: ['Или выберите из предложенных вариантов ниже'], min: minMonths, max: maxMonths, step: STEP_MONTHS, value: monthsValue || defaultMonths, onChange: setMonthsValue }));
|
|
1005
|
+
}
|
|
1006
|
+
|
|
1007
|
+
function renderProposal(monthlyPayment, rate) {
|
|
1008
|
+
return (jsxs("div", { className: "box-border h-fit p-9 bg-primary-main rounded-md text-white", children: [jsx("div", { className: "text-base mb-[18px]", children: "\u041D\u0430\u0448\u0435 \u043F\u0440\u0435\u0434\u043B\u043E\u0436\u0435\u043D\u0438\u0435" }), jsx("div", { className: "text-sm opacity-60", children: "\u0415\u0436\u0435\u043C\u0435\u0441\u044F\u0447\u043D\u044B\u0439 \u043F\u043B\u0430\u0442\u0451\u0436" }), jsxs("div", { className: "text-lg mb-3", children: [addSpacesBetweenNumbers(Math.round(monthlyPayment)), " \u20BD"] }), jsx("div", { className: "text-sm opacity-60", children: "\u0421\u0442\u0430\u0432\u043A\u0430" }), jsxs("div", { className: "text-lg", children: [rate, " %"] })] }));
|
|
1009
|
+
}
|
|
1010
|
+
|
|
1011
|
+
function renderTermsButton() {
|
|
1012
|
+
return (jsxs("div", { className: "flex items-center", children: [jsx(Button, { className: "mr-3", text: "\u041E\u0442\u043F\u0440\u0430\u0432\u0438\u0442\u044C \u0437\u0430\u044F\u0432\u043A\u0443", version: "primary", href: "#" }), jsx("div", { className: "w-80 text-2xs leading-4 text-secondary-text", "aria-label": "\u0421\u043E\u0433\u043B\u0430\u0448\u0435\u043D\u0438\u0435 \u043D\u0430 \u043E\u0431\u0440\u0430\u0431\u043E\u0442\u043A\u0443 \u043F\u0435\u0440\u0441\u043E\u043D\u0430\u043B\u044C\u043D\u044B\u0445 \u0434\u0430\u043D\u043D\u044B\u0445", children: "\u041E\u0442\u043F\u0440\u0430\u0432\u043B\u044F\u044F \u0437\u0430\u044F\u0432\u043A\u0443, \u0432\u044B \u0441\u043E\u0433\u043B\u0430\u0448\u0430\u0435\u0442\u0435\u0441\u044C \u043D\u0430 \u043E\u0431\u0440\u0430\u0431\u043E\u0442\u043A\u0443 \u043F\u0435\u0440\u0441\u043E\u043D\u0430\u043B\u044C\u043D\u044B\u0445 \u0434\u0430\u043D\u043D\u044B\u0445 \u0441\u043E\u043E\u0442\u0432\u0435\u0442\u0441\u0442\u0432\u0435\u043D\u043D\u043E \u0442\u0440\u0435\u0431\u043E\u0432\u0430\u043D\u0438\u044F\u043C \u0424\u0417 \u00AB\u041E \u043F\u0435\u0440\u0441\u043E\u043D\u0430\u043B\u044C\u043D\u044B\u0445 \u0434\u0430\u043D\u043D\u044B\u0445\u00BB" })] }));
|
|
1013
|
+
}
|
|
1014
|
+
|
|
1015
|
+
const STEP_MONEY = 1000;
|
|
1016
|
+
function renderWantedSumInput(props) {
|
|
1017
|
+
const { calculatorParams, moneyValue, defaultSum, setMoneyValue } = props;
|
|
1018
|
+
const minSum = calculatorParams?.minSum || DEFAULT_MIN_SUM;
|
|
1019
|
+
const maxSum = calculatorParams?.maxSum || DEFAULT_MAX_SUM;
|
|
1020
|
+
return (jsx(InputRange, { title: "\u0416\u0435\u043B\u0430\u0435\u043C\u0430\u044F \u0441\u0443\u043C\u043C\u0430 \u043A\u0440\u0435\u0434\u0438\u0442\u0430, \u20BD", items: [
|
|
1021
|
+
`От ${addSpacesBetweenNumbers(minSum)} рублей`,
|
|
1022
|
+
`До ${addSpacesBetweenNumbers(maxSum)} рублей`,
|
|
1023
|
+
], min: minSum, max: maxSum, step: STEP_MONEY, value: moneyValue || defaultSum, onChange: setMoneyValue }));
|
|
1024
|
+
}
|
|
1025
|
+
|
|
912
1026
|
const DEFAULT_PAYMENT_TYPE = 'annuity';
|
|
913
|
-
const
|
|
914
|
-
const
|
|
1027
|
+
const BORDER_STYLE = 'border-solid border-[3px] border-primary-main rounded-md';
|
|
1028
|
+
const CreditCalculatorForm = JSX(({ context, directoryName }) => {
|
|
915
1029
|
const [moneyValue, setMoneyValue] = context.useState(undefined);
|
|
916
1030
|
const [monthsValue, setMonthsValue] = context.useState(undefined);
|
|
917
1031
|
const [isAnnuityChecked, setIsAnnuityChecked] = context.useState(true);
|
|
918
1032
|
const [isInsuranceChecked, setIsInsuranceChecked] = context.useState(true);
|
|
919
1033
|
const tableRows = useCreditCalculatorData(context.useAsyncData, directoryName).rows;
|
|
920
1034
|
const calculatorParams = getCalculatorParams({ tableRows, isAnnuity: isAnnuityChecked });
|
|
921
|
-
const defaultSum = calculatorParams
|
|
922
|
-
|
|
923
|
-
: DEFAULT_SUM;
|
|
924
|
-
const defaultMonths = calculatorParams.maxMonths && calculatorParams.minMonths
|
|
925
|
-
? Math.round((calculatorParams.maxMonths - calculatorParams.minMonths) / 2)
|
|
926
|
-
: DEFAULT_MONTHS;
|
|
927
|
-
const minSum = calculatorParams?.minSum || DEFAULT_MIN_SUM;
|
|
928
|
-
const maxSum = calculatorParams?.maxSum || DEFAULT_MAX_SUM;
|
|
1035
|
+
const defaultSum = getDefaultSum(calculatorParams);
|
|
1036
|
+
const defaultMonths = getDefaultMonths(calculatorParams);
|
|
929
1037
|
const minMonths = calculatorParams?.minMonths || DEFAULT_MIN_MONTHS;
|
|
930
1038
|
const maxMonths = calculatorParams?.maxMonths || DEFAULT_MAX_MONTHS;
|
|
931
1039
|
const rate = getCreditRate({ calculatorParams, isInsurance: isInsuranceChecked });
|
|
932
|
-
const
|
|
1040
|
+
const monthlyPayment = getMonthlyPayment({
|
|
933
1041
|
calculatorParams,
|
|
934
1042
|
paymentType: DEFAULT_PAYMENT_TYPE,
|
|
935
1043
|
rate,
|
|
@@ -940,44 +1048,118 @@
|
|
|
940
1048
|
function handleButtonClick(value) {
|
|
941
1049
|
setMonthsValue(clamp(value * MONTHS_IN_YEAR, minMonths, maxMonths));
|
|
942
1050
|
}
|
|
943
|
-
return (jsx("section", { className:
|
|
944
|
-
|
|
945
|
-
|
|
946
|
-
|
|
1051
|
+
return (jsx("section", { className: "mt-7", children: jsxs("div", { className: `box-border p-[49px] pr-[56px] mx-auto w-max ${BORDER_STYLE}`, children: [jsxs("div", { className: "flex justify-between", children: [jsxs("div", { className: "mr-[42px]", children: [renderWantedSumInput({ calculatorParams, moneyValue, defaultSum, setMoneyValue }), renderMonthsInput({
|
|
1052
|
+
minMonths,
|
|
1053
|
+
maxMonths,
|
|
1054
|
+
monthsValue,
|
|
1055
|
+
defaultMonths,
|
|
1056
|
+
setMonthsValue,
|
|
1057
|
+
}), jsx("div", { className: "flex mb-7", children: creditTermYears.map((number, i) => renderButton(number, i, handleButtonClick)) }), jsx(Checkbox, { text: "\u041F\u043E\u043B\u0443\u0447\u0430\u044E \u043F\u0435\u043D\u0441\u0438\u044E \u043D\u0430 \u043A\u0430\u0440\u0442\u0443 \u0420\u043E\u0441\u0441\u0435\u043B\u044C\u0445\u043E\u0437\u0431\u0430\u043D\u043A\u0430", checked: isAnnuityChecked, onChange: setIsAnnuityChecked }), jsx(Checkbox, { className: "mt-3 mb-7", text: "\u041A\u043E\u043C\u043F\u043B\u0435\u043A\u0441\u043D\u0430\u044F \u0441\u0442\u0440\u0430\u0445\u043E\u0432\u0430\u044F \u0437\u0430\u0449\u0438\u0442\u0430", checked: isInsuranceChecked, onChange: setIsInsuranceChecked })] }), renderProposal(monthlyPayment, rate)] }), renderTermsButton()] }) }));
|
|
947
1058
|
});
|
|
948
|
-
|
|
949
|
-
|
|
1059
|
+
|
|
1060
|
+
const DEFAULT_TABS = [
|
|
1061
|
+
{
|
|
1062
|
+
title: 'Кредит',
|
|
1063
|
+
description: 'Ставка от 6% до 7 лет',
|
|
1064
|
+
directoryName: 'credit-calculator-data',
|
|
1065
|
+
icon: 'CardIcon',
|
|
1066
|
+
},
|
|
1067
|
+
{
|
|
1068
|
+
title: 'Кредит',
|
|
1069
|
+
description: 'Ставка от 4% до 7 лет',
|
|
1070
|
+
directoryName: 'credit-calculator-data1',
|
|
1071
|
+
icon: 'ChartSquareIcon',
|
|
1072
|
+
},
|
|
1073
|
+
{
|
|
1074
|
+
title: 'Кредит',
|
|
1075
|
+
description: 'Ставка от 3% до 6 лет',
|
|
1076
|
+
directoryName: 'credit-calculator-data2',
|
|
1077
|
+
icon: 'DiscountShapeIcon',
|
|
1078
|
+
},
|
|
1079
|
+
];
|
|
1080
|
+
|
|
1081
|
+
const CreditCalculator = JSX(({ className = '', context, tabs = DEFAULT_TABS }) => {
|
|
1082
|
+
const [currentTabIndex, setCurrentTabIndex] = context.useState(0);
|
|
1083
|
+
return (jsxs("section", { className: `font-sans text-primary-text py-10 bg-white ${className}`, children: [jsx(Heading, { className: "w-full text-center mb-8", headingType: getTileHeadingType(className), title: "\u041A\u0430\u043B\u044C\u043A\u0443\u043B\u044F\u0442\u043E\u0440" }), jsx(Tabs, { tabs: tabs, currentTabIndex: currentTabIndex, onTabClick: setCurrentTabIndex }), jsx(CreditCalculatorForm, { context: context, directoryName: tabs[currentTabIndex]?.directoryName })] }));
|
|
1084
|
+
});
|
|
1085
|
+
|
|
1086
|
+
function useExchangeRates(useAsyncData) {
|
|
1087
|
+
const { data } = useAsyncData(EXCHANGE_RATES_URL, fetchExchangeRates);
|
|
1088
|
+
return data || {};
|
|
950
1089
|
}
|
|
1090
|
+
async function fetchExchangeRates() {
|
|
1091
|
+
try {
|
|
1092
|
+
const response = await fetch(EXCHANGE_RATES_URL);
|
|
1093
|
+
return await response.json();
|
|
1094
|
+
}
|
|
1095
|
+
catch (err) {
|
|
1096
|
+
console.error(err);
|
|
1097
|
+
}
|
|
1098
|
+
}
|
|
1099
|
+
const EXCHANGE_RATES_URL = '/api/v1/exchangerates.json';
|
|
951
1100
|
|
|
952
|
-
const
|
|
953
|
-
const
|
|
1101
|
+
const currencyNumberFormat = new Intl.NumberFormat('ru', { style: 'currency', currency: 'RUB' });
|
|
1102
|
+
const formatCurrency = (value) => (value ? currencyNumberFormat.format(value) : '');
|
|
1103
|
+
|
|
1104
|
+
const TABLE_HEAD_STYLE = 'text-left font-normal text-sm text-secondary-text';
|
|
954
1105
|
const CURRENCY_ICONS_MAP = {
|
|
955
1106
|
USD: 'DollarIcon',
|
|
956
1107
|
EUR: 'EuroIcon',
|
|
957
1108
|
};
|
|
958
|
-
const
|
|
1109
|
+
const CurrencyTable = JSX(({ className, exchangeCurrencyItems }) => {
|
|
1110
|
+
return (jsxs("table", { className: `h-fit w-fit ${className}`, children: [jsx("thead", { children: jsxs("tr", { children: [jsx("th", { className: TABLE_HEAD_STYLE, children: "\u0412\u0430\u043B\u044E\u0442\u0430" }), jsx("th", { className: `${TABLE_HEAD_STYLE} pl-11`, children: "\u041A\u0443\u043F\u0438\u0442\u044C" }), jsx("th", { className: `${TABLE_HEAD_STYLE} pl-11`, children: "\u041F\u0440\u043E\u0434\u0430\u0442\u044C" })] }) }), jsx("tbody", { children: exchangeCurrencyItems.map((item) => renderCurrencyRow(item)) })] }));
|
|
1111
|
+
});
|
|
1112
|
+
const renderCurrencyRow = (exchangeCurrencyItem) => {
|
|
1113
|
+
const code = exchangeCurrencyItem?.currency?.currency;
|
|
1114
|
+
return (jsxs("tr", { children: [jsx("td", { className: "pt-4", children: jsxs("div", { className: "flex items-center", children: [code ? jsx(Icon, { name: CURRENCY_ICONS_MAP[code], width: "24", height: "24" }) : null, jsx("span", { className: "ml-2", children: code })] }) }), jsx("td", { className: "pt-4 pl-11", children: formatCurrency(exchangeCurrencyItem.buyExchangeRate) }), jsx("td", { className: "pt-4 pl-11", children: formatCurrency(exchangeCurrencyItem.saleExchangeRate) })] }, code));
|
|
1115
|
+
};
|
|
1116
|
+
|
|
1117
|
+
const CurrentLocation = JSX(({ className = '', address, distance }) => (jsxs("div", { className: `flex text-sm ${className}`, children: [jsx(Icon, { className: "min-w-fit", name: "GpsIcon", width: "24", height: "24", asSVG: true }), jsxs("div", { className: "ml-1.5", children: [address ? jsx("p", { className: "m-0", children: address }) : null, distance ? (jsxs("p", { className: "text-secondary-text m-0", children: ["\u041A\u0443\u0440\u0441 \u0443\u043A\u0430\u0437\u0430\u043D \u0434\u043B\u044F \u0431\u043B\u0438\u0436\u0430\u0439\u0448\u0435\u0433\u043E \u043E\u0444\u0438\u0441\u0430 - ", distance] })) : null] })] })));
|
|
1118
|
+
|
|
1119
|
+
const Input = JSX(({ className = '', id, name, type = 'text', placeholder }) => {
|
|
1120
|
+
return (jsx("input", { className: className, id: id, name: name || id, type: type, placeholder: placeholder }));
|
|
1121
|
+
});
|
|
1122
|
+
|
|
1123
|
+
const Select = JSX(({ className = '', id, name, children }) => {
|
|
1124
|
+
return (jsx("select", { className: className, id: id, name: name || id, children: children }));
|
|
1125
|
+
});
|
|
1126
|
+
|
|
1127
|
+
const SelectOption = JSX(({ className = '', value, children }) => {
|
|
1128
|
+
return (jsx("option", { className: className, value: `${value}`, children: children }));
|
|
1129
|
+
});
|
|
1130
|
+
|
|
1131
|
+
const ExchangeCurrencyCalculator = JSX(({ codes, className = '' }) => {
|
|
1132
|
+
return (jsxs("div", { className: `grid gap-3.5 ${className}`, children: [renderInput('Хочу продать', codes), renderInput('Получу', codes), jsx(Button, { className: "box-border mt-3.5 py-3 h-12 w-44", version: "primary", href: "#", children: "\u041A\u0443\u043F\u0438\u0442\u044C \u0432\u0430\u043B\u044E\u0442\u0443" })] }));
|
|
1133
|
+
});
|
|
1134
|
+
function renderInput(placeholder, codes) {
|
|
1135
|
+
return (jsxs("div", { className: "flex items-center", children: [jsx(Input, { className: "h-10 border pl-2.5 rounded-md text-m-sm w-full appearance-none", type: "number", placeholder: `${placeholder}` }), codes.length ? (jsx(Select, { className: "h-9 -translate-x-16", children: codes.map((code, i) => (jsx(SelectOption, { value: code, children: code }, String(i)))) })) : null] }));
|
|
1136
|
+
}
|
|
1137
|
+
|
|
1138
|
+
const CURRENCY_CODES = ['USD', 'EUR'];
|
|
1139
|
+
const EXCHANGE_CODES = ['RUB', 'USD', 'EUR'];
|
|
1140
|
+
const DEFAULT_CURRENCY_ITEMS = [
|
|
1141
|
+
{
|
|
1142
|
+
buyExchangeRate: 90.6,
|
|
1143
|
+
saleExchangeRate: 92.8,
|
|
1144
|
+
currency: { id: 2, code: '978', currency: 'EUR', name: 'Евро' },
|
|
1145
|
+
},
|
|
959
1146
|
{
|
|
960
|
-
|
|
961
|
-
|
|
962
|
-
|
|
1147
|
+
buyExchangeRate: 73.75,
|
|
1148
|
+
saleExchangeRate: 75.95,
|
|
1149
|
+
currency: { id: 1, code: '840', currency: 'USD', name: 'Американский доллар' },
|
|
963
1150
|
},
|
|
964
1151
|
];
|
|
1152
|
+
const DEFAULT_LOCATION = {
|
|
1153
|
+
address: 'Москва, ул.Ленина д.28',
|
|
1154
|
+
distance: '6км',
|
|
1155
|
+
};
|
|
965
1156
|
const ExchangeRateTile = JSX(({ className = '', context, title = 'Курсы обмена валют' }) => {
|
|
966
|
-
const
|
|
967
|
-
|
|
1157
|
+
const data = useExchangeRates(context.useAsyncData);
|
|
1158
|
+
const exchangeCurrencyItems = data?.exchangeRate?.currencies?.filter((item) => {
|
|
1159
|
+
return CURRENCY_CODES.indexOf(item?.currency?.currency || '') !== -1;
|
|
1160
|
+
}) || DEFAULT_CURRENCY_ITEMS;
|
|
1161
|
+
return (jsx("section", { className: `bg-white text-primary-text font-sans p-9 box-border ${className}`, children: jsx(BaseTile, { context: context, title: jsx(Heading, { headingType: getTileHeadingType(className), title: title, className: "whitespace-pre-wrap mb-3" }), children: jsxs("div", { className: "flex", children: [jsxs("div", { className: "mr-20 pt-3", children: [exchangeCurrencyItems ? (jsx(CurrencyTable, { className: "mb-7", exchangeCurrencyItems: exchangeCurrencyItems })) : null, jsx(CurrentLocation, { ...DEFAULT_LOCATION })] }), exchangeCurrencyItems?.length ? (jsx(ExchangeCurrencyCalculator, { className: "grow", exchangeCurrencyItems: exchangeCurrencyItems, codes: EXCHANGE_CODES })) : null] }) }) }));
|
|
968
1162
|
});
|
|
969
|
-
const CurrencyTH = JSX(({ className = '', children }) => (jsx("th", { className: `text-left font-normal text-sm text-secondary-text ${className}`, children: children })));
|
|
970
|
-
const CurrencyTD = JSX(({ className = '', children }) => (jsx("td", { className: `text-left font-normal text-base text-primary-text ${className}`, children: children })));
|
|
971
|
-
async function fetchExchangeRate() {
|
|
972
|
-
const response = await fetch(CBR_EXCHANGE_RATE_URL);
|
|
973
|
-
return await response.json();
|
|
974
|
-
}
|
|
975
|
-
const currencyNumberFormat = new Intl.NumberFormat('ru', { style: 'currency', currency: 'RUB' });
|
|
976
|
-
const formatCurrency = (value) => (value ? currencyNumberFormat.format(value) : '');
|
|
977
|
-
const renderCurrencyRow = (data) => (code) => {
|
|
978
|
-
const value = (data?.Valute || {})[code]?.Value;
|
|
979
|
-
return (jsxs("tr", { children: [jsx(CurrencyTD, { className: "pt-4", children: jsxs("div", { className: "flex items-center", children: [jsx(Icon, { name: CURRENCY_ICONS_MAP[code], width: "24", height: "24" }), jsx("span", { className: "ml-2", children: code })] }) }), jsx(CurrencyTD, { className: "pt-4 pl-11", children: formatCurrency(value) })] }, code));
|
|
980
|
-
};
|
|
981
1163
|
|
|
982
1164
|
const LOGO_PATHS = [
|
|
983
1165
|
'm13.72 25.51 4.42-4.33v-2.95l-4.42 4.32v2.96Zm0-10.98 4.42-4.35V7.41l-4.42 4.31v2.8Zm0 3.63 4.42-4.33v-2.78l-4.42 4.32v2.8ZM12.46 7.44l-.6-.56V0h-.66v6.22l-.58-.57V0h-.67v5l-.59-.58V0H8.7v6.56l4.44 4.33V0h-.67v7.44Zm1.26 14.35 4.42-4.33v-2.78L13.72 19v2.8Zm-5.03-.61 4.44 4.33v-2.96l-4.44-4.32v2.95Zm8.79-16.76-.59.58V0h-.66v5.66l-.6.56V0h-.66v6.87l-.58.57V0h-.67v10.9l4.42-4.34V0h-.66v4.42Zm-8.79 5.76 4.44 4.35v-2.8L8.69 7.4v2.77Zm0 3.65 4.44 4.33v-2.8l-4.44-4.3v2.77Zm0 3.63 4.44 4.33V19l-4.44-4.31v2.78Zm26.37 2.29H24.3a2.25 2.25 0 0 0 .36-1.22 2.32 2.32 0 0 0-2.33-2.31 2.32 2.32 0 0 0-2.31 2.31c0 .5.16.96.43 1.34a.74.74 0 0 0-.33.61c0 .26.14.49.33.62a2.32 2.32 0 0 0-.43 1.34 2.31 2.31 0 0 0 2.31 2.31 2.32 2.32 0 0 0 2.33-2.31c0-.45-.13-.87-.36-1.22h8.01v.49h-.8v.68h.8v.7h-.8v1.3h.8v-.58h1.17v.58h.79v-1.3h-.79v-.7h.79v-.68h-.79v-.5h1.58a.56.56 0 0 0 .56-.56v-.34a.57.57 0 0 0-.56-.56Zm-11.53 2.7a1.2 1.2 0 0 1-2.4 0c0-.24.08-.47.2-.66l.34-.56a.97.97 0 0 1-.34-.75c0-.3.13-.56.33-.74l-.32-.56a1.13 1.13 0 0 1-.2-.66 1.2 1.2 0 0 1 2.4 0c0 .49-.56 1.65-.56 1.65v.62c-.01.01.55 1.17.55 1.66ZM4.67 18.34v2.89c0 2.75 1.2 4.53 1.9 5.21l4.58 4.5c1.28 1.25 1.5 1.66 1.79 2.37v-3.2c0-2.84-1.44-3.94-2.19-4.67-1.73-1.68-2.89-2.8-3.82-3.73a8.98 8.98 0 0 1-2.26-3.37Zm6.08 14.24c-1.73-1.7-2.89-2.8-3.82-3.73a10 10 0 0 1-2.25-2.98v2.49a7.87 7.87 0 0 0 1.89 5.24l4.58 4.47c1.28 1.25 1.5 1.85 1.79 2.55v-3.37c0-2.85-1.45-3.95-2.19-4.67Z',
|
|
@@ -1203,7 +1385,7 @@
|
|
|
1203
1385
|
});
|
|
1204
1386
|
|
|
1205
1387
|
const MobileAppTile = JSX(({ className = '', context, title = 'Мобильное приложение', qr, buttons = [] }) => {
|
|
1206
|
-
return (jsx("section", { className: `bg-white text-primary-text font-sans p-9 box-border ${className} ${getTileRightPadding(className)} ${getTileMinHeight(className)} `, children: jsx(BaseTile, { context: context, title: title && (jsx(Heading, { headingType: getTileHeadingType(className), title: title, className: `whitespace-pre-wrap max-w-[600px]` })), buttons: buttons?.length ? (jsx(ButtonSection, { context: context, buttons: buttons, className: "flex mt-9 gap-3" })) : null, children: jsxs("div", { className: "flex items-center", children: [qr?.src && qr?.href && (jsx("a", { href: qr.href, target: "_blank", children: jsx("img", { src: qr.src, alt: title, title: title, width: "164", height: "164", className: "w-[90px] h-[90px] min-w-[90px] min-h-[90px] bg-secondary-light" }) })), jsx("span", { className: "font-normal text-sm text-secondary-text ml-4", children: "\u041D\u0430\u0432\u0435\u0434\u0438\u0442\u0435 \u043A\u0430\u043C\u0435\u0440\u0443 \u0442\u0435\u043B\u0435\u0444\u043E\u043D\u0430 \u043D\u0430 QR-\u043A\u043E\u0434 \u0438 \u0441\u043A\u0430\u0447\u0430\u0439\u0442\u0435 \u043F\u0440\u0438\u043B\u043E\u0436\u0435\u043D\u0438\u0435" })] }) }) }));
|
|
1388
|
+
return (jsx("section", { className: `bg-white text-primary-text font-sans p-9 box-border ${className} ${getTileRightPadding(className)} ${getTileMinHeight(className)} `, children: jsx(BaseTile, { context: context, title: title && (jsx(Heading, { headingType: getTileHeadingType(className), title: title, className: `whitespace-pre-wrap max-w-[600px]` })), buttons: buttons?.length ? (jsx(ButtonSection, { context: context, buttons: buttons, className: "flex mt-9 gap-3" })) : null, children: jsxs("div", { className: "flex items-center", children: [qr?.src && qr?.href && (jsx("a", { href: qr.href, target: "_blank", "aria-label": title, children: jsx("img", { src: qr.src, alt: title, title: title, width: "164", height: "164", className: "w-[90px] h-[90px] min-w-[90px] min-h-[90px] bg-secondary-light" }) })), jsx("span", { className: "font-normal text-sm text-secondary-text ml-4", children: "\u041D\u0430\u0432\u0435\u0434\u0438\u0442\u0435 \u043A\u0430\u043C\u0435\u0440\u0443 \u0442\u0435\u043B\u0435\u0444\u043E\u043D\u0430 \u043D\u0430 QR-\u043A\u043E\u0434 \u0438 \u0441\u043A\u0430\u0447\u0430\u0439\u0442\u0435 \u043F\u0440\u0438\u043B\u043E\u0436\u0435\u043D\u0438\u0435" })] }) }) }));
|
|
1207
1389
|
});
|
|
1208
1390
|
|
|
1209
1391
|
const NavigationItem = JSX(({ className, text, onClick, href, target, isActive }) => (jsx("a", { className: `bg-inherit no-underline px-4 py-2.5 cursor-pointer rounded text-sm border border-solid hover:text-primary-main ${className || ''} ${isActive ? 'border-primary-main text-primary-main' : 'border-white text-secondary-text'}`, onClick: onClick, href: href, target: target, children: text })));
|
|
@@ -1217,53 +1399,15 @@
|
|
|
1217
1399
|
.map((button, i) => (jsx(NavigationItem, { className: "first:rounded-tl-md first:rounded-bl-md last:rounded-tr-md last:rounded-br-md", isActive: button === activeButton, ...useLink({ router, handlerDecorator }, button) }, String(i)))) })) : null] }));
|
|
1218
1400
|
});
|
|
1219
1401
|
|
|
1220
|
-
const
|
|
1221
|
-
|
|
1222
|
-
|
|
1223
|
-
}
|
|
1224
|
-
else {
|
|
1225
|
-
return jsx("span", { className: className, children: text || children });
|
|
1226
|
-
}
|
|
1227
|
-
});
|
|
1228
|
-
|
|
1229
|
-
function joinList(sep) {
|
|
1230
|
-
return (list) => list.reduce((acc, el, i) => (acc.length ? acc.concat({ ...sep, key: i }, el) : [el]), []);
|
|
1231
|
-
}
|
|
1232
|
-
|
|
1233
|
-
const benefitIconBgStyleMap = {
|
|
1234
|
-
primary: 'bg-main',
|
|
1235
|
-
secondary: 'bg-white/30',
|
|
1236
|
-
};
|
|
1237
|
-
const benefitTitleStyleMap = {
|
|
1238
|
-
primary: 'text-primary-text',
|
|
1239
|
-
secondary: 'text-white',
|
|
1240
|
-
};
|
|
1241
|
-
const benefitDescStyleMap = {
|
|
1242
|
-
primary: 'text-secondary-text',
|
|
1243
|
-
secondary: 'text-white',
|
|
1244
|
-
};
|
|
1245
|
-
function renderBenefit(benefit, i, version) {
|
|
1246
|
-
return (jsxs("div", { className: "flex gap-4 items-center", children: [benefit.icon && (jsx(Icon, { className: `w-[50px] h-[50px] min-w-[50px] min-h-[50px] rounded-full p-[10px] box-border ${benefitIconBgStyleMap[version]}`, name: benefit.icon, width: "24", height: "24", asSVG: true })), jsxs("div", { className: "flex gap-1 flex-col h-full max-w-[149px]", children: [jsx("div", { className: `font-medium text-xl m-0 ${benefitTitleStyleMap[version]}`, children: benefit.label }), benefit.description && (jsx("div", { className: `font-normal text-sm ${benefitDescStyleMap[version]}`, children: benefit.description }))] })] }, String(i)));
|
|
1247
|
-
}
|
|
1248
|
-
|
|
1249
|
-
const ProductBlockInner = JSX(({ className = '', context, title, headingType = 'h2', description, benefits, buttons, image, items, version = 'primary', }) => {
|
|
1250
|
-
return (jsxs("div", { className: `flex grow justify-between items-stretch ${className}`, children: [jsx("div", { className: 'flex flex-col', children: jsxs(BaseTile, { context: context, title: title && (jsx(Heading, { headingType: headingType, title: title, className: "whitespace-pre-wrap max-w-[600px]" })), buttons: buttons?.length ? (jsx(ButtonSection, { context: context, buttons: buttons, className: "flex mt-9 gap-3" })) : null, children: [description && (jsx(Description, { className: "text-m-base mt-4 max-w-[600px]", description: description })), benefits?.filter((items) => items.label)?.length ? (jsx("div", { className: "flex gap-6 mt-6", children: benefits.map((_, i) => renderBenefit(_, i, version)) })) : null, items?.length ? (jsx(List, { className: "mt-5", items: items, itemClassName: "mb-[10px]", version: version })) : null] }) }), image?.src && jsx(Img, { className: "mt-auto", image: image })] }));
|
|
1251
|
-
});
|
|
1252
|
-
|
|
1253
|
-
const productBlockStyleMap = {
|
|
1254
|
-
primary: 'bg-white text-primary-text',
|
|
1255
|
-
secondary: 'bg-primary-main text-white',
|
|
1256
|
-
};
|
|
1257
|
-
const breadcrumbsStyleMap = {
|
|
1258
|
-
primary: 'text-secondary-text',
|
|
1259
|
-
secondary: 'text-white/80',
|
|
1260
|
-
};
|
|
1261
|
-
const ProductBlock = JSX((props) => {
|
|
1262
|
-
const { context, className, breadcrumbs, version = 'primary' } = props;
|
|
1263
|
-
const router = context.useRouter();
|
|
1264
|
-
const { handlerDecorator } = context;
|
|
1265
|
-
return (jsxs("section", { className: `font-sans pt-10 pl-[50px] pb-[50px] pr-[7.5rem] box-border min-h-[420px] ${className || ''} ${productBlockStyleMap[version]}`, children: [breadcrumbs?.length ? (jsx("div", { className: "text-xs mb-6", children: joinList(jsx("span", { className: `mx-2 ${breadcrumbsStyleMap[version]}`, children: "/" }))(breadcrumbs.map((breadcrumb, i) => (jsx(Breadcrumb, { ...useLink({ router, handlerDecorator }, { className: breadcrumbsStyleMap[version], ...breadcrumb }) }, String(i))))) })) : null, jsx(ProductBlockInner, { ...props })] }));
|
|
1402
|
+
const GOLDEN_RATIO = 1.618;
|
|
1403
|
+
const Placeholder = JSX(({ className, context, title, description = 'Блок в разработке...' }) => {
|
|
1404
|
+
return (jsx("section", { className: `bg-white text-primary-text font-sans p-9 box-border ${className} ${getTileRightPadding(className)} ${getTileMinHeight(className)} `, children: jsxs(BaseTile, { context: context, title: title ? (jsx(Heading, { headingType: getTileHeadingType(className), title: title, className: `whitespace-pre-wrap max-w-[600px]` })) : null, children: [description ? (jsx(Description, { className: "mt-4 max-w-[600px]", description: description })) : null, jsx("figure", { className: "m-0 min-w-[600px]", children: renderShimmer() })] }) }));
|
|
1266
1405
|
});
|
|
1406
|
+
const renderShimmer = (size = 3) => goldenSequence(100, size)
|
|
1407
|
+
.map((_) => Math.floor(_))
|
|
1408
|
+
.map(renderShimmerItem);
|
|
1409
|
+
const renderShimmerItem = (width = 100, index) => (jsx("div", { style: { width: `${width}%` }, className: "h-4 mt-2 bg-secondary-light" }, String(index)));
|
|
1410
|
+
const goldenSequence = (first, size) => [first].concat(size > 0 ? goldenSequence(first / GOLDEN_RATIO, size - 1) : []);
|
|
1267
1411
|
|
|
1268
1412
|
const ProductGallery = JSX(({ className, context, duration = 0, slides = [] }) => {
|
|
1269
1413
|
const galleryNav = slides.map((s) => s.nav);
|
|
@@ -1304,6 +1448,37 @@
|
|
|
1304
1448
|
return dateObj.toLocaleString('ru-RU', dateFormat).replace('г.', '');
|
|
1305
1449
|
}
|
|
1306
1450
|
|
|
1451
|
+
const RecommendationCard = JSX(({ context, className = '', title, description, items, image, version }) => {
|
|
1452
|
+
return (jsx("section", { className: `border border-solid box-border rounded-md p-7 min-w-[515px] max-w-[515px] ${className}`, role: "listitem", children: jsxs(BaseTile, { context: context, title: title && jsx(Heading, { headingType: "h4", title: title, className: "mb-4" }), image: image?.src && jsx(Img, { className: "mt-auto ml-7", image: image }), children: [description ? jsx(Description, { description: description }) : null, items?.length ? jsx(List, { items: items, version: version }) : null] }) }));
|
|
1453
|
+
});
|
|
1454
|
+
|
|
1455
|
+
const BLUR_BLOCK_CLASSES = 'absolute top-0 bottom-0 w-[84px]';
|
|
1456
|
+
const CARD_FULL_VIEW_COUNT = 2;
|
|
1457
|
+
const CARD_SHIFT = 525;
|
|
1458
|
+
const Recommendation = JSX(({ context, recommendations = [], className = '', title, version }) => {
|
|
1459
|
+
const [activeCardIndex, setActiveCardIndex] = context.useState(0);
|
|
1460
|
+
const blockClassName = version === 'secondary' ? 'bg-primary-main text-white' : 'bg-white text-primary-text';
|
|
1461
|
+
const cardClassName = version === 'secondary' ? 'border-main-divider' : 'border-main-stroke';
|
|
1462
|
+
return (jsxs("section", { className: `relative font-sans p-[50px] overflow-hidden ${blockClassName} ${className}`, children: [title ? jsx(Heading, { headingType: "h3", className: "mb-8", title: title }) : null, jsx("div", { className: "flex duration-1000 gap-4", style: { transform: `translateX(-${activeCardIndex * CARD_SHIFT}px)` }, role: "list", children: recommendations?.length
|
|
1463
|
+
? recommendations.map(renderRecommendationCard({ context, version, className: cardClassName }))
|
|
1464
|
+
: null }), renderNavButtons({
|
|
1465
|
+
cardsCount: recommendations.length,
|
|
1466
|
+
activeCardIndex,
|
|
1467
|
+
setActiveCardIndex,
|
|
1468
|
+
}), jsx("div", { className: `${BLUR_BLOCK_CLASSES} left-0 ${version === 'secondary' ? 'bg-opacity-from-main' : 'bg-opacity-from-white'}` }), jsx("div", { className: `${BLUR_BLOCK_CLASSES} right-0 ${version === 'secondary' ? 'bg-opacity-to-main' : 'bg-opacity-to-white'}` })] }));
|
|
1469
|
+
});
|
|
1470
|
+
const renderRecommendationCard = ({ context, version, className }) => (card, i) => {
|
|
1471
|
+
return (jsx(RecommendationCard, { context: context, ...card, version: version, className: className }, String(i)));
|
|
1472
|
+
};
|
|
1473
|
+
const renderNavButtons = ({ cardsCount, activeCardIndex, setActiveCardIndex, }) => {
|
|
1474
|
+
const handleNextClick = () => setActiveCardIndex(activeCardIndex + 1);
|
|
1475
|
+
const handlePrevClick = () => setActiveCardIndex(activeCardIndex - 1);
|
|
1476
|
+
const isUseSlider = cardsCount > CARD_FULL_VIEW_COUNT;
|
|
1477
|
+
const showNextButton = isUseSlider && cardsCount - activeCardIndex > CARD_FULL_VIEW_COUNT;
|
|
1478
|
+
const showPrevButton = isUseSlider && activeCardIndex > 0;
|
|
1479
|
+
return (jsxs("div", { children: [showPrevButton && (jsx(ArrowButton, { className: "absolute top-1/2 left-8 rotate-180 z-10 mt-6", onClick: handlePrevClick, ariaLabel: "\u041F\u0440\u043E\u043B\u0438\u0441\u0442\u0430\u0442\u044C \u0432\u043B\u0435\u0432\u043E" })), showNextButton && (jsx(ArrowButton, { className: "absolute top-1/2 right-8 z-10 mt-6", onClick: handleNextClick, ariaLabel: "\u041F\u0440\u043E\u043B\u0438\u0441\u0442\u0430\u0442\u044C \u0432\u043F\u0440\u0430\u0432\u043E" }))] }));
|
|
1480
|
+
};
|
|
1481
|
+
|
|
1307
1482
|
const StepsBlock = JSX(({ className, title, showLines = true, steps }) => {
|
|
1308
1483
|
return (jsxs("section", { className: `box-border font-sans text-primary-text bg-white px-20 py-[50px] flex flex-col items-center ${className || ''}`, children: [jsx(Heading, { headingType: "h2", className: "max-w-[47rem] text-center", title: title }), steps?.length ? (jsxs("div", { className: `box-border py-0.5 mb-0.5 ${title ? 'mt-9' : ''}`, children: [jsx("div", { className: "flex items-center px-[88px]", children: joinList(jsx("div", { className: `h-0.5 w-full bg-secondary-light ${!showLines ? 'opacity-0' : ''}` }))(steps.map((step, i) => renderStepIcon(step, i))) }), jsx("div", { className: "flex justify-between gap-x-[101px]", children: steps.map(renderStepTitle) })] })) : null] }));
|
|
1309
1484
|
});
|
|
@@ -1321,9 +1496,9 @@
|
|
|
1321
1496
|
|
|
1322
1497
|
const TariffsTableCell = JSX(({ cell, isLastRow }) => {
|
|
1323
1498
|
const cellWrapperClasses = `first:pl-0 pl-10 w-80 flex-grow flex flex-col border-solid border-main-divider border border-t-0 border-x-0 ${isLastRow ? 'border-t-0 rounded-b-md' : ''}`;
|
|
1324
|
-
return (jsx("div", { className: cellWrapperClasses, role: "cell", children: jsx("div", { children: cell.map(
|
|
1499
|
+
return (jsx("div", { className: cellWrapperClasses, role: "cell", children: jsx("div", { children: cell.map(renderCellInner) }) }));
|
|
1325
1500
|
});
|
|
1326
|
-
const renderCellInner = ({ label, description, list, image, buttons }, i) => (jsxs("div", { className: "first:pt-5 last:pb-5", children: [i > 0 && (jsx("div", { className: "border-main-divider border border-solid border-t-0 border-x-0 my-4" })), label
|
|
1501
|
+
const renderCellInner = ({ label, description, list, image, buttons }, i) => (jsxs("div", { className: "first:pt-5 last:pb-5", children: [i > 0 && (jsx("div", { className: "border-main-divider border border-solid border-t-0 border-x-0 my-4" })), label ? jsx("div", { className: "text-xl font-medium m-0", children: label }) : null, description ? jsx("div", { className: "text-sm text-secondary-text", children: description }) : null, list?.items?.length ? (jsx("div", { className: "flex flex-col justify-between items-start", children: jsx("div", { role: "list", children: list.items.map((text, idx) => (jsx(BlockItem, { className: "text-sm", text: text, version: "gray", isDotted: list.isDotted ?? true }, String(idx)))) }) })) : null, image && jsx(Img, { image: image }), buttons?.length
|
|
1327
1502
|
? buttons.map(({ icon, ...buttonProps }, idx) => (jsx(Button, { className: `${idx > 0 ? 'ml-3' : ''} w-12 h-12`, appendLeft: icon && jsx(Icon, { name: icon, width: "24px", height: "24px", asSVG: true }), ...buttonProps }, String(idx))))
|
|
1328
1503
|
: null] }, String(i)));
|
|
1329
1504
|
|
|
@@ -1331,21 +1506,24 @@
|
|
|
1331
1506
|
return (jsxs(TableRowContainer, { children: [jsx("div", { className: `text-sm py-5 ${FIRST_CELL_CLASSES} ${DIVIDER_CLASSES} ${!isLastRow ? 'border-solid' : ''}`, children: jsxs("div", { className: "flex items-center text-primary-text", children: [header?.icon && (jsx(Icon, { className: "mr-[14px] max-w-6 max-h-6", name: header.icon, width: "24px", height: "24px", asSVG: true })), header?.title] }) }), data?.length ? (jsx(TableCarouselContainer, { activeCardIndex: activeCardIndex, columnWidth: COLUMN_WIDTH, version: "tariff", children: data.map((cell, i) => (jsx(TariffsTableCell, { cell: cell, isLastRow: isLastRow }, String(i)))) })) : null] }));
|
|
1332
1507
|
});
|
|
1333
1508
|
|
|
1334
|
-
const TariffsTable = JSX(({ className, context, title, rowHeaders, columns }) => {
|
|
1509
|
+
const TariffsTable = JSX(({ className, context, title, description, rowHeaders, columns }) => {
|
|
1335
1510
|
const [activeCardIndex, setActiveCardIndex] = context.useState(0);
|
|
1336
|
-
const colData = columns
|
|
1337
|
-
const rowData = rowHeaders
|
|
1338
|
-
|
|
1339
|
-
|
|
1340
|
-
}));
|
|
1341
|
-
const { nextClick, prevClick, isScrollAvailable, showNextButton, showPrevButton } = useComparisonTableScroll({
|
|
1342
|
-
colData,
|
|
1511
|
+
const colData = getColData(columns);
|
|
1512
|
+
const rowData = getRowData(rowHeaders, colData);
|
|
1513
|
+
const tableArrowScrollControlProps = useTableArrowScrollControl({
|
|
1514
|
+
columnsLength: colData.length,
|
|
1343
1515
|
colsLengthForScroll: COLS_LENGTH_FOR_SCROLL,
|
|
1344
1516
|
activeCardIndex,
|
|
1345
1517
|
setActiveCardIndex,
|
|
1346
1518
|
});
|
|
1347
|
-
|
|
1519
|
+
const { isScrollAvailable } = tableArrowScrollControlProps;
|
|
1520
|
+
return (jsxs("section", { className: `bg-white font-sans py-[50px] pl-[50px] overflow-hidden text-primary-text relative ${className || ''}`, children: [title ? (jsx(Heading, { headingType: "h2", className: `text-center ${description ? 'mb-2.5' : 'mb-9'}`, title: title })) : null, description ? jsx("div", { className: "mb-9 text-center text-m-base", children: description }) : null, rowData?.length ? (jsxs("div", { role: "table", children: [jsxs("div", { className: "relative", children: [rowData.map((row, i) => (jsx(TariffsTableRow, { row: row, isLastRow: i + 1 === length, activeCardIndex: activeCardIndex }, String(i)))), jsx(TableArrowScrollControl, { ...tableArrowScrollControlProps })] }), isScrollAvailable ? (jsx("div", { className: "absolute top-0 right-0 bottom-0 w-[84px] bg-opacity-to-white" })) : null] })) : null] }));
|
|
1348
1521
|
});
|
|
1522
|
+
const getColData = (columns) => columns?.map(({ data }) => data) || [];
|
|
1523
|
+
const getRowData = (rowHeaders, colData) => rowHeaders?.map((header, i) => ({
|
|
1524
|
+
header,
|
|
1525
|
+
data: colData.map((col) => col?.[i] || [{}]),
|
|
1526
|
+
}));
|
|
1349
1527
|
|
|
1350
1528
|
const Blocks = {
|
|
1351
1529
|
Accordion,
|
|
@@ -1365,11 +1543,13 @@
|
|
|
1365
1543
|
ProductGallery,
|
|
1366
1544
|
ProductTile,
|
|
1367
1545
|
PromoTile,
|
|
1546
|
+
Recommendation,
|
|
1368
1547
|
StepsBlock,
|
|
1369
1548
|
TariffsTable,
|
|
1370
1549
|
TextBlock,
|
|
1371
1550
|
Tile,
|
|
1372
1551
|
Navigation,
|
|
1552
|
+
Placeholder,
|
|
1373
1553
|
};
|
|
1374
1554
|
|
|
1375
1555
|
const LikeButton = JSX(({ className, onClick, ariaLabel }) => (jsx("button", { type: "button", className: `border-0 w-[36px] bg-inherit cursor-pointer ${className || ''}`, onClick: onClick, "aria-label": ariaLabel, children: renderLikeIcon() })));
|
|
@@ -1388,16 +1568,6 @@
|
|
|
1388
1568
|
return (jsxs("div", { className: `border-main border-2 border-solid bg-white flex w-[125px] items-center justify-center gap-3 p-2 font-sans ${className || ''}`, children: [jsx(LikeButton, { onClick: likeService.like, ariaLabel: "\u041F\u043E\u0441\u0442\u0430\u0432\u0438\u0442\u044C \u043E\u0442\u043C\u0435\u0442\u043A\u0443 \u00AB\u043B\u0430\u0439\u043A\u00BB" }), jsx(LikeButton, { onClick: likeService.dislike, className: "rotate-180", ariaLabel: "\u041F\u043E\u0441\u0442\u0430\u0432\u0438\u0442\u044C \u043E\u0442\u043C\u0435\u0442\u043A\u0443 \u00AB\u0434\u0438\u0437\u043B\u0430\u0439\u043A\u00BB" }), jsx("span", { className: "select-none", children: likeService.likeCount })] }));
|
|
1389
1569
|
});
|
|
1390
1570
|
|
|
1391
|
-
const GOLDEN_RATIO = 1.618;
|
|
1392
|
-
const Placeholder = JSX(({ className, context, title, description = 'Блок в разработке...' }) => {
|
|
1393
|
-
return (jsx("section", { className: `bg-white text-primary-text font-sans p-9 box-border ${className} ${getTileRightPadding(className)} ${getTileMinHeight(className)} `, children: jsxs(BaseTile, { context: context, title: title ? (jsx(Heading, { headingType: getTileHeadingType(className), title: title, className: `whitespace-pre-wrap max-w-[600px]` })) : null, children: [description ? (jsx(Description, { className: "mt-4 max-w-[600px]", description: description })) : null, jsx("figure", { className: "m-0 min-w-[600px]", children: renderShimmer() })] }) }));
|
|
1394
|
-
});
|
|
1395
|
-
const renderShimmer = (size = 3) => goldenSequence(100, size)
|
|
1396
|
-
.map((_) => Math.floor(_))
|
|
1397
|
-
.map(renderShimmerItem);
|
|
1398
|
-
const renderShimmerItem = (width = 100, index) => (jsx("div", { style: { width: `${width}%` }, className: "h-4 mt-2 bg-secondary-light" }, String(index)));
|
|
1399
|
-
const goldenSequence = (first, size) => [first].concat(size > 0 ? goldenSequence(first / GOLDEN_RATIO, size - 1) : []);
|
|
1400
|
-
|
|
1401
1571
|
const defaultBlockDecorator = ({ blockClassName, block, render }) => render({ blockClassName, block });
|
|
1402
1572
|
const ContentPage = JSX(({ className, context, blocksRegistry, data: { style: pageStyle, blocks, slots = {}, likeControl, colorPalette = 'pc' }, blockDecorator = defaultBlockDecorator, }) => {
|
|
1403
1573
|
const { header } = slots;
|
|
@@ -1429,7 +1599,7 @@
|
|
|
1429
1599
|
});
|
|
1430
1600
|
function renderOpenGraph(og) {
|
|
1431
1601
|
return og
|
|
1432
|
-
? Object.entries(og).map(([key, value]) => (jsx("meta", {
|
|
1602
|
+
? Object.entries(og).map(([key, value]) => (jsx("meta", { property: `og:${key}`, content: value }, key)))
|
|
1433
1603
|
: null;
|
|
1434
1604
|
}
|
|
1435
1605
|
function renderTwitter(twitter) {
|