@redneckz/wildless-cms-uni-blocks 0.3.57 → 0.3.59

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 (545) hide show
  1. package/bundle/blocks.schema.json +1 -1
  2. package/bundle/bundle.umd.js +370 -96
  3. package/bundle/bundle.umd.min.js +1 -1
  4. package/cosmos-static/icons/SafeIcon.svg +1 -1
  5. package/dist/components/Blocks.d.ts +1 -1
  6. package/dist/components/Blocks.js +2 -2
  7. package/dist/components/Blocks.js.map +1 -1
  8. package/dist/components/Calculator/BonusCalculatorForm.d.ts +5 -0
  9. package/dist/components/Calculator/BonusCalculatorForm.js +40 -0
  10. package/dist/components/Calculator/BonusCalculatorForm.js.map +1 -0
  11. package/dist/components/Calculator/Calculator.d.ts +5 -0
  12. package/dist/components/Calculator/Calculator.js +46 -0
  13. package/dist/components/Calculator/Calculator.js.map +1 -0
  14. package/dist/components/Calculator/CalculatorContent.d.ts +110 -0
  15. package/dist/components/{ProductGalleryGreen/ProductGalleryGreenContent.js → Calculator/CalculatorContent.js} +1 -1
  16. package/dist/components/Calculator/CalculatorContent.js.map +1 -0
  17. package/dist/components/Calculator/CalculatorValueBlock.d.ts +8 -0
  18. package/dist/components/Calculator/CalculatorValueBlock.js +9 -0
  19. package/dist/components/Calculator/CalculatorValueBlock.js.map +1 -0
  20. package/dist/components/Calculator/CreditCalculatorForm.d.ts +5 -0
  21. package/dist/components/Calculator/CreditCalculatorForm.js +51 -0
  22. package/dist/components/Calculator/CreditCalculatorForm.js.map +1 -0
  23. package/dist/components/Calculator/DepositCalculatorForm.d.ts +5 -0
  24. package/dist/components/Calculator/DepositCalculatorForm.js +41 -0
  25. package/dist/components/Calculator/DepositCalculatorForm.js.map +1 -0
  26. package/dist/components/Calculator/EmbeddableCalcBlocks.d.ts +11 -0
  27. package/dist/components/Calculator/EmbeddableCalcBlocks.js +13 -0
  28. package/dist/components/Calculator/EmbeddableCalcBlocks.js.map +1 -0
  29. package/dist/components/Calculator/MortgageCalculatorForm.d.ts +5 -0
  30. package/dist/components/Calculator/MortgageCalculatorForm.js +49 -0
  31. package/dist/components/Calculator/MortgageCalculatorForm.js.map +1 -0
  32. package/dist/components/Calculator/constants.d.ts +7 -0
  33. package/dist/components/Calculator/constants.js +10 -0
  34. package/dist/components/Calculator/constants.js.map +1 -0
  35. package/dist/components/Calculator/getCalculatorParams.d.ts +7 -0
  36. package/dist/components/Calculator/getCalculatorParams.js +11 -0
  37. package/dist/components/Calculator/getCalculatorParams.js.map +1 -0
  38. package/dist/components/Calculator/getCreditRate.d.ts +7 -0
  39. package/dist/components/Calculator/getCreditRate.js +13 -0
  40. package/dist/components/Calculator/getCreditRate.js.map +1 -0
  41. package/dist/components/Calculator/getDefaultMonths.d.ts +2 -0
  42. package/dist/components/Calculator/getDefaultMonths.js +8 -0
  43. package/dist/components/Calculator/getDefaultMonths.js.map +1 -0
  44. package/dist/components/Calculator/getDefaultSum.d.ts +2 -0
  45. package/dist/components/Calculator/getDefaultSum.js +8 -0
  46. package/dist/components/Calculator/getDefaultSum.js.map +1 -0
  47. package/dist/components/Calculator/getMonthlyPayment.d.ts +11 -0
  48. package/dist/components/Calculator/getMonthlyPayment.js +19 -0
  49. package/dist/components/Calculator/getMonthlyPayment.js.map +1 -0
  50. package/dist/components/Calculator/renderButtonSection.d.ts +1 -0
  51. package/dist/components/Calculator/renderButtonSection.js +9 -0
  52. package/dist/components/Calculator/renderButtonSection.js.map +1 -0
  53. package/dist/components/Calculator/renderCalculatorList.d.ts +10 -0
  54. package/dist/components/Calculator/renderCalculatorList.js +17 -0
  55. package/dist/components/Calculator/renderCalculatorList.js.map +1 -0
  56. package/dist/components/Calculator/renderInitialFeeInput.d.ts +10 -0
  57. package/dist/components/Calculator/renderInitialFeeInput.js +18 -0
  58. package/dist/components/Calculator/renderInitialFeeInput.js.map +1 -0
  59. package/dist/components/Calculator/renderMonthsInput.d.ts +11 -0
  60. package/dist/components/Calculator/renderMonthsInput.js +15 -0
  61. package/dist/components/Calculator/renderMonthsInput.js.map +1 -0
  62. package/dist/components/Calculator/renderProposal.d.ts +1 -0
  63. package/dist/components/Calculator/renderProposal.js +10 -0
  64. package/dist/components/Calculator/renderProposal.js.map +1 -0
  65. package/dist/components/Calculator/renderProposalMortgage.d.ts +7 -0
  66. package/dist/components/Calculator/renderProposalMortgage.js +9 -0
  67. package/dist/components/Calculator/renderProposalMortgage.js.map +1 -0
  68. package/dist/components/Calculator/renderRate.d.ts +8 -0
  69. package/dist/components/Calculator/renderRate.js +9 -0
  70. package/dist/components/Calculator/renderRate.js.map +1 -0
  71. package/dist/components/Calculator/renderRealEstateValue.d.ts +10 -0
  72. package/dist/components/Calculator/renderRealEstateValue.js +15 -0
  73. package/dist/components/Calculator/renderRealEstateValue.js.map +1 -0
  74. package/dist/components/Calculator/renderWantedSumInput.d.ts +13 -0
  75. package/dist/components/Calculator/renderWantedSumInput.js +19 -0
  76. package/dist/components/Calculator/renderWantedSumInput.js.map +1 -0
  77. package/dist/components/ContentPage/ContentPage.d.ts +1 -1
  78. package/dist/components/Header/Header.js +2 -2
  79. package/dist/components/Header/Header.js.map +1 -1
  80. package/dist/components/Header/HeaderContent.d.ts +6 -0
  81. package/dist/components/Header/HeaderSubMenu.js +7 -4
  82. package/dist/components/Header/HeaderSubMenu.js.map +1 -1
  83. package/dist/components/ProductGallery/ProductGallery.js +37 -8
  84. package/dist/components/ProductGallery/ProductGallery.js.map +1 -1
  85. package/dist/components/ProductGallery/ProductGalleryContent.d.ts +3 -6
  86. package/dist/components/ProductTile/ProductTile.js +14 -2
  87. package/dist/components/ProductTile/ProductTile.js.map +1 -1
  88. package/dist/components/ProductTile/ProductTileContent.d.ts +2 -0
  89. package/dist/components/Tile/Tile.js +1 -1
  90. package/dist/components/Tile/Tile.js.map +1 -1
  91. package/dist/types.d.ts +1 -5
  92. package/dist/ui-kit/BlocksList/renderBlocksList.d.ts +0 -1
  93. package/dist/ui-kit/BlocksList/renderBlocksList.js +2 -3
  94. package/dist/ui-kit/BlocksList/renderBlocksList.js.map +1 -1
  95. package/dist/ui-kit/Button/Button.js +2 -2
  96. package/dist/ui-kit/Button/Button.js.map +1 -1
  97. package/dist/ui-kit/Button/ButtonInner.js +2 -2
  98. package/dist/ui-kit/Button/ButtonInner.js.map +1 -1
  99. package/dist/ui-kit/Button/ButtonProps.d.ts +2 -0
  100. package/dist/ui-kit/Button/ButtonSection.js +1 -1
  101. package/dist/ui-kit/Button/ButtonSection.js.map +1 -1
  102. package/dist/ui-kit/Checkbox/Checkbox.js +1 -1
  103. package/dist/ui-kit/Checkbox/Checkbox.js.map +1 -1
  104. package/dist/ui-kit/InputRange/InputRange.js +2 -2
  105. package/dist/ui-kit/InputRange/InputRange.js.map +1 -1
  106. package/dist/ui-kit/InputRange/InputRangeProps.d.ts +2 -1
  107. package/dist/ui-kit/Tabs/TabsProps.d.ts +2 -1
  108. package/lib/common.css +1 -1
  109. package/lib/components/Blocks.d.ts +1 -1
  110. package/lib/components/Blocks.js +2 -2
  111. package/lib/components/Blocks.js.map +1 -1
  112. package/lib/components/Calculator/BonusCalculatorForm.d.ts +5 -0
  113. package/lib/components/Calculator/BonusCalculatorForm.js +38 -0
  114. package/lib/components/Calculator/BonusCalculatorForm.js.map +1 -0
  115. package/lib/components/Calculator/Calculator.d.ts +5 -0
  116. package/lib/components/{ProductGalleryGreen/ProductGalleryGreen.fixture.d.ts → Calculator/Calculator.fixture.d.ts} +1 -1
  117. package/lib/components/Calculator/Calculator.js +44 -0
  118. package/lib/components/Calculator/Calculator.js.map +1 -0
  119. package/lib/components/Calculator/CalculatorContent.d.ts +110 -0
  120. package/lib/components/Calculator/CalculatorContent.js +2 -0
  121. package/lib/components/Calculator/CalculatorContent.js.map +1 -0
  122. package/lib/components/Calculator/CalculatorValueBlock.d.ts +8 -0
  123. package/lib/components/Calculator/CalculatorValueBlock.js +7 -0
  124. package/lib/components/Calculator/CalculatorValueBlock.js.map +1 -0
  125. package/lib/components/Calculator/CreditCalculatorForm.d.ts +5 -0
  126. package/lib/components/Calculator/CreditCalculatorForm.js +49 -0
  127. package/lib/components/Calculator/CreditCalculatorForm.js.map +1 -0
  128. package/lib/components/Calculator/DepositCalculatorForm.d.ts +5 -0
  129. package/lib/components/Calculator/DepositCalculatorForm.js +39 -0
  130. package/lib/components/Calculator/DepositCalculatorForm.js.map +1 -0
  131. package/lib/components/Calculator/EmbeddableCalcBlocks.d.ts +11 -0
  132. package/lib/components/Calculator/EmbeddableCalcBlocks.js +11 -0
  133. package/lib/components/Calculator/EmbeddableCalcBlocks.js.map +1 -0
  134. package/lib/components/Calculator/MortgageCalculatorForm.d.ts +5 -0
  135. package/lib/components/Calculator/MortgageCalculatorForm.js +47 -0
  136. package/lib/components/Calculator/MortgageCalculatorForm.js.map +1 -0
  137. package/lib/components/Calculator/constants.d.ts +7 -0
  138. package/lib/components/Calculator/constants.js +8 -0
  139. package/lib/components/Calculator/constants.js.map +1 -0
  140. package/lib/components/Calculator/getCalculatorParams.d.ts +7 -0
  141. package/lib/components/Calculator/getCalculatorParams.js +8 -0
  142. package/lib/components/Calculator/getCalculatorParams.js.map +1 -0
  143. package/lib/components/Calculator/getCreditRate.d.ts +7 -0
  144. package/lib/components/Calculator/getCreditRate.js +10 -0
  145. package/lib/components/Calculator/getCreditRate.js.map +1 -0
  146. package/lib/components/Calculator/getDefaultMonths.d.ts +2 -0
  147. package/lib/components/Calculator/getDefaultMonths.js +5 -0
  148. package/lib/components/Calculator/getDefaultMonths.js.map +1 -0
  149. package/lib/components/Calculator/getDefaultSum.d.ts +2 -0
  150. package/lib/components/Calculator/getDefaultSum.js +5 -0
  151. package/lib/components/Calculator/getDefaultSum.js.map +1 -0
  152. package/lib/components/Calculator/getMonthlyPayment.d.ts +11 -0
  153. package/lib/components/Calculator/getMonthlyPayment.js +16 -0
  154. package/lib/components/Calculator/getMonthlyPayment.js.map +1 -0
  155. package/lib/components/Calculator/renderButtonSection.d.ts +1 -0
  156. package/lib/components/Calculator/renderButtonSection.js +6 -0
  157. package/lib/components/Calculator/renderButtonSection.js.map +1 -0
  158. package/lib/components/Calculator/renderCalculatorList.d.ts +10 -0
  159. package/lib/components/Calculator/renderCalculatorList.js +14 -0
  160. package/lib/components/Calculator/renderCalculatorList.js.map +1 -0
  161. package/lib/components/Calculator/renderInitialFeeInput.d.ts +10 -0
  162. package/lib/components/Calculator/renderInitialFeeInput.js +15 -0
  163. package/lib/components/Calculator/renderInitialFeeInput.js.map +1 -0
  164. package/lib/components/Calculator/renderMonthsInput.d.ts +11 -0
  165. package/lib/components/Calculator/renderMonthsInput.js +12 -0
  166. package/lib/components/Calculator/renderMonthsInput.js.map +1 -0
  167. package/lib/components/Calculator/renderProposal.d.ts +1 -0
  168. package/lib/components/Calculator/renderProposal.js +7 -0
  169. package/lib/components/Calculator/renderProposal.js.map +1 -0
  170. package/lib/components/Calculator/renderProposalMortgage.d.ts +7 -0
  171. package/lib/components/Calculator/renderProposalMortgage.js +6 -0
  172. package/lib/components/Calculator/renderProposalMortgage.js.map +1 -0
  173. package/lib/components/Calculator/renderRate.d.ts +8 -0
  174. package/lib/components/Calculator/renderRate.js +6 -0
  175. package/lib/components/Calculator/renderRate.js.map +1 -0
  176. package/lib/components/Calculator/renderRealEstateValue.d.ts +10 -0
  177. package/lib/components/Calculator/renderRealEstateValue.js +12 -0
  178. package/lib/components/Calculator/renderRealEstateValue.js.map +1 -0
  179. package/lib/components/Calculator/renderWantedSumInput.d.ts +13 -0
  180. package/lib/components/Calculator/renderWantedSumInput.js +16 -0
  181. package/lib/components/Calculator/renderWantedSumInput.js.map +1 -0
  182. package/lib/components/ContentPage/ContentPage.d.ts +1 -1
  183. package/lib/components/Header/Header.fixture.d.ts +1 -0
  184. package/lib/components/Header/Header.js +2 -2
  185. package/lib/components/Header/Header.js.map +1 -1
  186. package/lib/components/Header/HeaderContent.d.ts +6 -0
  187. package/lib/components/Header/HeaderSubMenu.js +7 -4
  188. package/lib/components/Header/HeaderSubMenu.js.map +1 -1
  189. package/lib/components/ProductGallery/ProductGallery.fixture.d.ts +1 -0
  190. package/lib/components/ProductGallery/ProductGallery.js +37 -8
  191. package/lib/components/ProductGallery/ProductGallery.js.map +1 -1
  192. package/lib/components/ProductGallery/ProductGalleryContent.d.ts +3 -6
  193. package/lib/components/ProductTile/ProductTile.fixture.d.ts +1 -0
  194. package/lib/components/ProductTile/ProductTile.js +14 -2
  195. package/lib/components/ProductTile/ProductTile.js.map +1 -1
  196. package/lib/components/ProductTile/ProductTileContent.d.ts +2 -0
  197. package/lib/components/Tile/Tile.js +1 -1
  198. package/lib/components/Tile/Tile.js.map +1 -1
  199. package/lib/types.d.ts +1 -5
  200. package/lib/ui-kit/BlocksList/renderBlocksList.d.ts +0 -1
  201. package/lib/ui-kit/BlocksList/renderBlocksList.js +1 -1
  202. package/lib/ui-kit/BlocksList/renderBlocksList.js.map +1 -1
  203. package/lib/ui-kit/Button/Button.js +2 -2
  204. package/lib/ui-kit/Button/Button.js.map +1 -1
  205. package/lib/ui-kit/Button/ButtonInner.js +2 -2
  206. package/lib/ui-kit/Button/ButtonInner.js.map +1 -1
  207. package/lib/ui-kit/Button/ButtonProps.d.ts +2 -0
  208. package/lib/ui-kit/Button/ButtonSection.js +1 -1
  209. package/lib/ui-kit/Button/ButtonSection.js.map +1 -1
  210. package/lib/ui-kit/Checkbox/Checkbox.js +1 -1
  211. package/lib/ui-kit/Checkbox/Checkbox.js.map +1 -1
  212. package/lib/ui-kit/InputRange/InputRange.js +2 -2
  213. package/lib/ui-kit/InputRange/InputRange.js.map +1 -1
  214. package/lib/ui-kit/InputRange/InputRangeProps.d.ts +2 -1
  215. package/lib/ui-kit/Tabs/TabsProps.d.ts +2 -1
  216. package/mobile/bundle/bundle.umd.js +3 -3
  217. package/mobile/bundle/bundle.umd.min.js +1 -1
  218. package/mobile/dist/components/Calculator/BonusCalculatorForm.d.ts +5 -0
  219. package/mobile/dist/components/Calculator/BonusCalculatorForm.js +40 -0
  220. package/mobile/dist/components/Calculator/BonusCalculatorForm.js.map +1 -0
  221. package/mobile/dist/components/Calculator/Calculator.d.ts +5 -0
  222. package/mobile/dist/components/Calculator/Calculator.js +46 -0
  223. package/mobile/dist/components/Calculator/Calculator.js.map +1 -0
  224. package/mobile/dist/components/Calculator/CalculatorContent.d.ts +110 -0
  225. package/mobile/dist/components/{ProductGalleryGreen/ProductGalleryGreenContent.js → Calculator/CalculatorContent.js} +1 -1
  226. package/mobile/dist/components/Calculator/CalculatorContent.js.map +1 -0
  227. package/mobile/dist/components/Calculator/CalculatorValueBlock.d.ts +8 -0
  228. package/mobile/dist/components/Calculator/CalculatorValueBlock.js +9 -0
  229. package/mobile/dist/components/Calculator/CalculatorValueBlock.js.map +1 -0
  230. package/mobile/dist/components/Calculator/CreditCalculatorForm.d.ts +5 -0
  231. package/mobile/dist/components/Calculator/CreditCalculatorForm.js +51 -0
  232. package/mobile/dist/components/Calculator/CreditCalculatorForm.js.map +1 -0
  233. package/mobile/dist/components/Calculator/DepositCalculatorForm.d.ts +5 -0
  234. package/mobile/dist/components/Calculator/DepositCalculatorForm.js +41 -0
  235. package/mobile/dist/components/Calculator/DepositCalculatorForm.js.map +1 -0
  236. package/mobile/dist/components/Calculator/EmbeddableCalcBlocks.d.ts +11 -0
  237. package/mobile/dist/components/Calculator/EmbeddableCalcBlocks.js +13 -0
  238. package/mobile/dist/components/Calculator/EmbeddableCalcBlocks.js.map +1 -0
  239. package/mobile/dist/components/Calculator/MortgageCalculatorForm.d.ts +5 -0
  240. package/mobile/dist/components/Calculator/MortgageCalculatorForm.js +49 -0
  241. package/mobile/dist/components/Calculator/MortgageCalculatorForm.js.map +1 -0
  242. package/mobile/dist/components/Calculator/constants.d.ts +7 -0
  243. package/mobile/dist/components/Calculator/constants.js +10 -0
  244. package/mobile/dist/components/Calculator/constants.js.map +1 -0
  245. package/mobile/dist/components/Calculator/getCalculatorParams.d.ts +7 -0
  246. package/mobile/dist/components/Calculator/getCalculatorParams.js +11 -0
  247. package/mobile/dist/components/Calculator/getCalculatorParams.js.map +1 -0
  248. package/mobile/dist/components/Calculator/getCreditRate.d.ts +7 -0
  249. package/mobile/dist/components/Calculator/getCreditRate.js +13 -0
  250. package/mobile/dist/components/Calculator/getCreditRate.js.map +1 -0
  251. package/mobile/dist/components/Calculator/getDefaultMonths.d.ts +2 -0
  252. package/mobile/dist/components/Calculator/getDefaultMonths.js +8 -0
  253. package/mobile/dist/components/Calculator/getDefaultMonths.js.map +1 -0
  254. package/mobile/dist/components/Calculator/getDefaultSum.d.ts +2 -0
  255. package/mobile/dist/components/Calculator/getDefaultSum.js +8 -0
  256. package/mobile/dist/components/Calculator/getDefaultSum.js.map +1 -0
  257. package/mobile/dist/components/Calculator/getMonthlyPayment.d.ts +11 -0
  258. package/mobile/dist/components/Calculator/getMonthlyPayment.js +19 -0
  259. package/mobile/dist/components/Calculator/getMonthlyPayment.js.map +1 -0
  260. package/mobile/dist/components/Calculator/renderButtonSection.d.ts +1 -0
  261. package/mobile/dist/components/Calculator/renderButtonSection.js +9 -0
  262. package/mobile/dist/components/Calculator/renderButtonSection.js.map +1 -0
  263. package/mobile/dist/components/Calculator/renderCalculatorList.d.ts +10 -0
  264. package/mobile/dist/components/Calculator/renderCalculatorList.js +17 -0
  265. package/mobile/dist/components/Calculator/renderCalculatorList.js.map +1 -0
  266. package/mobile/dist/components/Calculator/renderInitialFeeInput.d.ts +10 -0
  267. package/mobile/dist/components/Calculator/renderInitialFeeInput.js +18 -0
  268. package/mobile/dist/components/Calculator/renderInitialFeeInput.js.map +1 -0
  269. package/mobile/dist/components/Calculator/renderMonthsInput.d.ts +11 -0
  270. package/mobile/dist/components/Calculator/renderMonthsInput.js +15 -0
  271. package/mobile/dist/components/Calculator/renderMonthsInput.js.map +1 -0
  272. package/mobile/dist/components/Calculator/renderProposal.d.ts +1 -0
  273. package/mobile/dist/components/Calculator/renderProposal.js +10 -0
  274. package/mobile/dist/components/Calculator/renderProposal.js.map +1 -0
  275. package/mobile/dist/components/Calculator/renderProposalMortgage.d.ts +7 -0
  276. package/mobile/dist/components/Calculator/renderProposalMortgage.js +9 -0
  277. package/mobile/dist/components/Calculator/renderProposalMortgage.js.map +1 -0
  278. package/mobile/dist/components/Calculator/renderRate.d.ts +8 -0
  279. package/mobile/dist/components/Calculator/renderRate.js +9 -0
  280. package/mobile/dist/components/Calculator/renderRate.js.map +1 -0
  281. package/mobile/dist/components/Calculator/renderRealEstateValue.d.ts +10 -0
  282. package/mobile/dist/components/Calculator/renderRealEstateValue.js +15 -0
  283. package/mobile/dist/components/Calculator/renderRealEstateValue.js.map +1 -0
  284. package/mobile/dist/components/Calculator/renderWantedSumInput.d.ts +13 -0
  285. package/mobile/dist/components/Calculator/renderWantedSumInput.js +19 -0
  286. package/mobile/dist/components/Calculator/renderWantedSumInput.js.map +1 -0
  287. package/mobile/dist/components/ContentPage/ContentPage.d.ts +1 -1
  288. package/mobile/dist/components/Header/HeaderContent.d.ts +6 -0
  289. package/mobile/dist/components/Header/HeaderSubMenu.js +7 -4
  290. package/mobile/dist/components/Header/HeaderSubMenu.js.map +1 -1
  291. package/mobile/dist/components/ProductGallery/ProductGalleryContent.d.ts +3 -6
  292. package/mobile/dist/components/ProductTile/ProductTile.js +14 -2
  293. package/mobile/dist/components/ProductTile/ProductTile.js.map +1 -1
  294. package/mobile/dist/components/ProductTile/ProductTileContent.d.ts +2 -0
  295. package/mobile/dist/components/Tile/Tile.js +1 -1
  296. package/mobile/dist/components/Tile/Tile.js.map +1 -1
  297. package/mobile/dist/types.d.ts +1 -5
  298. package/mobile/dist/ui-kit/BlocksList/renderBlocksList.d.ts +0 -1
  299. package/mobile/dist/ui-kit/BlocksList/renderBlocksList.js +2 -3
  300. package/mobile/dist/ui-kit/BlocksList/renderBlocksList.js.map +1 -1
  301. package/mobile/dist/ui-kit/Button/ButtonInner.js +2 -2
  302. package/mobile/dist/ui-kit/Button/ButtonInner.js.map +1 -1
  303. package/mobile/dist/ui-kit/Button/ButtonProps.d.ts +2 -0
  304. package/mobile/dist/ui-kit/Button/ButtonSection.js +1 -1
  305. package/mobile/dist/ui-kit/Button/ButtonSection.js.map +1 -1
  306. package/mobile/dist/ui-kit/Checkbox/Checkbox.js +1 -1
  307. package/mobile/dist/ui-kit/Checkbox/Checkbox.js.map +1 -1
  308. package/mobile/dist/ui-kit/InputRange/InputRange.js +2 -2
  309. package/mobile/dist/ui-kit/InputRange/InputRange.js.map +1 -1
  310. package/mobile/dist/ui-kit/InputRange/InputRangeProps.d.ts +2 -1
  311. package/mobile/dist/ui-kit/Tabs/TabsProps.d.ts +2 -1
  312. package/mobile/lib/components/Calculator/BonusCalculatorForm.d.ts +5 -0
  313. package/mobile/lib/components/Calculator/BonusCalculatorForm.js +38 -0
  314. package/mobile/lib/components/Calculator/BonusCalculatorForm.js.map +1 -0
  315. package/mobile/lib/components/Calculator/Calculator.d.ts +5 -0
  316. package/mobile/lib/components/Calculator/Calculator.js +44 -0
  317. package/mobile/lib/components/Calculator/Calculator.js.map +1 -0
  318. package/mobile/lib/components/Calculator/CalculatorContent.d.ts +110 -0
  319. package/mobile/lib/components/Calculator/CalculatorContent.js +2 -0
  320. package/mobile/lib/components/Calculator/CalculatorContent.js.map +1 -0
  321. package/mobile/lib/components/Calculator/CalculatorValueBlock.d.ts +8 -0
  322. package/mobile/lib/components/Calculator/CalculatorValueBlock.js +7 -0
  323. package/mobile/lib/components/Calculator/CalculatorValueBlock.js.map +1 -0
  324. package/mobile/lib/components/Calculator/CreditCalculatorForm.d.ts +5 -0
  325. package/mobile/lib/components/Calculator/CreditCalculatorForm.js +49 -0
  326. package/mobile/lib/components/Calculator/CreditCalculatorForm.js.map +1 -0
  327. package/mobile/lib/components/Calculator/DepositCalculatorForm.d.ts +5 -0
  328. package/mobile/lib/components/Calculator/DepositCalculatorForm.js +39 -0
  329. package/mobile/lib/components/Calculator/DepositCalculatorForm.js.map +1 -0
  330. package/mobile/lib/components/Calculator/EmbeddableCalcBlocks.d.ts +11 -0
  331. package/mobile/lib/components/Calculator/EmbeddableCalcBlocks.js +11 -0
  332. package/mobile/lib/components/Calculator/EmbeddableCalcBlocks.js.map +1 -0
  333. package/mobile/lib/components/Calculator/MortgageCalculatorForm.d.ts +5 -0
  334. package/mobile/lib/components/Calculator/MortgageCalculatorForm.js +47 -0
  335. package/mobile/lib/components/Calculator/MortgageCalculatorForm.js.map +1 -0
  336. package/mobile/lib/components/Calculator/constants.d.ts +7 -0
  337. package/mobile/lib/components/Calculator/constants.js +8 -0
  338. package/mobile/lib/components/Calculator/constants.js.map +1 -0
  339. package/mobile/lib/components/Calculator/getCalculatorParams.d.ts +7 -0
  340. package/mobile/lib/components/Calculator/getCalculatorParams.js +8 -0
  341. package/mobile/lib/components/Calculator/getCalculatorParams.js.map +1 -0
  342. package/mobile/lib/components/Calculator/getCreditRate.d.ts +7 -0
  343. package/mobile/lib/components/Calculator/getCreditRate.js +10 -0
  344. package/mobile/lib/components/Calculator/getCreditRate.js.map +1 -0
  345. package/mobile/lib/components/Calculator/getDefaultMonths.d.ts +2 -0
  346. package/mobile/lib/components/Calculator/getDefaultMonths.js +5 -0
  347. package/mobile/lib/components/Calculator/getDefaultMonths.js.map +1 -0
  348. package/mobile/lib/components/Calculator/getDefaultSum.d.ts +2 -0
  349. package/mobile/lib/components/Calculator/getDefaultSum.js +5 -0
  350. package/mobile/lib/components/Calculator/getDefaultSum.js.map +1 -0
  351. package/mobile/lib/components/Calculator/getMonthlyPayment.d.ts +11 -0
  352. package/mobile/lib/components/Calculator/getMonthlyPayment.js +16 -0
  353. package/mobile/lib/components/Calculator/getMonthlyPayment.js.map +1 -0
  354. package/mobile/lib/components/Calculator/renderButtonSection.d.ts +1 -0
  355. package/mobile/lib/components/Calculator/renderButtonSection.js +6 -0
  356. package/mobile/lib/components/Calculator/renderButtonSection.js.map +1 -0
  357. package/mobile/lib/components/Calculator/renderCalculatorList.d.ts +10 -0
  358. package/mobile/lib/components/Calculator/renderCalculatorList.js +14 -0
  359. package/mobile/lib/components/Calculator/renderCalculatorList.js.map +1 -0
  360. package/mobile/lib/components/Calculator/renderInitialFeeInput.d.ts +10 -0
  361. package/mobile/lib/components/Calculator/renderInitialFeeInput.js +15 -0
  362. package/mobile/lib/components/Calculator/renderInitialFeeInput.js.map +1 -0
  363. package/mobile/lib/components/Calculator/renderMonthsInput.d.ts +11 -0
  364. package/mobile/lib/components/Calculator/renderMonthsInput.js +12 -0
  365. package/mobile/lib/components/Calculator/renderMonthsInput.js.map +1 -0
  366. package/mobile/lib/components/Calculator/renderProposal.d.ts +1 -0
  367. package/mobile/lib/components/Calculator/renderProposal.js +7 -0
  368. package/mobile/lib/components/Calculator/renderProposal.js.map +1 -0
  369. package/mobile/lib/components/Calculator/renderProposalMortgage.d.ts +7 -0
  370. package/mobile/lib/components/Calculator/renderProposalMortgage.js +6 -0
  371. package/mobile/lib/components/Calculator/renderProposalMortgage.js.map +1 -0
  372. package/mobile/lib/components/Calculator/renderRate.d.ts +8 -0
  373. package/mobile/lib/components/Calculator/renderRate.js +6 -0
  374. package/mobile/lib/components/Calculator/renderRate.js.map +1 -0
  375. package/mobile/lib/components/Calculator/renderRealEstateValue.d.ts +10 -0
  376. package/mobile/lib/components/Calculator/renderRealEstateValue.js +12 -0
  377. package/mobile/lib/components/Calculator/renderRealEstateValue.js.map +1 -0
  378. package/mobile/lib/components/Calculator/renderWantedSumInput.d.ts +13 -0
  379. package/mobile/lib/components/Calculator/renderWantedSumInput.js +16 -0
  380. package/mobile/lib/components/Calculator/renderWantedSumInput.js.map +1 -0
  381. package/mobile/lib/components/ContentPage/ContentPage.d.ts +1 -1
  382. package/mobile/lib/components/Header/HeaderContent.d.ts +6 -0
  383. package/mobile/lib/components/Header/HeaderSubMenu.js +7 -4
  384. package/mobile/lib/components/Header/HeaderSubMenu.js.map +1 -1
  385. package/mobile/lib/components/ProductGallery/ProductGalleryContent.d.ts +3 -6
  386. package/mobile/lib/components/ProductTile/ProductTile.js +14 -2
  387. package/mobile/lib/components/ProductTile/ProductTile.js.map +1 -1
  388. package/mobile/lib/components/ProductTile/ProductTileContent.d.ts +2 -0
  389. package/mobile/lib/components/Tile/Tile.js +1 -1
  390. package/mobile/lib/components/Tile/Tile.js.map +1 -1
  391. package/mobile/lib/types.d.ts +1 -5
  392. package/mobile/lib/ui-kit/BlocksList/renderBlocksList.d.ts +0 -1
  393. package/mobile/lib/ui-kit/BlocksList/renderBlocksList.js +1 -1
  394. package/mobile/lib/ui-kit/BlocksList/renderBlocksList.js.map +1 -1
  395. package/mobile/lib/ui-kit/Button/ButtonInner.js +2 -2
  396. package/mobile/lib/ui-kit/Button/ButtonInner.js.map +1 -1
  397. package/mobile/lib/ui-kit/Button/ButtonProps.d.ts +2 -0
  398. package/mobile/lib/ui-kit/Button/ButtonSection.js +1 -1
  399. package/mobile/lib/ui-kit/Button/ButtonSection.js.map +1 -1
  400. package/mobile/lib/ui-kit/Checkbox/Checkbox.js +1 -1
  401. package/mobile/lib/ui-kit/Checkbox/Checkbox.js.map +1 -1
  402. package/mobile/lib/ui-kit/InputRange/InputRange.js +2 -2
  403. package/mobile/lib/ui-kit/InputRange/InputRange.js.map +1 -1
  404. package/mobile/lib/ui-kit/InputRange/InputRangeProps.d.ts +2 -1
  405. package/mobile/lib/ui-kit/Tabs/TabsProps.d.ts +2 -1
  406. package/mobile/src/common.css +7 -0
  407. package/mobile/src/components/Calculator/BonusCalculatorForm.tsx +71 -0
  408. package/mobile/src/components/Calculator/Calculator.tsx +141 -0
  409. package/mobile/src/components/Calculator/CalculatorContent.ts +134 -0
  410. package/mobile/src/components/Calculator/CalculatorValueBlock.tsx +25 -0
  411. package/mobile/src/components/Calculator/CreditCalculatorForm.tsx +99 -0
  412. package/mobile/src/components/Calculator/DepositCalculatorForm.tsx +69 -0
  413. package/mobile/src/components/Calculator/EmbeddableCalcBlocks.tsx +17 -0
  414. package/mobile/src/components/Calculator/MortgageCalculatorForm.tsx +88 -0
  415. package/mobile/src/components/Calculator/constants.ts +8 -0
  416. package/mobile/src/components/Calculator/getCalculatorParams.ts +16 -0
  417. package/mobile/src/components/Calculator/getCreditRate.ts +18 -0
  418. package/mobile/src/components/Calculator/getDefaultMonths.ts +7 -0
  419. package/mobile/src/components/Calculator/getDefaultSum.ts +7 -0
  420. package/mobile/src/components/Calculator/getMonthlyPayment.ts +32 -0
  421. package/mobile/src/components/Calculator/renderButtonSection.tsx +7 -0
  422. package/mobile/src/components/Calculator/renderCalculatorList.tsx +43 -0
  423. package/mobile/src/components/Calculator/renderInitialFeeInput.tsx +37 -0
  424. package/mobile/src/components/Calculator/renderMonthsInput.tsx +34 -0
  425. package/mobile/src/components/Calculator/renderProposal.tsx +14 -0
  426. package/mobile/src/components/Calculator/renderProposalMortgage.tsx +17 -0
  427. package/mobile/src/components/Calculator/renderRate.tsx +23 -0
  428. package/mobile/src/components/Calculator/renderRealEstateValue.tsx +33 -0
  429. package/mobile/src/components/Calculator/renderWantedSumInput.tsx +49 -0
  430. package/mobile/src/components/ContentPage/ContentPage.page.json +9 -8
  431. package/mobile/src/components/ContentPage/ContentPage.tsx +2 -2
  432. package/mobile/src/components/Header/HeaderContent.ts +6 -0
  433. package/mobile/src/components/Header/HeaderSubMenu.tsx +10 -5
  434. package/mobile/src/components/ProductGallery/ProductGallery.example.json +8 -10
  435. package/mobile/src/components/ProductGallery/ProductGalleryContent.ts +3 -6
  436. package/mobile/src/components/ProductTile/ProductTile.tsx +30 -13
  437. package/mobile/src/components/ProductTile/ProductTileContent.ts +2 -0
  438. package/mobile/src/components/Tile/Tile.tsx +5 -1
  439. package/mobile/src/icons/SafeIcon.svg +7 -1
  440. package/mobile/src/types.ts +2 -6
  441. package/mobile/src/ui-kit/BlocksList/renderBlocksList.tsx +1 -1
  442. package/mobile/src/ui-kit/Button/ButtonInner.tsx +2 -1
  443. package/mobile/src/ui-kit/Button/ButtonProps.ts +2 -0
  444. package/mobile/src/ui-kit/Button/ButtonSection.tsx +1 -1
  445. package/mobile/src/ui-kit/Checkbox/Checkbox.tsx +1 -3
  446. package/mobile/src/ui-kit/InputRange/InputRange.tsx +7 -9
  447. package/mobile/src/ui-kit/InputRange/InputRangeProps.ts +3 -1
  448. package/mobile/src/ui-kit/Tabs/TabsProps.ts +2 -1
  449. package/package.json +1 -1
  450. package/src/common.css +7 -0
  451. package/src/components/Blocks.ts +2 -2
  452. package/src/components/Calculator/BonusCalculatorForm.tsx +71 -0
  453. package/src/components/Calculator/Calculator.fixture.tsx +131 -0
  454. package/src/components/Calculator/Calculator.tsx +141 -0
  455. package/src/components/Calculator/CalculatorContent.ts +134 -0
  456. package/src/components/Calculator/CalculatorValueBlock.tsx +25 -0
  457. package/src/components/Calculator/CreditCalculatorForm.tsx +99 -0
  458. package/src/components/Calculator/DepositCalculatorForm.tsx +69 -0
  459. package/src/components/Calculator/EmbeddableCalcBlocks.tsx +17 -0
  460. package/src/components/Calculator/MortgageCalculatorForm.tsx +88 -0
  461. package/src/components/Calculator/constants.ts +8 -0
  462. package/src/components/Calculator/getCalculatorParams.ts +16 -0
  463. package/src/components/Calculator/getCreditRate.ts +18 -0
  464. package/src/components/Calculator/getDefaultMonths.ts +7 -0
  465. package/src/components/Calculator/getDefaultSum.ts +7 -0
  466. package/src/components/Calculator/getMonthlyPayment.ts +32 -0
  467. package/src/components/Calculator/renderButtonSection.tsx +7 -0
  468. package/src/components/Calculator/renderCalculatorList.tsx +43 -0
  469. package/src/components/Calculator/renderInitialFeeInput.tsx +37 -0
  470. package/src/components/Calculator/renderMonthsInput.tsx +34 -0
  471. package/src/components/Calculator/renderProposal.tsx +14 -0
  472. package/src/components/Calculator/renderProposalMortgage.tsx +17 -0
  473. package/src/components/Calculator/renderRate.tsx +23 -0
  474. package/src/components/Calculator/renderRealEstateValue.tsx +33 -0
  475. package/src/components/Calculator/renderWantedSumInput.tsx +49 -0
  476. package/src/components/ContentPage/ContentPage.page.json +9 -8
  477. package/src/components/ContentPage/ContentPage.tsx +2 -2
  478. package/src/components/Header/Header.fixture.tsx +1 -0
  479. package/src/components/Header/Header.tsx +4 -1
  480. package/src/components/Header/HeaderContent.ts +6 -0
  481. package/src/components/Header/HeaderSubMenu.tsx +10 -5
  482. package/src/components/ProductBlock/ProductBlock.fixture.mobile.tsx +1 -1
  483. package/src/components/ProductGallery/ProductGallery.example.json +8 -10
  484. package/src/components/ProductGallery/ProductGallery.fixture.tsx +146 -104
  485. package/src/components/ProductGallery/ProductGallery.tsx +73 -24
  486. package/src/components/ProductGallery/ProductGalleryContent.ts +3 -6
  487. package/src/components/ProductTile/ProductTile.fixture.tsx +50 -5
  488. package/src/components/ProductTile/ProductTile.tsx +30 -13
  489. package/src/components/ProductTile/ProductTileContent.ts +2 -0
  490. package/src/components/Tile/Tile.tsx +5 -1
  491. package/src/icons/SafeIcon.svg +7 -1
  492. package/src/types.ts +2 -6
  493. package/src/ui-kit/BlocksList/renderBlocksList.tsx +1 -1
  494. package/src/ui-kit/Button/Button.fixture.tsx +12 -0
  495. package/src/ui-kit/Button/Button.tsx +8 -2
  496. package/src/ui-kit/Button/ButtonInner.tsx +2 -1
  497. package/src/ui-kit/Button/ButtonProps.ts +2 -0
  498. package/src/ui-kit/Button/ButtonSection.tsx +1 -1
  499. package/src/ui-kit/Checkbox/Checkbox.tsx +1 -3
  500. package/src/ui-kit/InputRange/InputRange.tsx +7 -9
  501. package/src/ui-kit/InputRange/InputRangeProps.ts +3 -1
  502. package/src/ui-kit/Tabs/TabsProps.ts +2 -1
  503. package/dist/components/ContentPage/CustomContentPage.d.ts +0 -30
  504. package/dist/components/ContentPage/CustomContentPage.js +0 -33
  505. package/dist/components/ContentPage/CustomContentPage.js.map +0 -1
  506. package/dist/components/ProductGalleryGreen/ProductGalleryGreen.d.ts +0 -5
  507. package/dist/components/ProductGalleryGreen/ProductGalleryGreen.js +0 -53
  508. package/dist/components/ProductGalleryGreen/ProductGalleryGreen.js.map +0 -1
  509. package/dist/components/ProductGalleryGreen/ProductGalleryGreenContent.d.ts +0 -32
  510. package/dist/components/ProductGalleryGreen/ProductGalleryGreenContent.js.map +0 -1
  511. package/lib/components/ContentPage/CustomContentPage.d.ts +0 -30
  512. package/lib/components/ContentPage/CustomContentPage.js +0 -31
  513. package/lib/components/ContentPage/CustomContentPage.js.map +0 -1
  514. package/lib/components/ProductGalleryGreen/ProductGalleryGreen.d.ts +0 -5
  515. package/lib/components/ProductGalleryGreen/ProductGalleryGreen.js +0 -51
  516. package/lib/components/ProductGalleryGreen/ProductGalleryGreen.js.map +0 -1
  517. package/lib/components/ProductGalleryGreen/ProductGalleryGreenContent.d.ts +0 -32
  518. package/lib/components/ProductGalleryGreen/ProductGalleryGreenContent.js +0 -2
  519. package/lib/components/ProductGalleryGreen/ProductGalleryGreenContent.js.map +0 -1
  520. package/mobile/dist/components/ContentPage/CustomContentPage.d.ts +0 -30
  521. package/mobile/dist/components/ContentPage/CustomContentPage.js +0 -33
  522. package/mobile/dist/components/ContentPage/CustomContentPage.js.map +0 -1
  523. package/mobile/dist/components/ProductGalleryGreen/ProductGalleryGreen.d.ts +0 -5
  524. package/mobile/dist/components/ProductGalleryGreen/ProductGalleryGreen.js +0 -53
  525. package/mobile/dist/components/ProductGalleryGreen/ProductGalleryGreen.js.map +0 -1
  526. package/mobile/dist/components/ProductGalleryGreen/ProductGalleryGreenContent.d.ts +0 -32
  527. package/mobile/dist/components/ProductGalleryGreen/ProductGalleryGreenContent.js.map +0 -1
  528. package/mobile/lib/components/ContentPage/CustomContentPage.d.ts +0 -30
  529. package/mobile/lib/components/ContentPage/CustomContentPage.js +0 -31
  530. package/mobile/lib/components/ContentPage/CustomContentPage.js.map +0 -1
  531. package/mobile/lib/components/ProductGalleryGreen/ProductGalleryGreen.d.ts +0 -5
  532. package/mobile/lib/components/ProductGalleryGreen/ProductGalleryGreen.js +0 -51
  533. package/mobile/lib/components/ProductGalleryGreen/ProductGalleryGreen.js.map +0 -1
  534. package/mobile/lib/components/ProductGalleryGreen/ProductGalleryGreenContent.d.ts +0 -32
  535. package/mobile/lib/components/ProductGalleryGreen/ProductGalleryGreenContent.js +0 -2
  536. package/mobile/lib/components/ProductGalleryGreen/ProductGalleryGreenContent.js.map +0 -1
  537. package/mobile/src/components/ContentPage/CustomContentPage.tsx +0 -82
  538. package/mobile/src/components/ProductGalleryGreen/ProductGalleryGreen.example.json +0 -23
  539. package/mobile/src/components/ProductGalleryGreen/ProductGalleryGreen.tsx +0 -120
  540. package/mobile/src/components/ProductGalleryGreen/ProductGalleryGreenContent.ts +0 -34
  541. package/src/components/ContentPage/CustomContentPage.tsx +0 -82
  542. package/src/components/ProductGalleryGreen/ProductGalleryGreen.example.json +0 -23
  543. package/src/components/ProductGalleryGreen/ProductGalleryGreen.fixture.tsx +0 -186
  544. package/src/components/ProductGalleryGreen/ProductGalleryGreen.tsx +0 -120
  545. package/src/components/ProductGalleryGreen/ProductGalleryGreenContent.ts +0 -34
