@redneckz/wildless-cms-uni-blocks 0.2.83 → 0.2.86

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 (284) hide show
  1. package/bundle/blocks.schema.json +1 -945
  2. package/bundle/bundle.umd.js +203 -198
  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/AccordionContent.d.ts +29 -10
  7. package/dist/components/Accordion/AccordionItem.d.ts +2 -2
  8. package/dist/components/Accordion/AccordionItem.js +5 -6
  9. package/dist/components/Accordion/AccordionItem.js.map +1 -1
  10. package/dist/components/BaseTile/BaseTile.d.ts +2 -2
  11. package/dist/components/BaseTile/BaseTile.js +1 -1
  12. package/dist/components/BaseTile/BaseTile.js.map +1 -1
  13. package/dist/components/BaseTile/BaseTileProps.d.ts +31 -0
  14. package/dist/{model/SitemapContent.js → components/BaseTile/BaseTileProps.js} +1 -1
  15. package/dist/components/BaseTile/BaseTileProps.js.map +1 -0
  16. package/dist/components/BenefitsBlock/BenefitsBlock.d.ts +1 -1
  17. package/dist/components/BenefitsBlock/BenefitsBlock.js +2 -1
  18. package/dist/components/BenefitsBlock/BenefitsBlock.js.map +1 -1
  19. package/dist/components/BenefitsBlock/BenefitsBlockContent.d.ts +14 -1
  20. package/dist/components/BlockContent.d.ts +4 -1
  21. package/dist/components/ComparisonTable/ComparisonTableContent.d.ts +45 -2
  22. package/dist/components/ComparisonTable/HeaderCell.d.ts +2 -2
  23. package/dist/components/ContentPage/ContentPage.d.ts +3 -2
  24. package/dist/components/ContentPage/ContentPage.js.map +1 -1
  25. package/dist/components/CreditCalculator/CreditCalculatorContent.d.ts +4 -0
  26. package/dist/components/ExchangeRateTile/ExchangeRateTile.d.ts +1 -1
  27. package/dist/components/ExchangeRateTile/ExchangeRateTile.js +1 -1
  28. package/dist/components/ExchangeRateTile/ExchangeRateTile.js.map +1 -1
  29. package/dist/components/ExchangeRateTile/ExchangeRateTileContent.d.ts +4 -0
  30. package/dist/components/Footer/Contacts.js +2 -2
  31. package/dist/components/Footer/Contacts.js.map +1 -1
  32. package/dist/components/Footer/FooterContent.d.ts +35 -9
  33. package/dist/components/Footer/FooterLink.d.ts +2 -2
  34. package/dist/components/Footer/HorizontalNavigation.js.map +1 -1
  35. package/dist/components/Footer/Sitemap.d.ts +1 -1
  36. package/dist/components/Footer/Sitemap.js +1 -1
  37. package/dist/components/Footer/Sitemap.js.map +1 -1
  38. package/dist/components/Footer/SocialMedia.d.ts +2 -2
  39. package/dist/components/Footer/SocialMedia.js +2 -2
  40. package/dist/components/Footer/SocialMedia.js.map +1 -1
  41. package/dist/components/Footer/TextInformation.js.map +1 -1
  42. package/dist/components/Gallery/GalleryContent.d.ts +13 -0
  43. package/dist/components/Header/HeaderContent.d.ts +10 -2
  44. package/dist/components/Header/HeaderSecondaryMenu.js +1 -1
  45. package/dist/components/Header/HeaderSecondaryMenu.js.map +1 -1
  46. package/dist/components/Header/HeaderSecondaryMenuButton.js +1 -1
  47. package/dist/components/Header/HeaderSecondaryMenuButton.js.map +1 -1
  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/MiniGallery/MiniGallery.d.ts +3 -3
  53. package/dist/components/MiniGallery/MiniGalleryContent.d.ts +6 -0
  54. package/dist/components/MiniGallery/MiniGalleryContent.js +2 -0
  55. package/dist/components/MiniGallery/MiniGalleryContent.js.map +1 -0
  56. package/dist/components/MobileAppTile/MobileAppTileContent.d.ts +11 -2
  57. package/dist/components/Placeholder/PlaceholderContent.d.ts +3 -0
  58. package/dist/components/ProductBlock/ProductBlock.mobile.d.ts +2 -2
  59. package/dist/components/ProductBlock/ProductBlock.mobile.js.map +1 -1
  60. package/dist/components/ProductBlock/ProductBlockContent.d.ts +10 -5
  61. package/dist/components/ProductBlock/ProductBlockInner.d.ts +2 -2
  62. package/dist/components/ProductBlock/ProductBlockInner.js +1 -1
  63. package/dist/components/ProductBlock/ProductBlockInner.js.map +1 -1
  64. package/dist/components/ProductGallery/ProductGallery.d.ts +1 -1
  65. package/dist/components/ProductGallery/ProductGallery.js.map +1 -1
  66. package/dist/components/ProductGallery/ProductGalleryContent.d.ts +17 -2
  67. package/dist/components/ProductTile/ProductTileContent.d.ts +6 -2
  68. package/dist/components/PromoTile/PromoTileContent.d.ts +6 -2
  69. package/dist/components/StepsBlock/StepsBlockContent.d.ts +13 -0
  70. package/dist/components/TextBlock/TextBlockContent.d.ts +13 -0
  71. package/dist/components/Tile/TileContent.d.ts +5 -2
  72. package/dist/hooks/useLink.d.ts +3 -3
  73. package/dist/hooks/useLink.js.map +1 -1
  74. package/dist/index.d.ts +12 -12
  75. package/dist/index.js +10 -10
  76. package/dist/index.js.map +1 -1
  77. package/dist/mergeTopItems.d.ts +2 -2
  78. package/dist/mergeTopItems.js.map +1 -1
  79. package/dist/model/BlockVersion.d.ts +4 -0
  80. package/dist/model/ButtonVersion.d.ts +4 -0
  81. package/dist/model/LinkProps.d.ts +21 -0
  82. package/dist/model/{LinkContent.js → LinkProps.js} +1 -1
  83. package/dist/model/LinkProps.js.map +1 -0
  84. package/dist/model/Picture.d.ts +11 -0
  85. package/dist/model/SitemapProps.d.ts +13 -0
  86. package/dist/{components/BaseTile/BaseTileContent.js → model/SitemapProps.js} +1 -1
  87. package/dist/model/SitemapProps.js.map +1 -0
  88. package/dist/types.d.ts +2 -2
  89. package/dist/ui-kit/Breadcrumb.d.ts +2 -2
  90. package/dist/ui-kit/Button/Button.d.ts +6 -3
  91. package/dist/ui-kit/Button/Button.js.map +1 -1
  92. package/dist/ui-kit/Button/ButtonProps.d.ts +15 -12
  93. package/dist/ui-kit/Icon/Icon.js +7 -1
  94. package/dist/ui-kit/Icon/Icon.js.map +1 -1
  95. package/dist/ui-kit/Icon/IconProps.d.ts +50 -19
  96. package/dist/ui-kit/Icon/IconProps.js +21 -18
  97. package/dist/ui-kit/Icon/IconProps.js.map +1 -1
  98. package/dist/ui-kit/TopItem/TopItem.d.ts +2 -2
  99. package/lib/common.css +1 -1
  100. package/lib/components/Accordion/Accordion.js +1 -1
  101. package/lib/components/Accordion/Accordion.js.map +1 -1
  102. package/lib/components/Accordion/AccordionContent.d.ts +29 -10
  103. package/lib/components/Accordion/AccordionItem.d.ts +2 -2
  104. package/lib/components/Accordion/AccordionItem.js +5 -6
  105. package/lib/components/Accordion/AccordionItem.js.map +1 -1
  106. package/lib/components/BaseTile/BaseTile.d.ts +2 -2
  107. package/lib/components/BaseTile/BaseTile.js +1 -1
  108. package/lib/components/BaseTile/BaseTile.js.map +1 -1
  109. package/lib/components/BaseTile/BaseTileProps.d.ts +31 -0
  110. package/lib/components/BaseTile/BaseTileProps.js +2 -0
  111. package/lib/components/BaseTile/BaseTileProps.js.map +1 -0
  112. package/lib/components/BenefitsBlock/BenefitsBlock.d.ts +1 -1
  113. package/lib/components/BenefitsBlock/BenefitsBlock.js +2 -1
  114. package/lib/components/BenefitsBlock/BenefitsBlock.js.map +1 -1
  115. package/lib/components/BenefitsBlock/BenefitsBlockContent.d.ts +14 -1
  116. package/lib/components/BlockContent.d.ts +4 -1
  117. package/lib/components/ComparisonTable/ComparisonTableContent.d.ts +45 -2
  118. package/lib/components/ComparisonTable/HeaderCell.d.ts +2 -2
  119. package/lib/components/ContentPage/ContentPage.d.ts +3 -2
  120. package/lib/components/ContentPage/ContentPage.js.map +1 -1
  121. package/lib/components/CreditCalculator/CreditCalculatorContent.d.ts +4 -0
  122. package/lib/components/ExchangeRateTile/ExchangeRateTile.d.ts +1 -1
  123. package/lib/components/ExchangeRateTile/ExchangeRateTile.js +1 -1
  124. package/lib/components/ExchangeRateTile/ExchangeRateTile.js.map +1 -1
  125. package/lib/components/ExchangeRateTile/ExchangeRateTileContent.d.ts +4 -0
  126. package/lib/components/Footer/Contacts.js +2 -2
  127. package/lib/components/Footer/Contacts.js.map +1 -1
  128. package/lib/components/Footer/FooterContent.d.ts +35 -9
  129. package/lib/components/Footer/FooterLink.d.ts +2 -2
  130. package/lib/components/Footer/HorizontalNavigation.js.map +1 -1
  131. package/lib/components/Footer/Sitemap.d.ts +1 -1
  132. package/lib/components/Footer/Sitemap.js +1 -1
  133. package/lib/components/Footer/Sitemap.js.map +1 -1
  134. package/lib/components/Footer/SocialMedia.d.ts +2 -2
  135. package/lib/components/Footer/SocialMedia.js +2 -2
  136. package/lib/components/Footer/SocialMedia.js.map +1 -1
  137. package/lib/components/Footer/TextInformation.js.map +1 -1
  138. package/lib/components/Gallery/GalleryContent.d.ts +13 -0
  139. package/lib/components/Header/HeaderContent.d.ts +10 -2
  140. package/lib/components/Header/HeaderSecondaryMenu.js +1 -1
  141. package/lib/components/Header/HeaderSecondaryMenu.js.map +1 -1
  142. package/lib/components/Header/HeaderSecondaryMenuButton.js +1 -1
  143. package/lib/components/Header/HeaderSecondaryMenuButton.js.map +1 -1
  144. package/lib/components/Header/isSubItemActive.d.ts +2 -2
  145. package/lib/components/Header/isSubItemActive.js.map +1 -1
  146. package/lib/components/Header/isTopItemActive.d.ts +2 -2
  147. package/lib/components/Header/isTopItemActive.js.map +1 -1
  148. package/lib/components/MiniGallery/MiniGallery.d.ts +3 -3
  149. package/lib/components/MiniGallery/MiniGalleryContent.d.ts +6 -0
  150. package/lib/components/MiniGallery/MiniGalleryContent.js +2 -0
  151. package/lib/components/MiniGallery/MiniGalleryContent.js.map +1 -0
  152. package/lib/components/MobileAppTile/MobileAppTileContent.d.ts +11 -2
  153. package/lib/components/Placeholder/PlaceholderContent.d.ts +3 -0
  154. package/lib/components/ProductBlock/ProductBlock.mobile.d.ts +2 -2
  155. package/lib/components/ProductBlock/ProductBlock.mobile.js.map +1 -1
  156. package/lib/components/ProductBlock/ProductBlockContent.d.ts +10 -5
  157. package/lib/components/ProductBlock/ProductBlockInner.d.ts +2 -2
  158. package/lib/components/ProductBlock/ProductBlockInner.js +1 -1
  159. package/lib/components/ProductBlock/ProductBlockInner.js.map +1 -1
  160. package/lib/components/ProductGallery/ProductGallery.d.ts +1 -1
  161. package/lib/components/ProductGallery/ProductGallery.js.map +1 -1
  162. package/lib/components/ProductGallery/ProductGalleryContent.d.ts +17 -2
  163. package/lib/components/ProductTile/ProductTileContent.d.ts +6 -2
  164. package/lib/components/PromoTile/PromoTileContent.d.ts +6 -2
  165. package/lib/components/StepsBlock/StepsBlockContent.d.ts +13 -0
  166. package/lib/components/TextBlock/TextBlockContent.d.ts +13 -0
  167. package/lib/components/Tile/TileContent.d.ts +5 -2
  168. package/lib/hooks/useLink.d.ts +3 -3
  169. package/lib/hooks/useLink.js.map +1 -1
  170. package/lib/index.d.ts +12 -12
  171. package/lib/index.js +5 -5
  172. package/lib/index.js.map +1 -1
  173. package/lib/mergeTopItems.d.ts +2 -2
  174. package/lib/mergeTopItems.js.map +1 -1
  175. package/lib/model/BlockVersion.d.ts +4 -0
  176. package/lib/model/ButtonVersion.d.ts +4 -0
  177. package/lib/model/LinkProps.d.ts +21 -0
  178. package/lib/model/LinkProps.js +2 -0
  179. package/lib/model/LinkProps.js.map +1 -0
  180. package/lib/model/Picture.d.ts +11 -0
  181. package/lib/model/SitemapProps.d.ts +13 -0
  182. package/lib/model/SitemapProps.js +2 -0
  183. package/lib/model/SitemapProps.js.map +1 -0
  184. package/lib/types.d.ts +2 -2
  185. package/lib/ui-kit/Breadcrumb.d.ts +2 -2
  186. package/lib/ui-kit/Button/Button.d.ts +6 -3
  187. package/lib/ui-kit/Button/Button.js.map +1 -1
  188. package/lib/ui-kit/Button/ButtonProps.d.ts +15 -12
  189. package/lib/ui-kit/Icon/Icon.js +7 -1
  190. package/lib/ui-kit/Icon/Icon.js.map +1 -1
  191. package/lib/ui-kit/Icon/IconProps.d.ts +50 -19
  192. package/lib/ui-kit/Icon/IconProps.js +21 -18
  193. package/lib/ui-kit/Icon/IconProps.js.map +1 -1
  194. package/lib/ui-kit/TopItem/TopItem.d.ts +2 -2
  195. package/package.json +17 -36
  196. package/src/components/Accordion/Accordion.example.json +74 -0
  197. package/src/components/Accordion/Accordion.fixture.tsx +1 -16
  198. package/src/components/Accordion/Accordion.tsx +1 -1
  199. package/src/components/Accordion/AccordionContent.ts +31 -11
  200. package/src/components/Accordion/AccordionItem.tsx +10 -10
  201. package/src/components/BaseTile/BaseTile.tsx +4 -5
  202. package/src/components/BaseTile/BaseTileProps.ts +33 -0
  203. package/src/components/BenefitsBlock/BenefitsBlock.example.json +13 -0
  204. package/src/components/BenefitsBlock/BenefitsBlock.tsx +3 -2
  205. package/src/components/BenefitsBlock/BenefitsBlockContent.ts +14 -1
  206. package/src/components/BlockContent.ts +4 -1
  207. package/src/components/ComparisonTable/ComparisonTable.example.json +84 -0
  208. package/src/components/ComparisonTable/ComparisonTableContent.ts +46 -3
  209. package/src/components/ComparisonTable/HeaderCell.tsx +2 -2
  210. package/src/components/ContentPage/ContentPage.tsx +7 -5
  211. package/src/components/CreditCalculator/CreditCalculatorContent.ts +4 -0
  212. package/src/components/ExchangeRateTile/ExchangeRateTile.tsx +2 -2
  213. package/src/components/ExchangeRateTile/ExchangeRateTileContent.ts +4 -0
  214. package/src/components/Footer/Contacts.tsx +2 -2
  215. package/src/components/Footer/FooterContent.ts +36 -9
  216. package/src/components/Footer/FooterLink.ts +2 -2
  217. package/src/components/Footer/HorizontalNavigation.tsx +2 -2
  218. package/src/components/Footer/Sitemap.tsx +5 -5
  219. package/src/components/Footer/SocialMedia.tsx +5 -12
  220. package/src/components/Footer/TextInformation.tsx +2 -2
  221. package/src/components/Gallery/Gallery.example.json +71 -0
  222. package/src/components/Gallery/GalleryContent.ts +13 -0
  223. package/src/components/Header/HeaderContent.ts +10 -2
  224. package/src/components/Header/HeaderSecondaryMenu.tsx +4 -8
  225. package/src/components/Header/HeaderSecondaryMenuButton.tsx +1 -1
  226. package/src/components/Header/isSubItemActive.ts +3 -3
  227. package/src/components/Header/isTopItemActive.ts +3 -3
  228. package/src/components/MiniGallery/MiniGallery.example.json +61 -0
  229. package/src/components/MiniGallery/MiniGallery.tsx +3 -3
  230. package/src/components/MiniGallery/MiniGalleryContent.ts +6 -0
  231. package/src/components/MobileAppTile/MobileAppTile.example.json +20 -0
  232. package/src/components/MobileAppTile/MobileAppTileContent.ts +11 -2
  233. package/src/components/Placeholder/PlaceholderContent.ts +3 -0
  234. package/src/components/ProductBlock/ProductBlock.example.json +17 -0
  235. package/src/components/ProductBlock/ProductBlock.mobile.tsx +3 -3
  236. package/src/components/ProductBlock/ProductBlockContent.ts +10 -5
  237. package/src/components/ProductBlock/ProductBlockInner.tsx +4 -4
  238. package/src/components/ProductGallery/ProductGallery.example.json +21 -0
  239. package/src/components/ProductGallery/ProductGallery.tsx +3 -3
  240. package/src/components/ProductGallery/ProductGalleryContent.ts +17 -2
  241. package/src/components/ProductTile/ProductTile.example.json +30 -0
  242. package/src/components/ProductTile/ProductTileContent.ts +6 -2
  243. package/src/components/PromoTile/PromoTile.example.json +13 -0
  244. package/src/components/PromoTile/PromoTileContent.ts +6 -2
  245. package/src/components/StepsBlock/StepsBlock.example.json +17 -0
  246. package/src/components/StepsBlock/StepsBlockContent.ts +13 -0
  247. package/src/components/TextBlock/TextBlock.example.json +6 -0
  248. package/src/components/TextBlock/TextBlockContent.ts +14 -0
  249. package/src/components/Tile/Tile.example.json +18 -0
  250. package/src/components/Tile/TileContent.ts +5 -2
  251. package/src/hooks/useLink.ts +2 -2
  252. package/src/icons/GridIcon.svg +4 -7
  253. package/src/index.ts +14 -21
  254. package/src/mergeTopItems.ts +5 -5
  255. package/src/model/BlockVersion.ts +4 -0
  256. package/src/model/ButtonVersion.ts +4 -0
  257. package/src/model/LinkProps.ts +22 -0
  258. package/src/model/Picture.ts +11 -0
  259. package/src/model/SitemapProps.ts +15 -0
  260. package/src/types.ts +2 -2
  261. package/src/ui-kit/Breadcrumb.tsx +2 -2
  262. package/src/ui-kit/Button/Button.tsx +7 -3
  263. package/src/ui-kit/Button/ButtonProps.ts +16 -13
  264. package/src/ui-kit/Icon/Icon.tsx +23 -9
  265. package/src/ui-kit/Icon/IconProps.ts +36 -5
  266. package/src/ui-kit/TopItem/TopItem.tsx +2 -2
  267. package/dist/components/BaseTile/BaseTileContent.d.ts +0 -13
  268. package/dist/components/BaseTile/BaseTileContent.js.map +0 -1
  269. package/dist/model/LinkContent.d.ts +0 -5
  270. package/dist/model/LinkContent.js.map +0 -1
  271. package/dist/model/SitemapContent.d.ts +0 -7
  272. package/dist/model/SitemapContent.js.map +0 -1
  273. package/lib/components/BaseTile/BaseTileContent.d.ts +0 -13
  274. package/lib/components/BaseTile/BaseTileContent.js +0 -2
  275. package/lib/components/BaseTile/BaseTileContent.js.map +0 -1
  276. package/lib/model/LinkContent.d.ts +0 -5
  277. package/lib/model/LinkContent.js +0 -2
  278. package/lib/model/LinkContent.js.map +0 -1
  279. package/lib/model/SitemapContent.d.ts +0 -7
  280. package/lib/model/SitemapContent.js +0 -2
  281. package/lib/model/SitemapContent.js.map +0 -1
  282. package/src/components/BaseTile/BaseTileContent.ts +0 -14
  283. package/src/model/LinkContent.ts +0 -5
  284. package/src/model/SitemapContent.ts +0 -9
