flexlayout-react 0.6.3 → 0.6.7
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/ChangeLog.txt +13 -0
- package/declarations/Types.d.ts +2 -0
- package/declarations/model/Model.d.ts +1 -2
- package/declarations/model/RowNode.d.ts +0 -2
- package/dist/flexlayout.js +193 -319
- package/dist/flexlayout_min.js +1 -1
- package/lib/Attribute.js +1 -1
- package/lib/Attribute.js.map +1 -1
- package/lib/AttributeDefinitions.js +21 -12
- package/lib/AttributeDefinitions.js.map +1 -1
- package/lib/DockLocation.js +6 -6
- package/lib/DockLocation.js.map +1 -1
- package/lib/DragDrop.js +24 -22
- package/lib/DragDrop.js.map +1 -1
- package/lib/Orientation.js +1 -1
- package/lib/Orientation.js.map +1 -1
- package/lib/PopupMenu.js +6 -6
- package/lib/PopupMenu.js.map +1 -1
- package/lib/Rect.js +1 -1
- package/lib/Rect.js.map +1 -1
- package/lib/Types.js +2 -0
- package/lib/Types.js.map +1 -1
- package/lib/model/BorderNode.js +31 -31
- package/lib/model/BorderNode.js.map +1 -1
- package/lib/model/BorderSet.js +18 -14
- package/lib/model/BorderSet.js.map +1 -1
- package/lib/model/Model.js +40 -35
- package/lib/model/Model.js.map +1 -1
- package/lib/model/Node.js +29 -28
- package/lib/model/Node.js.map +1 -1
- package/lib/model/RowNode.js +53 -50
- package/lib/model/RowNode.js.map +1 -1
- package/lib/model/SplitterNode.js +11 -11
- package/lib/model/SplitterNode.js.map +1 -1
- package/lib/model/TabNode.js +17 -17
- package/lib/model/TabNode.js.map +1 -1
- package/lib/model/TabSetNode.js +52 -51
- package/lib/model/TabSetNode.js.map +1 -1
- package/lib/model/Utils.js +3 -3
- package/lib/model/Utils.js.map +1 -1
- package/lib/view/BorderButton.js +52 -12
- package/lib/view/BorderButton.js.map +1 -1
- package/lib/view/BorderTabSet.js +5 -4
- package/lib/view/BorderTabSet.js.map +1 -1
- package/lib/view/ErrorBoundary.js +1 -1
- package/lib/view/ErrorBoundary.js.map +1 -1
- package/lib/view/FloatingWindow.js +27 -16
- package/lib/view/FloatingWindow.js.map +1 -1
- package/lib/view/FloatingWindowTab.js +1 -1
- package/lib/view/FloatingWindowTab.js.map +1 -1
- package/lib/view/Layout.js +80 -75
- package/lib/view/Layout.js.map +1 -1
- package/lib/view/Splitter.js +1 -1
- package/lib/view/Splitter.js.map +1 -1
- package/lib/view/Tab.js +5 -5
- package/lib/view/Tab.js.map +1 -1
- package/lib/view/TabButton.js +10 -15
- package/lib/view/TabButton.js.map +1 -1
- package/lib/view/TabButtonStamp.js +2 -2
- package/lib/view/TabButtonStamp.js.map +1 -1
- package/lib/view/TabFloating.js +8 -2
- package/lib/view/TabFloating.js.map +1 -1
- package/lib/view/TabOverflowHook.js +1 -1
- package/lib/view/TabOverflowHook.js.map +1 -1
- package/lib/view/TabSet.js +17 -12
- package/lib/view/TabSet.js.map +1 -1
- package/lib/view/Utils.js +3 -3
- package/lib/view/Utils.js.map +1 -1
- package/package.json +22 -16
- package/src/Attribute.ts +1 -1
- package/src/AttributeDefinitions.ts +16 -12
- package/src/DockLocation.ts +9 -9
- package/src/DragDrop.ts +42 -38
- package/src/Orientation.ts +2 -2
- package/src/PopupMenu.tsx +4 -4
- package/src/Rect.ts +1 -1
- package/src/Types.ts +2 -0
- package/src/model/BorderNode.ts +29 -28
- package/src/model/BorderSet.ts +16 -16
- package/src/model/IDraggable.ts +2 -2
- package/src/model/IDropTarget.ts +3 -3
- package/src/model/Model.ts +41 -41
- package/src/model/Node.ts +38 -38
- package/src/model/RowNode.ts +46 -44
- package/src/model/SplitterNode.ts +11 -11
- package/src/model/TabNode.ts +21 -21
- package/src/model/TabSetNode.ts +46 -44
- package/src/model/Utils.ts +3 -3
- package/src/view/BorderButton.tsx +82 -14
- package/src/view/BorderTabSet.tsx +6 -2
- package/src/view/ErrorBoundary.tsx +3 -3
- package/src/view/FloatingWindow.tsx +8 -6
- package/src/view/FloatingWindowTab.tsx +2 -2
- package/src/view/Layout.tsx +93 -93
- package/src/view/Splitter.tsx +2 -2
- package/src/view/Tab.tsx +3 -3
- package/src/view/TabButton.tsx +11 -15
- package/src/view/TabButtonStamp.tsx +2 -2
- package/src/view/TabFloating.tsx +11 -2
- package/src/view/TabOverflowHook.tsx +1 -1
- package/src/view/TabSet.tsx +6 -5
- package/src/view/Utils.tsx +3 -3
- package/style/_base.scss +55 -43
- package/style/dark.css +86 -45
- package/style/dark.css.map +1 -1
- package/style/dark.scss +70 -25
- package/style/gray.css +84 -60
- package/style/gray.css.map +1 -1
- package/style/gray.scss +70 -24
- package/style/light.css +84 -45
- package/style/light.css.map +1 -1
- package/style/light.scss +68 -19
- package/style/underline.css +557 -0
- package/style/underline.css.map +1 -0
- package/style/underline.scss +172 -0
|
@@ -4,7 +4,7 @@ import { ILayoutCallbacks } from "./Layout";
|
|
|
4
4
|
import { CLASSES } from "../Types";
|
|
5
5
|
import { getRenderStateEx } from "./Utils";
|
|
6
6
|
|
|
7
|
-
/** @
|
|
7
|
+
/** @internal */
|
|
8
8
|
export interface ITabButtonStampProps {
|
|
9
9
|
node: TabNode;
|
|
10
10
|
layout: ILayoutCallbacks;
|
|
@@ -12,7 +12,7 @@ export interface ITabButtonStampProps {
|
|
|
12
12
|
titleFactory?: (node: TabNode) => React.ReactNode | undefined;
|
|
13
13
|
}
|
|
14
14
|
|
|
15
|
-
/** @
|
|
15
|
+
/** @internal */
|
|
16
16
|
export const TabButtonStamp = (props: ITabButtonStampProps) => {
|
|
17
17
|
const { layout, node, iconFactory, titleFactory } = props;
|
|
18
18
|
const selfRef = React.useRef<HTMLDivElement | null>(null);
|
package/src/view/TabFloating.tsx
CHANGED
|
@@ -6,8 +6,9 @@ import { CLASSES } from "../Types";
|
|
|
6
6
|
import { ILayoutCallbacks } from "./Layout";
|
|
7
7
|
import { I18nLabel } from "../I18nLabel";
|
|
8
8
|
import { hideElement } from "./Utils";
|
|
9
|
+
import { BorderNode } from "../model/BorderNode";
|
|
9
10
|
|
|
10
|
-
/** @
|
|
11
|
+
/** @internal */
|
|
11
12
|
export interface ITabFloatingProps {
|
|
12
13
|
layout: ILayoutCallbacks;
|
|
13
14
|
selected: boolean;
|
|
@@ -15,7 +16,7 @@ export interface ITabFloatingProps {
|
|
|
15
16
|
path: string;
|
|
16
17
|
}
|
|
17
18
|
|
|
18
|
-
/** @
|
|
19
|
+
/** @internal */
|
|
19
20
|
export const TabFloating = (props: ITabFloatingProps) => {
|
|
20
21
|
const { layout, selected, node, path } = props;
|
|
21
22
|
|
|
@@ -50,11 +51,19 @@ export const TabFloating = (props: ITabFloatingProps) => {
|
|
|
50
51
|
|
|
51
52
|
const cm = layout.getClassName;
|
|
52
53
|
|
|
54
|
+
|
|
55
|
+
const parentNode = node.getParent() as TabSetNode | BorderNode;
|
|
53
56
|
const style: Record<string, any> = node._styleWithPosition();
|
|
54
57
|
if (!selected) {
|
|
55
58
|
hideElement(style, node.getModel().isUseVisibility());
|
|
56
59
|
}
|
|
57
60
|
|
|
61
|
+
if (parentNode instanceof TabSetNode) {
|
|
62
|
+
if (node.getModel().getMaximizedTabset() !== undefined && !parentNode.isMaximized()) {
|
|
63
|
+
hideElement(style, node.getModel().isUseVisibility());
|
|
64
|
+
}
|
|
65
|
+
}
|
|
66
|
+
|
|
58
67
|
const message = layout.i18nName(I18nLabel.Floating_Window_Message);
|
|
59
68
|
const showMessage = layout.i18nName(I18nLabel.Floating_Window_Show_Window);
|
|
60
69
|
const dockMessage = layout.i18nName(I18nLabel.Floating_Window_Dock_Window);
|
|
@@ -5,7 +5,7 @@ import { TabSetNode } from "../model/TabSetNode";
|
|
|
5
5
|
import { BorderNode } from "../model/BorderNode";
|
|
6
6
|
import { Orientation } from "../Orientation";
|
|
7
7
|
|
|
8
|
-
/** @
|
|
8
|
+
/** @internal */
|
|
9
9
|
export const useTabOverflow = (
|
|
10
10
|
node: TabSetNode | BorderNode,
|
|
11
11
|
orientation: Orientation,
|
package/src/view/TabSet.tsx
CHANGED
|
@@ -11,7 +11,7 @@ import { Orientation } from "../Orientation";
|
|
|
11
11
|
import { CLASSES } from "../Types";
|
|
12
12
|
import { hideElement, isAuxMouseEvent } from "./Utils";
|
|
13
13
|
|
|
14
|
-
/** @
|
|
14
|
+
/** @internal */
|
|
15
15
|
export interface ITabSetProps {
|
|
16
16
|
layout: ILayoutCallbacks;
|
|
17
17
|
node: TabSetNode;
|
|
@@ -22,7 +22,7 @@ export interface ITabSetProps {
|
|
|
22
22
|
path?: string;
|
|
23
23
|
}
|
|
24
24
|
|
|
25
|
-
/** @
|
|
25
|
+
/** @internal */
|
|
26
26
|
export const TabSet = (props: ITabSetProps) => {
|
|
27
27
|
const { node, layout, iconFactory, titleFactory, icons, path } = props;
|
|
28
28
|
|
|
@@ -138,12 +138,13 @@ export const TabSet = (props: ITabSetProps) => {
|
|
|
138
138
|
path={path + "/tb" + i}
|
|
139
139
|
key={child.getId()}
|
|
140
140
|
selected={isSelected}
|
|
141
|
-
height={node.getTabStripHeight()}
|
|
142
141
|
iconFactory={iconFactory}
|
|
143
142
|
titleFactory={titleFactory}
|
|
144
143
|
icons={icons}
|
|
145
|
-
/>
|
|
146
|
-
|
|
144
|
+
/>);
|
|
145
|
+
tabs.push(
|
|
146
|
+
<div key={"divider" + i} className={cm(CLASSES.FLEXLAYOUT__TABSET_TAB_DIVIDER)}></div>
|
|
147
|
+
);
|
|
147
148
|
}
|
|
148
149
|
}
|
|
149
150
|
|
package/src/view/Utils.tsx
CHANGED
|
@@ -2,7 +2,7 @@ import * as React from "react";
|
|
|
2
2
|
import { TabNode } from "../model/TabNode";
|
|
3
3
|
import { ILayoutCallbacks, ITitleObject } from "./Layout";
|
|
4
4
|
|
|
5
|
-
/** @
|
|
5
|
+
/** @internal */
|
|
6
6
|
export function getRenderStateEx(
|
|
7
7
|
layout: ILayoutCallbacks,
|
|
8
8
|
node: TabNode,
|
|
@@ -48,7 +48,7 @@ export function getRenderStateEx(
|
|
|
48
48
|
|
|
49
49
|
}
|
|
50
50
|
|
|
51
|
-
/** @
|
|
51
|
+
/** @internal */
|
|
52
52
|
export function hideElement(style: Record<string, any>, useVisibility: ConstrainBoolean) {
|
|
53
53
|
if (useVisibility) {
|
|
54
54
|
style.visibility = "hidden";
|
|
@@ -58,7 +58,7 @@ export function hideElement(style: Record<string, any>, useVisibility: Constrain
|
|
|
58
58
|
}
|
|
59
59
|
|
|
60
60
|
|
|
61
|
-
/** @
|
|
61
|
+
/** @internal */
|
|
62
62
|
export function isAuxMouseEvent(event: React.MouseEvent<HTMLDivElement, MouseEvent> | React.TouchEvent<HTMLDivElement>) {
|
|
63
63
|
let auxEvent = false;
|
|
64
64
|
if (event.nativeEvent instanceof MouseEvent) {
|
package/style/_base.scss
CHANGED
|
@@ -8,32 +8,17 @@
|
|
|
8
8
|
|
|
9
9
|
.flexlayout {
|
|
10
10
|
&__layout {
|
|
11
|
-
--color-text: #{$color_text};
|
|
12
|
-
--color-background: #{$color_background};
|
|
13
|
-
--color-base: #{$color_base};
|
|
14
|
-
--color-1: #{$color_1};
|
|
15
|
-
--color-2: #{$color_2};
|
|
16
|
-
--color-3: #{$color_3};
|
|
17
|
-
--color-4: #{$color_4};
|
|
18
|
-
--color-5: #{$color_5};
|
|
19
|
-
--color-6: #{$color_6};
|
|
20
|
-
--color-drag1: #{$color_drag1};
|
|
21
|
-
--color-drag2: #{$color_drag2};
|
|
22
|
-
--color-drag1-background: #{$color_drag1_background};
|
|
23
|
-
--color-drag2-background: #{$color_drag2_background};
|
|
24
|
-
|
|
25
|
-
--font-size: #{$font-size};
|
|
26
|
-
--font-family: #{$font-family};
|
|
27
|
-
|
|
28
11
|
@include absoluteFill;
|
|
29
12
|
overflow: hidden;
|
|
30
13
|
}
|
|
31
14
|
|
|
32
15
|
&__splitter {
|
|
16
|
+
background-color: var(--color-splitter);
|
|
33
17
|
@include splitter_mixin;
|
|
34
18
|
|
|
35
19
|
@media (hover: hover) {
|
|
36
20
|
&:hover {
|
|
21
|
+
background-color: var(--color-splitter-hover);
|
|
37
22
|
transition: background-color ease-in .1s;
|
|
38
23
|
transition-delay: 0.05s;
|
|
39
24
|
@include splitter_hover_mixin;
|
|
@@ -45,6 +30,7 @@
|
|
|
45
30
|
}
|
|
46
31
|
&_drag {
|
|
47
32
|
z-index: 1000;
|
|
33
|
+
background-color: var(--color-splitter-drag);
|
|
48
34
|
@include splitter_drag_mixin;
|
|
49
35
|
}
|
|
50
36
|
&_extra {
|
|
@@ -75,17 +61,17 @@
|
|
|
75
61
|
position: absolute;
|
|
76
62
|
z-index: 1000;
|
|
77
63
|
box-shadow: inset 0 0 5px rgba(0, 0, 0, 0.2);
|
|
78
|
-
background-color:
|
|
64
|
+
background-color: var(--color-edge-marker);
|
|
79
65
|
pointer-events: none;
|
|
80
66
|
}
|
|
81
67
|
|
|
82
68
|
&__drag_rect {
|
|
83
69
|
position: absolute;
|
|
84
70
|
cursor: move;
|
|
85
|
-
color: var(--color-
|
|
86
|
-
background-color: var(--color-
|
|
87
|
-
border: 2px solid var(--color-
|
|
88
|
-
box-shadow: inset 0 0 60px rgba(0, 0, 0, 0.3);
|
|
71
|
+
color: var(--color-drag-rect);
|
|
72
|
+
background-color: var(--color-drag-rect-background);
|
|
73
|
+
border: 2px solid var(--color-drag-rect-border);
|
|
74
|
+
// box-shadow: inset 0 0 60px rgba(0, 0, 0, 0.3);
|
|
89
75
|
border-radius: 5px;
|
|
90
76
|
z-index: 1000;
|
|
91
77
|
box-sizing: border-box;
|
|
@@ -96,7 +82,7 @@
|
|
|
96
82
|
justify-content: center;
|
|
97
83
|
flex-direction: column;
|
|
98
84
|
overflow: hidden;
|
|
99
|
-
padding: 0.
|
|
85
|
+
padding: 0.3em 1em;
|
|
100
86
|
word-wrap: break-word;
|
|
101
87
|
font-size: var(--font-size);
|
|
102
88
|
font-family: var(--font-family);
|
|
@@ -104,12 +90,17 @@
|
|
|
104
90
|
|
|
105
91
|
&__tabset {
|
|
106
92
|
overflow: hidden;
|
|
107
|
-
background-color: var(--color-
|
|
93
|
+
background-color: var(--color-tabset-background);
|
|
108
94
|
box-sizing: border-box;
|
|
109
95
|
font-size: var(--font-size);
|
|
110
96
|
font-family: var(--font-family);
|
|
111
97
|
@include tabset_mixin;
|
|
112
98
|
|
|
99
|
+
&_tab_divider {
|
|
100
|
+
width: 4px;
|
|
101
|
+
@include tabset_tab_divider_mixin;
|
|
102
|
+
}
|
|
103
|
+
|
|
113
104
|
&_header {
|
|
114
105
|
// tabset header bar
|
|
115
106
|
position: absolute;
|
|
@@ -119,8 +110,9 @@
|
|
|
119
110
|
right: 0;
|
|
120
111
|
padding: 3px 3px 3px 5px;
|
|
121
112
|
box-sizing: border-box;
|
|
122
|
-
border-bottom: 1px solid var(--color-
|
|
123
|
-
color: var(--color-
|
|
113
|
+
border-bottom: 1px solid var(--color-tabset-divider-line);
|
|
114
|
+
color: var(--color-tabset-header);
|
|
115
|
+
background-color: var(--color-tabset-header-background);
|
|
124
116
|
@include tabset_header_mixin;
|
|
125
117
|
|
|
126
118
|
&_content {
|
|
@@ -132,7 +124,7 @@
|
|
|
132
124
|
&_outer {
|
|
133
125
|
// tabset tabbar outer
|
|
134
126
|
box-sizing: border-box;
|
|
135
|
-
background-color: var(--color-
|
|
127
|
+
background-color: var(--color-tabset-background);
|
|
136
128
|
position: absolute;
|
|
137
129
|
left: 0;
|
|
138
130
|
right: 0;
|
|
@@ -142,11 +134,11 @@
|
|
|
142
134
|
}
|
|
143
135
|
|
|
144
136
|
&_outer_top {
|
|
145
|
-
border-bottom: 1px solid var(--color-
|
|
137
|
+
border-bottom: 1px solid var(--color-tabset-divider-line);
|
|
146
138
|
}
|
|
147
139
|
|
|
148
140
|
&_outer_bottom {
|
|
149
|
-
border-top: 1px solid var(--color-
|
|
141
|
+
border-top: 1px solid var(--color-tabset-divider-line);
|
|
150
142
|
}
|
|
151
143
|
|
|
152
144
|
&_inner {
|
|
@@ -159,7 +151,6 @@
|
|
|
159
151
|
|
|
160
152
|
&_tab_container {
|
|
161
153
|
display: flex;
|
|
162
|
-
gap: 4px;
|
|
163
154
|
padding-left: 4px;
|
|
164
155
|
padding-right: 4px;
|
|
165
156
|
box-sizing: border-box;
|
|
@@ -179,10 +170,12 @@
|
|
|
179
170
|
}
|
|
180
171
|
|
|
181
172
|
&-selected {
|
|
173
|
+
background-color: var(--color-tabset-background-selected);
|
|
182
174
|
@include tabset_selected_mixin;
|
|
183
175
|
}
|
|
184
176
|
|
|
185
177
|
&-maximized {
|
|
178
|
+
background-color: var(--color-tabset-background-maximized);
|
|
186
179
|
@include tabset_maximized_mixin;
|
|
187
180
|
}
|
|
188
181
|
}
|
|
@@ -199,8 +192,8 @@
|
|
|
199
192
|
overflow: auto;
|
|
200
193
|
position: absolute;
|
|
201
194
|
box-sizing: border-box;
|
|
202
|
-
color: var(--color-text);
|
|
203
195
|
background-color: var(--color-background);
|
|
196
|
+
color: var(--color-text);
|
|
204
197
|
|
|
205
198
|
&_button {
|
|
206
199
|
display: flex;
|
|
@@ -213,15 +206,21 @@
|
|
|
213
206
|
@include tab_button_mixin;
|
|
214
207
|
|
|
215
208
|
&--selected {
|
|
209
|
+
background-color:var(--color-tab-selected-background);
|
|
210
|
+
color:var(--color-tab-selected);
|
|
216
211
|
@include tab_button_selected_mixin;
|
|
217
212
|
}
|
|
218
213
|
@media (hover: hover) {
|
|
219
214
|
&:hover {
|
|
215
|
+
background-color:var(--color-tab-selected-background);
|
|
216
|
+
color:var(--color-tab-selected);
|
|
220
217
|
@include tab_button_hovered_mixin;
|
|
221
218
|
}
|
|
222
219
|
}
|
|
223
220
|
|
|
224
221
|
&--unselected {
|
|
222
|
+
background-color:var(--color-tab-unselected-background);
|
|
223
|
+
color:var(--color-tab-unselected);
|
|
225
224
|
@include tab_button_unselected_mixin;
|
|
226
225
|
}
|
|
227
226
|
|
|
@@ -245,10 +244,11 @@
|
|
|
245
244
|
border: none;
|
|
246
245
|
font-family: var(--font-family);
|
|
247
246
|
font-size: var(--font-size);
|
|
248
|
-
color: var(--color-
|
|
249
|
-
background-color: var(--color-
|
|
247
|
+
color: var(--color-tab-textbox);
|
|
248
|
+
background-color: var(--color-tab-textbox-background);
|
|
250
249
|
border: 1px inset var(--color-1);
|
|
251
250
|
border-radius: 3px;
|
|
251
|
+
width: 10em;
|
|
252
252
|
}
|
|
253
253
|
|
|
254
254
|
&_textbox:focus {
|
|
@@ -281,7 +281,7 @@
|
|
|
281
281
|
display: flex;
|
|
282
282
|
align-items: center;
|
|
283
283
|
border: none;
|
|
284
|
-
color:
|
|
284
|
+
color: var(--color-overflow);
|
|
285
285
|
font-size: inherit;
|
|
286
286
|
background-color: transparent;
|
|
287
287
|
}
|
|
@@ -364,26 +364,28 @@
|
|
|
364
364
|
display: flex;
|
|
365
365
|
font-size: var(--font-size);
|
|
366
366
|
font-family: var(--font-family);
|
|
367
|
+
color: var(--color-border);
|
|
368
|
+
background-color: var(--color-border-background);
|
|
367
369
|
@include border_mixin;
|
|
368
370
|
|
|
369
371
|
&_top {
|
|
370
|
-
border-bottom: 1px solid var(--color-
|
|
372
|
+
border-bottom: 1px solid var(--color-border-divider-line);
|
|
371
373
|
align-items: center;
|
|
372
374
|
}
|
|
373
375
|
|
|
374
376
|
&_bottom {
|
|
375
|
-
border-top: 1px solid var(--color-
|
|
377
|
+
border-top: 1px solid var(--color-border-divider-line);
|
|
376
378
|
align-items: center;
|
|
377
379
|
}
|
|
378
380
|
|
|
379
381
|
&_left {
|
|
380
|
-
border-right: 1px solid var(--color-
|
|
382
|
+
border-right: 1px solid var(--color-border-divider-line);
|
|
381
383
|
align-content: center;
|
|
382
384
|
flex-direction: column;
|
|
383
385
|
}
|
|
384
386
|
|
|
385
387
|
&_right {
|
|
386
|
-
border-left: 1px solid var(--color-
|
|
388
|
+
border-left: 1px solid var(--color-border-divider-line);
|
|
387
389
|
align-content: center;
|
|
388
390
|
flex-direction: column;
|
|
389
391
|
}
|
|
@@ -398,7 +400,6 @@
|
|
|
398
400
|
&_tab_container {
|
|
399
401
|
white-space: nowrap;
|
|
400
402
|
display: flex;
|
|
401
|
-
gap: 4px;
|
|
402
403
|
padding-left: 2px;
|
|
403
404
|
padding-right: 2px;
|
|
404
405
|
box-sizing: border-box;
|
|
@@ -419,6 +420,11 @@
|
|
|
419
420
|
}
|
|
420
421
|
}
|
|
421
422
|
|
|
423
|
+
&_tab_divider {
|
|
424
|
+
width: 4px;
|
|
425
|
+
@include border_tab_divider_mixin;
|
|
426
|
+
}
|
|
427
|
+
|
|
422
428
|
&_button {
|
|
423
429
|
display: flex;
|
|
424
430
|
gap: 0.3em;
|
|
@@ -431,15 +437,21 @@
|
|
|
431
437
|
@include border_button_mixin;
|
|
432
438
|
|
|
433
439
|
&--selected {
|
|
440
|
+
background-color: var(--color-border-tab-selected-background);
|
|
441
|
+
color: var(--color-border-tab-selected);
|
|
434
442
|
@include border_button_selected_mixin;
|
|
435
443
|
}
|
|
436
444
|
@media (hover: hover) {
|
|
437
445
|
&:hover {
|
|
446
|
+
background-color: var(--color-border-tab-selected-background);
|
|
447
|
+
color: var(--color-border-tab-selected);
|
|
438
448
|
@include border_button_hovered_mixin;
|
|
439
449
|
}
|
|
440
450
|
}
|
|
441
451
|
|
|
442
452
|
&--unselected {
|
|
453
|
+
background-color: var(--color-border-tab-unselected-background);
|
|
454
|
+
color: var(--color-border-tab-unselected);
|
|
443
455
|
@include border_button_unselected_mixin;
|
|
444
456
|
}
|
|
445
457
|
|
|
@@ -512,7 +524,7 @@
|
|
|
512
524
|
display: flex;
|
|
513
525
|
align-items: center;
|
|
514
526
|
border: none;
|
|
515
|
-
color:
|
|
527
|
+
color: var(--color-overflow);
|
|
516
528
|
font-size: inherit;
|
|
517
529
|
background-color: transparent;
|
|
518
530
|
}
|
|
@@ -547,9 +559,9 @@
|
|
|
547
559
|
|
|
548
560
|
&_container {
|
|
549
561
|
box-shadow: inset 0 0 5px rgba(0, 0, 0, 0.15);
|
|
550
|
-
border: 1px solid var(--color-
|
|
551
|
-
color: var(--color-
|
|
552
|
-
background: var(--color-background);
|
|
562
|
+
border: 1px solid var(--color-popup-border);
|
|
563
|
+
color: var(--color-popup-unselected);
|
|
564
|
+
background: var(--color-popup-unselected-background);
|
|
553
565
|
border-radius: 3px;
|
|
554
566
|
position: absolute;
|
|
555
567
|
z-index: 1000;
|