@redneckz/wildless-cms-uni-blocks 0.12.5 → 0.12.6

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 (514) hide show
  1. package/bundle/blocks.schema.json +1 -1
  2. package/bundle/bundle.umd.js +60 -98
  3. package/bundle/bundle.umd.min.js +1 -1
  4. package/bundle/components/ProductBlock/ProductBlock.d.ts +1 -1
  5. package/bundle/components/ProductTile/ProductTileContent.d.ts +3 -26
  6. package/bundle/components/StepsBlock/StepsBlock.mobile.d.ts +2 -2
  7. package/bundle/icons/IconName.d.ts +4 -2
  8. package/bundle/ui-kit/BaseProductTile/BaseProductTile.d.ts +2 -2
  9. package/bundle/ui-kit/BaseProductTile/BaseProductTileContent.d.ts +3 -2
  10. package/bundle/ui-kit/BenefitItem/BenefitItem.d.ts +4 -4
  11. package/bundle/ui-kit/BenefitItem/renderBenefitDescription.d.ts +2 -0
  12. package/bundle/ui-kit/BenefitItem/renderBenefitIcon.d.ts +4 -0
  13. package/bundle/ui-kit/BenefitItem/renderBenefitLabel.d.ts +2 -0
  14. package/bundle/ui-kit/BenefitItem/renderBenefitText.d.ts +3 -0
  15. package/bundle/ui-kit/BenefitsList/BenefitsList.d.ts +1 -5
  16. package/bundle/ui-kit/BenefitsList/BenefitsListContent.d.ts +3 -1
  17. package/bundle/ui-kit/BenefitsList/BenefitsListProps.d.ts +4 -0
  18. package/bundle/ui-kit/BenefitsList/DefaultBenefitsList.d.ts +2 -0
  19. package/bundle/ui-kit/BenefitsList/TabularBenefitsList.d.ts +2 -0
  20. package/bundle/ui-kit/CookiePopup/CookiePopup.d.ts +2 -3
  21. package/bundle/ui-kit/Dialog/useDialogProps.d.ts +3 -1
  22. package/bundle/ui-kit/Text/TextProps.d.ts +1 -1
  23. package/cosmos-static/icons/BelarusianFlag.svg +1 -0
  24. package/dist/components/CarouselInvestmentCard/CarouselInvestmentCard.js +1 -1
  25. package/dist/components/CarouselInvestmentCard/CarouselInvestmentCard.js.map +1 -1
  26. package/dist/components/MobileAppTile/MobileAppTile.js +1 -1
  27. package/dist/components/MobileAppTile/MobileAppTile.js.map +1 -1
  28. package/dist/components/PictureText/PictureText.js +1 -1
  29. package/dist/components/PictureText/PictureText.js.map +1 -1
  30. package/dist/components/ProductBlock/ProductBlock.d.ts +1 -1
  31. package/dist/components/ProductBlock/ProductBlock.js +1 -1
  32. package/dist/components/ProductBlock/ProductBlock.js.map +1 -1
  33. package/dist/components/ProductGallery/ProductGallery.js +2 -2
  34. package/dist/components/ProductGallery/ProductGallery.js.map +1 -1
  35. package/dist/components/ProductGallery/ProductGallery.mobile.js +1 -1
  36. package/dist/components/ProductGallery/ProductGallery.mobile.js.map +1 -1
  37. package/dist/components/ProductTile/ProductTile.js +3 -17
  38. package/dist/components/ProductTile/ProductTile.js.map +1 -1
  39. package/dist/components/ProductTile/ProductTileContent.d.ts +3 -26
  40. package/dist/components/RepresentativeOfficeInfo/RepresentativeOfficeInfo.js +2 -2
  41. package/dist/components/RepresentativeOfficeInfo/RepresentativeOfficeInfo.js.map +1 -1
  42. package/dist/components/StepsBlock/StepsBlock.mobile.d.ts +2 -2
  43. package/dist/components/StepsBlock/StepsBlock.mobile.js +16 -16
  44. package/dist/components/StepsBlock/StepsBlock.mobile.js.map +1 -1
  45. package/dist/components/Tile/Tile.js +1 -1
  46. package/dist/components/Tile/Tile.js.map +1 -1
  47. package/dist/icons/IconName.d.ts +4 -2
  48. package/dist/icons/IconName.js +3 -1
  49. package/dist/icons/IconName.js.map +1 -1
  50. package/dist/ui-kit/BaseProductTile/BaseProductTile.d.ts +2 -2
  51. package/dist/ui-kit/BaseProductTile/BaseProductTile.js +3 -2
  52. package/dist/ui-kit/BaseProductTile/BaseProductTile.js.map +1 -1
  53. package/dist/ui-kit/BaseProductTile/BaseProductTileContent.d.ts +3 -2
  54. package/dist/ui-kit/BenefitItem/BenefitItem.d.ts +4 -4
  55. package/dist/ui-kit/BenefitItem/BenefitItem.js +3 -11
  56. package/dist/ui-kit/BenefitItem/BenefitItem.js.map +1 -1
  57. package/dist/ui-kit/BenefitItem/renderBenefitDescription.d.ts +2 -0
  58. package/dist/ui-kit/BenefitItem/renderBenefitDescription.js +7 -0
  59. package/dist/ui-kit/BenefitItem/renderBenefitDescription.js.map +1 -0
  60. package/dist/ui-kit/BenefitItem/renderBenefitIcon.d.ts +4 -0
  61. package/dist/ui-kit/BenefitItem/renderBenefitIcon.js +10 -0
  62. package/dist/ui-kit/BenefitItem/renderBenefitIcon.js.map +1 -0
  63. package/dist/ui-kit/BenefitItem/renderBenefitLabel.d.ts +2 -0
  64. package/dist/ui-kit/BenefitItem/renderBenefitLabel.js +7 -0
  65. package/dist/ui-kit/BenefitItem/renderBenefitLabel.js.map +1 -0
  66. package/dist/ui-kit/BenefitItem/renderBenefitText.d.ts +3 -0
  67. package/dist/ui-kit/BenefitItem/renderBenefitText.js +12 -0
  68. package/dist/ui-kit/BenefitItem/renderBenefitText.js.map +1 -0
  69. package/dist/ui-kit/BenefitsList/BenefitsList.d.ts +1 -5
  70. package/dist/ui-kit/BenefitsList/BenefitsList.js +3 -9
  71. package/dist/ui-kit/BenefitsList/BenefitsList.js.map +1 -1
  72. package/dist/ui-kit/BenefitsList/BenefitsListContent.d.ts +3 -1
  73. package/dist/ui-kit/BenefitsList/BenefitsListProps.d.ts +4 -0
  74. package/dist/ui-kit/BenefitsList/BenefitsListProps.js +2 -0
  75. package/dist/ui-kit/BenefitsList/BenefitsListProps.js.map +1 -0
  76. package/dist/ui-kit/BenefitsList/DefaultBenefitsList.d.ts +2 -0
  77. package/dist/ui-kit/BenefitsList/DefaultBenefitsList.js +14 -0
  78. package/dist/ui-kit/BenefitsList/DefaultBenefitsList.js.map +1 -0
  79. package/dist/ui-kit/BenefitsList/TabularBenefitsList.d.ts +2 -0
  80. package/dist/ui-kit/BenefitsList/TabularBenefitsList.js +8 -0
  81. package/dist/ui-kit/BenefitsList/TabularBenefitsList.js.map +1 -0
  82. package/dist/ui-kit/CookiePopup/CookiePopup.d.ts +2 -3
  83. package/dist/ui-kit/CookiePopup/CookiePopup.js +13 -7
  84. package/dist/ui-kit/CookiePopup/CookiePopup.js.map +1 -1
  85. package/dist/ui-kit/Dialog/Dialog.js +1 -1
  86. package/dist/ui-kit/Dialog/Dialog.js.map +1 -1
  87. package/dist/ui-kit/Dialog/useDialogProps.d.ts +3 -1
  88. package/dist/ui-kit/Dialog/useDialogProps.js +9 -7
  89. package/dist/ui-kit/Dialog/useDialogProps.js.map +1 -1
  90. package/dist/ui-kit/Paragraph/Paragraph.js +2 -1
  91. package/dist/ui-kit/Paragraph/Paragraph.js.map +1 -1
  92. package/dist/ui-kit/Text/Text.js +2 -1
  93. package/dist/ui-kit/Text/Text.js.map +1 -1
  94. package/dist/ui-kit/Text/TextProps.d.ts +1 -1
  95. package/lib/common.css +1 -1
  96. package/lib/components/CarouselInvestmentCard/CarouselInvestmentCard.js +1 -1
  97. package/lib/components/CarouselInvestmentCard/CarouselInvestmentCard.js.map +1 -1
  98. package/lib/components/MobileAppTile/MobileAppTile.js +1 -1
  99. package/lib/components/MobileAppTile/MobileAppTile.js.map +1 -1
  100. package/lib/components/PictureText/PictureText.js +1 -1
  101. package/lib/components/PictureText/PictureText.js.map +1 -1
  102. package/lib/components/ProductBlock/ProductBlock.d.ts +1 -1
  103. package/lib/components/ProductBlock/ProductBlock.js +1 -1
  104. package/lib/components/ProductBlock/ProductBlock.js.map +1 -1
  105. package/lib/components/ProductGallery/ProductGallery.js +2 -2
  106. package/lib/components/ProductGallery/ProductGallery.js.map +1 -1
  107. package/lib/components/ProductGallery/ProductGallery.mobile.js +1 -1
  108. package/lib/components/ProductGallery/ProductGallery.mobile.js.map +1 -1
  109. package/lib/components/ProductTile/ProductTile.js +4 -18
  110. package/lib/components/ProductTile/ProductTile.js.map +1 -1
  111. package/lib/components/ProductTile/ProductTileContent.d.ts +3 -26
  112. package/lib/{ui-kit/Heading/Heading.fixture.mobile.d.ts → components/RepresentativeOfficeInfo/RepresentativeOfficeInfo.fixture.mobile.d.ts} +1 -1
  113. package/lib/components/RepresentativeOfficeInfo/RepresentativeOfficeInfo.js +2 -2
  114. package/lib/components/RepresentativeOfficeInfo/RepresentativeOfficeInfo.js.map +1 -1
  115. package/lib/components/StepsBlock/StepsBlock.mobile.d.ts +2 -2
  116. package/lib/components/StepsBlock/StepsBlock.mobile.js +16 -16
  117. package/lib/components/StepsBlock/StepsBlock.mobile.js.map +1 -1
  118. package/lib/components/Tile/Tile.js +1 -1
  119. package/lib/components/Tile/Tile.js.map +1 -1
  120. package/lib/icons/IconName.d.ts +4 -2
  121. package/lib/icons/IconName.js +3 -1
  122. package/lib/icons/IconName.js.map +1 -1
  123. package/lib/ui-kit/BaseProductTile/BaseProductTile.d.ts +2 -2
  124. package/lib/ui-kit/BaseProductTile/BaseProductTile.js +3 -2
  125. package/lib/ui-kit/BaseProductTile/BaseProductTile.js.map +1 -1
  126. package/lib/ui-kit/BaseProductTile/BaseProductTileContent.d.ts +3 -2
  127. package/lib/ui-kit/BenefitItem/BenefitItem.d.ts +4 -4
  128. package/lib/ui-kit/BenefitItem/BenefitItem.js +3 -11
  129. package/lib/ui-kit/BenefitItem/BenefitItem.js.map +1 -1
  130. package/lib/ui-kit/BenefitItem/renderBenefitDescription.d.ts +1 -0
  131. package/lib/ui-kit/BenefitItem/renderBenefitDescription.js +4 -0
  132. package/lib/ui-kit/BenefitItem/renderBenefitDescription.js.map +1 -0
  133. package/lib/ui-kit/BenefitItem/renderBenefitIcon.d.ts +3 -0
  134. package/lib/ui-kit/BenefitItem/renderBenefitIcon.js +7 -0
  135. package/lib/ui-kit/BenefitItem/renderBenefitIcon.js.map +1 -0
  136. package/lib/ui-kit/BenefitItem/renderBenefitLabel.d.ts +1 -0
  137. package/lib/ui-kit/BenefitItem/renderBenefitLabel.js +4 -0
  138. package/lib/ui-kit/BenefitItem/renderBenefitLabel.js.map +1 -0
  139. package/lib/ui-kit/BenefitItem/renderBenefitText.d.ts +2 -0
  140. package/lib/ui-kit/BenefitItem/renderBenefitText.js +9 -0
  141. package/lib/ui-kit/BenefitItem/renderBenefitText.js.map +1 -0
  142. package/lib/ui-kit/BenefitsList/BenefitsList.d.ts +1 -5
  143. package/lib/ui-kit/BenefitsList/BenefitsList.js +3 -9
  144. package/lib/ui-kit/BenefitsList/BenefitsList.js.map +1 -1
  145. package/lib/ui-kit/BenefitsList/BenefitsListContent.d.ts +3 -1
  146. package/lib/ui-kit/BenefitsList/BenefitsListProps.d.ts +4 -0
  147. package/lib/ui-kit/BenefitsList/BenefitsListProps.js +2 -0
  148. package/lib/ui-kit/BenefitsList/BenefitsListProps.js.map +1 -0
  149. package/lib/ui-kit/BenefitsList/DefaultBenefitsList.d.ts +2 -0
  150. package/lib/ui-kit/BenefitsList/DefaultBenefitsList.js +12 -0
  151. package/lib/ui-kit/BenefitsList/DefaultBenefitsList.js.map +1 -0
  152. package/lib/ui-kit/BenefitsList/TabularBenefitsList.d.ts +2 -0
  153. package/lib/ui-kit/BenefitsList/TabularBenefitsList.js +6 -0
  154. package/lib/ui-kit/BenefitsList/TabularBenefitsList.js.map +1 -0
  155. package/lib/ui-kit/CookiePopup/CookiePopup.d.ts +2 -3
  156. package/lib/ui-kit/CookiePopup/CookiePopup.js +12 -6
  157. package/lib/ui-kit/CookiePopup/CookiePopup.js.map +1 -1
  158. package/lib/ui-kit/Dialog/Dialog.js +1 -1
  159. package/lib/ui-kit/Dialog/Dialog.js.map +1 -1
  160. package/lib/ui-kit/Dialog/useDialogProps.d.ts +3 -1
  161. package/lib/ui-kit/Dialog/useDialogProps.js +9 -7
  162. package/lib/ui-kit/Dialog/useDialogProps.js.map +1 -1
  163. package/lib/ui-kit/Paragraph/Paragraph.js +2 -1
  164. package/lib/ui-kit/Paragraph/Paragraph.js.map +1 -1
  165. package/lib/ui-kit/Text/Text.js +2 -1
  166. package/lib/ui-kit/Text/Text.js.map +1 -1
  167. package/lib/ui-kit/Text/TextProps.d.ts +1 -1
  168. package/mobile/bundle/bundle.umd.js +68 -54
  169. package/mobile/bundle/bundle.umd.min.js +1 -1
  170. package/mobile/bundle/components/ProductBlock/ProductBlock.d.ts +1 -1
  171. package/mobile/bundle/components/ProductTile/ProductTileContent.d.ts +3 -26
  172. package/mobile/bundle/components/StepsBlock/StepsBlock.d.ts +2 -2
  173. package/mobile/bundle/icons/IconName.d.ts +4 -2
  174. package/mobile/bundle/ui-kit/BaseProductTile/BaseProductTile.d.ts +2 -2
  175. package/mobile/bundle/ui-kit/BaseProductTile/BaseProductTileContent.d.ts +3 -2
  176. package/mobile/bundle/ui-kit/BenefitItem/BenefitItem.d.ts +4 -4
  177. package/mobile/bundle/ui-kit/BenefitItem/renderBenefitDescription.d.ts +2 -0
  178. package/mobile/bundle/ui-kit/BenefitItem/renderBenefitIcon.d.ts +4 -0
  179. package/mobile/bundle/ui-kit/BenefitItem/renderBenefitLabel.d.ts +2 -0
  180. package/mobile/bundle/ui-kit/BenefitItem/renderBenefitText.d.ts +3 -0
  181. package/mobile/bundle/ui-kit/BenefitsList/BenefitsList.d.ts +1 -5
  182. package/mobile/bundle/ui-kit/BenefitsList/BenefitsListContent.d.ts +3 -1
  183. package/mobile/bundle/ui-kit/BenefitsList/BenefitsListProps.d.ts +4 -0
  184. package/mobile/bundle/ui-kit/BenefitsList/DefaultBenefitsList.d.ts +2 -0
  185. package/mobile/bundle/ui-kit/BenefitsList/TabularBenefitsList.d.ts +2 -0
  186. package/mobile/bundle/ui-kit/CookiePopup/CookiePopup.d.ts +2 -3
  187. package/mobile/bundle/ui-kit/Dialog/useDialogProps.d.ts +3 -1
  188. package/mobile/bundle/ui-kit/Text/TextProps.d.ts +1 -1
  189. package/mobile/dist/components/CarouselInvestmentCard/CarouselInvestmentCard.js +1 -1
  190. package/mobile/dist/components/CarouselInvestmentCard/CarouselInvestmentCard.js.map +1 -1
  191. package/mobile/dist/components/MobileAppTile/MobileAppTile.js +1 -1
  192. package/mobile/dist/components/MobileAppTile/MobileAppTile.js.map +1 -1
  193. package/mobile/dist/components/PictureText/PictureText.js +1 -1
  194. package/mobile/dist/components/PictureText/PictureText.js.map +1 -1
  195. package/mobile/dist/components/ProductBlock/ProductBlock.d.ts +1 -1
  196. package/mobile/dist/components/ProductBlock/ProductBlock.js +1 -1
  197. package/mobile/dist/components/ProductBlock/ProductBlock.js.map +1 -1
  198. package/mobile/dist/components/ProductGallery/ProductGallery.js +1 -1
  199. package/mobile/dist/components/ProductGallery/ProductGallery.js.map +1 -1
  200. package/mobile/dist/components/ProductTile/ProductTile.js +3 -17
  201. package/mobile/dist/components/ProductTile/ProductTile.js.map +1 -1
  202. package/mobile/dist/components/ProductTile/ProductTileContent.d.ts +3 -26
  203. package/mobile/dist/components/RepresentativeOfficeInfo/RepresentativeOfficeInfo.js +2 -2
  204. package/mobile/dist/components/RepresentativeOfficeInfo/RepresentativeOfficeInfo.js.map +1 -1
  205. package/mobile/dist/components/StepsBlock/StepsBlock.d.ts +2 -2
  206. package/mobile/dist/components/StepsBlock/StepsBlock.js +16 -16
  207. package/mobile/dist/components/StepsBlock/StepsBlock.js.map +1 -1
  208. package/mobile/dist/components/Tile/Tile.js +1 -1
  209. package/mobile/dist/components/Tile/Tile.js.map +1 -1
  210. package/mobile/dist/icons/IconName.d.ts +4 -2
  211. package/mobile/dist/icons/IconName.js +3 -1
  212. package/mobile/dist/icons/IconName.js.map +1 -1
  213. package/mobile/dist/ui-kit/BaseProductTile/BaseProductTile.d.ts +2 -2
  214. package/mobile/dist/ui-kit/BaseProductTile/BaseProductTile.js +3 -2
  215. package/mobile/dist/ui-kit/BaseProductTile/BaseProductTile.js.map +1 -1
  216. package/mobile/dist/ui-kit/BaseProductTile/BaseProductTileContent.d.ts +3 -2
  217. package/mobile/dist/ui-kit/BenefitItem/BenefitItem.d.ts +4 -4
  218. package/mobile/dist/ui-kit/BenefitItem/BenefitItem.js +3 -11
  219. package/mobile/dist/ui-kit/BenefitItem/BenefitItem.js.map +1 -1
  220. package/mobile/dist/ui-kit/BenefitItem/renderBenefitDescription.d.ts +2 -0
  221. package/mobile/dist/ui-kit/BenefitItem/renderBenefitDescription.js +7 -0
  222. package/mobile/dist/ui-kit/BenefitItem/renderBenefitDescription.js.map +1 -0
  223. package/mobile/dist/ui-kit/BenefitItem/renderBenefitIcon.d.ts +4 -0
  224. package/mobile/dist/ui-kit/BenefitItem/renderBenefitIcon.js +10 -0
  225. package/mobile/dist/ui-kit/BenefitItem/renderBenefitIcon.js.map +1 -0
  226. package/mobile/dist/ui-kit/BenefitItem/renderBenefitLabel.d.ts +2 -0
  227. package/mobile/dist/ui-kit/BenefitItem/renderBenefitLabel.js +7 -0
  228. package/mobile/dist/ui-kit/BenefitItem/renderBenefitLabel.js.map +1 -0
  229. package/mobile/dist/ui-kit/BenefitItem/renderBenefitText.d.ts +3 -0
  230. package/mobile/dist/ui-kit/BenefitItem/renderBenefitText.js +12 -0
  231. package/mobile/dist/ui-kit/BenefitItem/renderBenefitText.js.map +1 -0
  232. package/mobile/dist/ui-kit/BenefitsList/BenefitsList.d.ts +1 -5
  233. package/mobile/dist/ui-kit/BenefitsList/BenefitsList.js +3 -9
  234. package/mobile/dist/ui-kit/BenefitsList/BenefitsList.js.map +1 -1
  235. package/mobile/dist/ui-kit/BenefitsList/BenefitsListContent.d.ts +3 -1
  236. package/mobile/dist/ui-kit/BenefitsList/BenefitsListProps.d.ts +4 -0
  237. package/mobile/dist/ui-kit/BenefitsList/BenefitsListProps.js +2 -0
  238. package/mobile/dist/ui-kit/BenefitsList/BenefitsListProps.js.map +1 -0
  239. package/mobile/dist/ui-kit/BenefitsList/DefaultBenefitsList.d.ts +2 -0
  240. package/mobile/dist/ui-kit/BenefitsList/DefaultBenefitsList.js +14 -0
  241. package/mobile/dist/ui-kit/BenefitsList/DefaultBenefitsList.js.map +1 -0
  242. package/mobile/dist/ui-kit/BenefitsList/TabularBenefitsList.d.ts +2 -0
  243. package/mobile/dist/ui-kit/BenefitsList/TabularBenefitsList.js +8 -0
  244. package/mobile/dist/ui-kit/BenefitsList/TabularBenefitsList.js.map +1 -0
  245. package/mobile/dist/ui-kit/CookiePopup/CookiePopup.d.ts +2 -3
  246. package/mobile/dist/ui-kit/CookiePopup/CookiePopup.js +13 -7
  247. package/mobile/dist/ui-kit/CookiePopup/CookiePopup.js.map +1 -1
  248. package/mobile/dist/ui-kit/Dialog/Dialog.js +1 -1
  249. package/mobile/dist/ui-kit/Dialog/Dialog.js.map +1 -1
  250. package/mobile/dist/ui-kit/Dialog/useDialogProps.d.ts +3 -1
  251. package/mobile/dist/ui-kit/Dialog/useDialogProps.js +9 -7
  252. package/mobile/dist/ui-kit/Dialog/useDialogProps.js.map +1 -1
  253. package/mobile/dist/ui-kit/Paragraph/Paragraph.js +2 -1
  254. package/mobile/dist/ui-kit/Paragraph/Paragraph.js.map +1 -1
  255. package/mobile/dist/ui-kit/Text/Text.js +2 -1
  256. package/mobile/dist/ui-kit/Text/Text.js.map +1 -1
  257. package/mobile/dist/ui-kit/Text/TextProps.d.ts +1 -1
  258. package/mobile/lib/common.css +1 -1
  259. package/mobile/lib/components/CarouselInvestmentCard/CarouselInvestmentCard.js +1 -1
  260. package/mobile/lib/components/CarouselInvestmentCard/CarouselInvestmentCard.js.map +1 -1
  261. package/mobile/lib/components/MobileAppTile/MobileAppTile.js +1 -1
  262. package/mobile/lib/components/MobileAppTile/MobileAppTile.js.map +1 -1
  263. package/mobile/lib/components/PictureText/PictureText.js +1 -1
  264. package/mobile/lib/components/PictureText/PictureText.js.map +1 -1
  265. package/mobile/lib/components/ProductBlock/ProductBlock.d.ts +1 -1
  266. package/mobile/lib/components/ProductBlock/ProductBlock.js +1 -1
  267. package/mobile/lib/components/ProductBlock/ProductBlock.js.map +1 -1
  268. package/mobile/lib/components/ProductGallery/ProductGallery.js +1 -1
  269. package/mobile/lib/components/ProductGallery/ProductGallery.js.map +1 -1
  270. package/mobile/lib/components/ProductTile/ProductTile.js +4 -18
  271. package/mobile/lib/components/ProductTile/ProductTile.js.map +1 -1
  272. package/mobile/lib/components/ProductTile/ProductTileContent.d.ts +3 -26
  273. package/mobile/lib/components/RepresentativeOfficeInfo/RepresentativeOfficeInfo.js +2 -2
  274. package/mobile/lib/components/RepresentativeOfficeInfo/RepresentativeOfficeInfo.js.map +1 -1
  275. package/mobile/lib/components/StepsBlock/StepsBlock.d.ts +2 -2
  276. package/mobile/lib/components/StepsBlock/StepsBlock.js +16 -16
  277. package/mobile/lib/components/StepsBlock/StepsBlock.js.map +1 -1
  278. package/mobile/lib/components/Tile/Tile.js +1 -1
  279. package/mobile/lib/components/Tile/Tile.js.map +1 -1
  280. package/mobile/lib/icons/IconName.d.ts +4 -2
  281. package/mobile/lib/icons/IconName.js +3 -1
  282. package/mobile/lib/icons/IconName.js.map +1 -1
  283. package/mobile/lib/ui-kit/BaseProductTile/BaseProductTile.d.ts +2 -2
  284. package/mobile/lib/ui-kit/BaseProductTile/BaseProductTile.js +3 -2
  285. package/mobile/lib/ui-kit/BaseProductTile/BaseProductTile.js.map +1 -1
  286. package/mobile/lib/ui-kit/BaseProductTile/BaseProductTileContent.d.ts +3 -2
  287. package/mobile/lib/ui-kit/BenefitItem/BenefitItem.d.ts +4 -4
  288. package/mobile/lib/ui-kit/BenefitItem/BenefitItem.js +3 -11
  289. package/mobile/lib/ui-kit/BenefitItem/BenefitItem.js.map +1 -1
  290. package/mobile/lib/ui-kit/BenefitItem/renderBenefitDescription.d.ts +2 -0
  291. package/mobile/lib/ui-kit/BenefitItem/renderBenefitDescription.js +4 -0
  292. package/mobile/lib/ui-kit/BenefitItem/renderBenefitDescription.js.map +1 -0
  293. package/mobile/lib/ui-kit/BenefitItem/renderBenefitIcon.d.ts +4 -0
  294. package/mobile/lib/ui-kit/BenefitItem/renderBenefitIcon.js +7 -0
  295. package/mobile/lib/ui-kit/BenefitItem/renderBenefitIcon.js.map +1 -0
  296. package/mobile/lib/ui-kit/BenefitItem/renderBenefitLabel.d.ts +2 -0
  297. package/mobile/lib/ui-kit/BenefitItem/renderBenefitLabel.js +4 -0
  298. package/mobile/lib/ui-kit/BenefitItem/renderBenefitLabel.js.map +1 -0
  299. package/mobile/lib/ui-kit/BenefitItem/renderBenefitText.d.ts +3 -0
  300. package/mobile/lib/ui-kit/BenefitItem/renderBenefitText.js +9 -0
  301. package/mobile/lib/ui-kit/BenefitItem/renderBenefitText.js.map +1 -0
  302. package/mobile/lib/ui-kit/BenefitsList/BenefitsList.d.ts +1 -5
  303. package/mobile/lib/ui-kit/BenefitsList/BenefitsList.js +3 -9
  304. package/mobile/lib/ui-kit/BenefitsList/BenefitsList.js.map +1 -1
  305. package/mobile/lib/ui-kit/BenefitsList/BenefitsListContent.d.ts +3 -1
  306. package/mobile/lib/ui-kit/BenefitsList/BenefitsListProps.d.ts +4 -0
  307. package/mobile/lib/ui-kit/BenefitsList/BenefitsListProps.js +2 -0
  308. package/mobile/lib/ui-kit/BenefitsList/BenefitsListProps.js.map +1 -0
  309. package/mobile/lib/ui-kit/BenefitsList/DefaultBenefitsList.d.ts +2 -0
  310. package/mobile/lib/ui-kit/BenefitsList/DefaultBenefitsList.js +12 -0
  311. package/mobile/lib/ui-kit/BenefitsList/DefaultBenefitsList.js.map +1 -0
  312. package/mobile/lib/ui-kit/BenefitsList/TabularBenefitsList.d.ts +2 -0
  313. package/mobile/lib/ui-kit/BenefitsList/TabularBenefitsList.js +6 -0
  314. package/mobile/lib/ui-kit/BenefitsList/TabularBenefitsList.js.map +1 -0
  315. package/mobile/lib/ui-kit/CookiePopup/CookiePopup.d.ts +2 -3
  316. package/mobile/lib/ui-kit/CookiePopup/CookiePopup.js +12 -6
  317. package/mobile/lib/ui-kit/CookiePopup/CookiePopup.js.map +1 -1
  318. package/mobile/lib/ui-kit/Dialog/Dialog.js +1 -1
  319. package/mobile/lib/ui-kit/Dialog/Dialog.js.map +1 -1
  320. package/mobile/lib/ui-kit/Dialog/useDialogProps.d.ts +3 -1
  321. package/mobile/lib/ui-kit/Dialog/useDialogProps.js +9 -7
  322. package/mobile/lib/ui-kit/Dialog/useDialogProps.js.map +1 -1
  323. package/mobile/lib/ui-kit/Paragraph/Paragraph.js +2 -1
  324. package/mobile/lib/ui-kit/Paragraph/Paragraph.js.map +1 -1
  325. package/mobile/lib/ui-kit/Text/Text.js +2 -1
  326. package/mobile/lib/ui-kit/Text/Text.js.map +1 -1
  327. package/mobile/lib/ui-kit/Text/TextProps.d.ts +1 -1
  328. package/mobile/src/components/CarouselInvestmentCard/CarouselInvestmentCard.tsx +2 -2
  329. package/mobile/src/components/MobileAppTile/MobileAppTile.tsx +1 -1
  330. package/mobile/src/components/PictureText/PictureText.example.json +7 -2
  331. package/mobile/src/components/PictureText/PictureText.tsx +14 -3
  332. package/mobile/src/components/ProductBlock/ProductBlock.example.json +4 -2
  333. package/mobile/src/components/ProductBlock/ProductBlock.tsx +20 -16
  334. package/mobile/src/components/ProductGallery/ProductGallery.tsx +19 -17
  335. package/mobile/src/components/ProductTile/ProductTile.example.json +4 -1
  336. package/mobile/src/components/ProductTile/ProductTile.tsx +23 -58
  337. package/mobile/src/components/ProductTile/ProductTileContent.ts +4 -35
  338. package/mobile/src/components/RepresentativeOfficeInfo/RepresentativeOfficeInfo.tsx +3 -3
  339. package/mobile/src/components/StepsBlock/StepsBlock.tsx +50 -49
  340. package/mobile/src/components/Tile/Tile.example.json +6 -2
  341. package/mobile/src/components/Tile/Tile.tsx +4 -3
  342. package/mobile/src/icons/BelarusianFlag.svg +4 -0
  343. package/mobile/src/icons/IconName.ts +5 -5
  344. package/mobile/src/ui-kit/BaseProductTile/BaseProductTile.tsx +19 -6
  345. package/mobile/src/ui-kit/BaseProductTile/BaseProductTileContent.ts +3 -1
  346. package/mobile/src/ui-kit/BenefitItem/BenefitItem.tsx +17 -49
  347. package/mobile/src/ui-kit/BenefitItem/renderBenefitDescription.tsx +13 -0
  348. package/mobile/src/ui-kit/BenefitItem/renderBenefitIcon.tsx +24 -0
  349. package/mobile/src/ui-kit/BenefitItem/renderBenefitLabel.tsx +12 -0
  350. package/mobile/src/ui-kit/BenefitItem/renderBenefitText.tsx +14 -0
  351. package/mobile/src/ui-kit/BenefitsList/BenefitsList.tsx +5 -32
  352. package/mobile/src/ui-kit/BenefitsList/BenefitsListContent.ts +3 -1
  353. package/mobile/src/ui-kit/BenefitsList/BenefitsListProps.ts +5 -0
  354. package/mobile/src/ui-kit/BenefitsList/DefaultBenefitsList.tsx +33 -0
  355. package/mobile/src/ui-kit/BenefitsList/TabularBenefitsList.tsx +17 -0
  356. package/mobile/src/ui-kit/CookiePopup/CookiePopup.tsx +17 -9
  357. package/mobile/src/ui-kit/Dialog/Dialog.tsx +1 -1
  358. package/mobile/src/ui-kit/Dialog/useDialogProps.ts +11 -9
  359. package/mobile/src/ui-kit/Paragraph/Paragraph.tsx +3 -2
  360. package/mobile/src/ui-kit/Text/Text.tsx +3 -2
  361. package/mobile/src/ui-kit/Text/TextProps.ts +0 -2
  362. package/package.json +1 -1
  363. package/src/components/CarouselInvestmentCard/CarouselInvestmentCard.tsx +2 -2
  364. package/src/components/MobileAppTile/MobileAppTile.tsx +1 -1
  365. package/src/components/PictureText/PictureText.example.json +7 -2
  366. package/src/components/PictureText/PictureText.tsx +14 -3
  367. package/src/components/ProductBlock/ProductBlock.example.json +4 -2
  368. package/src/components/ProductBlock/ProductBlock.tsx +20 -16
  369. package/src/components/ProductGallery/ProductGallery.mobile.tsx +19 -17
  370. package/src/components/ProductGallery/ProductGallery.tsx +2 -1
  371. package/src/components/ProductTile/ProductTile.example.json +4 -1
  372. package/src/components/ProductTile/ProductTile.fixture.tsx +13 -14
  373. package/src/components/ProductTile/ProductTile.tsx +23 -58
  374. package/src/components/ProductTile/ProductTileContent.ts +4 -35
  375. package/src/components/RepresentativeOfficeInfo/RepresentativeOfficeInfo.fixture.mobile.tsx +47 -0
  376. package/src/components/RepresentativeOfficeInfo/RepresentativeOfficeInfo.fixture.tsx +18 -9
  377. package/src/components/RepresentativeOfficeInfo/RepresentativeOfficeInfo.tsx +3 -3
  378. package/src/components/StepsBlock/StepsBlock.fixture.mobile.tsx +16 -8
  379. package/src/components/StepsBlock/StepsBlock.mobile.tsx +50 -49
  380. package/src/components/Tile/Tile.example.json +6 -2
  381. package/src/components/Tile/Tile.fixture.tsx +1 -1
  382. package/src/components/Tile/Tile.tsx +4 -3
  383. package/src/icons/BelarusianFlag.svg +4 -0
  384. package/src/icons/IconName.ts +5 -5
  385. package/src/ui-kit/BaseProductTile/BaseProductTile.tsx +19 -6
  386. package/src/ui-kit/BaseProductTile/BaseProductTileContent.ts +3 -1
  387. package/src/ui-kit/BenefitItem/BenefitItem.tsx +17 -49
  388. package/src/ui-kit/BenefitItem/renderBenefitDescription.tsx +13 -0
  389. package/src/ui-kit/BenefitItem/renderBenefitIcon.tsx +24 -0
  390. package/src/ui-kit/BenefitItem/renderBenefitLabel.tsx +12 -0
  391. package/src/ui-kit/BenefitItem/renderBenefitText.tsx +14 -0
  392. package/src/ui-kit/BenefitsList/BenefitsList.tsx +5 -32
  393. package/src/ui-kit/BenefitsList/BenefitsListContent.ts +3 -1
  394. package/src/ui-kit/BenefitsList/BenefitsListProps.ts +5 -0
  395. package/src/ui-kit/BenefitsList/DefaultBenefitsList.tsx +33 -0
  396. package/src/ui-kit/BenefitsList/TabularBenefitsList.tsx +17 -0
  397. package/src/ui-kit/CookiePopup/CookiePopup.tsx +17 -9
  398. package/src/ui-kit/Dialog/Dialog.tsx +1 -1
  399. package/src/ui-kit/Dialog/useDialogProps.ts +11 -9
  400. package/src/ui-kit/Paragraph/Paragraph.tsx +3 -2
  401. package/src/ui-kit/Text/Text.tsx +3 -2
  402. package/src/ui-kit/Text/TextProps.ts +0 -2
  403. package/tailwind.config.cjs +0 -3
  404. package/bundle/components/ProductTile/renderAdditionalDescription.d.ts +0 -3
  405. package/bundle/components/ProductTile/renderBenefit.d.ts +0 -3
  406. package/bundle/components/ProductTile/renderImage.d.ts +0 -3
  407. package/bundle/ui-kit/BenefitItem/borderRadius.mobile.d.ts +0 -1
  408. package/bundle/ui-kit/BenefitItem/labelSize.d.ts +0 -1
  409. package/bundle/ui-kit/BenefitItem/labelSize.mobile.d.ts +0 -1
  410. package/bundle/ui-kit/BenefitsList/renderBenefit.d.ts +0 -4
  411. package/dist/components/MobileAppTile/renderButtonSection.d.ts +0 -0
  412. package/dist/components/MobileAppTile/renderButtonSection.js +0 -1
  413. package/dist/components/MobileAppTile/renderButtonSection.js.map +0 -1
  414. package/dist/components/ProductTile/renderAdditionalDescription.d.ts +0 -3
  415. package/dist/components/ProductTile/renderAdditionalDescription.js +0 -14
  416. package/dist/components/ProductTile/renderAdditionalDescription.js.map +0 -1
  417. package/dist/components/ProductTile/renderBenefit.d.ts +0 -3
  418. package/dist/components/ProductTile/renderBenefit.js +0 -29
  419. package/dist/components/ProductTile/renderBenefit.js.map +0 -1
  420. package/dist/components/ProductTile/renderImage.d.ts +0 -3
  421. package/dist/components/ProductTile/renderImage.js +0 -13
  422. package/dist/components/ProductTile/renderImage.js.map +0 -1
  423. package/dist/ui-kit/BenefitItem/borderRadius.mobile.d.ts +0 -1
  424. package/dist/ui-kit/BenefitItem/borderRadius.mobile.js +0 -4
  425. package/dist/ui-kit/BenefitItem/borderRadius.mobile.js.map +0 -1
  426. package/dist/ui-kit/BenefitItem/labelSize.d.ts +0 -1
  427. package/dist/ui-kit/BenefitItem/labelSize.js +0 -4
  428. package/dist/ui-kit/BenefitItem/labelSize.js.map +0 -1
  429. package/dist/ui-kit/BenefitItem/labelSize.mobile.d.ts +0 -1
  430. package/dist/ui-kit/BenefitItem/labelSize.mobile.js +0 -4
  431. package/dist/ui-kit/BenefitItem/labelSize.mobile.js.map +0 -1
  432. package/dist/ui-kit/BenefitsList/renderBenefit.d.ts +0 -4
  433. package/dist/ui-kit/BenefitsList/renderBenefit.js +0 -13
  434. package/dist/ui-kit/BenefitsList/renderBenefit.js.map +0 -1
  435. package/lib/components/MobileAppTile/renderButtonSection.d.ts +0 -0
  436. package/lib/components/MobileAppTile/renderButtonSection.js +0 -1
  437. package/lib/components/MobileAppTile/renderButtonSection.js.map +0 -1
  438. package/lib/components/ProductTile/renderAdditionalDescription.d.ts +0 -3
  439. package/lib/components/ProductTile/renderAdditionalDescription.js +0 -11
  440. package/lib/components/ProductTile/renderAdditionalDescription.js.map +0 -1
  441. package/lib/components/ProductTile/renderBenefit.d.ts +0 -2
  442. package/lib/components/ProductTile/renderBenefit.js +0 -26
  443. package/lib/components/ProductTile/renderBenefit.js.map +0 -1
  444. package/lib/components/ProductTile/renderImage.d.ts +0 -3
  445. package/lib/components/ProductTile/renderImage.js +0 -10
  446. package/lib/components/ProductTile/renderImage.js.map +0 -1
  447. package/lib/ui-kit/BenefitItem/borderRadius.mobile.d.ts +0 -1
  448. package/lib/ui-kit/BenefitItem/borderRadius.mobile.js +0 -2
  449. package/lib/ui-kit/BenefitItem/borderRadius.mobile.js.map +0 -1
  450. package/lib/ui-kit/BenefitItem/labelSize.d.ts +0 -1
  451. package/lib/ui-kit/BenefitItem/labelSize.js +0 -2
  452. package/lib/ui-kit/BenefitItem/labelSize.js.map +0 -1
  453. package/lib/ui-kit/BenefitItem/labelSize.mobile.d.ts +0 -1
  454. package/lib/ui-kit/BenefitItem/labelSize.mobile.js +0 -2
  455. package/lib/ui-kit/BenefitItem/labelSize.mobile.js.map +0 -1
  456. package/lib/ui-kit/BenefitsList/renderBenefit.d.ts +0 -3
  457. package/lib/ui-kit/BenefitsList/renderBenefit.js +0 -10
  458. package/lib/ui-kit/BenefitsList/renderBenefit.js.map +0 -1
  459. package/mobile/bundle/components/ProductTile/renderAdditionalDescription.d.ts +0 -3
  460. package/mobile/bundle/components/ProductTile/renderBenefit.d.ts +0 -3
  461. package/mobile/bundle/components/ProductTile/renderImage.d.ts +0 -3
  462. package/mobile/bundle/ui-kit/BenefitItem/labelSize.d.ts +0 -1
  463. package/mobile/bundle/ui-kit/BenefitsList/renderBenefit.d.ts +0 -4
  464. package/mobile/dist/components/MobileAppTile/renderButtonSection.d.ts +0 -0
  465. package/mobile/dist/components/MobileAppTile/renderButtonSection.js +0 -1
  466. package/mobile/dist/components/MobileAppTile/renderButtonSection.js.map +0 -1
  467. package/mobile/dist/components/ProductTile/renderAdditionalDescription.d.ts +0 -3
  468. package/mobile/dist/components/ProductTile/renderAdditionalDescription.js +0 -14
  469. package/mobile/dist/components/ProductTile/renderAdditionalDescription.js.map +0 -1
  470. package/mobile/dist/components/ProductTile/renderBenefit.d.ts +0 -3
  471. package/mobile/dist/components/ProductTile/renderBenefit.js +0 -29
  472. package/mobile/dist/components/ProductTile/renderBenefit.js.map +0 -1
  473. package/mobile/dist/components/ProductTile/renderImage.d.ts +0 -3
  474. package/mobile/dist/components/ProductTile/renderImage.js +0 -13
  475. package/mobile/dist/components/ProductTile/renderImage.js.map +0 -1
  476. package/mobile/dist/ui-kit/BenefitItem/labelSize.d.ts +0 -1
  477. package/mobile/dist/ui-kit/BenefitItem/labelSize.js +0 -4
  478. package/mobile/dist/ui-kit/BenefitItem/labelSize.js.map +0 -1
  479. package/mobile/dist/ui-kit/BenefitsList/renderBenefit.d.ts +0 -4
  480. package/mobile/dist/ui-kit/BenefitsList/renderBenefit.js +0 -13
  481. package/mobile/dist/ui-kit/BenefitsList/renderBenefit.js.map +0 -1
  482. package/mobile/lib/components/MobileAppTile/renderButtonSection.d.ts +0 -0
  483. package/mobile/lib/components/MobileAppTile/renderButtonSection.js +0 -1
  484. package/mobile/lib/components/MobileAppTile/renderButtonSection.js.map +0 -1
  485. package/mobile/lib/components/ProductTile/renderAdditionalDescription.d.ts +0 -3
  486. package/mobile/lib/components/ProductTile/renderAdditionalDescription.js +0 -11
  487. package/mobile/lib/components/ProductTile/renderAdditionalDescription.js.map +0 -1
  488. package/mobile/lib/components/ProductTile/renderBenefit.d.ts +0 -3
  489. package/mobile/lib/components/ProductTile/renderBenefit.js +0 -26
  490. package/mobile/lib/components/ProductTile/renderBenefit.js.map +0 -1
  491. package/mobile/lib/components/ProductTile/renderImage.d.ts +0 -3
  492. package/mobile/lib/components/ProductTile/renderImage.js +0 -10
  493. package/mobile/lib/components/ProductTile/renderImage.js.map +0 -1
  494. package/mobile/lib/ui-kit/BenefitItem/labelSize.d.ts +0 -1
  495. package/mobile/lib/ui-kit/BenefitItem/labelSize.js +0 -2
  496. package/mobile/lib/ui-kit/BenefitItem/labelSize.js.map +0 -1
  497. package/mobile/lib/ui-kit/BenefitsList/renderBenefit.d.ts +0 -4
  498. package/mobile/lib/ui-kit/BenefitsList/renderBenefit.js +0 -10
  499. package/mobile/lib/ui-kit/BenefitsList/renderBenefit.js.map +0 -1
  500. package/mobile/src/components/MobileAppTile/renderButtonSection.tsx +0 -0
  501. package/mobile/src/components/ProductTile/renderAdditionalDescription.tsx +0 -19
  502. package/mobile/src/components/ProductTile/renderBenefit.tsx +0 -41
  503. package/mobile/src/components/ProductTile/renderImage.tsx +0 -16
  504. package/mobile/src/ui-kit/BenefitItem/labelSize.tsx +0 -1
  505. package/mobile/src/ui-kit/BenefitsList/renderBenefit.tsx +0 -14
  506. package/src/components/MobileAppTile/renderButtonSection.tsx +0 -0
  507. package/src/components/ProductTile/renderAdditionalDescription.tsx +0 -19
  508. package/src/components/ProductTile/renderBenefit.tsx +0 -41
  509. package/src/components/ProductTile/renderImage.tsx +0 -16
  510. package/src/ui-kit/BenefitItem/borderRadius.mobile.tsx +0 -1
  511. package/src/ui-kit/BenefitItem/labelSize.mobile.tsx +0 -1
  512. package/src/ui-kit/BenefitItem/labelSize.tsx +0 -1
  513. package/src/ui-kit/BenefitsList/renderBenefit.tsx +0 -14
  514. package/src/ui-kit/Heading/Heading.fixture.mobile.tsx +0 -30
