@redneckz/wildless-cms-uni-blocks 0.3.58 → 0.3.60
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/bundle/blocks.schema.json +1 -1
- package/bundle/bundle.umd.js +55 -24
- package/bundle/bundle.umd.min.js +1 -1
- 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/GroupBlock/GroupBlock.js +1 -1
- package/dist/components/GroupBlock/GroupBlock.js.map +1 -1
- package/dist/components/GroupBlock/GroupBlockTabs.js +4 -4
- package/dist/components/GroupBlock/GroupBlockTabs.js.map +1 -1
- package/dist/components/Header/Header.js +2 -2
- package/dist/components/Header/Header.js.map +1 -1
- package/dist/components/Header/HeaderContent.d.ts +6 -0
- package/dist/components/Header/HeaderSubMenu.js +7 -4
- package/dist/components/Header/HeaderSubMenu.js.map +1 -1
- package/dist/components/Insurance/Insurance.d.ts +5 -0
- package/dist/components/Insurance/Insurance.js +22 -0
- package/dist/components/Insurance/Insurance.js.map +1 -0
- package/dist/components/Insurance/InsuranceContent.d.ts +13 -0
- package/dist/components/Insurance/InsuranceContent.js +2 -0
- package/dist/components/Insurance/InsuranceContent.js.map +1 -0
- package/dist/components/ProductTile/ProductTile.js +14 -2
- package/dist/components/ProductTile/ProductTile.js.map +1 -1
- package/dist/components/ProductTile/ProductTileContent.d.ts +2 -0
- package/dist/components/Tile/Tile.js +1 -1
- package/dist/components/Tile/Tile.js.map +1 -1
- package/dist/types.d.ts +0 -5
- package/dist/ui-kit/Button/Button.js +2 -2
- package/dist/ui-kit/Button/Button.js.map +1 -1
- package/dist/ui-kit/Button/ButtonInner.js +2 -2
- package/dist/ui-kit/Button/ButtonInner.js.map +1 -1
- package/dist/ui-kit/Button/ButtonProps.d.ts +2 -0
- package/dist/ui-kit/Button/ButtonSection.js +1 -1
- package/dist/ui-kit/Button/ButtonSection.js.map +1 -1
- package/dist/ui-kit/Icon/Icon.js +1 -1
- package/dist/ui-kit/Icon/Icon.js.map +1 -1
- package/lib/common.css +1 -1
- 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/GroupBlock/GroupBlock.js +1 -1
- package/lib/components/GroupBlock/GroupBlock.js.map +1 -1
- package/lib/components/GroupBlock/GroupBlockTabs.js +4 -4
- package/lib/components/GroupBlock/GroupBlockTabs.js.map +1 -1
- package/lib/components/Header/Header.fixture.d.ts +1 -0
- package/lib/components/Header/Header.js +2 -2
- package/lib/components/Header/Header.js.map +1 -1
- package/lib/components/Header/HeaderContent.d.ts +6 -0
- package/lib/components/Header/HeaderSubMenu.js +7 -4
- package/lib/components/Header/HeaderSubMenu.js.map +1 -1
- package/lib/components/Insurance/Insurance.d.ts +5 -0
- package/lib/components/Insurance/Insurance.fixture.d.ts +4 -0
- package/lib/components/Insurance/Insurance.js +20 -0
- package/lib/components/Insurance/Insurance.js.map +1 -0
- package/lib/components/Insurance/InsuranceContent.d.ts +13 -0
- package/lib/components/Insurance/InsuranceContent.js +2 -0
- package/lib/components/Insurance/InsuranceContent.js.map +1 -0
- package/lib/components/ProductTile/ProductTile.fixture.d.ts +1 -0
- package/lib/components/ProductTile/ProductTile.js +14 -2
- package/lib/components/ProductTile/ProductTile.js.map +1 -1
- package/lib/components/ProductTile/ProductTileContent.d.ts +2 -0
- package/lib/components/Tile/Tile.js +1 -1
- package/lib/components/Tile/Tile.js.map +1 -1
- package/lib/types.d.ts +0 -5
- package/lib/ui-kit/Button/Button.js +2 -2
- package/lib/ui-kit/Button/Button.js.map +1 -1
- package/lib/ui-kit/Button/ButtonInner.js +2 -2
- package/lib/ui-kit/Button/ButtonInner.js.map +1 -1
- package/lib/ui-kit/Button/ButtonProps.d.ts +2 -0
- package/lib/ui-kit/Button/ButtonSection.js +1 -1
- package/lib/ui-kit/Button/ButtonSection.js.map +1 -1
- package/lib/ui-kit/Icon/Icon.js +1 -1
- package/lib/ui-kit/Icon/Icon.js.map +1 -1
- package/mobile/bundle/bundle.umd.js +4 -4
- package/mobile/bundle/bundle.umd.min.js +1 -1
- package/mobile/dist/components/GroupBlock/GroupBlock.js +1 -1
- package/mobile/dist/components/GroupBlock/GroupBlock.js.map +1 -1
- package/mobile/dist/components/GroupBlock/GroupBlockTabs.js +4 -4
- package/mobile/dist/components/GroupBlock/GroupBlockTabs.js.map +1 -1
- package/mobile/dist/components/Header/HeaderContent.d.ts +6 -0
- package/mobile/dist/components/Header/HeaderSubMenu.js +7 -4
- package/mobile/dist/components/Header/HeaderSubMenu.js.map +1 -1
- package/mobile/dist/components/Insurance/Insurance.d.ts +5 -0
- package/mobile/dist/components/Insurance/Insurance.js +22 -0
- package/mobile/dist/components/Insurance/Insurance.js.map +1 -0
- package/mobile/dist/components/Insurance/InsuranceContent.d.ts +13 -0
- package/mobile/dist/components/Insurance/InsuranceContent.js +2 -0
- package/mobile/dist/components/Insurance/InsuranceContent.js.map +1 -0
- package/mobile/dist/components/ProductTile/ProductTile.js +14 -2
- package/mobile/dist/components/ProductTile/ProductTile.js.map +1 -1
- package/mobile/dist/components/ProductTile/ProductTileContent.d.ts +2 -0
- package/mobile/dist/components/Tile/Tile.js +1 -1
- package/mobile/dist/components/Tile/Tile.js.map +1 -1
- package/mobile/dist/types.d.ts +0 -5
- package/mobile/dist/ui-kit/Button/ButtonInner.js +2 -2
- package/mobile/dist/ui-kit/Button/ButtonInner.js.map +1 -1
- package/mobile/dist/ui-kit/Button/ButtonProps.d.ts +2 -0
- package/mobile/dist/ui-kit/Button/ButtonSection.js +1 -1
- package/mobile/dist/ui-kit/Button/ButtonSection.js.map +1 -1
- package/mobile/dist/ui-kit/Icon/Icon.js +1 -1
- package/mobile/dist/ui-kit/Icon/Icon.js.map +1 -1
- package/mobile/lib/components/GroupBlock/GroupBlock.js +1 -1
- package/mobile/lib/components/GroupBlock/GroupBlock.js.map +1 -1
- package/mobile/lib/components/GroupBlock/GroupBlockTabs.js +4 -4
- package/mobile/lib/components/GroupBlock/GroupBlockTabs.js.map +1 -1
- package/mobile/lib/components/Header/HeaderContent.d.ts +6 -0
- package/mobile/lib/components/Header/HeaderSubMenu.js +7 -4
- package/mobile/lib/components/Header/HeaderSubMenu.js.map +1 -1
- package/mobile/lib/components/Insurance/Insurance.d.ts +5 -0
- package/mobile/lib/components/Insurance/Insurance.js +20 -0
- package/mobile/lib/components/Insurance/Insurance.js.map +1 -0
- package/mobile/lib/components/Insurance/InsuranceContent.d.ts +13 -0
- package/mobile/lib/components/Insurance/InsuranceContent.js +2 -0
- package/mobile/lib/components/Insurance/InsuranceContent.js.map +1 -0
- package/mobile/lib/components/ProductTile/ProductTile.js +14 -2
- package/mobile/lib/components/ProductTile/ProductTile.js.map +1 -1
- package/mobile/lib/components/ProductTile/ProductTileContent.d.ts +2 -0
- package/mobile/lib/components/Tile/Tile.js +1 -1
- package/mobile/lib/components/Tile/Tile.js.map +1 -1
- package/mobile/lib/types.d.ts +0 -5
- package/mobile/lib/ui-kit/Button/ButtonInner.js +2 -2
- package/mobile/lib/ui-kit/Button/ButtonInner.js.map +1 -1
- package/mobile/lib/ui-kit/Button/ButtonProps.d.ts +2 -0
- package/mobile/lib/ui-kit/Button/ButtonSection.js +1 -1
- package/mobile/lib/ui-kit/Button/ButtonSection.js.map +1 -1
- package/mobile/lib/ui-kit/Icon/Icon.js +1 -1
- package/mobile/lib/ui-kit/Icon/Icon.js.map +1 -1
- package/mobile/src/components/ContentPage/ContentPage.page.json +39 -0
- package/mobile/src/components/GroupBlock/GroupBlock.tsx +1 -3
- package/mobile/src/components/GroupBlock/GroupBlockTabs.tsx +4 -4
- package/mobile/src/components/Header/HeaderContent.ts +6 -0
- package/mobile/src/components/Header/HeaderSubMenu.tsx +10 -5
- package/mobile/src/components/Insurance/Insurance.tsx +68 -0
- package/mobile/src/components/Insurance/InsuranceContent.ts +14 -0
- package/mobile/src/components/Insurance/Insuranse.example.json +36 -0
- package/mobile/src/components/ProductTile/ProductTile.tsx +30 -13
- package/mobile/src/components/ProductTile/ProductTileContent.ts +2 -0
- package/mobile/src/components/Tile/Tile.tsx +5 -1
- package/mobile/src/types.ts +0 -6
- package/mobile/src/ui-kit/Button/ButtonInner.tsx +2 -1
- package/mobile/src/ui-kit/Button/ButtonProps.ts +2 -0
- package/mobile/src/ui-kit/Button/ButtonSection.tsx +1 -1
- package/mobile/src/ui-kit/Icon/Icon.tsx +1 -1
- package/package.json +1 -1
- package/src/components/Blocks.ts +2 -0
- package/src/components/ContentPage/ContentPage.page.json +39 -0
- package/src/components/GroupBlock/GroupBlock.tsx +1 -3
- package/src/components/GroupBlock/GroupBlockTabs.tsx +4 -4
- package/src/components/Header/Header.fixture.tsx +1 -0
- package/src/components/Header/Header.tsx +4 -1
- package/src/components/Header/HeaderContent.ts +6 -0
- package/src/components/Header/HeaderSubMenu.tsx +10 -5
- package/src/components/Insurance/Insurance.fixture.tsx +65 -0
- package/src/components/Insurance/Insurance.tsx +68 -0
- package/src/components/Insurance/InsuranceContent.ts +14 -0
- package/src/components/Insurance/Insuranse.example.json +36 -0
- package/src/components/ProductTile/ProductTile.fixture.tsx +50 -5
- package/src/components/ProductTile/ProductTile.tsx +30 -13
- package/src/components/ProductTile/ProductTileContent.ts +2 -0
- package/src/components/Tile/Tile.tsx +5 -1
- package/src/types.ts +0 -6
- package/src/ui-kit/Button/Button.fixture.tsx +12 -0
- package/src/ui-kit/Button/Button.tsx +8 -2
- package/src/ui-kit/Button/ButtonInner.tsx +2 -1
- package/src/ui-kit/Button/ButtonProps.ts +2 -0
- package/src/ui-kit/Button/ButtonSection.tsx +1 -1
- package/src/ui-kit/Icon/Icon.tsx +1 -1
- package/dist/components/ContentPage/CustomContentPage.d.ts +0 -30
- package/dist/components/ContentPage/CustomContentPage.js +0 -33
- package/dist/components/ContentPage/CustomContentPage.js.map +0 -1
- package/lib/components/ContentPage/CustomContentPage.d.ts +0 -30
- package/lib/components/ContentPage/CustomContentPage.js +0 -31
- package/lib/components/ContentPage/CustomContentPage.js.map +0 -1
- package/mobile/dist/components/ContentPage/CustomContentPage.d.ts +0 -30
- package/mobile/dist/components/ContentPage/CustomContentPage.js +0 -33
- package/mobile/dist/components/ContentPage/CustomContentPage.js.map +0 -1
- package/mobile/lib/components/ContentPage/CustomContentPage.d.ts +0 -30
- package/mobile/lib/components/ContentPage/CustomContentPage.js +0 -31
- package/mobile/lib/components/ContentPage/CustomContentPage.js.map +0 -1
- package/mobile/src/components/ContentPage/CustomContentPage.tsx +0 -82
- package/src/components/ContentPage/CustomContentPage.tsx +0 -82
package/bundle/bundle.umd.js
CHANGED
|
@@ -397,7 +397,7 @@
|
|
|
397
397
|
|
|
398
398
|
const Icon = JSX(({ className = '', name = '', alt = `Иконка ${IconTitleMap[name] || name}`, title = alt, iconVersion, asSVG, ...imgProps }) => {
|
|
399
399
|
const href = `${projectSettings.CDN || ''}icons/${name}.svg`;
|
|
400
|
-
const svgUseStyle = iconVersion === 'white' ? 'text-black invert' : '';
|
|
400
|
+
const svgUseStyle = iconVersion === 'white' ? 'text-black invert' : 'text-primary-main';
|
|
401
401
|
if (asSVG) {
|
|
402
402
|
return (jsxs("svg", { className: className, ...imgProps, "aria-hidden": "true", children: [title ? jsx("title", { children: title }) : null, alt ? jsx("desc", { children: alt }) : null, jsx("use", { className: svgUseStyle, href: `${href}#icon`, xlinkHref: `${href}#icon` })] }));
|
|
403
403
|
}
|
|
@@ -513,9 +513,9 @@
|
|
|
513
513
|
secondary: 'bg-primary-main text-white',
|
|
514
514
|
};
|
|
515
515
|
const PictureText = JSX(({ className = '', title, image, benefits, version = 'primary', directionRight = false, anchor = null, }) => {
|
|
516
|
-
return (jsxs("section", { className: `relative font-sans p-14 ${pictureTextStyleMap[version]} ${className}`, id: anchor, children: [jsx(Heading, { headingType: "h2", className: "text-center", title: title }), jsxs("div", { className: 'flex justify-center mt-9', children: [image?.src && jsx(Img, { className: directionRight ? 'order-2 ml-6' : 'mr-6', image: image }), benefits?.length ? (jsx("div", { className: "flex flex-col", children: benefits.map((_, i) => renderBenefit$
|
|
516
|
+
return (jsxs("section", { className: `relative font-sans p-14 ${pictureTextStyleMap[version]} ${className}`, id: anchor, children: [jsx(Heading, { headingType: "h2", className: "text-center", title: title }), jsxs("div", { className: 'flex justify-center mt-9', children: [image?.src && jsx(Img, { className: directionRight ? 'order-2 ml-6' : 'mr-6', image: image }), benefits?.length ? (jsx("div", { className: "flex flex-col", children: benefits.map((_, i) => renderBenefit$2(_, i, version)) })) : null] })] }));
|
|
517
517
|
});
|
|
518
|
-
function renderBenefit$
|
|
518
|
+
function renderBenefit$2(benefit, i, version) {
|
|
519
519
|
return (jsxs("div", { className: "flex flex-row mb-8", children: [benefit.icon ? (jsx(Img, { className: "w-[48px] h-[48px] bg-main rounded-full box-border p-[12px]", image: benefit.icon, width: "48", height: "48", asSVG: true })) : null, jsxs("div", { className: "flex gap-1 flex-col h-full ml-5 max-w-[490px]", children: [benefit.label && (jsx("div", { className: `font-medium text-xl m-0 ${version === 'primary' ? 'text-primary-text' : ''}`, children: benefit.label })), benefit.description && (jsx("div", { className: `font-normal text-sm ${version === 'primary' ? 'text-secondary-text' : ''}`, children: benefit.description }))] })] }, String(i)));
|
|
520
520
|
}
|
|
521
521
|
|
|
@@ -598,8 +598,8 @@
|
|
|
598
598
|
}
|
|
599
599
|
|
|
600
600
|
const ButtonInner = JSX((props) => {
|
|
601
|
-
const { text, aboveText, appendLeft } = props;
|
|
602
|
-
return (jsxs("div", { className: getButtonStyle(props), children: [appendLeft ? appendLeft : null, isWithText(props) ? (jsxs("div", { children: [jsx("div", { className: "text-m-2xs font-light text-left", children: aboveText }), jsx("div", { className: "text-button text-left", children: text })] })) : null] }));
|
|
601
|
+
const { text, aboveText, appendLeft, appendRight } = props;
|
|
602
|
+
return (jsxs("div", { className: getButtonStyle(props), children: [appendLeft ? appendLeft : null, isWithText(props) ? (jsxs("div", { children: [jsx("div", { className: "text-m-2xs font-light text-left", children: aboveText }), jsx("div", { className: "text-button text-left", children: text })] })) : null, appendRight ? appendRight : null] }));
|
|
603
603
|
});
|
|
604
604
|
const getButtonStyle = (props) => {
|
|
605
605
|
const { version, aboveText, rounded } = props;
|
|
@@ -627,8 +627,8 @@
|
|
|
627
627
|
};
|
|
628
628
|
const buttonStyle = 'text-center font-sans select-none';
|
|
629
629
|
const Button = JSX((props) => {
|
|
630
|
-
const { text, aboveText, appendLeft, children, disabled, rounded, ...rest } = props;
|
|
631
|
-
const buttonInner = children ?? (jsx(ButtonInner, { text: text, aboveText: aboveText, appendLeft: appendLeft, rounded: rounded }));
|
|
630
|
+
const { text, aboveText, appendLeft, appendRight, children, disabled, rounded, ...rest } = props;
|
|
631
|
+
const buttonInner = children ?? (jsx(ButtonInner, { text: text, aboveText: aboveText, appendLeft: appendLeft, appendRight: appendRight, rounded: rounded }));
|
|
632
632
|
return disabled ? (jsx(DisabledButton, { rounded: rounded, ...rest, children: buttonInner })) : (jsx(RegularButton, { rounded: rounded, ...rest, children: buttonInner }));
|
|
633
633
|
});
|
|
634
634
|
const RegularButton = JSX(({ className = '', ariaLabel, version = 'none', rounded, href, target, children, onClick, ...rest }) => {
|
|
@@ -641,7 +641,7 @@
|
|
|
641
641
|
const ButtonSection = JSX(({ context, className = '', buttons }) => {
|
|
642
642
|
const { handlerDecorator } = context;
|
|
643
643
|
const router = context.useRouter();
|
|
644
|
-
return buttons?.length ? (jsx("div", { className:
|
|
644
|
+
return buttons?.length ? (jsx("div", { className: className, children: buttons.map((button, index) => renderButton$2(useLink({ router, handlerDecorator }, button), index)) })) : null;
|
|
645
645
|
});
|
|
646
646
|
function renderButton$2({ icon, ...button }, i) {
|
|
647
647
|
if (!button?.text)
|
|
@@ -708,7 +708,7 @@
|
|
|
708
708
|
primary: 'text-secondary-text',
|
|
709
709
|
secondary: 'text-white',
|
|
710
710
|
};
|
|
711
|
-
function renderBenefit({ benefit, version = 'primary', benefitsVersion = 'normal' }, i) {
|
|
711
|
+
function renderBenefit$1({ benefit, version = 'primary', benefitsVersion = 'normal' }, i) {
|
|
712
712
|
const isIconWhite = benefitsVersion === 'white' || version === 'secondary';
|
|
713
713
|
return (jsxs("div", { className: "flex gap-4 items-center", children: [benefit.icon ? (jsx(Img, { className: renderBenefitIconBgStyle(version, benefitsVersion), image: { ...benefit?.icon, iconVersion: isIconWhite ? 'white' : 'normal' }, width: "24", height: "24", asSVG: true })) : null, jsxs("div", { className: "flex gap-0.5 flex-col h-full max-w-[149px] min-w-[149px]", children: [jsx("div", { className: `text-xl m-0 ${benefitTitleStyleMap[version]}`, children: benefit.label }), benefit.description && (jsx("div", { className: `font-light text-m-md ${benefitDescStyleMap[version]}`, children: benefit.description }))] })] }, String(i)));
|
|
714
714
|
}
|
|
@@ -725,7 +725,7 @@
|
|
|
725
725
|
|
|
726
726
|
const ProductBlockInner = JSX(({ className = '', context, title, headingType = 'h2', description, benefits, benefitsVersion = 'normal', buttons, image, items, version = 'primary', isDotted = true, textBlockClassName = '', }) => {
|
|
727
727
|
const textColor = version === 'secondary' ? 'text-white' : 'text-primary-text';
|
|
728
|
-
return (jsxs("div", { className: `flex grow justify-between items-stretch ${className}`, children: [jsx("div", { className: `flex flex-col ${textBlockClassName}`, children: jsxs(BaseTile, { context: context, title: getTitle(title, headingType), buttons: getButtons(context, buttons), children: [description && (jsx(Description, { className: `mt-4 max-w-[600px] text-md font-light ${textColor}`, description: description })), benefits?.filter((items) => items.label)?.length ? (jsx("div", { className: "flex gap-6 mt-6", children: benefits.map((benefit, i) => renderBenefit({ benefit, version, benefitsVersion }, i)) })) : null, items?.length ? (jsx(List, { className: "mt-5 text-title-2xs font-light", items: items, itemClassName: "mb-[7px]", version: version, isDotted: isDotted })) : null] }) }), image?.src && jsx(Img, { className: "mt-[-50px]", image: image })] }));
|
|
728
|
+
return (jsxs("div", { className: `flex grow justify-between items-stretch ${className}`, children: [jsx("div", { className: `flex flex-col ${textBlockClassName}`, children: jsxs(BaseTile, { context: context, title: getTitle(title, headingType), buttons: getButtons(context, buttons), children: [description && (jsx(Description, { className: `mt-4 max-w-[600px] text-md font-light ${textColor}`, description: description })), benefits?.filter((items) => items.label)?.length ? (jsx("div", { className: "flex gap-6 mt-6", children: benefits.map((benefit, i) => renderBenefit$1({ benefit, version, benefitsVersion }, i)) })) : null, items?.length ? (jsx(List, { className: "mt-5 text-title-2xs font-light", items: items, itemClassName: "mb-[7px]", version: version, isDotted: isDotted })) : null] }) }), image?.src && jsx(Img, { className: "mt-[-50px]", image: image })] }));
|
|
729
729
|
});
|
|
730
730
|
const getTitle = (title, headingType) => {
|
|
731
731
|
return (title && (jsx(Heading, { headingType: headingType, title: title, className: "whitespace-pre-wrap max-w-[600px]" })));
|
|
@@ -823,7 +823,7 @@
|
|
|
823
823
|
const Tile = JSX((props) => {
|
|
824
824
|
const { context, title, headingType = 'h3', description, items, children, buttons, image, className = '', version = 'primary', role, anchor = null, } = props;
|
|
825
825
|
return (jsx("section", { className: `overflow-hidden font-sans p-9 pr-3 box-border ${className} ${tileStyleMap[version]} ${getTileRightPadding(className)} ${getTileMinHeight(className)} `, role: role, id: anchor, children: jsxs(BaseTile, { context: context, title: title && (jsx(Heading, { headingType: headingType, as: "h3", title: title, className: `whitespace-pre-wrap max-w-[600px] ${title ? 'mb-3' : ''}
|
|
826
|
-
${version === 'primary' ? 'text-primary-text' : ''}` })), buttons: buttons?.length ? (jsx(ButtonSection, { context: context, buttons: buttons, className: "flex mt-9 gap-3" })) : null, image: image?.src && jsx(Img, { className: "mt-auto ml-7", image: image }), children: [description && (jsx(Description, { className: "max-w-[600px] text-title-new-sm font-light", description: description })), children, renderList$1(items, version)] }) }));
|
|
826
|
+
${version === 'primary' ? 'text-primary-text' : ''}` })), buttons: buttons?.length ? (jsx(ButtonSection, { context: context, buttons: buttons.map((button) => ({ ...button, className: 'w-[158px]' })), className: "flex mt-9 gap-3" })) : null, image: image?.src && jsx(Img, { className: "mt-auto ml-7", image: image }), children: [description && (jsx(Description, { className: "max-w-[600px] text-title-new-sm font-light", description: description })), children, renderList$1(items, version)] }) }));
|
|
827
827
|
});
|
|
828
828
|
function renderList$1(items, version) {
|
|
829
829
|
return items?.length ? (jsx(List, { items: items, itemClassName: "text-title-2xs font-light mt-2", version: version === 'primary' ? 'tile' : 'tile-white' })) : null;
|
|
@@ -833,9 +833,14 @@
|
|
|
833
833
|
primary: 'bg-white text-primary-text',
|
|
834
834
|
secondary: 'bg-primary-main text-white',
|
|
835
835
|
};
|
|
836
|
-
const ProductTile = JSX(({ context, className = '', title, headingType = 'h3', description, benefits, buttons, image, version = 'primary', anchor = null, }) => {
|
|
837
|
-
return (jsx("section", { className: `bg-white overflow-hidden text-primary-text font-sans p-9 box-border ${className} ${productTileStyleMap[version]} ${getTileRightPadding(className)} ${getTileMinHeight(className)} `, id: anchor, children: jsxs(BaseTile, { context: context, title: title && (jsx(Heading, { headingType: headingType, as: "h3", title: title, className: `whitespace-pre-wrap max-w-[600px]` })), buttons: buttons?.length ? (jsx(ButtonSection, { context: context, buttons: buttons, className: "flex mt-9 gap-3" })) : null, image: image?.src && jsx(Img, { className: "mt-auto ml-7", image: image }), children: [description ? (jsx(Description, { className: "mt-4 max-w-[600px]", description: description })) : null,
|
|
836
|
+
const ProductTile = JSX(({ context, className = '', title, headingType = 'h3', description, additionalDescription, benefits, buttons, image, version = 'primary', anchor = null, }) => {
|
|
837
|
+
return (jsx("section", { className: `bg-white overflow-hidden text-primary-text font-sans p-9 box-border ${className} ${productTileStyleMap[version]} ${getTileRightPadding(className)} ${getTileMinHeight(className)} `, id: anchor, children: jsxs(BaseTile, { context: context, title: title && (jsx(Heading, { headingType: headingType, as: "h3", title: title, className: `whitespace-pre-wrap max-w-[600px]` })), buttons: buttons?.length ? (jsx(ButtonSection, { context: context, buttons: buttons, className: "flex mt-9 gap-3" })) : null, image: image?.src && jsx(Img, { className: "mt-auto ml-7", image: image }), children: [description ? (jsx(Description, { className: "mt-4 max-w-[600px]", description: description })) : null, renderBenefits(benefits, version), additionalDescription
|
|
838
|
+
? renderAdditionalDescription(additionalDescription, version)
|
|
839
|
+
: null] }) }));
|
|
838
840
|
});
|
|
841
|
+
function renderBenefits(benefits = [], version) {
|
|
842
|
+
return (jsxs("div", { className: "flex mt-5 mb-1", children: [benefits.length ? jsx("div", { className: "mr-8", children: benefits.map(renderBenefitLabel) }) : null, benefits.length ? (jsx("div", { className: "pt-1", children: benefits.map((_, i) => renderBenefitDescription(_, i, version)) })) : null] }));
|
|
843
|
+
}
|
|
839
844
|
function renderBenefitLabel(benefit, i) {
|
|
840
845
|
return (jsx("div", { className: `text-xl font-medium ${i ? 'mt-2.5' : ''}`, children: benefit.label }, String(i)));
|
|
841
846
|
}
|
|
@@ -846,6 +851,13 @@
|
|
|
846
851
|
};
|
|
847
852
|
return (jsx("div", { className: `text-sm ${i ? 'mt-4' : ''} ${labelStyleMap[version]}`, children: benefit.description }, String(i)));
|
|
848
853
|
}
|
|
854
|
+
function renderAdditionalDescription(additionalDescription, version = 'primary') {
|
|
855
|
+
const descStyleMap = {
|
|
856
|
+
primary: 'text-secondary-text',
|
|
857
|
+
secondary: 'text-white',
|
|
858
|
+
};
|
|
859
|
+
return jsx("div", { className: `text-sm mt-2.5 ${descStyleMap[version]}`, children: additionalDescription });
|
|
860
|
+
}
|
|
849
861
|
|
|
850
862
|
const ArrowButton = JSX(({ className, disabled, ...rest }) => (jsx(Button, { rounded: true, className: `shadow-[0_4px_25px_rgba(0,0,0,0.07)] w-12 h-12 min-h-12 max-h-12 flex items-center justify-center ${disabled
|
|
851
863
|
? 'bg-secondary-light text-secondary-text'
|
|
@@ -1966,6 +1978,10 @@
|
|
|
1966
1978
|
});
|
|
1967
1979
|
};
|
|
1968
1980
|
|
|
1981
|
+
const DOT_BG_COLORS_MAP = {
|
|
1982
|
+
'bg-white': 'bg-primary-text',
|
|
1983
|
+
transparent: 'bg-white',
|
|
1984
|
+
};
|
|
1969
1985
|
const HeaderSubMenu = JSX(({ context, subItems, bgColor }) => {
|
|
1970
1986
|
const [subMenuIsShow, setHiddenMenuIsShow] = context.useState(false);
|
|
1971
1987
|
const router = context.useRouter();
|
|
@@ -1986,31 +2002,45 @@
|
|
|
1986
2002
|
subMenuIsShow,
|
|
1987
2003
|
toggleSubMenu,
|
|
1988
2004
|
subItems,
|
|
2005
|
+
bgColor,
|
|
1989
2006
|
router,
|
|
1990
2007
|
handlerDecorator,
|
|
1991
2008
|
})] }));
|
|
1992
2009
|
});
|
|
1993
2010
|
// TODO: add types
|
|
1994
|
-
const renderDotsSubMenu = ({ subMenuIsShow, toggleSubMenu, subItems, router, handlerDecorator, }) => (jsxs("div", { className: `absolute w-52 -top-4 right-0 pt-4 z-40 ${subMenuIsShow ? 'bg-white rounded-md shadow-blue-gray/24' : ''}`, "data-header-submenu-visible": "toggled", children: [jsx("button", { className: "flex justify-between items-center cursor-pointer h-6 ml-6", onClick: toggleSubMenu, "aria-label": `${subMenuIsShow ? 'Скрыть другие разделы' : 'Показать другие разделы'}`, children: Array(3)
|
|
1995
|
-
.fill(0)
|
|
1996
|
-
.map((_, i) => renderDot(i)) }), jsx("div", { className: `flex flex-col rounded-md bg-white p-6 pb-2 ${subMenuIsShow ? '' : 'hidden'}`, "aria-hidden": !subMenuIsShow, children: renderDotsSubMenuItems(subItems, router, handlerDecorator) })] }));
|
|
2011
|
+
const renderDotsSubMenu = ({ subMenuIsShow, toggleSubMenu, subItems, bgColor, router, handlerDecorator, }) => (jsxs("div", { className: `absolute w-52 -top-4 right-0 pt-4 z-40 ${subMenuIsShow ? 'bg-white rounded-md shadow-blue-gray/24' : ''}`, "data-header-submenu-visible": "toggled", children: [jsx("button", { className: "flex justify-between items-center cursor-pointer h-6 ml-6", onClick: toggleSubMenu, "aria-label": `${subMenuIsShow ? 'Скрыть другие разделы' : 'Показать другие разделы'}`, children: Array(3).fill(bgColor).map(renderDot) }), jsx("div", { className: `flex flex-col rounded-md bg-white p-6 pb-2 ${subMenuIsShow ? '' : 'hidden'}`, "aria-hidden": !subMenuIsShow, children: renderDotsSubMenuItems(subItems, router, handlerDecorator) })] }));
|
|
1997
2012
|
// TODO: add types
|
|
1998
2013
|
const renderDotsSubMenuItems = (subItems, router, handlerDecorator) => subItems?.map((_) => (jsx("a", { ...useLink({ router, handlerDecorator }, _), "data-item-name": "dots-header-submenu", className: "text-base font-light pb-4 hover:text-primary-main", children: _.text }, _.href)));
|
|
1999
|
-
const renderDot = (i) => (jsx("div", { className:
|
|
2014
|
+
const renderDot = (bgColor, i) => (jsx("div", { className: `w-[3px] h-[3px] rounded mr-1 ${DOT_BG_COLORS_MAP[bgColor]}` }, String(i)));
|
|
2000
2015
|
|
|
2001
2016
|
const BORDER_COLORS = {
|
|
2002
2017
|
'bg-white': 'bg-main-divider',
|
|
2003
2018
|
transparent: 'bg-main-divider opacity-30',
|
|
2004
2019
|
};
|
|
2005
|
-
const Header = JSX(({ className = '', defaultLocation = 'Москва', bgColor = 'bg-white', context, topItems, anchor = null, }) => {
|
|
2020
|
+
const Header = JSX(({ className = '', defaultLocation = 'Москва', showSubMenu = true, bgColor = 'bg-white', context, topItems, anchor = null, }) => {
|
|
2006
2021
|
const router = context.useRouter();
|
|
2007
2022
|
const sitemap = useSitemap(context.useAsyncData);
|
|
2008
2023
|
const { handlerDecorator } = context;
|
|
2009
2024
|
const mergedItems = mergeTopItems(sitemap.topItems, topItems);
|
|
2010
2025
|
const activeTopItem = mergedItems.find(isTopItemActive(router));
|
|
2011
2026
|
const topMenu = mergedItems.map((_, i) => (jsx(TopItem, { active: _ === activeTopItem, ...useLink({ router, handlerDecorator }, _), "aria-label": _.text, bgColor: bgColor }, String(i))));
|
|
2012
|
-
return (jsx("header", { className: `pt-6 pb-8 px-20 ${bgColor} ${className}`, id: anchor, children: jsxs("div", { className: "container", children: [jsxs("div", { className: "flex items-center", children: [jsx(Logo, { className: "mr-8", bgColor: bgColor }), topMenu, jsx(HeaderSecondaryMenu, { context: context, className: "ml-auto", defaultLocation: defaultLocation, bgColor: bgColor })] }), jsx("div", { className: `mt-6 h-[1px] ${BORDER_COLORS[bgColor]}` }), jsx(HeaderSubMenu, { context: context, subItems: activeTopItem
|
|
2027
|
+
return (jsx("header", { className: `pt-6 pb-8 px-20 ${bgColor} ${className}`, id: anchor, children: jsxs("div", { className: "container", children: [jsxs("div", { className: "flex items-center", children: [jsx(Logo, { className: "mr-8", bgColor: bgColor }), topMenu, jsx(HeaderSecondaryMenu, { context: context, className: "ml-auto", defaultLocation: defaultLocation, bgColor: bgColor })] }), jsx("div", { className: `mt-6 h-[1px] ${BORDER_COLORS[bgColor]}` }), showSubMenu && activeTopItem?.items?.length ? (jsx(HeaderSubMenu, { context: context, subItems: activeTopItem.items, bgColor: bgColor })) : null] }) }));
|
|
2028
|
+
});
|
|
2029
|
+
|
|
2030
|
+
const Insurance = JSX(({ className = '', title, description, image, benefits, insuranceSum, monthLimit }) => {
|
|
2031
|
+
return (jsxs("section", { className: `px-[100px] py-[50px] bg-white text-primary-text ${className}`, children: [title ? jsx(Heading, { headingType: "h3", title: title, className: "text-center" }) : null, description ? jsx("div", { className: "text-center text-md mt-3", children: description }) : null, jsx("div", { children: jsxs("div", { className: "mt-5 mx-auto flex justify-center gap-[120px] mt-[30px]", children: [image?.src ? jsx(Img, { image: image }) : null, jsxs("div", { className: "w-[558px] m-auto", children: [benefits ? (jsx("div", { className: "flex flex-col gap-4", children: benefits.map(renderBenefit) })) : null, jsxs("div", { className: "bg-secondary-light h-15 flex mt-7 gap-6 px-5 py-4", children: [insuranceSum
|
|
2032
|
+
? renderValueBlock('Страховая сумма:', insuranceSum, Boolean(monthLimit))
|
|
2033
|
+
: null, monthLimit
|
|
2034
|
+
? renderValueBlock('Ежемесячный лимит:', monthLimit, Boolean(insuranceSum))
|
|
2035
|
+
: null] })] })] }) })] }));
|
|
2013
2036
|
});
|
|
2037
|
+
function renderBenefit(benefit, i) {
|
|
2038
|
+
return (jsxs("div", { className: "flex items-center gap-5", children: [benefit?.icon ? (jsx(Img, { className: "w-[50px] h-[50px] min-w-[50px] p-3 rounded-full bg-secondary-light", image: benefit.icon, width: "24", height: "24", asSVG: true })) : null, jsx("div", { className: "flex", children: jsx("div", { className: "text-title-2xs", children: benefit.label }) })] }, String(i)));
|
|
2039
|
+
}
|
|
2040
|
+
function renderValueBlock(title, sum, isAnotherBlock) {
|
|
2041
|
+
const widthStyle = isAnotherBlock ? 'w-fit' : 'w-full';
|
|
2042
|
+
return (jsxs("div", { className: `flex justify-between items-center gap-2 w-full ${widthStyle}`, children: [jsx("span", { className: "text-secondary-text text-base", children: title }), jsxs("span", { className: "text-primary-main text-title-2xs", children: [addSpacesBetweenNumbers(sum), " \u20BD"] })] }));
|
|
2043
|
+
}
|
|
2014
2044
|
|
|
2015
2045
|
const MobileAppTile = JSX(({ className = '', context, title = 'Мобильное приложение', qr, buttons = [], anchor = null, }) => {
|
|
2016
2046
|
return (jsx("section", { className: `bg-white text-primary-text font-sans p-9 box-border ${className} ${getTileRightPadding(className)} ${getTileMinHeight(className)} `, id: anchor, children: jsx(BaseTile, { context: context, title: title && (jsx(Heading, { headingType: "h3", title: title, className: `whitespace-pre-wrap max-w-[600px] mb-[30px]` })), buttons: buttons?.length ? (jsx(ButtonSection, { context: context, buttons: buttons, className: "flex mt-[30px] gap-4" })) : null, children: jsxs("div", { className: "flex items-center", children: [qr?.src && qr?.href && (jsx("a", { href: qr.href, target: "_blank", "aria-label": title, children: jsx("img", { src: qr.src, alt: title, title: title, width: "164", height: "164", className: "w-[92px] h-[92px] min-w-[92px] min-h-[92px] bg-secondary-light" }) })), jsx("span", { className: "font-light text-secondary-text ml-4", children: "\u041D\u0430\u0432\u0435\u0434\u0438\u0442\u0435 \u043A\u0430\u043C\u0435\u0440\u0443 \u0442\u0435\u043B\u0435\u0444\u043E\u043D\u0430 \u043D\u0430 QR-\u043A\u043E\u0434 \u0438 \u0441\u043A\u0430\u0447\u0430\u0439\u0442\u0435 \u043F\u0440\u0438\u043B\u043E\u0436\u0435\u043D\u0438\u0435" })] }) }) }));
|
|
@@ -2249,16 +2279,16 @@
|
|
|
2249
2279
|
|
|
2250
2280
|
const GroupBlockTabs = JSX((props) => {
|
|
2251
2281
|
const { tabs, currentTag, onTabClick, className = '', isShowCounter = true } = props;
|
|
2252
|
-
return (jsx("div", { className: `mb-2 box-border flex gap-x-1
|
|
2282
|
+
return (jsx("div", { className: `mb-2 box-border flex gap-x-1 ${className}`, role: "tablist", children: tabs?.map(renderTab(onTabClick, isShowCounter, currentTag)) }));
|
|
2253
2283
|
});
|
|
2254
|
-
const badgeStyle = 'w-[22px] h-[22px] rounded-full text-m-sm';
|
|
2284
|
+
const badgeStyle = 'min-w-[22px] w-[22px] h-[22px] rounded-full text-m-sm';
|
|
2255
2285
|
const renderTab = (onTabClick, isShowCounter, currentTag) => (tab, i) => {
|
|
2256
2286
|
const isActive = currentTag === tab.tag;
|
|
2257
2287
|
const tabBg = isActive ? 'bg-primary-main' : 'group bg-white';
|
|
2258
2288
|
const tabText = isActive ? 'text-white' : 'text-secondary-text group-hover:text-primary-main';
|
|
2259
2289
|
const counterBlockStyle = `${badgeStyle}
|
|
2260
|
-
${isActive ? 'bg-white/30 text-white' : 'bg-secondary-
|
|
2261
|
-
return (jsx("div", { className: `flex h-full w-full flex-1 cursor-pointer mr-2 last:mr-0 box-content ${tabBg}`, role: "tab", onClick: () => onTabClick(tab.tag), "aria-selected": String(isActive), tag: tab?.tag, children: jsxs("div", { className: "flex flex-1 items-center justify-center", children: [tab?.title ? jsx("h3", { className: `mr-8 ${tabText}`, children: tab?.title }) : null, isShowCounter ? (jsx("div", { className: `flex items-center justify-center ${counterBlockStyle}`, children: jsx("span", { children: tab.count }) })) : null] }) }, String(i)));
|
|
2290
|
+
${isActive ? 'bg-white/30 text-white' : 'bg-secondary-light text-secondary-text'}`;
|
|
2291
|
+
return (jsx("div", { className: `flex h-full w-full h-12 flex-1 cursor-pointer mr-2 last:mr-0 box-content ${tabBg}`, role: "tab", onClick: () => onTabClick(tab.tag), "aria-selected": String(isActive), tag: tab?.tag, children: jsxs("div", { className: "flex flex-1 items-center justify-center", children: [tab?.title ? jsx("h3", { className: `mr-8 ${tabText}`, children: tab?.title }) : null, isShowCounter ? (jsx("div", { className: `flex items-center justify-center ${counterBlockStyle}`, children: jsx("span", { children: tab.count }) })) : null] }) }, String(i)));
|
|
2262
2292
|
};
|
|
2263
2293
|
|
|
2264
2294
|
function style2className(style) {
|
|
@@ -2296,7 +2326,7 @@
|
|
|
2296
2326
|
: groupBlocks.length;
|
|
2297
2327
|
return { ...tab, count };
|
|
2298
2328
|
});
|
|
2299
|
-
return (jsxs("section", { id: anchor, className: `box-border gap-1 h-12 ${className}`, children: [tabsNewMap?.length ? (jsx(GroupBlockTabs, { currentTag: currentTag, onTabClick: setCurrentTag, tabs: tabsNewMap })) : null, groupBlocks.length ? (jsx(
|
|
2329
|
+
return (jsxs("section", { id: anchor, className: `box-border gap-1 h-12 ${className}`, children: [tabsNewMap?.length ? (jsx(GroupBlockTabs, { currentTag: currentTag, onTabClick: setCurrentTag, tabs: tabsNewMap })) : null, groupBlocks.length ? (jsx(GroupBlocksItem, { context: context, groupBlocks: filteredBlocks })) : null] }));
|
|
2300
2330
|
});
|
|
2301
2331
|
|
|
2302
2332
|
const Blocks = {
|
|
@@ -2312,6 +2342,7 @@
|
|
|
2312
2342
|
GracePeriod,
|
|
2313
2343
|
Header,
|
|
2314
2344
|
Headline,
|
|
2345
|
+
Insurance,
|
|
2315
2346
|
LinkDocs,
|
|
2316
2347
|
MiniGallery,
|
|
2317
2348
|
MobileAppTile,
|