@redneckz/wildless-cms-uni-blocks 0.14.16 → 0.14.18

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 (1351) hide show
  1. package/bundle/blocks.schema.json +1 -1
  2. package/bundle/bundle.umd.js +253 -81
  3. package/bundle/bundle.umd.min.js +1 -1
  4. package/bundle/components/ApplicationForm/renderWedDataOrganization.d.ts +1 -1
  5. package/bundle/components/BenefitsBlock/BenefitsBlockContent.d.ts +1 -1
  6. package/bundle/components/Bonus/BonusContent.d.ts +1 -1
  7. package/bundle/components/BusinessBlock/BusinessBlockContent.d.ts +1 -1
  8. package/bundle/components/ButtonsBlock/ButtonsBlockContent.d.ts +1 -1
  9. package/bundle/components/CarouselCatalogCard/CarouselCatalogCardContent.d.ts +1 -1
  10. package/bundle/components/CarouselProductCard/CarouselProductCard.d.ts +1 -1
  11. package/bundle/components/CarouselProductCard/CarouselProductCardContent.d.ts +1 -1
  12. package/bundle/components/CarouselProgramsCard/CarouselProgramsCardContent.d.ts +1 -1
  13. package/bundle/components/CarouselRecommendationCard/ImageAlwaysOnRight.d.ts +1 -0
  14. package/bundle/components/CarouselRecommendationCard/ImageAlwaysOnRight.mobile.d.ts +1 -0
  15. package/bundle/components/Depository/Depository.d.ts +5 -0
  16. package/bundle/components/Depository/DepositoryFilter.d.ts +9 -0
  17. package/bundle/components/Depository/useDepository.d.ts +7 -1
  18. package/bundle/components/ErrorBlock/ErrorBlockContent.d.ts +1 -1
  19. package/bundle/components/ExchangeRateTile/ExchangeCurrencyCalculator.d.ts +1 -1
  20. package/bundle/components/Header/HeaderTop.d.ts +1 -1
  21. package/bundle/components/InsuranceAmountBlock/InsuranceAmountBlockInner.d.ts +1 -1
  22. package/bundle/components/ParagraphBlock/ParagraphBlockContent.d.ts +1 -1
  23. package/bundle/components/RepresentativeOfficeInfo/RepresentativeOfficeInfoContent.d.ts +2 -2
  24. package/bundle/components/RollupItem/RollupItem.d.ts +1 -1
  25. package/bundle/components/SafeDepositRental/SafeDepositRentalForm.d.ts +1 -1
  26. package/bundle/components/StepsBlock/StepsBlockContent.d.ts +2 -2
  27. package/bundle/components/TariffsTable/EmbeddableCellData.d.ts +1 -1
  28. package/bundle/components/TariffsTable/TariffsTableContent.d.ts +1 -1
  29. package/bundle/icons/IconName.d.ts +12 -66
  30. package/bundle/model/Bullets.d.ts +4 -1
  31. package/bundle/model/JSXBlock.d.ts +1 -0
  32. package/bundle/ui-kit/BaseFiltration/BaseFiltrationContent.d.ts +2 -2
  33. package/bundle/ui-kit/BaseFiltration/BaseFiltrationInner.d.ts +1 -1
  34. package/bundle/ui-kit/DatePicker/Calendar.d.ts +10 -0
  35. package/bundle/ui-kit/DatePicker/DatePicker.d.ts +9 -0
  36. package/bundle/ui-kit/DatePicker/getYears.d.ts +1 -0
  37. package/bundle/ui-kit/DatePicker/months.d.ts +1 -0
  38. package/bundle/ui-kit/DatePicker/renderCalendarCells.d.ts +12 -0
  39. package/bundle/ui-kit/DatePicker/useDatePickerManager.d.ts +26 -0
  40. package/bundle/ui-kit/List/ListContent.d.ts +1 -0
  41. package/bundle/ui-kit/NotFound/NotFound.d.ts +2 -0
  42. package/bundle/ui-kit/Radio/Radio.d.ts +1 -1
  43. package/bundle/ui-kit/RichText/RichTextProps.d.ts +1 -0
  44. package/bundle/ui-kit/SearchDialog/SearchInput.d.ts +1 -0
  45. package/bundle/ui-kit/Select/Select.d.ts +3 -1
  46. package/bundle/ui-kit/Text/TextProps.d.ts +1 -0
  47. package/bundle/utils/formatDate.d.ts +1 -1
  48. package/cosmos-static/icons/ActualBalanceIcon.svg +1 -1
  49. package/cosmos-static/icons/BriefcaseIcon.svg +1 -1
  50. package/cosmos-static/icons/ChartIcon.svg +1 -1
  51. package/cosmos-static/icons/FaxIcon.svg +1 -0
  52. package/cosmos-static/icons/FullScreenIcon.svg +1 -1
  53. package/cosmos-static/icons/HeartIcon.svg +1 -1
  54. package/cosmos-static/icons/HouseIcon.svg +1 -1
  55. package/cosmos-static/icons/MagnifierIcon.svg +1 -1
  56. package/cosmos-static/icons/MailIcon.svg +1 -1
  57. package/cosmos-static/icons/MapMarkerClusterIcon.svg +1 -1
  58. package/cosmos-static/icons/MapMarkerSingleIcon.svg +1 -1
  59. package/cosmos-static/icons/MapOpenedIcon.svg +1 -1
  60. package/cosmos-static/icons/NewDocIcon.svg +1 -1
  61. package/cosmos-static/icons/PackA4Icon.svg +1 -1
  62. package/cosmos-static/icons/PassSendIcon.svg +1 -1
  63. package/cosmos-static/icons/PercentIcon.svg +1 -1
  64. package/cosmos-static/icons/PhoneCallingIcon.svg +1 -0
  65. package/cosmos-static/icons/PhoneIcon.svg +1 -1
  66. package/cosmos-static/icons/PlusCircleIcon.svg +1 -0
  67. package/cosmos-static/icons/ResponseFailIcon.svg +1 -1
  68. package/cosmos-static/icons/ResponseOKIcon.svg +1 -1
  69. package/cosmos-static/icons/SignDocsIcon.svg +1 -1
  70. package/cosmos-static/icons/UserGeoLocationIcon.svg +1 -1
  71. package/dist/components/ApplicationForm/ApplicationFormWed.js.map +1 -1
  72. package/dist/components/ApplicationForm/renderWedDataOrganization.d.ts +1 -1
  73. package/dist/components/ApplicationForm/renderWedDataOrganization.js.map +1 -1
  74. package/dist/components/ApplicationForm/renderWedTextarea.js.map +1 -1
  75. package/dist/components/BenefitsBlock/BenefitsBlock.js +1 -1
  76. package/dist/components/BenefitsBlock/BenefitsBlock.js.map +1 -1
  77. package/dist/components/BenefitsBlock/BenefitsBlockContent.d.ts +1 -1
  78. package/dist/components/Blocks.mobile.js +2 -2
  79. package/dist/components/Blocks.mobile.js.map +1 -1
  80. package/dist/components/Bonus/Bonus.js +1 -1
  81. package/dist/components/Bonus/Bonus.js.map +1 -1
  82. package/dist/components/Bonus/BonusContent.d.ts +1 -1
  83. package/dist/components/BonusBenefitsBlock/renderBonusBenefit.js +1 -1
  84. package/dist/components/BonusBenefitsBlock/renderBonusBenefit.js.map +1 -1
  85. package/dist/components/BusinessBlock/BusinessBlockContent.d.ts +1 -1
  86. package/dist/components/ButtonsBlock/ButtonsBlockContent.d.ts +1 -1
  87. package/dist/components/Calculator/UnknownRate.js +1 -1
  88. package/dist/components/Calculator/UnknownRate.js.map +1 -1
  89. package/dist/components/Calculator/getRefinancingCalculatorLimitParams.js.map +1 -1
  90. package/dist/components/Calculator/getRefinancingCalculatorRateParams.js +1 -1
  91. package/dist/components/Calculator/getRefinancingCalculatorRateParams.js.map +1 -1
  92. package/dist/components/Calculator/rangeHelpers.js +1 -1
  93. package/dist/components/Calculator/rangeHelpers.js.map +1 -1
  94. package/dist/components/CarouselCatalogCard/CarouselCatalogCardContent.d.ts +1 -1
  95. package/dist/components/CarouselProductCard/CarouselProductCard.d.ts +1 -1
  96. package/dist/components/CarouselProductCard/CarouselProductCard.js +1 -1
  97. package/dist/components/CarouselProductCard/CarouselProductCard.js.map +1 -1
  98. package/dist/components/CarouselProductCard/CarouselProductCardContent.d.ts +1 -1
  99. package/dist/components/CarouselProgramsCard/CarouselProgramsCardContent.d.ts +1 -1
  100. package/dist/components/CarouselRecommendationCard/CarouselRecommendationCard.js +2 -1
  101. package/dist/components/CarouselRecommendationCard/CarouselRecommendationCard.js.map +1 -1
  102. package/dist/components/CarouselRecommendationCard/ImageAlwaysOnRight.d.ts +1 -0
  103. package/dist/components/CarouselRecommendationCard/ImageAlwaysOnRight.js +4 -0
  104. package/dist/components/CarouselRecommendationCard/ImageAlwaysOnRight.js.map +1 -0
  105. package/dist/components/CarouselRecommendationCard/ImageAlwaysOnRight.mobile.d.ts +1 -0
  106. package/dist/components/CarouselRecommendationCard/ImageAlwaysOnRight.mobile.js +4 -0
  107. package/dist/components/CarouselRecommendationCard/ImageAlwaysOnRight.mobile.js.map +1 -0
  108. package/dist/components/ComparisonTable/ComparisonTable.js +1 -1
  109. package/dist/components/ComparisonTable/ComparisonTable.js.map +1 -1
  110. package/dist/components/ComparisonTable/HeaderCell.js +1 -1
  111. package/dist/components/ComparisonTable/HeaderCell.js.map +1 -1
  112. package/dist/components/ComparisonTable/TableCell.js +1 -1
  113. package/dist/components/ComparisonTable/TableCell.js.map +1 -1
  114. package/dist/components/ComparisonTable/TableCell.mobile.js +1 -1
  115. package/dist/components/ComparisonTable/TableCell.mobile.js.map +1 -1
  116. package/dist/components/ComparisonTable/TableColumn.js +1 -1
  117. package/dist/components/ComparisonTable/TableColumn.js.map +1 -1
  118. package/dist/components/ComparisonTable/TableRow.js +1 -1
  119. package/dist/components/ComparisonTable/TableRow.js.map +1 -1
  120. package/dist/components/Depository/Depository.d.ts +5 -0
  121. package/dist/components/Depository/Depository.js +15 -2
  122. package/dist/components/Depository/Depository.js.map +1 -1
  123. package/dist/components/Depository/DepositoryFilter.d.ts +9 -0
  124. package/dist/components/Depository/DepositoryFilter.js +8 -0
  125. package/dist/components/Depository/DepositoryFilter.js.map +1 -0
  126. package/dist/components/Depository/DepositoryItem.js +3 -2
  127. package/dist/components/Depository/DepositoryItem.js.map +1 -1
  128. package/dist/components/Depository/useDepository.d.ts +7 -1
  129. package/dist/components/Depository/useDepository.js +3 -2
  130. package/dist/components/Depository/useDepository.js.map +1 -1
  131. package/dist/components/ErrorBlock/ErrorBlock.js.map +1 -1
  132. package/dist/components/ErrorBlock/ErrorBlockContent.d.ts +1 -1
  133. package/dist/components/ExchangeRateTile/ExchangeCurrencyCalculator.d.ts +1 -1
  134. package/dist/components/ExchangeRateTile/ExchangeCurrencyCalculator.js.map +1 -1
  135. package/dist/components/Footer/Footer.js +1 -1
  136. package/dist/components/Footer/Footer.js.map +1 -1
  137. package/dist/components/Footer/Footer.mobile.js +2 -2
  138. package/dist/components/Footer/Footer.mobile.js.map +1 -1
  139. package/dist/components/Footer/LinkList.js +1 -1
  140. package/dist/components/Footer/LinkList.js.map +1 -1
  141. package/dist/components/Footer/TextInformation.js +1 -1
  142. package/dist/components/Footer/TextInformation.js.map +1 -1
  143. package/dist/components/GracePeriod/GracePeriod.js +1 -1
  144. package/dist/components/GracePeriod/GracePeriod.js.map +1 -1
  145. package/dist/components/Header/Header.js +1 -1
  146. package/dist/components/Header/Header.js.map +1 -1
  147. package/dist/components/Header/Header.mobile.js +2 -2
  148. package/dist/components/Header/Header.mobile.js.map +1 -1
  149. package/dist/components/Header/HeaderSecondaryMenuButton.js.map +1 -1
  150. package/dist/components/Header/HeaderTop.d.ts +1 -1
  151. package/dist/components/Header/HeaderTop.js +5 -5
  152. package/dist/components/Header/HeaderTop.js.map +1 -1
  153. package/dist/components/Header/InternetBankButton.js +1 -1
  154. package/dist/components/Header/InternetBankButton.js.map +1 -1
  155. package/dist/components/InsuranceAmountBlock/InsuranceAmountBlockInner.d.ts +1 -1
  156. package/dist/components/InsuranceAmountBlock/InsuranceAmountBlockInner.js.map +1 -1
  157. package/dist/components/MortgageFiltration/MortgageFiltration.js +1 -1
  158. package/dist/components/MortgageFiltration/MortgageFiltration.js.map +1 -1
  159. package/dist/components/OfficesAtmsMap/OfficesAtmsMapLayout.js +1 -1
  160. package/dist/components/OfficesAtmsMap/OfficesAtmsMapLayout.js.map +1 -1
  161. package/dist/components/ParagraphBlock/ParagraphBlockContent.d.ts +1 -1
  162. package/dist/components/ProductBlock/renderBackwardButton.js +1 -1
  163. package/dist/components/ProductBlock/renderBackwardButton.js.map +1 -1
  164. package/dist/components/RepresentativeOfficeInfo/RepresentativeOfficeInfo.js.map +1 -1
  165. package/dist/components/RepresentativeOfficeInfo/RepresentativeOfficeInfoContent.d.ts +2 -2
  166. package/dist/components/RollupItem/PrimaryFoldButton.js +3 -3
  167. package/dist/components/RollupItem/PrimaryFoldButton.js.map +1 -1
  168. package/dist/components/RollupItem/RollupItem.d.ts +1 -1
  169. package/dist/components/RollupItem/RollupItem.js +1 -1
  170. package/dist/components/RollupItem/RollupItem.js.map +1 -1
  171. package/dist/components/RollupItem/renderRoundedIcon.mobile.js.map +1 -1
  172. package/dist/components/SafeDepositRental/SafeDepositRental.js +1 -1
  173. package/dist/components/SafeDepositRental/SafeDepositRental.js.map +1 -1
  174. package/dist/components/SafeDepositRental/SafeDepositRentalFields.js +2 -2
  175. package/dist/components/SafeDepositRental/SafeDepositRentalFields.js.map +1 -1
  176. package/dist/components/SafeDepositRental/SafeDepositRentalForm.d.ts +1 -1
  177. package/dist/components/SafeDepositRental/SafeDepositRentalForm.js.map +1 -1
  178. package/dist/components/StepsBlock/StepsBlock.js +1 -1
  179. package/dist/components/StepsBlock/StepsBlock.js.map +1 -1
  180. package/dist/components/StepsBlock/StepsBlock.mobile.js +1 -1
  181. package/dist/components/StepsBlock/StepsBlock.mobile.js.map +1 -1
  182. package/dist/components/StepsBlock/StepsBlockContent.d.ts +2 -2
  183. package/dist/components/StickyBottomMenu/ActiveSubMenuItem.js +3 -3
  184. package/dist/components/StickyBottomMenu/ActiveSubMenuItem.js.map +1 -1
  185. package/dist/components/StickyBottomMenu/RenderItem.js +1 -1
  186. package/dist/components/StickyBottomMenu/RenderItem.js.map +1 -1
  187. package/dist/components/StickyBottomMenu/RenderMenuItems.js +1 -1
  188. package/dist/components/StickyBottomMenu/RenderMenuItems.js.map +1 -1
  189. package/dist/components/StickyBottomMenu/StickyBottomMenu.mobile.js +2 -2
  190. package/dist/components/StickyBottomMenu/StickyBottomMenu.mobile.js.map +1 -1
  191. package/dist/components/StickyBottomMenu/useBurgerMenuDialog.js +3 -3
  192. package/dist/components/StickyBottomMenu/useBurgerMenuDialog.js.map +1 -1
  193. package/dist/components/TariffsTable/EmbeddableCellData.d.ts +1 -1
  194. package/dist/components/TariffsTable/EmbeddableCellData.js.map +1 -1
  195. package/dist/components/TariffsTable/TariffsTable.js +2 -2
  196. package/dist/components/TariffsTable/TariffsTable.js.map +1 -1
  197. package/dist/components/TariffsTable/TariffsTableContent.d.ts +1 -1
  198. package/dist/components/TariffsTable/TariffsTableRow.js +1 -1
  199. package/dist/components/TariffsTable/TariffsTableRow.js.map +1 -1
  200. package/dist/components/TariffsTable/TariffsTableWrapper.js.map +1 -1
  201. package/dist/components/TariffsTable/dataFixture.js +4 -1
  202. package/dist/components/TariffsTable/dataFixture.js.map +1 -1
  203. package/dist/content-page-repository/transformContentPage.js.map +1 -1
  204. package/dist/hooks/useActiveRoute.js +1 -1
  205. package/dist/hooks/useActiveRoute.js.map +1 -1
  206. package/dist/hooks/useSWRResource.js.map +1 -1
  207. package/dist/icons/IconName.d.ts +12 -66
  208. package/dist/icons/IconName.js +9 -63
  209. package/dist/icons/IconName.js.map +1 -1
  210. package/dist/model/Bullets.d.ts +4 -1
  211. package/dist/model/JSXBlock.d.ts +1 -0
  212. package/dist/services/search/useSearch.js.map +1 -1
  213. package/dist/ui-kit/BaseFiltration/BaseFiltrationContent.d.ts +2 -2
  214. package/dist/ui-kit/BaseFiltration/BaseFiltrationInner.d.ts +1 -1
  215. package/dist/ui-kit/BaseFiltration/BaseFiltrationInner.js +2 -5
  216. package/dist/ui-kit/BaseFiltration/BaseFiltrationInner.js.map +1 -1
  217. package/dist/ui-kit/Button/Button.js.map +1 -1
  218. package/dist/ui-kit/Button/getDisabledButtonClasses.js.map +1 -1
  219. package/dist/ui-kit/Checkbox/Checkbox.js +1 -1
  220. package/dist/ui-kit/Checkbox/Checkbox.js.map +1 -1
  221. package/dist/ui-kit/DatePicker/Calendar.d.ts +10 -0
  222. package/dist/ui-kit/DatePicker/Calendar.js +26 -0
  223. package/dist/ui-kit/DatePicker/Calendar.js.map +1 -0
  224. package/dist/ui-kit/DatePicker/DatePicker.d.ts +9 -0
  225. package/dist/ui-kit/DatePicker/DatePicker.js +44 -0
  226. package/dist/ui-kit/DatePicker/DatePicker.js.map +1 -0
  227. package/dist/ui-kit/DatePicker/getYears.d.ts +1 -0
  228. package/dist/ui-kit/DatePicker/getYears.js +6 -0
  229. package/dist/ui-kit/DatePicker/getYears.js.map +1 -0
  230. package/dist/ui-kit/DatePicker/months.d.ts +1 -0
  231. package/dist/ui-kit/DatePicker/months.js +17 -0
  232. package/dist/ui-kit/DatePicker/months.js.map +1 -0
  233. package/dist/ui-kit/DatePicker/renderCalendarCells.d.ts +12 -0
  234. package/dist/ui-kit/DatePicker/renderCalendarCells.js +35 -0
  235. package/dist/ui-kit/DatePicker/renderCalendarCells.js.map +1 -0
  236. package/dist/ui-kit/DatePicker/useDatePickerManager.d.ts +26 -0
  237. package/dist/ui-kit/DatePicker/useDatePickerManager.js +48 -0
  238. package/dist/ui-kit/DatePicker/useDatePickerManager.js.map +1 -0
  239. package/dist/ui-kit/Foldable/DefaultFoldButton.js.map +1 -1
  240. package/dist/ui-kit/Icon/Icon.js +1 -1
  241. package/dist/ui-kit/Icon/Icon.js.map +1 -1
  242. package/dist/ui-kit/InnerTable/InnerTableButton.js +1 -1
  243. package/dist/ui-kit/InnerTable/InnerTableButton.js.map +1 -1
  244. package/dist/ui-kit/InnerTable/getHorizontalShift.js.map +1 -1
  245. package/dist/ui-kit/InputRange/InputRange.js +1 -1
  246. package/dist/ui-kit/InputRange/InputRange.js.map +1 -1
  247. package/dist/ui-kit/InputRange/renderRangeWithTicks.js +2 -1
  248. package/dist/ui-kit/InputRange/renderRangeWithTicks.js.map +1 -1
  249. package/dist/ui-kit/List/ListContent.d.ts +1 -0
  250. package/dist/ui-kit/LocationDialog/LocationDialog.js +1 -1
  251. package/dist/ui-kit/LocationDialog/LocationDialog.js.map +1 -1
  252. package/dist/ui-kit/NotFound/NotFound.d.ts +2 -0
  253. package/dist/ui-kit/NotFound/NotFound.js +9 -0
  254. package/dist/ui-kit/NotFound/NotFound.js.map +1 -0
  255. package/dist/ui-kit/Pagination/PageSizeSelector.js +1 -1
  256. package/dist/ui-kit/Pagination/PageSizeSelector.js.map +1 -1
  257. package/dist/ui-kit/Paragraph/Paragraph.js.map +1 -1
  258. package/dist/ui-kit/Radio/Radio.d.ts +1 -1
  259. package/dist/ui-kit/Radio/Radio.js +2 -1
  260. package/dist/ui-kit/Radio/Radio.js.map +1 -1
  261. package/dist/ui-kit/RadioButtonGroup/RadioButtonGroup.js +1 -1
  262. package/dist/ui-kit/RadioButtonGroup/RadioButtonGroup.js.map +1 -1
  263. package/dist/ui-kit/RichText/RichText.js.map +1 -1
  264. package/dist/ui-kit/RichText/RichTextProps.d.ts +1 -0
  265. package/dist/ui-kit/SearchBar/SearchBar.js +1 -1
  266. package/dist/ui-kit/SearchBar/SearchBar.js.map +1 -1
  267. package/dist/ui-kit/SearchDialog/SearchInput.d.ts +1 -0
  268. package/dist/ui-kit/SearchDialog/SearchInput.js +2 -2
  269. package/dist/ui-kit/SearchDialog/SearchInput.js.map +1 -1
  270. package/dist/ui-kit/Select/Select.d.ts +3 -1
  271. package/dist/ui-kit/Select/Select.js +3 -3
  272. package/dist/ui-kit/Select/Select.js.map +1 -1
  273. package/dist/ui-kit/Select/SelectPopup.js +6 -1
  274. package/dist/ui-kit/Select/SelectPopup.js.map +1 -1
  275. package/dist/ui-kit/Select/filterOptions.js.map +1 -1
  276. package/dist/ui-kit/SwipeListControl/SwipeListControl.js +1 -1
  277. package/dist/ui-kit/SwipeListControl/SwipeListControl.js.map +1 -1
  278. package/dist/ui-kit/Text/Text.js.map +1 -1
  279. package/dist/ui-kit/Text/TextProps.d.ts +1 -0
  280. package/dist/ui-kit/TextWithIcon/TextWithIcon.js.map +1 -1
  281. package/dist/ui-kit/YandexMap/YandexMap.js +1 -1
  282. package/dist/ui-kit/YandexMap/YandexMap.js.map +1 -1
  283. package/dist/utils/formatDate.d.ts +1 -1
  284. package/dist/utils/formatDate.js +11 -1
  285. package/dist/utils/formatDate.js.map +1 -1
  286. package/lib/common.css +1 -1
  287. package/lib/components/ApplicationForm/ApplicationFormWed.js.map +1 -1
  288. package/lib/components/ApplicationForm/renderWedDataOrganization.d.ts +1 -1
  289. package/lib/components/ApplicationForm/renderWedDataOrganization.js.map +1 -1
  290. package/lib/components/ApplicationForm/renderWedTextarea.js.map +1 -1
  291. package/lib/components/BenefitsBlock/BenefitsBlock.js +1 -1
  292. package/lib/components/BenefitsBlock/BenefitsBlock.js.map +1 -1
  293. package/lib/components/BenefitsBlock/BenefitsBlockContent.d.ts +1 -1
  294. package/lib/components/Blocks.mobile.js +2 -2
  295. package/lib/components/Blocks.mobile.js.map +1 -1
  296. package/lib/components/Bonus/Bonus.js +1 -1
  297. package/lib/components/Bonus/Bonus.js.map +1 -1
  298. package/lib/components/Bonus/BonusContent.d.ts +1 -1
  299. package/lib/components/BonusBenefitsBlock/renderBonusBenefit.js +1 -1
  300. package/lib/components/BonusBenefitsBlock/renderBonusBenefit.js.map +1 -1
  301. package/lib/components/BusinessBlock/BusinessBlockContent.d.ts +1 -1
  302. package/lib/components/ButtonsBlock/ButtonsBlockContent.d.ts +1 -1
  303. package/lib/components/Calculator/UnknownRate.js +1 -1
  304. package/lib/components/Calculator/UnknownRate.js.map +1 -1
  305. package/lib/components/Calculator/getRefinancingCalculatorLimitParams.js.map +1 -1
  306. package/lib/components/Calculator/getRefinancingCalculatorRateParams.js +1 -1
  307. package/lib/components/Calculator/getRefinancingCalculatorRateParams.js.map +1 -1
  308. package/lib/components/Calculator/rangeHelpers.js +1 -1
  309. package/lib/components/Calculator/rangeHelpers.js.map +1 -1
  310. package/lib/components/CarouselCatalogCard/CarouselCatalogCardContent.d.ts +1 -1
  311. package/lib/components/CarouselProductCard/CarouselProductCard.d.ts +1 -1
  312. package/lib/components/CarouselProductCard/CarouselProductCard.js +1 -1
  313. package/lib/components/CarouselProductCard/CarouselProductCard.js.map +1 -1
  314. package/lib/components/CarouselProductCard/CarouselProductCardContent.d.ts +1 -1
  315. package/lib/components/CarouselProgramsCard/CarouselProgramsCardContent.d.ts +1 -1
  316. package/lib/components/CarouselRecommendationCard/CarouselRecommendationCard.js +2 -1
  317. package/lib/components/CarouselRecommendationCard/CarouselRecommendationCard.js.map +1 -1
  318. package/lib/components/CarouselRecommendationCard/ImageAlwaysOnRight.d.ts +1 -0
  319. package/lib/components/CarouselRecommendationCard/ImageAlwaysOnRight.js +2 -0
  320. package/lib/components/CarouselRecommendationCard/ImageAlwaysOnRight.js.map +1 -0
  321. package/lib/components/CarouselRecommendationCard/ImageAlwaysOnRight.mobile.d.ts +1 -0
  322. package/lib/components/CarouselRecommendationCard/ImageAlwaysOnRight.mobile.js +2 -0
  323. package/lib/components/CarouselRecommendationCard/ImageAlwaysOnRight.mobile.js.map +1 -0
  324. package/lib/components/ComparisonTable/ComparisonTable.js +1 -1
  325. package/lib/components/ComparisonTable/ComparisonTable.js.map +1 -1
  326. package/lib/components/ComparisonTable/HeaderCell.js +1 -1
  327. package/lib/components/ComparisonTable/HeaderCell.js.map +1 -1
  328. package/lib/components/ComparisonTable/TableCell.js +1 -1
  329. package/lib/components/ComparisonTable/TableCell.js.map +1 -1
  330. package/lib/components/ComparisonTable/TableCell.mobile.js +1 -1
  331. package/lib/components/ComparisonTable/TableCell.mobile.js.map +1 -1
  332. package/lib/components/ComparisonTable/TableColumn.js +1 -1
  333. package/lib/components/ComparisonTable/TableColumn.js.map +1 -1
  334. package/lib/components/ComparisonTable/TableRow.js +1 -1
  335. package/lib/components/ComparisonTable/TableRow.js.map +1 -1
  336. package/lib/components/Depository/Depository.d.ts +5 -0
  337. package/lib/components/Depository/Depository.js +15 -2
  338. package/lib/components/Depository/Depository.js.map +1 -1
  339. package/lib/components/Depository/DepositoryFilter.d.ts +9 -0
  340. package/lib/components/Depository/DepositoryFilter.js +6 -0
  341. package/lib/components/Depository/DepositoryFilter.js.map +1 -0
  342. package/lib/components/Depository/DepositoryItem.js +3 -2
  343. package/lib/components/Depository/DepositoryItem.js.map +1 -1
  344. package/lib/components/Depository/useDepository.d.ts +7 -1
  345. package/lib/components/Depository/useDepository.js +3 -2
  346. package/lib/components/Depository/useDepository.js.map +1 -1
  347. package/lib/components/ErrorBlock/ErrorBlock.js.map +1 -1
  348. package/lib/components/ErrorBlock/ErrorBlockContent.d.ts +1 -1
  349. package/lib/components/ExchangeRateTile/ExchangeCurrencyCalculator.d.ts +1 -1
  350. package/lib/components/ExchangeRateTile/ExchangeCurrencyCalculator.js.map +1 -1
  351. package/lib/components/Footer/Footer.js +1 -1
  352. package/lib/components/Footer/Footer.js.map +1 -1
  353. package/lib/components/Footer/Footer.mobile.js +2 -2
  354. package/lib/components/Footer/Footer.mobile.js.map +1 -1
  355. package/lib/components/Footer/LinkList.js +1 -1
  356. package/lib/components/Footer/LinkList.js.map +1 -1
  357. package/lib/components/Footer/TextInformation.js +1 -1
  358. package/lib/components/Footer/TextInformation.js.map +1 -1
  359. package/lib/components/GracePeriod/GracePeriod.js +1 -1
  360. package/lib/components/GracePeriod/GracePeriod.js.map +1 -1
  361. package/lib/components/Header/Header.js +1 -1
  362. package/lib/components/Header/Header.js.map +1 -1
  363. package/lib/components/Header/Header.mobile.js +2 -2
  364. package/lib/components/Header/Header.mobile.js.map +1 -1
  365. package/lib/components/Header/HeaderSecondaryMenuButton.js.map +1 -1
  366. package/lib/components/Header/HeaderTop.d.ts +1 -1
  367. package/lib/components/Header/HeaderTop.js +5 -5
  368. package/lib/components/Header/HeaderTop.js.map +1 -1
  369. package/lib/components/Header/InternetBankButton.js +1 -1
  370. package/lib/components/Header/InternetBankButton.js.map +1 -1
  371. package/lib/components/InsuranceAmountBlock/InsuranceAmountBlockInner.d.ts +1 -1
  372. package/lib/components/InsuranceAmountBlock/InsuranceAmountBlockInner.js.map +1 -1
  373. package/lib/components/MortgageFiltration/MortgageFiltration.js +1 -1
  374. package/lib/components/MortgageFiltration/MortgageFiltration.js.map +1 -1
  375. package/lib/components/OfficesAtmsMap/OfficesAtmsMapLayout.js +1 -1
  376. package/lib/components/OfficesAtmsMap/OfficesAtmsMapLayout.js.map +1 -1
  377. package/lib/components/ParagraphBlock/ParagraphBlockContent.d.ts +1 -1
  378. package/lib/components/ProductBlock/renderBackwardButton.js +1 -1
  379. package/lib/components/ProductBlock/renderBackwardButton.js.map +1 -1
  380. package/lib/components/RepresentativeOfficeInfo/RepresentativeOfficeInfo.js.map +1 -1
  381. package/lib/components/RepresentativeOfficeInfo/RepresentativeOfficeInfoContent.d.ts +2 -2
  382. package/lib/components/RollupItem/PrimaryFoldButton.js +3 -3
  383. package/lib/components/RollupItem/PrimaryFoldButton.js.map +1 -1
  384. package/lib/components/RollupItem/RollupItem.d.ts +1 -1
  385. package/lib/components/RollupItem/RollupItem.js +1 -1
  386. package/lib/components/RollupItem/RollupItem.js.map +1 -1
  387. package/lib/components/RollupItem/renderRoundedIcon.mobile.js.map +1 -1
  388. package/lib/components/SafeDepositRental/SafeDepositRental.js +1 -1
  389. package/lib/components/SafeDepositRental/SafeDepositRental.js.map +1 -1
  390. package/lib/components/SafeDepositRental/SafeDepositRentalFields.js +2 -2
  391. package/lib/components/SafeDepositRental/SafeDepositRentalFields.js.map +1 -1
  392. package/lib/components/SafeDepositRental/SafeDepositRentalForm.d.ts +1 -1
  393. package/lib/components/SafeDepositRental/SafeDepositRentalForm.js.map +1 -1
  394. package/lib/components/StepsBlock/StepsBlock.js +1 -1
  395. package/lib/components/StepsBlock/StepsBlock.js.map +1 -1
  396. package/lib/components/StepsBlock/StepsBlock.mobile.js +1 -1
  397. package/lib/components/StepsBlock/StepsBlock.mobile.js.map +1 -1
  398. package/lib/components/StepsBlock/StepsBlockContent.d.ts +2 -2
  399. package/lib/components/StickyBottomMenu/ActiveSubMenuItem.js +3 -3
  400. package/lib/components/StickyBottomMenu/ActiveSubMenuItem.js.map +1 -1
  401. package/lib/components/StickyBottomMenu/RenderItem.js +1 -1
  402. package/lib/components/StickyBottomMenu/RenderItem.js.map +1 -1
  403. package/lib/components/StickyBottomMenu/RenderMenuItems.js +1 -1
  404. package/lib/components/StickyBottomMenu/RenderMenuItems.js.map +1 -1
  405. package/lib/components/StickyBottomMenu/StickyBottomMenu.mobile.js +2 -2
  406. package/lib/components/StickyBottomMenu/StickyBottomMenu.mobile.js.map +1 -1
  407. package/lib/components/StickyBottomMenu/useBurgerMenuDialog.js +3 -3
  408. package/lib/components/StickyBottomMenu/useBurgerMenuDialog.js.map +1 -1
  409. package/lib/components/TariffsTable/EmbeddableCellData.d.ts +1 -1
  410. package/lib/components/TariffsTable/EmbeddableCellData.js.map +1 -1
  411. package/lib/components/TariffsTable/TariffsTable.js +2 -2
  412. package/lib/components/TariffsTable/TariffsTable.js.map +1 -1
  413. package/lib/components/TariffsTable/TariffsTableContent.d.ts +1 -1
  414. package/lib/components/TariffsTable/TariffsTableRow.js +1 -1
  415. package/lib/components/TariffsTable/TariffsTableRow.js.map +1 -1
  416. package/lib/components/TariffsTable/TariffsTableWrapper.js.map +1 -1
  417. package/lib/components/TariffsTable/dataFixture.js +4 -1
  418. package/lib/components/TariffsTable/dataFixture.js.map +1 -1
  419. package/lib/content-page-repository/transformContentPage.js.map +1 -1
  420. package/lib/hooks/useActiveRoute.js +1 -1
  421. package/lib/hooks/useActiveRoute.js.map +1 -1
  422. package/lib/hooks/useSWRResource.js.map +1 -1
  423. package/lib/icons/IconName.d.ts +12 -66
  424. package/lib/icons/IconName.js +9 -63
  425. package/lib/icons/IconName.js.map +1 -1
  426. package/lib/model/Bullets.d.ts +4 -1
  427. package/lib/model/JSXBlock.d.ts +1 -0
  428. package/lib/services/search/useSearch.js.map +1 -1
  429. package/lib/ui-kit/BaseFiltration/BaseFiltrationContent.d.ts +2 -2
  430. package/lib/ui-kit/BaseFiltration/BaseFiltrationInner.d.ts +1 -1
  431. package/lib/ui-kit/BaseFiltration/BaseFiltrationInner.js +2 -5
  432. package/lib/ui-kit/BaseFiltration/BaseFiltrationInner.js.map +1 -1
  433. package/lib/ui-kit/Button/Button.js.map +1 -1
  434. package/lib/ui-kit/Button/getDisabledButtonClasses.js.map +1 -1
  435. package/lib/ui-kit/Checkbox/Checkbox.js +1 -1
  436. package/lib/ui-kit/Checkbox/Checkbox.js.map +1 -1
  437. package/lib/ui-kit/DatePicker/Calendar.d.ts +10 -0
  438. package/lib/ui-kit/DatePicker/Calendar.js +24 -0
  439. package/lib/ui-kit/DatePicker/Calendar.js.map +1 -0
  440. package/lib/ui-kit/DatePicker/DatePicker.d.ts +9 -0
  441. package/lib/ui-kit/DatePicker/DatePicker.js +42 -0
  442. package/lib/ui-kit/DatePicker/DatePicker.js.map +1 -0
  443. package/lib/ui-kit/DatePicker/getYears.d.ts +1 -0
  444. package/lib/ui-kit/DatePicker/getYears.js +3 -0
  445. package/lib/ui-kit/DatePicker/getYears.js.map +1 -0
  446. package/lib/ui-kit/DatePicker/months.d.ts +1 -0
  447. package/lib/ui-kit/DatePicker/months.js +15 -0
  448. package/lib/ui-kit/DatePicker/months.js.map +1 -0
  449. package/lib/ui-kit/DatePicker/renderCalendarCells.d.ts +12 -0
  450. package/lib/ui-kit/DatePicker/renderCalendarCells.js +32 -0
  451. package/lib/ui-kit/DatePicker/renderCalendarCells.js.map +1 -0
  452. package/lib/ui-kit/DatePicker/useDatePickerManager.d.ts +26 -0
  453. package/lib/ui-kit/DatePicker/useDatePickerManager.js +45 -0
  454. package/lib/ui-kit/DatePicker/useDatePickerManager.js.map +1 -0
  455. package/lib/ui-kit/Foldable/DefaultFoldButton.js.map +1 -1
  456. package/lib/ui-kit/Icon/Icon.js +1 -1
  457. package/lib/ui-kit/Icon/Icon.js.map +1 -1
  458. package/lib/ui-kit/InnerTable/InnerTableButton.js +1 -1
  459. package/lib/ui-kit/InnerTable/InnerTableButton.js.map +1 -1
  460. package/lib/ui-kit/InnerTable/getHorizontalShift.js.map +1 -1
  461. package/lib/ui-kit/InputRange/InputRange.js +1 -1
  462. package/lib/ui-kit/InputRange/InputRange.js.map +1 -1
  463. package/lib/ui-kit/InputRange/renderRangeWithTicks.js +2 -1
  464. package/lib/ui-kit/InputRange/renderRangeWithTicks.js.map +1 -1
  465. package/lib/ui-kit/List/ListContent.d.ts +1 -0
  466. package/lib/ui-kit/LocationDialog/LocationDialog.js +1 -1
  467. package/lib/ui-kit/LocationDialog/LocationDialog.js.map +1 -1
  468. package/lib/ui-kit/NotFound/NotFound.d.ts +2 -0
  469. package/lib/ui-kit/NotFound/NotFound.js +7 -0
  470. package/lib/ui-kit/NotFound/NotFound.js.map +1 -0
  471. package/lib/ui-kit/Pagination/PageSizeSelector.js +1 -1
  472. package/lib/ui-kit/Pagination/PageSizeSelector.js.map +1 -1
  473. package/lib/ui-kit/Paragraph/Paragraph.js.map +1 -1
  474. package/lib/ui-kit/Radio/Radio.d.ts +1 -1
  475. package/lib/ui-kit/Radio/Radio.js +2 -1
  476. package/lib/ui-kit/Radio/Radio.js.map +1 -1
  477. package/lib/ui-kit/RadioButtonGroup/RadioButtonGroup.js +1 -1
  478. package/lib/ui-kit/RadioButtonGroup/RadioButtonGroup.js.map +1 -1
  479. package/lib/ui-kit/RichText/RichText.js.map +1 -1
  480. package/lib/ui-kit/RichText/RichTextProps.d.ts +1 -0
  481. package/lib/ui-kit/SearchBar/SearchBar.js +1 -1
  482. package/lib/ui-kit/SearchBar/SearchBar.js.map +1 -1
  483. package/lib/ui-kit/SearchDialog/SearchInput.d.ts +1 -0
  484. package/lib/ui-kit/SearchDialog/SearchInput.js +2 -2
  485. package/lib/ui-kit/SearchDialog/SearchInput.js.map +1 -1
  486. package/lib/ui-kit/Select/Select.d.ts +3 -1
  487. package/lib/ui-kit/Select/Select.js +3 -3
  488. package/lib/ui-kit/Select/Select.js.map +1 -1
  489. package/lib/ui-kit/Select/SelectPopup.js +6 -1
  490. package/lib/ui-kit/Select/SelectPopup.js.map +1 -1
  491. package/lib/ui-kit/Select/filterOptions.js.map +1 -1
  492. package/lib/ui-kit/SwipeListControl/SwipeListControl.js +1 -1
  493. package/lib/ui-kit/SwipeListControl/SwipeListControl.js.map +1 -1
  494. package/lib/ui-kit/Text/Text.js.map +1 -1
  495. package/lib/ui-kit/Text/TextProps.d.ts +1 -0
  496. package/lib/ui-kit/TextWithIcon/TextWithIcon.js.map +1 -1
  497. package/lib/ui-kit/YandexMap/YandexMap.js +1 -1
  498. package/lib/ui-kit/YandexMap/YandexMap.js.map +1 -1
  499. package/lib/utils/formatDate.d.ts +1 -1
  500. package/lib/utils/formatDate.js +11 -1
  501. package/lib/utils/formatDate.js.map +1 -1
  502. package/mobile/bundle/bundle.umd.js +475 -466
  503. package/mobile/bundle/bundle.umd.min.js +1 -1
  504. package/mobile/bundle/components/ApplicationForm/renderWedDataOrganization.d.ts +1 -1
  505. package/mobile/bundle/components/BenefitsBlock/BenefitsBlockContent.d.ts +1 -1
  506. package/mobile/bundle/components/Bonus/BonusContent.d.ts +1 -1
  507. package/mobile/bundle/components/BusinessBlock/BusinessBlockContent.d.ts +1 -1
  508. package/mobile/bundle/components/ButtonsBlock/ButtonsBlockContent.d.ts +1 -1
  509. package/mobile/bundle/components/CarouselCatalogCard/CarouselCatalogCardContent.d.ts +1 -1
  510. package/mobile/bundle/components/CarouselProductCard/CarouselProductCard.d.ts +1 -1
  511. package/mobile/bundle/components/CarouselProductCard/CarouselProductCardContent.d.ts +1 -1
  512. package/mobile/bundle/components/CarouselProgramsCard/CarouselProgramsCardContent.d.ts +1 -1
  513. package/mobile/bundle/components/CarouselRecommendationCard/ImageAlwaysOnRight.d.ts +1 -0
  514. package/mobile/bundle/components/Depository/Depository.d.ts +5 -0
  515. package/mobile/bundle/components/Depository/DepositoryFilter.d.ts +9 -0
  516. package/mobile/bundle/components/Depository/useDepository.d.ts +7 -1
  517. package/mobile/bundle/components/ErrorBlock/ErrorBlockContent.d.ts +1 -1
  518. package/mobile/bundle/components/ExchangeRateTile/ExchangeCurrencyCalculator.d.ts +1 -1
  519. package/mobile/bundle/components/Header/HeaderTop.d.ts +1 -1
  520. package/mobile/bundle/components/InsuranceAmountBlock/InsuranceAmountBlockInner.d.ts +1 -1
  521. package/mobile/bundle/components/ParagraphBlock/ParagraphBlockContent.d.ts +1 -1
  522. package/mobile/bundle/components/RepresentativeOfficeInfo/RepresentativeOfficeInfoContent.d.ts +2 -2
  523. package/mobile/bundle/components/RollupItem/RollupItem.d.ts +1 -1
  524. package/mobile/bundle/components/SafeDepositRental/SafeDepositRentalForm.d.ts +1 -1
  525. package/mobile/bundle/components/StepsBlock/StepsBlockContent.d.ts +2 -2
  526. package/mobile/bundle/components/TariffsTable/EmbeddableCellData.d.ts +1 -1
  527. package/mobile/bundle/components/TariffsTable/TariffsTableContent.d.ts +1 -1
  528. package/mobile/bundle/icons/IconName.d.ts +12 -66
  529. package/mobile/bundle/model/Bullets.d.ts +4 -1
  530. package/mobile/bundle/model/JSXBlock.d.ts +1 -0
  531. package/mobile/bundle/ui-kit/BaseFiltration/BaseFiltrationContent.d.ts +2 -2
  532. package/mobile/bundle/ui-kit/BaseFiltration/BaseFiltrationInner.d.ts +1 -1
  533. package/mobile/bundle/ui-kit/DatePicker/Calendar.d.ts +10 -0
  534. package/mobile/bundle/ui-kit/DatePicker/DatePicker.d.ts +9 -0
  535. package/mobile/bundle/ui-kit/DatePicker/getYears.d.ts +1 -0
  536. package/mobile/bundle/ui-kit/DatePicker/months.d.ts +1 -0
  537. package/mobile/bundle/ui-kit/DatePicker/renderCalendarCells.d.ts +12 -0
  538. package/mobile/bundle/ui-kit/DatePicker/useDatePickerManager.d.ts +26 -0
  539. package/mobile/bundle/ui-kit/List/ListContent.d.ts +1 -0
  540. package/mobile/bundle/ui-kit/NotFound/NotFound.d.ts +2 -0
  541. package/mobile/bundle/ui-kit/Radio/Radio.d.ts +1 -1
  542. package/mobile/bundle/ui-kit/RichText/RichTextProps.d.ts +1 -0
  543. package/mobile/bundle/ui-kit/SearchDialog/SearchInput.d.ts +1 -0
  544. package/mobile/bundle/ui-kit/Select/Select.d.ts +3 -1
  545. package/mobile/bundle/ui-kit/Text/TextProps.d.ts +1 -0
  546. package/mobile/bundle/utils/formatDate.d.ts +1 -1
  547. package/mobile/dist/components/ApplicationForm/ApplicationFormWed.js.map +1 -1
  548. package/mobile/dist/components/ApplicationForm/renderWedDataOrganization.d.ts +1 -1
  549. package/mobile/dist/components/ApplicationForm/renderWedDataOrganization.js.map +1 -1
  550. package/mobile/dist/components/ApplicationForm/renderWedTextarea.js.map +1 -1
  551. package/mobile/dist/components/BenefitsBlock/BenefitsBlock.js +1 -1
  552. package/mobile/dist/components/BenefitsBlock/BenefitsBlock.js.map +1 -1
  553. package/mobile/dist/components/BenefitsBlock/BenefitsBlockContent.d.ts +1 -1
  554. package/mobile/dist/components/Blocks.js +2 -2
  555. package/mobile/dist/components/Blocks.js.map +1 -1
  556. package/mobile/dist/components/Bonus/Bonus.js +1 -1
  557. package/mobile/dist/components/Bonus/Bonus.js.map +1 -1
  558. package/mobile/dist/components/Bonus/BonusContent.d.ts +1 -1
  559. package/mobile/dist/components/BonusBenefitsBlock/renderBonusBenefit.js +1 -1
  560. package/mobile/dist/components/BonusBenefitsBlock/renderBonusBenefit.js.map +1 -1
  561. package/mobile/dist/components/BusinessBlock/BusinessBlockContent.d.ts +1 -1
  562. package/mobile/dist/components/ButtonsBlock/ButtonsBlockContent.d.ts +1 -1
  563. package/mobile/dist/components/Calculator/UnknownRate.js +1 -1
  564. package/mobile/dist/components/Calculator/UnknownRate.js.map +1 -1
  565. package/mobile/dist/components/Calculator/getRefinancingCalculatorLimitParams.js.map +1 -1
  566. package/mobile/dist/components/Calculator/getRefinancingCalculatorRateParams.js +1 -1
  567. package/mobile/dist/components/Calculator/getRefinancingCalculatorRateParams.js.map +1 -1
  568. package/mobile/dist/components/Calculator/rangeHelpers.js +1 -1
  569. package/mobile/dist/components/Calculator/rangeHelpers.js.map +1 -1
  570. package/mobile/dist/components/CarouselCatalogCard/CarouselCatalogCardContent.d.ts +1 -1
  571. package/mobile/dist/components/CarouselProductCard/CarouselProductCard.d.ts +1 -1
  572. package/mobile/dist/components/CarouselProductCard/CarouselProductCard.js +1 -1
  573. package/mobile/dist/components/CarouselProductCard/CarouselProductCard.js.map +1 -1
  574. package/mobile/dist/components/CarouselProductCard/CarouselProductCardContent.d.ts +1 -1
  575. package/mobile/dist/components/CarouselProgramsCard/CarouselProgramsCardContent.d.ts +1 -1
  576. package/mobile/dist/components/CarouselRecommendationCard/CarouselRecommendationCard.js +5 -3
  577. package/mobile/dist/components/CarouselRecommendationCard/CarouselRecommendationCard.js.map +1 -1
  578. package/mobile/dist/components/CarouselRecommendationCard/ImageAlwaysOnRight.d.ts +1 -0
  579. package/mobile/dist/components/CarouselRecommendationCard/ImageAlwaysOnRight.js +4 -0
  580. package/mobile/dist/components/CarouselRecommendationCard/ImageAlwaysOnRight.js.map +1 -0
  581. package/mobile/dist/components/ComparisonTable/TableCell.js +1 -1
  582. package/mobile/dist/components/ComparisonTable/TableCell.js.map +1 -1
  583. package/mobile/dist/components/ComparisonTable/TableColumn.js +1 -1
  584. package/mobile/dist/components/ComparisonTable/TableColumn.js.map +1 -1
  585. package/mobile/dist/components/ComparisonTable/TableRow.js +1 -1
  586. package/mobile/dist/components/ComparisonTable/TableRow.js.map +1 -1
  587. package/mobile/dist/components/Depository/Depository.d.ts +5 -0
  588. package/mobile/dist/components/Depository/Depository.js +15 -2
  589. package/mobile/dist/components/Depository/Depository.js.map +1 -1
  590. package/mobile/dist/components/Depository/DepositoryFilter.d.ts +9 -0
  591. package/mobile/dist/components/Depository/DepositoryFilter.js +8 -0
  592. package/mobile/dist/components/Depository/DepositoryFilter.js.map +1 -0
  593. package/mobile/dist/components/Depository/DepositoryItem.js +3 -2
  594. package/mobile/dist/components/Depository/DepositoryItem.js.map +1 -1
  595. package/mobile/dist/components/Depository/useDepository.d.ts +7 -1
  596. package/mobile/dist/components/Depository/useDepository.js +3 -2
  597. package/mobile/dist/components/Depository/useDepository.js.map +1 -1
  598. package/mobile/dist/components/ErrorBlock/ErrorBlock.js.map +1 -1
  599. package/mobile/dist/components/ErrorBlock/ErrorBlockContent.d.ts +1 -1
  600. package/mobile/dist/components/ExchangeRateTile/ExchangeCurrencyCalculator.d.ts +1 -1
  601. package/mobile/dist/components/ExchangeRateTile/ExchangeCurrencyCalculator.js.map +1 -1
  602. package/mobile/dist/components/Footer/Footer.js +2 -2
  603. package/mobile/dist/components/Footer/Footer.js.map +1 -1
  604. package/mobile/dist/components/Footer/LinkList.js +1 -1
  605. package/mobile/dist/components/Footer/LinkList.js.map +1 -1
  606. package/mobile/dist/components/Footer/TextInformation.js +1 -1
  607. package/mobile/dist/components/Footer/TextInformation.js.map +1 -1
  608. package/mobile/dist/components/GracePeriod/GracePeriod.js +1 -1
  609. package/mobile/dist/components/GracePeriod/GracePeriod.js.map +1 -1
  610. package/mobile/dist/components/Header/Header.js +2 -2
  611. package/mobile/dist/components/Header/Header.js.map +1 -1
  612. package/mobile/dist/components/Header/HeaderSecondaryMenuButton.js.map +1 -1
  613. package/mobile/dist/components/Header/HeaderTop.d.ts +1 -1
  614. package/mobile/dist/components/Header/HeaderTop.js +5 -5
  615. package/mobile/dist/components/Header/HeaderTop.js.map +1 -1
  616. package/mobile/dist/components/Header/InternetBankButton.js +1 -1
  617. package/mobile/dist/components/Header/InternetBankButton.js.map +1 -1
  618. package/mobile/dist/components/InsuranceAmountBlock/InsuranceAmountBlockInner.d.ts +1 -1
  619. package/mobile/dist/components/InsuranceAmountBlock/InsuranceAmountBlockInner.js.map +1 -1
  620. package/mobile/dist/components/MortgageFiltration/MortgageFiltration.js +1 -1
  621. package/mobile/dist/components/MortgageFiltration/MortgageFiltration.js.map +1 -1
  622. package/mobile/dist/components/OfficesAtmsMap/OfficesAtmsMapLayout.js +1 -1
  623. package/mobile/dist/components/OfficesAtmsMap/OfficesAtmsMapLayout.js.map +1 -1
  624. package/mobile/dist/components/ParagraphBlock/ParagraphBlockContent.d.ts +1 -1
  625. package/mobile/dist/components/ProductBlock/renderBackwardButton.js +1 -1
  626. package/mobile/dist/components/ProductBlock/renderBackwardButton.js.map +1 -1
  627. package/mobile/dist/components/RepresentativeOfficeInfo/RepresentativeOfficeInfo.js.map +1 -1
  628. package/mobile/dist/components/RepresentativeOfficeInfo/RepresentativeOfficeInfoContent.d.ts +2 -2
  629. package/mobile/dist/components/RollupItem/PrimaryFoldButton.js +3 -3
  630. package/mobile/dist/components/RollupItem/PrimaryFoldButton.js.map +1 -1
  631. package/mobile/dist/components/RollupItem/RollupItem.d.ts +1 -1
  632. package/mobile/dist/components/RollupItem/RollupItem.js +1 -1
  633. package/mobile/dist/components/RollupItem/RollupItem.js.map +1 -1
  634. package/mobile/dist/components/RollupItem/renderRoundedIcon.js.map +1 -1
  635. package/mobile/dist/components/SafeDepositRental/SafeDepositRental.js +1 -1
  636. package/mobile/dist/components/SafeDepositRental/SafeDepositRental.js.map +1 -1
  637. package/mobile/dist/components/SafeDepositRental/SafeDepositRentalFields.js +2 -2
  638. package/mobile/dist/components/SafeDepositRental/SafeDepositRentalFields.js.map +1 -1
  639. package/mobile/dist/components/SafeDepositRental/SafeDepositRentalForm.d.ts +1 -1
  640. package/mobile/dist/components/SafeDepositRental/SafeDepositRentalForm.js.map +1 -1
  641. package/mobile/dist/components/StepsBlock/StepsBlock.js +1 -1
  642. package/mobile/dist/components/StepsBlock/StepsBlock.js.map +1 -1
  643. package/mobile/dist/components/StepsBlock/StepsBlockContent.d.ts +2 -2
  644. package/mobile/dist/components/StickyBottomMenu/ActiveSubMenuItem.js +3 -3
  645. package/mobile/dist/components/StickyBottomMenu/ActiveSubMenuItem.js.map +1 -1
  646. package/mobile/dist/components/StickyBottomMenu/RenderItem.js +1 -1
  647. package/mobile/dist/components/StickyBottomMenu/RenderItem.js.map +1 -1
  648. package/mobile/dist/components/StickyBottomMenu/RenderMenuItems.js +1 -1
  649. package/mobile/dist/components/StickyBottomMenu/RenderMenuItems.js.map +1 -1
  650. package/mobile/dist/components/StickyBottomMenu/StickyBottomMenu.js +2 -2
  651. package/mobile/dist/components/StickyBottomMenu/StickyBottomMenu.js.map +1 -1
  652. package/mobile/dist/components/StickyBottomMenu/useBurgerMenuDialog.js +3 -3
  653. package/mobile/dist/components/StickyBottomMenu/useBurgerMenuDialog.js.map +1 -1
  654. package/mobile/dist/components/TariffsTable/EmbeddableCellData.d.ts +1 -1
  655. package/mobile/dist/components/TariffsTable/EmbeddableCellData.js.map +1 -1
  656. package/mobile/dist/components/TariffsTable/TariffsTable.js +2 -2
  657. package/mobile/dist/components/TariffsTable/TariffsTable.js.map +1 -1
  658. package/mobile/dist/components/TariffsTable/TariffsTableContent.d.ts +1 -1
  659. package/mobile/dist/components/TariffsTable/TariffsTableRow.js +1 -1
  660. package/mobile/dist/components/TariffsTable/TariffsTableRow.js.map +1 -1
  661. package/mobile/dist/components/TariffsTable/TariffsTableWrapper.js.map +1 -1
  662. package/mobile/dist/components/TariffsTable/dataFixture.js +4 -1
  663. package/mobile/dist/components/TariffsTable/dataFixture.js.map +1 -1
  664. package/mobile/dist/content-page-repository/transformContentPage.js.map +1 -1
  665. package/mobile/dist/hooks/useActiveRoute.js +1 -1
  666. package/mobile/dist/hooks/useActiveRoute.js.map +1 -1
  667. package/mobile/dist/hooks/useSWRResource.js.map +1 -1
  668. package/mobile/dist/icons/IconName.d.ts +12 -66
  669. package/mobile/dist/icons/IconName.js +9 -63
  670. package/mobile/dist/icons/IconName.js.map +1 -1
  671. package/mobile/dist/model/Bullets.d.ts +4 -1
  672. package/mobile/dist/model/JSXBlock.d.ts +1 -0
  673. package/mobile/dist/services/search/useSearch.js.map +1 -1
  674. package/mobile/dist/ui-kit/BaseFiltration/BaseFiltrationContent.d.ts +2 -2
  675. package/mobile/dist/ui-kit/BaseFiltration/BaseFiltrationInner.d.ts +1 -1
  676. package/mobile/dist/ui-kit/BaseFiltration/BaseFiltrationInner.js +2 -5
  677. package/mobile/dist/ui-kit/BaseFiltration/BaseFiltrationInner.js.map +1 -1
  678. package/mobile/dist/ui-kit/Button/Button.js.map +1 -1
  679. package/mobile/dist/ui-kit/Button/getDisabledButtonClasses.js.map +1 -1
  680. package/mobile/dist/ui-kit/Checkbox/Checkbox.js +1 -1
  681. package/mobile/dist/ui-kit/Checkbox/Checkbox.js.map +1 -1
  682. package/mobile/dist/ui-kit/DatePicker/Calendar.d.ts +10 -0
  683. package/mobile/dist/ui-kit/DatePicker/Calendar.js +26 -0
  684. package/mobile/dist/ui-kit/DatePicker/Calendar.js.map +1 -0
  685. package/mobile/dist/ui-kit/DatePicker/DatePicker.d.ts +9 -0
  686. package/mobile/dist/ui-kit/DatePicker/DatePicker.js +44 -0
  687. package/mobile/dist/ui-kit/DatePicker/DatePicker.js.map +1 -0
  688. package/mobile/dist/ui-kit/DatePicker/getYears.d.ts +1 -0
  689. package/mobile/dist/ui-kit/DatePicker/getYears.js +6 -0
  690. package/mobile/dist/ui-kit/DatePicker/getYears.js.map +1 -0
  691. package/mobile/dist/ui-kit/DatePicker/months.d.ts +1 -0
  692. package/mobile/dist/ui-kit/DatePicker/months.js +17 -0
  693. package/mobile/dist/ui-kit/DatePicker/months.js.map +1 -0
  694. package/mobile/dist/ui-kit/DatePicker/renderCalendarCells.d.ts +12 -0
  695. package/mobile/dist/ui-kit/DatePicker/renderCalendarCells.js +35 -0
  696. package/mobile/dist/ui-kit/DatePicker/renderCalendarCells.js.map +1 -0
  697. package/mobile/dist/ui-kit/DatePicker/useDatePickerManager.d.ts +26 -0
  698. package/mobile/dist/ui-kit/DatePicker/useDatePickerManager.js +48 -0
  699. package/mobile/dist/ui-kit/DatePicker/useDatePickerManager.js.map +1 -0
  700. package/mobile/dist/ui-kit/Foldable/DefaultFoldButton.js.map +1 -1
  701. package/mobile/dist/ui-kit/Icon/Icon.js +1 -1
  702. package/mobile/dist/ui-kit/Icon/Icon.js.map +1 -1
  703. package/mobile/dist/ui-kit/InnerTable/InnerTableButton.js +1 -1
  704. package/mobile/dist/ui-kit/InnerTable/InnerTableButton.js.map +1 -1
  705. package/mobile/dist/ui-kit/InnerTable/getHorizontalShift.js.map +1 -1
  706. package/mobile/dist/ui-kit/InputRange/InputRange.js +1 -1
  707. package/mobile/dist/ui-kit/InputRange/InputRange.js.map +1 -1
  708. package/mobile/dist/ui-kit/InputRange/renderRangeWithTicks.js +2 -1
  709. package/mobile/dist/ui-kit/InputRange/renderRangeWithTicks.js.map +1 -1
  710. package/mobile/dist/ui-kit/List/ListContent.d.ts +1 -0
  711. package/mobile/dist/ui-kit/LocationDialog/LocationDialog.js +1 -1
  712. package/mobile/dist/ui-kit/LocationDialog/LocationDialog.js.map +1 -1
  713. package/mobile/dist/ui-kit/NotFound/NotFound.d.ts +2 -0
  714. package/mobile/dist/ui-kit/NotFound/NotFound.js +9 -0
  715. package/mobile/dist/ui-kit/NotFound/NotFound.js.map +1 -0
  716. package/mobile/dist/ui-kit/Pagination/PageSizeSelector.js +1 -1
  717. package/mobile/dist/ui-kit/Pagination/PageSizeSelector.js.map +1 -1
  718. package/mobile/dist/ui-kit/Paragraph/Paragraph.js.map +1 -1
  719. package/mobile/dist/ui-kit/Radio/Radio.d.ts +1 -1
  720. package/mobile/dist/ui-kit/Radio/Radio.js +2 -1
  721. package/mobile/dist/ui-kit/Radio/Radio.js.map +1 -1
  722. package/mobile/dist/ui-kit/RadioButtonGroup/RadioButtonGroup.js +1 -1
  723. package/mobile/dist/ui-kit/RadioButtonGroup/RadioButtonGroup.js.map +1 -1
  724. package/mobile/dist/ui-kit/RichText/RichText.js.map +1 -1
  725. package/mobile/dist/ui-kit/RichText/RichTextProps.d.ts +1 -0
  726. package/mobile/dist/ui-kit/SearchBar/SearchBar.js +1 -1
  727. package/mobile/dist/ui-kit/SearchBar/SearchBar.js.map +1 -1
  728. package/mobile/dist/ui-kit/SearchDialog/SearchInput.d.ts +1 -0
  729. package/mobile/dist/ui-kit/SearchDialog/SearchInput.js +2 -2
  730. package/mobile/dist/ui-kit/SearchDialog/SearchInput.js.map +1 -1
  731. package/mobile/dist/ui-kit/Select/Select.d.ts +3 -1
  732. package/mobile/dist/ui-kit/Select/Select.js +3 -3
  733. package/mobile/dist/ui-kit/Select/Select.js.map +1 -1
  734. package/mobile/dist/ui-kit/Select/SelectPopup.js +6 -1
  735. package/mobile/dist/ui-kit/Select/SelectPopup.js.map +1 -1
  736. package/mobile/dist/ui-kit/Select/filterOptions.js.map +1 -1
  737. package/mobile/dist/ui-kit/SwipeListControl/SwipeListControl.js +1 -1
  738. package/mobile/dist/ui-kit/SwipeListControl/SwipeListControl.js.map +1 -1
  739. package/mobile/dist/ui-kit/Text/Text.js.map +1 -1
  740. package/mobile/dist/ui-kit/Text/TextProps.d.ts +1 -0
  741. package/mobile/dist/ui-kit/TextWithIcon/TextWithIcon.js.map +1 -1
  742. package/mobile/dist/ui-kit/YandexMap/YandexMap.js +1 -1
  743. package/mobile/dist/ui-kit/YandexMap/YandexMap.js.map +1 -1
  744. package/mobile/dist/utils/formatDate.d.ts +1 -1
  745. package/mobile/dist/utils/formatDate.js +11 -1
  746. package/mobile/dist/utils/formatDate.js.map +1 -1
  747. package/mobile/lib/common.css +1 -1
  748. package/mobile/lib/components/ApplicationForm/ApplicationFormWed.js.map +1 -1
  749. package/mobile/lib/components/ApplicationForm/renderWedDataOrganization.d.ts +1 -1
  750. package/mobile/lib/components/ApplicationForm/renderWedDataOrganization.js.map +1 -1
  751. package/mobile/lib/components/ApplicationForm/renderWedTextarea.js.map +1 -1
  752. package/mobile/lib/components/BenefitsBlock/BenefitsBlock.js +1 -1
  753. package/mobile/lib/components/BenefitsBlock/BenefitsBlock.js.map +1 -1
  754. package/mobile/lib/components/BenefitsBlock/BenefitsBlockContent.d.ts +1 -1
  755. package/mobile/lib/components/Blocks.js +2 -2
  756. package/mobile/lib/components/Blocks.js.map +1 -1
  757. package/mobile/lib/components/Bonus/Bonus.js +1 -1
  758. package/mobile/lib/components/Bonus/Bonus.js.map +1 -1
  759. package/mobile/lib/components/Bonus/BonusContent.d.ts +1 -1
  760. package/mobile/lib/components/BonusBenefitsBlock/renderBonusBenefit.js +1 -1
  761. package/mobile/lib/components/BonusBenefitsBlock/renderBonusBenefit.js.map +1 -1
  762. package/mobile/lib/components/BusinessBlock/BusinessBlockContent.d.ts +1 -1
  763. package/mobile/lib/components/ButtonsBlock/ButtonsBlockContent.d.ts +1 -1
  764. package/mobile/lib/components/Calculator/UnknownRate.js +1 -1
  765. package/mobile/lib/components/Calculator/UnknownRate.js.map +1 -1
  766. package/mobile/lib/components/Calculator/getRefinancingCalculatorLimitParams.js.map +1 -1
  767. package/mobile/lib/components/Calculator/getRefinancingCalculatorRateParams.js +1 -1
  768. package/mobile/lib/components/Calculator/getRefinancingCalculatorRateParams.js.map +1 -1
  769. package/mobile/lib/components/Calculator/rangeHelpers.js +1 -1
  770. package/mobile/lib/components/Calculator/rangeHelpers.js.map +1 -1
  771. package/mobile/lib/components/CarouselCatalogCard/CarouselCatalogCardContent.d.ts +1 -1
  772. package/mobile/lib/components/CarouselProductCard/CarouselProductCard.d.ts +1 -1
  773. package/mobile/lib/components/CarouselProductCard/CarouselProductCard.js +1 -1
  774. package/mobile/lib/components/CarouselProductCard/CarouselProductCard.js.map +1 -1
  775. package/mobile/lib/components/CarouselProductCard/CarouselProductCardContent.d.ts +1 -1
  776. package/mobile/lib/components/CarouselProgramsCard/CarouselProgramsCardContent.d.ts +1 -1
  777. package/mobile/lib/components/CarouselRecommendationCard/CarouselRecommendationCard.js +6 -4
  778. package/mobile/lib/components/CarouselRecommendationCard/CarouselRecommendationCard.js.map +1 -1
  779. package/mobile/lib/components/CarouselRecommendationCard/ImageAlwaysOnRight.d.ts +1 -0
  780. package/mobile/lib/components/CarouselRecommendationCard/ImageAlwaysOnRight.js +2 -0
  781. package/mobile/lib/components/CarouselRecommendationCard/ImageAlwaysOnRight.js.map +1 -0
  782. package/mobile/lib/components/ComparisonTable/TableCell.js +1 -1
  783. package/mobile/lib/components/ComparisonTable/TableCell.js.map +1 -1
  784. package/mobile/lib/components/ComparisonTable/TableColumn.js +1 -1
  785. package/mobile/lib/components/ComparisonTable/TableColumn.js.map +1 -1
  786. package/mobile/lib/components/ComparisonTable/TableRow.js +1 -1
  787. package/mobile/lib/components/ComparisonTable/TableRow.js.map +1 -1
  788. package/mobile/lib/components/Depository/Depository.d.ts +5 -0
  789. package/mobile/lib/components/Depository/Depository.js +15 -2
  790. package/mobile/lib/components/Depository/Depository.js.map +1 -1
  791. package/mobile/lib/components/Depository/DepositoryFilter.d.ts +9 -0
  792. package/mobile/lib/components/Depository/DepositoryFilter.js +6 -0
  793. package/mobile/lib/components/Depository/DepositoryFilter.js.map +1 -0
  794. package/mobile/lib/components/Depository/DepositoryItem.js +3 -2
  795. package/mobile/lib/components/Depository/DepositoryItem.js.map +1 -1
  796. package/mobile/lib/components/Depository/useDepository.d.ts +7 -1
  797. package/mobile/lib/components/Depository/useDepository.js +3 -2
  798. package/mobile/lib/components/Depository/useDepository.js.map +1 -1
  799. package/mobile/lib/components/ErrorBlock/ErrorBlock.js.map +1 -1
  800. package/mobile/lib/components/ErrorBlock/ErrorBlockContent.d.ts +1 -1
  801. package/mobile/lib/components/ExchangeRateTile/ExchangeCurrencyCalculator.d.ts +1 -1
  802. package/mobile/lib/components/ExchangeRateTile/ExchangeCurrencyCalculator.js.map +1 -1
  803. package/mobile/lib/components/Footer/Footer.js +2 -2
  804. package/mobile/lib/components/Footer/Footer.js.map +1 -1
  805. package/mobile/lib/components/Footer/LinkList.js +1 -1
  806. package/mobile/lib/components/Footer/LinkList.js.map +1 -1
  807. package/mobile/lib/components/Footer/TextInformation.js +1 -1
  808. package/mobile/lib/components/Footer/TextInformation.js.map +1 -1
  809. package/mobile/lib/components/GracePeriod/GracePeriod.js +1 -1
  810. package/mobile/lib/components/GracePeriod/GracePeriod.js.map +1 -1
  811. package/mobile/lib/components/Header/Header.js +2 -2
  812. package/mobile/lib/components/Header/Header.js.map +1 -1
  813. package/mobile/lib/components/Header/HeaderSecondaryMenuButton.js.map +1 -1
  814. package/mobile/lib/components/Header/HeaderTop.d.ts +1 -1
  815. package/mobile/lib/components/Header/HeaderTop.js +5 -5
  816. package/mobile/lib/components/Header/HeaderTop.js.map +1 -1
  817. package/mobile/lib/components/Header/InternetBankButton.js +1 -1
  818. package/mobile/lib/components/Header/InternetBankButton.js.map +1 -1
  819. package/mobile/lib/components/InsuranceAmountBlock/InsuranceAmountBlockInner.d.ts +1 -1
  820. package/mobile/lib/components/InsuranceAmountBlock/InsuranceAmountBlockInner.js.map +1 -1
  821. package/mobile/lib/components/MortgageFiltration/MortgageFiltration.js +1 -1
  822. package/mobile/lib/components/MortgageFiltration/MortgageFiltration.js.map +1 -1
  823. package/mobile/lib/components/OfficesAtmsMap/OfficesAtmsMapLayout.js +1 -1
  824. package/mobile/lib/components/OfficesAtmsMap/OfficesAtmsMapLayout.js.map +1 -1
  825. package/mobile/lib/components/ParagraphBlock/ParagraphBlockContent.d.ts +1 -1
  826. package/mobile/lib/components/ProductBlock/renderBackwardButton.js +1 -1
  827. package/mobile/lib/components/ProductBlock/renderBackwardButton.js.map +1 -1
  828. package/mobile/lib/components/RepresentativeOfficeInfo/RepresentativeOfficeInfo.js.map +1 -1
  829. package/mobile/lib/components/RepresentativeOfficeInfo/RepresentativeOfficeInfoContent.d.ts +2 -2
  830. package/mobile/lib/components/RollupItem/PrimaryFoldButton.js +3 -3
  831. package/mobile/lib/components/RollupItem/PrimaryFoldButton.js.map +1 -1
  832. package/mobile/lib/components/RollupItem/RollupItem.d.ts +1 -1
  833. package/mobile/lib/components/RollupItem/RollupItem.js +1 -1
  834. package/mobile/lib/components/RollupItem/RollupItem.js.map +1 -1
  835. package/mobile/lib/components/RollupItem/renderRoundedIcon.js.map +1 -1
  836. package/mobile/lib/components/SafeDepositRental/SafeDepositRental.js +1 -1
  837. package/mobile/lib/components/SafeDepositRental/SafeDepositRental.js.map +1 -1
  838. package/mobile/lib/components/SafeDepositRental/SafeDepositRentalFields.js +2 -2
  839. package/mobile/lib/components/SafeDepositRental/SafeDepositRentalFields.js.map +1 -1
  840. package/mobile/lib/components/SafeDepositRental/SafeDepositRentalForm.d.ts +1 -1
  841. package/mobile/lib/components/SafeDepositRental/SafeDepositRentalForm.js.map +1 -1
  842. package/mobile/lib/components/StepsBlock/StepsBlock.js +1 -1
  843. package/mobile/lib/components/StepsBlock/StepsBlock.js.map +1 -1
  844. package/mobile/lib/components/StepsBlock/StepsBlockContent.d.ts +2 -2
  845. package/mobile/lib/components/StickyBottomMenu/ActiveSubMenuItem.js +3 -3
  846. package/mobile/lib/components/StickyBottomMenu/ActiveSubMenuItem.js.map +1 -1
  847. package/mobile/lib/components/StickyBottomMenu/RenderItem.js +1 -1
  848. package/mobile/lib/components/StickyBottomMenu/RenderItem.js.map +1 -1
  849. package/mobile/lib/components/StickyBottomMenu/RenderMenuItems.js +1 -1
  850. package/mobile/lib/components/StickyBottomMenu/RenderMenuItems.js.map +1 -1
  851. package/mobile/lib/components/StickyBottomMenu/StickyBottomMenu.js +2 -2
  852. package/mobile/lib/components/StickyBottomMenu/StickyBottomMenu.js.map +1 -1
  853. package/mobile/lib/components/StickyBottomMenu/useBurgerMenuDialog.js +3 -3
  854. package/mobile/lib/components/StickyBottomMenu/useBurgerMenuDialog.js.map +1 -1
  855. package/mobile/lib/components/TariffsTable/EmbeddableCellData.d.ts +1 -1
  856. package/mobile/lib/components/TariffsTable/EmbeddableCellData.js.map +1 -1
  857. package/mobile/lib/components/TariffsTable/TariffsTable.js +2 -2
  858. package/mobile/lib/components/TariffsTable/TariffsTable.js.map +1 -1
  859. package/mobile/lib/components/TariffsTable/TariffsTableContent.d.ts +1 -1
  860. package/mobile/lib/components/TariffsTable/TariffsTableRow.js +1 -1
  861. package/mobile/lib/components/TariffsTable/TariffsTableRow.js.map +1 -1
  862. package/mobile/lib/components/TariffsTable/TariffsTableWrapper.js.map +1 -1
  863. package/mobile/lib/components/TariffsTable/dataFixture.js +4 -1
  864. package/mobile/lib/components/TariffsTable/dataFixture.js.map +1 -1
  865. package/mobile/lib/content-page-repository/transformContentPage.js.map +1 -1
  866. package/mobile/lib/hooks/useActiveRoute.js +1 -1
  867. package/mobile/lib/hooks/useActiveRoute.js.map +1 -1
  868. package/mobile/lib/hooks/useSWRResource.js.map +1 -1
  869. package/mobile/lib/icons/IconName.d.ts +12 -66
  870. package/mobile/lib/icons/IconName.js +9 -63
  871. package/mobile/lib/icons/IconName.js.map +1 -1
  872. package/mobile/lib/model/Bullets.d.ts +4 -1
  873. package/mobile/lib/model/JSXBlock.d.ts +1 -0
  874. package/mobile/lib/services/search/useSearch.js.map +1 -1
  875. package/mobile/lib/ui-kit/BaseFiltration/BaseFiltrationContent.d.ts +2 -2
  876. package/mobile/lib/ui-kit/BaseFiltration/BaseFiltrationInner.d.ts +1 -1
  877. package/mobile/lib/ui-kit/BaseFiltration/BaseFiltrationInner.js +2 -5
  878. package/mobile/lib/ui-kit/BaseFiltration/BaseFiltrationInner.js.map +1 -1
  879. package/mobile/lib/ui-kit/Button/Button.js.map +1 -1
  880. package/mobile/lib/ui-kit/Button/getDisabledButtonClasses.js.map +1 -1
  881. package/mobile/lib/ui-kit/Checkbox/Checkbox.js +1 -1
  882. package/mobile/lib/ui-kit/Checkbox/Checkbox.js.map +1 -1
  883. package/mobile/lib/ui-kit/DatePicker/Calendar.d.ts +10 -0
  884. package/mobile/lib/ui-kit/DatePicker/Calendar.js +24 -0
  885. package/mobile/lib/ui-kit/DatePicker/Calendar.js.map +1 -0
  886. package/mobile/lib/ui-kit/DatePicker/DatePicker.d.ts +9 -0
  887. package/mobile/lib/ui-kit/DatePicker/DatePicker.js +42 -0
  888. package/mobile/lib/ui-kit/DatePicker/DatePicker.js.map +1 -0
  889. package/mobile/lib/ui-kit/DatePicker/getYears.d.ts +1 -0
  890. package/mobile/lib/ui-kit/DatePicker/getYears.js +3 -0
  891. package/mobile/lib/ui-kit/DatePicker/getYears.js.map +1 -0
  892. package/mobile/lib/ui-kit/DatePicker/months.d.ts +1 -0
  893. package/mobile/lib/ui-kit/DatePicker/months.js +15 -0
  894. package/mobile/lib/ui-kit/DatePicker/months.js.map +1 -0
  895. package/mobile/lib/ui-kit/DatePicker/renderCalendarCells.d.ts +12 -0
  896. package/mobile/lib/ui-kit/DatePicker/renderCalendarCells.js +32 -0
  897. package/mobile/lib/ui-kit/DatePicker/renderCalendarCells.js.map +1 -0
  898. package/mobile/lib/ui-kit/DatePicker/useDatePickerManager.d.ts +26 -0
  899. package/mobile/lib/ui-kit/DatePicker/useDatePickerManager.js +45 -0
  900. package/mobile/lib/ui-kit/DatePicker/useDatePickerManager.js.map +1 -0
  901. package/mobile/lib/ui-kit/Foldable/DefaultFoldButton.js.map +1 -1
  902. package/mobile/lib/ui-kit/Icon/Icon.js +1 -1
  903. package/mobile/lib/ui-kit/Icon/Icon.js.map +1 -1
  904. package/mobile/lib/ui-kit/InnerTable/InnerTableButton.js +1 -1
  905. package/mobile/lib/ui-kit/InnerTable/InnerTableButton.js.map +1 -1
  906. package/mobile/lib/ui-kit/InnerTable/getHorizontalShift.js.map +1 -1
  907. package/mobile/lib/ui-kit/InputRange/InputRange.js +1 -1
  908. package/mobile/lib/ui-kit/InputRange/InputRange.js.map +1 -1
  909. package/mobile/lib/ui-kit/InputRange/renderRangeWithTicks.js +2 -1
  910. package/mobile/lib/ui-kit/InputRange/renderRangeWithTicks.js.map +1 -1
  911. package/mobile/lib/ui-kit/List/ListContent.d.ts +1 -0
  912. package/mobile/lib/ui-kit/LocationDialog/LocationDialog.js +1 -1
  913. package/mobile/lib/ui-kit/LocationDialog/LocationDialog.js.map +1 -1
  914. package/mobile/lib/ui-kit/NotFound/NotFound.d.ts +2 -0
  915. package/mobile/lib/ui-kit/NotFound/NotFound.js +7 -0
  916. package/mobile/lib/ui-kit/NotFound/NotFound.js.map +1 -0
  917. package/mobile/lib/ui-kit/Pagination/PageSizeSelector.js +1 -1
  918. package/mobile/lib/ui-kit/Pagination/PageSizeSelector.js.map +1 -1
  919. package/mobile/lib/ui-kit/Paragraph/Paragraph.js.map +1 -1
  920. package/mobile/lib/ui-kit/Radio/Radio.d.ts +1 -1
  921. package/mobile/lib/ui-kit/Radio/Radio.js +2 -1
  922. package/mobile/lib/ui-kit/Radio/Radio.js.map +1 -1
  923. package/mobile/lib/ui-kit/RadioButtonGroup/RadioButtonGroup.js +1 -1
  924. package/mobile/lib/ui-kit/RadioButtonGroup/RadioButtonGroup.js.map +1 -1
  925. package/mobile/lib/ui-kit/RichText/RichText.js.map +1 -1
  926. package/mobile/lib/ui-kit/RichText/RichTextProps.d.ts +1 -0
  927. package/mobile/lib/ui-kit/SearchBar/SearchBar.js +1 -1
  928. package/mobile/lib/ui-kit/SearchBar/SearchBar.js.map +1 -1
  929. package/mobile/lib/ui-kit/SearchDialog/SearchInput.d.ts +1 -0
  930. package/mobile/lib/ui-kit/SearchDialog/SearchInput.js +2 -2
  931. package/mobile/lib/ui-kit/SearchDialog/SearchInput.js.map +1 -1
  932. package/mobile/lib/ui-kit/Select/Select.d.ts +3 -1
  933. package/mobile/lib/ui-kit/Select/Select.js +3 -3
  934. package/mobile/lib/ui-kit/Select/Select.js.map +1 -1
  935. package/mobile/lib/ui-kit/Select/SelectPopup.js +6 -1
  936. package/mobile/lib/ui-kit/Select/SelectPopup.js.map +1 -1
  937. package/mobile/lib/ui-kit/Select/filterOptions.js.map +1 -1
  938. package/mobile/lib/ui-kit/SwipeListControl/SwipeListControl.js +1 -1
  939. package/mobile/lib/ui-kit/SwipeListControl/SwipeListControl.js.map +1 -1
  940. package/mobile/lib/ui-kit/Text/Text.js.map +1 -1
  941. package/mobile/lib/ui-kit/Text/TextProps.d.ts +1 -0
  942. package/mobile/lib/ui-kit/TextWithIcon/TextWithIcon.js.map +1 -1
  943. package/mobile/lib/ui-kit/YandexMap/YandexMap.js +1 -1
  944. package/mobile/lib/ui-kit/YandexMap/YandexMap.js.map +1 -1
  945. package/mobile/lib/utils/formatDate.d.ts +1 -1
  946. package/mobile/lib/utils/formatDate.js +11 -1
  947. package/mobile/lib/utils/formatDate.js.map +1 -1
  948. package/mobile/src/components/ApplicationForm/ApplicationFormWed.tsx +1 -1
  949. package/mobile/src/components/ApplicationForm/renderWedDataOrganization.tsx +2 -2
  950. package/mobile/src/components/ApplicationForm/renderWedTextarea.tsx +1 -1
  951. package/mobile/src/components/BenefitsBlock/BenefitsBlock.tsx +1 -1
  952. package/mobile/src/components/BenefitsBlock/BenefitsBlockContent.ts +1 -1
  953. package/mobile/src/components/Blocks.ts +2 -2
  954. package/mobile/src/components/Bonus/Bonus.tsx +1 -1
  955. package/mobile/src/components/Bonus/BonusContent.ts +1 -1
  956. package/mobile/src/components/BonusBenefitsBlock/BonusBenefitsBlock.example.json +1 -1
  957. package/mobile/src/components/BonusBenefitsBlock/renderBonusBenefit.tsx +1 -1
  958. package/mobile/src/components/BusinessBlock/BusinessBlockContent.ts +1 -1
  959. package/mobile/src/components/ButtonsBlock/ButtonsBlockContent.ts +1 -1
  960. package/mobile/src/components/Calculator/UnknownRate.tsx +3 -5
  961. package/mobile/src/components/Calculator/getRefinancingCalculatorLimitParams.ts +1 -1
  962. package/mobile/src/components/Calculator/getRefinancingCalculatorRateParams.ts +1 -1
  963. package/mobile/src/components/Calculator/rangeHelpers.ts +1 -1
  964. package/mobile/src/components/Carousel/Carousel.ui.json +1 -1
  965. package/mobile/src/components/CarouselCard/CarouselCard.ui.json +1 -1
  966. package/mobile/src/components/CarouselCatalogCard/CarouselCatalogCardContent.ts +1 -1
  967. package/mobile/src/components/CarouselInvestmentCard/CarouselInvestmentCard.ui.json +1 -1
  968. package/mobile/src/components/CarouselProductCard/CarouselProductCard.tsx +3 -4
  969. package/mobile/src/components/CarouselProductCard/CarouselProductCardContent.ts +1 -1
  970. package/mobile/src/components/CarouselProgramsCard/CarouselProgramsCardContent.ts +1 -1
  971. package/mobile/src/components/CarouselRecommendationCard/CarouselRecommendationCard.example.json +1 -2
  972. package/mobile/src/components/CarouselRecommendationCard/CarouselRecommendationCard.tsx +33 -24
  973. package/mobile/src/components/CarouselRecommendationCard/ImageAlwaysOnRight.tsx +1 -0
  974. package/mobile/src/components/ComparisonTable/TableCell.tsx +1 -1
  975. package/mobile/src/components/ComparisonTable/TableColumn.tsx +1 -1
  976. package/mobile/src/components/ComparisonTable/TableRow.tsx +1 -1
  977. package/mobile/src/components/Depository/Depository.tsx +27 -4
  978. package/mobile/src/components/Depository/DepositoryFilter.tsx +39 -0
  979. package/mobile/src/components/Depository/DepositoryItem.tsx +3 -2
  980. package/mobile/src/components/Depository/useDepository.ts +11 -2
  981. package/mobile/src/components/ErrorBlock/ErrorBlock.tsx +1 -1
  982. package/mobile/src/components/ErrorBlock/ErrorBlockContent.ts +1 -1
  983. package/mobile/src/components/ExchangeRateTile/ExchangeCurrencyCalculator.tsx +1 -1
  984. package/mobile/src/components/Footer/Footer.tsx +2 -2
  985. package/mobile/src/components/Footer/LinkList.tsx +1 -1
  986. package/mobile/src/components/Footer/TextInformation.tsx +1 -1
  987. package/mobile/src/components/GracePeriod/GracePeriod.tsx +1 -1
  988. package/mobile/src/components/Header/Header.tsx +3 -3
  989. package/mobile/src/components/Header/HeaderSecondaryMenuButton.tsx +1 -1
  990. package/mobile/src/components/Header/HeaderTop.tsx +6 -6
  991. package/mobile/src/components/Header/InternetBankButton.tsx +2 -2
  992. package/mobile/src/components/InsuranceAmountBlock/InsuranceAmountBlockInner.tsx +1 -1
  993. package/mobile/src/components/MortgageFiltration/MortgageFiltration.tsx +2 -2
  994. package/mobile/src/components/OfficesAtmsMap/OfficesAtmsMapLayout.tsx +24 -23
  995. package/mobile/src/components/ParagraphBlock/ParagraphBlockContent.ts +1 -1
  996. package/mobile/src/components/ProductBlock/renderBackwardButton.tsx +1 -1
  997. package/mobile/src/components/RepresentativeOfficeInfo/RepresentativeOfficeInfo.tsx +1 -1
  998. package/mobile/src/components/RepresentativeOfficeInfo/RepresentativeOfficeInfoContent.ts +2 -2
  999. package/mobile/src/components/RollupItem/PrimaryFoldButton.tsx +4 -4
  1000. package/mobile/src/components/RollupItem/RollupItem.tsx +2 -2
  1001. package/mobile/src/components/RollupItem/renderRoundedIcon.tsx +1 -1
  1002. package/mobile/src/components/SafeDepositRental/SafeDepositRental.tsx +1 -1
  1003. package/mobile/src/components/SafeDepositRental/SafeDepositRentalFields.tsx +2 -2
  1004. package/mobile/src/components/SafeDepositRental/SafeDepositRentalForm.tsx +1 -1
  1005. package/mobile/src/components/StepsBlock/StepsBlock.tsx +1 -1
  1006. package/mobile/src/components/StepsBlock/StepsBlockContent.ts +2 -2
  1007. package/mobile/src/components/StickyBottomMenu/ActiveSubMenuItem.tsx +3 -3
  1008. package/mobile/src/components/StickyBottomMenu/RenderItem.tsx +1 -1
  1009. package/mobile/src/components/StickyBottomMenu/RenderMenuItems.tsx +2 -2
  1010. package/mobile/src/components/StickyBottomMenu/StickyBottomMenu.tsx +3 -3
  1011. package/mobile/src/components/StickyBottomMenu/useBurgerMenuDialog.tsx +3 -3
  1012. package/mobile/src/components/TariffsTable/EmbeddableCellData.tsx +3 -3
  1013. package/mobile/src/components/TariffsTable/TariffsTable.tsx +2 -2
  1014. package/mobile/src/components/TariffsTable/TariffsTableContent.ts +1 -1
  1015. package/mobile/src/components/TariffsTable/TariffsTableRow.tsx +1 -1
  1016. package/mobile/src/components/TariffsTable/TariffsTableWrapper.tsx +1 -1
  1017. package/mobile/src/components/TariffsTable/dataFixture.tsx +4 -1
  1018. package/mobile/src/content-page-repository/transformContentPage.ts +1 -1
  1019. package/mobile/src/hooks/useActiveRoute.ts +1 -1
  1020. package/mobile/src/hooks/useSWRResource.ts +1 -1
  1021. package/mobile/src/icons/ActualBalanceIcon.svg +1 -185
  1022. package/mobile/src/icons/BriefcaseIcon.svg +6 -6
  1023. package/mobile/src/icons/ChartIcon.svg +1 -1
  1024. package/mobile/src/icons/FaxIcon.svg +1 -0
  1025. package/mobile/src/icons/FullScreenIcon.svg +1 -1
  1026. package/mobile/src/icons/HeartIcon.svg +1 -1
  1027. package/mobile/src/icons/HouseIcon.svg +1 -1
  1028. package/mobile/src/icons/IconName.ts +5 -5
  1029. package/mobile/src/icons/MagnifierIcon.svg +1 -39
  1030. package/mobile/src/icons/MailIcon.svg +1 -4
  1031. package/mobile/src/icons/MapMarkerClusterIcon.svg +1 -1
  1032. package/mobile/src/icons/MapMarkerSingleIcon.svg +1 -1
  1033. package/mobile/src/icons/MapOpenedIcon.svg +1 -1
  1034. package/mobile/src/icons/NewDocIcon.svg +1 -249
  1035. package/mobile/src/icons/PackA4Icon.svg +1 -14
  1036. package/mobile/src/icons/PassSendIcon.svg +1 -236
  1037. package/mobile/src/icons/PercentIcon.svg +1 -373
  1038. package/mobile/src/icons/PhoneCallingIcon.svg +1 -0
  1039. package/mobile/src/icons/PhoneIcon.svg +1 -1
  1040. package/mobile/src/icons/PlusCircleIcon.svg +1 -0
  1041. package/mobile/src/icons/ResponseFailIcon.svg +1 -1
  1042. package/mobile/src/icons/ResponseOKIcon.svg +1 -1
  1043. package/mobile/src/icons/SignDocsIcon.svg +1 -286
  1044. package/mobile/src/icons/UserGeoLocationIcon.svg +2 -2
  1045. package/mobile/src/model/Bullets.ts +4 -1
  1046. package/mobile/src/model/JSXBlock.ts +1 -0
  1047. package/mobile/src/services/search/useSearch.ts +2 -2
  1048. package/mobile/src/ui-kit/BaseFiltration/BaseFiltrationContent.ts +2 -2
  1049. package/mobile/src/ui-kit/BaseFiltration/BaseFiltrationInner.tsx +3 -18
  1050. package/mobile/src/ui-kit/Button/Button.tsx +1 -1
  1051. package/mobile/src/ui-kit/Button/getDisabledButtonClasses.ts +1 -1
  1052. package/mobile/src/ui-kit/Checkbox/Checkbox.tsx +1 -1
  1053. package/mobile/src/ui-kit/DatePicker/Calendar.tsx +55 -0
  1054. package/mobile/src/ui-kit/DatePicker/DatePicker.tsx +113 -0
  1055. package/mobile/src/ui-kit/DatePicker/getYears.ts +4 -0
  1056. package/mobile/src/ui-kit/DatePicker/months.ts +14 -0
  1057. package/mobile/src/ui-kit/DatePicker/renderCalendarCells.tsx +76 -0
  1058. package/mobile/src/ui-kit/DatePicker/useDatePickerManager.ts +72 -0
  1059. package/mobile/src/ui-kit/Foldable/DefaultFoldButton.tsx +1 -1
  1060. package/mobile/src/ui-kit/Icon/Icon.tsx +1 -1
  1061. package/mobile/src/ui-kit/InnerTable/InnerTableButton.tsx +2 -2
  1062. package/mobile/src/ui-kit/InnerTable/getHorizontalShift.tsx +1 -1
  1063. package/mobile/src/ui-kit/InputRange/InputRange.tsx +2 -2
  1064. package/mobile/src/ui-kit/InputRange/renderRangeWithTicks.tsx +2 -1
  1065. package/mobile/src/ui-kit/List/ListContent.ts +1 -0
  1066. package/mobile/src/ui-kit/LocationDialog/LocationDialog.tsx +1 -1
  1067. package/mobile/src/ui-kit/NotFound/NotFound.tsx +18 -0
  1068. package/mobile/src/ui-kit/Pagination/PageSizeSelector.tsx +2 -0
  1069. package/mobile/src/ui-kit/Paragraph/Paragraph.tsx +1 -1
  1070. package/mobile/src/ui-kit/Radio/Radio.tsx +3 -2
  1071. package/mobile/src/ui-kit/RadioButtonGroup/RadioButtonGroup.tsx +1 -1
  1072. package/mobile/src/ui-kit/RichText/RichText.tsx +1 -1
  1073. package/mobile/src/ui-kit/RichText/RichTextProps.ts +1 -0
  1074. package/mobile/src/ui-kit/SearchBar/SearchBar.tsx +1 -1
  1075. package/mobile/src/ui-kit/SearchDialog/SearchInput.tsx +5 -4
  1076. package/mobile/src/ui-kit/Select/Select.tsx +7 -3
  1077. package/mobile/src/ui-kit/Select/SelectPopup.tsx +6 -1
  1078. package/mobile/src/ui-kit/Select/filterOptions.ts +3 -1
  1079. package/mobile/src/ui-kit/SwipeListControl/SwipeListControl.tsx +1 -1
  1080. package/mobile/src/ui-kit/Text/Text.tsx +1 -1
  1081. package/mobile/src/ui-kit/Text/TextProps.ts +1 -0
  1082. package/mobile/src/ui-kit/TextWithIcon/TextWithIcon.tsx +1 -1
  1083. package/mobile/src/ui-kit/YandexMap/YandexMap.tsx +1 -1
  1084. package/mobile/src/utils/formatDate.ts +11 -1
  1085. package/package.json +11 -5
  1086. package/src/components/ApplicationForm/ApplicationFormWed.tsx +1 -1
  1087. package/src/components/ApplicationForm/renderWedDataOrganization.tsx +2 -2
  1088. package/src/components/ApplicationForm/renderWedTextarea.tsx +1 -1
  1089. package/src/components/BenefitsBlock/BenefitsBlock.fixture.tsx +5 -4
  1090. package/src/components/BenefitsBlock/BenefitsBlock.tsx +1 -1
  1091. package/src/components/BenefitsBlock/BenefitsBlockContent.ts +1 -1
  1092. package/src/components/Blocks.mobile.ts +2 -2
  1093. package/src/components/Bonus/Bonus.tsx +1 -1
  1094. package/src/components/Bonus/BonusContent.ts +1 -1
  1095. package/src/components/BonusBenefitsBlock/BonusBenefitsBlock.example.json +1 -1
  1096. package/src/components/BonusBenefitsBlock/BonusBenefitsBlock.fixture.mobile.tsx +14 -8
  1097. package/src/components/BonusBenefitsBlock/BonusBenefitsBlock.fixture.tsx +35 -7
  1098. package/src/components/BonusBenefitsBlock/renderBonusBenefit.tsx +1 -1
  1099. package/src/components/BusinessBlock/BusinessBlock.fixture.tsx +2 -1
  1100. package/src/components/BusinessBlock/BusinessBlockContent.ts +1 -1
  1101. package/src/components/ButtonsBlock/ButtonsBlock.fixture.mobile.tsx +2 -1
  1102. package/src/components/ButtonsBlock/ButtonsBlock.fixture.tsx +2 -1
  1103. package/src/components/ButtonsBlock/ButtonsBlockContent.ts +1 -1
  1104. package/src/components/Calculator/Calculator.fixture.tsx +1 -1
  1105. package/src/components/Calculator/UnknownRate.tsx +3 -5
  1106. package/src/components/Calculator/getRefinancingCalculatorLimitParams.ts +1 -1
  1107. package/src/components/Calculator/getRefinancingCalculatorRateParams.ts +1 -1
  1108. package/src/components/Calculator/rangeHelpers.ts +1 -1
  1109. package/src/components/Carousel/Carousel.ui.json +1 -1
  1110. package/src/components/CarouselCard/CarouselCard.ui.json +1 -1
  1111. package/src/components/CarouselCatalogCard/CarouselCatalogCard.fixture.mobile.tsx +1 -1
  1112. package/src/components/CarouselCatalogCard/CarouselCatalogCard.fixture.tsx +1 -1
  1113. package/src/components/CarouselCatalogCard/CarouselCatalogCardContent.ts +1 -1
  1114. package/src/components/CarouselInvestmentCard/CarouselInvestmentCard.ui.json +1 -1
  1115. package/src/components/CarouselProductCard/CarouselProductCard.fixture.mobile.tsx +1 -1
  1116. package/src/components/CarouselProductCard/CarouselProductCard.fixture.tsx +1 -1
  1117. package/src/components/CarouselProductCard/CarouselProductCard.tsx +3 -4
  1118. package/src/components/CarouselProductCard/CarouselProductCardContent.ts +1 -1
  1119. package/src/components/CarouselProgramsCard/CarouselProgramsCardContent.ts +1 -1
  1120. package/src/components/CarouselRecommendationCard/CarouselRecommendationCard.example.json +1 -2
  1121. package/src/components/CarouselRecommendationCard/CarouselRecommendationCard.fixture.mobile.tsx +1 -1
  1122. package/src/components/CarouselRecommendationCard/CarouselRecommendationCard.fixture.tsx +1 -1
  1123. package/src/components/CarouselRecommendationCard/CarouselRecommendationCard.tsx +2 -1
  1124. package/src/components/CarouselRecommendationCard/ImageAlwaysOnRight.mobile.tsx +1 -0
  1125. package/src/components/CarouselRecommendationCard/ImageAlwaysOnRight.tsx +1 -0
  1126. package/src/components/ComparisonTable/ComparisonTable.fixture.tsx +4 -5
  1127. package/src/components/ComparisonTable/ComparisonTable.tsx +1 -1
  1128. package/src/components/ComparisonTable/HeaderCell.tsx +1 -1
  1129. package/src/components/ComparisonTable/TableCell.mobile.tsx +1 -1
  1130. package/src/components/ComparisonTable/TableCell.tsx +1 -1
  1131. package/src/components/ComparisonTable/TableColumn.tsx +1 -1
  1132. package/src/components/ComparisonTable/TableRow.tsx +1 -1
  1133. package/src/components/Depository/Depository.tsx +27 -4
  1134. package/src/components/Depository/DepositoryFilter.tsx +39 -0
  1135. package/src/components/Depository/DepositoryItem.tsx +3 -2
  1136. package/src/components/Depository/useDepository.ts +11 -2
  1137. package/src/components/ErrorBlock/ErrorBlock.tsx +1 -1
  1138. package/src/components/ErrorBlock/ErrorBlockContent.ts +1 -1
  1139. package/src/components/ExchangeRateTile/ExchangeCurrencyCalculator.tsx +1 -1
  1140. package/src/components/Footer/Footer.mobile.tsx +2 -2
  1141. package/src/components/Footer/Footer.tsx +1 -1
  1142. package/src/components/Footer/LinkList.tsx +1 -1
  1143. package/src/components/Footer/TextInformation.tsx +1 -1
  1144. package/src/components/GracePeriod/GracePeriod.tsx +1 -1
  1145. package/src/components/Header/Header.mobile.tsx +3 -3
  1146. package/src/components/Header/Header.tsx +1 -1
  1147. package/src/components/Header/HeaderSecondaryMenuButton.tsx +1 -1
  1148. package/src/components/Header/HeaderTop.tsx +6 -6
  1149. package/src/components/Header/InternetBankButton.tsx +2 -2
  1150. package/src/components/InsuranceAmountBlock/InsuranceAmountBlockInner.tsx +1 -1
  1151. package/src/components/LinkDocs/LinkDocs.fixture.tsx +5 -1
  1152. package/src/components/MortgageFiltration/MortgageFiltration.tsx +2 -2
  1153. package/src/components/OfficesAtmsMap/OfficesAtmsMapLayout.tsx +24 -23
  1154. package/src/components/ParagraphBlock/ParagraphBlockContent.ts +1 -1
  1155. package/src/components/ProductBlock/renderBackwardButton.tsx +1 -1
  1156. package/src/components/ProductGallery/ProductGallery.fixture.mobile.tsx +3 -2
  1157. package/src/components/ProductGallery/ProductGallery.fixture.tsx +1 -1
  1158. package/src/components/ProductTile/ProductTile.fixture.mobile.tsx +1 -1
  1159. package/src/components/RepresentativeOfficeInfo/RepresentativeOfficeInfo.fixture.mobile.tsx +1 -1
  1160. package/src/components/RepresentativeOfficeInfo/RepresentativeOfficeInfo.fixture.tsx +1 -1
  1161. package/src/components/RepresentativeOfficeInfo/RepresentativeOfficeInfo.tsx +1 -1
  1162. package/src/components/RepresentativeOfficeInfo/RepresentativeOfficeInfoContent.ts +2 -2
  1163. package/src/components/RollupItem/PrimaryFoldButton.tsx +4 -4
  1164. package/src/components/RollupItem/RollupItem.fixture.mobile.tsx +1 -1
  1165. package/src/components/RollupItem/RollupItem.tsx +2 -2
  1166. package/src/components/RollupItem/renderRoundedIcon.mobile.tsx +1 -1
  1167. package/src/components/SafeDepositRental/SafeDepositRental.tsx +1 -1
  1168. package/src/components/SafeDepositRental/SafeDepositRentalFields.tsx +2 -2
  1169. package/src/components/SafeDepositRental/SafeDepositRentalForm.tsx +1 -1
  1170. package/src/components/StepsBlock/StepsBlock.fixture.tsx +4 -4
  1171. package/src/components/StepsBlock/StepsBlock.mobile.tsx +1 -1
  1172. package/src/components/StepsBlock/StepsBlock.tsx +2 -2
  1173. package/src/components/StepsBlock/StepsBlockContent.ts +2 -2
  1174. package/src/components/StickyBottomMenu/ActiveSubMenuItem.tsx +3 -3
  1175. package/src/components/StickyBottomMenu/RenderItem.tsx +1 -1
  1176. package/src/components/StickyBottomMenu/RenderMenuItems.tsx +2 -2
  1177. package/src/components/StickyBottomMenu/StickyBottomMenu.fixture.mobile.tsx +1 -1
  1178. package/src/components/StickyBottomMenu/StickyBottomMenu.fixture.tsx +2 -1
  1179. package/src/components/StickyBottomMenu/StickyBottomMenu.mobile.tsx +3 -3
  1180. package/src/components/StickyBottomMenu/useBurgerMenuDialog.tsx +3 -3
  1181. package/src/components/TariffsTable/EmbeddableCellData.tsx +3 -3
  1182. package/src/components/TariffsTable/TariffsTable.tsx +2 -2
  1183. package/src/components/TariffsTable/TariffsTableContent.ts +1 -1
  1184. package/src/components/TariffsTable/TariffsTableRow.tsx +1 -1
  1185. package/src/components/TariffsTable/TariffsTableWrapper.tsx +1 -1
  1186. package/src/components/TariffsTable/dataFixture.tsx +4 -1
  1187. package/src/content-page-repository/transformContentPage.ts +1 -1
  1188. package/src/hooks/useActiveRoute.ts +1 -1
  1189. package/src/hooks/useSWRResource.ts +1 -1
  1190. package/src/icons/ActualBalanceIcon.svg +1 -185
  1191. package/src/icons/BriefcaseIcon.svg +6 -6
  1192. package/src/icons/ChartIcon.svg +1 -1
  1193. package/src/icons/FaxIcon.svg +1 -0
  1194. package/src/icons/FullScreenIcon.svg +1 -1
  1195. package/src/icons/HeartIcon.svg +1 -1
  1196. package/src/icons/HouseIcon.svg +1 -1
  1197. package/src/icons/IconName.ts +324 -6
  1198. package/src/icons/MagnifierIcon.svg +1 -39
  1199. package/src/icons/MailIcon.svg +1 -4
  1200. package/src/icons/MapMarkerClusterIcon.svg +1 -1
  1201. package/src/icons/MapMarkerSingleIcon.svg +1 -1
  1202. package/src/icons/MapOpenedIcon.svg +1 -1
  1203. package/src/icons/NewDocIcon.svg +1 -249
  1204. package/src/icons/PackA4Icon.svg +1 -14
  1205. package/src/icons/PassSendIcon.svg +1 -236
  1206. package/src/icons/PercentIcon.svg +1 -373
  1207. package/src/icons/PhoneCallingIcon.svg +1 -0
  1208. package/src/icons/PhoneIcon.svg +1 -1
  1209. package/src/icons/PlusCircleIcon.svg +1 -0
  1210. package/src/icons/ResponseFailIcon.svg +1 -1
  1211. package/src/icons/ResponseOKIcon.svg +1 -1
  1212. package/src/icons/SignDocsIcon.svg +1 -286
  1213. package/src/icons/UserGeoLocationIcon.svg +2 -2
  1214. package/src/model/Bullets.ts +4 -1
  1215. package/src/model/JSXBlock.ts +1 -0
  1216. package/src/services/search/useSearch.ts +2 -2
  1217. package/src/ui-kit/BaseFiltration/BaseFiltrationContent.ts +2 -2
  1218. package/src/ui-kit/BaseFiltration/BaseFiltrationInner.tsx +3 -18
  1219. package/src/ui-kit/Button/Button.tsx +1 -1
  1220. package/src/ui-kit/Button/getDisabledButtonClasses.ts +1 -1
  1221. package/src/ui-kit/Checkbox/Checkbox.tsx +1 -1
  1222. package/src/ui-kit/DatePicker/Calendar.tsx +55 -0
  1223. package/src/ui-kit/DatePicker/DatePicker.tsx +113 -0
  1224. package/src/ui-kit/DatePicker/getYears.ts +4 -0
  1225. package/src/ui-kit/DatePicker/months.ts +14 -0
  1226. package/src/ui-kit/DatePicker/renderCalendarCells.tsx +76 -0
  1227. package/src/ui-kit/DatePicker/useDatePickerManager.ts +72 -0
  1228. package/src/ui-kit/Foldable/DefaultFoldButton.tsx +1 -1
  1229. package/src/ui-kit/Icon/Icon.tsx +1 -1
  1230. package/src/ui-kit/InnerTable/InnerTableButton.tsx +2 -2
  1231. package/src/ui-kit/InnerTable/getHorizontalShift.tsx +1 -1
  1232. package/src/ui-kit/InputRange/InputRange.tsx +2 -2
  1233. package/src/ui-kit/InputRange/renderRangeWithTicks.tsx +2 -1
  1234. package/src/ui-kit/List/ListContent.ts +1 -0
  1235. package/src/ui-kit/LocationDialog/LocationDialog.tsx +1 -1
  1236. package/src/ui-kit/NotFound/NotFound.tsx +18 -0
  1237. package/src/ui-kit/Pagination/PageSizeSelector.tsx +2 -0
  1238. package/src/ui-kit/Paragraph/Paragraph.tsx +1 -1
  1239. package/src/ui-kit/Radio/Radio.tsx +3 -2
  1240. package/src/ui-kit/RadioButtonGroup/RadioButtonGroup.tsx +1 -1
  1241. package/src/ui-kit/RichText/RichText.tsx +1 -1
  1242. package/src/ui-kit/RichText/RichTextProps.ts +1 -0
  1243. package/src/ui-kit/SearchBar/SearchBar.tsx +1 -1
  1244. package/src/ui-kit/SearchDialog/SearchInput.tsx +5 -4
  1245. package/src/ui-kit/Select/Select.tsx +7 -3
  1246. package/src/ui-kit/Select/SelectPopup.tsx +6 -1
  1247. package/src/ui-kit/Select/filterOptions.ts +3 -1
  1248. package/src/ui-kit/SwipeListControl/SwipeListControl.tsx +1 -1
  1249. package/src/ui-kit/Text/Text.tsx +1 -1
  1250. package/src/ui-kit/Text/TextProps.ts +1 -0
  1251. package/src/ui-kit/TextWithIcon/TextWithIcon.tsx +1 -1
  1252. package/src/ui-kit/YandexMap/YandexMap.tsx +1 -1
  1253. package/src/utils/formatDate.ts +11 -1
  1254. package/bundle/components/CarouselRecommendationCard/CarouselRecommendationCard.mobile.d.ts +0 -5
  1255. package/cosmos-static/icons/AirPlaneIcon.svg +0 -1
  1256. package/cosmos-static/icons/BriefcaseIcon2.svg +0 -1
  1257. package/cosmos-static/icons/Car2Icon.svg +0 -1
  1258. package/cosmos-static/icons/CarIcon.svg +0 -1
  1259. package/cosmos-static/icons/CardSendIcon.svg +0 -1
  1260. package/cosmos-static/icons/CardWithGemIcon.svg +0 -1
  1261. package/cosmos-static/icons/CinemaIcon.svg +0 -1
  1262. package/cosmos-static/icons/ClockIcon.svg +0 -1
  1263. package/cosmos-static/icons/CoinIcon.svg +0 -1
  1264. package/cosmos-static/icons/ComfortableCompIcon.svg +0 -1
  1265. package/cosmos-static/icons/CreditCardsIcon.svg +0 -1
  1266. package/cosmos-static/icons/DocsIcon.svg +0 -1
  1267. package/cosmos-static/icons/EarthIcon.svg +0 -1
  1268. package/cosmos-static/icons/GlassIcon.svg +0 -1
  1269. package/cosmos-static/icons/HeartTickIcon.svg +0 -1
  1270. package/cosmos-static/icons/InterestGrowthIcon.svg +0 -1
  1271. package/cosmos-static/icons/InterestIcon.svg +0 -1
  1272. package/cosmos-static/icons/JCBIcon.svg +0 -1
  1273. package/cosmos-static/icons/MasterCardIcon.svg +0 -1
  1274. package/cosmos-static/icons/MetroIcon.svg +0 -1
  1275. package/cosmos-static/icons/MirIcon.svg +0 -1
  1276. package/cosmos-static/icons/NotificationBingIcon.svg +0 -1
  1277. package/cosmos-static/icons/OfficeIcon.svg +0 -1
  1278. package/cosmos-static/icons/PowerIcon.svg +0 -1
  1279. package/cosmos-static/icons/PumpkinIcon.svg +0 -1
  1280. package/cosmos-static/icons/SecurityCardIcon.svg +0 -1
  1281. package/cosmos-static/icons/UnionPayIcon.svg +0 -1
  1282. package/cosmos-static/icons/VisaIcon.svg +0 -1
  1283. package/cosmos-static/icons/WateringCanIcon.svg +0 -1
  1284. package/cosmos-static/icons//320/241onvert/320/241ardIcon.svg +0 -1
  1285. package/dist/components/CarouselRecommendationCard/CarouselRecommendationCard.mobile.d.ts +0 -5
  1286. package/dist/components/CarouselRecommendationCard/CarouselRecommendationCard.mobile.js +0 -16
  1287. package/dist/components/CarouselRecommendationCard/CarouselRecommendationCard.mobile.js.map +0 -1
  1288. package/lib/components/CarouselRecommendationCard/CarouselRecommendationCard.mobile.d.ts +0 -5
  1289. package/lib/components/CarouselRecommendationCard/CarouselRecommendationCard.mobile.js +0 -14
  1290. package/lib/components/CarouselRecommendationCard/CarouselRecommendationCard.mobile.js.map +0 -1
  1291. package/mobile/src/icons/AirPlaneIcon.svg +0 -16
  1292. package/mobile/src/icons/BriefcaseIcon2.svg +0 -7
  1293. package/mobile/src/icons/Car2Icon.svg +0 -10
  1294. package/mobile/src/icons/CarIcon.svg +0 -1
  1295. package/mobile/src/icons/CardSendIcon.svg +0 -9
  1296. package/mobile/src/icons/CardWithGemIcon.svg +0 -1
  1297. package/mobile/src/icons/CinemaIcon.svg +0 -1
  1298. package/mobile/src/icons/ClockIcon.svg +0 -207
  1299. package/mobile/src/icons/CoinIcon.svg +0 -6
  1300. package/mobile/src/icons/ComfortableCompIcon.svg +0 -372
  1301. package/mobile/src/icons/CreditCardsIcon.svg +0 -1
  1302. package/mobile/src/icons/DocsIcon.svg +0 -1
  1303. package/mobile/src/icons/EarthIcon.svg +0 -1
  1304. package/mobile/src/icons/GlassIcon.svg +0 -1
  1305. package/mobile/src/icons/HeartTickIcon.svg +0 -5
  1306. package/mobile/src/icons/InterestGrowthIcon.svg +0 -1
  1307. package/mobile/src/icons/InterestIcon.svg +0 -1
  1308. package/mobile/src/icons/JCBIcon.svg +0 -1
  1309. package/mobile/src/icons/MasterCardIcon.svg +0 -1
  1310. package/mobile/src/icons/MetroIcon.svg +0 -10
  1311. package/mobile/src/icons/MirIcon.svg +0 -1
  1312. package/mobile/src/icons/NotificationBingIcon.svg +0 -5
  1313. package/mobile/src/icons/OfficeIcon.svg +0 -1
  1314. package/mobile/src/icons/PowerIcon.svg +0 -1
  1315. package/mobile/src/icons/PumpkinIcon.svg +0 -1
  1316. package/mobile/src/icons/SecurityCardIcon.svg +0 -7
  1317. package/mobile/src/icons/UnionPayIcon.svg +0 -1
  1318. package/mobile/src/icons/VisaIcon.svg +0 -1
  1319. package/mobile/src/icons/WateringCanIcon.svg +0 -1
  1320. package/mobile/src/icons//320/241onvert/320/241ardIcon.svg +0 -8
  1321. package/src/components/CarouselRecommendationCard/CarouselRecommendationCard.mobile.tsx +0 -58
  1322. package/src/icons/AirPlaneIcon.svg +0 -16
  1323. package/src/icons/BriefcaseIcon2.svg +0 -7
  1324. package/src/icons/Car2Icon.svg +0 -10
  1325. package/src/icons/CarIcon.svg +0 -1
  1326. package/src/icons/CardSendIcon.svg +0 -9
  1327. package/src/icons/CardWithGemIcon.svg +0 -1
  1328. package/src/icons/CinemaIcon.svg +0 -1
  1329. package/src/icons/ClockIcon.svg +0 -207
  1330. package/src/icons/CoinIcon.svg +0 -6
  1331. package/src/icons/ComfortableCompIcon.svg +0 -372
  1332. package/src/icons/CreditCardsIcon.svg +0 -1
  1333. package/src/icons/DocsIcon.svg +0 -1
  1334. package/src/icons/EarthIcon.svg +0 -1
  1335. package/src/icons/GlassIcon.svg +0 -1
  1336. package/src/icons/HeartTickIcon.svg +0 -5
  1337. package/src/icons/InterestGrowthIcon.svg +0 -1
  1338. package/src/icons/InterestIcon.svg +0 -1
  1339. package/src/icons/JCBIcon.svg +0 -1
  1340. package/src/icons/MasterCardIcon.svg +0 -1
  1341. package/src/icons/MetroIcon.svg +0 -10
  1342. package/src/icons/MirIcon.svg +0 -1
  1343. package/src/icons/NotificationBingIcon.svg +0 -5
  1344. package/src/icons/OfficeIcon.svg +0 -1
  1345. package/src/icons/PowerIcon.svg +0 -1
  1346. package/src/icons/PumpkinIcon.svg +0 -1
  1347. package/src/icons/SecurityCardIcon.svg +0 -7
  1348. package/src/icons/UnionPayIcon.svg +0 -1
  1349. package/src/icons/VisaIcon.svg +0 -1
  1350. package/src/icons/WateringCanIcon.svg +0 -1
  1351. package/src/icons//320/241onvert/320/241ardIcon.svg +0 -8
