@redneckz/wildless-cms-uni-blocks 0.2.91 → 0.2.92

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.
Files changed (136) hide show
  1. package/bundle/blocks.schema.json +1 -1
  2. package/bundle/bundle.umd.js +61 -22
  3. package/bundle/bundle.umd.min.js +1 -1
  4. package/dist/components/BlockContent.d.ts +2 -1
  5. package/dist/components/Blocks.d.ts +1 -0
  6. package/dist/components/Blocks.js +2 -0
  7. package/dist/components/Blocks.js.map +1 -1
  8. package/dist/components/ComparisonTable/ComparisonTable.js +3 -6
  9. package/dist/components/ComparisonTable/ComparisonTable.js.map +1 -1
  10. package/dist/components/ComparisonTable/ComparisonTableContent.d.ts +0 -18
  11. package/dist/components/ComparisonTable/TableCarouselContainer.d.ts +3 -0
  12. package/dist/components/ComparisonTable/TableCarouselContainer.js +5 -2
  13. package/dist/components/ComparisonTable/TableCarouselContainer.js.map +1 -1
  14. package/dist/components/ComparisonTable/TableRow.js +1 -1
  15. package/dist/components/ComparisonTable/TableRow.js.map +1 -1
  16. package/dist/components/TariffsTable/TariffsTable.d.ts +5 -0
  17. package/dist/components/TariffsTable/TariffsTable.js +20 -0
  18. package/dist/components/TariffsTable/TariffsTable.js.map +1 -0
  19. package/dist/components/TariffsTable/TariffsTableCell.d.ts +6 -0
  20. package/dist/components/TariffsTable/TariffsTableCell.js +18 -0
  21. package/dist/components/TariffsTable/TariffsTableCell.js.map +1 -0
  22. package/dist/components/TariffsTable/TariffsTableContent.d.ts +55 -0
  23. package/dist/components/TariffsTable/TariffsTableContent.js +2 -0
  24. package/dist/components/TariffsTable/TariffsTableContent.js.map +1 -0
  25. package/dist/components/TariffsTable/TariffsTableRow.d.ts +8 -0
  26. package/dist/components/TariffsTable/TariffsTableRow.js +13 -0
  27. package/dist/components/TariffsTable/TariffsTableRow.js.map +1 -0
  28. package/dist/components/TariffsTable/constants.d.ts +4 -0
  29. package/dist/components/TariffsTable/constants.js +7 -0
  30. package/dist/components/TariffsTable/constants.js.map +1 -0
  31. package/dist/components/TextBlock/TextBlock.d.ts +1 -1
  32. package/dist/components/TextBlock/TextBlock.js +1 -1
  33. package/dist/components/TextBlock/TextBlock.js.map +1 -1
  34. package/dist/hooks/useComparisonTableScroll.d.ts +7 -0
  35. package/dist/hooks/useComparisonTableScroll.js +12 -0
  36. package/dist/hooks/useComparisonTableScroll.js.map +1 -0
  37. package/dist/model/TableVersion.d.ts +1 -0
  38. package/dist/model/TableVersion.js +2 -0
  39. package/dist/model/TableVersion.js.map +1 -0
  40. package/dist/ui-kit/BlockItem/BlockItem.d.ts +1 -9
  41. package/dist/ui-kit/BlockItem/BlockItem.js +5 -5
  42. package/dist/ui-kit/BlockItem/BlockItem.js.map +1 -1
  43. package/dist/ui-kit/BlockItem/BlockItemProps.d.ts +20 -0
  44. package/dist/ui-kit/BlockItem/BlockItemProps.js +2 -0
  45. package/dist/ui-kit/BlockItem/BlockItemProps.js.map +1 -0
  46. package/dist/ui-kit/Icon/IconProps.d.ts +57 -25
  47. package/dist/ui-kit/Icon/IconProps.js +39 -23
  48. package/dist/ui-kit/Icon/IconProps.js.map +1 -1
  49. package/lib/common.css +1 -1
  50. package/lib/components/BlockContent.d.ts +2 -1
  51. package/lib/components/Blocks.d.ts +1 -0
  52. package/lib/components/Blocks.js +2 -0
  53. package/lib/components/Blocks.js.map +1 -1
  54. package/lib/components/ComparisonTable/ComparisonTable.js +4 -7
  55. package/lib/components/ComparisonTable/ComparisonTable.js.map +1 -1
  56. package/lib/components/ComparisonTable/ComparisonTableContent.d.ts +0 -18
  57. package/lib/components/ComparisonTable/TableCarouselContainer.d.ts +3 -0
  58. package/lib/components/ComparisonTable/TableCarouselContainer.js +5 -2
  59. package/lib/components/ComparisonTable/TableCarouselContainer.js.map +1 -1
  60. package/lib/components/ComparisonTable/TableRow.js +2 -2
  61. package/lib/components/ComparisonTable/TableRow.js.map +1 -1
  62. package/lib/components/TariffsTable/TariffsTable.d.ts +5 -0
  63. package/lib/components/TariffsTable/TariffsTable.fixture.d.ts +7 -0
  64. package/lib/components/TariffsTable/TariffsTable.js +18 -0
  65. package/lib/components/TariffsTable/TariffsTable.js.map +1 -0
  66. package/lib/components/TariffsTable/TariffsTableCell.d.ts +6 -0
  67. package/lib/components/TariffsTable/TariffsTableCell.js +16 -0
  68. package/lib/components/TariffsTable/TariffsTableCell.js.map +1 -0
  69. package/lib/components/TariffsTable/TariffsTableContent.d.ts +55 -0
  70. package/lib/components/TariffsTable/TariffsTableContent.js +2 -0
  71. package/lib/components/TariffsTable/TariffsTableContent.js.map +1 -0
  72. package/lib/components/TariffsTable/TariffsTableRow.d.ts +8 -0
  73. package/lib/components/TariffsTable/TariffsTableRow.js +11 -0
  74. package/lib/components/TariffsTable/TariffsTableRow.js.map +1 -0
  75. package/lib/components/TariffsTable/constants.d.ts +4 -0
  76. package/lib/components/TariffsTable/constants.js +5 -0
  77. package/lib/components/TariffsTable/constants.js.map +1 -0
  78. package/lib/components/TextBlock/TextBlock.d.ts +1 -1
  79. package/lib/components/TextBlock/TextBlock.js +1 -1
  80. package/lib/components/TextBlock/TextBlock.js.map +1 -1
  81. package/lib/hooks/useComparisonTableScroll.d.ts +7 -0
  82. package/lib/hooks/useComparisonTableScroll.js +9 -0
  83. package/lib/hooks/useComparisonTableScroll.js.map +1 -0
  84. package/lib/model/TableVersion.d.ts +1 -0
  85. package/lib/model/TableVersion.js +2 -0
  86. package/lib/model/TableVersion.js.map +1 -0
  87. package/lib/ui-kit/BlockItem/BlockItem.d.ts +1 -9
  88. package/lib/ui-kit/BlockItem/BlockItem.fixture.d.ts +6 -1
  89. package/lib/ui-kit/BlockItem/BlockItem.js +5 -5
  90. package/lib/ui-kit/BlockItem/BlockItem.js.map +1 -1
  91. package/lib/ui-kit/BlockItem/BlockItemProps.d.ts +20 -0
  92. package/lib/ui-kit/BlockItem/BlockItemProps.js +2 -0
  93. package/lib/ui-kit/BlockItem/BlockItemProps.js.map +1 -0
  94. package/lib/ui-kit/Icon/IconProps.d.ts +57 -25
  95. package/lib/ui-kit/Icon/IconProps.js +39 -23
  96. package/lib/ui-kit/Icon/IconProps.js.map +1 -1
  97. package/package.json +1 -1
  98. package/src/Icons/CalendarCircleIcon.svg +14 -0
  99. package/src/Icons/CardIcon.svg +11 -0
  100. package/src/Icons/CardPosIcon.svg +12 -0
  101. package/src/Icons/CardTickIcon.svg +13 -0
  102. package/src/Icons/EmptyWalletChangeIcon.svg +21 -0
  103. package/src/Icons/JCBIcon.svg +42 -0
  104. package/src/Icons/MastercardIcon.svg +6 -0
  105. package/src/Icons/MinusIcon.svg +1 -0
  106. package/src/Icons/MirIcon.svg +13 -0
  107. package/src/Icons/MoneyIcon.svg +13 -0
  108. package/src/Icons/MonitorMobileIcon.svg +14 -0
  109. package/src/Icons/PlusIcon.svg +1 -0
  110. package/src/Icons/Profile2UserIcon.svg +14 -0
  111. package/src/Icons/ShieldTickIcon.svg +7 -0
  112. package/src/Icons/UnionPayIcon.svg +7 -0
  113. package/src/Icons/UserIcon.svg +11 -0
  114. package/src/Icons/VisaIcon.svg +7 -0
  115. package/src/Icons/WalletIcon.svg +19 -0
  116. package/src/components/BlockContent.ts +2 -0
  117. package/src/components/Blocks.ts +2 -0
  118. package/src/components/ComparisonTable/ComparisonTable.tsx +14 -11
  119. package/src/components/ComparisonTable/ComparisonTableContent.ts +0 -19
  120. package/src/components/ComparisonTable/TableCarouselContainer.tsx +11 -4
  121. package/src/components/ComparisonTable/TableRow.tsx +2 -2
  122. package/src/components/ContentPage/ContentPage.page.json +415 -0
  123. package/src/components/TariffsTable/TariffsTable.example.json +85 -0
  124. package/src/components/TariffsTable/TariffsTable.fixture.tsx +192 -0
  125. package/src/components/TariffsTable/TariffsTable.tsx +72 -0
  126. package/src/components/TariffsTable/TariffsTableCell.tsx +64 -0
  127. package/src/components/TariffsTable/TariffsTableContent.ts +61 -0
  128. package/src/components/TariffsTable/TariffsTableRow.tsx +46 -0
  129. package/src/components/TariffsTable/constants.ts +4 -0
  130. package/src/components/TextBlock/TextBlock.tsx +2 -2
  131. package/src/hooks/useComparisonTableScroll.ts +16 -0
  132. package/src/model/TableVersion.ts +1 -0
  133. package/src/ui-kit/BlockItem/BlockItem.fixture.tsx +8 -1
  134. package/src/ui-kit/BlockItem/BlockItem.tsx +7 -18
  135. package/src/ui-kit/BlockItem/BlockItemProps.ts +22 -0
  136. package/src/ui-kit/Icon/IconProps.ts +34 -2
