@alfalab/core-components-tabs 7.1.1 → 7.2.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 (222) hide show
  1. package/components/primary-tablist/Component.d.ts +2 -4
  2. package/components/primary-tablist/Component.desktop.js +12 -4
  3. package/components/primary-tablist/Component.js +42 -21
  4. package/components/primary-tablist/Component.mobile.d.ts +1 -1
  5. package/components/primary-tablist/Component.mobile.js +13 -5
  6. package/components/primary-tablist/Component.responsive.d.ts +1 -1
  7. package/components/primary-tablist/Component.responsive.js +14 -7
  8. package/components/primary-tablist/index.css +53 -22
  9. package/components/primary-tablist/mobile.css +99 -69
  10. package/components/scrollable-container/Component.d.ts +1 -1
  11. package/components/scrollable-container/Component.js +4 -2
  12. package/components/scrollable-container/index.css +5 -5
  13. package/components/secondary-tablist/Component.d.ts +2 -6
  14. package/components/secondary-tablist/Component.desktop.d.ts +1 -1
  15. package/components/secondary-tablist/Component.desktop.js +3 -3
  16. package/components/secondary-tablist/Component.js +3 -3
  17. package/components/secondary-tablist/Component.mobile.d.ts +1 -1
  18. package/components/secondary-tablist/Component.mobile.js +4 -4
  19. package/components/secondary-tablist/Component.responsive.js +4 -4
  20. package/components/secondary-tablist/index.css +11 -11
  21. package/components/secondary-tablist/mobile.css +65 -57
  22. package/components/tab/Component.js +1 -1
  23. package/components/tab/index.css +3 -3
  24. package/components/tabs/Component.d.ts +1 -1
  25. package/components/tabs/Component.desktop.d.ts +1 -1
  26. package/components/tabs/Component.desktop.js +13 -5
  27. package/components/tabs/Component.js +2 -2
  28. package/components/tabs/Component.mobile.d.ts +2 -2
  29. package/components/tabs/Component.mobile.js +13 -5
  30. package/components/tabs/Component.responsive.d.ts +1 -1
  31. package/components/tabs/Component.responsive.js +13 -6
  32. package/components/title/Component.d.ts +8 -0
  33. package/components/title/Component.js +27 -0
  34. package/components/title/index.d.ts +1 -0
  35. package/components/title/index.js +12 -0
  36. package/cssm/components/primary-tablist/Component.d.ts +2 -4
  37. package/cssm/components/primary-tablist/Component.desktop.js +11 -3
  38. package/cssm/components/primary-tablist/Component.js +42 -21
  39. package/cssm/components/primary-tablist/Component.mobile.d.ts +1 -1
  40. package/cssm/components/primary-tablist/Component.mobile.js +11 -3
  41. package/cssm/components/primary-tablist/Component.responsive.d.ts +1 -1
  42. package/cssm/components/primary-tablist/Component.responsive.js +13 -6
  43. package/cssm/components/primary-tablist/index.module.css +33 -2
  44. package/cssm/components/scrollable-container/Component.d.ts +1 -1
  45. package/cssm/components/scrollable-container/Component.js +3 -1
  46. package/cssm/components/secondary-tablist/Component.d.ts +2 -6
  47. package/cssm/components/secondary-tablist/Component.desktop.d.ts +1 -1
  48. package/cssm/components/secondary-tablist/Component.desktop.js +2 -2
  49. package/cssm/components/secondary-tablist/Component.js +3 -3
  50. package/cssm/components/secondary-tablist/Component.mobile.d.ts +1 -1
  51. package/cssm/components/secondary-tablist/Component.mobile.js +2 -2
  52. package/cssm/components/secondary-tablist/Component.responsive.js +3 -3
  53. package/cssm/components/tabs/Component.d.ts +1 -1
  54. package/cssm/components/tabs/Component.desktop.d.ts +1 -1
  55. package/cssm/components/tabs/Component.desktop.js +11 -3
  56. package/cssm/components/tabs/Component.js +2 -2
  57. package/cssm/components/tabs/Component.mobile.d.ts +2 -2
  58. package/cssm/components/tabs/Component.mobile.js +11 -3
  59. package/cssm/components/tabs/Component.responsive.d.ts +1 -1
  60. package/cssm/components/tabs/Component.responsive.js +11 -4
  61. package/cssm/components/title/Component.d.ts +8 -0
  62. package/cssm/components/title/Component.js +27 -0
  63. package/cssm/components/title/index.d.ts +1 -0
  64. package/cssm/components/title/index.js +12 -0
  65. package/cssm/desktop.d.ts +2 -1
  66. package/cssm/desktop.js +13 -4
  67. package/cssm/hooks/use-collapsible-elements.d.ts +8 -0
  68. package/cssm/hooks/use-collapsible-elements.js +56 -0
  69. package/cssm/hooks/use-tablist-titles.d.ts +28 -0
  70. package/cssm/hooks/use-tablist-titles.js +45 -0
  71. package/{esm/useTabs.d.ts → cssm/hooks/use-tabs.d.ts} +1 -1
  72. package/cssm/{useTabs.js → hooks/use-tabs.js} +0 -0
  73. package/cssm/index.d.ts +1 -1
  74. package/cssm/index.js +12 -5
  75. package/cssm/mobile.d.ts +1 -1
  76. package/cssm/mobile.js +12 -4
  77. package/cssm/responsive.d.ts +2 -1
  78. package/cssm/responsive.js +13 -5
  79. package/cssm/synthetic-events.d.ts +6 -0
  80. package/cssm/synthetic-events.js +47 -0
  81. package/cssm/{tslib.es6-ce870b46.d.ts → tslib.es6-0857346e.d.ts} +8 -4
  82. package/cssm/{tslib.es6-ce870b46.js → tslib.es6-0857346e.js} +13 -1
  83. package/cssm/typings.d.ts +13 -2
  84. package/desktop.d.ts +2 -1
  85. package/desktop.js +15 -6
  86. package/esm/components/primary-tablist/Component.d.ts +2 -4
  87. package/esm/components/primary-tablist/Component.desktop.js +12 -4
  88. package/esm/components/primary-tablist/Component.js +43 -22
  89. package/esm/components/primary-tablist/Component.mobile.d.ts +1 -1
  90. package/esm/components/primary-tablist/Component.mobile.js +13 -5
  91. package/esm/components/primary-tablist/Component.responsive.d.ts +1 -1
  92. package/esm/components/primary-tablist/Component.responsive.js +14 -7
  93. package/esm/components/primary-tablist/index.css +53 -22
  94. package/esm/components/primary-tablist/mobile.css +99 -69
  95. package/esm/components/scrollable-container/Component.d.ts +1 -1
  96. package/esm/components/scrollable-container/Component.js +4 -2
  97. package/esm/components/scrollable-container/index.css +5 -5
  98. package/esm/components/secondary-tablist/Component.d.ts +2 -6
  99. package/esm/components/secondary-tablist/Component.desktop.d.ts +1 -1
  100. package/esm/components/secondary-tablist/Component.desktop.js +3 -3
  101. package/esm/components/secondary-tablist/Component.js +2 -2
  102. package/esm/components/secondary-tablist/Component.mobile.d.ts +1 -1
  103. package/esm/components/secondary-tablist/Component.mobile.js +4 -4
  104. package/esm/components/secondary-tablist/Component.responsive.js +4 -4
  105. package/esm/components/secondary-tablist/index.css +11 -11
  106. package/esm/components/secondary-tablist/mobile.css +65 -57
  107. package/esm/components/tab/Component.js +1 -1
  108. package/esm/components/tab/index.css +3 -3
  109. package/esm/components/tabs/Component.d.ts +1 -1
  110. package/esm/components/tabs/Component.desktop.d.ts +1 -1
  111. package/esm/components/tabs/Component.desktop.js +13 -5
  112. package/esm/components/tabs/Component.js +2 -2
  113. package/esm/components/tabs/Component.mobile.d.ts +2 -2
  114. package/esm/components/tabs/Component.mobile.js +13 -5
  115. package/esm/components/tabs/Component.responsive.d.ts +1 -1
  116. package/esm/components/tabs/Component.responsive.js +13 -6
  117. package/esm/components/title/Component.d.ts +8 -0
  118. package/esm/components/title/Component.js +18 -0
  119. package/esm/components/title/index.d.ts +1 -0
  120. package/esm/components/title/index.js +4 -0
  121. package/esm/desktop.d.ts +2 -1
  122. package/esm/desktop.js +13 -5
  123. package/esm/hooks/use-collapsible-elements.d.ts +8 -0
  124. package/esm/hooks/use-collapsible-elements.js +52 -0
  125. package/esm/hooks/use-tablist-titles.d.ts +28 -0
  126. package/esm/hooks/use-tablist-titles.js +41 -0
  127. package/{modern/useTabs.d.ts → esm/hooks/use-tabs.d.ts} +1 -1
  128. package/esm/{useTabs.js → hooks/use-tabs.js} +0 -0
  129. package/esm/index.d.ts +1 -1
  130. package/esm/index.js +13 -6
  131. package/esm/index.module-01d292c0.js +4 -0
  132. package/esm/index.module-16a12061.js +4 -0
  133. package/esm/mobile.d.ts +1 -1
  134. package/esm/mobile.js +13 -5
  135. package/esm/responsive.d.ts +2 -1
  136. package/esm/responsive.js +13 -6
  137. package/esm/synthetic-events.d.ts +6 -0
  138. package/esm/synthetic-events.js +41 -0
  139. package/{tslib.es6-fcb75541.d.ts → esm/tslib.es6-e74e5c93.d.ts} +8 -4
  140. package/esm/{tslib.es6-444ae64e.js → tslib.es6-e74e5c93.js} +13 -2
  141. package/esm/typings.d.ts +13 -2
  142. package/hooks/use-collapsible-elements.d.ts +8 -0
  143. package/hooks/use-collapsible-elements.js +56 -0
  144. package/hooks/use-tablist-titles.d.ts +28 -0
  145. package/hooks/use-tablist-titles.js +45 -0
  146. package/{cssm/useTabs.d.ts → hooks/use-tabs.d.ts} +1 -1
  147. package/{useTabs.js → hooks/use-tabs.js} +0 -0
  148. package/index.d.ts +1 -1
  149. package/index.js +14 -7
  150. package/index.module-370f6bd7.js +6 -0
  151. package/index.module-872dcef9.js +6 -0
  152. package/mobile.d.ts +1 -1
  153. package/mobile.js +14 -6
  154. package/modern/components/primary-tablist/Component.d.ts +2 -4
  155. package/modern/components/primary-tablist/Component.desktop.js +12 -4
  156. package/modern/components/primary-tablist/Component.js +38 -17
  157. package/modern/components/primary-tablist/Component.mobile.d.ts +1 -1
  158. package/modern/components/primary-tablist/Component.mobile.js +13 -5
  159. package/modern/components/primary-tablist/Component.responsive.d.ts +1 -1
  160. package/modern/components/primary-tablist/Component.responsive.js +13 -6
  161. package/modern/components/primary-tablist/index.css +53 -22
  162. package/modern/components/primary-tablist/mobile.css +99 -69
  163. package/modern/components/scrollable-container/Component.d.ts +1 -1
  164. package/modern/components/scrollable-container/Component.js +4 -2
  165. package/modern/components/scrollable-container/index.css +5 -5
  166. package/modern/components/secondary-tablist/Component.d.ts +2 -6
  167. package/modern/components/secondary-tablist/Component.desktop.d.ts +1 -1
  168. package/modern/components/secondary-tablist/Component.desktop.js +3 -3
  169. package/modern/components/secondary-tablist/Component.js +2 -2
  170. package/modern/components/secondary-tablist/Component.mobile.d.ts +1 -1
  171. package/modern/components/secondary-tablist/Component.mobile.js +4 -4
  172. package/modern/components/secondary-tablist/Component.responsive.js +4 -4
  173. package/modern/components/secondary-tablist/index.css +11 -11
  174. package/modern/components/secondary-tablist/mobile.css +65 -57
  175. package/modern/components/tab/Component.js +1 -1
  176. package/modern/components/tab/index.css +3 -3
  177. package/modern/components/tabs/Component.d.ts +1 -1
  178. package/modern/components/tabs/Component.desktop.d.ts +1 -1
  179. package/modern/components/tabs/Component.desktop.js +13 -5
  180. package/modern/components/tabs/Component.js +4 -4
  181. package/modern/components/tabs/Component.mobile.d.ts +2 -2
  182. package/modern/components/tabs/Component.mobile.js +13 -5
  183. package/modern/components/tabs/Component.responsive.d.ts +1 -1
  184. package/modern/components/tabs/Component.responsive.js +13 -6
  185. package/modern/components/title/Component.d.ts +8 -0
  186. package/modern/components/title/Component.js +13 -0
  187. package/modern/components/title/index.d.ts +1 -0
  188. package/modern/components/title/index.js +3 -0
  189. package/modern/desktop.d.ts +2 -1
  190. package/modern/desktop.js +12 -4
  191. package/modern/hooks/use-collapsible-elements.d.ts +8 -0
  192. package/modern/hooks/use-collapsible-elements.js +50 -0
  193. package/modern/hooks/use-tablist-titles.d.ts +28 -0
  194. package/modern/hooks/use-tablist-titles.js +40 -0
  195. package/{useTabs.d.ts → modern/hooks/use-tabs.d.ts} +1 -1
  196. package/modern/{useTabs.js → hooks/use-tabs.js} +3 -3
  197. package/modern/index.d.ts +1 -1
  198. package/modern/index.js +12 -5
  199. package/modern/index.module-01d292c0.js +4 -0
  200. package/modern/index.module-16a12061.js +4 -0
  201. package/modern/mobile.d.ts +1 -1
  202. package/modern/mobile.js +12 -4
  203. package/modern/responsive.d.ts +2 -1
  204. package/modern/responsive.js +12 -5
  205. package/modern/synthetic-events.d.ts +6 -0
  206. package/modern/synthetic-events.js +61 -0
  207. package/modern/typings.d.ts +13 -2
  208. package/package.json +7 -4
  209. package/responsive.d.ts +2 -1
  210. package/responsive.js +15 -7
  211. package/send-stats.js +1 -1
  212. package/synthetic-events.d.ts +6 -0
  213. package/synthetic-events.js +47 -0
  214. package/{esm/tslib.es6-444ae64e.d.ts → tslib.es6-cbc5fb87.d.ts} +8 -4
  215. package/{tslib.es6-fcb75541.js → tslib.es6-cbc5fb87.js} +13 -1
  216. package/typings.d.ts +13 -2
  217. package/esm/index.module-17321b1b.js +0 -4
  218. package/esm/index.module-198d371d.js +0 -4
  219. package/index.module-3530e300.js +0 -6
  220. package/index.module-c424649c.js +0 -6
  221. package/modern/index.module-17321b1b.js +0 -4
  222. package/modern/index.module-198d371d.js +0 -4
