@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
@@ -1,4 +1,4 @@
1
- /* hash: x5wcp */
1
+ /* hash: 1kolo */
2
2
  :root {
3
3
  } /* deprecated */ :root { /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */
4
4
  } :root { /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */
@@ -42,20 +42,24 @@
42
42
  /* size l */
43
43
 
44
44
  /* size xl */
45
- } .tabs__container_1x09p {
45
+ } .tabs__scrollableContainerWrapper_v4p4z {
46
+ display: flex;
47
+ } .tabs__container_v4p4z {
46
48
  position: relative;
47
49
  overflow-x: auto;
48
50
  overflow-y: hidden;
49
51
  scroll-behavior: smooth;
50
52
  scrollbar-width: none;
53
+ flex: 1;
51
54
 
52
55
  /* focus-outline fix */
53
56
  margin: var(--gap-2xs-neg) 0 var(--gap-2xs-neg) var(--gap-2xs-neg);
54
57
  padding: var(--gap-2xs) 0 var(--gap-2xs) var(--gap-2xs)
55
- } .tabs__container_1x09p::-webkit-scrollbar {
58
+ } .tabs__container_v4p4z::-webkit-scrollbar {
56
59
  display: none;
57
- } .tabs__container_1x09p > * {
60
+ } .tabs__container_v4p4z > * {
58
61
  flex-shrink: 0;
59
- } .tabs__fullWidthScroll_1x09p {
60
- margin: 0 var(--gap-m-neg);
62
+ } .tabs__fullWidthScroll_v4p4z {
63
+ padding-left: 0;
64
+ margin: var(--gap-2xs-neg) var(--gap-m-neg);
61
65
  }
@@ -2,3 +2,9 @@ export { ScrollableContainer } from './Component.js';
2
2
  import 'react';
3
3
  import 'classnames';
4
4
  import 'compute-scroll-into-view';
5
+ import '../scroll-controls/Component.js';
6
+ import 'lodash.debounce';
7
+ import '@alfalab/core-components-icon-button/modern';
8
+ import '@alfalab/icons-glyph/ChevronLeftMIcon';
9
+ import '@alfalab/icons-glyph/ChevronRightMIcon';
10
+ import '../scroll-controls/utils.js';
@@ -1,5 +1,5 @@
1
1
  /// <reference types="react" />
2
2
  import React from 'react';
3
- import { SecondaryTabListProps, Styles } from "../../typings";
4
- declare const SecondaryTabList: ({ styles, className, containerClassName, size, titles, selectedId, scrollable, fullWidthScroll, tagSize, onChange, dataTestId, TagComponent, }: SecondaryTabListProps & Styles) => React.JSX.Element;
3
+ import { PlatformProps, SecondaryTabListProps, Styles } from "../../typings";
4
+ declare const SecondaryTabList: ({ styles, className, containerClassName, size, titles, selectedId, scrollable, fullWidthScroll, tagSize, onChange, dataTestId, TagComponent, platform, tagShape, tagView, }: SecondaryTabListProps & Styles & PlatformProps) => React.JSX.Element;
5
5
  export { SecondaryTabList };
@@ -1,13 +1,19 @@
1
1
  import React from 'react';
2
2
  import { TagDesktop } from '@alfalab/core-components-tag/modern/desktop';
3
3
  import { SecondaryTabList } from './Component.js';
4
- import { c as commonStyles } from '../../index.module-2a3e44bc.js';
4
+ import { c as commonStyles } from '../../index.module-3f8f9d5d.js';
5
5
  import 'classnames';
6
6
  import '../../hooks/use-tabs.js';
7
7
  import '@alfalab/core-components-shared/modern';
8
8
  import '../scrollable-container/Component.js';
9
9
  import 'compute-scroll-into-view';
10
+ import '../scroll-controls/Component.js';
11
+ import 'lodash.debounce';
12
+ import '@alfalab/core-components-icon-button/modern';
13
+ import '@alfalab/icons-glyph/ChevronLeftMIcon';
14
+ import '@alfalab/icons-glyph/ChevronRightMIcon';
15
+ import '../scroll-controls/utils.js';
10
16
 
11
- const SecondaryTabListDesktop = ({ size = 's', ...restProps }) => (React.createElement(SecondaryTabList, { ...restProps, TagComponent: TagDesktop, size: size, styles: commonStyles, tagSize: size }));
17
+ const SecondaryTabListDesktop = ({ size = 's', ...restProps }) => (React.createElement(SecondaryTabList, { ...restProps, TagComponent: TagDesktop, size: size, styles: commonStyles, tagSize: size, platform: 'desktop' }));
12
18
 
13
19
  export { SecondaryTabListDesktop };
@@ -4,8 +4,14 @@ import { useTabs } from '../../hooks/use-tabs.js';
4
4
  import { ScrollableContainer } from '../scrollable-container/Component.js';
