@redneckz/wildless-cms-uni-blocks 0.4.5 → 0.4.7

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 (600) hide show
  1. package/bundle/blocks.schema.json +1 -1
  2. package/bundle/bundle.umd.js +231 -185
  3. package/bundle/bundle.umd.min.js +1 -1
  4. package/cosmos-static/icons/{AirPlane.svg → AirPlaneIcon.svg} +0 -0
  5. package/cosmos-static/icons/{DocDownload.svg → DocDownloadIcon.svg} +0 -0
  6. package/cosmos-static/icons/{Logo.svg → LogoIcon.svg} +0 -0
  7. package/cosmos-static/icons/{PackA4.svg → PackA4Icon.svg} +0 -0
  8. package/cosmos-static/icons/{WateringCan.svg → WateringCanIcon.svg} +0 -0
  9. package/dist/components/BlockContent.d.ts +5 -2
  10. package/dist/components/Blocks.d.ts +3 -0
  11. package/dist/components/Blocks.js +6 -0
  12. package/dist/components/Blocks.js.map +1 -1
  13. package/dist/components/Calculator/BonusCalculatorForm.js +1 -1
  14. package/dist/components/Calculator/Calculator.js +6 -4
  15. package/dist/components/Calculator/Calculator.js.map +1 -1
  16. package/dist/components/Calculator/CalculatorContent.d.ts +7 -6
  17. package/dist/components/Calculator/CalculatorValueBlock.js +1 -1
  18. package/dist/components/Calculator/CalculatorValueBlock.js.map +1 -1
  19. package/dist/components/Calculator/CreditCalculatorForm.js +1 -1
  20. package/dist/components/Calculator/MortgageCalculatorForm.js +1 -3
  21. package/dist/components/Calculator/MortgageCalculatorForm.js.map +1 -1
  22. package/dist/components/Calculator/Rate.js +1 -1
  23. package/dist/components/Calculator/Rate.js.map +1 -1
  24. package/dist/components/Calculator/renderCalculatorBlock.js +2 -1
  25. package/dist/components/Calculator/renderCalculatorBlock.js.map +1 -1
  26. package/dist/components/Calculator/renderInitialFeeInput.js +1 -1
  27. package/dist/components/Calculator/renderMonthsInput.js +1 -1
  28. package/dist/components/Calculator/renderProposalMortgage.js +2 -1
  29. package/dist/components/Calculator/renderProposalMortgage.js.map +1 -1
  30. package/dist/components/CardTransfer/CardTransfer.d.ts +5 -0
  31. package/dist/components/CardTransfer/CardTransfer.js +28 -0
  32. package/dist/components/CardTransfer/CardTransfer.js.map +1 -0
  33. package/dist/components/CardTransfer/CardTransferContent.d.ts +10 -0
  34. package/dist/components/CardTransfer/CardTransferContent.js +2 -0
  35. package/dist/components/CardTransfer/CardTransferContent.js.map +1 -0
  36. package/dist/components/ErrorBlock/ErrorBlock.d.ts +5 -0
  37. package/dist/components/ErrorBlock/ErrorBlock.js +23 -0
  38. package/dist/components/ErrorBlock/ErrorBlock.js.map +1 -0
  39. package/dist/components/ErrorBlock/ErrorBlockContent.d.ts +35 -0
  40. package/dist/components/ErrorBlock/ErrorBlockContent.js +2 -0
  41. package/dist/components/ErrorBlock/ErrorBlockContent.js.map +1 -0
  42. package/dist/components/OfficeServicesBlock/OfficeServicesBlock.d.ts +5 -0
  43. package/dist/components/OfficeServicesBlock/OfficeServicesBlock.js +12 -0
  44. package/dist/components/OfficeServicesBlock/OfficeServicesBlock.js.map +1 -0
  45. package/dist/components/OfficeServicesBlock/OfficeServicesBlockContent.d.ts +24 -0
  46. package/dist/components/OfficeServicesBlock/OfficeServicesBlockContent.js +2 -0
  47. package/dist/components/OfficeServicesBlock/OfficeServicesBlockContent.js.map +1 -0
  48. package/dist/components/PictureText/PictureText.js +4 -4
  49. package/dist/components/PictureText/PictureText.js.map +1 -1
  50. package/dist/components/SafeDepositRental/RegionsAndBranches.d.ts +12 -0
  51. package/dist/components/SafeDepositRental/RegionsAndBranches.js +9 -0
  52. package/dist/components/SafeDepositRental/RegionsAndBranches.js.map +1 -0
  53. package/dist/components/SafeDepositRental/RenderRadioButtons.d.ts +2 -0
  54. package/dist/components/SafeDepositRental/RenderRadioButtons.js +12 -0
  55. package/dist/components/SafeDepositRental/RenderRadioButtons.js.map +1 -0
  56. package/dist/components/SafeDepositRental/RentalPeriod.d.ts +6 -0
  57. package/dist/components/SafeDepositRental/RentalPeriod.js +10 -0
  58. package/dist/components/SafeDepositRental/RentalPeriod.js.map +1 -0
  59. package/dist/components/SafeDepositRental/SafeBoxCases.d.ts +11 -0
  60. package/dist/components/SafeDepositRental/SafeBoxCases.js +9 -0
  61. package/dist/components/SafeDepositRental/SafeBoxCases.js.map +1 -0
  62. package/dist/components/SafeDepositRental/SafeDepositRental.js +5 -71
  63. package/dist/components/SafeDepositRental/SafeDepositRental.js.map +1 -1
  64. package/dist/components/SafeDepositRental/SafeDepositRentalContent.d.ts +17 -0
  65. package/dist/components/SafeDepositRental/SafeDepositRentalForm.d.ts +5 -5
  66. package/dist/components/SafeDepositRental/SafeDepositRentalForm.js +51 -67
  67. package/dist/components/SafeDepositRental/SafeDepositRentalForm.js.map +1 -1
  68. package/dist/components/SafeDepositRental/SafeDepositRentalTotal.d.ts +5 -7
  69. package/dist/components/SafeDepositRental/SafeDepositRentalTotal.js +16 -11
  70. package/dist/components/SafeDepositRental/SafeDepositRentalTotal.js.map +1 -1
  71. package/dist/components/SafeDepositRental/WrapperSelect.d.ts +11 -0
  72. package/dist/components/SafeDepositRental/WrapperSelect.js +10 -0
  73. package/dist/components/SafeDepositRental/WrapperSelect.js.map +1 -0
  74. package/dist/components/SafeDepositRental/fetchBranches.d.ts +2 -0
  75. package/dist/components/SafeDepositRental/fetchBranches.js +20 -0
  76. package/dist/components/SafeDepositRental/fetchBranches.js.map +1 -0
  77. package/dist/components/SafeDepositRental/useGetRegions.d.ts +6 -0
  78. package/dist/components/SafeDepositRental/useGetRegions.js +11 -0
  79. package/dist/components/SafeDepositRental/useGetRegions.js.map +1 -0
  80. package/dist/components/TariffsTable/EmbeddableCellData.js +1 -0
  81. package/dist/components/TariffsTable/EmbeddableCellData.js.map +1 -1
  82. package/dist/components/TariffsTable/TariffsTableRowContainer.js +3 -3
  83. package/dist/components/TariffsTable/TariffsTableRowContainer.js.map +1 -1
  84. package/dist/components/TariffsTable/dataFixture.js +1 -0
  85. package/dist/components/TariffsTable/dataFixture.js.map +1 -1
  86. package/dist/icons/IconName.d.ts +12 -12
  87. package/dist/icons/IconName.js +10 -10
  88. package/dist/icons/IconName.js.map +1 -1
  89. package/dist/ui-kit/BenefitItem/BenefitItem.d.ts +1 -1
  90. package/dist/ui-kit/BenefitItem/BenefitItem.js +3 -2
  91. package/dist/ui-kit/BenefitItem/BenefitItem.js.map +1 -1
  92. package/dist/ui-kit/Button/Button.js +6 -15
  93. package/dist/ui-kit/Button/Button.js.map +1 -1
  94. package/dist/ui-kit/Button/GetButtonClassParams.d.ts +6 -0
  95. package/dist/ui-kit/Button/GetButtonClassParams.js +2 -0
  96. package/dist/ui-kit/Button/GetButtonClassParams.js.map +1 -0
  97. package/dist/ui-kit/Button/buttonClassNameConstants.d.ts +4 -0
  98. package/dist/ui-kit/Button/buttonClassNameConstants.js +14 -0
  99. package/dist/ui-kit/Button/buttonClassNameConstants.js.map +1 -0
  100. package/dist/ui-kit/Button/getDisabledButtonClasses.d.ts +2 -0
  101. package/dist/ui-kit/Button/getDisabledButtonClasses.js +12 -0
  102. package/dist/ui-kit/Button/getDisabledButtonClasses.js.map +1 -0
  103. package/dist/ui-kit/Button/getRegularButtonClasses.d.ts +2 -0
  104. package/dist/ui-kit/Button/getRegularButtonClasses.js +12 -0
  105. package/dist/ui-kit/Button/getRegularButtonClasses.js.map +1 -0
  106. package/dist/ui-kit/CurrencyInput/CurrencyInput.d.ts +19 -0
  107. package/dist/ui-kit/CurrencyInput/CurrencyInput.js +21 -0
  108. package/dist/ui-kit/CurrencyInput/CurrencyInput.js.map +1 -0
  109. package/dist/ui-kit/InnerTable/InnerTable.js +1 -1
  110. package/dist/ui-kit/InnerTable/InnerTable.js.map +1 -1
  111. package/dist/ui-kit/InnerTable/InnerTableButton.js +2 -2
  112. package/dist/ui-kit/InnerTable/InnerTableButton.js.map +1 -1
  113. package/dist/ui-kit/InnerTable/InnerTableHeader.js +1 -1
  114. package/dist/ui-kit/InnerTable/InnerTableHeader.js.map +1 -1
  115. package/dist/ui-kit/InputRange/InputRange.js +1 -1
  116. package/dist/ui-kit/InputRange/InputRange.js.map +1 -1
  117. package/dist/ui-kit/Logo/Logo.js +1 -1
  118. package/dist/ui-kit/Logo/Logo.js.map +1 -1
  119. package/dist/ui-kit/Logo/Logo.mobile.js +1 -1
  120. package/dist/ui-kit/Logo/Logo.mobile.js.map +1 -1
  121. package/dist/ui-kit/Radio/Radio.js +1 -1
  122. package/dist/ui-kit/Radio/Radio.js.map +1 -1
  123. package/dist/ui-kit/Select/Select.js +1 -1
  124. package/dist/ui-kit/Select/Select.js.map +1 -1
  125. package/dist/ui-kit/Select/SelectOption.d.ts +1 -0
  126. package/dist/ui-kit/Select/SelectOption.js +2 -2
  127. package/dist/ui-kit/Select/SelectOption.js.map +1 -1
  128. package/lib/common.css +1 -1
  129. package/lib/components/BlockContent.d.ts +5 -2
  130. package/lib/components/Blocks.d.ts +3 -0
  131. package/lib/components/Blocks.js +6 -0
  132. package/lib/components/Blocks.js.map +1 -1
  133. package/lib/components/Calculator/BonusCalculatorForm.js +1 -1
  134. package/lib/components/Calculator/Calculator.js +6 -4
  135. package/lib/components/Calculator/Calculator.js.map +1 -1
  136. package/lib/components/Calculator/CalculatorContent.d.ts +7 -6
  137. package/lib/components/Calculator/CalculatorValueBlock.js +1 -1
  138. package/lib/components/Calculator/CalculatorValueBlock.js.map +1 -1
  139. package/lib/components/Calculator/CreditCalculatorForm.js +1 -1
  140. package/lib/components/Calculator/MortgageCalculatorForm.js +1 -3
  141. package/lib/components/Calculator/MortgageCalculatorForm.js.map +1 -1
  142. package/lib/components/Calculator/Rate.js +1 -1
  143. package/lib/components/Calculator/Rate.js.map +1 -1
  144. package/lib/components/Calculator/renderCalculatorBlock.js +3 -2
  145. package/lib/components/Calculator/renderCalculatorBlock.js.map +1 -1
  146. package/lib/components/Calculator/renderInitialFeeInput.js +1 -1
  147. package/lib/components/Calculator/renderMonthsInput.js +1 -1
  148. package/lib/components/Calculator/renderProposalMortgage.js +2 -1
  149. package/lib/components/Calculator/renderProposalMortgage.js.map +1 -1
  150. package/lib/components/CardTransfer/CardTransfer.d.ts +5 -0
  151. package/lib/components/CardTransfer/CardTransfer.fixture.d.ts +5 -0
  152. package/lib/components/CardTransfer/CardTransfer.js +26 -0
  153. package/lib/components/CardTransfer/CardTransfer.js.map +1 -0
  154. package/lib/components/CardTransfer/CardTransferContent.d.ts +10 -0
  155. package/lib/components/CardTransfer/CardTransferContent.js +2 -0
  156. package/lib/components/CardTransfer/CardTransferContent.js.map +1 -0
  157. package/lib/components/ErrorBlock/ErrorBlock.d.ts +5 -0
  158. package/lib/components/ErrorBlock/ErrorBlock.fixture.d.ts +6 -0
  159. package/lib/components/ErrorBlock/ErrorBlock.js +21 -0
  160. package/lib/components/ErrorBlock/ErrorBlock.js.map +1 -0
  161. package/lib/components/ErrorBlock/ErrorBlockContent.d.ts +35 -0
  162. package/lib/components/ErrorBlock/ErrorBlockContent.js +2 -0
  163. package/lib/components/ErrorBlock/ErrorBlockContent.js.map +1 -0
  164. package/lib/components/OfficeServicesBlock/OfficeServicesBlock.d.ts +5 -0
  165. package/lib/components/OfficeServicesBlock/OfficeServicesBlock.fixture.d.ts +5 -0
  166. package/lib/components/OfficeServicesBlock/OfficeServicesBlock.js +10 -0
  167. package/lib/components/OfficeServicesBlock/OfficeServicesBlock.js.map +1 -0
  168. package/lib/components/OfficeServicesBlock/OfficeServicesBlockContent.d.ts +24 -0
  169. package/lib/components/OfficeServicesBlock/OfficeServicesBlockContent.js +2 -0
  170. package/lib/components/OfficeServicesBlock/OfficeServicesBlockContent.js.map +1 -0
  171. package/lib/components/PictureText/PictureText.js +4 -4
  172. package/lib/components/PictureText/PictureText.js.map +1 -1
  173. package/lib/components/SafeDepositRental/RegionsAndBranches.d.ts +12 -0
  174. package/lib/components/SafeDepositRental/RegionsAndBranches.js +7 -0
  175. package/lib/components/SafeDepositRental/RegionsAndBranches.js.map +1 -0
  176. package/lib/components/SafeDepositRental/RenderRadioButtons.d.ts +2 -0
  177. package/lib/components/SafeDepositRental/RenderRadioButtons.js +10 -0
  178. package/lib/components/SafeDepositRental/RenderRadioButtons.js.map +1 -0
  179. package/lib/components/SafeDepositRental/RentalPeriod.d.ts +6 -0
  180. package/lib/components/SafeDepositRental/RentalPeriod.js +8 -0
  181. package/lib/components/SafeDepositRental/RentalPeriod.js.map +1 -0
  182. package/lib/components/SafeDepositRental/SafeBoxCases.d.ts +11 -0
  183. package/lib/components/SafeDepositRental/SafeBoxCases.js +7 -0
  184. package/lib/components/SafeDepositRental/SafeBoxCases.js.map +1 -0
  185. package/lib/components/SafeDepositRental/SafeDepositRental.js +5 -71
  186. package/lib/components/SafeDepositRental/SafeDepositRental.js.map +1 -1
  187. package/lib/components/SafeDepositRental/SafeDepositRentalContent.d.ts +17 -0
  188. package/lib/components/SafeDepositRental/SafeDepositRentalForm.d.ts +5 -5
  189. package/lib/components/SafeDepositRental/SafeDepositRentalForm.js +50 -65
  190. package/lib/components/SafeDepositRental/SafeDepositRentalForm.js.map +1 -1
  191. package/lib/components/SafeDepositRental/SafeDepositRentalTotal.d.ts +5 -7
  192. package/lib/components/SafeDepositRental/SafeDepositRentalTotal.js +16 -10
  193. package/lib/components/SafeDepositRental/SafeDepositRentalTotal.js.map +1 -1
  194. package/lib/components/SafeDepositRental/WrapperSelect.d.ts +11 -0
  195. package/lib/components/SafeDepositRental/WrapperSelect.js +8 -0
  196. package/lib/components/SafeDepositRental/WrapperSelect.js.map +1 -0
  197. package/lib/components/SafeDepositRental/fetchBranches.d.ts +2 -0
  198. package/lib/components/SafeDepositRental/fetchBranches.js +17 -0
  199. package/lib/components/SafeDepositRental/fetchBranches.js.map +1 -0
  200. package/lib/components/SafeDepositRental/useGetRegions.d.ts +6 -0
  201. package/lib/components/SafeDepositRental/useGetRegions.js +8 -0
  202. package/lib/components/SafeDepositRental/useGetRegions.js.map +1 -0
  203. package/lib/components/TariffsTable/EmbeddableCellData.js +1 -0
  204. package/lib/components/TariffsTable/EmbeddableCellData.js.map +1 -1
  205. package/lib/components/TariffsTable/TariffsTableRowContainer.js +3 -3
  206. package/lib/components/TariffsTable/TariffsTableRowContainer.js.map +1 -1
  207. package/lib/components/TariffsTable/dataFixture.js +1 -0
  208. package/lib/components/TariffsTable/dataFixture.js.map +1 -1
  209. package/lib/icons/IconName.d.ts +12 -12
  210. package/lib/icons/IconName.js +10 -10
  211. package/lib/icons/IconName.js.map +1 -1
  212. package/lib/ui-kit/BenefitItem/BenefitItem.d.ts +1 -1
  213. package/lib/ui-kit/BenefitItem/BenefitItem.js +3 -2
  214. package/lib/ui-kit/BenefitItem/BenefitItem.js.map +1 -1
  215. package/lib/ui-kit/Button/Button.js +6 -15
  216. package/lib/ui-kit/Button/Button.js.map +1 -1
  217. package/lib/ui-kit/Button/GetButtonClassParams.d.ts +6 -0
  218. package/lib/ui-kit/Button/GetButtonClassParams.js +2 -0
  219. package/lib/ui-kit/Button/GetButtonClassParams.js.map +1 -0
  220. package/lib/ui-kit/Button/buttonClassNameConstants.d.ts +4 -0
  221. package/lib/ui-kit/Button/buttonClassNameConstants.js +12 -0
  222. package/lib/ui-kit/Button/buttonClassNameConstants.js.map +1 -0
  223. package/lib/ui-kit/Button/getDisabledButtonClasses.d.ts +2 -0
  224. package/lib/ui-kit/Button/getDisabledButtonClasses.js +9 -0
  225. package/lib/ui-kit/Button/getDisabledButtonClasses.js.map +1 -0
  226. package/lib/ui-kit/Button/getRegularButtonClasses.d.ts +2 -0
  227. package/lib/ui-kit/Button/getRegularButtonClasses.js +9 -0
  228. package/lib/ui-kit/Button/getRegularButtonClasses.js.map +1 -0
  229. package/lib/ui-kit/CurrencyInput/CurrencyInput.d.ts +19 -0
  230. package/lib/ui-kit/CurrencyInput/CurrencyInput.js +19 -0
  231. package/lib/ui-kit/CurrencyInput/CurrencyInput.js.map +1 -0
  232. package/lib/ui-kit/InnerTable/InnerTable.js +1 -1
  233. package/lib/ui-kit/InnerTable/InnerTable.js.map +1 -1
  234. package/lib/ui-kit/InnerTable/InnerTableButton.js +2 -2
  235. package/lib/ui-kit/InnerTable/InnerTableButton.js.map +1 -1
  236. package/lib/ui-kit/InnerTable/InnerTableHeader.js +1 -1
  237. package/lib/ui-kit/InnerTable/InnerTableHeader.js.map +1 -1
  238. package/lib/ui-kit/InputRange/InputRange.js +1 -1
  239. package/lib/ui-kit/InputRange/InputRange.js.map +1 -1
  240. package/lib/ui-kit/Logo/Logo.js +1 -1
  241. package/lib/ui-kit/Logo/Logo.js.map +1 -1
  242. package/lib/ui-kit/Logo/Logo.mobile.js +1 -1
  243. package/lib/ui-kit/Logo/Logo.mobile.js.map +1 -1
  244. package/lib/ui-kit/Radio/Radio.js +1 -1
  245. package/lib/ui-kit/Radio/Radio.js.map +1 -1
  246. package/lib/ui-kit/Select/Select.js +1 -1
  247. package/lib/ui-kit/Select/Select.js.map +1 -1
  248. package/lib/ui-kit/Select/SelectOption.d.ts +1 -0
  249. package/lib/ui-kit/Select/SelectOption.js +2 -2
  250. package/lib/ui-kit/Select/SelectOption.js.map +1 -1
  251. package/mobile/bundle/bundle.umd.js +17 -16
  252. package/mobile/bundle/bundle.umd.min.js +1 -1
  253. package/mobile/dist/components/BlockContent.d.ts +5 -2
  254. package/mobile/dist/components/Calculator/BonusCalculatorForm.js +1 -1
  255. package/mobile/dist/components/Calculator/Calculator.js +6 -4
  256. package/mobile/dist/components/Calculator/Calculator.js.map +1 -1
  257. package/mobile/dist/components/Calculator/CalculatorContent.d.ts +7 -6
  258. package/mobile/dist/components/Calculator/CalculatorValueBlock.js +1 -1
  259. package/mobile/dist/components/Calculator/CalculatorValueBlock.js.map +1 -1
  260. package/mobile/dist/components/Calculator/CreditCalculatorForm.js +1 -1
  261. package/mobile/dist/components/Calculator/MortgageCalculatorForm.js +1 -3
  262. package/mobile/dist/components/Calculator/MortgageCalculatorForm.js.map +1 -1
  263. package/mobile/dist/components/Calculator/Rate.js +1 -1
  264. package/mobile/dist/components/Calculator/Rate.js.map +1 -1
  265. package/mobile/dist/components/Calculator/renderCalculatorBlock.js +2 -1
  266. package/mobile/dist/components/Calculator/renderCalculatorBlock.js.map +1 -1
  267. package/mobile/dist/components/Calculator/renderInitialFeeInput.js +1 -1
  268. package/mobile/dist/components/Calculator/renderMonthsInput.js +1 -1
  269. package/mobile/dist/components/Calculator/renderProposalMortgage.js +2 -1
  270. package/mobile/dist/components/Calculator/renderProposalMortgage.js.map +1 -1
  271. package/mobile/dist/components/CardTransfer/CardTransfer.d.ts +5 -0
  272. package/mobile/dist/components/CardTransfer/CardTransfer.js +28 -0
  273. package/mobile/dist/components/CardTransfer/CardTransfer.js.map +1 -0
  274. package/mobile/dist/components/CardTransfer/CardTransferContent.d.ts +10 -0
  275. package/mobile/dist/components/CardTransfer/CardTransferContent.js +2 -0
  276. package/mobile/dist/components/CardTransfer/CardTransferContent.js.map +1 -0
  277. package/mobile/dist/components/ErrorBlock/ErrorBlock.d.ts +5 -0
  278. package/mobile/dist/components/ErrorBlock/ErrorBlock.js +23 -0
  279. package/mobile/dist/components/ErrorBlock/ErrorBlock.js.map +1 -0
  280. package/mobile/dist/components/ErrorBlock/ErrorBlockContent.d.ts +35 -0
  281. package/mobile/dist/components/ErrorBlock/ErrorBlockContent.js +2 -0
  282. package/mobile/dist/components/ErrorBlock/ErrorBlockContent.js.map +1 -0
  283. package/mobile/dist/components/OfficeServicesBlock/OfficeServicesBlock.d.ts +5 -0
  284. package/mobile/dist/components/OfficeServicesBlock/OfficeServicesBlock.js +12 -0
  285. package/mobile/dist/components/OfficeServicesBlock/OfficeServicesBlock.js.map +1 -0
  286. package/mobile/dist/components/OfficeServicesBlock/OfficeServicesBlockContent.d.ts +24 -0
  287. package/mobile/dist/components/OfficeServicesBlock/OfficeServicesBlockContent.js +2 -0
  288. package/mobile/dist/components/OfficeServicesBlock/OfficeServicesBlockContent.js.map +1 -0
  289. package/mobile/dist/components/PictureText/PictureText.js +4 -4
  290. package/mobile/dist/components/PictureText/PictureText.js.map +1 -1
  291. package/mobile/dist/components/SafeDepositRental/RegionsAndBranches.d.ts +12 -0
  292. package/mobile/dist/components/SafeDepositRental/RegionsAndBranches.js +9 -0
  293. package/mobile/dist/components/SafeDepositRental/RegionsAndBranches.js.map +1 -0
  294. package/mobile/dist/components/SafeDepositRental/RenderRadioButtons.d.ts +2 -0
  295. package/mobile/dist/components/SafeDepositRental/RenderRadioButtons.js +12 -0
  296. package/mobile/dist/components/SafeDepositRental/RenderRadioButtons.js.map +1 -0
  297. package/mobile/dist/components/SafeDepositRental/RentalPeriod.d.ts +6 -0
  298. package/mobile/dist/components/SafeDepositRental/RentalPeriod.js +10 -0
  299. package/mobile/dist/components/SafeDepositRental/RentalPeriod.js.map +1 -0
  300. package/mobile/dist/components/SafeDepositRental/SafeBoxCases.d.ts +11 -0
  301. package/mobile/dist/components/SafeDepositRental/SafeBoxCases.js +9 -0
  302. package/mobile/dist/components/SafeDepositRental/SafeBoxCases.js.map +1 -0
  303. package/mobile/dist/components/SafeDepositRental/SafeDepositRental.js +5 -71
  304. package/mobile/dist/components/SafeDepositRental/SafeDepositRental.js.map +1 -1
  305. package/mobile/dist/components/SafeDepositRental/SafeDepositRentalContent.d.ts +17 -0
  306. package/mobile/dist/components/SafeDepositRental/SafeDepositRentalForm.d.ts +5 -5
  307. package/mobile/dist/components/SafeDepositRental/SafeDepositRentalForm.js +51 -67
  308. package/mobile/dist/components/SafeDepositRental/SafeDepositRentalForm.js.map +1 -1
  309. package/mobile/dist/components/SafeDepositRental/SafeDepositRentalTotal.d.ts +5 -7
  310. package/mobile/dist/components/SafeDepositRental/SafeDepositRentalTotal.js +16 -11
  311. package/mobile/dist/components/SafeDepositRental/SafeDepositRentalTotal.js.map +1 -1
  312. package/mobile/dist/components/SafeDepositRental/WrapperSelect.d.ts +11 -0
  313. package/mobile/dist/components/SafeDepositRental/WrapperSelect.js +10 -0
  314. package/mobile/dist/components/SafeDepositRental/WrapperSelect.js.map +1 -0
  315. package/mobile/dist/components/SafeDepositRental/fetchBranches.d.ts +2 -0
  316. package/mobile/dist/components/SafeDepositRental/fetchBranches.js +20 -0
  317. package/mobile/dist/components/SafeDepositRental/fetchBranches.js.map +1 -0
  318. package/mobile/dist/components/SafeDepositRental/useGetRegions.d.ts +6 -0
  319. package/mobile/dist/components/SafeDepositRental/useGetRegions.js +11 -0
  320. package/mobile/dist/components/SafeDepositRental/useGetRegions.js.map +1 -0
  321. package/mobile/dist/components/TariffsTable/TariffsTableRowContainer.js +3 -3
  322. package/mobile/dist/components/TariffsTable/TariffsTableRowContainer.js.map +1 -1
  323. package/mobile/dist/components/TariffsTable/dataFixture.js +1 -0
  324. package/mobile/dist/components/TariffsTable/dataFixture.js.map +1 -1
  325. package/mobile/dist/icons/IconName.d.ts +12 -12
  326. package/mobile/dist/icons/IconName.js +10 -10
  327. package/mobile/dist/icons/IconName.js.map +1 -1
  328. package/mobile/dist/ui-kit/BenefitItem/BenefitItem.d.ts +1 -1
  329. package/mobile/dist/ui-kit/BenefitItem/BenefitItem.js +3 -2
  330. package/mobile/dist/ui-kit/BenefitItem/BenefitItem.js.map +1 -1
  331. package/mobile/dist/ui-kit/Button/GetButtonClassParams.d.ts +6 -0
  332. package/mobile/dist/ui-kit/Button/GetButtonClassParams.js +2 -0
  333. package/mobile/dist/ui-kit/Button/GetButtonClassParams.js.map +1 -0
  334. package/mobile/dist/ui-kit/Button/buttonClassNameConstants.d.ts +4 -0
  335. package/mobile/dist/ui-kit/Button/buttonClassNameConstants.js +14 -0
  336. package/mobile/dist/ui-kit/Button/buttonClassNameConstants.js.map +1 -0
  337. package/mobile/dist/ui-kit/Button/getDisabledButtonClasses.d.ts +2 -0
  338. package/mobile/dist/ui-kit/Button/getDisabledButtonClasses.js +12 -0
  339. package/mobile/dist/ui-kit/Button/getDisabledButtonClasses.js.map +1 -0
  340. package/mobile/dist/ui-kit/Button/getRegularButtonClasses.d.ts +2 -0
  341. package/mobile/dist/ui-kit/Button/getRegularButtonClasses.js +12 -0
  342. package/mobile/dist/ui-kit/Button/getRegularButtonClasses.js.map +1 -0
  343. package/mobile/dist/ui-kit/CurrencyInput/CurrencyInput.d.ts +19 -0
  344. package/mobile/dist/ui-kit/CurrencyInput/CurrencyInput.js +21 -0
  345. package/mobile/dist/ui-kit/CurrencyInput/CurrencyInput.js.map +1 -0
  346. package/mobile/dist/ui-kit/InnerTable/InnerTable.js +1 -1
  347. package/mobile/dist/ui-kit/InnerTable/InnerTable.js.map +1 -1
  348. package/mobile/dist/ui-kit/InnerTable/InnerTableButton.js +2 -2
  349. package/mobile/dist/ui-kit/InnerTable/InnerTableButton.js.map +1 -1
  350. package/mobile/dist/ui-kit/InnerTable/InnerTableHeader.js +1 -1
  351. package/mobile/dist/ui-kit/InnerTable/InnerTableHeader.js.map +1 -1
  352. package/mobile/dist/ui-kit/InputRange/InputRange.js +1 -1
  353. package/mobile/dist/ui-kit/InputRange/InputRange.js.map +1 -1
  354. package/mobile/dist/ui-kit/Logo/Logo.js +1 -1
  355. package/mobile/dist/ui-kit/Logo/Logo.js.map +1 -1
  356. package/mobile/dist/ui-kit/Radio/Radio.js +1 -1
  357. package/mobile/dist/ui-kit/Radio/Radio.js.map +1 -1
  358. package/mobile/dist/ui-kit/Select/Select.js +1 -1
  359. package/mobile/dist/ui-kit/Select/Select.js.map +1 -1
  360. package/mobile/dist/ui-kit/Select/SelectOption.d.ts +1 -0
  361. package/mobile/dist/ui-kit/Select/SelectOption.js +2 -2
  362. package/mobile/dist/ui-kit/Select/SelectOption.js.map +1 -1
  363. package/mobile/lib/components/BlockContent.d.ts +5 -2
  364. package/mobile/lib/components/Calculator/BonusCalculatorForm.js +1 -1
  365. package/mobile/lib/components/Calculator/Calculator.js +6 -4
  366. package/mobile/lib/components/Calculator/Calculator.js.map +1 -1
  367. package/mobile/lib/components/Calculator/CalculatorContent.d.ts +7 -6
  368. package/mobile/lib/components/Calculator/CalculatorValueBlock.js +1 -1
  369. package/mobile/lib/components/Calculator/CalculatorValueBlock.js.map +1 -1
  370. package/mobile/lib/components/Calculator/CreditCalculatorForm.js +1 -1
  371. package/mobile/lib/components/Calculator/MortgageCalculatorForm.js +1 -3
  372. package/mobile/lib/components/Calculator/MortgageCalculatorForm.js.map +1 -1
  373. package/mobile/lib/components/Calculator/Rate.js +1 -1
  374. package/mobile/lib/components/Calculator/Rate.js.map +1 -1
  375. package/mobile/lib/components/Calculator/renderCalculatorBlock.js +3 -2
  376. package/mobile/lib/components/Calculator/renderCalculatorBlock.js.map +1 -1
  377. package/mobile/lib/components/Calculator/renderInitialFeeInput.js +1 -1
  378. package/mobile/lib/components/Calculator/renderMonthsInput.js +1 -1
  379. package/mobile/lib/components/Calculator/renderProposalMortgage.js +2 -1
  380. package/mobile/lib/components/Calculator/renderProposalMortgage.js.map +1 -1
  381. package/mobile/lib/components/CardTransfer/CardTransfer.d.ts +5 -0
  382. package/mobile/lib/components/CardTransfer/CardTransfer.js +26 -0
  383. package/mobile/lib/components/CardTransfer/CardTransfer.js.map +1 -0
  384. package/mobile/lib/components/CardTransfer/CardTransferContent.d.ts +10 -0
  385. package/mobile/lib/components/CardTransfer/CardTransferContent.js +2 -0
  386. package/mobile/lib/components/CardTransfer/CardTransferContent.js.map +1 -0
  387. package/mobile/lib/components/ErrorBlock/ErrorBlock.d.ts +5 -0
  388. package/mobile/lib/components/ErrorBlock/ErrorBlock.js +21 -0
  389. package/mobile/lib/components/ErrorBlock/ErrorBlock.js.map +1 -0
  390. package/mobile/lib/components/ErrorBlock/ErrorBlockContent.d.ts +35 -0
  391. package/mobile/lib/components/ErrorBlock/ErrorBlockContent.js +2 -0
  392. package/mobile/lib/components/ErrorBlock/ErrorBlockContent.js.map +1 -0
  393. package/mobile/lib/components/OfficeServicesBlock/OfficeServicesBlock.d.ts +5 -0
  394. package/mobile/lib/components/OfficeServicesBlock/OfficeServicesBlock.js +10 -0
  395. package/mobile/lib/components/OfficeServicesBlock/OfficeServicesBlock.js.map +1 -0
  396. package/mobile/lib/components/OfficeServicesBlock/OfficeServicesBlockContent.d.ts +24 -0
  397. package/mobile/lib/components/OfficeServicesBlock/OfficeServicesBlockContent.js +2 -0
  398. package/mobile/lib/components/OfficeServicesBlock/OfficeServicesBlockContent.js.map +1 -0
  399. package/mobile/lib/components/PictureText/PictureText.js +4 -4
  400. package/mobile/lib/components/PictureText/PictureText.js.map +1 -1
  401. package/mobile/lib/components/SafeDepositRental/RegionsAndBranches.d.ts +12 -0
  402. package/mobile/lib/components/SafeDepositRental/RegionsAndBranches.js +7 -0
  403. package/mobile/lib/components/SafeDepositRental/RegionsAndBranches.js.map +1 -0
  404. package/mobile/lib/components/SafeDepositRental/RenderRadioButtons.d.ts +2 -0
  405. package/mobile/lib/components/SafeDepositRental/RenderRadioButtons.js +10 -0
  406. package/mobile/lib/components/SafeDepositRental/RenderRadioButtons.js.map +1 -0
  407. package/mobile/lib/components/SafeDepositRental/RentalPeriod.d.ts +6 -0
  408. package/mobile/lib/components/SafeDepositRental/RentalPeriod.js +8 -0
  409. package/mobile/lib/components/SafeDepositRental/RentalPeriod.js.map +1 -0
  410. package/mobile/lib/components/SafeDepositRental/SafeBoxCases.d.ts +11 -0
  411. package/mobile/lib/components/SafeDepositRental/SafeBoxCases.js +7 -0
  412. package/mobile/lib/components/SafeDepositRental/SafeBoxCases.js.map +1 -0
  413. package/mobile/lib/components/SafeDepositRental/SafeDepositRental.js +5 -71
  414. package/mobile/lib/components/SafeDepositRental/SafeDepositRental.js.map +1 -1
  415. package/mobile/lib/components/SafeDepositRental/SafeDepositRentalContent.d.ts +17 -0
  416. package/mobile/lib/components/SafeDepositRental/SafeDepositRentalForm.d.ts +5 -5
  417. package/mobile/lib/components/SafeDepositRental/SafeDepositRentalForm.js +50 -65
  418. package/mobile/lib/components/SafeDepositRental/SafeDepositRentalForm.js.map +1 -1
  419. package/mobile/lib/components/SafeDepositRental/SafeDepositRentalTotal.d.ts +5 -7
  420. package/mobile/lib/components/SafeDepositRental/SafeDepositRentalTotal.js +16 -10
  421. package/mobile/lib/components/SafeDepositRental/SafeDepositRentalTotal.js.map +1 -1
  422. package/mobile/lib/components/SafeDepositRental/WrapperSelect.d.ts +11 -0
  423. package/mobile/lib/components/SafeDepositRental/WrapperSelect.js +8 -0
  424. package/mobile/lib/components/SafeDepositRental/WrapperSelect.js.map +1 -0
  425. package/mobile/lib/components/SafeDepositRental/fetchBranches.d.ts +2 -0
  426. package/mobile/lib/components/SafeDepositRental/fetchBranches.js +17 -0
  427. package/mobile/lib/components/SafeDepositRental/fetchBranches.js.map +1 -0
  428. package/mobile/lib/components/SafeDepositRental/useGetRegions.d.ts +6 -0
  429. package/mobile/lib/components/SafeDepositRental/useGetRegions.js +8 -0
  430. package/mobile/lib/components/SafeDepositRental/useGetRegions.js.map +1 -0
  431. package/mobile/lib/components/TariffsTable/TariffsTableRowContainer.js +3 -3
  432. package/mobile/lib/components/TariffsTable/TariffsTableRowContainer.js.map +1 -1
  433. package/mobile/lib/components/TariffsTable/dataFixture.js +1 -0
  434. package/mobile/lib/components/TariffsTable/dataFixture.js.map +1 -1
  435. package/mobile/lib/icons/IconName.d.ts +12 -12
  436. package/mobile/lib/icons/IconName.js +10 -10
  437. package/mobile/lib/icons/IconName.js.map +1 -1
  438. package/mobile/lib/ui-kit/BenefitItem/BenefitItem.d.ts +1 -1
  439. package/mobile/lib/ui-kit/BenefitItem/BenefitItem.js +3 -2
  440. package/mobile/lib/ui-kit/BenefitItem/BenefitItem.js.map +1 -1
  441. package/mobile/lib/ui-kit/Button/GetButtonClassParams.d.ts +6 -0
  442. package/mobile/lib/ui-kit/Button/GetButtonClassParams.js +2 -0
  443. package/mobile/lib/ui-kit/Button/GetButtonClassParams.js.map +1 -0
  444. package/mobile/lib/ui-kit/Button/buttonClassNameConstants.d.ts +4 -0
  445. package/mobile/lib/ui-kit/Button/buttonClassNameConstants.js +12 -0
  446. package/mobile/lib/ui-kit/Button/buttonClassNameConstants.js.map +1 -0
  447. package/mobile/lib/ui-kit/Button/getDisabledButtonClasses.d.ts +2 -0
  448. package/mobile/lib/ui-kit/Button/getDisabledButtonClasses.js +9 -0
  449. package/mobile/lib/ui-kit/Button/getDisabledButtonClasses.js.map +1 -0
  450. package/mobile/lib/ui-kit/Button/getRegularButtonClasses.d.ts +2 -0
  451. package/mobile/lib/ui-kit/Button/getRegularButtonClasses.js +9 -0
  452. package/mobile/lib/ui-kit/Button/getRegularButtonClasses.js.map +1 -0
  453. package/mobile/lib/ui-kit/CurrencyInput/CurrencyInput.d.ts +19 -0
  454. package/mobile/lib/ui-kit/CurrencyInput/CurrencyInput.js +19 -0
  455. package/mobile/lib/ui-kit/CurrencyInput/CurrencyInput.js.map +1 -0
  456. package/mobile/lib/ui-kit/InnerTable/InnerTable.js +1 -1
  457. package/mobile/lib/ui-kit/InnerTable/InnerTable.js.map +1 -1
  458. package/mobile/lib/ui-kit/InnerTable/InnerTableButton.js +2 -2
  459. package/mobile/lib/ui-kit/InnerTable/InnerTableButton.js.map +1 -1
  460. package/mobile/lib/ui-kit/InnerTable/InnerTableHeader.js +1 -1
  461. package/mobile/lib/ui-kit/InnerTable/InnerTableHeader.js.map +1 -1
  462. package/mobile/lib/ui-kit/InputRange/InputRange.js +1 -1
  463. package/mobile/lib/ui-kit/InputRange/InputRange.js.map +1 -1
  464. package/mobile/lib/ui-kit/Logo/Logo.js +1 -1
  465. package/mobile/lib/ui-kit/Logo/Logo.js.map +1 -1
  466. package/mobile/lib/ui-kit/Radio/Radio.js +1 -1
  467. package/mobile/lib/ui-kit/Radio/Radio.js.map +1 -1
  468. package/mobile/lib/ui-kit/Select/Select.js +1 -1
  469. package/mobile/lib/ui-kit/Select/Select.js.map +1 -1
  470. package/mobile/lib/ui-kit/Select/SelectOption.d.ts +1 -0
  471. package/mobile/lib/ui-kit/Select/SelectOption.js +2 -2
  472. package/mobile/lib/ui-kit/Select/SelectOption.js.map +1 -1
  473. package/mobile/src/common.css +1 -1
  474. package/mobile/src/components/BlockContent.ts +8 -2
  475. package/mobile/src/components/Calculator/BonusCalculatorForm.tsx +1 -1
  476. package/mobile/src/components/Calculator/Calculator.tsx +6 -4
  477. package/mobile/src/components/Calculator/CalculatorContent.ts +11 -6
  478. package/mobile/src/components/Calculator/CalculatorValueBlock.tsx +1 -1
  479. package/mobile/src/components/Calculator/CreditCalculatorForm.tsx +1 -1
  480. package/mobile/src/components/Calculator/MortgageCalculatorForm.tsx +2 -8
  481. package/mobile/src/components/Calculator/Rate.tsx +3 -3
  482. package/mobile/src/components/Calculator/renderCalculatorBlock.tsx +2 -0
  483. package/mobile/src/components/Calculator/renderInitialFeeInput.tsx +1 -1
  484. package/mobile/src/components/Calculator/renderMonthsInput.tsx +1 -1
  485. package/mobile/src/components/Calculator/renderProposalMortgage.tsx +7 -2
  486. package/mobile/src/components/CardTransfer/CardTransfer.tsx +59 -0
  487. package/mobile/src/components/CardTransfer/CardTransferContent.ts +10 -0
  488. package/mobile/src/components/ContentPage/ContentPage.page.json +4 -0
  489. package/mobile/src/components/ErrorBlock/ErrorBlock.example.json +13 -0
  490. package/mobile/src/components/ErrorBlock/ErrorBlock.tsx +45 -0
  491. package/mobile/src/components/ErrorBlock/ErrorBlockContent.ts +38 -0
  492. package/mobile/src/components/OfficeServicesBlock/OfficeServicesBlock.example.json +33 -0
  493. package/mobile/src/components/OfficeServicesBlock/OfficeServicesBlock.tsx +41 -0
  494. package/mobile/src/components/OfficeServicesBlock/OfficeServicesBlockContent.ts +26 -0
  495. package/mobile/src/components/PictureText/PictureText.tsx +6 -6
  496. package/mobile/src/components/SafeDepositRental/RegionsAndBranches.tsx +50 -0
  497. package/mobile/src/components/SafeDepositRental/RenderRadioButtons.tsx +29 -0
  498. package/mobile/src/components/SafeDepositRental/RentalPeriod.tsx +18 -0
  499. package/mobile/src/components/SafeDepositRental/SafeBoxCases.tsx +48 -0
  500. package/mobile/src/components/SafeDepositRental/SafeDepositRental.tsx +8 -78
  501. package/mobile/src/components/SafeDepositRental/SafeDepositRentalContent.ts +21 -0
  502. package/mobile/src/components/SafeDepositRental/SafeDepositRentalForm.tsx +86 -143
  503. package/mobile/src/components/SafeDepositRental/SafeDepositRentalTotal.tsx +24 -16
  504. package/mobile/src/components/SafeDepositRental/WrapperSelect.tsx +45 -0
  505. package/mobile/src/components/SafeDepositRental/fetchBranches.ts +21 -0
  506. package/mobile/src/components/SafeDepositRental/useGetRegions.ts +16 -0
  507. package/mobile/src/components/TariffsTable/TariffsTableRowContainer.tsx +9 -4
  508. package/mobile/src/components/TariffsTable/dataFixture.ts +5 -4
  509. package/mobile/src/components/__snapshots__/Blocks.spec.tsx.snap +98 -73
  510. package/mobile/src/icons/{AirPlane.svg → AirPlaneIcon.svg} +0 -0
  511. package/mobile/src/icons/{DocDownload.svg → DocDownloadIcon.svg} +0 -0
  512. package/mobile/src/icons/IconName.ts +4 -4
  513. package/mobile/src/icons/{Logo.svg → LogoIcon.svg} +0 -0
  514. package/mobile/src/icons/{PackA4.svg → PackA4Icon.svg} +0 -0
  515. package/mobile/src/icons/{WateringCan.svg → WateringCanIcon.svg} +0 -0
  516. package/mobile/src/ui-kit/BenefitItem/BenefitItem.tsx +12 -9
  517. package/mobile/src/ui-kit/Button/GetButtonClassParams.ts +7 -0
  518. package/mobile/src/ui-kit/Button/buttonClassNameConstants.ts +16 -0
  519. package/mobile/src/ui-kit/Button/getDisabledButtonClasses.ts +15 -0
  520. package/mobile/src/ui-kit/Button/getRegularButtonClasses.ts +15 -0
  521. package/mobile/src/ui-kit/CurrencyInput/CurrencyInput.tsx +70 -0
  522. package/mobile/src/ui-kit/InnerTable/InnerTable.tsx +1 -1
  523. package/mobile/src/ui-kit/InnerTable/InnerTableButton.tsx +2 -2
  524. package/mobile/src/ui-kit/InnerTable/InnerTableHeader.tsx +1 -1
  525. package/mobile/src/ui-kit/InputRange/InputRange.tsx +1 -1
  526. package/mobile/src/ui-kit/Logo/Logo.tsx +1 -1
  527. package/mobile/src/ui-kit/Radio/Radio.tsx +1 -1
  528. package/mobile/src/ui-kit/Select/Select.tsx +1 -0
  529. package/mobile/src/ui-kit/Select/SelectOption.tsx +3 -2
  530. package/package.json +1 -1
  531. package/src/common.css +1 -1
  532. package/src/components/BlockContent.ts +8 -2
  533. package/src/components/Blocks.ts +6 -0
  534. package/src/components/BonusBenefitsBlock/BonusBenefitsBlock.fixture.tsx +2 -2
  535. package/src/components/Calculator/BonusCalculatorForm.tsx +1 -1
  536. package/src/components/Calculator/Calculator.fixture.tsx +1 -0
  537. package/src/components/Calculator/Calculator.tsx +6 -4
  538. package/src/components/Calculator/CalculatorContent.ts +11 -6
  539. package/src/components/Calculator/CalculatorValueBlock.tsx +1 -1
  540. package/src/components/Calculator/CreditCalculatorForm.tsx +1 -1
  541. package/src/components/Calculator/MortgageCalculatorForm.tsx +2 -8
  542. package/src/components/Calculator/Rate.tsx +3 -3
  543. package/src/components/Calculator/renderCalculatorBlock.tsx +2 -0
  544. package/src/components/Calculator/renderInitialFeeInput.tsx +1 -1
  545. package/src/components/Calculator/renderMonthsInput.tsx +1 -1
  546. package/src/components/Calculator/renderProposalMortgage.tsx +7 -2
  547. package/src/components/CardTransfer/CardTransfer.fixture.tsx +6 -0
  548. package/src/components/CardTransfer/CardTransfer.tsx +59 -0
  549. package/src/components/CardTransfer/CardTransferContent.ts +10 -0
  550. package/src/components/ContentPage/ContentPage.page.json +4 -0
  551. package/src/components/ErrorBlock/ErrorBlock.example.json +13 -0
  552. package/src/components/ErrorBlock/ErrorBlock.fixture.tsx +53 -0
  553. package/src/components/ErrorBlock/ErrorBlock.tsx +45 -0
  554. package/src/components/ErrorBlock/ErrorBlockContent.ts +38 -0
  555. package/src/components/OfficeServicesBlock/OfficeServicesBlock.example.json +33 -0
  556. package/src/components/OfficeServicesBlock/OfficeServicesBlock.fixture.tsx +44 -0
  557. package/src/components/OfficeServicesBlock/OfficeServicesBlock.tsx +41 -0
  558. package/src/components/OfficeServicesBlock/OfficeServicesBlockContent.ts +26 -0
  559. package/src/components/PictureText/PictureText.fixture.tsx +1 -1
  560. package/src/components/PictureText/PictureText.tsx +6 -6
  561. package/src/components/SafeDepositRental/RegionsAndBranches.tsx +50 -0
  562. package/src/components/SafeDepositRental/RenderRadioButtons.tsx +29 -0
  563. package/src/components/SafeDepositRental/RentalPeriod.tsx +18 -0
  564. package/src/components/SafeDepositRental/SafeBoxCases.tsx +48 -0
  565. package/src/components/SafeDepositRental/SafeDepositRental.fixture.tsx +1 -0
  566. package/src/components/SafeDepositRental/SafeDepositRental.tsx +8 -78
  567. package/src/components/SafeDepositRental/SafeDepositRentalContent.ts +21 -0
  568. package/src/components/SafeDepositRental/SafeDepositRentalForm.tsx +86 -143
  569. package/src/components/SafeDepositRental/SafeDepositRentalTotal.tsx +24 -16
  570. package/src/components/SafeDepositRental/WrapperSelect.tsx +45 -0
  571. package/src/components/SafeDepositRental/fetchBranches.ts +21 -0
  572. package/src/components/SafeDepositRental/useGetRegions.ts +16 -0
  573. package/src/components/TariffsTable/EmbeddableCellData.tsx +3 -2
  574. package/src/components/TariffsTable/TariffsTableRowContainer.tsx +9 -4
  575. package/src/components/TariffsTable/dataFixture.ts +5 -4
  576. package/src/components/__snapshots__/Blocks.spec.tsx.snap +98 -73
  577. package/src/icons/{AirPlane.svg → AirPlaneIcon.svg} +0 -0
  578. package/src/icons/{DocDownload.svg → DocDownloadIcon.svg} +0 -0
  579. package/src/icons/IconName.ts +16 -16
  580. package/src/icons/{Logo.svg → LogoIcon.svg} +0 -0
  581. package/src/icons/{PackA4.svg → PackA4Icon.svg} +0 -0
  582. package/src/icons/{WateringCan.svg → WateringCanIcon.svg} +0 -0
  583. package/src/ui-kit/BenefitItem/BenefitItem.tsx +12 -9
  584. package/src/ui-kit/Button/Button.tsx +6 -34
  585. package/src/ui-kit/Button/GetButtonClassParams.ts +7 -0
  586. package/src/ui-kit/Button/buttonClassNameConstants.ts +16 -0
  587. package/src/ui-kit/Button/getDisabledButtonClasses.ts +15 -0
  588. package/src/ui-kit/Button/getRegularButtonClasses.ts +15 -0
  589. package/src/ui-kit/CurrencyInput/CurrencyInput.tsx +70 -0
  590. package/src/ui-kit/InnerTable/InnerTable.tsx +1 -1
  591. package/src/ui-kit/InnerTable/InnerTableButton.tsx +2 -2
  592. package/src/ui-kit/InnerTable/InnerTableHeader.tsx +1 -1
  593. package/src/ui-kit/InputRange/InputRange.tsx +1 -1
  594. package/src/ui-kit/Logo/Logo.mobile.tsx +1 -1
  595. package/src/ui-kit/Logo/Logo.tsx +1 -1
  596. package/src/ui-kit/Radio/Radio.tsx +1 -1
  597. package/src/ui-kit/Select/Select.tsx +1 -0
  598. package/src/ui-kit/Select/SelectOption.tsx +3 -2
  599. package/mobile/src/components/SafeDepositRental/SafeDepositRental.example.json +0 -3
  600. package/src/components/SafeDepositRental/SafeDepositRental.example.json +0 -3