@@ -1 +1 @@
1
- {"$schema":"http://json-schema.org/draft-07/schema#","definitions":{"AccordionBlock":{"description":"Блок","type":"object"},"AccordionContent":{"properties":{"accordionItems":{"items":{"$ref":"#/definitions/AccordionItemCommonProps"},"title":"Список","type":"array"},"title":{"title":"Заголовок","type":"string"}},"title":"Аккордеон","type":"object"},"AccordionItemCommonProps":{"properties":{"blocks":{"items":{"$ref":"#/definitions/AccordionBlock"},"title":"Блоки","type":"array"},"label":{"title":"Название","type":"string"}},"title":"Элемент списка","type":"object"},"AlignType":{"enum":["left","center","right"],"enumNames":["По левому краю","По центру","По правому краю"],"title":"Выравнивание","type":"string"},"BaseTileCommonProps":{"properties":{"align":{"$ref":"#/definitions/AlignType"},"buttons":{"items":{"$ref":"#/definitions/BaseTileIconButton"},"maxItems":4,"title":"Кнопки","type":"array"},"description":{"title":"Описание","type":"string"},"image":{"$ref":"#/definitions/Picture"},"items":{"items":{"type":"string"},"title":"Список","type":"array"},"title":{"title":"Заголовок","type":"string"},"titleSize":{"$ref":"#/definitions/TitleSize","default":"M","title":"Размер заголовка"},"version":{"$ref":"#/definitions/BlockVersion"}},"title":"Плитка","type":"object"},"BaseTileIconButton":{"properties":{"aboveText":{"title":"Верхний текст","type":"string"},"href":{"title":"URL (href)","type":"string"},"icon":{"$ref":"#/definitions/IconName"},"target":{"$ref":"#/definitions/Target"},"text":{"title":"Текст","type":"string"},"version":{"$ref":"#/definitions/ButtonVersion"}},"type":"object"},"Benefit":{"properties":{"description":{"title":"Описание","type":"string"},"icon":{"$ref":"#/definitions/IconName"},"label":{"title":"Название","type":"string"}},"title":"Преимущество","type":"object"},"BenefitsBlockContent":{"properties":{"benefits":{"items":{"$ref":"#/definitions/Benefit"},"maxItems":6,"title":"Список преимуществ","type":"array"},"title":{"title":"Заголовок","type":"string"}},"title":"Блок преимущества","type":"object"},"BlockVersion":{"enum":["primary","secondary"],"enumNames":["Основная","Второстепенная"],"title":"Цвет плитки","type":"string"},"ButtonProps":{"properties":{"href":{"title":"URL (href)","type":"string"},"target":{"$ref":"#/definitions/Target"},"text":{"title":"Текст","type":"string"},"version":{"$ref":"#/definitions/ButtonVersion"}},"type":"object"},"ButtonVersion":{"enum":["primary","secondary"],"enumNames":["Основная","Второстепенная"],"title":"Цвет кнопки","type":"string"},"ButtonWithIconProps":{"properties":{"aboveText":{"title":"Верхний текст","type":"string"},"href":{"title":"URL (href)","type":"string"},"target":{"$ref":"#/definitions/Target"},"text":{"title":"Текст","type":"string"},"version":{"$ref":"#/definitions/ButtonVersion"}},"type":"object"},"CalculatorParams":{"properties":{"isAnnuity":{"type":"boolean"},"maxMonths":{"type":"number"},"maxSum":{"type":"number"},"minMonths":{"type":"number"},"minSum":{"type":"number"},"rateWithInsurance":{"type":"number"},"rateWithoutInsurance":{"type":"number"}},"type":"object"},"CellData":{"properties":{"description":{"title":"Описание","type":"string"},"label":{"title":"Заголовок","type":"string"}},"title":"Ячейка","type":"object"},"Column":{"properties":{"data":{"items":{"items":{"$ref":"#/definitions/CellData"},"type":"array"},"title":"Данные","type":"array"},"header":{"$ref":"#/definitions/ColumnHeader"}},"title":"Продукт","type":"object"},"ColumnHeader":{"properties":{"icon":{"$ref":"#/definitions/IconName"},"link":{"$ref":"#/definitions/LinkProps"},"title":{"title":"Заголовок","type":"string"}},"title":"Шапка колонки","type":"object"},"ComparisonTableContent":{"properties":{"columns":{"items":{"$ref":"#/definitions/Column"},"title":"Продукты","type":"array"},"isColoredFirstColumn":{"title":"Закрасить первую колонку","type":"boolean"},"rowHeaders":{"items":{"$ref":"#/definitions/RowHeader"},"title":"Параметры","type":"array"},"title":{"title":"Заголовок","type":"string"},"visibleRowLength":{"title":"Отображать заданное количество строк","type":"number"}},"title":"Сравнительная таблица","type":"object"},"ContactInfo":{"properties":{"description":{"title":"Описание","type":"string"},"text":{"title":"Текст","type":"string"},"type":{"$ref":"#/definitions/ContactType"}},"title":"Контакт","type":"object"},"ContactType":{"enum":["tel","email"],"enumNames":["Телефон","Почта"],"title":"Тип контакта","type":"string"},"CreditCalculatorContent":{"properties":{"directoryName":{"title":"Справочник","type":"string"}},"title":"Кредитный калькулятор","type":"object"},"CreditCalculatorData":{"properties":{"rows":{"items":{"$ref":"#/definitions/CalculatorParams"},"type":"array"}},"type":"object"},"ExchangeRateTileContent":{"properties":{"title":{"title":"Заголовок","type":"string"}},"title":"Курсы валют","type":"object"},"FooterContent":{"properties":{"contacts":{"items":{"$ref":"#/definitions/ContactInfo"},"title":"Контакты","type":"array"},"documents":{"items":{"$ref":"#/definitions/LinkProps"},"title":"Обязательные документы","type":"array"},"relatedEnterprises":{"items":{"$ref":"#/definitions/LinkProps"},"title":"Другие предприятия","type":"array"},"socialMedia":{"items":{"$ref":"#/definitions/SocialMedia"},"title":"Социальные сети","type":"array"},"topItems":{"items":{"$ref":"#/definitions/TopMenuItem"},"title":"Дополнительное меню","type":"array"}},"required":["topItems"],"title":"Подвал","type":"object"},"GalleryCard":{"properties":{"description":{"title":"Описание","type":"string"},"href":{"title":"Ссылка","type":"string"},"image":{"$ref":"#/definitions/Picture"},"items":{"items":{"type":"string"},"title":"Список","type":"array"},"title":{"title":"Заголовок","type":"string"}},"title":"Карточка","type":"object"},"GalleryContent":{"properties":{"cards":{"items":{"$ref":"#/definitions/GalleryCard"},"title":"Карточки","type":"array"},"description":{"title":"Описание","type":"string"},"title":{"title":"Заголовок","type":"string"}},"title":"Галерея","type":"object"},"HeaderContent":{"properties":{"defaultLocation":{"default":"Москва","title":"Город по-умолчанию","type":"string"},"topItems":{"items":{"$ref":"#/definitions/TopMenuItem"},"title":"Дополнительное меню","type":"array"}},"required":["defaultLocation","topItems"],"title":"Шапка","type":"object"},"HeadlineBgColor":{"enum":["transparent","bg-white"],"enumNames":["Прозрачный","Белый"],"title":"Цвет фона","type":"string"},"HeadlineContent":{"properties":{"align":{"$ref":"#/definitions/AlignType"},"bgColor":{"$ref":"#/definitions/HeadlineBgColor"},"description":{"title":"Описание","type":"string"},"title":{"title":"Заголовок","type":"string"},"titleSize":{"$ref":"#/definitions/TitleSize","default":"M","title":"Размер заголовка"}},"title":"Заголовок","type":"object"},"IconName":{"enum":["ActualBalanceIcon","AppleIcon","CalendarIcon","ClockIcon","ComfortableCompIcon","DiscountShape","DocIcon","DocumentText","DollarIcon","EmptyWalletIcon","EuroIcon","GlassIcon","GridIcon","LoupeIcon","MinusIcon","NewDocIcon","OkIcon","PassSendIcon","PercentageSquareIcon","PlayMarketIcon","PlusIcon","ProfileIcon","SignDocsIcon","TelegramIcon","VKIcon"],"enumNames":["Деньги","Лого «Apple»","Календарь","Часы","Кресло","Скидка","Документ","Документ с текстом","Доллар","Кошелек","Евро","Зеркало","Сетка","Лупа","Минус","Новый документ","Лого «Одноклассники»","Бизнес","Проценты","Лого «PlayMarket»","Плюс","Профиль","Подписанные документы","Лого «Telegram»","Лого «VK»"],"title":"Иконка","type":"string"},"Img":{"properties":{"alt":{"title":"Альтернативный текст (alt)","type":"string"},"src":{"title":"Картинка","type":"string"},"title":{"title":"Текст подсказки (title)","type":"string"}},"required":["src"],"type":"object"},"ImgSource":{"properties":{"format":{"enum":["jpeg","jpg","png","gif","webp","heif","avif"],"title":"Формат","type":"string"},"size":{"properties":{"height":{"title":"Высота","type":"number"},"width":{"title":"Ширина","type":"number"}},"title":"Размер изображения","type":"object"},"src":{"title":"Картинка","type":"string"}},"required":["src"],"type":"object"},"LinkColumnsMode":{"enum":["single","double"],"title":"Режим отображения списка","type":"string"},"LinkDocsContent":{"properties":{"align":{"$ref":"#/definitions/AlignType"},"columnsMode":{"$ref":"#/definitions/LinkColumnsMode","title":"Отображение списка"},"documents":{"items":{"$ref":"#/definitions/LinkDocsItem"},"title":"Список","type":"array"},"icon":{"$ref":"#/definitions/IconName","title":"Название иконки"},"title":{"title":"Заголовок","type":"string"}},"title":"Список документов","type":"object"},"LinkDocsItem":{"properties":{"fileSize":{"title":"размер файла","type":"string"},"href":{"title":"URL (href)","type":"string"},"target":{"$ref":"#/definitions/Target"},"text":{"title":"Текст","type":"string"}},"title":"Элемент списка","type":"object"},"LinkProps":{"properties":{"href":{"title":"URL (href)","type":"string"},"target":{"$ref":"#/definitions/Target"},"text":{"title":"Текст","type":"string"}},"required":["text","href"],"title":"Ссылка","type":"object"},"MiniGalleryContent":{"properties":{"cards":{"items":{"$ref":"#/definitions/GalleryCard"},"title":"Карточки","type":"array"},"description":{"title":"Описание","type":"string"},"title":{"title":"Заголовок","type":"string"}},"title":"Мини-галерея","type":"object"},"MobileAppTileContent":{"properties":{"buttons":{"items":{"$ref":"#/definitions/BaseTileIconButton"},"maxItems":4,"title":"Кнопки","type":"array"},"qr":{"$ref":"#/definitions/QRCode"},"title":{"title":"Заголовок","type":"string"}},"title":"Мобильное приложение","type":"object"},"Picture":{"properties":{"alt":{"title":"Альтернативный текст (alt)","type":"string"},"format":{"enum":["jpeg","jpg","png","gif","webp","heif","avif"],"title":"Формат","type":"string"},"size":{"properties":{"height":{"title":"Высота","type":"number"},"width":{"title":"Ширина","type":"number"}},"title":"Размер изображения","type":"object"},"sources":{"items":{"$ref":"#/definitions/ImgSource"},"title":"Другие форматы","type":"array"},"src":{"title":"Картинка","type":"string"},"title":{"title":"Текст подсказки (title)","type":"string"}},"required":["src"],"title":"Изображение","type":"object"},"PictureTextContent":{"properties":{"benefits":{"items":{"$ref":"#/definitions/Benefit"},"title":"Список преимуществ","type":"array"},"image":{"$ref":"#/definitions/Picture"},"title":{"title":"Заголовок","type":"string"}},"title":"Картинка с текстом","type":"object"},"ProductBlockContent":{"properties":{"align":{"$ref":"#/definitions/AlignType"},"benefits":{"items":{"$ref":"#/definitions/Benefit"},"title":"Преимущества","type":"array"},"breadcrumbs":{"items":{"$ref":"#/definitions/LinkProps"},"title":"Хлебные крошки","type":"array"},"buttons":{"items":{"$ref":"#/definitions/BaseTileIconButton"},"maxItems":4,"title":"Кнопки","type":"array"},"description":{"title":"Описание","type":"string"},"image":{"$ref":"#/definitions/Picture"},"items":{"items":{"type":"string"},"title":"Список","type":"array"},"title":{"title":"Заголовок","type":"string"},"titleSize":{"$ref":"#/definitions/TitleSize","default":"M","title":"Размер заголовка"},"version":{"$ref":"#/definitions/BlockVersion"}},"title":"Продуктовый блок","type":"object"},"ProductBlockInnerCommonProps":{"properties":{"align":{"$ref":"#/definitions/AlignType"},"benefits":{"items":{"$ref":"#/definitions/Benefit"},"title":"Преимущества","type":"array"},"buttons":{"items":{"$ref":"#/definitions/BaseTileIconButton"},"maxItems":4,"title":"Кнопки","type":"array"},"description":{"title":"Описание","type":"string"},"image":{"$ref":"#/definitions/Picture"},"items":{"items":{"type":"string"},"title":"Список","type":"array"},"title":{"title":"Заголовок","type":"string"},"titleSize":{"$ref":"#/definitions/TitleSize","default":"M","title":"Размер заголовка"},"version":{"$ref":"#/definitions/BlockVersion"}},"type":"object"},"ProductGalleryContent":{"properties":{"slides":{"items":{"$ref":"#/definitions/ProductSlide"},"title":"Слайды","type":"array"}},"title":"Продуктовая галерея","type":"object"},"ProductSlide":{"properties":{"nav":{"properties":{"desc":{"title":"Описание","type":"string"},"title":{"title":"Заголовок","type":"string"}},"required":["title","desc"],"title":"Кнопка под слайдом","type":"object"},"productBlock":{"$ref":"#/definitions/ProductBlockInnerCommonProps","title":"Содержимое слайда"}},"required":["nav","productBlock"],"title":"Слайд","type":"object"},"ProductTileContent":{"properties":{"align":{"$ref":"#/definitions/AlignType"},"benefits":{"items":{"$ref":"#/definitions/Benefit"},"title":"Преимущества","type":"array"},"buttons":{"items":{"$ref":"#/definitions/BaseTileIconButton"},"maxItems":4,"title":"Кнопки","type":"array"},"description":{"title":"Описание","type":"string"},"image":{"$ref":"#/definitions/Picture"},"items":{"items":{"type":"string"},"title":"Список","type":"array"},"title":{"title":"Заголовок","type":"string"},"titleSize":{"$ref":"#/definitions/TitleSize","default":"M","title":"Размер заголовка"},"version":{"$ref":"#/definitions/BlockVersion"}},"title":"Продуктовая плитка","type":"object"},"PromoTileContent":{"properties":{"align":{"$ref":"#/definitions/AlignType"},"buttons":{"items":{"$ref":"#/definitions/BaseTileIconButton"},"maxItems":4,"title":"Кнопки","type":"array"},"date":{"title":"Дата публикации","type":"string"},"description":{"title":"Описание","type":"string"},"image":{"$ref":"#/definitions/Picture"},"items":{"items":{"type":"string"},"title":"Список","type":"array"},"title":{"title":"Заголовок","type":"string"},"titleSize":{"$ref":"#/definitions/TitleSize","default":"M","title":"Размер заголовка"},"version":{"$ref":"#/definitions/BlockVersion"}},"title":"Акции","type":"object"},"QRCode":{"properties":{"href":{"title":"Ссылка","type":"string"},"src":{"title":"QR код","type":"string"}},"title":"QR код","type":"object"},"RowHeader":{"properties":{"icon":{"$ref":"#/definitions/IconName"},"title":{"title":"Заголовок","type":"string"}},"title":"Параметр","type":"object"},"SitemapProps":{"properties":{"topItems":{"items":{"$ref":"#/definitions/TopMenuItem"},"title":"Дополнительное меню","type":"array"}},"type":"object"},"SocialMedia":{"properties":{"href":{"title":"URL (href)","type":"string"},"target":{"$ref":"#/definitions/Target"}},"required":["href"],"type":"object"},"Step":{"properties":{"description":{"title":"Описание","type":"string"},"icon":{"$ref":"#/definitions/IconName"},"label":{"title":"Название","type":"string"}},"required":["label"],"title":"Шаг","type":"object"},"StepsBlockContent":{"properties":{"steps":{"items":{"$ref":"#/definitions/Step"},"maxItems":6,"title":"Шаги","type":"array"},"title":{"title":"Заголовок","type":"string"}},"title":"Блок шаги","type":"object"},"Target":{"enum":["_blank","_self","_parent","_top"],"enumNames":["self (текущее окно или фрейм)","blank (новое окно)","parent (фрейм-родитель)","top (текущее окно)"],"title":"Таргет (target)","type":"string"},"TextBlockContent":{"properties":{"blockVersion":{"$ref":"#/definitions/TextBlockVersion"},"description":{"title":"Описание","type":"string"},"iconVersion":{"$ref":"#/definitions/TextBlockIconVersion"},"image":{"$ref":"#/definitions/Picture"},"title":{"title":"Заголовок","type":"string"}},"title":"Текстовый блок","type":"object"},"TextBlockIconVersion":{"enum":["none","small","big"],"enumNames":["Нет","Маленькая","Большая"],"title":"Размер иконки","type":"string"},"TextBlockVersion":{"enum":["primary","secondary","secondary-light"],"enumNames":["Основная","Второстепенная","Второстепенная прозрачная"],"title":"Цвет плитки","type":"string"},"TileContent":{"$ref":"#/definitions/BaseTileCommonProps","title":"Плитка"},"TitleSize":{"enum":["XL","L","M","S"],"type":"string"},"TopMenuItem":{"properties":{"href":{"title":"URL (href)","type":"string"},"target":{"$ref":"#/definitions/Target"},"text":{"title":"Текст","type":"string"}},"required":["text","href"],"title":"Ссылка","type":"object"}}}
1
+ {"$schema":"http://json-schema.org/draft-07/schema#","definitions":{"AccordionBlock":{"description":"Блок","type":"object"},"AccordionContent":{"properties":{"accordionItems":{"items":{"$ref":"#/definitions/AccordionItemCommonProps"},"title":"Список","type":"array"},"title":{"title":"Заголовок","type":"string"}},"title":"Аккордеон","type":"object"},"AccordionItemCommonProps":{"properties":{"blocks":{"items":{"$ref":"#/definitions/AccordionBlock"},"title":"Блоки","type":"array"},"label":{"title":"Название","type":"string"}},"title":"Элемент списка","type":"object"},"AlignType":{"enum":["left","center","right"],"enumNames":["По левому краю","По центру","По правому краю"],"title":"Выравнивание","type":"string"},"BaseTileCommonProps":{"properties":{"align":{"$ref":"#/definitions/AlignType"},"buttons":{"items":{"$ref":"#/definitions/BaseTileIconButton"},"maxItems":4,"title":"Кнопки","type":"array"},"description":{"title":"Описание","type":"string"},"image":{"$ref":"#/definitions/Picture"},"items":{"items":{"type":"string"},"title":"Список","type":"array"},"title":{"title":"Заголовок","type":"string"},"titleSize":{"$ref":"#/definitions/TitleSize","default":"M","title":"Размер заголовка"},"version":{"$ref":"#/definitions/BlockVersion"}},"title":"Плитка","type":"object"},"BaseTileIconButton":{"properties":{"aboveText":{"title":"Верхний текст","type":"string"},"href":{"title":"URL (href)","type":"string"},"icon":{"$ref":"#/definitions/IconName"},"target":{"$ref":"#/definitions/Target"},"text":{"title":"Текст","type":"string"},"version":{"$ref":"#/definitions/ButtonVersion"}},"type":"object"},"Benefit":{"properties":{"description":{"title":"Описание","type":"string"},"icon":{"$ref":"#/definitions/IconName"},"label":{"title":"Название","type":"string"}},"title":"Преимущество","type":"object"},"BenefitsBlockContent":{"properties":{"benefits":{"items":{"$ref":"#/definitions/Benefit"},"maxItems":6,"title":"Список преимуществ","type":"array"},"title":{"title":"Заголовок","type":"string"}},"title":"Блок преимущества","type":"object"},"BlockItemVersion":{"enum":["primary","secondary"],"title":"Версия списка","type":"string"},"BlockVersion":{"enum":["primary","secondary"],"enumNames":["Основная","Второстепенная"],"title":"Цвет плитки","type":"string"},"ButtonProps":{"properties":{"href":{"title":"URL (href)","type":"string"},"target":{"$ref":"#/definitions/Target"},"text":{"title":"Текст","type":"string"},"version":{"$ref":"#/definitions/ButtonVersion"}},"type":"object"},"ButtonVersion":{"enum":["primary","secondary"],"enumNames":["Основная","Второстепенная"],"title":"Цвет кнопки","type":"string"},"ButtonWithIconProps":{"properties":{"aboveText":{"title":"Верхний текст","type":"string"},"href":{"title":"URL (href)","type":"string"},"target":{"$ref":"#/definitions/Target"},"text":{"title":"Текст","type":"string"},"version":{"$ref":"#/definitions/ButtonVersion"}},"type":"object"},"CalculatorParams":{"properties":{"isAnnuity":{"type":"boolean"},"maxMonths":{"type":"number"},"maxSum":{"type":"number"},"minMonths":{"type":"number"},"minSum":{"type":"number"},"rateWithInsurance":{"type":"number"},"rateWithoutInsurance":{"type":"number"}},"type":"object"},"CellData":{"properties":{"description":{"title":"Описание","type":"string"},"label":{"title":"Заголовок","type":"string"}},"title":"Ячейка","type":"object"},"Column":{"properties":{"data":{"items":{"items":{"$ref":"#/definitions/CellData"},"type":"array"},"title":"Данные","type":"array"},"header":{"$ref":"#/definitions/ColumnHeader"}},"title":"Продукт","type":"object"},"ColumnHeader":{"properties":{"icon":{"$ref":"#/definitions/IconName"},"link":{"$ref":"#/definitions/LinkProps"},"title":{"title":"Заголовок","type":"string"}},"title":"Шапка колонки","type":"object"},"ComparisonTableContent":{"properties":{"columns":{"items":{"$ref":"#/definitions/Column"},"title":"Продукты","type":"array"},"isColoredFirstColumn":{"title":"Закрасить первую колонку","type":"boolean"},"rowHeaders":{"items":{"$ref":"#/definitions/RowHeader"},"title":"Параметры","type":"array"},"title":{"title":"Заголовок","type":"string"},"visibleRowLength":{"title":"Отображать заданное количество строк","type":"number"}},"title":"Сравнительная таблица","type":"object"},"ContactInfo":{"properties":{"description":{"title":"Описание","type":"string"},"text":{"title":"Текст","type":"string"},"type":{"$ref":"#/definitions/ContactType"}},"title":"Контакт","type":"object"},"ContactType":{"enum":["tel","email"],"enumNames":["Телефон","Почта"],"title":"Тип контакта","type":"string"},"CreditCalculatorContent":{"properties":{"directoryName":{"title":"Справочник","type":"string"}},"title":"Кредитный калькулятор","type":"object"},"CreditCalculatorData":{"properties":{"rows":{"items":{"$ref":"#/definitions/CalculatorParams"},"type":"array"}},"type":"object"},"ExchangeRateTileContent":{"properties":{"title":{"title":"Заголовок","type":"string"}},"title":"Курсы валют","type":"object"},"FooterContent":{"properties":{"contacts":{"items":{"$ref":"#/definitions/ContactInfo"},"title":"Контакты","type":"array"},"documents":{"items":{"$ref":"#/definitions/LinkProps"},"title":"Обязательные документы","type":"array"},"relatedEnterprises":{"items":{"$ref":"#/definitions/LinkProps"},"title":"Другие предприятия","type":"array"},"socialMedia":{"items":{"$ref":"#/definitions/SocialMedia"},"title":"Социальные сети","type":"array"},"topItems":{"items":{"$ref":"#/definitions/TopMenuItem"},"title":"Дополнительное меню","type":"array"}},"required":["topItems"],"title":"Подвал","type":"object"},"GalleryCard":{"properties":{"description":{"title":"Описание","type":"string"},"href":{"title":"Ссылка","type":"string"},"image":{"$ref":"#/definitions/Picture"},"items":{"items":{"type":"string"},"title":"Список","type":"array"},"title":{"title":"Заголовок","type":"string"}},"title":"Карточка","type":"object"},"GalleryContent":{"properties":{"cards":{"items":{"$ref":"#/definitions/GalleryCard"},"title":"Карточки","type":"array"},"description":{"title":"Описание","type":"string"},"title":{"title":"Заголовок","type":"string"}},"title":"Галерея","type":"object"},"HeaderContent":{"properties":{"defaultLocation":{"default":"Москва","title":"Город по-умолчанию","type":"string"},"topItems":{"items":{"$ref":"#/definitions/TopMenuItem"},"title":"Дополнительное меню","type":"array"}},"required":["defaultLocation","topItems"],"title":"Шапка","type":"object"},"HeadlineBgColor":{"enum":["transparent","bg-white"],"enumNames":["Прозрачный","Белый"],"title":"Цвет фона","type":"string"},"HeadlineContent":{"properties":{"align":{"$ref":"#/definitions/AlignType"},"bgColor":{"$ref":"#/definitions/HeadlineBgColor"},"description":{"title":"Описание","type":"string"},"title":{"title":"Заголовок","type":"string"},"titleSize":{"$ref":"#/definitions/TitleSize","default":"M","title":"Размер заголовка"}},"title":"Заголовок","type":"object"},"IconName":{"enum":["ActualBalanceIcon","AppleIcon","CalendarCircleIcon","CalendarIcon","CardIcon","CardPosIcon","CardTickIcon","ClockIcon","ComfortableCompIcon","DiscountShape","DocIcon","DocumentText","DollarIcon","EmptyWalletChangeIcon","EmptyWalletIcon","EuroIcon","GlassIcon","GridIcon","JCBIcon","LoupeIcon","MasterCardIcon","MinusIcon","MirIcon","MoneyIcon","MonitorMobileIcon","NewDocIcon","OkIcon","PassSendIcon","PercentageSquareIcon","PlayMarketIcon","PlusIcon","Profile2UserIcon","ProfileIcon","ShieldTickIcon","SignDocsIcon","TelegramIcon","UnionPayIcon","UserIcon","VisaIcon","VKIcon","WalletIcon"],"enumNames":["Деньги","Лого «Apple»","Скруглённый календарь","Календарь","Кред. карта","Кред. карта под наклоном","Кред. карта с галочкой","Часы","Кресло","Скидка","Документ","Документ с текстом","Доллар","Пустой кошелёк с возвратом","Пустой кошелёк","Евро","Зеркало","Сетка","JCB","Лупа","MasterCard","Минус","МИР","Деньги","Монитор и мобильный","Новый документ","Лого «Одноклассники»","Бизнес","Проценты","Лого «PlayMarket»","Плюс","Профиль, 2 персоны","Профиль","Безопасность","Подписанные документы","Лого «Telegram»","UnionPay","Пользователь","Visa","Лого «VK»","Кошелёк"],"title":"Иконка","type":"string"},"Img":{"properties":{"alt":{"title":"Альтернативный текст (alt)","type":"string"},"src":{"title":"Картинка","type":"string"},"title":{"title":"Текст подсказки (title)","type":"string"}},"required":["src"],"type":"object"},"ImgSource":{"properties":{"format":{"enum":["jpeg","jpg","png","gif","webp","heif","avif"],"title":"Формат","type":"string"},"size":{"properties":{"height":{"title":"Высота","type":"number"},"width":{"title":"Ширина","type":"number"}},"title":"Размер изображения","type":"object"},"src":{"title":"Картинка","type":"string"}},"required":["src"],"type":"object"},"LinkColumnsMode":{"enum":["single","double"],"title":"Режим отображения списка","type":"string"},"LinkDocsContent":{"properties":{"align":{"$ref":"#/definitions/AlignType"},"columnsMode":{"$ref":"#/definitions/LinkColumnsMode","title":"Отображение списка"},"documents":{"items":{"$ref":"#/definitions/LinkDocsItem"},"title":"Список","type":"array"},"icon":{"$ref":"#/definitions/IconName","title":"Название иконки"},"title":{"title":"Заголовок","type":"string"}},"title":"Список документов","type":"object"},"LinkDocsItem":{"properties":{"fileSize":{"title":"размер файла","type":"string"},"href":{"title":"URL (href)","type":"string"},"target":{"$ref":"#/definitions/Target"},"text":{"title":"Текст","type":"string"}},"title":"Элемент списка","type":"object"},"LinkProps":{"properties":{"href":{"title":"URL (href)","type":"string"},"target":{"$ref":"#/definitions/Target"},"text":{"title":"Текст","type":"string"}},"required":["text","href"],"title":"Ссылка","type":"object"},"MiniGalleryContent":{"properties":{"cards":{"items":{"$ref":"#/definitions/GalleryCard"},"title":"Карточки","type":"array"},"description":{"title":"Описание","type":"string"},"title":{"title":"Заголовок","type":"string"}},"title":"Мини-галерея","type":"object"},"MobileAppTileContent":{"properties":{"buttons":{"items":{"$ref":"#/definitions/BaseTileIconButton"},"maxItems":4,"title":"Кнопки","type":"array"},"qr":{"$ref":"#/definitions/QRCode"},"title":{"title":"Заголовок","type":"string"}},"title":"Мобильное приложение","type":"object"},"Picture":{"properties":{"alt":{"title":"Альтернативный текст (alt)","type":"string"},"format":{"enum":["jpeg","jpg","png","gif","webp","heif","avif"],"title":"Формат","type":"string"},"size":{"properties":{"height":{"title":"Высота","type":"number"},"width":{"title":"Ширина","type":"number"}},"title":"Размер изображения","type":"object"},"sources":{"items":{"$ref":"#/definitions/ImgSource"},"title":"Другие форматы","type":"array"},"src":{"title":"Картинка","type":"string"},"title":{"title":"Текст подсказки (title)","type":"string"}},"required":["src"],"title":"Изображение","type":"object"},"PictureTextContent":{"properties":{"benefits":{"items":{"$ref":"#/definitions/Benefit"},"title":"Список преимуществ","type":"array"},"image":{"$ref":"#/definitions/Picture"},"title":{"title":"Заголовок","type":"string"}},"title":"Картинка с текстом","type":"object"},"ProductBlockContent":{"properties":{"align":{"$ref":"#/definitions/AlignType"},"benefits":{"items":{"$ref":"#/definitions/Benefit"},"title":"Преимущества","type":"array"},"breadcrumbs":{"items":{"$ref":"#/definitions/LinkProps"},"title":"Хлебные крошки","type":"array"},"buttons":{"items":{"$ref":"#/definitions/BaseTileIconButton"},"maxItems":4,"title":"Кнопки","type":"array"},"description":{"title":"Описание","type":"string"},"image":{"$ref":"#/definitions/Picture"},"items":{"items":{"type":"string"},"title":"Список","type":"array"},"title":{"title":"Заголовок","type":"string"},"titleSize":{"$ref":"#/definitions/TitleSize","default":"M","title":"Размер заголовка"},"version":{"$ref":"#/definitions/BlockVersion"}},"title":"Продуктовый блок","type":"object"},"ProductBlockInnerCommonProps":{"properties":{"align":{"$ref":"#/definitions/AlignType"},"benefits":{"items":{"$ref":"#/definitions/Benefit"},"title":"Преимущества","type":"array"},"buttons":{"items":{"$ref":"#/definitions/BaseTileIconButton"},"maxItems":4,"title":"Кнопки","type":"array"},"description":{"title":"Описание","type":"string"},"image":{"$ref":"#/definitions/Picture"},"items":{"items":{"type":"string"},"title":"Список","type":"array"},"title":{"title":"Заголовок","type":"string"},"titleSize":{"$ref":"#/definitions/TitleSize","default":"M","title":"Размер заголовка"},"version":{"$ref":"#/definitions/BlockVersion"}},"type":"object"},"ProductGalleryContent":{"properties":{"slides":{"items":{"$ref":"#/definitions/ProductSlide"},"title":"Слайды","type":"array"}},"title":"Продуктовая галерея","type":"object"},"ProductSlide":{"properties":{"nav":{"properties":{"desc":{"title":"Описание","type":"string"},"title":{"title":"Заголовок","type":"string"}},"required":["title","desc"],"title":"Кнопка под слайдом","type":"object"},"productBlock":{"$ref":"#/definitions/ProductBlockInnerCommonProps","title":"Содержимое слайда"}},"required":["nav","productBlock"],"title":"Слайд","type":"object"},"ProductTileContent":{"properties":{"align":{"$ref":"#/definitions/AlignType"},"benefits":{"items":{"$ref":"#/definitions/Benefit"},"title":"Преимущества","type":"array"},"buttons":{"items":{"$ref":"#/definitions/BaseTileIconButton"},"maxItems":4,"title":"Кнопки","type":"array"},"description":{"title":"Описание","type":"string"},"image":{"$ref":"#/definitions/Picture"},"items":{"items":{"type":"string"},"title":"Список","type":"array"},"title":{"title":"Заголовок","type":"string"},"titleSize":{"$ref":"#/definitions/TitleSize","default":"M","title":"Размер заголовка"},"version":{"$ref":"#/definitions/BlockVersion"}},"title":"Продуктовая плитка","type":"object"},"PromoTileContent":{"properties":{"align":{"$ref":"#/definitions/AlignType"},"buttons":{"items":{"$ref":"#/definitions/BaseTileIconButton"},"maxItems":4,"title":"Кнопки","type":"array"},"date":{"title":"Дата публикации","type":"string"},"description":{"title":"Описание","type":"string"},"image":{"$ref":"#/definitions/Picture"},"items":{"items":{"type":"string"},"title":"Список","type":"array"},"title":{"title":"Заголовок","type":"string"},"titleSize":{"$ref":"#/definitions/TitleSize","default":"M","title":"Размер заголовка"},"version":{"$ref":"#/definitions/BlockVersion"}},"title":"Акции","type":"object"},"QRCode":{"properties":{"href":{"title":"Ссылка","type":"string"},"src":{"title":"QR код","type":"string"}},"title":"QR код","type":"object"},"RowHeader":{"properties":{"title":{"title":"Заголовок","type":"string"}},"title":"Параметр","type":"object"},"SitemapProps":{"properties":{"topItems":{"items":{"$ref":"#/definitions/TopMenuItem"},"title":"Дополнительное меню","type":"array"}},"type":"object"},"SocialMedia":{"properties":{"href":{"title":"URL (href)","type":"string"},"target":{"$ref":"#/definitions/Target"}},"required":["href"],"type":"object"},"Step":{"properties":{"description":{"title":"Описание","type":"string"},"icon":{"$ref":"#/definitions/IconName"},"label":{"title":"Название","type":"string"}},"required":["label"],"title":"Шаг","type":"object"},"StepsBlockContent":{"properties":{"steps":{"items":{"$ref":"#/definitions/Step"},"maxItems":6,"title":"Шаги","type":"array"},"title":{"title":"Заголовок","type":"string"}},"title":"Блок шаги","type":"object"},"Target":{"enum":["_blank","_self","_parent","_top"],"enumNames":["self (текущее окно или фрейм)","blank (новое окно)","parent (фрейм-родитель)","top (текущее окно)"],"title":"Таргет (target)","type":"string"},"TariffsTableCellData":{"properties":{"buttons":{"items":{"$ref":"#/definitions/BaseTileIconButton"},"title":"Кнопки","type":"array"},"description":{"title":"Описание","type":"string"},"image":{"$ref":"#/definitions/Picture"},"label":{"title":"Заголовок","type":"string"},"list":{"$ref":"#/definitions/TariffsTableList"}},"title":"Ячейка","type":"object"},"TariffsTableColumn":{"properties":{"data":{"items":{"items":{"$ref":"#/definitions/TariffsTableCellData"},"type":"array"},"title":"Данные","type":"array"}},"title":"Колонка","type":"object"},"TariffsTableContent":{"properties":{"columns":{"items":{"$ref":"#/definitions/TariffsTableColumn"},"title":"Колонки","type":"array"},"rowHeaders":{"items":{"$ref":"#/definitions/TariffsTableRowHeader"},"title":"Параметры","type":"array"},"title":{"title":"Заголовок","type":"string"}},"title":"Таблица тарифов","type":"object"},"TariffsTableList":{"properties":{"isDotted":{"title":"Маркеры","type":"boolean"},"items":{"items":{"type":"string"},"title":"Элементы списка","type":"array"},"version":{"$ref":"#/definitions/BlockItemVersion"}},"title":"Список","type":"object"},"TariffsTableRowData":{"properties":{"data":{"items":{"items":{"$ref":"#/definitions/TariffsTableCellData"},"type":"array"},"type":"array"},"header":{"$ref":"#/definitions/TariffsTableRowHeader"}},"required":["header","data"],"title":"Ряд","type":"object"},"TariffsTableRowHeader":{"properties":{"icon":{"$ref":"#/definitions/IconName"},"title":{"title":"Заголовок","type":"string"}},"title":"Параметр","type":"object"},"TextBlockContent":{"properties":{"blockVersion":{"$ref":"#/definitions/TextBlockVersion"},"description":{"title":"Описание","type":"string"},"iconVersion":{"$ref":"#/definitions/TextBlockIconVersion"},"image":{"$ref":"#/definitions/Picture"},"title":{"title":"Заголовок","type":"string"}},"title":"Текстовый блок","type":"object"},"TextBlockIconVersion":{"enum":["none","small","big"],"enumNames":["Нет","Маленькая","Большая"],"title":"Размер иконки","type":"string"},"TextBlockVersion":{"enum":["primary","secondary","secondary-light"],"enumNames":["Основная","Второстепенная","Второстепенная прозрачная"],"title":"Цвет плитки","type":"string"},"TileContent":{"$ref":"#/definitions/BaseTileCommonProps","title":"Плитка"},"TitleSize":{"enum":["XL","L","M","S"],"type":"string"},"TopMenuItem":{"properties":{"href":{"title":"URL (href)","type":"string"},"target":{"$ref":"#/definitions/Target"},"text":{"title":"Текст","type":"string"}},"required":["text","href"],"title":"Ссылка","type":"object"}}}
@@ -302,15 +302,15 @@
302
302
  }
