@redneckz/wildless-cms-uni-blocks 0.2.89 → 0.2.93

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 (262) hide show
  1. package/bundle/blocks.schema.json +1 -1
  2. package/bundle/bundle.umd.js +119 -57
  3. package/bundle/bundle.umd.min.js +1 -1
  4. package/dist/api/LikeAPI.js +1 -0
  5. package/dist/api/LikeAPI.js.map +1 -1
  6. package/dist/components/Accordion/AccordionContent.d.ts +38 -14
  7. package/dist/components/Accordion/AccordionItem.js +8 -6
  8. package/dist/components/Accordion/AccordionItem.js.map +1 -1
  9. package/dist/components/BaseTile/BaseTile.js +1 -1
  10. package/dist/components/BaseTile/BaseTile.js.map +1 -1
  11. package/dist/components/BlockContent.d.ts +2 -1
  12. package/dist/components/Blocks.d.ts +1 -0
  13. package/dist/components/Blocks.js +2 -0
  14. package/dist/components/Blocks.js.map +1 -1
  15. package/dist/components/ComparisonTable/ComparisonTable.js +12 -10
  16. package/dist/components/ComparisonTable/ComparisonTable.js.map +1 -1
  17. package/dist/components/ComparisonTable/ComparisonTableContent.d.ts +0 -20
  18. package/dist/components/ComparisonTable/HeaderCell.js +1 -1
  19. package/dist/components/ComparisonTable/HeaderCell.js.map +1 -1
  20. package/dist/components/ComparisonTable/TableCarouselContainer.d.ts +3 -0
  21. package/dist/components/ComparisonTable/TableCarouselContainer.js +5 -2
  22. package/dist/components/ComparisonTable/TableCarouselContainer.js.map +1 -1
  23. package/dist/components/ComparisonTable/TableRow.js +1 -1
  24. package/dist/components/ComparisonTable/TableRow.js.map +1 -1
  25. package/dist/components/ContentPage/ContentPageHead.d.ts +1 -1
  26. package/dist/components/CreditCalculator/CreditCalculator.js +1 -1
  27. package/dist/components/CreditCalculator/CreditCalculator.js.map +1 -1
  28. package/dist/components/Footer/Contacts.js +1 -1
  29. package/dist/components/Footer/Contacts.js.map +1 -1
  30. package/dist/components/Footer/FooterContent.d.ts +1 -2
  31. package/dist/components/Footer/HorizontalNavigation.js +1 -1
  32. package/dist/components/Footer/SocialMedia.js +1 -2
  33. package/dist/components/Footer/SocialMedia.js.map +1 -1
  34. package/dist/components/Gallery/GalleryInner.js +2 -2
  35. package/dist/components/Gallery/GalleryInner.js.map +1 -1
  36. package/dist/components/LinkDocs/LinkDocs.js +5 -5
  37. package/dist/components/LinkDocs/LinkDocs.js.map +1 -1
  38. package/dist/components/MiniGallery/MiniGalleryContent.d.ts +1 -2
  39. package/dist/components/MobileBlocks.js +0 -3
  40. package/dist/components/MobileBlocks.js.map +1 -1
  41. package/dist/components/PictureText/PictureText.js +1 -1
  42. package/dist/components/PictureText/PictureText.js.map +1 -1
  43. package/dist/components/PictureText/PictureTextContent.d.ts +2 -4
  44. package/dist/components/Placeholder/Placeholder.js.map +1 -1
  45. package/dist/components/ProductBlock/ProductBlock.mobile.js +3 -1
  46. package/dist/components/ProductBlock/ProductBlock.mobile.js.map +1 -1
  47. package/dist/components/ProductBlock/ProductBlockInner.js +1 -4
  48. package/dist/components/ProductBlock/ProductBlockInner.js.map +1 -1
  49. package/dist/components/ProductGallery/ProductGallery.js +2 -2
  50. package/dist/components/ProductGallery/ProductGallery.js.map +1 -1
  51. package/dist/components/PromoTile/PromoTile.d.ts +1 -1
  52. package/dist/components/PromoTile/PromoTile.js +1 -1
  53. package/dist/components/PromoTile/PromoTile.js.map +1 -1
  54. package/dist/components/TariffsTable/TariffsTable.d.ts +5 -0
  55. package/dist/components/TariffsTable/TariffsTable.js +25 -0
  56. package/dist/components/TariffsTable/TariffsTable.js.map +1 -0
  57. package/dist/components/TariffsTable/TariffsTableCell.d.ts +6 -0
  58. package/dist/components/TariffsTable/TariffsTableCell.js +18 -0
  59. package/dist/components/TariffsTable/TariffsTableCell.js.map +1 -0
  60. package/dist/components/TariffsTable/TariffsTableContent.d.ts +55 -0
  61. package/dist/components/TariffsTable/TariffsTableContent.js +2 -0
  62. package/dist/components/TariffsTable/TariffsTableContent.js.map +1 -0
  63. package/dist/components/TariffsTable/TariffsTableRow.d.ts +8 -0
  64. package/dist/components/TariffsTable/TariffsTableRow.js +13 -0
  65. package/dist/components/TariffsTable/TariffsTableRow.js.map +1 -0
  66. package/dist/components/TariffsTable/constants.d.ts +4 -0
  67. package/dist/components/TariffsTable/constants.js +7 -0
  68. package/dist/components/TariffsTable/constants.js.map +1 -0
  69. package/dist/components/TextBlock/TextBlock.d.ts +1 -1
  70. package/dist/components/TextBlock/TextBlock.js +1 -1
  71. package/dist/components/TextBlock/TextBlock.js.map +1 -1
  72. package/dist/components/TextBlock/TextBlockContent.d.ts +1 -2
  73. package/dist/components/Tile/Tile.d.ts +1 -1
  74. package/dist/components/Tile/Tile.js +14 -2
  75. package/dist/components/Tile/Tile.js.map +1 -1
  76. package/dist/content-page-repository/ContentPageRepository.js +1 -0
  77. package/dist/content-page-repository/ContentPageRepository.js.map +1 -1
  78. package/dist/hooks/useComparisonTableScroll.d.ts +12 -0
  79. package/dist/hooks/useComparisonTableScroll.js +12 -0
  80. package/dist/hooks/useComparisonTableScroll.js.map +1 -0
  81. package/dist/hooks/useLink.js +1 -1
  82. package/dist/hooks/useLink.js.map +1 -1
  83. package/dist/model/TableVersion.d.ts +1 -0
  84. package/dist/model/TableVersion.js +2 -0
  85. package/dist/model/TableVersion.js.map +1 -0
  86. package/dist/ui-kit/BlockItem/BlockItem.d.ts +1 -9
  87. package/dist/ui-kit/BlockItem/BlockItem.js +5 -5
  88. package/dist/ui-kit/BlockItem/BlockItem.js.map +1 -1
  89. package/dist/ui-kit/BlockItem/BlockItemProps.d.ts +20 -0
  90. package/dist/ui-kit/BlockItem/BlockItemProps.js +2 -0
  91. package/dist/ui-kit/BlockItem/BlockItemProps.js.map +1 -0
  92. package/dist/ui-kit/Icon/IconProps.d.ts +57 -25
  93. package/dist/ui-kit/Icon/IconProps.js +39 -23
  94. package/dist/ui-kit/Icon/IconProps.js.map +1 -1
  95. package/dist/ui-kit/InputRange/InputRange.js +1 -1
  96. package/dist/ui-kit/InputRange/InputRange.js.map +1 -1
  97. package/dist/ui-kit/SearchBar.js +2 -1
  98. package/dist/ui-kit/SearchBar.js.map +1 -1
  99. package/lib/api/LikeAPI.js +1 -0
  100. package/lib/api/LikeAPI.js.map +1 -1
  101. package/lib/common.css +1 -1
  102. package/lib/components/Accordion/Accordion.fixture.d.ts +1 -4
  103. package/lib/components/Accordion/AccordionContent.d.ts +38 -14
  104. package/lib/components/Accordion/AccordionItem.js +8 -6
  105. package/lib/components/Accordion/AccordionItem.js.map +1 -1
  106. package/lib/components/BaseTile/BaseTile.js +1 -1
  107. package/lib/components/BaseTile/BaseTile.js.map +1 -1
  108. package/lib/components/BlockContent.d.ts +2 -1
  109. package/lib/components/Blocks.d.ts +1 -0
  110. package/lib/components/Blocks.js +2 -0
  111. package/lib/components/Blocks.js.map +1 -1
  112. package/lib/components/ComparisonTable/ComparisonTable.js +12 -10
  113. package/lib/components/ComparisonTable/ComparisonTable.js.map +1 -1
  114. package/lib/components/ComparisonTable/ComparisonTableContent.d.ts +0 -20
  115. package/lib/components/ComparisonTable/HeaderCell.js +1 -1
  116. package/lib/components/ComparisonTable/HeaderCell.js.map +1 -1
  117. package/lib/components/ComparisonTable/TableCarouselContainer.d.ts +3 -0
  118. package/lib/components/ComparisonTable/TableCarouselContainer.js +5 -2
  119. package/lib/components/ComparisonTable/TableCarouselContainer.js.map +1 -1
  120. package/lib/components/ComparisonTable/TableRow.js +2 -2
  121. package/lib/components/ComparisonTable/TableRow.js.map +1 -1
  122. package/lib/components/ContentPage/ContentPageHead.d.ts +1 -1
  123. package/lib/components/CreditCalculator/CreditCalculator.js +1 -1
  124. package/lib/components/CreditCalculator/CreditCalculator.js.map +1 -1
  125. package/lib/components/Footer/Contacts.js +1 -1
  126. package/lib/components/Footer/Contacts.js.map +1 -1
  127. package/lib/components/Footer/FooterContent.d.ts +1 -2
  128. package/lib/components/Footer/HorizontalNavigation.js +1 -1
  129. package/lib/components/Footer/SocialMedia.js +1 -2
  130. package/lib/components/Footer/SocialMedia.js.map +1 -1
  131. package/lib/components/Gallery/GalleryInner.js +2 -2
  132. package/lib/components/Gallery/GalleryInner.js.map +1 -1
  133. package/lib/components/Headline/Headline.fixture.d.ts +3 -2
  134. package/lib/components/LinkDocs/LinkDocs.fixture.d.ts +6 -6
  135. package/lib/components/LinkDocs/LinkDocs.js +5 -5
  136. package/lib/components/LinkDocs/LinkDocs.js.map +1 -1
  137. package/lib/components/MiniGallery/MiniGalleryContent.d.ts +1 -2
  138. package/lib/components/MobileBlocks.js +0 -3
  139. package/lib/components/MobileBlocks.js.map +1 -1
  140. package/lib/components/PictureText/PictureText.fixture.d.ts +2 -0
  141. package/lib/components/PictureText/PictureText.js +1 -1
  142. package/lib/components/PictureText/PictureText.js.map +1 -1
  143. package/lib/components/PictureText/PictureTextContent.d.ts +2 -4
  144. package/lib/components/Placeholder/Placeholder.js.map +1 -1
  145. package/lib/components/ProductBlock/ProductBlock.mobile.js +3 -1
  146. package/lib/components/ProductBlock/ProductBlock.mobile.js.map +1 -1
  147. package/lib/components/ProductBlock/ProductBlockInner.js +1 -4
  148. package/lib/components/ProductBlock/ProductBlockInner.js.map +1 -1
  149. package/lib/components/ProductGallery/ProductGallery.js +2 -2
  150. package/lib/components/ProductGallery/ProductGallery.js.map +1 -1
  151. package/lib/components/PromoTile/PromoTile.d.ts +1 -1
  152. package/lib/components/PromoTile/PromoTile.js +1 -1
  153. package/lib/components/PromoTile/PromoTile.js.map +1 -1
  154. package/lib/components/TariffsTable/TariffsTable.d.ts +5 -0
  155. package/lib/components/TariffsTable/TariffsTable.fixture.d.ts +7 -0
  156. package/lib/components/TariffsTable/TariffsTable.js +23 -0
  157. package/lib/components/TariffsTable/TariffsTable.js.map +1 -0
  158. package/lib/components/TariffsTable/TariffsTableCell.d.ts +6 -0
  159. package/lib/components/TariffsTable/TariffsTableCell.js +16 -0
  160. package/lib/components/TariffsTable/TariffsTableCell.js.map +1 -0
  161. package/lib/components/TariffsTable/TariffsTableContent.d.ts +55 -0
  162. package/lib/components/TariffsTable/TariffsTableContent.js +2 -0
  163. package/lib/components/TariffsTable/TariffsTableContent.js.map +1 -0
  164. package/lib/components/TariffsTable/TariffsTableRow.d.ts +8 -0
  165. package/lib/components/TariffsTable/TariffsTableRow.js +11 -0
  166. package/lib/components/TariffsTable/TariffsTableRow.js.map +1 -0
  167. package/lib/components/TariffsTable/constants.d.ts +4 -0
  168. package/lib/components/TariffsTable/constants.js +5 -0
  169. package/lib/components/TariffsTable/constants.js.map +1 -0
  170. package/lib/components/TextBlock/TextBlock.d.ts +1 -1
  171. package/lib/components/TextBlock/TextBlock.fixture.d.ts +2 -0
  172. package/lib/components/TextBlock/TextBlock.js +1 -1
  173. package/lib/components/TextBlock/TextBlock.js.map +1 -1
  174. package/lib/components/TextBlock/TextBlockContent.d.ts +1 -2
  175. package/lib/components/Tile/Tile.d.ts +1 -1
  176. package/lib/components/Tile/Tile.js +14 -2
  177. package/lib/components/Tile/Tile.js.map +1 -1
  178. package/lib/content-page-repository/ContentPageRepository.js +1 -0
  179. package/lib/content-page-repository/ContentPageRepository.js.map +1 -1
  180. package/lib/hooks/useComparisonTableScroll.d.ts +12 -0
  181. package/lib/hooks/useComparisonTableScroll.js +9 -0
  182. package/lib/hooks/useComparisonTableScroll.js.map +1 -0
  183. package/lib/hooks/useLink.js +1 -1
  184. package/lib/hooks/useLink.js.map +1 -1
  185. package/lib/model/TableVersion.d.ts +1 -0
  186. package/lib/model/TableVersion.js +2 -0
  187. package/lib/model/TableVersion.js.map +1 -0
  188. package/lib/ui-kit/BlockItem/BlockItem.d.ts +1 -9
  189. package/lib/ui-kit/BlockItem/BlockItem.fixture.d.ts +6 -1
  190. package/lib/ui-kit/BlockItem/BlockItem.js +5 -5
  191. package/lib/ui-kit/BlockItem/BlockItem.js.map +1 -1
  192. package/lib/ui-kit/BlockItem/BlockItemProps.d.ts +20 -0
  193. package/lib/ui-kit/BlockItem/BlockItemProps.js +2 -0
  194. package/lib/ui-kit/BlockItem/BlockItemProps.js.map +1 -0
  195. package/lib/ui-kit/Icon/IconProps.d.ts +57 -25
  196. package/lib/ui-kit/Icon/IconProps.js +39 -23
  197. package/lib/ui-kit/Icon/IconProps.js.map +1 -1
  198. package/lib/ui-kit/InputRange/InputRange.js +1 -1
  199. package/lib/ui-kit/InputRange/InputRange.js.map +1 -1
  200. package/lib/ui-kit/SearchBar.js +2 -1
  201. package/lib/ui-kit/SearchBar.js.map +1 -1
  202. package/package.json +19 -9
  203. package/src/api/LikeAPI.ts +1 -0
  204. package/src/components/Accordion/Accordion.example.json +18 -42
  205. package/src/components/Accordion/Accordion.fixture.tsx +29 -119
  206. package/src/components/Accordion/AccordionContent.ts +47 -18
  207. package/src/components/Accordion/AccordionItem.tsx +13 -9
  208. package/src/components/BaseTile/BaseTile.tsx +6 -3
  209. package/src/components/BlockContent.ts +2 -0
  210. package/src/components/Blocks.ts +2 -0
  211. package/src/components/ComparisonTable/ComparisonTable.tsx +17 -14
  212. package/src/components/ComparisonTable/ComparisonTableContent.ts +0 -21
  213. package/src/components/ComparisonTable/HeaderCell.tsx +3 -3
  214. package/src/components/ComparisonTable/TableCarouselContainer.tsx +11 -4
  215. package/src/components/ComparisonTable/TableRow.tsx +2 -2
  216. package/src/components/ContentPage/ContentPage.fixture.tsx +3 -3
  217. package/src/components/ContentPage/ContentPage.page.json +425 -3
  218. package/src/components/ContentPage/ContentPageHead.tsx +1 -1
  219. package/src/components/CreditCalculator/CreditCalculator.tsx +1 -1
  220. package/src/components/Footer/Contacts.tsx +1 -1
  221. package/src/components/Footer/FooterContent.ts +1 -1
  222. package/src/components/Footer/HorizontalNavigation.tsx +1 -1
  223. package/src/components/Footer/SocialMedia.tsx +5 -6
  224. package/src/components/Gallery/GalleryInner.tsx +2 -1
  225. package/src/components/Headline/Headline.fixture.tsx +11 -34
  226. package/src/components/LinkDocs/LinkDocs.fixture.tsx +14 -14
  227. package/src/components/LinkDocs/LinkDocs.tsx +8 -7
  228. package/src/components/MiniGallery/MiniGalleryContent.ts +1 -1
  229. package/src/components/MobileBlocks.ts +0 -3
  230. package/src/components/PictureText/PictureText.fixture.tsx +20 -20
  231. package/src/components/PictureText/PictureText.tsx +3 -1
  232. package/src/components/PictureText/PictureTextContent.ts +2 -5
  233. package/src/components/Placeholder/Placeholder.tsx +2 -2
  234. package/src/components/ProductBlock/ProductBlock.mobile.tsx +1 -0
  235. package/src/components/ProductBlock/ProductBlockInner.tsx +8 -11
  236. package/src/components/ProductGallery/ProductGallery.example.json +1 -1
  237. package/src/components/ProductGallery/ProductGallery.fixture.tsx +7 -13
  238. package/src/components/ProductGallery/ProductGallery.tsx +7 -5
  239. package/src/components/PromoTile/PromoTile.tsx +3 -3
  240. package/src/components/TariffsTable/TariffsTable.example.json +87 -0
  241. package/src/components/TariffsTable/TariffsTable.fixture.tsx +195 -0
  242. package/src/components/TariffsTable/TariffsTable.tsx +74 -0
  243. package/src/components/TariffsTable/TariffsTableCell.tsx +64 -0
  244. package/src/components/TariffsTable/TariffsTableContent.ts +61 -0
  245. package/src/components/TariffsTable/TariffsTableRow.tsx +46 -0
  246. package/src/components/TariffsTable/constants.ts +4 -0
  247. package/src/components/TextBlock/TextBlock.example.json +9 -2
  248. package/src/components/TextBlock/TextBlock.fixture.tsx +20 -64
  249. package/src/components/TextBlock/TextBlock.tsx +2 -2
  250. package/src/components/TextBlock/TextBlockContent.ts +1 -2
  251. package/src/components/Tile/Tile.example.json +5 -2
  252. package/src/components/Tile/Tile.tsx +16 -5
  253. package/src/content-page-repository/ContentPageRepository.ts +1 -0
  254. package/src/hooks/useComparisonTableScroll.ts +21 -0
  255. package/src/hooks/useLink.ts +1 -1
  256. package/src/model/TableVersion.ts +1 -0
  257. package/src/ui-kit/BlockItem/BlockItem.fixture.tsx +8 -1
  258. package/src/ui-kit/BlockItem/BlockItem.tsx +7 -18
  259. package/src/ui-kit/BlockItem/BlockItemProps.ts +22 -0
  260. package/src/ui-kit/Icon/IconProps.ts +34 -2
  261. package/src/ui-kit/InputRange/InputRange.tsx +2 -2
  262. package/src/ui-kit/SearchBar.tsx +16 -6
