@redneckz/wildless-cms-uni-blocks 0.6.24 → 0.6.25

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 (283) hide show
  1. package/bundle/blocks.schema.json +1 -1
  2. package/bundle/bundle.umd.js +97 -58
  3. package/bundle/bundle.umd.min.js +1 -1
  4. package/bundle/components/BenefitsBlock/BenefitsBlock.d.ts +2 -1
  5. package/bundle/components/Catalog/CatalogContent.d.ts +2 -0
  6. package/bundle/components/ContentPage/normalizePage.d.ts +1 -1
  7. package/bundle/components/Header/HeaderContent.d.ts +1 -2
  8. package/bundle/components/InvestmentGallery/InvestmentGallery.d.ts +5 -0
  9. package/bundle/components/InvestmentGallery/InvestmentGalleryCard.d.ts +7 -0
  10. package/bundle/components/InvestmentGallery/InvestmentGalleryContent.d.ts +50 -0
  11. package/bundle/content-page-repository/ContentPageRepository.d.ts +12 -9
  12. package/bundle/model/BorderVersion.d.ts +6 -0
  13. package/bundle/services/sitemap/useSitemap.d.ts +2 -2
  14. package/bundle/ui-kit/CurrencyInput/{adjustValue .d.ts → adjustValue.d.ts} +0 -0
  15. package/dist/components/BenefitsBlock/BenefitsBlock.d.ts +2 -1
  16. package/dist/components/BenefitsBlock/BenefitsBlock.js +5 -9
  17. package/dist/components/BenefitsBlock/BenefitsBlock.js.map +1 -1
  18. package/dist/components/Blocks.js +2 -0
  19. package/dist/components/Blocks.js.map +1 -1
  20. package/dist/components/Catalog/CatalogContent.d.ts +2 -0
  21. package/dist/components/ContentPage/normalizeBlock.js +4 -8
  22. package/dist/components/ContentPage/normalizeBlock.js.map +1 -1
  23. package/dist/components/ContentPage/normalizeBlock.mobile.js +4 -8
  24. package/dist/components/ContentPage/normalizeBlock.mobile.js.map +1 -1
  25. package/dist/components/ContentPage/normalizePage.d.ts +1 -1
  26. package/dist/components/ContentPage/normalizePage.js +1 -6
  27. package/dist/components/ContentPage/normalizePage.js.map +1 -1
  28. package/dist/components/Header/Header.js +9 -9
  29. package/dist/components/Header/Header.js.map +1 -1
  30. package/dist/components/Header/Header.mobile.js +6 -6
  31. package/dist/components/Header/Header.mobile.js.map +1 -1
  32. package/dist/components/Header/HeaderContent.d.ts +1 -2
  33. package/dist/components/InvestmentGallery/InvestmentGallery.d.ts +5 -0
  34. package/dist/components/InvestmentGallery/InvestmentGallery.js +40 -0
  35. package/dist/components/InvestmentGallery/InvestmentGallery.js.map +1 -0
  36. package/dist/components/InvestmentGallery/InvestmentGalleryCard.d.ts +7 -0
  37. package/dist/components/InvestmentGallery/InvestmentGalleryCard.js +24 -0
  38. package/dist/components/InvestmentGallery/InvestmentGalleryCard.js.map +1 -0
  39. package/dist/components/InvestmentGallery/InvestmentGalleryContent.d.ts +50 -0
  40. package/dist/components/InvestmentGallery/InvestmentGalleryContent.js +2 -0
  41. package/dist/components/InvestmentGallery/InvestmentGalleryContent.js.map +1 -0
  42. package/dist/components/PictureText/PictureText.js +2 -2
  43. package/dist/components/PictureText/PictureText.js.map +1 -1
  44. package/dist/components/ProductGallery/ProductGallery.js +2 -2
  45. package/dist/components/ProductGallery/ProductGallery.js.map +1 -1
  46. package/dist/components/Recommendation/Recommendation.js +7 -5
  47. package/dist/components/Recommendation/Recommendation.js.map +1 -1
  48. package/dist/components/StepsBlock/StepsBlock.mobile.js +1 -5
  49. package/dist/components/StepsBlock/StepsBlock.mobile.js.map +1 -1
  50. package/dist/content-page-repository/ContentPageRepository.d.ts +12 -9
  51. package/dist/content-page-repository/ContentPageRepository.js +24 -35
  52. package/dist/content-page-repository/ContentPageRepository.js.map +1 -1
  53. package/dist/model/BorderVersion.d.ts +6 -0
  54. package/dist/model/BorderVersion.js +7 -0
  55. package/dist/model/BorderVersion.js.map +1 -0
  56. package/dist/services/sitemap/useSitemap.d.ts +2 -2
  57. package/dist/services/sitemap/useSitemap.js.map +1 -1
  58. package/dist/ui-kit/BenefitItem/BenefitItem.js +3 -3
  59. package/dist/ui-kit/BenefitItem/BenefitItem.js.map +1 -1
  60. package/dist/ui-kit/Breadcrumb.js +1 -8
  61. package/dist/ui-kit/Breadcrumb.js.map +1 -1
  62. package/dist/ui-kit/CurrencyInput/CurrencyInput.js +1 -1
  63. package/dist/ui-kit/CurrencyInput/CurrencyInput.js.map +1 -1
  64. package/dist/ui-kit/CurrencyInput/{adjustValue .d.ts → adjustValue.d.ts} +0 -0
  65. package/{mobile/dist/ui-kit/CurrencyInput/adjustValue .js → dist/ui-kit/CurrencyInput/adjustValue.js} +1 -1
  66. package/dist/ui-kit/CurrencyInput/adjustValue.js.map +1 -0
  67. package/dist/ui-kit/Tags/Tags.js +2 -2
  68. package/dist/ui-kit/Tags/Tags.js.map +1 -1
  69. package/lib/common.css +1 -1
  70. package/lib/components/BenefitsBlock/BenefitsBlock.d.ts +2 -1
  71. package/lib/components/BenefitsBlock/BenefitsBlock.js +5 -9
  72. package/lib/components/BenefitsBlock/BenefitsBlock.js.map +1 -1
  73. package/lib/components/Blocks.js +2 -0
  74. package/lib/components/Blocks.js.map +1 -1
  75. package/lib/components/Catalog/CatalogContent.d.ts +2 -0
  76. package/lib/components/ContentPage/normalizeBlock.js +4 -8
  77. package/lib/components/ContentPage/normalizeBlock.js.map +1 -1
  78. package/lib/components/ContentPage/normalizeBlock.mobile.js +4 -8
  79. package/lib/components/ContentPage/normalizeBlock.mobile.js.map +1 -1
  80. package/lib/components/ContentPage/normalizePage.d.ts +1 -1
  81. package/lib/components/ContentPage/normalizePage.js +1 -6
  82. package/lib/components/ContentPage/normalizePage.js.map +1 -1
  83. package/lib/components/Header/Header.js +9 -9
  84. package/lib/components/Header/Header.js.map +1 -1
  85. package/lib/components/Header/Header.mobile.js +6 -6
  86. package/lib/components/Header/Header.mobile.js.map +1 -1
  87. package/lib/components/Header/HeaderContent.d.ts +1 -2
  88. package/lib/components/InvestmentGallery/InvestmentGallery.d.ts +5 -0
  89. package/lib/components/InvestmentGallery/InvestmentGallery.fixture.d.ts +7 -0
  90. package/lib/components/InvestmentGallery/InvestmentGallery.js +38 -0
  91. package/lib/components/InvestmentGallery/InvestmentGallery.js.map +1 -0
  92. package/lib/components/InvestmentGallery/InvestmentGalleryCard.d.ts +7 -0
  93. package/lib/components/InvestmentGallery/InvestmentGalleryCard.js +22 -0
  94. package/lib/components/InvestmentGallery/InvestmentGalleryCard.js.map +1 -0
  95. package/lib/components/InvestmentGallery/InvestmentGalleryContent.d.ts +50 -0
  96. package/lib/components/InvestmentGallery/InvestmentGalleryContent.js +2 -0
  97. package/lib/components/InvestmentGallery/InvestmentGalleryContent.js.map +1 -0
  98. package/lib/components/PictureText/PictureText.js +2 -2
  99. package/lib/components/PictureText/PictureText.js.map +1 -1
  100. package/lib/components/ProductGallery/ProductGallery.js +2 -2
  101. package/lib/components/ProductGallery/ProductGallery.js.map +1 -1
  102. package/lib/components/Recommendation/Recommendation.js +7 -5
  103. package/lib/components/Recommendation/Recommendation.js.map +1 -1
  104. package/lib/components/StepsBlock/StepsBlock.mobile.js +1 -5
  105. package/lib/components/StepsBlock/StepsBlock.mobile.js.map +1 -1
  106. package/lib/content-page-repository/ContentPageRepository.d.ts +12 -9
  107. package/lib/content-page-repository/ContentPageRepository.js +24 -35
  108. package/lib/content-page-repository/ContentPageRepository.js.map +1 -1
  109. package/lib/model/BorderVersion.d.ts +6 -0
  110. package/lib/model/BorderVersion.js +5 -0
  111. package/lib/model/BorderVersion.js.map +1 -0
  112. package/lib/services/sitemap/useSitemap.d.ts +2 -2
  113. package/lib/services/sitemap/useSitemap.js.map +1 -1
  114. package/lib/ui-kit/BenefitItem/BenefitItem.js +3 -3
  115. package/lib/ui-kit/BenefitItem/BenefitItem.js.map +1 -1
  116. package/lib/ui-kit/Breadcrumb.js +1 -8
  117. package/lib/ui-kit/Breadcrumb.js.map +1 -1
  118. package/lib/ui-kit/CurrencyInput/CurrencyInput.js +1 -1
  119. package/lib/ui-kit/CurrencyInput/CurrencyInput.js.map +1 -1
  120. package/lib/ui-kit/CurrencyInput/{adjustValue .d.ts → adjustValue.d.ts} +0 -0
  121. package/lib/ui-kit/CurrencyInput/{adjustValue .js → adjustValue.js} +1 -1
  122. package/lib/ui-kit/CurrencyInput/adjustValue.js.map +1 -0
  123. package/lib/ui-kit/Tags/Tags.js +2 -2
  124. package/lib/ui-kit/Tags/Tags.js.map +1 -1
  125. package/mobile/bundle/bundle.umd.js +9 -13
  126. package/mobile/bundle/bundle.umd.min.js +1 -1
  127. package/mobile/bundle/components/BenefitsBlock/BenefitsBlock.d.ts +2 -1
  128. package/mobile/bundle/components/Catalog/CatalogContent.d.ts +2 -0
  129. package/mobile/bundle/components/ContentPage/normalizePage.d.ts +1 -1
  130. package/mobile/bundle/components/Header/HeaderContent.d.ts +1 -2
  131. package/mobile/bundle/components/InvestmentGallery/InvestmentGallery.d.ts +5 -0
  132. package/mobile/bundle/components/InvestmentGallery/InvestmentGalleryCard.d.ts +7 -0
  133. package/mobile/bundle/components/InvestmentGallery/InvestmentGalleryContent.d.ts +50 -0
  134. package/mobile/bundle/content-page-repository/ContentPageRepository.d.ts +12 -9
  135. package/mobile/bundle/model/BorderVersion.d.ts +6 -0
  136. package/mobile/bundle/services/sitemap/useSitemap.d.ts +2 -2
  137. package/mobile/bundle/ui-kit/CurrencyInput/{adjustValue .d.ts → adjustValue.d.ts} +0 -0
  138. package/mobile/dist/components/BenefitsBlock/BenefitsBlock.d.ts +2 -1
  139. package/mobile/dist/components/BenefitsBlock/BenefitsBlock.js +5 -9
  140. package/mobile/dist/components/BenefitsBlock/BenefitsBlock.js.map +1 -1
  141. package/mobile/dist/components/Catalog/CatalogContent.d.ts +2 -0
  142. package/mobile/dist/components/ContentPage/normalizeBlock.js +4 -8
  143. package/mobile/dist/components/ContentPage/normalizeBlock.js.map +1 -1
  144. package/mobile/dist/components/ContentPage/normalizePage.d.ts +1 -1
  145. package/mobile/dist/components/ContentPage/normalizePage.js +1 -6
  146. package/mobile/dist/components/ContentPage/normalizePage.js.map +1 -1
  147. package/mobile/dist/components/Header/Header.js +6 -6
  148. package/mobile/dist/components/Header/Header.js.map +1 -1
  149. package/mobile/dist/components/Header/HeaderContent.d.ts +1 -2
  150. package/mobile/dist/components/InvestmentGallery/InvestmentGallery.d.ts +5 -0
  151. package/mobile/dist/components/InvestmentGallery/InvestmentGallery.js +40 -0
  152. package/mobile/dist/components/InvestmentGallery/InvestmentGallery.js.map +1 -0
  153. package/mobile/dist/components/InvestmentGallery/InvestmentGalleryCard.d.ts +7 -0
  154. package/mobile/dist/components/InvestmentGallery/InvestmentGalleryCard.js +24 -0
  155. package/mobile/dist/components/InvestmentGallery/InvestmentGalleryCard.js.map +1 -0
  156. package/mobile/dist/components/InvestmentGallery/InvestmentGalleryContent.d.ts +50 -0
  157. package/mobile/dist/components/InvestmentGallery/InvestmentGalleryContent.js +2 -0
  158. package/mobile/dist/components/InvestmentGallery/InvestmentGalleryContent.js.map +1 -0
  159. package/mobile/dist/components/PictureText/PictureText.js +2 -2
  160. package/mobile/dist/components/PictureText/PictureText.js.map +1 -1
  161. package/mobile/dist/components/Recommendation/Recommendation.js +7 -5
  162. package/mobile/dist/components/Recommendation/Recommendation.js.map +1 -1
  163. package/mobile/dist/components/StepsBlock/StepsBlock.js +1 -5
  164. package/mobile/dist/components/StepsBlock/StepsBlock.js.map +1 -1
  165. package/mobile/dist/content-page-repository/ContentPageRepository.d.ts +12 -9
  166. package/mobile/dist/content-page-repository/ContentPageRepository.js +24 -35
  167. package/mobile/dist/content-page-repository/ContentPageRepository.js.map +1 -1
  168. package/mobile/dist/model/BorderVersion.d.ts +6 -0
  169. package/mobile/dist/model/BorderVersion.js +7 -0
  170. package/mobile/dist/model/BorderVersion.js.map +1 -0
  171. package/mobile/dist/services/sitemap/useSitemap.d.ts +2 -2
  172. package/mobile/dist/services/sitemap/useSitemap.js.map +1 -1
  173. package/mobile/dist/ui-kit/BenefitItem/BenefitItem.js +3 -3
  174. package/mobile/dist/ui-kit/BenefitItem/BenefitItem.js.map +1 -1
  175. package/mobile/dist/ui-kit/Breadcrumb.js +1 -8
  176. package/mobile/dist/ui-kit/Breadcrumb.js.map +1 -1
  177. package/mobile/dist/ui-kit/CurrencyInput/CurrencyInput.js +1 -1
  178. package/mobile/dist/ui-kit/CurrencyInput/CurrencyInput.js.map +1 -1
  179. package/mobile/dist/ui-kit/CurrencyInput/{adjustValue .d.ts → adjustValue.d.ts} +0 -0
  180. package/{dist/ui-kit/CurrencyInput/adjustValue .js → mobile/dist/ui-kit/CurrencyInput/adjustValue.js} +1 -1
  181. package/mobile/dist/ui-kit/CurrencyInput/adjustValue.js.map +1 -0
  182. package/mobile/dist/ui-kit/Tags/Tags.js +2 -2
  183. package/mobile/dist/ui-kit/Tags/Tags.js.map +1 -1
  184. package/mobile/lib/components/BenefitsBlock/BenefitsBlock.d.ts +2 -1
  185. package/mobile/lib/components/BenefitsBlock/BenefitsBlock.js +5 -9
  186. package/mobile/lib/components/BenefitsBlock/BenefitsBlock.js.map +1 -1
  187. package/mobile/lib/components/Catalog/CatalogContent.d.ts +2 -0
  188. package/mobile/lib/components/ContentPage/normalizeBlock.js +4 -8
  189. package/mobile/lib/components/ContentPage/normalizeBlock.js.map +1 -1
  190. package/mobile/lib/components/ContentPage/normalizePage.d.ts +1 -1
  191. package/mobile/lib/components/ContentPage/normalizePage.js +1 -6
  192. package/mobile/lib/components/ContentPage/normalizePage.js.map +1 -1
  193. package/mobile/lib/components/Header/Header.js +6 -6
  194. package/mobile/lib/components/Header/Header.js.map +1 -1
  195. package/mobile/lib/components/Header/HeaderContent.d.ts +1 -2
  196. package/mobile/lib/components/InvestmentGallery/InvestmentGallery.d.ts +5 -0
  197. package/mobile/lib/components/InvestmentGallery/InvestmentGallery.js +38 -0
  198. package/mobile/lib/components/InvestmentGallery/InvestmentGallery.js.map +1 -0
  199. package/mobile/lib/components/InvestmentGallery/InvestmentGalleryCard.d.ts +7 -0
  200. package/mobile/lib/components/InvestmentGallery/InvestmentGalleryCard.js +22 -0
  201. package/mobile/lib/components/InvestmentGallery/InvestmentGalleryCard.js.map +1 -0
  202. package/mobile/lib/components/InvestmentGallery/InvestmentGalleryContent.d.ts +50 -0
  203. package/mobile/lib/components/InvestmentGallery/InvestmentGalleryContent.js +2 -0
  204. package/mobile/lib/components/InvestmentGallery/InvestmentGalleryContent.js.map +1 -0
  205. package/mobile/lib/components/PictureText/PictureText.js +2 -2
  206. package/mobile/lib/components/PictureText/PictureText.js.map +1 -1
  207. package/mobile/lib/components/Recommendation/Recommendation.js +7 -5
  208. package/mobile/lib/components/Recommendation/Recommendation.js.map +1 -1
  209. package/mobile/lib/components/StepsBlock/StepsBlock.js +1 -5
  210. package/mobile/lib/components/StepsBlock/StepsBlock.js.map +1 -1
  211. package/mobile/lib/content-page-repository/ContentPageRepository.d.ts +12 -9
  212. package/mobile/lib/content-page-repository/ContentPageRepository.js +24 -35
  213. package/mobile/lib/content-page-repository/ContentPageRepository.js.map +1 -1
  214. package/mobile/lib/model/BorderVersion.d.ts +6 -0
  215. package/mobile/lib/model/BorderVersion.js +5 -0
  216. package/mobile/lib/model/BorderVersion.js.map +1 -0
  217. package/mobile/lib/services/sitemap/useSitemap.d.ts +2 -2
  218. package/mobile/lib/services/sitemap/useSitemap.js.map +1 -1
  219. package/mobile/lib/ui-kit/BenefitItem/BenefitItem.js +3 -3
  220. package/mobile/lib/ui-kit/BenefitItem/BenefitItem.js.map +1 -1
  221. package/mobile/lib/ui-kit/Breadcrumb.js +1 -8
  222. package/mobile/lib/ui-kit/Breadcrumb.js.map +1 -1
  223. package/mobile/lib/ui-kit/CurrencyInput/CurrencyInput.js +1 -1
  224. package/mobile/lib/ui-kit/CurrencyInput/CurrencyInput.js.map +1 -1
  225. package/mobile/lib/ui-kit/CurrencyInput/{adjustValue .d.ts → adjustValue.d.ts} +0 -0
  226. package/mobile/lib/ui-kit/CurrencyInput/{adjustValue .js → adjustValue.js} +1 -1
  227. package/mobile/lib/ui-kit/CurrencyInput/adjustValue.js.map +1 -0
  228. package/mobile/lib/ui-kit/Tags/Tags.js +2 -2
  229. package/mobile/lib/ui-kit/Tags/Tags.js.map +1 -1
  230. package/mobile/src/components/BenefitsBlock/BenefitsBlock.tsx +14 -21
  231. package/mobile/src/components/Catalog/CatalogContent.ts +2 -0
  232. package/mobile/src/components/ContentPage/normalizeBlock.ts +15 -18
  233. package/mobile/src/components/ContentPage/normalizePage.ts +2 -7
  234. package/mobile/src/components/Header/Header.tsx +11 -11
  235. package/mobile/src/components/Header/HeaderContent.ts +1 -2
  236. package/mobile/src/components/InvestmentGallery/InvestmentGallery.example.json +64 -0
  237. package/mobile/src/components/InvestmentGallery/InvestmentGallery.tsx +103 -0
  238. package/mobile/src/components/InvestmentGallery/InvestmentGallery.ui.json +11 -0
  239. package/mobile/src/components/InvestmentGallery/InvestmentGalleryCard.tsx +91 -0
  240. package/mobile/src/components/InvestmentGallery/InvestmentGalleryContent.ts +54 -0
  241. package/mobile/src/components/PictureText/PictureText.tsx +3 -3
  242. package/mobile/src/components/Recommendation/Recommendation.tsx +9 -7
  243. package/mobile/src/components/StepsBlock/StepsBlock.tsx +1 -7
  244. package/mobile/src/content-page-repository/ContentPageRepository.ts +27 -45
  245. package/mobile/src/model/BorderVersion.ts +10 -0
  246. package/mobile/src/services/sitemap/useSitemap.ts +4 -4
  247. package/mobile/src/ui-kit/BenefitItem/BenefitItem.tsx +6 -5
  248. package/mobile/src/ui-kit/Breadcrumb.tsx +8 -11
  249. package/mobile/src/ui-kit/CurrencyInput/CurrencyInput.tsx +1 -1
  250. package/mobile/src/ui-kit/CurrencyInput/{adjustValue .ts → adjustValue.ts} +0 -0
  251. package/mobile/src/ui-kit/Tags/Tags.tsx +3 -5
  252. package/package.json +1 -1
  253. package/src/components/BenefitsBlock/BenefitsBlock.tsx +14 -21
  254. package/src/components/Blocks.ts +2 -0
  255. package/src/components/Catalog/CatalogContent.ts +2 -0
  256. package/src/components/ContentPage/normalizeBlock.mobile.ts +15 -18
  257. package/src/components/ContentPage/normalizeBlock.ts +10 -12
  258. package/src/components/ContentPage/normalizePage.ts +2 -7
  259. package/src/components/Header/Header.mobile.tsx +11 -11
  260. package/src/components/Header/Header.tsx +17 -12
  261. package/src/components/Header/HeaderContent.ts +1 -2
  262. package/src/components/InvestmentGallery/InvestmentGallery.example.json +64 -0
  263. package/src/components/InvestmentGallery/InvestmentGallery.fixture.tsx +79 -0
  264. package/src/components/InvestmentGallery/InvestmentGallery.tsx +103 -0
  265. package/src/components/InvestmentGallery/InvestmentGallery.ui.json +11 -0
  266. package/src/components/InvestmentGallery/InvestmentGalleryCard.tsx +91 -0
  267. package/src/components/InvestmentGallery/InvestmentGalleryContent.ts +54 -0
  268. package/src/components/PictureText/PictureText.tsx +3 -3
  269. package/src/components/ProductGallery/ProductGallery.tsx +3 -4
  270. package/src/components/Recommendation/Recommendation.tsx +9 -7
  271. package/src/components/StepsBlock/StepsBlock.mobile.tsx +1 -7
  272. package/src/content-page-repository/ContentPageRepository.ts +27 -45
  273. package/src/model/BorderVersion.ts +10 -0
  274. package/src/services/sitemap/useSitemap.ts +4 -4
  275. package/src/ui-kit/BenefitItem/BenefitItem.tsx +6 -5
  276. package/src/ui-kit/Breadcrumb.tsx +8 -11
  277. package/src/ui-kit/CurrencyInput/CurrencyInput.tsx +1 -1
  278. package/src/ui-kit/CurrencyInput/{adjustValue .ts → adjustValue.ts} +0 -0
  279. package/src/ui-kit/Tags/Tags.tsx +3 -5
  280. package/dist/ui-kit/CurrencyInput/adjustValue .js.map +0 -1
  281. package/lib/ui-kit/CurrencyInput/adjustValue .js.map +0 -1
  282. package/mobile/dist/ui-kit/CurrencyInput/adjustValue .js.map +0 -1
  283. package/mobile/lib/ui-kit/CurrencyInput/adjustValue .js.map +0 -1
