@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.UniMobileBlocks = {}));
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() {
@@ -435,65 +435,69 @@
435
435
 
436
436
  const isFilled = (_) => _ !== null && _ !== undefined;
437
437
 
438
- const defaultCache = new Map();
439
- const applyCache = (fetcher, cache = defaultCache) => (key) => {
440
- const cachedData = cache.get(key);
441
- if (isFilled(cachedData)) {
442
- return cachedData;
443
- }
444
- const data = fetcher(key);
445
- if (isFilled(data)) {
446
- cache.set(key, Promise.resolve(data));
447
- }
448
- else {
449
- cache.delete(key);
450
- }
451
- return data;
452
- };
453
-
454
- const isSimpleKey = (args) => Boolean(args && Array.isArray(args) && args.length === 1 && typeof args[0] === 'string');
455
- function useAsyncData(key, fetcher, { fallback, cache } = {}) {
456
- const args = useMemo(() => keyToArgs(key), [key]);
457
- const [simpleKey] = isSimpleKey(args) ? args : [];
458
- const [data, setData] = useState(undefined);
459
- const [error, setError] = useState(undefined);
460
- useEffect(() => {
461
- const isEmptyKey = !args.some(isFilled);
462
- if (isEmptyKey) {
463
- return;
464
- }
465
- (async () => {
466
- try {
467
- const newData = await (simpleKey
468
- ? applyCache(fetcher, cache)(simpleKey)
469
- : fetcher(...args));
470
- setData(newData);
471
- setError(undefined);
472
- }
473
- catch (err) {
474
- setData(undefined);
475
- setError(err);
476
- }
477
- })();
478
- }, [fetcher, cache, args]);
479
- const fallbackData = fallback && simpleKey && fallback[simpleKey];
480
- return {
481
- data: !data && fallbackData ? fallbackData : data,
482
- error,
483
- mutate: () => Promise.resolve(undefined),
484
- isValidating: false
485
- };
486
- }
487
- function keyToArgs(key) {
488
- if (Array.isArray(key)) {
489
- return key;
490
- }
491
- else if (key instanceof Function) {
492
- return keyToArgs(key());
493
- }
494
- else {
495
- return [key];
496
- }
438
+ const defaultCache = new Map();
439
+ const applyCache = (fetcher, cache = defaultCache) => (key) => {
440
+ const cachedData = cache.get(key);
441
+ if (isFilled(cachedData)) {
442
+ return cachedData;
443
+ }
444
+ const data = fetcher(key);
445
+ if (isFilled(data)) {
446
+ cache.set(key, Promise.resolve(data));
447
+ }
448
+ else {
449
+ cache.delete(key);
450
+ }
451
+ return data;
452
+ };
453
+
454
+ const isSimpleKey = (args) => Boolean(args && Array.isArray(args) && args.length === 1 && typeof args[0] === 'string');
455
+ function useAsyncData(key, fetcher, { fallback, cache } = {}) {
456
+ const args = useMemo(() => keyToArgs(key), [key]);
457
+ const [simpleKey] = isSimpleKey(args) ? args : [];
458
+ const [data, setData] = useState(undefined);
459
+ const [error, setError] = useState(undefined);
460
+ useEffect(() => {
461
+ const isEmptyKey = !args.some(isFilled);
462
+ if (isEmptyKey) {
463
+ return;
464
+ }
465
+ let canceled = false;
466
+ const setResult = (newData, err) => {
467
+ if (!canceled) {
468
+ setData(newData);
469
+ setError(err);
470
+ }
471
+ };
472
+ (async () => {
473
+ try {
474
+ setResult(await (simpleKey ? applyCache(fetcher, cache)(simpleKey) : fetcher(...args)));
475
+ }
476
+ catch (err) {
477
+ setResult(undefined, err);
478
+ }
479
+ })();
480
+ return () => {
481
+ canceled = true;
482
+ };
483
+ }, [fetcher, cache, args]);
484
+ const fallbackData = fallback && simpleKey && fallback[simpleKey];
485
+ return {
486
+ data: !data && fallbackData ? fallbackData : data,
487
+ error,
488
+ mutate: () => Promise.resolve(undefined) // TODO Clean up cache
489
+ };
490
+ }
491
+ function keyToArgs(key) {
492
+ if (Array.isArray(key)) {
493
+ return key;
494
+ }
495
+ else if (key instanceof Function) {
496
+ return keyToArgs(key());
497
+ }
498
+ else {
499
+ return [key];
500
+ }
497
501
  }
498
502
 
499
503
  async function fetchJSON(url, options) {
@@ -739,7 +743,7 @@
739
743
  const innValidator = validator((_) => typeof _ === 'string' && (_.length === 10 || _.length === 12))(ERROR_MESSAGE);
740
744
  const phoneValidator = pattern(/^(\+7)?[\s-]?\(?[0-9]{3}\)?[\s-]?[0-9]{3}[\s-]?[0-9]{2}[\s-]?[0-9]{2}$/)(ERROR_MESSAGE);
741
745
 
742
- 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) })] })] }));
746
+ const renderAcquiringDataOrganization = (field) => (jsxs("div", { className: "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(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(PhoneInputControl, { className: "shrink-0 w-full", label: "\u0422\u0435\u043B\u0435\u0444\u043E\u043D", ...withValidator(field('phone'), phoneValidator) })] }));
743
747
 
744
748
  const ACQUIRING_TYPES = [
745
749
  {
@@ -759,33 +763,73 @@
759
763
  },
760
764
  ];
761
765
 
762
- function useBool(defaultValue = false) {
763
- const [value, setValue] = useState(defaultValue);
764
- const setTrue = useCallback(() => setValue(true), []);
765
- const setFalse = useCallback(() => setValue(false), []);
766
- const toggle = useCallback(() => setValue((_) => !_), []);
767
- return [value, { setValue, setTrue, setFalse, toggle }];
766
+ function useBool(defaultValue = false) {
767
+ const [value, setValue] = useState(defaultValue);
768
+ const setTrue = useCallback(() => setValue(true), []);
769
+ const setFalse = useCallback(() => setValue(false), []);
770
+ const toggle = useCallback(() => setValue(_ => !_), []);
771
+ return [value, { setValue, setTrue, setFalse, toggle }];
768
772
  }
769
773
 
770
- function useOutsideClick(onClick) {
771
- const targetRef = useRef(null);
772
- useEffect(() => {
773
- const handleClickOutside = (event) => {
774
- if (targetRef &&
775
- targetRef.current &&
776
- event.target instanceof Node &&
777
- !targetRef.current.contains(event.target)) {
778
- onClick();
779
- }
780
- };
781
- document.addEventListener('click', handleClickOutside);
782
- return () => {
783
- document.removeEventListener('click', handleClickOutside);
784
- };
785
- }, [onClick]);
786
- return targetRef;
774
+ const isOnlyDigits = (str) => str && !/\D/.test(str);
775
+
776
+ const svgUseStyleMap = {
777
+ normal: '',
778
+ color: 'text-primary-main',
779
+ black: 'text-black',
780
+ white: 'text-black',
781
+ };
782
+ const Icon = JSX(({ className = '', imageClassName = '', name = '', alt = `Иконка ${name}`, title = alt, iconVersion = 'color', width, height, }) => {
783
+ const router = useRouter();
784
+ const href = adjustHref(router)(joinPath(projectSettings.CDN, '/icons', `${name}.svg`));
785
+ if (iconVersion !== 'normal') {
786
+ 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` })] }) }));
787
+ }
788
+ return (jsx("img", { className: className, src: href, alt: alt, title: title, "aria-hidden": "true", width: width, height: height, style: getInlineStyle(className, height) }));
789
+ });
790
+ const getInlineStyle = (className, height) => {
791
+ if (className?.includes('h-')) {
792
+ return {};
793
+ }
794
+ return { height: isOnlyDigits(height) ? `${height}px` : height };
795
+ };
796
+ const getSvgSize = (width) => (width ? '' : 'w-full h-full');
797
+ const Background = JSX(({ className, children }) => className ? jsx("div", { className: className, children: children }) : children);
798
+
799
+ const formatOption = (_) => _?.text || _?.key || '';
800
+
801
+ function useEventListener(target, type, listener, options) {
802
+ useEffect(() => {
803
+ if (!target || !listener) {
804
+ return;
805
+ }
806
+ target.addEventListener(type, listener, options);
807
+ return () => {
808
+ target.removeEventListener(type, listener, options);
809
+ };
810
+ }, [target, type, listener]);
811
+ }
812
+
813
+ function useOutsideClick(onClick) {
814
+ const targetRef = useRef(null);
815
+ const handleClickOutside = useCallback((event) => {
816
+ if (targetRef && targetRef.current && event.target instanceof Node && !targetRef.current.contains(event.target)) {
817
+ onClick();
818
+ }
819
+ }, [onClick]);
820
+ useEventListener(globalThis.document, 'click', handleClickOutside);
821
+ return targetRef;
787
822
  }
788
823
 
824
+ const usePopupManager = () => ({
825
+ open: (popup, options) => defaultEventBus.fire('popup', { type: 'open', popup, ...options }),
826
+ update: (popup, options) => defaultEventBus.fire('popup', { type: 'update', popup, ...options }),
827
+ close: () => defaultEventBus.fire('popup', { type: 'close' }),
828
+ });
829
+
830
+ const compareBy = (indexOf) => (a, b) => indexOf(a) - indexOf(b);
831
+ const desc = (cmp) => (a, b) => -cmp(a, b);
832
+
789
833
  const JARO_WINKLER_P = 0.1;
790
834
  const JARO_WINKLER_MAX_L = 4;
791
835
  const jaroWinklerDistance = (s1) => (s2) => {
@@ -850,62 +894,76 @@
850
894
  return prefixL;
851
895
  }
852
896
 
853
- const isOnlyDigits = (str) => str && !/\D/.test(str);
897
+ function zip(firstCol, ...restCols) {
898
+ return firstCol.map((firstEl, rowIndex) => [firstEl, ...restCols.map((col) => col[rowIndex])]);
899
+ }
854
900
 
855
- const svgUseStyleMap = {
856
- normal: '',
857
- color: 'text-primary-main',
858
- black: 'text-black',
859
- white: 'text-black',
860
- };
861
- const Icon = JSX(({ className = '', imageClassName = '', name = '', alt = `Иконка ${name}`, title = alt, iconVersion = 'color', width, height, }) => {
862
- const router = useRouter();
863
- const href = adjustHref(router)(joinPath(projectSettings.CDN, '/icons', `${name}.svg`));
864
- if (iconVersion !== 'normal') {
865
- 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` })] }) }));
866
- }
867
- return (jsx("img", { className: className, src: href, alt: alt, title: title, "aria-hidden": "true", width: width, height: height, style: getInlineStyle(className, height) }));
868
- });
869
- const getInlineStyle = (className, height) => {
870
- if (className?.includes('h-')) {
871
- return {};
901
+ const filterOptions = (options, query) => {
902
+ if (!options?.length || !query?.trim()) {
903
+ return options;
872
904
  }
873
- return { height: isOnlyDigits(height) ? `${height}px` : height };
905
+ const ranking = options
906
+ .map((_) => _.text?.toLowerCase())
907
+ .map(jaroWinklerDistance(query?.trim().toLowerCase()));
908
+ return zip(options, ranking)
909
+ .filter(([, rank]) => rank >= 0.5)
910
+ .sort(desc(compareBy(([, rank]) => rank)))
911
+ .map(([option]) => option);
874
912
  };
875
- const getSvgSize = (width) => (width ? '' : 'w-full h-full');
876
- const Background = JSX(({ className, children }) => className ? jsx("div", { className: className, children: children }) : children);
877
913
 
878
- const Select = JSX(({ className = '', label, options = [], value, valid = true, isBorder = true, placeholder = '', onChange, isSearch = false, }) => {
879
- const [isOpen, { setFalse: close, toggle }] = useBool();
880
- const [searchValue, setSearchValue] = useState('');
881
- const reset = useCallback(() => {
882
- close();
883
- setSearchValue('');
884
- }, []);
885
- const wrapperRef = useOutsideClick(reset);
914
+ 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);
915
+
916
+ function useSelectPopup({ isOpen, options, value, query, onChange, onClose, }) {
917
+ const popup = usePopupManager();
918
+ const close = useCallback(() => {
919
+ popup.close();
920
+ onClose && onClose();
921
+ }, [onClose]);
886
922
  const handleChange = useCallback((option) => {
887
- reset();
923
+ close();
888
924
  onChange && onChange(option);
889
- }, [onChange]);
890
- const isSelected = (option) => option.key === value?.key;
891
- 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] })] }));
925
+ }, [close, onChange]);
926
+ const inputRef = useRef(null);
927
+ const popupRef = useOutsideClick(close);
928
+ useEffect(() => {
929
+ if (!isOpen || !inputRef.current) {
930
+ return;
931
+ }
932
+ const inputElement = inputRef.current;
933
+ const { top, left, width, height } = inputElement.getBoundingClientRect();
934
+ popup.update(jsx(SelectPopup, { popupRef: popupRef, options: options, value: value, query: query, onChange: handleChange }), {
935
+ top: top + window.scrollY + height,
936
+ left,
937
+ width,
938
+ });
939
+ }, [isOpen, options, value, query, handleChange]);
940
+ return inputRef;
941
+ }
942
+
943
+ const Select = JSX(({ className, label, options = [], value, valid = true, isBorder = true, placeholder = '', isSearch = false, onChange, }) => {
944
+ const [isOpen, { setFalse: close, setTrue: open }] = useBool();
945
+ const [query, setQuery] = useState('');
946
+ const handleClose = useCallback(() => {
947
+ setQuery('');
948
+ close();
949
+ }, []);
950
+ const inputRef = useSelectPopup({
951
+ isOpen,
952
+ options,
953
+ value,
954
+ query,
955
+ onChange,
956
+ onClose: handleClose,
957
+ });
958
+ 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$2(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] })] }));
892
959
  });
