@theia/core 1.64.0-next.0 → 1.64.0-next.17

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 (45) hide show
  1. package/lib/browser/catalog.json +767 -722
  2. package/lib/browser/hover-service.d.ts +9 -3
  3. package/lib/browser/hover-service.d.ts.map +1 -1
  4. package/lib/browser/hover-service.js +25 -13
  5. package/lib/browser/hover-service.js.map +1 -1
  6. package/lib/browser/shell/tab-bar-toolbar/tab-toolbar-item.d.ts.map +1 -1
  7. package/lib/browser/shell/tab-bar-toolbar/tab-toolbar-item.js +5 -0
  8. package/lib/browser/shell/tab-bar-toolbar/tab-toolbar-item.js.map +1 -1
  9. package/lib/browser/status-bar/status-bar.d.ts +2 -1
  10. package/lib/browser/status-bar/status-bar.d.ts.map +1 -1
  11. package/lib/browser/status-bar/status-bar.js +14 -7
  12. package/lib/browser/status-bar/status-bar.js.map +1 -1
  13. package/lib/browser/tree/tree-widget.d.ts +2 -0
  14. package/lib/browser/tree/tree-widget.d.ts.map +1 -1
  15. package/lib/browser/tree/tree-widget.js +8 -3
  16. package/lib/browser/tree/tree-widget.js.map +1 -1
  17. package/lib/browser/widgets/alert-message.js +1 -2
  18. package/lib/browser/widgets/alert-message.js.map +1 -1
  19. package/lib/browser/widgets/select-component.d.ts +2 -0
  20. package/lib/browser/widgets/select-component.d.ts.map +1 -1
  21. package/lib/browser/widgets/select-component.js +1 -1
  22. package/lib/browser/widgets/select-component.js.map +1 -1
  23. package/lib/electron-main/electron-main-application.d.ts.map +1 -1
  24. package/lib/electron-main/electron-main-application.js +21 -7
  25. package/lib/electron-main/electron-main-application.js.map +1 -1
  26. package/package.json +4 -4
  27. package/src/browser/hover-service.ts +31 -13
  28. package/src/browser/shell/tab-bar-toolbar/tab-toolbar-item.tsx +8 -0
  29. package/src/browser/status-bar/status-bar.tsx +14 -7
  30. package/src/browser/style/alert-messages.css +20 -17
  31. package/src/browser/style/breadcrumbs.css +1 -2
  32. package/src/browser/style/dialog.css +3 -2
  33. package/src/browser/style/index.css +5 -3
  34. package/src/browser/style/progress-bar.css +3 -0
  35. package/src/browser/style/select-component.css +1 -4
  36. package/src/browser/style/sidepanel.css +10 -14
  37. package/src/browser/style/split-widget.css +4 -0
  38. package/src/browser/style/status-bar.css +23 -20
  39. package/src/browser/style/tabs.css +15 -13
  40. package/src/browser/style/tree.css +5 -3
  41. package/src/browser/style/view-container.css +3 -7
  42. package/src/browser/tree/tree-widget.tsx +11 -2
  43. package/src/browser/widgets/alert-message.tsx +2 -2
  44. package/src/browser/widgets/select-component.tsx +4 -1
  45. package/src/electron-main/electron-main-application.ts +22 -7
@@ -34,6 +34,8 @@ export interface SelectOption {
34
34
  }
35
35
 
