@redneckz/wildless-cms-uni-blocks 0.2.85 → 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 (264) hide show
  1. package/bundle/blocks.schema.json +1 -945
  2. package/bundle/bundle.umd.js +194 -195
  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/TextInformation.js.map +1 -1
  40. package/dist/components/Gallery/GalleryContent.d.ts +13 -0
  41. package/dist/components/Header/HeaderContent.d.ts +10 -2
  42. package/dist/components/Header/isSubItemActive.d.ts +2 -2
  43. package/dist/components/Header/isSubItemActive.js.map +1 -1
  44. package/dist/components/Header/isTopItemActive.d.ts +2 -2
  45. package/dist/components/Header/isTopItemActive.js.map +1 -1
  46. package/dist/components/MiniGallery/MiniGallery.d.ts +3 -3
  47. package/dist/components/MiniGallery/MiniGalleryContent.d.ts +6 -0
  48. package/dist/components/MiniGallery/MiniGalleryContent.js +2 -0
  49. package/dist/components/MiniGallery/MiniGalleryContent.js.map +1 -0
  50. package/dist/components/MobileAppTile/MobileAppTileContent.d.ts +11 -2
  51. package/dist/components/Placeholder/PlaceholderContent.d.ts +3 -0
  52. package/dist/components/ProductBlock/ProductBlock.mobile.d.ts +2 -2
  53. package/dist/components/ProductBlock/ProductBlock.mobile.js.map +1 -1
  54. package/dist/components/ProductBlock/ProductBlockContent.d.ts +10 -5
  55. package/dist/components/ProductBlock/ProductBlockInner.d.ts +2 -2
  56. package/dist/components/ProductBlock/ProductBlockInner.js +1 -1
  57. package/dist/components/ProductBlock/ProductBlockInner.js.map +1 -1
  58. package/dist/components/ProductGallery/ProductGallery.d.ts +1 -1
  59. package/dist/components/ProductGallery/ProductGallery.js.map +1 -1
  60. package/dist/components/ProductGallery/ProductGalleryContent.d.ts +17 -2
  61. package/dist/components/ProductTile/ProductTileContent.d.ts +6 -2
  62. package/dist/components/PromoTile/PromoTileContent.d.ts +6 -2
  63. package/dist/components/StepsBlock/StepsBlockContent.d.ts +13 -0
  64. package/dist/components/TextBlock/TextBlockContent.d.ts +13 -0
  65. package/dist/components/Tile/TileContent.d.ts +5 -2
  66. package/dist/hooks/useLink.d.ts +3 -3
  67. package/dist/hooks/useLink.js.map +1 -1
  68. package/dist/index.d.ts +12 -12
  69. package/dist/index.js +10 -10
  70. package/dist/index.js.map +1 -1
  71. package/dist/mergeTopItems.d.ts +2 -2
  72. package/dist/mergeTopItems.js.map +1 -1
  73. package/dist/model/BlockVersion.d.ts +4 -0
  74. package/dist/model/ButtonVersion.d.ts +4 -0
  75. package/dist/model/LinkProps.d.ts +21 -0
  76. package/dist/model/{LinkContent.js → LinkProps.js} +1 -1
  77. package/dist/model/LinkProps.js.map +1 -0
  78. package/dist/model/Picture.d.ts +11 -0
  79. package/dist/model/SitemapProps.d.ts +13 -0
  80. package/dist/{components/BaseTile/BaseTileContent.js → model/SitemapProps.js} +1 -1
  81. package/dist/model/SitemapProps.js.map +1 -0
  82. package/dist/types.d.ts +2 -2
  83. package/dist/ui-kit/Breadcrumb.d.ts +2 -2
  84. package/dist/ui-kit/Button/Button.d.ts +6 -3
  85. package/dist/ui-kit/Button/Button.js.map +1 -1
  86. package/dist/ui-kit/Button/ButtonProps.d.ts +15 -12
  87. package/dist/ui-kit/Icon/IconProps.d.ts +49 -18
  88. package/dist/ui-kit/Icon/IconProps.js +21 -18
  89. package/dist/ui-kit/Icon/IconProps.js.map +1 -1
  90. package/dist/ui-kit/TopItem/TopItem.d.ts +2 -2
  91. package/lib/common.css +1 -1
  92. package/lib/components/Accordion/Accordion.js +1 -1
  93. package/lib/components/Accordion/Accordion.js.map +1 -1
  94. package/lib/components/Accordion/AccordionContent.d.ts +29 -10
  95. package/lib/components/Accordion/AccordionItem.d.ts +2 -2
  96. package/lib/components/Accordion/AccordionItem.js +5 -6
  97. package/lib/components/Accordion/AccordionItem.js.map +1 -1
  98. package/lib/components/BaseTile/BaseTile.d.ts +2 -2
  99. package/lib/components/BaseTile/BaseTile.js +1 -1
  100. package/lib/components/BaseTile/BaseTile.js.map +1 -1
  101. package/lib/components/BaseTile/BaseTileProps.d.ts +31 -0
  102. package/lib/components/BaseTile/BaseTileProps.js +2 -0
  103. package/lib/components/BaseTile/BaseTileProps.js.map +1 -0
  104. package/lib/components/BenefitsBlock/BenefitsBlock.d.ts +1 -1
  105. package/lib/components/BenefitsBlock/BenefitsBlock.js +2 -1
  106. package/lib/components/BenefitsBlock/BenefitsBlock.js.map +1 -1
  107. package/lib/components/BenefitsBlock/BenefitsBlockContent.d.ts +14 -1
  108. package/lib/components/BlockContent.d.ts +4 -1
  109. package/lib/components/ComparisonTable/ComparisonTableContent.d.ts +45 -2
  110. package/lib/components/ComparisonTable/HeaderCell.d.ts +2 -2
  111. package/lib/components/ContentPage/ContentPage.d.ts +3 -2
  112. package/lib/components/ContentPage/ContentPage.js.map +1 -1
  113. package/lib/components/CreditCalculator/CreditCalculatorContent.d.ts +4 -0
  114. package/lib/components/ExchangeRateTile/ExchangeRateTile.d.ts +1 -1
  115. package/lib/components/ExchangeRateTile/ExchangeRateTile.js +1 -1
  116. package/lib/components/ExchangeRateTile/ExchangeRateTile.js.map +1 -1
  117. package/lib/components/ExchangeRateTile/ExchangeRateTileContent.d.ts +4 -0
  118. package/lib/components/Footer/Contacts.js +2 -2
  119. package/lib/components/Footer/Contacts.js.map +1 -1
  120. package/lib/components/Footer/FooterContent.d.ts +35 -9
  121. package/lib/components/Footer/FooterLink.d.ts +2 -2
  122. package/lib/components/Footer/HorizontalNavigation.js.map +1 -1
  123. package/lib/components/Footer/Sitemap.d.ts +1 -1
  124. package/lib/components/Footer/Sitemap.js +1 -1
  125. package/lib/components/Footer/Sitemap.js.map +1 -1
  126. package/lib/components/Footer/SocialMedia.d.ts +2 -2
  127. package/lib/components/Footer/TextInformation.js.map +1 -1
  128. package/lib/components/Gallery/GalleryContent.d.ts +13 -0
  129. package/lib/components/Header/HeaderContent.d.ts +10 -2
  130. package/lib/components/Header/isSubItemActive.d.ts +2 -2
  131. package/lib/components/Header/isSubItemActive.js.map +1 -1
  132. package/lib/components/Header/isTopItemActive.d.ts +2 -2
  133. package/lib/components/Header/isTopItemActive.js.map +1 -1
  134. package/lib/components/MiniGallery/MiniGallery.d.ts +3 -3
  135. package/lib/components/MiniGallery/MiniGalleryContent.d.ts +6 -0
  136. package/lib/components/MiniGallery/MiniGalleryContent.js +2 -0
  137. package/lib/components/MiniGallery/MiniGalleryContent.js.map +1 -0
  138. package/lib/components/MobileAppTile/MobileAppTileContent.d.ts +11 -2
  139. package/lib/components/Placeholder/PlaceholderContent.d.ts +3 -0
  140. package/lib/components/ProductBlock/ProductBlock.mobile.d.ts +2 -2
  141. package/lib/components/ProductBlock/ProductBlock.mobile.js.map +1 -1
  142. package/lib/components/ProductBlock/ProductBlockContent.d.ts +10 -5
  143. package/lib/components/ProductBlock/ProductBlockInner.d.ts +2 -2
  144. package/lib/components/ProductBlock/ProductBlockInner.js +1 -1
  145. package/lib/components/ProductBlock/ProductBlockInner.js.map +1 -1
  146. package/lib/components/ProductGallery/ProductGallery.d.ts +1 -1
  147. package/lib/components/ProductGallery/ProductGallery.js.map +1 -1
  148. package/lib/components/ProductGallery/ProductGalleryContent.d.ts +17 -2
  149. package/lib/components/ProductTile/ProductTileContent.d.ts +6 -2
  150. package/lib/components/PromoTile/PromoTileContent.d.ts +6 -2
  151. package/lib/components/StepsBlock/StepsBlockContent.d.ts +13 -0
  152. package/lib/components/TextBlock/TextBlockContent.d.ts +13 -0
  153. package/lib/components/Tile/TileContent.d.ts +5 -2
  154. package/lib/hooks/useLink.d.ts +3 -3
  155. package/lib/hooks/useLink.js.map +1 -1
  156. package/lib/index.d.ts +12 -12
  157. package/lib/index.js +5 -5
  158. package/lib/index.js.map +1 -1
  159. package/lib/mergeTopItems.d.ts +2 -2
  160. package/lib/mergeTopItems.js.map +1 -1
  161. package/lib/model/BlockVersion.d.ts +4 -0
  162. package/lib/model/ButtonVersion.d.ts +4 -0
  163. package/lib/model/LinkProps.d.ts +21 -0
  164. package/lib/model/LinkProps.js +2 -0
  165. package/lib/model/LinkProps.js.map +1 -0
  166. package/lib/model/Picture.d.ts +11 -0
  167. package/lib/model/SitemapProps.d.ts +13 -0
  168. package/lib/model/SitemapProps.js +2 -0
  169. package/lib/model/SitemapProps.js.map +1 -0
  170. package/lib/types.d.ts +2 -2
  171. package/lib/ui-kit/Breadcrumb.d.ts +2 -2
  172. package/lib/ui-kit/Button/Button.d.ts +6 -3
  173. package/lib/ui-kit/Button/Button.js.map +1 -1
  174. package/lib/ui-kit/Button/ButtonProps.d.ts +15 -12
  175. package/lib/ui-kit/Icon/IconProps.d.ts +49 -18
  176. package/lib/ui-kit/Icon/IconProps.js +21 -18
  177. package/lib/ui-kit/Icon/IconProps.js.map +1 -1
  178. package/lib/ui-kit/TopItem/TopItem.d.ts +2 -2
  179. package/package.json +2 -22
  180. package/src/components/Accordion/Accordion.example.json +74 -0
  181. package/src/components/Accordion/Accordion.fixture.tsx +1 -16
  182. package/src/components/Accordion/Accordion.tsx +1 -1
  183. package/src/components/Accordion/AccordionContent.ts +31 -11
  184. package/src/components/Accordion/AccordionItem.tsx +10 -10
  185. package/src/components/BaseTile/BaseTile.tsx +4 -5
  186. package/src/components/BaseTile/BaseTileProps.ts +33 -0
  187. package/src/components/BenefitsBlock/BenefitsBlock.example.json +13 -0
  188. package/src/components/BenefitsBlock/BenefitsBlock.tsx +3 -2
  189. package/src/components/BenefitsBlock/BenefitsBlockContent.ts +14 -1
  190. package/src/components/BlockContent.ts +4 -1
  191. package/src/components/ComparisonTable/ComparisonTable.example.json +84 -0
  192. package/src/components/ComparisonTable/ComparisonTableContent.ts +46 -3
  193. package/src/components/ComparisonTable/HeaderCell.tsx +2 -2
  194. package/src/components/ContentPage/ContentPage.tsx +7 -5
  195. package/src/components/CreditCalculator/CreditCalculatorContent.ts +4 -0
  196. package/src/components/ExchangeRateTile/ExchangeRateTile.tsx +2 -2
  197. package/src/components/ExchangeRateTile/ExchangeRateTileContent.ts +4 -0
  198. package/src/components/Footer/Contacts.tsx +2 -2
  199. package/src/components/Footer/FooterContent.ts +36 -9
  200. package/src/components/Footer/FooterLink.ts +2 -2
  201. package/src/components/Footer/HorizontalNavigation.tsx +2 -2
  202. package/src/components/Footer/Sitemap.tsx +5 -5
  203. package/src/components/Footer/SocialMedia.tsx +2 -2
  204. package/src/components/Footer/TextInformation.tsx +2 -2
  205. package/src/components/Gallery/Gallery.example.json +71 -0
  206. package/src/components/Gallery/GalleryContent.ts +13 -0
  207. package/src/components/Header/HeaderContent.ts +10 -2
  208. package/src/components/Header/isSubItemActive.ts +3 -3
  209. package/src/components/Header/isTopItemActive.ts +3 -3
  210. package/src/components/MiniGallery/MiniGallery.example.json +61 -0
  211. package/src/components/MiniGallery/MiniGallery.tsx +3 -3
  212. package/src/components/MiniGallery/MiniGalleryContent.ts +6 -0
  213. package/src/components/MobileAppTile/MobileAppTile.example.json +20 -0
  214. package/src/components/MobileAppTile/MobileAppTileContent.ts +11 -2
  215. package/src/components/Placeholder/PlaceholderContent.ts +3 -0
  216. package/src/components/ProductBlock/ProductBlock.example.json +17 -0
  217. package/src/components/ProductBlock/ProductBlock.mobile.tsx +3 -3
  218. package/src/components/ProductBlock/ProductBlockContent.ts +10 -5
  219. package/src/components/ProductBlock/ProductBlockInner.tsx +4 -4
  220. package/src/components/ProductGallery/ProductGallery.example.json +21 -0
  221. package/src/components/ProductGallery/ProductGallery.tsx +3 -3
  222. package/src/components/ProductGallery/ProductGalleryContent.ts +17 -2
  223. package/src/components/ProductTile/ProductTile.example.json +30 -0
  224. package/src/components/ProductTile/ProductTileContent.ts +6 -2
  225. package/src/components/PromoTile/PromoTile.example.json +13 -0
  226. package/src/components/PromoTile/PromoTileContent.ts +6 -2
  227. package/src/components/StepsBlock/StepsBlock.example.json +17 -0
  228. package/src/components/StepsBlock/StepsBlockContent.ts +13 -0
  229. package/src/components/TextBlock/TextBlock.example.json +6 -0
  230. package/src/components/TextBlock/TextBlockContent.ts +14 -0
  231. package/src/components/Tile/Tile.example.json +18 -0
  232. package/src/components/Tile/TileContent.ts +5 -2
  233. package/src/hooks/useLink.ts +2 -2
  234. package/src/index.ts +14 -21
  235. package/src/mergeTopItems.ts +5 -5
  236. package/src/model/BlockVersion.ts +4 -0
  237. package/src/model/ButtonVersion.ts +4 -0
  238. package/src/model/LinkProps.ts +22 -0
  239. package/src/model/Picture.ts +11 -0
  240. package/src/model/SitemapProps.ts +15 -0
  241. package/src/types.ts +2 -2
  242. package/src/ui-kit/Breadcrumb.tsx +2 -2
  243. package/src/ui-kit/Button/Button.tsx +7 -3
  244. package/src/ui-kit/Button/ButtonProps.ts +16 -13
  245. package/src/ui-kit/Icon/IconProps.ts +35 -4
  246. package/src/ui-kit/TopItem/TopItem.tsx +2 -2
  247. package/dist/components/BaseTile/BaseTileContent.d.ts +0 -13
  248. package/dist/components/BaseTile/BaseTileContent.js.map +0 -1
  249. package/dist/model/LinkContent.d.ts +0 -5
  250. package/dist/model/LinkContent.js.map +0 -1
  251. package/dist/model/SitemapContent.d.ts +0 -7
  252. package/dist/model/SitemapContent.js.map +0 -1
  253. package/lib/components/BaseTile/BaseTileContent.d.ts +0 -13
  254. package/lib/components/BaseTile/BaseTileContent.js +0 -2
  255. package/lib/components/BaseTile/BaseTileContent.js.map +0 -1
  256. package/lib/model/LinkContent.d.ts +0 -5
  257. package/lib/model/LinkContent.js +0 -2
  258. package/lib/model/LinkContent.js.map +0 -1
  259. package/lib/model/SitemapContent.d.ts +0 -7
  260. package/lib/model/SitemapContent.js +0 -2
  261. package/lib/model/SitemapContent.js.map +0 -1
  262. package/src/components/BaseTile/BaseTileContent.ts +0 -14
  263. package/src/model/LinkContent.ts +0 -5
  264. package/src/model/SitemapContent.ts +0 -9