893
960
  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;
894
- const getFilteredOptions = (options, searchValue) => {
895
- return searchValue
896
- ? options.filter((_) => jaroWinklerDistance(_.text?.toLowerCase())(searchValue.toLowerCase()) >= 0.6)
897
- : options;
898
- };
899
- 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;
900
- const renderOption = (handleChange, isOpen, isSelected) => (option, i) => (jsxs("div", { onClick: () => {
901
- handleChange(option);
902
- }, 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)));
903
- const formatOption = (_) => _?.text || _?.key || '';
961
+ const renderIcon$2 = (isOpen) => (jsx(Icon, { className: style('absolute right-3', isOpen ? '' : 'rotate-180'), name: "ArrowUpIcon", width: "16", height: "16" }));
904
962
  const getBorderStyle = (isBorder, valid) => style(isBorder ? 'border rounded-md hover:border-primary-hover' : '', valid ? ' border-gray' : 'border-error');
905
963
 
906
964
  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 })] })));
907
965
 
908
- 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) }) })] }));
966
+ 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) }) })] }));
909
967
 
910
968
  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 })] })));
911
969
 
@@ -916,7 +974,7 @@
916
974
  className: 'text-white',
917
975
  version: button?.version,
918
976
  });
919
- return (jsx("button", { type: "submit", className: style('p-m w-full sm:w-auto', buttonStyle, className), children: button?.text ? button.text : 'Отправить заявку' }));
977
+ return (jsx("button", { type: "submit", className: style('p-m w-full @xl:w-auto', buttonStyle, className), children: button?.text ? button.text : 'Отправить заявку' }));
920
978
  };
921
979
 
922
980
  const initialFormState$4 = {
@@ -953,10 +1011,10 @@
953
1011
  }, [onSubmit]);
954
1012
  const [, { field, ...formProps }] = useForm(initialFormState$4, handleSubmit);
955
1013
  const regions = useGetRegions();
956
- 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 })] }));
1014
+ 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 })] }));
957
1015
  });
958
1016
 
959
- 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) })] })] }));
1017
+ 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) })] })] }));
960
1018
 
961
1019
  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) }));
962
1020
 
@@ -1010,7 +1068,7 @@
1010
1068
  const MAX_CREDIT_TERM = 180;
1011
1069
  const ITEMS_CREDIT_TERM = ['От 1 мес', 'До 15 лет'];
1012
1070
 
1013
- 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') })] })] }));
1071
+ const renderCreditDataOrganization = (field) => (jsx("div", { className: "pb-2xs border-b border-b-main-divider", children: jsxs("div", { className: "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: "\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(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: "\u0418\u041D\u041D", ...withValidator(field('inn'), innValidator) }), 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') })] }) }));
1014
1072
 
1015
1073
  const useNormalizedInput = (props, { normalize, format }) => {
1016
1074
  const { value, onFocus, onBlur, onChange } = props;
@@ -1074,9 +1132,9 @@
1074
1132
  const closestValue = (list) => (_) => list.reduce((prev, curr) => (Math.abs(curr - _) < Math.abs(prev - _) ? curr : prev));
1075
1133
  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)))) }));
1076
1134
 
1077
- 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') })] })] }));
1135
+ 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') })] })] }));
1078
1136
 
1079
- 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 = '' }) => ({
1137
+ 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 = '' }) => ({
1080
1138
  key: branchCode,
1081
1139
  text: address,
1082
1140
  })), ...withValidator(field('department'), defaultValidator) }) })] }));
@@ -1119,7 +1177,7 @@
1119
1177
  const [formState, { field, ...formProps }] = useForm(initialFormState$2, handleSubmit);
1120
1178
  const regions = useGetRegions();
1121
1179
  const branches = useBranches(formState.region?.key).filter((branch) => branch?.address);
1122
- 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 })] }));
1180
+ 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 })] }));
1123
1181
  });
1124
1182
 
1125
1183
  const initialFormState$1 = {
@@ -1142,7 +1200,7 @@
1142
1200
  });
1143
1201
  }, [onSubmit]);
1144
1202
  const [, { field, ...formProps }] = useForm(initialFormState$1, handleSubmit);
1145
- 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)] })] }));
1203
+ 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)] })] }));
1146
1204
  });
1147
1205
 
1148
1206
  const EMPTY_VALUE$1 = {};
@@ -1165,7 +1223,7 @@
1165
1223
  version: button?.version,
1166
1224
  });
1167
1225
  const regionHref = regions?.find((_) => _.name === region.key)?.href;
1168
- 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] }));
1226
+ 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] }));
1169
1227
  });
1170
1228
 
1171
1229
  const sourcesComparator = (a, b) => a?.media && b?.media ? a.media - b.media : 0;
@@ -1196,70 +1254,73 @@
1196
1254
 
1197
1255
  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" })] })] }));
1198
1256
 
1199
- const SVG = JSX(({ className, viewBox, fill = 'none', width, height, paths, ...commonOptions }) => {
1200
- 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))) }));
1201
- });
1202
-
1203
- const CHECK_PATHS = [
1204
- {
1205
- 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',
1206
- fillRule: 'evenodd',
1207
- clipRule: 'evenodd',
1208
- fill: 'white',
1209
- },
1210
- ];
1211
- const Checkbox = JSX(({ className, value, text, disabled, isRadio, onChange }) => {
1212
- const handleChange = useCallback((e) => {
1213
- if (disabled) {
1214
- return;
1215
- }
1216
- e.preventDefault();
1217
- onChange && onChange(!value);
1218
- }, [onChange, disabled, value]);
1219
- 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" }));
1220
- 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] }) }));
1221
- });
1222
- const checkboxStyle = (value) => style('rounded border', value ? 'bg-primary-main' : '');
1257
+ 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] }) })));
1223
1258
 
1224
1259
  const renderQuestionsInterested = (field) => {
1225
- const textField = field('text');
1226
- 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 || '')) })] }));
1260
+ const { value, onChange } = field('vedTypes');
1261
+ 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(_) })] }) }));
1227
1262
  };
1228
1263
 
1229
- 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) }) })] })] }));
1264
+ const renderWedDataOrganization = (field, regions) => {
1265
+ const isCurrencyControl = field('vedTypes').value === 'currencyControl';
1266
+ 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] })] }));
1267
+ };
1268
+
1269
+ const activeTextareaStyles = 'hover:border-primary-hover active:focus:border-primary-text focus:border-primary-text';
1270
+ const renderWedTextarea = (field) => {
1271
+ const textField = field('text');
1272
+ 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 || '')) })] }));
1273
+ };
1230
1274
 
1231
1275
  const initialFormState = {
1232
1276
  fullName: '',
1233
1277
  name: '',
1234
1278
  phone: '',
1235
- mail: '',
1236
- currencyControl: false,
1237
- documentaryOperations: false,
1238
- conversionOperations: false,
1279
+ inn: '',
1280
+ vedTypes: 'currencyControl',
1239
1281
  text: '',
1240
1282
  };
1241
- const webValidator = objectValidator({
1283
+ const defaultValidators = {
1242
1284
  fullName: defaultValidator,
1243
1285
  name: nameValidator,
1244
1286
  phone: phoneValidator,
1287
+ };
1288
+ const wedValidator = objectValidator({
1289
+ ...defaultValidators,
1245
1290
  mail: defaultValidator,
1246
1291
  });
1292
+ const wedValidatorCurrencyControl = objectValidator({
1293
+ ...defaultValidators,
1294
+ inn: innValidator,
1295
+ region: defaultValidator,
1296
+ });
1297
+ const isCurrencyControl = (vedTypes) => vedTypes === 'currencyControl';
1298
+ const getValidator = (vedTypes) => isCurrencyControl(vedTypes) ? wedValidatorCurrencyControl : wedValidator;
1299
+ const getVedTypes = (vedTypes) => ({
1300
+ currencyControl: vedTypes === 'currencyControl',
1301
+ documentOperations: vedTypes === 'documentOperations',
1302
+ conversionTransactions: vedTypes === 'conversionTransactions',
1303
+ otherIssues: vedTypes === 'otherIssues',
1304
+ });
1247
1305
  const ApplicationFormWed = JSX((props) => {
1248
1306
  const { button, link, onSubmit } = props;
1249
1307
  const handleSubmit = useCallback((formState) => {
1250
- const { fullName, name, phone, mail, currencyControl, documentaryOperations, conversionOperations, text, } = formState;
1251
- isValidationSuccess(webValidator(formState)) &&
1252
- onSubmit({
1253
- typeForm: 'kved',
1254
- fullName,
1255
- name,
1256
- phone,
1257
- mail,
1258
- partnerComments: `Валютный контроль=${currencyControl}/Документарные операции=${documentaryOperations}/Конверсионные операции=${conversionOperations}/Доп инф=${text}`,
1259
- });
1308
+ const { fullName, name, phone, mail, inn, region, vedTypes, text } = formState;
1309
+ const data = {
1310
+ typeForm: 'KVED',
1311
+ fullName,
1312
+ name,
1313
+ phone,
1314
+ text,
1315
+ vedTypes: getVedTypes(vedTypes),
1316
+ PartnerComments: text,
1317
+ ...(!isCurrencyControl(vedTypes) ? { mail } : { inn, region: region?.text || '' }),
1318
+ };
1319
+ isValidationSuccess(getValidator(vedTypes)(formState)) && onSubmit(data);
1260
1320
  }, [onSubmit]);
1261
1321
  const [, { field, ...formProps }] = useForm(initialFormState, handleSubmit);
1262
- 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()] }));
1322
+ const regions = useGetRegions();
1323
+ 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()] }));
1263
1324
  });
1264
1325
 
