@theia/core 1.59.0 → 1.60.0-next.43
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/README.md +10 -10
- package/lib/browser/about-dialog.d.ts.map +1 -1
- package/lib/browser/about-dialog.js +2 -1
- package/lib/browser/about-dialog.js.map +1 -1
- package/lib/browser/browser.d.ts +2 -0
- package/lib/browser/browser.d.ts.map +1 -1
- package/lib/browser/browser.js +6 -1
- package/lib/browser/browser.js.map +1 -1
- package/lib/browser/catalog.json +157 -13
- package/lib/browser/common-frontend-contribution.d.ts.map +1 -1
- package/lib/browser/common-frontend-contribution.js +24 -22
- package/lib/browser/common-frontend-contribution.js.map +1 -1
- package/lib/browser/common-styling-participants.js +25 -25
- package/lib/browser/menu/browser-context-menu-renderer.d.ts.map +1 -1
- package/lib/browser/menu/browser-context-menu-renderer.js +1 -2
- package/lib/browser/menu/browser-context-menu-renderer.js.map +1 -1
- package/lib/browser/menu/browser-menu-plugin.d.ts +5 -5
- package/lib/browser/menu/browser-menu-plugin.d.ts.map +1 -1
- package/lib/browser/menu/browser-menu-plugin.js +23 -13
- package/lib/browser/menu/browser-menu-plugin.js.map +1 -1
- package/lib/browser/preferences/injectable-preference-proxy.d.ts +1 -1
- package/lib/browser/preferences/injectable-preference-proxy.d.ts.map +1 -1
- package/lib/browser/preferences/preference-contribution.d.ts +1 -1
- package/lib/browser/preferences/preference-contribution.d.ts.map +1 -1
- package/lib/browser/preferences/preference-provider.d.ts +1 -1
- package/lib/browser/preferences/preference-provider.d.ts.map +1 -1
- package/lib/browser/preferences/preference-provider.js +1 -1
- package/lib/browser/preferences/preference-provider.js.map +1 -1
- package/lib/browser/preferences/preference-service.d.ts +1 -1
- package/lib/browser/preferences/preference-service.d.ts.map +1 -1
- package/lib/browser/preferences/preference-service.js +3 -3
- package/lib/browser/preferences/preference-service.js.map +1 -1
- package/lib/browser/preferences/preference-validation-service.d.ts +1 -1
- package/lib/browser/preferences/preference-validation-service.d.ts.map +1 -1
- package/lib/browser/saveable.d.ts +11 -3
- package/lib/browser/saveable.d.ts.map +1 -1
- package/lib/browser/saveable.js +2 -1
- package/lib/browser/saveable.js.map +1 -1
- package/lib/browser/shell/application-shell-mouse-tracker.d.ts +1 -1
- package/lib/browser/shell/application-shell-mouse-tracker.d.ts.map +1 -1
- package/lib/browser/shell/application-shell-mouse-tracker.js +3 -3
- package/lib/browser/shell/application-shell-mouse-tracker.js.map +1 -1
- package/lib/browser/shell/application-shell.d.ts +10 -7
- package/lib/browser/shell/application-shell.d.ts.map +1 -1
- package/lib/browser/shell/application-shell.js +24 -21
- package/lib/browser/shell/application-shell.js.map +1 -1
- package/lib/browser/shell/shell-layout-restorer.d.ts +1 -1
- package/lib/browser/shell/shell-layout-restorer.d.ts.map +1 -1
- package/lib/browser/shell/side-panel-handler.d.ts +2 -2
- package/lib/browser/shell/side-panel-handler.d.ts.map +1 -1
- package/lib/browser/shell/side-panel-handler.js +11 -11
- package/lib/browser/shell/side-panel-handler.js.map +1 -1
- package/lib/browser/shell/side-panel-toolbar.d.ts +2 -2
- package/lib/browser/shell/side-panel-toolbar.d.ts.map +1 -1
- package/lib/browser/shell/side-panel-toolbar.js +1 -1
- package/lib/browser/shell/side-panel-toolbar.js.map +1 -1
- package/lib/browser/shell/split-panels.d.ts +1 -1
- package/lib/browser/shell/split-panels.d.ts.map +1 -1
- package/lib/browser/shell/split-panels.js +1 -1
- package/lib/browser/shell/split-panels.js.map +1 -1
- package/lib/browser/shell/tab-bar-decorator.d.ts +1 -1
- package/lib/browser/shell/tab-bar-decorator.d.ts.map +1 -1
- package/lib/browser/shell/tab-bar-toolbar/tab-bar-toolbar.d.ts +1 -1
- package/lib/browser/shell/tab-bar-toolbar/tab-bar-toolbar.d.ts.map +1 -1
- package/lib/browser/shell/tab-bar-toolbar/tab-bar-toolbar.js +1 -1
- package/lib/browser/shell/tab-bar-toolbar/tab-bar-toolbar.js.map +1 -1
- package/lib/browser/shell/tab-bars.d.ts +18 -12
- package/lib/browser/shell/tab-bars.d.ts.map +1 -1
- package/lib/browser/shell/tab-bars.js +79 -51
- package/lib/browser/shell/tab-bars.js.map +1 -1
- package/lib/browser/shell/tab-bars.spec.js +1 -1
- package/lib/browser/shell/tab-bars.spec.js.map +1 -1
- package/lib/browser/shell/theia-dock-panel.d.ts +2 -2
- package/lib/browser/shell/theia-dock-panel.d.ts.map +1 -1
- package/lib/browser/shell/theia-dock-panel.js +3 -3
- package/lib/browser/shell/theia-dock-panel.js.map +1 -1
- package/lib/browser/shell/view-column-service.d.ts +1 -1
- package/lib/browser/shell/view-column-service.d.ts.map +1 -1
- package/lib/browser/shell/view-column-service.js +1 -1
- package/lib/browser/shell/view-column-service.js.map +1 -1
- package/lib/browser/shell/view-contribution.d.ts +1 -1
- package/lib/browser/shell/view-contribution.d.ts.map +1 -1
- package/lib/browser/source-tree/source-tree.d.ts.map +1 -1
- package/lib/browser/source-tree/source-tree.js +3 -2
- package/lib/browser/source-tree/source-tree.js.map +1 -1
- package/lib/browser/source-tree/tree-source.d.ts +1 -0
- package/lib/browser/source-tree/tree-source.d.ts.map +1 -1
- package/lib/browser/source-tree/tree-source.js.map +1 -1
- package/lib/browser/tree/tree-widget.d.ts +1 -1
- package/lib/browser/tree/tree-widget.d.ts.map +1 -1
- package/lib/browser/tree/tree-widget.js +1 -1
- package/lib/browser/tree/tree-widget.js.map +1 -1
- package/lib/browser/view-container.d.ts +6 -7
- package/lib/browser/view-container.d.ts.map +1 -1
- package/lib/browser/view-container.js +25 -25
- package/lib/browser/view-container.js.map +1 -1
- package/lib/browser/widget-manager.d.ts +1 -1
- package/lib/browser/widget-manager.d.ts.map +1 -1
- package/lib/browser/widget-manager.js +1 -1
- package/lib/browser/widget-manager.js.map +1 -1
- package/lib/browser/widget-manager.spec.js +1 -1
- package/lib/browser/widget-manager.spec.js.map +1 -1
- package/lib/browser/widgets/react-widget.d.ts +1 -1
- package/lib/browser/widgets/react-widget.d.ts.map +1 -1
- package/lib/browser/widgets/react-widget.js +1 -1
- package/lib/browser/widgets/react-widget.js.map +1 -1
- package/lib/browser/widgets/widget.d.ts +6 -6
- package/lib/browser/widgets/widget.d.ts.map +1 -1
- package/lib/browser/widgets/widget.js +6 -6
- package/lib/browser/widgets/widget.js.map +1 -1
- package/lib/common/json-schema.d.ts +1 -1
- package/lib/common/json-schema.d.ts.map +1 -1
- package/lib/common/preferences/preference-schema.d.ts +4 -1
- package/lib/common/preferences/preference-schema.d.ts.map +1 -1
- package/lib/common/preferences/preference-schema.js.map +1 -1
- package/lib/common/theme.d.ts +2 -0
- package/lib/common/theme.d.ts.map +1 -1
- package/lib/common/theme.js +5 -1
- package/lib/common/theme.js.map +1 -1
- package/lib/electron-browser/menu/electron-menu-contribution.d.ts +1 -1
- package/lib/electron-browser/menu/electron-menu-contribution.d.ts.map +1 -1
- package/lib/electron-browser/menu/electron-menu-contribution.js +6 -4
- package/lib/electron-browser/menu/electron-menu-contribution.js.map +1 -1
- package/lib/electron-browser/preload.d.ts.map +1 -1
- package/lib/electron-browser/preload.js +3 -0
- package/lib/electron-browser/preload.js.map +1 -1
- package/lib/electron-common/electron-api.d.ts +3 -0
- package/lib/electron-common/electron-api.d.ts.map +1 -1
- package/lib/electron-common/electron-api.js +2 -1
- package/lib/electron-common/electron-api.js.map +1 -1
- package/lib/electron-main/electron-api-main.d.ts.map +1 -1
- package/lib/electron-main/electron-api-main.js +1 -0
- package/lib/electron-main/electron-api-main.js.map +1 -1
- package/lib/electron-main/electron-main-application.d.ts +2 -0
- package/lib/electron-main/electron-main-application.d.ts.map +1 -1
- package/lib/electron-main/electron-main-application.js +3 -0
- package/lib/electron-main/electron-main-application.js.map +1 -1
- package/lib/node/messaging/websocket-frontend-connection-service.js +1 -1
- package/package.json +24 -24
- package/shared/@lumino/algorithm/index.d.ts +1 -0
- package/shared/@lumino/algorithm/index.js +1 -0
- package/shared/@lumino/commands/index.d.ts +1 -0
- package/shared/@lumino/commands/index.js +1 -0
- package/shared/@lumino/coreutils/index.d.ts +1 -0
- package/shared/@lumino/coreutils/index.js +1 -0
- package/shared/@lumino/domutils/index.d.ts +1 -0
- package/shared/@lumino/domutils/index.js +1 -0
- package/shared/@lumino/dragdrop/index.d.ts +1 -0
- package/shared/@lumino/dragdrop/index.js +1 -0
- package/shared/@lumino/messaging/index.d.ts +1 -0
- package/shared/@lumino/messaging/index.js +1 -0
- package/shared/@lumino/properties/index.d.ts +1 -0
- package/shared/@lumino/properties/index.js +1 -0
- package/shared/@lumino/signaling/index.d.ts +1 -0
- package/shared/@lumino/signaling/index.js +1 -0
- package/shared/@lumino/virtualdom/index.d.ts +1 -0
- package/shared/@lumino/virtualdom/index.js +1 -0
- package/shared/@lumino/widgets/index.d.ts +1 -0
- package/shared/@lumino/widgets/index.js +1 -0
- package/src/browser/about-dialog.tsx +2 -1
- package/src/browser/browser.ts +6 -1
- package/src/browser/common-frontend-contribution.ts +24 -22
- package/src/browser/common-styling-participants.ts +25 -25
- package/src/browser/menu/browser-context-menu-renderer.ts +1 -2
- package/src/browser/menu/browser-menu-plugin.ts +24 -14
- package/src/browser/preferences/injectable-preference-proxy.ts +1 -1
- package/src/browser/preferences/preference-contribution.ts +1 -1
- package/src/browser/preferences/preference-provider.ts +1 -1
- package/src/browser/preferences/preference-service.ts +1 -1
- package/src/browser/preferences/preference-validation-service.spec.ts +1 -1
- package/src/browser/preferences/preference-validation-service.ts +1 -1
- package/src/browser/saveable.ts +13 -3
- package/src/browser/shell/application-shell-mouse-tracker.ts +3 -3
- package/src/browser/shell/application-shell.ts +36 -32
- package/src/browser/shell/shell-layout-restorer.ts +1 -1
- package/src/browser/shell/side-panel-handler.ts +11 -11
- package/src/browser/shell/side-panel-toolbar.ts +2 -2
- package/src/browser/shell/split-panels.ts +1 -1
- package/src/browser/shell/tab-bar-decorator.ts +1 -1
- package/src/browser/shell/tab-bar-toolbar/tab-bar-toolbar.tsx +1 -1
- package/src/browser/shell/tab-bars.spec.ts +1 -1
- package/src/browser/shell/tab-bars.ts +92 -57
- package/src/browser/shell/theia-dock-panel.ts +3 -3
- package/src/browser/shell/view-column-service.ts +2 -2
- package/src/browser/shell/view-contribution.ts +1 -1
- package/src/browser/source-tree/source-tree.ts +3 -2
- package/src/browser/source-tree/tree-source.ts +1 -0
- package/src/browser/style/dialog.css +12 -12
- package/src/browser/style/dockpanel.css +19 -19
- package/src/browser/style/hover-service.css +1 -0
- package/src/browser/style/index.css +3 -3
- package/src/browser/style/menus.css +34 -31
- package/src/browser/style/sidepanel.css +52 -48
- package/src/browser/style/split-widget.css +5 -5
- package/src/browser/style/tabs.css +91 -97
- package/src/browser/style/view-container.css +14 -14
- package/src/browser/tree/tree-widget.tsx +2 -2
- package/src/browser/view-container.ts +34 -34
- package/src/browser/widget-manager.spec.ts +1 -1
- package/src/browser/widget-manager.ts +1 -1
- package/src/browser/widgets/react-widget.tsx +1 -1
- package/src/browser/widgets/widget.ts +7 -7
- package/src/common/json-schema.ts +1 -1
- package/src/common/preferences/preference-schema.ts +4 -1
- package/src/common/theme.ts +6 -0
- package/src/electron-browser/menu/electron-menu-contribution.ts +6 -5
- package/src/electron-browser/preload.ts +6 -3
- package/src/electron-common/electron-api.ts +3 -0
- package/src/electron-main/electron-api-main.ts +4 -1
- package/src/electron-main/electron-main-application.ts +5 -0
- package/src/node/messaging/websocket-frontend-connection-service.ts +1 -2
- package/shared/@phosphor/algorithm/index.d.ts +0 -1
- package/shared/@phosphor/algorithm/index.js +0 -1
- package/shared/@phosphor/commands/index.d.ts +0 -1
- package/shared/@phosphor/commands/index.js +0 -1
- package/shared/@phosphor/coreutils/index.d.ts +0 -1
- package/shared/@phosphor/coreutils/index.js +0 -1
- package/shared/@phosphor/domutils/index.d.ts +0 -1
- package/shared/@phosphor/domutils/index.js +0 -1
- package/shared/@phosphor/dragdrop/index.d.ts +0 -1
- package/shared/@phosphor/dragdrop/index.js +0 -1
- package/shared/@phosphor/messaging/index.d.ts +0 -1
- package/shared/@phosphor/messaging/index.js +0 -1
- package/shared/@phosphor/properties/index.d.ts +0 -1
- package/shared/@phosphor/properties/index.js +0 -1
- package/shared/@phosphor/signaling/index.d.ts +0 -1
- package/shared/@phosphor/signaling/index.js +0 -1
- package/shared/@phosphor/virtualdom/index.d.ts +0 -1
- package/shared/@phosphor/virtualdom/index.js +0 -1
- package/shared/@phosphor/widgets/index.d.ts +0 -1
- package/shared/@phosphor/widgets/index.js +0 -1
|
@@ -15,14 +15,14 @@
|
|
|
15
15
|
// *****************************************************************************
|
|
16
16
|
|
|
17
17
|
import PerfectScrollbar from 'perfect-scrollbar';
|
|
18
|
-
import { TabBar, Title, Widget } from '@
|
|
19
|
-
import { VirtualElement, h, VirtualDOM, ElementInlineStyle } from '@
|
|
18
|
+
import { TabBar, Title, Widget } from '@lumino/widgets';
|
|
19
|
+
import { VirtualElement, h, VirtualDOM, ElementInlineStyle } from '@lumino/virtualdom';
|
|
20
20
|
import { Disposable, DisposableCollection, MenuPath, notEmpty, SelectionService, CommandService, nls, ArrayUtils } from '../../common';
|
|
21
21
|
import { ContextMenuRenderer } from '../context-menu-renderer';
|
|
22
|
-
import { Signal, Slot } from '@
|
|
23
|
-
import { Message, MessageLoop } from '@
|
|
24
|
-
import { ArrayExt } from '@
|
|
25
|
-
import { ElementExt } from '@
|
|
22
|
+
import { Signal, Slot } from '@lumino/signaling';
|
|
23
|
+
import { Message, MessageLoop } from '@lumino/messaging';
|
|
24
|
+
import { ArrayExt } from '@lumino/algorithm';
|
|
25
|
+
import { ElementExt } from '@lumino/domutils';
|
|
26
26
|
import { TabBarToolbarRegistry, TabBarToolbar } from './tab-bar-toolbar';
|
|
27
27
|
import { TheiaDockPanel, MAIN_AREA_ID, BOTTOM_AREA_ID } from './theia-dock-panel';
|
|
28
28
|
import { WidgetDecoration } from '../widget-decoration';
|
|
@@ -30,7 +30,7 @@ import { TabBarDecoratorService } from './tab-bar-decorator';
|
|
|
30
30
|
import { IconThemeService } from '../icon-theme-service';
|
|
31
31
|
import { BreadcrumbsRenderer, BreadcrumbsRendererFactory } from '../breadcrumbs/breadcrumbs-renderer';
|
|
32
32
|
import { NavigatableWidget } from '../navigatable-types';
|
|
33
|
-
import {
|
|
33
|
+
import { Drag } from '@lumino/dragdrop';
|
|
34
34
|
import { LOCKED_CLASS, PINNED_CLASS } from '../widgets/widget';
|
|
35
35
|
import { CorePreferences } from '../core-preferences';
|
|
36
36
|
import { HoverService } from '../hover-service';
|
|
@@ -39,6 +39,7 @@ import { SelectComponent } from '../widgets/select-component';
|
|
|
39
39
|
import { createElement } from 'react';
|
|
40
40
|
import { PreviewableWidget } from '../widgets/previewable-widget';
|
|
41
41
|
import { EnhancedPreviewWidget } from '../widgets/enhanced-preview-widget';
|
|
42
|
+
import { isContextMenuEvent } from '../browser';
|
|
42
43
|
import { ContextKeyService } from '../context-key-service';
|
|
43
44
|
|
|
44
45
|
/** The class name added to hidden content nodes, which are required to render vertical side bars. */
|
|
@@ -195,7 +196,7 @@ export class TabBarRenderer extends TabBar.Renderer {
|
|
|
195
196
|
this.renderLock(data, isInSidePanel)
|
|
196
197
|
),
|
|
197
198
|
h.div({
|
|
198
|
-
className: '
|
|
199
|
+
className: 'lm-TabBar-tabCloseIcon action-label',
|
|
199
200
|
title: closeIconTitle,
|
|
200
201
|
onclick: this.handleCloseClickEvent
|
|
201
202
|
})
|
|
@@ -205,7 +206,7 @@ export class TabBarRenderer extends TabBar.Renderer {
|
|
|
205
206
|
override createTabClass(data: SideBarRenderData): string {
|
|
206
207
|
let tabClass = super.createTabClass(data);
|
|
207
208
|
if (!(data.visible ?? true)) {
|
|
208
|
-
tabClass += '
|
|
209
|
+
tabClass += ' lm-mod-invisible';
|
|
209
210
|
}
|
|
210
211
|
return tabClass;
|
|
211
212
|
}
|
|
@@ -280,16 +281,16 @@ export class TabBarRenderer extends TabBar.Renderer {
|
|
|
280
281
|
// No need to check for duplicate labels if the tab is rendered in the side panel (title is not displayed),
|
|
281
282
|
// or if there are less than two files in the tab bar.
|
|
282
283
|
if (isInSidePanel || (this.tabBar && this.tabBar.titles.length < 2)) {
|
|
283
|
-
return h.div({ className: '
|
|
284
|
+
return h.div({ className: 'lm-TabBar-tabLabel', style }, data.title.label);
|
|
284
285
|
}
|
|
285
286
|
const originalToDisplayedMap = this.findDuplicateLabels([...this.tabBar!.titles]);
|
|
286
287
|
const labelDetails: string | undefined = originalToDisplayedMap.get(data.title.caption);
|
|
287
288
|
if (labelDetails) {
|
|
288
|
-
return h.div({ className: '
|
|
289
|
-
h.div({ className: '
|
|
290
|
-
h.div({ className: '
|
|
289
|
+
return h.div({ className: 'lm-TabBar-tabLabelWrapper' },
|
|
290
|
+
h.div({ className: 'lm-TabBar-tabLabel', style }, data.title.label),
|
|
291
|
+
h.div({ className: 'lm-TabBar-tabLabelDetails', style }, labelDetails));
|
|
291
292
|
}
|
|
292
|
-
return h.div({ className: '
|
|
293
|
+
return h.div({ className: 'lm-TabBar-tabLabel', style }, data.title.label);
|
|
293
294
|
}
|
|
294
295
|
|
|
295
296
|
protected renderTailDecorations(renderData: SideBarRenderData, isInSidePanel?: boolean): VirtualElement[] {
|
|
@@ -314,7 +315,7 @@ export class TabBarRenderer extends TabBar.Renderer {
|
|
|
314
315
|
return decorationsToRender.map((decoration, index) => {
|
|
315
316
|
const { tooltip, data, fontData, color, icon, iconClass } = decoration;
|
|
316
317
|
const iconToRender = icon ?? iconClass;
|
|
317
|
-
const className = ['
|
|
318
|
+
const className = ['lm-TabBar-tail', 'flex'].join(' ');
|
|
318
319
|
const style = fontData ? fontData : color ? { color } : undefined;
|
|
319
320
|
const content = (data ? data : iconToRender
|
|
320
321
|
? h.span({ className: this.getIconClass(iconToRender, iconToRender === 'circle' ? [WidgetDecoration.Styles.DECORATOR_SIZE_CLASS] : []) })
|
|
@@ -336,7 +337,7 @@ export class TabBarRenderer extends TabBar.Renderer {
|
|
|
336
337
|
|
|
337
338
|
renderLock(data: SideBarRenderData, isInSidePanel?: boolean): VirtualElement {
|
|
338
339
|
return !isInSidePanel && data.title.className.includes(LOCKED_CLASS)
|
|
339
|
-
? h.div({ className: '
|
|
340
|
+
? h.div({ className: 'lm-TabBar-tabLock' })
|
|
340
341
|
: h.div({});
|
|
341
342
|
}
|
|
342
343
|
|
|
@@ -569,7 +570,7 @@ export class TabBarRenderer extends TabBar.Renderer {
|
|
|
569
570
|
visualPreviewDiv.append(clonedNode);
|
|
570
571
|
const visualPreview = visualPreviewDiv.children.item(visualPreviewDiv.children.length - 1);
|
|
571
572
|
if (visualPreview instanceof HTMLElement) {
|
|
572
|
-
visualPreview.classList.remove('
|
|
573
|
+
visualPreview.classList.remove('lm-mod-hidden');
|
|
573
574
|
visualPreview.classList.add('enhanced-preview');
|
|
574
575
|
visualPreview.id = `preview:${widget.id}`;
|
|
575
576
|
|
|
@@ -636,7 +637,7 @@ export class TabBarRenderer extends TabBar.Renderer {
|
|
|
636
637
|
event.preventDefault();
|
|
637
638
|
let widget: Widget | undefined = undefined;
|
|
638
639
|
if (this.tabBar) {
|
|
639
|
-
const titleIndex = Array.from(this.tabBar.contentNode.getElementsByClassName('
|
|
640
|
+
const titleIndex = Array.from(this.tabBar.contentNode.getElementsByClassName('lm-TabBar-tab'))
|
|
640
641
|
.findIndex(node => node.contains(event.currentTarget as HTMLElement));
|
|
641
642
|
if (titleIndex !== -1) {
|
|
642
643
|
widget = this.tabBar.titles[titleIndex].owner;
|
|
@@ -687,6 +688,10 @@ export class TabBarRenderer extends TabBar.Renderer {
|
|
|
687
688
|
|
|
688
689
|
}
|
|
689
690
|
|
|
691
|
+
export interface TabBarPrivateMethods {
|
|
692
|
+
_releaseMouse(): void;
|
|
693
|
+
}
|
|
694
|
+
|
|
690
695
|
/**
|
|
691
696
|
* A specialized tab bar for the main and bottom areas.
|
|
692
697
|
*/
|
|
@@ -731,8 +736,25 @@ export class ScrollableTabBar extends TabBar<Widget> {
|
|
|
731
736
|
this.toDispose.dispose();
|
|
732
737
|
}
|
|
733
738
|
|
|
739
|
+
protected override onBeforeAttach(msg: Message): void {
|
|
740
|
+
this.contentNode.addEventListener('pointerdown', this);
|
|
741
|
+
this.contentNode.addEventListener('dblclick', this);
|
|
742
|
+
this.contentNode.addEventListener('keydown', this);
|
|
743
|
+
}
|
|
744
|
+
|
|
745
|
+
protected override onAfterDetach(msg: Message): void {
|
|
746
|
+
this.contentNode.removeEventListener('pointerdown', this);
|
|
747
|
+
this.contentNode.removeEventListener('dblclick', this);
|
|
748
|
+
this.contentNode.removeEventListener('keydown', this);
|
|
749
|
+
this.doReleaseMouse();
|
|
750
|
+
}
|
|
751
|
+
|
|
752
|
+
protected doReleaseMouse(): void {
|
|
753
|
+
(this as unknown as TabBarPrivateMethods)._releaseMouse();
|
|
754
|
+
}
|
|
755
|
+
|
|
734
756
|
/**
|
|
735
|
-
* Restructures the DOM defined in
|
|
757
|
+
* Restructures the DOM defined in Lumino.
|
|
736
758
|
*
|
|
737
759
|
* By default the tabs (`li`) are contained in the `this.contentNode` (`ul`) which is wrapped in a `div` (`this.node`).
|
|
738
760
|
* Instead of this structure, we add a container for the `this.contentNode` and for the toolbar.
|
|
@@ -741,7 +763,7 @@ export class ScrollableTabBar extends TabBar<Widget> {
|
|
|
741
763
|
protected rewireDOM(): void {
|
|
742
764
|
const contentNode = this.node.getElementsByClassName(ScrollableTabBar.Styles.TAB_BAR_CONTENT)[0];
|
|
743
765
|
if (!contentNode) {
|
|
744
|
-
throw new Error(
|
|
766
|
+
throw new Error(`'this.node' does not have the content as a direct child with class name '${ScrollableTabBar.Styles.TAB_BAR_CONTENT}'.`);
|
|
745
767
|
}
|
|
746
768
|
this.node.removeChild(contentNode);
|
|
747
769
|
this.contentContainer = document.createElement('div');
|
|
@@ -806,14 +828,14 @@ export class ScrollableTabBar extends TabBar<Widget> {
|
|
|
806
828
|
if (this.orientation === 'horizontal') {
|
|
807
829
|
let availableWidth = this.scrollbarHost.clientWidth;
|
|
808
830
|
let effectiveWidth = availableWidth;
|
|
809
|
-
if (!this.openTabsContainer.classList.contains('
|
|
831
|
+
if (!this.openTabsContainer.classList.contains('lm-mod-hidden')) {
|
|
810
832
|
availableWidth += this.openTabsContainer.getBoundingClientRect().width;
|
|
811
833
|
}
|
|
812
834
|
if (this.dynamicTabOptions.minimumTabSize * this.titles.length <= availableWidth) {
|
|
813
835
|
effectiveWidth += this.openTabsContainer.getBoundingClientRect().width;
|
|
814
|
-
this.openTabsContainer.classList.add('
|
|
836
|
+
this.openTabsContainer.classList.add('lm-mod-hidden');
|
|
815
837
|
} else {
|
|
816
|
-
this.openTabsContainer.classList.remove('
|
|
838
|
+
this.openTabsContainer.classList.remove('lm-mod-hidden');
|
|
817
839
|
}
|
|
818
840
|
this.tabSize = Math.max(Math.min(effectiveWidth / this.titles.length,
|
|
819
841
|
this.dynamicTabOptions.defaultTabSize), this.dynamicTabOptions.minimumTabSize);
|
|
@@ -821,7 +843,7 @@ export class ScrollableTabBar extends TabBar<Widget> {
|
|
|
821
843
|
}
|
|
822
844
|
this.node.classList.add('dynamic-tabs');
|
|
823
845
|
} else {
|
|
824
|
-
this.openTabsContainer.classList.add('
|
|
846
|
+
this.openTabsContainer.classList.add('lm-mod-hidden');
|
|
825
847
|
this.node.classList.remove('dynamic-tabs');
|
|
826
848
|
}
|
|
827
849
|
for (let i = 0, n = this.titles.length; i < n; ++i) {
|
|
@@ -904,11 +926,11 @@ export class ScrollableTabBar extends TabBar<Widget> {
|
|
|
904
926
|
}
|
|
905
927
|
|
|
906
928
|
/**
|
|
907
|
-
* Overrides the `contentNode` property getter in
|
|
929
|
+
* Overrides the `contentNode` property getter in LuminoJS' TabBar.
|
|
908
930
|
*/
|
|
909
931
|
// @ts-expect-error TS2611 `TabBar<T>.contentNode` is declared as `readonly contentNode` but is implemented as a getter.
|
|
910
932
|
get contentNode(): HTMLUListElement {
|
|
911
|
-
return this.
|
|
933
|
+
return this.node.getElementsByClassName(ToolbarAwareTabBar.Styles.TAB_BAR_CONTENT)[0] as HTMLUListElement;
|
|
912
934
|
}
|
|
913
935
|
|
|
914
936
|
/**
|
|
@@ -931,8 +953,8 @@ export namespace ScrollableTabBar {
|
|
|
931
953
|
}
|
|
932
954
|
export namespace Styles {
|
|
933
955
|
|
|
934
|
-
export const TAB_BAR_CONTENT = '
|
|
935
|
-
export const TAB_BAR_CONTENT_CONTAINER = '
|
|
956
|
+
export const TAB_BAR_CONTENT = 'lm-TabBar-content';
|
|
957
|
+
export const TAB_BAR_CONTENT_CONTAINER = 'lm-TabBar-content-container';
|
|
936
958
|
|
|
937
959
|
}
|
|
938
960
|
}
|
|
@@ -1025,6 +1047,10 @@ export class ToolbarAwareTabBar extends ScrollableTabBar {
|
|
|
1025
1047
|
|
|
1026
1048
|
override handleEvent(event: Event): void {
|
|
1027
1049
|
if (event instanceof MouseEvent) {
|
|
1050
|
+
if (isContextMenuEvent(event)) {
|
|
1051
|
+
// Let this bubble up to handle the context menu
|
|
1052
|
+
return;
|
|
1053
|
+
}
|
|
1028
1054
|
if (this.toolbar && this.toolbar.shouldHandleMouseEvent(event) || this.isOver(event, this.openTabsContainer)) {
|
|
1029
1055
|
// if the mouse event is over the toolbar part don't handle it.
|
|
1030
1056
|
return;
|
|
@@ -1038,7 +1064,7 @@ export class ToolbarAwareTabBar extends ScrollableTabBar {
|
|
|
1038
1064
|
}
|
|
1039
1065
|
|
|
1040
1066
|
/**
|
|
1041
|
-
* Restructures the DOM defined in
|
|
1067
|
+
* Restructures the DOM defined in Lumino.
|
|
1042
1068
|
*
|
|
1043
1069
|
* By default the tabs (`li`) are contained in the `this.contentNode` (`ul`) which is wrapped in a `div` (`this.node`).
|
|
1044
1070
|
* Instead of this structure, we add a container for the `this.contentNode` and for the toolbar.
|
|
@@ -1116,18 +1142,18 @@ export class SideTabBar extends ScrollableTabBar {
|
|
|
1116
1142
|
|
|
1117
1143
|
protected override onAfterAttach(msg: Message): void {
|
|
1118
1144
|
this.updateTabs();
|
|
1119
|
-
this.node.addEventListener('
|
|
1120
|
-
this.node.addEventListener('
|
|
1121
|
-
this.node.addEventListener('
|
|
1122
|
-
document.addEventListener('
|
|
1145
|
+
this.node.addEventListener('lm-dragenter', this);
|
|
1146
|
+
this.node.addEventListener('lm-dragover', this);
|
|
1147
|
+
this.node.addEventListener('lm-dragleave', this);
|
|
1148
|
+
document.addEventListener('lm-drop', this);
|
|
1123
1149
|
}
|
|
1124
1150
|
|
|
1125
1151
|
protected override onAfterDetach(msg: Message): void {
|
|
1126
1152
|
super.onAfterDetach(msg);
|
|
1127
|
-
this.node.removeEventListener('
|
|
1128
|
-
this.node.removeEventListener('
|
|
1129
|
-
this.node.removeEventListener('
|
|
1130
|
-
document.removeEventListener('
|
|
1153
|
+
this.node.removeEventListener('lm-dragenter', this);
|
|
1154
|
+
this.node.removeEventListener('lm-dragover', this);
|
|
1155
|
+
this.node.removeEventListener('lm-dragleave', this);
|
|
1156
|
+
document.removeEventListener('lm-drop', this);
|
|
1131
1157
|
}
|
|
1132
1158
|
|
|
1133
1159
|
protected override onUpdateRequest(msg: Message): void {
|
|
@@ -1190,13 +1216,13 @@ export class SideTabBar extends ScrollableTabBar {
|
|
|
1190
1216
|
paddingBottom: parseFloat(tabStyle.paddingBottom!)
|
|
1191
1217
|
};
|
|
1192
1218
|
// Extract label size from the DOM
|
|
1193
|
-
const labelElements = hiddenTab.getElementsByClassName('
|
|
1219
|
+
const labelElements = hiddenTab.getElementsByClassName('lm-TabBar-tabLabel');
|
|
1194
1220
|
if (labelElements.length === 1) {
|
|
1195
1221
|
const label = labelElements[0];
|
|
1196
1222
|
rd.labelSize = { width: label.clientWidth, height: label.clientHeight };
|
|
1197
1223
|
}
|
|
1198
1224
|
// Extract icon size from the DOM
|
|
1199
|
-
const iconElements = hiddenTab.getElementsByClassName('
|
|
1225
|
+
const iconElements = hiddenTab.getElementsByClassName('lm-TabBar-tabIcon');
|
|
1200
1226
|
if (iconElements.length === 1) {
|
|
1201
1227
|
const icon = iconElements[0];
|
|
1202
1228
|
rd.iconSize = { width: icon.clientWidth, height: icon.clientHeight };
|
|
@@ -1243,7 +1269,7 @@ export class SideTabBar extends ScrollableTabBar {
|
|
|
1243
1269
|
*/
|
|
1244
1270
|
protected hideOverflowingTabs(): number {
|
|
1245
1271
|
const availableHeight = this.node.clientHeight;
|
|
1246
|
-
const invisibleClass = '
|
|
1272
|
+
const invisibleClass = 'lm-mod-invisible';
|
|
1247
1273
|
let startIndex = -1;
|
|
1248
1274
|
const n = this.contentNode.children.length;
|
|
1249
1275
|
for (let i = 0; i < n; i++) {
|
|
@@ -1306,27 +1332,36 @@ export class SideTabBar extends ScrollableTabBar {
|
|
|
1306
1332
|
*/
|
|
1307
1333
|
override handleEvent(event: Event): void {
|
|
1308
1334
|
switch (event.type) {
|
|
1309
|
-
case '
|
|
1310
|
-
|
|
1311
|
-
|
|
1335
|
+
case 'pointerdown':
|
|
1336
|
+
if (!isContextMenuEvent(event as PointerEvent)) {
|
|
1337
|
+
this.onMouseDown(event as PointerEvent);
|
|
1338
|
+
super.handleEvent(event);
|
|
1339
|
+
}
|
|
1312
1340
|
break;
|
|
1313
|
-
case '
|
|
1314
|
-
|
|
1315
|
-
|
|
1341
|
+
case 'pointerup':
|
|
1342
|
+
if (!isContextMenuEvent(event as PointerEvent)) {
|
|
1343
|
+
super.handleEvent(event);
|
|
1344
|
+
this.onMouseUp(event as PointerEvent);
|
|
1345
|
+
}
|
|
1316
1346
|
break;
|
|
1317
1347
|
case 'mousemove':
|
|
1318
|
-
|
|
1319
|
-
|
|
1348
|
+
if (!isContextMenuEvent(event as PointerEvent)) {
|
|
1349
|
+
this.onMouseMove(event as PointerEvent);
|
|
1350
|
+
super.handleEvent(event);
|
|
1351
|
+
}
|
|
1320
1352
|
break;
|
|
1321
|
-
case '
|
|
1322
|
-
this.onDragEnter(event as
|
|
1353
|
+
case 'lm-dragenter':
|
|
1354
|
+
this.onDragEnter(event as Drag.Event);
|
|
1323
1355
|
break;
|
|
1324
|
-
case '
|
|
1325
|
-
this.onDragOver(event as
|
|
1356
|
+
case 'lm-dragover':
|
|
1357
|
+
this.onDragOver(event as Drag.Event);
|
|
1326
1358
|
break;
|
|
1327
|
-
case '
|
|
1359
|
+
case 'lm-dragleave': case 'lm-drop':
|
|
1328
1360
|
this.cancelViewContainerDND();
|
|
1329
1361
|
break;
|
|
1362
|
+
case 'contextmenu':
|
|
1363
|
+
// Let the event bubble up instead of quashing it in the superclass
|
|
1364
|
+
break;
|
|
1330
1365
|
default:
|
|
1331
1366
|
super.handleEvent(event);
|
|
1332
1367
|
}
|
|
@@ -1400,9 +1435,9 @@ export class SideTabBar extends ScrollableTabBar {
|
|
|
1400
1435
|
/**
|
|
1401
1436
|
* Handles `viewContainerPart` drag enter.
|
|
1402
1437
|
*/
|
|
1403
|
-
protected onDragEnter = (event:
|
|
1438
|
+
protected onDragEnter = (event: Drag.Event) => {
|
|
1404
1439
|
this.cancelViewContainerDND();
|
|
1405
|
-
if (event.mimeData.getData('application/vnd.
|
|
1440
|
+
if (event.mimeData.getData('application/vnd.lumino.view-container-factory')) {
|
|
1406
1441
|
event.preventDefault();
|
|
1407
1442
|
event.stopPropagation();
|
|
1408
1443
|
}
|
|
@@ -1412,8 +1447,8 @@ export class SideTabBar extends ScrollableTabBar {
|
|
|
1412
1447
|
* Handle `viewContainerPart` drag over,
|
|
1413
1448
|
* Defines the appropriate `dropAction` and opens the tab on which the mouse stands on for more than 800 ms.
|
|
1414
1449
|
*/
|
|
1415
|
-
protected onDragOver = (event:
|
|
1416
|
-
const factory = event.mimeData.getData('application/vnd.
|
|
1450
|
+
protected onDragOver = (event: Drag.Event) => {
|
|
1451
|
+
const factory = event.mimeData.getData('application/vnd.lumino.view-container-factory');
|
|
1417
1452
|
const widget = factory && factory();
|
|
1418
1453
|
if (!widget) {
|
|
1419
1454
|
event.dropAction = 'none';
|
|
@@ -14,9 +14,9 @@
|
|
|
14
14
|
// SPDX-License-Identifier: EPL-2.0 OR GPL-2.0-only WITH Classpath-exception-2.0
|
|
15
15
|
// *****************************************************************************
|
|
16
16
|
|
|
17
|
-
import { find, toArray } from '@
|
|
18
|
-
import { TabBar, Widget, DockPanel, Title, DockLayout } from '@
|
|
19
|
-
import { Signal } from '@
|
|
17
|
+
import { find, toArray } from '@lumino/algorithm';
|
|
18
|
+
import { TabBar, Widget, DockPanel, Title, DockLayout } from '@lumino/widgets';
|
|
19
|
+
import { Signal } from '@lumino/signaling';
|
|
20
20
|
import { Disposable, DisposableCollection } from '../../common/disposable';
|
|
21
21
|
import { UnsafeWidgetUtilities } from '../widgets';
|
|
22
22
|
import { CorePreferences } from '../core-preferences';
|
|
@@ -17,8 +17,8 @@
|
|
|
17
17
|
import { injectable, inject } from 'inversify';
|
|
18
18
|
import { Emitter, Event } from '../../common/event';
|
|
19
19
|
import { ApplicationShell } from './application-shell';
|
|
20
|
-
import { toArray } from '@
|
|
21
|
-
import { TabBar, Widget } from '@
|
|
20
|
+
import { toArray } from '@lumino/algorithm';
|
|
21
|
+
import { TabBar, Widget } from '@lumino/widgets';
|
|
22
22
|
|
|
23
23
|
@injectable()
|
|
24
24
|
export class ViewColumnService {
|
|
@@ -15,7 +15,7 @@
|
|
|
15
15
|
// *****************************************************************************
|
|
16
16
|
|
|
17
17
|
import { injectable, inject, interfaces, optional, unmanaged } from 'inversify';
|
|
18
|
-
import { Widget } from '@
|
|
18
|
+
import { Widget } from '@lumino/widgets';
|
|
19
19
|
import {
|
|
20
20
|
MenuModelRegistry, Command, CommandContribution,
|
|
21
21
|
MenuContribution, CommandRegistry, nls
|
|
@@ -49,9 +49,10 @@ export class SourceTree extends TreeImpl {
|
|
|
49
49
|
const existing = this.getNode(id);
|
|
50
50
|
const updated = existing && <TreeElementNode>Object.assign(existing, { element, parent });
|
|
51
51
|
if (CompositeTreeElement.hasElements(element)) {
|
|
52
|
+
const expand = element.expandByDefault ? element.expandByDefault() : false;
|
|
52
53
|
if (updated) {
|
|
53
54
|
if (!ExpandableTreeNode.is(updated)) {
|
|
54
|
-
Object.assign(updated, { expanded:
|
|
55
|
+
Object.assign(updated, { expanded: expand });
|
|
55
56
|
}
|
|
56
57
|
if (!CompositeTreeNode.is(updated)) {
|
|
57
58
|
Object.assign(updated, { children: [] });
|
|
@@ -64,7 +65,7 @@ export class SourceTree extends TreeImpl {
|
|
|
64
65
|
id,
|
|
65
66
|
name,
|
|
66
67
|
selected: false,
|
|
67
|
-
expanded:
|
|
68
|
+
expanded: expand,
|
|
68
69
|
children: []
|
|
69
70
|
} as TreeElementNode;
|
|
70
71
|
}
|
|
@@ -34,6 +34,7 @@ export interface CompositeTreeElement extends TreeElement {
|
|
|
34
34
|
/** default: true */
|
|
35
35
|
readonly hasElements?: boolean
|
|
36
36
|
getElements(): MaybePromise<IterableIterator<TreeElement>>
|
|
37
|
+
expandByDefault?(): boolean
|
|
37
38
|
}
|
|
38
39
|
export namespace CompositeTreeElement {
|
|
39
40
|
export function is(element: unknown): element is CompositeTreeElement {
|
|
@@ -14,7 +14,7 @@
|
|
|
14
14
|
* SPDX-License-Identifier: EPL-2.0 OR GPL-2.0-only WITH Classpath-exception-2.0
|
|
15
15
|
********************************************************************************/
|
|
16
16
|
|
|
17
|
-
.
|
|
17
|
+
.lm-Widget.dialogOverlay {
|
|
18
18
|
z-index: 5000;
|
|
19
19
|
display: flex;
|
|
20
20
|
flex-direction: column;
|
|
@@ -29,7 +29,7 @@
|
|
|
29
29
|
font-size: var(--theia-ui-font-size1);
|
|
30
30
|
padding: 2px;
|
|
31
31
|
}
|
|
32
|
-
.
|
|
32
|
+
.lm-Widget.dialogOverlay .dialogBlock {
|
|
33
33
|
display: flex;
|
|
34
34
|
flex-direction: column;
|
|
35
35
|
min-width: 400px;
|
|
@@ -40,7 +40,7 @@
|
|
|
40
40
|
overflow: hidden;
|
|
41
41
|
box-shadow: 0 0px 8px var(--theia-widget-shadow);
|
|
42
42
|
}
|
|
43
|
-
.
|
|
43
|
+
.lm-Widget.dialogOverlay .dialogTitle {
|
|
44
44
|
display: flex;
|
|
45
45
|
flex-direction: row;
|
|
46
46
|
flex-wrap: nowrap;
|
|
@@ -54,11 +54,11 @@
|
|
|
54
54
|
min-height: 24px;
|
|
55
55
|
}
|
|
56
56
|
|
|
57
|
-
.
|
|
57
|
+
.lm-Widget.dialogOverlay .dialogTitle i.closeButton {
|
|
58
58
|
cursor: pointer;
|
|
59
59
|
}
|
|
60
60
|
|
|
61
|
-
.
|
|
61
|
+
.lm-Widget.dialogOverlay .dialogContent {
|
|
62
62
|
display: flex;
|
|
63
63
|
flex-direction: column;
|
|
64
64
|
align-items: stretch;
|
|
@@ -69,7 +69,7 @@
|
|
|
69
69
|
overflow-y: auto;
|
|
70
70
|
}
|
|
71
71
|
|
|
72
|
-
.
|
|
72
|
+
.lm-Widget.dialogOverlay .dialogControl {
|
|
73
73
|
padding: calc(var(--theia-ui-padding) * 2);
|
|
74
74
|
display: flex;
|
|
75
75
|
flex-direction: row;
|
|
@@ -79,24 +79,24 @@
|
|
|
79
79
|
min-height: 21px;
|
|
80
80
|
}
|
|
81
81
|
|
|
82
|
-
.
|
|
82
|
+
.lm-Widget.dialogOverlay.hidden {
|
|
83
83
|
display: none;
|
|
84
84
|
}
|
|
85
|
-
.
|
|
85
|
+
.lm-Widget.dialogOverlay.dialogErrorMessage {
|
|
86
86
|
display: none;
|
|
87
87
|
}
|
|
88
|
-
.
|
|
88
|
+
.lm-Widget.dialogOverlay .error {
|
|
89
89
|
color: var(--theia-inputValidation-errorForeground);
|
|
90
90
|
}
|
|
91
|
-
.
|
|
91
|
+
.lm-Widget.dialogOverlay .error.main {
|
|
92
92
|
color: var(--theia-inputValidation-errorForeground);
|
|
93
93
|
border-color: var(--theia-inputValidation-errorBorder);
|
|
94
94
|
}
|
|
95
|
-
.
|
|
95
|
+
.lm-Widget.dialogOverlay .error > .theia-button.main {
|
|
96
96
|
background-color: var(--theia-inputValidation-errorBackground);
|
|
97
97
|
color: var(--theia-inputValidation-errorForeground);
|
|
98
98
|
}
|
|
99
|
-
.
|
|
99
|
+
.lm-Widget.dialogOverlay .error > .dialogErrorMessage {
|
|
100
100
|
margin-top: calc(var(--theia-ui-padding) * 3);
|
|
101
101
|
font-size: var(--theia-ui-font-size1);
|
|
102
102
|
display: block;
|
|
@@ -15,57 +15,57 @@
|
|
|
15
15
|
********************************************************************************/
|
|
16
16
|
|
|
17
17
|
/*
|
|
18
|
-
*
|
|
18
|
+
* Lumino sets the z-index of its panels to 0, which causes overlay issues
|
|
19
19
|
* See also https://github.com/eclipse-theia/theia/issues/14290
|
|
20
20
|
*/
|
|
21
|
-
.
|
|
22
|
-
.
|
|
23
|
-
.
|
|
21
|
+
.lm-SplitPanel-child,
|
|
22
|
+
.lm-DockPanel,
|
|
23
|
+
.lm-DockPanel-widget {
|
|
24
24
|
z-index: initial;
|
|
25
25
|
}
|
|
26
26
|
|
|
27
|
-
.
|
|
27
|
+
.lm-DockPanel.lm-SplitPanel-child {
|
|
28
28
|
padding: 0px;
|
|
29
29
|
}
|
|
30
30
|
|
|
31
|
-
.
|
|
31
|
+
.lm-DockPanel-widget {
|
|
32
32
|
min-width: 100px;
|
|
33
33
|
min-height: 100px;
|
|
34
34
|
}
|
|
35
35
|
|
|
36
|
-
.
|
|
36
|
+
.lm-DockPanel-handle[data-orientation="vertical"] {
|
|
37
37
|
min-height: var(--theia-border-width);
|
|
38
38
|
z-index: 3;
|
|
39
39
|
}
|
|
40
40
|
|
|
41
|
-
.
|
|
41
|
+
.lm-DockPanel-handle[data-orientation="horizontal"] {
|
|
42
42
|
min-width: var(--theia-border-width);
|
|
43
43
|
}
|
|
44
44
|
|
|
45
|
-
.
|
|
45
|
+
.lm-DockPanel-handle[data-orientation="horizontal"]::after {
|
|
46
46
|
min-width: var(--theia-sash-width);
|
|
47
47
|
transform: translateX(0%);
|
|
48
48
|
left: calc(-1 * var(--theia-sash-width) / 2);
|
|
49
49
|
}
|
|
50
50
|
|
|
51
|
-
.
|
|
51
|
+
.lm-DockPanel-handle[data-orientation="vertical"]::after {
|
|
52
52
|
min-height: var(--theia-sash-width);
|
|
53
53
|
width: 100%;
|
|
54
54
|
transform: translateY(0%);
|
|
55
55
|
top: calc(-1 * var(--theia-sash-width) / 2);
|
|
56
56
|
}
|
|
57
57
|
|
|
58
|
-
.
|
|
58
|
+
.lm-DockPanel-handle:hover::after {
|
|
59
59
|
background-color: var(--theia-sash-hoverBorder);
|
|
60
60
|
transition-delay: var(--theia-sash-hoverDelay);
|
|
61
61
|
}
|
|
62
62
|
|
|
63
|
-
.
|
|
63
|
+
.lm-DockPanel-handle:active::after {
|
|
64
64
|
background-color: var(--theia-sash-activeBorder);
|
|
65
65
|
transition-delay: 0s !important;
|
|
66
66
|
}
|
|
67
67
|
|
|
68
|
-
.
|
|
68
|
+
.lm-DockPanel-overlay {
|
|
69
69
|
background: var(--theia-editorGroup-dropBackground);
|
|
70
70
|
border: var(--theia-border-width) dashed var(--theia-contrastActiveBorder);
|
|
71
71
|
transition-property: top, left, right, bottom;
|
|
@@ -73,14 +73,14 @@
|
|
|
73
73
|
transition-timing-function: ease;
|
|
74
74
|
}
|
|
75
75
|
|
|
76
|
-
.
|
|
77
|
-
.
|
|
78
|
-
.
|
|
79
|
-
.
|
|
80
|
-
.
|
|
76
|
+
.lm-DockPanel-overlay.lm-mod-root-top,
|
|
77
|
+
.lm-DockPanel-overlay.lm-mod-root-left,
|
|
78
|
+
.lm-DockPanel-overlay.lm-mod-root-right,
|
|
79
|
+
.lm-DockPanel-overlay.lm-mod-root-bottom,
|
|
80
|
+
.lm-DockPanel-overlay.lm-mod-root-center {
|
|
81
81
|
border-width: 2px;
|
|
82
82
|
}
|
|
83
83
|
|
|
84
|
-
.
|
|
84
|
+
.lm-DockPanel-overlay.lm-mod-root-bottom {
|
|
85
85
|
background: var(--theia-panel-dropBackground);
|
|
86
86
|
}
|
|
@@ -14,7 +14,7 @@
|
|
|
14
14
|
* SPDX-License-Identifier: EPL-2.0 OR GPL-2.0-only WITH Classpath-exception-2.0
|
|
15
15
|
********************************************************************************/
|
|
16
16
|
|
|
17
|
-
@import url("~@
|
|
17
|
+
@import url("~@lumino/widgets/style/index.css");
|
|
18
18
|
@import url("~font-awesome/css/font-awesome.min.css");
|
|
19
19
|
|
|
20
20
|
/*-----------------------------------------------------------------------------
|
|
@@ -219,11 +219,11 @@ blockquote {
|
|
|
219
219
|
font-weight: 700;
|
|
220
220
|
}
|
|
221
221
|
|
|
222
|
-
.
|
|
222
|
+
.lm-Widget {
|
|
223
223
|
font-size: var(--theia-ui-font-size1);
|
|
224
224
|
}
|
|
225
225
|
|
|
226
|
-
.
|
|
226
|
+
.lm-Widget.lm-mod-hidden {
|
|
227
227
|
display: none !important;
|
|
228
228
|
}
|
|
229
229
|
|