@@ -1,43 +1,86 @@
1
- import type { LinkContent } from '../../model/LinkContent';
1
+ import type { LinkProps } from '../../model/LinkProps';
2
2
  import type { Picture } from '../../model/Picture';
3
3
  import type { ButtonProps } from '../../ui-kit/Button/ButtonProps';
4
4
  import type { IconName } from '../../ui-kit/Icon/IconProps';
5
5
 
6
+ /**
7
+ * @hidden
8
+ */
6
9
  export type Row = {
7
10
  header: RowHeader;
8
11
  data: CellData[][];
9
12
  };
10
13
 
14
+ /**
15
+ * @hidden
16
+ */
11
17
  export type RowData = Row[] | undefined;
12
18
 
19
+ /**
20
+ * @title Ячейка
21
+ */
13
22
  export interface CellData {
23
+ /** @title Заголовок */
14
24
  label?: string;
25
+ /** @title Описание */
15
26
  description?: string;
27
+ /**
28
+ * @title Иконки
29
+ * @hidden
30
+ */
16
31
  icons?: IconName[];
32
+ /** @hidden */
17
33
  image?: Picture;
34
+ /**
35
+ * @title Кнопки
36
+ * @hidden
37
+ */
18
38
  buttons?: ButtonProps[];
19
39
  }