1265
1326
  const EmbeddableForms = {
@@ -1280,18 +1341,13 @@
1280
1341
  const API = CorporateLeadAPI();
1281
1342
  const ApplicationForm = JSX((props) => {
1282
1343
  const { className, formBlock, ...rest } = props;
1283
- // const type = formBlock?.formType;
1284
- // if (!type || !(type in EmbeddableForms)) {
1285
- // return null;
1286
- // }
1287
- // const EmbeddedForm = EmbeddableForms[type];
1288
1344
  const [responseType, setResponseType] = useState('');
1289
1345
  const handleSubmit = useCallback(async (data) => {
1290
1346
  const status = (await API.send(data)) ? 'OK' : 'Fail';
1291
1347
  setResponseType(status);
1292
1348
  return status;
1293
1349
  }, []);
1294
- 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] }) }));
1350
+ 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] }) }));
1295
1351
  });
1296
1352
  const renderEmbeddedForm = (formBlock, handleSubmit) => {
1297
1353
  const type = formBlock?.formType;
@@ -1344,10 +1400,7 @@
1344
1400
  const iconVersionDefault = version === 'secondary' ? 'color' : 'white';
1345
1401
  return icon?.iconVersion ? icon?.iconVersion : iconVersionDefault;
1346
1402
  };
1347
- const renderButtonIcon = (icon) => {
1348
- console.log(icon);
1349
- return icon?.icon || icon?.src ? (jsx(Img, { image: icon, width: String(icon?.size?.width || DEFAULT_ICON_W), height: String(DEFAULT_ICON_W) })) : null;
1350
- };
1403
+ 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;
1351
1404
 
1352
1405
  const headlineVersionStyles = {
1353
1406
  XXL: {
@@ -1405,8 +1458,10 @@
1405
1458
  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] }));
1406
1459
  });
1407
1460
 
1408
- 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
1409
- ? 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
1461
+ const AlignStyles = 'text-left';
1462
+
1463
+ 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
1464
+ ? 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
1410
1465
  ? renderBonusItemContent(_.bonusItemContent)
1411
1466
  : null] })] }, String(i))))
1412
1467
  : null })] }) })));
@@ -1415,7 +1470,7 @@
1415
1470
  : renderBonusImage(bonusItemContent);
1416
1471
  const renderBonusCount = (_) => (jsxs("div", { className: "w-full pt-default mt-s flex justify-center sm:justify-end items-end", children: [_.bonusCount ? (
1417
1472
  // -mb-10 добавлен для выравнивания bonusCount относительно bonusName, тк шрифт font-mohave неправильно высчитывает line-height
1418
- 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] }));
1473
+ 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] }));
1419
1474
  const renderBonusImage = (_) => _.image ? jsx(Img, { className: "min-w-12 p-xs rounded-icon shrink-0", image: _.image }) : null;
1420
1475
 
1421
1476
  const mapChildren = (mapper) => (children) => {
@@ -1599,15 +1654,13 @@
1599
1654
  return (jsxs("div", { className: style(className, listType === 'vertical-list' ? 'relative h-full' : ''), children: [jsx(SwipeListContainer, { containerRef: containerRef, activeIndex: activeIndex, visibleItemCount: 1, gap: gap, padding: padding, onVisibleIndicesChange: scroll.handleVisibleIndicesChange, listType: listType, minHeight: minHeight, children: children }), showDots ? (jsx(SwipeListControlDots, { containerRef: containerRef, activeIndex: activeIndex, dotCount: itemCount, listType: listType, version: version })) : null] }));
1600
1655
  });
1601
1656
 
1602
- const bonusBenefitAlign = 'text-left';
1603
-
1604
1657
  const bonusBenefitStyles = 'justify-between p-m h-full border border-gray';
1605
1658
 
1606
- 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)));
1659
+ 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)));
1607
1660
 
1608
1661
  const renderBonusBenefits = (bonusBenefits, _columnsCount, _cardTextAlign) => (jsx(SwipeListControl, { children: bonusBenefits.map((_, i) => renderBonusBenefit({ ..._ }, i)) }));
1609
1662
 
1610
- 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
1663
+ 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
1611
1664
  ? renderBonusBenefits(bonusBenefits)
1612
1665
  : null] })));
1613
1666
 
@@ -1657,11 +1710,11 @@
1657
1710
  const REFINANCING_EXTRA_MIN_SUM = 0;
1658
1711
  const REFINANCING_EXTRA_MAX_SUM = 500000;
1659
1712
  const DEPOSIT_DEFAULT_SUM = 20000;
1660
- const DEFAULT_MIN_MONTHS$1 = 13;
1713
+ const DEFAULT_MIN_MONTHS = 13;
1661
1714
  const DEFAULT_REFINANCING_MIN_MONTHS = 13;
1662
1715
  const DEFAULT_REFINANCING_MONTHS = 48;
1663
- const DEFAULT_MAX_MONTHS$1 = 60;
1664
- const DEFAULT_MONTHS = Math.round((DEFAULT_MAX_MONTHS$1 - DEFAULT_MIN_MONTHS$1) / 2);
1716
+ const DEFAULT_MAX_MONTHS = 60;
1717
+ const DEFAULT_MONTHS = Math.round((DEFAULT_MAX_MONTHS - DEFAULT_MIN_MONTHS) / 2);
1665
1718
  const BUSINESS_DEFAULT_SUM = 100000;
1666
1719
  const BUSINESS_MIN_DAYS = 1;
1667
1720
  const BUSINESS_MAX_DAYS = 1095;
@@ -1674,8 +1727,8 @@
1674
1727
  const DEFAULT_CREDIT_CALCULATOR_PARAMS = {
1675
1728
  minSum: DEFAULT_MIN_SUM$1,
1676
1729
  maxSum: DEFAULT_MAX_SUM$1,
1677
- minMonths: DEFAULT_MIN_MONTHS$1,
1678
- maxMonths: DEFAULT_MAX_MONTHS$1,
1730
+ minMonths: DEFAULT_MIN_MONTHS,
1731
+ maxMonths: DEFAULT_MAX_MONTHS,
1679
1732
  rate: 0,
1680
1733
  isSalaryClient: false,
1681
1734
  isPensionClient: false,
@@ -1690,7 +1743,7 @@
1690
1743
  minSumExtra: REFINANCING_EXTRA_MIN_SUM,
1691
1744
  maxSumExtra: REFINANCING_EXTRA_MAX_SUM,
1692
1745
  minMonths: DEFAULT_REFINANCING_MIN_MONTHS,
1693
- maxMonths: DEFAULT_MAX_MONTHS$1,
1746
+ maxMonths: DEFAULT_MAX_MONTHS,
1694
1747
  rate: 0,
1695
1748
  isExtraMoney: false,
1696
1749
  isSalaryClient: false,
@@ -1786,7 +1839,7 @@
1786
1839
  restExpenseValue: DEFAULT_REST_MIN_SUM,
1787
1840
  });
1788
1841
  const { minSumTravel, maxSumTravel, minSumOther, maxSumOther, monthBonus, yearBonus } = useBonusCalculatorParams(userInputParams, sourceBookDir);
1789
- 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({
1842
+ 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({
1790
1843
  title: 'Сумма покупок в категории путешествия, ₽',
1791
1844
  min: minSumTravel,
1792
1845
  max: maxSumTravel,
@@ -1803,6 +1856,31 @@
1803
1856
  })] }), 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)] })] }));
1804
1857
  });
1805
1858
 
1859
+ const SVG = JSX(({ className, viewBox, fill = 'none', width, height, paths, ...commonOptions }) => {
1860
+ 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))) }));
1861
+ });
1862
+
1863
+ const CHECK_PATHS = [
1864
+ {
1865
+ 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',
1866
+ fillRule: 'evenodd',
1867
+ clipRule: 'evenodd',
1868
+ fill: 'white',
1869
+ },
1870
+ ];
1871
+ const Checkbox = JSX(({ className, value, text, disabled, isRadio, onChange }) => {
1872
+ const handleChange = useCallback((e) => {
1873
+ if (disabled) {
1874
+ return;
1875
+ }
1876
+ e.preventDefault();
1877
+ onChange && onChange(!value);
1878
+ }, [onChange, disabled, value]);
1879
+ 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" }));
1880
+ 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] }) }));
1881
+ });
1882
+ const checkboxStyle = (value) => style('rounded border', value ? 'bg-primary-main' : '');
1883
+
1806
1884
  const STEP_DAYS = 1;
1807
1885
  const renderDaysInput = (props) => (jsx(InputRange, { items: [`От ${daysText(props.min || 0)}`, `До ${daysText(props.max || 0)}`], step: STEP_DAYS, ...props }));
1808
1886
  const daysText = (days) => `${days} ${Number(days) % 10 === 1 ? 'дня' : 'дней'}`;
@@ -1928,7 +2006,7 @@
1928
2006
  });
1929
2007
  const calculatorParams = useBusinessDepositCalculatorParams(userInputParams, sourceBookDir);
1930
2008
  const { income, finalSum, rate, isUnavailableByTerm, depositeName } = calculatorParams;
1931
- 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({
2009
+ 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({
1932
2010
  title: 'Сумма, ₽',
1933
2011
  min: calculatorParams.minSum,
1934
2012
  max: calculatorParams.maxSum,
@@ -2080,7 +2158,7 @@
2080
2158
  orientation: 'vertical',
2081
2159
  ...field('isAnnuity'),
2082
2160
  });
2083
- 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({
2161
+ 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({
2084
2162
  title: 'Сумма кредита, ₽',
2085
2163
  step: 500,
2086
2164
  min: calculatorParams.minSum,
@@ -2174,7 +2252,7 @@
2174
2252
  useEffect(() => {
2175
2253
  setMonthsValue && setMonthsValue(defaultMonth);
2176
2254
  }, [defaultMonth]);
2177
- 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({
2255
+ 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({
2178
2256
  title: 'Сумма, ₽',
2179
2257
  min: calculatorParams.minSum,
2180
2258
  max: calculatorParams.maxSum,
@@ -2288,7 +2366,7 @@
2288
2366
  moneyExtra: REFINANCING_OLD_DEFAULT_SUM,
2289
2367
  });
2290
2368
  const calculatorParams = useRefinancingCalculatorParams(userInputParams, sourceBookDir, paramsViewSettings);
2291
- 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({
2369
+ 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({
2292
2370
  title: 'Остаток долга в других банках, ₽ ',
2293
2371
  step: 500,
2294
2372
  min: calculatorParams.minSum,
@@ -2388,7 +2466,7 @@
2388
2466
  ? getDisabledButtonClasses({ version: button?.version })
2389
2467
  : getRegularButtonClasses({ className: 'text-white', version: button?.version });
2390
2468
  const link = useLink();
2391
- 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] })] }));
2469
+ 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] })] }));
2392
2470
  });
2393
2471
 
2394
2472
  const useCarouselControls = (props, initialIndex = 0) => {
@@ -2556,6 +2634,7 @@
2556
2634
  'CarouselRichTextCard',
2557
2635
  'CarouselInvestmentCard',
2558
2636
  'CarouselEventCard',
2637
+ 'ProductBlock',
2559
2638
  ];
2560
2639
  Carousel.childSchema = () => ({
2561
2640
  isHighlighting: {
@@ -2570,36 +2649,46 @@
2570
2649
 
2571
2650
  const layerBaseStyle = 'z-10 border border-solid w-full h-full';
2572
2651
  const layerStyle = style(layerBaseStyle, 'absolute hidden sm:block border-transparent');
2573
- 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], {
2652
+ 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], {
2574
2653
  className: 'mt-m sm:mt-6xl sm:justify-center',
2575
2654
  isVertical: true,
2576
2655
  })] })] }) })));
2577
2656
 
2657
+ const imageAlignmentMap = {
2658
+ start: '@lg:self-start',
2659
+ center: '@lg:self-center',
2660
+ end: '@lg:self-end',
2661
+ };
2662
+ 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, {
2663
+ className: isImageAlwaysOnRight ? '' : '-order-1 @xl:order-1',
2664
+ imageAlign,
2665
+ })] })] })));
2666
+ const renderImageContainer = (image, { className, imageAlign }) => image ? (jsx("div", { className: style('md:flex-shrink-0 self-center', imageAlign && imageAlignmentMap[imageAlign], className), children: image })) : null;
2667
+
2578
2668
  const cardStyleMap = {
2579
2669
  black: 'bg-black',
2580
2670
  white: 'bg-white',
2581
2671
  };
