monaco-editor-core 0.55.0-dev-20251011 → 0.55.0-dev-20251013

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
@@ -1,6 +1,6 @@
1
1
  /*!-----------------------------------------------------------
2
2
  * Copyright (c) Microsoft Corporation. All rights reserved.
3
- * Version: 0.55.0-dev-20251011(0fd6f29a23b1e250b8e1fe11dfbcb6a8e7824b3b)
3
+ * Version: 0.55.0-dev-20251013(0fd6f29a23b1e250b8e1fe11dfbcb6a8e7824b3b)
4
4
  * Released under the MIT license
5
5
  * https://github.com/microsoft/vscode/blob/main/LICENSE.txt
6
6
  *-----------------------------------------------------------*/
@@ -1,6 +1,6 @@
1
1
  /*!-----------------------------------------------------------
2
2
  * Copyright (c) Microsoft Corporation. All rights reserved.
3
- * Version: 0.55.0-dev-20251011(0fd6f29a23b1e250b8e1fe11dfbcb6a8e7824b3b)
3
+ * Version: 0.55.0-dev-20251013(0fd6f29a23b1e250b8e1fe11dfbcb6a8e7824b3b)
4
4
  * Released under the MIT license
5
5
  * https://github.com/microsoft/vscode/blob/main/LICENSE.txt
6
6
  *-----------------------------------------------------------*/
@@ -1,6 +1,6 @@
1
1
  /*!-----------------------------------------------------------
2
2
  * Copyright (c) Microsoft Corporation. All rights reserved.
3
- * Version: 0.55.0-dev-20251011(0fd6f29a23b1e250b8e1fe11dfbcb6a8e7824b3b)
3
+ * Version: 0.55.0-dev-20251013(0fd6f29a23b1e250b8e1fe11dfbcb6a8e7824b3b)
4
4
  * Released under the MIT license
5
5
  * https://github.com/microsoft/vscode/blob/main/LICENSE.txt
6
6
  *-----------------------------------------------------------*/
@@ -1,6 +1,6 @@
1
1
  /*!-----------------------------------------------------------
2
2
  * Copyright (c) Microsoft Corporation. All rights reserved.
3
- * Version: 0.55.0-dev-20251011(0fd6f29a23b1e250b8e1fe11dfbcb6a8e7824b3b)
3
+ * Version: 0.55.0-dev-20251013(0fd6f29a23b1e250b8e1fe11dfbcb6a8e7824b3b)
4
4
  * Released under the MIT license
5
5
  * https://github.com/microsoft/vscode/blob/main/LICENSE.txt
6
6
  *-----------------------------------------------------------*/
@@ -1,6 +1,6 @@
1
1
  /*!-----------------------------------------------------------
2
2
  * Copyright (c) Microsoft Corporation. All rights reserved.
3
- * Version: 0.55.0-dev-20251011(0fd6f29a23b1e250b8e1fe11dfbcb6a8e7824b3b)
3
+ * Version: 0.55.0-dev-20251013(0fd6f29a23b1e250b8e1fe11dfbcb6a8e7824b3b)
4
4
  * Released under the MIT license
5
5
  * https://github.com/microsoft/vscode/blob/main/LICENSE.txt
6
6
  *-----------------------------------------------------------*/
@@ -1,6 +1,6 @@
1
1
  /*!-----------------------------------------------------------
2
2
  * Copyright (c) Microsoft Corporation. All rights reserved.
3
- * Version: 0.55.0-dev-20251011(0fd6f29a23b1e250b8e1fe11dfbcb6a8e7824b3b)
3
+ * Version: 0.55.0-dev-20251013(0fd6f29a23b1e250b8e1fe11dfbcb6a8e7824b3b)
4
4
  * Released under the MIT license
5
5
  * https://github.com/microsoft/vscode/blob/main/LICENSE.txt
6
6
  *-----------------------------------------------------------*/
@@ -1,6 +1,6 @@
1
1
  /*!-----------------------------------------------------------
2
2
  * Copyright (c) Microsoft Corporation. All rights reserved.
3
- * Version: 0.55.0-dev-20251011(0fd6f29a23b1e250b8e1fe11dfbcb6a8e7824b3b)
3
+ * Version: 0.55.0-dev-20251013(0fd6f29a23b1e250b8e1fe11dfbcb6a8e7824b3b)
4
4
  * Released under the MIT license
5
5
  * https://github.com/microsoft/vscode/blob/main/LICENSE.txt
6
6
  *-----------------------------------------------------------*/
@@ -1,6 +1,6 @@
1
1
  /*!-----------------------------------------------------------
2
2
  * Copyright (c) Microsoft Corporation. All rights reserved.
3
- * Version: 0.55.0-dev-20251011(0fd6f29a23b1e250b8e1fe11dfbcb6a8e7824b3b)
3
+ * Version: 0.55.0-dev-20251013(0fd6f29a23b1e250b8e1fe11dfbcb6a8e7824b3b)
4
4
  * Released under the MIT license
5
5
  * https://github.com/microsoft/vscode/blob/main/LICENSE.txt
6
6
  *-----------------------------------------------------------*/
@@ -1,6 +1,6 @@
1
1
  /*!-----------------------------------------------------------
2
2
  * Copyright (c) Microsoft Corporation. All rights reserved.
3
- * Version: 0.55.0-dev-20251011(0fd6f29a23b1e250b8e1fe11dfbcb6a8e7824b3b)
3
+ * Version: 0.55.0-dev-20251013(0fd6f29a23b1e250b8e1fe11dfbcb6a8e7824b3b)
4
4
  * Released under the MIT license
5
5
  * https://github.com/microsoft/vscode/blob/main/LICENSE.txt
6
6
  *-----------------------------------------------------------*/
@@ -392,6 +392,14 @@ let DropdownWithDefaultActionViewItem = class DropdownWithDefaultActionViewItem
392
392
  this._defaultAction.setActionContext(newContext);
393
393
  this._dropdown.setActionContext(newContext);
394
394
  }
