@redneckz/wildless-cms-uni-blocks 0.2.59 → 0.2.62
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/dist/BaseTile.d.ts +2 -1
- package/dist/BaseTile.js +2 -15
- package/dist/BaseTile.js.map +1 -1
- package/dist/BenefitsBlock.d.ts +7 -1
- package/dist/BenefitsBlock.js +2 -3
- package/dist/BenefitsBlock.js.map +1 -1
- package/dist/Blocks.d.ts +3 -1
- package/dist/Blocks.js +2 -0
- package/dist/Blocks.js.map +1 -1
- package/dist/ContentPage.js +1 -1
- package/dist/ContentPage.js.map +1 -1
- package/dist/ExchangeRateTile.js +4 -4
- package/dist/ExchangeRateTile.js.map +1 -1
- package/dist/Footer/Footer.js +1 -1
- package/dist/Footer/Footer.js.map +1 -1
- package/dist/Footer/HorizontalNavigation.js +1 -1
- package/dist/Footer/HorizontalNavigation.js.map +1 -1
- package/dist/Footer/Sitemap.js +1 -1
- package/dist/Footer/SocialMedia.js +7 -7
- package/dist/Footer/SocialMedia.js.map +1 -1
- package/dist/Footer/TextInformation.js +1 -1
- package/dist/Footer/TextInformation.js.map +1 -1
- package/dist/Header/HeaderSecondaryMenu.js +2 -2
- package/dist/Header/HeaderSecondaryMenu.js.map +1 -1
- package/dist/MobileBlocks.d.ts +1 -0
- package/dist/MobileBlocks.js +2 -0
- package/dist/MobileBlocks.js.map +1 -1
- package/dist/ProductBlockInner.d.ts +2 -1
- package/dist/ProductBlockInner.js +4 -4
- package/dist/ProductBlockInner.js.map +1 -1
- package/dist/ProductTile.d.ts +2 -1
- package/dist/ProductTile.js.map +1 -1
- package/dist/ProjectSettings.d.ts +2 -0
- package/dist/ProjectSettings.js +3 -0
- package/dist/ProjectSettings.js.map +1 -1
- package/dist/StepsBlock.d.ts +2 -7
- package/dist/StepsBlock.js +4 -4
- package/dist/StepsBlock.js.map +1 -1
- package/dist/TextBlock.d.ts +14 -0
- package/dist/TextBlock.js +36 -0
- package/dist/TextBlock.js.map +1 -0
- package/dist/types.d.ts +0 -6
- package/dist/ui-kit/Button.js +1 -1
- package/dist/ui-kit/Icon.d.ts +11 -0
- package/dist/ui-kit/Icon.js +7 -0
- package/dist/ui-kit/Icon.js.map +1 -0
- package/dist/ui-kit/IconButton.d.ts +2 -1
- package/dist/ui-kit/IconButton.js +2 -3
- package/dist/ui-kit/IconButton.js.map +1 -1
- package/dist/ui-kit/SearchBar.js +4 -4
- package/dist/ui-kit/SearchBar.js.map +1 -1
- package/dist/ui-kit/Title.d.ts +11 -0
- package/dist/ui-kit/Title.js +17 -0
- package/dist/ui-kit/Title.js.map +1 -0
- package/lib/BaseTile.d.ts +2 -1
- package/lib/BaseTile.js +2 -15
- package/lib/BaseTile.js.map +1 -1
- package/lib/BenefitsBlock.d.ts +7 -1
- package/lib/BenefitsBlock.js +2 -3
- package/lib/BenefitsBlock.js.map +1 -1
- package/lib/Blocks.d.ts +3 -1
- package/lib/Blocks.js +2 -0
- package/lib/Blocks.js.map +1 -1
- package/lib/ContentPage.js +1 -1
- package/lib/ContentPage.js.map +1 -1
- package/lib/ExchangeRateTile.js +4 -4
- package/lib/ExchangeRateTile.js.map +1 -1
- package/lib/Footer/Footer.js +1 -1
- package/lib/Footer/Footer.js.map +1 -1
- package/lib/Footer/HorizontalNavigation.js +1 -1
- package/lib/Footer/HorizontalNavigation.js.map +1 -1
- package/lib/Footer/Sitemap.js +1 -1
- package/lib/Footer/SocialMedia.js +7 -7
- package/lib/Footer/SocialMedia.js.map +1 -1
- package/lib/Footer/TextInformation.js +1 -1
- package/lib/Footer/TextInformation.js.map +1 -1
- package/lib/Header/HeaderSecondaryMenu.js +2 -2
- package/lib/Header/HeaderSecondaryMenu.js.map +1 -1
- package/lib/MobileBlocks.d.ts +1 -0
- package/lib/MobileBlocks.js +2 -0
- package/lib/MobileBlocks.js.map +1 -1
- package/lib/ProductBlockInner.d.ts +2 -1
- package/lib/ProductBlockInner.js +4 -4
- package/lib/ProductBlockInner.js.map +1 -1
- package/lib/ProductTile.d.ts +2 -1
- package/lib/ProductTile.js.map +1 -1
- package/lib/ProjectSettings.d.ts +2 -0
- package/lib/ProjectSettings.js +3 -0
- package/lib/ProjectSettings.js.map +1 -1
- package/lib/StepsBlock.d.ts +2 -7
- package/lib/StepsBlock.js +4 -4
- package/lib/StepsBlock.js.map +1 -1
- package/lib/TextBlock.d.ts +14 -0
- package/lib/TextBlock.js +34 -0
- package/lib/TextBlock.js.map +1 -0
- package/lib/common.css +1 -1
- package/lib/types.d.ts +0 -6
- package/lib/ui-kit/Button.js +1 -1
- package/lib/ui-kit/Icon.d.ts +11 -0
- package/lib/ui-kit/Icon.js +5 -0
- package/lib/ui-kit/Icon.js.map +1 -0
- package/lib/ui-kit/IconButton.d.ts +2 -1
- package/lib/ui-kit/IconButton.js +2 -3
- package/lib/ui-kit/IconButton.js.map +1 -1
- package/lib/ui-kit/SearchBar.js +4 -4
- package/lib/ui-kit/SearchBar.js.map +1 -1
- package/lib/ui-kit/Title.d.ts +11 -0
- package/lib/ui-kit/Title.js +15 -0
- package/lib/ui-kit/Title.js.map +1 -0
- package/package.json +7 -2
- package/src/BaseTile.tsx +8 -17
- package/src/BenefitsBlock.tsx +13 -6
- package/src/Blocks.ts +3 -0
- package/src/ContentPage.page.json +29 -1
- package/src/ContentPage.tsx +1 -1
- package/src/ExchangeRateTile.tsx +4 -4
- package/src/Footer/Footer.tsx +2 -2
- package/src/Footer/HorizontalNavigation.tsx +1 -1
- package/src/Footer/Sitemap.tsx +1 -1
- package/src/Footer/SocialMedia.tsx +9 -9
- package/src/Footer/TextInformation.tsx +2 -2
- package/src/Header/HeaderSecondaryMenu.tsx +5 -5
- package/src/MobileAppTile.fixture.tsx +16 -0
- package/src/MobileBlocks.ts +2 -0
- package/src/ProductBlockInner.tsx +13 -10
- package/src/ProductTile.tsx +4 -3
- package/src/ProjectSettings.ts +4 -0
- package/src/StepsBlock.tsx +5 -5
- package/src/TextBlock.fixture.tsx +116 -0
- package/src/TextBlock.tsx +72 -0
- package/src/Tile.tsx +1 -1
- package/src/common.css +15 -15
- package/src/icons/ActualBalanceIcon.svg +186 -0
- package/src/icons/AppleIcon.svg +13 -0
- package/src/icons/CalendarIcon.svg +17 -0
- package/src/icons/ClockIcon.svg +208 -0
- package/src/icons/ComfortableCompIcon.svg +373 -0
- package/src/icons/DollarIcon.svg +10 -0
- package/src/icons/EmptyWalletIcon.svg +17 -0
- package/src/icons/EuroIcon.svg +10 -0
- package/src/icons/GridIcon.svg +7 -0
- package/src/icons/LoupeIcon.svg +9 -0
- package/src/icons/NewDocIcon.svg +250 -0
- package/src/icons/OkIcon.svg +6 -0
- package/src/icons/PassSendIcon.svg +237 -0
- package/src/icons/PercentageSquareIcon.svg +16 -0
- package/src/icons/PlayMarketIcon.svg +6 -0
- package/src/icons/ProfileIcon.svg +16 -0
- package/src/icons/SignDocsIcon.svg +287 -0
- package/src/icons/TelegramIcon.svg +6 -0
- package/{dist/Icons/VKIcon.js → src/icons/VKIcon.svg} +8 -6
- package/src/setup-fixture.ts +15 -7
- package/src/types.ts +0 -8
- package/src/ui-kit/Button.fixture.tsx +1 -1
- package/src/ui-kit/Button.tsx +1 -1
- package/src/ui-kit/Icon.tsx +45 -0
- package/src/ui-kit/IconButton.tsx +5 -5
- package/src/ui-kit/SearchBar.tsx +26 -19
- package/src/ui-kit/Title.tsx +25 -0
- package/dist/Icons/ActualBalanceIcon.d.ts +0 -1
- package/dist/Icons/ActualBalanceIcon.js +0 -12
- package/dist/Icons/ActualBalanceIcon.js.map +0 -1
- package/dist/Icons/AppleIcon.d.ts +0 -1
- package/dist/Icons/AppleIcon.js +0 -6
- package/dist/Icons/AppleIcon.js.map +0 -1
- package/dist/Icons/CalendarIcon.d.ts +0 -1
- package/dist/Icons/CalendarIcon.js +0 -6
- package/dist/Icons/CalendarIcon.js.map +0 -1
- package/dist/Icons/ClockIcon.d.ts +0 -1
- package/dist/Icons/ClockIcon.js +0 -6
- package/dist/Icons/ClockIcon.js.map +0 -1
- package/dist/Icons/ComfortableCompIcon.d.ts +0 -1
- package/dist/Icons/ComfortableCompIcon.js +0 -8
- package/dist/Icons/ComfortableCompIcon.js.map +0 -1
- package/dist/Icons/DollarIcon.d.ts +0 -1
- package/dist/Icons/DollarIcon.js +0 -6
- package/dist/Icons/DollarIcon.js.map +0 -1
- package/dist/Icons/EmptyWalletIcon.d.ts +0 -1
- package/dist/Icons/EmptyWalletIcon.js +0 -6
- package/dist/Icons/EmptyWalletIcon.js.map +0 -1
- package/dist/Icons/EuroIcon.d.ts +0 -1
- package/dist/Icons/EuroIcon.js +0 -6
- package/dist/Icons/EuroIcon.js.map +0 -1
- package/dist/Icons/GridIcon.d.ts +0 -1
- package/dist/Icons/GridIcon.js +0 -6
- package/dist/Icons/GridIcon.js.map +0 -1
- package/dist/Icons/LoupeIcon.d.ts +0 -1
- package/dist/Icons/LoupeIcon.js +0 -6
- package/dist/Icons/LoupeIcon.js.map +0 -1
- package/dist/Icons/NewDocIcon.d.ts +0 -1
- package/dist/Icons/NewDocIcon.js +0 -8
- package/dist/Icons/NewDocIcon.js.map +0 -1
- package/dist/Icons/OkIcon.d.ts +0 -1
- package/dist/Icons/OkIcon.js +0 -6
- package/dist/Icons/OkIcon.js.map +0 -1
- package/dist/Icons/PassSendIcon.d.ts +0 -1
- package/dist/Icons/PassSendIcon.js +0 -12
- package/dist/Icons/PassSendIcon.js.map +0 -1
- package/dist/Icons/PercentageSquareIcon.d.ts +0 -1
- package/dist/Icons/PercentageSquareIcon.js +0 -6
- package/dist/Icons/PercentageSquareIcon.js.map +0 -1
- package/dist/Icons/PlayMarket.d.ts +0 -1
- package/dist/Icons/PlayMarket.js +0 -6
- package/dist/Icons/PlayMarket.js.map +0 -1
- package/dist/Icons/ProfileIcon.d.ts +0 -1
- package/dist/Icons/ProfileIcon.js +0 -6
- package/dist/Icons/ProfileIcon.js.map +0 -1
- package/dist/Icons/SignDocsIcon.d.ts +0 -1
- package/dist/Icons/SignDocsIcon.js +0 -10
- package/dist/Icons/SignDocsIcon.js.map +0 -1
- package/dist/Icons/TelegramIcon.d.ts +0 -1
- package/dist/Icons/TelegramIcon.js +0 -6
- package/dist/Icons/TelegramIcon.js.map +0 -1
- package/dist/Icons/VKIcon.d.ts +0 -1
- package/dist/Icons/VKIcon.js.map +0 -1
- package/dist/Icons/index.d.ts +0 -19
- package/dist/Icons/index.js +0 -41
- package/dist/Icons/index.js.map +0 -1
- package/lib/Icons/ActualBalanceIcon.d.ts +0 -1
- package/lib/Icons/ActualBalanceIcon.js +0 -9
- package/lib/Icons/ActualBalanceIcon.js.map +0 -1
- package/lib/Icons/AppleIcon.d.ts +0 -1
- package/lib/Icons/AppleIcon.js +0 -3
- package/lib/Icons/AppleIcon.js.map +0 -1
- package/lib/Icons/CalendarIcon.d.ts +0 -1
- package/lib/Icons/CalendarIcon.js +0 -3
- package/lib/Icons/CalendarIcon.js.map +0 -1
- package/lib/Icons/ClockIcon.d.ts +0 -1
- package/lib/Icons/ClockIcon.js +0 -3
- package/lib/Icons/ClockIcon.js.map +0 -1
- package/lib/Icons/ComfortableCompIcon.d.ts +0 -1
- package/lib/Icons/ComfortableCompIcon.js +0 -5
- package/lib/Icons/ComfortableCompIcon.js.map +0 -1
- package/lib/Icons/DollarIcon.d.ts +0 -1
- package/lib/Icons/DollarIcon.js +0 -3
- package/lib/Icons/DollarIcon.js.map +0 -1
- package/lib/Icons/EmptyWalletIcon.d.ts +0 -1
- package/lib/Icons/EmptyWalletIcon.js +0 -3
- package/lib/Icons/EmptyWalletIcon.js.map +0 -1
- package/lib/Icons/EuroIcon.d.ts +0 -1
- package/lib/Icons/EuroIcon.js +0 -3
- package/lib/Icons/EuroIcon.js.map +0 -1
- package/lib/Icons/GridIcon.d.ts +0 -1
- package/lib/Icons/GridIcon.js +0 -3
- package/lib/Icons/GridIcon.js.map +0 -1
- package/lib/Icons/LoupeIcon.d.ts +0 -1
- package/lib/Icons/LoupeIcon.js +0 -3
- package/lib/Icons/LoupeIcon.js.map +0 -1
- package/lib/Icons/NewDocIcon.d.ts +0 -1
- package/lib/Icons/NewDocIcon.js +0 -5
- package/lib/Icons/NewDocIcon.js.map +0 -1
- package/lib/Icons/OkIcon.d.ts +0 -1
- package/lib/Icons/OkIcon.js +0 -3
- package/lib/Icons/OkIcon.js.map +0 -1
- package/lib/Icons/PassSendIcon.d.ts +0 -1
- package/lib/Icons/PassSendIcon.js +0 -9
- package/lib/Icons/PassSendIcon.js.map +0 -1
- package/lib/Icons/PercentageSquareIcon.d.ts +0 -1
- package/lib/Icons/PercentageSquareIcon.js +0 -3
- package/lib/Icons/PercentageSquareIcon.js.map +0 -1
- package/lib/Icons/PlayMarket.d.ts +0 -1
- package/lib/Icons/PlayMarket.js +0 -3
- package/lib/Icons/PlayMarket.js.map +0 -1
- package/lib/Icons/ProfileIcon.d.ts +0 -1
- package/lib/Icons/ProfileIcon.js +0 -3
- package/lib/Icons/ProfileIcon.js.map +0 -1
- package/lib/Icons/SignDocsIcon.d.ts +0 -1
- package/lib/Icons/SignDocsIcon.js +0 -7
- package/lib/Icons/SignDocsIcon.js.map +0 -1
- package/lib/Icons/TelegramIcon.d.ts +0 -1
- package/lib/Icons/TelegramIcon.js +0 -3
- package/lib/Icons/TelegramIcon.js.map +0 -1
- package/lib/Icons/VKIcon.d.ts +0 -1
- package/lib/Icons/VKIcon.js +0 -3
- package/lib/Icons/VKIcon.js.map +0 -1
- package/lib/Icons/index.d.ts +0 -19
- package/lib/Icons/index.js +0 -20
- package/lib/Icons/index.js.map +0 -1
- package/src/Icons/ActualBalanceIcon.tsx +0 -202
- package/src/Icons/AppleIcon.tsx +0 -15
- package/src/Icons/CalendarIcon.tsx +0 -19
- package/src/Icons/ClockIcon.tsx +0 -212
- package/src/Icons/ComfortableCompIcon.tsx +0 -379
- package/src/Icons/DollarIcon.tsx +0 -12
- package/src/Icons/EmptyWalletIcon.tsx +0 -25
- package/src/Icons/EuroIcon.tsx +0 -12
- package/src/Icons/GridIcon.tsx +0 -9
- package/src/Icons/LoupeIcon.tsx +0 -11
- package/src/Icons/NewDocIcon.tsx +0 -262
- package/src/Icons/OkIcon.tsx +0 -8
- package/src/Icons/PassSendIcon.tsx +0 -250
- package/src/Icons/PercentageSquareIcon.tsx +0 -18
- package/src/Icons/PlayMarket.tsx +0 -8
- package/src/Icons/ProfileIcon.tsx +0 -18
- package/src/Icons/SignDocsIcon.tsx +0 -295
- package/src/Icons/TelegramIcon.tsx +0 -8
- package/src/Icons/VKIcon.tsx +0 -10
- package/src/Icons/index.ts +0 -19
|
@@ -16,6 +16,7 @@
|
|
|
16
16
|
"type": "Header",
|
|
17
17
|
"style": ["col-span-12", "-mx-20", "mb-5", "shadow-[0_8px_32px_0px_#00000014]"],
|
|
18
18
|
"content": {
|
|
19
|
+
"defaultLocation": "Москва",
|
|
19
20
|
"topItems": [
|
|
20
21
|
{
|
|
21
22
|
"href": "https://rshb.ru/",
|
|
@@ -387,7 +388,23 @@
|
|
|
387
388
|
"qr": {
|
|
388
389
|
"href": "https://rshbnaturaldbo.onelink.me/qhkF/f182074f?af_qr=true",
|
|
389
390
|
"src": "data:image/png;base64,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"
|
|
390
|
-
}
|
|
391
|
+
},
|
|
392
|
+
"buttons": [
|
|
393
|
+
{
|
|
394
|
+
"aboveText": "Загрузите в",
|
|
395
|
+
"text": "App Store",
|
|
396
|
+
"icon": "AppleIcon",
|
|
397
|
+
"href": "#",
|
|
398
|
+
"version": "secondary"
|
|
399
|
+
},
|
|
400
|
+
{
|
|
401
|
+
"aboveText": "Доступно в",
|
|
402
|
+
"text": "Google Play",
|
|
403
|
+
"icon": "PlayMarketIcon",
|
|
404
|
+
"href": "#",
|
|
405
|
+
"version": "secondary"
|
|
406
|
+
}
|
|
407
|
+
]
|
|
391
408
|
},
|
|
392
409
|
"mobile": {
|
|
393
410
|
"style": ["col-span-12"]
|
|
@@ -687,6 +704,17 @@
|
|
|
687
704
|
]
|
|
688
705
|
}
|
|
689
706
|
},
|
|
707
|
+
{
|
|
708
|
+
"type": "TextBlock",
|
|
709
|
+
"style": ["col-span-12"],
|
|
710
|
+
"content": {
|
|
711
|
+
"title": "Все карты Россельхозбанка работают",
|
|
712
|
+
"description": "Если не планируете поездку за границу, продолжайте пользоваться картой Своя. Для поездок за границу можно заказать карту 'Кредитная карта Своя Union Pay' на сайте и в приложении Россельхозбанка",
|
|
713
|
+
"blockVersion": "primary",
|
|
714
|
+
"iconVersion": "small"
|
|
715
|
+
}
|
|
716
|
+
},
|
|
717
|
+
|
|
690
718
|
{
|
|
691
719
|
"type": "Footer",
|
|
692
720
|
"style": ["col-span-12"],
|
package/src/ContentPage.tsx
CHANGED
|
@@ -37,7 +37,7 @@ export const ContentPage = JSX<ContentPageProps>(
|
|
|
37
37
|
}) => {
|
|
38
38
|
return (
|
|
39
39
|
<section className="relative" data-theme={colorPalette}>
|
|
40
|
-
<div className={`grid grid-cols-12 gap-1 ${style2className(pageStyle)} ${className}`}>
|
|
40
|
+
<div className={`grid grid-cols-12 gap-1 ${style2className(pageStyle)} ${className || ''}`}>
|
|
41
41
|
{blocks?.length ? blocks.map(renderBlock) : null}
|
|
42
42
|
</div>
|
|
43
43
|
{likeControl && (
|
package/src/ExchangeRateTile.tsx
CHANGED
|
@@ -1,8 +1,8 @@
|
|
|
1
1
|
import { JSX } from '@redneckz/uni-jsx';
|
|
2
|
-
import { DollarIcon, EuroIcon } from './Icons/index';
|
|
3
2
|
import { Tile } from './Tile';
|
|
4
3
|
import type { UniBlockProps } from './types';
|
|
5
4
|
import { ButtonProps } from './ui-kit/Button';
|
|
5
|
+
import { Icon } from './ui-kit/Icon';
|
|
6
6
|
|
|
7
7
|
export interface ExchangeRateTileContent {
|
|
8
8
|
title?: string;
|
|
@@ -14,8 +14,8 @@ const CBR_EXCHANGE_RATE_URL = 'https://www.cbr-xml-daily.ru/daily_json.js';
|
|
|
14
14
|
|
|
15
15
|
const CURRENCY_CODES = ['USD', 'EUR'];
|
|
16
16
|
const CURRENCY_ICONS_MAP = {
|
|
17
|
-
USD: DollarIcon,
|
|
18
|
-
EUR: EuroIcon,
|
|
17
|
+
USD: 'DollarIcon',
|
|
18
|
+
EUR: 'EuroIcon',
|
|
19
19
|
};
|
|
20
20
|
|
|
21
21
|
const buttons: ButtonProps[] = [
|
|
@@ -48,7 +48,7 @@ export const ExchangeRateTile = JSX<ExchangeRateTileProps>(({ className, context
|
|
|
48
48
|
<tr key={code}>
|
|
49
49
|
<CurrencyTD className="pt-4">
|
|
50
50
|
<div className="flex items-center">
|
|
51
|
-
{CURRENCY_ICONS_MAP[code]
|
|
51
|
+
<Icon name={CURRENCY_ICONS_MAP[code]} width="24" height="24" />
|
|
52
52
|
<span className="ml-2">{code}</span>
|
|
53
53
|
</div>
|
|
54
54
|
</CurrencyTD>
|
package/src/Footer/Footer.tsx
CHANGED
|
@@ -24,8 +24,8 @@ export interface FooterProps extends FooterContent, UniBlockProps {}
|
|
|
24
24
|
export const Footer = JSX<FooterProps>(
|
|
25
25
|
({ className, documents, relatedEnterprises, contacts, socialMedia, topItems, context }) => {
|
|
26
26
|
return (
|
|
27
|
-
<footer className={`${className} px-9 py-
|
|
28
|
-
<div className="flex items-stretch gap-32
|
|
27
|
+
<footer className={`${className} px-9 py-10 bg-white`}>
|
|
28
|
+
<div className="flex items-stretch gap-32 pb-8 xl:gap-8">
|
|
29
29
|
<Logo className={`${LEFT_COL_WIDTH_FULL_HD} ${LEFT_COL_WIDTH_SMALL_DESKTOP}`} />
|
|
30
30
|
<SearchBar context={context} className="grow" />
|
|
31
31
|
</div>
|
|
@@ -10,7 +10,7 @@ export const HorizontalNavigation = JSX<FooterLink>(({ className, links, context
|
|
|
10
10
|
return (
|
|
11
11
|
<div className={`${className || ''}`}>
|
|
12
12
|
{links?.length ? (
|
|
13
|
-
<div className="flex justify-between items-center gap-5 py-5 border-solid border-x-0 border-y
|
|
13
|
+
<div className="flex justify-between items-center gap-5 py-5 border-solid border-x-0 border-y border-y-main-divider">
|
|
14
14
|
{links.map((_, i) => (
|
|
15
15
|
<HorizontalNavigationLink
|
|
16
16
|
key={String(i)}
|
package/src/Footer/Sitemap.tsx
CHANGED
|
@@ -48,7 +48,7 @@ interface ColumnItemProps extends LinkContent {
|
|
|
48
48
|
|
|
49
49
|
const ColumnItem = JSX<ColumnItemProps>(({ text, href, target, index }) => (
|
|
50
50
|
<a
|
|
51
|
-
className="block font-sans font-normal text-base text-secondary-text hover:text-primary-
|
|
51
|
+
className="block font-sans font-normal text-base text-secondary-text hover:text-primary-main no-underline"
|
|
52
52
|
href={href}
|
|
53
53
|
target={target || '_self'}
|
|
54
54
|
>
|
|
@@ -1,12 +1,12 @@
|
|
|
1
1
|
import { JSX } from '@redneckz/uni-jsx';
|
|
2
2
|
import type { LinkContent, UniBlockProps } from '../types';
|
|
3
|
-
import {
|
|
3
|
+
import { Icon, IconName } from '../ui-kit/Icon';
|
|
4
4
|
import { useLink } from '../useLink';
|
|
5
5
|
|
|
6
|
-
const ICONS_MAP = [
|
|
7
|
-
{ origins: ['t.me', 'telegram.org'], icon: TelegramIcon, label: 'Телеграм' },
|
|
8
|
-
{ origins: ['vk.com'], icon: VKIcon, label: 'ВКонтакте' },
|
|
9
|
-
{ origins: ['ok.ru'], icon: OkIcon, label: 'Одноклассники' },
|
|
6
|
+
const ICONS_MAP: Array<{ origins: string[]; icon: IconName; label: string }> = [
|
|
7
|
+
{ origins: ['t.me', 'telegram.org'], icon: 'TelegramIcon', label: 'Телеграм' },
|
|
8
|
+
{ origins: ['vk.com'], icon: 'VKIcon', label: 'ВКонтакте' },
|
|
9
|
+
{ origins: ['ok.ru'], icon: 'OkIcon', label: 'Одноклассники' },
|
|
10
10
|
];
|
|
11
11
|
|
|
12
12
|
export interface SocialMediaProps extends UniBlockProps {
|
|
@@ -17,7 +17,7 @@ export const SocialMedia = JSX<SocialMediaProps>(({ className, media, context })
|
|
|
17
17
|
const router = context.useRouter();
|
|
18
18
|
const { handlerDecorator } = context;
|
|
19
19
|
return (
|
|
20
|
-
<div className={`flex items-end justify-end gap-2
|
|
20
|
+
<div className={`flex items-end justify-end gap-2 pt-[30px] pb-7 ${className || ''}`}>
|
|
21
21
|
{media?.map((_, index) => (
|
|
22
22
|
<MediaButton key={String(index)} {...useLink({ router, handlerDecorator }, _)} />
|
|
23
23
|
))}
|
|
@@ -30,17 +30,17 @@ interface MediaButtonProps {
|
|
|
30
30
|
}
|
|
31
31
|
|
|
32
32
|
const MediaButton = JSX<MediaButtonProps>(({ href }) => {
|
|
33
|
-
const { icon
|
|
33
|
+
const { icon, label } =
|
|
34
34
|
ICONS_MAP.find(({ origins }) => origins.some((_) => href?.includes(_))) || {};
|
|
35
35
|
return (
|
|
36
36
|
<a
|
|
37
|
-
className="flex items-center justify-center border-solid border
|
|
37
|
+
className="flex items-center justify-center border-solid border border-main-divider rounded-full no-underline outline-none w-9 h-9"
|
|
38
38
|
href={href}
|
|
39
39
|
target="_blank"
|
|
40
40
|
rel="noopener noreferrer"
|
|
41
41
|
aria-label={label}
|
|
42
42
|
>
|
|
43
|
-
{
|
|
43
|
+
{icon && <Icon className="block" name={icon} /> /* TODO width & height */}
|
|
44
44
|
</a>
|
|
45
45
|
);
|
|
46
46
|
});
|
|
@@ -8,9 +8,9 @@ export const TextInformation = JSX<FooterLink>(({ className, links, context }) =
|
|
|
8
8
|
const { handlerDecorator } = context;
|
|
9
9
|
return (
|
|
10
10
|
<div className={`${className || ''}`}>
|
|
11
|
-
<div className="
|
|
11
|
+
<div className="pt-5 pb-[5px]">
|
|
12
12
|
<span className="font-sans font-normal text-xs text-secondary-text">
|
|
13
|
-
{`\u00a9\u00A02000-${new Date().getFullYear()}\u00A0АО \u00AB
|
|
13
|
+
{`\u00a9\u00A02000-${new Date().getFullYear()}\u00A0АО \u00ABРоссельхозбанк\u00BB Генеральная лицензия Банка России \u2116\u00A03349 от\u00A012.08.2015\u00A0г.`}
|
|
14
14
|
</span>
|
|
15
15
|
</div>
|
|
16
16
|
{links?.length ? (
|
|
@@ -1,8 +1,8 @@
|
|
|
1
1
|
import { JSX } from '@redneckz/uni-jsx';
|
|
2
|
-
import {
|
|
2
|
+
import type { UniBlockProps } from '../types';
|
|
3
|
+
import { Icon } from '../ui-kit/Icon';
|
|
3
4
|
import { TopItem } from '../ui-kit/TopItem';
|
|
4
5
|
import { HeaderSecondaryMenuButton } from './HeaderSecondaryMenuButton';
|
|
5
|
-
import type { UniBlockProps } from '../types';
|
|
6
6
|
|
|
7
7
|
interface HeaderSecondaryMenuContent {
|
|
8
8
|
defaultLocation?: string;
|
|
@@ -36,19 +36,19 @@ export const HeaderSecondaryMenu = JSX<HeaderSecondaryMenuProps>(
|
|
|
36
36
|
className="mr-5 text-primary-text hover:text-primary-main"
|
|
37
37
|
ariaLabel="Поиск по сайту"
|
|
38
38
|
>
|
|
39
|
-
|
|
39
|
+
<Icon name="LoupeIcon" aria-hidden="true" />
|
|
40
40
|
</HeaderSecondaryMenuButton>
|
|
41
41
|
<HeaderSecondaryMenuButton
|
|
42
42
|
className="mr-5 text-primary-text hover:text-primary-main"
|
|
43
43
|
ariaLabel="Профиль"
|
|
44
44
|
>
|
|
45
|
-
|
|
45
|
+
<Icon name="ProfileIcon" aria-hidden="true" />
|
|
46
46
|
</HeaderSecondaryMenuButton>
|
|
47
47
|
<HeaderSecondaryMenuButton
|
|
48
48
|
className="mr-5 text-secondary-light hover:text-secondary-active min-w-[32px] min-h-[32px]"
|
|
49
49
|
ariaLabel="Дополнительные ссылки"
|
|
50
50
|
>
|
|
51
|
-
|
|
51
|
+
<Icon name="GridIcon" aria-hidden="true" />
|
|
52
52
|
</HeaderSecondaryMenuButton>
|
|
53
53
|
</div>
|
|
54
54
|
);
|
|
@@ -12,6 +12,22 @@ export default {
|
|
|
12
12
|
href: 'https://rshbnaturaldbo.onelink.me/qhkF/f182074f?af_qr=true',
|
|
13
13
|
src: 'data:image/png;base64,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',
|
|
14
14
|
}}
|
|
15
|
+
buttons={[
|
|
16
|
+
{
|
|
17
|
+
aboveText: 'Загрузите в',
|
|
18
|
+
text: 'App Store',
|
|
19
|
+
icon: 'AppleIcon',
|
|
20
|
+
href: '#',
|
|
21
|
+
version: 'secondary',
|
|
22
|
+
},
|
|
23
|
+
{
|
|
24
|
+
aboveText: 'Доступно в',
|
|
25
|
+
text: 'Google Play',
|
|
26
|
+
icon: 'PlayMarketIcon',
|
|
27
|
+
href: '#',
|
|
28
|
+
version: 'secondary',
|
|
29
|
+
},
|
|
30
|
+
]}
|
|
15
31
|
/>
|
|
16
32
|
</div>
|
|
17
33
|
),
|
package/src/MobileBlocks.ts
CHANGED
|
@@ -8,6 +8,7 @@ import { ProductBlock } from './ProductBlock';
|
|
|
8
8
|
import { ProductGallery } from './ProductGallery';
|
|
9
9
|
import { ProductTile } from './ProductTile';
|
|
10
10
|
import { StepsBlock } from './StepsBlock';
|
|
11
|
+
import { TextBlock } from './TextBlock';
|
|
11
12
|
import { Tile } from './Tile';
|
|
12
13
|
|
|
13
14
|
export const MobileBlocks = {
|
|
@@ -18,6 +19,7 @@ export const MobileBlocks = {
|
|
|
18
19
|
ProductTile,
|
|
19
20
|
ProductBlock,
|
|
20
21
|
StepsBlock,
|
|
22
|
+
TextBlock,
|
|
21
23
|
BenefitsBlock,
|
|
22
24
|
ProductGallery,
|
|
23
25
|
ExchangeRateTile,
|
|
@@ -1,11 +1,11 @@
|
|
|
1
1
|
import { JSX } from '@redneckz/uni-jsx';
|
|
2
|
-
import { EmptyWalletIcon, PercentageSquareIcon, CalendarIcon } from './Icons/index';
|
|
3
|
-
import type { UniBlockProps, Benefit } from './types';
|
|
4
|
-
import { BaseTile } from './BaseTile';
|
|
5
2
|
import type { BaseTileContent } from './BaseTile';
|
|
3
|
+
import { BaseTile } from './BaseTile';
|
|
4
|
+
import type { Benefit } from './BenefitsBlock';
|
|
6
5
|
import { Img } from './Img';
|
|
7
|
-
|
|
8
|
-
|
|
6
|
+
import type { UniBlockProps } from './types';
|
|
7
|
+
import { Icon } from './ui-kit/Icon';
|
|
8
|
+
import { Title } from './ui-kit/Title';
|
|
9
9
|
|
|
10
10
|
export interface ProductBlockInnerContent extends BaseTileContent {
|
|
11
11
|
benefits?: Benefit[];
|
|
@@ -19,9 +19,9 @@ export const ProductBlockInner = JSX<ProductBlockInnerProps>(
|
|
|
19
19
|
<div className={`flex grow justify-between items-stretch ${className || ''}`}>
|
|
20
20
|
<div className={'flex flex-col'}>
|
|
21
21
|
{title && (
|
|
22
|
-
<
|
|
22
|
+
<Title size="XL" className="font-medium m-0 mb-4 whitespace-pre-wrap max-w-[600px]">
|
|
23
23
|
{title}
|
|
24
|
-
</
|
|
24
|
+
</Title>
|
|
25
25
|
)}
|
|
26
26
|
<BaseTile context={context} description={description} items={items} buttons={buttons}>
|
|
27
27
|
{benefits?.length ? (
|
|
@@ -39,9 +39,12 @@ function renderBenefit(benefit: Benefit, i: number) {
|
|
|
39
39
|
return (
|
|
40
40
|
<div key={String(i)} className="flex gap-4 items-center">
|
|
41
41
|
{benefit.icon && (
|
|
42
|
-
<
|
|
43
|
-
|
|
44
|
-
|
|
42
|
+
<Icon
|
|
43
|
+
className="w-[50px] h-[50px] min-w-[50px] min-h-[50px] bg-main rounded-full p-[10px] box-border"
|
|
44
|
+
name={benefit.icon}
|
|
45
|
+
width="24"
|
|
46
|
+
height="24"
|
|
47
|
+
/>
|
|
45
48
|
)}
|
|
46
49
|
<div className="flex gap-1 flex-col h-full">
|
|
47
50
|
<h4 className="font-medium text-xl m-0">{benefit.label}</h4>
|
package/src/ProductTile.tsx
CHANGED
|
@@ -1,8 +1,9 @@
|
|
|
1
1
|
import { JSX } from '@redneckz/uni-jsx';
|
|
2
|
-
import type { UniBlockProps, Benefit } from './types';
|
|
3
|
-
import { BlockVersion } from './types';
|
|
4
|
-
import { Tile } from './Tile';
|
|
5
2
|
import type { BaseTileContent } from './BaseTile';
|
|
3
|
+
import type { Benefit } from './BenefitsBlock';
|
|
4
|
+
import { Tile } from './Tile';
|
|
5
|
+
import type { UniBlockProps } from './types';
|
|
6
|
+
import { BlockVersion } from './types';
|
|
6
7
|
|
|
7
8
|
export interface ProductTileContent extends BaseTileContent {
|
|
8
9
|
benefits?: Benefit[];
|
package/src/ProjectSettings.ts
CHANGED
|
@@ -5,6 +5,7 @@ export interface ProjectSettings {
|
|
|
5
5
|
FORCED_DRAFT_FLOW: boolean;
|
|
6
6
|
ENABLE_ASSIST?: boolean;
|
|
7
7
|
SITEMAP?: string;
|
|
8
|
+
CDN?: string; // Should ends with "/"
|
|
8
9
|
}
|
|
9
10
|
|
|
10
11
|
export const projectSettings = new (class implements ProjectSettings {
|
|
@@ -35,4 +36,7 @@ export const projectSettings = new (class implements ProjectSettings {
|
|
|
35
36
|
get SITEMAP() {
|
|
36
37
|
return this._.SITEMAP;
|
|
37
38
|
}
|
|
39
|
+
get CDN() {
|
|
40
|
+
return this._.CDN;
|
|
41
|
+
}
|
|
38
42
|
})();
|
package/src/StepsBlock.tsx
CHANGED
|
@@ -1,13 +1,13 @@
|
|
|
1
1
|
import { JSX } from '@redneckz/uni-jsx';
|
|
2
|
-
import { NewDocIcon, PassSendIcon, ActualBalanceIcon } from './Icons/index';
|
|
3
2
|
import type { UniBlockProps } from './types';
|
|
3
|
+
import { Icon, IconName } from './ui-kit/Icon';
|
|
4
|
+
import { Title } from './ui-kit/Title';
|
|
4
5
|
import { joinList } from './utils/joinList';
|
|
5
6
|
|
|
6
|
-
const ICONS = { NewDocIcon, PassSendIcon, ActualBalanceIcon };
|
|
7
7
|
export interface Step {
|
|
8
8
|
label: string;
|
|
9
9
|
description?: string;
|
|
10
|
-
icon?:
|
|
10
|
+
icon?: IconName;
|
|
11
11
|
}
|
|
12
12
|
|
|
13
13
|
export interface StepsBlockContent {
|
|
@@ -24,7 +24,7 @@ export const StepsBlock = JSX<StepsBlockProps>(({ className, title, steps }) =>
|
|
|
24
24
|
className || ''
|
|
25
25
|
}`}
|
|
26
26
|
>
|
|
27
|
-
<
|
|
27
|
+
<Title className="font-medium m-0 max-w-[47rem] text-center">{title}</Title>
|
|
28
28
|
{steps?.length ? (
|
|
29
29
|
<div>
|
|
30
30
|
<div className="flex mt-9 items-center px-[88px]">
|
|
@@ -43,7 +43,7 @@ const renderStepIcon = (step: Step, i: number) => {
|
|
|
43
43
|
return (
|
|
44
44
|
<div key={String(i)} className="flex flex-col items-center text-center relative">
|
|
45
45
|
<div className="h-[100px] w-[100px] min-w-[100px] min-h-[100px] bg-secondary-light rounded-full p-[26px] box-border z-10">
|
|
46
|
-
{(step.icon &&
|
|
46
|
+
{(step.icon && <Icon name={step.icon} width="48" height="48" />) || (
|
|
47
47
|
<span className="font-medium text-title-sm text-secondary-text">{i + 1}</span>
|
|
48
48
|
)}
|
|
49
49
|
</div>
|
|
@@ -0,0 +1,116 @@
|
|
|
1
|
+
import { context } from './setup-fixture';
|
|
2
|
+
import { TextBlock } from './TextBlock';
|
|
3
|
+
import { Picture } from './types';
|
|
4
|
+
|
|
5
|
+
const image: Picture = {
|
|
6
|
+
src: 'bank-card.png',
|
|
7
|
+
format: 'webp',
|
|
8
|
+
size: {
|
|
9
|
+
width: 48,
|
|
10
|
+
height: 48,
|
|
11
|
+
},
|
|
12
|
+
};
|
|
13
|
+
|
|
14
|
+
export default (
|
|
15
|
+
<div className="font-sans overflow-hidden">
|
|
16
|
+
<div>
|
|
17
|
+
<p>Private clients</p>
|
|
18
|
+
<div className="flex flex-col gap-6" data-theme="pc">
|
|
19
|
+
<TextBlock
|
|
20
|
+
context={context}
|
|
21
|
+
title="Все карты Россельхозбанка работают"
|
|
22
|
+
description="Если не планируете поездку за границу, продолжайте пользоваться картой Своя. Для поездок за границу можно заказать карту 'Кредитная карта Своя Union Pay' на сайте и в приложении Россельхозбанка"
|
|
23
|
+
blockVersion="primary"
|
|
24
|
+
iconVersion="small"
|
|
25
|
+
/>
|
|
26
|
+
<TextBlock
|
|
27
|
+
context={context}
|
|
28
|
+
title="Все карты Россельхозбанка работают"
|
|
29
|
+
description="Если не планируете поездку за границу, продолжайте пользоваться картой Своя. Для поездок за границу можно заказать карту 'Кредитная карта Своя Union Pay' на сайте и в приложении Россельхозбанка"
|
|
30
|
+
blockVersion="primary"
|
|
31
|
+
iconVersion="big"
|
|
32
|
+
image={image}
|
|
33
|
+
/>
|
|
34
|
+
<TextBlock
|
|
35
|
+
context={context}
|
|
36
|
+
title="Все карты Россельхозбанка работают"
|
|
37
|
+
description="Если не планируете поездку за границу, продолжайте пользоваться картой Своя. Для поездок за границу можно заказать карту 'Кредитная карта Своя Union Pay' на сайте и в приложении Россельхозбанка"
|
|
38
|
+
blockVersion="primary"
|
|
39
|
+
iconVersion="none"
|
|
40
|
+
/>
|
|
41
|
+
<TextBlock
|
|
42
|
+
context={context}
|
|
43
|
+
description="Если не планируете поездку за границу, продолжайте пользоваться картой Своя. Для поездок за границу можно заказать карту 'Кредитная карта Своя Union Pay' на сайте и в приложении Россельхозбанка"
|
|
44
|
+
blockVersion="primary"
|
|
45
|
+
iconVersion="small"
|
|
46
|
+
/>
|
|
47
|
+
<TextBlock
|
|
48
|
+
context={context}
|
|
49
|
+
title="Все карты Россельхозбанка работают"
|
|
50
|
+
description="Если не планируете поездку за границу, продолжайте пользоваться картой Своя. Для поездок за границу можно заказать карту 'Кредитная карта Своя Union Pay' на сайте и в приложении Россельхозбанка"
|
|
51
|
+
blockVersion="secondary"
|
|
52
|
+
iconVersion="small"
|
|
53
|
+
/>
|
|
54
|
+
<TextBlock
|
|
55
|
+
context={context}
|
|
56
|
+
title="Все карты Россельхозбанка работают"
|
|
57
|
+
description="Если не планируете поездку за границу, продолжайте пользоваться картой Своя. Для поездок за границу можно заказать карту 'Кредитная карта Своя Union Pay' на сайте и в приложении Россельхозбанка"
|
|
58
|
+
blockVersion="secondary-light"
|
|
59
|
+
iconVersion="small"
|
|
60
|
+
/>
|
|
61
|
+
</div>
|
|
62
|
+
</div>
|
|
63
|
+
<div>
|
|
64
|
+
<p>Business clients</p>
|
|
65
|
+
<div className="flex flex-col gap-6" data-theme="bc">
|
|
66
|
+
<TextBlock
|
|
67
|
+
context={context}
|
|
68
|
+
title="Все карты Россельхозбанка работают"
|
|
69
|
+
description="Если не планируете поездку за границу, продолжайте пользоваться картой Своя. Для поездок за границу можно заказать карту 'Кредитная карта Своя Union Pay' на сайте и в приложении Россельхозбанка"
|
|
70
|
+
blockVersion="primary"
|
|
71
|
+
iconVersion="small"
|
|
72
|
+
/>
|
|
73
|
+
<TextBlock
|
|
74
|
+
context={context}
|
|
75
|
+
title="Все карты Россельхозбанка работают"
|
|
76
|
+
description="Если не планируете поездку за границу, продолжайте пользоваться картой Своя. Для поездок за границу можно заказать карту 'Кредитная карта Своя Union Pay' на сайте и в приложении Россельхозбанка"
|
|
77
|
+
blockVersion="secondary"
|
|
78
|
+
iconVersion="small"
|
|
79
|
+
/>
|
|
80
|
+
<TextBlock
|
|
81
|
+
context={context}
|
|
82
|
+
title="Все карты Россельхозбанка работают"
|
|
83
|
+
description="Если не планируете поездку за границу, продолжайте пользоваться картой Своя. Для поездок за границу можно заказать карту 'Кредитная карта Своя Union Pay' на сайте и в приложении Россельхозбанка"
|
|
84
|
+
blockVersion="secondary-light"
|
|
85
|
+
iconVersion="small"
|
|
86
|
+
/>
|
|
87
|
+
</div>
|
|
88
|
+
</div>
|
|
89
|
+
<div>
|
|
90
|
+
<p>Ecosystem own</p>
|
|
91
|
+
<div className="flex flex-col gap-6" data-theme="eo">
|
|
92
|
+
<TextBlock
|
|
93
|
+
context={context}
|
|
94
|
+
title="Все карты Россельхозбанка работают"
|
|
95
|
+
description="Если не планируете поездку за границу, продолжайте пользоваться картой Своя. Для поездок за границу можно заказать карту 'Кредитная карта Своя Union Pay' на сайте и в приложении Россельхозбанка"
|
|
96
|
+
blockVersion="primary"
|
|
97
|
+
iconVersion="small"
|
|
98
|
+
/>
|
|
99
|
+
<TextBlock
|
|
100
|
+
context={context}
|
|
101
|
+
title="Все карты Россельхозбанка работают"
|
|
102
|
+
description="Если не планируете поездку за границу, продолжайте пользоваться картой Своя. Для поездок за границу можно заказать карту 'Кредитная карта Своя Union Pay' на сайте и в приложении Россельхозбанка"
|
|
103
|
+
blockVersion="secondary"
|
|
104
|
+
iconVersion="small"
|
|
105
|
+
/>
|
|
106
|
+
<TextBlock
|
|
107
|
+
context={context}
|
|
108
|
+
title="Все карты Россельхозбанка работают"
|
|
109
|
+
description="Если не планируете поездку за границу, продолжайте пользоваться картой Своя. Для поездок за границу можно заказать карту 'Кредитная карта Своя Union Pay' на сайте и в приложении Россельхозбанка"
|
|
110
|
+
blockVersion="secondary-light"
|
|
111
|
+
iconVersion="small"
|
|
112
|
+
/>
|
|
113
|
+
</div>
|
|
114
|
+
</div>
|
|
115
|
+
</div>
|
|
116
|
+
);
|
|
@@ -0,0 +1,72 @@
|
|
|
1
|
+
import { JSX } from '@redneckz/uni-jsx';
|
|
2
|
+
import type { UniBlockProps, Picture } from './types';
|
|
3
|
+
import { Img } from './Img';
|
|
4
|
+
|
|
5
|
+
type TextBlockVersion = 'primary' | 'secondary' | 'secondary-light';
|
|
6
|
+
type TextBlockIconVersion = 'none' | 'small' | 'big';
|
|
7
|
+
|
|
8
|
+
export interface TextBlockContent {
|
|
9
|
+
title?: string;
|
|
10
|
+
description?: string;
|
|
11
|
+
blockVersion?: TextBlockVersion;
|
|
12
|
+
iconVersion?: TextBlockIconVersion;
|
|
13
|
+
image?: Picture;
|
|
14
|
+
}
|
|
15
|
+
|
|
16
|
+
export interface TextBlockProps extends TextBlockContent, UniBlockProps {}
|
|
17
|
+
|
|
18
|
+
const textBlockStyleMaps: Record<
|
|
19
|
+
TextBlockVersion,
|
|
20
|
+
{ background: string; icon: string; title: string; description: string }
|
|
21
|
+
> = {
|
|
22
|
+
primary: {
|
|
23
|
+
background: 'bg-white',
|
|
24
|
+
icon: 'bg-primary-main text-white',
|
|
25
|
+
title: 'text-base',
|
|
26
|
+
description: 'text-secondary-text',
|
|
27
|
+
},
|
|
28
|
+
secondary: {
|
|
29
|
+
background: 'bg-primary-main',
|
|
30
|
+
icon: 'bg-white text-primary-main',
|
|
31
|
+
title: 'text-white',
|
|
32
|
+
description: 'text-white',
|
|
33
|
+
},
|
|
34
|
+
'secondary-light': {
|
|
35
|
+
background: 'bg-primary-main/10',
|
|
36
|
+
icon: 'bg-primary-main text-white',
|
|
37
|
+
title: 'text-base',
|
|
38
|
+
description: 'text-secondary-text',
|
|
39
|
+
},
|
|
40
|
+
};
|
|
41
|
+
|
|
42
|
+
export const TextBlock = JSX<TextBlockProps>(
|
|
43
|
+
({ title, description, blockVersion = 'primary', iconVersion, image, className }) => {
|
|
44
|
+
const textBlockStyleMap = textBlockStyleMaps[blockVersion];
|
|
45
|
+
return (
|
|
46
|
+
<section
|
|
47
|
+
className={`font-sans px-9 py-4 flex ${textBlockStyleMap.background} ${className || ''}`}
|
|
48
|
+
>
|
|
49
|
+
{iconVersion && iconVersion === 'small' ? renderIcon(textBlockStyleMap.icon) : null}
|
|
50
|
+
{iconVersion && iconVersion === 'big' ? renderImage(image) : null}
|
|
51
|
+
<div className="py-0.5">
|
|
52
|
+
{title && <div className={`font-medium mb-1 ${textBlockStyleMap.title}`}>{title}</div>}
|
|
53
|
+
{description && (
|
|
54
|
+
<div className={`text-sm ${textBlockStyleMap.description}`}>{description}</div>
|
|
55
|
+
)}
|
|
56
|
+
</div>
|
|
57
|
+
</section>
|
|
58
|
+
);
|
|
59
|
+
},
|
|
60
|
+
);
|
|
61
|
+
|
|
62
|
+
function renderIcon(className: string) {
|
|
63
|
+
return (
|
|
64
|
+
<div className={`pt-1.5 pr-4`}>
|
|
65
|
+
<div className={`rounded-full h-4 w-4 text-center text-xs ${className}`}>i</div>
|
|
66
|
+
</div>
|
|
67
|
+
);
|
|
68
|
+
}
|
|
69
|
+
|
|
70
|
+
function renderImage(image?: Picture) {
|
|
71
|
+
return image?.src ? <Img className="pt-0.5 pr-3" image={image} /> : null;
|
|
72
|
+
}
|
package/src/Tile.tsx
CHANGED
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
import { JSX } from '@redneckz/uni-jsx';
|
|
2
|
-
import type { BlockVersion,
|
|
2
|
+
import type { BlockVersion, UniBlockProps } from './types';
|
|
3
3
|
import { BaseTile } from './BaseTile';
|
|
4
4
|
import type { BaseTileContent } from './BaseTile';
|
|
5
5
|
import { getColSpan } from './utils/getColSpan';
|
package/src/common.css
CHANGED
|
@@ -2,27 +2,27 @@
|
|
|
2
2
|
|
|
3
3
|
/* Private clients | Green */
|
|
4
4
|
[data-theme='pc'] {
|
|
5
|
-
--color-primary-main:
|
|
6
|
-
--color-primary-hover:
|
|
7
|
-
--color-primary-active:
|
|
8
|
-
--color-secondary-hover:
|
|
9
|
-
--color-secondary-active:
|
|
5
|
+
--color-primary-main: 66, 171, 68;
|
|
6
|
+
--color-primary-hover: 36, 131, 65;
|
|
7
|
+
--color-primary-active: 36, 95, 52;
|
|
8
|
+
--color-secondary-hover: 216, 242, 217;
|
|
9
|
+
--color-secondary-active: 197, 226, 198;
|
|
10
10
|
}
|
|
11
11
|
/* Business clients | Light-Green */
|
|
12
12
|
[data-theme='bc'] {
|
|
13
|
-
--color-primary-main:
|
|
14
|
-
--color-primary-hover:
|
|
15
|
-
--color-primary-active:
|
|
16
|
-
--color-secondary-hover:
|
|
17
|
-
--color-secondary-active:
|
|
13
|
+
--color-primary-main: 131, 184, 62;
|
|
14
|
+
--color-primary-hover: 92, 146, 29;
|
|
15
|
+
--color-primary-active: 60, 94, 16;
|
|
16
|
+
--color-secondary-hover: 232, 244, 217;
|
|
17
|
+
--color-secondary-active: 216, 227, 202;
|
|
18
18
|
}
|
|
19
19
|
/* Ecosystem own | Yellow */
|
|
20
20
|
[data-theme='eo'] {
|
|
21
|
-
--color-primary-main:
|
|
22
|
-
--color-primary-hover:
|
|
23
|
-
--color-primary-active:
|
|
24
|
-
--color-secondary-hover:
|
|
25
|
-
--color-secondary-active:
|
|
21
|
+
--color-primary-main: 221, 182, 61;
|
|
22
|
+
--color-primary-hover: 187, 151, 39;
|
|
23
|
+
--color-primary-active: 126, 99, 12;
|
|
24
|
+
--color-secondary-hover: 241, 236, 221;
|
|
25
|
+
--color-secondary-active: 229, 222, 199;
|
|
26
26
|
}
|
|
27
27
|
|
|
28
28
|
@tailwind components;
|