2582
- 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' })] })));
2672
+ 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] }) })));
2583
2673
  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)));
2584
2674
 
2585
- const LINK_CLASS_NAME = `absolute border border-primary-main px-xl py-lg
2586
- text-l font-light bg-white text-primary-text flex
2587
- justify-between items-center group-hover/link:text-primary-main z-10`;
2588
- const LINK_BORDER_CLASS_NAME = 'bg-transparent border-white border h-[70px] absolute w-80 top-0';
2675
+ const LINK_CLASS_NAME = `absolute border
2676
+ bg-white flex justify-between group-hover/link:text-primary-main`;
2677
+ const LINK_BORDER_CLASS_NAME = 'hidden xl:block absolute w-full h-full border border-white';
2589
2678
  const CarouselLinkButton = JSX(({ text, href = '', target = '', className = '' }) => {
2590
2679
  const link = useLink();
2591
2680
  const adjustedProps = link({ href, target });
2592
- 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;
2681
+ 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;
2593
2682
  });
2594
2683
 
2595
2684
  const MAX_LINKS_COUNT = 3;
2596
2685
 
2597
- 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] })));
2598
- const renderLinks = (links) => {
2686
+ 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] }) })));
2687
+ const renderLinks = (links, className = '') => {
2599
2688
  const itemCount = Math.ceil(links.length / MAX_LINKS_COUNT);
2600
- 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
2689
+ 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
2601
2690
  .slice(groupIndex * MAX_LINKS_COUNT, (groupIndex + 1) * MAX_LINKS_COUNT)
2602
- .map((link, index) => (jsx(CarouselLinkButton, { className: "sm:m-2xs", ...link }, String(index)))) }, String(groupIndex)))) }));
2691
+ .map((link, index) => (jsx(CarouselLinkButton, { ...link }, String(index)))) }, String(groupIndex)))) }));
2603
2692
  };
2604
2693
 
2605
2694
  const LinkWrapper = JSX(({ className = '', href, target, isRemote = false, children }) => {
@@ -2631,9 +2720,7 @@
2631
2720
  };
2632
2721
  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);
2633
2722
 
2634
- const alignTextStyle = 'text-left';
2635
-
2636
- 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 }) => {
2723
+ 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 }) => {
2637
2724
  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], {
2638
2725
  className: style('p-m pt-0', isButtonFullWidth ? '' : 'self-center'),
2639
2726
  isVertical: isButtonFullWidth,
@@ -2645,17 +2732,6 @@
2645
2732
  const renderAdditionalDescription = (additionalDescription) => additionalDescription ? (jsx(Text, { size: "text-m", font: "font-light", color: "text-secondary-text group-data-secondary:text-white/80", children: additionalDescription })) : null;
2646
2733
  const renderItems = (items, isDotted, version = 'primary') => items?.length ? (jsx(List, { className: style('text-s', version === 'primary' ? '!text-secondary-text' : ''), items: items.filter((item) => item?.text).map((item) => item.text), isDotted: isDotted, listItemSize: "S" })) : null;
2647
2734
 
2648
- const imageAlignmentMap = {
2649
- start: '@lg:self-start',
2650
- center: '@lg:self-center',
2651
- end: '@lg:self-end',
2652
- };
2653
- 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, {
2654
- className: isImageAlwaysOnRight ? '' : '-order-1 @xl:order-1',
2655
- imageAlign,
2656
- })] })] })));
2657
- const renderImageContainer = (image, { className, imageAlign }) => image ? (jsx("div", { className: style('md:flex-shrink-0 self-center', imageAlign && imageAlignmentMap[imageAlign], className), children: image })) : null;
2658
-
2659
2735
  const sum = (list = []) => list.reduce((a, b) => a + b, 0);
2660
2736
 
2661
2737
  const avg = (items = []) => (items?.length ? sum(items) / items.length : 0);
@@ -2765,7 +2841,7 @@
2765
2841
  const { href } = rest;
2766
2842
  const { iconMapped, label } = findIconByHref(href);
2767
2843
  const iconCustom = getFilteredIcon(icon) ?? iconMapped;
2768
- 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" }) }));
2844
+ 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" }) }));
2769
2845
  });
2770
2846
  const getFilteredIcon = (icon) => (icon?.src || icon?.icon ? icon : undefined);
2771
2847
 
@@ -2791,25 +2867,22 @@
2791
2867
  const renderIconBlock$1 = (icon) => (jsx("div", { className: "self-center", children: icon?.src || icon?.icon ? jsx(Img, { image: icon }) : null }));
2792
2868
  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" })] }));
2793
2869
 
2794
- const GRADIENT = 'bg-gradient-to-r from-main-gradient-start to-main-gradient-end';
2795
- const DIVIDER_CLASSES = 'border-main-divider border border-t-0 border-x-0';
2870
+ const gradientStyle = 'bg-gradient-to-r from-main-gradient-start to-main-gradient-end';
2871
+ const dividerStyle$1 = 'border-main-divider border-b';
2796
2872
 
2797
2873
  const headingStyle = (isFillGradient = false) => (isFillGradient ? 'text-white' : '');
2798
2874
  const subtitleStyle = (isFillGradient = false) => `text-s mb-m ${isFillGradient ? 'text-white' : 'text-secondary-text/80'}`;
2799
2875
  const HeaderCell = JSX(({ icon, image, title, subtitle, isFillGradient }) => (jsxs("div", { className: "space-y-4", role: "columnheader", children: [icon ? (jsx(Img, { className: "h-16 w-16 min-w-16 min-h-16", image: icon, width: "64", height: "64" })) : null, image?.src && (jsx("div", { children: jsx(Img, { image: image }) })), title ? (jsx(Heading, { headingType: "h4", className: headingStyle(isFillGradient), title: title })) : null, subtitle ? jsx("div", { className: subtitleStyle(isFillGradient), children: subtitle }) : null] })));
2800
2876
 
2801
- const TableCell = JSX(({ cell, rowHeader, isFillGradient = false }) => {
2802
- const cellWrapperClasses = `box-border flex flex-col`;
2803
- const cellClasses = `h-full ${DIVIDER_CLASSES}`;
2804
- return (jsx("div", { className: cellWrapperClasses, role: "cell", children: jsx("div", { className: cellClasses, children: cell.map(renderCellInner(isFillGradient, rowHeader)) }) }));
2805
- });
2806
- const renderCellInner = (isFillGradient, rowHeader) => ({ label, description }, i) => (jsxs("div", { className: "flex justify-between text-s py-s", children: [jsx("div", { className: `${isFillGradient ? 'text-white/80' : 'text-secondary-text'}`, children: rowHeader }), jsxs("div", { className: "basis-1/2", children: [label ? (jsx("div", { className: `text-right ${isFillGradient ? 'text-white' : ''}`, children: label })) : null, description ? (jsx("div", { className: `text-right ${isFillGradient ? 'text-white/80' : 'text-secondary-text'}`, children: description })) : null] })] }, String(i)));
2877
+ const cellWrapperStyle = `box-border flex flex-col`;
2878
+ const TableCell = JSX(({ cell, rowHeader, isFillGradient = false }) => (jsx("div", { className: cellWrapperStyle, role: "cell", children: jsx("div", { className: style('h-full', dividerStyle$1), children: cell.map(renderCellInner$1(isFillGradient, rowHeader)) }) })));
2879
+ const renderCellInner$1 = (isFillGradient, rowHeader) => ({ label, description }, i) => (jsxs("div", { className: "flex justify-between text-s py-s", children: [jsx("div", { className: `${isFillGradient ? 'text-white/80' : 'text-secondary-text'}`, children: rowHeader }), jsxs("div", { className: "basis-1/2", children: [label ? (jsx("div", { className: style('text-right', isFillGradient ? 'text-white' : ''), children: label })) : null, description ? (jsx("div", { className: style('text-right', isFillGradient ? 'text-white/80' : 'text-secondary-text'), children: description })) : null] })] }, String(i)));
2807
2880
 
2808
2881
  const TableColumn = JSX(({ header, columnData, visibleRowLength = 0, isFillGradient, showRow, onToggleColumn }) => {
2809
2882
  const columnDataView = columnData?.slice(0, showRow ? columnData.length : visibleRowLength);
2810
- const gradientClassName = isFillGradient ? GRADIENT : '';
2883
+ const gradientColumnStyle = isFillGradient ? gradientStyle : '';
2811
2884
  const buttonVersion = isFillGradient ? 'secondary' : 'primary';
2812
- return (jsxs("div", { className: `border border-gray rounded-md p-m mb-m ${gradientClassName}`, role: "row", children: [jsx(HeaderCell, { ...header, isFillGradient: isFillGradient }), columnDataView?.length
2885
+ return (jsxs("div", { className: style('border border-gray rounded-md p-m mb-m', gradientColumnStyle), role: "row", children: [jsx(HeaderCell, { ...header, isFillGradient: isFillGradient }), columnDataView?.length
2813
2886
  ? columnDataView.map(({ rowHeader, cell }, i) => (jsx(TableCell, { cell: cell, rowHeader: rowHeader, isFillGradient: isFillGradient }, String(i))))
2814
2887
  : null, showRow && header?.link ? (jsx(Button, { href: header.link.href, target: header.link.target, version: buttonVersion, className: "text-s font-medium mt-m py-s", children: header.link.text })) : null, renderToggleButton({ onToggleColumn, isFillGradient, showRow })] }));
2815
2888
  });
@@ -2836,11 +2909,11 @@
2836
2909
  return jsx(Img, { image: error.image });
2837
2910
  }
2838
2911
  if (error?.contentType === 'Code' && error.code) {
2839
- return jsx("div", { className: "font-mohave text-title-extra gradient-color-text", children: error.code });
2912
+ return (jsx("div", { className: "font-mohave text-title-large sm:text-title-extra gradient-color-text", children: error.code }));
2840
2913
  }
2841
2914
  return null;
2842
2915
  };
2843
- 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] })));
2916
+ 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] })));
2844
2917
 
2845
2918
  var Currency;
2846
2919
  (function (Currency) {
@@ -3027,25 +3100,35 @@
3027
3100
  return (jsx("li", { className: "list-none my-xs", children: jsx("a", { className: "hover:text-primary-main font-light", role: "link", ...linkProps, children: text ? text : null }) }, `list_item_${String(i)}`));
3028
3101
  };
3029
3102
 
3030
- const DefaultFoldButton = JSX(({ className = '', label, icon, dataTheme = '', disabled = false, onClick }) => {
3031
- return (jsxs("button", { className: style('flex justify-center w-full py-4 border border-transparent outline-none focus:border-primary-text', disabled
3032
- ? 'bg-main-divider text-main-disabled hover:bg-main-divider'
3033
- : '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: {
3034
- icon,
3035
- iconVersion: 'white',
3036
- }, className: "flex-shrink-0 my-auto", width: "20", height: "20" })) : null] }));
3103
+ const TextWithIcon = JSX(({ textNode, iconNode, tag, onClick, justifyContent = 'between', className, ...rest }) => {
3104
+ const Tag = tag;
3105
+ 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] }));
3037
3106
  });
3038
3107
 
3108
+ 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
3109
+ ? 'bg-main-divider text-main-disabled hover:bg-main-divider'
3110
+ : '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: {
3111
+ icon,
3112
+ iconVersion: 'white',
3113
+ }, className: "my-auto", width: "20", height: "20" })) : null })));
3114
+ const renderDefaultFoldButton = ({ isUnfolded, onToggle }) => {
3115
+ const labels = ['Развернуть', 'Скрыть'];
3116
+ const icons = ['ArrowDownIcon', 'ArrowUpIcon'];
3117
+ return (jsx(DefaultFoldButton, { icon: icons[Number(isUnfolded)], label: labels[Number(isUnfolded)], onClick: onToggle }));
3118
+ };
3119
+
3039
3120
  const foldableSectionStyles = 'flex flex-wrap group-last:last:pb-0';
