@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.
- package/bin/migration-scripts/0.6.32.js +26 -0
- package/bundle/blocks.schema.json +1 -1
- package/bundle/bundle.umd.js +145 -108
- package/bundle/bundle.umd.min.js +1 -1
- package/bundle/components/Carousel/CarouselContainer.d.ts +2 -1
- package/bundle/components/Carousel/CarouselContent.d.ts +9 -2
- package/bundle/components/CarouselLinks/CarouselLinks.d.ts +5 -0
- package/bundle/components/CarouselLinks/CarouselLinksContent.d.ts +9 -0
- package/bundle/components/ComparisonTable/ComparisonTableRows.d.ts +2 -2
- package/bundle/components/ContactsBlock/ContactsBlockContent.d.ts +11 -20
- package/bundle/components/ProductBlock/ProductBlockContent.d.ts +6 -0
- package/bundle/components/StepsBlock/renderStepContent.d.ts +1 -1
- package/bundle/hooks/useCarouselControls.d.ts +13 -0
- package/bundle/icons/IconName.d.ts +6 -4
- package/bundle/model/HeadlineType.d.ts +2 -2
- package/bundle/ui-kit/LinkButton/LinkButton.d.ts +5 -0
- package/bundle/utils/sliceArray.d.ts +1 -0
- package/cosmos-static/icons/ArrowRightIcon.svg +1 -0
- package/dist/components/Blocks.js +2 -0
- package/dist/components/Blocks.js.map +1 -1
- package/dist/components/Carousel/Carousel.js +3 -3
- package/dist/components/Carousel/Carousel.js.map +1 -1
- package/dist/components/Carousel/CarouselContainer.d.ts +2 -1
- package/dist/components/Carousel/CarouselContainer.js +1 -1
- package/dist/components/Carousel/CarouselContainer.js.map +1 -1
- package/dist/components/Carousel/CarouselContent.d.ts +9 -2
- package/dist/components/Carousel/CarouselContent.js +3 -0
- package/dist/components/Carousel/CarouselContent.js.map +1 -1
- package/dist/components/CarouselLinks/CarouselLinks.d.ts +5 -0
- package/dist/components/CarouselLinks/CarouselLinks.js +20 -0
- package/dist/components/CarouselLinks/CarouselLinks.js.map +1 -0
- package/dist/components/CarouselLinks/CarouselLinksContent.d.ts +9 -0
- package/dist/components/CarouselLinks/CarouselLinksContent.js +2 -0
- package/dist/components/CarouselLinks/CarouselLinksContent.js.map +1 -0
- package/dist/components/ComparisonTable/ComparisonTableBody.js +2 -2
- package/dist/components/ComparisonTable/ComparisonTableBody.js.map +1 -1
- package/dist/components/ComparisonTable/ComparisonTableRows.d.ts +2 -2
- package/dist/components/ComparisonTable/ComparisonTableRows.js +1 -1
- package/dist/components/ComparisonTable/ComparisonTableRows.js.map +1 -1
- package/dist/components/ContactsBlock/ContactsBlock.js +5 -9
- package/dist/components/ContactsBlock/ContactsBlock.js.map +1 -1
- package/dist/components/ContactsBlock/ContactsBlockContent.d.ts +11 -20
- package/dist/components/Headline/constants.js +6 -0
- package/dist/components/Headline/constants.js.map +1 -1
- package/dist/components/ProductBlock/ProductBlockContent.d.ts +6 -0
- package/dist/components/ProductBlock/ProductBlockInner.js +5 -3
- package/dist/components/ProductBlock/ProductBlockInner.js.map +1 -1
- package/dist/components/StepsBlock/renderStepContent.d.ts +1 -1
- package/dist/components/TariffsTable/TariffsTable.js +3 -3
- package/dist/components/TariffsTable/TariffsTable.js.map +1 -1
- package/dist/hooks/useCarouselControls.d.ts +13 -0
- package/{mobile/dist/hooks/useCarousel.js → dist/hooks/useCarouselControls.js} +6 -6
- package/dist/hooks/useCarouselControls.js.map +1 -0
- package/dist/icons/IconName.d.ts +6 -4
- package/dist/icons/IconName.js +4 -2
- package/dist/icons/IconName.js.map +1 -1
- package/dist/model/HeadlineType.d.ts +2 -2
- package/dist/ui-kit/InnerTable/InnerTableHeader.js +2 -2
- package/dist/ui-kit/InnerTable/InnerTableHeader.js.map +1 -1
- package/dist/ui-kit/LinkButton/LinkButton.d.ts +5 -0
- package/dist/ui-kit/LinkButton/LinkButton.js +16 -0
- package/dist/ui-kit/LinkButton/LinkButton.js.map +1 -0
- package/dist/utils/sliceArray.d.ts +1 -0
- package/dist/utils/sliceArray.js +15 -0
- package/dist/utils/sliceArray.js.map +1 -0
- package/lib/common.css +1 -1
- package/lib/components/Blocks.js +2 -0
- package/lib/components/Blocks.js.map +1 -1
- package/lib/components/Carousel/Carousel.js +3 -3
- package/lib/components/Carousel/Carousel.js.map +1 -1
- package/lib/components/Carousel/CarouselContainer.d.ts +2 -1
- package/lib/components/Carousel/CarouselContainer.js +1 -1
- package/lib/components/Carousel/CarouselContainer.js.map +1 -1
- package/lib/components/Carousel/CarouselContent.d.ts +9 -2
- package/lib/components/Carousel/CarouselContent.js +3 -0
- package/lib/components/Carousel/CarouselContent.js.map +1 -1
- package/lib/components/CarouselLinks/CarouselLinks.d.ts +5 -0
- package/lib/components/CarouselLinks/CarouselLinks.fixture.d.ts +5 -0
- package/lib/components/CarouselLinks/CarouselLinks.js +18 -0
- package/lib/components/CarouselLinks/CarouselLinks.js.map +1 -0
- package/lib/components/CarouselLinks/CarouselLinksContent.d.ts +9 -0
- package/lib/components/CarouselLinks/CarouselLinksContent.js +2 -0
- package/lib/components/CarouselLinks/CarouselLinksContent.js.map +1 -0
- package/lib/components/ComparisonTable/ComparisonTableBody.js +2 -2
- package/lib/components/ComparisonTable/ComparisonTableBody.js.map +1 -1
- package/lib/components/ComparisonTable/ComparisonTableRows.d.ts +2 -2
- package/lib/components/ComparisonTable/ComparisonTableRows.js +1 -1
- package/lib/components/ComparisonTable/ComparisonTableRows.js.map +1 -1
- package/lib/components/ContactsBlock/ContactsBlock.js +5 -9
- package/lib/components/ContactsBlock/ContactsBlock.js.map +1 -1
- package/lib/components/ContactsBlock/ContactsBlockContent.d.ts +11 -20
- package/lib/components/Headline/constants.js +6 -0
- package/lib/components/Headline/constants.js.map +1 -1
- package/lib/components/ProductBlock/ProductBlockContent.d.ts +6 -0
- package/lib/components/ProductBlock/ProductBlockInner.js +5 -3
- package/lib/components/ProductBlock/ProductBlockInner.js.map +1 -1
- package/lib/components/StepsBlock/renderStepContent.d.ts +1 -1
- package/lib/components/TariffsTable/TariffsTable.js +3 -3
- package/lib/components/TariffsTable/TariffsTable.js.map +1 -1
- package/lib/hooks/useCarouselControls.d.ts +13 -0
- package/lib/hooks/{useCarousel.js → useCarouselControls.js} +4 -4
- package/lib/hooks/useCarouselControls.js.map +1 -0
- package/lib/icons/IconName.d.ts +6 -4
- package/lib/icons/IconName.js +4 -2
- package/lib/icons/IconName.js.map +1 -1
- package/lib/model/HeadlineType.d.ts +2 -2
- package/lib/ui-kit/InnerTable/InnerTableHeader.js +2 -2
- package/lib/ui-kit/InnerTable/InnerTableHeader.js.map +1 -1
- package/lib/ui-kit/LinkButton/LinkButton.d.ts +5 -0
- package/lib/ui-kit/LinkButton/LinkButton.fixture.d.ts +5 -0
- package/lib/ui-kit/LinkButton/LinkButton.js +14 -0
- package/lib/ui-kit/LinkButton/LinkButton.js.map +1 -0
- package/lib/utils/sliceArray.d.ts +1 -0
- package/lib/utils/sliceArray.js +12 -0
- package/lib/utils/sliceArray.js.map +1 -0
- package/mobile/bundle/bundle.umd.js +1 -1
- package/mobile/bundle/bundle.umd.min.js +1 -1
- package/mobile/bundle/components/Carousel/CarouselContainer.d.ts +2 -1
- package/mobile/bundle/components/Carousel/CarouselContent.d.ts +9 -2
- package/mobile/bundle/components/CarouselLinks/CarouselLinks.d.ts +5 -0
- package/mobile/bundle/components/CarouselLinks/CarouselLinksContent.d.ts +9 -0
- package/mobile/bundle/components/ComparisonTable/ComparisonTableRows.d.ts +2 -2
- package/mobile/bundle/components/ContactsBlock/ContactsBlockContent.d.ts +11 -20
- package/mobile/bundle/components/ProductBlock/ProductBlockContent.d.ts +6 -0
- package/mobile/bundle/components/StepsBlock/renderStepContent.d.ts +1 -1
- package/mobile/bundle/hooks/useCarouselControls.d.ts +13 -0
- package/mobile/bundle/icons/IconName.d.ts +6 -4
- package/mobile/bundle/model/HeadlineType.d.ts +2 -2
- package/mobile/bundle/ui-kit/LinkButton/LinkButton.d.ts +5 -0
- package/mobile/bundle/utils/sliceArray.d.ts +1 -0
- package/mobile/dist/components/Carousel/Carousel.js +3 -3
- package/mobile/dist/components/Carousel/Carousel.js.map +1 -1
- package/mobile/dist/components/Carousel/CarouselContainer.d.ts +2 -1
- package/mobile/dist/components/Carousel/CarouselContainer.js +1 -1
- package/mobile/dist/components/Carousel/CarouselContainer.js.map +1 -1
- package/mobile/dist/components/Carousel/CarouselContent.d.ts +9 -2
- package/mobile/dist/components/Carousel/CarouselContent.js +3 -0
- package/mobile/dist/components/Carousel/CarouselContent.js.map +1 -1
- package/mobile/dist/components/CarouselLinks/CarouselLinks.d.ts +5 -0
- package/mobile/dist/components/CarouselLinks/CarouselLinks.js +20 -0
- package/mobile/dist/components/CarouselLinks/CarouselLinks.js.map +1 -0
- package/mobile/dist/components/CarouselLinks/CarouselLinksContent.d.ts +9 -0
- package/mobile/dist/components/CarouselLinks/CarouselLinksContent.js +2 -0
- package/mobile/dist/components/CarouselLinks/CarouselLinksContent.js.map +1 -0
- package/mobile/dist/components/ComparisonTable/ComparisonTableBody.js +2 -2
- package/mobile/dist/components/ComparisonTable/ComparisonTableBody.js.map +1 -1
- package/mobile/dist/components/ComparisonTable/ComparisonTableRows.d.ts +2 -2
- package/mobile/dist/components/ComparisonTable/ComparisonTableRows.js +1 -1
- package/mobile/dist/components/ComparisonTable/ComparisonTableRows.js.map +1 -1
- package/mobile/dist/components/ContactsBlock/ContactsBlock.js +5 -9
- package/mobile/dist/components/ContactsBlock/ContactsBlock.js.map +1 -1
- package/mobile/dist/components/ContactsBlock/ContactsBlockContent.d.ts +11 -20
- package/mobile/dist/components/Headline/constants.js +6 -0
- package/mobile/dist/components/Headline/constants.js.map +1 -1
- package/mobile/dist/components/ProductBlock/ProductBlockContent.d.ts +6 -0
- package/mobile/dist/components/StepsBlock/renderStepContent.d.ts +1 -1
- package/mobile/dist/hooks/useCarouselControls.d.ts +13 -0
- package/{dist/hooks/useCarousel.js → mobile/dist/hooks/useCarouselControls.js} +6 -6
- package/mobile/dist/hooks/useCarouselControls.js.map +1 -0
- package/mobile/dist/icons/IconName.d.ts +6 -4
- package/mobile/dist/icons/IconName.js +4 -2
- package/mobile/dist/icons/IconName.js.map +1 -1
- package/mobile/dist/model/HeadlineType.d.ts +2 -2
- package/mobile/dist/ui-kit/InnerTable/InnerTableHeader.js +2 -2
- package/mobile/dist/ui-kit/InnerTable/InnerTableHeader.js.map +1 -1
- package/mobile/dist/ui-kit/LinkButton/LinkButton.d.ts +5 -0
- package/mobile/dist/ui-kit/LinkButton/LinkButton.js +16 -0
- package/mobile/dist/ui-kit/LinkButton/LinkButton.js.map +1 -0
- package/mobile/dist/utils/sliceArray.d.ts +1 -0
- package/mobile/dist/utils/sliceArray.js +15 -0
- package/mobile/dist/utils/sliceArray.js.map +1 -0
- package/mobile/lib/components/Carousel/Carousel.js +3 -3
- package/mobile/lib/components/Carousel/Carousel.js.map +1 -1
- package/mobile/lib/components/Carousel/CarouselContainer.d.ts +2 -1
- package/mobile/lib/components/Carousel/CarouselContainer.js +1 -1
- package/mobile/lib/components/Carousel/CarouselContainer.js.map +1 -1
- package/mobile/lib/components/Carousel/CarouselContent.d.ts +9 -2
- package/mobile/lib/components/Carousel/CarouselContent.js +3 -0
- package/mobile/lib/components/Carousel/CarouselContent.js.map +1 -1
- package/mobile/lib/components/CarouselLinks/CarouselLinks.d.ts +5 -0
- package/mobile/lib/components/CarouselLinks/CarouselLinks.js +18 -0
- package/mobile/lib/components/CarouselLinks/CarouselLinks.js.map +1 -0
- package/mobile/lib/components/CarouselLinks/CarouselLinksContent.d.ts +9 -0
- package/mobile/lib/components/CarouselLinks/CarouselLinksContent.js +2 -0
- package/mobile/lib/components/CarouselLinks/CarouselLinksContent.js.map +1 -0
- package/mobile/lib/components/ComparisonTable/ComparisonTableBody.js +2 -2
- package/mobile/lib/components/ComparisonTable/ComparisonTableBody.js.map +1 -1
- package/mobile/lib/components/ComparisonTable/ComparisonTableRows.d.ts +2 -2
- package/mobile/lib/components/ComparisonTable/ComparisonTableRows.js +1 -1
- package/mobile/lib/components/ComparisonTable/ComparisonTableRows.js.map +1 -1
- package/mobile/lib/components/ContactsBlock/ContactsBlock.js +5 -9
- package/mobile/lib/components/ContactsBlock/ContactsBlock.js.map +1 -1
- package/mobile/lib/components/ContactsBlock/ContactsBlockContent.d.ts +11 -20
- package/mobile/lib/components/Headline/constants.js +6 -0
- package/mobile/lib/components/Headline/constants.js.map +1 -1
- package/mobile/lib/components/ProductBlock/ProductBlockContent.d.ts +6 -0
- package/mobile/lib/components/StepsBlock/renderStepContent.d.ts +1 -1
- package/mobile/lib/hooks/useCarouselControls.d.ts +13 -0
- package/mobile/lib/hooks/{useCarousel.js → useCarouselControls.js} +4 -4
- package/mobile/lib/hooks/useCarouselControls.js.map +1 -0
- package/mobile/lib/icons/IconName.d.ts +6 -4
- package/mobile/lib/icons/IconName.js +4 -2
- package/mobile/lib/icons/IconName.js.map +1 -1
- package/mobile/lib/model/HeadlineType.d.ts +2 -2
- package/mobile/lib/ui-kit/InnerTable/InnerTableHeader.js +2 -2
- package/mobile/lib/ui-kit/InnerTable/InnerTableHeader.js.map +1 -1
- package/mobile/lib/ui-kit/LinkButton/LinkButton.d.ts +5 -0
- package/mobile/lib/ui-kit/LinkButton/LinkButton.js +14 -0
- package/mobile/lib/ui-kit/LinkButton/LinkButton.js.map +1 -0
- package/mobile/lib/utils/sliceArray.d.ts +1 -0
- package/mobile/lib/utils/sliceArray.js +12 -0
- package/mobile/lib/utils/sliceArray.js.map +1 -0
- package/mobile/src/components/Carousel/Carousel.tsx +3 -4
- package/mobile/src/components/Carousel/CarouselContainer.tsx +3 -2
- package/mobile/src/components/Carousel/CarouselContent.ts +10 -2
- package/mobile/src/components/CarouselLinks/CarouselLinks.example.json +55 -0
- package/mobile/src/components/CarouselLinks/CarouselLinks.json +8 -0
- package/mobile/src/components/CarouselLinks/CarouselLinks.tsx +61 -0
- package/mobile/src/components/CarouselLinks/CarouselLinksContent.ts +10 -0
- package/mobile/src/components/ComparisonTable/ComparisonTableBody.tsx +2 -2
- package/mobile/src/components/ComparisonTable/ComparisonTableRows.tsx +3 -3
- package/mobile/src/components/ContactsBlock/ContactsBlock.example.json +22 -18
- package/mobile/src/components/ContactsBlock/ContactsBlock.tsx +25 -35
- package/mobile/src/components/ContactsBlock/ContactsBlockContent.ts +12 -22
- package/mobile/src/components/Headline/constants.ts +6 -0
- package/mobile/src/components/ProductBlock/ProductBlockContent.ts +6 -0
- package/mobile/src/components/StepsBlock/renderStepContent.tsx +1 -1
- package/mobile/src/hooks/{useCarousel.ts → useCarouselControls.ts} +5 -9
- package/mobile/src/icons/ArrowLeftIcon.svg +1 -1
- package/mobile/src/icons/ArrowRightIcon.svg +1 -0
- package/mobile/src/icons/ArrowUpIcon.svg +1 -1
- package/mobile/src/icons/IconName.ts +4 -4
- package/mobile/src/model/HeadlineType.ts +2 -2
- package/mobile/src/ui-kit/InnerTable/InnerTableHeader.tsx +9 -2
- package/mobile/src/ui-kit/LinkButton/LinkButton.tsx +42 -0
- package/mobile/src/utils/sliceArray.ts +15 -0
- package/package.json +2 -2
- package/src/components/Blocks.ts +2 -0
- package/src/components/Carousel/Carousel.fixture.tsx +3 -3
- package/src/components/Carousel/Carousel.tsx +3 -4
- package/src/components/Carousel/CarouselContainer.tsx +3 -2
- package/src/components/Carousel/CarouselContent.ts +10 -2
- package/src/components/CarouselCard/CarouselCard.fixture.tsx +3 -6
- package/src/components/CarouselLinks/CarouselLinks.example.json +55 -0
- package/src/components/CarouselLinks/CarouselLinks.fixture.tsx +28 -0
- package/src/components/CarouselLinks/CarouselLinks.json +8 -0
- package/src/components/CarouselLinks/CarouselLinks.tsx +61 -0
- package/src/components/CarouselLinks/CarouselLinksContent.ts +10 -0
- package/src/components/ComparisonTable/ComparisonTableBody.tsx +2 -2
- package/src/components/ComparisonTable/ComparisonTableRows.tsx +3 -3
- package/src/components/ContactsBlock/ContactsBlock.example.json +22 -18
- package/src/components/ContactsBlock/ContactsBlock.fixture.tsx +21 -15
- package/src/components/ContactsBlock/ContactsBlock.tsx +25 -35
- package/src/components/ContactsBlock/ContactsBlockContent.ts +12 -22
- package/src/components/Headline/constants.ts +6 -0
- package/src/components/ProductBlock/ProductBlock.fixture.tsx +1 -0
- package/src/components/ProductBlock/ProductBlockContent.ts +6 -0
- package/src/components/ProductBlock/ProductBlockInner.tsx +8 -3
- package/src/components/StepsBlock/renderStepContent.tsx +1 -1
- package/src/components/TariffsTable/TariffsTable.tsx +5 -7
- package/src/hooks/{useCarousel.ts → useCarouselControls.ts} +5 -9
- package/src/icons/ArrowLeftIcon.svg +1 -1
- package/src/icons/ArrowRightIcon.svg +1 -0
- package/src/icons/ArrowUpIcon.svg +1 -1
- package/src/icons/IconName.ts +6 -327
- package/src/model/.CarouselCardVersion.ts.icloud +0 -0
- package/src/model/HeadlineType.ts +2 -2
- package/src/ui-kit/InnerTable/InnerTableHeader.tsx +9 -2
- package/src/ui-kit/LinkButton/LinkButton.fixture.tsx +9 -0
- package/src/ui-kit/LinkButton/LinkButton.tsx +42 -0
- package/src/utils/sliceArray.ts +15 -0
- package/bundle/hooks/useCarousel.d.ts +0 -14
- package/dist/hooks/useCarousel.d.ts +0 -14
- package/dist/hooks/useCarousel.js.map +0 -1
- package/lib/hooks/useCarousel.d.ts +0 -14
- package/lib/hooks/useCarousel.js.map +0 -1
- package/mobile/bundle/hooks/useCarousel.d.ts +0 -14
- package/mobile/dist/hooks/useCarousel.d.ts +0 -14
- package/mobile/dist/hooks/useCarousel.js.map +0 -1
- package/mobile/lib/hooks/useCarousel.d.ts +0 -14
- 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.
|
|
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": "
|
|
184
|
+
"limit": "9 kB",
|
|
185
185
|
"path": "lib/common.css"
|
|
186
186
|
},
|
|
187
187
|
{
|
package/src/components/Blocks.ts
CHANGED
|
@@ -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=
|
|
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=
|
|
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=
|
|
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 {
|
|
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] =
|
|
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:
|
|
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?:
|
|
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,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 {
|
|
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] =
|
|
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:
|
|
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
|
-
|
|
7
|
-
|
|
8
|
-
|
|
9
|
-
"
|
|
10
|
-
|
|
11
|
-
|
|
12
|
-
|
|
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
|
-
|
|
17
|
-
|
|
18
|
-
|
|
19
|
-
"
|
|
20
|
-
|
|
21
|
-
|
|
22
|
-
|
|
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"
|
|
54
|
+
secondary: <ContactsBlock className="col-span-12" contacts={contacts} />,
|
|
53
55
|
primary: (
|
|
54
|
-
<ContactsBlock
|
|
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 {
|
|
7
|
-
import type {
|
|
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
|
-
|
|
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
|
-
|
|
26
|
-
{
|
|
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
|
|
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
|
-
{
|
|
32
|
+
{info.map((column, index) => renderBlocksColumn({ column, index, version }))}
|
|
50
33
|
</div>
|
|
51
34
|
);
|
|
52
35
|
|
|
53
|
-
const
|
|
54
|
-
|
|
55
|
-
<div className="flex flex-col grow basis-0 pr-11" key={String(index)}>
|
|
56
|
-
{
|
|
57
|
-
<div className="
|
|
58
|
-
<
|
|
59
|
-
|
|
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?:
|
|
23
|
+
info?: ContactBlockProps[][];
|
|
14
24
|
/**
|
|
15
25
|
* @title Контакты
|
|
16
26
|
* @maxItems 2
|
|
17
27
|
* */
|
|
18
|
-
contacts?:
|
|
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}
|