monaco-editor-core 0.56.0-dev-20260206 → 0.56.0-dev-20260210

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 (101) hide show
  1. package/esm/nls.messages.cs.js +1 -1
  2. package/esm/nls.messages.de.js +1 -1
  3. package/esm/nls.messages.es.js +1 -1
  4. package/esm/nls.messages.fr.js +1 -1
  5. package/esm/nls.messages.it.js +1 -1
  6. package/esm/nls.messages.ja.js +1 -1
  7. package/esm/nls.messages.ko.js +1 -1
  8. package/esm/nls.messages.pl.js +1 -1
  9. package/esm/nls.messages.pt-br.js +1 -1
  10. package/esm/nls.messages.ru.js +1 -1
  11. package/esm/nls.messages.tr.js +1 -1
  12. package/esm/nls.messages.zh-cn.js +1 -1
  13. package/esm/nls.messages.zh-tw.js +1 -1
  14. package/esm/vs/base/browser/pixelRatio.js +2 -1
  15. package/esm/vs/base/browser/pixelRatio.js.map +1 -1
  16. package/esm/vs/base/browser/ui/actionbar/actionViewItems.js +3 -3
  17. package/esm/vs/base/browser/ui/actionbar/actionViewItems.js.map +1 -1
  18. package/esm/vs/editor/browser/controller/editContext/textArea/textAreaEditContextInput.js +2 -1
  19. package/esm/vs/editor/browser/controller/editContext/textArea/textAreaEditContextInput.js.map +1 -1
  20. package/esm/vs/editor/browser/view.js +9 -6
  21. package/esm/vs/editor/browser/view.js.map +1 -1
  22. package/esm/vs/editor/browser/widget/codeEditor/codeEditorWidget.js +6 -3
  23. package/esm/vs/editor/browser/widget/codeEditor/codeEditorWidget.js.map +1 -1
  24. package/esm/vs/editor/browser/widget/codeEditor/embeddedCodeEditorWidget.js +5 -3
  25. package/esm/vs/editor/browser/widget/codeEditor/embeddedCodeEditorWidget.js.map +1 -1
  26. package/esm/vs/editor/browser/widget/diffEditor/diffProviderFactoryService.js +1 -0
  27. package/esm/vs/editor/browser/widget/diffEditor/diffProviderFactoryService.js.map +1 -1
  28. package/esm/vs/editor/common/model/bracketPairsTextModelPart/bracketPairsImpl.js +1 -1
  29. package/esm/vs/editor/common/model/bracketPairsTextModelPart/bracketPairsImpl.js.map +1 -1
  30. package/esm/vs/editor/common/model/bracketPairsTextModelPart/bracketPairsTree/bracketPairsTree.js +1 -1
  31. package/esm/vs/editor/common/model/bracketPairsTextModelPart/bracketPairsTree/bracketPairsTree.js.map +1 -1
  32. package/esm/vs/editor/common/model/bracketPairsTextModelPart/colorizedBracketPairsDecorationProvider.js +1 -1
  33. package/esm/vs/editor/common/model/bracketPairsTextModelPart/colorizedBracketPairsDecorationProvider.js.map +1 -1
  34. package/esm/vs/editor/common/model/textModel.js +1 -1
  35. package/esm/vs/editor/common/model/textModel.js.map +1 -1
  36. package/esm/vs/editor/common/model/tokens/abstractSyntaxTokenBackend.js +3 -0
  37. package/esm/vs/editor/common/model/tokens/abstractSyntaxTokenBackend.js.map +1 -1
  38. package/esm/vs/editor/common/model/tokens/tokenizationFontDecorationsProvider.js +2 -2
  39. package/esm/vs/editor/common/model/tokens/tokenizationFontDecorationsProvider.js.map +1 -1
  40. package/esm/vs/editor/common/viewModel/minimapTokensColorTracker.js +1 -1
  41. package/esm/vs/editor/common/viewModel/minimapTokensColorTracker.js.map +1 -1
  42. package/esm/vs/editor/contrib/codelens/browser/codelensController.js +1 -0
  43. package/esm/vs/editor/contrib/codelens/browser/codelensController.js.map +1 -1
  44. package/esm/vs/editor/contrib/colorPicker/browser/colorPickerParts/colorPickerSaturationBox.js +2 -2
  45. package/esm/vs/editor/contrib/colorPicker/browser/colorPickerParts/colorPickerSaturationBox.js.map +1 -1
  46. package/esm/vs/editor/contrib/colorPicker/browser/colorPickerParts/colorPickerStrip.js +2 -2
  47. package/esm/vs/editor/contrib/colorPicker/browser/colorPickerParts/colorPickerStrip.js.map +1 -1
  48. package/esm/vs/editor/contrib/find/browser/findController.js +1 -1
  49. package/esm/vs/editor/contrib/find/browser/findController.js.map +1 -1
  50. package/esm/vs/editor/contrib/folding/browser/foldingModel.js +1 -0
  51. package/esm/vs/editor/contrib/folding/browser/foldingModel.js.map +1 -1
  52. package/esm/vs/editor/contrib/folding/browser/hiddenRangeModel.js +1 -0
  53. package/esm/vs/editor/contrib/folding/browser/hiddenRangeModel.js.map +1 -1
  54. package/esm/vs/editor/contrib/gotoError/browser/gotoErrorWidget.js +1 -0
  55. package/esm/vs/editor/contrib/gotoError/browser/gotoErrorWidget.js.map +1 -1
  56. package/esm/vs/editor/contrib/gotoSymbol/browser/peek/referencesWidget.js +1 -1
  57. package/esm/vs/editor/contrib/gotoSymbol/browser/peek/referencesWidget.js.map +1 -1
  58. package/esm/vs/editor/contrib/inlineCompletions/browser/model/inlineCompletionsModel.js +1 -1
  59. package/esm/vs/editor/contrib/inlineCompletions/browser/model/inlineCompletionsModel.js.map +1 -1
  60. package/esm/vs/editor/contrib/inlineCompletions/browser/view/inlineEdits/components/gutterIndicatorView.js +11 -7
  61. package/esm/vs/editor/contrib/inlineCompletions/browser/view/inlineEdits/components/gutterIndicatorView.js.map +1 -1
  62. package/esm/vs/editor/contrib/inlineCompletions/browser/view/inlineEdits/inlineEditsViews/inlineEditsSideBySideView.js +6 -3
  63. package/esm/vs/editor/contrib/inlineCompletions/browser/view/inlineEdits/inlineEditsViews/inlineEditsSideBySideView.js.map +1 -1
  64. package/esm/vs/editor/contrib/inlineCompletions/browser/view/inlineEdits/inlineEditsViews/inlineEditsWordReplacementView.js +14 -5
  65. package/esm/vs/editor/contrib/inlineCompletions/browser/view/inlineEdits/inlineEditsViews/inlineEditsWordReplacementView.js.map +1 -1
  66. package/esm/vs/editor/contrib/inlineCompletions/browser/view/inlineEdits/utils/utils.js +2 -2
  67. package/esm/vs/editor/contrib/inlineCompletions/browser/view/inlineEdits/utils/utils.js.map +1 -1
  68. package/esm/vs/editor/contrib/parameterHints/browser/parameterHintsModel.js +1 -1
  69. package/esm/vs/editor/contrib/parameterHints/browser/parameterHintsModel.js.map +1 -1
  70. package/esm/vs/editor/contrib/peekView/browser/peekView.js +1 -0
  71. package/esm/vs/editor/contrib/peekView/browser/peekView.js.map +1 -1
  72. package/esm/vs/editor/contrib/rename/browser/renameWidget.js +2 -2
  73. package/esm/vs/editor/contrib/rename/browser/renameWidget.js.map +1 -1
  74. package/esm/vs/editor/contrib/stickyScroll/browser/stickyScrollController.js +5 -1
  75. package/esm/vs/editor/contrib/stickyScroll/browser/stickyScrollController.js.map +1 -1
  76. package/esm/vs/editor/contrib/stickyScroll/browser/stickyScrollWidget.js +5 -5
  77. package/esm/vs/editor/contrib/stickyScroll/browser/stickyScrollWidget.js.map +1 -1
  78. package/esm/vs/editor/contrib/suggest/browser/suggestWidget.js +5 -0
  79. package/esm/vs/editor/contrib/suggest/browser/suggestWidget.js.map +1 -1
  80. package/esm/vs/editor/contrib/suggest/browser/suggestWidgetDetails.js +2 -0
  81. package/esm/vs/editor/contrib/suggest/browser/suggestWidgetDetails.js.map +1 -1
  82. package/esm/vs/editor/standalone/browser/standaloneCodeEditor.js +9 -6
  83. package/esm/vs/editor/standalone/browser/standaloneCodeEditor.js.map +1 -1
  84. package/esm/vs/editor/standalone/browser/standaloneServices.js +8 -4
  85. package/esm/vs/editor/standalone/browser/standaloneServices.js.map +1 -1
  86. package/esm/vs/platform/accessibility/browser/accessibilityService.js +3 -3
  87. package/esm/vs/platform/accessibility/browser/accessibilityService.js.map +1 -1
  88. package/esm/vs/platform/actionWidget/browser/actionList.js +11 -0
  89. package/esm/vs/platform/actionWidget/browser/actionList.js.map +1 -1
  90. package/esm/vs/platform/actions/browser/menuEntryActionViewItem.css +9 -0
  91. package/esm/vs/platform/actions/common/actions.js +1 -0
  92. package/esm/vs/platform/actions/common/actions.js.map +1 -1
  93. package/esm/vs/platform/quickinput/browser/quickInputList.js +4 -4
  94. package/esm/vs/platform/quickinput/browser/quickInputList.js.map +1 -1
  95. package/esm/vs/platform/quickinput/browser/tree/quickInputTreeController.js +1 -1
  96. package/esm/vs/platform/quickinput/browser/tree/quickInputTreeController.js.map +1 -1
  97. package/esm/vs/platform/userInteraction/browser/userInteractionService.js +7 -0
  98. package/esm/vs/platform/userInteraction/browser/userInteractionService.js.map +1 -0
  99. package/esm/vs/platform/userInteraction/browser/userInteractionServiceImpl.js +62 -0
  100. package/esm/vs/platform/userInteraction/browser/userInteractionServiceImpl.js.map +1 -0
  101. package/package.json +2 -2