@@ -297,7 +297,7 @@
297
297
  var IconMap;
298
298
  (function (IconMap) {
299
299
  IconMap["ActualBalanceIcon"] = "ActualBalanceIcon";
300
- IconMap["AirPlane"] = "AirPlane";
300
+ IconMap["AirPlaneIcon"] = "AirPlaneIcon";
301
301
  IconMap["AppleIcon"] = "AppleIcon";
302
302
  IconMap["ArrowDownIcon"] = "ArrowDownIcon";
303
303
  IconMap["ArrowLeftIcon"] = "ArrowLeftIcon";
@@ -321,7 +321,7 @@
321
321
  IconMap["ComfortableCompIcon"] = "ComfortableCompIcon";
322
322
  IconMap["CreditCardsIcon"] = "CreditCardsIcon";
323
323
  IconMap["DiscountShapeIcon"] = "DiscountShapeIcon";
324
- IconMap["DocDownload"] = "DocDownload";
324
+ IconMap["DocDownloadIcon"] = "DocDownloadIcon";
325
325
  IconMap["DocIcon"] = "DocIcon";
326
326
  IconMap["DocIconMonoColor"] = "DocIconMonoColor";
327
327
  IconMap["DocsIcon"] = "DocsIcon";
@@ -340,7 +340,7 @@
340
340
  IconMap["InterestGrowthIcon"] = "InterestGrowthIcon";
341
341
  IconMap["InterestIcon"] = "InterestIcon";
342
342
  IconMap["JCBIcon"] = "JCBIcon";
343
- IconMap["Logo"] = "Logo";
343
+ IconMap["LogoIcon"] = "LogoIcon";
344
344
  IconMap["LoupeIcon"] = "LoupeIcon";
345
345
  IconMap["MasterCardIcon"] = "MasterCardIcon";
346
346
  IconMap["MinusIcon"] = "MinusIcon";
@@ -351,7 +351,7 @@
351
351
  IconMap["NewDocIcon"] = "NewDocIcon";
352
352
  IconMap["OfficeIcon"] = "OfficeIcon";
353
353
  IconMap["OkIcon"] = "OkIcon";
354
- IconMap["PackA4"] = "PackA4";
354
+ IconMap["PackA4Icon"] = "PackA4Icon";
355
355
  IconMap["PassSendIcon"] = "PassSendIcon";
356
356
  IconMap["PercentageRoundIcon"] = "PercentageRoundIcon";
357
357
  IconMap["PercentageSquareIcon"] = "PercentageSquareIcon";
@@ -378,12 +378,12 @@
378
378
  IconMap["WalletAddIcon"] = "WalletAddIcon";
379
379
  IconMap["WalletIcon"] = "WalletIcon";
380
380
  IconMap["WalletWithMoneyIcon"] = "WalletWithMoneyIcon";
381
- IconMap["WateringCan"] = "WateringCan";
381
+ IconMap["WateringCanIcon"] = "WateringCanIcon";
382
382
  })(IconMap || (IconMap = {}));
