@redneckz/wildless-cms-uni-blocks 0.13.6 → 0.13.8

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 (378) hide show
  1. package/bin/migration-scripts/0.13.6.js +33 -0
  2. package/bundle/blocks.schema.json +1 -1
  3. package/bundle/bundle.umd.js +120 -93
  4. package/bundle/bundle.umd.min.js +1 -1
  5. package/bundle/components/Calculator/UnknownRate.d.ts +1 -0
  6. package/bundle/components/Calculator/renderRate.d.ts +2 -1
  7. package/bundle/components/Calculator/useBusinessDepositCalculatorParams.d.ts +1 -1
  8. package/bundle/components/Carousel/CarouselContent.d.ts +2 -2
  9. package/bundle/components/HorizontalLayout/HorizontalLayout.d.ts +2 -1
  10. package/bundle/components/HorizontalLayout/HorizontalLayoutContent.d.ts +2 -0
  11. package/bundle/components/MortgageFiltration/MortgageFiltrationContent.d.ts +13 -9
  12. package/bundle/ui-kit/Badge/Badge.d.ts +6 -0
  13. package/bundle/ui-kit/BaseFiltration/HotFilterBase.d.ts +7 -0
  14. package/bundle/ui-kit/BaseFiltration/getBadgeCount.d.ts +3 -0
  15. package/bundle/ui-kit/BaseFiltration/hotFilterRecordCmp.d.ts +1 -0
  16. package/bundle/ui-kit/BaseFiltration/useHotFilters.d.ts +14 -0
  17. package/bundle/ui-kit/TabsControl/TabItem.d.ts +5 -2
  18. package/dist/components/Blocks.mobile.js +6 -0
  19. package/dist/components/Blocks.mobile.js.map +1 -1
  20. package/dist/components/Bonus/Bonus.js +1 -2
  21. package/dist/components/Bonus/Bonus.js.map +1 -1
  22. package/dist/components/Calculator/BusinessDepositCalculatorForm.js +9 -9
  23. package/dist/components/Calculator/BusinessDepositCalculatorForm.js.map +1 -1
  24. package/dist/components/Calculator/RefinancingCalculatorForm.js +6 -3
  25. package/dist/components/Calculator/RefinancingCalculatorForm.js.map +1 -1
  26. package/dist/components/Calculator/UnknownRate.d.ts +1 -0
  27. package/dist/components/Calculator/UnknownRate.js +1 -1
  28. package/dist/components/Calculator/UnknownRate.js.map +1 -1
  29. package/dist/components/Calculator/constants.js +2 -2
  30. package/dist/components/Calculator/constants.js.map +1 -1
  31. package/dist/components/Calculator/renderRate.d.ts +2 -1
  32. package/dist/components/Calculator/renderRate.js +5 -5
  33. package/dist/components/Calculator/renderRate.js.map +1 -1
  34. package/dist/components/Calculator/useBusinessDepositCalculatorParams.d.ts +1 -1
  35. package/dist/components/Calculator/useBusinessDepositCalculatorParams.js +1 -1
  36. package/dist/components/Calculator/useBusinessDepositCalculatorParams.js.map +1 -1
  37. package/dist/components/Calculator/useCreditCalculatorParams.js +1 -4
  38. package/dist/components/Calculator/useCreditCalculatorParams.js.map +1 -1
  39. package/dist/components/Calculator/useRefinancingCalculatorParams.js +4 -11
  40. package/dist/components/Calculator/useRefinancingCalculatorParams.js.map +1 -1
  41. package/dist/components/Carousel/CarouselContent.d.ts +2 -2
  42. package/dist/components/Carousel/renderCarouselCards.js +1 -0
  43. package/dist/components/Carousel/renderCarouselCards.js.map +1 -1
  44. package/dist/components/CarouselEventCard/CarouselEventCard.js +2 -3
  45. package/dist/components/CarouselEventCard/CarouselEventCard.js.map +1 -1
  46. package/dist/components/ErrorBlock/ErrorBlock.js +2 -3
  47. package/dist/components/ErrorBlock/ErrorBlock.js.map +1 -1
  48. package/dist/components/Footer/TextInformation.js +2 -1
  49. package/dist/components/Footer/TextInformation.js.map +1 -1
  50. package/dist/components/HorizontalLayout/HorizontalLayout.d.ts +2 -1
  51. package/dist/components/HorizontalLayout/HorizontalLayout.js +8 -1
  52. package/dist/components/HorizontalLayout/HorizontalLayout.js.map +1 -1
  53. package/dist/components/HorizontalLayout/HorizontalLayoutContent.d.ts +2 -0
  54. package/dist/components/InvestmentInfo/InvestmentInfo.js +1 -1
  55. package/dist/components/InvestmentInfo/InvestmentInfo.js.map +1 -1
  56. package/dist/components/MortgageFiltration/MortgageFiltration.js +10 -15
  57. package/dist/components/MortgageFiltration/MortgageFiltration.js.map +1 -1
  58. package/dist/components/MortgageFiltration/MortgageFiltrationContent.d.ts +13 -9
  59. package/dist/ui-kit/Badge/Badge.d.ts +6 -0
  60. package/dist/ui-kit/Badge/Badge.js +18 -0
  61. package/dist/ui-kit/Badge/Badge.js.map +1 -0
  62. package/dist/ui-kit/BaseFiltration/BaseFiltrationInner.js +4 -5
  63. package/dist/ui-kit/BaseFiltration/BaseFiltrationInner.js.map +1 -1
  64. package/dist/ui-kit/BaseFiltration/HotFilterBase.d.ts +7 -0
  65. package/dist/ui-kit/BaseFiltration/HotFilterBase.js +2 -0
  66. package/dist/ui-kit/BaseFiltration/HotFilterBase.js.map +1 -0
  67. package/dist/ui-kit/BaseFiltration/getBadgeCount.d.ts +3 -0
  68. package/dist/ui-kit/BaseFiltration/getBadgeCount.js +6 -0
  69. package/dist/ui-kit/BaseFiltration/getBadgeCount.js.map +1 -0
  70. package/dist/ui-kit/BaseFiltration/hotFilterRecordCmp.d.ts +1 -0
  71. package/{mobile/dist/components/MortgageFiltration/HotFilterRecord.js → dist/ui-kit/BaseFiltration/hotFilterRecordCmp.js} +1 -1
  72. package/dist/ui-kit/BaseFiltration/hotFilterRecordCmp.js.map +1 -0
  73. package/dist/ui-kit/BaseFiltration/renderFiltrationForm.js +1 -1
  74. package/dist/ui-kit/BaseFiltration/renderFiltrationForm.js.map +1 -1
  75. package/dist/ui-kit/BaseFiltration/useHotFilters.d.ts +14 -0
  76. package/dist/ui-kit/BaseFiltration/useHotFilters.js +26 -0
  77. package/dist/ui-kit/BaseFiltration/useHotFilters.js.map +1 -0
  78. package/dist/ui-kit/BaseTile/BaseTile.js +1 -5
  79. package/dist/ui-kit/BaseTile/BaseTile.js.map +1 -1
  80. package/dist/ui-kit/InputRange/renderRangeWithTicks.js +2 -1
  81. package/dist/ui-kit/InputRange/renderRangeWithTicks.js.map +1 -1
  82. package/dist/ui-kit/TabsControl/TabItem.d.ts +5 -2
  83. package/dist/ui-kit/TabsControl/TabItem.js.map +1 -1
  84. package/dist/ui-kit/TabsControl/TabItemInner.js +2 -2
  85. package/dist/ui-kit/TabsControl/TabItemInner.js.map +1 -1
  86. package/lib/common.css +1 -1
  87. package/lib/components/Blocks.mobile.js +6 -0
  88. package/lib/components/Blocks.mobile.js.map +1 -1
  89. package/lib/components/Bonus/Bonus.js +1 -2
  90. package/lib/components/Bonus/Bonus.js.map +1 -1
  91. package/lib/components/Calculator/BusinessDepositCalculatorForm.js +9 -9
  92. package/lib/components/Calculator/BusinessDepositCalculatorForm.js.map +1 -1
  93. package/lib/components/Calculator/RefinancingCalculatorForm.js +6 -3
  94. package/lib/components/Calculator/RefinancingCalculatorForm.js.map +1 -1
  95. package/lib/components/Calculator/UnknownRate.d.ts +1 -0
  96. package/lib/components/Calculator/UnknownRate.js +1 -1
  97. package/lib/components/Calculator/UnknownRate.js.map +1 -1
  98. package/lib/components/Calculator/constants.js +2 -2
  99. package/lib/components/Calculator/constants.js.map +1 -1
  100. package/lib/components/Calculator/renderRate.d.ts +2 -1
  101. package/lib/components/Calculator/renderRate.js +5 -5
  102. package/lib/components/Calculator/renderRate.js.map +1 -1
  103. package/lib/components/Calculator/useBusinessDepositCalculatorParams.d.ts +1 -1
  104. package/lib/components/Calculator/useBusinessDepositCalculatorParams.js +1 -1
  105. package/lib/components/Calculator/useBusinessDepositCalculatorParams.js.map +1 -1
  106. package/lib/components/Calculator/useCreditCalculatorParams.js +1 -4
  107. package/lib/components/Calculator/useCreditCalculatorParams.js.map +1 -1
  108. package/lib/components/Calculator/useRefinancingCalculatorParams.js +4 -11
  109. package/lib/components/Calculator/useRefinancingCalculatorParams.js.map +1 -1
  110. package/lib/components/Carousel/CarouselContent.d.ts +2 -2
  111. package/lib/components/Carousel/renderCarouselCards.js +1 -0
  112. package/lib/components/Carousel/renderCarouselCards.js.map +1 -1
  113. package/lib/components/CarouselEventCard/CarouselEventCard.js +2 -3
  114. package/lib/components/CarouselEventCard/CarouselEventCard.js.map +1 -1
  115. package/lib/components/ErrorBlock/ErrorBlock.js +2 -3
  116. package/lib/components/ErrorBlock/ErrorBlock.js.map +1 -1
  117. package/lib/components/Footer/TextInformation.js +2 -1
  118. package/lib/components/Footer/TextInformation.js.map +1 -1
  119. package/lib/components/HorizontalLayout/HorizontalLayout.d.ts +2 -1
  120. package/lib/components/HorizontalLayout/HorizontalLayout.fixture.d.ts +1 -0
  121. package/lib/components/HorizontalLayout/HorizontalLayout.js +8 -1
  122. package/lib/components/HorizontalLayout/HorizontalLayout.js.map +1 -1
  123. package/lib/components/HorizontalLayout/HorizontalLayoutContent.d.ts +2 -0
  124. package/lib/components/InvestmentInfo/InvestmentInfo.js +1 -1
  125. package/lib/components/InvestmentInfo/InvestmentInfo.js.map +1 -1
  126. package/lib/components/MortgageFiltration/MortgageFiltration.js +11 -16
  127. package/lib/components/MortgageFiltration/MortgageFiltration.js.map +1 -1
  128. package/lib/components/MortgageFiltration/MortgageFiltrationContent.d.ts +13 -9
  129. package/lib/ui-kit/Badge/Badge.d.ts +6 -0
  130. package/lib/ui-kit/Badge/Badge.fixture.d.ts +6 -0
  131. package/lib/ui-kit/Badge/Badge.js +16 -0
  132. package/lib/ui-kit/Badge/Badge.js.map +1 -0
  133. package/lib/ui-kit/BaseFiltration/BaseFiltrationInner.js +4 -5
  134. package/lib/ui-kit/BaseFiltration/BaseFiltrationInner.js.map +1 -1
  135. package/lib/ui-kit/BaseFiltration/HotFilterBase.d.ts +7 -0
  136. package/lib/ui-kit/BaseFiltration/HotFilterBase.js +2 -0
  137. package/lib/ui-kit/BaseFiltration/HotFilterBase.js.map +1 -0
  138. package/lib/ui-kit/BaseFiltration/getBadgeCount.d.ts +3 -0
  139. package/lib/ui-kit/BaseFiltration/getBadgeCount.js +3 -0
  140. package/lib/ui-kit/BaseFiltration/getBadgeCount.js.map +1 -0
  141. package/lib/ui-kit/BaseFiltration/hotFilterRecordCmp.d.ts +1 -0
  142. package/lib/{components/MortgageFiltration/HotFilterRecord.js → ui-kit/BaseFiltration/hotFilterRecordCmp.js} +1 -1
  143. package/lib/ui-kit/BaseFiltration/hotFilterRecordCmp.js.map +1 -0
  144. package/lib/ui-kit/BaseFiltration/renderFiltrationForm.js +1 -1
  145. package/lib/ui-kit/BaseFiltration/renderFiltrationForm.js.map +1 -1
  146. package/lib/ui-kit/BaseFiltration/useHotFilters.d.ts +14 -0
  147. package/lib/ui-kit/BaseFiltration/useHotFilters.js +23 -0
  148. package/lib/ui-kit/BaseFiltration/useHotFilters.js.map +1 -0
  149. package/lib/ui-kit/BaseTile/BaseTile.js +1 -5
  150. package/lib/ui-kit/BaseTile/BaseTile.js.map +1 -1
  151. package/lib/ui-kit/InputRange/renderRangeWithTicks.js +2 -1
  152. package/lib/ui-kit/InputRange/renderRangeWithTicks.js.map +1 -1
  153. package/lib/ui-kit/TabsControl/TabItem.d.ts +5 -2
  154. package/lib/ui-kit/TabsControl/TabItem.js.map +1 -1
  155. package/lib/ui-kit/TabsControl/TabItemInner.js +3 -3
  156. package/lib/ui-kit/TabsControl/TabItemInner.js.map +1 -1
  157. package/mobile/bundle/bundle.umd.js +105 -73
  158. package/mobile/bundle/bundle.umd.min.js +1 -1
  159. package/mobile/bundle/components/Calculator/UnknownRate.d.ts +1 -0
  160. package/mobile/bundle/components/Calculator/renderRate.d.ts +2 -1
  161. package/mobile/bundle/components/Calculator/useBusinessDepositCalculatorParams.d.ts +1 -1
  162. package/mobile/bundle/components/Carousel/CarouselContent.d.ts +2 -2
  163. package/mobile/bundle/components/HorizontalLayout/HorizontalLayoutContent.d.ts +2 -0
  164. package/mobile/bundle/components/MortgageFiltration/MortgageFiltrationContent.d.ts +13 -9
  165. package/mobile/bundle/ui-kit/Badge/Badge.d.ts +6 -0
  166. package/mobile/bundle/ui-kit/BaseFiltration/HotFilterBase.d.ts +7 -0
  167. package/mobile/bundle/ui-kit/BaseFiltration/getBadgeCount.d.ts +3 -0
  168. package/mobile/bundle/ui-kit/BaseFiltration/hotFilterRecordCmp.d.ts +1 -0
  169. package/mobile/bundle/ui-kit/BaseFiltration/useHotFilters.d.ts +14 -0
  170. package/mobile/bundle/ui-kit/TabsControl/TabItem.d.ts +5 -2
  171. package/mobile/dist/components/Blocks.js +6 -0
  172. package/mobile/dist/components/Blocks.js.map +1 -1
  173. package/mobile/dist/components/Bonus/Bonus.js +1 -2
  174. package/mobile/dist/components/Bonus/Bonus.js.map +1 -1
  175. package/mobile/dist/components/Calculator/BusinessDepositCalculatorForm.js +9 -9
  176. package/mobile/dist/components/Calculator/BusinessDepositCalculatorForm.js.map +1 -1
  177. package/mobile/dist/components/Calculator/RefinancingCalculatorForm.js +6 -3
  178. package/mobile/dist/components/Calculator/RefinancingCalculatorForm.js.map +1 -1
  179. package/mobile/dist/components/Calculator/UnknownRate.d.ts +1 -0
  180. package/mobile/dist/components/Calculator/UnknownRate.js +1 -1
  181. package/mobile/dist/components/Calculator/UnknownRate.js.map +1 -1
  182. package/mobile/dist/components/Calculator/constants.js +2 -2
  183. package/mobile/dist/components/Calculator/constants.js.map +1 -1
  184. package/mobile/dist/components/Calculator/renderRate.d.ts +2 -1
  185. package/mobile/dist/components/Calculator/renderRate.js +5 -5
  186. package/mobile/dist/components/Calculator/renderRate.js.map +1 -1
  187. package/mobile/dist/components/Calculator/useBusinessDepositCalculatorParams.d.ts +1 -1
  188. package/mobile/dist/components/Calculator/useBusinessDepositCalculatorParams.js +1 -1
  189. package/mobile/dist/components/Calculator/useBusinessDepositCalculatorParams.js.map +1 -1
  190. package/mobile/dist/components/Calculator/useCreditCalculatorParams.js +1 -4
  191. package/mobile/dist/components/Calculator/useCreditCalculatorParams.js.map +1 -1
  192. package/mobile/dist/components/Calculator/useRefinancingCalculatorParams.js +4 -11
  193. package/mobile/dist/components/Calculator/useRefinancingCalculatorParams.js.map +1 -1
  194. package/mobile/dist/components/Carousel/CarouselContent.d.ts +2 -2
  195. package/mobile/dist/components/Carousel/renderCarouselCards.js +1 -0
  196. package/mobile/dist/components/Carousel/renderCarouselCards.js.map +1 -1
  197. package/mobile/dist/components/CarouselEventCard/CarouselEventCard.js +2 -3
  198. package/mobile/dist/components/CarouselEventCard/CarouselEventCard.js.map +1 -1
  199. package/mobile/dist/components/ErrorBlock/ErrorBlock.js +2 -3
  200. package/mobile/dist/components/ErrorBlock/ErrorBlock.js.map +1 -1
  201. package/mobile/dist/components/Footer/TextInformation.js +2 -1
  202. package/mobile/dist/components/Footer/TextInformation.js.map +1 -1
  203. package/mobile/dist/components/HorizontalLayout/HorizontalLayoutContent.d.ts +2 -0
  204. package/mobile/dist/components/InvestmentInfo/InvestmentInfo.js +1 -1
  205. package/mobile/dist/components/InvestmentInfo/InvestmentInfo.js.map +1 -1
  206. package/mobile/dist/components/MortgageFiltration/MortgageFiltration.js +10 -15
  207. package/mobile/dist/components/MortgageFiltration/MortgageFiltration.js.map +1 -1
  208. package/mobile/dist/components/MortgageFiltration/MortgageFiltrationContent.d.ts +13 -9
  209. package/mobile/dist/ui-kit/Badge/Badge.d.ts +6 -0
  210. package/mobile/dist/ui-kit/Badge/Badge.js +18 -0
  211. package/mobile/dist/ui-kit/Badge/Badge.js.map +1 -0
  212. package/mobile/dist/ui-kit/BaseFiltration/BaseFiltrationInner.js +4 -5
  213. package/mobile/dist/ui-kit/BaseFiltration/BaseFiltrationInner.js.map +1 -1
  214. package/mobile/dist/ui-kit/BaseFiltration/HotFilterBase.d.ts +7 -0
  215. package/mobile/dist/ui-kit/BaseFiltration/HotFilterBase.js +2 -0
  216. package/mobile/dist/ui-kit/BaseFiltration/HotFilterBase.js.map +1 -0
  217. package/mobile/dist/ui-kit/BaseFiltration/getBadgeCount.d.ts +3 -0
  218. package/mobile/dist/ui-kit/BaseFiltration/getBadgeCount.js +6 -0
  219. package/mobile/dist/ui-kit/BaseFiltration/getBadgeCount.js.map +1 -0
  220. package/mobile/dist/ui-kit/BaseFiltration/hotFilterRecordCmp.d.ts +1 -0
  221. package/{dist/components/MortgageFiltration/HotFilterRecord.js → mobile/dist/ui-kit/BaseFiltration/hotFilterRecordCmp.js} +1 -1
  222. package/mobile/dist/ui-kit/BaseFiltration/hotFilterRecordCmp.js.map +1 -0
  223. package/mobile/dist/ui-kit/BaseFiltration/renderFiltrationForm.js +1 -1
  224. package/mobile/dist/ui-kit/BaseFiltration/renderFiltrationForm.js.map +1 -1
  225. package/mobile/dist/ui-kit/BaseFiltration/useHotFilters.d.ts +14 -0
  226. package/mobile/dist/ui-kit/BaseFiltration/useHotFilters.js +26 -0
  227. package/mobile/dist/ui-kit/BaseFiltration/useHotFilters.js.map +1 -0
  228. package/mobile/dist/ui-kit/BaseTile/BaseTile.js +1 -5
  229. package/mobile/dist/ui-kit/BaseTile/BaseTile.js.map +1 -1
  230. package/mobile/dist/ui-kit/InputRange/renderRangeWithTicks.js +2 -1
  231. package/mobile/dist/ui-kit/InputRange/renderRangeWithTicks.js.map +1 -1
  232. package/mobile/dist/ui-kit/TabsControl/TabItem.d.ts +5 -2
  233. package/mobile/dist/ui-kit/TabsControl/TabItem.js.map +1 -1
  234. package/mobile/dist/ui-kit/TabsControl/TabItemInner.js +2 -2
  235. package/mobile/dist/ui-kit/TabsControl/TabItemInner.js.map +1 -1
  236. package/mobile/lib/common.css +1 -1
  237. package/mobile/lib/components/Blocks.js +6 -0
  238. package/mobile/lib/components/Blocks.js.map +1 -1
  239. package/mobile/lib/components/Bonus/Bonus.js +1 -2
  240. package/mobile/lib/components/Bonus/Bonus.js.map +1 -1
  241. package/mobile/lib/components/Calculator/BusinessDepositCalculatorForm.js +9 -9
  242. package/mobile/lib/components/Calculator/BusinessDepositCalculatorForm.js.map +1 -1
  243. package/mobile/lib/components/Calculator/RefinancingCalculatorForm.js +6 -3
  244. package/mobile/lib/components/Calculator/RefinancingCalculatorForm.js.map +1 -1
  245. package/mobile/lib/components/Calculator/UnknownRate.d.ts +1 -0
  246. package/mobile/lib/components/Calculator/UnknownRate.js +1 -1
  247. package/mobile/lib/components/Calculator/UnknownRate.js.map +1 -1
  248. package/mobile/lib/components/Calculator/constants.js +2 -2
  249. package/mobile/lib/components/Calculator/constants.js.map +1 -1
  250. package/mobile/lib/components/Calculator/renderRate.d.ts +2 -1
  251. package/mobile/lib/components/Calculator/renderRate.js +5 -5
  252. package/mobile/lib/components/Calculator/renderRate.js.map +1 -1
  253. package/mobile/lib/components/Calculator/useBusinessDepositCalculatorParams.d.ts +1 -1
  254. package/mobile/lib/components/Calculator/useBusinessDepositCalculatorParams.js +1 -1
  255. package/mobile/lib/components/Calculator/useBusinessDepositCalculatorParams.js.map +1 -1
  256. package/mobile/lib/components/Calculator/useCreditCalculatorParams.js +1 -4
  257. package/mobile/lib/components/Calculator/useCreditCalculatorParams.js.map +1 -1
  258. package/mobile/lib/components/Calculator/useRefinancingCalculatorParams.js +4 -11
  259. package/mobile/lib/components/Calculator/useRefinancingCalculatorParams.js.map +1 -1
  260. package/mobile/lib/components/Carousel/CarouselContent.d.ts +2 -2
  261. package/mobile/lib/components/Carousel/renderCarouselCards.js +1 -0
  262. package/mobile/lib/components/Carousel/renderCarouselCards.js.map +1 -1
  263. package/mobile/lib/components/CarouselEventCard/CarouselEventCard.js +2 -3
  264. package/mobile/lib/components/CarouselEventCard/CarouselEventCard.js.map +1 -1
  265. package/mobile/lib/components/ErrorBlock/ErrorBlock.js +2 -3
  266. package/mobile/lib/components/ErrorBlock/ErrorBlock.js.map +1 -1
  267. package/mobile/lib/components/Footer/TextInformation.js +2 -1
  268. package/mobile/lib/components/Footer/TextInformation.js.map +1 -1
  269. package/mobile/lib/components/HorizontalLayout/HorizontalLayoutContent.d.ts +2 -0
  270. package/mobile/lib/components/InvestmentInfo/InvestmentInfo.js +1 -1
  271. package/mobile/lib/components/InvestmentInfo/InvestmentInfo.js.map +1 -1
  272. package/mobile/lib/components/MortgageFiltration/MortgageFiltration.js +11 -16
  273. package/mobile/lib/components/MortgageFiltration/MortgageFiltration.js.map +1 -1
  274. package/mobile/lib/components/MortgageFiltration/MortgageFiltrationContent.d.ts +13 -9
  275. package/mobile/lib/ui-kit/Badge/Badge.d.ts +6 -0
  276. package/mobile/lib/ui-kit/Badge/Badge.js +16 -0
  277. package/mobile/lib/ui-kit/Badge/Badge.js.map +1 -0
  278. package/mobile/lib/ui-kit/BaseFiltration/BaseFiltrationInner.js +4 -5
  279. package/mobile/lib/ui-kit/BaseFiltration/BaseFiltrationInner.js.map +1 -1
  280. package/mobile/lib/ui-kit/BaseFiltration/HotFilterBase.d.ts +7 -0
  281. package/mobile/lib/ui-kit/BaseFiltration/HotFilterBase.js +2 -0
  282. package/mobile/lib/ui-kit/BaseFiltration/HotFilterBase.js.map +1 -0
  283. package/mobile/lib/ui-kit/BaseFiltration/getBadgeCount.d.ts +3 -0
  284. package/mobile/lib/ui-kit/BaseFiltration/getBadgeCount.js +3 -0
  285. package/mobile/lib/ui-kit/BaseFiltration/getBadgeCount.js.map +1 -0
  286. package/mobile/lib/ui-kit/BaseFiltration/hotFilterRecordCmp.d.ts +1 -0
  287. package/mobile/lib/{components/MortgageFiltration/HotFilterRecord.js → ui-kit/BaseFiltration/hotFilterRecordCmp.js} +1 -1
  288. package/mobile/lib/ui-kit/BaseFiltration/hotFilterRecordCmp.js.map +1 -0
  289. package/mobile/lib/ui-kit/BaseFiltration/renderFiltrationForm.js +1 -1
  290. package/mobile/lib/ui-kit/BaseFiltration/renderFiltrationForm.js.map +1 -1
  291. package/mobile/lib/ui-kit/BaseFiltration/useHotFilters.d.ts +14 -0
  292. package/mobile/lib/ui-kit/BaseFiltration/useHotFilters.js +23 -0
  293. package/mobile/lib/ui-kit/BaseFiltration/useHotFilters.js.map +1 -0
  294. package/mobile/lib/ui-kit/BaseTile/BaseTile.js +1 -5
  295. package/mobile/lib/ui-kit/BaseTile/BaseTile.js.map +1 -1
  296. package/mobile/lib/ui-kit/InputRange/renderRangeWithTicks.js +2 -1
  297. package/mobile/lib/ui-kit/InputRange/renderRangeWithTicks.js.map +1 -1
  298. package/mobile/lib/ui-kit/TabsControl/TabItem.d.ts +5 -2
  299. package/mobile/lib/ui-kit/TabsControl/TabItem.js.map +1 -1
  300. package/mobile/lib/ui-kit/TabsControl/TabItemInner.js +3 -3
  301. package/mobile/lib/ui-kit/TabsControl/TabItemInner.js.map +1 -1
  302. package/mobile/src/components/Blocks.ts +6 -0
  303. package/mobile/src/components/Bonus/Bonus.tsx +7 -13
  304. package/mobile/src/components/Calculator/BusinessDepositCalculatorForm.tsx +11 -11
  305. package/mobile/src/components/Calculator/RefinancingCalculatorForm.tsx +6 -9
  306. package/mobile/src/components/Calculator/UnknownRate.tsx +24 -14
  307. package/mobile/src/components/Calculator/constants.ts +2 -2
  308. package/mobile/src/components/Calculator/renderRate.tsx +13 -6
  309. package/mobile/src/components/Calculator/useBusinessDepositCalculatorParams.ts +2 -2
  310. package/mobile/src/components/Calculator/useCreditCalculatorParams.ts +1 -5
  311. package/mobile/src/components/Calculator/useRefinancingCalculatorParams.ts +5 -23
  312. package/mobile/src/components/Carousel/CarouselContent.ts +2 -2
  313. package/mobile/src/components/Carousel/renderCarouselCards.tsx +1 -0
  314. package/mobile/src/components/CarouselEventCard/CarouselEventCard.tsx +10 -12
  315. package/mobile/src/components/ErrorBlock/ErrorBlock.tsx +2 -10
  316. package/mobile/src/components/Footer/TextInformation.tsx +3 -2
  317. package/mobile/src/components/HorizontalLayout/HorizontalLayoutContent.ts +2 -0
  318. package/mobile/src/components/InvestmentInfo/InvestmentInfo.tsx +1 -1
  319. package/mobile/src/components/MortgageFiltration/MortgageFiltration.tsx +17 -37
  320. package/mobile/src/components/MortgageFiltration/MortgageFiltrationContent.ts +13 -9
  321. package/mobile/src/ui-kit/Badge/Badge.tsx +34 -0
  322. package/mobile/src/ui-kit/BaseFiltration/BaseFiltrationInner.tsx +5 -20
  323. package/mobile/src/ui-kit/BaseFiltration/HotFilterBase.ts +7 -0
  324. package/mobile/src/ui-kit/BaseFiltration/getBadgeCount.ts +6 -0
  325. package/mobile/src/ui-kit/BaseFiltration/hotFilterRecordCmp.ts +3 -0
  326. package/mobile/src/ui-kit/BaseFiltration/renderFiltrationForm.tsx +1 -1
  327. package/mobile/src/ui-kit/BaseFiltration/useHotFilters.tsx +65 -0
  328. package/mobile/src/ui-kit/BaseTile/BaseTile.tsx +3 -12
  329. package/mobile/src/ui-kit/InputRange/renderRangeWithTicks.tsx +2 -1
  330. package/mobile/src/ui-kit/TabsControl/TabItem.tsx +5 -3
  331. package/mobile/src/ui-kit/TabsControl/TabItemInner.tsx +2 -1
  332. package/package.json +1 -1
  333. package/src/components/Blocks.mobile.ts +6 -0
  334. package/src/components/Bonus/Bonus.tsx +7 -13
  335. package/src/components/Calculator/BusinessDepositCalculatorForm.tsx +11 -11
  336. package/src/components/Calculator/RefinancingCalculatorForm.tsx +6 -9
  337. package/src/components/Calculator/UnknownRate.tsx +24 -14
  338. package/src/components/Calculator/constants.ts +2 -2
  339. package/src/components/Calculator/renderRate.tsx +13 -6
  340. package/src/components/Calculator/useBusinessDepositCalculatorParams.ts +2 -2
  341. package/src/components/Calculator/useCreditCalculatorParams.ts +1 -5
  342. package/src/components/Calculator/useRefinancingCalculatorParams.ts +5 -23
  343. package/src/components/Carousel/CarouselContent.ts +2 -2
  344. package/src/components/Carousel/renderCarouselCards.tsx +1 -0
  345. package/src/components/CarouselEventCard/CarouselEventCard.tsx +10 -12
  346. package/src/components/ErrorBlock/ErrorBlock.tsx +2 -10
  347. package/src/components/Footer/TextInformation.tsx +3 -2
  348. package/src/components/HorizontalLayout/HorizontalLayout.fixture.tsx +21 -0
  349. package/src/components/HorizontalLayout/HorizontalLayout.tsx +10 -2
  350. package/src/components/HorizontalLayout/HorizontalLayoutContent.ts +2 -0
  351. package/src/components/InvestmentInfo/InvestmentInfo.tsx +1 -1
  352. package/src/components/MortgageFiltration/MortgageFiltration.fixture.tsx +5 -2
  353. package/src/components/MortgageFiltration/MortgageFiltration.tsx +17 -37
  354. package/src/components/MortgageFiltration/MortgageFiltrationContent.ts +13 -9
  355. package/src/ui-kit/Badge/Badge.fixture.tsx +24 -0
  356. package/src/ui-kit/Badge/Badge.tsx +34 -0
  357. package/src/ui-kit/BaseFiltration/BaseFiltrationInner.tsx +5 -20
  358. package/src/ui-kit/BaseFiltration/HotFilterBase.ts +7 -0
  359. package/src/ui-kit/BaseFiltration/getBadgeCount.ts +6 -0
  360. package/src/ui-kit/BaseFiltration/hotFilterRecordCmp.ts +3 -0
  361. package/src/ui-kit/BaseFiltration/renderFiltrationForm.tsx +1 -1
  362. package/src/ui-kit/BaseFiltration/useHotFilters.tsx +65 -0
  363. package/src/ui-kit/BaseTile/BaseTile.tsx +3 -12
  364. package/src/ui-kit/InputRange/renderRangeWithTicks.tsx +2 -1
  365. package/src/ui-kit/TabsControl/TabItem.tsx +5 -3
  366. package/src/ui-kit/TabsControl/TabItemInner.tsx +2 -1
  367. package/bundle/components/MortgageFiltration/HotFilterRecord.d.ts +0 -11
  368. package/dist/components/MortgageFiltration/HotFilterRecord.d.ts +0 -11
  369. package/dist/components/MortgageFiltration/HotFilterRecord.js.map +0 -1
  370. package/lib/components/MortgageFiltration/HotFilterRecord.d.ts +0 -11
  371. package/lib/components/MortgageFiltration/HotFilterRecord.js.map +0 -1
  372. package/mobile/bundle/components/MortgageFiltration/HotFilterRecord.d.ts +0 -11
  373. package/mobile/dist/components/MortgageFiltration/HotFilterRecord.d.ts +0 -11
  374. package/mobile/dist/components/MortgageFiltration/HotFilterRecord.js.map +0 -1
  375. package/mobile/lib/components/MortgageFiltration/HotFilterRecord.d.ts +0 -11
  376. package/mobile/lib/components/MortgageFiltration/HotFilterRecord.js.map +0 -1
  377. package/mobile/src/components/MortgageFiltration/HotFilterRecord.ts +0 -14
  378. package/src/components/MortgageFiltration/HotFilterRecord.ts +0 -14