3040
3121
 
3041
3122
  const getIconName = (isUnfolded) => isUnfolded ? 'ArrowUpSolidIcon' : 'ArrowDownSolidIcon';
3042
3123
 
3043
- const rollupIconVersion = 'black';
3044
-
3045
3124
  const rollupItemStyles = '';
3046
3125
 
3047
3126
  const renderRoundedIcon = (icon, iconBgVersion) => (jsx(RoundedIcon, { ...icon, iconBgVersion: iconBgVersion, className: "shrink-0" }));
3048
3127
 
3128
+ const rollupIconVersion = 'black';
3129
+
3130
+ const PrimaryFoldButton = JSX(({ label, labelIconBgVersion, icon, onToggle, labelIcon }) => (jsx(TextWithIcon, { tag: "button", className: style('border-none bg-transparent items-center group/button', labelIcon?.icon ? 'py-xs' : 'py-lg'), onClick: onToggle, textNode: jsxs("div", { className: "flex items-center text-start group-hover/button:text-primary-main gap-s", children: [renderRoundedIcon(labelIcon, labelIconBgVersion), label ? (jsx(Text, { size: "text-h6", font: "font-normal", children: label })) : null] }), iconNode: icon ? jsx(Icon, { name: icon, iconVersion: rollupIconVersion, width: "24", height: "24" }) : null })));
3131
+
3049
3132
  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({
3050
3133
  ...rest,
3051
3134
  extraProps: { className: 'w-full', padding: 'p-0' },
@@ -3062,16 +3145,8 @@
3062
3145
  };
3063
3146
  const renderFoldButton = ({ version, label: defaultLabel, labelIcon, labelIconBgVersion, isUnfolded, onToggle, }) => {
3064
3147
  const label = defaultLabel || (isUnfolded ? 'Скрыть' : 'Развернуть');
3065
- return version === 'primary' ? (renderPrimaryFoldButton({
3066
- label,
3067
- labelIcon,
3068
- labelIconBgVersion,
3069
- icon: getIconName(isUnfolded),
3070
- onToggle,
3071
- })) : (jsx(DefaultFoldButton, { label: label, icon: isUnfolded ? 'ArrowUpIcon' : 'ArrowDownIcon', onClick: onToggle }));
3072
- };
3073
- const renderPrimaryFoldButton = ({ label, labelIconBgVersion, icon, onToggle, labelIcon, }) => {
3074
- 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(labelIcon, labelIconBgVersion), label ? (jsx(Text, { size: "text-h6", font: "font-normal", children: label })) : null] }), icon ? jsx(Icon, { name: icon, iconVersion: rollupIconVersion, width: "24", height: "24" }) : null] }));
3148
+ const icon = getIconName(isUnfolded);
3149
+ 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 }));
3075
3150
  };
3076
3151
 
3077
3152
  const Contacts = JSX(({ className = '', items }) => (jsxs("div", { className: className, children: [items?.length ? items.map(renderContactsGroup) : null, jsx(Button, { version: "primary", className: "w-full", href: "https://www.rshb.ru/feedback/question/", target: "_blank", ariaLabel: "\u041E\u0431\u0440\u0430\u0442\u043D\u0430\u044F \u0441\u0432\u044F\u0437\u044C", text: "\u041E\u0431\u0440\u0430\u0442\u043D\u0430\u044F \u0441\u0432\u044F\u0437\u044C" })] })));
@@ -3097,7 +3172,7 @@
3097
3172
  return (jsx("a", { className: style(horizontalNavigationLinkStyles, className), href: href, target: target, onClick: onClick, children: text || `Документ ${index}` }));
3098
3173
  });
3099
3174
 
3100
- const HorizontalNavigation = JSX(({ title, links, className = '' }) => (jsxs("div", { className: className, children: [jsx(Text, { size: "text-l", font: "font-normal", children: title }), links?.length ? (jsx("div", { className: "flex flex-col gap-lg mt-lg", children: links.map((_, i) => (jsx(HorizontalNavigationLink, { className: "text-l font-light", index: i, ..._ }, String(i)))) })) : null] })));
3175
+ const HorizontalNavigation = JSX(({ title, links, className = '' }) => (jsxs("div", { className: className, children: [jsx(Text, { size: "text-l", font: "font-normal", children: title }), links?.length ? (jsx("div", { className: "flex flex-col gap-lg", children: links.map((_, i) => (jsx(HorizontalNavigationLink, { className: "text-l font-light", index: i, ..._ }, String(i)))) })) : null] })));
3101
3176
 
3102
3177
  const TextInformationLink = JSX(({ className = '', index, ...rest }) => {
3103
3178
  const link = useLink({ isRemote: true });
@@ -3111,7 +3186,7 @@
3111
3186
  const fallback = rest.options?.page?.fallback;
3112
3187
  const { topItems } = useSitemap(fallback);
3113
3188
  const { relatedEnterprises, contacts, socialMedia, mobileApps, horizontalNavigationTitle, documents, } = useSWRResource(projectSettings.FOOTER || 'footer', { fallback });
3114
- return (jsxs(BlockWrapper, { tag: "footer", className: className, ...rest, children: [jsx("div", { className: "mb-lg pb-xs border-b border-main-divider", children: topItems?.map((item, i) => (jsx(RollupItem, { label: item?.text, labelIcon: item?.icon, children: jsx(LinkList, { items: item.items }) }, String(i)))) }), jsx(Contacts, { className: "overflow-hidden", items: contacts }), jsxs("div", { className: "mt-xl", children: [jsx(SocialMedia, { className: "mb-xl", media: socialMedia, buttonSize: "stretched", children: "\u0421\u043E\u0446\u0441\u0435\u0442\u0438" }), jsx(Text, { size: "text-s", font: "font-light", color: "text-secondary-text", children: "\u041C\u043E\u0431\u0438\u043B\u044C\u043D\u043E\u0435 \u043F\u0440\u0438\u043B\u043E\u0436\u0435\u043D\u0438\u0435" }), jsx("div", { className: "mt-xs", children: mobileApps?.map(renderButton) })] }), jsx(HorizontalNavigation, { className: "py-lg border-y border-main-divider", title: horizontalNavigationTitle, links: relatedEnterprises }), jsx(TextInformation, { links: documents })] }));
3189
+ return (jsxs(BlockWrapper, { tag: "footer", className: className, defaultPadding: "p-4xl", ...rest, children: [jsx("div", { className: "mb-lg pb-xs border-b border-main-divider", children: topItems?.map((item, i) => (jsx(RollupItem, { label: item?.text, labelIcon: item?.icon, children: jsx(LinkList, { items: item.items }) }, String(i)))) }), jsx(Contacts, { className: "overflow-hidden", items: contacts }), jsxs("div", { className: "mt-xl", children: [jsx(SocialMedia, { className: "mb-xl", media: socialMedia, buttonSize: "stretched", children: "\u0421\u043E\u0446\u0441\u0435\u0442\u0438" }), jsx(Text, { size: "text-s", font: "font-light", color: "text-secondary-text", children: "\u041C\u043E\u0431\u0438\u043B\u044C\u043D\u043E\u0435 \u043F\u0440\u0438\u043B\u043E\u0436\u0435\u043D\u0438\u0435" }), jsx("div", { className: "mt-xs", children: mobileApps?.map(renderButton) })] }), jsx(HorizontalNavigation, { className: "py-lg border-y border-main-divider", title: horizontalNavigationTitle, links: relatedEnterprises }), jsx(TextInformation, { links: documents })] }));
3115
3190
  });
3116
3191
  const renderButton = ({ href = '/', text }, i) => {
3117
3192
  const { label } = findIconByHref(href);
@@ -3242,19 +3317,10 @@
3242
3317
  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)));
3243
3318
  };
3244
3319
 
3245
- /**
3246
- * @deprecated
3247
- */
3248
- const AlignText = {
3249
- left: 'text-left',
3250
- center: 'text-center',
3251
- right: 'text-right',
3252
- };
3253
-
3254
- const renderDescription$1 = (description) => description ? (jsx("div", { className: "mb-lg pt-3xs", children: jsx(Text, { size: "text-xl", "font-weight": "light", children: description }) })) : null;
3320
+ 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;
3255
3321
 
3256
- const renderList$1 = (items) => {
3257
- 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" }));
3322
+ const renderList$1 = (items, listItemSize) => {
3323
+ 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" }));
3258
3324
  };
3259
3325
 
3260
3326
  const buttonsConditionStyle = (buttons) => {
@@ -3265,9 +3331,9 @@
3265
3331
  });
3266
3332
  };
3267
3333
 
3268
- const MobileAppTile = JSX(({ className, padding, alignTitle = 'left', buttons = [], description, headingType = 'h4', image, items, qr, title = 'Мобильное приложение', version = 'primary', ...rest }) => {
3334
+ const MobileAppTile = JSX(({ className, padding, align = 'text-left', buttons = [], description, headingType = 'h4', image, items, listItemSize, qr, title = 'Мобильное приложение', version = 'primary', ...rest }) => {
3269
3335
  const containerStyle = version === 'secondary' ? 'p-m min-w-32' : 'min-w-24';
3270
- 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] })] }) }));
3336
+ 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] })] }) }));
3271
3337
  });
3272
3338
 
3273
3339
  const renderInsuranceSumMonth = (sum, monthLimit) => sum || monthLimit ? (jsxs("div", { className: "flex flex-wrap xl:flex-nowrap xl:bg-main-divider xl:rounded-md p-xs gap-xl", children: [Number(sum) > 0 ? renderValueBlock('Страховая сумма:', sum) : null, Number(monthLimit) > 0 ? renderValueBlock('Ежемесячный лимит:', monthLimit) : null] })) : null;
@@ -3530,8 +3596,7 @@
3530
3596
  const map = useRef(null);
3531
3597
  const yandexMaps = useYandexMaps();
3532
3598
  const [isFullScreen, setIsFullScreen] = useState();
3533
- const [pointsToRender, setPointsToRender] = useState(normalizePoints(mockPoints));
3534
- const pointsCenter = getCenterPoint(points);
3599
+ const pointsCenter = points ? getCenterPoint(points) : [55.753995, 37.614069];
3535
3600
  useEffect(() => {
3536
3601
  if (!map?.current) {
3537
3602
  yandexMaps?.ready(() => {
@@ -3541,16 +3606,16 @@
3541
3606
  controls: [],
3542
3607
  suppressMapOpenBlock: true,
3543
3608
  });
3544
- renderClusterer(yandexMaps, map.current, pointsToRender);
3609
+ renderClusterer(yandexMaps, map.current, points);
3545
3610
  });
3546
3611
  }
3547
- }, [yandexMaps, map, pointsToRender]);
3612
+ }, [yandexMaps, map, points]);
3548
3613
  useEffect(() => {
3549
- if (map.current && pointsToRender && yandexMaps) {
3550
- const newPoints = pointsToRender.length < 1 ? normalizePoints(mockPoints) : pointsToRender;
3614
+ if (map.current && points?.length && yandexMaps) {
3615
+ const newPoints = points.length < 1 ? normalizePoints(mockPoints) : points;
3551
3616
  renderClusterer(yandexMaps, map.current, newPoints);
3552
3617
  }
3553
- }, [map, pointsToRender, yandexMaps]);
3618
+ }, [map, points, yandexMaps]);
3554
3619
  if (!yandexMaps) {
3555
3620
  return null;
3556
3621
  }
@@ -3591,9 +3656,7 @@
3591
3656
  return (jsx(Select, { options: dataFormat, label: label, placeholder: placeholder || selected, onChange: (_) => setSelected(_.key), value: selectedObj }));
3592
3657
  });
3593
3658
 
3594
- 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" }) })] })));
3595
-
3596
- 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] }) })));
3659
+ 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" }) })] })));
3597
3660
 