@@ -1,6 +1,6 @@
1
1
  /*!-----------------------------------------------------------
2
2
  * Copyright (c) Microsoft Corporation. All rights reserved.
3
- * Version: 0.56.0-dev-20260206(613524bdf43891f71ce0bf1f99584b666d70c95a)
3
+ * Version: 0.56.0-dev-20260210(613524bdf43891f71ce0bf1f99584b666d70c95a)
4
4
  * Released under the MIT license
5
5
  * https://github.com/microsoft/vscode/blob/main/LICENSE.txt
6
6
  *-----------------------------------------------------------*/
@@ -1,6 +1,6 @@
1
1
  /*!-----------------------------------------------------------
2
2
  * Copyright (c) Microsoft Corporation. All rights reserved.
3
- * Version: 0.56.0-dev-20260206(613524bdf43891f71ce0bf1f99584b666d70c95a)
3
+ * Version: 0.56.0-dev-20260210(613524bdf43891f71ce0bf1f99584b666d70c95a)
4
4
  * Released under the MIT license
5
5
  * https://github.com/microsoft/vscode/blob/main/LICENSE.txt
6
6
  *-----------------------------------------------------------*/
@@ -1,6 +1,6 @@
1
1
  /*!-----------------------------------------------------------
2
2
  * Copyright (c) Microsoft Corporation. All rights reserved.
3
- * Version: 0.56.0-dev-20260206(613524bdf43891f71ce0bf1f99584b666d70c95a)
3
+ * Version: 0.56.0-dev-20260210(613524bdf43891f71ce0bf1f99584b666d70c95a)
4
4
  * Released under the MIT license
5
5
  * https://github.com/microsoft/vscode/blob/main/LICENSE.txt
6
6
  *-----------------------------------------------------------*/
@@ -1,6 +1,6 @@
1
1
  /*!-----------------------------------------------------------
2
2
  * Copyright (c) Microsoft Corporation. All rights reserved.
3
- * Version: 0.56.0-dev-20260206(613524bdf43891f71ce0bf1f99584b666d70c95a)
3
+ * Version: 0.56.0-dev-20260210(613524bdf43891f71ce0bf1f99584b666d70c95a)
4
4
  * Released under the MIT license
5
5
  * https://github.com/microsoft/vscode/blob/main/LICENSE.txt
6
6
  *-----------------------------------------------------------*/
@@ -1,6 +1,6 @@
1
1
  /*!-----------------------------------------------------------
2
2
  * Copyright (c) Microsoft Corporation. All rights reserved.
3
- * Version: 0.56.0-dev-20260206(613524bdf43891f71ce0bf1f99584b666d70c95a)
3
+ * Version: 0.56.0-dev-20260210(613524bdf43891f71ce0bf1f99584b666d70c95a)
4
4
  * Released under the MIT license
5
5
  * https://github.com/microsoft/vscode/blob/main/LICENSE.txt
6
6
  *-----------------------------------------------------------*/
@@ -1,6 +1,6 @@
1
1
  /*!-----------------------------------------------------------
2
2
  * Copyright (c) Microsoft Corporation. All rights reserved.
3
- * Version: 0.56.0-dev-20260206(613524bdf43891f71ce0bf1f99584b666d70c95a)
3
+ * Version: 0.56.0-dev-20260210(613524bdf43891f71ce0bf1f99584b666d70c95a)
4
4
  * Released under the MIT license
5
5
  * https://github.com/microsoft/vscode/blob/main/LICENSE.txt
6
6
  *-----------------------------------------------------------*/
@@ -1,6 +1,6 @@
1
1
  /*!-----------------------------------------------------------
2
2
  * Copyright (c) Microsoft Corporation. All rights reserved.
3
- * Version: 0.56.0-dev-20260206(613524bdf43891f71ce0bf1f99584b666d70c95a)
3
+ * Version: 0.56.0-dev-20260210(613524bdf43891f71ce0bf1f99584b666d70c95a)
4
4
  * Released under the MIT license
5
5
  * https://github.com/microsoft/vscode/blob/main/LICENSE.txt
6
6
  *-----------------------------------------------------------*/
@@ -1,6 +1,6 @@
1
1
  /*!-----------------------------------------------------------
2
2
  * Copyright (c) Microsoft Corporation. All rights reserved.
3
- * Version: 0.56.0-dev-20260206(613524bdf43891f71ce0bf1f99584b666d70c95a)
3
+ * Version: 0.56.0-dev-20260210(613524bdf43891f71ce0bf1f99584b666d70c95a)
4
4
  * Released under the MIT license
5
5
  * https://github.com/microsoft/vscode/blob/main/LICENSE.txt
6
6
  *-----------------------------------------------------------*/
@@ -1,6 +1,6 @@
1
1
  /*!-----------------------------------------------------------
2
2
  * Copyright (c) Microsoft Corporation. All rights reserved.
3
- * Version: 0.56.0-dev-20260206(613524bdf43891f71ce0bf1f99584b666d70c95a)
3
+ * Version: 0.56.0-dev-20260210(613524bdf43891f71ce0bf1f99584b666d70c95a)
4
4
  * Released under the MIT license
5
5
  * https://github.com/microsoft/vscode/blob/main/LICENSE.txt
6
6
  *-----------------------------------------------------------*/
@@ -1,6 +1,6 @@
1
1
  /*!-----------------------------------------------------------
2
2
  * Copyright (c) Microsoft Corporation. All rights reserved.
3
- * Version: 0.56.0-dev-20260206(613524bdf43891f71ce0bf1f99584b666d70c95a)
3
+ * Version: 0.56.0-dev-20260210(613524bdf43891f71ce0bf1f99584b666d70c95a)
4
4
  * Released under the MIT license
5
5
  * https://github.com/microsoft/vscode/blob/main/LICENSE.txt
6
6
  *-----------------------------------------------------------*/
@@ -1,6 +1,6 @@
1
1
  /*!-----------------------------------------------------------
2
2
  * Copyright (c) Microsoft Corporation. All rights reserved.
3
- * Version: 0.56.0-dev-20260206(613524bdf43891f71ce0bf1f99584b666d70c95a)
3
+ * Version: 0.56.0-dev-20260210(613524bdf43891f71ce0bf1f99584b666d70c95a)
4
4
  * Released under the MIT license
5
5
  * https://github.com/microsoft/vscode/blob/main/LICENSE.txt
6
6
  *-----------------------------------------------------------*/
@@ -1,6 +1,6 @@
1
1
  /*!-----------------------------------------------------------
2
2
  * Copyright (c) Microsoft Corporation. All rights reserved.
3
- * Version: 0.56.0-dev-20260206(613524bdf43891f71ce0bf1f99584b666d70c95a)
3
+ * Version: 0.56.0-dev-20260210(613524bdf43891f71ce0bf1f99584b666d70c95a)
4
4
  * Released under the MIT license
5
5
  * https://github.com/microsoft/vscode/blob/main/LICENSE.txt
6
6
  *-----------------------------------------------------------*/
@@ -1,6 +1,6 @@
1
1
  /*!-----------------------------------------------------------
2
2
  * Copyright (c) Microsoft Corporation. All rights reserved.
3
- * Version: 0.56.0-dev-20260206(613524bdf43891f71ce0bf1f99584b666d70c95a)
3
+ * Version: 0.56.0-dev-20260210(613524bdf43891f71ce0bf1f99584b666d70c95a)
4
4
  * Released under the MIT license
5
5
  * https://github.com/microsoft/vscode/blob/main/LICENSE.txt
6
6
  *-----------------------------------------------------------*/
@@ -4,7 +4,7 @@
4
4
  *--------------------------------------------------------------------------------------------*/
5
5
  import { getWindowId, onDidUnregisterWindow } from './dom.js';
6
6
  import { Emitter, Event } from '../common/event.js';
7
- import { Disposable, markAsSingleton } from '../common/lifecycle.js';
7
+ import { Disposable, markAsSingleton, toDisposable } from '../common/lifecycle.js';
8
8
  /**
9
9
  * See https://developer.mozilla.org/en-US/docs/Web/API/Window/devicePixelRatio#monitoring_screen_resolution_or_zoom_level_changes
10
10
  */
@@ -16,6 +16,7 @@ class DevicePixelRatioMonitor extends Disposable {
16
16
  this._listener = () => this._handleChange(targetWindow, true);
17
17
  this._mediaQueryList = null;
18
18
  this._handleChange(targetWindow, false);
19
+ this._register(toDisposable(() => this._mediaQueryList?.removeEventListener('change', this._listener)));
19
20
  }