20
40
 
41
+ /**
42
+ * @title Шапка колонки
43
+ */
21
44
  export interface ColumnHeader {
45
+ /** @title Заголовок */
22
46
  title?: string;
47
+ /** @hidden */
23
48
  icon?: IconName;
49
+ /** @hidden */
24
50
  image?: Picture;
25
- link?: LinkContent;
51
+ /** @hidden */
52
+ link?: LinkProps;
26
53
  }
54
+
55
+ /**
56
+ * @title Продукт
57
+ */
27
58
  export interface Column {
28
59
  header?: ColumnHeader;
60
+ /** @title Данные */
29
61
  data?: CellData[][];
30
62
  }
31
63
 
64
+ /**
65
+ * @title Параметр
66
+ */
32
67
  export interface RowHeader {
68
+ /** @title Заголовок */
33
69
  title?: string;
34
70
  icon?: IconName;
35
71
  }
36
-
72
+ /**
73
+ * @title Сравнительная таблица
74
+ */
37
75
  export interface ComparisonTableContent {
76
+ /** @title Заголовок */
38
77
  title?: string;
78
+ /** @title Параметры */
39
79
  rowHeaders?: RowHeader[];
80
+ /** @title Продукты */
40
81
  columns?: Column[];
82
+ /** @title Отображать заданное количество строк */
41
83
  visibleRowLength?: number;
84
+ /** @title Закрасить первую колонку */
42
85
  isColoredFirstColumn?: boolean;
43
86
  }
