@redneckz/wildless-cms-uni-blocks 0.2.83 → 0.2.86
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 -945
- package/bundle/bundle.umd.js +203 -198
- package/bundle/bundle.umd.min.js +1 -1
- package/dist/components/Accordion/Accordion.js +1 -1
- package/dist/components/Accordion/Accordion.js.map +1 -1
- package/dist/components/Accordion/AccordionContent.d.ts +29 -10
- package/dist/components/Accordion/AccordionItem.d.ts +2 -2
- package/dist/components/Accordion/AccordionItem.js +5 -6
- package/dist/components/Accordion/AccordionItem.js.map +1 -1
- package/dist/components/BaseTile/BaseTile.d.ts +2 -2
- package/dist/components/BaseTile/BaseTile.js +1 -1
- package/dist/components/BaseTile/BaseTile.js.map +1 -1
- package/dist/components/BaseTile/BaseTileProps.d.ts +31 -0
- package/dist/{model/SitemapContent.js → components/BaseTile/BaseTileProps.js} +1 -1
- package/dist/components/BaseTile/BaseTileProps.js.map +1 -0
- package/dist/components/BenefitsBlock/BenefitsBlock.d.ts +1 -1
- package/dist/components/BenefitsBlock/BenefitsBlock.js +2 -1
- package/dist/components/BenefitsBlock/BenefitsBlock.js.map +1 -1
- package/dist/components/BenefitsBlock/BenefitsBlockContent.d.ts +14 -1
- package/dist/components/BlockContent.d.ts +4 -1
- package/dist/components/ComparisonTable/ComparisonTableContent.d.ts +45 -2
- package/dist/components/ComparisonTable/HeaderCell.d.ts +2 -2
- package/dist/components/ContentPage/ContentPage.d.ts +3 -2
- package/dist/components/ContentPage/ContentPage.js.map +1 -1
- package/dist/components/CreditCalculator/CreditCalculatorContent.d.ts +4 -0
- package/dist/components/ExchangeRateTile/ExchangeRateTile.d.ts +1 -1
- package/dist/components/ExchangeRateTile/ExchangeRateTile.js +1 -1
- package/dist/components/ExchangeRateTile/ExchangeRateTile.js.map +1 -1
- package/dist/components/ExchangeRateTile/ExchangeRateTileContent.d.ts +4 -0
- package/dist/components/Footer/Contacts.js +2 -2
- package/dist/components/Footer/Contacts.js.map +1 -1
- package/dist/components/Footer/FooterContent.d.ts +35 -9
- package/dist/components/Footer/FooterLink.d.ts +2 -2
- package/dist/components/Footer/HorizontalNavigation.js.map +1 -1
- package/dist/components/Footer/Sitemap.d.ts +1 -1
- package/dist/components/Footer/Sitemap.js +1 -1
- package/dist/components/Footer/Sitemap.js.map +1 -1
- package/dist/components/Footer/SocialMedia.d.ts +2 -2
- package/dist/components/Footer/SocialMedia.js +2 -2
- package/dist/components/Footer/SocialMedia.js.map +1 -1
- package/dist/components/Footer/TextInformation.js.map +1 -1
- package/dist/components/Gallery/GalleryContent.d.ts +13 -0
- package/dist/components/Header/HeaderContent.d.ts +10 -2
- package/dist/components/Header/HeaderSecondaryMenu.js +1 -1
- 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/Header/isSubItemActive.d.ts +2 -2
- package/dist/components/Header/isSubItemActive.js.map +1 -1
- package/dist/components/Header/isTopItemActive.d.ts +2 -2
- package/dist/components/Header/isTopItemActive.js.map +1 -1
- package/dist/components/MiniGallery/MiniGallery.d.ts +3 -3
- package/dist/components/MiniGallery/MiniGalleryContent.d.ts +6 -0
- package/dist/components/MiniGallery/MiniGalleryContent.js +2 -0
- package/dist/components/MiniGallery/MiniGalleryContent.js.map +1 -0
- package/dist/components/MobileAppTile/MobileAppTileContent.d.ts +11 -2
- package/dist/components/Placeholder/PlaceholderContent.d.ts +3 -0
- package/dist/components/ProductBlock/ProductBlock.mobile.d.ts +2 -2
- package/dist/components/ProductBlock/ProductBlock.mobile.js.map +1 -1
- package/dist/components/ProductBlock/ProductBlockContent.d.ts +10 -5
- package/dist/components/ProductBlock/ProductBlockInner.d.ts +2 -2
- package/dist/components/ProductBlock/ProductBlockInner.js +1 -1
- package/dist/components/ProductBlock/ProductBlockInner.js.map +1 -1
- package/dist/components/ProductGallery/ProductGallery.d.ts +1 -1
- package/dist/components/ProductGallery/ProductGallery.js.map +1 -1
- package/dist/components/ProductGallery/ProductGalleryContent.d.ts +17 -2
- package/dist/components/ProductTile/ProductTileContent.d.ts +6 -2
- package/dist/components/PromoTile/PromoTileContent.d.ts +6 -2
- package/dist/components/StepsBlock/StepsBlockContent.d.ts +13 -0
- package/dist/components/TextBlock/TextBlockContent.d.ts +13 -0
- package/dist/components/Tile/TileContent.d.ts +5 -2
- package/dist/hooks/useLink.d.ts +3 -3
- package/dist/hooks/useLink.js.map +1 -1
- package/dist/index.d.ts +12 -12
- package/dist/index.js +10 -10
- package/dist/index.js.map +1 -1
- package/dist/mergeTopItems.d.ts +2 -2
- package/dist/mergeTopItems.js.map +1 -1
- package/dist/model/BlockVersion.d.ts +4 -0
- package/dist/model/ButtonVersion.d.ts +4 -0
- package/dist/model/LinkProps.d.ts +21 -0
- package/dist/model/{LinkContent.js → LinkProps.js} +1 -1
- package/dist/model/LinkProps.js.map +1 -0
- package/dist/model/Picture.d.ts +11 -0
- package/dist/model/SitemapProps.d.ts +13 -0
- package/dist/{components/BaseTile/BaseTileContent.js → model/SitemapProps.js} +1 -1
- package/dist/model/SitemapProps.js.map +1 -0
- package/dist/types.d.ts +2 -2
- package/dist/ui-kit/Breadcrumb.d.ts +2 -2
- package/dist/ui-kit/Button/Button.d.ts +6 -3
- package/dist/ui-kit/Button/Button.js.map +1 -1
- package/dist/ui-kit/Button/ButtonProps.d.ts +15 -12
- package/dist/ui-kit/Icon/Icon.js +7 -1
- package/dist/ui-kit/Icon/Icon.js.map +1 -1
- package/dist/ui-kit/Icon/IconProps.d.ts +50 -19
- package/dist/ui-kit/Icon/IconProps.js +21 -18
- package/dist/ui-kit/Icon/IconProps.js.map +1 -1
- package/dist/ui-kit/TopItem/TopItem.d.ts +2 -2
- package/lib/common.css +1 -1
- package/lib/components/Accordion/Accordion.js +1 -1
- package/lib/components/Accordion/Accordion.js.map +1 -1
- package/lib/components/Accordion/AccordionContent.d.ts +29 -10
- package/lib/components/Accordion/AccordionItem.d.ts +2 -2
- package/lib/components/Accordion/AccordionItem.js +5 -6
- package/lib/components/Accordion/AccordionItem.js.map +1 -1
- package/lib/components/BaseTile/BaseTile.d.ts +2 -2
- package/lib/components/BaseTile/BaseTile.js +1 -1
- package/lib/components/BaseTile/BaseTile.js.map +1 -1
- package/lib/components/BaseTile/BaseTileProps.d.ts +31 -0
- package/lib/components/BaseTile/BaseTileProps.js +2 -0
- package/lib/components/BaseTile/BaseTileProps.js.map +1 -0
- package/lib/components/BenefitsBlock/BenefitsBlock.d.ts +1 -1
- package/lib/components/BenefitsBlock/BenefitsBlock.js +2 -1
- package/lib/components/BenefitsBlock/BenefitsBlock.js.map +1 -1
- package/lib/components/BenefitsBlock/BenefitsBlockContent.d.ts +14 -1
- package/lib/components/BlockContent.d.ts +4 -1
- package/lib/components/ComparisonTable/ComparisonTableContent.d.ts +45 -2
- package/lib/components/ComparisonTable/HeaderCell.d.ts +2 -2
- package/lib/components/ContentPage/ContentPage.d.ts +3 -2
- package/lib/components/ContentPage/ContentPage.js.map +1 -1
- package/lib/components/CreditCalculator/CreditCalculatorContent.d.ts +4 -0
- package/lib/components/ExchangeRateTile/ExchangeRateTile.d.ts +1 -1
- package/lib/components/ExchangeRateTile/ExchangeRateTile.js +1 -1
- package/lib/components/ExchangeRateTile/ExchangeRateTile.js.map +1 -1
- package/lib/components/ExchangeRateTile/ExchangeRateTileContent.d.ts +4 -0
- package/lib/components/Footer/Contacts.js +2 -2
- package/lib/components/Footer/Contacts.js.map +1 -1
- package/lib/components/Footer/FooterContent.d.ts +35 -9
- package/lib/components/Footer/FooterLink.d.ts +2 -2
- package/lib/components/Footer/HorizontalNavigation.js.map +1 -1
- package/lib/components/Footer/Sitemap.d.ts +1 -1
- package/lib/components/Footer/Sitemap.js +1 -1
- package/lib/components/Footer/Sitemap.js.map +1 -1
- package/lib/components/Footer/SocialMedia.d.ts +2 -2
- package/lib/components/Footer/SocialMedia.js +2 -2
- package/lib/components/Footer/SocialMedia.js.map +1 -1
- package/lib/components/Footer/TextInformation.js.map +1 -1
- package/lib/components/Gallery/GalleryContent.d.ts +13 -0
- package/lib/components/Header/HeaderContent.d.ts +10 -2
- package/lib/components/Header/HeaderSecondaryMenu.js +1 -1
- 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/Header/isSubItemActive.d.ts +2 -2
- package/lib/components/Header/isSubItemActive.js.map +1 -1
- package/lib/components/Header/isTopItemActive.d.ts +2 -2
- package/lib/components/Header/isTopItemActive.js.map +1 -1
- package/lib/components/MiniGallery/MiniGallery.d.ts +3 -3
- package/lib/components/MiniGallery/MiniGalleryContent.d.ts +6 -0
- package/lib/components/MiniGallery/MiniGalleryContent.js +2 -0
- package/lib/components/MiniGallery/MiniGalleryContent.js.map +1 -0
- package/lib/components/MobileAppTile/MobileAppTileContent.d.ts +11 -2
- package/lib/components/Placeholder/PlaceholderContent.d.ts +3 -0
- package/lib/components/ProductBlock/ProductBlock.mobile.d.ts +2 -2
- package/lib/components/ProductBlock/ProductBlock.mobile.js.map +1 -1
- package/lib/components/ProductBlock/ProductBlockContent.d.ts +10 -5
- package/lib/components/ProductBlock/ProductBlockInner.d.ts +2 -2
- package/lib/components/ProductBlock/ProductBlockInner.js +1 -1
- package/lib/components/ProductBlock/ProductBlockInner.js.map +1 -1
- package/lib/components/ProductGallery/ProductGallery.d.ts +1 -1
- package/lib/components/ProductGallery/ProductGallery.js.map +1 -1
- package/lib/components/ProductGallery/ProductGalleryContent.d.ts +17 -2
- package/lib/components/ProductTile/ProductTileContent.d.ts +6 -2
- package/lib/components/PromoTile/PromoTileContent.d.ts +6 -2
- package/lib/components/StepsBlock/StepsBlockContent.d.ts +13 -0
- package/lib/components/TextBlock/TextBlockContent.d.ts +13 -0
- package/lib/components/Tile/TileContent.d.ts +5 -2
- package/lib/hooks/useLink.d.ts +3 -3
- package/lib/hooks/useLink.js.map +1 -1
- package/lib/index.d.ts +12 -12
- package/lib/index.js +5 -5
- package/lib/index.js.map +1 -1
- package/lib/mergeTopItems.d.ts +2 -2
- package/lib/mergeTopItems.js.map +1 -1
- package/lib/model/BlockVersion.d.ts +4 -0
- package/lib/model/ButtonVersion.d.ts +4 -0
- package/lib/model/LinkProps.d.ts +21 -0
- package/lib/model/LinkProps.js +2 -0
- package/lib/model/LinkProps.js.map +1 -0
- package/lib/model/Picture.d.ts +11 -0
- package/lib/model/SitemapProps.d.ts +13 -0
- package/lib/model/SitemapProps.js +2 -0
- package/lib/model/SitemapProps.js.map +1 -0
- package/lib/types.d.ts +2 -2
- package/lib/ui-kit/Breadcrumb.d.ts +2 -2
- package/lib/ui-kit/Button/Button.d.ts +6 -3
- package/lib/ui-kit/Button/Button.js.map +1 -1
- package/lib/ui-kit/Button/ButtonProps.d.ts +15 -12
- package/lib/ui-kit/Icon/Icon.js +7 -1
- package/lib/ui-kit/Icon/Icon.js.map +1 -1
- package/lib/ui-kit/Icon/IconProps.d.ts +50 -19
- package/lib/ui-kit/Icon/IconProps.js +21 -18
- package/lib/ui-kit/Icon/IconProps.js.map +1 -1
- package/lib/ui-kit/TopItem/TopItem.d.ts +2 -2
- package/package.json +17 -36
- package/src/components/Accordion/Accordion.example.json +74 -0
- package/src/components/Accordion/Accordion.fixture.tsx +1 -16
- package/src/components/Accordion/Accordion.tsx +1 -1
- package/src/components/Accordion/AccordionContent.ts +31 -11
- package/src/components/Accordion/AccordionItem.tsx +10 -10
- package/src/components/BaseTile/BaseTile.tsx +4 -5
- package/src/components/BaseTile/BaseTileProps.ts +33 -0
- package/src/components/BenefitsBlock/BenefitsBlock.example.json +13 -0
- package/src/components/BenefitsBlock/BenefitsBlock.tsx +3 -2
- package/src/components/BenefitsBlock/BenefitsBlockContent.ts +14 -1
- package/src/components/BlockContent.ts +4 -1
- package/src/components/ComparisonTable/ComparisonTable.example.json +84 -0
- package/src/components/ComparisonTable/ComparisonTableContent.ts +46 -3
- package/src/components/ComparisonTable/HeaderCell.tsx +2 -2
- package/src/components/ContentPage/ContentPage.tsx +7 -5
- package/src/components/CreditCalculator/CreditCalculatorContent.ts +4 -0
- package/src/components/ExchangeRateTile/ExchangeRateTile.tsx +2 -2
- package/src/components/ExchangeRateTile/ExchangeRateTileContent.ts +4 -0
- package/src/components/Footer/Contacts.tsx +2 -2
- package/src/components/Footer/FooterContent.ts +36 -9
- package/src/components/Footer/FooterLink.ts +2 -2
- package/src/components/Footer/HorizontalNavigation.tsx +2 -2
- package/src/components/Footer/Sitemap.tsx +5 -5
- package/src/components/Footer/SocialMedia.tsx +5 -12
- package/src/components/Footer/TextInformation.tsx +2 -2
- package/src/components/Gallery/Gallery.example.json +71 -0
- package/src/components/Gallery/GalleryContent.ts +13 -0
- package/src/components/Header/HeaderContent.ts +10 -2
- package/src/components/Header/HeaderSecondaryMenu.tsx +4 -8
- package/src/components/Header/HeaderSecondaryMenuButton.tsx +1 -1
- package/src/components/Header/isSubItemActive.ts +3 -3
- package/src/components/Header/isTopItemActive.ts +3 -3
- package/src/components/MiniGallery/MiniGallery.example.json +61 -0
- package/src/components/MiniGallery/MiniGallery.tsx +3 -3
- package/src/components/MiniGallery/MiniGalleryContent.ts +6 -0
- package/src/components/MobileAppTile/MobileAppTile.example.json +20 -0
- package/src/components/MobileAppTile/MobileAppTileContent.ts +11 -2
- package/src/components/Placeholder/PlaceholderContent.ts +3 -0
- package/src/components/ProductBlock/ProductBlock.example.json +17 -0
- package/src/components/ProductBlock/ProductBlock.mobile.tsx +3 -3
- package/src/components/ProductBlock/ProductBlockContent.ts +10 -5
- package/src/components/ProductBlock/ProductBlockInner.tsx +4 -4
- package/src/components/ProductGallery/ProductGallery.example.json +21 -0
- package/src/components/ProductGallery/ProductGallery.tsx +3 -3
- package/src/components/ProductGallery/ProductGalleryContent.ts +17 -2
- package/src/components/ProductTile/ProductTile.example.json +30 -0
- package/src/components/ProductTile/ProductTileContent.ts +6 -2
- package/src/components/PromoTile/PromoTile.example.json +13 -0
- package/src/components/PromoTile/PromoTileContent.ts +6 -2
- package/src/components/StepsBlock/StepsBlock.example.json +17 -0
- package/src/components/StepsBlock/StepsBlockContent.ts +13 -0
- package/src/components/TextBlock/TextBlock.example.json +6 -0
- package/src/components/TextBlock/TextBlockContent.ts +14 -0
- package/src/components/Tile/Tile.example.json +18 -0
- package/src/components/Tile/TileContent.ts +5 -2
- package/src/hooks/useLink.ts +2 -2
- package/src/icons/GridIcon.svg +4 -7
- package/src/index.ts +14 -21
- package/src/mergeTopItems.ts +5 -5
- package/src/model/BlockVersion.ts +4 -0
- package/src/model/ButtonVersion.ts +4 -0
- package/src/model/LinkProps.ts +22 -0
- package/src/model/Picture.ts +11 -0
- package/src/model/SitemapProps.ts +15 -0
- package/src/types.ts +2 -2
- package/src/ui-kit/Breadcrumb.tsx +2 -2
- package/src/ui-kit/Button/Button.tsx +7 -3
- package/src/ui-kit/Button/ButtonProps.ts +16 -13
- package/src/ui-kit/Icon/Icon.tsx +23 -9
- package/src/ui-kit/Icon/IconProps.ts +36 -5
- package/src/ui-kit/TopItem/TopItem.tsx +2 -2
- package/dist/components/BaseTile/BaseTileContent.d.ts +0 -13
- package/dist/components/BaseTile/BaseTileContent.js.map +0 -1
- package/dist/model/LinkContent.d.ts +0 -5
- package/dist/model/LinkContent.js.map +0 -1
- package/dist/model/SitemapContent.d.ts +0 -7
- package/dist/model/SitemapContent.js.map +0 -1
- package/lib/components/BaseTile/BaseTileContent.d.ts +0 -13
- package/lib/components/BaseTile/BaseTileContent.js +0 -2
- package/lib/components/BaseTile/BaseTileContent.js.map +0 -1
- package/lib/model/LinkContent.d.ts +0 -5
- package/lib/model/LinkContent.js +0 -2
- package/lib/model/LinkContent.js.map +0 -1
- package/lib/model/SitemapContent.d.ts +0 -7
- package/lib/model/SitemapContent.js +0 -2
- package/lib/model/SitemapContent.js.map +0 -1
- package/src/components/BaseTile/BaseTileContent.ts +0 -14
- package/src/model/LinkContent.ts +0 -5
- package/src/model/SitemapContent.ts +0 -9
|
@@ -1,15 +1,28 @@
|
|
|
1
1
|
import type { Picture } from '../../model/Picture';
|
|
2
2
|
|
|
3
|
+
/**
|
|
4
|
+
* @title Карточка
|
|
5
|
+
*/
|
|
3
6
|
export interface GalleryCard {
|
|
7
|
+
/** @title Заголовок */
|
|
4
8
|
title?: string;
|
|
9
|
+
/** @title Описание */
|
|
5
10
|
description?: string;
|
|
6
11
|
image?: Picture;
|
|
12
|
+
/** @title Ссылка */
|
|
7
13
|
href?: string;
|
|
14
|
+
/** @title Список */
|
|
8
15
|
items?: string[];
|
|
9
16
|
}
|
|
10
17
|
|
|
18
|
+
/**
|
|
19
|
+
* @title Галерея
|
|
20
|
+
*/
|
|
11
21
|
export interface GalleryContent {
|
|
22
|
+
/** @title Заголовок */
|
|
12
23
|
title?: string;
|
|
24
|
+
/** @title Описание */
|
|
13
25
|
description?: string;
|
|
26
|
+
/** @title Карточки */
|
|
14
27
|
cards?: GalleryCard[];
|
|
15
28
|
}
|
|
@@ -1,5 +1,13 @@
|
|
|
1
|
-
import {
|
|
1
|
+
import type { SitemapProps } from '../../model/SitemapProps';
|
|
2
2
|
|
|
3
|
-
|
|
3
|
+
/**
|
|
4
|
+
* @title Шапка
|
|
5
|
+
* @required ["defaultLocation", "topItems"]
|
|
6
|
+
*/
|
|
7
|
+
export interface HeaderContent extends SitemapProps {
|
|
8
|
+
/**
|
|
9
|
+
* @title Город по-умолчанию
|
|
10
|
+
* @default Москва
|
|
11
|
+
*/
|
|
4
12
|
defaultLocation?: string;
|
|
5
13
|
}
|
|
@@ -36,23 +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
|
-
<Icon name="LoupeIcon" aria-hidden="true" />
|
|
39
|
+
<Icon name="LoupeIcon" aria-hidden="true" className="h-full" asSVG />
|
|
40
40
|
</HeaderSecondaryMenuButton>
|
|
41
41
|
<HeaderSecondaryMenuButton
|
|
42
42
|
className="mr-5 text-primary-text hover:text-primary-main"
|
|
43
43
|
ariaLabel="Профиль"
|
|
44
44
|
>
|
|
45
|
-
<Icon name="ProfileIcon" aria-hidden="true" />
|
|
45
|
+
<Icon name="ProfileIcon" aria-hidden="true" className="h-full" asSVG />
|
|
46
46
|
</HeaderSecondaryMenuButton>
|
|
47
47
|
<HeaderSecondaryMenuButton
|
|
48
|
-
className="
|
|
48
|
+
className="min-w-[32px] min-h-[32px] fill-secondary-light hover:fill-secondary-hover"
|
|
49
49
|
ariaLabel="Дополнительные ссылки"
|
|
50
50
|
>
|
|
51
|
-
<Icon
|
|
52
|
-
name="GridIcon"
|
|
53
|
-
aria-hidden="true"
|
|
54
|
-
className="[&>*]:fill-secondary-light [&>*]:hover:fill-primary-main"
|
|
55
|
-
/>
|
|
51
|
+
<Icon name="GridIcon" aria-hidden="true" className="h-full" asSVG />
|
|
56
52
|
</HeaderSecondaryMenuButton>
|
|
57
53
|
</div>
|
|
58
54
|
);
|
|
@@ -9,7 +9,7 @@ export const HeaderSecondaryMenuButton = JSX<HeaderSecondaryMenuButtonProps>(
|
|
|
9
9
|
({ className, children, ariaLabel }) => (
|
|
10
10
|
<button
|
|
11
11
|
type="button"
|
|
12
|
-
className={`border-0 p-0 w-[24px] flex items-center bg-inherit cursor-pointer ${
|
|
12
|
+
className={`border-0 p-0 w-[24px] h-[24px] flex items-center bg-inherit cursor-pointer ${
|
|
13
13
|
className || ''
|
|
14
14
|
}`}
|
|
15
15
|
disabled={true}
|
|
@@ -1,7 +1,7 @@
|
|
|
1
|
-
import type {
|
|
2
|
-
import type { LinkContent } from '../../model/LinkContent';
|
|
1
|
+
import type { LinkProps } from '../../model/LinkProps';
|
|
3
2
|
import { isHrefActive } from '../../utils/url';
|
|
3
|
+
import type { Router } from '../ContentPage/ContentPageContext';
|
|
4
4
|
|
|
5
5
|
export function isSubItemActive(router: Router) {
|
|
6
|
-
return (subItem:
|
|
6
|
+
return (subItem: LinkProps): boolean => isHrefActive(subItem.href, router);
|
|
7
7
|
}
|
|
@@ -1,8 +1,8 @@
|
|
|
1
|
-
import type {
|
|
2
|
-
import type { LinkContent } from '../../model/LinkContent';
|
|
1
|
+
import type { LinkProps } from '../../model/LinkProps';
|
|
3
2
|
import { isHrefActive } from '../../utils/url';
|
|
3
|
+
import type { Router } from '../ContentPage/ContentPageContext';
|
|
4
4
|
|
|
5
5
|
export function isTopItemActive(router: Router) {
|
|
6
|
-
return (topItem:
|
|
6
|
+
return (topItem: LinkProps): boolean =>
|
|
7
7
|
isHrefActive(topItem.href, router, (topItemHref, baseHref) => baseHref.startsWith(topItemHref));
|
|
8
8
|
}
|
|
@@ -0,0 +1,61 @@
|
|
|
1
|
+
{
|
|
2
|
+
"title": "Мини-галерея",
|
|
3
|
+
"description": "Описание",
|
|
4
|
+
"cards": [
|
|
5
|
+
{
|
|
6
|
+
"image": {
|
|
7
|
+
"format": "webp",
|
|
8
|
+
"size": {
|
|
9
|
+
"width": 120,
|
|
10
|
+
"height": 70
|
|
11
|
+
}
|
|
12
|
+
},
|
|
13
|
+
"title": "Заголовок 1",
|
|
14
|
+
"description": "Описание 1"
|
|
15
|
+
},
|
|
16
|
+
{
|
|
17
|
+
"image": {
|
|
18
|
+
"format": "webp",
|
|
19
|
+
"size": {
|
|
20
|
+
"width": 120,
|
|
21
|
+
"height": 70
|
|
22
|
+
}
|
|
23
|
+
},
|
|
24
|
+
"title": "Заголовок 2",
|
|
25
|
+
"description": "Описание 2"
|
|
26
|
+
},
|
|
27
|
+
{
|
|
28
|
+
"image": {
|
|
29
|
+
"format": "webp",
|
|
30
|
+
"size": {
|
|
31
|
+
"width": 120,
|
|
32
|
+
"height": 70
|
|
33
|
+
}
|
|
34
|
+
},
|
|
35
|
+
"title": "Заголовок 3",
|
|
36
|
+
"description": "Описание 3"
|
|
37
|
+
},
|
|
38
|
+
{
|
|
39
|
+
"image": {
|
|
40
|
+
"format": "webp",
|
|
41
|
+
"size": {
|
|
42
|
+
"width": 120,
|
|
43
|
+
"height": 70
|
|
44
|
+
}
|
|
45
|
+
},
|
|
46
|
+
"title": "Заголовок 4",
|
|
47
|
+
"description": "Описание 4"
|
|
48
|
+
},
|
|
49
|
+
{
|
|
50
|
+
"image": {
|
|
51
|
+
"format": "webp",
|
|
52
|
+
"size": {
|
|
53
|
+
"width": 120,
|
|
54
|
+
"height": 70
|
|
55
|
+
}
|
|
56
|
+
},
|
|
57
|
+
"title": "Заголовок 5",
|
|
58
|
+
"description": "Описание 5"
|
|
59
|
+
}
|
|
60
|
+
]
|
|
61
|
+
}
|
|
@@ -1,9 +1,9 @@
|
|
|
1
1
|
import { JSX } from '@redneckz/uni-jsx';
|
|
2
|
-
import {
|
|
2
|
+
import type { UniBlockProps } from '../../types';
|
|
3
3
|
import { GalleryInner } from '../Gallery/GalleryInner';
|
|
4
|
-
import {
|
|
4
|
+
import type { MiniGalleryContent } from './MiniGalleryContent';
|
|
5
5
|
|
|
6
|
-
export interface MiniGalleryProps extends
|
|
6
|
+
export interface MiniGalleryProps extends MiniGalleryContent, UniBlockProps {}
|
|
7
7
|
|
|
8
8
|
export const MiniGallery = JSX<MiniGalleryProps>((props) => (
|
|
9
9
|
<GalleryInner {...props} version="mini" />
|
|
@@ -0,0 +1,20 @@
|
|
|
1
|
+
{
|
|
2
|
+
"qr": {
|
|
3
|
+
"href": "https://rshbnaturaldbo.onelink.me/qhkF/f182074f?af_qr=true",
|
|
4
|
+
"src": "data:image/png;base64,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"
|
|
5
|
+
},
|
|
6
|
+
"buttons": [
|
|
7
|
+
{
|
|
8
|
+
"aboveText": "Загрузите в",
|
|
9
|
+
"text": "App Store",
|
|
10
|
+
"icon": "AppleIcon",
|
|
11
|
+
"version": "secondary"
|
|
12
|
+
},
|
|
13
|
+
{
|
|
14
|
+
"aboveText": "Доступно в",
|
|
15
|
+
"text": "Google Play",
|
|
16
|
+
"icon": "PlayMarketIcon",
|
|
17
|
+
"version": "secondary"
|
|
18
|
+
}
|
|
19
|
+
]
|
|
20
|
+
}
|
|
@@ -1,11 +1,20 @@
|
|
|
1
|
-
import type {
|
|
1
|
+
import type { BaseTileCommonProps } from '../BaseTile/BaseTileProps';
|
|
2
2
|
|
|
3
|
+
/**
|
|
4
|
+
* @title QR код
|
|
5
|
+
*/
|
|
3
6
|
export interface QRCode {
|
|
7
|
+
/** @title QR код */
|
|
4
8
|
src?: string;
|
|
9
|
+
/** @title Ссылка */
|
|
5
10
|
href?: string;
|
|
6
11
|
}
|
|
7
12
|
|
|
8
|
-
|
|
13
|
+
/**
|
|
14
|
+
* @title Мобильное приложение
|
|
15
|
+
*/
|
|
16
|
+
export interface MobileAppTileContent extends BaseTileCommonProps {
|
|
17
|
+
/** @title Заголовок */
|
|
9
18
|
title?: string;
|
|
10
19
|
qr?: QRCode;
|
|
11
20
|
}
|
|
@@ -0,0 +1,17 @@
|
|
|
1
|
+
{
|
|
2
|
+
"title": "Продукт",
|
|
3
|
+
"description": "Описание",
|
|
4
|
+
"image": {
|
|
5
|
+
"format": "webp",
|
|
6
|
+
"size": {
|
|
7
|
+
"width": 300
|
|
8
|
+
}
|
|
9
|
+
},
|
|
10
|
+
"items": ["Элемент списка 1", "Элемент списка 2", "Элемент списка 3"],
|
|
11
|
+
"buttons": [
|
|
12
|
+
{
|
|
13
|
+
"text": "Подробнее",
|
|
14
|
+
"version": "secondary"
|
|
15
|
+
}
|
|
16
|
+
]
|
|
17
|
+
}
|
|
@@ -1,9 +1,9 @@
|
|
|
1
1
|
import { JSX } from '@redneckz/uni-jsx';
|
|
2
|
-
import { ProductBlockInner } from './ProductBlockInner';
|
|
3
|
-
import type { ProductBlockInnerContent } from './ProductBlockContent';
|
|
4
2
|
import type { UniBlockProps } from '../../types';
|
|
3
|
+
import type { ProductBlockInnerCommonProps } from './ProductBlockContent';
|
|
4
|
+
import { ProductBlockInner } from './ProductBlockInner';
|
|
5
5
|
|
|
6
|
-
export interface ProductBlockProps extends
|
|
6
|
+
export interface ProductBlockProps extends ProductBlockInnerCommonProps, UniBlockProps {}
|
|
7
7
|
|
|
8
8
|
export const ProductBlock = JSX<ProductBlockProps>(
|
|
9
9
|
({ titleSize, image, benefits, ...props } /* Get rid of image and benefits */) => {
|
|
@@ -1,11 +1,16 @@
|
|
|
1
|
-
import type {
|
|
2
|
-
import type {
|
|
1
|
+
import type { LinkProps } from '../../model/LinkProps';
|
|
2
|
+
import type { BaseTileCommonProps } from '../BaseTile/BaseTileProps';
|
|
3
3
|
import type { Benefit } from '../BenefitsBlock/BenefitsBlockContent';
|
|
4
4
|
|
|
5
|
-
export interface
|
|
5
|
+
export interface ProductBlockInnerCommonProps extends BaseTileCommonProps {
|
|
6
|
+
/** @title Преимущества */
|
|
6
7
|
benefits?: Benefit[];
|
|
7
8
|
}
|
|
8
9
|
|
|
9
|
-
|
|
10
|
-
|
|
10
|
+
/**
|
|
11
|
+
* @title Продуктовый блок
|
|
12
|
+
*/
|
|
13
|
+
export interface ProductBlockContent extends ProductBlockInnerCommonProps {
|
|
14
|
+
/** @title Хлебные крошки */
|
|
15
|
+
breadcrumbs?: LinkProps[];
|
|
11
16
|
}
|
|
@@ -1,13 +1,13 @@
|
|
|
1
1
|
import { JSX } from '@redneckz/uni-jsx';
|
|
2
|
-
import { BaseTile } from '../BaseTile/BaseTile';
|
|
3
|
-
import type { Benefit } from '../BenefitsBlock/BenefitsBlockContent';
|
|
4
|
-
import type { ProductBlockInnerContent } from './ProductBlockContent';
|
|
5
2
|
import type { UniBlockProps } from '../../types';
|
|
6
3
|
import { Icon } from '../../ui-kit/Icon/Icon';
|
|
7
4
|
import { Img } from '../../ui-kit/Img';
|
|
8
5
|
import { Title } from '../../ui-kit/Title/Title';
|
|
6
|
+
import { BaseTile } from '../BaseTile/BaseTile';
|
|
7
|
+
import type { Benefit } from '../BenefitsBlock/BenefitsBlockContent';
|
|
8
|
+
import type { ProductBlockInnerCommonProps } from './ProductBlockContent';
|
|
9
9
|
|
|
10
|
-
export interface ProductBlockInnerProps extends
|
|
10
|
+
export interface ProductBlockInnerProps extends ProductBlockInnerCommonProps, UniBlockProps {}
|
|
11
11
|
|
|
12
12
|
export const ProductBlockInner = JSX<ProductBlockInnerProps>(
|
|
13
13
|
({ className, context, title, titleSize, description, benefits, buttons, image, items }) => {
|
|
@@ -0,0 +1,21 @@
|
|
|
1
|
+
{
|
|
2
|
+
"slides": [
|
|
3
|
+
{
|
|
4
|
+
"nav": {
|
|
5
|
+
"title": "Заголовок",
|
|
6
|
+
"desc": "Описание"
|
|
7
|
+
},
|
|
8
|
+
"productBlock": {
|
|
9
|
+
"title": "Продуктовая галерея",
|
|
10
|
+
"image": {
|
|
11
|
+
"format": "webp",
|
|
12
|
+
"size": {
|
|
13
|
+
"width": 300
|
|
14
|
+
}
|
|
15
|
+
},
|
|
16
|
+
"description": "Описание",
|
|
17
|
+
"items": ["Элемент списка 1", "Элемент списка 2", "Элемент списка 3"]
|
|
18
|
+
}
|
|
19
|
+
}
|
|
20
|
+
]
|
|
21
|
+
}
|
|
@@ -1,8 +1,8 @@
|
|
|
1
1
|
import { JSX } from '@redneckz/uni-jsx';
|
|
2
|
+
import type { UniBlockProps } from '../../types';
|
|
3
|
+
import type { ProductBlockInnerCommonProps } from '../ProductBlock/ProductBlockContent';
|
|
2
4
|
import { ProductBlockInner } from '../ProductBlock/ProductBlockInner';
|
|
3
|
-
import type { ProductBlockInnerContent } from '../ProductBlock/ProductBlockContent';
|
|
4
5
|
import type { ProductGalleryContent } from './ProductGalleryContent';
|
|
5
|
-
import type { UniBlockProps } from '../../types';
|
|
6
6
|
|
|
7
7
|
export interface ProductGalleryProps extends ProductGalleryContent, UniBlockProps {}
|
|
8
8
|
|
|
@@ -38,7 +38,7 @@ export const ProductGallery = JSX<ProductGalleryProps>(
|
|
|
38
38
|
},
|
|
39
39
|
);
|
|
40
40
|
|
|
41
|
-
function renderProductBlock(block:
|
|
41
|
+
function renderProductBlock(block: ProductBlockInnerCommonProps, i: number, context) {
|
|
42
42
|
return (
|
|
43
43
|
<section key={String(i)} className="flex grow-0 shrink-0 basis-full" role="listitem">
|
|
44
44
|
<div className="p-10 flex grow">
|
|
@@ -1,16 +1,31 @@
|
|
|
1
|
-
import type {
|
|
1
|
+
import type { ProductBlockInnerCommonProps } from '../ProductBlock/ProductBlockContent';
|
|
2
2
|
|
|
3
|
+
/** @title Кнопка под слайдом */
|
|
3
4
|
interface ProductGalleryNav {
|
|
5
|
+
/** @title Заголовок */
|
|
4
6
|
title: string;
|
|
7
|
+
/** @title Описание */
|
|
5
8
|
desc: string;
|
|
6
9
|
}
|
|
7
10
|
|
|
11
|
+
/**
|
|
12
|
+
* @title Слайд
|
|
13
|
+
*/
|
|
8
14
|
export interface ProductSlideContent {
|
|
9
15
|
nav: ProductGalleryNav;
|
|
10
|
-
|
|
16
|
+
/** @title Содержимое слайда */
|
|
17
|
+
productBlock: ProductBlockInnerCommonProps;
|
|
11
18
|
}
|
|
12
19
|
|
|
20
|
+
/**
|
|
21
|
+
* @title Продуктовая галерея
|
|
22
|
+
*/
|
|
13
23
|
export interface ProductGalleryContent {
|
|
24
|
+
/**
|
|
25
|
+
* @title Задержка
|
|
26
|
+
* @hidden //! temporary not used
|
|
27
|
+
*/
|
|
14
28
|
duration?: number;
|
|
29
|
+
/** @title Слайды */
|
|
15
30
|
slides?: ProductSlideContent[];
|
|
16
31
|
}
|
|
@@ -0,0 +1,30 @@
|
|
|
1
|
+
{
|
|
2
|
+
"title": "Продуктовая плитка",
|
|
3
|
+
"description": "Описание",
|
|
4
|
+
"image": {
|
|
5
|
+
"format": "webp",
|
|
6
|
+
"size": {
|
|
7
|
+
"width": 300
|
|
8
|
+
}
|
|
9
|
+
},
|
|
10
|
+
"benefits": [
|
|
11
|
+
{
|
|
12
|
+
"label": "Преимущество 1",
|
|
13
|
+
"description": "Описание"
|
|
14
|
+
},
|
|
15
|
+
{
|
|
16
|
+
"label": "Преимущество 2",
|
|
17
|
+
"description": "Описание"
|
|
18
|
+
},
|
|
19
|
+
{
|
|
20
|
+
"label": "Преимущество 3",
|
|
21
|
+
"description": "Описание"
|
|
22
|
+
}
|
|
23
|
+
],
|
|
24
|
+
"buttons": [
|
|
25
|
+
{
|
|
26
|
+
"text": "Подробнее",
|
|
27
|
+
"version": "primary"
|
|
28
|
+
}
|
|
29
|
+
]
|
|
30
|
+
}
|
|
@@ -1,6 +1,10 @@
|
|
|
1
|
-
import type {
|
|
1
|
+
import type { BaseTileCommonProps } from '../BaseTile/BaseTileProps';
|
|
2
2
|
import type { Benefit } from '../BenefitsBlock/BenefitsBlockContent';
|
|
3
3
|
|
|
4
|
-
|
|
4
|
+
/**
|
|
5
|
+
* @title Продуктовая плитка
|
|
6
|
+
*/
|
|
7
|
+
export interface ProductTileContent extends BaseTileCommonProps {
|
|
8
|
+
/** @title Преимущества */
|
|
5
9
|
benefits?: Benefit[];
|
|
6
10
|
}
|
|
@@ -0,0 +1,13 @@
|
|
|
1
|
+
{
|
|
2
|
+
"title": "Акции и спецпредложения",
|
|
3
|
+
"date": "2022-04-16",
|
|
4
|
+
"description": "Пенсионный кредит по специальной процентной ставке",
|
|
5
|
+
"buttons": [
|
|
6
|
+
{
|
|
7
|
+
"text": "Все акции",
|
|
8
|
+
"href": "/credits",
|
|
9
|
+
"version": "secondary"
|
|
10
|
+
}
|
|
11
|
+
],
|
|
12
|
+
"version": "secondary"
|
|
13
|
+
}
|
|
@@ -1,5 +1,9 @@
|
|
|
1
|
-
import type {
|
|
1
|
+
import type { BaseTileCommonProps } from '../BaseTile/BaseTileProps';
|
|
2
2
|
|
|
3
|
-
|
|
3
|
+
/**
|
|
4
|
+
* @title Акции
|
|
5
|
+
*/
|
|
6
|
+
export interface PromoTileContent extends BaseTileCommonProps {
|
|
7
|
+
/** @title Дата публикации */
|
|
4
8
|
date?: string;
|
|
5
9
|
}
|
|
@@ -1,12 +1,25 @@
|
|
|
1
1
|
import type { IconName } from '../../ui-kit/Icon/IconProps';
|
|
2
2
|
|
|
3
|
+
/**
|
|
4
|
+
* @title Шаг
|
|
5
|
+
*/
|
|
3
6
|
export interface Step {
|
|
7
|
+
/** @title Название */
|
|
4
8
|
label: string;
|
|
9
|
+
/** @title Описание */
|
|
5
10
|
description?: string;
|
|
6
11
|
icon?: IconName;
|
|
7
12
|
}
|
|
8
13
|
|
|
14
|
+
/**
|
|
15
|
+
* @title Блок шаги
|
|
16
|
+
*/
|
|
9
17
|
export interface StepsBlockContent {
|
|
18
|
+
/** @title Заголовок */
|
|
10
19
|
title?: string;
|
|
20
|
+
/**
|
|
21
|
+
* @title Шаги
|
|
22
|
+
* @maxItems 6
|
|
23
|
+
*/
|
|
11
24
|
steps?: Step[];
|
|
12
25
|
}
|
|
@@ -1,10 +1,24 @@
|
|
|
1
1
|
import type { Picture } from '../../model/Picture';
|
|
2
2
|
|
|
3
|
+
/**
|
|
4
|
+
* @title Цвет плитки
|
|
5
|
+
* @enumNames ["Основная", "Второстепенная", "Второстепенная прозрачная"]
|
|
6
|
+
*/
|
|
3
7
|
export type TextBlockVersion = 'primary' | 'secondary' | 'secondary-light';
|
|
8
|
+
|
|
9
|
+
/**
|
|
10
|
+
* @title Размер иконки
|
|
11
|
+
* @enumNames ["Нет", "Маленькая", "Большая"]
|
|
12
|
+
*/
|
|
4
13
|
export type TextBlockIconVersion = 'none' | 'small' | 'big';
|
|
5
14
|
|
|
15
|
+
/**
|
|
16
|
+
* @title Текстовый блок
|
|
17
|
+
*/
|
|
6
18
|
export interface TextBlockContent {
|
|
19
|
+
/** @title Заголовок */
|
|
7
20
|
title?: string;
|
|
21
|
+
/** @title Описание */
|
|
8
22
|
description?: string;
|
|
9
23
|
blockVersion?: TextBlockVersion;
|
|
10
24
|
iconVersion?: TextBlockIconVersion;
|
|
@@ -0,0 +1,18 @@
|
|
|
1
|
+
{
|
|
2
|
+
"title": "Плитка",
|
|
3
|
+
"titleSize": "M",
|
|
4
|
+
"description": "Описание",
|
|
5
|
+
"image": {
|
|
6
|
+
"format": "webp",
|
|
7
|
+
"size": {
|
|
8
|
+
"width": 300
|
|
9
|
+
}
|
|
10
|
+
},
|
|
11
|
+
"items": ["Пункт 1", "Пункт 2", "Пункт 3"],
|
|
12
|
+
"buttons": [
|
|
13
|
+
{
|
|
14
|
+
"text": "Подробнее",
|
|
15
|
+
"version": "primary"
|
|
16
|
+
}
|
|
17
|
+
]
|
|
18
|
+
}
|
package/src/hooks/useLink.ts
CHANGED
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
import { HandlerDecorator, Router } from '../components/ContentPage/ContentPageContext';
|
|
2
|
-
import type {
|
|
2
|
+
import type { LinkProps } from '../model/LinkProps';
|
|
3
3
|
import { adjustHref, isURL } from '../utils/url';
|
|
4
4
|
|
|
5
5
|
const defaultHandlerDecorator: HandlerDecorator = (handler, targetContent) => handler;
|
|
@@ -9,7 +9,7 @@ export function useLink(
|
|
|
9
9
|
router,
|
|
10
10
|
handlerDecorator = defaultHandlerDecorator,
|
|
11
11
|
}: { router: Router; handlerDecorator?: HandlerDecorator },
|
|
12
|
-
link: Partial<
|
|
12
|
+
link: Partial<LinkProps & { className: string }>,
|
|
13
13
|
) {
|
|
14
14
|
const href = adjustHref(link.href, router);
|
|
15
15
|
return {
|
package/src/icons/GridIcon.svg
CHANGED
|
@@ -1,7 +1,4 @@
|
|
|
1
|
-
<svg id="icon" xmlns="http://www.w3.org/2000/svg" viewBox="0 0 32
|
|
2
|
-
|
|
3
|
-
|
|
4
|
-
|
|
5
|
-
d="M13 11.5a1.5 1.5 0 1 1-3 0 1.5 1.5 0 0 1 3 0ZM13 16.5a1.5 1.5 0 1 1-3 0 1.5 1.5 0 0 1 3 0ZM11.5 23a1.5 1.5 0 1 0 0-3 1.5 1.5 0 0 0 0 3ZM18 11.5a1.5 1.5 0 1 1-3 0 1.5 1.5 0 0 1 3 0ZM16.5 18a1.5 1.5 0 1 0 0-3 1.5 1.5 0 0 0 0 3ZM18 21.5a1.5 1.5 0 1 1-3 0 1.5 1.5 0 0 1 3 0ZM21.5 13a1.5 1.5 0 1 0 0-3 1.5 1.5 0 0 0 0 3ZM23 16.5a1.5 1.5 0 1 1-3 0 1.5 1.5 0 0 1 3 0ZM21.5 23a1.5 1.5 0 1 0 0-3 1.5 1.5 0 0 0 0 3Z"
|
|
6
|
-
/>
|
|
7
|
-
</svg>
|
|
1
|
+
<svg id="icon" xmlns="http://www.w3.org/2000/svg" viewBox="0 0 32 33">
|
|
2
|
+
<rect width="32" height="32" y=".5" rx="16"/>
|
|
3
|
+
<path fill="#1C1C1C" d="M13 11.5a1.5 1.5 0 1 1-3 0 1.5 1.5 0 0 1 3 0ZM13 16.5a1.5 1.5 0 1 1-3 0 1.5 1.5 0 0 1 3 0ZM11.5 23a1.5 1.5 0 1 0 0-3 1.5 1.5 0 0 0 0 3ZM18 11.5a1.5 1.5 0 1 1-3 0 1.5 1.5 0 0 1 3 0ZM16.5 18a1.5 1.5 0 1 0 0-3 1.5 1.5 0 0 0 0 3ZM18 21.5a1.5 1.5 0 1 1-3 0 1.5 1.5 0 0 1 3 0ZM21.5 13a1.5 1.5 0 1 0 0-3 1.5 1.5 0 0 0 0 3ZM23 16.5a1.5 1.5 0 1 1-3 0 1.5 1.5 0 0 1 3 0ZM21.5 23a1.5 1.5 0 1 0 0-3 1.5 1.5 0 0 0 0 3Z"/>
|
|
4
|
+
</svg>
|