@redneckz/wildless-cms-uni-blocks 0.3.91 → 0.3.93

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 (382) hide show
  1. package/bundle/blocks.schema.json +1 -1
  2. package/bundle/bundle.umd.js +181 -39
  3. package/bundle/bundle.umd.min.js +1 -1
  4. package/cosmos-static/icons/PackA4.svg +1 -0
  5. package/dist/components/BlockContent.d.ts +4 -3
  6. package/dist/components/Blocks.d.ts +1 -0
  7. package/dist/components/Blocks.js +2 -0
  8. package/dist/components/Blocks.js.map +1 -1
  9. package/dist/components/Catalog/CatalogCard.js +17 -1
  10. package/dist/components/Catalog/CatalogCard.js.map +1 -1
  11. package/dist/components/Catalog/CatalogContent.d.ts +8 -2
  12. package/dist/components/ExchangeRateTile/ExchangeCurrencyCalculator.js +5 -2
  13. package/dist/components/ExchangeRateTile/ExchangeCurrencyCalculator.js.map +1 -1
  14. package/dist/components/ExchangeRateTile/renderButton.d.ts +2 -1
  15. package/dist/components/ExchangeRateTile/renderButton.js.map +1 -1
  16. package/dist/components/Footer/Contacts.js +3 -3
  17. package/dist/components/Footer/Contacts.js.map +1 -1
  18. package/dist/components/Footer/Footer.js +1 -1
  19. package/dist/components/Footer/Footer.js.map +1 -1
  20. package/dist/components/Footer/Footer.mobile.js +1 -1
  21. package/dist/components/Footer/Footer.mobile.js.map +1 -1
  22. package/dist/components/Footer/HorizontalNavigation.js +1 -1
  23. package/dist/components/Footer/HorizontalNavigation.js.map +1 -1
  24. package/dist/components/Footer/HorizontalNavigation.mobile.js +1 -1
  25. package/dist/components/Footer/HorizontalNavigation.mobile.js.map +1 -1
  26. package/dist/components/Footer/HorizontalNavigationLink.js +1 -1
  27. package/dist/components/Footer/HorizontalNavigationLink.js.map +1 -1
  28. package/dist/components/Footer/MediaButton.js +1 -1
  29. package/dist/components/Footer/MediaButton.js.map +1 -1
  30. package/dist/components/Footer/Sitemap.js +3 -3
  31. package/dist/components/Footer/Sitemap.js.map +1 -1
  32. package/dist/components/Footer/SocialMedia.js +1 -1
  33. package/dist/components/Footer/SocialMedia.js.map +1 -1
  34. package/dist/components/Footer/TextInformation.js +1 -1
  35. package/dist/components/Footer/TextInformation.js.map +1 -1
  36. package/dist/components/Footer/TextInformation.mobile.js +1 -1
  37. package/dist/components/Footer/TextInformation.mobile.js.map +1 -1
  38. package/dist/components/Footer/TextInformationLink.js +1 -1
  39. package/dist/components/Footer/TextInformationLink.js.map +1 -1
  40. package/dist/components/Header/Header.js +3 -1
  41. package/dist/components/Header/Header.js.map +1 -1
  42. package/dist/components/Header/HeaderSecondaryMenu.js +1 -1
  43. package/dist/components/Header/HeaderSecondaryMenu.js.map +1 -1
  44. package/dist/components/Header/HeaderSubMenu.js +1 -1
  45. package/dist/components/LinkDocs/LinkDocs.js.map +1 -1
  46. package/dist/components/ProductBlock/ProductBlock.js +2 -3
  47. package/dist/components/ProductBlock/ProductBlock.js.map +1 -1
  48. package/dist/components/ProductBlock/renderBackwardButton.js +1 -1
  49. package/dist/components/ProductBlock/renderBackwardButton.js.map +1 -1
  50. package/dist/components/ProductTile/ProductTile.js +2 -2
  51. package/dist/components/ProductTile/ProductTile.js.map +1 -1
  52. package/dist/components/SafeDepositRental/SafeDepositRental.d.ts +5 -0
  53. package/dist/components/SafeDepositRental/SafeDepositRental.js +15 -0
  54. package/dist/components/SafeDepositRental/SafeDepositRental.js.map +1 -0
  55. package/dist/components/SafeDepositRental/SafeDepositRentalContent.d.ts +7 -0
  56. package/dist/components/SafeDepositRental/SafeDepositRentalContent.js +2 -0
  57. package/dist/components/SafeDepositRental/SafeDepositRentalContent.js.map +1 -0
  58. package/dist/components/SafeDepositRental/SafeDepositRentalForm.d.ts +12 -0
  59. package/dist/components/SafeDepositRental/SafeDepositRentalForm.js +72 -0
  60. package/dist/components/SafeDepositRental/SafeDepositRentalForm.js.map +1 -0
  61. package/dist/components/SafeDepositRental/SafeDepositRentalTotal.d.ts +8 -0
  62. package/dist/components/SafeDepositRental/SafeDepositRentalTotal.js +28 -0
  63. package/dist/components/SafeDepositRental/SafeDepositRentalTotal.js.map +1 -0
  64. package/dist/components/StepsBlock/StepsBlock.js +21 -8
  65. package/dist/components/StepsBlock/StepsBlock.js.map +1 -1
  66. package/dist/components/StepsBlock/StepsBlock.mobile.js +3 -3
  67. package/dist/components/StepsBlock/StepsBlock.mobile.js.map +1 -1
  68. package/dist/components/StepsBlock/StepsBlockContent.d.ts +5 -3
  69. package/dist/components/StepsBlock/StepsBlockStyleMaps.d.ts +1 -1
  70. package/dist/components/StepsBlock/StepsBlockStyleMaps.js +2 -4
  71. package/dist/components/StepsBlock/StepsBlockStyleMaps.js.map +1 -1
  72. package/dist/hooks/useSafeDepositRental.d.ts +2 -0
  73. package/dist/hooks/useSafeDepositRental.js +19 -0
  74. package/dist/hooks/useSafeDepositRental.js.map +1 -0
  75. package/dist/icons/IconName.d.ts +4 -2
  76. package/dist/icons/IconName.js +2 -0
  77. package/dist/icons/IconName.js.map +1 -1
  78. package/dist/ui-kit/Radio/Radio.d.ts +2 -0
  79. package/dist/ui-kit/Radio/Radio.js +6 -0
  80. package/dist/ui-kit/Radio/Radio.js.map +1 -0
  81. package/dist/ui-kit/Radio/RadioProps.d.ts +9 -0
  82. package/dist/ui-kit/Radio/RadioProps.js +2 -0
  83. package/dist/ui-kit/Radio/RadioProps.js.map +1 -0
  84. package/dist/ui-kit/SearchBar/SearchBarInner.js +1 -1
  85. package/dist/ui-kit/Select/Select.js +4 -1
  86. package/dist/ui-kit/Select/Select.js.map +1 -1
  87. package/lib/common.css +1 -1
  88. package/lib/components/BlockContent.d.ts +4 -3
  89. package/lib/components/Blocks.d.ts +1 -0
  90. package/lib/components/Blocks.js +2 -0
  91. package/lib/components/Blocks.js.map +1 -1
  92. package/lib/components/Catalog/CatalogCard.js +17 -1
  93. package/lib/components/Catalog/CatalogCard.js.map +1 -1
  94. package/lib/components/Catalog/CatalogContent.d.ts +8 -2
  95. package/lib/components/ExchangeRateTile/ExchangeCurrencyCalculator.js +6 -3
  96. package/lib/components/ExchangeRateTile/ExchangeCurrencyCalculator.js.map +1 -1
  97. package/lib/components/ExchangeRateTile/renderButton.d.ts +2 -1
  98. package/lib/components/ExchangeRateTile/renderButton.js.map +1 -1
  99. package/lib/components/Footer/Contacts.js +3 -3
  100. package/lib/components/Footer/Contacts.js.map +1 -1
  101. package/lib/components/Footer/Footer.js +1 -1
  102. package/lib/components/Footer/Footer.js.map +1 -1
  103. package/lib/components/Footer/Footer.mobile.js +1 -1
  104. package/lib/components/Footer/Footer.mobile.js.map +1 -1
  105. package/lib/components/Footer/HorizontalNavigation.js +1 -1
  106. package/lib/components/Footer/HorizontalNavigation.js.map +1 -1
  107. package/lib/components/Footer/HorizontalNavigation.mobile.js +1 -1
  108. package/lib/components/Footer/HorizontalNavigation.mobile.js.map +1 -1
  109. package/lib/components/Footer/HorizontalNavigationLink.js +1 -1
  110. package/lib/components/Footer/HorizontalNavigationLink.js.map +1 -1
  111. package/lib/components/Footer/MediaButton.js +1 -1
  112. package/lib/components/Footer/MediaButton.js.map +1 -1
  113. package/lib/components/Footer/Sitemap.js +3 -3
  114. package/lib/components/Footer/Sitemap.js.map +1 -1
  115. package/lib/components/Footer/SocialMedia.js +1 -1
  116. package/lib/components/Footer/SocialMedia.js.map +1 -1
  117. package/lib/components/Footer/TextInformation.js +1 -1
  118. package/lib/components/Footer/TextInformation.js.map +1 -1
  119. package/lib/components/Footer/TextInformation.mobile.js +1 -1
  120. package/lib/components/Footer/TextInformation.mobile.js.map +1 -1
  121. package/lib/components/Footer/TextInformationLink.js +1 -1
  122. package/lib/components/Footer/TextInformationLink.js.map +1 -1
  123. package/lib/components/Header/Header.js +3 -1
  124. package/lib/components/Header/Header.js.map +1 -1
  125. package/lib/components/Header/HeaderSecondaryMenu.js +1 -1
  126. package/lib/components/Header/HeaderSecondaryMenu.js.map +1 -1
  127. package/lib/components/Header/HeaderSubMenu.js +1 -1
  128. package/lib/components/LinkDocs/LinkDocs.js.map +1 -1
  129. package/lib/components/ProductBlock/ProductBlock.js +2 -3
  130. package/lib/components/ProductBlock/ProductBlock.js.map +1 -1
  131. package/lib/components/ProductBlock/renderBackwardButton.js +1 -1
  132. package/lib/components/ProductBlock/renderBackwardButton.js.map +1 -1
  133. package/lib/components/ProductTile/ProductTile.js +2 -2
  134. package/lib/components/ProductTile/ProductTile.js.map +1 -1
  135. package/lib/components/SafeDepositRental/SafeDepositRental.d.ts +5 -0
  136. package/lib/components/SafeDepositRental/SafeDepositRental.fixture.d.ts +5 -0
  137. package/lib/components/SafeDepositRental/SafeDepositRental.js +13 -0
  138. package/lib/components/SafeDepositRental/SafeDepositRental.js.map +1 -0
  139. package/lib/components/SafeDepositRental/SafeDepositRentalContent.d.ts +7 -0
  140. package/lib/components/SafeDepositRental/SafeDepositRentalContent.js +2 -0
  141. package/lib/components/SafeDepositRental/SafeDepositRentalContent.js.map +1 -0
  142. package/lib/components/SafeDepositRental/SafeDepositRentalForm.d.ts +12 -0
  143. package/lib/components/SafeDepositRental/SafeDepositRentalForm.js +68 -0
  144. package/lib/components/SafeDepositRental/SafeDepositRentalForm.js.map +1 -0
  145. package/lib/components/SafeDepositRental/SafeDepositRentalTotal.d.ts +8 -0
  146. package/lib/components/SafeDepositRental/SafeDepositRentalTotal.js +25 -0
  147. package/lib/components/SafeDepositRental/SafeDepositRentalTotal.js.map +1 -0
  148. package/lib/components/StepsBlock/StepsBlock.js +22 -9
  149. package/lib/components/StepsBlock/StepsBlock.js.map +1 -1
  150. package/lib/components/StepsBlock/StepsBlock.mobile.js +4 -4
  151. package/lib/components/StepsBlock/StepsBlock.mobile.js.map +1 -1
  152. package/lib/components/StepsBlock/StepsBlockContent.d.ts +5 -3
  153. package/lib/components/StepsBlock/StepsBlockStyleMaps.d.ts +1 -1
  154. package/lib/components/StepsBlock/StepsBlockStyleMaps.js +1 -2
  155. package/lib/components/StepsBlock/StepsBlockStyleMaps.js.map +1 -1
  156. package/lib/hooks/useSafeDepositRental.d.ts +2 -0
  157. package/lib/hooks/useSafeDepositRental.js +16 -0
  158. package/lib/hooks/useSafeDepositRental.js.map +1 -0
  159. package/lib/icons/IconName.d.ts +4 -2
  160. package/lib/icons/IconName.js +2 -0
  161. package/lib/icons/IconName.js.map +1 -1
  162. package/lib/ui-kit/Radio/Radio.d.ts +2 -0
  163. package/lib/ui-kit/Radio/Radio.js +4 -0
  164. package/lib/ui-kit/Radio/Radio.js.map +1 -0
  165. package/lib/ui-kit/Radio/RadioProps.d.ts +9 -0
  166. package/lib/ui-kit/Radio/RadioProps.js +2 -0
  167. package/lib/ui-kit/Radio/RadioProps.js.map +1 -0
  168. package/lib/ui-kit/SearchBar/SearchBarInner.js +1 -1
  169. package/lib/ui-kit/Select/Select.js +4 -1
  170. package/lib/ui-kit/Select/Select.js.map +1 -1
  171. package/mobile/bundle/bundle.umd.js +28 -26
  172. package/mobile/bundle/bundle.umd.min.js +1 -1
  173. package/mobile/dist/components/BlockContent.d.ts +4 -3
  174. package/mobile/dist/components/Catalog/CatalogCard.js +17 -1
  175. package/mobile/dist/components/Catalog/CatalogCard.js.map +1 -1
  176. package/mobile/dist/components/Catalog/CatalogContent.d.ts +8 -2
  177. package/mobile/dist/components/ExchangeRateTile/ExchangeCurrencyCalculator.js +5 -2
  178. package/mobile/dist/components/ExchangeRateTile/ExchangeCurrencyCalculator.js.map +1 -1
  179. package/mobile/dist/components/ExchangeRateTile/renderButton.d.ts +2 -1
  180. package/mobile/dist/components/ExchangeRateTile/renderButton.js.map +1 -1
  181. package/mobile/dist/components/Footer/Contacts.js +3 -3
  182. package/mobile/dist/components/Footer/Contacts.js.map +1 -1
  183. package/mobile/dist/components/Footer/Footer.js +1 -1
  184. package/mobile/dist/components/Footer/Footer.js.map +1 -1
  185. package/mobile/dist/components/Footer/HorizontalNavigation.js +1 -1
  186. package/mobile/dist/components/Footer/HorizontalNavigation.js.map +1 -1
  187. package/mobile/dist/components/Footer/HorizontalNavigationLink.js +1 -1
  188. package/mobile/dist/components/Footer/HorizontalNavigationLink.js.map +1 -1
  189. package/mobile/dist/components/Footer/MediaButton.js +1 -1
  190. package/mobile/dist/components/Footer/MediaButton.js.map +1 -1
  191. package/mobile/dist/components/Footer/Sitemap.js +3 -3
  192. package/mobile/dist/components/Footer/Sitemap.js.map +1 -1
  193. package/mobile/dist/components/Footer/TextInformation.js +1 -1
  194. package/mobile/dist/components/Footer/TextInformation.js.map +1 -1
  195. package/mobile/dist/components/Footer/TextInformationLink.js +1 -1
  196. package/mobile/dist/components/Footer/TextInformationLink.js.map +1 -1
  197. package/mobile/dist/components/Header/HeaderSecondaryMenu.js +1 -1
  198. package/mobile/dist/components/Header/HeaderSecondaryMenu.js.map +1 -1
  199. package/mobile/dist/components/Header/HeaderSubMenu.js +1 -1
  200. package/mobile/dist/components/ProductBlock/renderBackwardButton.js +1 -1
  201. package/mobile/dist/components/ProductBlock/renderBackwardButton.js.map +1 -1
  202. package/mobile/dist/components/ProductTile/ProductTile.js +2 -2
  203. package/mobile/dist/components/ProductTile/ProductTile.js.map +1 -1
  204. package/mobile/dist/components/SafeDepositRental/SafeDepositRental.d.ts +5 -0
  205. package/mobile/dist/components/SafeDepositRental/SafeDepositRental.js +15 -0
  206. package/mobile/dist/components/SafeDepositRental/SafeDepositRental.js.map +1 -0
  207. package/mobile/dist/components/SafeDepositRental/SafeDepositRentalContent.d.ts +7 -0
  208. package/mobile/dist/components/SafeDepositRental/SafeDepositRentalContent.js +2 -0
  209. package/mobile/dist/components/SafeDepositRental/SafeDepositRentalContent.js.map +1 -0
  210. package/mobile/dist/components/SafeDepositRental/SafeDepositRentalForm.d.ts +12 -0
  211. package/mobile/dist/components/SafeDepositRental/SafeDepositRentalForm.js +72 -0
  212. package/mobile/dist/components/SafeDepositRental/SafeDepositRentalForm.js.map +1 -0
  213. package/mobile/dist/components/SafeDepositRental/SafeDepositRentalTotal.d.ts +8 -0
  214. package/mobile/dist/components/SafeDepositRental/SafeDepositRentalTotal.js +28 -0
  215. package/mobile/dist/components/SafeDepositRental/SafeDepositRentalTotal.js.map +1 -0
  216. package/mobile/dist/components/StepsBlock/StepsBlock.js +3 -3
  217. package/mobile/dist/components/StepsBlock/StepsBlock.js.map +1 -1
  218. package/mobile/dist/components/StepsBlock/StepsBlockContent.d.ts +5 -3
  219. package/mobile/dist/components/StepsBlock/StepsBlockStyleMaps.d.ts +1 -1
  220. package/mobile/dist/components/StepsBlock/StepsBlockStyleMaps.js +2 -4
  221. package/mobile/dist/components/StepsBlock/StepsBlockStyleMaps.js.map +1 -1
  222. package/mobile/dist/hooks/useSafeDepositRental.d.ts +2 -0
  223. package/mobile/dist/hooks/useSafeDepositRental.js +19 -0
  224. package/mobile/dist/hooks/useSafeDepositRental.js.map +1 -0
  225. package/mobile/dist/icons/IconName.d.ts +4 -2
  226. package/mobile/dist/icons/IconName.js +2 -0
  227. package/mobile/dist/icons/IconName.js.map +1 -1
  228. package/mobile/dist/ui-kit/Radio/Radio.d.ts +2 -0
  229. package/mobile/dist/ui-kit/Radio/Radio.js +6 -0
  230. package/mobile/dist/ui-kit/Radio/Radio.js.map +1 -0
  231. package/mobile/dist/ui-kit/Radio/RadioProps.d.ts +9 -0
  232. package/mobile/dist/ui-kit/Radio/RadioProps.js +2 -0
  233. package/mobile/dist/ui-kit/Radio/RadioProps.js.map +1 -0
  234. package/mobile/dist/ui-kit/SearchBar/SearchBarInner.js +1 -1
  235. package/mobile/dist/ui-kit/Select/Select.js +4 -1
  236. package/mobile/dist/ui-kit/Select/Select.js.map +1 -1
  237. package/mobile/lib/components/BlockContent.d.ts +4 -3
  238. package/mobile/lib/components/Catalog/CatalogCard.js +17 -1
  239. package/mobile/lib/components/Catalog/CatalogCard.js.map +1 -1
  240. package/mobile/lib/components/Catalog/CatalogContent.d.ts +8 -2
  241. package/mobile/lib/components/ExchangeRateTile/ExchangeCurrencyCalculator.js +6 -3
  242. package/mobile/lib/components/ExchangeRateTile/ExchangeCurrencyCalculator.js.map +1 -1
  243. package/mobile/lib/components/ExchangeRateTile/renderButton.d.ts +2 -1
  244. package/mobile/lib/components/ExchangeRateTile/renderButton.js.map +1 -1
  245. package/mobile/lib/components/Footer/Contacts.js +3 -3
  246. package/mobile/lib/components/Footer/Contacts.js.map +1 -1
  247. package/mobile/lib/components/Footer/Footer.js +1 -1
  248. package/mobile/lib/components/Footer/Footer.js.map +1 -1
  249. package/mobile/lib/components/Footer/HorizontalNavigation.js +1 -1
  250. package/mobile/lib/components/Footer/HorizontalNavigation.js.map +1 -1
  251. package/mobile/lib/components/Footer/HorizontalNavigationLink.js +1 -1
  252. package/mobile/lib/components/Footer/HorizontalNavigationLink.js.map +1 -1
  253. package/mobile/lib/components/Footer/MediaButton.js +1 -1
  254. package/mobile/lib/components/Footer/MediaButton.js.map +1 -1
  255. package/mobile/lib/components/Footer/Sitemap.js +3 -3
  256. package/mobile/lib/components/Footer/Sitemap.js.map +1 -1
  257. package/mobile/lib/components/Footer/TextInformation.js +1 -1
  258. package/mobile/lib/components/Footer/TextInformation.js.map +1 -1
  259. package/mobile/lib/components/Footer/TextInformationLink.js +1 -1
  260. package/mobile/lib/components/Footer/TextInformationLink.js.map +1 -1
  261. package/mobile/lib/components/Header/HeaderSecondaryMenu.js +1 -1
  262. package/mobile/lib/components/Header/HeaderSecondaryMenu.js.map +1 -1
  263. package/mobile/lib/components/Header/HeaderSubMenu.js +1 -1
  264. package/mobile/lib/components/ProductBlock/renderBackwardButton.js +1 -1
  265. package/mobile/lib/components/ProductBlock/renderBackwardButton.js.map +1 -1
  266. package/mobile/lib/components/ProductTile/ProductTile.js +2 -2
  267. package/mobile/lib/components/ProductTile/ProductTile.js.map +1 -1
  268. package/mobile/lib/components/SafeDepositRental/SafeDepositRental.d.ts +5 -0
  269. package/mobile/lib/components/SafeDepositRental/SafeDepositRental.js +13 -0
  270. package/mobile/lib/components/SafeDepositRental/SafeDepositRental.js.map +1 -0
  271. package/mobile/lib/components/SafeDepositRental/SafeDepositRentalContent.d.ts +7 -0
  272. package/mobile/lib/components/SafeDepositRental/SafeDepositRentalContent.js +2 -0
  273. package/mobile/lib/components/SafeDepositRental/SafeDepositRentalContent.js.map +1 -0
  274. package/mobile/lib/components/SafeDepositRental/SafeDepositRentalForm.d.ts +12 -0
  275. package/mobile/lib/components/SafeDepositRental/SafeDepositRentalForm.js +68 -0
  276. package/mobile/lib/components/SafeDepositRental/SafeDepositRentalForm.js.map +1 -0
  277. package/mobile/lib/components/SafeDepositRental/SafeDepositRentalTotal.d.ts +8 -0
  278. package/mobile/lib/components/SafeDepositRental/SafeDepositRentalTotal.js +25 -0
  279. package/mobile/lib/components/SafeDepositRental/SafeDepositRentalTotal.js.map +1 -0
  280. package/mobile/lib/components/StepsBlock/StepsBlock.js +4 -4
  281. package/mobile/lib/components/StepsBlock/StepsBlock.js.map +1 -1
  282. package/mobile/lib/components/StepsBlock/StepsBlockContent.d.ts +5 -3
  283. package/mobile/lib/components/StepsBlock/StepsBlockStyleMaps.d.ts +1 -1
  284. package/mobile/lib/components/StepsBlock/StepsBlockStyleMaps.js +1 -2
  285. package/mobile/lib/components/StepsBlock/StepsBlockStyleMaps.js.map +1 -1
  286. package/mobile/lib/hooks/useSafeDepositRental.d.ts +2 -0
  287. package/mobile/lib/hooks/useSafeDepositRental.js +16 -0
  288. package/mobile/lib/hooks/useSafeDepositRental.js.map +1 -0
  289. package/mobile/lib/icons/IconName.d.ts +4 -2
  290. package/mobile/lib/icons/IconName.js +2 -0
  291. package/mobile/lib/icons/IconName.js.map +1 -1
  292. package/mobile/lib/ui-kit/Radio/Radio.d.ts +2 -0
  293. package/mobile/lib/ui-kit/Radio/Radio.js +4 -0
  294. package/mobile/lib/ui-kit/Radio/Radio.js.map +1 -0
  295. package/mobile/lib/ui-kit/Radio/RadioProps.d.ts +9 -0
  296. package/mobile/lib/ui-kit/Radio/RadioProps.js +2 -0
  297. package/mobile/lib/ui-kit/Radio/RadioProps.js.map +1 -0
  298. package/mobile/lib/ui-kit/SearchBar/SearchBarInner.js +1 -1
  299. package/mobile/lib/ui-kit/Select/Select.js +4 -1
  300. package/mobile/lib/ui-kit/Select/Select.js.map +1 -1
  301. package/mobile/src/components/BlockContent.ts +5 -3
  302. package/mobile/src/components/Catalog/Catalog.example.json +3 -3
  303. package/mobile/src/components/Catalog/CatalogCard.tsx +28 -1
  304. package/mobile/src/components/Catalog/CatalogContent.ts +8 -2
  305. package/mobile/src/components/ExchangeRateTile/ExchangeCurrencyCalculator.tsx +14 -3
  306. package/mobile/src/components/ExchangeRateTile/renderButton.tsx +2 -1
  307. package/mobile/src/components/Footer/Contacts.tsx +3 -6
  308. package/mobile/src/components/Footer/Footer.tsx +1 -1
  309. package/mobile/src/components/Footer/HorizontalNavigation.tsx +1 -1
  310. package/mobile/src/components/Footer/HorizontalNavigationLink.tsx +1 -1
  311. package/mobile/src/components/Footer/MediaButton.tsx +1 -1
  312. package/mobile/src/components/Footer/Sitemap.tsx +4 -4
  313. package/mobile/src/components/Footer/TextInformation.tsx +1 -1
  314. package/mobile/src/components/Footer/TextInformationLink.tsx +1 -1
  315. package/mobile/src/components/Header/HeaderSecondaryMenu.tsx +7 -5
  316. package/mobile/src/components/Header/HeaderSubMenu.tsx +1 -1
  317. package/mobile/src/components/ProductBlock/renderBackwardButton.tsx +1 -2
  318. package/mobile/src/components/ProductTile/ProductTile.tsx +2 -2
  319. package/mobile/src/components/SafeDepositRental/SafeDepositRental.example.json +0 -0
  320. package/mobile/src/components/SafeDepositRental/SafeDepositRental.tsx +33 -0
  321. package/mobile/src/components/SafeDepositRental/SafeDepositRentalContent.ts +7 -0
  322. package/mobile/src/components/SafeDepositRental/SafeDepositRentalForm.tsx +164 -0
  323. package/mobile/src/components/SafeDepositRental/SafeDepositRentalTotal.tsx +57 -0
  324. package/mobile/src/components/StepsBlock/StepsBlock.example.json +15 -0
  325. package/mobile/src/components/StepsBlock/StepsBlock.tsx +4 -4
  326. package/mobile/src/components/StepsBlock/StepsBlockContent.ts +5 -3
  327. package/mobile/src/components/StepsBlock/StepsBlockStyleMaps.ts +1 -3
  328. package/mobile/src/components/__snapshots__/Blocks.spec.tsx.snap +98 -14
  329. package/mobile/src/hooks/useSafeDepositRental.ts +21 -0
  330. package/mobile/src/icons/IconName.ts +4 -4
  331. package/mobile/src/icons/PackA4.svg +14 -0
  332. package/mobile/src/ui-kit/Radio/Radio.tsx +18 -0
  333. package/mobile/src/ui-kit/Radio/RadioProps.ts +8 -0
  334. package/mobile/src/ui-kit/SearchBar/SearchBarInner.tsx +1 -1
  335. package/mobile/src/ui-kit/Select/Select.tsx +6 -1
  336. package/package.json +1 -1
  337. package/src/components/BlockContent.ts +5 -3
  338. package/src/components/Blocks.ts +2 -0
  339. package/src/components/Catalog/Catalog.example.json +3 -3
  340. package/src/components/Catalog/CatalogCard.tsx +28 -1
  341. package/src/components/Catalog/CatalogContent.ts +8 -2
  342. package/src/components/ExchangeRateTile/ExchangeCurrencyCalculator.tsx +14 -3
  343. package/src/components/ExchangeRateTile/renderButton.tsx +2 -1
  344. package/src/components/Footer/Contacts.tsx +3 -6
  345. package/src/components/Footer/Footer.mobile.tsx +1 -1
  346. package/src/components/Footer/Footer.tsx +1 -1
  347. package/src/components/Footer/HorizontalNavigation.mobile.tsx +1 -1
  348. package/src/components/Footer/HorizontalNavigation.tsx +1 -1
  349. package/src/components/Footer/HorizontalNavigationLink.tsx +1 -1
  350. package/src/components/Footer/MediaButton.tsx +1 -1
  351. package/src/components/Footer/Sitemap.tsx +4 -4
  352. package/src/components/Footer/SocialMedia.tsx +1 -1
  353. package/src/components/Footer/TextInformation.mobile.tsx +1 -1
  354. package/src/components/Footer/TextInformation.tsx +1 -1
  355. package/src/components/Footer/TextInformationLink.tsx +1 -1
  356. package/src/components/Header/Header.tsx +3 -2
  357. package/src/components/Header/HeaderSecondaryMenu.tsx +7 -5
  358. package/src/components/Header/HeaderSubMenu.tsx +1 -1
  359. package/src/components/LinkDocs/LinkDocs.tsx +1 -1
  360. package/src/components/ProductBlock/ProductBlock.tsx +2 -10
  361. package/src/components/ProductBlock/renderBackwardButton.tsx +1 -2
  362. package/src/components/ProductTile/ProductTile.tsx +2 -2
  363. package/src/components/SafeDepositRental/SafeDepositRental.example.json +0 -0
  364. package/src/components/SafeDepositRental/SafeDepositRental.fixture.tsx +9 -0
  365. package/src/components/SafeDepositRental/SafeDepositRental.tsx +33 -0
  366. package/src/components/SafeDepositRental/SafeDepositRentalContent.ts +7 -0
  367. package/src/components/SafeDepositRental/SafeDepositRentalForm.tsx +164 -0
  368. package/src/components/SafeDepositRental/SafeDepositRentalTotal.tsx +57 -0
  369. package/src/components/StepsBlock/StepsBlock.example.json +15 -0
  370. package/src/components/StepsBlock/StepsBlock.fixture.tsx +4 -3
  371. package/src/components/StepsBlock/StepsBlock.mobile.tsx +4 -4
  372. package/src/components/StepsBlock/StepsBlock.tsx +73 -38
  373. package/src/components/StepsBlock/StepsBlockContent.ts +5 -3
  374. package/src/components/StepsBlock/StepsBlockStyleMaps.ts +1 -3
  375. package/src/components/__snapshots__/Blocks.spec.tsx.snap +98 -14
  376. package/src/hooks/useSafeDepositRental.ts +21 -0
  377. package/src/icons/IconName.ts +5 -3
  378. package/src/icons/PackA4.svg +14 -0
  379. package/src/ui-kit/Radio/Radio.tsx +18 -0
  380. package/src/ui-kit/Radio/RadioProps.ts +8 -0
  381. package/src/ui-kit/SearchBar/SearchBarInner.tsx +1 -1
  382. package/src/ui-kit/Select/Select.tsx +6 -1