3598
3661
  const RadioButtons = JSX(({ className = '' }) => {
3599
3662
  const [selectedOption, setSelectedOption] = useState('option2');
@@ -3607,11 +3670,11 @@
3607
3670
  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 })] })));
3608
3671
 
3609
3672
  const SafeBoxCases = JSX(({ caseVolumes = [], selectedCaseVolume, onSelectedCaseVolume, safeBoxCases = [], selectedBoxSize, onSelectedBoxSize, }) => {
3610
- 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" }) })] }));
3673
+ 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" }) })] }));
3611
3674
  });
3612
3675
 
3613
3676
  const SafeDepositRentalFields = JSX(({ regions, selectedRegion, branches, selectedBranch, days, selectedCaseVolume, selectedBoxSize, safeBoxCases, caseVolumes, onChange, onClick, }) => {
3614
- 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" })] })] }));
3677
+ 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" })] })] }));
3615
3678
  });
3616
3679
  const onSelectedBranch = (onChange) => (value) => {
3617
3680
  onChange({ selectedBranch: value, selectedCaseVolume: '', selectedBoxSize: '' });
@@ -3623,10 +3686,10 @@
3623
3686
  const SafeDepositRentalTotal = JSX(({ days, tariffs = [] }) => {
3624
3687
  const price = calculatePrice(days, tariffs);
3625
3688
  const imageDescription = 'На рисунке изображена пачка листов\nформата А4';
3626
- 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 })] })] }));
3689
+ 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 })] })] }));
3627
3690
  });
3628
3691
  const renderTotal = (label, total) => {
3629
- 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 })] }));
3692
+ 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 })] }));
3630
3693
  };
3631
3694
  const calculatePrice = (days, tariffs) => {
3632
3695
  const tariffType = getTariffType(days);
@@ -3673,7 +3736,7 @@
3673
3736
  const caseVolumes = getCaseVolumes(branch?.safeBoxCaseVolumes);
3674
3737
  const safeBoxCases = getCaseVolume(branch?.safeBoxCaseVolumes, data.selectedCaseVolume)?.safeBoxCases;
3675
3738
  const tariffs = getTariffs(safeBoxCases, data.selectedBoxSize);
3676
- 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 })] }));
3739
+ 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 })] }));
3677
3740
  });
3678
3741
  const getCaseVolumes = (safeBoxCaseVolumes) => safeBoxCaseVolumes?.length ? safeBoxCaseVolumes?.filter((_) => _?.safeBoxCases?.length) : [];
3679
3742
  const getCaseVolume = (caseVolumes, selectedCaseVolume) => caseVolumes?.find((_) => _.volume === selectedCaseVolume);
@@ -3843,6 +3906,11 @@
3843
3906
  return result;
3844
3907
  };
3845
3908
 
3909
+ const SearchBar$1 = JSX(({ className, searchTerm, onSearch }) => {
3910
+ 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
3911
+ 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" })] }));
3912
+ });
3913
+
3846
3914
  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;
3847
3915
  const ForeignOffice = JSX(({ icon, ...rest }) => {
3848
3916
  const link = useLink();
@@ -3856,11 +3924,6 @@
3856
3924
 
3857
3925
  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));
3858
3926
 
3859
- const SearchBar$1 = JSX(({ className, searchTerm, onSearch }) => {
3860
- 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
3861
- 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" })] }));
3862
- });
3863
-
3864
3927
  const SEARCH_TERM_MIN_LENGTH = 3;
3865
3928
  const LocationDialog = JSX(() => {
3866
3929
  const { defaultLocation, foreignOffices } = useSitemap();
@@ -3898,18 +3961,13 @@
3898
3961
  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 })] }));
3899
3962
  });
3900
3963
 
3901
- const useDebouncedEffect = (effect, deps, delay = 300) => useEffect(() => {
3902
- const timerId = setTimeout(effect, delay);
3903
- return () => {
3904
- clearTimeout(timerId);
3905
- };
3906
- }, deps);
3907
-
3908
- const compareBy = (indexOf) => (a, b) => indexOf(a) - indexOf(b);
3909
- const desc = (cmp) => (a, b) => -cmp(a, b);
3910
-
3911
- function zip(firstCol, ...restCols) {
3912
- return firstCol.map((firstEl, rowIndex) => [firstEl, ...restCols.map((col) => col[rowIndex])]);
3964
+ function useDebouncedEffect(effect, deps, delay = 300) {
3965
+ useEffect(() => {
3966
+ const timerId = globalThis.setTimeout(effect, delay);
3967
+ return () => {
3968
+ globalThis.clearTimeout(timerId);
3969
+ };
3970
+ }, deps);
3913
3971
  }
3914
3972
 
3915
3973
  const joinMaps = (aggregate, emptyVal) => (acc, map) => {
@@ -4104,16 +4162,16 @@
4104
4162
 
4105
4163
  const RenderMenuItems = JSX(({ menuItems, onClick }) => {
4106
4164
  const [activeIndex] = useActiveRoute(menuItems);
4107
- return (jsx(BlockWrapper, { className: "sticky bottom-0 left-0 right-0 bg-transparent z-[100]", padding: "p-0", children: jsx("div", { className: "ml-auto container bg-white flex justify-center shadow-blue-gray", children: menuItems.map((_, i) => (jsx(RenderItem, { isActive: i === activeIndex, item: _, onClick: onClick }, String(i)))) }) }));
4165
+ return (jsx(BlockWrapper, { className: "fixed bottom-0 left-0 right-0 my-0 mx-auto w-full bg-transparent z-[100]", padding: "p-0", children: jsx("div", { className: "ml-auto container bg-white flex justify-center shadow-blue-gray", children: menuItems.map((_, i) => (jsx(RenderItem, { isActive: i === activeIndex, item: _, onClick: onClick }, String(i)))) }) }));
4108
4166
  });
4109
4167
 
4110
- function useList(initialList = []) {
4111
- const [list, setList] = useState(initialList);
4112
- const push = useCallback((item) => setList((_) => [..._, item]), []);
4113
- const pop = useCallback(() => setList((_) => _.slice(0, -1)), []);
4114
- const remove = useCallback((item) => setList((_) => _.filter((currentItem) => currentItem !== item)), []);
4115
- const clear = useCallback(() => setList([]), []);
4116
- return [list, { setList, push, pop, remove, clear }];
4168
+ function useList(initialList = []) {
4169
+ const [list, setList] = useState(initialList);
4170
+ const push = useCallback((item) => setList(_ => [..._, item]), []);
4171
+ const pop = useCallback(() => setList(_ => _.slice(0, -1)), []);
4172
+ const remove = useCallback((item) => setList(_ => _.filter(currentItem => currentItem !== item)), []);
4173
+ const clear = useCallback(() => setList([]), []);
4174
+ return [list, { setList, push, pop, remove, clear }];
4117
4175
  }
4118
4176
 
4119
4177
  const useDialogsList = ({ onCloseAll, onClose, } = {}) => {
@@ -4291,47 +4349,176 @@
4291
4349
  };
4292
4350
  const normalizeTab = (_) => (_?.type === 'group' ? { text: _.title } : _);
4293
4351
 
4352
+ const carouselContainerClassesMap = {
4353
+ comparison: 'flex gap-m duration-1000',
4354
+ tariff: 'flex gap-5xl flex-grow duration-1000',
4355
+ };
4356
+ 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 }) })));
4357
+
4358
+ const dividerStyle = '@4xl:border-main-divider @4xl:border-b';
4359
+ const firstCellStyle = 'w-80 flex-shrink-0';
4360
+ const COLS_LENGTH_FOR_SCROLL = 2;
4361
+ const COLUMN_WIDTH$1 = 4 * 80 + 40; // w-80 + pl-10 = 360px
4362
+
4363
+ 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 })));
4364
+
4294
4365
  const renderButtonsCellData = ({ buttons }) => renderButtonsSection(buttons, {
4295
- className: 'mt-s',
4296
- buttonClassName: 'w-12 h-12',
4366
+ buttonClassName: 'basis-0',
4297
4367
  });
4298
- const renderLabelDescriptionCellData = ({ label, description }) => (jsxs("div", { children: [label ? jsx("div", { className: "mb-xs", children: label }) : null, description ? jsx("div", { className: "text-s text-secondary-text", children: description }) : null] }));
4299
- const renderImgCellData = ({ image }) => image?.src ? jsx(Img, { image: image, className: "m-0", imageClassName: "m-0" }) : null;
4300
- const renderListCellData = ({ isDotted, ...rest }) => (jsx(List, { className: "flex flex-col justify-between items-start text-m pl-xs text-base", isDotted: isDotted ?? true, ...rest }));
4368
+ 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] }));
4369
+ const renderImgCellData = ({ image }) => (image?.src ? jsx(Img, { image: image }) : null);
4370
+ const renderListCellData = ({ isDotted, ...rest }) => (jsx(List, { className: "flex flex-col justify-between items-start text-h6", isDotted: isDotted ?? true, ...rest }));
4371
+ const renderInnerTableCellData = ({ isVisible, displayTable, dataUrl, pdfUrl, isOpen, }) => isVisible ? (jsx(TableInnerButton, { isOpen: isOpen, onClick: () => {
4372
+ displayTable({ dataUrl, pdfUrl });
4373
+ } })) : null;
4301
4374
  const EmbeddableCellData = {
4302
4375
  Buttons: renderButtonsCellData,
4303
4376
  Img: renderImgCellData,
4304
4377
  List: renderListCellData,
4305
4378
  LabelDescription: renderLabelDescriptionCellData,
4379
+ Table: renderInnerTableCellData,
4306
4380
  };
4307
4381
 
4308
- const TableTileHeader = JSX(({ title, icon }) => (jsxs("div", { className: "mb-xs", children: [title ? (jsx(Text, { size: "text-l", font: "font-light", children: title })) : null, icon ? jsx(Img, { className: "ml-auto min-w-6", image: icon, width: "24", height: "24" }) : null] })));
4382
+ const renderCellInner = ({ rowIdx, cellIdx, setTableInner, tableInner, openTableInnerIdx, setOpenTableInnerIdx, }) => (cell, i) => {
4383
+ const [isVisible, setVisibility] = useState(true);
4384
+ useEffect(() => {
4385
+ if (cellIdx !== openTableInnerIdx || !tableInner) {
4386
+ setVisibility(true);
4387
+ }
4388
+ }, [tableInner, openTableInnerIdx]);
4389
+ const displayTable = (props) => {
4390
+ setVisibility(false);
4391
+ setOpenTableInnerIdx(cellIdx);
4392
+ setTableInner(props);
4393
+ };
4394
+ return (jsx("div", { children: renderCell({
4395
+ cell,
4396
+ cellProps: {
4397
+ rowIdx,
4398
+ cellIdx,
4399
+ fieldIdx: i,
4400
+ displayTable,
4401
+ isVisible,
4402
+ },
4403
+ }) }, String(i)));
4404
+ };
4405
+ const renderCell = ({ cell, cellProps }) => {
4406
+ if (!cell) {
4407
+ return null;
4408
+ }
4409
+ const { tableCellType: type, ...rest } = cell;
4410
+ if (!type || !(type in EmbeddableCellData)) {
4411
+ return null;
4412
+ }
4413
+ const EmbeddableCellInner = EmbeddableCellData[type];
4414
+ return jsx(EmbeddableCellInner, { ...cellProps, ...rest });
4415
+ };
4416
+
4417
+ const TariffsTableCell = JSX(({ cells, rowIdx, cellIdx, setTableInner, tableInner, openTableInnerIdx, setOpenTableInnerIdx, }) => {
4418
+ return (jsx("div", { className: "w-80 flex-grow flex flex-col gap-m @4xl:gap-lg", role: "cell", children: cells?.length
4419
+ ? cells.map(renderCellInner({
4420
+ rowIdx,
4421
+ cellIdx,
4422
+ setTableInner,
4423
+ tableInner,
4424
+ openTableInnerIdx,
4425
+ setOpenTableInnerIdx,
4426
+ }))
4427
+ : null }));
4428
+ });
4309
4429
 
