@alfalab/core-components-tabs 5.2.1 → 5.2.5

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 (137) hide show
  1. package/CHANGELOG.md +41 -0
  2. package/dist/components/primary-tablist/Component.d.ts +1 -0
  3. package/dist/components/primary-tablist/Component.desktop.js +4 -4
  4. package/dist/components/primary-tablist/Component.js +20 -19
  5. package/dist/components/primary-tablist/Component.mobile.js +5 -5
  6. package/dist/components/primary-tablist/Component.responsive.js +4 -4
  7. package/dist/components/primary-tablist/index.css +19 -26
  8. package/dist/components/primary-tablist/mobile.css +42 -32
  9. package/dist/components/scrollable-container/Component.js +2 -3
  10. package/dist/components/scrollable-container/index.css +6 -17
  11. package/dist/components/secondary-tablist/Component.d.ts +1 -0
  12. package/dist/components/secondary-tablist/Component.desktop.js +3 -3
  13. package/dist/components/secondary-tablist/Component.js +5 -3
  14. package/dist/components/secondary-tablist/Component.mobile.js +4 -4
  15. package/dist/components/secondary-tablist/Component.responsive.js +3 -3
  16. package/dist/components/secondary-tablist/index.css +12 -17
  17. package/dist/components/secondary-tablist/mobile.css +36 -23
  18. package/dist/components/tab/Component.js +1 -1
  19. package/dist/components/tab/index.css +3 -3
  20. package/dist/components/tabs/Component.d.ts +1 -1
  21. package/dist/components/tabs/Component.desktop.d.ts +1 -1
  22. package/dist/components/tabs/Component.desktop.js +5 -5
  23. package/dist/components/tabs/Component.js +2 -1
  24. package/dist/components/tabs/Component.mobile.d.ts +1 -1
  25. package/dist/components/tabs/Component.mobile.js +5 -5
  26. package/dist/components/tabs/Component.responsive.d.ts +1 -1
  27. package/dist/components/tabs/Component.responsive.js +5 -5
  28. package/dist/cssm/components/primary-tablist/Component.d.ts +1 -0
  29. package/dist/cssm/components/primary-tablist/Component.desktop.js +2 -2
  30. package/dist/cssm/components/primary-tablist/Component.js +19 -18
  31. package/dist/cssm/components/primary-tablist/Component.mobile.js +2 -2
  32. package/dist/cssm/components/primary-tablist/Component.responsive.js +2 -2
  33. package/dist/cssm/components/primary-tablist/index.module.css +0 -7
  34. package/dist/cssm/components/primary-tablist/mobile.module.css +0 -5
  35. package/dist/cssm/components/scrollable-container/Component.js +1 -2
  36. package/dist/cssm/components/scrollable-container/index.module.css +4 -15
  37. package/dist/cssm/components/secondary-tablist/Component.d.ts +1 -0
  38. package/dist/cssm/components/secondary-tablist/Component.desktop.js +1 -1
  39. package/dist/cssm/components/secondary-tablist/Component.js +4 -2
  40. package/dist/cssm/components/secondary-tablist/Component.mobile.js +1 -1
  41. package/dist/cssm/components/secondary-tablist/Component.responsive.js +1 -1
  42. package/dist/cssm/components/secondary-tablist/index.module.css +0 -5
  43. package/dist/cssm/components/secondary-tablist/mobile.module.css +0 -5
  44. package/dist/cssm/components/tabs/Component.desktop.js +2 -2
  45. package/dist/cssm/components/tabs/Component.js +2 -1
  46. package/dist/cssm/components/tabs/Component.mobile.js +2 -2
  47. package/dist/cssm/components/tabs/Component.responsive.js +2 -2
  48. package/dist/cssm/desktop.js +3 -3
  49. package/dist/cssm/index.js +3 -3
  50. package/dist/cssm/mobile.js +3 -3
  51. package/dist/cssm/responsive.js +3 -3
  52. package/dist/cssm/typings.d.ts +2 -1
  53. package/dist/cssm/useTabs.d.ts +1 -1
  54. package/dist/cssm/useTabs.js +3 -2
  55. package/dist/cssm/vars.css +0 -5
  56. package/dist/desktop.js +6 -6
  57. package/dist/esm/components/primary-tablist/Component.d.ts +1 -0
  58. package/dist/esm/components/primary-tablist/Component.desktop.js +4 -4
  59. package/dist/esm/components/primary-tablist/Component.js +20 -19
  60. package/dist/esm/components/primary-tablist/Component.mobile.js +5 -5
  61. package/dist/esm/components/primary-tablist/Component.responsive.js +4 -4
  62. package/dist/esm/components/primary-tablist/index.css +19 -26
  63. package/dist/esm/components/primary-tablist/mobile.css +42 -32
  64. package/dist/esm/components/scrollable-container/Component.js +2 -3
  65. package/dist/esm/components/scrollable-container/index.css +6 -17
  66. package/dist/esm/components/secondary-tablist/Component.d.ts +1 -0
  67. package/dist/esm/components/secondary-tablist/Component.desktop.js +3 -3
  68. package/dist/esm/components/secondary-tablist/Component.js +5 -3
  69. package/dist/esm/components/secondary-tablist/Component.mobile.js +4 -4
  70. package/dist/esm/components/secondary-tablist/Component.responsive.js +3 -3
  71. package/dist/esm/components/secondary-tablist/index.css +12 -17
  72. package/dist/esm/components/secondary-tablist/mobile.css +36 -23
  73. package/dist/esm/components/tab/Component.js +1 -1
  74. package/dist/esm/components/tab/index.css +3 -3
  75. package/dist/esm/components/tabs/Component.desktop.js +5 -5
  76. package/dist/esm/components/tabs/Component.js +2 -1
  77. package/dist/esm/components/tabs/Component.mobile.js +5 -5
  78. package/dist/esm/components/tabs/Component.responsive.js +5 -5
  79. package/dist/esm/desktop.js +5 -5
  80. package/dist/esm/index.js +5 -5
  81. package/dist/esm/index.module-84f33b39.js +4 -0
  82. package/dist/esm/index.module-f3a43121.js +4 -0
  83. package/dist/esm/mobile.js +5 -5
  84. package/dist/esm/responsive.js +5 -5
  85. package/dist/esm/{tslib.es6-67ccff1d.d.ts → tslib.es6-83775305.d.ts} +0 -0
  86. package/dist/esm/{tslib.es6-67ccff1d.js → tslib.es6-83775305.js} +0 -0
  87. package/dist/esm/typings.d.ts +2 -1
  88. package/dist/esm/useTabs.d.ts +1 -1
  89. package/dist/esm/useTabs.js +3 -2
  90. package/dist/index.js +6 -6
  91. package/dist/index.module-0b03a04a.js +6 -0
  92. package/dist/index.module-85790000.js +6 -0
  93. package/dist/mobile.js +6 -6
  94. package/dist/modern/components/primary-tablist/Component.d.ts +1 -0
  95. package/dist/modern/components/primary-tablist/Component.desktop.js +3 -3
  96. package/dist/modern/components/primary-tablist/Component.js +13 -11
  97. package/dist/modern/components/primary-tablist/Component.mobile.js +4 -4
  98. package/dist/modern/components/primary-tablist/Component.responsive.js +3 -3
  99. package/dist/modern/components/primary-tablist/index.css +19 -26
  100. package/dist/modern/components/primary-tablist/mobile.css +42 -32
  101. package/dist/modern/components/scrollable-container/Component.js +2 -3
  102. package/dist/modern/components/scrollable-container/index.css +6 -17
  103. package/dist/modern/components/secondary-tablist/Component.d.ts +1 -0
  104. package/dist/modern/components/secondary-tablist/Component.desktop.js +2 -2
  105. package/dist/modern/components/secondary-tablist/Component.js +4 -2
  106. package/dist/modern/components/secondary-tablist/Component.mobile.js +3 -3
  107. package/dist/modern/components/secondary-tablist/Component.responsive.js +2 -2
  108. package/dist/modern/components/secondary-tablist/index.css +12 -17
  109. package/dist/modern/components/secondary-tablist/mobile.css +36 -23
  110. package/dist/modern/components/tab/Component.js +1 -1
  111. package/dist/modern/components/tab/index.css +3 -3
  112. package/dist/modern/components/tabs/Component.desktop.js +4 -4
  113. package/dist/modern/components/tabs/Component.js +2 -1
  114. package/dist/modern/components/tabs/Component.mobile.js +4 -4
  115. package/dist/modern/components/tabs/Component.responsive.js +4 -4
  116. package/dist/modern/desktop.js +4 -4
  117. package/dist/modern/index.js +4 -4
  118. package/dist/modern/index.module-84f33b39.js +4 -0
  119. package/dist/modern/index.module-f3a43121.js +4 -0
  120. package/dist/modern/mobile.js +4 -4
  121. package/dist/modern/responsive.js +4 -4
  122. package/dist/modern/typings.d.ts +2 -1
  123. package/dist/modern/useTabs.d.ts +1 -1
  124. package/dist/modern/useTabs.js +3 -2
  125. package/dist/responsive.js +6 -6
  126. package/dist/{tslib.es6-e9fc155f.d.ts → tslib.es6-38a0729a.d.ts} +0 -0
  127. package/dist/{tslib.es6-e9fc155f.js → tslib.es6-38a0729a.js} +0 -0
  128. package/dist/typings.d.ts +2 -1
  129. package/dist/useTabs.d.ts +1 -1
  130. package/dist/useTabs.js +3 -2
  131. package/package.json +3 -3
  132. package/dist/esm/index.module-0e101b83.js +0 -4
  133. package/dist/esm/index.module-5a1f671a.js +0 -4
  134. package/dist/index.module-0aec801b.js +0 -6
  135. package/dist/index.module-9cc4ad45.js +0 -6
  136. package/dist/modern/index.module-0e101b83.js +0 -4
  137. package/dist/modern/index.module-5a1f671a.js +0 -4