@@ -306,6 +306,7 @@
306
306
  IconMap["NewDocIcon"] = "NewDocIcon";
307
307
  IconMap["OfficeIcon"] = "OfficeIcon";
308
308
  IconMap["OkIcon"] = "OkIcon";
309
+ IconMap["PackA4"] = "PackA4";
309
310
  IconMap["PassSendIcon"] = "PassSendIcon";
310
311
  IconMap["PercentageRoundIcon"] = "PercentageRoundIcon";
311
312
  IconMap["PercentageSquareIcon"] = "PercentageSquareIcon";
@@ -389,6 +390,7 @@
389
390
  IconTitleMap["NewDocIcon"] = "\u041D\u043E\u0432\u044B\u0439 \u0434\u043E\u043A\u0443\u043C\u0435\u043D\u0442";
390
391
  IconTitleMap["OfficeIcon"] = "\u041E\u0444\u0438\u0441";
391
392
  IconTitleMap["OkIcon"] = "\u041B\u043E\u0433\u043E \u00AB\u041E\u0434\u043D\u043E\u043A\u043B\u0430\u0441\u0441\u043D\u0438\u043A\u0438\u00BB";
393
+ IconTitleMap["PackA4"] = "PackA4";
392
394
  IconTitleMap["PassSendIcon"] = "\u0411\u0438\u0437\u043D\u0435\u0441";
