@alfalab/core-components-tabs 8.0.7 → 8.1.0

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 (273) hide show
  1. package/collapsible.d.ts +1 -6
  2. package/collapsible.js +5 -16
  3. package/components/primary-tablist/Component.collapsible.d.ts +2 -2
  4. package/components/primary-tablist/Component.collapsible.js +11 -11
  5. package/components/primary-tablist/Component.d.ts +2 -2
  6. package/components/primary-tablist/Component.desktop.js +8 -2
  7. package/components/primary-tablist/Component.js +8 -2
  8. package/components/primary-tablist/Component.mobile.js +12 -4
  9. package/components/primary-tablist/Component.responsive.js +7 -2
  10. package/components/primary-tablist/index.css +31 -29
  11. package/components/primary-tablist/mobile.css +34 -32
  12. package/components/scroll-controls/Component.d.ts +11 -0
  13. package/components/scroll-controls/Component.js +53 -0
  14. package/components/scroll-controls/index.css +94 -0
  15. package/components/scroll-controls/index.d.ts +1 -0
  16. package/components/scroll-controls/index.js +17 -0
  17. package/components/scroll-controls/utils.d.ts +7 -0
  18. package/components/scroll-controls/utils.js +56 -0
  19. package/components/scrollable-container/Component.d.ts +14 -2
  20. package/components/scrollable-container/Component.js +45 -8
  21. package/components/scrollable-container/index.css +10 -6
  22. package/components/scrollable-container/index.js +7 -0
  23. package/components/secondary-tablist/Component.d.ts +2 -2
  24. package/components/secondary-tablist/Component.desktop.js +8 -2
  25. package/components/secondary-tablist/Component.js +9 -3
  26. package/components/secondary-tablist/Component.mobile.d.ts +2 -2
  27. package/components/secondary-tablist/Component.mobile.js +10 -4
  28. package/components/secondary-tablist/Component.responsive.d.ts +1 -1
  29. package/components/secondary-tablist/Component.responsive.js +9 -3
  30. package/components/secondary-tablist/index.css +11 -11
  31. package/components/secondary-tablist/mobile.css +13 -13
  32. package/components/tab/Component.js +1 -1
  33. package/components/tab/index.css +3 -3
  34. package/components/tabs/Component.collapsible.d.ts +6 -0
  35. package/components/tabs/{Component.collabsible.desktop.js → Component.collapsible.js} +5 -6
  36. package/components/tabs/Component.d.ts +1 -1
  37. package/components/tabs/Component.desktop.js +8 -2
  38. package/components/tabs/Component.js +2 -2
  39. package/components/tabs/Component.mobile.d.ts +1 -1
  40. package/components/tabs/Component.mobile.js +8 -3
  41. package/components/tabs/Component.responsive.js +8 -3
  42. package/cssm/collapsible.d.ts +1 -6
  43. package/cssm/collapsible.js +4 -15
  44. package/cssm/components/primary-tablist/Component.collapsible.d.ts +2 -2
  45. package/cssm/components/primary-tablist/Component.collapsible.js +12 -11
  46. package/cssm/components/primary-tablist/Component.d.ts +2 -2
  47. package/cssm/components/primary-tablist/Component.desktop.js +8 -1
  48. package/cssm/components/primary-tablist/Component.js +9 -2
  49. package/cssm/components/primary-tablist/Component.mobile.js +8 -1
  50. package/cssm/components/primary-tablist/Component.responsive.js +7 -0
  51. package/cssm/components/primary-tablist/index.module.css +2 -0
  52. package/cssm/components/scroll-controls/Component.d.ts +11 -0
  53. package/cssm/components/scroll-controls/Component.js +52 -0
  54. package/cssm/components/scroll-controls/index.d.ts +1 -0
  55. package/cssm/components/scroll-controls/index.js +18 -0
  56. package/cssm/components/scroll-controls/index.module.css +93 -0
  57. package/cssm/components/scroll-controls/utils.d.ts +7 -0
  58. package/cssm/components/scroll-controls/utils.js +56 -0
  59. package/cssm/components/scrollable-container/Component.d.ts +14 -2
  60. package/cssm/components/scrollable-container/Component.js +45 -7
  61. package/cssm/components/scrollable-container/index.js +8 -0
  62. package/cssm/components/scrollable-container/index.module.css +5 -1
  63. package/cssm/components/secondary-tablist/Component.d.ts +2 -2
  64. package/cssm/components/secondary-tablist/Component.desktop.js +8 -1
  65. package/cssm/components/secondary-tablist/Component.js +10 -3
  66. package/cssm/components/secondary-tablist/Component.mobile.d.ts +2 -2
  67. package/cssm/components/secondary-tablist/Component.mobile.js +9 -2
  68. package/cssm/components/secondary-tablist/Component.responsive.d.ts +1 -1
  69. package/cssm/components/secondary-tablist/Component.responsive.js +9 -2
  70. package/cssm/components/tabs/Component.collapsible.d.ts +6 -0
  71. package/cssm/components/tabs/{Component.collabsible.desktop.js → Component.collapsible.js} +4 -5
  72. package/cssm/components/tabs/Component.d.ts +1 -1
  73. package/cssm/components/tabs/Component.desktop.js +7 -0
  74. package/cssm/components/tabs/Component.js +2 -2
  75. package/cssm/components/tabs/Component.mobile.d.ts +1 -1
  76. package/cssm/components/tabs/Component.mobile.js +7 -0
  77. package/cssm/components/tabs/Component.responsive.js +7 -0
  78. package/cssm/desktop.js +7 -0
  79. package/cssm/index-c76d6398.d.ts +0 -1
  80. package/cssm/index-f12ee135.d.ts +6 -2
  81. package/cssm/index.js +7 -0
  82. package/cssm/mobile.js +7 -0
  83. package/cssm/shared.js +8 -1
  84. package/cssm/typings.d.ts +13 -2
  85. package/desktop.js +8 -2
  86. package/esm/collapsible.d.ts +1 -6
  87. package/esm/collapsible.js +4 -10
  88. package/esm/components/primary-tablist/Component.collapsible.d.ts +2 -2
  89. package/esm/components/primary-tablist/Component.collapsible.js +11 -11
  90. package/esm/components/primary-tablist/Component.d.ts +2 -2
  91. package/esm/components/primary-tablist/Component.desktop.js +8 -2
  92. package/esm/components/primary-tablist/Component.js +8 -2
  93. package/esm/components/primary-tablist/Component.mobile.js +11 -3
  94. package/esm/components/primary-tablist/Component.responsive.js +7 -2
  95. package/esm/components/primary-tablist/index.css +31 -29
  96. package/esm/components/primary-tablist/mobile.css +34 -32
  97. package/esm/components/scroll-controls/Component.d.ts +11 -0
  98. package/esm/components/scroll-controls/Component.js +43 -0
  99. package/esm/components/scroll-controls/index.css +94 -0
  100. package/esm/components/scroll-controls/index.d.ts +1 -0
  101. package/esm/components/scroll-controls/index.js +9 -0
  102. package/esm/components/scroll-controls/utils.d.ts +7 -0
  103. package/esm/components/scroll-controls/utils.js +50 -0
  104. package/esm/components/scrollable-container/Component.d.ts +14 -2
  105. package/esm/components/scrollable-container/Component.js +46 -9
  106. package/esm/components/scrollable-container/index.css +10 -6
  107. package/esm/components/scrollable-container/index.js +7 -0
  108. package/esm/components/secondary-tablist/Component.d.ts +2 -2
  109. package/esm/components/secondary-tablist/Component.desktop.js +8 -2
  110. package/esm/components/secondary-tablist/Component.js +9 -3
  111. package/esm/components/secondary-tablist/Component.mobile.d.ts +2 -2
  112. package/esm/components/secondary-tablist/Component.mobile.js +10 -4
  113. package/esm/components/secondary-tablist/Component.responsive.d.ts +1 -1
  114. package/esm/components/secondary-tablist/Component.responsive.js +9 -3
  115. package/esm/components/secondary-tablist/index.css +11 -11
  116. package/esm/components/secondary-tablist/mobile.css +13 -13
  117. package/esm/components/tab/Component.js +1 -1
  118. package/esm/components/tab/index.css +3 -3
  119. package/esm/components/tabs/Component.collapsible.d.ts +6 -0
  120. package/esm/components/tabs/{Component.collabsible.desktop.js → Component.collapsible.js} +5 -6
  121. package/esm/components/tabs/Component.d.ts +1 -1
  122. package/esm/components/tabs/Component.desktop.js +8 -2
  123. package/esm/components/tabs/Component.js +2 -2
  124. package/esm/components/tabs/Component.mobile.d.ts +1 -1
  125. package/esm/components/tabs/Component.mobile.js +8 -3
  126. package/esm/components/tabs/Component.responsive.js +8 -3
  127. package/esm/desktop.js +8 -2
  128. package/esm/index-c76d6398.d.ts +0 -1
  129. package/esm/index-f12ee135.d.ts +6 -2
  130. package/esm/index.js +8 -3
  131. package/esm/index.module-7fe2e8dc.js +4 -0
  132. package/esm/index.module-fbff2d78.js +4 -0
  133. package/esm/mobile.js +8 -3
  134. package/esm/shared.js +7 -1
  135. package/esm/typings.d.ts +13 -2
  136. package/index-c76d6398.d.ts +0 -1
  137. package/index-f12ee135.d.ts +6 -2
  138. package/index.js +8 -3
  139. package/index.module-447ba3e0.js +6 -0
  140. package/index.module-ee99c069.js +6 -0
  141. package/mobile.js +8 -3
  142. package/modern/collapsible.d.ts +1 -6
  143. package/modern/collapsible.js +4 -10
  144. package/modern/components/primary-tablist/Component.collapsible.d.ts +2 -2
  145. package/modern/components/primary-tablist/Component.collapsible.js +11 -11
  146. package/modern/components/primary-tablist/Component.d.ts +2 -2
  147. package/modern/components/primary-tablist/Component.desktop.js +8 -2
  148. package/modern/components/primary-tablist/Component.js +8 -2
  149. package/modern/components/primary-tablist/Component.mobile.js +11 -3
  150. package/modern/components/primary-tablist/Component.responsive.js +7 -2
  151. package/modern/components/primary-tablist/index.css +31 -29
  152. package/modern/components/primary-tablist/mobile.css +34 -32
  153. package/modern/components/scroll-controls/Component.d.ts +11 -0
  154. package/modern/components/scroll-controls/Component.js +40 -0
  155. package/modern/components/scroll-controls/index.css +94 -0
  156. package/modern/components/scroll-controls/index.d.ts +1 -0
  157. package/modern/components/scroll-controls/index.js +8 -0
  158. package/modern/components/scroll-controls/utils.d.ts +7 -0
  159. package/modern/components/scroll-controls/utils.js +50 -0
  160. package/modern/components/scrollable-container/Component.d.ts +14 -2
  161. package/modern/components/scrollable-container/Component.js +44 -9
  162. package/modern/components/scrollable-container/index.css +10 -6
  163. package/modern/components/scrollable-container/index.js +6 -0
  164. package/modern/components/secondary-tablist/Component.d.ts +2 -2
  165. package/modern/components/secondary-tablist/Component.desktop.js +8 -2
  166. package/modern/components/secondary-tablist/Component.js +9 -3
  167. package/modern/components/secondary-tablist/Component.mobile.d.ts +2 -2
  168. package/modern/components/secondary-tablist/Component.mobile.js +9 -3
  169. package/modern/components/secondary-tablist/Component.responsive.d.ts +1 -1
  170. package/modern/components/secondary-tablist/Component.responsive.js +9 -3
  171. package/modern/components/secondary-tablist/index.css +11 -11
  172. package/modern/components/secondary-tablist/mobile.css +13 -13
  173. package/modern/components/tab/Component.js +1 -1
  174. package/modern/components/tab/index.css +3 -3
  175. package/modern/components/tabs/Component.collapsible.d.ts +6 -0
  176. package/modern/components/tabs/{Component.collabsible.desktop.js → Component.collapsible.js} +4 -5
  177. package/modern/components/tabs/Component.d.ts +1 -1
  178. package/modern/components/tabs/Component.desktop.js +8 -2
  179. package/modern/components/tabs/Component.js +2 -2
  180. package/modern/components/tabs/Component.mobile.d.ts +1 -1
  181. package/modern/components/tabs/Component.mobile.js +8 -3
  182. package/modern/components/tabs/Component.responsive.js +8 -3
  183. package/modern/desktop.js +8 -2
  184. package/modern/index-c76d6398.d.ts +0 -1
  185. package/modern/index-f12ee135.d.ts +6 -2
  186. package/modern/index.js +8 -3
  187. package/modern/index.module-22ff4191.js +4 -0
  188. package/modern/index.module-3f8f9d5d.js +4 -0
  189. package/modern/mobile.js +8 -3
  190. package/modern/shared.js +6 -0
  191. package/modern/typings.d.ts +13 -2
  192. package/package.json +5 -2
  193. package/shared.js +7 -1
  194. package/src/collapsible.ts +1 -9
  195. package/src/components/primary-tablist/Component.collapsible.tsx +6 -7
  196. package/src/components/primary-tablist/Component.desktop.tsx +1 -1
  197. package/src/components/primary-tablist/Component.mobile.tsx +6 -1
  198. package/src/components/primary-tablist/Component.tsx +6 -2
  199. package/src/components/primary-tablist/index.module.css +4 -0
  200. package/src/components/scroll-controls/Component.tsx +78 -0
  201. package/src/components/scroll-controls/index.module.css +68 -0
  202. package/src/components/scroll-controls/index.ts +1 -0
  203. package/src/components/scroll-controls/utils.ts +60 -0
  204. package/src/components/scrollable-container/Component.tsx +81 -12
  205. package/src/components/scrollable-container/index.module.css +7 -1
  206. package/src/components/secondary-tablist/Component.desktop.tsx +1 -0
  207. package/src/components/secondary-tablist/Component.mobile.tsx +4 -2
  208. package/src/components/secondary-tablist/Component.responsive.tsx +1 -2
  209. package/src/components/secondary-tablist/Component.tsx +10 -2
  210. package/src/components/tabs/Component.collapsible.tsx +15 -0
  211. package/src/components/tabs/Component.mobile.tsx +1 -1
  212. package/src/components/tabs/Component.tsx +4 -0
  213. package/src/typings.ts +16 -0
  214. package/typings.d.ts +13 -2
  215. package/components/primary-tablist/Component.collapsible.desktop.d.ts +0 -5
  216. package/components/primary-tablist/Component.collapsible.desktop.js +0 -32
  217. package/components/primary-tablist/Component.collapsible.mobile.d.ts +0 -6
  218. package/components/primary-tablist/Component.collapsible.mobile.js +0 -35
  219. package/components/primary-tablist/Component.collapsible.responsive.d.ts +0 -5
  220. package/components/primary-tablist/Component.collapsible.responsive.js +0 -36
  221. package/components/tabs/Component.collabsible.desktop.d.ts +0 -6
  222. package/components/tabs/Component.collapsible.mobile.d.ts +0 -6
  223. package/components/tabs/Component.collapsible.mobile.js +0 -35
  224. package/components/tabs/Component.collapsible.responsive.d.ts +0 -6
  225. package/components/tabs/Component.collapsible.responsive.js +0 -37
  226. package/cssm/components/primary-tablist/Component.collapsible.desktop.d.ts +0 -5
  227. package/cssm/components/primary-tablist/Component.collapsible.desktop.js +0 -33
  228. package/cssm/components/primary-tablist/Component.collapsible.mobile.d.ts +0 -6
  229. package/cssm/components/primary-tablist/Component.collapsible.mobile.js +0 -37
  230. package/cssm/components/primary-tablist/Component.collapsible.responsive.d.ts +0 -5
  231. package/cssm/components/primary-tablist/Component.collapsible.responsive.js +0 -36
  232. package/cssm/components/tabs/Component.collabsible.desktop.d.ts +0 -6
  233. package/cssm/components/tabs/Component.collapsible.mobile.d.ts +0 -6
  234. package/cssm/components/tabs/Component.collapsible.mobile.js +0 -35
  235. package/cssm/components/tabs/Component.collapsible.responsive.d.ts +0 -6
  236. package/cssm/components/tabs/Component.collapsible.responsive.js +0 -37
  237. package/esm/components/primary-tablist/Component.collapsible.desktop.d.ts +0 -5
  238. package/esm/components/primary-tablist/Component.collapsible.desktop.js +0 -24
  239. package/esm/components/primary-tablist/Component.collapsible.mobile.d.ts +0 -6
  240. package/esm/components/primary-tablist/Component.collapsible.mobile.js +0 -26
  241. package/esm/components/primary-tablist/Component.collapsible.responsive.d.ts +0 -5
  242. package/esm/components/primary-tablist/Component.collapsible.responsive.js +0 -28
  243. package/esm/components/tabs/Component.collabsible.desktop.d.ts +0 -6
  244. package/esm/components/tabs/Component.collapsible.mobile.d.ts +0 -6
  245. package/esm/components/tabs/Component.collapsible.mobile.js +0 -27
  246. package/esm/components/tabs/Component.collapsible.responsive.d.ts +0 -6
  247. package/esm/components/tabs/Component.collapsible.responsive.js +0 -29
  248. package/esm/index.module-07ecf2f2.js +0 -4
  249. package/esm/index.module-bf43c7e6.js +0 -4
  250. package/esm/mobile.module-28188e8d.js +0 -4
  251. package/index.module-3691700d.js +0 -6
  252. package/index.module-dce6bd4b.js +0 -6
  253. package/mobile.module-e4053729.js +0 -6
  254. package/modern/components/primary-tablist/Component.collapsible.desktop.d.ts +0 -5
  255. package/modern/components/primary-tablist/Component.collapsible.desktop.js +0 -20
  256. package/modern/components/primary-tablist/Component.collapsible.mobile.d.ts +0 -6
  257. package/modern/components/primary-tablist/Component.collapsible.mobile.js +0 -25
  258. package/modern/components/primary-tablist/Component.collapsible.responsive.d.ts +0 -5
  259. package/modern/components/primary-tablist/Component.collapsible.responsive.js +0 -26
  260. package/modern/components/tabs/Component.collabsible.desktop.d.ts +0 -6
  261. package/modern/components/tabs/Component.collapsible.mobile.d.ts +0 -6
  262. package/modern/components/tabs/Component.collapsible.mobile.js +0 -23
  263. package/modern/components/tabs/Component.collapsible.responsive.d.ts +0 -6
  264. package/modern/components/tabs/Component.collapsible.responsive.js +0 -25
  265. package/modern/index.module-2a3e44bc.js +0 -4
  266. package/modern/index.module-5aa4033e.js +0 -4
  267. package/modern/mobile.module-47eb0ef0.js +0 -4
  268. package/src/components/primary-tablist/Component.collapsible.desktop.tsx +0 -11
  269. package/src/components/primary-tablist/Component.collapsible.mobile.tsx +0 -27
  270. package/src/components/primary-tablist/Component.collapsible.responsive.tsx +0 -34
  271. package/src/components/tabs/Component.collabsible.desktop.tsx +0 -15
  272. package/src/components/tabs/Component.collapsible.mobile.tsx +0 -15
  273. package/src/components/tabs/Component.collapsible.responsive.tsx +0 -12