@@ -1,4 +1,4 @@
1
- /* hash: 1qbr7 */
1
+ /* hash: 12r8b */
2
2
  :root {
3
3
  }:root {
4
4
  }:root {
@@ -49,26 +49,26 @@
49
49
 
50
50
  /* size xl */
51
51
  --secondary-tablist-xl-gaps: var(--gap-m);
52
- }.tabs__component_1pnpi {
52
+ }.tabs__component_1y9yr {
53
53
  position: relative;
54
54
  display: inline-flex;
55
- }.tabs__fullWidthScroll_1pnpi {
55
+ }.tabs__fullWidthScroll_1y9yr {
56
56
  margin: 0 var(--gap-m);
57
- }.tabs__container_1pnpi {
57
+ }.tabs__container_1y9yr {
58
58
  overflow: hidden;
59
- }.tabs__title_1pnpi {
59
+ }.tabs__title_1y9yr {
60
60
  white-space: nowrap;
61
- }/* sizes */.tabs__xxs_1pnpi .tabs__title_1pnpi + .tabs__title_1pnpi {
61
+ }/* sizes */.tabs__xxs_1y9yr .tabs__title_1y9yr + .tabs__title_1y9yr {
62
62
  margin-left: var(--secondary-tablist-xxs-gaps);
63
- }.tabs__xs_1pnpi .tabs__title_1pnpi + .tabs__title_1pnpi {
63
+ }.tabs__xs_1y9yr .tabs__title_1y9yr + .tabs__title_1y9yr {
64
64
  margin-left: var(--secondary-tablist-xs-gaps);
65
- }.tabs__s_1pnpi .tabs__title_1pnpi + .tabs__title_1pnpi {
65
+ }.tabs__s_1y9yr .tabs__title_1y9yr + .tabs__title_1y9yr {
66
66
  margin-left: var(--secondary-tablist-s-gaps);
67
- }.tabs__m_1pnpi .tabs__title_1pnpi + .tabs__title_1pnpi {
67
+ }.tabs__m_1y9yr .tabs__title_1y9yr + .tabs__title_1y9yr {
68
68
  margin-left: var(--secondary-tablist-m-gaps);
69
- }.tabs__l_1pnpi .tabs__title_1pnpi + .tabs__title_1pnpi {
69
+ }.tabs__l_1y9yr .tabs__title_1y9yr + .tabs__title_1y9yr {
70
70
  margin-left: var(--secondary-tablist-l-gaps);
71
- }.tabs__xl_1pnpi .tabs__title_1pnpi + .tabs__title_1pnpi {
71
+ }.tabs__xl_1y9yr .tabs__title_1y9yr + .tabs__title_1y9yr {
72
72
  margin-left: var(--secondary-tablist-xl-gaps);
73
73
  }