393
395
  IconTitleMap["PercentageRoundIcon"] = "\u041F\u0440\u043E\u0446\u0435\u043D\u0442\u044B (\u043A\u0440\u0443\u0433.)";
394
396
  IconTitleMap["PercentageSquareIcon"] = "\u041F\u0440\u043E\u0446\u0435\u043D\u0442\u044B";
@@ -834,7 +836,7 @@
834
836
  const { text, href, target, onClick } = button;
835
837
  const iconVersion = version === 'primary' ? 'white' : 'black';
836
838
  const backwardIcon = button?.icon || { icon: 'ArrowLeftIcon' };
837
- return (jsxs("div", { className: `flex items-center ${className}`, children: [jsx(Button, { version: version, rounded: true, className: "w-12 h-12 min-h-12 min-w-12 flex items-center justify-center mr-3", ariaLabel: text, href: href, target: target, onClick: onClick, children: jsx(Img, { className: "w-4 h-4", image: { ...backwardIcon, iconVersion }, asSVG: true }) }), text ? jsx("span", { className: "text-m", children: text }) : null] }));
839
+ return (jsxs("div", { className: `flex items-center cursor-pointer ${className}`, onClick: onClick, children: [jsx(Button, { version: version, rounded: true, className: "w-12 h-12 min-h-12 min-w-12 flex items-center justify-center mr-3", ariaLabel: text, href: href, target: target, children: jsx(Img, { className: "w-4 h-4", image: { ...backwardIcon, iconVersion }, asSVG: true }) }), text ? jsx("span", { className: "text-m", children: text }) : null] }));
838
840
  }