package/collapsible.d.ts CHANGED
@@ -1,7 +1,2 @@
1
- export { TabsCollapsibleResponsive as TabsCollapsible, TabsCollapsibleResponsiveProps as TabsCollapsibleProps } from "./components/tabs/Component.collapsible.responsive";
2
- export * from "./components/tabs/Component.collabsible.desktop";
3
- export * from "./components/tabs/Component.collapsible.mobile";
4
- export * from "./components/primary-tablist/Component.collapsible.responsive";
5
- export * from "./components/primary-tablist/Component.collapsible.desktop";
6
- export * from "./components/primary-tablist/Component.collapsible.mobile";
1
+ export { TabsCollapsible, TabsCollapsibleProps } from "./components/tabs/Component.collapsible";
7
2
  export * from "./components/tab/index";
package/collapsible.js CHANGED
@@ -2,23 +2,17 @@
2
2
 
3
3
  Object.defineProperty(exports, '__esModule', { value: true });
4
4
 
5
- var components_tabs_Component_collapsible_responsive = require('./components/tabs/Component.collapsible.responsive.js');
6
- var components_tabs_Component_collabsible_desktop = require('./components/tabs/Component.collabsible.desktop.js');
7
- var components_tabs_Component_collapsible_mobile = require('./components/tabs/Component.collapsible.mobile.js');
8
- var components_primaryTablist_Component_collapsible_responsive = require('./components/primary-tablist/Component.collapsible.responsive.js');
9
- var components_primaryTablist_Component_collapsible_desktop = require('./components/primary-tablist/Component.collapsible.desktop.js');
10
- var components_primaryTablist_Component_collapsible_mobile = require('./components/primary-tablist/Component.collapsible.mobile.js');
5
+ var components_tabs_Component_collapsible = require('./components/tabs/Component.collapsible.js');
11
6
  var components_tab_Component = require('./components/tab/Component.js');
