@alfalab/core-components-tabs 8.0.8 → 8.1.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/collapsible.d.ts +1 -6
- package/collapsible.js +5 -16
- package/components/primary-tablist/Component.collapsible.d.ts +2 -2
- package/components/primary-tablist/Component.collapsible.js +11 -11
- package/components/primary-tablist/Component.d.ts +2 -2
- package/components/primary-tablist/Component.desktop.js +8 -2
- package/components/primary-tablist/Component.js +8 -2
- package/components/primary-tablist/Component.mobile.js +12 -4
- package/components/primary-tablist/Component.responsive.js +7 -2
- package/components/primary-tablist/index.css +31 -29
- package/components/primary-tablist/mobile.css +34 -32
- package/components/scroll-controls/Component.d.ts +11 -0
- package/components/scroll-controls/Component.js +53 -0
- package/components/scroll-controls/index.css +94 -0
- package/components/scroll-controls/index.d.ts +1 -0
- package/components/scroll-controls/index.js +17 -0
- package/components/scroll-controls/utils.d.ts +7 -0
- package/components/scroll-controls/utils.js +56 -0
- package/components/scrollable-container/Component.d.ts +14 -2
- package/components/scrollable-container/Component.js +45 -8
- package/components/scrollable-container/index.css +10 -6
- package/components/scrollable-container/index.js +7 -0
- package/components/secondary-tablist/Component.d.ts +2 -2
- package/components/secondary-tablist/Component.desktop.js +8 -2
- package/components/secondary-tablist/Component.js +9 -3
- package/components/secondary-tablist/Component.mobile.d.ts +2 -2
- package/components/secondary-tablist/Component.mobile.js +10 -4
- package/components/secondary-tablist/Component.responsive.d.ts +1 -1
- package/components/secondary-tablist/Component.responsive.js +9 -3
- package/components/secondary-tablist/index.css +11 -11
- package/components/secondary-tablist/mobile.css +13 -13
- package/components/tab/Component.js +1 -1
- package/components/tab/index.css +3 -3
- package/components/tabs/Component.collapsible.d.ts +6 -0
- package/components/tabs/{Component.collabsible.desktop.js → Component.collapsible.js} +5 -6
- package/components/tabs/Component.d.ts +1 -1
- package/components/tabs/Component.desktop.js +8 -2
- package/components/tabs/Component.js +2 -2
- package/components/tabs/Component.mobile.d.ts +1 -1
- package/components/tabs/Component.mobile.js +8 -3
- package/components/tabs/Component.responsive.js +8 -3
- package/cssm/collapsible.d.ts +1 -6
- package/cssm/collapsible.js +4 -15
- package/cssm/components/primary-tablist/Component.collapsible.d.ts +2 -2
- package/cssm/components/primary-tablist/Component.collapsible.js +12 -11
- package/cssm/components/primary-tablist/Component.d.ts +2 -2
- package/cssm/components/primary-tablist/Component.desktop.js +8 -1
- package/cssm/components/primary-tablist/Component.js +9 -2
- package/cssm/components/primary-tablist/Component.mobile.js +8 -1
- package/cssm/components/primary-tablist/Component.responsive.js +7 -0
- package/cssm/components/primary-tablist/index.module.css +2 -0
- package/cssm/components/scroll-controls/Component.d.ts +11 -0
- package/cssm/components/scroll-controls/Component.js +52 -0
- package/cssm/components/scroll-controls/index.d.ts +1 -0
- package/cssm/components/scroll-controls/index.js +18 -0
- package/cssm/components/scroll-controls/index.module.css +93 -0
- package/cssm/components/scroll-controls/utils.d.ts +7 -0
- package/cssm/components/scroll-controls/utils.js +56 -0
- package/cssm/components/scrollable-container/Component.d.ts +14 -2
- package/cssm/components/scrollable-container/Component.js +45 -7
- package/cssm/components/scrollable-container/index.js +8 -0
- package/cssm/components/scrollable-container/index.module.css +5 -1
- package/cssm/components/secondary-tablist/Component.d.ts +2 -2
- package/cssm/components/secondary-tablist/Component.desktop.js +8 -1
- package/cssm/components/secondary-tablist/Component.js +10 -3
- package/cssm/components/secondary-tablist/Component.mobile.d.ts +2 -2
- package/cssm/components/secondary-tablist/Component.mobile.js +9 -2
- package/cssm/components/secondary-tablist/Component.responsive.d.ts +1 -1
- package/cssm/components/secondary-tablist/Component.responsive.js +9 -2
- package/cssm/components/tabs/Component.collapsible.d.ts +6 -0
- package/cssm/components/tabs/{Component.collabsible.desktop.js → Component.collapsible.js} +4 -5
- package/cssm/components/tabs/Component.d.ts +1 -1
- package/cssm/components/tabs/Component.desktop.js +7 -0
- package/cssm/components/tabs/Component.js +2 -2
- package/cssm/components/tabs/Component.mobile.d.ts +1 -1
- package/cssm/components/tabs/Component.mobile.js +7 -0
- package/cssm/components/tabs/Component.responsive.js +7 -0
- package/cssm/desktop.js +7 -0
- package/cssm/index-c76d6398.d.ts +0 -1
- package/cssm/index.js +7 -0
- package/cssm/mobile.js +7 -0
- package/cssm/shared.js +8 -1
- package/cssm/typings.d.ts +13 -2
- package/desktop.js +8 -2
- package/esm/collapsible.d.ts +1 -6
- package/esm/collapsible.js +4 -10
- package/esm/components/primary-tablist/Component.collapsible.d.ts +2 -2
- package/esm/components/primary-tablist/Component.collapsible.js +11 -11
- package/esm/components/primary-tablist/Component.d.ts +2 -2
- package/esm/components/primary-tablist/Component.desktop.js +8 -2
- package/esm/components/primary-tablist/Component.js +8 -2
- package/esm/components/primary-tablist/Component.mobile.js +11 -3
- package/esm/components/primary-tablist/Component.responsive.js +7 -2
- package/esm/components/primary-tablist/index.css +31 -29
- package/esm/components/primary-tablist/mobile.css +34 -32
- package/esm/components/scroll-controls/Component.d.ts +11 -0
- package/esm/components/scroll-controls/Component.js +43 -0
- package/esm/components/scroll-controls/index.css +94 -0
- package/esm/components/scroll-controls/index.d.ts +1 -0
- package/esm/components/scroll-controls/index.js +9 -0
- package/esm/components/scroll-controls/utils.d.ts +7 -0
- package/esm/components/scroll-controls/utils.js +50 -0
- package/esm/components/scrollable-container/Component.d.ts +14 -2
- package/esm/components/scrollable-container/Component.js +46 -9
- package/esm/components/scrollable-container/index.css +10 -6
- package/esm/components/scrollable-container/index.js +7 -0
- package/esm/components/secondary-tablist/Component.d.ts +2 -2
- package/esm/components/secondary-tablist/Component.desktop.js +8 -2
- package/esm/components/secondary-tablist/Component.js +9 -3
- package/esm/components/secondary-tablist/Component.mobile.d.ts +2 -2
- package/esm/components/secondary-tablist/Component.mobile.js +10 -4
- package/esm/components/secondary-tablist/Component.responsive.d.ts +1 -1
- package/esm/components/secondary-tablist/Component.responsive.js +9 -3
- package/esm/components/secondary-tablist/index.css +11 -11
- package/esm/components/secondary-tablist/mobile.css +13 -13
- package/esm/components/tab/Component.js +1 -1
- package/esm/components/tab/index.css +3 -3
- package/esm/components/tabs/Component.collapsible.d.ts +6 -0
- package/esm/components/tabs/{Component.collabsible.desktop.js → Component.collapsible.js} +5 -6
- package/esm/components/tabs/Component.d.ts +1 -1
- package/esm/components/tabs/Component.desktop.js +8 -2
- package/esm/components/tabs/Component.js +2 -2
- package/esm/components/tabs/Component.mobile.d.ts +1 -1
- package/esm/components/tabs/Component.mobile.js +8 -3
- package/esm/components/tabs/Component.responsive.js +8 -3
- package/esm/desktop.js +8 -2
- package/esm/index-c76d6398.d.ts +0 -1
- package/esm/index.js +8 -3
- package/esm/index.module-7fe2e8dc.js +4 -0
- package/esm/index.module-fbff2d78.js +4 -0
- package/esm/mobile.js +8 -3
- package/esm/shared.js +7 -1
- package/esm/typings.d.ts +13 -2
- package/index-c76d6398.d.ts +0 -1
- package/index-ebda875c.d.ts +86 -21
- package/index.js +8 -3
- package/index.module-447ba3e0.js +6 -0
- package/index.module-ee99c069.js +6 -0
- package/mobile.js +8 -3
- package/modern/collapsible.d.ts +1 -6
- package/modern/collapsible.js +4 -10
- package/modern/components/primary-tablist/Component.collapsible.d.ts +2 -2
- package/modern/components/primary-tablist/Component.collapsible.js +11 -11
- package/modern/components/primary-tablist/Component.d.ts +2 -2
- package/modern/components/primary-tablist/Component.desktop.js +8 -2
- package/modern/components/primary-tablist/Component.js +8 -2
- package/modern/components/primary-tablist/Component.mobile.js +11 -3
- package/modern/components/primary-tablist/Component.responsive.js +7 -2
- package/modern/components/primary-tablist/index.css +31 -29
- package/modern/components/primary-tablist/mobile.css +34 -32
- package/modern/components/scroll-controls/Component.d.ts +11 -0
- package/modern/components/scroll-controls/Component.js +40 -0
- package/modern/components/scroll-controls/index.css +94 -0
- package/modern/components/scroll-controls/index.d.ts +1 -0
- package/modern/components/scroll-controls/index.js +8 -0
- package/modern/components/scroll-controls/utils.d.ts +7 -0
- package/modern/components/scroll-controls/utils.js +50 -0
- package/modern/components/scrollable-container/Component.d.ts +14 -2
- package/modern/components/scrollable-container/Component.js +44 -9
- package/modern/components/scrollable-container/index.css +10 -6
- package/modern/components/scrollable-container/index.js +6 -0
- package/modern/components/secondary-tablist/Component.d.ts +2 -2
- package/modern/components/secondary-tablist/Component.desktop.js +8 -2
- package/modern/components/secondary-tablist/Component.js +9 -3
- package/modern/components/secondary-tablist/Component.mobile.d.ts +2 -2
- package/modern/components/secondary-tablist/Component.mobile.js +9 -3
- package/modern/components/secondary-tablist/Component.responsive.d.ts +1 -1
- package/modern/components/secondary-tablist/Component.responsive.js +9 -3
- package/modern/components/secondary-tablist/index.css +11 -11
- package/modern/components/secondary-tablist/mobile.css +13 -13
- package/modern/components/tab/Component.js +1 -1
- package/modern/components/tab/index.css +3 -3
- package/modern/components/tabs/Component.collapsible.d.ts +6 -0
- package/modern/components/tabs/{Component.collabsible.desktop.js → Component.collapsible.js} +4 -5
- package/modern/components/tabs/Component.d.ts +1 -1
- package/modern/components/tabs/Component.desktop.js +8 -2
- package/modern/components/tabs/Component.js +2 -2
- package/modern/components/tabs/Component.mobile.d.ts +1 -1
- package/modern/components/tabs/Component.mobile.js +8 -3
- package/modern/components/tabs/Component.responsive.js +8 -3
- package/modern/desktop.js +8 -2
- package/modern/index-c76d6398.d.ts +0 -1
- package/modern/index.js +8 -3
- package/modern/index.module-22ff4191.js +4 -0
- package/modern/index.module-3f8f9d5d.js +4 -0
- package/modern/mobile.js +8 -3
- package/modern/shared.js +6 -0
- package/modern/typings.d.ts +13 -2
- package/package.json +5 -2
- package/shared.js +7 -1
- package/src/collapsible.ts +1 -9
- package/src/components/primary-tablist/Component.collapsible.tsx +6 -7
- package/src/components/primary-tablist/Component.desktop.tsx +1 -1
- package/src/components/primary-tablist/Component.mobile.tsx +6 -1
- package/src/components/primary-tablist/Component.tsx +6 -2
- package/src/components/primary-tablist/index.module.css +4 -0
- package/src/components/scroll-controls/Component.tsx +78 -0
- package/src/components/scroll-controls/index.module.css +68 -0
- package/src/components/scroll-controls/index.ts +1 -0
- package/src/components/scroll-controls/utils.ts +60 -0
- package/src/components/scrollable-container/Component.tsx +81 -12
- package/src/components/scrollable-container/index.module.css +7 -1
- package/src/components/secondary-tablist/Component.desktop.tsx +1 -0
- package/src/components/secondary-tablist/Component.mobile.tsx +4 -2
- package/src/components/secondary-tablist/Component.responsive.tsx +1 -2
- package/src/components/secondary-tablist/Component.tsx +10 -2
- package/src/components/tabs/Component.collapsible.tsx +15 -0
- package/src/components/tabs/Component.mobile.tsx +1 -1
- package/src/components/tabs/Component.tsx +4 -0
- package/src/typings.ts +16 -0
- package/typings.d.ts +13 -2
- package/components/primary-tablist/Component.collapsible.desktop.d.ts +0 -5
- package/components/primary-tablist/Component.collapsible.desktop.js +0 -32
- package/components/primary-tablist/Component.collapsible.mobile.d.ts +0 -6
- package/components/primary-tablist/Component.collapsible.mobile.js +0 -35
- package/components/primary-tablist/Component.collapsible.responsive.d.ts +0 -5
- package/components/primary-tablist/Component.collapsible.responsive.js +0 -36
- package/components/tabs/Component.collabsible.desktop.d.ts +0 -6
- package/components/tabs/Component.collapsible.mobile.d.ts +0 -6
- package/components/tabs/Component.collapsible.mobile.js +0 -35
- package/components/tabs/Component.collapsible.responsive.d.ts +0 -6
- package/components/tabs/Component.collapsible.responsive.js +0 -37
- package/cssm/components/primary-tablist/Component.collapsible.desktop.d.ts +0 -5
- package/cssm/components/primary-tablist/Component.collapsible.desktop.js +0 -33
- package/cssm/components/primary-tablist/Component.collapsible.mobile.d.ts +0 -6
- package/cssm/components/primary-tablist/Component.collapsible.mobile.js +0 -37
- package/cssm/components/primary-tablist/Component.collapsible.responsive.d.ts +0 -5
- package/cssm/components/primary-tablist/Component.collapsible.responsive.js +0 -36
- package/cssm/components/tabs/Component.collabsible.desktop.d.ts +0 -6
- package/cssm/components/tabs/Component.collapsible.mobile.d.ts +0 -6
- package/cssm/components/tabs/Component.collapsible.mobile.js +0 -35
- package/cssm/components/tabs/Component.collapsible.responsive.d.ts +0 -6
- package/cssm/components/tabs/Component.collapsible.responsive.js +0 -37
- package/esm/components/primary-tablist/Component.collapsible.desktop.d.ts +0 -5
- package/esm/components/primary-tablist/Component.collapsible.desktop.js +0 -24
- package/esm/components/primary-tablist/Component.collapsible.mobile.d.ts +0 -6
- package/esm/components/primary-tablist/Component.collapsible.mobile.js +0 -26
- package/esm/components/primary-tablist/Component.collapsible.responsive.d.ts +0 -5
- package/esm/components/primary-tablist/Component.collapsible.responsive.js +0 -28
- package/esm/components/tabs/Component.collabsible.desktop.d.ts +0 -6
- package/esm/components/tabs/Component.collapsible.mobile.d.ts +0 -6
- package/esm/components/tabs/Component.collapsible.mobile.js +0 -27
- package/esm/components/tabs/Component.collapsible.responsive.d.ts +0 -6
- package/esm/components/tabs/Component.collapsible.responsive.js +0 -29
- package/esm/index.module-511c86f3.js +0 -4
- package/esm/index.module-ffeeb976.js +0 -4
- package/esm/mobile.module-34deaa77.js +0 -4
- package/index.module-0d8ea41a.js +0 -6
- package/index.module-38e4686f.js +0 -6
- package/mobile.module-a305e8da.js +0 -6
- package/modern/components/primary-tablist/Component.collapsible.desktop.d.ts +0 -5
- package/modern/components/primary-tablist/Component.collapsible.desktop.js +0 -20
- package/modern/components/primary-tablist/Component.collapsible.mobile.d.ts +0 -6
- package/modern/components/primary-tablist/Component.collapsible.mobile.js +0 -25
- package/modern/components/primary-tablist/Component.collapsible.responsive.d.ts +0 -5
- package/modern/components/primary-tablist/Component.collapsible.responsive.js +0 -26
- package/modern/components/tabs/Component.collabsible.desktop.d.ts +0 -6
- package/modern/components/tabs/Component.collapsible.mobile.d.ts +0 -6
- package/modern/components/tabs/Component.collapsible.mobile.js +0 -23
- package/modern/components/tabs/Component.collapsible.responsive.d.ts +0 -6
- package/modern/components/tabs/Component.collapsible.responsive.js +0 -25
- package/modern/index.module-4f82d773.js +0 -4
- package/modern/index.module-6f255828.js +0 -4
- package/modern/mobile.module-02182f0f.js +0 -4
- package/src/components/primary-tablist/Component.collapsible.desktop.tsx +0 -11
- package/src/components/primary-tablist/Component.collapsible.mobile.tsx +0 -27
- package/src/components/primary-tablist/Component.collapsible.responsive.tsx +0 -34
- package/src/components/tabs/Component.collabsible.desktop.tsx +0 -15
- package/src/components/tabs/Component.collapsible.mobile.tsx +0 -15
- package/src/components/tabs/Component.collapsible.responsive.tsx +0 -12
|
@@ -0,0 +1,94 @@
|
|
|
1
|
+
/* hash: y6f39 */
|
|
2
|
+
:root {
|
|
3
|
+
} /* deprecated */ :root {
|
|
4
|
+
--color-light-border-primary: #dcdcdd;
|
|
5
|
+
--color-light-specialbg-tertiary-transparent: rgba(11, 31, 53, 0.1); /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */
|
|
6
|
+
} :root { /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */
|
|
7
|
+
} :root {
|
|
8
|
+
} :root {
|
|
9
|
+
|
|
10
|
+
/* Hard */
|
|
11
|
+
|
|
12
|
+
/* Up */
|
|
13
|
+
|
|
14
|
+
/* Hard up */
|
|
15
|
+
} :root {
|
|
16
|
+
} :root {
|
|
17
|
+
--gap-2xs: 4px;
|
|
18
|
+
--gap-xs: 8px;
|
|
19
|
+
} :root {
|
|
20
|
+
} :root {
|
|
21
|
+
} :root {
|
|
22
|
+
--primary-tablist-bottom-border-color: var(--color-light-border-primary);
|
|
23
|
+
|
|
24
|
+
/* mobile */
|
|
25
|
+
|
|
26
|
+
/* size s */
|
|
27
|
+
|
|
28
|
+
/* size m */
|
|
29
|
+
|
|
30
|
+
/* size l */
|
|
31
|
+
|
|
32
|
+
/* size xl */
|
|
33
|
+
|
|
34
|
+
/* mobile */
|
|
35
|
+
|
|
36
|
+
/* size xxs */
|
|
37
|
+
|
|
38
|
+
/* size xs */
|
|
39
|
+
|
|
40
|
+
/* size s */
|
|
41
|
+
|
|
42
|
+
/* size m */
|
|
43
|
+
|
|
44
|
+
/* size l */
|
|
45
|
+
|
|
46
|
+
/* size xl */
|
|
47
|
+
} .tabs__component_1i374 {
|
|
48
|
+
position: relative;
|
|
49
|
+
display: flex;
|
|
50
|
+
flex-shrink: 0
|
|
51
|
+
} .tabs__component_1i374:before {
|
|
52
|
+
content: '';
|
|
53
|
+
display: block;
|
|
54
|
+
position: absolute;
|
|
55
|
+
top: 0;
|
|
56
|
+
left: 0;
|
|
57
|
+
width: 1px;
|
|
58
|
+
background-color: transparent;
|
|
59
|
+
transition: background-color 0.3s ease;
|
|
60
|
+
} .tabs__borderVisible_1i374:before {
|
|
61
|
+
background-color: var(--color-light-specialbg-tertiary-transparent);
|
|
62
|
+
} .tabs__primary_1i374 {
|
|
63
|
+
align-items: flex-start;
|
|
64
|
+
justify-content: flex-end
|
|
65
|
+
} .tabs__primary_1i374:after {
|
|
66
|
+
content: '';
|
|
67
|
+
display: block;
|
|
68
|
+
position: absolute;
|
|
69
|
+
bottom: 1px;
|
|
70
|
+
height: 1px;
|
|
71
|
+
width: 100%;
|
|
72
|
+
background-color: var(--primary-tablist-bottom-border-color);
|
|
73
|
+
} .tabs__primary_1i374:before {
|
|
74
|
+
bottom: 2px;
|
|
75
|
+
} .tabs__primary_1i374 {
|
|
76
|
+
|
|
77
|
+
.tabs__button_1i374:first-child {
|
|
78
|
+
padding-left: var(--gap-xs);
|
|
79
|
+
margin-right: var(--gap-xs);
|
|
80
|
+
}
|
|
81
|
+
} .tabs__primary_1i374.tabs__xl_1i374 .tabs__button_1i374:first-child {
|
|
82
|
+
margin-right: var(--gap-2xs);
|
|
83
|
+
} .tabs__secondary_1i374 {
|
|
84
|
+
align-items: center;
|
|
85
|
+
justify-content: center
|
|
86
|
+
} .tabs__secondary_1i374:before {
|
|
87
|
+
bottom: 0;
|
|
88
|
+
} .tabs__secondary_1i374.tabs__xs_1i374 {
|
|
89
|
+
width: 76px;
|
|
90
|
+
|
|
91
|
+
.tabs__button_1i374:first-child {
|
|
92
|
+
margin-right: var(--gap-2xs);
|
|
93
|
+
}
|
|
94
|
+
}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
export { ScrollControls } from "./Component";
|
|
@@ -0,0 +1,17 @@
|
|
|
1
|
+
'use strict';
|
|
2
|
+
|
|
3
|
+
Object.defineProperty(exports, '__esModule', { value: true });
|
|
4
|
+
|
|
5
|
+
var components_scrollControls_Component = require('./Component.js');
|
|
6
|
+
require('tslib');
|
|
7
|
+
require('react');
|
|
8
|
+
require('classnames');
|
|
9
|
+
require('lodash.debounce');
|
|
10
|
+
require('@alfalab/core-components-icon-button');
|
|
11
|
+
require('@alfalab/icons-glyph/ChevronLeftMIcon');
|
|
12
|
+
require('@alfalab/icons-glyph/ChevronRightMIcon');
|
|
13
|
+
require('./utils.js');
|
|
14
|
+
|
|
15
|
+
|
|
16
|
+
|
|
17
|
+
exports.ScrollControls = components_scrollControls_Component.ScrollControls;
|
|
@@ -0,0 +1,7 @@
|
|
|
1
|
+
declare function scrollIntoLastTab(container: HTMLDivElement | null): void;
|
|
2
|
+
declare function scrollIntoFirstTab(container: HTMLDivElement | null): void;
|
|
3
|
+
declare function getDisabledState(container: HTMLDivElement | null): {
|
|
4
|
+
toLeft: boolean;
|
|
5
|
+
toRight: boolean;
|
|
6
|
+
};
|
|
7
|
+
export { scrollIntoLastTab, scrollIntoFirstTab, getDisabledState };
|
|
@@ -0,0 +1,56 @@
|
|
|
1
|
+
'use strict';
|
|
2
|
+
|
|
3
|
+
Object.defineProperty(exports, '__esModule', { value: true });
|
|
4
|
+
|
|
5
|
+
var ADDITIONAL_OFFSET = 15;
|
|
6
|
+
function getTabs(container) {
|
|
7
|
+
return Array.from(container.querySelectorAll('button[role="tab"]'));
|
|
8
|
+
}
|
|
9
|
+
function findLastVisibleTab(container) {
|
|
10
|
+
var tabs = getTabs(container);
|
|
11
|
+
return tabs.reduce(function (res, tab) {
|
|
12
|
+
if (tab.offsetLeft + ADDITIONAL_OFFSET < container.clientWidth + container.scrollLeft) {
|
|
13
|
+
return tab;
|
|
14
|
+
}
|
|
15
|
+
return res;
|
|
16
|
+
}, tabs[0]);
|
|
17
|
+
}
|
|
18
|
+
function findFirstVisibleTab(container) {
|
|
19
|
+
var tabs = getTabs(container);
|
|
20
|
+
return tabs.reduceRight(function (res, tab) {
|
|
21
|
+
if (tab.offsetLeft + tab.clientWidth > container.scrollLeft + ADDITIONAL_OFFSET) {
|
|
22
|
+
return tab;
|
|
23
|
+
}
|
|
24
|
+
return res;
|
|
25
|
+
}, tabs[tabs.length - 1]);
|
|
26
|
+
}
|
|
27
|
+
function scrollIntoLastTab(container) {
|
|
28
|
+
if (!container)
|
|
29
|
+
return;
|
|
30
|
+
findLastVisibleTab(container).scrollIntoView({
|
|
31
|
+
behavior: 'smooth',
|
|
32
|
+
block: 'nearest',
|
|
33
|
+
inline: 'start',
|
|
34
|
+
});
|
|
35
|
+
}
|
|
36
|
+
function scrollIntoFirstTab(container) {
|
|
37
|
+
if (!container)
|
|
38
|
+
return;
|
|
39
|
+
findFirstVisibleTab(container).scrollIntoView({
|
|
40
|
+
behavior: 'smooth',
|
|
41
|
+
block: 'nearest',
|
|
42
|
+
inline: 'end',
|
|
43
|
+
});
|
|
44
|
+
}
|
|
45
|
+
function getDisabledState(container) {
|
|
46
|
+
if (!container)
|
|
47
|
+
return { toLeft: false, toRight: false };
|
|
48
|
+
var scrollOffset = 2;
|
|
49
|
+
var toLeft = container.scrollLeft <= scrollOffset;
|
|
50
|
+
var toRight = container.scrollLeft + container.clientWidth >= container.scrollWidth - scrollOffset;
|
|
51
|
+
return { toLeft: toLeft, toRight: toRight };
|
|
52
|
+
}
|
|
53
|
+
|
|
54
|
+
exports.getDisabledState = getDisabledState;
|
|
55
|
+
exports.scrollIntoFirstTab = scrollIntoFirstTab;
|
|
56
|
+
exports.scrollIntoLastTab = scrollIntoLastTab;
|
|
@@ -1,8 +1,12 @@
|
|
|
1
1
|
/// <reference types="react" />
|
|
2
2
|
import React from 'react';
|
|
3
3
|
import { ReactNode } from "react";
|
|
4
|
-
import { TabsProps } from "../../typings";
|
|
4
|
+
import { PlatformProps, TabsProps } from "../../typings";
|
|
5
5
|
type ScrollableContainerProps = {
|
|
6
|
+
/**
|
|
7
|
+
* Дополнительный класс враппера контейнера
|
|
8
|
+
*/
|
|
9
|
+
containerWrapperClassName?: string;
|
|
6
10
|
/**
|
|
7
11
|
* Дополнительный класс контейнера
|
|
8
12
|
*/
|
|
@@ -15,6 +19,14 @@ type ScrollableContainerProps = {
|
|
|
15
19
|
* Активный элемент (всегда будет в видимой области)
|
|
16
20
|
*/
|
|
17
21
|
activeChild: HTMLElement | null;
|
|
22
|
+
/**
|
|
23
|
+
* Внешний вид заголовков табов
|
|
24
|
+
*/
|
|
25
|
+
view: Exclude<TabsProps['view'], undefined>;
|
|
26
|
+
/**
|
|
27
|
+
* Размер
|
|
28
|
+
*/
|
|
29
|
+
size: TabsProps['size'];
|
|
18
30
|
};
|
|
19
|
-
declare const ScrollableContainer: ({ containerClassName, children, activeChild, fullWidthScroll, }: ScrollableContainerProps & Pick<TabsProps, 'fullWidthScroll'>) => React.JSX.Element;
|
|
31
|
+
declare const ScrollableContainer: ({ containerWrapperClassName, containerClassName, children, activeChild, fullWidthScroll, view, size, platform, }: ScrollableContainerProps & Pick<TabsProps, 'fullWidthScroll'> & PlatformProps) => React.JSX.Element;
|
|
20
32
|
export { ScrollableContainerProps, ScrollableContainer };
|
|
@@ -5,6 +5,13 @@ Object.defineProperty(exports, '__esModule', { value: true });
|
|
|
5
5
|
var React = require('react');
|
|
6
6
|
var cn = require('classnames');
|
|
7
7
|
var computeScrollIntoView = require('compute-scroll-into-view');
|
|
8
|
+
var components_scrollControls_Component = require('../scroll-controls/Component.js');
|
|
9
|
+
require('tslib');
|
|
10
|
+
require('lodash.debounce');
|
|
11
|
+
require('@alfalab/core-components-icon-button');
|
|
12
|
+
require('@alfalab/icons-glyph/ChevronLeftMIcon');
|
|
13
|
+
require('@alfalab/icons-glyph/ChevronRightMIcon');
|
|
14
|
+
require('../scroll-controls/utils.js');
|
|
8
15
|
|
|
9
16
|
function _interopDefaultCompat (e) { return e && typeof e === 'object' && 'default' in e ? e : { default: e }; }
|
|
10
17
|
|
|
@@ -12,22 +19,31 @@ var React__default = /*#__PURE__*/_interopDefaultCompat(React);
|
|
|
12
19
|
var cn__default = /*#__PURE__*/_interopDefaultCompat(cn);
|
|
13
20
|
var computeScrollIntoView__default = /*#__PURE__*/_interopDefaultCompat(computeScrollIntoView);
|
|
14
21
|
|
|
15
|
-
var styles = {"container":"
|
|
22
|
+
var styles = {"scrollableContainerWrapper":"tabs__scrollableContainerWrapper_v4p4z","container":"tabs__container_v4p4z","fullWidthScroll":"tabs__fullWidthScroll_v4p4z"};
|
|
16
23
|
require('./index.css')
|
|
17
24
|
|
|
18
25
|
/**
|
|
19
26
|
* Дополнительная прокрутка при клике на не поместившийся таб
|
|
20
27
|
*/
|
|
21
|
-
var
|
|
28
|
+
var ADDITIONAL_SCROLL_LEFT_VALUE = 50;
|
|
29
|
+
var isOverflown = function (_a, controlsNode) {
|
|
30
|
+
var clientWidth = _a.clientWidth, scrollWidth = _a.scrollWidth;
|
|
31
|
+
var controlsWidth = (controlsNode === null || controlsNode === void 0 ? void 0 : controlsNode.offsetWidth) || 0;
|
|
32
|
+
return scrollWidth > clientWidth + controlsWidth;
|
|
33
|
+
};
|
|
22
34
|
var ScrollableContainer = function (_a) {
|
|
23
35
|
var _b;
|
|
24
|
-
var containerClassName = _a.containerClassName, children = _a.children, activeChild = _a.activeChild, fullWidthScroll = _a.fullWidthScroll;
|
|
36
|
+
var containerWrapperClassName = _a.containerWrapperClassName, containerClassName = _a.containerClassName, children = _a.children, activeChild = _a.activeChild, fullWidthScroll = _a.fullWidthScroll, view = _a.view, size = _a.size, platform = _a.platform;
|
|
37
|
+
var containerRef = React.useRef(null);
|
|
38
|
+
var controlsRef = React.useRef(null);
|
|
39
|
+
var _c = React.useState(false), overflown = _c[0], setOverflown = _c[1];
|
|
25
40
|
React.useEffect(function () {
|
|
26
41
|
if (activeChild) {
|
|
27
42
|
var actions = computeScrollIntoView__default.default(activeChild, {
|
|
28
43
|
scrollMode: 'if-needed',
|
|
29
44
|
block: 'nearest',
|
|
30
45
|
inline: 'nearest',
|
|
46
|
+
boundary: function (parent) { return !parent.isSameNode(containerRef.current); },
|
|
31
47
|
});
|
|
32
48
|
// TODO: animate?
|
|
33
49
|
actions.forEach(function (_a) {
|
|
@@ -35,14 +51,35 @@ var ScrollableContainer = function (_a) {
|
|
|
35
51
|
// eslint-disable-next-line no-param-reassign
|
|
36
52
|
el.scrollLeft =
|
|
37
53
|
el.scrollLeft > left
|
|
38
|
-
? left -
|
|
39
|
-
: left +
|
|
54
|
+
? left - ADDITIONAL_SCROLL_LEFT_VALUE
|
|
55
|
+
: left + ADDITIONAL_SCROLL_LEFT_VALUE;
|
|
40
56
|
});
|
|
41
57
|
}
|
|
42
58
|
}, [activeChild]);
|
|
43
|
-
|
|
44
|
-
|
|
45
|
-
|
|
59
|
+
React.useEffect(function () {
|
|
60
|
+
var scrollableNode = containerRef.current;
|
|
61
|
+
var tabsContainer = scrollableNode === null || scrollableNode === void 0 ? void 0 : scrollableNode.firstElementChild;
|
|
62
|
+
if (platform === 'desktop' && scrollableNode && tabsContainer && window.ResizeObserver) {
|
|
63
|
+
var observerCb = function () {
|
|
64
|
+
if (isOverflown(scrollableNode, controlsRef.current)) {
|
|
65
|
+
setOverflown(true);
|
|
66
|
+
}
|
|
67
|
+
else {
|
|
68
|
+
setOverflown(false);
|
|
69
|
+
}
|
|
70
|
+
};
|
|
71
|
+
var observer_1 = new ResizeObserver(observerCb);
|
|
72
|
+
observer_1.observe(scrollableNode);
|
|
73
|
+
observer_1.observe(tabsContainer);
|
|
74
|
+
return function () { return observer_1.disconnect(); };
|
|
75
|
+
}
|
|
76
|
+
return function () { };
|
|
77
|
+
}, [platform]);
|
|
78
|
+
return (React__default.default.createElement("div", { className: cn__default.default(styles.scrollableContainerWrapper, containerWrapperClassName) },
|
|
79
|
+
React__default.default.createElement("div", { ref: containerRef, className: cn__default.default(styles.container, containerClassName, (_b = {},
|
|
80
|
+
_b[styles.fullWidthScroll] = fullWidthScroll,
|
|
81
|
+
_b)) }, children),
|
|
82
|
+
overflown && platform === 'desktop' ? (React__default.default.createElement(components_scrollControls_Component.ScrollControls, { ref: controlsRef, containerRef: containerRef, view: view, size: size })) : null));
|
|
46
83
|
};
|
|
47
84
|
|
|
48
85
|
exports.ScrollableContainer = ScrollableContainer;
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
/* hash:
|
|
1
|
+
/* hash: 1kolo */
|
|
2
2
|
:root {
|
|
3
3
|
} /* deprecated */ :root { /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */
|
|
4
4
|
} :root { /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */
|
|
@@ -42,20 +42,24 @@
|
|
|
42
42
|
/* size l */
|
|
43
43
|
|
|
44
44
|
/* size xl */
|
|
45
|
-
} .
|
|
45
|
+
} .tabs__scrollableContainerWrapper_v4p4z {
|
|
46
|
+
display: flex;
|
|
47
|
+
} .tabs__container_v4p4z {
|
|
46
48
|
position: relative;
|
|
47
49
|
overflow-x: auto;
|
|
48
50
|
overflow-y: hidden;
|
|
49
51
|
scroll-behavior: smooth;
|
|
50
52
|
scrollbar-width: none;
|
|
53
|
+
flex: 1;
|
|
51
54
|
|
|
52
55
|
/* focus-outline fix */
|
|
53
56
|
margin: var(--gap-2xs-neg) 0 var(--gap-2xs-neg) var(--gap-2xs-neg);
|
|
54
57
|
padding: var(--gap-2xs) 0 var(--gap-2xs) var(--gap-2xs)
|
|
55
|
-
} .
|
|
58
|
+
} .tabs__container_v4p4z::-webkit-scrollbar {
|
|
56
59
|
display: none;
|
|
57
|
-
} .
|
|
60
|
+
} .tabs__container_v4p4z > * {
|
|
58
61
|
flex-shrink: 0;
|
|
59
|
-
} .
|
|
60
|
-
|
|
62
|
+
} .tabs__fullWidthScroll_v4p4z {
|
|
63
|
+
padding-left: 0;
|
|
64
|
+
margin: var(--gap-2xs-neg) var(--gap-m-neg);
|
|
61
65
|
}
|
|
@@ -6,6 +6,13 @@ var components_scrollableContainer_Component = require('./Component.js');
|
|
|
6
6
|
require('react');
|
|
7
7
|
require('classnames');
|
|
8
8
|
require('compute-scroll-into-view');
|
|
9
|
+
require('../scroll-controls/Component.js');
|
|
10
|
+
require('tslib');
|
|
11
|
+
require('lodash.debounce');
|
|
12
|
+
require('@alfalab/core-components-icon-button');
|
|
13
|
+
require('@alfalab/icons-glyph/ChevronLeftMIcon');
|
|
14
|
+
require('@alfalab/icons-glyph/ChevronRightMIcon');
|
|
15
|
+
require('../scroll-controls/utils.js');
|
|
9
16
|
|
|
10
17
|
|
|
11
18
|
|
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
/// <reference types="react" />
|
|
2
2
|
import React from 'react';
|
|
3
|
-
import { SecondaryTabListProps, Styles } from "../../typings";
|
|
4
|
-
declare const SecondaryTabList: ({ styles, className, containerClassName, size, titles, selectedId, scrollable, fullWidthScroll, tagSize, onChange, dataTestId, TagComponent, }: SecondaryTabListProps & Styles) => React.JSX.Element;
|
|
3
|
+
import { PlatformProps, SecondaryTabListProps, Styles } from "../../typings";
|
|
4
|
+
declare const SecondaryTabList: ({ styles, className, containerClassName, size, titles, selectedId, scrollable, fullWidthScroll, tagSize, onChange, dataTestId, TagComponent, platform, tagShape, tagView, }: SecondaryTabListProps & Styles & PlatformProps) => React.JSX.Element;
|
|
5
5
|
export { SecondaryTabList };
|
|
@@ -6,12 +6,18 @@ var tslib = require('tslib');
|
|
|
6
6
|
var React = require('react');
|
|
7
7
|
var desktop = require('@alfalab/core-components-tag/desktop');
|
|
8
8
|
var components_secondaryTablist_Component = require('./Component.js');
|
|
9
|
-
var index_module = require('../../index.module-
|
|
9
|
+
var index_module = require('../../index.module-447ba3e0.js');
|
|
10
10
|
require('classnames');
|
|
11
11
|
require('../../hooks/use-tabs.js');
|
|
12
12
|
require('@alfalab/core-components-shared');
|
|
13
13
|
require('../scrollable-container/Component.js');
|
|
14
14
|
require('compute-scroll-into-view');
|
|
15
|
+
require('../scroll-controls/Component.js');
|
|
16
|
+
require('lodash.debounce');
|
|
17
|
+
require('@alfalab/core-components-icon-button');
|
|
18
|
+
require('@alfalab/icons-glyph/ChevronLeftMIcon');
|
|
19
|
+
require('@alfalab/icons-glyph/ChevronRightMIcon');
|
|
20
|
+
require('../scroll-controls/utils.js');
|
|
15
21
|
|
|
16
22
|
function _interopDefaultCompat (e) { return e && typeof e === 'object' && 'default' in e ? e : { default: e }; }
|
|
17
23
|
|
|
@@ -19,7 +25,7 @@ var React__default = /*#__PURE__*/_interopDefaultCompat(React);
|
|
|
19
25
|
|
|
20
26
|
var SecondaryTabListDesktop = function (_a) {
|
|
21
27
|
var _b = _a.size, size = _b === void 0 ? 's' : _b, restProps = tslib.__rest(_a, ["size"]);
|
|
22
|
-
return (React__default.default.createElement(components_secondaryTablist_Component.SecondaryTabList, tslib.__assign({}, restProps, { TagComponent: desktop.TagDesktop, size: size, styles: index_module.commonStyles, tagSize: size })));
|
|
28
|
+
return (React__default.default.createElement(components_secondaryTablist_Component.SecondaryTabList, tslib.__assign({}, restProps, { TagComponent: desktop.TagDesktop, size: size, styles: index_module.commonStyles, tagSize: size, platform: 'desktop' })));
|
|
23
29
|
};
|
|
24
30
|
|
|
25
31
|
exports.SecondaryTabListDesktop = SecondaryTabListDesktop;
|
|
@@ -9,6 +9,12 @@ var hooks_useTabs = require('../../hooks/use-tabs.js');
|
|
|
9
9
|
var components_scrollableContainer_Component = require('../scrollable-container/Component.js');
|
|
10
10
|
require('@alfalab/core-components-shared');
|
|
11
11
|
require('compute-scroll-into-view');
|
|
12
|
+
require('../scroll-controls/Component.js');
|
|
13
|
+
require('lodash.debounce');
|
|
14
|
+
require('@alfalab/core-components-icon-button');
|
|
15
|
+
require('@alfalab/icons-glyph/ChevronLeftMIcon');
|
|
16
|
+
require('@alfalab/icons-glyph/ChevronRightMIcon');
|
|
17
|
+
require('../scroll-controls/utils.js');
|
|
12
18
|
|
|
13
19
|
function _interopDefaultCompat (e) { return e && typeof e === 'object' && 'default' in e ? e : { default: e }; }
|
|
14
20
|
|
|
@@ -16,7 +22,7 @@ var React__default = /*#__PURE__*/_interopDefaultCompat(React);
|
|
|
16
22
|
var cn__default = /*#__PURE__*/_interopDefaultCompat(cn);
|
|
17
23
|
|
|
18
24
|
var SecondaryTabList = function (_a) {
|
|
19
|
-
var _b = _a.styles, styles = _b === void 0 ? {} : _b, className = _a.className, containerClassName = _a.containerClassName, size = _a.size, _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, _f = _a.tagSize, tagSize = _f === void 0 ? 'xs' : _f, onChange = _a.onChange, dataTestId = _a.dataTestId, TagComponent = _a.TagComponent;
|
|
25
|
+
var _b = _a.styles, styles = _b === void 0 ? {} : _b, className = _a.className, containerClassName = _a.containerClassName, size = _a.size, _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, _f = _a.tagSize, tagSize = _f === void 0 ? 'xs' : _f, onChange = _a.onChange, dataTestId = _a.dataTestId, TagComponent = _a.TagComponent, platform = _a.platform, tagShape = _a.tagShape, tagView = _a.tagView;
|
|
20
26
|
var _g = hooks_useTabs.useTabs({
|
|
21
27
|
titles: titles,
|
|
22
28
|
selectedId: selectedId,
|
|
@@ -31,10 +37,10 @@ var SecondaryTabList = function (_a) {
|
|
|
31
37
|
_a)) }, titles.map(function (item, index) {
|
|
32
38
|
if (item.hidden)
|
|
33
39
|
return null;
|
|
34
|
-
return (React__default.default.createElement(TagComponent, tslib.__assign({}, getTabListItemProps(index), { key: item.id, className: cn__default.default(styles.title, item.toggleClassName), checked: item.id === selectedId, size: tagSize, rightAddons: item.rightAddons }), item.title));
|
|
40
|
+
return (React__default.default.createElement(TagComponent, tslib.__assign({}, getTabListItemProps(index), { shape: tagShape, view: tagView, key: item.id, className: cn__default.default(styles.title, item.toggleClassName), checked: item.id === selectedId, size: tagSize, rightAddons: item.rightAddons }), item.title));
|
|
35
41
|
})));
|
|
36
42
|
};
|
|
37
|
-
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()));
|
|
43
|
+
return scrollable ? (React__default.default.createElement(components_scrollableContainer_Component.ScrollableContainer, { activeChild: focusedTab || selectedTab, containerClassName: containerClassName, fullWidthScroll: fullWidthScroll, view: 'secondary', size: size, platform: platform }, renderContent())) : (React__default.default.createElement("div", { className: cn__default.default(styles.container, containerClassName) }, renderContent()));
|
|
38
44
|
};
|
|
39
45
|
|
|
40
46
|
exports.SecondaryTabList = SecondaryTabList;
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
/// <reference types="react" />
|
|
2
2
|
import React from 'react';
|
|
3
3
|
import { SecondaryTabListProps } from "../../typings";
|
|
4
|
-
type SecondaryTabListMobileProps = Omit<SecondaryTabListProps, '
|
|
5
|
-
declare const SecondaryTabListMobile: ({ className, ...restProps }: SecondaryTabListMobileProps) => React.JSX.Element;
|
|
4
|
+
type SecondaryTabListMobileProps = Omit<SecondaryTabListProps, 'tagSize'>;
|
|
5
|
+
declare const SecondaryTabListMobile: ({ className, size, ...restProps }: SecondaryTabListMobileProps) => React.JSX.Element;
|
|
6
6
|
export { SecondaryTabListMobileProps, SecondaryTabListMobile };
|
|
@@ -7,24 +7,30 @@ var React = require('react');
|
|
|
7
7
|
var cn = require('classnames');
|
|
8
8
|
var mobile = require('@alfalab/core-components-tag/mobile');
|
|
9
9
|
var components_secondaryTablist_Component = require('./Component.js');
|
|
10
|
-
var index_module = require('../../index.module-
|
|
10
|
+
var index_module = require('../../index.module-447ba3e0.js');
|
|
11
11
|
require('../../hooks/use-tabs.js');
|
|
12
12
|
require('@alfalab/core-components-shared');
|
|
13
13
|
require('../scrollable-container/Component.js');
|
|
14
14
|
require('compute-scroll-into-view');
|
|
15
|
+
require('../scroll-controls/Component.js');
|
|
16
|
+
require('lodash.debounce');
|
|
17
|
+
require('@alfalab/core-components-icon-button');
|
|
18
|
+
require('@alfalab/icons-glyph/ChevronLeftMIcon');
|
|
19
|
+
require('@alfalab/icons-glyph/ChevronRightMIcon');
|
|
20
|
+
require('../scroll-controls/utils.js');
|
|
15
21
|
|
|
16
22
|
function _interopDefaultCompat (e) { return e && typeof e === 'object' && 'default' in e ? e : { default: e }; }
|
|
17
23
|
|
|
18
24
|
var React__default = /*#__PURE__*/_interopDefaultCompat(React);
|
|
19
25
|
var cn__default = /*#__PURE__*/_interopDefaultCompat(cn);
|
|
20
26
|
|
|
21
|
-
var mobileStyles = {"title":"
|
|
27
|
+
var mobileStyles = {"title":"tabs__title_1889x tabs__title_tc0jp","mobile":"tabs__mobile_1889x"};
|
|
22
28
|
require('./mobile.css')
|
|
23
29
|
|
|
24
30
|
var styles = tslib.__assign(tslib.__assign({}, index_module.commonStyles), mobileStyles);
|
|
25
31
|
var SecondaryTabListMobile = function (_a) {
|
|
26
|
-
var className = _a.className, restProps = tslib.__rest(_a, ["className"]);
|
|
27
|
-
return (React__default.default.createElement(components_secondaryTablist_Component.SecondaryTabList, tslib.__assign({}, restProps, { TagComponent: mobile.TagMobile, styles: styles, className: cn__default.default(className, styles.mobile), tagSize: '
|
|
32
|
+
var className = _a.className, size = _a.size, restProps = tslib.__rest(_a, ["className", "size"]);
|
|
33
|
+
return (React__default.default.createElement(components_secondaryTablist_Component.SecondaryTabList, tslib.__assign({}, restProps, { TagComponent: mobile.TagMobile, styles: styles, className: cn__default.default(className, styles.mobile), tagSize: size, platform: 'mobile' })));
|
|
28
34
|
};
|
|
29
35
|
|
|
30
36
|
exports.SecondaryTabListMobile = SecondaryTabListMobile;
|
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
/// <reference types="react" />
|
|
2
2
|
import React from 'react';
|
|
3
3
|
import { SecondaryTabListProps } from "../../typings";
|
|
4
|
-
declare const SecondaryTabListResponsive: ({
|
|
4
|
+
declare const SecondaryTabListResponsive: ({ defaultMatchMediaValue, fullWidthScroll, breakpoint, ...restProps }: SecondaryTabListProps) => React.JSX.Element;
|
|
5
5
|
export { SecondaryTabListResponsive };
|
|
@@ -14,7 +14,13 @@ require('../../hooks/use-tabs.js');
|
|
|
14
14
|
require('@alfalab/core-components-shared');
|
|
15
15
|
require('../scrollable-container/Component.js');
|
|
16
16
|
require('compute-scroll-into-view');
|
|
17
|
-
require('
|
|
17
|
+
require('../scroll-controls/Component.js');
|
|
18
|
+
require('lodash.debounce');
|
|
19
|
+
require('@alfalab/core-components-icon-button');
|
|
20
|
+
require('@alfalab/icons-glyph/ChevronLeftMIcon');
|
|
21
|
+
require('@alfalab/icons-glyph/ChevronRightMIcon');
|
|
22
|
+
require('../scroll-controls/utils.js');
|
|
23
|
+
require('../../index.module-447ba3e0.js');
|
|
18
24
|
require('@alfalab/core-components-tag/mobile');
|
|
19
25
|
|
|
20
26
|
function _interopDefaultCompat (e) { return e && typeof e === 'object' && 'default' in e ? e : { default: e }; }
|
|
@@ -22,9 +28,9 @@ function _interopDefaultCompat (e) { return e && typeof e === 'object' && 'defau
|
|
|
22
28
|
var React__default = /*#__PURE__*/_interopDefaultCompat(React);
|
|
23
29
|
|
|
24
30
|
var SecondaryTabListResponsive = function (_a) {
|
|
25
|
-
var
|
|
31
|
+
var defaultMatchMediaValue = _a.defaultMatchMediaValue, fullWidthScroll = _a.fullWidthScroll, _b = _a.breakpoint, breakpoint = _b === void 0 ? 1024 : _b, restProps = tslib.__rest(_a, ["defaultMatchMediaValue", "fullWidthScroll", "breakpoint"]);
|
|
26
32
|
var isDesktop = coreComponentsMq.useMatchMedia("(min-width: ".concat(breakpoint, "px)"), defaultMatchMediaValue)[0];
|
|
27
|
-
return isDesktop ? (React__default.default.createElement(components_secondaryTablist_Component_desktop.SecondaryTabListDesktop, tslib.__assign({
|
|
33
|
+
return isDesktop ? (React__default.default.createElement(components_secondaryTablist_Component_desktop.SecondaryTabListDesktop, tslib.__assign({}, restProps))) : (React__default.default.createElement(components_secondaryTablist_Component_mobile.SecondaryTabListMobile, tslib.__assign({ fullWidthScroll: fullWidthScroll }, restProps)));
|
|
28
34
|
};
|
|
29
35
|
|
|
30
36
|
exports.SecondaryTabListResponsive = SecondaryTabListResponsive;
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
/* hash:
|
|
1
|
+
/* hash: 3thre */
|
|
2
2
|
:root {
|
|
3
3
|
} /* deprecated */ :root { /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */
|
|
4
4
|
} :root { /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */
|
|
@@ -50,29 +50,29 @@
|
|
|
50
50
|
|
|
51
51
|
/* size xl */
|
|
52
52
|
--secondary-tablist-xl-gaps: var(--gap-m);
|
|
53
|
-
} .
|
|
53
|
+
} .tabs__component_tc0jp {
|
|
54
54
|
position: relative;
|
|
55
55
|
display: inline-flex;
|
|
56
|
-
} .
|
|
56
|
+
} .tabs__fullWidthScroll_tc0jp {
|
|
57
57
|
margin: 0 var(--gap-m);
|
|
58
|
-
} .
|
|
58
|
+
} .tabs__container_tc0jp {
|
|
59
59
|
overflow: hidden;
|
|
60
60
|
|
|
61
61
|
/* focus-outline fix */
|
|
62
62
|
margin: var(--gap-2xs-neg) 0 var(--gap-2xs-neg) var(--gap-2xs-neg);
|
|
63
63
|
padding: var(--gap-2xs) 0 var(--gap-2xs) var(--gap-2xs);
|
|
64
|
-
} .
|
|
64
|
+
} .tabs__title_tc0jp {
|
|
65
65
|
white-space: nowrap;
|
|
66
|
-
} /* sizes */ .
|
|
66
|
+
} /* sizes */ .tabs__xxs_tc0jp .tabs__title_tc0jp + .tabs__title_tc0jp {
|
|
67
67
|
margin-left: var(--secondary-tablist-xxs-gaps);
|
|
68
|
-
} .
|
|
68
|
+
} .tabs__xs_tc0jp .tabs__title_tc0jp + .tabs__title_tc0jp {
|
|
69
69
|
margin-left: var(--secondary-tablist-xs-gaps);
|
|
70
|
-
} .
|
|
70
|
+
} .tabs__s_tc0jp .tabs__title_tc0jp + .tabs__title_tc0jp {
|
|
71
71
|
margin-left: var(--secondary-tablist-s-gaps);
|
|
72
|
-
} .
|
|
72
|
+
} .tabs__m_tc0jp .tabs__title_tc0jp + .tabs__title_tc0jp {
|
|
73
73
|
margin-left: var(--secondary-tablist-m-gaps);
|
|
74
|
-
} .
|
|
74
|
+
} .tabs__l_tc0jp .tabs__title_tc0jp + .tabs__title_tc0jp {
|
|
75
75
|
margin-left: var(--secondary-tablist-l-gaps);
|
|
76
|
-
} .
|
|
76
|
+
} .tabs__xl_tc0jp .tabs__title_tc0jp + .tabs__title_tc0jp {
|
|
77
77
|
margin-left: var(--secondary-tablist-xl-gaps);
|
|
78
78
|
}
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
/* hash:
|
|
1
|
+
/* hash: lza89 */
|
|
2
2
|
:root {
|
|
3
3
|
}/* deprecated */:root { /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */
|
|
4
4
|
}:root { /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */
|
|
@@ -51,30 +51,30 @@
|
|
|
51
51
|
|
|
52
52
|
/* size xl */
|
|
53
53
|
--secondary-tablist-xl-gaps: var(--gap-m);
|
|
54
|
-
}.
|
|
54
|
+
}.tabs__component_tc0jp {
|
|
55
55
|
position: relative;
|
|
56
56
|
display: inline-flex;
|
|
57
|
-
}.
|
|
57
|
+
}.tabs__fullWidthScroll_tc0jp {
|
|
58
58
|
margin: 0 var(--gap-m);
|
|
59
|
-
}.
|
|
59
|
+
}.tabs__container_tc0jp {
|
|
60
60
|
overflow: hidden;
|
|
61
61
|
|
|
62
62
|
/* focus-outline fix */
|
|
63
63
|
margin: var(--gap-2xs-neg) 0 var(--gap-2xs-neg) var(--gap-2xs-neg);
|
|
64
64
|
padding: var(--gap-2xs) 0 var(--gap-2xs) var(--gap-2xs);
|
|
65
|
-
}.
|
|
65
|
+
}.tabs__title_tc0jp {
|
|
66
66
|
white-space: nowrap;
|
|
67
|
-
}/* sizes */.
|
|
67
|
+
}/* sizes */.tabs__xxs_tc0jp .tabs__title_tc0jp + .tabs__title_tc0jp {
|
|
68
68
|
margin-left: var(--secondary-tablist-xxs-gaps);
|
|
69
|
-
}.
|
|
69
|
+
}.tabs__xs_tc0jp .tabs__title_tc0jp + .tabs__title_tc0jp {
|
|
70
70
|
margin-left: var(--secondary-tablist-xs-gaps);
|
|
71
|
-
}.
|
|
71
|
+
}.tabs__s_tc0jp .tabs__title_tc0jp + .tabs__title_tc0jp {
|
|
72
72
|
margin-left: var(--secondary-tablist-s-gaps);
|
|
73
|
-
}.
|
|
73
|
+
}.tabs__m_tc0jp .tabs__title_tc0jp + .tabs__title_tc0jp {
|
|
74
74
|
margin-left: var(--secondary-tablist-m-gaps);
|
|
75
|
-
}.
|
|
75
|
+
}.tabs__l_tc0jp .tabs__title_tc0jp + .tabs__title_tc0jp {
|
|
76
76
|
margin-left: var(--secondary-tablist-l-gaps);
|
|
77
|
-
}.
|
|
77
|
+
}.tabs__xl_tc0jp .tabs__title_tc0jp + .tabs__title_tc0jp {
|
|
78
78
|
margin-left: var(--secondary-tablist-xl-gaps);
|
|
79
79
|
} :root {
|
|
80
80
|
--color-dark-indigo: #0b1f35;
|
|
@@ -979,7 +979,7 @@
|
|
|
979
979
|
|
|
980
980
|
/* size xl */
|
|
981
981
|
--secondary-tablist-xl-gaps: var(--gap-m);
|
|
982
|
-
} .
|
|
983
|
-
} .
|
|
982
|
+
} .tabs__title_1889x {
|
|
983
|
+
} .tabs__mobile_1889x .tabs__title_1889x + .tabs__title_1889x {
|
|
984
984
|
margin-left: var(--secondary-tablist-mobile-gaps);
|
|
985
985
|
}
|
|
@@ -10,7 +10,7 @@ function _interopDefaultCompat (e) { return e && typeof e === 'object' && 'defau
|
|
|
10
10
|
var React__default = /*#__PURE__*/_interopDefaultCompat(React);
|
|
11
11
|
var cn__default = /*#__PURE__*/_interopDefaultCompat(cn);
|
|
12
12
|
|
|
13
|
-
var styles = {"component":"
|
|
13
|
+
var styles = {"component":"tabs__component_k9tti","hidden":"tabs__hidden_k9tti"};
|
|
14
14
|
require('./index.css')
|
|
15
15
|
|
|
16
16
|
var Tab = function (_a) {
|