839
841
 
840
842
  const productBlockStyleMap$1 = {
@@ -849,10 +851,9 @@
849
851
  const { context, className = '', breadcrumbs, backwardButton, version = 'primary', ...otherProps } = props;
850
852
  const router = context.useRouter();
851
853
  const { handlerDecorator } = context;
852
- return (jsxs(BlockWrapper, { context: context, className: `font-sans overflow-hidden pt-[50px] pl-[50px] pb-[50px] pr-[7.5rem] box-border
853
- ${backwardButton?.text ? 'min-h-[542px] max-h-[542]' : 'min-h-[454px] max-h-[454px]'} ${productBlockStyleMap$1[version]} ${className}`, ...otherProps, children: [backwardButton?.text
854
+ return (jsxs(BlockWrapper, { context: context, className: `font-sans overflow-hidden p-[50px] flex flex-col box-border min-h-[528px] ${productBlockStyleMap$1[version]} ${className}`, ...otherProps, children: [backwardButton?.text
854
855
  ? renderBackwardButton(useLink({ router, handlerDecorator }, backwardButton), version, 'mb-10 -mt-2.5')
855
- : null, breadcrumbs?.length ? (jsx("div", { className: "text-xs mb-6", children: joinList(jsx("span", { className: `mx-2 ${breadcrumbsStyleMap[version]}`, children: "/" }))(breadcrumbs.map((breadcrumb, i) => (jsx(Breadcrumb, { ...useLink({ router, handlerDecorator }, { className: breadcrumbsStyleMap[version], ...breadcrumb }) }, String(i))))) })) : null, jsx(ProductBlockInner, { context: context, version: version, ...otherProps, className: backwardButton?.text ? 'pb-[88px]' : '' })] }));
856
+ : null, breadcrumbs?.length ? (jsx("div", { className: "text-xs mb-6", children: joinList(jsx("span", { className: `mx-2 ${breadcrumbsStyleMap[version]}`, children: "/" }))(breadcrumbs.map((breadcrumb, i) => (jsx(Breadcrumb, { ...useLink({ router, handlerDecorator }, { className: breadcrumbsStyleMap[version], ...breadcrumb }) }, String(i))))) })) : null, jsx(ProductBlockInner, { context: context, version: version, ...otherProps })] }));
856
857
  });
857
858
 
858
859
  const textBlockStyleMaps = {
@@ -939,7 +940,7 @@
939
940
  const ProductTile = JSX(({ context, className = '', title, headlineVersion = 'S', description, additionalDescription, benefits, buttons, image, version = 'primary', ...rest }) => {
940
941
  return (jsxs(BlockWrapper, { context: context, className: `bg-white overflow-hidden text-primary-text font-sans p-9 box-border min-h-[364px] relative justify-between grid ${className} ${productTileStyleMap[version]} ${getTileRightPadding(className)} ${getTileMinHeight(className)} `, ...rest, children: [jsxs("div", { className: "z-[1]", children: [jsx(Headline, { context: context, className: "!p-0", title: title, description: description, headlineVersion: headlineVersion, bgColorHeadline: version, align: "left" }), renderBenefits$1(benefits || [], version), additionalDescription
941
942
  ? renderAdditionalDescription(additionalDescription, version)
942
- : null] }), buttons?.length ? (jsx(ButtonSection, { context: context, buttons: buttons, className: "flex self-end mt-5 gap-4 z-[1]" })) : null, image?.src ? jsx(Img, { className: "absolute right-0 bottom-0", image: image }) : null] }));
943
+ : null] }), buttons?.length ? (jsx(ButtonSection, { context: context, buttons: buttons, className: "flex self-end mt-5 gap-4 z-[1] text-l" })) : null, image?.src ? jsx(Img, { className: "absolute right-0 bottom-0", image: image }) : null] }));
943
944
  });
944
945
  function renderBenefits$1(benefits, version) {
945
946
  return (jsxs("div", { className: "flex mt-4", children: [benefits.length ? (jsx("div", { className: "mr-6 gap-2.5 text-h6", children: benefits.map(renderBenefitLabel) })) : null, benefits.length ? (jsx("div", { className: "pt-1 text-m", children: benefits.map((_, i) => renderBenefitDescription(_, i, version)) })) : null] }));
@@ -952,7 +953,7 @@
952
953
  primary: 'text-secondary-text',
953
954
  secondary: 'text-white',
954
955
  };
955
- return (jsx("div", { className: `${i ? 'mt-4' : ''} ${labelStyleMap[version]}`, children: benefit.description }, String(i)));
956
+ return (jsx("div", { className: `text-m ${i ? 'mt-4' : ''} ${labelStyleMap[version]}`, children: benefit.description }, String(i)));
956
957
  }
957
958
  function renderAdditionalDescription(additionalDescription, version = 'primary') {
958
959
  const descStyleMap = {
@@ -1550,9 +1551,25 @@
1550
1551
  white: 'bg-white',
1551
1552
  };
1552
1553
  const CatalogCard = JSX(({ className = '', title, description, image, price, button, colors }) => {
1553
- return (jsxs("section", { className: `border border-solid box-border p-[30px] min-w-[402px] flex flex-col justify-left ${className}`, role: "listitem", children: [image?.src ? jsx(Img, { className: "mb-5 flex justify-center", image: image }) : null, title ? (jsx(Heading, { headingType: "h6", as: "h4", className: "text-left mb-1.5", title: title })) : null, description ? (jsx("div", { className: "text-m-md text-left mb-4 font-light", children: description })) : null, colors?.length ? (jsxs("div", { className: "flex mb-4 text-m-md text-secondary-text font-light", children: [jsx("div", { className: "mr-1.5", children: "\u0414\u043E\u0441\u0442\u0443\u043F\u043D\u044B\u0435 \u0446\u0432\u0435\u0442\u0430: " }), colors.map(renderColorOption)] })) : null, price ? jsxs("div", { className: "text-h3 text-left", children: [price, "\u00A0\u20BD"] }) : null, button?.text ? jsx(Button, { className: "mt-5 w-full", ...button }) : null] }));
1554
+ return (jsxs("section", { className: `border border-solid box-border p-[30px] min-w-[402px] flex flex-col justify-left ${className}`, role: "listitem", children: [image?.src ? jsx(Img, { className: "mb-5 flex justify-center", image: image }) : null, title ? (jsx(Heading, { headingType: "h6", as: "h4", className: "text-left mb-1.5", title: title })) : null, description ? (jsx("div", { className: "text-m-md text-left mb-4 font-light", children: description })) : null, colors?.length ? (jsxs("div", { className: "flex mb-4 text-m-md text-secondary-text font-light", children: [jsx("div", { className: "mr-1.5", children: "\u0414\u043E\u0441\u0442\u0443\u043F\u043D\u044B\u0435 \u0446\u0432\u0435\u0442\u0430: " }), colors.map(renderColorOption)] })) : null, price ? jsxs("div", { className: "text-h3 text-left", children: [price, "\u00A0\u20BD"] }) : null, button ? renderButton(button) : null] }));
1554
1555
  });
1555
1556
  const renderColorOption = (color, i) => (jsx("span", { className: `w-6 h-6 ml-3 border border-solid border-main-divider rounded-full ${cardStyleMap[color]}` }, String(i)));
1557
+ const renderButton = (button) => {
1558
+ const { icon, iconRight, text } = button;
1559
+ if (!text) {
1560
+ return null;
1561
+ }
1562
+ const leftIcon = renderButtonIcon(icon);
1563
+ const rightIcon = renderButtonIcon(iconRight);
1564
+ return (jsx(Button, { className: "mt-5 w-full", appendLeft: leftIcon, appendRight: rightIcon, ...button }));
1565
+ };
1566
+ const renderButtonIcon = (buttonIcon) => {
1567
+ if (!buttonIcon || !buttonIcon.icon) {
1568
+ return null;
1569
+ }
1570
+ const iconWidth = buttonIcon?.size?.width ? `${buttonIcon.size.width}` : '24';
1571
+ return jsx(Img, { image: buttonIcon, width: iconWidth, height: "24", asSVG: true });
1572
+ };
1556
1573
 
1557
1574
  const BLUR_BLOCK_CLASSES$1 = 'absolute top-0 bottom-0 w-[84px]';
1558
1575
  const CARD_FULL_VIEW_COUNT$1 = 3;
@@ -1789,10 +1806,6 @@
1789
1806
  [() => true, () => props.handleConvert(props.value)],
1790
1807
  ])(props)?.();