@@ -840,7 +840,12 @@
840
840
  return options.filter((_) => _.text?.toLocaleLowerCase().includes(query?.trim().toLocaleLowerCase()));
841
841
  };
842
842
 
843
- 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", 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);
843
+ 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", 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: (e) => {
844
+ e.stopPropagation();
845
+ if (onChange) {
846
+ onChange(option);
847
+ }
848
+ }, 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);
844
849
 
845
850
  function useSelectPopup({ isOpen, options, value, query, onChange, onClose, }) {
846
851
  const popup = usePopupManager();
@@ -869,7 +874,7 @@
869
874
  return inputRef;
870
875
  }
871
876
 
872
- const Select = JSX(({ className, label, options = [], value, valid = true, isBorder = true, placeholder = '', isSearch = false, onChange, }) => {
877
+ const Select = JSX(({ className, label, options = [], value, valid = true, isBorder = true, placeholder = '', isSearch = false, iconVersion, onChange, }) => {
873
878
  const [isOpen, { setFalse: close, setTrue: open }] = useBool();
874
879
  const [query, setQuery] = useState('');
875
880
  const handleClose = useCallback(() => {
@@ -884,10 +889,10 @@
884
889
  onChange,
885
890
  onClose: handleClose,
886
891
  });
887
- 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
+ return (jsxs("div", { className: className, children: [renderLabel(label), jsxs("div", { className: style('relative', isOpen ? 'z-20' : 'z-10'), ref: inputRef, children: [jsxs("div", { className: style('text-l flex justify-between items-center text-primary-text cursor-pointer relative z-10', getBorderStyle(isBorder, valid)), onClick: isOpen ? handleClose : open, children: [jsx("p", { className: "p-m pr-3xl flex items-center overflow-hidden text-ellipsis whitespace-nowrap", children: formatOption(value) || placeholder }), renderIcon$1(isOpen, iconVersion)] }), 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] })] }));
888
893
  });
889
894
  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;
890
- const renderIcon$2 = (isOpen) => (jsx(Icon, { className: style('absolute right-3', isOpen ? '' : 'rotate-180'), name: "ArrowUpIcon", width: "16", height: "16" }));
895
+ const renderIcon$1 = (isOpen, iconVersion) => (jsx(Icon, { className: style('absolute right-3', isOpen ? '' : 'rotate-180'), iconVersion: iconVersion, name: "ArrowUpIcon", width: "16", height: "16" }));
891
896
  const getBorderStyle = (isBorder, valid) => style(isBorder ? 'border rounded-md hover:border-primary-hover' : '', valid ? ' border-gray' : 'border-error');
892
897
 
893
898
  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 })] })));