36
36
  export interface SelectComponentProps {
37
+ id?: string
38
+ className?: string
37
39
  options: readonly SelectOption[]
38
40
  defaultValue?: string | number
39
41
  onChange?: (option: SelectOption, index: number) => void,
@@ -193,10 +195,11 @@ export class SelectComponent extends React.Component<SelectComponentProps, Selec
193
195
  const selectedItemLabel = options[selected]?.label ?? options[selected]?.value;
194
196
  return <>
195
197
  <div
198
+ id={this.props.id}
196
199
  key="select-component"
197
200
  ref={this.fieldRef}
198
201
  tabIndex={0}
199
- className="theia-select-component"
202
+ className={`theia-select-component${this.props.className ? ` ${this.props.className}` : ''}`}
200
203
  onClick={e => this.handleClickEvent(e)}
201
204
  onBlur={
202
205
  () => {
@@ -450,11 +450,17 @@ export class ElectronMainApplication {
450
450
  const windowState = previousWindowState?.screenLayout === this.getCurrentScreenLayout()
451
451
  ? previousWindowState
452
452
  : this.getDefaultTheiaWindowOptions();
453
- return {
453
+ const result = {
454
454
  frame: this.useNativeWindowFrame,
455
455
  ...this.getDefaultOptions(),
456
456
  ...windowState
457
457
  };
458
+
459
+ result.webPreferences = {
460
+ ...result.webPreferences,
461
+ preload: path.resolve(this.globals.THEIA_APP_PROJECT_PATH, 'lib', 'frontend', 'preload.js').toString()
462
+ };
463
+ return result;
458
464
  }
459
465
 
460
466
  protected avoidOverlap(options: TheiaBrowserWindowOptions): TheiaBrowserWindowOptions {
@@ -489,7 +495,7 @@ export class ElectronMainApplication {
489
495
  // Issue: https://github.com/eclipse-theia/theia/issues/8577
490
496
  nodeIntegrationInWorker: false,
491
497
  backgroundThrottling: false,
492
- preload: path.resolve(this.globals.THEIA_APP_PROJECT_PATH, 'lib', 'frontend', 'preload.js').toString()
498
+ enableDeprecatedPaste: true
493
499
  },
494
500
  ...this.config.electron?.windowOptions || {},
495
501
  };
@@ -565,13 +571,18 @@ export class ElectronMainApplication {
565
571
  }
566
572
 
567
573
  protected getDefaultTheiaWindowOptions(): TheiaBrowserWindowOptions {
568
- return {
574
+ const result = {
569
575
  frame: this.useNativeWindowFrame,
570
576
  isFullScreen: false,
571
577
  isMaximized: false,
572
578
  ...this.getDefaultTheiaWindowBounds(),
573
- ...this.getDefaultOptions()
579
+ ...this.getDefaultOptions(),
580
+ };
581
+ result.webPreferences = {
582
+ ...result.webPreferences || {},
583
+ preload: path.resolve(this.globals.THEIA_APP_PROJECT_PATH, 'lib', 'frontend', 'preload.js').toString()
574
584
  };
585
+ return result;
575
586
  }
576
587
 
577
588
  protected getDefaultTheiaSecondaryWindowBounds(): TheiaBrowserWindowOptions {
@@ -780,16 +791,20 @@ export class ElectronMainApplication {
780
791
  webContents.setWindowOpenHandler(details => {
781
792
  // if it's a secondary window, allow it to open
782
793
  if (new URI(details.url).path.fsPath() === new Path(this.globals.THEIA_SECONDARY_WINDOW_HTML_PATH).fsPath()) {
783
- const { minWidth, minHeight } = this.getDefaultOptions();
794
+ const defaultOptions = this.getDefaultOptions();
784
795
  const options: BrowserWindowConstructorOptions = {
785
796
  ...this.getDefaultTheiaSecondaryWindowBounds(),
786
797
  // We always need the native window frame for now because the secondary window does not have Theia's title bar by default.
787
798
  // In 'custom' title bar mode this would leave the window without any window controls (close, min, max)
788
799
  // TODO set to this.useNativeWindowFrame when secondary windows support a custom title bar.
789
800
  frame: true,
790
- minWidth,
791
- minHeight
801
+ minWidth: defaultOptions.minWidth,
802
+ minHeight: defaultOptions.minHeight,
803
+ webPreferences: {
804
+ enableDeprecatedPaste: defaultOptions.webPreferences?.enableDeprecatedPaste
805
+ }
792
806
  };
807
+
793
808
  if (!this.useNativeWindowFrame) {
794
809
  // If the main window does not have a native window frame, do not show an icon in the secondary window's native title bar.
795
810
  // The data url is a 1x1 transparent png