@redneckz/wildless-cms-uni-blocks 0.10.7 → 0.10.9

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 (258) hide show
  1. package/bundle/blocks.schema.json +1 -1
  2. package/bundle/bundle.umd.js +63 -43
  3. package/bundle/bundle.umd.min.js +1 -1
  4. package/bundle/components/CarouselRecommendationCard/CarouselRecommendationCard.mobile.d.ts +5 -0
  5. package/bundle/components/CarouselRecommendationCard/cardStyle.d.ts +1 -0
  6. package/bundle/components/CarouselTariffsCard/getPaddingStyle.d.ts +1 -1
  7. package/bundle/components/Tabs/CenteredTabs.d.ts +7 -0
  8. package/bundle/components/Tabs/LinkTab.d.ts +2 -2
  9. package/bundle/components/Tabs/TabsContent.d.ts +3 -2
  10. package/bundle/components/Tabs/renderGroupTab.d.ts +2 -2
  11. package/bundle/components/Tabs/renderTab.d.ts +3 -3
  12. package/bundle/components/Tabs/tabItemClasses.d.ts +3 -2
  13. package/bundle/utils/appendSlash.d.ts +1 -0
  14. package/dist/ProjectSettings.js +3 -3
  15. package/dist/ProjectSettings.js.map +1 -1
  16. package/dist/components/Blocks.mobile.js +2 -0
  17. package/dist/components/Blocks.mobile.js.map +1 -1
  18. package/dist/components/Calculator/useCreditCalculatorParams.js +1 -1
  19. package/dist/components/Calculator/useCreditCalculatorParams.js.map +1 -1
  20. package/dist/components/CarouselRecommendationCard/CarouselRecommendationCard.js +2 -2
  21. package/dist/components/CarouselRecommendationCard/CarouselRecommendationCard.js.map +1 -1
  22. package/dist/components/CarouselRecommendationCard/CarouselRecommendationCard.mobile.d.ts +5 -0
  23. package/dist/components/CarouselRecommendationCard/CarouselRecommendationCard.mobile.js +17 -0
  24. package/dist/components/CarouselRecommendationCard/CarouselRecommendationCard.mobile.js.map +1 -0
  25. package/dist/components/CarouselRecommendationCard/cardStyle.d.ts +1 -0
  26. package/dist/components/CarouselRecommendationCard/cardStyle.js +4 -0
  27. package/dist/components/CarouselRecommendationCard/cardStyle.js.map +1 -0
  28. package/dist/components/CarouselTariffsCard/getPaddingStyle.d.ts +1 -1
  29. package/dist/components/CarouselTariffsCard/getPaddingStyle.js +1 -1
  30. package/dist/components/CarouselTariffsCard/getPaddingStyle.js.map +1 -1
  31. package/dist/components/CarouselTariffsCard/getPaddingStyle.mobile.js +1 -1
  32. package/dist/components/CarouselTariffsCard/getPaddingStyle.mobile.js.map +1 -1
  33. package/dist/components/Footer/Footer.mobile.js +1 -1
  34. package/dist/components/Footer/Footer.mobile.js.map +1 -1
  35. package/dist/components/Footer/SocialMedia.mobile.js +1 -1
  36. package/dist/components/Footer/SocialMedia.mobile.js.map +1 -1
  37. package/dist/components/Tabs/CenteredTabs.d.ts +7 -0
  38. package/dist/components/Tabs/CenteredTabs.js +7 -0
  39. package/dist/components/Tabs/CenteredTabs.js.map +1 -0
  40. package/dist/components/Tabs/LinkTab.d.ts +2 -2
  41. package/dist/components/Tabs/LinkTab.js +2 -2
  42. package/dist/components/Tabs/LinkTab.js.map +1 -1
  43. package/dist/components/Tabs/ScrollableTabs.js +3 -9
  44. package/dist/components/Tabs/ScrollableTabs.js.map +1 -1
  45. package/dist/components/Tabs/Tabs.js +14 -7
  46. package/dist/components/Tabs/Tabs.js.map +1 -1
  47. package/dist/components/Tabs/TabsContent.d.ts +3 -2
  48. package/dist/components/Tabs/renderGroupTab.d.ts +2 -2
  49. package/dist/components/Tabs/renderGroupTab.js +4 -4
  50. package/dist/components/Tabs/renderGroupTab.js.map +1 -1
  51. package/dist/components/Tabs/renderTab.d.ts +3 -3
  52. package/dist/components/Tabs/renderTab.js +3 -3
  53. package/dist/components/Tabs/renderTab.js.map +1 -1
  54. package/dist/components/Tabs/tabItemClasses.d.ts +3 -2
  55. package/dist/components/Tabs/tabItemClasses.js +26 -10
  56. package/dist/components/Tabs/tabItemClasses.js.map +1 -1
  57. package/dist/hooks/useLink.js +1 -1
  58. package/dist/hooks/useLink.js.map +1 -1
  59. package/dist/ui-kit/Sitemap/Sitemap.js +2 -1
  60. package/dist/ui-kit/Sitemap/Sitemap.js.map +1 -1
  61. package/dist/utils/appendSlash.d.ts +1 -0
  62. package/dist/utils/appendSlash.js +5 -0
  63. package/dist/utils/appendSlash.js.map +1 -0
  64. package/lib/ProjectSettings.js +1 -1
  65. package/lib/ProjectSettings.js.map +1 -1
  66. package/lib/common.css +1 -1
  67. package/lib/components/Blocks.mobile.js +2 -0
  68. package/lib/components/Blocks.mobile.js.map +1 -1
  69. package/lib/components/Calculator/useCreditCalculatorParams.js +1 -1
  70. package/lib/components/Calculator/useCreditCalculatorParams.js.map +1 -1
  71. package/lib/components/CarouselRecommendationCard/CarouselRecommendationCard.fixture.mobile.d.ts +16 -0
  72. package/lib/components/CarouselRecommendationCard/CarouselRecommendationCard.js +1 -1
  73. package/lib/components/CarouselRecommendationCard/CarouselRecommendationCard.js.map +1 -1
  74. package/lib/components/CarouselRecommendationCard/CarouselRecommendationCard.mobile.d.ts +5 -0
  75. package/lib/components/CarouselRecommendationCard/CarouselRecommendationCard.mobile.js +15 -0
  76. package/lib/components/CarouselRecommendationCard/CarouselRecommendationCard.mobile.js.map +1 -0
  77. package/lib/components/CarouselRecommendationCard/cardStyle.d.ts +1 -0
  78. package/lib/components/CarouselRecommendationCard/cardStyle.js +2 -0
  79. package/lib/components/CarouselRecommendationCard/cardStyle.js.map +1 -0
  80. package/lib/components/CarouselTariffsCard/getPaddingStyle.d.ts +1 -1
  81. package/lib/components/CarouselTariffsCard/getPaddingStyle.js +1 -1
  82. package/lib/components/CarouselTariffsCard/getPaddingStyle.js.map +1 -1
  83. package/lib/components/CarouselTariffsCard/getPaddingStyle.mobile.js +1 -1
  84. package/lib/components/CarouselTariffsCard/getPaddingStyle.mobile.js.map +1 -1
  85. package/lib/components/Footer/Footer.mobile.js +1 -1
  86. package/lib/components/Footer/Footer.mobile.js.map +1 -1
  87. package/lib/components/Footer/SocialMedia.mobile.js +1 -1
  88. package/lib/components/Footer/SocialMedia.mobile.js.map +1 -1
  89. package/lib/components/Tabs/CenteredTabs.d.ts +7 -0
  90. package/lib/components/Tabs/CenteredTabs.js +5 -0
  91. package/lib/components/Tabs/CenteredTabs.js.map +1 -0
  92. package/lib/components/Tabs/LinkTab.d.ts +2 -2
  93. package/lib/components/Tabs/LinkTab.js +2 -2
  94. package/lib/components/Tabs/LinkTab.js.map +1 -1
  95. package/lib/components/Tabs/ScrollableTabs.js +3 -9
  96. package/lib/components/Tabs/ScrollableTabs.js.map +1 -1
  97. package/lib/components/Tabs/Tabs.fixture.d.ts +1 -0
  98. package/lib/components/Tabs/Tabs.js +14 -7
  99. package/lib/components/Tabs/Tabs.js.map +1 -1
  100. package/lib/components/Tabs/TabsContent.d.ts +3 -2
  101. package/lib/components/Tabs/renderGroupTab.d.ts +2 -2
  102. package/lib/components/Tabs/renderGroupTab.js +5 -5
  103. package/lib/components/Tabs/renderGroupTab.js.map +1 -1
  104. package/lib/components/Tabs/renderTab.d.ts +3 -3
  105. package/lib/components/Tabs/renderTab.js +3 -3
  106. package/lib/components/Tabs/renderTab.js.map +1 -1
  107. package/lib/components/Tabs/tabItemClasses.d.ts +3 -2
  108. package/lib/components/Tabs/tabItemClasses.js +26 -10
  109. package/lib/components/Tabs/tabItemClasses.js.map +1 -1
  110. package/lib/hooks/useLink.js +1 -1
  111. package/lib/hooks/useLink.js.map +1 -1
  112. package/lib/ui-kit/Sitemap/Sitemap.js +2 -1
  113. package/lib/ui-kit/Sitemap/Sitemap.js.map +1 -1
  114. package/lib/utils/appendSlash.d.ts +1 -0
  115. package/lib/utils/appendSlash.js +2 -0
  116. package/lib/utils/appendSlash.js.map +1 -0
  117. package/mobile/bundle/bundle.umd.js +146 -137
  118. package/mobile/bundle/bundle.umd.min.js +1 -1
  119. package/mobile/bundle/components/CarouselRecommendationCard/cardStyle.d.ts +1 -0
  120. package/mobile/bundle/components/Tabs/CenteredTabs.d.ts +7 -0
  121. package/mobile/bundle/components/Tabs/LinkTab.d.ts +2 -2
  122. package/mobile/bundle/components/Tabs/TabsContent.d.ts +3 -2
  123. package/mobile/bundle/components/Tabs/renderGroupTab.d.ts +2 -2
  124. package/mobile/bundle/components/Tabs/renderTab.d.ts +3 -3
  125. package/mobile/bundle/components/Tabs/tabItemClasses.d.ts +3 -2
  126. package/mobile/bundle/utils/appendSlash.d.ts +1 -0
  127. package/mobile/dist/ProjectSettings.js +3 -3
  128. package/mobile/dist/ProjectSettings.js.map +1 -1
  129. package/mobile/dist/components/Blocks.js +2 -0
  130. package/mobile/dist/components/Blocks.js.map +1 -1
  131. package/mobile/dist/components/Calculator/useCreditCalculatorParams.js +1 -1
  132. package/mobile/dist/components/Calculator/useCreditCalculatorParams.js.map +1 -1
  133. package/mobile/dist/components/CarouselRecommendationCard/CarouselRecommendationCard.js +4 -4
  134. package/mobile/dist/components/CarouselRecommendationCard/CarouselRecommendationCard.js.map +1 -1
  135. package/mobile/dist/components/CarouselRecommendationCard/cardStyle.d.ts +1 -0
  136. package/mobile/dist/components/CarouselRecommendationCard/cardStyle.js +4 -0
  137. package/mobile/dist/components/CarouselRecommendationCard/cardStyle.js.map +1 -0
  138. package/mobile/dist/components/CarouselTariffsCard/getPaddingStyle.js +1 -1
  139. package/mobile/dist/components/CarouselTariffsCard/getPaddingStyle.js.map +1 -1
  140. package/mobile/dist/components/Footer/Footer.js +1 -1
  141. package/mobile/dist/components/Footer/Footer.js.map +1 -1
  142. package/mobile/dist/components/Footer/SocialMedia.js +1 -1
  143. package/mobile/dist/components/Footer/SocialMedia.js.map +1 -1
  144. package/mobile/dist/components/Tabs/CenteredTabs.d.ts +7 -0
  145. package/mobile/dist/components/Tabs/CenteredTabs.js +7 -0
  146. package/mobile/dist/components/Tabs/CenteredTabs.js.map +1 -0
  147. package/mobile/dist/components/Tabs/LinkTab.d.ts +2 -2
  148. package/mobile/dist/components/Tabs/LinkTab.js +2 -2
  149. package/mobile/dist/components/Tabs/LinkTab.js.map +1 -1
  150. package/mobile/dist/components/Tabs/ScrollableTabs.js +3 -9
  151. package/mobile/dist/components/Tabs/ScrollableTabs.js.map +1 -1
  152. package/mobile/dist/components/Tabs/Tabs.js +14 -7
  153. package/mobile/dist/components/Tabs/Tabs.js.map +1 -1
  154. package/mobile/dist/components/Tabs/TabsContent.d.ts +3 -2
  155. package/mobile/dist/components/Tabs/renderGroupTab.d.ts +2 -2
  156. package/mobile/dist/components/Tabs/renderGroupTab.js +4 -4
  157. package/mobile/dist/components/Tabs/renderGroupTab.js.map +1 -1
  158. package/mobile/dist/components/Tabs/renderTab.d.ts +3 -3
  159. package/mobile/dist/components/Tabs/renderTab.js +3 -3
  160. package/mobile/dist/components/Tabs/renderTab.js.map +1 -1
  161. package/mobile/dist/components/Tabs/tabItemClasses.d.ts +3 -2
  162. package/mobile/dist/components/Tabs/tabItemClasses.js +26 -10
  163. package/mobile/dist/components/Tabs/tabItemClasses.js.map +1 -1
  164. package/mobile/dist/hooks/useLink.js +1 -1
  165. package/mobile/dist/hooks/useLink.js.map +1 -1
  166. package/mobile/dist/ui-kit/Sitemap/Sitemap.js +2 -1
  167. package/mobile/dist/ui-kit/Sitemap/Sitemap.js.map +1 -1
  168. package/mobile/dist/utils/appendSlash.d.ts +1 -0
  169. package/mobile/dist/utils/appendSlash.js +5 -0
  170. package/mobile/dist/utils/appendSlash.js.map +1 -0
  171. package/mobile/lib/ProjectSettings.js +1 -1
  172. package/mobile/lib/ProjectSettings.js.map +1 -1
  173. package/mobile/lib/common.css +1 -1
  174. package/mobile/lib/components/Blocks.js +2 -0
  175. package/mobile/lib/components/Blocks.js.map +1 -1
  176. package/mobile/lib/components/Calculator/useCreditCalculatorParams.js +1 -1
  177. package/mobile/lib/components/Calculator/useCreditCalculatorParams.js.map +1 -1
  178. package/mobile/lib/components/CarouselRecommendationCard/CarouselRecommendationCard.js +4 -4
  179. package/mobile/lib/components/CarouselRecommendationCard/CarouselRecommendationCard.js.map +1 -1
  180. package/mobile/lib/components/CarouselRecommendationCard/cardStyle.d.ts +1 -0
  181. package/mobile/lib/components/CarouselRecommendationCard/cardStyle.js +2 -0
  182. package/mobile/lib/components/CarouselRecommendationCard/cardStyle.js.map +1 -0
  183. package/mobile/lib/components/CarouselTariffsCard/getPaddingStyle.js +1 -1
  184. package/mobile/lib/components/CarouselTariffsCard/getPaddingStyle.js.map +1 -1
  185. package/mobile/lib/components/Footer/Footer.js +1 -1
  186. package/mobile/lib/components/Footer/Footer.js.map +1 -1
  187. package/mobile/lib/components/Footer/SocialMedia.js +1 -1
  188. package/mobile/lib/components/Footer/SocialMedia.js.map +1 -1
  189. package/mobile/lib/components/Tabs/CenteredTabs.d.ts +7 -0
  190. package/mobile/lib/components/Tabs/CenteredTabs.js +5 -0
  191. package/mobile/lib/components/Tabs/CenteredTabs.js.map +1 -0
  192. package/mobile/lib/components/Tabs/LinkTab.d.ts +2 -2
  193. package/mobile/lib/components/Tabs/LinkTab.js +2 -2
  194. package/mobile/lib/components/Tabs/LinkTab.js.map +1 -1
  195. package/mobile/lib/components/Tabs/ScrollableTabs.js +3 -9
  196. package/mobile/lib/components/Tabs/ScrollableTabs.js.map +1 -1
  197. package/mobile/lib/components/Tabs/Tabs.js +14 -7
  198. package/mobile/lib/components/Tabs/Tabs.js.map +1 -1
  199. package/mobile/lib/components/Tabs/TabsContent.d.ts +3 -2
  200. package/mobile/lib/components/Tabs/renderGroupTab.d.ts +2 -2
  201. package/mobile/lib/components/Tabs/renderGroupTab.js +5 -5
  202. package/mobile/lib/components/Tabs/renderGroupTab.js.map +1 -1
  203. package/mobile/lib/components/Tabs/renderTab.d.ts +3 -3
  204. package/mobile/lib/components/Tabs/renderTab.js +3 -3
  205. package/mobile/lib/components/Tabs/renderTab.js.map +1 -1
  206. package/mobile/lib/components/Tabs/tabItemClasses.d.ts +3 -2
  207. package/mobile/lib/components/Tabs/tabItemClasses.js +26 -10
  208. package/mobile/lib/components/Tabs/tabItemClasses.js.map +1 -1
  209. package/mobile/lib/hooks/useLink.js +1 -1
  210. package/mobile/lib/hooks/useLink.js.map +1 -1
  211. package/mobile/lib/ui-kit/Sitemap/Sitemap.js +2 -1
  212. package/mobile/lib/ui-kit/Sitemap/Sitemap.js.map +1 -1
  213. package/mobile/lib/utils/appendSlash.d.ts +1 -0
  214. package/mobile/lib/utils/appendSlash.js +2 -0
  215. package/mobile/lib/utils/appendSlash.js.map +1 -0
  216. package/mobile/src/ProjectSettings.ts +2 -2
  217. package/mobile/src/components/Blocks.ts +2 -0
  218. package/mobile/src/components/Calculator/useCreditCalculatorParams.ts +1 -1
  219. package/mobile/src/components/CarouselRecommendationCard/CarouselRecommendationCard.tsx +14 -20
  220. package/mobile/src/components/CarouselRecommendationCard/cardStyle.ts +2 -0
  221. package/mobile/src/components/CarouselTariffsCard/getPaddingStyle.tsx +2 -2
  222. package/mobile/src/components/Footer/Footer.tsx +1 -1
  223. package/mobile/src/components/Footer/SocialMedia.tsx +1 -1
  224. package/mobile/src/components/Tabs/CenteredTabs.tsx +12 -0
  225. package/mobile/src/components/Tabs/LinkTab.tsx +5 -5
  226. package/mobile/src/components/Tabs/ScrollableTabs.tsx +5 -13
  227. package/mobile/src/components/Tabs/Tabs.tsx +21 -19
  228. package/mobile/src/components/Tabs/TabsContent.ts +3 -2
  229. package/mobile/src/components/Tabs/renderGroupTab.tsx +11 -10
  230. package/mobile/src/components/Tabs/renderTab.tsx +5 -13
  231. package/mobile/src/components/Tabs/tabItemClasses.ts +28 -10
  232. package/mobile/src/hooks/useLink.ts +1 -1
  233. package/mobile/src/ui-kit/Sitemap/Sitemap.tsx +2 -1
  234. package/mobile/src/utils/appendSlash.ts +2 -0
  235. package/package.json +6 -1
  236. package/src/ProjectSettings.ts +2 -2
  237. package/src/components/Blocks.mobile.ts +2 -0
  238. package/src/components/Calculator/useCreditCalculatorParams.ts +1 -1
  239. package/src/components/CarouselRecommendationCard/CarouselRecommendationCard.fixture.mobile.tsx +148 -0
  240. package/src/components/CarouselRecommendationCard/CarouselRecommendationCard.mobile.tsx +63 -0
  241. package/src/components/CarouselRecommendationCard/CarouselRecommendationCard.tsx +1 -3
  242. package/src/components/CarouselRecommendationCard/cardStyle.ts +2 -0
  243. package/src/components/CarouselTariffsCard/getPaddingStyle.mobile.tsx +2 -2
  244. package/src/components/CarouselTariffsCard/getPaddingStyle.tsx +1 -1
  245. package/src/components/Footer/Footer.mobile.tsx +1 -1
  246. package/src/components/Footer/SocialMedia.mobile.tsx +1 -1
  247. package/src/components/Tabs/CenteredTabs.tsx +12 -0
  248. package/src/components/Tabs/LinkTab.tsx +5 -5
  249. package/src/components/Tabs/ScrollableTabs.tsx +5 -13
  250. package/src/components/Tabs/Tabs.fixture.tsx +27 -0
  251. package/src/components/Tabs/Tabs.tsx +21 -19
  252. package/src/components/Tabs/TabsContent.ts +3 -2
  253. package/src/components/Tabs/renderGroupTab.tsx +11 -10
  254. package/src/components/Tabs/renderTab.tsx +5 -13
  255. package/src/components/Tabs/tabItemClasses.ts +28 -10
  256. package/src/hooks/useLink.ts +1 -1
  257. package/src/ui-kit/Sitemap/Sitemap.tsx +2 -1
  258. package/src/utils/appendSlash.ts +2 -0