74
74
  :root {
@@ -287,26 +287,24 @@
287
287
  --color-dark-specialbg-overlay-fallback: #070707;
288
288
  --color-dark-specialbg-primary-grouped: #0b1f35;
289
289
  --color-dark-specialbg-secondary-grouped: #233549;
290
+ --color-dark-specialbg-secondary-transparent: rgba(255, 255, 255, 0.1);
291
+ --color-dark-specialbg-secondary-transparent-inverted: rgba(11, 31, 53, 0.05);
290
292
  --color-dark-specialbg-tertiary-grouped: #3c4c5d;
293
+ --color-dark-specialbg-tertiary-transparent: rgba(255, 255, 255, 0.2);
294
+ --color-dark-specialbg-tertiary-transparent-inverted: rgba(11, 31, 53, 0.1);
291
295
  --color-dark-text-accent: #ef3124;
292
296
  --color-dark-text-attention: #de6a00;
293
- --color-dark-text-disabled: #485767;
294
- --color-dark-text-disabled-inverted: #dbdee1;
295
- --color-dark-text-disabled-inverted-transparent: rgba(11, 31, 53, 0.15);
296
- --color-dark-text-disabled-transparent: rgba(255, 255, 255, 0.25);
297
+ --color-dark-text-disabled: rgba(255, 255, 255, 0.25);
298
+ --color-dark-text-disabled-inverted: rgba(11, 31, 53, 0.15);
297
299
  --color-dark-text-link: #007aff;
298
300
  --color-dark-text-negative: #d91d0b;
299
301
  --color-dark-text-positive: #13a463;
300
302
  --color-dark-text-primary: #fff;
301
303
  --color-dark-text-primary-inverted: #0b1f35;
302
- --color-dark-text-secondary: #b6bcc3;
303
- --color-dark-text-secondary-inverted: #546272;
304
- --color-dark-text-secondary-inverted-transparent: rgba(11, 31, 53, 0.7);
305
- --color-dark-text-secondary-transparent: rgba(255, 255, 255, 0.7);
306
- --color-dark-text-tertiary: #6d7986;
307
- --color-dark-text-tertiary-inverted: #b6bcc3;
308
- --color-dark-text-tertiary-inverted-transparent: rgba(11, 31, 53, 0.3);
309
- --color-dark-text-tertiary-transparent: rgba(255, 255, 255, 0.4);
304
+ --color-dark-text-secondary: rgba(255, 255, 255, 0.7);
305
+ --color-dark-text-secondary-inverted: rgba(11, 31, 53, 0.7);
306
+ --color-dark-text-tertiary: rgba(255, 255, 255, 0.4);
307
+ --color-dark-text-tertiary-inverted: rgba(11, 31, 53, 0.3);
310
308
  --color-light-bg-accent: #ef3124;
311
309
  --color-light-bg-attention-muted: #fff3e0;
312
310
  --color-light-bg-info: #d6e8fc;
@@ -353,26 +351,24 @@
353
351
  --color-light-specialbg-overlay-fallback: #5c5c5c;
354
352
  --color-light-specialbg-primary-grouped: #f3f4f5;
355
353
  --color-light-specialbg-secondary-grouped: #fff;
354
+ --color-light-specialbg-secondary-transparent: rgba(11, 31, 53, 0.05);
355
+ --color-light-specialbg-secondary-transparent-inverted: rgba(255, 255, 255, 0.1);
356
356
  --color-light-specialbg-tertiary-grouped: #f3f4f5;
357
+ --color-light-specialbg-tertiary-transparent: rgba(11, 31, 53, 0.1);
358
+ --color-light-specialbg-tertiary-transparent-inverted: rgba(255, 255, 255, 0.2);
357
359
  --color-light-text-accent: #ef3124;
358
360
  --color-light-text-attention: #de6a00;
359
- --color-light-text-disabled: #dbdee1;
360
- --color-light-text-disabled-inverted: #485767;
361
- --color-light-text-disabled-inverted-transparent: rgba(255, 255, 255, 0.25);
362
- --color-light-text-disabled-transparent: rgba(11, 31, 53, 0.15);
361
+ --color-light-text-disabled: rgba(11, 31, 53, 0.15);
362
+ --color-light-text-disabled-inverted: rgba(255, 255, 255, 0.25);
363
363
  --color-light-text-link: #007aff;
364
364
  --color-light-text-negative: #d91d0b;
365
365
  --color-light-text-positive: #13a463;
366
366
  --color-light-text-primary: #0b1f35;
367
367
  --color-light-text-primary-inverted: #fff;
368
- --color-light-text-secondary: #546272;
369
- --color-light-text-secondary-inverted: #b6bcc3;
370
- --color-light-text-secondary-inverted-transparent: rgba(255, 255, 255, 0.7);
371
- --color-light-text-secondary-transparent: rgba(11, 31, 53, 0.7);
372
- --color-light-text-tertiary: #b6bcc3;
373
- --color-light-text-tertiary-inverted: #6d7986;
374
- --color-light-text-tertiary-inverted-transparent: rgba(255, 255, 255, 0.4);
375
- --color-light-text-tertiary-transparent: rgba(11, 31, 53, 0.3);
368
+ --color-light-text-secondary: rgba(11, 31, 53, 0.7);
369
+ --color-light-text-secondary-inverted: rgba(255, 255, 255, 0.7);
370
+ --color-light-text-tertiary: rgba(11, 31, 53, 0.3);
371
+ --color-light-text-tertiary-inverted: rgba(255, 255, 255, 0.4);
376
372
  --color-static-bg-accent: #ef3124;
377
373
  --color-static-bg-primary-dark: #0b1f35;
378
374
  --color-static-bg-primary-light: #fff;
@@ -389,14 +385,10 @@
389
385
  --color-static-text-accent: #ef3124;
390
386
  --color-static-text-primary-dark: #0b1f35;
391
387
  --color-static-text-primary-light: #fff;
392
- --color-static-text-secondary-dark: #6d7986;
393
- --color-static-text-secondary-dark-transparent: rgba(11, 31, 53, 0.6);
394
- --color-static-text-secondary-light: #b6bcc3;
395
- --color-static-text-secondary-light-transparent: rgba(255, 255, 255, 0.7);
396
- --color-static-text-tertiary-dark: #b6bcc3;
397
- --color-static-text-tertiary-dark-transparent: rgba(11, 31, 53, 0.3);
398
- --color-static-text-tertiary-light: #6d7986;
399
- --color-static-text-tertiary-light-transparent: rgba(255, 255, 255, 0.4);
388
+ --color-static-text-secondary-dark: rgba(11, 31, 53, 0.6);
389
+ --color-static-text-secondary-light: rgba(255, 255, 255, 0.7);
390
+ --color-static-text-tertiary-dark: rgba(11, 31, 53, 0.3);
391
+ --color-static-text-tertiary-light: rgba(255, 255, 255, 0.4);
400
392
  --color-dark-bg-accent-alpha-30: rgba(239, 49, 36, 0.3);
401
393
  --color-dark-bg-accent-shade-15: rgb(203, 42, 31);
402
394
  --color-dark-bg-accent-shade-20: rgb(191, 39, 29);
@@ -513,12 +505,18 @@
513
505
  --color-dark-specialbg-component-inverted-alpha-30: rgba(11, 31, 53, 0.3);
514
506
  --color-dark-specialbg-component-inverted-shade-15: rgba(9, 26, 45, 0.2095);
515
507
  --color-dark-specialbg-component-inverted-shade-20: rgba(9, 25, 42, 0.256);
508
+ --color-dark-specialbg-tertiary-transparent-tint-7: rgba(255, 255, 255, 0.256);
509
+ --color-dark-specialbg-tertiary-transparent-tint-15: rgba(255, 255, 255, 0.32);
510
+ --color-dark-specialbg-tertiary-transparent-inverted-shade-15: rgba(9, 26, 45, 0.235);
511
+ --color-dark-specialbg-tertiary-transparent-inverted-shade-20: rgba(9, 25, 42, 0.28);
516
512
  --color-dark-text-link-shade-30: rgb(0, 85, 179);
517
513
  --color-dark-text-link-shade-50: rgb(0, 61, 128);
518
514
  --color-dark-text-link-tint-20: rgb(51, 149, 255);
519
515
  --color-dark-text-link-tint-40: rgb(102, 175, 255);
520
516
  --color-dark-text-primary-alpha-30: rgba(255, 255, 255, 0.3);
517
+ --color-dark-text-primary-shade-24: rgb(194, 194, 194);
521
518
  --color-dark-text-primary-shade-30: rgb(179, 179, 179);
519
+ --color-dark-text-primary-shade-40: rgb(153, 153, 153);
522
520
  --color-dark-text-primary-shade-50: rgb(128, 128, 128);
523
521
  --color-dark-text-primary-tint-20: rgb(255, 255, 255);
524
522
  --color-dark-text-primary-tint-40: rgb(255, 255, 255);
@@ -528,14 +526,16 @@
528
526
  --color-dark-text-primary-inverted-shade-30: rgb(8, 22, 37);
529
527
  --color-dark-text-primary-inverted-tint-7: rgb(28, 47, 67);
530
528
  --color-dark-text-primary-inverted-tint-15: rgb(48, 65, 83);
529
+ --color-dark-text-primary-inverted-tint-24: rgb(70, 85, 101);
531
530
  --color-dark-text-primary-inverted-tint-30: rgb(84, 98, 114);
531
+ --color-dark-text-primary-inverted-tint-40: rgb(109, 121, 134);
532
532
  --color-dark-text-primary-inverted-tint-50: rgb(133, 143, 154);
533
- --color-dark-text-secondary-shade-20: rgb(146, 150, 156);
534
- --color-dark-text-secondary-shade-30: rgb(127, 132, 136);
535
- --color-dark-text-secondary-tint-20: rgb(197, 201, 207);
536
- --color-dark-text-secondary-tint-40: rgb(211, 215, 219);
537
- --color-dark-text-secondary-inverted-shade-20: rgb(67, 78, 91);
538
- --color-dark-text-secondary-inverted-shade-30: rgb(59, 69, 80);
533
+ --color-dark-text-secondary-shade-20: rgba(204, 204, 204, 0.76);
534
+ --color-dark-text-secondary-shade-30: rgba(179, 179, 179, 0.79);
535
+ --color-dark-text-secondary-tint-20: rgba(255, 255, 255, 0.76);
536
+ --color-dark-text-secondary-tint-40: rgba(255, 255, 255, 0.82);
537
+ --color-dark-text-secondary-inverted-shade-20: rgba(9, 25, 42, 0.76);
538
+ --color-dark-text-secondary-inverted-shade-30: rgba(8, 22, 37, 0.79);
539
539
  --color-light-bg-accent-alpha-30: rgba(239, 49, 36, 0.3);
540
540
  --color-light-bg-accent-tint-15: rgb(241, 80, 69);
541
541
  --color-light-bg-accent-tint-20: rgb(242, 90, 80);
@@ -652,12 +652,18 @@
652
652
  --color-light-specialbg-component-inverted-alpha-30: rgba(255, 255, 255, 0.3);
653
653
  --color-light-specialbg-component-inverted-tint-15: rgba(255, 255, 255, 0.2775);
654
654
  --color-light-specialbg-component-inverted-tint-20: rgba(255, 255, 255, 0.32);
655
+ --color-light-specialbg-tertiary-transparent-shade-7: rgba(10, 29, 49, 0.163);
656
+ --color-light-specialbg-tertiary-transparent-shade-15: rgba(9, 26, 45, 0.235);
657
+ --color-light-specialbg-tertiary-transparent-inverted-tint-15: rgba(255, 255, 255, 0.32);
658
+ --color-light-specialbg-tertiary-transparent-inverted-tint-20: rgba(255, 255, 255, 0.36);
655
659
  --color-light-text-link-tint-30: rgb(77, 162, 255);
656
660
  --color-light-text-link-tint-50: rgb(128, 189, 255);
657
661
  --color-light-text-link-shade-20: rgb(0, 98, 204);
658
662
  --color-light-text-link-shade-40: rgb(0, 73, 153);
659
663
  --color-light-text-primary-alpha-30: rgba(11, 31, 53, 0.3);
664
+ --color-light-text-primary-tint-24: rgb(70, 85, 101);
660
665
  --color-light-text-primary-tint-30: rgb(84, 98, 114);
666
+ --color-light-text-primary-tint-40: rgb(109, 121, 134);
661
667
  --color-light-text-primary-tint-50: rgb(133, 143, 154);
662
668
  --color-light-text-primary-shade-20: rgb(9, 25, 42);
663
669
  --color-light-text-primary-shade-40: rgb(7, 19, 32);
@@ -667,14 +673,16 @@
667
673
  --color-light-text-primary-inverted-tint-30: rgb(255, 255, 255);
668
674
  --color-light-text-primary-inverted-shade-7: rgb(237, 237, 237);
669
675
  --color-light-text-primary-inverted-shade-15: rgb(217, 217, 217);
676
+ --color-light-text-primary-inverted-shade-24: rgb(194, 194, 194);
670
677
  --color-light-text-primary-inverted-shade-30: rgb(179, 179, 179);
678
+ --color-light-text-primary-inverted-shade-40: rgb(153, 153, 153);
671
679
  --color-light-text-primary-inverted-shade-50: rgb(128, 128, 128);
672
- --color-light-text-secondary-tint-20: rgb(118, 129, 142);
673
- --color-light-text-secondary-tint-30: rgb(135, 145, 156);
674
- --color-light-text-secondary-shade-20: rgb(67, 78, 91);
675
- --color-light-text-secondary-shade-40: rgb(50, 59, 68);
676
- --color-light-text-secondary-inverted-tint-20: rgb(197, 201, 207);
677
- --color-light-text-secondary-inverted-tint-30: rgb(204, 208, 213);
680
+ --color-light-text-secondary-tint-20: rgba(60, 76, 93, 0.76);
681
+ --color-light-text-secondary-tint-30: rgba(84, 98, 114, 0.79);
682
+ --color-light-text-secondary-shade-20: rgba(9, 25, 42, 0.76);
683
+ --color-light-text-secondary-shade-40: rgba(7, 19, 32, 0.82);
684
+ --color-light-text-secondary-inverted-tint-20: rgba(255, 255, 255, 0.76);
685
+ --color-light-text-secondary-inverted-tint-30: rgba(255, 255, 255, 0.79);
678
686
  --color-static-bg-primary-dark-alpha-10: rgba(11, 31, 53, 0.1);
679
687
  --color-static-bg-primary-dark-alpha-20: rgba(11, 31, 53, 0.2);
680
688
  --color-static-text-primary-light-alpha-30: rgba(255, 255, 255, 0.3);
@@ -871,8 +879,8 @@
871
879
  /* size xl */
872
880
  --secondary-tablist-xl-gaps: var(--gap-m);
873
881
  }
