@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
@@ -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);
@@ -1,3 +1,5 @@
1
+ import type { TabsMode } from './TabsContent';
2
+
1
3
  export const LINK_CLASSES = 'h-12 flex-1 flex items-center justify-center cursor-pointer';
2
4
  export const ACTIVE_LINK_CLASSES = 'bg-primary-main';
3
5
  export const INACTIVE_LINK_CLASSES = 'group/btn bg-white';
@@ -17,7 +19,11 @@ const GROUP_TAB_CLASSES = {
17
19
  active: `inline-flex px-4 grow whitespace-nowrap ${LINK_CLASSES} ${SCROLLABLE_ACTIVE_LINK_CLASSES}`,
18
20
  default: `inline-flex px-4 grow whitespace-nowrap ${LINK_CLASSES} ${INACTIVE_LINK_CLASSES}`,
19
21
  },
20
- default: {
22
+ centered: {
23
+ active: `px-4 rounded-md ${LINK_CLASSES} ${WIDESCREEN_ACTIVE_LINK_CLASSES} whitespace-nowrap`,
24
+ default: `px-4 rounded-md ${LINK_CLASSES} group/btn bg-transparent whitespace-nowrap`,
25
+ },
26
+ wideScreen: {
21
27
  active: `${LINK_CLASSES} ${WIDESCREEN_ACTIVE_LINK_CLASSES} whitespace-nowrap`,
22
28
  default: `${LINK_CLASSES} ${INACTIVE_LINK_CLASSES} whitespace-nowrap`,
23
29
  },
@@ -27,7 +33,11 @@ const GROUP_TAB_CLASSES = {
27
33
  active: `h-full border-0 border-b-2`,
28
34
  default: ``,
29
35
  },
30
- default: {
36
+ centered: {
37
+ active: '',
38
+ default: '',
39
+ },
40
+ wideScreen: {
31
41
  active: '',
32
42
  default: '',
33
43
  },
@@ -39,7 +49,11 @@ const LINK_TAB_CLASSES = {
39
49
  active: `inline-flex px-4 grow whitespace-nowrap ${LINK_CLASSES} ${SCROLLABLE_ACTIVE_LINK_CLASSES}`,
40
50
  default: `inline-flex px-4 grow whitespace-nowrap ${LINK_CLASSES} ${INACTIVE_LINK_CLASSES}`,
41
51
  },
42
- default: {
52
+ centered: {
53
+ active: `px-4 rounded-md ${LINK_CLASSES} ${WIDESCREEN_ACTIVE_LINK_CLASSES} whitespace-nowrap`,
54
+ default: `px-4 rounded-md ${LINK_CLASSES} group/btn bg-transparent whitespace-nowrap`,
55
+ },
56
+ wideScreen: {
43
57
  active: `${LINK_CLASSES} ${WIDESCREEN_ACTIVE_LINK_CLASSES}`,
44
58
  default: `${LINK_CLASSES} ${INACTIVE_LINK_CLASSES}`,
45
59
  },
@@ -49,23 +63,27 @@ const LINK_TAB_CLASSES = {
49
63
  active: `${TEXT_CLASSES} flex items-center h-full border-0 border-b-2 ${WHITE_ACTIVE_TEXT_CLASSES}`,
50
64
  default: `${TEXT_CLASSES} ${INACTIVE_TEXT_CLASSES}`,
51
65
  },
52
- default: {
66
+ centered: {
67
+ active: `${TEXT_CLASSES} ${ACTIVE_TEXT_CLASSES}`,
68
+ default: `${TEXT_CLASSES} ${INACTIVE_TEXT_CLASSES}`,
69
+ },
70
+ wideScreen: {
53
71
  active: `${TEXT_CLASSES} ${ACTIVE_TEXT_CLASSES}`,
54
72
  default: `${TEXT_CLASSES} ${INACTIVE_TEXT_CLASSES}`,
55
73
  },
56
74
  },
57
75
  };
58
76
 
59
- export const getGroupTabClassName = (type: string, active: boolean, isScrollable: boolean) => {
60
- const styleType = isScrollable ? 'scrollable' : 'default';
77
+ export const getGroupTabClassName = (type: string, active: boolean, tabsMode?: TabsMode) => {
61
78
  const styleActive = active ? 'active' : 'default';
79
+ const mode = tabsMode || 'wideScreen';
62
80
 
63
- return GROUP_TAB_CLASSES[type][styleType][styleActive];
81
+ return GROUP_TAB_CLASSES[type][mode][styleActive];
64
82
  };
65
83
 
66
- export const getLinkTabClassName = (type: string, active: boolean, isScrollable: boolean) => {
67
- const styleType = isScrollable ? 'scrollable' : 'default';
84
+ export const getLinkTabClassName = (type: string, active: boolean, tabsMode?: TabsMode) => {
68
85
  const styleActive = active ? 'active' : 'default';
86
+ const mode = tabsMode || 'wideScreen';
69
87
 
70
- return LINK_TAB_CLASSES[type][styleType][styleActive];
88
+ return LINK_TAB_CLASSES[type][mode][styleActive];
71
89
  };
@@ -23,7 +23,7 @@ export function useLink(params: UseLinkParams = {}) {
23
23
 
24
24
  return <L extends Partial<LinkProps & Clickable>>(props: L): L & Clickable => ({
25
25
  ...props,
26
- href: isRemote ? props.href : adjustHref(router)(props.href, basePath),
26
+ href: isRemote && !basePath ? props.href : adjustHref(router)(props.href, basePath),
27
27
  'aria-label': props.text,
28
28
  onClick: handlerDecorator(handleHref(props), props),
29
29
  });
@@ -3,6 +3,7 @@ import { useLink } from '../../hooks/useLink';
3
3
  import type { LinkProps } from '../../model/LinkProps';
4
4
  import { projectSettings } from '../../ProjectSettings';
5
5
  import type { TopMenuItemProps } from '../../services/sitemap/SitemapData';
6
+ import { appendSlash } from '../../utils/appendSlash';
6
7
  import { style } from '../../utils/style';
7
8
 
8
9
  export interface SitemapProps {
@@ -34,7 +35,7 @@ const renderColumn = (menuItem: TopMenuItemProps & { onClick: () => void }, inde
34
35
  {text || `Раздел ${index}`}
35
36
  </a>
36
37
  {items?.map((_, i) => (
37
- <ColumnItem key={String(i)} {..._} basePath={href} index={i} />
38
+ <ColumnItem key={String(i)} {..._} basePath={appendSlash(href)} index={i} />
38
39
  ))}
39
40
  </div>
40
41
  );
@@ -0,0 +1,2 @@
1
+ export const appendSlash = (url: string | undefined) =>
2
+ url && !url.endsWith('/') ? `${url}/` : url;