@@ -53,6 +53,8 @@
53
53
  };
54
54
  }
55
55
 
56
+ const appendSlash = (url) => url && !url.endsWith('/') ? `${url}/` : url;
57
+
56
58
  const DEFAULT_PROJECT_SETTINGS = { PROD_BRANCH: 'master' };
57
59
  const projectSettings = new (class {
58
60
  _ = DEFAULT_PROJECT_SETTINGS;
@@ -96,7 +98,6 @@
96
98
  return this._.YANDEX_METRIKA_ID;
97
99
  }
98
100
  })();
99
- const appendSlash = (url) => (url && !url.endsWith('/') ? `${url}/` : url);
100
101
 
101
102
  const AUTH_PREFIX = 'guest';
102
103
  const STORAGE_KEY = 'likesToken';
@@ -642,7 +643,7 @@
642
643
  const { close } = useDialog();
643
644
  return (props) => ({
644
645
  ...props,
645
- href: isRemote ? props.href : adjustHref(router)(props.href, basePath),
646
+ href: isRemote && !basePath ? props.href : adjustHref(router)(props.href, basePath),
646
647
  'aria-label': props.text,
647
648
  onClick: handlerDecorator(handleHref(props), props),
648
649
  });
@@ -809,6 +810,144 @@
809
810
  const getAlignStyle = (isAlignCenter) => isAlignCenter ? 'flex justify-center' : '';