@@ -1,5 +1,5 @@
1
1
  import { JSX } from '@redneckz/uni-jsx';
2
- import type { LinkContent } from '../../model/LinkContent';
2
+ import type { LinkProps } from '../../model/LinkProps';
3
3
  import type { Picture } from '../../model/Picture';
4
4
  import { Button } from '../../ui-kit/Button/Button';
5
5
  import { Icon } from '../../ui-kit/Icon/Icon';
@@ -12,7 +12,7 @@ export interface HeaderCellProps {
12
12
  icon?: IconName;
13
13
  image?: Picture;
14
14
  title?: string;
15
- link?: LinkContent;
15
+ link?: LinkProps;
16
16
  }
17
17
 
18
18
  export const HeaderCell = JSX<HeaderCellProps>(({ icon, image, title, link }) => (
@@ -1,8 +1,8 @@
1
1
  import { JSX, PropsWithChildren } from '@redneckz/uni-jsx';
2
+ import type { BlockDef, ContentPageDef, UniBlockProps } from '../../types';
2
3
  import type { BlockContent } from '../BlockContent';
3
4
  import { LikeControl } from '../LikeControl/LikeControl';
4
5
  import { Placeholder } from '../Placeholder/Placeholder';
5
- import type { BlockDef, ContentPageDef, UniBlockProps } from '../../types';
6
6
 
7
7
  interface BlockDecoratorProps<VNode> {
8
8
  blockClassName: string;
@@ -15,11 +15,13 @@ export type BlockDecorator<VNode = any> = (
15
15
  index?: number | string,
16
16
  ) => any;
17
17
 
18
+ export type JSXBlock = (
19
+ props: PropsWithChildren<UniBlockProps & BlockContent, any>,
20
+ context?: any,
21
+ ) => any;
22
+
18
23
  export interface ContentPageProps extends UniBlockProps {
19
- blocksRegistry: Record<
20
- string,
21
- (props: PropsWithChildren<UniBlockProps & BlockContent, any>, context?: any) => any
22
- >;
24
+ blocksRegistry: Record<string, JSXBlock>;
23
25
  data: ContentPageDef;
24
26
  blockDecorator?: BlockDecorator;
25
27
  }
@@ -12,6 +12,10 @@ export interface CreditCalculatorData {
12
12
  rows?: CalculatorParams[];
13
13
  }
14
14
 
15
+ /**
16
+ * @title Кредитный калькулятор
17
+ */
15
18
  export interface CreditCalculatorContent {
19
+ /** @title Справочник */
16
20
  directoryName?: string;
17
21
  }
@@ -1,9 +1,9 @@
1
1
  import { JSX } from '@redneckz/uni-jsx';
2
- import type { ExchangeRateTileContent } from './ExchangeRateTileContent';
3
- import { Tile } from '../Tile/Tile';
4
2
  import type { UniBlockProps } from '../../types';
5
3
  import type { ButtonProps } from '../../ui-kit/Button/ButtonProps';
6
4
  import { Icon } from '../../ui-kit/Icon/Icon';
5
+ import { Tile } from '../Tile/Tile';
6
+ import type { ExchangeRateTileContent } from './ExchangeRateTileContent';
7
7
 
8
8
  export interface ExchangeRateTileProps extends ExchangeRateTileContent, UniBlockProps {}
9
9
 
@@ -1,3 +1,7 @@
1
+ /**
2
+ * @title Курсы валют
3
+ */
1
4
  export interface ExchangeRateTileContent {
5
+ /** @title Заголовок */
2
6
  title?: string;
3
7
  }
@@ -1,7 +1,7 @@
1
1
  import { JSX } from '@redneckz/uni-jsx';
2
+ import { useLink } from '../../hooks/useLink';
2
3
  import type { UniBlockProps } from '../../types';
3
4
  import { Button } from '../../ui-kit/Button/Button';
4
- import { useLink } from '../../hooks/useLink';
5
5
  import type { ContactInfo } from './FooterContent';
6
6
 
7
7
  export interface ContactsProps extends UniBlockProps {
@@ -45,7 +45,7 @@ const renderContact = (item: ContactInfo, index: number) => {
45
45
  );
46
46
  };
47
47
 
48
- const renderText = (type: ContactInfo['type'], text: string) => {
48
+ const renderText = (type: ContactInfo['type'], text = '') => {
49
49
  switch (type) {
50
50
  case 'tel':
51
51
  return (
@@ -1,15 +1,42 @@
1
- import type { LinkContent } from '../../model/LinkContent';
2
- import type { SitemapContent } from '../../model/SitemapContent';
1
+ import type { LinkProps } from '../../model/LinkProps';
2
+ import type { SitemapProps } from '../../model/SitemapProps';
3
3
 
4
+ /**
5
+ * @title Тип контакта
6
+ * @enumNames [
7
+ * "Телефон",
8
+ * "Почта"
9
+ * ]
10
+ */
11
+ export type ContactType = 'tel' | 'email';
12
+
13
+ /**
14
+ * @title Контакт
15
+ */
4
16
  export interface ContactInfo {
5
- text: string;
6
- type: 'tel' | 'email';
7
- description: string;
17
+ /** @title Текст */
18
+ text?: string;
19
+ type?: ContactType;
20
+ /** @title Описание */
21
+ description?: string;
8
22
  }
9
23
 
10
- export interface FooterContent extends SitemapContent {
11
- documents?: LinkContent[];
12
- relatedEnterprises?: LinkContent[];
24
+ /**
25
+ * @required ["href"]
26
+ */
27
+ export interface SocialMedia extends Omit<LinkProps, 'text'> {}
28
+
29
+ /**
30
+ * @title Подвал
31
+ * @required ["topItems"]
32
+ */
33
+ export interface FooterContent extends SitemapProps {
34
+ /** @title Обязательные документы */
35
+ documents?: LinkProps[];
36
+ /** @title Другие предприятия */
37
+ relatedEnterprises?: LinkProps[];
38
+ /** @title Контакты */
13
39
  contacts?: ContactInfo[];
14
- socialMedia?: Omit<LinkContent, 'text'>[];
40
+ /** @title Социальные сети */
41
+ socialMedia?: SocialMedia[];
15
42
  }
@@ -1,6 +1,6 @@
1
- import type { LinkContent } from '../../model/LinkContent';
1
+ import type { LinkProps } from '../../model/LinkProps';
2
2
  import type { UniBlockProps } from '../../types';
3
3
 
4
4
  export interface FooterLink extends UniBlockProps {
5
- links?: LinkContent[];
5
+ links?: LinkProps[];
6
6
  }
@@ -1,6 +1,6 @@
1
1
  import { JSX } from '@redneckz/uni-jsx';
2
- import { LinkContent } from '../../model/LinkContent';
3
2
  import { useLink } from '../../hooks/useLink';
3
+ import { LinkProps } from '../../model/LinkProps';
4
4
  import type { FooterLink } from './FooterLink';
5
5
 
6
6
  export const HorizontalNavigation = JSX<FooterLink>(({ className, links, context }) => {
@@ -24,7 +24,7 @@ export const HorizontalNavigation = JSX<FooterLink>(({ className, links, context
24
24
  );
25
25
  });
26
26
 
27
- interface HorizontalNavigationLinkProps extends LinkContent {
27
+ interface HorizontalNavigationLinkProps extends LinkProps {
28
28
  className: string;
29
29
  index: number;
30
30
  onClick: (ev: MouseEvent) => any;
@@ -1,10 +1,10 @@
1
1
  import { JSX } from '@redneckz/uni-jsx';
2
- import { mergeTopItems } from '../../mergeTopItems';
3
- import type { LinkContent } from '../../model/LinkContent';
4
- import type { TopMenuItem } from '../../model/SitemapContent';
5
- import type { UniBlockProps } from '../../types';
6
2
  import { useLink } from '../../hooks/useLink';
7
3
  import { useSitemap } from '../../hooks/useSitemap';
4
+ import { mergeTopItems } from '../../mergeTopItems';
5
+ import type { LinkProps } from '../../model/LinkProps';
6
+ import type { TopMenuItem } from '../../model/SitemapProps';
7
+ import type { UniBlockProps } from '../../types';
8
8
  export interface SitemapProps extends UniBlockProps {
9
9
  items?: TopMenuItem[];
10
10
  }
@@ -43,7 +43,7 @@ const renderColumn = (c: TopMenuItem, index: number, { router, handlerDecorator
43
43
  );
44
44
  };
45
45
 
46
- interface ColumnItemProps extends LinkContent {
46
+ interface ColumnItemProps extends LinkProps {
47
47
  index?: number;
48
48
  }
49
49
 
@@ -1,6 +1,6 @@
1
1
  import { JSX } from '@redneckz/uni-jsx';
2
2
  import { useLink } from '../../hooks/useLink';
3
- import type { LinkContent } from '../../model/LinkContent';
3
+ import type { LinkProps } from '../../model/LinkProps';
4
4
  import type { UniBlockProps } from '../../types';
5
5
  import { Button } from '../../ui-kit/Button/Button';
6
6
  import { Icon } from '../../ui-kit/Icon/Icon';
@@ -25,7 +25,7 @@ const ICONS_MAP: Array<{
25
25
  ];
26
26
 
27
27
  export interface SocialMediaProps extends UniBlockProps {
28
- media?: Omit<LinkContent, 'text'>[];
28
+ media?: Omit<LinkProps, 'text'>[];
29
29
  }
30
30
 
31
31
  export const SocialMedia = JSX<SocialMediaProps>(({ className, media, context }) => {
@@ -1,6 +1,6 @@
1
1
  import { JSX } from '@redneckz/uni-jsx';
2
- import type { LinkContent } from '../../model/LinkContent';
3
2
  import { useLink } from '../../hooks/useLink';
3
+ import type { LinkProps } from '../../model/LinkProps';
4
4
  import { FooterLink } from './FooterLink';
5
5
 
6
6
  export const TextInformation = JSX<FooterLink>(({ className, links, context }) => {
@@ -28,7 +28,7 @@ export const TextInformation = JSX<FooterLink>(({ className, links, context }) =
28
28
  );
29
29
  });
30
30
 
31
- interface TextInformationLinkProps extends LinkContent {
31
+ interface TextInformationLinkProps extends LinkProps {
32
32
  className: string;
33
33
  index: number;
34
34
  onClick: (ev: MouseEvent) => any;
@@ -0,0 +1,71 @@
1
+ {
2
+ "title": "Галерея",
3
+ "description": "Описание",
4
+ "cards": [
5
+ {
6
+ "image": {
7
+ "format": "webp",
8
+ "size": {
9
+ "width": 140,
10
+ "height": 140
11
+ }
12
+ },
13
+ "title": "Заголовок 1",
14
+ "description": "Описание 1",
15
+ "href": "/credit-cards",
16
+ "items": ["Элемент списка 1", "Элемент списка 2", "Элемент списка 3"]
17
+ },
18
+ {
19
+ "image": {
20
+ "format": "webp",
21
+ "size": {
22
+ "width": 140,
23
+ "height": 140
24
+ }
25
+ },
26
+ "title": "Заголовок 2",
27
+ "description": "Описание 2",
28
+ "href": "/credit-cards",
29
+ "items": ["Элемент списка 1", "Элемент списка 2", "Элемент списка 3"]
30
+ },
31
+ {
32
+ "image": {
33
+ "format": "webp",
34
+ "size": {
35
+ "width": 140,
36
+ "height": 140
37
+ }
38
+ },
39
+ "title": "Заголовок 3",
40
+ "description": "Описание 3",
41
+ "href": "/credit-cards",
42
+ "items": ["Элемент списка 1", "Элемент списка 2", "Элемент списка 3"]
43
+ },
44
+ {
45
+ "image": {
46
+ "format": "webp",
47
+ "size": {
48
+ "width": 140,
49
+ "height": 140
50
+ }
51
+ },
52
+ "title": "Заголовок 4",
53
+ "description": "Описание 4",
54
+ "href": "/credit-cards",
55
+ "items": ["Элемент списка 1", "Элемент списка 2", "Элемент списка 3"]
56
+ },
57
+ {
58
+ "image": {
59
+ "format": "webp",
60
+ "size": {
61
+ "width": 140,
62
+ "height": 140
63
+ }
64
+ },
65
+ "title": "Заголовок 5",
66
+ "description": "Описание 5",
67
+ "href": "/credit-cards",
68
+ "items": ["Элемент списка 1", "Элемент списка 2", "Элемент списка 3"]
69
+ }
70
+ ]
71
+ }
@@ -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
  }
@@ -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 */) => {