@redneckz/wildless-cms-uni-blocks 0.7.6 → 0.7.8
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/bin/migration-scripts/0.7.8.js +29 -0
- package/bundle/blocks.schema.json +1 -1
- package/bundle/bundle.umd.js +115 -71
- package/bundle/bundle.umd.min.js +1 -1
- package/bundle/components/CarouselRecommendationCard/CarouselRecommendationCardContent.d.ts +5 -9
- package/bundle/components/Footer/MediaButton.d.ts +3 -4
- package/bundle/components/Footer/SocialMedia.d.ts +2 -3
- package/bundle/components/Header/HeaderChatBotButton.d.ts +11 -0
- package/bundle/components/Header/HeaderContent.d.ts +6 -1
- package/bundle/components/Header/HeaderSecondaryMenu.d.ts +2 -0
- package/bundle/components/Header/HeaderSecondaryMenuButton.d.ts +7 -2
- package/bundle/components/Header/useChatBot.d.ts +2 -0
- package/bundle/components/PictureText/renderBenefit.d.ts +4 -0
- package/bundle/hooks/useBool.d.ts +9 -0
- package/bundle/icons/IconName.d.ts +4 -2
- package/bundle/model/ButtonVersion.d.ts +2 -2
- package/bundle/ui-kit/BenefitItem/BenefitItemProps.d.ts +26 -3
- package/cosmos-static/icons/HeadphonesIcon.svg +1 -0
- package/dist/components/CarouselCatalogCard/CarouselCatalogCard.js +1 -1
- package/dist/components/CarouselCatalogCard/CarouselCatalogCard.js.map +1 -1
- package/dist/components/CarouselProductCard/CarouselProductCard.js +1 -1
- package/dist/components/CarouselProductCard/CarouselProductCard.js.map +1 -1
- package/dist/components/CarouselRecommendationCard/CarouselRecommendationCard.js +2 -2
- package/dist/components/CarouselRecommendationCard/CarouselRecommendationCard.js.map +1 -1
- package/dist/components/CarouselRecommendationCard/CarouselRecommendationCardContent.d.ts +5 -9
- package/dist/components/Footer/Footer.js +2 -2
- package/dist/components/Footer/Footer.js.map +1 -1
- package/dist/components/Footer/Footer.mobile.js.map +1 -1
- package/dist/components/Footer/MediaButton.d.ts +3 -4
- package/dist/components/Footer/MediaButton.js +4 -5
- package/dist/components/Footer/MediaButton.js.map +1 -1
- package/dist/components/Footer/SocialMedia.d.ts +2 -3
- package/dist/components/Footer/SocialMedia.js +1 -1
- package/dist/components/Footer/SocialMedia.js.map +1 -1
- package/dist/components/Header/DropdownMenu.js +3 -2
- package/dist/components/Header/DropdownMenu.js.map +1 -1
- package/dist/components/Header/Header.js +3 -2
- package/dist/components/Header/Header.js.map +1 -1
- package/dist/components/Header/HeaderChatBotButton.d.ts +11 -0
- package/dist/components/Header/HeaderChatBotButton.js +19 -0
- package/dist/components/Header/HeaderChatBotButton.js.map +1 -0
- package/dist/components/Header/HeaderContent.d.ts +6 -1
- package/dist/components/Header/HeaderSecondaryMenu.d.ts +2 -0
- package/dist/components/Header/HeaderSecondaryMenu.js +6 -11
- package/dist/components/Header/HeaderSecondaryMenu.js.map +1 -1
- package/dist/components/Header/HeaderSecondaryMenuButton.d.ts +7 -2
- package/dist/components/Header/HeaderSecondaryMenuButton.js +5 -1
- package/dist/components/Header/HeaderSecondaryMenuButton.js.map +1 -1
- package/dist/components/Header/useChatBot.d.ts +2 -0
- package/dist/components/Header/useChatBot.js +15 -0
- package/dist/components/Header/useChatBot.js.map +1 -0
- package/dist/components/PictureText/PictureText.js +2 -3
- package/dist/components/PictureText/PictureText.js.map +1 -1
- package/dist/components/PictureText/renderBenefit.d.ts +4 -0
- package/dist/components/PictureText/renderBenefit.js +25 -0
- package/dist/components/PictureText/renderBenefit.js.map +1 -0
- package/dist/components/ProductTile/renderBenefit.js +1 -1
- package/dist/components/ProductTile/renderBenefit.js.map +1 -1
- package/dist/hooks/useBool.d.ts +9 -0
- package/dist/hooks/useBool.js +12 -0
- package/dist/hooks/useBool.js.map +1 -0
- package/dist/icons/IconName.d.ts +4 -2
- package/dist/icons/IconName.js +3 -1
- package/dist/icons/IconName.js.map +1 -1
- package/dist/model/ButtonVersion.d.ts +2 -2
- package/dist/ui-kit/BenefitItem/BenefitItemProps.d.ts +26 -3
- package/dist/ui-kit/Button/buttonClassNameConstants.js +3 -0
- package/dist/ui-kit/Button/buttonClassNameConstants.js.map +1 -1
- package/lib/common.css +1 -1
- package/lib/components/CarouselCatalogCard/CarouselCatalogCard.js +1 -1
- package/lib/components/CarouselCatalogCard/CarouselCatalogCard.js.map +1 -1
- package/lib/components/CarouselProductCard/CarouselProductCard.js +1 -1
- package/lib/components/CarouselProductCard/CarouselProductCard.js.map +1 -1
- package/lib/components/CarouselRecommendationCard/CarouselRecommendationCard.js +2 -2
- package/lib/components/CarouselRecommendationCard/CarouselRecommendationCard.js.map +1 -1
- package/lib/components/CarouselRecommendationCard/CarouselRecommendationCardContent.d.ts +5 -9
- package/lib/components/Footer/Footer.js +2 -2
- package/lib/components/Footer/Footer.js.map +1 -1
- package/lib/components/Footer/Footer.mobile.js.map +1 -1
- package/lib/components/Footer/MediaButton.d.ts +3 -4
- package/lib/components/Footer/MediaButton.js +4 -5
- package/lib/components/Footer/MediaButton.js.map +1 -1
- package/lib/components/Footer/SocialMedia.d.ts +2 -3
- package/lib/components/Footer/SocialMedia.js +1 -1
- package/lib/components/Footer/SocialMedia.js.map +1 -1
- package/lib/components/Header/DropdownMenu.js +3 -2
- package/lib/components/Header/DropdownMenu.js.map +1 -1
- package/lib/components/Header/Header.js +3 -2
- package/lib/components/Header/Header.js.map +1 -1
- package/lib/components/Header/HeaderChatBotButton.d.ts +11 -0
- package/lib/components/Header/HeaderChatBotButton.js +17 -0
- package/lib/components/Header/HeaderChatBotButton.js.map +1 -0
- package/lib/components/Header/HeaderContent.d.ts +6 -1
- package/lib/components/Header/HeaderSecondaryMenu.d.ts +2 -0
- package/lib/components/Header/HeaderSecondaryMenu.js +6 -11
- package/lib/components/Header/HeaderSecondaryMenu.js.map +1 -1
- package/lib/components/Header/HeaderSecondaryMenuButton.d.ts +7 -2
- package/lib/components/Header/HeaderSecondaryMenuButton.js +5 -1
- package/lib/components/Header/HeaderSecondaryMenuButton.js.map +1 -1
- package/lib/components/Header/useChatBot.d.ts +2 -0
- package/lib/components/Header/useChatBot.js +12 -0
- package/lib/components/Header/useChatBot.js.map +1 -0
- package/lib/components/PictureText/PictureText.fixture.d.ts +2 -0
- package/lib/components/PictureText/PictureText.js +1 -2
- package/lib/components/PictureText/PictureText.js.map +1 -1
- package/lib/components/PictureText/renderBenefit.d.ts +4 -0
- package/lib/components/PictureText/renderBenefit.js +22 -0
- package/lib/components/PictureText/renderBenefit.js.map +1 -0
- package/lib/components/ProductTile/renderBenefit.js +1 -1
- package/lib/components/ProductTile/renderBenefit.js.map +1 -1
- package/lib/hooks/useBool.d.ts +9 -0
- package/lib/hooks/useBool.js +9 -0
- package/lib/hooks/useBool.js.map +1 -0
- package/lib/icons/IconName.d.ts +4 -2
- package/lib/icons/IconName.js +3 -1
- package/lib/icons/IconName.js.map +1 -1
- package/lib/model/ButtonVersion.d.ts +2 -2
- package/lib/ui-kit/BenefitItem/BenefitItemProps.d.ts +26 -3
- package/lib/ui-kit/Button/buttonClassNameConstants.js +3 -0
- package/lib/ui-kit/Button/buttonClassNameConstants.js.map +1 -1
- package/mobile/bundle/bundle.umd.js +7 -5
- package/mobile/bundle/bundle.umd.min.js +1 -1
- package/mobile/bundle/components/CarouselRecommendationCard/CarouselRecommendationCardContent.d.ts +5 -9
- package/mobile/bundle/components/Footer/MediaButton.d.ts +3 -4
- package/mobile/bundle/components/Header/HeaderChatBotButton.d.ts +11 -0
- package/mobile/bundle/components/Header/HeaderContent.d.ts +6 -1
- package/mobile/bundle/components/Header/HeaderSecondaryMenu.d.ts +2 -0
- package/mobile/bundle/components/Header/HeaderSecondaryMenuButton.d.ts +7 -2
- package/mobile/bundle/components/Header/useChatBot.d.ts +2 -0
- package/mobile/bundle/components/PictureText/renderBenefit.d.ts +4 -0
- package/mobile/bundle/hooks/useBool.d.ts +9 -0
- package/mobile/bundle/icons/IconName.d.ts +4 -2
- package/mobile/bundle/model/ButtonVersion.d.ts +2 -2
- package/mobile/bundle/ui-kit/BenefitItem/BenefitItemProps.d.ts +26 -3
- package/mobile/dist/components/CarouselCatalogCard/CarouselCatalogCard.js +1 -1
- package/mobile/dist/components/CarouselCatalogCard/CarouselCatalogCard.js.map +1 -1
- package/mobile/dist/components/CarouselProductCard/CarouselProductCard.js +1 -1
- package/mobile/dist/components/CarouselProductCard/CarouselProductCard.js.map +1 -1
- package/mobile/dist/components/CarouselRecommendationCard/CarouselRecommendationCard.js +2 -2
- package/mobile/dist/components/CarouselRecommendationCard/CarouselRecommendationCard.js.map +1 -1
- package/mobile/dist/components/CarouselRecommendationCard/CarouselRecommendationCardContent.d.ts +5 -9
- package/mobile/dist/components/Footer/Footer.js.map +1 -1
- package/mobile/dist/components/Footer/MediaButton.d.ts +3 -4
- package/mobile/dist/components/Footer/MediaButton.js +4 -5
- package/mobile/dist/components/Footer/MediaButton.js.map +1 -1
- package/mobile/dist/components/Header/DropdownMenu.js +3 -2
- package/mobile/dist/components/Header/DropdownMenu.js.map +1 -1
- package/mobile/dist/components/Header/HeaderChatBotButton.d.ts +11 -0
- package/mobile/dist/components/Header/HeaderChatBotButton.js +19 -0
- package/mobile/dist/components/Header/HeaderChatBotButton.js.map +1 -0
- package/mobile/dist/components/Header/HeaderContent.d.ts +6 -1
- package/mobile/dist/components/Header/HeaderSecondaryMenu.d.ts +2 -0
- package/mobile/dist/components/Header/HeaderSecondaryMenu.js +6 -11
- package/mobile/dist/components/Header/HeaderSecondaryMenu.js.map +1 -1
- package/mobile/dist/components/Header/HeaderSecondaryMenuButton.d.ts +7 -2
- package/mobile/dist/components/Header/HeaderSecondaryMenuButton.js +5 -1
- package/mobile/dist/components/Header/HeaderSecondaryMenuButton.js.map +1 -1
- package/mobile/dist/components/Header/useChatBot.d.ts +2 -0
- package/mobile/dist/components/Header/useChatBot.js +15 -0
- package/mobile/dist/components/Header/useChatBot.js.map +1 -0
- package/mobile/dist/components/PictureText/PictureText.js +2 -3
- package/mobile/dist/components/PictureText/PictureText.js.map +1 -1
- package/mobile/dist/components/PictureText/renderBenefit.d.ts +4 -0
- package/mobile/dist/components/PictureText/renderBenefit.js +25 -0
- package/mobile/dist/components/PictureText/renderBenefit.js.map +1 -0
- package/mobile/dist/components/ProductTile/renderBenefit.js +1 -1
- package/mobile/dist/components/ProductTile/renderBenefit.js.map +1 -1
- package/mobile/dist/hooks/useBool.d.ts +9 -0
- package/mobile/dist/hooks/useBool.js +12 -0
- package/mobile/dist/hooks/useBool.js.map +1 -0
- package/mobile/dist/icons/IconName.d.ts +4 -2
- package/mobile/dist/icons/IconName.js +3 -1
- package/mobile/dist/icons/IconName.js.map +1 -1
- package/mobile/dist/model/ButtonVersion.d.ts +2 -2
- package/mobile/dist/ui-kit/BenefitItem/BenefitItemProps.d.ts +26 -3
- package/mobile/dist/ui-kit/Button/buttonClassNameConstants.js +3 -0
- package/mobile/dist/ui-kit/Button/buttonClassNameConstants.js.map +1 -1
- package/mobile/lib/components/CarouselCatalogCard/CarouselCatalogCard.js +1 -1
- package/mobile/lib/components/CarouselCatalogCard/CarouselCatalogCard.js.map +1 -1
- package/mobile/lib/components/CarouselProductCard/CarouselProductCard.js +1 -1
- package/mobile/lib/components/CarouselProductCard/CarouselProductCard.js.map +1 -1
- package/mobile/lib/components/CarouselRecommendationCard/CarouselRecommendationCard.js +2 -2
- package/mobile/lib/components/CarouselRecommendationCard/CarouselRecommendationCard.js.map +1 -1
- package/mobile/lib/components/CarouselRecommendationCard/CarouselRecommendationCardContent.d.ts +5 -9
- package/mobile/lib/components/Footer/Footer.js.map +1 -1
- package/mobile/lib/components/Footer/MediaButton.d.ts +3 -4
- package/mobile/lib/components/Footer/MediaButton.js +4 -5
- package/mobile/lib/components/Footer/MediaButton.js.map +1 -1
- package/mobile/lib/components/Header/DropdownMenu.js +3 -2
- package/mobile/lib/components/Header/DropdownMenu.js.map +1 -1
- package/mobile/lib/components/Header/HeaderChatBotButton.d.ts +11 -0
- package/mobile/lib/components/Header/HeaderChatBotButton.js +17 -0
- package/mobile/lib/components/Header/HeaderChatBotButton.js.map +1 -0
- package/mobile/lib/components/Header/HeaderContent.d.ts +6 -1
- package/mobile/lib/components/Header/HeaderSecondaryMenu.d.ts +2 -0
- package/mobile/lib/components/Header/HeaderSecondaryMenu.js +6 -11
- package/mobile/lib/components/Header/HeaderSecondaryMenu.js.map +1 -1
- package/mobile/lib/components/Header/HeaderSecondaryMenuButton.d.ts +7 -2
- package/mobile/lib/components/Header/HeaderSecondaryMenuButton.js +5 -1
- package/mobile/lib/components/Header/HeaderSecondaryMenuButton.js.map +1 -1
- package/mobile/lib/components/Header/useChatBot.d.ts +2 -0
- package/mobile/lib/components/Header/useChatBot.js +12 -0
- package/mobile/lib/components/Header/useChatBot.js.map +1 -0
- package/mobile/lib/components/PictureText/PictureText.js +1 -2
- package/mobile/lib/components/PictureText/PictureText.js.map +1 -1
- package/mobile/lib/components/PictureText/renderBenefit.d.ts +4 -0
- package/mobile/lib/components/PictureText/renderBenefit.js +22 -0
- package/mobile/lib/components/PictureText/renderBenefit.js.map +1 -0
- package/mobile/lib/components/ProductTile/renderBenefit.js +1 -1
- package/mobile/lib/components/ProductTile/renderBenefit.js.map +1 -1
- package/mobile/lib/hooks/useBool.d.ts +9 -0
- package/mobile/lib/hooks/useBool.js +9 -0
- package/mobile/lib/hooks/useBool.js.map +1 -0
- package/mobile/lib/icons/IconName.d.ts +4 -2
- package/mobile/lib/icons/IconName.js +3 -1
- package/mobile/lib/icons/IconName.js.map +1 -1
- package/mobile/lib/model/ButtonVersion.d.ts +2 -2
- package/mobile/lib/ui-kit/BenefitItem/BenefitItemProps.d.ts +26 -3
- package/mobile/lib/ui-kit/Button/buttonClassNameConstants.js +3 -0
- package/mobile/lib/ui-kit/Button/buttonClassNameConstants.js.map +1 -1
- package/mobile/src/components/CarouselCatalogCard/CarouselCatalogCard.tsx +0 -1
- package/mobile/src/components/CarouselProductCard/CarouselProductCard.tsx +0 -1
- package/mobile/src/components/CarouselRecommendationCard/CarouselRecommendationCard.example.json +6 -3
- package/mobile/src/components/CarouselRecommendationCard/CarouselRecommendationCard.tsx +2 -0
- package/mobile/src/components/CarouselRecommendationCard/CarouselRecommendationCard.ui.json +7 -0
- package/mobile/src/components/CarouselRecommendationCard/CarouselRecommendationCardContent.ts +5 -9
- package/mobile/src/components/Footer/Footer.tsx +1 -1
- package/mobile/src/components/Footer/MediaButton.tsx +19 -17
- package/mobile/src/components/Header/DropdownMenu.tsx +7 -5
- package/mobile/src/components/Header/HeaderChatBotButton.tsx +45 -0
- package/mobile/src/components/Header/HeaderContent.ts +7 -1
- package/mobile/src/components/Header/HeaderSecondaryMenu.tsx +20 -30
- package/mobile/src/components/Header/HeaderSecondaryMenuButton.tsx +24 -5
- package/mobile/src/components/Header/useChatBot.ts +16 -0
- package/mobile/src/components/PictureText/PictureText.tsx +1 -14
- package/mobile/src/components/PictureText/PictureText.ui.json +10 -0
- package/mobile/src/components/PictureText/renderBenefit.tsx +33 -0
- package/mobile/src/components/ProductTile/renderBenefit.tsx +5 -1
- package/mobile/src/hooks/useBool.ts +19 -0
- package/mobile/src/icons/HeadphonesIcon.svg +5 -0
- package/mobile/src/icons/IconName.ts +5 -5
- package/mobile/src/model/ButtonVersion.ts +9 -2
- package/mobile/src/ui-kit/BenefitItem/BenefitItemProps.ts +28 -3
- package/mobile/src/ui-kit/Button/buttonClassNameConstants.ts +3 -0
- package/mobile/src/ui-kit/Img/ImgProps.ts +1 -0
- package/package.json +1 -1
- package/src/components/CarouselCatalogCard/CarouselCatalogCard.tsx +0 -1
- package/src/components/CarouselProductCard/CarouselProductCard.tsx +0 -1
- package/src/components/CarouselRecommendationCard/CarouselRecommendationCard.example.json +6 -3
- package/src/components/CarouselRecommendationCard/CarouselRecommendationCard.fixture.tsx +20 -5
- package/src/components/CarouselRecommendationCard/CarouselRecommendationCard.tsx +2 -0
- package/src/components/CarouselRecommendationCard/CarouselRecommendationCard.ui.json +7 -0
- package/src/components/CarouselRecommendationCard/CarouselRecommendationCardContent.ts +5 -9
- package/src/components/Footer/Footer.mobile.tsx +1 -1
- package/src/components/Footer/Footer.tsx +2 -2
- package/src/components/Footer/MediaButton.tsx +19 -17
- package/src/components/Footer/SocialMedia.tsx +4 -5
- package/src/components/Header/DropdownMenu.tsx +7 -5
- package/src/components/Header/Header.fixture.tsx +3 -3
- package/src/components/Header/Header.tsx +13 -5
- package/src/components/Header/HeaderChatBotButton.tsx +45 -0
- package/src/components/Header/HeaderContent.ts +7 -1
- package/src/components/Header/HeaderSecondaryMenu.tsx +20 -30
- package/src/components/Header/HeaderSecondaryMenuButton.tsx +24 -5
- package/src/components/Header/useChatBot.ts +16 -0
- package/src/components/PictureText/PictureText.fixture.tsx +37 -0
- package/src/components/PictureText/PictureText.tsx +1 -14
- package/src/components/PictureText/PictureText.ui.json +10 -0
- package/src/components/PictureText/renderBenefit.tsx +33 -0
- package/src/components/ProductTile/renderBenefit.tsx +5 -1
- package/src/hooks/useBool.ts +19 -0
- package/src/icons/HeadphonesIcon.svg +5 -0
- package/src/icons/IconName.ts +6 -340
- package/src/model/ButtonVersion.ts +9 -2
- package/src/ui-kit/BenefitItem/BenefitItemProps.ts +28 -3
- package/src/ui-kit/Button/buttonClassNameConstants.ts +3 -0
- package/src/ui-kit/Img/ImgProps.ts +1 -0
package/bundle/bundle.umd.js
CHANGED
|
@@ -653,6 +653,7 @@
|
|
|
653
653
|
white: 'text-primary-main bg-white hover:text-white hover:bg-primary-hover active:bg-white active:text-primary-main',
|
|
654
654
|
link: '',
|
|
655
655
|
transparent: '',
|
|
656
|
+
gray: 'text-primary-main bg-main-divider hover:text-white hover:bg-primary-hover active:bg-primary-active',
|
|
656
657
|
'': '',
|
|
657
658
|
};
|
|
658
659
|
const DisabledStyle = 'bg-main-divider text-main-disabled';
|
|
@@ -662,6 +663,7 @@
|
|
|
662
663
|
white: DisabledStyle,
|
|
663
664
|
link: '',
|
|
664
665
|
transparent: '',
|
|
666
|
+
gray: DisabledStyle,
|
|
665
667
|
'': '',
|
|
666
668
|
};
|
|
667
669
|
const buttonStyle = 'text-center font-sans select-none';
|
|
@@ -671,6 +673,7 @@
|
|
|
671
673
|
white: 'group-hover/btn:brightness-0 group-hover/btn:invert',
|
|
672
674
|
link: '',
|
|
673
675
|
transparent: '',
|
|
676
|
+
gray: 'group-hover/btn:brightness-0 group-hover/btn:invert',
|
|
674
677
|
'': '',
|
|
675
678
|
};
|
|
676
679
|
|
|
@@ -1640,7 +1643,7 @@
|
|
|
1640
1643
|
black: 'bg-black',
|
|
1641
1644
|
white: 'bg-white',
|
|
1642
1645
|
};
|
|
1643
|
-
const CarouselCatalogCard = JSX(({ className = '', title, description, image, price, button, colors, ...rest }) => (jsxs(BlockWrapper, { className: `border box-border border-gray p-7 min-w-[392px] flex flex-col justify-left ${className}`,
|
|
1646
|
+
const CarouselCatalogCard = JSX(({ className = '', title, description, image, price, button, colors, ...rest }) => (jsxs(BlockWrapper, { className: `border box-border border-gray p-7 min-w-[392px] flex flex-col justify-left ${className}`, ...rest, children: [image?.src ? jsx(ImgInner, { className: "mb-5 flex justify-center", image: image }) : null, title ? (jsx(Heading, { headingType: "h6", as: "h4", className: "text-left mb-1.5", title: title })) : null, description ? (jsx("div", { className: "mb-4", children: jsx(Paragraph, { size: "text-m", align: "text-left", font: "font-light", children: description }) })) : null, colors?.length ? (jsxs("div", { className: "flex mb-4 text-s-light text-secondary-text", children: [jsx("div", { className: "mr-1.5", children: jsx(Text, { children: "\u0414\u043E\u0441\u0442\u0443\u043F\u043D\u044B\u0435 \u0446\u0432\u0435\u0442\u0430: " }) }), colors.map(renderColorOption$1)] })) : null, price ? (jsxs(Text, { size: "text-h3", align: "text-left", children: [price, "\u00A0\u20BD"] })) : null, renderButtonsSection([button], { buttonClassName: 'mt-5 w-full' })] })));
|
|
1644
1647
|
const renderColorOption$1 = (color, i) => (jsx("span", { className: `w-6 h-6 ml-3 border border-solid border-main-divider rounded-full ${cardStyleMap$2[color]}` }, String(i)));
|
|
1645
1648
|
|
|
1646
1649
|
const BaseTile = JSX(({ className = '', title = '', buttons, image, children }) => (jsxs("div", { className: `font-sans flex flex-col grow h-full items-start ${className}`, children: [title, jsxs("div", { className: "flex grow w-full justify-between", children: [jsxs("div", { className: "flex flex-col justify-between w-full", children: [jsx("div", { className: "h-full", children: children }), buttons ? jsx("div", { className: "mt-auto pt-8", children: buttons }) : null] }), image] })] })));
|
|
@@ -1707,7 +1710,7 @@
|
|
|
1707
1710
|
const List = JSX(({ className = '', hasIndent, isDotted, itemClassName = '', items, listItemSize = 'M' }) => items?.length ? (jsx("section", { className: `text-primary-text group-data-secondary:text-white group-data-gray:text-secondary-text ${TEXT_SIZE_MAP[listItemSize]} ${hasIndent ? ITEM_INDENT_MAP[listItemSize] : ''} ${className}`, role: "list", children: items.map((item, i) => (jsx(ListItem, { className: `${itemClassName} mb-1.5`, isDotted: isDotted, size: listItemSize, children: item }, String(i)))) })) : null);
|
|
1708
1711
|
|
|
1709
1712
|
const CarouselProductCard = JSX(({ className = '', title, headlineSmallVersion = 'H6', description, additionalDescription, icon, items = [], button = {}, version = 'primary', isDotted = true, align = 'text-center', ...rest }) => {
|
|
1710
|
-
return (jsxs(BlockWrapper, { className: style('flex flex-col justify-between items-stretch min-w-[260px] h-full w-full p-6', 'box-border border-solid border border-gray', align, className),
|
|
1713
|
+
return (jsxs(BlockWrapper, { className: style('flex flex-col justify-between items-stretch min-w-[260px] h-full w-full p-6', 'box-border border-solid border border-gray', align, className), version: version, ...rest, children: [jsxs("div", { className: "flex flex-col h-full", children: [renderImage$4(icon), renderCardTitle$1(headlineSmallVersion, title), renderDescription$4(description, title), renderItems$1(items, isDotted, version), renderAdditionalDescription$2(additionalDescription)] }), renderButtonsSection([button], { buttonClassName: 'mt-6 w-full' })] }));
|
|
1711
1714
|
});
|
|
1712
1715
|
const renderImage$4 = (image) => (jsxs("div", { className: "flex justify-center", children: [image?.src ? jsx(ImgInner, { className: "mb-5", image: image }) : null, image?.icon ? (jsx(ImgInner, { className: `w-[32px] h-[32px] min-w-[32px] mb-5 rounded-full`, image: image, asSVG: true })) : null] }));
|
|
1713
1716
|
const renderCardTitle$1 = (headlineSmallVersion, title) => title ? jsx(Text, { size: HEADLINE_SMALL_VERSION[headlineSmallVersion], children: title }) : null;
|
|
@@ -1759,21 +1762,20 @@
|
|
|
1759
1762
|
default: 'w-14 h-14',
|
|
1760
1763
|
small: 'w-12 h-12',
|
|
1761
1764
|
};
|
|
1762
|
-
const MediaButton = JSX(({
|
|
1763
|
-
const
|
|
1764
|
-
const { href, onClick } = link(rest);
|
|
1765
|
+
const MediaButton = JSX(({ iconVersion = 'color', buttonSize = 'default', rounded = false, ...rest }) => {
|
|
1766
|
+
const { href, version } = rest;
|
|
1765
1767
|
const { icon, label } = ICONS_MAP.find(({ origins }) => origins.some((_) => href?.includes(_))) || {};
|
|
1766
1768
|
const iconWithVersion = icon ? { ...getIconWithVersion(icon), iconVersion } : null;
|
|
1767
|
-
return
|
|
1769
|
+
return (jsx(Button, { className: style('group/media flex items-center justify-center box-border', buttonSizeStyles[buttonSize], rounded ? 'rounded-full' : 'rounded-md', 'border border-solid hover:border-transparent', 'group-data-primary:border-main-divider', 'hover:bg-primary-main hover:text-black', 'group-data-secondary:bg-white border-main-divider group-data-secondary:hover:bg-secondary-hover', 'group-data-gray:border-green', buttonSizeStyles[buttonSize]), "aria-label": label, target: "_blank", rel: "noopener noreferrer", version: version, ...rest, children: iconWithVersion ? (jsx(ImgInner, { image: iconWithVersion, imageClassName: "group-hover/media:text-white", width: "24", height: "24", asSVG: true })) : null }));
|
|
1768
1770
|
});
|
|
1769
1771
|
|
|
1770
|
-
const SocialMedia = JSX(({ className = '', media,
|
|
1772
|
+
const SocialMedia = JSX(({ className = '', media, children, buttonSize }) => (jsxs("div", { className: "font-sans", children: [jsx("div", { className: `flex gap-2.5 ${className}`, children: media?.map((_, index) => (jsx(MediaButton, { buttonSize: buttonSize, version: _.version, ..._ }, String(index)))) }), jsx("span", { className: "text-s-light text-secondary-text", children: children })] })));
|
|
1771
1773
|
|
|
1772
|
-
const CarouselRecommendationCard = JSX(({ button, className = '', description, image, items = [], socialMedia = [], title, ...rest }) => {
|
|
1774
|
+
const CarouselRecommendationCard = JSX(({ button, className = '', description, image, items = [], socialMedia = [], title, version = 'primary', ...rest }) => {
|
|
1773
1775
|
const tileTitle = title ? (jsx(Heading, { headingType: "h5", as: "h3", className: "mb-3.5 z-10", title: title })) : null;
|
|
1774
1776
|
const tileImage = image?.src ? (jsx(ImgInner, { className: "absolute bottom-0 right-0 m-0", image: image })) : null;
|
|
1775
1777
|
const BORDER_STYLE = 'border border-solid border-gray group-data-secondary:border-white/50 group-data-gray:border-main-divider';
|
|
1776
|
-
return (jsx(BlockWrapper, { className: style('relative p-7 min-w-[524px] text-left box-border group-data-gray:bg-main-divider/50', BORDER_STYLE, className), ...rest, children: jsx(BaseTile, { className: "flex justify-between", title: tileTitle, image: tileImage, children: jsxs("div", { className: "h-full flex flex-col justify-between", children: [description ? jsx("span", { className: "mb-2", children: description }) : null, items.length ? (jsx(List, { className: "text-xl-light flex flex-col flex-1 gap-2 max-w-[236px]", items: items })) : null, socialMedia.length ? jsx(SocialMedia, { className: "pt-10 pb-0", media: socialMedia }) : null, renderButtonsSection([button], { className: 'pt-2 mt-16' })] }) }) }));
|
|
1778
|
+
return (jsx(BlockWrapper, { className: style('relative p-7 min-w-[524px] text-left box-border group-data-gray:bg-main-divider/50', BORDER_STYLE, className), version: version, ...rest, children: jsx(BaseTile, { className: "flex justify-between", title: tileTitle, image: tileImage, children: jsxs("div", { className: "h-full flex flex-col justify-between", children: [description ? jsx("span", { className: "mb-2", children: description }) : null, items.length ? (jsx(List, { className: "text-xl-light flex flex-col flex-1 gap-2 max-w-[236px]", items: items })) : null, socialMedia.length ? jsx(SocialMedia, { className: "pt-10 pb-0", media: socialMedia }) : null, renderButtonsSection([button], { className: 'pt-2 mt-16' })] }) }) }));
|
|
1777
1779
|
});
|
|
1778
1780
|
|
|
1779
1781
|
const VISIBLE_CELLS_COUNT = 1;
|
|
@@ -2232,8 +2234,8 @@
|
|
|
2232
2234
|
const LEFT_COL_WIDTH_FULL_HD = 'w-[204px]';
|
|
2233
2235
|
const Footer = JSX(({ className = '', ...rest }) => {
|
|
2234
2236
|
const fallback = rest.options?.page?.fallback;
|
|
2235
|
-
const { documents, relatedEnterprises, contacts, socialMedia, mobileApps,
|
|
2236
|
-
return (jsxs(BlockWrapper, { tag: "footer", className: `p-9 ${className}`, ...rest, children: [jsxs("div", { className: "flex items-stretch gap-[54px] pb-[30px] xl:gap-8", children: [jsx(Logo, { className: LEFT_COL_WIDTH_FULL_HD, logo: logo }), jsx(SearchBar$1, { className: "grow" })] }), jsxs("div", { className: "flex items-stretch gap-[54px] xl:gap-8", children: [jsxs("div", { className: `${LEFT_COL_WIDTH_FULL_HD} flex flex-col shrink-0 overflow-hidden`, children: [jsx(Contacts, { items: contacts, hasButton: true }), jsx(SocialMedia, { media: socialMedia, children: "\u0421\u043E\u0446\u0441\u0435\u0442\u0438" }), jsx(SocialMedia, { className: "mt-6", media: mobileApps, children: "\u041C\u043E\u0431\u0438\u043B\u044C\u043D\u043E\u0435 \u043F\u0440\u0438\u043B\u043E\u0436\u0435\u043D\u0438\u0435" })] }), jsx(Sitemap, { className: "pt-[3px]",
|
|
2237
|
+
const { documents, relatedEnterprises, contacts, socialMedia, mobileApps, logo } = useSWRResource(projectSettings.FOOTER || 'footer', fallback);
|
|
2238
|
+
return (jsxs(BlockWrapper, { tag: "footer", className: `p-9 ${className}`, ...rest, children: [jsxs("div", { className: "flex items-stretch gap-[54px] pb-[30px] xl:gap-8", children: [jsx(Logo, { className: LEFT_COL_WIDTH_FULL_HD, logo: logo }), jsx(SearchBar$1, { className: "grow" })] }), jsxs("div", { className: "flex items-stretch gap-[54px] xl:gap-8", children: [jsxs("div", { className: `${LEFT_COL_WIDTH_FULL_HD} flex flex-col shrink-0 overflow-hidden`, children: [jsx(Contacts, { items: contacts, hasButton: true }), jsx(SocialMedia, { media: socialMedia, children: "\u0421\u043E\u0446\u0441\u0435\u0442\u0438" }), jsx(SocialMedia, { className: "mt-6", media: mobileApps, children: "\u041C\u043E\u0431\u0438\u043B\u044C\u043D\u043E\u0435 \u043F\u0440\u0438\u043B\u043E\u0436\u0435\u043D\u0438\u0435" })] }), jsx(Sitemap, { className: "pt-[3px]", fallback: fallback })] }), jsx(HorizontalNavigation, { className: "mt-[98px]", links: relatedEnterprises }), jsx(TextInformation, { links: documents })] }));
|
|
2237
2239
|
});
|
|
2238
2240
|
|
|
2239
2241
|
const galleryLengthForScrollMap = {
|
|
@@ -2326,6 +2328,14 @@
|
|
|
2326
2328
|
? 'text-primary-main'
|
|
2327
2329
|
: style(flat ? 'text-primary-text' : 'text-secondary-text', 'hover:text-primary-main'), 'group-data-transparent:text-white group-data-transparent:hover:text-primary-hover');
|
|
2328
2330
|
|
|
2331
|
+
function useBool(defaultValue = false) {
|
|
2332
|
+
const [value, setValue] = useState(defaultValue);
|
|
2333
|
+
const setTrue = useCallback(() => setValue(true), []);
|
|
2334
|
+
const setFalse = useCallback(() => setValue(false), []);
|
|
2335
|
+
const toggle = useCallback(() => setValue((_) => !_), []);
|
|
2336
|
+
return [value, { setValue, setTrue, setFalse, toggle }];
|
|
2337
|
+
}
|
|
2338
|
+
|
|
2329
2339
|
const STORAGE_DEFAULT_TTL = 86400000; // 24 * 60 * 60 * 1000
|
|
2330
2340
|
function useCachedAsyncData(key, fetcher, storage = globalThis?.localStorage) {
|
|
2331
2341
|
const cachedFetcher = useCallback(async (...args) => {
|
|
@@ -2425,19 +2435,70 @@
|
|
|
2425
2435
|
return (jsxs("div", { className: "flex gap-x-3", children: [icon ? jsx(ImgInner, { pathPrefix: "/wcms-resources/", image: icon }) : null, text ? (jsx("a", { className: "hover:text-primary-hover", href: href, target: target, onClick: onClick, children: text })) : null] }));
|
|
2426
2436
|
});
|
|
2427
2437
|
|
|
2428
|
-
const HeaderSecondaryMenuButton = JSX(({ className
|
|
2438
|
+
const HeaderSecondaryMenuButton = JSX(({ className, isRounded, disabled, ariaLabel, image, onClick }) => (jsx("button", { className: style('group/btn border-0 p-0 flex items-center bg-inherit', isRounded
|
|
2439
|
+
? 'w-8 h-8 text-secondary-light hover:text-secondary-hove'
|
|
2440
|
+
: 'w-6 h-6 text-primary-text hover:text-primary-main', 'group-data-transparent:text-white', className), type: "button", disabled: disabled, "aria-label": ariaLabel, onClick: onClick, children: jsx(ImgInner, { image: image, className: style('h-full', isRounded ? 'bg-main-divider/20 rounded-full' : ''), imageClassName: "group-hover/btn:text-primary-hover group-hover/btn:invert-0", asSVG: true }) })));
|
|
2429
2441
|
|
|
2430
|
-
const
|
|
2431
|
-
|
|
2442
|
+
const getNS = (_) => globalThis[_];
|
|
2443
|
+
function useExternalNS(namespaceName, url) {
|
|
2444
|
+
const [externalNS, setExternalNS] = useState();
|
|
2445
|
+
const setNS = useCallback(() => setExternalNS(getNS(namespaceName)), [namespaceName]);
|
|
2446
|
+
useEffect(() => {
|
|
2447
|
+
const script = document.getElementById(url);
|
|
2448
|
+
if (script) {
|
|
2449
|
+
if (getNS(namespaceName)) {
|
|
2450
|
+
setNS();
|
|
2451
|
+
}
|
|
2452
|
+
else {
|
|
2453
|
+
script.addEventListener('load', setNS);
|
|
2454
|
+
return () => {
|
|
2455
|
+
script.removeEventListener('load', setNS);
|
|
2456
|
+
};
|
|
2457
|
+
}
|
|
2458
|
+
}
|
|
2459
|
+
else {
|
|
2460
|
+
const newScript = document.createElement('script');
|
|
2461
|
+
newScript.src = url;
|
|
2462
|
+
newScript.async = true;
|
|
2463
|
+
newScript.id = url;
|
|
2464
|
+
newScript.addEventListener('load', setNS);
|
|
2465
|
+
document.head.appendChild(newScript);
|
|
2466
|
+
return () => {
|
|
2467
|
+
document.head.removeChild(newScript);
|
|
2468
|
+
setExternalNS(undefined);
|
|
2469
|
+
};
|
|
2470
|
+
}
|
|
2471
|
+
return undefined;
|
|
2472
|
+
}, [namespaceName, url]);
|
|
2473
|
+
return externalNS;
|
|
2474
|
+
}
|
|
2475
|
+
|
|
2476
|
+
const CHATBOT_NAMESPACE = 'chatbot';
|
|
2477
|
+
const CHATBOT_URL = {
|
|
2478
|
+
personal: '//chat.mes.rshb.ru/assets/js/webchat_rshb',
|
|
2479
|
+
business: '', //TODO: add url business chat
|
|
2480
|
+
};
|
|
2481
|
+
const useChatBot = (chat) => {
|
|
2482
|
+
useEffect(() => globalThis.localStorage?.setItem('webchat-keep-open', String(Date.now())), []);
|
|
2483
|
+
return useExternalNS(CHATBOT_NAMESPACE, CHATBOT_URL[chat]);
|
|
2484
|
+
};
|
|
2485
|
+
|
|
2486
|
+
const CHAT_BUTTON_EXTERNAL_NAME = 'text-page__btn-chat';
|
|
2487
|
+
const HeaderChatBotButton = JSX((props) => {
|
|
2488
|
+
const [loadRequested, { setTrue: load }] = useBool();
|
|
2489
|
+
return loadRequested ? (jsx(HeaderChatBotButtonWithLoader, { ...props })) : (renderChatBotButton({ ...props, onClick: load }));
|
|
2490
|
+
});
|
|
2491
|
+
const HeaderChatBotButtonWithLoader = JSX(({ chat = 'personal', ...rest }) => {
|
|
2492
|
+
useChatBot(chat);
|
|
2493
|
+
return renderChatBotButton(rest);
|
|
2494
|
+
});
|
|
2495
|
+
const renderChatBotButton = ({ className, iconVersion, onClick }) => (jsx(HeaderSecondaryMenuButton, { className: style(CHAT_BUTTON_EXTERNAL_NAME, className), image: { icon: 'HeadphonesIcon', iconVersion }, ariaLabel: "\u0427\u0430\u0442", onClick: onClick }));
|
|
2496
|
+
|
|
2497
|
+
const HeaderSecondaryMenu = JSX(({ version, className, officesLink, defaultLocation = 'Москва', foreignOffices, chat }) => {
|
|
2498
|
+
const [isShowLocationModal, { setTrue: showLocationModal, setFalse: hideLocationModal }] = useBool();
|
|
2432
2499
|
const [location, onChangeLocation] = useLocation(defaultLocation);
|
|
2433
|
-
const showLocationModal = useCallback(() => {
|
|
2434
|
-
setShowLocationModal(true);
|
|
2435
|
-
}, []);
|
|
2436
|
-
const hideLocationModal = useCallback(() => {
|
|
2437
|
-
setShowLocationModal(false);
|
|
2438
|
-
}, []);
|
|
2439
2500
|
const iconVersion = version === 'transparent' ? 'white' : 'black';
|
|
2440
|
-
return (jsxs("div", { className:
|
|
2501
|
+
return (jsxs("div", { className: style('flex items-center', className), children: [jsx(TopItem, { className: "mr-5", flat: true, href: "#", text: location.name, ariaLabel: "\u041C\u0435\u0441\u0442\u043E\u043F\u043E\u043B\u043E\u0436\u0435\u043D\u0438\u0435", onClick: showLocationModal }), officesLink ? (jsx(TopItem, { className: "mr-7", flat: true, href: officesLink, text: "\u041E\u0444\u0438\u0441\u044B \u0438 \u0431\u0430\u043D\u043A\u043E\u043C\u0430\u0442\u044B", ariaLabel: "\u0421\u043F\u0438\u0441\u043E\u043A \u0432\u0441\u0435\u0445 \u0434\u043E\u0441\u0442\u0443\u043F\u043D\u044B\u0445 \u043E\u0444\u0438\u0441\u043E\u0432 \u0438 \u0431\u0430\u043D\u043A\u043E\u043C\u0430\u0442\u043E\u0432" })) : null, chat ? (jsx(HeaderChatBotButton, { className: "mr-5", iconVersion: iconVersion, chat: chat })) : null, jsx(HeaderSecondaryMenuButton, { className: "mr-5", image: { icon: 'LoupeIcon', iconVersion }, ariaLabel: "\u041F\u043E\u0438\u0441\u043A \u043F\u043E \u0441\u0430\u0439\u0442\u0443", disabled: true }), jsx(HeaderSecondaryMenuButton, { image: { icon: 'GridIcon', iconVersion }, ariaLabel: "\u0414\u043E\u043F\u043E\u043B\u043D\u0438\u0442\u0435\u043B\u044C\u043D\u044B\u0435 \u0441\u0441\u044B\u043B\u043A\u0438", isRounded: true, disabled: true }), isShowLocationModal ? (jsx(Location, { currentLocation: location, foreignOffices: foreignOffices, onChangeLocation: onChangeLocation, close: hideLocationModal })) : null] }));
|
|
2441
2502
|
});
|
|
2442
2503
|
|
|
2443
2504
|
const findActiveSubItem = (router) => (items = []) => {
|
|
@@ -2453,9 +2514,9 @@
|
|
|
2453
2514
|
const handleToggle = useCallback(() => setVisible((_) => !_), []);
|
|
2454
2515
|
const handleClickOutside = useCallback(() => setVisible(false), []);
|
|
2455
2516
|
const ref = useOutsideClick(handleClickOutside);
|
|
2456
|
-
return (jsxs("div", { className:
|
|
2517
|
+
return (jsxs("div", { className: style(visible ? 'bg-white rounded-md shadow-blue-gray' : '', className), ref: ref, children: [jsx("button", { className: "group/btn flex justify-between items-center h-6 ml-6", "aria-label": `${visible ? 'Скрыть другие разделы' : 'Показать другие разделы'}`, onClick: handleToggle, children: Array(3)
|
|
2457
2518
|
.fill(null)
|
|
2458
|
-
.map((_, i) => (jsx("div", { className: "w-[3px] h-[3px] rounded mr-1 bg-primary-text group-hover/btn:bg-primary-hover group-data-transparent:bg-white" }, String(i)))) }), jsx("div", { className:
|
|
2519
|
+
.map((_, i) => (jsx("div", { className: "w-[3px] h-[3px] rounded mr-1 bg-primary-text group-hover/btn:bg-primary-hover group-data-transparent:bg-white" }, String(i)))) }), jsx("div", { className: style('flex flex-col rounded-md bg-white p-6 pb-2', visible ? '' : 'hidden'), "aria-hidden": !visible, children: items?.map((item, i) => (jsx("a", { className: style('text-l-light pb-4 hover:text-primary-main', item === activeItem ? 'text-primary-main' : ''), ...link(item), children: item.text }, item.href || String(i)))) })] }));
|
|
2459
2520
|
});
|
|
2460
2521
|
|
|
2461
2522
|
const HeaderItem = JSX(({ className = '', active, dataItemName, children, ...rest }) => {
|
|
@@ -2500,12 +2561,12 @@
|
|
|
2500
2561
|
'bg-white': 'primary',
|
|
2501
2562
|
transparent: 'transparent',
|
|
2502
2563
|
};
|
|
2503
|
-
const Header = JSX(({ bgColor = 'bg-white', className
|
|
2564
|
+
const Header = JSX(({ bgColor = 'bg-white', className, showSubMenu = true, version = BG_COLOR_TO_BLOCK_VERSION[bgColor], chat, ...rest }) => {
|
|
2504
2565
|
const router = useRouter();
|
|
2505
2566
|
const { topItems, logo, defaultLocation, foreignOffices, officesLink } = useSWRResource(projectSettings.SITEMAP || 'sitemap', rest.options?.page?.fallback);
|
|
2506
2567
|
const activeTopItem = topItems?.find(isTopItemActive(router));
|
|
2507
2568
|
const topMenu = topItems?.map((_, i) => (jsx(TopItem, { active: _ === activeTopItem, "aria-label": _.text, ..._ }, String(i))));
|
|
2508
|
-
return (jsx(BlockWrapper, { tag: "header", className:
|
|
2569
|
+
return (jsx(BlockWrapper, { tag: "header", className: style('pt-6 px-20', showSubMenu && activeTopItem?.items?.length ? 'pb-4' : 'pb-5', className), version: version, ...rest, children: jsxs("div", { className: "container", children: [jsxs("div", { className: "flex items-center", children: [jsx(Logo, { className: "mr-8", bgColor: bgColor, logo: logo }), topMenu, jsx(HeaderSecondaryMenu, { version: version, className: "ml-auto", foreignOffices: foreignOffices, defaultLocation: defaultLocation, officesLink: officesLink, chat: chat })] }), jsx("div", { className: style('mt-6 h-px bg-main-divider', version === 'transparent' ? 'opacity-30' : '') }), showSubMenu && activeTopItem?.items?.length ? (jsx(HeaderSubMenu, { subItems: activeTopItem.items })) : null] }) }));
|
|
2509
2570
|
});
|
|
2510
2571
|
|
|
2511
2572
|
const gapStyles = {
|
|
@@ -2832,40 +2893,6 @@
|
|
|
2832
2893
|
return (jsx("div", { className: `select-none cursor-pointer py-4 w-12 bg-white ${Object.values(styles$1).join(' ')} ${className}`, onClick: setUserGeoLocation, children: jsx(Icon, { name: "UserGeoLocationIcon", width: "20", height: "16" }) }));
|
|
2833
2894
|
};
|
|
2834
2895
|
|
|
2835
|
-
const getNS = (_) => globalThis[_];
|
|
2836
|
-
function useExternalNS(namespaceName, url) {
|
|
2837
|
-
const [externalNS, setExternalNS] = useState();
|
|
2838
|
-
const setNS = useCallback(() => setExternalNS(getNS(namespaceName)), [namespaceName]);
|
|
2839
|
-
useEffect(() => {
|
|
2840
|
-
const script = document.getElementById(url);
|
|
2841
|
-
if (script) {
|
|
2842
|
-
if (getNS(namespaceName)) {
|
|
2843
|
-
setNS();
|
|
2844
|
-
}
|
|
2845
|
-
else {
|
|
2846
|
-
script.addEventListener('load', setNS);
|
|
2847
|
-
return () => {
|
|
2848
|
-
script.removeEventListener('load', setNS);
|
|
2849
|
-
};
|
|
2850
|
-
}
|
|
2851
|
-
}
|
|
2852
|
-
else {
|
|
2853
|
-
const newScript = document.createElement('script');
|
|
2854
|
-
newScript.src = url;
|
|
2855
|
-
newScript.async = true;
|
|
2856
|
-
newScript.id = url;
|
|
2857
|
-
newScript.addEventListener('load', setNS);
|
|
2858
|
-
document.head.appendChild(newScript);
|
|
2859
|
-
return () => {
|
|
2860
|
-
document.head.removeChild(newScript);
|
|
2861
|
-
setExternalNS(undefined);
|
|
2862
|
-
};
|
|
2863
|
-
}
|
|
2864
|
-
return undefined;
|
|
2865
|
-
}, [namespaceName, url]);
|
|
2866
|
-
return externalNS;
|
|
2867
|
-
}
|
|
2868
|
-
|
|
2869
2896
|
const YMAPS_NAMESPACE = 'ymaps';
|
|
2870
2897
|
const useYandexMaps = () => {
|
|
2871
2898
|
const url = `https://api-maps.yandex.ru/2.1/?apikey=${projectSettings.YANDEX_MAP_API_KEY || ''}&lang=ru_RU`;
|
|
@@ -3170,8 +3197,34 @@
|
|
|
3170
3197
|
return `w-12 h-12 min-w-12 rounded-full p-2.5 box-border flex items-center justify-center ${bgColorStyle}`;
|
|
3171
3198
|
}
|
|
3172
3199
|
|
|
3200
|
+
const RichText = JSX((props) => {
|
|
3201
|
+
const { __html = '' } = props;
|
|
3202
|
+
return jsx("div", { className: "md-container", dangerouslySetInnerHTML: { __html } });
|
|
3203
|
+
});
|
|
3204
|
+
|
|
3205
|
+
function assertUnreachable(x) {
|
|
3206
|
+
throw new Error(x);
|
|
3207
|
+
}
|
|
3208
|
+
|
|
3209
|
+
const renderBenefit$2 =
|
|
3210
|
+
// Linter doesn't understand that switch processes all cases
|
|
3211
|
+
// eslint-disable-next-line consistent-return
|
|
3212
|
+
(version) => (benefit, i) => {
|
|
3213
|
+
const { type } = benefit;
|
|
3214
|
+
if (!(type === 'default' || type === 'rte')) {
|
|
3215
|
+
return null;
|
|
3216
|
+
}
|
|
3217
|
+
switch (type) {
|
|
3218
|
+
case 'default':
|
|
3219
|
+
return (jsx(BenefitItem, { icon: benefit.icon, label: benefit.label, description: benefit.description, version: version }, String(i)));
|
|
3220
|
+
case 'rte':
|
|
3221
|
+
return jsx(RichText, { __html: benefit.__html });
|
|
3222
|
+
default:
|
|
3223
|
+
assertUnreachable(benefit);
|
|
3224
|
+
}
|
|
3225
|
+
};
|
|
3226
|
+
|
|
3173
3227
|
const PictureText = JSX(({ className = '', title, description, image, benefits, sum, monthLimit, directionRight = false, version = 'primary', ...rest }) => (jsxs(BlockWrapper, { className: `relative py-12 px-24 ${className}`, version: version, ...rest, children: [jsx(Headline, { className: "!p-0", title: title, description: description, headlineVersion: "M" }), jsxs("div", { className: 'flex justify-center gap-[122px] mt-[30px]', children: [image?.src ? jsx(ImgInner, { className: directionRight ? 'order-2' : '', image: image }) : null, jsxs("div", { className: "w-[558px] m-auto", children: [benefits?.length ? (jsx("div", { className: "flex flex-col gap-4", children: benefits.map(renderBenefit$2(version)) })) : null, renderInsuranceSumMonth(Number(sum), Number(monthLimit))] })] })] })));
|
|
3174
|
-
const renderBenefit$2 = (version) => (benefit, i) => (jsx(BenefitItem, { icon: benefit.icon, label: benefit.label, description: benefit.description, version: version }, String(i)));
|
|
3175
3228
|
function renderInsuranceSumMonth(sum, monthLimit) {
|
|
3176
3229
|
return sum || monthLimit ? (jsxs("div", { className: "bg-main-divider rounded-md flex mt-7 gap-6 px-5 py-4", children: [Number(sum) > 0 ? renderValueBlock('Страховая сумма:', sum, Boolean(monthLimit)) : null, Number(monthLimit) > 0
|
|
3177
3230
|
? renderValueBlock('Ежемесячный лимит:', monthLimit, Boolean(sum))
|
|
@@ -3289,15 +3342,6 @@
|
|
|
3289
3342
|
return (jsx("div", { className: `mt-2.5 z-10 ${descriptionWidth}`, children: jsx(Paragraph, { size: "text-m", font: "font-light", color: "group-data-primary:text-secondary-text", children: additionalDescription }) }));
|
|
3290
3343
|
}
|
|
3291
3344
|
|
|
3292
|
-
const RichText = JSX((props) => {
|
|
3293
|
-
const { __html = '' } = props;
|
|
3294
|
-
return jsx("div", { className: "md-container", dangerouslySetInnerHTML: { __html } });
|
|
3295
|
-
});
|
|
3296
|
-
|
|
3297
|
-
function assertUnreachable(x) {
|
|
3298
|
-
throw new Error(x);
|
|
3299
|
-
}
|
|
3300
|
-
|
|
3301
3345
|
const renderBenefit =
|
|
3302
3346
|
// Linter doesn't understand that switch processes all cases
|
|
3303
3347
|
// eslint-disable-next-line consistent-return
|
|
@@ -3313,7 +3357,7 @@
|
|
|
3313
3357
|
jsx(Text, { size: "text-m", font: "font-light", color: "group-data-primary:text-secondary-text", children: benefit.description }, `desc-${i}`),
|
|
3314
3358
|
];
|
|
3315
3359
|
case 'rte':
|
|
3316
|
-
return jsx(RichText, { __html: benefit.__html });
|
|
3360
|
+
return (jsx("div", { className: "col-span-2", children: jsx(RichText, { __html: benefit.__html }) }));
|
|
3317
3361
|
default:
|
|
3318
3362
|
assertUnreachable(benefit);
|
|
3319
3363
|
}
|
|
@@ -4198,7 +4242,7 @@
|
|
|
4198
4242
|
return (jsx("div", { className: "flex items-end absolute bottom-0 right-0 h-full pointer-events-none", children: jsx(LikeControl, { className: "rounded-tl-lg sticky bottom-0 pointer-events-auto" }) }));
|
|
4199
4243
|
}
|
|
4200
4244
|
|
|
4201
|
-
const packageVersion = "0.7.
|
|
4245
|
+
const packageVersion = "0.7.8";
|
|
4202
4246
|
|
|
4203
4247
|
exports.Blocks = Blocks;
|
|
4204
4248
|
exports.ContentPage = ContentPage;
|