@@ -1,15 +1,28 @@
1
1
  import type { Picture } from '../../model/Picture';
2
2
 
3
+ /**
4
+ * @title Карточка
5
+ */
3
6
  export interface GalleryCard {
7
+ /** @title Заголовок */
4
8
  title?: string;
9
+ /** @title Описание */
5
10
  description?: string;
6
11
  image?: Picture;
12
+ /** @title Ссылка */
7
13
  href?: string;
14
+ /** @title Список */
8
15
  items?: string[];
9
16
  }
10
17
 
18
+ /**
19
+ * @title Галерея
20
+ */
11
21
  export interface GalleryContent {
22
+ /** @title Заголовок */
12
23
  title?: string;
24
+ /** @title Описание */
13
25
  description?: string;
26
+ /** @title Карточки */
14
27
  cards?: GalleryCard[];
15
28
  }
@@ -1,5 +1,13 @@
1
- import { SitemapContent } from '../../model/SitemapContent';
1
+ import type { SitemapProps } from '../../model/SitemapProps';
2
2
 
3
- export interface HeaderContent extends SitemapContent {
3
+ /**
4
+ * @title Шапка
5
+ * @required ["defaultLocation", "topItems"]
6
+ */
7
+ export interface HeaderContent extends SitemapProps {
8
+ /**
9
+ * @title Город по-умолчанию
10
+ * @default Москва
11
+ */
4
12
  defaultLocation?: string;
5
13
  }
@@ -36,23 +36,19 @@ export const HeaderSecondaryMenu = JSX<HeaderSecondaryMenuProps>(
36
36
  className="mr-5 text-primary-text hover:text-primary-main"
37
37
  ariaLabel="Поиск по сайту"
38
38
  >
39
- <Icon name="LoupeIcon" aria-hidden="true" />
39
+ <Icon name="LoupeIcon" aria-hidden="true" className="h-full" asSVG />
40
40
  </HeaderSecondaryMenuButton>
41
41
  <HeaderSecondaryMenuButton
42
42
  className="mr-5 text-primary-text hover:text-primary-main"
43
43
  ariaLabel="Профиль"
44
44
  >
45
- <Icon name="ProfileIcon" aria-hidden="true" />
45
+ <Icon name="ProfileIcon" aria-hidden="true" className="h-full" asSVG />
46
46
  </HeaderSecondaryMenuButton>
47
47
  <HeaderSecondaryMenuButton
48
- className="mr-5 text-secondary-light hover:text-primary-main min-w-[32px] min-h-[32px]"
48
+ className="min-w-[32px] min-h-[32px] fill-secondary-light hover:fill-secondary-hover"
49
49
  ariaLabel="Дополнительные ссылки"
50
50
  >
51
- <Icon
52
- name="GridIcon"
53
- aria-hidden="true"
54
- className="[&>*]:fill-secondary-light [&>*]:hover:fill-primary-main"
55
- />
51
+ <Icon name="GridIcon" aria-hidden="true" className="h-full" asSVG />
56
52
  </HeaderSecondaryMenuButton>
57
53
  </div>
58
54
  );
@@ -9,7 +9,7 @@ export const HeaderSecondaryMenuButton = JSX<HeaderSecondaryMenuButtonProps>(
9
9
  ({ className, children, ariaLabel }) => (
10
10
  <button
11
11
  type="button"
12
- className={`border-0 p-0 w-[24px] flex items-center bg-inherit cursor-pointer ${
12
+ className={`border-0 p-0 w-[24px] h-[24px] flex items-center bg-inherit cursor-pointer ${
13
13
  className || ''
14
14
  }`}
15
15
  disabled={true}
@@ -1,7 +1,7 @@
1
- import type { Router } from '../ContentPage/ContentPageContext';
2
- import type { LinkContent } from '../../model/LinkContent';
1
+ import type { LinkProps } from '../../model/LinkProps';
3
2
  import { isHrefActive } from '../../utils/url';
3
+ import type { Router } from '../ContentPage/ContentPageContext';
4
4
 
5
5
  export function isSubItemActive(router: Router) {
6
- return (subItem: LinkContent): boolean => isHrefActive(subItem.href, router);
6
+ return (subItem: LinkProps): boolean => isHrefActive(subItem.href, router);
7
7
  }
@@ -1,8 +1,8 @@
1
- import type { Router } from '../ContentPage/ContentPageContext';
2
- import type { LinkContent } from '../../model/LinkContent';
1
+ import type { LinkProps } from '../../model/LinkProps';
3
2
  import { isHrefActive } from '../../utils/url';
3
+ import type { Router } from '../ContentPage/ContentPageContext';
4
4
 
5
5
  export function isTopItemActive(router: Router) {
6
- return (topItem: LinkContent): boolean =>
6
+ return (topItem: LinkProps): boolean =>
7
7
  isHrefActive(topItem.href, router, (topItemHref, baseHref) => baseHref.startsWith(topItemHref));
8
8
  }
@@ -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
  }
@@ -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
 
11
+ /**
12
+ * @title Слайд
13
+ */
8
14
  export interface ProductSlideContent {
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;
29
+ /** @title Слайды */
15
30
  slides?: ProductSlideContent[];
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
  }
@@ -0,0 +1,13 @@
1
+ {
2
+ "title": "Акции и спецпредложения",
3
+ "date": "2022-04-16",
4
+ "description": "Пенсионный кредит по специальной процентной ставке",
5
+ "buttons": [
6
+ {
7
+ "text": "Все акции",
8
+ "href": "/credits",
9
+ "version": "secondary"
10
+ }
11
+ ],
12
+ "version": "secondary"
13
+ }
@@ -1,5 +1,9 @@
1
- import type { BaseTileContent } from '../BaseTile/BaseTileContent';
1
+ import type { BaseTileCommonProps } from '../BaseTile/BaseTileProps';
2
2
 
3
- export interface PromoTileContent extends BaseTileContent {
3
+ /**
4
+ * @title Акции
5
+ */
6
+ export interface PromoTileContent extends BaseTileCommonProps {
7
+ /** @title Дата публикации */
4
8
  date?: string;
5
9
  }
@@ -0,0 +1,17 @@
1
+ {
2
+ "title": "Шаги",
3
+ "steps": [
4
+ {
5
+ "label": "Шаг №1",
6
+ "icon": "NewDocIcon"
7
+ },
8
+ {
9
+ "label": "Шаг №2",
10
+ "icon": "PassSendIcon"
11
+ },
12
+ {
13
+ "label": "Шаг №3",
14
+ "icon": "ActualBalanceIcon"
15
+ }
16
+ ]
17
+ }
@@ -1,12 +1,25 @@
1
1
  import type { IconName } from '../../ui-kit/Icon/IconProps';
2
2
 
3
+ /**
4
+ * @title Шаг
5
+ */
3
6
  export interface Step {
7
+ /** @title Название */
4
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 StepsBlockContent {
18
+ /** @title Заголовок */
10
19
  title?: string;
20
+ /**
21
+ * @title Шаги
22
+ * @maxItems 6
23
+ */
11
24
  steps?: Step[];
12
25
  }
@@ -0,0 +1,6 @@
1
+ {
2
+ "title": "Заголовок",
3
+ "description": "Описание",
4
+ "blockVersion": "primary",
5
+ "iconVersion": "small"
6
+ }
@@ -1,10 +1,24 @@
1
1
  import type { Picture } from '../../model/Picture';
2
2
 
3
+ /**
4
+ * @title Цвет плитки
5
+ * @enumNames ["Основная", "Второстепенная", "Второстепенная прозрачная"]
6
+ */
3
7
  export type TextBlockVersion = 'primary' | 'secondary' | 'secondary-light';
8
+
9
+ /**
10
+ * @title Размер иконки
11
+ * @enumNames ["Нет", "Маленькая", "Большая"]
12
+ */
4
13
  export type TextBlockIconVersion = 'none' | 'small' | 'big';
5
14
 
15
+ /**
16
+ * @title Текстовый блок
17
+ */
6
18
  export interface TextBlockContent {
19
+ /** @title Заголовок */
7
20
  title?: string;
21
+ /** @title Описание */
8
22
  description?: string;
9
23
  blockVersion?: TextBlockVersion;
10
24
  iconVersion?: TextBlockIconVersion;
@@ -0,0 +1,18 @@
1
+ {
2
+ "title": "Плитка",
3
+ "titleSize": "M",
4
+ "description": "Описание",
5
+ "image": {
6
+ "format": "webp",
7
+ "size": {
8
+ "width": 300
9
+ }
10
+ },
11
+ "items": ["Пункт 1", "Пункт 2", "Пункт 3"],
12
+ "buttons": [
13
+ {
14
+ "text": "Подробнее",
15
+ "version": "primary"
16
+ }
17
+ ]
18
+ }
@@ -1,3 +1,6 @@
1
- import type { BaseTileContent } from '../BaseTile/BaseTileContent';
1
+ import type { BaseTileCommonProps } from '../BaseTile/BaseTileProps';
2
2
 
3
- export type TileContent = BaseTileContent;
3
+ /**
4
+ * @title Плитка
5
+ */
6
+ export type TileContent = BaseTileCommonProps;
@@ -1,5 +1,5 @@
1
1
  import { HandlerDecorator, Router } from '../components/ContentPage/ContentPageContext';
2
- import type { LinkContent } from '../model/LinkContent';
2
+ import type { LinkProps } from '../model/LinkProps';
3
3
  import { adjustHref, isURL } from '../utils/url';
4
4
 
5
5
  const defaultHandlerDecorator: HandlerDecorator = (handler, targetContent) => handler;
@@ -9,7 +9,7 @@ export function useLink(
9
9
  router,
10
10
  handlerDecorator = defaultHandlerDecorator,
11
11
  }: { router: Router; handlerDecorator?: HandlerDecorator },
12
- link: Partial<LinkContent & { className: string }>,
12
+ link: Partial<LinkProps & { className: string }>,
13
13
  ) {
14
14
  const href = adjustHref(link.href, router);
15
15
  return {
@@ -1,7 +1,4 @@
1
- <svg id="icon" xmlns="http://www.w3.org/2000/svg" viewBox="0 0 32 32">
2
- <rect y=".5" width="32" height="32" rx="16"/>
3
- <path
4
- fill="#1c1c1c"
5
- d="M13 11.5a1.5 1.5 0 1 1-3 0 1.5 1.5 0 0 1 3 0ZM13 16.5a1.5 1.5 0 1 1-3 0 1.5 1.5 0 0 1 3 0ZM11.5 23a1.5 1.5 0 1 0 0-3 1.5 1.5 0 0 0 0 3ZM18 11.5a1.5 1.5 0 1 1-3 0 1.5 1.5 0 0 1 3 0ZM16.5 18a1.5 1.5 0 1 0 0-3 1.5 1.5 0 0 0 0 3ZM18 21.5a1.5 1.5 0 1 1-3 0 1.5 1.5 0 0 1 3 0ZM21.5 13a1.5 1.5 0 1 0 0-3 1.5 1.5 0 0 0 0 3ZM23 16.5a1.5 1.5 0 1 1-3 0 1.5 1.5 0 0 1 3 0ZM21.5 23a1.5 1.5 0 1 0 0-3 1.5 1.5 0 0 0 0 3Z"
6
- />
7
- </svg>
1
+ <svg id="icon" xmlns="http://www.w3.org/2000/svg" viewBox="0 0 32 33">
2
+ <rect width="32" height="32" y=".5" rx="16"/>
3
+ <path fill="#1C1C1C" d="M13 11.5a1.5 1.5 0 1 1-3 0 1.5 1.5 0 0 1 3 0ZM13 16.5a1.5 1.5 0 1 1-3 0 1.5 1.5 0 0 1 3 0ZM11.5 23a1.5 1.5 0 1 0 0-3 1.5 1.5 0 0 0 0 3ZM18 11.5a1.5 1.5 0 1 1-3 0 1.5 1.5 0 0 1 3 0ZM16.5 18a1.5 1.5 0 1 0 0-3 1.5 1.5 0 0 0 0 3ZM18 21.5a1.5 1.5 0 1 1-3 0 1.5 1.5 0 0 1 3 0ZM21.5 13a1.5 1.5 0 1 0 0-3 1.5 1.5 0 0 0 0 3ZM23 16.5a1.5 1.5 0 1 1-3 0 1.5 1.5 0 0 1 3 0ZM21.5 23a1.5 1.5 0 1 0 0-3 1.5 1.5 0 0 0 0 3Z"/>
4
+ </svg>