20
21
  _handleChange(targetWindow, fireEvent) {
21
22
  this._mediaQueryList?.removeEventListener('change', this._listener);
@@ -1 +1 @@
1
- {"version":3,"sources":["file:///mnt/vss/_work/1/s/dependencies/vscode/out-editor-src/vs/base/browser/pixelRatio.ts","vs/base/browser/pixelRatio.ts"],"names":[],"mappings":"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","file":"pixelRatio.js","sourceRoot":"file:///mnt/vss/_work/1/s/dependencies/vscode/out-editor-src","sourcesContent":["/*---------------------------------------------------------------------------------------------\n * Copyright (c) Microsoft Corporation. All rights reserved.\n * Licensed under the MIT License. See License.txt in the project root for license information.\n *--------------------------------------------------------------------------------------------*/\n\nimport { getWindowId, onDidUnregisterWindow } from './dom.js';\nimport { Emitter, Event } from '../common/event.js';\nimport { Disposable, markAsSingleton } from '../common/lifecycle.js';\n\ntype BackingStoreContext = CanvasRenderingContext2D & {\n\twebkitBackingStorePixelRatio?: number;\n\tmozBackingStorePixelRatio?: number;\n\tmsBackingStorePixelRatio?: number;\n\toBackingStorePixelRatio?: number;\n\tbackingStorePixelRatio?: number;\n};\n\n/**\n * See https://developer.mozilla.org/en-US/docs/Web/API/Window/devicePixelRatio#monitoring_screen_resolution_or_zoom_level_changes\n */\nclass DevicePixelRatioMonitor extends Disposable {\n\n\tprivate readonly _onDidChange = this._register(new Emitter<void>());\n\treadonly onDidChange = this._onDidChange.event;\n\n\tprivate readonly _listener: () => void;\n\tprivate _mediaQueryList: MediaQueryList | null;\n\n\tconstructor(targetWindow: Window) {\n\t\tsuper();\n\n\t\tthis._listener = () => this._handleChange(targetWindow, true);\n\t\tthis._mediaQueryList = null;\n\t\tthis._handleChange(targetWindow, false);\n\t}\n\n\tprivate _handleChange(targetWindow: Window, fireEvent: boolean): void {\n\t\tthis._mediaQueryList?.removeEventListener('change', this._listener);\n\n\t\tthis._mediaQueryList = targetWindow.matchMedia(`(resolution: ${targetWindow.devicePixelRatio}dppx)`);\n\t\tthis._mediaQueryList.addEventListener('change', this._listener);\n\n\t\tif (fireEvent) {\n\t\t\tthis._onDidChange.fire();\n\t\t}\n\t}\n}\n\nexport interface IPixelRatioMonitor {\n\treadonly value: number;\n\treadonly onDidChange: Event<number>;\n}\n\nclass PixelRatioMonitorImpl extends Disposable implements IPixelRatioMonitor {\n\n\tprivate readonly _onDidChange = this._register(new Emitter<number>());\n\treadonly onDidChange = this._onDidChange.event;\n\n\tprivate _value: number;\n\n\tget value(): number {\n\t\treturn this._value;\n\t}\n\n\tconstructor(targetWindow: Window) {\n\t\tsuper();\n\n\t\tthis._value = this._getPixelRatio(targetWindow);\n\n\t\tconst dprMonitor = this._register(new DevicePixelRatioMonitor(targetWindow));\n\t\tthis._register(dprMonitor.onDidChange(() => {\n\t\t\tthis._value = this._getPixelRatio(targetWindow);\n\t\t\tthis._onDidChange.fire(this._value);\n\t\t}));\n\t}\n\n\tprivate _getPixelRatio(targetWindow: Window): number {\n\t\tconst ctx = document.createElement('canvas').getContext('2d') as BackingStoreContext | null;\n\t\tconst dpr = targetWindow.devicePixelRatio || 1;\n\t\tconst bsr = ctx?.webkitBackingStorePixelRatio ||\n\t\t\tctx?.mozBackingStorePixelRatio ||\n\t\t\tctx?.msBackingStorePixelRatio ||\n\t\t\tctx?.oBackingStorePixelRatio ||\n\t\t\tctx?.backingStorePixelRatio || 1;\n\t\treturn dpr / bsr;\n\t}\n}\n\nclass PixelRatioMonitorFacade {\n\n\tprivate readonly mapWindowIdToPixelRatioMonitor = new Map<number, PixelRatioMonitorImpl>();\n\n\tprivate _getOrCreatePixelRatioMonitor(targetWindow: Window): PixelRatioMonitorImpl {\n\t\tconst targetWindowId = getWindowId(targetWindow);\n\t\tlet pixelRatioMonitor = this.mapWindowIdToPixelRatioMonitor.get(targetWindowId);\n\t\tif (!pixelRatioMonitor) {\n\t\t\tpixelRatioMonitor = markAsSingleton(new PixelRatioMonitorImpl(targetWindow));\n\t\t\tthis.mapWindowIdToPixelRatioMonitor.set(targetWindowId, pixelRatioMonitor);\n\n\t\t\tmarkAsSingleton(Event.once(onDidUnregisterWindow)(({ vscodeWindowId }) => {\n\t\t\t\tif (vscodeWindowId === targetWindowId) {\n\t\t\t\t\tpixelRatioMonitor?.dispose();\n\t\t\t\t\tthis.mapWindowIdToPixelRatioMonitor.delete(targetWindowId);\n\t\t\t\t}\n\t\t\t}));\n\t\t}\n\t\treturn pixelRatioMonitor;\n\t}\n\n\tgetInstance(targetWindow: Window): IPixelRatioMonitor {\n\t\treturn this._getOrCreatePixelRatioMonitor(targetWindow);\n\t}\n}\n\n/**\n * Returns the pixel ratio.\n *\n * This is useful for rendering <canvas> elements at native screen resolution or for being used as\n * a cache key when storing font measurements. Fonts might render differently depending on resolution\n * and any measurements need to be discarded for example when a window is moved from a monitor to another.\n */\nexport const PixelRatio = new PixelRatioMonitorFacade();\n","/*---------------------------------------------------------------------------------------------\n * Copyright (c) Microsoft Corporation. All rights reserved.\n * Licensed under the MIT License. See License.txt in the project root for license information.\n *--------------------------------------------------------------------------------------------*/\n\nimport { getWindowId, onDidUnregisterWindow } from './dom.js';\nimport { Emitter, Event } from '../common/event.js';\nimport { Disposable, markAsSingleton } from '../common/lifecycle.js';\n\ntype BackingStoreContext = CanvasRenderingContext2D & {\n\twebkitBackingStorePixelRatio?: number;\n\tmozBackingStorePixelRatio?: number;\n\tmsBackingStorePixelRatio?: number;\n\toBackingStorePixelRatio?: number;\n\tbackingStorePixelRatio?: number;\n};\n\n/**\n * See https://developer.mozilla.org/en-US/docs/Web/API/Window/devicePixelRatio#monitoring_screen_resolution_or_zoom_level_changes\n */\nclass DevicePixelRatioMonitor extends Disposable {\n\n\tprivate readonly _onDidChange = this._register(new Emitter<void>());\n\treadonly onDidChange = this._onDidChange.event;\n\n\tprivate readonly _listener: () => void;\n\tprivate _mediaQueryList: MediaQueryList | null;\n\n\tconstructor(targetWindow: Window) {\n\t\tsuper();\n\n\t\tthis._listener = () => this._handleChange(targetWindow, true);\n\t\tthis._mediaQueryList = null;\n\t\tthis._handleChange(targetWindow, false);\n\t}\n\n\tprivate _handleChange(targetWindow: Window, fireEvent: boolean): void {\n\t\tthis._mediaQueryList?.removeEventListener('change', this._listener);\n\n\t\tthis._mediaQueryList = targetWindow.matchMedia(`(resolution: ${targetWindow.devicePixelRatio}dppx)`);\n\t\tthis._mediaQueryList.addEventListener('change', this._listener);\n\n\t\tif (fireEvent) {\n\t\t\tthis._onDidChange.fire();\n\t\t}\n\t}\n}\n\nexport interface IPixelRatioMonitor {\n\treadonly value: number;\n\treadonly onDidChange: Event<number>;\n}\n\nclass PixelRatioMonitorImpl extends Disposable implements IPixelRatioMonitor {\n\n\tprivate readonly _onDidChange = this._register(new Emitter<number>());\n\treadonly onDidChange = this._onDidChange.event;\n\n\tprivate _value: number;\n\n\tget value(): number {\n\t\treturn this._value;\n\t}\n\n\tconstructor(targetWindow: Window) {\n\t\tsuper();\n\n\t\tthis._value = this._getPixelRatio(targetWindow);\n\n\t\tconst dprMonitor = this._register(new DevicePixelRatioMonitor(targetWindow));\n\t\tthis._register(dprMonitor.onDidChange(() => {\n\t\t\tthis._value = this._getPixelRatio(targetWindow);\n\t\t\tthis._onDidChange.fire(this._value);\n\t\t}));\n\t}\n\n\tprivate _getPixelRatio(targetWindow: Window): number {\n\t\tconst ctx = document.createElement('canvas').getContext('2d') as BackingStoreContext | null;\n\t\tconst dpr = targetWindow.devicePixelRatio || 1;\n\t\tconst bsr = ctx?.webkitBackingStorePixelRatio ||\n\t\t\tctx?.mozBackingStorePixelRatio ||\n\t\t\tctx?.msBackingStorePixelRatio ||\n\t\t\tctx?.oBackingStorePixelRatio ||\n\t\t\tctx?.backingStorePixelRatio || 1;\n\t\treturn dpr / bsr;\n\t}\n}\n\nclass PixelRatioMonitorFacade {\n\n\tprivate readonly mapWindowIdToPixelRatioMonitor = new Map<number, PixelRatioMonitorImpl>();\n\n\tprivate _getOrCreatePixelRatioMonitor(targetWindow: Window): PixelRatioMonitorImpl {\n\t\tconst targetWindowId = getWindowId(targetWindow);\n\t\tlet pixelRatioMonitor = this.mapWindowIdToPixelRatioMonitor.get(targetWindowId);\n\t\tif (!pixelRatioMonitor) {\n\t\t\tpixelRatioMonitor = markAsSingleton(new PixelRatioMonitorImpl(targetWindow));\n\t\t\tthis.mapWindowIdToPixelRatioMonitor.set(targetWindowId, pixelRatioMonitor);\n\n\t\t\tmarkAsSingleton(Event.once(onDidUnregisterWindow)(({ vscodeWindowId }) => {\n\t\t\t\tif (vscodeWindowId === targetWindowId) {\n\t\t\t\t\tpixelRatioMonitor?.dispose();\n\t\t\t\t\tthis.mapWindowIdToPixelRatioMonitor.delete(targetWindowId);\n\t\t\t\t}\n\t\t\t}));\n\t\t}\n\t\treturn pixelRatioMonitor;\n\t}\n\n\tgetInstance(targetWindow: Window): IPixelRatioMonitor {\n\t\treturn this._getOrCreatePixelRatioMonitor(targetWindow);\n\t}\n}\n\n/**\n * Returns the pixel ratio.\n *\n * This is useful for rendering <canvas> elements at native screen resolution or for being used as\n * a cache key when storing font measurements. Fonts might render differently depending on resolution\n * and any measurements need to be discarded for example when a window is moved from a monitor to another.\n */\nexport const PixelRatio = new PixelRatioMonitorFacade();\n"]}
1
+ {"version":3,"sources":["file:///mnt/vss/_work/1/s/dependencies/vscode/out-editor-src/vs/base/browser/pixelRatio.ts","vs/base/browser/pixelRatio.ts"],"names":[],"mappings":"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","file":"pixelRatio.js","sourceRoot":"file:///mnt/vss/_work/1/s/dependencies/vscode/out-editor-src","sourcesContent":["/*---------------------------------------------------------------------------------------------\n * Copyright (c) Microsoft Corporation. All rights reserved.\n * Licensed under the MIT License. See License.txt in the project root for license information.\n *--------------------------------------------------------------------------------------------*/\n\nimport { getWindowId, onDidUnregisterWindow } from './dom.js';\nimport { Emitter, Event } from '../common/event.js';\nimport { Disposable, markAsSingleton, toDisposable } from '../common/lifecycle.js';\n\ntype BackingStoreContext = CanvasRenderingContext2D & {\n\twebkitBackingStorePixelRatio?: number;\n\tmozBackingStorePixelRatio?: number;\n\tmsBackingStorePixelRatio?: number;\n\toBackingStorePixelRatio?: number;\n\tbackingStorePixelRatio?: number;\n};\n\n/**\n * See https://developer.mozilla.org/en-US/docs/Web/API/Window/devicePixelRatio#monitoring_screen_resolution_or_zoom_level_changes\n */\nclass DevicePixelRatioMonitor extends Disposable {\n\n\tprivate readonly _onDidChange = this._register(new Emitter<void>());\n\treadonly onDidChange = this._onDidChange.event;\n\n\tprivate readonly _listener: () => void;\n\tprivate _mediaQueryList: MediaQueryList | null;\n\n\tconstructor(targetWindow: Window) {\n\t\tsuper();\n\n\t\tthis._listener = () => this._handleChange(targetWindow, true);\n\t\tthis._mediaQueryList = null;\n\t\tthis._handleChange(targetWindow, false);\n\n\t\tthis._register(toDisposable(() => this._mediaQueryList?.removeEventListener('change', this._listener)));\n\t}\n\n\tprivate _handleChange(targetWindow: Window, fireEvent: boolean): void {\n\t\tthis._mediaQueryList?.removeEventListener('change', this._listener);\n\n\t\tthis._mediaQueryList = targetWindow.matchMedia(`(resolution: ${targetWindow.devicePixelRatio}dppx)`);\n\t\tthis._mediaQueryList.addEventListener('change', this._listener);\n\n\t\tif (fireEvent) {\n\t\t\tthis._onDidChange.fire();\n\t\t}\n\t}\n}\n\nexport interface IPixelRatioMonitor {\n\treadonly value: number;\n\treadonly onDidChange: Event<number>;\n}\n\nclass PixelRatioMonitorImpl extends Disposable implements IPixelRatioMonitor {\n\n\tprivate readonly _onDidChange = this._register(new Emitter<number>());\n\treadonly onDidChange = this._onDidChange.event;\n\n\tprivate _value: number;\n\n\tget value(): number {\n\t\treturn this._value;\n\t}\n\n\tconstructor(targetWindow: Window) {\n\t\tsuper();\n\n\t\tthis._value = this._getPixelRatio(targetWindow);\n\n\t\tconst dprMonitor = this._register(new DevicePixelRatioMonitor(targetWindow));\n\t\tthis._register(dprMonitor.onDidChange(() => {\n\t\t\tthis._value = this._getPixelRatio(targetWindow);\n\t\t\tthis._onDidChange.fire(this._value);\n\t\t}));\n\t}\n\n\tprivate _getPixelRatio(targetWindow: Window): number {\n\t\tconst ctx = document.createElement('canvas').getContext('2d') as BackingStoreContext | null;\n\t\tconst dpr = targetWindow.devicePixelRatio || 1;\n\t\tconst bsr = ctx?.webkitBackingStorePixelRatio ||\n\t\t\tctx?.mozBackingStorePixelRatio ||\n\t\t\tctx?.msBackingStorePixelRatio ||\n\t\t\tctx?.oBackingStorePixelRatio ||\n\t\t\tctx?.backingStorePixelRatio || 1;\n\t\treturn dpr / bsr;\n\t}\n}\n\nclass PixelRatioMonitorFacade {\n\n\tprivate readonly mapWindowIdToPixelRatioMonitor = new Map<number, PixelRatioMonitorImpl>();\n\n\tprivate _getOrCreatePixelRatioMonitor(targetWindow: Window): PixelRatioMonitorImpl {\n\t\tconst targetWindowId = getWindowId(targetWindow);\n\t\tlet pixelRatioMonitor = this.mapWindowIdToPixelRatioMonitor.get(targetWindowId);\n\t\tif (!pixelRatioMonitor) {\n\t\t\tpixelRatioMonitor = markAsSingleton(new PixelRatioMonitorImpl(targetWindow));\n\t\t\tthis.mapWindowIdToPixelRatioMonitor.set(targetWindowId, pixelRatioMonitor);\n\n\t\t\tmarkAsSingleton(Event.once(onDidUnregisterWindow)(({ vscodeWindowId }) => {\n\t\t\t\tif (vscodeWindowId === targetWindowId) {\n\t\t\t\t\tpixelRatioMonitor?.dispose();\n\t\t\t\t\tthis.mapWindowIdToPixelRatioMonitor.delete(targetWindowId);\n\t\t\t\t}\n\t\t\t}));\n\t\t}\n\t\treturn pixelRatioMonitor;\n\t}\n\n\tgetInstance(targetWindow: Window): IPixelRatioMonitor {\n\t\treturn this._getOrCreatePixelRatioMonitor(targetWindow);\n\t}\n}\n\n/**\n * Returns the pixel ratio.\n *\n * This is useful for rendering <canvas> elements at native screen resolution or for being used as\n * a cache key when storing font measurements. Fonts might render differently depending on resolution\n * and any measurements need to be discarded for example when a window is moved from a monitor to another.\n */\nexport const PixelRatio = new PixelRatioMonitorFacade();\n","/*---------------------------------------------------------------------------------------------\n * Copyright (c) Microsoft Corporation. All rights reserved.\n * Licensed under the MIT License. See License.txt in the project root for license information.\n *--------------------------------------------------------------------------------------------*/\n\nimport { getWindowId, onDidUnregisterWindow } from './dom.js';\nimport { Emitter, Event } from '../common/event.js';\nimport { Disposable, markAsSingleton, toDisposable } from '../common/lifecycle.js';\n\ntype BackingStoreContext = CanvasRenderingContext2D & {\n\twebkitBackingStorePixelRatio?: number;\n\tmozBackingStorePixelRatio?: number;\n\tmsBackingStorePixelRatio?: number;\n\toBackingStorePixelRatio?: number;\n\tbackingStorePixelRatio?: number;\n};\n\n/**\n * See https://developer.mozilla.org/en-US/docs/Web/API/Window/devicePixelRatio#monitoring_screen_resolution_or_zoom_level_changes\n */\nclass DevicePixelRatioMonitor extends Disposable {\n\n\tprivate readonly _onDidChange = this._register(new Emitter<void>());\n\treadonly onDidChange = this._onDidChange.event;\n\n\tprivate readonly _listener: () => void;\n\tprivate _mediaQueryList: MediaQueryList | null;\n\n\tconstructor(targetWindow: Window) {\n\t\tsuper();\n\n\t\tthis._listener = () => this._handleChange(targetWindow, true);\n\t\tthis._mediaQueryList = null;\n\t\tthis._handleChange(targetWindow, false);\n\n\t\tthis._register(toDisposable(() => this._mediaQueryList?.removeEventListener('change', this._listener)));\n\t}\n\n\tprivate _handleChange(targetWindow: Window, fireEvent: boolean): void {\n\t\tthis._mediaQueryList?.removeEventListener('change', this._listener);\n\n\t\tthis._mediaQueryList = targetWindow.matchMedia(`(resolution: ${targetWindow.devicePixelRatio}dppx)`);\n\t\tthis._mediaQueryList.addEventListener('change', this._listener);\n\n\t\tif (fireEvent) {\n\t\t\tthis._onDidChange.fire();\n\t\t}\n\t}\n}\n\nexport interface IPixelRatioMonitor {\n\treadonly value: number;\n\treadonly onDidChange: Event<number>;\n}\n\nclass PixelRatioMonitorImpl extends Disposable implements IPixelRatioMonitor {\n\n\tprivate readonly _onDidChange = this._register(new Emitter<number>());\n\treadonly onDidChange = this._onDidChange.event;\n\n\tprivate _value: number;\n\n\tget value(): number {\n\t\treturn this._value;\n\t}\n\n\tconstructor(targetWindow: Window) {\n\t\tsuper();\n\n\t\tthis._value = this._getPixelRatio(targetWindow);\n\n\t\tconst dprMonitor = this._register(new DevicePixelRatioMonitor(targetWindow));\n\t\tthis._register(dprMonitor.onDidChange(() => {\n\t\t\tthis._value = this._getPixelRatio(targetWindow);\n\t\t\tthis._onDidChange.fire(this._value);\n\t\t}));\n\t}\n\n\tprivate _getPixelRatio(targetWindow: Window): number {\n\t\tconst ctx = document.createElement('canvas').getContext('2d') as BackingStoreContext | null;\n\t\tconst dpr = targetWindow.devicePixelRatio || 1;\n\t\tconst bsr = ctx?.webkitBackingStorePixelRatio ||\n\t\t\tctx?.mozBackingStorePixelRatio ||\n\t\t\tctx?.msBackingStorePixelRatio ||\n\t\t\tctx?.oBackingStorePixelRatio ||\n\t\t\tctx?.backingStorePixelRatio || 1;\n\t\treturn dpr / bsr;\n\t}\n}\n\nclass PixelRatioMonitorFacade {\n\n\tprivate readonly mapWindowIdToPixelRatioMonitor = new Map<number, PixelRatioMonitorImpl>();\n\n\tprivate _getOrCreatePixelRatioMonitor(targetWindow: Window): PixelRatioMonitorImpl {\n\t\tconst targetWindowId = getWindowId(targetWindow);\n\t\tlet pixelRatioMonitor = this.mapWindowIdToPixelRatioMonitor.get(targetWindowId);\n\t\tif (!pixelRatioMonitor) {\n\t\t\tpixelRatioMonitor = markAsSingleton(new PixelRatioMonitorImpl(targetWindow));\n\t\t\tthis.mapWindowIdToPixelRatioMonitor.set(targetWindowId, pixelRatioMonitor);\n\n\t\t\tmarkAsSingleton(Event.once(onDidUnregisterWindow)(({ vscodeWindowId }) => {\n\t\t\t\tif (vscodeWindowId === targetWindowId) {\n\t\t\t\t\tpixelRatioMonitor?.dispose();\n\t\t\t\t\tthis.mapWindowIdToPixelRatioMonitor.delete(targetWindowId);\n\t\t\t\t}\n\t\t\t}));\n\t\t}\n\t\treturn pixelRatioMonitor;\n\t}\n\n\tgetInstance(targetWindow: Window): IPixelRatioMonitor {\n\t\treturn this._getOrCreatePixelRatioMonitor(targetWindow);\n\t}\n}\n\n/**\n * Returns the pixel ratio.\n *\n * This is useful for rendering <canvas> elements at native screen resolution or for being used as\n * a cache key when storing font measurements. Fonts might render differently depending on resolution\n * and any measurements need to be discarded for example when a window is moved from a monitor to another.\n */\nexport const PixelRatio = new PixelRatioMonitorFacade();\n"]}
@@ -329,13 +329,13 @@ export class ActionViewItem extends BaseActionViewItem {
329
329
  this.label.setAttribute('aria-selected', this.action.checked ? 'true' : 'false');
330
330
  }
331
331
  else {
332
- this.label.setAttribute('aria-checked', this.action.checked ? 'true' : 'false');
333
- this.label.setAttribute('role', 'checkbox');
332
+ this.label.setAttribute('aria-pressed', this.action.checked ? 'true' : 'false');
333
+ this.label.setAttribute('role', 'button');
334
334
  }
335
335
  }