874
- .tabs__title_144r8 {
882
+ .tabs__title_r1ggh {
875
883
  }
876
- .tabs__mobile_144r8 .tabs__title_144r8 + .tabs__title_144r8 {
884
+ .tabs__mobile_r1ggh .tabs__title_r1ggh + .tabs__title_r1ggh {
877
885
  margin-left: var(--secondary-tablist-mobile-gaps);
878
886
  }
@@ -10,7 +10,7 @@ function _interopDefaultLegacy (e) { return e && typeof e === 'object' && 'defau
10
10
  var React__default = /*#__PURE__*/_interopDefaultLegacy(React);
11
11
  var cn__default = /*#__PURE__*/_interopDefaultLegacy(cn);
12
12
 
13
- var styles = {"component":"tabs__component_f2e5v","hidden":"tabs__hidden_f2e5v"};
13
+ var styles = {"component":"tabs__component_pdmvf","hidden":"tabs__hidden_pdmvf"};
14
14
  require('./index.css')
15
15
 
16
16
  var Tab = function (_a) {
@@ -1,8 +1,8 @@
1
- /* hash: 4dcky */
2
- .tabs__component_f2e5v {
1
+ /* hash: rxvh2 */
2
+ .tabs__component_pdmvf {
3
3
  outline: none;
4
4
  }
5
5
 
6
- .tabs__hidden_f2e5v {
6
+ .tabs__hidden_pdmvf {
7
7
  display: none;
8
8
  }
@@ -1,4 +1,4 @@
1
1
  /// <reference types="react" />
2
2
  import { TabsProps } from "../../typings";
3
- declare const Tabs: ({ TabList, className, containerClassName, size, defaultMatch, children, selectedId, scrollable, fullWidthScroll, keepMounted, dataTestId, onChange, }: Pick<TabsProps, "children" | "className" | "onChange" | "size" | "dataTestId" | "mobile" | "containerClassName" | "defaultMatch" | "selectedId" | "scrollable" | "fullWidthScroll" | "keepMounted" | "TabList">) => JSX.Element;
3
+ declare const Tabs: ({ TabList, className, containerClassName, size, defaultMatch, children, selectedId, scrollable, collapsible, fullWidthScroll, keepMounted, dataTestId, onChange, }: Omit<TabsProps, 'view'>) => JSX.Element;
4
4
  export { Tabs };
@@ -1,5 +1,5 @@
1
1
  /// <reference types="react" />
2
2
  import { TabsProps } from "../../typings";
3
3
  type TabsDesktopProps = Omit<TabsProps, 'TabList' | 'fullWidthScroll'>;
4
- declare const TabsDesktop: ({ view, scrollable, size, ...restProps }: Pick<TabsProps, "children" | "className" | "onChange" | "size" | "dataTestId" | "view" | "mobile" | "containerClassName" | "defaultMatch" | "selectedId" | "scrollable" | "keepMounted">) => JSX.Element;
4
+ declare const TabsDesktop: ({ view, scrollable, size, ...restProps }: TabsDesktopProps) => JSX.Element;
5
5
  export { TabsDesktopProps, TabsDesktop };
@@ -2,19 +2,27 @@
2
2
 
3
3
  Object.defineProperty(exports, '__esModule', { value: true });
4
4
 
5
- var tslib_es6 = require('../../tslib.es6-fcb75541.js');
5
+ var tslib_es6 = require('../../tslib.es6-cbc5fb87.js');
6
6
  var React = require('react');
7
- require('@alfalab/core-components-keyboard-focusable');
8
7
  require('classnames');
8
+ require('@alfalab/core-components/picker-button/desktop');
9
+ require('@alfalab/core-components-badge');
10
+ require('@alfalab/core-components-keyboard-focusable');
11
+ require('@alfalab/hooks');
12
+ require('@juggle/resize-observer');
13
+ require('../../hooks/use-collapsible-elements.js');
14
+ require('../../hooks/use-tabs.js');
15
+ require('../../hooks/use-tablist-titles.js');
16
+ require('../../synthetic-events.js');
9
17
  require('compute-scroll-into-view');
10
18
  require('../scrollable-container/Component.js');
11
- require('../../useTabs.js');
19
+ require('../title/Component.js');
12
20
  require('../primary-tablist/Component.js');
13
- require('../../index.module-c424649c.js');
21
+ require('../../index.module-370f6bd7.js');
14
22
  var components_primaryTablist_Component_desktop = require('../primary-tablist/Component.desktop.js');
15
23
  require('@alfalab/core-components-tag');
16
24
  require('../secondary-tablist/Component.js');
17
- require('../../index.module-3530e300.js');
25
+ require('../../index.module-872dcef9.js');
18
26
  var components_secondaryTablist_Component_desktop = require('../secondary-tablist/Component.desktop.js');
19
27
  var components_tabs_Component = require('./Component.js');
20
28
 
@@ -9,7 +9,7 @@ function _interopDefaultLegacy (e) { return e && typeof e === 'object' && 'defau
9
9
  var React__default = /*#__PURE__*/_interopDefaultLegacy(React);
10
10
 
11
11
  var Tabs = function (_a) {
12
- var TabList = _a.TabList, className = _a.className, containerClassName = _a.containerClassName, size = _a.size, defaultMatch = _a.defaultMatch, children = _a.children, selectedId = _a.selectedId, scrollable = _a.scrollable, _b = _a.fullWidthScroll, fullWidthScroll = _b === void 0 ? false : _b, _c = _a.keepMounted, keepMounted = _c === void 0 ? false : _c, dataTestId = _a.dataTestId, onChange = _a.onChange;
12
+ var TabList = _a.TabList, className = _a.className, containerClassName = _a.containerClassName, size = _a.size, defaultMatch = _a.defaultMatch, children = _a.children, selectedId = _a.selectedId, scrollable = _a.scrollable, collapsible = _a.collapsible, _b = _a.fullWidthScroll, fullWidthScroll = _b === void 0 ? false : _b, _c = _a.keepMounted, keepMounted = _c === void 0 ? false : _c, dataTestId = _a.dataTestId, onChange = _a.onChange;
13
13
  var tabsArray = React__default['default'].Children.toArray(children);
14
14
  var titles = tabsArray.map(function (_a) {
15
15
  var _b = _a.props, title = _b.title, id = _b.id, rightAddons = _b.rightAddons, disabled = _b.disabled, hidden = _b.hidden, toggleClassName = _b.toggleClassName;
@@ -24,7 +24,7 @@ var Tabs = function (_a) {
24
24
  });
25
25
  var tabs = tabsArray.filter(function (tab) { return tab.props.id === selectedId || tab.props.keepMounted || keepMounted; });
26
26
  return (React__default['default'].createElement("div", { className: className },
27
- React__default['default'].createElement(TabList, { containerClassName: containerClassName, size: size, titles: titles, selectedId: selectedId, scrollable: scrollable, onChange: onChange, dataTestId: dataTestId, defaultMatch: defaultMatch, fullWidthScroll: fullWidthScroll }),
27
+ React__default['default'].createElement(TabList, { containerClassName: containerClassName, size: size, titles: titles, selectedId: selectedId, scrollable: scrollable, collapsible: collapsible, onChange: onChange, dataTestId: dataTestId, defaultMatch: defaultMatch, fullWidthScroll: fullWidthScroll }),
28
28
  tabs.map(function (tab) { return React.cloneElement(tab, { hidden: tab.props.id !== selectedId }); })));
29
29
  };
30
30
 
@@ -1,5 +1,5 @@
1
1
  /// <reference types="react" />
2
2
  import { TabsProps } from "../../typings";
3
- type TabsMobileProps = Omit<TabsProps, 'TabList' | 'size'>;
4
- declare const TabsMobile: ({ view, scrollable, ...restProps }: Pick<TabsProps, "children" | "className" | "onChange" | "dataTestId" | "view" | "mobile" | "containerClassName" | "defaultMatch" | "selectedId" | "scrollable" | "fullWidthScroll" | "keepMounted">) => JSX.Element;
3
+ type TabsMobileProps = Omit<TabsProps, 'TabList' | 'size' | 'collapsible'>;
4
+ declare const TabsMobile: ({ view, scrollable, ...restProps }: TabsMobileProps) => JSX.Element;
5
5
  export { TabsMobileProps, TabsMobile };
@@ -2,18 +2,26 @@
2
2
 
3
3
  Object.defineProperty(exports, '__esModule', { value: true });
4
4
 
5
- var tslib_es6 = require('../../tslib.es6-fcb75541.js');
5
+ var tslib_es6 = require('../../tslib.es6-cbc5fb87.js');
6
6
  var React = require('react');
7
- require('@alfalab/core-components-keyboard-focusable');
8
7
  require('classnames');
8
+ require('@alfalab/core-components/picker-button/desktop');
9
+ require('@alfalab/core-components-badge');
10
+ require('@alfalab/core-components-keyboard-focusable');
11
+ require('@alfalab/hooks');
12
+ require('@juggle/resize-observer');
13
+ require('../../hooks/use-collapsible-elements.js');
14
+ require('../../hooks/use-tabs.js');
15
+ require('../../hooks/use-tablist-titles.js');
16
+ require('../../synthetic-events.js');
9
17
  require('compute-scroll-into-view');
10
18
  require('../scrollable-container/Component.js');
11
- require('../../useTabs.js');
19
+ require('../title/Component.js');
12
20
  require('../primary-tablist/Component.js');
13
- require('../../index.module-c424649c.js');
21
+ require('../../index.module-370f6bd7.js');
14
22
  require('@alfalab/core-components-tag');
15
23
  require('../secondary-tablist/Component.js');
16
- require('../../index.module-3530e300.js');
24
+ require('../../index.module-872dcef9.js');
17
25
  var components_tabs_Component = require('./Component.js');
18
26
  var components_primaryTablist_Component_mobile = require('../primary-tablist/Component.mobile.js');
19
27
  var components_secondaryTablist_Component_mobile = require('../secondary-tablist/Component.mobile.js');
@@ -1,5 +1,5 @@
1
1
  /// <reference types="react" />
2
2
  import { TabsProps } from "../../typings";
3
3
  type TabsResponsiveProps = Omit<TabsProps, 'TabList'>;
4
- declare const TabsResponsive: ({ view, scrollable, ...restProps }: Pick<TabsProps, "children" | "className" | "onChange" | "size" | "dataTestId" | "view" | "mobile" | "containerClassName" | "defaultMatch" | "selectedId" | "scrollable" | "fullWidthScroll" | "keepMounted">) => JSX.Element;
4
+ declare const TabsResponsive: ({ view, scrollable, ...restProps }: TabsResponsiveProps) => JSX.Element;
5
5
  export { TabsResponsiveProps, TabsResponsive };
@@ -2,22 +2,29 @@
2
2
 
3
3
  Object.defineProperty(exports, '__esModule', { value: true });
4
4
 
5
- var tslib_es6 = require('../../tslib.es6-fcb75541.js');
5
+ var tslib_es6 = require('../../tslib.es6-cbc5fb87.js');
6
6
  var React = require('react');
7
- require('@alfalab/core-components-keyboard-focusable');
8
7
  require('classnames');
8
+ require('@alfalab/core-components/picker-button/desktop');
9
+ require('@alfalab/core-components-badge');
10
+ require('@alfalab/core-components-keyboard-focusable');
11
+ require('@alfalab/hooks');
12
+ require('@juggle/resize-observer');
13
+ require('../../hooks/use-collapsible-elements.js');
14
+ require('../../hooks/use-tabs.js');
15
+ require('../../hooks/use-tablist-titles.js');
16
+ require('../../synthetic-events.js');
9
17
  require('compute-scroll-into-view');
10
18
  require('../scrollable-container/Component.js');
11
- require('../../useTabs.js');
19
+ require('../title/Component.js');
12
20
  require('../primary-tablist/Component.js');
13
- require('../../index.module-c424649c.js');
21
+ require('../../index.module-370f6bd7.js');
14
22
  require('../primary-tablist/Component.desktop.js');
15
23
  require('@alfalab/core-components-tag');
16
24
  require('../secondary-tablist/Component.js');
17
- require('../../index.module-3530e300.js');
25
+ require('../../index.module-872dcef9.js');
18
26
  require('../secondary-tablist/Component.desktop.js');
19
27
  var components_tabs_Component = require('./Component.js');
20
- require('@alfalab/hooks');
21
28
  require('../primary-tablist/Component.mobile.js');
22
29
  var components_primaryTablist_Component_responsive = require('../primary-tablist/Component.responsive.js');
23
30
  require('../secondary-tablist/Component.mobile.js');
@@ -0,0 +1,8 @@
1
+ /// <reference types="react" />
2
+ import React from 'react';
3
+ import { Styles, TabListTitle } from "../../typings";
4
+ declare const Title: React.ForwardRefExoticComponent<TabListTitle & Styles & Omit<React.ButtonHTMLAttributes<HTMLButtonElement>, "id"> & {
5
+ focused?: boolean | undefined;
6
+ isOption?: boolean | undefined;
7
+ } & React.RefAttributes<HTMLButtonElement>>;
8
+ export { Title };
@@ -0,0 +1,27 @@
1
+ 'use strict';
2
+
3
+ Object.defineProperty(exports, '__esModule', { value: true });
4
+
5
+ var tslib_es6 = require('../../tslib.es6-cbc5fb87.js');
6
+ var React = require('react');
7
+ var cn = require('classnames');
8
+
9
+ function _interopDefaultLegacy (e) { return e && typeof e === 'object' && 'default' in e ? e : { 'default': e }; }
10
+
11
+ var React__default = /*#__PURE__*/_interopDefaultLegacy(React);
12
+ var cn__default = /*#__PURE__*/_interopDefaultLegacy(cn);
13
+
14
+ var Title = React.forwardRef(function (_a, ref) {
15
+ var _b, _c;
16
+ var id = _a.id, toggleClassName = _a.toggleClassName, title = _a.title, _d = _a.styles, styles = _d === void 0 ? {} : _d, _e = _a.rightAddons, rightAddons = _e === void 0 ? null : _e, _f = _a.hidden, hidden = _f === void 0 ? false : _f, _g = _a.selected, selected = _g === void 0 ? false : _g, _h = _a.disabled, disabled = _h === void 0 ? false : _h, _j = _a.collapsed, collapsed = _j === void 0 ? false : _j, _k = _a.focused, focused = _k === void 0 ? false : _k, _l = _a.isOption, isOption = _l === void 0 ? false : _l, restProps = tslib_es6.__rest(_a, ["id", "toggleClassName", "title", "styles", "rightAddons", "hidden", "selected", "disabled", "collapsed", "focused", "isOption"]);
17
+ return hidden ? null : (React__default['default'].createElement("button", tslib_es6.__assign({}, restProps, { ref: ref, type: 'button', id: String(id), className: cn__default['default'](styles.title, (_b = {},
18
+ _b[styles.selected] = selected,
19
+ _b[styles.disabled] = disabled,
20
+ _b[styles.collapsed] = collapsed && !isOption,
21
+ _b[styles.option] = isOption,
22
+ _b), toggleClassName) }),
23
+ React__default['default'].createElement("span", { className: cn__default['default'](styles.content, (_c = {}, _c[styles.focused] = focused, _c)) }, title),
24
+ rightAddons && React__default['default'].createElement("span", { className: styles.rightAddons }, rightAddons)));
25
+ });
26
+
27
+ exports.Title = Title;
@@ -0,0 +1 @@
1
+ export * from "./Component";
@@ -0,0 +1,12 @@
1
+ 'use strict';
2
+
3
+ Object.defineProperty(exports, '__esModule', { value: true });
4
+
5
+ require('../../tslib.es6-cbc5fb87.js');
6
+ require('react');
7
+ require('classnames');
8
+ var components_title_Component = require('./Component.js');
9
+
10
+
11
+
12
+ exports.Title = components_title_Component.Title;
@@ -1,6 +1,4 @@
1
1
  /// <reference types="react" />
2
- import { Styles } from "../../typings";
3
- declare const PrimaryTabList: ({ size, styles, className, containerClassName, titles, selectedId, scrollable, fullWidthScroll, onChange, dataTestId, }: Pick<import("../../typings").TabsProps, "className" | "onChange" | "size" | "dataTestId" | "containerClassName" | "defaultMatch" | "selectedId" | "scrollable" | "fullWidthScroll"> & {
4
- titles?: import("../../typings").TabListTitle[] | undefined;
5
- } & Styles) => JSX.Element;
2
+ import { Styles, TabListProps } from "../../typings";
3
+ declare const PrimaryTabList: ({ size, styles, className, containerClassName, titles, selectedId, scrollable, collapsible, fullWidthScroll, onChange, dataTestId, breakpoint, }: TabListProps & Styles) => JSX.Element;
6
4
  export { PrimaryTabList };
@@ -2,14 +2,22 @@
2
2
 
3
3
  Object.defineProperty(exports, '__esModule', { value: true });
4
4
 
5
- var tslib_es6 = require('../../tslib.es6-ce870b46.js');
5
+ var tslib_es6 = require('../../tslib.es6-0857346e.js');
6
6
  var React = require('react');
7
- require('@alfalab/core-components-keyboard-focusable/cssm');
8
7
  require('classnames');
8
+ require('@alfalab/core-components/picker-button/desktop');
9
+ require('@alfalab/core-components-badge/cssm');
10
+ require('@alfalab/core-components-keyboard-focusable/cssm');
11
+ require('@alfalab/hooks');
12
+ require('@juggle/resize-observer');
13
+ require('../../hooks/use-collapsible-elements.js');
14
+ require('../../hooks/use-tabs.js');
15
+ require('../../hooks/use-tablist-titles.js');
16
+ require('../../synthetic-events.js');
9
17
  require('compute-scroll-into-view');
10
18
  require('../scrollable-container/index.module.css');
11
19
  require('../scrollable-container/Component.js');
12
- require('../../useTabs.js');
20
+ require('../title/Component.js');
13
21
  var components_primaryTablist_Component = require('./Component.js');
14
22
  var styles = require('./index.module.css');
15
23
 
@@ -2,14 +2,22 @@
2
2
 
3
3
  Object.defineProperty(exports, '__esModule', { value: true });
4
4
 
5
- var tslib_es6 = require('../../tslib.es6-ce870b46.js');
5
+ var tslib_es6 = require('../../tslib.es6-0857346e.js');
6
6
  var React = require('react');
7
- var coreComponentsKeyboardFocusable = require('@alfalab/core-components-keyboard-focusable/cssm');
8
7
  var cn = require('classnames');
8
+ var desktop = require('@alfalab/core-components/picker-button/desktop');
9
+ var coreComponentsBadge = require('@alfalab/core-components-badge/cssm');
10
+ var coreComponentsKeyboardFocusable = require('@alfalab/core-components-keyboard-focusable/cssm');
11
+ require('@alfalab/hooks');
12
+ require('@juggle/resize-observer');
13
+ require('../../hooks/use-collapsible-elements.js');
14
+ require('../../hooks/use-tabs.js');
15
+ var hooks_useTablistTitles = require('../../hooks/use-tablist-titles.js');
16
+ var syntheticEvents = require('../../synthetic-events.js');
9
17
  require('compute-scroll-into-view');
10
18
  require('../scrollable-container/index.module.css');
11
19
  var components_scrollableContainer_Component = require('../scrollable-container/Component.js');
12
- var useTabs = require('../../useTabs.js');
20
+ var components_title_Component = require('../title/Component.js');
13
21
 
14
22
  function _interopDefaultLegacy (e) { return e && typeof e === 'object' && 'default' in e ? e : { 'default': e }; }
15
23
 
@@ -17,40 +25,53 @@ var React__default = /*#__PURE__*/_interopDefaultLegacy(React);
17
25
  var cn__default = /*#__PURE__*/_interopDefaultLegacy(cn);
18
26
 
19
27
  var PrimaryTabList = function (_a) {
20
- 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;
28
+ 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, collapsible = _a.collapsible, fullWidthScroll = _a.fullWidthScroll, onChange = _a.onChange, dataTestId = _a.dataTestId, _f = _a.breakpoint, breakpoint = _f === void 0 ? 1024 : _f;
21
29
  var lineRef = React.useRef(null);
22
- var _f = useTabs.useTabs({
30
+ var _g = hooks_useTablistTitles.useTablistTitles({
23
31
  titles: titles,
24
32
  selectedId: selectedId,
33
+ collapsible: collapsible,
34
+ breakpoint: breakpoint,
25
35
  onChange: onChange,
26
- }), selectedTab = _f.selectedTab, focusedTab = _f.focusedTab, getTabListItemProps = _f.getTabListItemProps;
36
+ }), containerRef = _g.containerRef, addonRef = _g.addonRef, tablistTitles = _g.tablistTitles, selectedTab = _g.selectedTab, focusedTab = _g.focusedTab, getTabListItemProps = _g.getTabListItemProps;
27
37
  React.useEffect(function () {
28
38
  if (selectedTab && lineRef.current) {
29
39
  lineRef.current.style.width = selectedTab.offsetWidth + "px";
30
40
  lineRef.current.style.transform = "translateX(" + selectedTab.offsetLeft + "px)";
31
41
  }
32
- }, [selectedTab]);
42
+ }, [selectedTab, tablistTitles]);
43
+ var collapsedOptions = React.useMemo(function () {
44
+ return tablistTitles.reduce(function (options, title) {
45
+ if (title.collapsed) {
46
+ options.push({
47
+ key: title.title,
48
+ value: title.id,
49
+ content: React__default['default'].createElement(components_title_Component.Title, tslib_es6.__assign({}, title, { styles: styles, isOption: true })),
50
+ });
51
+ }
52
+ return options;
53
+ }, []);
54
+ }, [tablistTitles, styles]);
55
+ var collapsedAddonsLength = tablistTitles.filter(function (title) { return title.collapsed && title.rightAddons; }).length;
56
+ var handleOptionsChange = function (payload) {
57
+ var _a;
58
+ if (((_a = payload.selected) === null || _a === void 0 ? void 0 : _a.value) && onChange) {
59
+ var nativeMouseEvent = new MouseEvent('change');
60
+ var syntheticMouseEvent = syntheticEvents.createSyntheticMouseEvent(nativeMouseEvent);
61
+ onChange(syntheticMouseEvent, { selectedId: payload.selected.value });
62
+ }
63
+ };
33
64
  var renderContent = function () {
34
65
  var _a;
35
66
  return (React__default['default'].createElement("div", { role: 'tablist', "data-test-id": dataTestId, className: cn__default['default'](styles.component, className, size && styles[size], (_a = {},
36
67
  _a[styles.fullWidthScroll] = fullWidthScroll,
37
68
  _a)) },
38
- titles.map(function (item, index) {
39
- if (item.hidden)
40
- return null;
41
- return (React__default['default'].createElement(coreComponentsKeyboardFocusable.KeyboardFocusable, { key: item.id }, function (ref, focused) {
42
- var _a;
43
- return (React__default['default'].createElement("button", tslib_es6.__assign({}, getTabListItemProps(index, ref), { type: 'button', className: cn__default['default'](styles.title, (_a = {},
44
- _a[styles.selected] = item.id === selectedId,
45
- _a[styles.disabled] = item.disabled,
46
- _a), item.toggleClassName) }),
47
- React__default['default'].createElement("span", { className: focused ? styles.focused : undefined }, item.title),
48
- item.rightAddons && (React__default['default'].createElement("span", { className: styles.rightAddons }, item.rightAddons))));
49
- }));
50
- }),
69
+ tablistTitles.map(function (title, index) { return (React__default['default'].createElement(coreComponentsKeyboardFocusable.KeyboardFocusable, { key: title.id }, function (ref, focused) { return (React__default['default'].createElement(components_title_Component.Title, tslib_es6.__assign({}, getTabListItemProps(index, ref), title, { focused: focused, styles: styles }))); })); }),
70
+ collapsedOptions.length ? (React__default['default'].createElement("span", { ref: addonRef, className: styles.pickerWrapper },
71
+ 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,
51
72
  React__default['default'].createElement("div", { className: styles.line, ref: lineRef })));
52
73
  };
53
- 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()));
74
+ return scrollable && !collapsible ? (React__default['default'].createElement(components_scrollableContainer_Component.ScrollableContainer, { activeChild: focusedTab || selectedTab, containerClassName: containerClassName, fullWidthScroll: fullWidthScroll }, renderContent())) : (React__default['default'].createElement("div", { ref: containerRef, className: cn__default['default'](styles.container, containerClassName) }, renderContent()));
54
75
  };
55
76
 
56
77
  exports.PrimaryTabList = PrimaryTabList;
@@ -1,5 +1,5 @@
1
1
  /// <reference types="react" />
2
2
  import { TabListProps } from "../../typings";
3
3
  type PrimaryTabListMobileProps = Omit<TabListProps, 'size'>;
4
- declare const PrimaryTabListMobile: ({ className, ...restProps }: Pick<TabListProps, "className" | "onChange" | "dataTestId" | "containerClassName" | "defaultMatch" | "selectedId" | "scrollable" | "fullWidthScroll" | "titles">) => JSX.Element;
4
+ declare const PrimaryTabListMobile: ({ className, ...restProps }: PrimaryTabListMobileProps) => JSX.Element;
5
5
  export { PrimaryTabListMobileProps, PrimaryTabListMobile };