flexlayout-react 0.5.15 → 0.5.19

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 (88) hide show
  1. package/ChangeLog.txt +26 -0
  2. package/README.md +121 -97
  3. package/declarations/DragDrop.d.ts +1 -0
  4. package/declarations/I18nLabel.d.ts +1 -0
  5. package/declarations/Rect.d.ts +4 -0
  6. package/declarations/Types.d.ts +9 -1
  7. package/declarations/model/Actions.d.ts +18 -11
  8. package/declarations/model/BorderNode.d.ts +2 -1
  9. package/declarations/model/IJsonModel.d.ts +10 -0
  10. package/declarations/model/Model.d.ts +1 -0
  11. package/declarations/model/TabNode.d.ts +1 -0
  12. package/declarations/model/TabSetNode.d.ts +1 -0
  13. package/declarations/view/Layout.d.ts +20 -6
  14. package/dist/flexlayout.js +20 -20
  15. package/dist/flexlayout_min.js +1 -1
  16. package/lib/DockLocation.js +25 -11
  17. package/lib/DockLocation.js.map +1 -1
  18. package/lib/DragDrop.js +19 -3
  19. package/lib/DragDrop.js.map +1 -1
  20. package/lib/I18nLabel.js +1 -0
  21. package/lib/I18nLabel.js.map +1 -1
  22. package/lib/PopupMenu.js +14 -9
  23. package/lib/PopupMenu.js.map +1 -1
  24. package/lib/Rect.js +3 -0
  25. package/lib/Rect.js.map +1 -1
  26. package/lib/Types.js +8 -0
  27. package/lib/Types.js.map +1 -1
  28. package/lib/model/Actions.js +20 -11
  29. package/lib/model/Actions.js.map +1 -1
  30. package/lib/model/BorderNode.js +61 -14
  31. package/lib/model/BorderNode.js.map +1 -1
  32. package/lib/model/BorderSet.js +33 -19
  33. package/lib/model/BorderSet.js.map +1 -1
  34. package/lib/model/Model.js +39 -1
  35. package/lib/model/Model.js.map +1 -1
  36. package/lib/model/RowNode.js +19 -5
  37. package/lib/model/RowNode.js.map +1 -1
  38. package/lib/model/TabNode.js +14 -0
  39. package/lib/model/TabNode.js.map +1 -1
  40. package/lib/model/TabSetNode.js +42 -19
  41. package/lib/model/TabSetNode.js.map +1 -1
  42. package/lib/view/BorderButton.js +14 -3
  43. package/lib/view/BorderButton.js.map +1 -1
  44. package/lib/view/BorderTabSet.js +15 -4
  45. package/lib/view/BorderTabSet.js.map +1 -1
  46. package/lib/view/Layout.js +206 -45
  47. package/lib/view/Layout.js.map +1 -1
  48. package/lib/view/Splitter.js +34 -3
  49. package/lib/view/Splitter.js.map +1 -1
  50. package/lib/view/TabButton.js +11 -2
  51. package/lib/view/TabButton.js.map +1 -1
  52. package/lib/view/TabFloating.js +23 -11
  53. package/lib/view/TabFloating.js.map +1 -1
  54. package/lib/view/TabSet.js +50 -17
  55. package/lib/view/TabSet.js.map +1 -1
  56. package/package.json +1 -1
  57. package/src/DockLocation.ts +30 -9
  58. package/src/DragDrop.ts +26 -3
  59. package/src/I18nLabel.ts +1 -0
  60. package/src/PopupMenu.tsx +28 -10
  61. package/src/Rect.ts +6 -2
  62. package/src/Types.ts +9 -0
  63. package/src/model/Actions.ts +21 -11
  64. package/src/model/BorderNode.ts +57 -15
  65. package/src/model/BorderSet.ts +32 -19
  66. package/src/model/IJsonModel.ts +10 -0
  67. package/src/model/Model.ts +43 -1
  68. package/src/model/RowNode.ts +8 -5
  69. package/src/model/TabNode.ts +16 -0
  70. package/src/model/TabSetNode.ts +43 -19
  71. package/src/view/BorderButton.tsx +22 -3
  72. package/src/view/BorderTabSet.tsx +21 -4
  73. package/src/view/Layout.tsx +263 -70
  74. package/src/view/Splitter.tsx +49 -3
  75. package/src/view/TabButton.tsx +17 -1
  76. package/src/view/TabFloating.tsx +36 -19
  77. package/src/view/TabSet.tsx +76 -16
  78. package/style/_base.scss +75 -44
  79. package/style/dark.css +90 -61
  80. package/style/dark.css.map +1 -1
  81. package/style/dark.scss +20 -20
  82. package/style/gray.css +90 -61
  83. package/style/gray.css.map +1 -1
  84. package/style/gray.scss +20 -20
  85. package/style/light.css +90 -61
  86. package/style/light.css.map +1 -1
  87. package/style/light.scss +18 -18
  88. package/yarn-error.log +0 -11828