@@ -1034,8 +1039,9 @@
1034
1039
  function renderRangeWithTicks({ list = [], min, max, step, value = list[0] || min, disabled, onChange, }) {
1035
1040
  const rangeValue = list.length ? list.indexOf(value) : value;
1036
1041
  const rangeValueShift = rangeValue > min ? rangeValue - min : 0;
1042
+ const percentage = (rangeValueShift * 100) / (max - min);
1037
1043
  const inputStyle = {
1038
- backgroundSize: `${((rangeValueShift * 100) / (max - min)).toFixed(2)}% 100%`,
1044
+ backgroundSize: `${percentage.toFixed(2)}% 100%`,
1039
1045
  };
1040
1046
  return (jsxs("div", { children: [list.length ? (jsx("div", { className: "absolute w-full flex justify-between -bottom-[3px] px-m", children: list.map((_, i) => (jsx("div", { className: style('w-2 h-2 rounded-full', rangeValue <= i || disabled ? 'bg-gray' : 'bg-primary-main') }, String(i)))) })) : null, jsx("div", { className: "absolute inset-x-0 -bottom-1 px-m leading-[18px]", children: jsx("input", { className: "box-border w-full m-0 cursor-pointer slider relative z-10", style: inputStyle, type: "range", min: min, max: max, step: step, value: rangeValue, disabled: disabled, onInput: ((e) => {
1041
1047
  const rawValue = parseDecimal(e.target?.value);
@@ -1056,7 +1062,7 @@
1056
1062
  const handleChange = useCallback((e) => {
1057
1063
  onChange && onChange(parseDecimal(e.target?.value));
1058
1064
  }, [onChange]);
1059
- return (jsxs("div", { className: className, children: [jsxs("label", { className: "block relative", children: [title ? (jsx(Text, { size: "text-m", font: "font-light", color: "text-primary-text", children: title })) : null, jsx("input", { className: style('m-0 mt-xs font-sans text-h3 w-full h-14', 'border border-solid border-gray rounded-md outline-none', 'p-0 pl-m box-border', 'text-primary-text hover:border-primary-hover focus:border-primary-text', DISABLED_INPUT_CLASSES), disabled: disabled, onInput: handleChange, ...normalizedProps }), renderRangeWithTicks({ list, min, max, step, disabled, value, onChange })] }), renderRangeCaption(items)] }));
1065
+ return (jsxs("div", { className: className, children: [jsxs("label", { className: "block relative", children: [title ? (jsx(Text, { size: "text-m", font: "font-light", color: "text-primary-text", children: title })) : null, jsx("input", { className: style('mt-xs font-sans text-h3 w-full h-14', 'border border-solid border-gray rounded-md outline-none', 'pl-m box-border', 'text-primary-text hover:border-primary-hover focus:border-primary-text', DISABLED_INPUT_CLASSES), disabled: disabled, onInput: handleChange, ...normalizedProps }), renderRangeWithTicks({ list, min, max, step, disabled, value, onChange })] }), renderRangeCaption(items)] }));
1060
1066
  });
1061
1067
  const closestValue = (list) => (_) => list.reduce((prev, curr) => (Math.abs(curr - _) < Math.abs(prev - _) ? curr : prev));
1062
1068
  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)))) }));
@@ -1183,7 +1189,7 @@
1183
1189
 
1184
1190
  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" })] })] }));
1185
1191
 
1186
- 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] }) })));
1192
+ 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(Text, { color: "text-primary-text", children: text }) : null] }) })));
1187
1193
 
