@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.
Files changed (181) hide show
  1. package/bundle/blocks.schema.json +1 -1
  2. package/bundle/bundle.umd.js +55 -24
  3. package/bundle/bundle.umd.min.js +1 -1
  4. package/dist/components/Blocks.d.ts +1 -0
  5. package/dist/components/Blocks.js +2 -0
  6. package/dist/components/Blocks.js.map +1 -1
  7. package/dist/components/GroupBlock/GroupBlock.js +1 -1
  8. package/dist/components/GroupBlock/GroupBlock.js.map +1 -1
  9. package/dist/components/GroupBlock/GroupBlockTabs.js +4 -4
  10. package/dist/components/GroupBlock/GroupBlockTabs.js.map +1 -1
  11. package/dist/components/Header/Header.js +2 -2
  12. package/dist/components/Header/Header.js.map +1 -1
  13. package/dist/components/Header/HeaderContent.d.ts +6 -0
  14. package/dist/components/Header/HeaderSubMenu.js +7 -4
  15. package/dist/components/Header/HeaderSubMenu.js.map +1 -1
  16. package/dist/components/Insurance/Insurance.d.ts +5 -0
  17. package/dist/components/Insurance/Insurance.js +22 -0
  18. package/dist/components/Insurance/Insurance.js.map +1 -0
  19. package/dist/components/Insurance/InsuranceContent.d.ts +13 -0
  20. package/dist/components/Insurance/InsuranceContent.js +2 -0
  21. package/dist/components/Insurance/InsuranceContent.js.map +1 -0
  22. package/dist/components/ProductTile/ProductTile.js +14 -2
  23. package/dist/components/ProductTile/ProductTile.js.map +1 -1
  24. package/dist/components/ProductTile/ProductTileContent.d.ts +2 -0
  25. package/dist/components/Tile/Tile.js +1 -1
  26. package/dist/components/Tile/Tile.js.map +1 -1
  27. package/dist/types.d.ts +0 -5
  28. package/dist/ui-kit/Button/Button.js +2 -2
  29. package/dist/ui-kit/Button/Button.js.map +1 -1
  30. package/dist/ui-kit/Button/ButtonInner.js +2 -2
  31. package/dist/ui-kit/Button/ButtonInner.js.map +1 -1
  32. package/dist/ui-kit/Button/ButtonProps.d.ts +2 -0
  33. package/dist/ui-kit/Button/ButtonSection.js +1 -1
  34. package/dist/ui-kit/Button/ButtonSection.js.map +1 -1
  35. package/dist/ui-kit/Icon/Icon.js +1 -1
  36. package/dist/ui-kit/Icon/Icon.js.map +1 -1
  37. package/lib/common.css +1 -1
  38. package/lib/components/Blocks.d.ts +1 -0
  39. package/lib/components/Blocks.js +2 -0
  40. package/lib/components/Blocks.js.map +1 -1
  41. package/lib/components/GroupBlock/GroupBlock.js +1 -1
  42. package/lib/components/GroupBlock/GroupBlock.js.map +1 -1
  43. package/lib/components/GroupBlock/GroupBlockTabs.js +4 -4
  44. package/lib/components/GroupBlock/GroupBlockTabs.js.map +1 -1
  45. package/lib/components/Header/Header.fixture.d.ts +1 -0
  46. package/lib/components/Header/Header.js +2 -2
  47. package/lib/components/Header/Header.js.map +1 -1
  48. package/lib/components/Header/HeaderContent.d.ts +6 -0
  49. package/lib/components/Header/HeaderSubMenu.js +7 -4
  50. package/lib/components/Header/HeaderSubMenu.js.map +1 -1
  51. package/lib/components/Insurance/Insurance.d.ts +5 -0
  52. package/lib/components/Insurance/Insurance.fixture.d.ts +4 -0
  53. package/lib/components/Insurance/Insurance.js +20 -0
  54. package/lib/components/Insurance/Insurance.js.map +1 -0
  55. package/lib/components/Insurance/InsuranceContent.d.ts +13 -0
  56. package/lib/components/Insurance/InsuranceContent.js +2 -0
  57. package/lib/components/Insurance/InsuranceContent.js.map +1 -0
  58. package/lib/components/ProductTile/ProductTile.fixture.d.ts +1 -0
  59. package/lib/components/ProductTile/ProductTile.js +14 -2
  60. package/lib/components/ProductTile/ProductTile.js.map +1 -1
  61. package/lib/components/ProductTile/ProductTileContent.d.ts +2 -0
  62. package/lib/components/Tile/Tile.js +1 -1
  63. package/lib/components/Tile/Tile.js.map +1 -1
  64. package/lib/types.d.ts +0 -5
  65. package/lib/ui-kit/Button/Button.js +2 -2
  66. package/lib/ui-kit/Button/Button.js.map +1 -1
  67. package/lib/ui-kit/Button/ButtonInner.js +2 -2
  68. package/lib/ui-kit/Button/ButtonInner.js.map +1 -1
  69. package/lib/ui-kit/Button/ButtonProps.d.ts +2 -0
  70. package/lib/ui-kit/Button/ButtonSection.js +1 -1
  71. package/lib/ui-kit/Button/ButtonSection.js.map +1 -1
  72. package/lib/ui-kit/Icon/Icon.js +1 -1
  73. package/lib/ui-kit/Icon/Icon.js.map +1 -1
  74. package/mobile/bundle/bundle.umd.js +4 -4
  75. package/mobile/bundle/bundle.umd.min.js +1 -1
  76. package/mobile/dist/components/GroupBlock/GroupBlock.js +1 -1
  77. package/mobile/dist/components/GroupBlock/GroupBlock.js.map +1 -1
  78. package/mobile/dist/components/GroupBlock/GroupBlockTabs.js +4 -4
  79. package/mobile/dist/components/GroupBlock/GroupBlockTabs.js.map +1 -1
  80. package/mobile/dist/components/Header/HeaderContent.d.ts +6 -0
  81. package/mobile/dist/components/Header/HeaderSubMenu.js +7 -4
  82. package/mobile/dist/components/Header/HeaderSubMenu.js.map +1 -1
  83. package/mobile/dist/components/Insurance/Insurance.d.ts +5 -0
  84. package/mobile/dist/components/Insurance/Insurance.js +22 -0
  85. package/mobile/dist/components/Insurance/Insurance.js.map +1 -0
  86. package/mobile/dist/components/Insurance/InsuranceContent.d.ts +13 -0
  87. package/mobile/dist/components/Insurance/InsuranceContent.js +2 -0
  88. package/mobile/dist/components/Insurance/InsuranceContent.js.map +1 -0
  89. package/mobile/dist/components/ProductTile/ProductTile.js +14 -2
  90. package/mobile/dist/components/ProductTile/ProductTile.js.map +1 -1
  91. package/mobile/dist/components/ProductTile/ProductTileContent.d.ts +2 -0
  92. package/mobile/dist/components/Tile/Tile.js +1 -1
  93. package/mobile/dist/components/Tile/Tile.js.map +1 -1
  94. package/mobile/dist/types.d.ts +0 -5
  95. package/mobile/dist/ui-kit/Button/ButtonInner.js +2 -2
  96. package/mobile/dist/ui-kit/Button/ButtonInner.js.map +1 -1
  97. package/mobile/dist/ui-kit/Button/ButtonProps.d.ts +2 -0
  98. package/mobile/dist/ui-kit/Button/ButtonSection.js +1 -1
  99. package/mobile/dist/ui-kit/Button/ButtonSection.js.map +1 -1
  100. package/mobile/dist/ui-kit/Icon/Icon.js +1 -1
  101. package/mobile/dist/ui-kit/Icon/Icon.js.map +1 -1
  102. package/mobile/lib/components/GroupBlock/GroupBlock.js +1 -1
  103. package/mobile/lib/components/GroupBlock/GroupBlock.js.map +1 -1
  104. package/mobile/lib/components/GroupBlock/GroupBlockTabs.js +4 -4
  105. package/mobile/lib/components/GroupBlock/GroupBlockTabs.js.map +1 -1
  106. package/mobile/lib/components/Header/HeaderContent.d.ts +6 -0
  107. package/mobile/lib/components/Header/HeaderSubMenu.js +7 -4
  108. package/mobile/lib/components/Header/HeaderSubMenu.js.map +1 -1
  109. package/mobile/lib/components/Insurance/Insurance.d.ts +5 -0
  110. package/mobile/lib/components/Insurance/Insurance.js +20 -0
  111. package/mobile/lib/components/Insurance/Insurance.js.map +1 -0
  112. package/mobile/lib/components/Insurance/InsuranceContent.d.ts +13 -0
  113. package/mobile/lib/components/Insurance/InsuranceContent.js +2 -0
  114. package/mobile/lib/components/Insurance/InsuranceContent.js.map +1 -0
  115. package/mobile/lib/components/ProductTile/ProductTile.js +14 -2
  116. package/mobile/lib/components/ProductTile/ProductTile.js.map +1 -1
  117. package/mobile/lib/components/ProductTile/ProductTileContent.d.ts +2 -0
  118. package/mobile/lib/components/Tile/Tile.js +1 -1
  119. package/mobile/lib/components/Tile/Tile.js.map +1 -1
  120. package/mobile/lib/types.d.ts +0 -5
  121. package/mobile/lib/ui-kit/Button/ButtonInner.js +2 -2
  122. package/mobile/lib/ui-kit/Button/ButtonInner.js.map +1 -1
  123. package/mobile/lib/ui-kit/Button/ButtonProps.d.ts +2 -0
  124. package/mobile/lib/ui-kit/Button/ButtonSection.js +1 -1
  125. package/mobile/lib/ui-kit/Button/ButtonSection.js.map +1 -1
  126. package/mobile/lib/ui-kit/Icon/Icon.js +1 -1
  127. package/mobile/lib/ui-kit/Icon/Icon.js.map +1 -1
  128. package/mobile/src/components/ContentPage/ContentPage.page.json +39 -0
  129. package/mobile/src/components/GroupBlock/GroupBlock.tsx +1 -3
  130. package/mobile/src/components/GroupBlock/GroupBlockTabs.tsx +4 -4
  131. package/mobile/src/components/Header/HeaderContent.ts +6 -0
  132. package/mobile/src/components/Header/HeaderSubMenu.tsx +10 -5
  133. package/mobile/src/components/Insurance/Insurance.tsx +68 -0
  134. package/mobile/src/components/Insurance/InsuranceContent.ts +14 -0
  135. package/mobile/src/components/Insurance/Insuranse.example.json +36 -0
  136. package/mobile/src/components/ProductTile/ProductTile.tsx +30 -13
  137. package/mobile/src/components/ProductTile/ProductTileContent.ts +2 -0
  138. package/mobile/src/components/Tile/Tile.tsx +5 -1
  139. package/mobile/src/types.ts +0 -6
  140. package/mobile/src/ui-kit/Button/ButtonInner.tsx +2 -1
  141. package/mobile/src/ui-kit/Button/ButtonProps.ts +2 -0
  142. package/mobile/src/ui-kit/Button/ButtonSection.tsx +1 -1
  143. package/mobile/src/ui-kit/Icon/Icon.tsx +1 -1
  144. package/package.json +1 -1
  145. package/src/components/Blocks.ts +2 -0
  146. package/src/components/ContentPage/ContentPage.page.json +39 -0
  147. package/src/components/GroupBlock/GroupBlock.tsx +1 -3
  148. package/src/components/GroupBlock/GroupBlockTabs.tsx +4 -4
  149. package/src/components/Header/Header.fixture.tsx +1 -0
  150. package/src/components/Header/Header.tsx +4 -1
  151. package/src/components/Header/HeaderContent.ts +6 -0
  152. package/src/components/Header/HeaderSubMenu.tsx +10 -5
  153. package/src/components/Insurance/Insurance.fixture.tsx +65 -0
  154. package/src/components/Insurance/Insurance.tsx +68 -0
  155. package/src/components/Insurance/InsuranceContent.ts +14 -0
  156. package/src/components/Insurance/Insuranse.example.json +36 -0
  157. package/src/components/ProductTile/ProductTile.fixture.tsx +50 -5
  158. package/src/components/ProductTile/ProductTile.tsx +30 -13
  159. package/src/components/ProductTile/ProductTileContent.ts +2 -0
  160. package/src/components/Tile/Tile.tsx +5 -1
  161. package/src/types.ts +0 -6
  162. package/src/ui-kit/Button/Button.fixture.tsx +12 -0
  163. package/src/ui-kit/Button/Button.tsx +8 -2
  164. package/src/ui-kit/Button/ButtonInner.tsx +2 -1
  165. package/src/ui-kit/Button/ButtonProps.ts +2 -0
  166. package/src/ui-kit/Button/ButtonSection.tsx +1 -1
  167. package/src/ui-kit/Icon/Icon.tsx +1 -1
  168. package/dist/components/ContentPage/CustomContentPage.d.ts +0 -30
  169. package/dist/components/ContentPage/CustomContentPage.js +0 -33
  170. package/dist/components/ContentPage/CustomContentPage.js.map +0 -1
  171. package/lib/components/ContentPage/CustomContentPage.d.ts +0 -30
  172. package/lib/components/ContentPage/CustomContentPage.js +0 -31
  173. package/lib/components/ContentPage/CustomContentPage.js.map +0 -1
  174. package/mobile/dist/components/ContentPage/CustomContentPage.d.ts +0 -30
  175. package/mobile/dist/components/ContentPage/CustomContentPage.js +0 -33
  176. package/mobile/dist/components/ContentPage/CustomContentPage.js.map +0 -1
  177. package/mobile/lib/components/ContentPage/CustomContentPage.d.ts +0 -30
  178. package/mobile/lib/components/ContentPage/CustomContentPage.js +0 -31
  179. package/mobile/lib/components/ContentPage/CustomContentPage.js.map +0 -1
  180. package/mobile/src/components/ContentPage/CustomContentPage.tsx +0 -82
  181. package/src/components/ContentPage/CustomContentPage.tsx +0 -82
@@ -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$1(_, i, version)) })) : 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$2(_, i, version)) })) : null] })] }));
517
517
  });
518
- function renderBenefit$1(benefit, i, version) {
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: `${className}`, children: buttons.map((button, index) => renderButton$2(useLink({ router, handlerDecorator }, button), index)) })) : null;
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, 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] })] }) }));
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: "w-[3px] h-[3px] rounded bg-black mr-1" }, String(i)));
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?.items, bgColor: bgColor })] }) }));
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 h-12 ${className}`, role: "tablist", children: tabs?.map(renderTab(onTabClick, isShowCounter, currentTag)) }));
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-text/10 text-secondary-text'}`;
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("div", { className: "list-none", children: jsx(GroupBlocksItem, { context: context, groupBlocks: filteredBlocks }) })) : null] }));
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,