@redneckz/wildless-cms-uni-blocks 0.2.84 → 0.2.87
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 +551 -487
- 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/AccordionBlocks.d.ts +3 -0
- package/dist/components/Accordion/AccordionBlocks.js +6 -0
- package/dist/components/Accordion/AccordionBlocks.js.map +1 -1
- package/dist/components/Accordion/AccordionContent.d.ts +37 -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 +14 -4
- package/dist/components/BaseTile/BaseTile.js.map +1 -1
- package/dist/components/BaseTile/BaseTileProps.d.ts +41 -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 +7 -2
- package/dist/components/Blocks.d.ts +17 -14
- package/dist/components/Blocks.js +23 -17
- package/dist/components/Blocks.js.map +1 -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/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/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/Headline/Headline.d.ts +5 -0
- package/dist/components/Headline/Headline.js +9 -0
- package/dist/components/Headline/Headline.js.map +1 -0
- package/dist/components/Headline/HeadlineContent.d.ts +15 -0
- package/dist/components/{BaseTile/BaseTileContent.js → Headline/HeadlineContent.js} +1 -1
- package/dist/components/Headline/HeadlineContent.js.map +1 -0
- package/dist/components/LinkDocs/LinkDocs.d.ts +5 -0
- package/dist/components/LinkDocs/LinkDocs.js +42 -0
- package/dist/components/LinkDocs/LinkDocs.js.map +1 -0
- package/dist/components/LinkDocs/LinkDocsContent.d.ts +23 -0
- package/dist/components/LinkDocs/LinkDocsContent.js +2 -0
- package/dist/components/LinkDocs/LinkDocsContent.js.map +1 -0
- 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/MobileBlocks.d.ts +8 -6
- package/dist/components/MobileBlocks.js +10 -6
- package/dist/components/MobileBlocks.js.map +1 -1
- package/dist/components/PictureText/PictureText.d.ts +5 -0
- package/dist/components/PictureText/PictureText.js +14 -0
- package/dist/components/PictureText/PictureText.js.map +1 -0
- package/dist/components/PictureText/PictureTextContent.d.ts +11 -0
- package/dist/components/PictureText/PictureTextContent.js +2 -0
- package/dist/components/PictureText/PictureTextContent.js.map +1 -0
- 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 +19 -4
- 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/model/SitemapProps.js +2 -0
- 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/IconProps.d.ts +53 -18
- package/dist/ui-kit/Icon/IconProps.js +23 -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.fixture.d.ts +1 -0
- package/lib/components/Accordion/Accordion.js +1 -1
- package/lib/components/Accordion/Accordion.js.map +1 -1
- package/lib/components/Accordion/AccordionBlocks.d.ts +3 -0
- package/lib/components/Accordion/AccordionBlocks.js +6 -0
- package/lib/components/Accordion/AccordionBlocks.js.map +1 -1
- package/lib/components/Accordion/AccordionContent.d.ts +37 -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 +14 -4
- package/lib/components/BaseTile/BaseTile.js.map +1 -1
- package/lib/components/BaseTile/BaseTileProps.d.ts +41 -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 +7 -2
- package/lib/components/Blocks.d.ts +17 -14
- package/lib/components/Blocks.js +23 -17
- package/lib/components/Blocks.js.map +1 -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/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/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/Headline/Headline.d.ts +5 -0
- package/lib/components/Headline/Headline.fixture.d.ts +7 -0
- package/lib/components/Headline/Headline.js +7 -0
- package/lib/components/Headline/Headline.js.map +1 -0
- package/lib/components/Headline/HeadlineContent.d.ts +15 -0
- package/lib/components/Headline/HeadlineContent.js +2 -0
- package/lib/components/Headline/HeadlineContent.js.map +1 -0
- package/lib/components/LinkDocs/LinkDocs.d.ts +5 -0
- package/lib/components/LinkDocs/LinkDocs.fixture.d.ts +12 -0
- package/lib/components/LinkDocs/LinkDocs.js +40 -0
- package/lib/components/LinkDocs/LinkDocs.js.map +1 -0
- package/lib/components/LinkDocs/LinkDocsContent.d.ts +23 -0
- package/lib/components/LinkDocs/LinkDocsContent.js +2 -0
- package/lib/components/LinkDocs/LinkDocsContent.js.map +1 -0
- 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/MobileBlocks.d.ts +8 -6
- package/lib/components/MobileBlocks.js +10 -6
- package/lib/components/MobileBlocks.js.map +1 -1
- package/lib/components/PictureText/PictureText.d.ts +5 -0
- package/lib/components/PictureText/PictureText.fixture.d.ts +4 -0
- package/lib/components/PictureText/PictureText.js +12 -0
- package/lib/components/PictureText/PictureText.js.map +1 -0
- package/lib/components/PictureText/PictureTextContent.d.ts +11 -0
- package/lib/components/PictureText/PictureTextContent.js +2 -0
- package/lib/components/PictureText/PictureTextContent.js.map +1 -0
- 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 +19 -4
- 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/IconProps.d.ts +53 -18
- package/lib/ui-kit/Icon/IconProps.js +23 -18
- package/lib/ui-kit/Icon/IconProps.js.map +1 -1
- package/lib/ui-kit/TopItem/TopItem.d.ts +2 -2
- package/package.json +2 -22
- package/src/components/Accordion/Accordion.example.json +74 -0
- package/src/components/Accordion/Accordion.fixture.tsx +93 -7
- package/src/components/Accordion/Accordion.tsx +1 -1
- package/src/components/Accordion/AccordionBlocks.tsx +6 -0
- package/src/components/Accordion/AccordionContent.ts +43 -11
- package/src/components/Accordion/AccordionItem.tsx +10 -10
- package/src/components/BaseTile/BaseTile.tsx +22 -9
- package/src/components/BaseTile/BaseTileProps.ts +44 -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 +19 -12
- package/src/components/Blocks.ts +23 -17
- 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.page.json +88 -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 +2 -2
- 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/isSubItemActive.ts +3 -3
- package/src/components/Header/isTopItemActive.ts +3 -3
- package/src/components/Headline/Headline.example.json +6 -0
- package/src/components/Headline/Headline.fixture.tsx +42 -0
- package/src/components/Headline/Headline.tsx +15 -0
- package/src/components/Headline/HeadlineContent.ts +18 -0
- package/src/components/LinkDocs/LinkDocs.fixture.tsx +51 -0
- package/src/components/LinkDocs/LinkDocs.tsx +81 -0
- package/src/components/LinkDocs/LinkDocsContent.ts +26 -0
- 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/MobileBlocks.ts +10 -6
- package/src/components/PictureText/PictureText.example.json +20 -0
- package/src/components/PictureText/PictureText.fixture.tsx +36 -0
- package/src/components/PictureText/PictureText.tsx +45 -0
- package/src/components/PictureText/PictureTextContent.ts +13 -0
- 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 +19 -4
- 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/DiscountShape.svg +7 -0
- package/src/icons/DocIcon.svg +1 -1
- package/src/icons/DocumentText.svg +6 -0
- 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/IconProps.ts +39 -4
- 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/icons/MinusIcon.svg +0 -1
- package/src/icons/PlusIcon.svg +0 -1
- package/src/model/LinkContent.ts +0 -5
- package/src/model/SitemapContent.ts +0 -9
|
@@ -0,0 +1,51 @@
|
|
|
1
|
+
import { LinkDocs } from './LinkDocs';
|
|
2
|
+
import { context } from '../../setup-fixture';
|
|
3
|
+
import type { LinkDocsContent } from './LinkDocsContent';
|
|
4
|
+
|
|
5
|
+
export const LinkDocsFixtureSetOne: LinkDocsContent = {
|
|
6
|
+
title: 'Дополнительные документы',
|
|
7
|
+
icon: 'DocIcon',
|
|
8
|
+
documents: [
|
|
9
|
+
{ text: 'target self', href: '/abc1/cooldoc.doc', target: '_self' },
|
|
10
|
+
{ text: 'target blank', href: '/abc2/wtf.rtf', target: '_blank' },
|
|
11
|
+
{ text: 'GlassIcon', href: '/abc3/map.jpeg' },
|
|
12
|
+
{ text: 'no icon', href: '/abc4' },
|
|
13
|
+
{ text: 'документ 5', href: '/abc5' },
|
|
14
|
+
{ text: 'документ 6', href: '/abc6/abc.pdf' },
|
|
15
|
+
{ text: 'Text text text', href: '/abc7/yolo.png' },
|
|
16
|
+
{
|
|
17
|
+
text: 'Some more generic text, and even more, more text',
|
|
18
|
+
href: '/abc8/archive.zip',
|
|
19
|
+
fileSize: '2.3МБ',
|
|
20
|
+
},
|
|
21
|
+
{ text: 'И ещё немного текста', href: '/abc9/rarniw.rar', fileSize: '666МБ' },
|
|
22
|
+
{
|
|
23
|
+
text: 'Форматируем, сортируем, смотрим как отображается...',
|
|
24
|
+
href: '/abc10/',
|
|
25
|
+
fileSize: '65ГБ',
|
|
26
|
+
},
|
|
27
|
+
],
|
|
28
|
+
};
|
|
29
|
+
|
|
30
|
+
export const LinkDocsFixtureSetTwo: LinkDocsContent = {
|
|
31
|
+
...LinkDocsFixtureSetOne,
|
|
32
|
+
columnsMode: 'single',
|
|
33
|
+
};
|
|
34
|
+
|
|
35
|
+
export const LinkDocsFixtureSetThree: LinkDocsContent = {
|
|
36
|
+
...LinkDocsFixtureSetOne,
|
|
37
|
+
icon: 'GlassIcon',
|
|
38
|
+
title: '',
|
|
39
|
+
};
|
|
40
|
+
|
|
41
|
+
export const LinkDocsFixtureSetFour: LinkDocsContent = {
|
|
42
|
+
...LinkDocsFixtureSetOne,
|
|
43
|
+
icon: undefined,
|
|
44
|
+
};
|
|
45
|
+
|
|
46
|
+
export default {
|
|
47
|
+
'default, 2 columns': <LinkDocs context={context} {...LinkDocsFixtureSetOne} />,
|
|
48
|
+
'one column': <LinkDocs context={context} {...LinkDocsFixtureSetTwo} />,
|
|
49
|
+
'another icon, no extensions': <LinkDocs context={context} {...LinkDocsFixtureSetThree} />,
|
|
50
|
+
'no icon': <LinkDocs context={context} {...LinkDocsFixtureSetFour} />,
|
|
51
|
+
};
|
|
@@ -0,0 +1,81 @@
|
|
|
1
|
+
import { JSX } from '@redneckz/uni-jsx';
|
|
2
|
+
import type { UniBlockProps } from '../../types';
|
|
3
|
+
import { Icon } from '../../ui-kit/Icon/Icon';
|
|
4
|
+
import { Title } from '../../ui-kit/Title/Title';
|
|
5
|
+
import { AlignType } from '../BaseTile/BaseTileProps';
|
|
6
|
+
import type { LinkColumnsMode, LinkDocsContent } from './LinkDocsContent';
|
|
7
|
+
|
|
8
|
+
const titleAlignStyleMap: Record<AlignType, string> = {
|
|
9
|
+
left: 'text-left',
|
|
10
|
+
center: 'text-center',
|
|
11
|
+
right: 'text-right',
|
|
12
|
+
};
|
|
13
|
+
|
|
14
|
+
const titleMarginsStyleMap: Record<LinkColumnsMode, string> = {
|
|
15
|
+
double: 'mb-8',
|
|
16
|
+
single: '',
|
|
17
|
+
};
|
|
18
|
+
|
|
19
|
+
const linkColumnsModeStyleMap: Record<LinkColumnsMode, string> = {
|
|
20
|
+
double: 'gap-x-5 gap-y-[26px] flex-wrap',
|
|
21
|
+
single: 'gap-3.5 flex-col',
|
|
22
|
+
};
|
|
23
|
+
|
|
24
|
+
export interface LinkDocsProps extends LinkDocsContent, UniBlockProps {}
|
|
25
|
+
|
|
26
|
+
export const LinkDocs = JSX<LinkDocsProps>(
|
|
27
|
+
({ className, title, align, documents, icon, columnsMode = 'double' }) => {
|
|
28
|
+
const containerClasses = linkColumnsModeStyleMap[columnsMode];
|
|
29
|
+
|
|
30
|
+
return (
|
|
31
|
+
<section className={`font-sans p-[50px] bg-white ${className}`}>
|
|
32
|
+
{title && (
|
|
33
|
+
<Title
|
|
34
|
+
className={`font-medium m-0 ${titleMarginsStyleMap[columnsMode]} ${
|
|
35
|
+
titleAlignStyleMap[align ?? 'center']
|
|
36
|
+
}`}
|
|
37
|
+
>
|
|
38
|
+
{title}
|
|
39
|
+
</Title>
|
|
40
|
+
)}
|
|
41
|
+
<div className={`flex ${containerClasses}`} role="list">
|
|
42
|
+
{documents?.length
|
|
43
|
+
? documents.map(({ text, fileSize, ...linkProps }) => (
|
|
44
|
+
<a
|
|
45
|
+
className={`group flex items-center text-sm
|
|
46
|
+
text-sm font-sans align-middle items-center text-primary-text no-underline group hover:text-primary-main
|
|
47
|
+
${columnsMode === 'double' ? 'basis-[calc(50%-20px)]' : ''}`}
|
|
48
|
+
role="listitem"
|
|
49
|
+
{...linkProps}
|
|
50
|
+
>
|
|
51
|
+
{icon && <Icon className="mr-3.5" name={icon} width="24px" height="24px" />}
|
|
52
|
+
<span>
|
|
53
|
+
{text}
|
|
54
|
+
<span className="text-secondary-text group-hover:text-primary-main">
|
|
55
|
+
{linkProps?.href && formatSuffix(getExtFromHref(linkProps.href), fileSize)}
|
|
56
|
+
</span>
|
|
57
|
+
</span>
|
|
58
|
+
</a>
|
|
59
|
+
))
|
|
60
|
+
: null}
|
|
61
|
+
</div>
|
|
62
|
+
</section>
|
|
63
|
+
);
|
|
64
|
+
},
|
|
65
|
+
);
|
|
66
|
+
|
|
67
|
+
const getExtFromHref = (href: string) => {
|
|
68
|
+
if (!href) return '';
|
|
69
|
+
|
|
70
|
+
const lastChunk = href.split('.').pop();
|
|
71
|
+
if (!lastChunk || lastChunk.includes('/')) return '';
|
|
72
|
+
|
|
73
|
+
return lastChunk;
|
|
74
|
+
};
|
|
75
|
+
|
|
76
|
+
const formatSuffix = (ext?: string, fileSize?: string) => {
|
|
77
|
+
const prefix = ext || fileSize ? ',' : '';
|
|
78
|
+
const extension = ext ? ` ${ext}` : '';
|
|
79
|
+
const size = fileSize ? ` (${fileSize})` : '';
|
|
80
|
+
return prefix + extension + size;
|
|
81
|
+
};
|
|
@@ -0,0 +1,26 @@
|
|
|
1
|
+
import { LinkProps } from '../../model/LinkProps';
|
|
2
|
+
import type { IconName } from '../../ui-kit/Icon/IconProps';
|
|
3
|
+
import { BaseTileCommonProps } from '../BaseTile/BaseTileProps';
|
|
4
|
+
|
|
5
|
+
/** @title Режим отображения списка */
|
|
6
|
+
export type LinkColumnsMode = 'single' | 'double';
|
|
7
|
+
|
|
8
|
+
/**
|
|
9
|
+
* @title Элемент списка
|
|
10
|
+
*/
|
|
11
|
+
export interface LinkDocsItem extends LinkProps {
|
|
12
|
+
/** @title размер файла */
|
|
13
|
+
fileSize?: string;
|
|
14
|
+
}
|
|
15
|
+
|
|
16
|
+
/**
|
|
17
|
+
* @title Список документов
|
|
18
|
+
*/
|
|
19
|
+
export interface LinkDocsContent extends Pick<BaseTileCommonProps, 'align' | 'title'> {
|
|
20
|
+
/** @title Название иконки */
|
|
21
|
+
icon?: IconName;
|
|
22
|
+
/** @title Список */
|
|
23
|
+
documents?: LinkDocsItem[];
|
|
24
|
+
/** @title Отображение списка */
|
|
25
|
+
columnsMode?: LinkColumnsMode;
|
|
26
|
+
}
|
|
@@ -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
|
}
|
|
@@ -2,7 +2,9 @@ import { ExchangeRateTile } from './ExchangeRateTile/ExchangeRateTile';
|
|
|
2
2
|
import { Footer } from './Footer/Footer.mobile';
|
|
3
3
|
import { Gallery } from './Gallery/Gallery.mobile';
|
|
4
4
|
import { Header } from './Header/Header';
|
|
5
|
+
import { Headline } from './Headline/Headline';
|
|
5
6
|
import { MobileAppTile } from './MobileAppTile/MobileAppTile';
|
|
7
|
+
import { PictureText } from './PictureText/PictureText';
|
|
6
8
|
import { Placeholder } from './Placeholder/Placeholder';
|
|
7
9
|
import { ProductBlock } from './ProductBlock/ProductBlock.mobile';
|
|
8
10
|
import { ProductTile } from './ProductTile/ProductTile';
|
|
@@ -10,16 +12,18 @@ import { TextBlock } from './TextBlock/TextBlock';
|
|
|
10
12
|
import { Tile } from './Tile/Tile';
|
|
11
13
|
|
|
12
14
|
export const MobileBlocks = {
|
|
13
|
-
|
|
15
|
+
ExchangeRateTile,
|
|
14
16
|
Footer,
|
|
17
|
+
Gallery,
|
|
18
|
+
Header,
|
|
19
|
+
Headline,
|
|
20
|
+
MobileAppTile,
|
|
21
|
+
PictureText,
|
|
15
22
|
Placeholder,
|
|
16
|
-
Tile,
|
|
17
|
-
ProductTile,
|
|
18
23
|
ProductBlock,
|
|
24
|
+
ProductTile,
|
|
19
25
|
TextBlock,
|
|
20
|
-
|
|
21
|
-
MobileAppTile,
|
|
22
|
-
Gallery,
|
|
26
|
+
Tile,
|
|
23
27
|
// TODO StepsBlock,
|
|
24
28
|
// TODO BenefitsBlock,
|
|
25
29
|
// TODO ProductGallery
|
|
@@ -0,0 +1,20 @@
|
|
|
1
|
+
{
|
|
2
|
+
"title": "Продукт",
|
|
3
|
+
"description": "Описание",
|
|
4
|
+
"image": {
|
|
5
|
+
"format": "webp",
|
|
6
|
+
"size": {
|
|
7
|
+
"width": 300
|
|
8
|
+
}
|
|
9
|
+
},
|
|
10
|
+
"benefits": [
|
|
11
|
+
{
|
|
12
|
+
"label": "Преимущество №1",
|
|
13
|
+
"icon": "DocumentText"
|
|
14
|
+
},
|
|
15
|
+
{
|
|
16
|
+
"label": "Преимущество №2",
|
|
17
|
+
"icon": "DiscountShape"
|
|
18
|
+
}
|
|
19
|
+
]
|
|
20
|
+
}
|
|
@@ -0,0 +1,36 @@
|
|
|
1
|
+
import { context } from '../../setup-fixture';
|
|
2
|
+
|
|
3
|
+
import { PictureText } from './PictureText';
|
|
4
|
+
import type { Picture } from '../../model/Picture';
|
|
5
|
+
|
|
6
|
+
const image: Picture = {
|
|
7
|
+
src: 'legal-support-business.png',
|
|
8
|
+
format: 'webp',
|
|
9
|
+
size: {
|
|
10
|
+
width: 200,
|
|
11
|
+
height: 200,
|
|
12
|
+
},
|
|
13
|
+
alt: 'Варианты потребительского кредита',
|
|
14
|
+
};
|
|
15
|
+
|
|
16
|
+
export default {
|
|
17
|
+
default: (
|
|
18
|
+
<PictureText
|
|
19
|
+
context={context}
|
|
20
|
+
title={'Варианты потребительского кредита'}
|
|
21
|
+
benefits={[
|
|
22
|
+
{
|
|
23
|
+
label: 'Кредит по одному документу',
|
|
24
|
+
description: 'До 300 тыс ₽ по упрощённой процедуре получения кредита',
|
|
25
|
+
icon: 'DocumentText',
|
|
26
|
+
},
|
|
27
|
+
{
|
|
28
|
+
label: 'Кредит на общих условиях',
|
|
29
|
+
description: 'До 5 млн ₽ на общих условиях получения кредита',
|
|
30
|
+
icon: 'DiscountShape',
|
|
31
|
+
},
|
|
32
|
+
]}
|
|
33
|
+
image={image}
|
|
34
|
+
/>
|
|
35
|
+
),
|
|
36
|
+
};
|
|
@@ -0,0 +1,45 @@
|
|
|
1
|
+
import { JSX } from '@redneckz/uni-jsx';
|
|
2
|
+
import type { UniBlockProps } from '../../types';
|
|
3
|
+
import type { PictureTextContent } from './PictureTextContent';
|
|
4
|
+
|
|
5
|
+
import { Icon } from '../../ui-kit/Icon/Icon';
|
|
6
|
+
import { Img } from '../../ui-kit/Img';
|
|
7
|
+
import { Title } from '../../ui-kit/Title/Title';
|
|
8
|
+
import { Benefit } from '../BenefitsBlock/BenefitsBlockContent';
|
|
9
|
+
|
|
10
|
+
export interface PictureTextProps extends PictureTextContent, UniBlockProps {}
|
|
11
|
+
|
|
12
|
+
export const PictureText = JSX<PictureTextProps>(({ className, title, image, benefits }) => {
|
|
13
|
+
return (
|
|
14
|
+
<section className={`relative font-sans text-primary-text bg-white p-14 ${className}`}>
|
|
15
|
+
<Title className="font-medium m-0 text-center">{title}</Title>
|
|
16
|
+
<div className={'flex justify-center mt-9'}>
|
|
17
|
+
{image?.src && <Img className="mr-6" image={image} />}
|
|
18
|
+
{benefits?.length ? (
|
|
19
|
+
<div className="flex flex-col">{benefits.map(renderBenefit)}</div>
|
|
20
|
+
) : null}
|
|
21
|
+
</div>
|
|
22
|
+
</section>
|
|
23
|
+
);
|
|
24
|
+
});
|
|
25
|
+
|
|
26
|
+
function renderBenefit(benefit: Benefit, i: number) {
|
|
27
|
+
return (
|
|
28
|
+
<div key={String(i)} className="flex flex-row mb-8">
|
|
29
|
+
{benefit.icon && (
|
|
30
|
+
<Icon
|
|
31
|
+
className="w-[48px] h-[48px] bg-main rounded-full box-border p-[12px]"
|
|
32
|
+
name={benefit.icon}
|
|
33
|
+
width="48"
|
|
34
|
+
height="48"
|
|
35
|
+
/>
|
|
36
|
+
)}
|
|
37
|
+
<div className="flex gap-1 flex-col h-full ml-5 max-w-[490px]">
|
|
38
|
+
<div className="font-medium text-primary-text text-xl m-0">{benefit.label}</div>
|
|
39
|
+
{benefit.description && (
|
|
40
|
+
<div className="font-normal text-sm text-secondary-text">{benefit.description}</div>
|
|
41
|
+
)}
|
|
42
|
+
</div>
|
|
43
|
+
</div>
|
|
44
|
+
);
|
|
45
|
+
}
|
|
@@ -0,0 +1,13 @@
|
|
|
1
|
+
import type { BaseTileCommonProps } from '../BaseTile/BaseTileProps';
|
|
2
|
+
import type { Benefit } from '../BenefitsBlock/BenefitsBlockContent';
|
|
3
|
+
|
|
4
|
+
/**
|
|
5
|
+
* @title Картинка с текстом
|
|
6
|
+
*/
|
|
7
|
+
export interface PictureTextContent
|
|
8
|
+
extends Pick<BaseTileCommonProps, 'title' | 'description' | 'image'> {
|
|
9
|
+
/**
|
|
10
|
+
* @title Список преимуществ
|
|
11
|
+
*/
|
|
12
|
+
benefits?: Benefit[];
|
|
13
|
+
}
|
|
@@ -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
|
|
|
8
|
-
|
|
11
|
+
/**
|
|
12
|
+
* @title Слайд
|
|
13
|
+
*/
|
|
14
|
+
export interface ProductSlide {
|
|
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;
|
|
15
|
-
|
|
29
|
+
/** @title Слайды */
|
|
30
|
+
slides?: ProductSlide[];
|
|
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
|
}
|