@@ -1,10 +1,7 @@
1
- /* hash: 1ymba */
1
+ /* hash: 1glaw */
2
2
  :root {
3
3
  }:root {
4
4
  }:root {
5
-
6
- /* TODO: цвета добавлены руками. Обновить токены */
7
- --color-light-text-secondary-inverted-transparent: rgba(255, 255, 255, 0.7);
8
5
  }:root {
9
6
  }:root {
10
7
 
@@ -49,30 +46,30 @@
49
46
 
50
47
  /* size xl */
51
48
  --secondary-tablist-xl-gaps: var(--gap-s);
52
- }.tabs__component_1dypi {
49
+ }.tabs__component_135d1 {
53
50
  position: relative;
54
51
  display: flex;
55
52
  align-items: center;
56
- }.tabs__container_1dypi {
53
+ }.tabs__container_135d1 {
57
54
  display: flex;
58
55
  align-items: center;
59
- }.tabs__title_1dypi {
56
+ }.tabs__title_135d1 {
60
57
  white-space: nowrap;
61
- }/* sizes */.tabs__s_1dypi {
58
+ }/* sizes */.tabs__s_135d1 {
62
59
  height: var(--size-s-height)
63
- }.tabs__s_1dypi .tabs__title_1dypi + .tabs__title_1dypi {
60
+ }.tabs__s_135d1 .tabs__title_135d1 + .tabs__title_135d1 {
64
61
  margin-left: var(--secondary-tablist-s-gaps);
65
- }.tabs__m_1dypi {
62
+ }.tabs__m_135d1 {
66
63
  height: var(--size-m-height)
67
- }.tabs__m_1dypi .tabs__title_1dypi + .tabs__title_1dypi {
64
+ }.tabs__m_135d1 .tabs__title_135d1 + .tabs__title_135d1 {
68
65
  margin-left: var(--secondary-tablist-m-gaps);
69
- }.tabs__l_1dypi {
66
+ }.tabs__l_135d1 {
70
67
  height: var(--size-l-height)
71
- }.tabs__l_1dypi .tabs__title_1dypi + .tabs__title_1dypi {
68
+ }.tabs__l_135d1 .tabs__title_135d1 + .tabs__title_135d1 {
72
69
  margin-left: var(--secondary-tablist-l-gaps);
73
- }.tabs__xl_1dypi {
70
+ }.tabs__xl_135d1 {
74
71
  height: var(--size-xl-height)
75
- }.tabs__xl_1dypi .tabs__title_1dypi + .tabs__title_1dypi {
72
+ }.tabs__xl_135d1 .tabs__title_135d1 + .tabs__title_135d1 {
76
73
  margin-left: var(--secondary-tablist-xl-gaps);
77
74
  }
