@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
  const Tab = ({ children, hidden, className, disabled }) => children ? (React.createElement("div", { className: cn(styles.component, {
@@ -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,15 +1,15 @@
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 '../primary-tablist/Component.js';
8
- import '../../index.module-0e101b83.js';
8
+ import '../../index.module-84f33b39.js';
9
9
  import { PrimaryTabListDesktop } from '../primary-tablist/Component.desktop.js';
10
10
  import '@alfalab/core-components-tag/dist/modern';
11
11
  import '../secondary-tablist/Component.js';
12
- import '../../index.module-5a1f671a.js';
12
+ import '../../index.module-f3a43121.js';
13
13
  import { SecondaryTabListDesktop } from '../secondary-tablist/Component.desktop.js';
14
14
  import { Tabs } from './Component.js';
15
15
 
@@ -2,11 +2,12 @@ import React, { cloneElement } from 'react';
2
2
 
3
3
  const Tabs = ({ TabList, className, containerClassName, size, defaultMatch, children, selectedId, scrollable, keepMounted = false, dataTestId, onChange, }) => {
4
4
  const tabsArray = React.Children.toArray(children);
5
- const titles = tabsArray.map(({ props: { title, id, rightAddons, disabled } }) => ({
5
+ const titles = tabsArray.map(({ props: { title, id, rightAddons, disabled, hidden } }) => ({
6
6
  title,
7
7
  id,
8
8
  disabled,
9
9
  rightAddons,
10
+ hidden,
10
11
  }));
11
12
  const tabs = tabsArray.filter(tab => tab.props.id === selectedId || tab.props.keepMounted || keepMounted);
12
13
  return (React.createElement("div", { className: className },
@@ -1,14 +1,14 @@
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 '../primary-tablist/Component.js';
8
- import '../../index.module-0e101b83.js';
8
+ import '../../index.module-84f33b39.js';
9
9
  import '@alfalab/core-components-tag/dist/modern';
10
10
  import '../secondary-tablist/Component.js';
11
- import '../../index.module-5a1f671a.js';
11
+ import '../../index.module-f3a43121.js';
12
12
  import { Tabs } from './Component.js';
13
13
  import { PrimaryTabListMobile } from '../primary-tablist/Component.mobile.js';
14
14
  import { SecondaryTabListMobile } from '../secondary-tablist/Component.mobile.js';
@@ -1,15 +1,15 @@
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 '../primary-tablist/Component.js';
8
- import '../../index.module-0e101b83.js';
8
+ import '../../index.module-84f33b39.js';
9
9
  import '../primary-tablist/Component.desktop.js';
10
10
  import '@alfalab/core-components-tag/dist/modern';
11
11
  import '../secondary-tablist/Component.js';
12
- import '../../index.module-5a1f671a.js';
12
+ import '../../index.module-f3a43121.js';
13
13
  import '../secondary-tablist/Component.desktop.js';
14
14
  import { Tabs } from './Component.js';
15
15
  import '@alfalab/hooks';
@@ -1,15 +1,15 @@
1
1
  import 'react';
2
- import 'classnames';
3
2
  import '@alfalab/core-components-keyboard-focusable/dist/modern';
4
- export { useTabs } from './useTabs.js';
3
+ import 'classnames';
5
4
  import 'compute-scroll-into-view';
6
5
  export { ScrollableContainer } from './components/scrollable-container/Component.js';
6
+ export { useTabs } from './useTabs.js';
7
7
  import './components/primary-tablist/Component.js';
8
- import './index.module-0e101b83.js';
8
+ import './index.module-84f33b39.js';
9
9
  export { PrimaryTabListDesktop } from './components/primary-tablist/Component.desktop.js';
10
10
  import '@alfalab/core-components-tag/dist/modern';
11
11
  import './components/secondary-tablist/Component.js';
12
- import './index.module-5a1f671a.js';
12
+ import './index.module-f3a43121.js';
13
13
  export { SecondaryTabListDesktop } from './components/secondary-tablist/Component.desktop.js';
14
14
  export { Tab } from './components/tab/Component.js';
15
15
  import './components/tabs/Component.js';
@@ -1,15 +1,15 @@
1
1
  import 'react';
2
- import 'classnames';
3
2
  import '@alfalab/core-components-keyboard-focusable/dist/modern';
4
- export { useTabs } from './useTabs.js';
3
+ import 'classnames';
5
4
  import 'compute-scroll-into-view';
6
5
  export { ScrollableContainer } from './components/scrollable-container/Component.js';
6
+ export { useTabs } from './useTabs.js';
7
7
  import './components/primary-tablist/Component.js';
8
- import './index.module-0e101b83.js';
8
+ import './index.module-84f33b39.js';
9
9
  import './components/primary-tablist/Component.desktop.js';
10
10
  import '@alfalab/core-components-tag/dist/modern';
11
11
  import './components/secondary-tablist/Component.js';
12
- import './index.module-5a1f671a.js';
12
+ import './index.module-f3a43121.js';
13
13
  import './components/secondary-tablist/Component.desktop.js';
14
14
  export { Tab } from './components/tab/Component.js';
15
15
  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,14 +1,14 @@
1
1
  import 'react';
2
- import 'classnames';
3
2
  import '@alfalab/core-components-keyboard-focusable/dist/modern';
4
- export { useTabs } from './useTabs.js';
3
+ import 'classnames';
5
4
  import 'compute-scroll-into-view';
6
5
  export { ScrollableContainer } from './components/scrollable-container/Component.js';
6
+ export { useTabs } from './useTabs.js';
7
7
  import './components/primary-tablist/Component.js';
8
- import './index.module-0e101b83.js';
8
+ import './index.module-84f33b39.js';
9
9
  import '@alfalab/core-components-tag/dist/modern';
10
10
  import './components/secondary-tablist/Component.js';
11
- import './index.module-5a1f671a.js';
11
+ import './index.module-f3a43121.js';
12
12
  export { Tab } from './components/tab/Component.js';
13
13
  import './components/tabs/Component.js';
14
14
  export { PrimaryTabListMobile } from './components/primary-tablist/Component.mobile.js';
@@ -1,15 +1,15 @@
1
1
  import 'react';
2
- import 'classnames';
3
2
  import '@alfalab/core-components-keyboard-focusable/dist/modern';
4
- export { useTabs } from './useTabs.js';
3
+ import 'classnames';
5
4
  import 'compute-scroll-into-view';
6
5
  export { ScrollableContainer } from './components/scrollable-container/Component.js';
6
+ export { useTabs } from './useTabs.js';
7
7
  import './components/primary-tablist/Component.js';
8
- import './index.module-0e101b83.js';
8
+ import './index.module-84f33b39.js';
9
9
  import './components/primary-tablist/Component.desktop.js';
10
10
  import '@alfalab/core-components-tag/dist/modern';
11
11
  import './components/secondary-tablist/Component.js';
12
- import './index.module-5a1f671a.js';
12
+ import './index.module-f3a43121.js';
13
13
  import './components/secondary-tablist/Component.desktop.js';
14
14
  export { Tab } from './components/tab/Component.js';
15
15
  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) => {
@@ -16,7 +16,8 @@ function useTabs({ titles = [], selectedId, onChange }) {
16
16
  }, [onChange, selectedId]);
17
17
  const focusTab = useCallback((position) => {
18
18
  const refs = itemRefs.current;
19
- if (refs.every(ref => ref.disabled))
19
+ const tabAvailable = (ref) => ref && !ref.disabled;
20
+ if (refs.every(ref => !tabAvailable(ref)))
20
21
  return;
21
22
  let focusedTabIndex = refs.findIndex(node => document.activeElement === node);
22
23
  if (focusedTabIndex === -1) {
@@ -38,7 +39,7 @@ function useTabs({ titles = [], selectedId, onChange }) {
38
39
  break;
39
40
  }
40
41
  const shift = ['prev', 'end'].includes(position) ? -1 : 1;
41
- while (refs[newFocusIndex].disabled) {
42
+ while (!tabAvailable(refs[newFocusIndex])) {
42
43
  newFocusIndex = (refs.length + newFocusIndex + shift) % refs.length;
43
44
  }
44
45
  refs[newFocusIndex].focus();
@@ -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;
package/dist/typings.d.ts CHANGED
@@ -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 & {
package/dist/useTabs.d.ts CHANGED
@@ -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) => {
package/dist/useTabs.js CHANGED
@@ -21,7 +21,8 @@ function useTabs(_a) {
21
21
  }, [onChange, selectedId]);
22
22
  var focusTab = React.useCallback(function (position) {
23
23
  var refs = itemRefs.current;
24
- if (refs.every(function (ref) { return ref.disabled; }))
24
+ var tabAvailable = function (ref) { return ref && !ref.disabled; };
25
+ if (refs.every(function (ref) { return !tabAvailable(ref); }))
25
26
  return;
26
27
  var focusedTabIndex = refs.findIndex(function (node) { return document.activeElement === node; });
27
28
  if (focusedTabIndex === -1) {
@@ -43,7 +44,7 @@ function useTabs(_a) {
43
44
  break;
44
45
  }
45
46
  var shift = ['prev', 'end'].includes(position) ? -1 : 1;
46
- while (refs[newFocusIndex].disabled) {
47
+ while (!tabAvailable(refs[newFocusIndex])) {
47
48
  newFocusIndex = (refs.length + newFocusIndex + shift) % refs.length;
48
49
  }
49
50
  refs[newFocusIndex].focus();
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@alfalab/core-components-tabs",
3
- "version": "5.2.1",
3
+ "version": "5.2.5",
4
4
  "description": "Tabs components",
5
5
  "keywords": [],
6
6
  "license": "MIT",
@@ -20,7 +20,7 @@
20
20
  },
21
21
  "dependencies": {
22
22
  "@alfalab/core-components-keyboard-focusable": "^2.0.1",
23
- "@alfalab/core-components-tag": "^3.3.0",
23
+ "@alfalab/core-components-tag": "^3.4.0",
24
24
  "classnames": "^2.2.6",
25
25
  "compute-scroll-into-view": "^1.0.13",
26
26
  "lodash.debounce": "^4.0.8"
@@ -29,5 +29,5 @@
29
29
  "react": "^16.9.0 || ^17.0.1",
30
30
  "react-dom": "^16.9.0 || ^17.0.1"
31
31
  },
32
- "gitHead": "f7e6f362736b25355b37fae7bdb32baeb809fbb7"
32
+ "gitHead": "b2bd5ac8f18f81a4dfd390b31d8c0c5d3117e6f9"
33
33
  }
@@ -1,4 +0,0 @@
1
- var commonStyles = {"component":"tabs__component_1ukcm","container":"tabs__container_1ukcm","title":"tabs__title_1ukcm","disabled":"tabs__disabled_1ukcm","focused":"tabs__focused_1ukcm","selected":"tabs__selected_1ukcm","line":"tabs__line_1ukcm","scrollable":"tabs__scrollable_1ukcm","s":"tabs__s_1ukcm","m":"tabs__m_1ukcm","l":"tabs__l_1ukcm","xl":"tabs__xl_1ukcm","rightAddons":"tabs__rightAddons_1ukcm"};
2
- require('./components/primary-tablist/index.css')
3
-
4
- export { commonStyles as c };
@@ -1,4 +0,0 @@
1
- var commonStyles = {"component":"tabs__component_1dypi","container":"tabs__container_1dypi","title":"tabs__title_1dypi","s":"tabs__s_1dypi","m":"tabs__m_1dypi","l":"tabs__l_1dypi","xl":"tabs__xl_1dypi"};
2
- require('./components/secondary-tablist/index.css')
3
-
4
- export { commonStyles as c };
@@ -1,6 +0,0 @@
1
- 'use strict';
2
-
3
- var commonStyles = {"component":"tabs__component_1dypi","container":"tabs__container_1dypi","title":"tabs__title_1dypi","s":"tabs__s_1dypi","m":"tabs__m_1dypi","l":"tabs__l_1dypi","xl":"tabs__xl_1dypi"};
4
- require('./components/secondary-tablist/index.css')
5
-
6
- exports.commonStyles = commonStyles;
@@ -1,6 +0,0 @@
1
- 'use strict';
2
-
3
- var commonStyles = {"component":"tabs__component_1ukcm","container":"tabs__container_1ukcm","title":"tabs__title_1ukcm","disabled":"tabs__disabled_1ukcm","focused":"tabs__focused_1ukcm","selected":"tabs__selected_1ukcm","line":"tabs__line_1ukcm","scrollable":"tabs__scrollable_1ukcm","s":"tabs__s_1ukcm","m":"tabs__m_1ukcm","l":"tabs__l_1ukcm","xl":"tabs__xl_1ukcm","rightAddons":"tabs__rightAddons_1ukcm"};
4
- require('./components/primary-tablist/index.css')
5
-
6
- exports.commonStyles = commonStyles;
@@ -1,4 +0,0 @@
1
- var commonStyles = {"component":"tabs__component_1ukcm","container":"tabs__container_1ukcm","title":"tabs__title_1ukcm","disabled":"tabs__disabled_1ukcm","focused":"tabs__focused_1ukcm","selected":"tabs__selected_1ukcm","line":"tabs__line_1ukcm","scrollable":"tabs__scrollable_1ukcm","s":"tabs__s_1ukcm","m":"tabs__m_1ukcm","l":"tabs__l_1ukcm","xl":"tabs__xl_1ukcm","rightAddons":"tabs__rightAddons_1ukcm"};
2
- require('./components/primary-tablist/index.css')
3
-
4
- export { commonStyles as c };
@@ -1,4 +0,0 @@
1
- var commonStyles = {"component":"tabs__component_1dypi","container":"tabs__container_1dypi","title":"tabs__title_1dypi","s":"tabs__s_1dypi","m":"tabs__m_1dypi","l":"tabs__l_1dypi","xl":"tabs__xl_1dypi"};
2
- require('./components/secondary-tablist/index.css')
3
-
4
- export { commonStyles as c };