@@ -1,12 +1,11 @@
1
1
  import { useMemo } from '@redneckz/uni-jsx/lib/hooks';
2
- import { clamp } from '../../utils/clamp';
3
- import { DEFAULT_REFINANCING_CALCULATOR_PARAMS, REFINANCING_CALC_DEFAULT_DIR } from './constants';
4
- import { getLimitRangeByKeys } from './rangeHelpers';
5
- import { useCalculatorParams } from './useCalculatorParams';
6
2
  import { RefinancingCalculatorParamsViewSettings } from './CalculatorContent';
3
+ import { DEFAULT_REFINANCING_CALCULATOR_PARAMS, REFINANCING_CALC_DEFAULT_DIR } from './constants';
4
+ import { getMonthlyPayment } from './getMonthlyPayment';
7
5
  import { getRefinancingCalculatorLimitParams } from './getRefinancingCalculatorLimitParams';
8
6
  import { getRefinancingCalculatorRateParams } from './getRefinancingCalculatorRateParams';
9
- import { getMonthlyPayment } from './getMonthlyPayment';
7
+ import { getLimitRangeByKeys } from './rangeHelpers';
8
+ import { useCalculatorParams } from './useCalculatorParams';
10
9
 
11
10
  export interface CommonRefinancingParams {
12
11
  isSalaryClient: boolean;
@@ -61,7 +60,7 @@ export const useRefinancingCalculatorParams = (
61
60
  sourceBookDir?: string,
62
61
  paramsViewSettings?: RefinancingCalculatorParamsViewSettings,
63
62
  ): RefinancingCalculatorParams => {
64
- let { moneyValue, monthsValue, oldMonthlyPayment, moneyExtra } = userInputParams;
63
+ const { moneyValue, monthsValue, oldMonthlyPayment, moneyExtra } = userInputParams;
65
64
  const data = useCalculatorParams<RefinancingCalculatorData>(
66
65
  sourceBookDir || REFINANCING_CALC_DEFAULT_DIR,
67
66
  );
@@ -79,29 +78,12 @@ export const useRefinancingCalculatorParams = (
79
78
  rateRows,
80
79
  );
81
80
 
82
- const { minSumOld, maxSumOld } = getLimitRangeByKeys(
83
- ['minSumOld', 'maxSumOld'],
84
- sourceBookLimitParams,
85
- rateRows,
86
- );
87
-
88
- const { minSumExtra, maxSumExtra } = getLimitRangeByKeys(
89
- ['minSumExtra', 'maxSumExtra'],
90
- sourceBookLimitParams,
91
- rateRows,
92
- );
93
-
94
81
  const { minMonths, maxMonths } = getLimitRangeByKeys(
95
82
  ['minMonths', 'maxMonths'],
96
83
  sourceBookLimitParams,
97
84
  rateRows,
98
85
  );
99
86
 
100
- moneyValue = clamp(moneyValue, minSum, maxSum);
101
- oldMonthlyPayment = clamp(oldMonthlyPayment, minSumOld, maxSumOld);
102
- moneyExtra = clamp(moneyExtra, minSumExtra, maxSumExtra);
103
- monthsValue = clamp(monthsValue, minMonths, maxMonths);
104
-
105
87
  const refinancingCalculatorSourceBookRateParams = getRefinancingCalculatorRateParams({
106
88
  rateRows,
107
89
  userInputParams,
@@ -2,9 +2,9 @@ import type { UniBlockContent } from '../../model/JSXBlock';
2
2
 
3
3
  /**
4
4
  * @title Размер карточек
5
- * @enumNames ["Нормальный", "Большой"]
5
+ * @enumNames ["Маленький", "Нормальный", "Большой"]
6
6
  */
7
- export type CardSizeMode = 'normal' | 'big';
7
+ export type CardSizeMode = 'small' | 'normal' | 'big';
8
8
 
9
9
  /**
10
10
  * @title Карусель
@@ -10,6 +10,7 @@ import type { CardSizeMode } from './CarouselContent';
10
10
  const cardBaseStyle = 'relative h-full';
11
11
 
12
12
  const CARD_SIZE_MAP: Record<CardSizeMode, string> = {
13
+ small: 'sm:min-w-64',
13
14
  normal: 'sm:min-w-96',
14
15
  big: 'sm:min-w-[515px]',
15
16
  };
@@ -1,11 +1,10 @@
1
1
  import { JSX } from '@redneckz/uni-jsx';
2
2
  import type { UniBlockProps } from '../../model/JSXBlock';
3
3
  import { BlockWrapper } from '../../ui-kit/BlockWrapper';
4
- import { Heading } from '../../ui-kit/Heading/Heading';
5
4
  import { Img } from '../../ui-kit/Img/Img';
6
5
  import { LinkWrapper } from '../../ui-kit/LinkWrapper/LinkWrapper';
7
- import { Text } from '../../ui-kit/Text/Text';
8
6
  import type { CarouselEventCardContent } from './CarouselEventCardContent';
7
+ import { Headline } from '../Headline/Headline';
9
8
 
10
9
  export interface CarouselEventCardProps extends CarouselEventCardContent, UniBlockProps {}
11
10
 
@@ -16,16 +15,15 @@ export const CarouselEventCard = JSX<CarouselEventCardProps>(
16
15
  <LinkWrapper className="flex flex-col" href={href} target={target}>
17
16
  {icon?.icon ? <Img image={icon} /> : null}
18
17
  {icon?.src ? <Img image={icon} /> : null}
19
- {title ? (
20
- <Heading headingType="h6" as="h4" className="text-left mt-s ml-s mb-xs" title={title} />
21
- ) : null}
22
- {description ? (
23
- <div className="ml-s mb-m">
24
- <Text font="font-light" size="text-m" color="text-secondary-text">
25
- {description}
26
- </Text>
27
- </div>
28
- ) : null}
18
+ <div className="p-s">
19
+ <Headline
20
+ title={title}
21
+ description={description}
22
+ headlineVersion="XS"
23
+ isEmbedded={true}
24
+ align="text-left"
25
+ />
26
+ </div>
29
27
  </LinkWrapper>
30
28
  </BlockWrapper>
31
29
  );
@@ -1,12 +1,11 @@
1
1
  import { JSX } from '@redneckz/uni-jsx';
2
2
  import type { UniBlockProps } from '../../model/JSXBlock';
3
- import { Text } from '../../ui-kit/Text/Text';
4
3
  import { BlockWrapper } from '../../ui-kit/BlockWrapper';
5
4
  import { Button } from '../../ui-kit/Button/Button';
6
- import { Heading } from '../../ui-kit/Heading/Heading';
7
5
  import { Img } from '../../ui-kit/Img/Img';
8
6
  import { style } from '../../utils/style';
9
7
  import type { ErrorBlockContent } from './ErrorBlockContent';
8
+ import { Headline } from '../Headline/Headline';
10
9
 
11
10
  export interface ErrorBlockProps extends ErrorBlockContent, UniBlockProps {}
12
11
 
@@ -33,14 +32,7 @@ export const ErrorBlock = JSX<ErrorBlockProps>(
33
32
  {...rest}
34
33
  >
35
34
  <div className="flex justify-center py-20">{renderErrorContent(error)}</div>
36
- {title ? <Heading headingType="h1" className="text-left" title={title} /> : null}
37
- {subtitle ? (
38
- <div className="max-w-[613px] text-center">
39
- <Text size="text-xl" font="font-light">
40
- {subtitle}
41
- </Text>
42
- </div>
43
- ) : null}
35
+ <Headline title={title} description={subtitle} headlineVersion="XL" isEmbedded={true} />
44
36
  {button?.text ? (
45
37
  <Button className="py-4 px-9" version={button?.version} {...button}>
46
38
  {button.text}
@@ -2,16 +2,17 @@ import { JSX } from '@redneckz/uni-jsx';
2
2
  import { Text } from '../../ui-kit/Text/Text';
3
3
  import type { FooterLink } from './FooterLink';
4
4
  import { TextInformationLink } from './TextInformationLink';
5
+ import { style } from '../../utils/style';
5
6
 
6
7
  export const TextInformation = JSX<FooterLink>(({ className = '', links }) => (
7
- <div className={className}>
8
+ <div className={style('@container', className)}>
8
9
  <div className="pt-lg">
9
10
  <Text size="text-xs" font="font-light" color="text-secondary-text">
10
11
  {`\u00a9\u00A02000-${new Date().getFullYear()}\u00A0АО \u00ABРоссельхозбанк\u00BB Генеральная лицензия Банка России \u2116\u00A03349 от\u00A012.08.2015\u00A0г.`}
11
12
  </Text>
12
13
  </div>
13
14
  {links?.length ? (
14
- <div className="flex flex-col sm:flex-row justify-start items-start gap-x-lg gap-y-xs pt-lg">
15
+ <div className="flex flex-col @lg:flex-row justify-start items-start gap-x-lg gap-y-xs pt-lg">
15
16
  {links.map((_, i) => (
16
17
  <TextInformationLink key={String(i)} index={i} {..._} />
17
18
  ))}
@@ -82,4 +82,25 @@ export default {
82
82
  />
83
83
  </div>
84
84
  ),
85
+ 'with card border': (
86
+ <div className="container grid grid-cols-12">
87
+ <HorizontalLayout
88
+ className="col-span-12"
89
+ isCardBorder={true}
90
+ block={{
91
+ type: 'HorizontalLayout',
92
+ blocks: [
93
+ { type: 'ProductTile', content: PRODUCT_TILE, style: ['col-span-6'] },
94
+ { type: 'ProductTile', content: PRODUCT_TILE, style: ['col-span-6'] },
95
+ { type: 'ProductTile', content: PRODUCT_TILE, style: ['col-span-6'] },
96
+ { type: 'ProductTile', content: PRODUCT_TILE, style: ['col-span-6'] },
97
+ { type: 'ProductTile', content: PRODUCT_TILE, style: ['col-span-6'] },
98
+ { type: 'ProductTile', content: PRODUCT_TILE, style: ['col-span-6'] },
99
+ ],
100
+ }}
101
+ options={options}
102
+ version="primary"
103
+ />
104
+ </div>
105
+ ),
85
106
  };
@@ -6,7 +6,7 @@ import { style } from '../../utils/style';
6
6
  import { gapStyles } from './gapStyles';
7
7
  import type { HorizontalLayoutContent } from './HorizontalLayoutContent';
8
8
 
9
- export interface HorizontalLayoutProps extends HorizontalLayoutContent, UniBlockProps {}
9
+ interface HorizontalLayoutProps extends HorizontalLayoutContent, UniBlockProps {}
10
10
 
11
11
  export const HorizontalLayout: JSXBlock<HorizontalLayoutProps> = JSX<HorizontalLayoutProps>(
12
12
  ({
@@ -15,6 +15,7 @@ export const HorizontalLayout: JSXBlock<HorizontalLayoutProps> = JSX<HorizontalL
15
15
  isPadding = false,
16
16
  version = 'transparent',
17
17
  isTheme = false,
18
+ isCardBorder,
18
19
  ...rest
19
20
  }) => (
20
21
  <BlockWrapper
@@ -24,7 +25,14 @@ export const HorizontalLayout: JSXBlock<HorizontalLayoutProps> = JSX<HorizontalL
24
25
  isTheme={isTheme}
25
26
  {...rest}
26
27
  >
27
- {renderChildren(rest)}
28
+ {renderChildren({
29
+ ...rest,
30
+ extraProps: {
31
+ className: isCardBorder
32
+ ? 'border border-solid border-gray group-data-secondary:border-white/50 group-data-gray:border-main-divider'
33
+ : '',
34
+ },
35
+ })}
28
36
  </BlockWrapper>
29
37
  ),
30
38
  );
@@ -13,6 +13,8 @@ export type GapVersion = 'XXL' | 'XL' | 'L' | 'M' | 'S' | 'XS' | '';
13
13
  export type HorizontalLayoutContent = UniBlockContent & {
14
14
  colorPalette?: ColorPalette;
15
15
  gap?: GapVersion;
16
+ /** @title контур на дочерних элементах */
17
+ isCardBorder?: boolean;
16
18
  /** @title Внутренний отступ компоновщика */
17
19
  isPadding?: boolean;
18
20
  };
@@ -83,7 +83,7 @@ const renderInvestmentColumn = (
83
83
  {column.cells?.length ? (
84
84
  <div
85
85
  className={`w-full ${
86
- isLastColumn ? 'border-4 border-green-more-dark p-2xs min-w-[292px]' : ''
86
+ isLastColumn ? 'border-4 border-green-more-dark p-2xs min-w-72' : ''
87
87
  }`}
88
88
  >
89
89
  {column.cells.reverse().map(renderInvestmentCell)}
@@ -4,7 +4,10 @@ import type { BlockRendererOptions } from '../../BlockRenderer/BlockRendererOpti
4
4
  import { Blocks } from '../Blocks';
5
5
  import { PRODUCT_TILE } from '../ProductTile/ProductTile.fixture';
6
6
  import { MortgageFiltration } from './MortgageFiltration';
7
- import type { HotFilterButton, MortgageFiltrationContent } from './MortgageFiltrationContent';
7
+ import type {
8
+ MortgageFiltrationContent,
9
+ MortgageFiltrationHotFilter,
10
+ } from './MortgageFiltrationContent';
8
11
 
9
12
  const PROPERTY_APARTMENT = {
10
13
  propertyType: ['apartment'],
@@ -101,7 +104,7 @@ const SCHEMA: MortgageFiltrationContent['filtrationSchema'] = {
101
104
  },
102
105
  };
103
106
 
104
- const HOT_FILTERS: HotFilterButton[] = [
107
+ const HOT_FILTERS: MortgageFiltrationHotFilter[] = [
105
108
  { text: 'Все программы' },
106
109
  {
107
110
  text: 'Льготные программы',
@@ -1,60 +1,45 @@
1
1
  import { JSX } from '@redneckz/uni-jsx';
2
- import { useCallback, useEffect, useMemo, useState } from '@redneckz/uni-jsx/lib/hooks';
2
+ import { useCallback } from '@redneckz/uni-jsx/lib/hooks';
3
3
  import { useForm } from '../../hooks/useForm';
4
4
  import type { JSXBlock, UniBlockProps } from '../../model/JSXBlock';
5
5
  import { BaseFiltrationInner } from '../../ui-kit/BaseFiltration/BaseFiltrationInner';
6
6
  import { renderFiltrationForm } from '../../ui-kit/BaseFiltration/renderFiltrationForm';
7
+ import { useHotFilters } from '../../ui-kit/BaseFiltration/useHotFilters';
7
8
  import { BlockWrapper } from '../../ui-kit/BlockWrapper';
8
- import type { TabItemBase } from '../../ui-kit/TabsControl/TabItem';
9
9
  import { TabsControl } from '../../ui-kit/TabsControl/TabsControl';
10
10
  import { style } from '../../utils/style';
11
- import { hotFilterRecordCmp } from './HotFilterRecord';
12
11
  import type {
13
12
  MortgageFiltrationContent,
14
13
  MortgageFiltrationSchema,
15
14
  } from './MortgageFiltrationContent';
16
15
 
17
- interface MortgageFiltrationProps extends MortgageFiltrationContent, UniBlockProps {}
16
+ type MortgageFiltrationState = Partial<Record<keyof MortgageFiltrationSchema, string[]>>;
18
17
 
19
- const initialFiltrationState: Partial<Record<keyof MortgageFiltrationSchema, string[]>> = {
18
+ const initialFiltrationState: MortgageFiltrationState = {
20
19
  categories: [],
21
20
  extraOptions: [],
22
21
  propertyType: [],
23
22
  stage: [],
24
23
  };
25
24
 
25
+ interface MortgageFiltrationProps extends MortgageFiltrationContent, UniBlockProps {}
26
+
26
27
  export const MortgageFiltration: JSXBlock<MortgageFiltrationProps> = JSX<MortgageFiltrationProps>(
27
- ({ className, hotFilters = [], filtrationSchema = {}, resetButton, ...rest }) => {
28
+ ({ className, hotFilters, filtrationSchema = {}, resetButton, ...rest }) => {
28
29
  const [filtrationState, { field, reset, update: replaceFiltrationState }] =
29
30
  useForm(initialFiltrationState);
30
31
 
31
- const tabsControlItems: TabItemBase[] = useMemo(
32
- () =>
33
- hotFilters.map(({ text }) => ({
34
- text,
35
- })),
36
- [hotFilters],
32
+ const handleFiltrationStateChange = useCallback(
33
+ (_: MortgageFiltrationState = initialFiltrationState) => replaceFiltrationState(_),
34
+ [],
37
35
  );
38
36
 
39
- const [hotFilterIndex, setHotFilterIndex] = useState(0);
40
-
41
- const handleHotFilterSelect = useCallback(
42
- (_: TabItemBase) => {
43
- setHotFilterIndex(tabsControlItems.indexOf(_));
44
- replaceFiltrationState(
45
- hotFilters[tabsControlItems.indexOf(_)].filter || initialFiltrationState,
46
- );
47
- },
48
- [hotFilters, tabsControlItems],
49
- );
50
-
51
- useEffect(() => {
52
- const suggestedHotFilterIndex = hotFilters.findIndex((_) =>
53
- hotFilterRecordCmp(_.filter, filtrationState),
54
- );
55
-
56
- setHotFilterIndex(suggestedHotFilterIndex !== -1 ? suggestedHotFilterIndex : 0);
57
- }, [hotFilters, filtrationState]);
37
+ const tabsControlProps = useHotFilters({
38
+ hotFilters,
39
+ filtrationState,
40
+ blocks: rest.block?.blocks,
41
+ onFiltrationStateChange: handleFiltrationStateChange,
42
+ });
58
43
 
59
44
  return (
60
45
  <BlockWrapper
@@ -63,12 +48,7 @@ export const MortgageFiltration: JSXBlock<MortgageFiltrationProps> = JSX<Mortgag
63
48
  version="transparent"
64
49
  {...rest}
65
50
  >
66
- <TabsControl
67
- className="mb-2xs"
68
- items={tabsControlItems}
69
- value={tabsControlItems[hotFilterIndex]}
70
- onChange={handleHotFilterSelect}
71
- />
51
+ <TabsControl {...tabsControlProps} />
72
52
  {renderFiltrationForm({ field, reset, filtrationSchema, resetButton })}
73
53
  <BaseFiltrationInner filtrationState={filtrationState} {...rest} />
74
54
  </BlockWrapper>
@@ -2,7 +2,7 @@ import type {
2
2
  BaseFiltrationInnerContent,
3
3
  StringArray,
4
4
  } from '../../ui-kit/BaseFiltration/BaseFiltrationContent';
5
- import type { HotFilterRecord } from './HotFilterRecord';
5
+ import type { HotFilterBase } from '../../ui-kit/BaseFiltration/HotFilterBase';
6
6
 
7
7
  export type MortgageFiltrationSchema = {
8
8
  /** @title Тип недвижимости */
@@ -15,14 +15,18 @@ export type MortgageFiltrationSchema = {
15
15
  extraOptions?: StringArray;
16
16
  };
17
17
 
18
- /**
19
- * @title Кнопка фильтрации
20
- */
21
- export interface HotFilterButton {
22
- /** @title Текст */
23
- text?: string;
18
+ export interface MortgageFiltrationHotFilter extends HotFilterBase {
24
19
  /** @title Применяемые фильтры */
25
- filter?: HotFilterRecord;
20
+ filter?: {
21
+ /** @title Тип недвижимости */
22
+ propertyType?: string[];
23
+ /** @title Этап строительства */
24
+ stage?: string[];
25
+ /** @title Категории */
26
+ categories?: string[];
27
+ /** @title Дополнительно */
28
+ extraOptions?: string[];
29
+ };
26
30
  }
27
31
 
28
32
  /**
@@ -32,5 +36,5 @@ export interface MortgageFiltrationContent extends BaseFiltrationInnerContent {
32
36
  /** @title Параметры фильтрации */
33
37
  filtrationSchema?: MortgageFiltrationSchema;
34
38
  /** @title Горячие фильтры */
35
- hotFilters?: HotFilterButton[];
39
+ hotFilters?: MortgageFiltrationHotFilter[];
36
40
  }
@@ -0,0 +1,24 @@
1
+ import '../../setup-fixture';
2
+
3
+ import { Badge } from './Badge';
4
+
5
+ export default {
6
+ default: (
7
+ <div className="container grid-cols-12">
8
+ <section className="col-span-12 bg-white p-6xl">
9
+ <button className="p-xs border-2 border-green rounded-md flex justify-center w-52 mb-3xs">
10
+ <div className="mr-2xs">
11
+ <span>Какой-то текст</span>
12
+ </div>
13
+ <Badge count={3} />
14
+ </button>
15
+ <button className="p-xs border-2 border-green bg-green rounded-md flex justify-center w-52 text-white">
16
+ <div className="mr-2xs">
17
+ <span>Какой-то текст</span>
18
+ </div>
19
+ <Badge count={3} version="primary" />
20
+ </button>
21
+ </section>
22
+ </div>
23
+ ),
24
+ };
@@ -0,0 +1,34 @@
1
+ import { JSX } from '@redneckz/uni-jsx';
2
+ import { style } from '../../utils/style';
3
+ import { Text } from '../Text/Text';
4
+ import type { TextColor } from '../Text/TextProps';
5
+
6
+ interface BadgeProps {
7
+ count?: number;
8
+ version?: 'primary' | 'secondary';
9
+ }
10
+
11
+ const badgeBgStyleMap: Record<string, string> = {
12
+ primary: 'bg-white/30',
13
+ secondary: 'bg-main-divider',
14
+ };
15
+
16
+ const badgeTextColorStyleMap: Record<string, TextColor> = {
17
+ primary: 'text-white',
18
+ secondary: 'text-secondary-text',
19
+ };
20
+
21
+ export const Badge = JSX<BadgeProps>(({ count, version = 'secondary' }) => {
22
+ return (
23
+ <div
24
+ className={style(
25
+ 'w-6 h-6 rounded-full flex items-center justify-center',
26
+ badgeBgStyleMap[version],
27
+ )}
28
+ >
29
+ <Text size="text-xs" color={badgeTextColorStyleMap[version]}>
30
+ {count}
31
+ </Text>
32
+ </div>
33
+ );
34
+ });
@@ -8,8 +8,7 @@ import { checkShouldRenderBlock } from '../BaseFiltration/checkShouldRenderBlock
8
8
  import { DefaultFoldButton } from '../Foldable/DefaultFoldButton';
9
9
  import { Foldable } from '../Foldable/Foldable';
10
10
  import { FoldableSection } from '../Foldable/FoldableSection';
11
- import { Paragraph } from '../Paragraph/Paragraph';
12
- import { Text } from '../Text/Text';
11
+ import { Headline } from '../../components/Headline/Headline';
13
12
 
14
13
  const ICONS: IconName[] = ['ArrowDownIcon', 'ArrowUpIcon'];
15
14
 
@@ -34,17 +33,14 @@ export const BaseFiltrationInner = JSX<BaseFiltrationInnerProps>(
34
33
  <div className={style(blocksToRender.length ? 'hidden' : 'block')}>
35
34
  {notFound ? renderNotFound(notFound) : null}
36
35
  </div>
37
- <div className={style(blocksToRender.length ? '' : 'hidden')}>
38
- <div className={style('mb-2xs', resultsGridStyle)}>
36
+ <div className={style('space-y-2xs', blocksToRender.length ? '' : 'hidden')}>
37
+ <div className={style(resultsGridStyle)}>
39
38
  {renderBlocksList(visibleBlocks, { ...rest.options, parent: block })}
40
39
  </div>
41
40
  <Foldable
42
41
  renderFoldableSection={({ isUnfolded }) => {
43
42
  return (
44
- <FoldableSection
45
- className={style(resultsGridStyle, isUnfolded ? 'mb-2xs' : '')}
46
- isUnfolded={isUnfolded}
47
- >
43
+ <FoldableSection className={style(resultsGridStyle)} isUnfolded={isUnfolded}>
48
44
  {renderBlocksList(hiddenBlocks, { ...rest.options, parent: block })}
49
45
  </FoldableSection>
50
46
  );
@@ -69,18 +65,7 @@ export const BaseFiltrationInner = JSX<BaseFiltrationInnerProps>(
69
65
  function renderNotFound({ title, description }: NotFound) {
70
66
  return (
71
67
  <div className="bg-white py-20">
72
- {title ? (
73
- <div className="mb-xs">
74
- <Paragraph align="text-center">
75
- <Text size="text-h4">{title}</Text>
76
- </Paragraph>
77
- </div>
78
- ) : null}
79
- {description ? (
80
- <Paragraph size="text-xl" font="font-light" align="text-center">
81
- {description}
82
- </Paragraph>
83
- ) : null}
68
+ <Headline title={title} description={description} headlineVersion="S" isEmbedded={true} />
84
69
  </div>
85
70
  );
86
71
  }
@@ -0,0 +1,7 @@
1
+ /**
2
+ * @title Кнопка фильтрации
3
+ */
4
+ export interface HotFilterBase {
5
+ /** @title Текст */
6
+ text?: string;
7
+ }
@@ -0,0 +1,6 @@
1
+ import type { BlockDef } from '../../model/ContentPageDef';
2
+ import { checkShouldRenderBlock } from '../../ui-kit/BaseFiltration/checkShouldRenderBlock';
3
+ import type { BaseFilter } from './useHotFilters';
4
+
5
+ export const getBadgeCount = (blocks: BlockDef[] = [], filter: BaseFilter = {}) =>
6
+ blocks.filter(({ content = {} }) => checkShouldRenderBlock(filter, content)).length;
@@ -0,0 +1,3 @@
1
+ import { arrCmp, combineBoolCmps, objCmp, scalarCmp } from '../../utils/BoolComparator';
2
+
3
+ export const hotFilterRecordCmp = objCmp<string[]>(combineBoolCmps(scalarCmp, arrCmp()));
@@ -29,7 +29,7 @@ export const renderFiltrationForm = ({
29
29
  resetButton,
30
30
  children,
31
31
  }: RenderFiltrationFormProps) => (
32
- <form className="flex justify-between bg-white p-4xl mb-2xs">
32
+ <form className="flex justify-between bg-white p-4xl">
33
33
  <div className="flex gap-5xl">
34
34
  {children}
35
35
  {Object.entries(filtrationSchema).map(renderFormItem(field))}
@@ -0,0 +1,65 @@
1
+ import { useCallback, useMemo } from '@redneckz/uni-jsx/lib/hooks';
2
+ import type { BlockDef } from '../../model/ContentPageDef';
3
+ import { Badge } from '../Badge/Badge';
4
+ import type { TabItemBase } from '../TabsControl/TabItem';
5
+ import type { TabsControlProps } from '../TabsControl/TabsControlProps';
6
+ import { getBadgeCount } from './getBadgeCount';
7
+ import { HotFilterBase } from './HotFilterBase';
8
+ import { hotFilterRecordCmp } from './hotFilterRecordCmp';
9
+
10
+ const EMPTY_ARR = [];
11
+ const EMPTY_OBJ = {};
12
+
13
+ export type BaseFilter = HotFilterBase & {
14
+ filter?: Record<string, string[]>;
15
+ };
16
+
17
+ interface UseHotFiltersParams {
18
+ hotFilters?: BaseFilter[];
19
+ filtrationState?: Record<string, string[]>;
20
+ blocks?: BlockDef[];
21
+ onFiltrationStateChange: (_?: Record<string, string[]>) => void;
22
+ }
23
+
24
+ export const useHotFilters = ({
25
+ hotFilters = EMPTY_ARR,
26
+ filtrationState = EMPTY_OBJ,
27
+ blocks = EMPTY_ARR,
28
+ onFiltrationStateChange,
29
+ }: UseHotFiltersParams): TabsControlProps => {
30
+ const activeItemIndex = useMemo(
31
+ () =>
32
+ Math.max(
33
+ 0,
34
+ hotFilters.findIndex((_) => hotFilterRecordCmp(_.filter, filtrationState)),
35
+ ),
36
+ [hotFilters, filtrationState],
37
+ );
38
+
39
+ const items: TabItemBase[] = useMemo(
40
+ () =>
41
+ hotFilters.map((_) => ({
42
+ text: _.text,
43
+ appendRight: (
44
+ <Badge
45
+ version={_ === hotFilters[activeItemIndex] ? 'primary' : 'secondary'}
46
+ count={getBadgeCount(blocks, _.filter)}
47
+ />
48
+ ),
49
+ })),
50
+ [hotFilters, blocks, activeItemIndex],
51
+ );
52
+
53
+ const handleChange = useCallback(
54
+ (_: TabItemBase) => {
55
+ onFiltrationStateChange(hotFilters[items.indexOf(_)].filter);
56
+ },
57
+ [hotFilters, items],
58
+ );
59
+
60
+ return {
61
+ value: items[activeItemIndex],
62
+ items: items,
63
+ onChange: handleChange,
64
+ };
65
+ };
@@ -66,20 +66,11 @@ export const BaseTile = JSX<BaseTileProps>(
66
66
  const renderImageContainer = (
67
67
  image: VNode | undefined,
68
68
  { className, imageAlign }: { className?: string; imageAlign?: Align },
69
- ) => {
70
- //TODO Спорное решение
71
- const fullWidth = image?.props?.image?.size?.width > 400;
72
-
73
- return image ? (
69
+ ) =>
70
+ image ? (
74
71
  <div
75
- className={style(
76
- 'flex-shrink-0',
77
- fullWidth ? 'w-full @xl:w-auto' : '',
78
- imageAlign && imageAlignmentMap[imageAlign],
79
- className,
80
- )}
72
+ className={style('md:flex-shrink-0', imageAlign && imageAlignmentMap[imageAlign], className)}
81
73
  >
82
74
  {image}
83
75
  </div>
84
76
  ) : null;
85
- };
@@ -20,8 +20,9 @@ export function renderRangeWithTicks({
20
20
  onChange,
21
21
  }: RangeWithTicksProps) {
22
22
  const rangeValue = list.length ? list.indexOf(value) : value;
23
+ const rangeValueShift = rangeValue > min ? rangeValue - min : 0;
23
24
  const inputStyle = {
24
- backgroundSize: `${(((rangeValue - min) * 100) / (max - min)).toFixed(2)}% 100%`,
25
+ backgroundSize: `${((rangeValueShift * 100) / (max - min)).toFixed(2)}% 100%`,
25
26
  };
26
27
 
27
28
  return (