@codingame/monaco-vscode-notifications-service-override 1.83.16 → 1.85.0-next.0

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/notifications.js CHANGED
@@ -13,7 +13,7 @@ import getServiceOverride$1 from '@codingame/monaco-vscode-layout-service-overri
13
13
  import { onRenderWorkbench } from 'vscode/lifecycle';
14
14
 
15
15
  onRenderWorkbench(async (accessor) => {
16
- const container = accessor.get(ILayoutService).container;
16
+ const container = accessor.get(ILayoutService).mainContainer;
17
17
  const model = accessor.get(INotificationService).model;
18
18
  const instantiationService = accessor.get(IInstantiationService);
19
19
  setTimeout(() => {
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@codingame/monaco-vscode-notifications-service-override",
3
- "version": "1.83.16",
3
+ "version": "1.85.0-next.0",
4
4
  "keywords": [],
5
5
  "author": {
6
6
  "name": "CodinGame",
@@ -18,8 +18,8 @@
18
18
  "module": "index.js",
19
19
  "types": "index.d.ts",
20
20
  "dependencies": {
21
- "vscode": "npm:@codingame/monaco-vscode-api@1.83.16",
22
- "monaco-editor": "0.44.0",
23
- "@codingame/monaco-vscode-layout-service-override": "1.83.16"
21
+ "vscode": "npm:@codingame/monaco-vscode-api@1.85.0-next.0",
22
+ "monaco-editor": "0.45.0",
23
+ "@codingame/monaco-vscode-layout-service-override": "1.85.0-next.0"
24
24
  }
25
25
  }
@@ -1,6 +1,6 @@
1
1
  import n from '../../../../../../../../external/rollup-plugin-styles/dist/runtime/inject-css.js';
2
2
 
3
- var css = ".monaco-workbench .notifications-list-container{background:var(--vscode-notifications-background);border-radius:inherit;color:var(--vscode-notifications-foreground);outline-color:var(--vscode-contrastBorder)}.monaco-workbench .notifications-list-container .notification-list-item{border-radius:4px;box-sizing:border-box;display:flex;flex-direction:column;flex-direction:column-reverse;height:100%;padding:10px 5px}.monaco-workbench .notifications-list-container .notification-offset-helper{word-wrap:break-word;line-height:22px;opacity:0;position:absolute}.monaco-workbench .notifications-list-container .monaco-scrollable-element{border-radius:4px}.monaco-workbench .notifications-list-container .notification-list-item>.notification-list-item-main-row{display:flex;flex-grow:1}.monaco-workbench .notifications-list-container .notification-list-item .notification-list-item-icon{align-items:center;background-position:50%;background-repeat:no-repeat;display:flex;flex:0 0 16px;font-size:18px;height:22px;margin-left:4px;margin-right:4px}.monaco-workbench .notifications-list-container .notification-list-item .notification-list-item-message{flex:1;line-height:22px;overflow:hidden;text-overflow:ellipsis;user-select:text;-webkit-user-select:text}.monaco-workbench .notifications-list-container .notification-list-item .notification-list-item-message a{color:var(--vscode-notificationLink-foreground)}.monaco-workbench .notifications-list-container .notification-list-item .notification-list-item-message a:focus{outline-color:var(--vscode-focusBorder);outline-style:solid;outline-width:1px}.monaco-workbench .notifications-list-container .notification-list-item.expanded .notification-list-item-message{word-wrap:break-word;white-space:normal}.monaco-workbench .notifications-list-container .notification-list-item .notification-list-item-toolbar-container{display:none;height:22px}.monaco-workbench .notifications-list-container .monaco-list-row.focused .notification-list-item .notification-list-item-toolbar-container,.monaco-workbench .notifications-list-container .monaco-list:focus-within .notification-list-item .notification-list-item-toolbar-container,.monaco-workbench .notifications-list-container .notification-list-item.expanded .notification-list-item-toolbar-container,.monaco-workbench .notifications-list-container .notification-list-item:hover .notification-list-item-toolbar-container{display:block}.monaco-workbench .notifications-list-container .notification-list-item>.notification-list-item-details-row{align-items:center;display:none;overflow:hidden;padding-left:5px}.monaco-workbench .notifications-list-container .notification-list-item.expanded>.notification-list-item-details-row{display:flex}.monaco-workbench .notifications-list-container .notification-list-item .notification-list-item-source{flex:1;font-size:12px;overflow:hidden;text-overflow:ellipsis}.monaco-workbench .notifications-list-container .notification-list-item .notification-list-item-buttons-container{display:flex;overflow:hidden}.monaco-workbench .notifications-list-container .notification-list-item .notification-list-item-buttons-container>.monaco-button,.monaco-workbench .notifications-list-container .notification-list-item .notification-list-item-buttons-container>.monaco-button-dropdown{margin:4px 5px}.monaco-workbench .notifications-list-container .notification-list-item .notification-list-item-buttons-container .monaco-button{outline-offset:2px!important}.monaco-workbench .notifications-list-container .notification-list-item .notification-list-item-buttons-container .monaco-text-button{display:inline-block;font-size:12px;overflow:hidden;padding:4px 10px;text-overflow:ellipsis;width:fit-content}.monaco-workbench .notifications-list-container .notification-list-item .notification-list-item-buttons-container .monaco-dropdown-button{padding:5px}.monaco-workbench .notifications-list-container .progress-bit{bottom:0;height:2px}";
3
+ var css = ".monaco-workbench .notifications-list-container{background:var(--vscode-notifications-background);border-radius:inherit;color:var(--vscode-notifications-foreground);outline-color:var(--vscode-contrastBorder)}.monaco-workbench .notifications-list-container .notification-list-item{border-radius:4px;box-sizing:border-box;display:flex;flex-direction:column;flex-direction:column-reverse;height:100%;padding:10px 5px}.monaco-workbench .notifications-list-container .notification-offset-helper{word-wrap:break-word;line-height:22px;opacity:0;position:absolute}.monaco-workbench .notifications-list-container .monaco-scrollable-element{border-radius:4px}.monaco-workbench .notifications-list-container .notification-list-item>.notification-list-item-main-row{display:flex;flex-grow:1}.monaco-workbench .notifications-list-container .notification-list-item .notification-list-item-icon{align-items:center;background-position:50%;background-repeat:no-repeat;display:flex;flex:0 0 16px;font-size:18px;height:22px;margin-left:4px;margin-right:4px}.monaco-workbench .notifications-list-container .notification-list-item .notification-list-item-message{flex:1;line-height:22px;overflow:hidden;text-overflow:ellipsis;user-select:text;-webkit-user-select:text}.monaco-workbench .notifications-list-container .notification-list-item .notification-list-item-message a{color:var(--vscode-notificationLink-foreground)}.monaco-workbench .notifications-list-container .notification-list-item .notification-list-item-message a:focus{outline-color:var(--vscode-focusBorder);outline-style:solid;outline-width:1px}.monaco-workbench .notifications-list-container .notification-list-item.expanded .notification-list-item-message{word-wrap:break-word;white-space:normal}.monaco-workbench .notifications-list-container .notification-list-item .notification-list-item-toolbar-container{display:none;height:22px}.monaco-workbench .notifications-list-container .monaco-list-row.focused .notification-list-item .notification-list-item-toolbar-container,.monaco-workbench .notifications-list-container .monaco-list:focus-within .notification-list-item .notification-list-item-toolbar-container,.monaco-workbench .notifications-list-container .notification-list-item.expanded .notification-list-item-toolbar-container,.monaco-workbench .notifications-list-container .notification-list-item:hover .notification-list-item-toolbar-container{display:block}.monaco-workbench .notifications-list-container .notification-list-item>.notification-list-item-details-row{align-items:center;display:none;overflow:hidden;padding-left:5px}.monaco-workbench .notifications-list-container .notification-list-item.expanded>.notification-list-item-details-row{display:flex}.monaco-workbench .notifications-list-container .notification-list-item .notification-list-item-source{flex:1;font-size:12px;overflow:hidden;text-overflow:ellipsis}.monaco-workbench .notifications-list-container .notification-list-item .notification-list-item-buttons-container{display:flex;overflow:hidden}.monaco-workbench .notifications-list-container .notification-list-item .notification-list-item-buttons-container>.monaco-button,.monaco-workbench .notifications-list-container .notification-list-item .notification-list-item-buttons-container>.monaco-button-dropdown{margin:4px 5px}.monaco-workbench .notifications-list-container .notification-list-item .notification-list-item-buttons-container .monaco-button{outline-offset:2px!important}.monaco-workbench .notifications-list-container .notification-list-item .notification-list-item-buttons-container .monaco-text-button{display:inline-block;font-size:12px;overflow:hidden;padding:4px 10px;text-overflow:ellipsis;width:fit-content}.monaco-workbench .notifications-list-container .notification-list-item .notification-list-item-buttons-container .monaco-dropdown-button{padding:5px}.monaco-workbench .notifications-list-container .progress-bit{bottom:0}";
4
4
  n(css,{});
5
5
 
6
6
  export { css, css as default };
@@ -9,7 +9,7 @@ import { IContextKeyService } from 'monaco-editor/esm/vs/platform/contextkey/com
9
9
  import { NotificationActionRunner } from 'vscode/vscode/vs/workbench/browser/parts/notifications/notificationsCommands';
10
10
  import { NotificationsList } from './notificationsList.js';
11
11
  import { IInstantiationService } from 'monaco-editor/esm/vs/platform/instantiation/common/instantiation.js';
12
- import { Dimension, isAncestor } from 'monaco-editor/esm/vs/base/browser/dom.js';
12
+ import { Dimension, isAncestorOfActiveElement } from 'monaco-editor/esm/vs/base/browser/dom.js';
13
13
  import { widgetShadow } from 'monaco-editor/esm/vs/platform/theme/common/colorRegistry.js';
14
14
  import { IEditorGroupsService } from 'vscode/vscode/vs/workbench/services/editor/common/editorGroupsService';
15
15
  import { localizeWithPath } from 'monaco-editor/esm/vs/nls.js';
@@ -19,12 +19,14 @@ import { IKeybindingService } from 'monaco-editor/esm/vs/platform/keybinding/com
19
19
  import { assertIsDefined, assertAllDefined } from 'monaco-editor/esm/vs/base/common/types.js';
20
20
  import { NotificationsCenterVisibleContext } from 'vscode/vscode/vs/workbench/common/contextkeys';
21
21
  import { INotificationService } from 'monaco-editor/esm/vs/platform/notification/common/notification.js';
22
+ import { IAccessibleNotificationService } from 'monaco-editor/esm/vs/platform/accessibility/common/accessibility.js';
23
+ import { mainWindow } from 'monaco-editor/esm/vs/base/browser/window.js';
22
24
 
23
25
  var NotificationsCenter_1;
24
26
  let NotificationsCenter = class NotificationsCenter extends Themable {
25
27
  static { NotificationsCenter_1 = this; }
26
28
  static { this.MAX_DIMENSIONS = ( new Dimension(450, 400)); }
27
- constructor(container, model, themeService, instantiationService, layoutService, contextKeyService, editorGroupService, keybindingService, notificationService) {
29
+ constructor(container, model, themeService, instantiationService, layoutService, contextKeyService, editorGroupService, keybindingService, notificationService, accessibleNotificationService) {
28
30
  super(themeService);
29
31
  this.container = container;
30
32
  this.model = model;
@@ -34,6 +36,7 @@ let NotificationsCenter = class NotificationsCenter extends Themable {
34
36
  this.editorGroupService = editorGroupService;
35
37
  this.keybindingService = keybindingService;
36
38
  this.notificationService = notificationService;
39
+ this.accessibleNotificationService = accessibleNotificationService;
37
40
  this._onDidChangeVisibility = this._register(( new Emitter()));
38
41
  this.onDidChangeVisibility = this._onDidChangeVisibility.event;
39
42
  this.notificationsCenterVisibleContextKey = NotificationsCenterVisibleContext.bindTo(this.contextKeyService);
@@ -42,7 +45,7 @@ let NotificationsCenter = class NotificationsCenter extends Themable {
42
45
  }
43
46
  registerListeners() {
44
47
  this._register(this.model.onDidChangeNotification(e => this.onDidChangeNotification(e)));
45
- this._register(this.layoutService.onDidLayout(dimension => this.layout(Dimension.lift(dimension))));
48
+ this._register(this.layoutService.onDidLayoutMainContainer(dimension => this.layout(Dimension.lift(dimension))));
46
49
  this._register(this.notificationService.onDidChangeDoNotDisturbMode(() => this.onDidChangeDoNotDisturbMode()));
47
50
  }
48
51
  onDidChangeDoNotDisturbMode() {
@@ -160,7 +163,7 @@ let NotificationsCenter = class NotificationsCenter extends Themable {
160
163
  notificationsList.updateNotificationsList(e.index, 1, [e.item]);
161
164
  break;
162
165
  case 3 :
163
- focusEditor = isAncestor(document.activeElement, notificationsCenterContainer);
166
+ focusEditor = isAncestorOfActiveElement(notificationsCenterContainer);
164
167
  notificationsList.updateNotificationsList(e.index, 1);
165
168
  e.item.updateVisibility(false);
166
169
  break;
@@ -177,7 +180,7 @@ let NotificationsCenter = class NotificationsCenter extends Themable {
177
180
  if (!this._isVisible || !this.notificationsCenterContainer || !this.notificationsList) {
178
181
  return;
179
182
  }
180
- const focusEditor = isAncestor(document.activeElement, this.notificationsCenterContainer);
183
+ const focusEditor = isAncestorOfActiveElement(this.notificationsCenterContainer);
181
184
  this._isVisible = false;
182
185
  this.notificationsCenterContainer.classList.remove('visible');
183
186
  this.notificationsList.hide();
@@ -211,10 +214,10 @@ let NotificationsCenter = class NotificationsCenter extends Themable {
211
214
  availableWidth = this.workbenchDimensions.width;
212
215
  availableWidth -= (2 * 8);
213
216
  availableHeight = this.workbenchDimensions.height - 35 ;
214
- if (this.layoutService.isVisible("workbench.parts.statusbar" )) {
217
+ if (this.layoutService.isVisible("workbench.parts.statusbar" , mainWindow)) {
215
218
  availableHeight -= 22;
216
219
  }
217
- if (this.layoutService.isVisible("workbench.parts.titlebar" )) {
220
+ if (this.layoutService.isVisible("workbench.parts.titlebar" , mainWindow)) {
218
221
  availableHeight -= 22;
219
222
  }
220
223
  availableHeight -= (2 * 12);
@@ -229,6 +232,7 @@ let NotificationsCenter = class NotificationsCenter extends Themable {
229
232
  if (!notification.hasProgress) {
230
233
  notification.close();
231
234
  }
235
+ this.accessibleNotificationService.notify("clear" );
232
236
  }
233
237
  }
234
238
  };
@@ -239,7 +243,8 @@ NotificationsCenter = NotificationsCenter_1 = ( __decorate([
239
243
  ( __param(5, IContextKeyService)),
240
244
  ( __param(6, IEditorGroupsService)),
241
245
  ( __param(7, IKeybindingService)),
242
- ( __param(8, INotificationService))
246
+ ( __param(8, INotificationService)),
247
+ ( __param(9, IAccessibleNotificationService))
243
248
  ], NotificationsCenter));
244
249
 
245
250
  export { NotificationsCenter };
@@ -1,7 +1,7 @@
1
1
  import { __decorate, __param } from '../../../../../../../external/tslib/tslib.es6.js';
2
2
  import './media/notificationsList.css.js';
3
3
  import { localizeWithPath } from 'monaco-editor/esm/vs/nls.js';
4
- import { trackFocus, isAncestor } from 'monaco-editor/esm/vs/base/browser/dom.js';
4
+ import { trackFocus, getWindow, isAncestorOfActiveElement } from 'monaco-editor/esm/vs/base/browser/dom.js';
5
5
  import { WorkbenchList } from 'monaco-editor/esm/vs/platform/list/browser/listService.js';
6
6
  import { IInstantiationService } from 'monaco-editor/esm/vs/platform/instantiation/common/instantiation.js';
7
7
  import { NOTIFICATIONS_BACKGROUND } from 'vscode/vscode/vs/workbench/common/theme';
@@ -64,7 +64,7 @@ let NotificationsList = class NotificationsList extends Disposable {
64
64
  this._register((list.onMouseDblClick(event => event.element.toggle())));
65
65
  const listFocusTracker = this._register(trackFocus(list.getHTMLElement()));
66
66
  this._register(listFocusTracker.onDidBlur(() => {
67
- if (document.hasFocus()) {
67
+ if (getWindow(this.listContainer).document.hasFocus()) {
68
68
  list.setFocus([]);
69
69
  }
70
70
  }));
@@ -78,7 +78,7 @@ let NotificationsList = class NotificationsList extends Disposable {
78
78
  }
79
79
  updateNotificationsList(start, deleteCount, items = []) {
80
80
  const [list, listContainer] = assertAllDefined(this.list, this.listContainer);
81
- const listHasDOMFocus = isAncestor(document.activeElement, listContainer);
81
+ const listHasDOMFocus = isAncestorOfActiveElement(listContainer);
82
82
  const focusedIndex = list.getFocus()[0];
83
83
  const focusedItem = this.viewModel[focusedIndex];
84
84
  let focusRelativeTop = null;
@@ -139,7 +139,7 @@ let NotificationsList = class NotificationsList extends Disposable {
139
139
  if (!this.listContainer) {
140
140
  return false;
141
141
  }
142
- return isAncestor(document.activeElement, this.listContainer);
142
+ return isAncestorOfActiveElement(this.listContainer);
143
143
  }
144
144
  layout(width, maxHeight) {
145
145
  if (this.listContainer && this.list) {
@@ -2,7 +2,7 @@ import { __decorate, __param } from '../../../../../../../external/tslib/tslib.e
2
2
  import './media/notificationsToasts.css.js';
3
3
  import { localizeWithPath } from 'monaco-editor/esm/vs/nls.js';
4
4
  import { DisposableStore, toDisposable, dispose } from 'monaco-editor/esm/vs/base/common/lifecycle.js';
5
- import { Dimension, scheduleAtNextAnimationFrame, addDisposableListener, EventType, isAncestor } from 'monaco-editor/esm/vs/base/browser/dom.js';
5
+ import { Dimension, scheduleAtNextAnimationFrame, getWindow, addDisposableListener, EventType, isAncestorOfActiveElement } from 'monaco-editor/esm/vs/base/browser/dom.js';
6
6
  import { IInstantiationService } from 'monaco-editor/esm/vs/platform/instantiation/common/instantiation.js';
7
7
  import { NotificationsList } from './notificationsList.js';
8
8
  import { Emitter, Event } from 'monaco-editor/esm/vs/base/common/event.js';
@@ -18,6 +18,7 @@ import { IHostService } from 'vscode/vscode/vs/workbench/services/host/browser/h
18
18
  import { IntervalCounter } from 'monaco-editor/esm/vs/base/common/async.js';
19
19
  import { assertIsDefined } from 'monaco-editor/esm/vs/base/common/types.js';
20
20
  import { NotificationsToastsVisibleContext } from 'vscode/vscode/vs/workbench/common/contextkeys';
21
+ import { mainWindow } from 'monaco-editor/esm/vs/base/browser/window.js';
21
22
 
22
23
  var NotificationsToasts_1;
23
24
  var ToastVisibility;
@@ -60,7 +61,7 @@ let NotificationsToasts = class NotificationsToasts extends Themable {
60
61
  this.registerListeners();
61
62
  }
62
63
  registerListeners() {
63
- this._register(this.layoutService.onDidLayout(dimension => this.layout(Dimension.lift(dimension))));
64
+ this._register(this.layoutService.onDidLayoutMainContainer(dimension => this.layout(Dimension.lift(dimension))));
64
65
  this.lifecycleService.when(3 ).then(() => {
65
66
  this.model.notifications.forEach(notification => this.addToast(notification));
66
67
  this._register(this.model.onDidChangeNotification(e => this.onDidChangeNotification(e)));
@@ -91,7 +92,7 @@ let NotificationsToasts = class NotificationsToasts extends Themable {
91
92
  }
92
93
  const itemDisposables = ( new DisposableStore());
93
94
  this.mapNotificationToDisposable.set(item, itemDisposables);
94
- itemDisposables.add(scheduleAtNextAnimationFrame(() => this.doAddToast(item, itemDisposables)));
95
+ itemDisposables.add(scheduleAtNextAnimationFrame(getWindow(this.container), () => this.doAddToast(item, itemDisposables)));
95
96
  }
96
97
  doAddToast(item, itemDisposables) {
97
98
  let notificationsToastsContainer = this.notificationsToastsContainer;
@@ -210,7 +211,7 @@ let NotificationsToasts = class NotificationsToasts extends Themable {
210
211
  let focusEditor = false;
211
212
  const notificationToast = this.mapNotificationToToast.get(item);
212
213
  if (notificationToast) {
213
- const toastHasDOMFocus = isAncestor(document.activeElement, notificationToast.container);
214
+ const toastHasDOMFocus = isAncestorOfActiveElement(notificationToast.container);
214
215
  if (toastHasDOMFocus) {
215
216
  focusEditor = !(this.focusNext() || this.focusPrevious());
216
217
  }
@@ -246,7 +247,7 @@ let NotificationsToasts = class NotificationsToasts extends Themable {
246
247
  }
247
248
  }
248
249
  hide() {
249
- const focusEditor = this.notificationsToastsContainer ? isAncestor(document.activeElement, this.notificationsToastsContainer) : false;
250
+ const focusEditor = this.notificationsToastsContainer ? isAncestorOfActiveElement(this.notificationsToastsContainer) : false;
250
251
  this.removeToasts();
251
252
  if (focusEditor) {
252
253
  this.editorGroupService.activeGroup.focus();
@@ -361,10 +362,10 @@ let NotificationsToasts = class NotificationsToasts extends Themable {
361
362
  availableWidth = this.workbenchDimensions.width;
362
363
  availableWidth -= (2 * 8);
363
364
  availableHeight = this.workbenchDimensions.height;
364
- if (this.layoutService.isVisible("workbench.parts.statusbar" )) {
365
+ if (this.layoutService.isVisible("workbench.parts.statusbar" , mainWindow)) {
365
366
  availableHeight -= 22;
366
367
  }
367
- if (this.layoutService.isVisible("workbench.parts.titlebar" )) {
368
+ if (this.layoutService.isVisible("workbench.parts.titlebar" , mainWindow)) {
368
369
  availableHeight -= 22;
369
370
  }
370
371
  availableHeight -= (2 * 12);