4310
- const TariffsTableTileCell = JSX(({ tile, ...rest }) => (jsxs("div", { className: "h-full", children: [jsx(TableTileHeader, { title: tile?.header?.title }), tile?.data?.length
4311
- ? tile.data.map((cell, i) => (jsx("div", { className: "mb-xs", children: renderCell(cell, rest) }, String(i))))
4312
- : null] })));
4313
- function renderCell(cell, props) {
4314
- if (!cell || !cell.tableCellType || !(cell.tableCellType in EmbeddableCellData)) {
4430
+ const COLUMN_WIDTH = 140;
4431
+ const getHorizontalShift = (columns, activeColumnIndex) => sum(columns.slice(0, activeColumnIndex).map((_) => _?.cols?.length ?? 1)) * COLUMN_WIDTH;
4432
+
4433
+ const renderInnerTableRow = (activeColumnIndex) => (rowData, rowIdx) => {
4434
+ if (!rowData?.length) {
4315
4435
  return null;
4316
4436
  }
4317
- const EmbeddableCellInner = EmbeddableCellData[cell.tableCellType];
4318
- return jsx(EmbeddableCellInner, { displayTable: () => null, isVisible: true, ...cell, ...props });
4437
+ const [headerColumn, ...columns] = rowData;
4438
+ const columnsStyle = style('flex duration-1000 text-center', rowIdx !== 0 ? 'font-normal' : 'font-light');
4439
+ 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: {
4440
+ transform: `translateX(-${getHorizontalShift(columns, activeColumnIndex)}px)`,
4441
+ }, 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)));
4442
+ };
4443
+ 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;
4444
+
4445
+ const InnerTableBodyItem = JSX(({ rows }) => (jsx(SwipeListContainer, { visibleItemCount: 0, snapAlign: "snap-start", children: jsx("div", { children: rows?.map(renderInnerTableRow(0)) }) })));
4446
+
4447
+ const InnerTableBody = JSX(({ activeTabIndex, items }) => {
4448
+ return (jsx("div", { children: items.map((_, tableIdx) => {
4449
+ const key = `activeTabIdx:${activeTabIndex}-tableIdx:${tableIdx}`;
4450
+ 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));
4451
+ }) }));
4452
+ });
4453
+
4454
+ const linkButtonVersion = 'link';
4455
+
4456
+ 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] })));
4457
+
4458
+ function useTariffsInnerTableData(directoryName) {
4459
+ const { data } = useAsyncData(tariffsInnerTableDataUrl(directoryName), fetchTariffsInnerTableData);
4460
+ return data || {};
4461
+ }
4462
+ async function fetchTariffsInnerTableData(url) {
4463
+ const response = await fetch(url);
4464
+ return await response.json();
4465
+ }
4466
+ function tariffsInnerTableDataUrl(directoryName) {
4467
+ return `/wcms-resources/${directoryName || 'tariffs-inner-table-data'}.json`;
4468
+ }
4469
+
4470
+ const EMPTY_DATA = 'Данных нет';
4471
+ const InnerTable = JSX(({ dataUrl, pdfUrl, onClick }) => {
4472
+ const { tableData } = useTariffsInnerTableData(dataUrl);
4473
+ const [activeTabIndex, setActiveTabIndex] = useState(0);
4474
+ const handleActiveTabIndex = useCallback((_) => setActiveTabIndex(_), []);
4475
+ const items = tableData?.[activeTabIndex]?.items ?? [];
4476
+ const currencies = tableData?.map((item) => item.currency ?? '');
4477
+ 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 })] }));
4478
+ });
4479
+
4480
+ 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] })));
4481
+
4482
+ const TariffsTableRow = JSX(({ row: { header, data }, activeIndex, rowIdx, ...rest }) => {
4483
+ const [tableInner, setTableInner] = useState(undefined);
4484
+ const handleSetTableInner = useCallback((_) => setTableInner(_), []);
4485
+ const [openTableInnerIdx, setOpenTableInnerIdx] = useState(undefined);
4486
+ const handleOpenTableInnerIdx = useCallback((_) => setOpenTableInnerIdx(_), []);
4487
+ const onHideContentClick = () => setTableInner(undefined);
4488
+ 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] }));
4489
+ });
4490
+
4491
+ function renderArrows({ dec, inc, canDec, canInc, btnClass, className = '', }) {
4492
+ const isVisible = canDec || canInc;
4493
+ return isVisible ? (jsxs("div", { children: [canDec ? (jsx(ArrowButton, { className: `absolute z-40 ${btnClass[0]} ${className}`, onClick: dec, ariaLabel: "\u041F\u0440\u043E\u043B\u0438\u0441\u0442\u0430\u0442\u044C \u0432\u043B\u0435\u0432\u043E", "data-block-control": "scroll-left", disabled: !canDec })) : null, canInc ? (jsx(ArrowButton, { className: `absolute z-40 rotate-180 ${btnClass[1]} ${className}`, onClick: inc, ariaLabel: "\u041F\u0440\u043E\u043B\u0438\u0441\u0442\u0430\u0442\u044C \u0432\u043F\u0440\u0430\u0432\u043E", "data-block-control": "scroll-right", disabled: !canInc })) : null] })) : null;
4319
4494
  }
4320
4495
 
4321
- const TariffsTableHorizontal = JSX(({ tiles, ...rest }) => tiles?.length ? (jsx(SwipeListControl, { ...rest, padding: undefined, children: tiles.map((tile, i) => (jsx(TariffsTableTileCell, { tile: tile, ...rest }, String(i)))) })) : null);
4496
+ const TariffsTableWrapper = JSX(({ children, controls }) => {
4497
+ const { isScrollAvailable } = controls;
4498
+ return (jsxs("div", { role: "table", children: [jsxs("div", { className: "relative space-y-xs", children: [children, renderArrows({
4499
+ ...controls,
4500
+ btnClass: ['top-28', 'top-11'],
4501
+ className: 'right-7',
4502
+ })] }), isScrollAvailable ? (jsx("div", { className: "absolute top-0 right-0 bottom-0 w-20 bg-opacity-to-white" })) : null] }));
4503
+ });
4322
4504
 
4323
- const TariffsTableVertical = JSX(({ tiles, ...rest }) => tiles?.length ? (jsx("div", { className: "flex flex-col gap-s", children: tiles.map((tile, i) => (jsx(TariffsTableTileCell, { tile: tile, ...rest }, String(i)))) })) : null);
4505
+ const headlineAlign = 'text-left';
4324
4506
 
4325
- const TariffsTable = JSX(({ className, title, description, tariffsColumns: columns, rowHeaders, orientation = 'vertical', ...rest }) => {
4326
- const colData = getColData(columns);
4327
- const tiles = getTiles(rowHeaders, colData);
4328
- return (jsxs("section", { className: `p-6xl space-3xl bg-white font-sans text-primary-text overflow-x-hidden ${className}`, children: [jsx(Headline, { title: title, description: description, headlineVersion: "M", align: "text-left", isEmbedded: true }), orientation === 'vertical' ? (jsx(TariffsTableVertical, { tiles: tiles, ...rest })) : (jsx(TariffsTableHorizontal, { tiles: tiles, ...rest }))] }));
4507
+ const TariffsTable = JSX(({ className = '', title, description, rowHeaders, tariffsColumns: columns, hiddenRowsNum = 0, ...rest }) => {
4508
+ const colData = columns?.map(({ data }) => data) || [];
4509
+ const rowData = rowHeaders?.map((header, i) => ({
4510
+ header,
4511
+ data: colData.map((col) => col?.[i] || []),
4512
+ }));
4513
+ const itemCount = colData.length;
4514
+ const [activeIndex, controls] = useCarouselControls({
4515
+ itemCount: itemCount,
4516
+ visibleItemCount: COLS_LENGTH_FOR_SCROLL,
4517
+ });
4518
+ const rows = (rowData || []).map((row, i) => (jsx(TariffsTableRow, { row: row, activeIndex: activeIndex, rowIdx: i, ...rest }, String(i))));
4519
+ const [visibleRows, hiddenRows] = hiddenRowsNum > 0 ? [rows.slice(0, -hiddenRowsNum), rows.slice(-hiddenRowsNum)] : [rows, []];
4520
+ 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 })) })] }));
4329
4521
  });
4330
- const getColData = (columns) => columns?.[0]?.data ? columns[0].data : [];
4331
- const getTiles = (rowHeaders, colData) => rowHeaders?.map((header, i) => ({
4332
- header,
4333
- data: colData?.[i] || [{}],
4334
- }));
4335
4522
 
4336
4523
  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] })] })));
4337
4524
  const renderIcon = () => (jsx("div", { className: `rounded-full h-4 w-4 text-center text-xs font-light bg-primary-main text-white group-data-secondary:bg-white group-data-secondary:text-primary-main`, children: "i" }));
@@ -4344,6 +4531,20 @@
4344
4531
 
4345
4532
  const Tile = JSX(({ className, padding, headlineVersion = 'S', listItemSize = 'M', ...rest }) => (jsx(BlockWrapper, { className: className, padding: "p-0", ...rest, children: jsx(BaseProductTile, { className: "h-full", defaultPadding: "p-xl", padding: padding, headlineVersion: headlineVersion, listItemSize: listItemSize, ...rest }) })));
4346
4533
 
4534
+ const ICONS = ['ArrowDownIcon', 'ArrowUpIcon'];
4535
+ const resultsGridStyle = 'space-y-px lg:space-y-0 lg:grid lg:grid-cols-12 gap-2xs border-box';
4536
+ const BaseFiltrationInner = JSX(({ label = '', blocksToRender = [], topItemsCount = 0, block, notFound, ...rest }) => {
4537
+ const [visibleBlocks, hiddenBlocks] = topItemsCount > 0
4538
+ ? [blocksToRender.slice(0, topItemsCount), blocksToRender.slice(topItemsCount)]
4539
+ : [blocksToRender, []];
4540
+ 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 }) => {
4541
+ return (jsx(FoldableSection, { className: style(resultsGridStyle), isUnfolded: isUnfolded, children: renderBlocksList(hiddenBlocks, { ...rest.options, parent: block }) }));
4542
+ }, 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 })) })] })] }));
4543
+ });
4544
+ function renderNotFound({ title, description }) {
4545
+ return (jsx("div", { className: "bg-white py-20", children: jsx(Headline, { title: title, description: description, headlineVersion: "S", isEmbedded: true }) }));
4546
+ }
4547
+
4347
4548
  const isEmpty = (v) => v === null ||
4348
4549
  v === undefined ||
4349
4550
  v === '' ||
@@ -4357,14 +4558,17 @@
4357
4558
  const isNumberFieldMatch = (key, pattern) => (target) => isEmpty(pattern[key]) ||
4358
4559
  isEmpty(target[key]) ||
4359
4560
  naturalNumber(pattern[key]) <= naturalNumber(target[key]);
4561
+ const isMultipleNumberFieldMatch = (key, pattern) => (target) => isEmpty(pattern[key]) || isEmpty(target[key]) || target[key]?.includes(pattern[key]);
4360
4562
  const isValueInRange = (key, pattern) => (target) => isEmpty(pattern[key]) ||
4361
4563
  isEmpty(target[key]) ||
4362
4564
  (naturalNumber(pattern[key]?.min) >= naturalNumber(target[key]?.min) &&
4363
4565
  naturalNumber(pattern[key]?.min) <= naturalNumber(target[key]?.max));
