@theia/core 1.37.1 → 1.37.2

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 (57) hide show
  1. package/README.md +6 -6
  2. package/lib/browser/common-frontend-contribution.js +3 -3
  3. package/lib/browser/common-frontend-contribution.js.map +1 -1
  4. package/lib/browser/core-preferences.js +1 -1
  5. package/lib/browser/core-preferences.js.map +1 -1
  6. package/lib/browser/shell/tab-bar-toolbar/tab-bar-toolbar.d.ts +2 -0
  7. package/lib/browser/shell/tab-bar-toolbar/tab-bar-toolbar.d.ts.map +1 -1
  8. package/lib/browser/shell/tab-bar-toolbar/tab-bar-toolbar.js +23 -8
  9. package/lib/browser/shell/tab-bar-toolbar/tab-bar-toolbar.js.map +1 -1
  10. package/lib/browser/shell/tab-bars.d.ts +33 -24
  11. package/lib/browser/shell/tab-bars.d.ts.map +1 -1
  12. package/lib/browser/shell/tab-bars.js +90 -45
  13. package/lib/browser/shell/tab-bars.js.map +1 -1
  14. package/lib/browser/view-container.d.ts +10 -0
  15. package/lib/browser/view-container.d.ts.map +1 -1
  16. package/lib/browser/view-container.js +15 -1
  17. package/lib/browser/view-container.js.map +1 -1
  18. package/lib/browser/widgets/select-component.d.ts +4 -2
  19. package/lib/browser/widgets/select-component.d.ts.map +1 -1
  20. package/lib/browser/widgets/select-component.js +14 -11
  21. package/lib/browser/widgets/select-component.js.map +1 -1
  22. package/lib/common/command.d.ts +1 -0
  23. package/lib/common/command.d.ts.map +1 -1
  24. package/lib/common/command.js.map +1 -1
  25. package/lib/common/index.d.ts +1 -0
  26. package/lib/common/index.d.ts.map +1 -1
  27. package/lib/common/index.js +1 -0
  28. package/lib/common/index.js.map +1 -1
  29. package/lib/common/objects.d.ts +1 -0
  30. package/lib/common/objects.d.ts.map +1 -1
  31. package/lib/common/objects.js +43 -1
  32. package/lib/common/objects.js.map +1 -1
  33. package/lib/common/severity.js +1 -1
  34. package/lib/common/severity.js.map +1 -1
  35. package/lib/common/telemetry.d.ts +20 -0
  36. package/lib/common/telemetry.d.ts.map +1 -0
  37. package/lib/common/telemetry.js +25 -0
  38. package/lib/common/telemetry.js.map +1 -0
  39. package/lib/electron-browser/menu/electron-main-menu-factory.d.ts +5 -0
  40. package/lib/electron-browser/menu/electron-main-menu-factory.d.ts.map +1 -1
  41. package/lib/electron-browser/menu/electron-main-menu-factory.js +4 -3
  42. package/lib/electron-browser/menu/electron-main-menu-factory.js.map +1 -1
  43. package/package.json +6 -6
  44. package/src/browser/common-frontend-contribution.ts +3 -3
  45. package/src/browser/core-preferences.ts +1 -1
  46. package/src/browser/shell/tab-bar-toolbar/tab-bar-toolbar.tsx +23 -6
  47. package/src/browser/shell/tab-bars.ts +107 -63
  48. package/src/browser/style/tabs.css +67 -7
  49. package/src/browser/view-container.ts +21 -0
  50. package/src/browser/widgets/select-component.tsx +21 -13
  51. package/src/common/command.ts +1 -0
  52. package/src/common/i18n/nls.metadata.json +16592 -14032
  53. package/src/common/index.ts +1 -0
  54. package/src/common/objects.ts +48 -1
  55. package/src/common/severity.ts +1 -1
  56. package/src/common/telemetry.ts +45 -0
  57. package/src/electron-browser/menu/electron-main-menu-factory.ts +10 -3
@@ -1 +1 @@
1
- {"version":3,"file":"objects.js","sourceRoot":"","sources":["../../src/common/objects.ts"],"names":[],"mappings":";AAAA,gFAAgF;AAChF,0CAA0C;AAC1C,EAAE;AACF,2EAA2E;AAC3E,mEAAmE;AACnE,wCAAwC;AACxC,EAAE;AACF,4EAA4E;AAC5E,8EAA8E;AAC9E,6EAA6E;AAC7E,yDAAyD;AACzD,uDAAuD;AACvD,EAAE;AACF,2EAA2E;AAC3E,gFAAgF;;;AAEhF,mCAAmC;AAEnC,SAAgB,SAAS,CAAI,GAAM;IAC/B,IAAI,CAAC,IAAA,gBAAQ,EAAC,GAAG,CAAC,EAAE;QAChB,OAAO,GAAG,CAAC;KACd;IACD,IAAI,GAAG,YAAY,MAAM,EAAE;QACvB,OAAO,GAAG,CAAC;KACd;IACD,8DAA8D;IAC9D,MAAM,MAAM,GAAQ,KAAK,CAAC,OAAO,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;IACjD,MAAM,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,OAAO,CAAC,CAAC,GAAW,EAAE,EAAE;QACrC,MAAM,IAAI,GAAG,GAAG,CAAC,GAAG,CAAC,CAAC;QACtB,IAAI,IAAA,gBAAQ,EAAC,IAAI,CAAC,EAAE;YAChB,MAAM,CAAC,GAAG,CAAC,GAAG,SAAS,CAAC,IAAI,CAAC,CAAC;SACjC;aAAM;YACH,MAAM,CAAC,GAAG,CAAC,GAAG,IAAI,CAAC;SACtB;IACL,CAAC,CAAC,CAAC;IACH,OAAO,MAAM,CAAC;AAClB,CAAC;AAlBD,8BAkBC;AAED,SAAgB,UAAU,CAAI,GAAM;IAChC,IAAI,CAAC,IAAA,gBAAQ,EAAC,GAAG,CAAC,EAAE;QAChB,OAAO,GAAG,CAAC;KACd;IACD,8DAA8D;IAC9D,MAAM,KAAK,GAAU,CAAC,GAAG,CAAC,CAAC;IAC3B,OAAO,KAAK,CAAC,MAAM,GAAG,CAAC,EAAE;QACrB,MAAM,cAAc,GAAG,KAAK,CAAC,KAAK,EAAE,CAAC;QACrC,MAAM,CAAC,MAAM,CAAC,cAAc,CAAC,CAAC;QAC9B,KAAK,MAAM,GAAG,IAAI,cAAc,EAAE;YAC9B,IAAI,eAAe,CAAC,IAAI,CAAC,cAAc,EAAE,GAAG,CAAC,EAAE;gBAC3C,MAAM,IAAI,GAAG,cAAc,CAAC,GAAG,CAAC,CAAC;gBACjC,IAAI,IAAA,gBAAQ,EAAC,IAAI,CAAC,IAAI,CAAC,MAAM,CAAC,QAAQ,CAAC,IAAI,CAAC,EAAE;oBAC1C,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;iBACpB;aACJ;SACJ;KACJ;IACD,OAAO,GAAG,CAAC;AACf,CAAC;AAnBD,gCAmBC;AAED,MAAM,eAAe,GAAG,MAAM,CAAC,SAAS,CAAC,cAAc,CAAC;AAExD,SAAgB,QAAQ,CAAI,GAAyB;IACjD,2CAA2C;IAC3C,OAAO,GAAG,KAAK,SAAS,IAAI,GAAG,KAAK,IAAI,CAAC;AAC7C,CAAC;AAHD,4BAGC;AAED;;GAEG;AACH,SAAgB,OAAO,CAAC,GAAW;IAC/B,OAAO,MAAM,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,MAAM,KAAK,CAAC,IAAI,GAAG,CAAC,WAAW,KAAK,MAAM,CAAC;AACvE,CAAC;AAFD,0BAEC"}
1
+ {"version":3,"file":"objects.js","sourceRoot":"","sources":["../../src/common/objects.ts"],"names":[],"mappings":"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"}
@@ -102,7 +102,7 @@ const ignore = 'All';
102
102
  return nls_1.nls.localize('theia/core/severity/log', 'Log');