78
75
  :root {
@@ -225,6 +222,8 @@
225
222
  --color-dark-border-secondary-inverted: #6d7986;
226
223
  --color-dark-border-tertiary: #233549;
227
224
  --color-dark-border-tertiary-inverted: #b6bcc3;
225
+ --color-dark-border-underline: #6d7986;
226
+ --color-dark-border-underline-inverted: #b6bcc3;
228
227
  --color-dark-graphic-accent: #ef3124;
229
228
  --color-dark-graphic-attention: #e58933;
230
229
  --color-dark-graphic-link: #007aff;
@@ -237,6 +236,7 @@
237
236
  --color-dark-graphic-secondary-inverted: #233549;
238
237
  --color-dark-graphic-tertiary: #6d7986;
239
238
  --color-dark-specialbg-component: #485767;
239
+ --color-dark-specialbg-component-inverted: rgba(11, 31, 53, 0.07);
240
240
  --color-dark-specialbg-nulled: rgba(11, 31, 53, 0);
241
241
  --color-dark-specialbg-primary-grouped: #0b1f35;
242
242
  --color-dark-specialbg-secondary-grouped: #233549;
@@ -281,6 +281,8 @@
281
281
  --color-light-border-secondary-inverted: #b6bcc3;
282
282
  --color-light-border-tertiary: #f3f4f5;
283
283
  --color-light-border-tertiary-inverted: #6d7986;
284
+ --color-light-border-underline: #b6bcc3;
285
+ --color-light-border-underline-inverted: #6d7986;
284
286
  --color-light-graphic-accent: #ef3124;
285
287
  --color-light-graphic-attention: #e58933;
286
288
  --color-light-graphic-link: #007aff;
@@ -345,6 +347,7 @@
345
347
  --color-dark-bg-neutral-tint-10: rgb(90, 104, 118);
346
348
  --color-dark-bg-neutral-tint-15: rgb(99, 112, 126);
347
349
  --color-dark-bg-neutral-tint-30: rgb(127, 137, 149);
350
+ --color-dark-bg-primary-alpha-8: rgba(11, 31, 53, 0.08);
348
351
  --color-dark-bg-primary-inverted-alpha-3: rgba(255, 255, 255, 0.03);
349
352
  --color-dark-bg-primary-inverted-alpha-7: rgba(255, 255, 255, 0.07);
350
353
  --color-dark-bg-primary-inverted-alpha-10: rgba(255, 255, 255, 0.1);
@@ -376,6 +379,7 @@
376
379
  --color-dark-specialbg-component-tint-7: rgb(85, 99, 114);
377
380
  --color-dark-specialbg-component-tint-10: rgb(90, 104, 118);
378
381
  --color-dark-specialbg-component-tint-30: rgb(127, 137, 149);
382
+ --color-dark-specialbg-component-inverted-shade-15: rgba(9, 26, 45, 0.2095);
379
383
  --color-dark-text-link-shade-30: rgb(0, 85, 179);
380
384
  --color-dark-text-link-shade-50: rgb(0, 61, 128);
381
385
  --color-dark-text-link-tint-20: rgb(51, 149, 255);
@@ -385,10 +389,15 @@
385
389
  --color-dark-text-primary-shade-50: rgb(128, 128, 128);
386
390
  --color-dark-text-primary-tint-20: rgb(255, 255, 255);
387
391
  --color-dark-text-primary-tint-40: rgb(255, 255, 255);
392
+ --color-dark-text-primary-inverted-alpha-40: rgba(11, 31, 53, 0.4);
393
+ --color-dark-text-primary-inverted-shade-30: rgb(8, 22, 37);
394
+ --color-dark-text-primary-inverted-shade-50: rgb(6, 16, 26);
388
395
  --color-dark-text-secondary-shade-30: rgb(127, 132, 136);
389
396
  --color-dark-text-secondary-shade-50: rgb(91, 94, 98);
390
397
  --color-dark-text-secondary-tint-20: rgb(197, 201, 207);
391
398
  --color-dark-text-secondary-tint-40: rgb(211, 215, 219);
399
+ --color-dark-text-secondary-inverted-shade-30: rgb(76, 85, 94);
400
+ --color-dark-text-secondary-inverted-shade-50: rgb(55, 61, 67);
392
401
  --color-light-bg-accent-alpha-30: rgba(239, 49, 36, 0.3);
393
402
  --color-light-bg-accent-shade-7: rgb(222, 46, 33);
394
403
  --color-light-bg-accent-shade-10: rgb(215, 44, 32);
@@ -399,12 +408,14 @@
399
408
  --color-light-bg-neutral-shade-10: rgb(197, 200, 203);
400
409
  --color-light-bg-neutral-shade-15: rgb(186, 189, 191);
401
410
  --color-light-bg-neutral-shade-30: rgb(153, 155, 157);
411
+ --color-light-bg-primary-alpha-8: rgba(255, 255, 255, 0.08);
402
412
  --color-light-bg-primary-inverted-alpha-3: rgba(11, 31, 53, 0.03);
403
413
  --color-light-bg-primary-inverted-alpha-7: rgba(11, 31, 53, 0.07);
404
414
  --color-light-bg-primary-inverted-alpha-10: rgba(11, 31, 53, 0.1);
405
415
  --color-light-bg-primary-inverted-alpha-15: rgba(11, 31, 53, 0.15);
406
416
  --color-light-bg-primary-inverted-alpha-20: rgba(11, 31, 53, 0.2);
407
417
  --color-light-bg-primary-inverted-alpha-40: rgba(11, 31, 53, 0.4);
418
+ --color-light-bg-primary-inverted-alpha-50: rgba(11, 31, 53, 0.5);
408
419
  --color-light-bg-secondary-inverted-alpha-7: rgba(35, 53, 73, 0.07);
409
420
  --color-light-bg-secondary-inverted-alpha-15: rgba(35, 53, 73, 0.15);
410
421
  --color-light-bg-tertiary-shade-7: rgb(215, 217, 219);
@@ -440,14 +451,17 @@
440
451
  --color-light-text-primary-tint-50: rgb(133, 143, 154);
441
452
  --color-light-text-primary-shade-20: rgb(9, 25, 42);
442
453
  --color-light-text-primary-shade-40: rgb(7, 19, 32);
454
+ --color-light-text-primary-inverted-alpha-40: rgba(255, 255, 255, 0.4);
455
+ --color-light-text-primary-inverted-tint-30: rgb(255, 255, 255);
456
+ --color-light-text-primary-inverted-tint-50: rgb(255, 255, 255);
443
457
  --color-light-text-secondary-tint-30: rgb(135, 145, 156);
444
458
  --color-light-text-secondary-tint-50: rgb(170, 177, 185);
445
459
  --color-light-text-secondary-shade-20: rgb(67, 78, 91);
446
460
  --color-light-text-secondary-shade-40: rgb(50, 59, 68);
447
-
448
- /* TODO: цвета добавлены руками. Обновить токены */
449
- --color-light-border-underline-inverted: #6d7986;
450
- --color-light-text-secondary-inverted-transparent: rgba(255, 255, 255, 0.7);
461
+ --color-light-text-secondary-inverted-tint-30: rgb(204, 208, 213);
462
+ --color-light-text-secondary-inverted-tint-50: rgb(219, 222, 225);
463
+ --color-static-bg-primary-dark-alpha-10: rgba(0, 0, 0, 0.1);
464
+ --color-static-bg-primary-dark-alpha-20: rgba(0, 0, 0, 0.2);
451
465
  }