810
811
  const renderDots = (containerRef, dotsActiveIndex, itemCount) => (jsx(SwipeListControlDots, { containerRef: containerRef, activeIndex: dotsActiveIndex, dotCount: itemCount, listType: 'horizontal-list' }));
811
812
 
813
+ const LinkWrapper = JSX(({ className = '', href, target, isRemote = false, children }) => {
814
+ const link = useLink({ isRemote });
815
+ const linkProps = link({ href, target });
816
+ const Tag = href ? 'a' : 'div';
817
+ return (jsx(Tag, { className: style('block', className), ...(href ? linkProps : {}), children: children }));
818
+ });
819
+
820
+ const DOT_SIZE_MAP = {
821
+ L: 'w-1.5 h-1.5 min-w-1.5 min-h-1.5 mr-4',
822
+ M: 'w-1.5 h-1.5 min-w-1.5 min-h-1.5 mr-3',
823
+ S: 'w-1 h-1 min-w-1 min-h-1 mr-2',
824
+ };
825
+ const ListItem = JSX(({ className = '', isDotted = true, children, size = 'M' }) => (jsxs("div", { className: `font-sans flex items-baseline ${className}`, role: "listitem", children: [isDotted ? (jsx("div", { children: jsx("div", { className: `rounded-full align-middle inline-block bg-primary-text group-data-secondary:bg-white ${DOT_SIZE_MAP[size]}` }) })) : null, jsx("span", { children: children })] })));
826
+
827
+ const TEXT_SIZE_MAP = {
828
+ S: 'text-l-light',
829
+ M: 'text-h6',
830
+ L: 'text-h5',
831
+ };
832
+ const ITEM_INDENT_MAP = {
833
+ S: 'ml-2',
834
+ M: 'ml-3',
835
+ L: 'ml-4',
836
+ };
837
+ 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, isDotted: isDotted, size: listItemSize, children: item }, String(i)))) })) : null);
838
+
839
+ const ICONS_MAP = [
840
+ {
841
+ origins: ['t.me', 'telegram.org'],
842
+ iconMapped: { icon: 'TelegramIcon' },
843
+ label: 'Телеграм',
844
+ },
845
+ {
846
+ origins: ['vk.com'],
847
+ iconMapped: { icon: 'VKIcon' },
848
+ label: 'ВКонтакте',
849
+ },
850
+ {
851
+ origins: ['ok.ru'],
852
+ iconMapped: { icon: 'OkIcon' },
853
+ label: 'Одноклассники',
854
+ },
855
+ {
856
+ origins: ['apps.apple.com'],
857
+ iconMapped: { icon: 'AppleIcon' },
858
+ label: 'App Store',
859
+ },
860
+ {
861
+ origins: ['play.google.com'],
862
+ iconMapped: { icon: 'PlayMarketIcon' },
863
+ label: 'Google Play',
864
+ },
865
+ {
866
+ origins: ['youtube.com'],
867
+ iconMapped: { icon: 'YoutubeIcon' },
868
+ label: 'Youtube',
869
+ },
870
+ ];
871
+ const buttonSizeStyles = {
872
+ default: 'w-14 h-14',
873
+ small: 'w-12 h-12',
874
+ };
875
+ const buttonStylesWithText = (text, buttonSize) => text
876
+ ? ''
877
+ : `group/media flex items-center justify-center box-border ${buttonSizeStyles[buttonSize]}`;
878
+ const MediaButton = JSX(({ buttonSize = 'default', rounded = false, icon, ...rest }) => {
879
+ const { href, version, text = '' } = rest;
880
+ const { iconMapped, label } = ICONS_MAP.find(({ origins }) => origins.some((_) => href?.includes(_))) || {};
881
+ const iconCustom = getFilteredIcon(icon) ?? iconMapped;
882
+ return (jsx(Button, { className: style(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', buttonStylesWithText(text, buttonSize)), "aria-label": label, rel: "noopener noreferrer", target: "_blank", text: text, version: version, ...rest, children: iconCustom && !text ? (jsx(Img, { image: iconCustom, imageClassName: "group-hover/media:text-white", width: "24", height: "24" })) : null }));
883
+ });
884
+ const getFilteredIcon = (icon) => (icon?.src || icon?.icon ? icon : undefined);
885
+
886
+ const SocialMedia = JSX(({ className = '', media }) => (jsx("div", { className: `flex gap-2 items-start justify-start ${className}`, children: media?.map((_, index) => (jsx(MediaButton, { ..._ }, String(index)))) })));
887
+
888
+ const HeadingClass = {
889
+ h0: 'text-m-title',
890
+ h1: 'text-m-title',
891
+ h2: 'text-m-title',
892
+ h3: 'text-h6',
893
+ h4: 'text-m-title-xs',
894
+ h5: 'text-m-title-xs',
895
+ h6: 'text-m-title-xs',
896
+ };
897
+ const Heading = JSX((props) => {
898
+ const { className, headingType = 'h3', title, as: Tag = 'h3' } = props;
899
+ return (jsx(Tag, { className: `font-sans font-medium m-0 ${HeadingClass[headingType]} ${className || ''}`, children: title }));
900
+ });
901
+
902
+ const Paragraph = JSX(({ children, ...style }) => (jsx("p", { className: ['font-sans', ...Object.values(style)].join(' '), children: children })));
903
+
904
+ const headlineVersionStyles = {
905
+ XXL: {
906
+ title: { headingType: 'h0', as: 'h1' },
907
+ descriptionSize: 'text-h5',
908
+ descriptionStyle: 'mt-5',
909
+ },
910
+ XL: {
911
+ title: { headingType: 'h1', as: 'h1' },
912
+ descriptionSize: 'text-xl-light',
913
+ descriptionStyle: 'mt-4',
914
+ },
915
+ L: {
916
+ title: { headingType: 'h2', as: 'h2' },
917
+ descriptionSize: 'text-xl-light',
918
+ descriptionStyle: 'mt-4',
919
+ },
920
+ M: {
921
+ title: { headingType: 'h3', as: 'h3' },
922
+ descriptionSize: 'text-xl-light',
923
+ descriptionStyle: 'mt-3',
924
+ },
925
+ S: {
926
+ title: { headingType: 'h4', as: 'h4' },
927
+ descriptionSize: 'text-xl-light',
928
+ descriptionStyle: 'mt-2',
929
+ },
930
+ XS: {
931
+ title: { headingType: 'h5', as: 'h5' },
932
+ descriptionSize: 'text-l-light',
933
+ descriptionStyle: 'mt-2',
934
+ },
935
+ };
936
+
937
+ const Headline = JSX(({ className, title, description, headlineVersion = 'XL', align = 'text-center', as, isPadding = true, isTheme = false, version = '', ...rest }) => {
938
+ const versionStyle = headlineVersionStyles[headlineVersion];
939
+ const paddingStyle = isPadding ? 'p-default' : '';
940
+ const descriptionStyle = { marginTop: versionStyle.descriptionStyle };
941
+ return (jsxs(BlockWrapper, { className: style(paddingStyle, className), version: version, isTheme: isTheme, ...rest, children: [title ? (jsx(Heading, { className: style('whitespace-pre-wrap', align), ...versionStyle?.title, as: as || versionStyle?.title.as, title: title })) : null, description ? (jsx(Paragraph, { size: versionStyle.descriptionSize, align: align, ...descriptionStyle, children: description })) : null] }));
942
+ });
943
+
944
+ const BORDER_STYLE = 'border border-solid border-gray group-data-secondary:border-white/50 group-data-gray:border-main-divider';
945
+
946
+ const CarouselRecommendationCard = JSX(({ className = '', description, href, icon, items = [], socialMedia = [], target, title, align = 'text-left', ...rest }) => {
947
+ return (jsx(BlockWrapper, { className: style('relative box-border p-default group-data-gray:bg-main-divider/50', BORDER_STYLE, className), ...rest, children: jsxs(LinkWrapper, { href: href, target: target, children: [jsx(Headline, { className: "mb-2", title: title, description: description, headlineVersion: "S", isPadding: false, align: align }), items.length ? (jsx(List, { className: "flex flex-col gap-2", items: items, listItemSize: "S" })) : null, renderIcon$1(icon), socialMedia.length ? jsx(SocialMedia, { className: "mt-5", media: socialMedia }) : null] }) }));
948
+ });
949
+ const renderIcon$1 = (icon) => icon?.src || icon?.icon ? (jsx("div", { children: jsx(Img, { image: icon }) })) : null;
950
+
812
951
  const Foldable = JSX(({ className = '', isFoldButtonOnTop = false, unfoldedByDefault = false, renderFoldableSection, renderFoldButton, }) => {
813
952
  const [isUnfolded, setIsUnfolded] = useState(unfoldedByDefault);
814
953
  const onToggle = useCallback(() => {
@@ -831,23 +970,7 @@
831
970
  return (jsx("div", { ref: containerRef, className: `transition-max-h duration-300 overflow-hidden ${containerRef.current || !isUnfolded ? 'max-h-0' : ''} ${className}`, children: children }));
832
971
  });
833
972
 
834
- const HeadingClass = {
835
- h0: 'text-m-title',
836
- h1: 'text-m-title',
837
- h2: 'text-m-title',
838
- h3: 'text-h6',
839
- h4: 'text-m-title-xs',
840
- h5: 'text-m-title-xs',
841
- h6: 'text-m-title-xs',
842
- };
843
- const Heading = JSX((props) => {
844
- const { className, headingType = 'h3', title, as: Tag = 'h3' } = props;
845
- return (jsx(Tag, { className: `font-sans font-medium m-0 ${HeadingClass[headingType]} ${className || ''}`, children: title }));
846
- });
847
-
848
- const Paragraph = JSX(({ children, ...style }) => (jsx("p", { className: ['font-sans', ...Object.values(style)].join(' '), children: children })));
849
-
850
- const getPaddingStyle = (isHighlighting) => isHighlighting ? 'p-default mt-6' : 'p-default mt-6';
973
+ const getPaddingStyle = (isHighlighting = false) => isHighlighting ? 'p-default mt-6' : 'mt-6 p-default'; // Хак для мобильной версии т.к. контракт должен быть идентичный
851
974
 
852
975
  const renderButtonsSection = (buttons, { className = '', buttonClassName, isVertical } = {}) => buttons?.length && buttons.some((_) => _?.text || _?.icon?.icon) ? (jsx("div", { className: style('flex', isVertical ? 'flex-col gap-2' : 'gap-4', className), children: buttons.map(renderButton(buttonClassName)) })) : null;
853
976
  const renderButton = (buttonClassName = '') => (button, index) => {
@@ -1254,7 +1377,7 @@
1254
1377
  });
1255
1378
  const renderColumn = (menuItem, index) => {
1256
1379
  const { text, items, href, target, onClick } = menuItem;
1257
- return (jsxs("div", { className: "flex flex-col gap-3.5 w-1/4", children: [jsx("a", { className: "leading-5 text-l text-primary-text hover:text-primary-main no-underline", href: href, target: target || '_self', onClick: onClick, children: text || `Раздел ${index}` }), items?.map((_, i) => (jsx(ColumnItem, { ..._, basePath: href, index: i }, String(i))))] }, String(index)));
1380
+ return (jsxs("div", { className: "flex flex-col gap-3.5 w-1/4", children: [jsx("a", { className: "leading-5 text-l text-primary-text hover:text-primary-main no-underline", href: href, target: target || '_self', onClick: onClick, children: text || `Раздел ${index}` }), items?.map((_, i) => (jsx(ColumnItem, { ..._, basePath: appendSlash(href), index: i }, String(i))))] }, String(index)));
1258
1381
  };
1259
1382
  const ColumnItem = JSX(({ text, index, basePath, ...rest }) => {
1260
1383
  const isAnotherPortal = projectSettings.BASE_PATH && basePath ? !projectSettings.BASE_PATH.startsWith(basePath) : false;
@@ -1407,55 +1530,6 @@
1407
1530
 
1408
1531
  const HorizontalNavigation = JSX(({ title, links, className = '' }) => (jsxs("div", { className: className, children: [jsx("span", { className: "text-primary-text text-s font-medium", children: title }), links?.length ? (jsx("div", { className: "flex flex-col gap-2 pt-3", children: links.map((_, i) => (jsx(HorizontalNavigationLink, { index: i, className: "text-s", ..._ }, String(i)))) })) : null] })));
1409
1532
 
1410
- const ICONS_MAP = [
1411
- {
1412
- origins: ['t.me', 'telegram.org'],
1413
- iconMapped: { icon: 'TelegramIcon' },
1414
- label: 'Телеграм',
1415
- },
1416
- {
1417
- origins: ['vk.com'],
1418
- iconMapped: { icon: 'VKIcon' },
1419
- label: 'ВКонтакте',
1420
- },
1421
- {
1422
- origins: ['ok.ru'],
1423
- iconMapped: { icon: 'OkIcon' },
1424
- label: 'Одноклассники',
1425
- },
1426
- {
1427
- origins: ['apps.apple.com'],
1428
- iconMapped: { icon: 'AppleIcon' },
1429
- label: 'App Store',
1430
- },
1431
- {
1432
- origins: ['play.google.com'],
1433
- iconMapped: { icon: 'PlayMarketIcon' },
1434
- label: 'Google Play',
1435
- },
1436
- {
1437
- origins: ['youtube.com'],
1438
- iconMapped: { icon: 'YoutubeIcon' },
1439
- label: 'Youtube',
1440
- },
1441
- ];
1442
- const buttonSizeStyles = {
1443
- default: 'w-14 h-14',
1444
- small: 'w-12 h-12',
1445
- };
1446
- const buttonStylesWithText = (text, buttonSize) => text
1447
- ? ''
1448
- : `group/media flex items-center justify-center box-border ${buttonSizeStyles[buttonSize]}`;
1449
- const MediaButton = JSX(({ buttonSize = 'default', rounded = false, icon, ...rest }) => {
1450
- const { href, version, text = '' } = rest;
1451
- const { iconMapped, label } = ICONS_MAP.find(({ origins }) => origins.some((_) => href?.includes(_))) || {};
1452
- const iconCustom = getFilteredIcon(icon) ?? iconMapped;
1453
- return (jsx(Button, { className: style(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', buttonStylesWithText(text, buttonSize)), "aria-label": label, rel: "noopener noreferrer", target: "_blank", text: text, version: version, ...rest, children: iconCustom && !text ? (jsx(Img, { image: iconCustom, imageClassName: "group-hover/media:text-white", width: "24", height: "24" })) : null }));
1454
- });
1455
- const getFilteredIcon = (icon) => (icon?.src || icon?.icon ? icon : undefined);
1456
-
1457
- const SocialMedia = JSX(({ className = '', media }) => (jsx("div", { className: `flex gap-2 items-start justify-start pt-6 pb-6 ${className}`, children: media?.map((_, index) => (jsx(MediaButton, { ..._ }, String(index)))) })));
1458
-
1459
1533
  const TextInformationLink = JSX(({ className = '', index, ...rest }) => {
1460
1534
  const link = useLink({ isRemote: true });
1461
1535
  const { href, target, text, onClick } = link(rest);
@@ -1470,7 +1544,7 @@
1470
1544
  const fallback = rest.options?.page?.fallback;
1471
1545
  const sitemap = useSWRResource(projectSettings.SITEMAP || 'sitemap', fallback);
1472
1546
  const { documents, relatedEnterprises, contacts, socialMedia, horizontalNavigationTitle } = useSWRResource(projectSettings.FOOTER || 'footer', fallback);
1473
- return (jsxs(BlockWrapper, { tag: "footer", className: `px-4 py-[26px] ${className}`, ...rest, children: [jsx(Contacts, { className: "overflow-hidden", items: contacts, hasButton: true }), jsx("div", { className: "m-0 p-0", children: sitemap.topItems?.map((item, i) => (jsx(RollupItem, { label: item?.text, children: jsx(LinkList, { documents: item.items }) }, String(i)))) }), jsx("div", { className: "mt-4", children: sitemap?.dispositions?.map(renderSubMenuItem) }), jsx(MobileAppTile, { title: "\u041C\u043E\u0431\u0438\u043B\u044C\u043D\u043E\u0435 \u043F\u0440\u0438\u043B\u043E\u0436\u0435\u043D\u0438\u0435", description: "\u0417\u0430\u0433\u0440\u0443\u0437\u0438\u0442\u044C \u0434\u043B\u044F IOS \u0438 Android", ...rest }), jsx(SearchBar, { className: "grow" }), jsx(SocialMedia, { className: "pb-4", media: socialMedia }), jsx(HorizontalNavigation, { title: horizontalNavigationTitle, links: relatedEnterprises }), jsx(TextInformation, { links: documents })] }));
1547
+ return (jsxs(BlockWrapper, { tag: "footer", className: `px-4 py-[26px] ${className}`, ...rest, children: [jsx(Contacts, { className: "overflow-hidden", items: contacts, hasButton: true }), jsx("div", { className: "m-0 p-0", children: sitemap.topItems?.map((item, i) => (jsx(RollupItem, { label: item?.text, children: jsx(LinkList, { documents: item.items }) }, String(i)))) }), jsx("div", { className: "mt-4", children: sitemap?.dispositions?.map(renderSubMenuItem) }), jsx(MobileAppTile, { title: "\u041C\u043E\u0431\u0438\u043B\u044C\u043D\u043E\u0435 \u043F\u0440\u0438\u043B\u043E\u0436\u0435\u043D\u0438\u0435", description: "\u0417\u0430\u0433\u0440\u0443\u0437\u0438\u0442\u044C \u0434\u043B\u044F IOS \u0438 Android", ...rest }), jsx(SearchBar, { className: "grow" }), jsx(SocialMedia, { className: "pt-6 pb-6", media: socialMedia }), jsx(HorizontalNavigation, { title: horizontalNavigationTitle, links: relatedEnterprises }), jsx(TextInformation, { links: documents })] }));
1474
1548
  });
1475
1549
  const renderSubMenuItem = (menu, i) => {
1476
1550
  const { icon, href, text } = menu;
@@ -1568,46 +1642,6 @@
1568
1642
  return (jsxs(BlockWrapper, { tag: "header", version: version, ...rest, children: [jsxs("div", { className: "container px-4 py-0 box-border", children: [jsx(HeaderTop, { onClick: handleBurgerMenuShow, bgColor: bgColor, logo: logo }), jsx("nav", { className: "flex items-center m-0 p-0 overflow-y-hidden w-full h-12", children: jsx("div", { className: "flex no-scrollbar horizontal-list h-full items-center", children: subItems?.map((_, i) => (jsx(HeaderItem, { className: "mr-8 whitespace-nowrap text-s", active: _ === activeSubItem, ..._ }, String(i)))) }) })] }), burgerMenuShow ? (jsx(HeaderBurger, { onClick: handleBurgerMenuShow, burgerSubMenu: dispositions, defaultLocation: defaultLocation, children: jsx("div", { className: "list-none m-0 p-0", children: topItems?.map((item, i) => (jsx(RollupItem, { label: item.text, children: jsx(LinkList, { documents: item.items }) }, String(i)))) }) })) : null] }));
1569
1643
  });
1570
1644
 
1571
- const headlineVersionStyles = {
1572
- XXL: {
1573
- title: { headingType: 'h0', as: 'h1' },
1574
- descriptionSize: 'text-h5',
1575
- descriptionStyle: 'mt-5',
1576
- },
1577
- XL: {
1578
- title: { headingType: 'h1', as: 'h1' },
1579
- descriptionSize: 'text-xl-light',
1580
- descriptionStyle: 'mt-4',
1581
- },
1582
- L: {
1583
- title: { headingType: 'h2', as: 'h2' },
1584
- descriptionSize: 'text-xl-light',
1585
- descriptionStyle: 'mt-4',
1586
- },
1587
- M: {
1588
- title: { headingType: 'h3', as: 'h3' },
1589
- descriptionSize: 'text-xl-light',
1590
- descriptionStyle: 'mt-3',
1591
- },
1592
- S: {
1593
- title: { headingType: 'h4', as: 'h4' },
1594
- descriptionSize: 'text-xl-light',
1595
- descriptionStyle: 'mt-2',
1596
- },
1597
- XS: {
1598
- title: { headingType: 'h5', as: 'h5' },
1599
- descriptionSize: 'text-l-light',
1600
- descriptionStyle: 'mt-2',
1601
- },
1602
- };
1603
-
1604
- const Headline = JSX(({ className, title, description, headlineVersion = 'XL', align = 'text-center', as, isPadding = true, isTheme = false, version = '', ...rest }) => {
1605
- const versionStyle = headlineVersionStyles[headlineVersion];
1606
- const paddingStyle = isPadding ? 'p-default' : '';
1607
- const descriptionStyle = { marginTop: versionStyle.descriptionStyle };
1608
- return (jsxs(BlockWrapper, { className: style(paddingStyle, className), version: version, isTheme: isTheme, ...rest, children: [title ? (jsx(Heading, { className: style('whitespace-pre-wrap', align), ...versionStyle?.title, as: as || versionStyle?.title.as, title: title })) : null, description ? (jsx(Paragraph, { size: versionStyle.descriptionSize, align: align, ...descriptionStyle, children: description })) : null] }));
1609
- });
1610
-
1611
1645
  const ImgBlock = JSX((props) => {
1612
1646
  const { className, image, ...rest } = props;
1613
1647
  return (jsx(BlockWrapper, { className: className, ...rest, children: jsx(Img, { image: image }) }));
@@ -1688,25 +1722,6 @@
1688
1722
  const renderShimmerItem = (width, index) => (jsx("div", { style: { width: `${width || 100}%` }, className: "h-4 mt-2 bg-secondary-light" }, String(index)));
1689
1723
  const goldenSequence = (first, size) => [first].concat(size > 0 ? goldenSequence(first / GOLDEN_RATIO, size - 1) : []);
1690
1724
 
1691
- const DOT_SIZE_MAP = {
1692
- L: 'w-1.5 h-1.5 min-w-1.5 min-h-1.5 mr-4',
1693
- M: 'w-1.5 h-1.5 min-w-1.5 min-h-1.5 mr-3',
1694
- S: 'w-1 h-1 min-w-1 min-h-1 mr-2',
1695
- };
1696
- const ListItem = JSX(({ className = '', isDotted = true, children, size = 'M' }) => (jsxs("div", { className: `font-sans flex items-baseline ${className}`, role: "listitem", children: [isDotted ? (jsx("div", { children: jsx("div", { className: `rounded-full align-middle inline-block bg-primary-text group-data-secondary:bg-white ${DOT_SIZE_MAP[size]}` }) })) : null, jsx("span", { children: children })] })));
1697
-
1698
- const TEXT_SIZE_MAP = {
1699
- S: 'text-l-light',
1700
- M: 'text-h6',
1701
- L: 'text-h5',
1702
- };
1703
- const ITEM_INDENT_MAP = {
1704
- S: 'ml-2',
1705
- M: 'ml-3',
1706
- L: 'ml-4',
1707
- };
1708
- 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, isDotted: isDotted, size: listItemSize, children: item }, String(i)))) })) : null);
1709
-
1710
1725
  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] })] })));