395
+ set actionRunner(actionRunner) {
396
+ super.actionRunner = actionRunner;
397
+ this._defaultAction.actionRunner = actionRunner;
398
+ this._dropdown.actionRunner = actionRunner;
399
+ }
400
+ get actionRunner() {
401
+ return super.actionRunner;
402
+ }
395
403
  render(container) {
396
404
  this._container = container;
397
405
  super.render(this._container);
@@ -1 +1 @@
1
- {"version":3,"sources":["vs/platform/actions/browser/menuEntryActionViewItem.ts"],"names":[],"mappings":"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","file":"menuEntryActionViewItem.js","sourceRoot":"file:///mnt/vss/_work/1/s/dependencies/vscode/out-editor-src","sourcesContent":["/*---------------------------------------------------------------------------------------------\n * Copyright (c) Microsoft Corporation. All rights reserved.\n * Licensed under the MIT License. See License.txt in the project root for license information.\n *--------------------------------------------------------------------------------------------*/\n\nimport { asCSSUrl } from '../../../base/browser/cssValue.js';\nimport { $, addDisposableListener, append, 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, IDropdownMenuActionViewItemOptions } from '../../../base/browser/ui/dropdown/dropdownActionViewItem.js';\nimport { IHoverDelegate } from '../../../base/browser/ui/hover/hoverDelegate.js';\nimport { ActionRunner, IAction, IRunEvent, Separator, SubmenuAction } from '../../../base/common/actions.js';\nimport { UILabelProvider } from '../../../base/common/keybindingLabels.js';\nimport { ResolvedKeybinding } from '../../../base/common/keybindings.js';\nimport { KeyCode } from '../../../base/common/keyCodes.js';\nimport { combinedDisposable, DisposableStore, MutableDisposable, toDisposable } from '../../../base/common/lifecycle.js';\nimport { isLinux, isWindows, OS } from '../../../base/common/platform.js';\nimport { ThemeIcon } from '../../../base/common/themables.js';\nimport { assertType } from '../../../base/common/types.js';\nimport { localize } from '../../../nls.js';\nimport { IAccessibilityService } from '../../accessibility/common/accessibility.js';\nimport { ICommandAction, isICommandActionToggleInfo } from '../../action/common/action.js';\nimport { IConfigurationService } from '../../configuration/common/configuration.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, StorageScope, StorageTarget } from '../../storage/common/storage.js';\nimport { defaultSelectBoxStyles } from '../../theme/browser/defaultStyles.js';\nimport { asCssVariable, selectBorder } from '../../theme/common/colorRegistry.js';\nimport { isDark } from '../../theme/common/theme.js';\nimport { IThemeService } from '../../theme/common/themeService.js';\nimport { hasNativeContextMenu } from '../../window/common/window.js';\nimport { IMenuService, MenuItemAction, SubmenuItemAction } from '../common/actions.js';\nimport './menuEntryActionViewItem.css';\n\nexport interface PrimaryAndSecondaryActions {\n\tprimary: IAction[];\n\tsecondary: IAction[];\n}\n\nexport function getFlatContextMenuActions(\n\tgroups: ReadonlyArray<[string, ReadonlyArray<MenuItemAction | SubmenuItemAction>]>,\n\tprimaryGroup?: string\n): IAction[] {\n\tconst target: IAction[] = [];\n\tgetContextMenuActionsImpl(groups, target, primaryGroup);\n\treturn target;\n}\n\nfunction getContextMenuActionsImpl(\n\tgroups: ReadonlyArray<[string, ReadonlyArray<MenuItemAction | SubmenuItemAction>]>,\n\ttarget: IAction[] | PrimaryAndSecondaryActions,\n\tprimaryGroup?: string\n) {\n\tconst modifierKeyEmitter = ModifierKeyEmitter.getInstance();\n\tconst useAlternativeActions = modifierKeyEmitter.keyStatus.altKey || ((isWindows || isLinux) && modifierKeyEmitter.keyStatus.shiftKey);\n\tfillInActions(groups, target, useAlternativeActions, primaryGroup ? actionGroup => actionGroup === primaryGroup : actionGroup => actionGroup === 'navigation');\n}\n\n\nexport function getActionBarActions(\n\tgroups: [string, Array<MenuItemAction | SubmenuItemAction>][],\n\tprimaryGroup?: string | ((actionGroup: string) => boolean),\n\tshouldInlineSubmenu?: (action: SubmenuAction, group: string, groupSize: number) => boolean,\n\tuseSeparatorsInPrimaryActions?: boolean\n): PrimaryAndSecondaryActions {\n\tconst target: PrimaryAndSecondaryActions = { primary: [], secondary: [] };\n\tfillInActionBarActions(groups, target, primaryGroup, shouldInlineSubmenu, useSeparatorsInPrimaryActions);\n\treturn target;\n}\n\nexport function getFlatActionBarActions(\n\tgroups: [string, Array<MenuItemAction | SubmenuItemAction>][],\n\tprimaryGroup?: string | ((actionGroup: string) => boolean),\n\tshouldInlineSubmenu?: (action: SubmenuAction, group: string, groupSize: number) => boolean,\n\tuseSeparatorsInPrimaryActions?: boolean\n): IAction[] {\n\tconst target: IAction[] = [];\n\tfillInActionBarActions(groups, target, primaryGroup, shouldInlineSubmenu, useSeparatorsInPrimaryActions);\n\treturn target;\n}\n\nexport function fillInActionBarActions(\n\tgroups: [string, Array<MenuItemAction | SubmenuItemAction>][],\n\ttarget: IAction[] | PrimaryAndSecondaryActions,\n\tprimaryGroup?: string | ((actionGroup: string) => boolean),\n\tshouldInlineSubmenu?: (action: SubmenuAction, group: string, groupSize: number) => boolean,\n\tuseSeparatorsInPrimaryActions?: boolean\n): void {\n\tconst isPrimaryAction = typeof primaryGroup === 'string' ? (actionGroup: string) => actionGroup === primaryGroup : primaryGroup;\n\n\t// Action bars handle alternative actions on their own so the alternative actions should be ignored\n\tfillInActions(groups, target, false, isPrimaryAction, shouldInlineSubmenu, useSeparatorsInPrimaryActions);\n}\n\nfunction fillInActions(\n\tgroups: ReadonlyArray<[string, ReadonlyArray<MenuItemAction | SubmenuItemAction>]>,\n\ttarget: IAction[] | PrimaryAndSecondaryActions,\n\tuseAlternativeActions: boolean,\n\tisPrimaryAction: (actionGroup: string) => boolean = actionGroup => actionGroup === 'navigation',\n\tshouldInlineSubmenu: (action: SubmenuAction, group: string, groupSize: number) => boolean = () => false,\n\tuseSeparatorsInPrimaryActions: boolean = false\n): void {\n\n\tlet primaryBucket: IAction[];\n\tlet secondaryBucket: IAction[];\n\tif (Array.isArray(target)) {\n\t\tprimaryBucket = target;\n\t\tsecondaryBucket = target;\n\t} else {\n\t\tprimaryBucket = target.primary;\n\t\tsecondaryBucket = target.secondary;\n\t}\n\n\tconst submenuInfo = new Set<{ group: string; action: SubmenuAction; index: number }>();\n\n\tfor (const [group, actions] of groups) {\n\n\t\tlet target: IAction[];\n\t\tif (isPrimaryAction(group)) {\n\t\t\ttarget = primaryBucket;\n\t\t\tif (target.length > 0 && useSeparatorsInPrimaryActions) {\n\t\t\t\ttarget.push(new Separator());\n\t\t\t}\n\t\t} else {\n\t\t\ttarget = secondaryBucket;\n\t\t\tif (target.length > 0) {\n\t\t\t\ttarget.push(new Separator());\n\t\t\t}\n\t\t}\n\n\t\tfor (let action of actions) {\n\t\t\tif (useAlternativeActions) {\n\t\t\t\taction = action instanceof MenuItemAction && action.alt ? action.alt : action;\n\t\t\t}\n\t\t\tconst newLen = target.push(action);\n\t\t\t// keep submenu info for later inlining\n\t\t\tif (action instanceof SubmenuAction) {\n\t\t\t\tsubmenuInfo.add({ group, action, index: newLen - 1 });\n\t\t\t}\n\t\t}\n\t}\n\n\t// ask the outside if submenu should be inlined or not. only ask when\n\t// there would be enough space\n\tfor (const { group, action, index } of submenuInfo) {\n\t\tconst target = isPrimaryAction(group) ? primaryBucket : secondaryBucket;\n\n\t\t// inlining submenus with length 0 or 1 is easy,\n\t\t// larger submenus need to be checked with the overall limit\n\t\tconst submenuActions = action.actions;\n\t\tif (shouldInlineSubmenu(action, group, target.length)) {\n\t\t\ttarget.splice(index, 1, ...submenuActions);\n\t\t}\n\t}\n}\n\nexport interface IMenuEntryActionViewItemOptions {\n\treadonly draggable?: boolean;\n\treadonly keybinding?: string | null;\n\treadonly hoverDelegate?: IHoverDelegate;\n\treadonly keybindingNotRenderedWithLabel?: boolean;\n}\n\nexport class MenuEntryActionViewItem<T extends IMenuEntryActionViewItemOptions = IMenuEntryActionViewItemOptions> extends ActionViewItem {\n\n\tprivate _wantsAltCommand: boolean = false;\n\tprivate readonly _itemClassDispose = this._register(new MutableDisposable());\n\tprivate readonly _altKey: ModifierKeyEmitter;\n\n\tconstructor(\n\t\taction: MenuItemAction,\n\t\tprotected readonly _options: T | undefined,\n\t\t@IKeybindingService protected readonly _keybindingService: IKeybindingService,\n\t\t@INotificationService protected readonly _notificationService: INotificationService,\n\t\t@IContextKeyService protected readonly _contextKeyService: IContextKeyService,\n\t\t@IThemeService protected readonly _themeService: IThemeService,\n\t\t@IContextMenuService protected readonly _contextMenuService: IContextMenuService,\n\t\t@IAccessibilityService private readonly _accessibilityService: IAccessibilityService\n\t) {\n\t\tsuper(undefined, action, { icon: !!(action.class || action.item.icon), label: !action.class && !action.item.icon, draggable: _options?.draggable, keybinding: _options?.keybinding, hoverDelegate: _options?.hoverDelegate, keybindingNotRenderedWithLabel: _options?.keybindingNotRenderedWithLabel });\n\t\tthis._altKey = ModifierKeyEmitter.getInstance();\n\t}\n\n\tprotected get _menuItemAction(): MenuItemAction {\n\t\treturn <MenuItemAction>this._action;\n\t}\n\n\tprotected get _commandAction(): MenuItemAction {\n\t\treturn this._wantsAltCommand && this._menuItemAction.alt || this._menuItemAction;\n\t}\n\n\toverride async onClick(event: MouseEvent): Promise<void> {\n\t\tevent.preventDefault();\n\t\tevent.stopPropagation();\n\n\t\ttry {\n\t\t\tawait this.actionRunner.run(this._commandAction, this._context);\n\t\t} catch (err) {\n\t\t\tthis._notificationService.error(err);\n\t\t}\n\t}\n\n\toverride render(container: HTMLElement): void {\n\t\tsuper.render(container);\n\t\tcontainer.classList.add('menu-entry');\n\n\t\tif (this.options.icon) {\n\t\t\tthis._updateItemClass(this._menuItemAction.item);\n\t\t}\n\n\t\tif (this._menuItemAction.alt) {\n\t\t\tlet isMouseOver = false;\n\n\t\t\tconst updateAltState = () => {\n\t\t\t\tconst wantsAltCommand = !!this._menuItemAction.alt?.enabled &&\n\t\t\t\t\t(!this._accessibilityService.isMotionReduced() || isMouseOver) && (\n\t\t\t\t\t\tthis._altKey.keyStatus.altKey ||\n\t\t\t\t\t\t(this._altKey.keyStatus.shiftKey && isMouseOver)\n\t\t\t\t\t);\n\n\t\t\t\tif (wantsAltCommand !== this._wantsAltCommand) {\n\t\t\t\t\tthis._wantsAltCommand = wantsAltCommand;\n\t\t\t\t\tthis.updateLabel();\n\t\t\t\t\tthis.updateTooltip();\n\t\t\t\t\tthis.updateClass();\n\t\t\t\t}\n\t\t\t};\n\n\t\t\tthis._register(this._altKey.event(updateAltState));\n\n\t\t\tthis._register(addDisposableListener(container, 'mouseleave', _ => {\n\t\t\t\tisMouseOver = false;\n\t\t\t\tupdateAltState();\n\t\t\t}));\n\n\t\t\tthis._register(addDisposableListener(container, 'mouseenter', _ => {\n\t\t\t\tisMouseOver = true;\n\t\t\t\tupdateAltState();\n\t\t\t}));\n\n\t\t\tupdateAltState();\n\t\t}\n\t}\n\n\tprotected override updateLabel(): void {\n\t\tif (this.options.label && this.label) {\n\t\t\tthis.label.textContent = this._commandAction.label;\n\t\t}\n\t}\n\n\tprotected override getTooltip() {\n\t\tconst keybinding = this._keybindingService.lookupKeybinding(this._commandAction.id, this._contextKeyService);\n\t\tconst keybindingLabel = keybinding && keybinding.getLabel();\n\n\t\tconst tooltip = this._commandAction.tooltip || this._commandAction.label;\n\t\tlet title = keybindingLabel\n\t\t\t? localize('titleAndKb', \"{0} ({1})\", tooltip, keybindingLabel)\n\t\t\t: tooltip;\n\t\tif (!this._wantsAltCommand && this._menuItemAction.alt?.enabled) {\n\t\t\tconst altTooltip = this._menuItemAction.alt.tooltip || this._menuItemAction.alt.label;\n\t\t\tconst altKeybinding = this._keybindingService.lookupKeybinding(this._menuItemAction.alt.id, this._contextKeyService);\n\t\t\tconst altKeybindingLabel = altKeybinding && altKeybinding.getLabel();\n\t\t\tconst altTitleSection = altKeybindingLabel\n\t\t\t\t? localize('titleAndKb', \"{0} ({1})\", altTooltip, altKeybindingLabel)\n\t\t\t\t: altTooltip;\n\n\t\t\ttitle = localize('titleAndKbAndAlt', \"{0}\\n[{1}] {2}\", title, UILabelProvider.modifierLabels[OS].altKey, altTitleSection);\n\t\t}\n\t\treturn title;\n\t}\n\n\tprotected override updateClass(): void {\n\t\tif (this.options.icon) {\n\t\t\tif (this._commandAction !== this._menuItemAction) {\n\t\t\t\tif (this._menuItemAction.alt) {\n\t\t\t\t\tthis._updateItemClass(this._menuItemAction.alt.item);\n\t\t\t\t}\n\t\t\t} else {\n\t\t\t\tthis._updateItemClass(this._menuItemAction.item);\n\t\t\t}\n\t\t}\n\t}\n\n\tprivate _updateItemClass(item: ICommandAction): void {\n\t\tthis._itemClassDispose.value = undefined;\n\n\t\tconst { element, label } = this;\n\t\tif (!element || !label) {\n\t\t\treturn;\n\t\t}\n\n\t\tconst icon = this._commandAction.checked && isICommandActionToggleInfo(item.toggled) && item.toggled.icon ? item.toggled.icon : item.icon;\n\n\t\tif (!icon) {\n\t\t\treturn;\n\t\t}\n\n\t\tif (ThemeIcon.isThemeIcon(icon)) {\n\t\t\t// theme icons\n\t\t\tconst iconClasses = ThemeIcon.asClassNameArray(icon);\n\t\t\tlabel.classList.add(...iconClasses);\n\t\t\tthis._itemClassDispose.value = toDisposable(() => {\n\t\t\t\tlabel.classList.remove(...iconClasses);\n\t\t\t});\n\n\t\t} else {\n\t\t\t// icon path/url\n\t\t\tlabel.style.backgroundImage = (\n\t\t\t\tisDark(this._themeService.getColorTheme().type)\n\t\t\t\t\t? asCSSUrl(icon.dark)\n\t\t\t\t\t: asCSSUrl(icon.light)\n\t\t\t);\n\t\t\tlabel.classList.add('icon');\n\t\t\tthis._itemClassDispose.value = combinedDisposable(\n\t\t\t\ttoDisposable(() => {\n\t\t\t\t\tlabel.style.backgroundImage = '';\n\t\t\t\t\tlabel.classList.remove('icon');\n\t\t\t\t}),\n\t\t\t\tthis._themeService.onDidColorThemeChange(() => {\n\t\t\t\t\t// refresh when the theme changes in case we go between dark <-> light\n\t\t\t\t\tthis.updateClass();\n\t\t\t\t})\n\t\t\t);\n\t\t}\n\t}\n}\n\nexport interface ITextOnlyMenuEntryActionViewItemOptions extends IMenuEntryActionViewItemOptions {\n\treadonly conversational?: boolean;\n\treadonly useComma?: boolean;\n}\n\nexport class TextOnlyMenuEntryActionViewItem extends MenuEntryActionViewItem<ITextOnlyMenuEntryActionViewItemOptions> {\n\n\toverride render(container: HTMLElement): void {\n\t\tthis.options.label = true;\n\t\tthis.options.icon = false;\n\t\tsuper.render(container);\n\t\tcontainer.classList.add('text-only');\n\t\tcontainer.classList.toggle('use-comma', this._options?.useComma ?? false);\n\t}\n\n\tprotected override updateLabel() {\n\t\tconst kb = this._keybindingService.lookupKeybinding(this._action.id, this._contextKeyService);\n\t\tif (!kb) {\n\t\t\treturn super.updateLabel();\n\t\t}\n\t\tif (this.label) {\n\t\t\tconst kb2 = TextOnlyMenuEntryActionViewItem._symbolPrintEnter(kb);\n\n\t\t\tif (this._options?.conversational) {\n\t\t\t\tthis.label.textContent = localize({ key: 'content2', comment: ['A label with keybindg like \"ESC to dismiss\"'] }, '{1} to {0}', this._action.label, kb2);\n\n\t\t\t} else {\n\t\t\t\tthis.label.textContent = localize({ key: 'content', comment: ['A label', 'A keybinding'] }, '{0} ({1})', this._action.label, kb2);\n\t\t\t}\n\t\t}\n\t}\n\n\tprivate static _symbolPrintEnter(kb: ResolvedKeybinding) {\n\t\treturn kb.getLabel()\n\t\t\t?.replace(/\\benter\\b/gi, '\\u23CE')\n\t\t\t.replace(/\\bEscape\\b/gi, 'Esc');\n\t}\n}\n\nexport class SubmenuEntryActionViewItem extends DropdownMenuActionViewItem {\n\n\tconstructor(\n\t\taction: SubmenuItemAction,\n\t\toptions: IDropdownMenuActionViewItemOptions | undefined,\n\t\t@IKeybindingService protected _keybindingService: IKeybindingService,\n\t\t@IContextMenuService protected _contextMenuService: IContextMenuService,\n\t\t@IThemeService protected _themeService: IThemeService\n\t) {\n\t\tconst dropdownOptions: IDropdownMenuActionViewItemOptions = {\n\t\t\t...options,\n\t\t\tmenuAsChild: options?.menuAsChild ?? false,\n\t\t\tclassNames: options?.classNames ?? (ThemeIcon.isThemeIcon(action.item.icon) ? ThemeIcon.asClassName(action.item.icon) : undefined),\n\t\t\tkeybindingProvider: options?.keybindingProvider ?? (action => _keybindingService.lookupKeybinding(action.id))\n\t\t};\n\n\t\tsuper(action, { getActions: () => action.actions }, _contextMenuService, dropdownOptions);\n\t}\n\n\toverride render(container: HTMLElement): void {\n\t\tsuper.render(container);\n\t\tassertType(this.element);\n\n\t\tcontainer.classList.add('menu-entry');\n\t\tconst action = <SubmenuItemAction>this._action;\n\t\tconst { icon } = action.item;\n\t\tif (icon && !ThemeIcon.isThemeIcon(icon)) {\n\t\t\tthis.element.classList.add('icon');\n\t\t\tconst setBackgroundImage = () => {\n\t\t\t\tif (this.element) {\n\t\t\t\t\tthis.element.style.backgroundImage = (\n\t\t\t\t\t\tisDark(this._themeService.getColorTheme().type)\n\t\t\t\t\t\t\t? asCSSUrl(icon.dark)\n\t\t\t\t\t\t\t: asCSSUrl(icon.light)\n\t\t\t\t\t);\n\t\t\t\t}\n\t\t\t};\n\t\t\tsetBackgroundImage();\n\t\t\tthis._register(this._themeService.onDidColorThemeChange(() => {\n\t\t\t\t// refresh when the theme changes in case we go between dark <-> light\n\t\t\t\tsetBackgroundImage();\n\t\t\t}));\n\t\t}\n\t}\n}\n\nexport interface IDropdownWithDefaultActionViewItemOptions extends IDropdownMenuActionViewItemOptions {\n\trenderKeybindingWithDefaultActionLabel?: boolean;\n\ttogglePrimaryAction?: boolean;\n}\n\nexport class DropdownWithDefaultActionViewItem extends BaseActionViewItem {\n\tprivate readonly _options: IDropdownWithDefaultActionViewItemOptions | undefined;\n\tprivate _defaultAction: ActionViewItem;\n\tprivate readonly _defaultActionDisposables = this._register(new DisposableStore());\n\tprivate readonly _dropdown: DropdownMenuActionViewItem;\n\tprivate _container: HTMLElement | null = null;\n\tprivate readonly _storageKey: string;\n\n\tconstructor(\n\t\tsubmenuAction: SubmenuItemAction,\n\t\toptions: IDropdownWithDefaultActionViewItemOptions | undefined,\n\t\t@IKeybindingService protected readonly _keybindingService: IKeybindingService,\n\t\t@INotificationService protected _notificationService: INotificationService,\n\t\t@IContextMenuService protected _contextMenuService: IContextMenuService,\n\t\t@IMenuService protected _menuService: IMenuService,\n\t\t@IInstantiationService protected _instaService: IInstantiationService,\n\t\t@IStorageService protected _storageService: IStorageService\n\t) {\n\t\tsuper(null, submenuAction);\n\t\tthis._options = options;\n\t\tthis._storageKey = `${submenuAction.item.submenu.id}_lastActionId`;\n\n\t\t// determine default action\n\t\tlet defaultAction: IAction | undefined;\n\t\tconst defaultActionId = options?.togglePrimaryAction ? _storageService.get(this._storageKey, StorageScope.WORKSPACE) : undefined;\n\t\tif (defaultActionId) {\n\t\t\tdefaultAction = submenuAction.actions.find(a => defaultActionId === a.id);\n\t\t}\n\t\tif (!defaultAction) {\n\t\t\tdefaultAction = submenuAction.actions[0];\n\t\t}\n\n\t\tthis._defaultAction = this._defaultActionDisposables.add(this._instaService.createInstance(MenuEntryActionViewItem, <MenuItemAction>defaultAction, { keybinding: this._getDefaultActionKeybindingLabel(defaultAction) }));\n\n\t\tconst dropdownOptions: IDropdownMenuActionViewItemOptions = {\n\t\t\tkeybindingProvider: action => this._keybindingService.lookupKeybinding(action.id),\n\t\t\t...options,\n\t\t\tmenuAsChild: options?.menuAsChild ?? true,\n\t\t\tclassNames: options?.classNames ?? ['codicon', 'codicon-chevron-down'],\n\t\t\tactionRunner: options?.actionRunner ?? this._register(new ActionRunner()),\n\t\t};\n\n\t\tthis._dropdown = this._register(new DropdownMenuActionViewItem(submenuAction, submenuAction.actions, this._contextMenuService, dropdownOptions));\n\t\tif (options?.togglePrimaryAction) {\n\t\t\tthis._register(this._dropdown.actionRunner.onDidRun((e: IRunEvent) => {\n\t\t\t\tif (e.action instanceof MenuItemAction) {\n\t\t\t\t\tthis.update(e.action);\n\t\t\t\t}\n\t\t\t}));\n\t\t}\n\t}\n\n\tprivate update(lastAction: MenuItemAction): void {\n\t\tif (this._options?.togglePrimaryAction) {\n\t\t\tthis._storageService.store(this._storageKey, lastAction.id, StorageScope.WORKSPACE, StorageTarget.MACHINE);\n\t\t}\n\n\t\tthis._defaultActionDisposables.clear();\n\t\tthis._defaultAction = this._defaultActionDisposables.add(this._instaService.createInstance(MenuEntryActionViewItem, lastAction, { keybinding: this._getDefaultActionKeybindingLabel(lastAction) }));\n\t\tthis._defaultAction.actionRunner = this._defaultActionDisposables.add(new class extends ActionRunner {\n\t\t\tprotected override async runAction(action: IAction, context?: unknown): Promise<void> {\n\t\t\t\tawait action.run(undefined);\n\t\t\t}\n\t\t}());\n\n\t\tif (this._container) {\n\t\t\tthis._defaultAction.render(prepend(this._container, $('.action-container')));\n\t\t}\n\t}\n\n\tprivate _getDefaultActionKeybindingLabel(defaultAction: IAction) {\n\t\tlet defaultActionKeybinding: string | undefined;\n\t\tif (this._options?.renderKeybindingWithDefaultActionLabel) {\n\t\t\tconst kb = this._keybindingService.lookupKeybinding(defaultAction.id);\n\t\t\tif (kb) {\n\t\t\t\tdefaultActionKeybinding = `(${kb.getLabel()})`;\n\t\t\t}\n\t\t}\n\t\treturn defaultActionKeybinding;\n\t}\n\n\toverride setActionContext(newContext: unknown): void {\n\t\tsuper.setActionContext(newContext);\n\t\tthis._defaultAction.setActionContext(newContext);\n\t\tthis._dropdown.setActionContext(newContext);\n\t}\n\n\toverride render(container: HTMLElement): void {\n\t\tthis._container = container;\n\t\tsuper.render(this._container);\n\n\t\tthis._container.classList.add('monaco-dropdown-with-default');\n\n\t\tconst primaryContainer = $('.action-container');\n\t\tthis._defaultAction.render(append(this._container, primaryContainer));\n\t\tthis._register(addDisposableListener(primaryContainer, EventType.KEY_DOWN, (e: KeyboardEvent) => {\n\t\t\tconst event = new StandardKeyboardEvent(e);\n\t\t\tif (event.equals(KeyCode.RightArrow)) {\n\t\t\t\tthis._defaultAction.element!.tabIndex = -1;\n\t\t\t\tthis._dropdown.focus();\n\t\t\t\tevent.stopPropagation();\n\t\t\t}\n\t\t}));\n\n\t\tconst dropdownContainer = $('.dropdown-action-container');\n\t\tthis._dropdown.render(append(this._container, dropdownContainer));\n\t\tthis._register(addDisposableListener(dropdownContainer, EventType.KEY_DOWN, (e: KeyboardEvent) => {\n\t\t\tconst event = new StandardKeyboardEvent(e);\n\t\t\tif (event.equals(KeyCode.LeftArrow)) {\n\t\t\t\tthis._defaultAction.element!.tabIndex = 0;\n\t\t\t\tthis._dropdown.setFocusable(false);\n\t\t\t\tthis._defaultAction.element?.focus();\n\t\t\t\tevent.stopPropagation();\n\t\t\t}\n\t\t}));\n\t}\n\n\toverride focus(fromRight?: boolean): void {\n\t\tif (fromRight) {\n\t\t\tthis._dropdown.focus();\n\t\t} else {\n\t\t\tthis._defaultAction.element!.tabIndex = 0;\n\t\t\tthis._defaultAction.element!.focus();\n\t\t}\n\t}\n\n\toverride blur(): void {\n\t\tthis._defaultAction.element!.tabIndex = -1;\n\t\tthis._dropdown.blur();\n\t\tthis._container!.blur();\n\t}\n\n\toverride setFocusable(focusable: boolean): void {\n\t\tif (focusable) {\n\t\t\tthis._defaultAction.element!.tabIndex = 0;\n\t\t} else {\n\t\t\tthis._defaultAction.element!.tabIndex = -1;\n\t\t\tthis._dropdown.setFocusable(false);\n\t\t}\n\t}\n}\n\nclass SubmenuEntrySelectActionViewItem extends SelectActionViewItem {\n\n\tconstructor(\n\t\taction: SubmenuItemAction,\n\t\t@IContextViewService contextViewService: IContextViewService,\n\t\t@IConfigurationService configurationService: IConfigurationService,\n\t) {\n\t\tsuper(null, action, action.actions.map(a => ({\n\t\t\ttext: a.id === Separator.ID ? '\\u2500\\u2500\\u2500\\u2500\\u2500\\u2500\\u2500\\u2500\\u2500' : a.label,\n\t\t\tisDisabled: !a.enabled,\n\t\t})), 0, contextViewService, defaultSelectBoxStyles, { ariaLabel: action.tooltip, optionsAsChildren: true, useCustomDrawn: !hasNativeContextMenu(configurationService) });\n\t\tthis.select(Math.max(0, action.actions.findIndex(a => a.checked)));\n\t}\n\n\toverride render(container: HTMLElement): void {\n\t\tsuper.render(container);\n\t\tcontainer.style.borderColor = asCssVariable(selectBorder);\n\t}\n\n\tprotected override runAction(option: string, index: number): void {\n\t\tconst action = (this.action as SubmenuItemAction).actions[index];\n\t\tif (action) {\n\t\t\tthis.actionRunner.run(action);\n\t\t}\n\t}\n\n}\n\n/**\n * Creates action view items for menu actions or submenu actions.\n */\nexport function createActionViewItem(instaService: IInstantiationService, action: IAction, options: IDropdownMenuActionViewItemOptions | IMenuEntryActionViewItemOptions | undefined): undefined | MenuEntryActionViewItem | SubmenuEntryActionViewItem | BaseActionViewItem {\n\tif (action instanceof MenuItemAction) {\n\t\treturn instaService.createInstance(MenuEntryActionViewItem, action, options);\n\t} else if (action instanceof SubmenuItemAction) {\n\t\tif (action.item.isSelection) {\n\t\t\treturn instaService.createInstance(SubmenuEntrySelectActionViewItem, action);\n\t\t} else if (action.item.isSplitButton) {\n\t\t\treturn instaService.createInstance(DropdownWithDefaultActionViewItem, action, {\n\t\t\t\t...options,\n\t\t\t\ttogglePrimaryAction: typeof action.item.isSplitButton !== 'boolean' ? action.item.isSplitButton.togglePrimaryAction : false,\n\t\t\t});\n\t\t} else {\n\t\t\treturn instaService.createInstance(SubmenuEntryActionViewItem, action, options);\n\t\t}\n\t} else {\n\t\treturn undefined;\n\t}\n}\n"]}
1
+ {"version":3,"sources":["vs/platform/actions/browser/menuEntryActionViewItem.ts"],"names":[],"mappings":"AAAA;;;gGAGgG;;;;;;;;;;AAEhG,OAAO,EAAE,QAAQ,EAAE,MAAM,mCAAmC,CAAC;AAC7D,OAAO,EAAE,CAAC,EAAE,qBAAqB,EAAE,MAAM,EAAE,SAAS,EAAE,kBAAkB,EAAE,OAAO,EAAE,MAAM,8BAA8B,CAAC;AACxH,OAAO,EAAE,qBAAqB,EAAE,MAAM,wCAAwC,CAAC;AAC/E,OAAO,EAAE,cAAc,EAAE,kBAAkB,EAAE,oBAAoB,EAAE,MAAM,uDAAuD,CAAC;AACjI,OAAO,EAAE,0BAA0B,EAAsC,MAAM,6DAA6D,CAAC;AAE7I,OAAO,EAAE,YAAY,EAAqC,SAAS,EAAE,aAAa,EAAE,MAAM,iCAAiC,CAAC;AAC5H,OAAO,EAAE,eAAe,EAAE,MAAM,0CAA0C,CAAC;AAG3E,OAAO,EAAE,kBAAkB,EAAE,eAAe,EAAE,iBAAiB,EAAE,YAAY,EAAE,MAAM,mCAAmC,CAAC;AACzH,OAAO,EAAE,OAAO,EAAE,SAAS,EAAE,EAAE,EAAE,MAAM,kCAAkC,CAAC;AAC1E,OAAO,EAAE,SAAS,EAAE,MAAM,mCAAmC,CAAC;AAC9D,OAAO,EAAE,UAAU,EAAE,MAAM,+BAA+B,CAAC;AAC3D,OAAO,EAAE,QAAQ,EAAE,MAAM,iBAAiB,CAAC;AAC3C,OAAO,EAAE,qBAAqB,EAAE,MAAM,6CAA6C,CAAC;AACpF,OAAO,EAAkB,0BAA0B,EAAE,MAAM,+BAA+B,CAAC;AAC3F,OAAO,EAAE,qBAAqB,EAAE,MAAM,6CAA6C,CAAC;AACpF,OAAO,EAAE,kBAAkB,EAAE,MAAM,uCAAuC,CAAC;AAC3E,OAAO,EAAE,mBAAmB,EAAE,mBAAmB,EAAE,MAAM,0CAA0C,CAAC;AACpG,OAAO,EAAE,qBAAqB,EAAE,MAAM,6CAA6C,CAAC;AACpF,OAAO,EAAE,kBAAkB,EAAE,MAAM,uCAAuC,CAAC;AAC3E,OAAO,EAAE,oBAAoB,EAAE,MAAM,2CAA2C,CAAC;AACjF,OAAO,EAAE,eAAe,EAA+B,MAAM,iCAAiC,CAAC;AAC/F,OAAO,EAAE,sBAAsB,EAAE,MAAM,sCAAsC,CAAC;AAC9E,OAAO,EAAE,aAAa,EAAE,YAAY,EAAE,MAAM,qCAAqC,CAAC;AAClF,OAAO,EAAE,MAAM,EAAE,MAAM,6BAA6B,CAAC;AACrD,OAAO,EAAE,aAAa,EAAE,MAAM,oCAAoC,CAAC;AACnE,OAAO,EAAE,oBAAoB,EAAE,MAAM,+BAA+B,CAAC;AACrE,OAAO,EAAE,YAAY,EAAE,cAAc,EAAE,iBAAiB,EAAE,MAAM,sBAAsB,CAAC;AACvF,OAAO,+BAA+B,CAAC;AAOvC,MAAM,UAAU,yBAAyB,CACxC,MAAkF,EAClF,YAAqB;IAErB,MAAM,MAAM,GAAc,EAAE,CAAC;IAC7B,yBAAyB,CAAC,MAAM,EAAE,MAAM,EAAE,YAAY,CAAC,CAAC;IACxD,OAAO,MAAM,CAAC;AACf,CAAC;AAED,SAAS,yBAAyB,CACjC,MAAkF,EAClF,MAA8C,EAC9C,YAAqB;IAErB,MAAM,kBAAkB,GAAG,kBAAkB,CAAC,WAAW,EAAE,CAAC;IAC5D,MAAM,qBAAqB,GAAG,kBAAkB,CAAC,SAAS,CAAC,MAAM,IAAI,CAAC,CAAC,SAAS,IAAI,OAAO,CAAC,IAAI,kBAAkB,CAAC,SAAS,CAAC,QAAQ,CAAC,CAAC;IACvI,aAAa,CAAC,MAAM,EAAE,MAAM,EAAE,qBAAqB,EAAE,YAAY,CAAC,CAAC,CAAC,WAAW,CAAC,EAAE,CAAC,WAAW,KAAK,YAAY,CAAC,CAAC,CAAC,WAAW,CAAC,EAAE,CAAC,WAAW,KAAK,YAAY,CAAC,CAAC;AAChK,CAAC;AAGD,MAAM,UAAU,mBAAmB,CAClC,MAA6D,EAC7D,YAA0D,EAC1D,mBAA0F,EAC1F,6BAAuC;IAEvC,MAAM,MAAM,GAA+B,EAAE,OAAO,EAAE,EAAE,EAAE,SAAS,EAAE,EAAE,EAAE,CAAC;IAC1E,sBAAsB,CAAC,MAAM,EAAE,MAAM,EAAE,YAAY,EAAE,mBAAmB,EAAE,6BAA6B,CAAC,CAAC;IACzG,OAAO,MAAM,CAAC;AACf,CAAC;AAED,MAAM,UAAU,uBAAuB,CACtC,MAA6D,EAC7D,YAA0D,EAC1D,mBAA0F,EAC1F,6BAAuC;IAEvC,MAAM,MAAM,GAAc,EAAE,CAAC;IAC7B,sBAAsB,CAAC,MAAM,EAAE,MAAM,EAAE,YAAY,EAAE,mBAAmB,EAAE,6BAA6B,CAAC,CAAC;IACzG,OAAO,MAAM,CAAC;AACf,CAAC;AAED,MAAM,UAAU,sBAAsB,CACrC,MAA6D,EAC7D,MAA8C,EAC9C,YAA0D,EAC1D,mBAA0F,EAC1F,6BAAuC;IAEvC,MAAM,eAAe,GAAG,OAAO,YAAY,KAAK,QAAQ,CAAC,CAAC,CAAC,CAAC,WAAmB,EAAE,EAAE,CAAC,WAAW,KAAK,YAAY,CAAC,CAAC,CAAC,YAAY,CAAC;IAEhI,mGAAmG;IACnG,aAAa,CAAC,MAAM,EAAE,MAAM,EAAE,KAAK,EAAE,eAAe,EAAE,mBAAmB,EAAE,6BAA6B,CAAC,CAAC;AAC3G,CAAC;AAED,SAAS,aAAa,CACrB,MAAkF,EAClF,MAA8C,EAC9C,qBAA8B,EAC9B,kBAAoD,WAAW,CAAC,EAAE,CAAC,WAAW,KAAK,YAAY,EAC/F,sBAA4F,GAAG,EAAE,CAAC,KAAK,EACvG,gCAAyC,KAAK;IAG9C,IAAI,aAAwB,CAAC;IAC7B,IAAI,eAA0B,CAAC;IAC/B,IAAI,KAAK,CAAC,OAAO,CAAC,MAAM,CAAC,EAAE,CAAC;QAC3B,aAAa,GAAG,MAAM,CAAC;QACvB,eAAe,GAAG,MAAM,CAAC;IAC1B,CAAC;SAAM,CAAC;QACP,aAAa,GAAG,MAAM,CAAC,OAAO,CAAC;QAC/B,eAAe,GAAG,MAAM,CAAC,SAAS,CAAC;IACpC,CAAC;IAED,MAAM,WAAW,GAAG,IAAI,GAAG,EAA2D,CAAC;IAEvF,KAAK,MAAM,CAAC,KAAK,EAAE,OAAO,CAAC,IAAI,MAAM,EAAE,CAAC;QAEvC,IAAI,MAAiB,CAAC;QACtB,IAAI,eAAe,CAAC,KAAK,CAAC,EAAE,CAAC;YAC5B,MAAM,GAAG,aAAa,CAAC;YACvB,IAAI,MAAM,CAAC,MAAM,GAAG,CAAC,IAAI,6BAA6B,EAAE,CAAC;gBACxD,MAAM,CAAC,IAAI,CAAC,IAAI,SAAS,EAAE,CAAC,CAAC;YAC9B,CAAC;QACF,CAAC;aAAM,CAAC;YACP,MAAM,GAAG,eAAe,CAAC;YACzB,IAAI,MAAM,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;gBACvB,MAAM,CAAC,IAAI,CAAC,IAAI,SAAS,EAAE,CAAC,CAAC;YAC9B,CAAC;QACF,CAAC;QAED,KAAK,IAAI,MAAM,IAAI,OAAO,EAAE,CAAC;YAC5B,IAAI,qBAAqB,EAAE,CAAC;gBAC3B,MAAM,GAAG,MAAM,YAAY,cAAc,IAAI,MAAM,CAAC,GAAG,CAAC,CAAC,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC,CAAC,MAAM,CAAC;YAC/E,CAAC;YACD,MAAM,MAAM,GAAG,MAAM,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC;YACnC,uCAAuC;YACvC,IAAI,MAAM,YAAY,aAAa,EAAE,CAAC;gBACrC,WAAW,CAAC,GAAG,CAAC,EAAE,KAAK,EAAE,MAAM,EAAE,KAAK,EAAE,MAAM,GAAG,CAAC,EAAE,CAAC,CAAC;YACvD,CAAC;QACF,CAAC;IACF,CAAC;IAED,qEAAqE;IACrE,8BAA8B;IAC9B,KAAK,MAAM,EAAE,KAAK,EAAE,MAAM,EAAE,KAAK,EAAE,IAAI,WAAW,EAAE,CAAC;QACpD,MAAM,MAAM,GAAG,eAAe,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,aAAa,CAAC,CAAC,CAAC,eAAe,CAAC;QAExE,gDAAgD;QAChD,4DAA4D;QAC5D,MAAM,cAAc,GAAG,MAAM,CAAC,OAAO,CAAC;QACtC,IAAI,mBAAmB,CAAC,MAAM,EAAE,KAAK,EAAE,MAAM,CAAC,MAAM,CAAC,EAAE,CAAC;YACvD,MAAM,CAAC,MAAM,CAAC,KAAK,EAAE,CAAC,EAAE,GAAG,cAAc,CAAC,CAAC;QAC5C,CAAC;IACF,CAAC;AACF,CAAC;AASM,IAAM,uBAAuB,GAA7B,MAAM,uBAAqG,SAAQ,cAAc;IAMvI,YACC,MAAsB,EACH,QAAuB,EACtB,kBAAyD,EACvD,oBAA6D,EAC/D,kBAAyD,EAC9D,aAA+C,EACzC,mBAA2D,EACzD,qBAA6D;QAEpF,KAAK,CAAC,SAAS,EAAE,MAAM,EAAE,EAAE,IAAI,EAAE,CAAC,CAAC,CAAC,MAAM,CAAC,KAAK,IAAI,MAAM,CAAC,IAAI,CAAC,IAAI,CAAC,EAAE,KAAK,EAAE,CAAC,MAAM,CAAC,KAAK,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,IAAI,EAAE,SAAS,EAAE,QAAQ,EAAE,SAAS,EAAE,UAAU,EAAE,QAAQ,EAAE,UAAU,EAAE,aAAa,EAAE,QAAQ,EAAE,aAAa,EAAE,8BAA8B,EAAE,QAAQ,EAAE,8BAA8B,EAAE,CAAC,CAAC;QARrR,aAAQ,GAAR,QAAQ,CAAe;QACH,uBAAkB,GAAlB,kBAAkB,CAAoB;QACpC,yBAAoB,GAApB,oBAAoB,CAAsB;QAC5C,uBAAkB,GAAlB,kBAAkB,CAAoB;QAC3C,kBAAa,GAAb,aAAa,CAAe;QACtB,wBAAmB,GAAnB,mBAAmB,CAAqB;QACxC,0BAAqB,GAArB,qBAAqB,CAAuB;QAZ7E,qBAAgB,GAAY,KAAK,CAAC;QACzB,sBAAiB,GAAG,IAAI,CAAC,SAAS,CAAC,IAAI,iBAAiB,EAAE,CAAC,CAAC;QAc5E,IAAI,CAAC,OAAO,GAAG,kBAAkB,CAAC,WAAW,EAAE,CAAC;IACjD,CAAC;IAED,IAAc,eAAe;QAC5B,OAAuB,IAAI,CAAC,OAAO,CAAC;IACrC,CAAC;IAED,IAAc,cAAc;QAC3B,OAAO,IAAI,CAAC,gBAAgB,IAAI,IAAI,CAAC,eAAe,CAAC,GAAG,IAAI,IAAI,CAAC,eAAe,CAAC;IAClF,CAAC;IAEQ,KAAK,CAAC,OAAO,CAAC,KAAiB;QACvC,KAAK,CAAC,cAAc,EAAE,CAAC;QACvB,KAAK,CAAC,eAAe,EAAE,CAAC;QAExB,IAAI,CAAC;YACJ,MAAM,IAAI,CAAC,YAAY,CAAC,GAAG,CAAC,IAAI,CAAC,cAAc,EAAE,IAAI,CAAC,QAAQ,CAAC,CAAC;QACjE,CAAC;QAAC,OAAO,GAAG,EAAE,CAAC;YACd,IAAI,CAAC,oBAAoB,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC;QACtC,CAAC;IACF,CAAC;IAEQ,MAAM,CAAC,SAAsB;QACrC,KAAK,CAAC,MAAM,CAAC,SAAS,CAAC,CAAC;QACxB,SAAS,CAAC,SAAS,CAAC,GAAG,CAAC,YAAY,CAAC,CAAC;QAEtC,IAAI,IAAI,CAAC,OAAO,CAAC,IAAI,EAAE,CAAC;YACvB,IAAI,CAAC,gBAAgB,CAAC,IAAI,CAAC,eAAe,CAAC,IAAI,CAAC,CAAC;QAClD,CAAC;QAED,IAAI,IAAI,CAAC,eAAe,CAAC,GAAG,EAAE,CAAC;YAC9B,IAAI,WAAW,GAAG,KAAK,CAAC;YAExB,MAAM,cAAc,GAAG,GAAG,EAAE;gBAC3B,MAAM,eAAe,GAAG,CAAC,CAAC,IAAI,CAAC,eAAe,CAAC,GAAG,EAAE,OAAO;oBAC1D,CAAC,CAAC,IAAI,CAAC,qBAAqB,CAAC,eAAe,EAAE,IAAI,WAAW,CAAC,IAAI,CACjE,IAAI,CAAC,OAAO,CAAC,SAAS,CAAC,MAAM;oBAC7B,CAAC,IAAI,CAAC,OAAO,CAAC,SAAS,CAAC,QAAQ,IAAI,WAAW,CAAC,CAChD,CAAC;gBAEH,IAAI,eAAe,KAAK,IAAI,CAAC,gBAAgB,EAAE,CAAC;oBAC/C,IAAI,CAAC,gBAAgB,GAAG,eAAe,CAAC;oBACxC,IAAI,CAAC,WAAW,EAAE,CAAC;oBACnB,IAAI,CAAC,aAAa,EAAE,CAAC;oBACrB,IAAI,CAAC,WAAW,EAAE,CAAC;gBACpB,CAAC;YACF,CAAC,CAAC;YAEF,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC,OAAO,CAAC,KAAK,CAAC,cAAc,CAAC,CAAC,CAAC;YAEnD,IAAI,CAAC,SAAS,CAAC,qBAAqB,CAAC,SAAS,EAAE,YAAY,EAAE,CAAC,CAAC,EAAE;gBACjE,WAAW,GAAG,KAAK,CAAC;gBACpB,cAAc,EAAE,CAAC;YAClB,CAAC,CAAC,CAAC,CAAC;YAEJ,IAAI,CAAC,SAAS,CAAC,qBAAqB,CAAC,SAAS,EAAE,YAAY,EAAE,CAAC,CAAC,EAAE;gBACjE,WAAW,GAAG,IAAI,CAAC;gBACnB,cAAc,EAAE,CAAC;YAClB,CAAC,CAAC,CAAC,CAAC;YAEJ,cAAc,EAAE,CAAC;QAClB,CAAC;IACF,CAAC;IAEkB,WAAW;QAC7B,IAAI,IAAI,CAAC,OAAO,CAAC,KAAK,IAAI,IAAI,CAAC,KAAK,EAAE,CAAC;YACtC,IAAI,CAAC,KAAK,CAAC,WAAW,GAAG,IAAI,CAAC,cAAc,CAAC,KAAK,CAAC;QACpD,CAAC;IACF,CAAC;IAEkB,UAAU;QAC5B,MAAM,UAAU,GAAG,IAAI,CAAC,kBAAkB,CAAC,gBAAgB,CAAC,IAAI,CAAC,cAAc,CAAC,EAAE,EAAE,IAAI,CAAC,kBAAkB,CAAC,CAAC;QAC7G,MAAM,eAAe,GAAG,UAAU,IAAI,UAAU,CAAC,QAAQ,EAAE,CAAC;QAE5D,MAAM,OAAO,GAAG,IAAI,CAAC,cAAc,CAAC,OAAO,IAAI,IAAI,CAAC,cAAc,CAAC,KAAK,CAAC;QACzE,IAAI,KAAK,GAAG,eAAe;YAC1B,CAAC,CAAC,QAAQ,CAAC,IAAY,EAAE,WAAW,EAAE,OAAO,EAAE,eAAe,CAAC;YAC/D,CAAC,CAAC,OAAO,CAAC;QACX,IAAI,CAAC,IAAI,CAAC,gBAAgB,IAAI,IAAI,CAAC,eAAe,CAAC,GAAG,EAAE,OAAO,EAAE,CAAC;YACjE,MAAM,UAAU,GAAG,IAAI,CAAC,eAAe,CAAC,GAAG,CAAC,OAAO,IAAI,IAAI,CAAC,eAAe,CAAC,GAAG,CAAC,KAAK,CAAC;YACtF,MAAM,aAAa,GAAG,IAAI,CAAC,kBAAkB,CAAC,gBAAgB,CAAC,IAAI,CAAC,eAAe,CAAC,GAAG,CAAC,EAAE,EAAE,IAAI,CAAC,kBAAkB,CAAC,CAAC;YACrH,MAAM,kBAAkB,GAAG,aAAa,IAAI,aAAa,CAAC,QAAQ,EAAE,CAAC;YACrE,MAAM,eAAe,GAAG,kBAAkB;gBACzC,CAAC,CAAC,QAAQ,CAAC,IAAY,EAAE,WAAW,EAAE,UAAU,EAAE,kBAAkB,CAAC;gBACrE,CAAC,CAAC,UAAU,CAAC;YAEd,KAAK,GAAG,QAAQ,CAAC,IAAkB,EAAE,gBAAgB,EAAE,KAAK,EAAE,eAAe,CAAC,cAAc,CAAC,EAAE,CAAC,CAAC,MAAM,EAAE,eAAe,CAAC,CAAC;QAC3H,CAAC;QACD,OAAO,KAAK,CAAC;IACd,CAAC;IAEkB,WAAW;QAC7B,IAAI,IAAI,CAAC,OAAO,CAAC,IAAI,EAAE,CAAC;YACvB,IAAI,IAAI,CAAC,cAAc,KAAK,IAAI,CAAC,eAAe,EAAE,CAAC;gBAClD,IAAI,IAAI,CAAC,eAAe,CAAC,GAAG,EAAE,CAAC;oBAC9B,IAAI,CAAC,gBAAgB,CAAC,IAAI,CAAC,eAAe,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC;gBACtD,CAAC;YACF,CAAC;iBAAM,CAAC;gBACP,IAAI,CAAC,gBAAgB,CAAC,IAAI,CAAC,eAAe,CAAC,IAAI,CAAC,CAAC;YAClD,CAAC;QACF,CAAC;IACF,CAAC;IAEO,gBAAgB,CAAC,IAAoB;QAC5C,IAAI,CAAC,iBAAiB,CAAC,KAAK,GAAG,SAAS,CAAC;QAEzC,MAAM,EAAE,OAAO,EAAE,KAAK,EAAE,GAAG,IAAI,CAAC;QAChC,IAAI,CAAC,OAAO,IAAI,CAAC,KAAK,EAAE,CAAC;YACxB,OAAO;QACR,CAAC;QAED,MAAM,IAAI,GAAG,IAAI,CAAC,cAAc,CAAC,OAAO,IAAI,0BAA0B,CAAC,IAAI,CAAC,OAAO,CAAC,IAAI,IAAI,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,IAAI,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC;QAE1I,IAAI,CAAC,IAAI,EAAE,CAAC;YACX,OAAO;QACR,CAAC;QAED,IAAI,SAAS,CAAC,WAAW,CAAC,IAAI,CAAC,EAAE,CAAC;YACjC,cAAc;YACd,MAAM,WAAW,GAAG,SAAS,CAAC,gBAAgB,CAAC,IAAI,CAAC,CAAC;YACrD,KAAK,CAAC,SAAS,CAAC,GAAG,CAAC,GAAG,WAAW,CAAC,CAAC;YACpC,IAAI,CAAC,iBAAiB,CAAC,KAAK,GAAG,YAAY,CAAC,GAAG,EAAE;gBAChD,KAAK,CAAC,SAAS,CAAC,MAAM,CAAC,GAAG,WAAW,CAAC,CAAC;YACxC,CAAC,CAAC,CAAC;QAEJ,CAAC;aAAM,CAAC;YACP,gBAAgB;YAChB,KAAK,CAAC,KAAK,CAAC,eAAe,GAAG,CAC7B,MAAM,CAAC,IAAI,CAAC,aAAa,CAAC,aAAa,EAAE,CAAC,IAAI,CAAC;gBAC9C,CAAC,CAAC,QAAQ,CAAC,IAAI,CAAC,IAAI,CAAC;gBACrB,CAAC,CAAC,QAAQ,CAAC,IAAI,CAAC,KAAK,CAAC,CACvB,CAAC;YACF,KAAK,CAAC,SAAS,CAAC,GAAG,CAAC,MAAM,CAAC,CAAC;YAC5B,IAAI,CAAC,iBAAiB,CAAC,KAAK,GAAG,kBAAkB,CAChD,YAAY,CAAC,GAAG,EAAE;gBACjB,KAAK,CAAC,KAAK,CAAC,eAAe,GAAG,EAAE,CAAC;gBACjC,KAAK,CAAC,SAAS,CAAC,MAAM,CAAC,MAAM,CAAC,CAAC;YAChC,CAAC,CAAC,EACF,IAAI,CAAC,aAAa,CAAC,qBAAqB,CAAC,GAAG,EAAE;gBAC7C,sEAAsE;gBACtE,IAAI,CAAC,WAAW,EAAE,CAAC;YACpB,CAAC,CAAC,CACF,CAAC;QACH,CAAC;IACF,CAAC;CACD,CAAA;AAlKY,uBAAuB;IASjC,WAAA,kBAAkB,CAAA;IAClB,WAAA,oBAAoB,CAAA;IACpB,WAAA,kBAAkB,CAAA;IAClB,WAAA,aAAa,CAAA;IACb,WAAA,mBAAmB,CAAA;IACnB,WAAA,qBAAqB,CAAA;GAdX,uBAAuB,CAkKnC;;AAOD,MAAM,OAAO,+BAAgC,SAAQ,uBAAgE;IAE3G,MAAM,CAAC,SAAsB;QACrC,IAAI,CAAC,OAAO,CAAC,KAAK,GAAG,IAAI,CAAC;QAC1B,IAAI,CAAC,OAAO,CAAC,IAAI,GAAG,KAAK,CAAC;QAC1B,KAAK,CAAC,MAAM,CAAC,SAAS,CAAC,CAAC;QACxB,SAAS,CAAC,SAAS,CAAC,GAAG,CAAC,WAAW,CAAC,CAAC;QACrC,SAAS,CAAC,SAAS,CAAC,MAAM,CAAC,WAAW,EAAE,IAAI,CAAC,QAAQ,EAAE,QAAQ,IAAI,KAAK,CAAC,CAAC;IAC3E,CAAC;IAEkB,WAAW;QAC7B,MAAM,EAAE,GAAG,IAAI,CAAC,kBAAkB,CAAC,gBAAgB,CAAC,IAAI,CAAC,OAAO,CAAC,EAAE,EAAE,IAAI,CAAC,kBAAkB,CAAC,CAAC;QAC9F,IAAI,CAAC,EAAE,EAAE,CAAC;YACT,OAAO,KAAK,CAAC,WAAW,EAAE,CAAC;QAC5B,CAAC;QACD,IAAI,IAAI,CAAC,KAAK,EAAE,CAAC;YAChB,MAAM,GAAG,GAAG,+BAA+B,CAAC,iBAAiB,CAAC,EAAE,CAAC,CAAC;YAElE,IAAI,IAAI,CAAC,QAAQ,EAAE,cAAc,EAAE,CAAC;gBACnC,IAAI,CAAC,KAAK,CAAC,WAAW,GAAG,QAAQ,CAAC,EAAE,EAA2E,CAAxE,CAA0E,CAAxE,UAAU,CAA0E,CAAxE,CAA0E,IAAI,CAAC,CAAxE,EAAE,CAAC,GAA4E,CAAC,KAAK,EAAE,GAAG,CAAC,CAAC,6BAA5C,CAAC;YAE9G,CAAC;iBAAM,CAAC;gBACP,IAAI,CAAC,KAAK,CAAC,WAAW,GAAG,QAAQ,CAAC,EAAE,EAAsD,CAAnD,CAAqD,CAAnD,SAAS,CAAqD,CAAnD,CAAqD,IAAI,CAAC,CAAnD,EAAE,CAAC,GAAuD,CAAC,KAA/C,AAAoD,EAAlD,AAAoD,GAAG,CAAC,CAAC,SAA3C,CAAC;YACzF,CAAC;QACF,CAAC;IACF,CAAC;IAEO,MAAM,CAAC,iBAAiB,CAAC,EAAsB;QACtD,OAAO,EAAE,CAAC,QAAQ,EAAE;YACnB,EAAE,OAAO,CAAC,aAAa,EAAE,QAAQ,CAAC;aACjC,OAAO,CAAC,cAAc,EAAE,KAAK,CAAC,CAAC;IAClC,CAAC;CACD;AAEM,IAAM,0BAA0B,GAAhC,MAAM,0BAA2B,SAAQ,0BAA0B;IAEzE,YACC,MAAyB,EACzB,OAAuD,EACzB,kBAAsC,EACrC,mBAAwC,EAC9C,aAA4B;QAErD,MAAM,eAAe,GAAuC;YAC3D,GAAG,OAAO;YACV,WAAW,EAAE,OAAO,EAAE,WAAW,IAAI,KAAK;YAC1C,UAAU,EAAE,OAAO,EAAE,UAAU,IAAI,CAAC,SAAS,CAAC,WAAW,CAAC,MAAM,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,SAAS,CAAC,WAAW,CAAC,MAAM,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,SAAS,CAAC;YAClI,kBAAkB,EAAE,OAAO,EAAE,kBAAkB,IAAI,CAAC,MAAM,CAAC,EAAE,CAAC,kBAAkB,CAAC,gBAAgB,CAAC,MAAM,CAAC,EAAE,CAAC,CAAC;SAC7G,CAAC;QAEF,KAAK,CAAC,MAAM,EAAE,EAAE,UAAU,EAAE,GAAG,EAAE,CAAC,MAAM,CAAC,OAAO,EAAE,EAAE,mBAAmB,EAAE,eAAe,CAAC,CAAC;QAX5D,uBAAkB,GAAlB,kBAAkB,CAAoB;QACrC,wBAAmB,GAAnB,mBAAmB,CAAqB;QAC9C,kBAAa,GAAb,aAAa,CAAe;IAUtD,CAAC;IAEQ,MAAM,CAAC,SAAsB;QACrC,KAAK,CAAC,MAAM,CAAC,SAAS,CAAC,CAAC;QACxB,UAAU,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC;QAEzB,SAAS,CAAC,SAAS,CAAC,GAAG,CAAC,YAAY,CAAC,CAAC;QACtC,MAAM,MAAM,GAAsB,IAAI,CAAC,OAAO,CAAC;QAC/C,MAAM,EAAE,IAAI,EAAE,GAAG,MAAM,CAAC,IAAI,CAAC;QAC7B,IAAI,IAAI,IAAI,CAAC,SAAS,CAAC,WAAW,CAAC,IAAI,CAAC,EAAE,CAAC;YAC1C,IAAI,CAAC,OAAO,CAAC,SAAS,CAAC,GAAG,CAAC,MAAM,CAAC,CAAC;YACnC,MAAM,kBAAkB,GAAG,GAAG,EAAE;gBAC/B,IAAI,IAAI,CAAC,OAAO,EAAE,CAAC;oBAClB,IAAI,CAAC,OAAO,CAAC,KAAK,CAAC,eAAe,GAAG,CACpC,MAAM,CAAC,IAAI,CAAC,aAAa,CAAC,aAAa,EAAE,CAAC,IAAI,CAAC;wBAC9C,CAAC,CAAC,QAAQ,CAAC,IAAI,CAAC,IAAI,CAAC;wBACrB,CAAC,CAAC,QAAQ,CAAC,IAAI,CAAC,KAAK,CAAC,CACvB,CAAC;gBACH,CAAC;YACF,CAAC,CAAC;YACF,kBAAkB,EAAE,CAAC;YACrB,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC,aAAa,CAAC,qBAAqB,CAAC,GAAG,EAAE;gBAC5D,sEAAsE;gBACtE,kBAAkB,EAAE,CAAC;YACtB,CAAC,CAAC,CAAC,CAAC;QACL,CAAC;IACF,CAAC;CACD,CAAA;AA5CY,0BAA0B;IAKpC,WAAA,kBAAkB,CAAA;IAClB,WAAA,mBAAmB,CAAA;IACnB,WAAA,aAAa,CAAA;GAPH,0BAA0B,CA4CtC;;AAOM,IAAM,iCAAiC,GAAvC,MAAM,iCAAkC,SAAQ,kBAAkB;IAQxE,YACC,aAAgC,EAChC,OAA8D,EAC1C,kBAAyD,EACvD,oBAAoD,EACrD,mBAAkD,EACzD,YAAoC,EAC3B,aAA8C,EACpD,eAA0C;QAE3D,KAAK,CAAC,IAAI,EAAE,aAAa,CAAC,CAAC;QAPY,uBAAkB,GAAlB,kBAAkB,CAAoB;QAC7C,yBAAoB,GAApB,oBAAoB,CAAsB;QAC3C,wBAAmB,GAAnB,mBAAmB,CAAqB;QAC/C,iBAAY,GAAZ,YAAY,CAAc;QACjB,kBAAa,GAAb,aAAa,CAAuB;QAC1C,oBAAe,GAAf,eAAe,CAAiB;QAb3C,8BAAyB,GAAG,IAAI,CAAC,SAAS,CAAC,IAAI,eAAe,EAAE,CAAC,CAAC;QAE3E,eAAU,GAAuB,IAAI,CAAC;QAc7C,IAAI,CAAC,QAAQ,GAAG,OAAO,CAAC;QACxB,IAAI,CAAC,WAAW,GAAG,GAAG,aAAa,CAAC,IAAI,CAAC,OAAO,CAAC,EAAE,eAAe,CAAC;QAEnE,2BAA2B;QAC3B,IAAI,aAAkC,CAAC;QACvC,MAAM,eAAe,GAAG,OAAO,EAAE,mBAAmB,CAAC,CAAC,CAAC,eAAe,CAAC,GAAG,CAAC,IAAI,CAAC,WAAW,iCAAyB,CAAC,CAAC,CAAC,SAAS,CAAC;QACjI,IAAI,eAAe,EAAE,CAAC;YACrB,aAAa,GAAG,aAAa,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,eAAe,KAAK,CAAC,CAAC,EAAE,CAAC,CAAC;QAC3E,CAAC;QACD,IAAI,CAAC,aAAa,EAAE,CAAC;YACpB,aAAa,GAAG,aAAa,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC;QAC1C,CAAC;QAED,IAAI,CAAC,cAAc,GAAG,IAAI,CAAC,yBAAyB,CAAC,GAAG,CAAC,IAAI,CAAC,aAAa,CAAC,cAAc,CAAC,uBAAuB,EAAkB,aAAa,EAAE,EAAE,UAAU,EAAE,IAAI,CAAC,gCAAgC,CAAC,aAAa,CAAC,EAAE,CAAC,CAAC,CAAC;QAE1N,MAAM,eAAe,GAAuC;YAC3D,kBAAkB,EAAE,MAAM,CAAC,EAAE,CAAC,IAAI,CAAC,kBAAkB,CAAC,gBAAgB,CAAC,MAAM,CAAC,EAAE,CAAC;YACjF,GAAG,OAAO;YACV,WAAW,EAAE,OAAO,EAAE,WAAW,IAAI,IAAI;YACzC,UAAU,EAAE,OAAO,EAAE,UAAU,IAAI,CAAC,SAAS,EAAE,sBAAsB,CAAC;YACtE,YAAY,EAAE,OAAO,EAAE,YAAY,IAAI,IAAI,CAAC,SAAS,CAAC,IAAI,YAAY,EAAE,CAAC;SACzE,CAAC;QAEF,IAAI,CAAC,SAAS,GAAG,IAAI,CAAC,SAAS,CAAC,IAAI,0BAA0B,CAAC,aAAa,EAAE,aAAa,CAAC,OAAO,EAAE,IAAI,CAAC,mBAAmB,EAAE,eAAe,CAAC,CAAC,CAAC;QACjJ,IAAI,OAAO,EAAE,mBAAmB,EAAE,CAAC;YAClC,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC,SAAS,CAAC,YAAY,CAAC,QAAQ,CAAC,CAAC,CAAY,EAAE,EAAE;gBACpE,IAAI,CAAC,CAAC,MAAM,YAAY,cAAc,EAAE,CAAC;oBACxC,IAAI,CAAC,MAAM,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC;gBACvB,CAAC;YACF,CAAC,CAAC,CAAC,CAAC;QACL,CAAC;IACF,CAAC;IAEO,MAAM,CAAC,UAA0B;QACxC,IAAI,IAAI,CAAC,QAAQ,EAAE,mBAAmB,EAAE,CAAC;YACxC,IAAI,CAAC,eAAe,CAAC,KAAK,CAAC,IAAI,CAAC,WAAW,EAAE,UAAU,CAAC,EAAE,gEAAgD,CAAC;QAC5G,CAAC;QAED,IAAI,CAAC,yBAAyB,CAAC,KAAK,EAAE,CAAC;QACvC,IAAI,CAAC,cAAc,GAAG,IAAI,CAAC,yBAAyB,CAAC,GAAG,CAAC,IAAI,CAAC,aAAa,CAAC,cAAc,CAAC,uBAAuB,EAAE,UAAU,EAAE,EAAE,UAAU,EAAE,IAAI,CAAC,gCAAgC,CAAC,UAAU,CAAC,EAAE,CAAC,CAAC,CAAC;QACpM,IAAI,CAAC,cAAc,CAAC,YAAY,GAAG,IAAI,CAAC,yBAAyB,CAAC,GAAG,CAAC,IAAI,KAAM,SAAQ,YAAY;YAChF,KAAK,CAAC,SAAS,CAAC,MAAe,EAAE,OAAiB;gBACpE,MAAM,MAAM,CAAC,GAAG,CAAC,SAAS,CAAC,CAAC;YAC7B,CAAC;SACD,EAAE,CAAC,CAAC;QAEL,IAAI,IAAI,CAAC,UAAU,EAAE,CAAC;YACrB,IAAI,CAAC,cAAc,CAAC,MAAM,CAAC,OAAO,CAAC,IAAI,CAAC,UAAU,EAAE,CAAC,CAAC,mBAAmB,CAAC,CAAC,CAAC,CAAC;QAC9E,CAAC;IACF,CAAC;IAEO,gCAAgC,CAAC,aAAsB;QAC9D,IAAI,uBAA2C,CAAC;QAChD,IAAI,IAAI,CAAC,QAAQ,EAAE,sCAAsC,EAAE,CAAC;YAC3D,MAAM,EAAE,GAAG,IAAI,CAAC,kBAAkB,CAAC,gBAAgB,CAAC,aAAa,CAAC,EAAE,CAAC,CAAC;YACtE,IAAI,EAAE,EAAE,CAAC;gBACR,uBAAuB,GAAG,IAAI,EAAE,CAAC,QAAQ,EAAE,GAAG,CAAC;YAChD,CAAC;QACF,CAAC;QACD,OAAO,uBAAuB,CAAC;IAChC,CAAC;IAEQ,gBAAgB,CAAC,UAAmB;QAC5C,KAAK,CAAC,gBAAgB,CAAC,UAAU,CAAC,CAAC;QACnC,IAAI,CAAC,cAAc,CAAC,gBAAgB,CAAC,UAAU,CAAC,CAAC;QACjD,IAAI,CAAC,SAAS,CAAC,gBAAgB,CAAC,UAAU,CAAC,CAAC;IAC7C,CAAC;IAED,IAAa,YAAY,CAAC,YAA2B;QACpD,KAAK,CAAC,YAAY,GAAG,YAAY,CAAC;QAElC,IAAI,CAAC,cAAc,CAAC,YAAY,GAAG,YAAY,CAAC;QAChD,IAAI,CAAC,SAAS,CAAC,YAAY,GAAG,YAAY,CAAC;IAC5C,CAAC;IAED,IAAa,YAAY;QACxB,OAAO,KAAK,CAAC,YAAY,CAAC;IAC3B,CAAC;IAEQ,MAAM,CAAC,SAAsB;QACrC,IAAI,CAAC,UAAU,GAAG,SAAS,CAAC;QAC5B,KAAK,CAAC,MAAM,CAAC,IAAI,CAAC,UAAU,CAAC,CAAC;QAE9B,IAAI,CAAC,UAAU,CAAC,SAAS,CAAC,GAAG,CAAC,8BAA8B,CAAC,CAAC;QAE9D,MAAM,gBAAgB,GAAG,CAAC,CAAC,mBAAmB,CAAC,CAAC;QAChD,IAAI,CAAC,cAAc,CAAC,MAAM,CAAC,MAAM,CAAC,IAAI,CAAC,UAAU,EAAE,gBAAgB,CAAC,CAAC,CAAC;QACtE,IAAI,CAAC,SAAS,CAAC,qBAAqB,CAAC,gBAAgB,EAAE,SAAS,CAAC,QAAQ,EAAE,CAAC,CAAgB,EAAE,EAAE;YAC/F,MAAM,KAAK,GAAG,IAAI,qBAAqB,CAAC,CAAC,CAAC,CAAC;YAC3C,IAAI,KAAK,CAAC,MAAM,6BAAoB,EAAE,CAAC;gBACtC,IAAI,CAAC,cAAc,CAAC,OAAQ,CAAC,QAAQ,GAAG,CAAC,CAAC,CAAC;gBAC3C,IAAI,CAAC,SAAS,CAAC,KAAK,EAAE,CAAC;gBACvB,KAAK,CAAC,eAAe,EAAE,CAAC;YACzB,CAAC;QACF,CAAC,CAAC,CAAC,CAAC;QAEJ,MAAM,iBAAiB,GAAG,CAAC,CAAC,4BAA4B,CAAC,CAAC;QAC1D,IAAI,CAAC,SAAS,CAAC,MAAM,CAAC,MAAM,CAAC,IAAI,CAAC,UAAU,EAAE,iBAAiB,CAAC,CAAC,CAAC;QAClE,IAAI,CAAC,SAAS,CAAC,qBAAqB,CAAC,iBAAiB,EAAE,SAAS,CAAC,QAAQ,EAAE,CAAC,CAAgB,EAAE,EAAE;YAChG,MAAM,KAAK,GAAG,IAAI,qBAAqB,CAAC,CAAC,CAAC,CAAC;YAC3C,IAAI,KAAK,CAAC,MAAM,4BAAmB,EAAE,CAAC;gBACrC,IAAI,CAAC,cAAc,CAAC,OAAQ,CAAC,QAAQ,GAAG,CAAC,CAAC;gBAC1C,IAAI,CAAC,SAAS,CAAC,YAAY,CAAC,KAAK,CAAC,CAAC;gBACnC,IAAI,CAAC,cAAc,CAAC,OAAO,EAAE,KAAK,EAAE,CAAC;gBACrC,KAAK,CAAC,eAAe,EAAE,CAAC;YACzB,CAAC;QACF,CAAC,CAAC,CAAC,CAAC;IACL,CAAC;IAEQ,KAAK,CAAC,SAAmB;QACjC,IAAI,SAAS,EAAE,CAAC;YACf,IAAI,CAAC,SAAS,CAAC,KAAK,EAAE,CAAC;QACxB,CAAC;aAAM,CAAC;YACP,IAAI,CAAC,cAAc,CAAC,OAAQ,CAAC,QAAQ,GAAG,CAAC,CAAC;YAC1C,IAAI,CAAC,cAAc,CAAC,OAAQ,CAAC,KAAK,EAAE,CAAC;QACtC,CAAC;IACF,CAAC;IAEQ,IAAI;QACZ,IAAI,CAAC,cAAc,CAAC,OAAQ,CAAC,QAAQ,GAAG,CAAC,CAAC,CAAC;QAC3C,IAAI,CAAC,SAAS,CAAC,IAAI,EAAE,CAAC;QACtB,IAAI,CAAC,UAAW,CAAC,IAAI,EAAE,CAAC;IACzB,CAAC;IAEQ,YAAY,CAAC,SAAkB;QACvC,IAAI,SAAS,EAAE,CAAC;YACf,IAAI,CAAC,cAAc,CAAC,OAAQ,CAAC,QAAQ,GAAG,CAAC,CAAC;QAC3C,CAAC;aAAM,CAAC;YACP,IAAI,CAAC,cAAc,CAAC,OAAQ,CAAC,QAAQ,GAAG,CAAC,CAAC,CAAC;YAC3C,IAAI,CAAC,SAAS,CAAC,YAAY,CAAC,KAAK,CAAC,CAAC;QACpC,CAAC;IACF,CAAC;CACD,CAAA;AAvJY,iCAAiC;IAW3C,WAAA,kBAAkB,CAAA;IAClB,WAAA,oBAAoB,CAAA;IACpB,WAAA,mBAAmB,CAAA;IACnB,WAAA,YAAY,CAAA;IACZ,WAAA,qBAAqB,CAAA;IACrB,WAAA,eAAe,CAAA;GAhBL,iCAAiC,CAuJ7C;;AAED,IAAM,gCAAgC,GAAtC,MAAM,gCAAiC,SAAQ,oBAAoB;IAElE,YACC,MAAyB,EACJ,kBAAuC,EACrC,oBAA2C;QAElE,KAAK,CAAC,IAAI,EAAE,MAAM,EAAE,MAAM,CAAC,OAAO,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC;YAC5C,IAAI,EAAE,CAAC,CAAC,EAAE,KAAK,SAAS,CAAC,EAAE,CAAC,CAAC,CAAC,wDAAwD,CAAC,CAAC,CAAC,CAAC,CAAC,KAAK;YAChG,UAAU,EAAE,CAAC,CAAC,CAAC,OAAO;SACtB,CAAC,CAAC,EAAE,CAAC,EAAE,kBAAkB,EAAE,sBAAsB,EAAE,EAAE,SAAS,EAAE,MAAM,CAAC,OAAO,EAAE,iBAAiB,EAAE,IAAI,EAAE,cAAc,EAAE,CAAC,oBAAoB,CAAC,oBAAoB,CAAC,EAAE,CAAC,CAAC;QACzK,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,EAAE,MAAM,CAAC,OAAO,CAAC,SAAS,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC;IACpE,CAAC;IAEQ,MAAM,CAAC,SAAsB;QACrC,KAAK,CAAC,MAAM,CAAC,SAAS,CAAC,CAAC;QACxB,SAAS,CAAC,KAAK,CAAC,WAAW,GAAG,aAAa,CAAC,YAAY,CAAC,CAAC;IAC3D,CAAC;IAEkB,SAAS,CAAC,MAAc,EAAE,KAAa;QACzD,MAAM,MAAM,GAAI,IAAI,CAAC,MAA4B,CAAC,OAAO,CAAC,KAAK,CAAC,CAAC;QACjE,IAAI,MAAM,EAAE,CAAC;YACZ,IAAI,CAAC,YAAY,CAAC,GAAG,CAAC,MAAM,CAAC,CAAC;QAC/B,CAAC;IACF,CAAC;CAED,CAAA;AA1BK,gCAAgC;IAInC,WAAA,mBAAmB,CAAA;IACnB,WAAA,qBAAqB,CAAA;GALlB,gCAAgC,CA0BrC;AAED;;GAEG;AACH,MAAM,UAAU,oBAAoB,CAAC,YAAmC,EAAE,MAAe,EAAE,OAAyF;IACnL,IAAI,MAAM,YAAY,cAAc,EAAE,CAAC;QACtC,OAAO,YAAY,CAAC,cAAc,CAAC,uBAAuB,EAAE,MAAM,EAAE,OAAO,CAAC,CAAC;IAC9E,CAAC;SAAM,IAAI,MAAM,YAAY,iBAAiB,EAAE,CAAC;QAChD,IAAI,MAAM,CAAC,IAAI,CAAC,WAAW,EAAE,CAAC;YAC7B,OAAO,YAAY,CAAC,cAAc,CAAC,gCAAgC,EAAE,MAAM,CAAC,CAAC;QAC9E,CAAC;aAAM,IAAI,MAAM,CAAC,IAAI,CAAC,aAAa,EAAE,CAAC;YACtC,OAAO,YAAY,CAAC,cAAc,CAAC,iCAAiC,EAAE,MAAM,EAAE;gBAC7E,GAAG,OAAO;gBACV,mBAAmB,EAAE,OAAO,MAAM,CAAC,IAAI,CAAC,aAAa,KAAK,SAAS,CAAC,CAAC,CAAC,MAAM,CAAC,IAAI,CAAC,aAAa,CAAC,mBAAmB,CAAC,CAAC,CAAC,KAAK;aAC3H,CAAC,CAAC;QACJ,CAAC;aAAM,CAAC;YACP,OAAO,YAAY,CAAC,cAAc,CAAC,0BAA0B,EAAE,MAAM,EAAE,OAAO,CAAC,CAAC;QACjF,CAAC;IACF,CAAC;SAAM,CAAC;QACP,OAAO,SAAS,CAAC;IAClB,CAAC;AACF,CAAC","file":"menuEntryActionViewItem.js","sourceRoot":"file:///mnt/vss/_work/1/s/dependencies/vscode/out-editor-src","sourcesContent":["/*---------------------------------------------------------------------------------------------\n * Copyright (c) Microsoft Corporation. All rights reserved.\n * Licensed under the MIT License. See License.txt in the project root for license information.\n *--------------------------------------------------------------------------------------------*/\n\nimport { asCSSUrl } from '../../../base/browser/cssValue.js';\nimport { $, addDisposableListener, append, 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, IDropdownMenuActionViewItemOptions } from '../../../base/browser/ui/dropdown/dropdownActionViewItem.js';\nimport { IHoverDelegate } from '../../../base/browser/ui/hover/hoverDelegate.js';\nimport { ActionRunner, IAction, IActionRunner, IRunEvent, Separator, SubmenuAction } from '../../../base/common/actions.js';\nimport { UILabelProvider } from '../../../base/common/keybindingLabels.js';\nimport { ResolvedKeybinding } from '../../../base/common/keybindings.js';\nimport { KeyCode } from '../../../base/common/keyCodes.js';\nimport { combinedDisposable, DisposableStore, MutableDisposable, toDisposable } from '../../../base/common/lifecycle.js';\nimport { isLinux, isWindows, OS } from '../../../base/common/platform.js';\nimport { ThemeIcon } from '../../../base/common/themables.js';\nimport { assertType } from '../../../base/common/types.js';\nimport { localize } from '../../../nls.js';\nimport { IAccessibilityService } from '../../accessibility/common/accessibility.js';\nimport { ICommandAction, isICommandActionToggleInfo } from '../../action/common/action.js';\nimport { IConfigurationService } from '../../configuration/common/configuration.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, StorageScope, StorageTarget } from '../../storage/common/storage.js';\nimport { defaultSelectBoxStyles } from '../../theme/browser/defaultStyles.js';\nimport { asCssVariable, selectBorder } from '../../theme/common/colorRegistry.js';\nimport { isDark } from '../../theme/common/theme.js';\nimport { IThemeService } from '../../theme/common/themeService.js';\nimport { hasNativeContextMenu } from '../../window/common/window.js';\nimport { IMenuService, MenuItemAction, SubmenuItemAction } from '../common/actions.js';\nimport './menuEntryActionViewItem.css';\n\nexport interface PrimaryAndSecondaryActions {\n\tprimary: IAction[];\n\tsecondary: IAction[];\n}\n\nexport function getFlatContextMenuActions(\n\tgroups: ReadonlyArray<[string, ReadonlyArray<MenuItemAction | SubmenuItemAction>]>,\n\tprimaryGroup?: string\n): IAction[] {\n\tconst target: IAction[] = [];\n\tgetContextMenuActionsImpl(groups, target, primaryGroup);\n\treturn target;\n}\n\nfunction getContextMenuActionsImpl(\n\tgroups: ReadonlyArray<[string, ReadonlyArray<MenuItemAction | SubmenuItemAction>]>,\n\ttarget: IAction[] | PrimaryAndSecondaryActions,\n\tprimaryGroup?: string\n) {\n\tconst modifierKeyEmitter = ModifierKeyEmitter.getInstance();\n\tconst useAlternativeActions = modifierKeyEmitter.keyStatus.altKey || ((isWindows || isLinux) && modifierKeyEmitter.keyStatus.shiftKey);\n\tfillInActions(groups, target, useAlternativeActions, primaryGroup ? actionGroup => actionGroup === primaryGroup : actionGroup => actionGroup === 'navigation');\n}\n\n\nexport function getActionBarActions(\n\tgroups: [string, Array<MenuItemAction | SubmenuItemAction>][],\n\tprimaryGroup?: string | ((actionGroup: string) => boolean),\n\tshouldInlineSubmenu?: (action: SubmenuAction, group: string, groupSize: number) => boolean,\n\tuseSeparatorsInPrimaryActions?: boolean\n): PrimaryAndSecondaryActions {\n\tconst target: PrimaryAndSecondaryActions = { primary: [], secondary: [] };\n\tfillInActionBarActions(groups, target, primaryGroup, shouldInlineSubmenu, useSeparatorsInPrimaryActions);\n\treturn target;\n}\n\nexport function getFlatActionBarActions(\n\tgroups: [string, Array<MenuItemAction | SubmenuItemAction>][],\n\tprimaryGroup?: string | ((actionGroup: string) => boolean),\n\tshouldInlineSubmenu?: (action: SubmenuAction, group: string, groupSize: number) => boolean,\n\tuseSeparatorsInPrimaryActions?: boolean\n): IAction[] {\n\tconst target: IAction[] = [];\n\tfillInActionBarActions(groups, target, primaryGroup, shouldInlineSubmenu, useSeparatorsInPrimaryActions);\n\treturn target;\n}\n\nexport function fillInActionBarActions(\n\tgroups: [string, Array<MenuItemAction | SubmenuItemAction>][],\n\ttarget: IAction[] | PrimaryAndSecondaryActions,\n\tprimaryGroup?: string | ((actionGroup: string) => boolean),\n\tshouldInlineSubmenu?: (action: SubmenuAction, group: string, groupSize: number) => boolean,\n\tuseSeparatorsInPrimaryActions?: boolean\n): void {\n\tconst isPrimaryAction = typeof primaryGroup === 'string' ? (actionGroup: string) => actionGroup === primaryGroup : primaryGroup;\n\n\t// Action bars handle alternative actions on their own so the alternative actions should be ignored\n\tfillInActions(groups, target, false, isPrimaryAction, shouldInlineSubmenu, useSeparatorsInPrimaryActions);\n}\n\nfunction fillInActions(\n\tgroups: ReadonlyArray<[string, ReadonlyArray<MenuItemAction | SubmenuItemAction>]>,\n\ttarget: IAction[] | PrimaryAndSecondaryActions,\n\tuseAlternativeActions: boolean,\n\tisPrimaryAction: (actionGroup: string) => boolean = actionGroup => actionGroup === 'navigation',\n\tshouldInlineSubmenu: (action: SubmenuAction, group: string, groupSize: number) => boolean = () => false,\n\tuseSeparatorsInPrimaryActions: boolean = false\n): void {\n\n\tlet primaryBucket: IAction[];\n\tlet secondaryBucket: IAction[];\n\tif (Array.isArray(target)) {\n\t\tprimaryBucket = target;\n\t\tsecondaryBucket = target;\n\t} else {\n\t\tprimaryBucket = target.primary;\n\t\tsecondaryBucket = target.secondary;\n\t}\n\n\tconst submenuInfo = new Set<{ group: string; action: SubmenuAction; index: number }>();\n\n\tfor (const [group, actions] of groups) {\n\n\t\tlet target: IAction[];\n\t\tif (isPrimaryAction(group)) {\n\t\t\ttarget = primaryBucket;\n\t\t\tif (target.length > 0 && useSeparatorsInPrimaryActions) {\n\t\t\t\ttarget.push(new Separator());\n\t\t\t}\n\t\t} else {\n\t\t\ttarget = secondaryBucket;\n\t\t\tif (target.length > 0) {\n\t\t\t\ttarget.push(new Separator());\n\t\t\t}\n\t\t}\n\n\t\tfor (let action of actions) {\n\t\t\tif (useAlternativeActions) {\n\t\t\t\taction = action instanceof MenuItemAction && action.alt ? action.alt : action;\n\t\t\t}\n\t\t\tconst newLen = target.push(action);\n\t\t\t// keep submenu info for later inlining\n\t\t\tif (action instanceof SubmenuAction) {\n\t\t\t\tsubmenuInfo.add({ group, action, index: newLen - 1 });\n\t\t\t}\n\t\t}\n\t}\n\n\t// ask the outside if submenu should be inlined or not. only ask when\n\t// there would be enough space\n\tfor (const { group, action, index } of submenuInfo) {\n\t\tconst target = isPrimaryAction(group) ? primaryBucket : secondaryBucket;\n\n\t\t// inlining submenus with length 0 or 1 is easy,\n\t\t// larger submenus need to be checked with the overall limit\n\t\tconst submenuActions = action.actions;\n\t\tif (shouldInlineSubmenu(action, group, target.length)) {\n\t\t\ttarget.splice(index, 1, ...submenuActions);\n\t\t}\n\t}\n}\n\nexport interface IMenuEntryActionViewItemOptions {\n\treadonly draggable?: boolean;\n\treadonly keybinding?: string | null;\n\treadonly hoverDelegate?: IHoverDelegate;\n\treadonly keybindingNotRenderedWithLabel?: boolean;\n}\n\nexport class MenuEntryActionViewItem<T extends IMenuEntryActionViewItemOptions = IMenuEntryActionViewItemOptions> extends ActionViewItem {\n\n\tprivate _wantsAltCommand: boolean = false;\n\tprivate readonly _itemClassDispose = this._register(new MutableDisposable());\n\tprivate readonly _altKey: ModifierKeyEmitter;\n\n\tconstructor(\n\t\taction: MenuItemAction,\n\t\tprotected readonly _options: T | undefined,\n\t\t@IKeybindingService protected readonly _keybindingService: IKeybindingService,\n\t\t@INotificationService protected readonly _notificationService: INotificationService,\n\t\t@IContextKeyService protected readonly _contextKeyService: IContextKeyService,\n\t\t@IThemeService protected readonly _themeService: IThemeService,\n\t\t@IContextMenuService protected readonly _contextMenuService: IContextMenuService,\n\t\t@IAccessibilityService private readonly _accessibilityService: IAccessibilityService\n\t) {\n\t\tsuper(undefined, action, { icon: !!(action.class || action.item.icon), label: !action.class && !action.item.icon, draggable: _options?.draggable, keybinding: _options?.keybinding, hoverDelegate: _options?.hoverDelegate, keybindingNotRenderedWithLabel: _options?.keybindingNotRenderedWithLabel });\n\t\tthis._altKey = ModifierKeyEmitter.getInstance();\n\t}\n\n\tprotected get _menuItemAction(): MenuItemAction {\n\t\treturn <MenuItemAction>this._action;\n\t}\n\n\tprotected get _commandAction(): MenuItemAction {\n\t\treturn this._wantsAltCommand && this._menuItemAction.alt || this._menuItemAction;\n\t}\n\n\toverride async onClick(event: MouseEvent): Promise<void> {\n\t\tevent.preventDefault();\n\t\tevent.stopPropagation();\n\n\t\ttry {\n\t\t\tawait this.actionRunner.run(this._commandAction, this._context);\n\t\t} catch (err) {\n\t\t\tthis._notificationService.error(err);\n\t\t}\n\t}\n\n\toverride render(container: HTMLElement): void {\n\t\tsuper.render(container);\n\t\tcontainer.classList.add('menu-entry');\n\n\t\tif (this.options.icon) {\n\t\t\tthis._updateItemClass(this._menuItemAction.item);\n\t\t}\n\n\t\tif (this._menuItemAction.alt) {\n\t\t\tlet isMouseOver = false;\n\n\t\t\tconst updateAltState = () => {\n\t\t\t\tconst wantsAltCommand = !!this._menuItemAction.alt?.enabled &&\n\t\t\t\t\t(!this._accessibilityService.isMotionReduced() || isMouseOver) && (\n\t\t\t\t\t\tthis._altKey.keyStatus.altKey ||\n\t\t\t\t\t\t(this._altKey.keyStatus.shiftKey && isMouseOver)\n\t\t\t\t\t);\n\n\t\t\t\tif (wantsAltCommand !== this._wantsAltCommand) {\n\t\t\t\t\tthis._wantsAltCommand = wantsAltCommand;\n\t\t\t\t\tthis.updateLabel();\n\t\t\t\t\tthis.updateTooltip();\n\t\t\t\t\tthis.updateClass();\n\t\t\t\t}\n\t\t\t};\n\n\t\t\tthis._register(this._altKey.event(updateAltState));\n\n\t\t\tthis._register(addDisposableListener(container, 'mouseleave', _ => {\n\t\t\t\tisMouseOver = false;\n\t\t\t\tupdateAltState();\n\t\t\t}));\n\n\t\t\tthis._register(addDisposableListener(container, 'mouseenter', _ => {\n\t\t\t\tisMouseOver = true;\n\t\t\t\tupdateAltState();\n\t\t\t}));\n\n\t\t\tupdateAltState();\n\t\t}\n\t}\n\n\tprotected override updateLabel(): void {\n\t\tif (this.options.label && this.label) {\n\t\t\tthis.label.textContent = this._commandAction.label;\n\t\t}\n\t}\n\n\tprotected override getTooltip() {\n\t\tconst keybinding = this._keybindingService.lookupKeybinding(this._commandAction.id, this._contextKeyService);\n\t\tconst keybindingLabel = keybinding && keybinding.getLabel();\n\n\t\tconst tooltip = this._commandAction.tooltip || this._commandAction.label;\n\t\tlet title = keybindingLabel\n\t\t\t? localize('titleAndKb', \"{0} ({1})\", tooltip, keybindingLabel)\n\t\t\t: tooltip;\n\t\tif (!this._wantsAltCommand && this._menuItemAction.alt?.enabled) {\n\t\t\tconst altTooltip = this._menuItemAction.alt.tooltip || this._menuItemAction.alt.label;\n\t\t\tconst altKeybinding = this._keybindingService.lookupKeybinding(this._menuItemAction.alt.id, this._contextKeyService);\n\t\t\tconst altKeybindingLabel = altKeybinding && altKeybinding.getLabel();\n\t\t\tconst altTitleSection = altKeybindingLabel\n\t\t\t\t? localize('titleAndKb', \"{0} ({1})\", altTooltip, altKeybindingLabel)\n\t\t\t\t: altTooltip;\n\n\t\t\ttitle = localize('titleAndKbAndAlt', \"{0}\\n[{1}] {2}\", title, UILabelProvider.modifierLabels[OS].altKey, altTitleSection);\n\t\t}\n\t\treturn title;\n\t}\n\n\tprotected override updateClass(): void {\n\t\tif (this.options.icon) {\n\t\t\tif (this._commandAction !== this._menuItemAction) {\n\t\t\t\tif (this._menuItemAction.alt) {\n\t\t\t\t\tthis._updateItemClass(this._menuItemAction.alt.item);\n\t\t\t\t}\n\t\t\t} else {\n\t\t\t\tthis._updateItemClass(this._menuItemAction.item);\n\t\t\t}\n\t\t}\n\t}\n\n\tprivate _updateItemClass(item: ICommandAction): void {\n\t\tthis._itemClassDispose.value = undefined;\n\n\t\tconst { element, label } = this;\n\t\tif (!element || !label) {\n\t\t\treturn;\n\t\t}\n\n\t\tconst icon = this._commandAction.checked && isICommandActionToggleInfo(item.toggled) && item.toggled.icon ? item.toggled.icon : item.icon;\n\n\t\tif (!icon) {\n\t\t\treturn;\n\t\t}\n\n\t\tif (ThemeIcon.isThemeIcon(icon)) {\n\t\t\t// theme icons\n\t\t\tconst iconClasses = ThemeIcon.asClassNameArray(icon);\n\t\t\tlabel.classList.add(...iconClasses);\n\t\t\tthis._itemClassDispose.value = toDisposable(() => {\n\t\t\t\tlabel.classList.remove(...iconClasses);\n\t\t\t});\n\n\t\t} else {\n\t\t\t// icon path/url\n\t\t\tlabel.style.backgroundImage = (\n\t\t\t\tisDark(this._themeService.getColorTheme().type)\n\t\t\t\t\t? asCSSUrl(icon.dark)\n\t\t\t\t\t: asCSSUrl(icon.light)\n\t\t\t);\n\t\t\tlabel.classList.add('icon');\n\t\t\tthis._itemClassDispose.value = combinedDisposable(\n\t\t\t\ttoDisposable(() => {\n\t\t\t\t\tlabel.style.backgroundImage = '';\n\t\t\t\t\tlabel.classList.remove('icon');\n\t\t\t\t}),\n\t\t\t\tthis._themeService.onDidColorThemeChange(() => {\n\t\t\t\t\t// refresh when the theme changes in case we go between dark <-> light\n\t\t\t\t\tthis.updateClass();\n\t\t\t\t})\n\t\t\t);\n\t\t}\n\t}\n}\n\nexport interface ITextOnlyMenuEntryActionViewItemOptions extends IMenuEntryActionViewItemOptions {\n\treadonly conversational?: boolean;\n\treadonly useComma?: boolean;\n}\n\nexport class TextOnlyMenuEntryActionViewItem extends MenuEntryActionViewItem<ITextOnlyMenuEntryActionViewItemOptions> {\n\n\toverride render(container: HTMLElement): void {\n\t\tthis.options.label = true;\n\t\tthis.options.icon = false;\n\t\tsuper.render(container);\n\t\tcontainer.classList.add('text-only');\n\t\tcontainer.classList.toggle('use-comma', this._options?.useComma ?? false);\n\t}\n\n\tprotected override updateLabel() {\n\t\tconst kb = this._keybindingService.lookupKeybinding(this._action.id, this._contextKeyService);\n\t\tif (!kb) {\n\t\t\treturn super.updateLabel();\n\t\t}\n\t\tif (this.label) {\n\t\t\tconst kb2 = TextOnlyMenuEntryActionViewItem._symbolPrintEnter(kb);\n\n\t\t\tif (this._options?.conversational) {\n\t\t\t\tthis.label.textContent = localize({ key: 'content2', comment: ['A label with keybindg like \"ESC to dismiss\"'] }, '{1} to {0}', this._action.label, kb2);\n\n\t\t\t} else {\n\t\t\t\tthis.label.textContent = localize({ key: 'content', comment: ['A label', 'A keybinding'] }, '{0} ({1})', this._action.label, kb2);\n\t\t\t}\n\t\t}\n\t}\n\n\tprivate static _symbolPrintEnter(kb: ResolvedKeybinding) {\n\t\treturn kb.getLabel()\n\t\t\t?.replace(/\\benter\\b/gi, '\\u23CE')\n\t\t\t.replace(/\\bEscape\\b/gi, 'Esc');\n\t}\n}\n\nexport class SubmenuEntryActionViewItem extends DropdownMenuActionViewItem {\n\n\tconstructor(\n\t\taction: SubmenuItemAction,\n\t\toptions: IDropdownMenuActionViewItemOptions | undefined,\n\t\t@IKeybindingService protected _keybindingService: IKeybindingService,\n\t\t@IContextMenuService protected _contextMenuService: IContextMenuService,\n\t\t@IThemeService protected _themeService: IThemeService\n\t) {\n\t\tconst dropdownOptions: IDropdownMenuActionViewItemOptions = {\n\t\t\t...options,\n\t\t\tmenuAsChild: options?.menuAsChild ?? false,\n\t\t\tclassNames: options?.classNames ?? (ThemeIcon.isThemeIcon(action.item.icon) ? ThemeIcon.asClassName(action.item.icon) : undefined),\n\t\t\tkeybindingProvider: options?.keybindingProvider ?? (action => _keybindingService.lookupKeybinding(action.id))\n\t\t};\n\n\t\tsuper(action, { getActions: () => action.actions }, _contextMenuService, dropdownOptions);\n\t}\n\n\toverride render(container: HTMLElement): void {\n\t\tsuper.render(container);\n\t\tassertType(this.element);\n\n\t\tcontainer.classList.add('menu-entry');\n\t\tconst action = <SubmenuItemAction>this._action;\n\t\tconst { icon } = action.item;\n\t\tif (icon && !ThemeIcon.isThemeIcon(icon)) {\n\t\t\tthis.element.classList.add('icon');\n\t\t\tconst setBackgroundImage = () => {\n\t\t\t\tif (this.element) {\n\t\t\t\t\tthis.element.style.backgroundImage = (\n\t\t\t\t\t\tisDark(this._themeService.getColorTheme().type)\n\t\t\t\t\t\t\t? asCSSUrl(icon.dark)\n\t\t\t\t\t\t\t: asCSSUrl(icon.light)\n\t\t\t\t\t);\n\t\t\t\t}\n\t\t\t};\n\t\t\tsetBackgroundImage();\n\t\t\tthis._register(this._themeService.onDidColorThemeChange(() => {\n\t\t\t\t// refresh when the theme changes in case we go between dark <-> light\n\t\t\t\tsetBackgroundImage();\n\t\t\t}));\n\t\t}\n\t}\n}\n\nexport interface IDropdownWithDefaultActionViewItemOptions extends IDropdownMenuActionViewItemOptions {\n\trenderKeybindingWithDefaultActionLabel?: boolean;\n\ttogglePrimaryAction?: boolean;\n}\n\nexport class DropdownWithDefaultActionViewItem extends BaseActionViewItem {\n\tprivate readonly _options: IDropdownWithDefaultActionViewItemOptions | undefined;\n\tprivate _defaultAction: ActionViewItem;\n\tprivate readonly _defaultActionDisposables = this._register(new DisposableStore());\n\tprivate readonly _dropdown: DropdownMenuActionViewItem;\n\tprivate _container: HTMLElement | null = null;\n\tprivate readonly _storageKey: string;\n\n\tconstructor(\n\t\tsubmenuAction: SubmenuItemAction,\n\t\toptions: IDropdownWithDefaultActionViewItemOptions | undefined,\n\t\t@IKeybindingService protected readonly _keybindingService: IKeybindingService,\n\t\t@INotificationService protected _notificationService: INotificationService,\n\t\t@IContextMenuService protected _contextMenuService: IContextMenuService,\n\t\t@IMenuService protected _menuService: IMenuService,\n\t\t@IInstantiationService protected _instaService: IInstantiationService,\n\t\t@IStorageService protected _storageService: IStorageService\n\t) {\n\t\tsuper(null, submenuAction);\n\t\tthis._options = options;\n\t\tthis._storageKey = `${submenuAction.item.submenu.id}_lastActionId`;\n\n\t\t// determine default action\n\t\tlet defaultAction: IAction | undefined;\n\t\tconst defaultActionId = options?.togglePrimaryAction ? _storageService.get(this._storageKey, StorageScope.WORKSPACE) : undefined;\n\t\tif (defaultActionId) {\n\t\t\tdefaultAction = submenuAction.actions.find(a => defaultActionId === a.id);\n\t\t}\n\t\tif (!defaultAction) {\n\t\t\tdefaultAction = submenuAction.actions[0];\n\t\t}\n\n\t\tthis._defaultAction = this._defaultActionDisposables.add(this._instaService.createInstance(MenuEntryActionViewItem, <MenuItemAction>defaultAction, { keybinding: this._getDefaultActionKeybindingLabel(defaultAction) }));\n\n\t\tconst dropdownOptions: IDropdownMenuActionViewItemOptions = {\n\t\t\tkeybindingProvider: action => this._keybindingService.lookupKeybinding(action.id),\n\t\t\t...options,\n\t\t\tmenuAsChild: options?.menuAsChild ?? true,\n\t\t\tclassNames: options?.classNames ?? ['codicon', 'codicon-chevron-down'],\n\t\t\tactionRunner: options?.actionRunner ?? this._register(new ActionRunner()),\n\t\t};\n\n\t\tthis._dropdown = this._register(new DropdownMenuActionViewItem(submenuAction, submenuAction.actions, this._contextMenuService, dropdownOptions));\n\t\tif (options?.togglePrimaryAction) {\n\t\t\tthis._register(this._dropdown.actionRunner.onDidRun((e: IRunEvent) => {\n\t\t\t\tif (e.action instanceof MenuItemAction) {\n\t\t\t\t\tthis.update(e.action);\n\t\t\t\t}\n\t\t\t}));\n\t\t}\n\t}\n\n\tprivate update(lastAction: MenuItemAction): void {\n\t\tif (this._options?.togglePrimaryAction) {\n\t\t\tthis._storageService.store(this._storageKey, lastAction.id, StorageScope.WORKSPACE, StorageTarget.MACHINE);\n\t\t}\n\n\t\tthis._defaultActionDisposables.clear();\n\t\tthis._defaultAction = this._defaultActionDisposables.add(this._instaService.createInstance(MenuEntryActionViewItem, lastAction, { keybinding: this._getDefaultActionKeybindingLabel(lastAction) }));\n\t\tthis._defaultAction.actionRunner = this._defaultActionDisposables.add(new class extends ActionRunner {\n\t\t\tprotected override async runAction(action: IAction, context?: unknown): Promise<void> {\n\t\t\t\tawait action.run(undefined);\n\t\t\t}\n\t\t}());\n\n\t\tif (this._container) {\n\t\t\tthis._defaultAction.render(prepend(this._container, $('.action-container')));\n\t\t}\n\t}\n\n\tprivate _getDefaultActionKeybindingLabel(defaultAction: IAction) {\n\t\tlet defaultActionKeybinding: string | undefined;\n\t\tif (this._options?.renderKeybindingWithDefaultActionLabel) {\n\t\t\tconst kb = this._keybindingService.lookupKeybinding(defaultAction.id);\n\t\t\tif (kb) {\n\t\t\t\tdefaultActionKeybinding = `(${kb.getLabel()})`;\n\t\t\t}\n\t\t}\n\t\treturn defaultActionKeybinding;\n\t}\n\n\toverride setActionContext(newContext: unknown): void {\n\t\tsuper.setActionContext(newContext);\n\t\tthis._defaultAction.setActionContext(newContext);\n\t\tthis._dropdown.setActionContext(newContext);\n\t}\n\n\toverride set actionRunner(actionRunner: IActionRunner) {\n\t\tsuper.actionRunner = actionRunner;\n\n\t\tthis._defaultAction.actionRunner = actionRunner;\n\t\tthis._dropdown.actionRunner = actionRunner;\n\t}\n\n\toverride get actionRunner(): IActionRunner {\n\t\treturn super.actionRunner;\n\t}\n\n\toverride render(container: HTMLElement): void {\n\t\tthis._container = container;\n\t\tsuper.render(this._container);\n\n\t\tthis._container.classList.add('monaco-dropdown-with-default');\n\n\t\tconst primaryContainer = $('.action-container');\n\t\tthis._defaultAction.render(append(this._container, primaryContainer));\n\t\tthis._register(addDisposableListener(primaryContainer, EventType.KEY_DOWN, (e: KeyboardEvent) => {\n\t\t\tconst event = new StandardKeyboardEvent(e);\n\t\t\tif (event.equals(KeyCode.RightArrow)) {\n\t\t\t\tthis._defaultAction.element!.tabIndex = -1;\n\t\t\t\tthis._dropdown.focus();\n\t\t\t\tevent.stopPropagation();\n\t\t\t}\n\t\t}));\n\n\t\tconst dropdownContainer = $('.dropdown-action-container');\n\t\tthis._dropdown.render(append(this._container, dropdownContainer));\n\t\tthis._register(addDisposableListener(dropdownContainer, EventType.KEY_DOWN, (e: KeyboardEvent) => {\n\t\t\tconst event = new StandardKeyboardEvent(e);\n\t\t\tif (event.equals(KeyCode.LeftArrow)) {\n\t\t\t\tthis._defaultAction.element!.tabIndex = 0;\n\t\t\t\tthis._dropdown.setFocusable(false);\n\t\t\t\tthis._defaultAction.element?.focus();\n\t\t\t\tevent.stopPropagation();\n\t\t\t}\n\t\t}));\n\t}\n\n\toverride focus(fromRight?: boolean): void {\n\t\tif (fromRight) {\n\t\t\tthis._dropdown.focus();\n\t\t} else {\n\t\t\tthis._defaultAction.element!.tabIndex = 0;\n\t\t\tthis._defaultAction.element!.focus();\n\t\t}\n\t}\n\n\toverride blur(): void {\n\t\tthis._defaultAction.element!.tabIndex = -1;\n\t\tthis._dropdown.blur();\n\t\tthis._container!.blur();\n\t}\n\n\toverride setFocusable(focusable: boolean): void {\n\t\tif (focusable) {\n\t\t\tthis._defaultAction.element!.tabIndex = 0;\n\t\t} else {\n\t\t\tthis._defaultAction.element!.tabIndex = -1;\n\t\t\tthis._dropdown.setFocusable(false);\n\t\t}\n\t}\n}\n\nclass SubmenuEntrySelectActionViewItem extends SelectActionViewItem {\n\n\tconstructor(\n\t\taction: SubmenuItemAction,\n\t\t@IContextViewService contextViewService: IContextViewService,\n\t\t@IConfigurationService configurationService: IConfigurationService,\n\t) {\n\t\tsuper(null, action, action.actions.map(a => ({\n\t\t\ttext: a.id === Separator.ID ? '\\u2500\\u2500\\u2500\\u2500\\u2500\\u2500\\u2500\\u2500\\u2500' : a.label,\n\t\t\tisDisabled: !a.enabled,\n\t\t})), 0, contextViewService, defaultSelectBoxStyles, { ariaLabel: action.tooltip, optionsAsChildren: true, useCustomDrawn: !hasNativeContextMenu(configurationService) });\n\t\tthis.select(Math.max(0, action.actions.findIndex(a => a.checked)));\n\t}\n\n\toverride render(container: HTMLElement): void {\n\t\tsuper.render(container);\n\t\tcontainer.style.borderColor = asCssVariable(selectBorder);\n\t}\n\n\tprotected override runAction(option: string, index: number): void {\n\t\tconst action = (this.action as SubmenuItemAction).actions[index];\n\t\tif (action) {\n\t\t\tthis.actionRunner.run(action);\n\t\t}\n\t}\n\n}\n\n/**\n * Creates action view items for menu actions or submenu actions.\n */\nexport function createActionViewItem(instaService: IInstantiationService, action: IAction, options: IDropdownMenuActionViewItemOptions | IMenuEntryActionViewItemOptions | undefined): undefined | MenuEntryActionViewItem | SubmenuEntryActionViewItem | BaseActionViewItem {\n\tif (action instanceof MenuItemAction) {\n\t\treturn instaService.createInstance(MenuEntryActionViewItem, action, options);\n\t} else if (action instanceof SubmenuItemAction) {\n\t\tif (action.item.isSelection) {\n\t\t\treturn instaService.createInstance(SubmenuEntrySelectActionViewItem, action);\n\t\t} else if (action.item.isSplitButton) {\n\t\t\treturn instaService.createInstance(DropdownWithDefaultActionViewItem, action, {\n\t\t\t\t...options,\n\t\t\t\ttogglePrimaryAction: typeof action.item.isSplitButton !== 'boolean' ? action.item.isSplitButton.togglePrimaryAction : false,\n\t\t\t});\n\t\t} else {\n\t\t\treturn instaService.createInstance(SubmenuEntryActionViewItem, action, options);\n\t\t}\n\t} else {\n\t\treturn undefined;\n\t}\n}\n"]}
package/package.json CHANGED
@@ -1,7 +1,7 @@
1
1
  {
2
2
  "name": "monaco-editor-core",
3
3
  "private": false,
4
- "version": "0.55.0-dev-20251011",
4
+ "version": "0.55.0-dev-20251013",
5
5
  "description": "A browser based code editor",
6
6
  "author": "Microsoft Corporation",
7
7
  "license": "MIT",
@@ -14,7 +14,7 @@
14
14
  "bugs": {
15
15
  "url": "https://github.com/microsoft/vscode/issues"
16
16
  },
17
- "vscodeCommitId": "5f881010a0871ab02c145eac646397a8d78ac3a7",
17
+ "vscodeCommitId": "bf56edffb59c43fa0de636c3aa1d548770b168b8",
18
18
  "dependencies": {
19
19
  "marked": "14.0.0",
20
20
  "dompurify": "3.1.7"