@@ -1,8 +1,8 @@
1
- import { LinkDocs } from './LinkDocs';
2
1
  import { context } from '../../setup-fixture';
2
+ import { LinkDocs } from './LinkDocs';
3
3
  import type { LinkDocsContent } from './LinkDocsContent';
4
4
 
5
- export const LinkDocsFixtureSetOne: LinkDocsContent = {
5
+ export const LINK_DOCS: LinkDocsContent = {
6
6
  title: 'Дополнительные документы',
7
7
  icon: 'DocIcon',
8
8
  documents: [
@@ -14,7 +14,7 @@ export const LinkDocsFixtureSetOne: LinkDocsContent = {
14
14
  { text: 'документ 6', href: '/abc6/abc.pdf' },
15
15
  { text: 'Text text text', href: '/abc7/yolo.png' },
16
16
  {
17
- text: 'Some more generic text, and even more, more text',
17
+ text: 'Some more generic text to stretch item, and even more, more text, and more generic text, and even more, more text, and even more',
18
18
  href: '/abc8/archive.zip',
19
19
  fileSize: '2.3МБ',
20
20
  },
@@ -27,25 +27,25 @@ export const LinkDocsFixtureSetOne: LinkDocsContent = {
27
27
  ],
28
28
  };
29
29
 
30
- export const LinkDocsFixtureSetTwo: LinkDocsContent = {
31
- ...LinkDocsFixtureSetOne,
32
- columnsMode: 'single',
30
+ export const LINK_DOCS_TWO_COLUMNS: LinkDocsContent = {
31
+ ...LINK_DOCS,
32
+ columnsMode: 'double',
33
33
  };
34
34
 
35
- export const LinkDocsFixtureSetThree: LinkDocsContent = {
36
- ...LinkDocsFixtureSetOne,
35
+ export const LINK_DOCS_ANOTHER_ICON: LinkDocsContent = {
36
+ ...LINK_DOCS,
37
37
  icon: 'GlassIcon',
38
38
  title: '',
39
39
  };
40
40
 
41
- export const LinkDocsFixtureSetFour: LinkDocsContent = {
42
- ...LinkDocsFixtureSetOne,
41
+ export const LINK_DOCS_NO_ICON: LinkDocsContent = {
42
+ ...LINK_DOCS,
43
43
  icon: undefined,
44
44
  };
45
45
 
46
46
  export default {
47
- 'default, 2 columns': <LinkDocs context={context} {...LinkDocsFixtureSetOne} />,
48
- 'one column': <LinkDocs context={context} {...LinkDocsFixtureSetTwo} />,
49
- 'another icon, no extensions': <LinkDocs context={context} {...LinkDocsFixtureSetThree} />,
50
- 'no icon': <LinkDocs context={context} {...LinkDocsFixtureSetFour} />,
47
+ 'one column': <LinkDocs context={context} {...LINK_DOCS} />,
48
+ 'two column': <LinkDocs context={context} {...LINK_DOCS_TWO_COLUMNS} />,
49
+ 'another icon': <LinkDocs context={context} {...LINK_DOCS_ANOTHER_ICON} />,
50
+ 'no icon': <LinkDocs context={context} {...LINK_DOCS_NO_ICON} />,
51
51
  };
@@ -24,14 +24,14 @@ const linkColumnsModeStyleMap: Record<LinkColumnsMode, string> = {
24
24
  export interface LinkDocsProps extends LinkDocsContent, UniBlockProps {}
25
25
 
26
26
  export const LinkDocs = JSX<LinkDocsProps>(
27
- ({ className, title, align, documents, icon, columnsMode = 'double' }) => {
27
+ ({ className, title, align, documents, icon, columnsMode = 'single' }) => {
28
28
  const containerClasses = linkColumnsModeStyleMap[columnsMode];
29
29
 
30
30
  return (
31
31
  <section className={`font-sans p-[50px] bg-white ${className}`}>
32
32
  {title && (
33
33
  <Title
34
- className={`font-medium m-0 ${titleMarginsStyleMap[columnsMode]} ${
34
+ className={`font-medium mt-0 ${titleMarginsStyleMap[columnsMode]} ${
35
35
  titleAlignStyleMap[align ?? 'center']
36
36
  }`}
37
37
  >
@@ -40,16 +40,17 @@ export const LinkDocs = JSX<LinkDocsProps>(
40
40
  )}
41
41
  <div className={`flex ${containerClasses}`} role="list">
42
42
  {documents?.length
43
- ? documents.map(({ text, fileSize, ...linkProps }) => (
43
+ ? documents.map(({ text, fileSize, ...linkProps }, i) => (
44
44
  <a
45
- className={`group flex items-center text-sm
46
- text-sm font-sans align-middle items-center text-primary-text no-underline group hover:text-primary-main
47
- ${columnsMode === 'double' ? 'basis-[calc(50%-20px)]' : ''}`}
45
+ key={String(i)}
46
+ className={`group flex text-sm align-middle h-fit
47
+ text-primary-text no-underline hover:text-primary-main
48
+ ${columnsMode === 'double' ? 'basis-[calc(50%-20px)]' : ''}`}
48
49
  role="listitem"
49
50
  {...linkProps}
50
51
  >
51
52
  {icon && <Icon className="mr-3.5" name={icon} width="24px" height="24px" />}
52
- <span>
53
+ <span className="self-center">
53
54
  {text}
54
55
  <span className="text-secondary-text group-hover:text-primary-main">
55
56
  {linkProps?.href && formatSuffix(getExtFromHref(linkProps.href), fileSize)}
@@ -3,4 +3,4 @@ import type { GalleryContent } from '../Gallery/GalleryContent';
3
3
  /**
4
4
  * @title Мини-галерея
5
5
  */
6
- export interface MiniGalleryContent extends GalleryContent {}
6
+ export type MiniGalleryContent = GalleryContent;
@@ -24,7 +24,4 @@ export const MobileBlocks = {
24
24
  ProductTile,
25
25
  TextBlock,
26
26
  Tile,
27
- // TODO StepsBlock,
28
- // TODO BenefitsBlock,
29
- // TODO ProductGallery
30
27
  };
@@ -1,7 +1,8 @@
1
1
  import { context } from '../../setup-fixture';
2
2
 
3
- import { PictureText } from './PictureText';
4
3
  import type { Picture } from '../../model/Picture';
4
+ import { PictureText } from './PictureText';
5
+ import type { PictureTextContent } from './PictureTextContent';
5
6
 
6
7
  const image: Picture = {
7
8
  src: 'legal-support-business.png',
@@ -13,24 +14,23 @@ const image: Picture = {
13
14
  alt: 'Варианты потребительского кредита',
14
15
  };
15
16
 
17
+ export const PICTURE_TEXT: PictureTextContent = {
18
+ title: 'Варианты потребительского кредита',
19
+ benefits: [
20
+ {
21
+ label: 'Кредит по одному документу',
22
+ description: 'До 300 тыс ₽ по упрощённой процедуре получения кредита',
23
+ icon: 'DocumentText',
24
+ },
25
+ {
26
+ label: 'Кредит на общих условиях',
27
+ description: 'До 5 млн ₽ на общих условиях получения кредита',
28
+ icon: 'DiscountShape',
29
+ },
30
+ ],
31
+ image,
32
+ };
33
+
16
34
  export default {
17
- default: (
18
- <PictureText
19
- context={context}
20
- title={'Варианты потребительского кредита'}
21
- benefits={[
22
- {
23
- label: 'Кредит по одному документу',
24
- description: 'До 300 тыс ₽ по упрощённой процедуре получения кредита',
25
- icon: 'DocumentText',
26
- },
27
- {
28
- label: 'Кредит на общих условиях',
29
- description: 'До 5 млн ₽ на общих условиях получения кредита',
30
- icon: 'DiscountShape',
31
- },
32
- ]}
33
- image={image}
34
- />
35
- ),
35
+ default: <PictureText context={context} {...PICTURE_TEXT} />,
36
36
  };
@@ -35,7 +35,9 @@ function renderBenefit(benefit: Benefit, i: number) {
35
35
  />
36
36
  )}
37
37
  <div className="flex gap-1 flex-col h-full ml-5 max-w-[490px]">
38
- <div className="font-medium text-primary-text text-xl m-0">{benefit.label}</div>
38
+ {benefit.label && (
39
+ <div className="font-medium text-primary-text text-xl m-0">{benefit.label}</div>
40
+ )}
39
41
  {benefit.description && (
40
42
  <div className="font-normal text-sm text-secondary-text">{benefit.description}</div>
41
43
  )}
@@ -4,10 +4,7 @@ import type { Benefit } from '../BenefitsBlock/BenefitsBlockContent';
4
4
  /**
5
5
  * @title Картинка с текстом
6
6
  */
7
- export interface PictureTextContent
8
- extends Pick<BaseTileCommonProps, 'title' | 'description' | 'image'> {
9
- /**
10
- * @title Список преимуществ
11
- */
7
+ export interface PictureTextContent extends Pick<BaseTileCommonProps, 'title' | 'image'> {
8
+ /** @title Список преимуществ */
12
9
  benefits?: Benefit[];
13
10
  }
@@ -17,12 +17,12 @@ export const Placeholder = JSX<PlaceholderProps>(({ className, context, title })
17
17
  );
18
18
  });
19
19
 
20
- const renderShimmer = (size: number = 3) =>
20
+ const renderShimmer = (size = 3) =>
21
21
  goldenSequence(100, size)
22
22
  .map((_) => Math.floor(_))
23
23
  .map(renderShimmerItem);
24
24
 
25
- const renderShimmerItem = (width: number = 100, index: number) => (
25
+ const renderShimmerItem = (width = 100, index: number) => (
26
26
  <div key={String(index)} style={{ width: `${width}%` }} className="h-4 mt-2 bg-secondary-light" />
27
27
  );
28
28
 
@@ -6,6 +6,7 @@ import { ProductBlockInner } from './ProductBlockInner';
6
6
  export interface ProductBlockProps extends ProductBlockInnerCommonProps, UniBlockProps {}
7
7
 
8
8
  export const ProductBlock = JSX<ProductBlockProps>(
9
+ // eslint-disable-next-line @typescript-eslint/no-unused-vars
9
10
  ({ titleSize, image, benefits, ...props } /* Get rid of image and benefits */) => {
10
11
  const { className } = props;
11
12
  return (
@@ -2,7 +2,6 @@ import { JSX } from '@redneckz/uni-jsx';
2
2
  import type { UniBlockProps } from '../../types';
3
3
  import { Icon } from '../../ui-kit/Icon/Icon';
4
4
  import { Img } from '../../ui-kit/Img';
5
- import { Title } from '../../ui-kit/Title/Title';
6
5
  import { BaseTile } from '../BaseTile/BaseTile';
7
6
  import type { Benefit } from '../BenefitsBlock/BenefitsBlockContent';
8
7
  import type { ProductBlockInnerCommonProps } from './ProductBlockContent';
@@ -14,16 +13,14 @@ export const ProductBlockInner = JSX<ProductBlockInnerProps>(
14
13
  return (
15
14
  <div className={`flex grow justify-between items-stretch ${className || ''}`}>
16
15
  <div className={'flex flex-col'}>
17
- {title && (
18
- /* TODO Why <Title> is duplicated here? */
19
- <Title
20
- size={titleSize || 'XL'}
21
- className="font-medium m-0 mb-4 whitespace-pre-wrap max-w-[600px] text-primary-text"
22
- >
23
- {title}
24
- </Title>
25
- )}
26
- <BaseTile context={context} description={description} items={items} buttons={buttons}>
16
+ <BaseTile
17
+ context={context}
18
+ title={title}
19
+ titleSize={titleSize || 'XL'}
20
+ description={description}
21
+ items={items}
22
+ buttons={buttons}
23
+ >
27
24
  {benefits?.length ? (
28
25
  <div className="flex gap-6 mt-6 mb-3.5">{benefits.map(renderBenefit)}</div>
29
26
  ) : null}
@@ -10,7 +10,7 @@
10
10
  "image": {
11
11
  "format": "webp",
12
12
  "size": {
13
- "width": 300
13
+ "width": 280
14
14
  }
15
15
  },
16
16
  "description": "Описание",
@@ -7,17 +7,18 @@ const moneyImage: Picture = {
7
7
  src: 'money-1.png',
8
8
  format: 'webp',
9
9
  size: {
10
- width: 300,
11
- height: 300,
10
+ width: 280,
11
+ height: 280,
12
12
  },
13
+ alt: 'Варианты потребительского кредита',
13
14
  };
14
15
 
15
16
  const worker: Picture = {
16
17
  src: 'worker.png',
17
18
  format: 'webp',
18
19
  size: {
19
- width: 300,
20
- height: 300,
20
+ width: 280,
21
+ height: 280,
21
22
  },
22
23
  };
23
24
 
@@ -25,8 +26,8 @@ const creditCard: Picture = {
25
26
  src: 'credit-card-1.png',
26
27
  format: 'webp',
27
28
  size: {
28
- width: 300,
29
- height: 300,
29
+ width: 280,
30
+ height: 280,
30
31
  },
31
32
  };
32
33
 
@@ -41,8 +42,6 @@ export default (
41
42
  },
42
43
  productBlock: {
43
44
  title: 'Ставка от 12,5% годовых на срок до 5 лет!»',
44
- description:
45
- 'Кредит наличными без залога и поручительства. Потребительский кредит на любые цели. Нужен только паспорт.',
46
45
  items: [
47
46
  'Потребительский кредит по специальной процентной ставке',
48
47
  'Получите деньги без залога и поручительства',
@@ -66,8 +65,6 @@ export default (
66
65
  },
67
66
  productBlock: {
68
67
  title: 'Ставка от 12,5% годовых на срок до 3 лет!»',
69
- description:
70
- 'Кредит наличными без залога и поручительства. Потребительский кредит на любые цели. Нужен только паспорт.',
71
68
  items: [
72
69
  'Потребительский кредит по специальной процентной ставке',
73
70
  'Получите деньги без залога и поручительства',
@@ -91,8 +88,6 @@ export default (
91
88
  },
92
89
  productBlock: {
93
90
  title: 'Дополнительные бонусные баллы за покупки!»',
94
- description:
95
- 'Кредит наличными без залога и поручительства. Потребительский кредит на любые цели. Нужен только паспорт.',
96
91
  items: [
97
92
  'Потребительский кредит по специальной процентной ставке',
98
93
  'Получите деньги без залога и поручительства',
@@ -116,7 +111,6 @@ export default (
116
111
  },
117
112
  productBlock: {
118
113
  title: 'Карты Unionpay»',
119
- description: 'Кэшбэк до 20% у партнеров',
120
114
  items: [
121
115
  'Потребительский кредит по специальной процентной ставке',
122
116
  'Получите деньги без залога и поручительства',
@@ -22,7 +22,7 @@ export const ProductGallery = JSX<ProductGalleryProps>(
22
22
  {galleryBlocks.map((_, i) => renderProductBlock(_, i, context))}
23
23
  </div>
24
24
 
25
- <div className={`border-t border-solid border-main-divider flex`}>
25
+ <div className="flex">
26
26
  {galleryNav.map((slide, i) =>
27
27
  renderNavButton({
28
28
  slide,
@@ -61,17 +61,19 @@ function renderNavButton({ slide, i, activeSlideIndex, onClick, duration }) {
61
61
  type="button"
62
62
  key={String(i)}
63
63
  onClick={onClick}
64
- className={`group relative overflow-hidden border-0 bg-inherit cursor-pointer text-left px-0 py-4 grow basis-0`}
64
+ className={`font-sans group relative overflow-hidden border-0 bg-inherit cursor-pointer text-left px-0 pt-4 pb-5 grow basis-0`}
65
65
  >
66
66
  <div className="border-0 border-r border-solid border-main-divider px-6">
67
- <div className={`text-sm font-medium group-hover:text-primary-text ${btnTitleClassName}`}>
67
+ <div
68
+ className={`text-sm font-medium pb-1 group-hover:text-primary-text ${btnTitleClassName}`}
69
+ >
68
70
  {slide?.title}
69
71
  </div>
70
- <div className="text-xs text-secondary-text">{slide.desc}</div>
72
+ <div className="text-xs text-secondary-text pb-[2px]">{slide.desc}</div>
71
73
  </div>
72
74
  <div
73
75
  className={`absolute bottom-0 left-0 w-full h-[3px] bg-primary-main -translate-x-full ${progressBarClassName}`}
74
- style={{ animationDuration: `${duration}s` }}
76
+ style={{ animationDuration: `${duration}s`, animationFillMode: 'forwards' }}
75
77
  ></div>
76
78
  </button>
77
79
  );
@@ -1,7 +1,7 @@
1
1
  import { JSX } from '@redneckz/uni-jsx';
2
- import type { PromoTileContent } from './PromoTileContent';
3
- import { Tile } from '../Tile/Tile';
4
2
  import type { UniBlockProps } from '../../types';
3
+ import { Tile } from '../Tile/Tile';
4
+ import type { PromoTileContent } from './PromoTileContent';
5
5
 
6
6
  export interface PromoTileProps extends PromoTileContent, UniBlockProps {}
7
7
 
@@ -23,7 +23,7 @@ export const PromoTile = JSX<PromoTileProps>(
23
23
  buttons={buttons}
24
24
  version={version}
25
25
  >
26
- <div>
26
+ <div className="mt-1.5">
27
27
  {date && <div className="text-sm mb-2">{formatDate(date)}</div>}
28
28
  <div className="text-base">{description}</div>
29
29
  </div>
@@ -0,0 +1,87 @@
1
+ {
2
+ "title": "Заголовок",
3
+ "rowHeaders": [
4
+ {
5
+ "title": "Параметр 1",
6
+ "icon": "MoneyIcon"
7
+ },
8
+ {
9
+ "title": "Параметр 2",
10
+ "icon": "DollarIcon"
11
+ },
12
+ {
13
+ "title": "Параметр 3"
14
+ },
15
+ {
16
+ "title": "Параметр 4"
17
+ }
18
+ ],
19
+ "columns": [
20
+ {
21
+ "data": [
22
+ [
23
+ {
24
+ "label": "Ячейка 1"
25
+ }
26
+ ],
27
+ [
28
+ {
29
+ "label": "Ячейка 2-1",
30
+ "description": "Описание для ячейки 2-1"
31
+ },
32
+ {
33
+ "label": "Ячейка 2-2",
34
+ "description": "Описание для ячейки 2-2"
35
+ }
36
+ ],
37
+ [
38
+ {
39
+ "label": "Ячейка 3-1",
40
+ "description": "Описание для ячейки 3-1"
41
+ },
42
+ {
43
+ "label": "Ячейка 3-2",
44
+ "buttons": [
45
+ {
46
+ "icon": "AppleIcon",
47
+ "rounded": true,
48
+ "version": "secondary",
49
+ "href": "/_blank",
50
+ "target": "_blank"
51
+ },
52
+ {
53
+ "icon": "PlayMarketIcon",
54
+ "rounded": true,
55
+ "version": "secondary",
56
+ "href": "/secondary"
57
+ }
58
+ ]
59
+ }
60
+ ],
61
+ [
62
+ {
63
+ "image": {
64
+ "src": "payment-systems.png",
65
+ "format": "webp",
66
+ "size": {
67
+ "width": 288,
68
+ "height": 56
69
+ },
70
+ "alt": "Описание картинки",
71
+ "title": "Подсказка"
72
+ }
73
+ },
74
+ {
75
+ "list": {
76
+ "items": [
77
+ "item 1",
78
+ "item 2",
79
+ "item 3"
80
+ ]
81
+ }
82
+ }
83
+ ]
84
+ ]
85
+ }
86
+ ]
87
+ }
@@ -0,0 +1,195 @@
1
+ import { context } from '../../setup-fixture';
2
+ import { TariffsTable } from './TariffsTable';
3
+ import type { Picture } from '../../model/Picture';
4
+ import type { TariffsTableColumn, TariffsTableRowHeader } from './TariffsTableContent';
5
+
6
+ const image: Picture = {
7
+ src: 'payment-systems.png',
8
+ format: 'webp',
9
+ size: {
10
+ width: 288,
11
+ height: 56,
12
+ },
13
+ alt: 'Платёжные системы',
14
+ title: 'Платёжные системы',
15
+ };
16
+
17
+ const rowHeaders: TariffsTableRowHeader[] = [
18
+ { title: 'Начисление процентов на остаток по счету', icon: 'OkIcon' },
19
+ { title: 'Снятие наличных', icon: 'GlassIcon' },
20
+ { title: 'Оформление онлайн', icon: 'ShieldTickIcon' },
21
+ { title: 'Кэшбэк баллами' },
22
+ { title: 'Стоимость обслуживания' },
23
+ { title: 'Стоимость SMS-сервиса' },
24
+ { title: 'Дополнительная информация' },
25
+ ];
26
+
27
+ const columns: TariffsTableColumn[] = [
28
+ {
29
+ data: [
30
+ [{ label: 'Нет' }],
31
+ [
32
+ {
33
+ label: 'Бесплатно',
34
+ description: 'В банкоматах и кассах Россельхозбанка и банков-партнеров',
35
+ },
36
+ {
37
+ label: 'Бесплатно',
38
+ description: 'В сторонних банкоматах - 1 раз в месяц, далее 1% минимум 150 руб',
39
+ },
40
+ ],
41
+ [{ label: 'Нет' }],
42
+ [{ label: 'Платёжные системы картинкой' }, { image: image }],
43
+ [
44
+ { label: 'Кнопки-иконки' },
45
+ {
46
+ buttons: [
47
+ {
48
+ icon: 'AppleIcon',
49
+ rounded: true,
50
+ version: 'secondary',
51
+ href: '/_blank',
52
+ target: '_blank',
53
+ },
54
+ {
55
+ icon: 'PlayMarketIcon',
56
+ rounded: true,
57
+ version: 'secondary',
58
+ href: '/secondary',
59
+ },
60
+ ],
61
+ },
62
+ ],
63
+ [
64
+ {
65
+ label: 'Бесплатно',
66
+ list: {
67
+ items: ['item 1', 'item 2', 'item 3'],
68
+ },
69
+ },
70
+ ],
71
+ [
72
+ {
73
+ image: {
74
+ src: 'money-1.png',
75
+ format: 'webp',
76
+ size: {
77
+ width: 140,
78
+ height: 140,
79
+ },
80
+ alt: 'Деньги',
81
+ },
82
+ },
83
+ ],
84
+ ],
85
+ },
86
+ {
87
+ data: [
88
+ [{ label: 'Нет' }],
89
+ [
90
+ {
91
+ label: 'Бесплатно',
92
+ description: 'В банкоматах и кассах Россельхозбанка и банков-партнеров',
93
+ },
94
+ {
95
+ label: '1%',
96
+ description: 'В сторонних банкоматах, минимум 150 руб',
97
+ },
98
+ ],
99
+ [{ label: 'Нет' }],
100
+ [
101
+ { label: 'До 20%' },
102
+ {
103
+ list: {
104
+ isDotted: false,
105
+ items: ['item 1', 'item 2', 'item 3'],
106
+ },
107
+ },
108
+ ],
109
+ [
110
+ {
111
+ label: 'Бесплатно',
112
+ description: 'При обороте по карте от 10000 ₽ в месяц',
113
+ },
114
+ ],
115
+ [
116
+ { label: '69 рублей в месяц' },
117
+ {
118
+ list: {
119
+ version: 'primary',
120
+ items: ['item 1', 'item 2', 'item 3'],
121
+ },
122
+ },
123
+ ],
124
+ [
125
+ {
126
+ description:
127
+ 'Копите баллы каждый день и обменивайте их на скидки на электронику и бытовую технику Panasonic',
128
+ },
129
+ ],
130
+ ],
131
+ },
132
+ {
133
+ data: [
134
+ [{ label: 'Нет' }],
135
+ [{ label: 'Бесплатно' }],
136
+ [{ label: 'Есть' }],
137
+ [{ label: 'До 20%' }],
138
+ [
139
+ {
140
+ label: 'Бесплатно',
141
+ description: 'При обороте по карте от 10000 ₽ в месяц',
142
+ },
143
+ ],
144
+ [{ label: '69 рублей в месяц' }],
145
+ [{ description: 'Для членов профсоюзных организаций' }],
146
+ ],
147
+ },
148
+ ];
149
+
150
+ export default {
151
+ default: (
152
+ <div className="w-[1280px]">
153
+ <TariffsTable
154
+ className="col-span-12"
155
+ title="Другие дебетовые карты Россельхозбанка"
156
+ context={context}
157
+ rowHeaders={rowHeaders}
158
+ columns={Array(2).fill(columns).flat()}
159
+ />
160
+ </div>
161
+ ),
162
+ '1 column': (
163
+ <div className="w-[1280px]">
164
+ <TariffsTable
165
+ className="col-span-12"
166
+ title="Другие дебетовые карты Россельхозбанка"
167
+ context={context}
168
+ rowHeaders={rowHeaders}
169
+ columns={columns.slice(0, 1)}
170
+ />
171
+ </div>
172
+ ),
173
+ '2 columns': (
174
+ <div className="w-[1280px]">
175
+ <TariffsTable
176
+ className="col-span-12"
177
+ title="Другие дебетовые карты Россельхозбанка"
178
+ context={context}
179
+ rowHeaders={rowHeaders}
180
+ columns={columns.slice(0, 2)}
181
+ />
182
+ </div>
183
+ ),
184
+ '3 columns': (
185
+ <div className="w-[1280px]">
186
+ <TariffsTable
187
+ className="col-span-12"
188
+ title="Другие дебетовые карты Россельхозбанка"
189
+ context={context}
190
+ rowHeaders={rowHeaders}
191
+ columns={columns.slice(0, 3)}
192
+ />
193
+ </div>
194
+ ),
195
+ };