1791
1808
 
1792
- function renderButton(button) {
1793
- return (jsx(Button, { className: "py-4 mr-1", version: button?.version, href: button?.href, target: "_blank", children: button?.text }));
1794
- }
1795
-
1796
1809
  const Input = JSX(({ className = '', id, name, type = 'text', placeholder, pattern, value, onChange }) => {
1797
1810
  const handleChange = (e) => {
1798
1811
  const validInputValue = e.target.validity.valid ? e.target.value : value;
@@ -1801,8 +1814,11 @@
1801
1814
  return (jsx("input", { className: className, id: id, name: name || id, type: type, pattern: pattern, placeholder: placeholder, value: value, onChange: handleChange }));
1802
1815
  });
1803
1816
 
1817
+ const selectStyle = {
1818
+ background: `url('/icons/ArrowDownIcon.svg') no-repeat right 16px top 50%`,
1819
+ };
1804
1820
  const Select = JSX(({ className = '', id, name, children, value, onChange }) => {
1805
- return (jsx("select", { className: className, id: id, name: name || id, value: value, onChange: (e) => onChange(e.target.value), children: children }));
1821
+ return (jsx("select", { className: `appearance-none ${className}`, style: selectStyle, id: id, name: name || id, value: value, onChange: (e) => onChange(e.target.value), children: children }));
1806
1822
  });
1807
1823
 
1808
1824
  const SelectOption = JSX(({ className = '', value, selected, children }) => {
@@ -1815,6 +1831,8 @@
1815
1831
  }
1816
1832
 
1817
1833
  const ExchangeCurrencyCalculator = JSX(({ context, className = '', currencyRatesBuy, currencyRatesSell, button }) => {
1834
+ const { useRouter, handlerDecorator } = context;
1835
+ const router = useRouter();
1818
1836
  const [calcState, setCalcState] = context.useState({
1819
1837
  inputSell: '',
1820
1838
  inputBuy: '',
@@ -1838,7 +1856,7 @@
1838
1856
  setSelected: handleSelectBuy(calcState, handleSetCalcState, currencyRatesBuy),
1839
1857
  value: calcState.inputBuy,
1840
1858
  setValue: (value) => handleInputBuy(handleSetCalcState, currencyRatesBuy)(value, calcState.selectBuy, calcState.selectSell),
1841
- }), button?.text ? renderButton(button) : null] }));
1859
+ }), button?.text ? (jsx(Button, { className: "py-4 mr-1", version: button?.version, ...useLink({ router, handlerDecorator }, button), children: button.text })) : null] }));
1842
1860
  });