@@ -1,6 +1,5 @@
1
1
  import { JSX } from '@redneckz/uni-jsx';
2
2
  import type { BlockVersion } from '../../model/BlockVersion';
3
- import type { UniBlockProps } from '../../model/JSXBlock';
4
3
  import type { SizeVersion } from '../../model/SizeVersion';
5
4
  import { BlockWrapper } from '../../ui-kit/BlockWrapper';
6
5
  import { Heading } from '../../ui-kit/Heading/Heading';
@@ -8,63 +7,71 @@ import { Img } from '../../ui-kit/Img/Img';
8
7
  import { RichText } from '../../ui-kit/RichText/RichText';
9
8
  import { assertUnreachable } from '../../utils/assertUnreachable';
10
9
  import { checkCanRenderIcon } from './checkCanRenderIcon';
11
- import type { DefaultStep, Step, StepsBlockContent } from './StepsBlockContent';
10
+ import type { DefaultStep, Step } from './StepsBlockContent';
12
11
  import { STEPS_BLOCK_STYLE } from './StepsBlockStyleMaps';
12
+ import { style } from '../../utils/style';
13
+ import { renderButtonsSection } from '../../ui-kit/Button/renderButtonsSection';
14
+ import { Paragraph } from '../../ui-kit/Paragraph/Paragraph';
15
+ import { StepsBlockContent } from './StepsBlockContent';
16
+ import { UniBlockProps } from '../../model/JSXBlock';
13
17
 