5
5
  import '@alfalab/core-components-shared/modern';
6
6
  import 'compute-scroll-into-view';
7
+ import '../scroll-controls/Component.js';
8
+ import 'lodash.debounce';
9
+ import '@alfalab/core-components-icon-button/modern';
10
+ import '@alfalab/icons-glyph/ChevronLeftMIcon';
11
+ import '@alfalab/icons-glyph/ChevronRightMIcon';
12
+ import '../scroll-controls/utils.js';
7
13
 
8
- const SecondaryTabList = ({ styles = {}, className, containerClassName, size, titles = [], selectedId = titles.length ? titles[0].id : undefined, scrollable = true, fullWidthScroll, tagSize = 'xs', onChange, dataTestId, TagComponent, }) => {
14
+ const SecondaryTabList = ({ styles = {}, className, containerClassName, size, titles = [], selectedId = titles.length ? titles[0].id : undefined, scrollable = true, fullWidthScroll, tagSize = 'xs', onChange, dataTestId, TagComponent, platform, tagShape, tagView, }) => {
9
15
  const { focusedTab, selectedTab, getTabListItemProps } = useTabs({
10
16
  titles,
11
17
  selectedId,
@@ -19,10 +25,10 @@ const SecondaryTabList = ({ styles = {}, className, containerClassName, size, ti
19
25
  }) }, titles.map((item, index) => {
20
26
  if (item.hidden)
21
27
  return null;
22
- return (React.createElement(TagComponent, { ...getTabListItemProps(index), key: item.id, className: cn(styles.title, item.toggleClassName), checked: item.id === selectedId, size: tagSize, rightAddons: item.rightAddons }, item.title));
28
+ return (React.createElement(TagComponent, { ...getTabListItemProps(index), shape: tagShape, view: tagView, key: item.id, className: cn(styles.title, item.toggleClassName), checked: item.id === selectedId, size: tagSize, rightAddons: item.rightAddons }, item.title));
23
29
  })));
24
30
  };
25
- return scrollable ? (React.createElement(ScrollableContainer, { activeChild: focusedTab || selectedTab, containerClassName: containerClassName, fullWidthScroll: fullWidthScroll }, renderContent())) : (React.createElement("div", { className: cn(styles.container, containerClassName) }, renderContent()));
31
+ return scrollable ? (React.createElement(ScrollableContainer, { activeChild: focusedTab || selectedTab, containerClassName: containerClassName, fullWidthScroll: fullWidthScroll, view: 'secondary', size: size, platform: platform }, renderContent())) : (React.createElement("div", { className: cn(styles.container, containerClassName) }, renderContent()));
26
32
  };
27
33
 
28
34
  export { SecondaryTabList };
@@ -1,6 +1,6 @@
1
1
  /// <reference types="react" />
2
2
  import React from 'react';
3
3
  import { SecondaryTabListProps } from "../../typings";
4
- type SecondaryTabListMobileProps = Omit<SecondaryTabListProps, 'size' | 'tagSize'>;
5
- declare const SecondaryTabListMobile: ({ className, ...restProps }: SecondaryTabListMobileProps) => React.JSX.Element;
4
+ type SecondaryTabListMobileProps = Omit<SecondaryTabListProps, 'tagSize'>;
5
+ declare const SecondaryTabListMobile: ({ className, size, ...restProps }: SecondaryTabListMobileProps) => React.JSX.Element;
6
6
  export { SecondaryTabListMobileProps, SecondaryTabListMobile };
@@ -2,19 +2,25 @@ import React from 'react';
2
2
  import cn from 'classnames';
3
3
  import { TagMobile } from '@alfalab/core-components-tag/modern/mobile';
4
4
  import { SecondaryTabList } from './Component.js';
5
- import { c as commonStyles } from '../../index.module-2a3e44bc.js';
5
+ import { c as commonStyles } from '../../index.module-3f8f9d5d.js';
6
6
  import '../../hooks/use-tabs.js';
7
7
  import '@alfalab/core-components-shared/modern';
8
8
  import '../scrollable-container/Component.js';
9
9
  import 'compute-scroll-into-view';
10
+ import '../scroll-controls/Component.js';
11
+ import 'lodash.debounce';
12
+ import '@alfalab/core-components-icon-button/modern';
13
+ import '@alfalab/icons-glyph/ChevronLeftMIcon';
14
+ import '@alfalab/icons-glyph/ChevronRightMIcon';
15
+ import '../scroll-controls/utils.js';
10
16
 
11
- const mobileStyles = {"title":"tabs__title_1rpha tabs__title_k8fwj","mobile":"tabs__mobile_1rpha"};
17
+ const mobileStyles = {"title":"tabs__title_1889x tabs__title_tc0jp","mobile":"tabs__mobile_1889x"};
12
18
  require('./mobile.css')
