@redneckz/wildless-cms-uni-blocks 0.2.85 → 0.2.88

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 (342) hide show
  1. package/bundle/blocks.schema.json +1 -945
  2. package/bundle/bundle.umd.js +551 -487
  3. package/bundle/bundle.umd.min.js +1 -1
  4. package/dist/components/Accordion/Accordion.js +1 -1
  5. package/dist/components/Accordion/Accordion.js.map +1 -1
  6. package/dist/components/Accordion/AccordionBlocks.d.ts +3 -0
  7. package/dist/components/Accordion/AccordionBlocks.js +6 -0
  8. package/dist/components/Accordion/AccordionBlocks.js.map +1 -1
  9. package/dist/components/Accordion/AccordionContent.d.ts +37 -10
  10. package/dist/components/Accordion/AccordionItem.d.ts +2 -2
  11. package/dist/components/Accordion/AccordionItem.js +5 -6
  12. package/dist/components/Accordion/AccordionItem.js.map +1 -1
  13. package/dist/components/BaseTile/BaseTile.d.ts +2 -2
  14. package/dist/components/BaseTile/BaseTile.js +14 -4
  15. package/dist/components/BaseTile/BaseTile.js.map +1 -1
  16. package/dist/components/BaseTile/BaseTileProps.d.ts +41 -0
  17. package/dist/{model/SitemapContent.js → components/BaseTile/BaseTileProps.js} +1 -1
  18. package/dist/components/BaseTile/BaseTileProps.js.map +1 -0
  19. package/dist/components/BenefitsBlock/BenefitsBlock.d.ts +1 -1
  20. package/dist/components/BenefitsBlock/BenefitsBlock.js +2 -1
  21. package/dist/components/BenefitsBlock/BenefitsBlock.js.map +1 -1
  22. package/dist/components/BenefitsBlock/BenefitsBlockContent.d.ts +14 -1
  23. package/dist/components/BlockContent.d.ts +7 -2
  24. package/dist/components/Blocks.d.ts +17 -14
  25. package/dist/components/Blocks.js +23 -17
  26. package/dist/components/Blocks.js.map +1 -1
  27. package/dist/components/ComparisonTable/ComparisonTableContent.d.ts +45 -2
  28. package/dist/components/ComparisonTable/HeaderCell.d.ts +2 -2
  29. package/dist/components/ContentPage/ContentPage.d.ts +3 -2
  30. package/dist/components/ContentPage/ContentPage.js.map +1 -1
  31. package/dist/components/CreditCalculator/CreditCalculatorContent.d.ts +4 -0
  32. package/dist/components/ExchangeRateTile/ExchangeRateTile.d.ts +1 -1
  33. package/dist/components/ExchangeRateTile/ExchangeRateTile.js +1 -1
  34. package/dist/components/ExchangeRateTile/ExchangeRateTile.js.map +1 -1
  35. package/dist/components/ExchangeRateTile/ExchangeRateTileContent.d.ts +4 -0
  36. package/dist/components/Footer/Contacts.js +2 -2
  37. package/dist/components/Footer/Contacts.js.map +1 -1
  38. package/dist/components/Footer/FooterContent.d.ts +35 -9
  39. package/dist/components/Footer/FooterLink.d.ts +2 -2
  40. package/dist/components/Footer/HorizontalNavigation.js.map +1 -1
  41. package/dist/components/Footer/Sitemap.d.ts +1 -1
  42. package/dist/components/Footer/Sitemap.js +1 -1
  43. package/dist/components/Footer/Sitemap.js.map +1 -1
  44. package/dist/components/Footer/SocialMedia.d.ts +2 -2
  45. package/dist/components/Footer/TextInformation.js.map +1 -1
  46. package/dist/components/Gallery/GalleryContent.d.ts +13 -0
  47. package/dist/components/Header/HeaderContent.d.ts +10 -2
  48. package/dist/components/Header/isSubItemActive.d.ts +2 -2
  49. package/dist/components/Header/isSubItemActive.js.map +1 -1
  50. package/dist/components/Header/isTopItemActive.d.ts +2 -2
  51. package/dist/components/Header/isTopItemActive.js.map +1 -1
  52. package/dist/components/Headline/Headline.d.ts +5 -0
  53. package/dist/components/Headline/Headline.js +9 -0
  54. package/dist/components/Headline/Headline.js.map +1 -0
  55. package/dist/components/Headline/HeadlineContent.d.ts +15 -0
  56. package/dist/components/{BaseTile/BaseTileContent.js → Headline/HeadlineContent.js} +1 -1
  57. package/dist/components/Headline/HeadlineContent.js.map +1 -0
  58. package/dist/components/LinkDocs/LinkDocs.d.ts +5 -0
  59. package/dist/components/LinkDocs/LinkDocs.js +42 -0
  60. package/dist/components/LinkDocs/LinkDocs.js.map +1 -0
  61. package/dist/components/LinkDocs/LinkDocsContent.d.ts +23 -0
  62. package/dist/components/LinkDocs/LinkDocsContent.js +2 -0
  63. package/dist/components/LinkDocs/LinkDocsContent.js.map +1 -0
  64. package/dist/components/MiniGallery/MiniGallery.d.ts +3 -3
  65. package/dist/components/MiniGallery/MiniGalleryContent.d.ts +6 -0
  66. package/dist/components/MiniGallery/MiniGalleryContent.js +2 -0
  67. package/dist/components/MiniGallery/MiniGalleryContent.js.map +1 -0
  68. package/dist/components/MobileAppTile/MobileAppTileContent.d.ts +11 -2
  69. package/dist/components/MobileBlocks.d.ts +8 -6
  70. package/dist/components/MobileBlocks.js +10 -6
  71. package/dist/components/MobileBlocks.js.map +1 -1
  72. package/dist/components/PictureText/PictureText.d.ts +5 -0
  73. package/dist/components/PictureText/PictureText.js +14 -0
  74. package/dist/components/PictureText/PictureText.js.map +1 -0
  75. package/dist/components/PictureText/PictureTextContent.d.ts +11 -0
  76. package/dist/components/PictureText/PictureTextContent.js +2 -0
  77. package/dist/components/PictureText/PictureTextContent.js.map +1 -0
  78. package/dist/components/Placeholder/PlaceholderContent.d.ts +3 -0
  79. package/dist/components/ProductBlock/ProductBlock.mobile.d.ts +2 -2
  80. package/dist/components/ProductBlock/ProductBlock.mobile.js.map +1 -1
  81. package/dist/components/ProductBlock/ProductBlockContent.d.ts +10 -5
  82. package/dist/components/ProductBlock/ProductBlockInner.d.ts +2 -2
  83. package/dist/components/ProductBlock/ProductBlockInner.js +1 -1
  84. package/dist/components/ProductBlock/ProductBlockInner.js.map +1 -1
  85. package/dist/components/ProductGallery/ProductGallery.d.ts +1 -1
  86. package/dist/components/ProductGallery/ProductGallery.js.map +1 -1
  87. package/dist/components/ProductGallery/ProductGalleryContent.d.ts +19 -4
  88. package/dist/components/ProductTile/ProductTileContent.d.ts +6 -2
  89. package/dist/components/PromoTile/PromoTileContent.d.ts +6 -2
  90. package/dist/components/StepsBlock/StepsBlockContent.d.ts +13 -0
  91. package/dist/components/TextBlock/TextBlockContent.d.ts +13 -0
  92. package/dist/components/Tile/TileContent.d.ts +5 -2
  93. package/dist/hooks/useLink.d.ts +3 -3
  94. package/dist/hooks/useLink.js.map +1 -1
  95. package/dist/index.d.ts +12 -12
  96. package/dist/index.js +10 -10
  97. package/dist/index.js.map +1 -1
  98. package/dist/mergeTopItems.d.ts +2 -2
  99. package/dist/mergeTopItems.js.map +1 -1
  100. package/dist/model/BlockVersion.d.ts +4 -0
  101. package/dist/model/ButtonVersion.d.ts +4 -0
  102. package/dist/model/LinkProps.d.ts +21 -0
  103. package/dist/model/{LinkContent.js → LinkProps.js} +1 -1
  104. package/dist/model/LinkProps.js.map +1 -0
  105. package/dist/model/Picture.d.ts +11 -0
  106. package/dist/model/SitemapProps.d.ts +13 -0
  107. package/dist/model/SitemapProps.js +2 -0
  108. package/dist/model/SitemapProps.js.map +1 -0
  109. package/dist/types.d.ts +2 -2
  110. package/dist/ui-kit/Breadcrumb.d.ts +2 -2
  111. package/dist/ui-kit/Button/Button.d.ts +6 -3
  112. package/dist/ui-kit/Button/Button.js.map +1 -1
  113. package/dist/ui-kit/Button/ButtonProps.d.ts +15 -12
  114. package/dist/ui-kit/Icon/IconProps.d.ts +53 -18
  115. package/dist/ui-kit/Icon/IconProps.js +23 -18
  116. package/dist/ui-kit/Icon/IconProps.js.map +1 -1
  117. package/dist/ui-kit/TopItem/TopItem.d.ts +2 -2
  118. package/lib/common.css +1 -1
  119. package/lib/components/Accordion/Accordion.fixture.d.ts +1 -0
  120. package/lib/components/Accordion/Accordion.js +1 -1
  121. package/lib/components/Accordion/Accordion.js.map +1 -1
  122. package/lib/components/Accordion/AccordionBlocks.d.ts +3 -0
  123. package/lib/components/Accordion/AccordionBlocks.js +6 -0
  124. package/lib/components/Accordion/AccordionBlocks.js.map +1 -1
  125. package/lib/components/Accordion/AccordionContent.d.ts +37 -10
  126. package/lib/components/Accordion/AccordionItem.d.ts +2 -2
  127. package/lib/components/Accordion/AccordionItem.js +5 -6
  128. package/lib/components/Accordion/AccordionItem.js.map +1 -1
  129. package/lib/components/BaseTile/BaseTile.d.ts +2 -2
  130. package/lib/components/BaseTile/BaseTile.js +14 -4
  131. package/lib/components/BaseTile/BaseTile.js.map +1 -1
  132. package/lib/components/BaseTile/BaseTileProps.d.ts +41 -0
  133. package/lib/components/BaseTile/BaseTileProps.js +2 -0
  134. package/lib/components/BaseTile/BaseTileProps.js.map +1 -0
  135. package/lib/components/BenefitsBlock/BenefitsBlock.d.ts +1 -1
  136. package/lib/components/BenefitsBlock/BenefitsBlock.js +2 -1
  137. package/lib/components/BenefitsBlock/BenefitsBlock.js.map +1 -1
  138. package/lib/components/BenefitsBlock/BenefitsBlockContent.d.ts +14 -1
  139. package/lib/components/BlockContent.d.ts +7 -2
  140. package/lib/components/Blocks.d.ts +17 -14
  141. package/lib/components/Blocks.js +23 -17
  142. package/lib/components/Blocks.js.map +1 -1
  143. package/lib/components/ComparisonTable/ComparisonTableContent.d.ts +45 -2
  144. package/lib/components/ComparisonTable/HeaderCell.d.ts +2 -2
  145. package/lib/components/ContentPage/ContentPage.d.ts +3 -2
  146. package/lib/components/ContentPage/ContentPage.js.map +1 -1
  147. package/lib/components/CreditCalculator/CreditCalculatorContent.d.ts +4 -0
  148. package/lib/components/ExchangeRateTile/ExchangeRateTile.d.ts +1 -1
  149. package/lib/components/ExchangeRateTile/ExchangeRateTile.js +1 -1
  150. package/lib/components/ExchangeRateTile/ExchangeRateTile.js.map +1 -1
  151. package/lib/components/ExchangeRateTile/ExchangeRateTileContent.d.ts +4 -0
  152. package/lib/components/Footer/Contacts.js +2 -2
  153. package/lib/components/Footer/Contacts.js.map +1 -1
  154. package/lib/components/Footer/FooterContent.d.ts +35 -9
  155. package/lib/components/Footer/FooterLink.d.ts +2 -2
  156. package/lib/components/Footer/HorizontalNavigation.js.map +1 -1
  157. package/lib/components/Footer/Sitemap.d.ts +1 -1
  158. package/lib/components/Footer/Sitemap.js +1 -1
  159. package/lib/components/Footer/Sitemap.js.map +1 -1
  160. package/lib/components/Footer/SocialMedia.d.ts +2 -2
  161. package/lib/components/Footer/TextInformation.js.map +1 -1
  162. package/lib/components/Gallery/GalleryContent.d.ts +13 -0
  163. package/lib/components/Header/HeaderContent.d.ts +10 -2
  164. package/lib/components/Header/isSubItemActive.d.ts +2 -2
  165. package/lib/components/Header/isSubItemActive.js.map +1 -1
  166. package/lib/components/Header/isTopItemActive.d.ts +2 -2
  167. package/lib/components/Header/isTopItemActive.js.map +1 -1
  168. package/lib/components/Headline/Headline.d.ts +5 -0
  169. package/lib/components/Headline/Headline.fixture.d.ts +7 -0
  170. package/lib/components/Headline/Headline.js +7 -0
  171. package/lib/components/Headline/Headline.js.map +1 -0
  172. package/lib/components/Headline/HeadlineContent.d.ts +15 -0
  173. package/lib/components/Headline/HeadlineContent.js +2 -0
  174. package/lib/components/Headline/HeadlineContent.js.map +1 -0
  175. package/lib/components/LinkDocs/LinkDocs.d.ts +5 -0
  176. package/lib/components/LinkDocs/LinkDocs.fixture.d.ts +12 -0
  177. package/lib/components/LinkDocs/LinkDocs.js +40 -0
  178. package/lib/components/LinkDocs/LinkDocs.js.map +1 -0
  179. package/lib/components/LinkDocs/LinkDocsContent.d.ts +23 -0
  180. package/lib/components/LinkDocs/LinkDocsContent.js +2 -0
  181. package/lib/components/LinkDocs/LinkDocsContent.js.map +1 -0
  182. package/lib/components/MiniGallery/MiniGallery.d.ts +3 -3
  183. package/lib/components/MiniGallery/MiniGalleryContent.d.ts +6 -0
  184. package/lib/components/MiniGallery/MiniGalleryContent.js +2 -0
  185. package/lib/components/MiniGallery/MiniGalleryContent.js.map +1 -0
  186. package/lib/components/MobileAppTile/MobileAppTileContent.d.ts +11 -2
  187. package/lib/components/MobileBlocks.d.ts +8 -6
  188. package/lib/components/MobileBlocks.js +10 -6
  189. package/lib/components/MobileBlocks.js.map +1 -1
  190. package/lib/components/PictureText/PictureText.d.ts +5 -0
  191. package/lib/components/PictureText/PictureText.fixture.d.ts +4 -0
  192. package/lib/components/PictureText/PictureText.js +12 -0
  193. package/lib/components/PictureText/PictureText.js.map +1 -0
  194. package/lib/components/PictureText/PictureTextContent.d.ts +11 -0
  195. package/lib/components/PictureText/PictureTextContent.js +2 -0
  196. package/lib/components/PictureText/PictureTextContent.js.map +1 -0
  197. package/lib/components/Placeholder/PlaceholderContent.d.ts +3 -0
  198. package/lib/components/ProductBlock/ProductBlock.mobile.d.ts +2 -2
  199. package/lib/components/ProductBlock/ProductBlock.mobile.js.map +1 -1
  200. package/lib/components/ProductBlock/ProductBlockContent.d.ts +10 -5
  201. package/lib/components/ProductBlock/ProductBlockInner.d.ts +2 -2
  202. package/lib/components/ProductBlock/ProductBlockInner.js +1 -1
  203. package/lib/components/ProductBlock/ProductBlockInner.js.map +1 -1
  204. package/lib/components/ProductGallery/ProductGallery.d.ts +1 -1
  205. package/lib/components/ProductGallery/ProductGallery.js.map +1 -1
  206. package/lib/components/ProductGallery/ProductGalleryContent.d.ts +19 -4
  207. package/lib/components/ProductTile/ProductTileContent.d.ts +6 -2
  208. package/lib/components/PromoTile/PromoTileContent.d.ts +6 -2
  209. package/lib/components/StepsBlock/StepsBlockContent.d.ts +13 -0
  210. package/lib/components/TextBlock/TextBlockContent.d.ts +13 -0
  211. package/lib/components/Tile/TileContent.d.ts +5 -2
  212. package/lib/hooks/useLink.d.ts +3 -3
  213. package/lib/hooks/useLink.js.map +1 -1
  214. package/lib/index.d.ts +12 -12
  215. package/lib/index.js +5 -5
  216. package/lib/index.js.map +1 -1
  217. package/lib/mergeTopItems.d.ts +2 -2
  218. package/lib/mergeTopItems.js.map +1 -1
  219. package/lib/model/BlockVersion.d.ts +4 -0
  220. package/lib/model/ButtonVersion.d.ts +4 -0
  221. package/lib/model/LinkProps.d.ts +21 -0
  222. package/lib/model/LinkProps.js +2 -0
  223. package/lib/model/LinkProps.js.map +1 -0
  224. package/lib/model/Picture.d.ts +11 -0
  225. package/lib/model/SitemapProps.d.ts +13 -0
  226. package/lib/model/SitemapProps.js +2 -0
  227. package/lib/model/SitemapProps.js.map +1 -0
  228. package/lib/types.d.ts +2 -2
  229. package/lib/ui-kit/Breadcrumb.d.ts +2 -2
  230. package/lib/ui-kit/Button/Button.d.ts +6 -3
  231. package/lib/ui-kit/Button/Button.js.map +1 -1
  232. package/lib/ui-kit/Button/ButtonProps.d.ts +15 -12
  233. package/lib/ui-kit/Icon/IconProps.d.ts +53 -18
  234. package/lib/ui-kit/Icon/IconProps.js +23 -18
  235. package/lib/ui-kit/Icon/IconProps.js.map +1 -1
  236. package/lib/ui-kit/TopItem/TopItem.d.ts +2 -2
  237. package/package.json +2 -22
  238. package/src/components/Accordion/Accordion.example.json +74 -0
  239. package/src/components/Accordion/Accordion.fixture.tsx +93 -7
  240. package/src/components/Accordion/Accordion.tsx +1 -1
  241. package/src/components/Accordion/AccordionBlocks.tsx +6 -0
  242. package/src/components/Accordion/AccordionContent.ts +43 -11
  243. package/src/components/Accordion/AccordionItem.tsx +10 -10
  244. package/src/components/BaseTile/BaseTile.tsx +22 -9
  245. package/src/components/BaseTile/BaseTileProps.ts +44 -0
  246. package/src/components/BenefitsBlock/BenefitsBlock.example.json +13 -0
  247. package/src/components/BenefitsBlock/BenefitsBlock.tsx +3 -2
  248. package/src/components/BenefitsBlock/BenefitsBlockContent.ts +14 -1
  249. package/src/components/BlockContent.ts +19 -12
  250. package/src/components/Blocks.ts +23 -17
  251. package/src/components/ComparisonTable/ComparisonTable.example.json +84 -0
  252. package/src/components/ComparisonTable/ComparisonTableContent.ts +46 -3
  253. package/src/components/ComparisonTable/HeaderCell.tsx +2 -2
  254. package/src/components/ContentPage/ContentPage.page.json +88 -2
  255. package/src/components/ContentPage/ContentPage.tsx +7 -5
  256. package/src/components/CreditCalculator/CreditCalculatorContent.ts +4 -0
  257. package/src/components/ExchangeRateTile/ExchangeRateTile.tsx +2 -2
  258. package/src/components/ExchangeRateTile/ExchangeRateTileContent.ts +4 -0
  259. package/src/components/Footer/Contacts.tsx +2 -2
  260. package/src/components/Footer/FooterContent.ts +36 -9
  261. package/src/components/Footer/FooterLink.ts +2 -2
  262. package/src/components/Footer/HorizontalNavigation.tsx +2 -2
  263. package/src/components/Footer/Sitemap.tsx +5 -5
  264. package/src/components/Footer/SocialMedia.tsx +2 -2
  265. package/src/components/Footer/TextInformation.tsx +2 -2
  266. package/src/components/Gallery/Gallery.example.json +71 -0
  267. package/src/components/Gallery/GalleryContent.ts +13 -0
  268. package/src/components/Header/HeaderContent.ts +10 -2
  269. package/src/components/Header/isSubItemActive.ts +3 -3
  270. package/src/components/Header/isTopItemActive.ts +3 -3
  271. package/src/components/Headline/Headline.example.json +6 -0
  272. package/src/components/Headline/Headline.fixture.tsx +42 -0
  273. package/src/components/Headline/Headline.tsx +15 -0
  274. package/src/components/Headline/HeadlineContent.ts +18 -0
  275. package/src/components/LinkDocs/LinkDocs.fixture.tsx +51 -0
  276. package/src/components/LinkDocs/LinkDocs.tsx +81 -0
  277. package/src/components/LinkDocs/LinkDocsContent.ts +26 -0
  278. package/src/components/MiniGallery/MiniGallery.example.json +61 -0
  279. package/src/components/MiniGallery/MiniGallery.tsx +3 -3
  280. package/src/components/MiniGallery/MiniGalleryContent.ts +6 -0
  281. package/src/components/MobileAppTile/MobileAppTile.example.json +20 -0
  282. package/src/components/MobileAppTile/MobileAppTileContent.ts +11 -2
  283. package/src/components/MobileBlocks.ts +10 -6
  284. package/src/components/PictureText/PictureText.example.json +20 -0
  285. package/src/components/PictureText/PictureText.fixture.tsx +36 -0
  286. package/src/components/PictureText/PictureText.tsx +45 -0
  287. package/src/components/PictureText/PictureTextContent.ts +13 -0
  288. package/src/components/Placeholder/PlaceholderContent.ts +3 -0
  289. package/src/components/ProductBlock/ProductBlock.example.json +17 -0
  290. package/src/components/ProductBlock/ProductBlock.mobile.tsx +3 -3
  291. package/src/components/ProductBlock/ProductBlockContent.ts +10 -5
  292. package/src/components/ProductBlock/ProductBlockInner.tsx +4 -4
  293. package/src/components/ProductGallery/ProductGallery.example.json +21 -0
  294. package/src/components/ProductGallery/ProductGallery.tsx +3 -3
  295. package/src/components/ProductGallery/ProductGalleryContent.ts +19 -4
  296. package/src/components/ProductTile/ProductTile.example.json +30 -0
  297. package/src/components/ProductTile/ProductTileContent.ts +6 -2
  298. package/src/components/PromoTile/PromoTile.example.json +13 -0
  299. package/src/components/PromoTile/PromoTileContent.ts +6 -2
  300. package/src/components/StepsBlock/StepsBlock.example.json +17 -0
  301. package/src/components/StepsBlock/StepsBlockContent.ts +13 -0
  302. package/src/components/TextBlock/TextBlock.example.json +6 -0
  303. package/src/components/TextBlock/TextBlockContent.ts +14 -0
  304. package/src/components/Tile/Tile.example.json +18 -0
  305. package/src/components/Tile/TileContent.ts +5 -2
  306. package/src/hooks/useLink.ts +2 -2
  307. package/src/icons/DiscountShape.svg +7 -0
  308. package/src/icons/DocIcon.svg +1 -1
  309. package/src/icons/DocumentText.svg +6 -0
  310. package/src/index.ts +14 -21
  311. package/src/mergeTopItems.ts +5 -5
  312. package/src/model/BlockVersion.ts +4 -0
  313. package/src/model/ButtonVersion.ts +4 -0
  314. package/src/model/LinkProps.ts +22 -0
  315. package/src/model/Picture.ts +11 -0
  316. package/src/model/SitemapProps.ts +15 -0
  317. package/src/types.ts +2 -2
  318. package/src/ui-kit/Breadcrumb.tsx +2 -2
  319. package/src/ui-kit/Button/Button.tsx +7 -3
  320. package/src/ui-kit/Button/ButtonProps.ts +16 -13
  321. package/src/ui-kit/Icon/IconProps.ts +39 -4
  322. package/src/ui-kit/TopItem/TopItem.tsx +2 -2
  323. package/dist/components/BaseTile/BaseTileContent.d.ts +0 -13
  324. package/dist/components/BaseTile/BaseTileContent.js.map +0 -1
  325. package/dist/model/LinkContent.d.ts +0 -5
  326. package/dist/model/LinkContent.js.map +0 -1
  327. package/dist/model/SitemapContent.d.ts +0 -7
  328. package/dist/model/SitemapContent.js.map +0 -1
  329. package/lib/components/BaseTile/BaseTileContent.d.ts +0 -13
  330. package/lib/components/BaseTile/BaseTileContent.js +0 -2
  331. package/lib/components/BaseTile/BaseTileContent.js.map +0 -1
  332. package/lib/model/LinkContent.d.ts +0 -5
  333. package/lib/model/LinkContent.js +0 -2
  334. package/lib/model/LinkContent.js.map +0 -1
  335. package/lib/model/SitemapContent.d.ts +0 -7
  336. package/lib/model/SitemapContent.js +0 -2
  337. package/lib/model/SitemapContent.js.map +0 -1
  338. package/src/components/BaseTile/BaseTileContent.ts +0 -14
  339. package/src/icons/MinusIcon.svg +0 -1
  340. package/src/icons/PlusIcon.svg +0 -1
  341. package/src/model/LinkContent.ts +0 -5
  342. package/src/model/SitemapContent.ts +0 -9