303
303
 
304
304
  const listStyleMap = {
305
- primary: 'bg-primary-main',
306
- secondary: 'bg-white',
305
+ primary: 'bg-primary-main w-[8px] h-[8px] min-w-[8px] min-h-[8px] mt-2 rounded-full',
306
+ secondary: 'bg-secondary-text w-[6px] h-[6px] min-w-[6px] min-h-[6px] mt-2.5 rounded-full',
307
307
  };
308
308
  const textStyleMap = {
309
309
  primary: 'text-primary-text',
310
- secondary: 'text-white',
310
+ secondary: 'text-secondary-text',
311
311
  };
312
- const BlockItem = JSX(({ className, text, children, version = 'primary' }) => {
313
- return (jsxs("div", { className: `inline-block flex ${className || ''}`, role: "listitem", children: [jsx("div", { className: `inline-block w-[8px] h-[8px] min-w-[8px] min-h-[8px] rounded-full mt-2 ${listStyleMap[version]}` }), jsx("span", { className: `text-base font-normal font-sans mx-3 ${textStyleMap[version]}`, children: text || children })] }));
312
+ const BlockItem = JSX(({ className, isDotted = true, text, children, version = 'primary' }) => {
313
+ return (jsxs("div", { className: `inline-block flex ${className || ''}`, role: "listitem", children: [isDotted && jsx("div", { className: `inline-block mr-3 ${listStyleMap[version]}` }), jsx("span", { className: `text-base font-normal font-sans mr-3 ${textStyleMap[version]}`, children: text || children })] }));
314
314
  });
315
315
 
316
316
  const buttonStyleMap = {
@@ -457,7 +457,7 @@
457
457
  return (jsxs("section", { className: `font-sans px-9 py-4 flex ${textBlockStyleMap.background} ${className || ''}`, children: [iconVersion && iconVersion === 'small' ? renderIcon(textBlockStyleMap.icon) : null, iconVersion && iconVersion === 'big' ? renderImage(image) : null, jsxs("div", { className: "py-0.5", children: [title && (jsx("div", { className: `font-medium text-base mb-1 ${textBlockStyleMap.title}`, children: title })), description && (jsx("div", { className: `text-sm ${textBlockStyleMap.description}`, children: description }))] })] }));
458
458
  });
459
459
  function renderIcon(className) {
460
- return (jsx("div", { className: `pt-1.5 pr-4`, children: jsx("div", { className: `rounded-full h-4 w-4 text-center text-xs ${className}`, children: "i" }) }));
460
+ return (jsx("div", { className: `pt-1.5 pl-1 pr-4`, children: jsx("div", { className: `rounded-full h-4 w-4 text-center text-xs ${className}`, children: "i" }) }));
461
461
  }
462
462
  function renderImage(image) {
463
463
  return image?.src ? jsx(Img, { className: "pt-0.5 pr-3", image: image }) : null;
@@ -528,25 +528,38 @@
528
528
 
529
529
  const TableRowContainer = JSX(({ children }) => (jsx("div", { className: "self-start flex flex-col", role: "row", children: jsx("div", { className: "flex", children: children }) })));
530
530
 
531
+ const carouselContainerClassesMap = {
532
+ comparison: 'flex gap-4 duration-1000',
533
+ tariff: 'flex flex-grow duration-1000',
534
+ };
535
+ const TableCarouselContainer = JSX(({ children, activeCardIndex, columnWidth, version = 'comparison' }) => (jsx("div", { className: "flex flex-1 overflow-hidden", children: jsx("div", { className: carouselContainerClassesMap[version], style: { transform: `translateX(-${activeCardIndex * columnWidth}px)` }, children: children }) })));
536
+
531
537
  const GRADIENT = 'bg-gradient-to-r from-main-gradient-start to-main-gradient-end';
532
538
  const BORDER_CLASSES = 'border-main-stroke border-solid border';
533
- const DIVIDER_CLASSES = 'border-main-divider border border-t-0 border-x-0';
534
- const FIRST_CELL_CLASSES = 'w-[200px] mr-6';
535
- const COLS_LENGTH_FOR_SCROLL = 2;
536
- const COLUMN_WIDTH = 4 * 80 + 4 * 4; // w-80 + gap-4 = 336px
537
-
538
- const TableCarouselContainer = JSX(({ children, activeCardIndex }) => (jsx("div", { className: "flex flex-1 overflow-hidden", children: jsx("div", { className: "flex gap-4 duration-1000", style: { transform: `translateX(-${activeCardIndex * COLUMN_WIDTH}px)` }, children: children }) })));
539
+ const DIVIDER_CLASSES$1 = 'border-main-divider border border-t-0 border-x-0';
540
+ const FIRST_CELL_CLASSES$1 = 'w-[200px] mr-6';
541
+ const COLS_LENGTH_FOR_SCROLL$1 = 2;
542
+ const COLUMN_WIDTH$1 = 4 * 80 + 4 * 4; // w-80 + gap-4 = 336px
539
543
 
540
544
  const HeaderCell = JSX(({ icon, image, title, link }) => (jsxs("div", { className: `w-80 box-border flex flex-col items-center rounded-t-md border-b-0 px-7 pt-7 pb-12 ${BORDER_CLASSES} ${GRADIENT}`, role: "columnheader", scope: "col", children: [icon && !image?.src && (jsx(Icon, { className: "h-[63px] w-[63px] min-w-[63px] min-h-[63px] mb-4", name: icon, width: "63", height: "63" })), image?.src && jsx(Img, { className: "mb-4", image: image }), title && (jsx(Title, { size: "S", className: "font-medium m-0 text-center text-white", children: title })), link?.text && (jsx("div", { className: "mt-auto w-full", children: jsx(Button, { href: link.href, target: link.target, className: "mt-4 w-full text-primary-main bg-white hover:bg-secondary-hover active:bg-secondary-active", children: jsx("div", { className: "text-xs py-[11px]", children: link.text }) }) }))] })));
541
545
 
542
546
  const TableCell = JSX(({ cell, isFirstRow, isLastRow, isFillGradient }) => {
543
547
  const cellWrapperClasses = `w-80 box-border flex flex-col ${BORDER_CLASSES} ${!isLastRow ? 'border-y-0' : 'border-t-0 rounded-b-md'} ${isFillGradient ? GRADIENT : ''}`;
544
- const cellClasses = `mx-7 h-full ${DIVIDER_CLASSES} ${isFillGradient && isFirstRow ? 'border-t' : ''} ${!isLastRow ? 'border-solid' : ''}`;
545
- return (jsx("div", { className: cellWrapperClasses, role: "cell", children: jsx("div", { className: cellClasses, children: cell.map((item, i) => renderCellInner(item, i, isFillGradient)) }) }));
548
+ const cellClasses = `mx-7 h-full ${DIVIDER_CLASSES$1} ${isFillGradient && isFirstRow ? 'border-t' : ''} ${!isLastRow ? 'border-solid' : ''}`;
549
+ return (jsx("div", { className: cellWrapperClasses, role: "cell", children: jsx("div", { className: cellClasses, children: cell.map((item, i) => renderCellInner$1(item, i, isFillGradient)) }) }));
546
550
  });
547
- const renderCellInner = ({ label, description }, i, isFillGradient) => (jsxs("div", { className: "first:pt-7 pt-6 last:pb-7", children: [label && (jsx("h5", { className: `text-xl font-medium m-0 ${isFillGradient ? 'text-white' : ''}`, children: label })), description && (jsx("div", { className: `text-sm opacity-80 ${isFillGradient ? 'text-white' : 'text-secondary-text'}`, children: description }))] }, String(i)));
551
+ const renderCellInner$1 = ({ label, description }, i, isFillGradient) => (jsxs("div", { className: "first:pt-7 pt-6 last:pb-7", children: [label && (jsx("h5", { className: `text-xl font-medium m-0 ${isFillGradient ? 'text-white' : ''}`, children: label })), description && (jsx("div", { className: `text-sm opacity-80 ${isFillGradient ? 'text-white' : 'text-secondary-text'}`, children: description }))] }, String(i)));
548
552
 
549
- const TableRow = JSX(({ row: { header, data }, activeCardIndex, isColoredFirstColumn, isFirstRow, isLastRow }) => (jsxs(TableRowContainer, { children: [header?.title ? (jsx("div", { className: `text-sm py-7 ${DIVIDER_CLASSES} ${FIRST_CELL_CLASSES} ${!isLastRow ? 'border-solid' : ''}`, children: header.title })) : null, data?.length ? (jsx(TableCarouselContainer, { activeCardIndex: activeCardIndex, children: data.map((cell, i) => (jsx(TableCell, { cell: cell, isFirstRow: isFirstRow, isLastRow: isLastRow, isFillGradient: isColoredFirstColumn && i === 0 }, String(i)))) })) : null] })));
553
+ const TableRow = JSX(({ row: { header, data }, activeCardIndex, isColoredFirstColumn, isFirstRow, isLastRow }) => (jsxs(TableRowContainer, { children: [header?.title ? (jsx("div", { className: `text-sm py-7 ${DIVIDER_CLASSES$1} ${FIRST_CELL_CLASSES$1} ${!isLastRow ? 'border-solid' : ''}`, children: header.title })) : null, data?.length ? (jsx(TableCarouselContainer, { activeCardIndex: activeCardIndex, columnWidth: COLUMN_WIDTH$1, children: data.map((cell, i) => (jsx(TableCell, { cell: cell, isFirstRow: isFirstRow, isLastRow: isLastRow, isFillGradient: isColoredFirstColumn && i === 0 }, String(i)))) })) : null] })));
554
+
555
+ const useComparisonTableScroll = (colData, colsLengthForScroll, activeCardIndex, setActiveCardIndex) => {
556
+ const nextClick = () => setActiveCardIndex(activeCardIndex + 1);
557
+ const prevClick = () => setActiveCardIndex(activeCardIndex - 1);
558
+ const isScrollAvailable = colData?.length && colData.length > colsLengthForScroll;
559
+ const showNextButton = isScrollAvailable && colData?.length - activeCardIndex > colsLengthForScroll;
560
+ const showPrevButton = isScrollAvailable && activeCardIndex > 0;
561
+ return { nextClick, prevClick, isScrollAvailable, showNextButton, showPrevButton };
562
+ };
550
563
 
551
564
  const ComparisonTable = JSX(({ className, context, title, rowHeaders, columns, visibleRowLength = 0, isColoredFirstColumn = false, }) => {
552
565
  const router = context.useRouter();
@@ -561,13 +574,9 @@
561
574
  data: colData.map((col) => col?.[i] || [{}]),
562
575
  }))
563
576
  .slice(0, isShowAllRow ? rowHeaders.length : visibleRowLength);
564
- const nextClick = () => setActiveCardIndex(activeCardIndex + 1);
565
- const prevClick = () => setActiveCardIndex(activeCardIndex - 1);
577
+ const { nextClick, prevClick, isScrollAvailable, showNextButton, showPrevButton } = useComparisonTableScroll(colData, COLS_LENGTH_FOR_SCROLL$1, activeCardIndex, setActiveCardIndex);
566
578
  const showToggle = () => setIsShowAllRow(!isShowAllRow);
567
- const isScrollAvailable = colData?.length && colData.length > COLS_LENGTH_FOR_SCROLL;
568
- const showNextButton = isScrollAvailable && colData?.length - activeCardIndex > COLS_LENGTH_FOR_SCROLL;
569
- const showPrevButton = isScrollAvailable && activeCardIndex > 0;
570
- return (jsxs("section", { className: `bg-white font-sans py-[50px] pl-[50px] overflow-hidden text-primary-text relative ${className || ''}`, children: [jsx(Title, { className: "font-medium m-0 max-w-[47rem] text-center mb-9 mx-auto", children: title }), jsxs("div", { role: "table", children: [colHeaders?.length ? (jsxs(TableRowContainer, { children: [jsx("div", { className: FIRST_CELL_CLASSES, role: "columnheader", scope: "col" }), jsx(TableCarouselContainer, { activeCardIndex: activeCardIndex, children: colHeaders.map((header, i) => (jsx(HeaderCell, { ...header, link: header.link && useLink({ router, handlerDecorator }, header.link) }, String(i)))) })] })) : null, rowData?.length ? (jsxs("div", { className: "relative", children: [rowData.map((row, i, { length }) => (jsx(TableRow, { row: row, isFirstRow: i === 0, isLastRow: i + 1 === length, activeCardIndex: activeCardIndex, isColoredFirstColumn: isColoredFirstColumn }, String(i)))), isScrollAvailable ? (jsx("div", { children: jsxs("div", { className: "absolute top-7 right-7 z-10", children: [jsx(ArrowButton, { onClick: nextClick, disabled: !showNextButton, ariaLabel: "\u041F\u0440\u043E\u043B\u0438\u0441\u0442\u0430\u0442\u044C \u0432\u043F\u0440\u0430\u0432\u043E" }), jsx(ArrowButton, { className: "mt-4 rotate-180", onClick: prevClick, disabled: !showPrevButton, ariaLabel: "\u041F\u0440\u043E\u043B\u0438\u0441\u0442\u0430\u0442\u044C \u0432\u043B\u0435\u0432\u043E" })] }) })) : null] })) : null] }), isScrollAvailable ? (jsx("div", { className: "absolute top-0 right-0 bottom-0 w-[84px] bg-opacity-to-white" })) : null, visibleRowLength ? (jsx("div", { className: "pr-[50px]", children: jsxs("div", { className: "flex w-full", children: [jsx("div", { className: FIRST_CELL_CLASSES }), jsx("button", { onClick: showToggle, className: "mt-5 flex-1 border-main-stroke border-solid border text-primary-text bg-white hover:border-primary-main hover:text-primary-main", children: jsx("div", { className: "font-sans font-medium text-xs py-[11px]", children: !isShowAllRow ? 'Показать все параметры' : 'Скрыть' }) })] }) })) : null] }));
579
+ return (jsxs("section", { className: `bg-white font-sans py-[50px] pl-[50px] overflow-hidden text-primary-text relative ${className || ''}`, children: [jsx(Title, { className: "font-medium m-0 max-w-[47rem] text-center mb-9 mx-auto", children: title }), jsxs("div", { role: "table", children: [colHeaders?.length ? (jsxs(TableRowContainer, { children: [jsx("div", { className: FIRST_CELL_CLASSES$1, role: "columnheader", scope: "col" }), jsx(TableCarouselContainer, { activeCardIndex: activeCardIndex, columnWidth: COLUMN_WIDTH$1, children: colHeaders.map((header, i) => (jsx(HeaderCell, { ...header, link: header.link && useLink({ router, handlerDecorator }, header.link) }, String(i)))) })] })) : null, rowData?.length ? (jsxs("div", { className: "relative", children: [rowData.map((row, i, { length }) => (jsx(TableRow, { row: row, isFirstRow: i === 0, isLastRow: i + 1 === length, activeCardIndex: activeCardIndex, isColoredFirstColumn: isColoredFirstColumn }, String(i)))), isScrollAvailable ? (jsx("div", { children: jsxs("div", { className: "absolute top-7 right-7 z-10", children: [jsx(ArrowButton, { onClick: nextClick, disabled: !showNextButton, ariaLabel: "\u041F\u0440\u043E\u043B\u0438\u0441\u0442\u0430\u0442\u044C \u0432\u043F\u0440\u0430\u0432\u043E" }), jsx(ArrowButton, { className: "mt-4 rotate-180", onClick: prevClick, disabled: !showPrevButton, ariaLabel: "\u041F\u0440\u043E\u043B\u0438\u0441\u0442\u0430\u0442\u044C \u0432\u043B\u0435\u0432\u043E" })] }) })) : null] })) : null] }), isScrollAvailable ? (jsx("div", { className: "absolute top-0 right-0 bottom-0 w-[84px] bg-opacity-to-white" })) : null, visibleRowLength ? (jsx("div", { className: "pr-[50px]", children: jsxs("div", { className: "flex w-full", children: [jsx("div", { className: FIRST_CELL_CLASSES$1 }), jsx("button", { onClick: showToggle, className: "mt-5 flex-1 border-main-stroke border-solid border text-primary-text bg-white hover:border-primary-main hover:text-primary-main", children: jsx("div", { className: "font-sans font-medium text-xs py-[11px]", children: !isShowAllRow ? 'Показать все параметры' : 'Скрыть' }) })] }) })) : null] }));
571
580
  });