13
19
 
14
20
  const styles = {
15
21
  ...commonStyles,
16
22
  ...mobileStyles,
17
23
  };
18
- const SecondaryTabListMobile = ({ className, ...restProps }) => (React.createElement(SecondaryTabList, { ...restProps, TagComponent: TagMobile, styles: styles, className: cn(className, styles.mobile), tagSize: 'xs' }));
24
+ const SecondaryTabListMobile = ({ className, size, ...restProps }) => (React.createElement(SecondaryTabList, { ...restProps, TagComponent: TagMobile, styles: styles, className: cn(className, styles.mobile), tagSize: size, platform: 'mobile' }));
19
25
 
20
26
  export { SecondaryTabListMobile };
@@ -1,5 +1,5 @@
1
1
  /// <reference types="react" />
2
2
  import React from 'react';
3
3
  import { SecondaryTabListProps } from "../../typings";
4
- declare const SecondaryTabListResponsive: ({ size, defaultMatchMediaValue, fullWidthScroll, breakpoint, ...restProps }: SecondaryTabListProps) => React.JSX.Element;
4
+ declare const SecondaryTabListResponsive: ({ defaultMatchMediaValue, fullWidthScroll, breakpoint, ...restProps }: SecondaryTabListProps) => React.JSX.Element;
5
5
  export { SecondaryTabListResponsive };
@@ -9,12 +9,18 @@ import '../../hooks/use-tabs.js';
9
9
  import '@alfalab/core-components-shared/modern';
10
10
  import '../scrollable-container/Component.js';
11
11
  import 'compute-scroll-into-view';
12
- import '../../index.module-2a3e44bc.js';
12
+ import '../scroll-controls/Component.js';
13
+ import 'lodash.debounce';
14
+ import '@alfalab/core-components-icon-button/modern';
15
+ import '@alfalab/icons-glyph/ChevronLeftMIcon';
16
+ import '@alfalab/icons-glyph/ChevronRightMIcon';
17
+ import '../scroll-controls/utils.js';
18
+ import '../../index.module-3f8f9d5d.js';
13
19
  import '@alfalab/core-components-tag/modern/mobile';
14
20
 