1843
1861
  const handleSelectSell = (calcState, setCalcState, currencyRatesSell) => (value) => {
1844
1862
  setCalcState({ selectSell: value });
@@ -1916,7 +1934,7 @@
1916
1934
  ? ' placeholder-transparent font-normal'
1917
1935
  : 'font-light h-full';
1918
1936
  const inputPlaceholder = isMobile ? 'some search' : undefined;
1919
- return (jsxs("form", { className: `font-sans relative ${className}`, children: [jsxs("div", { className: "absolute rounded h-full flex items-center justify-center pl-4 max-w-[170px] gap-3.5 pointer-events-none", children: [jsx("div", { className: LoupeIconClassName, children: jsx(Img, { image: "LoupeIcon", width: "24", height: "24" }) }), term ? null : (jsx("label", { htmlFor: "search-bar-input", className: `text-secondary-text ${SearchBarLabelClassName}`, children: "\u041F\u043E\u0438\u0441\u043A \u043F\u043E \u0441\u0430\u0439\u0442\u0443" }))] }), jsx("input", { id: "search-bar-input", className: `h-12 pl-12 w-full peer text-l text-black border border-solid rounded box-border
1937
+ return (jsxs("form", { className: `font-sans relative ${className}`, children: [jsxs("div", { className: "absolute rounded h-full flex items-center justify-center pl-4 max-w-[170px] gap-3.5 pointer-events-none", children: [jsx("div", { className: LoupeIconClassName, children: jsx(Img, { image: "LoupeIcon", width: "24", height: "24" }) }), term ? null : (jsx("label", { htmlFor: "search-bar-input", className: `text-secondary-text ${SearchBarLabelClassName}`, children: "\u041F\u043E\u0438\u0441\u043A \u043F\u043E \u0441\u0430\u0439\u0442\u0443" }))] }), jsx("input", { id: "search-bar-input", className: `h-12 pl-12 w-full peer text-l text-black border border-solid rounded-md box-border
1920
1938
  outline-none pr-[6%] border-main-divider focus:border-primary-text ${SearchBarInputClassName}`, value: term, onChange: (e) => setTerm(e.target.value), type: "text", name: "search-bar-input", placeholder: inputPlaceholder }), isMobile ? (jsx("button", { className: "visible peer-placeholder-shown:invisible absolute top-2 right-3 w-6 h-6 p-1 bg-transparent cursor-pointer border-none", onClick: (e) => {
1921
1939
  e.preventDefault();
1922
1940
  setTerm('');
@@ -1941,26 +1959,26 @@
1941
1959
  });
1942
1960
  const renderContact = (item, index) => {
1943
1961
  const { type, text, description } = item;
1944
- return (jsxs("div", { className: "mb-4", children: [jsx("div", { children: renderText(type, text) }), jsx("div", { className: "mt-1 font-sans text-s-light text-secondary-text", children: description })] }, String(index)));
1962
+ return (jsxs("div", { className: "mb-4", children: [jsx("div", { children: renderText(type, text) }), jsx("div", { className: "mt-1 text-s-light text-secondary-text", children: description })] }, String(index)));
1945
1963
  };
1946
1964
  const renderText = (type, text = '') => {
1947
1965
  switch (type) {
1948
1966
  case 'tel':
1949
- return (jsx("a", { className: "font-sans text-xl-light text-primary-text no-underline", href: `tel:${formatTel(text)}`, children: text }));
1967
+ return (jsx("a", { className: "text-h6 text-primary-text hover:text-primary-main no-underline", href: `tel:${formatTel(text)}`, children: text }));
1950
1968
  case 'email':
1951
- return (jsx("a", { className: "font-sans text-xl-light text-primary-text no-underline", href: `mailto:${text}`, children: text }));
1969
+ return (jsx("a", { className: "text-xl-light text-primary-text no-underline", href: `mailto:${text}`, children: text }));
1952
1970
  default:
1953
1971
  return jsx("span", { children: text });
1954
1972
  }
1955
1973
  };
1956
1974
  const formatTel = (s) => s.replaceAll(/\D/g, '');
1957
1975
 
1958
- const HorizontalNavigationLink = JSX(({ className = '', index, text, href, target, onClick }) => (jsx("a", { className: `font-sans text-secondary-text hover:text-primary-main inline-block no-underline ${className}`, href: href, target: target, onClick: onClick, children: text || `Документ ${index}` })));
1976
+ const HorizontalNavigationLink = JSX(({ className = '', index, text, href, target, onClick }) => (jsx("a", { className: `text-secondary-text hover:text-primary-main inline-block no-underline ${className}`, href: href, target: target, onClick: onClick, children: text || `Документ ${index}` })));
1959
1977
 
1960
1978
  const HorizontalNavigation = JSX(({ links, className = '', context }) => {
1961
1979
  const router = context.useRouter();
1962
1980
  const { handlerDecorator } = context;
1963
- return (jsx("div", { className: className, children: links?.length ? (jsx("div", { className: "flex justify-between items-center gap-5 py-5 border-solid border-x-0 border-y border-y-main-divider", children: links.map((_, i) => (jsx(HorizontalNavigationLink, { index: i, className: "font-light max-w-[292px]", ...useLink({ router, handlerDecorator }, _) }, String(i)))) })) : null }));
1981
+ return (jsx("div", { className: className, children: links?.length ? (jsx("div", { className: "flex justify-between items-center gap-5 py-5 border-solid border-x-0 border-y border-y-main-divider", children: links.map((_, i) => (jsx(HorizontalNavigationLink, { index: i, className: "font-l-light max-w-[292px]", ...useLink({ router, handlerDecorator }, _) }, String(i)))) })) : null }));
1964
1982
  });
1965
1983
 
1966
1984
  const cmp = (a) => (b) => a?.href === b?.href;
@@ -1987,13 +2005,13 @@
1987
2005
  router: context.useRouter(),
1988
2006
  handlerDecorator: context.handlerDecorator,
1989
2007
  };
1990
- return (jsx("div", { className: `flex items-start justify-between gap-11 xl:gap-5 ${className}`, children: mergedItems?.map((_, i) => renderColumn(_, i, linkParams)) }));
2008
+ return (jsx("div", { className: `flex items-start justify-between gap-[54px] xl:gap-5 ${className}`, children: mergedItems?.map((_, i) => renderColumn(_, i, linkParams)) }));
1991
2009
  });
1992
2010
  const renderColumn = (c, index, { router, handlerDecorator }) => {
1993
2011
  const { text, href, items, target } = c;
1994
- return (jsxs("div", { className: "flex flex-col w-1/5 last:w-1/4 gap-[14px]", children: [jsx("a", { className: "block font-sans leading-5 text-l text-primary-text no-underline", href: href, target: target || '_self', children: text || `Раздел ${index}` }), items?.map((_, i) => (jsx(ColumnItem, { ...useLink({ router, handlerDecorator }, _), index: i }, String(i))))] }, String(index)));
2012
+ return (jsxs("div", { className: "flex flex-col w-1/5 last:w-1/4 gap-3.5", children: [jsx("a", { className: "block leading-5 text-l text-primary-text hover:text-primary-main no-underline", href: href, target: target || '_self', children: text || `Раздел ${index}` }), items?.map((_, i) => (jsx(ColumnItem, { ...useLink({ router, handlerDecorator }, _), index: i }, String(i))))] }, String(index)));
1995
2013
  };
1996
- const ColumnItem = JSX(({ text, href, target, index }) => (jsx("a", { className: "block font-sans text-l-light text-secondary-text hover:text-primary-main no-underline", href: href, target: target || '_self', children: text || `Раздел ${index}` })));
2014
+ const ColumnItem = JSX(({ text, href, target, index }) => (jsx("a", { className: "block text-l-light text-secondary-text hover:text-primary-main no-underline", href: href, target: target || '_self', children: text || `Раздел ${index}` })));
1997
2015
 
1998
2016
  const ICONS_MAP = [
1999
2017
  {
@@ -2029,7 +2047,7 @@
2029
2047
  }
2030
2048
  const classes = version === 'secondary'
2031
2049
  ? 'bg-secondary-light hover:bg-secondary-hover'
2032
- : 'border-main-divider border-solid border-[1px] hover:bg-primary-main';
2050
+ : 'border-solid border-[1px] border-main-divider hover:border-transparent hover:bg-primary-main';
2033
2051
  const isPrimary = version === 'primary';
2034
2052
  return (jsx("a", { className: `flex items-center justify-center rounded-md w-14 h-14 group box-border ${classes} ${isPrimary ? 'hover:text-black' : ''}`, href: href, "aria-label": label, target: "_blank", rel: "noopener noreferrer", children: icon ? (jsx(Img, { image: icon, imageClassName: "group-hover:text-white", width: "24", height: "24", asSVG: true })) : null }));
2035
2053
  });
@@ -2037,20 +2055,20 @@
2037
2055
  const SocialMedia = JSX(({ className = '', media, version, context, children }) => {
2038
2056
  const router = context.useRouter();
2039
2057
  const { handlerDecorator } = context;
2040
- return (jsxs("div", { children: [jsx("div", { className: `flex gap-2.5 ${className}`, children: media?.map((_, index) => (jsx(MediaButton, { version: version, ...useLink({ router, handlerDecorator }, _) }, String(index)))) }), jsx("span", { className: "text-s-light text-secondary-text", children: children })] }));
2058
+ return (jsxs("div", { className: "font-sans", children: [jsx("div", { className: `flex gap-2.5 ${className}`, children: media?.map((_, index) => (jsx(MediaButton, { version: version, ...useLink({ router, handlerDecorator }, _) }, String(index)))) }), jsx("span", { className: "text-s-light text-secondary-text", children: children })] }));
2041
2059
  });
2042
2060
 
2043
- const TextInformationLink = JSX(({ className = '', index, text, href, target, onClick }) => (jsx("a", { className: `font-sans text-xs text-secondary-text visited:text-secondary-text hover:text-primary-text inline-block no-underline max-w-[292px] ${className}`, href: href, target: target, onClick: onClick, children: text || `Документ ${index}` })));
2061
+ const TextInformationLink = JSX(({ className = '', index, text, href, target, onClick }) => (jsx("a", { className: `text-xs text-secondary-text visited:text-secondary-text hover:text-primary-main inline-block no-underline max-w-[292px] ${className}`, href: href, target: target, onClick: onClick, children: text || `Документ ${index}` })));
2044
2062
 
2045
2063
  const TextInformation = JSX(({ className, links, context }) => {
2046
2064
  const router = context.useRouter();
2047
2065
  const { handlerDecorator } = context;
2048
- return (jsxs("div", { className: `${className || ''}`, children: [jsx("div", { className: "pt-5", children: jsx("span", { className: "font-sans font-light text-xs text-secondary-text", children: `\u00a9\u00A02000-${new Date().getFullYear()}\u00A0АО \u00ABРоссельхозбанк\u00BB Генеральная лицензия Банка России \u2116\u00A03349 от\u00A012.08.2015\u00A0г.` }) }), links?.length ? (jsx("div", { className: "flex justify-start items-start gap-5 pt-2.5", children: links.map((_, i) => (jsx(TextInformationLink, { index: i, className: "font-light", ...useLink({ router, handlerDecorator }, _) }, String(i)))) })) : null] }));
2066
+ return (jsxs("div", { className: `${className || ''}`, children: [jsx("div", { className: "pt-5", children: jsx("span", { className: "font-light text-xs text-secondary-text", children: `\u00a9\u00A02000-${new Date().getFullYear()}\u00A0АО \u00ABРоссельхозбанк\u00BB Генеральная лицензия Банка России \u2116\u00A03349 от\u00A012.08.2015\u00A0г.` }) }), links?.length ? (jsx("div", { className: "flex justify-start items-start gap-5 pt-2.5", children: links.map((_, i) => (jsx(TextInformationLink, { index: i, className: "font-light", ...useLink({ router, handlerDecorator }, _) }, String(i)))) })) : null] }));
2049
2067
  });
2050
2068
 
2051
2069
  const LEFT_COL_WIDTH_FULL_HD = 'w-[204px]';
2052
2070
  const Footer = JSX(({ className, documents, relatedEnterprises, contacts, socialMedia, mobileApps, topItems, context, ...rest }) => {
2053
- return (jsxs(BlockWrapper, { tag: "footer", context: context, className: `p-9 bg-white ${className || ''}`, ...rest, children: [jsxs("div", { className: "flex items-stretch gap-[54px] pb-[30px] xl:gap-8", children: [jsx(Logo, { className: LEFT_COL_WIDTH_FULL_HD }), jsx(SearchBar, { context: context, className: "grow" })] }), jsxs("div", { className: "flex items-stretch gap-[54px] xl:gap-8", children: [jsxs("div", { className: `${LEFT_COL_WIDTH_FULL_HD} flex flex-col shrink-0 overflow-hidden`, children: [jsx(Contacts, { items: contacts, context: context, hasButton: true }), jsx(SocialMedia, { media: socialMedia, context: context, children: "\u0421\u043E\u0446\u0441\u0435\u0442\u0438" }), jsx(SocialMedia, { className: "mt-6", media: mobileApps, context: context, children: "\u041C\u043E\u0431\u0438\u043B\u044C\u043D\u043E\u0435 \u043F\u0440\u0438\u043B\u043E\u0436\u0435\u043D\u0438\u0435" })] }), jsx(Sitemap, { className: "pt-[3px]", context: context, items: topItems })] }), jsx(HorizontalNavigation, { className: "mt-[98px]", links: relatedEnterprises, context: context }), jsx(TextInformation, { links: documents, context: context })] }));
2071
+ return (jsxs(BlockWrapper, { tag: "footer", context: context, className: `p-9 bg-white font-sans ${className || ''}`, ...rest, children: [jsxs("div", { className: "flex items-stretch gap-[54px] pb-[30px] xl:gap-8", children: [jsx(Logo, { className: LEFT_COL_WIDTH_FULL_HD }), jsx(SearchBar, { context: context, className: "grow" })] }), jsxs("div", { className: "flex items-stretch gap-[54px] xl:gap-8", children: [jsxs("div", { className: `${LEFT_COL_WIDTH_FULL_HD} flex flex-col shrink-0 overflow-hidden`, children: [jsx(Contacts, { items: contacts, context: context, hasButton: true }), jsx(SocialMedia, { media: socialMedia, context: context, children: "\u0421\u043E\u0446\u0441\u0435\u0442\u0438" }), jsx(SocialMedia, { className: "mt-6", media: mobileApps, context: context, children: "\u041C\u043E\u0431\u0438\u043B\u044C\u043D\u043E\u0435 \u043F\u0440\u0438\u043B\u043E\u0436\u0435\u043D\u0438\u0435" })] }), jsx(Sitemap, { className: "pt-[3px]", context: context, items: topItems })] }), jsx(HorizontalNavigation, { className: "mt-[98px]", links: relatedEnterprises, context: context }), jsx(TextInformation, { links: documents, context: context })] }));
2054
2072
  });
2055
2073
 
2056
2074
  const GracePeriod = JSX(({ className = '', title, description, calendar, ...rest }) => {
@@ -2166,7 +2184,7 @@
2166
2184
  };
2167
2185
  const HeaderSecondaryMenu = JSX(({ context, className, defaultLocation = '', bgColor = 'bg-white' }) => {
2168
2186
  const [city, getCity] = context.useGeolocation(defaultLocation);
2169
- return (jsxs("div", { className: `flex items-center ${className || ''}`, children: [jsx(TopItem, { className: "mr-5", flat: true, href: "#", text: city, ariaLabel: "\u041C\u0435\u0441\u0442\u043E\u043F\u043E\u043B\u043E\u0436\u0435\u043D\u0438\u0435", onClick: getCity, bgColor: bgColor }), jsx(TopItem, { className: "mr-7", flat: true, href: "#", text: "\u041E\u0444\u0438\u0441\u044B \u0438 \u0431\u0430\u043D\u043A\u043E\u043C\u0430\u0442\u044B", ariaLabel: "\u0421\u043F\u0438\u0441\u043E\u043A \u0432\u0441\u0435\u0445 \u0434\u043E\u0441\u0442\u0443\u043F\u043D\u044B\u0445 \u043E\u0444\u0438\u0441\u043E\u0432 \u0438 \u0431\u0430\u043D\u043A\u043E\u043C\u0430\u0442\u043E\u0432", bgColor: bgColor }), jsx(HeaderSecondaryMenuButton, { className: `mr-5 ${COLORS_MAP[bgColor]}`, ariaLabel: "\u041F\u043E\u0438\u0441\u043A \u043F\u043E \u0441\u0430\u0439\u0442\u0443", children: jsx(Img, { image: { icon: 'LoupeIcon', iconVersion: LINKS_ICON_VERSION_MAP[bgColor] }, className: "h-full", asSVG: true }) }), jsx(HeaderSecondaryMenuButton, { className: `${LINKS_COLORS_MAP[bgColor]} min-w-[32px] min-h-[32px]`, ariaLabel: "\u0414\u043E\u043F\u043E\u043B\u043D\u0438\u0442\u0435\u043B\u044C\u043D\u044B\u0435 \u0441\u0441\u044B\u043B\u043A\u0438", children: jsx(Img, { image: { icon: 'GridIcon', iconVersion: LINKS_ICON_VERSION_MAP[bgColor] }, className: "h-full bg-secondary-light rounded-full", asSVG: true }) })] }));
2187
+ return (jsxs("div", { className: `flex items-center ${className || ''}`, children: [jsx(TopItem, { className: "mr-5", flat: true, href: "#", text: city, ariaLabel: "\u041C\u0435\u0441\u0442\u043E\u043F\u043E\u043B\u043E\u0436\u0435\u043D\u0438\u0435", onClick: getCity, bgColor: bgColor }), jsx(TopItem, { className: "mr-7", flat: true, href: "#", text: "\u041E\u0444\u0438\u0441\u044B \u0438 \u0431\u0430\u043D\u043A\u043E\u043C\u0430\u0442\u044B", ariaLabel: "\u0421\u043F\u0438\u0441\u043E\u043A \u0432\u0441\u0435\u0445 \u0434\u043E\u0441\u0442\u0443\u043F\u043D\u044B\u0445 \u043E\u0444\u0438\u0441\u043E\u0432 \u0438 \u0431\u0430\u043D\u043A\u043E\u043C\u0430\u0442\u043E\u0432", bgColor: bgColor }), jsx(HeaderSecondaryMenuButton, { className: `mr-5 group ${COLORS_MAP[bgColor]}`, ariaLabel: "\u041F\u043E\u0438\u0441\u043A \u043F\u043E \u0441\u0430\u0439\u0442\u0443", children: jsx(Img, { image: { icon: 'LoupeIcon', iconVersion: LINKS_ICON_VERSION_MAP[bgColor] }, className: "h-full pointer-events-none", imageClassName: "group-hover:text-primary-main pointer-events-none", asSVG: true }) }), jsx(HeaderSecondaryMenuButton, { className: `${LINKS_COLORS_MAP[bgColor]} group min-w-[32px] min-h-[32px]`, ariaLabel: "\u0414\u043E\u043F\u043E\u043B\u043D\u0438\u0442\u0435\u043B\u044C\u043D\u044B\u0435 \u0441\u0441\u044B\u043B\u043A\u0438", children: jsx(Img, { image: { icon: 'GridIcon', iconVersion: LINKS_ICON_VERSION_MAP[bgColor] }, className: "h-full bg-main-divider rounded-full pointer-events-none", imageClassName: "group-hover:text-primary-main", asSVG: true }) })] }));
2170
2188
  });
2171
2189
 
2172
2190
  const maxBy = (discriminator) => (list) => list.reduceRight((a, b) => (discriminator(a) > discriminator(b) ? a : b));
@@ -2231,7 +2249,7 @@
2231
2249
  setVisibleItemsCount((prev) => Math.max(prev, itemIndex + 1));
2232
2250
  }
2233
2251
  };
2234
- return (jsxs("nav", { className: "relative mt-5", children: [jsx("div", { className: "overflow-hidden whitespace-nowrap mr-52 pb-3", children: subItems.map((_, i) => (jsx(IntersectionObserverTag, { tag: "span", observerCallback: observerCallback(i), observerOptions: { threshold: 1 }, children: jsx(HeaderItem, { className: `mr-8 ${visibleItemsCount - 1 < i ? 'invisible' : ''}`, active: _ === activeSubItem, ...useLink({ router, handlerDecorator }, _), bgColor: bgColor }) }, String(i)))) }), dropDownMenuItems.length ? (jsx(DropdownMenu, { context: context, activeSubItem: activeSubItem, menuVisible: menuVisible, toggleMenu: toggleMenu, menuItems: dropDownMenuItems, bgColor: bgColor })) : null] }));
2252
+ return (jsxs("nav", { className: "relative mt-6", children: [jsx("div", { className: "overflow-hidden whitespace-nowrap mr-52 pb-3", children: subItems.map((_, i) => (jsx(IntersectionObserverTag, { tag: "span", observerCallback: observerCallback(i), observerOptions: { threshold: 1 }, children: jsx(HeaderItem, { className: `mr-8 ${visibleItemsCount - 1 < i ? 'invisible' : ''}`, active: _ === activeSubItem, ...useLink({ router, handlerDecorator }, _), bgColor: bgColor }) }, String(i)))) }), dropDownMenuItems.length ? (jsx(DropdownMenu, { context: context, activeSubItem: activeSubItem, menuVisible: menuVisible, toggleMenu: toggleMenu, menuItems: dropDownMenuItems, bgColor: bgColor })) : null] }));
2235
2253
  });
2236
2254
 
2237
2255
  const BORDER_COLORS = {
@@ -2243,7 +2261,9 @@
2243
2261
  const sitemap = useSitemap(context.useAsyncData);
2244
2262
  const { handlerDecorator } = context;
2245
2263
  const mergedItems = mergeTopItems(sitemap.topItems, topItems);
2246
- const activeTopItem = mergedItems.find(isTopItemActive(router));
2264
+ const [firstPortal] = mergedItems;
2265
+ // Если по слагу невозможно понять к какому подпорталу этот слаг относиться, то выбираем первый подпортал.
2266
+ const activeTopItem = mergedItems.find(isTopItemActive(router)) || firstPortal;
2247
2267
  const topMenu = mergedItems.map((_, i) => (jsx(TopItem, { active: _ === activeTopItem, ...useLink({ router, handlerDecorator }, _), "aria-label": _.text, bgColor: bgColor }, String(i))));
2248
2268
  return (jsx(BlockWrapper, { tag: "header", context: context, className: `pt-6 pb-5 px-20 ${bgColor} ${className}`, ...rest, children: jsxs("div", { className: "container", children: [jsxs("div", { className: "flex items-center", children: [jsx(Logo, { className: "mr-8", bgColor: bgColor, logo: logo }), topMenu, jsx(HeaderSecondaryMenu, { context: context, className: "ml-auto", defaultLocation: defaultLocation, bgColor: bgColor })] }), jsx("div", { className: `mt-6 h-[1px] ${BORDER_COLORS[bgColor]}` }), showSubMenu && activeTopItem?.items?.length ? (jsx(HeaderSubMenu, { context: context, subItems: activeTopItem.items, bgColor: bgColor })) : null] }) }));
2249
2269
  });
@@ -2567,6 +2587,116 @@
2567
2587
  }) }));
2568
2588
  };
2569
2589
 
2590
+ const SAFE_DEPOSIT_RENTAL_URL = '/api/v1/safe-deposit-rental.json';
2591
+ function useSafeDepositRental(useAsyncData) {
2592
+ const { data } = useAsyncData(SAFE_DEPOSIT_RENTAL_URL, fetchSafeDepositRental);
2593
+ const result = data || [];
2594
+ return result;
2595
+ }
2596
+ async function fetchSafeDepositRental() {
2597
+ try {
2598
+ const response = await fetch(SAFE_DEPOSIT_RENTAL_URL);
2599
+ return await response.json();
2600
+ }
2601
+ catch (err) {
2602
+ console.error(err);
2603
+ }
2604
+ }
2605
+
2606
+ const Radio = JSX(({ name, text, value, checked, onChange, className }) => (jsx("div", { className: className, children: jsxs("label", { className: "flex items-center relative cursor-pointer", children: [jsx("input", { className: "appearance-none flex justify-center items-center w-5 h-5 border-2 border-primary-main rounded-full cursor-pointer after:block after:w-2.5 after:h-2.5 after:rounded-full checked:after:bg-primary-main", type: "radio", value: value, name: name, checked: checked, onChange: onChange }), text ? jsx("span", { className: "font-sans ml-3 text-m-base cursor-pointer", children: text }) : null] }) })));
2607
+
2608
+ const SafeDepositRentalForm = ({ cities, cellDimensions, cellOptions, days, setDays, context, }) => {
2609
+ return (jsxs("div", { className: "flex-1 mr-9", children: [cities.length ? renderCitiesOffices(cities, context) : null, renderRentalPeriod(days, setDays), cellDimensions.length && cellOptions.length
2610
+ ? renderDimensionsOptions(cellDimensions, cellOptions, context)
2611
+ : null, jsx("span", { className: "text-secondary-text font-light", children: "\u0422\u0438\u043F \u0434\u043E\u0433\u043E\u0432\u043E\u0440\u0430" }), jsxs("div", { className: "flex justify-between items-center mt-5", children: [renderRadioButtons(context), jsx(Button, { text: "\u041E\u0444\u0438\u0441\u044B \u043D\u0430 \u043A\u0430\u0440\u0442\u0435", version: "primary" })] })] }));
2612
+ };
2613
+ const renderCitiesOffices = (cities, context) => {
2614
+ const [selectedCity, setSelectedCity] = context.useState(cities[0].city);
2615
+ const setSelected = (_) => setSelectedCity(_);
2616
+ const offices = cities.find((_) => _.city === selectedCity).offices;
2617
+ return (jsxs("div", { className: "flex justify-between mb-6", children: [jsx("div", { className: "w-full mr-4", children: cities.length
2618
+ ? renderSelect({
2619
+ data: cities,
2620
+ field: 'city',
2621
+ selected: selectedCity,
2622
+ setSelected,
2623
+ label: 'Город',
2624
+ })
2625
+ : null }), jsx("div", { className: "w-full", children: offices.length
2626
+ ? renderSelect({
2627
+ data: offices,
2628
+ field: 'office',
2629
+ selected: offices[0],
2630
+ setSelected,
2631
+ label: 'Отделение',
2632
+ })
2633
+ : null })] }));
2634
+ };
2635
+ const renderDimensionsOptions = (cellDimensions, cellOptions, context) => {
2636
+ const [selectedDimension, setSelectedDimension] = context.useState(cellDimensions[0].dimension);
2637
+ const [selectedOption, setSelectedOption] = context.useState(cellOptions[0].option);
2638
+ return (jsxs("div", { className: "flex justify-between mb-6", children: [jsx("div", { className: "mr-4 w-full", children: cellDimensions.length
2639
+ ? renderSelect({
2640
+ data: cellDimensions,
2641
+ field: 'dimension',
2642
+ selected: selectedDimension,
2643
+ setSelected: setSelectedDimension,
2644
+ label: 'Размер ячейки',
2645
+ })
2646
+ : null }), jsx("div", { className: "w-full", children: cellOptions.length
2647
+ ? renderSelect({
2648
+ data: cellOptions,
2649
+ field: 'option',
2650
+ selected: selectedOption,
2651
+ setSelected: setSelectedOption,
2652
+ label: 'Параметры ячейки, мм (ВхШхД)',
2653
+ })
2654
+ : null })] }));
2655
+ };
2656
+ const renderSelect = (props) => {
2657
+ const { data, field, selected, setSelected, label } = props;
2658
+ return (jsxs("div", { children: [jsx("span", { className: "block font-light text-m mb-2", children: label }), jsx(Select, { className: "h-14 border border-gray p-4 rounded-md text-m-sm w-full cursor-pointer", value: selected, onChange: (_) => setSelected(_), children: data.map((_, i) => (jsx(SelectOption, { value: _?.[field], children: _?.[field] }, String(i)))) })] }));
2659
+ };
2660
+ const renderRentalPeriod = (days, setDays) => {
2661
+ const items = ['От 1 дня', 'До 365 дней'];
2662
+ return (jsxs("div", { className: "mb-6", children: [jsx("span", { className: "block font-light text-m mb-[3px]", children: "\u0421\u0440\u043E\u043A \u0430\u0440\u0435\u043D\u0434\u044B" }), jsx(InputRange, { min: 1, max: 365, value: days, items: items, onChange: setDays })] }));
2663
+ };
2664
+ const renderRadioButtons = (context) => {
2665
+ const [selected, setSelected] = context.useState('option1');
2666
+ const onChange = (_) => setSelected(_.target.value);
2667
+ return (jsxs("div", { children: [jsx(Radio, { className: "mb-2", name: "contractType", text: "\u041F\u0440\u043E\u0441\u0442\u043E\u0435 \u0445\u0440\u0430\u043D\u0435\u043D\u0438\u0435", value: "option1", checked: selected === '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: selected === 'option2', onChange: onChange })] }));
2668
+ };
2669
+
2670
+ const SafeDepositRentalTotal = ({ days }) => {
2671
+ const price = calculatePrice(days);
2672
+ return (jsxs("div", { className: "flex flex-col justify-between", children: [jsxs("div", { className: "flex", children: [renderTotal('Аренда за', days, 'mr-11'), renderTotal('Цена', price + ' ₽')] }), jsxs("div", { className: "bg-primary-main px-10 pt-10 pb-4 text-center", children: [jsx(Img, { image: { icon: 'PackA4' }, width: "290", height: "257", asSVG: true }), jsxs("span", { className: "font-light text-white opacity-80 mt-2 inline-block", children: ["\u041D\u0430 \u0440\u0438\u0441\u0443\u043D\u043A\u0438 \u0438\u0437\u043E\u0431\u0440\u0430\u0436\u0435\u043D\u0430 \u043F\u0430\u0447\u043A\u0430", jsx("br", {}), " \u043B\u0438\u0441\u0442\u043E\u0432 \u0444\u043E\u0440\u043C\u0430\u0442\u0430 \u04104"] })] })] }));
2673
+ };
2674
+ const renderTotal = (label, total, className = '') => {
2675
+ return (jsxs("div", { className: className, children: [jsx("span", { className: "block font-light text-m mb-1", children: label }), jsx("span", { className: "text-h3", children: total })] }));
2676
+ };
2677
+ const calculatePrice = (days) => {
2678
+ let TariffType = 1;
2679
+ switch (true) {
2680
+ case days > 30 && days <= 90:
2681
+ TariffType = 2;
2682
+ break;
2683
+ case days > 90 && days <= 180:
2684
+ TariffType = 3;
2685
+ break;
2686
+ case days > 180 && days <= 365:
2687
+ TariffType = 4;
2688
+ break;
2689
+ }
2690
+ return days * TariffType;
2691
+ };
2692
+
2693
+ const DEFAULT_DAYS = 26;
2694
+ const SafeDepositRental = JSX(({ context, className = '', ...rest }) => {
2695
+ const [days, setDays] = context.useState(DEFAULT_DAYS);
2696
+ const data = useSafeDepositRental(context.useAsyncData);
2697
+ return (jsxs(BlockWrapper, { context: context, className: `bg-white px-8 py-12 ${className}`, ...rest, children: [jsxs("div", { className: "flex justify-between align-top mb-6", children: [data?.cities?.length ? (jsx(SafeDepositRentalForm, { ...data, days: days, setDays: setDays, context: context })) : null, jsx(SafeDepositRentalTotal, { days: days })] }), jsx("p", { className: "text-button font-light text-secondary-text", children: "\u0410\u0440\u0435\u043D\u0434\u0430 \u0421\u042F, \u0432 \u0441\u043B\u0443\u0447\u0430\u0435 \u043F\u0440\u043E\u0432\u0435\u0434\u0435\u043D\u0438\u044F \u043F\u0440\u043E\u0446\u0435\u0434\u0443\u0440\u044B \u043A\u0443\u043F\u043B\u0438-\u043F\u0440\u043E\u0434\u0430\u0436\u0438, \u0441 \u0438\u0441\u043F\u043E\u043B\u044C\u0437\u043E\u0432\u0430\u043D\u0438\u0435\u043C \u043D\u0430\u043B\u0438\u0447\u043D\u044B\u0445 \u0434\u0435\u043D\u0435\u0433 \u0438\u043B\u0438 \u043F\u0440\u043E\u0446\u0435\u0434\u0443\u0440\u044B \u0438\u043F\u043E\u0442\u0435\u0447\u043D\u043E\u0439 \u0441\u0434\u0435\u043B\u043A\u0438" })] }));
2698
+ });
2699
+
2570
2700
  const checkIsIconRenderable = (icon) => Boolean(icon?.icon || icon?.src);
2571
2701
 
2572
2702
  const STEPS_BLOCK_STYLE_MAPS = {
@@ -2587,13 +2717,16 @@
2587
2717
  iconConnector: 'bg-white',
2588
2718
  },
2589
2719
  };
2590
- const getStyleMap = (version) => STEPS_BLOCK_STYLE_MAPS[version];
2591
2720
 
2592
- const StepsBlock = JSX(({ className = '', title, showLines = true, steps = [], button, version = 'primary', ...rest }) => {
2593
- const styleMap = getStyleMap(version);
2721
+ const getLineOpacity = (showLines) => (showLines ? '' : 'opacity-0');
2722
+ const StepsBlock = JSX(({ className = '', showLines = true, steps = [], button, version = 'primary', context, ...rest }) => {
2723
+ const router = context.useRouter();
2724
+ const { handlerDecorator } = context;
2725
+ const { title } = rest;
2726
+ const styleMap = STEPS_BLOCK_STYLE_MAPS[version];
2594
2727
  const shortGaps = steps.length > 3;
2595
- const stepGap = shortGaps ? 'gap-x-3' : 'gap-x-[101px]';
2596
- const lineOpacity = showLines ? '' : 'opacity-0';
2728
+ const lineOpacity = getLineOpacity(showLines);
2729
+ const titleMargin = title ? 'mt-9' : '';
2597
2730
  return (jsxs(BlockWrapper, { className: [
2598
2731
  'box-border font-sans text-primary-text bg-white',
2599
2732
  shortGaps ? 'px-20' : 'px-[70px]',
@@ -2601,13 +2734,21 @@
2601
2734
  styleMap.background,
2602
2735
  styleMap.title,
2603
2736
  className,
2604
- ].join(' '), ...rest, children: [title ? (jsx(Heading, { headingType: "h3", as: "h2", className: "max-w-[47rem] text-center mb-9", title: title })) : null, steps?.length ? (jsxs("div", { className: "box-border", children: [jsx("div", { className: "flex items-center px-[88px]", children: joinList(jsx("div", { className: `h-0.5 w-full bg-secondary-light ${lineOpacity}` }))(steps.map(renderStepIcon(styleMap))) }), jsx("div", { className: `flex justify-between whitespace-pre-line ${stepGap}`, children: steps.map(renderStepTitle(styleMap, Boolean(button?.text))) })] })) : null, button?.text ? (jsx(Button, { className: "mt-8 w-full max-w-[240px]", version: "primary", ...button })) : null] }));
2737
+ ].join(' '), context: context, ...rest, children: [title ? (jsx(Heading, { headingType: "h2", className: "max-w-[752px] text-center", title: title })) : null, steps?.length ? (jsxs("div", { className: `box-border ${titleMargin}`, children: [jsx("div", { className: "flex items-center px-[88px]", children: joinList(jsx("div", { className: `h-0.5 w-full bg-secondary-light ${lineOpacity}` }))(steps.map(renderStepIcon(styleMap))) }), jsx("div", { className: `flex justify-between ${shortGaps ? 'gap-x-3' : 'gap-x-[101px]'}`, children: steps.map(renderStepTitle({
2738
+ styleMap,
2739
+ isMainButton: Boolean(button?.text),
2740
+ version,
2741
+ router,
2742
+ handlerDecorator,
2743
+ })) })] })) : null, button?.text ? (jsx(Button, { className: "mt-8 w-full max-w-[240px]", version: "primary", ...useLink({ router, handlerDecorator }, button) })) : null] }));
2605
2744
  });
2606
2745
  const renderStepIcon = (styleMap) => ({ icon }, i) => {
2607
- return (jsx("div", { className: "flex flex-col items-center text-center", children: jsx("div", { className: `h-[100px] w-[100px] min-w-[100px] min-h-[100px] rounded-full p-[26px] box-border z-10 flex justify-center items-center ${styleMap.iconBackground}`, children: checkIsIconRenderable(icon) ? (jsx(Img, { image: icon, width: "48", height: "48", asSVG: true })) : (jsx("span", { className: `text-h4 ${styleMap.iconText}`, children: i + 1 })) }) }, String(i)));
2746
+ return (jsx("div", { className: "flex flex-col items-center text-center", children: jsx("div", { className: `h-[100px] w-[100px] min-w-[100px] min-h-[100px] rounded-full p-[26px] box-border z-10
2747
+ ${styleMap.iconBackground} ${styleMap.title}`, children: checkIsIconRenderable(icon) ? (jsx(Img, { image: icon, width: "48", height: "48", asSVG: true })) : (jsx("span", { className: `text-h4 ${styleMap.iconText}`, children: i + 1 })) }) }, String(i)));
2608
2748
  };
2609
- const renderStepTitle = (styleMap, isMainButton) => (step, i) => {
2610
- return (jsxs("div", { className: "flex flex-col items-center justify-between text-center w-[276px] overflow-hidden", children: [jsxs("div", { children: [step.label ? jsx("div", { className: "text-xl m-0 mt-4", children: step.label }) : null, step.description ? (jsx("div", { className: `text-l ${styleMap.description} ${step.label ? 'mt-2' : 'mt-4'}`, children: step.description })) : null] }), step?.button?.text && !isMainButton ? (jsx(Button, { className: "mt-8 py-4 w-full max-w-[240px]", version: "primary", href: step?.button?.href, children: step.button.text })) : null] }, String(i)));
2749
+ const renderStepTitle = ({ styleMap, isMainButton, version, router, handlerDecorator, }) => (step, i) => {
2750
+ const additionalMarginClass = step?.label ? 'mt-2' : 'mt-4';
2751
+ return (jsxs("div", { className: "flex flex-col items-center justify-between text-center relative w-[276px] \n whitespace-pre-line overflow-hidden", children: [step?.label ? (jsx("div", { className: "font-normal text-xl-light m-0 mt-4", children: step.label })) : null, step?.description ? (jsx("div", { className: `font-light text-base ${styleMap.description} ${additionalMarginClass}`, children: step.description })) : null, step.button?.text && !isMainButton ? (jsx(Button, { className: "box-border mt-8 py-3 h-12 w-full max-w-[240px]", ...useLink({ router, handlerDecorator }, step.button), version: version, children: step.button.text })) : null] }, String(i)));
2611
2752
  };
2612
2753
 
2613
2754
  const badgeStyle = 'min-w-[22px] w-[22px] h-[22px] rounded-full text-xs ml-2';
@@ -2712,6 +2853,7 @@
2712
2853
  Placeholder,
2713
2854
  GroupBlock,
2714
2855
  BonusBenefitsBlock,
2856
+ SafeDepositRental,
2715
2857
  Tabs,
2716
2858
  };
2717
2859