572
581
 
573
582
  function useCreditCalculatorData(useAsyncData, directoryName) {
@@ -1068,6 +1077,35 @@
1068
1077
  return (jsx("div", { className: "flex flex-col items-center text-center relative w-[276px]", children: jsxs("div", { className: "max-w-min", children: [jsx("h5", { className: "font-medium text-xl m-0 mt-4 whitespace-nowrap px-3", children: step.label }), step.description && (jsx("div", { className: "font-normal text-sm text-secondary-text mt-2", children: step.description }))] }) }, String(i)));
1069
1078
  };
1070
1079
 
1080
+ const DIVIDER_CLASSES = 'border-main-divider border border-t-0 border-x-0';
1081
+ const FIRST_CELL_CLASSES = 'w-[354px] flex-shrink-0';
1082
+ const COLS_LENGTH_FOR_SCROLL = 2;
1083
+ const COLUMN_WIDTH = 4 * 80 + 40; // w-80 + pl-10 = 360px
1084
+
1085
+ const TariffsTableCell = JSX(({ cell, isLastRow }) => {
1086
+ const cellWrapperClasses = `first:pl-0 pl-10 w-80 flex-grow flex flex-col border-solid border-main-divider border border-t-0 border-x-0 ${isLastRow ? 'border-t-0 rounded-b-md' : ''}`;
1087
+ const cellClasses = `h-full ${DIVIDER_CLASSES}`;
1088
+ return (jsx("div", { className: cellWrapperClasses, children: jsx("div", { className: cellClasses, children: cell.map((item, i) => renderCellInner(item, i)) }) }));
1089
+ });
1090
+ const renderCellInner = ({ label, description, list, image, buttons }, i) => (jsxs("div", { className: "first:pt-5 last:pb-5", children: [i > 0 && (jsx("div", { className: "border-main-divider border border-solid border-t-0 border-x-0 my-4" })), label && jsx("h5", { className: "text-xl font-medium m-0", children: label }), description && jsx("div", { className: "text-sm text-secondary-text", children: description }), list?.items?.length ? (jsx("div", { className: "flex flex-col justify-between items-start", children: jsx("div", { children: list.items.map((text, idx) => (jsx(BlockItem, { text: text, version: list.version ?? 'secondary', isDotted: list.isDotted ?? true }, String(idx)))) }) })) : null, image && jsx(Img, { image: image }), buttons?.length
1091
+ ? buttons.map(({ icon, ...buttonProps }, idx) => (jsx(Button, { className: `${idx > 0 ? 'ml-3' : ''} w-12 h-12`, appendLeft: icon && jsx(Icon, { name: icon, width: "24px", height: "24px" }), ...buttonProps }, String(idx))))
1092
+ : null] }));
1093
+
1094
+ const TariffsTableRow = JSX(({ row: { header, data }, activeCardIndex, isLastRow }) => {
1095
+ return (jsxs(TableRowContainer, { children: [jsx("div", { className: `text-sm py-5 ${FIRST_CELL_CLASSES} ${DIVIDER_CLASSES} ${!isLastRow ? 'border-solid' : ''}`, children: jsxs("div", { className: "flex items-center text-primary-text", children: [header?.icon && (jsx(Icon, { className: "pr-[14px]", name: header.icon, width: "24px", height: "24px" })), header?.title] }) }), data?.length ? (jsx(TableCarouselContainer, { activeCardIndex: activeCardIndex, columnWidth: COLUMN_WIDTH, version: "tariff", children: data.map((cell, i) => (jsx(TariffsTableCell, { cell: cell, isLastRow: isLastRow }, String(i)))) })) : null] }));
1096
+ });
1097
+
1098
+ const TariffsTable = JSX(({ className, context, title, rowHeaders, columns }) => {
1099
+ const [activeCardIndex, setActiveCardIndex] = context.useState(0);
1100
+ const colData = columns?.map(({ data }) => data) || [];
1101
+ const rowData = rowHeaders?.map((header, i) => ({
1102
+ header,
1103
+ data: colData.map((col) => col?.[i] || [{}]),
1104
+ }));
1105
+ const { nextClick, prevClick, isScrollAvailable, showNextButton, showPrevButton } = useComparisonTableScroll(colData, COLS_LENGTH_FOR_SCROLL, activeCardIndex, setActiveCardIndex);
1106
+ return (jsxs("section", { className: `bg-white font-sans py-[50px] pl-[50px] overflow-hidden text-primary-text relative ${className || ''}`, children: [jsx(Title, { className: "font-medium m-0 max-w-[47rem] text-center mb-9 mx-auto", children: title }), rowData?.length ? (jsxs("div", { className: "relative", children: [rowData.map((row, i, { length }) => (jsx(TariffsTableRow, { row: row, isLastRow: i + 1 === length, activeCardIndex: activeCardIndex }, String(i)))), isScrollAvailable ? (jsx("div", { children: jsxs("div", { className: "absolute top-7 right-7 z-10", children: [jsx(ArrowButton, { onClick: nextClick, disabled: !showNextButton, ariaLabel: "\u041F\u0440\u043E\u043B\u0438\u0441\u0442\u0430\u0442\u044C \u0432\u043F\u0440\u0430\u0432\u043E" }), jsx(ArrowButton, { className: "mt-4 rotate-180", onClick: prevClick, disabled: !showPrevButton, ariaLabel: "\u041F\u0440\u043E\u043B\u0438\u0441\u0442\u0430\u0442\u044C \u0432\u043B\u0435\u0432\u043E" })] }) })) : null] })) : null, isScrollAvailable ? (jsx("div", { className: "absolute top-0 right-0 bottom-0 w-[84px] bg-opacity-to-white" })) : null] }));
1107
+ });
1108
+
1071
1109
  const Blocks = {
1072
1110
  Accordion,
1073
1111
  BenefitsBlock,
@@ -1088,6 +1126,7 @@
1088
1126
  ProductTile,
1089
1127
  PromoTile,
1090
1128
  StepsBlock,
1129
+ TariffsTable,
1091
1130
  TextBlock,
1092
1131
  Tile,
1093
1132
  };