1711
1726
 
1712
1727
  const BenefitItem = JSX((props) => {
@@ -1900,6 +1915,7 @@
1900
1915
  RichTextBlock,
1901
1916
  RollupItem,
1902
1917
  VerticalLayout,
1918
+ CarouselRecommendationCard,
1903
1919
  };
1904
1920
 
1905
1921
  const debounce = (fn, delay = 600) => {
@@ -1957,13 +1973,6 @@
1957
1973
  }, [scrollTarget]);
1958
1974
  }
1959
1975
 
1960
- const LinkWrapper = JSX(({ className = '', href, target, isRemote = false, children }) => {
1961
- const link = useLink({ isRemote });
1962
- const linkProps = link({ href, target });
1963
- const Tag = href ? 'a' : 'div';
1964
- return (jsx(Tag, { className: style('block', className), ...(href ? linkProps : {}), children: children }));
1965
- });
1966
-
1967
1976
  const COOKIE_DIALOG_ID = 'cookie';
1968
1977
  const LOCAL_STORAGE_NAME = 'cookieClose';
1969
1978
  const CookiePopup = JSX(({ termLink, personalDataPolicyLink }) => {
@@ -2053,7 +2062,7 @@
2053
2062
  return (list) => list.reduce((acc, el, i) => (acc.length ? acc.concat({ ...sep, key: i }, el) : [el]), []);
2054
2063
  }
2055
2064
 
2056
- const packageVersion = "0.10.7";
2065
+ const packageVersion = "0.10.9";
2057
2066
 
2058
2067
  exports.Blocks = Blocks;
2059
2068
  exports.ContentPage = ContentPage;