@redneckz/wildless-cms-uni-blocks 0.3.19 → 0.3.22
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/README.md +43 -0
- package/bundle/blocks.schema.json +1 -1
- package/bundle/bundle.umd.js +212 -13
- package/bundle/bundle.umd.min.js +1 -1
- package/cosmos-static/icons/ArrowDownIcon.svg +1 -0
- package/cosmos-static/icons/ArrowUpIcon.svg +1 -0
- package/dist/components/Accordion/AccordionContent.d.ts +3 -73
- package/dist/components/Accordion/AccordionItem.js +2 -2
- package/dist/components/Accordion/AccordionItem.js.map +1 -1
- package/dist/components/Accordion/AccordionItem.mobile.js +2 -2
- package/dist/components/Accordion/AccordionItem.mobile.js.map +1 -1
- package/dist/components/Accordion/AccordionItemInner.js +3 -11
- package/dist/components/Accordion/AccordionItemInner.js.map +1 -1
- package/dist/components/Accordion/AccordionItemInner.mobile.js +4 -10
- package/dist/components/Accordion/AccordionItemInner.mobile.js.map +1 -1
- package/{lib/components/Accordion/utils/isActiveHandler.d.ts → dist/components/Accordion/utils/useActiveHandler.d.ts} +1 -1
- package/{mobile/dist/components/Accordion/utils/isActiveHandler.js → dist/components/Accordion/utils/useActiveHandler.js} +4 -4
- package/dist/components/Accordion/utils/useActiveHandler.js.map +1 -0
- 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/ComparisonTable/ComparisonTableContent.d.ts +15 -0
- package/dist/components/ComparisonTable/HeaderCell.d.ts +1 -0
- package/dist/components/ComparisonTable/HeaderCell.js.map +1 -1
- package/dist/components/ComparisonTable/TableColumn.d.ts +3 -2
- package/dist/components/ComparisonTable/TableColumn.js.map +1 -1
- package/dist/components/Gallery/GalleryContent.d.ts +1 -1
- package/dist/components/Headline/Headline.js +1 -1
- package/dist/components/Headline/Headline.js.map +1 -1
- package/dist/components/LinkDocs/LinkDocsContent.d.ts +1 -1
- package/dist/components/LinkDocs/LinkDocsHorizontalList.js +1 -1
- package/dist/components/LinkDocs/LinkDocsHorizontalList.js.map +1 -1
- package/dist/components/LinkDocs/LinkDocsVerticalList.d.ts +1 -1
- package/dist/components/LinkDocs/LinkDocsVerticalList.js +1 -1
- package/dist/components/LinkDocs/LinkDocsVerticalList.js.map +1 -1
- package/dist/components/MiniGallery/MiniGalleryContent.d.ts +1 -0
- package/dist/components/MobileAppTile/MobileAppTile.mobile.js +1 -1
- package/dist/components/MobileAppTile/MobileAppTile.mobile.js.map +1 -1
- package/dist/components/OtherProducts/OtherProducts.d.ts +5 -0
- package/dist/components/OtherProducts/OtherProducts.js +9 -0
- package/dist/components/OtherProducts/OtherProducts.js.map +1 -0
- package/dist/components/OtherProducts/OtherProductsContent.d.ts +36 -0
- package/dist/components/OtherProducts/OtherProductsContent.js +2 -0
- package/dist/components/OtherProducts/OtherProductsContent.js.map +1 -0
- package/dist/components/OtherProducts/OtherProductsItem.d.ts +5 -0
- package/dist/components/OtherProducts/OtherProductsItem.js +16 -0
- package/dist/components/OtherProducts/OtherProductsItem.js.map +1 -0
- package/dist/components/OtherProducts/OtherProductsItemInner.d.ts +2 -0
- package/dist/components/OtherProducts/OtherProductsItemInner.js +10 -0
- package/dist/components/OtherProducts/OtherProductsItemInner.js.map +1 -0
- package/dist/components/OtherProducts/utils/useActiveHandler.d.ts +9 -0
- package/dist/components/OtherProducts/utils/useActiveHandler.js +21 -0
- package/dist/components/OtherProducts/utils/useActiveHandler.js.map +1 -0
- package/dist/components/TextBlock/TextBlockContent.d.ts +1 -1
- package/dist/icons/IconName.d.ts +81 -2
- package/dist/icons/IconName.js +82 -1
- package/dist/icons/IconName.js.map +1 -1
- package/dist/model/BlockVersion.d.ts +1 -1
- package/dist/ui-kit/BlocksList/BlocksListProps.d.ts +71 -0
- package/dist/ui-kit/BlocksList/BlocksListProps.js +2 -0
- package/dist/ui-kit/BlocksList/BlocksListProps.js.map +1 -0
- package/dist/ui-kit/BlocksList/EmbeddableBlocks.d.ts +12 -0
- package/dist/ui-kit/BlocksList/EmbeddableBlocks.js +25 -0
- package/dist/ui-kit/BlocksList/EmbeddableBlocks.js.map +1 -0
- package/dist/ui-kit/BlocksList/renderBlocksList.d.ts +11 -0
- package/dist/ui-kit/BlocksList/renderBlocksList.js +17 -0
- package/dist/ui-kit/BlocksList/renderBlocksList.js.map +1 -0
- package/dist/ui-kit/Heading/Heading.js.map +1 -1
- package/dist/ui-kit/Icon/Icon.js +2 -1
- package/dist/ui-kit/Icon/Icon.js.map +1 -1
- package/lib/common.css +1 -1
- package/lib/components/Accordion/Accordion.fixture.d.ts +0 -1
- package/lib/components/Accordion/AccordionContent.d.ts +3 -73
- package/lib/components/Accordion/AccordionItem.js +2 -2
- package/lib/components/Accordion/AccordionItem.js.map +1 -1
- package/lib/components/Accordion/AccordionItem.mobile.js +2 -2
- package/lib/components/Accordion/AccordionItem.mobile.js.map +1 -1
- package/lib/components/Accordion/AccordionItemInner.js +3 -11
- package/lib/components/Accordion/AccordionItemInner.js.map +1 -1
- package/lib/components/Accordion/AccordionItemInner.mobile.js +4 -10
- package/lib/components/Accordion/AccordionItemInner.mobile.js.map +1 -1
- package/{mobile/dist/components/Accordion/utils/isActiveHandler.d.ts → lib/components/Accordion/utils/useActiveHandler.d.ts} +1 -1
- package/{mobile/lib/components/Accordion/utils/isActiveHandler.js → lib/components/Accordion/utils/useActiveHandler.js} +2 -2
- package/lib/components/Accordion/utils/useActiveHandler.js.map +1 -0
- 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/ComparisonTable/ComparisonTableContent.d.ts +15 -0
- package/lib/components/ComparisonTable/HeaderCell.d.ts +1 -0
- package/lib/components/ComparisonTable/HeaderCell.js.map +1 -1
- package/lib/components/ComparisonTable/TableColumn.d.ts +3 -2
- package/lib/components/ComparisonTable/TableColumn.js.map +1 -1
- package/lib/components/Gallery/GalleryContent.d.ts +1 -1
- package/lib/components/Headline/Headline.js +1 -1
- package/lib/components/Headline/Headline.js.map +1 -1
- package/lib/components/LinkDocs/LinkDocsContent.d.ts +1 -1
- package/lib/components/LinkDocs/LinkDocsHorizontalList.js +1 -1
- package/lib/components/LinkDocs/LinkDocsHorizontalList.js.map +1 -1
- package/lib/components/LinkDocs/LinkDocsVerticalList.d.ts +1 -1
- package/lib/components/LinkDocs/LinkDocsVerticalList.js +1 -1
- package/lib/components/LinkDocs/LinkDocsVerticalList.js.map +1 -1
- package/lib/components/MiniGallery/MiniGalleryContent.d.ts +1 -0
- package/lib/components/MobileAppTile/MobileAppTile.mobile.js +1 -1
- package/lib/components/MobileAppTile/MobileAppTile.mobile.js.map +1 -1
- package/lib/components/OtherProducts/OtherProducts.d.ts +5 -0
- package/lib/components/OtherProducts/OtherProducts.fixture.d.ts +5 -0
- package/lib/components/OtherProducts/OtherProducts.js +7 -0
- package/lib/components/OtherProducts/OtherProducts.js.map +1 -0
- package/lib/components/OtherProducts/OtherProductsContent.d.ts +36 -0
- package/lib/components/OtherProducts/OtherProductsContent.js +2 -0
- package/lib/components/OtherProducts/OtherProductsContent.js.map +1 -0
- package/lib/components/OtherProducts/OtherProductsItem.d.ts +5 -0
- package/lib/components/OtherProducts/OtherProductsItem.js +14 -0
- package/lib/components/OtherProducts/OtherProductsItem.js.map +1 -0
- package/lib/components/OtherProducts/OtherProductsItemInner.d.ts +2 -0
- package/lib/components/OtherProducts/OtherProductsItemInner.js +8 -0
- package/lib/components/OtherProducts/OtherProductsItemInner.js.map +1 -0
- package/lib/components/OtherProducts/utils/useActiveHandler.d.ts +9 -0
- package/lib/components/OtherProducts/utils/useActiveHandler.js +18 -0
- package/lib/components/OtherProducts/utils/useActiveHandler.js.map +1 -0
- package/lib/components/TextBlock/TextBlockContent.d.ts +1 -1
- package/lib/icons/IconName.d.ts +81 -2
- package/lib/icons/IconName.js +81 -0
- package/lib/icons/IconName.js.map +1 -1
- package/lib/model/BlockVersion.d.ts +1 -1
- package/lib/ui-kit/BlocksList/BlocksListProps.d.ts +71 -0
- package/lib/ui-kit/BlocksList/BlocksListProps.js +2 -0
- package/lib/ui-kit/BlocksList/BlocksListProps.js.map +1 -0
- package/lib/ui-kit/BlocksList/EmbeddableBlocks.d.ts +12 -0
- package/lib/ui-kit/BlocksList/EmbeddableBlocks.js +23 -0
- package/lib/ui-kit/BlocksList/EmbeddableBlocks.js.map +1 -0
- package/lib/ui-kit/BlocksList/renderBlocksList.d.ts +11 -0
- package/lib/ui-kit/BlocksList/renderBlocksList.js +13 -0
- package/lib/ui-kit/BlocksList/renderBlocksList.js.map +1 -0
- package/lib/ui-kit/Heading/Heading.js.map +1 -1
- package/lib/ui-kit/Icon/Icon.js +2 -1
- package/lib/ui-kit/Icon/Icon.js.map +1 -1
- package/mobile/bundle/bundle.umd.js +179 -15
- package/mobile/bundle/bundle.umd.min.js +1 -1
- package/mobile/dist/components/Accordion/AccordionContent.d.ts +3 -73
- package/mobile/dist/components/Accordion/AccordionItem.js +2 -2
- package/mobile/dist/components/Accordion/AccordionItem.js.map +1 -1
- package/mobile/dist/components/Accordion/AccordionItemInner.js +4 -10
- package/mobile/dist/components/Accordion/AccordionItemInner.js.map +1 -1
- package/mobile/{lib/components/Accordion/utils/isActiveHandler.d.ts → dist/components/Accordion/utils/useActiveHandler.d.ts} +1 -1
- package/{dist/components/Accordion/utils/isActiveHandler.js → mobile/dist/components/Accordion/utils/useActiveHandler.js} +4 -4
- package/mobile/dist/components/Accordion/utils/useActiveHandler.js.map +1 -0
- package/mobile/dist/components/ComparisonTable/ComparisonTableContent.d.ts +15 -0
- package/mobile/dist/components/ComparisonTable/TableColumn.d.ts +3 -2
- package/mobile/dist/components/ComparisonTable/TableColumn.js.map +1 -1
- package/mobile/dist/components/Gallery/GalleryContent.d.ts +1 -1
- package/mobile/dist/components/LinkDocs/LinkDocsContent.d.ts +1 -1
- package/mobile/dist/components/LinkDocs/LinkDocsHorizontalList.js +1 -1
- package/mobile/dist/components/LinkDocs/LinkDocsHorizontalList.js.map +1 -1
- package/mobile/dist/components/LinkDocs/LinkDocsVerticalList.d.ts +1 -1
- package/mobile/dist/components/LinkDocs/LinkDocsVerticalList.js +1 -1
- package/mobile/dist/components/LinkDocs/LinkDocsVerticalList.js.map +1 -1
- package/mobile/dist/components/MiniGallery/MiniGalleryContent.d.ts +1 -0
- package/mobile/dist/components/MobileAppTile/MobileAppTile.js +1 -1
- package/mobile/dist/components/MobileAppTile/MobileAppTile.js.map +1 -1
- package/mobile/dist/components/OtherProducts/OtherProducts.d.ts +5 -0
- package/mobile/dist/components/OtherProducts/OtherProducts.js +9 -0
- package/mobile/dist/components/OtherProducts/OtherProducts.js.map +1 -0
- package/mobile/dist/components/OtherProducts/OtherProductsContent.d.ts +36 -0
- package/mobile/dist/components/OtherProducts/OtherProductsContent.js +2 -0
- package/mobile/dist/components/OtherProducts/OtherProductsContent.js.map +1 -0
- package/mobile/dist/components/OtherProducts/OtherProductsItem.d.ts +5 -0
- package/mobile/dist/components/OtherProducts/OtherProductsItem.js +16 -0
- package/mobile/dist/components/OtherProducts/OtherProductsItem.js.map +1 -0
- package/mobile/dist/components/OtherProducts/OtherProductsItemInner.d.ts +2 -0
- package/mobile/dist/components/OtherProducts/OtherProductsItemInner.js +10 -0
- package/mobile/dist/components/OtherProducts/OtherProductsItemInner.js.map +1 -0
- package/mobile/dist/components/OtherProducts/utils/useActiveHandler.d.ts +9 -0
- package/mobile/dist/components/OtherProducts/utils/useActiveHandler.js +21 -0
- package/mobile/dist/components/OtherProducts/utils/useActiveHandler.js.map +1 -0
- package/mobile/dist/components/TextBlock/TextBlockContent.d.ts +1 -1
- package/mobile/dist/icons/IconName.d.ts +81 -2
- package/mobile/dist/icons/IconName.js +82 -1
- package/mobile/dist/icons/IconName.js.map +1 -1
- package/mobile/dist/model/BlockVersion.d.ts +1 -1
- package/mobile/dist/ui-kit/BlocksList/BlocksListProps.d.ts +71 -0
- package/mobile/dist/ui-kit/BlocksList/BlocksListProps.js +2 -0
- package/mobile/dist/ui-kit/BlocksList/BlocksListProps.js.map +1 -0
- package/mobile/dist/ui-kit/BlocksList/EmbeddableBlocks.d.ts +12 -0
- package/mobile/dist/ui-kit/BlocksList/EmbeddableBlocks.js +25 -0
- package/mobile/dist/ui-kit/BlocksList/EmbeddableBlocks.js.map +1 -0
- package/mobile/dist/ui-kit/BlocksList/renderBlocksList.d.ts +11 -0
- package/mobile/dist/ui-kit/BlocksList/renderBlocksList.js +17 -0
- package/mobile/dist/ui-kit/BlocksList/renderBlocksList.js.map +1 -0
- package/mobile/dist/ui-kit/Icon/Icon.js +2 -1
- package/mobile/dist/ui-kit/Icon/Icon.js.map +1 -1
- package/mobile/lib/components/Accordion/AccordionContent.d.ts +3 -73
- package/mobile/lib/components/Accordion/AccordionItem.js +2 -2
- package/mobile/lib/components/Accordion/AccordionItem.js.map +1 -1
- package/mobile/lib/components/Accordion/AccordionItemInner.js +4 -10
- package/mobile/lib/components/Accordion/AccordionItemInner.js.map +1 -1
- package/{dist/components/Accordion/utils/isActiveHandler.d.ts → mobile/lib/components/Accordion/utils/useActiveHandler.d.ts} +1 -1
- package/{lib/components/Accordion/utils/isActiveHandler.js → mobile/lib/components/Accordion/utils/useActiveHandler.js} +2 -2
- package/mobile/lib/components/Accordion/utils/useActiveHandler.js.map +1 -0
- package/mobile/lib/components/ComparisonTable/ComparisonTableContent.d.ts +15 -0
- package/mobile/lib/components/ComparisonTable/TableColumn.d.ts +3 -2
- package/mobile/lib/components/ComparisonTable/TableColumn.js.map +1 -1
- package/mobile/lib/components/Gallery/GalleryContent.d.ts +1 -1
- package/mobile/lib/components/LinkDocs/LinkDocsContent.d.ts +1 -1
- package/mobile/lib/components/LinkDocs/LinkDocsHorizontalList.js +1 -1
- package/mobile/lib/components/LinkDocs/LinkDocsHorizontalList.js.map +1 -1
- package/mobile/lib/components/LinkDocs/LinkDocsVerticalList.d.ts +1 -1
- package/mobile/lib/components/LinkDocs/LinkDocsVerticalList.js +1 -1
- package/mobile/lib/components/LinkDocs/LinkDocsVerticalList.js.map +1 -1
- package/mobile/lib/components/MiniGallery/MiniGalleryContent.d.ts +1 -0
- package/mobile/lib/components/MobileAppTile/MobileAppTile.js +1 -1
- package/mobile/lib/components/MobileAppTile/MobileAppTile.js.map +1 -1
- package/mobile/lib/components/OtherProducts/OtherProducts.d.ts +5 -0
- package/mobile/lib/components/OtherProducts/OtherProducts.js +7 -0
- package/mobile/lib/components/OtherProducts/OtherProducts.js.map +1 -0
- package/mobile/lib/components/OtherProducts/OtherProductsContent.d.ts +36 -0
- package/mobile/lib/components/OtherProducts/OtherProductsContent.js +2 -0
- package/mobile/lib/components/OtherProducts/OtherProductsContent.js.map +1 -0
- package/mobile/lib/components/OtherProducts/OtherProductsItem.d.ts +5 -0
- package/mobile/lib/components/OtherProducts/OtherProductsItem.js +14 -0
- package/mobile/lib/components/OtherProducts/OtherProductsItem.js.map +1 -0
- package/mobile/lib/components/OtherProducts/OtherProductsItemInner.d.ts +2 -0
- package/mobile/lib/components/OtherProducts/OtherProductsItemInner.js +8 -0
- package/mobile/lib/components/OtherProducts/OtherProductsItemInner.js.map +1 -0
- package/mobile/lib/components/OtherProducts/utils/useActiveHandler.d.ts +9 -0
- package/mobile/lib/components/OtherProducts/utils/useActiveHandler.js +18 -0
- package/mobile/lib/components/OtherProducts/utils/useActiveHandler.js.map +1 -0
- package/mobile/lib/components/TextBlock/TextBlockContent.d.ts +1 -1
- package/mobile/lib/icons/IconName.d.ts +81 -2
- package/mobile/lib/icons/IconName.js +81 -0
- package/mobile/lib/icons/IconName.js.map +1 -1
- package/mobile/lib/model/BlockVersion.d.ts +1 -1
- package/mobile/lib/ui-kit/BlocksList/BlocksListProps.d.ts +71 -0
- package/mobile/lib/ui-kit/BlocksList/BlocksListProps.js +2 -0
- package/mobile/lib/ui-kit/BlocksList/BlocksListProps.js.map +1 -0
- package/mobile/lib/ui-kit/BlocksList/EmbeddableBlocks.d.ts +12 -0
- package/mobile/lib/ui-kit/BlocksList/EmbeddableBlocks.js +23 -0
- package/mobile/lib/ui-kit/BlocksList/EmbeddableBlocks.js.map +1 -0
- package/mobile/lib/ui-kit/BlocksList/renderBlocksList.d.ts +11 -0
- package/mobile/lib/ui-kit/BlocksList/renderBlocksList.js +13 -0
- package/mobile/lib/ui-kit/BlocksList/renderBlocksList.js.map +1 -0
- package/mobile/lib/ui-kit/Icon/Icon.js +2 -1
- package/mobile/lib/ui-kit/Icon/Icon.js.map +1 -1
- package/mobile/src/common.css +0 -30
- package/mobile/src/components/Accordion/Accordion.example.json +6 -6
- package/mobile/src/components/Accordion/AccordionContent.ts +3 -109
- package/mobile/src/components/Accordion/AccordionItem.tsx +2 -2
- package/mobile/src/components/Accordion/AccordionItemInner.tsx +4 -19
- package/mobile/src/components/Accordion/utils/{isActiveHandler.ts → useActiveHandler.ts} +1 -1
- package/mobile/src/components/ComparisonTable/ComparisonTableContent.ts +18 -0
- package/mobile/src/components/ComparisonTable/TableColumn.tsx +3 -2
- package/mobile/src/components/ContentPage/ContentPage.page.json +1 -1
- package/mobile/src/components/Gallery/Gallery.example.json +2 -20
- package/mobile/src/components/Gallery/GalleryContent.ts +1 -1
- package/mobile/src/components/Headline/Headline.example.json +8 -1
- package/mobile/src/components/LinkDocs/LinkDocs.example.json +2 -2
- package/mobile/src/components/LinkDocs/LinkDocsContent.ts +1 -1
- package/mobile/src/components/LinkDocs/LinkDocsHorizontalList.tsx +1 -1
- package/mobile/src/components/LinkDocs/LinkDocsVerticalList.tsx +4 -2
- package/mobile/src/components/MiniGallery/MiniGalleryContent.ts +1 -0
- package/mobile/src/components/MobileAppTile/MobileAppTile.tsx +1 -1
- package/mobile/src/components/OtherProducts/OtherProducts.example.json +50 -0
- package/mobile/src/components/OtherProducts/OtherProducts.tsx +20 -0
- package/mobile/src/components/OtherProducts/OtherProductsContent.ts +38 -0
- package/mobile/src/components/OtherProducts/OtherProductsItem.tsx +36 -0
- package/mobile/src/components/OtherProducts/OtherProductsItemInner.tsx +14 -0
- package/mobile/src/components/OtherProducts/utils/useActiveHandler.ts +23 -0
- package/mobile/src/components/ProductBlock/ProductBlock.example.json +2 -1
- package/mobile/src/components/ProductGallery/ProductGallery.example.json +2 -1
- package/mobile/src/components/StepsBlock/StepsBlock.example.json +1 -0
- package/mobile/src/components/TextBlock/TextBlock.example.json +2 -2
- package/mobile/src/components/TextBlock/TextBlockContent.ts +1 -1
- package/mobile/src/components/Tile/Tile.example.json +1 -3
- package/mobile/src/icons/ArrowDownIcon.svg +4 -0
- package/mobile/src/icons/ArrowUpIcon.svg +4 -0
- package/mobile/src/icons/IconName.ts +8 -3
- package/mobile/src/model/BlockVersion.ts +1 -1
- package/mobile/src/ui-kit/BlocksList/BlocksListProps.ts +106 -0
- package/mobile/src/ui-kit/BlocksList/EmbeddableBlocks.tsx +23 -0
- package/mobile/src/ui-kit/BlocksList/renderBlocksList.tsx +30 -0
- package/mobile/src/ui-kit/Icon/Icon.tsx +2 -1
- package/package.json +1 -1
- package/src/common.css +0 -30
- package/src/components/Accordion/Accordion.example.json +6 -6
- package/src/components/Accordion/Accordion.fixture.mobile.tsx +13 -13
- package/src/components/Accordion/Accordion.fixture.tsx +28 -93
- package/src/components/Accordion/AccordionContent.ts +3 -109
- package/src/components/Accordion/AccordionItem.mobile.tsx +2 -2
- package/src/components/Accordion/AccordionItem.tsx +2 -2
- package/src/components/Accordion/AccordionItemInner.mobile.tsx +4 -19
- package/src/components/Accordion/AccordionItemInner.tsx +4 -25
- package/src/components/Accordion/utils/{isActiveHandler.ts → useActiveHandler.ts} +1 -1
- package/src/components/Blocks.ts +2 -0
- package/src/components/ComparisonTable/ComparisonTableContent.ts +18 -0
- package/src/components/ComparisonTable/HeaderCell.tsx +1 -0
- package/src/components/ComparisonTable/TableColumn.tsx +3 -2
- package/src/components/ContentPage/ContentPage.page.json +1 -1
- package/src/components/Gallery/Gallery.example.json +2 -20
- package/src/components/Gallery/GalleryContent.ts +1 -1
- package/src/components/Headline/Headline.example.json +8 -1
- package/src/components/Headline/Headline.tsx +4 -2
- package/src/components/LinkDocs/LinkDocs.example.json +2 -2
- package/src/components/LinkDocs/LinkDocsContent.ts +1 -1
- package/src/components/LinkDocs/LinkDocsHorizontalList.tsx +1 -1
- package/src/components/LinkDocs/LinkDocsVerticalList.tsx +4 -2
- package/src/components/MiniGallery/MiniGalleryContent.ts +1 -0
- package/src/components/MobileAppTile/MobileAppTile.mobile.tsx +1 -1
- package/src/components/OtherProducts/OtherProducts.example.json +50 -0
- package/src/components/OtherProducts/OtherProducts.fixture.tsx +137 -0
- package/src/components/OtherProducts/OtherProducts.tsx +20 -0
- package/src/components/OtherProducts/OtherProductsContent.ts +38 -0
- package/src/components/OtherProducts/OtherProductsItem.tsx +36 -0
- package/src/components/OtherProducts/OtherProductsItemInner.tsx +14 -0
- package/src/components/OtherProducts/utils/useActiveHandler.ts +23 -0
- package/src/components/ProductBlock/ProductBlock.example.json +2 -1
- package/src/components/ProductGallery/ProductGallery.example.json +2 -1
- package/src/components/StepsBlock/StepsBlock.example.json +1 -0
- package/src/components/TextBlock/TextBlock.example.json +2 -2
- package/src/components/TextBlock/TextBlockContent.ts +1 -1
- package/src/components/Tile/Tile.example.json +1 -3
- package/src/icons/ArrowDownIcon.svg +4 -0
- package/src/icons/ArrowUpIcon.svg +4 -0
- package/src/icons/IconName.ts +84 -1
- package/src/model/BlockVersion.ts +1 -1
- package/src/ui-kit/BlocksList/BlocksListProps.ts +106 -0
- package/src/ui-kit/BlocksList/EmbeddableBlocks.tsx +23 -0
- package/src/ui-kit/BlocksList/renderBlocksList.tsx +30 -0
- package/src/ui-kit/Heading/Heading.tsx +1 -3
- package/src/ui-kit/Icon/Icon.tsx +2 -1
- package/dist/components/Accordion/AccordionBlocks.d.ts +0 -12
- package/dist/components/Accordion/AccordionBlocks.js +0 -25
- package/dist/components/Accordion/AccordionBlocks.js.map +0 -1
- package/dist/components/Accordion/utils/isActiveHandler.js.map +0 -1
- package/lib/components/Accordion/AccordionBlocks.d.ts +0 -12
- package/lib/components/Accordion/AccordionBlocks.js +0 -23
- package/lib/components/Accordion/AccordionBlocks.js.map +0 -1
- package/lib/components/Accordion/utils/isActiveHandler.js.map +0 -1
- package/mobile/dist/components/Accordion/AccordionBlocks.d.ts +0 -12
- package/mobile/dist/components/Accordion/AccordionBlocks.js +0 -25
- package/mobile/dist/components/Accordion/AccordionBlocks.js.map +0 -1
- package/mobile/dist/components/Accordion/utils/isActiveHandler.js.map +0 -1
- package/mobile/lib/components/Accordion/AccordionBlocks.d.ts +0 -12
- package/mobile/lib/components/Accordion/AccordionBlocks.js +0 -23
- package/mobile/lib/components/Accordion/AccordionBlocks.js.map +0 -1
- package/mobile/lib/components/Accordion/utils/isActiveHandler.js.map +0 -1
- package/mobile/src/components/Accordion/AccordionBlocks.tsx +0 -23
- package/src/components/Accordion/AccordionBlocks.tsx +0 -23
|
@@ -1,109 +1,4 @@
|
|
|
1
|
-
import type {
|
|
2
|
-
import type { HeadlineContent } from '../Headline/HeadlineContent';
|
|
3
|
-
import type { LinkDocsContent } from '../LinkDocs/LinkDocsContent';
|
|
4
|
-
import type { MiniGalleryContent } from '../MiniGallery/MiniGalleryContent';
|
|
5
|
-
import type { PictureTextContent } from '../PictureText/PictureTextContent';
|
|
6
|
-
import type { ProductBlockContent } from '../ProductBlock/ProductBlockContent';
|
|
7
|
-
import type { ProductTileContent } from '../ProductTile/ProductTileContent';
|
|
8
|
-
import type { TextBlockContent } from '../TextBlock/TextBlockContent';
|
|
9
|
-
import type { TileContent } from '../Tile/TileContent';
|
|
10
|
-
import type { LinkListContent } from '../LinkList/LinkListContent';
|
|
11
|
-
|
|
12
|
-
/**
|
|
13
|
-
* @title Тип блока
|
|
14
|
-
*/
|
|
15
|
-
export type AccordionBlockType =
|
|
16
|
-
| 'Headline'
|
|
17
|
-
| 'LinkDocs'
|
|
18
|
-
| 'TextBlock'
|
|
19
|
-
| 'PictureText'
|
|
20
|
-
| 'Tile'
|
|
21
|
-
| 'ProductTile'
|
|
22
|
-
| 'ProductBlock'
|
|
23
|
-
| 'Gallery'
|
|
24
|
-
| 'MiniGallery'
|
|
25
|
-
| 'LinkList';
|
|
26
|
-
|
|
27
|
-
interface AccordionBlockDef {
|
|
28
|
-
accordionBlockType: AccordionBlockType;
|
|
29
|
-
}
|
|
30
|
-
|
|
31
|
-
/**
|
|
32
|
-
* @title Заголовок
|
|
33
|
-
*/
|
|
34
|
-
export type HeadlineAccordionBlockDef = HeadlineContent & AccordionBlockDef;
|
|
35
|
-
|
|
36
|
-
/**
|
|
37
|
-
* @title Список документов
|
|
38
|
-
*/
|
|
39
|
-
export type LinkDocsAccordionBlockDef = LinkDocsContent & AccordionBlockDef;
|
|
40
|
-
|
|
41
|
-
/**
|
|
42
|
-
* @title Текстовый блок
|
|
43
|
-
*/
|
|
44
|
-
export type TextBlockAccordionBlockDef = TextBlockContent & AccordionBlockDef;
|
|
45
|
-
|
|
46
|
-
/**
|
|
47
|
-
* @title Картинка с текстом
|
|
48
|
-
*/
|
|
49
|
-
export type PictureTextAccordionBlockDef = PictureTextContent & AccordionBlockDef;
|
|
50
|
-
|
|
51
|
-
/**
|
|
52
|
-
* @title Продуктовый блок
|
|
53
|
-
*/
|
|
54
|
-
export type ProductBlockAccordionBlockDef = ProductBlockContent & AccordionBlockDef;
|
|
55
|
-
|
|
56
|
-
/**
|
|
57
|
-
* @title Плитка
|
|
58
|
-
*/
|
|
59
|
-
export type TileAccordionBlockDef = TileContent & AccordionBlockDef;
|
|
60
|
-
|
|
61
|
-
/**
|
|
62
|
-
* @title Продуктовая плитка
|
|
63
|
-
*/
|
|
64
|
-
export type ProductTileAccordionBlockDef = ProductTileContent & AccordionBlockDef;
|
|
65
|
-
|
|
66
|
-
/**
|
|
67
|
-
* @title Галлерея
|
|
68
|
-
*/
|
|
69
|
-
export type GalleryAccordionBlockDef = GalleryContent & AccordionBlockDef;
|
|
70
|
-
|
|
71
|
-
/**
|
|
72
|
-
* @title Мини-галлерея
|
|
73
|
-
*/
|
|
74
|
-
export type MiniGalleryAccordionBlockDef = MiniGalleryContent & AccordionBlockDef;
|
|
75
|
-
|
|
76
|
-
/**
|
|
77
|
-
* @title Список ссылок
|
|
78
|
-
*/
|
|
79
|
-
export type LinkListAccordionBlockDef = LinkListContent & AccordionBlockDef;
|
|
80
|
-
|
|
81
|
-
/**
|
|
82
|
-
* @title Выберите блок
|
|
83
|
-
*/
|
|
84
|
-
export type EmptyOption = null;
|
|
85
|
-
|
|
86
|
-
/**
|
|
87
|
-
* @title Содержимое аккордеона
|
|
88
|
-
*/
|
|
89
|
-
export type AccordionBlockProps =
|
|
90
|
-
| EmptyOption
|
|
91
|
-
| HeadlineAccordionBlockDef
|
|
92
|
-
| LinkDocsAccordionBlockDef
|
|
93
|
-
| TextBlockAccordionBlockDef
|
|
94
|
-
| PictureTextAccordionBlockDef
|
|
95
|
-
| ProductBlockAccordionBlockDef
|
|
96
|
-
| TileAccordionBlockDef
|
|
97
|
-
| ProductTileAccordionBlockDef
|
|
98
|
-
| GalleryAccordionBlockDef
|
|
99
|
-
| MiniGalleryAccordionBlockDef
|
|
100
|
-
| LinkListAccordionBlockDef;
|
|
101
|
-
|
|
102
|
-
/**
|
|
103
|
-
* @title Количество колонок
|
|
104
|
-
* @enumNames ["1 колонка", "2 колонки"]
|
|
105
|
-
*/
|
|
106
|
-
export type ColumnsCount = 1 | 2;
|
|
1
|
+
import type { BlockDef, ColumnsCount } from '../../ui-kit/BlocksList/BlocksListProps';
|
|
107
2
|
|
|
108
3
|
/**
|
|
109
4
|
* @title Элемент списка
|
|
@@ -115,13 +10,12 @@ export interface AccordionItemCommonProps {
|
|
|
115
10
|
*/
|
|
116
11
|
label?: string;
|
|
117
12
|
/** @title Блоки */
|
|
118
|
-
blocks?:
|
|
13
|
+
blocks?: BlockDef[];
|
|
119
14
|
/**
|
|
120
15
|
* @title Отображать/скрывать обводку элемента
|
|
121
16
|
* @default false
|
|
122
17
|
*/
|
|
123
18
|
bordered?: boolean; // TODO: только для мобильной версии
|
|
124
|
-
|
|
125
19
|
columns?: ColumnsCount;
|
|
126
20
|
}
|
|
127
21
|
|
|
@@ -133,7 +27,7 @@ export interface AccordionContent {
|
|
|
133
27
|
title?: string;
|
|
134
28
|
/** @title Список */
|
|
135
29
|
accordionItems?: AccordionItemCommonProps[];
|
|
136
|
-
/** @title
|
|
30
|
+
/** @title Описание */
|
|
137
31
|
description?: string; // TODO: только для мобильной версии
|
|
138
32
|
/**
|
|
139
33
|
* @title Отображать/скрывать обводку у элемента списка
|
|
@@ -3,12 +3,12 @@ import type { UniBlockProps } from '../../types';
|
|
|
3
3
|
import { Icon } from '../../ui-kit/Icon/Icon';
|
|
4
4
|
import type { AccordionItemCommonProps } from './AccordionContent';
|
|
5
5
|
import { AccordionItemInner } from './AccordionItemInner';
|
|
6
|
-
import {
|
|
6
|
+
import { useActiveHandler } from './utils/useActiveHandler';
|
|
7
7
|
|
|
8
8
|
export interface AccordionItemProps extends AccordionItemCommonProps, UniBlockProps {}
|
|
9
9
|
|
|
10
10
|
export const AccordionItem = JSX<AccordionItemProps>(({ label, blocks, bordered, context }) => {
|
|
11
|
-
const { hasContent, icon, handleToggle } =
|
|
11
|
+
const { hasContent, icon, handleToggle } = useActiveHandler({
|
|
12
12
|
context,
|
|
13
13
|
blocks,
|
|
14
14
|
});
|
|
@@ -1,28 +1,13 @@
|
|
|
1
1
|
import { JSX } from '@redneckz/uni-jsx';
|
|
2
|
-
import type { JSXBlock } from '../ContentPage/ContentPage';
|
|
3
|
-
import type { ContentPageContext } from '../ContentPage/ContentPageContext';
|
|
4
|
-
import { AccordionBlocks } from './AccordionBlocks';
|
|
5
|
-
import type { AccordionBlockProps } from './AccordionContent';
|
|
6
2
|
import type { AccordionItemProps } from './AccordionItem';
|
|
3
|
+
import { renderBlocksList } from '../../ui-kit/BlocksList/renderBlocksList';
|
|
7
4
|
|
|
8
5
|
export const AccordionItemInner = JSX<AccordionItemProps>(({ blocks, context }) => {
|
|
6
|
+
const className = 'mb-5 last:mb-0 first:mt-2';
|
|
7
|
+
const columns = 1;
|
|
9
8
|
return (
|
|
10
9
|
<div className="transition-all duration-300 max-h-0 overflow-hidden group-last:last:pb-0">
|
|
11
|
-
{
|
|
10
|
+
{renderBlocksList({ context, className, columns, blocks })}
|
|
12
11
|
</div>
|
|
13
12
|
);
|
|
14
13
|
});
|
|
15
|
-
|
|
16
|
-
const renderBlock = (context: ContentPageContext) => (block: AccordionBlockProps, i: number) => {
|
|
17
|
-
const type = block?.accordionBlockType;
|
|
18
|
-
if (!type || !(type in AccordionBlocks)) {
|
|
19
|
-
return null;
|
|
20
|
-
}
|
|
21
|
-
|
|
22
|
-
const AccordionBlock: JSXBlock = AccordionBlocks[type];
|
|
23
|
-
return (
|
|
24
|
-
<div className="mb-5 last:mb-0 first:mt-2" key={`block_${i}`}>
|
|
25
|
-
<AccordionBlock context={context} {...block} className="!p-0" />
|
|
26
|
-
</div>
|
|
27
|
-
);
|
|
28
|
-
};
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
import type { IconName } from '../../../icons/IconName';
|
|
2
2
|
|
|
3
|
-
export const
|
|
3
|
+
export const useActiveHandler = ({ context, blocks }) => {
|
|
4
4
|
const [isActive, setIsActive] = context.useState(false);
|
|
5
5
|
const hasContent = blocks?.length;
|
|
6
6
|
const icon: IconName = isActive ? 'MinusIcon' : 'PlusIcon';
|
|
@@ -49,6 +49,24 @@ export interface RowHeader {
|
|
|
49
49
|
/** @title Заголовок */
|
|
50
50
|
title?: string;
|
|
51
51
|
}
|
|
52
|
+
|
|
53
|
+
/**
|
|
54
|
+
* @title Ячейка
|
|
55
|
+
*/
|
|
56
|
+
export interface TableColumnData {
|
|
57
|
+
rowHeader?: string;
|
|
58
|
+
cell: CellData[];
|
|
59
|
+
}
|
|
60
|
+
|
|
61
|
+
/**
|
|
62
|
+
* @title Параметр
|
|
63
|
+
*/
|
|
64
|
+
export interface TableColumnHeader {
|
|
65
|
+
/** @title Заголовок */
|
|
66
|
+
title?: string;
|
|
67
|
+
icon?: IconName;
|
|
68
|
+
}
|
|
69
|
+
|
|
52
70
|
/**
|
|
53
71
|
* @title Сравнительная таблица
|
|
54
72
|
*/
|
|
@@ -5,10 +5,11 @@ import { Button } from '../../ui-kit/Button/Button';
|
|
|
5
5
|
import { GRADIENT } from './constants';
|
|
6
6
|
import { HeaderCell } from './HeaderCell';
|
|
7
7
|
import { TableCell } from './TableCell';
|
|
8
|
+
import type { TableColumnData, TableColumnHeader } from './ComparisonTableContent';
|
|
8
9
|
|
|
9
10
|
export interface TableColumnProps extends UniBlockProps {
|
|
10
|
-
header:
|
|
11
|
-
columnData:
|
|
11
|
+
header: TableColumnHeader;
|
|
12
|
+
columnData: TableColumnData[];
|
|
12
13
|
visibleRowLength: number;
|
|
13
14
|
isFillGradient: boolean;
|
|
14
15
|
showRow: boolean;
|
|
@@ -1394,7 +1394,7 @@
|
|
|
1394
1394
|
"title": "Своя кредитная карта",
|
|
1395
1395
|
"description": "Карта работает в 180 странах мира. Бесплатное снятие наличных в любых банкоматах.",
|
|
1396
1396
|
"align": "center",
|
|
1397
|
-
"
|
|
1397
|
+
"bgColorHeadline": "transparent"
|
|
1398
1398
|
}
|
|
1399
1399
|
},
|
|
1400
1400
|
{
|
|
@@ -6,8 +6,8 @@
|
|
|
6
6
|
"image": {
|
|
7
7
|
"format": "webp",
|
|
8
8
|
"size": {
|
|
9
|
-
"width":
|
|
10
|
-
"height":
|
|
9
|
+
"width": 150,
|
|
10
|
+
"height": 150
|
|
11
11
|
}
|
|
12
12
|
},
|
|
13
13
|
"title": "Заголовок 1",
|
|
@@ -55,24 +55,6 @@
|
|
|
55
55
|
{"text":"Элемент списка 2", "title": "Элемент заголовка 2"},
|
|
56
56
|
{"text":"Элемент списка 3", "title": "Элемент заголовка 3"}
|
|
57
57
|
]
|
|
58
|
-
},
|
|
59
|
-
{
|
|
60
|
-
"image": {
|
|
61
|
-
"format": "webp",
|
|
62
|
-
"size": {
|
|
63
|
-
"width": 140,
|
|
64
|
-
"height": 140
|
|
65
|
-
}
|
|
66
|
-
},
|
|
67
|
-
"title": "Заголовок 4",
|
|
68
|
-
"description": "Описание 4",
|
|
69
|
-
"href": "/credit-cards",
|
|
70
|
-
"version": "primary",
|
|
71
|
-
"items": [
|
|
72
|
-
{"text":"Элемент списка 1", "title": "Элемент заголовка 1"},
|
|
73
|
-
{"text":"Элемент списка 2", "title": "Элемент заголовка 2"},
|
|
74
|
-
{"text":"Элемент списка 3", "title": "Элемент заголовка 3"}
|
|
75
|
-
]
|
|
76
58
|
}
|
|
77
59
|
]
|
|
78
60
|
}
|
|
@@ -34,7 +34,7 @@ export interface LinkDocsItem extends LinkProps {
|
|
|
34
34
|
export interface LinkDocsContent {
|
|
35
35
|
/** @title Заголовок */
|
|
36
36
|
title?: string;
|
|
37
|
-
/** @title
|
|
37
|
+
/** @title Описание */
|
|
38
38
|
subtitle?: string;
|
|
39
39
|
/** @title Название иконки */
|
|
40
40
|
icon?: IconName;
|
|
@@ -16,7 +16,7 @@ export const LinkDocsHorizontalList = JSX<LinkDocsHorizontalListProps>(
|
|
|
16
16
|
? documents.map((doc, i) => (
|
|
17
17
|
<LinkDocsListItem
|
|
18
18
|
key={String(i)}
|
|
19
|
-
className={hasBorder ? 'rounded-md border-main-stroke border p-4' : ''}
|
|
19
|
+
className={hasBorder ? 'rounded-md border-main-stroke border border-solid p-4' : ''}
|
|
20
20
|
doc={doc}
|
|
21
21
|
icon={icon}
|
|
22
22
|
/>
|
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
import { JSX } from '@redneckz/uni-jsx';
|
|
2
|
-
import type { IconName } from '../../
|
|
2
|
+
import type { IconName } from '../../icons/IconName';
|
|
3
3
|
import type { LinkDocsItem } from './LinkDocsContent';
|
|
4
4
|
import { LinkDocsListItem } from './LinkDocsListItem';
|
|
5
5
|
|
|
@@ -20,7 +20,9 @@ export const LinkDocsVerticalList = JSX<LinkDocsVerticalListProps>(
|
|
|
20
20
|
? documents.map((doc, i) => (
|
|
21
21
|
<div key={String(i)} role="listitem">
|
|
22
22
|
<LinkDocsListItem
|
|
23
|
-
className={
|
|
23
|
+
className={
|
|
24
|
+
hasBorder ? 'rounded-md border-main-stroke border border-solid p-4' : ''
|
|
25
|
+
}
|
|
24
26
|
doc={doc}
|
|
25
27
|
icon={icon}
|
|
26
28
|
/>
|
|
@@ -19,7 +19,7 @@ export const MobileAppTile = JSX<MobileAppTileProps>(
|
|
|
19
19
|
<div className="flex justify-center align-middle rounded-md bg-primary-main w-[50px] h-[50px]">
|
|
20
20
|
<Logo className="w-[33px]" bgColor="transparent" hideTitle />
|
|
21
21
|
</div>
|
|
22
|
-
<a href={href} target="_blank" className="flex flex-col justify-center pl-3">
|
|
22
|
+
<a href={href} target="_blank" className="flex flex-col justify-center pl-3 font-sans">
|
|
23
23
|
<div className="text-m-button font-medium mb-[3px]">{title}</div>
|
|
24
24
|
<div className="text-m-button text-secondary-text">{description}</div>
|
|
25
25
|
</a>
|
|
@@ -0,0 +1,50 @@
|
|
|
1
|
+
{
|
|
2
|
+
"title": "Другие продукты",
|
|
3
|
+
"blockItems": [
|
|
4
|
+
{
|
|
5
|
+
"label": "Другие продукты 1",
|
|
6
|
+
"blocks": [
|
|
7
|
+
{
|
|
8
|
+
"blockListType": "TextBlock",
|
|
9
|
+
"title": "Текстовый блок",
|
|
10
|
+
"description": "Описание текстового блока"
|
|
11
|
+
},
|
|
12
|
+
{
|
|
13
|
+
"blockListType": "TextBlock",
|
|
14
|
+
"title": "Текстовый блок №2",
|
|
15
|
+
"description": "Описание текстового блока №2"
|
|
16
|
+
}
|
|
17
|
+
]
|
|
18
|
+
},
|
|
19
|
+
{
|
|
20
|
+
"label": "Другие продукты 2",
|
|
21
|
+
"blocks": [
|
|
22
|
+
{
|
|
23
|
+
"blockListType": "TextBlock",
|
|
24
|
+
"title": "Текстовый блок",
|
|
25
|
+
"description": "Описание текстового блока"
|
|
26
|
+
},
|
|
27
|
+
{
|
|
28
|
+
"blockListType": "TextBlock",
|
|
29
|
+
"title": "Текстовый блок №2",
|
|
30
|
+
"description": "Описание текстового блока №2"
|
|
31
|
+
}
|
|
32
|
+
]
|
|
33
|
+
},
|
|
34
|
+
{
|
|
35
|
+
"label": "Другие продукты 3",
|
|
36
|
+
"blocks": [
|
|
37
|
+
{
|
|
38
|
+
"blockListType": "TextBlock",
|
|
39
|
+
"title": "Текстовый блок",
|
|
40
|
+
"description": "Описание текстового блока"
|
|
41
|
+
},
|
|
42
|
+
{
|
|
43
|
+
"blockListType": "TextBlock",
|
|
44
|
+
"title": "Текстовый блок №2",
|
|
45
|
+
"description": "Описание текстового блока №2"
|
|
46
|
+
}
|
|
47
|
+
]
|
|
48
|
+
}
|
|
49
|
+
]
|
|
50
|
+
}
|
|
@@ -0,0 +1,20 @@
|
|
|
1
|
+
import { JSX } from '@redneckz/uni-jsx';
|
|
2
|
+
import type { UniBlockProps } from '../../types';
|
|
3
|
+
import type { OtherProductsContent } from './OtherProductsContent';
|
|
4
|
+
import { OtherProductsItem } from './OtherProductsItem';
|
|
5
|
+
|
|
6
|
+
export interface OtherProductsProps extends OtherProductsContent, UniBlockProps {}
|
|
7
|
+
|
|
8
|
+
export const OtherProducts = JSX<OtherProductsProps>(({ blockItems, context, className }) => {
|
|
9
|
+
return (
|
|
10
|
+
<section className={`font-sans bg-white text-primary-text ${className || ''}`}>
|
|
11
|
+
{blockItems?.length ? (
|
|
12
|
+
<div className="list-none m-0 p-0">
|
|
13
|
+
{blockItems.map((item, i) => (
|
|
14
|
+
<OtherProductsItem key={`BlockItem${i}`} {...item} context={context} />
|
|
15
|
+
))}
|
|
16
|
+
</div>
|
|
17
|
+
) : null}
|
|
18
|
+
</section>
|
|
19
|
+
);
|
|
20
|
+
});
|
|
@@ -0,0 +1,38 @@
|
|
|
1
|
+
import type { BlockDef, ColumnsCount } from '../../ui-kit/BlocksList/BlocksListProps';
|
|
2
|
+
|
|
3
|
+
/**
|
|
4
|
+
* @title Элемент списка
|
|
5
|
+
*/
|
|
6
|
+
export interface blockItemCommonProps {
|
|
7
|
+
/**
|
|
8
|
+
* @title Название
|
|
9
|
+
* @default Список
|
|
10
|
+
*/
|
|
11
|
+
label?: string;
|
|
12
|
+
/** @title Блоки */
|
|
13
|
+
blocks?: BlockDef[];
|
|
14
|
+
/**
|
|
15
|
+
* @title Отображать/скрывать обводку элемента
|
|
16
|
+
* @default false
|
|
17
|
+
*/
|
|
18
|
+
bordered?: boolean; // TODO: только для мобильной версии
|
|
19
|
+
columns?: ColumnsCount;
|
|
20
|
+
isActive?: boolean;
|
|
21
|
+
}
|
|
22
|
+
|
|
23
|
+
/**
|
|
24
|
+
* @title Другие продукты
|
|
25
|
+
*/
|
|
26
|
+
export interface OtherProductsContent {
|
|
27
|
+
/** @title Заголовок */
|
|
28
|
+
title?: string;
|
|
29
|
+
/** @title Список */
|
|
30
|
+
blockItems?: blockItemCommonProps[];
|
|
31
|
+
/** @title Подзаголовок */
|
|
32
|
+
description?: string; // TODO: только для мобильной версии
|
|
33
|
+
/**
|
|
34
|
+
* @title Отображать/скрывать обводку у элемента списка
|
|
35
|
+
* @default false
|
|
36
|
+
*/
|
|
37
|
+
bordered?: boolean; // TODO: только для мобильной версии
|
|
38
|
+
}
|
|
@@ -0,0 +1,36 @@
|
|
|
1
|
+
import { JSX } from '@redneckz/uni-jsx';
|
|
2
|
+
import { useActiveHandler } from './utils/useActiveHandler';
|
|
3
|
+
import type { UniBlockProps } from '../../types';
|
|
4
|
+
import type { blockItemCommonProps } from './OtherProductsContent';
|
|
5
|
+
import { Icon } from '../../ui-kit/Icon/Icon';
|
|
6
|
+
import { OtherProductsItemInner } from './OtherProductsItemInner';
|
|
7
|
+
|
|
8
|
+
export interface BlockItemProps extends blockItemCommonProps, UniBlockProps {}
|
|
9
|
+
|
|
10
|
+
export const OtherProductsItem = JSX<BlockItemProps>(({ label, blocks, columns, context }) => {
|
|
11
|
+
const { hasContent, icon, handleToggle, isActive } = useActiveHandler({
|
|
12
|
+
context,
|
|
13
|
+
blocks,
|
|
14
|
+
});
|
|
15
|
+
|
|
16
|
+
return (
|
|
17
|
+
<div className="border-0 border-b border-solid border-main-divider">
|
|
18
|
+
{hasContent ? (
|
|
19
|
+
<OtherProductsItemInner
|
|
20
|
+
columns={columns}
|
|
21
|
+
blocks={blocks}
|
|
22
|
+
context={context}
|
|
23
|
+
isActive={isActive}
|
|
24
|
+
/>
|
|
25
|
+
) : null}
|
|
26
|
+
<button
|
|
27
|
+
className={`border-none bg-primary-main px-0 py-[25px] text-center w-full font-sans text-white text-base
|
|
28
|
+
${hasContent ? 'group cursor-pointer' : ''}`}
|
|
29
|
+
onClick={handleToggle}
|
|
30
|
+
>
|
|
31
|
+
<span className="pr-3">{isActive ? 'Скрыть' : label}</span>
|
|
32
|
+
{hasContent ? <Icon name={icon} width="20" height="20" asSVG /> : null}
|
|
33
|
+
</button>
|
|
34
|
+
</div>
|
|
35
|
+
);
|
|
36
|
+
});
|
|
@@ -0,0 +1,14 @@
|
|
|
1
|
+
import { JSX } from '@redneckz/uni-jsx';
|
|
2
|
+
import type { BlockItemProps } from './OtherProductsItem';
|
|
3
|
+
import { renderBlocksList } from '../../ui-kit/BlocksList/renderBlocksList';
|
|
4
|
+
|
|
5
|
+
export const OtherProductsItemInner = JSX<BlockItemProps>(({ blocks, columns = 1, context }) => {
|
|
6
|
+
const className = 'box-border p-5';
|
|
7
|
+
return (
|
|
8
|
+
<div className="transition-all duration-300 max-h-0 overflow-hidden">
|
|
9
|
+
<div className={`box-border w-full p-9 ${columns > 1 ? 'flex flex-wrap' : ''}`}>
|
|
10
|
+
{renderBlocksList({ context, className, columns, blocks })}
|
|
11
|
+
</div>
|
|
12
|
+
</div>
|
|
13
|
+
);
|
|
14
|
+
});
|
|
@@ -0,0 +1,23 @@
|
|
|
1
|
+
import type { IconName } from '../../../icons/IconName';
|
|
2
|
+
|
|
3
|
+
export const useActiveHandler = ({ context, blocks }) => {
|
|
4
|
+
const [isActive, setIsActive] = context.useState(false);
|
|
5
|
+
const hasContent = blocks?.length;
|
|
6
|
+
const icon: IconName = isActive ? 'ArrowUpIcon' : 'ArrowDownIcon';
|
|
7
|
+
|
|
8
|
+
const getContentBlock = ({ currentTarget }) => currentTarget.previousSibling;
|
|
9
|
+
|
|
10
|
+
const handleToggle = (e: MouseEvent) => {
|
|
11
|
+
if (!hasContent) {
|
|
12
|
+
return;
|
|
13
|
+
}
|
|
14
|
+
|
|
15
|
+
setIsActive(!isActive);
|
|
16
|
+
const contentBlock = getContentBlock(e);
|
|
17
|
+
contentBlock.style.maxHeight = contentBlock.style.maxHeight
|
|
18
|
+
? null
|
|
19
|
+
: `${contentBlock.scrollHeight}px`;
|
|
20
|
+
};
|
|
21
|
+
|
|
22
|
+
return { isActive, hasContent, icon, handleToggle };
|
|
23
|
+
};
|
|
@@ -0,0 +1,4 @@
|
|
|
1
|
+
<svg width="21" height="20" viewBox="0 0 21 20" fill="none" xmlns="http://www.w3.org/2000/svg">
|
|
2
|
+
<path d="M13.8416 10.709L11.6582 12.8923C11.0166 13.534 9.96657 13.534 9.3249 12.8923L3.8999 7.45898" stroke="white" stroke-width="2" stroke-miterlimit="10" stroke-linecap="round" stroke-linejoin="round"/>
|
|
3
|
+
<path d="M17.1001 7.45898L16.2334 8.32565" stroke="white" stroke-width="2" stroke-miterlimit="10" stroke-linecap="round" stroke-linejoin="round"/>
|
|
4
|
+
</svg>
|
|
@@ -0,0 +1,4 @@
|
|
|
1
|
+
<svg width="20" height="20" viewBox="0 0 20 20" fill="none" xmlns="http://www.w3.org/2000/svg">
|
|
2
|
+
<path d="M13.3416 9.29163L11.1582 7.10829C10.5166 6.46662 9.46657 6.46662 8.8249 7.10829L3.3999 12.5416" stroke="white" stroke-width="2" stroke-miterlimit="10" stroke-linecap="round" stroke-linejoin="round"/>
|
|
3
|
+
<path d="M16.6001 12.5416L15.7334 11.675" stroke="white" stroke-width="2" stroke-miterlimit="10" stroke-linecap="round" stroke-linejoin="round"/>
|
|
4
|
+
</svg>
|