4364
- const checkShouldRenderBlock = (pattern, target) => Object.entries(pattern)
4566
+ const shouldRenderBlock = (pattern, target) => Object.entries(pattern)
4365
4567
  .map(([key, subPattern]) => {
4366
4568
  if (typeof subPattern === 'number') {
4367
- return isNumberFieldMatch(key, pattern);
4569
+ return Array.isArray(target[key])
4570
+ ? isMultipleNumberFieldMatch(key, pattern)
4571
+ : isNumberFieldMatch(key, pattern);
4368
4572
  }
4369
4573
  if (typeof subPattern === 'object' && 'min' in subPattern && 'max' in subPattern) {
4370
4574
  return isValueInRange(key, pattern);
@@ -4376,20 +4580,7 @@
4376
4580
  .every((predicate) => predicate(target));
4377
4581
  const naturalNumber = (n) => Number(n || 0);
4378
4582
 
4379
- const ICONS = ['ArrowDownIcon', 'ArrowUpIcon'];
4380
- const resultsGridStyle = 'space-y-px lg:space-y-0 lg:grid lg:grid-cols-12 gap-2xs border-box';
4381
- const BaseFiltrationInner = JSX(({ label = '', filtrationState = {}, topItemsCount = 0, block, notFound, ...rest }) => {
4382
- const blocksToRender = block?.blocks?.filter((b) => checkShouldRenderBlock(filtrationState, b.content || {})) || [];
4383
- const [visibleBlocks, hiddenBlocks] = topItemsCount > 0
4384
- ? [blocksToRender.slice(0, topItemsCount), blocksToRender.slice(topItemsCount)]
4385
- : [blocksToRender, []];
4386
- 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 }) => {
4387
- return (jsx(FoldableSection, { className: style(resultsGridStyle), isUnfolded: isUnfolded, children: renderBlocksList(hiddenBlocks, { ...rest.options, parent: block }) }));
4388
- }, 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 })) })] })] }));
4389
- });
4390
- function renderNotFound({ title, description }) {
4391
- return (jsx("div", { className: "bg-white py-20", children: jsx(Headline, { title: title, description: description, headlineVersion: "S", isEmbedded: true }) }));
4392
- }
4583
+ const getBlocksToRender = (blocks, filtrationState) => (normalize = identity) => blocks && blocks.filter((b) => shouldRenderBlock(filtrationState, normalize(b.content || {})));
4393
4584
 
4394
4585
  const SlideCheckboxGroup = JSX(({ value, onChange, items = [], multiple }) => {
4395
4586
  const handleChange = (newValue) => {
@@ -4423,8 +4614,35 @@
4423
4614
  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));
4424
4615
  };
4425
4616
 
4426
- const DEFAULT_MIN_MONTHS = 3;
4427
- const DEFAULT_MAX_MONTHS = 60;
4617
+ const getPeriod = (source, content) => source[content?.sourceBook]?.rateRows
4618
+ .map((el) => el.minMonths)
4619
+ .filter((minMonths) => minMonths !== undefined);
4620
+
4621
+ async function fetchMultitudeJSON(...urls) {
4622
+ const fetchPromises = urls.map((url) => fetchJSON(url));
4623
+ return await Promise.all(fetchPromises);
4624
+ }
4625
+
4626
+ const unique = (list) => [...new Set(list)];
4627
+
4628
+ const getChildSourceBook = (blocks) => blocks?.filter(hasSourceBook).map(({ content: { sourceBook } }) => sourceBook);
4629
+ const hasSourceBook = (block) => Boolean(block && block.content && typeof block.content.sourceBook === 'string');
4630
+
4631
+ function useDepositsPeriods(blocks) {
4632
+ const { dirs = [], source = [] } = useMemo(() => {
4633
+ const sourceBooks = getChildSourceBook(blocks);
4634
+ return { dirs: sourceBooks?.map((url) => `/wcms-resources/${url}.json`), source: sourceBooks };
4635
+ }, [blocks]);
4636
+ const { data = [] } = useAsyncData(dirs, fetchMultitudeJSON);
4637
+ return {
4638
+ source: Object.fromEntries(zip(source, data).filter(([, sourceData]) => Boolean(sourceData))),
4639
+ months: unique(data
4640
+ .flatMap((item) => item?.rateRows || [])
4641
+ .filter((row) => typeof row.minMonths === 'number' && row.minMonths === row.maxMonths)
4642
+ .map((row) => row.minMonths)).sort((a, b) => a - b) || [],
4643
+ };
4644
+ }
4645
+
4428
4646
  const DEFAULT_MIN_SUM = 500;
4429
4647
  const DEFAULT_MAX_SUM = 1000000000;
4430
4648
  const initialFiltrationState$1 = {
@@ -4432,25 +4650,27 @@
4432
4650
  min: 10000,
4433
4651
  max: DEFAULT_MAX_SUM,
4434
4652
  },
4435
- period: {
4436
- min: 3,
4437
- max: 36,
4438
- },
4653
+ period: 3,
4439
4654
  };
4440
4655
  const DepositFiltration = JSX(({ className, filtrationSchema = {}, resetButton, sumInput, periodInput, ...rest }) => {
4656
+ const { source, months } = useDepositsPeriods(rest.block?.blocks);
4441
4657
  const [filtrationState, { field, reset }] = useForm(initialFiltrationState$1);
4442
- const maxPeriodValue = periodInput?.max || DEFAULT_MAX_MONTHS;
4658
+ const blocksToRender = getBlocksToRender(rest.block?.blocks, filtrationState)((content) => ({ ...content, period: getPeriod(source, content || {}) || [] }));
4443
4659
  const Inputs = (jsxs("div", { children: [jsx(CurrencyInput, { label: sumInput?.title, min: DEFAULT_MIN_SUM, max: DEFAULT_MAX_SUM, ...field('sum', {
4444
4660
  parse: (min) => ({ min: Number(min), max: DEFAULT_MAX_SUM }),
4445
4661
  format: ({ min }) => String(min),
4446
- }) }), jsx(InputRange, { title: periodInput?.title, items: ['От 3 мес', 'До 5 лет'], min: periodInput?.min || DEFAULT_MIN_MONTHS, max: maxPeriodValue, ...field('period', {
4447
- parse: (min) => ({ min, max: maxPeriodValue }),
4448
- format: ({ min }) => min,
4449
- }) })] }));
4450
- 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 })] }));
4662
+ }) }), jsx(InputRange, { title: periodInput?.title, items: ['От 3 мес', 'До 5 лет'], list: months, ...field('period') })] }));
4663
+ 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 })] }));
4451
4664
  });
4665
+ const sourceBookSchema = {
4666
+ type: 'string',
4667
+ title: 'Адрес справочника',
4668
+ };
4452
4669
  DepositFiltration.childrenTypes = ['ProductTile'];
4453
- DepositFiltration.childSchema = (content) => content?.filtrationSchema || {};
4670
+ DepositFiltration.childSchema = (content) => ({
4671
+ ...(content?.filtrationSchema || {}),
4672
+ sourceBook: sourceBookSchema,
4673
+ });
4454
4674
 
4455
4675
  const badgeBgStyleMap = {
4456
4676
  primary: 'bg-white/30',
@@ -4464,7 +4684,7 @@
4464
4684
  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 }) }));
4465
4685
  });
4466
4686
 
4467
- const getBadgeCount = (blocks = [], filter = {}) => blocks.filter(({ content = {} }) => checkShouldRenderBlock(filter, content)).length;
4687
+ const getBadgeCount = (blocks = [], filter = {}) => blocks.filter(({ content = {} }) => shouldRenderBlock(filter, content)).length;
4468
4688
 
4469
4689
  const scalarCmp = (a, b) => a === b;
4470
4690
  const arrCmp = (cmp = scalarCmp) => (a, b) => a === b || Boolean(a && b && a.length === b.length && a.every((_, i) => cmp(_, b[i])));
@@ -4505,6 +4725,7 @@
4505
4725
  };
4506
4726
  const MortgageFiltration = JSX(({ className, hotFilters, filtrationSchema = {}, resetButton, ...rest }) => {
4507
4727
  const [filtrationState, { field, reset, update: replaceFiltrationState }] = useForm(initialFiltrationState);
4728
+ const blocksToRender = getBlocksToRender(rest.block?.blocks, filtrationState)();
4508
4729
  const handleFiltrationStateChange = useCallback((_ = initialFiltrationState) => replaceFiltrationState(_), []);
4509
4730
  const tabsControlProps = useHotFilters({
4510
4731
  hotFilters,
@@ -4512,7 +4733,7 @@
4512
4733
  blocks: rest.block?.blocks,
4513
4734
  onFiltrationStateChange: handleFiltrationStateChange,
4514
4735
  });
4515
- 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 })] }));
4736
+ 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 })] }));
4516
4737
  });
4517
4738
  MortgageFiltration.childrenTypes = ['ProductTile'];
4518
4739
  MortgageFiltration.childSchema = (content) => content?.filtrationSchema || {};
@@ -4647,17 +4868,12 @@
4647
4868
  }, []);
4648
4869
  const dialogs = useDialogsList({ onCloseAll: handleCloseAll, onClose: handleClose });
4649
4870
  const { close } = useDialogManager();
4650
- useEffect(() => {
4651
- const handleEscape = ({ key }) => {
4652
- if (key === 'Escape') {
4653
- close();
4654
- }
4655
- };
4656
- globalThis.document?.addEventListener('keydown', handleEscape);
4657
- return () => {
4658
- globalThis.document?.removeEventListener('keydown', handleEscape);
4659
- };
4660
- }, [close]);
4871
+ const escapeHandler = useCallback(({ key }) => {
4872
+ if (key === 'Escape') {
4873
+ close();
4874
+ }
4875
+ }, []);
4876
+ useEventListener(globalThis.document, 'keydown', escapeHandler);
4661
4877
  useEffect(() => {
4662
4878
  if (dialogs.length) {
4663
4879
  globalThis.document?.body.classList.add('no-scrollbar');
@@ -4671,6 +4887,37 @@
4671
4887
  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;
4672
4888
  });
4673
4889
 
4890
+ const PopupManager = JSX(() => {
4891
+ const [popup, setPopup] = useState(null);
4892
+ const close = useCallback(() => {
4893
+ setPopup(null);
4894
+ }, []);
4895
+ useEffect(() => defaultEventBus.subscribe('popup', (action) => {
4896
+ switch (action.type) {
4897
+ case 'open':
4898
+ case 'update':
4899
+ setPopup(action);
4900
+ break;
4901
+ case 'close':
4902
+ close();
4903
+ break;
4904
+ default:
4905
+ assertUnreachable(action);
4906
+ }
4907
+ }), []);
4908
+ const escapeHandler = useCallback(({ key }) => {
4909
+ if (key === 'Escape') {
4910
+ close();
4911
+ }
4912
+ }, [close]);
4913
+ useEventListener(globalThis.document, 'keydown', escapeHandler);
4914
+ return popup ? (jsx("div", { className: "absolute z-50", style: {
4915
+ left: `${popup.left}px`,
4916
+ top: `${popup.top}px`,
4917
+ ...(popup.width ? { width: `${popup.width}px` } : {}),
4918
+ }, role: "dialog", children: popup.popup })) : null;
4919
+ });
4920
+
4674
4921
  const api = LikeAPI();
4675
4922
  function useLikeService(pagePath) {
4676
4923
  const [likeCount, setLikeCount] = useState(0);
@@ -4722,7 +4969,7 @@
4722
4969
  parent: data,
4723
4970
  };
4724
4971
  useBlockRouterProvider();
4725
- 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' } })] }));
4972
+ 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' } })] }));
4726
4973
  });
4727
4974
  ContentPage.childrenTypes = [];
4728
4975
  ContentPage.slots = () => ['header', 'footer', 'StickyBottomMenu'];
@@ -4732,7 +4979,7 @@
4732
4979
 
4733
4980
  const joinList = (sep) => (list) => list.reduce((acc, el, i) => (acc.length ? acc.concat({ ...sep, key: `sep-${i}` }, el) : [el]), []);
4734
4981
 
4735
- const packageVersion = "0.13.24";
4982
+ const packageVersion = "0.14.0";
4736
4983
 
4737
4984
  exports.Blocks = Blocks;
4738
4985
  exports.ContentPage = ContentPage;