1188
1194
  const renderQuestionsInterested = (field) => {
1189
1195
  const { value, onChange } = field('vedTypes');
@@ -1287,6 +1293,8 @@
1287
1293
  return jsx(EmbeddedForm, { ...formBlock, onSubmit: handleSubmit });
1288
1294
  };
1289
1295
 
1296
+ const AlignStyles = 'text-left';
1297
+
1290
1298
  const iconBgStyles = {
1291
1299
  '': 'bg-main-divider group-data-secondary:bg-white/30',
1292
1300
  primary: 'bg-main-divider',
@@ -1303,8 +1311,6 @@
1303
1311
 
1304
1312
  const defaultIconSize = 56;
1305
1313
 
1306
- const AlignStyles = 'text-left';
1307
-
1308
1314
  const BenefitsBlock = JSX(({ className = '', title, benefitList, ...rest }) => (jsxs(BlockWrapper, { className: className, defaultPadding: "p-6xl", ...rest, children: [title ? jsx(Heading, { headingType: "h3", as: "h2", className: AlignStyles, title: title }) : null, benefitList?.length ? (jsx("div", { className: "flex flex-col @md:flex-row flex-wrap w-full @md:justify-center mt-xl gap-5xl", role: "list", children: benefitList.map(renderBenefit) })) : null] })));
1309
1315
  const renderBenefit = (benefit, i) => (jsxs("div", { className: "flex gap-m items-center @md:basis-1/2 @md:max-w-[500px]", role: "listitem", children: [benefit?.icon?.icon ? (jsx(RoundedIcon, { className: "shrink-0", defaultIconSize: defaultIconSize, iconBgVersion: benefit?.iconBgVersion || '', ...benefit?.icon })) : null, benefit?.icon?.src ? jsx(Img, { className: "shrink-0", image: benefit.icon }) : null, benefit?.label ? (jsxs("div", { className: "@sm:h-full", children: [jsx(Heading, { headingType: "h6", children: benefit.label }), renderDescription$2(benefit.description)] })) : null] }, String(i)));
1310
1316
  const renderDescription$2 = (description) => {
@@ -1404,6 +1410,8 @@
1404
1410
  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] }));