12
7
  require('tslib');
13
8
  require('react');
14
- require('./components/tabs/Component.js');
15
- require('@alfalab/core-components-mq');
16
9
  require('./components/primary-tablist/Component.collapsible.js');
17
10
  require('classnames');
18
11
  require('@alfalab/core-components-badge');
19
12
  require('@alfalab/core-components-keyboard-focusable');
20
13
  require('@alfalab/core-components-picker-button/desktop');
21
14
  require('./hooks/use-tablist-titles.js');
15
+ require('@alfalab/core-components-mq');
22
16
  require('./hooks/use-collapsible-elements.js');
23
17
  require('@juggle/resize-observer');
24
18
  require('@alfalab/hooks');
@@ -26,15 +20,10 @@ require('./hooks/use-tabs.js');
26
20
  require('@alfalab/core-components-shared');
27
21
  require('./synthetic-events.js');
28
22
  require('./components/title/Component.js');
29
- require('./index.module-3691700d.js');
30
- require('./mobile.module-e4053729.js');
23
+ require('./index.module-ee99c069.js');
24
+ require('./components/tabs/Component.js');
31
25
 
32
26
 
33
27
 
34
- exports.TabsCollapsible = components_tabs_Component_collapsible_responsive.TabsCollapsibleResponsive;
35
- exports.TabsCollapsibleDesktop = components_tabs_Component_collabsible_desktop.TabsCollapsibleDesktop;
36
- exports.TabsCollapsibleMobile = components_tabs_Component_collapsible_mobile.TabsCollapsibleMobile;
37
- exports.CollapsiblePrimaryTabListResponsive = components_primaryTablist_Component_collapsible_responsive.CollapsiblePrimaryTabListResponsive;
38
- exports.CollapsiblePrimaryTabListDesktop = components_primaryTablist_Component_collapsible_desktop.CollapsiblePrimaryTabListDesktop;
39
- exports.CollapsiblePrimaryTabListMobile = components_primaryTablist_Component_collapsible_mobile.CollapsiblePrimaryTabListMobile;
28
+ exports.TabsCollapsible = components_tabs_Component_collapsible.TabsCollapsible;
40
29
  exports.Tab = components_tab_Component.Tab;
@@ -1,5 +1,5 @@
1
1
  /// <reference types="react" />
2
2
  import React from 'react';
3
- import { Styles, TabListProps } from "../../typings";
4
- declare const CollapsiblePrimaryTabList: ({ size, className, containerClassName, titles, styles, selectedId, collapsedTabsIds, fullWidthScroll, onChange, dataTestId, breakpoint, defaultMatchMediaValue, }: TabListProps & Styles) => React.JSX.Element;
3
+ import { TabListProps } from "../../typings";
4
+ declare const CollapsiblePrimaryTabList: ({ size, className, containerClassName, titles, selectedId, collapsedTabsIds, fullWidthScroll, onChange, dataTestId, breakpoint, defaultMatchMediaValue, }: TabListProps) => React.JSX.Element;
5
5
  export { CollapsiblePrimaryTabList };