@@ -598,8 +598,8 @@
598
598
  }
599
599
 
600
600
  const ButtonInner = JSX((props) => {
601
- const { text, aboveText, appendLeft } = props;
602
- return (jsxs("div", { className: getButtonStyle(props), children: [appendLeft ? appendLeft : null, isWithText(props) ? (jsxs("div", { children: [jsx("div", { className: "text-m-2xs font-light text-left", children: aboveText }), jsx("div", { className: "text-button text-left", children: text })] })) : null] }));
601
+ const { text, aboveText, appendLeft, appendRight } = props;
602
+ return (jsxs("div", { className: getButtonStyle(props), children: [appendLeft ? appendLeft : null, isWithText(props) ? (jsxs("div", { children: [jsx("div", { className: "text-m-2xs font-light text-left", children: aboveText }), jsx("div", { className: "text-button text-left", children: text })] })) : null, appendRight ? appendRight : null] }));
603
603
  });
604
604
  const getButtonStyle = (props) => {
605
605
  const { version, aboveText, rounded } = props;
@@ -627,8 +627,8 @@
627
627
  };
628
628
  const buttonStyle = 'text-center font-sans select-none';
629
629
  const Button = JSX((props) => {
630
- const { text, aboveText, appendLeft, children, disabled, rounded, ...rest } = props;
631
- const buttonInner = children ?? (jsx(ButtonInner, { text: text, aboveText: aboveText, appendLeft: appendLeft, rounded: rounded }));
630
+ const { text, aboveText, appendLeft, appendRight, children, disabled, rounded, ...rest } = props;
631
+ const buttonInner = children ?? (jsx(ButtonInner, { text: text, aboveText: aboveText, appendLeft: appendLeft, appendRight: appendRight, rounded: rounded }));
632
632
  return disabled ? (jsx(DisabledButton, { rounded: rounded, ...rest, children: buttonInner })) : (jsx(RegularButton, { rounded: rounded, ...rest, children: buttonInner }));
633
633
  });
