@redneckz/wildless-cms-uni-blocks 0.13.24 → 0.14.0

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 (1607) hide show
  1. package/bin/migration-scripts/0.13.22.js +28 -0
  2. package/bin/migration-scripts/0.14.0.js +26 -0
  3. package/bundle/EventBus/defaultEventBus.d.ts +3 -1
  4. package/bundle/blocks.schema.json +1 -1
  5. package/bundle/bundle.umd.js +574 -447
  6. package/bundle/bundle.umd.min.js +1 -1
  7. package/bundle/components/ApplicationForm/AcquiringFormState.d.ts +1 -1
  8. package/bundle/components/ApplicationForm/BusinessCardFormState.d.ts +1 -1
  9. package/bundle/components/ApplicationForm/CreditFormState.d.ts +1 -1
  10. package/bundle/components/ApplicationForm/WedFormState.d.ts +5 -4
  11. package/bundle/components/ApplicationForm/renderAcquiringDataOrganization.mobile.d.ts +4 -0
  12. package/bundle/components/ApplicationForm/renderCreditDataOrganization.mobile.d.ts +4 -0
  13. package/bundle/components/ApplicationForm/renderWedDataOrganization.d.ts +2 -1
  14. package/bundle/components/ApplicationForm/renderWedTextarea.d.ts +4 -0
  15. package/bundle/components/Bonus/BonusContent.d.ts +2 -0
  16. package/bundle/components/ComparisonTable/constants.d.ts +4 -4
  17. package/bundle/components/DepositFiltration/getChildSourceBook.d.ts +2 -0
  18. package/bundle/components/DepositFiltration/getPeriod.d.ts +9 -0
  19. package/bundle/components/DepositFiltration/useDepositsPeriods.d.ts +8 -0
  20. package/bundle/components/MobileAppTile/MobileAppTileContent.d.ts +0 -5
  21. package/bundle/components/MobileAppTile/renderList.d.ts +2 -1
  22. package/bundle/components/RollupItem/PrimaryFoldButton.d.ts +12 -0
  23. package/bundle/components/TariffsTable/EmbeddableCellData.d.ts +4 -4
  24. package/bundle/components/TariffsTable/TariffsTableContent.d.ts +0 -3
  25. package/bundle/components/TariffsTable/TariffsTableWrapper.d.ts +6 -0
  26. package/bundle/components/TariffsTable/constants.d.ts +2 -2
  27. package/bundle/components/TariffsTable/headlineAlign.d.ts +1 -0
  28. package/bundle/components/TariffsTable/headlineAlign.mobile.d.ts +1 -0
  29. package/bundle/model/AlignStyles.d.ts +1 -0
  30. package/bundle/model/AlignStyles.mobile.d.ts +1 -0
  31. package/bundle/ui-kit/BaseFiltration/BaseFiltrationInner.d.ts +3 -2
  32. package/bundle/ui-kit/BaseFiltration/getBlocksToRender.d.ts +2 -0
  33. package/bundle/ui-kit/BaseFiltration/shouldRenderBlock.d.ts +1 -0
  34. package/bundle/ui-kit/InnerTable/InnerTableBodyItem.mobile.d.ts +5 -0
  35. package/bundle/ui-kit/InnerTable/InnerTableButton.d.ts +3 -2
  36. package/bundle/ui-kit/InnerTable/getHorizontalShift.d.ts +2 -0
  37. package/bundle/ui-kit/InnerTable/linkButtonVersion.d.ts +1 -0
  38. package/bundle/ui-kit/InnerTable/linkButtonVersion.mobile.d.ts +1 -0
  39. package/bundle/ui-kit/InnerTable/renderInnerTableRow.d.ts +3 -0
  40. package/bundle/ui-kit/PopupManager/PopupAction.d.ts +14 -0
  41. package/bundle/ui-kit/PopupManager/PopupManager.d.ts +2 -0
  42. package/bundle/ui-kit/PopupManager/usePopupManager.d.ts +7 -0
  43. package/bundle/ui-kit/Select/Option.d.ts +4 -0
  44. package/bundle/ui-kit/Select/Select.d.ts +2 -5
  45. package/bundle/ui-kit/Select/SelectPopup.d.ts +11 -0
  46. package/bundle/ui-kit/Select/filterOptions.d.ts +2 -0
  47. package/bundle/ui-kit/Select/formatOption.d.ts +2 -0
  48. package/bundle/ui-kit/Select/useSelectPopup.d.ts +9 -0
  49. package/bundle/ui-kit/TextWithIcon/TextWithIcon.d.ts +12 -0
  50. package/bundle/ui-kit/YandexMap/YandexMap.d.ts +1 -1
  51. package/bundle/utils/fetchMultitudeJSON.d.ts +1 -0
  52. package/dist/EventBus/defaultEventBus.d.ts +3 -1
  53. package/dist/EventBus/defaultEventBus.js.map +1 -1
  54. package/dist/components/ApplicationForm/AcquiringFormState.d.ts +1 -1
  55. package/dist/components/ApplicationForm/ApplicationForm.js +1 -6
  56. package/dist/components/ApplicationForm/ApplicationForm.js.map +1 -1
  57. package/dist/components/ApplicationForm/ApplicationFormAcquiring.js +1 -1
  58. package/dist/components/ApplicationForm/ApplicationFormAcquiring.js.map +1 -1
  59. package/dist/components/ApplicationForm/ApplicationFormCredit.js +1 -1
  60. package/dist/components/ApplicationForm/ApplicationFormCredit.js.map +1 -1
  61. package/dist/components/ApplicationForm/ApplicationFormDeposit.js +1 -1
  62. package/dist/components/ApplicationForm/ApplicationFormDeposit.js.map +1 -1
  63. package/dist/components/ApplicationForm/ApplicationFormGrantSupport.js +1 -1
  64. package/dist/components/ApplicationForm/ApplicationFormGrantSupport.js.map +1 -1
  65. package/dist/components/ApplicationForm/ApplicationFormWed.js +35 -16
  66. package/dist/components/ApplicationForm/ApplicationFormWed.js.map +1 -1
  67. package/dist/components/ApplicationForm/BusinessCardFormState.d.ts +1 -1
  68. package/dist/components/ApplicationForm/CreditFormState.d.ts +1 -1
  69. package/dist/components/ApplicationForm/WedFormState.d.ts +5 -4
  70. package/dist/components/ApplicationForm/renderAcquiringDataOrganization.js +1 -1
  71. package/dist/components/ApplicationForm/renderAcquiringDataOrganization.js.map +1 -1
  72. package/dist/components/ApplicationForm/renderAcquiringDataOrganization.mobile.d.ts +4 -0
  73. package/dist/components/ApplicationForm/renderAcquiringDataOrganization.mobile.js +10 -0
  74. package/dist/components/ApplicationForm/renderAcquiringDataOrganization.mobile.js.map +1 -0
  75. package/dist/components/ApplicationForm/renderAcquiringRegion.js +1 -1
  76. package/dist/components/ApplicationForm/renderAcquiringRegion.js.map +1 -1
  77. package/dist/components/ApplicationForm/renderBusinessCardDataOrganization.js +1 -1
  78. package/dist/components/ApplicationForm/renderBusinessCardDataOrganization.js.map +1 -1
  79. package/dist/components/ApplicationForm/renderCreditDataOrganization.js +1 -1
  80. package/dist/components/ApplicationForm/renderCreditDataOrganization.js.map +1 -1
  81. package/dist/components/ApplicationForm/renderCreditDataOrganization.mobile.d.ts +4 -0
  82. package/dist/components/ApplicationForm/renderCreditDataOrganization.mobile.js +10 -0
  83. package/dist/components/ApplicationForm/renderCreditDataOrganization.mobile.js.map +1 -0
  84. package/dist/components/ApplicationForm/renderCreditParameters.js +1 -1
  85. package/dist/components/ApplicationForm/renderCreditParameters.js.map +1 -1
  86. package/dist/components/ApplicationForm/renderQuestionsInterested.js +3 -3
  87. package/dist/components/ApplicationForm/renderQuestionsInterested.js.map +1 -1
  88. package/dist/components/ApplicationForm/renderRegion.js.map +1 -1
  89. package/dist/components/ApplicationForm/renderRegionDepartment.js +1 -1
  90. package/dist/components/ApplicationForm/renderRegionDepartment.js.map +1 -1
  91. package/dist/components/ApplicationForm/renderSubmitButton.js +1 -1
  92. package/dist/components/ApplicationForm/renderSubmitButton.js.map +1 -1
  93. package/dist/components/ApplicationForm/renderWedDataOrganization.d.ts +2 -1
  94. package/dist/components/ApplicationForm/renderWedDataOrganization.js +5 -1
  95. package/dist/components/ApplicationForm/renderWedDataOrganization.js.map +1 -1
  96. package/dist/components/ApplicationForm/renderWedTextarea.d.ts +4 -0
  97. package/dist/components/ApplicationForm/renderWedTextarea.js +12 -0
  98. package/dist/components/ApplicationForm/renderWedTextarea.js.map +1 -0
  99. package/dist/components/Bonus/Bonus.js +4 -3
  100. package/dist/components/Bonus/Bonus.js.map +1 -1
  101. package/dist/components/Bonus/BonusContent.d.ts +2 -0
  102. package/dist/components/BonusBenefitsBlock/BonusBenefitsBlock.js +1 -1
  103. package/dist/components/BonusBenefitsBlock/BonusBenefitsBlock.js.map +1 -1
  104. package/dist/components/BonusBenefitsBlock/renderBonusBenefit.js +2 -2
  105. package/dist/components/BonusBenefitsBlock/renderBonusBenefit.js.map +1 -1
  106. package/dist/components/Calculator/BonusCalculatorForm.js +1 -1
  107. package/dist/components/Calculator/BonusCalculatorForm.js.map +1 -1
  108. package/dist/components/Calculator/BusinessDepositCalculatorForm.js +1 -1
  109. package/dist/components/Calculator/BusinessDepositCalculatorForm.js.map +1 -1
  110. package/dist/components/Calculator/CreditCalculatorForm.js +1 -1
  111. package/dist/components/Calculator/CreditCalculatorForm.js.map +1 -1
  112. package/dist/components/Calculator/DepositCalculatorForm.js +1 -1
  113. package/dist/components/Calculator/DepositCalculatorForm.js.map +1 -1
  114. package/dist/components/Calculator/RefinancingCalculatorForm.js +1 -1
  115. package/dist/components/Calculator/RefinancingCalculatorForm.js.map +1 -1
  116. package/dist/components/CardTransfer/CardTransfer.js +1 -1
  117. package/dist/components/Carousel/Carousel.js +1 -0
  118. package/dist/components/Carousel/Carousel.js.map +1 -1
  119. package/dist/components/CarouselCard/CarouselCard.js +1 -1
  120. package/dist/components/CarouselCard/CarouselCard.js.map +1 -1
  121. package/dist/components/CarouselCatalogCard/CarouselCatalogCard.js +2 -1
  122. package/dist/components/CarouselCatalogCard/CarouselCatalogCard.js.map +1 -1
  123. package/dist/components/CarouselLinks/CarouselLinkButton.js +5 -5
  124. package/dist/components/CarouselLinks/CarouselLinkButton.js.map +1 -1
  125. package/dist/components/CarouselLinks/CarouselLinks.js +4 -4
  126. package/dist/components/CarouselLinks/CarouselLinks.js.map +1 -1
  127. package/dist/components/CarouselProductCard/CarouselProductCard.js +2 -2
  128. package/dist/components/CarouselProductCard/CarouselProductCard.js.map +1 -1
  129. package/dist/components/CarouselRecommendationCard/CarouselRecommendationCard.js +2 -2
  130. package/dist/components/CarouselRecommendationCard/CarouselRecommendationCard.js.map +1 -1
  131. package/dist/components/ComparisonTable/ComparisonTable.js +1 -1
  132. package/dist/components/ComparisonTable/ComparisonTable.js.map +1 -1
  133. package/dist/components/ComparisonTable/ComparisonTableColumnHeaders.js +1 -1
  134. package/dist/components/ComparisonTable/ComparisonTableColumnHeaders.js.map +1 -1
  135. package/dist/components/ComparisonTable/HeaderCell.js +2 -1
  136. package/dist/components/ComparisonTable/HeaderCell.js.map +1 -1
  137. package/dist/components/ComparisonTable/TableCarouselContainer.js +1 -1
  138. package/dist/components/ComparisonTable/TableCarouselContainer.js.map +1 -1
  139. package/dist/components/ComparisonTable/TableCell.js +4 -3
  140. package/dist/components/ComparisonTable/TableCell.js.map +1 -1
  141. package/dist/components/ComparisonTable/TableCell.mobile.js +4 -6
  142. package/dist/components/ComparisonTable/TableCell.mobile.js.map +1 -1
  143. package/dist/components/ComparisonTable/TableColumn.js +3 -2
  144. package/dist/components/ComparisonTable/TableColumn.js.map +1 -1
  145. package/dist/components/ComparisonTable/TableRow.js +2 -1
  146. package/dist/components/ComparisonTable/TableRow.js.map +1 -1
  147. package/dist/components/ComparisonTable/constants.d.ts +4 -4
  148. package/dist/components/ComparisonTable/constants.js +5 -5
  149. package/dist/components/ComparisonTable/constants.js.map +1 -1
  150. package/dist/components/ContentPage/ContentPage.js +2 -1
  151. package/dist/components/ContentPage/ContentPage.js.map +1 -1
  152. package/dist/components/DepositFiltration/DepositFiltration.js +16 -13
  153. package/dist/components/DepositFiltration/DepositFiltration.js.map +1 -1
  154. package/dist/components/DepositFiltration/getChildSourceBook.d.ts +2 -0
  155. package/dist/components/DepositFiltration/getChildSourceBook.js +6 -0
  156. package/dist/components/DepositFiltration/getChildSourceBook.js.map +1 -0
  157. package/dist/components/DepositFiltration/getPeriod.d.ts +9 -0
  158. package/dist/components/DepositFiltration/getPeriod.js +7 -0
  159. package/dist/components/DepositFiltration/getPeriod.js.map +1 -0
  160. package/dist/components/DepositFiltration/useDepositsPeriods.d.ts +8 -0
  161. package/dist/components/DepositFiltration/useDepositsPeriods.js +24 -0
  162. package/dist/components/DepositFiltration/useDepositsPeriods.js.map +1 -0
  163. package/dist/components/ErrorBlock/ErrorBlock.js +2 -2
  164. package/dist/components/ErrorBlock/ErrorBlock.js.map +1 -1
  165. package/dist/components/Footer/Footer.mobile.js +1 -1
  166. package/dist/components/Footer/Footer.mobile.js.map +1 -1
  167. package/dist/components/Footer/HorizontalNavigation.mobile.js +1 -1
  168. package/dist/components/Footer/HorizontalNavigation.mobile.js.map +1 -1
  169. package/dist/components/Footer/MediaButton.js +1 -1
  170. package/dist/components/Footer/MediaButton.js.map +1 -1
  171. package/dist/components/Header/DropdownMenu.js +1 -1
  172. package/dist/components/Header/DropdownMenu.js.map +1 -1
  173. package/dist/components/Header/HeaderChatBotButton.js +1 -1
  174. package/dist/components/Header/HeaderChatBotButton.js.map +1 -1
  175. package/dist/components/MobileAppTile/MobileAppTile.js +2 -3
  176. package/dist/components/MobileAppTile/MobileAppTile.js.map +1 -1
  177. package/dist/components/MobileAppTile/MobileAppTileContent.d.ts +0 -5
  178. package/dist/components/MobileAppTile/renderDescription.js +1 -1
  179. package/dist/components/MobileAppTile/renderDescription.js.map +1 -1
  180. package/dist/components/MobileAppTile/renderList.d.ts +2 -1
  181. package/dist/components/MobileAppTile/renderList.js +2 -2
  182. package/dist/components/MobileAppTile/renderList.js.map +1 -1
  183. package/dist/components/MortgageFiltration/MortgageFiltration.js +3 -1
  184. package/dist/components/MortgageFiltration/MortgageFiltration.js.map +1 -1
  185. package/dist/components/RollupItem/PrimaryFoldButton.d.ts +12 -0
  186. package/dist/components/RollupItem/PrimaryFoldButton.js +12 -0
  187. package/dist/components/RollupItem/PrimaryFoldButton.js.map +1 -0
  188. package/dist/components/RollupItem/RollupItem.js +3 -14
  189. package/dist/components/RollupItem/RollupItem.js.map +1 -1
  190. package/dist/components/SafeDepositRental/RegionsAndBranches.js +1 -1
  191. package/dist/components/SafeDepositRental/RegionsAndBranches.js.map +1 -1
  192. package/dist/components/SafeDepositRental/SafeBoxCases.js +1 -1
  193. package/dist/components/SafeDepositRental/SafeBoxCases.js.map +1 -1
  194. package/dist/components/SafeDepositRental/SafeDepositRentalFields.js +1 -1
  195. package/dist/components/SafeDepositRental/SafeDepositRentalFields.js.map +1 -1
  196. package/dist/components/SafeDepositRental/SafeDepositRentalForm.js +1 -1
  197. package/dist/components/SafeDepositRental/SafeDepositRentalForm.js.map +1 -1
  198. package/dist/components/SafeDepositRental/SafeDepositRentalTotal.js +2 -2
  199. package/dist/components/SafeDepositRental/SafeDepositRentalTotal.js.map +1 -1
  200. package/dist/components/SafeDepositRental/WrapperSelect.js.map +1 -1
  201. package/dist/components/StickyBottomMenu/RenderMenuItems.js +1 -1
  202. package/dist/components/StickyBottomMenu/RenderMenuItems.js.map +1 -1
  203. package/dist/components/TariffsTable/EmbeddableCellData.d.ts +4 -4
  204. package/dist/components/TariffsTable/EmbeddableCellData.js +8 -6
  205. package/dist/components/TariffsTable/EmbeddableCellData.js.map +1 -1
  206. package/dist/components/TariffsTable/TariffsTable.js +3 -10
  207. package/dist/components/TariffsTable/TariffsTable.js.map +1 -1
  208. package/dist/components/TariffsTable/TariffsTableCell.js +1 -1
  209. package/dist/components/TariffsTable/TariffsTableCell.js.map +1 -1
  210. package/dist/components/TariffsTable/TariffsTableContent.d.ts +0 -3
  211. package/dist/components/TariffsTable/TariffsTableRenderCell.js +10 -10
  212. package/dist/components/TariffsTable/TariffsTableRenderCell.js.map +1 -1
  213. package/dist/components/TariffsTable/TariffsTableRow.js +2 -1
  214. package/dist/components/TariffsTable/TariffsTableRow.js.map +1 -1
  215. package/dist/components/TariffsTable/TariffsTableRowContainer.js +3 -1
  216. package/dist/components/TariffsTable/TariffsTableRowContainer.js.map +1 -1
  217. package/dist/components/TariffsTable/TariffsTableWrapper.d.ts +6 -0
  218. package/dist/components/TariffsTable/TariffsTableWrapper.js +14 -0
  219. package/dist/components/TariffsTable/TariffsTableWrapper.js.map +1 -0
  220. package/dist/components/TariffsTable/constants.d.ts +2 -2
  221. package/dist/components/TariffsTable/constants.js +3 -3
  222. package/dist/components/TariffsTable/constants.js.map +1 -1
  223. package/dist/components/TariffsTable/headlineAlign.d.ts +1 -0
  224. package/dist/components/TariffsTable/headlineAlign.js +4 -0
  225. package/dist/components/TariffsTable/headlineAlign.js.map +1 -0
  226. package/dist/components/TariffsTable/headlineAlign.mobile.d.ts +1 -0
  227. package/dist/components/TariffsTable/headlineAlign.mobile.js +4 -0
  228. package/dist/components/TariffsTable/headlineAlign.mobile.js.map +1 -0
  229. package/dist/content-page-repository/transformContentPage.js +5 -6
  230. package/dist/content-page-repository/transformContentPage.js.map +1 -1
  231. package/dist/model/AlignStyles.d.ts +1 -0
  232. package/dist/model/AlignStyles.js +4 -0
  233. package/dist/model/AlignStyles.js.map +1 -0
  234. package/dist/model/AlignStyles.mobile.d.ts +1 -0
  235. package/dist/model/AlignStyles.mobile.js +4 -0
  236. package/dist/model/AlignStyles.mobile.js.map +1 -0
  237. package/dist/services/search/search.js +1 -1
  238. package/dist/services/search/search.js.map +1 -1
  239. package/dist/services/search/textRank.js +1 -1
  240. package/dist/services/search/textRank.js.map +1 -1
  241. package/dist/services/search/useSearch.js +1 -1
  242. package/dist/services/search/useSearch.js.map +1 -1
  243. package/dist/ui-kit/BaseFiltration/BaseFiltrationInner.d.ts +3 -2
  244. package/dist/ui-kit/BaseFiltration/BaseFiltrationInner.js +1 -3
  245. package/dist/ui-kit/BaseFiltration/BaseFiltrationInner.js.map +1 -1
  246. package/dist/ui-kit/BaseFiltration/getBadgeCount.js +2 -2
  247. package/dist/ui-kit/BaseFiltration/getBadgeCount.js.map +1 -1
  248. package/dist/ui-kit/BaseFiltration/getBlocksToRender.d.ts +2 -0
  249. package/dist/ui-kit/BaseFiltration/getBlocksToRender.js +7 -0
  250. package/dist/ui-kit/BaseFiltration/getBlocksToRender.js.map +1 -0
  251. package/dist/ui-kit/BaseFiltration/shouldRenderBlock.d.ts +1 -0
  252. package/{mobile/dist/ui-kit/BaseFiltration/checkShouldRenderBlock.js → dist/ui-kit/BaseFiltration/shouldRenderBlock.js} +8 -5
  253. package/dist/ui-kit/BaseFiltration/shouldRenderBlock.js.map +1 -0
  254. package/dist/ui-kit/Button/renderButtonsSection.js +1 -4
  255. package/dist/ui-kit/Button/renderButtonsSection.js.map +1 -1
  256. package/dist/ui-kit/CookiePopup/CookiePopup.js +2 -2
  257. package/dist/ui-kit/CookiePopup/CookiePopup.js.map +1 -1
  258. package/dist/ui-kit/DialogManager/DialogManager.js +7 -11
  259. package/dist/ui-kit/DialogManager/DialogManager.js.map +1 -1
  260. package/dist/ui-kit/DialogManager/useDialogsList.js +1 -1
  261. package/dist/ui-kit/DialogManager/useDialogsList.js.map +1 -1
  262. package/dist/ui-kit/Foldable/DefaultFoldButton.js +7 -8
  263. package/dist/ui-kit/Foldable/DefaultFoldButton.js.map +1 -1
  264. package/dist/ui-kit/InnerTable/InnerTable.js +1 -1
  265. package/dist/ui-kit/InnerTable/InnerTable.js.map +1 -1
  266. package/dist/ui-kit/InnerTable/InnerTableBody.js +1 -5
  267. package/dist/ui-kit/InnerTable/InnerTableBody.js.map +1 -1
  268. package/dist/ui-kit/InnerTable/InnerTableBodyItem.js +2 -18
  269. package/dist/ui-kit/InnerTable/InnerTableBodyItem.js.map +1 -1
  270. package/dist/ui-kit/InnerTable/InnerTableBodyItem.mobile.d.ts +5 -0
  271. package/dist/ui-kit/InnerTable/InnerTableBodyItem.mobile.js +8 -0
  272. package/dist/ui-kit/InnerTable/InnerTableBodyItem.mobile.js.map +1 -0
  273. package/dist/ui-kit/InnerTable/InnerTableButton.d.ts +3 -2
  274. package/dist/ui-kit/InnerTable/InnerTableButton.js +2 -4
  275. package/dist/ui-kit/InnerTable/InnerTableButton.js.map +1 -1
  276. package/dist/ui-kit/InnerTable/InnerTableHeader.js +2 -1
  277. package/dist/ui-kit/InnerTable/InnerTableHeader.js.map +1 -1
  278. package/dist/ui-kit/InnerTable/getHorizontalShift.d.ts +2 -0
  279. package/dist/ui-kit/InnerTable/getHorizontalShift.js +7 -0
  280. package/dist/ui-kit/InnerTable/getHorizontalShift.js.map +1 -0
  281. package/dist/ui-kit/InnerTable/linkButtonVersion.d.ts +1 -0
  282. package/dist/ui-kit/InnerTable/linkButtonVersion.js +4 -0
  283. package/dist/ui-kit/InnerTable/linkButtonVersion.js.map +1 -0
  284. package/dist/ui-kit/InnerTable/linkButtonVersion.mobile.d.ts +1 -0
  285. package/dist/ui-kit/InnerTable/linkButtonVersion.mobile.js +4 -0
  286. package/dist/ui-kit/InnerTable/linkButtonVersion.mobile.js.map +1 -0
  287. package/dist/ui-kit/InnerTable/renderInnerTableRow.d.ts +3 -0
  288. package/dist/ui-kit/InnerTable/renderInnerTableRow.js +18 -0
  289. package/dist/ui-kit/InnerTable/renderInnerTableRow.js.map +1 -0
  290. package/dist/ui-kit/LocationDialog/LocationDialog.js +2 -2
  291. package/dist/ui-kit/LocationDialog/LocationDialog.js.map +1 -1
  292. package/dist/ui-kit/PopupManager/PopupAction.d.ts +14 -0
  293. package/dist/ui-kit/PopupManager/PopupAction.js +2 -0
  294. package/dist/ui-kit/PopupManager/PopupAction.js.map +1 -0
  295. package/dist/ui-kit/PopupManager/PopupManager.d.ts +2 -0
  296. package/dist/ui-kit/PopupManager/PopupManager.js +39 -0
  297. package/dist/ui-kit/PopupManager/PopupManager.js.map +1 -0
  298. package/dist/ui-kit/PopupManager/usePopupManager.d.ts +7 -0
  299. package/dist/ui-kit/PopupManager/usePopupManager.js +10 -0
  300. package/dist/ui-kit/PopupManager/usePopupManager.js.map +1 -0
  301. package/dist/ui-kit/Select/Option.d.ts +4 -0
  302. package/dist/ui-kit/Select/Option.js +2 -0
  303. package/dist/ui-kit/Select/Option.js.map +1 -0
  304. package/dist/ui-kit/Select/Select.d.ts +2 -5
  305. package/dist/ui-kit/Select/Select.js +18 -25
  306. package/dist/ui-kit/Select/Select.js.map +1 -1
  307. package/dist/ui-kit/Select/SelectPopup.d.ts +11 -0
  308. package/dist/ui-kit/Select/SelectPopup.js +10 -0
  309. package/dist/ui-kit/Select/SelectPopup.js.map +1 -0
  310. package/dist/ui-kit/Select/filterOptions.d.ts +2 -0
  311. package/dist/ui-kit/Select/filterOptions.js +19 -0
  312. package/dist/ui-kit/Select/filterOptions.js.map +1 -0
  313. package/dist/ui-kit/Select/formatOption.d.ts +2 -0
  314. package/dist/ui-kit/Select/formatOption.js +5 -0
  315. package/dist/ui-kit/Select/formatOption.js.map +1 -0
  316. package/dist/ui-kit/Select/useSelectPopup.d.ts +9 -0
  317. package/dist/ui-kit/Select/useSelectPopup.js +35 -0
  318. package/dist/ui-kit/Select/useSelectPopup.js.map +1 -0
  319. package/dist/ui-kit/TextWithIcon/TextWithIcon.d.ts +12 -0
  320. package/dist/ui-kit/TextWithIcon/TextWithIcon.js +10 -0
  321. package/dist/ui-kit/TextWithIcon/TextWithIcon.js.map +1 -0
  322. package/dist/ui-kit/YandexMap/YandexMap.d.ts +1 -1
  323. package/dist/ui-kit/YandexMap/YandexMap.js +6 -7
  324. package/dist/ui-kit/YandexMap/YandexMap.js.map +1 -1
  325. package/dist/utils/fetchMultitudeJSON.d.ts +1 -0
  326. package/dist/utils/fetchMultitudeJSON.js +9 -0
  327. package/dist/utils/fetchMultitudeJSON.js.map +1 -0
  328. package/dist/utils/jaroWinklerDistance.js.map +1 -0
  329. package/fonts/mohave/Mohave-Regular.ttf +0 -0
  330. package/fonts/mohave/Mohave-Regular.woff2 +0 -0
  331. package/fonts/mohave/mohave.css +2 -1
  332. package/lib/EventBus/defaultEventBus.d.ts +3 -1
  333. package/lib/EventBus/defaultEventBus.js.map +1 -1
  334. package/lib/common.css +1 -1
  335. package/lib/components/ApplicationForm/AcquiringFormState.d.ts +1 -1
  336. package/lib/components/ApplicationForm/ApplicationForm.js +1 -6
  337. package/lib/components/ApplicationForm/ApplicationForm.js.map +1 -1
  338. package/lib/components/ApplicationForm/ApplicationFormAcquiring.js +1 -1
  339. package/lib/components/ApplicationForm/ApplicationFormAcquiring.js.map +1 -1
  340. package/lib/components/ApplicationForm/ApplicationFormCredit.js +1 -1
  341. package/lib/components/ApplicationForm/ApplicationFormCredit.js.map +1 -1
  342. package/lib/components/ApplicationForm/ApplicationFormDeposit.js +1 -1
  343. package/lib/components/ApplicationForm/ApplicationFormDeposit.js.map +1 -1
  344. package/lib/components/ApplicationForm/ApplicationFormGrantSupport.js +1 -1
  345. package/lib/components/ApplicationForm/ApplicationFormGrantSupport.js.map +1 -1
  346. package/lib/components/ApplicationForm/ApplicationFormWed.js +36 -17
  347. package/lib/components/ApplicationForm/ApplicationFormWed.js.map +1 -1
  348. package/lib/components/ApplicationForm/BusinessCardFormState.d.ts +1 -1
  349. package/lib/components/ApplicationForm/CreditFormState.d.ts +1 -1
  350. package/lib/components/ApplicationForm/WedFormState.d.ts +5 -4
  351. package/lib/components/ApplicationForm/renderAcquiringDataOrganization.d.ts +1 -0
  352. package/lib/components/ApplicationForm/renderAcquiringDataOrganization.js +1 -1
  353. package/lib/components/ApplicationForm/renderAcquiringDataOrganization.js.map +1 -1
  354. package/lib/components/ApplicationForm/renderAcquiringDataOrganization.mobile.d.ts +3 -0
  355. package/lib/components/ApplicationForm/renderAcquiringDataOrganization.mobile.js +7 -0
  356. package/lib/components/ApplicationForm/renderAcquiringDataOrganization.mobile.js.map +1 -0
  357. package/lib/components/ApplicationForm/renderAcquiringRegion.js +1 -1
  358. package/lib/components/ApplicationForm/renderAcquiringRegion.js.map +1 -1
  359. package/lib/components/ApplicationForm/renderBusinessCardDataOrganization.js +1 -1
  360. package/lib/components/ApplicationForm/renderBusinessCardDataOrganization.js.map +1 -1
  361. package/lib/components/ApplicationForm/renderCreditDataOrganization.d.ts +1 -0
  362. package/lib/components/ApplicationForm/renderCreditDataOrganization.js +1 -1
  363. package/lib/components/ApplicationForm/renderCreditDataOrganization.js.map +1 -1
  364. package/lib/components/ApplicationForm/renderCreditDataOrganization.mobile.d.ts +3 -0
  365. package/lib/components/ApplicationForm/renderCreditDataOrganization.mobile.js +7 -0
  366. package/lib/components/ApplicationForm/renderCreditDataOrganization.mobile.js.map +1 -0
  367. package/lib/components/ApplicationForm/renderCreditParameters.js +1 -1
  368. package/lib/components/ApplicationForm/renderCreditParameters.js.map +1 -1
  369. package/lib/components/ApplicationForm/renderQuestionsInterested.js +3 -3
  370. package/lib/components/ApplicationForm/renderQuestionsInterested.js.map +1 -1
  371. package/lib/components/ApplicationForm/renderRegion.js.map +1 -1
  372. package/lib/components/ApplicationForm/renderRegionDepartment.js +1 -1
  373. package/lib/components/ApplicationForm/renderRegionDepartment.js.map +1 -1
  374. package/lib/components/ApplicationForm/renderSubmitButton.js +1 -1
  375. package/lib/components/ApplicationForm/renderSubmitButton.js.map +1 -1
  376. package/lib/components/ApplicationForm/renderWedDataOrganization.d.ts +2 -1
  377. package/lib/components/ApplicationForm/renderWedDataOrganization.js +6 -2
  378. package/lib/components/ApplicationForm/renderWedDataOrganization.js.map +1 -1
  379. package/lib/components/ApplicationForm/renderWedTextarea.d.ts +3 -0
  380. package/lib/components/ApplicationForm/renderWedTextarea.js +9 -0
  381. package/lib/components/ApplicationForm/renderWedTextarea.js.map +1 -0
  382. package/lib/components/Bonus/Bonus.js +4 -3
  383. package/lib/components/Bonus/Bonus.js.map +1 -1
  384. package/lib/components/Bonus/BonusContent.d.ts +2 -0
  385. package/lib/components/BonusBenefitsBlock/BonusBenefitsBlock.js +1 -1
  386. package/lib/components/BonusBenefitsBlock/BonusBenefitsBlock.js.map +1 -1
  387. package/lib/components/BonusBenefitsBlock/renderBonusBenefit.js +2 -2
  388. package/lib/components/BonusBenefitsBlock/renderBonusBenefit.js.map +1 -1
  389. package/lib/components/Calculator/BonusCalculatorForm.js +1 -1
  390. package/lib/components/Calculator/BonusCalculatorForm.js.map +1 -1
  391. package/lib/components/Calculator/BusinessDepositCalculatorForm.js +1 -1
  392. package/lib/components/Calculator/BusinessDepositCalculatorForm.js.map +1 -1
  393. package/lib/components/Calculator/CreditCalculatorForm.js +1 -1
  394. package/lib/components/Calculator/CreditCalculatorForm.js.map +1 -1
  395. package/lib/components/Calculator/DepositCalculatorForm.js +1 -1
  396. package/lib/components/Calculator/DepositCalculatorForm.js.map +1 -1
  397. package/lib/components/Calculator/RefinancingCalculatorForm.js +1 -1
  398. package/lib/components/Calculator/RefinancingCalculatorForm.js.map +1 -1
  399. package/lib/components/CardTransfer/CardTransfer.js +1 -1
  400. package/lib/components/Carousel/Carousel.js +1 -0
  401. package/lib/components/Carousel/Carousel.js.map +1 -1
  402. package/lib/components/CarouselCard/CarouselCard.js +1 -1
  403. package/lib/components/CarouselCard/CarouselCard.js.map +1 -1
  404. package/lib/components/CarouselCatalogCard/CarouselCatalogCard.fixture.d.ts +16 -0
  405. package/lib/components/CarouselCatalogCard/CarouselCatalogCard.fixture.mobile.d.ts +16 -0
  406. package/lib/components/CarouselCatalogCard/CarouselCatalogCard.js +2 -1
  407. package/lib/components/CarouselCatalogCard/CarouselCatalogCard.js.map +1 -1
  408. package/lib/components/CarouselLinks/CarouselLinkButton.js +5 -5
  409. package/lib/components/CarouselLinks/CarouselLinkButton.js.map +1 -1
  410. package/lib/components/CarouselLinks/CarouselLinks.js +4 -4
  411. package/lib/components/CarouselLinks/CarouselLinks.js.map +1 -1
  412. package/lib/components/CarouselProductCard/CarouselProductCard.js +2 -2
  413. package/lib/components/CarouselProductCard/CarouselProductCard.js.map +1 -1
  414. package/lib/components/CarouselRecommendationCard/CarouselRecommendationCard.js +2 -2
  415. package/lib/components/CarouselRecommendationCard/CarouselRecommendationCard.js.map +1 -1
  416. package/lib/components/ComparisonTable/ComparisonTable.js +2 -2
  417. package/lib/components/ComparisonTable/ComparisonTable.js.map +1 -1
  418. package/lib/components/ComparisonTable/ComparisonTableColumnHeaders.js +2 -2
  419. package/lib/components/ComparisonTable/ComparisonTableColumnHeaders.js.map +1 -1
  420. package/lib/components/ComparisonTable/HeaderCell.js +3 -2
  421. package/lib/components/ComparisonTable/HeaderCell.js.map +1 -1
  422. package/lib/components/ComparisonTable/TableCarouselContainer.js +1 -1
  423. package/lib/components/ComparisonTable/TableCarouselContainer.js.map +1 -1
  424. package/lib/components/ComparisonTable/TableCell.js +5 -4
  425. package/lib/components/ComparisonTable/TableCell.js.map +1 -1
  426. package/lib/components/ComparisonTable/TableCell.mobile.js +5 -7
  427. package/lib/components/ComparisonTable/TableCell.mobile.js.map +1 -1
  428. package/lib/components/ComparisonTable/TableColumn.js +4 -3
  429. package/lib/components/ComparisonTable/TableColumn.js.map +1 -1
  430. package/lib/components/ComparisonTable/TableRow.js +3 -2
  431. package/lib/components/ComparisonTable/TableRow.js.map +1 -1
  432. package/lib/components/ComparisonTable/constants.d.ts +4 -4
  433. package/lib/components/ComparisonTable/constants.js +4 -4
  434. package/lib/components/ComparisonTable/constants.js.map +1 -1
  435. package/lib/components/ContentPage/ContentPage.js +2 -1
  436. package/lib/components/ContentPage/ContentPage.js.map +1 -1
  437. package/lib/components/DepositFiltration/DepositFiltration.js +16 -13
  438. package/lib/components/DepositFiltration/DepositFiltration.js.map +1 -1
  439. package/lib/components/DepositFiltration/getChildSourceBook.d.ts +2 -0
  440. package/lib/components/DepositFiltration/getChildSourceBook.js +3 -0
  441. package/lib/components/DepositFiltration/getChildSourceBook.js.map +1 -0
  442. package/lib/components/DepositFiltration/getPeriod.d.ts +9 -0
  443. package/lib/components/DepositFiltration/getPeriod.js +4 -0
  444. package/lib/components/DepositFiltration/getPeriod.js.map +1 -0
  445. package/lib/components/DepositFiltration/useDepositsPeriods.d.ts +8 -0
  446. package/lib/components/DepositFiltration/useDepositsPeriods.js +21 -0
  447. package/lib/components/DepositFiltration/useDepositsPeriods.js.map +1 -0
  448. package/lib/components/ErrorBlock/ErrorBlock.js +2 -2
  449. package/lib/components/ErrorBlock/ErrorBlock.js.map +1 -1
  450. package/lib/components/Footer/Footer.mobile.js +1 -1
  451. package/lib/components/Footer/Footer.mobile.js.map +1 -1
  452. package/lib/components/Footer/HorizontalNavigation.mobile.js +1 -1
  453. package/lib/components/Footer/HorizontalNavigation.mobile.js.map +1 -1
  454. package/lib/components/Footer/MediaButton.js +1 -1
  455. package/lib/components/Footer/MediaButton.js.map +1 -1
  456. package/lib/components/Header/DropdownMenu.js +1 -1
  457. package/lib/components/Header/DropdownMenu.js.map +1 -1
  458. package/lib/components/Header/HeaderChatBotButton.js +1 -1
  459. package/lib/components/Header/HeaderChatBotButton.js.map +1 -1
  460. package/lib/components/MobileAppTile/MobileAppTile.js +2 -3
  461. package/lib/components/MobileAppTile/MobileAppTile.js.map +1 -1
  462. package/lib/components/MobileAppTile/MobileAppTileContent.d.ts +0 -5
  463. package/lib/components/MobileAppTile/renderDescription.js +1 -1
  464. package/lib/components/MobileAppTile/renderDescription.js.map +1 -1
  465. package/lib/components/MobileAppTile/renderList.d.ts +2 -1
  466. package/lib/components/MobileAppTile/renderList.js +2 -2
  467. package/lib/components/MobileAppTile/renderList.js.map +1 -1
  468. package/lib/components/MortgageFiltration/MortgageFiltration.js +3 -1
  469. package/lib/components/MortgageFiltration/MortgageFiltration.js.map +1 -1
  470. package/lib/components/RollupItem/PrimaryFoldButton.d.ts +12 -0
  471. package/lib/components/RollupItem/PrimaryFoldButton.js +10 -0
  472. package/lib/components/RollupItem/PrimaryFoldButton.js.map +1 -0
  473. package/lib/components/RollupItem/RollupItem.js +4 -15
  474. package/lib/components/RollupItem/RollupItem.js.map +1 -1
  475. package/lib/components/SafeDepositRental/RegionsAndBranches.js +1 -1
  476. package/lib/components/SafeDepositRental/RegionsAndBranches.js.map +1 -1
  477. package/lib/components/SafeDepositRental/SafeBoxCases.js +1 -1
  478. package/lib/components/SafeDepositRental/SafeBoxCases.js.map +1 -1
  479. package/lib/components/SafeDepositRental/SafeDepositRentalFields.js +1 -1
  480. package/lib/components/SafeDepositRental/SafeDepositRentalFields.js.map +1 -1
  481. package/lib/components/SafeDepositRental/SafeDepositRentalForm.js +1 -1
  482. package/lib/components/SafeDepositRental/SafeDepositRentalForm.js.map +1 -1
  483. package/lib/components/SafeDepositRental/SafeDepositRentalTotal.js +2 -2
  484. package/lib/components/SafeDepositRental/SafeDepositRentalTotal.js.map +1 -1
  485. package/lib/components/SafeDepositRental/WrapperSelect.js.map +1 -1
  486. package/lib/components/StickyBottomMenu/RenderMenuItems.js +1 -1
  487. package/lib/components/StickyBottomMenu/RenderMenuItems.js.map +1 -1
  488. package/lib/components/TariffsTable/EmbeddableCellData.d.ts +4 -5
  489. package/lib/components/TariffsTable/EmbeddableCellData.js +8 -6
  490. package/lib/components/TariffsTable/EmbeddableCellData.js.map +1 -1
  491. package/lib/components/TariffsTable/TariffsTable.fixture.d.ts +1 -2
  492. package/lib/components/TariffsTable/TariffsTable.fixture.mobile.d.ts +1 -1
  493. package/lib/components/TariffsTable/TariffsTable.js +3 -10
  494. package/lib/components/TariffsTable/TariffsTable.js.map +1 -1
  495. package/lib/components/TariffsTable/TariffsTableCell.js +1 -1
  496. package/lib/components/TariffsTable/TariffsTableCell.js.map +1 -1
  497. package/lib/components/TariffsTable/TariffsTableContent.d.ts +0 -3
  498. package/lib/components/TariffsTable/TariffsTableRenderCell.d.ts +0 -1
  499. package/lib/components/TariffsTable/TariffsTableRenderCell.js +11 -11
  500. package/lib/components/TariffsTable/TariffsTableRenderCell.js.map +1 -1
  501. package/lib/components/TariffsTable/TariffsTableRow.js +3 -2
  502. package/lib/components/TariffsTable/TariffsTableRow.js.map +1 -1
  503. package/lib/components/TariffsTable/TariffsTableRowContainer.js +3 -1
  504. package/lib/components/TariffsTable/TariffsTableRowContainer.js.map +1 -1
  505. package/lib/components/TariffsTable/TariffsTableWrapper.d.ts +6 -0
  506. package/lib/components/TariffsTable/TariffsTableWrapper.js +12 -0
  507. package/lib/components/TariffsTable/TariffsTableWrapper.js.map +1 -0
  508. package/lib/components/TariffsTable/constants.d.ts +2 -2
  509. package/lib/components/TariffsTable/constants.js +2 -2
  510. package/lib/components/TariffsTable/constants.js.map +1 -1
  511. package/lib/components/TariffsTable/headlineAlign.d.ts +1 -0
  512. package/lib/components/TariffsTable/headlineAlign.js +2 -0
  513. package/lib/components/TariffsTable/headlineAlign.js.map +1 -0
  514. package/lib/components/TariffsTable/headlineAlign.mobile.d.ts +1 -0
  515. package/lib/components/TariffsTable/headlineAlign.mobile.js +2 -0
  516. package/lib/components/TariffsTable/headlineAlign.mobile.js.map +1 -0
  517. package/lib/content-page-repository/transformContentPage.js +5 -6
  518. package/lib/content-page-repository/transformContentPage.js.map +1 -1
  519. package/lib/model/AlignStyles.d.ts +1 -0
  520. package/lib/model/AlignStyles.js +2 -0
  521. package/lib/model/AlignStyles.js.map +1 -0
  522. package/lib/model/AlignStyles.mobile.d.ts +1 -0
  523. package/lib/model/AlignStyles.mobile.js +2 -0
  524. package/lib/model/AlignStyles.mobile.js.map +1 -0
  525. package/lib/services/search/search.js +1 -1
  526. package/lib/services/search/search.js.map +1 -1
  527. package/lib/services/search/textRank.js +1 -1
  528. package/lib/services/search/textRank.js.map +1 -1
  529. package/lib/services/search/useSearch.js +1 -1
  530. package/lib/services/search/useSearch.js.map +1 -1
  531. package/lib/ui-kit/BaseFiltration/BaseFiltrationInner.d.ts +3 -2
  532. package/lib/ui-kit/BaseFiltration/BaseFiltrationInner.js +1 -3
  533. package/lib/ui-kit/BaseFiltration/BaseFiltrationInner.js.map +1 -1
  534. package/lib/ui-kit/BaseFiltration/getBadgeCount.js +2 -2
  535. package/lib/ui-kit/BaseFiltration/getBadgeCount.js.map +1 -1
  536. package/lib/ui-kit/BaseFiltration/getBlocksToRender.d.ts +2 -0
  537. package/lib/ui-kit/BaseFiltration/getBlocksToRender.js +4 -0
  538. package/lib/ui-kit/BaseFiltration/getBlocksToRender.js.map +1 -0
  539. package/lib/ui-kit/BaseFiltration/shouldRenderBlock.d.ts +1 -0
  540. package/{mobile/lib/ui-kit/BaseFiltration/checkShouldRenderBlock.js → lib/ui-kit/BaseFiltration/shouldRenderBlock.js} +6 -3
  541. package/lib/ui-kit/BaseFiltration/shouldRenderBlock.js.map +1 -0
  542. package/lib/ui-kit/Button/renderButtonsSection.js +1 -4
  543. package/lib/ui-kit/Button/renderButtonsSection.js.map +1 -1
  544. package/lib/ui-kit/CookiePopup/CookiePopup.js +2 -2
  545. package/lib/ui-kit/CookiePopup/CookiePopup.js.map +1 -1
  546. package/lib/ui-kit/DialogManager/DialogManager.js +7 -11
  547. package/lib/ui-kit/DialogManager/DialogManager.js.map +1 -1
  548. package/lib/ui-kit/DialogManager/useDialogsList.js +1 -1
  549. package/lib/ui-kit/DialogManager/useDialogsList.js.map +1 -1
  550. package/lib/ui-kit/Foldable/DefaultFoldButton.js +8 -9
  551. package/lib/ui-kit/Foldable/DefaultFoldButton.js.map +1 -1
  552. package/lib/ui-kit/InnerTable/InnerTable.fixture.d.ts +6 -0
  553. package/lib/ui-kit/InnerTable/InnerTable.fixture.mobile.d.ts +6 -0
  554. package/lib/ui-kit/InnerTable/InnerTable.js +1 -1
  555. package/lib/ui-kit/InnerTable/InnerTable.js.map +1 -1
  556. package/lib/ui-kit/InnerTable/InnerTableBody.js +1 -5
  557. package/lib/ui-kit/InnerTable/InnerTableBody.js.map +1 -1
  558. package/lib/ui-kit/InnerTable/InnerTableBodyItem.js +3 -19
  559. package/lib/ui-kit/InnerTable/InnerTableBodyItem.js.map +1 -1
  560. package/lib/ui-kit/InnerTable/InnerTableBodyItem.mobile.d.ts +5 -0
  561. package/lib/ui-kit/InnerTable/InnerTableBodyItem.mobile.js +6 -0
  562. package/lib/ui-kit/InnerTable/InnerTableBodyItem.mobile.js.map +1 -0
  563. package/lib/ui-kit/InnerTable/InnerTableButton.d.ts +3 -2
  564. package/lib/ui-kit/InnerTable/InnerTableButton.fixture.mobile.d.ts +6 -0
  565. package/lib/ui-kit/InnerTable/InnerTableButton.js +3 -5
  566. package/lib/ui-kit/InnerTable/InnerTableButton.js.map +1 -1
  567. package/lib/ui-kit/InnerTable/InnerTableHeader.js +2 -1
  568. package/lib/ui-kit/InnerTable/InnerTableHeader.js.map +1 -1
  569. package/lib/ui-kit/InnerTable/getHorizontalShift.d.ts +2 -0
  570. package/lib/ui-kit/InnerTable/getHorizontalShift.js +4 -0
  571. package/lib/ui-kit/InnerTable/getHorizontalShift.js.map +1 -0
  572. package/lib/ui-kit/InnerTable/linkButtonVersion.d.ts +1 -0
  573. package/lib/ui-kit/InnerTable/linkButtonVersion.js +2 -0
  574. package/lib/ui-kit/InnerTable/linkButtonVersion.js.map +1 -0
  575. package/lib/ui-kit/InnerTable/linkButtonVersion.mobile.d.ts +1 -0
  576. package/lib/ui-kit/InnerTable/linkButtonVersion.mobile.js +2 -0
  577. package/lib/ui-kit/InnerTable/linkButtonVersion.mobile.js.map +1 -0
  578. package/lib/ui-kit/InnerTable/renderInnerTableRow.d.ts +2 -0
  579. package/lib/ui-kit/InnerTable/renderInnerTableRow.js +15 -0
  580. package/lib/ui-kit/InnerTable/renderInnerTableRow.js.map +1 -0
  581. package/lib/ui-kit/LocationDialog/LocationDialog.js +2 -2
  582. package/lib/ui-kit/LocationDialog/LocationDialog.js.map +1 -1
  583. package/lib/ui-kit/PopupManager/PopupAction.d.ts +14 -0
  584. package/lib/ui-kit/PopupManager/PopupAction.js +2 -0
  585. package/lib/ui-kit/PopupManager/PopupAction.js.map +1 -0
  586. package/lib/ui-kit/PopupManager/PopupManager.d.ts +2 -0
  587. package/lib/ui-kit/PopupManager/PopupManager.js +37 -0
  588. package/lib/ui-kit/PopupManager/PopupManager.js.map +1 -0
  589. package/lib/ui-kit/PopupManager/usePopupManager.d.ts +7 -0
  590. package/lib/ui-kit/PopupManager/usePopupManager.js +7 -0
  591. package/lib/ui-kit/PopupManager/usePopupManager.js.map +1 -0
  592. package/lib/ui-kit/Select/Option.d.ts +4 -0
  593. package/lib/ui-kit/Select/Option.js +2 -0
  594. package/lib/ui-kit/Select/Option.js.map +1 -0
  595. package/lib/ui-kit/Select/Select.d.ts +2 -5
  596. package/lib/ui-kit/Select/Select.fixture.d.ts +1 -0
  597. package/lib/ui-kit/Select/Select.js +18 -25
  598. package/lib/ui-kit/Select/Select.js.map +1 -1
  599. package/lib/ui-kit/Select/SelectPopup.d.ts +11 -0
  600. package/lib/ui-kit/Select/SelectPopup.js +8 -0
  601. package/lib/ui-kit/Select/SelectPopup.js.map +1 -0
  602. package/lib/ui-kit/Select/filterOptions.d.ts +2 -0
  603. package/lib/ui-kit/Select/filterOptions.js +16 -0
  604. package/lib/ui-kit/Select/filterOptions.js.map +1 -0
  605. package/lib/ui-kit/Select/formatOption.d.ts +2 -0
  606. package/lib/ui-kit/Select/formatOption.js +2 -0
  607. package/lib/ui-kit/Select/formatOption.js.map +1 -0
  608. package/lib/ui-kit/Select/useSelectPopup.d.ts +9 -0
  609. package/lib/ui-kit/Select/useSelectPopup.js +32 -0
  610. package/lib/ui-kit/Select/useSelectPopup.js.map +1 -0
  611. package/lib/ui-kit/TextWithIcon/TextWithIcon.d.ts +12 -0
  612. package/lib/ui-kit/TextWithIcon/TextWithIcon.js +8 -0
  613. package/lib/ui-kit/TextWithIcon/TextWithIcon.js.map +1 -0
  614. package/lib/ui-kit/YandexMap/YandexMap.d.ts +1 -1
  615. package/lib/ui-kit/YandexMap/YandexMap.js +6 -7
  616. package/lib/ui-kit/YandexMap/YandexMap.js.map +1 -1
  617. package/lib/utils/fetchMultitudeJSON.d.ts +1 -0
  618. package/lib/utils/fetchMultitudeJSON.js +6 -0
  619. package/lib/utils/fetchMultitudeJSON.js.map +1 -0
  620. package/lib/utils/jaroWinklerDistance.js.map +1 -0
  621. package/mobile/bundle/EventBus/defaultEventBus.d.ts +3 -1
  622. package/mobile/bundle/bundle.umd.js +666 -419
  623. package/mobile/bundle/bundle.umd.min.js +1 -1
  624. package/mobile/bundle/components/ApplicationForm/AcquiringFormState.d.ts +1 -1
  625. package/mobile/bundle/components/ApplicationForm/BusinessCardFormState.d.ts +1 -1
  626. package/mobile/bundle/components/ApplicationForm/CreditFormState.d.ts +1 -1
  627. package/mobile/bundle/components/ApplicationForm/WedFormState.d.ts +5 -4
  628. package/mobile/bundle/components/ApplicationForm/renderWedDataOrganization.d.ts +2 -1
  629. package/mobile/bundle/components/ApplicationForm/renderWedTextarea.d.ts +4 -0
  630. package/mobile/bundle/components/Bonus/BonusContent.d.ts +2 -0
  631. package/mobile/bundle/components/ComparisonTable/constants.d.ts +4 -4
  632. package/mobile/bundle/components/DepositFiltration/getChildSourceBook.d.ts +2 -0
  633. package/mobile/bundle/components/DepositFiltration/getPeriod.d.ts +9 -0
  634. package/mobile/bundle/components/DepositFiltration/useDepositsPeriods.d.ts +8 -0
  635. package/mobile/bundle/components/MobileAppTile/MobileAppTileContent.d.ts +0 -5
  636. package/mobile/bundle/components/MobileAppTile/renderList.d.ts +2 -1
  637. package/mobile/bundle/components/RollupItem/PrimaryFoldButton.d.ts +12 -0
  638. package/mobile/bundle/components/TariffsTable/EmbeddableCellData.d.ts +9 -1
  639. package/mobile/bundle/components/TariffsTable/TariffsTableContent.d.ts +0 -3
  640. package/mobile/bundle/components/TariffsTable/TariffsTableWrapper.d.ts +6 -0
  641. package/mobile/bundle/components/TariffsTable/constants.d.ts +2 -2
  642. package/mobile/bundle/components/TariffsTable/headlineAlign.d.ts +1 -0
  643. package/mobile/bundle/model/AlignStyles.d.ts +1 -0
  644. package/mobile/bundle/ui-kit/BaseFiltration/BaseFiltrationInner.d.ts +3 -2
  645. package/mobile/bundle/ui-kit/BaseFiltration/getBlocksToRender.d.ts +2 -0
  646. package/mobile/bundle/ui-kit/BaseFiltration/shouldRenderBlock.d.ts +1 -0
  647. package/mobile/bundle/ui-kit/InnerTable/InnerTableButton.d.ts +3 -2
  648. package/mobile/bundle/ui-kit/InnerTable/getHorizontalShift.d.ts +2 -0
  649. package/mobile/bundle/ui-kit/InnerTable/linkButtonVersion.d.ts +1 -0
  650. package/mobile/bundle/ui-kit/InnerTable/renderInnerTableRow.d.ts +3 -0
  651. package/mobile/bundle/ui-kit/PopupManager/PopupAction.d.ts +14 -0
  652. package/mobile/bundle/ui-kit/PopupManager/PopupManager.d.ts +2 -0
  653. package/mobile/bundle/ui-kit/PopupManager/usePopupManager.d.ts +7 -0
  654. package/mobile/bundle/ui-kit/Select/Option.d.ts +4 -0
  655. package/mobile/bundle/ui-kit/Select/Select.d.ts +2 -5
  656. package/mobile/bundle/ui-kit/Select/SelectPopup.d.ts +11 -0
  657. package/mobile/bundle/ui-kit/Select/filterOptions.d.ts +2 -0
  658. package/mobile/bundle/ui-kit/Select/formatOption.d.ts +2 -0
  659. package/mobile/bundle/ui-kit/Select/useSelectPopup.d.ts +9 -0
  660. package/mobile/bundle/ui-kit/TextWithIcon/TextWithIcon.d.ts +12 -0
  661. package/mobile/bundle/ui-kit/YandexMap/YandexMap.d.ts +1 -1
  662. package/mobile/bundle/utils/fetchMultitudeJSON.d.ts +1 -0
  663. package/mobile/dist/EventBus/defaultEventBus.d.ts +3 -1
  664. package/mobile/dist/EventBus/defaultEventBus.js.map +1 -1
  665. package/mobile/dist/components/ApplicationForm/AcquiringFormState.d.ts +1 -1
  666. package/mobile/dist/components/ApplicationForm/ApplicationForm.js +1 -6
  667. package/mobile/dist/components/ApplicationForm/ApplicationForm.js.map +1 -1
  668. package/mobile/dist/components/ApplicationForm/ApplicationFormAcquiring.js +1 -1
  669. package/mobile/dist/components/ApplicationForm/ApplicationFormAcquiring.js.map +1 -1
  670. package/mobile/dist/components/ApplicationForm/ApplicationFormCredit.js +1 -1
  671. package/mobile/dist/components/ApplicationForm/ApplicationFormCredit.js.map +1 -1
  672. package/mobile/dist/components/ApplicationForm/ApplicationFormDeposit.js +1 -1
  673. package/mobile/dist/components/ApplicationForm/ApplicationFormDeposit.js.map +1 -1
  674. package/mobile/dist/components/ApplicationForm/ApplicationFormGrantSupport.js +1 -1
  675. package/mobile/dist/components/ApplicationForm/ApplicationFormGrantSupport.js.map +1 -1
  676. package/mobile/dist/components/ApplicationForm/ApplicationFormWed.js +35 -16
  677. package/mobile/dist/components/ApplicationForm/ApplicationFormWed.js.map +1 -1
  678. package/mobile/dist/components/ApplicationForm/BusinessCardFormState.d.ts +1 -1
  679. package/mobile/dist/components/ApplicationForm/CreditFormState.d.ts +1 -1
  680. package/mobile/dist/components/ApplicationForm/WedFormState.d.ts +5 -4
  681. package/mobile/dist/components/ApplicationForm/renderAcquiringDataOrganization.js +1 -1
  682. package/mobile/dist/components/ApplicationForm/renderAcquiringDataOrganization.js.map +1 -1
  683. package/mobile/dist/components/ApplicationForm/renderAcquiringRegion.js +1 -1
  684. package/mobile/dist/components/ApplicationForm/renderAcquiringRegion.js.map +1 -1
  685. package/mobile/dist/components/ApplicationForm/renderBusinessCardDataOrganization.js +1 -1
  686. package/mobile/dist/components/ApplicationForm/renderBusinessCardDataOrganization.js.map +1 -1
  687. package/mobile/dist/components/ApplicationForm/renderCreditDataOrganization.js +1 -1
  688. package/mobile/dist/components/ApplicationForm/renderCreditDataOrganization.js.map +1 -1
  689. package/mobile/dist/components/ApplicationForm/renderCreditParameters.js +1 -1
  690. package/mobile/dist/components/ApplicationForm/renderCreditParameters.js.map +1 -1
  691. package/mobile/dist/components/ApplicationForm/renderQuestionsInterested.js +3 -3
  692. package/mobile/dist/components/ApplicationForm/renderQuestionsInterested.js.map +1 -1
  693. package/mobile/dist/components/ApplicationForm/renderRegion.js.map +1 -1
  694. package/mobile/dist/components/ApplicationForm/renderRegionDepartment.js +1 -1
  695. package/mobile/dist/components/ApplicationForm/renderRegionDepartment.js.map +1 -1
  696. package/mobile/dist/components/ApplicationForm/renderSubmitButton.js +1 -1
  697. package/mobile/dist/components/ApplicationForm/renderSubmitButton.js.map +1 -1
  698. package/mobile/dist/components/ApplicationForm/renderWedDataOrganization.d.ts +2 -1
  699. package/mobile/dist/components/ApplicationForm/renderWedDataOrganization.js +5 -1
  700. package/mobile/dist/components/ApplicationForm/renderWedDataOrganization.js.map +1 -1
  701. package/mobile/dist/components/ApplicationForm/renderWedTextarea.d.ts +4 -0
  702. package/mobile/dist/components/ApplicationForm/renderWedTextarea.js +12 -0
  703. package/mobile/dist/components/ApplicationForm/renderWedTextarea.js.map +1 -0
  704. package/mobile/dist/components/Bonus/Bonus.js +4 -3
  705. package/mobile/dist/components/Bonus/Bonus.js.map +1 -1
  706. package/mobile/dist/components/Bonus/BonusContent.d.ts +2 -0
  707. package/mobile/dist/components/BonusBenefitsBlock/BonusBenefitsBlock.js +1 -1
  708. package/mobile/dist/components/BonusBenefitsBlock/BonusBenefitsBlock.js.map +1 -1
  709. package/mobile/dist/components/BonusBenefitsBlock/renderBonusBenefit.js +2 -2
  710. package/mobile/dist/components/BonusBenefitsBlock/renderBonusBenefit.js.map +1 -1
  711. package/mobile/dist/components/Calculator/BonusCalculatorForm.js +1 -1
  712. package/mobile/dist/components/Calculator/BonusCalculatorForm.js.map +1 -1
  713. package/mobile/dist/components/Calculator/BusinessDepositCalculatorForm.js +1 -1
  714. package/mobile/dist/components/Calculator/BusinessDepositCalculatorForm.js.map +1 -1
  715. package/mobile/dist/components/Calculator/CreditCalculatorForm.js +1 -1
  716. package/mobile/dist/components/Calculator/CreditCalculatorForm.js.map +1 -1
  717. package/mobile/dist/components/Calculator/DepositCalculatorForm.js +1 -1
  718. package/mobile/dist/components/Calculator/DepositCalculatorForm.js.map +1 -1
  719. package/mobile/dist/components/Calculator/RefinancingCalculatorForm.js +1 -1
  720. package/mobile/dist/components/Calculator/RefinancingCalculatorForm.js.map +1 -1
  721. package/mobile/dist/components/CardTransfer/CardTransfer.js +1 -1
  722. package/mobile/dist/components/Carousel/Carousel.js +1 -0
  723. package/mobile/dist/components/Carousel/Carousel.js.map +1 -1
  724. package/mobile/dist/components/CarouselCard/CarouselCard.js +1 -1
  725. package/mobile/dist/components/CarouselCard/CarouselCard.js.map +1 -1
  726. package/mobile/dist/components/CarouselCatalogCard/CarouselCatalogCard.js +2 -1
  727. package/mobile/dist/components/CarouselCatalogCard/CarouselCatalogCard.js.map +1 -1
  728. package/mobile/dist/components/CarouselLinks/CarouselLinkButton.js +5 -5
  729. package/mobile/dist/components/CarouselLinks/CarouselLinkButton.js.map +1 -1
  730. package/mobile/dist/components/CarouselLinks/CarouselLinks.js +4 -4
  731. package/mobile/dist/components/CarouselLinks/CarouselLinks.js.map +1 -1
  732. package/mobile/dist/components/CarouselProductCard/CarouselProductCard.js +2 -2
  733. package/mobile/dist/components/CarouselProductCard/CarouselProductCard.js.map +1 -1
  734. package/mobile/dist/components/ComparisonTable/ComparisonTableColumnHeaders.js +1 -1
  735. package/mobile/dist/components/ComparisonTable/ComparisonTableColumnHeaders.js.map +1 -1
  736. package/mobile/dist/components/ComparisonTable/TableCarouselContainer.js +1 -1
  737. package/mobile/dist/components/ComparisonTable/TableCarouselContainer.js.map +1 -1
  738. package/mobile/dist/components/ComparisonTable/TableCell.js +4 -6
  739. package/mobile/dist/components/ComparisonTable/TableCell.js.map +1 -1
  740. package/mobile/dist/components/ComparisonTable/TableColumn.js +3 -2
  741. package/mobile/dist/components/ComparisonTable/TableColumn.js.map +1 -1
  742. package/mobile/dist/components/ComparisonTable/TableRow.js +2 -1
  743. package/mobile/dist/components/ComparisonTable/TableRow.js.map +1 -1
  744. package/mobile/dist/components/ComparisonTable/constants.d.ts +4 -4
  745. package/mobile/dist/components/ComparisonTable/constants.js +5 -5
  746. package/mobile/dist/components/ComparisonTable/constants.js.map +1 -1
  747. package/mobile/dist/components/ContentPage/ContentPage.js +2 -1
  748. package/mobile/dist/components/ContentPage/ContentPage.js.map +1 -1
  749. package/mobile/dist/components/DepositFiltration/DepositFiltration.js +16 -13
  750. package/mobile/dist/components/DepositFiltration/DepositFiltration.js.map +1 -1
  751. package/mobile/dist/components/DepositFiltration/getChildSourceBook.d.ts +2 -0
  752. package/mobile/dist/components/DepositFiltration/getChildSourceBook.js +6 -0
  753. package/mobile/dist/components/DepositFiltration/getChildSourceBook.js.map +1 -0
  754. package/mobile/dist/components/DepositFiltration/getPeriod.d.ts +9 -0
  755. package/mobile/dist/components/DepositFiltration/getPeriod.js +7 -0
  756. package/mobile/dist/components/DepositFiltration/getPeriod.js.map +1 -0
  757. package/mobile/dist/components/DepositFiltration/useDepositsPeriods.d.ts +8 -0
  758. package/mobile/dist/components/DepositFiltration/useDepositsPeriods.js +24 -0
  759. package/mobile/dist/components/DepositFiltration/useDepositsPeriods.js.map +1 -0
  760. package/mobile/dist/components/ErrorBlock/ErrorBlock.js +2 -2
  761. package/mobile/dist/components/ErrorBlock/ErrorBlock.js.map +1 -1
  762. package/mobile/dist/components/Footer/Footer.js +1 -1
  763. package/mobile/dist/components/Footer/Footer.js.map +1 -1
  764. package/mobile/dist/components/Footer/HorizontalNavigation.js +1 -1
  765. package/mobile/dist/components/Footer/HorizontalNavigation.js.map +1 -1
  766. package/mobile/dist/components/Footer/MediaButton.js +1 -1
  767. package/mobile/dist/components/Footer/MediaButton.js.map +1 -1
  768. package/mobile/dist/components/Header/DropdownMenu.js +1 -1
  769. package/mobile/dist/components/Header/DropdownMenu.js.map +1 -1
  770. package/mobile/dist/components/Header/HeaderChatBotButton.js +1 -1
  771. package/mobile/dist/components/Header/HeaderChatBotButton.js.map +1 -1
  772. package/mobile/dist/components/MobileAppTile/MobileAppTile.js +2 -3
  773. package/mobile/dist/components/MobileAppTile/MobileAppTile.js.map +1 -1
  774. package/mobile/dist/components/MobileAppTile/MobileAppTileContent.d.ts +0 -5
  775. package/mobile/dist/components/MobileAppTile/renderDescription.js +1 -1
  776. package/mobile/dist/components/MobileAppTile/renderDescription.js.map +1 -1
  777. package/mobile/dist/components/MobileAppTile/renderList.d.ts +2 -1
  778. package/mobile/dist/components/MobileAppTile/renderList.js +2 -2
  779. package/mobile/dist/components/MobileAppTile/renderList.js.map +1 -1
  780. package/mobile/dist/components/MortgageFiltration/MortgageFiltration.js +3 -1
  781. package/mobile/dist/components/MortgageFiltration/MortgageFiltration.js.map +1 -1
  782. package/mobile/dist/components/RollupItem/PrimaryFoldButton.d.ts +12 -0
  783. package/mobile/dist/components/RollupItem/PrimaryFoldButton.js +12 -0
  784. package/mobile/dist/components/RollupItem/PrimaryFoldButton.js.map +1 -0
  785. package/mobile/dist/components/RollupItem/RollupItem.js +3 -14
  786. package/mobile/dist/components/RollupItem/RollupItem.js.map +1 -1
  787. package/mobile/dist/components/SafeDepositRental/RegionsAndBranches.js +1 -1
  788. package/mobile/dist/components/SafeDepositRental/RegionsAndBranches.js.map +1 -1
  789. package/mobile/dist/components/SafeDepositRental/SafeBoxCases.js +1 -1
  790. package/mobile/dist/components/SafeDepositRental/SafeBoxCases.js.map +1 -1
  791. package/mobile/dist/components/SafeDepositRental/SafeDepositRentalFields.js +1 -1
  792. package/mobile/dist/components/SafeDepositRental/SafeDepositRentalFields.js.map +1 -1
  793. package/mobile/dist/components/SafeDepositRental/SafeDepositRentalForm.js +1 -1
  794. package/mobile/dist/components/SafeDepositRental/SafeDepositRentalForm.js.map +1 -1
  795. package/mobile/dist/components/SafeDepositRental/SafeDepositRentalTotal.js +2 -2
  796. package/mobile/dist/components/SafeDepositRental/SafeDepositRentalTotal.js.map +1 -1
  797. package/mobile/dist/components/SafeDepositRental/WrapperSelect.js.map +1 -1
  798. package/mobile/dist/components/StickyBottomMenu/RenderMenuItems.js +1 -1
  799. package/mobile/dist/components/StickyBottomMenu/RenderMenuItems.js.map +1 -1
  800. package/mobile/dist/components/TariffsTable/EmbeddableCellData.d.ts +9 -1
  801. package/mobile/dist/components/TariffsTable/EmbeddableCellData.js +10 -5
  802. package/mobile/dist/components/TariffsTable/EmbeddableCellData.js.map +1 -1
  803. package/mobile/dist/components/TariffsTable/TariffsTable.js +24 -11
  804. package/mobile/dist/components/TariffsTable/TariffsTable.js.map +1 -1
  805. package/mobile/dist/components/TariffsTable/TariffsTableCell.js +1 -1
  806. package/mobile/dist/components/TariffsTable/TariffsTableCell.js.map +1 -1
  807. package/mobile/dist/components/TariffsTable/TariffsTableContent.d.ts +0 -3
  808. package/mobile/dist/components/TariffsTable/TariffsTableRenderCell.js +10 -10
  809. package/mobile/dist/components/TariffsTable/TariffsTableRenderCell.js.map +1 -1
  810. package/mobile/dist/components/TariffsTable/TariffsTableRow.js +2 -1
  811. package/mobile/dist/components/TariffsTable/TariffsTableRow.js.map +1 -1
  812. package/mobile/dist/components/TariffsTable/TariffsTableRowContainer.js +3 -1
  813. package/mobile/dist/components/TariffsTable/TariffsTableRowContainer.js.map +1 -1
  814. package/mobile/dist/components/TariffsTable/TariffsTableWrapper.d.ts +6 -0
  815. package/mobile/dist/components/TariffsTable/TariffsTableWrapper.js +14 -0
  816. package/mobile/dist/components/TariffsTable/TariffsTableWrapper.js.map +1 -0
  817. package/mobile/dist/components/TariffsTable/constants.d.ts +2 -2
  818. package/mobile/dist/components/TariffsTable/constants.js +3 -3
  819. package/mobile/dist/components/TariffsTable/constants.js.map +1 -1
  820. package/mobile/dist/components/TariffsTable/headlineAlign.d.ts +1 -0
  821. package/mobile/dist/components/TariffsTable/headlineAlign.js +4 -0
  822. package/mobile/dist/components/TariffsTable/headlineAlign.js.map +1 -0
  823. package/mobile/dist/content-page-repository/transformContentPage.js +5 -6
  824. package/mobile/dist/content-page-repository/transformContentPage.js.map +1 -1
  825. package/mobile/dist/model/AlignStyles.d.ts +1 -0
  826. package/mobile/dist/model/AlignStyles.js +4 -0
  827. package/mobile/dist/model/AlignStyles.js.map +1 -0
  828. package/mobile/dist/services/search/search.js +1 -1
  829. package/mobile/dist/services/search/search.js.map +1 -1
  830. package/mobile/dist/services/search/textRank.js +1 -1
  831. package/mobile/dist/services/search/textRank.js.map +1 -1
  832. package/mobile/dist/services/search/useSearch.js +1 -1
  833. package/mobile/dist/services/search/useSearch.js.map +1 -1
  834. package/mobile/dist/ui-kit/BaseFiltration/BaseFiltrationInner.d.ts +3 -2
  835. package/mobile/dist/ui-kit/BaseFiltration/BaseFiltrationInner.js +1 -3
  836. package/mobile/dist/ui-kit/BaseFiltration/BaseFiltrationInner.js.map +1 -1
  837. package/mobile/dist/ui-kit/BaseFiltration/getBadgeCount.js +2 -2
  838. package/mobile/dist/ui-kit/BaseFiltration/getBadgeCount.js.map +1 -1
  839. package/mobile/dist/ui-kit/BaseFiltration/getBlocksToRender.d.ts +2 -0
  840. package/mobile/dist/ui-kit/BaseFiltration/getBlocksToRender.js +7 -0
  841. package/mobile/dist/ui-kit/BaseFiltration/getBlocksToRender.js.map +1 -0
  842. package/mobile/dist/ui-kit/BaseFiltration/shouldRenderBlock.d.ts +1 -0
  843. package/{dist/ui-kit/BaseFiltration/checkShouldRenderBlock.js → mobile/dist/ui-kit/BaseFiltration/shouldRenderBlock.js} +8 -5
  844. package/mobile/dist/ui-kit/BaseFiltration/shouldRenderBlock.js.map +1 -0
  845. package/mobile/dist/ui-kit/Button/renderButtonsSection.js +1 -4
  846. package/mobile/dist/ui-kit/Button/renderButtonsSection.js.map +1 -1
  847. package/mobile/dist/ui-kit/CookiePopup/CookiePopup.js +2 -2
  848. package/mobile/dist/ui-kit/CookiePopup/CookiePopup.js.map +1 -1
  849. package/mobile/dist/ui-kit/DialogManager/DialogManager.js +7 -11
  850. package/mobile/dist/ui-kit/DialogManager/DialogManager.js.map +1 -1
  851. package/mobile/dist/ui-kit/DialogManager/useDialogsList.js +1 -1
  852. package/mobile/dist/ui-kit/DialogManager/useDialogsList.js.map +1 -1
  853. package/mobile/dist/ui-kit/Foldable/DefaultFoldButton.js +7 -8
  854. package/mobile/dist/ui-kit/Foldable/DefaultFoldButton.js.map +1 -1
  855. package/mobile/dist/ui-kit/InnerTable/InnerTable.js +1 -1
  856. package/mobile/dist/ui-kit/InnerTable/InnerTable.js.map +1 -1
  857. package/mobile/dist/ui-kit/InnerTable/InnerTableBody.js +1 -5
  858. package/mobile/dist/ui-kit/InnerTable/InnerTableBody.js.map +1 -1
  859. package/mobile/dist/ui-kit/InnerTable/InnerTableBodyItem.js +3 -32
  860. package/mobile/dist/ui-kit/InnerTable/InnerTableBodyItem.js.map +1 -1
  861. package/mobile/dist/ui-kit/InnerTable/InnerTableButton.d.ts +3 -2
  862. package/mobile/dist/ui-kit/InnerTable/InnerTableButton.js +2 -4
  863. package/mobile/dist/ui-kit/InnerTable/InnerTableButton.js.map +1 -1
  864. package/mobile/dist/ui-kit/InnerTable/InnerTableHeader.js +2 -1
  865. package/mobile/dist/ui-kit/InnerTable/InnerTableHeader.js.map +1 -1
  866. package/mobile/dist/ui-kit/InnerTable/getHorizontalShift.d.ts +2 -0
  867. package/mobile/dist/ui-kit/InnerTable/getHorizontalShift.js +7 -0
  868. package/mobile/dist/ui-kit/InnerTable/getHorizontalShift.js.map +1 -0
  869. package/mobile/dist/ui-kit/InnerTable/linkButtonVersion.d.ts +1 -0
  870. package/mobile/dist/ui-kit/InnerTable/linkButtonVersion.js +4 -0
  871. package/mobile/dist/ui-kit/InnerTable/linkButtonVersion.js.map +1 -0
  872. package/mobile/dist/ui-kit/InnerTable/renderInnerTableRow.d.ts +3 -0
  873. package/mobile/dist/ui-kit/InnerTable/renderInnerTableRow.js +18 -0
  874. package/mobile/dist/ui-kit/InnerTable/renderInnerTableRow.js.map +1 -0
  875. package/mobile/dist/ui-kit/LocationDialog/LocationDialog.js +2 -2
  876. package/mobile/dist/ui-kit/LocationDialog/LocationDialog.js.map +1 -1
  877. package/mobile/dist/ui-kit/PopupManager/PopupAction.d.ts +14 -0
  878. package/mobile/dist/ui-kit/PopupManager/PopupAction.js +2 -0
  879. package/mobile/dist/ui-kit/PopupManager/PopupAction.js.map +1 -0
  880. package/mobile/dist/ui-kit/PopupManager/PopupManager.d.ts +2 -0
  881. package/mobile/dist/ui-kit/PopupManager/PopupManager.js +39 -0
  882. package/mobile/dist/ui-kit/PopupManager/PopupManager.js.map +1 -0
  883. package/mobile/dist/ui-kit/PopupManager/usePopupManager.d.ts +7 -0
  884. package/mobile/dist/ui-kit/PopupManager/usePopupManager.js +10 -0
  885. package/mobile/dist/ui-kit/PopupManager/usePopupManager.js.map +1 -0
  886. package/mobile/dist/ui-kit/Select/Option.d.ts +4 -0
  887. package/mobile/dist/ui-kit/Select/Option.js +2 -0
  888. package/mobile/dist/ui-kit/Select/Option.js.map +1 -0
  889. package/mobile/dist/ui-kit/Select/Select.d.ts +2 -5
  890. package/mobile/dist/ui-kit/Select/Select.js +18 -25
  891. package/mobile/dist/ui-kit/Select/Select.js.map +1 -1
  892. package/mobile/dist/ui-kit/Select/SelectPopup.d.ts +11 -0
  893. package/mobile/dist/ui-kit/Select/SelectPopup.js +10 -0
  894. package/mobile/dist/ui-kit/Select/SelectPopup.js.map +1 -0
  895. package/mobile/dist/ui-kit/Select/filterOptions.d.ts +2 -0
  896. package/mobile/dist/ui-kit/Select/filterOptions.js +19 -0
  897. package/mobile/dist/ui-kit/Select/filterOptions.js.map +1 -0
  898. package/mobile/dist/ui-kit/Select/formatOption.d.ts +2 -0
  899. package/mobile/dist/ui-kit/Select/formatOption.js +5 -0
  900. package/mobile/dist/ui-kit/Select/formatOption.js.map +1 -0
  901. package/mobile/dist/ui-kit/Select/useSelectPopup.d.ts +9 -0
  902. package/mobile/dist/ui-kit/Select/useSelectPopup.js +35 -0
  903. package/mobile/dist/ui-kit/Select/useSelectPopup.js.map +1 -0
  904. package/mobile/dist/ui-kit/TextWithIcon/TextWithIcon.d.ts +12 -0
  905. package/mobile/dist/ui-kit/TextWithIcon/TextWithIcon.js +10 -0
  906. package/mobile/dist/ui-kit/TextWithIcon/TextWithIcon.js.map +1 -0
  907. package/mobile/dist/ui-kit/YandexMap/YandexMap.d.ts +1 -1
  908. package/mobile/dist/ui-kit/YandexMap/YandexMap.js +6 -7
  909. package/mobile/dist/ui-kit/YandexMap/YandexMap.js.map +1 -1
  910. package/mobile/dist/utils/fetchMultitudeJSON.d.ts +1 -0
  911. package/mobile/dist/utils/fetchMultitudeJSON.js +9 -0
  912. package/mobile/dist/utils/fetchMultitudeJSON.js.map +1 -0
  913. package/mobile/dist/utils/jaroWinklerDistance.js.map +1 -0
  914. package/mobile/fonts/mohave/Mohave-Regular.ttf +0 -0
  915. package/mobile/fonts/mohave/Mohave-Regular.woff2 +0 -0
  916. package/mobile/fonts/mohave/mohave.css +2 -1
  917. package/mobile/lib/EventBus/defaultEventBus.d.ts +3 -1
  918. package/mobile/lib/EventBus/defaultEventBus.js.map +1 -1
  919. package/mobile/lib/common.css +1 -1
  920. package/mobile/lib/components/ApplicationForm/AcquiringFormState.d.ts +1 -1
  921. package/mobile/lib/components/ApplicationForm/ApplicationForm.js +1 -6
  922. package/mobile/lib/components/ApplicationForm/ApplicationForm.js.map +1 -1
  923. package/mobile/lib/components/ApplicationForm/ApplicationFormAcquiring.js +1 -1
  924. package/mobile/lib/components/ApplicationForm/ApplicationFormAcquiring.js.map +1 -1
  925. package/mobile/lib/components/ApplicationForm/ApplicationFormCredit.js +1 -1
  926. package/mobile/lib/components/ApplicationForm/ApplicationFormCredit.js.map +1 -1
  927. package/mobile/lib/components/ApplicationForm/ApplicationFormDeposit.js +1 -1
  928. package/mobile/lib/components/ApplicationForm/ApplicationFormDeposit.js.map +1 -1
  929. package/mobile/lib/components/ApplicationForm/ApplicationFormGrantSupport.js +1 -1
  930. package/mobile/lib/components/ApplicationForm/ApplicationFormGrantSupport.js.map +1 -1
  931. package/mobile/lib/components/ApplicationForm/ApplicationFormWed.js +36 -17
  932. package/mobile/lib/components/ApplicationForm/ApplicationFormWed.js.map +1 -1
  933. package/mobile/lib/components/ApplicationForm/BusinessCardFormState.d.ts +1 -1
  934. package/mobile/lib/components/ApplicationForm/CreditFormState.d.ts +1 -1
  935. package/mobile/lib/components/ApplicationForm/WedFormState.d.ts +5 -4
  936. package/mobile/lib/components/ApplicationForm/renderAcquiringDataOrganization.js +1 -1
  937. package/mobile/lib/components/ApplicationForm/renderAcquiringDataOrganization.js.map +1 -1
  938. package/mobile/lib/components/ApplicationForm/renderAcquiringRegion.js +1 -1
  939. package/mobile/lib/components/ApplicationForm/renderAcquiringRegion.js.map +1 -1
  940. package/mobile/lib/components/ApplicationForm/renderBusinessCardDataOrganization.js +1 -1
  941. package/mobile/lib/components/ApplicationForm/renderBusinessCardDataOrganization.js.map +1 -1
  942. package/mobile/lib/components/ApplicationForm/renderCreditDataOrganization.js +1 -1
  943. package/mobile/lib/components/ApplicationForm/renderCreditDataOrganization.js.map +1 -1
  944. package/mobile/lib/components/ApplicationForm/renderCreditParameters.js +1 -1
  945. package/mobile/lib/components/ApplicationForm/renderCreditParameters.js.map +1 -1
  946. package/mobile/lib/components/ApplicationForm/renderQuestionsInterested.js +3 -3
  947. package/mobile/lib/components/ApplicationForm/renderQuestionsInterested.js.map +1 -1
  948. package/mobile/lib/components/ApplicationForm/renderRegion.js.map +1 -1
  949. package/mobile/lib/components/ApplicationForm/renderRegionDepartment.js +1 -1
  950. package/mobile/lib/components/ApplicationForm/renderRegionDepartment.js.map +1 -1
  951. package/mobile/lib/components/ApplicationForm/renderSubmitButton.js +1 -1
  952. package/mobile/lib/components/ApplicationForm/renderSubmitButton.js.map +1 -1
  953. package/mobile/lib/components/ApplicationForm/renderWedDataOrganization.d.ts +2 -1
  954. package/mobile/lib/components/ApplicationForm/renderWedDataOrganization.js +6 -2
  955. package/mobile/lib/components/ApplicationForm/renderWedDataOrganization.js.map +1 -1
  956. package/mobile/lib/components/ApplicationForm/renderWedTextarea.d.ts +4 -0
  957. package/mobile/lib/components/ApplicationForm/renderWedTextarea.js +9 -0
  958. package/mobile/lib/components/ApplicationForm/renderWedTextarea.js.map +1 -0
  959. package/mobile/lib/components/Bonus/Bonus.js +4 -3
  960. package/mobile/lib/components/Bonus/Bonus.js.map +1 -1
  961. package/mobile/lib/components/Bonus/BonusContent.d.ts +2 -0
  962. package/mobile/lib/components/BonusBenefitsBlock/BonusBenefitsBlock.js +1 -1
  963. package/mobile/lib/components/BonusBenefitsBlock/BonusBenefitsBlock.js.map +1 -1
  964. package/mobile/lib/components/BonusBenefitsBlock/renderBonusBenefit.js +2 -2
  965. package/mobile/lib/components/BonusBenefitsBlock/renderBonusBenefit.js.map +1 -1
  966. package/mobile/lib/components/Calculator/BonusCalculatorForm.js +1 -1
  967. package/mobile/lib/components/Calculator/BonusCalculatorForm.js.map +1 -1
  968. package/mobile/lib/components/Calculator/BusinessDepositCalculatorForm.js +1 -1
  969. package/mobile/lib/components/Calculator/BusinessDepositCalculatorForm.js.map +1 -1
  970. package/mobile/lib/components/Calculator/CreditCalculatorForm.js +1 -1
  971. package/mobile/lib/components/Calculator/CreditCalculatorForm.js.map +1 -1
  972. package/mobile/lib/components/Calculator/DepositCalculatorForm.js +1 -1
  973. package/mobile/lib/components/Calculator/DepositCalculatorForm.js.map +1 -1
  974. package/mobile/lib/components/Calculator/RefinancingCalculatorForm.js +1 -1
  975. package/mobile/lib/components/Calculator/RefinancingCalculatorForm.js.map +1 -1
  976. package/mobile/lib/components/CardTransfer/CardTransfer.js +1 -1
  977. package/mobile/lib/components/Carousel/Carousel.js +1 -0
  978. package/mobile/lib/components/Carousel/Carousel.js.map +1 -1
  979. package/mobile/lib/components/CarouselCard/CarouselCard.js +1 -1
  980. package/mobile/lib/components/CarouselCard/CarouselCard.js.map +1 -1
  981. package/mobile/lib/components/CarouselCatalogCard/CarouselCatalogCard.js +2 -1
  982. package/mobile/lib/components/CarouselCatalogCard/CarouselCatalogCard.js.map +1 -1
  983. package/mobile/lib/components/CarouselLinks/CarouselLinkButton.js +5 -5
  984. package/mobile/lib/components/CarouselLinks/CarouselLinkButton.js.map +1 -1
  985. package/mobile/lib/components/CarouselLinks/CarouselLinks.js +4 -4
  986. package/mobile/lib/components/CarouselLinks/CarouselLinks.js.map +1 -1
  987. package/mobile/lib/components/CarouselProductCard/CarouselProductCard.js +2 -2
  988. package/mobile/lib/components/CarouselProductCard/CarouselProductCard.js.map +1 -1
  989. package/mobile/lib/components/ComparisonTable/ComparisonTableColumnHeaders.js +2 -2
  990. package/mobile/lib/components/ComparisonTable/ComparisonTableColumnHeaders.js.map +1 -1
  991. package/mobile/lib/components/ComparisonTable/TableCarouselContainer.js +1 -1
  992. package/mobile/lib/components/ComparisonTable/TableCarouselContainer.js.map +1 -1
  993. package/mobile/lib/components/ComparisonTable/TableCell.js +5 -7
  994. package/mobile/lib/components/ComparisonTable/TableCell.js.map +1 -1
  995. package/mobile/lib/components/ComparisonTable/TableColumn.js +4 -3
  996. package/mobile/lib/components/ComparisonTable/TableColumn.js.map +1 -1
  997. package/mobile/lib/components/ComparisonTable/TableRow.js +3 -2
  998. package/mobile/lib/components/ComparisonTable/TableRow.js.map +1 -1
  999. package/mobile/lib/components/ComparisonTable/constants.d.ts +4 -4
  1000. package/mobile/lib/components/ComparisonTable/constants.js +4 -4
  1001. package/mobile/lib/components/ComparisonTable/constants.js.map +1 -1
  1002. package/mobile/lib/components/ContentPage/ContentPage.js +2 -1
  1003. package/mobile/lib/components/ContentPage/ContentPage.js.map +1 -1
  1004. package/mobile/lib/components/DepositFiltration/DepositFiltration.js +16 -13
  1005. package/mobile/lib/components/DepositFiltration/DepositFiltration.js.map +1 -1
  1006. package/mobile/lib/components/DepositFiltration/getChildSourceBook.d.ts +2 -0
  1007. package/mobile/lib/components/DepositFiltration/getChildSourceBook.js +3 -0
  1008. package/mobile/lib/components/DepositFiltration/getChildSourceBook.js.map +1 -0
  1009. package/mobile/lib/components/DepositFiltration/getPeriod.d.ts +9 -0
  1010. package/mobile/lib/components/DepositFiltration/getPeriod.js +4 -0
  1011. package/mobile/lib/components/DepositFiltration/getPeriod.js.map +1 -0
  1012. package/mobile/lib/components/DepositFiltration/useDepositsPeriods.d.ts +8 -0
  1013. package/mobile/lib/components/DepositFiltration/useDepositsPeriods.js +21 -0
  1014. package/mobile/lib/components/DepositFiltration/useDepositsPeriods.js.map +1 -0
  1015. package/mobile/lib/components/ErrorBlock/ErrorBlock.js +2 -2
  1016. package/mobile/lib/components/ErrorBlock/ErrorBlock.js.map +1 -1
  1017. package/mobile/lib/components/Footer/Footer.js +1 -1
  1018. package/mobile/lib/components/Footer/Footer.js.map +1 -1
  1019. package/mobile/lib/components/Footer/HorizontalNavigation.js +1 -1
  1020. package/mobile/lib/components/Footer/HorizontalNavigation.js.map +1 -1
  1021. package/mobile/lib/components/Footer/MediaButton.js +1 -1
  1022. package/mobile/lib/components/Footer/MediaButton.js.map +1 -1
  1023. package/mobile/lib/components/Header/DropdownMenu.js +1 -1
  1024. package/mobile/lib/components/Header/DropdownMenu.js.map +1 -1
  1025. package/mobile/lib/components/Header/HeaderChatBotButton.js +1 -1
  1026. package/mobile/lib/components/Header/HeaderChatBotButton.js.map +1 -1
  1027. package/mobile/lib/components/MobileAppTile/MobileAppTile.js +2 -3
  1028. package/mobile/lib/components/MobileAppTile/MobileAppTile.js.map +1 -1
  1029. package/mobile/lib/components/MobileAppTile/MobileAppTileContent.d.ts +0 -5
  1030. package/mobile/lib/components/MobileAppTile/renderDescription.js +1 -1
  1031. package/mobile/lib/components/MobileAppTile/renderDescription.js.map +1 -1
  1032. package/mobile/lib/components/MobileAppTile/renderList.d.ts +2 -1
  1033. package/mobile/lib/components/MobileAppTile/renderList.js +2 -2
  1034. package/mobile/lib/components/MobileAppTile/renderList.js.map +1 -1
  1035. package/mobile/lib/components/MortgageFiltration/MortgageFiltration.js +3 -1
  1036. package/mobile/lib/components/MortgageFiltration/MortgageFiltration.js.map +1 -1
  1037. package/mobile/lib/components/RollupItem/PrimaryFoldButton.d.ts +12 -0
  1038. package/mobile/lib/components/RollupItem/PrimaryFoldButton.js +10 -0
  1039. package/mobile/lib/components/RollupItem/PrimaryFoldButton.js.map +1 -0
  1040. package/mobile/lib/components/RollupItem/RollupItem.js +4 -15
  1041. package/mobile/lib/components/RollupItem/RollupItem.js.map +1 -1
  1042. package/mobile/lib/components/SafeDepositRental/RegionsAndBranches.js +1 -1
  1043. package/mobile/lib/components/SafeDepositRental/RegionsAndBranches.js.map +1 -1
  1044. package/mobile/lib/components/SafeDepositRental/SafeBoxCases.js +1 -1
  1045. package/mobile/lib/components/SafeDepositRental/SafeBoxCases.js.map +1 -1
  1046. package/mobile/lib/components/SafeDepositRental/SafeDepositRentalFields.js +1 -1
  1047. package/mobile/lib/components/SafeDepositRental/SafeDepositRentalFields.js.map +1 -1
  1048. package/mobile/lib/components/SafeDepositRental/SafeDepositRentalForm.js +1 -1
  1049. package/mobile/lib/components/SafeDepositRental/SafeDepositRentalForm.js.map +1 -1
  1050. package/mobile/lib/components/SafeDepositRental/SafeDepositRentalTotal.js +2 -2
  1051. package/mobile/lib/components/SafeDepositRental/SafeDepositRentalTotal.js.map +1 -1
  1052. package/mobile/lib/components/SafeDepositRental/WrapperSelect.js.map +1 -1
  1053. package/mobile/lib/components/StickyBottomMenu/RenderMenuItems.js +1 -1
  1054. package/mobile/lib/components/StickyBottomMenu/RenderMenuItems.js.map +1 -1
  1055. package/mobile/lib/components/TariffsTable/EmbeddableCellData.d.ts +9 -1
  1056. package/mobile/lib/components/TariffsTable/EmbeddableCellData.js +10 -5
  1057. package/mobile/lib/components/TariffsTable/EmbeddableCellData.js.map +1 -1
  1058. package/mobile/lib/components/TariffsTable/TariffsTable.js +24 -11
  1059. package/mobile/lib/components/TariffsTable/TariffsTable.js.map +1 -1
  1060. package/mobile/lib/components/TariffsTable/TariffsTableCell.js +1 -1
  1061. package/mobile/lib/components/TariffsTable/TariffsTableCell.js.map +1 -1
  1062. package/mobile/lib/components/TariffsTable/TariffsTableContent.d.ts +0 -3
  1063. package/mobile/lib/components/TariffsTable/TariffsTableRenderCell.js +11 -11
  1064. package/mobile/lib/components/TariffsTable/TariffsTableRenderCell.js.map +1 -1
  1065. package/mobile/lib/components/TariffsTable/TariffsTableRow.js +3 -2
  1066. package/mobile/lib/components/TariffsTable/TariffsTableRow.js.map +1 -1
  1067. package/mobile/lib/components/TariffsTable/TariffsTableRowContainer.js +3 -1
  1068. package/mobile/lib/components/TariffsTable/TariffsTableRowContainer.js.map +1 -1
  1069. package/mobile/lib/components/TariffsTable/TariffsTableWrapper.d.ts +6 -0
  1070. package/mobile/lib/components/TariffsTable/TariffsTableWrapper.js +12 -0
  1071. package/mobile/lib/components/TariffsTable/TariffsTableWrapper.js.map +1 -0
  1072. package/mobile/lib/components/TariffsTable/constants.d.ts +2 -2
  1073. package/mobile/lib/components/TariffsTable/constants.js +2 -2
  1074. package/mobile/lib/components/TariffsTable/constants.js.map +1 -1
  1075. package/mobile/lib/components/TariffsTable/headlineAlign.d.ts +1 -0
  1076. package/mobile/lib/components/TariffsTable/headlineAlign.js +2 -0
  1077. package/mobile/lib/components/TariffsTable/headlineAlign.js.map +1 -0
  1078. package/mobile/lib/content-page-repository/transformContentPage.js +5 -6
  1079. package/mobile/lib/content-page-repository/transformContentPage.js.map +1 -1
  1080. package/mobile/lib/model/AlignStyles.d.ts +1 -0
  1081. package/mobile/lib/model/AlignStyles.js +2 -0
  1082. package/mobile/lib/model/AlignStyles.js.map +1 -0
  1083. package/mobile/lib/services/search/search.js +1 -1
  1084. package/mobile/lib/services/search/search.js.map +1 -1
  1085. package/mobile/lib/services/search/textRank.js +1 -1
  1086. package/mobile/lib/services/search/textRank.js.map +1 -1
  1087. package/mobile/lib/services/search/useSearch.js +1 -1
  1088. package/mobile/lib/services/search/useSearch.js.map +1 -1
  1089. package/mobile/lib/ui-kit/BaseFiltration/BaseFiltrationInner.d.ts +3 -2
  1090. package/mobile/lib/ui-kit/BaseFiltration/BaseFiltrationInner.js +1 -3
  1091. package/mobile/lib/ui-kit/BaseFiltration/BaseFiltrationInner.js.map +1 -1
  1092. package/mobile/lib/ui-kit/BaseFiltration/getBadgeCount.js +2 -2
  1093. package/mobile/lib/ui-kit/BaseFiltration/getBadgeCount.js.map +1 -1
  1094. package/mobile/lib/ui-kit/BaseFiltration/getBlocksToRender.d.ts +2 -0
  1095. package/mobile/lib/ui-kit/BaseFiltration/getBlocksToRender.js +4 -0
  1096. package/mobile/lib/ui-kit/BaseFiltration/getBlocksToRender.js.map +1 -0
  1097. package/mobile/lib/ui-kit/BaseFiltration/shouldRenderBlock.d.ts +1 -0
  1098. package/{lib/ui-kit/BaseFiltration/checkShouldRenderBlock.js → mobile/lib/ui-kit/BaseFiltration/shouldRenderBlock.js} +6 -3
  1099. package/mobile/lib/ui-kit/BaseFiltration/shouldRenderBlock.js.map +1 -0
  1100. package/mobile/lib/ui-kit/Button/renderButtonsSection.js +1 -4
  1101. package/mobile/lib/ui-kit/Button/renderButtonsSection.js.map +1 -1
  1102. package/mobile/lib/ui-kit/CookiePopup/CookiePopup.js +2 -2
  1103. package/mobile/lib/ui-kit/CookiePopup/CookiePopup.js.map +1 -1
  1104. package/mobile/lib/ui-kit/DialogManager/DialogManager.js +7 -11
  1105. package/mobile/lib/ui-kit/DialogManager/DialogManager.js.map +1 -1
  1106. package/mobile/lib/ui-kit/DialogManager/useDialogsList.js +1 -1
  1107. package/mobile/lib/ui-kit/DialogManager/useDialogsList.js.map +1 -1
  1108. package/mobile/lib/ui-kit/Foldable/DefaultFoldButton.js +8 -9
  1109. package/mobile/lib/ui-kit/Foldable/DefaultFoldButton.js.map +1 -1
  1110. package/mobile/lib/ui-kit/InnerTable/InnerTable.js +1 -1
  1111. package/mobile/lib/ui-kit/InnerTable/InnerTable.js.map +1 -1
  1112. package/mobile/lib/ui-kit/InnerTable/InnerTableBody.js +1 -5
  1113. package/mobile/lib/ui-kit/InnerTable/InnerTableBody.js.map +1 -1
  1114. package/mobile/lib/ui-kit/InnerTable/InnerTableBodyItem.js +4 -33
  1115. package/mobile/lib/ui-kit/InnerTable/InnerTableBodyItem.js.map +1 -1
  1116. package/mobile/lib/ui-kit/InnerTable/InnerTableButton.d.ts +3 -2
  1117. package/mobile/lib/ui-kit/InnerTable/InnerTableButton.js +3 -5
  1118. package/mobile/lib/ui-kit/InnerTable/InnerTableButton.js.map +1 -1
  1119. package/mobile/lib/ui-kit/InnerTable/InnerTableHeader.js +2 -1
  1120. package/mobile/lib/ui-kit/InnerTable/InnerTableHeader.js.map +1 -1
  1121. package/mobile/lib/ui-kit/InnerTable/getHorizontalShift.d.ts +2 -0
  1122. package/mobile/lib/ui-kit/InnerTable/getHorizontalShift.js +4 -0
  1123. package/mobile/lib/ui-kit/InnerTable/getHorizontalShift.js.map +1 -0
  1124. package/mobile/lib/ui-kit/InnerTable/linkButtonVersion.d.ts +1 -0
  1125. package/mobile/lib/ui-kit/InnerTable/linkButtonVersion.js +2 -0
  1126. package/mobile/lib/ui-kit/InnerTable/linkButtonVersion.js.map +1 -0
  1127. package/mobile/lib/ui-kit/InnerTable/renderInnerTableRow.d.ts +3 -0
  1128. package/mobile/lib/ui-kit/InnerTable/renderInnerTableRow.js +15 -0
  1129. package/mobile/lib/ui-kit/InnerTable/renderInnerTableRow.js.map +1 -0
  1130. package/mobile/lib/ui-kit/LocationDialog/LocationDialog.js +2 -2
  1131. package/mobile/lib/ui-kit/LocationDialog/LocationDialog.js.map +1 -1
  1132. package/mobile/lib/ui-kit/PopupManager/PopupAction.d.ts +14 -0
  1133. package/mobile/lib/ui-kit/PopupManager/PopupAction.js +2 -0
  1134. package/mobile/lib/ui-kit/PopupManager/PopupAction.js.map +1 -0
  1135. package/mobile/lib/ui-kit/PopupManager/PopupManager.d.ts +2 -0
  1136. package/mobile/lib/ui-kit/PopupManager/PopupManager.js +37 -0
  1137. package/mobile/lib/ui-kit/PopupManager/PopupManager.js.map +1 -0
  1138. package/mobile/lib/ui-kit/PopupManager/usePopupManager.d.ts +7 -0
  1139. package/mobile/lib/ui-kit/PopupManager/usePopupManager.js +7 -0
  1140. package/mobile/lib/ui-kit/PopupManager/usePopupManager.js.map +1 -0
  1141. package/mobile/lib/ui-kit/Select/Option.d.ts +4 -0
  1142. package/mobile/lib/ui-kit/Select/Option.js +2 -0
  1143. package/mobile/lib/ui-kit/Select/Option.js.map +1 -0
  1144. package/mobile/lib/ui-kit/Select/Select.d.ts +2 -5
  1145. package/mobile/lib/ui-kit/Select/Select.js +18 -25
  1146. package/mobile/lib/ui-kit/Select/Select.js.map +1 -1
  1147. package/mobile/lib/ui-kit/Select/SelectPopup.d.ts +11 -0
  1148. package/mobile/lib/ui-kit/Select/SelectPopup.js +8 -0
  1149. package/mobile/lib/ui-kit/Select/SelectPopup.js.map +1 -0
  1150. package/mobile/lib/ui-kit/Select/filterOptions.d.ts +2 -0
  1151. package/mobile/lib/ui-kit/Select/filterOptions.js +16 -0
  1152. package/mobile/lib/ui-kit/Select/filterOptions.js.map +1 -0
  1153. package/mobile/lib/ui-kit/Select/formatOption.d.ts +2 -0
  1154. package/mobile/lib/ui-kit/Select/formatOption.js +2 -0
  1155. package/mobile/lib/ui-kit/Select/formatOption.js.map +1 -0
  1156. package/mobile/lib/ui-kit/Select/useSelectPopup.d.ts +9 -0
  1157. package/mobile/lib/ui-kit/Select/useSelectPopup.js +32 -0
  1158. package/mobile/lib/ui-kit/Select/useSelectPopup.js.map +1 -0
  1159. package/mobile/lib/ui-kit/TextWithIcon/TextWithIcon.d.ts +12 -0
  1160. package/mobile/lib/ui-kit/TextWithIcon/TextWithIcon.js +8 -0
  1161. package/mobile/lib/ui-kit/TextWithIcon/TextWithIcon.js.map +1 -0
  1162. package/mobile/lib/ui-kit/YandexMap/YandexMap.d.ts +1 -1
  1163. package/mobile/lib/ui-kit/YandexMap/YandexMap.js +6 -7
  1164. package/mobile/lib/ui-kit/YandexMap/YandexMap.js.map +1 -1
  1165. package/mobile/lib/utils/fetchMultitudeJSON.d.ts +1 -0
  1166. package/mobile/lib/utils/fetchMultitudeJSON.js +6 -0
  1167. package/mobile/lib/utils/fetchMultitudeJSON.js.map +1 -0
  1168. package/mobile/lib/utils/jaroWinklerDistance.js.map +1 -0
  1169. package/mobile/src/EventBus/defaultEventBus.ts +3 -1
  1170. package/mobile/src/components/ApplicationForm/AcquiringFormState.ts +1 -1
  1171. package/mobile/src/components/ApplicationForm/ApplicationForm.tsx +2 -10
  1172. package/mobile/src/components/ApplicationForm/ApplicationFormAcquiring.tsx +2 -2
  1173. package/mobile/src/components/ApplicationForm/ApplicationFormCredit.tsx +3 -3
  1174. package/mobile/src/components/ApplicationForm/ApplicationFormDeposit.tsx +2 -2
  1175. package/mobile/src/components/ApplicationForm/ApplicationFormGrantSupport.tsx +2 -2
  1176. package/mobile/src/components/ApplicationForm/ApplicationFormWed.tsx +44 -27
  1177. package/mobile/src/components/ApplicationForm/BusinessCardFormState.ts +1 -1
  1178. package/mobile/src/components/ApplicationForm/CreditFormState.ts +1 -1
  1179. package/mobile/src/components/ApplicationForm/WedFormState.ts +6 -4
  1180. package/mobile/src/components/ApplicationForm/renderAcquiringDataOrganization.tsx +21 -25
  1181. package/mobile/src/components/ApplicationForm/renderAcquiringRegion.tsx +3 -3
  1182. package/mobile/src/components/ApplicationForm/renderBusinessCardDataOrganization.tsx +3 -3
  1183. package/mobile/src/components/ApplicationForm/renderCreditDataOrganization.tsx +11 -13
  1184. package/mobile/src/components/ApplicationForm/renderCreditParameters.tsx +3 -3
  1185. package/mobile/src/components/ApplicationForm/renderQuestionsInterested.tsx +35 -15
  1186. package/mobile/src/components/ApplicationForm/renderRegion.tsx +1 -1
  1187. package/mobile/src/components/ApplicationForm/renderRegionDepartment.tsx +4 -4
  1188. package/mobile/src/components/ApplicationForm/renderSubmitButton.tsx +1 -1
  1189. package/mobile/src/components/ApplicationForm/renderWedDataOrganization.tsx +41 -23
  1190. package/mobile/src/components/ApplicationForm/renderWedTextarea.tsx +32 -0
  1191. package/mobile/src/components/Bonus/Bonus.tsx +7 -3
  1192. package/mobile/src/components/Bonus/BonusContent.ts +2 -0
  1193. package/mobile/src/components/BonusBenefitsBlock/BonusBenefitsBlock.tsx +1 -6
  1194. package/mobile/src/components/BonusBenefitsBlock/renderBonusBenefit.tsx +3 -3
  1195. package/mobile/src/components/Calculator/BonusCalculatorForm.tsx +2 -2
  1196. package/mobile/src/components/Calculator/BusinessDepositCalculatorForm.tsx +2 -2
  1197. package/mobile/src/components/Calculator/CreditCalculatorForm.tsx +2 -2
  1198. package/mobile/src/components/Calculator/DepositCalculatorForm.tsx +2 -2
  1199. package/mobile/src/components/Calculator/RefinancingCalculatorForm.tsx +2 -2
  1200. package/mobile/src/components/CardTransfer/CardTransfer.tsx +1 -1
  1201. package/mobile/src/components/Carousel/Carousel.example.json +1 -0
  1202. package/mobile/src/components/Carousel/Carousel.tsx +1 -0
  1203. package/mobile/src/components/CarouselCard/CarouselCard.tsx +4 -1
  1204. package/mobile/src/components/CarouselCatalogCard/CarouselCatalogCard.tsx +49 -25
  1205. package/mobile/src/components/CarouselLinks/CarouselLinkButton.tsx +23 -21
  1206. package/mobile/src/components/CarouselLinks/CarouselLinks.tsx +24 -22
  1207. package/mobile/src/components/CarouselProductCard/CarouselProductCard.tsx +2 -2
  1208. package/mobile/src/components/CarouselRecommendationCard/CarouselRecommendationCard.example.json +2 -1
  1209. package/mobile/src/components/ComparisonTable/ComparisonTableColumnHeaders.tsx +2 -2
  1210. package/mobile/src/components/ComparisonTable/TableCarouselContainer.tsx +1 -1
  1211. package/mobile/src/components/ComparisonTable/TableCell.tsx +14 -12
  1212. package/mobile/src/components/ComparisonTable/TableColumn.tsx +7 -3
  1213. package/mobile/src/components/ComparisonTable/TableRow.tsx +3 -4
  1214. package/mobile/src/components/ComparisonTable/constants.ts +4 -4
  1215. package/mobile/src/components/ContentPage/ContentPage.tsx +2 -0
  1216. package/mobile/src/components/DepositFiltration/DepositFiltration.example.json +6 -2
  1217. package/mobile/src/components/DepositFiltration/DepositFiltration.tsx +22 -17
  1218. package/mobile/src/components/DepositFiltration/getChildSourceBook.ts +7 -0
  1219. package/mobile/src/components/DepositFiltration/getPeriod.ts +10 -0
  1220. package/mobile/src/components/DepositFiltration/useDepositsPeriods.ts +34 -0
  1221. package/mobile/src/components/ErrorBlock/ErrorBlock.tsx +13 -3
  1222. package/mobile/src/components/ExchangeRateTile/renderInput.tsx +1 -1
  1223. package/mobile/src/components/Footer/Footer.tsx +1 -1
  1224. package/mobile/src/components/Footer/HorizontalNavigation.tsx +1 -1
  1225. package/mobile/src/components/Footer/MediaButton.tsx +1 -1
  1226. package/mobile/src/components/Header/DropdownMenu.tsx +2 -2
  1227. package/mobile/src/components/Header/HeaderChatBotButton.tsx +1 -1
  1228. package/mobile/src/components/MobileAppTile/MobileAppTile.example.json +0 -1
  1229. package/mobile/src/components/MobileAppTile/MobileAppTile.tsx +4 -4
  1230. package/mobile/src/components/MobileAppTile/MobileAppTileContent.ts +0 -5
  1231. package/mobile/src/components/MobileAppTile/renderDescription.tsx +1 -1
  1232. package/mobile/src/components/MobileAppTile/renderList.tsx +3 -2
  1233. package/mobile/src/components/MortgageFiltration/MortgageFiltration.example.json +9 -2
  1234. package/mobile/src/components/MortgageFiltration/MortgageFiltration.tsx +5 -2
  1235. package/mobile/src/components/RollupItem/PrimaryFoldButton.tsx +44 -0
  1236. package/mobile/src/components/RollupItem/RollupItem.tsx +10 -48
  1237. package/mobile/src/components/SafeDepositRental/RegionsAndBranches.tsx +1 -1
  1238. package/mobile/src/components/SafeDepositRental/SafeBoxCases.tsx +1 -1
  1239. package/mobile/src/components/SafeDepositRental/SafeDepositRentalFields.tsx +2 -2
  1240. package/mobile/src/components/SafeDepositRental/SafeDepositRentalForm.tsx +1 -1
  1241. package/mobile/src/components/SafeDepositRental/SafeDepositRentalTotal.tsx +8 -8
  1242. package/mobile/src/components/SafeDepositRental/WrapperSelect.tsx +2 -1
  1243. package/mobile/src/components/StickyBottomMenu/RenderMenuItems.tsx +4 -1
  1244. package/mobile/src/components/TariffsTable/EmbeddableCellData.tsx +43 -10
  1245. package/mobile/src/components/TariffsTable/TariffsTable.example.json +0 -1
  1246. package/mobile/src/components/TariffsTable/TariffsTable.tsx +50 -31
  1247. package/mobile/src/components/TariffsTable/TariffsTableCell.tsx +1 -4
  1248. package/mobile/src/components/TariffsTable/TariffsTableContent.ts +0 -3
  1249. package/mobile/src/components/TariffsTable/TariffsTableRenderCell.tsx +1 -5
  1250. package/mobile/src/components/TariffsTable/TariffsTableRow.tsx +10 -4
  1251. package/mobile/src/components/TariffsTable/TariffsTableRowContainer.tsx +10 -1
  1252. package/mobile/src/components/TariffsTable/TariffsTableWrapper.tsx +27 -0
  1253. package/mobile/src/components/TariffsTable/constants.ts +2 -2
  1254. package/mobile/src/components/TariffsTable/headlineAlign.tsx +1 -0
  1255. package/mobile/src/content-page-repository/transformContentPage.ts +12 -10
  1256. package/mobile/src/model/AlignStyles.ts +1 -0
  1257. package/mobile/src/services/search/search.ts +1 -1
  1258. package/mobile/src/services/search/textRank.ts +1 -1
  1259. package/mobile/src/services/search/useSearch.ts +1 -1
  1260. package/mobile/src/ui-kit/BaseFiltration/BaseFiltrationInner.tsx +5 -8
  1261. package/mobile/src/ui-kit/BaseFiltration/getBadgeCount.ts +2 -2
  1262. package/mobile/src/ui-kit/BaseFiltration/getBlocksToRender.ts +8 -0
  1263. package/mobile/src/ui-kit/BaseFiltration/{checkShouldRenderBlock.ts → shouldRenderBlock.ts} +9 -2
  1264. package/mobile/src/ui-kit/Button/renderButtonsSection.tsx +2 -5
  1265. package/mobile/src/ui-kit/CookiePopup/CookiePopup.tsx +2 -2
  1266. package/mobile/src/ui-kit/DialogManager/DialogManager.tsx +8 -13
  1267. package/mobile/src/ui-kit/DialogManager/useDialogsList.ts +1 -1
  1268. package/mobile/src/ui-kit/Foldable/DefaultFoldButton.tsx +23 -21
  1269. package/mobile/src/ui-kit/InnerTable/InnerTable.tsx +2 -2
  1270. package/mobile/src/ui-kit/InnerTable/InnerTableBody.tsx +3 -25
  1271. package/mobile/src/ui-kit/InnerTable/InnerTableBodyItem.tsx +7 -82
  1272. package/mobile/src/ui-kit/InnerTable/InnerTableButton.tsx +15 -19
  1273. package/mobile/src/ui-kit/InnerTable/InnerTableHeader.tsx +5 -3
  1274. package/mobile/src/ui-kit/InnerTable/getHorizontalShift.tsx +7 -0
  1275. package/mobile/src/ui-kit/InnerTable/linkButtonVersion.tsx +1 -0
  1276. package/mobile/src/ui-kit/InnerTable/renderInnerTableRow.tsx +54 -0
  1277. package/mobile/src/ui-kit/LocationDialog/LocationDialog.tsx +2 -2
  1278. package/mobile/src/ui-kit/PopupManager/PopupAction.ts +18 -0
  1279. package/mobile/src/ui-kit/PopupManager/PopupManager.tsx +57 -0
  1280. package/mobile/src/ui-kit/PopupManager/usePopupManager.tsx +11 -0
  1281. package/mobile/src/ui-kit/Select/Option.ts +4 -0
  1282. package/mobile/src/ui-kit/Select/Select.tsx +36 -88
  1283. package/mobile/src/ui-kit/Select/SelectPopup.tsx +42 -0
  1284. package/mobile/src/ui-kit/Select/filterOptions.ts +19 -0
  1285. package/mobile/src/ui-kit/Select/formatOption.ts +3 -0
  1286. package/mobile/src/ui-kit/Select/useSelectPopup.tsx +63 -0
  1287. package/mobile/src/ui-kit/TextWithIcon/TextWithIcon.tsx +35 -0
  1288. package/mobile/src/ui-kit/YandexMap/YandexMap.tsx +7 -8
  1289. package/mobile/src/utils/fetchMultitudeJSON.ts +9 -0
  1290. package/package.json +4 -3
  1291. package/src/EventBus/defaultEventBus.ts +3 -1
  1292. package/src/components/ApplicationForm/AcquiringFormState.ts +1 -1
  1293. package/src/components/ApplicationForm/ApplicationForm.fixture.mobile.tsx +7 -0
  1294. package/src/components/ApplicationForm/ApplicationForm.fixture.tsx +7 -0
  1295. package/src/components/ApplicationForm/ApplicationForm.tsx +2 -10
  1296. package/src/components/ApplicationForm/ApplicationFormAcquiring.tsx +2 -2
  1297. package/src/components/ApplicationForm/ApplicationFormCredit.tsx +3 -3
  1298. package/src/components/ApplicationForm/ApplicationFormDeposit.tsx +2 -2
  1299. package/src/components/ApplicationForm/ApplicationFormGrantSupport.tsx +2 -2
  1300. package/src/components/ApplicationForm/ApplicationFormWed.tsx +44 -27
  1301. package/src/components/ApplicationForm/BusinessCardFormState.ts +1 -1
  1302. package/src/components/ApplicationForm/CreditFormState.ts +1 -1
  1303. package/src/components/ApplicationForm/WedFormState.ts +6 -4
  1304. package/src/components/ApplicationForm/renderAcquiringDataOrganization.mobile.tsx +31 -0
  1305. package/src/components/ApplicationForm/renderAcquiringDataOrganization.tsx +3 -3
  1306. package/src/components/ApplicationForm/renderAcquiringRegion.tsx +3 -3
  1307. package/src/components/ApplicationForm/renderBusinessCardDataOrganization.tsx +3 -3
  1308. package/src/components/ApplicationForm/renderCreditDataOrganization.mobile.tsx +39 -0
  1309. package/src/components/ApplicationForm/renderCreditDataOrganization.tsx +3 -3
  1310. package/src/components/ApplicationForm/renderCreditParameters.tsx +3 -3
  1311. package/src/components/ApplicationForm/renderQuestionsInterested.tsx +35 -15
  1312. package/src/components/ApplicationForm/renderRegion.tsx +1 -1
  1313. package/src/components/ApplicationForm/renderRegionDepartment.tsx +4 -4
  1314. package/src/components/ApplicationForm/renderSubmitButton.tsx +1 -1
  1315. package/src/components/ApplicationForm/renderWedDataOrganization.tsx +41 -23
  1316. package/src/components/ApplicationForm/renderWedTextarea.tsx +32 -0
  1317. package/src/components/Bonus/Bonus.tsx +7 -3
  1318. package/src/components/Bonus/BonusContent.ts +2 -0
  1319. package/src/components/BonusBenefitsBlock/BonusBenefitsBlock.tsx +1 -6
  1320. package/src/components/BonusBenefitsBlock/renderBonusBenefit.tsx +3 -3
  1321. package/src/components/Calculator/BonusCalculatorForm.tsx +2 -2
  1322. package/src/components/Calculator/BusinessDepositCalculatorForm.tsx +2 -2
  1323. package/src/components/Calculator/CreditCalculatorForm.tsx +2 -2
  1324. package/src/components/Calculator/DepositCalculatorForm.tsx +2 -2
  1325. package/src/components/Calculator/RefinancingCalculatorForm.tsx +2 -2
  1326. package/src/components/CardTransfer/CardTransfer.tsx +1 -1
  1327. package/src/components/Carousel/Carousel.example.json +1 -0
  1328. package/src/components/Carousel/Carousel.fixture.mobile.tsx +16 -6
  1329. package/src/components/Carousel/Carousel.fixture.tsx +15 -5
  1330. package/src/components/Carousel/Carousel.tsx +1 -0
  1331. package/src/components/CarouselCard/CarouselCard.tsx +4 -1
  1332. package/src/components/CarouselCatalogCard/CarouselCatalogCard.fixture.mobile.tsx +30 -1
  1333. package/src/components/CarouselCatalogCard/CarouselCatalogCard.fixture.tsx +30 -1
  1334. package/src/components/CarouselCatalogCard/CarouselCatalogCard.tsx +49 -25
  1335. package/src/components/CarouselLinks/CarouselLinkButton.tsx +23 -21
  1336. package/src/components/CarouselLinks/CarouselLinks.tsx +24 -22
  1337. package/src/components/CarouselProductCard/CarouselProductCard.tsx +2 -2
  1338. package/src/components/CarouselProgramsCard/CarouselProgramsCard.fixture.tsx +1 -1
  1339. package/src/components/CarouselRecommendationCard/CarouselRecommendationCard.example.json +2 -1
  1340. package/src/components/CarouselRecommendationCard/CarouselRecommendationCard.tsx +2 -1
  1341. package/src/components/ComparisonTable/ComparisonTable.tsx +2 -2
  1342. package/src/components/ComparisonTable/ComparisonTableColumnHeaders.tsx +2 -2
  1343. package/src/components/ComparisonTable/HeaderCell.tsx +7 -2
  1344. package/src/components/ComparisonTable/TableCarouselContainer.tsx +1 -1
  1345. package/src/components/ComparisonTable/TableCell.mobile.tsx +14 -12
  1346. package/src/components/ComparisonTable/TableCell.tsx +16 -9
  1347. package/src/components/ComparisonTable/TableColumn.tsx +7 -3
  1348. package/src/components/ComparisonTable/TableRow.tsx +3 -4
  1349. package/src/components/ComparisonTable/constants.ts +4 -4
  1350. package/src/components/ContentPage/ContentPage.tsx +2 -0
  1351. package/src/components/DepositFiltration/DepositFiltration.example.json +6 -2
  1352. package/src/components/DepositFiltration/DepositFiltration.fixture.mobile.tsx +13 -40
  1353. package/src/components/DepositFiltration/DepositFiltration.fixture.tsx +14 -41
  1354. package/src/components/DepositFiltration/DepositFiltration.tsx +22 -17
  1355. package/src/components/DepositFiltration/getChildSourceBook.ts +7 -0
  1356. package/src/components/DepositFiltration/getPeriod.ts +10 -0
  1357. package/src/components/DepositFiltration/useDepositsPeriods.ts +34 -0
  1358. package/src/components/ErrorBlock/ErrorBlock.tsx +13 -3
  1359. package/src/components/ExchangeRateTile/renderInput.tsx +1 -1
  1360. package/src/components/Footer/Footer.mobile.tsx +1 -1
  1361. package/src/components/Footer/HorizontalNavigation.mobile.tsx +1 -1
  1362. package/src/components/Footer/MediaButton.tsx +1 -1
  1363. package/src/components/Header/DropdownMenu.tsx +2 -2
  1364. package/src/components/Header/HeaderChatBotButton.tsx +1 -1
  1365. package/src/components/MobileAppTile/MobileAppTile.example.json +0 -1
  1366. package/src/components/MobileAppTile/MobileAppTile.tsx +4 -4
  1367. package/src/components/MobileAppTile/MobileAppTileContent.ts +0 -5
  1368. package/src/components/MobileAppTile/renderDescription.tsx +1 -1
  1369. package/src/components/MobileAppTile/renderList.tsx +3 -2
  1370. package/src/components/MortgageFiltration/MortgageFiltration.example.json +9 -2
  1371. package/src/components/MortgageFiltration/MortgageFiltration.tsx +5 -2
  1372. package/src/components/RollupItem/PrimaryFoldButton.tsx +44 -0
  1373. package/src/components/RollupItem/RollupItem.tsx +10 -48
  1374. package/src/components/SafeDepositRental/RegionsAndBranches.tsx +1 -1
  1375. package/src/components/SafeDepositRental/SafeBoxCases.tsx +1 -1
  1376. package/src/components/SafeDepositRental/SafeDepositRentalFields.tsx +2 -2
  1377. package/src/components/SafeDepositRental/SafeDepositRentalForm.tsx +1 -1
  1378. package/src/components/SafeDepositRental/SafeDepositRentalTotal.tsx +8 -8
  1379. package/src/components/SafeDepositRental/WrapperSelect.tsx +2 -1
  1380. package/src/components/StickyBottomMenu/RenderMenuItems.tsx +4 -1
  1381. package/src/components/TariffsTable/EmbeddableCellData.tsx +30 -19
  1382. package/src/components/TariffsTable/TariffsTable.example.json +0 -1
  1383. package/src/components/TariffsTable/TariffsTable.fixture.mobile.tsx +8 -4
  1384. package/src/components/TariffsTable/TariffsTable.fixture.tsx +8 -18
  1385. package/src/components/TariffsTable/TariffsTable.tsx +25 -41
  1386. package/src/components/TariffsTable/TariffsTableCell.tsx +1 -4
  1387. package/src/components/TariffsTable/TariffsTableContent.ts +0 -3
  1388. package/src/components/TariffsTable/TariffsTableRenderCell.tsx +1 -5
  1389. package/src/components/TariffsTable/TariffsTableRow.tsx +10 -4
  1390. package/src/components/TariffsTable/TariffsTableRowContainer.tsx +10 -1
  1391. package/src/components/TariffsTable/TariffsTableWrapper.tsx +27 -0
  1392. package/src/components/TariffsTable/constants.ts +2 -2
  1393. package/src/components/TariffsTable/headlineAlign.mobile.tsx +1 -0
  1394. package/src/components/TariffsTable/headlineAlign.tsx +1 -0
  1395. package/src/content-page-repository/transformContentPage.ts +12 -10
  1396. package/src/icons/IconName.ts +5 -422
  1397. package/src/model/AlignStyles.mobile.ts +1 -0
  1398. package/src/model/AlignStyles.ts +1 -0
  1399. package/src/services/search/search.ts +1 -1
  1400. package/src/services/search/textRank.ts +1 -1
  1401. package/src/services/search/useSearch.ts +1 -1
  1402. package/src/ui-kit/BaseFiltration/BaseFiltrationInner.tsx +5 -8
  1403. package/src/ui-kit/BaseFiltration/getBadgeCount.ts +2 -2
  1404. package/src/ui-kit/BaseFiltration/getBlocksToRender.ts +8 -0
  1405. package/src/ui-kit/BaseFiltration/{checkShouldRenderBlock.ts → shouldRenderBlock.ts} +9 -2
  1406. package/src/ui-kit/Button/renderButtonsSection.tsx +2 -5
  1407. package/src/ui-kit/CookiePopup/CookiePopup.tsx +2 -2
  1408. package/src/ui-kit/DialogManager/DialogManager.tsx +8 -13
  1409. package/src/ui-kit/DialogManager/useDialogsList.ts +1 -1
  1410. package/src/ui-kit/Foldable/DefaultFoldButton.tsx +23 -21
  1411. package/src/ui-kit/InnerTable/InnerTable.fixture.mobile.tsx +11 -0
  1412. package/src/ui-kit/InnerTable/InnerTable.fixture.tsx +11 -0
  1413. package/src/ui-kit/InnerTable/InnerTable.tsx +2 -2
  1414. package/src/ui-kit/InnerTable/InnerTableBody.tsx +3 -25
  1415. package/src/ui-kit/InnerTable/InnerTableBodyItem.mobile.tsx +14 -0
  1416. package/src/ui-kit/InnerTable/InnerTableBodyItem.tsx +2 -62
  1417. package/src/ui-kit/InnerTable/InnerTableButton.fixture.mobile.tsx +11 -0
  1418. package/src/ui-kit/InnerTable/InnerTableButton.tsx +15 -19
  1419. package/src/ui-kit/InnerTable/InnerTableHeader.tsx +5 -3
  1420. package/src/ui-kit/InnerTable/getHorizontalShift.tsx +7 -0
  1421. package/src/ui-kit/InnerTable/linkButtonVersion.mobile.tsx +1 -0
  1422. package/src/ui-kit/InnerTable/linkButtonVersion.tsx +1 -0
  1423. package/src/ui-kit/InnerTable/renderInnerTableRow.tsx +54 -0
  1424. package/src/ui-kit/LocationDialog/LocationDialog.tsx +2 -2
  1425. package/src/ui-kit/PopupManager/PopupAction.ts +18 -0
  1426. package/src/ui-kit/PopupManager/PopupManager.tsx +57 -0
  1427. package/src/ui-kit/PopupManager/usePopupManager.tsx +11 -0
  1428. package/src/ui-kit/Select/Option.ts +4 -0
  1429. package/src/ui-kit/Select/Select.fixture.tsx +22 -4
  1430. package/src/ui-kit/Select/Select.tsx +36 -88
  1431. package/src/ui-kit/Select/SelectPopup.tsx +42 -0
  1432. package/src/ui-kit/Select/filterOptions.ts +19 -0
  1433. package/src/ui-kit/Select/formatOption.ts +3 -0
  1434. package/src/ui-kit/Select/useSelectPopup.tsx +63 -0
  1435. package/src/ui-kit/TextWithIcon/TextWithIcon.tsx +35 -0
  1436. package/src/ui-kit/YandexMap/YandexMap.tsx +7 -8
  1437. package/src/utils/fetchMultitudeJSON.ts +9 -0
  1438. package/bundle/components/BonusBenefitsBlock/bonusBenefitAlign.d.ts +0 -1
  1439. package/bundle/components/BonusBenefitsBlock/bonusBenefitAlign.mobile.d.ts +0 -1
  1440. package/bundle/components/CarouselCatalogCard/CatalogCard.d.ts +0 -9
  1441. package/bundle/components/CarouselProductCard/alignTextStyle.d.ts +0 -1
  1442. package/bundle/components/CarouselProductCard/alignTextStyle.mobile.d.ts +0 -1
  1443. package/bundle/components/TariffsTable/EmbeddableCellData.mobile.d.ts +0 -13
  1444. package/bundle/components/TariffsTable/TariffsTable.mobile.d.ts +0 -5
  1445. package/bundle/hooks/useBool.d.ts +0 -9
  1446. package/bundle/hooks/useList.d.ts +0 -10
  1447. package/bundle/hooks/useOutsideClick.d.ts +0 -3
  1448. package/bundle/ui-kit/BaseFiltration/checkShouldRenderBlock.d.ts +0 -1
  1449. package/bundle/utils/useDebouncedEffect.d.ts +0 -1
  1450. package/dist/components/BonusBenefitsBlock/bonusBenefitAlign.d.ts +0 -1
  1451. package/dist/components/BonusBenefitsBlock/bonusBenefitAlign.js +0 -4
  1452. package/dist/components/BonusBenefitsBlock/bonusBenefitAlign.js.map +0 -1
  1453. package/dist/components/BonusBenefitsBlock/bonusBenefitAlign.mobile.d.ts +0 -1
  1454. package/dist/components/BonusBenefitsBlock/bonusBenefitAlign.mobile.js +0 -4
  1455. package/dist/components/BonusBenefitsBlock/bonusBenefitAlign.mobile.js.map +0 -1
  1456. package/dist/components/CarouselCatalogCard/CatalogCard.d.ts +0 -9
  1457. package/dist/components/CarouselCatalogCard/CatalogCard.js +0 -20
  1458. package/dist/components/CarouselCatalogCard/CatalogCard.js.map +0 -1
  1459. package/dist/components/CarouselProductCard/alignTextStyle.d.ts +0 -1
  1460. package/dist/components/CarouselProductCard/alignTextStyle.js +0 -4
  1461. package/dist/components/CarouselProductCard/alignTextStyle.js.map +0 -1
  1462. package/dist/components/CarouselProductCard/alignTextStyle.mobile.d.ts +0 -1
  1463. package/dist/components/CarouselProductCard/alignTextStyle.mobile.js +0 -4
  1464. package/dist/components/CarouselProductCard/alignTextStyle.mobile.js.map +0 -1
  1465. package/dist/components/TariffsTable/EmbeddableCellData.mobile.d.ts +0 -13
  1466. package/dist/components/TariffsTable/EmbeddableCellData.mobile.js +0 -20
  1467. package/dist/components/TariffsTable/EmbeddableCellData.mobile.js.map +0 -1
  1468. package/dist/components/TariffsTable/TariffsTable.mobile.d.ts +0 -5
  1469. package/dist/components/TariffsTable/TariffsTable.mobile.js +0 -18
  1470. package/dist/components/TariffsTable/TariffsTable.mobile.js.map +0 -1
  1471. package/dist/hooks/useBool.d.ts +0 -9
  1472. package/dist/hooks/useBool.js +0 -12
  1473. package/dist/hooks/useBool.js.map +0 -1
  1474. package/dist/hooks/useList.d.ts +0 -10
  1475. package/dist/hooks/useList.js +0 -13
  1476. package/dist/hooks/useList.js.map +0 -1
  1477. package/dist/hooks/useOutsideClick.d.ts +0 -3
  1478. package/dist/hooks/useOutsideClick.js +0 -23
  1479. package/dist/hooks/useOutsideClick.js.map +0 -1
  1480. package/dist/services/search/jaroWinklerDistance.js.map +0 -1
  1481. package/dist/ui-kit/BaseFiltration/checkShouldRenderBlock.d.ts +0 -1
  1482. package/dist/ui-kit/BaseFiltration/checkShouldRenderBlock.js.map +0 -1
  1483. package/dist/utils/useDebouncedEffect.d.ts +0 -1
  1484. package/dist/utils/useDebouncedEffect.js +0 -11
  1485. package/dist/utils/useDebouncedEffect.js.map +0 -1
  1486. package/lib/components/BonusBenefitsBlock/bonusBenefitAlign.d.ts +0 -1
  1487. package/lib/components/BonusBenefitsBlock/bonusBenefitAlign.js +0 -2
  1488. package/lib/components/BonusBenefitsBlock/bonusBenefitAlign.js.map +0 -1
  1489. package/lib/components/BonusBenefitsBlock/bonusBenefitAlign.mobile.d.ts +0 -1
  1490. package/lib/components/BonusBenefitsBlock/bonusBenefitAlign.mobile.js +0 -2
  1491. package/lib/components/BonusBenefitsBlock/bonusBenefitAlign.mobile.js.map +0 -1
  1492. package/lib/components/CarouselCatalogCard/CatalogCard.d.ts +0 -9
  1493. package/lib/components/CarouselCatalogCard/CatalogCard.js +0 -18
  1494. package/lib/components/CarouselCatalogCard/CatalogCard.js.map +0 -1
  1495. package/lib/components/CarouselProductCard/alignTextStyle.d.ts +0 -1
  1496. package/lib/components/CarouselProductCard/alignTextStyle.js +0 -2
  1497. package/lib/components/CarouselProductCard/alignTextStyle.js.map +0 -1
  1498. package/lib/components/CarouselProductCard/alignTextStyle.mobile.d.ts +0 -1
  1499. package/lib/components/CarouselProductCard/alignTextStyle.mobile.js +0 -2
  1500. package/lib/components/CarouselProductCard/alignTextStyle.mobile.js.map +0 -1
  1501. package/lib/components/TariffsTable/EmbeddableCellData.mobile.d.ts +0 -12
  1502. package/lib/components/TariffsTable/EmbeddableCellData.mobile.js +0 -18
  1503. package/lib/components/TariffsTable/EmbeddableCellData.mobile.js.map +0 -1
  1504. package/lib/components/TariffsTable/TariffsTable.mobile.d.ts +0 -5
  1505. package/lib/components/TariffsTable/TariffsTable.mobile.js +0 -16
  1506. package/lib/components/TariffsTable/TariffsTable.mobile.js.map +0 -1
  1507. package/lib/hooks/useBool.d.ts +0 -9
  1508. package/lib/hooks/useBool.js +0 -9
  1509. package/lib/hooks/useBool.js.map +0 -1
  1510. package/lib/hooks/useList.d.ts +0 -10
  1511. package/lib/hooks/useList.js +0 -10
  1512. package/lib/hooks/useList.js.map +0 -1
  1513. package/lib/hooks/useOutsideClick.d.ts +0 -3
  1514. package/lib/hooks/useOutsideClick.js +0 -20
  1515. package/lib/hooks/useOutsideClick.js.map +0 -1
  1516. package/lib/services/search/jaroWinklerDistance.js.map +0 -1
  1517. package/lib/ui-kit/BaseFiltration/checkShouldRenderBlock.d.ts +0 -1
  1518. package/lib/ui-kit/BaseFiltration/checkShouldRenderBlock.js.map +0 -1
  1519. package/lib/utils/useDebouncedEffect.d.ts +0 -1
  1520. package/lib/utils/useDebouncedEffect.js +0 -8
  1521. package/lib/utils/useDebouncedEffect.js.map +0 -1
  1522. package/mobile/bundle/components/BonusBenefitsBlock/bonusBenefitAlign.d.ts +0 -1
  1523. package/mobile/bundle/components/CarouselCatalogCard/CatalogCard.d.ts +0 -9
  1524. package/mobile/bundle/components/CarouselProductCard/alignTextStyle.d.ts +0 -1
  1525. package/mobile/bundle/hooks/useBool.d.ts +0 -9
  1526. package/mobile/bundle/hooks/useList.d.ts +0 -10
  1527. package/mobile/bundle/hooks/useOutsideClick.d.ts +0 -3
  1528. package/mobile/bundle/ui-kit/BaseFiltration/checkShouldRenderBlock.d.ts +0 -1
  1529. package/mobile/bundle/utils/useDebouncedEffect.d.ts +0 -1
  1530. package/mobile/dist/components/BonusBenefitsBlock/bonusBenefitAlign.d.ts +0 -1
  1531. package/mobile/dist/components/BonusBenefitsBlock/bonusBenefitAlign.js +0 -4
  1532. package/mobile/dist/components/BonusBenefitsBlock/bonusBenefitAlign.js.map +0 -1
  1533. package/mobile/dist/components/CarouselCatalogCard/CatalogCard.d.ts +0 -9
  1534. package/mobile/dist/components/CarouselCatalogCard/CatalogCard.js +0 -20
  1535. package/mobile/dist/components/CarouselCatalogCard/CatalogCard.js.map +0 -1
  1536. package/mobile/dist/components/CarouselProductCard/alignTextStyle.d.ts +0 -1
  1537. package/mobile/dist/components/CarouselProductCard/alignTextStyle.js +0 -4
  1538. package/mobile/dist/components/CarouselProductCard/alignTextStyle.js.map +0 -1
  1539. package/mobile/dist/hooks/useBool.d.ts +0 -9
  1540. package/mobile/dist/hooks/useBool.js +0 -12
  1541. package/mobile/dist/hooks/useBool.js.map +0 -1
  1542. package/mobile/dist/hooks/useList.d.ts +0 -10
  1543. package/mobile/dist/hooks/useList.js +0 -13
  1544. package/mobile/dist/hooks/useList.js.map +0 -1
  1545. package/mobile/dist/hooks/useOutsideClick.d.ts +0 -3
  1546. package/mobile/dist/hooks/useOutsideClick.js +0 -23
  1547. package/mobile/dist/hooks/useOutsideClick.js.map +0 -1
  1548. package/mobile/dist/services/search/jaroWinklerDistance.js.map +0 -1
  1549. package/mobile/dist/ui-kit/BaseFiltration/checkShouldRenderBlock.d.ts +0 -1
  1550. package/mobile/dist/ui-kit/BaseFiltration/checkShouldRenderBlock.js.map +0 -1
  1551. package/mobile/dist/utils/useDebouncedEffect.d.ts +0 -1
  1552. package/mobile/dist/utils/useDebouncedEffect.js +0 -11
  1553. package/mobile/dist/utils/useDebouncedEffect.js.map +0 -1
  1554. package/mobile/lib/components/BonusBenefitsBlock/bonusBenefitAlign.d.ts +0 -1
  1555. package/mobile/lib/components/BonusBenefitsBlock/bonusBenefitAlign.js +0 -2
  1556. package/mobile/lib/components/BonusBenefitsBlock/bonusBenefitAlign.js.map +0 -1
  1557. package/mobile/lib/components/CarouselCatalogCard/CatalogCard.d.ts +0 -9
  1558. package/mobile/lib/components/CarouselCatalogCard/CatalogCard.js +0 -18
  1559. package/mobile/lib/components/CarouselCatalogCard/CatalogCard.js.map +0 -1
  1560. package/mobile/lib/components/CarouselProductCard/alignTextStyle.d.ts +0 -1
  1561. package/mobile/lib/components/CarouselProductCard/alignTextStyle.js +0 -2
  1562. package/mobile/lib/components/CarouselProductCard/alignTextStyle.js.map +0 -1
  1563. package/mobile/lib/hooks/useBool.d.ts +0 -9
  1564. package/mobile/lib/hooks/useBool.js +0 -9
  1565. package/mobile/lib/hooks/useBool.js.map +0 -1
  1566. package/mobile/lib/hooks/useList.d.ts +0 -10
  1567. package/mobile/lib/hooks/useList.js +0 -10
  1568. package/mobile/lib/hooks/useList.js.map +0 -1
  1569. package/mobile/lib/hooks/useOutsideClick.d.ts +0 -3
  1570. package/mobile/lib/hooks/useOutsideClick.js +0 -20
  1571. package/mobile/lib/hooks/useOutsideClick.js.map +0 -1
  1572. package/mobile/lib/services/search/jaroWinklerDistance.js.map +0 -1
  1573. package/mobile/lib/ui-kit/BaseFiltration/checkShouldRenderBlock.d.ts +0 -1
  1574. package/mobile/lib/ui-kit/BaseFiltration/checkShouldRenderBlock.js.map +0 -1
  1575. package/mobile/lib/utils/useDebouncedEffect.d.ts +0 -1
  1576. package/mobile/lib/utils/useDebouncedEffect.js +0 -8
  1577. package/mobile/lib/utils/useDebouncedEffect.js.map +0 -1
  1578. package/mobile/src/components/BonusBenefitsBlock/bonusBenefitAlign.ts +0 -1
  1579. package/mobile/src/components/CarouselCatalogCard/CatalogCard.ts +0 -22
  1580. package/mobile/src/components/CarouselProductCard/alignTextStyle.tsx +0 -1
  1581. package/mobile/src/hooks/useBool.ts +0 -19
  1582. package/mobile/src/hooks/useList.ts +0 -24
  1583. package/mobile/src/hooks/useOutsideClick.ts +0 -25
  1584. package/mobile/src/utils/useDebouncedEffect.ts +0 -14
  1585. package/src/components/BonusBenefitsBlock/bonusBenefitAlign.mobile.ts +0 -1
  1586. package/src/components/BonusBenefitsBlock/bonusBenefitAlign.ts +0 -1
  1587. package/src/components/CarouselCatalogCard/CatalogCard.ts +0 -22
  1588. package/src/components/CarouselProductCard/alignTextStyle.mobile.tsx +0 -1
  1589. package/src/components/CarouselProductCard/alignTextStyle.tsx +0 -1
  1590. package/src/components/TariffsTable/EmbeddableCellData.mobile.tsx +0 -45
  1591. package/src/components/TariffsTable/TariffsTable.mobile.tsx +0 -56
  1592. package/src/hooks/useBool.ts +0 -19
  1593. package/src/hooks/useList.ts +0 -24
  1594. package/src/hooks/useOutsideClick.ts +0 -25
  1595. package/src/utils/useDebouncedEffect.ts +0 -14
  1596. /package/bundle/{services/search → utils}/jaroWinklerDistance.d.ts +0 -0
  1597. /package/dist/{services/search → utils}/jaroWinklerDistance.d.ts +0 -0
  1598. /package/dist/{services/search → utils}/jaroWinklerDistance.js +0 -0
  1599. /package/lib/{services/search → utils}/jaroWinklerDistance.d.ts +0 -0
  1600. /package/lib/{services/search → utils}/jaroWinklerDistance.js +0 -0
  1601. /package/mobile/bundle/{services/search → utils}/jaroWinklerDistance.d.ts +0 -0
  1602. /package/mobile/dist/{services/search → utils}/jaroWinklerDistance.d.ts +0 -0
  1603. /package/mobile/dist/{services/search → utils}/jaroWinklerDistance.js +0 -0
  1604. /package/mobile/lib/{services/search → utils}/jaroWinklerDistance.d.ts +0 -0
  1605. /package/mobile/lib/{services/search → utils}/jaroWinklerDistance.js +0 -0
  1606. /package/mobile/src/{services/search → utils}/jaroWinklerDistance.ts +0 -0
  1607. /package/src/{services/search → utils}/jaroWinklerDistance.ts +0 -0
@@ -4,22 +4,22 @@
4
4
  (global = typeof globalThis !== 'undefined' ? globalThis : global || self, factory(global.UniBlocks = {}));
5
5
  })(this, (function (exports) { 'use strict';
6
6
 
7
- let _hooks;
8
- const setupHooks = (_) => {
9
- _hooks = _;
10
- };
11
- const lazyHook = (name) => (...args) => _hooks[name](...args);
12
- const useState = lazyHook('useState');
13
- const useEffect = lazyHook('useEffect');
14
- const useCallback = lazyHook('useCallback');
15
- const useMemo = lazyHook('useMemo');
7
+ let _hooks;
8
+ const setupHooks = (_) => {
9
+ _hooks = _;
10
+ };
11
+ const lazyHook = (name) => (...args) => _hooks[name](...args);
12
+ const useState = lazyHook('useState');
13
+ const useEffect = lazyHook('useEffect');
14
+ const useCallback = lazyHook('useCallback');
15
+ const useMemo = lazyHook('useMemo');
16
16
  const useRef = lazyHook('useRef');
17
17
 
18
- const setup = (_jsx, _jsxs) => {
19
- globalThis._uni = {
20
- _jsx,
21
- _jsxs: _jsxs || _jsx
22
- };
18
+ const setup = (_jsx, _jsxs) => {
19
+ globalThis._uni = {
20
+ _jsx,
21
+ _jsxs: _jsxs || _jsx
22
+ };
23
23
  };
24
24
 
25
25
  const getGeolocation = async () => new Promise((resolve) => navigator.geolocation.getCurrentPosition(({ coords }) => resolve(coords)));
@@ -225,22 +225,22 @@
225
225
  const jsx = (...args) => globalThis._uni._jsx(...args);
226
226
  const jsxs = (...args) => globalThis._uni._jsxs(...args);
227
227
 
228
- const JSX = (Component) => {
229
- const Internal = Component;
230
- if (!Internal._tmpl) {
231
- Internal._tmpl = globalThis.__UNI_REACT__ ? Component : VueTmpl(Component);
232
- }
233
- return Internal._tmpl;
234
- };
235
- const VueTmpl = (Component) => {
236
- function JSXTmpl(rawProps, context) {
237
- const { children: rawChildren, ...props } = rawProps || {};
238
- const defaultSlot = context?.slots?.default; // Vue
239
- const children = rawChildren || (defaultSlot && defaultSlot());
240
- return Component(Object.assign(props, children && { children }), context);
241
- }
242
- JSXTmpl.inheritAttrs = false;
243
- return JSXTmpl;
228
+ const JSX = (Component) => {
229
+ const Internal = Component;
230
+ if (!Internal._tmpl) {
231
+ Internal._tmpl = globalThis.__UNI_REACT__ ? Component : VueTmpl(Component);
232
+ }
233
+ return Internal._tmpl;
234
+ };
235
+ const VueTmpl = (Component) => {
236
+ function JSXTmpl(rawProps, context) {
237
+ const { children: rawChildren, ...props } = rawProps || {};
238
+ const defaultSlot = context?.slots?.default; // Vue
239
+ const children = rawChildren || (defaultSlot && defaultSlot());
240
+ return Component(Object.assign(props, children && { children }), context);
241
+ }
242
+ JSXTmpl.inheritAttrs = false;
243
+ return JSXTmpl;
244
244
  };
245
245
 
246
246
  function CorporateLeadAPI() {
@@ -427,65 +427,69 @@
427
427
 
428
428
  const isFilled = (_) => _ !== null && _ !== undefined;
429
429
 
430
- const defaultCache = new Map();
431
- const applyCache = (fetcher, cache = defaultCache) => (key) => {
432
- const cachedData = cache.get(key);
433
- if (isFilled(cachedData)) {
434
- return cachedData;
435
- }
436
- const data = fetcher(key);
437
- if (isFilled(data)) {
438
- cache.set(key, Promise.resolve(data));
439
- }
440
- else {
441
- cache.delete(key);
442
- }
443
- return data;
444
- };
445
-
446
- const isSimpleKey = (args) => Boolean(args && Array.isArray(args) && args.length === 1 && typeof args[0] === 'string');
447
- function useAsyncData(key, fetcher, { fallback, cache } = {}) {
448
- const args = useMemo(() => keyToArgs(key), [key]);
449
- const [simpleKey] = isSimpleKey(args) ? args : [];
450
- const [data, setData] = useState(undefined);
451
- const [error, setError] = useState(undefined);
452
- useEffect(() => {
453
- const isEmptyKey = !args.some(isFilled);
454
- if (isEmptyKey) {
455
- return;
456
- }
457
- (async () => {
458
- try {
459
- const newData = await (simpleKey
460
- ? applyCache(fetcher, cache)(simpleKey)
461
- : fetcher(...args));
462
- setData(newData);
463
- setError(undefined);
464
- }
465
- catch (err) {
466
- setData(undefined);
467
- setError(err);
468
- }
469
- })();
470
- }, [fetcher, cache, args]);
471
- const fallbackData = fallback && simpleKey && fallback[simpleKey];
472
- return {
473
- data: !data && fallbackData ? fallbackData : data,
474
- error,
475
- mutate: () => Promise.resolve(undefined),
476
- isValidating: false
477
- };
478
- }
479
- function keyToArgs(key) {
480
- if (Array.isArray(key)) {
481
- return key;
482
- }
483
- else if (key instanceof Function) {
484
- return keyToArgs(key());
485
- }
486
- else {
487
- return [key];
488
- }
430
+ const defaultCache = new Map();
431
+ const applyCache = (fetcher, cache = defaultCache) => (key) => {
432
+ const cachedData = cache.get(key);
433
+ if (isFilled(cachedData)) {
434
+ return cachedData;
435
+ }
436
+ const data = fetcher(key);
437
+ if (isFilled(data)) {
438
+ cache.set(key, Promise.resolve(data));
439
+ }
440
+ else {
441
+ cache.delete(key);
442
+ }
443
+ return data;
444
+ };
445
+
446
+ const isSimpleKey = (args) => Boolean(args && Array.isArray(args) && args.length === 1 && typeof args[0] === 'string');
447
+ function useAsyncData(key, fetcher, { fallback, cache } = {}) {
448
+ const args = useMemo(() => keyToArgs(key), [key]);
449
+ const [simpleKey] = isSimpleKey(args) ? args : [];
450
+ const [data, setData] = useState(undefined);
451
+ const [error, setError] = useState(undefined);
452
+ useEffect(() => {
453
+ const isEmptyKey = !args.some(isFilled);
454
+ if (isEmptyKey) {
455
+ return;
456
+ }
457
+ let canceled = false;
458
+ const setResult = (newData, err) => {
459
+ if (!canceled) {
460
+ setData(newData);
461
+ setError(err);
462
+ }
463
+ };
464
+ (async () => {
465
+ try {
466
+ setResult(await (simpleKey ? applyCache(fetcher, cache)(simpleKey) : fetcher(...args)));
467
+ }
468
+ catch (err) {
469
+ setResult(undefined, err);
470
+ }
471
+ })();
472
+ return () => {
473
+ canceled = true;
474
+ };
475
+ }, [fetcher, cache, args]);
476
+ const fallbackData = fallback && simpleKey && fallback[simpleKey];
477
+ return {
478
+ data: !data && fallbackData ? fallbackData : data,
479
+ error,
480
+ mutate: () => Promise.resolve(undefined) // TODO Clean up cache
481
+ };
482
+ }
483
+ function keyToArgs(key) {
484
+ if (Array.isArray(key)) {
485
+ return key;
486
+ }
487
+ else if (key instanceof Function) {
488
+ return keyToArgs(key());
489
+ }
490
+ else {
491
+ return [key];
492
+ }
489
493
  }
490
494
 
491
495
  async function fetchJSON(url, options) {
@@ -731,7 +735,7 @@
731
735
  const innValidator = validator((_) => typeof _ === 'string' && (_.length === 10 || _.length === 12))(ERROR_MESSAGE);
732
736
  const phoneValidator = pattern(/^(\+7)?[\s-]?\(?[0-9]{3}\)?[\s-]?[0-9]{3}[\s-]?[0-9]{2}[\s-]?[0-9]{2}$/)(ERROR_MESSAGE);
733
737
 
734
- const renderAcquiringDataOrganization = (field) => (jsxs("div", { className: "sm:flex sm:justify-between sm:gap-lg", children: [jsxs("div", { className: "sm:w-1/2 space-y-s", children: [jsx(InputControl, { className: "shrink-0 w-full", label: "\u041D\u0430\u0438\u043C\u0435\u043D\u043E\u0432\u0430\u043D\u0438\u0435 \u043E\u0440\u0433\u0430\u043D\u0438\u0437\u0430\u0446\u0438\u0438", ...withValidator(field('fullName'), defaultValidator) }), jsx(InputControl, { className: "shrink-0 w-full", label: "\u041A\u043E\u043D\u0442\u0430\u043A\u0442\u043D\u043E\u0435 \u043B\u0438\u0446\u043E", ...withValidator(field('name'), nameValidator) })] }), jsxs("div", { className: "sm:w-1/2 space-y-s", children: [jsx(InputControl, { className: "shrink-0 w-full", label: "\u0418\u041D\u041D", ...withValidator(field('inn'), innValidator) }), jsx(PhoneInputControl, { className: "shrink-0 w-full", label: "\u0422\u0435\u043B\u0435\u0444\u043E\u043D", ...withValidator(field('phone'), phoneValidator) })] })] }));
738
+ const renderAcquiringDataOrganization = (field) => (jsxs("div", { className: "@xl:flex @xl:justify-between @xl:gap-lg", children: [jsxs("div", { className: "@xl:w-1/2 space-y-s", children: [jsx(InputControl, { className: "shrink-0 w-full", label: "\u041D\u0430\u0438\u043C\u0435\u043D\u043E\u0432\u0430\u043D\u0438\u0435 \u043E\u0440\u0433\u0430\u043D\u0438\u0437\u0430\u0446\u0438\u0438", ...withValidator(field('fullName'), defaultValidator) }), jsx(InputControl, { className: "shrink-0 w-full", label: "\u041A\u043E\u043D\u0442\u0430\u043A\u0442\u043D\u043E\u0435 \u043B\u0438\u0446\u043E", ...withValidator(field('name'), nameValidator) })] }), jsxs("div", { className: "@xl:w-1/2 space-y-s", children: [jsx(InputControl, { className: "shrink-0 w-full", label: "\u0418\u041D\u041D", ...withValidator(field('inn'), innValidator) }), jsx(PhoneInputControl, { className: "shrink-0 w-full", label: "\u0422\u0435\u043B\u0435\u0444\u043E\u043D", ...withValidator(field('phone'), phoneValidator) })] })] }));
735
739
 
736
740
  const ACQUIRING_TYPES = [
737
741
  {
@@ -751,33 +755,73 @@
751
755
  },
752
756
  ];
753
757
 
754
- function useBool(defaultValue = false) {
755
- const [value, setValue] = useState(defaultValue);
756
- const setTrue = useCallback(() => setValue(true), []);
757
- const setFalse = useCallback(() => setValue(false), []);
758
- const toggle = useCallback(() => setValue((_) => !_), []);
759
- return [value, { setValue, setTrue, setFalse, toggle }];
758
+ function useBool(defaultValue = false) {
759
+ const [value, setValue] = useState(defaultValue);
760
+ const setTrue = useCallback(() => setValue(true), []);
761
+ const setFalse = useCallback(() => setValue(false), []);
762
+ const toggle = useCallback(() => setValue(_ => !_), []);
763
+ return [value, { setValue, setTrue, setFalse, toggle }];
760
764
  }
761
765
 
762
- function useOutsideClick(onClick) {
763
- const targetRef = useRef(null);
764
- useEffect(() => {
765
- const handleClickOutside = (event) => {
766
- if (targetRef &&
767
- targetRef.current &&
768
- event.target instanceof Node &&
769
- !targetRef.current.contains(event.target)) {
770
- onClick();
771
- }
772
- };
773
- document.addEventListener('click', handleClickOutside);
774
- return () => {
775
- document.removeEventListener('click', handleClickOutside);
776
- };
777
- }, [onClick]);
778
- return targetRef;
766
+ const isOnlyDigits = (str) => str && !/\D/.test(str);
767
+
768
+ const svgUseStyleMap = {
769
+ normal: '',
770
+ color: 'text-primary-main',
771
+ black: 'text-black',
772
+ white: 'text-black',
773
+ };
774
+ const Icon = JSX(({ className = '', imageClassName = '', name = '', alt = `Иконка ${name}`, title = alt, iconVersion = 'color', width, height, }) => {
775
+ const router = useRouter();
776
+ const href = adjustHref(router)(joinPath(projectSettings.CDN, '/icons', `${name}.svg`));
777
+ if (iconVersion !== 'normal') {
778
+ return (jsx(Background, { className: className, children: jsxs("svg", { className: style(getSvgSize(width), svgUseStyleMap[iconVersion], iconVersion === 'white' ? 'invert' : '', imageClassName), width: width, height: height, "aria-hidden": "true", children: [title ? jsx("title", { children: title }) : null, alt ? jsx("desc", { children: alt }) : null, jsx("use", { href: `${href}#icon`, xlinkHref: `${href}#icon` })] }) }));
779
+ }
780
+ return (jsx("img", { className: className, src: href, alt: alt, title: title, "aria-hidden": "true", width: width, height: height, style: getInlineStyle(className, height) }));
781
+ });
782
+ const getInlineStyle = (className, height) => {
783
+ if (className?.includes('h-')) {
784
+ return {};
785
+ }
786
+ return { height: isOnlyDigits(height) ? `${height}px` : height };
787
+ };
788
+ const getSvgSize = (width) => (width ? '' : 'w-full h-full');
789
+ const Background = JSX(({ className, children }) => className ? jsx("div", { className: className, children: children }) : children);
790
+
791
+ const formatOption = (_) => _?.text || _?.key || '';
792
+
793
+ function useEventListener(target, type, listener, options) {
794
+ useEffect(() => {
795
+ if (!target || !listener) {
796
+ return;
797
+ }
798
+ target.addEventListener(type, listener, options);
799
+ return () => {
800
+ target.removeEventListener(type, listener, options);
801
+ };
802
+ }, [target, type, listener]);
803
+ }
804
+
805
+ function useOutsideClick(onClick) {
806
+ const targetRef = useRef(null);
807
+ const handleClickOutside = useCallback((event) => {
808
+ if (targetRef && targetRef.current && event.target instanceof Node && !targetRef.current.contains(event.target)) {
809
+ onClick();
810
+ }
811
+ }, [onClick]);
812
+ useEventListener(globalThis.document, 'click', handleClickOutside);
813
+ return targetRef;
779
814
  }
780
815
 
816
+ const usePopupManager = () => ({
817
+ open: (popup, options) => defaultEventBus.fire('popup', { type: 'open', popup, ...options }),
818
+ update: (popup, options) => defaultEventBus.fire('popup', { type: 'update', popup, ...options }),
819
+ close: () => defaultEventBus.fire('popup', { type: 'close' }),
820
+ });
821
+
822
+ const compareBy = (indexOf) => (a, b) => indexOf(a) - indexOf(b);
823
+ const desc = (cmp) => (a, b) => -cmp(a, b);
824
+
781
825
  const JARO_WINKLER_P = 0.1;
782
826
  const JARO_WINKLER_MAX_L = 4;
783
827
  const jaroWinklerDistance = (s1) => (s2) => {
@@ -842,62 +886,76 @@
842
886
  return prefixL;
843
887
  }
844
888
 
845
- const isOnlyDigits = (str) => str && !/\D/.test(str);
889
+ function zip(firstCol, ...restCols) {
890
+ return firstCol.map((firstEl, rowIndex) => [firstEl, ...restCols.map((col) => col[rowIndex])]);
891
+ }
846
892
 
847
- const svgUseStyleMap = {
848
- normal: '',
849
- color: 'text-primary-main',
850
- black: 'text-black',
851
- white: 'text-black',
852
- };
853
- const Icon = JSX(({ className = '', imageClassName = '', name = '', alt = `Иконка ${name}`, title = alt, iconVersion = 'color', width, height, }) => {
854
- const router = useRouter();
855
- const href = adjustHref(router)(joinPath(projectSettings.CDN, '/icons', `${name}.svg`));
856
- if (iconVersion !== 'normal') {
857
- return (jsx(Background, { className: className, children: jsxs("svg", { className: style(getSvgSize(width), svgUseStyleMap[iconVersion], iconVersion === 'white' ? 'invert' : '', imageClassName), width: width, height: height, "aria-hidden": "true", children: [title ? jsx("title", { children: title }) : null, alt ? jsx("desc", { children: alt }) : null, jsx("use", { href: `${href}#icon`, xlinkHref: `${href}#icon` })] }) }));
858
- }
859
- return (jsx("img", { className: className, src: href, alt: alt, title: title, "aria-hidden": "true", width: width, height: height, style: getInlineStyle(className, height) }));
860
- });
861
- const getInlineStyle = (className, height) => {
862
- if (className?.includes('h-')) {
863
- return {};
893
+ const filterOptions = (options, query) => {
894
+ if (!options?.length || !query?.trim()) {
895
+ return options;
864
896
  }
865
- return { height: isOnlyDigits(height) ? `${height}px` : height };
897
+ const ranking = options
898
+ .map((_) => _.text?.toLowerCase())
899
+ .map(jaroWinklerDistance(query?.trim().toLowerCase()));
900
+ return zip(options, ranking)
901
+ .filter(([, rank]) => rank >= 0.5)
902
+ .sort(desc(compareBy(([, rank]) => rank)))
903
+ .map(([option]) => option);
866
904
  };
867
- const getSvgSize = (width) => (width ? '' : 'w-full h-full');
868
- const Background = JSX(({ className, children }) => className ? jsx("div", { className: className, children: children }) : children);
869
905
 
870
- const Select = JSX(({ className = '', label, options = [], value, valid = true, isBorder = true, placeholder = '', onChange, isSearch = false, }) => {
871
- const [isOpen, { setFalse: close, toggle }] = useBool();
872
- const [searchValue, setSearchValue] = useState('');
873
- const reset = useCallback(() => {
874
- close();
875
- setSearchValue('');
876
- }, []);
877
- const wrapperRef = useOutsideClick(reset);
906
+ const SelectPopup = JSX(({ popupRef, options, value, query, onChange }) => options?.length ? (jsx("div", { className: "bg-white text-l max-h-64 overflow-y-auto overflow-x-hidden rounded-md shadow-[0_4px_25px_rgba(0,0,0,0.07)]", role: "listbox", ref: popupRef, children: filterOptions(options, query).map((option) => (jsxs("div", { className: "flex px-m py-s cursor-pointer hover:bg-main-divider pr-5xl relative", role: "option", "aria-selected": option.key === value?.key, onClick: () => onChange && onChange(option), children: [jsx("span", { className: "min-h-6", children: formatOption(option) }), jsx(Icon, { name: "DoneSimpleIcon", width: "16", height: "16", className: style('absolute right-4 pt-3xs', option.key === value?.key ? '' : 'hidden') })] }, option.key))) })) : null);
907
+
908
+ function useSelectPopup({ isOpen, options, value, query, onChange, onClose, }) {
909
+ const popup = usePopupManager();
910
+ const close = useCallback(() => {
911
+ popup.close();
912
+ onClose && onClose();
913
+ }, [onClose]);
878
914
  const handleChange = useCallback((option) => {
879
- reset();
915
+ close();
880
916
  onChange && onChange(option);
881
- }, [onChange]);
882
- const isSelected = (option) => option.key === value?.key;
883
- return (jsxs("div", { className: className, ref: wrapperRef, children: [renderLabel(label), jsxs("div", { className: style('relative', isOpen ? 'z-20' : 'z-10'), children: [jsxs("div", { className: style('text-l flex justify-between items-center text-primary-text cursor-pointer relative z-10', getBorderStyle(isBorder, valid)), onClick: toggle, children: [jsx("p", { className: "p-m pr-3xl h-14 overflow-hidden text-ellipsis whitespace-nowrap", children: formatOption(value) || placeholder }), jsx(Icon, { className: style('absolute right-3', isOpen ? '' : 'rotate-180'), name: "ArrowUpIcon", width: "16", height: "16" })] }), isSearch ? renderSearch(isOpen, searchValue, setSearchValue) : null, options?.length ? (jsx("div", { className: style('h-0', isOpen ? '' : 'overflow-hidden'), children: jsx("div", { className: "bg-white text-l max-h-64 overflow-y-auto overflow-x-hidden rounded-md shadow-[0_4px_25px_rgba(0,0,0,0.07)]", children: getFilteredOptions(options, searchValue).map(renderOption(handleChange, isOpen, isSelected)) }) })) : null] })] }));
917
+ }, [close, onChange]);
918
+ const inputRef = useRef(null);
919
+ const popupRef = useOutsideClick(close);
920
+ useEffect(() => {
921
+ if (!isOpen || !inputRef.current) {
922
+ return;
923
+ }
924
+ const inputElement = inputRef.current;
925
+ const { top, left, width, height } = inputElement.getBoundingClientRect();
926
+ popup.update(jsx(SelectPopup, { popupRef: popupRef, options: options, value: value, query: query, onChange: handleChange }), {
927
+ top: top + window.scrollY + height,
928
+ left,
929
+ width,
930
+ });
931
+ }, [isOpen, options, value, query, handleChange]);
932
+ return inputRef;
933
+ }
934
+
935
+ const Select = JSX(({ className, label, options = [], value, valid = true, isBorder = true, placeholder = '', isSearch = false, onChange, }) => {
936
+ const [isOpen, { setFalse: close, setTrue: open }] = useBool();
937
+ const [query, setQuery] = useState('');
938
+ const handleClose = useCallback(() => {
939
+ setQuery('');
940
+ close();
941
+ }, []);
942
+ const inputRef = useSelectPopup({
943
+ isOpen,
944
+ options,
945
+ value,
946
+ query,
947
+ onChange,
948
+ onClose: handleClose,
949
+ });
950
+ return (jsxs("div", { className: className, children: [renderLabel(label), jsxs("div", { className: style('relative', isOpen ? 'z-20' : 'z-10'), ref: inputRef, children: [jsxs("div", { className: style('text-l flex justify-between items-center text-primary-text cursor-pointer relative z-10', getBorderStyle(isBorder, valid)), onClick: isOpen ? handleClose : open, children: [jsx("p", { className: "p-m pr-3xl flex items-center overflow-hidden text-ellipsis whitespace-nowrap", children: formatOption(value) || placeholder }), renderIcon$1(isOpen)] }), isSearch && isOpen ? (jsx("div", { className: style('absolute top-0 w-full z-20'), children: jsx(Input, { type: "text", autoFocus: true, value: query, onChange: setQuery }) })) : null] })] }));
884
951
  });
885
952
  const renderLabel = (label) => label ? (jsx("div", { className: "mb-xs", children: jsx(Text, { size: "text-m", color: "text-primary-text", font: "font-light", children: label }) })) : null;
886
- const getFilteredOptions = (options, searchValue) => {
887
- return searchValue
888
- ? options.filter((_) => jaroWinklerDistance(_.text?.toLowerCase())(searchValue.toLowerCase()) >= 0.6)
889
- : options;
890
- };
891
- const renderSearch = (isOpen, searchValue, setSearchValue) => isOpen ? (jsx("div", { className: style('absolute top-0 w-full h-full z-20'), children: jsx(Input, { type: "text", autoFocus: true, value: searchValue, onChange: setSearchValue }) })) : null;
892
- const renderOption = (handleChange, isOpen, isSelected) => (option, i) => (jsxs("div", { onClick: () => {
893
- handleChange(option);
894
- }, className: "flex px-m py-s cursor-pointer hover:bg-main-divider pr-5xl relative", children: [jsx("span", { className: "min-h-6", children: formatOption(option) }), jsx(Icon, { name: "DoneSimpleIcon", width: "16", height: "16", className: style('absolute right-4 pt-3xs', isSelected(option) && isOpen ? '' : 'hidden') })] }, String(i)));
895
- const formatOption = (_) => _?.text || _?.key || '';
953
+ const renderIcon$1 = (isOpen) => (jsx(Icon, { className: style('absolute right-3', isOpen ? '' : 'rotate-180'), name: "ArrowUpIcon", width: "16", height: "16" }));
896
954
  const getBorderStyle = (isBorder, valid) => style(isBorder ? 'border rounded-md hover:border-primary-hover' : '', valid ? ' border-gray' : 'border-error');
897
955
 
898
956
  const SelectControl = JSX(({ className = '', error, ...rest }) => (jsxs("div", { className: className, children: [jsx(Select, { ...rest, valid: !error }), jsx("div", { className: "h-2", children: error ? (jsx(Text, { size: "text-xs", font: "font-light", color: "text-error", children: error })) : null })] })));
899
957
 
900
- const renderAcquiringRegion = ({ regions, field }) => (jsxs("div", { className: "border-b border-b-main-divider sm:border-none sm:flex sm:justify-between gap-lg ", children: [jsx("div", { className: "sm:w-1/2", children: jsx(SelectControl, { label: "\u0412\u0438\u0434 \u044D\u043A\u0432\u0430\u0439\u0440\u0438\u043D\u0433\u0430", placeholder: "\u0412\u044B\u0431\u0435\u0440\u0438\u0442\u0435 \u044D\u043A\u0432\u0430\u0439\u0440\u0438\u043D\u0433", options: ACQUIRING_TYPES.map(({ name: key = '' }) => ({ key, text: key })), ...withValidator(field('acquiringType'), defaultValidator) }) }), jsx("div", { className: "sm:w-1/2", children: jsx(SelectControl, { label: "\u0410\u0434\u0440\u0435\u0441", placeholder: "\u0412\u044B\u0431\u0435\u0440\u0438\u0442\u0435 \u0430\u0434\u0440\u0435\u0441", options: regions.map(({ code = '', name = '' }) => ({ key: code, text: name })), ...withValidator(field('region'), defaultValidator) }) })] }));
958
+ const renderAcquiringRegion = ({ regions, field }) => (jsxs("div", { className: "border-b border-b-main-divider @xl:border-none @xl:flex @xl:justify-between gap-lg ", children: [jsx("div", { className: "@xl:w-1/2", children: jsx(SelectControl, { label: "\u0412\u0438\u0434 \u044D\u043A\u0432\u0430\u0439\u0440\u0438\u043D\u0433\u0430", placeholder: "\u0412\u044B\u0431\u0435\u0440\u0438\u0442\u0435 \u044D\u043A\u0432\u0430\u0439\u0440\u0438\u043D\u0433", options: ACQUIRING_TYPES.map(({ name: key = '' }) => ({ key, text: key })), ...withValidator(field('acquiringType'), defaultValidator) }) }), jsx("div", { className: "@xl:w-1/2", children: jsx(SelectControl, { label: "\u0410\u0434\u0440\u0435\u0441", placeholder: "\u0412\u044B\u0431\u0435\u0440\u0438\u0442\u0435 \u0430\u0434\u0440\u0435\u0441", options: regions.map(({ code = '', name = '' }) => ({ key: code, text: name })), ...withValidator(field('region'), defaultValidator) }) })] }));
901
959
 
902
960
  const SlideCheckbox = JSX(({ value = false, text, type = 'checkbox', onChange }) => (jsxs("div", { role: type, "aria-checked": value, className: "flex justify-start items-center w-full cursor-pointer mb-s", onClick: () => onChange && onChange(!value), children: [jsx("div", { className: style('relative flex-shrink-0 duration-300 w-9 h-5 mr-s rounded-2xl', value ? 'bg-primary-main' : 'bg-main-divider'), children: jsx("div", { className: style('absolute opacity-80 duration-500 top-0.5 w-4 h-4 bg-white rounded-full', value ? 'left-1/2' : 'left-[5%]') }) }), jsx(Text, { size: "text-l", font: "font-light", color: "text-primary-text", children: text })] })));
903
961
 
@@ -908,7 +966,7 @@
908
966
  className: 'text-white',
909
967
  version: button?.version,
910
968
  });
911
- return (jsx("button", { type: "submit", className: style('p-m w-full sm:w-auto', buttonStyle, className), children: button?.text ? button.text : 'Отправить заявку' }));
969
+ return (jsx("button", { type: "submit", className: style('p-m w-full @xl:w-auto', buttonStyle, className), children: button?.text ? button.text : 'Отправить заявку' }));
912
970
  };
913
971
 
914
972
  const initialFormState$4 = {
@@ -945,10 +1003,10 @@
945
1003
  }, [onSubmit]);
946
1004
  const [, { field, ...formProps }] = useForm(initialFormState$4, handleSubmit);
947
1005
  const regions = useGetRegions();
948
- return (jsxs("form", { className: "container space-y-m", onSubmit: formProps.onSubmit, children: [jsx(Heading, { headingType: "h6", title: "\u0412\u0438\u0434 \u044D\u043A\u0432\u0430\u0439\u0440\u0438\u043D\u0433\u0430 \u0438 \u0440\u0435\u0433\u0438\u043E\u043D", className: "sm:text-center" }), renderAcquiringRegion({ regions, field }), jsx(Heading, { headingType: "h6", title: "\u0414\u0430\u043D\u043D\u044B\u0435 \u043E\u0440\u0433\u0430\u043D\u0438\u0437\u0430\u0446\u0438\u0438", className: "sm:text-center" }), renderAcquiringDataOrganization(field), renderSlideCheckboxes(field), renderSubmitButton(button), jsx(Footnote, { link: link })] }));
1006
+ return (jsxs("form", { className: "container space-y-m", onSubmit: formProps.onSubmit, children: [jsx(Heading, { headingType: "h6", title: "\u0412\u0438\u0434 \u044D\u043A\u0432\u0430\u0439\u0440\u0438\u043D\u0433\u0430 \u0438 \u0440\u0435\u0433\u0438\u043E\u043D", className: "@xl:text-center" }), renderAcquiringRegion({ regions, field }), jsx(Heading, { headingType: "h6", title: "\u0414\u0430\u043D\u043D\u044B\u0435 \u043E\u0440\u0433\u0430\u043D\u0438\u0437\u0430\u0446\u0438\u0438", className: "@xl:text-center" }), renderAcquiringDataOrganization(field), renderSlideCheckboxes(field), renderSubmitButton(button), jsx(Footnote, { link: link })] }));
949
1007
  });
950
1008
 
951
- const renderBusinessCardDataOrganization = (field) => (jsxs("div", { className: "sm:flex sm:justify-between sm:gap-lg", children: [jsxs("div", { className: "sm:w-1/2 space-y-s", children: [jsx(InputControl, { className: "shrink-0 w-full", label: "\u041A\u043E\u043D\u0442\u0430\u043A\u0442\u043D\u043E\u0435 \u043B\u0438\u0446\u043E", ...withValidator(field('name'), nameValidator) }), jsx(InputControl, { className: "shrink-0 w-full", label: "\u0418\u041D\u041D", ...withValidator(field('inn'), innValidator) })] }), jsxs("div", { className: "sm:w-1/2 space-y-s", children: [jsx(PhoneInputControl, { className: "shrink-0 w-full", label: "\u0422\u0435\u043B\u0435\u0444\u043E\u043D", ...withValidator(field('phone'), phoneValidator) }), jsx(InputControl, { className: "shrink-0 w-full", label: "\u042D\u043B\u0435\u043A\u0442\u0440\u043E\u043D\u043D\u0430\u044F \u043F\u043E\u0447\u0442\u0430", ...withValidator(field('mail'), defaultValidator) })] })] }));
1009
+ const renderBusinessCardDataOrganization = (field) => (jsxs("div", { className: "@xl:flex @xl:justify-between @xl:gap-lg", children: [jsxs("div", { className: "@xl:w-1/2 space-y-s", children: [jsx(InputControl, { className: "shrink-0 w-full", label: "\u041A\u043E\u043D\u0442\u0430\u043A\u0442\u043D\u043E\u0435 \u043B\u0438\u0446\u043E", ...withValidator(field('name'), nameValidator) }), jsx(InputControl, { className: "shrink-0 w-full", label: "\u0418\u041D\u041D", ...withValidator(field('inn'), innValidator) })] }), jsxs("div", { className: "@xl:w-1/2 space-y-s", children: [jsx(PhoneInputControl, { className: "shrink-0 w-full", label: "\u0422\u0435\u043B\u0435\u0444\u043E\u043D", ...withValidator(field('phone'), phoneValidator) }), jsx(InputControl, { className: "shrink-0 w-full", label: "\u042D\u043B\u0435\u043A\u0442\u0440\u043E\u043D\u043D\u0430\u044F \u043F\u043E\u0447\u0442\u0430", ...withValidator(field('mail'), defaultValidator) })] })] }));
952
1010
 
953
1011
  const renderRegion$1 = ({ regions, field }) => (jsx(SelectControl, { className: "w-full", label: "\u0420\u0435\u0433\u0438\u043E\u043D", placeholder: "\u0412\u044B\u0431\u0435\u0440\u0438\u0442\u0435 \u0440\u0435\u0433\u0438\u043E\u043D", isSearch: true, options: regions.map(({ code = '', name = '' }) => ({ key: code, text: name })), ...withValidator(field('region'), defaultValidator) }));
954
1012
 
@@ -1002,7 +1060,7 @@
1002
1060
  const MAX_CREDIT_TERM = 180;
1003
1061
  const ITEMS_CREDIT_TERM = ['От 1 мес', 'До 15 лет'];
1004
1062
 
1005
- const renderCreditDataOrganization = (field) => (jsxs("div", { className: "pb-2xs border-b border-b-main-divider sm:flex sm:justify-between sm:gap-lg sm:border-none sm:pb-0", children: [jsxs("div", { className: "sm:w-1/2 space-y-s", children: [jsx(InputControl, { className: "shrink-0 w-full", label: "\u041D\u0430\u0438\u043C\u0435\u043D\u043E\u0432\u0430\u043D\u0438\u0435 \u043E\u0440\u0433\u0430\u043D\u0438\u0437\u0430\u0446\u0438\u0438", ...withValidator(field('fullName'), defaultValidator) }), jsx(InputControl, { className: "shrink-0 w-full", label: "\u0418\u041D\u041D", ...withValidator(field('inn'), innValidator) }), jsx(PhoneInputControl, { className: "shrink-0 w-full", label: "\u0422\u0435\u043B\u0435\u0444\u043E\u043D", ...withValidator(field('phone'), phoneValidator) })] }), jsxs("div", { className: "sm:w-1/2 space-y-s", children: [jsx(InputControl, { className: "shrink-0 w-full", label: "\u0413\u043E\u0434\u043E\u0432\u0430\u044F \u0432\u044B\u0440\u0443\u0447\u043A\u0430, \u20BD", ...withValidator(field('annualRevenue'), defaultValidator) }), jsx(InputControl, { className: "shrink-0 w-full", label: "\u041A\u043E\u043D\u0442\u0430\u043A\u0442\u043D\u043E\u0435 \u043B\u0438\u0446\u043E", ...withValidator(field('name'), nameValidator) }), jsx(InputControl, { className: "shrink-0 w-full", label: "\u042D\u043B\u0435\u043A\u0442\u0440\u043E\u043D\u043D\u0430\u044F \u043F\u043E\u0447\u0442\u0430", ...field('mail') })] })] }));
1063
+ const renderCreditDataOrganization = (field) => (jsxs("div", { className: "pb-2xs border-b border-b-main-divider @xl:flex @xl:justify-between @xl:gap-lg @xl:border-none @xl:pb-0", children: [jsxs("div", { className: "@xl:w-1/2 space-y-s", children: [jsx(InputControl, { className: "shrink-0 w-full", label: "\u041D\u0430\u0438\u043C\u0435\u043D\u043E\u0432\u0430\u043D\u0438\u0435 \u043E\u0440\u0433\u0430\u043D\u0438\u0437\u0430\u0446\u0438\u0438", ...withValidator(field('fullName'), defaultValidator) }), jsx(InputControl, { className: "shrink-0 w-full", label: "\u0418\u041D\u041D", ...withValidator(field('inn'), innValidator) }), jsx(PhoneInputControl, { className: "shrink-0 w-full", label: "\u0422\u0435\u043B\u0435\u0444\u043E\u043D", ...withValidator(field('phone'), phoneValidator) })] }), jsxs("div", { className: "@xl:w-1/2 space-y-s", children: [jsx(InputControl, { className: "shrink-0 w-full", label: "\u0413\u043E\u0434\u043E\u0432\u0430\u044F \u0432\u044B\u0440\u0443\u0447\u043A\u0430, \u20BD", ...withValidator(field('annualRevenue'), defaultValidator) }), jsx(InputControl, { className: "shrink-0 w-full", label: "\u041A\u043E\u043D\u0442\u0430\u043A\u0442\u043D\u043E\u0435 \u043B\u0438\u0446\u043E", ...withValidator(field('name'), nameValidator) }), jsx(InputControl, { className: "shrink-0 w-full", label: "\u042D\u043B\u0435\u043A\u0442\u0440\u043E\u043D\u043D\u0430\u044F \u043F\u043E\u0447\u0442\u0430", ...field('mail') })] })] }));
1006
1064
 
1007
1065
  const useNormalizedInput = (props, { normalize, format }) => {
1008
1066
  const { value, onFocus, onBlur, onChange } = props;
@@ -1066,9 +1124,9 @@
1066
1124
  const closestValue = (list) => (_) => list.reduce((prev, curr) => (Math.abs(curr - _) < Math.abs(prev - _) ? curr : prev));
1067
1125
  const renderRangeCaption = (items) => (jsx("div", { className: "flex justify-between my-xs", children: items.map((item, i) => (jsx(Text, { size: "text-s", font: "font-light", color: "text-secondary-text", children: item }, String(i)))) }));
1068
1126
 
1069
- const renderCreditParameters = (field) => (jsxs("div", { className: "border-b border-b-main-divider sm:flex sm:justify-between gap-lg sm:border-none", children: [jsxs("div", { className: "sm:w-1/2", children: [jsx("label", { children: jsx(Text, { size: "text-m", font: "font-light", children: "\u0421\u0443\u043C\u043C\u0430, \u20BD" }) }), jsx(InputRange, { items: ITEMS_CREDIT_AMOUNT, min: MIN_CREDIT_AMOUNT, max: MAX_CREDIT_AMOUNT, ...field('amount') })] }), jsxs("div", { className: "sm:w-1/2", children: [jsx("label", { children: jsx(Text, { size: "text-m", font: "font-light", children: "\u0421\u0440\u043E\u043A, \u043C\u0435\u0441\u044F\u0446\u0435\u0432" }) }), jsx(InputRange, { items: ITEMS_CREDIT_TERM, min: MIN_CREDIT_TERM, max: MAX_CREDIT_TERM, ...field('term') })] })] }));
1127
+ const renderCreditParameters = (field) => (jsxs("div", { className: "border-b border-b-main-divider @xl:border-none @xl:flex @xl:justify-between gap-lg", children: [jsxs("div", { className: "@xl:w-1/2", children: [jsx("label", { children: jsx(Text, { size: "text-m", font: "font-light", children: "\u0421\u0443\u043C\u043C\u0430, \u20BD" }) }), jsx(InputRange, { items: ITEMS_CREDIT_AMOUNT, min: MIN_CREDIT_AMOUNT, max: MAX_CREDIT_AMOUNT, ...field('amount') })] }), jsxs("div", { className: "@xl:w-1/2", children: [jsx("label", { children: jsx(Text, { size: "text-m", font: "font-light", children: "\u0421\u0440\u043E\u043A, \u043C\u0435\u0441\u044F\u0446\u0435\u0432" }) }), jsx(InputRange, { items: ITEMS_CREDIT_TERM, min: MIN_CREDIT_TERM, max: MAX_CREDIT_TERM, ...field('term') })] })] }));
1070
1128
 
1071
- const renderRegionDepartment = ({ regions, branches, field }) => (jsxs("div", { className: "sm:flex sm:justify-between sm:gap-m sm:mb-2xl sm:border-none sm:pb-0", children: [jsx("div", { className: "sm:w-1/2", children: jsx(SelectControl, { label: "\u0420\u0435\u0433\u0438\u043E\u043D", placeholder: "\u0412\u044B\u0431\u0435\u0440\u0438\u0442\u0435 \u0440\u0435\u0433\u0438\u043E\u043D", isSearch: true, options: regions.map(({ code = '', name = '' }) => ({ key: code, text: name })), ...withValidator(field('region'), defaultValidator) }) }), jsx("div", { className: "sm:w-1/2", children: jsx(SelectControl, { label: "\u0410\u0434\u0440\u0435\u0441", placeholder: "\u0412\u044B\u0431\u0435\u0440\u0438\u0442\u0435 \u0430\u0434\u0440\u0435\u0441", options: branches.map(({ branchCode = '', address = '' }) => ({
1129
+ const renderRegionDepartment = ({ regions, branches, field }) => (jsxs("div", { className: "@xl:flex @xl:justify-between @xl:gap-lg @xl:mb-2xl @xl:border-none @xl:pb-0", children: [jsx("div", { className: "@xl:w-1/2", children: jsx(SelectControl, { label: "\u0420\u0435\u0433\u0438\u043E\u043D", placeholder: "\u0412\u044B\u0431\u0435\u0440\u0438\u0442\u0435 \u0440\u0435\u0433\u0438\u043E\u043D", isSearch: true, options: regions.map(({ code = '', name = '' }) => ({ key: code, text: name })), ...withValidator(field('region'), defaultValidator) }) }), jsx("div", { className: "@xl:w-1/2", children: jsx(SelectControl, { label: "\u0410\u0434\u0440\u0435\u0441", placeholder: "\u0412\u044B\u0431\u0435\u0440\u0438\u0442\u0435 \u0430\u0434\u0440\u0435\u0441", options: branches.map(({ branchCode = '', address = '' }) => ({
1072
1130
  key: branchCode,
1073
1131
  text: address,
1074
1132
  })), ...withValidator(field('department'), defaultValidator) }) })] }));
@@ -1111,7 +1169,7 @@
1111
1169
  const [formState, { field, ...formProps }] = useForm(initialFormState$2, handleSubmit);
1112
1170
  const regions = useGetRegions();
1113
1171
  const branches = useBranches(formState.region?.key).filter((branch) => branch?.address);
1114
- return (jsxs("form", { className: "container space-y-m", onSubmit: formProps.onSubmit, children: [jsx(Heading, { headingType: "h6", title: "\u041F\u0430\u0440\u0430\u043C\u0435\u0442\u0440\u044B", className: "sm:text-center" }), renderCreditParameters(field), jsx(Heading, { headingType: "h6", title: "\u0414\u0430\u043D\u043D\u044B\u0435 \u043E\u0440\u0433\u0430\u043D\u0438\u0437\u0430\u0446\u0438\u0438", className: "sm:text-center" }), renderCreditDataOrganization(field), jsx(Heading, { headingType: "h6", title: "\u041E\u0444\u0438\u0441 \u0431\u0430\u043D\u043A\u0430", className: "sm:text-center" }), renderRegionDepartment({ regions, branches, field }), renderSubmitButton(button), jsx(Footnote, { link: link })] }));
1172
+ return (jsxs("form", { className: "container space-y-m", onSubmit: formProps.onSubmit, children: [jsx(Heading, { headingType: "h6", title: "\u041F\u0430\u0440\u0430\u043C\u0435\u0442\u0440\u044B", className: "@xl:text-center" }), renderCreditParameters(field), jsx(Heading, { headingType: "h6", title: "\u0414\u0430\u043D\u043D\u044B\u0435 \u043E\u0440\u0433\u0430\u043D\u0438\u0437\u0430\u0446\u0438\u0438", className: "@xl:text-center" }), renderCreditDataOrganization(field), jsx(Heading, { headingType: "h6", title: "\u041E\u0444\u0438\u0441 \u0431\u0430\u043D\u043A\u0430", className: "@xl:text-center" }), renderRegionDepartment({ regions, branches, field }), renderSubmitButton(button), jsx(Footnote, { link: link })] }));
1115
1173
  });
1116
1174
 
1117
1175
  const initialFormState$1 = {
@@ -1134,7 +1192,7 @@
1134
1192
  });
1135
1193
  }, [onSubmit]);
1136
1194
  const [, { field, ...formProps }] = useForm(initialFormState$1, handleSubmit);
1137
- return (jsxs("form", { className: "container", onSubmit: formProps.onSubmit, children: [jsx(Heading, { headingType: "h6", title: "\u041E\u0441\u0442\u0430\u0432\u044C\u0442\u0435 \u0437\u0430\u044F\u0432\u043A\u0443 \u0438 \u043C\u044B \u043E\u0442\u0432\u0435\u0442\u0438\u043C \u043D\u0430 \u043B\u044E\u0431\u044B\u0435 \u0432\u043E\u043F\u0440\u043E\u0441\u044B \u043F\u043E \u0434\u0435\u043F\u043E\u0437\u0438\u0442\u0430\u043C", className: "sm:text-center mb-m" }), jsxs("div", { className: "max-w-[560px] m-auto space-y-s", children: [jsx(InputControl, { className: "shrink-0 w-full", label: "\u0418\u043C\u044F", ...withValidator(field('name'), nameValidator) }), jsx(PhoneInputControl, { className: "shrink-0 w-full", label: "\u0422\u0435\u043B\u0435\u0444\u043E\u043D", ...withValidator(field('phone'), phoneValidator) })] }), jsxs("div", { className: "flex justify-between flex-col-reverse sm:items-center sm:flex-row max-w-[560px] m-auto", children: [jsx("div", { className: "flex-1", children: jsx(Footnote, { link: link }) }), renderSubmitButton(button)] })] }));
1195
+ return (jsxs("form", { className: "container", onSubmit: formProps.onSubmit, children: [jsx(Heading, { headingType: "h6", title: "\u041E\u0441\u0442\u0430\u0432\u044C\u0442\u0435 \u0437\u0430\u044F\u0432\u043A\u0443 \u0438 \u043C\u044B \u043E\u0442\u0432\u0435\u0442\u0438\u043C \u043D\u0430 \u043B\u044E\u0431\u044B\u0435 \u0432\u043E\u043F\u0440\u043E\u0441\u044B \u043F\u043E \u0434\u0435\u043F\u043E\u0437\u0438\u0442\u0430\u043C", className: "@xl:text-center mb-m" }), jsxs("div", { className: "max-w-[560px] m-auto space-y-s", children: [jsx(InputControl, { className: "shrink-0 w-full", label: "\u0418\u043C\u044F", ...withValidator(field('name'), nameValidator) }), jsx(PhoneInputControl, { className: "shrink-0 w-full", label: "\u0422\u0435\u043B\u0435\u0444\u043E\u043D", ...withValidator(field('phone'), phoneValidator) })] }), jsxs("div", { className: "flex justify-between flex-col-reverse @xl:items-center @xl:flex-row max-w-[560px] m-auto", children: [jsx("div", { className: "flex-1", children: jsx(Footnote, { link: link }) }), renderSubmitButton(button)] })] }));
1138
1196
  });
1139
1197
 
1140
1198
  const EMPTY_VALUE$1 = {};
@@ -1157,7 +1215,7 @@
1157
1215
  version: button?.version,
1158
1216
  });
1159
1217
  const regionHref = regions?.find((_) => _.name === region.key)?.href;
1160
- return (jsxs("div", { className: "container space-y-s sm:space-y-lg", children: [regions ? (jsx(SelectControl, { label: "\u0412\u0430\u0448 \u0440\u0435\u0433\u0438\u043E\u043D", placeholder: "\u0412\u044B\u0431\u0435\u0440\u0438\u0442\u0435 \u0440\u0435\u0433\u0438\u043E\u043D", options: regions.map(({ name = '' }) => ({ key: name })), value: region, onChange: setRegion })) : null, regionHref ? (jsx("div", { className: "text-center", children: jsx(Button, { href: regionHref, target: "_blank", className: style('p-m w-full sm:w-auto', buttonStyle), children: button?.text ? button.text : 'Перейти' }) })) : null] }));
1218
+ return (jsxs("div", { className: "container space-y-s @xl:space-y-lg", children: [regions ? (jsx(SelectControl, { label: "\u0412\u0430\u0448 \u0440\u0435\u0433\u0438\u043E\u043D", placeholder: "\u0412\u044B\u0431\u0435\u0440\u0438\u0442\u0435 \u0440\u0435\u0433\u0438\u043E\u043D", options: regions.map(({ name = '' }) => ({ key: name })), value: region, onChange: setRegion })) : null, regionHref ? (jsx("div", { className: "text-center", children: jsx(Button, { href: regionHref, target: "_blank", className: style('p-m w-full @xl:w-auto', buttonStyle), children: button?.text ? button.text : 'Перейти' }) })) : null] }));
1161
1219
  });
1162
1220
 
1163
1221
  const sourcesComparator = (a, b) => a?.media && b?.media ? a.media - b.media : 0;
@@ -1188,70 +1246,73 @@
1188
1246
 
1189
1247
  const renderContacts = () => (jsxs("div", { className: "flex gap-xl", children: [jsxs("a", { className: "flex gap-s items-center text-primary-text no-underline", href: `tel:8 (800) 200-78-70`, "aria-label": "8 (800) 200-78-70", children: [jsx(Img, { image: { icon: 'PhoneIcon' }, width: "24", height: "24" }), jsx("span", { children: "8 (800) 200-78-70" })] }), jsxs("a", { className: "flex gap-s items-center text-primary-text no-underline", "aria-label": "ved@rshb.ru", href: `mailto:ved@rshb.ru`, children: [jsx(Img, { image: { icon: 'MailIcon' }, width: "24", height: "24" }), jsx("span", { children: "ved@rshb.ru" })] })] }));
1190
1248
 
1191
- const SVG = JSX(({ className, viewBox, fill = 'none', width, height, paths, ...commonOptions }) => {
1192
- return (jsx("svg", { xmlns: "http://www.w3.org/2000/svg", className: className, viewBox: viewBox, fill: fill, width: width, height: height, children: paths.map(({ d, fill: pathFill, ...options }, i) => (jsx("path", { d: d, fill: pathFill || 'currentColor', ...commonOptions, ...options }, i))) }));
1193
- });
1194
-
1195
- const CHECK_PATHS = [
1196
- {
1197
- d: 'M10.207.793a1 1 0 0 1 0 1.414l-6 6a1 1 0 0 1-1.414 0l-2.5-2.5a1 1 0 0 1 1.414-1.414L3.5 6.086 8.793.793a1 1 0 0 1 1.414 0Z',
1198
- fillRule: 'evenodd',
1199
- clipRule: 'evenodd',
1200
- fill: 'white',
1201
- },
1202
- ];
1203
- const Checkbox = JSX(({ className, value, text, disabled, isRadio, onChange }) => {
1204
- const handleChange = useCallback((e) => {
1205
- if (disabled) {
1206
- return;
1207
- }
1208
- e.preventDefault();
1209
- onChange && onChange(!value);
1210
- }, [onChange, disabled, value]);
1211
- const icon = isRadio ? (jsx("div", { className: "absolute left-1 w-3 h-3 rounded-full bg-primary-main" })) : (jsx(SVG, { paths: CHECK_PATHS, className: "absolute left-1 ml-px block", width: "11", height: "9", fill: "white", viewBox: "0 0 11 9" }));
1212
- return (jsx("div", { className: className, children: jsxs("label", { className: "flex items-center relative cursor-pointer group/box", onClick: handleChange, children: [jsx("div", { className: style('appearance-none w-5 h-5 border-solid cursor-pointer m-0', isRadio ? 'rounded-full border-2' : checkboxStyle(value), value ? 'border-primary-main' : 'border-gray', disabled ? 'bg-main-disabled' : 'group-hover/box:border-primary-hover'), role: "checkbox", "aria-checked": Boolean(value), "aria-disabled": Boolean(disabled) }), value ? icon : null, text ? (jsx("div", { className: "ml-s", children: jsx(Text, { size: "text-l", font: "font-light", children: text }) })) : null] }) }));
1213
- });
1214
- const checkboxStyle = (value) => style('rounded border', value ? 'bg-primary-main' : '');
1249
+ const Radio = JSX(({ name, text, value, checked, onChange, className }) => (jsx("div", { className: className, children: jsxs("label", { className: "font-sans flex gap-s items-center relative cursor-pointer", children: [jsx("input", { className: "appearance-none flex justify-center items-center shrink-0 w-5 h-5 border border-gray hover:border-primary-hover\n checked:border-2 checked:!border-primary-main focus:checked:border-primary-main focus:border-primary-text active:border-primary-text\n after:block after:w-2.5 after:h-2.5 after:rounded-full checked:after:bg-primary-main outline-none rounded-full cursor-pointer", type: "radio", value: value, name: name, checked: checked, onChange: (_) => onChange(_.target.value) }), text ? jsx("span", { className: "text-primary-text cursor-pointer", children: text }) : null] }) })));
1215
1250
 
1216
1251
  const renderQuestionsInterested = (field) => {
1217
- const textField = field('text');
1218
- return (jsxs("div", { className: "space-y-m", children: [jsxs("div", { className: "sm:flex sm:items-center sm:gap-xl", children: [jsx(Checkbox, { text: "\u0412\u0430\u043B\u044E\u0442\u043D\u044B\u0439 \u043A\u043E\u043D\u0442\u0440\u043E\u043B\u044C", ...field('currencyControl') }), jsx(Checkbox, { text: "\u0414\u043E\u043A\u0443\u043C\u0435\u043D\u0442\u0430\u0440\u043D\u044B\u0435 \u043E\u043F\u0435\u0440\u0430\u0446\u0438\u0438", ...field('documentaryOperations') }), jsx(Checkbox, { text: "\u041A\u043E\u043D\u0432\u0435\u0440\u0441\u0438\u043E\u043D\u043D\u044B\u0435 \u043E\u043F\u0435\u0440\u0430\u0446\u0438\u0438", ...field('conversionOperations') })] }), jsx("textarea", { placeholder: "\u0423\u043A\u0430\u0436\u0438\u0442\u0435 \u0438\u043D\u0442\u0435\u0440\u0435\u0441\u0443\u044E\u0449\u0438\u0439 \u0432\u0430\u0441 \u0432\u043E\u043F\u0440\u043E\u0441, \u043C\u0435\u0441\u0442\u043E \u0432\u0435\u0434\u0435\u043D\u0438\u044F \u0431\u0438\u0437\u043D\u0435\u0441\u0430 \u0438 \u0443\u0434\u043E\u0431\u043D\u043E\u0435 \u0432\u0440\u0435\u043C\u044F \u0434\u043B\u044F \u0442\u0435\u043B\u0435\u0444\u043E\u043D\u043D\u043E\u0433\u043E \u0437\u0432\u043E\u043D\u043A\u0430", className: "block w-full resize-y min-h-24 p-m outline-none border rounded-md border-main-stroke hover:border-primary-hover active:focus:border-primary-text", value: textField.value, onInput: ((e) => textField.onChange && textField.onChange(e.target?.value || '')) })] }));
1252
+ const { value, onChange } = field('vedTypes');
1253
+ return (jsx("div", { className: "space-y-m", children: jsxs("div", { className: "@xl:flex @xl:items-center @xl:gap-xl", children: [jsx(Radio, { className: "mb-xs", name: "vedTypes", text: "\u0412\u0430\u043B\u044E\u0442\u043D\u044B\u0439 \u043A\u043E\u0442\u0440\u043E\u043B\u044C", value: "currencyControl", checked: value === 'currencyControl', onChange: (_) => onChange && onChange(_) }), jsx(Radio, { className: "mb-xs", name: "vedTypes", text: "\u0414\u043E\u043A\u0443\u043C\u0435\u043D\u0442\u0430\u0440\u043D\u044B\u0435 \u043E\u043F\u0435\u0440\u0430\u0446\u0438\u0438", value: "documentOperations", checked: value === 'documentOperations', onChange: (_) => onChange && onChange(_) }), jsx(Radio, { className: "mb-xs", name: "vedTypes", text: "\u041A\u043E\u043D\u0432\u0435\u0440\u0441\u0438\u043E\u043D\u043D\u044B\u0435 \u043E\u043F\u0435\u0440\u0430\u0446\u0438\u0438", value: "conversionTransactions", checked: value === 'conversionTransactions', onChange: (_) => onChange && onChange(_) }), jsx(Radio, { className: "mb-xs", name: "vedTypes", text: "\u0418\u043D\u044B\u0435 \u0432\u043E\u043F\u0440\u043E\u0441\u044B \u0412\u042D\u0414", value: "otherIssues", checked: value === 'otherIssues', onChange: (_) => onChange && onChange(_) })] }) }));
1219
1254
  };
1220
1255
 
1221
- const renderWedDataOrganization = (field) => (jsxs("div", { children: [jsxs("div", { className: "sm:flex sm:justify-between sm:gap-lg", children: [jsx("div", { className: "sm:w-1/2", children: jsx(InputControl, { className: "shrink-0 w-full mb-s", label: "\u041D\u0430\u0438\u043C\u0435\u043D\u043E\u0432\u0430\u043D\u0438\u0435 \u043E\u0440\u0433\u0430\u043D\u0438\u0437\u0430\u0446\u0438\u0438", ...withValidator(field('fullName'), defaultValidator) }) }), jsx("div", { className: "sm:w-1/2", children: jsx(InputControl, { className: "shrink-0 w-full mb-s", label: "\u0424\u0418\u041E", ...withValidator(field('name'), nameValidator) }) })] }), jsxs("div", { className: "sm:flex sm:justify-between sm:gap-lg sm:mb-2xl", children: [jsx("div", { className: "sm:w-1/2", children: jsx(PhoneInputControl, { className: "shrink-0 w-full mb-s", label: "\u0422\u0435\u043B\u0435\u0444\u043E\u043D", ...withValidator(field('phone'), phoneValidator) }) }), jsx("div", { className: "sm:w-1/2", children: jsx(InputControl, { className: "shrink-0 w-full mb-s", label: "\u042D\u043B\u0435\u043A\u0442\u0440\u043E\u043D\u043D\u0430\u044F \u043F\u043E\u0447\u0442\u0430", ...withValidator(field('mail'), defaultValidator) }) })] })] }));
1256
+ const renderWedDataOrganization = (field, regions) => {
1257
+ const isCurrencyControl = field('vedTypes').value === 'currencyControl';
1258
+ return (jsxs("div", { children: [regions.length && isCurrencyControl ? (jsx(SelectControl, { className: "mb-s", label: "\u0420\u0435\u0433\u0438\u043E\u043D", placeholder: "\u0412\u044B\u0431\u0435\u0440\u0438\u0442\u0435 \u0440\u0435\u0433\u0438\u043E\u043D", isSearch: true, options: regions.map(({ code = '', name = '' }) => ({ key: code, text: name })), ...withValidator(field('region'), defaultValidator) })) : null, jsxs("div", { className: "@xl:grid @xl:grid-cols-2 @xl:gap-x-lg", children: [isCurrencyControl ? (jsx(InputControl, { className: "w-full mb-s", label: "\u0418\u041D\u041D", ...withValidator(field('inn'), innValidator) })) : null, jsx(InputControl, { className: "w-full mb-s", label: "\u041D\u0430\u0438\u043C\u0435\u043D\u043E\u0432\u0430\u043D\u0438\u0435 \u043E\u0440\u0433\u0430\u043D\u0438\u0437\u0430\u0446\u0438\u0438", ...withValidator(field('fullName'), defaultValidator) }), jsx(InputControl, { className: "w-full mb-s", label: "\u0424\u0418\u041E", ...withValidator(field('name'), nameValidator) }), jsx(PhoneInputControl, { className: "w-full mb-s", label: "\u0422\u0435\u043B\u0435\u0444\u043E\u043D", ...withValidator(field('phone'), phoneValidator) }), !isCurrencyControl ? (jsx(InputControl, { className: "w-full mb-s", label: "\u042D\u043B\u0435\u043A\u0442\u0440\u043E\u043D\u043D\u0430\u044F \u043F\u043E\u0447\u0442\u0430", ...withValidator(field('mail'), defaultValidator) })) : null] })] }));
1259
+ };
1260
+
1261
+ const activeTextareaStyles = 'hover:border-primary-hover active:focus:border-primary-text focus:border-primary-text';
1262
+ const renderWedTextarea = (field) => {
1263
+ const textField = field('text');
1264
+ return (jsxs("label", { children: [jsx("div", { className: "mb-xs", children: jsx(Text, { size: "text-m", font: "font-light", children: "\u041E\u0431\u0440\u0430\u0449\u0435\u043D\u0438\u0435" }) }), jsx("textarea", { placeholder: "\u0423\u043A\u0430\u0436\u0438\u0442\u0435 \u0438\u043D\u0442\u0435\u0440\u0435\u0441\u0443\u044E\u0449\u0438\u0439 \u0432\u0430\u0441 \u0432\u043E\u043F\u0440\u043E\u0441, \u043C\u0435\u0441\u0442\u043E \u0432\u0435\u0434\u0435\u043D\u0438\u044F \u0431\u0438\u0437\u043D\u0435\u0441\u0430 \u0438 \u0443\u0434\u043E\u0431\u043D\u043E\u0435 \u0432\u0440\u0435\u043C\u044F \u0434\u043B\u044F \u0442\u0435\u043B\u0435\u0444\u043E\u043D\u043D\u043E\u0433\u043E \u0437\u0432\u043E\u043D\u043A\u0430", className: style('block w-full resize-y min-h-24 p-m outline-none border rounded-md border-gray', activeTextareaStyles), value: textField.value, onInput: ((e) => textField.onChange && textField.onChange(e.target?.value || '')) })] }));
1265
+ };
1222
1266
 
1223
1267
  const initialFormState = {
1224
1268
  fullName: '',
1225
1269
  name: '',
1226
1270
  phone: '',
1227
- mail: '',
1228
- currencyControl: false,
1229
- documentaryOperations: false,
1230
- conversionOperations: false,
1271
+ inn: '',
1272
+ vedTypes: 'currencyControl',
1231
1273
  text: '',
1232
1274
  };
1233
- const webValidator = objectValidator({
1275
+ const defaultValidators = {
1234
1276
  fullName: defaultValidator,
1235
1277
  name: nameValidator,
1236
1278
  phone: phoneValidator,
1279
+ };
1280
+ const wedValidator = objectValidator({
1281
+ ...defaultValidators,
1237
1282
  mail: defaultValidator,
1238
1283
  });
1284
+ const wedValidatorCurrencyControl = objectValidator({
1285
+ ...defaultValidators,
1286
+ inn: innValidator,
1287
+ region: defaultValidator,
1288
+ });
1289
+ const isCurrencyControl = (vedTypes) => vedTypes === 'currencyControl';
1290
+ const getValidator = (vedTypes) => isCurrencyControl(vedTypes) ? wedValidatorCurrencyControl : wedValidator;
1291
+ const getVedTypes = (vedTypes) => ({
1292
+ currencyControl: vedTypes === 'currencyControl',
1293
+ documentOperations: vedTypes === 'documentOperations',
1294
+ conversionTransactions: vedTypes === 'conversionTransactions',
1295
+ otherIssues: vedTypes === 'otherIssues',
1296
+ });
1239
1297
  const ApplicationFormWed = JSX((props) => {
1240
1298
  const { button, link, onSubmit } = props;
1241
1299
  const handleSubmit = useCallback((formState) => {
1242
- const { fullName, name, phone, mail, currencyControl, documentaryOperations, conversionOperations, text, } = formState;
1243
- isValidationSuccess(webValidator(formState)) &&
1244
- onSubmit({
1245
- typeForm: 'kved',
1246
- fullName,
1247
- name,
1248
- phone,
1249
- mail,
1250
- partnerComments: `Валютный контроль=${currencyControl}/Документарные операции=${documentaryOperations}/Конверсионные операции=${conversionOperations}/Доп инф=${text}`,
1251
- });
1300
+ const { fullName, name, phone, mail, inn, region, vedTypes, text } = formState;
1301
+ const data = {
1302
+ typeForm: 'KVED',
1303
+ fullName,
1304
+ name,
1305
+ phone,
1306
+ text,
1307
+ vedTypes: getVedTypes(vedTypes),
1308
+ PartnerComments: text,
1309
+ ...(!isCurrencyControl(vedTypes) ? { mail } : { inn, region: region?.text || '' }),
1310
+ };
1311
+ isValidationSuccess(getValidator(vedTypes)(formState)) && onSubmit(data);
1252
1312
  }, [onSubmit]);
1253
1313
  const [, { field, ...formProps }] = useForm(initialFormState, handleSubmit);
1254
- return (jsxs("form", { className: "container space-y-m", onSubmit: formProps.onSubmit, children: [jsx(Heading, { headingType: "h6", title: "\u0414\u0430\u043D\u043D\u044B\u0435 \u043E\u0440\u0433\u0430\u043D\u0438\u0437\u0430\u0446\u0438\u0438", className: "sm:text-center" }), renderWedDataOrganization(field), jsx(Heading, { headingType: "h6", title: "\u0418\u043D\u0442\u0435\u0440\u0435\u0441\u0443\u044E\u0449\u0438\u0439 \u0432\u043E\u043F\u0440\u043E\u0441", className: "sm:text-center" }), renderQuestionsInterested(field), jsxs("div", { className: "flex flex-col gap-m border-b border-main-divider pb-lg sm:items-center sm:flex-row sm:pb-4xl", children: [renderSubmitButton(button), jsx(Footnote, { link: link })] }), jsx(Heading, { headingType: "h6", title: "\u0418\u043B\u0438 \u0441\u0432\u044F\u0436\u0438\u0442\u0435\u0441\u044C \u0441 \u043D\u0430\u043C\u0438 \u0443\u0434\u043E\u0431\u043D\u044B\u043C \u0441\u043F\u043E\u0441\u043E\u0431\u043E\u043C", className: "sm:text-center" }), renderContacts()] }));
1314
+ const regions = useGetRegions();
1315
+ return (jsxs("form", { className: "container space-y-m", onSubmit: formProps.onSubmit, children: [renderQuestionsInterested(field), jsx(Heading, { headingType: "h6", title: "\u0414\u0430\u043D\u043D\u044B\u0435 \u043E\u0440\u0433\u0430\u043D\u0438\u0437\u0430\u0446\u0438\u0438", className: "@xl:text-center" }), renderWedDataOrganization(field, regions), renderWedTextarea(field), jsxs("div", { className: "flex flex-col gap-m border-b border-main-divider pb-lg @xl:items-center @xl:flex-row @xl:pb-4xl", children: [renderSubmitButton(button), jsx(Footnote, { link: link })] }), jsx(Heading, { headingType: "h6", title: "\u0418\u043B\u0438 \u0441\u0432\u044F\u0436\u0438\u0442\u0435\u0441\u044C \u0441 \u043D\u0430\u043C\u0438 \u0443\u0434\u043E\u0431\u043D\u044B\u043C \u0441\u043F\u043E\u0441\u043E\u0431\u043E\u043C", className: "@xl:text-center" }), renderContacts()] }));
1255
1316
  });
1256
1317
 
1257
1318
  const EmbeddableForms = {
@@ -1272,18 +1333,13 @@
1272
1333
  const API = CorporateLeadAPI();
1273
1334
  const ApplicationForm = JSX((props) => {
1274
1335
  const { className, formBlock, ...rest } = props;
1275
- // const type = formBlock?.formType;
1276
- // if (!type || !(type in EmbeddableForms)) {
1277
- // return null;
1278
- // }
1279
- // const EmbeddedForm = EmbeddableForms[type];
1280
1336
  const [responseType, setResponseType] = useState('');
1281
1337
  const handleSubmit = useCallback(async (data) => {
1282
1338
  const status = (await API.send(data)) ? 'OK' : 'Fail';
1283
1339
  setResponseType(status);
1284
1340
  return status;
1285
1341
  }, []);
1286
- return (jsx(BlockWrapper, { className: className, defaultPadding: "p-6xl", ...rest, children: jsxs("div", { className: "container max-w-[978px] space-y-lg", children: [formBlock?.title ? (jsx(Heading, { headingType: "h3", title: formBlock.title, className: "sm:text-center" })) : null, formBlock ? renderEmbeddedForm(formBlock, handleSubmit) : null, responseType ? jsx(ResponseNotification, { responseType: responseType }) : null] }) }));
1342
+ return (jsx(BlockWrapper, { className: className, defaultPadding: "p-6xl", ...rest, children: jsxs("div", { className: "container max-w-[978px] space-y-lg", children: [formBlock?.title ? (jsx(Heading, { headingType: "h3", title: formBlock.title, className: "@xl:text-center" })) : null, formBlock ? renderEmbeddedForm(formBlock, handleSubmit) : null, responseType ? jsx(ResponseNotification, { responseType: responseType }) : null] }) }));
1287
1343
  });
1288
1344
  const renderEmbeddedForm = (formBlock, handleSubmit) => {
1289
1345
  const type = formBlock?.formType;
@@ -1336,10 +1392,7 @@
1336
1392
  const iconVersionDefault = version === 'secondary' ? 'color' : 'white';
1337
1393
  return icon?.iconVersion ? icon?.iconVersion : iconVersionDefault;
1338
1394
  };
1339
- const renderButtonIcon = (icon) => {
1340
- console.log(icon);
1341
- return icon?.icon || icon?.src ? (jsx(Img, { image: icon, width: String(icon?.size?.width || DEFAULT_ICON_W), height: String(DEFAULT_ICON_W) })) : null;
1342
- };
1395
+ const renderButtonIcon = (icon) => icon?.icon || icon?.src ? (jsx(Img, { image: icon, width: String(icon?.size?.width || DEFAULT_ICON_W), height: String(DEFAULT_ICON_W) })) : null;
1343
1396
 
1344
1397
  const headlineVersionStyles = {
1345
1398
  XXL: {
@@ -1397,8 +1450,10 @@
1397
1450
  return (jsxs(BlockWrapper, { className: style(isEmbedded ? '@container-normal' : '', className), defaultPadding: isEmbedded ? '' : 'p-6xl', version: version, isTheme: isTheme, ...rest, children: [title ? (jsx(Heading, { className: style('whitespace-pre-wrap', align), ...versionStyle?.title, as: as || versionStyle?.title.as, title: title })) : null, description ? (jsx(Paragraph, { size: versionStyle.descriptionSize, font: versionStyle.descriptionWeight, align: align, ...descriptionStyle, children: description })) : null] }));
1398
1451
  });
1399
1452
 
1400
- const Bonus = JSX(({ className = '', title, description, bonusItems = [], ...rest }) => (jsx(BlockWrapper, { className: className, defaultPadding: "p-6xl", ...rest, children: jsxs("div", { className: "container", children: [jsx(Headline, { className: "mb-xl", isEmbedded: true, title: title, description: description, headlineVersion: "M" }), jsx("div", { className: "flex flex-wrap w-full", children: bonusItems.length > 0
1401
- ? bonusItems.map((_, i) => (jsxs("div", { className: "space-y-xs flex flex-col grow w-full sm:w-[49%] border border-gray p-m", children: [jsx("div", { className: "grow", children: jsx(Headline, { title: _?.title, description: _?.description, headlineVersion: "S", isEmbedded: true, align: "text-left" }) }), jsxs("div", { className: "flex justify-center sm:justify-between sm:items-end", children: [jsx("div", { className: "hidden sm:block", children: renderButtonsSection(_?.buttons) }), _.bonusItemContent?.bonusType
1453
+ const AlignStyles = 'text-center';
1454
+
1455
+ const Bonus = JSX(({ className = '', title, description, bonusItems = [], align = AlignStyles, ...rest }) => (jsx(BlockWrapper, { className: className, defaultPadding: "p-6xl", ...rest, children: jsxs("div", { className: "container", children: [jsx(Headline, { className: "mb-xl", isEmbedded: true, title: title, description: description, headlineVersion: "M", align: align }), jsx("div", { className: "flex flex-wrap w-full", children: bonusItems.length > 0
1456
+ ? bonusItems.map((_, i) => (jsxs("div", { className: "mb-3xl last:mb-0 sm:space-y-xs flex flex-col grow w-full p-4xl sm:p-m @xl:w-[49%] border border-gray", children: [jsx("div", { className: "grow", children: jsx(Headline, { title: _?.title, description: _?.description, headlineVersion: "S", isEmbedded: true, align: "text-left" }) }), jsxs("div", { className: "flex justify-center sm:justify-between sm:items-end", children: [jsx("div", { className: "hidden sm:block", children: renderButtonsSection(_?.buttons) }), _.bonusItemContent?.bonusType
1402
1457
  ? renderBonusItemContent(_.bonusItemContent)
1403
1458
  : null] })] }, String(i))))
1404
1459
  : null })] }) })));
@@ -1407,7 +1462,7 @@
1407
1462
  : renderBonusImage(bonusItemContent);
1408
1463
  const renderBonusCount = (_) => (jsxs("div", { className: "w-full pt-default mt-s flex justify-center sm:justify-end items-end", children: [_.bonusCount ? (
1409
1464
  // -mb-10 добавлен для выравнивания bonusCount относительно bonusName, тк шрифт font-mohave неправильно высчитывает line-height
1410
- jsx("div", { className: "shrink-0 -mb-10", children: jsx("span", { className: "font-mohave text-title-extra gradient-color-text", children: _.bonusCount }) })) : null, _.bonusName ? (jsx("div", { className: "shrink-0 gradient-color-text", children: jsx(Text, { size: "text-h2", children: _.bonusName }) })) : null] }));
1465
+ jsx("div", { className: "shrink-0 -mb-10", children: jsx("span", { className: "font-mohave text-title-large sm:text-title-extra gradient-color-text", children: _.bonusCount }) })) : null, _.bonusName ? (jsx("div", { className: "shrink-0 gradient-color-text", children: jsx(Text, { size: "text-h2", children: _.bonusName }) })) : null] }));
1411
1466
  const renderBonusImage = (_) => _.image ? jsx(Img, { className: "min-w-12 p-xs rounded-icon shrink-0", image: _.image }) : null;
1412
1467
 
1413
1468
  /**
@@ -1419,11 +1474,9 @@
1419
1474
  right: 'text-right',
1420
1475
  };
1421
1476
 
1422
- const bonusBenefitAlign = 'text-center';
1423
-
1424
1477
  const bonusBenefitStyles = 'items-center';
1425
1478
 
1426
- const renderBonusBenefit = ({ icon, title, description }, i) => (jsxs("div", { className: style('flex flex-col', bonusBenefitStyles, !description && !title ? 'justify-center' : ''), children: [title ? (jsx(Text, { size: "text-h6", font: "font-normal", align: bonusBenefitAlign, children: title })) : null, icon ? jsx(Img, { image: icon, height: "180", className: "w-auto" }) : null, description ? (jsx(Text, { size: "text-h6", font: "font-normal", align: bonusBenefitAlign, children: description })) : null] }, String(i)));
1479
+ const renderBonusBenefit = ({ icon, title, description }, i) => (jsxs("div", { className: style('flex flex-col', bonusBenefitStyles, !description && !title ? 'justify-center' : ''), children: [title ? (jsx(Text, { size: "text-h6", font: "font-normal", align: AlignStyles, children: title })) : null, icon ? jsx(Img, { image: icon, height: "180", className: "w-auto" }) : null, description ? (jsx(Text, { size: "text-h6", font: "font-normal", align: AlignStyles, children: description })) : null] }, String(i)));
1427
1480
 
1428
1481
  const renderBonusBenefits = (bonusBenefits, columnsCount, cardTextAlign) => (jsx("div", { className: `grid gap-2xs ${AlignText[cardTextAlign]} ${getElementsColsValue(columnsCount)}`, children: bonusBenefits.map(renderBonusBenefit) }));
1429
1482
  const getElementsColsValue = (colValue) => {
@@ -1439,7 +1492,7 @@
1439
1492
  }
1440
1493
  };
1441
1494
 
1442
- const BonusBenefitsBlock = JSX(({ bonusBenefits, cardTextAlign = 'center', className = '', columnsCount = '4', subtitle, title, ...rest }) => (jsxs(BlockWrapper, { className: className, defaultPadding: "p-6xl", ...rest, children: [jsx(Headline, { className: "mb-4xl sm:mb-3xl", title: title, description: subtitle, headlineVersion: "M" }), bonusBenefits?.length
1495
+ const BonusBenefitsBlock = JSX(({ bonusBenefits, cardTextAlign = 'center', className = '', columnsCount = '4', subtitle, title, ...rest }) => (jsxs(BlockWrapper, { className: className, defaultPadding: "p-6xl", ...rest, children: [jsx(Headline, { title: title, description: subtitle, headlineVersion: "M" }), bonusBenefits?.length
1443
1496
  ? renderBonusBenefits(bonusBenefits, columnsCount, cardTextAlign)
1444
1497
  : null] })));
1445
1498
 
@@ -1511,11 +1564,11 @@
1511
1564
  const REFINANCING_EXTRA_MIN_SUM = 0;
1512
1565
  const REFINANCING_EXTRA_MAX_SUM = 500000;
1513
1566
  const DEPOSIT_DEFAULT_SUM = 20000;
1514
- const DEFAULT_MIN_MONTHS$1 = 13;
1567
+ const DEFAULT_MIN_MONTHS = 13;
1515
1568
  const DEFAULT_REFINANCING_MIN_MONTHS = 13;
1516
1569
  const DEFAULT_REFINANCING_MONTHS = 48;
1517
- const DEFAULT_MAX_MONTHS$1 = 60;
1518
- const DEFAULT_MONTHS = Math.round((DEFAULT_MAX_MONTHS$1 - DEFAULT_MIN_MONTHS$1) / 2);
1570
+ const DEFAULT_MAX_MONTHS = 60;
1571
+ const DEFAULT_MONTHS = Math.round((DEFAULT_MAX_MONTHS - DEFAULT_MIN_MONTHS) / 2);
1519
1572
  const BUSINESS_DEFAULT_SUM = 100000;
1520
1573
  const BUSINESS_MIN_DAYS = 1;
1521
1574
  const BUSINESS_MAX_DAYS = 1095;
@@ -1528,8 +1581,8 @@
1528
1581
  const DEFAULT_CREDIT_CALCULATOR_PARAMS = {
1529
1582
  minSum: DEFAULT_MIN_SUM$1,
1530
1583
  maxSum: DEFAULT_MAX_SUM$1,
1531
- minMonths: DEFAULT_MIN_MONTHS$1,
1532
- maxMonths: DEFAULT_MAX_MONTHS$1,
1584
+ minMonths: DEFAULT_MIN_MONTHS,
1585
+ maxMonths: DEFAULT_MAX_MONTHS,
1533
1586
  rate: 0,
1534
1587
  isSalaryClient: false,
1535
1588
  isPensionClient: false,
@@ -1544,7 +1597,7 @@
1544
1597
  minSumExtra: REFINANCING_EXTRA_MIN_SUM,
1545
1598
  maxSumExtra: REFINANCING_EXTRA_MAX_SUM,
1546
1599
  minMonths: DEFAULT_REFINANCING_MIN_MONTHS,
1547
- maxMonths: DEFAULT_MAX_MONTHS$1,
1600
+ maxMonths: DEFAULT_MAX_MONTHS,
1548
1601
  rate: 0,
1549
1602
  isExtraMoney: false,
1550
1603
  isSalaryClient: false,
@@ -1640,7 +1693,7 @@
1640
1693
  restExpenseValue: DEFAULT_REST_MIN_SUM,
1641
1694
  });
1642
1695
  const { minSumTravel, maxSumTravel, minSumOther, maxSumOther, monthBonus, yearBonus } = useBonusCalculatorParams(userInputParams, sourceBookDir);
1643
- return (jsxs("section", { className: style('flex flex-col justify-between sm:flex-row gap-m', className), children: [jsxs("div", { className: "flex flex-col gap-y-m sm:w-2/5 gap-2xl", children: [renderWantedSumInput({
1696
+ return (jsxs("section", { className: style('flex flex-col justify-between @5xl:flex-row gap-m', className), children: [jsxs("div", { className: "flex flex-col gap-y-m sm:max-w-md gap-2xl", children: [renderWantedSumInput({
1644
1697
  title: 'Сумма покупок в категории путешествия, ₽',
1645
1698
  min: minSumTravel,
1646
1699
  max: maxSumTravel,
@@ -1657,6 +1710,31 @@
1657
1710
  })] }), monthBonus >= 0 ? (jsx(Rate, { title: "\u0411\u0430\u043B\u043B\u043E\u0432 \u0437\u0430 \u043C\u0435\u0441\u044F\u0446", rate: monthBonus, rateBlockClassName: "tracking-[-14px]", fractionDigits: 0 })) : null, jsxs("div", { className: "flex flex-col gap-2xl sm:w-96", children: [yearBonus >= 0 ? jsx(CalculatorValueBlock, { title: "\u0411\u0430\u043B\u043B\u043E\u0432 \u0437\u0430 \u0433\u043E\u0434", value: yearBonus }) : null, renderButtonsSection(buttons, { isVertical: true }), renderFootnote(footnote)] })] }));
1658
1711
  });
1659
1712
 
1713
+ const SVG = JSX(({ className, viewBox, fill = 'none', width, height, paths, ...commonOptions }) => {
1714
+ return (jsx("svg", { xmlns: "http://www.w3.org/2000/svg", className: className, viewBox: viewBox, fill: fill, width: width, height: height, children: paths.map(({ d, fill: pathFill, ...options }, i) => (jsx("path", { d: d, fill: pathFill || 'currentColor', ...commonOptions, ...options }, i))) }));
1715
+ });
1716
+
1717
+ const CHECK_PATHS = [
1718
+ {
1719
+ d: 'M10.207.793a1 1 0 0 1 0 1.414l-6 6a1 1 0 0 1-1.414 0l-2.5-2.5a1 1 0 0 1 1.414-1.414L3.5 6.086 8.793.793a1 1 0 0 1 1.414 0Z',
1720
+ fillRule: 'evenodd',
1721
+ clipRule: 'evenodd',
1722
+ fill: 'white',
1723
+ },
1724
+ ];
1725
+ const Checkbox = JSX(({ className, value, text, disabled, isRadio, onChange }) => {
1726
+ const handleChange = useCallback((e) => {
1727
+ if (disabled) {
1728
+ return;
1729
+ }
1730
+ e.preventDefault();
1731
+ onChange && onChange(!value);
1732
+ }, [onChange, disabled, value]);
1733
+ const icon = isRadio ? (jsx("div", { className: "absolute left-1 w-3 h-3 rounded-full bg-primary-main" })) : (jsx(SVG, { paths: CHECK_PATHS, className: "absolute left-1 ml-px block", width: "11", height: "9", fill: "white", viewBox: "0 0 11 9" }));
1734
+ return (jsx("div", { className: className, children: jsxs("label", { className: "flex items-center relative cursor-pointer group/box", onClick: handleChange, children: [jsx("div", { className: style('appearance-none w-5 h-5 border-solid cursor-pointer m-0', isRadio ? 'rounded-full border-2' : checkboxStyle(value), value ? 'border-primary-main' : 'border-gray', disabled ? 'bg-main-disabled' : 'group-hover/box:border-primary-hover'), role: "checkbox", "aria-checked": Boolean(value), "aria-disabled": Boolean(disabled) }), value ? icon : null, text ? (jsx("div", { className: "ml-s", children: jsx(Text, { size: "text-l", font: "font-light", children: text }) })) : null] }) }));
1735
+ });
1736
+ const checkboxStyle = (value) => style('rounded border', value ? 'bg-primary-main' : '');
1737
+
1660
1738
  const STEP_DAYS = 1;
1661
1739
  const renderDaysInput = (props) => (jsx(InputRange, { items: [`От ${daysText(props.min || 0)}`, `До ${daysText(props.max || 0)}`], step: STEP_DAYS, ...props }));
1662
1740
  const daysText = (days) => `${days} ${Number(days) % 10 === 1 ? 'дня' : 'дней'}`;
@@ -1789,7 +1867,7 @@
1789
1867
  });
1790
1868
  const calculatorParams = useBusinessDepositCalculatorParams(userInputParams, sourceBookDir);
1791
1869
  const { income, finalSum, rate, isUnavailableByTerm, depositeName } = calculatorParams;
1792
- return (jsxs("section", { className: style('flex flex-col justify-between sm:flex-row gap-m', className), children: [jsxs("div", { className: "flex flex-col gap-y-m sm:w-2/5 gap-2xl", children: [renderWantedSumInput({
1870
+ return (jsxs("section", { className: style('flex flex-col justify-between @5xl:flex-row gap-m', className), children: [jsxs("div", { className: "flex flex-col gap-y-m sm:max-w-md gap-2xl", children: [renderWantedSumInput({
1793
1871
  title: 'Сумма, ₽',
1794
1872
  min: calculatorParams.minSum,
1795
1873
  max: calculatorParams.maxSum,
@@ -1941,7 +2019,7 @@
1941
2019
  orientation: 'vertical',
1942
2020
  ...field('isAnnuity'),
1943
2021
  });
1944
- return (jsxs("section", { className: style('flex flex-col justify-between sm:flex-row gap-m', className), children: [jsxs("div", { className: "flex flex-col gap-y-m sm:w-2/5 gap-2xl", children: [renderWantedSumInput({
2022
+ return (jsxs("section", { className: style('flex flex-col justify-between @5xl:flex-row gap-m', className), children: [jsxs("div", { className: "flex flex-col gap-y-m sm:max-w-md gap-2xl", children: [renderWantedSumInput({
1945
2023
  title: 'Сумма кредита, ₽',
1946
2024
  step: 500,
1947
2025
  min: calculatorParams.minSum,
@@ -2035,7 +2113,7 @@
2035
2113
  useEffect(() => {
2036
2114
  setMonthsValue && setMonthsValue(defaultMonth);
2037
2115
  }, [defaultMonth]);
2038
- return (jsxs("section", { className: style('flex flex-col justify-between sm:flex-row gap-m', className), children: [jsxs("div", { className: "flex flex-col gap-y-m sm:w-2/5 gap-2xl", children: [renderWantedSumInput({
2116
+ return (jsxs("section", { className: style('flex flex-col justify-between @5xl:flex-row gap-m', className), children: [jsxs("div", { className: "flex flex-col gap-y-m sm:max-w-md gap-2xl", children: [renderWantedSumInput({
2039
2117
  title: 'Сумма, ₽',
2040
2118
  min: calculatorParams.minSum,
2041
2119
  max: calculatorParams.maxSum,
@@ -2149,7 +2227,7 @@
2149
2227
  moneyExtra: REFINANCING_OLD_DEFAULT_SUM,
2150
2228
  });
2151
2229
  const calculatorParams = useRefinancingCalculatorParams(userInputParams, sourceBookDir, paramsViewSettings);
2152
- return (jsxs("section", { className: style('flex flex-col justify-between sm:flex-row gap-m', className), children: [jsxs("div", { className: "flex flex-col gap-y-m sm:w-2/5 gap-2xl", children: [renderWantedSumInput({
2230
+ return (jsxs("section", { className: style('flex flex-col justify-between @5xl:flex-row gap-m', className), children: [jsxs("div", { className: "flex flex-col gap-y-m sm:max-w-md gap-2xl", children: [renderWantedSumInput({
2153
2231
  title: 'Остаток долга в других банках, ₽ ',
2154
2232
  step: 500,
2155
2233
  min: calculatorParams.minSum,
@@ -2279,7 +2357,7 @@
2279
2357
  ? getDisabledButtonClasses({ version: button?.version })
2280
2358
  : getRegularButtonClasses({ className: 'text-white', version: button?.version });
2281
2359
  const link = useLink();
2282
- return (jsxs(BlockWrapper, { className: style('flex flex-col items-center', className), defaultPadding: "p-6xl", ...rest, children: [title ? (jsx(Heading, { className: "pb-lg xl:pb-4xl self-start xl:self-center", headingType: "h2", title: title })) : null, jsxs("form", { className: "w-full xl:max-w-[468px]", method: "POST", action: FORM_URL_MAP[formType], children: [jsx(CurrencyInput, { name: "_amount", valid: !isDisabled, placeholder: placeholder, label: label, ...field('_amount', { parse: Number, format: String }) }), jsx("input", { type: "hidden", name: "amount", value: _amount }), button?.text ? (jsx("button", { type: "submit", className: style('w-full p-m mt-lg', buttonStyle), disabled: isDisabled, ...link(button), children: button.text })) : null] })] }));
2360
+ return (jsxs(BlockWrapper, { className: style('flex flex-col items-center', className), defaultPadding: "p-6xl", ...rest, children: [title ? (jsx(Heading, { className: "pb-lg xl:pb-4xl self-start xl:self-center", headingType: "h3", title: title })) : null, jsxs("form", { className: "w-full xl:max-w-[468px]", method: "POST", action: FORM_URL_MAP[formType], children: [jsx(CurrencyInput, { name: "_amount", valid: !isDisabled, placeholder: placeholder, label: label, ...field('_amount', { parse: Number, format: String }) }), jsx("input", { type: "hidden", name: "amount", value: _amount }), button?.text ? (jsx("button", { type: "submit", className: style('w-full p-m mt-lg', buttonStyle), disabled: isDisabled, ...link(button), children: button.text })) : null] })] }));
2283
2361
  });
2284
2362
 
2285
2363
  const mapChildren = (mapper) => (children) => {
@@ -2576,6 +2654,7 @@
2576
2654
  'CarouselRichTextCard',
2577
2655
  'CarouselInvestmentCard',
2578
2656
  'CarouselEventCard',
2657
+ 'ProductBlock',
2579
2658
  ];
2580
2659
  Carousel.childSchema = () => ({
2581
2660
  isHighlighting: {
@@ -2596,16 +2675,27 @@
2596
2675
 
2597
2676
  const layerBaseStyle = 'z-10 border border-solid w-full h-full';
2598
2677
  const layerStyle = style(layerBaseStyle, 'absolute hidden sm:block border-transparent');
2599
- const CarouselCard = JSX(({ className, title, description, button, ...rest }) => (jsx(BlockWrapper, { className: style('sm:pl-6xl sm:pb-4xl', className), defaultPadding: "p-0", ...rest, children: jsxs("div", { className: "relative", children: [jsx("div", { className: style(layerStyle, 'top-9 right-12 bg-green-dark') }), jsx("div", { className: style(layerStyle, 'top-6 right-8 bg-green') }), jsx("div", { className: style(layerStyle, 'top-3 right-4 bg-green-light') }), jsxs("div", { className: style(layerBaseStyle, 'relative p-xl sm:p-5xl bg-white border-green-light'), children: [jsx(Headline, { title: title, description: description, headlineVersion: titleSize, align: "text-left", isEmbedded: true }), renderButtonsSection([button], {
2678
+ const CarouselCard = JSX(({ className, title, description, button, ...rest }) => (jsx(BlockWrapper, { className: style('sm:pl-6xl sm:pb-4xl', className), defaultPadding: "p-0", ...rest, children: jsxs("div", { className: "relative", children: [jsx("div", { className: style(layerStyle, 'top-9 right-12 bg-green-dark') }), jsx("div", { className: style(layerStyle, 'top-6 right-8 bg-green') }), jsx("div", { className: style(layerStyle, 'top-3 right-4 bg-green-light') }), jsxs("div", { className: style(layerBaseStyle, 'relative p-xl sm:p-5xl bg-white border-transparent sm:border-green-light'), children: [jsx(Headline, { title: title, description: description, headlineVersion: titleSize, align: "text-left", isEmbedded: true }), renderButtonsSection([button], {
2600
2679
  className: 'mt-m sm:mt-6xl sm:justify-center',
2601
2680
  isVertical: true,
2602
2681
  })] })] }) })));
2603
2682
 
2683
+ const imageAlignmentMap = {
2684
+ start: '@lg:self-start',
2685
+ center: '@lg:self-center',
2686
+ end: '@lg:self-end',
2687
+ };
2688
+ const BaseTile = JSX(({ className, defaultPadding, padding, title = '', insetTitle = '', buttons, leftImage, rightImage, imageAlign, backImage, isImageAlwaysOnRight = false, children, }) => (jsxs("div", { className: style('relative flex flex-col gap-3xl font-sans overflow-hidden', padding || defaultPadding, className), children: [title ? jsx("div", { className: "relative", children: title }) : null, jsxs("div", { className: style('grow relative flex justify-around @lg:justify-between items-stretch gap-3xl', isImageAlwaysOnRight ? 'flex-row' : 'flex-col @lg:flex-row'), children: [renderImageContainer(leftImage, { imageAlign }), jsxs("div", { className: style('flex flex-col gap-3xl max-w-[600px] @xl:max-w-[728px]', leftImage ? '' : 'grow'), children: [insetTitle, jsx("div", { className: "grow", children: children }), backImage ? (jsx("div", { className: "justify-center mx-auto sm:absolute sm:-z-10 sm:-bottom-4 sm:-right-4", children: backImage })) : null, buttons] }), renderImageContainer(rightImage, {
2689
+ className: isImageAlwaysOnRight ? '' : '-order-1 @xl:order-1',
2690
+ imageAlign,
2691
+ })] })] })));
2692
+ const renderImageContainer = (image, { className, imageAlign }) => image ? (jsx("div", { className: style('md:flex-shrink-0 self-center', imageAlign && imageAlignmentMap[imageAlign], className), children: image })) : null;
2693
+
2604
2694
  const cardStyleMap = {
2605
2695
  black: 'bg-black',
2606
2696
  white: 'bg-white',
2607
2697
  };
2608
- const CarouselCatalogCard = JSX(({ className = '', title, description, image, price, button, colors, ...rest }) => (jsxs(BlockWrapper, { className: style('flex flex-col justify-left', className), defaultPadding: "p-2xl", ...rest, children: [image?.src ? jsx(Img, { className: "flex justify-center mb-xl", image: image }) : null, jsx(Headline, { title: title, description: description, headlineVersion: "XS", isEmbedded: true, align: "text-left", className: "mb-m" }), colors?.length ? (jsxs("div", { className: "flex text-secondary-text mb-m", children: [jsx("div", { className: "mr-xs", children: jsx(Text, { size: "text-s", align: "text-left", font: "font-light", children: "\u0426\u0432\u0435\u0442\u0430:" }) }), colors.map(renderColorOption)] })) : null, price ? (jsxs(Text, { size: "text-h3", align: "text-left", children: [price, "\u00A0\u20BD"] })) : null, renderButtonsSection([button], { buttonClassName: 'w-full mt-lg' })] })));
2698
+ const CarouselCatalogCard = JSX(({ className = '', title, description, image, price, button, colors = [], align = 'text-left', padding, ...rest }) => (jsx(BlockWrapper, { className: style('flex flex-col justify-left', className), defaultPadding: "p-2xl", ...rest, children: jsxs(BaseTile, { className: "h-full", padding: padding, title: title ? (jsx(Headline, { title: title, description: description, headlineVersion: "XS", isEmbedded: true, align: align })) : null, rightImage: image?.src ? (jsx(Img, { className: "flex justify-center align-center mb-xl", image: image })) : null, buttons: renderButtonsSection([button], { buttonClassName: 'w-full mt-lg' }), children: [colors?.length ? (jsxs("div", { className: "flex text-secondary-text mb-m", children: [jsx("div", { className: "mr-xs", children: jsx(Text, { size: "text-s", align: "text-left", font: "font-light", children: "\u0426\u0432\u0435\u0442\u0430:" }) }), colors.map(renderColorOption)] })) : null, price ? (jsxs(Text, { size: "text-h3", align: "text-left", children: [price, "\u00A0\u20BD"] })) : null] }) })));
2609
2699
  const renderColorOption = (color, i) => (jsx("div", { role: "figure", className: `w-6 h-6 ml-s border border-solid border-main-divider rounded-full ${cardStyleMap[color]}` }, String(i)));
2610
2700
 
2611
2701
  const LinkWrapper = JSX(({ className = '', href, target, isRemote = false, children }) => {
@@ -2619,17 +2709,6 @@
2619
2709
  return (jsx(BlockWrapper, { className: className, defaultPadding: "p-0", ...rest, children: jsxs(LinkWrapper, { className: "flex flex-col", href: href, target: target, children: [icon?.icon ? jsx(Img, { image: icon }) : null, icon?.src ? jsx(Img, { image: icon }) : null, jsx("div", { className: "p-s", children: jsx(Headline, { title: title, description: description, headlineVersion: "XS", isEmbedded: true, align: "text-left" }) })] }) }));
2620
2710
  });
2621
2711
 
2622
- const imageAlignmentMap = {
2623
- start: '@lg:self-start',
2624
- center: '@lg:self-center',
2625
- end: '@lg:self-end',
2626
- };
2627
- const BaseTile = JSX(({ className, defaultPadding, padding, title = '', insetTitle = '', buttons, leftImage, rightImage, imageAlign, backImage, isImageAlwaysOnRight = false, children, }) => (jsxs("div", { className: style('relative flex flex-col gap-3xl font-sans overflow-hidden', padding || defaultPadding, className), children: [title ? jsx("div", { className: "relative", children: title }) : null, jsxs("div", { className: style('grow relative flex justify-around @lg:justify-between items-stretch gap-3xl', isImageAlwaysOnRight ? 'flex-row' : 'flex-col @lg:flex-row'), children: [renderImageContainer(leftImage, { imageAlign }), jsxs("div", { className: style('flex flex-col gap-3xl max-w-[600px] @xl:max-w-[728px]', leftImage ? '' : 'grow'), children: [insetTitle, jsx("div", { className: "grow", children: children }), backImage ? (jsx("div", { className: "justify-center mx-auto sm:absolute sm:-z-10 sm:-bottom-4 sm:-right-4", children: backImage })) : null, buttons] }), renderImageContainer(rightImage, {
2628
- className: isImageAlwaysOnRight ? '' : '-order-1 @xl:order-1',
2629
- imageAlign,
2630
- })] })] })));
2631
- const renderImageContainer = (image, { className, imageAlign }) => image ? (jsx("div", { className: style('md:flex-shrink-0 self-center', imageAlign && imageAlignmentMap[imageAlign], className), children: image })) : null;
2632
-
2633
2712
  const cardColumnsModeStyleMap = {
2634
2713
  1: 'grid-cols-1',
2635
2714
  2: 'grid-cols-2',
@@ -2637,24 +2716,23 @@
2637
2716
  const CarouselInvestmentCard = JSX(({ className, padding, additionalDescription, cardsList = [], columnsMode = 1, description, image, title, ...rest }) => (jsx(BlockWrapper, { className: style('text-left', className), padding: "p-0", ...rest, children: jsxs(BaseTile, { className: "h-full", defaultPadding: "p-xl", padding: padding, title: title ? jsx(Heading, { headingType: "h4", as: "h3", className: "mb-m z-10", title: title }) : null, backImage: image?.src ? jsx(Img, { image: image }) : null, children: [jsxs("div", { className: "flex justify-between mb-m", children: [description ? (jsx("div", { className: "w-1/3", children: jsx(Text, { size: "text-h6", children: description }) })) : null, additionalDescription ? (jsx(Text, { size: "text-m", font: "font-light", color: "group-data-primary:text-secondary-text", children: additionalDescription })) : null] }), cardsList.length ? (jsx("ul", { className: style('list-none m-0 p-0 grid gap-xs', cardColumnsModeStyleMap[columnsMode]), children: renderCardList(cardsList) })) : null] }) })));
2638
2717
  const renderCardList = (cardsList) => cardsList.map((item, i) => (jsxs("li", { children: [item?.parameter ? jsx(Text, { size: "text-h6", children: item.parameter }) : null, item?.parameterDescription ? (jsx(Text, { size: "text-m", font: "font-light", color: "text-secondary-text", children: item.parameterDescription })) : null] }, String(i))));
2639
2718
 
2640
- const LINK_CLASS_NAME = `absolute border border-primary-main px-xl py-lg
2641
- text-l font-light bg-white text-primary-text flex
2642
- justify-between items-center group-hover/link:text-primary-main z-10`;
2643
- const LINK_BORDER_CLASS_NAME = 'bg-transparent border-white border h-[70px] absolute w-80 top-0';
2719
+ const LINK_CLASS_NAME = `absolute border
2720
+ bg-white flex justify-between group-hover/link:text-primary-main`;
2721
+ const LINK_BORDER_CLASS_NAME = 'hidden xl:block absolute w-full h-full border border-white';
2644
2722
  const CarouselLinkButton = JSX(({ text, href = '', target = '', className = '' }) => {
2645
2723
  const link = useLink();
2646
2724
  const adjustedProps = link({ href, target });
2647
- return text ? (jsxs("div", { className: style('flex max-w-sm relative group/link cursor-pointer w-64 h-16 sm:w-[47%] sm:h-20 sm:mr-m', className), children: [jsxs("a", { className: style(LINK_CLASS_NAME, 'rounded-md sm:rounded-none w-full h-12 sm:ml-s sm:w-full sm:h-auto'), role: "link", ...adjustedProps, children: [jsx("div", { className: "p-0.5", children: text }), jsx("div", { className: "w-6 h-6 hidden sm:block", children: jsx(Img, { className: "w-4 h-4 rounded-full box-border brightness-0 group-hover/link:brightness-100", image: { icon: 'ArrowRightIcon', iconVersion: 'black' }, imageClassName: "group-hover/link:text-primary-main", width: "24", height: "24" }) })] }), jsx("div", { className: LINK_BORDER_CLASS_NAME + ' hidden sm:block mx-1.5 mt-1.5' }), jsx("div", { className: LINK_BORDER_CLASS_NAME + ' hidden sm:block mt-3 mr-3' })] })) : null;
2725
+ return text ? (jsx("div", { className: style('flex relative group/link pl-s pb-s min-w-[16rem] xl:min-w-[20rem]', className), children: jsxs("div", { className: "relative min-h-16 w-full", children: [jsxs("a", { className: style(LINK_CLASS_NAME, 'sm:rounded-md rounded-none w-full px-xl py-lg whitespace-nowrap'), role: "link", ...adjustedProps, children: [jsx(Text, { size: "text-l", font: "font-light", color: "text-primary-text", children: text }), jsx(Img, { className: "group-hover/link:brightness-100 hidden xl:block ml-2xs", image: { icon: 'ArrowRightIcon', iconVersion: 'black' }, imageClassName: "group-hover/link:text-primary-main hidden xl:block", width: "24", height: "24" })] }), jsx("div", { className: style(LINK_BORDER_CLASS_NAME, '-bottom-1.5 -left-1.5') }), jsx("div", { className: style(LINK_BORDER_CLASS_NAME, '-bottom-3 -left-3') })] }) })) : null;
2648
2726
  });
2649
2727
 
2650
2728
  const MAX_LINKS_COUNT = 10;
2651
2729
 
2652
- const CarouselLinks = JSX(({ className, additionalDescription, description, links, title, ...rest }) => (jsxs(BlockWrapper, { className: style('flex flex-col sm:flex-row w-full overflow-hidden', className), ...rest, children: [jsxs("div", { className: "mr-xl flex-auto", children: [jsx(Headline, { isEmbedded: true, title: title, description: description, as: "h1", align: "text-left" }), additionalDescription ? (jsx(Headline, { className: "pt-m", description: additionalDescription, align: "text-left", isEmbedded: true })) : null] }), links?.length ? renderLinks(links) : null] })));
2653
- const renderLinks = (links) => {
2730
+ const CarouselLinks = JSX(({ className, additionalDescription, description, links, title, ...rest }) => (jsx(BlockWrapper, { className: style('overflow-hidden', className), ...rest, children: jsxs("div", { className: "flex flex-col @6xl:flex-row gap-m", children: [jsxs("div", { children: [jsx(Headline, { isEmbedded: true, title: title, description: description, as: "h1", align: "text-left" }), additionalDescription ? (jsx(Headline, { className: "pt-m", description: additionalDescription, align: "text-left", isEmbedded: true })) : null] }), links?.length ? renderLinks(links, '@6xl:min-w-[672px] p-0 justify-self-end') : null] }) })));
2731
+ const renderLinks = (links, className = '') => {
2654
2732
  const itemCount = Math.ceil(links.length / MAX_LINKS_COUNT);
2655
- return (jsx(Carousel, { className: "@container-normal sm:w-2/3 w-full p-0 sm:p-xs", version: "secondary", itemCount: itemCount, arrowsPadded: false, children: new Array(itemCount).fill(null).map((_, groupIndex) => (jsx("div", { className: style('flex flex-wrap self-start w-full sm:w-[672px]'), children: links
2733
+ return (jsx(Carousel, { className: className, version: "secondary", itemCount: itemCount, arrowsPadded: false, padding: "p-0", children: new Array(itemCount).fill(null).map((_, groupIndex) => (jsx("div", { className: style('flex flex-wrap gap-2xs self-start xl:justify-center @5xl:grid @5xl:grid-cols-2'), children: links
2656
2734
  .slice(groupIndex * MAX_LINKS_COUNT, (groupIndex + 1) * MAX_LINKS_COUNT)
2657
- .map((link, index) => (jsx(CarouselLinkButton, { className: "sm:m-2xs", ...link }, String(index)))) }, String(groupIndex)))) }));
2735
+ .map((link, index) => (jsx(CarouselLinkButton, { ...link }, String(index)))) }, String(groupIndex)))) }));
2658
2736
  };
2659
2737
 
2660
2738
  const DOT_SIZE_MAP = {
@@ -2679,9 +2757,7 @@
2679
2757
  };
2680
2758
  const List = JSX(({ className, hasIndent, isDotted, items, listItemSize = 'M' }) => items?.length ? (jsx("section", { className: style('flex flex-col gap-xs text-left text-primary-text group-data-secondary:text-white group-data-gray:text-secondary-text', TEXT_SIZE_MAP[listItemSize], hasIndent ? ITEM_INDENT_MAP[listItemSize] : '', className), role: "list", children: items.map((item, i) => (jsx(ListItem, { isDotted: isDotted, size: listItemSize, children: item }, String(i)))) })) : null);
2681
2759
 
2682
- const alignTextStyle = 'text-center';
2683
-
2684
- const CarouselProductCard = JSX(({ additionalDescription, align = alignTextStyle, button = {}, className = '', description, headlineSmallVersion = 'H6', href, icon, isDotted = true, isButtonFullWidth = true, isImageFullWidth = false, isTopPosition = false, items = [], target, title, version = 'primary', ...rest }) => {
2760
+ const CarouselProductCard = JSX(({ additionalDescription, align = AlignStyles, button = {}, className = '', description, headlineSmallVersion = 'H6', href, icon, isDotted = true, isButtonFullWidth = true, isImageFullWidth = false, isTopPosition = false, items = [], target, title, version = 'primary', ...rest }) => {
2685
2761
  return (jsxs(BlockWrapper, { className: style('flex flex-col justify-between', align, className), defaultPadding: "p-0", version: version, ...rest, children: [jsxs(LinkWrapper, { className: "p-m flex flex-col gap-xs", href: href, target: target, children: [renderCardTitle(headlineSmallVersion, title), renderDescription$2(description), renderItems(items, isDotted, version), renderAdditionalDescription(additionalDescription), renderImage$2(icon, isImageFullWidth, isTopPosition)] }), renderButtonsSection([button], {
2686
2762
  className: style('p-m pt-0', isButtonFullWidth ? '' : 'self-center'),
2687
2763
  isVertical: isButtonFullWidth,
@@ -2802,15 +2878,15 @@
2802
2878
  const { href } = rest;
2803
2879
  const { iconMapped, label } = findIconByHref(href);
2804
2880
  const iconCustom = getFilteredIcon(icon) ?? iconMapped;
2805
- return (jsx(Button, { className: style('border border-solid hover:border-transparent', 'group-data-primary:border-main-divider', 'hover:bg-primary-main hover:text-black', 'group-data-secondary:bg-white border-main-divider group-data-secondary:hover:bg-secondary-hover', 'group-data-gray:border-green', 'py-m group/media flex items-center justify-center box-border', buttonSizeStyle[buttonSize]), "aria-label": label, rel: "noopener noreferrer", target: "_blank", ...rest, children: jsx(Img, { image: iconCustom, imageClassName: "group-hover/media:text-white", width: "24", height: "24" }) }));
2881
+ return (jsx(Button, { className: style('border border-solid hover:border-transparent', 'group-data-primary:border-main-divider', 'hover:bg-primary-main hover:text-black', 'group-data-secondary:bg-white border-main-divider group-data-secondary:hover:bg-secondary-hover', 'group-data-gray:border-green', 'p-m min-h-14 group/media flex items-center justify-center box-border', buttonSizeStyle[buttonSize]), "aria-label": label, rel: "noopener noreferrer", target: "_blank", ...rest, children: jsx(Img, { image: iconCustom, imageClassName: "group-hover/media:text-white", width: "24", height: "24" }) }));
2806
2882
  });
2807
2883
  const getFilteredIcon = (icon) => (icon?.src || icon?.icon ? icon : undefined);
2808
2884
 
2809
2885
  const SocialMedia = JSX(({ className = '', media, children, buttonSize }) => (jsxs("div", { className: "flex flex-col sm:flex-col-reverse gap-xs", children: [children ? (jsx(Text, { size: "text-s", font: "font-light", color: "text-secondary-text", children: children })) : null, jsx("div", { className: style('flex gap-xs', className), children: media?.map((_, index) => (jsx(MediaButton, { buttonSize: buttonSize, ..._ }, String(index)))) })] })));
2810
2886
 
2811
2887
  //TODO: replace SocialMedia with renderButtonSection
2812
- const CarouselRecommendationCard = JSX(({ className, padding, description, href, icon, items = [], socialMedia = [], target, title, align = 'text-left', ...rest }) => {
2813
- return (jsx(BlockWrapper, { className: style('relative min-h-28 group-data-gray:bg-main-divider/50', className), defaultPadding: "p-0", ...rest, children: jsx(LinkWrapper, { href: href, target: target, className: "h-full", children: jsx(BaseTile, { className: "h-full", defaultPadding: "p-m", padding: padding, title: title ? (jsx(Headline, { title: title, description: description, headlineVersion: "S", isEmbedded: true, align: align })) : null, backImage: icon?.icon || icon?.src ? jsx(Img, { image: icon }) : null, buttons: socialMedia.length ? jsx(SocialMedia, { media: socialMedia }) : null, children: items.length ? jsx(List, { items: items, listItemSize: "S" }) : null }) }) }));
2888
+ const CarouselRecommendationCard = JSX(({ className, padding, description, href, icon, items = [], listItemSize = 'S', socialMedia = [], target, title, align = 'text-left', ...rest }) => {
2889
+ return (jsx(BlockWrapper, { className: style('relative min-h-28 group-data-gray:bg-main-divider/50', className), defaultPadding: "p-0", ...rest, children: jsx(LinkWrapper, { href: href, target: target, className: "h-full", children: jsx(BaseTile, { className: "h-full", defaultPadding: "p-m", padding: padding, title: title ? (jsx(Headline, { title: title, description: description, headlineVersion: "S", isEmbedded: true, align: align })) : null, backImage: icon?.icon || icon?.src ? jsx(Img, { image: icon }) : null, buttons: socialMedia.length ? jsx(SocialMedia, { media: socialMedia }) : null, children: items.length ? jsx(List, { items: items, listItemSize: listItemSize }) : null }) }) }));
2814
2890
  });
2815
2891
 
2816
2892
  const CarouselRichTextCard = JSX(({ className = '', __html, richVersion = 'striped', ...rest }) => (jsx(BlockWrapper, { className: className, ...rest, children: jsx(RichText, { __html: __html, richVersion: richVersion }) })));
@@ -2852,35 +2928,35 @@
2852
2928
  const renderIconBlock$1 = (icon) => (jsx("div", { className: "self-center", children: icon?.src || icon?.icon ? jsx(Img, { image: icon }) : null }));
2853
2929
  const renderFoldButton$1 = ({ isUnfolded, onToggle }) => (jsxs("button", { className: "w-full cursor-pointer text-primary-main pt-lg flex justify-between items-center", onClick: onToggle, children: [jsx("div", { children: isUnfolded ? 'Скрыть' : 'Подробнее о тарифе' }), jsx(Icon, { className: "text-primary-text", name: isUnfolded ? 'ArrowUpIcon' : 'ArrowDownIcon', width: "16", height: "16" })] }));
2854
2930
 
2855
- const GRADIENT = 'bg-gradient-to-r from-main-gradient-start to-main-gradient-end';
2856
- const BORDER_CLASSES = 'border-gray border-solid border';
2857
- const DIVIDER_CLASSES$1 = 'border-main-divider border border-t-0 border-x-0';
2858
- const FIRST_CELL_CLASSES$1 = 'w-52';
2931
+ const gradientStyle = 'bg-gradient-to-r from-main-gradient-start to-main-gradient-end';
2932
+ const borderStyle = 'border-gray border-solid border';
2933
+ const dividerStyle$1 = 'border-main-divider border-b';
2934
+ const firstCellStyle$1 = 'w-52';
2859
2935
  const COLS_LENGTH_FOR_SCROLL$1 = 3;
2860
2936
  const COLUMN_WIDTH$2 = 4 * 80 + 4 * 4; // w-80 + gap-4 = 336px
2861
2937
 
2862
- const HeaderCell = JSX(({ icon, image, title, link }) => (jsxs("div", { className: `w-80 box-border flex flex-col gap-m items-center rounded-t-md border-b-0 p-2xl ${BORDER_CLASSES} ${GRADIENT}`, role: "columnheader", children: [icon && !image?.src && (jsx(Img, { className: "h-16 w-16 min-w-16 min-h-16", image: icon, width: "64", height: "64" })), image?.src && jsx(Img, { image: image }), title ? (jsx(Heading, { headingType: "h4", as: "h3", className: "text-center text-white", title: title })) : null, link?.text && (jsx("div", { className: "mt-auto w-full", children: jsx(Button, { href: link.href, target: link.target, className: "w-full text-primary-main bg-white hover:bg-secondary-hover active:bg-secondary-active", children: jsx("div", { className: "text-xs font-light font-medium py-s", children: link.text }) }) }))] })));
2938
+ const HeaderCell = JSX(({ icon, image, title, link }) => (jsxs("div", { className: style('w-80 box-border flex flex-col gap-m items-center rounded-t-md border-b-0 p-2xl', borderStyle, gradientStyle), role: "columnheader", children: [icon && !image?.src && (jsx(Img, { className: "h-16 w-16 min-w-16 min-h-16", image: icon, width: "64", height: "64" })), image?.src && jsx(Img, { image: image }), title ? (jsx(Heading, { headingType: "h4", as: "h3", className: "text-center text-white", title: title })) : null, link?.text && (jsx("div", { className: "mt-auto w-full", children: jsx(Button, { href: link.href, target: link.target, className: "w-full text-primary-main bg-white hover:bg-secondary-hover active:bg-secondary-active", children: jsx("div", { className: "text-xs font-light font-medium py-s", children: link.text }) }) }))] })));
2863
2939
 
2864
2940
  const carouselContainerClassesMap = {
2865
2941
  comparison: 'flex gap-m duration-1000',
2866
- tariff: 'flex flex-grow duration-1000',
2942
+ tariff: 'flex gap-5xl flex-grow duration-1000',
2867
2943
  };
2868
2944
  const TableCarouselContainer = JSX(({ children, activeIndex, columnWidth, version = 'comparison' }) => (jsx("div", { className: "flex flex-1 overflow-hidden", children: jsx("div", { className: carouselContainerClassesMap[version], style: { transform: `translateX(-${activeIndex * columnWidth}px)` }, children: children }) })));
2869
2945
 
2870
2946
  const TableRowContainer = JSX(({ children }) => (jsx("div", { className: "self-start flex flex-col", role: "row", children: jsx("div", { className: "flex gap-xl", children: children }) })));
2871
2947
 
2872
- const ComparisonTableColumnHeaders = JSX(({ colHeaders, activeIndex }) => (jsxs(TableRowContainer, { children: [jsx("div", { className: FIRST_CELL_CLASSES$1, role: "columnheader" }), jsx(TableCarouselContainer, { activeIndex: activeIndex, columnWidth: COLUMN_WIDTH$2, children: colHeaders.map((header, i) => (jsx(HeaderCell, { ...header }, String(i)))) })] })));
2948
+ const ComparisonTableColumnHeaders = JSX(({ colHeaders, activeIndex }) => (jsxs(TableRowContainer, { children: [jsx("div", { className: firstCellStyle$1, role: "columnheader" }), jsx(TableCarouselContainer, { activeIndex: activeIndex, columnWidth: COLUMN_WIDTH$2, children: colHeaders.map((header, i) => (jsx(HeaderCell, { ...header }, String(i)))) })] })));
2873
2949
 
2874
2950
  const TableCell = JSX(({ cell, isFirstRow, isLastRow, isFillGradient }) => {
2875
- const cellWrapperClasses = `w-80 box-border flex flex-col ${BORDER_CLASSES} ${!isLastRow ? 'border-y-0' : 'border-t-0 rounded-b-md'} ${isFillGradient ? GRADIENT : ''}`;
2876
- const cellClasses = `mx-2xl h-full ${DIVIDER_CLASSES$1} ${isFillGradient && isFirstRow ? 'border-t' : ''} ${!isLastRow ? 'border-solid' : 'border-b-0'}`;
2877
- return (jsx("div", { className: cellWrapperClasses, role: "cell", children: jsx("div", { className: cellClasses, children: cell.map((item, i) => renderCellInner$1(item, i, isFillGradient)) }) }));
2951
+ const cellWrapperStyle = style('w-80 box-border flex flex-col', borderStyle, !isLastRow ? 'border-y-0' : 'border-t-0 rounded-b-md', isFillGradient ? gradientStyle : '');
2952
+ const cellStyle = style('mx-2xl h-full', dividerStyle$1, isFillGradient && isFirstRow ? 'border-t' : '', !isLastRow ? 'border-solid' : 'border-b-0');
2953
+ return (jsx("div", { className: cellWrapperStyle, role: "cell", children: jsx("div", { className: cellStyle, children: cell.map((item, i) => renderCellInner$1(item, i, isFillGradient)) }) }));
2878
2954
  });
2879
2955
  const labelStyle = (isFillGradient = false) => `text-xl m-0 ${isFillGradient ? 'text-white' : ''}`;
2880
2956
  const descriptionStyle = (isFillGradient = false) => `text-s opacity-80 ${isFillGradient ? 'text-white' : 'text-secondary-text'}`;
2881
2957
  const renderCellInner$1 = ({ label, description }, i, isFillGradient) => (jsxs("div", { className: "first:pt-2xl pt-xl last:pb-2xl", children: [label ? jsx("h4", { className: labelStyle(isFillGradient), children: label }) : null, description ? jsx("div", { className: descriptionStyle(isFillGradient), children: description }) : null] }, String(i)));
2882
2958
 
2883
- const titleStyle = (isLastRow = false) => `text-s py-2xl ${DIVIDER_CLASSES$1} ${FIRST_CELL_CLASSES$1} ${isLastRow ? 'border-b-0' : 'border-solid'}`;
2959
+ const titleStyle = (isLastRow = false) => style('text-s py-2xl', dividerStyle$1, firstCellStyle$1, isLastRow ? 'border-b-0' : 'border-solid');
2884
2960
  const TableRow = JSX(({ row: { header, data }, activeIndex, isColoredFirstColumn, isFirstRow, isLastRow }) => (jsxs(TableRowContainer, { children: [header?.title ? jsx("div", { className: titleStyle(isLastRow), children: header.title }) : null, data?.length ? (jsx(TableCarouselContainer, { activeIndex: activeIndex, columnWidth: COLUMN_WIDTH$2, children: data.map((cell, i) => (jsx(TableCell, { cell: cell, isFirstRow: isFirstRow, isLastRow: isLastRow, isFillGradient: isColoredFirstColumn && i === 0 }, String(i)))) })) : null] })));
2885
2961
 
2886
2962
  const ComparisonTableRows = JSX(({ rowData, isColoredFirstColumn, activeIndex, controls }) => {
@@ -2919,12 +2995,43 @@
2919
2995
  ? renderShowMoreToggleButton({ isShowAllRow, onClick: handleToggle })
2920
2996
  : null] }));
2921
2997
  });
2922
- const renderShowMoreToggleButton = ({ isShowAllRow, onClick, }) => (jsx("div", { className: "pr-6xl", children: jsxs("div", { className: "flex gap-m w-full", children: [jsx("div", { className: FIRST_CELL_CLASSES$1 }), jsx("button", { onClick: onClick, className: "py-xs flex-1 border-gray border-solid border text-primary-text bg-white hover:border-primary-main hover:text-primary-main", children: jsx(Text, { size: "text-xs", font: "font-medium", children: !isShowAllRow ? 'Показать все параметры' : 'Скрыть' }) })] }) }));
2998
+ const renderShowMoreToggleButton = ({ isShowAllRow, onClick, }) => (jsx("div", { className: "pr-6xl", children: jsxs("div", { className: "flex gap-m w-full", children: [jsx("div", { className: firstCellStyle$1 }), jsx("button", { onClick: onClick, className: "py-xs flex-1 border-gray border-solid border text-primary-text bg-white hover:border-primary-main hover:text-primary-main", children: jsx(Text, { size: "text-xs", font: "font-medium", children: !isShowAllRow ? 'Показать все параметры' : 'Скрыть' }) })] }) }));
2923
2999
 
2924
3000
  const ContactsBlock = JSX(({ className, contacts, info, version = 'secondary', ...rest }) => (jsxs(BlockWrapper, { className: style('flex', className), defaultPadding: "p-6xl", version: version, ...rest, children: [info?.length ? renderBlocks(info) : null, contacts?.length ? renderBlocks(contacts) : null] })));
2925
3001
  const renderBlocks = (info) => (jsx("div", { className: "flex gap-5xl grow basis-0", children: info.map((column, index) => renderBlocksColumn({ column, index })) }));
2926
3002
  const renderBlocksColumn = ({ column, index }) => column ? (jsx("div", { className: "flex flex-col gap-xl grow basis-0", children: column.map(({ title = '', description, additionalDescription, button }, key) => (jsxs("div", { children: [jsx(Headline, { title: title, description: description, headlineVersion: "XS", align: "text-left", isEmbedded: true }), additionalDescription ? (jsx("div", { className: "mt-xs opacity-80", children: jsx(Paragraph, { size: "text-m", font: "font-light", children: additionalDescription }) })) : null, button?.href ? jsx(Button, { className: "mt-xl", ...button }) : null] }, String(key)))) }, `col-${String(index)}`)) : null;
2927
3003
 
3004
+ const TextWithIcon = JSX(({ textNode, iconNode, tag, onClick, justifyContent = 'between', className, ...rest }) => {
3005
+ const Tag = tag;
3006
+ return (jsxs(Tag, { tag: tag, className: style('flex items-center w-full gap-1', justifyContent === 'between' ? 'justify-between' : 'justify-center', className), onClick: onClick, ...rest, children: [textNode ? jsx("div", { children: textNode }) : null, iconNode ? jsx("div", { children: iconNode }) : null] }));
3007
+ });
3008
+
3009
+ const DefaultFoldButton = JSX(({ className = '', label, icon, dataTheme = '', disabled = false, onClick }) => (jsx(TextWithIcon, { tag: "button", onClick: onClick, disabled: disabled, "data-theme": dataTheme, justifyContent: "center", className: style('py-4 border border-transparent outline-none focus:border-primary-text', disabled
3010
+ ? 'bg-main-divider text-main-disabled hover:bg-main-divider'
3011
+ : 'bg-primary-main text-white hover:bg-primary-hove', className), textNode: jsx("span", { className: "text-h4 pr-s", children: label }), iconNode: icon ? (jsx(Img, { image: {
3012
+ icon,
3013
+ iconVersion: 'white',
3014
+ }, className: "my-auto", width: "20", height: "20" })) : null })));
3015
+ const renderDefaultFoldButton = ({ isUnfolded, onToggle }) => {
3016
+ const labels = ['Развернуть', 'Скрыть'];
3017
+ const icons = ['ArrowDownIcon', 'ArrowUpIcon'];
3018
+ return (jsx(DefaultFoldButton, { icon: icons[Number(isUnfolded)], label: labels[Number(isUnfolded)], onClick: onToggle }));
3019
+ };
3020
+
3021
+ const ICONS = ['ArrowDownIcon', 'ArrowUpIcon'];
3022
+ const resultsGridStyle = 'space-y-px lg:space-y-0 lg:grid lg:grid-cols-12 gap-2xs border-box';
3023
+ const BaseFiltrationInner = JSX(({ label = '', blocksToRender = [], topItemsCount = 0, block, notFound, ...rest }) => {
3024
+ const [visibleBlocks, hiddenBlocks] = topItemsCount > 0
3025
+ ? [blocksToRender.slice(0, topItemsCount), blocksToRender.slice(topItemsCount)]
3026
+ : [blocksToRender, []];
3027
+ return (jsxs("div", { children: [jsx("div", { className: style(blocksToRender.length ? 'hidden' : 'block'), children: notFound ? renderNotFound(notFound) : null }), jsxs("div", { className: style('space-y-2xs', blocksToRender.length ? '' : 'hidden'), children: [jsx("div", { className: style(resultsGridStyle), children: renderBlocksList(visibleBlocks, { ...rest.options, parent: block }) }), jsx(Foldable, { renderFoldableSection: ({ isUnfolded }) => {
3028
+ return (jsx(FoldableSection, { className: style(resultsGridStyle), isUnfolded: isUnfolded, children: renderBlocksList(hiddenBlocks, { ...rest.options, parent: block }) }));
3029
+ }, renderFoldButton: ({ isUnfolded, onToggle }) => (jsx(DefaultFoldButton, { className: style(topItemsCount < 1 ? 'hidden' : ''), disabled: !hiddenBlocks?.length, label: label, icon: ICONS[Number(isUnfolded)], dataTheme: rest.options?.page?.colorPalette, onClick: onToggle })) })] })] }));
3030
+ });
3031
+ function renderNotFound({ title, description }) {
3032
+ return (jsx("div", { className: "bg-white py-20", children: jsx(Headline, { title: title, description: description, headlineVersion: "S", isEmbedded: true }) }));
3033
+ }
3034
+
2928
3035
  const isEmpty = (v) => v === null ||
2929
3036
  v === undefined ||
2930
3037
  v === '' ||
@@ -2938,14 +3045,17 @@
2938
3045
  const isNumberFieldMatch = (key, pattern) => (target) => isEmpty(pattern[key]) ||
2939
3046
  isEmpty(target[key]) ||
2940
3047
  naturalNumber(pattern[key]) <= naturalNumber(target[key]);
3048
+ const isMultipleNumberFieldMatch = (key, pattern) => (target) => isEmpty(pattern[key]) || isEmpty(target[key]) || target[key]?.includes(pattern[key]);
2941
3049
  const isValueInRange = (key, pattern) => (target) => isEmpty(pattern[key]) ||
2942
3050
  isEmpty(target[key]) ||
2943
3051
  (naturalNumber(pattern[key]?.min) >= naturalNumber(target[key]?.min) &&
2944
3052
  naturalNumber(pattern[key]?.min) <= naturalNumber(target[key]?.max));
2945
- const checkShouldRenderBlock = (pattern, target) => Object.entries(pattern)
3053
+ const shouldRenderBlock = (pattern, target) => Object.entries(pattern)
2946
3054
  .map(([key, subPattern]) => {
2947
3055
  if (typeof subPattern === 'number') {
2948
- return isNumberFieldMatch(key, pattern);
3056
+ return Array.isArray(target[key])
3057
+ ? isMultipleNumberFieldMatch(key, pattern)
3058
+ : isNumberFieldMatch(key, pattern);
2949
3059
  }
2950
3060
  if (typeof subPattern === 'object' && 'min' in subPattern && 'max' in subPattern) {
2951
3061
  return isValueInRange(key, pattern);
@@ -2957,34 +3067,7 @@
2957
3067
  .every((predicate) => predicate(target));
2958
3068
  const naturalNumber = (n) => Number(n || 0);
2959
3069
 
2960
- const DefaultFoldButton = JSX(({ className = '', label, icon, dataTheme = '', disabled = false, onClick }) => {
2961
- return (jsxs("button", { className: style('flex justify-center w-full py-4 border border-transparent outline-none focus:border-primary-text', disabled
2962
- ? 'bg-main-divider text-main-disabled hover:bg-main-divider'
2963
- : 'bg-primary-main text-white hover:bg-primary-hove', className), onClick: onClick, disabled: disabled, "data-theme": dataTheme, children: [jsx("span", { className: "text-h4 pr-s", children: label }), icon ? (jsx(Img, { image: {
2964
- icon,
2965
- iconVersion: 'white',
2966
- }, className: "flex-shrink-0 my-auto", width: "20", height: "20" })) : null] }));
2967
- });
2968
- const renderDefaultFoldButton = ({ isUnfolded, onToggle }) => {
2969
- const labels = ['Развернуть', 'Скрыть'];
2970
- const icons = ['ArrowDownIcon', 'ArrowUpIcon'];
2971
- return (jsx(DefaultFoldButton, { icon: icons[Number(isUnfolded)], label: labels[Number(isUnfolded)], onClick: onToggle }));
2972
- };
2973
-
2974
- const ICONS = ['ArrowDownIcon', 'ArrowUpIcon'];
2975
- const resultsGridStyle = 'space-y-px lg:space-y-0 lg:grid lg:grid-cols-12 gap-2xs border-box';
2976
- const BaseFiltrationInner = JSX(({ label = '', filtrationState = {}, topItemsCount = 0, block, notFound, ...rest }) => {
2977
- const blocksToRender = block?.blocks?.filter((b) => checkShouldRenderBlock(filtrationState, b.content || {})) || [];
2978
- const [visibleBlocks, hiddenBlocks] = topItemsCount > 0
2979
- ? [blocksToRender.slice(0, topItemsCount), blocksToRender.slice(topItemsCount)]
2980
- : [blocksToRender, []];
2981
- return (jsxs("div", { children: [jsx("div", { className: style(blocksToRender.length ? 'hidden' : 'block'), children: notFound ? renderNotFound(notFound) : null }), jsxs("div", { className: style('space-y-2xs', blocksToRender.length ? '' : 'hidden'), children: [jsx("div", { className: style(resultsGridStyle), children: renderBlocksList(visibleBlocks, { ...rest.options, parent: block }) }), jsx(Foldable, { renderFoldableSection: ({ isUnfolded }) => {
2982
- return (jsx(FoldableSection, { className: style(resultsGridStyle), isUnfolded: isUnfolded, children: renderBlocksList(hiddenBlocks, { ...rest.options, parent: block }) }));
2983
- }, renderFoldButton: ({ isUnfolded, onToggle }) => (jsx(DefaultFoldButton, { className: style(topItemsCount < 1 ? 'hidden' : ''), disabled: !hiddenBlocks?.length, label: label, icon: ICONS[Number(isUnfolded)], dataTheme: rest.options?.page?.colorPalette, onClick: onToggle })) })] })] }));
2984
- });
2985
- function renderNotFound({ title, description }) {
2986
- return (jsx("div", { className: "bg-white py-20", children: jsx(Headline, { title: title, description: description, headlineVersion: "S", isEmbedded: true }) }));
2987
- }
3070
+ const getBlocksToRender = (blocks, filtrationState) => (normalize = identity) => blocks && blocks.filter((b) => shouldRenderBlock(filtrationState, normalize(b.content || {})));
2988
3071
 
2989
3072
  const SlideCheckboxGroup = JSX(({ value, onChange, items = [], multiple }) => {
2990
3073
  const handleChange = (newValue) => {
@@ -3018,8 +3101,35 @@
3018
3101
  return (jsxs("div", { children: [item?.title ? (jsx("div", { className: "mb-m", children: jsx(Text, { size: "text-m", font: "font-light", color: "text-secondary-text", children: item.title }) })) : null, jsx(SlideCheckboxGroup, { items: options, multiple: true, ...field(key) })] }, key));
3019
3102
  };
3020
3103
 
3021
- const DEFAULT_MIN_MONTHS = 3;
3022
- const DEFAULT_MAX_MONTHS = 60;
3104
+ const getPeriod = (source, content) => source[content?.sourceBook]?.rateRows
3105
+ .map((el) => el.minMonths)
3106
+ .filter((minMonths) => minMonths !== undefined);
3107
+
3108
+ async function fetchMultitudeJSON(...urls) {
3109
+ const fetchPromises = urls.map((url) => fetchJSON(url));
3110
+ return await Promise.all(fetchPromises);
3111
+ }
3112
+
3113
+ const unique = (list) => [...new Set(list)];
3114
+
3115
+ const getChildSourceBook = (blocks) => blocks?.filter(hasSourceBook).map(({ content: { sourceBook } }) => sourceBook);
3116
+ const hasSourceBook = (block) => Boolean(block && block.content && typeof block.content.sourceBook === 'string');
3117
+
3118
+ function useDepositsPeriods(blocks) {
3119
+ const { dirs = [], source = [] } = useMemo(() => {
3120
+ const sourceBooks = getChildSourceBook(blocks);
3121
+ return { dirs: sourceBooks?.map((url) => `/wcms-resources/${url}.json`), source: sourceBooks };
3122
+ }, [blocks]);
3123
+ const { data = [] } = useAsyncData(dirs, fetchMultitudeJSON);
3124
+ return {
3125
+ source: Object.fromEntries(zip(source, data).filter(([, sourceData]) => Boolean(sourceData))),
3126
+ months: unique(data
3127
+ .flatMap((item) => item?.rateRows || [])
3128
+ .filter((row) => typeof row.minMonths === 'number' && row.minMonths === row.maxMonths)
3129
+ .map((row) => row.minMonths)).sort((a, b) => a - b) || [],
3130
+ };
3131
+ }
3132
+
3023
3133
  const DEFAULT_MIN_SUM = 500;
3024
3134
  const DEFAULT_MAX_SUM = 1000000000;
3025
3135
  const initialFiltrationState$1 = {
@@ -3027,36 +3137,38 @@
3027
3137
  min: 10000,
3028
3138
  max: DEFAULT_MAX_SUM,
3029
3139
  },
3030
- period: {
3031
- min: 3,
3032
- max: 36,
3033
- },
3140
+ period: 3,
3034
3141
  };
3035
3142
  const DepositFiltration = JSX(({ className, filtrationSchema = {}, resetButton, sumInput, periodInput, ...rest }) => {
3143
+ const { source, months } = useDepositsPeriods(rest.block?.blocks);
3036
3144
  const [filtrationState, { field, reset }] = useForm(initialFiltrationState$1);
3037
- const maxPeriodValue = periodInput?.max || DEFAULT_MAX_MONTHS;
3145
+ const blocksToRender = getBlocksToRender(rest.block?.blocks, filtrationState)((content) => ({ ...content, period: getPeriod(source, content || {}) || [] }));
3038
3146
  const Inputs = (jsxs("div", { children: [jsx(CurrencyInput, { label: sumInput?.title, min: DEFAULT_MIN_SUM, max: DEFAULT_MAX_SUM, ...field('sum', {
3039
3147
  parse: (min) => ({ min: Number(min), max: DEFAULT_MAX_SUM }),
3040
3148
  format: ({ min }) => String(min),
3041
- }) }), jsx(InputRange, { title: periodInput?.title, items: ['От 3 мес', 'До 5 лет'], min: periodInput?.min || DEFAULT_MIN_MONTHS, max: maxPeriodValue, ...field('period', {
3042
- parse: (min) => ({ min, max: maxPeriodValue }),
3043
- format: ({ min }) => min,
3044
- }) })] }));
3045
- return (jsxs(BlockWrapper, { className: style('space-y-2xs', className), defaultPadding: "p-0", version: "transparent", ...rest, children: [renderFiltrationForm({ field, reset, filtrationSchema, resetButton, children: Inputs }), jsx(BaseFiltrationInner, { filtrationState: filtrationState, ...rest })] }));
3149
+ }) }), jsx(InputRange, { title: periodInput?.title, items: ['От 3 мес', 'До 5 лет'], list: months, ...field('period') })] }));
3150
+ return (jsxs(BlockWrapper, { className: style('space-y-2xs', className), defaultPadding: "p-0", version: "transparent", ...rest, children: [renderFiltrationForm({ field, reset, filtrationSchema, resetButton, children: Inputs }), jsx(BaseFiltrationInner, { blocksToRender: blocksToRender, ...rest })] }));
3046
3151
  });
3152
+ const sourceBookSchema = {
3153
+ type: 'string',
3154
+ title: 'Адрес справочника',
3155
+ };
3047
3156
  DepositFiltration.childrenTypes = ['ProductTile'];
3048
- DepositFiltration.childSchema = (content) => content?.filtrationSchema || {};
3157
+ DepositFiltration.childSchema = (content) => ({
3158
+ ...(content?.filtrationSchema || {}),
3159
+ sourceBook: sourceBookSchema,
3160
+ });
3049
3161
 
3050
3162
  const renderErrorContent = (error) => {
3051
3163
  if (error?.contentType === 'Image' && error?.image) {
3052
3164
  return jsx(Img, { image: error.image });
3053
3165
  }
3054
3166
  if (error?.contentType === 'Code' && error.code) {
3055
- return jsx("div", { className: "font-mohave text-title-extra gradient-color-text", children: error.code });
3167
+ return (jsx("div", { className: "font-mohave text-title-large sm:text-title-extra gradient-color-text", children: error.code }));
3056
3168
  }
3057
3169
  return null;
3058
3170
  };
3059
- const ErrorBlock = JSX(({ className = '', title, description, error, button, ...rest }) => (jsxs(BlockWrapper, { className: style('flex flex-col gap-2xl justify-center items-center', className), defaultPadding: style('p-6xl'), version: "transparent", ...rest, children: [jsx("div", { className: "flex justify-center", children: renderErrorContent(error) }), jsx(Headline, { title: title, description: description, headlineVersion: "XL", isEmbedded: true }), button?.text ? jsx(Button, { version: button?.version, text: button?.text, ...button }) : null] })));
3171
+ const ErrorBlock = JSX(({ className = '', title, description, error, button, ...rest }) => (jsxs(BlockWrapper, { className: style('flex flex-col justify-center items-center', className), defaultPadding: style('p-6xl'), version: "transparent", ...rest, children: [jsx("div", { className: "flex justify-center", children: renderErrorContent(error) }), jsx(Headline, { title: title, description: description, headlineVersion: "XL", isEmbedded: true, className: "mb-2xl last:mb-0" }), button?.text ? jsx(Button, { version: button?.version, text: button?.text, ...button }) : null] })));
3060
3172
 
3061
3173
  var Currencies;
3062
3174
  (function (Currencies) {
@@ -3314,18 +3426,13 @@
3314
3426
  return (jsxs("div", { className: style('font-sans relative', className), role: "form", children: [jsx("div", { className: "absolute h-full flex items-center pl-m pointer-events-none", children: jsx(Img, { image: { icon: 'LoupeIcon', iconVersion: 'black' }, width: "24", height: "24" }) }), jsx("input", { className: style('h-12 w-full px-10 text-l text-black outline-none box-border', 'border border-solid rounded-md border-gray hover:border-primary-hover active:border-primary-text focus:border-primary-text'), value: value, type: "text", name: "search-bar-input", placeholder: "\u041F\u043E\u0438\u0441\u043A \u043F\u043E \u0441\u0430\u0439\u0442\u0443", autoFocus: autoFocus, onChange: handleChange, onFocus: onFocus })] }));
3315
3427
  });
3316
3428
 
3317
- const useDebouncedEffect = (effect, deps, delay = 300) => useEffect(() => {
3318
- const timerId = setTimeout(effect, delay);
3319
- return () => {
3320
- clearTimeout(timerId);
3321
- };
3322
- }, deps);
3323
-
3324
- const compareBy = (indexOf) => (a, b) => indexOf(a) - indexOf(b);
3325
- const desc = (cmp) => (a, b) => -cmp(a, b);
3326
-
3327
- function zip(firstCol, ...restCols) {
3328
- return firstCol.map((firstEl, rowIndex) => [firstEl, ...restCols.map((col) => col[rowIndex])]);
3429
+ function useDebouncedEffect(effect, deps, delay = 300) {
3430
+ useEffect(() => {
3431
+ const timerId = globalThis.setTimeout(effect, delay);
3432
+ return () => {
3433
+ globalThis.clearTimeout(timerId);
3434
+ };
3435
+ }, deps);
3329
3436
  }
3330
3437
 
3331
3438
  const joinMaps = (aggregate, emptyVal) => (acc, map) => {
@@ -3614,6 +3721,11 @@
3614
3721
  return result;
3615
3722
  };
3616
3723
 
3724
+ const SearchBar = JSX(({ className, searchTerm, onSearch }) => {
3725
+ return (jsxs("form", { className: `font-sans relative ${className}`, children: [jsx("div", { className: "absolute rounded h-full flex items-center justify-center pl-m max-w-44 gap-s pointer-events-none", children: searchTerm ? null : (jsx("label", { htmlFor: "search-bar-input", className: `text-secondary-text `, children: "\u041F\u043E\u0438\u0441\u043A \u043F\u043E \u0444\u0438\u043B\u0438\u0430\u043B\u0430\u043C" })) }), jsx("input", { id: "search-bar-input", className: `h-12 pl-m w-full peer text-l text-black border border-solid rounded-md box-border
3726
+ outline-none border-gray hover:border-primary-hover active:border-primary-text focus:border-primary-text`, value: searchTerm, onChange: (e) => onSearch(e.target.value.toLowerCase()), type: "text", name: "location-search-bar-input" })] }));
3727
+ });
3728
+
3617
3729
  const renderForeignOffices = (foreignOffices) => foreignOffices?.length ? (jsxs("div", { className: "border-t border-main-divider mt-2xs pt-2xs", children: [jsx("div", { className: "mb-m", children: jsx(Text, { size: "text-m", font: "font-light", color: "text-secondary-text", children: "\u041F\u0440\u0435\u0434\u0441\u0442\u0430\u0432\u0438\u0442\u0435\u043B\u044C\u0441\u0442\u0432\u0430 \u0437\u0430 \u0440\u0443\u0431\u0435\u0436\u043E\u043C:" }) }), jsx("div", { className: "flex gap-5xl", children: foreignOffices.map((office, i) => (jsx(ForeignOffice, { ...office }, String(i)))) })] })) : null;
3618
3730
  const ForeignOffice = JSX(({ icon, ...rest }) => {
3619
3731
  const link = useLink();
@@ -3627,11 +3739,6 @@
3627
3739
 
3628
3740
  const renderRegionGroup = (onChangeLocation) => ([letter, regions]) => (jsxs("div", { className: "break-inside-avoid mb-2xl w-56", children: [jsx("div", { className: "mb-s", children: jsx(Text, { size: "text-h6", children: letter }) }), regions.map(renderRegion(onChangeLocation))] }, letter));
3629
3741
 
3630
- const SearchBar = JSX(({ className, searchTerm, onSearch }) => {
3631
- return (jsxs("form", { className: `font-sans relative ${className}`, children: [jsx("div", { className: "absolute rounded h-full flex items-center justify-center pl-m max-w-44 gap-s pointer-events-none", children: searchTerm ? null : (jsx("label", { htmlFor: "search-bar-input", className: `text-secondary-text `, children: "\u041F\u043E\u0438\u0441\u043A \u043F\u043E \u0444\u0438\u043B\u0438\u0430\u043B\u0430\u043C" })) }), jsx("input", { id: "search-bar-input", className: `h-12 pl-m w-full peer text-l text-black border border-solid rounded-md box-border
3632
- outline-none border-gray hover:border-primary-hover active:border-primary-text focus:border-primary-text`, value: searchTerm, onChange: (e) => onSearch(e.target.value.toLowerCase()), type: "text", name: "location-search-bar-input" })] }));
3633
- });
3634
-
3635
3742
  const SEARCH_TERM_MIN_LENGTH = 3;
3636
3743
  const LocationDialog = JSX(() => {
3637
3744
  const { defaultLocation, foreignOffices } = useSitemap();
@@ -3997,17 +4104,17 @@
3997
4104
  return (jsx("div", { role: "listitem", children: jsx(LinkDocItem, { text: docBlockDef?.text, target: docBlockDef?.target, href: href, fileSize: fileSize, icon: icon ? jsx(Img, { className: linkIconStyle, image: icon, width: "24", height: "24" }) : null }) }, String(i)));
3998
4105
  };
3999
4106
 
4000
- const renderDescription$1 = (description) => description ? (jsx("div", { className: "mb-lg pt-3xs", children: jsx(Text, { size: "text-xl", "font-weight": "light", children: description }) })) : null;
4107
+ const renderDescription$1 = (description) => description ? (jsx("div", { className: "mb-lg pt-3xs", children: jsx(Text, { size: "text-xl", "font-weight": "font-light", children: description }) })) : null;
4001
4108
 
4002
- const renderList$1 = (items) => {
4003
- return items?.length ? (jsx(List, { items: items, className: "text-l font-light" })) : (jsx("span", { className: "text-m font-light text-secondary-text", children: "\u041D\u0430\u0432\u0435\u0434\u0438\u0442\u0435 \u043A\u0430\u043C\u0435\u0440\u0443 \u0442\u0435\u043B\u0435\u0444\u043E\u043D\u0430 \u043D\u0430 QR-\u043A\u043E\u0434 \u0438 \u0441\u043A\u0430\u0447\u0430\u0439\u0442\u0435 \u043F\u0440\u0438\u043B\u043E\u0436\u0435\u043D\u0438\u0435" }));
4109
+ const renderList$1 = (items, listItemSize) => {
4110
+ return items?.length ? (jsx(List, { items: items, listItemSize: listItemSize, className: "text-l font-light" })) : (jsx("span", { className: "text-m font-light text-secondary-text", children: "\u041D\u0430\u0432\u0435\u0434\u0438\u0442\u0435 \u043A\u0430\u043C\u0435\u0440\u0443 \u0442\u0435\u043B\u0435\u0444\u043E\u043D\u0430 \u043D\u0430 QR-\u043A\u043E\u0434 \u0438 \u0441\u043A\u0430\u0447\u0430\u0439\u0442\u0435 \u043F\u0440\u0438\u043B\u043E\u0436\u0435\u043D\u0438\u0435" }));
4004
4111
  };
4005
4112
 
4006
4113
  const buttonsConditionStyle = (buttons) => renderButtonsSection(buttons, { isVertical: false });
4007
4114
 
4008
- const MobileAppTile = JSX(({ className, padding, alignTitle = 'left', buttons = [], description, headingType = 'h4', image, items, qr, title = 'Мобильное приложение', version = 'primary', ...rest }) => {
4115
+ const MobileAppTile = JSX(({ className, padding, align = 'text-left', buttons = [], description, headingType = 'h4', image, items, listItemSize, qr, title = 'Мобильное приложение', version = 'primary', ...rest }) => {
4009
4116
  const containerStyle = version === 'secondary' ? 'p-m min-w-32' : 'min-w-24';
4010
- return (jsx(BlockWrapper, { className: style('min-h-80', className), padding: "p-0", version: version, ...rest, children: jsxs(BaseTile, { className: "h-full", padding: padding, defaultPadding: "p-6xl", title: title ? (jsx(Heading, { headingType: headingType, title: title, className: style('whitespace-pre-wrap', AlignText[alignTitle]) })) : null, rightImage: image?.src ? jsx(Img, { className: "hidden lg:block", image: image }) : null, buttons: buttonsConditionStyle(buttons), children: [renderDescription$1(description), jsxs("div", { className: "flex flex-1 flex-wrap gap-m items-center", children: [qr?.src ? (jsx("div", { className: style('flex justify-center bg-white rounded-md', containerStyle), children: jsx(Img, { className: "w-fit", image: qr }) })) : null, renderList$1(items), image?.src ? jsx(Img, { className: "lg:hidden", image: image }) : null] })] }) }));
4117
+ return (jsx(BlockWrapper, { className: style('min-h-80', className), padding: "p-0", version: version, ...rest, children: jsxs(BaseTile, { className: "h-full", padding: padding, defaultPadding: "p-6xl", title: title ? (jsx(Heading, { headingType: headingType, title: title, className: style('whitespace-pre-wrap', align) })) : null, rightImage: image?.src ? jsx(Img, { className: "hidden lg:block", image: image }) : null, buttons: buttonsConditionStyle(buttons), children: [renderDescription$1(description), jsxs("div", { className: "flex flex-1 flex-wrap gap-m items-center", children: [qr?.src ? (jsx("div", { className: style('flex justify-center bg-white rounded-md', containerStyle), children: jsx(Img, { className: "w-fit", image: qr }) })) : null, renderList$1(items, listItemSize), image?.src ? jsx(Img, { className: "lg:hidden", image: image }) : null] })] }) }));
4011
4118
  });
4012
4119
 
4013
4120
  const badgeBgStyleMap = {
@@ -4022,7 +4129,7 @@
4022
4129
  return (jsx("div", { className: style('w-6 h-6 rounded-full flex items-center justify-center', badgeBgStyleMap[version]), children: jsx(Text, { size: "text-xs", color: badgeTextColorStyleMap[version], children: count }) }));
4023
4130
  });
4024
4131
 
4025
- const getBadgeCount = (blocks = [], filter = {}) => blocks.filter(({ content = {} }) => checkShouldRenderBlock(filter, content)).length;
4132
+ const getBadgeCount = (blocks = [], filter = {}) => blocks.filter(({ content = {} }) => shouldRenderBlock(filter, content)).length;
4026
4133
 
4027
4134
  const scalarCmp = (a, b) => a === b;
4028
4135
  const arrCmp = (cmp = scalarCmp) => (a, b) => a === b || Boolean(a && b && a.length === b.length && a.every((_, i) => cmp(_, b[i])));
@@ -4111,6 +4218,7 @@
4111
4218
  };
4112
4219
  const MortgageFiltration = JSX(({ className, hotFilters, filtrationSchema = {}, resetButton, ...rest }) => {
4113
4220
  const [filtrationState, { field, reset, update: replaceFiltrationState }] = useForm(initialFiltrationState);
4221
+ const blocksToRender = getBlocksToRender(rest.block?.blocks, filtrationState)();
4114
4222
  const handleFiltrationStateChange = useCallback((_ = initialFiltrationState) => replaceFiltrationState(_), []);
4115
4223
  const tabsControlProps = useHotFilters({
4116
4224
  hotFilters,
@@ -4118,7 +4226,7 @@
4118
4226
  blocks: rest.block?.blocks,
4119
4227
  onFiltrationStateChange: handleFiltrationStateChange,
4120
4228
  });
4121
- return (jsxs(BlockWrapper, { className: style('space-y-2xs', className), defaultPadding: "p-0", version: "transparent", ...rest, children: [jsx(TabsControl, { ...tabsControlProps }), renderFiltrationForm({ field, reset, filtrationSchema, resetButton }), jsx(BaseFiltrationInner, { filtrationState: filtrationState, ...rest })] }));
4229
+ return (jsxs(BlockWrapper, { className: style('space-y-2xs', className), defaultPadding: "p-0", version: "transparent", ...rest, children: [jsx(TabsControl, { ...tabsControlProps }), renderFiltrationForm({ field, reset, filtrationSchema, resetButton }), jsx(BaseFiltrationInner, { blocksToRender: blocksToRender, ...rest })] }));
4122
4230
  });
4123
4231
  MortgageFiltration.childrenTypes = ['ProductTile'];
4124
4232
  MortgageFiltration.childSchema = (content) => content?.filtrationSchema || {};
@@ -4290,8 +4398,7 @@
4290
4398
  const map = useRef(null);
4291
4399
  const yandexMaps = useYandexMaps();
4292
4400
  const [isFullScreen, setIsFullScreen] = useState();
4293
- const [pointsToRender, setPointsToRender] = useState(normalizePoints(mockPoints));
4294
- const pointsCenter = getCenterPoint(points);
4401
+ const pointsCenter = points ? getCenterPoint(points) : [55.753995, 37.614069];
4295
4402
  useEffect(() => {
4296
4403
  if (!map?.current) {
4297
4404
  yandexMaps?.ready(() => {
@@ -4301,16 +4408,16 @@
4301
4408
  controls: [],
4302
4409
  suppressMapOpenBlock: true,
4303
4410
  });
4304
- renderClusterer(yandexMaps, map.current, pointsToRender);
4411
+ renderClusterer(yandexMaps, map.current, points);
4305
4412
  });
4306
4413
  }
4307
- }, [yandexMaps, map, pointsToRender]);
4414
+ }, [yandexMaps, map, points]);
4308
4415
  useEffect(() => {
4309
- if (map.current && pointsToRender && yandexMaps) {
4310
- const newPoints = pointsToRender.length < 1 ? normalizePoints(mockPoints) : pointsToRender;
4416
+ if (map.current && points?.length && yandexMaps) {
4417
+ const newPoints = points.length < 1 ? normalizePoints(mockPoints) : points;
4311
4418
  renderClusterer(yandexMaps, map.current, newPoints);
4312
4419
  }
4313
- }, [map, pointsToRender, yandexMaps]);
4420
+ }, [map, points, yandexMaps]);
4314
4421
  if (!yandexMaps) {
4315
4422
  return null;
4316
4423
  }
@@ -4569,13 +4676,15 @@
4569
4676
 
4570
4677
  const getIconName = (isUnfolded) => (isUnfolded ? 'MinusIcon' : 'PlusIcon');
4571
4678
 
4572
- const rollupIconVersion = 'color';
4573
-
4574
4679
  const rollupItemStyles = 'border-0 border-b border-solid border-main-divider last:border-b-0';
4575
4680
 
4576
4681
  // eslint-disable-next-line @typescript-eslint/no-unused-vars
4577
4682
  const renderRoundedIcon = (_icon, _iconBgVersion) => null;
4578
4683
 
4684
+ const rollupIconVersion = 'color';
4685
+
4686
+ const PrimaryFoldButton = JSX(({ label, labelIconBgVersion, icon, onToggle, labelIcon }) => (jsx(TextWithIcon, { tag: "button", className: style('border-none bg-transparent items-center group/button', labelIcon?.icon ? 'py-xs' : 'py-lg'), onClick: onToggle, textNode: jsxs("div", { className: "flex items-center text-start group-hover/button:text-primary-main gap-s", children: [renderRoundedIcon(), label ? (jsx(Text, { size: "text-h6", font: "font-normal", children: label })) : null] }), iconNode: icon ? jsx(Icon, { name: icon, iconVersion: rollupIconVersion, width: "24", height: "24" }) : null })));
4687
+
4579
4688
  const RollupItem = JSX(({ className = '', isExpanded, isFoldButtonOnTop = true, label = 'Развернуть', labelIcon, labelIconBgVersion, version = 'primary', ...rest }) => (jsx(BlockWrapper, { className: style('w-full', rollupItemStyles, className), defaultPadding: "p-0", tag: "div", version: "transparent", ...rest, children: jsx(Foldable, { isFoldButtonOnTop: isFoldButtonOnTop, unfoldedByDefault: isExpanded, renderFoldableSection: ({ isUnfolded }) => (jsx(FoldableSection, { className: style('gap-lg', foldableSectionStyles), isUnfolded: isUnfolded, children: renderChildren({
4580
4689
  ...rest,
4581
4690
  extraProps: { className: 'w-full', padding: 'p-0' },
@@ -4592,16 +4701,8 @@
4592
4701
  };
4593
4702
  const renderFoldButton = ({ version, label: defaultLabel, labelIcon, labelIconBgVersion, isUnfolded, onToggle, }) => {
4594
4703
  const label = defaultLabel || (isUnfolded ? 'Скрыть' : 'Развернуть');
4595
- return version === 'primary' ? (renderPrimaryFoldButton({
4596
- label,
4597
- labelIcon,
4598
- labelIconBgVersion,
4599
- icon: getIconName(isUnfolded),
4600
- onToggle,
4601
- })) : (jsx(DefaultFoldButton, { label: label, icon: isUnfolded ? 'ArrowUpIcon' : 'ArrowDownIcon', onClick: onToggle }));
4602
- };
4603
- const renderPrimaryFoldButton = ({ label, labelIconBgVersion, icon, onToggle, labelIcon, }) => {
4604
- return (jsxs("button", { className: style('border-none bg-transparent flex justify-between items-center w-full group/button', labelIcon?.icon ? 'py-xs' : 'py-lg'), onClick: onToggle, children: [jsxs("div", { className: "flex items-center text-start group-hover/button:text-primary-main gap-s", children: [renderRoundedIcon(), label ? (jsx(Text, { size: "text-h6", font: "font-normal", children: label })) : null] }), icon ? jsx(Icon, { name: icon, iconVersion: rollupIconVersion, width: "24", height: "24" }) : null] }));
4704
+ const icon = getIconName(isUnfolded);
4705
+ return version === 'primary' ? (jsx(PrimaryFoldButton, { label: label, labelIcon: labelIcon, labelIconBgVersion: labelIconBgVersion, icon: icon, onToggle: onToggle })) : (jsx(DefaultFoldButton, { label: label, icon: isUnfolded ? 'ArrowUpIcon' : 'ArrowDownIcon', onClick: onToggle }));
4605
4706
  };
4606
4707
 
4607
4708
  const WrapperSelect = JSX(({ data, fieldLabel, fieldValue, selected, placeholder = '', setSelected, label }) => {
@@ -4612,9 +4713,7 @@
4612
4713
  return (jsx(Select, { options: dataFormat, label: label, placeholder: placeholder || selected, onChange: (_) => setSelected(_.key), value: selectedObj }));
4613
4714
  });
4614
4715
 
4615
- const RegionsAndBranches = JSX(({ regions = [], selectedRegion, onSelectedRegion: onSelectedRegion, branches = [], selectedBranch, onSelectedBranch, }) => (jsxs("div", { className: "flex flex-col sm:flex-row gap-m order-1", children: [jsx("div", { className: "flex-1 min-w-0", children: jsx(WrapperSelect, { data: regions, fieldValue: "code", fieldLabel: "name", selected: selectedRegion, setSelected: onSelectedRegion, label: "\u0420\u0435\u0433\u0438\u043E\u043D" }) }), jsx("div", { className: "flex-1 min-w-0", children: jsx(WrapperSelect, { data: branches, fieldValue: "branchCode", fieldLabel: "address", selected: selectedBranch, setSelected: onSelectedBranch, label: "\u041E\u0442\u0434\u0435\u043B\u0435\u043D\u0438\u0435", placeholder: "\u0412\u044B\u0431\u0435\u0440\u0438\u0442\u0435 \u043E\u0442\u0434\u0435\u043B\u0435\u043D\u0438\u0435" }) })] })));
4616
-
4617
- const Radio = JSX(({ name, text, value, checked, onChange, className }) => (jsx("div", { className: className, children: jsxs("label", { className: "font-sans flex gap-s items-center relative cursor-pointer", children: [jsx("input", { className: "appearance-none flex justify-center items-center shrink-0 w-5 h-5 border border-gray hover:border-primary-hover\n checked:border-2 checked:!border-primary-main focus:checked:border-primary-main focus:border-primary-text active:border-primary-text\n after:block after:w-2.5 after:h-2.5 after:rounded-full checked:after:bg-primary-main outline-none rounded-full cursor-pointer", type: "radio", value: value, name: name, checked: checked, onChange: (_) => onChange(_.target.value) }), text ? jsx("span", { className: "text-primary-text cursor-pointer", children: text }) : null] }) })));
4716
+ const RegionsAndBranches = JSX(({ regions = [], selectedRegion, onSelectedRegion: onSelectedRegion, branches = [], selectedBranch, onSelectedBranch, }) => (jsxs("div", { className: "flex flex-col @xl:flex-row gap-m order-1", children: [jsx("div", { className: "flex-1 min-w-0", children: jsx(WrapperSelect, { data: regions, fieldValue: "code", fieldLabel: "name", selected: selectedRegion, setSelected: onSelectedRegion, label: "\u0420\u0435\u0433\u0438\u043E\u043D" }) }), jsx("div", { className: "flex-1 min-w-0", children: jsx(WrapperSelect, { data: branches, fieldValue: "branchCode", fieldLabel: "address", selected: selectedBranch, setSelected: onSelectedBranch, label: "\u041E\u0442\u0434\u0435\u043B\u0435\u043D\u0438\u0435", placeholder: "\u0412\u044B\u0431\u0435\u0440\u0438\u0442\u0435 \u043E\u0442\u0434\u0435\u043B\u0435\u043D\u0438\u0435" }) })] })));
4618
4717
 
4619
4718
  const RadioButtons = JSX(({ className = '' }) => {
4620
4719
  const [selectedOption, setSelectedOption] = useState('option2');
@@ -4628,11 +4727,11 @@
4628
4727
  const RentalPeriod = JSX(({ days, setDays }) => (jsxs("div", { className: "order-1", children: [jsx(Text, { size: "text-m", font: "font-light", children: "\u0421\u0440\u043E\u043A \u0430\u0440\u0435\u043D\u0434\u044B" }), jsx(InputRange, { min: MIN, max: MAX, value: days, items: ITEMS, onChange: setDays })] })));
4629
4728
 
4630
4729
  const SafeBoxCases = JSX(({ caseVolumes = [], selectedCaseVolume, onSelectedCaseVolume, safeBoxCases = [], selectedBoxSize, onSelectedBoxSize, }) => {
4631
- return (jsxs("div", { className: "flex flex-col sm:flex-row gap-m order-1", children: [jsx("div", { className: "flex-1 min-w-0", children: jsx(WrapperSelect, { data: caseVolumes, fieldLabel: "volume", selected: selectedCaseVolume, setSelected: onSelectedCaseVolume, label: "\u0420\u0430\u0437\u043C\u0435\u0440", placeholder: "\u0412\u044B\u0431\u0435\u0440\u0438\u0442\u0435 \u0440\u0430\u0437\u043C\u0435\u0440" }) }), jsx("div", { className: "flex-1 min-w-0", children: jsx(WrapperSelect, { data: safeBoxCases, fieldLabel: "safeBoxCasesSize", selected: selectedBoxSize, setSelected: onSelectedBoxSize, label: "\u041F\u0430\u0440\u0430\u043C\u0435\u0442\u0440\u044B \u044F\u0447\u0435\u0439\u043A\u0438, \u043C\u043C (\u0412\u0445\u0428\u0445\u0414)", placeholder: "\u0412\u044B\u0431\u0435\u0440\u0438\u0442\u0435 \u043F\u0430\u0440\u0430\u043C\u0435\u0442\u0440 \u044F\u0447\u0435\u0439\u043A\u0438" }) })] }));
4730
+ return (jsxs("div", { className: "flex flex-col @xl:flex-row gap-m order-1", children: [jsx("div", { className: "flex-1 min-w-0", children: jsx(WrapperSelect, { data: caseVolumes, fieldLabel: "volume", selected: selectedCaseVolume, setSelected: onSelectedCaseVolume, label: "\u0420\u0430\u0437\u043C\u0435\u0440", placeholder: "\u0412\u044B\u0431\u0435\u0440\u0438\u0442\u0435 \u0440\u0430\u0437\u043C\u0435\u0440" }) }), jsx("div", { className: "flex-1 min-w-0", children: jsx(WrapperSelect, { data: safeBoxCases, fieldLabel: "safeBoxCasesSize", selected: selectedBoxSize, setSelected: onSelectedBoxSize, label: "\u041F\u0430\u0440\u0430\u043C\u0435\u0442\u0440\u044B \u044F\u0447\u0435\u0439\u043A\u0438, \u043C\u043C (\u0412\u0445\u0428\u0445\u0414)", placeholder: "\u0412\u044B\u0431\u0435\u0440\u0438\u0442\u0435 \u043F\u0430\u0440\u0430\u043C\u0435\u0442\u0440 \u044F\u0447\u0435\u0439\u043A\u0438" }) })] }));
4632
4731
  });
4633
4732
 
4634
4733
  const SafeDepositRentalFields = JSX(({ regions, selectedRegion, branches, selectedBranch, days, selectedCaseVolume, selectedBoxSize, safeBoxCases, caseVolumes, onChange, onClick, }) => {
4635
- return (jsxs("div", { className: "contents sm:block flex-1 space-y-xl", children: [jsx(RegionsAndBranches, { regions: regions, selectedRegion: selectedRegion, onSelectedRegion: (value) => onChange({ selectedRegion: value }), branches: branches, selectedBranch: selectedBranch, onSelectedBranch: onSelectedBranch(onChange) }), jsx(RentalPeriod, { days: days, setDays: (value) => onChange({ days: value }) }), jsx(SafeBoxCases, { caseVolumes: caseVolumes, selectedCaseVolume: selectedCaseVolume, onSelectedCaseVolume: onSelectedCaseVolume(onChange), safeBoxCases: safeBoxCases, selectedBoxSize: selectedBoxSize, onSelectedBoxSize: (value) => onChange({ selectedBoxSize: value }) }), jsx("div", { className: "order-4", children: jsx(Text, { size: "text-l", font: "font-light", color: "text-secondary-text", children: "\u0422\u0438\u043F \u0434\u043E\u0433\u043E\u0432\u043E\u0440\u0430" }) }), jsxs("div", { className: "contents sm:flex justify-between items-center gap-m", children: [jsx(RadioButtons, {}), jsx(Button, { text: "\u041E\u0444\u0438\u0441\u044B \u043D\u0430 \u043A\u0430\u0440\u0442\u0435", version: "primary", onClick: onClick, className: "order-6" })] })] }));
4734
+ return (jsxs("div", { className: "contents @xl:block flex-1 space-y-xl", children: [jsx(RegionsAndBranches, { regions: regions, selectedRegion: selectedRegion, onSelectedRegion: (value) => onChange({ selectedRegion: value }), branches: branches, selectedBranch: selectedBranch, onSelectedBranch: onSelectedBranch(onChange) }), jsx(RentalPeriod, { days: days, setDays: (value) => onChange({ days: value }) }), jsx(SafeBoxCases, { caseVolumes: caseVolumes, selectedCaseVolume: selectedCaseVolume, onSelectedCaseVolume: onSelectedCaseVolume(onChange), safeBoxCases: safeBoxCases, selectedBoxSize: selectedBoxSize, onSelectedBoxSize: (value) => onChange({ selectedBoxSize: value }) }), jsx("div", { className: "order-4", children: jsx(Text, { size: "text-l", font: "font-light", color: "text-secondary-text", children: "\u0422\u0438\u043F \u0434\u043E\u0433\u043E\u0432\u043E\u0440\u0430" }) }), jsxs("div", { className: "contents @md:flex justify-between items-center gap-m", children: [jsx(RadioButtons, {}), jsx(Button, { text: "\u041E\u0444\u0438\u0441\u044B \u043D\u0430 \u043A\u0430\u0440\u0442\u0435", version: "primary", onClick: onClick, className: "order-6" })] })] }));
4636
4735
  });
4637
4736
  const onSelectedBranch = (onChange) => (value) => {
4638
4737
  onChange({ selectedBranch: value, selectedCaseVolume: '', selectedBoxSize: '' });
@@ -4644,10 +4743,10 @@
4644
4743
  const SafeDepositRentalTotal = JSX(({ days, tariffs = [] }) => {
4645
4744
  const price = calculatePrice(days, tariffs);
4646
4745
  const imageDescription = 'На рисунке изображена пачка листов\nформата А4';
4647
- return (jsxs("div", { className: "contents sm:flex flex-col justify-between order-2", children: [jsxs("div", { className: "flex flex-col sm:flex-row gap-x-6xl gap-y-2xl order-5 sm:order-none py-2xl sm:py-0 border-t border-main-divider sm:border-none", children: [renderTotal('Аренда за', days), renderTotal('Цена', price + ' ₽')] }), jsx("span", { className: "sm:hidden order-3 mb-xs text-s font-light text-secondary-text", children: imageDescription }), jsxs("div", { className: "flex flex-col items-center gap-s order-3 sm:order-none mb-xl sm:mb-0 bg-primary-main py-s sm:p-3xl text-center", children: [jsx(Img, { image: { icon: 'PackA4Icon' }, className: "sm:h-60" }), jsx("span", { className: "hidden sm:inline text-s font-light text-white opacity-80 whitespace-pre-line", children: imageDescription })] })] }));
4746
+ return (jsxs("div", { className: "contents @xl:flex flex-col justify-between gap-xl order-2", children: [jsxs("div", { className: "flex flex-col @xl:flex-row gap-x-6xl gap-y-2xl order-5 @xl:order-none py-2xl @xl:py-0 border-t border-main-divider @xl:border-none", children: [renderTotal('Аренда за', days), renderTotal('Цена', price + ' ₽')] }), jsx("span", { className: "@xl:hidden order-3 mb-xs text-s font-light text-secondary-text", children: imageDescription }), jsxs("div", { className: "flex flex-col items-center gap-s order-3 @xl:order-none mb-xl @xl:mb-0 bg-primary-main py-s @xl:p-3xl text-center", children: [jsx(Img, { image: { icon: 'PackA4Icon' }, className: "@xl:h-60" }), jsx("span", { className: "hidden @xl:inline text-s font-light text-white opacity-80 whitespace-pre-line", children: imageDescription })] })] }));
4648
4747
  });
4649
4748
  const renderTotal = (label, total) => {
4650
- return (jsxs("div", { className: "flex justify-between items-center gap-y-xs sm:flex-col sm:items-start", children: [jsx("div", { className: "text-l font-light text-secondary-text", children: label }), jsx("span", { className: "text-l sm:text-h3 text-primary-text", children: total })] }));
4749
+ return (jsxs("div", { className: "flex justify-between items-center gap-y-xs @xl:flex-col @xl:items-start", children: [jsx("div", { className: "text-l font-light text-secondary-text", children: label }), jsx("span", { className: "text-l @xl:text-h3 text-primary-text", children: total })] }));
4651
4750
  };
4652
4751
  const calculatePrice = (days, tariffs) => {
4653
4752
  const tariffType = getTariffType(days);
@@ -4694,7 +4793,7 @@
4694
4793
  const caseVolumes = getCaseVolumes(branch?.safeBoxCaseVolumes);
4695
4794
  const safeBoxCases = getCaseVolume(branch?.safeBoxCaseVolumes, data.selectedCaseVolume)?.safeBoxCases;
4696
4795
  const tariffs = getTariffs(safeBoxCases, data.selectedBoxSize);
4697
- return (jsxs("div", { className: "flex flex-col sm:flex-row gap-4xl align-top", children: [jsx(SafeDepositRentalFields, { ...data, regions: regions, onClick: onClick, branches: branches, caseVolumes: caseVolumes, safeBoxCases: safeBoxCases, onChange: onChange }), jsx(SafeDepositRentalTotal, { days: data.days, tariffs: tariffs })] }));
4796
+ return (jsxs("div", { className: "flex flex-col @4xl:flex-row gap-4xl align-top", children: [jsx(SafeDepositRentalFields, { ...data, regions: regions, onClick: onClick, branches: branches, caseVolumes: caseVolumes, safeBoxCases: safeBoxCases, onChange: onChange }), jsx(SafeDepositRentalTotal, { days: data.days, tariffs: tariffs })] }));
4698
4797
  });
4699
4798
  const getCaseVolumes = (safeBoxCaseVolumes) => safeBoxCaseVolumes?.length ? safeBoxCaseVolumes?.filter((_) => _?.safeBoxCases?.length) : [];
4700
4799
  const getCaseVolume = (caseVolumes, selectedCaseVolume) => caseVolumes?.find((_) => _.volume === selectedCaseVolume);
@@ -4861,28 +4960,28 @@
4861
4960
  };
4862
4961
  const normalizeTab = (_) => (_?.type === 'group' ? { text: _.title } : _);
4863
4962
 
4864
- const DIVIDER_CLASSES = 'border-main-divider border border-t-0 border-x-0';
4865
- const FIRST_CELL_CLASSES = 'w-80 flex-shrink-0';
4963
+ const dividerStyle = '@4xl:border-main-divider @4xl:border-b';
4964
+ const firstCellStyle = 'w-80 flex-shrink-0';
4866
4965
  const COLS_LENGTH_FOR_SCROLL = 2;
4867
4966
  const COLUMN_WIDTH$1 = 4 * 80 + 40; // w-80 + pl-10 = 360px
4868
4967
 
4869
- const TableInnerButton = JSX(({ isOpen, onClick }) => {
4870
- return (jsxs(Button, { version: "primary", onClick: onClick, className: "w-full flex items-center justify-center rounded-none py-lg", children: [jsx("div", { className: "text-h4", children: isOpen ? 'Скрыть' : 'Показать' }), jsx(Icon, { name: isOpen ? 'ArrowUpIcon' : 'ArrowDownIcon', className: "ml-s", iconVersion: "white", width: "20", height: "20" })] }));
4871
- });
4968
+ const TableInnerButton = JSX(({ className = '', isOpen, onClick }) => (jsx(Button, { className: className, appendRight: jsx(Img, { image: { icon: isOpen ? 'ArrowUpIcon' : 'ArrowDownIcon' }, width: "20", height: "20" }), text: isOpen ? 'Скрыть' : 'Показать', version: "gray", onClick: onClick })));
4872
4969
 
4873
- const renderButtonsCellData = ({ buttons }) => renderButtonsSection(buttons);
4874
- const renderLabelDescriptionCellData = ({ label, description }) => (jsxs("div", { className: "space-y-2xs", children: [label ? jsx("div", { className: "text-h6 m-0", children: label }) : null, description ? (jsx("div", { className: "text-secondary-text text-l font-light", children: description })) : null] }));
4970
+ const renderButtonsCellData = ({ buttons }) => renderButtonsSection(buttons, {
4971
+ buttonClassName: 'basis-0',
4972
+ });
4973
+ const renderLabelDescriptionCellData = ({ label, description }) => (jsxs("div", { className: "space-y-2xs", children: [label ? jsx("div", { children: label }) : null, description ? (jsx("div", { children: jsx(Text, { size: "text-s", color: "text-secondary-text", children: description }) })) : null] }));
4875
4974
  const renderImgCellData = ({ image }) => (image?.src ? jsx(Img, { image: image }) : null);
4876
4975
  const renderListCellData = ({ isDotted, ...rest }) => (jsx(List, { className: "flex flex-col justify-between items-start text-h6", isDotted: isDotted ?? true, ...rest }));
4877
- const renderTableCellData = JSX(({ isVisible, displayTable, dataUrl, pdfUrl, isOpen }) => isVisible ? (jsx(TableInnerButton, { isOpen: isOpen, onClick: () => {
4976
+ const renderInnerTableCellData = ({ isVisible, displayTable, dataUrl, pdfUrl, isOpen, }) => isVisible ? (jsx(TableInnerButton, { isOpen: isOpen, onClick: () => {
4878
4977
  displayTable({ dataUrl, pdfUrl });
4879
- } })) : null);
4978
+ } })) : null;
4880
4979
  const EmbeddableCellData = {
4881
4980
  Buttons: renderButtonsCellData,
4882
4981
  Img: renderImgCellData,
4883
4982
  List: renderListCellData,
4884
4983
  LabelDescription: renderLabelDescriptionCellData,
4885
- Table: renderTableCellData,
4984
+ Table: renderInnerTableCellData,
4886
4985
  };
4887
4986
 
4888
4987
  const renderCellInner = ({ rowIdx, cellIdx, setTableInner, tableInner, openTableInnerIdx, setOpenTableInnerIdx, }) => (cell, i) => {
@@ -4897,16 +4996,16 @@
4897
4996
  setOpenTableInnerIdx(cellIdx);
4898
4997
  setTableInner(props);
4899
4998
  };
4900
- return (jsxs("div", { className: cell?.tableCellType === 'Table' ? 'ml-5xl' : `first:pt-lg last:pb-lg pl-5xl`, children: [i > 0 ? jsx("div", { className: "h-5" }) : null, renderCell({
4901
- cell,
4902
- cellProps: {
4903
- rowIdx,
4904
- cellIdx,
4905
- fieldIdx: i,
4906
- displayTable,
4907
- isVisible,
4908
- },
4909
- })] }, String(i)));
4999
+ return (jsx("div", { children: renderCell({
5000
+ cell,
5001
+ cellProps: {
5002
+ rowIdx,
5003
+ cellIdx,
5004
+ fieldIdx: i,
5005
+ displayTable,
5006
+ isVisible,
5007
+ },
5008
+ }) }, String(i)));
4910
5009
  };
4911
5010
  const renderCell = ({ cell, cellProps }) => {
4912
5011
  if (!cell) {
@@ -4921,7 +5020,7 @@
4921
5020
  };
4922
5021
 
4923
5022
  const TariffsTableCell = JSX(({ cells, rowIdx, cellIdx, setTableInner, tableInner, openTableInnerIdx, setOpenTableInnerIdx, }) => {
4924
- return (jsx("div", { className: "w-80 flex-grow flex flex-col border-solid border-main-divider border border-t-0 border-x-0", role: "cell", children: cells?.length
5023
+ return (jsx("div", { className: "w-80 flex-grow flex flex-col gap-m @4xl:gap-lg", role: "cell", children: cells?.length
4925
5024
  ? cells.map(renderCellInner({
4926
5025
  rowIdx,
4927
5026
  cellIdx,
@@ -4934,6 +5033,20 @@
4934
5033
  });
4935
5034
 
4936
5035
  const COLUMN_WIDTH = 140;
5036
+ const getHorizontalShift = (columns, activeColumnIndex) => sum(columns.slice(0, activeColumnIndex).map((_) => _?.cols?.length ?? 1)) * COLUMN_WIDTH;
5037
+
5038
+ const renderInnerTableRow = (activeColumnIndex) => (rowData, rowIdx) => {
5039
+ if (!rowData?.length) {
5040
+ return null;
5041
+ }
5042
+ const [headerColumn, ...columns] = rowData;
5043
+ const columnsStyle = style('flex duration-1000 text-center', rowIdx !== 0 ? 'font-normal' : 'font-light');
5044
+ return (jsxs("div", { className: "flex border-main-divider border-b border-solid h-full", children: [headerColumn?.data ? (jsx("div", { className: "text-xl font-light min-w-56 py-lg", children: headerColumn.data })) : null, jsx("div", { className: "flex flex-grow overflow-hidden", children: jsx("div", { className: columnsStyle, style: {
5045
+ transform: `translateX(-${getHorizontalShift(columns, activeColumnIndex)}px)`,
5046
+ }, children: columns?.map((_, i) => (jsxs("div", { className: "flex flex-col flex-grow gap-s justify-center py-xl odd:bg-main-divider", children: [_?.data ? jsx("div", { className: "text-xl font-light", children: _.data }) : null, _?.cols ? renderCols(_.cols, activeColumnIndex) : null] }, `row${i}`))) }) })] }, String(rowIdx)));
5047
+ };
5048
+ const renderCols = (cols, rowIndex) => cols?.length > 0 ? (jsx("div", { className: style('flex', rowIndex === 0 ? 'text-secondary-text' : ''), children: cols.map((data, i) => (jsx("div", { className: "w-20 text-h6 mx-lg", children: data }, String(i)))) })) : null;
5049
+
4937
5050
  const InnerTableBodyItem = JSX(({ rows }) => {
4938
5051
  const rowsLength = rows?.[0]?.length ?? 0;
4939
5052
  const CARD_VIEW_COUNT = 5;
@@ -4941,38 +5054,23 @@
4941
5054
  itemCount: rowsLength,
4942
5055
  visibleItemCount: CARD_VIEW_COUNT,
4943
5056
  });
4944
- return (jsxs("div", { children: [rows?.map(renderRow(activeIndex)), renderArrows({
5057
+ return (jsxs("div", { children: [rows?.map(renderInnerTableRow(activeIndex)), renderArrows({
4945
5058
  ...controls,
4946
5059
  btnClass: ['left-3 top-20', 'right-3 top-20'],
4947
5060
  className: '',
4948
5061
  })] }));
4949
5062
  });
4950
- const renderRow = (activeColumnIndex) => (rowData, rowIdx) => {
4951
- if (!rowData?.length) {
4952
- return null;
4953
- }
4954
- const [headerColumn, ...columns] = rowData;
4955
- const transform = [...Array(activeColumnIndex).keys()].reduce((res, i) => (columns?.[i]?.cols?.length ?? 1) * COLUMN_WIDTH + res, 0);
4956
- const columnsClassName = [
4957
- 'flex duration-1000 text-center',
4958
- rowIdx !== 0 ? 'font-normal' : 'font-light',
4959
- ].join(' ');
4960
- return (jsxs("div", { className: "flex border-main-divider border border-t-0 border-x-0 border-solid", children: [headerColumn?.data ? (jsx("div", { className: `text-xl font-light w-52 py-lg `, children: headerColumn.data })) : null, jsx("div", { className: "flex flex-grow overflow-hidden", children: jsx("div", { className: columnsClassName, style: {
4961
- transform: `translateX(-${transform}px)`,
4962
- }, children: columns?.map((_, i) => (jsxs("div", { className: "flex flex-col flex-grow gap-s justify-center py-xl odd:bg-main-divider", children: [_?.data ? jsx("div", { className: "text-xl font-light", children: _.data }) : null, _?.cols ? renderCols(_.cols, activeColumnIndex) : null] }, `row${i}`))) }) })] }, String(rowIdx)));
4963
- };
4964
- const renderCols = (cols, rowIndex) => cols?.length > 0 ? (jsx("div", { className: style('flex', rowIndex === 0 ? 'text-secondary-text' : ''), children: cols.map((data, i) => (jsx("div", { className: `w-20 text-h6 mx-lg`, children: data }, String(i)))) })) : null;
4965
5063
 
4966
5064
  const InnerTableBody = JSX(({ activeTabIndex, items }) => {
4967
- const [hiddenTables, setHiddenTables] = useState({});
4968
- const toggleTables = useCallback((key) => setHiddenTables((oldState) => ({ ...oldState, [key]: !oldState[key] })), []);
4969
5065
  return (jsx("div", { children: items.map((_, tableIdx) => {
4970
5066
  const key = `activeTabIdx:${activeTabIndex}-tableIdx:${tableIdx}`;
4971
- return (jsxs("div", { className: "w-full", children: [jsxs("div", { className: "flex p-m bg-gray text-center justify-center cursor-pointer relative", onClick: () => toggleTables(key), children: [jsx(Text, { size: "text-xl", font: "font-light", children: _.title }), jsx(Img, { image: { icon: hiddenTables[key] ? 'PlusIcon' : 'MinusIcon' }, className: "absolute right-6", width: "24", height: "24" })] }), jsx("div", { className: `w-full pl-xs overflow-hidden transition-height duration-500 ease-in-out ${hiddenTables[key] ? 'h-0' : ''}`, children: jsx("div", { className: "relative", children: jsx(InnerTableBodyItem, { rows: _.rowsData }) }) })] }, key));
5067
+ return (jsxs("div", { className: "w-full @container", children: [jsx("div", { className: "flex p-m bg-white @4xl:bg-gray text-center justify-center relative", children: jsx(Text, { size: "text-xl", font: "font-light", children: _.title }) }), jsx("div", { className: "w-full pl-xs overflow-hidden transition-height duration-500 ease-in-out", children: jsx("div", { className: "relative", children: jsx(InnerTableBodyItem, { rows: _.rowsData }) }) })] }, key));
4972
5068
  }) }));
4973
5069
  });
4974
5070
 
4975
- const InnerTableHeader = JSX(({ currencies, linkToPDF, activeTabIndex, setActiveTabIndex }) => (jsxs("div", { className: "flex justify-between w-full px-s", children: [currencies && currencies.length > 1 ? (jsx("div", { className: "flex bg-secondary-light p-2xs rounded-md", children: currencies.map((currency, idx) => (jsx("div", { className: `rounded-md text-xl font-light px-m py-s cursor-pointer ${idx === activeTabIndex ? 'bg-primary-main text-white' : 'text-secondary-text'}`, onClick: () => setActiveTabIndex(idx), children: currency || idx + 1 }, currency))) })) : null, linkToPDF ? (jsx(Button, { href: linkToPDF, version: "secondary", target: "_blank", appendLeft: jsx(Icon, { name: "DocDownloadIcon", iconVersion: "color", className: "mr-3xs", width: "20", height: "20" }), text: "\u0421\u043A\u0430\u0447\u0430\u0442\u044C \u0432 PDF" })) : null] })));
5071
+ const linkButtonVersion = 'secondary';
5072
+
5073
+ const InnerTableHeader = JSX(({ currencies, linkToPDF, activeTabIndex, setActiveTabIndex }) => (jsxs("div", { className: "flex justify-between items-center w-full py-lg", children: [currencies && currencies.length > 1 ? (jsx("div", { className: "flex bg-secondary-light p-2xs rounded-md", children: currencies.map((currency, idx) => (jsx("div", { className: `rounded-md text-xl font-light px-4 py-3 cursor-pointer ${idx === activeTabIndex ? 'bg-primary-main text-white' : 'text-secondary-text'}`, onClick: () => setActiveTabIndex(idx), children: currency || idx + 1 }, currency))) })) : null, linkToPDF ? (jsx(Button, { className: "text-primary-main", href: linkToPDF, version: linkButtonVersion, target: "_blank", appendLeft: jsx(Icon, { name: "DocDownloadIcon", iconVersion: "color", className: "mr-3xs", width: "20", height: "20" }), text: "\u0421\u043A\u0430\u0447\u0430\u0442\u044C \u0432 PDF" })) : null] })));
4976
5074
 
4977
5075
  function useTariffsInnerTableData(directoryName) {
4978
5076
  const { data } = useAsyncData(tariffsInnerTableDataUrl(directoryName), fetchTariffsInnerTableData);
@@ -4993,10 +5091,10 @@
4993
5091
  const handleActiveTabIndex = useCallback((_) => setActiveTabIndex(_), []);
4994
5092
  const items = tableData?.[activeTabIndex]?.items ?? [];
4995
5093
  const currencies = tableData?.map((item) => item.currency ?? '');
4996
- return tableData ? (jsxs("div", { className: "bg-white z-10", children: [jsx(InnerTableHeader, { currencies: currencies, activeTabIndex: activeTabIndex, setActiveTabIndex: handleActiveTabIndex, linkToPDF: pdfUrl }), jsx(InnerTableBody, { activeTabIndex: activeTabIndex, items: items }), jsx(TableInnerButton, { onClick: onClick, isOpen: true })] })) : (jsxs("div", { className: "my-lg text-h6 text-center", children: [jsx("p", { children: EMPTY_DATA }), jsx(TableInnerButton, { onClick: onClick, isOpen: true })] }));
5094
+ return tableData ? (jsxs("div", { className: "bg-white z-10", children: [jsx(InnerTableHeader, { currencies: currencies, activeTabIndex: activeTabIndex, setActiveTabIndex: handleActiveTabIndex, linkToPDF: pdfUrl }), jsx(InnerTableBody, { activeTabIndex: activeTabIndex, items: items }), jsx(TableInnerButton, { className: "mt-xl", onClick: onClick, isOpen: true })] })) : (jsxs("div", { className: "my-lg space-y-m text-h6 text-center", children: [jsx("p", { children: EMPTY_DATA }), jsx(TableInnerButton, { onClick: onClick, isOpen: true })] }));
4997
5095
  });
4998
5096
 
4999
- const TariffsTableRowContainer = JSX(({ children, tableInner, onHideContentClick }) => (jsxs("div", { className: "self-start flex flex-col", role: "row", children: [jsx("div", { className: "flex", children: children }), tableInner ? (jsx("div", { className: "origin-top animate-expansion", children: jsx(InnerTable, { ...tableInner, onClick: onHideContentClick }) })) : null] })));
5097
+ const TariffsTableRowContainer = JSX(({ children, tableInner, onHideContentClick }) => (jsxs("div", { className: "self-start flex flex-col", role: "row", children: [jsx("div", { className: style(dividerStyle, 'flex flex-col @4xl:flex-row gap-y-xs gap-x-5xl pb-lg @4xl:pt-lg'), children: children }), tableInner ? (jsx("div", { className: "origin-top animate-expansion", children: jsx(InnerTable, { ...tableInner, onClick: onHideContentClick }) })) : null] })));
5000
5098
 
5001
5099
  const TariffsTableRow = JSX(({ row: { header, data }, activeIndex, rowIdx, ...rest }) => {
5002
5100
  const [tableInner, setTableInner] = useState(undefined);
@@ -5004,9 +5102,20 @@
5004
5102
  const [openTableInnerIdx, setOpenTableInnerIdx] = useState(undefined);
5005
5103
  const handleOpenTableInnerIdx = useCallback((_) => setOpenTableInnerIdx(_), []);
5006
5104
  const onHideContentClick = () => setTableInner(undefined);
5007
- return (jsxs(TariffsTableRowContainer, { onHideContentClick: onHideContentClick, tableInner: tableInner, ...rest, children: [jsx("div", { className: `text-s py-lg ${FIRST_CELL_CLASSES} ${DIVIDER_CLASSES}`, children: jsxs("div", { className: "flex items-center text-primary-text", role: "cell", children: [header?.icon ? (jsx(Img, { className: "mr-m max-w-6", image: header.icon, width: "24", height: "24" })) : null, header?.title ? jsx("div", { className: "text-m font-light", children: header?.title }) : null] }) }), data?.length ? (jsx(TableCarouselContainer, { activeIndex: activeIndex, columnWidth: COLUMN_WIDTH$1, version: "tariff", children: data.map((cells, i) => (jsx(TariffsTableCell, { cells: cells, rowIdx: rowIdx, cellIdx: i, setTableInner: handleSetTableInner, tableInner: tableInner, openTableInnerIdx: openTableInnerIdx, setOpenTableInnerIdx: handleOpenTableInnerIdx, ...rest }, String(i)))) })) : null] }));
5105
+ return (jsxs(TariffsTableRowContainer, { onHideContentClick: onHideContentClick, tableInner: tableInner, ...rest, children: [jsx("div", { className: style('text-s', firstCellStyle), children: jsxs("div", { className: "flex gap-m items-center text-primary-text", role: "cell", children: [header?.icon ? (jsx(Img, { className: "hidden @4xl:block max-w-6", image: header.icon, width: "24", height: "24" })) : null, header?.title ? jsx("div", { className: "text-m font-light", children: header?.title }) : null] }) }), data?.length ? (jsx(TableCarouselContainer, { activeIndex: activeIndex, columnWidth: COLUMN_WIDTH$1, version: "tariff", children: data.map((cells, i) => (jsx(TariffsTableCell, { cells: cells, rowIdx: rowIdx, cellIdx: i, setTableInner: handleSetTableInner, tableInner: tableInner, openTableInnerIdx: openTableInnerIdx, setOpenTableInnerIdx: handleOpenTableInnerIdx, ...rest }, String(i)))) })) : null] }));
5106
+ });
5107
+
5108
+ const TariffsTableWrapper = JSX(({ children, controls }) => {
5109
+ const { isScrollAvailable } = controls;
5110
+ return (jsxs("div", { role: "table", children: [jsxs("div", { className: "relative space-y-xs", children: [children, renderArrows({
5111
+ ...controls,
5112
+ btnClass: ['top-28', 'top-11'],
5113
+ className: 'right-7',
5114
+ })] }), isScrollAvailable ? (jsx("div", { className: "absolute top-0 right-0 bottom-0 w-20 bg-opacity-to-white" })) : null] }));
5008
5115
  });
5009
5116
 
5117
+ const headlineAlign = 'text-center';
5118
+
5010
5119
  const TariffsTable = JSX(({ className = '', title, description, rowHeaders, tariffsColumns: columns, hiddenRowsNum = 0, ...rest }) => {
5011
5120
  const colData = columns?.map(({ data }) => data) || [];
5012
5121
  const rowData = rowHeaders?.map((header, i) => ({
@@ -5020,15 +5129,7 @@
5020
5129
  });
5021
5130
  const rows = (rowData || []).map((row, i) => (jsx(TariffsTableRow, { row: row, activeIndex: activeIndex, rowIdx: i, ...rest }, String(i))));
5022
5131
  const [visibleRows, hiddenRows] = hiddenRowsNum > 0 ? [rows.slice(0, -hiddenRowsNum), rows.slice(-hiddenRowsNum)] : [rows, []];
5023
- return (jsxs(BlockWrapper, { className: style('overflow-hidden relative space-y-xl', className), defaultPadding: "p-6xl", ...rest, children: [jsx(Headline, { title: title, description: description, headlineVersion: "M", isEmbedded: true }), hiddenRowsNum > 0 ? (jsx(Foldable, { renderFoldableSection: ({ isUnfolded }) => (jsxs(Wrapper, { controls: controls, children: [visibleRows, jsx(FoldableSection, { isUnfolded: isUnfolded, children: hiddenRows })] })), renderFoldButton: renderDefaultFoldButton })) : (jsx(Wrapper, { controls: controls, children: rows }))] }));
5024
- });
5025
- const Wrapper = JSX(({ children, controls }) => {
5026
- const { isScrollAvailable } = controls;
5027
- return (jsxs("div", { role: "table", children: [jsxs("div", { className: "relative", children: [children, renderArrows({
5028
- ...controls,
5029
- btnClass: ['top-28', 'top-11'],
5030
- className: 'right-7',
5031
- })] }), isScrollAvailable ? (jsx("div", { className: "absolute top-0 right-0 bottom-0 w-20 bg-opacity-to-white" })) : null] }));
5132
+ return (jsxs(BlockWrapper, { className: style('overflow-hidden relative space-y-0 @4xl:space-y-xl', className), defaultPadding: "p-6xl", ...rest, children: [jsx(Headline, { title: title, description: description, headlineVersion: "M", isEmbedded: true, align: headlineAlign }), jsx("div", { className: "space-y-m", children: hiddenRowsNum > 0 ? (jsx(Foldable, { renderFoldableSection: ({ isUnfolded }) => (jsxs(TariffsTableWrapper, { controls: controls, children: [visibleRows, jsx(FoldableSection, { isUnfolded: isUnfolded, children: hiddenRows })] })), renderFoldButton: renderDefaultFoldButton })) : (jsx(TariffsTableWrapper, { controls: controls, children: rows })) })] }));
5032
5133
  });
5033
5134
 
5034
5135
  const TextBlock = JSX(({ className = '', title, description, iconVersion, image, __html, items = [], ...rest }) => (jsxs(BlockWrapper, { className: style('flex gap-s sm:gap-m bg-white group-data-secondary:bg-primary-main/10', className), ...rest, children: [iconVersion === 'small' ? renderIcon() : null, iconVersion === 'big' ? renderImage(image) : null, jsxs("div", { className: "flex flex-col w-fit gap-2xs sm:gap-xs", children: [title ? (jsx(Text, { size: "text-l", font: "font-normal", color: "text-primary-text group-data-secondary:text-white", children: title })) : null, description ? renderDescription(description) : null, items?.length ? renderList(items, true) : null, __html ? jsx(RichText, { __html: __html }) : null] })] })));
@@ -5196,13 +5297,13 @@
5196
5297
  });
5197
5298
  const linkWrapperStyle = (href) => style('inline mx-2xs', href ? 'text-green-dark' : '');
5198
5299
 
5199
- function useList(initialList = []) {
5200
- const [list, setList] = useState(initialList);
5201
- const push = useCallback((item) => setList((_) => [..._, item]), []);
5202
- const pop = useCallback(() => setList((_) => _.slice(0, -1)), []);
5203
- const remove = useCallback((item) => setList((_) => _.filter((currentItem) => currentItem !== item)), []);
5204
- const clear = useCallback(() => setList([]), []);
5205
- return [list, { setList, push, pop, remove, clear }];
5300
+ function useList(initialList = []) {
5301
+ const [list, setList] = useState(initialList);
5302
+ const push = useCallback((item) => setList(_ => [..._, item]), []);
5303
+ const pop = useCallback(() => setList(_ => _.slice(0, -1)), []);
5304
+ const remove = useCallback((item) => setList(_ => _.filter(currentItem => currentItem !== item)), []);
5305
+ const clear = useCallback(() => setList([]), []);
5306
+ return [list, { setList, push, pop, remove, clear }];
5206
5307
  }
5207
5308
 
5208
5309
  function assertUnreachable(x) {
@@ -5250,17 +5351,12 @@
5250
5351
  }, []);
5251
5352
  const dialogs = useDialogsList({ onCloseAll: handleCloseAll, onClose: handleClose });
5252
5353
  const { close } = useDialogManager();
5253
- useEffect(() => {
5254
- const handleEscape = ({ key }) => {
5255
- if (key === 'Escape') {
5256
- close();
5257
- }
5258
- };
5259
- globalThis.document?.addEventListener('keydown', handleEscape);
5260
- return () => {
5261
- globalThis.document?.removeEventListener('keydown', handleEscape);
5262
- };
5263
- }, [close]);
5354
+ const escapeHandler = useCallback(({ key }) => {
5355
+ if (key === 'Escape') {
5356
+ close();
5357
+ }
5358
+ }, []);
5359
+ useEventListener(globalThis.document, 'keydown', escapeHandler);
5264
5360
  useEffect(() => {
5265
5361
  if (dialogs.length) {
5266
5362
  globalThis.document?.body.classList.add('no-scrollbar');
@@ -5274,6 +5370,37 @@
5274
5370
  return dialogs.length ? (jsx("div", { className: "fixed inset-0 z-50", role: "dialog", children: dialogs.map(({ dialog, id }, i) => (jsx("div", { className: style('absolute inset-0 overflow-x-hidden overflow-y-scroll no-scrollbar', i === dialogs.length - 1 ? '' : 'hidden'), children: dialog }, String(id || i)))) })) : null;
5275
5371
  });
5276
5372
 
5373
+ const PopupManager = JSX(() => {
5374
+ const [popup, setPopup] = useState(null);
5375
+ const close = useCallback(() => {
5376
+ setPopup(null);
5377
+ }, []);
5378
+ useEffect(() => defaultEventBus.subscribe('popup', (action) => {
5379
+ switch (action.type) {
5380
+ case 'open':
5381
+ case 'update':
5382
+ setPopup(action);
5383
+ break;
5384
+ case 'close':
5385
+ close();
5386
+ break;
5387
+ default:
5388
+ assertUnreachable(action);
5389
+ }
5390
+ }), []);
5391
+ const escapeHandler = useCallback(({ key }) => {
5392
+ if (key === 'Escape') {
5393
+ close();
5394
+ }
5395
+ }, [close]);
5396
+ useEventListener(globalThis.document, 'keydown', escapeHandler);
5397
+ return popup ? (jsx("div", { className: "absolute z-50", style: {
5398
+ left: `${popup.left}px`,
5399
+ top: `${popup.top}px`,
5400
+ ...(popup.width ? { width: `${popup.width}px` } : {}),
5401
+ }, role: "dialog", children: popup.popup })) : null;
5402
+ });
5403
+
5277
5404
  const api = LikeAPI();
5278
5405
  function useLikeService(pagePath) {
5279
5406
  const [likeCount, setLikeCount] = useState(0);
@@ -5325,7 +5452,7 @@
5325
5452
  parent: data,
5326
5453
  };
5327
5454
  useBlockRouterProvider();
5328
- return (jsxs("div", { "data-theme": colorPalette, children: [jsxs("section", { className: style('relative @container', pageStyle, className), children: [slots?.header ? (jsx("div", { className: "relative z-10 mb-lg shadow-[0_8px_32px_0px_#00000014]", children: renderBlocksList(slots?.header, { ...options, slotName: 'header' }) })) : null, jsxs("div", { className: "container space-y-px @lg:space-y-0 @lg:grid @lg:grid-cols-12 @lg:gap-2xs", children: [renderChildren({ block: data, options, extraProps: { className: 'scroll-mt-12' } }), renderBlocksList(slots?.footer, { ...options, slotName: 'footer' })] }), likeControl ? renderLikeControl() : null] }), jsx(StickyBottomMenu, {}), jsx(DialogManager, {}), jsx(CookiePopup, { termLink: { href: '/pd-policy#cookie', target: '_blank' }, personalDataPolicyLink: { href: '/pd-policy', target: '_blank' } })] }));
5455
+ return (jsxs("div", { "data-theme": colorPalette, children: [jsxs("section", { className: style('relative @container', pageStyle, className), children: [slots?.header ? (jsx("div", { className: "relative z-10 mb-lg shadow-[0_8px_32px_0px_#00000014]", children: renderBlocksList(slots?.header, { ...options, slotName: 'header' }) })) : null, jsxs("div", { className: "container space-y-px @lg:space-y-0 @lg:grid @lg:grid-cols-12 @lg:gap-2xs", children: [renderChildren({ block: data, options, extraProps: { className: 'scroll-mt-12' } }), renderBlocksList(slots?.footer, { ...options, slotName: 'footer' })] }), likeControl ? renderLikeControl() : null] }), jsx(StickyBottomMenu, {}), jsx(DialogManager, {}), jsx(PopupManager, {}), jsx(CookiePopup, { termLink: { href: '/pd-policy#cookie', target: '_blank' }, personalDataPolicyLink: { href: '/pd-policy', target: '_blank' } })] }));
5329
5456
  });
5330
5457
  ContentPage.childrenTypes = [];
5331
5458
  ContentPage.slots = () => ['header', 'footer', 'StickyBottomMenu'];
@@ -5333,7 +5460,7 @@
5333
5460
  return (jsx("div", { className: "flex items-end absolute bottom-0 right-0 h-full pointer-events-none", children: jsx(LikeControl, { className: "rounded-tl-3xl sticky bottom-0 pointer-events-auto" }) }));
5334
5461
  }
5335
5462
 
5336
- const packageVersion = "0.13.24";
5463
+ const packageVersion = "0.14.0";
5337
5464
 
5338
5465
  exports.Blocks = Blocks;
5339
5466
  exports.ContentPage = ContentPage;