@redneckz/wildless-cms-uni-blocks 0.2.44 → 0.2.47

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 (319) hide show
  1. package/dist/BenefitsBlock.d.ts +2 -8
  2. package/dist/BenefitsBlock.js +4 -26
  3. package/dist/BenefitsBlock.js.map +1 -1
  4. package/dist/Blocks.d.ts +3 -0
  5. package/dist/Blocks.js +11 -5
  6. package/dist/Blocks.js.map +1 -1
  7. package/dist/ContentPage.d.ts +3 -4
  8. package/dist/ContentPage.js +5 -5
  9. package/dist/ContentPage.js.map +1 -1
  10. package/dist/ContentPageContext.d.ts +6 -3
  11. package/dist/ExchangeRateTile.d.ts +7 -0
  12. package/dist/ExchangeRateTile.js +32 -0
  13. package/dist/ExchangeRateTile.js.map +1 -0
  14. package/dist/Footer/Contacts.d.ts +2 -2
  15. package/dist/Footer/Footer.d.ts +2 -4
  16. package/dist/Footer/Footer.js +2 -2
  17. package/dist/Footer/Footer.js.map +1 -1
  18. package/dist/Footer/FooterLink.d.ts +2 -2
  19. package/dist/Footer/Sitemap.d.ts +2 -2
  20. package/dist/Footer/Sitemap.js +2 -1
  21. package/dist/Footer/Sitemap.js.map +1 -1
  22. package/dist/Footer/SocialMedia.d.ts +2 -2
  23. package/dist/Footer/SocialMedia.js +6 -6
  24. package/dist/Footer/SocialMedia.js.map +1 -1
  25. package/dist/Footer/index.d.ts +2 -0
  26. package/dist/Footer/index.js +5 -0
  27. package/dist/Footer/index.js.map +1 -0
  28. package/dist/Header/Header.d.ts +2 -2
  29. package/dist/Header/Header.js +4 -3
  30. package/dist/Header/Header.js.map +1 -1
  31. package/dist/Header/HeaderSecondaryMenu.js +1 -1
  32. package/dist/Header/HeaderSecondaryMenu.js.map +1 -1
  33. package/dist/Header/HeaderSecondaryMenuButton.d.ts +1 -0
  34. package/dist/Header/HeaderSecondaryMenuButton.js +1 -1
  35. package/dist/Header/HeaderSecondaryMenuButton.js.map +1 -1
  36. package/dist/Icons/ActualBalanceIcon.d.ts +1 -1
  37. package/dist/Icons/CalendarIcon.d.ts +1 -1
  38. package/dist/Icons/ClockIcon.d.ts +1 -1
  39. package/dist/Icons/ComfortableCompIcon.d.ts +1 -1
  40. package/dist/Icons/DollarIcon.d.ts +1 -0
  41. package/dist/Icons/DollarIcon.js +6 -0
  42. package/dist/Icons/DollarIcon.js.map +1 -0
  43. package/dist/Icons/EmptyWalletIcon.d.ts +1 -1
  44. package/dist/Icons/EuroIcon.d.ts +1 -0
  45. package/dist/Icons/EuroIcon.js +6 -0
  46. package/dist/Icons/EuroIcon.js.map +1 -0
  47. package/dist/Icons/GridIcon.d.ts +1 -1
  48. package/dist/Icons/LoupeIcon.d.ts +1 -1
  49. package/dist/Icons/NewDocIcon.d.ts +1 -1
  50. package/dist/Icons/OkIcon.d.ts +1 -1
  51. package/dist/Icons/PassSendIcon.d.ts +1 -1
  52. package/dist/Icons/PercentageSquareIcon.d.ts +1 -1
  53. package/dist/Icons/ProfileIcon.d.ts +1 -1
  54. package/dist/Icons/SignDocsIcon.d.ts +1 -1
  55. package/dist/Icons/TelegramIcon.d.ts +1 -1
  56. package/dist/Icons/VKIcon.d.ts +1 -1
  57. package/dist/Icons/index.d.ts +17 -16
  58. package/dist/Icons/index.js +26 -22
  59. package/dist/Icons/index.js.map +1 -1
  60. package/dist/Img.js +1 -1
  61. package/dist/Img.js.map +1 -1
  62. package/dist/LikeControl.d.ts +2 -2
  63. package/dist/LikeControl.js +1 -1
  64. package/dist/LikeControl.js.map +1 -1
  65. package/dist/MobileAppTile.d.ts +8 -0
  66. package/dist/MobileAppTile.js +9 -0
  67. package/dist/MobileAppTile.js.map +1 -0
  68. package/dist/Placeholder.d.ts +3 -1
  69. package/dist/Placeholder.js +9 -2
  70. package/dist/Placeholder.js.map +1 -1
  71. package/dist/ProductBlock.d.ts +3 -9
  72. package/dist/ProductBlock.js +1 -1
  73. package/dist/ProductBlock.js.map +1 -1
  74. package/dist/ProductBlockInner.d.ts +2 -8
  75. package/dist/ProductBlockInner.js +4 -26
  76. package/dist/ProductBlockInner.js.map +1 -1
  77. package/dist/ProductGallery.d.ts +3 -5
  78. package/dist/ProductGallery.js +3 -3
  79. package/dist/ProductGallery.js.map +1 -1
  80. package/dist/ProjectSettings.d.ts +18 -0
  81. package/dist/ProjectSettings.js +30 -0
  82. package/dist/ProjectSettings.js.map +1 -0
  83. package/dist/StepsBlock.d.ts +9 -4
  84. package/dist/StepsBlock.js +4 -26
  85. package/dist/StepsBlock.js.map +1 -1
  86. package/dist/Tile.d.ts +2 -2
  87. package/dist/Tile.js +15 -7
  88. package/dist/Tile.js.map +1 -1
  89. package/dist/index.d.ts +5 -3
  90. package/dist/index.js +7 -5
  91. package/dist/index.js.map +1 -1
  92. package/dist/types.d.ts +6 -1
  93. package/dist/ui-kit/Button.d.ts +1 -0
  94. package/dist/ui-kit/Button.js +4 -4
  95. package/dist/ui-kit/Button.js.map +1 -1
  96. package/dist/ui-kit/LikeButton.d.ts +1 -0
  97. package/dist/ui-kit/LikeButton.js +1 -1
  98. package/dist/ui-kit/LikeButton.js.map +1 -1
  99. package/dist/ui-kit/SearchBar.d.ts +2 -2
  100. package/dist/ui-kit/SearchBar.js.map +1 -1
  101. package/dist/ui-kit/TopItem.d.ts +1 -0
  102. package/dist/ui-kit/TopItem.js +2 -2
  103. package/dist/ui-kit/TopItem.js.map +1 -1
  104. package/dist/useLink.d.ts +1 -0
  105. package/dist/useLink.js +1 -0
  106. package/dist/useLink.js.map +1 -1
  107. package/dist/useSitemap.d.ts +3 -0
  108. package/dist/useSitemap.js +16 -0
  109. package/dist/useSitemap.js.map +1 -0
  110. package/dist/utils/url.d.ts +4 -4
  111. package/fonts/ubuntu/ubuntu.css +51 -32
  112. package/lib/BenefitsBlock.d.ts +2 -8
  113. package/lib/BenefitsBlock.js +4 -3
  114. package/lib/BenefitsBlock.js.map +1 -1
  115. package/lib/Blocks.d.ts +3 -0
  116. package/lib/Blocks.js +9 -3
  117. package/lib/Blocks.js.map +1 -1
  118. package/lib/ContentPage.d.ts +3 -4
  119. package/lib/ContentPage.js +5 -5
  120. package/lib/ContentPage.js.map +1 -1
  121. package/lib/ContentPageContext.d.ts +6 -3
  122. package/lib/ExchangeRateTile.d.ts +7 -0
  123. package/lib/ExchangeRateTile.js +30 -0
  124. package/lib/ExchangeRateTile.js.map +1 -0
  125. package/lib/Footer/Contacts.d.ts +2 -2
  126. package/lib/Footer/Footer.d.ts +2 -4
  127. package/lib/Footer/Footer.js +2 -2
  128. package/lib/Footer/Footer.js.map +1 -1
  129. package/lib/Footer/FooterLink.d.ts +2 -2
  130. package/lib/Footer/Sitemap.d.ts +2 -2
  131. package/lib/Footer/Sitemap.js +2 -1
  132. package/lib/Footer/Sitemap.js.map +1 -1
  133. package/lib/Footer/SocialMedia.d.ts +2 -2
  134. package/lib/Footer/SocialMedia.js +6 -6
  135. package/lib/Footer/SocialMedia.js.map +1 -1
  136. package/lib/Footer/index.d.ts +2 -0
  137. package/lib/Footer/index.js +2 -0
  138. package/lib/Footer/index.js.map +1 -0
  139. package/lib/Header/Header.d.ts +2 -2
  140. package/lib/Header/Header.js +4 -3
  141. package/lib/Header/Header.js.map +1 -1
  142. package/lib/Header/HeaderSecondaryMenu.js +1 -1
  143. package/lib/Header/HeaderSecondaryMenu.js.map +1 -1
  144. package/lib/Header/HeaderSecondaryMenuButton.d.ts +1 -0
  145. package/lib/Header/HeaderSecondaryMenuButton.js +1 -1
  146. package/lib/Header/HeaderSecondaryMenuButton.js.map +1 -1
  147. package/lib/Icons/ActualBalanceIcon.d.ts +1 -1
  148. package/lib/Icons/CalendarIcon.d.ts +1 -1
  149. package/lib/Icons/ClockIcon.d.ts +1 -1
  150. package/lib/Icons/ComfortableCompIcon.d.ts +1 -1
  151. package/lib/Icons/DollarIcon.d.ts +1 -0
  152. package/lib/Icons/DollarIcon.js +3 -0
  153. package/lib/Icons/DollarIcon.js.map +1 -0
  154. package/lib/Icons/EmptyWalletIcon.d.ts +1 -1
  155. package/lib/Icons/EuroIcon.d.ts +1 -0
  156. package/lib/Icons/EuroIcon.js +3 -0
  157. package/lib/Icons/EuroIcon.js.map +1 -0
  158. package/lib/Icons/GridIcon.d.ts +1 -1
  159. package/lib/Icons/LoupeIcon.d.ts +1 -1
  160. package/lib/Icons/NewDocIcon.d.ts +1 -1
  161. package/lib/Icons/OkIcon.d.ts +1 -1
  162. package/lib/Icons/PassSendIcon.d.ts +1 -1
  163. package/lib/Icons/PercentageSquareIcon.d.ts +1 -1
  164. package/lib/Icons/ProfileIcon.d.ts +1 -1
  165. package/lib/Icons/SignDocsIcon.d.ts +1 -1
  166. package/lib/Icons/TelegramIcon.d.ts +1 -1
  167. package/lib/Icons/VKIcon.d.ts +1 -1
  168. package/lib/Icons/index.d.ts +17 -16
  169. package/lib/Icons/index.js +17 -16
  170. package/lib/Icons/index.js.map +1 -1
  171. package/lib/Img.js +1 -1
  172. package/lib/Img.js.map +1 -1
  173. package/lib/LikeControl.d.ts +2 -2
  174. package/lib/LikeControl.js +1 -1
  175. package/lib/LikeControl.js.map +1 -1
  176. package/lib/MobileAppTile.d.ts +8 -0
  177. package/lib/MobileAppTile.js +7 -0
  178. package/lib/MobileAppTile.js.map +1 -0
  179. package/lib/Placeholder.d.ts +3 -1
  180. package/lib/Placeholder.js +9 -2
  181. package/lib/Placeholder.js.map +1 -1
  182. package/lib/ProductBlock.d.ts +3 -9
  183. package/lib/ProductBlock.js +1 -1
  184. package/lib/ProductBlock.js.map +1 -1
  185. package/lib/ProductBlockInner.d.ts +2 -8
  186. package/lib/ProductBlockInner.js +4 -3
  187. package/lib/ProductBlockInner.js.map +1 -1
  188. package/lib/ProductGallery.d.ts +3 -5
  189. package/lib/ProductGallery.js +3 -3
  190. package/lib/ProductGallery.js.map +1 -1
  191. package/lib/ProjectSettings.d.ts +18 -0
  192. package/lib/ProjectSettings.js +28 -0
  193. package/lib/ProjectSettings.js.map +1 -0
  194. package/lib/StepsBlock.d.ts +9 -4
  195. package/lib/StepsBlock.js +4 -3
  196. package/lib/StepsBlock.js.map +1 -1
  197. package/lib/Tile.d.ts +2 -2
  198. package/lib/Tile.js +15 -7
  199. package/lib/Tile.js.map +1 -1
  200. package/lib/common.css +1 -1
  201. package/lib/index.d.ts +5 -3
  202. package/lib/index.js +3 -2
  203. package/lib/index.js.map +1 -1
  204. package/lib/types.d.ts +6 -1
  205. package/lib/ui-kit/Button.d.ts +1 -0
  206. package/lib/ui-kit/Button.js +4 -4
  207. package/lib/ui-kit/Button.js.map +1 -1
  208. package/lib/ui-kit/LikeButton.d.ts +1 -0
  209. package/lib/ui-kit/LikeButton.js +1 -1
  210. package/lib/ui-kit/LikeButton.js.map +1 -1
  211. package/lib/ui-kit/SearchBar.d.ts +2 -2
  212. package/lib/ui-kit/SearchBar.js.map +1 -1
  213. package/lib/ui-kit/TopItem.d.ts +1 -0
  214. package/lib/ui-kit/TopItem.js +2 -2
  215. package/lib/ui-kit/TopItem.js.map +1 -1
  216. package/lib/useLink.d.ts +1 -0
  217. package/lib/useLink.js +1 -0
  218. package/lib/useLink.js.map +1 -1
  219. package/lib/useSitemap.d.ts +3 -0
  220. package/lib/useSitemap.js +13 -0
  221. package/lib/useSitemap.js.map +1 -0
  222. package/lib/utils/url.d.ts +4 -4
  223. package/package.json +43 -19
  224. package/src/BenefitsBlock.fixture.tsx +34 -0
  225. package/src/BenefitsBlock.tsx +45 -0
  226. package/src/Blocks.ts +23 -0
  227. package/src/ContentPage.fixture.tsx +38 -0
  228. package/src/ContentPage.page.json +540 -0
  229. package/src/ContentPage.tsx +83 -0
  230. package/src/ContentPageContext.tsx +34 -0
  231. package/src/ContentPageHead.tsx +26 -0
  232. package/src/ExchangeRateTile.fixture.tsx +11 -0
  233. package/src/ExchangeRateTile.tsx +80 -0
  234. package/src/Footer/Contacts.tsx +71 -0
  235. package/src/Footer/Footer.fixture.tsx +265 -0
  236. package/src/Footer/Footer.tsx +46 -0
  237. package/src/Footer/FooterLink.ts +6 -0
  238. package/src/Footer/HorizontalNavigation.tsx +46 -0
  239. package/src/Footer/Sitemap.tsx +55 -0
  240. package/src/Footer/SocialMedia.tsx +46 -0
  241. package/src/Footer/TextInformation.tsx +50 -0
  242. package/src/Footer/index.ts +2 -0
  243. package/src/Header/Header.fixture.tsx +21 -0
  244. package/src/Header/Header.tsx +55 -0
  245. package/src/Header/HeaderContent.ts +6 -0
  246. package/src/Header/HeaderSecondaryMenu.tsx +42 -0
  247. package/src/Header/HeaderSecondaryMenuButton.tsx +21 -0
  248. package/src/Header/index.ts +3 -0
  249. package/src/Header/isSubItemActive.ts +9 -0
  250. package/src/Header/isTopItemActive.ts +13 -0
  251. package/src/Icons/ActualBalanceIcon.tsx +202 -0
  252. package/src/Icons/CalendarIcon.tsx +19 -0
  253. package/src/Icons/ClockIcon.tsx +212 -0
  254. package/src/Icons/ComfortableCompIcon.tsx +379 -0
  255. package/src/Icons/DollarIcon.tsx +12 -0
  256. package/src/Icons/EmptyWalletIcon.tsx +25 -0
  257. package/src/Icons/EuroIcon.tsx +12 -0
  258. package/src/Icons/GridIcon.tsx +9 -0
  259. package/src/Icons/LoupeIcon.tsx +11 -0
  260. package/src/Icons/NewDocIcon.tsx +262 -0
  261. package/src/Icons/OkIcon.tsx +8 -0
  262. package/src/Icons/PassSendIcon.tsx +250 -0
  263. package/src/Icons/PercentageSquareIcon.tsx +18 -0
  264. package/src/Icons/ProfileIcon.tsx +18 -0
  265. package/src/Icons/SignDocsIcon.tsx +295 -0
  266. package/src/Icons/TelegramIcon.tsx +8 -0
  267. package/src/Icons/VKIcon.tsx +10 -0
  268. package/src/Icons/index.ts +17 -0
  269. package/src/Img.tsx +22 -0
  270. package/src/LikeControl.fixture.tsx +5 -0
  271. package/src/LikeControl.tsx +23 -0
  272. package/src/MobileAppTile.fixture.tsx +15 -0
  273. package/src/MobileAppTile.tsx +34 -0
  274. package/src/Placeholder.fixture.tsx +5 -0
  275. package/src/Placeholder.tsx +33 -0
  276. package/src/ProductBlock.fixture.tsx +95 -0
  277. package/src/ProductBlock.tsx +15 -0
  278. package/src/ProductBlockInner.tsx +110 -0
  279. package/src/ProductGallery.fixture.tsx +138 -0
  280. package/src/ProductGallery.tsx +90 -0
  281. package/src/ProjectSettings.ts +38 -0
  282. package/src/StepsBlock.fixture.tsx +23 -0
  283. package/src/StepsBlock.tsx +51 -0
  284. package/src/Tile.fixture.tsx +124 -0
  285. package/src/Tile.tsx +89 -0
  286. package/src/api/LikeAPI.ts +141 -0
  287. package/src/common.css +39 -0
  288. package/src/content-page-repository/ContentPageRepository.ts +38 -0
  289. package/src/content-page-repository/TransformationOptions.ts +4 -0
  290. package/src/content-page-repository/index.ts +1 -0
  291. package/src/content-page-repository/mapJSON.spec.ts +28 -0
  292. package/src/content-page-repository/mapJSON.ts +23 -0
  293. package/src/content-page-repository/transformContentPage.ts +26 -0
  294. package/src/content-page-repository/transformMarkdown.ts +10 -0
  295. package/src/content-page-repository/transformPicture.ts +61 -0
  296. package/src/cosmos.decorator.tsx +19 -0
  297. package/src/index.ts +19 -0
  298. package/src/mergeTopItems.spec.ts +20 -0
  299. package/src/mergeTopItems.ts +13 -0
  300. package/src/setup-fixture.ts +49 -0
  301. package/src/types.ts +109 -0
  302. package/src/ui-kit/BlockItem.fixture.tsx +5 -0
  303. package/src/ui-kit/BlockItem.tsx +36 -0
  304. package/src/ui-kit/Breadcrumb.tsx +26 -0
  305. package/src/ui-kit/Button.fixture.tsx +113 -0
  306. package/src/ui-kit/Button.tsx +66 -0
  307. package/src/ui-kit/HeaderItem.fixture.tsx +8 -0
  308. package/src/ui-kit/HeaderItem.tsx +25 -0
  309. package/src/ui-kit/LikeButton.fixture.tsx +6 -0
  310. package/src/ui-kit/LikeButton.tsx +41 -0
  311. package/src/ui-kit/Logo.fixture.tsx +5 -0
  312. package/src/ui-kit/Logo.tsx +35 -0
  313. package/src/ui-kit/SVG.tsx +32 -0
  314. package/src/ui-kit/SearchBar.tsx +33 -0
  315. package/src/ui-kit/TopItem.fixture.tsx +8 -0
  316. package/src/ui-kit/TopItem.tsx +37 -0
  317. package/src/useLink.ts +28 -0
  318. package/src/useSitemap.ts +17 -0
  319. package/src/utils/url.ts +22 -0
