@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
package/src/index.ts CHANGED
@@ -1,33 +1,26 @@
1
1
  export { setup } from '@redneckz/uni-jsx';
2
-
3
- export type { ProjectSettings } from './ProjectSettings';
4
- export { projectSettings } from './ProjectSettings';
5
-
6
- export { LikeAPI } from './api/LikeAPI';
7
2
  export { DaDataAPI } from './api/DaDataAPI';
8
-
9
- export type { SitemapContent } from './model/SitemapContent';
10
-
11
- export type { Img, ImgSource, Picture } from './model/Picture';
12
- export type { BlockDef, UniBlockProps, ContentPageMeta, ContentPageDef } from './types';
3
+ export { LikeAPI } from './api/LikeAPI';
4
+ export type { BlockContent } from './components/BlockContent';
5
+ export { Blocks } from './components/Blocks';
6
+ export { ContentPage } from './components/ContentPage/ContentPage';
7
+ export type { BlockDecorator } from './components/ContentPage/ContentPage';
13
8
  export type {
14
- ContentPageContext,
15
- Router,
16
9
  AsyncDataHook,
10
+ ContentPageContext,
17
11
  GeolocationHook,
18
- LikeService,
19
12
  HandlerDecorator,
13
+ LikeService,
14
+ Router,
20
15
  Search,
21
16
  } from './components/ContentPage/ContentPageContext';
22
-
23
17
  export { ContentPageHead } from './components/ContentPage/ContentPageHead';
24
- export type { BlockDecorator } from './components/ContentPage/ContentPage';
25
- export { ContentPage } from './components/ContentPage/ContentPage';
26
18
  export { toMobilePage } from './components/ContentPage/toMobilePage';
27
-
28
- export { Blocks } from './components/Blocks';
29
- export type { BlockContent } from './components/BlockContent';
30
19
  export { MobileBlocks } from './components/MobileBlocks';
31
-
32
- export * as url from './utils/url';
20
+ export type { Img, ImgSource, Picture } from './model/Picture';
21
+ export type { SitemapProps as SitemapContent } from './model/SitemapProps';
22
+ export { projectSettings } from './ProjectSettings';
23
+ export type { ProjectSettings } from './ProjectSettings';
24
+ export type { BlockDef, ContentPageDef, ContentPageMeta, UniBlockProps } from './types';
33
25
  export { joinList } from './utils/joinList';
26
+ export * as url from './utils/url';
@@ -1,13 +1,13 @@
1
- import type { LinkContent } from './model/LinkContent';
1
+ import type { LinkProps } from './model/LinkProps';
2
2
 
3
- const cmp = (a?: LinkContent) => (b?: LinkContent) => a?.href === b?.href;
3
+ const cmp = (a?: LinkProps) => (b?: LinkProps) => a?.href === b?.href;
4
4
 
5
- const substitute = <L extends LinkContent>(items?: L[], substitution?: L[]): L[] =>
5
+ const substitute = <L extends LinkProps>(items?: L[], substitution?: L[]): L[] =>
6
6
  (items || []).map((_) => substitution?.find(cmp(_)) || _);
7
7
 
8
- const subtract = <L extends LinkContent>(minuend?: L[], subtrahend?: L[]): L[] =>
8
+ const subtract = <L extends LinkProps>(minuend?: L[], subtrahend?: L[]): L[] =>
9
9
  (minuend || []).filter((_) => !subtrahend?.find(cmp(_)));
10
10
 