14
- export interface StepsBlockProps extends StepsBlockContent, UniBlockProps {}
18
+ type StepIconVersion = Record<'icon' | 'image', string>;
15
19
 
16
- const STEPS_SIZE_MAP: Record<SizeVersion, string> = {
17
- normal: 'h-[70px] w-[70px] min-w-[70px] min-h-[70px]',
18
- small: 'h-12 w-12 min-w-12 min-h-12',
20
+ const STEPS_SIZE_MAP: Record<SizeVersion, StepIconVersion> = {
21
+ normal: { icon: 'h-11 w-11', image: 'h-14 w-14' },
22
+ small: { icon: 'h-12 w-12', image: 'h-14 w-14' },
19
23
  };
20
24
 
21
25
  const STEPS_TILE_DESCRIPTION_HEIGHT_MAP: Record<SizeVersion, string> = {
22
- normal: 'min-h-[70px]',
26
+ normal: '',
23
27
  small: 'min-h-12',
24
28
  };
25
29
 
26
30
  const styleMap = STEPS_BLOCK_STYLE;
27
31
 
32
+ export interface StepsBlockProps extends StepsBlockContent, UniBlockProps {}
33
+
28
34
  export const StepsBlock = JSX<StepsBlockProps>(
29
35
  ({
30
36
  className = '',
31
37
  title,
32
38
  description,
33
- showLines = true,
34
39
  steps,
40
+ buttons,
35
41
  size = 'normal',
36
42
  version = 'primary',
37
43
  ...rest
38
44
  }) => (
39
45
  <BlockWrapper
40
- className={`box-border flex flex-col ${className}`}
41
- defaultPadding="px-4 py-6"
46
+ className={style('box-border flex flex-col gap-2', className)}
47
+ defaultPadding="p-default"
42
48
  version={version}
43
49
  {...rest}
44
50
  >
45
- {title ? <Heading headingType="h3" className="text-center" title={title} /> : null}
51
+ {title ? <Heading headingType="h3" className="text-left" title={title} /> : null}
46
52
  {description ? (
47
- <p className={`text-m-light text-center ${styleMap.description} ${title ? 'mt-2' : ''}`}>
48
- {description}
49
- </p>
53
+ <Paragraph size="text-xl" font="font-light">
54
+ <span className={styleMap.description}>{description}</span>
55
+ </Paragraph>
50
56
  ) : null}
51
57
  {steps?.length ? (
52
- <div className={`box-border py-0.5 mb-0.5 mt-5`}>
53
- <div className="flex flex-col justify-between gap-x-[101px]">
54
- {steps.map(renderStep(size, version, showLines))}
58
+ <div className="box-border">
59
+ <div className="flex flex-col justify-between">
60
+ {steps.map(renderStep(size, version))}
55
61
  </div>
56
62
  </div>
57
63
  ) : null}
64
+ {renderButtonsSection(buttons, { className: 'mt-3', isVertical: true })}
58
65
  </BlockWrapper>
59
66
  ),
60
67
  );
61
68
 
62
69
  // TODO: Create universal function for this case
63
70
  const renderStep =
64
- (size: SizeVersion, version: BlockVersion, showLines: boolean) =>
71
+ (size: SizeVersion, version: BlockVersion) =>
65
72
  // Linter doesn't understand that switch processes all cases
66
73
  // eslint-disable-next-line consistent-return
67
- (step: Step, i: number, steps: Step[]) => {
74
+ (step: Step, i: number) => {
68
75
  const { type } = step;
69
76
 
70
77
  if (!(type === 'default' || type === 'rte')) {
@@ -73,7 +80,7 @@ const renderStep =
73
80
 
74
81
  switch (type) {
75
82
  case 'default':
76
- return renderDefaultStep(size, version, showLines)(step, i, steps);
83
+ return renderDefaultStep(size, version)(step, i);
77
84
  case 'rte':
78
85
  return <RichText __html={step.__html} />;
79
86
  default:
@@ -82,52 +89,46 @@ const renderStep =
82
89
  };
83
90
 
84
91
  const renderDefaultStep =
85
- (size: SizeVersion, version: BlockVersion, showLines: boolean) =>
86
- (step: DefaultStep, i: number, steps: Step[]) => {
87
- const isLastStep = steps.length - 1 === i;
88
- const margin = size === 'normal' ? 'ml-[34px]' : 'ml-6';
89
-
90
- return (
91
- <div key={String(i)}>
92
- <div className="flex flex-row text-center relative">
93
- <div className="overflow-hidden flex-shrink-0">
92
+ (size: SizeVersion, version: BlockVersion) => (step: DefaultStep, i: number) =>
93
+ (
94
+ <div key={String(i)} className="contents">
95
+ <div className="flex flex-row text-center relative py-3">
96
+ <div className="overflow-hidden flex flex-shrink-0 items-center">
94
97
  {renderIconArea(size, version)(step, i)}
95
- {isLastStep ? null : (
96
- <div
97
- className={`min-h-8 h-full w-0.5 ${
98
- showLines ? styleMap.iconConnector : ''
99
- } ${margin}`}
100
- />
101
- )}
102
98
  </div>
103
99
  <div
104
- className={`flex flex-col justify-center h-fit ${STEPS_TILE_DESCRIPTION_HEIGHT_MAP[size]}`}
100
+ className={style(
101
+ 'flex flex-col justify-center h-fit',
102
+ STEPS_TILE_DESCRIPTION_HEIGHT_MAP[size],
103
+ )}
105
104
  >
106
- {step.label ? (
107
- <div className="text-m-title-xs font-medium m-0 text-left mb-1">{step.label}</div>
108
- ) : null}
105
+ {step.label ? <div className="text-l m-0 text-left">{step.label}</div> : null}
109
106
  {step.description ? (
110
- <div className={`text-s ${styleMap.description} text-left`}>{step.description}</div>
107
+ <div className={style('text-s font-light text-left', styleMap.description)}>
108
+ {step.description}
109
+ </div>
111
110
  ) : null}
112
111
  </div>
113
112
  </div>
114
113
  </div>
115
114
  );
116
- };
117
115
 
118
116
  const renderIconArea = (size: SizeVersion, version: BlockVersion) => (step: Step, i: number) => {
119
- const iconAreaSize = STEPS_SIZE_MAP[size];
120
-
121
- const iconSize = size === 'normal' ? '38' : '27';
122
- const iconTextSize = size === 'normal' ? 'text-m-title' : 'text-m-title-xs';
123
-
117
+ const iconSize = size === 'normal' ? '38' : '24';
124
118
  const iconVersion = version === 'secondary' ? 'white' : 'color';
119
+ const isImg = Boolean(step?.icon?.src);
120
+ const iconAreaSize = STEPS_SIZE_MAP[size][isImg ? 'image' : 'icon'];
121
+ const containerStyle = isImg ? '' : `rounded-md ${styleMap.iconBackground}`;
125
122
 
126
123
  return (
127
124
  <div
128
- className={`${iconAreaSize} ${styleMap.iconBackground} rounded-full z-10 mr-3 flex justify-center content-center`}
125
+ className={style(
126
+ iconAreaSize,
127
+ containerStyle,
128
+ 'z-10 mr-3 flex justify-center content-center',
129
+ )}
129
130
  >
130
- <span className={`font-medium flex self-center ${iconTextSize}`}>
131
+ <span className="flex self-center text-h4 text-secondary-text group-data-secondary:text-white">
131
132
  {checkCanRenderIcon(step?.icon) ? (
132
133
  <Img
133
134
  image={{ ...step.icon, iconVersion: step.icon?.iconVersion || iconVersion }}
@@ -1,11 +1,12 @@
1
1
  {
2
2
  "content": {
3
3
  "title": "Плитка",
4
- "headingType": "h3",
4
+ "headlineVersion": "S",
5
5
  "__html": "<p>Описание</p>",
6
6
  "image": {
7
7
  "format": "webp",
8
8
  "size": {
9
+ "format": "webp",
9
10
  "width": 445
10
11
  }
11
12
  },
@@ -19,6 +20,9 @@
19
20
  }
20
21
  ],
21
22
  "version": "primary",
22
- "directionRight": true
23
+ "imageOptions": {
24
+ "directionRight": true,
25
+ "imageAlign": "end"
26
+ }
23
27
  }
24
28
  }
@@ -115,7 +115,7 @@ export default {
115
115
  ecosystem: (
116
116
  <div className="container grid grid-cols-12">
117
117
  <Tile
118
- className="col-span-12 pr-28"
118
+ className="col-span-12"
119
119
  title="Экосистема «СВОЕ», созданная для людей"
120
120
  items={[
121
121
  'Качественные фермерские продукты напрямую от производителей',
@@ -7,14 +7,15 @@ import type { TileContent } from './TileContent';
7
7
  export interface TileProps extends TileContent, UniBlockProps {}
8
8
 
9
9
  export const Tile = JSX<TileProps>(
10
- ({ className, headlineVersion = 'S', listItemSize = 'M', ...rest }) => (
11
- <BlockWrapper className={className} {...rest}>
10
+ ({ className, padding, headlineVersion = 'S', listItemSize = 'M', ...rest }) => (
11
+ <BlockWrapper className={className} padding="p-0" {...rest}>
12
12
  <BaseProductTile
13
13
  className="h-full"
14
+ defaultPadding="p-m"
15
+ padding={padding}
14
16
  headlineVersion={headlineVersion}
15
17
  listItemSize={listItemSize}
16
18
  {...rest}
17
- imageOptions={{ imageAlign: 'end', ...rest.imageOptions }}
18
19
  />
19
20
  </BlockWrapper>
20
21
  ),
@@ -0,0 +1,4 @@
1
+ <svg title="Белорусский флаг" viewBox="0 0 34 24" fill="none" xmlns="http://www.w3.org/2000/svg">
2
+ <path d="M56.3125 -1.57031H-22.3125V25.5725H56.3125V-1.57031Z" fill="#CE1720"/>
3
+ <path d="M-13.1406 16.5234H56.3111V25.5713H-13.1406V16.5234Z" fill="#007C30"/>
4
+ </svg>
@@ -3,15 +3,15 @@
3
3
  /* eslint-disable max-len, max-lines */
4
4
 
5
5
  export const IconsWithoutInversion = new Set([
6
- 'ActualBalanceIcon', 'AirPlaneIcon', 'BagIcon', 'BriefcaseIcon', 'CardWithGemIcon', 'CarIcon', 'ChevronLeft', 'CinemaIcon', 'ClientIcon', 'ClockIcon', 'ComfortableCompIcon', 'CreditCardsIcon', 'DocsIcon', 'DollarIcon', 'DoneIcon', 'EarthIcon', 'EuroIcon', 'FullScreenIcon', 'GlassIcon', 'HeadphonesIcon', 'HeartIcon', 'HuaweiIcon', 'InterestGrowthIcon', 'JCBIcon', 'MailIcon', 'MapMarkerClusterIcon', 'MapMarkerSingleIcon', 'MasterCardIcon', 'MirIcon', 'MoneyInsuranceIcon', 'NewDocIcon', 'OfficeIcon', 'PackA4Icon', 'PassSendIcon', 'PercentIcon', 'PhoneIcon', 'PowerIcon', 'PumpkinIcon', 'ResponceFailIcon', 'ResponceOKIcon', 'SignDocsIcon', 'SoundIcon', 'UnionPayIcon', 'UserGeoLocationIcon', 'VisaIcon', 'WateringCanIcon'
6
+ 'ActualBalanceIcon', 'AirPlaneIcon', 'BagIcon', 'BelarusianFlag', 'BriefcaseIcon', 'CardWithGemIcon', 'CarIcon', 'ChevronLeft', 'CinemaIcon', 'ClientIcon', 'ClockIcon', 'ComfortableCompIcon', 'CreditCardsIcon', 'DocsIcon', 'DollarIcon', 'DoneIcon', 'EarthIcon', 'EuroIcon', 'FullScreenIcon', 'GlassIcon', 'HeadphonesIcon', 'HeartIcon', 'HuaweiIcon', 'InterestGrowthIcon', 'JCBIcon', 'MailIcon', 'MapMarkerClusterIcon', 'MapMarkerSingleIcon', 'MasterCardIcon', 'MirIcon', 'MoneyInsuranceIcon', 'NewDocIcon', 'OfficeIcon', 'PackA4Icon', 'PassSendIcon', 'PercentIcon', 'PhoneIcon', 'PowerIcon', 'PumpkinIcon', 'ResponceFailIcon', 'ResponceOKIcon', 'SignDocsIcon', 'SoundIcon', 'UnionPayIcon', 'UserGeoLocationIcon', 'VisaIcon', 'WateringCanIcon'
7
7
  ]);
8
8
 
9
9
  export enum IconMap {
10
- ActualBalanceIcon = 'ActualBalanceIcon', AirPlaneIcon = 'AirPlaneIcon', AppleIcon = 'AppleIcon', ArrowDownIcon = 'ArrowDownIcon', ArrowDownSolidIcon = 'ArrowDownSolidIcon', ArrowLeftIcon = 'ArrowLeftIcon', ArrowRightIcon = 'ArrowRightIcon', ArrowTopRightIcon = 'ArrowTopRightIcon', ArrowUpIcon = 'ArrowUpIcon', ArrowUpSolidIcon = 'ArrowUpSolidIcon', AtmIcon = 'AtmIcon', BagIcon = 'BagIcon', BankIcon = 'BankIcon', BriefcaseIcon = 'BriefcaseIcon', BuildingIcon = 'BuildingIcon', BurgerIcon = 'BurgerIcon', Calendar2Icon = 'Calendar2Icon', CalendarCircleIcon = 'CalendarCircleIcon', CalendarIcon = 'CalendarIcon', CalendarTickIcon = 'CalendarTickIcon', Car2Icon = 'Car2Icon', CardIcon = 'CardIcon', CardPosIcon = 'CardPosIcon', CardTickIcon = 'CardTickIcon', CardWithGemIcon = 'CardWithGemIcon', CarIcon = 'CarIcon', ChartSquareIcon = 'ChartSquareIcon', ChevronLeft = 'ChevronLeft', CinemaIcon = 'CinemaIcon', ClientIcon = 'ClientIcon', ClockIcon = 'ClockIcon', CloseIcon = 'CloseIcon', ComfortableCompIcon = 'ComfortableCompIcon', CreditCardsIcon = 'CreditCardsIcon', DiscountShapeIcon = 'DiscountShapeIcon', DocDownloadIcon = 'DocDownloadIcon', DocIcon = 'DocIcon', DocIconMonoColor = 'DocIconMonoColor', DocsIcon = 'DocsIcon', DocumentText2Icon = 'DocumentText2Icon', DocumentTextIcon = 'DocumentTextIcon', DollarIcon = 'DollarIcon', DoneIcon = 'DoneIcon', DoneSimpleIcon = 'DoneSimpleIcon', EarthIcon = 'EarthIcon', EmptyWalletChangeIcon = 'EmptyWalletChangeIcon', EmptyWalletIcon = 'EmptyWalletIcon', EuroIcon = 'EuroIcon', FullScreenIcon = 'FullScreenIcon', GeolocationIcon = 'GeolocationIcon', GlassIcon = 'GlassIcon', GlobalIcon = 'GlobalIcon', GpsIcon = 'GpsIcon', GridIcon = 'GridIcon', HeadphonesIcon = 'HeadphonesIcon', HeartIcon = 'HeartIcon', HuaweiIcon = 'HuaweiIcon', InterestGrowthIcon = 'InterestGrowthIcon', InterestIcon = 'InterestIcon', JCBIcon = 'JCBIcon', LogoIcon = 'LogoIcon', LoupeIcon = 'LoupeIcon', MailIcon = 'MailIcon', MapMarkerClusterIcon = 'MapMarkerClusterIcon', MapMarkerSingleIcon = 'MapMarkerSingleIcon', MasterCardIcon = 'MasterCardIcon', MetroIcon = 'MetroIcon', MinusIcon = 'MinusIcon', MirIcon = 'MirIcon', MoneyIcon = 'MoneyIcon', MoneyInsuranceIcon = 'MoneyInsuranceIcon', MoneysIcon = 'MoneysIcon', MonitorMobileIcon = 'MonitorMobileIcon', NewDocIcon = 'NewDocIcon', OfficeIcon = 'OfficeIcon', OkIcon = 'OkIcon', PackA4Icon = 'PackA4Icon', PassSendIcon = 'PassSendIcon', PercentageRoundIcon = 'PercentageRoundIcon', PercentageSquareIcon = 'PercentageSquareIcon', PercentIcon = 'PercentIcon', PersonalCardIcon = 'PersonalCardIcon', PhoneIcon = 'PhoneIcon', PlayMarketIcon = 'PlayMarketIcon', PlusIcon = 'PlusIcon', PowerIcon = 'PowerIcon', Profile2UserIcon = 'Profile2UserIcon', ProfileIcon = 'ProfileIcon', PumpkinIcon = 'PumpkinIcon', ResponceFailIcon = 'ResponceFailIcon', ResponceOKIcon = 'ResponceOKIcon', RoundRubleIcon = 'RoundRubleIcon', SafeIcon = 'SafeIcon', ShieldTickIcon = 'ShieldTickIcon', SignDocsIcon = 'SignDocsIcon', SmallClockIcon = 'SmallClockIcon', SoundIcon = 'SoundIcon', StrongBoxIcon = 'StrongBoxIcon', TelegramIcon = 'TelegramIcon', UnionPayIcon = 'UnionPayIcon', UserGeoLocationIcon = 'UserGeoLocationIcon', UserSquareIcon = 'UserSquareIcon', UserTickIcon = 'UserTickIcon', VisaIcon = 'VisaIcon', VKIcon = 'VKIcon', WalletAdd2Icon = 'WalletAdd2Icon', WalletAddIcon = 'WalletAddIcon', WalletIcon = 'WalletIcon', WalletWithMoneyIcon = 'WalletWithMoneyIcon', WateringCanIcon = 'WateringCanIcon', YoutubeIcon = 'YoutubeIcon'
10
+ ActualBalanceIcon = 'ActualBalanceIcon', AirPlaneIcon = 'AirPlaneIcon', AppleIcon = 'AppleIcon', ArrowDownIcon = 'ArrowDownIcon', ArrowDownSolidIcon = 'ArrowDownSolidIcon', ArrowLeftIcon = 'ArrowLeftIcon', ArrowRightIcon = 'ArrowRightIcon', ArrowTopRightIcon = 'ArrowTopRightIcon', ArrowUpIcon = 'ArrowUpIcon', ArrowUpSolidIcon = 'ArrowUpSolidIcon', AtmIcon = 'AtmIcon', BagIcon = 'BagIcon', BankIcon = 'BankIcon', BelarusianFlag = 'BelarusianFlag', BriefcaseIcon = 'BriefcaseIcon', BuildingIcon = 'BuildingIcon', BurgerIcon = 'BurgerIcon', Calendar2Icon = 'Calendar2Icon', CalendarCircleIcon = 'CalendarCircleIcon', CalendarIcon = 'CalendarIcon', CalendarTickIcon = 'CalendarTickIcon', Car2Icon = 'Car2Icon', CardIcon = 'CardIcon', CardPosIcon = 'CardPosIcon', CardTickIcon = 'CardTickIcon', CardWithGemIcon = 'CardWithGemIcon', CarIcon = 'CarIcon', ChartSquareIcon = 'ChartSquareIcon', ChevronLeft = 'ChevronLeft', CinemaIcon = 'CinemaIcon', ClientIcon = 'ClientIcon', ClockIcon = 'ClockIcon', CloseIcon = 'CloseIcon', ComfortableCompIcon = 'ComfortableCompIcon', CreditCardsIcon = 'CreditCardsIcon', DiscountShapeIcon = 'DiscountShapeIcon', DocDownloadIcon = 'DocDownloadIcon', DocIcon = 'DocIcon', DocIconMonoColor = 'DocIconMonoColor', DocsIcon = 'DocsIcon', DocumentText2Icon = 'DocumentText2Icon', DocumentTextIcon = 'DocumentTextIcon', DollarIcon = 'DollarIcon', DoneIcon = 'DoneIcon', DoneSimpleIcon = 'DoneSimpleIcon', EarthIcon = 'EarthIcon', EmptyWalletChangeIcon = 'EmptyWalletChangeIcon', EmptyWalletIcon = 'EmptyWalletIcon', EuroIcon = 'EuroIcon', FullScreenIcon = 'FullScreenIcon', GeolocationIcon = 'GeolocationIcon', GlassIcon = 'GlassIcon', GlobalIcon = 'GlobalIcon', GpsIcon = 'GpsIcon', GridIcon = 'GridIcon', HeadphonesIcon = 'HeadphonesIcon', HeartIcon = 'HeartIcon', HuaweiIcon = 'HuaweiIcon', InterestGrowthIcon = 'InterestGrowthIcon', InterestIcon = 'InterestIcon', JCBIcon = 'JCBIcon', LogoIcon = 'LogoIcon', LoupeIcon = 'LoupeIcon', MailIcon = 'MailIcon', MapMarkerClusterIcon = 'MapMarkerClusterIcon', MapMarkerSingleIcon = 'MapMarkerSingleIcon', MasterCardIcon = 'MasterCardIcon', MetroIcon = 'MetroIcon', MinusIcon = 'MinusIcon', MirIcon = 'MirIcon', MoneyIcon = 'MoneyIcon', MoneyInsuranceIcon = 'MoneyInsuranceIcon', MoneysIcon = 'MoneysIcon', MonitorMobileIcon = 'MonitorMobileIcon', NewDocIcon = 'NewDocIcon', OfficeIcon = 'OfficeIcon', OkIcon = 'OkIcon', PackA4Icon = 'PackA4Icon', PassSendIcon = 'PassSendIcon', PercentageRoundIcon = 'PercentageRoundIcon', PercentageSquareIcon = 'PercentageSquareIcon', PercentIcon = 'PercentIcon', PersonalCardIcon = 'PersonalCardIcon', PhoneIcon = 'PhoneIcon', PlayMarketIcon = 'PlayMarketIcon', PlusIcon = 'PlusIcon', PowerIcon = 'PowerIcon', Profile2UserIcon = 'Profile2UserIcon', ProfileIcon = 'ProfileIcon', PumpkinIcon = 'PumpkinIcon', ResponceFailIcon = 'ResponceFailIcon', ResponceOKIcon = 'ResponceOKIcon', RoundRubleIcon = 'RoundRubleIcon', SafeIcon = 'SafeIcon', ShieldTickIcon = 'ShieldTickIcon', SignDocsIcon = 'SignDocsIcon', SmallClockIcon = 'SmallClockIcon', SoundIcon = 'SoundIcon', StrongBoxIcon = 'StrongBoxIcon', TelegramIcon = 'TelegramIcon', UnionPayIcon = 'UnionPayIcon', UserGeoLocationIcon = 'UserGeoLocationIcon', UserSquareIcon = 'UserSquareIcon', UserTickIcon = 'UserTickIcon', VisaIcon = 'VisaIcon', VKIcon = 'VKIcon', WalletAdd2Icon = 'WalletAdd2Icon', WalletAddIcon = 'WalletAddIcon', WalletIcon = 'WalletIcon', WalletWithMoneyIcon = 'WalletWithMoneyIcon', WateringCanIcon = 'WateringCanIcon', YoutubeIcon = 'YoutubeIcon'
11
11
  }
12
12
 
13
13
  export enum IconTitleMap {
14
- ActualBalanceIcon = 'Деньги', AirPlaneIcon = 'Самолёт', AppleIcon = 'Лого «Apple»', ArrowDownIcon = 'Стрелка \'Вниз\'', ArrowDownSolidIcon = 'Стрелка сплошная \'Вниз\'', ArrowLeftIcon = 'Стрелка \'Влево\'', ArrowRightIcon = 'Стрелка \'Вправо\'', ArrowTopRightIcon = 'Стрелка \'Вверх-право\'', ArrowUpIcon = 'Стрелка \'Вверх\'', ArrowUpSolidIcon = 'Стрелка сплошная \'Вверх\'', AtmIcon = 'Банкомат', BagIcon = 'Сумка', BankIcon = 'Банк', BriefcaseIcon = 'BriefcaseIcon', BuildingIcon = 'Здание с деревом', BurgerIcon = 'Бургер', Calendar2Icon = 'Календарь 2', CalendarCircleIcon = 'Скруглённый календарь', CalendarIcon = 'Календарь', CalendarTickIcon = 'Календарь с галочкой', Car2Icon = 'Машина2', CardIcon = 'Кред. карта', CardPosIcon = 'Кред. карта под наклоном', CardTickIcon = 'Кред. карта с галочкой', CardWithGemIcon = 'Карта с драгоценностями', CarIcon = 'Машина', ChartSquareIcon = 'Деньги внутри кошелька', ChevronLeft = 'Стрелка \'Вправо\'', CinemaIcon = 'Кинотеатр', ClientIcon = 'Клиент', ClockIcon = 'Часы', CloseIcon = 'Крестик', ComfortableCompIcon = 'Кресло', CreditCardsIcon = 'Кредитные карты', DiscountShapeIcon = 'Скидка', DocDownloadIcon = 'Скачать документ', DocIcon = 'Документ', DocIconMonoColor = 'Документ (одноцветный)', DocsIcon = 'Документы', DocumentText2Icon = 'Документы-2', DocumentTextIcon = 'Документ с текстом', DollarIcon = 'Доллар', DoneIcon = 'Зелёная \'галочка\' в круге', DoneSimpleIcon = 'Зелёная \'галочка\'', EarthIcon = 'Земля', EmptyWalletChangeIcon = 'Пустой кошелёк с возвратом', EmptyWalletIcon = 'Пустой кошелёк', EuroIcon = 'Евро', FullScreenIcon = 'FullScreenIcon', GeolocationIcon = 'Геолокация', GlassIcon = 'Зеркало', GlobalIcon = 'Глобус', GpsIcon = 'Gps', GridIcon = 'Сетка (белая)', HeadphonesIcon = 'HeadphonesIcon', HeartIcon = 'Сердце', HuaweiIcon = 'Лого «Huawei»', InterestGrowthIcon = 'Диаграмма роста', InterestIcon = 'Скидка', JCBIcon = 'JCB', LogoIcon = 'Logo', LoupeIcon = 'Лупа', MailIcon = 'E-mail', MapMarkerClusterIcon = 'Маркер карты', MapMarkerSingleIcon = 'Маркер карты РСХБ', MasterCardIcon = 'MasterCard', MetroIcon = 'Лого Метро', MinusIcon = 'Минус', MirIcon = 'МИР', MoneyIcon = 'Деньги', MoneyInsuranceIcon = 'Денежное страхование', MoneysIcon = 'Купюры', MonitorMobileIcon = 'Монитор и мобильный', NewDocIcon = 'Новый документ', OfficeIcon = 'Офис', OkIcon = 'Лого «Одноклассники»', PackA4Icon = 'Пачка бумаги А4', PassSendIcon = 'Бизнес', PercentageRoundIcon = 'Проценты (круг.)', PercentageSquareIcon = 'Проценты', PercentIcon = 'PercentIcon', PersonalCardIcon = 'Персональная карта', PhoneIcon = 'Телефон', PlayMarketIcon = 'Лого «PlayMarket»', PlusIcon = 'Плюс', PowerIcon = 'Щит', Profile2UserIcon = 'Профиль, 2 персоны', ProfileIcon = 'Профиль', PumpkinIcon = 'Тыква', ResponceFailIcon = 'Ошибка', ResponceOKIcon = 'Ок', RoundRubleIcon = 'Рубль (круг.)', SafeIcon = 'Сейф', ShieldTickIcon = 'Безопасность', SignDocsIcon = 'Подписанные документы', SmallClockIcon = 'Маленькие часы', SoundIcon = 'Звук', StrongBoxIcon = 'Ящик с замочной скважиной', TelegramIcon = 'Лого «Telegram»', UnionPayIcon = 'UnionPay', UserGeoLocationIcon = 'UserGeoLocationIcon', UserSquareIcon = 'Пользователь в рамке', UserTickIcon = 'Пользователь', VisaIcon = 'Visa', VKIcon = 'Лого «VK»', WalletAdd2Icon = 'Пополнение карты', WalletAddIcon = 'Кошелёк с плюсом', WalletIcon = 'Кошелёк', WalletWithMoneyIcon = 'Кошелёк с деньгами', WateringCanIcon = 'Добавить продукт', YoutubeIcon = 'Лого «Youtube»'
14
+ ActualBalanceIcon = 'Деньги', AirPlaneIcon = 'Самолёт', AppleIcon = 'Лого «Apple»', ArrowDownIcon = 'Стрелка \'Вниз\'', ArrowDownSolidIcon = 'Стрелка сплошная \'Вниз\'', ArrowLeftIcon = 'Стрелка \'Влево\'', ArrowRightIcon = 'Стрелка \'Вправо\'', ArrowTopRightIcon = 'Стрелка \'Вверх-право\'', ArrowUpIcon = 'Стрелка \'Вверх\'', ArrowUpSolidIcon = 'Стрелка сплошная \'Вверх\'', AtmIcon = 'Банкомат', BagIcon = 'Сумка', BankIcon = 'Банк', BelarusianFlag = 'Белорусский флаг', BriefcaseIcon = 'BriefcaseIcon', BuildingIcon = 'Здание с деревом', BurgerIcon = 'Бургер', Calendar2Icon = 'Календарь 2', CalendarCircleIcon = 'Скруглённый календарь', CalendarIcon = 'Календарь', CalendarTickIcon = 'Календарь с галочкой', Car2Icon = 'Машина2', CardIcon = 'Кред. карта', CardPosIcon = 'Кред. карта под наклоном', CardTickIcon = 'Кред. карта с галочкой', CardWithGemIcon = 'Карта с драгоценностями', CarIcon = 'Машина', ChartSquareIcon = 'Деньги внутри кошелька', ChevronLeft = 'Стрелка \'Вправо\'', CinemaIcon = 'Кинотеатр', ClientIcon = 'Клиент', ClockIcon = 'Часы', CloseIcon = 'Крестик', ComfortableCompIcon = 'Кресло', CreditCardsIcon = 'Кредитные карты', DiscountShapeIcon = 'Скидка', DocDownloadIcon = 'Скачать документ', DocIcon = 'Документ', DocIconMonoColor = 'Документ (одноцветный)', DocsIcon = 'Документы', DocumentText2Icon = 'Документы-2', DocumentTextIcon = 'Документ с текстом', DollarIcon = 'Доллар', DoneIcon = 'Зелёная \'галочка\' в круге', DoneSimpleIcon = 'Зелёная \'галочка\'', EarthIcon = 'Земля', EmptyWalletChangeIcon = 'Пустой кошелёк с возвратом', EmptyWalletIcon = 'Пустой кошелёк', EuroIcon = 'Евро', FullScreenIcon = 'FullScreenIcon', GeolocationIcon = 'Геолокация', GlassIcon = 'Зеркало', GlobalIcon = 'Глобус', GpsIcon = 'Gps', GridIcon = 'Сетка (белая)', HeadphonesIcon = 'HeadphonesIcon', HeartIcon = 'Сердце', HuaweiIcon = 'Лого «Huawei»', InterestGrowthIcon = 'Диаграмма роста', InterestIcon = 'Скидка', JCBIcon = 'JCB', LogoIcon = 'Logo', LoupeIcon = 'Лупа', MailIcon = 'E-mail', MapMarkerClusterIcon = 'Маркер карты', MapMarkerSingleIcon = 'Маркер карты РСХБ', MasterCardIcon = 'MasterCard', MetroIcon = 'Лого Метро', MinusIcon = 'Минус', MirIcon = 'МИР', MoneyIcon = 'Деньги', MoneyInsuranceIcon = 'Денежное страхование', MoneysIcon = 'Купюры', MonitorMobileIcon = 'Монитор и мобильный', NewDocIcon = 'Новый документ', OfficeIcon = 'Офис', OkIcon = 'Лого «Одноклассники»', PackA4Icon = 'Пачка бумаги А4', PassSendIcon = 'Бизнес', PercentageRoundIcon = 'Проценты (круг.)', PercentageSquareIcon = 'Проценты', PercentIcon = 'PercentIcon', PersonalCardIcon = 'Персональная карта', PhoneIcon = 'Телефон', PlayMarketIcon = 'Лого «PlayMarket»', PlusIcon = 'Плюс', PowerIcon = 'Щит', Profile2UserIcon = 'Профиль, 2 персоны', ProfileIcon = 'Профиль', PumpkinIcon = 'Тыква', ResponceFailIcon = 'Ошибка', ResponceOKIcon = 'Ок', RoundRubleIcon = 'Рубль (круг.)', SafeIcon = 'Сейф', ShieldTickIcon = 'Безопасность', SignDocsIcon = 'Подписанные документы', SmallClockIcon = 'Маленькие часы', SoundIcon = 'Звук', StrongBoxIcon = 'Ящик с замочной скважиной', TelegramIcon = 'Лого «Telegram»', UnionPayIcon = 'UnionPay', UserGeoLocationIcon = 'UserGeoLocationIcon', UserSquareIcon = 'Пользователь в рамке', UserTickIcon = 'Пользователь', VisaIcon = 'Visa', VKIcon = 'Лого «VK»', WalletAdd2Icon = 'Пополнение карты', WalletAddIcon = 'Кошелёк с плюсом', WalletIcon = 'Кошелёк', WalletWithMoneyIcon = 'Кошелёк с деньгами', WateringCanIcon = 'Добавить продукт', YoutubeIcon = 'Лого «Youtube»'
15
15
  }
16
16
 
17
17
  /**
@@ -19,7 +19,7 @@ export enum IconTitleMap {
19
19
  * @title Иконка
20
20
  * @enumNames [
21
21
  * "",
22
- * 'Деньги', 'Самолёт', 'Лого «Apple»', 'Стрелка \'Вниз\'', 'Стрелка сплошная \'Вниз\'', 'Стрелка \'Влево\'', 'Стрелка \'Вправо\'', 'Стрелка \'Вверх-право\'', 'Стрелка \'Вверх\'', 'Стрелка сплошная \'Вверх\'', 'Банкомат', 'Сумка', 'Банк', 'BriefcaseIcon', 'Здание с деревом', 'Бургер', 'Календарь 2', 'Скруглённый календарь', 'Календарь', 'Календарь с галочкой', 'Машина2', 'Кред. карта', 'Кред. карта под наклоном', 'Кред. карта с галочкой', 'Карта с драгоценностями', 'Машина', 'Деньги внутри кошелька', 'Стрелка \'Вправо\'', 'Кинотеатр', 'Клиент', 'Часы', 'Крестик', 'Кресло', 'Кредитные карты', 'Скидка', 'Скачать документ', 'Документ', 'Документ (одноцветный)', 'Документы', 'Документы-2', 'Документ с текстом', 'Доллар', 'Зелёная \'галочка\' в круге', 'Зелёная \'галочка\'', 'Земля', 'Пустой кошелёк с возвратом', 'Пустой кошелёк', 'Евро', 'FullScreenIcon', 'Геолокация', 'Зеркало', 'Глобус', 'Gps', 'Сетка (белая)', 'HeadphonesIcon', 'Сердце', 'Лого «Huawei»', 'Диаграмма роста', 'Скидка', 'JCB', 'Logo', 'Лупа', 'E-mail', 'Маркер карты', 'Маркер карты РСХБ', 'MasterCard', 'Лого Метро', 'Минус', 'МИР', 'Деньги', 'Денежное страхование', 'Купюры', 'Монитор и мобильный', 'Новый документ', 'Офис', 'Лого «Одноклассники»', 'Пачка бумаги А4', 'Бизнес', 'Проценты (круг.)', 'Проценты', 'PercentIcon', 'Персональная карта', 'Телефон', 'Лого «PlayMarket»', 'Плюс', 'Щит', 'Профиль, 2 персоны', 'Профиль', 'Тыква', 'Ошибка', 'Ок', 'Рубль (круг.)', 'Сейф', 'Безопасность', 'Подписанные документы', 'Маленькие часы', 'Звук', 'Ящик с замочной скважиной', 'Лого «Telegram»', 'UnionPay', 'UserGeoLocationIcon', 'Пользователь в рамке', 'Пользователь', 'Visa', 'Лого «VK»', 'Пополнение карты', 'Кошелёк с плюсом', 'Кошелёк', 'Кошелёк с деньгами', 'Добавить продукт', 'Лого «Youtube»'
22
+ * 'Деньги', 'Самолёт', 'Лого «Apple»', 'Стрелка \'Вниз\'', 'Стрелка сплошная \'Вниз\'', 'Стрелка \'Влево\'', 'Стрелка \'Вправо\'', 'Стрелка \'Вверх-право\'', 'Стрелка \'Вверх\'', 'Стрелка сплошная \'Вверх\'', 'Банкомат', 'Сумка', 'Банк', 'Белорусский флаг', 'BriefcaseIcon', 'Здание с деревом', 'Бургер', 'Календарь 2', 'Скруглённый календарь', 'Календарь', 'Календарь с галочкой', 'Машина2', 'Кред. карта', 'Кред. карта под наклоном', 'Кред. карта с галочкой', 'Карта с драгоценностями', 'Машина', 'Деньги внутри кошелька', 'Стрелка \'Вправо\'', 'Кинотеатр', 'Клиент', 'Часы', 'Крестик', 'Кресло', 'Кредитные карты', 'Скидка', 'Скачать документ', 'Документ', 'Документ (одноцветный)', 'Документы', 'Документы-2', 'Документ с текстом', 'Доллар', 'Зелёная \'галочка\' в круге', 'Зелёная \'галочка\'', 'Земля', 'Пустой кошелёк с возвратом', 'Пустой кошелёк', 'Евро', 'FullScreenIcon', 'Геолокация', 'Зеркало', 'Глобус', 'Gps', 'Сетка (белая)', 'HeadphonesIcon', 'Сердце', 'Лого «Huawei»', 'Диаграмма роста', 'Скидка', 'JCB', 'Logo', 'Лупа', 'E-mail', 'Маркер карты', 'Маркер карты РСХБ', 'MasterCard', 'Лого Метро', 'Минус', 'МИР', 'Деньги', 'Денежное страхование', 'Купюры', 'Монитор и мобильный', 'Новый документ', 'Офис', 'Лого «Одноклассники»', 'Пачка бумаги А4', 'Бизнес', 'Проценты (круг.)', 'Проценты', 'PercentIcon', 'Персональная карта', 'Телефон', 'Лого «PlayMarket»', 'Плюс', 'Щит', 'Профиль, 2 персоны', 'Профиль', 'Тыква', 'Ошибка', 'Ок', 'Рубль (круг.)', 'Сейф', 'Безопасность', 'Подписанные документы', 'Маленькие часы', 'Звук', 'Ящик с замочной скважиной', 'Лого «Telegram»', 'UnionPay', 'UserGeoLocationIcon', 'Пользователь в рамке', 'Пользователь', 'Visa', 'Лого «VK»', 'Пополнение карты', 'Кошелёк с плюсом', 'Кошелёк', 'Кошелёк с деньгами', 'Добавить продукт', 'Лого «Youtube»'
23
23
  * ]
24
24
  */
25
- export type IconName = '' | 'ActualBalanceIcon' | 'AirPlaneIcon' | 'AppleIcon' | 'ArrowDownIcon' | 'ArrowDownSolidIcon' | 'ArrowLeftIcon' | 'ArrowRightIcon' | 'ArrowTopRightIcon' | 'ArrowUpIcon' | 'ArrowUpSolidIcon' | 'AtmIcon' | 'BagIcon' | 'BankIcon' | 'BriefcaseIcon' | 'BuildingIcon' | 'BurgerIcon' | 'Calendar2Icon' | 'CalendarCircleIcon' | 'CalendarIcon' | 'CalendarTickIcon' | 'Car2Icon' | 'CardIcon' | 'CardPosIcon' | 'CardTickIcon' | 'CardWithGemIcon' | 'CarIcon' | 'ChartSquareIcon' | 'ChevronLeft' | 'CinemaIcon' | 'ClientIcon' | 'ClockIcon' | 'CloseIcon' | 'ComfortableCompIcon' | 'CreditCardsIcon' | 'DiscountShapeIcon' | 'DocDownloadIcon' | 'DocIcon' | 'DocIconMonoColor' | 'DocsIcon' | 'DocumentText2Icon' | 'DocumentTextIcon' | 'DollarIcon' | 'DoneIcon' | 'DoneSimpleIcon' | 'EarthIcon' | 'EmptyWalletChangeIcon' | 'EmptyWalletIcon' | 'EuroIcon' | 'FullScreenIcon' | 'GeolocationIcon' | 'GlassIcon' | 'GlobalIcon' | 'GpsIcon' | 'GridIcon' | 'HeadphonesIcon' | 'HeartIcon' | 'HuaweiIcon' | 'InterestGrowthIcon' | 'InterestIcon' | 'JCBIcon' | 'LogoIcon' | 'LoupeIcon' | 'MailIcon' | 'MapMarkerClusterIcon' | 'MapMarkerSingleIcon' | 'MasterCardIcon' | 'MetroIcon' | 'MinusIcon' | 'MirIcon' | 'MoneyIcon' | 'MoneyInsuranceIcon' | 'MoneysIcon' | 'MonitorMobileIcon' | 'NewDocIcon' | 'OfficeIcon' | 'OkIcon' | 'PackA4Icon' | 'PassSendIcon' | 'PercentageRoundIcon' | 'PercentageSquareIcon' | 'PercentIcon' | 'PersonalCardIcon' | 'PhoneIcon' | 'PlayMarketIcon' | 'PlusIcon' | 'PowerIcon' | 'Profile2UserIcon' | 'ProfileIcon' | 'PumpkinIcon' | 'ResponceFailIcon' | 'ResponceOKIcon' | 'RoundRubleIcon' | 'SafeIcon' | 'ShieldTickIcon' | 'SignDocsIcon' | 'SmallClockIcon' | 'SoundIcon' | 'StrongBoxIcon' | 'TelegramIcon' | 'UnionPayIcon' | 'UserGeoLocationIcon' | 'UserSquareIcon' | 'UserTickIcon' | 'VisaIcon' | 'VKIcon' | 'WalletAdd2Icon' | 'WalletAddIcon' | 'WalletIcon' | 'WalletWithMoneyIcon' | 'WateringCanIcon' | 'YoutubeIcon';
25
+ export type IconName = '' | 'ActualBalanceIcon' | 'AirPlaneIcon' | 'AppleIcon' | 'ArrowDownIcon' | 'ArrowDownSolidIcon' | 'ArrowLeftIcon' | 'ArrowRightIcon' | 'ArrowTopRightIcon' | 'ArrowUpIcon' | 'ArrowUpSolidIcon' | 'AtmIcon' | 'BagIcon' | 'BankIcon' | 'BelarusianFlag' | 'BriefcaseIcon' | 'BuildingIcon' | 'BurgerIcon' | 'Calendar2Icon' | 'CalendarCircleIcon' | 'CalendarIcon' | 'CalendarTickIcon' | 'Car2Icon' | 'CardIcon' | 'CardPosIcon' | 'CardTickIcon' | 'CardWithGemIcon' | 'CarIcon' | 'ChartSquareIcon' | 'ChevronLeft' | 'CinemaIcon' | 'ClientIcon' | 'ClockIcon' | 'CloseIcon' | 'ComfortableCompIcon' | 'CreditCardsIcon' | 'DiscountShapeIcon' | 'DocDownloadIcon' | 'DocIcon' | 'DocIconMonoColor' | 'DocsIcon' | 'DocumentText2Icon' | 'DocumentTextIcon' | 'DollarIcon' | 'DoneIcon' | 'DoneSimpleIcon' | 'EarthIcon' | 'EmptyWalletChangeIcon' | 'EmptyWalletIcon' | 'EuroIcon' | 'FullScreenIcon' | 'GeolocationIcon' | 'GlassIcon' | 'GlobalIcon' | 'GpsIcon' | 'GridIcon' | 'HeadphonesIcon' | 'HeartIcon' | 'HuaweiIcon' | 'InterestGrowthIcon' | 'InterestIcon' | 'JCBIcon' | 'LogoIcon' | 'LoupeIcon' | 'MailIcon' | 'MapMarkerClusterIcon' | 'MapMarkerSingleIcon' | 'MasterCardIcon' | 'MetroIcon' | 'MinusIcon' | 'MirIcon' | 'MoneyIcon' | 'MoneyInsuranceIcon' | 'MoneysIcon' | 'MonitorMobileIcon' | 'NewDocIcon' | 'OfficeIcon' | 'OkIcon' | 'PackA4Icon' | 'PassSendIcon' | 'PercentageRoundIcon' | 'PercentageSquareIcon' | 'PercentIcon' | 'PersonalCardIcon' | 'PhoneIcon' | 'PlayMarketIcon' | 'PlusIcon' | 'PowerIcon' | 'Profile2UserIcon' | 'ProfileIcon' | 'PumpkinIcon' | 'ResponceFailIcon' | 'ResponceOKIcon' | 'RoundRubleIcon' | 'SafeIcon' | 'ShieldTickIcon' | 'SignDocsIcon' | 'SmallClockIcon' | 'SoundIcon' | 'StrongBoxIcon' | 'TelegramIcon' | 'UnionPayIcon' | 'UserGeoLocationIcon' | 'UserSquareIcon' | 'UserTickIcon' | 'VisaIcon' | 'VKIcon' | 'WalletAdd2Icon' | 'WalletAddIcon' | 'WalletIcon' | 'WalletWithMoneyIcon' | 'WateringCanIcon' | 'YoutubeIcon';
@@ -1,5 +1,7 @@
1
1
  import { JSX } from '@redneckz/uni-jsx';
2
2
  import { Headline } from '../../components/Headline/Headline';
3
+ import type { UniBlockProps } from '../../model/JSXBlock';
4
+ import type { VNode } from '../../model/VNode';
3
5
  import { BaseTile } from '../BaseTile/BaseTile';
4
6
  import { BenefitsList } from '../BenefitsList/BenefitsList';
5
7
  import { renderButtonsSection } from '../Button/renderButtonsSection';
@@ -9,21 +11,23 @@ import { RichText } from '../RichText/RichText';
9
11
  import { Tags } from '../Tags/Tags';
10
12
  import type { BaseProductTileContent } from './BaseProductTileContent';
11
13
 
12
- interface BaseProductTileProps extends BaseProductTileContent {
13
- className?: string;
14
+ interface BaseProductTileProps extends UniBlockProps, BaseProductTileContent {
14
15
  isInsetTitle?: boolean;
15
16
  }
16
17
 
17
18
  export const BaseProductTile = JSX<BaseProductTileProps>(
18
19
  ({
19
20
  className,
21
+ padding,
22
+ defaultPadding,
20
23
  title,
21
24
  description,
22
25
  headlineVersion = 'L',
23
26
  align = 'text-left',
24
27
  isInsetTitle = true,
25
- benefits,
26
28
  benefitsVersion,
29
+ isTabularBenefits,
30
+ benefits,
27
31
  __html,
28
32
  items,
29
33
  isDotted = true,
@@ -31,7 +35,7 @@ export const BaseProductTile = JSX<BaseProductTileProps>(
31
35
  tags,
32
36
  buttons,
33
37
  image,
34
- imageOptions: { imageAlign, directionRight = true } = {},
38
+ imageOptions: { imageAlign = 'end', directionRight = true, isBackground } = {},
35
39
  children,
36
40
  }) => {
37
41
  const img = image?.src ? <Img image={image} /> : null;
@@ -48,13 +52,19 @@ export const BaseProductTile = JSX<BaseProductTileProps>(
48
52
  return (
49
53
  <BaseTile
50
54
  className={className}
55
+ padding={padding}
56
+ defaultPadding={defaultPadding}
51
57
  {...(isInsetTitle ? { insetTitle: headline } : { title: headline })}
52
- {...(directionRight ? { rightImage: img } : { leftImage: img })}
58
+ {...(isBackground ? { backImage: img } : leftOrRightImage(img, directionRight))}
53
59
  imageAlign={imageAlign}
54
60
  buttons={renderButtonsSection(buttons)}
55
61
  >
56
62
  <div className="flex flex-col gap-m">
57
- <BenefitsList benefitsVersion={benefitsVersion} benefits={benefits} />
63
+ <BenefitsList
64
+ benefitsVersion={benefitsVersion}
65
+ isTabularBenefits={isTabularBenefits}
66
+ benefits={benefits}
67
+ />
58
68
  {__html ? <RichText __html={__html} /> : null}
59
69
  {items?.length ? (
60
70
  <List items={items} isDotted={isDotted} listItemSize={listItemSize} />
@@ -66,3 +76,6 @@ export const BaseProductTile = JSX<BaseProductTileProps>(
66
76
  );
67
77
  },
68
78
  );
79
+
80
+ const leftOrRightImage = (img: VNode, directionRight: boolean) =>
81
+ directionRight ? { rightImage: img } : { leftImage: img };
@@ -9,11 +9,13 @@ import type { TagsContent } from '../../ui-kit/Tags/TagsContent';
9
9
  import type { BenefitsListContent } from '../BenefitsList/BenefitsListContent';
10
10
 
11
11
  /** @title Доп. настройки картинки */
12
- interface TileImageOptions {
12
+ export interface TileImageOptions {
13
13
  /** @title Картинка справа/текст слева */
14
14
  directionRight?: boolean;
15
15
  /** @title Выравнивание изображения */
16
16
  imageAlign?: Align;
17
+ /** @title Фоновое изображение */
18
+ isBackground?: boolean;
17
19
  }
18
20
 
19
21
  export type BaseProductTileContent = HeadlineProps &
@@ -1,56 +1,24 @@
1
1
  import { JSX } from '@redneckz/uni-jsx';
2
2
  import type { IconVersion } from '../../model/IconVersion';
3
3
  import { style } from '../../utils/style';
4
- import { Img } from '../Img/Img';
5
- import { Paragraph } from '../Paragraph/Paragraph';
6
- import { Text } from '../Text/Text';
7
- import type { BenefitItemContent } from './BenefitItemContent';
8
- import { labelSize } from './labelSize';
4
+ import type { ComplexBenefitContent } from './BenefitItemContent';
5
+ import { renderBenefitIcon } from './renderBenefitIcon';
6
+ import { renderBenefitText } from './renderBenefitText';
9
7
 
10
- export interface BenefitGeneralProps extends BenefitItemContent {
8
+ export type BenefitItemProps = ComplexBenefitContent & {
11
9
  className?: string;
12
10
  benefitsVersion?: IconVersion;
13
- }
11
+ };
14
12
 
15
- export const BenefitItem = JSX<BenefitGeneralProps>(
16
- ({ className, icon, label, description, benefitsVersion = 'normal' }) => (
17
- <div className={style('flex gap-s', description ? 'items-start' : 'items-center', className)}>
18
- {icon ? (
19
- <div className={getBenefitIconBgStyle(benefitsVersion)}>
20
- <Img
21
- className="w-6 h-6"
22
- image={{ ...icon, iconVersion: icon.iconVersion || benefitsVersion }}
23
- />
24
- </div>
25
- ) : null}
26
- <div className="gap-0.5">
27
- {label ? (
28
- <Text color="text-primary-text group-data-secondary:text-white" size={labelSize}>
29
- {label}
30
- </Text>
31
- ) : null}
32
- {description ? (
33
- <Paragraph
34
- font="font-light"
35
- size="text-m"
36
- color="text-secondary-text group-data-secondary:text-white"
37
- >
38
- {description}
39
- </Paragraph>
40
- ) : null}
41
- </div>
42
- </div>
43
- ),
44
- );
45
-
46
- function getBenefitIconBgStyle(benefitsVersion: IconVersion) {
47
- const bgColorStyle =
48
- benefitsVersion === 'normal'
49
- ? 'bg-secondary-light text-primary-main'
50
- : 'bg-primary-main text-black group-data-secondary:bg-white/30 group-data-secondary:text-black';
51
-
52
- return style(
53
- 'w-12 h-12 min-w-12 p-2.5 box-border flex items-center justify-center rounded-icon',
54
- bgColorStyle,
55
- );
56
- }
13
+ export const BenefitItem = JSX<BenefitItemProps>(({ className, benefitsVersion, ..._ }) => (
14
+ <div
15
+ className={style(
16
+ 'flex gap-s',
17
+ 'description' in _ && _.description ? 'items-start' : 'items-center',
18
+ className,
19
+ )}
20
+ >
21
+ {'icon' in _ ? renderBenefitIcon(_.icon, benefitsVersion) : null}
22
+ <div>{renderBenefitText(_)}</div>
23
+ </div>
24
+ ));
@@ -0,0 +1,13 @@
1
+ import { Paragraph } from '../Paragraph/Paragraph';
2
+
3
+ export const renderBenefitDescription = (description?: string, i?: number) =>
4
+ description ? (
5
+ <Paragraph
6
+ key={`description-${i}`}
7
+ font="font-light"
8
+ size="text-m"
9
+ color="text-secondary-text group-data-secondary:text-white"
10
+ >
11
+ {description}
12
+ </Paragraph>
13
+ ) : null;
@@ -0,0 +1,24 @@
1
+ import type { IconVersion } from '../../model/IconVersion';
2
+ import type { Picture } from '../../model/Picture';
3
+ import { style } from '../../utils/style';
4
+ import { Img } from '../Img/Img';
5
+
6
+ export const renderBenefitIcon = (
7
+ icon: Picture | undefined,
8
+ benefitsVersion: IconVersion = 'normal',
9
+ ) =>
10
+ icon ? (
11
+ <div
12
+ className={style(
13
+ 'w-12 h-12 min-w-12 box-border flex items-center justify-center rounded-icon',
14
+ benefitsVersion === 'normal'
15
+ ? 'bg-secondary-light text-primary-main'
16
+ : 'bg-primary-main text-black group-data-secondary:bg-white/30 group-data-secondary:text-black',
17
+ )}
18
+ >
19
+ <Img
20
+ className="w-6 h-6"
21
+ image={{ ...icon, iconVersion: icon.iconVersion || benefitsVersion }}
22
+ />
23
+ </div>
24
+ ) : null;
@@ -0,0 +1,12 @@
1
+ import { Text } from '../Text/Text';
2
+
3
+ export const renderBenefitLabel = (label?: string, i?: number) =>
4
+ label ? (
5
+ <Text
6
+ key={`label-${i}`}
7
+ color="text-primary-text group-data-secondary:text-white"
8
+ size="text-h6"
9
+ >
10
+ {label}
11
+ </Text>
12
+ ) : null;
@@ -0,0 +1,14 @@
1
+ import { RichText } from '../RichText/RichText';
2
+ import type { ComplexBenefitContent } from './BenefitItemContent';
3
+ import { renderBenefitDescription } from './renderBenefitDescription';
4
+ import { renderBenefitLabel } from './renderBenefitLabel';
5
+
6
+ export const renderBenefitText = (_: ComplexBenefitContent, i?: number) =>
7
+ _.type === 'rte' && '__html' in _ && _.__html ? (
8
+ <RichText key={`rte-${i}`} {..._} />
9
+ ) : (
10
+ [
11
+ 'label' in _ ? renderBenefitLabel(_.label, i) : null,
12
+ 'description' in _ ? renderBenefitDescription(_.description, i) : null,
13
+ ]
14
+ );
@@ -1,35 +1,8 @@
1
1
  import { JSX } from '@redneckz/uni-jsx';
2
- import { deviation } from '../../utils/deviation';
3
- import { style } from '../../utils/style';
4
- import type { ComplexBenefitContent } from '../BenefitItem/BenefitItemContent';
5
- import type { BenefitsListContent } from './BenefitsListContent';
6
- import { renderBenefit } from './renderBenefit';
2
+ import { BenefitsListProps } from './BenefitsListProps';
3
+ import { DefaultBenefitsList } from './DefaultBenefitsList';
4
+ import { TabularBenefitsList } from './TabularBenefitsList';
7
5
 
8
- interface BenefitsListProps extends BenefitsListContent {
9
- className?: string;
10
- }
11
-
12
- const MAX_BENEFITS_LEN_DEVIATION = 16;
13
-
14
- const benefitLength = (_: ComplexBenefitContent) =>
15
- _.type === 'rte'
16
- ? _.__html?.length || 0
17
- : Math.max(_.label?.length || 0, _.description?.length || 0);
18
-
19
- const isDistortedBenefits = (benefits: ComplexBenefitContent[]) =>
20
- deviation(benefits.map(benefitLength)) > MAX_BENEFITS_LEN_DEVIATION;
21
-
22
- export const BenefitsList = JSX<BenefitsListProps>(
23
- ({ className, benefitsVersion = 'normal', benefits }) =>
24
- benefits?.length ? (
25
- <div
26
- className={style(
27
- 'flex gap-x-m gap-y-s',
28
- isDistortedBenefits(benefits) ? 'flex-col' : 'flex-wrap',
29
- className,
30
- )}
31
- >
32
- {benefits.map(renderBenefit(benefitsVersion))}
33
- </div>
34
- ) : null,
6
+ export const BenefitsList = JSX<BenefitsListProps>(({ isTabularBenefits, ...rest }) =>
7
+ isTabularBenefits ? <TabularBenefitsList {...rest} /> : <DefaultBenefitsList {...rest} />,
35
8
  );
@@ -6,10 +6,12 @@ import type { ComplexBenefitContent } from '../BenefitItem/BenefitItemContent';
6
6
  */
7
7
  export interface BenefitsListContent {
8
8
  benefitsVersion?: IconVersion;
9
+ /** @title Табличный вид преимуществ */
10
+ isTabularBenefits?: boolean;
9
11
  /**
10
12
  * @title Список преимуществ
11
13
  * @minItems 2
12
- * @maxItems 4
14
+ * @maxItems 8
13
15
  */
14
16
  benefits?: ComplexBenefitContent[];
15
17
  }
@@ -0,0 +1,5 @@
1
+ import type { BenefitsListContent } from './BenefitsListContent';
2
+
3
+ export interface BenefitsListProps extends BenefitsListContent {
4
+ className?: string;
5
+ }