@redneckz/wildless-cms-uni-blocks 0.2.100 → 0.2.104
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 +126 -64
- package/bundle/bundle.umd.min.js +1 -1
- package/dist/components/BlockContent.d.ts +3 -2
- package/dist/components/Blocks.d.ts +1 -0
- package/dist/components/Blocks.js +2 -0
- package/dist/components/Blocks.js.map +1 -1
- package/dist/components/Footer/FooterContent.d.ts +1 -1
- package/dist/components/Footer/Sitemap.d.ts +1 -1
- package/dist/components/Footer/Sitemap.js +2 -2
- package/dist/components/Footer/Sitemap.js.map +1 -1
- package/dist/components/Header/Header.js +13 -9
- package/dist/components/Header/Header.js.map +1 -1
- package/dist/components/Header/HeaderContent.d.ts +8 -1
- package/dist/components/Header/HeaderSecondaryMenu.d.ts +2 -1
- package/dist/components/Header/HeaderSecondaryMenu.js +14 -2
- package/dist/components/Header/HeaderSecondaryMenu.js.map +1 -1
- package/dist/components/Header/HeaderSecondaryMenuButton.js +1 -1
- package/dist/components/Header/HeaderSecondaryMenuButton.js.map +1 -1
- package/dist/components/Headline/HeadlineContent.d.ts +2 -9
- package/dist/components/MobileBlocks.d.ts +1 -0
- package/dist/components/MobileBlocks.js +2 -0
- package/dist/components/MobileBlocks.js.map +1 -1
- package/dist/components/Navigation/Navigation.d.ts +5 -0
- package/dist/components/Navigation/Navigation.js +16 -0
- package/dist/components/Navigation/Navigation.js.map +1 -0
- package/dist/components/Navigation/NavigationContent.d.ts +10 -0
- package/dist/components/Navigation/NavigationContent.js +2 -0
- package/dist/components/Navigation/NavigationContent.js.map +1 -0
- package/dist/components/Navigation/NavigationItem.d.ts +4 -0
- package/dist/components/Navigation/NavigationItem.js +6 -0
- package/dist/components/Navigation/NavigationItem.js.map +1 -0
- package/dist/components/StepsBlock/StepsBlock.d.ts +1 -1
- package/dist/components/StepsBlock/StepsBlock.js +3 -3
- package/dist/components/StepsBlock/StepsBlock.js.map +1 -1
- package/dist/components/StepsBlock/StepsBlockContent.d.ts +5 -2
- package/dist/hooks/useLink.js +2 -1
- package/dist/hooks/useLink.js.map +1 -1
- package/dist/index.d.ts +1 -1
- package/dist/index.js.map +1 -1
- package/dist/model/BgColorVersion.d.ts +8 -0
- package/dist/model/BgColorVersion.js +2 -0
- package/dist/model/BgColorVersion.js.map +1 -0
- package/dist/services/sitemap/SitemapProps.d.ts +13 -0
- package/dist/services/sitemap/SitemapProps.js +2 -0
- package/dist/services/sitemap/SitemapProps.js.map +1 -0
- package/dist/services/sitemap/findActiveSubItem.d.ts +3 -0
- package/dist/services/sitemap/findActiveSubItem.js +13 -0
- package/dist/services/sitemap/findActiveSubItem.js.map +1 -0
- package/dist/services/sitemap/isHrefActive.d.ts +4 -0
- package/dist/services/sitemap/isHrefActive.js +9 -0
- package/dist/services/sitemap/isHrefActive.js.map +1 -0
- package/dist/services/sitemap/isSubItemActive.d.ts +3 -0
- package/dist/services/sitemap/isSubItemActive.js +6 -0
- package/dist/services/sitemap/isSubItemActive.js.map +1 -0
- package/dist/services/sitemap/isTopItemActive.d.ts +3 -0
- package/dist/services/sitemap/isTopItemActive.js +7 -0
- package/dist/services/sitemap/isTopItemActive.js.map +1 -0
- package/dist/services/sitemap/mergeTopItems.d.ts +2 -0
- package/dist/{mergeTopItems.js → services/sitemap/mergeTopItems.js} +1 -3
- package/dist/services/sitemap/mergeTopItems.js.map +1 -0
- package/dist/services/sitemap/useSitemap.d.ts +3 -0
- package/dist/{hooks → services/sitemap}/useSitemap.js +1 -1
- package/dist/services/sitemap/useSitemap.js.map +1 -0
- package/dist/ui-kit/HeaderItem/HeaderItem.js +16 -4
- package/dist/ui-kit/HeaderItem/HeaderItem.js.map +1 -1
- package/dist/ui-kit/Icon/IconProps.d.ts +83 -45
- package/dist/ui-kit/Icon/IconProps.js +62 -43
- package/dist/ui-kit/Icon/IconProps.js.map +1 -1
- package/dist/ui-kit/Logo/Logo.d.ts +1 -0
- package/dist/ui-kit/Logo/Logo.js +10 -2
- package/dist/ui-kit/Logo/Logo.js.map +1 -1
- package/dist/ui-kit/SearchBar.js +2 -3
- package/dist/ui-kit/SearchBar.js.map +1 -1
- package/dist/ui-kit/TopItem/TopItem.d.ts +2 -0
- package/dist/ui-kit/TopItem/TopItem.js +19 -7
- package/dist/ui-kit/TopItem/TopItem.js.map +1 -1
- package/dist/utils/adjustHref.d.ts +4 -0
- package/dist/utils/adjustHref.js +21 -0
- package/dist/utils/adjustHref.js.map +1 -0
- package/dist/utils/maxBy.d.ts +2 -0
- package/dist/utils/maxBy.js +7 -0
- package/dist/utils/maxBy.js.map +1 -0
- package/dist/utils/url.d.ts +0 -13
- package/dist/utils/url.js +2 -26
- package/dist/utils/url.js.map +1 -1
- package/dist/utils/withoutMobilePath.d.ts +2 -0
- package/dist/utils/withoutMobilePath.js +6 -0
- package/dist/utils/withoutMobilePath.js.map +1 -0
- package/lib/common.css +1 -1
- package/lib/components/BlockContent.d.ts +3 -2
- package/lib/components/Blocks.d.ts +1 -0
- package/lib/components/Blocks.js +2 -0
- package/lib/components/Blocks.js.map +1 -1
- package/lib/components/Footer/FooterContent.d.ts +1 -1
- package/lib/components/Footer/Sitemap.d.ts +1 -1
- package/lib/components/Footer/Sitemap.js +2 -2
- package/lib/components/Footer/Sitemap.js.map +1 -1
- package/lib/components/Header/Header.fixture.d.ts +4 -1
- package/lib/components/Header/Header.js +13 -9
- package/lib/components/Header/Header.js.map +1 -1
- package/lib/components/Header/HeaderContent.d.ts +8 -1
- package/lib/components/Header/HeaderSecondaryMenu.d.ts +2 -1
- package/lib/components/Header/HeaderSecondaryMenu.js +14 -2
- package/lib/components/Header/HeaderSecondaryMenu.js.map +1 -1
- package/lib/components/Header/HeaderSecondaryMenuButton.js +1 -1
- package/lib/components/Header/HeaderSecondaryMenuButton.js.map +1 -1
- package/lib/components/Headline/HeadlineContent.d.ts +2 -9
- package/lib/components/MobileBlocks.d.ts +1 -0
- package/lib/components/MobileBlocks.js +2 -0
- package/lib/components/MobileBlocks.js.map +1 -1
- package/lib/components/Navigation/Navigation.d.ts +5 -0
- package/lib/components/Navigation/Navigation.fixture.d.ts +2 -0
- package/lib/components/Navigation/Navigation.js +14 -0
- package/lib/components/Navigation/Navigation.js.map +1 -0
- package/lib/components/Navigation/NavigationContent.d.ts +10 -0
- package/lib/components/Navigation/NavigationContent.js +2 -0
- package/lib/components/Navigation/NavigationContent.js.map +1 -0
- package/lib/components/Navigation/NavigationItem.d.ts +4 -0
- package/lib/components/Navigation/NavigationItem.js +4 -0
- package/lib/components/Navigation/NavigationItem.js.map +1 -0
- package/lib/components/StepsBlock/StepsBlock.d.ts +1 -1
- package/lib/components/StepsBlock/StepsBlock.js +3 -3
- package/lib/components/StepsBlock/StepsBlock.js.map +1 -1
- package/lib/components/StepsBlock/StepsBlockContent.d.ts +5 -2
- package/lib/hooks/useLink.js +2 -1
- package/lib/hooks/useLink.js.map +1 -1
- package/lib/index.d.ts +1 -1
- package/lib/index.js.map +1 -1
- package/lib/model/BgColorVersion.d.ts +8 -0
- package/lib/model/BgColorVersion.js +2 -0
- package/lib/model/BgColorVersion.js.map +1 -0
- package/lib/services/sitemap/SitemapProps.d.ts +13 -0
- package/lib/services/sitemap/SitemapProps.js +2 -0
- package/lib/services/sitemap/SitemapProps.js.map +1 -0
- package/lib/services/sitemap/findActiveSubItem.d.ts +3 -0
- package/lib/services/sitemap/findActiveSubItem.js +10 -0
- package/lib/services/sitemap/findActiveSubItem.js.map +1 -0
- package/lib/services/sitemap/isHrefActive.d.ts +4 -0
- package/lib/services/sitemap/isHrefActive.js +6 -0
- package/lib/services/sitemap/isHrefActive.js.map +1 -0
- package/lib/services/sitemap/isSubItemActive.d.ts +3 -0
- package/lib/services/sitemap/isSubItemActive.js +3 -0
- package/lib/services/sitemap/isSubItemActive.js.map +1 -0
- package/lib/services/sitemap/isTopItemActive.d.ts +3 -0
- package/lib/services/sitemap/isTopItemActive.js +4 -0
- package/lib/services/sitemap/isTopItemActive.js.map +1 -0
- package/lib/services/sitemap/mergeTopItems.d.ts +2 -0
- package/lib/{mergeTopItems.js → services/sitemap/mergeTopItems.js} +1 -3
- package/lib/services/sitemap/mergeTopItems.js.map +1 -0
- package/lib/services/sitemap/useSitemap.d.ts +3 -0
- package/lib/{hooks → services/sitemap}/useSitemap.js +1 -1
- package/lib/services/sitemap/useSitemap.js.map +1 -0
- package/lib/ui-kit/HeaderItem/HeaderItem.js +16 -4
- package/lib/ui-kit/HeaderItem/HeaderItem.js.map +1 -1
- package/lib/ui-kit/Icon/IconProps.d.ts +83 -45
- package/lib/ui-kit/Icon/IconProps.js +62 -43
- package/lib/ui-kit/Icon/IconProps.js.map +1 -1
- package/lib/ui-kit/Logo/Logo.d.ts +1 -0
- package/lib/ui-kit/Logo/Logo.js +10 -2
- package/lib/ui-kit/Logo/Logo.js.map +1 -1
- package/lib/ui-kit/SearchBar.js +2 -3
- package/lib/ui-kit/SearchBar.js.map +1 -1
- package/lib/ui-kit/TopItem/TopItem.d.ts +2 -0
- package/lib/ui-kit/TopItem/TopItem.js +19 -7
- package/lib/ui-kit/TopItem/TopItem.js.map +1 -1
- package/lib/utils/adjustHref.d.ts +4 -0
- package/lib/utils/adjustHref.js +18 -0
- package/lib/utils/adjustHref.js.map +1 -0
- package/lib/utils/maxBy.d.ts +2 -0
- package/lib/utils/maxBy.js +3 -0
- package/lib/utils/maxBy.js.map +1 -0
- package/lib/utils/url.d.ts +0 -13
- package/lib/utils/url.js +1 -21
- package/lib/utils/url.js.map +1 -1
- package/lib/utils/withoutMobilePath.d.ts +2 -0
- package/lib/utils/withoutMobilePath.js +3 -0
- package/lib/utils/withoutMobilePath.js.map +1 -0
- package/package.json +4 -2
- package/src/components/BlockContent.ts +4 -2
- package/src/components/Blocks.ts +2 -0
- package/src/components/ContentPage/ContentPage.page.json +28 -15
- package/src/components/Footer/FooterContent.ts +1 -1
- package/src/components/Footer/Sitemap.tsx +4 -3
- package/src/components/Header/Header.fixture.tsx +4 -18
- package/src/components/Header/Header.tsx +56 -45
- package/src/components/Header/HeaderContent.ts +8 -1
- package/src/components/Header/HeaderSecondaryMenu.tsx +25 -12
- package/src/components/Header/HeaderSecondaryMenuButton.tsx +2 -4
- package/src/components/Headline/HeadlineContent.ts +2 -10
- package/src/components/MobileBlocks.ts +2 -0
- package/src/components/Navigation/Navigation.fixture.tsx +28 -0
- package/src/components/Navigation/Navigation.tsx +39 -0
- package/src/components/Navigation/NavigationContent.ts +11 -0
- package/src/components/Navigation/NavigationItem.tsx +17 -0
- package/src/components/PictureText/PictureText.example.json +2 -2
- package/src/components/PictureText/PictureText.fixture.tsx +2 -2
- package/src/components/StepsBlock/StepsBlock.example.json +3 -1
- package/src/components/StepsBlock/StepsBlock.tsx +21 -16
- package/src/components/StepsBlock/StepsBlockContent.ts +5 -2
- package/src/hooks/useLink.ts +2 -1
- package/src/icons/Calendar2Icon.svg +1 -0
- package/src/icons/CalendarCircleIcon.svg +1 -0
- package/src/icons/CalendarTickIcon.svg +1 -0
- package/src/icons/CardIcon.svg +1 -0
- package/src/icons/CardPosIcon.svg +1 -0
- package/src/icons/CardTickIcon.svg +1 -0
- package/src/icons/CardWithGemIcon.svg +1 -0
- package/src/icons/ChartSquareIcon.svg +1 -0
- package/src/icons/CreditCardsIcon.svg +1 -0
- package/src/icons/DischountStarIcon.svg +1 -0
- package/src/icons/{DiscountShape.svg → DiscountShapeIcon.svg} +0 -0
- package/src/icons/{DocumentText.svg → DocumentTextIcon.svg} +0 -0
- package/src/icons/EarthIcon.svg +1 -0
- package/src/icons/EmptyWalletChangeIcon.svg +1 -0
- package/src/icons/GlobalIcon.svg +1 -0
- package/src/icons/GridIcon.svg +1 -1
- package/src/icons/GridIconWhite.svg +4 -0
- package/src/icons/InterestGrowthIcon.svg +1 -0
- package/src/icons/InterestIcon.svg +1 -0
- package/src/icons/JCBIcon.svg +1 -0
- package/src/icons/MasterCardIcon.svg +1 -0
- package/src/icons/MinusIcon.svg +1 -0
- package/src/icons/MirIcon.svg +1 -0
- package/src/icons/MoneyIcon.svg +1 -0
- package/src/icons/MoneyInsuranceIcon.svg +1 -0
- package/src/icons/MonitorMobileIcon.svg +1 -0
- package/src/icons/OfficeIcon.svg +1 -0
- package/src/icons/PercentageRoundIcon.svg +1 -0
- package/src/icons/PersonalCardIcon.svg +1 -0
- package/src/icons/PlusIcon.svg +1 -0
- package/src/icons/Profile2UserIcon.svg +1 -0
- package/src/icons/RoundRubleIcon.svg +1 -0
- package/src/icons/SafeIcon.svg +1 -0
- package/src/icons/ShieldTickIcon.svg +1 -0
- package/src/icons/SmallClockIcon.svg +1 -0
- package/src/icons/UnionPayIcon.svg +1 -0
- package/src/icons/UserTickIcon.svg +1 -0
- package/src/icons/VisaIcon.svg +1 -0
- package/src/icons/WalletAdd2Icon.svg +1 -0
- package/src/icons/WalletAddIcon.svg +1 -0
- package/src/icons/WalletWithMoneyIcon.svg +1 -0
- package/src/index.ts +1 -1
- package/src/model/BgColorVersion.ts +8 -0
- package/src/services/sitemap/SitemapProps.ts +15 -0
- package/src/services/sitemap/findActiveSubItem.ts +14 -0
- package/src/services/sitemap/isHrefActive.ts +13 -0
- package/src/services/sitemap/isSubItemActive.ts +8 -0
- package/src/services/sitemap/isTopItemActive.ts +9 -0
- package/src/{mergeTopItems.spec.ts → services/sitemap/mergeTopItems.spec.ts} +0 -0
- package/src/{mergeTopItems.ts → services/sitemap/mergeTopItems.ts} +3 -4
- package/src/{hooks → services/sitemap}/useSitemap.ts +3 -3
- package/src/ui-kit/HeaderItem/HeaderItem.tsx +32 -18
- package/src/ui-kit/Icon/IconProps.ts +44 -6
- package/src/ui-kit/Logo/Logo.tsx +30 -18
- package/src/ui-kit/SearchBar.tsx +13 -18
- package/src/ui-kit/TopItem/TopItem.tsx +46 -19
- package/src/utils/adjustHref.spec.ts +25 -0
- package/src/utils/adjustHref.ts +24 -0
- package/src/utils/maxBy.spec.ts +11 -0
- package/src/utils/maxBy.ts +7 -0
- package/src/utils/url.spec.ts +1 -37
- package/src/utils/url.ts +2 -39
- package/src/utils/withoutMobilePath.ts +3 -0
- package/dist/components/Header/isSubItemActive.d.ts +0 -3
- package/dist/components/Header/isSubItemActive.js +0 -8
- package/dist/components/Header/isSubItemActive.js.map +0 -1
- package/dist/components/Header/isTopItemActive.d.ts +0 -3
- package/dist/components/Header/isTopItemActive.js +0 -8
- package/dist/components/Header/isTopItemActive.js.map +0 -1
- package/dist/hooks/useSitemap.d.ts +0 -3
- package/dist/hooks/useSitemap.js.map +0 -1
- package/dist/mergeTopItems.d.ts +0 -2
- package/dist/mergeTopItems.js.map +0 -1
- package/lib/components/Header/isSubItemActive.d.ts +0 -3
- package/lib/components/Header/isSubItemActive.js +0 -5
- package/lib/components/Header/isSubItemActive.js.map +0 -1
- package/lib/components/Header/isTopItemActive.d.ts +0 -3
- package/lib/components/Header/isTopItemActive.js +0 -5
- package/lib/components/Header/isTopItemActive.js.map +0 -1
- package/lib/hooks/useSitemap.d.ts +0 -3
- package/lib/hooks/useSitemap.js.map +0 -1
- package/lib/mergeTopItems.d.ts +0 -2
- package/lib/mergeTopItems.js.map +0 -1
- package/src/components/Header/isSubItemActive.ts +0 -7
- package/src/components/Header/isTopItemActive.ts +0 -8
|
@@ -18,25 +18,38 @@
|
|
|
18
18
|
"type": "Header",
|
|
19
19
|
"style": ["-mx-20", "mb-5", "shadow-[0_8px_32px_0px_#00000014]"],
|
|
20
20
|
"content": {
|
|
21
|
-
"defaultLocation": "Москва"
|
|
22
|
-
"topItems": [
|
|
23
|
-
{
|
|
24
|
-
"href": "https://rshb.ru/",
|
|
25
|
-
"text": "Бизнес клиентам",
|
|
26
|
-
"target": "_blank"
|
|
27
|
-
},
|
|
28
|
-
{
|
|
29
|
-
"href": "https://rshb.ru/",
|
|
30
|
-
"text": "Частным клиентам",
|
|
31
|
-
"target": "_blank"
|
|
32
|
-
}
|
|
33
|
-
]
|
|
21
|
+
"defaultLocation": "Москва"
|
|
34
22
|
}
|
|
35
23
|
}
|
|
36
24
|
]
|
|
37
25
|
}
|
|
38
26
|
},
|
|
39
27
|
"blocks": [
|
|
28
|
+
{
|
|
29
|
+
"type": "Navigation",
|
|
30
|
+
"style": ["col-span-12"],
|
|
31
|
+
"content": {
|
|
32
|
+
"title": "Потребительский кредит наличными",
|
|
33
|
+
"buttons": [
|
|
34
|
+
{
|
|
35
|
+
"href": "/credits",
|
|
36
|
+
"text": "Оформить"
|
|
37
|
+
},
|
|
38
|
+
{
|
|
39
|
+
"href": "/tariffs",
|
|
40
|
+
"text": "Тарифы"
|
|
41
|
+
},
|
|
42
|
+
{
|
|
43
|
+
"href": "/harvest",
|
|
44
|
+
"text": "Урожай"
|
|
45
|
+
},
|
|
46
|
+
{
|
|
47
|
+
"href": "/faq",
|
|
48
|
+
"text": "Частые вопросы"
|
|
49
|
+
}
|
|
50
|
+
]
|
|
51
|
+
}
|
|
52
|
+
},
|
|
40
53
|
{
|
|
41
54
|
"type": "ProductGallery",
|
|
42
55
|
"style": ["col-span-12"],
|
|
@@ -1838,12 +1851,12 @@
|
|
|
1838
1851
|
{
|
|
1839
1852
|
"label": "Кредит по одному документу",
|
|
1840
1853
|
"description": "До 300 тыс ₽ по упрощённой процедуре получения кредита",
|
|
1841
|
-
"icon": "
|
|
1854
|
+
"icon": "DocumentTextIcon"
|
|
1842
1855
|
},
|
|
1843
1856
|
{
|
|
1844
1857
|
"label": "Кредит на общих условиях",
|
|
1845
1858
|
"description": "До 5 млн ₽ на общих условиях получения кредита",
|
|
1846
|
-
"icon": "
|
|
1859
|
+
"icon": "DiscountShapeIcon"
|
|
1847
1860
|
}
|
|
1848
1861
|
],
|
|
1849
1862
|
"image": {
|
|
@@ -1,10 +1,11 @@
|
|
|
1
1
|
import { JSX } from '@redneckz/uni-jsx';
|
|
2
2
|
import { useLink } from '../../hooks/useLink';
|
|
3
|
-
import { useSitemap } from '../../hooks/useSitemap';
|
|
4
|
-
import { mergeTopItems } from '../../mergeTopItems';
|
|
5
3
|
import type { LinkProps } from '../../model/LinkProps';
|
|
6
|
-
import
|
|
4
|
+
import { mergeTopItems } from '../../services/sitemap/mergeTopItems';
|
|
5
|
+
import type { TopMenuItem } from '../../services/sitemap/SitemapProps';
|
|
6
|
+
import { useSitemap } from '../../services/sitemap/useSitemap';
|
|
7
7
|
import type { UniBlockProps } from '../../types';
|
|
8
|
+
|
|
8
9
|
export interface SitemapProps extends UniBlockProps {
|
|
9
10
|
items?: TopMenuItem[];
|
|
10
11
|
}
|
|
@@ -1,21 +1,7 @@
|
|
|
1
1
|
import { context } from '../../setup-fixture';
|
|
2
2
|
import { Header } from './Header';
|
|
3
3
|
|
|
4
|
-
export default
|
|
5
|
-
<Header
|
|
6
|
-
|
|
7
|
-
|
|
8
|
-
topItems={[
|
|
9
|
-
{
|
|
10
|
-
href: 'https://rshb.ru/',
|
|
11
|
-
text: 'Бизнес клиентам',
|
|
12
|
-
target: '_blank',
|
|
13
|
-
},
|
|
14
|
-
{
|
|
15
|
-
href: 'https://rshb.ru/',
|
|
16
|
-
text: 'Частным клиентам',
|
|
17
|
-
target: '_blank',
|
|
18
|
-
},
|
|
19
|
-
]}
|
|
20
|
-
/>
|
|
21
|
-
);
|
|
4
|
+
export default {
|
|
5
|
+
default: <Header context={context} defaultLocation="Москва" />,
|
|
6
|
+
transparent: <Header context={context} defaultLocation="Москва" bgColor="transparent" />,
|
|
7
|
+
};
|
|
@@ -1,61 +1,72 @@
|
|
|
1
1
|
import { JSX } from '@redneckz/uni-jsx';
|
|
2
2
|
import { useLink } from '../../hooks/useLink';
|
|
3
|
-
import {
|
|
4
|
-
import {
|
|
3
|
+
import type { BgColorVersion } from '../../model/BgColorVersion';
|
|
4
|
+
import { findActiveSubItem } from '../../services/sitemap/findActiveSubItem';
|
|
5
|
+
import { isTopItemActive } from '../../services/sitemap/isTopItemActive';
|
|
6
|
+
import { mergeTopItems } from '../../services/sitemap/mergeTopItems';
|
|
7
|
+
import { useSitemap } from '../../services/sitemap/useSitemap';
|
|
5
8
|
import type { UniBlockProps } from '../../types';
|
|
6
9
|
import { HeaderItem } from '../../ui-kit/HeaderItem/HeaderItem';
|
|
7
10
|
import { Logo } from '../../ui-kit/Logo/Logo';
|
|
8
11
|
import { TopItem } from '../../ui-kit/TopItem/TopItem';
|
|
9
12
|
import type { HeaderContent } from './HeaderContent';
|
|
10
13
|
import { HeaderSecondaryMenu } from './HeaderSecondaryMenu';
|
|
11
|
-
|
|
12
|
-
|
|
14
|
+
|
|
15
|
+
const BORDER_COLORS: Record<BgColorVersion, string> = {
|
|
16
|
+
'bg-white': 'bg-main-divider',
|
|
17
|
+
transparent: 'bg-main-divider opacity-30',
|
|
18
|
+
};
|
|
13
19
|
|
|
14
20
|
export interface HeaderProps extends HeaderContent, UniBlockProps {}
|
|
15
21
|
|
|
16
|
-
export const Header = JSX<HeaderProps>(
|
|
17
|
-
|
|
18
|
-
|
|
19
|
-
|
|
22
|
+
export const Header = JSX<HeaderProps>(
|
|
23
|
+
({ className, defaultLocation, bgColor = 'bg-white', context, topItems }) => {
|
|
24
|
+
const router = context.useRouter();
|
|
25
|
+
const sitemap = useSitemap(context.useAsyncData);
|
|
26
|
+
const { handlerDecorator } = context;
|
|
20
27
|
|
|
21
|
-
|
|
22
|
-
|
|
23
|
-
|
|
24
|
-
|
|
28
|
+
const mergedItems = mergeTopItems(sitemap.topItems, topItems);
|
|
29
|
+
const activeTopItem = mergedItems.find(isTopItemActive(router));
|
|
30
|
+
const subItems = activeTopItem?.items;
|
|
31
|
+
const activeSubItem = findActiveSubItem(router)(subItems);
|
|
25
32
|
|
|
26
|
-
|
|
27
|
-
|
|
28
|
-
|
|
29
|
-
|
|
30
|
-
|
|
31
|
-
|
|
32
|
-
|
|
33
|
-
|
|
33
|
+
const topMenu = mergedItems.map((_, i) => (
|
|
34
|
+
<TopItem
|
|
35
|
+
key={String(i)}
|
|
36
|
+
active={_ === activeTopItem}
|
|
37
|
+
{...useLink({ router, handlerDecorator }, _)}
|
|
38
|
+
ariaLabel={_.text}
|
|
39
|
+
bgColor={bgColor}
|
|
40
|
+
/>
|
|
41
|
+
));
|
|
34
42
|
|
|
35
|
-
|
|
36
|
-
|
|
37
|
-
|
|
38
|
-
|
|
39
|
-
|
|
40
|
-
|
|
41
|
-
|
|
42
|
-
|
|
43
|
+
const subMenu = subItems?.map((_) => (
|
|
44
|
+
<HeaderItem
|
|
45
|
+
key={_.href}
|
|
46
|
+
className="mr-8"
|
|
47
|
+
active={_ === activeSubItem}
|
|
48
|
+
{...useLink({ router, handlerDecorator }, _)}
|
|
49
|
+
bgColor={bgColor}
|
|
50
|
+
/>
|
|
51
|
+
));
|
|
43
52
|
|
|
44
|
-
|
|
45
|
-
|
|
46
|
-
|
|
47
|
-
|
|
48
|
-
|
|
49
|
-
|
|
50
|
-
|
|
51
|
-
|
|
52
|
-
|
|
53
|
-
|
|
54
|
-
|
|
53
|
+
return (
|
|
54
|
+
<header className={`pt-5 pb-8 px-20 ${bgColor} ${className || ''}`}>
|
|
55
|
+
<div className="container">
|
|
56
|
+
<div className="flex items-center">
|
|
57
|
+
<Logo className="mr-8" bgColor={bgColor} />
|
|
58
|
+
{topMenu}
|
|
59
|
+
<HeaderSecondaryMenu
|
|
60
|
+
context={context}
|
|
61
|
+
className="ml-auto"
|
|
62
|
+
defaultLocation={defaultLocation}
|
|
63
|
+
bgColor={bgColor}
|
|
64
|
+
/>
|
|
65
|
+
</div>
|
|
66
|
+
<div className={`mt-5 h-[1px] ${BORDER_COLORS[bgColor]}`} />
|
|
67
|
+
<nav className="mt-5">{subMenu}</nav>
|
|
55
68
|
</div>
|
|
56
|
-
|
|
57
|
-
|
|
58
|
-
|
|
59
|
-
|
|
60
|
-
);
|
|
61
|
-
});
|
|
69
|
+
</header>
|
|
70
|
+
);
|
|
71
|
+
},
|
|
72
|
+
);
|
|
@@ -1,4 +1,5 @@
|
|
|
1
|
-
import
|
|
1
|
+
import { BgColorVersion } from '../../model/BgColorVersion';
|
|
2
|
+
import type { SitemapProps } from '../../services/sitemap/SitemapProps';
|
|
2
3
|
|
|
3
4
|
/**
|
|
4
5
|
* @title Шапка
|
|
@@ -10,4 +11,10 @@ export interface HeaderContent extends SitemapProps {
|
|
|
10
11
|
* @default Москва
|
|
11
12
|
*/
|
|
12
13
|
defaultLocation?: string;
|
|
14
|
+
/**
|
|
15
|
+
* @title Фон элемента
|
|
16
|
+
* @hidden
|
|
17
|
+
* @default white
|
|
18
|
+
*/
|
|
19
|
+
bgColor?: BgColorVersion;
|
|
13
20
|
}
|
|
@@ -1,20 +1,34 @@
|
|
|
1
1
|
import { JSX } from '@redneckz/uni-jsx';
|
|
2
|
+
import type { BgColorVersion } from '../../model/BgColorVersion';
|
|
2
3
|
import type { UniBlockProps } from '../../types';
|
|
3
4
|
import { Icon } from '../../ui-kit/Icon/Icon';
|
|
5
|
+
import type { IconName } from '../../ui-kit/Icon/IconProps';
|
|
4
6
|
import { TopItem } from '../../ui-kit/TopItem/TopItem';
|
|
5
7
|
import { HeaderSecondaryMenuButton } from './HeaderSecondaryMenuButton';
|
|
6
8
|
|
|
7
9
|
interface HeaderSecondaryMenuContent {
|
|
8
10
|
defaultLocation?: string;
|
|
9
|
-
|
|
11
|
+
bgColor?: BgColorVersion;
|
|
10
12
|
}
|
|
11
13
|
|
|
12
14
|
export interface HeaderSecondaryMenuProps extends HeaderSecondaryMenuContent, UniBlockProps {}
|
|
13
15
|
|
|
16
|
+
const COLORS_MAP: Record<BgColorVersion, string> = {
|
|
17
|
+
'bg-white': 'text-primary-text hover:text-primary-main',
|
|
18
|
+
transparent: 'text-white',
|
|
19
|
+
};
|
|
20
|
+
const DOP_LINKS_COLORS_MAP: Record<BgColorVersion, string> = {
|
|
21
|
+
'bg-white': 'text-secondary-light hover:text-secondary-hover',
|
|
22
|
+
transparent: 'text-white',
|
|
23
|
+
};
|
|
24
|
+
const DOP_LINKS_ICON_NAME_MAP: Record<BgColorVersion, IconName> = {
|
|
25
|
+
'bg-white': 'GridIcon',
|
|
26
|
+
transparent: 'GridIconWhite',
|
|
27
|
+
};
|
|
28
|
+
|
|
14
29
|
export const HeaderSecondaryMenu = JSX<HeaderSecondaryMenuProps>(
|
|
15
|
-
({ context, className, defaultLocation = '' }) => {
|
|
30
|
+
({ context, className, defaultLocation = '', bgColor = 'bg-white' }) => {
|
|
16
31
|
const [city, getCity] = context.useGeolocation(defaultLocation);
|
|
17
|
-
|
|
18
32
|
return (
|
|
19
33
|
<div className={`flex items-center ${className || ''}`}>
|
|
20
34
|
<TopItem
|
|
@@ -24,6 +38,7 @@ export const HeaderSecondaryMenu = JSX<HeaderSecondaryMenuProps>(
|
|
|
24
38
|
text={city}
|
|
25
39
|
ariaLabel="Местоположение"
|
|
26
40
|
onClick={getCity}
|
|
41
|
+
bgColor={bgColor}
|
|
27
42
|
/>
|
|
28
43
|
<TopItem
|
|
29
44
|
className="mr-7"
|
|
@@ -31,24 +46,22 @@ export const HeaderSecondaryMenu = JSX<HeaderSecondaryMenuProps>(
|
|
|
31
46
|
href="#"
|
|
32
47
|
text="Офисы и банкоматы"
|
|
33
48
|
ariaLabel="Список всех доступных офисов и банкоматов"
|
|
49
|
+
bgColor={bgColor}
|
|
34
50
|
/>
|
|
35
51
|
<HeaderSecondaryMenuButton
|
|
36
|
-
className=
|
|
52
|
+
className={`mr-5 ${COLORS_MAP[bgColor]}`}
|
|
37
53
|
ariaLabel="Поиск по сайту"
|
|
38
54
|
>
|
|
39
|
-
<Icon name="LoupeIcon"
|
|
55
|
+
<Icon name="LoupeIcon" className="h-full" asSVG />
|
|
40
56
|
</HeaderSecondaryMenuButton>
|
|
41
|
-
<HeaderSecondaryMenuButton
|
|
42
|
-
className="
|
|
43
|
-
ariaLabel="Профиль"
|
|
44
|
-
>
|
|
45
|
-
<Icon name="ProfileIcon" aria-hidden="true" className="h-full" asSVG />
|
|
57
|
+
<HeaderSecondaryMenuButton className={`mr-5 ${COLORS_MAP[bgColor]}`} ariaLabel="Профиль">
|
|
58
|
+
<Icon name="ProfileIcon" className="h-full" asSVG />
|
|
46
59
|
</HeaderSecondaryMenuButton>
|
|
47
60
|
<HeaderSecondaryMenuButton
|
|
48
|
-
className=
|
|
61
|
+
className={`${DOP_LINKS_COLORS_MAP[bgColor]} min-w-[32px] min-h-[32px]`}
|
|
49
62
|
ariaLabel="Дополнительные ссылки"
|
|
50
63
|
>
|
|
51
|
-
<Icon name=
|
|
64
|
+
<Icon name={DOP_LINKS_ICON_NAME_MAP[bgColor]} className="h-full" asSVG />
|
|
52
65
|
</HeaderSecondaryMenuButton>
|
|
53
66
|
</div>
|
|
54
67
|
);
|
|
@@ -6,12 +6,10 @@ interface HeaderSecondaryMenuButtonProps {
|
|
|
6
6
|
}
|
|
7
7
|
|
|
8
8
|
export const HeaderSecondaryMenuButton = JSX<HeaderSecondaryMenuButtonProps>(
|
|
9
|
-
({ className, children, ariaLabel }) => (
|
|
9
|
+
({ className = '', children, ariaLabel }) => (
|
|
10
10
|
<button
|
|
11
11
|
type="button"
|
|
12
|
-
className={`border-0 p-0 w-[24px] h-[24px] flex items-center bg-inherit cursor-pointer ${
|
|
13
|
-
className || ''
|
|
14
|
-
}`}
|
|
12
|
+
className={`border-0 p-0 w-[24px] h-[24px] flex items-center bg-inherit cursor-pointer ${className}`}
|
|
15
13
|
disabled={true}
|
|
16
14
|
aria-label={ariaLabel}
|
|
17
15
|
>
|
|
@@ -1,18 +1,10 @@
|
|
|
1
|
+
import type { BgColorVersion } from '../../model/BgColorVersion';
|
|
1
2
|
import type { BaseTileCommonProps } from '../BaseTile/BaseTileProps';
|
|
2
3
|
|
|
3
|
-
/**
|
|
4
|
-
* @title Цвет фона
|
|
5
|
-
* @enumNames [
|
|
6
|
-
* "Прозрачный",
|
|
7
|
-
* "Белый"
|
|
8
|
-
* ]
|
|
9
|
-
*/
|
|
10
|
-
export type HeadlineBgColor = 'transparent' | 'bg-white';
|
|
11
|
-
|
|
12
4
|
/**
|
|
13
5
|
* @title Заголовок
|
|
14
6
|
*/
|
|
15
7
|
export interface HeadlineContent
|
|
16
8
|
extends Pick<BaseTileCommonProps, 'title' | 'titleSize' | 'description' | 'align'> {
|
|
17
|
-
bgColor?:
|
|
9
|
+
bgColor?: BgColorVersion;
|
|
18
10
|
}
|
|
@@ -4,6 +4,7 @@ import { Gallery } from './Gallery/Gallery.mobile';
|
|
|
4
4
|
import { Header } from './Header/Header';
|
|
5
5
|
import { Headline } from './Headline/Headline';
|
|
6
6
|
import { MobileAppTile } from './MobileAppTile/MobileAppTile';
|
|
7
|
+
import { Navigation } from './Navigation/Navigation';
|
|
7
8
|
import { PictureText } from './PictureText/PictureText';
|
|
8
9
|
import { Placeholder } from './Placeholder/Placeholder';
|
|
9
10
|
import { ProductBlock } from './ProductBlock/ProductBlock.mobile';
|
|
@@ -24,4 +25,5 @@ export const MobileBlocks = {
|
|
|
24
25
|
ProductTile,
|
|
25
26
|
TextBlock,
|
|
26
27
|
Tile,
|
|
28
|
+
Navigation,
|
|
27
29
|
};
|
|
@@ -0,0 +1,28 @@
|
|
|
1
|
+
import { context } from '../../setup-fixture';
|
|
2
|
+
|
|
3
|
+
import { Navigation } from './Navigation';
|
|
4
|
+
|
|
5
|
+
export default () => (
|
|
6
|
+
<Navigation
|
|
7
|
+
title="Потребительский кредит наличными"
|
|
8
|
+
buttons={[
|
|
9
|
+
{
|
|
10
|
+
href: '/credits',
|
|
11
|
+
text: 'Оформить',
|
|
12
|
+
},
|
|
13
|
+
{
|
|
14
|
+
href: '/tariffs',
|
|
15
|
+
text: 'Тарифы',
|
|
16
|
+
},
|
|
17
|
+
{
|
|
18
|
+
href: '/harvest',
|
|
19
|
+
text: 'Урожай',
|
|
20
|
+
},
|
|
21
|
+
{
|
|
22
|
+
href: '/faq',
|
|
23
|
+
text: 'Частые вопросы',
|
|
24
|
+
},
|
|
25
|
+
]}
|
|
26
|
+
context={context}
|
|
27
|
+
/>
|
|
28
|
+
);
|
|
@@ -0,0 +1,39 @@
|
|
|
1
|
+
import { JSX } from '@redneckz/uni-jsx';
|
|
2
|
+
import { useLink } from '../../hooks/useLink';
|
|
3
|
+
import { findActiveSubItem } from '../../services/sitemap/findActiveSubItem';
|
|
4
|
+
import type { UniBlockProps } from '../../types';
|
|
5
|
+
import { NavigationContent } from './NavigationContent';
|
|
6
|
+
import { NavigationItem } from './NavigationItem';
|
|
7
|
+
|
|
8
|
+
export interface NavigationProps extends NavigationContent, UniBlockProps {}
|
|
9
|
+
|
|
10
|
+
export const Navigation = JSX<NavigationProps>(({ className, context, title, buttons }) => {
|
|
11
|
+
const router = context.useRouter();
|
|
12
|
+
const { handlerDecorator } = context;
|
|
13
|
+
|
|
14
|
+
const activeButton = findActiveSubItem(router)(buttons);
|
|
15
|
+
|
|
16
|
+
return (
|
|
17
|
+
<section
|
|
18
|
+
className={`font-sans text-primary-text rounded-[40px] flex items-center justify-between ${
|
|
19
|
+
className || ''
|
|
20
|
+
}`}
|
|
21
|
+
>
|
|
22
|
+
<h2 className="font-medium text-xl m-0">{title}</h2>
|
|
23
|
+
{buttons?.length ? (
|
|
24
|
+
<div className="flex rounded-md overflow-hidden bg-white">
|
|
25
|
+
{buttons
|
|
26
|
+
.filter(({ text }) => text)
|
|
27
|
+
.map((button, i) => (
|
|
28
|
+
<NavigationItem
|
|
29
|
+
key={String(i)}
|
|
30
|
+
className="first:rounded-tl-md first:rounded-bl-md last:rounded-tr-md last:rounded-br-md"
|
|
31
|
+
isActive={button === activeButton}
|
|
32
|
+
{...useLink({ router, handlerDecorator }, button)}
|
|
33
|
+
/>
|
|
34
|
+
))}
|
|
35
|
+
</div>
|
|
36
|
+
) : null}
|
|
37
|
+
</section>
|
|
38
|
+
);
|
|
39
|
+
});
|
|
@@ -0,0 +1,17 @@
|
|
|
1
|
+
import { JSX } from '@redneckz/uni-jsx';
|
|
2
|
+
import type { ButtonProps } from '../../ui-kit/Button/ButtonProps';
|
|
3
|
+
|
|
4
|
+
export const NavigationItem = JSX<ButtonProps & { isActive: boolean }>(
|
|
5
|
+
({ className, text, onClick, href, target, isActive }) => (
|
|
6
|
+
<a
|
|
7
|
+
className={`bg-inherit no-underline px-4 py-2.5 cursor-pointer rounded text-sm border border-solid hover:text-primary-main ${
|
|
8
|
+
className || ''
|
|
9
|
+
} ${isActive ? 'border-primary-main text-primary-main' : 'border-white text-secondary-text'}`}
|
|
10
|
+
onClick={onClick}
|
|
11
|
+
href={href}
|
|
12
|
+
target={target}
|
|
13
|
+
>
|
|
14
|
+
{text}
|
|
15
|
+
</a>
|
|
16
|
+
),
|
|
17
|
+
);
|
|
@@ -20,12 +20,12 @@ export const PICTURE_TEXT: PictureTextContent = {
|
|
|
20
20
|
{
|
|
21
21
|
label: 'Кредит по одному документу',
|
|
22
22
|
description: 'До 300 тыс ₽ по упрощённой процедуре получения кредита',
|
|
23
|
-
icon: '
|
|
23
|
+
icon: 'DocumentTextIcon',
|
|
24
24
|
},
|
|
25
25
|
{
|
|
26
26
|
label: 'Кредит на общих условиях',
|
|
27
27
|
description: 'До 5 млн ₽ на общих условиях получения кредита',
|
|
28
|
-
icon: '
|
|
28
|
+
icon: 'DiscountShapeIcon',
|
|
29
29
|
},
|
|
30
30
|
],
|
|
31
31
|
image,
|
|
@@ -1,8 +1,10 @@
|
|
|
1
1
|
{
|
|
2
2
|
"title": "Шаги",
|
|
3
|
+
"showLines": true,
|
|
3
4
|
"steps": [
|
|
4
5
|
{
|
|
5
6
|
"label": "Шаг №1",
|
|
7
|
+
"description": "Описание шага №1",
|
|
6
8
|
"icon": "NewDocIcon"
|
|
7
9
|
},
|
|
8
10
|
{
|
|
@@ -10,7 +12,7 @@
|
|
|
10
12
|
"icon": "PassSendIcon"
|
|
11
13
|
},
|
|
12
14
|
{
|
|
13
|
-
"
|
|
15
|
+
"description": "Шаг №3 без заголовка",
|
|
14
16
|
"icon": "ActualBalanceIcon"
|
|
15
17
|
}
|
|
16
18
|
]
|
|
@@ -1,28 +1,30 @@
|
|
|
1
1
|
import { JSX } from '@redneckz/uni-jsx';
|
|
2
|
-
import type { Step, StepsBlockContent } from './StepsBlockContent';
|
|
3
2
|
import type { UniBlockProps } from '../../types';
|
|
4
3
|
import { Icon } from '../../ui-kit/Icon/Icon';
|
|
5
4
|
import { Title } from '../../ui-kit/Title/Title';
|
|
6
5
|
import { joinList } from '../../utils/joinList';
|
|
6
|
+
import type { Step, StepsBlockContent } from './StepsBlockContent';
|
|
7
7
|
|
|
8
8
|
export interface StepsBlockProps extends StepsBlockContent, UniBlockProps {}
|
|
9
9
|
|
|
10
|
-
export const StepsBlock = JSX<StepsBlockProps>(({ className, title, steps }) => {
|
|
10
|
+
export const StepsBlock = JSX<StepsBlockProps>(({ className, title, showLines = true, steps }) => {
|
|
11
11
|
return (
|
|
12
12
|
<section
|
|
13
|
-
className={`font-sans text-primary-text bg-white px-
|
|
13
|
+
className={`box-border font-sans text-primary-text bg-white px-20 py-[50px] flex flex-col items-center ${
|
|
14
14
|
className || ''
|
|
15
15
|
}`}
|
|
16
16
|
>
|
|
17
17
|
<Title className="font-medium m-0 max-w-[47rem] text-center">{title}</Title>
|
|
18
18
|
{steps?.length ? (
|
|
19
|
-
<div>
|
|
20
|
-
<div className="flex
|
|
21
|
-
{joinList(
|
|
22
|
-
|
|
23
|
-
|
|
19
|
+
<div className={`box-border py-0.5 mb-0.5 ${title ? 'mt-9' : ''}`}>
|
|
20
|
+
<div className="flex items-center px-[88px]">
|
|
21
|
+
{joinList(
|
|
22
|
+
<div
|
|
23
|
+
className={`h-0.5 w-full bg-secondary-light ${!showLines ? 'opacity-0' : ''}`}
|
|
24
|
+
/>,
|
|
25
|
+
)(steps.map((step, i) => renderStepIcon(step, i)))}
|
|
24
26
|
</div>
|
|
25
|
-
<div className="flex
|
|
27
|
+
<div className="flex justify-between gap-x-[101px]">{steps.map(renderStepTitle)}</div>
|
|
26
28
|
</div>
|
|
27
29
|
) : null}
|
|
28
30
|
</section>
|
|
@@ -43,13 +45,16 @@ const renderStepIcon = (step: Step, i: number) => {
|
|
|
43
45
|
|
|
44
46
|
const renderStepTitle = (step: Step, i: number) => {
|
|
45
47
|
return (
|
|
46
|
-
<div
|
|
47
|
-
|
|
48
|
-
|
|
49
|
-
|
|
50
|
-
|
|
51
|
-
|
|
52
|
-
|
|
48
|
+
<div
|
|
49
|
+
key={String(i)}
|
|
50
|
+
className="flex flex-col items-center text-center relative w-[276px] whitespace-pre-line overflow-hidden"
|
|
51
|
+
>
|
|
52
|
+
{step.label && <div className="font-medium text-xl m-0 mt-4">{step.label}</div>}
|
|
53
|
+
{step.description && (
|
|
54
|
+
<div className={`font-normal text-sm text-secondary-text ${step.label ? 'mt-2' : 'mt-4'}`}>
|
|
55
|
+
{step.description}
|
|
56
|
+
</div>
|
|
57
|
+
)}
|
|
53
58
|
</div>
|
|
54
59
|
);
|
|
55
60
|
};
|
|
@@ -5,7 +5,7 @@ import type { IconName } from '../../ui-kit/Icon/IconProps';
|
|
|
5
5
|
*/
|
|
6
6
|
export interface Step {
|
|
7
7
|
/** @title Название */
|
|
8
|
-
label
|
|
8
|
+
label?: string;
|
|
9
9
|
/** @title Описание */
|
|
10
10
|
description?: string;
|
|
11
11
|
icon?: IconName;
|
|
@@ -17,9 +17,12 @@ export interface Step {
|
|
|
17
17
|
export interface StepsBlockContent {
|
|
18
18
|
/** @title Заголовок */
|
|
19
19
|
title?: string;
|
|
20
|
+
/** @title Линии */
|
|
21
|
+
showLines?: boolean;
|
|
20
22
|
/**
|
|
21
23
|
* @title Шаги
|
|
22
|
-
* @
|
|
24
|
+
* @minItems 2
|
|
25
|
+
* @maxItems 3
|
|
23
26
|
*/
|
|
24
27
|
steps?: Step[];
|
|
25
28
|
}
|
package/src/hooks/useLink.ts
CHANGED
|
@@ -1,6 +1,7 @@
|
|
|
1
1
|
import { HandlerDecorator, Router } from '../components/ContentPage/ContentPageContext';
|
|
2
2
|
import type { LinkProps } from '../model/LinkProps';
|
|
3
|
-
import { adjustHref
|
|
3
|
+
import { adjustHref } from '../utils/adjustHref';
|
|
4
|
+
import { isURL } from '../utils/url';
|
|
4
5
|
|
|
5
6
|
const defaultHandlerDecorator: HandlerDecorator = (handler) => handler;
|
|
6
7
|
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
<svg width="24" height="24" fill="none" xmlns="http://www.w3.org/2000/svg"><path d="M3.5 9.09h17" stroke="#42AB44" stroke-width="2" stroke-miterlimit="10" stroke-linecap="round" stroke-linejoin="round"/><path d="M3 13.01V8.5c0-3 1.5-5 5-5h8c3.5 0 5 2 5 5V17c0 3-1.5 5-5 5H8c-3.5 0-5-2-5-5" stroke="#1C1C1C" stroke-width="2" stroke-miterlimit="10" stroke-linecap="round" stroke-linejoin="round"/><path d="M11.995 13.7h.01M8.294 13.7h.01M8.294 16.7h.01" stroke="#42AB44" stroke-width="2" stroke-linecap="round" stroke-linejoin="round"/><path d="M8 2v3M16 2v3" stroke="#42AB44" stroke-width="2" stroke-miterlimit="10" stroke-linecap="round" stroke-linejoin="round"/></svg>
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
<svg id="icon" width="24" height="24" fill="none" xmlns="http://www.w3.org/2000/svg"><path d="M9.89 5.83v2M14.11 5.83v2M7.53 10.14h8.94M13.5 17.67h-3c-2.5 0-4-1.8-4-4v-3c0-2.2 1.5-4 4-4h3c2.5 0 4 1.8 4 4v3c0 2.2-1.5 4-4 4Z" stroke="#42AB44" stroke-width="2" stroke-miterlimit="10" stroke-linecap="round" stroke-linejoin="round"/><path d="M4 6c-1.25 1.67-2 3.75-2 6 0 5.52 4.48 10 10 10s10-4.48 10-10S17.52 2 12 2c-1.43 0-2.8.3-4.03.85" stroke="#1C1C1C" stroke-width="2" stroke-linecap="round" stroke-linejoin="round"/></svg>
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
<svg width="24" height="24" fill="none" xmlns="http://www.w3.org/2000/svg"><path d="M8 2v3M16 2v3M3.5 9.09h17M3 13.1V8.5c0-3 1.5-5 5-5h8c3.5 0 5 2 5 5v7.86c-.73-.83-1.8-1.36-3-1.36-2.21 0-4 1.79-4 4 0 .75.21 1.46.58 2.06.21.36.48.68.79.94H8c-3.5 0-5-2-5-5" stroke="#1C1C1C" stroke-width="2" stroke-miterlimit="10" stroke-linecap="round" stroke-linejoin="round"/><path d="M11.995 13.7h.01M8.294 13.7h.01M8.294 16.7h.01" stroke="#1C1C1C" stroke-width="2" stroke-linecap="round" stroke-linejoin="round"/><path d="M22 19c0 .75-.21 1.46-.58 2.06A3.97 3.97 0 0 1 18 23c-1.01 0-1.93-.37-2.63-1-.31-.26-.58-.58-.79-.94A3.92 3.92 0 0 1 14 19c0-2.21 1.79-4 4-4 1.2 0 2.27.53 3 1.36A4 4 0 0 1 22 19Z" stroke="#42AB44" stroke-width="2" stroke-miterlimit="10" stroke-linecap="round" stroke-linejoin="round"/><path d="m16.44 19 .99.99 2.13-1.97" stroke="#42AB44" stroke-width="2" stroke-linecap="round" stroke-linejoin="round"/></svg>
|