@@ -4,10 +4,5 @@ import { normalizeBlock } from './normalizeBlock';
4
4
 
5
5
  export const normalizePage =
6
6
  (blocksRegistry: BlocksRegistry) =>
7
- (contentPage: ContentPageDef | undefined | null): ContentPageDef | undefined => {
8
- if (!contentPage) {
9
- return undefined;
10
- }
11
-
12
- return normalizeBlock(contentPage, blocksRegistry);
13
- };
7
+ (contentPage: ContentPageDef | undefined | null): ContentPageDef =>
8
+ contentPage ? normalizeBlock(contentPage, blocksRegistry) : {};
@@ -5,7 +5,6 @@ import type { Fallback } from '../../model/Fallback';
5
5
  import type { UniBlockProps } from '../../model/JSXBlock';
6
6
  import { findActiveSubItem } from '../../services/sitemap/findActiveSubItem';
7
7
  import { isTopItemActive } from '../../services/sitemap/isTopItemActive';
8
- import { mergeTopItems } from '../../services/sitemap/mergeTopItems';
9
8
  import { useSitemap } from '../../services/sitemap/useSitemap';
10
9
  import { HeaderItem } from '../../ui-kit/HeaderItem/HeaderItem';
11
10
  import type { TopItemProps } from '../../ui-kit/TopItem/TopItem';