@@ -0,0 +1,295 @@
1
+ export const SignDocsIcon = (props?: Record<string, any>) => (
2
+ <svg
3
+ width={70}
4
+ height={70}
5
+ viewBox="0 0 70 70"
6
+ fill="none"
7
+ xmlns="http://www.w3.org/2000/svg"
8
+ {...props}
9
+ >
10
+ <path
11
+ d="M48.68 62.735c0-.164-.13-.328-.379-.484-2.303-1.028-9.625-1.771-18.3-1.771-10.528 0-19.067 1.106-19.067 2.463 0 .164.13.328.379.484 2.312 1.028 9.626 1.771 18.3 1.771 10.529 0 19.067-1.106 19.067-2.463z"
12
+ fill="#44384D"
13
+ />
14
+ <path
15
+ d="M48.68 62.735c0-.164-.13-.328-.379-.484-2.303-1.028-9.625-1.771-18.3-1.771-10.528 0-19.067 1.106-19.067 2.463 0 .164.13.328.379.484 2.312 1.028 9.626 1.771 18.3 1.771 10.529 0 19.067-1.106 19.067-2.463z"
16
+ fill="url(#paint0_linear_2530_3536)"
17
+ />
18
+ <path
19
+ d="M48.68 62.735c0-.164-.13-.328-.379-.484-2.303-1.028-9.625-1.771-18.3-1.771-10.528 0-19.067 1.106-19.067 2.463 0 .164.13.328.379.484 2.312 1.028 9.626 1.771 18.3 1.771 10.529 0 19.067-1.106 19.067-2.463z"
20
+ fill="#050304"
21
+ />
22
+ <path
23
+ d="M48.68 62.735c0-.164-.13-.328-.379-.484-2.303-1.028-9.625-1.771-18.3-1.771-10.528 0-19.067 1.106-19.067 2.463 0 .164.13.328.379.484 2.312 1.028 9.626 1.771 18.3 1.771 10.529 0 19.067-1.106 19.067-2.463z"
24
+ fill="url(#paint1_linear_2530_3536)"
25
+ />
26
+ <mask
27
+ id="mask0_2530_3536"
28
+ style={{
29
+ maskType: 'alpha',
30
+ }}
31
+ maskUnits="userSpaceOnUse"
32
+ x={11}
33
+ y={6}
34
+ width={44}
35
+ height={53}
36
+ >
37
+ <path d="M48.472 6.517l-36.92 4.995 6.413 47.389 36.92-4.996-6.413-47.388z" fill="#898989" />
38
+ </mask>
39
+ <g mask="url(#mask0_2530_3536)">
40
+ <path d="M48.472 6.517l-36.92 4.995 6.413 47.389 36.92-4.996-6.413-47.388z" fill="#B5E2FF" />
41
+ <path
42
+ d="M48.472 6.517l-36.92 4.995 6.413 47.389 36.92-4.996-6.413-47.388z"
43
+ fill="url(#paint2_linear_2530_3536)"
44
+ />
45
+ <path
46
+ d="M44.856 6.054l-37.94 8.913 11.462 48.788 37.94-8.913L44.856 6.054z"
47
+ fill="url(#paint3_linear_2530_3536)"
48
+ />
49
+ </g>
50
+ <mask
51
+ id="mask1_2530_3536"
52
+ style={{
53
+ maskType: 'alpha',
54
+ }}
55
+ maskUnits="userSpaceOnUse"
56
+ x={4}
57
+ y={6}
58
+ width={49}
59
+ height={56}
60
+ >
61
+ <path d="M40.93 6.178L4.854 15.481l11.94 46.303L52.87 52.48 40.93 6.178z" fill="#898989" />
62
+ </mask>
63
+ <g mask="url(#mask1_2530_3536)">
64
+ <path d="M40.93 6.178L4.854 15.48l11.94 46.303 36.075-9.302L40.93 6.178z" fill="#FFCA42" />
65
+ <path
66
+ d="M40.93 6.178L4.854 15.48l11.94 46.303 36.075-9.302L40.93 6.178z"
67
+ fill="url(#paint4_linear_2530_3536)"
68
+ />
69
+ <path
70
+ d="M54.89 57.13l-19.557 2.647 13.47-25.865 19.557-2.647L54.89 57.13zM7.798 35.507l-19.557 2.647L1.716 12.288l19.557-2.646L7.798 35.507zM30.94 63.24l-2.057.279 20.826-39.973 2.052-.278L30.94 63.24z"
71
+ fill="#fff"
72
+ />
73
+ <path
74
+ d="M36.521 14.436a.951.951 0 01-.552-.18 1.023 1.023 0 01-.382-.58l-1.863-7.228a.957.957 0 01.684-1.165l.91-.236a.995.995 0 01.651.037.952.952 0 01.552.642l.387 1.41-.453.119-.386-1.411a.487.487 0 00-.59-.35l-.953.246a.485.485 0 00-.35.59l1.878 7.27a.479.479 0 00.59.35l.217-.057a.479.479 0 00.35-.59L36.19 9.36a.235.235 0 01.17-.288.235.235 0 01.288.17l1.005 3.907a.993.993 0 01-.038.65.952.952 0 01-.642.553l-.217.056a.977.977 0 01-.236.029z"
75
+ fill="#44384D"
76
+ />
77
+ <path
78
+ d="M32.426 54.517s1.825-5.736 5.259-9.012c2.659-2.544-1.594 7.435.53 6.917 2.31-.565 7.318-8.608 3.844-6.457-3.075 1.904-1.273 5.236 3.238 3.903 4.942-1.458 7.74-3.03 9.264-3.961"
79
+ stroke="url(#paint5_linear_2530_3536)"
80
+ strokeWidth={0.9069}
81
+ strokeMiterlimit={10}
82
+ strokeLinecap="round"
83
+ />
84
+ </g>
85
+ <path
86
+ d="M38.593 19.345L13.34 25.856a.94.94 0 01-1.142-.674.94.94 0 01.675-1.142l25.247-6.511a.94.94 0 011.142.674.936.936 0 01-.67 1.142zm-8.172 6.97l-15.905 4.1a.94.94 0 01-1.142-.675.94.94 0 01.675-1.142l15.905-4.1a.94.94 0 011.141.674.942.942 0 01-.674 1.142zm9.346-2.412l-5.874 1.515a.94.94 0 01-1.142-.675.94.94 0 01.675-1.142l5.87-1.514a.94.94 0 011.141.674.936.936 0 01-.67 1.142zm1.175 4.558l-25.247 6.511a.94.94 0 01-1.142-.675.94.94 0 01.675-1.141l25.247-6.512a.94.94 0 011.142.675.942.942 0 01-.675 1.142zm-13.088 8.233L16.87 39.525a.94.94 0 01-1.142-.675.94.94 0 01.675-1.142l10.984-2.83a.938.938 0 01.467 1.816zm6.134-1.58l-2.661.688a.94.94 0 01-1.142-.674.94.94 0 01.675-1.142l2.66-.689a.94.94 0 011.142.675.933.933 0 01-.674 1.142zm8.13-2.095l-4.658 1.198a.94.94 0 01-1.142-.675.94.94 0 01.675-1.141l4.657-1.199a.94.94 0 011.142.675.942.942 0 01-.675 1.142zm-9.65 7.35l-14.423 3.718a.94.94 0 01-1.142-.674.94.94 0 01.675-1.142L32 38.553a.94.94 0 011.142.675.942.942 0 01-.675 1.142z"
87
+ fill="#44384D"
88
+ />
89
+ <path
90
+ d="M38.593 19.345L13.34 25.856a.94.94 0 01-1.142-.674.94.94 0 01.675-1.142l25.247-6.511a.94.94 0 011.142.674.936.936 0 01-.67 1.142zm-8.172 6.97l-15.905 4.1a.94.94 0 01-1.142-.675.94.94 0 01.675-1.142l15.905-4.1a.94.94 0 011.141.674.942.942 0 01-.674 1.142zm9.346-2.412l-5.874 1.515a.94.94 0 01-1.142-.675.94.94 0 01.675-1.142l5.87-1.514a.94.94 0 011.141.674.936.936 0 01-.67 1.142zm1.175 4.558l-25.247 6.511a.94.94 0 01-1.142-.675.94.94 0 01.675-1.141l25.247-6.512a.94.94 0 011.142.675.942.942 0 01-.675 1.142zm-13.088 8.233L16.87 39.525a.94.94 0 01-1.142-.675.94.94 0 01.675-1.142l10.984-2.83a.938.938 0 01.467 1.816zm6.134-1.58l-2.661.688a.94.94 0 01-1.142-.674.94.94 0 01.675-1.142l2.66-.689a.94.94 0 011.142.675.933.933 0 01-.674 1.142zm8.13-2.095l-4.658 1.198a.94.94 0 01-1.142-.675.94.94 0 01.675-1.141l4.657-1.199a.94.94 0 011.142.675.942.942 0 01-.675 1.142zm-9.65 7.35l-14.423 3.718a.94.94 0 01-1.142-.674.94.94 0 01.675-1.142L32 38.553a.94.94 0 011.142.675.942.942 0 01-.675 1.142z"
91
+ fill="#42AB44"
92
+ />
93
+ <path
94
+ fillRule="evenodd"
95
+ clipRule="evenodd"
96
+ d="M11.803 19.924l7.549-1.949a.934.934 0 00.67-1.142.94.94 0 00-1.142-.674l-7.544 1.948a.94.94 0 00-.675 1.142.94.94 0 001.142.675zM21.14 56.1l4.303-1.108a.942.942 0 00.675-1.142.94.94 0 00-1.142-.675l-4.303 1.109a.94.94 0 00-.675 1.142.94.94 0 001.142.674zm-1.17-4.558l7.544-1.948a.934.934 0 00.67-1.142.94.94 0 00-1.141-.675l-7.545 1.949a.94.94 0 00-.675 1.142c.133.5.642.802 1.147.674z"
97
+ fill="#44384D"
98
+ />
99
+ <path
100
+ d="M32.426 54.518s1.57-6.798 5.228-10.905c2.833-3.188-1.143 8.74 1.264 7.941 2.614-.87 7.645-10.631 3.833-7.82-3.374 2.488-.979 6.169 4.107 4.205 5.573-2.149 8.657-4.227 10.33-5.447"
101
+ stroke="#44384D"
102
+ strokeWidth={0.9069}
103
+ strokeMiterlimit={10}
104
+ strokeLinecap="round"
105
+ />
106
+ <path
107
+ d="M32.426 54.518s1.57-6.798 5.228-10.905c2.833-3.188-1.143 8.74 1.264 7.941 2.614-.87 7.645-10.631 3.833-7.82-3.374 2.488-.979 6.169 4.107 4.205 5.573-2.149 8.657-4.227 10.33-5.447"
108
+ stroke="url(#paint6_linear_2530_3536)"
109
+ strokeWidth={0.9069}
110
+ strokeMiterlimit={10}
111
+ strokeLinecap="round"
112
+ />
113
+ <path
114
+ d="M53.932 42.192l.707.189s-.632 1.864-.863 1.802c-.231-.061.156-1.99.156-1.99z"
115
+ fill="#0057D6"
116
+ />
117
+ <path
118
+ d="M57.65 23.55l3.109.835c.09.024.141.114.118.203-2.157 7.998-5.082 15.745-5.823 17.675a.548.548 0 01-.65.33l-.369-.1a.546.546 0 01-.4-.608c.32-2.038 1.674-10.21 3.812-18.212a.167.167 0 01.203-.123z"
119
+ fill="#44384D"
120
+ />
121
+ <path
122
+ d="M57.65 23.55l3.109.835c.09.024.141.114.118.203-2.157 7.998-5.082 15.745-5.823 17.675a.548.548 0 01-.65.33l-.369-.1a.546.546 0 01-.4-.608c.32-2.038 1.674-10.21 3.812-18.212a.167.167 0 01.203-.123z"
123
+ fill="url(#paint7_linear_2530_3536)"
124
+ />
125
+ <path
126
+ d="M53.931 42.192c.368.103.86-1.661 1.472-3.563 1.142-3.538 3.067-11.54 3.265-12.323.232-.906.208-1.18-.236-1.322a8.32 8.32 0 00-.91-.245c-.26-.057-.406.175-.453.377-.028.123-1.194 3.945-2.156 8.583-.481 2.326-1.015 5.459-1.123 7.228-.156.953-.16 1.18.141 1.265z"
127
+ fill="#B5E2FF"
128
+ />
129
+ <path
130
+ d="M53.931 42.192c.368.103.86-1.661 1.472-3.563 1.142-3.538 3.067-11.54 3.265-12.323.232-.906.208-1.18-.236-1.322a8.32 8.32 0 00-.91-.245c-.26-.057-.406.175-.453.377-.028.123-1.194 3.945-2.156 8.583-.481 2.326-1.015 5.459-1.123 7.228-.156.953-.16 1.18.141 1.265z"
131
+ fill="url(#paint8_linear_2530_3536)"
132
+ />
133
+ <path
134
+ d="M63.23 7.108l.925.25a.178.178 0 01.128.222l-.09.335-1.274-.34.09-.335a.186.186 0 01.222-.132z"
135
+ fill="#7DC15D"
136
+ />
137
+ <path
138
+ d="M62.938 7.301l1.378.368c.278.076.453.35.396.633-.377 1.85-1.77 8.549-3.543 15.188a.165.165 0 01-.203.117l-3.11-.835a.165.165 0 01-.117-.203c1.788-6.633 3.935-13.13 4.539-14.923a.55.55 0 01.66-.345z"
139
+ fill="#44384D"
140
+ />
141
+ <path
142
+ d="M62.938 7.301l1.378.368c.278.076.453.35.396.633-.377 1.85-1.77 8.549-3.543 15.188a.165.165 0 01-.203.117l-3.11-.835a.165.165 0 01-.117-.203c1.788-6.633 3.935-13.13 4.539-14.923a.55.55 0 01.66-.345z"
143
+ fill="url(#paint9_linear_2530_3536)"
144
+ />
145
+ <path
146
+ d="M62.405 8.198c.146-.41.269-.585.477-.538l.302.08c.198.07.23.236.108.731-.075.302-3.293 12.791-3.416 13.178-.222.717-.533.982-.92.897l-.264-.076c-.27-.085-.444-.377-.27-1.118.161-.67 3.804-12.65 3.983-13.154z"
147
+ fill="#B5E2FF"
148
+ />
149
+ <path
150
+ d="M62.405 8.198c.146-.41.269-.585.477-.538l.302.08c.198.07.23.236.108.731-.075.302-3.293 12.791-3.416 13.178-.222.717-.533.982-.92.897l-.264-.076c-.27-.085-.444-.377-.27-1.118.161-.67 3.804-12.65 3.983-13.154z"
151
+ fill="url(#paint10_linear_2530_3536)"
152
+ />
153
+ <path d="M60.894 23.597l-2.967-.796-.208.774 2.967.797.208-.775z" fill="#7DC15D" />
154
+ <path d="M60.89 23.594l-1.298-.348-.208.774 1.299.349.208-.775z" fill="#44384D" />
155
+ <path
156
+ d="M60.05 21.724c.34.09 2.086-6.133 2.799-8.785.712-2.647 1.005-3.75.599-3.86-.41-.108-.609.638-1.416 3.643-.811 3.006-2.326 8.913-1.981 9.002z"
157
+ fill="#fff"
158
+ />
159
+ <path
160
+ d="M55.007 37.493c-.212-.052-.09-1.288.269-2.755.363-1.468.825-2.619 1.043-2.567.212.052.09 1.288-.27 2.755-.363 1.468-.83 2.619-1.042 2.567zm1.972-6.738c.1-.405.052-.764-.113-.806-.165-.043-.373.254-.472.66-.099.406-.052.764.113.807.165.042.368-.26.472-.66z"
161
+ fill="#FEFFCF"
162
+ />
163
+ <path
164
+ d="M36.163 14.232a.95.95 0 01-.552-.179 1.023 1.023 0 01-.382-.58L33.36 6.24a.957.957 0 01.684-1.166l.91-.235a.995.995 0 01.651.037.952.952 0 01.552.642l.458 1.765-.453.118-.457-1.765a.487.487 0 00-.59-.35l-.949.246a.484.484 0 00-.349.59l1.878 7.27a.479.479 0 00.59.35l.217-.057a.48.48 0 00.35-.59l-1.02-3.944a.235.235 0 01.17-.288.235.235 0 01.288.17l1.005 3.907c.056.217.051.448-.033.65a.952.952 0 01-.642.553l-.217.056a1.06 1.06 0 01-.24.034z"
165
+ fill="#fff"
166
+ />
167
+ <defs>
168
+ <linearGradient
169
+ id="paint0_linear_2530_3536"
170
+ x1={10.9343}
171
+ y1={62.839}
172
+ x2={48.6798}
173
+ y2={62.839}
174
+ gradientUnits="userSpaceOnUse"
175
+ >
176
+ <stop stopColor="#7DC15D" />
177
+ <stop offset={0.310237} stopColor="#7DC15D" stopOpacity={0} />
178
+ <stop offset={0.666057} stopColor="#0057D6" stopOpacity={0} />
179
+ <stop offset={1} stopColor="#0057D6" />
180
+ </linearGradient>
181
+ <linearGradient
182
+ id="paint1_linear_2530_3536"
183
+ x1={48.6798}
184
+ y1={65.1981}
185
+ x2={10.9749}
186
+ y2={65.1981}
187
+ gradientUnits="userSpaceOnUse"
188
+ >
189
+ <stop stopColor="#04D600" />
190
+ <stop offset={0.296875} stopColor="#00D63C" stopOpacity={0} />
191
+ <stop offset={0.832638} stopColor="#FA552D" stopOpacity={0} />
192
+ <stop offset={1} stopColor="#FA552D" />
193
+ </linearGradient>
194
+ <linearGradient
195
+ id="paint2_linear_2530_3536"
196
+ x1={30.012}
197
+ y1={9.01452}
198
+ x2={33.2182}
199
+ y2={32.7086}
200
+ gradientUnits="userSpaceOnUse"
201
+ >
202
+ <stop stopColor="#7DC15D" />
203
+ <stop offset={1} stopColor="#7DC15D" stopOpacity={0} />
204
+ </linearGradient>
205
+ <linearGradient
206
+ id="paint3_linear_2530_3536"
207
+ x1={27.9995}
208
+ y1={-51.7159}
209
+ x2={11.6386}
210
+ y2={-45.8937}
211
+ gradientUnits="userSpaceOnUse"
212
+ >
213
+ <stop stopColor="#42AB44" />
214
+ <stop offset={1} stopColor="#201B37" />
215
+ </linearGradient>
216
+ <linearGradient
217
+ id="paint4_linear_2530_3536"
218
+ x1={11.8784}
219
+ y1={21.7912}
220
+ x2={52.9266}
221
+ y2={52.6953}
222
+ gradientUnits="userSpaceOnUse"
223
+ >
224
+ <stop stopColor="#FEFFCF" />
225
+ <stop offset={1} stopColor="#FEFFCF" stopOpacity={0} />
226
+ </linearGradient>
227
+ <linearGradient
228
+ id="paint5_linear_2530_3536"
229
+ x1={32.4264}
230
+ y1={54.6306}
231
+ x2={51.4241}
232
+ y2={47.5083}
233
+ gradientUnits="userSpaceOnUse"
234
+ >
235
+ <stop stopColor="#0057D6" />
236
+ <stop offset={1} stopColor="#0057D6" stopOpacity={0} />
237
+ </linearGradient>
238
+ <linearGradient
239
+ id="paint6_linear_2530_3536"
240
+ x1={51.1952}
241
+ y1={45.1167}
242
+ x2={38.8905}
243
+ y2={51.6792}
244
+ gradientUnits="userSpaceOnUse"
245
+ >
246
+ <stop stopColor="#FA552D" />
247
+ <stop offset={1} stopColor="#FA552D" stopOpacity={0} />
248
+ </linearGradient>
249
+ <linearGradient
250
+ id="paint7_linear_2530_3536"
251
+ x1={54.766}
252
+ y1={42.6112}
253
+ x2={58.176}
254
+ y2={30.8556}
255
+ gradientUnits="userSpaceOnUse"
256
+ >
257
+ <stop stopColor="#0057D6" />
258
+ <stop offset={1} stopColor="#0057D6" stopOpacity={0} />
259
+ </linearGradient>
260
+ <linearGradient
261
+ id="paint8_linear_2530_3536"
262
+ x1={58.3815}
263
+ y1={24.9812}
264
+ x2={55.6617}
265
+ y2={37.2894}
266
+ gradientUnits="userSpaceOnUse"
267
+ >
268
+ <stop stopColor="#7DC15D" />
269
+ <stop offset={1} stopColor="#7DC15D" stopOpacity={0} />
270
+ </linearGradient>
271
+ <linearGradient
272
+ id="paint9_linear_2530_3536"
273
+ x1={60.4212}
274
+ y1={23.4514}
275
+ x2={60.8915}
276
+ y2={21.6372}
277
+ gradientUnits="userSpaceOnUse"
278
+ >
279
+ <stop stopColor="#0057D6" />
280
+ <stop offset={1} stopColor="#0057D6" stopOpacity={0} />
281
+ </linearGradient>
282
+ <linearGradient
283
+ id="paint10_linear_2530_3536"
284
+ x1={58.6819}
285
+ y1={22.3036}
286
+ x2={62.2279}
287
+ y2={10.5717}
288
+ gradientUnits="userSpaceOnUse"
289
+ >
290
+ <stop stopColor="#7DC15D" />
291
+ <stop offset={1} stopColor="#7DC15D" stopOpacity={0} />
292
+ </linearGradient>
293
+ </defs>
294
+ </svg>
295
+ );
@@ -0,0 +1,8 @@
1
+ export const TelegramIcon = (props?: Record<string, any>) => (
2
+ <svg width="20" height="16" fill="none" {...props}>
3
+ <path
4
+ d="M1.226 6.968s8.846-3.512 11.913-4.749c1.177-.495 5.165-2.078 5.165-2.078s1.84-.692 1.687.99c-.051.692-.46 3.116-.87 5.738-.613 3.71-1.278 7.767-1.278 7.767s-.102 1.138-.971 1.336c-.87.197-2.3-.693-2.556-.891-.205-.148-3.835-2.374-5.165-3.463-.358-.297-.767-.89.051-1.583 1.841-1.632 4.04-3.66 5.37-4.947.613-.593 1.226-1.979-1.33-.297-3.63 2.424-7.21 4.7-7.21 4.7s-.818.495-2.352.05C2.146 9.094.357 8.5.357 8.5s-1.227-.741.87-1.533Z"
5
+ fill="#1C1C1C"
6
+ />
7
+ </svg>
8
+ );
@@ -0,0 +1,10 @@
1
+ export const VKIcon = (props?: Record<string, any>) => (
2
+ <svg width="24" height="12" fill="none" {...props}>
3
+ <path
4
+ fillRule="evenodd"
5
+ clipRule="evenodd"
6
+ d="M23.45.813c.166-.468 0-.813-.796-.813H20.03c-.668 0-.976.297-1.143.626 0 0-1.335 2.74-3.226 4.519-.612.516-.89.68-1.224.68-.167 0-.418-.164-.418-.633V.812c0-.562-.184-.812-.74-.812H9.15c-.417 0-.668.26-.668.508 0 .533.946.656 1.043 2.154v3.256c0 .714-.153.843-.487.843-.89 0-3.055-2.752-4.34-5.901C4.449.247 4.198 0 3.527 0H.9C.15 0 0 .297 0 .626c0 .584.89 3.488 4.145 7.33C6.315 10.577 9.37 12 12.153 12c1.669 0 1.875-.315 1.875-.86V9.158c0-.632.158-.758.687-.758.39 0 1.057.165 2.615 1.429C19.11 11.328 19.403 12 20.405 12h2.624c.75 0 1.127-.315.91-.94-.238-.62-1.087-1.52-2.215-2.59-.611-.608-1.53-1.264-1.808-1.592-.39-.421-.278-.609 0-.983 0 0 3.2-3.794 3.532-5.082h.002Z"
7
+ fill="#1C1C1C"
8
+ />
9
+ </svg>
10
+ );
@@ -0,0 +1,17 @@
1
+ export { ActualBalanceIcon } from './ActualBalanceIcon';
2
+ export { CalendarIcon } from './CalendarIcon';
3
+ export { ClockIcon } from './ClockIcon';
4
+ export { ComfortableCompIcon } from './ComfortableCompIcon';
5
+ export { DollarIcon } from './DollarIcon';
6
+ export { EmptyWalletIcon } from './EmptyWalletIcon';
7
+ export { EuroIcon } from './EuroIcon';
8
+ export { GridIcon } from './GridIcon';
9
+ export { LoupeIcon } from './LoupeIcon';
10
+ export { NewDocIcon } from './NewDocIcon';
11
+ export { OkIcon } from './OkIcon';
12
+ export { PassSendIcon } from './PassSendIcon';
13
+ export { PercentageSquareIcon } from './PercentageSquareIcon';
14
+ export { ProfileIcon } from './ProfileIcon';
15
+ export { SignDocsIcon } from './SignDocsIcon';
16
+ export { TelegramIcon } from './TelegramIcon';
17
+ export { VKIcon } from './VKIcon';
package/src/Img.tsx ADDED
@@ -0,0 +1,22 @@
1
+ import { JSX } from '@redneckz/uni-jsx';
2
+ import type { Picture, ImgSource } from './types';
3
+
4
+ export interface TextWithImageProps {
5
+ className?: string;
6
+ image: Picture;
7
+ }
8
+
9
+ export const Img = JSX<TextWithImageProps>(({ className, image }) => (
10
+ <picture className={`${className || ''}`}>
11
+ {image.sources?.length
12
+ ? image.sources.map(({ src, format }, index) => (
13
+ <source key={`${index}_${src}`} srcSet={src} type={formatToMimeType(format)} />
14
+ ))
15
+ : null}
16
+ <img src={image.src} alt={image.alt || image.title} title={image.title} {...image?.size} />
17
+ </picture>
18
+ ));
19
+
20
+ export function formatToMimeType(format: ImgSource['format']): string | undefined {
21
+ return format ? `image/${String(format)}` : undefined;
22
+ }
@@ -0,0 +1,5 @@
1
+ import { context } from './setup-fixture';
2
+
3
+ import { LikeControl } from './LikeControl';
4
+
5
+ export default <LikeControl context={context} />;
@@ -0,0 +1,23 @@
1
+ import { JSX } from '@redneckz/uni-jsx';
2
+ import { LikeButton } from './ui-kit/LikeButton';
3
+ import type { UniBlockProps } from './types';
4
+
5
+ export const LikeControl = JSX<UniBlockProps>(({ className, context }) => {
6
+ const likeService = context.useLikeService();
7
+
8
+ return (
9
+ <div
10
+ className={`border-main border-2 border-solid bg-white flex w-[125px] items-center justify-center gap-3 p-2 font-sans ${
11
+ className || ''
12
+ }`}
13
+ >
14
+ <LikeButton onClick={likeService.like} ariaLabel="Поставить отметку «лайк»" />
15
+ <LikeButton
16
+ onClick={likeService.dislike}
17
+ className="rotate-180"
18
+ ariaLabel="Поставить отметку «дизлайк»"
19
+ />
20
+ <span className="select-none">{likeService.likeCount}</span>
21
+ </div>
22
+ );
23
+ });
@@ -0,0 +1,15 @@
1
+ import { context } from './setup-fixture';
2
+
3
+ import { MobileAppTile } from './MobileAppTile';
4
+
5
+ export default {
6
+ default: (
7
+ <div className="grid grid-cols-12">
8
+ <MobileAppTile
9
+ context={context}
10
+ className="col-span-4"
11
+ qr="data:image/jpeg;base64,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"
12
+ />
13
+ </div>
14
+ ),
15
+ };
@@ -0,0 +1,34 @@
1
+ import { JSX } from '@redneckz/uni-jsx';
2
+ import { Tile } from './Tile';
3
+ import type { UniBlockProps } from './types';
4
+
5
+ export interface MobileAppTileContent {
6
+ title?: string;
7
+ qr?: string;
8
+ }
9
+
10
+ export interface MobileAppTileProps extends MobileAppTileContent, UniBlockProps {}
11
+
12
+ export const MobileAppTile = JSX<MobileAppTileProps>(
13
+ ({ className, context, title = 'Мобильное приложение', qr }) => {
14
+ return (
15
+ <Tile className={className} context={context} title={title}>
16
+ <div className="flex items-center">
17
+ {qr && (
18
+ <img
19
+ src={qr}
20
+ alt={title}
21
+ title={title}
22
+ width="90"
23
+ height="90"
24
+ className="w-[90px] h-[90px] bg-secondary-light"
25
+ />
26
+ )}
27
+ <span className="font-normal text-sm text-secondary-text ml-4">
28
+ Наведите камеру телефона на QR-код и скачайте приложение
29
+ </span>
30
+ </div>
31
+ </Tile>
32
+ );
33
+ },
34
+ );
@@ -0,0 +1,5 @@
1
+ import { context } from './setup-fixture';
2
+
3
+ import { Placeholder } from './Placeholder';
4
+
5
+ export default <Placeholder context={context} title="Неизвестный блок" />;
@@ -0,0 +1,33 @@
1
+ import { JSX } from '@redneckz/uni-jsx';
2
+ import { Tile } from './Tile';
3
+ import type { UniBlockProps } from './types';
4
+
5
+ export interface PlaceholderContent {
6
+ title?: string;
7
+ }
8
+
9
+ export interface PlaceholderProps extends PlaceholderContent, UniBlockProps {
10
+ className?: string;
11
+ }
12
+
13
+ const GOLDEN_RATIO = 1.618;
14
+
15
+ export const Placeholder = JSX<PlaceholderProps>(({ className, context, title }) => {
16
+ return (
17
+ <Tile className={className} context={context} title={title}>
18
+ <figure className="m-0 min-w-[600px]">{renderShimmer()}</figure>
19
+ </Tile>
20
+ );
21
+ });
22
+
23
+ const renderShimmer = (size: number = 3) =>
24
+ goldenSequence(100, size)
25
+ .map((_) => Math.floor(_))
26
+ .map(renderShimmerItem);
27
+
28
+ const renderShimmerItem = (width: number = 100, index: number) => (
29
+ <div key={String(index)} style={{ width: `${width}%` }} className="h-4 mt-2 bg-secondary-light" />
30
+ );
31
+
32
+ const goldenSequence = (first: number, size: number): number[] =>
33
+ [first].concat(size > 0 ? goldenSequence(first / GOLDEN_RATIO, size - 1) : []);
@@ -0,0 +1,95 @@
1
+ import { context } from './setup-fixture';
2
+
3
+ import { ProductBlock } from './ProductBlock';
4
+ import { Picture } from './types';
5
+
6
+ const image: Picture = {
7
+ src: 'money-1.png',
8
+ format: 'webp',
9
+ size: {
10
+ width: 300,
11
+ height: 300,
12
+ },
13
+ };
14
+
15
+ export default {
16
+ default: (
17
+ <ProductBlock
18
+ context={context}
19
+ title={'Потребительский кредит наличными'}
20
+ description="Кредит наличными без залога и поручительства. Потребительский кредит на любые цели. Нужен только паспорт."
21
+ breadcrumbs={[
22
+ {
23
+ text: 'Главная',
24
+ href: '/',
25
+ },
26
+ {
27
+ text: 'Кредитные карты',
28
+ href: '/credit',
29
+ },
30
+ {
31
+ text: 'Кредитная карта Своя Union Pay',
32
+ },
33
+ ]}
34
+ benefits={[
35
+ {
36
+ label: 'До 5 млн ₽',
37
+ description: 'Кредитный лимит',
38
+ icon: 'EmptyWalletIcon',
39
+ },
40
+ {
41
+ label: 'От 16,9%',
42
+ description: 'Ставка по кредиту',
43
+ icon: 'PercentageSquareIcon',
44
+ },
45
+ {
46
+ label: 'До 5 лет',
47
+ description: 'Срок кредитования',
48
+ icon: 'CalendarIcon',
49
+ },
50
+ ]}
51
+ buttons={[
52
+ {
53
+ href: 'https://rshb.ru',
54
+ text: 'Оформить карту',
55
+ target: '_blank',
56
+ version: 'primary',
57
+ },
58
+ {
59
+ href: 'https://rshb.ru',
60
+ text: 'Подробнее',
61
+ target: '_blank',
62
+ version: 'secondary',
63
+ },
64
+ ]}
65
+ image={image}
66
+ />
67
+ ),
68
+ 'with items': (
69
+ <ProductBlock
70
+ context={context}
71
+ title={'Оплата проходит \nв 180 странах мира'}
72
+ breadcrumbs={[]}
73
+ items={[
74
+ 'Совершайте любые личные покупки',
75
+ 'Используйте корпоративную карту как обычную дебетовую, если вы ИП',
76
+ 'Расходы для бизнеса на УСН 15% позволят снизить налоговую базу',
77
+ ]}
78
+ buttons={[
79
+ {
80
+ href: 'https://rshb.ru',
81
+ text: 'Оформить карту',
82
+ target: '_blank',
83
+ version: 'primary',
84
+ },
85
+ {
86
+ href: 'https://rshb.ru',
87
+ text: 'Подробнее',
88
+ target: '_blank',
89
+ version: 'secondary',
90
+ },
91
+ ]}
92
+ image={image}
93
+ />
94
+ ),
95
+ };
@@ -0,0 +1,15 @@
1
+ import { JSX } from '@redneckz/uni-jsx';
2
+ import { ProductBlockInner } from './ProductBlockInner';
3
+ import type { ProductBlockInnerContent } from './ProductBlockInner';
4
+ import type { UniBlockProps } from './types';
5
+
6
+ export interface ProductBlockProps extends ProductBlockInnerContent, UniBlockProps {}
7
+
8
+ export const ProductBlock = JSX<ProductBlockProps>((props) => {
9
+ const className = props.className;
10
+ return (
11
+ <section className={`bg-white p-11 pr-[7.5rem] ${className || ''}`}>
12
+ <ProductBlockInner {...props} />
13
+ </section>
14
+ );
15
+ });