@redneckz/wildless-cms-uni-blocks 0.2.84 → 0.2.87

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 (343) 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/icons/GridIcon.svg +4 -7
  311. package/src/index.ts +14 -21
  312. package/src/mergeTopItems.ts +5 -5
  313. package/src/model/BlockVersion.ts +4 -0
  314. package/src/model/ButtonVersion.ts +4 -0
  315. package/src/model/LinkProps.ts +22 -0
  316. package/src/model/Picture.ts +11 -0
  317. package/src/model/SitemapProps.ts +15 -0
  318. package/src/types.ts +2 -2
  319. package/src/ui-kit/Breadcrumb.tsx +2 -2
  320. package/src/ui-kit/Button/Button.tsx +7 -3
  321. package/src/ui-kit/Button/ButtonProps.ts +16 -13
  322. package/src/ui-kit/Icon/IconProps.ts +39 -4
  323. package/src/ui-kit/TopItem/TopItem.tsx +2 -2
  324. package/dist/components/BaseTile/BaseTileContent.d.ts +0 -13
  325. package/dist/components/BaseTile/BaseTileContent.js.map +0 -1
  326. package/dist/model/LinkContent.d.ts +0 -5
  327. package/dist/model/LinkContent.js.map +0 -1
  328. package/dist/model/SitemapContent.d.ts +0 -7
  329. package/dist/model/SitemapContent.js.map +0 -1
  330. package/lib/components/BaseTile/BaseTileContent.d.ts +0 -13
  331. package/lib/components/BaseTile/BaseTileContent.js +0 -2
  332. package/lib/components/BaseTile/BaseTileContent.js.map +0 -1
  333. package/lib/model/LinkContent.d.ts +0 -5
  334. package/lib/model/LinkContent.js +0 -2
  335. package/lib/model/LinkContent.js.map +0 -1
  336. package/lib/model/SitemapContent.d.ts +0 -7
  337. package/lib/model/SitemapContent.js +0 -2
  338. package/lib/model/SitemapContent.js.map +0 -1
  339. package/src/components/BaseTile/BaseTileContent.ts +0 -14
  340. package/src/icons/MinusIcon.svg +0 -1
  341. package/src/icons/PlusIcon.svg +0 -1
  342. package/src/model/LinkContent.ts +0 -5
  343. package/src/model/SitemapContent.ts +0 -9
@@ -1,14 +1,52 @@
1
1
  import { context } from '../../setup-fixture';
2
2
  import type { AccordionProps } from './Accordion';
3
+ import type { HeadlineProps } from '../Headline/Headline';
4
+ import type { PictureTextContent } from '../PictureText/PictureTextContent';
3
5
  import type { TextBlockContent } from '../TextBlock/TextBlockContent';
6
+
4
7
  import { Accordion } from './Accordion';
8
+ import {
9
+ LinkDocsFixtureSetOne,
10
+ LinkDocsFixtureSetThree,
11
+ LinkDocsFixtureSetTwo,
12
+ } from '../LinkDocs/LinkDocs.fixture';
5
13
 
6
14
  const TEXT_BLOCK: TextBlockContent = {
7
- title: 'Title',
8
15
  description:
9
16
  'Lorem ipsum dolor sit amet consectetur adipisicing elit. Doloremque minima odio soluta cupiditate pariatur, labore molestias quas necessitatibus nesciunt in praesentium accusamus provident sequi maiores autem. Voluptas quam neque iste?',
10
- blockVersion: 'secondary-light',
11
- iconVersion: 'small',
17
+ };
18
+
19
+ const HEADLINE: HeadlineProps = {
20
+ context,
21
+ title: 'Своя кредитная карта',
22
+ description: 'Карта работает в 180 странах мира. Бесплатное снятие наличных в любых банкоматах.',
23
+ align: 'left',
24
+ bgColor: 'bg-white',
25
+ };
26
+
27
+ const PICTURE_TEXT: PictureTextContent = {
28
+ title: 'Варианты потребительского кредита',
29
+ benefits: [
30
+ {
31
+ label: 'Кредит по одному документу',
32
+ description: 'До 300 тыс ₽ по упрощённой процедуре получения кредита',
33
+ icon: 'DocumentText',
34
+ },
35
+ {
36
+ label: 'Кредит на общих условиях',
37
+ description: 'До 5 млн ₽ на общих условиях получения кредита',
38
+ icon: 'DiscountShape',
39
+ },
40
+ ],
41
+ image: {
42
+ src: 'legal-support-business.png',
43
+ alt: 'Варианты потребительского кредита',
44
+ format: 'webp',
45
+ size: {
46
+ width: 200,
47
+ height: 200,
48
+ },
49
+ },
12
50
  };