@@ -19,15 +18,14 @@ import { HeaderTop } from './HeaderTop';
19
18
  export interface HeaderProps extends HeaderContent, UniBlockProps {}
20
19
 
21
20
  export const Header = JSX<HeaderProps>(
22
- ({ className = '', defaultLocation, bgColor = 'bg-white', context, topItems, page }) => {
21
+ ({ className = '', defaultLocation, bgColor = 'bg-white', context, page }) => {
23
22
  const { handlerDecorator } = context;
24
23
  const router = context.useRouter();
25
24
 
26
25
  const fallback: Fallback | undefined = page?.fallback;
27
- const sitemap = useSitemap(fallback);
26
+ const { topItems, dispositions } = useSitemap(fallback);
28
27
 
29
- const mergedItems = mergeTopItems(sitemap.topItems, topItems);
30
- const activeTopItem = mergedItems.find(isTopItemActive(router));
28
+ const activeTopItem = topItems?.find(isTopItemActive(router));
31
29
  const subItems = activeTopItem?.items;
32
30
  const activeSubItem = findActiveSubItem(router)(subItems);
33
31
 
@@ -58,15 +56,17 @@ export const Header = JSX<HeaderProps>(
58
56
  <HeaderBurger
59
57
  context={context}
60
58
  onClick={toggleBurgerMenu}
61
- burgerSubMenu={sitemap?.dispositions}
59
+ burgerSubMenu={dispositions}
62
60
  defaultLocation={defaultLocation}
63
61
  >
64
62
  <AccordionItemsList>
65
- {sitemap.topItems?.map((item, i) => (
66
- <AccordionItem key={String(i)} context={context} label={item.text}>
67
- <LinkList context={context} documents={item.items} />
68
- </AccordionItem>
69
- ))}
63
+ {topItems?.map((item, i) => {
64
+ item?.text ? (
65
+ <AccordionItem key={String(i)} context={context} label={item.text}>
66
+ <LinkList context={context} documents={item.items} />
67
+ </AccordionItem>
68
+ ) : null;
69
+ })}
70
70
  </AccordionItemsList>
71
71
  </HeaderBurger>
72
72
  ) : null}
@@ -3,12 +3,13 @@ import { useLink } from '../../hooks/useLink';
3
3
  import type { BgColorVersion } from '../../model/BgColorVersion';
4
4
  import type { Fallback } from '../../model/Fallback';
5
5
  import type { UniBlockProps } from '../../model/JSXBlock';
6
+ import type { TopMenuItem } from '../../model/SitemapProps';
6
7
  import { isTopItemActive } from '../../services/sitemap/isTopItemActive';
7
- import { mergeTopItems } from '../../services/sitemap/mergeTopItems';
8
8
  import { useSitemap } from '../../services/sitemap/useSitemap';
9
9
  import { BlockWrapper } from '../../ui-kit/BlockWrapper';
10
10
  import { Logo } from '../../ui-kit/Logo/Logo';
11
11
  import { TopItem } from '../../ui-kit/TopItem/TopItem';
12
+ import type { Router } from '../ContentPage/ContentPageContext';
12
13
  import type { HeaderContent } from './HeaderContent';
13
14
  import { HeaderSecondaryMenu } from './HeaderSecondaryMenu';
14
15
  import { HeaderSubMenu } from './HeaderSubMenu';
@@ -22,27 +23,24 @@ export interface HeaderProps extends HeaderContent, UniBlockProps {}
22
23
 
23
24
  export const Header = JSX<HeaderProps>(
24
25
  ({
25
- className = '',
26
- defaultLocation = 'Москва',
27
- showSubMenu = true,
28
26
  bgColor = 'bg-white',
27
+ className = '',
29
28
  context,
30
- topItems,
29
+ defaultLocation = 'Москва',
31
30
  logo,
32
31
  page,
32
+ showSubMenu = true,
33
33
  ...rest
34
34
  }) => {
35
35
  const router = context.useRouter();
36
36
  const fallback: Fallback | undefined = page?.fallback;
37
- const sitemap = useSitemap(fallback);
38
37
  const { handlerDecorator } = context;
39
38
 
40
- const mergedItems = mergeTopItems(sitemap.topItems, topItems);
41
- const [firstPortal] = mergedItems;
42
- const activeTopItem = showSubMenu
43
- ? mergedItems.find(isTopItemActive(router)) || firstPortal // Если по слагу невозможно понять к какому подпорталу этот слаг относиться, то выбираем первый подпортал.
44
- : null;
45
- const topMenu = mergedItems.map((_, i) => (
39
+ const { topItems } = useSitemap(fallback);
40
+
41
+ const activeTopItem = showSubMenu ? getActiveItem(topItems, router) : null;
42
+
43
+ const topMenu = topItems?.map((_, i) => (
46
44
  <TopItem
47
45
  key={String(i)}
48
46
  active={_ === activeTopItem}
@@ -80,3 +78,10 @@ export const Header = JSX<HeaderProps>(
80
78
  );
81
79
  },
82
80
  );
81
+
82
+ const getActiveItem = (topItems: TopMenuItem[] | undefined, router: Router) => {
83
+ const [firstPortal] = topItems || [];
84
+
85
+ // Если по слагу невозможно понять к какому подпорталу этот слаг относиться, то выбираем первый подпортал.
86
+ return topItems?.find(isTopItemActive(router)) || firstPortal;
87
+ };
@@ -1,7 +1,6 @@
1
1
  import type { BgColorVersion } from '../../model/BgColorVersion';
2
2
  import type { LinkProps } from '../../model/LinkProps';
3
3
  import type { IconProps, Picture } from '../../model/Picture';
4
- import type { SitemapProps } from '../../services/sitemap/SitemapProps';
5
4
 
6
5
  /**
7
6
  * @title Пункт подменю
@@ -31,7 +30,7 @@ export interface Logo {
31
30
  * @title Шапка (для мобильных горизонтальная прокрутка shift+mouseScroll)
32
31
  * @required ["defaultLocation", "topItems"]
33
32
  */
34
- export interface HeaderContent extends SitemapProps {
33
+ export interface HeaderContent {
35
34
  logo?: Logo;
36
35
  /**
37
36
  * @title Город по-умолчанию
@@ -0,0 +1,64 @@
1
+ {
2
+ "title": "Заголовок блока",
3
+ "cards": [
4
+ {
5
+ "image": {
6
+ "format": "webp",
7
+ "size": {
8
+ "width": 180,
9
+ "height": 180
10
+ }
11
+ },
12
+ "title": "Заголовок карточки",
13
+ "description": "Описание",
14
+ "additionalDescription": "Дополнительное описание",
15
+ "cardList":[
16
+ {
17
+ "parametr": "Параметр",
18
+ "parametrDesccription": "Описание"
19
+ },
20
+ {
21
+ "parametr": "Параметр",
22
+ "parametrDesccription": "Описание"
23
+ },
24
+ {
25
+ "parametr": "Параметр",
26
+ "parametrDesccription": "Описание"
27
+ }
28
+ ]
29
+ },
30
+ {
31
+ "image": {
32
+ "format": "webp",
33
+ "size": {
34
+ "width": 180,
35
+ "height": 180
36
+ }
37
+ },
38
+ "title": "Заголовок 2",
39
+ "description": "Описание 2",
40
+ "socialMedia": [
41
+ { "href": "https://t.me" },
42
+ { "href": "https://vk.com" },
43
+ { "href": "https://ok.ru" }
44
+ ]
45
+ },
46
+ {
47
+ "image": {
48
+ "format": "webp",
49
+ "size": {
50
+ "width": 180,
51
+ "height": 180
52
+ }
53
+ },
54
+ "title": "Заголовок 3",
55
+ "description": "Описание 3",
56
+ "socialMedia": [
57
+ { "href": "https://t.me" },
58
+ { "href": "https://vk.com" },
59
+ { "href": "https://ok.ru" }
60
+ ]
61
+ }
62
+ ],
63
+ "version": "primary"
64
+ }
@@ -0,0 +1,79 @@
1
+ import type { Picture } from '../../model/Picture';
2
+ import { context } from '../../react/setup-fixture';
3
+ import { InvestmentGallery, InvestmentGalleryProps } from './InvestmentGallery';
4
+
5
+ const five: Picture = {
6
+ src: '5.svg',
7
+ format: 'webp',
8
+ size: {
9
+ width: 268,
10
+ height: 218,
11
+ },
12
+ title: 'five',
13
+ };
14
+
15
+ const cardListExample = [
16
+ {
17
+ parameter: 'IR',
18
+ parameterDesccription: 'cтрана эмитента',
19
+ },
20
+ {
21
+ parameter: 'RU',
22
+ parameterDesccription: 'страна риска',
23
+ },
24
+ {
25
+ parameter: '09.03.2022',
26
+ parameterDesccription: 'дата погашения',
27
+ },
28
+ {
29
+ parameter: 'Ba3',
30
+ parameterDesccription: 'рейтинг MOODY’S',
31
+ },
32
+ {
33
+ parameter: 'BB-',
34
+ parameterDesccription: 'рейтинг FITCH',
35
+ },
36
+ {
37
+ parameter: 'Borets Finance Designated Activity Company',
38
+ parameterDesccription: 'эмитент',
39
+ },
40
+ ];
41
+
42
+ const cardCoomonProps = {
43
+ title: 'Borets Finance DAC 17/09/26',
44
+ description: 'BRTS-26 XS2230649225',
45
+ additionalDescription: 'Краткосрочная',
46
+ };
47
+
48
+ export const shortProps: InvestmentGalleryProps = {
49
+ context,
50
+ title: 'Примеры еврооблигаций (Московская Биржа)',
51
+ cards: [
52
+ {
53
+ ...cardCoomonProps,
54
+ columnsMode: 'double',
55
+ cardList: cardListExample,
56
+ image: five,
57
+ },
58
+ {
59
+ ...cardCoomonProps,
60
+ columnsMode: 'single',
61
+ cardList: cardListExample,
62
+ image: five,
63
+ },
64
+ {
65
+ ...cardCoomonProps,
66
+ columnsMode: 'double',
67
+ cardList: cardListExample,
68
+ image: five,
69
+ },
70
+ ],
71
+ };
72
+
73
+ export default {
74
+ default: (
75
+ <div className="container grid grid-cols-12 mb-1">
76
+ <InvestmentGallery className="col-span-12" {...shortProps} />
77
+ </div>
78
+ ),
79
+ };
@@ -0,0 +1,103 @@
1
+ import { JSX } from '@redneckz/uni-jsx';
2
+ import { useState } from '@redneckz/uni-jsx/lib/hooks';
3
+ import type { UniBlockProps } from '../../model/JSXBlock';
4
+ import type { BlockVersion } from '../../model/BlockVersion';
5
+ import { VersionStyleMap } from '../../model/BlockVersion';
6
+ import { BlockWrapper } from '../../ui-kit/BlockWrapper';
7
+ import { renderArrows } from '../../ui-kit/Button/renderArrows';
8
+ import { Heading } from '../../ui-kit/Heading/Heading';
9
+ import { InvestmentGalleryCard } from './InvestmentGalleryCard';
10
+ import type {
11
+ InvestmentGalleryCardTypes,
12
+ InvestmentGalleryContent,
13
+ } from './InvestmentGalleryContent';
14
+ import type { ContentPageContext } from '../ContentPage/ContentPageContext';
15
+
16
+ const BLUR_BLOCK_CLASSES = 'absolute top-0 bottom-0 w-[84px]';
17
+ const CARD_FULL_VIEW_COUNT = 1;
18
+
19
+ export interface InvestmentGalleryProps extends InvestmentGalleryContent, UniBlockProps {}
20
+
21
+ interface NavButtonsProps {
22
+ cardsCount: number;
23
+ activeCardIndex: number;
24
+ setActiveCardIndex: (number: number) => void;
25
+ }
26
+
27
+ export const InvestmentGallery = JSX<InvestmentGalleryProps>(
28
+ ({ context, cards = [], className = '', title, version = 'primary', ...rest }) => {
29
+ const [activeCardIndex, setActiveCardIndex] = useState(0);
30
+ const cardWidth = 525;
31
+
32
+ return (
33
+ <BlockWrapper
34
+ context={context}
35
+ className={`relative font-sans p-9 overflow-hidden text-center
36
+ ${VersionStyleMap[version]}
37
+ ${className}`}
38
+ {...rest}
39
+ >
40
+ {title ? <Heading headingType="h3" className="mb-9" title={title} /> : null}
41
+ <div>
42
+ <div
43
+ className="flex duration-1000 gap-3.5"
44
+ style={{ transform: `translateX(-${activeCardIndex * cardWidth}px)` }}
45
+ role="list"
46
+ >
47
+ {cards?.length
48
+ ? cards.map(renderInvestmentGalleryCard(context, className, version))
49
+ : null}
50
+ </div>
51
+ {renderNavButtons({
52
+ cardsCount: cards.length,
53
+ activeCardIndex,
54
+ setActiveCardIndex,
55
+ })}
56
+ </div>
57
+ <div
58
+ className={`${BLUR_BLOCK_CLASSES} left-0 ${
59
+ version === 'secondary' ? 'bg-opacity-from-main' : 'bg-opacity-from-white'
60
+ }`}
61
+ />
62
+ <div
63
+ className={`${BLUR_BLOCK_CLASSES} right-0 ${
64
+ version === 'secondary' ? 'bg-opacity-to-main' : 'bg-opacity-to-white'
65
+ }`}
66
+ />
67
+ </BlockWrapper>
68
+ );
69
+ },
70
+ );
71
+
72
+ const renderInvestmentGalleryCard =
73
+ (context: ContentPageContext, className: string, version?: BlockVersion) =>
74
+ (card: InvestmentGalleryCardTypes, i: number) =>
75
+ (
76
+ <InvestmentGalleryCard
77
+ key={String(i)}
78
+ className={className}
79
+ context={context}
80
+ version={version}
81
+ {...card}
82
+ />
83
+ );
84
+
85
+ const renderNavButtons = ({ cardsCount, activeCardIndex, setActiveCardIndex }: NavButtonsProps) => {
86
+ const isUseSlider = cardsCount > CARD_FULL_VIEW_COUNT;
87
+ const showNextButton = isUseSlider && cardsCount - activeCardIndex > CARD_FULL_VIEW_COUNT;
88
+ const showPrevButton = isUseSlider && activeCardIndex > 0;
89
+
90
+ const handleNextClick = () => setActiveCardIndex(activeCardIndex + 1);
91
+ const handlePrevClick = () => setActiveCardIndex(activeCardIndex - 1);
92
+
93
+ return (
94
+ <div>
95
+ {renderArrows({
96
+ handler: [handlePrevClick, handleNextClick],
97
+ isShown: [showPrevButton, showNextButton],
98
+ btnClass: ['left-8', 'right-8'],
99
+ className: 'top-1/2 mt-3',
100
+ })}
101
+ </div>
102
+ );
103
+ };
@@ -0,0 +1,11 @@
1
+ {
2
+ "content": {
3
+ "recommendations": {
4
+ "items": {
5
+ "image": {
6
+ "ui:field": "picture"
7
+ }
8
+ }
9
+ }
10
+ }
11
+ }
@@ -0,0 +1,91 @@
1
+ import { JSX } from '@redneckz/uni-jsx';
2
+ import type { BlockVersion } from '../../model/BlockVersion';
3
+ import { BorderVersionStyleMap } from '../../model/BorderVersion';
4
+ import type { UniBlockProps } from '../../model/JSXBlock';
5
+ import { Description } from '../../ui-kit/Description/Description';
6
+ import { Heading } from '../../ui-kit/Heading/Heading';
7
+ import { Img } from '../../ui-kit/Img/Img';
8
+ import { BaseTile } from '../BaseTile/BaseTile';
9
+ import type {
10
+ CardColumnsMode,
11
+ CardListItem,
12
+ InvestmentGalleryCardTypes,
13
+ } from './InvestmentGalleryContent';
14
+
15
+ export interface RecommendationCardProps extends InvestmentGalleryCardTypes, UniBlockProps {
16
+ version?: BlockVersion;
17
+ }
18
+ const getItemListFontSize = (colValue?: string) => (colValue === 'single' ? 'text-h6' : 'text-l');
19
+
20
+ const cardColumnsModeStyleMap: Record<CardColumnsMode, string> = {
21
+ double: 'flex gap-y-2 gap-x-10 flex-wrap',
22
+ single: 'flex gap-y-2 flex-col',
23
+ };
24
+
25
+ export const InvestmentGalleryCard = JSX<RecommendationCardProps>(
26
+ ({
27
+ className = '',
28
+ columnsMode = 'double',
29
+ context,
30
+ description,
31
+ additionalDescription,
32
+ image,
33
+ cardList,
34
+ title,
35
+ version = 'primary',
36
+ }) => {
37
+ const tileTitle = title ? (
38
+ <Heading headingType="h4" as="h3" className="mb-3.5 z-10" title={title} />
39
+ ) : null;
40
+ const tileImage = image?.src ? (
41
+ <Img className="absolute bottom-0 right-0 m-0" image={image} />
42
+ ) : null;
43
+
44
+ return (
45
+ <section
46
+ className={`relative overflow-hidden text-left border border-solid box-border
47
+ p-9 min-w-[697px] min-h-[319px]
48
+ ${BorderVersionStyleMap[version]}
49
+ ${className}`}
50
+ role="listitem"
51
+ >
52
+ <BaseTile
53
+ context={context}
54
+ className="flex justify-between"
55
+ title={tileTitle}
56
+ image={tileImage}
57
+ >
58
+ <div className="flex flex-col justify-between">
59
+ <div className="flex itens-center justify-between mb-4">
60
+ {description ? <Description className="text-h6" description={description} /> : null}
61
+ {additionalDescription ? (
62
+ <div className="text-m-light text-secondary-text"> {additionalDescription} </div>
63
+ ) : null}
64
+ </div>
65
+ {cardList?.length ? (
66
+ <div className={`${cardColumnsModeStyleMap[columnsMode]}`} role="list">
67
+ {renderCardList(cardList, columnsMode)}
68
+ </div>
69
+ ) : null}
70
+ </div>
71
+ </BaseTile>
72
+ </section>
73
+ );
74
+ },
75
+ );
76
+
77
+ const renderCardList = (cardList: CardListItem[], columnsMode: string) =>
78
+ cardList.map((item, i) => (
79
+ <div
80
+ key={String(i)}
81
+ className={columnsMode === 'double' ? 'basis-[calc(50%-20px)]' : ''}
82
+ role="listitem"
83
+ >
84
+ {item?.parameter ? (
85
+ <span className={`pr-2.5 ${getItemListFontSize(columnsMode)}`}>{item.parameter}</span>
86
+ ) : null}
87
+ {item?.parameterDesccription ? (
88
+ <span className="text-m-light text-secondary-text">{item.parameterDesccription}</span>
89
+ ) : null}
90
+ </div>
91
+ ));
@@ -0,0 +1,54 @@
1
+ import type { BlockVersion } from '../../model/BlockVersion';
2
+ import type { Picture } from '../../model/Picture';
3
+ import type { HeadlineCommonProps, TitleProps } from '../../model/HeadlineType';
4
+
5
+ /**
6
+ * @title Количество колонок в списке
7
+ * @enumNames [
8
+ * "1 колонка",
9
+ * "2 колонки",
10
+ * ]
11
+ */
12
+ export type CardColumnsMode = 'single' | 'double';
13
+
14
+ /**
15
+ * @title Карточка
16
+ */
17
+ export interface InvestmentGalleryCardTypes extends HeadlineCommonProps {
18
+ /** @title Доп. описание карточки */
19
+ additionalDescription?: string;
20
+ /**
21
+ * @default {
22
+ * "format": "webp",
23
+ * "size": {
24
+ * "width": 290
25
+ * },
26
+ * "sources": [{
27
+ * "media": 1279,
28
+ * "width": 174,
29
+ * "format": "webp",
30
+ * "alignment": "southeast"
31
+ * }]
32
+ * }
33
+ */
34
+ image?: Picture;
35
+ columnsMode?: CardColumnsMode;
36
+ /** @title Описание пункта */
37
+ cardList?: CardListItem[];
38
+ }
39
+
40
+ export interface CardListItem {
41
+ /** @title Параметр */
42
+ parameter?: string;
43
+ /** @title Описание */
44
+ parameterDesccription?: string;
45
+ }
46
+
47
+ /**
48
+ * @title Карточка
49
+ */
50
+ export interface InvestmentGalleryContent extends TitleProps {
51
+ /** @title Карточки */
52
+ cards?: InvestmentGalleryCardTypes[];
53
+ version?: BlockVersion;
54
+ }
@@ -69,8 +69,8 @@ const renderBenefit = (version: BlockVersion) => (benefit: BenefitItemProps, i:
69
69
  function renderInsuranceSumMonth(sum?: number, monthLimit?: number) {
70
70
  return sum || monthLimit ? (
71
71
  <div className="bg-main-divider rounded-md flex mt-7 gap-6 px-5 py-4">
72
- {Number.isFinite(sum) ? renderValueBlock('Страховая сумма:', sum, Boolean(monthLimit)) : null}
73
- {Number.isFinite(monthLimit)
72
+ {Number(sum) > 0 ? renderValueBlock('Страховая сумма:', sum, Boolean(monthLimit)) : null}
73
+ {Number(monthLimit) > 0
74
74
  ? renderValueBlock('Ежемесячный лимит:', monthLimit, Boolean(sum))
75
75
  : null}
76
76
  </div>
@@ -81,7 +81,7 @@ function renderValueBlock(title: string, sum = 0, isAnotherBlock = false) {
81
81
  const widthStyle = isAnotherBlock ? 'w-fit' : 'w-full';
82
82
 
83
83
  return (
84
- <div className={`flex justify-between items-center gap-2 w-full ${widthStyle}`}>
84
+ <div className={`flex justify-between items-center gap-2 w-full whitespace-pre ${widthStyle}`}>
85
85
  <span className="text-secondary-text text-l-light">{title}</span>
86
86
  <span className="text-primary-main text-h6">{addSpacesBetweenNumbers(sum)} ₽</span>
87
87
  </div>
@@ -2,9 +2,10 @@ import { JSX } from '@redneckz/uni-jsx';
2
2
  import { useState } from '@redneckz/uni-jsx/lib/hooks';
3
3
  import type { BlockVersion } from '../../model/BlockVersion';
4
4
  import { VersionStyleMap } from '../../model/BlockVersion';
5
+ import { BorderVersionStyleMap } from '../../model/BorderVersion';
5
6
  import type { UniBlockProps } from '../../model/JSXBlock';
6
7
  import { BlockWrapper } from '../../ui-kit/BlockWrapper';
7
- import { ContentPageContext } from '../ContentPage/ContentPageContext';
8
+ import type { ContentPageContext } from '../ContentPage/ContentPageContext';
8
9
  import type { ProductBlockInnerContent } from '../ProductBlock/ProductBlockContent';
9
10
  import { ProductBlockInner } from '../ProductBlock/ProductBlockInner';
10
11
  import type { ProductGalleryContent, ProductGalleryNav } from './ProductGalleryContent';
@@ -107,8 +108,6 @@ function renderNavButton({ slide, i, activeSlideIndex, onClick, version }: Rende
107
108
  ? 'text-secondary-text text-l-light'
108
109
  : `text-m-light ${productBlockStyleMap[version].text}`;
109
110
 
110
- const additionalBorder = version === 'secondary' ? 'border-white/50' : 'border-black/50';
111
-
112
111
  return (
113
112
  <button
114
113
  type="button"
@@ -116,7 +115,7 @@ function renderNavButton({ slide, i, activeSlideIndex, onClick, version }: Rende
116
115
  onClick={onClick}
117
116
  aria-label={slide?.title}
118
117
  className={`box-border relative overflow-hidden border border-white/50 cursor-pointer text-left mx-1 grow basis-0
119
- ${btnClassName} ${additionalBorder}
118
+ ${btnClassName} ${BorderVersionStyleMap[version]}
120
119
  `}
121
120
  >
122
121
  <div className="border-0 px-6">
@@ -1,7 +1,9 @@
1
1
  import { JSX } from '@redneckz/uni-jsx';
2
2
  import { useState } from '@redneckz/uni-jsx/lib/hooks';
3
3
  import type { BlockVersion } from '../../model/BlockVersion';
4
+ import { BorderVersionStyleMap } from '../../model/BorderVersion';
4
5
  import type { UniBlockProps } from '../../model/JSXBlock';
6
+ import { VersionStyleMap } from '../../model/BlockVersion';
5
7
  import { BlockWrapper } from '../../ui-kit/BlockWrapper';
6
8
  import { renderArrows } from '../../ui-kit/Button/renderArrows';
7
9
  import { Heading } from '../../ui-kit/Heading/Heading';
@@ -16,17 +18,15 @@ const CARD_SHIFT = 525;
16
18
  export interface RecommendationProps extends RecommendationContent, UniBlockProps {}
17
19
 
18
20
  export const Recommendation = JSX<RecommendationProps>(
19
- ({ context, recommendations = [], className = '', title, version, ...rest }) => {
21
+ ({ context, recommendations = [], className = '', title, version = 'primary', ...rest }) => {
20
22
  const [activeCardIndex, setActiveCardIndex] = useState(0);
21
23
 
22
- const blockClassName =
23
- version === 'secondary' ? 'bg-primary-main text-white' : 'bg-white text-primary-text';
24
- const cardClassName = version === 'secondary' ? 'border-white/50' : 'border-main-stroke';
25
-
26
24
  return (
27
25
  <BlockWrapper
28
26
  context={context}
29
- className={`relative font-sans p-9 overflow-hidden text-center ${blockClassName} ${className}`}
27
+ className={`relative font-sans p-9 overflow-hidden text-center
28
+ ${VersionStyleMap[version]}
29
+ ${className}`}
30
30
  {...rest}
31
31
  >
32
32
  {title ? <Heading headingType="h3" className="mb-6" title={title} /> : null}
@@ -37,7 +37,9 @@ export const Recommendation = JSX<RecommendationProps>(
37
37
  role="list"
38
38
  >
39
39
  {recommendations?.length
40
- ? recommendations.map(renderRecommendationCard(context, cardClassName, version))
40
+ ? recommendations.map(
41
+ renderRecommendationCard(context, BorderVersionStyleMap[version], version),
42
+ )
41
43
  : null}
42
44
  </div>
43
45
  {renderNavButtons({
@@ -1,14 +1,13 @@
1
1
  import { JSX } from '@redneckz/uni-jsx';
2
2
  import type { BlockVersion } from '../../model/BlockVersion';
3
- import { IconVersion } from '../../model/IconVersion';
4
3
  import type { UniBlockProps } from '../../model/JSXBlock';
5
4
  import type { SizeVersion } from '../../model/SizeVersion';
6
5
  import { Heading } from '../../ui-kit/Heading/Heading';
7
6
  import { Img } from '../../ui-kit/Img/Img';
8
7
  import { checkIsIconRenderable } from '../../utils/checkIsIconRenderable';
8
+ import { getIconWithVersion } from '../../utils/getIconWithVersion';
9
9
  import type { Step, StepsBlockContent } from './StepsBlockContent';
10
10
  import { STEPS_BLOCK_STYLE_MAPS } from './StepsBlockStyleMaps';
11
- import { getIconWithVersion } from '../../utils/getIconWithVersion';
12
11
 
13
12
  export interface StepsBlockProps extends StepsBlockContent, UniBlockProps {}
14
13
 
@@ -22,11 +21,6 @@ const STEPS_TILE_DESCRIPTION_HEIGHT_MAP: Record<SizeVersion, string> = {
22
21
  small: 'min-h-[50px]',
23
22
  };
24
23
 
25
- const STEPS_SVG_VERSION_MAP: Record<BlockVersion, IconVersion> = {
26
- primary: 'normal',
27
- secondary: 'white',
28
- };
29
-
30
24
  export const StepsBlock = JSX<StepsBlockProps>(
31
25
  ({
32
26
  className,