@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.
Files changed (277) hide show
  1. package/bin/migration-scripts/0.7.8.js +29 -0
  2. package/bundle/blocks.schema.json +1 -1
  3. package/bundle/bundle.umd.js +115 -71
  4. package/bundle/bundle.umd.min.js +1 -1
  5. package/bundle/components/CarouselRecommendationCard/CarouselRecommendationCardContent.d.ts +5 -9
  6. package/bundle/components/Footer/MediaButton.d.ts +3 -4
  7. package/bundle/components/Footer/SocialMedia.d.ts +2 -3
  8. package/bundle/components/Header/HeaderChatBotButton.d.ts +11 -0
  9. package/bundle/components/Header/HeaderContent.d.ts +6 -1
  10. package/bundle/components/Header/HeaderSecondaryMenu.d.ts +2 -0
  11. package/bundle/components/Header/HeaderSecondaryMenuButton.d.ts +7 -2
  12. package/bundle/components/Header/useChatBot.d.ts +2 -0
  13. package/bundle/components/PictureText/renderBenefit.d.ts +4 -0
  14. package/bundle/hooks/useBool.d.ts +9 -0
  15. package/bundle/icons/IconName.d.ts +4 -2
  16. package/bundle/model/ButtonVersion.d.ts +2 -2
  17. package/bundle/ui-kit/BenefitItem/BenefitItemProps.d.ts +26 -3
  18. package/cosmos-static/icons/HeadphonesIcon.svg +1 -0
  19. package/dist/components/CarouselCatalogCard/CarouselCatalogCard.js +1 -1
  20. package/dist/components/CarouselCatalogCard/CarouselCatalogCard.js.map +1 -1
  21. package/dist/components/CarouselProductCard/CarouselProductCard.js +1 -1
  22. package/dist/components/CarouselProductCard/CarouselProductCard.js.map +1 -1
  23. package/dist/components/CarouselRecommendationCard/CarouselRecommendationCard.js +2 -2
  24. package/dist/components/CarouselRecommendationCard/CarouselRecommendationCard.js.map +1 -1
  25. package/dist/components/CarouselRecommendationCard/CarouselRecommendationCardContent.d.ts +5 -9
  26. package/dist/components/Footer/Footer.js +2 -2
  27. package/dist/components/Footer/Footer.js.map +1 -1
  28. package/dist/components/Footer/Footer.mobile.js.map +1 -1
  29. package/dist/components/Footer/MediaButton.d.ts +3 -4
  30. package/dist/components/Footer/MediaButton.js +4 -5
  31. package/dist/components/Footer/MediaButton.js.map +1 -1
  32. package/dist/components/Footer/SocialMedia.d.ts +2 -3
  33. package/dist/components/Footer/SocialMedia.js +1 -1
  34. package/dist/components/Footer/SocialMedia.js.map +1 -1
  35. package/dist/components/Header/DropdownMenu.js +3 -2
  36. package/dist/components/Header/DropdownMenu.js.map +1 -1
  37. package/dist/components/Header/Header.js +3 -2
  38. package/dist/components/Header/Header.js.map +1 -1
  39. package/dist/components/Header/HeaderChatBotButton.d.ts +11 -0
  40. package/dist/components/Header/HeaderChatBotButton.js +19 -0
  41. package/dist/components/Header/HeaderChatBotButton.js.map +1 -0
  42. package/dist/components/Header/HeaderContent.d.ts +6 -1
  43. package/dist/components/Header/HeaderSecondaryMenu.d.ts +2 -0
  44. package/dist/components/Header/HeaderSecondaryMenu.js +6 -11
  45. package/dist/components/Header/HeaderSecondaryMenu.js.map +1 -1
  46. package/dist/components/Header/HeaderSecondaryMenuButton.d.ts +7 -2
  47. package/dist/components/Header/HeaderSecondaryMenuButton.js +5 -1
  48. package/dist/components/Header/HeaderSecondaryMenuButton.js.map +1 -1
  49. package/dist/components/Header/useChatBot.d.ts +2 -0
  50. package/dist/components/Header/useChatBot.js +15 -0
  51. package/dist/components/Header/useChatBot.js.map +1 -0
  52. package/dist/components/PictureText/PictureText.js +2 -3
  53. package/dist/components/PictureText/PictureText.js.map +1 -1
  54. package/dist/components/PictureText/renderBenefit.d.ts +4 -0
  55. package/dist/components/PictureText/renderBenefit.js +25 -0
  56. package/dist/components/PictureText/renderBenefit.js.map +1 -0
  57. package/dist/components/ProductTile/renderBenefit.js +1 -1
  58. package/dist/components/ProductTile/renderBenefit.js.map +1 -1
  59. package/dist/hooks/useBool.d.ts +9 -0
  60. package/dist/hooks/useBool.js +12 -0
  61. package/dist/hooks/useBool.js.map +1 -0
  62. package/dist/icons/IconName.d.ts +4 -2
  63. package/dist/icons/IconName.js +3 -1
  64. package/dist/icons/IconName.js.map +1 -1
  65. package/dist/model/ButtonVersion.d.ts +2 -2
  66. package/dist/ui-kit/BenefitItem/BenefitItemProps.d.ts +26 -3
  67. package/dist/ui-kit/Button/buttonClassNameConstants.js +3 -0
  68. package/dist/ui-kit/Button/buttonClassNameConstants.js.map +1 -1
  69. package/lib/common.css +1 -1
  70. package/lib/components/CarouselCatalogCard/CarouselCatalogCard.js +1 -1
  71. package/lib/components/CarouselCatalogCard/CarouselCatalogCard.js.map +1 -1
  72. package/lib/components/CarouselProductCard/CarouselProductCard.js +1 -1
  73. package/lib/components/CarouselProductCard/CarouselProductCard.js.map +1 -1
  74. package/lib/components/CarouselRecommendationCard/CarouselRecommendationCard.js +2 -2
  75. package/lib/components/CarouselRecommendationCard/CarouselRecommendationCard.js.map +1 -1
  76. package/lib/components/CarouselRecommendationCard/CarouselRecommendationCardContent.d.ts +5 -9
  77. package/lib/components/Footer/Footer.js +2 -2
  78. package/lib/components/Footer/Footer.js.map +1 -1
  79. package/lib/components/Footer/Footer.mobile.js.map +1 -1
  80. package/lib/components/Footer/MediaButton.d.ts +3 -4
  81. package/lib/components/Footer/MediaButton.js +4 -5
  82. package/lib/components/Footer/MediaButton.js.map +1 -1
  83. package/lib/components/Footer/SocialMedia.d.ts +2 -3
  84. package/lib/components/Footer/SocialMedia.js +1 -1
  85. package/lib/components/Footer/SocialMedia.js.map +1 -1
  86. package/lib/components/Header/DropdownMenu.js +3 -2
  87. package/lib/components/Header/DropdownMenu.js.map +1 -1
  88. package/lib/components/Header/Header.js +3 -2
  89. package/lib/components/Header/Header.js.map +1 -1
  90. package/lib/components/Header/HeaderChatBotButton.d.ts +11 -0
  91. package/lib/components/Header/HeaderChatBotButton.js +17 -0
  92. package/lib/components/Header/HeaderChatBotButton.js.map +1 -0
  93. package/lib/components/Header/HeaderContent.d.ts +6 -1
  94. package/lib/components/Header/HeaderSecondaryMenu.d.ts +2 -0
  95. package/lib/components/Header/HeaderSecondaryMenu.js +6 -11
  96. package/lib/components/Header/HeaderSecondaryMenu.js.map +1 -1
  97. package/lib/components/Header/HeaderSecondaryMenuButton.d.ts +7 -2
  98. package/lib/components/Header/HeaderSecondaryMenuButton.js +5 -1
  99. package/lib/components/Header/HeaderSecondaryMenuButton.js.map +1 -1
  100. package/lib/components/Header/useChatBot.d.ts +2 -0
  101. package/lib/components/Header/useChatBot.js +12 -0
  102. package/lib/components/Header/useChatBot.js.map +1 -0
  103. package/lib/components/PictureText/PictureText.fixture.d.ts +2 -0
  104. package/lib/components/PictureText/PictureText.js +1 -2
  105. package/lib/components/PictureText/PictureText.js.map +1 -1
  106. package/lib/components/PictureText/renderBenefit.d.ts +4 -0
  107. package/lib/components/PictureText/renderBenefit.js +22 -0
  108. package/lib/components/PictureText/renderBenefit.js.map +1 -0
  109. package/lib/components/ProductTile/renderBenefit.js +1 -1
  110. package/lib/components/ProductTile/renderBenefit.js.map +1 -1
  111. package/lib/hooks/useBool.d.ts +9 -0
  112. package/lib/hooks/useBool.js +9 -0
  113. package/lib/hooks/useBool.js.map +1 -0
  114. package/lib/icons/IconName.d.ts +4 -2
  115. package/lib/icons/IconName.js +3 -1
  116. package/lib/icons/IconName.js.map +1 -1
  117. package/lib/model/ButtonVersion.d.ts +2 -2
  118. package/lib/ui-kit/BenefitItem/BenefitItemProps.d.ts +26 -3
  119. package/lib/ui-kit/Button/buttonClassNameConstants.js +3 -0
  120. package/lib/ui-kit/Button/buttonClassNameConstants.js.map +1 -1
  121. package/mobile/bundle/bundle.umd.js +7 -5
  122. package/mobile/bundle/bundle.umd.min.js +1 -1
  123. package/mobile/bundle/components/CarouselRecommendationCard/CarouselRecommendationCardContent.d.ts +5 -9
  124. package/mobile/bundle/components/Footer/MediaButton.d.ts +3 -4
  125. package/mobile/bundle/components/Header/HeaderChatBotButton.d.ts +11 -0
  126. package/mobile/bundle/components/Header/HeaderContent.d.ts +6 -1
  127. package/mobile/bundle/components/Header/HeaderSecondaryMenu.d.ts +2 -0
  128. package/mobile/bundle/components/Header/HeaderSecondaryMenuButton.d.ts +7 -2
  129. package/mobile/bundle/components/Header/useChatBot.d.ts +2 -0
  130. package/mobile/bundle/components/PictureText/renderBenefit.d.ts +4 -0
  131. package/mobile/bundle/hooks/useBool.d.ts +9 -0
  132. package/mobile/bundle/icons/IconName.d.ts +4 -2
  133. package/mobile/bundle/model/ButtonVersion.d.ts +2 -2
  134. package/mobile/bundle/ui-kit/BenefitItem/BenefitItemProps.d.ts +26 -3
  135. package/mobile/dist/components/CarouselCatalogCard/CarouselCatalogCard.js +1 -1
  136. package/mobile/dist/components/CarouselCatalogCard/CarouselCatalogCard.js.map +1 -1
  137. package/mobile/dist/components/CarouselProductCard/CarouselProductCard.js +1 -1
  138. package/mobile/dist/components/CarouselProductCard/CarouselProductCard.js.map +1 -1
  139. package/mobile/dist/components/CarouselRecommendationCard/CarouselRecommendationCard.js +2 -2
  140. package/mobile/dist/components/CarouselRecommendationCard/CarouselRecommendationCard.js.map +1 -1
  141. package/mobile/dist/components/CarouselRecommendationCard/CarouselRecommendationCardContent.d.ts +5 -9
  142. package/mobile/dist/components/Footer/Footer.js.map +1 -1
  143. package/mobile/dist/components/Footer/MediaButton.d.ts +3 -4
  144. package/mobile/dist/components/Footer/MediaButton.js +4 -5
  145. package/mobile/dist/components/Footer/MediaButton.js.map +1 -1
  146. package/mobile/dist/components/Header/DropdownMenu.js +3 -2
  147. package/mobile/dist/components/Header/DropdownMenu.js.map +1 -1
  148. package/mobile/dist/components/Header/HeaderChatBotButton.d.ts +11 -0
  149. package/mobile/dist/components/Header/HeaderChatBotButton.js +19 -0
  150. package/mobile/dist/components/Header/HeaderChatBotButton.js.map +1 -0
  151. package/mobile/dist/components/Header/HeaderContent.d.ts +6 -1
  152. package/mobile/dist/components/Header/HeaderSecondaryMenu.d.ts +2 -0
  153. package/mobile/dist/components/Header/HeaderSecondaryMenu.js +6 -11
  154. package/mobile/dist/components/Header/HeaderSecondaryMenu.js.map +1 -1
  155. package/mobile/dist/components/Header/HeaderSecondaryMenuButton.d.ts +7 -2
  156. package/mobile/dist/components/Header/HeaderSecondaryMenuButton.js +5 -1
  157. package/mobile/dist/components/Header/HeaderSecondaryMenuButton.js.map +1 -1
  158. package/mobile/dist/components/Header/useChatBot.d.ts +2 -0
  159. package/mobile/dist/components/Header/useChatBot.js +15 -0
  160. package/mobile/dist/components/Header/useChatBot.js.map +1 -0
  161. package/mobile/dist/components/PictureText/PictureText.js +2 -3
  162. package/mobile/dist/components/PictureText/PictureText.js.map +1 -1
  163. package/mobile/dist/components/PictureText/renderBenefit.d.ts +4 -0
  164. package/mobile/dist/components/PictureText/renderBenefit.js +25 -0
  165. package/mobile/dist/components/PictureText/renderBenefit.js.map +1 -0
  166. package/mobile/dist/components/ProductTile/renderBenefit.js +1 -1
  167. package/mobile/dist/components/ProductTile/renderBenefit.js.map +1 -1
  168. package/mobile/dist/hooks/useBool.d.ts +9 -0
  169. package/mobile/dist/hooks/useBool.js +12 -0
  170. package/mobile/dist/hooks/useBool.js.map +1 -0
  171. package/mobile/dist/icons/IconName.d.ts +4 -2
  172. package/mobile/dist/icons/IconName.js +3 -1
  173. package/mobile/dist/icons/IconName.js.map +1 -1
  174. package/mobile/dist/model/ButtonVersion.d.ts +2 -2
  175. package/mobile/dist/ui-kit/BenefitItem/BenefitItemProps.d.ts +26 -3
  176. package/mobile/dist/ui-kit/Button/buttonClassNameConstants.js +3 -0
  177. package/mobile/dist/ui-kit/Button/buttonClassNameConstants.js.map +1 -1
  178. package/mobile/lib/components/CarouselCatalogCard/CarouselCatalogCard.js +1 -1
  179. package/mobile/lib/components/CarouselCatalogCard/CarouselCatalogCard.js.map +1 -1
  180. package/mobile/lib/components/CarouselProductCard/CarouselProductCard.js +1 -1
  181. package/mobile/lib/components/CarouselProductCard/CarouselProductCard.js.map +1 -1
  182. package/mobile/lib/components/CarouselRecommendationCard/CarouselRecommendationCard.js +2 -2
  183. package/mobile/lib/components/CarouselRecommendationCard/CarouselRecommendationCard.js.map +1 -1
  184. package/mobile/lib/components/CarouselRecommendationCard/CarouselRecommendationCardContent.d.ts +5 -9
  185. package/mobile/lib/components/Footer/Footer.js.map +1 -1
  186. package/mobile/lib/components/Footer/MediaButton.d.ts +3 -4
  187. package/mobile/lib/components/Footer/MediaButton.js +4 -5
  188. package/mobile/lib/components/Footer/MediaButton.js.map +1 -1
  189. package/mobile/lib/components/Header/DropdownMenu.js +3 -2
  190. package/mobile/lib/components/Header/DropdownMenu.js.map +1 -1
  191. package/mobile/lib/components/Header/HeaderChatBotButton.d.ts +11 -0
  192. package/mobile/lib/components/Header/HeaderChatBotButton.js +17 -0
  193. package/mobile/lib/components/Header/HeaderChatBotButton.js.map +1 -0
  194. package/mobile/lib/components/Header/HeaderContent.d.ts +6 -1
  195. package/mobile/lib/components/Header/HeaderSecondaryMenu.d.ts +2 -0
  196. package/mobile/lib/components/Header/HeaderSecondaryMenu.js +6 -11
  197. package/mobile/lib/components/Header/HeaderSecondaryMenu.js.map +1 -1
  198. package/mobile/lib/components/Header/HeaderSecondaryMenuButton.d.ts +7 -2
  199. package/mobile/lib/components/Header/HeaderSecondaryMenuButton.js +5 -1
  200. package/mobile/lib/components/Header/HeaderSecondaryMenuButton.js.map +1 -1
  201. package/mobile/lib/components/Header/useChatBot.d.ts +2 -0
  202. package/mobile/lib/components/Header/useChatBot.js +12 -0
  203. package/mobile/lib/components/Header/useChatBot.js.map +1 -0
  204. package/mobile/lib/components/PictureText/PictureText.js +1 -2
  205. package/mobile/lib/components/PictureText/PictureText.js.map +1 -1
  206. package/mobile/lib/components/PictureText/renderBenefit.d.ts +4 -0
  207. package/mobile/lib/components/PictureText/renderBenefit.js +22 -0
  208. package/mobile/lib/components/PictureText/renderBenefit.js.map +1 -0
  209. package/mobile/lib/components/ProductTile/renderBenefit.js +1 -1
  210. package/mobile/lib/components/ProductTile/renderBenefit.js.map +1 -1
  211. package/mobile/lib/hooks/useBool.d.ts +9 -0
  212. package/mobile/lib/hooks/useBool.js +9 -0
  213. package/mobile/lib/hooks/useBool.js.map +1 -0
  214. package/mobile/lib/icons/IconName.d.ts +4 -2
  215. package/mobile/lib/icons/IconName.js +3 -1
  216. package/mobile/lib/icons/IconName.js.map +1 -1
  217. package/mobile/lib/model/ButtonVersion.d.ts +2 -2
  218. package/mobile/lib/ui-kit/BenefitItem/BenefitItemProps.d.ts +26 -3
  219. package/mobile/lib/ui-kit/Button/buttonClassNameConstants.js +3 -0
  220. package/mobile/lib/ui-kit/Button/buttonClassNameConstants.js.map +1 -1
  221. package/mobile/src/components/CarouselCatalogCard/CarouselCatalogCard.tsx +0 -1
  222. package/mobile/src/components/CarouselProductCard/CarouselProductCard.tsx +0 -1
  223. package/mobile/src/components/CarouselRecommendationCard/CarouselRecommendationCard.example.json +6 -3
  224. package/mobile/src/components/CarouselRecommendationCard/CarouselRecommendationCard.tsx +2 -0
  225. package/mobile/src/components/CarouselRecommendationCard/CarouselRecommendationCard.ui.json +7 -0
  226. package/mobile/src/components/CarouselRecommendationCard/CarouselRecommendationCardContent.ts +5 -9
  227. package/mobile/src/components/Footer/Footer.tsx +1 -1
  228. package/mobile/src/components/Footer/MediaButton.tsx +19 -17
  229. package/mobile/src/components/Header/DropdownMenu.tsx +7 -5
  230. package/mobile/src/components/Header/HeaderChatBotButton.tsx +45 -0
  231. package/mobile/src/components/Header/HeaderContent.ts +7 -1
  232. package/mobile/src/components/Header/HeaderSecondaryMenu.tsx +20 -30
  233. package/mobile/src/components/Header/HeaderSecondaryMenuButton.tsx +24 -5
  234. package/mobile/src/components/Header/useChatBot.ts +16 -0
  235. package/mobile/src/components/PictureText/PictureText.tsx +1 -14
  236. package/mobile/src/components/PictureText/PictureText.ui.json +10 -0
  237. package/mobile/src/components/PictureText/renderBenefit.tsx +33 -0
  238. package/mobile/src/components/ProductTile/renderBenefit.tsx +5 -1
  239. package/mobile/src/hooks/useBool.ts +19 -0
  240. package/mobile/src/icons/HeadphonesIcon.svg +5 -0
  241. package/mobile/src/icons/IconName.ts +5 -5
  242. package/mobile/src/model/ButtonVersion.ts +9 -2
  243. package/mobile/src/ui-kit/BenefitItem/BenefitItemProps.ts +28 -3
  244. package/mobile/src/ui-kit/Button/buttonClassNameConstants.ts +3 -0
  245. package/mobile/src/ui-kit/Img/ImgProps.ts +1 -0
  246. package/package.json +1 -1
  247. package/src/components/CarouselCatalogCard/CarouselCatalogCard.tsx +0 -1
  248. package/src/components/CarouselProductCard/CarouselProductCard.tsx +0 -1
  249. package/src/components/CarouselRecommendationCard/CarouselRecommendationCard.example.json +6 -3
  250. package/src/components/CarouselRecommendationCard/CarouselRecommendationCard.fixture.tsx +20 -5
  251. package/src/components/CarouselRecommendationCard/CarouselRecommendationCard.tsx +2 -0
  252. package/src/components/CarouselRecommendationCard/CarouselRecommendationCard.ui.json +7 -0
  253. package/src/components/CarouselRecommendationCard/CarouselRecommendationCardContent.ts +5 -9
  254. package/src/components/Footer/Footer.mobile.tsx +1 -1
  255. package/src/components/Footer/Footer.tsx +2 -2
  256. package/src/components/Footer/MediaButton.tsx +19 -17
  257. package/src/components/Footer/SocialMedia.tsx +4 -5
  258. package/src/components/Header/DropdownMenu.tsx +7 -5
  259. package/src/components/Header/Header.fixture.tsx +3 -3
  260. package/src/components/Header/Header.tsx +13 -5
  261. package/src/components/Header/HeaderChatBotButton.tsx +45 -0
  262. package/src/components/Header/HeaderContent.ts +7 -1
  263. package/src/components/Header/HeaderSecondaryMenu.tsx +20 -30
  264. package/src/components/Header/HeaderSecondaryMenuButton.tsx +24 -5
  265. package/src/components/Header/useChatBot.ts +16 -0
  266. package/src/components/PictureText/PictureText.fixture.tsx +37 -0
  267. package/src/components/PictureText/PictureText.tsx +1 -14
  268. package/src/components/PictureText/PictureText.ui.json +10 -0
  269. package/src/components/PictureText/renderBenefit.tsx +33 -0
  270. package/src/components/ProductTile/renderBenefit.tsx +5 -1
  271. package/src/hooks/useBool.ts +19 -0
  272. package/src/icons/HeadphonesIcon.svg +5 -0
  273. package/src/icons/IconName.ts +6 -340
  274. package/src/model/ButtonVersion.ts +9 -2
  275. package/src/ui-kit/BenefitItem/BenefitItemProps.ts +28 -3
  276. package/src/ui-kit/Button/buttonClassNameConstants.ts +3 -0
  277. package/src/ui-kit/Img/ImgProps.ts +1 -0