1405
1411
  const renderBonusImage = (_) => _.image ? jsx(Img, { className: "min-w-12 p-xs rounded-icon shrink-0", image: _.image }) : null;
1406
1412
 
1413
+ const isShowDots = true;
1414
+
1407
1415
  const mapChildren = (mapper) => (children) => {
1408
1416
  if (children === null || children === undefined) {
1409
1417
  return children;
@@ -1568,8 +1576,6 @@
1568
1576
  ];
1569
1577
  };
1570
1578
 
1571
- const isShowDots = true;
1572
-
1573
1579
  const DEFAULT_GAP = 14;
1574
1580
  /*
1575
1581
  Horizontal padding used on a container above SwipeListControl.
@@ -1834,7 +1840,7 @@
1834
1840
  ],
1835
1841
  });
1836
1842
 
1837
- const UnknownRate = JSX(({ title = 'Ставка', isUnavailableByTerm = false }) => (jsxs("div", { children: [jsx(Text, { size: "text-l", font: "font-light", color: "text-secondary-text", children: title }), jsx("div", { className: "mt-2xs pt-2xs pl-lg pb-xs", children: jsx(Icon, { name: "PercentIcon", width: "90", height: "85" }) }), jsx("div", { className: "w-64 mt-m", children: isUnavailableByTerm ? (jsxs(Paragraph, { size: "text-xl", font: "font-light", color: "text-primary-text", children: ["\u041F\u0440\u043E\u0446\u0435\u043D\u0442\u043D\u0430\u044F \u0441\u0442\u0430\u0432\u043A\u0430 \u0434\u043B\u044F \u0441\u0440\u043E\u043A\u0430 ", jsx("strong", { children: "1-30 \u0434\u043D\u0435\u0439" }), " \u0443\u0441\u0442\u0430\u043D\u0430\u0432\u043B\u0438\u0432\u0430\u0435\u0442\u0441\u044F \u043F\u0440\u0438 \u043E\u0431\u0440\u0430\u0449\u0435\u043D\u0438\u0438 \u0432 \u0411\u0430\u043D\u043A"] })) : (jsx(Paragraph, { size: "text-xl", font: "font-light", color: "text-primary-text", children: "\u0412\u044B\u0431\u0435\u0440\u0438\u0442\u0435 \u0434\u0440\u0443\u0433\u0443\u044E \u0441\u0443\u043C\u043C\u0443 \u0438\u043B\u0438 \u0441\u0440\u043E\u043A" })) })] })));
1843
+ const UnknownRate = JSX(({ title = 'Ставка', isUnavailableByTerm = false }) => (jsxs("div", { className: "space-y-s", children: [jsx(Text, { size: "text-l", font: "font-light", color: "text-secondary-text", children: title }), jsx(Icon, { className: "w-10 h-10 @5xl:h-auto @5xl:w-40", name: "PercentIcon" }), jsx("div", { className: "w-64", children: isUnavailableByTerm ? (jsxs(Paragraph, { size: "text-xl", font: "font-light", color: "text-primary-text", children: ["\u041F\u0440\u043E\u0446\u0435\u043D\u0442\u043D\u0430\u044F \u0441\u0442\u0430\u0432\u043A\u0430 \u0434\u043B\u044F \u0441\u0440\u043E\u043A\u0430 ", jsx("strong", { children: "1-30 \u0434\u043D\u0435\u0439" }), " \u0443\u0441\u0442\u0430\u043D\u0430\u0432\u043B\u0438\u0432\u0430\u0435\u0442\u0441\u044F \u043F\u0440\u0438 \u043E\u0431\u0440\u0430\u0449\u0435\u043D\u0438\u0438 \u0432 \u0411\u0430\u043D\u043A"] })) : (jsx(Paragraph, { size: "text-xl", font: "font-light", color: "text-primary-text", children: "\u0412\u044B\u0431\u0435\u0440\u0438\u0442\u0435 \u0434\u0440\u0443\u0433\u0443\u044E \u0441\u0443\u043C\u043C\u0443 \u0438\u043B\u0438 \u0441\u0440\u043E\u043A" })) })] })));
1838
1844
 
1839
1845
  const renderDesktopRate = ({ rate, depositeName, fractionDigits, isShowDepositeName, }) => (jsx(Rate, { rate: rate, depositeName: depositeName, fractionDigits: fractionDigits, isShowDepositeName: isShowDepositeName, rateBlockClassName: "tracking-[-25px]", unit: "%" }));
1840
1846
  const renderMobileRate = ({ rate }) => (jsx(CalculatorValueBlock, { title: "\u0421\u0442\u0430\u0432\u043A\u0430", value: rate, postfix: "%" }));
@@ -2782,10 +2788,12 @@
2782
2788
  });
2783
2789
  const getFilteredIcon = (icon) => (icon?.src || icon?.icon ? icon : undefined);
2784
2790
 
2785
- const CarouselRecommendationCard = JSX(({ className = '', description, href, icon, items = [], socialMedia = [], target, title, align = 'text-left', ...rest }) => {
2786
- return (jsx(BlockWrapper, { className: style('relative group-data-gray:bg-main-divider/50', className), defaultPadding: "p-3xl", ...rest, children: jsxs(LinkWrapper, { href: href, target: target, className: 'space-y-lg', children: [jsx(Headline, { title: title, description: description, headlineVersion: "XS", isEmbedded: true, align: align }), items.length ? (jsx(List, { className: "flex flex-col gap-xs", items: items, listItemSize: "XS" })) : null, renderIcon$1(icon), socialMedia.length ? jsx(SocialMedia, { media: socialMedia, showButtonText: true }) : null] }) }));
2791
+ const ImageAlwaysOnRight = false;
2792
+
2793
+ //TODO: replace SocialMedia with renderButtonSection
2794
+ const CarouselRecommendationCard = JSX(({ className, padding, description, href, icon, items = [], listItemSize = 'S', socialMedia = [], target, title, align = 'text-left', isImageAlwaysOnRight = ImageAlwaysOnRight, ...rest }) => {
2795
+ return (jsx(BlockWrapper, { className: style('relative min-h-28 group-data-gray:bg-main-divider/50', className), defaultPadding: "p-0", ...rest, children: jsx(LinkWrapper, { href: href, target: target, className: "h-full", children: jsx(BaseTile, { className: "h-full", defaultPadding: "p-m", padding: padding, insetTitle: title ? (jsx(Headline, { title: title, description: description, headlineVersion: "S", isEmbedded: true, align: align })) : null, rightImage: icon?.icon || icon?.src ? jsx(Img, { image: icon }) : null, buttons: socialMedia.length ? jsx(SocialMedia, { media: socialMedia, showButtonText: true }) : null, isImageAlwaysOnRight: isImageAlwaysOnRight, children: items.length ? jsx(List, { items: items, listItemSize: listItemSize }) : null }) }) }));
2787
2796
  });
2788
- const renderIcon$1 = (icon) => icon?.src || icon?.icon ? (jsx("div", { children: jsx(Img, { image: icon }) })) : null;
2789
2797
 
2790
2798
  const renderCardInfo = (cell, i) => {
2791
2799
  const { title, description, buttons } = cell;
@@ -2839,6 +2847,167 @@
2839
2847
  return orientation === 'horizontal' ? (jsx(SwipeListControl, { onVisibleIndicesChange: handleSlideChange, children: tableColumns })) : (tableColumns);
2840
2848
  });
2841
2849
 
2850
+ const TextWithIcon = JSX(({ textNode, iconNode, tag, onClick, justifyContent = 'between', className, ...rest }) => {
2851
+ const Tag = tag;
2852
+ 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] }));
2853
+ });
2854
+
2855
+ 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
2856
+ ? 'bg-main-divider text-main-disabled hover:bg-main-divider'
2857
+ : '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: {
2858
+ icon,
2859
+ iconVersion: 'white',
2860
+ }, className: "my-auto", width: "20", height: "20" })) : null })));
2861
+ const renderDefaultFoldButton = ({ isUnfolded, onToggle }) => {
2862
+ const labels = ['Развернуть', 'Скрыть'];
2863
+ const icons = ['ArrowDownIcon', 'ArrowUpIcon'];
2864
+ return (jsx(DefaultFoldButton, { icon: icons[Number(isUnfolded)], label: labels[Number(isUnfolded)], onClick: onToggle }));
2865
+ };
2866
+
2867
+ const NotFound = JSX(({ title, description }) => (jsxs("div", { className: "bg-white p-6xl py-20 flex gap-s flex-col @xl:items-center", children: [jsx(Img, { image: { icon: 'MagnifierIcon' }, width: "120", height: "120" }), jsx(Headline, { title: title, description: description, headlineVersion: "S", isEmbedded: true, align: AlignStyles })] })));
2868
+
2869
+ const ICONS = ['ArrowDownIcon', 'ArrowUpIcon'];
2870
+ const resultsGridStyle = 'space-y-px lg:space-y-0 lg:grid lg:grid-cols-12 gap-2xs border-box';
2871
+ const BaseFiltrationInner = JSX(({ label = '', blocksToRender = [], topItemsCount = 0, block, notFound, ...rest }) => {
2872
+ const [visibleBlocks, hiddenBlocks] = topItemsCount > 0
2873
+ ? [blocksToRender.slice(0, topItemsCount), blocksToRender.slice(topItemsCount)]
2874
+ : [blocksToRender, []];
2875
+ return (jsxs("div", { children: [jsx("div", { className: style(blocksToRender.length ? 'hidden' : 'block'), children: notFound ? jsx(NotFound, { ...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 }) => {
2876
+ return (jsx(FoldableSection, { className: style(resultsGridStyle), isUnfolded: isUnfolded, children: renderBlocksList(hiddenBlocks, { ...rest.options, parent: block }) }));
2877
+ }, 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 })) })] })] }));
2878
+ });
2879
+
2880
+ const isEmpty = (v) => v === null ||
2881
+ v === undefined ||
2882
+ v === '' ||
2883
+ (Array.isArray(v) && v.length === 0) ||
2884
+ (typeof v === 'object' && Object.keys(v).length === 0);
2885
+
2886
+ const isSingularFieldMatch = (key, pattern) => (target) => isEmpty(pattern[key]) || isEmpty(target[key]) || pattern[key] === target[key];
2887
+ const isMultipleFieldMatch = (key, pattern) => (target) => isEmpty(pattern[key]) ||
2888
+ isEmpty(target[key]) ||
2889
+ pattern[key]?.some((_) => target[key]?.includes(_));
2890
+ const isNumberFieldMatch = (key, pattern) => (target) => isEmpty(pattern[key]) ||
2891
+ isEmpty(target[key]) ||
2892
+ naturalNumber(pattern[key]) <= naturalNumber(target[key]);
2893
+ const isMultipleNumberFieldMatch = (key, pattern) => (target) => isEmpty(pattern[key]) || isEmpty(target[key]) || target[key]?.includes(pattern[key]);
2894
+ const isValueInRange = (key, pattern) => (target) => isEmpty(pattern[key]) ||
2895
+ isEmpty(target[key]) ||
2896
+ (naturalNumber(pattern[key]?.min) >= naturalNumber(target[key]?.min) &&
2897
+ naturalNumber(pattern[key]?.min) <= naturalNumber(target[key]?.max));
2898
+ const shouldRenderBlock = (pattern, target) => Object.entries(pattern)
2899
+ .map(([key, subPattern]) => {
2900
+ if (typeof subPattern === 'number') {
2901
+ return Array.isArray(target[key])
2902
+ ? isMultipleNumberFieldMatch(key, pattern)
2903
+ : isNumberFieldMatch(key, pattern);
2904
+ }
2905
+ if (typeof subPattern === 'object' && 'min' in subPattern && 'max' in subPattern) {
2906
+ return isValueInRange(key, pattern);
2907
+ }
2908
+ return Array.isArray(subPattern)
2909
+ ? isMultipleFieldMatch(key, pattern)
2910
+ : isSingularFieldMatch(key, pattern);
2911
+ })
2912
+ .every((predicate) => predicate(target));
2913
+ const naturalNumber = (n) => Number(n || 0);
2914
+
2915
+ const getBlocksToRender = (blocks, filtrationState) => (normalize = identity) => blocks && blocks.filter((b) => shouldRenderBlock(filtrationState, normalize(b.content || {})));
2916
+
2917
+ const SlideCheckboxGroup = JSX(({ value, onChange, items = [], multiple }) => {
2918
+ const handleChange = (newValue) => {
2919
+ if (!onChange) {
2920
+ return;
2921
+ }
2922
+ if (multiple) {
2923
+ const hasAlready = value?.includes(newValue);
2924
+ onChange(hasAlready ? (value || []).filter((v) => v !== newValue) : [...(value || []), newValue]);
2925
+ }
2926
+ else {
2927
+ onChange(value === newValue ? '' : newValue);
2928
+ }
2929
+ };
2930
+ return items.map((item) => (jsx(SlideCheckbox, { text: item.title, value: [value].flatMap((_) => _).includes(item.value), onChange: () => handleChange(item.value), type: multiple ? 'checkbox' : 'radio' }, item.value)));
2931
+ });
2932
+
2933
+ const renderFiltrationForm = ({ field, reset, filtrationSchema, resetButton, children, }) => (jsxs("form", { className: "flex flex-col @4xl:flex-row justify-between bg-white p-4xl gap-s @4xl:gap-0", children: [jsxs("div", { className: "flex flex-col @4xl:flex-row gap-5xl", children: [children, Object.entries(filtrationSchema).map(renderFormItem(field))] }), resetButton ? (jsx("div", { children: jsx(Button, { className: "w-full @4xl:w-72 @4xl:ml-s", onClick: reset, ...resetButton }) })) : null] }));
2934
+ const renderFormItem = (field) => ([key, item]) => {
2935
+ const type = item?.type;
2936
+ switch (type) {
2937
+ case 'array':
2938
+ return renderCheckboxes(key, field)(item);
2939
+ default:
2940
+ return null;
2941
+ }
2942
+ };
2943
+ const renderCheckboxes = (key, field) => (item) => {
2944
+ const options = item?.items?.enum?.map((e, i) => ({ value: e, title: item?.items?.enumNames?.[i] || '' })) ||
2945
+ [];
2946
+ 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));
2947
+ };
2948
+
2949
+ const getPeriod = (source, content) => source[content?.sourceBook]?.rateRows
2950
+ .map((el) => el.minMonths)
2951
+ .filter((minMonths) => minMonths !== undefined);
2952
+
2953
+ async function fetchMultitudeJSON(...urls) {
2954
+ const fetchPromises = urls.map((url) => fetchJSON(url));
2955
+ return Promise.all(fetchPromises);
2956
+ }
2957
+
2958
+ const unique = (list) => [...new Set(list)];
2959
+
2960
+ function zip(firstCol, ...restCols) {
2961
+ return firstCol.map((firstEl, rowIndex) => [firstEl, ...restCols.map((col) => col[rowIndex])]);
2962
+ }
2963
+
2964
+ const getChildSourceBook = (blocks) => blocks?.filter(hasSourceBook).map(({ content: { sourceBook } }) => sourceBook);
2965
+ const hasSourceBook = (block) => Boolean(block && block.content && typeof block.content.sourceBook === 'string');
2966
+
2967
+ function useDepositsPeriods(blocks) {
2968
+ const { dirs = [], source = [] } = useMemo(() => {
2969
+ const sourceBooks = getChildSourceBook(blocks);
2970
+ return { dirs: sourceBooks?.map((url) => `/wcms-resources/${url}.json`), source: sourceBooks };
2971
+ }, [blocks]);
2972
+ const { data = [] } = useAsyncData(dirs, fetchMultitudeJSON);
2973
+ return {
2974
+ source: Object.fromEntries(zip(source, data).filter(([, sourceData]) => Boolean(sourceData))),
2975
+ months: unique(data
2976
+ .flatMap((item) => item?.rateRows || [])
2977
+ .filter((row) => typeof row.minMonths === 'number' && row.minMonths === row.maxMonths)
2978
+ .map((row) => row.minMonths)).sort((a, b) => a - b) || [],
2979
+ };
2980
+ }
2981
+
2982
+ const DEFAULT_MIN_SUM = 500;
2983
+ const DEFAULT_MAX_SUM = 1000000000;
2984
+ const initialFiltrationState$1 = {
2985
+ sum: {
2986
+ min: 10000,
2987
+ max: DEFAULT_MAX_SUM,
2988
+ },
2989
+ period: 3,
2990
+ };
2991
+ const DepositFiltration = JSX(({ className, filtrationSchema = {}, resetButton, sumInput, periodInput, ...rest }) => {
2992
+ const { source, months } = useDepositsPeriods(rest.block?.blocks);
2993
+ const [filtrationState, { field, reset }] = useForm(initialFiltrationState$1);
2994
+ const blocksToRender = getBlocksToRender(rest.block?.blocks, filtrationState)((content) => ({ ...content, period: getPeriod(source, content || {}) || [] }));
2995
+ const Inputs = (jsxs("div", { children: [jsx(CurrencyInput, { label: sumInput?.title, min: DEFAULT_MIN_SUM, max: DEFAULT_MAX_SUM, ...field('sum', {
2996
+ parse: (min) => ({ min: Number(min), max: DEFAULT_MAX_SUM }),
2997
+ format: ({ min }) => String(min),
2998
+ }) }), jsx(InputRange, { title: periodInput?.title, items: ['От 3 мес', 'До 5 лет'], list: months, ...field('period') })] }));
2999
+ 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 })] }));
3000
+ });
3001
+ const sourceBookSchema = {
3002
+ type: 'string',
3003
+ title: 'Адрес справочника',
3004
+ };
3005
+ DepositFiltration.childrenTypes = ['ProductTile'];
3006
+ DepositFiltration.childSchema = (content) => ({
3007
+ ...(content?.filtrationSchema || {}),
3008
+ sourceBook: sourceBookSchema,
3009
+ });
3010
+
2842
3011
  const renderErrorContent = (error) => {
2843
3012
  if (error?.contentType === 'Image' && error?.image) {
2844
3013
  return jsx(Img, { image: error.image });
@@ -3027,35 +3196,18 @@
3027
3196
 
3028
3197
  const useSitemap = (fallback) => useSWRResource(projectSettings.SITEMAP || 'sitemap', { fallback });
3029
3198
 
3030
- const TextWithIcon = JSX(({ textNode, iconNode, tag, onClick, justifyContent = 'between', className, ...rest }) => {
3031
- const Tag = tag;
3032
- 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] }));
3033
- });
3034
-
3035
- 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
3036
- ? 'bg-main-divider text-main-disabled hover:bg-main-divider'
3037
- : '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: {
3038
- icon,
3039
- iconVersion: 'white',
3040
- }, className: "my-auto", width: "20", height: "20" })) : null })));
3041
- const renderDefaultFoldButton = ({ isUnfolded, onToggle }) => {
3042
- const labels = ['Развернуть', 'Скрыть'];
3043
- const icons = ['ArrowDownIcon', 'ArrowUpIcon'];
3044
- return (jsx(DefaultFoldButton, { icon: icons[Number(isUnfolded)], label: labels[Number(isUnfolded)], onClick: onToggle }));
3045
- };
3046
-
3047
3199
  const foldableSectionStyles = 'flex flex-wrap group-last:last:pb-0';
3048
3200
 
3049
3201
  const getIconName = (isUnfolded) => isUnfolded ? 'ArrowUpSolidIcon' : 'ArrowDownSolidIcon';
3050
3202
 
3051
- const rollupItemStyles = '';
3052
-
3053
3203
  const renderRoundedIcon = (icon, iconBgVersion) => (jsx(RoundedIcon, { ...icon, iconBgVersion: iconBgVersion, className: "shrink-0" }));
3054
3204
 
3055
3205
  const rollupIconVersion = 'black';
3056
3206
 
3057
3207
  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 })));
3058
3208
 
3209
+ const rollupItemStyles = '';
3210
+
3059
3211
  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({
3060
3212
  ...rest,
3061
3213
  extraProps: { className: 'w-full', padding: 'p-0' },
@@ -3263,55 +3415,169 @@
3263
3415
  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: img, buttons: renderButtonsSection(buttons, { className: 'flex-wrap' }), children: [description ? (jsx(Text, { size: "text-xl", "font-weight": "font-light", children: description })) : null, jsxs("div", { className: style('gap-m', 'flex flex-1 flex-col', 'flex-col items-start @xl:flex-row @xl:items-center'), children: [renderList$1(items, listItemSize), qr?.src ? (jsx("div", { className: style('flex justify-center bg-white rounded-md @xl:-order-1', containerStyle), children: jsx(Img, { className: "w-fit", image: qr }) })) : null, image?.src ? jsx(Img, { className: "lg:hidden", image: image }) : null] })] }) }));
3264
3416
  });
3265
3417
 
3266
- 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;
3267
- const renderValueBlock = (title, value = 0) => (jsxs("div", { className: "basis-full flex flex-col-reverse sm:flex-row sm:justify-between sm:bg-main-divider sm:py-m sm:px-lg sm:rounded-md items-baseline whitespace-pre", children: [jsx(Text, { font: "font-light", size: "text-l", color: "text-secondary-text", children: title }), jsxs("span", { className: "font-sans text-h6 sm:text-primary-main text-primary-text", children: [toLocalNumberFormat(2)(value), " \u20BD"] })] }));
3268
-
3269
- const PictureText = JSX(({ className, padding, headlineVersion = 'M', align = 'text-center', sum, monthLimit, imageOptions, ...rest }) => (jsx(BlockWrapper, { className: className, padding: "p-0", ...rest, children: jsx(BaseProductTile, { className: "h-full", defaultPadding: "p-6xl", padding: padding, headlineVersion: headlineVersion, align: align, isFullWidthTitle: true, imageOptions: { directionRight: false, imageAlign: 'center', ...imageOptions }, ...rest, children: renderInsuranceSumMonth(Number(sum), Number(monthLimit)) }) })));
3418
+ const badgeBgStyleMap = {
3419
+ primary: 'bg-white/30',
3420
+ secondary: 'bg-main-divider',
3421
+ };
3422
+ const badgeTextColorStyleMap = {
3423
+ primary: 'text-white',
3424
+ secondary: 'text-secondary-text',
3425
+ };
3426
+ const Badge = JSX(({ count, version = 'secondary' }) => {
3427
+ 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 }) }));
3428
+ });
3270
3429
 
3271
- const GOLDEN_RATIO = 1.618;
3272
- const Placeholder = JSX(({ className, title, description = 'Блок в разработке...', ...rest }) => (jsxs(BlockWrapper, { className: style('box-border', className), ...rest, children: [jsx(Headline, { className: "max-w-[600px]", title: title, description: description, headlineVersion: "L", align: "text-left", isEmbedded: true }), jsx("figure", { className: "m-0 mt-xl min-w-[80%]", children: renderShimmer() })] })));
3273
- const renderShimmer = (size = 3) => goldenSequence(100, size)
3274
- .map((_) => Math.floor(_))
3275
- .map(renderShimmerItem);
3276
- const renderShimmerItem = (width, index) => (jsx("div", { style: { width: `${width || 100}%` }, className: "h-4 mt-xs bg-secondary-light" }, String(index)));
3277
- const goldenSequence = (first, size) => [first].concat(size > 0 ? goldenSequence(first / GOLDEN_RATIO, size - 1) : []);
3430
+ const getBadgeCount = (blocks = [], filter = {}) => blocks.filter(({ content = {} }) => shouldRenderBlock(filter, content)).length;
3278
3431
 
3279
- function renderBackwardButton(version, handleClick) {
3280
- const iconVersion = version === 'primary' ? 'white' : 'black';
3281
- const className = 'w-12 h-12 min-h-12 min-w-12 flex items-center justify-center';
3282
- const text = 'Вернуться назад';
3283
- return (jsxs("div", { className: "hidden sm:flex items-center gap-s", children: [jsx("div", { className: getRegularButtonClasses({ className, version, rounded: true }), onClick: handleClick, children: jsx(Img, { className: "w-4 h-4", image: {
3284
- icon: 'ArrowLeftIcon',
3285
- iconVersion: iconVersion,
3286
- } }) }), jsx(Button, { version: "link", text: text, ariaLabel: text, onClick: handleClick })] }));
3432
+ const scalarCmp = (a, b) => a === b;
3433
+ const arrCmp = (cmp = scalarCmp) => (a, b) => a === b || Boolean(a && b && a.length === b.length && a.every((_, i) => cmp(_, b[i])));
3434
+ const objCmp = (cmp) => (a, b) => a === b ||
3435
+ Boolean(a &&
3436
+ b &&
3437
+ Object.keys(a).length === Object.keys(b).length &&
3438
+ Object.entries(a).every(([key, value]) => cmp(value, b[key])));
3439
+ function combineBoolCmps(...comparators) {
3440
+ return (a, b) => comparators.some((cmp) => cmp(a, b));
3287
3441
  }
3288
3442
 
3289
- const ProductBlock = JSX(({ className, padding, backwardButton, ...rest }) => {
3290
- const router = useRouter();
3291
- const handleClick = useCallback((ev) => {
3292
- ev?.preventDefault();
3293
- router.back();
3294
- }, []);
3295
- return (jsxs(BlockWrapper, { className: style('overflow-hidden flex flex-col gap-3xl box-border', className), defaultPadding: "p-6xl", padding: padding, ...rest, children: [backwardButton
3296
- ? renderBackwardButton(!rest.version || rest.version === 'primary' ? 'primary' : 'white', handleClick)
3297
- : null, jsx(BaseProductTile, { className: "grow h-full", ...rest })] }));
3298
- });
3299
-
3300
- const ProductGallery = JSX(({ className, padding, slides = [], ...rest }) => (jsx(BlockWrapper, { className: style('overflow-hidden relative', className), padding: padding, ...rest, children: jsx(SwipeListControl, { gap: 0, padding: 0, children: slides
3301
- .map((s) => s.productBlock)
3302
- .map((_, i) => (jsx("div", { className: "box-border h-full", role: "listitem", children: jsx(BaseProductTile, { className: "px-5 h-full", headlineVersion: "L", ..._, ...rest }) }, String(i)))) }) })));
3303
-
3304
- const ProductTile = JSX(({ className, padding, headlineVersion = 'S', isTabularBenefits = true, additionalDescription, imageOptions, isFullWidthTitle = true, ...rest }) => (jsx(BlockWrapper, { className: className, padding: "p-0", ...rest, children: jsx(BaseProductTile, { className: "h-full", defaultPadding: "p-4xl sm:p-xl", padding: padding, headlineVersion: headlineVersion, isTabularBenefits: isTabularBenefits, imageOptions: { isImageSecondary: true, ...imageOptions }, isFullWidthTitle: isFullWidthTitle, ...rest, children: additionalDescription ? (jsx(Paragraph, { size: "text-m", font: "font-light", color: "group-data-primary:text-secondary-text", children: additionalDescription })) : null }) })));
3443
+ const hotFilterRecordCmp = objCmp(combineBoolCmps(scalarCmp, arrCmp()));
3305
3444
 
3306
- const RepresentativeOfficeInfo = JSX(({ address, email, telephone, button, className = '', __html, icon, title, version = 'primary', ...rest }) => (jsxs(BlockWrapper, { className: style('box-border text-left space-y-s', className), version: version, ...rest, children: [jsxs("div", { className: "w-full flex justify-between flex-row-reverse", children: [renderIconBlock(icon), title ? jsx(Heading, { headingType: "h3", as: "h3", title: title }) : null] }), jsxs("div", { className: "w-full space-y-m", children: [__html ? renderDescriptionBlock(__html) : null, renderBlock({
3307
- label: 'Адрес',
3308
- data: address,
3309
- iconName: 'GeolocationIcon',
3310
- }), renderBlock({ label: 'Телефон(факс)', data: telephone, iconName: 'PhoneIcon' }), renderBlock({
3311
- label: 'E-mail',
3312
- data: email,
3313
- iconName: 'MailIcon',
3314
- dataColor: 'text-primary-main',
3445
+ const EMPTY_ARR = [];
3446
+ const EMPTY_OBJ = {};
3447
+ const useHotFilters = ({ hotFilters = EMPTY_ARR, filtrationState = EMPTY_OBJ, blocks = EMPTY_ARR, onFiltrationStateChange, }) => {
3448
+ const activeItemIndex = useMemo(() => Math.max(0, hotFilters.findIndex((_) => hotFilterRecordCmp(_.filter, filtrationState))), [hotFilters, filtrationState]);
3449
+ const items = useMemo(() => hotFilters.map((_) => ({
3450
+ text: _.text,
3451
+ appendRight: (jsx(Badge, { version: _ === hotFilters[activeItemIndex] ? 'primary' : 'secondary', count: getBadgeCount(blocks, _.filter) })),
3452
+ })), [hotFilters, blocks, activeItemIndex]);
3453
+ const handleChange = useCallback((_) => {
3454
+ onFiltrationStateChange(hotFilters[items.indexOf(_)].filter);
3455
+ }, [hotFilters, items]);
3456
+ return {
3457
+ value: items[activeItemIndex],
3458
+ items: items,
3459
+ onChange: handleChange,
3460
+ };
3461
+ };
3462
+
3463
+ const tabPaddingStyleMap = {
3464
+ default: 'px-xs',
3465
+ underlined: 'px-m',
3466
+ rounded: 'px-lg rounded-md',
3467
+ };
3468
+ const tabTextStyle = 'text-secondary-text hover:text-primary-main';
3469
+ const activeTabTextStyleMap = {
3470
+ default: 'text-black sm:text-white',
3471
+ underlined: 'text-primary-main border-b-2',
3472
+ rounded: 'text-white',
3473
+ };
3474
+ const tabBgStyleMap = {
3475
+ default: 'bg-white',
3476
+ underlined: 'bg-white',
3477
+ rounded: 'bg-transparent',
3478
+ };
3479
+ const activeTabBgStyleMap = {
3480
+ default: 'sm:bg-primary-main',
3481
+ underlined: 'bg-white',
3482
+ rounded: 'bg-primary-main',
3483
+ };
3484
+ const TabItemInner = JSX(({ tag = 'div', item = {}, isActive, type = 'default', onClick }) => {
3485
+ const Tag = tag;
3486
+ const { text, appendRight, ...link } = item;
3487
+ return (jsx(Tag, { className: style('h-12', 'block flex-1', 'cursor-pointer', tabPaddingStyleMap[type], isActive ? activeTabBgStyleMap[type] : tabBgStyleMap[type]), role: "tab", "aria-selected": isActive, onClick: onClick, ...link, children: jsxs("div", { className: style('h-full', 'flex justify-center items-center', 'text-center whitespace-nowrap', isActive ? activeTabTextStyleMap[type] : tabTextStyle), children: [jsx(Text, { size: "text-m", children: text }), appendRight ? jsx("div", { className: "ml-xs", children: appendRight }) : null] }) }));
3488
+ });
3489
+
3490
+ const TabItem = JSX((props) => props?.item?.href ? jsx(LinkTabItem, { ...props }) : jsx(ButtonTabItem, { ...props }));
3491
+ const LinkTabItem = JSX((props) => {
3492
+ const link = useLink();
3493
+ const handleClick = useCallback(() => {
3494
+ props.onClick && props.onClick(props.item || {});
3495
+ }, [props.onClick, props.item]);
3496
+ const { onClick, ...item } = link({ ...props.item, onClick: handleClick });
3497
+ return jsx(TabItemInner, { ...props, tag: "a", item: item, onClick: onClick });
3498
+ });
3499
+ // TODO: Update handlerDecorator (support buttons?)
3500
+ const ButtonTabItem = JSX(({ item = {}, onClick, ...rest }) => {
3501
+ const handleClick = useCallback(() => {
3502
+ onClick && onClick(item);
3503
+ }, [onClick, item]);
3504
+ return jsx(TabItemInner, { item: item, onClick: handleClick, ...rest });
3505
+ });
3506
+
3507
+ const renderTab = (activeTab, onClick, type) => (tab, i) => (jsx(TabItem, { isActive: tab === activeTab, onClick: onClick, type: type, item: tab }, String(i)));
3508
+
3509
+ const TabsControl = JSX(({ className, tabsType = 'default', items = [], value, onChange }) => (jsx("div", { className: style('flex gap-x-2xs overflow-x-auto no-scrollbar', className), role: "tablist", children: items.map(renderTab(value, onChange, tabsType)) })));
3510
+
3511
+ const initialFiltrationState = {
3512
+ categories: [],
3513
+ extraOptions: [],
3514
+ propertyType: [],
3515
+ stage: [],
3516
+ };
3517
+ const MortgageFiltration = JSX(({ className, hotFilters, filtrationSchema = {}, resetButton, ...rest }) => {
3518
+ const [filtrationState, { field, reset, update: replaceFiltrationState }] = useForm(initialFiltrationState);
3519
+ const blocksToRender = getBlocksToRender(rest.block?.blocks, filtrationState)();
3520
+ const handleFiltrationStateChange = useCallback((_ = initialFiltrationState) => replaceFiltrationState(_), []);
3521
+ const tabsControlProps = useHotFilters({
3522
+ hotFilters,
3523
+ filtrationState,
3524
+ blocks: rest.block?.blocks,
3525
+ onFiltrationStateChange: handleFiltrationStateChange,
3526
+ });
3527
+ 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 })] }));
3528
+ });
3529
+ MortgageFiltration.childrenTypes = ['ProductTile'];
3530
+ MortgageFiltration.childSchema = (content) => content?.filtrationSchema || {};
3531
+
3532
+ 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;
3533
+ const renderValueBlock = (title, value = 0) => (jsxs("div", { className: "basis-full flex flex-col-reverse sm:flex-row sm:justify-between sm:bg-main-divider sm:py-m sm:px-lg sm:rounded-md items-baseline whitespace-pre", children: [jsx(Text, { font: "font-light", size: "text-l", color: "text-secondary-text", children: title }), jsxs("span", { className: "font-sans text-h6 sm:text-primary-main text-primary-text", children: [toLocalNumberFormat(2)(value), " \u20BD"] })] }));
3534
+
3535
+ const PictureText = JSX(({ className, padding, headlineVersion = 'M', align = 'text-center', sum, monthLimit, imageOptions, ...rest }) => (jsx(BlockWrapper, { className: className, padding: "p-0", ...rest, children: jsx(BaseProductTile, { className: "h-full", defaultPadding: "p-6xl", padding: padding, headlineVersion: headlineVersion, align: align, isFullWidthTitle: true, imageOptions: { directionRight: false, imageAlign: 'center', ...imageOptions }, ...rest, children: renderInsuranceSumMonth(Number(sum), Number(monthLimit)) }) })));
3536
+
3537
+ const GOLDEN_RATIO = 1.618;
3538
+ const Placeholder = JSX(({ className, title, description = 'Блок в разработке...', ...rest }) => (jsxs(BlockWrapper, { className: style('box-border', className), ...rest, children: [jsx(Headline, { className: "max-w-[600px]", title: title, description: description, headlineVersion: "L", align: "text-left", isEmbedded: true }), jsx("figure", { className: "m-0 mt-xl min-w-[80%]", children: renderShimmer() })] })));
3539
+ const renderShimmer = (size = 3) => goldenSequence(100, size)
3540
+ .map((_) => Math.floor(_))
3541
+ .map(renderShimmerItem);
3542
+ const renderShimmerItem = (width, index) => (jsx("div", { style: { width: `${width || 100}%` }, className: "h-4 mt-xs bg-secondary-light" }, String(index)));
3543
+ const goldenSequence = (first, size) => [first].concat(size > 0 ? goldenSequence(first / GOLDEN_RATIO, size - 1) : []);
3544
+
3545
+ function renderBackwardButton(version, handleClick) {
3546
+ const iconVersion = version === 'primary' ? 'white' : 'black';
3547
+ const className = 'w-12 h-12 min-h-12 min-w-12 flex items-center justify-center';
3548
+ const text = 'Вернуться назад';
3549
+ return (jsxs("div", { className: "hidden sm:flex items-center gap-s", children: [jsx("div", { className: getRegularButtonClasses({ className, version, rounded: true }), onClick: handleClick, children: jsx(Img, { className: "w-4 h-4", image: {
3550
+ icon: 'ArrowLeftIcon',
3551
+ iconVersion: iconVersion,
3552
+ } }) }), jsx(Button, { version: "link", text: text, ariaLabel: text, onClick: handleClick })] }));
3553
+ }
3554
+
3555
+ const ProductBlock = JSX(({ className, padding, backwardButton, ...rest }) => {
3556
+ const router = useRouter();
3557
+ const handleClick = useCallback((ev) => {
3558
+ ev?.preventDefault();
3559
+ router.back();
3560
+ }, []);
3561
+ return (jsxs(BlockWrapper, { className: style('overflow-hidden flex flex-col gap-3xl box-border', className), defaultPadding: "p-6xl", padding: padding, ...rest, children: [backwardButton
3562
+ ? renderBackwardButton(!rest.version || rest.version === 'primary' ? 'primary' : 'white', handleClick)
3563
+ : null, jsx(BaseProductTile, { className: "grow h-full", ...rest })] }));
3564
+ });
3565
+
3566
+ const ProductGallery = JSX(({ className, padding, slides = [], ...rest }) => (jsx(BlockWrapper, { className: style('overflow-hidden relative', className), padding: padding, ...rest, children: jsx(SwipeListControl, { gap: 0, padding: 0, children: slides
3567
+ .map((s) => s.productBlock)
3568
+ .map((_, i) => (jsx("div", { className: "box-border h-full", role: "listitem", children: jsx(BaseProductTile, { className: "px-5 h-full", headlineVersion: "L", ..._, ...rest }) }, String(i)))) }) })));
3569
+
3570
+ const ProductTile = JSX(({ className, padding, headlineVersion = 'S', isTabularBenefits = true, additionalDescription, imageOptions, isFullWidthTitle = true, ...rest }) => (jsx(BlockWrapper, { className: className, padding: "p-0", ...rest, children: jsx(BaseProductTile, { className: "h-full", defaultPadding: "p-4xl sm:p-xl", padding: padding, headlineVersion: headlineVersion, isTabularBenefits: isTabularBenefits, imageOptions: { isImageSecondary: true, ...imageOptions }, isFullWidthTitle: isFullWidthTitle, ...rest, children: additionalDescription ? (jsx(Paragraph, { size: "text-m", font: "font-light", color: "group-data-primary:text-secondary-text", children: additionalDescription })) : null }) })));
3571
+
3572
+ const RepresentativeOfficeInfo = JSX(({ address, email, telephone, button, className = '', __html, icon, title, version = 'primary', ...rest }) => (jsxs(BlockWrapper, { className: style('box-border text-left space-y-s', className), version: version, ...rest, children: [jsxs("div", { className: "w-full flex justify-between flex-row-reverse", children: [renderIconBlock(icon), title ? jsx(Heading, { headingType: "h3", as: "h3", title: title }) : null] }), jsxs("div", { className: "w-full space-y-m", children: [__html ? renderDescriptionBlock(__html) : null, renderBlock({
3573
+ label: 'Адрес',
3574
+ data: address,
3575
+ iconName: 'GeolocationIcon',
3576
+ }), renderBlock({ label: 'Телефон(факс)', data: telephone, iconName: 'PhoneIcon' }), renderBlock({
3577
+ label: 'E-mail',
3578
+ data: email,
3579
+ iconName: 'MailIcon',
3580
+ dataColor: 'text-primary-main',
3315
3581
  }), button?.text ? renderButtonsSection([button]) : null] })] })));
3316
3582
  const renderIconBlock = (icon) => (jsx("div", { className: 'w-10 h-7 sm:w-24 sm:h-16', children: icon?.src || icon?.icon ? jsx(Img, { image: icon }) : null }));
3317
3583
  const renderDescriptionBlock = (__html) => (jsx("div", { className: "border-b border-main-divider pb-lg", children: jsx(RichText, { __html: __html }) }));
@@ -3322,25 +3588,6 @@
3322
3588
  return (jsx(BlockWrapper, { defaultPadding: "p-0", ...rest, children: jsx(RichText, { __html: __html, richVersion: richVersion }) }));
3323
3589
  });
3324
3590
 
3325
- const styles$2 = {
3326
- focus: 'focus:border-primary-text focus:border',
3327
- hover: 'hover:bg-primary-hover',
3328
- active: 'active:bg-primary-active',
3329
- border: 'border-b border-b-2 border-gray last:border-0',
3330
- position: 'relative flex items-center justify-center',
3331
- font: 'text-center font-sans text-l',
3332
- };
3333
- // TODO: Добавить метод определения центральной точки
3334
- const ZoomButton = JSX(({ yandexMaps, direction = 'in' }) => {
3335
- const iconName = direction === 'in' ? 'PlusIcon' : 'MinusIcon';
3336
- const changeZoom = () => {
3337
- const currentZoom = yandexMaps.current.getZoom();
3338
- const newZoom = direction === 'in' ? currentZoom + 1 : currentZoom - 1;
3339
- yandexMaps.current.setZoom(newZoom, { checkZoomRange: true });
3340
- };
3341
- return (jsx("div", { onClick: changeZoom, className: `${Object.values(styles$2).join(' ')} bg-white select-none cursor-pointer w-12 h-12`, children: jsx(Icon, { name: iconName, width: "20", height: "16" }) }));
3342
- });
3343
-
3344
3591
  function renderClusterer(yandexMaps, map, points) {
3345
3592
  map.geoObjects.removeAll();
3346
3593
  const clusterIconContentLayout = yandexMaps.templateLayoutFactory.createClass('<div style="margin-top: -3px;">{{properties.geoObjects.length}}</div>');
@@ -3373,7 +3620,7 @@
3373
3620
  });
3374
3621
  }
3375
3622
 
3376
- const styles$1 = {
3623
+ const styles$2 = {
3377
3624
  focus: 'focus:border-primary-text focus:border',
3378
3625
  hover: 'hover:bg-primary-hover',
3379
3626
  active: 'active:bg-primary-active',
@@ -3385,10 +3632,10 @@
3385
3632
  const getYandexMapUrl = () => {
3386
3633
  return `https://yandex.ru/maps/?ll=${[pointsCenter[1], pointsCenter[0]]}&z=10&l=map`;
3387
3634
  };
3388
- return (jsx("a", { className: `select-none cursor-pointer px-4xl h-12 bg-primary-main text-white ${Object.values(styles$1).join(' ')}`, href: getYandexMapUrl(), target: "_blank", children: "\u041E\u0442\u043A\u0440\u044B\u0442\u044C \u043D\u0430 \u043A\u0430\u0440\u0442\u0435" }));
3635
+ return (jsx("a", { className: `select-none cursor-pointer px-4xl h-12 bg-primary-main text-white ${Object.values(styles$2).join(' ')}`, href: getYandexMapUrl(), target: "_blank", children: "\u041E\u0442\u043A\u0440\u044B\u0442\u044C \u043D\u0430 \u043A\u0430\u0440\u0442\u0435" }));
3389
3636
  };
3390
3637
 
3391
- const styles = {
3638
+ const styles$1 = {
3392
3639
  focus: 'focus:border-primary-text focus:border',
3393
3640
  hover: 'hover:bg-primary-hover',
3394
3641
  active: 'active:bg-primary-active',
@@ -3410,7 +3657,7 @@
3410
3657
  map.geoObjects.add(result.geoObjects);
3411
3658
  });
3412
3659
  };
3413
- return (jsx("div", { className: `select-none cursor-pointer py-m w-12 bg-white ${Object.values(styles).join(' ')} ${className}`, onClick: setUserGeoLocation, children: jsx(Icon, { name: "UserGeoLocationIcon", width: "20", height: "16" }) }));
3660
+ return (jsx("div", { className: `select-none cursor-pointer py-m w-12 bg-white ${Object.values(styles$1).join(' ')} ${className}`, onClick: setUserGeoLocation, children: jsx(Icon, { name: "UserGeoLocationIcon", width: "20", height: "16" }) }));
3414
3661
  };
3415
3662
 
3416
3663
  const getNS = (_) => globalThis[_];
@@ -3453,6 +3700,25 @@
3453
3700
  return useExternalNS(YMAPS_NAMESPACE, url);
3454
3701
  };
3455
3702
 
3703
+ const styles = {
3704
+ focus: 'focus:border-primary-text focus:border',
3705
+ hover: 'hover:bg-primary-hover',
3706
+ active: 'active:bg-primary-active',
3707
+ border: 'border-b border-b-2 border-gray last:border-0',
3708
+ position: 'relative flex items-center justify-center',
3709
+ font: 'text-center font-sans text-l',
3710
+ };
3711
+ // TODO: Добавить метод определения центральной точки
3712
+ const ZoomButton = JSX(({ yandexMaps, direction = 'in' }) => {
3713
+ const iconName = direction === 'in' ? 'PlusIcon' : 'MinusIcon';
3714
+ const changeZoom = () => {
3715
+ const currentZoom = yandexMaps.current.getZoom();
3716
+ const newZoom = direction === 'in' ? currentZoom + 1 : currentZoom - 1;
3717
+ yandexMaps.current.setZoom(newZoom, { checkZoomRange: true });
3718
+ };
3719
+ return (jsx("div", { onClick: changeZoom, className: `${Object.values(styles).join(' ')} bg-white select-none cursor-pointer w-12 h-12`, children: jsx(Icon, { name: iconName, width: "20", height: "16" }) }));
3720
+ });
3721
+
3456
3722
  const FULLSCREEN_STYLES = {
3457
3723
  border: 'border border-transparent rounded-md ',
3458
3724
  position: 'absolute flex items-center justify-center',
@@ -3519,6 +3785,12 @@
3519
3785
  const mapByIndex = (arr, index) => arr.map((a) => a[index]);
3520
3786
  const getArraySumAndAverage = (arr) => arr.length && arr.reduce((a, b) => a + b) / arr.length;
3521
3787
 
3788
+ const RadioButtons = JSX(({ className = '' }) => {
3789
+ const [selectedOption, setSelectedOption] = useState('option2');
3790
+ const onChange = useCallback((_) => setSelectedOption(_), []);
3791
+ return (jsxs("div", { className: style('order-4', className), children: [jsx(Radio, { className: "mb-xs", name: "contractType", text: "\u041F\u0440\u043E\u0441\u0442\u043E\u0435 \u0445\u0440\u0430\u043D\u0435\u043D\u0438\u0435", value: "option1", checked: selectedOption === 'option1', onChange: onChange }), jsx(Radio, { name: "contractType", text: "\u0421\u0434\u0435\u043B\u043A\u0430 \u0441 \u043D\u0435\u0434\u0432\u0438\u0436\u0438\u043C\u043E\u0441\u0442\u044C\u044E", value: "option2", checked: selectedOption === 'option2', onChange: onChange })] }));
3792
+ });
3793
+
3522
3794
  const WrapperSelect = JSX(({ data, fieldLabel, fieldValue, selected, placeholder = '', setSelected, label }) => {
3523
3795
  const dataFormat = data
3524
3796
  .filter(Boolean)
@@ -3529,12 +3801,6 @@
3529
3801
 
3530
3802
  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" }) })] })));
3531
3803
 
3532
- const RadioButtons = JSX(({ className = '' }) => {
3533
- const [selectedOption, setSelectedOption] = useState('option2');
3534
- const onChange = useCallback((_) => setSelectedOption(_), []);
3535
- return (jsxs("div", { className: style('order-4', className), children: [jsx(Radio, { className: "mb-xs", name: "contractType", text: "\u041F\u0440\u043E\u0441\u0442\u043E\u0435 \u0445\u0440\u0430\u043D\u0435\u043D\u0438\u0435", value: "option1", checked: selectedOption === 'option1', onChange: onChange }), jsx(Radio, { name: "contractType", text: "\u0421\u0434\u0435\u043B\u043A\u0430 \u0441 \u043D\u0435\u0434\u0432\u0438\u0436\u0438\u043C\u043E\u0441\u0442\u044C\u044E", value: "option2", checked: selectedOption === 'option2', onChange: onChange })] }));
3536
- });
3537
-
3538
3804
  const ITEMS = ['От 1 дня', 'До 365 дней'];
3539
3805
  const MIN = 1;
3540
3806
  const MAX = 365;
@@ -3648,6 +3914,8 @@
3648
3914
  throw new Error(x);
3649
3915
  }
3650
3916
 
3917
+ const checkCanRenderIcon = (icon) => Boolean(icon?.icon || icon?.src);
3918
+
3651
3919
  const STEPS_BLOCK_STYLE = {
3652
3920
  description: 'text-white/80 text-l font-light group-data-primary:text-secondary-text group-data-gray:text-secondary-text',
3653
3921
  iconText: 'text-white group-data-primary:text-secondary-text group-data-gray:text-secondary-text',
@@ -3656,8 +3924,6 @@
3656
3924
  dot: 'bg-white/80 group-data-primary:bg-secondary-text',
3657
3925
  };
3658
3926
 
3659
- const checkCanRenderIcon = (icon) => Boolean(icon?.icon || icon?.src);
3660
-
3661
3927
  const STEPS_SIZE_MAP = {
3662
3928
  normal: { icon: 'h-11 w-11', image: 'h-14 w-14' },
3663
3929
  small: { icon: 'h-12 w-12', image: 'h-14 w-14' },
@@ -3696,6 +3962,18 @@
3696
3962
  return (jsx("div", { className: style(iconAreaSize, containerStyle, 'z-10 mr-s flex justify-center content-center'), children: jsx("span", { className: "flex max-w-full max-h-full self-center text-h4 text-secondary-text group-data-secondary:text-white", children: checkCanRenderIcon(step?.icon) ? (jsx(Img, { image: { ...step.icon, iconVersion: step.icon?.iconVersion || iconVersion }, imageClassName: "max-w-full max-h-full", width: iconSize, height: iconSize })) : (jsx("span", { children: i + 1 })) }) }));
3697
3963
  };
3698
3964
 
3965
+ const isHrefActive = (router) => ({ href }) => !href
3966
+ ? false
3967
+ : withoutQuery(isURL(href) ? router.href : router.pathname).startsWith(withoutQuery(href));
3968
+
3969
+ const isTopItemActive = (router) => isHrefActive(projectSettings.BASE_PATH ? { pathname: projectSettings.BASE_PATH } : router);
3970
+
3971
+ function useActiveRoute(items = []) {
3972
+ const router = useRouter();
3973
+ const activeIndex = items.findIndex(isTopItemActive(router));
3974
+ return [activeIndex, items[activeIndex]];
3975
+ }
3976
+
3699
3977
  const RenderItem = JSX(({ isActive, item, onClick }) => {
3700
3978
  const isAnotherPortal = projectSettings?.BASE_PATH
3701
3979
  ? !item.href?.startsWith(projectSettings?.BASE_PATH)
@@ -3713,57 +3991,86 @@
3713
3991
  } }), item.title] }));
3714
3992
  });
3715
3993
 
3716
- const isHrefActive = (router) => ({ href }) => !href
3717
- ? false
3718
- : withoutQuery(isURL(href) ? router.href : router.pathname).startsWith(withoutQuery(href));
3719
-
3720
- const isTopItemActive = (router) => isHrefActive(projectSettings.BASE_PATH ? { pathname: projectSettings.BASE_PATH } : router);
3721
-
3722
- function useActiveRoute(items = []) {
3723
- const router = useRouter();
3724
- const activeIndex = items.findIndex(isTopItemActive(router));
3725
- return [activeIndex, items[activeIndex]];
3726
- }
3727
-
3728
3994
  const RenderMenuItems = JSX(({ menuItems, onClick }) => {
3729
3995
  const [activeIndex] = useActiveRoute(menuItems);
3730
3996
  return (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)))) }));
3731
3997
  });
3732
3998
 
3733
- const useLatestEvent = (eventBus, type, initialEvent) => {
3734
- const [latestEvent, setLatestEvent] = useState(initialEvent || null);
3735
- useEffect(() => eventBus.subscribe(type, (_) => setLatestEvent(_)), [eventBus, type]);
3736
- const fireEvent = useCallback((_) => eventBus.fire(type, _), [eventBus, type]);
3737
- return [latestEvent, fireEvent];
3738
- };
3999
+ const isDialogOpen = (id, dialogs) => dialogs.find((item) => item.id === id, id);
3739
4000
 
3740
- const REGION_URL = '/api/v1/region';
3741
- const LOCATION_STORAGE_KEY = 'location';
3742
- function useLocation(defaultLocation = 'Москва') {
3743
- const [currentLocation, fireCurrentLocation] = useLatestEvent(defaultEventBus, 'location', restoreLocation() ?? { name: defaultLocation });
3744
- const selectCurrentLocation = useCallback((_) => {
3745
- storeLocation(_);
3746
- fireCurrentLocation(_);
3747
- }, []);
3748
- const { data } = useAsyncData(REGION_URL, fetchJSONUnsafe);
3749
- useEffect(() => {
3750
- if (data && !hasStoredLocation()) {
3751
- fireCurrentLocation(data);
3752
- }
3753
- }, [data]);
3754
- return [currentLocation ?? { name: defaultLocation }, selectCurrentLocation];
4001
+ function useList(initialList = []) {
4002
+ const [list, setList] = useState(initialList);
4003
+ const push = useCallback((item) => setList(_ => [..._, item]), []);
4004
+ const pop = useCallback(() => setList(_ => _.slice(0, -1)), []);
4005
+ const remove = useCallback((item) => setList(_ => _.filter(currentItem => currentItem !== item)), []);
4006
+ const clear = useCallback(() => setList([]), []);
4007
+ return [list, { setList, push, pop, remove, clear }];
3755
4008
  }
3756
- const hasStoredLocation = () => Boolean(globalThis.localStorage?.getItem(LOCATION_STORAGE_KEY));
3757
- const restoreLocation = () => {
3758
- try {
3759
- const data = globalThis.localStorage?.getItem(LOCATION_STORAGE_KEY);
3760
- return data && JSON.parse(data);
3761
- }
3762
- catch (ex) {
3763
- return null;
3764
- }
3765
- };
3766
- const storeLocation = (_) => {
4009
+
4010
+ const useDialogsList = ({ onCloseAll, onClose, } = {}) => {
4011
+ const [dialogs, { push, pop, clear }] = useList();
4012
+ const closeAll = useCallback(() => {
4013
+ onCloseAll && onCloseAll(dialogs);
4014
+ clear();
4015
+ }, [dialogs, onCloseAll]);
4016
+ const close = useCallback(() => {
4017
+ onClose && onClose(dialogs[dialogs.length - 1]);
4018
+ pop();
4019
+ }, [dialogs, onClose]);
4020
+ useEffect(() => defaultEventBus.subscribe('dialog', (action) => {
4021
+ switch (action.type) {
4022
+ case 'open':
4023
+ push(action);
4024
+ break;
4025
+ case 'close':
4026
+ if (action.all) {
4027
+ closeAll();
4028
+ }
4029
+ else {
4030
+ close();
4031
+ }
4032
+ break;
4033
+ default:
4034
+ assertUnreachable(action);
4035
+ }
4036
+ }), [closeAll, close]);
4037
+ return dialogs;
4038
+ };
4039
+
4040
+ const useLatestEvent = (eventBus, type, initialEvent) => {
4041
+ const [latestEvent, setLatestEvent] = useState(initialEvent || null);
4042
+ useEffect(() => eventBus.subscribe(type, (_) => setLatestEvent(_)), [eventBus, type]);
4043
+ const fireEvent = useCallback((_) => eventBus.fire(type, _), [eventBus, type]);
4044
+ return [latestEvent, fireEvent];
4045
+ };
4046
+
4047
+ const REGION_URL = '/api/v1/region';
4048
+ const LOCATION_STORAGE_KEY = 'location';
4049
+ function useLocation(defaultLocation = 'Москва') {
4050
+ const [currentLocation, fireCurrentLocation] = useLatestEvent(defaultEventBus, 'location', restoreLocation() ?? { name: defaultLocation });
4051
+ const selectCurrentLocation = useCallback((_) => {
4052
+ storeLocation(_);
4053
+ fireCurrentLocation(_);
4054
+ }, []);
4055
+ const { data } = useAsyncData(REGION_URL, fetchJSONUnsafe);
4056
+ useEffect(() => {
4057
+ if (data && !hasStoredLocation()) {
4058
+ fireCurrentLocation(data);
4059
+ }
4060
+ }, [data]);
4061
+ return [currentLocation ?? { name: defaultLocation }, selectCurrentLocation];
4062
+ }
4063
+ const hasStoredLocation = () => Boolean(globalThis.localStorage?.getItem(LOCATION_STORAGE_KEY));
4064
+ const restoreLocation = () => {
4065
+ try {
4066
+ const data = globalThis.localStorage?.getItem(LOCATION_STORAGE_KEY);
4067
+ return data && JSON.parse(data);
4068
+ }
4069
+ catch (ex) {
4070
+ return null;
4071
+ }
4072
+ };
4073
+ const storeLocation = (_) => {
3767
4074
  try {
3768
4075
  globalThis.localStorage?.setItem(LOCATION_STORAGE_KEY, JSON.stringify(_));
3769
4076
  }
@@ -3863,11 +4170,6 @@
3863
4170
  return prefixL;
3864
4171
  }
3865
4172
 
3866
- const SearchBar$1 = JSX(({ className, searchTerm, onSearch }) => {
3867
- 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
3868
- 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" })] }));
3869
- });
3870
-
3871
4173
  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;
3872
4174
  const ForeignOffice = JSX(({ icon, ...rest }) => {
3873
4175
  const link = useLink();
@@ -3881,6 +4183,11 @@
3881
4183
 
3882
4184
  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));
3883
4185
 
4186
+ const SearchBar$1 = JSX(({ className, searchTerm, onSearch }) => {
4187
+ 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
4188
+ 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" })] }));
4189
+ });
4190
+
3884
4191
  const SEARCH_TERM_MIN_LENGTH = 3;
3885
4192
  const LocationDialog = JSX(() => {
3886
4193
  const { defaultLocation, foreignOffices } = useSitemap();
@@ -3911,11 +4218,11 @@
3911
4218
  };
3912
4219
  };
3913
4220
 
3914
- const SearchInput = JSX(({ className, value, autoFocus, onChange, onFocus }) => {
4221
+ const SearchInput = JSX(({ className, value, autoFocus, onChange, onFocus, placeholder = 'Поиск по сайту' }) => {
3915
4222
  const handleChange = useCallback((ev) => {
3916
4223
  onChange && onChange(ev.target?.value || '');
3917
4224
  }, [onChange]);
3918
- 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 })] }));
4225
+ 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: placeholder, autoFocus: autoFocus, onChange: handleChange, onFocus: onFocus })] }));
3919
4226
  });
3920
4227
 
3921
4228
  function useDebouncedEffect(effect, deps, delay = 300) {
@@ -3930,10 +4237,6 @@
3930
4237
  const compareBy = (indexOf) => (a, b) => indexOf(a) - indexOf(b);
3931
4238
  const desc = (cmp) => (a, b) => -cmp(a, b);
3932
4239
 
3933
- function zip(firstCol, ...restCols) {
3934
- return firstCol.map((firstEl, rowIndex) => [firstEl, ...restCols.map((col) => col[rowIndex])]);
3935
- }
3936
-
3937
4240
  const joinMaps = (aggregate, emptyVal) => (acc, map) => {
3938
4241
  for (const [key, b] of map) {
3939
4242
  acc.set(key, aggregate(acc.get(key) || emptyVal, b));
@@ -4107,47 +4410,6 @@
4107
4410
  });
4108
4411
  const renderOfficeLink = (officesLink) => officesLink ? (jsxs("a", { className: "flex items-center mb-3", href: officesLink, rel: "noopener noreferrer", "aria-label": "\u041E\u0444\u0438\u0441\u044B \u0438 \u0431\u0430\u043D\u043A\u043E\u043C\u0430\u0442\u044B", children: [jsx(Img, { image: { icon: 'MapOpenedIcon', iconVersion: 'black' }, width: "24", height: "24", className: "text-primary-main box-border mr-xs bg-main-divider p-xs rounded-md" }), jsx("span", { children: "\u041E\u0444\u0438\u0441\u044B \u0438 \u0431\u0430\u043D\u043A\u043E\u043C\u0430\u0442\u044B" })] })) : null;
4109
4412
 
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 }];
4117
- }
4118
-
4119
- const useDialogsList = ({ onCloseAll, onClose, } = {}) => {
4120
- const [dialogs, { push, pop, clear }] = useList();
4121
- const closeAll = useCallback(() => {
4122
- onCloseAll && onCloseAll(dialogs);
4123
- clear();
4124
- }, [dialogs, onCloseAll]);
4125
- const close = useCallback(() => {
4126
- onClose && onClose(dialogs[dialogs.length - 1]);
4127
- pop();
4128
- }, [dialogs, onClose]);
4129
- useEffect(() => defaultEventBus.subscribe('dialog', (action) => {
4130
- switch (action.type) {
4131
- case 'open':
4132
- push(action);
4133
- break;
4134
- case 'close':
4135
- if (action.all) {
4136
- closeAll();
4137
- }
4138
- else {
4139
- close();
4140
- }
4141
- break;
4142
- default:
4143
- assertUnreachable(action);
4144
- }
4145
- }), [closeAll, close]);
4146
- return dialogs;
4147
- };
4148
-
4149
- const isDialogOpen = (id, dialogs) => dialogs.find((item) => item.id === id, id);
4150
-
4151
4413
  const BURGER_MENU_DIALOG_ID = 'burgerMenuDialog';
4152
4414
  const useBurgerMenuDialog = () => {
4153
4415
  const { open: openDialog, closeAll, close } = useDialogManager();
@@ -4186,52 +4448,6 @@
4186
4448
  return (jsx("div", { className: "w-full mb-5", "data-component": "sticky-bottom-menu-container", children: jsx(BlockWrapper, { className: "@container-normal fixed w-full h-[74px] bottom-0 left-0 my-0 mx-auto bg-transparent z-[100]", padding: "p-0", "data-component": "sticky-bottom-menu", children: jsx(RenderMenuItems, { menuItems: menuItemsWithButton, onClick: toggle }) }) }));
4187
4449
  });
4188
4450
 
4189
- const tabPaddingStyleMap = {
4190
- default: 'px-xs',
4191
- underlined: 'px-m',
4192
- rounded: 'px-lg rounded-md',
4193
- };
4194
- const tabTextStyle = 'text-secondary-text hover:text-primary-main';
4195
- const activeTabTextStyleMap = {
4196
- default: 'text-black sm:text-white',
4197
- underlined: 'text-primary-main border-b-2',
4198
- rounded: 'text-white',
4199
- };
4200
- const tabBgStyleMap = {
4201
- default: 'bg-white',
4202
- underlined: 'bg-white',
4203
- rounded: 'bg-transparent',
4204
- };
4205
- const activeTabBgStyleMap = {
4206
- default: 'sm:bg-primary-main',
4207
- underlined: 'bg-white',
4208
- rounded: 'bg-primary-main',
4209
- };
4210
- const TabItemInner = JSX(({ tag = 'div', item = {}, isActive, type = 'default', onClick }) => {
4211
- const Tag = tag;
4212
- const { text, appendRight, ...link } = item;
4213
- return (jsx(Tag, { className: style('h-12', 'block flex-1', 'cursor-pointer', tabPaddingStyleMap[type], isActive ? activeTabBgStyleMap[type] : tabBgStyleMap[type]), role: "tab", "aria-selected": isActive, onClick: onClick, ...link, children: jsxs("div", { className: style('h-full', 'flex justify-center items-center', 'text-center whitespace-nowrap', isActive ? activeTabTextStyleMap[type] : tabTextStyle), children: [jsx(Text, { size: "text-m", children: text }), appendRight ? jsx("div", { className: "ml-xs", children: appendRight }) : null] }) }));
4214
- });
4215
-
4216
- const TabItem = JSX((props) => props?.item?.href ? jsx(LinkTabItem, { ...props }) : jsx(ButtonTabItem, { ...props }));
4217
- const LinkTabItem = JSX((props) => {
4218
- const link = useLink();
4219
- const handleClick = useCallback(() => {
4220
- props.onClick && props.onClick(props.item || {});
4221
- }, [props.onClick, props.item]);
4222
- const { onClick, ...item } = link({ ...props.item, onClick: handleClick });
4223
- return jsx(TabItemInner, { ...props, tag: "a", item: item, onClick: onClick });
4224
- });
4225
- // TODO: Update handlerDecorator (support buttons?)
4226
- const ButtonTabItem = JSX(({ item = {}, onClick, ...rest }) => {
4227
- const handleClick = useCallback(() => {
4228
- onClick && onClick(item);
4229
- }, [onClick, item]);
4230
- return jsx(TabItemInner, { item: item, onClick: handleClick, ...rest });
4231
- });
4232
-
4233
- const renderTab = (activeTab, onClick, type) => (tab, i) => (jsx(TabItem, { isActive: tab === activeTab, onClick: onClick, type: type, item: tab }, String(i)));
4234
-
4235
4451
  const scrollButtonStyle = 'hidden sm:flex absolute z-40 top-0';
4236
4452
  const ScrollableTabsControl = JSX(({ className, items = [], value, onChange, tabsType }) => {
4237
4453
  const [containerRef, scroll] = useSwipeListScroll({
@@ -4240,8 +4456,6 @@
4240
4456
  return (jsxs("div", { className: style('relative overflow-x-auto no-scrollbar', className), role: "tablist", children: [jsx(SwipeListContainer, { containerRef: containerRef, snapAlign: "snap-start", onVisibleIndicesChange: scroll.handleVisibleIndicesChange, children: items.map(renderTab(value, onChange, tabsType)) }), scroll.canScrollLeft ? (jsx(ScrollLeftButton, { className: style('left-6', scrollButtonStyle), onClick: scroll.scrollLeft })) : null, scroll.canScrollRight ? (jsx(ScrollRightButton, { className: style('right-6', scrollButtonStyle), onClick: scroll.scrollRight })) : null] }));
4241
4457
  });
4242
4458
 
4243
- const TabsControl = JSX(({ className, tabsType = 'default', items = [], value, onChange }) => (jsx("div", { className: style('flex gap-x-2xs overflow-x-auto no-scrollbar', className), role: "tablist", children: items.map(renderTab(value, onChange, tabsType)) })));
4244
-
4245
4459
  const renderTabs = ({ tabsMode, ...props }) => {
4246
4460
  switch (tabsMode) {
4247
4461
  case 'wideScreen':
@@ -4292,17 +4506,19 @@
4292
4506
  };
4293
4507
  const normalizeTab = (_) => (_?.type === 'group' ? { text: _.title } : _);
4294
4508
 
4509
+ const dividerStyle = '@4xl:border-main-divider @4xl:border-b';
4510
+ const firstCellStyle = 'w-80 flex-shrink-0';
4511
+ const COLS_LENGTH_FOR_SCROLL = 2;
4512
+ const COLUMN_WIDTH$1 = 4 * 80 + 40; // w-80 + pl-10 = 360px
4513
+
4514
+ const headlineAlign = 'text-left';
4515
+
4295
4516
  const carouselContainerClassesMap = {
4296
4517
  comparison: 'flex gap-m duration-1000',
4297
4518
  tariff: 'flex gap-5xl flex-grow duration-1000',
4298
4519
  };
4299
4520
  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 }) })));
4300
4521
 
4301
- const dividerStyle = '@4xl:border-main-divider @4xl:border-b';
4302
- const firstCellStyle = 'w-80 flex-shrink-0';
4303
- const COLS_LENGTH_FOR_SCROLL = 2;
4304
- const COLUMN_WIDTH$1 = 4 * 80 + 40; // w-80 + pl-10 = 360px
4305
-
4306
4522
  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 })));
4307
4523
 
4308
4524
  const renderButtonsCellData = ({ buttons }) => renderButtonsSection(buttons, {
@@ -4445,8 +4661,6 @@
4445
4661
  })] }), isScrollAvailable ? (jsx("div", { className: "absolute top-0 right-0 bottom-0 w-20 bg-opacity-to-white" })) : null] }));
4446
4662
  });
4447
4663
 
4448
- const headlineAlign = 'text-left';
4449
-
4450
4664
  const TariffsTable = JSX(({ className = '', title, description, rowHeaders, tariffsColumns: columns, hiddenRowsNum = 0, ...rest }) => {
4451
4665
  const colData = columns?.map(({ data }) => data) || [];
4452
4666
  const rowData = rowHeaders?.map((header, i) => ({
@@ -4474,211 +4688,6 @@
4474
4688
 
4475
4689
  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, isFullWidthTitle: false, ...rest }) })));
4476
4690
 
4477
- const ICONS = ['ArrowDownIcon', 'ArrowUpIcon'];
4478
- const resultsGridStyle = 'space-y-px lg:space-y-0 lg:grid lg:grid-cols-12 gap-2xs border-box';
4479
- const BaseFiltrationInner = JSX(({ label = '', blocksToRender = [], topItemsCount = 0, block, notFound, ...rest }) => {
4480
- const [visibleBlocks, hiddenBlocks] = topItemsCount > 0
4481
- ? [blocksToRender.slice(0, topItemsCount), blocksToRender.slice(topItemsCount)]
4482
- : [blocksToRender, []];
4483
- 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 }) => {
4484
- return (jsx(FoldableSection, { className: style(resultsGridStyle), isUnfolded: isUnfolded, children: renderBlocksList(hiddenBlocks, { ...rest.options, parent: block }) }));
4485
- }, 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 })) })] })] }));
4486
- });
4487
- const renderNotFound = ({ title, description }) => (jsxs("div", { className: "bg-white p-6xl py-20 flex gap-s flex-col @xl:items-center", children: [jsx(Img, { image: { icon: 'MagnifierIcon' }, width: "120", height: "120" }), jsx(Headline, { title: title, description: description, headlineVersion: "S", isEmbedded: true, align: AlignStyles })] }));
4488
-
4489
- const isEmpty = (v) => v === null ||
4490
- v === undefined ||
4491
- v === '' ||
4492
- (Array.isArray(v) && v.length === 0) ||
4493
- (typeof v === 'object' && Object.keys(v).length === 0);
4494
-
4495
- const isSingularFieldMatch = (key, pattern) => (target) => isEmpty(pattern[key]) || isEmpty(target[key]) || pattern[key] === target[key];
4496
- const isMultipleFieldMatch = (key, pattern) => (target) => isEmpty(pattern[key]) ||
4497
- isEmpty(target[key]) ||
4498
- pattern[key]?.some((_) => target[key]?.includes(_));
4499
- const isNumberFieldMatch = (key, pattern) => (target) => isEmpty(pattern[key]) ||
4500
- isEmpty(target[key]) ||
4501
- naturalNumber(pattern[key]) <= naturalNumber(target[key]);
4502
- const isMultipleNumberFieldMatch = (key, pattern) => (target) => isEmpty(pattern[key]) || isEmpty(target[key]) || target[key]?.includes(pattern[key]);
4503
- const isValueInRange = (key, pattern) => (target) => isEmpty(pattern[key]) ||
4504
- isEmpty(target[key]) ||
4505
- (naturalNumber(pattern[key]?.min) >= naturalNumber(target[key]?.min) &&
4506
- naturalNumber(pattern[key]?.min) <= naturalNumber(target[key]?.max));
4507
- const shouldRenderBlock = (pattern, target) => Object.entries(pattern)
4508
- .map(([key, subPattern]) => {
4509
- if (typeof subPattern === 'number') {
4510
- return Array.isArray(target[key])
4511
- ? isMultipleNumberFieldMatch(key, pattern)
4512
- : isNumberFieldMatch(key, pattern);
4513
- }
4514
- if (typeof subPattern === 'object' && 'min' in subPattern && 'max' in subPattern) {
4515
- return isValueInRange(key, pattern);
4516
- }
4517
- return Array.isArray(subPattern)
4518
- ? isMultipleFieldMatch(key, pattern)
4519
- : isSingularFieldMatch(key, pattern);
4520
- })
4521
- .every((predicate) => predicate(target));
4522
- const naturalNumber = (n) => Number(n || 0);
4523
-
4524
- const getBlocksToRender = (blocks, filtrationState) => (normalize = identity) => blocks && blocks.filter((b) => shouldRenderBlock(filtrationState, normalize(b.content || {})));
4525
-
4526
- const SlideCheckboxGroup = JSX(({ value, onChange, items = [], multiple }) => {
4527
- const handleChange = (newValue) => {
4528
- if (!onChange) {
4529
- return;
4530
- }
4531
- if (multiple) {
4532
- const hasAlready = value?.includes(newValue);
4533
- onChange(hasAlready ? (value || []).filter((v) => v !== newValue) : [...(value || []), newValue]);
4534
- }
4535
- else {
4536
- onChange(value === newValue ? '' : newValue);
4537
- }
4538
- };
4539
- return items.map((item) => (jsx(SlideCheckbox, { text: item.title, value: [value].flatMap((_) => _).includes(item.value), onChange: () => handleChange(item.value), type: multiple ? 'checkbox' : 'radio' }, item.value)));
4540
- });
4541
-
4542
- const renderFiltrationForm = ({ field, reset, filtrationSchema, resetButton, children, }) => (jsxs("form", { className: "flex flex-col @4xl:flex-row justify-between bg-white p-4xl gap-s @4xl:gap-0", children: [jsxs("div", { className: "flex flex-col @4xl:flex-row gap-5xl", children: [children, Object.entries(filtrationSchema).map(renderFormItem(field))] }), resetButton ? (jsx("div", { children: jsx(Button, { className: "w-full @4xl:w-72 @4xl:ml-s", onClick: reset, ...resetButton }) })) : null] }));
4543
- const renderFormItem = (field) => ([key, item]) => {
4544
- const type = item?.type;
4545
- switch (type) {
4546
- case 'array':
4547
- return renderCheckboxes(key, field)(item);
4548
- default:
4549
- return null;
4550
- }
4551
- };
4552
- const renderCheckboxes = (key, field) => (item) => {
4553
- const options = item?.items?.enum?.map((e, i) => ({ value: e, title: item?.items?.enumNames?.[i] || '' })) ||
4554
- [];
4555
- 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));
4556
- };
4557
-
4558
- const getPeriod = (source, content) => source[content?.sourceBook]?.rateRows
4559
- .map((el) => el.minMonths)
4560
- .filter((minMonths) => minMonths !== undefined);
4561
-
4562
- async function fetchMultitudeJSON(...urls) {
4563
- const fetchPromises = urls.map((url) => fetchJSON(url));
4564
- return Promise.all(fetchPromises);
4565
- }
4566
-
4567
- const unique = (list) => [...new Set(list)];
4568
-
4569
- const getChildSourceBook = (blocks) => blocks?.filter(hasSourceBook).map(({ content: { sourceBook } }) => sourceBook);
4570
- const hasSourceBook = (block) => Boolean(block && block.content && typeof block.content.sourceBook === 'string');
4571
-
4572
- function useDepositsPeriods(blocks) {
4573
- const { dirs = [], source = [] } = useMemo(() => {
4574
- const sourceBooks = getChildSourceBook(blocks);
4575
- return { dirs: sourceBooks?.map((url) => `/wcms-resources/${url}.json`), source: sourceBooks };
4576
- }, [blocks]);
4577
- const { data = [] } = useAsyncData(dirs, fetchMultitudeJSON);
4578
- return {
4579
- source: Object.fromEntries(zip(source, data).filter(([, sourceData]) => Boolean(sourceData))),
4580
- months: unique(data
4581
- .flatMap((item) => item?.rateRows || [])
4582
- .filter((row) => typeof row.minMonths === 'number' && row.minMonths === row.maxMonths)
4583
- .map((row) => row.minMonths)).sort((a, b) => a - b) || [],
4584
- };
4585
- }
4586
-
4587
- const DEFAULT_MIN_SUM = 500;
4588
- const DEFAULT_MAX_SUM = 1000000000;
4589
- const initialFiltrationState$1 = {
4590
- sum: {
4591
- min: 10000,
4592
- max: DEFAULT_MAX_SUM,
4593
- },
4594
- period: 3,
4595
- };
4596
- const DepositFiltration = JSX(({ className, filtrationSchema = {}, resetButton, sumInput, periodInput, ...rest }) => {
4597
- const { source, months } = useDepositsPeriods(rest.block?.blocks);
4598
- const [filtrationState, { field, reset }] = useForm(initialFiltrationState$1);
4599
- const blocksToRender = getBlocksToRender(rest.block?.blocks, filtrationState)((content) => ({ ...content, period: getPeriod(source, content || {}) || [] }));
4600
- const Inputs = (jsxs("div", { children: [jsx(CurrencyInput, { label: sumInput?.title, min: DEFAULT_MIN_SUM, max: DEFAULT_MAX_SUM, ...field('sum', {
4601
- parse: (min) => ({ min: Number(min), max: DEFAULT_MAX_SUM }),
4602
- format: ({ min }) => String(min),
4603
- }) }), jsx(InputRange, { title: periodInput?.title, items: ['От 3 мес', 'До 5 лет'], list: months, ...field('period') })] }));
4604
- 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 })] }));
4605
- });
4606
- const sourceBookSchema = {
4607
- type: 'string',
4608
- title: 'Адрес справочника',
4609
- };
4610
- DepositFiltration.childrenTypes = ['ProductTile'];
4611
- DepositFiltration.childSchema = (content) => ({
4612
- ...(content?.filtrationSchema || {}),
4613
- sourceBook: sourceBookSchema,
4614
- });
4615
-
4616
- const badgeBgStyleMap = {
4617
- primary: 'bg-white/30',
4618
- secondary: 'bg-main-divider',
4619
- };
4620
- const badgeTextColorStyleMap = {
4621
- primary: 'text-white',
4622
- secondary: 'text-secondary-text',
4623
- };
4624
- const Badge = JSX(({ count, version = 'secondary' }) => {
4625
- 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 }) }));
4626
- });
4627
-
4628
- const getBadgeCount = (blocks = [], filter = {}) => blocks.filter(({ content = {} }) => shouldRenderBlock(filter, content)).length;
4629
-
4630
- const scalarCmp = (a, b) => a === b;
4631
- const arrCmp = (cmp = scalarCmp) => (a, b) => a === b || Boolean(a && b && a.length === b.length && a.every((_, i) => cmp(_, b[i])));
4632
- const objCmp = (cmp) => (a, b) => a === b ||
4633
- Boolean(a &&
4634
- b &&
4635
- Object.keys(a).length === Object.keys(b).length &&
4636
- Object.entries(a).every(([key, value]) => cmp(value, b[key])));
4637
- function combineBoolCmps(...comparators) {
4638
- return (a, b) => comparators.some((cmp) => cmp(a, b));
4639
- }
4640
-
4641
- const hotFilterRecordCmp = objCmp(combineBoolCmps(scalarCmp, arrCmp()));
4642
-
4643
- const EMPTY_ARR = [];
4644
- const EMPTY_OBJ = {};
4645
- const useHotFilters = ({ hotFilters = EMPTY_ARR, filtrationState = EMPTY_OBJ, blocks = EMPTY_ARR, onFiltrationStateChange, }) => {
4646
- const activeItemIndex = useMemo(() => Math.max(0, hotFilters.findIndex((_) => hotFilterRecordCmp(_.filter, filtrationState))), [hotFilters, filtrationState]);
4647
- const items = useMemo(() => hotFilters.map((_) => ({
4648
- text: _.text,
4649
- appendRight: (jsx(Badge, { version: _ === hotFilters[activeItemIndex] ? 'primary' : 'secondary', count: getBadgeCount(blocks, _.filter) })),
4650
- })), [hotFilters, blocks, activeItemIndex]);
4651
- const handleChange = useCallback((_) => {
4652
- onFiltrationStateChange(hotFilters[items.indexOf(_)].filter);
4653
- }, [hotFilters, items]);
4654
- return {
4655
- value: items[activeItemIndex],
4656
- items: items,
4657
- onChange: handleChange,
4658
- };
4659
- };
4660
-
4661
- const initialFiltrationState = {
4662
- categories: [],
4663
- extraOptions: [],
4664
- propertyType: [],
4665
- stage: [],
4666
- };
4667
- const MortgageFiltration = JSX(({ className, hotFilters, filtrationSchema = {}, resetButton, ...rest }) => {
4668
- const [filtrationState, { field, reset, update: replaceFiltrationState }] = useForm(initialFiltrationState);
4669
- const blocksToRender = getBlocksToRender(rest.block?.blocks, filtrationState)();
4670
- const handleFiltrationStateChange = useCallback((_ = initialFiltrationState) => replaceFiltrationState(_), []);
4671
- const tabsControlProps = useHotFilters({
4672
- hotFilters,
4673
- filtrationState,
4674
- blocks: rest.block?.blocks,
4675
- onFiltrationStateChange: handleFiltrationStateChange,
4676
- });
4677
- 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 })] }));
4678
- });
4679
- MortgageFiltration.childrenTypes = ['ProductTile'];
4680
- MortgageFiltration.childSchema = (content) => content?.filtrationSchema || {};
4681
-
4682
4691
  const Blocks = {
4683
4692
  ApplicationForm,
4684
4693
  BenefitsBlock,
@@ -4920,7 +4929,7 @@
4920
4929
 
4921
4930
  const joinList = (sep) => (list) => list.reduce((acc, el, i) => (acc.length ? acc.concat({ ...sep, key: `sep-${i}` }, el) : [el]), []);
4922
4931
 
4923
- const packageVersion = "0.14.16";
4932
+ const packageVersion = "0.14.18";
4924
4933
 
4925
4934
  exports.Blocks = Blocks;
4926
4935
  exports.ContentPage = ContentPage;