@@ -0,0 +1,51 @@
1
+ import { LinkDocs } from './LinkDocs';
2
+ import { context } from '../../setup-fixture';
3
+ import type { LinkDocsContent } from './LinkDocsContent';
4
+
5
+ export const LinkDocsFixtureSetOne: LinkDocsContent = {
6
+ title: 'Дополнительные документы',
7
+ icon: 'DocIcon',
8
+ documents: [
9
+ { text: 'target self', href: '/abc1/cooldoc.doc', target: '_self' },
10
+ { text: 'target blank', href: '/abc2/wtf.rtf', target: '_blank' },
11
+ { text: 'GlassIcon', href: '/abc3/map.jpeg' },
12
+ { text: 'no icon', href: '/abc4' },
13
+ { text: 'документ 5', href: '/abc5' },
14
+ { text: 'документ 6', href: '/abc6/abc.pdf' },
15
+ { text: 'Text text text', href: '/abc7/yolo.png' },
16
+ {
17
+ text: 'Some more generic text, and even more, more text',
18
+ href: '/abc8/archive.zip',
19
+ fileSize: '2.3МБ',
20
+ },
21
+ { text: 'И ещё немного текста', href: '/abc9/rarniw.rar', fileSize: '666МБ' },
22
+ {
23
+ text: 'Форматируем, сортируем, смотрим как отображается...',
24
+ href: '/abc10/',
25
+ fileSize: '65ГБ',
26
+ },
27
+ ],
28
+ };
29
+
30
+ export const LinkDocsFixtureSetTwo: LinkDocsContent = {
31
+ ...LinkDocsFixtureSetOne,
32
+ columnsMode: 'single',
33
+ };
34
+
35
+ export const LinkDocsFixtureSetThree: LinkDocsContent = {
36
+ ...LinkDocsFixtureSetOne,
37
+ icon: 'GlassIcon',
38
+ title: '',
39
+ };
40
+
41
+ export const LinkDocsFixtureSetFour: LinkDocsContent = {
42
+ ...LinkDocsFixtureSetOne,
43
+ icon: undefined,
44
+ };
45
+
46
+ export default {
47
+ 'default, 2 columns': <LinkDocs context={context} {...LinkDocsFixtureSetOne} />,
48
+ 'one column': <LinkDocs context={context} {...LinkDocsFixtureSetTwo} />,
49
+ 'another icon, no extensions': <LinkDocs context={context} {...LinkDocsFixtureSetThree} />,
50
+ 'no icon': <LinkDocs context={context} {...LinkDocsFixtureSetFour} />,
51
+ };
@@ -0,0 +1,81 @@
1
+ import { JSX } from '@redneckz/uni-jsx';
2
+ import type { UniBlockProps } from '../../types';
3
+ import { Icon } from '../../ui-kit/Icon/Icon';
4
+ import { Title } from '../../ui-kit/Title/Title';
5
+ import { AlignType } from '../BaseTile/BaseTileProps';
6
+ import type { LinkColumnsMode, LinkDocsContent } from './LinkDocsContent';
7
+
8
+ const titleAlignStyleMap: Record<AlignType, string> = {
9
+ left: 'text-left',
10
+ center: 'text-center',
11
+ right: 'text-right',
12
+ };
13
+
14
+ const titleMarginsStyleMap: Record<LinkColumnsMode, string> = {
15
+ double: 'mb-8',
16
+ single: '',
17
+ };
18
+
19
+ const linkColumnsModeStyleMap: Record<LinkColumnsMode, string> = {
20
+ double: 'gap-x-5 gap-y-[26px] flex-wrap',
21
+ single: 'gap-3.5 flex-col',
22
+ };
23
+
24
+ export interface LinkDocsProps extends LinkDocsContent, UniBlockProps {}
25
+
26
+ export const LinkDocs = JSX<LinkDocsProps>(
27
+ ({ className, title, align, documents, icon, columnsMode = 'double' }) => {
28
+ const containerClasses = linkColumnsModeStyleMap[columnsMode];
29
+
30
+ return (
31
+ <section className={`font-sans p-[50px] bg-white ${className}`}>
32
+ {title && (
33
+ <Title
34
+ className={`font-medium m-0 ${titleMarginsStyleMap[columnsMode]} ${
35
+ titleAlignStyleMap[align ?? 'center']
36
+ }`}
37
+ >
38
+ {title}
39
+ </Title>
40
+ )}
41
+ <div className={`flex ${containerClasses}`} role="list">
42
+ {documents?.length
43
+ ? documents.map(({ text, fileSize, ...linkProps }) => (
44
+ <a
45
+ className={`group flex items-center text-sm
46
+ text-sm font-sans align-middle items-center text-primary-text no-underline group hover:text-primary-main
47
+ ${columnsMode === 'double' ? 'basis-[calc(50%-20px)]' : ''}`}
48
+ role="listitem"
49
+ {...linkProps}
50
+ >
51
+ {icon && <Icon className="mr-3.5" name={icon} width="24px" height="24px" />}
52
+ <span>
53
+ {text}
54
+ <span className="text-secondary-text group-hover:text-primary-main">
55
+ {linkProps?.href && formatSuffix(getExtFromHref(linkProps.href), fileSize)}
56
+ </span>
57
+ </span>
58
+ </a>
59
+ ))
60
+ : null}
61
+ </div>
62
+ </section>
63
+ );
64
+ },
65
+ );
66
+
67
+ const getExtFromHref = (href: string) => {
68
+ if (!href) return '';
69
+
70
+ const lastChunk = href.split('.').pop();
71
+ if (!lastChunk || lastChunk.includes('/')) return '';
72
+
73
+ return lastChunk;
74
+ };
75
+
76
+ const formatSuffix = (ext?: string, fileSize?: string) => {
77
+ const prefix = ext || fileSize ? ',' : '';
78
+ const extension = ext ? ` ${ext}` : '';
79
+ const size = fileSize ? ` (${fileSize})` : '';
80
+ return prefix + extension + size;
81
+ };
@@ -0,0 +1,26 @@
1
+ import { LinkProps } from '../../model/LinkProps';
2
+ import type { IconName } from '../../ui-kit/Icon/IconProps';
3
+ import { BaseTileCommonProps } from '../BaseTile/BaseTileProps';
4
+
5
+ /** @title Режим отображения списка */
6
+ export type LinkColumnsMode = 'single' | 'double';
7
+
8
+ /**
9
+ * @title Элемент списка
10
+ */
11
+ export interface LinkDocsItem extends LinkProps {
12
+ /** @title размер файла */
13
+ fileSize?: string;
14
+ }
15
+
16
+ /**
17
+ * @title Список документов
18
+ */
19
+ export interface LinkDocsContent extends Pick<BaseTileCommonProps, 'align' | 'title'> {
20
+ /** @title Название иконки */
21
+ icon?: IconName;
22
+ /** @title Список */
23
+ documents?: LinkDocsItem[];
24
+ /** @title Отображение списка */
25
+ columnsMode?: LinkColumnsMode;
26
+ }
@@ -0,0 +1,61 @@
1
+ {
2
+ "title": "Мини-галерея",
3
+ "description": "Описание",
4
+ "cards": [
5
+ {
6
+ "image": {
7
+ "format": "webp",
8
+ "size": {
9
+ "width": 120,
10
+ "height": 70
11
+ }
12
+ },
13
+ "title": "Заголовок 1",
14
+ "description": "Описание 1"
15
+ },
16
+ {
17
+ "image": {
18
+ "format": "webp",
19
+ "size": {
20
+ "width": 120,
21
+ "height": 70
22
+ }
23
+ },
24
+ "title": "Заголовок 2",
25
+ "description": "Описание 2"
26
+ },
27
+ {
28
+ "image": {
29
+ "format": "webp",
30
+ "size": {
31
+ "width": 120,
32
+ "height": 70
33
+ }
34
+ },
35
+ "title": "Заголовок 3",
36
+ "description": "Описание 3"
37
+ },
38
+ {
39
+ "image": {
40
+ "format": "webp",
41
+ "size": {
42
+ "width": 120,
43
+ "height": 70
44
+ }
45
+ },
46
+ "title": "Заголовок 4",
47
+ "description": "Описание 4"
48
+ },
49
+ {
50
+ "image": {
51
+ "format": "webp",
52
+ "size": {
53
+ "width": 120,
54
+ "height": 70
55
+ }
56
+ },
57
+ "title": "Заголовок 5",
58
+ "description": "Описание 5"
59
+ }
60
+ ]
61
+ }
@@ -1,9 +1,9 @@
1
1
  import { JSX } from '@redneckz/uni-jsx';
