@theia/core 1.59.0-next.72 → 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 +16 -16
- package/i18n/nls.cs.json +344 -23
- package/i18n/nls.de.json +344 -23
- package/i18n/nls.es.json +344 -23
- package/i18n/nls.fr.json +344 -23
- package/i18n/nls.hu.json +344 -23
- package/i18n/nls.it.json +344 -23
- package/i18n/nls.ja.json +344 -23
- package/i18n/nls.json +344 -23
- package/i18n/nls.ko.json +344 -23
- package/i18n/nls.pl.json +344 -23
- package/i18n/nls.pt-br.json +344 -23
- package/i18n/nls.ru.json +344 -23
- package/i18n/nls.tr.json +344 -23
- package/i18n/nls.zh-cn.json +344 -23
- package/i18n/nls.zh-tw.json +344 -23
- package/lib/browser/about-dialog.d.ts.map +1 -1
- package/lib/browser/about-dialog.js +3 -2
- 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 +207 -14
- package/lib/browser/common-frontend-contribution.d.ts +2 -0
- package/lib/browser/common-frontend-contribution.d.ts.map +1 -1
- package/lib/browser/common-frontend-contribution.js +56 -22
- package/lib/browser/common-frontend-contribution.js.map +1 -1
- package/lib/browser/common-styling-participants.js +25 -25
- package/lib/browser/context-menu-renderer.d.ts +3 -3
- package/lib/browser/context-menu-renderer.d.ts.map +1 -1
- package/lib/browser/core-preferences.js +5 -5
- package/lib/browser/core-preferences.js.map +1 -1
- 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/preload/i18n-preload-contribution.d.ts +4 -0
- package/lib/browser/preload/i18n-preload-contribution.d.ts.map +1 -1
- package/lib/browser/preload/i18n-preload-contribution.js +23 -1
- package/lib/browser/preload/i18n-preload-contribution.js.map +1 -1
- package/lib/browser/preload/preload-module.d.ts.map +1 -1
- package/lib/browser/preload/preload-module.js +5 -3
- package/lib/browser/preload/preload-module.js.map +1 -1
- package/lib/browser/preload/text-replacement-contribution.d.ts +37 -0
- package/lib/browser/preload/text-replacement-contribution.d.ts.map +1 -0
- package/lib/browser/preload/text-replacement-contribution.js +20 -0
- package/lib/browser/preload/text-replacement-contribution.js.map +1 -0
- 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 +13 -12
- 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/sidebar-bottom-menu-widget.d.ts.map +1 -1
- package/lib/browser/shell/sidebar-bottom-menu-widget.js +2 -1
- package/lib/browser/shell/sidebar-bottom-menu-widget.js.map +1 -1
- package/lib/browser/shell/sidebar-menu-widget.d.ts.map +1 -1
- package/lib/browser/shell/sidebar-menu-widget.js +1 -0
- package/lib/browser/shell/sidebar-menu-widget.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 +3 -3
- 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 +80 -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 +2 -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 +31 -27
- 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 +10 -8
- package/lib/browser/widgets/widget.js.map +1 -1
- package/lib/common/i18n/localization.d.ts +2 -3
- package/lib/common/i18n/localization.d.ts.map +1 -1
- package/lib/common/i18n/localization.js +10 -3
- package/lib/common/i18n/localization.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-context-menu-renderer.d.ts.map +1 -1
- package/lib/electron-browser/menu/electron-context-menu-renderer.js +3 -1
- package/lib/electron-browser/menu/electron-context-menu-renderer.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 +26 -26
- 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 +3 -2
- package/src/browser/browser.ts +6 -1
- package/src/browser/common-frontend-contribution.ts +54 -22
- package/src/browser/common-styling-participants.ts +25 -25
- package/src/browser/context-menu-renderer.ts +3 -3
- package/src/browser/core-preferences.ts +5 -5
- 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/preload/i18n-preload-contribution.ts +22 -2
- package/src/browser/preload/preload-module.ts +5 -3
- package/src/browser/preload/text-replacement-contribution.ts +53 -0
- 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 +13 -12
- package/src/browser/shell/side-panel-toolbar.ts +2 -2
- package/src/browser/shell/sidebar-bottom-menu-widget.tsx +2 -1
- package/src/browser/shell/sidebar-menu-widget.tsx +1 -0
- 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 +3 -3
- package/src/browser/shell/tab-bars.spec.ts +1 -1
- package/src/browser/shell/tab-bars.ts +93 -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 +3 -2
- package/src/browser/view-container.ts +40 -36
- 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 +11 -9
- package/src/common/i18n/localization.ts +10 -4
- package/src/common/i18n/nls.metadata.json +34921 -32708
- 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-context-menu-renderer.ts +3 -1
- 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;
|
|
@@ -653,6 +654,7 @@ export class TabBarRenderer extends TabBar.Renderer {
|
|
|
653
654
|
menuPath: this.contextMenuPath!,
|
|
654
655
|
anchor: event,
|
|
655
656
|
args: [event],
|
|
657
|
+
context: event.currentTarget,
|
|
656
658
|
contextKeyService: contextKeyServiceOverlay,
|
|
657
659
|
// We'd like to wait until the command triggered by the context menu has been run, but this should let it get through the preamble, at least.
|
|
658
660
|
onHide: () => setTimeout(() => { if (this.selectionService) { this.selectionService.selection = oldSelection; } })
|
|
@@ -686,6 +688,10 @@ export class TabBarRenderer extends TabBar.Renderer {
|
|
|
686
688
|
|
|
687
689
|
}
|
|
688
690
|
|
|
691
|
+
export interface TabBarPrivateMethods {
|
|
692
|
+
_releaseMouse(): void;
|
|
693
|
+
}
|
|
694
|
+
|
|
689
695
|
/**
|
|
690
696
|
* A specialized tab bar for the main and bottom areas.
|
|
691
697
|
*/
|
|
@@ -730,8 +736,25 @@ export class ScrollableTabBar extends TabBar<Widget> {
|
|
|
730
736
|
this.toDispose.dispose();
|
|
731
737
|
}
|
|
732
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
|
+
|
|
733
756
|
/**
|
|
734
|
-
* Restructures the DOM defined in
|
|
757
|
+
* Restructures the DOM defined in Lumino.
|
|
735
758
|
*
|
|
736
759
|
* By default the tabs (`li`) are contained in the `this.contentNode` (`ul`) which is wrapped in a `div` (`this.node`).
|
|
737
760
|
* Instead of this structure, we add a container for the `this.contentNode` and for the toolbar.
|
|
@@ -740,7 +763,7 @@ export class ScrollableTabBar extends TabBar<Widget> {
|
|
|
740
763
|
protected rewireDOM(): void {
|
|
741
764
|
const contentNode = this.node.getElementsByClassName(ScrollableTabBar.Styles.TAB_BAR_CONTENT)[0];
|
|
742
765
|
if (!contentNode) {
|
|
743
|
-
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}'.`);
|
|
744
767
|
}
|
|
745
768
|
this.node.removeChild(contentNode);
|
|
746
769
|
this.contentContainer = document.createElement('div');
|
|
@@ -805,14 +828,14 @@ export class ScrollableTabBar extends TabBar<Widget> {
|
|
|
805
828
|
if (this.orientation === 'horizontal') {
|
|
806
829
|
let availableWidth = this.scrollbarHost.clientWidth;
|
|
807
830
|
let effectiveWidth = availableWidth;
|
|
808
|
-
if (!this.openTabsContainer.classList.contains('
|
|
831
|
+
if (!this.openTabsContainer.classList.contains('lm-mod-hidden')) {
|
|
809
832
|
availableWidth += this.openTabsContainer.getBoundingClientRect().width;
|
|
810
833
|
}
|
|
811
834
|
if (this.dynamicTabOptions.minimumTabSize * this.titles.length <= availableWidth) {
|
|
812
835
|
effectiveWidth += this.openTabsContainer.getBoundingClientRect().width;
|
|
813
|
-
this.openTabsContainer.classList.add('
|
|
836
|
+
this.openTabsContainer.classList.add('lm-mod-hidden');
|
|
814
837
|
} else {
|
|
815
|
-
this.openTabsContainer.classList.remove('
|
|
838
|
+
this.openTabsContainer.classList.remove('lm-mod-hidden');
|
|
816
839
|
}
|
|
817
840
|
this.tabSize = Math.max(Math.min(effectiveWidth / this.titles.length,
|
|
818
841
|
this.dynamicTabOptions.defaultTabSize), this.dynamicTabOptions.minimumTabSize);
|
|
@@ -820,7 +843,7 @@ export class ScrollableTabBar extends TabBar<Widget> {
|
|
|
820
843
|
}
|
|
821
844
|
this.node.classList.add('dynamic-tabs');
|
|
822
845
|
} else {
|
|
823
|
-
this.openTabsContainer.classList.add('
|
|
846
|
+
this.openTabsContainer.classList.add('lm-mod-hidden');
|
|
824
847
|
this.node.classList.remove('dynamic-tabs');
|
|
825
848
|
}
|
|
826
849
|
for (let i = 0, n = this.titles.length; i < n; ++i) {
|
|
@@ -903,11 +926,11 @@ export class ScrollableTabBar extends TabBar<Widget> {
|
|
|
903
926
|
}
|
|
904
927
|
|
|
905
928
|
/**
|
|
906
|
-
* Overrides the `contentNode` property getter in
|
|
929
|
+
* Overrides the `contentNode` property getter in LuminoJS' TabBar.
|
|
907
930
|
*/
|
|
908
931
|
// @ts-expect-error TS2611 `TabBar<T>.contentNode` is declared as `readonly contentNode` but is implemented as a getter.
|
|
909
932
|
get contentNode(): HTMLUListElement {
|
|
910
|
-
return this.
|
|
933
|
+
return this.node.getElementsByClassName(ToolbarAwareTabBar.Styles.TAB_BAR_CONTENT)[0] as HTMLUListElement;
|
|
911
934
|
}
|
|
912
935
|
|
|
913
936
|
/**
|
|
@@ -930,8 +953,8 @@ export namespace ScrollableTabBar {
|
|
|
930
953
|
}
|
|
931
954
|
export namespace Styles {
|
|
932
955
|
|
|
933
|
-
export const TAB_BAR_CONTENT = '
|
|
934
|
-
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';
|
|
935
958
|
|
|
936
959
|
}
|
|
937
960
|
}
|
|
@@ -1024,6 +1047,10 @@ export class ToolbarAwareTabBar extends ScrollableTabBar {
|
|
|
1024
1047
|
|
|
1025
1048
|
override handleEvent(event: Event): void {
|
|
1026
1049
|
if (event instanceof MouseEvent) {
|
|
1050
|
+
if (isContextMenuEvent(event)) {
|
|
1051
|
+
// Let this bubble up to handle the context menu
|
|
1052
|
+
return;
|
|
1053
|
+
}
|
|
1027
1054
|
if (this.toolbar && this.toolbar.shouldHandleMouseEvent(event) || this.isOver(event, this.openTabsContainer)) {
|
|
1028
1055
|
// if the mouse event is over the toolbar part don't handle it.
|
|
1029
1056
|
return;
|
|
@@ -1037,7 +1064,7 @@ export class ToolbarAwareTabBar extends ScrollableTabBar {
|
|
|
1037
1064
|
}
|
|
1038
1065
|
|
|
1039
1066
|
/**
|
|
1040
|
-
* Restructures the DOM defined in
|
|
1067
|
+
* Restructures the DOM defined in Lumino.
|
|
1041
1068
|
*
|
|
1042
1069
|
* By default the tabs (`li`) are contained in the `this.contentNode` (`ul`) which is wrapped in a `div` (`this.node`).
|
|
1043
1070
|
* Instead of this structure, we add a container for the `this.contentNode` and for the toolbar.
|
|
@@ -1115,18 +1142,18 @@ export class SideTabBar extends ScrollableTabBar {
|
|
|
1115
1142
|
|
|
1116
1143
|
protected override onAfterAttach(msg: Message): void {
|
|
1117
1144
|
this.updateTabs();
|
|
1118
|
-
this.node.addEventListener('
|
|
1119
|
-
this.node.addEventListener('
|
|
1120
|
-
this.node.addEventListener('
|
|
1121
|
-
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);
|
|
1122
1149
|
}
|
|
1123
1150
|
|
|
1124
1151
|
protected override onAfterDetach(msg: Message): void {
|
|
1125
1152
|
super.onAfterDetach(msg);
|
|
1126
|
-
this.node.removeEventListener('
|
|
1127
|
-
this.node.removeEventListener('
|
|
1128
|
-
this.node.removeEventListener('
|
|
1129
|
-
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);
|
|
1130
1157
|
}
|
|
1131
1158
|
|
|
1132
1159
|
protected override onUpdateRequest(msg: Message): void {
|
|
@@ -1189,13 +1216,13 @@ export class SideTabBar extends ScrollableTabBar {
|
|
|
1189
1216
|
paddingBottom: parseFloat(tabStyle.paddingBottom!)
|
|
1190
1217
|
};
|
|
1191
1218
|
// Extract label size from the DOM
|
|
1192
|
-
const labelElements = hiddenTab.getElementsByClassName('
|
|
1219
|
+
const labelElements = hiddenTab.getElementsByClassName('lm-TabBar-tabLabel');
|
|
1193
1220
|
if (labelElements.length === 1) {
|
|
1194
1221
|
const label = labelElements[0];
|
|
1195
1222
|
rd.labelSize = { width: label.clientWidth, height: label.clientHeight };
|
|
1196
1223
|
}
|
|
1197
1224
|
// Extract icon size from the DOM
|
|
1198
|
-
const iconElements = hiddenTab.getElementsByClassName('
|
|
1225
|
+
const iconElements = hiddenTab.getElementsByClassName('lm-TabBar-tabIcon');
|
|
1199
1226
|
if (iconElements.length === 1) {
|
|
1200
1227
|
const icon = iconElements[0];
|
|
1201
1228
|
rd.iconSize = { width: icon.clientWidth, height: icon.clientHeight };
|
|
@@ -1242,7 +1269,7 @@ export class SideTabBar extends ScrollableTabBar {
|
|
|
1242
1269
|
*/
|
|
1243
1270
|
protected hideOverflowingTabs(): number {
|
|
1244
1271
|
const availableHeight = this.node.clientHeight;
|
|
1245
|
-
const invisibleClass = '
|
|
1272
|
+
const invisibleClass = 'lm-mod-invisible';
|
|
1246
1273
|
let startIndex = -1;
|
|
1247
1274
|
const n = this.contentNode.children.length;
|
|
1248
1275
|
for (let i = 0; i < n; i++) {
|
|
@@ -1305,27 +1332,36 @@ export class SideTabBar extends ScrollableTabBar {
|
|
|
1305
1332
|
*/
|
|
1306
1333
|
override handleEvent(event: Event): void {
|
|
1307
1334
|
switch (event.type) {
|
|
1308
|
-
case '
|
|
1309
|
-
|
|
1310
|
-
|
|
1335
|
+
case 'pointerdown':
|
|
1336
|
+
if (!isContextMenuEvent(event as PointerEvent)) {
|
|
1337
|
+
this.onMouseDown(event as PointerEvent);
|
|
1338
|
+
super.handleEvent(event);
|
|
1339
|
+
}
|
|
1311
1340
|
break;
|
|
1312
|
-
case '
|
|
1313
|
-
|
|
1314
|
-
|
|
1341
|
+
case 'pointerup':
|
|
1342
|
+
if (!isContextMenuEvent(event as PointerEvent)) {
|
|
1343
|
+
super.handleEvent(event);
|
|
1344
|
+
this.onMouseUp(event as PointerEvent);
|
|
1345
|
+
}
|
|
1315
1346
|
break;
|
|
1316
1347
|
case 'mousemove':
|
|
1317
|
-
|
|
1318
|
-
|
|
1348
|
+
if (!isContextMenuEvent(event as PointerEvent)) {
|
|
1349
|
+
this.onMouseMove(event as PointerEvent);
|
|
1350
|
+
super.handleEvent(event);
|
|
1351
|
+
}
|
|
1319
1352
|
break;
|
|
1320
|
-
case '
|
|
1321
|
-
this.onDragEnter(event as
|
|
1353
|
+
case 'lm-dragenter':
|
|
1354
|
+
this.onDragEnter(event as Drag.Event);
|
|
1322
1355
|
break;
|
|
1323
|
-
case '
|
|
1324
|
-
this.onDragOver(event as
|
|
1356
|
+
case 'lm-dragover':
|
|
1357
|
+
this.onDragOver(event as Drag.Event);
|
|
1325
1358
|
break;
|
|
1326
|
-
case '
|
|
1359
|
+
case 'lm-dragleave': case 'lm-drop':
|
|
1327
1360
|
this.cancelViewContainerDND();
|
|
1328
1361
|
break;
|
|
1362
|
+
case 'contextmenu':
|
|
1363
|
+
// Let the event bubble up instead of quashing it in the superclass
|
|
1364
|
+
break;
|
|
1329
1365
|
default:
|
|
1330
1366
|
super.handleEvent(event);
|
|
1331
1367
|
}
|
|
@@ -1399,9 +1435,9 @@ export class SideTabBar extends ScrollableTabBar {
|
|
|
1399
1435
|
/**
|
|
1400
1436
|
* Handles `viewContainerPart` drag enter.
|
|
1401
1437
|
*/
|
|
1402
|
-
protected onDragEnter = (event:
|
|
1438
|
+
protected onDragEnter = (event: Drag.Event) => {
|
|
1403
1439
|
this.cancelViewContainerDND();
|
|
1404
|
-
if (event.mimeData.getData('application/vnd.
|
|
1440
|
+
if (event.mimeData.getData('application/vnd.lumino.view-container-factory')) {
|
|
1405
1441
|
event.preventDefault();
|
|
1406
1442
|
event.stopPropagation();
|
|
1407
1443
|
}
|
|
@@ -1411,8 +1447,8 @@ export class SideTabBar extends ScrollableTabBar {
|
|
|
1411
1447
|
* Handle `viewContainerPart` drag over,
|
|
1412
1448
|
* Defines the appropriate `dropAction` and opens the tab on which the mouse stands on for more than 800 ms.
|
|
1413
1449
|
*/
|
|
1414
|
-
protected onDragOver = (event:
|
|
1415
|
-
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');
|
|
1416
1452
|
const widget = factory && factory();
|
|
1417
1453
|
if (!widget) {
|
|
1418
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
|
|