11
- export function mergeTopItems<L extends LinkContent>(left?: L[], right?: L[]): L[] {
11
+ export function mergeTopItems<L extends LinkProps>(left?: L[], right?: L[]): L[] {
12
12
  return substitute(left, right).concat(subtract(right, left));
13
13
  }
@@ -1 +1,5 @@
1
+ /**
2
+ * @title Цвет плитки
3
+ * @enumNames ["Основная", "Второстепенная"]
4
+ */
1
5
  export type BlockVersion = 'primary' | 'secondary';
@@ -1 +1,5 @@
1
+ /**
2
+ * @title Цвет кнопки
3
+ * @enumNames ["Основная", "Второстепенная"]
4
+ */
1
5
  export type ButtonVersion = 'primary' | 'secondary';
@@ -0,0 +1,22 @@
1
+ /**
2
+ * @title Таргет (target)
3
+ * @enumNames [
4
+ * "self (текущее окно или фрейм)",
5
+ * "blank (новое окно)",
6
+ * "parent (фрейм-родитель)",
7
+ * "top (текущее окно)"
8
+ * ]
9
+ */
10
+ export type Target = '_blank' | '_self' | '_parent' | '_top';
11
+
12
+ /**
13
+ * @title Ссылка
14
+ * @required ["text", "href"]
15
+ */
16
+ export interface LinkProps {
17
+ /** @title Текст */
18
+ text?: string;
19
+ /** @title URL (href) */
20
+ href?: string;
21
+ target?: Target;
22
+ }
@@ -1,19 +1,30 @@
1
1
  export interface Img {
2
+ /** @title Картинка */
2
3
  src: string;
4
+ /** @title Альтернативный текст (alt) */
3
5
  alt?: string;
6
+ /** @title Текст подсказки (title) */
4
7
  title?: string;
5
8
  }
6
9
 
7
10
  export interface ImgSource {
11
+ /** @title Картинка */
8
12
  src: string;
13
+ /** @title Формат */
9
14
  format?: 'jpeg' | 'jpg' | 'png' | 'gif' | 'webp' | 'heif' | 'avif';
15
+ /** @hidden */
10
16
  options?: Record<string, any>;
17
+ /** @title Размер изображения */
11
18
  size?: {
19
+ /** @title Ширина */
12
20
  width?: number;
21
+ /** @title Высота */
13
22
  height?: number;
14
23
  };
15
24
  }
16
25
 
26
+ /** @title Изображение */
17
27
  export interface Picture extends Img, ImgSource {
28
+ /** @title Другие форматы */
18
29
  sources?: ImgSource[];
19
30
  }
@@ -0,0 +1,15 @@
1
+ import type { LinkProps } from './LinkProps';
2
+
3
+ /**
4
+ * @title Ссылка
5
+ * @required ["text", "href"]
6
+ */
7
+ export interface TopMenuItem extends LinkProps {
8
+ /** @hidden */
9
+ items?: LinkProps[];
10
+ }
11
+
12
+ export interface SitemapProps {
13
+ /** @title Дополнительное меню */
14
+ topItems?: TopMenuItem[];
15
+ }
package/src/types.ts CHANGED
@@ -2,13 +2,13 @@ import type { BlockContent } from './components/BlockContent';
2
2
  import type { ContentPageContext } from './components/ContentPage/ContentPageContext';
3
3
  import type { BlockVersion } from './model/BlockVersion';
4
4
 
5
- export type ColorPalette = 'pc' | 'bc' | 'eo';
5
+ export type ColorPalette = 'pc' | 'bc' | 'eo' | 'eo2' | 'eo3' | 'eo4';
6
6
 
7
7
  export interface BlockDef {
8
8
  type: string;
9
9
  style?: string[];
10
- version?: BlockVersion;
11
10
  content?: BlockContent;
11
+ version?: BlockVersion;
12
12
  blocks?: BlockDef[];
13
13
  mobile?: Pick<BlockDef, 'content' | 'style'> & {
14
14
  hidden?: boolean;
@@ -1,7 +1,7 @@
1
1
  import { JSX } from '@redneckz/uni-jsx';
2
- import type { LinkContent } from '../model/LinkContent';
2
+ import type { LinkProps } from '../model/LinkProps';
3
3
 
4
- export interface BreadcrumbProps extends LinkContent {
4
+ export interface BreadcrumbProps extends LinkProps {
5
5
  className?: string;
6
6
  onClick?: (ev: MouseEvent) => any;
7
7
  }
@@ -1,6 +1,6 @@
1
1
  import { JSX } from '@redneckz/uni-jsx';
2
2
  import type { ButtonVersion } from '../../model/ButtonVersion';
3
- import type { ButtonInnerProps, ButtonProps } from './ButtonProps';
3
+ import type { ButtonProps, ButtonWithIconProps } from './ButtonProps';
4
4
 
5
5
  const buttonStyleMap: Record<ButtonVersion, string> = {
6
6
  primary: 'text-white bg-primary-main hover:bg-primary-hover active:bg-primary-active',
@@ -15,7 +15,11 @@ const buttonDisabledStyleMap: Record<ButtonVersion, string> = {
15
15
 
16
16
  const styleButton = 'inline-block text-center font-sans select-none';
17
17
 
18
- export const Button = JSX<ButtonProps>(
18
+ export interface ButtonCommonProps extends ButtonProps, ButtonWithIconProps {}
19
+
20
+ export type ButtonInner = Pick<ButtonCommonProps, 'text' | 'aboveText' | 'appendLeft' | 'rounded'>;
21
+
22
+ export const Button = JSX<ButtonCommonProps>(
19
23
  ({
20
24
  className,
21
25
  text,
@@ -69,7 +73,7 @@ export const Button = JSX<ButtonProps>(
69
73
  },
70
74
  );
71
75
 
72
- export const ButtonInner = JSX<ButtonInnerProps>(({ text, aboveText, appendLeft, rounded }) => {
76
+ export const ButtonInner = JSX<ButtonInner>(({ text, aboveText, appendLeft, rounded }) => {
73
77
  const withoutText = !text && !aboveText && Boolean(appendLeft);
74
78
 
75
79
  const buttonInnerClasses = `flex items-center justify-center ${
@@ -1,24 +1,27 @@
1
1
  import type { ButtonVersion } from '../../model/ButtonVersion';
2
- import type { LinkContent } from '../../model/LinkContent';
3
- import { IconName } from '../Icon/IconProps';
2
+ import type { LinkProps } from '../../model/LinkProps';
4
3
 
5
- export interface ButtonInnerProps {
6
- text?: string;
7
- aboveText?: string;
8
- appendLeft?: any;
9
- rounded?: boolean;
10
- }
11
-
12
- export interface ButtonProps extends LinkContent, ButtonInnerProps {
4
+ /**
5
+ * @hidden
6
+ */
7
+ export interface ButtonAdditionalProps {
13
8
  className?: string;
14
- version?: ButtonVersion;
15
9
  disabled?: boolean;
16
10
  rel?: string;
17
11
  ariaLabel?: string;
18
- /** @hidden */
19
12
  onClick?: (ev: MouseEvent) => any;
20
13
  }
21
14
 
15
+ export interface ButtonProps extends ButtonAdditionalProps, LinkProps {
16
+ text?: string;
17
+ version?: ButtonVersion;
18
+ }
19
+
22
20
  export interface ButtonWithIconProps extends ButtonProps {
23
- icon?: IconName;
21
+ /** @hidden */
22
+ aboveText?: string;
23
+ /** @hidden */
24
+ appendLeft?: any;
25
+ /** @hidden */
26
+ rounded?: boolean;
24
27
  }
@@ -3,14 +3,28 @@ import { projectSettings } from '../../ProjectSettings';
3
3
  import type { IconProps } from './IconProps';
4
4
 
5
5
  export const Icon = JSX<IconProps>(
6
- ({ className, name, alt = `Icon ${name}`, title = alt, ...imgProps }) => (
7
- <svg className={className} {...imgProps} aria-hidden="true">
8
- {title ? <title>{title}</title> : null}
9
- {alt ? <desc>{alt}</desc> : null}
10
- <use
11
- href={`${projectSettings.CDN || ''}icons/${name}.svg#icon`}
12
- xlinkHref={`${projectSettings.CDN || ''}icons/${name}.svg#icon`}
6
+ ({ className, name, alt = `Icon ${name}`, title = alt, asSVG, ...imgProps }) => {
7
+ const href = `${projectSettings.CDN || ''}icons/${name}.svg`;
8
+
9
+ if (asSVG) {
10
+ return (
11
+ <svg className={className} {...imgProps} aria-hidden="true">
12
+ {title ? <title>{title}</title> : null}
13
+ {alt ? <desc>{alt}</desc> : null}
14
+ <use href={`${href}#icon`} xlinkHref={`${href}#icon`} />
15
+ </svg>
16
+ );
17
+ }
18
+
19
+ return (
20
+ <img
21
+ className={className}
22
+ src={href}
23
+ alt={alt}
24
+ title={title}
25
+ {...imgProps}
26
+ aria-hidden="true"
13
27
  />
14
- </svg>
15
- ),
28
+ );
29
+ },
16
30
  );
@@ -1,29 +1,60 @@
1
+ /**
2
+ * Icons sorted by name
3
+ */
1
4
  export enum IconMap {
2
5
  'ActualBalanceIcon',
3
6
  'AppleIcon',
4
7
  'CalendarIcon',
5
8
  'ClockIcon',
6
9
  'ComfortableCompIcon',
10
+ 'DocIcon',
7
11
  'DollarIcon',
8
12
  'EmptyWalletIcon',
9
13
  'EuroIcon',
14
+ 'GlassIcon',
10
15
  'GridIcon',
11
16
  'LoupeIcon',
17
+ 'MinusIcon',
12
18
  'NewDocIcon',
13
19
  'OkIcon',
14
20
  'PassSendIcon',
15
21
  'PercentageSquareIcon',
16
22
  'PlayMarketIcon',
23
+ 'PlusIcon',
17
24
  'ProfileIcon',
18
25
  'SignDocsIcon',
19
26
  'TelegramIcon',
20
27
  'VKIcon',
21
- 'GlassIcon',
22
- 'DocIcon',
23
- 'PlusIcon',
24
- 'MinusIcon',
25
28
  }
26
29
 
30
+ /**
31
+ * @title Иконка
32
+ * @enumNames [
33
+ * "Деньги",
34
+ * "Лого «Apple»",
35
+ * "Календарь",
36
+ * "Часы",
37
+ * "Кресло",
38
+ * "Документ",
39
+ * "Доллар",
40
+ * "Кошелек",
41
+ * "Евро",
42
+ * "Зеркало",
43
+ * "Сетка",
44
+ * "Лупа",
45
+ * "Минус",
46
+ * "Новый документ",
47
+ * "Лого «Одноклассники»",
48
+ * "Бизнес",
49
+ * "Проценты",
50
+ * "Лого «PlayMarket»",
51
+ * "Плюс",
52
+ * "Профиль",
53
+ * "Подписанные документы",
54
+ * "Лого «Telegram»",
55
+ * "Лого «VK»"
56
+ * ]
57
+ */
27
58
  export type IconName = keyof typeof IconMap;
28
59
 
29
60
  export interface IconProps {
@@ -33,5 +64,5 @@ export interface IconProps {
33
64
  title?: string;
34
65
  width?: string;
35
66
  height?: string;
36
- 'aria-hidden'?: 'true';
67
+ asSVG?: boolean;
37
68
  }
@@ -1,7 +1,7 @@
1
1
  import { JSX } from '@redneckz/uni-jsx';
2
- import type { LinkContent } from '../../model/LinkContent';
2
+ import type { LinkProps } from '../../model/LinkProps';
3
3
 
4
- export interface TopItemContent extends LinkContent {
4
+ export interface TopItemContent extends LinkProps {
5
5
  active?: boolean;
6
6
  }
7
7
 
@@ -1,13 +0,0 @@
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 { TitleSize } from '../../ui-kit/Title/TitleProps';
5
- export interface BaseTileContent {
6
- title?: string;
7
- titleSize?: TitleSize;
8
- description?: string;
9
- image?: Picture;
10
- items?: string[];
11
- buttons?: ButtonWithIconProps[];
12
- version?: BlockVersion;
13
- }
@@ -1 +0,0 @@
1
- {"version":3,"file":"BaseTileContent.js","sourceRoot":"","sources":["../../../src/components/BaseTile/BaseTileContent.ts"],"names":[],"mappings":""}
@@ -1,5 +0,0 @@
1
- export interface LinkContent {
2
- text?: string;
3
- href?: string;
4
- target?: '_blank' | '_self' | '_parent' | '_top' | string;
5
- }
@@ -1 +0,0 @@
1
- {"version":3,"file":"LinkContent.js","sourceRoot":"","sources":["../../src/model/LinkContent.ts"],"names":[],"mappings":""}
@@ -1,7 +0,0 @@
1
- import { LinkContent } from '../model/LinkContent';
2
- export interface TopMenuItem extends LinkContent {
3
- items?: LinkContent[];
4
- }
5
- export interface SitemapContent {
6
- topItems?: TopMenuItem[];
7
- }
@@ -1 +0,0 @@
1
- {"version":3,"file":"SitemapContent.js","sourceRoot":"","sources":["../../src/model/SitemapContent.ts"],"names":[],"mappings":""}
@@ -1,13 +0,0 @@
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 { TitleSize } from '../../ui-kit/Title/TitleProps';
5
- export interface BaseTileContent {
6
- title?: string;
7
- titleSize?: TitleSize;
8
- description?: string;
9
- image?: Picture;
10
- items?: string[];
11
- buttons?: ButtonWithIconProps[];
12
- version?: BlockVersion;
13
- }
@@ -1,2 +0,0 @@
1
- export {};
2
- //# sourceMappingURL=BaseTileContent.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"BaseTileContent.js","sourceRoot":"","sources":["../../../src/components/BaseTile/BaseTileContent.ts"],"names":[],"mappings":""}
@@ -1,5 +0,0 @@
1
- export interface LinkContent {
2
- text?: string;
3
- href?: string;
4
- target?: '_blank' | '_self' | '_parent' | '_top' | string;
5
- }
@@ -1,2 +0,0 @@
1
- export {};
2
- //# sourceMappingURL=LinkContent.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"LinkContent.js","sourceRoot":"","sources":["../../src/model/LinkContent.ts"],"names":[],"mappings":""}
@@ -1,7 +0,0 @@
1
- import { LinkContent } from '../model/LinkContent';
2
- export interface TopMenuItem extends LinkContent {
3
- items?: LinkContent[];
4
- }
5
- export interface SitemapContent {
6
- topItems?: TopMenuItem[];
7
- }
@@ -1,2 +0,0 @@
1
- export {};
2
- //# sourceMappingURL=SitemapContent.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"SitemapContent.js","sourceRoot":"","sources":["../../src/model/SitemapContent.ts"],"names":[],"mappings":""}
@@ -1,14 +0,0 @@
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 { TitleSize } from '../../ui-kit/Title/TitleProps';
5
-
6
- export interface BaseTileContent {
7
- title?: string;
8
- titleSize?: TitleSize;
9
- description?: string;
10
- image?: Picture;
11
- items?: string[];
12
- buttons?: ButtonWithIconProps[];
13
- version?: BlockVersion;
14
- }
@@ -1,5 +0,0 @@
1
- export interface LinkContent {
2
- text?: string;
3
- href?: string;
4
- target?: '_blank' | '_self' | '_parent' | '_top' | string;
5
- }
@@ -1,9 +0,0 @@
1
- import { LinkContent } from '../model/LinkContent';
2
-
3
- export interface TopMenuItem extends LinkContent {
4
- items?: LinkContent[];
5
- }
6
-
7
- export interface SitemapContent {
8
- topItems?: TopMenuItem[];
9
- }