@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
@@ -2,16 +2,16 @@ import { jsx as _jsx } from "@redneckz/uni-jsx/jsx-runtime";
2
2
  import { assertUnreachable } from '../../utils/assertUnreachable.js';
3
3
  import { LinkTab } from './LinkTab.js';
4
4
  import { renderGroupTab } from './renderGroupTab.js';
5
- export const renderTab = ({ page, currentTab, showCounter, onClick, isScrollable = false }) => (tab, i) => {
5
+ export const renderTab = ({ page, showCounter, ...rest }) => (tab, i) => {
6
6
  const type = tab.type;
7
7
  if (!(type === 'group' || type === 'link')) {
8
8
  return null;
9
9
  }
10
10
  switch (type) {
11
11
  case 'group':
12
- return renderGroupTab({ page, currentTab, showCounter, onClick, isScrollable })(tab, i);
12
+ return renderGroupTab({ page, showCounter, ...rest })(tab, i);
13
13
  case 'link': {
14
- return (_jsx(LinkTab, { tab: tab, currentTab: currentTab, isScrollable: isScrollable, onClick: onClick }, String(i)));
14
+ return _jsx(LinkTab, { tab: tab, ...rest }, String(i));
15
15
  }
16
16
  default:
17
17
  assertUnreachable(type);
@@ -1 +1 @@
1
- {"version":3,"file":"renderTab.js","sourceRoot":"","sources":["../../../src/components/Tabs/renderTab.tsx"],"names":[],"mappings":";AACA,OAAO,EAAE,iBAAiB,EAAE,MAAM,+BAA+B,CAAC;AAClE,OAAO,EAAE,OAAO,EAAE,MAAM,WAAW,CAAC;AACpC,OAAO,EAAE,cAAc,EAAE,MAAM,kBAAkB,CAAC;AAWlD,MAAM,CAAC,MAAM,SAAS,GACpB,CAAC,EAAE,IAAI,EAAE,UAAU,EAAE,WAAW,EAAE,OAAO,EAAE,YAAY,GAAG,KAAK,EAAkB,EAAE,EAAE,CACrF,CAAC,GAAY,EAAE,CAAS,EAAE,EAAE;IAC1B,MAAM,IAAI,GAAG,GAAG,CAAC,IAAI,CAAC;IAEtB,IAAI,CAAC,CAAC,IAAI,KAAK,OAAO,IAAI,IAAI,KAAK,MAAM,CAAC,EAAE;QAC1C,OAAO,IAAI,CAAC;KACb;IAED,QAAQ,IAAI,EAAE;QACZ,KAAK,OAAO;YACV,OAAO,cAAc,CAAC,EAAE,IAAI,EAAE,UAAU,EAAE,WAAW,EAAE,OAAO,EAAE,YAAY,EAAE,CAAC,CAAC,GAAG,EAAE,CAAC,CAAC,CAAC;QAC1F,KAAK,MAAM,CAAC,CAAC;YACX,OAAO,CACL,KAAC,OAAO,IAEN,GAAG,EAAE,GAAG,EACR,UAAU,EAAE,UAAU,EACtB,YAAY,EAAE,YAAY,EAC1B,OAAO,EAAE,OAAO,IAJX,MAAM,CAAC,CAAC,CAAC,CAKd,CACH,CAAC;SACH;QACD;YACE,iBAAiB,CAAC,IAAI,CAAC,CAAC;KAC3B;IAED,OAAO,IAAI,CAAC;AACd,CAAC,CAAC"}
1
+ {"version":3,"file":"renderTab.js","sourceRoot":"","sources":["../../../src/components/Tabs/renderTab.tsx"],"names":[],"mappings":";AACA,OAAO,EAAE,iBAAiB,EAAE,MAAM,+BAA+B,CAAC;AAClE,OAAO,EAAE,OAAO,EAAE,MAAM,WAAW,CAAC;AACpC,OAAO,EAAE,cAAc,EAAE,MAAM,kBAAkB,CAAC;AAWlD,MAAM,CAAC,MAAM,SAAS,GACpB,CAAC,EAAE,IAAI,EAAE,WAAW,EAAE,GAAG,IAAI,EAAkB,EAAE,EAAE,CACnD,CAAC,GAAY,EAAE,CAAS,EAAE,EAAE;IAC1B,MAAM,IAAI,GAAG,GAAG,CAAC,IAAI,CAAC;IAEtB,IAAI,CAAC,CAAC,IAAI,KAAK,OAAO,IAAI,IAAI,KAAK,MAAM,CAAC,EAAE;QAC1C,OAAO,IAAI,CAAC;KACb;IAED,QAAQ,IAAI,EAAE;QACZ,KAAK,OAAO;YACV,OAAO,cAAc,CAAC,EAAE,IAAI,EAAE,WAAW,EAAE,GAAG,IAAI,EAAE,CAAC,CAAC,GAAG,EAAE,CAAC,CAAC,CAAC;QAChE,KAAK,MAAM,CAAC,CAAC;YACX,OAAO,KAAC,OAAO,IAAiB,GAAG,EAAE,GAAG,KAAM,IAAI,IAA7B,MAAM,CAAC,CAAC,CAAC,CAAwB,CAAC;SACxD;QACD;YACE,iBAAiB,CAAC,IAAI,CAAC,CAAC;KAC3B;IAED,OAAO,IAAI,CAAC;AACd,CAAC,CAAC"}
@@ -1,3 +1,4 @@
1
+ import type { TabsMode } from './TabsContent';
1
2
  export declare const LINK_CLASSES = "h-12 flex-1 flex items-center justify-center cursor-pointer";
2
3
  export declare const ACTIVE_LINK_CLASSES = "bg-primary-main";
3
4
  export declare const INACTIVE_LINK_CLASSES = "group/btn bg-white";
@@ -7,5 +8,5 @@ export declare const TEXT_CLASSES = "font-sans text-m text-center";
7
8
  export declare const ACTIVE_TEXT_CLASSES = "text-white";
8
9
  export declare const INACTIVE_TEXT_CLASSES = "text-secondary-text group-hover/btn:text-primary-main";
9
10
  export declare const WHITE_ACTIVE_TEXT_CLASSES = "text-primary-main";
10
- export declare const getGroupTabClassName: (type: string, active: boolean, isScrollable: boolean) => any;
11
- export declare const getLinkTabClassName: (type: string, active: boolean, isScrollable: boolean) => any;
11
+ export declare const getGroupTabClassName: (type: string, active: boolean, tabsMode?: TabsMode) => any;
12
+ export declare const getLinkTabClassName: (type: string, active: boolean, tabsMode?: TabsMode) => any;
@@ -13,7 +13,11 @@ const GROUP_TAB_CLASSES = {
13
13
  active: `inline-flex px-4 grow whitespace-nowrap ${LINK_CLASSES} ${SCROLLABLE_ACTIVE_LINK_CLASSES}`,
14
14
  default: `inline-flex px-4 grow whitespace-nowrap ${LINK_CLASSES} ${INACTIVE_LINK_CLASSES}`,
15
15
  },
16
- default: {
16
+ centered: {
17
+ active: `px-4 rounded-md ${LINK_CLASSES} ${WIDESCREEN_ACTIVE_LINK_CLASSES} whitespace-nowrap`,
18
+ default: `px-4 rounded-md ${LINK_CLASSES} group/btn bg-transparent whitespace-nowrap`,
19
+ },
20
+ wideScreen: {
17
21
  active: `${LINK_CLASSES} ${WIDESCREEN_ACTIVE_LINK_CLASSES} whitespace-nowrap`,
18
22
  default: `${LINK_CLASSES} ${INACTIVE_LINK_CLASSES} whitespace-nowrap`,
19
23
  },
@@ -23,7 +27,11 @@ const GROUP_TAB_CLASSES = {
23
27
  active: `h-full border-0 border-b-2`,
24
28
  default: ``,
25
29
  },
26
- default: {
30
+ centered: {
31
+ active: '',
32
+ default: '',
33
+ },
34
+ wideScreen: {
27
35
  active: '',
28
36
  default: '',
29
37
  },
@@ -35,7 +43,11 @@ const LINK_TAB_CLASSES = {
35
43
  active: `inline-flex px-4 grow whitespace-nowrap ${LINK_CLASSES} ${SCROLLABLE_ACTIVE_LINK_CLASSES}`,
36
44
  default: `inline-flex px-4 grow whitespace-nowrap ${LINK_CLASSES} ${INACTIVE_LINK_CLASSES}`,
37
45
  },
38
- default: {
46
+ centered: {
47
+ active: `px-4 rounded-md ${LINK_CLASSES} ${WIDESCREEN_ACTIVE_LINK_CLASSES} whitespace-nowrap`,
48
+ default: `px-4 rounded-md ${LINK_CLASSES} group/btn bg-transparent whitespace-nowrap`,
49
+ },
50
+ wideScreen: {
39
51
  active: `${LINK_CLASSES} ${WIDESCREEN_ACTIVE_LINK_CLASSES}`,
40
52
  default: `${LINK_CLASSES} ${INACTIVE_LINK_CLASSES}`,
41
53
  },
@@ -45,20 +57,24 @@ const LINK_TAB_CLASSES = {
45
57
  active: `${TEXT_CLASSES} flex items-center h-full border-0 border-b-2 ${WHITE_ACTIVE_TEXT_CLASSES}`,
46
58
  default: `${TEXT_CLASSES} ${INACTIVE_TEXT_CLASSES}`,
47
59
  },
48
- default: {
60
+ centered: {
61
+ active: `${TEXT_CLASSES} ${ACTIVE_TEXT_CLASSES}`,
62
+ default: `${TEXT_CLASSES} ${INACTIVE_TEXT_CLASSES}`,
63
+ },
64
+ wideScreen: {
49
65
  active: `${TEXT_CLASSES} ${ACTIVE_TEXT_CLASSES}`,
50
66
  default: `${TEXT_CLASSES} ${INACTIVE_TEXT_CLASSES}`,
51
67
  },
52
68
  },
53
69
  };
54
- export const getGroupTabClassName = (type, active, isScrollable) => {
55
- const styleType = isScrollable ? 'scrollable' : 'default';
70
+ export const getGroupTabClassName = (type, active, tabsMode) => {
56
71
  const styleActive = active ? 'active' : 'default';
57
- return GROUP_TAB_CLASSES[type][styleType][styleActive];
72
+ const mode = tabsMode || 'wideScreen';
73
+ return GROUP_TAB_CLASSES[type][mode][styleActive];
58
74
  };
59
- export const getLinkTabClassName = (type, active, isScrollable) => {
60
- const styleType = isScrollable ? 'scrollable' : 'default';
75
+ export const getLinkTabClassName = (type, active, tabsMode) => {
61
76
  const styleActive = active ? 'active' : 'default';
62
- return LINK_TAB_CLASSES[type][styleType][styleActive];
77
+ const mode = tabsMode || 'wideScreen';
78
+ return LINK_TAB_CLASSES[type][mode][styleActive];
63
79
  };
64
80
  //# sourceMappingURL=tabItemClasses.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"tabItemClasses.js","sourceRoot":"","sources":["../../../src/components/Tabs/tabItemClasses.ts"],"names":[],"mappings":"AAAA,MAAM,CAAC,MAAM,YAAY,GAAG,6DAA6D,CAAC;AAC1F,MAAM,CAAC,MAAM,mBAAmB,GAAG,iBAAiB,CAAC;AACrD,MAAM,CAAC,MAAM,qBAAqB,GAAG,oBAAoB,CAAC;AAE1D,MAAM,CAAC,MAAM,8BAA8B,GAAG,4BAA4B,CAAC;AAC3E,MAAM,CAAC,MAAM,8BAA8B,GAAG,4BAA4B,CAAC;AAE3E,MAAM,CAAC,MAAM,YAAY,GAAG,8BAA8B,CAAC;AAC3D,MAAM,CAAC,MAAM,mBAAmB,GAAG,YAAY,CAAC;AAChD,MAAM,CAAC,MAAM,qBAAqB,GAAG,uDAAuD,CAAC;AAE7F,MAAM,CAAC,MAAM,yBAAyB,GAAG,mBAAmB,CAAC;AAE7D,MAAM,iBAAiB,GAAG;IACxB,GAAG,EAAE;QACH,UAAU,EAAE;YACV,MAAM,EAAE,2CAA2C,YAAY,IAAI,8BAA8B,EAAE;YACnG,OAAO,EAAE,2CAA2C,YAAY,IAAI,qBAAqB,EAAE;SAC5F;QACD,OAAO,EAAE;YACP,MAAM,EAAE,GAAG,YAAY,IAAI,8BAA8B,oBAAoB;YAC7E,OAAO,EAAE,GAAG,YAAY,IAAI,qBAAqB,oBAAoB;SACtE;KACF;IACD,IAAI,EAAE;QACJ,UAAU,EAAE;YACV,MAAM,EAAE,4BAA4B;YACpC,OAAO,EAAE,EAAE;SACZ;QACD,OAAO,EAAE;YACP,MAAM,EAAE,EAAE;YACV,OAAO,EAAE,EAAE;SACZ;KACF;CACF,CAAC;AACF,MAAM,gBAAgB,GAAG;IACvB,IAAI,EAAE;QACJ,UAAU,EAAE;YACV,MAAM,EAAE,2CAA2C,YAAY,IAAI,8BAA8B,EAAE;YACnG,OAAO,EAAE,2CAA2C,YAAY,IAAI,qBAAqB,EAAE;SAC5F;QACD,OAAO,EAAE;YACP,MAAM,EAAE,GAAG,YAAY,IAAI,8BAA8B,EAAE;YAC3D,OAAO,EAAE,GAAG,YAAY,IAAI,qBAAqB,EAAE;SACpD;KACF;IACD,IAAI,EAAE;QACJ,UAAU,EAAE;YACV,MAAM,EAAE,GAAG,YAAY,iDAAiD,yBAAyB,EAAE;YACnG,OAAO,EAAE,GAAG,YAAY,IAAI,qBAAqB,EAAE;SACpD;QACD,OAAO,EAAE;YACP,MAAM,EAAE,GAAG,YAAY,IAAI,mBAAmB,EAAE;YAChD,OAAO,EAAE,GAAG,YAAY,IAAI,qBAAqB,EAAE;SACpD;KACF;CACF,CAAC;AAEF,MAAM,CAAC,MAAM,oBAAoB,GAAG,CAAC,IAAY,EAAE,MAAe,EAAE,YAAqB,EAAE,EAAE;IAC3F,MAAM,SAAS,GAAG,YAAY,CAAC,CAAC,CAAC,YAAY,CAAC,CAAC,CAAC,SAAS,CAAC;IAC1D,MAAM,WAAW,GAAG,MAAM,CAAC,CAAC,CAAC,QAAQ,CAAC,CAAC,CAAC,SAAS,CAAC;IAElD,OAAO,iBAAiB,CAAC,IAAI,CAAC,CAAC,SAAS,CAAC,CAAC,WAAW,CAAC,CAAC;AACzD,CAAC,CAAC;AAEF,MAAM,CAAC,MAAM,mBAAmB,GAAG,CAAC,IAAY,EAAE,MAAe,EAAE,YAAqB,EAAE,EAAE;IAC1F,MAAM,SAAS,GAAG,YAAY,CAAC,CAAC,CAAC,YAAY,CAAC,CAAC,CAAC,SAAS,CAAC;IAC1D,MAAM,WAAW,GAAG,MAAM,CAAC,CAAC,CAAC,QAAQ,CAAC,CAAC,CAAC,SAAS,CAAC;IAElD,OAAO,gBAAgB,CAAC,IAAI,CAAC,CAAC,SAAS,CAAC,CAAC,WAAW,CAAC,CAAC;AACxD,CAAC,CAAC"}
1
+ {"version":3,"file":"tabItemClasses.js","sourceRoot":"","sources":["../../../src/components/Tabs/tabItemClasses.ts"],"names":[],"mappings":"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"}
@@ -9,7 +9,7 @@ export function useLink(params = {}) {
9
9
  const { close } = useDialog();
10
10
  return (props) => ({
11
11
  ...props,
12
- href: isRemote ? props.href : adjustHref(router)(props.href, basePath),
12
+ href: isRemote && !basePath ? props.href : adjustHref(router)(props.href, basePath),
13
13
  'aria-label': props.text,
14
14
  onClick: handlerDecorator(handleHref(props), props),
15
15
  });
@@ -1 +1 @@
1
- {"version":3,"file":"useLink.js","sourceRoot":"","sources":["../../src/hooks/useLink.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,SAAS,EAAE,MAAM,4BAA4B,CAAC;AAEvD,OAAO,EAAE,UAAU,EAAE,MAAM,qBAAqB,CAAC;AACjD,OAAO,EAAE,UAAU,EAAE,MAAM,cAAc,CAAC;AAC1C,OAAO,EAAE,gBAAgB,EAAE,MAAM,oBAAoB,CAAC;AACtD,OAAO,EAAE,SAAS,EAAE,MAAM,aAAa,CAAC;AAWxC,MAAM,UAAU,OAAO,CAAC,SAAwB,EAAE;IAChD,MAAM,EAAE,QAAQ,EAAE,QAAQ,EAAE,GAAG,MAAM,CAAC;IAEtC,MAAM,MAAM,GAAG,SAAS,EAAE,CAAC;IAC3B,MAAM,EAAE,KAAK,EAAE,GAAG,SAAS,EAAE,CAAC;IAE9B,OAAO,CAA2C,KAAQ,EAAiB,EAAE,CAAC,CAAC;QAC7E,GAAG,KAAK;QACR,IAAI,EAAE,QAAQ,CAAC,CAAC,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC,CAAC,UAAU,CAAC,MAAM,CAAC,CAAC,KAAK,CAAC,IAAI,EAAE,QAAQ,CAAC;QACtE,YAAY,EAAE,KAAK,CAAC,IAAI;QACxB,OAAO,EAAE,gBAAgB,CAAC,UAAU,CAAC,KAAK,CAAC,EAAE,KAAK,CAAC;KACpD,CAAC,CAAC;IAEH,SAAS,UAAU,CAAC,EAAE,IAAI,EAAE,MAAM,EAAE,OAAO,EAAkC;QAC3E,OAAO,CAAC,EAAqB,EAAE,EAAE;YAC/B,OAAO,IAAI,OAAO,CAAC,EAAE,CAAC,CAAC;YAEvB,IAAI,CAAC,IAAI,IAAI,QAAQ,IAAI,CAAC,UAAU,CAAC,IAAI,EAAE,MAAM,CAAC,EAAE;gBAClD,kBAAkB;gBAClB,OAAO;aACR;YAED,KAAK,EAAE,CAAC;YAER,iBAAiB;YACjB,EAAE,EAAE,cAAc,EAAE,CAAC;YACrB,MAAM,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;QACpB,CAAC,CAAC;IACJ,CAAC;AACH,CAAC"}
1
+ {"version":3,"file":"useLink.js","sourceRoot":"","sources":["../../src/hooks/useLink.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,SAAS,EAAE,MAAM,4BAA4B,CAAC;AAEvD,OAAO,EAAE,UAAU,EAAE,MAAM,qBAAqB,CAAC;AACjD,OAAO,EAAE,UAAU,EAAE,MAAM,cAAc,CAAC;AAC1C,OAAO,EAAE,gBAAgB,EAAE,MAAM,oBAAoB,CAAC;AACtD,OAAO,EAAE,SAAS,EAAE,MAAM,aAAa,CAAC;AAWxC,MAAM,UAAU,OAAO,CAAC,SAAwB,EAAE;IAChD,MAAM,EAAE,QAAQ,EAAE,QAAQ,EAAE,GAAG,MAAM,CAAC;IAEtC,MAAM,MAAM,GAAG,SAAS,EAAE,CAAC;IAC3B,MAAM,EAAE,KAAK,EAAE,GAAG,SAAS,EAAE,CAAC;IAE9B,OAAO,CAA2C,KAAQ,EAAiB,EAAE,CAAC,CAAC;QAC7E,GAAG,KAAK;QACR,IAAI,EAAE,QAAQ,IAAI,CAAC,QAAQ,CAAC,CAAC,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC,CAAC,UAAU,CAAC,MAAM,CAAC,CAAC,KAAK,CAAC,IAAI,EAAE,QAAQ,CAAC;QACnF,YAAY,EAAE,KAAK,CAAC,IAAI;QACxB,OAAO,EAAE,gBAAgB,CAAC,UAAU,CAAC,KAAK,CAAC,EAAE,KAAK,CAAC;KACpD,CAAC,CAAC;IAEH,SAAS,UAAU,CAAC,EAAE,IAAI,EAAE,MAAM,EAAE,OAAO,EAAkC;QAC3E,OAAO,CAAC,EAAqB,EAAE,EAAE;YAC/B,OAAO,IAAI,OAAO,CAAC,EAAE,CAAC,CAAC;YAEvB,IAAI,CAAC,IAAI,IAAI,QAAQ,IAAI,CAAC,UAAU,CAAC,IAAI,EAAE,MAAM,CAAC,EAAE;gBAClD,kBAAkB;gBAClB,OAAO;aACR;YAED,KAAK,EAAE,CAAC;YAER,iBAAiB;YACjB,EAAE,EAAE,cAAc,EAAE,CAAC;YACrB,MAAM,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;QACpB,CAAC,CAAC;IACJ,CAAC;AACH,CAAC"}
@@ -2,6 +2,7 @@ import { jsx as _jsx, jsxs as _jsxs } from "@redneckz/uni-jsx/jsx-runtime";
2
2
  import { JSX } from '@redneckz/uni-jsx';
3
3
  import { useLink } from '../../hooks/useLink.js';
4
4
  import { projectSettings } from '../../ProjectSettings.js';
5
+ import { appendSlash } from '../../utils/appendSlash.js';
5
6
  import { style } from '../../utils/style.js';
6
7
  export const Sitemap = JSX(({ className, topItems }) => {
7
8
  const link = useLink({ isRemote: true });
@@ -9,7 +10,7 @@ export const Sitemap = JSX(({ className, topItems }) => {
9
10
  });
10
11
  const renderColumn = (menuItem, index) => {
11
12
  const { text, items, href, target, onClick } = menuItem;
12
- 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)));
13
+ 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)));
13
14
  };
14
15
  const ColumnItem = JSX(({ text, index, basePath, ...rest }) => {
15
16
  const isAnotherPortal = projectSettings.BASE_PATH && basePath ? !projectSettings.BASE_PATH.startsWith(basePath) : false;
@@ -1 +1 @@
1
- {"version":3,"file":"Sitemap.js","sourceRoot":"","sources":["../../../src/ui-kit/Sitemap/Sitemap.tsx"],"names":[],"mappings":";AAAA,OAAO,EAAE,GAAG,EAAE,MAAM,mBAAmB,CAAC;AACxC,OAAO,EAAE,OAAO,EAAE,MAAM,qBAAqB,CAAC;AAE9C,OAAO,EAAE,eAAe,EAAE,MAAM,uBAAuB,CAAC;AAExD,OAAO,EAAE,KAAK,EAAE,MAAM,mBAAmB,CAAC;AAO1C,MAAM,CAAC,MAAM,OAAO,GAAG,GAAG,CAAe,CAAC,EAAE,SAAS,EAAE,QAAQ,EAAE,EAAE,EAAE;IACnE,MAAM,IAAI,GAAG,OAAO,CAAC,EAAE,QAAQ,EAAE,IAAI,EAAE,CAAC,CAAC;IAEzC,OAAO,CACL,cAAK,SAAS,EAAE,KAAK,CAAC,kCAAkC,EAAE,SAAS,CAAC,YACjE,QAAQ,EAAE,GAAG,CAAC,IAAI,CAAC,CAAC,GAAG,CAAC,YAAY,CAAC,GAClC,CACP,CAAC;AACJ,CAAC,CAAC,CAAC;AAEH,MAAM,YAAY,GAAG,CAAC,QAAoD,EAAE,KAAa,EAAE,EAAE;IAC3F,MAAM,EAAE,IAAI,EAAE,KAAK,EAAE,IAAI,EAAE,MAAM,EAAE,OAAO,EAAE,GAAG,QAAQ,CAAC;IAExD,OAAO,CACL,eAAyB,SAAS,EAAC,6BAA6B,aAC9D,YACE,SAAS,EAAC,yEAAyE,EACnF,IAAI,EAAE,IAAI,EACV,MAAM,EAAE,MAAM,IAAI,OAAO,EACzB,OAAO,EAAE,OAAO,YAEf,IAAI,IAAI,UAAU,KAAK,EAAE,GACxB,EACH,KAAK,EAAE,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,EAAE,CAAC,CACpB,KAAC,UAAU,OAAqB,CAAC,EAAE,QAAQ,EAAE,IAAI,EAAE,KAAK,EAAE,CAAC,IAA1C,MAAM,CAAC,CAAC,CAAC,CAAqC,CAChE,CAAC,KAXM,MAAM,CAAC,KAAK,CAAC,CAYjB,CACP,CAAC;AACJ,CAAC,CAAC;AAOF,MAAM,UAAU,GAAG,GAAG,CAAkB,CAAC,EAAE,IAAI,EAAE,KAAK,EAAE,QAAQ,EAAE,GAAG,IAAI,EAAE,EAAE,EAAE;IAC7E,MAAM,eAAe,GACnB,eAAe,CAAC,SAAS,IAAI,QAAQ,CAAC,CAAC,CAAC,CAAC,eAAe,CAAC,SAAS,CAAC,UAAU,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC;IAElG,MAAM,IAAI,GAAG,OAAO,CAAC,EAAE,QAAQ,EAAE,eAAe,EAAE,QAAQ,EAAE,CAAC,CAAC;IAC9D,MAAM,EAAE,IAAI,EAAE,MAAM,EAAE,OAAO,EAAE,GAAG,IAAI,CAAC,IAAI,CAAC,CAAC;IAE7C,OAAO,CACL,YACE,SAAS,EAAE,KAAK,CACd,uEAAuE,EACvE,uDAAuD,CACxD,EACD,IAAI,EAAE,IAAI,EACV,MAAM,EAAE,MAAM,IAAI,OAAO,EACzB,OAAO,EAAE,OAAO,YAEf,IAAI,IAAI,UAAU,KAAK,EAAE,GACxB,CACL,CAAC;AACJ,CAAC,CAAC,CAAC"}
1
+ {"version":3,"file":"Sitemap.js","sourceRoot":"","sources":["../../../src/ui-kit/Sitemap/Sitemap.tsx"],"names":[],"mappings":";AAAA,OAAO,EAAE,GAAG,EAAE,MAAM,mBAAmB,CAAC;AACxC,OAAO,EAAE,OAAO,EAAE,MAAM,qBAAqB,CAAC;AAE9C,OAAO,EAAE,eAAe,EAAE,MAAM,uBAAuB,CAAC;AAExD,OAAO,EAAE,WAAW,EAAE,MAAM,yBAAyB,CAAC;AACtD,OAAO,EAAE,KAAK,EAAE,MAAM,mBAAmB,CAAC;AAO1C,MAAM,CAAC,MAAM,OAAO,GAAG,GAAG,CAAe,CAAC,EAAE,SAAS,EAAE,QAAQ,EAAE,EAAE,EAAE;IACnE,MAAM,IAAI,GAAG,OAAO,CAAC,EAAE,QAAQ,EAAE,IAAI,EAAE,CAAC,CAAC;IAEzC,OAAO,CACL,cAAK,SAAS,EAAE,KAAK,CAAC,kCAAkC,EAAE,SAAS,CAAC,YACjE,QAAQ,EAAE,GAAG,CAAC,IAAI,CAAC,CAAC,GAAG,CAAC,YAAY,CAAC,GAClC,CACP,CAAC;AACJ,CAAC,CAAC,CAAC;AAEH,MAAM,YAAY,GAAG,CAAC,QAAoD,EAAE,KAAa,EAAE,EAAE;IAC3F,MAAM,EAAE,IAAI,EAAE,KAAK,EAAE,IAAI,EAAE,MAAM,EAAE,OAAO,EAAE,GAAG,QAAQ,CAAC;IAExD,OAAO,CACL,eAAyB,SAAS,EAAC,6BAA6B,aAC9D,YACE,SAAS,EAAC,yEAAyE,EACnF,IAAI,EAAE,IAAI,EACV,MAAM,EAAE,MAAM,IAAI,OAAO,EACzB,OAAO,EAAE,OAAO,YAEf,IAAI,IAAI,UAAU,KAAK,EAAE,GACxB,EACH,KAAK,EAAE,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,EAAE,CAAC,CACpB,KAAC,UAAU,OAAqB,CAAC,EAAE,QAAQ,EAAE,WAAW,CAAC,IAAI,CAAC,EAAE,KAAK,EAAE,CAAC,IAAvD,MAAM,CAAC,CAAC,CAAC,CAAkD,CAC7E,CAAC,KAXM,MAAM,CAAC,KAAK,CAAC,CAYjB,CACP,CAAC;AACJ,CAAC,CAAC;AAOF,MAAM,UAAU,GAAG,GAAG,CAAkB,CAAC,EAAE,IAAI,EAAE,KAAK,EAAE,QAAQ,EAAE,GAAG,IAAI,EAAE,EAAE,EAAE;IAC7E,MAAM,eAAe,GACnB,eAAe,CAAC,SAAS,IAAI,QAAQ,CAAC,CAAC,CAAC,CAAC,eAAe,CAAC,SAAS,CAAC,UAAU,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC;IAElG,MAAM,IAAI,GAAG,OAAO,CAAC,EAAE,QAAQ,EAAE,eAAe,EAAE,QAAQ,EAAE,CAAC,CAAC;IAC9D,MAAM,EAAE,IAAI,EAAE,MAAM,EAAE,OAAO,EAAE,GAAG,IAAI,CAAC,IAAI,CAAC,CAAC;IAE7C,OAAO,CACL,YACE,SAAS,EAAE,KAAK,CACd,uEAAuE,EACvE,uDAAuD,CACxD,EACD,IAAI,EAAE,IAAI,EACV,MAAM,EAAE,MAAM,IAAI,OAAO,EACzB,OAAO,EAAE,OAAO,YAEf,IAAI,IAAI,UAAU,KAAK,EAAE,GACxB,CACL,CAAC;AACJ,CAAC,CAAC,CAAC"}
@@ -0,0 +1 @@
1
+ export declare const appendSlash: (url: string | undefined) => string | undefined;
@@ -0,0 +1,2 @@
1
+ export const appendSlash = (url) => url && !url.endsWith('/') ? `${url}/` : url;
2
+ //# sourceMappingURL=appendSlash.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"appendSlash.js","sourceRoot":"","sources":["../../src/utils/appendSlash.ts"],"names":[],"mappings":"AAAA,MAAM,CAAC,MAAM,WAAW,GAAG,CAAC,GAAuB,EAAE,EAAE,CACrD,GAAG,IAAI,CAAC,GAAG,CAAC,QAAQ,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,GAAG,GAAG,GAAG,CAAC,CAAC,CAAC,GAAG,CAAC"}
@@ -1,3 +1,5 @@
1
+ import { appendSlash } from './utils/appendSlash';
2
+
1
3
  export interface ProjectSettings {
2
4
  TEST_BRANCH?: string;
3
5
  RC_BRANCH?: string;
@@ -59,5 +61,3 @@ export const projectSettings = new (class implements ProjectSettings {
59
61
  return this._.YANDEX_METRIKA_ID;
60
62
  }
61
63
  })();
62
-
63
- const appendSlash = (url: string | undefined) => (url && !url.endsWith('/') ? `${url}/` : url);
@@ -1,5 +1,6 @@
1
1
  import type { BlocksRegistry } from '../model/BlocksRegistry';
2
2
  import { Carousel } from './Carousel/Carousel';
3
+ import { CarouselRecommendationCard } from './CarouselRecommendationCard/CarouselRecommendationCard';
3
4
  import { CarouselTariffsCard } from './CarouselTariffsCard/CarouselTariffsCard';
4
5
  import { ComparisonTable } from './ComparisonTable/ComparisonTable';
5
6
  import { Footer } from './Footer/Footer';
@@ -37,4 +38,5 @@ export const Blocks: BlocksRegistry = {
37
38
  RichTextBlock,
38
39
  RollupItem,
39
40
  VerticalLayout,
41
+ CarouselRecommendationCard,
40
42
  };
@@ -87,7 +87,7 @@ export const useCreditCalculatorParams = (
87
87
  ...userInputParams,
88
88
  monthlyPayment,
89
89
  }),
90
- [userInputParams],
90
+ [userInputParams, data],
91
91
  );
92
92
  };
93
93
 
@@ -8,11 +8,9 @@ import { List } from '../../ui-kit/List/List';
8
8
  import { style } from '../../utils/style';
9
9
  import { SocialMedia } from '../Footer/SocialMedia';
10
10
  import { Headline } from '../Headline/Headline';
11
+ import { BORDER_STYLE } from './cardStyle';
11
12
  import type { CarouselRecommendationCardContent } from './CarouselRecommendationCardContent';
12
13
 
13
- const BORDER_STYLE =
14
- 'border border-solid border-gray group-data-secondary:border-white/50 group-data-gray:border-main-divider';
15
-
16
14
  export interface RecommendationCardProps extends CarouselRecommendationCardContent, UniBlockProps {}
17
15
 
18
16
  export const CarouselRecommendationCard = JSX<RecommendationCardProps>(
@@ -26,44 +24,40 @@ export const CarouselRecommendationCard = JSX<RecommendationCardProps>(
26
24
  target,
27
25
  title,
28
26
  align = 'text-left',
29
- version = 'primary',
30
27
  ...rest
31
28
  }) => {
32
29
  return (
33
30
  <BlockWrapper
34
31
  className={style(
35
- 'relative p-7 min-w-[524px] min-h-[218px] h-full box-border group-data-gray:bg-main-divider/50',
32
+ 'relative box-border p-default group-data-gray:bg-main-divider/50',
36
33
  BORDER_STYLE,
37
34
  className,
38
35
  )}
39
- version={version}
40
36
  {...rest}
41
37
  >
42
38
  <LinkWrapper href={href} target={target}>
43
39
  <Headline
44
- className="mb-4"
40
+ className="mb-2"
45
41
  title={title}
46
42
  description={description}
47
43
  headlineVersion="S"
48
44
  isPadding={false}
49
45
  align={align}
50
46
  />
51
- <div className="w-1/2 h-full flex flex-col flex-1 justify-end">
52
- {items.length ? (
53
- <List className="flex flex-col gap-2" itemClassName="text-l-light" items={items} />
54
- ) : null}
55
- {socialMedia.length ? <SocialMedia className="pt-10" media={socialMedia} /> : null}
56
- </div>
57
- {renderIconBlock(icon)}
47
+ {items.length ? (
48
+ <List className="flex flex-col gap-2" items={items} listItemSize="S" />
49
+ ) : null}
50
+ {renderIcon(icon)}
51
+ {socialMedia.length ? <SocialMedia className="mt-5" media={socialMedia} /> : null}
58
52
  </LinkWrapper>
59
53
  </BlockWrapper>
60
54
  );
61
55
  },
62
56
  );
63
57
 
64
- const renderIconBlock = (icon: Picture | undefined) => (
65
- <div className="absolute bottom-0 right-0">
66
- {icon?.icon ? <Img image={icon} /> : null}
67
- {icon?.src ? <Img image={icon} /> : null}
68
- </div>
69
- );
58
+ const renderIcon = (icon?: Picture) =>
59
+ icon?.src || icon?.icon ? (
60
+ <div>
61
+ <Img image={icon} />
62
+ </div>
63
+ ) : null;
@@ -0,0 +1,2 @@
1
+ export const BORDER_STYLE =
2
+ 'border border-solid border-gray group-data-secondary:border-white/50 group-data-gray:border-main-divider';
@@ -1,2 +1,2 @@
1
- export const getPaddingStyle = (isHighlighting?: boolean): string =>
2
- isHighlighting ? 'p-default mt-6' : 'p-default mt-6';
1
+ export const getPaddingStyle = (isHighlighting = false): string =>
2
+ isHighlighting ? 'p-default mt-6' : 'mt-6 p-default'; // Хак для мобильной версии т.к. контракт должен быть идентичный
@@ -43,7 +43,7 @@ export const Footer = JSX<FooterProps>(({ className = '', ...rest }) => {
43
43
  {...rest}
44
44
  />
45
45
  <SearchBar className="grow" />
46
- <SocialMedia className="pb-4" media={socialMedia} />
46
+ <SocialMedia className="pt-6 pb-6" media={socialMedia} />
47
47
  <HorizontalNavigation title={horizontalNavigationTitle} links={relatedEnterprises} />
48
48
  <TextInformation links={documents} />
49
49
  </BlockWrapper>
@@ -8,7 +8,7 @@ export interface SocialMediaProps {
8
8
  }
9
9
 
10
10
  export const SocialMedia = JSX<SocialMediaProps>(({ className = '', media }) => (
11
- <div className={`flex gap-2 items-start justify-start pt-6 pb-6 ${className}`}>
11
+ <div className={`flex gap-2 items-start justify-start ${className}`}>
12
12
  {media?.map((_, index) => (
13
13
  <MediaButton key={String(index)} {..._} />
14
14
  ))}
@@ -0,0 +1,12 @@
1
+ import { JSX } from '@redneckz/uni-jsx';
2
+ import type { RenderTabProps } from './renderTab';
3
+ import { renderTab } from './renderTab';
4
+ import type { TabData } from './TabsContent';
5
+
6
+ interface CenteredTabsProps extends RenderTabProps {
7
+ tabs?: TabData[];
8
+ }
9
+
10
+ export const CenteredTabs = JSX<CenteredTabsProps>(({ tabs, ...rest }) => (
11
+ <div className="flex p-1 m-auto bg-main-gray rounded-md">{tabs?.map(renderTab({ ...rest }))}</div>
12
+ ));
@@ -1,17 +1,17 @@
1
1
  import { JSX } from '@redneckz/uni-jsx';
2
2
  import { useLink } from '../../hooks/useLink';
3
3
  import { getLinkTabClassName } from './tabItemClasses';
4
- import type { LinkTabData, TabData } from './TabsContent';
4
+ import type { LinkTabData, TabData, TabsMode } from './TabsContent';
5
5
 
6
6
  interface LinkTabProps {
7
7
  tab: LinkTabData;
8
8
  currentTab?: TabData;
9
- isScrollable?: boolean;
10
9
  onClick: (tab: TabData) => void;
10
+ tabsMode?: TabsMode;
11
11
  }
12
12
 
13
13
  export const LinkTab = JSX<LinkTabProps>((props) => {
14
- const { tab, currentTab, onClick, isScrollable = false } = props;
14
+ const { tab, currentTab, onClick, tabsMode } = props;
15
15
  const active = currentTab?.type === 'link' && currentTab.href === tab.href;
16
16
 
17
17
  const link = useLink();
@@ -25,12 +25,12 @@ export const LinkTab = JSX<LinkTabProps>((props) => {
25
25
  return (
26
26
  <a
27
27
  role="tab"
28
- className={getLinkTabClassName('link', active, isScrollable)}
28
+ className={getLinkTabClassName('link', active, tabsMode)}
29
29
  target={tab.target}
30
30
  href={adjustedProps.href}
31
31
  onClick={handleClick}
32
32
  >
33
- <span className={getLinkTabClassName('text', active, isScrollable)}>{tab.text}</span>
33
+ <span className={getLinkTabClassName('text', active, tabsMode)}>{tab.text}</span>
34
34
  </a>
35
35
  );
36
36
  });
@@ -1,10 +1,10 @@
1
1
  import { JSX } from '@redneckz/uni-jsx';
2
- import type { RenderTabProps } from './renderTab';
3
- import type { TabData } from './TabsContent';
2
+ import { ScrollLeftButton, ScrollRightButton } from '../../ui-kit/Button/ArrowButton';
4
3
  import { SwipeListContainer } from '../../ui-kit/SwipeListControl/SwipeListContainer';
5
4
  import { useSwipeListScroll } from '../../ui-kit/SwipeListControl/useSwipeListScroll';
6
- import { ScrollLeftButton, ScrollRightButton } from '../../ui-kit/Button/ArrowButton';
5
+ import type { RenderTabProps } from './renderTab';
7
6
  import { renderTab } from './renderTab';
7
+ import type { TabData } from './TabsContent';
8
8
 
9
9
  interface ScrollableTabsProps extends RenderTabProps {
10
10
  tabs?: TabData[];
@@ -15,7 +15,7 @@ export type IsScrollButtonsShown = boolean[];
15
15
  const scrollButtonStyle = 'absolute z-40 top-0';
16
16
 
17
17
  export const ScrollableTabs = JSX<ScrollableTabsProps>((props) => {
18
- const { tabs, onClick, currentTab, page, showCounter } = props;
18
+ const { tabs, ...rest } = props;
19
19
 
20
20
  const [containerRef, scroll] = useSwipeListScroll<HTMLDivElement>({
21
21
  itemCount: tabs?.length || 0,
@@ -30,15 +30,7 @@ export const ScrollableTabs = JSX<ScrollableTabsProps>((props) => {
30
30
  snapAlign="snap-start"
31
31
  onVisibleIndicesChange={scroll.handleVisibleIndicesChange}
32
32
  >
33
- {tabs?.map(
34
- renderTab({
35
- onClick,
36
- currentTab,
37
- showCounter,
38
- page,
39
- isScrollable: true,
40
- }),
41
- )}
33
+ {tabs?.map(renderTab({ ...rest }))}
42
34
  </SwipeListContainer>
43
35
  </div>
44
36
  {scroll.canScrollLeft ? (
@@ -3,14 +3,20 @@ import { useCallback, useEffect, useState } from '@redneckz/uni-jsx/lib/hooks';
3
3
  import { defaultEventBus } from '../../EventBus/defaultEventBus';
4
4
  import type { UniBlockProps } from '../../model/JSXBlock';
5
5
  import { BlockWrapper } from '../../ui-kit/BlockWrapper';
6
+ import { CenteredTabs } from './CenteredTabs';
6
7
  import { renderTab } from './renderTab';
7
8
  import { ScrollableTabs } from './ScrollableTabs';
8
9
  import type { TabData, TabsContent } from './TabsContent';
9
10
 
10
11
  export interface TabsBlockProps extends TabsContent, UniBlockProps {}
11
12
 
13
+ interface RenderTabsProps extends TabsBlockProps {
14
+ currentTab?: TabData;
15
+ onClick: (tab: TabData) => void;
16
+ }
17
+
12
18
  export const Tabs = JSX<TabsBlockProps>((props) => {
13
- const { className = '', tabs, showCounter, isSticky, tabsMode, ...rest } = props;
19
+ const { className = '', tabs, isSticky, ...rest } = props;
14
20
 
15
21
  const [currentTab, setCurrentTab] = useState(tabs ? tabs[0] : undefined);
16
22
 
@@ -41,28 +47,24 @@ export const Tabs = JSX<TabsBlockProps>((props) => {
41
47
  role="tablist"
42
48
  {...rest}
43
49
  >
44
- {tabsMode === 'scrollable' ? (
45
- <ScrollableTabs
46
- tabs={tabs}
47
- onClick={handleClick}
48
- currentTab={currentTab}
49
- showCounter={showCounter}
50
- {...rest}
51
- />
52
- ) : (
53
- tabs?.map(
54
- renderTab({
55
- onClick: handleClick,
56
- currentTab,
57
- showCounter,
58
- ...rest,
59
- }),
60
- )
61
- )}
50
+ {renderTabs({ tabs, onClick: handleClick, currentTab, ...rest })}
62
51
  </BlockWrapper>
63
52
  );
64
53
  });
65
54
 
55
+ const renderTabs = ({ tabsMode, tabs, ...rest }: RenderTabsProps) => {
56
+ switch (tabsMode) {
57
+ case 'wideScreen':
58
+ return tabs?.map(renderTab({ tabsMode, ...rest }));
59
+ case 'centered':
60
+ return <CenteredTabs tabs={tabs} tabsMode={tabsMode} {...rest} />;
61
+ case 'scrollable':
62
+ return <ScrollableTabs tabs={tabs} tabsMode={tabsMode} {...rest} />;
63
+ }
64
+
65
+ return null;
66
+ };
67
+
66
68
  const fireTabEvent = (tab: TabData) => {
67
69
  if (tab.type === 'group') {
68
70
  defaultEventBus.fire('tab', { type: tab.type, label: tab.ref });
@@ -31,10 +31,11 @@ export type TabData = GroupTabData | LinkTabData;
31
31
  /**
32
32
  * @enumNames [
33
33
  * "По ширине экрана",
34
- * "С прокруткой"
34
+ * "С прокруткой",
35
+ * "По центру"
35
36
  * ]
36
37
  */
37
- export type TabsMode = 'wideScreen' | 'scrollable';
38
+ export type TabsMode = 'wideScreen' | 'scrollable' | 'centered';
38
39
 
39
40
  /**
40
41
  * @title Вкладки
@@ -1,12 +1,12 @@
1
- import type { GroupTabData } from './TabsContent';
2
1
  import type { RenderTabProps } from './renderTab';
3
2
  import {
4
3
  ACTIVE_TEXT_CLASSES,
4
+ getGroupTabClassName,
5
5
  INACTIVE_TEXT_CLASSES,
6
6
  TEXT_CLASSES,
7
7
  WHITE_ACTIVE_TEXT_CLASSES,
8
- getGroupTabClassName,
9
8
  } from './tabItemClasses';
9
+ import type { GroupTabData, TabsMode } from './TabsContent';
10
10
 
11
11
  const BADGE_CLASSES =
12
12
  'min-w-[22px] h-[22px] rounded-full text-xs ml-2 flex justify-center items-center';
@@ -15,7 +15,7 @@ const INACTIVE_BADGE_CLASSES =
15
15
  'bg-main-divider text-secondary-text group-hover/btn:text-primary-main';
16
16
 
17
17
  export const renderGroupTab =
18
- ({ page, currentTab, showCounter, onClick, isScrollable = false }: RenderTabProps) =>
18
+ ({ page, currentTab, showCounter, onClick, tabsMode }: RenderTabProps) =>
19
19
  (tab: GroupTabData, i: number) => {
20
20
  const active = currentTab === tab;
21
21
 
@@ -27,7 +27,7 @@ export const renderGroupTab =
27
27
  return (
28
28
  <div
29
29
  key={`group-${String(i)}`}
30
- className={getGroupTabClassName('div', active, isScrollable)}
30
+ className={getGroupTabClassName('div', active, tabsMode)}
31
31
  role="tab"
32
32
  aria-selected={active}
33
33
  onClick={() => onClick(tab)}
@@ -36,21 +36,22 @@ export const renderGroupTab =
36
36
  className={`flex flex-1 items-center justify-center ${getGroupTabClassName(
37
37
  'text',
38
38
  active,
39
- isScrollable,
39
+ tabsMode,
40
40
  )}`}
41
41
  >
42
- {renderTitle(tab.title, active, isScrollable)}
42
+ {renderTitle(tab.title, active, tabsMode)}
43
43
  {renderCount(showCounter, count, active)}
44
44
  </div>
45
45
  </div>
46
46
  );
47
47
  };
48
48
 
49
- const renderTitle = (title: string | undefined, active: boolean, isScrollable: boolean) => {
49
+ const renderTitle = (title: string | undefined, active: boolean, tabsMode?: TabsMode) => {
50
50
  const activeClassName = active ? WHITE_ACTIVE_TEXT_CLASSES : INACTIVE_TEXT_CLASSES;
51
- const titleClassName = isScrollable
52
- ? `${TEXT_CLASSES} ${activeClassName}`
53
- : `${TEXT_CLASSES} ${active ? ACTIVE_TEXT_CLASSES : INACTIVE_TEXT_CLASSES}`;
51
+ const titleClassName =
52
+ tabsMode === 'scrollable'
53
+ ? `${TEXT_CLASSES} ${activeClassName}`
54
+ : `${TEXT_CLASSES} ${active ? ACTIVE_TEXT_CLASSES : INACTIVE_TEXT_CLASSES}`;
54
55
 
55
56
  return title ? <h3 className={titleClassName}>{title}</h3> : null;
56
57
  };
@@ -2,18 +2,18 @@ import type { ContentPageDef } from '../../model/ContentPageDef';
2
2
  import { assertUnreachable } from '../../utils/assertUnreachable';
3
3
  import { LinkTab } from './LinkTab';
4
4
  import { renderGroupTab } from './renderGroupTab';
5
- import type { TabData } from './TabsContent';
5
+ import type { TabData, TabsMode } from './TabsContent';
6
6
 
7
7
  export interface RenderTabProps {
8
8
  page?: ContentPageDef;
9
9
  currentTab?: TabData;
10
10
  showCounter?: boolean;
11
11
  onClick: (tab: TabData) => void;
12
- isScrollable?: boolean;
12
+ tabsMode?: TabsMode;
13
13
  }
14
14
 
15
15
  export const renderTab =
16
- ({ page, currentTab, showCounter, onClick, isScrollable = false }: RenderTabProps) =>
16
+ ({ page, showCounter, ...rest }: RenderTabProps) =>
17
17
  (tab: TabData, i: number) => {
18
18
  const type = tab.type;
19
19
 
@@ -23,17 +23,9 @@ export const renderTab =
23
23
 
24
24
  switch (type) {
25
25
  case 'group':
26
- return renderGroupTab({ page, currentTab, showCounter, onClick, isScrollable })(tab, i);
26
+ return renderGroupTab({ page, showCounter, ...rest })(tab, i);
27
27
  case 'link': {
28
- return (
29
- <LinkTab
30
- key={String(i)}
31
- tab={tab}
32
- currentTab={currentTab}
33
- isScrollable={isScrollable}
34
- onClick={onClick}
35
- />
36
- );
28
+ return <LinkTab key={String(i)} tab={tab} {...rest} />;
37
29
  }
38
30
  default:
39
31
  assertUnreachable(type);