@redneckz/wildless-cms-uni-blocks 0.6.30 → 0.6.32

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 (281) hide show
  1. package/bin/migration-scripts/0.6.32.js +26 -0
  2. package/bundle/blocks.schema.json +1 -1
  3. package/bundle/bundle.umd.js +145 -108
  4. package/bundle/bundle.umd.min.js +1 -1
  5. package/bundle/components/Carousel/CarouselContainer.d.ts +2 -1
  6. package/bundle/components/Carousel/CarouselContent.d.ts +9 -2
  7. package/bundle/components/CarouselLinks/CarouselLinks.d.ts +5 -0
  8. package/bundle/components/CarouselLinks/CarouselLinksContent.d.ts +9 -0
  9. package/bundle/components/ComparisonTable/ComparisonTableRows.d.ts +2 -2
  10. package/bundle/components/ContactsBlock/ContactsBlockContent.d.ts +11 -20
  11. package/bundle/components/ProductBlock/ProductBlockContent.d.ts +6 -0
  12. package/bundle/components/StepsBlock/renderStepContent.d.ts +1 -1
  13. package/bundle/hooks/useCarouselControls.d.ts +13 -0
  14. package/bundle/icons/IconName.d.ts +6 -4
  15. package/bundle/model/HeadlineType.d.ts +2 -2
  16. package/bundle/ui-kit/LinkButton/LinkButton.d.ts +5 -0
  17. package/bundle/utils/sliceArray.d.ts +1 -0
  18. package/cosmos-static/icons/ArrowRightIcon.svg +1 -0
  19. package/dist/components/Blocks.js +2 -0
  20. package/dist/components/Blocks.js.map +1 -1
  21. package/dist/components/Carousel/Carousel.js +3 -3
  22. package/dist/components/Carousel/Carousel.js.map +1 -1
  23. package/dist/components/Carousel/CarouselContainer.d.ts +2 -1
  24. package/dist/components/Carousel/CarouselContainer.js +1 -1
  25. package/dist/components/Carousel/CarouselContainer.js.map +1 -1
  26. package/dist/components/Carousel/CarouselContent.d.ts +9 -2
  27. package/dist/components/Carousel/CarouselContent.js +3 -0
  28. package/dist/components/Carousel/CarouselContent.js.map +1 -1
  29. package/dist/components/CarouselLinks/CarouselLinks.d.ts +5 -0
  30. package/dist/components/CarouselLinks/CarouselLinks.js +20 -0
  31. package/dist/components/CarouselLinks/CarouselLinks.js.map +1 -0
  32. package/dist/components/CarouselLinks/CarouselLinksContent.d.ts +9 -0
  33. package/dist/components/CarouselLinks/CarouselLinksContent.js +2 -0
  34. package/dist/components/CarouselLinks/CarouselLinksContent.js.map +1 -0
  35. package/dist/components/ComparisonTable/ComparisonTableBody.js +2 -2
  36. package/dist/components/ComparisonTable/ComparisonTableBody.js.map +1 -1
  37. package/dist/components/ComparisonTable/ComparisonTableRows.d.ts +2 -2
  38. package/dist/components/ComparisonTable/ComparisonTableRows.js +1 -1
  39. package/dist/components/ComparisonTable/ComparisonTableRows.js.map +1 -1
  40. package/dist/components/ContactsBlock/ContactsBlock.js +5 -9
  41. package/dist/components/ContactsBlock/ContactsBlock.js.map +1 -1
  42. package/dist/components/ContactsBlock/ContactsBlockContent.d.ts +11 -20
  43. package/dist/components/Headline/constants.js +6 -0
  44. package/dist/components/Headline/constants.js.map +1 -1
  45. package/dist/components/ProductBlock/ProductBlockContent.d.ts +6 -0
  46. package/dist/components/ProductBlock/ProductBlockInner.js +5 -3
  47. package/dist/components/ProductBlock/ProductBlockInner.js.map +1 -1
  48. package/dist/components/StepsBlock/renderStepContent.d.ts +1 -1
  49. package/dist/components/TariffsTable/TariffsTable.js +3 -3
  50. package/dist/components/TariffsTable/TariffsTable.js.map +1 -1
  51. package/dist/hooks/useCarouselControls.d.ts +13 -0
  52. package/{mobile/dist/hooks/useCarousel.js → dist/hooks/useCarouselControls.js} +6 -6
  53. package/dist/hooks/useCarouselControls.js.map +1 -0
  54. package/dist/icons/IconName.d.ts +6 -4
  55. package/dist/icons/IconName.js +4 -2
  56. package/dist/icons/IconName.js.map +1 -1
  57. package/dist/model/HeadlineType.d.ts +2 -2
  58. package/dist/ui-kit/InnerTable/InnerTableHeader.js +2 -2
  59. package/dist/ui-kit/InnerTable/InnerTableHeader.js.map +1 -1
  60. package/dist/ui-kit/LinkButton/LinkButton.d.ts +5 -0
  61. package/dist/ui-kit/LinkButton/LinkButton.js +16 -0
  62. package/dist/ui-kit/LinkButton/LinkButton.js.map +1 -0
  63. package/dist/utils/sliceArray.d.ts +1 -0
  64. package/dist/utils/sliceArray.js +15 -0
  65. package/dist/utils/sliceArray.js.map +1 -0
  66. package/lib/common.css +1 -1
  67. package/lib/components/Blocks.js +2 -0
  68. package/lib/components/Blocks.js.map +1 -1
  69. package/lib/components/Carousel/Carousel.js +3 -3
  70. package/lib/components/Carousel/Carousel.js.map +1 -1
  71. package/lib/components/Carousel/CarouselContainer.d.ts +2 -1
  72. package/lib/components/Carousel/CarouselContainer.js +1 -1
  73. package/lib/components/Carousel/CarouselContainer.js.map +1 -1
  74. package/lib/components/Carousel/CarouselContent.d.ts +9 -2
  75. package/lib/components/Carousel/CarouselContent.js +3 -0
  76. package/lib/components/Carousel/CarouselContent.js.map +1 -1
  77. package/lib/components/CarouselLinks/CarouselLinks.d.ts +5 -0
  78. package/lib/components/CarouselLinks/CarouselLinks.fixture.d.ts +5 -0
  79. package/lib/components/CarouselLinks/CarouselLinks.js +18 -0
  80. package/lib/components/CarouselLinks/CarouselLinks.js.map +1 -0
  81. package/lib/components/CarouselLinks/CarouselLinksContent.d.ts +9 -0
  82. package/lib/components/CarouselLinks/CarouselLinksContent.js +2 -0
  83. package/lib/components/CarouselLinks/CarouselLinksContent.js.map +1 -0
  84. package/lib/components/ComparisonTable/ComparisonTableBody.js +2 -2
  85. package/lib/components/ComparisonTable/ComparisonTableBody.js.map +1 -1
  86. package/lib/components/ComparisonTable/ComparisonTableRows.d.ts +2 -2
  87. package/lib/components/ComparisonTable/ComparisonTableRows.js +1 -1
  88. package/lib/components/ComparisonTable/ComparisonTableRows.js.map +1 -1
  89. package/lib/components/ContactsBlock/ContactsBlock.js +5 -9
  90. package/lib/components/ContactsBlock/ContactsBlock.js.map +1 -1
  91. package/lib/components/ContactsBlock/ContactsBlockContent.d.ts +11 -20
  92. package/lib/components/Headline/constants.js +6 -0
  93. package/lib/components/Headline/constants.js.map +1 -1
  94. package/lib/components/ProductBlock/ProductBlockContent.d.ts +6 -0
  95. package/lib/components/ProductBlock/ProductBlockInner.js +5 -3
  96. package/lib/components/ProductBlock/ProductBlockInner.js.map +1 -1
  97. package/lib/components/StepsBlock/renderStepContent.d.ts +1 -1
  98. package/lib/components/TariffsTable/TariffsTable.js +3 -3
  99. package/lib/components/TariffsTable/TariffsTable.js.map +1 -1
  100. package/lib/hooks/useCarouselControls.d.ts +13 -0
  101. package/lib/hooks/{useCarousel.js → useCarouselControls.js} +4 -4
  102. package/lib/hooks/useCarouselControls.js.map +1 -0
  103. package/lib/icons/IconName.d.ts +6 -4
  104. package/lib/icons/IconName.js +4 -2
  105. package/lib/icons/IconName.js.map +1 -1
  106. package/lib/model/HeadlineType.d.ts +2 -2
  107. package/lib/ui-kit/InnerTable/InnerTableHeader.js +2 -2
  108. package/lib/ui-kit/InnerTable/InnerTableHeader.js.map +1 -1
  109. package/lib/ui-kit/LinkButton/LinkButton.d.ts +5 -0
  110. package/lib/ui-kit/LinkButton/LinkButton.fixture.d.ts +5 -0
  111. package/lib/ui-kit/LinkButton/LinkButton.js +14 -0
  112. package/lib/ui-kit/LinkButton/LinkButton.js.map +1 -0
  113. package/lib/utils/sliceArray.d.ts +1 -0
  114. package/lib/utils/sliceArray.js +12 -0
  115. package/lib/utils/sliceArray.js.map +1 -0
  116. package/mobile/bundle/bundle.umd.js +1 -1
  117. package/mobile/bundle/bundle.umd.min.js +1 -1
  118. package/mobile/bundle/components/Carousel/CarouselContainer.d.ts +2 -1
  119. package/mobile/bundle/components/Carousel/CarouselContent.d.ts +9 -2
  120. package/mobile/bundle/components/CarouselLinks/CarouselLinks.d.ts +5 -0
  121. package/mobile/bundle/components/CarouselLinks/CarouselLinksContent.d.ts +9 -0
  122. package/mobile/bundle/components/ComparisonTable/ComparisonTableRows.d.ts +2 -2
  123. package/mobile/bundle/components/ContactsBlock/ContactsBlockContent.d.ts +11 -20
  124. package/mobile/bundle/components/ProductBlock/ProductBlockContent.d.ts +6 -0
  125. package/mobile/bundle/components/StepsBlock/renderStepContent.d.ts +1 -1
  126. package/mobile/bundle/hooks/useCarouselControls.d.ts +13 -0
  127. package/mobile/bundle/icons/IconName.d.ts +6 -4
  128. package/mobile/bundle/model/HeadlineType.d.ts +2 -2
  129. package/mobile/bundle/ui-kit/LinkButton/LinkButton.d.ts +5 -0
  130. package/mobile/bundle/utils/sliceArray.d.ts +1 -0
  131. package/mobile/dist/components/Carousel/Carousel.js +3 -3
  132. package/mobile/dist/components/Carousel/Carousel.js.map +1 -1
  133. package/mobile/dist/components/Carousel/CarouselContainer.d.ts +2 -1
  134. package/mobile/dist/components/Carousel/CarouselContainer.js +1 -1
  135. package/mobile/dist/components/Carousel/CarouselContainer.js.map +1 -1
  136. package/mobile/dist/components/Carousel/CarouselContent.d.ts +9 -2
  137. package/mobile/dist/components/Carousel/CarouselContent.js +3 -0
  138. package/mobile/dist/components/Carousel/CarouselContent.js.map +1 -1
  139. package/mobile/dist/components/CarouselLinks/CarouselLinks.d.ts +5 -0
  140. package/mobile/dist/components/CarouselLinks/CarouselLinks.js +20 -0
  141. package/mobile/dist/components/CarouselLinks/CarouselLinks.js.map +1 -0
  142. package/mobile/dist/components/CarouselLinks/CarouselLinksContent.d.ts +9 -0
  143. package/mobile/dist/components/CarouselLinks/CarouselLinksContent.js +2 -0
  144. package/mobile/dist/components/CarouselLinks/CarouselLinksContent.js.map +1 -0
  145. package/mobile/dist/components/ComparisonTable/ComparisonTableBody.js +2 -2
  146. package/mobile/dist/components/ComparisonTable/ComparisonTableBody.js.map +1 -1
  147. package/mobile/dist/components/ComparisonTable/ComparisonTableRows.d.ts +2 -2
  148. package/mobile/dist/components/ComparisonTable/ComparisonTableRows.js +1 -1
  149. package/mobile/dist/components/ComparisonTable/ComparisonTableRows.js.map +1 -1
  150. package/mobile/dist/components/ContactsBlock/ContactsBlock.js +5 -9
  151. package/mobile/dist/components/ContactsBlock/ContactsBlock.js.map +1 -1
  152. package/mobile/dist/components/ContactsBlock/ContactsBlockContent.d.ts +11 -20
  153. package/mobile/dist/components/Headline/constants.js +6 -0
  154. package/mobile/dist/components/Headline/constants.js.map +1 -1
  155. package/mobile/dist/components/ProductBlock/ProductBlockContent.d.ts +6 -0
  156. package/mobile/dist/components/StepsBlock/renderStepContent.d.ts +1 -1
  157. package/mobile/dist/hooks/useCarouselControls.d.ts +13 -0
  158. package/{dist/hooks/useCarousel.js → mobile/dist/hooks/useCarouselControls.js} +6 -6
  159. package/mobile/dist/hooks/useCarouselControls.js.map +1 -0
  160. package/mobile/dist/icons/IconName.d.ts +6 -4
  161. package/mobile/dist/icons/IconName.js +4 -2
  162. package/mobile/dist/icons/IconName.js.map +1 -1
  163. package/mobile/dist/model/HeadlineType.d.ts +2 -2
  164. package/mobile/dist/ui-kit/InnerTable/InnerTableHeader.js +2 -2
  165. package/mobile/dist/ui-kit/InnerTable/InnerTableHeader.js.map +1 -1
  166. package/mobile/dist/ui-kit/LinkButton/LinkButton.d.ts +5 -0
  167. package/mobile/dist/ui-kit/LinkButton/LinkButton.js +16 -0
  168. package/mobile/dist/ui-kit/LinkButton/LinkButton.js.map +1 -0
  169. package/mobile/dist/utils/sliceArray.d.ts +1 -0
  170. package/mobile/dist/utils/sliceArray.js +15 -0
  171. package/mobile/dist/utils/sliceArray.js.map +1 -0
  172. package/mobile/lib/components/Carousel/Carousel.js +3 -3
  173. package/mobile/lib/components/Carousel/Carousel.js.map +1 -1
  174. package/mobile/lib/components/Carousel/CarouselContainer.d.ts +2 -1
  175. package/mobile/lib/components/Carousel/CarouselContainer.js +1 -1
  176. package/mobile/lib/components/Carousel/CarouselContainer.js.map +1 -1
  177. package/mobile/lib/components/Carousel/CarouselContent.d.ts +9 -2
  178. package/mobile/lib/components/Carousel/CarouselContent.js +3 -0
  179. package/mobile/lib/components/Carousel/CarouselContent.js.map +1 -1
  180. package/mobile/lib/components/CarouselLinks/CarouselLinks.d.ts +5 -0
  181. package/mobile/lib/components/CarouselLinks/CarouselLinks.js +18 -0
  182. package/mobile/lib/components/CarouselLinks/CarouselLinks.js.map +1 -0
  183. package/mobile/lib/components/CarouselLinks/CarouselLinksContent.d.ts +9 -0
  184. package/mobile/lib/components/CarouselLinks/CarouselLinksContent.js +2 -0
  185. package/mobile/lib/components/CarouselLinks/CarouselLinksContent.js.map +1 -0
  186. package/mobile/lib/components/ComparisonTable/ComparisonTableBody.js +2 -2
  187. package/mobile/lib/components/ComparisonTable/ComparisonTableBody.js.map +1 -1
  188. package/mobile/lib/components/ComparisonTable/ComparisonTableRows.d.ts +2 -2
  189. package/mobile/lib/components/ComparisonTable/ComparisonTableRows.js +1 -1
  190. package/mobile/lib/components/ComparisonTable/ComparisonTableRows.js.map +1 -1
  191. package/mobile/lib/components/ContactsBlock/ContactsBlock.js +5 -9
  192. package/mobile/lib/components/ContactsBlock/ContactsBlock.js.map +1 -1
  193. package/mobile/lib/components/ContactsBlock/ContactsBlockContent.d.ts +11 -20
  194. package/mobile/lib/components/Headline/constants.js +6 -0
  195. package/mobile/lib/components/Headline/constants.js.map +1 -1
  196. package/mobile/lib/components/ProductBlock/ProductBlockContent.d.ts +6 -0
  197. package/mobile/lib/components/StepsBlock/renderStepContent.d.ts +1 -1
  198. package/mobile/lib/hooks/useCarouselControls.d.ts +13 -0
  199. package/mobile/lib/hooks/{useCarousel.js → useCarouselControls.js} +4 -4
  200. package/mobile/lib/hooks/useCarouselControls.js.map +1 -0
  201. package/mobile/lib/icons/IconName.d.ts +6 -4
  202. package/mobile/lib/icons/IconName.js +4 -2
  203. package/mobile/lib/icons/IconName.js.map +1 -1
  204. package/mobile/lib/model/HeadlineType.d.ts +2 -2
  205. package/mobile/lib/ui-kit/InnerTable/InnerTableHeader.js +2 -2
  206. package/mobile/lib/ui-kit/InnerTable/InnerTableHeader.js.map +1 -1
  207. package/mobile/lib/ui-kit/LinkButton/LinkButton.d.ts +5 -0
  208. package/mobile/lib/ui-kit/LinkButton/LinkButton.js +14 -0
  209. package/mobile/lib/ui-kit/LinkButton/LinkButton.js.map +1 -0
  210. package/mobile/lib/utils/sliceArray.d.ts +1 -0
  211. package/mobile/lib/utils/sliceArray.js +12 -0
  212. package/mobile/lib/utils/sliceArray.js.map +1 -0
  213. package/mobile/src/components/Carousel/Carousel.tsx +3 -4
  214. package/mobile/src/components/Carousel/CarouselContainer.tsx +3 -2
  215. package/mobile/src/components/Carousel/CarouselContent.ts +10 -2
  216. package/mobile/src/components/CarouselLinks/CarouselLinks.example.json +55 -0
  217. package/mobile/src/components/CarouselLinks/CarouselLinks.json +8 -0
  218. package/mobile/src/components/CarouselLinks/CarouselLinks.tsx +61 -0
  219. package/mobile/src/components/CarouselLinks/CarouselLinksContent.ts +10 -0
  220. package/mobile/src/components/ComparisonTable/ComparisonTableBody.tsx +2 -2
  221. package/mobile/src/components/ComparisonTable/ComparisonTableRows.tsx +3 -3
  222. package/mobile/src/components/ContactsBlock/ContactsBlock.example.json +22 -18
  223. package/mobile/src/components/ContactsBlock/ContactsBlock.tsx +25 -35
  224. package/mobile/src/components/ContactsBlock/ContactsBlockContent.ts +12 -22
  225. package/mobile/src/components/Headline/constants.ts +6 -0
  226. package/mobile/src/components/ProductBlock/ProductBlockContent.ts +6 -0
  227. package/mobile/src/components/StepsBlock/renderStepContent.tsx +1 -1
  228. package/mobile/src/hooks/{useCarousel.ts → useCarouselControls.ts} +5 -9
  229. package/mobile/src/icons/ArrowLeftIcon.svg +1 -1
  230. package/mobile/src/icons/ArrowRightIcon.svg +1 -0
  231. package/mobile/src/icons/ArrowUpIcon.svg +1 -1
  232. package/mobile/src/icons/IconName.ts +4 -4
  233. package/mobile/src/model/HeadlineType.ts +2 -2
  234. package/mobile/src/ui-kit/InnerTable/InnerTableHeader.tsx +9 -2
  235. package/mobile/src/ui-kit/LinkButton/LinkButton.tsx +42 -0
  236. package/mobile/src/utils/sliceArray.ts +15 -0
  237. package/package.json +2 -2
  238. package/src/components/Blocks.ts +2 -0
  239. package/src/components/Carousel/Carousel.fixture.tsx +3 -3
  240. package/src/components/Carousel/Carousel.tsx +3 -4
  241. package/src/components/Carousel/CarouselContainer.tsx +3 -2
  242. package/src/components/Carousel/CarouselContent.ts +10 -2
  243. package/src/components/CarouselCard/CarouselCard.fixture.tsx +3 -6
  244. package/src/components/CarouselLinks/CarouselLinks.example.json +55 -0
  245. package/src/components/CarouselLinks/CarouselLinks.fixture.tsx +28 -0
  246. package/src/components/CarouselLinks/CarouselLinks.json +8 -0
  247. package/src/components/CarouselLinks/CarouselLinks.tsx +61 -0
  248. package/src/components/CarouselLinks/CarouselLinksContent.ts +10 -0
  249. package/src/components/ComparisonTable/ComparisonTableBody.tsx +2 -2
  250. package/src/components/ComparisonTable/ComparisonTableRows.tsx +3 -3
  251. package/src/components/ContactsBlock/ContactsBlock.example.json +22 -18
  252. package/src/components/ContactsBlock/ContactsBlock.fixture.tsx +21 -15
  253. package/src/components/ContactsBlock/ContactsBlock.tsx +25 -35
  254. package/src/components/ContactsBlock/ContactsBlockContent.ts +12 -22
  255. package/src/components/Headline/constants.ts +6 -0
  256. package/src/components/ProductBlock/ProductBlock.fixture.tsx +1 -0
  257. package/src/components/ProductBlock/ProductBlockContent.ts +6 -0
  258. package/src/components/ProductBlock/ProductBlockInner.tsx +8 -3
  259. package/src/components/StepsBlock/renderStepContent.tsx +1 -1
  260. package/src/components/TariffsTable/TariffsTable.tsx +5 -7
  261. package/src/hooks/{useCarousel.ts → useCarouselControls.ts} +5 -9
  262. package/src/icons/ArrowLeftIcon.svg +1 -1
  263. package/src/icons/ArrowRightIcon.svg +1 -0
  264. package/src/icons/ArrowUpIcon.svg +1 -1
  265. package/src/icons/IconName.ts +6 -327
  266. package/src/model/.CarouselCardVersion.ts.icloud +0 -0
  267. package/src/model/HeadlineType.ts +2 -2
  268. package/src/ui-kit/InnerTable/InnerTableHeader.tsx +9 -2
  269. package/src/ui-kit/LinkButton/LinkButton.fixture.tsx +9 -0
  270. package/src/ui-kit/LinkButton/LinkButton.tsx +42 -0
  271. package/src/utils/sliceArray.ts +15 -0
  272. package/bundle/hooks/useCarousel.d.ts +0 -14
  273. package/dist/hooks/useCarousel.d.ts +0 -14
  274. package/dist/hooks/useCarousel.js.map +0 -1
  275. package/lib/hooks/useCarousel.d.ts +0 -14
  276. package/lib/hooks/useCarousel.js.map +0 -1
  277. package/mobile/bundle/hooks/useCarousel.d.ts +0 -14
  278. package/mobile/dist/hooks/useCarousel.d.ts +0 -14
  279. package/mobile/dist/hooks/useCarousel.js.map +0 -1
  280. package/mobile/lib/hooks/useCarousel.d.ts +0 -14
  281. package/mobile/lib/hooks/useCarousel.js.map +0 -1