13
51
 
14
52
  const propsTextBlock: AccordionProps = {
@@ -45,12 +83,59 @@ const propsTextBlock: AccordionProps = {
45
83
  label: 'Accordion label 3',
46
84
  blocks: [
47
85
  {
48
- type: 'TextBlock',
49
- data: TEXT_BLOCK,
86
+ type: 'PictureText',
87
+ data: PICTURE_TEXT,
50
88
  },
51
89
  {
52
- type: 'TextBlock',
53
- data: TEXT_BLOCK,
90
+ type: 'PictureText',
91
+ data: PICTURE_TEXT,
92
+ },
93
+ ],
94
+ },
95
+ {
96
+ label: 'Accordion label 4',
97
+ blocks: [
98
+ {
99
+ type: 'Headline',
100
+ data: HEADLINE,
101
+ },
102
+ {
103
+ type: 'Headline',
104
+ data: HEADLINE,
105
+ },
106
+ ],
107
+ },
108
+ ],
109
+ };
110
+
111
+ const propsLinkDocs: AccordionProps = {
112
+ title: 'Accordion title',
113
+ context,
114
+ accordionItems: [
115
+ {
116
+ label: 'Список документов в 2 колонки',
117
+ blocks: [
118
+ {
119
+ type: 'LinkDocs',
120
+ data: { ...LinkDocsFixtureSetOne, title: '' },
121
+ },
122
+ ],
123
+ },
124
+ {
125
+ label: 'Список документов в одну колонку',
126
+ blocks: [
127
+ {
128
+ type: 'LinkDocs',
129
+ data: { ...LinkDocsFixtureSetTwo, title: '' },
130
+ },
131
+ ],
132
+ },
133
+ {
134
+ label: 'Немного кастомизированный список',
135
+ blocks: [
136
+ {
137
+ type: 'LinkDocs',
138
+ data: LinkDocsFixtureSetThree,
54
139
  },
55
140
  ],
56
141
  },
@@ -59,4 +144,5 @@ const propsTextBlock: AccordionProps = {
59
144
 
60
145
  export default {
61
146
  'with text block': <Accordion {...propsTextBlock} />,
147
+ 'with link docs block': <Accordion {...propsLinkDocs} />,
62
148
  };
@@ -1,8 +1,8 @@
1
1
  import { JSX } from '@redneckz/uni-jsx';
2
2
  import type { UniBlockProps } from '../../types';
3
+ import { Title } from '../../ui-kit/Title/Title';
3
4
  import type { AccordionContent } from './AccordionContent';
4
5
  import { AccordionItem } from './AccordionItem';
5
- import { Title } from '../../ui-kit/Title/Title';
6
6
 
7
7
  export interface AccordionProps extends AccordionContent, UniBlockProps {}
8
8
 
@@ -1,7 +1,13 @@
1
+ import { Headline } from '../Headline/Headline';
2
+ import { LinkDocs } from '../LinkDocs/LinkDocs';
3
+ import { PictureText } from '../PictureText/PictureText';
1
4
  import { TextBlock } from '../TextBlock/TextBlock';
2
5
 
3
6
  const AccordionBlocks = {
7
+ Headline,
8
+ LinkDocs,
4
9
  TextBlock,
10
+ PictureText,
5
11
  };
6
12
 
7
13
  export default AccordionBlocks;
@@ -1,18 +1,50 @@
1
+ import type { HeadlineContent } from '../Headline/HeadlineContent';
2
+ import type { LinkDocsContent } from '../LinkDocs/LinkDocsContent';
3
+ import type { PictureTextContent } from '../PictureText/PictureTextContent';
1
4
  import type { TextBlockContent } from '../TextBlock/TextBlockContent';
5
+ import AccordionBlocks from './AccordionBlocks';
2
6
 
3
- export interface AccordionContent {
4
- title?: string;
5
- accordionItems?: AccordionItemContent[];
7
+ /**
8
+ * @hidden
9
+ * @title Содержимое блока
10
+ */
11
+ export type AccordionData =
12
+ | HeadlineContent
13
+ | LinkDocsContent
14
+ | TextBlockContent
15
+ | PictureTextContent;
16
+
17
+ /**
18
+ * @hidden
19
+ * @title Тип блока
20
+ * @enumNames ["Заголовок", "Блок документов", Текстовый блок", "Картинка с текстом"]
21
+ */
22
+ export type AccordionTypeBlock = keyof typeof AccordionBlocks;
23
+
24
+ /**
25
+ * Блок
26
+ */
27
+ export interface AccordionBlock {
28
+ type?: AccordionTypeBlock;
29
+ data?: AccordionData;
6
30
  }
7
31
 
8
- export interface AccordionItemContent {
32
+ /**
33
+ * @title Элемент списка
34
+ */
35
+ export interface AccordionItemCommonProps {
36
+ /** @title Название */
9
37
  label?: string;
10
- blocks?: AccordionBlockContent[];
38
+ /** @title Блоки */
39
+ blocks?: AccordionBlock[];
11
40
  }
12
41
 
13
- export type AccordionBlockContent = {
14
- type?: string;
15
- data?: AccordionDataContent;
16
- };
17
-
18
- export type AccordionDataContent = TextBlockContent;
42
+ /**
43
+ * @title Аккордеон
44
+ */
45
+ export interface AccordionContent {
46
+ /** @title Заголовок */
47
+ title?: string;
48
+ /** @title Список */
49
+ accordionItems?: AccordionItemCommonProps[];
50
+ }
@@ -1,10 +1,12 @@
1
1
  import { JSX } from '@redneckz/uni-jsx';
2
2
  import type { UniBlockProps } from '../../types';
3
- import type { AccordionItemContent, AccordionBlockContent } from './AccordionContent';
4
3
  import { Icon } from '../../ui-kit/Icon/Icon';
4
+ import type { JSXBlock } from '../ContentPage/ContentPage';
5
+ import { ContentPageContext } from '../ContentPage/ContentPageContext';
5
6
  import AccordionBlocks from './AccordionBlocks';
7
+ import type { AccordionBlock, AccordionItemCommonProps } from './AccordionContent';
6
8
 
7
- export interface AccordionItemProps extends AccordionItemContent, UniBlockProps {}
9
+ export interface AccordionItemProps extends AccordionItemCommonProps, UniBlockProps {}
8
10
 
9
11
  export const AccordionItem = JSX<AccordionItemProps>(({ label, blocks, context }) => {
10
12
  const [isActive, setIsActive] = context.useState(false);
@@ -42,24 +44,22 @@ export const AccordionItem = JSX<AccordionItemProps>(({ label, blocks, context }
42
44
  isActive ? 'pb-5' : ''
43
45
  } text-sm transition-all duration-300 max-h-0 overflow-hidden group-last:last:pb-0 `}
44
46
  >
45
- {blocks?.length ? blocks.map(renderComponent) : null}
47
+ {blocks?.length ? blocks.map((block, i) => renderBlock(block, i, context)) : null}
46
48
  </div>
47
49
  ) : null}
48
50
  </li>
49
51
  );
50
52
  });
51
53
 
52
- // TODO: draft, for dynamic rendering of components
53
-
54
- const renderComponent = (block: AccordionBlockContent, i: number) => {
55
- if (block.type && block.data && !AccordionBlocks.hasOwnProperty(block.type)) {
54
+ const renderBlock = (block: AccordionBlock, i: number, context: ContentPageContext) => {
55
+ if (!block.type || !block.data || !AccordionBlocks.hasOwnProperty(block.type)) {
56
56
  return null;
57
57
  }
58
58
 
59
- const AccordionBlock = block.type && AccordionBlocks[block.type];
59
+ const AccordionBlock: JSXBlock = AccordionBlocks[block.type];
60
60
  return (
61
- <div className="mb-5 last:mb-0" key={`component${i}`}>
62
- <AccordionBlock {...block.data} />
61
+ <div className="mb-5 last:mb-0" key={`block_${i}`}>
62
+ <AccordionBlock context={context} {...block.data} />
63
63
  </div>
64
64
  );
65
65
  };
@@ -1,17 +1,27 @@
1
1
  import { JSX } from '@redneckz/uni-jsx';
2
- import type { BaseTileContent } from './BaseTileContent';
2
+ import { useLink } from '../../hooks/useLink';
3
3
  import type { BlockVersion } from '../../model/BlockVersion';
4
4
  import type { UniBlockProps } from '../../types';
5
5
  import { BlockItem } from '../../ui-kit/BlockItem/BlockItem';
6
6
  import { Button } from '../../ui-kit/Button/Button';
7
- import type { ButtonWithIconProps } from '../../ui-kit/Button/ButtonProps';
8
7
  import { Icon } from '../../ui-kit/Icon/Icon';
9
8
  import { Img } from '../../ui-kit/Img';
10
9
  import { Title } from '../../ui-kit/Title/Title';
11
- import { useLink } from '../../hooks/useLink';
12
10
  import { getColSpan } from '../../utils/getColSpan';
11
+ import type { AlignType, BaseTileCommonProps, BaseTileIconButton } from './BaseTileProps';
12
+
13
+ const alignBlock: Record<AlignType, string> = {
14
+ left: 'items-start',
15
+ center: 'items-center',
16
+ right: 'items-end',
17
+ };
18
+ const alignText: Record<AlignType, string> = {
19
+ left: 'text-left',
20
+ center: 'text-center',
21
+ right: 'text-right',
22
+ };
13
23
 
14
- export interface BaseTileProps extends BaseTileContent, UniBlockProps {}
24
+ export interface BaseTileProps extends BaseTileCommonProps, UniBlockProps {}
15
25
 
16
26
  const TITLE_CLASSES = 'font-medium m-0 mb-4 whitespace-pre-wrap max-w-[600px]';
17
27
 
@@ -27,21 +37,24 @@ export const BaseTile = JSX<BaseTileProps>(
27
37
  image,
28
38
  items,
29
39
  version = 'primary',
40
+ align = 'left',
30
41
  }) => {
31
42
  const router = context.useRouter();
32
43
  const { handlerDecorator } = context;
33
44
  return (
34
- <div className={`font-sans flex flex-col grow h-full`}>
45
+ <div className={`font-sans flex flex-col grow h-full ${alignBlock[align]}`}>
35
46
  {title && (
36
47
  <Title size={titleSize || getTitleSizeByClassName(className)} className={TITLE_CLASSES}>
37
48
  {title}
38
49
  </Title>
39
50
  )}
40
51
  <div className="flex grow justify-between">
41
- <div className="flex flex-col justify-between items-start">
52
+ <div className={`flex flex-col justify-between ${alignBlock[align]}`}>
42
53
  <div>
43
54
  {description ? (
44
- <div className="font-normal text-base max-w-[600px] mb-5">{description}</div>
55
+ <div className={`font-normal text-base max-w-[600px] ${alignText[align]}`}>
56
+ {description}
57
+ </div>
45
58
  ) : null}
46
59
  {children}
47
60
  {items?.length ? renderItems(items, version) : null}
@@ -74,7 +87,7 @@ function getTitleSizeByClassName(className: string = '') {
74
87
 
75
88
  function renderItems(items: string[] = [], version?: BlockVersion) {
76
89
  return (
77
- <section className="max-w-[600px]" role="list">
90
+ <section className="max-w-[600px] mt-5" role="list">
78
91
  {items.map((_, i) => (
79
92
  <BlockItem key={String(i)} className={i ? 'mt-2.5' : ''} text={_} version={version} />
80
93
  ))}
@@ -82,7 +95,7 @@ function renderItems(items: string[] = [], version?: BlockVersion) {
82
95
  );
83
96
  }
84
97
 
85
- function renderButton({ icon, ...button }: ButtonWithIconProps, i: number) {
98
+ function renderButton({ icon, ...button }: BaseTileIconButton, i: number) {
86
99
  if (!button?.text) return;
87
100
 
88
101
  if (icon)
@@ -0,0 +1,44 @@
1
+ import type { BlockVersion } from '../../model/BlockVersion';
2
+ import type { Picture } from '../../model/Picture';
3
+ import type { ButtonWithIconProps } from '../../ui-kit/Button/ButtonProps';
4
+ import type { IconName } from '../../ui-kit/Icon/IconProps';
5
+ import type { TitleSize } from '../../ui-kit/Title/TitleProps';
6
+
7
+ /**
8
+ * @title Выравнивание
9
+ * @enumNames [
10
+ * "По левому краю",
11
+ * "По центру",
12
+ * "По правому краю"
13
+ * ]
14
+ */
15
+ export type AlignType = 'left' | 'center' | 'right';
16
+
17
+ export interface BaseTileIconButton extends ButtonWithIconProps {
18
+ icon?: IconName;
19
+ }
20
+
21
+ /**
22
+ * @title Плитка
23
+ */
24
+ export interface BaseTileCommonProps {
25
+ /** @title Заголовок */
26
+ title?: string;
27
+ /**
28
+ * @title Размер заголовка
29
+ * @default M
30
+ */
31
+ titleSize?: TitleSize;
32
+ /** @title Описание */
33
+ description?: string;
34
+ image?: Picture;
35
+ /** @title Список */
36
+ items?: string[];
37
+ /**
38
+ * @title Кнопки
39
+ * @maxItems 4
40
+ */
41
+ buttons?: BaseTileIconButton[];
42
+ version?: BlockVersion;
43
+ align?: AlignType;
44
+ }
@@ -0,0 +1,13 @@
1
+ {
2
+ "title": "Преимущества",
3
+ "benefits": [
4
+ {
5
+ "label": "Преимущество №1",
6
+ "icon": "ClockIcon"
7
+ },
8
+ {
9
+ "label": "Преимущество №2",
10
+ "icon": "SignDocsIcon"
11
+ }
12
+ ]
13
+ }
@@ -1,7 +1,8 @@
1
1
  import { JSX } from '@redneckz/uni-jsx';
2
- import type { Benefit, BenefitsBlockContent } from './BenefitsBlockContent';
3
2
  import type { UniBlockProps } from '../../types';
4
3
  import { Icon } from '../../ui-kit/Icon/Icon';
4
+ import { Title } from '../../ui-kit/Title/Title';
5
+ import type { Benefit, BenefitsBlockContent } from './BenefitsBlockContent';
5
6
 
6
7
  export interface BenefitsBlockProps extends BenefitsBlockContent, UniBlockProps {}
7
8
 
@@ -12,7 +13,7 @@ export const BenefitsBlock = JSX<BenefitsBlockProps>(({ className, title, benefi
12
13
  className || ''
13
14
  }`}
14
15
  >
15
- <h2 className="font-medium text-title m-0 max-w-[47rem] text-center">{title}</h2>
16
+ {title ? <Title className="font-medium m-0 max-w-[47rem] text-center">{title}</Title> : null}
16
17
  {benefits?.length ? (
17
18
  <div className="grid grid-cols-2 gap-5 mt-9">{benefits.map(renderStep)}</div>
18
19
  ) : null}
@@ -1,12 +1,25 @@
1
1
  import type { IconName } from '../../ui-kit/Icon/IconProps';
2
2
 
3
+ /**
4
+ * @title Преимущество
5
+ */
3
6
  export interface Benefit {
4
- label: string;
7
+ /** @title Название */
8
+ label?: string;
9
+ /** @title Описание */
5
10
  description?: string;
6
11
  icon?: IconName;
7
12
  }
8
13
 
14
+ /**
15
+ * @title Блок преимущества
16
+ */
9
17
  export interface BenefitsBlockContent {
18
+ /** @title Заголовок */
10
19
  title?: string;
20
+ /**
21
+ * @title Список преимуществ
22
+ * @maxItems 6
23
+ */
11
24
  benefits?: Benefit[];
12
25
  }
@@ -1,9 +1,12 @@
1
1
  import type { BenefitsBlockContent } from './BenefitsBlock/BenefitsBlockContent';
2
+ import type { ComparisonTableContent } from './ComparisonTable/ComparisonTableContent';
2
3
  import type { ExchangeRateTileContent } from './ExchangeRateTile/ExchangeRateTileContent';
3
4
  import type { FooterContent } from './Footer/FooterContent';
4
5
  import type { GalleryContent } from './Gallery/GalleryContent';
5
6
  import type { HeaderContent } from './Header/HeaderContent';
7
+ import type { LinkDocsContent } from './LinkDocs/LinkDocsContent';
6
8
  import type { MobileAppTileContent } from './MobileAppTile/MobileAppTileContent';
9
+ import type { PictureTextContent } from './PictureText/PictureTextContent';
7
10
  import type { PlaceholderContent } from './Placeholder/PlaceholderContent';
8
11
  import type { ProductBlockContent } from './ProductBlock/ProductBlockContent';
9
12
  import type { ProductGalleryContent } from './ProductGallery/ProductGalleryContent';
@@ -12,21 +15,25 @@ import type { PromoTileContent } from './PromoTile/PromoTileContent';
12
15
  import type { StepsBlockContent } from './StepsBlock/StepsBlockContent';
13
16
  import type { TextBlockContent } from './TextBlock/TextBlockContent';
14
17
  import type { TileContent } from './Tile/TileContent';
15
- import type { ComparisonTableContent } from './ComparisonTable/ComparisonTableContent';
16
18
 
19
+ /**
20
+ * @hidden
21
+ */
17
22
  export type BlockContent =
18
- | HeaderContent
23
+ | BenefitsBlockContent
24
+ | ComparisonTableContent
25
+ | ExchangeRateTileContent
19
26
  | FooterContent
27
+ | GalleryContent
28
+ | HeaderContent
29
+ | LinkDocsContent
30
+ | MobileAppTileContent
31
+ | PictureTextContent
20
32
  | PlaceholderContent
21
- | TileContent
22
- | PromoTileContent
23
- | TextBlockContent
24
- | ProductTileContent
25
33
  | ProductBlockContent
26
- | StepsBlockContent
27
- | BenefitsBlockContent
28
34
  | ProductGalleryContent
29
- | ExchangeRateTileContent
30
- | MobileAppTileContent
31
- | GalleryContent
32
- | ComparisonTableContent;
35
+ | ProductTileContent
36
+ | PromoTileContent
37
+ | StepsBlockContent
38
+ | TextBlockContent
39
+ | TileContent;
@@ -1,10 +1,16 @@
1
+ import { Accordion } from './Accordion/Accordion';
1
2
  import { BenefitsBlock } from './BenefitsBlock/BenefitsBlock';
3
+ import { ComparisonTable } from './ComparisonTable/ComparisonTable';
4
+ import { CreditCalculator } from './CreditCalculator/CreditCalculator';
2
5
  import { ExchangeRateTile } from './ExchangeRateTile/ExchangeRateTile';
3
6
  import { Footer } from './Footer/Footer';
4
7
  import { Gallery } from './Gallery/Gallery';
5
8
  import { Header } from './Header/Header';
9
+ import { Headline } from './Headline/Headline';
10
+ import { LinkDocs } from './LinkDocs/LinkDocs';
6
11
  import { MiniGallery } from './MiniGallery/MiniGallery';
7
12
  import { MobileAppTile } from './MobileAppTile/MobileAppTile';
13
+ import { PictureText } from './PictureText/PictureText';
8
14
  import { Placeholder } from './Placeholder/Placeholder';
9
15
  import { ProductBlock } from './ProductBlock/ProductBlock';
10
16
  import { ProductGallery } from './ProductGallery/ProductGallery';
@@ -13,27 +19,27 @@ import { PromoTile } from './PromoTile/PromoTile';
13
19
  import { StepsBlock } from './StepsBlock/StepsBlock';
14
20
  import { TextBlock } from './TextBlock/TextBlock';
15
21
  import { Tile } from './Tile/Tile';
16
- import { ComparisonTable } from './ComparisonTable/ComparisonTable';
17
- import { Accordion } from './Accordion/Accordion';
18
- import { CreditCalculator } from './CreditCalculator/CreditCalculator';
19
22
 
20
23
  export const Blocks = {
21
- Header,
22
- Footer,
23
- Placeholder,
24
- Tile,
25
- PromoTile,
26
- TextBlock,
27
- ProductTile,
28
- ProductBlock,
29
- StepsBlock,
24
+ Accordion,
30
25
  BenefitsBlock,
31
- ProductGallery,
26
+ ComparisonTable,
27
+ CreditCalculator,
32
28
  ExchangeRateTile,
33
- MobileAppTile,
29
+ Footer,
34
30
  Gallery,
31
+ Header,
32
+ Headline,
33
+ LinkDocs,
35
34
  MiniGallery,
36
- ComparisonTable,
37
- Accordion,
38
- CreditCalculator,
35
+ MobileAppTile,
36
+ PictureText,
37
+ Placeholder,
38
+ ProductBlock,
39
+ ProductGallery,
40
+ ProductTile,
41
+ PromoTile,
42
+ StepsBlock,
43
+ TextBlock,
44
+ Tile,
39
45
  };
@@ -0,0 +1,84 @@
1
+ {
2
+ "title": "Заголовок",
3
+ "rowHeaders": [
4
+ {
5
+ "title": "Параметр 1"
6
+ },
7
+ {
8
+ "title": "Параметр 2"
9
+ },
10
+ {
11
+ "title": "Параметр 3"
12
+ }
13
+ ],
14
+ "columns": [
15
+ {
16
+ "header": {
17
+ "title": "Продукт 1",
18
+ "image": {
19
+ "format": "webp",
20
+ "size": {
21
+ "width": 100,
22
+ "height": 63
23
+ }
24
+ }
25
+ },
26
+ "data": [
27
+ [
28
+ {
29
+ "label": "Ячейка 1"
30
+ }
31
+ ],
32
+ [
33
+ {
34
+ "label": "Ячейка 2-1",
35
+ "description": "Описание для ячейки 2-1"
36
+ },
37
+ {
38
+ "label": "Ячейка 2-2",
39
+ "description": "Описание для ячейки 2-2"
40
+ }
41
+ ],
42
+ [
43
+ {
44
+ "label": "Ячейка 3"
45
+ }
46
+ ]
47
+ ]
48
+ },
49
+ {
50
+ "header": {
51
+ "title": "Продукт 2",
52
+ "image": {
53
+ "format": "webp",
54
+ "size": {
55
+ "width": 100,
56
+ "height": 63
57
+ }
58
+ }
59
+ },
60
+ "data": [
61
+ [
62
+ {
63
+ "label": "Ячейка 1"
64
+ }
65
+ ],
66
+ [
67
+ {
68
+ "label": "Ячейка 2-1",
69
+ "description": "Описание для ячейки 2-1"
70
+ },
71
+ {
72
+ "label": "Ячейка 2-2",
73
+ "description": "Описание для ячейки 2-2"
74
+ }
75
+ ],
76
+ [
77
+ {
78
+ "label": "Ячейка 3"
79
+ }
80
+ ]
81
+ ]
82
+ }
83
+ ]
84
+ }