@@ -11,6 +11,7 @@ var desktop = require('@alfalab/core-components-picker-button/desktop');
11
11
  var hooks_useTablistTitles = require('../../hooks/use-tablist-titles.js');
12
12
  var syntheticEvents = require('../../synthetic-events.js');
13
13
  var components_title_Component = require('../title/Component.js');
14
+ var index_module = require('../../index.module-ee99c069.js');
14
15
  require('@alfalab/core-components-mq');
15
16
  require('../../hooks/use-collapsible-elements.js');
16
17
  require('@juggle/resize-observer');
@@ -23,9 +24,8 @@ function _interopDefaultCompat (e) { return e && typeof e === 'object' && 'defau
23
24
  var React__default = /*#__PURE__*/_interopDefaultCompat(React);
24
25
  var cn__default = /*#__PURE__*/_interopDefaultCompat(cn);
25
26
 
26
- var DEFAULT_STYLES = {};
27
27
  var CollapsiblePrimaryTabList = function (_a) {
28
- var size = _a.size, className = _a.className, containerClassName = _a.containerClassName, _b = _a.titles, titles = _b === void 0 ? [] : _b, _c = _a.styles, styles = _c === void 0 ? DEFAULT_STYLES : _c, _d = _a.selectedId, selectedId = _d === void 0 ? titles.length ? titles[0].id : undefined : _d, collapsedTabsIds = _a.collapsedTabsIds, fullWidthScroll = _a.fullWidthScroll, onChange = _a.onChange, dataTestId = _a.dataTestId, _e = _a.breakpoint, breakpoint = _e === void 0 ? 1024 : _e, defaultMatchMediaValue = _a.defaultMatchMediaValue;
28
+ var _b = _a.size, size = _b === void 0 ? 'm' : _b, className = _a.className, containerClassName = _a.containerClassName, _c = _a.titles, titles = _c === void 0 ? [] : _c, _d = _a.selectedId, selectedId = _d === void 0 ? titles.length ? titles[0].id : undefined : _d, collapsedTabsIds = _a.collapsedTabsIds, fullWidthScroll = _a.fullWidthScroll, onChange = _a.onChange, dataTestId = _a.dataTestId, _e = _a.breakpoint, breakpoint = _e === void 0 ? 1024 : _e, defaultMatchMediaValue = _a.defaultMatchMediaValue;
29
29
  var lineRef = React.useRef(null);
30
30
  var _f = hooks_useTablistTitles.useTablistTitles({
31
31
  titles: titles,
@@ -47,12 +47,12 @@ var CollapsiblePrimaryTabList = function (_a) {
47
47
  options.push({
48
48
  key: title.title,
49
49
  value: title.id,
50
- content: React__default.default.createElement(components_title_Component.Title, tslib.__assign({}, title, { styles: styles, isOption: true })),
50
+ content: React__default.default.createElement(components_title_Component.Title, tslib.__assign({}, title, { styles: index_module.commonStyles, isOption: true })),
51
51
  });
52
52
  }
53
53
  return options;
54
54
  }, []);
55
- }, [tablistTitles, styles]);
55
+ }, [tablistTitles]);
56
56
  var collapsedAddonsLength = tablistTitles.filter(function (title) { return title.collapsed && title.rightAddons; }).length;