383
383
  var IconTitleMap;
384
384
  (function (IconTitleMap) {
385
385
  IconTitleMap["ActualBalanceIcon"] = "\u0414\u0435\u043D\u044C\u0433\u0438";
386
- IconTitleMap["AirPlane"] = "\u0421\u0430\u043C\u043E\u043B\u0435\u0442";
386
+ IconTitleMap["AirPlaneIcon"] = "\u0421\u0430\u043C\u043E\u043B\u0435\u0442";
387
387
  IconTitleMap["AppleIcon"] = "\u041B\u043E\u0433\u043E \u00ABApple\u00BB";
388
388
  IconTitleMap["ArrowDownIcon"] = "\u0421\u0442\u0440\u0435\u043B\u043A\u0430 '\u0412\u043D\u0438\u0437'";
389
389
  IconTitleMap["ArrowLeftIcon"] = "\u0421\u0442\u0440\u0435\u043B\u043A\u0430";
@@ -407,7 +407,7 @@
407
407
  IconTitleMap["ComfortableCompIcon"] = "\u041A\u0440\u0435\u0441\u043B\u043E";
408
408
  IconTitleMap["CreditCardsIcon"] = "\u041A\u0440\u0435\u0434\u0438\u0442\u043D\u044B\u0435 \u043A\u0430\u0440\u0442\u044B";
409
409
  IconTitleMap["DiscountShapeIcon"] = "\u0421\u043A\u0438\u0434\u043A\u0430";
410
- IconTitleMap["DocDownload"] = "\u0421\u043A\u0430\u0447\u0430\u0442\u044C \u0434\u043E\u043A\u0443\u043C\u0435\u043D\u0442";
410
+ IconTitleMap["DocDownloadIcon"] = "\u0421\u043A\u0430\u0447\u0430\u0442\u044C \u0434\u043E\u043A\u0443\u043C\u0435\u043D\u0442";
411
411
  IconTitleMap["DocIcon"] = "\u0414\u043E\u043A\u0443\u043C\u0435\u043D\u0442";
412
412
  IconTitleMap["DocIconMonoColor"] = "\u0414\u043E\u043A\u0443\u043C\u0435\u043D\u0442 (\u043E\u0434\u043D\u043E\u0446\u0432\u0435\u0442\u043D\u044B\u0439)";
413
413
  IconTitleMap["DocsIcon"] = "\u0414\u043E\u043A\u0443\u043C\u0435\u043D\u0442\u044B";
@@ -426,7 +426,7 @@
426
426
  IconTitleMap["InterestGrowthIcon"] = "\u0414\u0438\u0430\u0433\u0440\u0430\u043C\u043C\u0430 \u0440\u043E\u0441\u0442\u0430";
427
427
  IconTitleMap["InterestIcon"] = "\u0421\u043A\u0438\u0434\u043A\u0430";
428
428
  IconTitleMap["JCBIcon"] = "JCB";
429
- IconTitleMap["Logo"] = "Logo";
429
+ IconTitleMap["LogoIcon"] = "Logo";
430
430
  IconTitleMap["LoupeIcon"] = "\u041B\u0443\u043F\u0430";
431
431
  IconTitleMap["MasterCardIcon"] = "MasterCard";
432
432
  IconTitleMap["MinusIcon"] = "\u041C\u0438\u043D\u0443\u0441";
@@ -437,7 +437,7 @@
437
437
  IconTitleMap["NewDocIcon"] = "\u041D\u043E\u0432\u044B\u0439 \u0434\u043E\u043A\u0443\u043C\u0435\u043D\u0442";
438
438
  IconTitleMap["OfficeIcon"] = "\u041E\u0444\u0438\u0441";
439
439
  IconTitleMap["OkIcon"] = "\u041B\u043E\u0433\u043E \u00AB\u041E\u0434\u043D\u043E\u043A\u043B\u0430\u0441\u0441\u043D\u0438\u043A\u0438\u00BB";
440
- IconTitleMap["PackA4"] = "PackA4";
440
+ IconTitleMap["PackA4Icon"] = "PackA4Icon";
441
441
  IconTitleMap["PassSendIcon"] = "\u0411\u0438\u0437\u043D\u0435\u0441";
442
442
  IconTitleMap["PercentageRoundIcon"] = "\u041F\u0440\u043E\u0446\u0435\u043D\u0442\u044B (\u043A\u0440\u0443\u0433.)";
443
443
  IconTitleMap["PercentageSquareIcon"] = "\u041F\u0440\u043E\u0446\u0435\u043D\u0442\u044B";
@@ -464,7 +464,7 @@
464
464
  IconTitleMap["WalletAddIcon"] = "\u041A\u043E\u0448\u0435\u043B\u0451\u043A \u0441 \u043F\u043B\u044E\u0441\u043E\u043C";
465
465
  IconTitleMap["WalletIcon"] = "\u041A\u043E\u0448\u0435\u043B\u0451\u043A";
466
466
  IconTitleMap["WalletWithMoneyIcon"] = "\u041A\u043E\u0448\u0435\u043B\u0451\u043A \u0441 \u0434\u0435\u043D\u044C\u0433\u0430\u043C\u0438";
467
- IconTitleMap["WateringCan"] = "\u0414\u043E\u0431\u0430\u0432\u0438\u0442\u044C \u043F\u0440\u043E\u0434\u0443\u043A\u0442";
467
+ IconTitleMap["WateringCanIcon"] = "\u0414\u043E\u0431\u0430\u0432\u0438\u0442\u044C \u043F\u0440\u043E\u0434\u0443\u043A\u0442";
468
468
  })(IconTitleMap || (IconTitleMap = {}));