103
103
  }
104
104
  else {
105
- return nls_1.nls.localize('theia/core/severity/all', 'All');
105
+ return nls_1.nls.localizeByDefault('All');
106
106
  }
107
107
  }
108
108
  Severity.toLocaleString = toLocaleString;
@@ -1 +1 @@
1
- {"version":3,"file":"severity.js","sourceRoot":"","sources":["../../src/common/severity.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"severity.js","sourceRoot":"","sources":["../../src/common/severity.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,20 @@
1
+ export declare class TelemetryTrustedValue<T> {
2
+ readonly value: T;
3
+ constructor(value: T);
4
+ }
5
+ export interface TelemetryLogger {
6
+ readonly sender: TelemetrySender;
7
+ readonly options: TelemetryLoggerOptions | undefined;
8
+ logUsage(eventName: string, data?: Record<string, any | TelemetryTrustedValue<any>>): void;
9
+ logError(eventNameOrException: string | Error, data?: Record<string, any | TelemetryTrustedValue<any>>): void;
10
+ dispose(): void;
11
+ }
12
+ interface TelemetrySender {
13
+ sendEventData(eventName: string, data?: Record<string, any>): void;
14
+ sendErrorData(error: Error, data?: Record<string, any>): void;
15
+ flush?(): void | Thenable<void>;
16
+ }
17
+ interface TelemetryLoggerOptions {
18
+ }
19
+ export {};
20
+ //# sourceMappingURL=telemetry.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"telemetry.d.ts","sourceRoot":"","sources":["../../src/common/telemetry.ts"],"names":[],"mappings":"AAgBA,qBAAa,qBAAqB,CAAC,CAAC;IAChC,QAAQ,CAAC,KAAK,EAAE,CAAC,CAAC;gBAEN,KAAK,EAAE,CAAC;CAGvB;AAED,MAAM,WAAW,eAAe;IAC5B,QAAQ,CAAC,MAAM,EAAE,eAAe,CAAC;IACjC,QAAQ,CAAC,OAAO,EAAE,sBAAsB,GAAG,SAAS,CAAC;IAErD,QAAQ,CAAC,SAAS,EAAE,MAAM,EAAE,IAAI,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,GAAG,GAAG,qBAAqB,CAAC,GAAG,CAAC,CAAC,GAAG,IAAI,CAAC;IAE3F,QAAQ,CAAC,oBAAoB,EAAE,MAAM,GAAG,KAAK,EAAE,IAAI,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,GAAG,GAAG,qBAAqB,CAAC,GAAG,CAAC,CAAC,GAAG,IAAI,CAAC;IAE9G,OAAO,IAAI,IAAI,CAAC;CACnB;AAED,UAAU,eAAe;IAErB,aAAa,CAAC,SAAS,EAAE,MAAM,EAAE,IAAI,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,GAAG,IAAI,CAAC;IAEnE,aAAa,CAAC,KAAK,EAAE,KAAK,EAAE,IAAI,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,GAAG,IAAI,CAAC;IAC9D,KAAK,CAAC,IAAI,IAAI,GAAG,QAAQ,CAAC,IAAI,CAAC,CAAC;CACnC;AAED,UAAU,sBAAsB;CAC/B"}
@@ -0,0 +1,25 @@
1
+ "use strict";
2
+ // *****************************************************************************
3
+ // Copyright (C) 2023 STMicroelectronics and others.
4
+ //
5
+ // This program and the accompanying materials are made available under the
6
+ // terms of the Eclipse Public License v. 2.0 which is available at
7
+ // http://www.eclipse.org/legal/epl-2.0.
8
+ //
9
+ // This Source Code may also be made available under the following Secondary
10
+ // Licenses when the conditions for such availability set forth in the Eclipse
11
+ // Public License v. 2.0 are satisfied: GNU General Public License, version 2
12
+ // with the GNU Classpath Exception which is available at
13
+ // https://www.gnu.org/software/classpath/license.html.
14
+ //
15
+ // SPDX-License-Identifier: EPL-2.0 OR GPL-2.0 WITH Classpath-exception-2.0
16
+ // *****************************************************************************
17
+ Object.defineProperty(exports, "__esModule", { value: true });
18
+ exports.TelemetryTrustedValue = void 0;
19
+ class TelemetryTrustedValue {
20
+ constructor(value) {
21
+ this.value = value;
22
+ }
23
+ }
24
+ exports.TelemetryTrustedValue = TelemetryTrustedValue;
25
+ //# sourceMappingURL=telemetry.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"telemetry.js","sourceRoot":"","sources":["../../src/common/telemetry.ts"],"names":[],"mappings":";AAAA,gFAAgF;AAChF,oDAAoD;AACpD,EAAE;AACF,2EAA2E;AAC3E,mEAAmE;AACnE,wCAAwC;AACxC,EAAE;AACF,4EAA4E;AAC5E,8EAA8E;AAC9E,6EAA6E;AAC7E,yDAAyD;AACzD,uDAAuD;AACvD,EAAE;AACF,2EAA2E;AAC3E,gFAAgF;;;AAEhF,MAAa,qBAAqB;IAG9B,YAAY,KAAQ;QAChB,IAAI,CAAC,KAAK,GAAG,KAAK,CAAC;IACvB,CAAC;CACJ;AAND,sDAMC"}
@@ -13,6 +13,11 @@ export interface ElectronMenuOptions {
13
13
  * Defaults to `true`.
14
14
  */
15
15
  readonly showDisabled?: boolean;
16
+ /**
17
+ * Controls whether to render disabled items as disabled
18
+ * Defaults to `true`
19
+ */
20
+ readonly honorDisabled?: boolean;
16
21
  /**
17
22
  * A DOM context to use when evaluating any `when` clauses
18
23
  * of menu items registered for this item.
@@ -1 +1 @@
1
- {"version":3,"file":"electron-main-menu-factory.d.ts","sourceRoot":"","sources":["../../../src/electron-browser/menu/electron-main-menu-factory.ts"],"names":[],"mappings":"AAmBA,OAAO,EAAwB,QAAQ,EAAE,QAAQ,EAA2D,MAAM,cAAc,CAAC;AACjI,OAAO,EAAE,UAAU,EAAE,MAAM,yBAAyB,CAAC;AACrD,OAAO,EAAE,iBAAiB,EAAkB,MAAM,eAAe,CAAC;AAGlE,OAAO,EAAE,sBAAsB,EAAE,MAAM,wCAAwC,CAAC;AAChF,OAAO,EAAE,cAAc,EAAE,MAAM,mCAAmC,CAAC;AACnE,OAAO,EAAE,OAAO,EAAE,QAAQ,EAAE,MAAM,oCAAoC,CAAC;AAEvE;;GAEG;AACH,MAAM,WAAW,mBAAmB;IAChC;;;OAGG;IACH,QAAQ,CAAC,YAAY,CAAC,EAAE,OAAO,CAAC;IAChC;;;OAGG;IACH,OAAO,CAAC,EAAE,WAAW,CAAC;IACtB;;;OAGG;IACH,iBAAiB,CAAC,EAAE,cAAc,CAAC;IACnC;;OAEG;IACH,YAAY,EAAE,QAAQ,CAAA;CACzB;AAED;;;GAGG;AACH,oBAAY,oBAAoB,GAAG,CAAC,MAAM,GAAG,MAAM,GAAG,KAAK,GAAG,MAAM,GAAG,OAAO,GAC1E,oBAAoB,GAAG,QAAQ,GAAG,WAAW,GAAG,QAAQ,GAAG,aAAa,GACxE,gBAAgB,GAAG,WAAW,GAAG,QAAQ,GAAG,SAAS,GAAG,kBAAkB,GAC1E,QAAQ,GAAG,UAAU,GAAG,OAAO,GAAG,MAAM,GAAG,OAAO,GAClD,UAAU,GAAG,MAAM,GAAG,YAAY,GAAG,QAAQ,GAAG,MAAM,GACtD,eAAe,GAAG,cAAc,GAAG,MAAM,GAAG,OAAO,GAAG,SAAS,GAC/D,UAAU,GAAG,UAAU,GAAG,UAAU,GAAG,iBAAiB,GAAG,cAAc,GACzE,eAAe,GAAG,mBAAmB,GAAG,iBAAiB,GAAG,sBAAsB,GAClF,oBAAoB,GAAG,YAAY,CAAC,CAAC;AAEzC,qBACa,uBAAwB,SAAQ,sBAAsB;IAE/D,SAAS,CAAC,KAAK,CAAC,EAAE,OAAO,EAAE,CAAC;IAC5B,SAAS,CAAC,gBAAgB,EAAE,GAAG,CAAC,MAAM,CAAC,CAAa;IAGpD,SAAS,CAAC,kBAAkB,EAAE,iBAAiB,CAAC;IAGhD,aAAa,IAAI,IAAI;IAsBf,UAAU,IAAI,OAAO,CAAC,IAAI,CAAC;IAMjC,qBAAqB,IAAI,OAAO,EAAE,GAAG,SAAS;IAgB9C,yBAAyB,CAAC,QAAQ,EAAE,QAAQ,EAAE,IAAI,CAAC,EAAE,GAAG,EAAE,EAAE,OAAO,CAAC,EAAE,WAAW,EAAE,iBAAiB,CAAC,EAAE,cAAc,GAAG,OAAO,EAAE;IAKjI,SAAS,CAAC,gBAAgB,CAAC,WAAW,EAAE,OAAO,EAAE,EAC7C,IAAI,EAAE,QAAQ,EACd,IAAI,uBAAgB,EACpB,OAAO,EAAE,mBAAmB,GAC7B,OAAO,EAAE;IA2EZ,SAAS,CAAC,gBAAgB,CAAC,iBAAiB,EAAE,cAAc,EAAE,UAAU,CAAC,EAAE,MAAM,EAAE,OAAO,CAAC,EAAE,WAAW,GAAG,OAAO;IAOlH;;OAEG;IACH,SAAS,CAAC,cAAc,CAAC,UAAU,EAAE,UAAU,GAAG,MAAM;IAexD,SAAS,CAAC,OAAO,CAAC,EAAE,EAAE,MAAM,GAAG,QAAQ,GAAG,SAAS;cA2BnC,OAAO,CAAC,GAAG,EAAE,MAAM,EAAE,IAAI,EAAE,GAAG,EAAE,EAAE,QAAQ,EAAE,QAAQ,GAAG,OAAO,CAAC,IAAI,CAAC;IAmBpF,YAAY,CAAC,KAAK,EAAE,OAAO,EAAE,EAAE,EAAE,EAAE,MAAM,GAAG,OAAO,GAAG,SAAS;IAe/D,SAAS,CAAC,aAAa,IAAI,OAAO;CAoCrC"}
1
+ {"version":3,"file":"electron-main-menu-factory.d.ts","sourceRoot":"","sources":["../../../src/electron-browser/menu/electron-main-menu-factory.ts"],"names":[],"mappings":"AAmBA,OAAO,EAAwB,QAAQ,EAAE,QAAQ,EAA2D,MAAM,cAAc,CAAC;AACjI,OAAO,EAAE,UAAU,EAAE,MAAM,yBAAyB,CAAC;AACrD,OAAO,EAAE,iBAAiB,EAAkB,MAAM,eAAe,CAAC;AAGlE,OAAO,EAAE,sBAAsB,EAAE,MAAM,wCAAwC,CAAC;AAChF,OAAO,EAAE,cAAc,EAAE,MAAM,mCAAmC,CAAC;AACnE,OAAO,EAAE,OAAO,EAAE,QAAQ,EAAE,MAAM,oCAAoC,CAAC;AAEvE;;GAEG;AACH,MAAM,WAAW,mBAAmB;IAChC;;;OAGG;IACH,QAAQ,CAAC,YAAY,CAAC,EAAE,OAAO,CAAC;IAEhC;;;OAGG;IACH,QAAQ,CAAC,aAAa,CAAC,EAAE,OAAO,CAAC;IACjC;;;OAGG;IACH,OAAO,CAAC,EAAE,WAAW,CAAC;IACtB;;;OAGG;IACH,iBAAiB,CAAC,EAAE,cAAc,CAAC;IACnC;;OAEG;IACH,YAAY,EAAE,QAAQ,CAAA;CACzB;AAED;;;GAGG;AACH,oBAAY,oBAAoB,GAAG,CAAC,MAAM,GAAG,MAAM,GAAG,KAAK,GAAG,MAAM,GAAG,OAAO,GAC1E,oBAAoB,GAAG,QAAQ,GAAG,WAAW,GAAG,QAAQ,GAAG,aAAa,GACxE,gBAAgB,GAAG,WAAW,GAAG,QAAQ,GAAG,SAAS,GAAG,kBAAkB,GAC1E,QAAQ,GAAG,UAAU,GAAG,OAAO,GAAG,MAAM,GAAG,OAAO,GAClD,UAAU,GAAG,MAAM,GAAG,YAAY,GAAG,QAAQ,GAAG,MAAM,GACtD,eAAe,GAAG,cAAc,GAAG,MAAM,GAAG,OAAO,GAAG,SAAS,GAC/D,UAAU,GAAG,UAAU,GAAG,UAAU,GAAG,iBAAiB,GAAG,cAAc,GACzE,eAAe,GAAG,mBAAmB,GAAG,iBAAiB,GAAG,sBAAsB,GAClF,oBAAoB,GAAG,YAAY,CAAC,CAAC;AAEzC,qBACa,uBAAwB,SAAQ,sBAAsB;IAE/D,SAAS,CAAC,KAAK,CAAC,EAAE,OAAO,EAAE,CAAC;IAC5B,SAAS,CAAC,gBAAgB,EAAE,GAAG,CAAC,MAAM,CAAC,CAAa;IAGpD,SAAS,CAAC,kBAAkB,EAAE,iBAAiB,CAAC;IAGhD,aAAa,IAAI,IAAI;IAsBf,UAAU,IAAI,OAAO,CAAC,IAAI,CAAC;IAMjC,qBAAqB,IAAI,OAAO,EAAE,GAAG,SAAS;IAgB9C,yBAAyB,CAAC,QAAQ,EAAE,QAAQ,EAAE,IAAI,CAAC,EAAE,GAAG,EAAE,EAAE,OAAO,CAAC,EAAE,WAAW,EAAE,iBAAiB,CAAC,EAAE,cAAc,GAAG,OAAO,EAAE;IAKjI,SAAS,CAAC,gBAAgB,CAAC,WAAW,EAAE,OAAO,EAAE,EAC7C,IAAI,EAAE,QAAQ,EACd,IAAI,uBAAgB,EACpB,OAAO,EAAE,mBAAmB,GAC7B,OAAO,EAAE;IA4EZ,SAAS,CAAC,gBAAgB,CAAC,iBAAiB,EAAE,cAAc,EAAE,UAAU,CAAC,EAAE,MAAM,EAAE,OAAO,CAAC,EAAE,WAAW,GAAG,OAAO;IAOlH;;OAEG;IACH,SAAS,CAAC,cAAc,CAAC,UAAU,EAAE,UAAU,GAAG,MAAM;IAexD,SAAS,CAAC,OAAO,CAAC,EAAE,EAAE,MAAM,GAAG,QAAQ,GAAG,SAAS;cA2BnC,OAAO,CAAC,GAAG,EAAE,MAAM,EAAE,IAAI,EAAE,GAAG,EAAE,EAAE,QAAQ,EAAE,QAAQ,GAAG,OAAO,CAAC,IAAI,CAAC;IAmBpF,YAAY,CAAC,KAAK,EAAE,OAAO,EAAE,EAAE,EAAE,EAAE,MAAM,GAAG,OAAO,GAAG,SAAS;IAe/D,SAAS,CAAC,aAAa,IAAI,OAAO;CAoCrC"}
@@ -66,7 +66,7 @@ let ElectronMainMenuFactory = class ElectronMainMenuFactory extends browser_menu
66
66
  const maxWidget = document.getElementsByClassName(theia_dock_panel_1.MAXIMIZED_CLASS);
67
67
  if (preference === 'visible' || (preference === 'classic' && maxWidget.length === 0)) {
68
68
  const menuModel = this.menuProvider.getMenu(common_1.MAIN_MENU_BAR);
69
- this._menu = this.fillMenuTemplate([], menuModel, [], { rootMenuPath: common_1.MAIN_MENU_BAR });
69
+ this._menu = this.fillMenuTemplate([], menuModel, [], { honorDisabled: false, rootMenuPath: common_1.MAIN_MENU_BAR });
70
70
  if (common_1.isOSX) {
71
71
  this._menu.unshift(this.createOSXMenu());
72
72
  }
@@ -78,11 +78,12 @@ let ElectronMainMenuFactory = class ElectronMainMenuFactory extends browser_menu
78
78
  }
79
79
  createElectronContextMenu(menuPath, args, context, contextKeyService) {
80
80
  const menuModel = this.menuProvider.getMenu(menuPath);
81
- return this.fillMenuTemplate([], menuModel, args, { showDisabled: false, context, rootMenuPath: menuPath, contextKeyService });
81
+ return this.fillMenuTemplate([], menuModel, args, { showDisabled: true, context, rootMenuPath: menuPath, contextKeyService });
82
82
  }
83
83
  fillMenuTemplate(parentItems, menu, args = [], options) {
84
84
  var _a, _b;
85
85
  const showDisabled = (options === null || options === void 0 ? void 0 : options.showDisabled) !== false;
86
+ const honorDisabled = (options === null || options === void 0 ? void 0 : options.honorDisabled) !== false;
86
87
  if (common_1.CompoundMenuNode.is(menu) && menu.children.length && this.undefinedOrMatch((_a = options.contextKeyService) !== null && _a !== void 0 ? _a : this.contextKeyService, menu.when, options.context)) {
87
88
  const role = common_1.CompoundMenuNode.getRole(menu);
88
89
  if (role === 1 /* Group */ && menu.id === 'inline') {
@@ -128,7 +129,7 @@ let ElectronMainMenuFactory = class ElectronMainMenuFactory extends browser_menu
128
129
  label: node.label,
129
130
  type: this.commandRegistry.getToggledHandler(commandId, ...args) ? 'checkbox' : 'normal',
130
131
  checked: this.commandRegistry.isToggled(commandId, ...args),
131
- enabled: true,
132
+ enabled: !honorDisabled || this.commandRegistry.isEnabled(commandId, ...args),
132
133
  visible: true,
133
134
  accelerator,
134
135
  execute: () => this.execute(commandId, args, options.rootMenuPath)
@@ -1 +1 @@
1
- {"version":3,"file":"electron-main-menu-factory.js","sourceRoot":"","sources":["../../../src/electron-browser/menu/electron-main-menu-factory.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"electron-main-menu-factory.js","sourceRoot":"","sources":["../../../src/electron-browser/menu/electron-main-menu-factory.ts"],"names":[],"mappings":"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"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@theia/core",
3
- "version": "1.37.1",
3
+ "version": "1.37.2",
4
4
  "description": "Theia is a cloud & desktop IDE framework implemented in TypeScript.",
5
5
  "main": "lib/common/index.js",
6
6
  "typings": "lib/common/index.d.ts",
@@ -16,8 +16,8 @@
16
16
  "@phosphor/signaling": "1",
17
17
  "@phosphor/virtualdom": "1",
18
18
  "@phosphor/widgets": "1",
19
- "@theia/application-package": "1.37.1",
20
- "@theia/request": "1.37.1",
19
+ "@theia/application-package": "1.37.2",
20
+ "@theia/request": "1.37.2",
21
21
  "@types/body-parser": "^1.16.4",
22
22
  "@types/cookie": "^0.3.3",
23
23
  "@types/dompurify": "^2.2.2",
@@ -198,12 +198,12 @@
198
198
  "watch": "theiaext watch"
199
199
  },
200
200
  "devDependencies": {
201
- "@theia/ext-scripts": "1.37.1",
202
- "@theia/re-exports": "1.37.1",
201
+ "@theia/ext-scripts": "1.37.2",
202
+ "@theia/re-exports": "1.37.2",
203
203
  "minimist": "^1.2.0"
204
204
  },
205
205
  "nyc": {
206
206
  "extends": "../../configs/nyc.json"
207
207
  },
208
- "gitHead": "3bc4e97b2f730db070f596e97f3bd6e331ad8414"
208
+ "gitHead": "c71b35d3721f19ca558743e1f9b5558f93987fdc"
209
209
  }
@@ -695,7 +695,7 @@ export class CommonFrontendContribution implements FrontendApplicationContributi
695
695
 
696
696
  registry.registerMenuAction(CommonMenus.FILE_NEW, {
697
697
  commandId: CommonCommands.NEW_UNTITLED_FILE.id,
698
- label: nls.localizeByDefault('New File'),
698
+ label: nls.localizeByDefault('New File...'),
699
699
  order: 'a'
700
700
  });
701
701
  }
@@ -1180,8 +1180,8 @@ export class CommonFrontendContribution implements FrontendApplicationContributi
1180
1180
  protected async confirmRestart(languageName: string): Promise<boolean> {
1181
1181
  const appName = FrontendApplicationConfigProvider.get().applicationName;
1182
1182
  const shouldRestart = await new ConfirmDialog({
1183
- title: nls.localizeByDefault('Press the restart button to restart {0} and set the display language to {1}.', appName, languageName),
1184
- msg: nls.localizeByDefault('To change the display language, {0} needs to restart', appName),
1183
+ title: nls.localizeByDefault('Restart {0} to switch to {1}?', appName, languageName),
1184
+ msg: nls.localizeByDefault('To change the display language to {0}, {1} needs to restart.', languageName, appName),
1185
1185
  ok: nls.localizeByDefault('Restart'),
1186
1186
  cancel: Dialog.CANCEL,
1187
1187
  }).open();
@@ -175,7 +175,7 @@ export const corePreferenceSchema: PreferenceSchema = {
175
175
  },
176
176
  'workbench.editor.revealIfOpen': {
177
177
  'type': 'boolean',
178
- 'description': nls.localizeByDefault('Controls whether an editor is revealed in any of the visible groups if opened. If disabled, an editor will prefer to open in the currently active editor group. If enabled, an already opened editor will be revealed instead of opened again in the currently active editor group. Note that there are some cases where this setting is ignored, e.g. when forcing an editor to open in a specific group or to the side of the currently active group.'),
178
+ 'description': nls.localizeByDefault('Controls whether an editor is revealed in any of the visible groups if opened. If disabled, an editor will prefer to open in the currently active editor group. If enabled, an already opened editor will be revealed instead of opened again in the currently active editor group. Note that there are some cases where this setting is ignored, such as when forcing an editor to open in a specific group or to the side of the currently active group.'),
179
179
  'default': false
180
180
  },
181
181
  'workbench.commandPalette.history': {
@@ -43,6 +43,7 @@ export class TabBarToolbar extends ReactWidget {
43
43
  protected more = new Map<string, TabBarToolbarItem>();
44
44
 
45
45
  protected contextKeyListener: Disposable | undefined;
46
+ protected toDisposeOnUpdateItems: DisposableCollection = new DisposableCollection();
46
47
 
47
48
  @inject(CommandRegistry) protected readonly commands: CommandRegistry;
48
49
  @inject(LabelParser) protected readonly labelParser: LabelParser;
@@ -59,11 +60,20 @@ export class TabBarToolbar extends ReactWidget {
59
60
  }
60
61
 
61
62
  updateItems(items: Array<TabBarToolbarItem | ReactTabBarToolbarItem>, current: Widget | undefined): void {
63
+ this.toDisposeOnUpdateItems.dispose();
64
+ this.toDisposeOnUpdateItems = new DisposableCollection();
62
65
  this.inline.clear();
63
66
  this.more.clear();
64
67
 
65
68
  const contextKeys = new Set<string>();
66
69
  for (const item of items.sort(TabBarToolbarItem.PRIORITY_COMPARATOR).reverse()) {
70
+ if ('command' in item) {
71
+ this.commands.getAllHandlers(item.command).forEach(handler => {
72
+ if (handler.onDidChangeEnabled) {
73
+ this.toDisposeOnUpdateItems.push(handler.onDidChangeEnabled(() => this.update()));
74
+ }
75
+ });
76
+ }
67
77
  if ('render' in item || item.group === undefined || item.group === 'navigation') {
68
78
  this.inline.set(item.id, item);
69
79
  } else {
@@ -149,7 +159,6 @@ export class TabBarToolbar extends ReactWidget {
149
159
  const tooltip = item.tooltip || (command && command.label);
150
160
 
151
161
  const toolbarItemClassNames = this.getToolbarItemClassNames(item);
152
- if (item.menuPath && !item.command) { toolbarItemClassNames.push('enabled'); }
153
162
  return <div key={item.id}
154
163
  className={toolbarItemClassNames.join(' ')}
155
164
  onMouseDown={this.onMouseDownEvent}
@@ -162,10 +171,18 @@ export class TabBarToolbar extends ReactWidget {
162
171
  </div>;
163
172
  }
164
173
 
174
+ protected isEnabled(item: AnyToolbarItem): boolean {
175
+ if (!!item.command) {
176
+ return this.commandIsEnabled(item.command) && this.evaluateWhenClause(item.when);
177
+ } else {
178
+ return !!item.menuPath;
179
+ }
180
+ }
181
+
165
182
  protected getToolbarItemClassNames(item: AnyToolbarItem): string[] {
166
183
  const classNames = [TabBarToolbar.Styles.TAB_BAR_TOOLBAR_ITEM];
167
184
  if (item.command) {
168
- if (this.commandIsEnabled(item.command) && this.evaluateWhenClause(item.when)) {
185
+ if (this.isEnabled(item)) {
169
186
  classNames.push('enabled');
170
187
  }
171
188
  if (this.commandIsToggled(item.command)) {
@@ -254,15 +271,15 @@ export class TabBarToolbar extends ReactWidget {
254
271
 
255
272
  const item: AnyToolbarItem | undefined = this.inline.get(e.currentTarget.id);
256
273
 
257
- if (!this.evaluateWhenClause(item?.when)) {
274
+ if (!item || !this.isEnabled(item)) {
258
275
  return;
259
276
  }
260
277
 
261
- if (item?.command && item.menuPath) {
278
+ if (item.command && item.menuPath) {
262
279
  this.menuCommandExecutor.executeCommand(item.menuPath, item.command, this.current);
263
- } else if (item?.command) {
280
+ } else if (item.command) {
264
281
  this.commands.executeCommand(item.command, this.current);
265
- } else if (item?.menuPath) {
282
+ } else if (item.menuPath) {
266
283
  this.renderMoreContextMenu(this.toAnchor(e), item.menuPath);
267
284
  }
268
285
  this.update();
@@ -34,6 +34,9 @@ import { IDragEvent } from '@phosphor/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';
37
+ import { Root, createRoot } from 'react-dom/client';
38
+ import { SelectComponent } from '../widgets/select-component';
39
+ import { createElement } from 'react';
37
40
 
38
41
  /** The class name added to hidden content nodes, which are required to render vertical side bars. */
39
42
  const HIDDEN_CONTENT_CLASS = 'theia-TabBar-hidden-content';
@@ -228,7 +231,7 @@ export class TabBarRenderer extends TabBar.Renderer {
228
231
  } else {
229
232
  width = '';
230
233
  }
231
- return { zIndex, height, width };
234
+ return { zIndex, height, minWidth: width, maxWidth: width };
232
235
  }
233
236
 
234
237
  /**
@@ -575,13 +578,6 @@ export class TabBarRenderer extends TabBar.Renderer {
575
578
 
576
579
  }
577
580
 
578
- export namespace ScrollableTabBar {
579
- export interface Options {
580
- minimumTabSize: number;
581
- defaultTabSize: number;
582
- }
583
- }
584
-
585
581
  /**
586
582
  * A specialized tab bar for the main and bottom areas.
587
583
  */
@@ -595,13 +591,18 @@ export class ScrollableTabBar extends TabBar<Widget> {
595
591
  protected needsRecompute = false;
596
592
  protected tabSize = 0;
597
593
  private _dynamicTabOptions?: ScrollableTabBar.Options;
594
+ protected contentContainer: HTMLElement;
595
+ protected topRow: HTMLElement;
598
596
 
599
597
  protected readonly toDispose = new DisposableCollection();
598
+ protected openTabsContainer: HTMLDivElement;
599
+ protected openTabsRoot: Root;
600
600
 
601
601
  constructor(options?: TabBar.IOptions<Widget> & PerfectScrollbar.Options, dynamicTabOptions?: ScrollableTabBar.Options) {
602
602
  super(options);
603
603
  this.scrollBarFactory = () => new PerfectScrollbar(this.scrollbarHost, options);
604
604
  this._dynamicTabOptions = dynamicTabOptions;
605
+ this.rewireDOM();
605
606
  }
606
607
 
607
608
  set dynamicTabOptions(options: ScrollableTabBar.Options | undefined) {
@@ -621,6 +622,35 @@ export class ScrollableTabBar extends TabBar<Widget> {
621
622
  this.toDispose.dispose();
622
623
  }
623
624
 
625
+ /**
626
+ * Restructures the DOM defined in PhosphorJS.
627
+ *
628
+ * By default the tabs (`li`) are contained in the `this.contentNode` (`ul`) which is wrapped in a `div` (`this.node`).
629
+ * Instead of this structure, we add a container for the `this.contentNode` and for the toolbar.
630
+ * The scrollbar will only work for the `ul` part but it does not affect the toolbar, so it can be on the right hand-side.
631
+ */
632
+ private rewireDOM(): void {
633
+ const contentNode = this.node.getElementsByClassName(ScrollableTabBar.Styles.TAB_BAR_CONTENT)[0];
634
+ if (!contentNode) {
635
+ throw new Error("'this.node' does not have the content as a direct child with class name 'p-TabBar-content'.");
636
+ }
637
+ this.node.removeChild(contentNode);
638
+ this.contentContainer = document.createElement('div');
639
+ this.contentContainer.classList.add(ScrollableTabBar.Styles.TAB_BAR_CONTENT_CONTAINER);
640
+ this.contentContainer.appendChild(contentNode);
641
+
642
+ this.topRow = document.createElement('div');
643
+ this.topRow.classList.add('theia-tabBar-tab-row');
644
+ this.topRow.appendChild(this.contentContainer);
645
+
646
+ this.openTabsContainer = document.createElement('div');
647
+ this.openTabsContainer.classList.add('theia-tabBar-open-tabs');
648
+ this.openTabsRoot = createRoot(this.openTabsContainer);
649
+ this.topRow.appendChild(this.openTabsContainer);
650
+
651
+ this.node.appendChild(this.topRow);
652
+ }
653
+
624
654
  protected override onAfterAttach(msg: Message): void {
625
655
  if (!this.scrollBar) {
626
656
  this.scrollBar = this.scrollBarFactory();
@@ -649,18 +679,41 @@ export class ScrollableTabBar extends TabBar<Widget> {
649
679
  }
650
680
 
651
681
  protected updateTabs(): void {
652
-
653
682
  const content = [];
654
683
  if (this.dynamicTabOptions) {
684
+
685
+ this.openTabsRoot.render(createElement(SelectComponent, {
686
+ options: this.titles,
687
+ onChange: (option, index) => {
688
+ this.currentIndex = index;
689
+ },
690
+ alignment: 'right'
691
+ }));
692
+
655
693
  if (this.isMouseOver) {
656
694
  this.needsRecompute = true;
657
695
  } else {
658
696
  this.needsRecompute = false;
659
697
  if (this.orientation === 'horizontal') {
660
- this.tabSize = Math.max(Math.min(this.scrollbarHost.clientWidth / this.titles.length,
698
+ let availableWidth = this.scrollbarHost.clientWidth;
699
+ let effectiveWidth = availableWidth;
700
+ if (!this.openTabsContainer.classList.contains('p-mod-hidden')) {
701
+ availableWidth += this.openTabsContainer.getBoundingClientRect().width;
702
+ }
703
+ if (this.dynamicTabOptions.minimumTabSize * this.titles.length <= availableWidth) {
704
+ effectiveWidth += this.openTabsContainer.getBoundingClientRect().width;
705
+ this.openTabsContainer.classList.add('p-mod-hidden');
706
+ } else {
707
+ this.openTabsContainer.classList.remove('p-mod-hidden');
708
+ }
709
+ this.tabSize = Math.max(Math.min(effectiveWidth / this.titles.length,
661
710
  this.dynamicTabOptions.defaultTabSize), this.dynamicTabOptions.minimumTabSize);
662
711
  }
663
712
  }
713
+ this.node.classList.add('dynamic-tabs');
714
+ } else {
715
+ this.openTabsContainer.classList.add('p-mod-hidden');
716
+ this.node.classList.remove('dynamic-tabs');
664
717
  }
665
718
  for (let i = 0, n = this.titles.length; i < n; ++i) {
666
719
  const title = this.titles[i];
@@ -674,7 +727,9 @@ export class ScrollableTabBar extends TabBar<Widget> {
674
727
  }
675
728
  VirtualDOM.render(content, this.contentNode);
676
729
  if (this.scrollBar) {
677
- this.scrollBar.update();
730
+ if (!(this.dynamicTabOptions && this.isMouseOver)) {
731
+ this.scrollBar.update();
732
+ }
678
733
  }
679
734
  }
680
735
 
@@ -739,10 +794,38 @@ export class ScrollableTabBar extends TabBar<Widget> {
739
794
  return result;
740
795
  }
741
796
 
797
+ /**
798
+ * Overrides the `contentNode` property getter in PhosphorJS' TabBar.
799
+ */
800
+ // @ts-expect-error TS2611 `TabBar<T>.contentNode` is declared as `readonly contentNode` but is implemented as a getter.
801
+ get contentNode(): HTMLUListElement {
802
+ return this.tabBarContainer.getElementsByClassName(ToolbarAwareTabBar.Styles.TAB_BAR_CONTENT)[0] as HTMLUListElement;
803
+ }
804
+
805
+ /**
806
+ * Overrides the scrollable host from the parent class.
807
+ */
742
808
  protected get scrollbarHost(): HTMLElement {
743
- return this.node;
809
+ return this.tabBarContainer;
810
+ }
811
+
812
+ protected get tabBarContainer(): HTMLElement {
813
+ return this.node.getElementsByClassName(ToolbarAwareTabBar.Styles.TAB_BAR_CONTENT_CONTAINER)[0] as HTMLElement;
814
+ }
815
+ }
816
+
817
+ export namespace ScrollableTabBar {
818
+
819
+ export interface Options {
820
+ minimumTabSize: number;
821
+ defaultTabSize: number;
744
822
  }
823
+ export namespace Styles {
745
824
 
825
+ export const TAB_BAR_CONTENT = 'p-TabBar-content';
826
+ export const TAB_BAR_CONTENT_CONTAINER = 'p-TabBar-content-container';
827
+
828
+ }
746
829
  }
747
830
 
748
831
  /**
@@ -761,12 +844,9 @@ export class ScrollableTabBar extends TabBar<Widget> {
761
844
  *
762
845
  */
763
846
  export class ToolbarAwareTabBar extends ScrollableTabBar {
764
-
765
- protected contentContainer: HTMLElement;
766
847
  protected toolbar: TabBarToolbar | undefined;
767
848
  protected breadcrumbsContainer: HTMLElement;
768
849
  protected readonly breadcrumbsRenderer: BreadcrumbsRenderer;
769
- protected topRow: HTMLElement;
770
850
 
771
851
  constructor(
772
852
  protected readonly tabBarToolbarRegistry: TabBarToolbarRegistry,
@@ -777,7 +857,8 @@ export class ToolbarAwareTabBar extends ScrollableTabBar {
777
857
  ) {
778
858
  super(options, dynamicTabOptions);
779
859
  this.breadcrumbsRenderer = this.breadcrumbsRendererFactory();
780
- this.rewireDOM();
860
+ this.addBreadcrumbs();
861
+ this.toolbar = this.tabBarToolbarFactory();
781
862
  this.toDispose.push(this.tabBarToolbarRegistry.onDidChange(() => this.update()));
782
863
  this.toDispose.push(this.breadcrumbsRenderer);
783
864
  this.toDispose.push(this.breadcrumbsRenderer.onDidChangeActiveState(active => {
@@ -792,25 +873,6 @@ export class ToolbarAwareTabBar extends ScrollableTabBar {
792
873
  this.toDispose.push(Disposable.create(() => this.currentChanged.disconnect(handler)));
793
874
  }
794
875
 
795
- /**
796
- * Overrides the `contentNode` property getter in PhosphorJS' TabBar.
797
- */
798
- // @ts-expect-error TS2611 `TabBar<T>.contentNode` is declared as `readonly contentNode` but is implemented as a getter.
799
- get contentNode(): HTMLUListElement {
800
- return this.tabBarContainer.getElementsByClassName(ToolbarAwareTabBar.Styles.TAB_BAR_CONTENT)[0] as HTMLUListElement;
801
- }
802
-
803
- /**
804
- * Overrides the scrollable host from the parent class.
805
- */
806
- protected override get scrollbarHost(): HTMLElement {
807
- return this.tabBarContainer;
808
- }
809
-
810
- protected get tabBarContainer(): HTMLElement {
811
- return this.node.getElementsByClassName(ToolbarAwareTabBar.Styles.TAB_BAR_CONTENT_CONTAINER)[0] as HTMLElement;
812
- }
813
-
814
876
  protected async updateBreadcrumbs(): Promise<void> {
815
877
  const current = this.currentTitle?.owner;
816
878
  const uri = NavigatableWidget.is(current) ? current.getResourceUri() : undefined;
@@ -853,13 +915,19 @@ export class ToolbarAwareTabBar extends ScrollableTabBar {
853
915
  }
854
916
 
855
917
  override handleEvent(event: Event): void {
856
- if (this.toolbar && event instanceof MouseEvent && this.toolbar.shouldHandleMouseEvent(event)) {
857
- // if the mouse event is over the toolbar part don't handle it.
858
- return;
918
+ if (event instanceof MouseEvent) {
919
+ if (this.toolbar && this.toolbar.shouldHandleMouseEvent(event) || this.isOver(event, this.openTabsContainer)) {
920
+ // if the mouse event is over the toolbar part don't handle it.
921
+ return;
922
+ }
859
923
  }
860
924
  super.handleEvent(event);
861
925
  }
862
926
 
927
+ private isOver(event: Event, element: Element): boolean {
928
+ return element && event.target instanceof Element && element.contains(event.target);
929
+ }
930
+
863
931
  /**
864
932
  * Restructures the DOM defined in PhosphorJS.
865
933
  *
@@ -867,20 +935,7 @@ export class ToolbarAwareTabBar extends ScrollableTabBar {
867
935
  * Instead of this structure, we add a container for the `this.contentNode` and for the toolbar.
868
936
  * The scrollbar will only work for the `ul` part but it does not affect the toolbar, so it can be on the right hand-side.
869
937
  */
870
- protected rewireDOM(): void {
871
- const contentNode = this.node.getElementsByClassName(ToolbarAwareTabBar.Styles.TAB_BAR_CONTENT)[0];
872
- if (!contentNode) {
873
- throw new Error("'this.node' does not have the content as a direct child with class name 'p-TabBar-content'.");
874
- }
875
- this.node.removeChild(contentNode);
876
- this.topRow = document.createElement('div');
877
- this.topRow.classList.add('theia-tabBar-tab-row');
878
- this.contentContainer = document.createElement('div');
879
- this.contentContainer.classList.add(ToolbarAwareTabBar.Styles.TAB_BAR_CONTENT_CONTAINER);
880
- this.contentContainer.appendChild(contentNode);
881
- this.topRow.appendChild(this.contentContainer);
882
- this.node.appendChild(this.topRow);
883
- this.toolbar = this.tabBarToolbarFactory();
938
+ private addBreadcrumbs(): void {
884
939
  this.breadcrumbsContainer = document.createElement('div');
885
940
  this.breadcrumbsContainer.classList.add('theia-tabBar-breadcrumb-row');
886
941
  this.breadcrumbsContainer.appendChild(this.breadcrumbsRenderer.host);
@@ -888,17 +943,6 @@ export class ToolbarAwareTabBar extends ScrollableTabBar {
888
943
  }
889
944
  }
890
945
 
891
- export namespace ToolbarAwareTabBar {
892
-
893
- export namespace Styles {
894
-
895
- export const TAB_BAR_CONTENT = 'p-TabBar-content';
896
- export const TAB_BAR_CONTENT_CONTAINER = 'p-TabBar-content-container';
897
-
898
- }
899
-
900
- }
901
-
902
946
  /**
903
947
  * A specialized tab bar for side areas.
904
948
  */