57
57
  var handleOptionsChange = function (payload) {
58
58
  var _a;
@@ -64,18 +64,18 @@ var CollapsiblePrimaryTabList = function (_a) {
64
64
  };
65
65
  var renderContent = function () {
66
66
  var _a;
67
- return (React__default.default.createElement("div", { role: 'tablist', "data-test-id": dataTestId, className: cn__default.default(styles.component, className, size && styles[size], (_a = {},
68
- _a[styles.fullWidthScroll] = fullWidthScroll,
67
+ return (React__default.default.createElement("div", { role: 'tablist', "data-test-id": dataTestId, className: cn__default.default(index_module.commonStyles.component, className, size && index_module.commonStyles[size], (_a = {},
68
+ _a[index_module.commonStyles.fullWidthScroll] = fullWidthScroll,
69
69
  _a)) },
70
70
  tablistTitles.map(function (_a, index) {
71
71
  _a.dataTestId; var restTitleProps = tslib.__rest(_a, ["dataTestId"]);
72
- return (React__default.default.createElement(coreComponentsKeyboardFocusable.KeyboardFocusable, { key: restTitleProps.id }, function (ref, focused) { return (React__default.default.createElement(components_title_Component.Title, tslib.__assign({}, getTabListItemProps(index, ref), restTitleProps, { focused: focused, styles: styles }))); }));
72
+ return (React__default.default.createElement(coreComponentsKeyboardFocusable.KeyboardFocusable, { key: restTitleProps.id }, function (ref, focused) { return (React__default.default.createElement(components_title_Component.Title, tslib.__assign({}, getTabListItemProps(index, ref), restTitleProps, { focused: focused, styles: index_module.commonStyles }))); }));
73
73
  }),
74
- collapsedOptions.length ? (React__default.default.createElement("span", { ref: addonRef, role: 'menu', className: styles.pickerWrapper },
75
- React__default.default.createElement(desktop.PickerButtonDesktop, { fieldClassName: styles.title, optionClassName: cn__default.default(styles.pickerOption, size && styles[size]), options: collapsedOptions, onChange: handleOptionsChange, rightAddons: collapsedAddonsLength ? (React__default.default.createElement(coreComponentsBadge.Badge, { view: 'count', content: collapsedAddonsLength })) : null, size: 'l', view: 'ghost', label: '\u0415\u0449\u0451', popoverPosition: 'bottom-end' }))) : null,
76
- React__default.default.createElement("div", { className: styles.line, ref: lineRef })));
74
+ collapsedOptions.length ? (React__default.default.createElement("span", { ref: addonRef, role: 'menu', className: index_module.commonStyles.pickerWrapper },
75
+ React__default.default.createElement(desktop.PickerButtonDesktop, { fieldClassName: index_module.commonStyles.title, optionClassName: cn__default.default(index_module.commonStyles.pickerOption, size && index_module.commonStyles[size]), options: collapsedOptions, onChange: handleOptionsChange, rightAddons: collapsedAddonsLength ? (React__default.default.createElement(coreComponentsBadge.Badge, { view: 'count', content: collapsedAddonsLength })) : null, size: 'm', view: 'ghost', label: '\u0415\u0449\u0451', popoverPosition: 'bottom-end' }))) : null,
76
+ React__default.default.createElement("div", { className: index_module.commonStyles.line, ref: lineRef })));
77
77
  };
78
- return (React__default.default.createElement("div", { ref: containerRef, className: cn__default.default(styles.container, containerClassName) }, renderContent()));
78
+ return (React__default.default.createElement("div", { ref: containerRef, className: cn__default.default(index_module.commonStyles.container, containerClassName) }, renderContent()));
79
79
  };
80
80
 
81
81
  exports.CollapsiblePrimaryTabList = CollapsiblePrimaryTabList;
@@ -1,5 +1,5 @@
1
1
  /// <reference types="react" />
2
2
  import React from 'react';
3
- import { Styles, TabListProps } from "../../typings";
4
- declare const PrimaryTabList: ({ size, styles, className, containerClassName, titles, selectedId, scrollable, fullWidthScroll, onChange, dataTestId, }: TabListProps & Styles) => React.JSX.Element;
3
+ import { PlatformProps, Styles, TabListProps } from "../../typings";
4
+ declare const PrimaryTabList: ({ size, styles, className, containerClassName, titles, selectedId, scrollable, fullWidthScroll, onChange, dataTestId, platform, }: TabListProps & Styles & PlatformProps) => React.JSX.Element;
5
5
  export { PrimaryTabList };
@@ -5,13 +5,19 @@ Object.defineProperty(exports, '__esModule', { value: true });
5
5
  var tslib = require('tslib');
6
6
  var React = require('react');
7
7
  var components_primaryTablist_Component = require('./Component.js');
8
- var index_module = require('../../index.module-3691700d.js');
8
+ var index_module = require('../../index.module-ee99c069.js');
9
9
  require('classnames');
10
10
  require('@alfalab/core-components-keyboard-focusable');
11
11
  require('../../hooks/use-tabs.js');
12
12
  require('@alfalab/core-components-shared');
13
13
  require('../scrollable-container/Component.js');
14
14
  require('compute-scroll-into-view');
15
+ require('../scroll-controls/Component.js');
16
+ require('lodash.debounce');
17
+ require('@alfalab/core-components-icon-button');
18
+ require('@alfalab/icons-glyph/ChevronLeftMIcon');
19
+ require('@alfalab/icons-glyph/ChevronRightMIcon');
20
+ require('../scroll-controls/utils.js');
15
21
  require('../title/Component.js');
16
22
 
17
23
  function _interopDefaultCompat (e) { return e && typeof e === 'object' && 'default' in e ? e : { default: e }; }
@@ -20,7 +26,7 @@ var React__default = /*#__PURE__*/_interopDefaultCompat(React);
20
26
 
21
27
  var PrimaryTabListDesktop = function (_a) {
22
28
  var _b = _a.size, size = _b === void 0 ? 'm' : _b, restProps = tslib.__rest(_a, ["size"]);
23
- return (React__default.default.createElement(components_primaryTablist_Component.PrimaryTabList, tslib.__assign({}, restProps, { size: size, styles: index_module.commonStyles })));
29
+ return (React__default.default.createElement(components_primaryTablist_Component.PrimaryTabList, tslib.__assign({}, restProps, { size: size, styles: index_module.commonStyles, platform: 'desktop' })));
24
30
  };
25
31
 
26
32
  exports.PrimaryTabListDesktop = PrimaryTabListDesktop;
@@ -11,6 +11,12 @@ var components_scrollableContainer_Component = require('../scrollable-container/
11
11
  var components_title_Component = require('../title/Component.js');
12
12
  require('@alfalab/core-components-shared');
13
13
  require('compute-scroll-into-view');
14
+ require('../scroll-controls/Component.js');
15
+ require('lodash.debounce');
16
+ require('@alfalab/core-components-icon-button');
17
+ require('@alfalab/icons-glyph/ChevronLeftMIcon');
18
+ require('@alfalab/icons-glyph/ChevronRightMIcon');
19
+ require('../scroll-controls/utils.js');
14
20
 
15
21
  function _interopDefaultCompat (e) { return e && typeof e === 'object' && 'default' in e ? e : { default: e }; }
16
22
 
@@ -18,7 +24,7 @@ var React__default = /*#__PURE__*/_interopDefaultCompat(React);
18
24
  var cn__default = /*#__PURE__*/_interopDefaultCompat(cn);
19
25
 
20
26
  var PrimaryTabList = function (_a) {
21
- var size = _a.size, _b = _a.styles, styles = _b === void 0 ? {} : _b, className = _a.className, containerClassName = _a.containerClassName, _c = _a.titles, titles = _c === void 0 ? [] : _c, _d = _a.selectedId, selectedId = _d === void 0 ? titles.length ? titles[0].id : undefined : _d, _e = _a.scrollable, scrollable = _e === void 0 ? true : _e, fullWidthScroll = _a.fullWidthScroll, onChange = _a.onChange, dataTestId = _a.dataTestId;
27
+ var size = _a.size, _b = _a.styles, styles = _b === void 0 ? {} : _b, className = _a.className, containerClassName = _a.containerClassName, _c = _a.titles, titles = _c === void 0 ? [] : _c, _d = _a.selectedId, selectedId = _d === void 0 ? titles.length ? titles[0].id : undefined : _d, _e = _a.scrollable, scrollable = _e === void 0 ? true : _e, fullWidthScroll = _a.fullWidthScroll, onChange = _a.onChange, dataTestId = _a.dataTestId, platform = _a.platform;
22
28
  var lineRef = React.useRef(null);
23
29
  var _f = hooks_useTabs.useTabs({
24
30
  titles: titles,
@@ -42,7 +48,7 @@ var PrimaryTabList = function (_a) {
42
48
  }),
43
49
  React__default.default.createElement("div", { className: styles.line, ref: lineRef })));
44
50
  };
45
- return scrollable ? (React__default.default.createElement(components_scrollableContainer_Component.ScrollableContainer, { activeChild: focusedTab || selectedTab, containerClassName: containerClassName, fullWidthScroll: fullWidthScroll }, renderContent())) : (React__default.default.createElement("div", { className: cn__default.default(styles.container, containerClassName) }, renderContent()));
51
+ return scrollable ? (React__default.default.createElement(components_scrollableContainer_Component.ScrollableContainer, { activeChild: focusedTab || selectedTab, containerClassName: containerClassName, fullWidthScroll: fullWidthScroll, view: 'primary', size: size, platform: platform }, renderContent())) : (React__default.default.createElement("div", { className: cn__default.default(styles.container, containerClassName) }, renderContent()));
46
52
  };
47
53
 
48
54
  exports.PrimaryTabList = PrimaryTabList;
@@ -6,13 +6,18 @@ var tslib = require('tslib');
6
6
  var React = require('react');
7
7
  var cn = require('classnames');
8
8
  var components_primaryTablist_Component = require('./Component.js');
9
- var index_module = require('../../index.module-3691700d.js');
10
- var mobile_module = require('../../mobile.module-e4053729.js');
9
+ var index_module = require('../../index.module-ee99c069.js');
11
10
  require('@alfalab/core-components-keyboard-focusable');
12
11
  require('../../hooks/use-tabs.js');
13
12
  require('@alfalab/core-components-shared');
14
13
  require('../scrollable-container/Component.js');
15
14
  require('compute-scroll-into-view');
15
+ require('../scroll-controls/Component.js');
16
+ require('lodash.debounce');
17
+ require('@alfalab/core-components-icon-button');
18
+ require('@alfalab/icons-glyph/ChevronLeftMIcon');
19
+ require('@alfalab/icons-glyph/ChevronRightMIcon');
20
+ require('../scroll-controls/utils.js');
16
21
  require('../title/Component.js');
17
22
 
18
23
  function _interopDefaultCompat (e) { return e && typeof e === 'object' && 'default' in e ? e : { default: e }; }
@@ -20,10 +25,13 @@ function _interopDefaultCompat (e) { return e && typeof e === 'object' && 'defau
20
25
  var React__default = /*#__PURE__*/_interopDefaultCompat(React);
21
26
  var cn__default = /*#__PURE__*/_interopDefaultCompat(cn);
22
27
 
23
- var styles = tslib.__assign(tslib.__assign({}, index_module.commonStyles), mobile_module.mobileStyles);
28
+ var mobileStyles = {"title":"tabs__title_135vc tabs__title_1u3uq","mobile":"tabs__mobile_135vc"};
29
+ require('./mobile.css')
30
+
31
+ var styles = tslib.__assign(tslib.__assign({}, index_module.commonStyles), mobileStyles);
24
32
  var PrimaryTabListMobile = function (_a) {
25
33
  var className = _a.className, restProps = tslib.__rest(_a, ["className"]);
26
- return (React__default.default.createElement(components_primaryTablist_Component.PrimaryTabList, tslib.__assign({}, restProps, { styles: styles, className: cn__default.default(className, styles.mobile) })));
34
+ return (React__default.default.createElement(components_primaryTablist_Component.PrimaryTabList, tslib.__assign({}, restProps, { styles: styles, className: cn__default.default(className, styles.mobile), platform: 'mobile' })));
27
35
  };
28
36
 
29
37
  exports.PrimaryTabListMobile = PrimaryTabListMobile;
@@ -14,9 +14,14 @@ require('../../hooks/use-tabs.js');
14
14
  require('@alfalab/core-components-shared');
15
15
  require('../scrollable-container/Component.js');
16
16
  require('compute-scroll-into-view');
17
+ require('../scroll-controls/Component.js');
18
+ require('lodash.debounce');
19
+ require('@alfalab/core-components-icon-button');
20
+ require('@alfalab/icons-glyph/ChevronLeftMIcon');
21
+ require('@alfalab/icons-glyph/ChevronRightMIcon');
22
+ require('../scroll-controls/utils.js');
17
23
  require('../title/Component.js');
18
- require('../../index.module-3691700d.js');
19
- require('../../mobile.module-e4053729.js');
24
+ require('../../index.module-ee99c069.js');
20
25
 
21
26
  function _interopDefaultCompat (e) { return e && typeof e === 'object' && 'default' in e ? e : { default: e }; }
22
27
 
@@ -1,4 +1,4 @@
1
- /* hash: tx1z0 */
1
+ /* hash: s4p6l */
2
2
  :root {
3
3
  } /* deprecated */ :root {
4
4
  --color-light-border-accent: #ef3124;
@@ -83,11 +83,11 @@
83
83
  /* size l */
84
84
 
85
85
  /* size xl */
86
- } .tabs__component_hpujn {
86
+ } .tabs__component_1u3uq {
87
87
  position: relative;
88
88
  display: inline-flex;
89
89
  min-width: 100%
90
- } .tabs__component_hpujn:before {
90
+ } .tabs__component_1u3uq:before {
91
91
  content: '';
92
92
  display: block;
93
93
  position: absolute;
@@ -95,17 +95,17 @@
95
95
  height: 1px;
96
96
  width: 100%;
97
97
  background-color: var(--primary-tablist-bottom-border-color);
98
- } .tabs__fullWidthScroll_hpujn {
98
+ } .tabs__fullWidthScroll_1u3uq {
99
99
  min-width: calc(100% - 2 * var(--gap-m));
100
100
  margin: 0 var(--gap-m);
101
- } .tabs__container_hpujn {
101
+ } .tabs__container_1u3uq {
102
102
  position: relative;
103
103
  overflow: hidden;
104
104
 
105
105
  /* focus-outline fix */
106
106
  margin: var(--gap-2xs-neg) 0 var(--gap-2xs-neg) var(--gap-2xs-neg);
107
107
  padding: var(--gap-2xs) 0 var(--gap-2xs) var(--gap-2xs);
108
- } .tabs__title_hpujn {
108
+ } .tabs__title_1u3uq {
109
109
  display: flex;
110
110
  align-items: center;
111
111
  height: 100%;
@@ -122,76 +122,78 @@
122
122
  user-select: none;
123
123
  cursor: pointer;
124
124
  outline: none
125
- } .tabs__title_hpujn:not(.tabs__disabled_hpujn):hover {
125
+ } .tabs__title_1u3uq:not(.tabs__disabled_1u3uq):hover {
126
126
  color: var(--primary-tablist-hover-color);
127
- } .tabs__focused_hpujn {
127
+ } .tabs__focused_1u3uq {
128
128
  outline: 2px solid var(--focus-color);
129
129
  outline-offset: 2px;
130
- } .tabs__collapsed_hpujn {
130
+ } .tabs__collapsed_1u3uq {
131
131
  order: 99;
132
132
  visibility: collapse;
133
- } .tabs__selected_hpujn {
133
+ } .tabs__selected_1u3uq {
134
134
  cursor: default;
135
135
  color: var(--primary-tablist-selected-color);
136
- } .tabs__disabled_hpujn {
136
+ } .tabs__disabled_1u3uq {
137
137
  cursor: var(--disabled-cursor);
138
138
  color: var(--primary-tablist-disabled-color);
139
- } .tabs__line_hpujn {
139
+ } .tabs__line_1u3uq {
140
140
  position: absolute;
141
141
  height: 3px;
142
142
  bottom: 0;
143
143
  left: 0;
144
144
  background-color: var(--primary-tablist-line-color);
145
145
  transition: transform 0.2s ease, width 0.2s ease;
146
- } /* sizes */ .tabs__s_hpujn .tabs__title_hpujn, .tabs__xs_hpujn .tabs__title_hpujn, .tabs__xxs_hpujn .tabs__title_hpujn {
146
+ } .tabs__option_1u3uq {
147
+ color: var(--color-light-text-primary);
148
+ } /* sizes */ .tabs__s_1u3uq .tabs__title_1u3uq, .tabs__xs_1u3uq .tabs__title_1u3uq, .tabs__xxs_1u3uq .tabs__title_1u3uq {
147
149
  padding: var(--primary-tablist-s-padding);
148
150
  font-size: var(--primary-tablist-s-font-size);
149
151
  font-weight: var(--primary-tablist-s-font-weight);
150
152
  font-family: var(--primary-tablist-s-font-family);
151
153
  line-height: 24px;
152
- } .tabs__s_hpujn .tabs__title_hpujn + .tabs__title_hpujn, .tabs__xs_hpujn .tabs__title_hpujn + .tabs__title_hpujn, .tabs__xxs_hpujn .tabs__title_hpujn + .tabs__title_hpujn {
154
+ } .tabs__s_1u3uq .tabs__title_1u3uq + .tabs__title_1u3uq, .tabs__xs_1u3uq .tabs__title_1u3uq + .tabs__title_1u3uq, .tabs__xxs_1u3uq .tabs__title_1u3uq + .tabs__title_1u3uq {
153
155
  margin-left: var(--primary-tablist-s-gaps);
154
- } .tabs__s_hpujn .tabs__pickerWrapper_hpujn, .tabs__xs_hpujn .tabs__pickerWrapper_hpujn, .tabs__xxs_hpujn .tabs__pickerWrapper_hpujn {
156
+ } .tabs__s_1u3uq .tabs__pickerWrapper_1u3uq, .tabs__xs_1u3uq .tabs__pickerWrapper_1u3uq, .tabs__xxs_1u3uq .tabs__pickerWrapper_1u3uq {
155
157
  margin-left: var(--primary-tablist-s-gaps);
156
- } .tabs__s_hpujn .tabs__option_hpujn, .tabs__xs_hpujn .tabs__option_hpujn, .tabs__xxs_hpujn .tabs__option_hpujn {
158
+ } .tabs__s_1u3uq .tabs__option_1u3uq, .tabs__xs_1u3uq .tabs__option_1u3uq, .tabs__xxs_1u3uq .tabs__option_1u3uq {
157
159
  padding: 0;
158
- } .tabs__m_hpujn .tabs__title_hpujn {
160
+ } .tabs__m_1u3uq .tabs__title_1u3uq {
159
161
  padding: var(--primary-tablist-m-padding);
160
162
  font-size: var(--primary-tablist-m-font-size);
161
163
  font-weight: var(--primary-tablist-m-font-weight);
162
164
  font-family: var(--primary-tablist-m-font-family);
163
165
  line-height: 24px;
164
- } .tabs__m_hpujn .tabs__title_hpujn + .tabs__title_hpujn {
166
+ } .tabs__m_1u3uq .tabs__title_1u3uq + .tabs__title_1u3uq {
165
167
  margin-left: var(--primary-tablist-m-gaps);
166
- } .tabs__m_hpujn .tabs__pickerWrapper_hpujn {
168
+ } .tabs__m_1u3uq .tabs__pickerWrapper_1u3uq {
167
169
  margin-left: var(--primary-tablist-m-gaps);
168
- } .tabs__m_hpujn .tabs__option_hpujn {
170
+ } .tabs__m_1u3uq .tabs__option_1u3uq {
169
171
  padding: 0;
170
- } .tabs__l_hpujn .tabs__title_hpujn {
172
+ } .tabs__l_1u3uq .tabs__title_1u3uq {
171
173
  padding: var(--primary-tablist-l-padding);
172
174
  font-size: var(--primary-tablist-l-font-size);
173
175
  font-weight: var(--primary-tablist-l-font-weight);
174
176
  font-family: var(--primary-tablist-l-font-family);
175
177
  line-height: 24px;
176
- } .tabs__l_hpujn .tabs__title_hpujn + .tabs__title_hpujn {
178
+ } .tabs__l_1u3uq .tabs__title_1u3uq + .tabs__title_1u3uq {
177
179
  margin-left: var(--primary-tablist-l-gaps);
178
- } .tabs__l_hpujn .tabs__pickerWrapper_hpujn {
180
+ } .tabs__l_1u3uq .tabs__pickerWrapper_1u3uq {
179
181
  margin-left: var(--primary-tablist-l-gaps);
180
- } .tabs__l_hpujn .tabs__option_hpujn {
182
+ } .tabs__l_1u3uq .tabs__option_1u3uq {
181
183
  padding: 0;
182
- } .tabs__xl_hpujn .tabs__title_hpujn {
184
+ } .tabs__xl_1u3uq .tabs__title_1u3uq {
183
185
  padding: var(--primary-tablist-xl-padding);
184
186
  font-size: var(--primary-tablist-xl-font-size);
185
187
  font-weight: var(--primary-tablist-xl-font-weight);
186
188
  font-family: var(--primary-tablist-xl-font-family);
187
189
  line-height: 32px;
188
- } .tabs__xl_hpujn .tabs__title_hpujn + .tabs__title_hpujn {
190
+ } .tabs__xl_1u3uq .tabs__title_1u3uq + .tabs__title_1u3uq {
189
191
  margin-left: var(--primary-tablist-xl-gaps);
190
- } .tabs__xl_hpujn .tabs__pickerWrapper_hpujn {
192
+ } .tabs__xl_1u3uq .tabs__pickerWrapper_1u3uq {
191
193
  margin-left: var(--primary-tablist-xl-gaps);
192
- } .tabs__xl_hpujn .tabs__option_hpujn {
194
+ } .tabs__xl_1u3uq .tabs__option_1u3uq {
193
195
  padding: 0;
194
- } .tabs__rightAddons_hpujn {
196
+ } .tabs__rightAddons_1u3uq {
195
197
  display: flex;
196
198
  justify-content: center;
197
199
  align-items: center;
@@ -1,4 +1,4 @@
1
- /* hash: 1ulmw */
1
+ /* hash: j8scm */
2
2
  :root {
3
3
  }/* deprecated */:root {
4
4
  --color-light-border-accent: #ef3124;
@@ -90,11 +90,11 @@
90
90
  /* size l */
91
91
 
92
92
  /* size xl */
93
- }.tabs__component_hpujn {
93
+ }.tabs__component_1u3uq {
94
94
  position: relative;
95
95
  display: inline-flex;
96
96
  min-width: 100%
97
- }.tabs__component_hpujn:before {
97
+ }.tabs__component_1u3uq:before {
98
98
  content: '';
99
99
  display: block;
100
100
  position: absolute;
@@ -102,17 +102,17 @@
102
102
  height: 1px;
103
103
  width: 100%;
104
104
  background-color: var(--primary-tablist-bottom-border-color);
105
- }.tabs__fullWidthScroll_hpujn {
105
+ }.tabs__fullWidthScroll_1u3uq {
106
106
  min-width: calc(100% - 2 * var(--gap-m));
107
107
  margin: 0 var(--gap-m);
108
- }.tabs__container_hpujn {
108
+ }.tabs__container_1u3uq {
109
109
  position: relative;
110
110
  overflow: hidden;
111
111
 
112
112
  /* focus-outline fix */
113
113
  margin: var(--gap-2xs-neg) 0 var(--gap-2xs-neg) var(--gap-2xs-neg);
114
114
  padding: var(--gap-2xs) 0 var(--gap-2xs) var(--gap-2xs);
115
- }.tabs__title_hpujn {
115
+ }.tabs__title_1u3uq {
116
116
  display: flex;
117
117
  align-items: center;
118
118
  height: 100%;
@@ -129,76 +129,78 @@
129
129
  user-select: none;
130
130
  cursor: pointer;
131
131
  outline: none
132
- }.tabs__title_hpujn:not(.tabs__disabled_hpujn):hover {
132
+ }.tabs__title_1u3uq:not(.tabs__disabled_1u3uq):hover {
133
133
  color: var(--primary-tablist-hover-color);
134
- }.tabs__focused_hpujn {
134
+ }.tabs__focused_1u3uq {
135
135
  outline: 2px solid var(--focus-color);
136
136
  outline-offset: 2px;
137
- }.tabs__collapsed_hpujn {
137
+ }.tabs__collapsed_1u3uq {
138
138
  order: 99;
139
139
  visibility: collapse;
140
- }.tabs__selected_hpujn {
140
+ }.tabs__selected_1u3uq {
141
141
  cursor: default;
142
142
  color: var(--primary-tablist-selected-color);
143
- }.tabs__disabled_hpujn {
143
+ }.tabs__disabled_1u3uq {
144
144
  cursor: var(--disabled-cursor);
145
145
  color: var(--primary-tablist-disabled-color);
146
- }.tabs__line_hpujn {
146
+ }.tabs__line_1u3uq {
147
147
  position: absolute;
148
148
  height: 3px;
149
149
  bottom: 0;
150
150
  left: 0;
151
151
  background-color: var(--primary-tablist-line-color);
152
152
  transition: transform 0.2s ease, width 0.2s ease;
153
- }/* sizes */.tabs__s_hpujn .tabs__title_hpujn, .tabs__xs_hpujn .tabs__title_hpujn, .tabs__xxs_hpujn .tabs__title_hpujn {
153
+ }.tabs__option_1u3uq {
154
+ color: var(--color-light-text-primary);
155
+ }/* sizes */.tabs__s_1u3uq .tabs__title_1u3uq, .tabs__xs_1u3uq .tabs__title_1u3uq, .tabs__xxs_1u3uq .tabs__title_1u3uq {
154
156
  padding: var(--primary-tablist-s-padding);
155
157
  font-size: var(--primary-tablist-s-font-size);
156
158
  font-weight: var(--primary-tablist-s-font-weight);
157
159
  font-family: var(--primary-tablist-s-font-family);
158
160
  line-height: 24px;
159
- }.tabs__s_hpujn .tabs__title_hpujn + .tabs__title_hpujn, .tabs__xs_hpujn .tabs__title_hpujn + .tabs__title_hpujn, .tabs__xxs_hpujn .tabs__title_hpujn + .tabs__title_hpujn {
161
+ }.tabs__s_1u3uq .tabs__title_1u3uq + .tabs__title_1u3uq, .tabs__xs_1u3uq .tabs__title_1u3uq + .tabs__title_1u3uq, .tabs__xxs_1u3uq .tabs__title_1u3uq + .tabs__title_1u3uq {
160
162
  margin-left: var(--primary-tablist-s-gaps);
161
- }.tabs__s_hpujn .tabs__pickerWrapper_hpujn, .tabs__xs_hpujn .tabs__pickerWrapper_hpujn, .tabs__xxs_hpujn .tabs__pickerWrapper_hpujn {
163
+ }.tabs__s_1u3uq .tabs__pickerWrapper_1u3uq, .tabs__xs_1u3uq .tabs__pickerWrapper_1u3uq, .tabs__xxs_1u3uq .tabs__pickerWrapper_1u3uq {
162
164
  margin-left: var(--primary-tablist-s-gaps);
163
- }.tabs__s_hpujn .tabs__option_hpujn, .tabs__xs_hpujn .tabs__option_hpujn, .tabs__xxs_hpujn .tabs__option_hpujn {
165
+ }.tabs__s_1u3uq .tabs__option_1u3uq, .tabs__xs_1u3uq .tabs__option_1u3uq, .tabs__xxs_1u3uq .tabs__option_1u3uq {
164
166
  padding: 0;
165
- }.tabs__m_hpujn .tabs__title_hpujn {
167
+ }.tabs__m_1u3uq .tabs__title_1u3uq {
166
168
  padding: var(--primary-tablist-m-padding);
167
169
  font-size: var(--primary-tablist-m-font-size);
168
170
  font-weight: var(--primary-tablist-m-font-weight);
169
171
  font-family: var(--primary-tablist-m-font-family);
170
172
  line-height: 24px;
171
- }.tabs__m_hpujn .tabs__title_hpujn + .tabs__title_hpujn {
173
+ }.tabs__m_1u3uq .tabs__title_1u3uq + .tabs__title_1u3uq {
172
174
  margin-left: var(--primary-tablist-m-gaps);
173
- }.tabs__m_hpujn .tabs__pickerWrapper_hpujn {
175
+ }.tabs__m_1u3uq .tabs__pickerWrapper_1u3uq {
174
176
  margin-left: var(--primary-tablist-m-gaps);
175
- }.tabs__m_hpujn .tabs__option_hpujn {
177
+ }.tabs__m_1u3uq .tabs__option_1u3uq {
176
178
  padding: 0;
177
- }.tabs__l_hpujn .tabs__title_hpujn {
179
+ }.tabs__l_1u3uq .tabs__title_1u3uq {
178
180
  padding: var(--primary-tablist-l-padding);
179
181
  font-size: var(--primary-tablist-l-font-size);
180
182
  font-weight: var(--primary-tablist-l-font-weight);
181
183
  font-family: var(--primary-tablist-l-font-family);
182
184
  line-height: 24px;
183
- }.tabs__l_hpujn .tabs__title_hpujn + .tabs__title_hpujn {
185
+ }.tabs__l_1u3uq .tabs__title_1u3uq + .tabs__title_1u3uq {
184
186
  margin-left: var(--primary-tablist-l-gaps);
185
- }.tabs__l_hpujn .tabs__pickerWrapper_hpujn {
187
+ }.tabs__l_1u3uq .tabs__pickerWrapper_1u3uq {
186
188
  margin-left: var(--primary-tablist-l-gaps);
187
- }.tabs__l_hpujn .tabs__option_hpujn {
189
+ }.tabs__l_1u3uq .tabs__option_1u3uq {
188
190
  padding: 0;
189
- }.tabs__xl_hpujn .tabs__title_hpujn {
191
+ }.tabs__xl_1u3uq .tabs__title_1u3uq {
190
192
  padding: var(--primary-tablist-xl-padding);
191
193
  font-size: var(--primary-tablist-xl-font-size);
192
194
  font-weight: var(--primary-tablist-xl-font-weight);
193
195
  font-family: var(--primary-tablist-xl-font-family);
194
196
  line-height: 32px;
195
- }.tabs__xl_hpujn .tabs__title_hpujn + .tabs__title_hpujn {
197
+ }.tabs__xl_1u3uq .tabs__title_1u3uq + .tabs__title_1u3uq {
196
198
  margin-left: var(--primary-tablist-xl-gaps);
197
- }.tabs__xl_hpujn .tabs__pickerWrapper_hpujn {
199
+ }.tabs__xl_1u3uq .tabs__pickerWrapper_1u3uq {
198
200
  margin-left: var(--primary-tablist-xl-gaps);
199
- }.tabs__xl_hpujn .tabs__option_hpujn {
201
+ }.tabs__xl_1u3uq .tabs__option_1u3uq {
200
202
  padding: 0;
201
- }.tabs__rightAddons_hpujn {
203
+ }.tabs__rightAddons_1u3uq {
202
204
  display: flex;
203
205
  justify-content: center;
204
206
  align-items: center;
@@ -1106,13 +1108,13 @@
1106
1108
 
1107
1109
  /* size xl */
1108
1110
  --secondary-tablist-xl-gaps: var(--gap-m);
1109
- } .tabs__title_19are {
1110
- } .tabs__mobile_19are .tabs__title_19are {
1111
+ } .tabs__title_135vc {
1112
+ } .tabs__mobile_135vc .tabs__title_135vc {
1111
1113
  padding: var(--primary-tablist-mobile-padding);
1112
1114
  font-size: var(--primary-tablist-mobile-font-size);
1113
1115
  font-weight: var(--primary-tablist-mobile-font-weight);
1114
1116
  font-family: var(--primary-tablist-mobile-font-family);
1115
1117
  line-height: var(--primary-tablist-mobile-line-height)
1116
- } .tabs__mobile_19are .tabs__title_19are + .tabs__title_19are {
1118
+ } .tabs__mobile_135vc .tabs__title_135vc + .tabs__title_135vc {
1117
1119
  margin-left: var(--primary-tablist-mobile-gaps);
1118
1120
  }
@@ -0,0 +1,11 @@
1
+ /// <reference types="react" />
2
+ import React from 'react';
3
+ import { RefObject } from "react";
4
+ import { TabsProps } from "../../typings";
5
+ type ScrollControlsProps = {
6
+ view: Exclude<TabsProps['view'], undefined>;
7
+ size: TabsProps['size'];
8
+ containerRef: RefObject<HTMLDivElement>;
9
+ };
10
+ declare const ScrollControls: React.ForwardRefExoticComponent<ScrollControlsProps & React.RefAttributes<HTMLDivElement>>;
11
+ export { ScrollControls };
@@ -0,0 +1,53 @@
1
+ 'use strict';
2
+
3
+ Object.defineProperty(exports, '__esModule', { value: true });
4
+
5
+ var tslib = require('tslib');
6
+ var React = require('react');
7
+ var cn = require('classnames');
8
+ var _debounce = require('lodash.debounce');
9
+ var coreComponentsIconButton = require('@alfalab/core-components-icon-button');
10
+ var ChevronLeftMIcon = require('@alfalab/icons-glyph/ChevronLeftMIcon');
11
+ var ChevronRightMIcon = require('@alfalab/icons-glyph/ChevronRightMIcon');
12
+ var components_scrollControls_utils = require('./utils.js');
13
+
14
+ function _interopDefaultCompat (e) { return e && typeof e === 'object' && 'default' in e ? e : { default: e }; }
15
+
16
+ var React__default = /*#__PURE__*/_interopDefaultCompat(React);
17
+ var cn__default = /*#__PURE__*/_interopDefaultCompat(cn);
18
+ var _debounce__default = /*#__PURE__*/_interopDefaultCompat(_debounce);
19
+
20
+ var styles = {"component":"tabs__component_1i374","borderVisible":"tabs__borderVisible_1i374","primary":"tabs__primary_1i374","button":"tabs__button_1i374","xl":"tabs__xl_1i374","secondary":"tabs__secondary_1i374","xs":"tabs__xs_1i374"};
21
+ require('./index.css')
22
+
23
+ var ScrollControls = React.forwardRef(function (_a, ref) {
24
+ var _b;
25
+ var containerRef = _a.containerRef, view = _a.view, sizeProp = _a.size;
26
+ var container = containerRef.current;
27
+ var _c = React.useState(function () { return components_scrollControls_utils.getDisabledState(container); }), disabledState = _c[0], updateDisabledState = _c[1];
28
+ React.useEffect(function () {
29
+ var handleScroll = _debounce__default.default(function () { return updateDisabledState(components_scrollControls_utils.getDisabledState(container)); }, 100, { leading: true, maxWait: 100, trailing: true });
30
+ container === null || container === void 0 ? void 0 : container.addEventListener('scroll', handleScroll);
31
+ return function () { return container === null || container === void 0 ? void 0 : container.removeEventListener('scroll', handleScroll); };
32
+ }, [container]);
33
+ var getSize = function () {
34
+ if (view === 'primary') {
35
+ return sizeProp === 'xl' ? 'xs' : 'xxs';
36
+ }
37
+ return sizeProp && ['s', 'm', 'l', 'xl'].includes(sizeProp) ? 's' : 'xs';
38
+ };
39
+ var handleScrollLeft = function () { return components_scrollControls_utils.scrollIntoFirstTab(container); };
40
+ var handleScrollRight = function () { return components_scrollControls_utils.scrollIntoLastTab(container); };
41
+ var commonButtonProps = {
42
+ className: styles.button,
43
+ size: getSize(),
44
+ view: 'secondary',
45
+ };
46
+ return (React__default.default.createElement("div", { ref: ref, className: cn__default.default(styles.component, styles[view], sizeProp && styles[sizeProp], (_b = {},
47
+ _b[styles.borderVisible] = !disabledState.toRight,
48
+ _b)) },
49
+ React__default.default.createElement(coreComponentsIconButton.IconButton, tslib.__assign({}, commonButtonProps, { icon: ChevronLeftMIcon.ChevronLeftMIcon, disabled: disabledState.toLeft, onClick: handleScrollLeft })),
50
+ React__default.default.createElement(coreComponentsIconButton.IconButton, tslib.__assign({}, commonButtonProps, { icon: ChevronRightMIcon.ChevronRightMIcon, disabled: disabledState.toRight, onClick: handleScrollRight }))));
51
+ });
52
+
53
+ exports.ScrollControls = ScrollControls;