@redneckz/wildless-cms-uni-blocks 0.3.9 → 0.3.12
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/bundle/blocks.schema.json +1 -1
- package/bundle/bundle.umd.js +154 -76
- package/bundle/bundle.umd.min.js +1 -1
- package/cosmos-static/icons/GpsIcon.svg +1 -0
- package/dist/components/BaseTile/BaseTile.js +1 -1
- package/dist/components/BaseTile/BaseTile.js.map +1 -1
- package/dist/components/Blocks.d.ts +1 -0
- package/dist/components/Blocks.js +2 -0
- package/dist/components/Blocks.js.map +1 -1
- package/dist/components/ComparisonTable/ComparisonTable.mobile.d.ts +5 -0
- package/dist/components/ComparisonTable/ComparisonTable.mobile.js +46 -0
- package/dist/components/ComparisonTable/ComparisonTable.mobile.js.map +1 -0
- package/dist/components/ComparisonTable/ComparisonTableContent.d.ts +4 -0
- package/dist/components/ComparisonTable/HeaderCell.mobile.d.ts +12 -0
- package/dist/components/ComparisonTable/HeaderCell.mobile.js +9 -0
- package/dist/components/ComparisonTable/HeaderCell.mobile.js.map +1 -0
- package/dist/components/ComparisonTable/TableCell.d.ts +3 -2
- package/dist/components/ComparisonTable/TableCell.js.map +1 -1
- package/dist/components/ComparisonTable/TableCell.mobile.d.ts +9 -0
- package/dist/components/ComparisonTable/TableCell.mobile.js +12 -0
- package/dist/components/ComparisonTable/TableCell.mobile.js.map +1 -0
- package/dist/components/ComparisonTable/TableColumn.d.ts +10 -0
- package/dist/components/ComparisonTable/TableColumn.js +19 -0
- package/dist/components/ComparisonTable/TableColumn.js.map +1 -0
- package/dist/components/ContentPage/ContentPageContext.d.ts +1 -1
- package/dist/components/CreditCalculator/CreditCalculator.d.ts +2 -2
- package/dist/components/CreditCalculator/CreditCalculator.js +18 -22
- package/dist/components/CreditCalculator/CreditCalculator.js.map +1 -1
- 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/Gallery/Gallery.mobile.js +2 -2
- package/dist/components/Gallery/Gallery.mobile.js.map +1 -1
- package/dist/components/Header/Header.mobile.js +1 -1
- package/dist/components/Header/Header.mobile.js.map +1 -1
- 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/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/icons/IconName.d.ts +3 -2
- package/dist/icons/IconName.js +1 -0
- package/dist/icons/IconName.js.map +1 -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/setup-fixture.js +1 -1
- package/dist/setup-fixture.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 +11 -6
- package/dist/ui-kit/SwipeListControl/SwipeListControl.js.map +1 -1
- package/dist/ui-kit/SwipeListControl/SwipeListControlProps.d.ts +1 -0
- package/lib/common.css +1 -1
- package/lib/components/BaseTile/BaseTile.js +1 -1
- package/lib/components/BaseTile/BaseTile.js.map +1 -1
- package/lib/components/Blocks.d.ts +1 -0
- package/lib/components/Blocks.js +2 -0
- package/lib/components/Blocks.js.map +1 -1
- package/lib/components/ComparisonTable/ComparisonTable.fixture.mobile.d.ts +5 -0
- package/lib/components/ComparisonTable/ComparisonTable.mobile.d.ts +5 -0
- package/lib/components/ComparisonTable/ComparisonTable.mobile.js +44 -0
- package/lib/components/ComparisonTable/ComparisonTable.mobile.js.map +1 -0
- package/lib/components/ComparisonTable/ComparisonTableContent.d.ts +4 -0
- package/lib/components/ComparisonTable/HeaderCell.mobile.d.ts +12 -0
- package/lib/components/ComparisonTable/HeaderCell.mobile.js +7 -0
- package/lib/components/ComparisonTable/HeaderCell.mobile.js.map +1 -0
- package/lib/components/ComparisonTable/TableCell.d.ts +3 -2
- package/lib/components/ComparisonTable/TableCell.js.map +1 -1
- package/lib/components/ComparisonTable/TableCell.mobile.d.ts +9 -0
- package/lib/components/ComparisonTable/TableCell.mobile.js +10 -0
- package/lib/components/ComparisonTable/TableCell.mobile.js.map +1 -0
- package/lib/components/ComparisonTable/TableColumn.d.ts +10 -0
- package/lib/components/ComparisonTable/TableColumn.js +17 -0
- package/lib/components/ComparisonTable/TableColumn.js.map +1 -0
- package/lib/components/ContentPage/ContentPageContext.d.ts +1 -1
- package/lib/components/CreditCalculator/CreditCalculator.d.ts +2 -2
- package/lib/components/CreditCalculator/CreditCalculator.js +19 -23
- package/lib/components/CreditCalculator/CreditCalculator.js.map +1 -1
- 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/Gallery/Gallery.mobile.js +2 -2
- package/lib/components/Gallery/Gallery.mobile.js.map +1 -1
- package/lib/components/Header/Header.mobile.js +1 -1
- package/lib/components/Header/Header.mobile.js.map +1 -1
- package/lib/components/ProductBlock/ProductBlock.fixture.mobile.d.ts +2 -1
- 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/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/icons/IconName.d.ts +3 -2
- package/lib/icons/IconName.js +1 -0
- package/lib/icons/IconName.js.map +1 -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/setup-fixture.js +1 -1
- package/lib/setup-fixture.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 +12 -7
- package/lib/ui-kit/SwipeListControl/SwipeListControl.js.map +1 -1
- package/lib/ui-kit/SwipeListControl/SwipeListControlProps.d.ts +1 -0
- package/mobile/bundle/bundle.umd.js +136 -83
- package/mobile/bundle/bundle.umd.min.js +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/ComparisonTable/ComparisonTable.js +38 -28
- package/mobile/dist/components/ComparisonTable/ComparisonTable.js.map +1 -1
- package/mobile/dist/components/ComparisonTable/ComparisonTableContent.d.ts +4 -0
- package/mobile/dist/components/ComparisonTable/HeaderCell.d.ts +2 -0
- package/mobile/dist/components/ComparisonTable/HeaderCell.js +1 -3
- package/mobile/dist/components/ComparisonTable/HeaderCell.js.map +1 -1
- package/mobile/dist/components/ComparisonTable/TableCell.d.ts +4 -3
- package/mobile/dist/components/ComparisonTable/TableCell.js +5 -5
- package/mobile/dist/components/ComparisonTable/TableCell.js.map +1 -1
- package/mobile/dist/components/ComparisonTable/TableColumn.d.ts +10 -0
- package/mobile/dist/components/ComparisonTable/TableColumn.js +19 -0
- package/mobile/dist/components/ComparisonTable/TableColumn.js.map +1 -0
- package/mobile/dist/components/ContentPage/ContentPageContext.d.ts +1 -1
- package/mobile/dist/components/CreditCalculator/CreditCalculator.d.ts +2 -2
- package/mobile/dist/components/CreditCalculator/CreditCalculator.js +18 -22
- package/mobile/dist/components/CreditCalculator/CreditCalculator.js.map +1 -1
- 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/Gallery/Gallery.js +2 -2
- package/mobile/dist/components/Gallery/Gallery.js.map +1 -1
- package/mobile/dist/components/Header/Header.js +1 -1
- package/mobile/dist/components/Header/Header.js.map +1 -1
- package/mobile/dist/components/ProductBlock/ProductBlockInner.js +1 -1
- package/mobile/dist/components/ProductBlock/ProductBlockInner.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/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/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/setup-fixture.js +1 -1
- package/mobile/dist/setup-fixture.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 +11 -6
- package/mobile/dist/ui-kit/SwipeListControl/SwipeListControl.js.map +1 -1
- package/mobile/dist/ui-kit/SwipeListControl/SwipeListControlProps.d.ts +1 -0
- package/mobile/lib/components/BaseTile/BaseTile.js +1 -1
- package/mobile/lib/components/BaseTile/BaseTile.js.map +1 -1
- package/mobile/lib/components/ComparisonTable/ComparisonTable.js +38 -28
- package/mobile/lib/components/ComparisonTable/ComparisonTable.js.map +1 -1
- package/mobile/lib/components/ComparisonTable/ComparisonTableContent.d.ts +4 -0
- package/mobile/lib/components/ComparisonTable/HeaderCell.d.ts +2 -0
- package/mobile/lib/components/ComparisonTable/HeaderCell.js +1 -3
- package/mobile/lib/components/ComparisonTable/HeaderCell.js.map +1 -1
- package/mobile/lib/components/ComparisonTable/TableCell.d.ts +4 -3
- package/mobile/lib/components/ComparisonTable/TableCell.js +6 -6
- package/mobile/lib/components/ComparisonTable/TableCell.js.map +1 -1
- package/mobile/lib/components/ComparisonTable/TableColumn.d.ts +10 -0
- package/mobile/lib/components/ComparisonTable/TableColumn.js +17 -0
- package/mobile/lib/components/ComparisonTable/TableColumn.js.map +1 -0
- package/mobile/lib/components/ContentPage/ContentPageContext.d.ts +1 -1
- package/mobile/lib/components/CreditCalculator/CreditCalculator.d.ts +2 -2
- package/mobile/lib/components/CreditCalculator/CreditCalculator.js +19 -23
- package/mobile/lib/components/CreditCalculator/CreditCalculator.js.map +1 -1
- 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/Gallery/Gallery.js +2 -2
- package/mobile/lib/components/Gallery/Gallery.js.map +1 -1
- package/mobile/lib/components/Header/Header.js +1 -1
- package/mobile/lib/components/Header/Header.js.map +1 -1
- package/mobile/lib/components/ProductBlock/ProductBlockInner.js +1 -1
- package/mobile/lib/components/ProductBlock/ProductBlockInner.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/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/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/setup-fixture.js +1 -1
- package/mobile/lib/setup-fixture.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 +12 -7
- package/mobile/lib/ui-kit/SwipeListControl/SwipeListControl.js.map +1 -1
- package/mobile/lib/ui-kit/SwipeListControl/SwipeListControlProps.d.ts +1 -0
- package/mobile/src/common.css +12 -2
- package/mobile/src/components/BaseTile/BaseTile.tsx +1 -1
- package/mobile/src/components/ComparisonTable/ComparisonTable.tsx +90 -102
- package/mobile/src/components/ComparisonTable/ComparisonTableContent.ts +4 -0
- package/mobile/src/components/ComparisonTable/HeaderCell.tsx +34 -30
- package/mobile/src/components/ComparisonTable/TableCell.tsx +30 -27
- package/mobile/src/components/ComparisonTable/TableColumn.tsx +66 -0
- package/mobile/src/components/ContentPage/ContentPageContext.tsx +1 -1
- package/mobile/src/components/CreditCalculator/CreditCalculator.tsx +26 -87
- 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/Gallery/Gallery.tsx +2 -2
- package/mobile/src/components/Header/Header.tsx +1 -1
- package/mobile/src/components/ProductBlock/ProductBlock.example.json +11 -1
- package/mobile/src/components/ProductBlock/ProductBlockInner.tsx +5 -5
- package/mobile/src/hooks/useCreditCalculatorData.ts +3 -7
- package/mobile/src/hooks/useExchangeRates.ts +25 -0
- package/mobile/src/icons/GpsIcon.svg +8 -0
- package/mobile/src/icons/IconName.ts +3 -3
- package/mobile/src/model/InputTypes.ts +1 -0
- package/mobile/src/setup-fixture.ts +1 -1
- 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 +27 -19
- package/mobile/src/ui-kit/SwipeListControl/SwipeListControlProps.ts +1 -0
- package/package.json +1 -1
- package/src/common.css +12 -2
- package/src/components/BaseTile/BaseTile.tsx +1 -1
- package/src/components/Blocks.ts +2 -0
- package/src/components/ComparisonTable/ComparisonTable.fixture.mobile.tsx +152 -0
- package/src/components/ComparisonTable/ComparisonTable.mobile.tsx +121 -0
- package/src/components/ComparisonTable/ComparisonTableContent.ts +4 -0
- package/src/components/ComparisonTable/HeaderCell.mobile.tsx +50 -0
- package/src/components/ComparisonTable/TableCell.mobile.tsx +46 -0
- package/src/components/ComparisonTable/TableCell.tsx +3 -2
- package/src/components/ComparisonTable/TableColumn.tsx +66 -0
- package/src/components/ContentPage/ContentPageContext.tsx +1 -1
- package/src/components/CreditCalculator/CreditCalculator.tsx +26 -87
- 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/Gallery/Gallery.mobile.tsx +2 -2
- package/src/components/Header/Header.mobile.tsx +1 -1
- package/src/components/ProductBlock/ProductBlock.example.json +11 -1
- package/src/components/ProductBlock/ProductBlock.fixture.mobile.tsx +57 -32
- package/src/components/ProductBlock/ProductBlock.fixture.tsx +57 -104
- package/src/components/ProductBlock/ProductBlockInner.mobile.tsx +5 -5
- package/src/components/ProductBlock/ProductBlockInner.tsx +4 -4
- package/src/hooks/useCreditCalculatorData.ts +3 -7
- package/src/hooks/useExchangeRates.ts +25 -0
- package/src/icons/GpsIcon.svg +8 -0
- package/src/icons/IconName.ts +3 -3
- package/src/model/InputTypes.ts +1 -0
- package/src/setup-fixture.ts +1 -1
- package/src/ui-kit/Button/Button.fixture.tsx +2 -6
- 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.tsx +27 -19
- package/src/ui-kit/SwipeListControl/SwipeListControlProps.ts +1 -0
|
@@ -1 +1 @@
|
|
|
1
|
-
{"$schema":"http://json-schema.org/draft-07/schema#","definitions":{"GalleryItem":{"type":"object","properties":{"title":{"type":"string"},"text":{"type":"string"}}},"GalleryCard":{"type":"object","properties":{"button":{"$ref":"#/definitions/ButtonWithIconProps","title":"Кнопка"},"title":{"type":"string","title":"Заголовок"},"description":{"type":"string","title":"Описание"},"image":{"$ref":"#/definitions/Picture"},"items":{"type":"array","items":{"$ref":"#/definitions/GalleryItem"},"title":"Список"},"version":{"$ref":"#/definitions/BlockVersion"}},"title":"Карточка"},"Picture":{"type":"object","properties":{"src":{"type":"string","title":"Картинка"},"format":{"type":"string","enum":["jpeg","jpg","png","gif","webp","heif","avif"],"title":"Формат"},"size":{"type":"object","properties":{"width":{"type":"number","title":"Ширина"},"height":{"type":"number","title":"Высота"}},"title":"Размер изображения"},"alt":{"type":"string","title":"Альтернативный текст (alt)"},"sources":{"type":"array","items":{"$ref":"#/definitions/ImgSource"},"title":"Другие форматы"},"className":{"type":"string"},"title":{"type":"string","title":"Текст подсказки (title)"}},"required":["src"],"title":"Изображение"},"Img":{"type":"object","properties":{"src":{"type":"string","title":"Картинка"},"alt":{"type":"string","title":"Альтернативный текст (alt)"},"title":{"type":"string","title":"Текст подсказки (title)"}},"required":["src"]},"ImgSource":{"type":"object","properties":{"src":{"type":"string","title":"Картинка"},"format":{"type":"string","enum":["jpeg","jpg","png","gif","webp","heif","avif"],"title":"Формат"},"size":{"type":"object","properties":{"width":{"type":"number","title":"Ширина"},"height":{"type":"number","title":"Высота"}},"title":"Размер изображения"}},"required":["src"]},"ButtonWithIconProps":{"type":"object","properties":{"rounded":{"type":"boolean","title":"Закругленные углы"},"version":{"$ref":"#/definitions/ButtonVersion"},"aboveText":{"type":"string","title":"Верхний текст"},"icon":{"$ref":"#/definitions/IconName","title":"Иконка"},"text":{"type":"string","title":"Текст","default":"Кнопка"},"href":{"type":"string","title":"URL (href)"},"target":{"$ref":"#/definitions/Target"}}},"ButtonProps":{"type":"object","properties":{"version":{"$ref":"#/definitions/ButtonVersion"},"text":{"type":"string","title":"Текст","default":"Кнопка"},"href":{"type":"string","title":"URL (href)"},"target":{"$ref":"#/definitions/Target"}}},"LinkProps":{"type":"object","properties":{"text":{"type":"string","title":"Текст"},"href":{"type":"string","title":"URL (href)"},"target":{"$ref":"#/definitions/Target"}},"title":"Ссылка","required":["text","href"]},"Target":{"type":"string","enum":["","_self","_blank","_parent","_top"],"title":"Таргет (target)","enumNames":["","self (текущее окно или фрейм)","blank (новое окно)","parent (фрейм-родитель)","top (текущее окно)"]},"ButtonVersion":{"type":"string","enum":["primary","secondary","link"],"title":"Цвет кнопки","default":"primary","enumNames":["Основная","Второстепенная"]},"IconName":{"type":"string","enum":["","ActualBalanceIcon","AppleIcon","AtmIcon","BankIcon","BurgerIcon","BurgerIconWhite","Calendar2Icon","CalendarCircleIcon","CalendarIcon","CalendarTickIcon","CalendarWhiteIcon","CardIcon","CardPosIcon","CardTickIcon","CardWithGemIcon","ChartSquareIcon","ClockIcon","CloseIcon","ComfortableCompIcon","CreditCardsIcon","DiscountShapeIcon","DocIcon","DocIconMonoColor","DocumentTextIcon","DollarIcon","EarthIcon","EmptyWalletChangeIcon","EmptyWalletIcon","EmptyWalletWhiteIcon","EuroIcon","GeolocationIcon","GlassIcon","GlobalIcon","GridIcon","GridIconWhite","InterestGrowthIcon","InterestIcon","JCBIcon","LoupeIcon","MasterCardIcon","MinusIcon","MirIcon","MoneyIcon","MoneyInsuranceIcon","MonitorMobileIcon","NewDocIcon","OfficeIcon","OkIcon","PassSendIcon","PercentageRoundIcon","PercentageSquareIcon","PercentageSquareWhiteIcon","PersonalCardIcon","PlayMarketIcon","PlusIcon","Profile2UserIcon","ProfileIcon","RoundRubleIcon","SafeIcon","ShieldTickIcon","SignDocsIcon","SmallClockIcon","TelegramIcon","UnionPayIcon","UserTickIcon","VisaIcon","VKIcon","WalletAdd2Icon","WalletAddIcon","WalletIcon","WalletWithMoneyIcon"],"title":"Иконка","enumNames":["","Деньги","Лого «Apple»","Банкомат","Банк","Бургер","Бургер (белый)","Календарь 2","Скруглённый календарь","Календарь","Календарь с галочкой","Календарь белый","Кред. карта","Кред. карта под наклоном","Кред. карта с галочкой","Карта с драгоценностями","Деньги внутри кошелька","Часы","Крестик","Кресло","Кредитные карты","Скидка","Документ","Документ (одноцветный)","Документ с текстом","Доллар","Земля","Пустой кошелёк с возвратом","Пустой кошелёк","Пустой кошелёк (белый)","Евро","Геолокация","Зеркало","Глобус","Сетка","Сетка (белая)","Диаграмма роста","Скидка","JCB","Лупа","MasterCard","Минус","МИР","Деньги","Денежное страхование","Монитор и мобильный","Новый документ","Офис","Лого «Одноклассники»","Бизнес","Проценты (круг.)","Проценты","Проценты белые","Персональная карта","Лого «PlayMarket»","Плюс","Профиль, 2 персоны","Профиль","Рубль (круг.)","Сейф","Безопасность","Подписанные документы","Маленькие часы","Лого «Telegram»","UnionPay","Пользователь","Visa","Лого «VK»","Пополнение карты","Кошелёк с плюсом","Кошелёк","Кошелёк с деньгами"]},"BlockVersion":{"type":"string","enum":["primary","secondary"],"title":"Цвет плитки","enumNames":["Основная","Второстепенная"]},"GalleryContent":{"type":"object","properties":{"isScroll":{"type":"boolean"},"title":{"type":"string","title":"Заголовок"},"description":{"type":"string","title":"Описание"},"cards":{"type":"array","items":{"$ref":"#/definitions/GalleryCard"},"title":"Карточки","minItems":4}},"title":"Галерея"},"DescriptionContent":{"type":"object","properties":{"description":{"type":"string","title":"Описание"}}},"HeadingType":{"type":"string","enum":["h1","h2","h3","h4","h5","h6"],"title":"Тип заголовка","enumNames":["h1","h2","h3","h4","h5","h6"]},"HeadingTypeContent":{"type":"object","properties":{"headingType":{"$ref":"#/definitions/HeadingType"}}},"HeadingContent":{"type":"object","properties":{"title":{"type":"string","title":"Заголовок"}}},"HeadlineContent":{"type":"object","properties":{"title":{"type":"string","title":"Заголовок"},"align":{"$ref":"#/definitions/AlignType"},"description":{"type":"string","title":"Описание"},"image":{"$ref":"#/definitions/Picture"},"bgColor":{"$ref":"#/definitions/BgColorVersion"}},"title":"Заголовок"},"ImageContent":{"type":"object","properties":{"image":{"$ref":"#/definitions/Picture"}}},"AlignType":{"type":"string","enum":["left","center","right"],"title":"Выравнивание","enumNames":["По левому краю","По центру","По правому краю"]},"BgColorVersion":{"type":"string","enum":["transparent","bg-white"],"title":"Цвет фона","enumNames":["Прозрачный","Белый"]},"LinkColumnsMode":{"type":"string","enum":["single","double"],"title":"Отображение списка","enumNames":["Одна колонка","Две колонки"]},"LinkListMode":{"type":"string","enum":["vertical","horizontal"],"title":"Отображение списка (моб.)","enumNames":["Вертикально","Горизонтально"]},"LinkDocsItem":{"type":"object","properties":{"text":{"type":"string","title":"Текст"},"fileSize":{"type":"string","title":"размер файла"},"href":{"type":"string","title":"URL (href)"},"target":{"$ref":"#/definitions/Target"}},"title":"Элемент списка"},"LinkDocsContent":{"type":"object","properties":{"title":{"type":"string","title":"Заголовок"},"subtitle":{"type":"string","title":"Подзаголовок"},"align":{"$ref":"#/definitions/AlignType"},"columnsMode":{"$ref":"#/definitions/LinkColumnsMode"},"listMode":{"$ref":"#/definitions/LinkListMode"},"hasBorder":{"type":"boolean","title":"Рамка элементов (моб.)"},"icon":{"$ref":"#/definitions/IconName","title":"Название иконки"},"documents":{"type":"array","items":{"$ref":"#/definitions/LinkDocsItem"},"title":"Список"}},"title":"Список документов"},"MiniGalleryContent":{"$ref":"#/definitions/GalleryContent","title":"Мини-галерея"},"TextBenefit":{"type":"object","properties":{"label":{"type":"string","title":"Название"},"description":{"type":"string","title":"Описание"}}},"Benefit":{"type":"object","properties":{"label":{"type":"string","title":"Название"},"description":{"type":"string","title":"Описание"},"icon":{"$ref":"#/definitions/IconName"}},"title":"Преимущество"},"BenefitsBlockContent":{"type":"object","properties":{"title":{"type":"string","title":"Заголовок"},"benefits":{"type":"array","items":{"$ref":"#/definitions/Benefit"},"title":"Список преимуществ","maxItems":6}},"title":"Блок преимущества"},"TitleWithImageContent":{"type":"object","properties":{"title":{"type":"string","title":"Заголовок"},"image":{"$ref":"#/definitions/Picture"}}},"PictureTextContent":{"type":"object","properties":{"title":{"type":"string","title":"Заголовок"},"image":{"$ref":"#/definitions/Picture"},"benefits":{"type":"array","items":{"$ref":"#/definitions/Benefit"},"title":"Список преимуществ"}},"title":"Картинка с текстом"},"ProductTileContent":{"type":"object","properties":{"title":{"type":"string","title":"Заголовок"},"description":{"type":"string","title":"Описание"},"image":{"$ref":"#/definitions/Picture"},"benefits":{"type":"array","items":{"$ref":"#/definitions/TextBenefit"},"title":"Преимущества","maxItems":7},"buttons":{"type":"array","items":{"$ref":"#/definitions/ButtonWithIconProps"},"title":"Кнопки","maxItems":4},"version":{"$ref":"#/definitions/BlockVersion"}},"title":"Продуктовая плитка"},"ButtonContent":{"type":"object","properties":{"buttons":{"type":"array","items":{"$ref":"#/definitions/ButtonWithIconProps"},"title":"Кнопки","maxItems":4}}},"TextBlockVersion":{"type":"string","enum":["primary","secondary","secondary-light"],"title":"Цвет плитки","enumNames":["Основная","Второстепенная","Второстепенная прозрачная"]},"TextBlockIconVersion":{"type":"string","enum":["none","small","big"],"title":"Размер иконки","enumNames":["Нет","Маленькая","Большая"]},"TextBlockContent":{"type":"object","properties":{"isDotted":{"type":"boolean","title":"Маркеры списка (моб.)"},"title":{"type":"string","title":"Заголовок"},"description":{"type":"string","title":"Описание"},"image":{"$ref":"#/definitions/Picture"},"items":{"type":"array","items":{"type":"string"},"title":"Список (моб.)"},"iconVersion":{"$ref":"#/definitions/TextBlockIconVersion"},"blockVersion":{"$ref":"#/definitions/TextBlockVersion"}},"title":"Текстовый блок"},"ListContent":{"type":"object","properties":{"items":{"type":"array","items":{"type":"string"},"title":"Список"}}},"TileContent":{"type":"object","properties":{"title":{"type":"string","title":"Заголовок"},"description":{"type":"string","title":"Описание"},"image":{"$ref":"#/definitions/Picture"},"items":{"type":"array","items":{"type":"string"},"title":"Список"},"buttons":{"type":"array","items":{"$ref":"#/definitions/ButtonWithIconProps"},"title":"Кнопки","maxItems":4},"version":{"$ref":"#/definitions/BlockVersion"}},"title":"Плитка"},"LinkListContent":{"type":"object","properties":{"documents":{"type":"array","items":{"$ref":"#/definitions/LinkProps"},"title":"Список"}},"title":"Список документов"},"AccordionBlockType":{"type":"string","enum":["Headline","LinkDocs","TextBlock","PictureText","Tile","ProductTile","Gallery","MiniGallery","LinkList"],"title":"Тип блока"},"HeadlineAccordionBlockDef":{"type":"object","properties":{"accordionBlockType":{"$ref":"#/definitions/AccordionBlockType"},"title":{"type":"string","title":"Заголовок"},"align":{"$ref":"#/definitions/AlignType"},"description":{"type":"string","title":"Описание"},"image":{"$ref":"#/definitions/Picture"},"bgColor":{"$ref":"#/definitions/BgColorVersion"}},"required":["accordionBlockType"],"title":"Заголовок"},"LinkDocsAccordionBlockDef":{"type":"object","properties":{"accordionBlockType":{"$ref":"#/definitions/AccordionBlockType"},"title":{"type":"string","title":"Заголовок"},"subtitle":{"type":"string","title":"Подзаголовок"},"align":{"$ref":"#/definitions/AlignType"},"columnsMode":{"$ref":"#/definitions/LinkColumnsMode"},"listMode":{"$ref":"#/definitions/LinkListMode"},"hasBorder":{"type":"boolean","title":"Рамка элементов (моб.)"},"icon":{"$ref":"#/definitions/IconName","title":"Название иконки"},"documents":{"type":"array","items":{"$ref":"#/definitions/LinkDocsItem"},"title":"Список"}},"required":["accordionBlockType"],"title":"Список документов"},"TextBlockAccordionBlockDef":{"type":"object","properties":{"accordionBlockType":{"$ref":"#/definitions/AccordionBlockType"},"isDotted":{"type":"boolean","title":"Маркеры списка (моб.)"},"title":{"type":"string","title":"Заголовок"},"description":{"type":"string","title":"Описание"},"image":{"$ref":"#/definitions/Picture"},"items":{"type":"array","items":{"type":"string"},"title":"Список (моб.)"},"iconVersion":{"$ref":"#/definitions/TextBlockIconVersion"},"blockVersion":{"$ref":"#/definitions/TextBlockVersion"}},"required":["accordionBlockType"],"title":"Текстовый блок"},"PictureTextAccordionBlockDef":{"type":"object","properties":{"accordionBlockType":{"$ref":"#/definitions/AccordionBlockType"},"title":{"type":"string","title":"Заголовок"},"image":{"$ref":"#/definitions/Picture"},"benefits":{"type":"array","items":{"$ref":"#/definitions/Benefit"},"title":"Список преимуществ"}},"required":["accordionBlockType"],"title":"Картинка с текстом"},"TileAccordionBlockDef":{"type":"object","properties":{"accordionBlockType":{"$ref":"#/definitions/AccordionBlockType"},"title":{"type":"string","title":"Заголовок"},"description":{"type":"string","title":"Описание"},"image":{"$ref":"#/definitions/Picture"},"items":{"type":"array","items":{"type":"string"},"title":"Список"},"buttons":{"type":"array","items":{"$ref":"#/definitions/ButtonWithIconProps"},"title":"Кнопки","maxItems":4},"version":{"$ref":"#/definitions/BlockVersion"}},"required":["accordionBlockType"],"title":"Плитка"},"ProductTileAccordionBlockDef":{"type":"object","properties":{"accordionBlockType":{"$ref":"#/definitions/AccordionBlockType"},"title":{"type":"string","title":"Заголовок"},"description":{"type":"string","title":"Описание"},"image":{"$ref":"#/definitions/Picture"},"benefits":{"type":"array","items":{"$ref":"#/definitions/TextBenefit"},"title":"Преимущества","maxItems":7},"buttons":{"type":"array","items":{"$ref":"#/definitions/ButtonWithIconProps"},"title":"Кнопки","maxItems":4},"version":{"$ref":"#/definitions/BlockVersion"}},"required":["accordionBlockType"],"title":"Продуктовая плитка"},"GalleryAccordionBlockDef":{"type":"object","properties":{"accordionBlockType":{"$ref":"#/definitions/AccordionBlockType"},"isScroll":{"type":"boolean"},"title":{"type":"string","title":"Заголовок"},"description":{"type":"string","title":"Описание"},"cards":{"type":"array","items":{"$ref":"#/definitions/GalleryCard"},"title":"Карточки","minItems":4}},"required":["accordionBlockType"],"title":"Галлерея"},"MiniGalleryAccordionBlockDef":{"type":"object","properties":{"accordionBlockType":{"$ref":"#/definitions/AccordionBlockType"},"isScroll":{"type":"boolean"},"title":{"type":"string","title":"Заголовок"},"description":{"type":"string","title":"Описание"},"cards":{"type":"array","items":{"$ref":"#/definitions/GalleryCard"},"title":"Карточки","minItems":4}},"required":["accordionBlockType"],"title":"Мини-галлерея"},"LinkListAccordionBlockDef":{"type":"object","properties":{"accordionBlockType":{"$ref":"#/definitions/AccordionBlockType"},"documents":{"type":"array","items":{"$ref":"#/definitions/LinkProps"},"title":"Список"}},"required":["accordionBlockType"],"title":"Список ссылок"},"EmptyOption":{"type":"null","title":"Выберите блок"},"AccordionBlockProps":{"anyOf":[{"$ref":"#/definitions/EmptyOption"},{"$ref":"#/definitions/HeadlineAccordionBlockDef"},{"$ref":"#/definitions/LinkDocsAccordionBlockDef"},{"$ref":"#/definitions/TextBlockAccordionBlockDef"},{"$ref":"#/definitions/PictureTextAccordionBlockDef"},{"$ref":"#/definitions/TileAccordionBlockDef"},{"$ref":"#/definitions/ProductTileAccordionBlockDef"},{"$ref":"#/definitions/GalleryAccordionBlockDef"},{"$ref":"#/definitions/MiniGalleryAccordionBlockDef"},{"$ref":"#/definitions/LinkListAccordionBlockDef"}],"title":"Содержимое аккордеона"},"AccordionItemCommonProps":{"type":"object","properties":{"label":{"type":"string","title":"Название","default":"Список"},"blocks":{"type":"array","items":{"$ref":"#/definitions/AccordionBlockProps"},"title":"Блоки"},"bordered":{"type":"boolean","title":"Отображать/скрывать обводку элемента","default":false}},"title":"Элемент списка"},"AccordionContent":{"type":"object","properties":{"bordered":{"type":"boolean","title":"Отображать/скрывать обводку у элемента списка","default":false},"title":{"type":"string","title":"Заголовок"},"description":{"type":"string","title":"Подзаголовок"},"accordionItems":{"type":"array","items":{"$ref":"#/definitions/AccordionItemCommonProps"},"title":"Список"}},"title":"Аккордеон"},"CellData":{"type":"object","properties":{"label":{"type":"string","title":"Заголовок"},"description":{"type":"string","title":"Описание"}},"title":"Ячейка"},"ColumnHeader":{"type":"object","properties":{"link":{"$ref":"#/definitions/LinkProps"},"title":{"type":"string","title":"Заголовок"},"image":{"$ref":"#/definitions/Picture"},"icon":{"$ref":"#/definitions/IconName"}},"title":"Шапка колонки"},"Column":{"type":"object","properties":{"header":{"$ref":"#/definitions/ColumnHeader"},"data":{"type":"array","items":{"type":"array","items":{"$ref":"#/definitions/CellData"}},"title":"Данные"}},"title":"Продукт"},"RowHeader":{"type":"object","properties":{"title":{"type":"string","title":"Заголовок"}},"title":"Параметр"},"ComparisonTableContent":{"type":"object","properties":{"title":{"type":"string","title":"Заголовок"},"rowHeaders":{"type":"array","items":{"$ref":"#/definitions/RowHeader"},"title":"Параметры"},"columns":{"type":"array","items":{"$ref":"#/definitions/Column"},"title":"Продукты"},"isColoredFirstColumn":{"type":"boolean","title":"Закрасить первую колонку"},"visibleRowLength":{"type":"number","title":"Отображать заданное количество строк"}},"title":"Сравнительная таблица"},"ExchangeRateTileContent":{"$ref":"#/definitions/HeadingContent","title":"Курсы валют"},"ContactType":{"type":"string","enum":["tel","email"],"title":"Тип контакта","enumNames":["Телефон","Почта"]},"ContactInfo":{"type":"object","properties":{"type":{"$ref":"#/definitions/ContactType"},"description":{"type":"string","title":"Описание"},"text":{"type":"string","title":"Текст"}},"title":"Контакт"},"SocialMedia":{"type":"object","properties":{"href":{"type":"string","title":"URL (href)"},"target":{"$ref":"#/definitions/Target"}},"required":["href"]},"SubMenuItem":{"type":"object","properties":{"icon":{"$ref":"#/definitions/IconName"},"text":{"type":"string","title":"Текст"},"href":{"type":"string","title":"URL (href)"},"target":{"$ref":"#/definitions/Target"}},"title":"Пункт подменю"},"FooterContent":{"type":"object","properties":{"topItems":{"type":"array","items":{"$ref":"#/definitions/TopMenuItem"},"title":"Дополнительное меню"},"relatedEnterprises":{"type":"array","items":{"$ref":"#/definitions/LinkProps"},"title":"Другие предприятия"},"contacts":{"type":"array","items":{"$ref":"#/definitions/ContactInfo"},"title":"Контакты"},"socialMedia":{"type":"array","items":{"$ref":"#/definitions/SocialMedia"},"title":"Социальные сети"},"horizontalNavigationTitle":{"type":"string","title":"Заголовок для меню"},"subMenu":{"type":"array","items":{"$ref":"#/definitions/SubMenuItem"},"title":"Подменю"},"documents":{"type":"array","items":{"$ref":"#/definitions/LinkProps"},"title":"Обязательные документы"}},"title":"Подвал","required":["topItems"]},"SitemapProps":{"type":"object","properties":{"topItems":{"type":"array","items":{"$ref":"#/definitions/TopMenuItem"},"title":"Дополнительное меню"}}},"TopMenuItem":{"type":"object","properties":{"text":{"type":"string","title":"Текст"},"href":{"type":"string","title":"URL (href)"},"target":{"$ref":"#/definitions/Target"}},"title":"Ссылка","required":["text","href"]},"HeaderContent":{"type":"object","properties":{"topItems":{"type":"array","items":{"$ref":"#/definitions/TopMenuItem"},"title":"Дополнительное меню"},"defaultLocation":{"type":"string","title":"Город по-умолчанию","default":"Москва"},"burgerSubMenu":{"type":"array","items":{"$ref":"#/definitions/SubMenuItem"},"title":"Подменю"}},"title":"Шапка","required":["defaultLocation","topItems"]},"QRCode":{"type":"object","properties":{"src":{"type":"string","title":"QR код"},"href":{"type":"string","title":"Ссылка"}},"title":"QR код"},"MobileAppTileContent":{"type":"object","properties":{"title":{"type":"string","title":"Заголовок"},"description":{"type":"string","title":"Описание"},"qr":{"$ref":"#/definitions/QRCode"},"buttons":{"type":"array","items":{"$ref":"#/definitions/ButtonWithIconProps"},"title":"Кнопки","maxItems":4},"href":{"type":"string","title":"Ссылка"}},"title":"Мобильное приложение"},"NavigationContent":{"type":"object","properties":{"title":{"type":"string","title":"Заголовок"},"buttons":{"type":"array","items":{"$ref":"#/definitions/ButtonProps"},"title":"Список ссылок"}},"title":"Навигация"},"ProductBlockInnerContent":{"type":"object","properties":{"headingType":{"$ref":"#/definitions/HeadingType"},"title":{"type":"string","title":"Заголовок"},"description":{"type":"string","title":"Описание"},"image":{"$ref":"#/definitions/Picture"},"benefits":{"type":"array","items":{"$ref":"#/definitions/Benefit"},"title":"Преимущества","minItems":2,"maxItems":3},"items":{"type":"array","items":{"type":"string"},"title":"Список"},"buttons":{"type":"array","items":{"$ref":"#/definitions/ButtonWithIconProps"},"title":"Кнопки","maxItems":4},"version":{"$ref":"#/definitions/BlockVersion"}}},"ProductBlockContent":{"type":"object","properties":{"headingType":{"$ref":"#/definitions/HeadingType"},"title":{"type":"string","title":"Заголовок"},"description":{"type":"string","title":"Описание"},"image":{"$ref":"#/definitions/Picture"},"breadcrumbs":{"type":"array","items":{"$ref":"#/definitions/LinkProps"},"title":"Хлебные крошки"},"benefits":{"type":"array","items":{"$ref":"#/definitions/Benefit"},"title":"Преимущества","minItems":2,"maxItems":3},"items":{"type":"array","items":{"type":"string"},"title":"Список"},"buttons":{"type":"array","items":{"$ref":"#/definitions/ButtonWithIconProps"},"title":"Кнопки","maxItems":4},"version":{"$ref":"#/definitions/BlockVersion"}},"title":"Продуктовый блок"},"ProductSlide":{"type":"object","properties":{"nav":{"type":"object","properties":{"title":{"type":"string","title":"Заголовок"},"desc":{"type":"string","title":"Описание"}},"required":["title","desc"],"title":"Превью содержимого слайда на навигации"},"productBlock":{"$ref":"#/definitions/ProductBlockInnerContent","title":"Содержимое слайда"}},"required":["productBlock"],"title":"Слайд"},"ProductGalleryContent":{"type":"object","properties":{"slides":{"type":"array","items":{"$ref":"#/definitions/ProductSlide"},"title":"Слайды"}},"title":"Продуктовая галерея"},"PromoTileContent":{"type":"object","properties":{"date":{"type":"string","title":"Дата публикации"},"title":{"type":"string","title":"Заголовок"},"description":{"type":"string","title":"Описание"},"buttons":{"type":"array","items":{"$ref":"#/definitions/ButtonWithIconProps"},"title":"Кнопки","maxItems":4},"version":{"$ref":"#/definitions/BlockVersion"}},"title":"Акции"},"Step":{"type":"object","properties":{"label":{"type":"string","title":"Название"},"description":{"type":"string","title":"Описание"},"icon":{"$ref":"#/definitions/IconName"}},"title":"Шаг"},"StepsBlockContent":{"type":"object","properties":{"showLines":{"type":"boolean","title":"Линии"},"size":{"$ref":"#/definitions/SizeVersion"},"title":{"type":"string","title":"Заголовок"},"description":{"type":"string","title":"Описание"},"steps":{"type":"array","items":{"$ref":"#/definitions/Step"},"title":"Шаги","minItems":2,"maxItems":3}},"title":"Блок шаги"},"SizeVersion":{"type":"string","enum":["normal","small"],"title":"Размер","enumNames":["Обычный","Уменьшенный"]},"TariffsTableRowData":{"type":"object","properties":{"header":{"$ref":"#/definitions/TariffsTableRowHeader"},"data":{"type":"array","items":{"type":"array","items":{"$ref":"#/definitions/TariffsTableCellData"}}}},"required":["header","data"],"title":"Ряд"},"TariffsTableRowHeader":{"type":"object","properties":{"title":{"type":"string","title":"Заголовок"},"icon":{"$ref":"#/definitions/IconName"}},"title":"Параметр"},"TariffsTableCellData":{"type":"object","properties":{"label":{"type":"string","title":"Заголовок"},"list":{"$ref":"#/definitions/TariffsTableList"},"description":{"type":"string","title":"Описание"},"image":{"$ref":"#/definitions/Picture"},"buttons":{"type":"array","items":{"$ref":"#/definitions/ButtonWithIconProps"},"title":"Кнопки"}},"title":"Ячейка"},"TariffsTableList":{"type":"object","properties":{"isDotted":{"type":"boolean","title":"Маркеры"},"items":{"type":"array","items":{"type":"string"},"title":"Элементы списка"}},"title":"Список"},"TariffsTableColumn":{"type":"object","properties":{"data":{"type":"array","items":{"type":"array","items":{"$ref":"#/definitions/TariffsTableCellData"}},"title":"Данные"}},"title":"Колонка"},"TariffsTableContent":{"type":"object","properties":{"title":{"type":"string","title":"Заголовок"},"rowHeaders":{"type":"array","items":{"$ref":"#/definitions/TariffsTableRowHeader"},"title":"Параметры"},"columns":{"type":"array","items":{"$ref":"#/definitions/TariffsTableColumn"},"title":"Колонки"}},"title":"Таблица тарифов"},"CalculatorParams":{"type":"object","properties":{"isAnnuity":{"type":"boolean"},"minSum":{"type":"number"},"maxSum":{"type":"number"},"minMonths":{"type":"number"},"maxMonths":{"type":"number"},"rateWithInsurance":{"type":"number"},"rateWithoutInsurance":{"type":"number"}}},"CreditCalculatorData":{"type":"object","properties":{"rows":{"type":"array","items":{"$ref":"#/definitions/CalculatorParams"}}}},"CreditCalculatorContent":{"type":"object","properties":{"directoryName":{"type":"string","title":"Справочник"}},"title":"Кредитный калькулятор"}}}
|
|
1
|
+
{"$schema":"http://json-schema.org/draft-07/schema#","definitions":{"GalleryItem":{"type":"object","properties":{"title":{"type":"string"},"text":{"type":"string"}}},"GalleryCard":{"type":"object","properties":{"button":{"$ref":"#/definitions/ButtonWithIconProps","title":"Кнопка"},"title":{"type":"string","title":"Заголовок"},"description":{"type":"string","title":"Описание"},"image":{"$ref":"#/definitions/Picture"},"items":{"type":"array","items":{"$ref":"#/definitions/GalleryItem"},"title":"Список"},"version":{"$ref":"#/definitions/BlockVersion"}},"title":"Карточка"},"Picture":{"type":"object","properties":{"src":{"type":"string","title":"Картинка"},"format":{"type":"string","enum":["jpeg","jpg","png","gif","webp","heif","avif"],"title":"Формат"},"size":{"type":"object","properties":{"width":{"type":"number","title":"Ширина"},"height":{"type":"number","title":"Высота"}},"title":"Размер изображения"},"alt":{"type":"string","title":"Альтернативный текст (alt)"},"sources":{"type":"array","items":{"$ref":"#/definitions/ImgSource"},"title":"Другие форматы"},"className":{"type":"string"},"title":{"type":"string","title":"Текст подсказки (title)"}},"required":["src"],"title":"Изображение"},"Img":{"type":"object","properties":{"src":{"type":"string","title":"Картинка"},"alt":{"type":"string","title":"Альтернативный текст (alt)"},"title":{"type":"string","title":"Текст подсказки (title)"}},"required":["src"]},"ImgSource":{"type":"object","properties":{"src":{"type":"string","title":"Картинка"},"format":{"type":"string","enum":["jpeg","jpg","png","gif","webp","heif","avif"],"title":"Формат"},"size":{"type":"object","properties":{"width":{"type":"number","title":"Ширина"},"height":{"type":"number","title":"Высота"}},"title":"Размер изображения"}},"required":["src"]},"ButtonWithIconProps":{"type":"object","properties":{"rounded":{"type":"boolean","title":"Закругленные углы"},"version":{"$ref":"#/definitions/ButtonVersion"},"aboveText":{"type":"string","title":"Верхний текст"},"icon":{"$ref":"#/definitions/IconName","title":"Иконка"},"text":{"type":"string","title":"Текст","default":"Кнопка"},"href":{"type":"string","title":"URL (href)"},"target":{"$ref":"#/definitions/Target"}}},"ButtonProps":{"type":"object","properties":{"version":{"$ref":"#/definitions/ButtonVersion"},"text":{"type":"string","title":"Текст","default":"Кнопка"},"href":{"type":"string","title":"URL (href)"},"target":{"$ref":"#/definitions/Target"}}},"LinkProps":{"type":"object","properties":{"text":{"type":"string","title":"Текст"},"href":{"type":"string","title":"URL (href)"},"target":{"$ref":"#/definitions/Target"}},"title":"Ссылка","required":["text","href"]},"Target":{"type":"string","enum":["","_self","_blank","_parent","_top"],"title":"Таргет (target)","enumNames":["","self (текущее окно или фрейм)","blank (новое окно)","parent (фрейм-родитель)","top (текущее окно)"]},"ButtonVersion":{"type":"string","enum":["primary","secondary","link"],"title":"Цвет кнопки","default":"primary","enumNames":["Основная","Второстепенная"]},"IconName":{"type":"string","enum":["","ActualBalanceIcon","AppleIcon","AtmIcon","BankIcon","BurgerIcon","BurgerIconWhite","Calendar2Icon","CalendarCircleIcon","CalendarIcon","CalendarTickIcon","CalendarWhiteIcon","CardIcon","CardPosIcon","CardTickIcon","CardWithGemIcon","ChartSquareIcon","ClockIcon","CloseIcon","ComfortableCompIcon","CreditCardsIcon","DiscountShapeIcon","DocIcon","DocIconMonoColor","DocumentTextIcon","DollarIcon","EarthIcon","EmptyWalletChangeIcon","EmptyWalletIcon","EmptyWalletWhiteIcon","EuroIcon","GeolocationIcon","GlassIcon","GlobalIcon","GpsIcon","GridIcon","GridIconWhite","InterestGrowthIcon","InterestIcon","JCBIcon","LoupeIcon","MasterCardIcon","MinusIcon","MirIcon","MoneyIcon","MoneyInsuranceIcon","MonitorMobileIcon","NewDocIcon","OfficeIcon","OkIcon","PassSendIcon","PercentageRoundIcon","PercentageSquareIcon","PercentageSquareWhiteIcon","PersonalCardIcon","PlayMarketIcon","PlusIcon","Profile2UserIcon","ProfileIcon","RoundRubleIcon","SafeIcon","ShieldTickIcon","SignDocsIcon","SmallClockIcon","TelegramIcon","UnionPayIcon","UserTickIcon","VisaIcon","VKIcon","WalletAdd2Icon","WalletAddIcon","WalletIcon","WalletWithMoneyIcon"],"title":"Иконка","enumNames":["","Деньги","Лого «Apple»","Банкомат","Банк","Бургер","Бургер (белый)","Календарь 2","Скруглённый календарь","Календарь","Календарь с галочкой","Календарь белый","Кред. карта","Кред. карта под наклоном","Кред. карта с галочкой","Карта с драгоценностями","Деньги внутри кошелька","Часы","Крестик","Кресло","Кредитные карты","Скидка","Документ","Документ (одноцветный)","Документ с текстом","Доллар","Земля","Пустой кошелёк с возвратом","Пустой кошелёк","Пустой кошелёк (белый)","Евро","Геолокация","Зеркало","Глобус","Gps","Сетка","Сетка (белая)","Диаграмма роста","Скидка","JCB","Лупа","MasterCard","Минус","МИР","Деньги","Денежное страхование","Монитор и мобильный","Новый документ","Офис","Лого «Одноклассники»","Бизнес","Проценты (круг.)","Проценты","Проценты белые","Персональная карта","Лого «PlayMarket»","Плюс","Профиль, 2 персоны","Профиль","Рубль (круг.)","Сейф","Безопасность","Подписанные документы","Маленькие часы","Лого «Telegram»","UnionPay","Пользователь","Visa","Лого «VK»","Пополнение карты","Кошелёк с плюсом","Кошелёк","Кошелёк с деньгами"]},"BlockVersion":{"type":"string","enum":["primary","secondary"],"title":"Цвет плитки","enumNames":["Основная","Второстепенная"]},"GalleryContent":{"type":"object","properties":{"isScroll":{"type":"boolean"},"title":{"type":"string","title":"Заголовок"},"description":{"type":"string","title":"Описание"},"cards":{"type":"array","items":{"$ref":"#/definitions/GalleryCard"},"title":"Карточки","minItems":4}},"title":"Галерея"},"DescriptionContent":{"type":"object","properties":{"description":{"type":"string","title":"Описание"}}},"HeadingType":{"type":"string","enum":["h1","h2","h3","h4","h5","h6"],"title":"Тип заголовка","enumNames":["h1","h2","h3","h4","h5","h6"]},"HeadingTypeContent":{"type":"object","properties":{"headingType":{"$ref":"#/definitions/HeadingType"}}},"HeadingContent":{"type":"object","properties":{"title":{"type":"string","title":"Заголовок"}}},"HeadlineContent":{"type":"object","properties":{"title":{"type":"string","title":"Заголовок"},"align":{"$ref":"#/definitions/AlignType"},"description":{"type":"string","title":"Описание"},"image":{"$ref":"#/definitions/Picture"},"bgColor":{"$ref":"#/definitions/BgColorVersion"}},"title":"Заголовок"},"ImageContent":{"type":"object","properties":{"image":{"$ref":"#/definitions/Picture"}}},"AlignType":{"type":"string","enum":["left","center","right"],"title":"Выравнивание","enumNames":["По левому краю","По центру","По правому краю"]},"BgColorVersion":{"type":"string","enum":["transparent","bg-white"],"title":"Цвет фона","enumNames":["Прозрачный","Белый"]},"LinkColumnsMode":{"type":"string","enum":["single","double"],"title":"Отображение списка","enumNames":["Одна колонка","Две колонки"]},"LinkListMode":{"type":"string","enum":["vertical","horizontal"],"title":"Отображение списка (моб.)","enumNames":["Вертикально","Горизонтально"]},"LinkDocsItem":{"type":"object","properties":{"text":{"type":"string","title":"Текст"},"fileSize":{"type":"string","title":"размер файла"},"href":{"type":"string","title":"URL (href)"},"target":{"$ref":"#/definitions/Target"}},"title":"Элемент списка"},"LinkDocsContent":{"type":"object","properties":{"title":{"type":"string","title":"Заголовок"},"subtitle":{"type":"string","title":"Подзаголовок"},"align":{"$ref":"#/definitions/AlignType"},"columnsMode":{"$ref":"#/definitions/LinkColumnsMode"},"listMode":{"$ref":"#/definitions/LinkListMode"},"hasBorder":{"type":"boolean","title":"Рамка элементов (моб.)"},"icon":{"$ref":"#/definitions/IconName","title":"Название иконки"},"documents":{"type":"array","items":{"$ref":"#/definitions/LinkDocsItem"},"title":"Список"}},"title":"Список документов"},"MiniGalleryContent":{"$ref":"#/definitions/GalleryContent","title":"Мини-галерея"},"TextBenefit":{"type":"object","properties":{"label":{"type":"string","title":"Название"},"description":{"type":"string","title":"Описание"}}},"Benefit":{"type":"object","properties":{"label":{"type":"string","title":"Название"},"description":{"type":"string","title":"Описание"},"icon":{"$ref":"#/definitions/IconName"}},"title":"Преимущество"},"BenefitsBlockContent":{"type":"object","properties":{"title":{"type":"string","title":"Заголовок"},"benefits":{"type":"array","items":{"$ref":"#/definitions/Benefit"},"title":"Список преимуществ","maxItems":6}},"title":"Блок преимущества"},"TitleWithImageContent":{"type":"object","properties":{"title":{"type":"string","title":"Заголовок"},"image":{"$ref":"#/definitions/Picture"}}},"PictureTextContent":{"type":"object","properties":{"title":{"type":"string","title":"Заголовок"},"image":{"$ref":"#/definitions/Picture"},"benefits":{"type":"array","items":{"$ref":"#/definitions/Benefit"},"title":"Список преимуществ"}},"title":"Картинка с текстом"},"ProductTileContent":{"type":"object","properties":{"title":{"type":"string","title":"Заголовок"},"description":{"type":"string","title":"Описание"},"image":{"$ref":"#/definitions/Picture"},"benefits":{"type":"array","items":{"$ref":"#/definitions/TextBenefit"},"title":"Преимущества","maxItems":7},"buttons":{"type":"array","items":{"$ref":"#/definitions/ButtonWithIconProps"},"title":"Кнопки","maxItems":4},"version":{"$ref":"#/definitions/BlockVersion"}},"title":"Продуктовая плитка"},"ButtonContent":{"type":"object","properties":{"buttons":{"type":"array","items":{"$ref":"#/definitions/ButtonWithIconProps"},"title":"Кнопки","maxItems":4}}},"TextBlockVersion":{"type":"string","enum":["primary","secondary","secondary-light"],"title":"Цвет плитки","enumNames":["Основная","Второстепенная","Второстепенная прозрачная"]},"TextBlockIconVersion":{"type":"string","enum":["none","small","big"],"title":"Размер иконки","enumNames":["Нет","Маленькая","Большая"]},"TextBlockContent":{"type":"object","properties":{"isDotted":{"type":"boolean","title":"Маркеры списка (моб.)"},"title":{"type":"string","title":"Заголовок"},"description":{"type":"string","title":"Описание"},"image":{"$ref":"#/definitions/Picture"},"items":{"type":"array","items":{"type":"string"},"title":"Список (моб.)"},"iconVersion":{"$ref":"#/definitions/TextBlockIconVersion"},"blockVersion":{"$ref":"#/definitions/TextBlockVersion"}},"title":"Текстовый блок"},"ListContent":{"type":"object","properties":{"items":{"type":"array","items":{"type":"string"},"title":"Список"}}},"TileContent":{"type":"object","properties":{"title":{"type":"string","title":"Заголовок"},"description":{"type":"string","title":"Описание"},"image":{"$ref":"#/definitions/Picture"},"items":{"type":"array","items":{"type":"string"},"title":"Список"},"buttons":{"type":"array","items":{"$ref":"#/definitions/ButtonWithIconProps"},"title":"Кнопки","maxItems":4},"version":{"$ref":"#/definitions/BlockVersion"}},"title":"Плитка"},"LinkListContent":{"type":"object","properties":{"documents":{"type":"array","items":{"$ref":"#/definitions/LinkProps"},"title":"Список"}},"title":"Список документов"},"AccordionBlockType":{"type":"string","enum":["Headline","LinkDocs","TextBlock","PictureText","Tile","ProductTile","Gallery","MiniGallery","LinkList"],"title":"Тип блока"},"HeadlineAccordionBlockDef":{"type":"object","properties":{"accordionBlockType":{"$ref":"#/definitions/AccordionBlockType"},"title":{"type":"string","title":"Заголовок"},"align":{"$ref":"#/definitions/AlignType"},"description":{"type":"string","title":"Описание"},"image":{"$ref":"#/definitions/Picture"},"bgColor":{"$ref":"#/definitions/BgColorVersion"}},"required":["accordionBlockType"],"title":"Заголовок"},"LinkDocsAccordionBlockDef":{"type":"object","properties":{"accordionBlockType":{"$ref":"#/definitions/AccordionBlockType"},"title":{"type":"string","title":"Заголовок"},"subtitle":{"type":"string","title":"Подзаголовок"},"align":{"$ref":"#/definitions/AlignType"},"columnsMode":{"$ref":"#/definitions/LinkColumnsMode"},"listMode":{"$ref":"#/definitions/LinkListMode"},"hasBorder":{"type":"boolean","title":"Рамка элементов (моб.)"},"icon":{"$ref":"#/definitions/IconName","title":"Название иконки"},"documents":{"type":"array","items":{"$ref":"#/definitions/LinkDocsItem"},"title":"Список"}},"required":["accordionBlockType"],"title":"Список документов"},"TextBlockAccordionBlockDef":{"type":"object","properties":{"accordionBlockType":{"$ref":"#/definitions/AccordionBlockType"},"isDotted":{"type":"boolean","title":"Маркеры списка (моб.)"},"title":{"type":"string","title":"Заголовок"},"description":{"type":"string","title":"Описание"},"image":{"$ref":"#/definitions/Picture"},"items":{"type":"array","items":{"type":"string"},"title":"Список (моб.)"},"iconVersion":{"$ref":"#/definitions/TextBlockIconVersion"},"blockVersion":{"$ref":"#/definitions/TextBlockVersion"}},"required":["accordionBlockType"],"title":"Текстовый блок"},"PictureTextAccordionBlockDef":{"type":"object","properties":{"accordionBlockType":{"$ref":"#/definitions/AccordionBlockType"},"title":{"type":"string","title":"Заголовок"},"image":{"$ref":"#/definitions/Picture"},"benefits":{"type":"array","items":{"$ref":"#/definitions/Benefit"},"title":"Список преимуществ"}},"required":["accordionBlockType"],"title":"Картинка с текстом"},"TileAccordionBlockDef":{"type":"object","properties":{"accordionBlockType":{"$ref":"#/definitions/AccordionBlockType"},"title":{"type":"string","title":"Заголовок"},"description":{"type":"string","title":"Описание"},"image":{"$ref":"#/definitions/Picture"},"items":{"type":"array","items":{"type":"string"},"title":"Список"},"buttons":{"type":"array","items":{"$ref":"#/definitions/ButtonWithIconProps"},"title":"Кнопки","maxItems":4},"version":{"$ref":"#/definitions/BlockVersion"}},"required":["accordionBlockType"],"title":"Плитка"},"ProductTileAccordionBlockDef":{"type":"object","properties":{"accordionBlockType":{"$ref":"#/definitions/AccordionBlockType"},"title":{"type":"string","title":"Заголовок"},"description":{"type":"string","title":"Описание"},"image":{"$ref":"#/definitions/Picture"},"benefits":{"type":"array","items":{"$ref":"#/definitions/TextBenefit"},"title":"Преимущества","maxItems":7},"buttons":{"type":"array","items":{"$ref":"#/definitions/ButtonWithIconProps"},"title":"Кнопки","maxItems":4},"version":{"$ref":"#/definitions/BlockVersion"}},"required":["accordionBlockType"],"title":"Продуктовая плитка"},"GalleryAccordionBlockDef":{"type":"object","properties":{"accordionBlockType":{"$ref":"#/definitions/AccordionBlockType"},"isScroll":{"type":"boolean"},"title":{"type":"string","title":"Заголовок"},"description":{"type":"string","title":"Описание"},"cards":{"type":"array","items":{"$ref":"#/definitions/GalleryCard"},"title":"Карточки","minItems":4}},"required":["accordionBlockType"],"title":"Галлерея"},"MiniGalleryAccordionBlockDef":{"type":"object","properties":{"accordionBlockType":{"$ref":"#/definitions/AccordionBlockType"},"isScroll":{"type":"boolean"},"title":{"type":"string","title":"Заголовок"},"description":{"type":"string","title":"Описание"},"cards":{"type":"array","items":{"$ref":"#/definitions/GalleryCard"},"title":"Карточки","minItems":4}},"required":["accordionBlockType"],"title":"Мини-галлерея"},"LinkListAccordionBlockDef":{"type":"object","properties":{"accordionBlockType":{"$ref":"#/definitions/AccordionBlockType"},"documents":{"type":"array","items":{"$ref":"#/definitions/LinkProps"},"title":"Список"}},"required":["accordionBlockType"],"title":"Список ссылок"},"EmptyOption":{"type":"null","title":"Выберите блок"},"AccordionBlockProps":{"anyOf":[{"$ref":"#/definitions/EmptyOption"},{"$ref":"#/definitions/HeadlineAccordionBlockDef"},{"$ref":"#/definitions/LinkDocsAccordionBlockDef"},{"$ref":"#/definitions/TextBlockAccordionBlockDef"},{"$ref":"#/definitions/PictureTextAccordionBlockDef"},{"$ref":"#/definitions/TileAccordionBlockDef"},{"$ref":"#/definitions/ProductTileAccordionBlockDef"},{"$ref":"#/definitions/GalleryAccordionBlockDef"},{"$ref":"#/definitions/MiniGalleryAccordionBlockDef"},{"$ref":"#/definitions/LinkListAccordionBlockDef"}],"title":"Содержимое аккордеона"},"AccordionItemCommonProps":{"type":"object","properties":{"label":{"type":"string","title":"Название","default":"Список"},"blocks":{"type":"array","items":{"$ref":"#/definitions/AccordionBlockProps"},"title":"Блоки"},"bordered":{"type":"boolean","title":"Отображать/скрывать обводку элемента","default":false}},"title":"Элемент списка"},"AccordionContent":{"type":"object","properties":{"bordered":{"type":"boolean","title":"Отображать/скрывать обводку у элемента списка","default":false},"title":{"type":"string","title":"Заголовок"},"description":{"type":"string","title":"Подзаголовок"},"accordionItems":{"type":"array","items":{"$ref":"#/definitions/AccordionItemCommonProps"},"title":"Список"}},"title":"Аккордеон"},"CellData":{"type":"object","properties":{"label":{"type":"string","title":"Заголовок"},"description":{"type":"string","title":"Описание"}},"title":"Ячейка"},"ColumnHeader":{"type":"object","properties":{"link":{"$ref":"#/definitions/LinkProps"},"title":{"type":"string","title":"Заголовок"},"subtitle":{"type":"string","title":"Подзаголовок"},"image":{"$ref":"#/definitions/Picture"},"icon":{"$ref":"#/definitions/IconName"}},"title":"Шапка колонки"},"Column":{"type":"object","properties":{"header":{"$ref":"#/definitions/ColumnHeader"},"data":{"type":"array","items":{"type":"array","items":{"$ref":"#/definitions/CellData"}},"title":"Данные"}},"title":"Продукт"},"RowHeader":{"type":"object","properties":{"title":{"type":"string","title":"Заголовок"}},"title":"Параметр"},"ComparisonTableContent":{"type":"object","properties":{"useSwiper":{"type":"boolean","title":"Использовать свайпер-"},"title":{"type":"string","title":"Заголовок"},"rowHeaders":{"type":"array","items":{"$ref":"#/definitions/RowHeader"},"title":"Параметры"},"columns":{"type":"array","items":{"$ref":"#/definitions/Column"},"title":"Продукты"},"isColoredFirstColumn":{"type":"boolean","title":"Закрасить первую колонку"},"visibleRowLength":{"type":"number","title":"Отображать заданное количество строк"}},"title":"Сравнительная таблица"},"ExchangeRateTileContent":{"$ref":"#/definitions/HeadingContent","title":"Курсы валют"},"ExchangeCurrencyItem":{"type":"object","properties":{"buyExchangeRate":{"type":"number"},"saleExchangeRate":{"type":"number"},"currency":{"type":"object","properties":{"id":{"type":"number"},"code":{"type":"string"},"currency":{"type":"string"},"name":{"type":"string"}}}}},"ContactType":{"type":"string","enum":["tel","email"],"title":"Тип контакта","enumNames":["Телефон","Почта"]},"ContactInfo":{"type":"object","properties":{"type":{"$ref":"#/definitions/ContactType"},"description":{"type":"string","title":"Описание"},"text":{"type":"string","title":"Текст"}},"title":"Контакт"},"SocialMedia":{"type":"object","properties":{"href":{"type":"string","title":"URL (href)"},"target":{"$ref":"#/definitions/Target"}},"required":["href"]},"SubMenuItem":{"type":"object","properties":{"icon":{"$ref":"#/definitions/IconName"},"text":{"type":"string","title":"Текст"},"href":{"type":"string","title":"URL (href)"},"target":{"$ref":"#/definitions/Target"}},"title":"Пункт подменю"},"FooterContent":{"type":"object","properties":{"topItems":{"type":"array","items":{"$ref":"#/definitions/TopMenuItem"},"title":"Дополнительное меню"},"relatedEnterprises":{"type":"array","items":{"$ref":"#/definitions/LinkProps"},"title":"Другие предприятия"},"contacts":{"type":"array","items":{"$ref":"#/definitions/ContactInfo"},"title":"Контакты"},"socialMedia":{"type":"array","items":{"$ref":"#/definitions/SocialMedia"},"title":"Социальные сети"},"horizontalNavigationTitle":{"type":"string","title":"Заголовок для меню"},"subMenu":{"type":"array","items":{"$ref":"#/definitions/SubMenuItem"},"title":"Подменю"},"documents":{"type":"array","items":{"$ref":"#/definitions/LinkProps"},"title":"Обязательные документы"}},"title":"Подвал","required":["topItems"]},"SitemapProps":{"type":"object","properties":{"topItems":{"type":"array","items":{"$ref":"#/definitions/TopMenuItem"},"title":"Дополнительное меню"}}},"TopMenuItem":{"type":"object","properties":{"text":{"type":"string","title":"Текст"},"href":{"type":"string","title":"URL (href)"},"target":{"$ref":"#/definitions/Target"}},"title":"Ссылка","required":["text","href"]},"HeaderContent":{"type":"object","properties":{"topItems":{"type":"array","items":{"$ref":"#/definitions/TopMenuItem"},"title":"Дополнительное меню"},"defaultLocation":{"type":"string","title":"Город по-умолчанию","default":"Москва"},"burgerSubMenu":{"type":"array","items":{"$ref":"#/definitions/SubMenuItem"},"title":"Подменю"}},"title":"Шапка","required":["defaultLocation","topItems"]},"QRCode":{"type":"object","properties":{"src":{"type":"string","title":"QR код"},"href":{"type":"string","title":"Ссылка"}},"title":"QR код"},"MobileAppTileContent":{"type":"object","properties":{"title":{"type":"string","title":"Заголовок"},"description":{"type":"string","title":"Описание"},"qr":{"$ref":"#/definitions/QRCode"},"buttons":{"type":"array","items":{"$ref":"#/definitions/ButtonWithIconProps"},"title":"Кнопки","maxItems":4},"href":{"type":"string","title":"Ссылка"}},"title":"Мобильное приложение"},"NavigationContent":{"type":"object","properties":{"title":{"type":"string","title":"Заголовок"},"buttons":{"type":"array","items":{"$ref":"#/definitions/ButtonProps"},"title":"Список ссылок"}},"title":"Навигация"},"ProductBlockInnerContent":{"type":"object","properties":{"headingType":{"$ref":"#/definitions/HeadingType"},"title":{"type":"string","title":"Заголовок"},"description":{"type":"string","title":"Описание"},"image":{"$ref":"#/definitions/Picture"},"benefits":{"type":"array","items":{"$ref":"#/definitions/Benefit"},"title":"Преимущества","minItems":2,"maxItems":3},"items":{"type":"array","items":{"type":"string"},"title":"Список"},"buttons":{"type":"array","items":{"$ref":"#/definitions/ButtonWithIconProps"},"title":"Кнопки","maxItems":4},"version":{"$ref":"#/definitions/BlockVersion"}}},"ProductBlockContent":{"type":"object","properties":{"headingType":{"$ref":"#/definitions/HeadingType"},"title":{"type":"string","title":"Заголовок"},"description":{"type":"string","title":"Описание"},"image":{"$ref":"#/definitions/Picture"},"breadcrumbs":{"type":"array","items":{"$ref":"#/definitions/LinkProps"},"title":"Хлебные крошки"},"benefits":{"type":"array","items":{"$ref":"#/definitions/Benefit"},"title":"Преимущества","minItems":2,"maxItems":3},"items":{"type":"array","items":{"type":"string"},"title":"Список"},"buttons":{"type":"array","items":{"$ref":"#/definitions/ButtonWithIconProps"},"title":"Кнопки","maxItems":4},"version":{"$ref":"#/definitions/BlockVersion"}},"title":"Продуктовый блок"},"ProductSlide":{"type":"object","properties":{"nav":{"type":"object","properties":{"title":{"type":"string","title":"Заголовок"},"desc":{"type":"string","title":"Описание"}},"required":["title","desc"],"title":"Превью содержимого слайда на навигации"},"productBlock":{"$ref":"#/definitions/ProductBlockInnerContent","title":"Содержимое слайда"}},"required":["productBlock"],"title":"Слайд"},"ProductGalleryContent":{"type":"object","properties":{"slides":{"type":"array","items":{"$ref":"#/definitions/ProductSlide"},"title":"Слайды"}},"title":"Продуктовая галерея"},"PromoTileContent":{"type":"object","properties":{"date":{"type":"string","title":"Дата публикации"},"title":{"type":"string","title":"Заголовок"},"description":{"type":"string","title":"Описание"},"buttons":{"type":"array","items":{"$ref":"#/definitions/ButtonWithIconProps"},"title":"Кнопки","maxItems":4},"version":{"$ref":"#/definitions/BlockVersion"}},"title":"Акции"},"Step":{"type":"object","properties":{"label":{"type":"string","title":"Название"},"description":{"type":"string","title":"Описание"},"icon":{"$ref":"#/definitions/IconName"}},"title":"Шаг"},"StepsBlockContent":{"type":"object","properties":{"showLines":{"type":"boolean","title":"Линии"},"size":{"$ref":"#/definitions/SizeVersion"},"title":{"type":"string","title":"Заголовок"},"description":{"type":"string","title":"Описание"},"steps":{"type":"array","items":{"$ref":"#/definitions/Step"},"title":"Шаги","minItems":2,"maxItems":3}},"title":"Блок шаги"},"SizeVersion":{"type":"string","enum":["normal","small"],"title":"Размер","enumNames":["Обычный","Уменьшенный"]},"TariffsTableRowData":{"type":"object","properties":{"header":{"$ref":"#/definitions/TariffsTableRowHeader"},"data":{"type":"array","items":{"type":"array","items":{"$ref":"#/definitions/TariffsTableCellData"}}}},"required":["header","data"],"title":"Ряд"},"TariffsTableRowHeader":{"type":"object","properties":{"title":{"type":"string","title":"Заголовок"},"icon":{"$ref":"#/definitions/IconName"}},"title":"Параметр"},"TariffsTableCellData":{"type":"object","properties":{"label":{"type":"string","title":"Заголовок"},"list":{"$ref":"#/definitions/TariffsTableList"},"description":{"type":"string","title":"Описание"},"image":{"$ref":"#/definitions/Picture"},"buttons":{"type":"array","items":{"$ref":"#/definitions/ButtonWithIconProps"},"title":"Кнопки"}},"title":"Ячейка"},"TariffsTableList":{"type":"object","properties":{"isDotted":{"type":"boolean","title":"Маркеры"},"items":{"type":"array","items":{"type":"string"},"title":"Элементы списка"}},"title":"Список"},"TariffsTableColumn":{"type":"object","properties":{"data":{"type":"array","items":{"type":"array","items":{"$ref":"#/definitions/TariffsTableCellData"}},"title":"Данные"}},"title":"Колонка"},"TariffsTableContent":{"type":"object","properties":{"title":{"type":"string","title":"Заголовок"},"rowHeaders":{"type":"array","items":{"$ref":"#/definitions/TariffsTableRowHeader"},"title":"Параметры"},"columns":{"type":"array","items":{"$ref":"#/definitions/TariffsTableColumn"},"title":"Колонки"}},"title":"Таблица тарифов"},"CalculatorParams":{"type":"object","properties":{"isAnnuity":{"type":"boolean"},"minSum":{"type":"number"},"maxSum":{"type":"number"},"minMonths":{"type":"number"},"maxMonths":{"type":"number"},"rateWithInsurance":{"type":"number"},"rateWithoutInsurance":{"type":"number"}}},"CreditCalculatorData":{"type":"object","properties":{"rows":{"type":"array","items":{"$ref":"#/definitions/CalculatorParams"}}}},"CreditCalculatorContent":{"type":"object","properties":{"directoryName":{"type":"string","title":"Справочник"}},"title":"Кредитный калькулятор"}}}
|
package/bundle/bundle.umd.js
CHANGED
|
@@ -493,7 +493,7 @@
|
|
|
493
493
|
});
|
|
494
494
|
|
|
495
495
|
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] })] }));
|
|
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 }), buttons?.length ? jsx("div", { children: buttons }) : null] }), image] })] }));
|
|
497
497
|
});
|
|
498
498
|
|
|
499
499
|
const getColSpan = (className) => {
|
|
@@ -807,11 +807,11 @@
|
|
|
807
807
|
});
|
|
808
808
|
|
|
809
809
|
function useCreditCalculatorData(useAsyncData, directoryName) {
|
|
810
|
-
const { data } = useAsyncData(creditCalculatorUrl(directoryName),
|
|
810
|
+
const { data } = useAsyncData(creditCalculatorUrl(directoryName), fetchCreditCalculatorData);
|
|
811
811
|
return data || {};
|
|
812
812
|
}
|
|
813
|
-
async function fetchCreditCalculatorData(
|
|
814
|
-
const response = await fetch(
|
|
813
|
+
async function fetchCreditCalculatorData(url) {
|
|
814
|
+
const response = await fetch(url);
|
|
815
815
|
return await response.json();
|
|
816
816
|
}
|
|
817
817
|
function creditCalculatorUrl(directoryName) {
|
|
@@ -830,30 +830,6 @@
|
|
|
830
830
|
onChange(e.target.checked);
|
|
831
831
|
}, 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
832
|
|
|
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
833
|
const clamp = (value, min, max) => Math.max(min, Math.min(value, max));
|
|
858
834
|
|
|
859
835
|
const DEFAULT_MIN_SUM = 30000;
|
|
@@ -893,6 +869,14 @@
|
|
|
893
869
|
return result.concat(maxYear);
|
|
894
870
|
};
|
|
895
871
|
|
|
872
|
+
const getDefaultMonths = (calculatorParams) => calculatorParams.maxMonths && calculatorParams.minMonths
|
|
873
|
+
? Math.round((calculatorParams.maxMonths - calculatorParams.minMonths) / 2)
|
|
874
|
+
: DEFAULT_MONTHS;
|
|
875
|
+
|
|
876
|
+
const getDefaultSum = (calculatorParams) => calculatorParams.maxSum && calculatorParams.minSum
|
|
877
|
+
? (calculatorParams.maxSum - calculatorParams.minSum) / 2
|
|
878
|
+
: DEFAULT_SUM;
|
|
879
|
+
|
|
896
880
|
const getMonthlyPayment = (params) => {
|
|
897
881
|
const { calculatorParams, paymentType, rate, sum, months } = params;
|
|
898
882
|
if (!calculatorParams)
|
|
@@ -907,29 +891,74 @@
|
|
|
907
891
|
}
|
|
908
892
|
};
|
|
909
893
|
|
|
910
|
-
|
|
894
|
+
function renderButton(number, i, handleClick) {
|
|
895
|
+
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)));
|
|
896
|
+
}
|
|
897
|
+
|
|
898
|
+
const addSpacesBetweenNumbers = (number) => new Intl.NumberFormat('ru-RU', { maximumSignificantDigits: 3 }).format(number);
|
|
899
|
+
|
|
900
|
+
const InputRange = JSX(({ className, title, items = [], min = 1, max = 100, step = 1, value = min, onChange }) => {
|
|
901
|
+
const handleChange = (value) => {
|
|
902
|
+
if (!onChange)
|
|
903
|
+
return;
|
|
904
|
+
const sanitizedValue = Number(value.replace(/\D/g, ''));
|
|
905
|
+
onChange(sanitizedValue);
|
|
906
|
+
};
|
|
907
|
+
const inputStyle = {
|
|
908
|
+
backgroundSize: `${(((value - min) * 100) / (max - min)).toFixed(2)}% 100%`,
|
|
909
|
+
};
|
|
910
|
+
const handleBlur = () => {
|
|
911
|
+
if (!onChange)
|
|
912
|
+
return;
|
|
913
|
+
if (value < min)
|
|
914
|
+
onChange(min);
|
|
915
|
+
if (value > max)
|
|
916
|
+
onChange(max);
|
|
917
|
+
};
|
|
918
|
+
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
|
|
919
|
+
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)))) })] }));
|
|
920
|
+
});
|
|
921
|
+
|
|
911
922
|
const STEP_MONTHS = 1;
|
|
923
|
+
function renderMonthsInput(props) {
|
|
924
|
+
const { minMonths, maxMonths, monthsValue, defaultMonths, setMonthsValue } = props;
|
|
925
|
+
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 }));
|
|
926
|
+
}
|
|
927
|
+
|
|
928
|
+
function renderProposal(monthlyPayment, rate) {
|
|
929
|
+
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, " %"] })] }));
|
|
930
|
+
}
|
|
931
|
+
|
|
932
|
+
function renderTermsButton() {
|
|
933
|
+
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" })] }));
|
|
934
|
+
}
|
|
935
|
+
|
|
936
|
+
const STEP_MONEY = 1000;
|
|
937
|
+
function renderWantedSumInput(props) {
|
|
938
|
+
const { calculatorParams, moneyValue, defaultSum, setMoneyValue } = props;
|
|
939
|
+
const minSum = calculatorParams?.minSum || DEFAULT_MIN_SUM;
|
|
940
|
+
const maxSum = calculatorParams?.maxSum || DEFAULT_MAX_SUM;
|
|
941
|
+
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: [
|
|
942
|
+
`От ${addSpacesBetweenNumbers(minSum)} рублей`,
|
|
943
|
+
`До ${addSpacesBetweenNumbers(maxSum)} рублей`,
|
|
944
|
+
], min: minSum, max: maxSum, step: STEP_MONEY, value: moneyValue || defaultSum, onChange: setMoneyValue }));
|
|
945
|
+
}
|
|
946
|
+
|
|
912
947
|
const DEFAULT_PAYMENT_TYPE = 'annuity';
|
|
913
948
|
const borderStyle = 'border-solid border-[3px] border-primary-main rounded-md';
|
|
914
|
-
const CreditCalculator = JSX(({ context, className, directoryName }) => {
|
|
949
|
+
const CreditCalculator = JSX(({ context, className = '', directoryName }) => {
|
|
915
950
|
const [moneyValue, setMoneyValue] = context.useState(undefined);
|
|
916
951
|
const [monthsValue, setMonthsValue] = context.useState(undefined);
|
|
917
952
|
const [isAnnuityChecked, setIsAnnuityChecked] = context.useState(true);
|
|
918
953
|
const [isInsuranceChecked, setIsInsuranceChecked] = context.useState(true);
|
|
919
954
|
const tableRows = useCreditCalculatorData(context.useAsyncData, directoryName).rows;
|
|
920
955
|
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;
|
|
956
|
+
const defaultSum = getDefaultSum(calculatorParams);
|
|
957
|
+
const defaultMonths = getDefaultMonths(calculatorParams);
|
|
929
958
|
const minMonths = calculatorParams?.minMonths || DEFAULT_MIN_MONTHS;
|
|
930
959
|
const maxMonths = calculatorParams?.maxMonths || DEFAULT_MAX_MONTHS;
|
|
931
960
|
const rate = getCreditRate({ calculatorParams, isInsurance: isInsuranceChecked });
|
|
932
|
-
const
|
|
961
|
+
const monthlyPayment = getMonthlyPayment({
|
|
933
962
|
calculatorParams,
|
|
934
963
|
paymentType: DEFAULT_PAYMENT_TYPE,
|
|
935
964
|
rate,
|
|
@@ -940,44 +969,92 @@
|
|
|
940
969
|
function handleButtonClick(value) {
|
|
941
970
|
setMonthsValue(clamp(value * MONTHS_IN_YEAR, minMonths, maxMonths));
|
|
942
971
|
}
|
|
943
|
-
return (jsx("section", { className: `font-sans text-primary-text p-10 bg-white ${className
|
|
944
|
-
|
|
945
|
-
|
|
946
|
-
|
|
972
|
+
return (jsx("section", { className: `font-sans text-primary-text p-10 bg-white ${className}`, children: jsxs("div", { className: `box-border p-[49px] pr-[56px] mx-auto w-max ${borderStyle}`, children: [jsxs("div", { className: "flex justify-between", children: [jsxs("div", { className: "mr-[42px]", children: [renderWantedSumInput({ calculatorParams, moneyValue, defaultSum, setMoneyValue }), renderMonthsInput({
|
|
973
|
+
minMonths,
|
|
974
|
+
maxMonths,
|
|
975
|
+
monthsValue,
|
|
976
|
+
defaultMonths,
|
|
977
|
+
setMonthsValue,
|
|
978
|
+
}), 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
979
|
});
|
|
948
|
-
|
|
949
|
-
|
|
980
|
+
|
|
981
|
+
function useExchangeRates(useAsyncData) {
|
|
982
|
+
const { data } = useAsyncData(EXCHANGE_RATES_URL, fetchExchangeRates);
|
|
983
|
+
return data || {};
|
|
950
984
|
}
|
|
985
|
+
async function fetchExchangeRates() {
|
|
986
|
+
try {
|
|
987
|
+
const response = await fetch(EXCHANGE_RATES_URL);
|
|
988
|
+
return await response.json();
|
|
989
|
+
}
|
|
990
|
+
catch (err) {
|
|
991
|
+
console.error(err);
|
|
992
|
+
}
|
|
993
|
+
}
|
|
994
|
+
const EXCHANGE_RATES_URL = '/api/v1/exchangerates.json';
|
|
951
995
|
|
|
952
|
-
const
|
|
953
|
-
const
|
|
996
|
+
const currencyNumberFormat = new Intl.NumberFormat('ru', { style: 'currency', currency: 'RUB' });
|
|
997
|
+
const formatCurrency = (value) => (value ? currencyNumberFormat.format(value) : '');
|
|
998
|
+
|
|
999
|
+
const TABLE_HEAD_STYLE = 'text-left font-normal text-sm text-secondary-text';
|
|
954
1000
|
const CURRENCY_ICONS_MAP = {
|
|
955
1001
|
USD: 'DollarIcon',
|
|
956
1002
|
EUR: 'EuroIcon',
|
|
957
1003
|
};
|
|
958
|
-
const
|
|
1004
|
+
const CurrencyTable = JSX(({ className, exchangeCurrencyItems }) => {
|
|
1005
|
+
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)) })] }));
|
|
1006
|
+
});
|
|
1007
|
+
const renderCurrencyRow = (exchangeCurrencyItem) => {
|
|
1008
|
+
const code = exchangeCurrencyItem?.currency?.currency;
|
|
1009
|
+
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));
|
|
1010
|
+
};
|
|
1011
|
+
|
|
1012
|
+
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] })] })));
|
|
1013
|
+
|
|
1014
|
+
const Input = JSX(({ className = '', id, name, type = 'text', placeholder }) => {
|
|
1015
|
+
return (jsx("input", { className: className, id: id, name: name || id, type: type, placeholder: placeholder }));
|
|
1016
|
+
});
|
|
1017
|
+
|
|
1018
|
+
const Select = JSX(({ className = '', id, name, children }) => {
|
|
1019
|
+
return (jsx("select", { className: className, id: id, name: name || id, children: children }));
|
|
1020
|
+
});
|
|
1021
|
+
|
|
1022
|
+
const SelectOption = JSX(({ className = '', value, children }) => {
|
|
1023
|
+
return (jsx("option", { className: className, value: `${value}`, children: children }));
|
|
1024
|
+
});
|
|
1025
|
+
|
|
1026
|
+
const ExchangeCurrencyCalculator = JSX(({ codes, className = '' }) => {
|
|
1027
|
+
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" })] }));
|
|
1028
|
+
});
|
|
1029
|
+
function renderInput(placeholder, codes) {
|
|
1030
|
+
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] }));
|
|
1031
|
+
}
|
|
1032
|
+
|
|
1033
|
+
const CURRENCY_CODES = ['USD', 'EUR'];
|
|
1034
|
+
const EXCHANGE_CODES = ['RUB', 'USD', 'EUR'];
|
|
1035
|
+
const DEFAULT_CURRENCY_ITEMS = [
|
|
1036
|
+
{
|
|
1037
|
+
buyExchangeRate: 90.6,
|
|
1038
|
+
saleExchangeRate: 92.8,
|
|
1039
|
+
currency: { id: 2, code: '978', currency: 'EUR', name: 'Евро' },
|
|
1040
|
+
},
|
|
959
1041
|
{
|
|
960
|
-
|
|
961
|
-
|
|
962
|
-
|
|
1042
|
+
buyExchangeRate: 73.75,
|
|
1043
|
+
saleExchangeRate: 75.95,
|
|
1044
|
+
currency: { id: 1, code: '840', currency: 'USD', name: 'Американский доллар' },
|
|
963
1045
|
},
|
|
964
1046
|
];
|
|
1047
|
+
const DEFAULT_LOCATION = {
|
|
1048
|
+
address: 'Москва, ул.Ленина д.28',
|
|
1049
|
+
distance: '6км',
|
|
1050
|
+
};
|
|
965
1051
|
const ExchangeRateTile = JSX(({ className = '', context, title = 'Курсы обмена валют' }) => {
|
|
966
|
-
const
|
|
967
|
-
|
|
1052
|
+
const data = useExchangeRates(context.useAsyncData);
|
|
1053
|
+
const exchangeCurrencyItems = data?.exchangeRate?.currencies?.filter((item) => {
|
|
1054
|
+
return CURRENCY_CODES.indexOf(item?.currency?.currency || '') !== -1;
|
|
1055
|
+
}) || DEFAULT_CURRENCY_ITEMS;
|
|
1056
|
+
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
1057
|
});
|
|
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
1058
|
|
|
982
1059
|
const LOGO_PATHS = [
|
|
983
1060
|
'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',
|
|
@@ -1217,6 +1294,16 @@
|
|
|
1217
1294
|
.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
1295
|
});
|
|
1219
1296
|
|
|
1297
|
+
const GOLDEN_RATIO = 1.618;
|
|
1298
|
+
const Placeholder = JSX(({ className, context, title, description = 'Блок в разработке...' }) => {
|
|
1299
|
+
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() })] }) }));
|
|
1300
|
+
});
|
|
1301
|
+
const renderShimmer = (size = 3) => goldenSequence(100, size)
|
|
1302
|
+
.map((_) => Math.floor(_))
|
|
1303
|
+
.map(renderShimmerItem);
|
|
1304
|
+
const renderShimmerItem = (width = 100, index) => (jsx("div", { style: { width: `${width}%` }, className: "h-4 mt-2 bg-secondary-light" }, String(index)));
|
|
1305
|
+
const goldenSequence = (first, size) => [first].concat(size > 0 ? goldenSequence(first / GOLDEN_RATIO, size - 1) : []);
|
|
1306
|
+
|
|
1220
1307
|
const Breadcrumb = JSX(({ text, href, target, onClick, className = '', children }) => {
|
|
1221
1308
|
if (href) {
|
|
1222
1309
|
return (jsx("a", { className: `no-underline ${className}`, href: href, target: target, onClick: onClick, children: jsx("span", { className: className, children: text || children }) }));
|
|
@@ -1247,7 +1334,7 @@
|
|
|
1247
1334
|
}
|
|
1248
1335
|
|
|
1249
1336
|
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:
|
|
1337
|
+
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
1338
|
});
|
|
1252
1339
|
|
|
1253
1340
|
const productBlockStyleMap = {
|
|
@@ -1370,6 +1457,7 @@
|
|
|
1370
1457
|
TextBlock,
|
|
1371
1458
|
Tile,
|
|
1372
1459
|
Navigation,
|
|
1460
|
+
Placeholder,
|
|
1373
1461
|
};
|
|
1374
1462
|
|
|
1375
1463
|
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 +1476,6 @@
|
|
|
1388
1476
|
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
1477
|
});
|
|
1390
1478
|
|
|
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
1479
|
const defaultBlockDecorator = ({ blockClassName, block, render }) => render({ blockClassName, block });
|
|
1402
1480
|
const ContentPage = JSX(({ className, context, blocksRegistry, data: { style: pageStyle, blocks, slots = {}, likeControl, colorPalette = 'pc' }, blockDecorator = defaultBlockDecorator, }) => {
|
|
1403
1481
|
const { header } = slots;
|