@redneckz/wildless-cms-uni-blocks 0.2.92 → 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.
- package/bundle/blocks.schema.json +1 -1
- package/bundle/bundle.umd.js +79 -56
- package/bundle/bundle.umd.min.js +1 -1
- package/dist/api/LikeAPI.js +1 -0
- package/dist/api/LikeAPI.js.map +1 -1
- package/dist/components/Accordion/AccordionContent.d.ts +38 -14
- package/dist/components/Accordion/AccordionItem.js +8 -6
- package/dist/components/Accordion/AccordionItem.js.map +1 -1
- package/dist/components/BaseTile/BaseTile.js +1 -1
- package/dist/components/BaseTile/BaseTile.js.map +1 -1
- package/dist/components/Blocks.js +1 -1
- package/dist/components/Blocks.js.map +1 -1
- package/dist/components/ComparisonTable/ComparisonTable.js +11 -6
- package/dist/components/ComparisonTable/ComparisonTable.js.map +1 -1
- package/dist/components/ComparisonTable/HeaderCell.js +1 -1
- package/dist/components/ComparisonTable/HeaderCell.js.map +1 -1
- package/dist/components/ContentPage/ContentPageHead.d.ts +1 -1
- package/dist/components/CreditCalculator/CreditCalculator.js +1 -1
- package/dist/components/CreditCalculator/CreditCalculator.js.map +1 -1
- package/dist/components/Footer/Contacts.js +1 -1
- package/dist/components/Footer/Contacts.js.map +1 -1
- package/dist/components/Footer/FooterContent.d.ts +1 -2
- package/dist/components/Footer/HorizontalNavigation.js +1 -1
- package/dist/components/Footer/SocialMedia.js +1 -2
- package/dist/components/Footer/SocialMedia.js.map +1 -1
- package/dist/components/Gallery/GalleryInner.js +2 -2
- package/dist/components/Gallery/GalleryInner.js.map +1 -1
- package/dist/components/LinkDocs/LinkDocs.js +5 -5
- package/dist/components/LinkDocs/LinkDocs.js.map +1 -1
- package/dist/components/MiniGallery/MiniGalleryContent.d.ts +1 -2
- package/dist/components/MobileBlocks.js +0 -3
- package/dist/components/MobileBlocks.js.map +1 -1
- package/dist/components/PictureText/PictureTextContent.d.ts +1 -3
- package/dist/components/Placeholder/Placeholder.js.map +1 -1
- package/dist/components/ProductBlock/ProductBlock.mobile.js +3 -1
- package/dist/components/ProductBlock/ProductBlock.mobile.js.map +1 -1
- package/dist/components/ProductBlock/ProductBlockInner.js +1 -4
- package/dist/components/ProductBlock/ProductBlockInner.js.map +1 -1
- package/dist/components/ProductGallery/ProductGallery.js +2 -2
- package/dist/components/ProductGallery/ProductGallery.js.map +1 -1
- package/dist/components/PromoTile/PromoTile.d.ts +1 -1
- package/dist/components/PromoTile/PromoTile.js +1 -1
- package/dist/components/PromoTile/PromoTile.js.map +1 -1
- package/dist/components/TariffsTable/TariffsTable.js +8 -3
- package/dist/components/TariffsTable/TariffsTable.js.map +1 -1
- package/dist/components/TariffsTable/TariffsTableCell.js +3 -3
- package/dist/components/TariffsTable/TariffsTableCell.js.map +1 -1
- package/dist/components/TextBlock/TextBlockContent.d.ts +1 -2
- package/dist/components/Tile/Tile.d.ts +1 -1
- package/dist/components/Tile/Tile.js +14 -2
- package/dist/components/Tile/Tile.js.map +1 -1
- package/dist/content-page-repository/ContentPageRepository.js +1 -0
- package/dist/content-page-repository/ContentPageRepository.js.map +1 -1
- package/dist/hooks/useComparisonTableScroll.d.ts +6 -1
- package/dist/hooks/useComparisonTableScroll.js +1 -1
- package/dist/hooks/useComparisonTableScroll.js.map +1 -1
- package/dist/hooks/useLink.js +1 -1
- package/dist/hooks/useLink.js.map +1 -1
- package/dist/ui-kit/InputRange/InputRange.js +1 -1
- package/dist/ui-kit/InputRange/InputRange.js.map +1 -1
- package/dist/ui-kit/SearchBar.js +2 -1
- package/dist/ui-kit/SearchBar.js.map +1 -1
- package/lib/api/LikeAPI.js +1 -0
- package/lib/api/LikeAPI.js.map +1 -1
- package/lib/common.css +1 -1
- package/lib/components/Accordion/Accordion.fixture.d.ts +1 -4
- package/lib/components/Accordion/AccordionContent.d.ts +38 -14
- package/lib/components/Accordion/AccordionItem.js +8 -6
- package/lib/components/Accordion/AccordionItem.js.map +1 -1
- package/lib/components/BaseTile/BaseTile.js +1 -1
- package/lib/components/BaseTile/BaseTile.js.map +1 -1
- package/lib/components/Blocks.js +1 -1
- package/lib/components/Blocks.js.map +1 -1
- package/lib/components/ComparisonTable/ComparisonTable.js +11 -6
- package/lib/components/ComparisonTable/ComparisonTable.js.map +1 -1
- package/lib/components/ComparisonTable/HeaderCell.js +1 -1
- package/lib/components/ComparisonTable/HeaderCell.js.map +1 -1
- package/lib/components/ContentPage/ContentPageHead.d.ts +1 -1
- package/lib/components/CreditCalculator/CreditCalculator.js +1 -1
- package/lib/components/CreditCalculator/CreditCalculator.js.map +1 -1
- package/lib/components/Footer/Contacts.js +1 -1
- package/lib/components/Footer/Contacts.js.map +1 -1
- package/lib/components/Footer/FooterContent.d.ts +1 -2
- package/lib/components/Footer/HorizontalNavigation.js +1 -1
- package/lib/components/Footer/SocialMedia.js +1 -2
- package/lib/components/Footer/SocialMedia.js.map +1 -1
- package/lib/components/Gallery/GalleryInner.js +2 -2
- package/lib/components/Gallery/GalleryInner.js.map +1 -1
- package/lib/components/Headline/Headline.fixture.d.ts +3 -2
- package/lib/components/LinkDocs/LinkDocs.fixture.d.ts +6 -6
- package/lib/components/LinkDocs/LinkDocs.js +5 -5
- package/lib/components/LinkDocs/LinkDocs.js.map +1 -1
- package/lib/components/MiniGallery/MiniGalleryContent.d.ts +1 -2
- package/lib/components/MobileBlocks.js +0 -3
- package/lib/components/MobileBlocks.js.map +1 -1
- package/lib/components/PictureText/PictureText.fixture.d.ts +2 -0
- package/lib/components/PictureText/PictureTextContent.d.ts +1 -3
- package/lib/components/Placeholder/Placeholder.js.map +1 -1
- package/lib/components/ProductBlock/ProductBlock.mobile.js +3 -1
- package/lib/components/ProductBlock/ProductBlock.mobile.js.map +1 -1
- package/lib/components/ProductBlock/ProductBlockInner.js +1 -4
- package/lib/components/ProductBlock/ProductBlockInner.js.map +1 -1
- package/lib/components/ProductGallery/ProductGallery.js +2 -2
- package/lib/components/ProductGallery/ProductGallery.js.map +1 -1
- package/lib/components/PromoTile/PromoTile.d.ts +1 -1
- package/lib/components/PromoTile/PromoTile.js +1 -1
- package/lib/components/PromoTile/PromoTile.js.map +1 -1
- package/lib/components/TariffsTable/TariffsTable.js +8 -3
- package/lib/components/TariffsTable/TariffsTable.js.map +1 -1
- package/lib/components/TariffsTable/TariffsTableCell.js +3 -3
- package/lib/components/TariffsTable/TariffsTableCell.js.map +1 -1
- package/lib/components/TextBlock/TextBlock.fixture.d.ts +2 -0
- package/lib/components/TextBlock/TextBlockContent.d.ts +1 -2
- package/lib/components/Tile/Tile.d.ts +1 -1
- package/lib/components/Tile/Tile.js +14 -2
- package/lib/components/Tile/Tile.js.map +1 -1
- package/lib/content-page-repository/ContentPageRepository.js +1 -0
- package/lib/content-page-repository/ContentPageRepository.js.map +1 -1
- package/lib/hooks/useComparisonTableScroll.d.ts +6 -1
- package/lib/hooks/useComparisonTableScroll.js +1 -1
- package/lib/hooks/useComparisonTableScroll.js.map +1 -1
- package/lib/hooks/useLink.js +1 -1
- package/lib/hooks/useLink.js.map +1 -1
- package/lib/ui-kit/InputRange/InputRange.js +1 -1
- package/lib/ui-kit/InputRange/InputRange.js.map +1 -1
- package/lib/ui-kit/SearchBar.js +2 -1
- package/lib/ui-kit/SearchBar.js.map +1 -1
- package/package.json +19 -9
- package/src/api/LikeAPI.ts +1 -0
- package/src/components/Accordion/Accordion.example.json +18 -42
- package/src/components/Accordion/Accordion.fixture.tsx +29 -119
- package/src/components/Accordion/AccordionContent.ts +47 -18
- package/src/components/Accordion/AccordionItem.tsx +13 -9
- package/src/components/BaseTile/BaseTile.tsx +6 -3
- package/src/components/Blocks.ts +1 -1
- package/src/components/ComparisonTable/ComparisonTable.tsx +8 -8
- package/src/components/ComparisonTable/HeaderCell.tsx +3 -3
- package/src/components/ContentPage/ContentPage.fixture.tsx +3 -3
- package/src/components/ContentPage/ContentPage.page.json +14 -7
- package/src/components/ContentPage/ContentPageHead.tsx +1 -1
- package/src/components/CreditCalculator/CreditCalculator.tsx +1 -1
- package/src/components/Footer/Contacts.tsx +1 -1
- package/src/components/Footer/FooterContent.ts +1 -1
- package/src/components/Footer/HorizontalNavigation.tsx +1 -1
- package/src/components/Footer/SocialMedia.tsx +5 -6
- package/src/components/Gallery/GalleryInner.tsx +2 -1
- package/src/components/Headline/Headline.fixture.tsx +11 -34
- package/src/components/LinkDocs/LinkDocs.fixture.tsx +14 -14
- package/src/components/LinkDocs/LinkDocs.tsx +8 -7
- package/src/components/MiniGallery/MiniGalleryContent.ts +1 -1
- package/src/components/MobileBlocks.ts +0 -3
- package/src/components/PictureText/PictureText.fixture.tsx +20 -20
- package/src/components/PictureText/PictureTextContent.ts +1 -3
- package/src/components/Placeholder/Placeholder.tsx +2 -2
- package/src/components/ProductBlock/ProductBlock.mobile.tsx +1 -0
- package/src/components/ProductBlock/ProductBlockInner.tsx +8 -11
- package/src/components/ProductGallery/ProductGallery.example.json +1 -1
- package/src/components/ProductGallery/ProductGallery.fixture.tsx +7 -13
- package/src/components/ProductGallery/ProductGallery.tsx +7 -5
- package/src/components/PromoTile/PromoTile.tsx +3 -3
- package/src/components/TariffsTable/TariffsTable.example.json +3 -1
- package/src/components/TariffsTable/TariffsTable.fixture.tsx +3 -0
- package/src/components/TariffsTable/TariffsTable.tsx +39 -37
- package/src/components/TariffsTable/TariffsTableCell.tsx +4 -4
- package/src/components/TextBlock/TextBlock.example.json +9 -2
- package/src/components/TextBlock/TextBlock.fixture.tsx +20 -64
- package/src/components/TextBlock/TextBlockContent.ts +1 -2
- package/src/components/Tile/Tile.example.json +5 -2
- package/src/components/Tile/Tile.tsx +16 -5
- package/src/content-page-repository/ContentPageRepository.ts +1 -0
- package/src/hooks/useComparisonTableScroll.ts +11 -6
- package/src/hooks/useLink.ts +1 -1
- package/src/ui-kit/InputRange/InputRange.tsx +2 -2
- package/src/ui-kit/SearchBar.tsx +16 -6
- package/src/Icons/CalendarCircleIcon.svg +0 -14
- package/src/Icons/CardIcon.svg +0 -11
- package/src/Icons/CardPosIcon.svg +0 -12
- package/src/Icons/CardTickIcon.svg +0 -13
- package/src/Icons/EmptyWalletChangeIcon.svg +0 -21
- package/src/Icons/JCBIcon.svg +0 -42
- package/src/Icons/MastercardIcon.svg +0 -6
- package/src/Icons/MinusIcon.svg +0 -1
- package/src/Icons/MirIcon.svg +0 -13
- package/src/Icons/MoneyIcon.svg +0 -13
- package/src/Icons/MonitorMobileIcon.svg +0 -14
- package/src/Icons/PlusIcon.svg +0 -1
- package/src/Icons/Profile2UserIcon.svg +0 -14
- package/src/Icons/ShieldTickIcon.svg +0 -7
- package/src/Icons/UnionPayIcon.svg +0 -7
- package/src/Icons/UserIcon.svg +0 -11
- package/src/Icons/VisaIcon.svg +0 -7
- package/src/Icons/WalletIcon.svg +0 -19
|
@@ -92,6 +92,7 @@
|
|
|
92
92
|
"src": "worker.png",
|
|
93
93
|
"title": "Рабочий",
|
|
94
94
|
"format": "webp",
|
|
95
|
+
"alt": "Кредит наличными",
|
|
95
96
|
"size": {
|
|
96
97
|
"width": 280,
|
|
97
98
|
"height": 280
|
|
@@ -106,7 +107,6 @@
|
|
|
106
107
|
},
|
|
107
108
|
"productBlock": {
|
|
108
109
|
"title": "Дополнительные бонусные баллы за покупки!»",
|
|
109
|
-
"description": "Кредит наличными без залога и поручительства. Потребительский кредит на любые цели. Нужен только паспорт.",
|
|
110
110
|
"buttons": [
|
|
111
111
|
{
|
|
112
112
|
"href": "https://rshb.ru",
|
|
@@ -119,6 +119,7 @@
|
|
|
119
119
|
"src": "credit-card-1.png",
|
|
120
120
|
"title": "Кредитка",
|
|
121
121
|
"format": "webp",
|
|
122
|
+
"alt": "Кредит наличными",
|
|
122
123
|
"size": {
|
|
123
124
|
"width": 280,
|
|
124
125
|
"height": 280
|
|
@@ -133,7 +134,6 @@
|
|
|
133
134
|
},
|
|
134
135
|
"productBlock": {
|
|
135
136
|
"title": "Карты Unionpay»",
|
|
136
|
-
"description": "Кэшбэк до 20% у партнеров",
|
|
137
137
|
"items": [
|
|
138
138
|
"Потребительский кредит по специальной процентной ставке",
|
|
139
139
|
"Получите деньги без залога и поручительства",
|
|
@@ -151,6 +151,7 @@
|
|
|
151
151
|
"src": "credit-card-1.png",
|
|
152
152
|
"title": "Кредитка",
|
|
153
153
|
"format": "webp",
|
|
154
|
+
"alt": "Кредит наличными",
|
|
154
155
|
"size": {
|
|
155
156
|
"width": 280,
|
|
156
157
|
"height": 280
|
|
@@ -1408,7 +1409,7 @@
|
|
|
1408
1409
|
"href": "/abc7/yolo.png"
|
|
1409
1410
|
},
|
|
1410
1411
|
{
|
|
1411
|
-
"text": "Some more generic text, and even more, more text",
|
|
1412
|
+
"text": "Some more generic text, and even more, more text, and more generic text, and even more, more text, and even more",
|
|
1412
1413
|
"href": "/abc8/archive.zip",
|
|
1413
1414
|
"fileSize": "2.3МБ"
|
|
1414
1415
|
},
|
|
@@ -1490,7 +1491,9 @@
|
|
|
1490
1491
|
"size": {
|
|
1491
1492
|
"width": 288,
|
|
1492
1493
|
"height": 56
|
|
1493
|
-
}
|
|
1494
|
+
},
|
|
1495
|
+
"alt": "Платёжные системы",
|
|
1496
|
+
"title": "Платёжные системы"
|
|
1494
1497
|
}
|
|
1495
1498
|
}
|
|
1496
1499
|
],
|
|
@@ -1536,7 +1539,8 @@
|
|
|
1536
1539
|
"size": {
|
|
1537
1540
|
"width": 140,
|
|
1538
1541
|
"height": 140
|
|
1539
|
-
}
|
|
1542
|
+
},
|
|
1543
|
+
"alt": "Деньги"
|
|
1540
1544
|
}
|
|
1541
1545
|
}
|
|
1542
1546
|
]
|
|
@@ -1680,7 +1684,9 @@
|
|
|
1680
1684
|
"size": {
|
|
1681
1685
|
"width": 288,
|
|
1682
1686
|
"height": 56
|
|
1683
|
-
}
|
|
1687
|
+
},
|
|
1688
|
+
"alt": "Платёжные системы",
|
|
1689
|
+
"title": "Платёжные системы"
|
|
1684
1690
|
}
|
|
1685
1691
|
}
|
|
1686
1692
|
],
|
|
@@ -1726,7 +1732,8 @@
|
|
|
1726
1732
|
"size": {
|
|
1727
1733
|
"width": 140,
|
|
1728
1734
|
"height": 140
|
|
1729
|
-
}
|
|
1735
|
+
},
|
|
1736
|
+
"alt": "Деньги"
|
|
1730
1737
|
}
|
|
1731
1738
|
}
|
|
1732
1739
|
]
|
|
@@ -2,7 +2,7 @@ import { JSX } from '@redneckz/uni-jsx';
|
|
|
2
2
|
import type { ContentPageMeta } from '../../types';
|
|
3
3
|
|
|
4
4
|
export interface ContentPageHeadProps {
|
|
5
|
-
HeadComponent:
|
|
5
|
+
HeadComponent: <Props, Context, VNode>(props: Props, context?: Context) => VNode;
|
|
6
6
|
data: ContentPageMeta;
|
|
7
7
|
}
|
|
8
8
|
|
|
@@ -129,7 +129,7 @@ export const CreditCalculator = JSX<CreditCalculatorProps>(
|
|
|
129
129
|
aria-label="Соглашение на обработку персональных данных"
|
|
130
130
|
>
|
|
131
131
|
Отправляя заявку, вы соглашаетесь на обработку персональных данных соответственно
|
|
132
|
-
требованиям ФЗ
|
|
132
|
+
требованиям ФЗ «О персональных данных»
|
|
133
133
|
</div>
|
|
134
134
|
</div>
|
|
135
135
|
</div>
|
|
@@ -33,7 +33,7 @@ interface HorizontalNavigationLinkProps extends LinkProps {
|
|
|
33
33
|
const HorizontalNavigationLink = JSX<Partial<HorizontalNavigationLinkProps>>(
|
|
34
34
|
({ className, index, text, href, target, onClick }) => (
|
|
35
35
|
<a
|
|
36
|
-
className={`font-sans font-normal text-sm text-secondary-text hover:text-primary-
|
|
36
|
+
className={`font-sans font-normal text-sm text-secondary-text hover:text-primary-main inline-block no-underline max-w-[292px] ${
|
|
37
37
|
className || ''
|
|
38
38
|
}`}
|
|
39
39
|
href={href}
|
|
@@ -51,14 +51,13 @@ const MediaButton = JSX<MediaButtonProps>(({ href }) => {
|
|
|
51
51
|
if (!icon) return null;
|
|
52
52
|
|
|
53
53
|
return (
|
|
54
|
-
<
|
|
55
|
-
rounded
|
|
54
|
+
<a
|
|
55
|
+
className="flex items-center justify-center border border-solid border-main-divider rounded-full no-underline outline-none w-[38px] h-[38px] hover:fill-primary-main"
|
|
56
56
|
href={href}
|
|
57
57
|
target="_blank"
|
|
58
58
|
rel="noopener noreferrer"
|
|
59
|
-
|
|
60
|
-
|
|
61
|
-
|
|
62
|
-
/>
|
|
59
|
+
>
|
|
60
|
+
{Icon && <Icon name={icon} width={width} height={height} asSVG className="block" />}
|
|
61
|
+
</a>
|
|
63
62
|
);
|
|
64
63
|
});
|
|
@@ -49,7 +49,7 @@ export const GalleryInner = JSX<GalleryInnerProps>(
|
|
|
49
49
|
|
|
50
50
|
return (
|
|
51
51
|
<section
|
|
52
|
-
className={`relative font-sans text-primary-text bg-white p-12 overflow-hidden ${className}`}
|
|
52
|
+
className={`relative font-sans text-primary-text bg-white p-12 py-[50px] overflow-hidden ${className}`}
|
|
53
53
|
>
|
|
54
54
|
<div className="flex flex-col items-center mb-8">
|
|
55
55
|
{title ? <Title className="font-medium m-0 text-center">{title}</Title> : null}
|
|
@@ -68,6 +68,7 @@ export const GalleryInner = JSX<GalleryInnerProps>(
|
|
|
68
68
|
>
|
|
69
69
|
{cards?.map((card, i) => renderCard(card, i, version))}
|
|
70
70
|
</div>
|
|
71
|
+
<div className="absolute top-0 left-0 bottom-0 w-[84px] bg-gradient-to-r from-white to-transparent"></div>
|
|
71
72
|
{showPrevButton && (
|
|
72
73
|
<ArrowButton
|
|
73
74
|
className="absolute top-1/2 left-8 rotate-180"
|
|
@@ -1,42 +1,19 @@
|
|
|
1
1
|
import { context } from '../../setup-fixture';
|
|
2
2
|
|
|
3
3
|
import { Headline } from './Headline';
|
|
4
|
+
import { HeadlineContent } from './HeadlineContent';
|
|
5
|
+
|
|
6
|
+
export const HEADLINE: HeadlineContent = {
|
|
7
|
+
title: 'Своя кредитная карта',
|
|
8
|
+
description: 'Карта работает в 180 странах мира. Бесплатное снятие наличных в любых банкоматах.',
|
|
9
|
+
align: 'center',
|
|
10
|
+
bgColor: 'transparent',
|
|
11
|
+
};
|
|
4
12
|
|
|
5
13
|
export default {
|
|
6
|
-
default:
|
|
7
|
-
|
|
8
|
-
title="Своя кредитная карта"
|
|
9
|
-
description="Карта работает в 180 странах мира. Бесплатное снятие наличных в любых банкоматах."
|
|
10
|
-
align="left"
|
|
11
|
-
bgColor="bg-white"
|
|
12
|
-
context={context}
|
|
13
|
-
/>
|
|
14
|
-
),
|
|
15
|
-
'center transparent': (
|
|
16
|
-
<Headline
|
|
17
|
-
title="Своя кредитная карта"
|
|
18
|
-
description="Карта работает в 180 странах мира. Бесплатное снятие наличных в любых банкоматах."
|
|
19
|
-
align="center"
|
|
20
|
-
bgColor="transparent"
|
|
21
|
-
context={context}
|
|
22
|
-
/>
|
|
23
|
-
),
|
|
14
|
+
default: <Headline context={context} {...HEADLINE} />,
|
|
15
|
+
'left white': <Headline context={context} {...HEADLINE} align="left" bgColor="bg-white" />,
|
|
24
16
|
'right transparent': (
|
|
25
|
-
<Headline
|
|
26
|
-
title="Своя кредитная карта"
|
|
27
|
-
description="Карта работает в 180 странах мира. Бесплатное снятие наличных в любых банкоматах."
|
|
28
|
-
align="right"
|
|
29
|
-
bgColor="transparent"
|
|
30
|
-
context={context}
|
|
31
|
-
/>
|
|
32
|
-
),
|
|
33
|
-
'right white': (
|
|
34
|
-
<Headline
|
|
35
|
-
title="Своя кредитная карта"
|
|
36
|
-
description="Карта работает в 180 странах мира. Бесплатное снятие наличных в любых банкоматах."
|
|
37
|
-
align="right"
|
|
38
|
-
bgColor="bg-white"
|
|
39
|
-
context={context}
|
|
40
|
-
/>
|
|
17
|
+
<Headline context={context} {...HEADLINE} align="right" bgColor="transparent" />
|
|
41
18
|
),
|
|
42
19
|
};
|
|
@@ -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
|
|
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
|
|
31
|
-
...
|
|
32
|
-
columnsMode: '
|
|
30
|
+
export const LINK_DOCS_TWO_COLUMNS: LinkDocsContent = {
|
|
31
|
+
...LINK_DOCS,
|
|
32
|
+
columnsMode: 'double',
|
|
33
33
|
};
|
|
34
34
|
|
|
35
|
-
export const
|
|
36
|
-
...
|
|
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
|
|
42
|
-
...
|
|
41
|
+
export const LINK_DOCS_NO_ICON: LinkDocsContent = {
|
|
42
|
+
...LINK_DOCS,
|
|
43
43
|
icon: undefined,
|
|
44
44
|
};
|
|
45
45
|
|
|
46
46
|
export default {
|
|
47
|
-
'
|
|
48
|
-
'
|
|
49
|
-
'another icon
|
|
50
|
-
'no icon': <LinkDocs context={context} {...
|
|
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 = '
|
|
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
|
|
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
|
-
|
|
46
|
-
|
|
47
|
-
|
|
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)}
|
|
@@ -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
|
};
|
|
@@ -5,8 +5,6 @@ import type { Benefit } from '../BenefitsBlock/BenefitsBlockContent';
|
|
|
5
5
|
* @title Картинка с текстом
|
|
6
6
|
*/
|
|
7
7
|
export interface PictureTextContent extends Pick<BaseTileCommonProps, 'title' | 'image'> {
|
|
8
|
-
/**
|
|
9
|
-
* @title Список преимуществ
|
|
10
|
-
*/
|
|
8
|
+
/** @title Список преимуществ */
|
|
11
9
|
benefits?: Benefit[];
|
|
12
10
|
}
|
|
@@ -17,12 +17,12 @@ export const Placeholder = JSX<PlaceholderProps>(({ className, context, title })
|
|
|
17
17
|
);
|
|
18
18
|
});
|
|
19
19
|
|
|
20
|
-
const renderShimmer = (size
|
|
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
|
|
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
|
-
|
|
18
|
-
|
|
19
|
-
|
|
20
|
-
|
|
21
|
-
|
|
22
|
-
|
|
23
|
-
|
|
24
|
-
|
|
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}
|
|
@@ -7,17 +7,18 @@ const moneyImage: Picture = {
|
|
|
7
7
|
src: 'money-1.png',
|
|
8
8
|
format: 'webp',
|
|
9
9
|
size: {
|
|
10
|
-
width:
|
|
11
|
-
height:
|
|
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:
|
|
20
|
-
height:
|
|
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:
|
|
29
|
-
height:
|
|
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=
|
|
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
|
|
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
|
|
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>
|
|
@@ -10,6 +10,8 @@ const image: Picture = {
|
|
|
10
10
|
width: 288,
|
|
11
11
|
height: 56,
|
|
12
12
|
},
|
|
13
|
+
alt: 'Платёжные системы',
|
|
14
|
+
title: 'Платёжные системы',
|
|
13
15
|
};
|
|
14
16
|
|
|
15
17
|
const rowHeaders: TariffsTableRowHeader[] = [
|
|
@@ -75,6 +77,7 @@ const columns: TariffsTableColumn[] = [
|
|
|
75
77
|
width: 140,
|
|
76
78
|
height: 140,
|
|
77
79
|
},
|
|
80
|
+
alt: 'Деньги',
|
|
78
81
|
},
|
|
79
82
|
},
|
|
80
83
|
],
|