452
466
  :root {
453
467
  --color-dynamic-primary-dark: rgba(0, 0, 0, 0.8);
@@ -570,7 +584,6 @@
570
584
  --size-xl-height: 72px;
571
585
  }
572
586
  :root {
573
- --tablist-hidden-scrollbar-height: 20px;
574
587
  --primary-tablist-color: var(--color-light-text-secondary);
575
588
  --primary-tablist-hover-color: var(--color-light-text-primary);
576
589
  --primary-tablist-selected-color: var(--color-light-text-primary);
@@ -628,11 +641,11 @@
628
641
  /* size xl */
629
642
  --secondary-tablist-xl-gaps: var(--gap-s);
630
643
  }
631
- .tabs__title_1ymba {
644
+ .tabs__title_zfkg5 {
632
645
  }
633
- .tabs__title_1ymba + .tabs__title_1ymba {
646
+ .tabs__title_zfkg5 + .tabs__title_zfkg5 {
634
647
  margin-left: var(--secondary-tablist-mobile-gaps);
635
648
  }
636
- .tabs__mobile_1ymba {
649
+ .tabs__mobile_zfkg5 {
637
650
  height: 48px;
638
651
  }
@@ -1,7 +1,7 @@
1
1
  import React from 'react';
2
2
  import cn from 'classnames';
3
3
 
4
- var styles = {"component":"tabs__component_ousg7","hidden":"tabs__hidden_ousg7"};
4
+ var styles = {"component":"tabs__component_11fwe","hidden":"tabs__hidden_11fwe"};
5
5
  require('./index.css')
6
6
 
7
7
  var Tab = function (_a) {
@@ -1,8 +1,8 @@
1
- /* hash: ousg7 */
2
- .tabs__component_ousg7 {
1
+ /* hash: 6ts2l */
2
+ .tabs__component_11fwe {
3
3
  outline: none;
4
4
  }
5
5
 
6
- .tabs__hidden_ousg7 {
6
+ .tabs__hidden_11fwe {
7
7
  display: none;
8
8
  }
@@ -1,16 +1,16 @@
1
- import { _ as __rest, a as __assign } from '../../tslib.es6-67ccff1d.js';
1
+ import { _ as __rest, a as __assign } from '../../tslib.es6-83775305.js';
2
2
  import React from 'react';
3
- import 'classnames';
4
3
  import '@alfalab/core-components-keyboard-focusable/dist/esm';
5
- import '../../useTabs.js';
4
+ import 'classnames';
6
5
  import 'compute-scroll-into-view';
7
6
  import '../scrollable-container/Component.js';
7
+ import '../../useTabs.js';
8
8
  import '../primary-tablist/Component.js';
9
- import '../../index.module-0e101b83.js';
9
+ import '../../index.module-84f33b39.js';
10
10
  import { PrimaryTabListDesktop } from '../primary-tablist/Component.desktop.js';
11
11
  import '@alfalab/core-components-tag/dist/esm';
12
12
  import '../secondary-tablist/Component.js';
13
- import '../../index.module-5a1f671a.js';
13
+ import '../../index.module-f3a43121.js';
14
14
  import { SecondaryTabListDesktop } from '../secondary-tablist/Component.desktop.js';
15
15
  import { Tabs } from './Component.js';
16
16
 
@@ -4,12 +4,13 @@ var Tabs = function (_a) {
4
4
  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.keepMounted, keepMounted = _b === void 0 ? false : _b, dataTestId = _a.dataTestId, onChange = _a.onChange;
5
5
  var tabsArray = React.Children.toArray(children);
6
6
  var titles = tabsArray.map(function (_a) {
7
- var _b = _a.props, title = _b.title, id = _b.id, rightAddons = _b.rightAddons, disabled = _b.disabled;
7
+ var _b = _a.props, title = _b.title, id = _b.id, rightAddons = _b.rightAddons, disabled = _b.disabled, hidden = _b.hidden;
8
8
  return ({
9
9
  title: title,
10
10
  id: id,
11
11
  disabled: disabled,
12
12
  rightAddons: rightAddons,
13
+ hidden: hidden,
13
14
  });
14
15
  });
15
16
  var tabs = tabsArray.filter(function (tab) { return tab.props.id === selectedId || tab.props.keepMounted || keepMounted; });
@@ -1,15 +1,15 @@
1
- import { _ as __rest, a as __assign } from '../../tslib.es6-67ccff1d.js';
1
+ import { _ as __rest, a as __assign } from '../../tslib.es6-83775305.js';
2
2
  import React from 'react';
3
- import 'classnames';
4
3
  import '@alfalab/core-components-keyboard-focusable/dist/esm';
5
- import '../../useTabs.js';
4
+ import 'classnames';
6
5
  import 'compute-scroll-into-view';
7
6
  import '../scrollable-container/Component.js';
7
+ import '../../useTabs.js';
8
8
  import '../primary-tablist/Component.js';
9
- import '../../index.module-0e101b83.js';
9
+ import '../../index.module-84f33b39.js';
10
10
  import '@alfalab/core-components-tag/dist/esm';
11
11
  import '../secondary-tablist/Component.js';
12
- import '../../index.module-5a1f671a.js';
12
+ import '../../index.module-f3a43121.js';
13
13
  import { Tabs } from './Component.js';
14
14
  import { PrimaryTabListMobile } from '../primary-tablist/Component.mobile.js';
15
15
  import { SecondaryTabListMobile } from '../secondary-tablist/Component.mobile.js';
@@ -1,16 +1,16 @@
1
- import { _ as __rest, a as __assign } from '../../tslib.es6-67ccff1d.js';
1
+ import { _ as __rest, a as __assign } from '../../tslib.es6-83775305.js';
2
2
  import React from 'react';
3
- import 'classnames';
4
3
  import '@alfalab/core-components-keyboard-focusable/dist/esm';
5
- import '../../useTabs.js';
4
+ import 'classnames';
6
5
  import 'compute-scroll-into-view';
7
6
  import '../scrollable-container/Component.js';
7
+ import '../../useTabs.js';
8
8
  import '../primary-tablist/Component.js';
9
- import '../../index.module-0e101b83.js';
9
+ import '../../index.module-84f33b39.js';
10
10
  import '../primary-tablist/Component.desktop.js';
11
11
  import '@alfalab/core-components-tag/dist/esm';
12
12
  import '../secondary-tablist/Component.js';
13
- import '../../index.module-5a1f671a.js';
13
+ import '../../index.module-f3a43121.js';
14
14
  import '../secondary-tablist/Component.desktop.js';
15
15
  import { Tabs } from './Component.js';
16
16
  import '@alfalab/hooks';
@@ -1,16 +1,16 @@
1
- import './tslib.es6-67ccff1d.js';
1
+ import './tslib.es6-83775305.js';
2
2
  import 'react';
3
- import 'classnames';
4
3
  import '@alfalab/core-components-keyboard-focusable/dist/esm';
5
- export { useTabs } from './useTabs.js';
4
+ import 'classnames';
6
5
  import 'compute-scroll-into-view';
7
6
  export { ScrollableContainer } from './components/scrollable-container/Component.js';
7
+ export { useTabs } from './useTabs.js';
8
8
  import './components/primary-tablist/Component.js';
9
- import './index.module-0e101b83.js';
9
+ import './index.module-84f33b39.js';
10
10
  export { PrimaryTabListDesktop } from './components/primary-tablist/Component.desktop.js';
11
11
  import '@alfalab/core-components-tag/dist/esm';
12
12
  import './components/secondary-tablist/Component.js';
13
- import './index.module-5a1f671a.js';
13
+ import './index.module-f3a43121.js';
14
14
  export { SecondaryTabListDesktop } from './components/secondary-tablist/Component.desktop.js';
15
15
  export { Tab } from './components/tab/Component.js';
16
16
  import './components/tabs/Component.js';
package/dist/esm/index.js CHANGED
@@ -1,16 +1,16 @@
1
- import './tslib.es6-67ccff1d.js';
1
+ import './tslib.es6-83775305.js';
2
2
  import 'react';
3
- import 'classnames';
4
3
  import '@alfalab/core-components-keyboard-focusable/dist/esm';
5
- export { useTabs } from './useTabs.js';
4
+ import 'classnames';
6
5
  import 'compute-scroll-into-view';
7
6
  export { ScrollableContainer } from './components/scrollable-container/Component.js';
7
+ export { useTabs } from './useTabs.js';
8
8
  import './components/primary-tablist/Component.js';
9
- import './index.module-0e101b83.js';
9
+ import './index.module-84f33b39.js';
10
10
  import './components/primary-tablist/Component.desktop.js';
11
11
  import '@alfalab/core-components-tag/dist/esm';
12
12
  import './components/secondary-tablist/Component.js';
13
- import './index.module-5a1f671a.js';
13
+ import './index.module-f3a43121.js';
14
14
  import './components/secondary-tablist/Component.desktop.js';
15
15
  export { Tab } from './components/tab/Component.js';
16
16
  import './components/tabs/Component.js';
@@ -0,0 +1,4 @@
1
+ var commonStyles = {"component":"tabs__component_1zmu4","container":"tabs__container_1zmu4","title":"tabs__title_1zmu4","disabled":"tabs__disabled_1zmu4","focused":"tabs__focused_1zmu4","selected":"tabs__selected_1zmu4","line":"tabs__line_1zmu4","s":"tabs__s_1zmu4","m":"tabs__m_1zmu4","l":"tabs__l_1zmu4","xl":"tabs__xl_1zmu4","rightAddons":"tabs__rightAddons_1zmu4"};
2
+ require('./components/primary-tablist/index.css')
3
+
4
+ export { commonStyles as c };
@@ -0,0 +1,4 @@
1
+ var commonStyles = {"component":"tabs__component_135d1","container":"tabs__container_135d1","title":"tabs__title_135d1","s":"tabs__s_135d1","m":"tabs__m_135d1","l":"tabs__l_135d1","xl":"tabs__xl_135d1"};
2
+ require('./components/secondary-tablist/index.css')
3
+
4
+ export { commonStyles as c };
@@ -1,15 +1,15 @@
1
- import './tslib.es6-67ccff1d.js';
1
+ import './tslib.es6-83775305.js';
2
2
  import 'react';
3
- import 'classnames';
4
3
  import '@alfalab/core-components-keyboard-focusable/dist/esm';
5
- export { useTabs } from './useTabs.js';
4
+ import 'classnames';
6
5
  import 'compute-scroll-into-view';
7
6
  export { ScrollableContainer } from './components/scrollable-container/Component.js';
7
+ export { useTabs } from './useTabs.js';
8
8
  import './components/primary-tablist/Component.js';
9
- import './index.module-0e101b83.js';
9
+ import './index.module-84f33b39.js';
10
10
  import '@alfalab/core-components-tag/dist/esm';
11
11
  import './components/secondary-tablist/Component.js';
12
- import './index.module-5a1f671a.js';
12
+ import './index.module-f3a43121.js';
13
13
  export { Tab } from './components/tab/Component.js';
14
14
  import './components/tabs/Component.js';
15
15
  export { PrimaryTabListMobile } from './components/primary-tablist/Component.mobile.js';
@@ -1,16 +1,16 @@
1
- import './tslib.es6-67ccff1d.js';
1
+ import './tslib.es6-83775305.js';
2
2
  import 'react';
3
- import 'classnames';
4
3
  import '@alfalab/core-components-keyboard-focusable/dist/esm';
5
- export { useTabs } from './useTabs.js';
4
+ import 'classnames';
6
5
  import 'compute-scroll-into-view';
7
6
  export { ScrollableContainer } from './components/scrollable-container/Component.js';
7
+ export { useTabs } from './useTabs.js';
8
8
  import './components/primary-tablist/Component.js';
9
- import './index.module-0e101b83.js';
9
+ import './index.module-84f33b39.js';
10
10
  import './components/primary-tablist/Component.desktop.js';
11
11
  import '@alfalab/core-components-tag/dist/esm';
12
12
  import './components/secondary-tablist/Component.js';
13
- import './index.module-5a1f671a.js';
13
+ import './index.module-f3a43121.js';
14
14
  import './components/secondary-tablist/Component.desktop.js';
15
15
  export { Tab } from './components/tab/Component.js';
16
16
  import './components/tabs/Component.js';
@@ -1,4 +1,4 @@
1
- import { ReactElement, ReactNode, FC } from 'react';
1
+ import { FC, ReactElement, ReactNode } from 'react';
2
2
  import { TagProps } from "@alfalab/core-components-tag";
3
3
  type SelectedId = string | number;
4
4
  type TabsMatchMedia = 'desktop' | 'mobile';
@@ -101,6 +101,7 @@ type TabListProps = Pick<TabsProps, 'className' | 'containerClassName' | 'size'
101
101
  id: SelectedId;
102
102
  disabled?: boolean;
103
103
  rightAddons?: ReactNode;
104
+ hidden?: boolean;
104
105
  }>;
105
106
  };
106
107
  type SecondaryTabListProps = TabListProps & {
@@ -1,4 +1,4 @@
1
- import { MouseEvent, KeyboardEvent, MutableRefObject } from 'react';
1
+ import { KeyboardEvent, MouseEvent, MutableRefObject } from 'react';
2
2
  import { UseTabsProps } from "./typings";
3
3
  declare function useTabs({ titles, selectedId, onChange }: UseTabsProps): {
4
4
  getTabListItemProps: (index: number, outerRef?: MutableRefObject<HTMLElement> | undefined) => {
@@ -17,7 +17,8 @@ function useTabs(_a) {
17
17
  }, [onChange, selectedId]);
18
18
  var focusTab = useCallback(function (position) {
19
19
  var refs = itemRefs.current;
20
- if (refs.every(function (ref) { return ref.disabled; }))
20
+ var tabAvailable = function (ref) { return ref && !ref.disabled; };
21
+ if (refs.every(function (ref) { return !tabAvailable(ref); }))
21
22
  return;
22
23
  var focusedTabIndex = refs.findIndex(function (node) { return document.activeElement === node; });
23
24
  if (focusedTabIndex === -1) {
@@ -39,7 +40,7 @@ function useTabs(_a) {
39
40
  break;
40
41
  }
41
42
  var shift = ['prev', 'end'].includes(position) ? -1 : 1;
42
- while (refs[newFocusIndex].disabled) {
43
+ while (!tabAvailable(refs[newFocusIndex])) {
43
44
  newFocusIndex = (refs.length + newFocusIndex + shift) % refs.length;
44
45
  }
45
46
  refs[newFocusIndex].focus();
package/dist/index.js CHANGED
@@ -2,19 +2,19 @@
2
2
 
3
3
  Object.defineProperty(exports, '__esModule', { value: true });
4
4
 
5
- require('./tslib.es6-e9fc155f.js');
5
+ require('./tslib.es6-38a0729a.js');
6
6
  require('react');
7
- require('classnames');
8
7
  require('@alfalab/core-components-keyboard-focusable');
9
- var useTabs = require('./useTabs.js');
8
+ require('classnames');
10
9
  require('compute-scroll-into-view');
11
10
  var components_scrollableContainer_Component = require('./components/scrollable-container/Component.js');
11
+ var useTabs = require('./useTabs.js');
12
12
  require('./components/primary-tablist/Component.js');
13
- require('./index.module-9cc4ad45.js');
13
+ require('./index.module-0b03a04a.js');
14
14
  require('./components/primary-tablist/Component.desktop.js');
15
15
  require('@alfalab/core-components-tag');
16
16
  require('./components/secondary-tablist/Component.js');
17
- require('./index.module-0aec801b.js');
17
+ require('./index.module-85790000.js');
18
18
  require('./components/secondary-tablist/Component.desktop.js');
19
19
  var components_tab_Component = require('./components/tab/Component.js');
20
20
  require('./components/tabs/Component.js');
@@ -27,8 +27,8 @@ var components_tabs_Component_responsive = require('./components/tabs/Component.
27
27
 
28
28
 
29
29
 
30
- exports.useTabs = useTabs.useTabs;
31
30
  exports.ScrollableContainer = components_scrollableContainer_Component.ScrollableContainer;
31
+ exports.useTabs = useTabs.useTabs;
32
32
  exports.Tab = components_tab_Component.Tab;
33
33
  exports.PrimaryTabListResponsive = components_primaryTablist_Component_responsive.PrimaryTabListResponsive;
34
34
  exports.SecondaryTabListResponsive = components_secondaryTablist_Component_responsive.SecondaryTabListResponsive;
@@ -0,0 +1,6 @@
1
+ 'use strict';
2
+
3
+ var commonStyles = {"component":"tabs__component_1zmu4","container":"tabs__container_1zmu4","title":"tabs__title_1zmu4","disabled":"tabs__disabled_1zmu4","focused":"tabs__focused_1zmu4","selected":"tabs__selected_1zmu4","line":"tabs__line_1zmu4","s":"tabs__s_1zmu4","m":"tabs__m_1zmu4","l":"tabs__l_1zmu4","xl":"tabs__xl_1zmu4","rightAddons":"tabs__rightAddons_1zmu4"};
4
+ require('./components/primary-tablist/index.css')
5
+
6
+ exports.commonStyles = commonStyles;
@@ -0,0 +1,6 @@
1
+ 'use strict';
2
+
3
+ var commonStyles = {"component":"tabs__component_135d1","container":"tabs__container_135d1","title":"tabs__title_135d1","s":"tabs__s_135d1","m":"tabs__m_135d1","l":"tabs__l_135d1","xl":"tabs__xl_135d1"};
4
+ require('./components/secondary-tablist/index.css')
5
+
6
+ exports.commonStyles = commonStyles;
package/dist/mobile.js CHANGED
@@ -2,18 +2,18 @@
2
2
 
3
3
  Object.defineProperty(exports, '__esModule', { value: true });
4
4
 
5
- require('./tslib.es6-e9fc155f.js');
5
+ require('./tslib.es6-38a0729a.js');
6
6
  require('react');
7
- require('classnames');
8
7
  require('@alfalab/core-components-keyboard-focusable');
9
- var useTabs = require('./useTabs.js');
8
+ require('classnames');
10
9
  require('compute-scroll-into-view');
11
10
  var components_scrollableContainer_Component = require('./components/scrollable-container/Component.js');
11
+ var useTabs = require('./useTabs.js');
12
12
  require('./components/primary-tablist/Component.js');
13
- require('./index.module-9cc4ad45.js');
13
+ require('./index.module-0b03a04a.js');
14
14
  require('@alfalab/core-components-tag');
15
15
  require('./components/secondary-tablist/Component.js');
16
- require('./index.module-0aec801b.js');
16
+ require('./index.module-85790000.js');
17
17
  var components_tab_Component = require('./components/tab/Component.js');
18
18
  require('./components/tabs/Component.js');
19
19
  var components_primaryTablist_Component_mobile = require('./components/primary-tablist/Component.mobile.js');
@@ -22,8 +22,8 @@ var components_tabs_Component_mobile = require('./components/tabs/Component.mobi
22
22
 
23
23
 
24
24
 
25
- exports.useTabs = useTabs.useTabs;
26
25
  exports.ScrollableContainer = components_scrollableContainer_Component.ScrollableContainer;
26
+ exports.useTabs = useTabs.useTabs;
27
27
  exports.Tab = components_tab_Component.Tab;
28
28
  exports.PrimaryTabListMobile = components_primaryTablist_Component_mobile.PrimaryTabListMobile;
29
29
  exports.SecondaryTabListMobile = components_secondaryTablist_Component_mobile.SecondaryTabListMobile;
@@ -7,6 +7,7 @@ declare const PrimaryTabList: ({ size, styles, className, containerClassName, ti
7
7
  id: React.ReactText;
8
8
  disabled?: boolean | undefined;
9
9
  rightAddons?: React.ReactNode;
10
+ hidden?: boolean | undefined;
10
11
  }[] | undefined;
11
12
  } & Styles) => JSX.Element;
12
13
  export { PrimaryTabList };
@@ -1,11 +1,11 @@
1
1
  import React from 'react';
2
- import 'classnames';
3
2
  import '@alfalab/core-components-keyboard-focusable/dist/modern';
4
- import '../../useTabs.js';
3
+ import 'classnames';
5
4
  import 'compute-scroll-into-view';
6
5
  import '../scrollable-container/Component.js';
6
+ import '../../useTabs.js';
7
7
  import { PrimaryTabList } from './Component.js';
8
- import { c as commonStyles } from '../../index.module-0e101b83.js';
8
+ import { c as commonStyles } from '../../index.module-84f33b39.js';
9
9
 
10
10
  const PrimaryTabListDesktop = ({ size = 'm', ...restProps }) => (React.createElement(PrimaryTabList, Object.assign({}, restProps, { size: size, styles: commonStyles })));
11
11
 
@@ -1,9 +1,9 @@
1
1
  import React, { useRef, useEffect } from 'react';
2
- import cn from 'classnames';
3
2
  import { KeyboardFocusable } from '@alfalab/core-components-keyboard-focusable/dist/modern';
4
- import { useTabs } from '../../useTabs.js';
3
+ import cn from 'classnames';
5
4
  import 'compute-scroll-into-view';
6
5
  import { ScrollableContainer } from '../scrollable-container/Component.js';
6
+ import { useTabs } from '../../useTabs.js';
7
7
 
8
8
  const PrimaryTabList = ({ size, styles = {}, className, containerClassName, titles = [], selectedId = titles.length ? titles[0].id : undefined, scrollable = true, onChange, dataTestId, }) => {
9
9
  const lineRef = useRef(null);
@@ -19,16 +19,18 @@ const PrimaryTabList = ({ size, styles = {}, className, containerClassName, titl
19
19
  }
20
20
  });
21
21
  const renderContent = () => (React.createElement(React.Fragment, null,
22
- titles.map((item, index) => (React.createElement(KeyboardFocusable, { key: item.id }, (ref, focused) => (React.createElement("button", Object.assign({}, getTabListItemProps(index, ref), { type: 'button', className: cn(styles.title, {
23
- [styles.selected]: item.id === selectedId,
24
- [styles.disabled]: item.disabled,
25
- }) }),
26
- React.createElement("span", { className: focused ? styles.focused : undefined }, item.title),
27
- item.rightAddons && (React.createElement("span", { className: styles.rightAddons }, item.rightAddons))))))),
22
+ titles.map((item, index) => {
23
+ if (item.hidden)
24
+ return null;
25
+ return (React.createElement(KeyboardFocusable, { key: item.id }, (ref, focused) => (React.createElement("button", Object.assign({}, getTabListItemProps(index, ref), { type: 'button', className: cn(styles.title, {
26
+ [styles.selected]: item.id === selectedId,
27
+ [styles.disabled]: item.disabled,
28
+ }) }),
29
+ React.createElement("span", { className: focused ? styles.focused : undefined }, item.title),
30
+ item.rightAddons && (React.createElement("span", { className: styles.rightAddons }, item.rightAddons))))));
31
+ }),
28
32
  React.createElement("div", { className: styles.line, ref: lineRef })));
29
- return (React.createElement("div", { role: 'tablist', "data-test-id": dataTestId, className: cn(styles.component, className, size && styles[size], {
30
- [styles.scrollable]: scrollable,
31
- }) }, scrollable ? (React.createElement(ScrollableContainer, { activeChild: focusedTab || selectedTab, containerClassName: containerClassName }, renderContent())) : (React.createElement("div", { className: cn(styles.container, containerClassName) }, renderContent()))));
33
+ return (React.createElement("div", { role: 'tablist', "data-test-id": dataTestId, className: cn(styles.component, className, size && styles[size]) }, scrollable ? (React.createElement(ScrollableContainer, { activeChild: focusedTab || selectedTab, containerClassName: containerClassName }, renderContent())) : (React.createElement("div", { className: cn(styles.container, containerClassName) }, renderContent()))));
32
34
  };
33
35
 
34
36
  export { PrimaryTabList };
@@ -1,13 +1,13 @@
1
1
  import React from 'react';
2
- import cn from 'classnames';
3
2
  import '@alfalab/core-components-keyboard-focusable/dist/modern';
4
- import '../../useTabs.js';
3
+ import cn from 'classnames';
5
4
  import 'compute-scroll-into-view';
6
5
  import '../scrollable-container/Component.js';
6
+ import '../../useTabs.js';
7
7
  import { PrimaryTabList } from './Component.js';
8
- import { c as commonStyles } from '../../index.module-0e101b83.js';
8
+ import { c as commonStyles } from '../../index.module-84f33b39.js';
9
9
 
10
- var mobileStyles = {"title":"tabs__title_1atdr tabs__title_1ukcm"};
10
+ var mobileStyles = {"title":"tabs__title_1s7oj tabs__title_1zmu4"};
11
11
  require('./mobile.css')
12
12
 
13
13
  const styles = {
@@ -1,11 +1,11 @@
1
1
  import React from 'react';
2
- import 'classnames';
3
2
  import '@alfalab/core-components-keyboard-focusable/dist/modern';
4
- import '../../useTabs.js';
3
+ import 'classnames';
5
4
  import 'compute-scroll-into-view';
6
5
  import '../scrollable-container/Component.js';
6
+ import '../../useTabs.js';
7
7
  import './Component.js';
8
- import '../../index.module-0e101b83.js';
8
+ import '../../index.module-84f33b39.js';
9
9
  import { PrimaryTabListDesktop } from './Component.desktop.js';
10
10
  import { useMedia } from '@alfalab/hooks';
11
11
  import { PrimaryTabListMobile } from './Component.mobile.js';