{"version":3,"file":"static/js/2682_810d1431e7ed7749a2d8.js","mappings":"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","sources":["file:////home/runner/work/platform/platform/common/temp/node_modules/.pnpm/monaco-editor@0.50.0/node_modules/monaco-editor/esm/vs/nls.js","file:////home/runner/work/platform/platform/common/temp/node_modules/.pnpm/monaco-editor@0.50.0/node_modules/monaco-editor/esm/vs/platform/accessibility/browser/accessibilityService.js","file:////home/runner/work/platform/platform/common/temp/node_modules/.pnpm/monaco-editor@0.50.0/node_modules/monaco-editor/esm/vs/platform/accessibility/browser/accessibleViewRegistry.js","file:////home/runner/work/platform/platform/common/temp/node_modules/.pnpm/monaco-editor@0.50.0/node_modules/monaco-editor/esm/vs/platform/accessibility/common/accessibility.js","file:////home/runner/work/platform/platform/common/temp/node_modules/.pnpm/monaco-editor@0.50.0/node_modules/monaco-editor/esm/vs/platform/accessibilitySignal/browser/accessibilitySignalService.js","file:////home/runner/work/platform/platform/common/temp/node_modules/.pnpm/monaco-editor@0.50.0/node_modules/monaco-editor/esm/vs/platform/action/common/action.js","file:////home/runner/work/platform/platform/common/temp/node_modules/.pnpm/monaco-editor@0.50.0/node_modules/monaco-editor/esm/vs/platform/action/common/actionCommonCategories.js","file:////home/runner/work/platform/platform/common/temp/node_modules/.pnpm/monaco-editor@0.50.0/node_modules/monaco-editor/esm/vs/platform/actionWidget/browser/actionList.js","file:////home/runner/work/platform/platform/common/temp/node_modules/.pnpm/monaco-editor@0.50.0/node_modules/monaco-editor/esm/vs/platform/actionWidget/browser/actionWidget.js","file:////home/runner/work/platform/platform/common/temp/node_modules/.pnpm/monaco-editor@0.50.0/node_modules/monaco-editor/esm/vs/platform/actions/browser/menuEntryActionViewItem.js","file:////home/runner/work/platform/platform/common/temp/node_modules/.pnpm/monaco-editor@0.50.0/node_modules/monaco-editor/esm/vs/platform/actions/browser/toolbar.js","file:////home/runner/work/platform/platform/common/temp/node_modules/.pnpm/monaco-editor@0.50.0/node_modules/monaco-editor/esm/vs/platform/actions/common/actions.js","file:////home/runner/work/platform/platform/common/temp/node_modules/.pnpm/monaco-editor@0.50.0/node_modules/monaco-editor/esm/vs/platform/actions/common/menuService.js"],"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 *--------------------------------------------------------------------------------------------*/\nlet isPseudo = (typeof document !== 'undefined' && document.location && document.location.hash.indexOf('pseudo=true') >= 0);\nconst DEFAULT_TAG = 'i-default';\nfunction _format(message, args) {\n let result;\n if (args.length === 0) {\n result = message;\n }\n else {\n result = message.replace(/\\{(\\d+)\\}/g, (match, rest) => {\n const index = rest[0];\n const arg = args[index];\n let result = match;\n if (typeof arg === 'string') {\n result = arg;\n }\n else if (typeof arg === 'number' || typeof arg === 'boolean' || arg === void 0 || arg === null) {\n result = String(arg);\n }\n return result;\n });\n }\n if (isPseudo) {\n // FF3B and FF3D is the Unicode zenkaku representation for [ and ]\n result = '\\uFF3B' + result.replace(/[aouei]/g, '$&$&') + '\\uFF3D';\n }\n return result;\n}\nfunction findLanguageForModule(config, name) {\n let result = config[name];\n if (result) {\n return result;\n }\n result = config['*'];\n if (result) {\n return result;\n }\n return null;\n}\nfunction endWithSlash(path) {\n if (path.charAt(path.length - 1) === '/') {\n return path;\n }\n return path + '/';\n}\nasync function getMessagesFromTranslationsService(translationServiceUrl, language, name) {\n const url = endWithSlash(translationServiceUrl) + endWithSlash(language) + 'vscode/' + endWithSlash(name);\n const res = await fetch(url);\n if (res.ok) {\n const messages = await res.json();\n return messages;\n }\n throw new Error(`${res.status} - ${res.statusText}`);\n}\nfunction createScopedLocalize(scope) {\n return function (idx, defaultValue) {\n const restArgs = Array.prototype.slice.call(arguments, 2);\n return _format(scope[idx], restArgs);\n };\n}\nfunction createScopedLocalize2(scope) {\n return (idx, defaultValue, ...args) => ({\n value: _format(scope[idx], args),\n original: _format(defaultValue, args)\n });\n}\n/**\n * @skipMangle\n */\nexport function localize(data, message, ...args) {\n return _format(message, args);\n}\n/**\n * @skipMangle\n */\nexport function localize2(data, message, ...args) {\n const original = _format(message, args);\n return {\n value: original,\n original\n };\n}\n/**\n * @skipMangle\n */\nexport function getConfiguredDefaultLocale(_) {\n // This returns undefined because this implementation isn't used and is overwritten by the loader\n // when loaded.\n return undefined;\n}\n/**\n * @skipMangle\n */\nexport function setPseudoTranslation(value) {\n isPseudo = value;\n}\n/**\n * Invoked in a built product at run-time\n * @skipMangle\n */\nexport function create(key, data) {\n var _a;\n return {\n localize: createScopedLocalize(data[key]),\n localize2: createScopedLocalize2(data[key]),\n getConfiguredDefaultLocale: (_a = data.getConfiguredDefaultLocale) !== null && _a !== void 0 ? _a : ((_) => undefined)\n };\n}\n/**\n * Invoked by the loader at run-time\n * @skipMangle\n */\nexport function load(name, req, load, config) {\n var _a;\n const pluginConfig = (_a = config['vs/nls']) !== null && _a !== void 0 ? _a : {};\n if (!name || name.length === 0) {\n // TODO: We need to give back the mangled names here\n return load({\n localize: localize,\n localize2: localize2,\n getConfiguredDefaultLocale: () => { var _a; return (_a = pluginConfig.availableLanguages) === null || _a === void 0 ? void 0 : _a['*']; }\n });\n }\n const language = pluginConfig.availableLanguages ? findLanguageForModule(pluginConfig.availableLanguages, name) : null;\n const useDefaultLanguage = language === null || language === DEFAULT_TAG;\n let suffix = '.nls';\n if (!useDefaultLanguage) {\n suffix = suffix + '.' + language;\n }\n const messagesLoaded = (messages) => {\n if (Array.isArray(messages)) {\n messages.localize = createScopedLocalize(messages);\n messages.localize2 = createScopedLocalize2(messages);\n }\n else {\n messages.localize = createScopedLocalize(messages[name]);\n messages.localize2 = createScopedLocalize2(messages[name]);\n }\n messages.getConfiguredDefaultLocale = () => { var _a; return (_a = pluginConfig.availableLanguages) === null || _a === void 0 ? void 0 : _a['*']; };\n load(messages);\n };\n if (typeof pluginConfig.loadBundle === 'function') {\n pluginConfig.loadBundle(name, language, (err, messages) => {\n // We have an error. Load the English default strings to not fail\n if (err) {\n req([name + '.nls'], messagesLoaded);\n }\n else {\n messagesLoaded(messages);\n }\n });\n }\n else if (pluginConfig.translationServiceUrl && !useDefaultLanguage) {\n (async () => {\n var _a;\n try {\n const messages = await getMessagesFromTranslationsService(pluginConfig.translationServiceUrl, language, name);\n return messagesLoaded(messages);\n }\n catch (err) {\n // Language is already as generic as it gets, so require default messages\n if (!language.includes('-')) {\n console.error(err);\n return req([name + '.nls'], messagesLoaded);\n }\n try {\n // Since there is a dash, the language configured is a specific sub-language of the same generic language.\n // Since we were unable to load the specific language, try to load the generic language. Ex. we failed to find a\n // Swiss German (de-CH), so try to load the generic German (de) messages instead.\n const genericLanguage = language.split('-')[0];\n const messages = await getMessagesFromTranslationsService(pluginConfig.translationServiceUrl, genericLanguage, name);\n // We got some messages, so we configure the configuration to use the generic language for this session.\n (_a = pluginConfig.availableLanguages) !== null && _a !== void 0 ? _a : (pluginConfig.availableLanguages = {});\n pluginConfig.availableLanguages['*'] = genericLanguage;\n return messagesLoaded(messages);\n }\n catch (err) {\n console.error(err);\n return req([name + '.nls'], messagesLoaded);\n }\n }\n })();\n }\n else {\n req([name + suffix], messagesLoaded, (err) => {\n if (suffix === '.nls') {\n console.error('Failed trying to load default language strings', err);\n return;\n }\n console.error(`Failed to load message bundle for language ${language}. Falling back to the default language:`, err);\n req([name + '.nls'], messagesLoaded);\n });\n }\n}\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 *--------------------------------------------------------------------------------------------*/\nvar __decorate = (this && this.__decorate) || function (decorators, target, key, desc) {\n var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;\n if (typeof Reflect === \"object\" && typeof Reflect.decorate === \"function\") r = Reflect.decorate(decorators, target, key, desc);\n else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r;\n return c > 3 && r && Object.defineProperty(target, key, r), r;\n};\nvar __param = (this && this.__param) || function (paramIndex, decorator) {\n return function (target, key) { decorator(target, key, paramIndex); }\n};\nimport { addDisposableListener } from '../../../base/browser/dom.js';\nimport { mainWindow } from '../../../base/browser/window.js';\nimport { Emitter } from '../../../base/common/event.js';\nimport { Disposable } from '../../../base/common/lifecycle.js';\nimport { CONTEXT_ACCESSIBILITY_MODE_ENABLED } from '../common/accessibility.js';\nimport { IConfigurationService } from '../../configuration/common/configuration.js';\nimport { IContextKeyService } from '../../contextkey/common/contextkey.js';\nimport { ILayoutService } from '../../layout/browser/layoutService.js';\nlet AccessibilityService = class AccessibilityService extends Disposable {\n constructor(_contextKeyService, _layoutService, _configurationService) {\n super();\n this._contextKeyService = _contextKeyService;\n this._layoutService = _layoutService;\n this._configurationService = _configurationService;\n this._accessibilitySupport = 0 /* AccessibilitySupport.Unknown */;\n this._onDidChangeScreenReaderOptimized = new Emitter();\n this._onDidChangeReducedMotion = new Emitter();\n this._accessibilityModeEnabledContext = CONTEXT_ACCESSIBILITY_MODE_ENABLED.bindTo(this._contextKeyService);\n const updateContextKey = () => this._accessibilityModeEnabledContext.set(this.isScreenReaderOptimized());\n this._register(this._configurationService.onDidChangeConfiguration(e => {\n if (e.affectsConfiguration('editor.accessibilitySupport')) {\n updateContextKey();\n this._onDidChangeScreenReaderOptimized.fire();\n }\n if (e.affectsConfiguration('workbench.reduceMotion')) {\n this._configMotionReduced = this._configurationService.getValue('workbench.reduceMotion');\n this._onDidChangeReducedMotion.fire();\n }\n }));\n updateContextKey();\n this._register(this.onDidChangeScreenReaderOptimized(() => updateContextKey()));\n const reduceMotionMatcher = mainWindow.matchMedia(`(prefers-reduced-motion: reduce)`);\n this._systemMotionReduced = reduceMotionMatcher.matches;\n this._configMotionReduced = this._configurationService.getValue('workbench.reduceMotion');\n this.initReducedMotionListeners(reduceMotionMatcher);\n }\n initReducedMotionListeners(reduceMotionMatcher) {\n this._register(addDisposableListener(reduceMotionMatcher, 'change', () => {\n this._systemMotionReduced = reduceMotionMatcher.matches;\n if (this._configMotionReduced === 'auto') {\n this._onDidChangeReducedMotion.fire();\n }\n }));\n const updateRootClasses = () => {\n const reduce = this.isMotionReduced();\n this._layoutService.mainContainer.classList.toggle('reduce-motion', reduce);\n this._layoutService.mainContainer.classList.toggle('enable-motion', !reduce);\n };\n updateRootClasses();\n this._register(this.onDidChangeReducedMotion(() => updateRootClasses()));\n }\n get onDidChangeScreenReaderOptimized() {\n return this._onDidChangeScreenReaderOptimized.event;\n }\n isScreenReaderOptimized() {\n const config = this._configurationService.getValue('editor.accessibilitySupport');\n return config === 'on' || (config === 'auto' && this._accessibilitySupport === 2 /* AccessibilitySupport.Enabled */);\n }\n get onDidChangeReducedMotion() {\n return this._onDidChangeReducedMotion.event;\n }\n isMotionReduced() {\n const config = this._configMotionReduced;\n return config === 'on' || (config === 'auto' && this._systemMotionReduced);\n }\n getAccessibilitySupport() {\n return this._accessibilitySupport;\n }\n};\nAccessibilityService = __decorate([\n __param(0, IContextKeyService),\n __param(1, ILayoutService),\n __param(2, IConfigurationService)\n], AccessibilityService);\nexport { AccessibilityService };\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 *--------------------------------------------------------------------------------------------*/\nexport const AccessibleViewRegistry = new class AccessibleViewRegistry {\n constructor() {\n this._implementations = [];\n }\n register(implementation) {\n this._implementations.push(implementation);\n return {\n dispose: () => {\n const idx = this._implementations.indexOf(implementation);\n if (idx !== -1) {\n this._implementations.splice(idx, 1);\n }\n implementation.dispose();\n }\n };\n }\n getImplementations() {\n return this._implementations;\n }\n};\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 *--------------------------------------------------------------------------------------------*/\nimport { RawContextKey } from '../../contextkey/common/contextkey.js';\nimport { createDecorator } from '../../instantiation/common/instantiation.js';\nexport const IAccessibilityService = createDecorator('accessibilityService');\nexport const CONTEXT_ACCESSIBILITY_MODE_ENABLED = new RawContextKey('accessibilityModeEnabled', false);\n","import { localize } from '../../../nls.js';\nimport { createDecorator } from '../../instantiation/common/instantiation.js';\nexport const IAccessibilitySignalService = createDecorator('accessibilitySignalService');\n/** Make sure you understand the doc comments of the method you want to call when using this token! */\nexport const AcknowledgeDocCommentsToken = Symbol('AcknowledgeDocCommentsToken');\n/**\n * Corresponds to the audio files in ./media.\n*/\nexport class Sound {\n static register(options) {\n const sound = new Sound(options.fileName);\n return sound;\n }\n constructor(fileName) {\n this.fileName = fileName;\n }\n}\nSound.error = Sound.register({ fileName: 'error.mp3' });\nSound.warning = Sound.register({ fileName: 'warning.mp3' });\nSound.success = Sound.register({ fileName: 'success.mp3' });\nSound.foldedArea = Sound.register({ fileName: 'foldedAreas.mp3' });\nSound.break = Sound.register({ fileName: 'break.mp3' });\nSound.quickFixes = Sound.register({ fileName: 'quickFixes.mp3' });\nSound.taskCompleted = Sound.register({ fileName: 'taskCompleted.mp3' });\nSound.taskFailed = Sound.register({ fileName: 'taskFailed.mp3' });\nSound.terminalBell = Sound.register({ fileName: 'terminalBell.mp3' });\nSound.diffLineInserted = Sound.register({ fileName: 'diffLineInserted.mp3' });\nSound.diffLineDeleted = Sound.register({ fileName: 'diffLineDeleted.mp3' });\nSound.diffLineModified = Sound.register({ fileName: 'diffLineModified.mp3' });\nSound.chatRequestSent = Sound.register({ fileName: 'chatRequestSent.mp3' });\nSound.chatResponseReceived1 = Sound.register({ fileName: 'chatResponseReceived1.mp3' });\nSound.chatResponseReceived2 = Sound.register({ fileName: 'chatResponseReceived2.mp3' });\nSound.chatResponseReceived3 = Sound.register({ fileName: 'chatResponseReceived3.mp3' });\nSound.chatResponseReceived4 = Sound.register({ fileName: 'chatResponseReceived4.mp3' });\nSound.clear = Sound.register({ fileName: 'clear.mp3' });\nSound.save = Sound.register({ fileName: 'save.mp3' });\nSound.format = Sound.register({ fileName: 'format.mp3' });\nSound.voiceRecordingStarted = Sound.register({ fileName: 'voiceRecordingStarted.mp3' });\nSound.voiceRecordingStopped = Sound.register({ fileName: 'voiceRecordingStopped.mp3' });\nSound.progress = Sound.register({ fileName: 'progress.mp3' });\nexport class SoundSource {\n constructor(randomOneOf) {\n this.randomOneOf = randomOneOf;\n }\n}\nexport class AccessibilitySignal {\n constructor(sound, name, legacySoundSettingsKey, settingsKey, legacyAnnouncementSettingsKey, announcementMessage, delaySettingsKey) {\n this.sound = sound;\n this.name = name;\n this.legacySoundSettingsKey = legacySoundSettingsKey;\n this.settingsKey = settingsKey;\n this.legacyAnnouncementSettingsKey = legacyAnnouncementSettingsKey;\n this.announcementMessage = announcementMessage;\n this.delaySettingsKey = delaySettingsKey;\n }\n static register(options) {\n const soundSource = new SoundSource('randomOneOf' in options.sound ? options.sound.randomOneOf : [options.sound]);\n const signal = new AccessibilitySignal(soundSource, options.name, options.legacySoundSettingsKey, options.settingsKey, options.legacyAnnouncementSettingsKey, options.announcementMessage, options.delaySettingsKey);\n AccessibilitySignal._signals.add(signal);\n return signal;\n }\n}\nAccessibilitySignal._signals = new Set();\nAccessibilitySignal.errorAtPosition = AccessibilitySignal.register({\n name: localize('accessibilitySignals.positionHasError.name', 'Error at Position'),\n sound: Sound.error,\n announcementMessage: localize('accessibility.signals.positionHasError', 'Error'),\n settingsKey: 'accessibility.signals.positionHasError',\n delaySettingsKey: 'accessibility.signalOptions.delays.errorAtPosition'\n});\nAccessibilitySignal.warningAtPosition = AccessibilitySignal.register({\n name: localize('accessibilitySignals.positionHasWarning.name', 'Warning at Position'),\n sound: Sound.warning,\n announcementMessage: localize('accessibility.signals.positionHasWarning', 'Warning'),\n settingsKey: 'accessibility.signals.positionHasWarning',\n delaySettingsKey: 'accessibility.signalOptions.delays.warningAtPosition'\n});\nAccessibilitySignal.errorOnLine = AccessibilitySignal.register({\n name: localize('accessibilitySignals.lineHasError.name', 'Error on Line'),\n sound: Sound.error,\n legacySoundSettingsKey: 'audioCues.lineHasError',\n legacyAnnouncementSettingsKey: 'accessibility.alert.error',\n announcementMessage: localize('accessibility.signals.lineHasError', 'Error on Line'),\n settingsKey: 'accessibility.signals.lineHasError',\n});\nAccessibilitySignal.warningOnLine = AccessibilitySignal.register({\n name: localize('accessibilitySignals.lineHasWarning.name', 'Warning on Line'),\n sound: Sound.warning,\n legacySoundSettingsKey: 'audioCues.lineHasWarning',\n legacyAnnouncementSettingsKey: 'accessibility.alert.warning',\n announcementMessage: localize('accessibility.signals.lineHasWarning', 'Warning on Line'),\n settingsKey: 'accessibility.signals.lineHasWarning',\n});\nAccessibilitySignal.foldedArea = AccessibilitySignal.register({\n name: localize('accessibilitySignals.lineHasFoldedArea.name', 'Folded Area on Line'),\n sound: Sound.foldedArea,\n legacySoundSettingsKey: 'audioCues.lineHasFoldedArea',\n legacyAnnouncementSettingsKey: 'accessibility.alert.foldedArea',\n announcementMessage: localize('accessibility.signals.lineHasFoldedArea', 'Folded'),\n settingsKey: 'accessibility.signals.lineHasFoldedArea',\n});\nAccessibilitySignal.break = AccessibilitySignal.register({\n name: localize('accessibilitySignals.lineHasBreakpoint.name', 'Breakpoint on Line'),\n sound: Sound.break,\n legacySoundSettingsKey: 'audioCues.lineHasBreakpoint',\n legacyAnnouncementSettingsKey: 'accessibility.alert.breakpoint',\n announcementMessage: localize('accessibility.signals.lineHasBreakpoint', 'Breakpoint'),\n settingsKey: 'accessibility.signals.lineHasBreakpoint',\n});\nAccessibilitySignal.inlineSuggestion = AccessibilitySignal.register({\n name: localize('accessibilitySignals.lineHasInlineSuggestion.name', 'Inline Suggestion on Line'),\n sound: Sound.quickFixes,\n legacySoundSettingsKey: 'audioCues.lineHasInlineSuggestion',\n settingsKey: 'accessibility.signals.lineHasInlineSuggestion',\n});\nAccessibilitySignal.terminalQuickFix = AccessibilitySignal.register({\n name: localize('accessibilitySignals.terminalQuickFix.name', 'Terminal Quick Fix'),\n sound: Sound.quickFixes,\n legacySoundSettingsKey: 'audioCues.terminalQuickFix',\n legacyAnnouncementSettingsKey: 'accessibility.alert.terminalQuickFix',\n announcementMessage: localize('accessibility.signals.terminalQuickFix', 'Quick Fix'),\n settingsKey: 'accessibility.signals.terminalQuickFix',\n});\nAccessibilitySignal.onDebugBreak = AccessibilitySignal.register({\n name: localize('accessibilitySignals.onDebugBreak.name', 'Debugger Stopped on Breakpoint'),\n sound: Sound.break,\n legacySoundSettingsKey: 'audioCues.onDebugBreak',\n legacyAnnouncementSettingsKey: 'accessibility.alert.onDebugBreak',\n announcementMessage: localize('accessibility.signals.onDebugBreak', 'Breakpoint'),\n settingsKey: 'accessibility.signals.onDebugBreak',\n});\nAccessibilitySignal.noInlayHints = AccessibilitySignal.register({\n name: localize('accessibilitySignals.noInlayHints', 'No Inlay Hints on Line'),\n sound: Sound.error,\n legacySoundSettingsKey: 'audioCues.noInlayHints',\n legacyAnnouncementSettingsKey: 'accessibility.alert.noInlayHints',\n announcementMessage: localize('accessibility.signals.noInlayHints', 'No Inlay Hints'),\n settingsKey: 'accessibility.signals.noInlayHints',\n});\nAccessibilitySignal.taskCompleted = AccessibilitySignal.register({\n name: localize('accessibilitySignals.taskCompleted', 'Task Completed'),\n sound: Sound.taskCompleted,\n legacySoundSettingsKey: 'audioCues.taskCompleted',\n legacyAnnouncementSettingsKey: 'accessibility.alert.taskCompleted',\n announcementMessage: localize('accessibility.signals.taskCompleted', 'Task Completed'),\n settingsKey: 'accessibility.signals.taskCompleted',\n});\nAccessibilitySignal.taskFailed = AccessibilitySignal.register({\n name: localize('accessibilitySignals.taskFailed', 'Task Failed'),\n sound: Sound.taskFailed,\n legacySoundSettingsKey: 'audioCues.taskFailed',\n legacyAnnouncementSettingsKey: 'accessibility.alert.taskFailed',\n announcementMessage: localize('accessibility.signals.taskFailed', 'Task Failed'),\n settingsKey: 'accessibility.signals.taskFailed',\n});\nAccessibilitySignal.terminalCommandFailed = AccessibilitySignal.register({\n name: localize('accessibilitySignals.terminalCommandFailed', 'Terminal Command Failed'),\n sound: Sound.error,\n legacySoundSettingsKey: 'audioCues.terminalCommandFailed',\n legacyAnnouncementSettingsKey: 'accessibility.alert.terminalCommandFailed',\n announcementMessage: localize('accessibility.signals.terminalCommandFailed', 'Command Failed'),\n settingsKey: 'accessibility.signals.terminalCommandFailed',\n});\nAccessibilitySignal.terminalCommandSucceeded = AccessibilitySignal.register({\n name: localize('accessibilitySignals.terminalCommandSucceeded', 'Terminal Command Succeeded'),\n sound: Sound.success,\n announcementMessage: localize('accessibility.signals.terminalCommandSucceeded', 'Command Succeeded'),\n settingsKey: 'accessibility.signals.terminalCommandSucceeded',\n});\nAccessibilitySignal.terminalBell = AccessibilitySignal.register({\n name: localize('accessibilitySignals.terminalBell', 'Terminal Bell'),\n sound: Sound.terminalBell,\n legacySoundSettingsKey: 'audioCues.terminalBell',\n legacyAnnouncementSettingsKey: 'accessibility.alert.terminalBell',\n announcementMessage: localize('accessibility.signals.terminalBell', 'Terminal Bell'),\n settingsKey: 'accessibility.signals.terminalBell',\n});\nAccessibilitySignal.notebookCellCompleted = AccessibilitySignal.register({\n name: localize('accessibilitySignals.notebookCellCompleted', 'Notebook Cell Completed'),\n sound: Sound.taskCompleted,\n legacySoundSettingsKey: 'audioCues.notebookCellCompleted',\n legacyAnnouncementSettingsKey: 'accessibility.alert.notebookCellCompleted',\n announcementMessage: localize('accessibility.signals.notebookCellCompleted', 'Notebook Cell Completed'),\n settingsKey: 'accessibility.signals.notebookCellCompleted',\n});\nAccessibilitySignal.notebookCellFailed = AccessibilitySignal.register({\n name: localize('accessibilitySignals.notebookCellFailed', 'Notebook Cell Failed'),\n sound: Sound.taskFailed,\n legacySoundSettingsKey: 'audioCues.notebookCellFailed',\n legacyAnnouncementSettingsKey: 'accessibility.alert.notebookCellFailed',\n announcementMessage: localize('accessibility.signals.notebookCellFailed', 'Notebook Cell Failed'),\n settingsKey: 'accessibility.signals.notebookCellFailed',\n});\nAccessibilitySignal.diffLineInserted = AccessibilitySignal.register({\n name: localize('accessibilitySignals.diffLineInserted', 'Diff Line Inserted'),\n sound: Sound.diffLineInserted,\n legacySoundSettingsKey: 'audioCues.diffLineInserted',\n settingsKey: 'accessibility.signals.diffLineInserted',\n});\nAccessibilitySignal.diffLineDeleted = AccessibilitySignal.register({\n name: localize('accessibilitySignals.diffLineDeleted', 'Diff Line Deleted'),\n sound: Sound.diffLineDeleted,\n legacySoundSettingsKey: 'audioCues.diffLineDeleted',\n settingsKey: 'accessibility.signals.diffLineDeleted',\n});\nAccessibilitySignal.diffLineModified = AccessibilitySignal.register({\n name: localize('accessibilitySignals.diffLineModified', 'Diff Line Modified'),\n sound: Sound.diffLineModified,\n legacySoundSettingsKey: 'audioCues.diffLineModified',\n settingsKey: 'accessibility.signals.diffLineModified',\n});\nAccessibilitySignal.chatRequestSent = AccessibilitySignal.register({\n name: localize('accessibilitySignals.chatRequestSent', 'Chat Request Sent'),\n sound: Sound.chatRequestSent,\n legacySoundSettingsKey: 'audioCues.chatRequestSent',\n legacyAnnouncementSettingsKey: 'accessibility.alert.chatRequestSent',\n announcementMessage: localize('accessibility.signals.chatRequestSent', 'Chat Request Sent'),\n settingsKey: 'accessibility.signals.chatRequestSent',\n});\nAccessibilitySignal.chatResponseReceived = AccessibilitySignal.register({\n name: localize('accessibilitySignals.chatResponseReceived', 'Chat Response Received'),\n legacySoundSettingsKey: 'audioCues.chatResponseReceived',\n sound: {\n randomOneOf: [\n Sound.chatResponseReceived1,\n Sound.chatResponseReceived2,\n Sound.chatResponseReceived3,\n Sound.chatResponseReceived4\n ]\n },\n settingsKey: 'accessibility.signals.chatResponseReceived'\n});\nAccessibilitySignal.progress = AccessibilitySignal.register({\n name: localize('accessibilitySignals.progress', 'Progress'),\n sound: Sound.progress,\n legacySoundSettingsKey: 'audioCues.chatResponsePending',\n legacyAnnouncementSettingsKey: 'accessibility.alert.progress',\n announcementMessage: localize('accessibility.signals.progress', 'Progress'),\n settingsKey: 'accessibility.signals.progress'\n});\nAccessibilitySignal.clear = AccessibilitySignal.register({\n name: localize('accessibilitySignals.clear', 'Clear'),\n sound: Sound.clear,\n legacySoundSettingsKey: 'audioCues.clear',\n legacyAnnouncementSettingsKey: 'accessibility.alert.clear',\n announcementMessage: localize('accessibility.signals.clear', 'Clear'),\n settingsKey: 'accessibility.signals.clear'\n});\nAccessibilitySignal.save = AccessibilitySignal.register({\n name: localize('accessibilitySignals.save', 'Save'),\n sound: Sound.save,\n legacySoundSettingsKey: 'audioCues.save',\n legacyAnnouncementSettingsKey: 'accessibility.alert.save',\n announcementMessage: localize('accessibility.signals.save', 'Save'),\n settingsKey: 'accessibility.signals.save'\n});\nAccessibilitySignal.format = AccessibilitySignal.register({\n name: localize('accessibilitySignals.format', 'Format'),\n sound: Sound.format,\n legacySoundSettingsKey: 'audioCues.format',\n legacyAnnouncementSettingsKey: 'accessibility.alert.format',\n announcementMessage: localize('accessibility.signals.format', 'Format'),\n settingsKey: 'accessibility.signals.format'\n});\nAccessibilitySignal.voiceRecordingStarted = AccessibilitySignal.register({\n name: localize('accessibilitySignals.voiceRecordingStarted', 'Voice Recording Started'),\n sound: Sound.voiceRecordingStarted,\n legacySoundSettingsKey: 'audioCues.voiceRecordingStarted',\n settingsKey: 'accessibility.signals.voiceRecordingStarted'\n});\nAccessibilitySignal.voiceRecordingStopped = AccessibilitySignal.register({\n name: localize('accessibilitySignals.voiceRecordingStopped', 'Voice Recording Stopped'),\n sound: Sound.voiceRecordingStopped,\n legacySoundSettingsKey: 'audioCues.voiceRecordingStopped',\n settingsKey: 'accessibility.signals.voiceRecordingStopped'\n});\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 *--------------------------------------------------------------------------------------------*/\nexport function isLocalizedString(thing) {\n return thing\n && typeof thing === 'object'\n && typeof thing.original === 'string'\n && typeof thing.value === 'string';\n}\nexport function isICommandActionToggleInfo(thing) {\n return thing ? thing.condition !== undefined : false;\n}\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 *--------------------------------------------------------------------------------------------*/\nimport { localize2 } from '../../../nls.js';\nexport const Categories = Object.freeze({\n View: localize2('view', 'View'),\n Help: localize2('help', 'Help'),\n Test: localize2('test', 'Test'),\n File: localize2('file', 'File'),\n Preferences: localize2('preferences', 'Preferences'),\n Developer: localize2({ key: 'developer', comment: ['A developer on Code itself or someone diagnosing issues in Code'] }, \"Developer\"),\n});\n","var __decorate = (this && this.__decorate) || function (decorators, target, key, desc) {\n var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;\n if (typeof Reflect === \"object\" && typeof Reflect.decorate === \"function\") r = Reflect.decorate(decorators, target, key, desc);\n else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r;\n return c > 3 && r && Object.defineProperty(target, key, r), r;\n};\nvar __param = (this && this.__param) || function (paramIndex, decorator) {\n return function (target, key) { decorator(target, key, paramIndex); }\n};\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 *--------------------------------------------------------------------------------------------*/\nimport * as dom from '../../../base/browser/dom.js';\nimport { KeybindingLabel } from '../../../base/browser/ui/keybindingLabel/keybindingLabel.js';\nimport { List } from '../../../base/browser/ui/list/listWidget.js';\nimport { CancellationTokenSource } from '../../../base/common/cancellation.js';\nimport { Codicon } from '../../../base/common/codicons.js';\nimport { Disposable } from '../../../base/common/lifecycle.js';\nimport { OS } from '../../../base/common/platform.js';\nimport { ThemeIcon } from '../../../base/common/themables.js';\nimport './actionWidget.css';\nimport { localize } from '../../../nls.js';\nimport { IContextViewService } from '../../contextview/browser/contextView.js';\nimport { IKeybindingService } from '../../keybinding/common/keybinding.js';\nimport { defaultListStyles } from '../../theme/browser/defaultStyles.js';\nimport { asCssVariable } from '../../theme/common/colorRegistry.js';\nexport const acceptSelectedActionCommand = 'acceptSelectedCodeAction';\nexport const previewSelectedActionCommand = 'previewSelectedCodeAction';\nclass HeaderRenderer {\n get templateId() { return \"header\" /* ActionListItemKind.Header */; }\n renderTemplate(container) {\n container.classList.add('group-header');\n const text = document.createElement('span');\n container.append(text);\n return { container, text };\n }\n renderElement(element, _index, templateData) {\n var _a, _b;\n templateData.text.textContent = (_b = (_a = element.group) === null || _a === void 0 ? void 0 : _a.title) !== null && _b !== void 0 ? _b : '';\n }\n disposeTemplate(_templateData) {\n // noop\n }\n}\nlet ActionItemRenderer = class ActionItemRenderer {\n get templateId() { return \"action\" /* ActionListItemKind.Action */; }\n constructor(_supportsPreview, _keybindingService) {\n this._supportsPreview = _supportsPreview;\n this._keybindingService = _keybindingService;\n }\n renderTemplate(container) {\n container.classList.add(this.templateId);\n const icon = document.createElement('div');\n icon.className = 'icon';\n container.append(icon);\n const text = document.createElement('span');\n text.className = 'title';\n container.append(text);\n const keybinding = new KeybindingLabel(container, OS);\n return { container, icon, text, keybinding };\n }\n renderElement(element, _index, data) {\n var _a, _b, _c;\n if ((_a = element.group) === null || _a === void 0 ? void 0 : _a.icon) {\n data.icon.className = ThemeIcon.asClassName(element.group.icon);\n if (element.group.icon.color) {\n data.icon.style.color = asCssVariable(element.group.icon.color.id);\n }\n }\n else {\n data.icon.className = ThemeIcon.asClassName(Codicon.lightBulb);\n data.icon.style.color = 'var(--vscode-editorLightBulb-foreground)';\n }\n if (!element.item || !element.label) {\n return;\n }\n data.text.textContent = stripNewlines(element.label);\n data.keybinding.set(element.keybinding);\n dom.setVisibility(!!element.keybinding, data.keybinding.element);\n const actionTitle = (_b = this._keybindingService.lookupKeybinding(acceptSelectedActionCommand)) === null || _b === void 0 ? void 0 : _b.getLabel();\n const previewTitle = (_c = this._keybindingService.lookupKeybinding(previewSelectedActionCommand)) === null || _c === void 0 ? void 0 : _c.getLabel();\n data.container.classList.toggle('option-disabled', element.disabled);\n if (element.disabled) {\n data.container.title = element.label;\n }\n else if (actionTitle && previewTitle) {\n if (this._supportsPreview && element.canPreview) {\n data.container.title = localize({ key: 'label-preview', comment: ['placeholders are keybindings, e.g \"F2 to Apply, Shift+F2 to Preview\"'] }, \"{0} to Apply, {1} to Preview\", actionTitle, previewTitle);\n }\n else {\n data.container.title = localize({ key: 'label', comment: ['placeholder is a keybinding, e.g \"F2 to Apply\"'] }, \"{0} to Apply\", actionTitle);\n }\n }\n else {\n data.container.title = '';\n }\n }\n disposeTemplate(_templateData) {\n _templateData.keybinding.dispose();\n }\n};\nActionItemRenderer = __decorate([\n __param(1, IKeybindingService)\n], ActionItemRenderer);\nclass AcceptSelectedEvent extends UIEvent {\n constructor() { super('acceptSelectedAction'); }\n}\nclass PreviewSelectedEvent extends UIEvent {\n constructor() { super('previewSelectedAction'); }\n}\nfunction getKeyboardNavigationLabel(item) {\n // Filter out header vs. action\n if (item.kind === 'action') {\n return item.label;\n }\n return undefined;\n}\nlet ActionList = class ActionList extends Disposable {\n constructor(user, preview, items, _delegate, _contextViewService, _keybindingService) {\n super();\n this._delegate = _delegate;\n this._contextViewService = _contextViewService;\n this._keybindingService = _keybindingService;\n this._actionLineHeight = 24;\n this._headerLineHeight = 26;\n this.cts = this._register(new CancellationTokenSource());\n this.domNode = document.createElement('div');\n this.domNode.classList.add('actionList');\n const virtualDelegate = {\n getHeight: element => element.kind === \"header\" /* ActionListItemKind.Header */ ? this._headerLineHeight : this._actionLineHeight,\n getTemplateId: element => element.kind\n };\n this._list = this._register(new List(user, this.domNode, virtualDelegate, [\n new ActionItemRenderer(preview, this._keybindingService),\n new HeaderRenderer(),\n ], {\n keyboardSupport: false,\n typeNavigationEnabled: true,\n keyboardNavigationLabelProvider: { getKeyboardNavigationLabel },\n accessibilityProvider: {\n getAriaLabel: element => {\n if (element.kind === \"action\" /* ActionListItemKind.Action */) {\n let label = element.label ? stripNewlines(element === null || element === void 0 ? void 0 : element.label) : '';\n if (element.disabled) {\n label = localize({ key: 'customQuickFixWidget.labels', comment: [`Action widget labels for accessibility.`] }, \"{0}, Disabled Reason: {1}\", label, element.disabled);\n }\n return label;\n }\n return null;\n },\n getWidgetAriaLabel: () => localize({ key: 'customQuickFixWidget', comment: [`An action widget option`] }, \"Action Widget\"),\n getRole: (e) => e.kind === \"action\" /* ActionListItemKind.Action */ ? 'option' : 'separator',\n getWidgetRole: () => 'listbox',\n },\n }));\n this._list.style(defaultListStyles);\n this._register(this._list.onMouseClick(e => this.onListClick(e)));\n this._register(this._list.onMouseOver(e => this.onListHover(e)));\n this._register(this._list.onDidChangeFocus(() => this.onFocus()));\n this._register(this._list.onDidChangeSelection(e => this.onListSelection(e)));\n this._allMenuItems = items;\n this._list.splice(0, this._list.length, this._allMenuItems);\n if (this._list.length) {\n this.focusNext();\n }\n }\n focusCondition(element) {\n return !element.disabled && element.kind === \"action\" /* ActionListItemKind.Action */;\n }\n hide(didCancel) {\n this._delegate.onHide(didCancel);\n this.cts.cancel();\n this._contextViewService.hideContextView();\n }\n layout(minWidth) {\n // Updating list height, depending on how many separators and headers there are.\n const numHeaders = this._allMenuItems.filter(item => item.kind === 'header').length;\n const itemsHeight = this._allMenuItems.length * this._actionLineHeight;\n const heightWithHeaders = itemsHeight + numHeaders * this._headerLineHeight - numHeaders * this._actionLineHeight;\n this._list.layout(heightWithHeaders);\n let maxWidth = minWidth;\n if (this._allMenuItems.length >= 50) {\n maxWidth = 380;\n }\n else {\n // For finding width dynamically (not using resize observer)\n const itemWidths = this._allMenuItems.map((_, index) => {\n const element = this.domNode.ownerDocument.getElementById(this._list.getElementID(index));\n if (element) {\n element.style.width = 'auto';\n const width = element.getBoundingClientRect().width;\n element.style.width = '';\n return width;\n }\n return 0;\n });\n // resize observer - can be used in the future since list widget supports dynamic height but not width\n maxWidth = Math.max(...itemWidths, minWidth);\n }\n const maxVhPrecentage = 0.7;\n const height = Math.min(heightWithHeaders, this.domNode.ownerDocument.body.clientHeight * maxVhPrecentage);\n this._list.layout(height, maxWidth);\n this.domNode.style.height = `${height}px`;\n this._list.domFocus();\n return maxWidth;\n }\n focusPrevious() {\n this._list.focusPrevious(1, true, undefined, this.focusCondition);\n }\n focusNext() {\n this._list.focusNext(1, true, undefined, this.focusCondition);\n }\n acceptSelected(preview) {\n const focused = this._list.getFocus();\n if (focused.length === 0) {\n return;\n }\n const focusIndex = focused[0];\n const element = this._list.element(focusIndex);\n if (!this.focusCondition(element)) {\n return;\n }\n const event = preview ? new PreviewSelectedEvent() : new AcceptSelectedEvent();\n this._list.setSelection([focusIndex], event);\n }\n onListSelection(e) {\n if (!e.elements.length) {\n return;\n }\n const element = e.elements[0];\n if (element.item && this.focusCondition(element)) {\n this._delegate.onSelect(element.item, e.browserEvent instanceof PreviewSelectedEvent);\n }\n else {\n this._list.setSelection([]);\n }\n }\n onFocus() {\n var _a, _b;\n const focused = this._list.getFocus();\n if (focused.length === 0) {\n return;\n }\n const focusIndex = focused[0];\n const element = this._list.element(focusIndex);\n (_b = (_a = this._delegate).onFocus) === null || _b === void 0 ? void 0 : _b.call(_a, element.item);\n }\n async onListHover(e) {\n const element = e.element;\n if (element && element.item && this.focusCondition(element)) {\n if (this._delegate.onHover && !element.disabled && element.kind === \"action\" /* ActionListItemKind.Action */) {\n const result = await this._delegate.onHover(element.item, this.cts.token);\n element.canPreview = result ? result.canPreview : undefined;\n }\n if (e.index) {\n this._list.splice(e.index, 1, [element]);\n }\n }\n this._list.setFocus(typeof e.index === 'number' ? [e.index] : []);\n }\n onListClick(e) {\n if (e.element && this.focusCondition(e.element)) {\n this._list.setFocus([]);\n }\n }\n};\nActionList = __decorate([\n __param(4, IContextViewService),\n __param(5, IKeybindingService)\n], ActionList);\nexport { ActionList };\nfunction stripNewlines(str) {\n return str.replace(/\\r\\n|\\r|\\n/g, ' ');\n}\n","var __decorate = (this && this.__decorate) || function (decorators, target, key, desc) {\n var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;\n if (typeof Reflect === \"object\" && typeof Reflect.decorate === \"function\") r = Reflect.decorate(decorators, target, key, desc);\n else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r;\n return c > 3 && r && Object.defineProperty(target, key, r), r;\n};\nvar __param = (this && this.__param) || function (paramIndex, decorator) {\n return function (target, key) { decorator(target, key, paramIndex); }\n};\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 *--------------------------------------------------------------------------------------------*/\nimport * as dom from '../../../base/browser/dom.js';\nimport { ActionBar } from '../../../base/browser/ui/actionbar/actionbar.js';\nimport { Disposable, DisposableStore, MutableDisposable } from '../../../base/common/lifecycle.js';\nimport './actionWidget.css';\nimport { localize, localize2 } from '../../../nls.js';\nimport { acceptSelectedActionCommand, ActionList, previewSelectedActionCommand } from './actionList.js';\nimport { Action2, registerAction2 } from '../../actions/common/actions.js';\nimport { IContextKeyService, RawContextKey } from '../../contextkey/common/contextkey.js';\nimport { IContextViewService } from '../../contextview/browser/contextView.js';\nimport { registerSingleton } from '../../instantiation/common/extensions.js';\nimport { createDecorator, IInstantiationService } from '../../instantiation/common/instantiation.js';\nimport { inputActiveOptionBackground, registerColor } from '../../theme/common/colorRegistry.js';\nregisterColor('actionBar.toggledBackground', { dark: inputActiveOptionBackground, light: inputActiveOptionBackground, hcDark: inputActiveOptionBackground, hcLight: inputActiveOptionBackground, }, localize('actionBar.toggledBackground', 'Background color for toggled action items in action bar.'));\nconst ActionWidgetContextKeys = {\n Visible: new RawContextKey('codeActionMenuVisible', false, localize('codeActionMenuVisible', \"Whether the action widget list is visible\"))\n};\nexport const IActionWidgetService = createDecorator('actionWidgetService');\nlet ActionWidgetService = class ActionWidgetService extends Disposable {\n get isVisible() {\n return ActionWidgetContextKeys.Visible.getValue(this._contextKeyService) || false;\n }\n constructor(_contextViewService, _contextKeyService, _instantiationService) {\n super();\n this._contextViewService = _contextViewService;\n this._contextKeyService = _contextKeyService;\n this._instantiationService = _instantiationService;\n this._list = this._register(new MutableDisposable());\n }\n show(user, supportsPreview, items, delegate, anchor, container, actionBarActions) {\n const visibleContext = ActionWidgetContextKeys.Visible.bindTo(this._contextKeyService);\n const list = this._instantiationService.createInstance(ActionList, user, supportsPreview, items, delegate);\n this._contextViewService.showContextView({\n getAnchor: () => anchor,\n render: (container) => {\n visibleContext.set(true);\n return this._renderWidget(container, list, actionBarActions !== null && actionBarActions !== void 0 ? actionBarActions : []);\n },\n onHide: (didCancel) => {\n visibleContext.reset();\n this._onWidgetClosed(didCancel);\n },\n }, container, false);\n }\n acceptSelected(preview) {\n var _a;\n (_a = this._list.value) === null || _a === void 0 ? void 0 : _a.acceptSelected(preview);\n }\n focusPrevious() {\n var _a, _b;\n (_b = (_a = this._list) === null || _a === void 0 ? void 0 : _a.value) === null || _b === void 0 ? void 0 : _b.focusPrevious();\n }\n focusNext() {\n var _a, _b;\n (_b = (_a = this._list) === null || _a === void 0 ? void 0 : _a.value) === null || _b === void 0 ? void 0 : _b.focusNext();\n }\n hide(didCancel) {\n var _a;\n (_a = this._list.value) === null || _a === void 0 ? void 0 : _a.hide(didCancel);\n this._list.clear();\n }\n _renderWidget(element, list, actionBarActions) {\n var _a;\n const widget = document.createElement('div');\n widget.classList.add('action-widget');\n element.appendChild(widget);\n this._list.value = list;\n if (this._list.value) {\n widget.appendChild(this._list.value.domNode);\n }\n else {\n throw new Error('List has no value');\n }\n const renderDisposables = new DisposableStore();\n // Invisible div to block mouse interaction in the rest of the UI\n const menuBlock = document.createElement('div');\n const block = element.appendChild(menuBlock);\n block.classList.add('context-view-block');\n renderDisposables.add(dom.addDisposableListener(block, dom.EventType.MOUSE_DOWN, e => e.stopPropagation()));\n // Invisible div to block mouse interaction with the menu\n const pointerBlockDiv = document.createElement('div');\n const pointerBlock = element.appendChild(pointerBlockDiv);\n pointerBlock.classList.add('context-view-pointerBlock');\n // Removes block on click INSIDE widget or ANY mouse movement\n renderDisposables.add(dom.addDisposableListener(pointerBlock, dom.EventType.POINTER_MOVE, () => pointerBlock.remove()));\n renderDisposables.add(dom.addDisposableListener(pointerBlock, dom.EventType.MOUSE_DOWN, () => pointerBlock.remove()));\n // Action bar\n let actionBarWidth = 0;\n if (actionBarActions.length) {\n const actionBar = this._createActionBar('.action-widget-action-bar', actionBarActions);\n if (actionBar) {\n widget.appendChild(actionBar.getContainer().parentElement);\n renderDisposables.add(actionBar);\n actionBarWidth = actionBar.getContainer().offsetWidth;\n }\n }\n const width = (_a = this._list.value) === null || _a === void 0 ? void 0 : _a.layout(actionBarWidth);\n widget.style.width = `${width}px`;\n const focusTracker = renderDisposables.add(dom.trackFocus(element));\n renderDisposables.add(focusTracker.onDidBlur(() => this.hide(true)));\n return renderDisposables;\n }\n _createActionBar(className, actions) {\n if (!actions.length) {\n return undefined;\n }\n const container = dom.$(className);\n const actionBar = new ActionBar(container);\n actionBar.push(actions, { icon: false, label: true });\n return actionBar;\n }\n _onWidgetClosed(didCancel) {\n var _a;\n (_a = this._list.value) === null || _a === void 0 ? void 0 : _a.hide(didCancel);\n }\n};\nActionWidgetService = __decorate([\n __param(0, IContextViewService),\n __param(1, IContextKeyService),\n __param(2, IInstantiationService)\n], ActionWidgetService);\nregisterSingleton(IActionWidgetService, ActionWidgetService, 1 /* InstantiationType.Delayed */);\nconst weight = 100 /* KeybindingWeight.EditorContrib */ + 1000;\nregisterAction2(class extends Action2 {\n constructor() {\n super({\n id: 'hideCodeActionWidget',\n title: localize2('hideCodeActionWidget.title', \"Hide action widget\"),\n precondition: ActionWidgetContextKeys.Visible,\n keybinding: {\n weight,\n primary: 9 /* KeyCode.Escape */,\n secondary: [1024 /* KeyMod.Shift */ | 9 /* KeyCode.Escape */]\n },\n });\n }\n run(accessor) {\n accessor.get(IActionWidgetService).hide(true);\n }\n});\nregisterAction2(class extends Action2 {\n constructor() {\n super({\n id: 'selectPrevCodeAction',\n title: localize2('selectPrevCodeAction.title', \"Select previous action\"),\n precondition: ActionWidgetContextKeys.Visible,\n keybinding: {\n weight,\n primary: 16 /* KeyCode.UpArrow */,\n secondary: [2048 /* KeyMod.CtrlCmd */ | 16 /* KeyCode.UpArrow */],\n mac: { primary: 16 /* KeyCode.UpArrow */, secondary: [2048 /* KeyMod.CtrlCmd */ | 16 /* KeyCode.UpArrow */, 256 /* KeyMod.WinCtrl */ | 46 /* KeyCode.KeyP */] },\n }\n });\n }\n run(accessor) {\n const widgetService = accessor.get(IActionWidgetService);\n if (widgetService instanceof ActionWidgetService) {\n widgetService.focusPrevious();\n }\n }\n});\nregisterAction2(class extends Action2 {\n constructor() {\n super({\n id: 'selectNextCodeAction',\n title: localize2('selectNextCodeAction.title', \"Select next action\"),\n precondition: ActionWidgetContextKeys.Visible,\n keybinding: {\n weight,\n primary: 18 /* KeyCode.DownArrow */,\n secondary: [2048 /* KeyMod.CtrlCmd */ | 18 /* KeyCode.DownArrow */],\n mac: { primary: 18 /* KeyCode.DownArrow */, secondary: [2048 /* KeyMod.CtrlCmd */ | 18 /* KeyCode.DownArrow */, 256 /* KeyMod.WinCtrl */ | 44 /* KeyCode.KeyN */] }\n }\n });\n }\n run(accessor) {\n const widgetService = accessor.get(IActionWidgetService);\n if (widgetService instanceof ActionWidgetService) {\n widgetService.focusNext();\n }\n }\n});\nregisterAction2(class extends Action2 {\n constructor() {\n super({\n id: acceptSelectedActionCommand,\n title: localize2('acceptSelected.title', \"Accept selected action\"),\n precondition: ActionWidgetContextKeys.Visible,\n keybinding: {\n weight,\n primary: 3 /* KeyCode.Enter */,\n secondary: [2048 /* KeyMod.CtrlCmd */ | 89 /* KeyCode.Period */],\n }\n });\n }\n run(accessor) {\n const widgetService = accessor.get(IActionWidgetService);\n if (widgetService instanceof ActionWidgetService) {\n widgetService.acceptSelected();\n }\n }\n});\nregisterAction2(class extends Action2 {\n constructor() {\n super({\n id: previewSelectedActionCommand,\n title: localize2('previewSelected.title', \"Preview selected action\"),\n precondition: ActionWidgetContextKeys.Visible,\n keybinding: {\n weight,\n primary: 2048 /* KeyMod.CtrlCmd */ | 3 /* KeyCode.Enter */,\n }\n });\n }\n run(accessor) {\n const widgetService = accessor.get(IActionWidgetService);\n if (widgetService instanceof ActionWidgetService) {\n widgetService.acceptSelected(true);\n }\n }\n});\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 *--------------------------------------------------------------------------------------------*/\nvar __decorate = (this && this.__decorate) || function (decorators, target, key, desc) {\n var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;\n if (typeof Reflect === \"object\" && typeof Reflect.decorate === \"function\") r = Reflect.decorate(decorators, target, key, desc);\n else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r;\n return c > 3 && r && Object.defineProperty(target, key, r), r;\n};\nvar __param = (this && this.__param) || function (paramIndex, decorator) {\n return function (target, key) { decorator(target, key, paramIndex); }\n};\nimport { $, addDisposableListener, append, asCSSUrl, EventType, ModifierKeyEmitter, prepend } from '../../../base/browser/dom.js';\nimport { StandardKeyboardEvent } from '../../../base/browser/keyboardEvent.js';\nimport { ActionViewItem, BaseActionViewItem, SelectActionViewItem } from '../../../base/browser/ui/actionbar/actionViewItems.js';\nimport { DropdownMenuActionViewItem } from '../../../base/browser/ui/dropdown/dropdownActionViewItem.js';\nimport { ActionRunner, Separator, SubmenuAction } from '../../../base/common/actions.js';\nimport { UILabelProvider } from '../../../base/common/keybindingLabels.js';\nimport { combinedDisposable, MutableDisposable, toDisposable } from '../../../base/common/lifecycle.js';\nimport { isLinux, isWindows, OS } from '../../../base/common/platform.js';\nimport './menuEntryActionViewItem.css';\nimport { localize } from '../../../nls.js';\nimport { IMenuService, MenuItemAction, SubmenuItemAction } from '../common/actions.js';\nimport { isICommandActionToggleInfo } from '../../action/common/action.js';\nimport { IContextKeyService } from '../../contextkey/common/contextkey.js';\nimport { IContextMenuService, IContextViewService } from '../../contextview/browser/contextView.js';\nimport { IInstantiationService } from '../../instantiation/common/instantiation.js';\nimport { IKeybindingService } from '../../keybinding/common/keybinding.js';\nimport { INotificationService } from '../../notification/common/notification.js';\nimport { IStorageService } from '../../storage/common/storage.js';\nimport { IThemeService } from '../../theme/common/themeService.js';\nimport { ThemeIcon } from '../../../base/common/themables.js';\nimport { isDark } from '../../theme/common/theme.js';\nimport { assertType } from '../../../base/common/types.js';\nimport { asCssVariable, selectBorder } from '../../theme/common/colorRegistry.js';\nimport { defaultSelectBoxStyles } from '../../theme/browser/defaultStyles.js';\nimport { IAccessibilityService } from '../../accessibility/common/accessibility.js';\nexport function createAndFillInContextMenuActions(menu, options, target, primaryGroup) {\n const groups = menu.getActions(options);\n const modifierKeyEmitter = ModifierKeyEmitter.getInstance();\n const useAlternativeActions = modifierKeyEmitter.keyStatus.altKey || ((isWindows || isLinux) && modifierKeyEmitter.keyStatus.shiftKey);\n fillInActions(groups, target, useAlternativeActions, primaryGroup ? actionGroup => actionGroup === primaryGroup : actionGroup => actionGroup === 'navigation');\n}\nexport function createAndFillInActionBarActions(menu, options, target, primaryGroup, shouldInlineSubmenu, useSeparatorsInPrimaryActions) {\n const groups = menu.getActions(options);\n const isPrimaryAction = typeof primaryGroup === 'string' ? (actionGroup) => actionGroup === primaryGroup : primaryGroup;\n // Action bars handle alternative actions on their own so the alternative actions should be ignored\n fillInActions(groups, target, false, isPrimaryAction, shouldInlineSubmenu, useSeparatorsInPrimaryActions);\n}\nfunction fillInActions(groups, target, useAlternativeActions, isPrimaryAction = actionGroup => actionGroup === 'navigation', shouldInlineSubmenu = () => false, useSeparatorsInPrimaryActions = false) {\n let primaryBucket;\n let secondaryBucket;\n if (Array.isArray(target)) {\n primaryBucket = target;\n secondaryBucket = target;\n }\n else {\n primaryBucket = target.primary;\n secondaryBucket = target.secondary;\n }\n const submenuInfo = new Set();\n for (const [group, actions] of groups) {\n let target;\n if (isPrimaryAction(group)) {\n target = primaryBucket;\n if (target.length > 0 && useSeparatorsInPrimaryActions) {\n target.push(new Separator());\n }\n }\n else {\n target = secondaryBucket;\n if (target.length > 0) {\n target.push(new Separator());\n }\n }\n for (let action of actions) {\n if (useAlternativeActions) {\n action = action instanceof MenuItemAction && action.alt ? action.alt : action;\n }\n const newLen = target.push(action);\n // keep submenu info for later inlining\n if (action instanceof SubmenuAction) {\n submenuInfo.add({ group, action, index: newLen - 1 });\n }\n }\n }\n // ask the outside if submenu should be inlined or not. only ask when\n // there would be enough space\n for (const { group, action, index } of submenuInfo) {\n const target = isPrimaryAction(group) ? primaryBucket : secondaryBucket;\n // inlining submenus with length 0 or 1 is easy,\n // larger submenus need to be checked with the overall limit\n const submenuActions = action.actions;\n if (shouldInlineSubmenu(action, group, target.length)) {\n target.splice(index, 1, ...submenuActions);\n }\n }\n}\nlet MenuEntryActionViewItem = class MenuEntryActionViewItem extends ActionViewItem {\n constructor(action, options, _keybindingService, _notificationService, _contextKeyService, _themeService, _contextMenuService, _accessibilityService) {\n super(undefined, action, { icon: !!(action.class || action.item.icon), label: !action.class && !action.item.icon, draggable: options === null || options === void 0 ? void 0 : options.draggable, keybinding: options === null || options === void 0 ? void 0 : options.keybinding, hoverDelegate: options === null || options === void 0 ? void 0 : options.hoverDelegate });\n this._keybindingService = _keybindingService;\n this._notificationService = _notificationService;\n this._contextKeyService = _contextKeyService;\n this._themeService = _themeService;\n this._contextMenuService = _contextMenuService;\n this._accessibilityService = _accessibilityService;\n this._wantsAltCommand = false;\n this._itemClassDispose = this._register(new MutableDisposable());\n this._altKey = ModifierKeyEmitter.getInstance();\n }\n get _menuItemAction() {\n return this._action;\n }\n get _commandAction() {\n return this._wantsAltCommand && this._menuItemAction.alt || this._menuItemAction;\n }\n async onClick(event) {\n event.preventDefault();\n event.stopPropagation();\n try {\n await this.actionRunner.run(this._commandAction, this._context);\n }\n catch (err) {\n this._notificationService.error(err);\n }\n }\n render(container) {\n super.render(container);\n container.classList.add('menu-entry');\n if (this.options.icon) {\n this._updateItemClass(this._menuItemAction.item);\n }\n if (this._menuItemAction.alt) {\n let isMouseOver = false;\n const updateAltState = () => {\n var _a;\n const wantsAltCommand = !!((_a = this._menuItemAction.alt) === null || _a === void 0 ? void 0 : _a.enabled) &&\n (!this._accessibilityService.isMotionReduced() || isMouseOver) && (this._altKey.keyStatus.altKey ||\n (this._altKey.keyStatus.shiftKey && isMouseOver));\n if (wantsAltCommand !== this._wantsAltCommand) {\n this._wantsAltCommand = wantsAltCommand;\n this.updateLabel();\n this.updateTooltip();\n this.updateClass();\n }\n };\n this._register(this._altKey.event(updateAltState));\n this._register(addDisposableListener(container, 'mouseleave', _ => {\n isMouseOver = false;\n updateAltState();\n }));\n this._register(addDisposableListener(container, 'mouseenter', _ => {\n isMouseOver = true;\n updateAltState();\n }));\n updateAltState();\n }\n }\n updateLabel() {\n if (this.options.label && this.label) {\n this.label.textContent = this._commandAction.label;\n }\n }\n getTooltip() {\n var _a;\n const keybinding = this._keybindingService.lookupKeybinding(this._commandAction.id, this._contextKeyService);\n const keybindingLabel = keybinding && keybinding.getLabel();\n const tooltip = this._commandAction.tooltip || this._commandAction.label;\n let title = keybindingLabel\n ? localize('titleAndKb', \"{0} ({1})\", tooltip, keybindingLabel)\n : tooltip;\n if (!this._wantsAltCommand && ((_a = this._menuItemAction.alt) === null || _a === void 0 ? void 0 : _a.enabled)) {\n const altTooltip = this._menuItemAction.alt.tooltip || this._menuItemAction.alt.label;\n const altKeybinding = this._keybindingService.lookupKeybinding(this._menuItemAction.alt.id, this._contextKeyService);\n const altKeybindingLabel = altKeybinding && altKeybinding.getLabel();\n const altTitleSection = altKeybindingLabel\n ? localize('titleAndKb', \"{0} ({1})\", altTooltip, altKeybindingLabel)\n : altTooltip;\n title = localize('titleAndKbAndAlt', \"{0}\\n[{1}] {2}\", title, UILabelProvider.modifierLabels[OS].altKey, altTitleSection);\n }\n return title;\n }\n updateClass() {\n if (this.options.icon) {\n if (this._commandAction !== this._menuItemAction) {\n if (this._menuItemAction.alt) {\n this._updateItemClass(this._menuItemAction.alt.item);\n }\n }\n else {\n this._updateItemClass(this._menuItemAction.item);\n }\n }\n }\n _updateItemClass(item) {\n this._itemClassDispose.value = undefined;\n const { element, label } = this;\n if (!element || !label) {\n return;\n }\n const icon = this._commandAction.checked && isICommandActionToggleInfo(item.toggled) && item.toggled.icon ? item.toggled.icon : item.icon;\n if (!icon) {\n return;\n }\n if (ThemeIcon.isThemeIcon(icon)) {\n // theme icons\n const iconClasses = ThemeIcon.asClassNameArray(icon);\n label.classList.add(...iconClasses);\n this._itemClassDispose.value = toDisposable(() => {\n label.classList.remove(...iconClasses);\n });\n }\n else {\n // icon path/url\n label.style.backgroundImage = (isDark(this._themeService.getColorTheme().type)\n ? asCSSUrl(icon.dark)\n : asCSSUrl(icon.light));\n label.classList.add('icon');\n this._itemClassDispose.value = combinedDisposable(toDisposable(() => {\n label.style.backgroundImage = '';\n label.classList.remove('icon');\n }), this._themeService.onDidColorThemeChange(() => {\n // refresh when the theme changes in case we go between dark <-> light\n this.updateClass();\n }));\n }\n }\n};\nMenuEntryActionViewItem = __decorate([\n __param(2, IKeybindingService),\n __param(3, INotificationService),\n __param(4, IContextKeyService),\n __param(5, IThemeService),\n __param(6, IContextMenuService),\n __param(7, IAccessibilityService)\n], MenuEntryActionViewItem);\nexport { MenuEntryActionViewItem };\nlet SubmenuEntryActionViewItem = class SubmenuEntryActionViewItem extends DropdownMenuActionViewItem {\n constructor(action, options, _keybindingService, _contextMenuService, _themeService) {\n var _a, _b, _c;\n const dropdownOptions = {\n ...options,\n menuAsChild: (_a = options === null || options === void 0 ? void 0 : options.menuAsChild) !== null && _a !== void 0 ? _a : false,\n classNames: (_b = options === null || options === void 0 ? void 0 : options.classNames) !== null && _b !== void 0 ? _b : (ThemeIcon.isThemeIcon(action.item.icon) ? ThemeIcon.asClassName(action.item.icon) : undefined),\n keybindingProvider: (_c = options === null || options === void 0 ? void 0 : options.keybindingProvider) !== null && _c !== void 0 ? _c : (action => _keybindingService.lookupKeybinding(action.id))\n };\n super(action, { getActions: () => action.actions }, _contextMenuService, dropdownOptions);\n this._keybindingService = _keybindingService;\n this._contextMenuService = _contextMenuService;\n this._themeService = _themeService;\n }\n render(container) {\n super.render(container);\n assertType(this.element);\n container.classList.add('menu-entry');\n const action = this._action;\n const { icon } = action.item;\n if (icon && !ThemeIcon.isThemeIcon(icon)) {\n this.element.classList.add('icon');\n const setBackgroundImage = () => {\n if (this.element) {\n this.element.style.backgroundImage = (isDark(this._themeService.getColorTheme().type)\n ? asCSSUrl(icon.dark)\n : asCSSUrl(icon.light));\n }\n };\n setBackgroundImage();\n this._register(this._themeService.onDidColorThemeChange(() => {\n // refresh when the theme changes in case we go between dark <-> light\n setBackgroundImage();\n }));\n }\n }\n};\nSubmenuEntryActionViewItem = __decorate([\n __param(2, IKeybindingService),\n __param(3, IContextMenuService),\n __param(4, IThemeService)\n], SubmenuEntryActionViewItem);\nexport { SubmenuEntryActionViewItem };\nlet DropdownWithDefaultActionViewItem = class DropdownWithDefaultActionViewItem extends BaseActionViewItem {\n constructor(submenuAction, options, _keybindingService, _notificationService, _contextMenuService, _menuService, _instaService, _storageService) {\n var _a, _b, _c;\n super(null, submenuAction);\n this._keybindingService = _keybindingService;\n this._notificationService = _notificationService;\n this._contextMenuService = _contextMenuService;\n this._menuService = _menuService;\n this._instaService = _instaService;\n this._storageService = _storageService;\n this._container = null;\n this._options = options;\n this._storageKey = `${submenuAction.item.submenu.id}_lastActionId`;\n // determine default action\n let defaultAction;\n const defaultActionId = (options === null || options === void 0 ? void 0 : options.persistLastActionId) ? _storageService.get(this._storageKey, 1 /* StorageScope.WORKSPACE */) : undefined;\n if (defaultActionId) {\n defaultAction = submenuAction.actions.find(a => defaultActionId === a.id);\n }\n if (!defaultAction) {\n defaultAction = submenuAction.actions[0];\n }\n this._defaultAction = this._instaService.createInstance(MenuEntryActionViewItem, defaultAction, { keybinding: this._getDefaultActionKeybindingLabel(defaultAction) });\n const dropdownOptions = {\n keybindingProvider: action => this._keybindingService.lookupKeybinding(action.id),\n ...options,\n menuAsChild: (_a = options === null || options === void 0 ? void 0 : options.menuAsChild) !== null && _a !== void 0 ? _a : true,\n classNames: (_b = options === null || options === void 0 ? void 0 : options.classNames) !== null && _b !== void 0 ? _b : ['codicon', 'codicon-chevron-down'],\n actionRunner: (_c = options === null || options === void 0 ? void 0 : options.actionRunner) !== null && _c !== void 0 ? _c : new ActionRunner(),\n };\n this._dropdown = new DropdownMenuActionViewItem(submenuAction, submenuAction.actions, this._contextMenuService, dropdownOptions);\n this._register(this._dropdown.actionRunner.onDidRun((e) => {\n if (e.action instanceof MenuItemAction) {\n this.update(e.action);\n }\n }));\n }\n update(lastAction) {\n var _a;\n if ((_a = this._options) === null || _a === void 0 ? void 0 : _a.persistLastActionId) {\n this._storageService.store(this._storageKey, lastAction.id, 1 /* StorageScope.WORKSPACE */, 1 /* StorageTarget.MACHINE */);\n }\n this._defaultAction.dispose();\n this._defaultAction = this._instaService.createInstance(MenuEntryActionViewItem, lastAction, { keybinding: this._getDefaultActionKeybindingLabel(lastAction) });\n this._defaultAction.actionRunner = new class extends ActionRunner {\n async runAction(action, context) {\n await action.run(undefined);\n }\n }();\n if (this._container) {\n this._defaultAction.render(prepend(this._container, $('.action-container')));\n }\n }\n _getDefaultActionKeybindingLabel(defaultAction) {\n var _a;\n let defaultActionKeybinding;\n if ((_a = this._options) === null || _a === void 0 ? void 0 : _a.renderKeybindingWithDefaultActionLabel) {\n const kb = this._keybindingService.lookupKeybinding(defaultAction.id);\n if (kb) {\n defaultActionKeybinding = `(${kb.getLabel()})`;\n }\n }\n return defaultActionKeybinding;\n }\n setActionContext(newContext) {\n super.setActionContext(newContext);\n this._defaultAction.setActionContext(newContext);\n this._dropdown.setActionContext(newContext);\n }\n render(container) {\n this._container = container;\n super.render(this._container);\n this._container.classList.add('monaco-dropdown-with-default');\n const primaryContainer = $('.action-container');\n this._defaultAction.render(append(this._container, primaryContainer));\n this._register(addDisposableListener(primaryContainer, EventType.KEY_DOWN, (e) => {\n const event = new StandardKeyboardEvent(e);\n if (event.equals(17 /* KeyCode.RightArrow */)) {\n this._defaultAction.element.tabIndex = -1;\n this._dropdown.focus();\n event.stopPropagation();\n }\n }));\n const dropdownContainer = $('.dropdown-action-container');\n this._dropdown.render(append(this._container, dropdownContainer));\n this._register(addDisposableListener(dropdownContainer, EventType.KEY_DOWN, (e) => {\n var _a;\n const event = new StandardKeyboardEvent(e);\n if (event.equals(15 /* KeyCode.LeftArrow */)) {\n this._defaultAction.element.tabIndex = 0;\n this._dropdown.setFocusable(false);\n (_a = this._defaultAction.element) === null || _a === void 0 ? void 0 : _a.focus();\n event.stopPropagation();\n }\n }));\n }\n focus(fromRight) {\n if (fromRight) {\n this._dropdown.focus();\n }\n else {\n this._defaultAction.element.tabIndex = 0;\n this._defaultAction.element.focus();\n }\n }\n blur() {\n this._defaultAction.element.tabIndex = -1;\n this._dropdown.blur();\n this._container.blur();\n }\n setFocusable(focusable) {\n if (focusable) {\n this._defaultAction.element.tabIndex = 0;\n }\n else {\n this._defaultAction.element.tabIndex = -1;\n this._dropdown.setFocusable(false);\n }\n }\n dispose() {\n this._defaultAction.dispose();\n this._dropdown.dispose();\n super.dispose();\n }\n};\nDropdownWithDefaultActionViewItem = __decorate([\n __param(2, IKeybindingService),\n __param(3, INotificationService),\n __param(4, IContextMenuService),\n __param(5, IMenuService),\n __param(6, IInstantiationService),\n __param(7, IStorageService)\n], DropdownWithDefaultActionViewItem);\nexport { DropdownWithDefaultActionViewItem };\nlet SubmenuEntrySelectActionViewItem = class SubmenuEntrySelectActionViewItem extends SelectActionViewItem {\n constructor(action, contextViewService) {\n super(null, action, action.actions.map(a => ({\n text: a.id === Separator.ID ? '\\u2500\\u2500\\u2500\\u2500\\u2500\\u2500\\u2500\\u2500\\u2500' : a.label,\n isDisabled: !a.enabled,\n })), 0, contextViewService, defaultSelectBoxStyles, { ariaLabel: action.tooltip, optionsAsChildren: true });\n this.select(Math.max(0, action.actions.findIndex(a => a.checked)));\n }\n render(container) {\n super.render(container);\n container.style.borderColor = asCssVariable(selectBorder);\n }\n runAction(option, index) {\n const action = this.action.actions[index];\n if (action) {\n this.actionRunner.run(action);\n }\n }\n};\nSubmenuEntrySelectActionViewItem = __decorate([\n __param(1, IContextViewService)\n], SubmenuEntrySelectActionViewItem);\n/**\n * Creates action view items for menu actions or submenu actions.\n */\nexport function createActionViewItem(instaService, action, options) {\n if (action instanceof MenuItemAction) {\n return instaService.createInstance(MenuEntryActionViewItem, action, options);\n }\n else if (action instanceof SubmenuItemAction) {\n if (action.item.isSelection) {\n return instaService.createInstance(SubmenuEntrySelectActionViewItem, action);\n }\n else {\n if (action.item.rememberDefaultAction) {\n return instaService.createInstance(DropdownWithDefaultActionViewItem, action, { ...options, persistLastActionId: true });\n }\n else {\n return instaService.createInstance(SubmenuEntryActionViewItem, action, options);\n }\n }\n }\n else {\n return undefined;\n }\n}\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 *--------------------------------------------------------------------------------------------*/\nvar __decorate = (this && this.__decorate) || function (decorators, target, key, desc) {\n var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;\n if (typeof Reflect === \"object\" && typeof Reflect.decorate === \"function\") r = Reflect.decorate(decorators, target, key, desc);\n else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r;\n return c > 3 && r && Object.defineProperty(target, key, r), r;\n};\nvar __param = (this && this.__param) || function (paramIndex, decorator) {\n return function (target, key) { decorator(target, key, paramIndex); }\n};\nimport { addDisposableListener, getWindow } from '../../../base/browser/dom.js';\nimport { StandardMouseEvent } from '../../../base/browser/mouseEvent.js';\nimport { ToggleMenuAction, ToolBar } from '../../../base/browser/ui/toolbar/toolbar.js';\nimport { Separator, toAction } from '../../../base/common/actions.js';\nimport { coalesceInPlace } from '../../../base/common/arrays.js';\nimport { intersection } from '../../../base/common/collections.js';\nimport { BugIndicatingError } from '../../../base/common/errors.js';\nimport { Emitter } from '../../../base/common/event.js';\nimport { Iterable } from '../../../base/common/iterator.js';\nimport { DisposableStore } from '../../../base/common/lifecycle.js';\nimport { localize } from '../../../nls.js';\nimport { createAndFillInActionBarActions } from './menuEntryActionViewItem.js';\nimport { IMenuService, MenuItemAction, SubmenuItemAction } from '../common/actions.js';\nimport { createConfigureKeybindingAction } from '../common/menuService.js';\nimport { ICommandService } from '../../commands/common/commands.js';\nimport { IContextKeyService } from '../../contextkey/common/contextkey.js';\nimport { IContextMenuService } from '../../contextview/browser/contextView.js';\nimport { IKeybindingService } from '../../keybinding/common/keybinding.js';\nimport { ITelemetryService } from '../../telemetry/common/telemetry.js';\n/**\n * The `WorkbenchToolBar` does\n * - support hiding of menu items\n * - lookup keybindings for each actions automatically\n * - send `workbenchActionExecuted`-events for each action\n *\n * See {@link MenuWorkbenchToolBar} for a toolbar that is backed by a menu.\n */\nlet WorkbenchToolBar = class WorkbenchToolBar extends ToolBar {\n constructor(container, _options, _menuService, _contextKeyService, _contextMenuService, _keybindingService, _commandService, telemetryService) {\n super(container, _contextMenuService, {\n // defaults\n getKeyBinding: (action) => { var _a; return (_a = _keybindingService.lookupKeybinding(action.id)) !== null && _a !== void 0 ? _a : undefined; },\n // options (override defaults)\n ..._options,\n // mandatory (overide options)\n allowContextMenu: true,\n skipTelemetry: typeof (_options === null || _options === void 0 ? void 0 : _options.telemetrySource) === 'string',\n });\n this._options = _options;\n this._menuService = _menuService;\n this._contextKeyService = _contextKeyService;\n this._contextMenuService = _contextMenuService;\n this._keybindingService = _keybindingService;\n this._commandService = _commandService;\n this._sessionDisposables = this._store.add(new DisposableStore());\n // telemetry logic\n const telemetrySource = _options === null || _options === void 0 ? void 0 : _options.telemetrySource;\n if (telemetrySource) {\n this._store.add(this.actionBar.onDidRun(e => telemetryService.publicLog2('workbenchActionExecuted', { id: e.action.id, from: telemetrySource })));\n }\n }\n setActions(_primary, _secondary = [], menuIds) {\n var _a, _b, _c;\n this._sessionDisposables.clear();\n const primary = _primary.slice(); // for hiding and overflow we set some items to undefined\n const secondary = _secondary.slice();\n const toggleActions = [];\n let toggleActionsCheckedCount = 0;\n const extraSecondary = [];\n let someAreHidden = false;\n // unless disabled, move all hidden items to secondary group or ignore them\n if (((_a = this._options) === null || _a === void 0 ? void 0 : _a.hiddenItemStrategy) !== -1 /* HiddenItemStrategy.NoHide */) {\n for (let i = 0; i < primary.length; i++) {\n const action = primary[i];\n if (!(action instanceof MenuItemAction) && !(action instanceof SubmenuItemAction)) {\n // console.warn(`Action ${action.id}/${action.label} is not a MenuItemAction`);\n continue;\n }\n if (!action.hideActions) {\n continue;\n }\n // collect all toggle actions\n toggleActions.push(action.hideActions.toggle);\n if (action.hideActions.toggle.checked) {\n toggleActionsCheckedCount++;\n }\n // hidden items move into overflow or ignore\n if (action.hideActions.isHidden) {\n someAreHidden = true;\n primary[i] = undefined;\n if (((_b = this._options) === null || _b === void 0 ? void 0 : _b.hiddenItemStrategy) !== 0 /* HiddenItemStrategy.Ignore */) {\n extraSecondary[i] = action;\n }\n }\n }\n }\n // count for max\n if (((_c = this._options) === null || _c === void 0 ? void 0 : _c.overflowBehavior) !== undefined) {\n const exemptedIds = intersection(new Set(this._options.overflowBehavior.exempted), Iterable.map(primary, a => a === null || a === void 0 ? void 0 : a.id));\n const maxItems = this._options.overflowBehavior.maxItems - exemptedIds.size;\n let count = 0;\n for (let i = 0; i < primary.length; i++) {\n const action = primary[i];\n if (!action) {\n continue;\n }\n count++;\n if (exemptedIds.has(action.id)) {\n continue;\n }\n if (count >= maxItems) {\n primary[i] = undefined;\n extraSecondary[i] = action;\n }\n }\n }\n // coalesce turns Array into IAction[]\n coalesceInPlace(primary);\n coalesceInPlace(extraSecondary);\n super.setActions(primary, Separator.join(extraSecondary, secondary));\n // add context menu for toggle and configure keybinding actions\n if (toggleActions.length > 0 || primary.length > 0) {\n this._sessionDisposables.add(addDisposableListener(this.getElement(), 'contextmenu', e => {\n var _a, _b, _c, _d, _e;\n const event = new StandardMouseEvent(getWindow(this.getElement()), e);\n const action = this.getItemAction(event.target);\n if (!(action)) {\n return;\n }\n event.preventDefault();\n event.stopPropagation();\n const primaryActions = [];\n // -- Configure Keybinding Action --\n if (action instanceof MenuItemAction && action.menuKeybinding) {\n primaryActions.push(action.menuKeybinding);\n }\n else if (!(action instanceof SubmenuItemAction || action instanceof ToggleMenuAction)) {\n primaryActions.push(createConfigureKeybindingAction(action.id, undefined, this._commandService, this._keybindingService));\n }\n // -- Hide Actions --\n if (toggleActions.length > 0) {\n let noHide = false;\n // last item cannot be hidden when using ignore strategy\n if (toggleActionsCheckedCount === 1 && ((_a = this._options) === null || _a === void 0 ? void 0 : _a.hiddenItemStrategy) === 0 /* HiddenItemStrategy.Ignore */) {\n noHide = true;\n for (let i = 0; i < toggleActions.length; i++) {\n if (toggleActions[i].checked) {\n toggleActions[i] = toAction({\n id: action.id,\n label: action.label,\n checked: true,\n enabled: false,\n run() { }\n });\n break; // there is only one\n }\n }\n }\n // add \"hide foo\" actions\n if (!noHide && (action instanceof MenuItemAction || action instanceof SubmenuItemAction)) {\n if (!action.hideActions) {\n // no context menu for MenuItemAction instances that support no hiding\n // those are fake actions and need to be cleaned up\n return;\n }\n primaryActions.push(action.hideActions.hide);\n }\n else {\n primaryActions.push(toAction({\n id: 'label',\n label: localize('hide', \"Hide\"),\n enabled: false,\n run() { }\n }));\n }\n }\n const actions = Separator.join(primaryActions, toggleActions);\n // add \"Reset Menu\" action\n if (((_b = this._options) === null || _b === void 0 ? void 0 : _b.resetMenu) && !menuIds) {\n menuIds = [this._options.resetMenu];\n }\n if (someAreHidden && menuIds) {\n actions.push(new Separator());\n actions.push(toAction({\n id: 'resetThisMenu',\n label: localize('resetThisMenu', \"Reset Menu\"),\n run: () => this._menuService.resetHiddenStates(menuIds)\n }));\n }\n if (actions.length === 0) {\n return;\n }\n this._contextMenuService.showContextMenu({\n getAnchor: () => event,\n getActions: () => actions,\n // add context menu actions (iff appicable)\n menuId: (_c = this._options) === null || _c === void 0 ? void 0 : _c.contextMenu,\n menuActionOptions: { renderShortTitle: true, ...(_d = this._options) === null || _d === void 0 ? void 0 : _d.menuOptions },\n skipTelemetry: typeof ((_e = this._options) === null || _e === void 0 ? void 0 : _e.telemetrySource) === 'string',\n contextKeyService: this._contextKeyService,\n });\n }));\n }\n }\n};\nWorkbenchToolBar = __decorate([\n __param(2, IMenuService),\n __param(3, IContextKeyService),\n __param(4, IContextMenuService),\n __param(5, IKeybindingService),\n __param(6, ICommandService),\n __param(7, ITelemetryService)\n], WorkbenchToolBar);\nexport { WorkbenchToolBar };\n/**\n * A {@link WorkbenchToolBar workbench toolbar} that is purely driven from a {@link MenuId menu}-identifier.\n *\n * *Note* that Manual updates via `setActions` are NOT supported.\n */\nlet MenuWorkbenchToolBar = class MenuWorkbenchToolBar extends WorkbenchToolBar {\n constructor(container, menuId, options, menuService, contextKeyService, contextMenuService, keybindingService, commandService, telemetryService) {\n super(container, { resetMenu: menuId, ...options }, menuService, contextKeyService, contextMenuService, keybindingService, commandService, telemetryService);\n this._onDidChangeMenuItems = this._store.add(new Emitter());\n this.onDidChangeMenuItems = this._onDidChangeMenuItems.event;\n // update logic\n const menu = this._store.add(menuService.createMenu(menuId, contextKeyService, { emitEventsForSubmenuChanges: true }));\n const updateToolbar = () => {\n var _a, _b, _c;\n const primary = [];\n const secondary = [];\n createAndFillInActionBarActions(menu, options === null || options === void 0 ? void 0 : options.menuOptions, { primary, secondary }, (_a = options === null || options === void 0 ? void 0 : options.toolbarOptions) === null || _a === void 0 ? void 0 : _a.primaryGroup, (_b = options === null || options === void 0 ? void 0 : options.toolbarOptions) === null || _b === void 0 ? void 0 : _b.shouldInlineSubmenu, (_c = options === null || options === void 0 ? void 0 : options.toolbarOptions) === null || _c === void 0 ? void 0 : _c.useSeparatorsInPrimaryActions);\n container.classList.toggle('has-no-actions', primary.length === 0 && secondary.length === 0);\n super.setActions(primary, secondary);\n };\n this._store.add(menu.onDidChange(() => {\n updateToolbar();\n this._onDidChangeMenuItems.fire(this);\n }));\n updateToolbar();\n }\n /**\n * @deprecated The WorkbenchToolBar does not support this method because it works with menus.\n */\n setActions() {\n throw new BugIndicatingError('This toolbar is populated from a menu.');\n }\n};\nMenuWorkbenchToolBar = __decorate([\n __param(3, IMenuService),\n __param(4, IContextKeyService),\n __param(5, IContextMenuService),\n __param(6, IKeybindingService),\n __param(7, ICommandService),\n __param(8, ITelemetryService)\n], MenuWorkbenchToolBar);\nexport { MenuWorkbenchToolBar };\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 *--------------------------------------------------------------------------------------------*/\nvar __decorate = (this && this.__decorate) || function (decorators, target, key, desc) {\n var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;\n if (typeof Reflect === \"object\" && typeof Reflect.decorate === \"function\") r = Reflect.decorate(decorators, target, key, desc);\n else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r;\n return c > 3 && r && Object.defineProperty(target, key, r), r;\n};\nvar __param = (this && this.__param) || function (paramIndex, decorator) {\n return function (target, key) { decorator(target, key, paramIndex); }\n};\nvar MenuItemAction_1;\nimport { SubmenuAction } from '../../../base/common/actions.js';\nimport { ThemeIcon } from '../../../base/common/themables.js';\nimport { MicrotaskEmitter } from '../../../base/common/event.js';\nimport { DisposableStore, dispose, toDisposable } from '../../../base/common/lifecycle.js';\nimport { LinkedList } from '../../../base/common/linkedList.js';\nimport { CommandsRegistry, ICommandService } from '../../commands/common/commands.js';\nimport { ContextKeyExpr, IContextKeyService } from '../../contextkey/common/contextkey.js';\nimport { createDecorator } from '../../instantiation/common/instantiation.js';\nimport { KeybindingsRegistry } from '../../keybinding/common/keybindingsRegistry.js';\nexport function isIMenuItem(item) {\n return item.command !== undefined;\n}\nexport function isISubmenuItem(item) {\n return item.submenu !== undefined;\n}\nexport class MenuId {\n /**\n * Create a new `MenuId` with the unique identifier. Will throw if a menu\n * with the identifier already exists, use `MenuId.for(ident)` or a unique\n * identifier\n */\n constructor(identifier) {\n if (MenuId._instances.has(identifier)) {\n throw new TypeError(`MenuId with identifier '${identifier}' already exists. Use MenuId.for(ident) or a unique identifier`);\n }\n MenuId._instances.set(identifier, this);\n this.id = identifier;\n }\n}\nMenuId._instances = new Map();\nMenuId.CommandPalette = new MenuId('CommandPalette');\nMenuId.DebugBreakpointsContext = new MenuId('DebugBreakpointsContext');\nMenuId.DebugCallStackContext = new MenuId('DebugCallStackContext');\nMenuId.DebugConsoleContext = new MenuId('DebugConsoleContext');\nMenuId.DebugVariablesContext = new MenuId('DebugVariablesContext');\nMenuId.NotebookVariablesContext = new MenuId('NotebookVariablesContext');\nMenuId.DebugHoverContext = new MenuId('DebugHoverContext');\nMenuId.DebugWatchContext = new MenuId('DebugWatchContext');\nMenuId.DebugToolBar = new MenuId('DebugToolBar');\nMenuId.DebugToolBarStop = new MenuId('DebugToolBarStop');\nMenuId.EditorContext = new MenuId('EditorContext');\nMenuId.SimpleEditorContext = new MenuId('SimpleEditorContext');\nMenuId.EditorContent = new MenuId('EditorContent');\nMenuId.EditorLineNumberContext = new MenuId('EditorLineNumberContext');\nMenuId.EditorContextCopy = new MenuId('EditorContextCopy');\nMenuId.EditorContextPeek = new MenuId('EditorContextPeek');\nMenuId.EditorContextShare = new MenuId('EditorContextShare');\nMenuId.EditorTitle = new MenuId('EditorTitle');\nMenuId.EditorTitleRun = new MenuId('EditorTitleRun');\nMenuId.EditorTitleContext = new MenuId('EditorTitleContext');\nMenuId.EditorTitleContextShare = new MenuId('EditorTitleContextShare');\nMenuId.EmptyEditorGroup = new MenuId('EmptyEditorGroup');\nMenuId.EmptyEditorGroupContext = new MenuId('EmptyEditorGroupContext');\nMenuId.EditorTabsBarContext = new MenuId('EditorTabsBarContext');\nMenuId.EditorTabsBarShowTabsSubmenu = new MenuId('EditorTabsBarShowTabsSubmenu');\nMenuId.EditorTabsBarShowTabsZenModeSubmenu = new MenuId('EditorTabsBarShowTabsZenModeSubmenu');\nMenuId.EditorActionsPositionSubmenu = new MenuId('EditorActionsPositionSubmenu');\nMenuId.ExplorerContext = new MenuId('ExplorerContext');\nMenuId.ExplorerContextShare = new MenuId('ExplorerContextShare');\nMenuId.ExtensionContext = new MenuId('ExtensionContext');\nMenuId.GlobalActivity = new MenuId('GlobalActivity');\nMenuId.CommandCenter = new MenuId('CommandCenter');\nMenuId.CommandCenterCenter = new MenuId('CommandCenterCenter');\nMenuId.LayoutControlMenuSubmenu = new MenuId('LayoutControlMenuSubmenu');\nMenuId.LayoutControlMenu = new MenuId('LayoutControlMenu');\nMenuId.MenubarMainMenu = new MenuId('MenubarMainMenu');\nMenuId.MenubarAppearanceMenu = new MenuId('MenubarAppearanceMenu');\nMenuId.MenubarDebugMenu = new MenuId('MenubarDebugMenu');\nMenuId.MenubarEditMenu = new MenuId('MenubarEditMenu');\nMenuId.MenubarCopy = new MenuId('MenubarCopy');\nMenuId.MenubarFileMenu = new MenuId('MenubarFileMenu');\nMenuId.MenubarGoMenu = new MenuId('MenubarGoMenu');\nMenuId.MenubarHelpMenu = new MenuId('MenubarHelpMenu');\nMenuId.MenubarLayoutMenu = new MenuId('MenubarLayoutMenu');\nMenuId.MenubarNewBreakpointMenu = new MenuId('MenubarNewBreakpointMenu');\nMenuId.PanelAlignmentMenu = new MenuId('PanelAlignmentMenu');\nMenuId.PanelPositionMenu = new MenuId('PanelPositionMenu');\nMenuId.ActivityBarPositionMenu = new MenuId('ActivityBarPositionMenu');\nMenuId.MenubarPreferencesMenu = new MenuId('MenubarPreferencesMenu');\nMenuId.MenubarRecentMenu = new MenuId('MenubarRecentMenu');\nMenuId.MenubarSelectionMenu = new MenuId('MenubarSelectionMenu');\nMenuId.MenubarShare = new MenuId('MenubarShare');\nMenuId.MenubarSwitchEditorMenu = new MenuId('MenubarSwitchEditorMenu');\nMenuId.MenubarSwitchGroupMenu = new MenuId('MenubarSwitchGroupMenu');\nMenuId.MenubarTerminalMenu = new MenuId('MenubarTerminalMenu');\nMenuId.MenubarViewMenu = new MenuId('MenubarViewMenu');\nMenuId.MenubarHomeMenu = new MenuId('MenubarHomeMenu');\nMenuId.OpenEditorsContext = new MenuId('OpenEditorsContext');\nMenuId.OpenEditorsContextShare = new MenuId('OpenEditorsContextShare');\nMenuId.ProblemsPanelContext = new MenuId('ProblemsPanelContext');\nMenuId.SCMInputBox = new MenuId('SCMInputBox');\nMenuId.SCMChangesSeparator = new MenuId('SCMChangesSeparator');\nMenuId.SCMIncomingChanges = new MenuId('SCMIncomingChanges');\nMenuId.SCMIncomingChangesContext = new MenuId('SCMIncomingChangesContext');\nMenuId.SCMIncomingChangesSetting = new MenuId('SCMIncomingChangesSetting');\nMenuId.SCMOutgoingChanges = new MenuId('SCMOutgoingChanges');\nMenuId.SCMOutgoingChangesContext = new MenuId('SCMOutgoingChangesContext');\nMenuId.SCMOutgoingChangesSetting = new MenuId('SCMOutgoingChangesSetting');\nMenuId.SCMIncomingChangesAllChangesContext = new MenuId('SCMIncomingChangesAllChangesContext');\nMenuId.SCMIncomingChangesHistoryItemContext = new MenuId('SCMIncomingChangesHistoryItemContext');\nMenuId.SCMOutgoingChangesAllChangesContext = new MenuId('SCMOutgoingChangesAllChangesContext');\nMenuId.SCMOutgoingChangesHistoryItemContext = new MenuId('SCMOutgoingChangesHistoryItemContext');\nMenuId.SCMChangeContext = new MenuId('SCMChangeContext');\nMenuId.SCMResourceContext = new MenuId('SCMResourceContext');\nMenuId.SCMResourceContextShare = new MenuId('SCMResourceContextShare');\nMenuId.SCMResourceFolderContext = new MenuId('SCMResourceFolderContext');\nMenuId.SCMResourceGroupContext = new MenuId('SCMResourceGroupContext');\nMenuId.SCMSourceControl = new MenuId('SCMSourceControl');\nMenuId.SCMSourceControlInline = new MenuId('SCMSourceControlInline');\nMenuId.SCMSourceControlTitle = new MenuId('SCMSourceControlTitle');\nMenuId.SCMTitle = new MenuId('SCMTitle');\nMenuId.SearchContext = new MenuId('SearchContext');\nMenuId.SearchActionMenu = new MenuId('SearchActionContext');\nMenuId.StatusBarWindowIndicatorMenu = new MenuId('StatusBarWindowIndicatorMenu');\nMenuId.StatusBarRemoteIndicatorMenu = new MenuId('StatusBarRemoteIndicatorMenu');\nMenuId.StickyScrollContext = new MenuId('StickyScrollContext');\nMenuId.TestItem = new MenuId('TestItem');\nMenuId.TestItemGutter = new MenuId('TestItemGutter');\nMenuId.TestMessageContext = new MenuId('TestMessageContext');\nMenuId.TestMessageContent = new MenuId('TestMessageContent');\nMenuId.TestPeekElement = new MenuId('TestPeekElement');\nMenuId.TestPeekTitle = new MenuId('TestPeekTitle');\nMenuId.TouchBarContext = new MenuId('TouchBarContext');\nMenuId.TitleBarContext = new MenuId('TitleBarContext');\nMenuId.TitleBarTitleContext = new MenuId('TitleBarTitleContext');\nMenuId.TunnelContext = new MenuId('TunnelContext');\nMenuId.TunnelPrivacy = new MenuId('TunnelPrivacy');\nMenuId.TunnelProtocol = new MenuId('TunnelProtocol');\nMenuId.TunnelPortInline = new MenuId('TunnelInline');\nMenuId.TunnelTitle = new MenuId('TunnelTitle');\nMenuId.TunnelLocalAddressInline = new MenuId('TunnelLocalAddressInline');\nMenuId.TunnelOriginInline = new MenuId('TunnelOriginInline');\nMenuId.ViewItemContext = new MenuId('ViewItemContext');\nMenuId.ViewContainerTitle = new MenuId('ViewContainerTitle');\nMenuId.ViewContainerTitleContext = new MenuId('ViewContainerTitleContext');\nMenuId.ViewTitle = new MenuId('ViewTitle');\nMenuId.ViewTitleContext = new MenuId('ViewTitleContext');\nMenuId.CommentEditorActions = new MenuId('CommentEditorActions');\nMenuId.CommentThreadTitle = new MenuId('CommentThreadTitle');\nMenuId.CommentThreadActions = new MenuId('CommentThreadActions');\nMenuId.CommentThreadAdditionalActions = new MenuId('CommentThreadAdditionalActions');\nMenuId.CommentThreadTitleContext = new MenuId('CommentThreadTitleContext');\nMenuId.CommentThreadCommentContext = new MenuId('CommentThreadCommentContext');\nMenuId.CommentTitle = new MenuId('CommentTitle');\nMenuId.CommentActions = new MenuId('CommentActions');\nMenuId.CommentsViewThreadActions = new MenuId('CommentsViewThreadActions');\nMenuId.InteractiveToolbar = new MenuId('InteractiveToolbar');\nMenuId.InteractiveCellTitle = new MenuId('InteractiveCellTitle');\nMenuId.InteractiveCellDelete = new MenuId('InteractiveCellDelete');\nMenuId.InteractiveCellExecute = new MenuId('InteractiveCellExecute');\nMenuId.InteractiveInputExecute = new MenuId('InteractiveInputExecute');\nMenuId.IssueReporter = new MenuId('IssueReporter');\nMenuId.NotebookToolbar = new MenuId('NotebookToolbar');\nMenuId.NotebookStickyScrollContext = new MenuId('NotebookStickyScrollContext');\nMenuId.NotebookCellTitle = new MenuId('NotebookCellTitle');\nMenuId.NotebookCellDelete = new MenuId('NotebookCellDelete');\nMenuId.NotebookCellInsert = new MenuId('NotebookCellInsert');\nMenuId.NotebookCellBetween = new MenuId('NotebookCellBetween');\nMenuId.NotebookCellListTop = new MenuId('NotebookCellTop');\nMenuId.NotebookCellExecute = new MenuId('NotebookCellExecute');\nMenuId.NotebookCellExecuteGoTo = new MenuId('NotebookCellExecuteGoTo');\nMenuId.NotebookCellExecutePrimary = new MenuId('NotebookCellExecutePrimary');\nMenuId.NotebookDiffCellInputTitle = new MenuId('NotebookDiffCellInputTitle');\nMenuId.NotebookDiffCellMetadataTitle = new MenuId('NotebookDiffCellMetadataTitle');\nMenuId.NotebookDiffCellOutputsTitle = new MenuId('NotebookDiffCellOutputsTitle');\nMenuId.NotebookOutputToolbar = new MenuId('NotebookOutputToolbar');\nMenuId.NotebookOutlineFilter = new MenuId('NotebookOutlineFilter');\nMenuId.NotebookOutlineActionMenu = new MenuId('NotebookOutlineActionMenu');\nMenuId.NotebookEditorLayoutConfigure = new MenuId('NotebookEditorLayoutConfigure');\nMenuId.NotebookKernelSource = new MenuId('NotebookKernelSource');\nMenuId.BulkEditTitle = new MenuId('BulkEditTitle');\nMenuId.BulkEditContext = new MenuId('BulkEditContext');\nMenuId.TimelineItemContext = new MenuId('TimelineItemContext');\nMenuId.TimelineTitle = new MenuId('TimelineTitle');\nMenuId.TimelineTitleContext = new MenuId('TimelineTitleContext');\nMenuId.TimelineFilterSubMenu = new MenuId('TimelineFilterSubMenu');\nMenuId.AccountsContext = new MenuId('AccountsContext');\nMenuId.SidebarTitle = new MenuId('SidebarTitle');\nMenuId.PanelTitle = new MenuId('PanelTitle');\nMenuId.AuxiliaryBarTitle = new MenuId('AuxiliaryBarTitle');\nMenuId.AuxiliaryBarHeader = new MenuId('AuxiliaryBarHeader');\nMenuId.TerminalInstanceContext = new MenuId('TerminalInstanceContext');\nMenuId.TerminalEditorInstanceContext = new MenuId('TerminalEditorInstanceContext');\nMenuId.TerminalNewDropdownContext = new MenuId('TerminalNewDropdownContext');\nMenuId.TerminalTabContext = new MenuId('TerminalTabContext');\nMenuId.TerminalTabEmptyAreaContext = new MenuId('TerminalTabEmptyAreaContext');\nMenuId.TerminalStickyScrollContext = new MenuId('TerminalStickyScrollContext');\nMenuId.WebviewContext = new MenuId('WebviewContext');\nMenuId.InlineCompletionsActions = new MenuId('InlineCompletionsActions');\nMenuId.InlineEditActions = new MenuId('InlineEditActions');\nMenuId.NewFile = new MenuId('NewFile');\nMenuId.MergeInput1Toolbar = new MenuId('MergeToolbar1Toolbar');\nMenuId.MergeInput2Toolbar = new MenuId('MergeToolbar2Toolbar');\nMenuId.MergeBaseToolbar = new MenuId('MergeBaseToolbar');\nMenuId.MergeInputResultToolbar = new MenuId('MergeToolbarResultToolbar');\nMenuId.InlineSuggestionToolbar = new MenuId('InlineSuggestionToolbar');\nMenuId.InlineEditToolbar = new MenuId('InlineEditToolbar');\nMenuId.ChatContext = new MenuId('ChatContext');\nMenuId.ChatCodeBlock = new MenuId('ChatCodeblock');\nMenuId.ChatCompareBlock = new MenuId('ChatCompareBlock');\nMenuId.ChatMessageTitle = new MenuId('ChatMessageTitle');\nMenuId.ChatExecute = new MenuId('ChatExecute');\nMenuId.ChatExecuteSecondary = new MenuId('ChatExecuteSecondary');\nMenuId.ChatInputSide = new MenuId('ChatInputSide');\nMenuId.AccessibleView = new MenuId('AccessibleView');\nMenuId.MultiDiffEditorFileToolbar = new MenuId('MultiDiffEditorFileToolbar');\nMenuId.DiffEditorHunkToolbar = new MenuId('DiffEditorHunkToolbar');\nMenuId.DiffEditorSelectionToolbar = new MenuId('DiffEditorSelectionToolbar');\nexport const IMenuService = createDecorator('menuService');\nclass MenuRegistryChangeEvent {\n static for(id) {\n let value = this._all.get(id);\n if (!value) {\n value = new MenuRegistryChangeEvent(id);\n this._all.set(id, value);\n }\n return value;\n }\n static merge(events) {\n const ids = new Set();\n for (const item of events) {\n if (item instanceof MenuRegistryChangeEvent) {\n ids.add(item.id);\n }\n }\n return ids;\n }\n constructor(id) {\n this.id = id;\n this.has = candidate => candidate === id;\n }\n}\nMenuRegistryChangeEvent._all = new Map();\nexport const MenuRegistry = new class {\n constructor() {\n this._commands = new Map();\n this._menuItems = new Map();\n this._onDidChangeMenu = new MicrotaskEmitter({\n merge: MenuRegistryChangeEvent.merge\n });\n this.onDidChangeMenu = this._onDidChangeMenu.event;\n }\n addCommand(command) {\n this._commands.set(command.id, command);\n this._onDidChangeMenu.fire(MenuRegistryChangeEvent.for(MenuId.CommandPalette));\n return toDisposable(() => {\n if (this._commands.delete(command.id)) {\n this._onDidChangeMenu.fire(MenuRegistryChangeEvent.for(MenuId.CommandPalette));\n }\n });\n }\n getCommand(id) {\n return this._commands.get(id);\n }\n getCommands() {\n const map = new Map();\n this._commands.forEach((value, key) => map.set(key, value));\n return map;\n }\n appendMenuItem(id, item) {\n let list = this._menuItems.get(id);\n if (!list) {\n list = new LinkedList();\n this._menuItems.set(id, list);\n }\n const rm = list.push(item);\n this._onDidChangeMenu.fire(MenuRegistryChangeEvent.for(id));\n return toDisposable(() => {\n rm();\n this._onDidChangeMenu.fire(MenuRegistryChangeEvent.for(id));\n });\n }\n appendMenuItems(items) {\n const result = new DisposableStore();\n for (const { id, item } of items) {\n result.add(this.appendMenuItem(id, item));\n }\n return result;\n }\n getMenuItems(id) {\n let result;\n if (this._menuItems.has(id)) {\n result = [...this._menuItems.get(id)];\n }\n else {\n result = [];\n }\n if (id === MenuId.CommandPalette) {\n // CommandPalette is special because it shows\n // all commands by default\n this._appendImplicitItems(result);\n }\n return result;\n }\n _appendImplicitItems(result) {\n const set = new Set();\n for (const item of result) {\n if (isIMenuItem(item)) {\n set.add(item.command.id);\n if (item.alt) {\n set.add(item.alt.id);\n }\n }\n }\n this._commands.forEach((command, id) => {\n if (!set.has(id)) {\n result.push({ command });\n }\n });\n }\n};\nexport class SubmenuItemAction extends SubmenuAction {\n constructor(item, hideActions, actions) {\n super(`submenuitem.${item.submenu.id}`, typeof item.title === 'string' ? item.title : item.title.value, actions, 'submenu');\n this.item = item;\n this.hideActions = hideActions;\n }\n}\n// implements IAction, does NOT extend Action, so that no one\n// subscribes to events of Action or modified properties\nlet MenuItemAction = MenuItemAction_1 = class MenuItemAction {\n static label(action, options) {\n return (options === null || options === void 0 ? void 0 : options.renderShortTitle) && action.shortTitle\n ? (typeof action.shortTitle === 'string' ? action.shortTitle : action.shortTitle.value)\n : (typeof action.title === 'string' ? action.title : action.title.value);\n }\n constructor(item, alt, options, hideActions, menuKeybinding, contextKeyService, _commandService) {\n var _a, _b;\n this.hideActions = hideActions;\n this.menuKeybinding = menuKeybinding;\n this._commandService = _commandService;\n this.id = item.id;\n this.label = MenuItemAction_1.label(item, options);\n this.tooltip = (_b = (typeof item.tooltip === 'string' ? item.tooltip : (_a = item.tooltip) === null || _a === void 0 ? void 0 : _a.value)) !== null && _b !== void 0 ? _b : '';\n this.enabled = !item.precondition || contextKeyService.contextMatchesRules(item.precondition);\n this.checked = undefined;\n let icon;\n if (item.toggled) {\n const toggled = (item.toggled.condition ? item.toggled : { condition: item.toggled });\n this.checked = contextKeyService.contextMatchesRules(toggled.condition);\n if (this.checked && toggled.tooltip) {\n this.tooltip = typeof toggled.tooltip === 'string' ? toggled.tooltip : toggled.tooltip.value;\n }\n if (this.checked && ThemeIcon.isThemeIcon(toggled.icon)) {\n icon = toggled.icon;\n }\n if (this.checked && toggled.title) {\n this.label = typeof toggled.title === 'string' ? toggled.title : toggled.title.value;\n }\n }\n if (!icon) {\n icon = ThemeIcon.isThemeIcon(item.icon) ? item.icon : undefined;\n }\n this.item = item;\n this.alt = alt ? new MenuItemAction_1(alt, undefined, options, hideActions, undefined, contextKeyService, _commandService) : undefined;\n this._options = options;\n this.class = icon && ThemeIcon.asClassName(icon);\n }\n run(...args) {\n var _a, _b;\n let runArgs = [];\n if ((_a = this._options) === null || _a === void 0 ? void 0 : _a.arg) {\n runArgs = [...runArgs, this._options.arg];\n }\n if ((_b = this._options) === null || _b === void 0 ? void 0 : _b.shouldForwardArgs) {\n runArgs = [...runArgs, ...args];\n }\n return this._commandService.executeCommand(this.id, ...runArgs);\n }\n};\nMenuItemAction = MenuItemAction_1 = __decorate([\n __param(5, IContextKeyService),\n __param(6, ICommandService)\n], MenuItemAction);\nexport { MenuItemAction };\nexport class Action2 {\n constructor(desc) {\n this.desc = desc;\n }\n}\nexport function registerAction2(ctor) {\n const disposables = []; // not using `DisposableStore` to reduce startup perf cost\n const action = new ctor();\n const { f1, menu, keybinding, ...command } = action.desc;\n if (CommandsRegistry.getCommand(command.id)) {\n throw new Error(`Cannot register two commands with the same id: ${command.id}`);\n }\n // command\n disposables.push(CommandsRegistry.registerCommand({\n id: command.id,\n handler: (accessor, ...args) => action.run(accessor, ...args),\n metadata: command.metadata,\n }));\n // menu\n if (Array.isArray(menu)) {\n for (const item of menu) {\n disposables.push(MenuRegistry.appendMenuItem(item.id, { command: { ...command, precondition: item.precondition === null ? undefined : command.precondition }, ...item }));\n }\n }\n else if (menu) {\n disposables.push(MenuRegistry.appendMenuItem(menu.id, { command: { ...command, precondition: menu.precondition === null ? undefined : command.precondition }, ...menu }));\n }\n if (f1) {\n disposables.push(MenuRegistry.appendMenuItem(MenuId.CommandPalette, { command, when: command.precondition }));\n disposables.push(MenuRegistry.addCommand(command));\n }\n // keybinding\n if (Array.isArray(keybinding)) {\n for (const item of keybinding) {\n disposables.push(KeybindingsRegistry.registerKeybindingRule({\n ...item,\n id: command.id,\n when: command.precondition ? ContextKeyExpr.and(command.precondition, item.when) : item.when\n }));\n }\n }\n else if (keybinding) {\n disposables.push(KeybindingsRegistry.registerKeybindingRule({\n ...keybinding,\n id: command.id,\n when: command.precondition ? ContextKeyExpr.and(command.precondition, keybinding.when) : keybinding.when\n }));\n }\n return {\n dispose() {\n dispose(disposables);\n }\n };\n}\n//#endregion\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 *--------------------------------------------------------------------------------------------*/\nvar __decorate = (this && this.__decorate) || function (decorators, target, key, desc) {\n var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;\n if (typeof Reflect === \"object\" && typeof Reflect.decorate === \"function\") r = Reflect.decorate(decorators, target, key, desc);\n else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r;\n return c > 3 && r && Object.defineProperty(target, key, r), r;\n};\nvar __param = (this && this.__param) || function (paramIndex, decorator) {\n return function (target, key) { decorator(target, key, paramIndex); }\n};\nvar PersistedMenuHideState_1, MenuInfo_1;\nimport { RunOnceScheduler } from '../../../base/common/async.js';\nimport { DebounceEmitter, Emitter } from '../../../base/common/event.js';\nimport { DisposableStore } from '../../../base/common/lifecycle.js';\nimport { isIMenuItem, isISubmenuItem, MenuItemAction, MenuRegistry, SubmenuItemAction } from './actions.js';\nimport { ICommandService } from '../../commands/common/commands.js';\nimport { IContextKeyService } from '../../contextkey/common/contextkey.js';\nimport { Separator, toAction } from '../../../base/common/actions.js';\nimport { IStorageService } from '../../storage/common/storage.js';\nimport { removeFastWithoutKeepingOrder } from '../../../base/common/arrays.js';\nimport { localize } from '../../../nls.js';\nimport { IKeybindingService } from '../../keybinding/common/keybinding.js';\nlet MenuService = class MenuService {\n constructor(_commandService, _keybindingService, storageService) {\n this._commandService = _commandService;\n this._keybindingService = _keybindingService;\n this._hiddenStates = new PersistedMenuHideState(storageService);\n }\n createMenu(id, contextKeyService, options) {\n return new MenuImpl(id, this._hiddenStates, { emitEventsForSubmenuChanges: false, eventDebounceDelay: 50, ...options }, this._commandService, this._keybindingService, contextKeyService);\n }\n resetHiddenStates(ids) {\n this._hiddenStates.reset(ids);\n }\n};\nMenuService = __decorate([\n __param(0, ICommandService),\n __param(1, IKeybindingService),\n __param(2, IStorageService)\n], MenuService);\nexport { MenuService };\nlet PersistedMenuHideState = PersistedMenuHideState_1 = class PersistedMenuHideState {\n constructor(_storageService) {\n this._storageService = _storageService;\n this._disposables = new DisposableStore();\n this._onDidChange = new Emitter();\n this.onDidChange = this._onDidChange.event;\n this._ignoreChangeEvent = false;\n this._hiddenByDefaultCache = new Map();\n try {\n const raw = _storageService.get(PersistedMenuHideState_1._key, 0 /* StorageScope.PROFILE */, '{}');\n this._data = JSON.parse(raw);\n }\n catch (err) {\n this._data = Object.create(null);\n }\n this._disposables.add(_storageService.onDidChangeValue(0 /* StorageScope.PROFILE */, PersistedMenuHideState_1._key, this._disposables)(() => {\n if (!this._ignoreChangeEvent) {\n try {\n const raw = _storageService.get(PersistedMenuHideState_1._key, 0 /* StorageScope.PROFILE */, '{}');\n this._data = JSON.parse(raw);\n }\n catch (err) {\n console.log('FAILED to read storage after UPDATE', err);\n }\n }\n this._onDidChange.fire();\n }));\n }\n dispose() {\n this._onDidChange.dispose();\n this._disposables.dispose();\n }\n _isHiddenByDefault(menu, commandId) {\n var _a;\n return (_a = this._hiddenByDefaultCache.get(`${menu.id}/${commandId}`)) !== null && _a !== void 0 ? _a : false;\n }\n setDefaultState(menu, commandId, hidden) {\n this._hiddenByDefaultCache.set(`${menu.id}/${commandId}`, hidden);\n }\n isHidden(menu, commandId) {\n var _a, _b;\n const hiddenByDefault = this._isHiddenByDefault(menu, commandId);\n const state = (_b = (_a = this._data[menu.id]) === null || _a === void 0 ? void 0 : _a.includes(commandId)) !== null && _b !== void 0 ? _b : false;\n return hiddenByDefault ? !state : state;\n }\n updateHidden(menu, commandId, hidden) {\n const hiddenByDefault = this._isHiddenByDefault(menu, commandId);\n if (hiddenByDefault) {\n hidden = !hidden;\n }\n const entries = this._data[menu.id];\n if (!hidden) {\n // remove and cleanup\n if (entries) {\n const idx = entries.indexOf(commandId);\n if (idx >= 0) {\n removeFastWithoutKeepingOrder(entries, idx);\n }\n if (entries.length === 0) {\n delete this._data[menu.id];\n }\n }\n }\n else {\n // add unless already added\n if (!entries) {\n this._data[menu.id] = [commandId];\n }\n else {\n const idx = entries.indexOf(commandId);\n if (idx < 0) {\n entries.push(commandId);\n }\n }\n }\n this._persist();\n }\n reset(menus) {\n if (menus === undefined) {\n // reset all\n this._data = Object.create(null);\n this._persist();\n }\n else {\n // reset only for a specific menu\n for (const { id } of menus) {\n if (this._data[id]) {\n delete this._data[id];\n }\n }\n this._persist();\n }\n }\n _persist() {\n try {\n this._ignoreChangeEvent = true;\n const raw = JSON.stringify(this._data);\n this._storageService.store(PersistedMenuHideState_1._key, raw, 0 /* StorageScope.PROFILE */, 0 /* StorageTarget.USER */);\n }\n finally {\n this._ignoreChangeEvent = false;\n }\n }\n};\nPersistedMenuHideState._key = 'menu.hiddenCommands';\nPersistedMenuHideState = PersistedMenuHideState_1 = __decorate([\n __param(0, IStorageService)\n], PersistedMenuHideState);\nlet MenuInfo = MenuInfo_1 = class MenuInfo {\n constructor(_id, _hiddenStates, _collectContextKeysForSubmenus, _commandService, _keybindingService, _contextKeyService) {\n this._id = _id;\n this._hiddenStates = _hiddenStates;\n this._collectContextKeysForSubmenus = _collectContextKeysForSubmenus;\n this._commandService = _commandService;\n this._keybindingService = _keybindingService;\n this._contextKeyService = _contextKeyService;\n this._menuGroups = [];\n this._structureContextKeys = new Set();\n this._preconditionContextKeys = new Set();\n this._toggledContextKeys = new Set();\n this.refresh();\n }\n get structureContextKeys() {\n return this._structureContextKeys;\n }\n get preconditionContextKeys() {\n return this._preconditionContextKeys;\n }\n get toggledContextKeys() {\n return this._toggledContextKeys;\n }\n refresh() {\n // reset\n this._menuGroups.length = 0;\n this._structureContextKeys.clear();\n this._preconditionContextKeys.clear();\n this._toggledContextKeys.clear();\n const menuItems = MenuRegistry.getMenuItems(this._id);\n let group;\n menuItems.sort(MenuInfo_1._compareMenuItems);\n for (const item of menuItems) {\n // group by groupId\n const groupName = item.group || '';\n if (!group || group[0] !== groupName) {\n group = [groupName, []];\n this._menuGroups.push(group);\n }\n group[1].push(item);\n // keep keys for eventing\n this._collectContextKeys(item);\n }\n }\n _collectContextKeys(item) {\n MenuInfo_1._fillInKbExprKeys(item.when, this._structureContextKeys);\n if (isIMenuItem(item)) {\n // keep precondition keys for event if applicable\n if (item.command.precondition) {\n MenuInfo_1._fillInKbExprKeys(item.command.precondition, this._preconditionContextKeys);\n }\n // keep toggled keys for event if applicable\n if (item.command.toggled) {\n const toggledExpression = item.command.toggled.condition || item.command.toggled;\n MenuInfo_1._fillInKbExprKeys(toggledExpression, this._toggledContextKeys);\n }\n }\n else if (this._collectContextKeysForSubmenus) {\n // recursively collect context keys from submenus so that this\n // menu fires events when context key changes affect submenus\n MenuRegistry.getMenuItems(item.submenu).forEach(this._collectContextKeys, this);\n }\n }\n createActionGroups(options) {\n const result = [];\n for (const group of this._menuGroups) {\n const [id, items] = group;\n let activeActions;\n for (const item of items) {\n if (this._contextKeyService.contextMatchesRules(item.when)) {\n const isMenuItem = isIMenuItem(item);\n if (isMenuItem) {\n this._hiddenStates.setDefaultState(this._id, item.command.id, !!item.isHiddenByDefault);\n }\n const menuHide = createMenuHide(this._id, isMenuItem ? item.command : item, this._hiddenStates);\n if (isMenuItem) {\n // MenuItemAction\n const menuKeybinding = createConfigureKeybindingAction(item.command.id, item.when, this._commandService, this._keybindingService);\n (activeActions !== null && activeActions !== void 0 ? activeActions : (activeActions = [])).push(new MenuItemAction(item.command, item.alt, options, menuHide, menuKeybinding, this._contextKeyService, this._commandService));\n }\n else {\n // SubmenuItemAction\n const groups = new MenuInfo_1(item.submenu, this._hiddenStates, this._collectContextKeysForSubmenus, this._commandService, this._keybindingService, this._contextKeyService).createActionGroups(options);\n const submenuActions = Separator.join(...groups.map(g => g[1]));\n if (submenuActions.length > 0) {\n (activeActions !== null && activeActions !== void 0 ? activeActions : (activeActions = [])).push(new SubmenuItemAction(item, menuHide, submenuActions));\n }\n }\n }\n }\n if (activeActions && activeActions.length > 0) {\n result.push([id, activeActions]);\n }\n }\n return result;\n }\n static _fillInKbExprKeys(exp, set) {\n if (exp) {\n for (const key of exp.keys()) {\n set.add(key);\n }\n }\n }\n static _compareMenuItems(a, b) {\n const aGroup = a.group;\n const bGroup = b.group;\n if (aGroup !== bGroup) {\n // Falsy groups come last\n if (!aGroup) {\n return 1;\n }\n else if (!bGroup) {\n return -1;\n }\n // 'navigation' group comes first\n if (aGroup === 'navigation') {\n return -1;\n }\n else if (bGroup === 'navigation') {\n return 1;\n }\n // lexical sort for groups\n const value = aGroup.localeCompare(bGroup);\n if (value !== 0) {\n return value;\n }\n }\n // sort on priority - default is 0\n const aPrio = a.order || 0;\n const bPrio = b.order || 0;\n if (aPrio < bPrio) {\n return -1;\n }\n else if (aPrio > bPrio) {\n return 1;\n }\n // sort on titles\n return MenuInfo_1._compareTitles(isIMenuItem(a) ? a.command.title : a.title, isIMenuItem(b) ? b.command.title : b.title);\n }\n static _compareTitles(a, b) {\n const aStr = typeof a === 'string' ? a : a.original;\n const bStr = typeof b === 'string' ? b : b.original;\n return aStr.localeCompare(bStr);\n }\n};\nMenuInfo = MenuInfo_1 = __decorate([\n __param(3, ICommandService),\n __param(4, IKeybindingService),\n __param(5, IContextKeyService)\n], MenuInfo);\nlet MenuImpl = class MenuImpl {\n constructor(id, hiddenStates, options, commandService, keybindingService, contextKeyService) {\n this._disposables = new DisposableStore();\n this._menuInfo = new MenuInfo(id, hiddenStates, options.emitEventsForSubmenuChanges, commandService, keybindingService, contextKeyService);\n // Rebuild this menu whenever the menu registry reports an event for this MenuId.\n // This usually happen while code and extensions are loaded and affects the over\n // structure of the menu\n const rebuildMenuSoon = new RunOnceScheduler(() => {\n this._menuInfo.refresh();\n this._onDidChange.fire({ menu: this, isStructuralChange: true, isEnablementChange: true, isToggleChange: true });\n }, options.eventDebounceDelay);\n this._disposables.add(rebuildMenuSoon);\n this._disposables.add(MenuRegistry.onDidChangeMenu(e => {\n if (e.has(id)) {\n rebuildMenuSoon.schedule();\n }\n }));\n // When context keys or storage state changes we need to check if the menu also has changed. However,\n // we only do that when someone listens on this menu because (1) these events are\n // firing often and (2) menu are often leaked\n const lazyListener = this._disposables.add(new DisposableStore());\n const merge = (events) => {\n let isStructuralChange = false;\n let isEnablementChange = false;\n let isToggleChange = false;\n for (const item of events) {\n isStructuralChange = isStructuralChange || item.isStructuralChange;\n isEnablementChange = isEnablementChange || item.isEnablementChange;\n isToggleChange = isToggleChange || item.isToggleChange;\n if (isStructuralChange && isEnablementChange && isToggleChange) {\n // everything is TRUE, no need to continue iterating\n break;\n }\n }\n return { menu: this, isStructuralChange, isEnablementChange, isToggleChange };\n };\n const startLazyListener = () => {\n lazyListener.add(contextKeyService.onDidChangeContext(e => {\n const isStructuralChange = e.affectsSome(this._menuInfo.structureContextKeys);\n const isEnablementChange = e.affectsSome(this._menuInfo.preconditionContextKeys);\n const isToggleChange = e.affectsSome(this._menuInfo.toggledContextKeys);\n if (isStructuralChange || isEnablementChange || isToggleChange) {\n this._onDidChange.fire({ menu: this, isStructuralChange, isEnablementChange, isToggleChange });\n }\n }));\n lazyListener.add(hiddenStates.onDidChange(e => {\n this._onDidChange.fire({ menu: this, isStructuralChange: true, isEnablementChange: false, isToggleChange: false });\n }));\n };\n this._onDidChange = new DebounceEmitter({\n // start/stop context key listener\n onWillAddFirstListener: startLazyListener,\n onDidRemoveLastListener: lazyListener.clear.bind(lazyListener),\n delay: options.eventDebounceDelay,\n merge\n });\n this.onDidChange = this._onDidChange.event;\n }\n getActions(options) {\n return this._menuInfo.createActionGroups(options);\n }\n dispose() {\n this._disposables.dispose();\n this._onDidChange.dispose();\n }\n};\nMenuImpl = __decorate([\n __param(3, ICommandService),\n __param(4, IKeybindingService),\n __param(5, IContextKeyService)\n], MenuImpl);\nfunction createMenuHide(menu, command, states) {\n const id = isISubmenuItem(command) ? command.submenu.id : command.id;\n const title = typeof command.title === 'string' ? command.title : command.title.value;\n const hide = toAction({\n id: `hide/${menu.id}/${id}`,\n label: localize('hide.label', 'Hide \\'{0}\\'', title),\n run() { states.updateHidden(menu, id, true); }\n });\n const toggle = toAction({\n id: `toggle/${menu.id}/${id}`,\n label: title,\n get checked() { return !states.isHidden(menu, id); },\n run() { states.updateHidden(menu, id, !!this.checked); }\n });\n return {\n hide,\n toggle,\n get isHidden() { return !toggle.checked; },\n };\n}\nexport function createConfigureKeybindingAction(commandId, when = undefined, commandService, keybindingService) {\n return toAction({\n id: `configureKeybinding/${commandId}`,\n label: localize('configure keybinding', \"Configure Keybinding\"),\n run() {\n // Only set the when clause when there is no keybinding\n // It is possible that the action and the keybinding have different when clauses\n const hasKeybinding = !!keybindingService.lookupKeybinding(commandId); // This may only be called inside the `run()` method as it can be expensive on startup. #210529\n const whenValue = !hasKeybinding && when ? when.serialize() : undefined;\n commandService.executeCommand('workbench.action.openGlobalKeybindings', `@command:${commandId}` + (whenValue ? ` +when:${whenValue}` : ''));\n }\n });\n}\n"],"names":["isPseudo","document","location","hash","indexOf","_format","message","args","result","length","replace","match","rest","index","arg","String","localize","data","localize2","original","value","getConfiguredDefaultLocale","_","__decorate","decorators","target","key","desc","d","c","arguments","r","Object","getOwnPropertyDescriptor","Reflect","decorate","i","defineProperty","__param","paramIndex","decorator","AccessibilityService","constructor","_contextKeyService","_layoutService","_configurationService","super","this","_accessibilitySupport","_onDidChangeScreenReaderOptimized","_onDidChangeReducedMotion","_accessibilityModeEnabledContext","updateContextKey","set","isScreenReaderOptimized","_register","onDidChangeConfiguration","e","affectsConfiguration","fire","_configMotionReduced","getValue","onDidChangeScreenReaderOptimized","reduceMotionMatcher","_systemMotionReduced","matches","initReducedMotionListeners","updateRootClasses","reduce","isMotionReduced","mainContainer","classList","toggle","onDidChangeReducedMotion","event","config","getAccessibilitySupport","AccessibleViewRegistry","_implementations","register","implementation","push","dispose","idx","splice","getImplementations","IAccessibilityService","CONTEXT_ACCESSIBILITY_MODE_ENABLED","IAccessibilitySignalService","Symbol","Sound","options","fileName","error","warning","success","foldedArea","break","quickFixes","taskCompleted","taskFailed","terminalBell","diffLineInserted","diffLineDeleted","diffLineModified","chatRequestSent","chatResponseReceived1","chatResponseReceived2","chatResponseReceived3","chatResponseReceived4","clear","save","format","voiceRecordingStarted","voiceRecordingStopped","progress","SoundSource","randomOneOf","AccessibilitySignal","sound","name","legacySoundSettingsKey","settingsKey","legacyAnnouncementSettingsKey","announcementMessage","delaySettingsKey","soundSource","signal","_signals","add","Set","errorAtPosition","warningAtPosition","errorOnLine","warningOnLine","inlineSuggestion","terminalQuickFix","onDebugBreak","noInlayHints","terminalCommandFailed","terminalCommandSucceeded","notebookCellCompleted","notebookCellFailed","chatResponseReceived","isLocalizedString","thing","isICommandActionToggleInfo","undefined","condition","Categories","freeze","View","Help","Test","File","Preferences","Developer","comment","acceptSelectedActionCommand","previewSelectedActionCommand","HeaderRenderer","templateId","renderTemplate","container","text","createElement","append","renderElement","element","_index","templateData","_a","_b","textContent","group","title","disposeTemplate","_templateData","ActionItemRenderer","_supportsPreview","_keybindingService","icon","className","keybinding","OS","_c","color","style","id","item","label","stripNewlines","dom","actionTitle","lookupKeybinding","getLabel","previewTitle","disabled","canPreview","AcceptSelectedEvent","UIEvent","PreviewSelectedEvent","getKeyboardNavigationLabel","kind","ActionList","user","preview","items","_delegate","_contextViewService","_actionLineHeight","_headerLineHeight","cts","domNode","virtualDelegate","getHeight","getTemplateId","_list","keyboardSupport","typeNavigationEnabled","keyboardNavigationLabelProvider","accessibilityProvider","getAriaLabel","getWidgetAriaLabel","getRole","getWidgetRole","onMouseClick","onListClick","onMouseOver","onListHover","onDidChangeFocus","onFocus","onDidChangeSelection","onListSelection","_allMenuItems","focusNext","focusCondition","hide","didCancel","onHide","cancel","hideContextView","layout","minWidth","numHeaders","filter","heightWithHeaders","maxWidth","itemWidths","map","ownerDocument","getElementById","getElementID","width","getBoundingClientRect","Math","max","height","min","body","clientHeight","domFocus","focusPrevious","acceptSelected","focused","getFocus","focusIndex","setSelection","elements","onSelect","browserEvent","call","onHover","token","setFocus","str","dark","light","hcDark","hcLight","ActionWidgetContextKeys","Visible","IActionWidgetService","ActionWidgetService","isVisible","_instantiationService","show","supportsPreview","delegate","anchor","actionBarActions","visibleContext","bindTo","list","createInstance","showContextView","getAnchor","render","_renderWidget","reset","_onWidgetClosed","widget","appendChild","Error","renderDisposables","menuBlock","block","stopPropagation","pointerBlockDiv","pointerBlock","remove","actionBarWidth","actionBar","_createActionBar","getContainer","parentElement","offsetWidth","focusTracker","onDidBlur","actions","$","weight","precondition","primary","secondary","run","accessor","get","mac","widgetService","createAndFillInContextMenuActions","menu","primaryGroup","groups","getActions","modifierKeyEmitter","fillInActions","keyStatus","altKey","shiftKey","actionGroup","createAndFillInActionBarActions","shouldInlineSubmenu","useSeparatorsInPrimaryActions","useAlternativeActions","isPrimaryAction","primaryBucket","secondaryBucket","Array","isArray","submenuInfo","action","alt","newLen","submenuActions","MenuEntryActionViewItem","_notificationService","_themeService","_contextMenuService","_accessibilityService","class","draggable","hoverDelegate","_wantsAltCommand","_itemClassDispose","_altKey","_menuItemAction","_action","_commandAction","onClick","preventDefault","actionRunner","_context","err","_updateItemClass","isMouseOver","updateAltState","wantsAltCommand","enabled","updateLabel","updateTooltip","updateClass","getTooltip","keybindingLabel","tooltip","altTooltip","altKeybinding","altKeybindingLabel","altTitleSection","checked","toggled","iconClasses","backgroundImage","getColorTheme","type","onDidColorThemeChange","SubmenuEntryActionViewItem","dropdownOptions","menuAsChild","classNames","keybindingProvider","setBackgroundImage","DropdownWithDefaultActionViewItem","submenuAction","_menuService","_instaService","_storageService","defaultAction","_container","_options","_storageKey","submenu","defaultActionId","persistLastActionId","find","a","_defaultAction","_getDefaultActionKeybindingLabel","_dropdown","onDidRun","update","lastAction","store","runAction","context","defaultActionKeybinding","renderKeybindingWithDefaultActionLabel","kb","setActionContext","newContext","primaryContainer","equals","tabIndex","focus","dropdownContainer","setFocusable","fromRight","blur","focusable","SubmenuEntrySelectActionViewItem","contextViewService","isDisabled","ariaLabel","optionsAsChildren","select","findIndex","borderColor","option","createActionViewItem","instaService","isSelection","rememberDefaultAction","WorkbenchToolBar","_commandService","telemetryService","getKeyBinding","allowContextMenu","skipTelemetry","telemetrySource","_sessionDisposables","_store","publicLog2","from","setActions","_primary","_secondary","menuIds","slice","toggleActions","toggleActionsCheckedCount","extraSecondary","someAreHidden","hiddenItemStrategy","hideActions","isHidden","overflowBehavior","exemptedIds","exempted","maxItems","size","count","has","getElement","_d","_e","getItemAction","primaryActions","menuKeybinding","noHide","resetMenu","resetHiddenStates","showContextMenu","menuId","contextMenu","menuActionOptions","renderShortTitle","menuOptions","contextKeyService","MenuWorkbenchToolBar","menuService","contextMenuService","keybindingService","commandService","_onDidChangeMenuItems","onDidChangeMenuItems","createMenu","emitEventsForSubmenuChanges","updateToolbar","toolbarOptions","onDidChange","MenuItemAction_1","isIMenuItem","command","isISubmenuItem","MenuId","identifier","_instances","TypeError","Map","CommandPalette","DebugBreakpointsContext","DebugCallStackContext","DebugConsoleContext","DebugVariablesContext","NotebookVariablesContext","DebugHoverContext","DebugWatchContext","DebugToolBar","DebugToolBarStop","EditorContext","SimpleEditorContext","EditorContent","EditorLineNumberContext","EditorContextCopy","EditorContextPeek","EditorContextShare","EditorTitle","EditorTitleRun","EditorTitleContext","EditorTitleContextShare","EmptyEditorGroup","EmptyEditorGroupContext","EditorTabsBarContext","EditorTabsBarShowTabsSubmenu","EditorTabsBarShowTabsZenModeSubmenu","EditorActionsPositionSubmenu","ExplorerContext","ExplorerContextShare","ExtensionContext","GlobalActivity","CommandCenter","CommandCenterCenter","LayoutControlMenuSubmenu","LayoutControlMenu","MenubarMainMenu","MenubarAppearanceMenu","MenubarDebugMenu","MenubarEditMenu","MenubarCopy","MenubarFileMenu","MenubarGoMenu","MenubarHelpMenu","MenubarLayoutMenu","MenubarNewBreakpointMenu","PanelAlignmentMenu","PanelPositionMenu","ActivityBarPositionMenu","MenubarPreferencesMenu","MenubarRecentMenu","MenubarSelectionMenu","MenubarShare","MenubarSwitchEditorMenu","MenubarSwitchGroupMenu","MenubarTerminalMenu","MenubarViewMenu","MenubarHomeMenu","OpenEditorsContext","OpenEditorsContextShare","ProblemsPanelContext","SCMInputBox","SCMChangesSeparator","SCMIncomingChanges","SCMIncomingChangesContext","SCMIncomingChangesSetting","SCMOutgoingChanges","SCMOutgoingChangesContext","SCMOutgoingChangesSetting","SCMIncomingChangesAllChangesContext","SCMIncomingChangesHistoryItemContext","SCMOutgoingChangesAllChangesContext","SCMOutgoingChangesHistoryItemContext","SCMChangeContext","SCMResourceContext","SCMResourceContextShare","SCMResourceFolderContext","SCMResourceGroupContext","SCMSourceControl","SCMSourceControlInline","SCMSourceControlTitle","SCMTitle","SearchContext","SearchActionMenu","StatusBarWindowIndicatorMenu","StatusBarRemoteIndicatorMenu","StickyScrollContext","TestItem","TestItemGutter","TestMessageContext","TestMessageContent","TestPeekElement","TestPeekTitle","TouchBarContext","TitleBarContext","TitleBarTitleContext","TunnelContext","TunnelPrivacy","TunnelProtocol","TunnelPortInline","TunnelTitle","TunnelLocalAddressInline","TunnelOriginInline","ViewItemContext","ViewContainerTitle","ViewContainerTitleContext","ViewTitle","ViewTitleContext","CommentEditorActions","CommentThreadTitle","CommentThreadActions","CommentThreadAdditionalActions","CommentThreadTitleContext","CommentThreadCommentContext","CommentTitle","CommentActions","CommentsViewThreadActions","InteractiveToolbar","InteractiveCellTitle","InteractiveCellDelete","InteractiveCellExecute","InteractiveInputExecute","IssueReporter","NotebookToolbar","NotebookStickyScrollContext","NotebookCellTitle","NotebookCellDelete","NotebookCellInsert","NotebookCellBetween","NotebookCellListTop","NotebookCellExecute","NotebookCellExecuteGoTo","NotebookCellExecutePrimary","NotebookDiffCellInputTitle","NotebookDiffCellMetadataTitle","NotebookDiffCellOutputsTitle","NotebookOutputToolbar","NotebookOutlineFilter","NotebookOutlineActionMenu","NotebookEditorLayoutConfigure","NotebookKernelSource","BulkEditTitle","BulkEditContext","TimelineItemContext","TimelineTitle","TimelineTitleContext","TimelineFilterSubMenu","AccountsContext","SidebarTitle","PanelTitle","AuxiliaryBarTitle","AuxiliaryBarHeader","TerminalInstanceContext","TerminalEditorInstanceContext","TerminalNewDropdownContext","TerminalTabContext","TerminalTabEmptyAreaContext","TerminalStickyScrollContext","WebviewContext","InlineCompletionsActions","InlineEditActions","NewFile","MergeInput1Toolbar","MergeInput2Toolbar","MergeBaseToolbar","MergeInputResultToolbar","InlineSuggestionToolbar","InlineEditToolbar","ChatContext","ChatCodeBlock","ChatCompareBlock","ChatMessageTitle","ChatExecute","ChatExecuteSecondary","ChatInputSide","AccessibleView","MultiDiffEditorFileToolbar","DiffEditorHunkToolbar","DiffEditorSelectionToolbar","IMenuService","MenuRegistryChangeEvent","_all","merge","events","ids","candidate","MenuRegistry","_commands","_menuItems","_onDidChangeMenu","onDidChangeMenu","addCommand","for","delete","getCommand","getCommands","forEach","appendMenuItem","rm","appendMenuItems","getMenuItems","_appendImplicitItems","SubmenuItemAction","MenuItemAction","shortTitle","contextMatchesRules","runArgs","shouldForwardArgs","executeCommand","Action2","registerAction2","ctor","disposables","f1","handler","metadata","when","PersistedMenuHideState_1","MenuInfo_1","MenuService","storageService","_hiddenStates","PersistedMenuHideState","MenuImpl","eventDebounceDelay","_disposables","_onDidChange","_ignoreChangeEvent","_hiddenByDefaultCache","raw","_key","_data","JSON","parse","create","onDidChangeValue","console","log","_isHiddenByDefault","commandId","setDefaultState","hidden","hiddenByDefault","state","includes","updateHidden","entries","_persist","menus","stringify","MenuInfo","_id","_collectContextKeysForSubmenus","_menuGroups","_structureContextKeys","_preconditionContextKeys","_toggledContextKeys","refresh","structureContextKeys","preconditionContextKeys","toggledContextKeys","menuItems","sort","_compareMenuItems","groupName","_collectContextKeys","_fillInKbExprKeys","toggledExpression","createActionGroups","activeActions","isMenuItem","isHiddenByDefault","menuHide","createMenuHide","createConfigureKeybindingAction","g","exp","keys","b","aGroup","bGroup","localeCompare","aPrio","order","bPrio","_compareTitles","aStr","bStr","hiddenStates","_menuInfo","rebuildMenuSoon","isStructuralChange","isEnablementChange","isToggleChange","schedule","lazyListener","onWillAddFirstListener","onDidChangeContext","affectsSome","onDidRemoveLastListener","bind","delay","states","whenValue","serialize"],"sourceRoot":""}