@@ -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}`, role: "listitem", ...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' })] })));
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), role: "listitem", 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' })] }));
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(({ isRounded = false, buttonSize = 'default', iconVersion = 'color', ...rest }) => {
1763
- const link = useLink();
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 icon ? (jsx("a", { className: style('group/media flex items-center justify-center box-border', buttonSizeStyles[buttonSize], isRounded ? 'rounded-full' : 'rounded-md', 'border-solid border border-main-divider hover:border-transparent', 'hover:bg-primary-main hover:text-black', 'group-data-secondary:bg-white group-data-secondary:hover:bg-secondary-hover'), href: href, "aria-label": label, target: "_blank", rel: "noopener noreferrer", onClick: onClick, children: iconWithVersion ? (jsx(ImgInner, { image: iconWithVersion, imageClassName: "group-hover/media:text-white", width: "24", height: "24", asSVG: true })) : null })) : null;
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, isRounded = false, buttonSize, children }) => (jsxs("div", { className: "font-sans", children: [jsx("div", { className: `flex gap-2.5 ${className}`, children: media?.map((_, index) => (jsx(MediaButton, { isRounded: isRounded, buttonSize: buttonSize, ..._ }, String(index)))) }), jsx("span", { className: "text-s-light text-secondary-text", children: children })] })));
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, topItems, logo } = useSWRResource(projectSettings.FOOTER || 'footer', fallback);
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]", items: topItems, fallback: fallback })] }), jsx(HorizontalNavigation, { className: "mt-[98px]", links: relatedEnterprises }), jsx(TextInformation, { links: documents })] }));
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 = '', children, ariaLabel }) => (jsx("button", { type: "button", className: `border-0 p-0 w-6 h-6 flex items-center bg-inherit cursor-pointer ${className}`, disabled: true, "aria-label": ariaLabel, children: children })));
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 HeaderSecondaryMenu = JSX(({ version, className, officesLink, defaultLocation = 'Москва', foreignOffices }) => {
2431
- const [isShowLocationModal, setShowLocationModal] = useState(false);
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: `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, jsx(HeaderSecondaryMenuButton, { className: "mr-5 group/btn text-primary-text hover:text-primary-main group-data-transparent:text-white", ariaLabel: "\u041F\u043E\u0438\u0441\u043A \u043F\u043E \u0441\u0430\u0439\u0442\u0443", children: jsx(ImgInner, { image: { icon: 'LoupeIcon', iconVersion }, className: "h-full pointer-events-none", imageClassName: "group-hover/btn:text-primary-hover group-hover/btn:invert-0 pointer-events-none", asSVG: true }) }), jsx(HeaderSecondaryMenuButton, { className: "group/btn min-w-8 min-h-8 text-secondary-light hover:text-secondary-hover group-data-transparent:text-white", ariaLabel: "\u0414\u043E\u043F\u043E\u043B\u043D\u0438\u0442\u0435\u043B\u044C\u043D\u044B\u0435 \u0441\u0441\u044B\u043B\u043A\u0438", children: jsx(ImgInner, { image: { icon: 'GridIcon', iconVersion }, className: "h-full bg-main-divider/20 rounded-full pointer-events-none", imageClassName: "group-hover/btn:text-primary-hover group-hover/btn:invert-0", asSVG: true }) }), isShowLocationModal ? (jsx(Location, { currentLocation: location, foreignOffices: foreignOffices, onChangeLocation: onChangeLocation, close: hideLocationModal })) : null] }));
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: `${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)
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: `flex flex-col rounded-md bg-white p-6 pb-2 ${visible ? '' : 'hidden'}`, "aria-hidden": !visible, children: items?.map((item, i) => (jsx("a", { className: `text-l-light pb-4 hover:text-primary-main ${item === activeItem ? 'text-primary-main' : ''}`, ...link(item), children: item.text }, item.href || String(i)))) })] }));
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 = '', showSubMenu = true, version = BG_COLOR_TO_BLOCK_VERSION[bgColor], ...rest }) => {
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: `pt-6 px-20 ${className} ${showSubMenu && activeTopItem?.items?.length ? 'pb-4' : 'pb-5'}`, 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 })] }), jsx("div", { className: `mt-6 h-px bg-main-divider${version === 'transparent' ? ' opacity-30' : ''}` }), showSubMenu && activeTopItem?.items?.length ? (jsx(HeaderSubMenu, { subItems: activeTopItem.items })) : null] }) }));
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.6";
4245
+ const packageVersion = "0.7.8";
4202
4246
 
4203
4247
  exports.Blocks = Blocks;
4204
4248
  exports.ContentPage = ContentPage;