@@ -17,6 +17,16 @@ export interface ITabFloatingProps {
17
17
  export const TabFloating = (props: ITabFloatingProps) => {
18
18
  const { layout, selected, node } = props;
19
19
 
20
+ const showPopout = () => {
21
+ if (node.getWindow()) {
22
+ node.getWindow()!.focus();
23
+ }
24
+ }
25
+
26
+ const dockPopout = () => {
27
+ layout.doAction(Actions.unFloatTab(node.getId()));
28
+ }
29
+
20
30
  const onMouseDown = () => {
21
31
  const parent = node.getParent() as TabSetNode;
22
32
  if (parent.getType() === TabSetNode.TYPE) {
@@ -28,14 +38,12 @@ export const TabFloating = (props: ITabFloatingProps) => {
28
38
 
29
39
  const onClickFocus = (event: React.MouseEvent<HTMLAnchorElement, MouseEvent>) => {
30
40
  event.preventDefault();
31
- if (node.getWindow()) {
32
- node.getWindow()!.focus();
33
- }
41
+ showPopout();
34
42
  };
35
43
 
36
44
  const onClickDock = (event: React.MouseEvent<HTMLAnchorElement, MouseEvent>) => {
37
45
  event.preventDefault();
38
- layout.doAction(Actions.unFloatTab(node.getId()));
46
+ dockPopout();
39
47
  };
40
48
 
41
49
  const cm = layout.getClassName;
@@ -48,21 +56,30 @@ export const TabFloating = (props: ITabFloatingProps) => {
48
56
  const showMessage = layout.i18nName(I18nLabel.Floating_Window_Show_Window);
49
57
  const dockMessage = layout.i18nName(I18nLabel.Floating_Window_Dock_Window);
50
58
 
51
- return (
52
- <div className={cm(CLASSES.FLEXLAYOUT__TAB_FLOATING)} onMouseDown={onMouseDown} onTouchStart={onMouseDown} style={style}>
53
- <div className={cm(CLASSES.FLEXLAYOUT__TAB_FLOATING_INNER)}>
54
- <div>{message}</div>
55
- <div>
56
- <a href="#" onClick={onClickFocus}>
57
- {showMessage}
58
- </a>
59
- </div>
60
- <div>
61
- <a href="#" onClick={onClickDock}>
62
- {dockMessage}
63
- </a>
59
+ const customRenderCallback = layout.getOnRenderFloatingTabPlaceholder();
60
+ if (customRenderCallback) {
61
+ return (
62
+ <div className={cm(CLASSES.FLEXLAYOUT__TAB_FLOATING)} onMouseDown={onMouseDown} onTouchStart={onMouseDown} style={style}>
63
+ {customRenderCallback(dockPopout, showPopout)}
64
+ </div>
65
+ );
66
+ } else {
67
+ return (
68
+ <div className={cm(CLASSES.FLEXLAYOUT__TAB_FLOATING)} onMouseDown={onMouseDown} onTouchStart={onMouseDown} style={style}>
69
+ <div className={cm(CLASSES.FLEXLAYOUT__TAB_FLOATING_INNER)}>
70
+ <div>{message}</div>
71
+ <div>
72
+ <a href="#" onClick={onClickFocus}>
73
+ {showMessage}
74
+ </a>
75
+ </div>
76
+ <div>
77
+ <a href="#" onClick={onClickDock}>
78
+ {dockMessage}
79
+ </a>
80
+ </div>
64
81
  </div>
65
82
  </div>
66
- </div>
67
- );
83
+ );
84
+ }
68
85
  };
@@ -17,7 +17,7 @@ export interface ITabSetProps {
17
17
  iconFactory?: (node: TabNode) => React.ReactNode | undefined;
18
18
  titleFactory?: (node: TabNode) => React.ReactNode | undefined;
19
19
  icons?: IIcons;
20
- editingTab?: TabNode;
20
+ editingTab?: TabNode;
21
21
  }
22
22
 
23
23
  /** @hidden @internal */
@@ -31,9 +31,10 @@ export const TabSet = (props: ITabSetProps) => {
31
31
 
32
32
  const { selfRef, position, userControlledLeft, hiddenTabs, onMouseWheel, tabsTruncated } = useTabOverflow(node, Orientation.HORZ, toolbarRef, stickyButtonsRef);
33
33
 
34
- const onOverflowClick = () => {
34
+ const onOverflowClick = (event: React.MouseEvent<HTMLElement, MouseEvent>) => {
35
35
  const element = overflowbuttonRef.current!;
36
36
  showPopup(layout.getRootDiv(), element, hiddenTabs, onOverflowItemSelect, layout.getClassName);
37
+ event.stopPropagation();
37
38
  };
38
39
 
39
40
  const onOverflowItemSelect = (item: { node: TabNode; index: number }) => {
@@ -42,33 +43,53 @@ export const TabSet = (props: ITabSetProps) => {
42
43
  };
43
44
 
44
45
  const onMouseDown = (event: React.MouseEvent<HTMLDivElement, MouseEvent> | React.TouchEvent<HTMLDivElement>) => {
45
- let name = node.getName();
46
- if (name === undefined) {
47
- name = "";
48
- } else {
49
- name = ": " + name;
46
+
47
+ if (!isAuxMouseEvent(event)) {
48
+ let name = node.getName();
49
+ if (name === undefined) {
50
+ name = "";
51
+ } else {
52
+ name = ": " + name;
53
+ }
54
+ layout.doAction(Actions.setActiveTabset(node.getId()));
55
+ if (!layout.getEditingTab()) {
56
+ const message = layout.i18nName(I18nLabel.Move_Tabset, name);
57
+ layout.dragStart(event, message, node, node.isEnableDrag(), (event2: Event) => undefined, onDoubleClick);
58
+ }
50
59
  }
51
- layout.doAction(Actions.setActiveTabset(node.getId()));
52
- if (!layout.getEditingTab()) {
53
- const message = layout.i18nName(I18nLabel.Move_Tabset, name);
54
- layout.dragStart(event, message, node, node.isEnableDrag(), (event2: Event) => undefined, onDoubleClick);
60
+ };
61
+
62
+ const onAuxMouseClick = (event: React.MouseEvent<HTMLDivElement, MouseEvent>) => {
63
+ if (isAuxMouseEvent(event)) {
64
+ layout.auxMouseClick(node, event);
55
65
  }
56
66
  };
57
67
 
68
+ const onContextMenu = (event: React.MouseEvent<HTMLDivElement, MouseEvent>) => {
69
+ layout.showContextMenu(node, event);
70
+ };
71
+
58
72
  const onInterceptMouseDown = (event: React.MouseEvent | React.TouchEvent) => {
59
73
  event.stopPropagation();
60
74
  };
61
75
 
62
- const onMaximizeToggle = () => {
76
+ const onMaximizeToggle = (event: React.MouseEvent<HTMLElement, MouseEvent>) => {
63
77
  if (node.canMaximize()) {
64
78
  layout.maximize(node);
65
79
  }
80
+ event.stopPropagation();
66
81
  };
67
82
 
68
- const onFloatTab = () => {
83
+ const onClose = (event: React.MouseEvent<HTMLElement, MouseEvent>) => {
84
+ layout.doAction(Actions.deleteTabset(node.getId()));
85
+ event.stopPropagation();
86
+ };
87
+
88
+ const onFloatTab = (event: React.MouseEvent<HTMLElement, MouseEvent>) => {
69
89
  if (selectedTabNode !== undefined) {
70
90
  layout.doAction(Actions.floatTab(selectedTabNode.getId()));
71
91
  }
92
+ event.stopPropagation();
72
93
  };
73
94
 
74
95
  const onDoubleClick = (event: Event) => {
@@ -195,6 +216,23 @@ export const TabSet = (props: ITabSetProps) => {
195
216
  );
196
217
  }
197
218
 
219
+ if (!node.isMaximized() && node.isEnableClose()) {
220
+ const title = layout.i18nName(I18nLabel.Close_Tabset);
221
+ const btns = showHeader ? headerButtons : buttons;
222
+ btns.push(
223
+ <button
224
+ key="close"
225
+ title={title}
226
+ className={cm(CLASSES.FLEXLAYOUT__TAB_TOOLBAR_BUTTON) + " " + cm(CLASSES.FLEXLAYOUT__TAB_TOOLBAR_BUTTON_CLOSE)}
227
+ onClick={onClose}
228
+ onMouseDown={onInterceptMouseDown}
229
+ onTouchStart={onInterceptMouseDown}
230
+ >
231
+ {icons?.closeTabset}
232
+ </button>
233
+ );
234
+ }
235
+
198
236
  toolbar = (
199
237
  <div key="toolbar" ref={toolbarRef}
200
238
  className={cm(CLASSES.FLEXLAYOUT__TAB_TOOLBAR)}
@@ -248,7 +286,12 @@ export const TabSet = (props: ITabSetProps) => {
248
286
  }
249
287
 
250
288
  header = (
251
- <div className={tabHeaderClasses} style={{ height: node.getHeaderHeight() + "px" }} onMouseDown={onMouseDown} onTouchStart={onMouseDown}>
289
+ <div className={tabHeaderClasses} style={{ height: node.getHeaderHeight() + "px" }}
290
+ onMouseDown={onMouseDown}
291
+ onContextMenu={onContextMenu}
292
+ onClick={onAuxMouseClick}
293
+ onAuxClick={onAuxMouseClick}
294
+ onTouchStart={onMouseDown}>
252
295
  <div className={cm(CLASSES.FLEXLAYOUT__TABSET_HEADER_CONTENT)}>{headerContent}</div>
253
296
  {headerToolbar}
254
297
  </div>
@@ -263,7 +306,12 @@ export const TabSet = (props: ITabSetProps) => {
263
306
  tabStripStyle["bottom"] = "0px";
264
307
  }
265
308
  tabStrip = (
266
- <div className={tabStripClasses} style={tabStripStyle} onMouseDown={onMouseDown} onTouchStart={onMouseDown}>
309
+ <div className={tabStripClasses} style={tabStripStyle}
310
+ onMouseDown={onMouseDown}
311
+ onContextMenu={onContextMenu}
312
+ onClick={onAuxMouseClick}
313
+ onAuxClick={onAuxMouseClick}
314
+ onTouchStart={onMouseDown}>
267
315
  <div ref={tabbarInnerRef} className={cm(CLASSES.FLEXLAYOUT__TABSET_TABBAR_INNER) + " " + cm(CLASSES.FLEXLAYOUT__TABSET_TABBAR_INNER_ + node.getTabLocation())}>
268
316
  <div
269
317
  style={{ left: position }}
@@ -279,9 +327,21 @@ export const TabSet = (props: ITabSetProps) => {
279
327
  style = layout.styleFont(style);
280
328
 
281
329
  return (
282
- <div ref={selfRef} style={style} className={cm(CLASSES.FLEXLAYOUT__TABSET)} onWheel={onMouseWheel}>
330
+ <div ref={selfRef} dir="ltr" style={style} className={cm(CLASSES.FLEXLAYOUT__TABSET)} onWheel={onMouseWheel}>
283
331
  {header}
284
332
  {tabStrip}
285
333
  </div>
286
334
  );
287
335
  };
336
+
337
+ /** @hidden @internal */
338
+ export function isAuxMouseEvent(event: React.MouseEvent<HTMLDivElement, MouseEvent> | React.TouchEvent<HTMLDivElement>) {
339
+ let auxEvent = false;
340
+ if (event.nativeEvent instanceof MouseEvent) {
341
+ if (event.nativeEvent.button !== 0 || event.ctrlKey || event.altKey || event.metaKey || event.shiftKey) {
342
+ auxEvent = true;
343
+ }
344
+ }
345
+ return auxEvent;
346
+ }
347
+
package/style/_base.scss CHANGED
@@ -8,6 +8,21 @@
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
+
23
+ --font-size: #{$font-size};
24
+ --font-family: #{$font-family};
25
+
11
26
  @include absoluteFill;
12
27
  overflow: hidden;
13
28
  }
@@ -17,6 +32,8 @@
17
32
 
18
33
  @media (hover: hover) {
19
34
  &:hover {
35
+ transition: background-color ease-in .1s;
36
+ transition-delay: 0.05s;
20
37
  @include splitter_hover_mixin;
21
38
  }
22
39
  }
@@ -24,25 +41,27 @@
24
41
  z-index: 10;
25
42
  @include splitter_border_mixin;
26
43
  }
27
-
28
44
  &_drag {
29
45
  z-index: 1000;
30
46
  @include splitter_drag_mixin;
31
47
  }
48
+ &_extra {
49
+ background-color: transparent;
50
+ }
32
51
  }
33
52
 
34
53
  &__outline_rect {
35
54
  position: absolute;
36
- cursor: move;
55
+ pointer-events: none;
37
56
  box-sizing: border-box;
38
- border: 2px solid $color_drag1;
57
+ border: 2px solid var(--color-drag1);
39
58
  box-shadow: inset 0 0 60px rgba(0, 0, 0, 0.2);
40
59
  border-radius: 5px;
41
60
  z-index: 1000;
42
61
 
43
62
  &_edge {
44
- cursor: move;
45
- border: 2px solid $color_drag2;
63
+ pointer-events: none;
64
+ border: 2px solid var(--color-drag2);
46
65
  box-shadow: inset 0 0 60px rgba(0, 0, 0, 0.2);
47
66
  border-radius: 5px;
48
67
  z-index: 1000;
@@ -55,14 +74,15 @@
55
74
  z-index: 1000;
56
75
  box-shadow: inset 0 0 5px rgba(0, 0, 0, 0.2);
57
76
  background-color: gray;
77
+ pointer-events: none;
58
78
  }
59
79
 
60
80
  &__drag_rect {
61
81
  position: absolute;
62
82
  cursor: move;
63
- color: $color_text;
64
- background-color: $color_1;
65
- border: 2px solid $color_4;
83
+ color: var(--color-text);
84
+ background-color: var(--color-1);
85
+ border: 2px solid var(--color-4);
66
86
  box-shadow: inset 0 0 60px rgba(0, 0, 0, 0.3);
67
87
  border-radius: 5px;
68
88
  z-index: 1000;
@@ -76,16 +96,16 @@
76
96
  overflow: hidden;
77
97
  padding: 10px;
78
98
  word-wrap: break-word;
79
- font-size: $font-size;
80
- font-family: $font-family;
99
+ font-size: var(--font-size);
100
+ font-family: var(--font-family);
81
101
  }
82
102
 
83
103
  &__tabset {
84
104
  overflow: hidden;
85
- background-color: $color_1;
105
+ background-color: var(--color-1);
86
106
  box-sizing: border-box;
87
- font-size: $font-size;
88
- font-family: $font-family;
107
+ font-size: var(--font-size);
108
+ font-family: var(--font-family);
89
109
  @include tabset_mixin;
90
110
 
91
111
  &_header {
@@ -97,8 +117,8 @@
97
117
  right: 0;
98
118
  padding: 3px 3px 3px 5px;
99
119
  box-sizing: border-box;
100
- border-bottom: 1px solid $color_3;
101
- color: $color_text;
120
+ border-bottom: 1px solid var(--color-3);
121
+ color: var(--color-text);
102
122
  @include tabset_header_mixin;
103
123
 
104
124
  &_content {
@@ -110,7 +130,7 @@
110
130
  &_outer {
111
131
  // tabset tabbar outer
112
132
  box-sizing: border-box;
113
- background-color: $color_1;
133
+ background-color: var(--color-1);
114
134
  position: absolute;
115
135
  left: 0;
116
136
  right: 0;
@@ -120,11 +140,11 @@
120
140
  }
121
141
 
122
142
  &_outer_top {
123
- border-bottom: 1px solid $color_3;
143
+ border-bottom: 1px solid var(--color-3);
124
144
  }
125
145
 
126
146
  &_outer_bottom {
127
- border-top: 1px solid $color_3;
147
+ border-top: 1px solid var(--color-3);
128
148
  }
129
149
 
130
150
  &_inner {
@@ -166,8 +186,8 @@
166
186
  overflow: auto;
167
187
  position: absolute;
168
188
  box-sizing: border-box;
169
- color: $color_text;
170
- background-color: $color_background;
189
+ color: var(--color-text);
190
+ background-color: var(--color-background);
171
191
 
172
192
  &_button {
173
193
  display: inline-flex;
@@ -209,8 +229,12 @@
209
229
 
210
230
  &_textbox {
211
231
  border: none;
212
- color: green;
213
- background-color: $color_3;
232
+ font-family: var(--font-family);
233
+ font-size: var(--font-size);
234
+ color: var(--color-text);
235
+ background-color: var(--color-5);
236
+ border: 1px inset var(--color-1);
237
+ border-radius: 3px;
214
238
  }
215
239
 
216
240
  &_textbox:focus {
@@ -270,6 +294,10 @@
270
294
  &-float {
271
295
  background: transparent url("../images/popout.png") no-repeat center;
272
296
  }
297
+
298
+ &-close {
299
+ background: transparent url("../images/close.png") no-repeat center;
300
+ }
273
301
  }
274
302
 
275
303
  &_sticky_buttons_container {
@@ -282,8 +310,8 @@
282
310
  overflow: auto;
283
311
  position: absolute;
284
312
  box-sizing: border-box;
285
- color: $color_text;
286
- background-color: $color_background;
313
+ color: var(--color-text);
314
+ background-color: var(--color-background);
287
315
  display: flex;
288
316
  justify-content: center;
289
317
  align-items: center;
@@ -311,28 +339,28 @@
311
339
  box-sizing: border-box;
312
340
  overflow: hidden;
313
341
  display: flex;
314
- font-size: $font-size;
315
- font-family: $font-family;
342
+ font-size: var(--font-size);
343
+ font-family: var(--font-family);
316
344
  @include border_mixin;
317
345
 
318
346
  &_top {
319
- border-bottom: 1px solid $color_3;
347
+ border-bottom: 1px solid var(--color-3);
320
348
  align-items: center;
321
349
  }
322
350
 
323
351
  &_bottom {
324
- border-top: 1px solid $color_3;
352
+ border-top: 1px solid var(--color-3);
325
353
  align-items: center;
326
354
  }
327
355
 
328
356
  &_left {
329
- border-right: 1px solid $color_3;
357
+ border-right: 1px solid var(--color-3);
330
358
  align-content: center;
331
359
  flex-direction: column;
332
360
  }
333
361
 
334
362
  &_right {
335
- border-left: 1px solid $color_3;
363
+ border-left: 1px solid var(--color-3);
336
364
  align-content: center;
337
365
  flex-direction: column;
338
366
  }
@@ -466,25 +494,28 @@
466
494
  }
467
495
 
468
496
  &__popup_menu {
469
- font-size: $font-size;
470
- font-family: $font-family;
497
+ font-size: var(--font-size);
498
+ font-family: var(--font-family);
471
499
 
472
500
  &_item {
501
+ margin: 2px;
473
502
  padding: 2px 10px 2px 10px;
474
503
  white-space: nowrap;
504
+ cursor: pointer;
505
+ border-radius: 2px;
475
506
  }
476
507
 
477
508
  @media (hover: hover) {
478
509
  &_item:hover {
479
- background-color: $color_6;
510
+ background-color: var(--color-6);
480
511
  }
481
512
  }
482
513
 
483
514
  &_container {
484
515
  box-shadow: inset 0 0 5px rgba(0, 0, 0, 0.15);
485
- border: 1px solid $color_6;
486
- color: $color_text;
487
- background: $color_background;
516
+ border: 1px solid var(--color-6);
517
+ color: var(--color-text);
518
+ background: var(--color-background);
488
519
  border-radius: 3px;
489
520
  position: absolute;
490
521
  z-index: 1000;
@@ -508,8 +539,8 @@
508
539
  @include absoluteFill;
509
540
 
510
541
  box-sizing: border-box;
511
- background-color: $color_background;
512
- color: $color_text;
542
+ background-color: var(--color-background);
543
+ color: var(--color-text);
513
544
  }
514
545
  }
515
546
 
@@ -530,21 +561,21 @@
530
561
  &__tabset_sizer {
531
562
  padding-top: 5px; // tab_button has 3 padding top, tabset header inner has 2 border
532
563
  padding-bottom: 3px; // tab_button has 3 padding bottom
533
- font-size: $font-size;
534
- font-family: $font-family;
564
+ font-size: var(--font-size);
565
+ font-family: var(--font-family);
535
566
  }
536
567
 
537
568
  &__tabset_header_sizer {
538
569
  padding-top: 3px;
539
570
  padding-bottom: 3px;
540
- font-size: $font-size;
541
- font-family: $font-family;
571
+ font-size: var(--font-size);
572
+ font-family: var(--font-family);
542
573
  }
543
574
 
544
575
  &__border_sizer {
545
576
  padding-top: 6px;
546
577
  padding-bottom: 5px;
547
- font-size: $font-size;
548
- font-family: $font-family;
578
+ font-size: var(--font-size);
579
+ font-family: var(--font-family);
549
580
  }
550
581
  }