634
634
  const RegularButton = JSX(({ className = '', ariaLabel, version = 'none', rounded, href, target, children, onClick, ...rest }) => {
@@ -641,7 +641,7 @@
641
641
  const ButtonSection = JSX(({ context, className = '', buttons }) => {
642
642
  const { handlerDecorator } = context;
643
643
  const router = context.useRouter();
644
- return buttons?.length ? (jsx("div", { className: `${className}`, children: buttons.map((button, index) => renderButton$2(useLink({ router, handlerDecorator }, button), index)) })) : null;
644
+ return buttons?.length ? (jsx("div", { className: className, children: buttons.map((button, index) => renderButton$2(useLink({ router, handlerDecorator }, button), index)) })) : null;
645
645
  });
646
646
  function renderButton$2({ icon, ...button }, i) {
647
647
  if (!button?.text)
@@ -823,7 +823,7 @@
823
823
  const Tile = JSX((props) => {
824
824
  const { context, title, headingType = 'h3', description, items, children, buttons, image, className = '', version = 'primary', role, anchor = null, } = props;
825
825
  return (jsx("section", { className: `overflow-hidden font-sans p-9 pr-3 box-border ${className} ${tileStyleMap[version]} ${getTileRightPadding(className)} ${getTileMinHeight(className)} `, role: role, id: anchor, children: jsxs(BaseTile, { context: context, title: title && (jsx(Heading, { headingType: headingType, as: "h3", title: title, className: `whitespace-pre-wrap max-w-[600px] ${title ? 'mb-3' : ''}
826
- ${version === 'primary' ? 'text-primary-text' : ''}` })), buttons: buttons?.length ? (jsx(ButtonSection, { context: context, buttons: buttons, className: "flex mt-9 gap-3" })) : null, image: image?.src && jsx(Img, { className: "mt-auto ml-7", image: image }), children: [description && (jsx(Description, { className: "max-w-[600px] text-title-new-sm font-light", description: description })), children, renderList$1(items, version)] }) }));
826
+ ${version === 'primary' ? 'text-primary-text' : ''}` })), buttons: buttons?.length ? (jsx(ButtonSection, { context: context, buttons: buttons.map((button) => ({ ...button, className: 'w-[158px]' })), className: "flex mt-9 gap-3" })) : null, image: image?.src && jsx(Img, { className: "mt-auto ml-7", image: image }), children: [description && (jsx(Description, { className: "max-w-[600px] text-title-new-sm font-light", description: description })), children, renderList$1(items, version)] }) }));
827
827
  });
828
828
  function renderList$1(items, version) {
829
829
  return items?.length ? (jsx(List, { items: items, itemClassName: "text-title-2xs font-light mt-2", version: version === 'primary' ? 'tile' : 'tile-white' })) : null;
@@ -833,9 +833,14 @@
833
833
  primary: 'bg-white text-primary-text',
834
834
  secondary: 'bg-primary-main text-white',
835
835
  };
836
- const ProductTile = JSX(({ context, className = '', title, headingType = 'h3', description, benefits, buttons, image, version = 'primary', anchor = null, }) => {
837
- return (jsx("section", { className: `bg-white overflow-hidden text-primary-text font-sans p-9 box-border ${className} ${productTileStyleMap[version]} ${getTileRightPadding(className)} ${getTileMinHeight(className)} `, id: anchor, children: jsxs(BaseTile, { context: context, title: title && (jsx(Heading, { headingType: headingType, as: "h3", title: title, className: `whitespace-pre-wrap max-w-[600px]` })), buttons: buttons?.length ? (jsx(ButtonSection, { context: context, buttons: buttons, className: "flex mt-9 gap-3" })) : null, image: image?.src && jsx(Img, { className: "mt-auto ml-7", image: image }), children: [description ? (jsx(Description, { className: "mt-4 max-w-[600px]", description: description })) : null, jsxs("div", { className: "flex mt-5 mb-1", children: [benefits?.length ? (jsx("div", { className: "mr-8", children: benefits.map(renderBenefitLabel) })) : null, benefits?.length ? (jsx("div", { className: "pt-1", children: benefits.map((_, i) => renderBenefitDescription(_, i, version)) })) : null] })] }) }));
836
+ const ProductTile = JSX(({ context, className = '', title, headingType = 'h3', description, additionalDescription, benefits, buttons, image, version = 'primary', anchor = null, }) => {
837
+ return (jsx("section", { className: `bg-white overflow-hidden text-primary-text font-sans p-9 box-border ${className} ${productTileStyleMap[version]} ${getTileRightPadding(className)} ${getTileMinHeight(className)} `, id: anchor, children: jsxs(BaseTile, { context: context, title: title && (jsx(Heading, { headingType: headingType, as: "h3", title: title, className: `whitespace-pre-wrap max-w-[600px]` })), buttons: buttons?.length ? (jsx(ButtonSection, { context: context, buttons: buttons, className: "flex mt-9 gap-3" })) : null, image: image?.src && jsx(Img, { className: "mt-auto ml-7", image: image }), children: [description ? (jsx(Description, { className: "mt-4 max-w-[600px]", description: description })) : null, renderBenefits(benefits, version), additionalDescription
838
+ ? renderAdditionalDescription(additionalDescription, version)
839
+ : null] }) }));
838
840
  });
841
+ function renderBenefits(benefits = [], version) {
842
+ return (jsxs("div", { className: "flex mt-5 mb-1", children: [benefits.length ? jsx("div", { className: "mr-8", children: benefits.map(renderBenefitLabel) }) : null, benefits.length ? (jsx("div", { className: "pt-1", children: benefits.map((_, i) => renderBenefitDescription(_, i, version)) })) : null] }));
843
+ }
839
844
  function renderBenefitLabel(benefit, i) {
840
845
  return (jsx("div", { className: `text-xl font-medium ${i ? 'mt-2.5' : ''}`, children: benefit.label }, String(i)));
841
846
  }
@@ -846,6 +851,13 @@
846
851
  };
847
852
  return (jsx("div", { className: `text-sm ${i ? 'mt-4' : ''} ${labelStyleMap[version]}`, children: benefit.description }, String(i)));
848
853
  }
854
+ function renderAdditionalDescription(additionalDescription, version = 'primary') {
855
+ const descStyleMap = {
856
+ primary: 'text-secondary-text',
857
+ secondary: 'text-white',
858
+ };
859
+ return jsx("div", { className: `text-sm mt-2.5 ${descStyleMap[version]}`, children: additionalDescription });
860
+ }
849
861
 
850
862
  const ArrowButton = JSX(({ className, disabled, ...rest }) => (jsx(Button, { rounded: true, className: `shadow-[0_4px_25px_rgba(0,0,0,0.07)] w-12 h-12 min-h-12 max-h-12 flex items-center justify-center ${disabled
851
863
  ? 'bg-secondary-light text-secondary-text'
@@ -933,8 +945,8 @@
933
945
  LinkList,
934
946
  };
935
947
 
936
- const renderBlocksList = ({ blocks, context, className, columns }) => blocks?.length ? blocks.map(renderBlock$2({ context, className, columns })) : null;
937
- const renderBlock$2 = ({ context, columns, className }) => (block, i) => {
948
+ const renderBlocksList = ({ blocks, context, className, columns }) => blocks?.length ? blocks.map(renderBlock$3({ context, className, columns })) : null;
949
+ const renderBlock$3 = ({ context, columns, className }) => (block, i) => {
938
950
  const type = block?.blockListType;
939
951
  if (!type || !(type in EmbeddableBlocks)) {
940
952
  return null;
@@ -1078,30 +1090,6 @@
1078
1090
  return (jsx("div", { className: "pr-[50px]", children: jsxs("div", { className: "flex w-full", children: [jsx("div", { className: FIRST_CELL_CLASSES$1 }), jsx("button", { onClick: onClick, className: "mt-5 flex-1 border-main-stroke border-solid border text-primary-text bg-white hover:border-primary-main hover:text-primary-main", children: jsx("div", { className: "font-sans font-medium text-xs py-[11px]", children: !isShowAllRow ? 'Показать все параметры' : 'Скрыть' }) })] }) }));
1079
1091
  };
1080
1092
 
1081
- const TAB_STYLE = 'px-2 h-14 pb-2 pt-3 border border-b-0 border-main-stroke';
1082
- const ACTIVE_TAB_STYLE = 'px-2 h-16 pt-4 pb-2 text-white bg-primary-main';
1083
- const Tabs = JSX(({ tabs, currentTabIndex, onTabClick }) => {
1084
- return (jsx("div", { className: "flex items-end border-b border-main-stroke", role: "tablist", children: tabs?.map(renderTab$2(currentTabIndex, onTabClick)) }));
1085
- });
1086
- const renderTab$2 = (currentTabIndex, onTabClick) => (tab, index) => {
1087
- const isActive = currentTabIndex === index;
1088
- return (jsxs("div", { className: `flex h-full flex-1 cursor-pointer mr-2 last:mr-0 box-content ${isActive ? ACTIVE_TAB_STYLE : TAB_STYLE}`, role: "tab", onClick: () => onTabClick(index), "aria-selected": String(isActive), children: [tab?.icon ? renderIcon(tab, isActive) : null, jsxs("div", { children: [tab?.title ? jsx("h3", { className: "font-medium m-0 text-base", children: tab?.title }) : null, tab?.description ? (jsx("span", { className: `font-light text-xs ${isActive ? '' : 'text-secondary-text'}`, children: tab?.description })) : null] })] }, String(index)));
1089
- };
1090
- const renderIcon = (tab, isActive) => (jsx("div", { className: "h-full mt-1", children: jsx(Img, { className: `w-5 h-5 mr-3 ${isActive ? 'invert' : ''}`, image: tab?.icon || 'CardIcon', asSVG: !isActive }) }));
1091
-
1092
- function getTileHeadingType(className = '') {
1093
- const colSpan = getColSpan(className);
1094
- if (colSpan <= 4) {
1095
- return 'h4';
1096
- }
1097
- else if (colSpan <= 8) {
1098
- return 'h3';
1099
- }
1100
- else {
1101
- return 'h2';
1102
- }
1103
- }
1104
-
1105
1093
  function useCreditCalculatorData(useAsyncData, directoryName) {
1106
1094
  const { data } = useAsyncData(creditCalculatorUrl(directoryName), fetchCreditCalculatorData);
1107
1095
  return data || {};
@@ -1128,10 +1116,345 @@
1128
1116
  ];
1129
1117
  const Checkbox = JSX(({ text, checked, onChange, className }) => (jsx("div", { className: className, children: jsxs("label", { className: "flex items-center cursor-pointer relative", children: [jsx("input", { className: `peer appearance-none w-5 h-5 border-solid border ${checked ? 'border-black' : 'border-main-stroke'} rounded checked:bg-primary-main checked:border-primary-main m-0`, type: "checkbox", onChange: (e) => {
1130
1118
  onChange(e.target.checked);
1131
- }, checked: checked }), jsx(SVG, { paths: CHECK_PATHS, className: "hidden absolute left-1 ml-px peer-checked:block", width: "11", height: "9", fill: "white", viewBox: "0 0 11 9" }), text ? (jsx("span", { className: "font-sans ml-3 text-sm leading-5 cursor-pointer", children: text })) : null] }) })));
1119
+ }, checked: checked }), jsx(SVG, { paths: CHECK_PATHS, className: "hidden absolute left-1 ml-px peer-checked:block", width: "11", height: "9", fill: "white", viewBox: "0 0 11 9" }), text ? jsx("span", { className: "font-sans ml-3 text-m-base cursor-pointer", children: text }) : null] }) })));
1120
+
1121
+ const addSpacesBetweenNumbers = (number) => new Intl.NumberFormat('ru-RU', { maximumSignificantDigits: 3 }).format(number);
1122
+
1123
+ const CalculatorValueBlock = JSX(({ title, value, postfix = '', prefix, className = '' }) => {
1124
+ return (jsxs("div", { className: `mb-5 ${className}`, children: [title ? jsx("div", { className: "text-base font-light", children: title }) : null, value ? (jsxs("div", { className: "text-title font-normal", children: [prefix, " ", addSpacesBetweenNumbers(Math.round(value)), " ", postfix] })) : null] }));
1125
+ });
1126
+
1127
+ const DEFAULT_MIN_SUM$1 = 30000;
1128
+ const DEFAULT_MAX_SUM$1 = 3000000;
1129
+ const DEFAULT_SUM$1 = (DEFAULT_MAX_SUM$1 - DEFAULT_MIN_SUM$1) / 2;
1130
+ const DEFAULT_MIN_MONTHS$1 = 1;
1131
+ const DEFAULT_MAX_MONTHS$1 = 84;
1132
+ const DEFAULT_MONTHS$1 = Math.round((DEFAULT_MAX_MONTHS$1 - DEFAULT_MIN_MONTHS$1) / 2);
1133
+ const MONTHS_IN_YEAR$1 = 12;
1134
+
1135
+ const InputRange = JSX(({ className, title, items = [], min = 1, max = 100, step = 1, value = min, onChange }) => {
1136
+ const handleChange = (value) => {
1137
+ if (!onChange)
1138
+ return;
1139
+ const sanitizedValue = Number(value.replace(/\D/g, ''));
1140
+ onChange(sanitizedValue);
1141
+ };
1142
+ const inputStyle = {
1143
+ backgroundSize: `${(((value - min) * 100) / (max - min)).toFixed(2)}% 100%`,
1144
+ };
1145
+ const handleBlur = () => {
1146
+ if (!onChange)
1147
+ return;
1148
+ if (value < min)
1149
+ onChange(min);
1150
+ if (value > max)
1151
+ onChange(max);
1152
+ };
1153
+ return (jsxs("div", { className: className, children: [jsxs("label", { className: "block relative", children: [title ? jsx("span", { className: "text-base text-secondary-text pl-4", children: title }) : null, jsx("input", { className: `m-0 mt-[5px] font-sans text-title w-full h-14 border border-solid border-main-stroke rounded-md
1154
+ outline-none p-0 pl-4 box-border text-primary-text`, value: addSpacesBetweenNumbers(value), onChange: (e) => handleChange(e.target.value), onBlur: handleBlur }), jsx("div", { className: "absolute inset-x-0 bottom-[-4px] 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, onChange: (e) => handleChange(e.target.value), style: inputStyle }) })] }), jsx("div", { className: "flex justify-between my-3", children: items.map((item, i) => (jsx("span", { className: "text-sm leading-[14px] text-secondary-text pl-4", children: item }, String(i)))) })] }));
1155
+ });
1156
+
1157
+ const STEP_MONEY$3 = 1000;
1158
+ function renderWantedSumInput$1(props) {
1159
+ const { title, className = '', calculatorParams, moneyValue, defaultSum, setMoneyValue, isShowItems = true, } = props;
1160
+ const minSum = calculatorParams?.minSum || DEFAULT_MIN_SUM$1;
1161
+ const maxSum = calculatorParams?.maxSum || DEFAULT_MAX_SUM$1;
1162
+ const items = [
1163
+ `От ${addSpacesBetweenNumbers(minSum)} ₽`,
1164
+ `До ${addSpacesBetweenNumbers(maxSum)} ₽`,
1165
+ ];
1166
+ return (jsx(InputRange, { className: className, title: title, items: isShowItems ? items : [], min: minSum, max: maxSum, step: STEP_MONEY$3, value: moneyValue || defaultSum, onChange: setMoneyValue }));
1167
+ }
1168
+
1169
+ const DEFAULT_RATE$1 = 10.2;
1170
+ const getCreditRate$1 = (params) => {
1171
+ const { calculatorParams, isInsurance } = params;
1172
+ if (!calculatorParams)
1173
+ return DEFAULT_RATE$1;
1174
+ return isInsurance
1175
+ ? calculatorParams?.rateWithInsurance || DEFAULT_RATE$1
1176
+ : calculatorParams?.rateWithoutInsurance || DEFAULT_RATE$1;
1177
+ };
1178
+
1179
+ const getCalculatorParams$1 = (params) => {
1180
+ const { tableRows, isAnnuity = false } = params;
1181
+ if (!tableRows)
1182
+ return {};
1183
+ const calculatorParams = tableRows.find((row) => row.isAnnuity === isAnnuity);
1184
+ return calculatorParams || {};
1185
+ };
1186
+
1187
+ const getDefaultSum$1 = (calculatorParams) => calculatorParams.maxSum && calculatorParams.minSum
1188
+ ? (calculatorParams.maxSum - calculatorParams.minSum) / 2
1189
+ : DEFAULT_SUM$1;
1190
+
1191
+ const getDefaultMonths$1 = (calculatorParams) => calculatorParams.maxMonths && calculatorParams.minMonths
1192
+ ? Math.round((calculatorParams.maxMonths - calculatorParams.minMonths) / 2)
1193
+ : DEFAULT_MONTHS$1;
1132
1194
 
1133
1195
  const clamp = (value, min, max) => Math.max(min, Math.min(value, max));
1134
1196
 
1197
+ const getMonthlyPayment$1 = (params) => {
1198
+ const { calculatorParams, paymentType, rate, sum, months } = params;
1199
+ if (!calculatorParams)
1200
+ return 0;
1201
+ const finalSum = clamp(sum, calculatorParams.minSum || DEFAULT_MIN_SUM$1, calculatorParams.maxSum || DEFAULT_MAX_SUM$1);
1202
+ if (paymentType === 'annuity') {
1203
+ const annuityCoef = Number(rate) / (MONTHS_IN_YEAR$1 * 100);
1204
+ return finalSum * (annuityCoef + annuityCoef / (Math.pow(1 + annuityCoef, months) - 1));
1205
+ }
1206
+ else {
1207
+ return finalSum / months + finalSum * (Number(rate) / 12);
1208
+ }
1209
+ };
1210
+
1211
+ const STEP_MONTHS$1 = 1;
1212
+ function renderMonthsInput$1(props) {
1213
+ const { title, minMonths, maxMonths, monthsValue, defaultMonths, setMonthsValue } = props;
1214
+ const monthText = (month) => {
1215
+ const text = Number(month) % 10 === 1 ? 'месяца' : 'месяцев';
1216
+ return `${month} ${text}`;
1217
+ };
1218
+ return (jsx(InputRange, { className: "mt-6", title: title, items: [`От ${monthText(minMonths)}`, `До ${monthText(maxMonths)}`], min: minMonths, max: maxMonths, step: STEP_MONTHS$1, value: monthsValue || defaultMonths, onChange: setMonthsValue }));
1219
+ }
1220
+
1221
+ function renderButtonSection(context, buttons) {
1222
+ return buttons?.length ? (jsx(ButtonSection, { context: context, buttons: buttons, className: "flex flex-col mt-7 gap-2" })) : null;
1223
+ }
1224
+
1225
+ function renderRate({ rate, title, sup, className = '' }) {
1226
+ const rateFormat = String(rate).replace('.', ',');
1227
+ return (jsxs("div", { children: [jsx("div", { className: "text-sm font-light ml-3", children: title }), jsxs("div", { className: "flex justify-start", children: [jsx("span", { className: `calc-rate-text font-mohave text-[200px] leading-[250px] pr-4 mt-[-16px] ${className}`, children: rateFormat }), sup ? jsx("span", { className: "calc-rate-text text-[65px] leading-[75px]", children: sup }) : ''] })] }));
1228
+ }
1229
+
1230
+ const DEFAULT_PAYMENT_TYPE$1 = 'annuity';
1231
+ const CreditCalculatorForm$1 = JSX(({ context, className = '', buttons }) => {
1232
+ const [moneyValue, setMoneyValue] = context.useState(undefined);
1233
+ const [monthsValue, setMonthsValue] = context.useState(undefined);
1234
+ const [isAnnuity, toggleIsAnnuity] = context.useState(false);
1235
+ const [isBudgetary, toggleIsBudgetary] = context.useState(false);
1236
+ const [isInsurance, toggleIsInsurance] = context.useState(false);
1237
+ const tableRows = useCreditCalculatorData(context.useAsyncData, 'directoryName').rows;
1238
+ const calculatorParams = getCalculatorParams$1({ tableRows, isAnnuity: isAnnuity });
1239
+ const defaultSum = getDefaultSum$1(calculatorParams);
1240
+ const defaultMonths = getDefaultMonths$1(calculatorParams);
1241
+ const minMonths = calculatorParams?.minMonths || DEFAULT_MIN_MONTHS$1;
1242
+ const maxMonths = calculatorParams?.maxMonths || DEFAULT_MAX_MONTHS$1;
1243
+ const rate = getCreditRate$1({ calculatorParams, isInsurance: isInsurance });
1244
+ const monthlyPayment = getMonthlyPayment$1({
1245
+ calculatorParams,
1246
+ paymentType: DEFAULT_PAYMENT_TYPE$1,
1247
+ rate,
1248
+ sum: moneyValue || defaultSum,
1249
+ months: monthsValue || defaultMonths,
1250
+ });
1251
+ const title = 'Сумма кредита, ₽';
1252
+ return (jsxs("section", { className: className, children: [jsxs("div", { className: "w-[468px]", children: [renderWantedSumInput$1({ title, calculatorParams, moneyValue, defaultSum, setMoneyValue }), renderMonthsInput$1({
1253
+ title: 'Сумма кредита, ₽',
1254
+ minMonths,
1255
+ maxMonths,
1256
+ monthsValue,
1257
+ defaultMonths,
1258
+ setMonthsValue,
1259
+ }), 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: isAnnuity, onChange: toggleIsAnnuity }), 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: isBudgetary, onChange: toggleIsBudgetary }), 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("div", { children: rate
1260
+ ? renderRate({ rate: rate, title: 'Ставка', sup: '%', className: 'tracking-[-25px]' })
1261
+ : null }), jsxs("div", { className: "w-[351px]", children: [monthlyPayment ? (jsx(CalculatorValueBlock, { title: "\u0415\u0436\u0435\u043C\u0435\u0441\u044F\u0447\u043D\u044B\u0439 \u043F\u043B\u0430\u0442\u0435\u0436", value: monthlyPayment, postfix: "\u20BD" })) : null, renderButtonSection(context, buttons)] })] }));
1262
+ });
1263
+
1264
+ const STEP_MONEY$2 = 1000;
1265
+ function renderRealEstateValue(props) {
1266
+ const { calculatorParams, moneyValue, defaultSum, setMoneyValue } = props;
1267
+ const minSum = calculatorParams?.minSum || DEFAULT_MIN_SUM$1;
1268
+ const maxSum = calculatorParams?.maxSum || DEFAULT_MAX_SUM$1;
1269
+ return (jsx(InputRange, { title: "\u0421\u0442\u043E\u0438\u043C\u043E\u0441\u0442\u044C \u043D\u0435\u0434\u0432\u0438\u0436\u0438\u043C\u043E\u0441\u0442\u0438, \u20BD ", items: [`От ${addSpacesBetweenNumbers(minSum)} ₽`, `До ${addSpacesBetweenNumbers(maxSum)} ₽`], min: minSum, max: maxSum, step: STEP_MONEY$2, value: moneyValue || defaultSum, onChange: setMoneyValue }));
1270
+ }
1271
+
1272
+ const STEP_MONEY$1 = 1000;
1273
+ function renderInitialFeeInput(props) {
1274
+ const { calculatorParams, moneyValue, defaultSum, setMoneyValue } = props;
1275
+ const minSum = calculatorParams?.minSum || DEFAULT_MIN_SUM$1;
1276
+ const maxSum = calculatorParams?.maxSum || DEFAULT_MAX_SUM$1;
1277
+ return (jsx(InputRange, { className: "mt-6", title: "\u041F\u0435\u0440\u0432\u043E\u043D\u0430\u0447\u0430\u043B\u044C\u043D\u044B\u0439 \u0432\u0437\u043D\u043E\u0441, \u20BD ", items: [
1278
+ `От ${addSpacesBetweenNumbers(minSum)} рублей`,
1279
+ `До ${addSpacesBetweenNumbers(maxSum)} рублей`,
1280
+ ], min: minSum, max: maxSum, step: STEP_MONEY$1, value: moneyValue || defaultSum, onChange: setMoneyValue }));
1281
+ }
1282
+
1283
+ function renderProposalMortgage({ credit, period, taxRefund }) {
1284
+ 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" })] }));
1285
+ }
1286
+
1287
+ const MortgageCalculatorForm = JSX(({ context, className = '', buttons }) => {
1288
+ const [moneyValue, setMoneyValue] = context.useState(undefined);
1289
+ const [monthsValue, setMonthsValue] = context.useState(undefined);
1290
+ const [isInsurance, toggleIsInsurance] = context.useState(false);
1291
+ const [isFullInsurance, toggleIsFullInsurance] = context.useState(false);
1292
+ const tableRows = useCreditCalculatorData(context.useAsyncData, 'directoryName').rows;
1293
+ const calculatorParams = getCalculatorParams$1({ tableRows, isAnnuity: isInsurance });
1294
+ const defaultSum = getDefaultSum$1(calculatorParams);
1295
+ const defaultMonths = getDefaultMonths$1(calculatorParams);
1296
+ const minMonths = calculatorParams?.minMonths || DEFAULT_MIN_MONTHS$1;
1297
+ const maxMonths = calculatorParams?.maxMonths || DEFAULT_MAX_MONTHS$1;
1298
+ const rate = getCreditRate$1({ calculatorParams, isInsurance: isInsurance });
1299
+ const monthlyPayment = 777777; // TODO: hardcode
1300
+ const proposalMortgageValue = { credit: 3892000, period: 15, taxRefund: 650000 }; // TODO: hardcode
1301
+ return (jsxs("section", { className: className, children: [jsxs("div", { className: "w-[468px]", children: [renderRealEstateValue({ calculatorParams, moneyValue, defaultSum, setMoneyValue }), renderInitialFeeInput({
1302
+ calculatorParams,
1303
+ moneyValue,
1304
+ defaultSum,
1305
+ setMoneyValue,
1306
+ }), renderMonthsInput$1({
1307
+ title: 'Срок ипотеки, месяцев',
1308
+ minMonths,
1309
+ maxMonths,
1310
+ monthsValue,
1311
+ defaultMonths,
1312
+ setMonthsValue,
1313
+ }), 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("div", { children: rate
1314
+ ? renderRate({ rate: rate, title: 'Ставка', sup: '%', className: 'tracking-[-25px]' })
1315
+ : null }), 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)] })] }));
1316
+ });
1317
+
1318
+ const DepositCalculatorForm = JSX(({ context, className = '', buttons, rate, minSum, maxSum, minMonths, maxMonths }) => {
1319
+ const [moneyValue, setMoneyValue] = context.useState(undefined);
1320
+ const [monthsValue, setMonthsValue] = context.useState(undefined);
1321
+ const tableRows = useCreditCalculatorData(context.useAsyncData, 'directoryName').rows;
1322
+ const calculatorParams = getCalculatorParams$1({ tableRows, isAnnuity: false });
1323
+ const defaultSum = getDefaultSum$1(calculatorParams);
1324
+ const defaultMonths = getDefaultMonths$1(calculatorParams);
1325
+ const income = 948841;
1326
+ const finallySum = 1218841;
1327
+ return (jsxs("section", { className: className, children: [jsxs("div", { className: "w-[468px]", children: [renderWantedSumInput$1({
1328
+ title: 'Сумма вклада, ₽',
1329
+ calculatorParams: { minSum, maxSum },
1330
+ moneyValue,
1331
+ defaultSum,
1332
+ setMoneyValue,
1333
+ }), renderMonthsInput$1({
1334
+ title: 'Срок вклада, месяцев',
1335
+ minMonths: minMonths || DEFAULT_MIN_MONTHS$1,
1336
+ maxMonths: maxMonths || DEFAULT_MAX_MONTHS$1,
1337
+ monthsValue,
1338
+ defaultMonths,
1339
+ setMonthsValue,
1340
+ })] }), jsx("div", { children: rate
1341
+ ? renderRate({ rate: rate, title: 'Ставка', sup: '%', className: 'tracking-[-25px]' })
1342
+ : null }), jsxs("div", { className: "w-[351px]", children: [(jsx(CalculatorValueBlock, { title: "\u0414\u043E\u0445\u043E\u0434 \u043F\u043E \u0432\u043A\u043B\u0430\u0434\u0443", value: income, postfix: "\u20BD", prefix: "+" })) , (jsx(CalculatorValueBlock, { title: "\u0421\u0443\u043C\u043C\u0430 \u0432 \u043A\u043E\u043D\u0446\u0435 \u0441\u0440\u043E\u043A\u0430", value: finallySum, postfix: "\u20BD" })) , renderButtonSection(context, buttons)] })] }));
1343
+ });
1344
+
1345
+ const BonusCalculatorForm = JSX(({ context, className = '', buttons, bonus, minSumTrip, maxSumTrip, minSumOther, maxSumOther, }) => {
1346
+ const [bonusTripValue, setBonusTripValue] = context.useState(undefined);
1347
+ const [bonusOtherValue, setBonusOtherValue] = context.useState(undefined);
1348
+ const calculatorTripParams = { minSum: minSumTrip, maxSum: maxSumTrip };
1349
+ const calculatorOtherParams = { minSum: minSumOther, maxSum: maxSumOther };
1350
+ const incomeBonus = 948841;
1351
+ const bonusOrDef = bonus || 2528;
1352
+ return (jsxs("section", { className: className, children: [jsxs("div", { className: "w-[468px]", children: [renderWantedSumInput$1({
1353
+ title: 'Сумма покупок в категории путешествия, ₽',
1354
+ calculatorParams: calculatorTripParams,
1355
+ moneyValue: bonusTripValue,
1356
+ defaultSum: getDefaultSum$1(calculatorTripParams),
1357
+ setMoneyValue: setBonusTripValue,
1358
+ isShowItems: false,
1359
+ }), renderWantedSumInput$1({
1360
+ className: 'mt-6',
1361
+ title: 'Сумма покупок в остальных категориях, ₽',
1362
+ calculatorParams: calculatorOtherParams,
1363
+ moneyValue: bonusOtherValue,
1364
+ defaultSum: getDefaultSum$1(calculatorOtherParams),
1365
+ setMoneyValue: setBonusOtherValue,
1366
+ isShowItems: false,
1367
+ })] }), jsx("div", { children: bonusOrDef
1368
+ ? renderRate({
1369
+ rate: bonusOrDef,
1370
+ title: 'Баллов за месяц',
1371
+ className: 'tracking-[-14px]',
1372
+ })
1373
+ : null }), jsxs("div", { className: "w-[240px]", children: [jsx(CalculatorValueBlock, { title: "\u0411\u0430\u043B\u043B\u043E\u0432 \u0437\u0430 \u0433\u043E\u0434", value: incomeBonus }) , renderButtonSection(context, buttons)] })] }));
1374
+ });
1375
+
1376
+ const EmbeddableCalcBlocks = {
1377
+ CreditCalculatorForm: CreditCalculatorForm$1,
1378
+ MortgageCalculatorForm,
1379
+ DepositCalculatorForm,
1380
+ BonusCalculatorForm,
1381
+ };
1382
+
1383
+ const renderCalculatorList = ({ blockCalcTabs, context, className, }) => {
1384
+ return blockCalcTabs?.length ? blockCalcTabs.map(renderBlock$2({ context, className })) : null;
1385
+ };
1386
+ const renderBlock$2 = ({ context, className }) => (blockCalcTabs, i) => {
1387
+ const type = blockCalcTabs?.calcType;
1388
+ if (!type || !(type in EmbeddableCalcBlocks)) {
1389
+ return null;
1390
+ }
1391
+ const EmbeddedBlock = EmbeddableCalcBlocks[type];
1392
+ return (jsx("section", { className: `box-border relative flex grow-0 shrink-0 basis-full ${className}`, role: "listitem", children: jsx("div", { className: `box-border p-9 w-full`, children: jsx(EmbeddedBlock, { context: context, ...blockCalcTabs, className: "!p-0 flex justify-between" }) }) }, `${String(i)}`));
1393
+ };
1394
+
1395
+ const arrowBtnStyle = 'absolute w-[56px] h-[56px] min-h-[56px] max-h-[56px] top-1 z-10 mt-[25px] bg-white rounded-full';
1396
+ const Calculator = JSX(({ className = '', context, calcTabs = [], anchor = null }) => {
1397
+ const tabsNav = calcTabs.map((_) => _.nav || {});
1398
+ const blockCalcTabs = calcTabs.map(({ calculatorBlock }) => calculatorBlock || {});
1399
+ const [activeSlideIndex, setActiveSlideIndex] = context.useState(0);
1400
+ const [tabsShift, setTabsShift] = context.useState(0);
1401
+ const handleNextClick = () => setTabsShift(tabsShift + 1);
1402
+ const handlePrevClick = () => setTabsShift(tabsShift - 1);
1403
+ const isGalleryScrollAvailable = calcTabs?.length > 3;
1404
+ const showNextButton = isGalleryScrollAvailable && calcTabs?.length > tabsShift + 3;
1405
+ const showPrevButton = tabsShift > 0;
1406
+ return (jsxs("section", { id: anchor, className: `box-border overflow-hidden relative font-sans w-100 bg-white text-primary-text ${className}`, children: [jsxs("div", { children: [tabsNav.length > 1
1407
+ ? renderTabs({ tabsShift, tabsNav, activeSlideIndex, setActiveSlideIndex })
1408
+ : null, showPrevButton ? (jsx(ArrowButton, { className: `${arrowBtnStyle} left-3 top-3`, onClick: handlePrevClick, ariaLabel: "\u041F\u0440\u043E\u043B\u0438\u0441\u0442\u0430\u0442\u044C \u0432\u043B\u0435\u0432\u043E", "data-block-control": "scroll-left" })) : null, showNextButton ? (jsx(ArrowButton, { className: `${arrowBtnStyle} right-3 top-3 rotate-180`, onClick: handleNextClick, ariaLabel: "\u041F\u0440\u043E\u043B\u0438\u0441\u0442\u0430\u0442\u044C \u0432\u043F\u0440\u0430\u0432\u043E", "data-block-control": "scroll-right" })) : null] }), jsx("div", { className: "flex", style: { transform: `translateX(-${activeSlideIndex}00%)` }, role: "list", children: renderCalculatorList({
1409
+ context,
1410
+ className,
1411
+ blockCalcTabs,
1412
+ }) })] }));
1413
+ });
1414
+ function renderNavButton$1({ tab, i, activeSlideIndex, onClick }) {
1415
+ const isActiveBtn = i === activeSlideIndex;
1416
+ const btnClassName = isActiveBtn
1417
+ ? 'h-[88px] w-[387px] min-w-[387px] p-5 border-none bg-primary-main text-white'
1418
+ : `h-[77px] w-[322px] min-w-[322px] px-5 py-4 ease-in duration-300 bg-white text-primary-text`;
1419
+ const btnTitleClassName = isActiveBtn ? 'text-md-new mb-1.5' : `text-base mb-[3px]`;
1420
+ const btnDescClassName = isActiveBtn ? 'text-base text-white' : `text-m-md`;
1421
+ const iconClassName = isActiveBtn ? '' : `text-primary-main`;
1422
+ return (jsxs("button", { type: "button", onClick: onClick, "aria-label": tab?.title, className: `box-border font-sans relative border-[1px] border-main-stroke cursor-pointer text-left border-b-0 flex
1423
+ ${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: `font-medium ${btnTitleClassName}`, children: tab?.title }), jsx("div", { className: `text-secondary-text ${btnDescClassName}`, children: tab.description })] })] }, String(i)));
1424
+ }
1425
+ function renderTabs({ tabsShift, tabsNav, activeSlideIndex, setActiveSlideIndex }) {
1426
+ return (jsxs("div", { children: [jsx("div", { style: { transform: `translateX(-${tabsShift * 388}px)` }, className: "flex flex-col justify-end items-center h-[126px] pt-[38px] box-border duration-1000", children: jsx("div", { className: "w-full flex flex-nowrap items-end gap-2", children: tabsNav.map((tab, i) => renderNavButton$1({
1427
+ tab,
1428
+ i,
1429
+ activeSlideIndex,
1430
+ onClick: () => setActiveSlideIndex(i),
1431
+ })) }) }), jsx("div", { className: "w-full h-2 bg-primary-main" })] }));
1432
+ }
1433
+
1434
+ const TAB_STYLE = 'px-2 h-14 pb-2 pt-3 border border-b-0 border-main-stroke';
1435
+ const ACTIVE_TAB_STYLE = 'px-2 h-16 pt-4 pb-2 text-white bg-primary-main';
1436
+ const Tabs = JSX(({ tabs, currentTabIndex, onTabClick }) => {
1437
+ return (jsx("div", { className: "flex items-end border-b border-main-stroke", role: "tablist", children: tabs?.map(renderTab$2(currentTabIndex, onTabClick)) }));
1438
+ });
1439
+ const renderTab$2 = (currentTabIndex, onTabClick) => (tab, index) => {
1440
+ const isActive = currentTabIndex === index;
1441
+ return (jsxs("div", { className: `flex h-full flex-1 cursor-pointer mr-2 last:mr-0 box-content ${isActive ? ACTIVE_TAB_STYLE : TAB_STYLE}`, role: "tab", onClick: () => onTabClick(index), "aria-selected": String(isActive), children: [tab?.icon ? renderIcon(tab, isActive) : null, jsxs("div", { children: [tab?.title ? jsx("h3", { className: "font-medium m-0 text-base", children: tab?.title }) : null, tab?.description ? (jsx("span", { className: `font-light text-xs ${isActive ? '' : 'text-secondary-text'}`, children: tab?.description })) : null] })] }, String(index)));
1442
+ };
1443
+ const renderIcon = (tab, isActive) => (jsx("div", { className: "h-full mt-1", children: jsx(Img, { className: `w-5 h-5 mr-3 ${isActive ? 'invert' : ''}`, image: tab?.icon || 'CardIcon', asSVG: !isActive }) }));
1444
+
1445
+ function getTileHeadingType(className = '') {
1446
+ const colSpan = getColSpan(className);
1447
+ if (colSpan <= 4) {
1448
+ return 'h4';
1449
+ }
1450
+ else if (colSpan <= 8) {
1451
+ return 'h3';
1452
+ }
1453
+ else {
1454
+ return 'h2';
1455
+ }
1456
+ }
1457
+
1135
1458
  const DEFAULT_MIN_SUM = 30000;
1136
1459
  const DEFAULT_MAX_SUM = 3000000;
1137
1460
  const DEFAULT_SUM = (DEFAULT_MAX_SUM - DEFAULT_MIN_SUM) / 2;
@@ -1206,30 +1529,6 @@
1206
1529
  return (jsx("button", { className: "bg-secondary-light rounded-3xl h-10 w-[75px] box-border mr-2 flex items-center justify-center cursor-pointer border-none", onClick: () => handleClick(number), children: jsxs("span", { className: "font-semibold text-sm", children: [number, " ", string] }) }, String(i)));
1207
1530
  }
1208
1531
 
1209
- const addSpacesBetweenNumbers = (number) => new Intl.NumberFormat('ru-RU', { maximumSignificantDigits: 3 }).format(number);
1210
-
1211
- const InputRange = JSX(({ className, title, items = [], min = 1, max = 100, step = 1, value = min, onChange }) => {
1212
- const handleChange = (value) => {
1213
- if (!onChange)
1214
- return;
1215
- const sanitizedValue = Number(value.replace(/\D/g, ''));
1216
- onChange(sanitizedValue);
1217
- };
1218
- const inputStyle = {
1219
- backgroundSize: `${(((value - min) * 100) / (max - min)).toFixed(2)}% 100%`,
1220
- };
1221
- const handleBlur = () => {
1222
- if (!onChange)
1223
- return;
1224
- if (value < min)
1225
- onChange(min);
1226
- if (value > max)
1227
- onChange(max);
1228
- };
1229
- return (jsxs("div", { className: className, children: [jsxs("label", { className: "block relative", children: [title ? (jsx("span", { className: "absolute text-xs text-secondary-text top-1 mt-0.5 pl-4 ml-0.5", children: title })) : null, jsx("input", { className: `m-0 font-sans text-sm w-full h-12 border border-solid border-main-stroke rounded-md
1230
- outline-none p-0 pl-4 m-0 box-border text-primary-text ${title ? 'pt-4' : ''}`, value: addSpacesBetweenNumbers(value), onChange: (e) => handleChange(e.target.value), onBlur: handleBlur }), jsx("div", { className: "absolute inset-x-0 top-[35px] 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, onChange: (e) => handleChange(e.target.value), style: inputStyle }) })] }), jsx("div", { className: "flex justify-between my-3", children: items.map((item, i) => (jsxs("span", { className: "text-xs leading-[14px] text-secondary-text pl-4", children: [" ", item, " "] }, String(i)))) })] }));
1231
- });
1232
-
1233
1532
  const STEP_MONTHS = 1;
1234
1533
  function renderMonthsInput(props) {
1235
1534
  const { minMonths, maxMonths, monthsValue, defaultMonths, setMonthsValue } = props;
@@ -1679,6 +1978,10 @@
1679
1978
  });
1680
1979
  };
1681
1980
 
1981
+ const DOT_BG_COLORS_MAP = {
1982
+ 'bg-white': 'bg-primary-text',
1983
+ transparent: 'bg-white',
1984
+ };
1682
1985
  const HeaderSubMenu = JSX(({ context, subItems, bgColor }) => {
1683
1986
  const [subMenuIsShow, setHiddenMenuIsShow] = context.useState(false);
1684
1987
  const router = context.useRouter();
@@ -1699,30 +2002,29 @@
1699
2002
  subMenuIsShow,
1700
2003
  toggleSubMenu,
1701
2004
  subItems,
2005
+ bgColor,
1702
2006
  router,
1703
2007
  handlerDecorator,
1704
2008
  })] }));
1705
2009
  });
1706
2010
  // TODO: add types
1707
- const renderDotsSubMenu = ({ subMenuIsShow, toggleSubMenu, subItems, router, handlerDecorator, }) => (jsxs("div", { className: `absolute w-52 -top-4 right-0 pt-4 z-40 ${subMenuIsShow ? 'bg-white rounded-md shadow-blue-gray/24' : ''}`, "data-header-submenu-visible": "toggled", children: [jsx("button", { className: "flex justify-between items-center cursor-pointer h-6 ml-6", onClick: toggleSubMenu, "aria-label": `${subMenuIsShow ? 'Скрыть другие разделы' : 'Показать другие разделы'}`, children: Array(3)
1708
- .fill(0)
1709
- .map((_, i) => renderDot(i)) }), jsx("div", { className: `flex flex-col rounded-md bg-white p-6 pb-2 ${subMenuIsShow ? '' : 'hidden'}`, "aria-hidden": !subMenuIsShow, children: renderDotsSubMenuItems(subItems, router, handlerDecorator) })] }));
2011
+ const renderDotsSubMenu = ({ subMenuIsShow, toggleSubMenu, subItems, bgColor, router, handlerDecorator, }) => (jsxs("div", { className: `absolute w-52 -top-4 right-0 pt-4 z-40 ${subMenuIsShow ? 'bg-white rounded-md shadow-blue-gray/24' : ''}`, "data-header-submenu-visible": "toggled", children: [jsx("button", { className: "flex justify-between items-center cursor-pointer h-6 ml-6", onClick: toggleSubMenu, "aria-label": `${subMenuIsShow ? 'Скрыть другие разделы' : 'Показать другие разделы'}`, children: Array(3).fill(bgColor).map(renderDot) }), jsx("div", { className: `flex flex-col rounded-md bg-white p-6 pb-2 ${subMenuIsShow ? '' : 'hidden'}`, "aria-hidden": !subMenuIsShow, children: renderDotsSubMenuItems(subItems, router, handlerDecorator) })] }));
1710
2012
  // TODO: add types
1711
2013
  const renderDotsSubMenuItems = (subItems, router, handlerDecorator) => subItems?.map((_) => (jsx("a", { ...useLink({ router, handlerDecorator }, _), "data-item-name": "dots-header-submenu", className: "text-base font-light pb-4 hover:text-primary-main", children: _.text }, _.href)));
1712
- const renderDot = (i) => (jsx("div", { className: "w-[3px] h-[3px] rounded bg-black mr-1" }, String(i)));
2014
+ const renderDot = (bgColor, i) => (jsx("div", { className: `w-[3px] h-[3px] rounded mr-1 ${DOT_BG_COLORS_MAP[bgColor]}` }, String(i)));
1713
2015
 
1714
2016
  const BORDER_COLORS = {
1715
2017
  'bg-white': 'bg-main-divider',
1716
2018
  transparent: 'bg-main-divider opacity-30',
1717
2019
  };
1718
- const Header = JSX(({ className = '', defaultLocation = 'Москва', bgColor = 'bg-white', context, topItems, anchor = null, }) => {
2020
+ const Header = JSX(({ className = '', defaultLocation = 'Москва', showSubMenu = true, bgColor = 'bg-white', context, topItems, anchor = null, }) => {
1719
2021
  const router = context.useRouter();
1720
2022
  const sitemap = useSitemap(context.useAsyncData);
1721
2023
  const { handlerDecorator } = context;
1722
2024
  const mergedItems = mergeTopItems(sitemap.topItems, topItems);
1723
2025
  const activeTopItem = mergedItems.find(isTopItemActive(router));
1724
2026
  const topMenu = mergedItems.map((_, i) => (jsx(TopItem, { active: _ === activeTopItem, ...useLink({ router, handlerDecorator }, _), "aria-label": _.text, bgColor: bgColor }, String(i))));
1725
- return (jsx("header", { className: `pt-6 pb-8 px-20 ${bgColor} ${className}`, id: anchor, children: jsxs("div", { className: "container", children: [jsxs("div", { className: "flex items-center", children: [jsx(Logo, { className: "mr-8", bgColor: bgColor }), topMenu, jsx(HeaderSecondaryMenu, { context: context, className: "ml-auto", defaultLocation: defaultLocation, bgColor: bgColor })] }), jsx("div", { className: `mt-6 h-[1px] ${BORDER_COLORS[bgColor]}` }), jsx(HeaderSubMenu, { context: context, subItems: activeTopItem?.items, bgColor: bgColor })] }) }));
2027
+ return (jsx("header", { className: `pt-6 pb-8 px-20 ${bgColor} ${className}`, id: anchor, children: jsxs("div", { className: "container", children: [jsxs("div", { className: "flex items-center", children: [jsx(Logo, { className: "mr-8", bgColor: bgColor }), topMenu, jsx(HeaderSecondaryMenu, { context: context, className: "ml-auto", defaultLocation: defaultLocation, bgColor: bgColor })] }), jsx("div", { className: `mt-6 h-[1px] ${BORDER_COLORS[bgColor]}` }), showSubMenu && activeTopItem?.items?.length ? (jsx(HeaderSubMenu, { context: context, subItems: activeTopItem.items, bgColor: bgColor })) : null] }) }));
1726
2028
  });
1727
2029
 
1728
2030
  const MobileAppTile = JSX(({ className = '', context, title = 'Мобильное приложение', qr, buttons = [], anchor = null, }) => {
@@ -1814,34 +2116,6 @@
1814
2116
  primary: 'bg-white text-primary-text',
1815
2117
  secondary: 'bg-primary-main text-white',
1816
2118
  };
1817
- const ProductGalleryBlock = JSX(({ block, headingType, context, className = '' }) => {
1818
- const version = block?.version ?? 'primary';
1819
- return (jsx("section", { className: `flex grow-0 shrink-0 basis-full ${productGalleryStyleMap[version]} ${className}`, role: "listitem", children: jsx("div", { className: "p-10 flex grow", children: jsx(ProductBlockInner, { className: "pl-2.5 pt-2.5 pb-1.5 pr-[6.25rem]", context: context, headingType: headingType || 'h2', ...block }) }) }));
1820
- });
1821
-
1822
- const ProductGallery = JSX(({ className, context, duration = 0, slides = [], anchor = null }) => {
1823
- const galleryNav = slides.map((s) => s.nav);
1824
- const galleryBlocks = slides.map((s) => s.productBlock);
1825
- const [activeSlideIndex, setActiveSlideIndex] = context.useState(0);
1826
- return (jsxs("section", { className: `font-sans bg-white overflow-hidden w-100 ${className || ''}`, id: anchor, children: [jsx("div", { className: `flex duration-1000`, style: { transform: `translateX(-${activeSlideIndex}00%)` }, role: "list", children: galleryBlocks.map((_, i) => (jsx(ProductGalleryBlock, { context: context, block: _ }, String(i)))) }), jsx("div", { className: "flex", children: galleryNav.map((slide, i) => renderNavButton$1({
1827
- slide,
1828
- i,
1829
- activeSlideIndex,
1830
- onClick: () => setActiveSlideIndex(i),
1831
- duration,
1832
- })) })] }));
1833
- });
1834
- function renderNavButton$1({ slide, i, activeSlideIndex, onClick, duration }) {
1835
- const isActiveBtn = i === activeSlideIndex;
1836
- const progressBarClassName = isActiveBtn ? 'animate-slide' : '';
1837
- const btnTitleClassName = isActiveBtn ? 'text-primary-text' : 'text-secondary-text';
1838
- return (jsxs("button", { type: "button", onClick: onClick, "aria-label": slide?.title, className: `font-sans group relative overflow-hidden border-0 bg-inherit cursor-pointer text-left px-0 pt-4 pb-[23px] grow basis-0`, children: [jsxs("div", { className: "border-0 border-r border-solid border-main-divider px-6", children: [jsx("div", { className: `text-sm font-medium pb-[3px] group-hover:text-primary-text ${btnTitleClassName}`, children: slide?.title }), jsx("div", { className: "text-xs text-secondary-text", children: slide.desc })] }), jsx("div", { className: `absolute bottom-0 left-0 w-full h-[3px] bg-primary-main -translate-x-full ${progressBarClassName}`, style: { animationDuration: `${duration}s`, animationFillMode: 'forwards' } })] }, String(i)));
1839
- }
1840
-
1841
- const productGalleryGreenStyleMap = {
1842
- primary: 'bg-white text-primary-text',
1843
- secondary: 'bg-primary-main text-white',
1844
- };
1845
2119
  const productBlockStyleMap = {
1846
2120
  primary: { title: 'text-secondary-text', text: 'text-secondary-text' },
1847
2121
  secondary: { title: 'text-white', text: 'text-white/80' },
@@ -1850,12 +2124,12 @@
1850
2124
  primary: 'bg-white text-primary-text',
1851
2125
  secondary: 'bg-primary-main text-white',
1852
2126
  };
1853
- const ProductGalleryGreen = JSX(({ className = '', context, slides = [], version = 'primary', anchor = null }) => {
2127
+ const ProductGallery = JSX(({ className = '', context, slides = [], version = 'primary', anchor = null }) => {
1854
2128
  const galleryNav = slides.map((s) => s.nav);
1855
2129
  const galleryBlocks = slides.map((s) => s.productBlock);
1856
2130
  const [activeSlideIndex, setActiveSlideIndex] = context.useState(0);
1857
2131
  return (jsxs("section", { id: anchor, className: `box-border pt-[50px] overflow-hidden relative font-sans w-100 ${className}
1858
- ${productGalleryGreenStyleMap[version]}`, children: [jsx("div", { className: "flex duration-1000 pb-14", style: { transform: `translateX(-${activeSlideIndex}00%)` }, role: "list", children: galleryBlocks.map((_, i) => renderProductBlock({ ..._, version }, i, context)) }), jsx("div", { className: "flex items-center absolute bottom-6 left-0 right-0 px-[26px] box-border", children: galleryNav.map((slide, i) => renderNavButton({
2132
+ ${productGalleryStyleMap[version]}`, children: [jsx("div", { className: "flex duration-1000 pb-14", style: { transform: `translateX(-${activeSlideIndex}00%)` }, role: "list", children: galleryBlocks.map((_, i) => renderProductBlock({ ..._, version }, i, context)) }), jsx("div", { className: "flex items-center absolute bottom-6 left-0 right-0 px-[26px] box-border", children: galleryNav.map((slide, i) => renderNavButton({
1859
2133
  slide,
1860
2134
  i,
1861
2135
  activeSlideIndex,
@@ -2045,6 +2319,7 @@
2045
2319
  BenefitsBlock,
2046
2320
  Bonus,
2047
2321
  ComparisonTable,
2322
+ Calculator,
2048
2323
  CreditCalculator,
2049
2324
  ExchangeRateTile,
2050
2325
  Footer,
@@ -2059,7 +2334,6 @@
2059
2334
  PictureText,
2060
2335
  ProductBlock,
2061
2336
  ProductGallery,
2062
- ProductGalleryGreen,
2063
2337
  ProductTile,
2064
2338
  PromoTile,
2065
2339
  OtherProducts,