336
336
  else {
337
337
  this.label.classList.remove('checked');
338
- this.label.removeAttribute(this.options.isTabList ? 'aria-selected' : 'aria-checked');
338
+ this.label.removeAttribute(this.options.isTabList ? 'aria-selected' : 'aria-pressed');
339
339
  this.label.setAttribute('role', this.getDefaultAriaRole());
340
340
  }
341
341
  }
@@ -1 +1 @@
1
- {"version":3,"sources":["vs/base/browser/ui/actionbar/actionViewItems.ts"],"names":[],"mappings":"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","file":"actionViewItems.js","sourceRoot":"file:///mnt/vss/_work/1/s/dependencies/vscode/out-editor-src","sourcesContent":["/*---------------------------------------------------------------------------------------------\n * Copyright (c) Microsoft Corporation. All rights reserved.\n * Licensed under the MIT License. See License.txt in the project root for license information.\n *--------------------------------------------------------------------------------------------*/\n\nimport { isFirefox } from '../../browser.js';\nimport { DataTransfers } from '../../dnd.js';\nimport { addDisposableListener, EventHelper, EventLike, EventType } from '../../dom.js';\nimport { EventType as TouchEventType, Gesture } from '../../touch.js';\nimport { IActionViewItem } from './actionbar.js';\nimport { IContextViewProvider } from '../contextview/contextview.js';\nimport { getDefaultHoverDelegate } from '../hover/hoverDelegateFactory.js';\nimport { IHoverDelegate } from '../hover/hoverDelegate.js';\nimport { ISelectBoxOptions, ISelectBoxStyles, ISelectOptionItem, SelectBox } from '../selectBox/selectBox.js';\nimport { IToggleStyles } from '../toggle/toggle.js';\nimport { Action, ActionRunner, IAction, IActionChangeEvent, IActionRunner, Separator } from '../../../common/actions.js';\nimport { Disposable } from '../../../common/lifecycle.js';\nimport * as platform from '../../../common/platform.js';\nimport * as types from '../../../common/types.js';\nimport './actionbar.css';\nimport * as nls from '../../../../nls.js';\nimport { IManagedHover, IManagedHoverContent } from '../hover/hover.js';\nimport { getBaseLayerHoverDelegate } from '../hover/hoverDelegate2.js';\n\nexport interface IBaseActionViewItemOptions {\n\treadonly draggable?: boolean;\n\treadonly isMenu?: boolean;\n\treadonly isTabList?: boolean;\n\treadonly useEventAsContext?: boolean;\n\treadonly hoverDelegate?: IHoverDelegate;\n}\n\nexport class BaseActionViewItem extends Disposable implements IActionViewItem {\n\n\telement: HTMLElement | undefined;\n\n\t_context: unknown;\n\treadonly _action: IAction;\n\n\tprivate customHover?: IManagedHover;\n\n\tget action() {\n\t\treturn this._action;\n\t}\n\n\tprivate _actionRunner: IActionRunner | undefined;\n\n\tconstructor(\n\t\tcontext: unknown,\n\t\taction: IAction,\n\t\tprotected readonly options: IBaseActionViewItemOptions = {}\n\t) {\n\t\tsuper();\n\n\t\tthis._context = context || this;\n\t\tthis._action = action;\n\n\t\tif (action instanceof Action) {\n\t\t\tthis._register(action.onDidChange(event => {\n\t\t\t\tif (!this.element) {\n\t\t\t\t\t// we have not been rendered yet, so there\n\t\t\t\t\t// is no point in updating the UI\n\t\t\t\t\treturn;\n\t\t\t\t}\n\n\t\t\t\tthis.handleActionChangeEvent(event);\n\t\t\t}));\n\t\t}\n\t}\n\n\tprivate handleActionChangeEvent(event: IActionChangeEvent): void {\n\t\tif (event.enabled !== undefined) {\n\t\t\tthis.updateEnabled();\n\t\t}\n\n\t\tif (event.checked !== undefined) {\n\t\t\tthis.updateChecked();\n\t\t}\n\n\t\tif (event.class !== undefined) {\n\t\t\tthis.updateClass();\n\t\t}\n\n\t\tif (event.label !== undefined) {\n\t\t\tthis.updateLabel();\n\t\t\tthis.updateTooltip();\n\t\t}\n\n\t\tif (event.tooltip !== undefined) {\n\t\t\tthis.updateTooltip();\n\t\t}\n\t}\n\n\tget actionRunner(): IActionRunner {\n\t\tif (!this._actionRunner) {\n\t\t\tthis._actionRunner = this._register(new ActionRunner());\n\t\t}\n\n\t\treturn this._actionRunner;\n\t}\n\n\tset actionRunner(actionRunner: IActionRunner) {\n\t\tthis._actionRunner = actionRunner;\n\t}\n\n\tisEnabled(): boolean {\n\t\treturn this._action.enabled;\n\t}\n\n\tsetActionContext(newContext: unknown): void {\n\t\tthis._context = newContext;\n\t}\n\n\trender(container: HTMLElement): void {\n\t\tconst element = this.element = container;\n\t\tthis._register(Gesture.addTarget(container));\n\n\t\tconst enableDragging = this.options && this.options.draggable;\n\t\tif (enableDragging) {\n\t\t\tcontainer.draggable = true;\n\n\t\t\tif (isFirefox) {\n\t\t\t\t// Firefox: requires to set a text data transfer to get going\n\t\t\t\tthis._register(addDisposableListener(container, EventType.DRAG_START, e => e.dataTransfer?.setData(DataTransfers.TEXT, this._action.label)));\n\t\t\t}\n\t\t}\n\n\t\tthis._register(addDisposableListener(element, TouchEventType.Tap, e => this.onClick(e, true))); // Preserve focus on tap #125470\n\n\t\tthis._register(addDisposableListener(element, EventType.MOUSE_DOWN, e => {\n\t\t\tif (!enableDragging) {\n\t\t\t\tEventHelper.stop(e, true); // do not run when dragging is on because that would disable it\n\t\t\t}\n\n\t\t\tif (this._action.enabled && e.button === 0) {\n\t\t\t\telement.classList.add('active');\n\t\t\t}\n\t\t}));\n\n\t\tif (platform.isMacintosh) {\n\t\t\t// macOS: allow to trigger the button when holding Ctrl+key and pressing the\n\t\t\t// main mouse button. This is for scenarios where e.g. some interaction forces\n\t\t\t// the Ctrl+key to be pressed and hold but the user still wants to interact\n\t\t\t// with the actions (for example quick access in quick navigation mode).\n\t\t\tthis._register(addDisposableListener(element, EventType.CONTEXT_MENU, e => {\n\t\t\t\tif (e.button === 0 && e.ctrlKey === true) {\n\t\t\t\t\tthis.onClick(e);\n\t\t\t\t}\n\t\t\t}));\n\t\t}\n\n\t\tthis._register(addDisposableListener(element, EventType.CLICK, e => {\n\t\t\tEventHelper.stop(e, true);\n\n\t\t\t// menus do not use the click event\n\t\t\tif (!(this.options && this.options.isMenu)) {\n\t\t\t\tthis.onClick(e);\n\t\t\t}\n\t\t}));\n\n\t\tthis._register(addDisposableListener(element, EventType.DBLCLICK, e => {\n\t\t\tEventHelper.stop(e, true);\n\t\t}));\n\n\t\t[EventType.MOUSE_UP, EventType.MOUSE_OUT].forEach(event => {\n\t\t\tthis._register(addDisposableListener(element, event, e => {\n\t\t\t\tEventHelper.stop(e);\n\t\t\t\telement.classList.remove('active');\n\t\t\t}));\n\t\t});\n\t}\n\n\tonClick(event: EventLike, preserveFocus = false): void {\n\t\tEventHelper.stop(event, true);\n\n\t\tconst context = types.isUndefinedOrNull(this._context) ? this.options?.useEventAsContext ? event : { preserveFocus } : this._context;\n\t\tthis.actionRunner.run(this._action, context);\n\t}\n\n\t// Only set the tabIndex on the element once it is about to get focused\n\t// That way this element wont be a tab stop when it is not needed #106441\n\tfocus(): void {\n\t\tif (this.element) {\n\t\t\tthis.element.tabIndex = 0;\n\t\t\tthis.element.focus();\n\t\t\tthis.element.classList.add('focused');\n\t\t}\n\t}\n\n\tblur(): void {\n\t\tif (this.element) {\n\t\t\tthis.element.blur();\n\t\t\tthis.element.tabIndex = -1;\n\t\t\tthis.element.classList.remove('focused');\n\t\t}\n\t}\n\n\tsetFocusable(focusable: boolean): void {\n\t\tif (this.element) {\n\t\t\tthis.element.tabIndex = focusable ? 0 : -1;\n\t\t}\n\t}\n\n\tget trapsArrowNavigation(): boolean {\n\t\treturn false;\n\t}\n\n\tprotected updateEnabled(): void {\n\t\t// implement in subclass\n\t}\n\n\tprotected updateLabel(): void {\n\t\t// implement in subclass\n\t}\n\n\tprotected getClass(): string | undefined {\n\t\treturn this.action.class;\n\t}\n\n\tprotected getTooltip(): string | undefined {\n\t\treturn this.action.tooltip;\n\t}\n\n\tprotected getHoverContents(): IManagedHoverContent | undefined {\n\t\treturn this.getTooltip();\n\t}\n\n\tprotected updateTooltip(): void {\n\t\tif (!this.element) {\n\t\t\treturn;\n\t\t}\n\t\tconst title = this.getHoverContents() ?? '';\n\t\tthis.updateAriaLabel();\n\n\t\tif (!this.customHover && title !== '') {\n\t\t\tconst hoverDelegate = this.options.hoverDelegate ?? getDefaultHoverDelegate('element');\n\t\t\tthis.customHover = this._store.add(getBaseLayerHoverDelegate().setupManagedHover(hoverDelegate, this.element, title));\n\t\t} else if (this.customHover) {\n\t\t\tthis.customHover.update(title);\n\t\t}\n\t}\n\n\tprotected updateAriaLabel(): void {\n\t\tif (this.element) {\n\t\t\tconst title = this.getTooltip() ?? '';\n\t\t\tthis.element.setAttribute('aria-label', title);\n\t\t}\n\t}\n\n\tprotected updateClass(): void {\n\t\t// implement in subclass\n\t}\n\n\tprotected updateChecked(): void {\n\t\t// implement in subclass\n\t}\n\n\toverride dispose(): void {\n\t\tif (this.element) {\n\t\t\tthis.element.remove();\n\t\t\tthis.element = undefined;\n\t\t}\n\t\tthis._context = undefined;\n\t\tsuper.dispose();\n\t}\n}\n\nexport interface IActionViewItemOptions extends IBaseActionViewItemOptions {\n\ticon?: boolean;\n\tlabel?: boolean;\n\treadonly keybinding?: string | null;\n\treadonly keybindingNotRenderedWithLabel?: boolean;\n\treadonly toggleStyles?: IToggleStyles;\n}\n\nexport class ActionViewItem extends BaseActionViewItem {\n\n\tprotected label: HTMLElement | undefined;\n\tprotected override readonly options: IActionViewItemOptions;\n\n\tprivate cssClass?: string;\n\n\tconstructor(context: unknown, action: IAction, options: IActionViewItemOptions) {\n\t\toptions = {\n\t\t\t...options,\n\t\t\ticon: options.icon !== undefined ? options.icon : false,\n\t\t\tlabel: options.label !== undefined ? options.label : true,\n\t\t};\n\t\tsuper(context, action, options);\n\n\t\tthis.options = options;\n\t\tthis.cssClass = '';\n\t}\n\n\toverride render(container: HTMLElement): void {\n\t\tsuper.render(container);\n\t\ttypes.assertType(this.element);\n\n\t\tconst label = document.createElement('a');\n\t\tlabel.classList.add('action-label');\n\t\tlabel.setAttribute('role', this.getDefaultAriaRole());\n\n\t\tthis.label = label;\n\t\tthis.element.appendChild(label);\n\n\t\tif (this.options.label && this.options.keybinding && !this.options.keybindingNotRenderedWithLabel) {\n\t\t\tconst kbLabel = document.createElement('span');\n\t\t\tkbLabel.classList.add('keybinding');\n\t\t\tkbLabel.textContent = this.options.keybinding;\n\t\t\tthis.element.appendChild(kbLabel);\n\t\t}\n\n\t\tthis.updateClass();\n\t\tthis.updateLabel();\n\t\tthis.updateTooltip();\n\t\tthis.updateEnabled();\n\t\tthis.updateChecked();\n\t}\n\n\tprivate getDefaultAriaRole(): 'presentation' | 'menuitem' | 'tab' | 'button' {\n\t\tif (this._action.id === Separator.ID) {\n\t\t\treturn 'presentation'; // A separator is a presentation item\n\t\t} else {\n\t\t\tif (this.options.isMenu) {\n\t\t\t\treturn 'menuitem';\n\t\t\t} else if (this.options.isTabList) {\n\t\t\t\treturn 'tab';\n\t\t\t} else {\n\t\t\t\treturn 'button';\n\t\t\t}\n\t\t}\n\t}\n\n\t// Only set the tabIndex on the element once it is about to get focused\n\t// That way this element wont be a tab stop when it is not needed #106441\n\toverride focus(): void {\n\t\tif (this.label) {\n\t\t\tthis.label.tabIndex = 0;\n\t\t\tthis.label.focus();\n\t\t}\n\t}\n\n\toverride blur(): void {\n\t\tif (this.label) {\n\t\t\tthis.label.tabIndex = -1;\n\t\t}\n\t}\n\n\toverride setFocusable(focusable: boolean): void {\n\t\tif (this.label) {\n\t\t\tthis.label.tabIndex = focusable ? 0 : -1;\n\t\t}\n\t}\n\n\tprotected override updateLabel(): void {\n\t\tif (this.options.label && this.label) {\n\t\t\tthis.label.textContent = this.action.label;\n\t\t}\n\t}\n\n\tprotected override getTooltip() {\n\t\tlet title: string | null = null;\n\n\t\tif (this.action.tooltip) {\n\t\t\ttitle = this.action.tooltip;\n\n\t\t} else if (this.action.label) {\n\t\t\ttitle = this.action.label;\n\t\t\tif (this.options.keybinding) {\n\t\t\t\ttitle = nls.localize({ key: 'titleLabel', comment: ['action title', 'action keybinding'] }, \"{0} ({1})\", title, this.options.keybinding);\n\t\t\t}\n\t\t}\n\t\treturn title ?? undefined;\n\t}\n\n\tprotected override updateClass(): void {\n\t\tif (this.cssClass && this.label) {\n\t\t\tthis.label.classList.remove(...this.cssClass.split(' '));\n\t\t}\n\t\tif (this.action.id === Separator.ID && this.action.class) {\n\t\t\tthis.label?.classList.add(this.action.class);\n\n\t\t} else if (this.options.icon) {\n\t\t\tthis.cssClass = this.getClass();\n\n\t\t\tif (this.label) {\n\t\t\t\tthis.label.classList.add('codicon');\n\t\t\t\tif (this.cssClass) {\n\t\t\t\t\tthis.label.classList.add(...this.cssClass.split(' '));\n\t\t\t\t}\n\t\t\t}\n\n\t\t\tthis.updateEnabled();\n\t\t} else {\n\t\t\tthis.label?.classList.remove('codicon');\n\t\t}\n\t}\n\n\tprotected override updateEnabled(): void {\n\t\tif (this.action.enabled) {\n\t\t\tif (this.label) {\n\t\t\t\tthis.label.removeAttribute('aria-disabled');\n\t\t\t\tthis.label.classList.remove('disabled');\n\t\t\t}\n\n\t\t\tthis.element?.classList.remove('disabled');\n\t\t} else {\n\t\t\tif (this.label) {\n\t\t\t\tthis.label.setAttribute('aria-disabled', 'true');\n\t\t\t\tthis.label.classList.add('disabled');\n\t\t\t}\n\n\t\t\tthis.element?.classList.add('disabled');\n\t\t}\n\t}\n\n\tprotected override updateAriaLabel(): void {\n\t\tif (this.label) {\n\t\t\tconst title = this.getTooltip() ?? '';\n\t\t\tthis.label.setAttribute('aria-label', title);\n\t\t}\n\t}\n\n\tprotected override updateChecked(): void {\n\t\tif (this.label) {\n\t\t\tif (this.action.checked !== undefined) {\n\t\t\t\tthis.label.classList.toggle('checked', this.action.checked);\n\t\t\t\tif (this.options.isTabList) {\n\t\t\t\t\tthis.label.setAttribute('aria-selected', this.action.checked ? 'true' : 'false');\n\t\t\t\t} else {\n\t\t\t\t\tthis.label.setAttribute('aria-checked', this.action.checked ? 'true' : 'false');\n\t\t\t\t\tthis.label.setAttribute('role', 'checkbox');\n\t\t\t\t}\n\t\t\t} else {\n\t\t\t\tthis.label.classList.remove('checked');\n\t\t\t\tthis.label.removeAttribute(this.options.isTabList ? 'aria-selected' : 'aria-checked');\n\t\t\t\tthis.label.setAttribute('role', this.getDefaultAriaRole());\n\t\t\t}\n\t\t}\n\t}\n}\n\nexport class SelectActionViewItem<T = string> extends BaseActionViewItem {\n\tprotected selectBox: SelectBox;\n\n\tconstructor(ctx: unknown, action: IAction, options: ISelectOptionItem[], selected: number, contextViewProvider: IContextViewProvider, styles: ISelectBoxStyles, selectBoxOptions?: ISelectBoxOptions) {\n\t\tsuper(ctx, action);\n\n\t\tthis.selectBox = new SelectBox(options, selected, contextViewProvider, styles, selectBoxOptions);\n\t\tthis.selectBox.setFocusable(false);\n\n\t\tthis._register(this.selectBox);\n\t\tthis.registerListeners();\n\t}\n\n\tselect(index: number): void {\n\t\tthis.selectBox.select(index);\n\t}\n\n\tprivate registerListeners(): void {\n\t\tthis._register(this.selectBox.onDidSelect(e => this.runAction(e.selected, e.index)));\n\t}\n\n\tprotected runAction(option: string, index: number): void {\n\t\tthis.actionRunner.run(this._action, this.getActionContext(option, index));\n\t}\n\n\tprotected getActionContext(option: string, index: number): T | string {\n\t\treturn option;\n\t}\n\n\toverride setFocusable(focusable: boolean): void {\n\t\tthis.selectBox.setFocusable(focusable);\n\t}\n\n\toverride focus(): void {\n\t\tthis.selectBox?.focus();\n\t}\n\n\toverride blur(): void {\n\t\tthis.selectBox?.blur();\n\t}\n\n\toverride render(container: HTMLElement): void {\n\t\tthis.selectBox.render(container);\n\t}\n}\n"]}
1
+ {"version":3,"sources":["vs/base/browser/ui/actionbar/actionViewItems.ts"],"names":[],"mappings":"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","file":"actionViewItems.js","sourceRoot":"file:///mnt/vss/_work/1/s/dependencies/vscode/out-editor-src","sourcesContent":["/*---------------------------------------------------------------------------------------------\n * Copyright (c) Microsoft Corporation. All rights reserved.\n * Licensed under the MIT License. See License.txt in the project root for license information.\n *--------------------------------------------------------------------------------------------*/\n\nimport { isFirefox } from '../../browser.js';\nimport { DataTransfers } from '../../dnd.js';\nimport { addDisposableListener, EventHelper, EventLike, EventType } from '../../dom.js';\nimport { EventType as TouchEventType, Gesture } from '../../touch.js';\nimport { IActionViewItem } from './actionbar.js';\nimport { IContextViewProvider } from '../contextview/contextview.js';\nimport { getDefaultHoverDelegate } from '../hover/hoverDelegateFactory.js';\nimport { IHoverDelegate } from '../hover/hoverDelegate.js';\nimport { ISelectBoxOptions, ISelectBoxStyles, ISelectOptionItem, SelectBox } from '../selectBox/selectBox.js';\nimport { IToggleStyles } from '../toggle/toggle.js';\nimport { Action, ActionRunner, IAction, IActionChangeEvent, IActionRunner, Separator } from '../../../common/actions.js';\nimport { Disposable } from '../../../common/lifecycle.js';\nimport * as platform from '../../../common/platform.js';\nimport * as types from '../../../common/types.js';\nimport './actionbar.css';\nimport * as nls from '../../../../nls.js';\nimport { IManagedHover, IManagedHoverContent } from '../hover/hover.js';\nimport { getBaseLayerHoverDelegate } from '../hover/hoverDelegate2.js';\n\nexport interface IBaseActionViewItemOptions {\n\treadonly draggable?: boolean;\n\treadonly isMenu?: boolean;\n\treadonly isTabList?: boolean;\n\treadonly useEventAsContext?: boolean;\n\treadonly hoverDelegate?: IHoverDelegate;\n}\n\nexport class BaseActionViewItem extends Disposable implements IActionViewItem {\n\n\telement: HTMLElement | undefined;\n\n\t_context: unknown;\n\treadonly _action: IAction;\n\n\tprivate customHover?: IManagedHover;\n\n\tget action() {\n\t\treturn this._action;\n\t}\n\n\tprivate _actionRunner: IActionRunner | undefined;\n\n\tconstructor(\n\t\tcontext: unknown,\n\t\taction: IAction,\n\t\tprotected readonly options: IBaseActionViewItemOptions = {}\n\t) {\n\t\tsuper();\n\n\t\tthis._context = context || this;\n\t\tthis._action = action;\n\n\t\tif (action instanceof Action) {\n\t\t\tthis._register(action.onDidChange(event => {\n\t\t\t\tif (!this.element) {\n\t\t\t\t\t// we have not been rendered yet, so there\n\t\t\t\t\t// is no point in updating the UI\n\t\t\t\t\treturn;\n\t\t\t\t}\n\n\t\t\t\tthis.handleActionChangeEvent(event);\n\t\t\t}));\n\t\t}\n\t}\n\n\tprivate handleActionChangeEvent(event: IActionChangeEvent): void {\n\t\tif (event.enabled !== undefined) {\n\t\t\tthis.updateEnabled();\n\t\t}\n\n\t\tif (event.checked !== undefined) {\n\t\t\tthis.updateChecked();\n\t\t}\n\n\t\tif (event.class !== undefined) {\n\t\t\tthis.updateClass();\n\t\t}\n\n\t\tif (event.label !== undefined) {\n\t\t\tthis.updateLabel();\n\t\t\tthis.updateTooltip();\n\t\t}\n\n\t\tif (event.tooltip !== undefined) {\n\t\t\tthis.updateTooltip();\n\t\t}\n\t}\n\n\tget actionRunner(): IActionRunner {\n\t\tif (!this._actionRunner) {\n\t\t\tthis._actionRunner = this._register(new ActionRunner());\n\t\t}\n\n\t\treturn this._actionRunner;\n\t}\n\n\tset actionRunner(actionRunner: IActionRunner) {\n\t\tthis._actionRunner = actionRunner;\n\t}\n\n\tisEnabled(): boolean {\n\t\treturn this._action.enabled;\n\t}\n\n\tsetActionContext(newContext: unknown): void {\n\t\tthis._context = newContext;\n\t}\n\n\trender(container: HTMLElement): void {\n\t\tconst element = this.element = container;\n\t\tthis._register(Gesture.addTarget(container));\n\n\t\tconst enableDragging = this.options && this.options.draggable;\n\t\tif (enableDragging) {\n\t\t\tcontainer.draggable = true;\n\n\t\t\tif (isFirefox) {\n\t\t\t\t// Firefox: requires to set a text data transfer to get going\n\t\t\t\tthis._register(addDisposableListener(container, EventType.DRAG_START, e => e.dataTransfer?.setData(DataTransfers.TEXT, this._action.label)));\n\t\t\t}\n\t\t}\n\n\t\tthis._register(addDisposableListener(element, TouchEventType.Tap, e => this.onClick(e, true))); // Preserve focus on tap #125470\n\n\t\tthis._register(addDisposableListener(element, EventType.MOUSE_DOWN, e => {\n\t\t\tif (!enableDragging) {\n\t\t\t\tEventHelper.stop(e, true); // do not run when dragging is on because that would disable it\n\t\t\t}\n\n\t\t\tif (this._action.enabled && e.button === 0) {\n\t\t\t\telement.classList.add('active');\n\t\t\t}\n\t\t}));\n\n\t\tif (platform.isMacintosh) {\n\t\t\t// macOS: allow to trigger the button when holding Ctrl+key and pressing the\n\t\t\t// main mouse button. This is for scenarios where e.g. some interaction forces\n\t\t\t// the Ctrl+key to be pressed and hold but the user still wants to interact\n\t\t\t// with the actions (for example quick access in quick navigation mode).\n\t\t\tthis._register(addDisposableListener(element, EventType.CONTEXT_MENU, e => {\n\t\t\t\tif (e.button === 0 && e.ctrlKey === true) {\n\t\t\t\t\tthis.onClick(e);\n\t\t\t\t}\n\t\t\t}));\n\t\t}\n\n\t\tthis._register(addDisposableListener(element, EventType.CLICK, e => {\n\t\t\tEventHelper.stop(e, true);\n\n\t\t\t// menus do not use the click event\n\t\t\tif (!(this.options && this.options.isMenu)) {\n\t\t\t\tthis.onClick(e);\n\t\t\t}\n\t\t}));\n\n\t\tthis._register(addDisposableListener(element, EventType.DBLCLICK, e => {\n\t\t\tEventHelper.stop(e, true);\n\t\t}));\n\n\t\t[EventType.MOUSE_UP, EventType.MOUSE_OUT].forEach(event => {\n\t\t\tthis._register(addDisposableListener(element, event, e => {\n\t\t\t\tEventHelper.stop(e);\n\t\t\t\telement.classList.remove('active');\n\t\t\t}));\n\t\t});\n\t}\n\n\tonClick(event: EventLike, preserveFocus = false): void {\n\t\tEventHelper.stop(event, true);\n\n\t\tconst context = types.isUndefinedOrNull(this._context) ? this.options?.useEventAsContext ? event : { preserveFocus } : this._context;\n\t\tthis.actionRunner.run(this._action, context);\n\t}\n\n\t// Only set the tabIndex on the element once it is about to get focused\n\t// That way this element wont be a tab stop when it is not needed #106441\n\tfocus(): void {\n\t\tif (this.element) {\n\t\t\tthis.element.tabIndex = 0;\n\t\t\tthis.element.focus();\n\t\t\tthis.element.classList.add('focused');\n\t\t}\n\t}\n\n\tblur(): void {\n\t\tif (this.element) {\n\t\t\tthis.element.blur();\n\t\t\tthis.element.tabIndex = -1;\n\t\t\tthis.element.classList.remove('focused');\n\t\t}\n\t}\n\n\tsetFocusable(focusable: boolean): void {\n\t\tif (this.element) {\n\t\t\tthis.element.tabIndex = focusable ? 0 : -1;\n\t\t}\n\t}\n\n\tget trapsArrowNavigation(): boolean {\n\t\treturn false;\n\t}\n\n\tprotected updateEnabled(): void {\n\t\t// implement in subclass\n\t}\n\n\tprotected updateLabel(): void {\n\t\t// implement in subclass\n\t}\n\n\tprotected getClass(): string | undefined {\n\t\treturn this.action.class;\n\t}\n\n\tprotected getTooltip(): string | undefined {\n\t\treturn this.action.tooltip;\n\t}\n\n\tprotected getHoverContents(): IManagedHoverContent | undefined {\n\t\treturn this.getTooltip();\n\t}\n\n\tprotected updateTooltip(): void {\n\t\tif (!this.element) {\n\t\t\treturn;\n\t\t}\n\t\tconst title = this.getHoverContents() ?? '';\n\t\tthis.updateAriaLabel();\n\n\t\tif (!this.customHover && title !== '') {\n\t\t\tconst hoverDelegate = this.options.hoverDelegate ?? getDefaultHoverDelegate('element');\n\t\t\tthis.customHover = this._store.add(getBaseLayerHoverDelegate().setupManagedHover(hoverDelegate, this.element, title));\n\t\t} else if (this.customHover) {\n\t\t\tthis.customHover.update(title);\n\t\t}\n\t}\n\n\tprotected updateAriaLabel(): void {\n\t\tif (this.element) {\n\t\t\tconst title = this.getTooltip() ?? '';\n\t\t\tthis.element.setAttribute('aria-label', title);\n\t\t}\n\t}\n\n\tprotected updateClass(): void {\n\t\t// implement in subclass\n\t}\n\n\tprotected updateChecked(): void {\n\t\t// implement in subclass\n\t}\n\n\toverride dispose(): void {\n\t\tif (this.element) {\n\t\t\tthis.element.remove();\n\t\t\tthis.element = undefined;\n\t\t}\n\t\tthis._context = undefined;\n\t\tsuper.dispose();\n\t}\n}\n\nexport interface IActionViewItemOptions extends IBaseActionViewItemOptions {\n\ticon?: boolean;\n\tlabel?: boolean;\n\treadonly keybinding?: string | null;\n\treadonly keybindingNotRenderedWithLabel?: boolean;\n\treadonly toggleStyles?: IToggleStyles;\n}\n\nexport class ActionViewItem extends BaseActionViewItem {\n\n\tprotected label: HTMLElement | undefined;\n\tprotected override readonly options: IActionViewItemOptions;\n\n\tprivate cssClass?: string;\n\n\tconstructor(context: unknown, action: IAction, options: IActionViewItemOptions) {\n\t\toptions = {\n\t\t\t...options,\n\t\t\ticon: options.icon !== undefined ? options.icon : false,\n\t\t\tlabel: options.label !== undefined ? options.label : true,\n\t\t};\n\t\tsuper(context, action, options);\n\n\t\tthis.options = options;\n\t\tthis.cssClass = '';\n\t}\n\n\toverride render(container: HTMLElement): void {\n\t\tsuper.render(container);\n\t\ttypes.assertType(this.element);\n\n\t\tconst label = document.createElement('a');\n\t\tlabel.classList.add('action-label');\n\t\tlabel.setAttribute('role', this.getDefaultAriaRole());\n\n\t\tthis.label = label;\n\t\tthis.element.appendChild(label);\n\n\t\tif (this.options.label && this.options.keybinding && !this.options.keybindingNotRenderedWithLabel) {\n\t\t\tconst kbLabel = document.createElement('span');\n\t\t\tkbLabel.classList.add('keybinding');\n\t\t\tkbLabel.textContent = this.options.keybinding;\n\t\t\tthis.element.appendChild(kbLabel);\n\t\t}\n\n\t\tthis.updateClass();\n\t\tthis.updateLabel();\n\t\tthis.updateTooltip();\n\t\tthis.updateEnabled();\n\t\tthis.updateChecked();\n\t}\n\n\tprivate getDefaultAriaRole(): 'presentation' | 'menuitem' | 'tab' | 'button' {\n\t\tif (this._action.id === Separator.ID) {\n\t\t\treturn 'presentation'; // A separator is a presentation item\n\t\t} else {\n\t\t\tif (this.options.isMenu) {\n\t\t\t\treturn 'menuitem';\n\t\t\t} else if (this.options.isTabList) {\n\t\t\t\treturn 'tab';\n\t\t\t} else {\n\t\t\t\treturn 'button';\n\t\t\t}\n\t\t}\n\t}\n\n\t// Only set the tabIndex on the element once it is about to get focused\n\t// That way this element wont be a tab stop when it is not needed #106441\n\toverride focus(): void {\n\t\tif (this.label) {\n\t\t\tthis.label.tabIndex = 0;\n\t\t\tthis.label.focus();\n\t\t}\n\t}\n\n\toverride blur(): void {\n\t\tif (this.label) {\n\t\t\tthis.label.tabIndex = -1;\n\t\t}\n\t}\n\n\toverride setFocusable(focusable: boolean): void {\n\t\tif (this.label) {\n\t\t\tthis.label.tabIndex = focusable ? 0 : -1;\n\t\t}\n\t}\n\n\tprotected override updateLabel(): void {\n\t\tif (this.options.label && this.label) {\n\t\t\tthis.label.textContent = this.action.label;\n\t\t}\n\t}\n\n\tprotected override getTooltip() {\n\t\tlet title: string | null = null;\n\n\t\tif (this.action.tooltip) {\n\t\t\ttitle = this.action.tooltip;\n\n\t\t} else if (this.action.label) {\n\t\t\ttitle = this.action.label;\n\t\t\tif (this.options.keybinding) {\n\t\t\t\ttitle = nls.localize({ key: 'titleLabel', comment: ['action title', 'action keybinding'] }, \"{0} ({1})\", title, this.options.keybinding);\n\t\t\t}\n\t\t}\n\t\treturn title ?? undefined;\n\t}\n\n\tprotected override updateClass(): void {\n\t\tif (this.cssClass && this.label) {\n\t\t\tthis.label.classList.remove(...this.cssClass.split(' '));\n\t\t}\n\t\tif (this.action.id === Separator.ID && this.action.class) {\n\t\t\tthis.label?.classList.add(this.action.class);\n\n\t\t} else if (this.options.icon) {\n\t\t\tthis.cssClass = this.getClass();\n\n\t\t\tif (this.label) {\n\t\t\t\tthis.label.classList.add('codicon');\n\t\t\t\tif (this.cssClass) {\n\t\t\t\t\tthis.label.classList.add(...this.cssClass.split(' '));\n\t\t\t\t}\n\t\t\t}\n\n\t\t\tthis.updateEnabled();\n\t\t} else {\n\t\t\tthis.label?.classList.remove('codicon');\n\t\t}\n\t}\n\n\tprotected override updateEnabled(): void {\n\t\tif (this.action.enabled) {\n\t\t\tif (this.label) {\n\t\t\t\tthis.label.removeAttribute('aria-disabled');\n\t\t\t\tthis.label.classList.remove('disabled');\n\t\t\t}\n\n\t\t\tthis.element?.classList.remove('disabled');\n\t\t} else {\n\t\t\tif (this.label) {\n\t\t\t\tthis.label.setAttribute('aria-disabled', 'true');\n\t\t\t\tthis.label.classList.add('disabled');\n\t\t\t}\n\n\t\t\tthis.element?.classList.add('disabled');\n\t\t}\n\t}\n\n\tprotected override updateAriaLabel(): void {\n\t\tif (this.label) {\n\t\t\tconst title = this.getTooltip() ?? '';\n\t\t\tthis.label.setAttribute('aria-label', title);\n\t\t}\n\t}\n\n\tprotected override updateChecked(): void {\n\t\tif (this.label) {\n\t\t\tif (this.action.checked !== undefined) {\n\t\t\t\tthis.label.classList.toggle('checked', this.action.checked);\n\t\t\t\tif (this.options.isTabList) {\n\t\t\t\t\tthis.label.setAttribute('aria-selected', this.action.checked ? 'true' : 'false');\n\t\t\t\t} else {\n\t\t\t\t\tthis.label.setAttribute('aria-pressed', this.action.checked ? 'true' : 'false');\n\t\t\t\t\tthis.label.setAttribute('role', 'button');\n\t\t\t\t}\n\t\t\t} else {\n\t\t\t\tthis.label.classList.remove('checked');\n\t\t\t\tthis.label.removeAttribute(this.options.isTabList ? 'aria-selected' : 'aria-pressed');\n\t\t\t\tthis.label.setAttribute('role', this.getDefaultAriaRole());\n\t\t\t}\n\t\t}\n\t}\n}\n\nexport class SelectActionViewItem<T = string> extends BaseActionViewItem {\n\tprotected selectBox: SelectBox;\n\n\tconstructor(ctx: unknown, action: IAction, options: ISelectOptionItem[], selected: number, contextViewProvider: IContextViewProvider, styles: ISelectBoxStyles, selectBoxOptions?: ISelectBoxOptions) {\n\t\tsuper(ctx, action);\n\n\t\tthis.selectBox = new SelectBox(options, selected, contextViewProvider, styles, selectBoxOptions);\n\t\tthis.selectBox.setFocusable(false);\n\n\t\tthis._register(this.selectBox);\n\t\tthis.registerListeners();\n\t}\n\n\tselect(index: number): void {\n\t\tthis.selectBox.select(index);\n\t}\n\n\tprivate registerListeners(): void {\n\t\tthis._register(this.selectBox.onDidSelect(e => this.runAction(e.selected, e.index)));\n\t}\n\n\tprotected runAction(option: string, index: number): void {\n\t\tthis.actionRunner.run(this._action, this.getActionContext(option, index));\n\t}\n\n\tprotected getActionContext(option: string, index: number): T | string {\n\t\treturn option;\n\t}\n\n\toverride setFocusable(focusable: boolean): void {\n\t\tthis.selectBox.setFocusable(focusable);\n\t}\n\n\toverride focus(): void {\n\t\tthis.selectBox?.focus();\n\t}\n\n\toverride blur(): void {\n\t\tthis.selectBox?.blur();\n\t}\n\n\toverride render(container: HTMLElement): void {\n\t\tthis.selectBox.render(container);\n\t}\n}\n"]}
@@ -102,7 +102,8 @@ let TextAreaInput = class TextAreaInput extends Disposable {
102
102
  }
103
103
  this._register(Event.runAndSubscribe(this._accessibilityService.onDidChangeScreenReaderOptimized, () => {
104
104
  if (this._accessibilityService.isScreenReaderOptimized() && !this._asyncFocusGainWriteScreenReaderContent.value) {
105
- this._asyncFocusGainWriteScreenReaderContent.value = this._register(new RunOnceScheduler(() => this.writeNativeTextAreaContent('asyncFocusGain'), 0));
105
+ // Don't use this._register() here - the MutableDisposable already handles cleanup
106
+ this._asyncFocusGainWriteScreenReaderContent.value = new RunOnceScheduler(() => this.writeNativeTextAreaContent('asyncFocusGain'), 0);
106
107
  }
107
108
  else {
108
109
  this._asyncFocusGainWriteScreenReaderContent.clear();