@@ -0,0 +1,15 @@
1
+ export const sliceArray = <T>(items: T[], size: number) => {
2
+ const result = items.reduce((resultArray: T[][], item: T, index: number) => {
3
+ const chunkIndex = Math.floor(index / (size - 1));
4
+
5
+ if (!resultArray[chunkIndex]) {
6
+ resultArray[chunkIndex] = [item];
7
+ }
8
+
9
+ resultArray[chunkIndex].push(item);
10
+
11
+ return resultArray;
12
+ }, []);
13
+
14
+ return result;
15
+ };
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@redneckz/wildless-cms-uni-blocks",
3
- "version": "0.6.30",
3
+ "version": "0.6.32",
4
4
  "private": false,
5
5
  "license": "MIT",
6
6
  "author": "ЦК",
@@ -181,7 +181,7 @@
181
181
  },
182
182
  "size-limit": [
183
183
  {
184
- "limit": "8 kB",
184
+ "limit": "9 kB",
185
185
  "path": "lib/common.css"
186
186
  },
187
187
  {
@@ -1,6 +1,7 @@
1
1
  import type { BlocksRegistry } from '../model/BlocksRegistry';
2
2
  import { Accordion } from './Accordion/Accordion';
3
3
  import { AccordionItem } from './AccordionItem/AccordionItem';
4
+ import { CarouselLinks } from './CarouselLinks/CarouselLinks';
4
5
  import { BenefitsBlock } from './BenefitsBlock/BenefitsBlock';
5
6
  import { Bonus } from './Bonus/Bonus';
6
7
  import { BonusBenefitsBlock } from './BonusBenefitsBlock/BonusBenefitsBlock';
@@ -49,6 +50,7 @@ import { VerticalLayout } from './VerticalLayout/VerticalLayout';
49
50
  export const Blocks: BlocksRegistry = {
50
51
  Accordion,
51
52
  AccordionItem,
53
+ CarouselLinks,
52
54
  BenefitsBlock,
53
55
  BusinessBlock,
54
56
  Bonus,
@@ -23,7 +23,7 @@ export default {
23
23
  <Carousel
24
24
  className="col-span-12"
25
25
  cardFullViewCount={1}
26
- cardWidth={1200}
26
+ cardWidth="1007"
27
27
  isBlur={false}
28
28
  isCyclic={true}
29
29
  block={{ type: 'Carousel', blocks: new Array(2).fill(CARD).flat() }}
@@ -37,7 +37,7 @@ export default {
37
37
  <Carousel
38
38
  className="col-span-12"
39
39
  cardFullViewCount={3}
40
- cardWidth={350}
40
+ cardWidth="350"
41
41
  isBlur={true}
42
42
  isCyclic={false}
43
43
  block={{ type: 'Carousel', blocks: new Array(5).fill(CARD_MINI).flat() }}
@@ -58,7 +58,7 @@ export default {
58
58
  <Carousel
59
59
  className="col-span-12"
60
60
  cardFullViewCount={3}
61
- cardWidth={322}
61
+ cardWidth="322"
62
62
  isBlur={true}
63
63
  isCyclic={false}
64
64
  block={{ type: 'Carousel', blocks: new Array(5).fill(TARIFFS_CARD).flat() }}
@@ -1,5 +1,5 @@
1
1
  import { JSX } from '@redneckz/uni-jsx';
2
- import { useCarouselControl } from '../../hooks/useCarousel';
2
+ import { useCarouselControls } from '../../hooks/useCarouselControls';
3
3
  import type { JSXBlock, UniBlockProps } from '../../model/JSXBlock';
4
4
  import { BlockWrapper } from '../../ui-kit/BlockWrapper';
5
5
  import { renderArrows } from '../../ui-kit/Button/renderArrows';
@@ -12,7 +12,7 @@ export const Carousel: JSXBlock<CarouselProps> = JSX<CarouselProps>(
12
12
  ({
13
13
  cardFullViewCount = 1,
14
14
  children,
15
- cardWidth = 1007,
15
+ cardWidth = '1007',
16
16
  className = '',
17
17
  isBlur = true,
18
18
  isCyclic = false,
@@ -26,12 +26,11 @@ export const Carousel: JSXBlock<CarouselProps> = JSX<CarouselProps>(
26
26
 
27
27
  const isScrollAvailable = childBlocksLength > cardFullViewCount;
28
28
 
29
- const [activeIndex, controls] = useCarouselControl({
29
+ const [activeIndex, controls] = useCarouselControls({
30
30
  itemsCount: childBlocksLength,
31
31
  visibleItemCount: cardFullViewCount,
32
32
  isCyclic,
33
33
  });
34
-
35
34
  const { inc, dec, canDec, canInc } = controls;
36
35
 
37
36
  return (
@@ -1,9 +1,10 @@
1
1
  import { JSX } from '@redneckz/uni-jsx';
2
+ import type { CardWidth } from './CarouselContent';
2
3
 
3
4
  export interface CarouselContainerProps {
4
5
  activeItem: number;
5
6
  cardFullViewCount: number;
6
- cardWidth: number;
7
+ cardWidth: CardWidth;
7
8
  }
8
9
 
9
10
  export const CarouselContainer = JSX<CarouselContainerProps>(
@@ -11,7 +12,7 @@ export const CarouselContainer = JSX<CarouselContainerProps>(
11
12
  const cardFullViewStyles =
12
13
  cardFullViewCount === 1
13
14
  ? `translateX(-${activeItem}00%)`
14
- : `translateX(-${activeItem * cardWidth}px)`;
15
+ : `translateX(-${activeItem * Number(cardWidth)}px)`;
15
16
 
16
17
  return (
17
18
  <div
@@ -1,10 +1,18 @@
1
1
  /**
2
2
  * @title Карусель
3
3
  */
4
+
5
+ /**
6
+ * @title Ширина карточек
7
+ * @enumNames [ "1007", "833", "350", "322" ]
8
+ */
9
+ export type CardWidth = '322' | '350' | '832' | '1007';
4
10
  export interface CarouselContent {
5
- /** @title Блоки */
11
+ /** @title Количество видимых карточек */
6
12
  cardFullViewCount?: number;
7
- cardWidth?: number;
13
+ cardWidth?: CardWidth;
14
+ /** @title Добавление блюра */
8
15
  isBlur?: boolean;
16
+ /** @title Цикличность */
9
17
  isCyclic?: boolean;
10
18
  }
@@ -11,24 +11,21 @@ const button: ButtonProps = {
11
11
 
12
12
  export const CARD: CarouselCardContent = {
13
13
  title: 'Хочешь попасть на практику в РСХБ?',
14
- description:
15
- 'Стажировка в Россельхозбанке — это возможность реализовать смелые идеи и проекты под руководством опытных наставников, внести свой вклад в развитие перспективных цифровых продуктов.',
14
+ description: 'Стажировка в Россельхозбанке — это возможность реализовать смелые идеи и проекты.',
16
15
  button,
17
16
  version: 'normal',
18
17
  };
19
18
 
20
19
  export const CARD_NEW: CarouselCardContent = {
21
20
  title: 'РСХБ?',
22
- description:
23
- 'Стажировка в Россельхозбанке — это возможность реализовать смелые идеи и проекты под руководством опытных наставников, внести свой вклад в развитие перспективных цифровых продуктов.',
21
+ description: 'Стажировка в Россельхозбанке — это возможность реализовать смелые идеи и проекты.',
24
22
  button,
25
23
  version: 'normal',
26
24
  };
27
25
 
28
26
  export const CARD_MINI: CarouselCardContent = {
29
27
  title: 'Хочешь попасть на практику в РСХБ?',
30
- description:
31
- 'Стажировка в Россельхозбанке — это возможность реализовать смелые идеи и проекты под руководством опытных наставников, внести свой вклад в развитие перспективных цифровых продуктов.',
28
+ description: 'Стажировка в Россельхозбанке — это возможность реализовать смелые идеи и проекты.',
32
29
  button,
33
30
  version: 'mini',
34
31
  };
@@ -0,0 +1,55 @@
1
+ {
2
+ "title": "Заголовок",
3
+ "description": "Описание 1",
4
+ "additionalDescription": "Описание 2",
5
+ "links": [
6
+ {
7
+ "text": "Текст",
8
+ "href": "#"
9
+ },
10
+ {
11
+ "text": "Текст",
12
+ "href": "#"
13
+ },
14
+ {
15
+ "text": "Текст",
16
+ "href": "#"
17
+ },
18
+ {
19
+ "text": "Текст",
20
+ "href": "#"
21
+ },
22
+ {
23
+ "text": "Текст",
24
+ "href": "#"
25
+ },
26
+ {
27
+ "text": "Текст",
28
+ "href": "#"
29
+ },
30
+ {
31
+ "text": "Текст",
32
+ "href": "#"
33
+ },
34
+ {
35
+ "text": "Текст",
36
+ "href": "#"
37
+ },
38
+ {
39
+ "text": "Текст",
40
+ "href": "#"
41
+ },
42
+ {
43
+ "text": "Текст",
44
+ "href": "#"
45
+ },
46
+ {
47
+ "text": "Текст",
48
+ "href": "#"
49
+ },
50
+ {
51
+ "text": "Текст",
52
+ "href": "#"
53
+ }
54
+ ]
55
+ }
@@ -0,0 +1,28 @@
1
+ import { CarouselLinks } from './CarouselLinks';
2
+
3
+ const link = {
4
+ text: 'Аудиторские заключения',
5
+ href: '#',
6
+ };
7
+ const links = Array(24).fill(link);
8
+
9
+ const description = `Акционерное общество «Российский Сельскохозяйственный банк»* —
10
+ один из крупнейших банков в России. Был основан в 2000 году в целях развития
11
+ национальной кредитно-финансовой системы агропромышленного сектора и
12
+ сельских территорий Российской Федерации.`;
13
+
14
+ const additionalDescription = `Сегодня это универсальный коммерческий банк,
15
+ предоставляющий все виды банковских услуг и занимающий лидирующие позиции
16
+ в финансировании агропромышленного комплекса России.`;
17
+
18
+ export default {
19
+ default: (
20
+ <CarouselLinks
21
+ links={links}
22
+ title="О Банке"
23
+ description={description}
24
+ additionalDescription={additionalDescription}
25
+ block={{ type: 'Carousel', blocks: new Array(3).fill(link).flat() }}
26
+ />
27
+ ),
28
+ };
@@ -0,0 +1,8 @@
1
+ {
2
+ "content": {},
3
+ "style": {
4
+ "ui:options": {
5
+ "minCols": 12
6
+ }
7
+ }
8
+ }
@@ -0,0 +1,61 @@
1
+ import { JSX } from '@redneckz/uni-jsx';
2
+ import type { UniBlockProps } from '../../model/JSXBlock';
3
+ import type { LinkProps } from '../../model/LinkProps';
4
+ import { BlockWrapper } from '../../ui-kit/BlockWrapper';
5
+ import { Description } from '../../ui-kit/Description/Description';
6
+ import { Heading } from '../../ui-kit/Heading/Heading';
7
+ import { LinkButton } from '../../ui-kit/LinkButton/LinkButton';
8
+ import { sliceArray } from '../../utils/sliceArray';
9
+ import { Carousel } from '../Carousel/Carousel';
10
+ import type { CarouselLinksContent } from './CarouselLinksContent';
11
+
12
+ export interface CarouselLinksProps extends CarouselLinksContent, UniBlockProps {}
13
+
14
+ const MAX_LINKS_COUNT = 12;
15
+
16
+ export const CarouselLinks = JSX<CarouselLinksProps>(
17
+ ({ additionalDescription, block, description, links, title, className = '', ...rest }) => {
18
+ return (
19
+ <BlockWrapper
20
+ className={`bg-primary-main flex w-full p-10 overflow-hidden justify-between font-sans ${className}`}
21
+ {...rest}
22
+ >
23
+ <div className="flex flex-col max-w-96 pr-9 text-white text-xl-light">
24
+ {title ? <Heading title={title} as="h1" headingType="h0" className="pb-0.5" /> : null}
25
+ {description ? (
26
+ <Description description={description} className="text-xl-light pt-5" />
27
+ ) : null}
28
+ {additionalDescription ? (
29
+ <Description description={additionalDescription} className="pt-6" />
30
+ ) : null}
31
+ </div>
32
+ {links?.length ? renderLinks(links, block) : null}
33
+ </BlockWrapper>
34
+ );
35
+ },
36
+ );
37
+
38
+ const renderLinks = (links: LinkProps[], block: any) => {
39
+ const slicedLinks = sliceArray(links, MAX_LINKS_COUNT);
40
+
41
+ const slides = slicedLinks.map((slide) => (
42
+ <div className="w-[672px] min-w-[672px] ml-20 mr-20 flex flex-wrap self-start">
43
+ {slide.map((link, index) => (
44
+ <LinkButton className="m-1" key={String(index)} {...link} />
45
+ ))}
46
+ </div>
47
+ ));
48
+
49
+ return (
50
+ <Carousel
51
+ className="min-w-[832px] w-[832px]"
52
+ isBlur={false}
53
+ cardFullViewCount={1}
54
+ cardWidth={'832'}
55
+ isCyclic={true}
56
+ block={{ type: 'Carousel', blocks: slides }}
57
+ >
58
+ {slides}
59
+ </Carousel>
60
+ );
61
+ };
@@ -0,0 +1,10 @@
1
+ import type { HeadlineCommonProps } from '../../model/HeadlineType';
2
+ import type { LinkProps } from '../../model/LinkProps';
3
+
4
+ /** @title Карусель с ссылками */
5
+ export interface CarouselLinksContent extends HeadlineCommonProps {
6
+ /** @title Дополнительное описание */
7
+ additionalDescription?: string;
8
+ /** @title Ссылки */
9
+ links?: LinkProps[];
10
+ }
@@ -1,5 +1,5 @@
1
1
  import { JSX } from '@redneckz/uni-jsx';
2
- import { useCarouselControl } from '../../hooks/useCarousel';
2
+ import { useCarouselControls } from '../../hooks/useCarouselControls';
3
3
  import { ComparisonTableColumnHeaders } from './ComparisonTableColumnHeaders';
4
4
  import type { Column, RowHeader } from './ComparisonTableContent';
5
5
  import { ComparisonTableRows } from './ComparisonTableRows';
@@ -26,7 +26,7 @@ export const ComparisonTableBody = JSX<ComparisonTableBodyProps>(
26
26
 
27
27
  const isScrollAvailable = colData.length > COLS_LENGTH_FOR_SCROLL;
28
28
 
29
- const [activeIndex, controls] = useCarouselControl({
29
+ const [activeIndex, controls] = useCarouselControls({
30
30
  itemsCount: colData.length,
31
31
  visibleItemCount: COLS_LENGTH_FOR_SCROLL,
32
32
  });
@@ -1,15 +1,15 @@
1
1
  import { JSX } from '@redneckz/uni-jsx';
2
+ import type { CarouselControls } from '../../hooks/useCarouselControls';
2
3
  import type { TitleProps } from '../../model/HeadlineType';
4
+ import { renderArrows } from '../../ui-kit/Button/renderArrows';
3
5
  import type { CellData } from './ComparisonTableContent';
4
6
  import { TableRow } from './TableRow';
5
- import type { Controls } from '../../hooks/useCarousel';
6
- import { renderArrows } from '../../ui-kit/Button/renderArrows';
7
7
 
8
8
  type ComparisonTableRowsProps = {
9
9
  rowData: { header: TitleProps; data: CellData[][] }[];
10
10
  activeCardIndex: number;
11
11
  isColoredFirstColumn: boolean;
12
- controls: Controls;
12
+ controls: CarouselControls;
13
13
  isScrollAvailable: boolean;
14
14
  };
15
15
 
@@ -2,26 +2,30 @@
2
2
  "content": {
3
3
  "version": "secondary",
4
4
  "info": [
5
- {
6
- "title": "Заголовок 1",
7
- "description": "Описание 1",
8
- "button": {
9
- "href": "#",
10
- "text": "Кнопка 1",
11
- "target": "_blank",
12
- "version": "secondary"
5
+ [
6
+ {
7
+ "title": "Заголовок 1",
8
+ "description": "Описание 1",
9
+ "button": {
10
+ "href": "#",
11
+ "text": "Кнопка 1",
12
+ "target": "_blank",
13
+ "version": "secondary"
14
+ }
13
15
  }
14
- },
15
- {
16
- "title": "Заголовок 2",
17
- "description": "Описание 2",
18
- "button": {
19
- "href": "#",
20
- "text": "Кнопка 2",
21
- "target": "_blank",
22
- "version": "secondary"
16
+ ],
17
+ [
18
+ {
19
+ "title": "Заголовок 2ff",
20
+ "description": "Описание 2",
21
+ "button": {
22
+ "href": "#",
23
+ "text": "Кнопка 2",
24
+ "target": "_blank",
25
+ "version": "secondary"
26
+ }
23
27
  }
24
- }
28
+ ]
25
29
  ],
26
30
  "contacts": [
27
31
  [
@@ -9,20 +9,22 @@ const button: ButtonProps = {
9
9
  version: 'secondary',
10
10
  };
11
11
 
12
- const info = [
13
- {
14
- title: 'Телеграм-канал РСХБ Инвестиции',
15
- description:
16
- 'Всегда вовремя: главные новости, инвестиционные идеи, анонсы размещения облигаций',
17
- button,
18
- },
19
- {
20
- title: 'Подписка на аналитику',
21
- description: 'E-mail рассылка: главное за неделю',
22
- button,
23
- },
24
- ];
25
12
  const contacts = [
13
+ [
14
+ {
15
+ title: 'Телеграм-канал РСХБ Инвестиции',
16
+ description:
17
+ 'Всегда вовремя: главные новости, инвестиционные идеи, анонсы размещения облигаций',
18
+ button,
19
+ },
20
+ ],
21
+ [
22
+ {
23
+ title: 'Подписка на аналитику',
24
+ description: 'E-mail рассылка: главное за неделю',
25
+ button,
26
+ },
27
+ ],
26
28
  [
27
29
  {
28
30
  title: '8 (800) 100-40-40',
@@ -49,8 +51,12 @@ const contacts = [
49
51
  ];
50
52
 
51
53
  export default {
52
- secondary: <ContactsBlock className="col-span-12" info={info} contacts={contacts} />,
54
+ secondary: <ContactsBlock className="col-span-12" contacts={contacts} />,
53
55
  primary: (
54
- <ContactsBlock className="col-span-12" version="primary" info={info} contacts={contacts} />
56
+ <ContactsBlock
57
+ className="col-span-12"
58
+ version="primary"
59
+ contacts={contacts}
60
+ />
55
61
  ),
56
62
  };
@@ -1,68 +1,58 @@
1
1
  import { JSX } from '@redneckz/uni-jsx';
2
+ import type { BlockVersion } from '../../model/BlockVersion';
3
+ import { VersionStyleMap } from '../../model/BlockVersion';
2
4
  import { UniBlockProps } from '../../model/JSXBlock';
3
5
  import { BlockWrapper } from '../../ui-kit/BlockWrapper';
4
6
  import { Button } from '../../ui-kit/Button/Button';
5
7
  import { Description } from '../../ui-kit/Description/Description';
6
- import { Heading } from '../../ui-kit/Heading/Heading';
7
- import type { ContactItemProps, ContactsBlockContent, InfoItemProps } from './ContactsBlockContent';
8
+ import { Headline } from '../Headline/Headline';
9
+ import type { ContactBlockProps, ContactsBlockContent } from './ContactsBlockContent';
8
10
 
9
11
  export interface ContactsBlockProps extends ContactsBlockContent, UniBlockProps {}
10
12
 
11
13
  interface RenderContactsColumnProps {
12
- contactsColumn?: ContactItemProps[];
14
+ version?: BlockVersion;
15
+ column?: ContactBlockProps[];
13
16
  index?: number;
14
17
  }
15
18
 
16
- const contactsBlockStyleMap = {
17
- primary: 'bg-white',
18
- secondary: 'bg-primary-main text-white',
19
- };
20
-
21
19
  export const ContactsBlock = JSX<ContactsBlockProps>(
22
20
  ({ className = '', contacts, info, version = 'secondary', ...rest }) => {
23
21
  return (
24
- <BlockWrapper
25
- className={`${contactsBlockStyleMap[version]} flex p-12 ${className}`}
26
- {...rest}
27
- >
28
- {info ? renderInfo(info) : null}
29
- {contacts ? renderContacts(contacts) : null}
22
+ <BlockWrapper className={`${VersionStyleMap[version]} flex p-[50px] ${className}`} {...rest}>
23
+ {info?.length ? renderBlocks(info, version) : null}
24
+ {contacts?.length ? renderBlocks(contacts, version) : null}
30
25
  </BlockWrapper>
31
26
  );
32
27
  },
33
28
  );
34
29
 
35
- const renderInfo = (info: InfoItemProps[]) => (
36
- <div className="flex grow basis-0 pr-11">
37
- {info.map(({ title, description, button }, index) => (
38
- <div className="grow basis-0 pr-11 last:pr-0" key={String(index)}>
39
- <Heading as="h5" headingType="h5" title={title} className="pb-2.5" />
40
- <Description className="text-l-light pb-6" description={description} />
41
- {button ? <Button {...button} /> : null}
42
- </div>
43
- ))}
44
- </div>
45
- );
46
-
47
- const renderContacts = (contacts: ContactItemProps[][]) => (
30
+ const renderBlocks = (info: ContactBlockProps[][], version?: BlockVersion) => (
48
31
  <div className="flex grow basis-0">
49
- {contacts.map((contactsColumn, index) => renderContactsColumn({ contactsColumn, index }))}
32
+ {info.map((column, index) => renderBlocksColumn({ column, index, version }))}
50
33
  </div>
51
34
  );
52
35
 
53
- const renderContactsColumn = ({ contactsColumn, index }: RenderContactsColumnProps) =>
54
- contactsColumn ? (
55
- <div className="flex flex-col grow basis-0 pr-11" key={String(index)}>
56
- {contactsColumn.map(({ title, description, additionalDescription }, key) => (
57
- <div className="pr-11 last:pr-0 last:mt-5" key={String(key)}>
58
- <Heading as="h5" headingType="h5" title={title} />
59
- <Description className="text-l-light mt-2.5" description={description} />
36
+ const renderBlocksColumn = ({ column, index, version }: RenderContactsColumnProps) =>
37
+ column ? (
38
+ <div className="flex flex-col grow basis-0 pr-11 last:pr-0" key={`col-${String(index)}`}>
39
+ {column.map(({ title = '', description, additionalDescription, button }, key) => (
40
+ <div className="mt-6 first:mt-0" key={String(key)}>
41
+ <Headline
42
+ className="!p-0"
43
+ title={title}
44
+ description={description}
45
+ headlineVersion="XS"
46
+ align="left"
47
+ bgColorHeadline={version}
48
+ />
60
49
  {additionalDescription ? (
61
50
  <Description
62
51
  className="text-m-light mt-1.5 opacity-80"
63
52
  description={additionalDescription}
64
53
  />
65
54
  ) : null}
55
+ {button ? <Button className="mt-6" {...button} /> : null}
66
56
  </div>
67
57
  ))}
68
58
  </div>
@@ -2,6 +2,16 @@ import type { BlockVersion } from '../../model/BlockVersion';
2
2
  import type { HeadlineCommonProps } from '../../model/HeadlineType';
3
3
  import type { ButtonProps } from '../../ui-kit/Button/ButtonProps';
4
4
 
5
+ /**
6
+ * @title Элемент плитки
7
+ */
8
+ export interface ContactBlockProps extends HeadlineCommonProps {
9
+ /** @title Дополнительное описание */
10
+ additionalDescription?: string;
11
+ /** @title Кнопка */
12
+ button?: ButtonProps;
13
+ }
14
+
5
15
  /**
6
16
  * @title Контакты
7
17
  */
@@ -10,31 +20,11 @@ export interface ContactsBlockContent {
10
20
  * @title Данные
11
21
  * @maxItems 2
12
22
  * */
13
- info?: InfoItemProps[];
23
+ info?: ContactBlockProps[][];
14
24
  /**
15
25
  * @title Контакты
16
26
  * @maxItems 2
17
27
  * */
18
- contacts?: ContactItemProps[][];
28
+ contacts?: ContactBlockProps[][];
19
29
  version?: BlockVersion;
20
30
  }
21
-
22
- /**
23
- * @title Элемент плитки
24
- */
25
- export interface ContactItemProps {
26
- /** @title Дополнительное описание */
27
- additionalDescription?: string;
28
- /** @title Описание */
29
- description?: string;
30
- /** @title Заголовок */
31
- title?: string;
32
- }
33
-
34
- /**
35
- * @title Элемент плитки
36
- */
37
- export interface InfoItemProps extends HeadlineCommonProps {
38
- /** @title Кнопка */
39
- button?: ButtonProps;
40
- }
@@ -64,6 +64,12 @@ export const HEADLINE_VERSION: Record<HeadlineVersion, VersionStyleType> = {
64
64
  headingType: 'h4',
65
65
  as: 'h4',
66
66
  },
67
+ XS: {
68
+ descriptionFont: 'text-l-light',
69
+ gap: 'gap-2',
70
+ headingType: 'h5',
71
+ as: 'h5',
72
+ },
67
73
  };
68
74
 
69
75
  export const HEADLINE_SMALL_VERSION: Record<HeadlineSmallVersion, string> = {
@@ -85,6 +85,7 @@ export default {
85
85
  headlineVersion="L"
86
86
  title="Потребительский кредит наличными"
87
87
  description="Кредит наличными без залога и поручительства. Потребительский кредит на любые цели. Нужен только паспорт."
88
+ benefitsCountOfRow={2}
88
89
  benefits={benefits}
89
90
  benefitsVersion="normal"
90
91
  buttons={buttons}