469
469
 
470
470
  const svgUseStyleMap = {
@@ -633,6 +633,11 @@
633
633
  return (jsxs(BlockWrapper, { className: `font-sans text-primary-text p-[50px] bg-white ${className}`, context: context, ...rest, children: [jsx(Headline, { className: "!p-0", title: title, description: description, context: context, align: align, headlineVersion: "M", as: "h2" }), jsx(LinkDocsList, { className: `mt-8 ${linkColumnsModeStyleMap[columnsMode]}`, columnsMode: columnsMode, documents: documents, icon: icon })] }));
634
634
  });
635
635
 
636
+ const VersionStyleMap = {
637
+ primary: 'bg-white text-primary-text',
638
+ secondary: 'bg-primary-main text-white',
639
+ };
640
+
636
641
  const titleStyleMap = {
637
642
  primary: 'text-primary-text',
638
643
  secondary: 'text-white',
@@ -644,7 +649,8 @@
644
649
  const BenefitItem = JSX((props) => {
645
650
  const { className = '', icon, label, description, version = 'primary', benefitsVersion = 'normal', } = props;
646
651
  const isIconWhite = benefitsVersion === 'white' || version === 'secondary';
647
- return (jsxs("div", { className: `flex items-start gap-5 ${className}`, children: [icon ? (jsx(Img, { className: renderBenefitIconBgStyle(version, benefitsVersion), image: { ...icon, iconVersion: isIconWhite ? 'white' : 'normal' }, asSVG: true })) : null, jsxs("div", { className: "gap-0.5", children: [label ? jsx("div", { className: `text-h6 ${titleStyleMap[version]}`, children: label }) : null, description ? (jsx("div", { className: `text-m-light ${descStyleMap[version]}`, children: description })) : null] })] }));
652
+ const listItemAlign = description ? 'items-start' : 'items-center';
653
+ return (jsxs("div", { className: `flex gap-5 ${listItemAlign} ${className}`, children: [icon ? (jsx("div", { className: renderBenefitIconBgStyle(version, benefitsVersion), children: jsx(Img, { className: "w-[24px] h-[24px]", image: { ...icon, iconVersion: isIconWhite ? 'white' : 'normal' }, asSVG: true }) })) : null, jsxs("div", { className: "gap-0.5", children: [label ? jsx("div", { className: `text-h6 ${titleStyleMap[version]}`, children: label }) : null, description ? (jsx("div", { className: `text-m-light ${descStyleMap[version]}`, children: description })) : null] })] }));
648
654
  });
649
655
  function renderBenefitIconBgStyle(version, benefitsVersion) {
650
656
  let bgColorStyle = 'bg-primary-main text-black';
@@ -654,18 +660,13 @@
654
660
  else if (benefitsVersion === 'normal') {
655
661
  bgColorStyle = 'bg-secondary-light text-primary-main';
656
662
  }
657
- return `w-[50px] h-[50px] min-w-[50px] rounded-full p-[10px] box-border ${bgColorStyle}`;
663
+ return `w-[50px] h-[50px] min-w-[50px] rounded-full p-[10px] box-border flex items-center justify-center ${bgColorStyle}`;
658
664
  }
659
665
 
660
666
  const addSpacesBetweenNumbers = (number) => new Intl.NumberFormat('ru-RU', { maximumSignificantDigits: 3 }).format(number);
661
667
 
662
- const VersionStyleMap = {
663
- primary: 'bg-white text-primary-text',
664
- secondary: 'bg-primary-main text-white',
665
- };
666
-
667
668
  const PictureText = JSX(({ className = '', context, title, description, image, benefits, version = 'primary', sum, monthLimit, directionRight = false, ...rest }) => {
668
- return (jsxs(BlockWrapper, { className: `relative font-sans p-14 ${VersionStyleMap[version]} ${className}`, context: context, ...rest, children: [jsx(Headline, { context: context, className: "!p-0", title: title, description: description, headlineVersion: "M", bgColorHeadline: version, align: "center" }), jsxs("div", { className: 'flex justify-center gap-[122px] mt-[30px]', children: [image?.src && jsx(Img, { className: directionRight ? 'order-2 ml-6' : 'mr-6', image: image }), jsxs("div", { className: "w-[558px] m-auto", children: [benefits?.length ? (jsx("div", { className: "flex flex-col gap-4", children: benefits.map(renderBenefit$2(version)) })) : null, renderInsuranceSumMonth(sum, monthLimit)] })] })] }));
669
+ return (jsxs(BlockWrapper, { className: `relative font-sans p-14 ${VersionStyleMap[version]} ${className}`, context: context, ...rest, children: [jsx(Headline, { context: context, className: "!p-0", title: title, description: description, headlineVersion: "M", bgColorHeadline: version, align: "center" }), jsxs("div", { className: 'flex justify-center gap-[122px] mt-[30px]', children: [image?.src ? jsx(Img, { className: directionRight ? 'order-2' : '', image: image }) : null, jsxs("div", { className: "w-[558px] m-auto", children: [benefits?.length ? (jsx("div", { className: "flex flex-col gap-4", children: benefits.map(renderBenefit$2(version)) })) : null, renderInsuranceSumMonth(sum, monthLimit)] })] })] }));
669
670
  });
670
671
  const renderBenefit$2 = (version) => (benefit, i) => (jsx(BenefitItem, { icon: benefit.icon, label: benefit.label, description: benefit.description, version: version }, String(i)));
671
672
  function renderInsuranceSumMonth(sum, monthLimit) {
@@ -787,16 +788,33 @@
787
788
  link: '',
788
789
  };
789
790
  const buttonStyle = 'text-center font-sans select-none';
791
+
792
+ const getRegularButtonClasses = ({ className, rounded, version, }) => [
793
+ buttonStyle,
794
+ 'border border-transparent inline-block cursor-pointer no-underline focus:border-primary-focus focus:border',
795
+ version ? buttonStyleMap[version] : '',
796
+ rounded ? 'rounded-full' : 'rounded-md',
797
+ className,
798
+ ].join(' ');
799
+
800
+ const getDisabledButtonClasses = ({ className, rounded, version, }) => [
801
+ 'inline-block',
802
+ buttonStyle,
803
+ version ? buttonDisabledStyleMap[version] : '',
804
+ rounded ? 'rounded-full' : 'rounded-md',
805
+ className,
806
+ ].join(' ');
807
+
790
808
  const Button = JSX((props) => {
791
809
  const { text, aboveText, appendLeft, appendRight, children, disabled, rounded, ...rest } = props;
792
810
  const buttonInner = children ?? (jsx(ButtonInner, { text: text, aboveText: aboveText, appendLeft: appendLeft, appendRight: appendRight, rounded: rounded }));
793
811
  return disabled ? (jsx(DisabledButton, { rounded: rounded, ...rest, children: buttonInner })) : (jsx(RegularButton, { rounded: rounded, ...rest, children: buttonInner }));
794
812
  });
795
- const RegularButton = JSX(({ className = '', ariaLabel, version = 'none', rounded, href, target, children, onClick, ...rest }) => {
796
- return (jsx("a", { className: `${buttonStyle} border border-transparent inline-block cursor-pointer no-underline focus:border-primary-focus focus:border ${buttonStyleMap[version] || ''} ${rounded ? 'rounded-full' : 'rounded-md'} ${className}`, href: href, target: target, onClick: onClick, "aria-label": ariaLabel, role: href ? 'link' : 'button', ...rest, children: children }));
813
+ const RegularButton = JSX(({ className = '', ariaLabel, version, rounded, href, target, children, onClick, ...rest }) => {
814
+ return (jsx("a", { className: getRegularButtonClasses({ className, version, rounded }), href: href, target: target, onClick: onClick, "aria-label": ariaLabel, role: href ? 'link' : 'button', ...rest, children: children }));
797
815
  });
798
- const DisabledButton = JSX(({ className, children, ariaLabel, version = 'none', rounded }) => {
799
- return (jsx("div", { role: "button", "aria-disabled": "true", "aria-label": ariaLabel, tabIndex: -1, className: `inline-block ${buttonStyle} ${buttonDisabledStyleMap[version] || ''} ${rounded ? 'rounded-full' : 'rounded-md'} ${className || ''}`, children: children }));
816
+ const DisabledButton = JSX(({ className, children, ariaLabel, version, rounded }) => {
817
+ return (jsx("div", { role: "button", "aria-disabled": "true", "aria-label": ariaLabel, tabIndex: -1, className: getDisabledButtonClasses({ className, rounded, version }), children: children }));
800
818
  });
801
819
 
802
820
  const ButtonSection = JSX(({ context, className = '', buttons }) => {
@@ -1218,7 +1236,7 @@
1218
1236
  };
1219
1237
 
1220
1238
  const CalculatorValueBlock = JSX(({ title, value, postfix = '', prefix, className = '' }) => {
1221
- return (jsxs("div", { className: `mb-5 ${className}`, children: [title ? jsx("div", { className: "text-l-light", children: title }) : null, value ? (jsxs("div", { className: "text-h3", children: [prefix, " ", addSpacesBetweenNumbers(Math.round(value)), " ", postfix] })) : null] }));
1239
+ return (jsxs("div", { className: `mb-5 ${className}`, children: [title ? jsx("div", { className: "text-l-light text-secondary-text", children: title }) : null, value ? (jsxs("div", { className: "text-h3", children: [prefix, " ", addSpacesBetweenNumbers(Math.round(value)), " ", postfix] })) : null] }));
1222
1240
  });
1223
1241
 
1224
1242
  const DEFAULT_MIN_SUM = 60000;
@@ -1258,7 +1276,7 @@
1258
1276
  const CREDIT_CALC_DEFAULT_DIR = 'credit-calculator-data';
1259
1277
  const BONUS_CALC_DEFAULT_DIR = 'bonus-calculator-data';
1260
1278
 
1261
- const Rate = JSX(({ rate, title = 'Ставка', unit, rateBlockClassName }) => (jsxs("div", { children: [jsx("div", { className: "text-l-light ml-3", children: title }), jsxs("div", { className: "flex justify-start", children: [jsx("span", { className: `block calc-rate-text font-mohave text-title-huge pr-6 -mt-4 ${rateBlockClassName}`, children: String(rate).replace('.', ',') }), unit ? jsx("span", { className: "calc-rate-text text-[65px] leading-[75px]", children: unit }) : ''] })] })));
1279
+ const Rate = JSX(({ rate, title = 'Ставка', unit, rateBlockClassName }) => (jsxs("div", { children: [jsx("div", { className: "text-l-light text-secondary-text", children: title }), jsxs("div", { className: "flex justify-start", children: [jsx("span", { className: `block gradient-color-text font-mohave text-title-huge pr-6 -mt-4 ${rateBlockClassName}`, children: String(rate).replace('.', ',') }), unit ? jsx("span", { className: "gradient-color-text text-[65px] leading-[75px]", children: unit }) : ''] })] })));
1262
1280
 
1263
1281
  function renderButtonSection(context, buttons) {
1264
1282
  return buttons?.length ? (jsx(ButtonSection, { context: context, buttons: buttons, className: "flex flex-col mt-7 gap-2" })) : null;
@@ -1287,7 +1305,7 @@
1287
1305
  onChange(max);
1288
1306
  }
1289
1307
  };
1290
- return (jsxs("div", { className: className, children: [jsxs("label", { className: "block relative", children: [title ? jsx("span", { className: "text-m font-light", children: title }) : null, jsx("input", { className: `m-0 mt-2 font-sans text-h3 w-full h-14 border border-solid border-main-stroke rounded-md
1308
+ return (jsxs("div", { className: className, children: [jsxs("label", { className: "block relative", children: [title ? jsx("span", { className: "text-m-light", children: title }) : null, jsx("input", { className: `m-0 mt-2 font-sans text-h3 w-full h-14 border border-solid border-main-stroke rounded-md
1291
1309
  outline-none p-0 pl-4 box-border text-primary-text hover:border-primary-hover focus:border-primary-focus ${DISABLED_INPUT_CLASSES}`, value: addSpacesBetweenNumbers(value), disabled: disabled, onChange: (e) => handleChange(e.target.value), onBlur: handleBlur }), jsx("div", { className: "absolute inset-x-0 -bottom-1 px-4 leading-[18px]", children: jsx("input", { className: "box-border w-full m-0 cursor-pointer slider", type: "range", min: min, max: max, step: step, value: value, disabled: disabled, onChange: (e) => handleChange(e.target.value), style: inputStyle }) })] }), jsx("div", { className: "flex justify-between my-2", children: items.map((item, i) => (jsx("span", { className: "text-s-light text-secondary-text", children: item }, String(i)))) })] }));
1292
1310
  });
1293
1311
 
@@ -1421,7 +1439,7 @@
1421
1439
  step: 500,
1422
1440
  isShowItems: false,
1423
1441
  }, setTravelExpenseValue), renderWantedSumInput('Сумма покупок в остальных категориях, ₽', {
1424
- className: 'mt-6',
1442
+ className: 'mt-7',
1425
1443
  minSum: minSumOther,
1426
1444
  maxSum: maxSumOther,
1427
1445
  moneyValue: restExpenseValue,
@@ -1458,7 +1476,7 @@
1458
1476
  const text = Number(month) % 10 === 1 ? 'месяца' : 'месяцев';
1459
1477
  return `${month} ${text}`;
1460
1478
  };
1461
- return (jsx(InputRange, { className: "mt-6", title: title, items: [`От ${monthText(minMonths)}`, `До ${monthText(maxMonths)}`], min: minMonths, max: maxMonths, step: STEP_MONTHS, value: clamp(monthsValue, minMonths, maxMonths), onChange: callback }));
1479
+ return (jsx(InputRange, { className: "mt-7", title: title, items: [`От ${monthText(minMonths)}`, `До ${monthText(maxMonths)}`], min: minMonths, max: maxMonths, step: STEP_MONTHS, value: clamp(monthsValue, minMonths, maxMonths), onChange: callback }));
1462
1480
  }
1463
1481
 
1464
1482
  const RadioButtonGroup = JSX(({ items, checkedItem, onChangeCheckedItem }) => {
@@ -1531,7 +1549,7 @@
1531
1549
  monthsValue,
1532
1550
  };
1533
1551
  const calculatorParams = useCreditCalculatorParams(userInputParams, sourceBookDir);
1534
- return (jsxs("section", { className: className, children: [jsxs("div", { className: "w-[468px]", children: [renderWantedSumInput('Сумма кредита, ₽', { ...calculatorParams, step: 500 }, setMoneyValue), renderMonthsInput('Срок кредита, месяцев', calculatorParams, setMonthsValue), jsxs("div", { className: "pt-7", children: [jsx(Checkbox, { text: "\u041F\u043E\u043B\u0443\u0447\u0430\u044E \u0437\u0430\u0440\u043F\u043B\u0430\u0442\u0443 \u043D\u0430 \u0441\u0447\u0451\u0442 \u0432 \u0420\u043E\u0441\u0441\u0435\u043B\u044C\u0445\u043E\u0437\u0431\u0430\u043D\u043A\u0435", checked: isSalaryClient, onChange: toggleIsSalaryClient }), jsx(Checkbox, { className: "mt-3", text: "\u0420\u0430\u0431\u043E\u0442\u0430\u044E \u0432 \u0431\u044E\u0434\u0436\u0435\u0442\u043D\u043E\u0439 \u043E\u0440\u0433\u0430\u043D\u0438\u0437\u0430\u0446\u0438\u0438", checked: isStateEmployee, onChange: toggleIsStateEmployee }), jsx(Checkbox, { className: "mt-3", text: "\u041A\u043E\u043C\u043F\u043B\u0435\u043A\u0441\u043D\u0430\u044F \u0441\u0442\u0440\u0430\u0445\u043E\u0432\u0430\u044F \u0437\u0430\u0449\u0438\u0442\u0430", checked: isInsurance, onChange: toggleIsInsurance })] })] }), jsx(Rate, { title: "\u0421\u0442\u0430\u0432\u043A\u0430", rate: calculatorParams.finalRate, rateBlockClassName: "tracking-[-25px]", unit: "%" }), jsxs("div", { className: "w-[351px]", children: [jsx(CalculatorValueBlock, { title: isAnnuity ? 'Ежемесячный платеж' : 'Платёж в первый месяц', value: calculatorParams.monthlyPayment, postfix: "\u20BD" }), renderPaymentTypeSelector(context, {
1552
+ return (jsxs("section", { className: className, children: [jsxs("div", { className: "w-[468px]", children: [renderWantedSumInput('Сумма кредита, ₽', { ...calculatorParams, step: 500 }, setMoneyValue), renderMonthsInput('Срок кредита, месяцев', calculatorParams, setMonthsValue), jsxs("div", { className: "mt-7", children: [jsx(Checkbox, { text: "\u041F\u043E\u043B\u0443\u0447\u0430\u044E \u0437\u0430\u0440\u043F\u043B\u0430\u0442\u0443 \u043D\u0430 \u0441\u0447\u0451\u0442 \u0432 \u0420\u043E\u0441\u0441\u0435\u043B\u044C\u0445\u043E\u0437\u0431\u0430\u043D\u043A\u0435", checked: isSalaryClient, onChange: toggleIsSalaryClient }), jsx(Checkbox, { className: "mt-3", text: "\u0420\u0430\u0431\u043E\u0442\u0430\u044E \u0432 \u0431\u044E\u0434\u0436\u0435\u0442\u043D\u043E\u0439 \u043E\u0440\u0433\u0430\u043D\u0438\u0437\u0430\u0446\u0438\u0438", checked: isStateEmployee, onChange: toggleIsStateEmployee }), jsx(Checkbox, { className: "mt-3", text: "\u041A\u043E\u043C\u043F\u043B\u0435\u043A\u0441\u043D\u0430\u044F \u0441\u0442\u0440\u0430\u0445\u043E\u0432\u0430\u044F \u0437\u0430\u0449\u0438\u0442\u0430", checked: isInsurance, onChange: toggleIsInsurance })] })] }), jsx(Rate, { title: "\u0421\u0442\u0430\u0432\u043A\u0430", rate: calculatorParams.finalRate, rateBlockClassName: "tracking-[-25px]", unit: "%" }), jsxs("div", { className: "w-[351px]", children: [jsx(CalculatorValueBlock, { title: isAnnuity ? 'Ежемесячный платеж' : 'Платёж в первый месяц', value: calculatorParams.monthlyPayment, postfix: "\u20BD" }), renderPaymentTypeSelector(context, {
1535
1553
  items: paymentTypeItems,
1536
1554
  checkedItem: isAnnuity ? ANNUITY : DIFFERENTIAL,
1537
1555
  onChange: (text) => toggleIsAnnuity(text === ANNUITY),
@@ -1570,14 +1588,15 @@
1570
1588
  const { moneyValue } = props;
1571
1589
  const minSum = DEFAULT_MIN_SUM;
1572
1590
  const maxSum = DEFAULT_MAX_SUM;
1573
- return (jsx(InputRange, { className: "mt-6", title: title, items: [
1591
+ return (jsx(InputRange, { className: "mt-7", title: title, items: [
1574
1592
  `От ${addSpacesBetweenNumbers(minSum)} рублей`,
1575
1593
  `До ${addSpacesBetweenNumbers(maxSum)} рублей`,
1576
1594
  ], min: minSum, max: maxSum, step: STEP_MONEY$1, value: moneyValue, onChange: callback }));
1577
1595
  }
1578
1596
 
1597
+ const monthlyPayment = 777777; // TODO: hardcode
1579
1598
  function renderProposalMortgage({ credit, period, taxRefund }) {
1580
- return (jsxs("div", { children: [jsx(CalculatorValueBlock, { title: "\u0421\u0443\u043C\u043C\u0430 \u043A\u0440\u0435\u0434\u0438\u0442\u0430", value: credit, postfix: "\u20BD" }), jsx(CalculatorValueBlock, { title: "\u0421\u0440\u043E\u043A", value: period, postfix: "\u043B\u0435\u0442" }), jsx(CalculatorValueBlock, { title: "\u041D\u0430\u043B\u043E\u0433\u043E\u0432\u044B\u0439 \u0432\u044B\u0447\u0435\u0442", value: taxRefund, postfix: "\u20BD" })] }));
1599
+ return (jsxs("div", { children: [jsxs("div", { className: "flex justify-between", children: [jsx(CalculatorValueBlock, { title: "\u0421\u0443\u043C\u043C\u0430 \u043A\u0440\u0435\u0434\u0438\u0442\u0430", value: credit, postfix: "\u20BD" }), jsx(CalculatorValueBlock, { title: "\u0421\u0440\u043E\u043A", value: period, postfix: "\u043B\u0435\u0442", className: "w-[120px]" })] }), jsx(CalculatorValueBlock, { title: "\u0415\u0436\u0435\u043C\u0435\u0441\u044F\u0447\u043D\u044B\u0439 \u043F\u043B\u0430\u0442\u0435\u0436", value: monthlyPayment, postfix: "\u20BD" }), jsx(CalculatorValueBlock, { title: "\u041D\u0430\u043B\u043E\u0433\u043E\u0432\u044B\u0439 \u0432\u044B\u0447\u0435\u0442", value: taxRefund, postfix: "\u20BD" })] }));
1581
1600
  }
1582
1601
 
1583
1602
  const STEP_MONEY = 1000;
@@ -1597,7 +1616,6 @@
1597
1616
  const minMonths = /*calculatorParams?.minMonths ||*/ DEFAULT_MIN_MONTHS;
1598
1617
  const maxMonths = /* calculatorParams?.maxMonths || */ DEFAULT_MAX_MONTHS;
1599
1618
  const rate = getCreditRate({ calculatorParams, isInsurance: isInsurance });
1600
- const monthlyPayment = 777777; // TODO: hardcode
1601
1619
  const proposalMortgageValue = { credit: 3892000, period: 15, taxRefund: 650000 }; // TODO: hardcode
1602
1620
  return (jsxs("section", { className: className, children: [jsxs("div", { className: "w-[468px]", children: [renderRealEstateValue('Стоимость недвижимости, ₽', { moneyValue }, setMoneyValue), renderInitialFeeInput('Первоначальный взнос, ₽', {
1603
1621
  moneyValue,
@@ -1605,7 +1623,7 @@
1605
1623
  minMonths,
1606
1624
  maxMonths,
1607
1625
  monthsValue,
1608
- }, setMonthsValue), jsxs("div", { className: "mt-7", children: [jsx(Checkbox, { text: "\u0421\u0442\u0440\u0430\u0445\u043E\u0432\u0430\u043D\u0438\u0435 \u0436\u0438\u0437\u043D\u0438", checked: isInsurance, onChange: toggleIsInsurance }), jsx(Checkbox, { className: "mt-4", text: "\u0421\u0442\u0440\u0430\u0445\u043E\u0432\u0430\u043D\u0438\u0435 \u0436\u0438\u0437\u043D\u0438, \u0437\u043B\u043E\u0440\u043E\u0432\u044C\u044F \u0438 \u0432\u0440\u0435\u043C\u0435\u043D\u043D\u043E\u0439 \u0443\u0442\u0440\u0430\u0442\u044B \u0442\u0440\u0443\u0434\u043E\u0441\u043F\u043E\u0441\u043E\u0431\u043D\u043E\u0441\u0442\u0438", checked: isFullInsurance, onChange: toggleIsFullInsurance })] })] }), jsxs("div", { children: [jsx(Rate, { rate: rate, rateBlockClassName: "tracking-[-25px]", unit: "%" }), jsx(CalculatorValueBlock, { title: "\u0415\u0436\u0435\u043C\u0435\u0441\u044F\u0447\u043D\u044B\u0439 \u043F\u043B\u0430\u0442\u0435\u0436", value: monthlyPayment, postfix: "\u20BD" })] }), jsxs("div", { children: [jsx("div", { className: "w-[351px]", children: renderProposalMortgage(proposalMortgageValue) }), renderButtonSection(context, buttons)] })] }));
1626
+ }, setMonthsValue), jsxs("div", { className: "mt-7", children: [jsx(Checkbox, { text: "\u0421\u0442\u0440\u0430\u0445\u043E\u0432\u0430\u043D\u0438\u0435 \u0436\u0438\u0437\u043D\u0438", checked: isInsurance, onChange: toggleIsInsurance }), jsx(Checkbox, { className: "mt-4", text: "\u0421\u0442\u0440\u0430\u0445\u043E\u0432\u0430\u043D\u0438\u0435 \u0436\u0438\u0437\u043D\u0438, \u0437\u0434\u043E\u0440\u043E\u0432\u044C\u044F \u0438 \u0432\u0440\u0435\u043C\u0435\u043D\u043D\u043E\u0439 \u0443\u0442\u0440\u0430\u0442\u044B \u0442\u0440\u0443\u0434\u043E\u0441\u043F\u043E\u0441\u043E\u0431\u043D\u043E\u0441\u0442\u0438", checked: isFullInsurance, onChange: toggleIsFullInsurance })] })] }), jsx(Rate, { rate: rate, rateBlockClassName: "tracking-[-25px]", unit: "%" }), jsxs("div", { children: [jsx("div", { className: "w-[351px]", children: renderProposalMortgage(proposalMortgageValue) }), renderButtonSection(context, buttons)] })] }));
1609
1627
  });
1610
1628
 
1611
1629
  const EmbeddableCalcBlocks = {
@@ -1621,7 +1639,7 @@
1621
1639
  return null;
1622
1640
  }
1623
1641
  const EmbeddedBlock = EmbeddableCalcBlocks[type];
1624
- return (jsx("section", { className: `box-border relative bg-white flex shrink-0 self-start basis-full ${className}`, role: "listitem", children: jsx("div", { className: "box-border p-9 w-full", children: jsx(EmbeddedBlock, { context: context, ...block, className: "flex justify-between" }) }) }, String(i)));
1642
+ return (jsx("section", { className: `box-border relative bg-white flex shrink-0 self-start basis-full ${className}`, role: "listitem", children: jsxs("div", { className: "box-border p-9 w-full", children: [block?.title ? jsx(Heading, { className: "text-center mb-6", title: block.title }) : null, jsx(EmbeddedBlock, { context: context, ...block, className: "flex justify-between" })] }) }, String(i)));
1625
1643
  };
1626
1644
 
1627
1645
  const Calculator = JSX(({ className = '', context, calculatorTabs = [], ...rest }) => {
@@ -1649,12 +1667,14 @@
1649
1667
  const isActiveBtn = i === activeSlideIndex;
1650
1668
  const btnClassName = isActiveBtn
1651
1669
  ? 'h-[88px] w-[387px] min-w-[387px] p-5 border-none bg-primary-main text-white'
1652
- : `h-[77px] w-[322px] min-w-[322px] px-5 py-4 ease-in duration-300 bg-white text-primary-text`;
1670
+ : `h-[77px] w-[328px] min-w-[328px] px-5 py-4 ease-in duration-300 bg-white text-primary-text`;
1653
1671
  const btnTitleClassName = isActiveBtn ? 'text-xl mb-1.5' : `text-l mb-[3px]`;
1654
- const btnDescClassName = isActiveBtn ? 'text-l font-light text-white' : `text-m font-light`;
1672
+ const btnDescClassName = isActiveBtn
1673
+ ? 'text-l-light text-white'
1674
+ : `text-m-light text-secondary-text`;
1655
1675
  const iconClassName = isActiveBtn ? '' : `text-primary-main`;
1656
- return (jsxs("button", { type: "button", onClick: onClick, "aria-label": tab?.title, className: `box-border font-sans relative border border-main-stroke cursor-pointer text-left border-b-0 flex hover:h-[88px]
1657
- ${btnClassName}`, children: [jsx(Img, { className: `h-[24px] w-[24px] min-w-[24px] min-h-[24px] mr-4 ${iconClassName}`, image: { ...tab?.icon, iconVersion: isActiveBtn ? 'white' : 'normal' }, width: "24", height: "24", asSVG: true }), jsxs("div", { className: "border-0", children: [jsx("div", { className: `${btnTitleClassName}`, children: tab?.title }), jsx("div", { className: `text-secondary-text ${btnDescClassName}`, children: tab.description })] })] }, String(i)));
1676
+ return (jsxs("button", { type: "button", onClick: onClick, "aria-label": tab?.title, className: `box-border relative border border-main-stroke cursor-pointer text-left border-b-0 flex hover:h-[88px]
1677
+ ${btnClassName}`, children: [jsx(Img, { className: `h-[24px] w-[24px] min-w-[24px] min-h-[24px] mr-4 ${iconClassName}`, image: { ...tab?.icon, iconVersion: isActiveBtn ? 'white' : 'normal' }, width: "24", height: "24", asSVG: true }), jsxs("div", { className: "border-0", children: [jsx("div", { className: `${btnTitleClassName}`, children: tab?.title }), jsx("div", { className: `${btnDescClassName}`, children: tab.description })] })] }, String(i)));
1658
1678
  }
1659
1679
  function renderTabs({ tabsShift, tabsNav, activeSlideIndex, setActiveSlideIndex }) {
1660
1680
  return (jsxs("div", { children: [jsx("div", { style: { transform: `translateX(-${tabsShift * 388}px)` }, className: "flex flex-col justify-end items-center h-[126px] pt-9 box-border duration-1000", children: jsx("div", { className: "w-full flex flex-nowrap items-end gap-2", children: tabsNav.map((tab, i) => renderNavButton$2({
@@ -1665,6 +1685,40 @@
1665
1685
  })) }) }), jsx("div", { className: "w-full h-2 bg-primary-main" })] }));
1666
1686
  }
1667
1687
 
1688
+ const CurrencyMap = {
1689
+ RUB: '₽',
1690
+ USD: '$',
1691
+ EUR: '€',
1692
+ };
1693
+ const CurrencyInput = JSX(({ className = '', label, currency = 'RUB', onChange, value = '', minValue = 0, maxValue = 300000, ...inputProps }) => {
1694
+ const handleChange = (e) => {
1695
+ if (!onChange) {
1696
+ return;
1697
+ }
1698
+ const newValue = e.target.value === '' ? '' : String(clamp(e.target.value, minValue, maxValue));
1699
+ onChange(newValue);
1700
+ };
1701
+ return (jsxs("div", { className: className, children: [label ? jsx("label", { className: "block text-m-light mb-2", children: label }) : null, jsxs("div", { className: "h-[56px] relative flex items-center", children: [jsx("input", { type: "number", className: "text-l pl-4 pr-8 w-full h-full rounded-md border border-solid border-main-stroke", onChange: handleChange, value: value, min: minValue, max: maxValue, ...inputProps }), jsx("span", { className: "text-xl-light absolute right-4", children: CurrencyMap[currency] })] })] }));
1702
+ });
1703
+
1704
+ const AMOUNT_KEY = 'amount';
1705
+ const INPUT_LABEL = 'Сумма перевода';
1706
+ const BUTTON_TEXT = 'Далее';
1707
+ const PLACEHOLDER = '1500';
1708
+ const TITLE = 'Укажите сумму перевода';
1709
+ const FORM_URL = 'https://www.rshb.ru/p2p/';
1710
+ const BUTTON_CLASS_PARAMS = {
1711
+ version: 'primary',
1712
+ className: 'w-full h-[56px] px-9 mt-6',
1713
+ };
1714
+ const CardTransfer = JSX(({ className = '', title = TITLE, ...rest }) => {
1715
+ const [value, setValue] = useState('');
1716
+ const isDisabled = !Number(value);
1717
+ return (jsxs(BlockWrapper, { className: `p-[50px] flex flex-col items-center font-sans bg-white ${className}`, ...rest, children: [title ? jsx(Heading, { className: "max-w-[684px] pb-9", headingType: "h2", title: title }) : null, jsxs("form", { className: "w-[468px]", method: "POST", action: FORM_URL, children: [jsx(CurrencyInput, { name: AMOUNT_KEY, value: value, onChange: setValue, placeholder: PLACEHOLDER, label: INPUT_LABEL }), jsx("button", { type: "submit", className: isDisabled
1718
+ ? getDisabledButtonClasses(BUTTON_CLASS_PARAMS)
1719
+ : getRegularButtonClasses(BUTTON_CLASS_PARAMS), disabled: isDisabled, children: BUTTON_TEXT })] })] }));
1720
+ });
1721
+
1668
1722
  const iconVersionMap = {
1669
1723
  default: 'normal',
1670
1724
  primary: 'white',
@@ -1932,11 +1986,11 @@
1932
1986
  background: `url('/icons/ArrowDownIcon.svg') no-repeat right 16px top 50%`,
1933
1987
  };
1934
1988
  const Select = JSX(({ className = '', id, name, children, value, onChange }) => {
1935
- return (jsx("select", { className: `appearance-none ${className}`, style: selectStyle, id: id, name: name || id, value: value, onChange: (e) => onChange(e.target.value), children: children }));
1989
+ return (jsx("select", { className: `appearance-none ${className}`, style: selectStyle, id: id, name: name || id, value: value, onChange: (e) => onChange(e.target.value), placeholder: "12321321312", children: children }));
1936
1990
  });
1937
1991
 
1938
- const SelectOption = JSX(({ className = '', value, selected, children }) => {
1939
- return (jsx("option", { className: className, value: `${value}`, selected: selected, children: children }));
1992
+ const SelectOption = JSX(({ className = '', value, selected, disabled = false, children }) => {
1993
+ return (jsx("option", { className: className, value: `${value}`, selected: selected, disabled: disabled, children: children }));
1940
1994
  });
1941
1995
 
1942
1996
  function renderInput(props) {
@@ -2037,7 +2091,7 @@
2037
2091
  transparent: 'text-white',
2038
2092
  };
2039
2093
  const Logo = JSX(({ className = '', href, logo, children = logo?.title, targetBlank, bgColor = 'bg-white', hideTitle, }) => {
2040
- return (jsxs("a", { className: `inline-flex items-center font-sans no-underline ${className}`, href: href || '/', target: targetBlank ? '_blank' : '_self', "aria-label": logo?.title || 'Россельхозбанк', children: [logo?.image?.src ? (jsx(Img, { image: logo.image, className: SVG_COLOR[bgColor], width: "40", height: "45", asSVG: true })) : (jsx(Img, { image: { icon: 'Logo', iconVersion: ICON_VERSION_MAP[bgColor] }, className: `${SVG_COLOR[bgColor]} w-10`, width: "40", height: "45", asSVG: true })), hideTitle ? null : renderTitle$1(children, bgColor, logo?.title)] }));
2094
+ return (jsxs("a", { className: `inline-flex items-center font-sans no-underline ${className}`, href: href || '/', target: targetBlank ? '_blank' : '_self', "aria-label": logo?.title || 'Россельхозбанк', children: [logo?.image?.src ? (jsx(Img, { image: logo.image, className: SVG_COLOR[bgColor], width: "40", height: "45", asSVG: true })) : (jsx(Img, { image: { icon: 'LogoIcon', iconVersion: ICON_VERSION_MAP[bgColor] }, className: `${SVG_COLOR[bgColor]} w-10`, width: "40", height: "45", asSVG: true })), hideTitle ? null : renderTitle$1(children, bgColor, logo?.title)] }));
2041
2095
  });
2042
2096
  const renderTitle$1 = (children, bgColor, title) => {
2043
2097
  const text = children || title || 'Россельхозбанк';
@@ -2455,6 +2509,11 @@
2455
2509
  .map((button, i) => (jsx(NavigationItem, { className: "first:rounded-tl-md first:rounded-bl-md last:rounded-tr-md last:rounded-br-md", isActive: button === activeButton, ...useLink({ router, handlerDecorator }, button) }, String(i)))) })) : null] }));
2456
2510
  });
2457
2511
 
2512
+ const OfficeServicesBlock = JSX(({ className = '', context, title, officesList, anchor = '' }) => {
2513
+ return (jsxs(BlockWrapper, { context: context, id: anchor, className: `font-sans bg-white p-12 flex flex-col ${className}`, children: [title ? jsx(Heading, { headingType: "h5", className: "mb-2.5", title: title }) : null, officesList?.length ? officesList.map(renderListItems) : null] }));
2514
+ });
2515
+ const renderListItems = (itemList, i) => (jsxs("li", { className: "flex mb-2.5 list-none", children: [itemList.icon ? (jsx(Img, { className: "mr-[14px] max-w-6 max-h-6", width: "24px", height: "24px", asSVG: true, image: itemList.icon })) : null, itemList.text ? jsx("span", { className: "text-l-light", children: itemList.text }) : null] }, `list_item_${String(i)}`));
2516
+
2458
2517
  const foldableBlockClassNames = 'transition-all duration-300 max-h-0 overflow-hidden';
2459
2518
  const useActiveHandler = ({ initialState = false }) => {
2460
2519
  const [isActive, setIsActive] = useState(initialState);
@@ -2619,162 +2678,130 @@
2619
2678
  }) }));
2620
2679
  };
2621
2680
 
2622
- 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 cursor-pointer", children: text }) : null] }) })));
2623
-
2624
- // TODO: Добавить типизацию
2625
- const SafeDepositRentalForm = JSX(({ cities, cellDimensions, cellOptions, days, setDays }) => {
2626
- return (jsxs("div", { className: "flex-1 mr-9", children: [cities.length ? jsx(CitiesOffices, { cities: cities }) : null, renderRentalPeriod(days, setDays), cellDimensions.length && cellOptions.length ? (jsx(DimensionsOptions, { cellDimensions: cellDimensions, cellOptions: cellOptions })) : null, jsx("span", { className: "text-secondary-text text-l-light", children: "\u0422\u0438\u043F \u0434\u043E\u0433\u043E\u0432\u043E\u0440\u0430" }), jsxs("div", { className: "flex justify-between items-center mt-5", children: [jsx(RadioButtons, {}), jsx(Button, { text: "\u041E\u0444\u0438\u0441\u044B \u043D\u0430 \u043A\u0430\u0440\u0442\u0435", version: "primary" })] })] }));
2627
- });
2628
- const CitiesOffices = JSX(({ cities }) => {
2629
- const [selectedCity, setSelectedCity] = useState(cities[0].city);
2630
- const setSelected = (_) => setSelectedCity(_);
2631
- const offices = cities.find((_) => _.city === selectedCity).offices;
2632
- return (jsxs("div", { className: "flex justify-between mb-6", children: [jsx("div", { className: "w-full mr-4", children: cities.length
2633
- ? renderSelect({
2634
- data: cities,
2635
- field: 'city',
2636
- selected: selectedCity,
2637
- setSelected,
2638
- label: 'Город',
2639
- })
2640
- : null }), jsx("div", { className: "w-full", children: offices.length
2641
- ? renderSelect({
2642
- data: offices,
2643
- field: 'office',
2644
- selected: offices[0],
2645
- setSelected,
2646
- label: 'Отделение',
2647
- })
2648
- : null })] }));
2681
+ const BRANCHES_URL = '/api/v1/safeboxes';
2682
+ async function fetchBranches(regionCode) {
2683
+ try {
2684
+ const response = await fetch(BRANCHES_URL + `?regionCode=${regionCode}`, {
2685
+ headers: {
2686
+ 'Content-Type': 'application/json',
2687
+ },
2688
+ });
2689
+ const result = await response.json();
2690
+ return Promise.resolve(result);
2691
+ }
2692
+ catch (err) {
2693
+ console.error(err);
2694
+ return Promise.reject();
2695
+ }
2696
+ }
2697
+
2698
+ const WrapperSelect = JSX(({ data, fieldLabel, fieldValue, selected, placeholder = 'Выберите значение', setSelected, label, }) => {
2699
+ return (jsxs("div", { children: [jsx("span", { className: "block text-m-light mb-2", children: label }), jsxs(Select, { className: `h-14 border border-gray p-4 rounded-md text-s w-full cursor-pointer ${!selected ? 'text-secondary-text' : ''}`, value: selected, onChange: (_) => setSelected(_), children: [jsx(SelectOption, { value: "", children: placeholder }), data.map((_, i) => (jsx(SelectOption, { value: _?.[fieldValue || fieldLabel], children: _?.[fieldLabel] }, String(i))))] })] }));
2649
2700
  });
2650
- const DimensionsOptions = JSX(({ cellDimensions, cellOptions }) => {
2651
- const [selectedDimension, setSelectedDimension] = useState(cellDimensions[0].dimension);
2652
- const [selectedOption, setSelectedOption] = useState(cellOptions[0].option);
2653
- return (jsxs("div", { className: "flex justify-between mb-6", children: [jsx("div", { className: "mr-4 w-full", children: cellDimensions.length
2654
- ? renderSelect({
2655
- data: cellDimensions,
2656
- field: 'dimension',
2657
- selected: selectedDimension,
2658
- setSelected: setSelectedDimension,
2659
- label: 'Размер ячейки',
2660
- })
2661
- : null }), jsx("div", { className: "w-full", children: cellOptions.length
2662
- ? renderSelect({
2663
- data: cellOptions,
2664
- field: 'option',
2665
- selected: selectedOption,
2666
- setSelected: setSelectedOption,
2667
- label: 'Параметры ячейки, мм (ВхШхД)',
2668
- })
2669
- : null })] }));
2701
+
2702
+ const RegionsAndBranches = JSX(({ regions = [], selectedRegion, onSelectedRegion: onSelectedRegion, branches = [], selectedBranch, onSelectedBranch, }) => {
2703
+ return (jsxs("div", { className: "flex justify-between mb-6", children: [jsx("div", { className: "w-full mr-4", children: jsx(WrapperSelect, { data: regions, fieldValue: "code", fieldLabel: "name", selected: selectedRegion, setSelected: onSelectedRegion, label: "\u0413\u043E\u0440\u043E\u0434" }) }), jsx("div", { className: "w-full", 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" }) })] }));
2670
2704
  });
2671
- const renderSelect = (props) => {
2672
- const { data, field, selected, setSelected, label } = props;
2673
- return (jsxs("div", { children: [jsx("span", { className: "block text-m-light mb-2", children: label }), jsx(Select, { className: "h-14 border border-gray p-4 rounded-md text-s w-full cursor-pointer", value: selected, onChange: (_) => setSelected(_), children: data.map((_, i) => (jsx(SelectOption, { value: _?.[field], children: _?.[field] }, String(i)))) })] }));
2674
- };
2675
- const renderRentalPeriod = (days, setDays) => {
2676
- const items = ['От 1 дня', 'До 365 дней'];
2677
- return (jsxs("div", { className: "mb-6", children: [jsx("span", { className: "block text-m-light 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 })] }));
2678
- };
2679
- // TODO: В качестве компонента не годится
2680
- const RadioButtons = JSX(() => {
2681
- const [selected, setSelected] = useState('option2');
2682
- const onChange = (_) => setSelected(_.target.value);
2683
- 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 })] }));
2705
+
2706
+ 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 shrink-0 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 cursor-pointer", children: text }) : null] }) })));
2707
+
2708
+ const RenderRadioButtons = JSX(() => {
2709
+ const [selectedOption, setSelectedOption] = useState('option1');
2710
+ const onChange = (_) => setSelectedOption(_.target.value);
2711
+ 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: 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 })] }));
2684
2712
  });
2685
2713
 
2686
- const SafeDepositRentalTotal = ({ days }) => {
2687
- const price = calculatePrice(days);
2688
- 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: "text-s-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"] })] })] }));
2689
- };
2714
+ const ITEMS = ['От 1 дня', 'До 365 дней'];
2715
+ const MIN = 1;
2716
+ const MAX = 365;
2717
+ const RentalPeriod = JSX(({ days, setDays }) => (jsxs("div", { className: "mb-6", children: [jsx("span", { className: "block text-m-light mb-[3px]", children: "\u0421\u0440\u043E\u043A \u0430\u0440\u0435\u043D\u0434\u044B" }), jsx(InputRange, { min: MIN, max: MAX, value: days, items: ITEMS, onChange: setDays })] })));
2718
+
2719
+ const SafeBoxCases = JSX(({ caseVolumes = [], selectedCaseVolume, onSelectedCaseVolume, safeBoxCases = [], selectedBoxSize, onSelectedBoxSize, }) => {
2720
+ return (jsxs("div", { className: "flex justify-between mb-6", children: [jsx("div", { className: "mr-4 w-full", children: jsx(WrapperSelect, { data: caseVolumes, fieldLabel: "volume", selected: selectedCaseVolume, setSelected: onSelectedCaseVolume, label: "\u0420\u0430\u0437\u043C\u0435\u0440", placeholder: "\u0412\u044B\u0431\u0435\u0440\u0438\u0442\u0435 \u0440\u0430\u0437\u043C\u0435\u0440" }) }), jsx("div", { className: "w-full", children: jsx(WrapperSelect, { data: safeBoxCases, fieldLabel: "safeBoxCasesSize", selected: selectedBoxSize, setSelected: onSelectedBoxSize, label: "\u041F\u0430\u0440\u0430\u043C\u0435\u0442\u0440\u044B \u044F\u0447\u0435\u0439\u043A\u0438, \u043C\u043C (\u0412\u0445\u0428\u0445\u0414)", placeholder: "\u0412\u044B\u0431\u0435\u0440\u0438\u0442\u0435 \u043F\u0430\u0440\u0430\u043C\u0435\u0442\u0440 \u044F\u0447\u0435\u0439\u043A\u0438" }) })] }));
2721
+ });
2722
+
2723
+ const SafeDepositRentalTotal = JSX(({ days, tariffs = [] }) => {
2724
+ const price = calculatePrice(days, tariffs);
2725
+ 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: 'PackA4Icon' }, width: "290", height: "257", asSVG: true }), jsxs("span", { className: "text-s-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"] })] })] }));
2726
+ });
2690
2727
  const renderTotal = (label, total, className = '') => {
2691
2728
  return (jsxs("div", { className: className, children: [jsx("span", { className: "block text-m-light mb-1", children: label }), jsx("span", { className: "text-h3", children: total })] }));
2692
2729
  };
2693
- const calculatePrice = (days) => {
2694
- let TariffType = 1;
2730
+ const calculatePrice = (days, tariffs) => {
2731
+ const tariffType = getTariffType(days);
2732
+ const tariffValue = tariffs?.find((_) => _.tariffType === String(tariffType))?.tariffValue || 0;
2733
+ return days * tariffValue;
2734
+ };
2735
+ const getTariffType = (days) => {
2736
+ let tariffType = 1;
2695
2737
  switch (true) {
2696
2738
  case days > 30 && days <= 90:
2697
- TariffType = 2;
2739
+ tariffType = 2;
2698
2740
  break;
2699
2741
  case days > 90 && days <= 180:
2700
- TariffType = 3;
2742
+ tariffType = 3;
2701
2743
  break;
2702
2744
  case days > 180 && days <= 365:
2703
- TariffType = 4;
2745
+ tariffType = 4;
2704
2746
  break;
2705
2747
  }
2706
- return days * TariffType;
2748
+ return tariffType;
2707
2749
  };
2708
2750
 
2709
2751
  const DEFAULT_DAYS = 26;
2710
- const DATA = {
2711
- cities: [
2712
- {
2713
- city: 'Москва',
2714
- offices: [
2715
- {
2716
- office: 'выберите отделение',
2717
- rate: null,
2718
- },
2719
- {
2720
- office: 'МоскваОфис1',
2721
- rate: 1,
2722
- },
2723
- {
2724
- office: 'МоскваОфис2',
2725
- rate: 2,
2726
- },
2727
- {
2728
- office: 'МоскваОфис3',
2729
- rate: 3,
2730
- },
2731
- ],
2732
- },
2733
- {
2734
- city: 'Краснодар',
2735
- offices: [
2736
- {
2737
- office: 'КраснодарОфис1',
2738
- rate: 2,
2739
- },
2740
- {
2741
- office: 'КраснодарОфис2',
2742
- rate: 4,
2743
- },
2744
- {
2745
- office: 'КраснодарОфис3',
2746
- rate: 6,
2747
- },
2748
- ],
2749
- },
2750
- ],
2751
- cellDimensions: [
2752
- {
2753
- dimension: 'маленькая',
2754
- },
2755
- {
2756
- dimension: 'средняя',
2757
- },
2758
- {
2759
- dimension: 'большая',
2760
- },
2761
- ],
2762
- cellOptions: [
2763
- {
2764
- option: '125x225x375',
2765
- },
2766
- {
2767
- option: '200x300x400',
2768
- },
2769
- {
2770
- option: '300x400x500',
2771
- },
2772
- ],
2773
- };
2774
- const SafeDepositRental = JSX(({ context, className = '', ...rest }) => {
2752
+ const SafeDepositRentalForm = JSX(({ regions }) => {
2753
+ const [selectedRegion, setSelectedRegion] = useState('');
2754
+ const [branches, setBranches] = useState([]);
2755
+ const [selectedBranch, setSelectedBranch] = useState('');
2756
+ const [selectedCaseVolume, setSelectedCaseVolume] = useState('');
2757
+ const [selectedBoxSize, setSelectedBoxSize] = useState('');
2775
2758
  const [days, setDays] = useState(DEFAULT_DAYS);
2776
- const data = DATA;
2777
- 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 })) : null, jsx(SafeDepositRentalTotal, { days: days })] }), jsx("p", { className: "text-s-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" })] }));
2759
+ useEffect(() => {
2760
+ setSelectedRegion(getInitialValueSelectedRegion(regions));
2761
+ }, [regions]);
2762
+ useEffect(() => {
2763
+ if (selectedRegion) {
2764
+ fetchBranches(selectedRegion).then((result) => {
2765
+ setBranches(result);
2766
+ });
2767
+ }
2768
+ else {
2769
+ setBranches([]);
2770
+ }
2771
+ setSelectedBranch('');
2772
+ setSelectedCaseVolume('');
2773
+ setSelectedBoxSize('');
2774
+ }, [regions, selectedRegion]);
2775
+ const onSelectedBranch = (value) => {
2776
+ setSelectedBranch(value);
2777
+ setSelectedCaseVolume('');
2778
+ setSelectedBoxSize('');
2779
+ };
2780
+ const onSelectedCaseVolume = (value) => {
2781
+ setSelectedCaseVolume(value);
2782
+ setSelectedBoxSize('');
2783
+ };
2784
+ const branch = getBranch(branches, selectedBranch);
2785
+ const caseVolumes = getCaseVolumes(branch?.safeBoxCaseVolumes);
2786
+ const safeBoxCases = getCaseVolume(branch?.safeBoxCaseVolumes, selectedCaseVolume)?.safeBoxCases;
2787
+ const tariffs = getTariffs(safeBoxCases, selectedBoxSize);
2788
+ return (jsxs("div", { className: "flex justify-between align-top mb-6", children: [jsxs("div", { className: "flex-1 mr-9", children: [jsx(RegionsAndBranches, { regions: regions, selectedRegion: selectedRegion, onSelectedRegion: setSelectedRegion, branches: branches, selectedBranch: selectedBranch, onSelectedBranch: onSelectedBranch }), jsx(RentalPeriod, { days: days, setDays: setDays }), jsx(SafeBoxCases, { caseVolumes: caseVolumes, selectedCaseVolume: selectedCaseVolume, onSelectedCaseVolume: onSelectedCaseVolume, safeBoxCases: safeBoxCases, selectedBoxSize: selectedBoxSize, onSelectedBoxSize: setSelectedBoxSize }), jsx("span", { className: "text-secondary-text text-l-light", children: "\u0422\u0438\u043F \u0434\u043E\u0433\u043E\u0432\u043E\u0440\u0430" }), jsxs("div", { className: "flex justify-between items-center mt-5", children: [jsx(RenderRadioButtons, {}), jsx(Button, { text: "\u041E\u0444\u0438\u0441\u044B \u043D\u0430 \u043A\u0430\u0440\u0442\u0435", version: "primary" })] })] }), jsx(SafeDepositRentalTotal, { days: days, tariffs: tariffs })] }));
2789
+ });
2790
+ const getInitialValueSelectedRegion = (regions) => regions?.find((_) => _.name === 'Москва')?.code || '';
2791
+ const getBranch = (branches, selectedBranch) => branches.find((_) => _.branchCode === selectedBranch);
2792
+ const getCaseVolumes = (safeBoxCaseVolumes) => safeBoxCaseVolumes?.length ? safeBoxCaseVolumes?.filter((_) => _?.safeBoxCases?.length) : [];
2793
+ const getCaseVolume = (caseVolumes, selectedCaseVolume) => caseVolumes?.find((_) => _.volume === selectedCaseVolume);
2794
+ const getTariffs = (safeBoxCases, selectedBoxSize) => safeBoxCases?.find((_) => _.safeBoxCasesSize === selectedBoxSize)?.tariffs;
2795
+
2796
+ const REGIONS_URL = '/api/v1/admin/regions';
2797
+ function useGetRegions() {
2798
+ const { data } = useAsyncData(REGIONS_URL, fetchJSONUnsafe);
2799
+ return data || [];
2800
+ }
2801
+
2802
+ const SafeDepositRental = JSX(({ title, context, className = '', ...rest }) => {
2803
+ const regions = useGetRegions();
2804
+ return (jsxs(BlockWrapper, { context: context, className: `bg-white px-8 py-12 ${className}`, ...rest, children: [title ? (jsx(Heading, { title: title, headingType: "h3", as: "h2", className: "mb-2.5 text-center" })) : null, jsx(SafeDepositRentalForm, { regions: regions }), jsx("p", { className: "text-s-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" })] }));
2778
2805
  });
2779
2806
 
2780
2807
  const checkIsIconRenderable = (icon) => Boolean(icon?.icon || icon?.src);
@@ -2903,9 +2930,9 @@
2903
2930
  const COLS_LENGTH_FOR_SCROLL = 2;
2904
2931
  const COLUMN_WIDTH$1 = 4 * 80 + 40; // w-80 + pl-10 = 360px
2905
2932
 
2906
- const TableInnerButton = JSX(({ isOpen, dataUrl, rowIdx, cellIdx, fieldIdx }) => {
2933
+ const TableInnerButton = JSX(({ isOpen, dataUrl, pdfUrl, rowIdx, cellIdx, fieldIdx }) => {
2907
2934
  const handleClick = () => {
2908
- EventBus.inst.fire('tariffInnerTable', { dataUrl, rowIdx, cellIdx, fieldIdx });
2935
+ EventBus.inst.fire('tariffInnerTable', { dataUrl, pdfUrl, rowIdx, cellIdx, fieldIdx });
2909
2936
  };
2910
2937
  return (jsxs(Button, { version: "primary", onClick: handleClick, className: "w-full flex items-center justify-center rounded-none py-5 ", children: [jsx("div", { className: "text-h4", children: isOpen ? 'Скрыть' : 'Показать ставки по вкладу' }), jsx(Icon, { name: isOpen ? 'ArrowUpIcon' : 'ArrowDownIcon', className: "ml-3", iconVersion: "white", width: "20", height: "20", asSVG: true })] }));
2911
2938
  });
@@ -2921,6 +2948,7 @@
2921
2948
  const renderListCellData = ({ isDotted, ...rest }) => (jsx(List, { className: "flex flex-col justify-between items-start text-sm", version: "gray", isDotted: isDotted ?? true, ...rest }));
2922
2949
  const renderTableCellData = JSX((props) => {
2923
2950
  const [showBtn, setShowBtn] = useState(true);
2951
+ console.log(props);
2924
2952
  const tariffInnerTableSubscriber = (event) => {
2925
2953
  const _showBtn = ['rowIdx', 'cellIdx', 'fieldIdx'].every((key) => props[key] === event[key]);
2926
2954
  setShowBtn(!_showBtn);
@@ -3005,22 +3033,22 @@
3005
3033
  }) }));
3006
3034
  });
3007
3035
 
3008
- const InnerTableHeader = JSX(({ currencies, linkToPDF, activeTabIndex, setActiveTabIndex }) => (jsxs("div", { className: "flex justify-between w-full pt-2.5 pb-3", children: [currencies && currencies.length > 1 ? (jsx("div", { className: "flex bg-secondary-light p-1 rounded-md", children: currencies.map((currency, idx) => (jsx("div", { className: `rounded-md text-xl-light px-4 py-3 cursor-pointer ${idx === activeTabIndex ? 'bg-primary-main text-white' : 'text-secondary-text'}`, onClick: () => setActiveTabIndex(idx), children: currency || idx + 1 }, currency))) })) : null, linkToPDF ? (jsxs(Button, { href: linkToPDF, version: "secondary", className: "flex justify-center items-center text-l-light text-primary-main px-8", children: [jsx(Img, { image: "DocDownload", className: "mr-[10px]", width: "24", height: "24", asSVG: true }), jsx("span", { children: "\u0421\u043A\u0430\u0447\u0430\u0442\u044C \u0432 PDF" })] })) : null] })));
3036
+ const InnerTableHeader = JSX(({ currencies, linkToPDF, activeTabIndex, setActiveTabIndex }) => (jsxs("div", { className: "flex justify-between w-full pt-2.5 pb-3", children: [currencies && currencies.length > 1 ? (jsx("div", { className: "flex bg-secondary-light p-1 rounded-md", children: currencies.map((currency, idx) => (jsx("div", { className: `rounded-md text-xl-light px-4 py-3 cursor-pointer ${idx === activeTabIndex ? 'bg-primary-main text-white' : 'text-secondary-text'}`, onClick: () => setActiveTabIndex(idx), children: currency || idx + 1 }, currency))) })) : null, linkToPDF ? (jsxs(Button, { href: linkToPDF, version: "secondary", className: "flex justify-center items-center text-l-light text-primary-main px-8", children: [jsx(Img, { image: "DocDownloadIcon", className: "mr-[10px]", width: "24", height: "24", asSVG: true }), jsx("span", { children: "\u0421\u043A\u0430\u0447\u0430\u0442\u044C \u0432 PDF" })] })) : null] })));
3009
3037
 
3010
3038
  const InnerTable = JSX(({ context, dataUrl, pdfUrl }) => {
3011
3039
  const { tableData } = useTariffsInnerTableData(dataUrl);
3012
3040
  const [activeTabIndex, setActiveTabIndex] = useState(0);
3013
3041
  const items = tableData?.[activeTabIndex]?.items ?? [];
3014
3042
  const currencies = tableData?.map((item) => item.currency ?? '');
3015
- return tableData ? (jsxs("div", { className: "bg-white z-10 pr-[50px]", children: [jsx(InnerTableHeader, { currencies: currencies, activeTabIndex: activeTabIndex, setActiveTabIndex: setActiveTabIndex, linkToPDF: pdfUrl }), jsx(InnerTableBody, { context: context, activeTabIndex: activeTabIndex, items: items }), jsx(TableInnerButton, { context: context, isOpen: true })] })) : null;
3043
+ return tableData ? (jsxs("div", { className: "bg-white z-10", children: [jsx(InnerTableHeader, { currencies: currencies, activeTabIndex: activeTabIndex, setActiveTabIndex: setActiveTabIndex, linkToPDF: pdfUrl }), jsx(InnerTableBody, { context: context, activeTabIndex: activeTabIndex, items: items }), jsx(TableInnerButton, { context: context, isOpen: true })] })) : null;
3016
3044
  });
3017
3045
 
3018
3046
  const TariffsTableRowContainer = JSX(({ context, children, rowIdx }) => {
3019
- const [dataUrl, setDataUrl] = useState(undefined);
3047
+ const [tableInnerData, setTableInnerData] = useState(undefined);
3020
3048
  useEffect(() => EventBus.inst.subscribe('tariffInnerTable', (event) => {
3021
- setDataUrl(rowIdx === event.rowIdx ? event.dataUrl : undefined);
3049
+ setTableInnerData(rowIdx === event.rowIdx ? { dataUrl: event.dataUrl, pdfUrl: event.pdfUrl } : undefined);
3022
3050
  }), [rowIdx]);
3023
- return (jsxs("div", { className: "self-start flex flex-col", role: "row", children: [jsx("div", { className: "flex", children: children }), dataUrl ? (jsx("div", { className: "origin-top animate-expansion", children: jsx(InnerTable, { context: context, dataUrl: dataUrl }) })) : null] }));
3051
+ return (jsxs("div", { className: "self-start flex flex-col", role: "row", children: [jsx("div", { className: "flex", children: children }), tableInnerData ? (jsx("div", { className: "origin-top animate-expansion", children: jsx(InnerTable, { context: context, ...tableInnerData }) })) : null] }));
3024
3052
  });
3025
3053
 
3026
3054
  const TariffsTableRow = JSX(({ row: { header, data }, activeCardIndex, isLastRow, context, rowIdx }) => {
@@ -3049,10 +3077,26 @@
3049
3077
  return (jsxs("div", { role: "table", children: [jsxs("div", { className: "relative", children: [children, jsx(TableArrowScrollControl, { ...tableArrowScrollControlProps })] }), isScrollAvailable ? (jsx("div", { className: "absolute top-0 right-0 bottom-0 w-[84px] bg-opacity-to-white" })) : null] }));
3050
3078
  });
3051
3079
 
3080
+ const renderErrorContent = (error) => {
3081
+ if (error?.errorContentType === 'Image' && error?.image) {
3082
+ return jsx(Img, { className: "mb-7", image: error.image });
3083
+ }
3084
+ if (error?.errorContentType === 'Code' && error.code) {
3085
+ return jsx("div", { className: "text-title-extra gradient-color-text", children: error.code });
3086
+ }
3087
+ return null;
3088
+ };
3089
+ const ErrorBlock = JSX(({ context, className = '', title, subtitle, error, button }) => {
3090
+ const { useRouter, handlerDecorator } = context;
3091
+ const router = useRouter();
3092
+ return (jsxs("section", { className: `flex flex-col justify-center items-center ${className}`, role: "listitem", children: [jsx("div", { className: "flex justify-center mb-7", children: renderErrorContent(error) }), title ? jsx(Heading, { headingType: "h1", className: "text-left mb-4", title: title }) : null, subtitle ? jsx("div", { className: "text-xl-light text-left mb-7", children: subtitle }) : null, button?.text ? (jsx(Button, { className: "py-4 px-9", version: button?.version, ...useLink({ router, handlerDecorator }, button), children: button.text })) : null] }));
3093
+ });
3094
+
3052
3095
  const Blocks = {
3053
3096
  Accordion,
3054
3097
  BenefitsBlock,
3055
3098
  Bonus,
3099
+ CardTransfer,
3056
3100
  ComparisonTable,
3057
3101
  Calculator,
3058
3102
  Catalog,
@@ -3082,6 +3126,8 @@
3082
3126
  BonusBenefitsBlock,
3083
3127
  SafeDepositRental,
3084
3128
  Tabs,
3129
+ ErrorBlock,
3130
+ OfficeServicesBlock,
3085
3131
  };
3086
3132
 
3087
3133
  const api = LikeAPI();