2
- import { GalleryContent } from '../Gallery/GalleryContent';
2
+ import type { UniBlockProps } from '../../types';
3
3
  import { GalleryInner } from '../Gallery/GalleryInner';
4
- import { UniBlockProps } from '../../types';
4
+ import type { MiniGalleryContent } from './MiniGalleryContent';
5
5
 
6
- export interface MiniGalleryProps extends GalleryContent, UniBlockProps {}
6
+ export interface MiniGalleryProps extends MiniGalleryContent, UniBlockProps {}
7
7
 
8
8
  export const MiniGallery = JSX<MiniGalleryProps>((props) => (
9
9
  <GalleryInner {...props} version="mini" />
@@ -0,0 +1,6 @@
1
+ import type { GalleryContent } from '../Gallery/GalleryContent';
2
+
3
+ /**
4
+ * @title Мини-галерея
5
+ */
6
+ export interface MiniGalleryContent extends GalleryContent {}
@@ -0,0 +1,20 @@
1
+ {
2
+ "qr": {
3
+ "href": "https://rshbnaturaldbo.onelink.me/qhkF/f182074f?af_qr=true",
4
+ "src": "data:image/png;base64,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"
5
+ },
6
+ "buttons": [
7
+ {
8
+ "aboveText": "Загрузите в",
9
+ "text": "App Store",
10
+ "icon": "AppleIcon",
11
+ "version": "secondary"
12
+ },
13
+ {
14
+ "aboveText": "Доступно в",
15
+ "text": "Google Play",
16
+ "icon": "PlayMarketIcon",
17
+ "version": "secondary"
18
+ }
19
+ ]
20
+ }
@@ -1,11 +1,20 @@
1
- import type { BaseTileContent } from '../BaseTile/BaseTileContent';
1
+ import type { BaseTileCommonProps } from '../BaseTile/BaseTileProps';
2
2
 
3
+ /**
4
+ * @title QR код
5
+ */
3
6
  export interface QRCode {
7
+ /** @title QR код */
4
8
  src?: string;
9
+ /** @title Ссылка */
5
10
  href?: string;
6
11
  }
7
12
 
8
- export interface MobileAppTileContent extends BaseTileContent {
13
+ /**
14
+ * @title Мобильное приложение
15
+ */
16
+ export interface MobileAppTileContent extends BaseTileCommonProps {
17
+ /** @title Заголовок */
9
18
  title?: string;
10
19
  qr?: QRCode;
11
20
  }
@@ -2,7 +2,9 @@ import { ExchangeRateTile } from './ExchangeRateTile/ExchangeRateTile';
2
2
  import { Footer } from './Footer/Footer.mobile';
3
3
  import { Gallery } from './Gallery/Gallery.mobile';
4
4
  import { Header } from './Header/Header';
5
+ import { Headline } from './Headline/Headline';
5
6
  import { MobileAppTile } from './MobileAppTile/MobileAppTile';
7
+ import { PictureText } from './PictureText/PictureText';
6
8
  import { Placeholder } from './Placeholder/Placeholder';
7
9
  import { ProductBlock } from './ProductBlock/ProductBlock.mobile';
8
10
  import { ProductTile } from './ProductTile/ProductTile';
@@ -10,16 +12,18 @@ import { TextBlock } from './TextBlock/TextBlock';
10
12
  import { Tile } from './Tile/Tile';
11
13
 
12
14
  export const MobileBlocks = {
13
- Header,
15
+ ExchangeRateTile,
14
16
  Footer,
17
+ Gallery,
18
+ Header,
19
+ Headline,
20
+ MobileAppTile,
21
+ PictureText,
15
22
  Placeholder,
16
- Tile,
17
- ProductTile,
18
23
  ProductBlock,
24
+ ProductTile,
19
25
  TextBlock,
20
- ExchangeRateTile,
21
- MobileAppTile,
22
- Gallery,
26
+ Tile,
23
27
  // TODO StepsBlock,
24
28
  // TODO BenefitsBlock,
25
29
  // TODO ProductGallery
@@ -0,0 +1,20 @@
1
+ {
2
+ "title": "Продукт",
3
+ "description": "Описание",
4
+ "image": {
5
+ "format": "webp",
6
+ "size": {
7
+ "width": 300
8
+ }
9
+ },
10
+ "benefits": [
11
+ {
12
+ "label": "Преимущество №1",
13
+ "icon": "DocumentText"
14
+ },
15
+ {
16
+ "label": "Преимущество №2",
17
+ "icon": "DiscountShape"
18
+ }
19
+ ]
20
+ }
@@ -0,0 +1,36 @@
1
+ import { context } from '../../setup-fixture';
2
+
3
+ import { PictureText } from './PictureText';
4
+ import type { Picture } from '../../model/Picture';
5
+
6
+ const image: Picture = {
7
+ src: 'legal-support-business.png',
8
+ format: 'webp',
9
+ size: {
10
+ width: 200,
11
+ height: 200,
12
+ },
13
+ alt: 'Варианты потребительского кредита',
14
+ };
15
+
16
+ export default {
17
+ default: (
18
+ <PictureText
19
+ context={context}
20
+ title={'Варианты потребительского кредита'}
21
+ benefits={[
22
+ {
23
+ label: 'Кредит по одному документу',
24
+ description: 'До 300 тыс ₽ по упрощённой процедуре получения кредита',
25
+ icon: 'DocumentText',
26
+ },
27
+ {
28
+ label: 'Кредит на общих условиях',
29
+ description: 'До 5 млн ₽ на общих условиях получения кредита',
30
+ icon: 'DiscountShape',
31
+ },
32
+ ]}
33
+ image={image}
34
+ />
35
+ ),
36
+ };
@@ -0,0 +1,45 @@
1
+ import { JSX } from '@redneckz/uni-jsx';
2
+ import type { UniBlockProps } from '../../types';
3
+ import type { PictureTextContent } from './PictureTextContent';
4
+
5
+ import { Icon } from '../../ui-kit/Icon/Icon';
6
+ import { Img } from '../../ui-kit/Img';
7
+ import { Title } from '../../ui-kit/Title/Title';
8
+ import { Benefit } from '../BenefitsBlock/BenefitsBlockContent';
9
+
10
+ export interface PictureTextProps extends PictureTextContent, UniBlockProps {}
11
+
12
+ export const PictureText = JSX<PictureTextProps>(({ className, title, image, benefits }) => {
13
+ return (
14
+ <section className={`relative font-sans text-primary-text bg-white p-14 ${className}`}>
15
+ <Title className="font-medium m-0 text-center">{title}</Title>
16
+ <div className={'flex justify-center mt-9'}>
17
+ {image?.src && <Img className="mr-6" image={image} />}
18
+ {benefits?.length ? (
19
+ <div className="flex flex-col">{benefits.map(renderBenefit)}</div>
20
+ ) : null}
21
+ </div>
22
+ </section>
23
+ );
24
+ });
25
+
26
+ function renderBenefit(benefit: Benefit, i: number) {
27
+ return (
28
+ <div key={String(i)} className="flex flex-row mb-8">
29
+ {benefit.icon && (
30
+ <Icon
31
+ className="w-[48px] h-[48px] bg-main rounded-full box-border p-[12px]"
32
+ name={benefit.icon}
33
+ width="48"
34
+ height="48"
35
+ />
36
+ )}
37
+ <div className="flex gap-1 flex-col h-full ml-5 max-w-[490px]">
38
+ <div className="font-medium text-primary-text text-xl m-0">{benefit.label}</div>
39
+ {benefit.description && (
40
+ <div className="font-normal text-sm text-secondary-text">{benefit.description}</div>
41
+ )}
42
+ </div>
43
+ </div>
44
+ );
45
+ }
@@ -0,0 +1,13 @@
1
+ import type { BaseTileCommonProps } from '../BaseTile/BaseTileProps';
2
+ import type { Benefit } from '../BenefitsBlock/BenefitsBlockContent';
3
+
4
+ /**
5
+ * @title Картинка с текстом
6
+ */
7
+ export interface PictureTextContent
8
+ extends Pick<BaseTileCommonProps, 'title' | 'description' | 'image'> {
9
+ /**
10
+ * @title Список преимуществ
11
+ */
12
+ benefits?: Benefit[];
13
+ }
@@ -1,3 +1,6 @@
1
+ /**
2
+ * @hidden
3
+ */
1
4
  export interface PlaceholderContent {
2
5
  title?: string;
3
6
  }
@@ -0,0 +1,17 @@
1
+ {
2
+ "title": "Продукт",
3
+ "description": "Описание",
4
+ "image": {
5
+ "format": "webp",
6
+ "size": {
7
+ "width": 300
8
+ }
9
+ },
10
+ "items": ["Элемент списка 1", "Элемент списка 2", "Элемент списка 3"],
11
+ "buttons": [
12
+ {
13
+ "text": "Подробнее",
14
+ "version": "secondary"
15
+ }
16
+ ]
17
+ }
@@ -1,9 +1,9 @@
1
1
  import { JSX } from '@redneckz/uni-jsx';
2
- import { ProductBlockInner } from './ProductBlockInner';
3
- import type { ProductBlockInnerContent } from './ProductBlockContent';
4
2
  import type { UniBlockProps } from '../../types';
3
+ import type { ProductBlockInnerCommonProps } from './ProductBlockContent';
4
+ import { ProductBlockInner } from './ProductBlockInner';
5
5
 
6
- export interface ProductBlockProps extends ProductBlockInnerContent, UniBlockProps {}
6
+ export interface ProductBlockProps extends ProductBlockInnerCommonProps, UniBlockProps {}
7
7
 
8
8
  export const ProductBlock = JSX<ProductBlockProps>(
9
9
  ({ titleSize, image, benefits, ...props } /* Get rid of image and benefits */) => {
@@ -1,11 +1,16 @@
1
- import type { LinkContent } from '../../model/LinkContent';
2
- import type { BaseTileContent } from '../BaseTile/BaseTileContent';
1
+ import type { LinkProps } from '../../model/LinkProps';
2
+ import type { BaseTileCommonProps } from '../BaseTile/BaseTileProps';
3
3
  import type { Benefit } from '../BenefitsBlock/BenefitsBlockContent';
4
4
 
5
- export interface ProductBlockInnerContent extends BaseTileContent {
5
+ export interface ProductBlockInnerCommonProps extends BaseTileCommonProps {
6
+ /** @title Преимущества */
6
7
  benefits?: Benefit[];
7
8
  }
8
9
 
9
- export interface ProductBlockContent extends ProductBlockInnerContent {
10
- breadcrumbs?: LinkContent[];
10
+ /**
11
+ * @title Продуктовый блок
12
+ */
13
+ export interface ProductBlockContent extends ProductBlockInnerCommonProps {
14
+ /** @title Хлебные крошки */
15
+ breadcrumbs?: LinkProps[];
11
16
  }
@@ -1,13 +1,13 @@
1
1
  import { JSX } from '@redneckz/uni-jsx';
2
- import { BaseTile } from '../BaseTile/BaseTile';
3
- import type { Benefit } from '../BenefitsBlock/BenefitsBlockContent';
4
- import type { ProductBlockInnerContent } from './ProductBlockContent';
5
2
  import type { UniBlockProps } from '../../types';
6
3
  import { Icon } from '../../ui-kit/Icon/Icon';
7
4
  import { Img } from '../../ui-kit/Img';
8
5
  import { Title } from '../../ui-kit/Title/Title';
6
+ import { BaseTile } from '../BaseTile/BaseTile';
7
+ import type { Benefit } from '../BenefitsBlock/BenefitsBlockContent';
8
+ import type { ProductBlockInnerCommonProps } from './ProductBlockContent';
9
9
 
10
- export interface ProductBlockInnerProps extends ProductBlockInnerContent, UniBlockProps {}
10
+ export interface ProductBlockInnerProps extends ProductBlockInnerCommonProps, UniBlockProps {}
11
11
 
12
12
  export const ProductBlockInner = JSX<ProductBlockInnerProps>(
13
13
  ({ className, context, title, titleSize, description, benefits, buttons, image, items }) => {
@@ -0,0 +1,21 @@
1
+ {
2
+ "slides": [
3
+ {
4
+ "nav": {
5
+ "title": "Заголовок",
6
+ "desc": "Описание"
7
+ },
8
+ "productBlock": {
9
+ "title": "Продуктовая галерея",
10
+ "image": {
11
+ "format": "webp",
12
+ "size": {
13
+ "width": 300
14
+ }
15
+ },
16
+ "description": "Описание",
17
+ "items": ["Элемент списка 1", "Элемент списка 2", "Элемент списка 3"]
18
+ }
19
+ }
20
+ ]
21
+ }
@@ -1,8 +1,8 @@
1
1
  import { JSX } from '@redneckz/uni-jsx';
2
+ import type { UniBlockProps } from '../../types';
3
+ import type { ProductBlockInnerCommonProps } from '../ProductBlock/ProductBlockContent';
2
4
  import { ProductBlockInner } from '../ProductBlock/ProductBlockInner';
3
- import type { ProductBlockInnerContent } from '../ProductBlock/ProductBlockContent';
4
5
  import type { ProductGalleryContent } from './ProductGalleryContent';
5
- import type { UniBlockProps } from '../../types';
6
6
 
7
7
  export interface ProductGalleryProps extends ProductGalleryContent, UniBlockProps {}
8
8
 
@@ -38,7 +38,7 @@ export const ProductGallery = JSX<ProductGalleryProps>(
38
38
  },
39
39
  );
40
40
 
41
- function renderProductBlock(block: ProductBlockInnerContent, i: number, context) {
41
+ function renderProductBlock(block: ProductBlockInnerCommonProps, i: number, context) {
42
42
  return (
43
43
  <section key={String(i)} className="flex grow-0 shrink-0 basis-full" role="listitem">
44
44
  <div className="p-10 flex grow">
@@ -1,16 +1,31 @@
1
- import type { ProductBlockInnerContent } from '../ProductBlock/ProductBlockContent';
1
+ import type { ProductBlockInnerCommonProps } from '../ProductBlock/ProductBlockContent';
2
2
 
3
+ /** @title Кнопка под слайдом */
3
4
  interface ProductGalleryNav {
5
+ /** @title Заголовок */
4
6
  title: string;
7
+ /** @title Описание */
5
8
  desc: string;
6
9
  }
7
10
 
8
- export interface ProductSlideContent {
11
+ /**
12
+ * @title Слайд
13
+ */
14
+ export interface ProductSlide {
9
15
  nav: ProductGalleryNav;
10
- productBlock: ProductBlockInnerContent;
16
+ /** @title Содержимое слайда */
17
+ productBlock: ProductBlockInnerCommonProps;
11
18
  }
12
19
 
20
+ /**
21
+ * @title Продуктовая галерея
22
+ */
13
23
  export interface ProductGalleryContent {
24
+ /**
25
+ * @title Задержка
26
+ * @hidden //! temporary not used
27
+ */
14
28
  duration?: number;
15
- slides?: ProductSlideContent[];
29
+ /** @title Слайды */
30
+ slides?: ProductSlide[];
16
31
  }
@@ -0,0 +1,30 @@
1
+ {
2
+ "title": "Продуктовая плитка",
3
+ "description": "Описание",
4
+ "image": {
5
+ "format": "webp",
6
+ "size": {
7
+ "width": 300
8
+ }
9
+ },
10
+ "benefits": [
11
+ {
12
+ "label": "Преимущество 1",
13
+ "description": "Описание"
14
+ },
15
+ {
16
+ "label": "Преимущество 2",
17
+ "description": "Описание"
18
+ },
19
+ {
20
+ "label": "Преимущество 3",
21
+ "description": "Описание"
22
+ }
23
+ ],
24
+ "buttons": [
25
+ {
26
+ "text": "Подробнее",
27
+ "version": "primary"
28
+ }
29
+ ]
30
+ }
@@ -1,6 +1,10 @@
1
- import type { BaseTileContent } from '../BaseTile/BaseTileContent';
1
+ import type { BaseTileCommonProps } from '../BaseTile/BaseTileProps';
2
2
  import type { Benefit } from '../BenefitsBlock/BenefitsBlockContent';
3
3
 
4
- export interface ProductTileContent extends BaseTileContent {
4
+ /**
5
+ * @title Продуктовая плитка
6
+ */
7
+ export interface ProductTileContent extends BaseTileCommonProps {
8
+ /** @title Преимущества */
5
9
  benefits?: Benefit[];
6
10
  }