15
- const SecondaryTabListResponsive = ({ size, defaultMatchMediaValue, fullWidthScroll, breakpoint = 1024, ...restProps }) => {
21
+ const SecondaryTabListResponsive = ({ defaultMatchMediaValue, fullWidthScroll, breakpoint = 1024, ...restProps }) => {
16
22
  const [isDesktop] = useMatchMedia(`(min-width: ${breakpoint}px)`, defaultMatchMediaValue);
17
- return isDesktop ? (React.createElement(SecondaryTabListDesktop, { size: size, ...restProps })) : (React.createElement(SecondaryTabListMobile, { fullWidthScroll: fullWidthScroll, ...restProps }));
23
+ return isDesktop ? (React.createElement(SecondaryTabListDesktop, { ...restProps })) : (React.createElement(SecondaryTabListMobile, { fullWidthScroll: fullWidthScroll, ...restProps }));
18
24
  };
19
25
 
20
26
  export { SecondaryTabListResponsive };
@@ -1,4 +1,4 @@
1
- /* hash: p5bpi */
1
+ /* hash: 3thre */
2
2
  :root {
3
3
  } /* deprecated */ :root { /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */
4
4
  } :root { /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */
@@ -50,29 +50,29 @@
50
50
 
51
51
  /* size xl */
52
52
  --secondary-tablist-xl-gaps: var(--gap-m);
53
- } .tabs__component_k8fwj {
53
+ } .tabs__component_tc0jp {
54
54
  position: relative;
55
55
  display: inline-flex;
56
- } .tabs__fullWidthScroll_k8fwj {
56
+ } .tabs__fullWidthScroll_tc0jp {
57
57
  margin: 0 var(--gap-m);
58
- } .tabs__container_k8fwj {
58
+ } .tabs__container_tc0jp {
59
59
  overflow: hidden;
60
60
 
61
61
  /* focus-outline fix */
62
62
  margin: var(--gap-2xs-neg) 0 var(--gap-2xs-neg) var(--gap-2xs-neg);
63
63
  padding: var(--gap-2xs) 0 var(--gap-2xs) var(--gap-2xs);
64
- } .tabs__title_k8fwj {
64
+ } .tabs__title_tc0jp {
65
65
  white-space: nowrap;
66
- } /* sizes */ .tabs__xxs_k8fwj .tabs__title_k8fwj + .tabs__title_k8fwj {
66
+ } /* sizes */ .tabs__xxs_tc0jp .tabs__title_tc0jp + .tabs__title_tc0jp {
67
67
  margin-left: var(--secondary-tablist-xxs-gaps);
68
- } .tabs__xs_k8fwj .tabs__title_k8fwj + .tabs__title_k8fwj {
68
+ } .tabs__xs_tc0jp .tabs__title_tc0jp + .tabs__title_tc0jp {
69
69
  margin-left: var(--secondary-tablist-xs-gaps);
70
- } .tabs__s_k8fwj .tabs__title_k8fwj + .tabs__title_k8fwj {
70
+ } .tabs__s_tc0jp .tabs__title_tc0jp + .tabs__title_tc0jp {
71
71
  margin-left: var(--secondary-tablist-s-gaps);
72
- } .tabs__m_k8fwj .tabs__title_k8fwj + .tabs__title_k8fwj {
72
+ } .tabs__m_tc0jp .tabs__title_tc0jp + .tabs__title_tc0jp {
73
73
  margin-left: var(--secondary-tablist-m-gaps);
74
- } .tabs__l_k8fwj .tabs__title_k8fwj + .tabs__title_k8fwj {
74
+ } .tabs__l_tc0jp .tabs__title_tc0jp + .tabs__title_tc0jp {
75
75
  margin-left: var(--secondary-tablist-l-gaps);
76
- } .tabs__xl_k8fwj .tabs__title_k8fwj + .tabs__title_k8fwj {
76
+ } .tabs__xl_tc0jp .tabs__title_tc0jp + .tabs__title_tc0jp {
77
77
  margin-left: var(--secondary-tablist-xl-gaps);
78
78
  }
@@ -1,4 +1,4 @@
1
- /* hash: 118yi */
1
+ /* hash: lza89 */
2
2
  :root {
3
3
  }/* deprecated */:root { /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */
4
4
  }:root { /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */
@@ -51,30 +51,30 @@
51
51
 
52
52
  /* size xl */
53
53
  --secondary-tablist-xl-gaps: var(--gap-m);
54
- }.tabs__component_k8fwj {
54
+ }.tabs__component_tc0jp {
55
55
  position: relative;
56
56
  display: inline-flex;
57
- }.tabs__fullWidthScroll_k8fwj {
57
+ }.tabs__fullWidthScroll_tc0jp {
58
58
  margin: 0 var(--gap-m);
59
- }.tabs__container_k8fwj {
59
+ }.tabs__container_tc0jp {
60
60
  overflow: hidden;
61
61
 
62
62
  /* focus-outline fix */
63
63
  margin: var(--gap-2xs-neg) 0 var(--gap-2xs-neg) var(--gap-2xs-neg);
64
64
  padding: var(--gap-2xs) 0 var(--gap-2xs) var(--gap-2xs);
65
- }.tabs__title_k8fwj {
65
+ }.tabs__title_tc0jp {
66
66
  white-space: nowrap;
67
- }/* sizes */.tabs__xxs_k8fwj .tabs__title_k8fwj + .tabs__title_k8fwj {
67
+ }/* sizes */.tabs__xxs_tc0jp .tabs__title_tc0jp + .tabs__title_tc0jp {
68
68
  margin-left: var(--secondary-tablist-xxs-gaps);
69
- }.tabs__xs_k8fwj .tabs__title_k8fwj + .tabs__title_k8fwj {
69
+ }.tabs__xs_tc0jp .tabs__title_tc0jp + .tabs__title_tc0jp {
70
70
  margin-left: var(--secondary-tablist-xs-gaps);
71
- }.tabs__s_k8fwj .tabs__title_k8fwj + .tabs__title_k8fwj {
71
+ }.tabs__s_tc0jp .tabs__title_tc0jp + .tabs__title_tc0jp {
72
72
  margin-left: var(--secondary-tablist-s-gaps);
73
- }.tabs__m_k8fwj .tabs__title_k8fwj + .tabs__title_k8fwj {
73
+ }.tabs__m_tc0jp .tabs__title_tc0jp + .tabs__title_tc0jp {
74
74
  margin-left: var(--secondary-tablist-m-gaps);
75
- }.tabs__l_k8fwj .tabs__title_k8fwj + .tabs__title_k8fwj {
75
+ }.tabs__l_tc0jp .tabs__title_tc0jp + .tabs__title_tc0jp {
76
76
  margin-left: var(--secondary-tablist-l-gaps);
77
- }.tabs__xl_k8fwj .tabs__title_k8fwj + .tabs__title_k8fwj {
77
+ }.tabs__xl_tc0jp .tabs__title_tc0jp + .tabs__title_tc0jp {
78
78
  margin-left: var(--secondary-tablist-xl-gaps);
79
79
  } :root {
80
80
  --color-dark-indigo: #0b1f35;
@@ -979,7 +979,7 @@
979
979
 
980
980
  /* size xl */
981
981
  --secondary-tablist-xl-gaps: var(--gap-m);
982
- } .tabs__title_1rpha {
983
- } .tabs__mobile_1rpha .tabs__title_1rpha + .tabs__title_1rpha {
982
+ } .tabs__title_1889x {
983
+ } .tabs__mobile_1889x .tabs__title_1889x + .tabs__title_1889x {
984
984
  margin-left: var(--secondary-tablist-mobile-gaps);
985
985
  }
@@ -1,7 +1,7 @@
1
1
  import React from 'react';
2
2
  import cn from 'classnames';
3
3
 
4
- const styles = {"component":"tabs__component_1d73m","hidden":"tabs__hidden_1d73m"};
4
+ const styles = {"component":"tabs__component_k9tti","hidden":"tabs__hidden_k9tti"};
5
5
  require('./index.css')
6
6
 
7
7
  const Tab = ({ children, hidden, className, disabled, dataTestId }) => children ? (React.createElement("div", { className: cn(styles.component, {
@@ -1,8 +1,8 @@
1
- /* hash: 37wfi */
2
- .tabs__component_1d73m {
1
+ /* hash: yw1ok */
2
+ .tabs__component_k9tti {
3
3
  outline: none;
4
4
  }
5
5
 
6
- .tabs__hidden_1d73m {
6
+ .tabs__hidden_k9tti {
7
7
  display: none;
8
8
  }
@@ -0,0 +1,6 @@
1
+ /// <reference types="react" />
2
+ import React from 'react';
3
+ import { TabsProps } from "../../typings";
4
+ type TabsCollapsibleProps = Omit<TabsProps, 'TabList' | 'fullWidthScroll' | 'scrollable' | 'view'>;
5
+ declare const TabsCollapsible: ({ ...restProps }: TabsCollapsibleProps) => React.JSX.Element;
6
+ export { TabsCollapsibleProps, TabsCollapsible };
@@ -1,7 +1,6 @@
1
1
  import React from 'react';
2
- import { CollapsiblePrimaryTabListDesktop } from '../primary-tablist/Component.collapsible.desktop.js';
2
+ import { CollapsiblePrimaryTabList } from '../primary-tablist/Component.collapsible.js';
3
3
  import { Tabs } from './Component.js';
4
- import '../primary-tablist/Component.collapsible.js';
5
4
  import 'classnames';
6
5
  import '@alfalab/core-components-badge/modern';
7
6
  import '@alfalab/core-components-keyboard-focusable/modern';
@@ -15,8 +14,8 @@ import '../../hooks/use-tabs.js';
15
14
  import '@alfalab/core-components-shared/modern';
16
15
  import '../../synthetic-events.js';
17
16
  import '../title/Component.js';
18
- import '../../index.module-5aa4033e.js';
17
+ import '../../index.module-22ff4191.js';
19
18
 
20
- const TabsCollapsibleDesktop = ({ ...restProps }) => (React.createElement(Tabs, { TabList: CollapsiblePrimaryTabListDesktop, ...restProps }));
19
+ const TabsCollapsible = ({ ...restProps }) => (React.createElement(Tabs, { TabList: CollapsiblePrimaryTabList, ...restProps }));
21
20
 
22
- export { TabsCollapsibleDesktop };
21
+ export { TabsCollapsible };
@@ -1,5 +1,5 @@
1
1
  /// <reference types="react" />
2
2
  import React from 'react';
3
3
  import { TabsProps } from "../../typings";
4
- declare const Tabs: ({ TabList, className, containerClassName, size, defaultMatchMediaValue, children, selectedId, scrollable, collapsedTabsIds, fullWidthScroll, keepMounted, dataTestId, onChange, breakpoint, }: Omit<TabsProps, 'view'>) => React.JSX.Element;
4
+ declare const Tabs: ({ TabList, className, containerClassName, size, defaultMatchMediaValue, children, selectedId, scrollable, collapsedTabsIds, fullWidthScroll, keepMounted, dataTestId, onChange, breakpoint, tagShape, tagView, }: Omit<TabsProps, 'view'>) => React.JSX.Element;
5
5
  export { Tabs };
@@ -9,11 +9,17 @@ import '../../hooks/use-tabs.js';
9
9
  import '@alfalab/core-components-shared/modern';
10
10
  import '../scrollable-container/Component.js';
11
11
  import 'compute-scroll-into-view';
12
+ import '../scroll-controls/Component.js';
13
+ import 'lodash.debounce';
14
+ import '@alfalab/core-components-icon-button/modern';
15
+ import '@alfalab/icons-glyph/ChevronLeftMIcon';
16
+ import '@alfalab/icons-glyph/ChevronRightMIcon';
17
+ import '../scroll-controls/utils.js';
12
18
  import '../title/Component.js';
13
- import '../../index.module-5aa4033e.js';
19
+ import '../../index.module-22ff4191.js';
14
20
  import '@alfalab/core-components-tag/modern/desktop';
15
21
  import '../secondary-tablist/Component.js';
16
- import '../../index.module-2a3e44bc.js';
22
+ import '../../index.module-3f8f9d5d.js';
17
23
 
18
24
  const views = {
19
25
  primary: PrimaryTabListDesktop,
@@ -1,6 +1,6 @@
1
1
  import React, { cloneElement } from 'react';
2
2
 
3
- const Tabs = ({ TabList, className, containerClassName, size, defaultMatchMediaValue, children, selectedId, scrollable, collapsedTabsIds, fullWidthScroll = false, keepMounted = false, dataTestId, onChange, breakpoint = 1024, }) => {
3
+ const Tabs = ({ TabList, className, containerClassName, size, defaultMatchMediaValue, children, selectedId, scrollable, collapsedTabsIds, fullWidthScroll = false, keepMounted = false, dataTestId, onChange, breakpoint = 1024, tagShape, tagView, }) => {
4
4
  const tabsArray = React.Children.toArray(children);
5
5
  const titles = tabsArray.map(({ props: { title, id, rightAddons, disabled, hidden, toggleClassName, dataTestId: toggleTestId, }, }) => ({
6
6
  title,
@@ -13,7 +13,7 @@ const Tabs = ({ TabList, className, containerClassName, size, defaultMatchMediaV
13
13
  }));
14
14
  const tabs = tabsArray.filter((tab) => tab.props.id === selectedId || tab.props.keepMounted || keepMounted);
15
15
  return (React.createElement("div", { className: className },
16
- React.createElement(TabList, { containerClassName: containerClassName, size: size, titles: titles, selectedId: selectedId, scrollable: scrollable, collapsedTabsIds: collapsedTabsIds, onChange: onChange, dataTestId: dataTestId, defaultMatchMediaValue: defaultMatchMediaValue, fullWidthScroll: fullWidthScroll, breakpoint: breakpoint }),
16
+ React.createElement(TabList, { containerClassName: containerClassName, size: size, titles: titles, selectedId: selectedId, scrollable: scrollable, collapsedTabsIds: collapsedTabsIds, onChange: onChange, dataTestId: dataTestId, defaultMatchMediaValue: defaultMatchMediaValue, fullWidthScroll: fullWidthScroll, breakpoint: breakpoint, tagShape: tagShape, tagView: tagView }),
17
17
  tabs.map((tab) => cloneElement(tab, { hidden: tab.props.id !== selectedId }))));
18
18
  };
19
19
 
@@ -1,6 +1,6 @@
1
1
  /// <reference types="react" />
2
2
  import React from 'react';
3
3
  import { TabsProps } from "../../typings";
4
- type TabsMobileProps = Omit<TabsProps, 'TabList' | 'size' | 'collapsedTabsIds'>;
4
+ type TabsMobileProps = Omit<TabsProps, 'TabList' | 'collapsedTabsIds'>;
5
5
  declare const TabsMobile: ({ view, scrollable, ...restProps }: TabsMobileProps) => React.JSX.Element;
6
6
  export { TabsMobileProps, TabsMobile };
@@ -9,12 +9,17 @@ import '../../hooks/use-tabs.js';
9
9
  import '@alfalab/core-components-shared/modern';
10
10
  import '../scrollable-container/Component.js';
11
11
  import 'compute-scroll-into-view';
12
+ import '../scroll-controls/Component.js';
13
+ import 'lodash.debounce';
14
+ import '@alfalab/core-components-icon-button/modern';
15
+ import '@alfalab/icons-glyph/ChevronLeftMIcon';
16
+ import '@alfalab/icons-glyph/ChevronRightMIcon';
17
+ import '../scroll-controls/utils.js';
12
18
  import '../title/Component.js';
13
- import '../../index.module-5aa4033e.js';
14
- import '../../mobile.module-47eb0ef0.js';
19
+ import '../../index.module-22ff4191.js';
15
20
  import '@alfalab/core-components-tag/modern/mobile';
16
21
  import '../secondary-tablist/Component.js';
17
- import '../../index.module-2a3e44bc.js';
22
+ import '../../index.module-3f8f9d5d.js';
18
23
 
19
24
  const views = {
20
25
  primary: PrimaryTabListMobile,
@@ -11,14 +11,19 @@ import '../../hooks/use-tabs.js';
11
11
  import '@alfalab/core-components-shared/modern';
12
12
  import '../scrollable-container/Component.js';
13
13
  import 'compute-scroll-into-view';
14
+ import '../scroll-controls/Component.js';
15
+ import 'lodash.debounce';
16
+ import '@alfalab/core-components-icon-button/modern';
17
+ import '@alfalab/icons-glyph/ChevronLeftMIcon';
18
+ import '@alfalab/icons-glyph/ChevronRightMIcon';
19
+ import '../scroll-controls/utils.js';
14
20
  import '../title/Component.js';
15
- import '../../index.module-5aa4033e.js';
21
+ import '../../index.module-22ff4191.js';
16
22
  import '../primary-tablist/Component.mobile.js';
17
- import '../../mobile.module-47eb0ef0.js';
18
23
  import '../secondary-tablist/Component.desktop.js';
19
24
  import '@alfalab/core-components-tag/modern/desktop';
20
25
  import '../secondary-tablist/Component.js';
21
- import '../../index.module-2a3e44bc.js';
26
+ import '../../index.module-3f8f9d5d.js';
22
27
  import '../secondary-tablist/Component.mobile.js';
23
28
  import '@alfalab/core-components-tag/modern/mobile';
24
29
 
package/modern/desktop.js CHANGED
@@ -10,9 +10,15 @@ import './hooks/use-tabs.js';
10
10
  import '@alfalab/core-components-shared/modern';
11
11
  import './components/scrollable-container/Component.js';
12
12
  import 'compute-scroll-into-view';
13
+ import './components/scroll-controls/Component.js';
14
+ import 'lodash.debounce';
15
+ import '@alfalab/core-components-icon-button/modern';
16
+ import '@alfalab/icons-glyph/ChevronLeftMIcon';
17
+ import '@alfalab/icons-glyph/ChevronRightMIcon';
18
+ import './components/scroll-controls/utils.js';
13
19
  import './components/title/Component.js';
14
- import './index.module-5aa4033e.js';
20
+ import './index.module-22ff4191.js';
15
21
  import '@alfalab/core-components-tag/modern/desktop';
16
22
  import './components/secondary-tablist/Component.js';
17
- import './index.module-2a3e44bc.js';
23
+ import './index.module-3f8f9d5d.js';
18
24
  import './components/tabs/Component.js';
@@ -137,5 +137,4 @@ type NavigationBarProps = {
137
137
  declare const NavigationBar: React.ForwardRefExoticComponent<NavigationBarProps & React.RefAttributes<HTMLDivElement>>;
138
138
  export { NavigationBar };
139
139
  export * from "./Component-63dec22f";
140
- export * from "./Component-8b2c2707";
141
140
  export type { NavigationBarProps };
@@ -269,9 +269,13 @@ type BottomSheetProps = {
269
269
  */
270
270
  onOffsetChange?: (offset: number, percent: number) => void;
271
271
  /**
272
- * Вызывается для событий touchend and mouseup.
272
+ * Вызывается в начале свайпа
273
273
  */
274
- onTouchEnd?: (event: HandledEvents) => void;
274
+ onSwipeStart?: (event: HandledEvents) => void;
275
+ /**
276
+ * Вызывается после окончания свайпа
277
+ */
278
+ onSwipeEnd?: (event: HandledEvents | null) => void;
275
279
  };
276
280
  declare const BottomSheet: React.ForwardRefExoticComponent<BottomSheetProps & React.RefAttributes<HTMLDivElement>>;
277
281
  declare const TIMEOUT = 500;
package/modern/index.js CHANGED
@@ -12,14 +12,19 @@ import './hooks/use-tabs.js';
12
12
  import '@alfalab/core-components-shared/modern';
13
13
  import './components/scrollable-container/Component.js';
14
14
  import 'compute-scroll-into-view';
15
+ import './components/scroll-controls/Component.js';
16
+ import 'lodash.debounce';
17
+ import '@alfalab/core-components-icon-button/modern';
18
+ import '@alfalab/icons-glyph/ChevronLeftMIcon';
19
+ import '@alfalab/icons-glyph/ChevronRightMIcon';
20
+ import './components/scroll-controls/utils.js';
15
21
  import './components/title/Component.js';
16
- import './index.module-5aa4033e.js';
22
+ import './index.module-22ff4191.js';
17
23
  import './components/primary-tablist/Component.mobile.js';
18
- import './mobile.module-47eb0ef0.js';
19
24
  import './components/secondary-tablist/Component.desktop.js';
20
25
  import '@alfalab/core-components-tag/modern/desktop';
21
26
  import './components/secondary-tablist/Component.js';
22
- import './index.module-2a3e44bc.js';
27
+ import './index.module-3f8f9d5d.js';
23
28
  import './components/secondary-tablist/Component.mobile.js';
24
29
  import '@alfalab/core-components-tag/modern/mobile';
25
30
  import './components/tabs/Component.js';
@@ -0,0 +1,4 @@
1
+ const commonStyles = {"component":"tabs__component_1u3uq","fullWidthScroll":"tabs__fullWidthScroll_1u3uq","container":"tabs__container_1u3uq","title":"tabs__title_1u3uq","disabled":"tabs__disabled_1u3uq","focused":"tabs__focused_1u3uq","collapsed":"tabs__collapsed_1u3uq","selected":"tabs__selected_1u3uq","line":"tabs__line_1u3uq","option":"tabs__option_1u3uq","s":"tabs__s_1u3uq","xs":"tabs__xs_1u3uq","xxs":"tabs__xxs_1u3uq","pickerWrapper":"tabs__pickerWrapper_1u3uq","m":"tabs__m_1u3uq","l":"tabs__l_1u3uq","xl":"tabs__xl_1u3uq","rightAddons":"tabs__rightAddons_1u3uq"};
2
+ require('./components/primary-tablist/index.css')
3
+
4
+ export { commonStyles as c };
@@ -0,0 +1,4 @@
1
+ const commonStyles = {"component":"tabs__component_tc0jp","fullWidthScroll":"tabs__fullWidthScroll_tc0jp","container":"tabs__container_tc0jp","title":"tabs__title_tc0jp","xxs":"tabs__xxs_tc0jp","xs":"tabs__xs_tc0jp","s":"tabs__s_tc0jp","m":"tabs__m_tc0jp","l":"tabs__l_tc0jp","xl":"tabs__xl_tc0jp"};
2
+ require('./components/secondary-tablist/index.css')
3
+
4
+ export { commonStyles as c };
package/modern/mobile.js CHANGED
@@ -10,10 +10,15 @@ import './hooks/use-tabs.js';
10
10
  import '@alfalab/core-components-shared/modern';
11
11
  import './components/scrollable-container/Component.js';
12
12
  import 'compute-scroll-into-view';
13
+ import './components/scroll-controls/Component.js';
14
+ import 'lodash.debounce';
15
+ import '@alfalab/core-components-icon-button/modern';
16
+ import '@alfalab/icons-glyph/ChevronLeftMIcon';
17
+ import '@alfalab/icons-glyph/ChevronRightMIcon';
18
+ import './components/scroll-controls/utils.js';
13
19
  import './components/title/Component.js';
14
- import './index.module-5aa4033e.js';
15
- import './mobile.module-47eb0ef0.js';
20
+ import './index.module-22ff4191.js';
16
21
  import '@alfalab/core-components-tag/modern/mobile';
17
22
  import './components/secondary-tablist/Component.js';
18
- import './index.module-2a3e44bc.js';
23
+ import './index.module-3f8f9d5d.js';
19
24
  import './components/tabs/Component.js';
package/modern/shared.js CHANGED
@@ -4,6 +4,12 @@ export { useCollapsibleElements } from './hooks/use-collapsible-elements.js';
4
4
  import 'react';
5
5
  import 'classnames';
6
6
  import 'compute-scroll-into-view';
7
+ import './components/scroll-controls/Component.js';
8
+ import 'lodash.debounce';
9
+ import '@alfalab/core-components-icon-button/modern';
10
+ import '@alfalab/icons-glyph/ChevronLeftMIcon';
11
+ import '@alfalab/icons-glyph/ChevronRightMIcon';
12
+ import './components/scroll-controls/utils.js';
7
13
  import '@alfalab/core-components-shared/modern';
8
14
  import '@juggle/resize-observer';
9
15
  import '@alfalab/hooks';
@@ -69,6 +69,14 @@ type TabsProps = {
69
69
  * @default 1024
70
70
  */
71
71
  breakpoint?: number;
72
+ /**
73
+ * Форма тега (для view secondary только)
74
+ */
75
+ tagShape?: TagProps['shape'];
76
+ /**
77
+ * Стиль тега (для view secondary только)
78
+ */
79
+ tagView?: TagProps['view'];
72
80
  };
73
81
  type TabProps = {
74
82
  /**
@@ -123,7 +131,7 @@ type TabListTitle = {
123
131
  collapsed?: boolean;
124
132
  dataTestId?: string;
125
133
  };
126
- type TabListProps = Pick<TabsProps, 'className' | 'containerClassName' | 'size' | 'defaultMatchMediaValue' | 'selectedId' | 'scrollable' | 'collapsedTabsIds' | 'onChange' | 'dataTestId' | 'fullWidthScroll'> & {
134
+ type TabListProps = Pick<TabsProps, 'className' | 'containerClassName' | 'size' | 'defaultMatchMediaValue' | 'selectedId' | 'scrollable' | 'collapsedTabsIds' | 'onChange' | 'dataTestId' | 'fullWidthScroll' | 'tagShape' | 'tagView'> & {
127
135
  /**
128
136
  * Заголовки табов
129
137
  */
@@ -144,4 +152,7 @@ type Styles = {
144
152
  [key: string]: string;
145
153
  };
146
154
  };
147
- export { SelectedId, TabsProps, TabProps, TabListTitle, TabListProps, SecondaryTabListProps, UseTabsProps, Styles };
155
+ type PlatformProps = {
156
+ platform: 'desktop' | 'mobile';
157
+ };
158
+ export { SelectedId, TabsProps, TabProps, TabListTitle, TabListProps, SecondaryTabListProps, UseTabsProps, Styles, PlatformProps };