@eclipse-docks/extension-command-palette 0.7.130 → 0.7.132
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/{command-palette-extension-B1qH6ER4.js → command-palette-extension-B5XF1D9L.js} +6 -5
- package/dist/{command-palette-extension-B1qH6ER4.js.map → command-palette-extension-B5XF1D9L.js.map} +1 -1
- package/dist/{commandpalette.de-Bv--GkIv.js → commandpalette.de-CfNsMLz3.js} +1 -1
- package/dist/{commandpalette.de-Bv--GkIv.js.map → commandpalette.de-CfNsMLz3.js.map} +1 -1
- package/dist/{commandpalette.en-BkZSMl1d.js → commandpalette.en--62LK3F9.js} +1 -1
- package/dist/{commandpalette.en-BkZSMl1d.js.map → commandpalette.en--62LK3F9.js.map} +1 -1
- package/dist/{i18n.de-BAIyaWGM.js → i18n.de-BJqgwiZN.js} +1 -1
- package/dist/{i18n.de-BAIyaWGM.js.map → i18n.de-BJqgwiZN.js.map} +1 -1
- package/dist/{i18n.en-4m_srIpA.js → i18n.en-DTH48ZpO.js} +1 -1
- package/dist/{i18n.en-4m_srIpA.js.map → i18n.en-DTH48ZpO.js.map} +1 -1
- package/dist/index.js +4 -4
- package/dist/index.js.map +1 -1
- package/package.json +1 -1
package/dist/{command-palette-extension-B1qH6ER4.js → command-palette-extension-B5XF1D9L.js}
RENAMED
|
@@ -5,9 +5,9 @@ import { createRef, ref } from "lit/directives/ref.js";
|
|
|
5
5
|
import _decorate from "@oxc-project/runtime/helpers/decorate";
|
|
6
6
|
import { html as html$1 } from "@eclipse-docks/core/externals/lit";
|
|
7
7
|
//#region src/docks-command-palette.ts
|
|
8
|
-
var t = await i18n(/*
|
|
9
|
-
"./commandpalette.de.json": () => import("./commandpalette.de-
|
|
10
|
-
"./commandpalette.en.json": () => import("./commandpalette.en
|
|
8
|
+
var t = await i18n(/* #__PURE__ */ Object.assign({
|
|
9
|
+
"./commandpalette.de.json": () => import("./commandpalette.de-CfNsMLz3.js"),
|
|
10
|
+
"./commandpalette.en.json": () => import("./commandpalette.en--62LK3F9.js")
|
|
11
11
|
}));
|
|
12
12
|
var TOPIC_OPEN_COMMAND_PALETTE = "commandpalette/open";
|
|
13
13
|
var DocksCommandPalette = class DocksCommandPalette extends DocksWidget {
|
|
@@ -88,7 +88,8 @@ var DocksCommandPalette = class DocksCommandPalette extends DocksWidget {
|
|
|
88
88
|
this.executionContext = void 0;
|
|
89
89
|
}
|
|
90
90
|
handleInputChange(e) {
|
|
91
|
-
|
|
91
|
+
const input = e.target;
|
|
92
|
+
this.inputValue = input.value;
|
|
92
93
|
this.filterCommands();
|
|
93
94
|
}
|
|
94
95
|
filterCommands() {
|
|
@@ -400,4 +401,4 @@ contributionRegistry.registerContribution(TOOLBAR_MAIN_CENTER, {
|
|
|
400
401
|
});
|
|
401
402
|
//#endregion
|
|
402
403
|
|
|
403
|
-
//# sourceMappingURL=command-palette-extension-
|
|
404
|
+
//# sourceMappingURL=command-palette-extension-B5XF1D9L.js.map
|
package/dist/{command-palette-extension-B1qH6ER4.js.map → command-palette-extension-B5XF1D9L.js.map}
RENAMED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"command-palette-extension-B1qH6ER4.js","names":[],"sources":["../src/docks-command-palette.ts","../src/command-palette-extension.ts"],"sourcesContent":["import { html } from \"lit\";\nimport { css } from \"lit\";\nimport { customElement, state } from \"lit/decorators.js\";\nimport { createRef, ref, type Ref } from \"lit/directives/ref.js\";\nimport { DocksWidget, commandRegistry, type ExecutionContext, i18n, toastError } from \"@eclipse-docks/core\";\n\nexport const t = await i18n(import.meta.glob(\"./commandpalette*.json\"));\n\n// Event topic for opening the command palette\nexport const TOPIC_OPEN_COMMAND_PALETTE = \"commandpalette/open\";\n\n@customElement(\"docks-command-palette\")\nexport class DocksCommandPalette extends DocksWidget {\n @state()\n private inputValue: string = \"\";\n\n @state()\n private filteredCommands: any[] = [];\n\n @state()\n private allCommands: any[] = [];\n\n @state()\n private showParameterPrompt: boolean = false;\n\n @state()\n private selectedCommand: any = null;\n\n @state()\n private parameterValues: { [key: string]: string } = {};\n\n @state()\n private isPaletteOpen: boolean = false;\n\n private inputRef: Ref<any> = createRef();\n private dialogRef: Ref<any> = createRef();\n private boundDocumentClickHandler?: (e: MouseEvent) => void;\n private executionContext: ExecutionContext | undefined;\n\n protected doInitUI() {\n this.subscribe(TOPIC_OPEN_COMMAND_PALETTE, () => {\n this.openPalette();\n });\n\n this.boundDocumentClickHandler = this.handleDocumentClick.bind(this);\n document.addEventListener(\"click\", this.boundDocumentClickHandler);\n }\n\n private async handleDocumentClick(e: MouseEvent) {\n if (!this.isPaletteOpen && !this.showParameterPrompt) return;\n\n await this.updateComplete;\n const target = e.target as Node;\n\n if (this.contains(target)) return;\n\n if (this.dialogRef.value) {\n const dialog = this.dialogRef.value as HTMLElement;\n if (dialog.contains(target)) return;\n }\n\n let element = target as HTMLElement;\n while (element) {\n if (element.tagName === \"WA-DIALOG\") return;\n element = element.parentElement as HTMLElement;\n }\n\n this.closePalette();\n this.closeParameterPrompt();\n }\n\n private handleDialogClick(e: Event) {\n e.stopPropagation();\n }\n\n private handleInputFocus() {\n requestAnimationFrame(() => {\n this.isPaletteOpen = true;\n });\n }\n\n private handleInputClick(e: Event) {\n e.stopPropagation();\n this.openPalette();\n }\n\n private handleInputMouseDown(e: Event) {\n e.stopPropagation();\n }\n\n private updateCommandList() {\n const commands = commandRegistry.listCommands(this.executionContext || {});\n this.allCommands = Object.values(commands)\n .filter((cmd: any) => cmd.id !== \"commandpalette.open\")\n .map((cmd: any) => ({\n id: cmd.id,\n name: cmd.name,\n description: cmd.description,\n icon: cmd.icon,\n keyBinding: cmd.keyBinding,\n }));\n\n this.filteredCommands = [...this.allCommands];\n }\n\n public async openPalette() {\n this.executionContext = commandRegistry.createExecutionContext();\n this.inputValue = \"\";\n this.updateCommandList();\n this.showParameterPrompt = false;\n this.isPaletteOpen = true;\n\n await this.updateComplete;\n\n if (this.inputRef.value) {\n this.inputRef.value.focus();\n }\n }\n\n private closePalette() {\n this.isPaletteOpen = false;\n this.inputValue = \"\";\n this.showParameterPrompt = false;\n this.executionContext = undefined;\n }\n\n private handleInputChange(e: Event) {\n const input = e.target as any;\n this.inputValue = input.value;\n this.filterCommands();\n }\n\n private filterCommands() {\n if (!this.inputValue.trim()) {\n this.filteredCommands = [...this.allCommands];\n } else {\n const searchLower = this.inputValue.toLowerCase();\n this.filteredCommands = this.allCommands.filter(\n (cmd) =>\n cmd.name.toLowerCase().includes(searchLower) ||\n cmd.id.toLowerCase().includes(searchLower) ||\n (cmd.description && cmd.description.toLowerCase().includes(searchLower)),\n );\n }\n }\n\n private handleKeyDown(e: KeyboardEvent) {\n if (e.key === \"Escape\") {\n e.preventDefault();\n this.closePalette();\n }\n }\n\n private handleCommandClick(e: Event, command: any) {\n if (!command) return;\n e.stopPropagation();\n this.inputValue = \"\";\n this.filterCommands();\n this.runCommand(command);\n }\n\n private handleContainerClick(e: Event) {\n e.stopPropagation();\n }\n\n private runCommand(command: any) {\n if (!command) return;\n\n const fullCommand = commandRegistry.getCommand(command.id);\n const hasParameters = fullCommand?.parameters && fullCommand.parameters.length > 0;\n\n if (hasParameters) {\n this.selectedCommand = fullCommand;\n this.parameterValues = {};\n this.showParameterPrompt = true;\n } else {\n void this.executeCommandWithParams(command.id, {});\n }\n }\n\n private async executeCommandWithParams(commandId: string, params: any) {\n try {\n await commandRegistry.execute(commandId, { ...(this.executionContext || {}), params });\n this.closePalette();\n this.closeParameterPrompt();\n } catch (error: any) {\n console.error(\"Failed to execute command:\", error);\n }\n }\n\n private closeParameterPrompt() {\n this.showParameterPrompt = false;\n this.selectedCommand = null;\n this.parameterValues = {};\n }\n\n private handleParameterInput(paramName: string, value: string) {\n this.parameterValues = {\n ...this.parameterValues,\n [paramName]: value,\n };\n }\n\n private executeWithParameters() {\n if (!this.selectedCommand) return;\n\n const missingParams = this.selectedCommand.parameters\n ?.filter((p: any) => p.required && !this.parameterValues[p.name])\n .map((p: any) => p.name);\n\n if (missingParams && missingParams.length > 0) {\n toastError(t.MISSING_REQUIRED_PARAMS({ params: missingParams.join(\", \") }));\n return;\n }\n\n void this.executeCommandWithParams(this.selectedCommand.id, this.parameterValues);\n }\n\n protected render() {\n return html`\n <wa-input\n appearance=\"filled\"\n ${ref(this.inputRef)}\n placeholder=\"${t.PLACEHOLDER}\"\n .value=${this.inputValue}\n @input=${this.handleInputChange}\n @keydown=${this.handleKeyDown}\n @focus=${this.handleInputFocus}\n @click=${this.handleInputClick}\n @mousedown=${this.handleInputMouseDown}\n autocomplete=\"off\"\n size=\"s\"\n >\n <wa-icon slot=\"start\" name=\"terminal\" label=\"Terminal\"></wa-icon>\n </wa-input>\n\n <div class=\"commands-container ${this.isPaletteOpen ? \"open\" : \"\"}\" @click=${this.handleContainerClick}>\n ${this.filteredCommands.length > 0\n ? html`${this.filteredCommands.map(\n (cmd) => html`\n <div class=\"command-item\" @click=${(e: Event) => this.handleCommandClick(e, cmd)}>\n ${cmd.icon\n ? html`<div class=\"command-icon\">\n <wa-icon name=\"${cmd.icon}\" label=\"${cmd.name}\"></wa-icon>\n </div>`\n : html`<div class=\"command-icon\">\n <wa-icon name=\"terminal\" label=\"Command\"></wa-icon>\n </div>`}\n <div class=\"command-info\">\n <div class=\"command-name\">${cmd.name}</div>\n <div class=\"command-id\">${cmd.id}</div>\n ${cmd.description\n ? html`<div class=\"command-description\">${cmd.description}</div>`\n : \"\"}\n </div>\n ${cmd.keyBinding\n ? html`<div class=\"command-keybinding\">${cmd.keyBinding}</div>`\n : \"\"}\n </div>\n `,\n )}`\n : html`<div class=\"no-results\">\n <wa-icon\n name=\"search\"\n label=\"${t.NO_COMMANDS_FOUND}\"\n style=\"font-size: 24px; margin-bottom: 4px; opacity: 0.3;\"\n ></wa-icon>\n <div>${t.NO_COMMANDS_FOUND}</div>\n </div>`}\n </div>\n\n ${this.showParameterPrompt && this.selectedCommand\n ? html`<wa-dialog\n ${ref(this.dialogRef)}\n label=\"${this.selectedCommand.name} - ${t.PARAMETERS}\"\n open\n @wa-request-close=${this.closeParameterPrompt}\n @click=${this.handleDialogClick}\n >\n <div class=\"parameter-prompt-title\">\n ${t.ENTER_PARAMETERS({ commandName: this.selectedCommand.name })}\n </div>\n ${this.selectedCommand.parameters?.map(\n (param: any) => html`<div class=\"parameter-field\">\n <wa-input\n label=\"${param.name}${param.required ? \" *\" : \"\"}\"\n hint=${param.description || \"\"}\n placeholder=${param.description || t.ENTER_PARAM({ paramName: param.name })}\n .value=${this.parameterValues[param.name] || \"\"}\n @input=${(e: Event) => this.handleParameterInput(param.name, (e.target as any).value)}\n ></wa-input>\n </div>`,\n )}\n <div class=\"parameter-actions\">\n <wa-button variant=\"default\" @click=${this.closeParameterPrompt}>${t.CANCEL}</wa-button>\n <wa-button variant=\"primary\" @click=${this.executeWithParameters}>${t.EXECUTE}</wa-button>\n </div>\n </wa-dialog>`\n : \"\"}\n `;\n }\n\n protected doClose() {\n if (this.boundDocumentClickHandler) {\n document.removeEventListener(\"click\", this.boundDocumentClickHandler);\n this.boundDocumentClickHandler = undefined;\n }\n }\n\n static styles = css`\n :host {\n /* inline-flex + no width:100% keeps this on one row with siblings inside wa-button-group (flex-wrap: wrap). */\n display: inline-flex;\n flex-direction: column;\n align-items: stretch;\n width: auto;\n flex: 0 1 auto;\n max-width: 600px;\n min-width: 300px;\n position: relative;\n }\n\n wa-input {\n max-width: 300px;\n }\n\n .commands-container {\n position: absolute;\n top: 100%;\n left: 0;\n right: 0;\n margin-top: 4px;\n background: var(--wa-color-surface-raised);\n border: 1px solid var(--wa-color-surface-border);\n border-radius: 4px;\n max-height: 400px;\n overflow-y: auto;\n z-index: 1000;\n box-shadow: 0 8px 24px var(--wa-color-shadow);\n display: none;\n }\n\n .commands-container.open {\n display: block;\n }\n\n .command-item {\n display: flex;\n align-items: center;\n gap: 12px;\n padding: 10px 16px;\n cursor: pointer;\n transition: background-color 0.15s;\n border-bottom: 1px solid var(--wa-color-neutral-border-quiet);\n }\n\n .command-item:last-child {\n border-bottom: none;\n }\n\n .command-item:hover {\n background: var(--wa-color-neutral-fill-normal);\n }\n\n .command-icon {\n flex-shrink: 0;\n width: 20px;\n height: 20px;\n display: flex;\n align-items: center;\n justify-content: center;\n opacity: 0.7;\n }\n\n .command-info {\n flex: 1;\n min-width: 0;\n }\n\n .command-name {\n font-size: 14px;\n font-weight: 500;\n margin-bottom: 2px;\n }\n\n .command-id {\n font-size: 11px;\n opacity: 0.5;\n font-family: monospace;\n margin-bottom: 2px;\n }\n\n .command-description {\n font-size: 12px;\n opacity: 0.7;\n }\n\n .command-keybinding {\n flex-shrink: 0;\n margin-left: auto;\n padding: 2px 8px;\n background: var(--wa-color-neutral-fill-quiet);\n border: 1px solid var(--wa-color-neutral-border-quiet);\n border-radius: 3px;\n font-size: 11px;\n font-family: monospace;\n opacity: 0.7;\n }\n\n .no-results {\n padding: 20px;\n text-align: center;\n color: var(--wa-color-neutral-text-subtle);\n }\n\n wa-dialog::part(panel) {\n max-width: 600px;\n width: 90vw;\n }\n\n wa-dialog::part(body) {\n padding: 20px;\n }\n\n .parameter-prompt-title {\n font-size: 16px;\n font-weight: 600;\n margin-bottom: 16px;\n }\n\n .parameter-field {\n margin-bottom: 12px;\n }\n\n .parameter-field wa-input {\n width: 100%;\n }\n\n .parameter-actions {\n display: flex;\n gap: 8px;\n justify-content: flex-end;\n margin-top: 20px;\n }\n `;\n}\n\ndeclare global {\n interface HTMLElementTagNameMap {\n \"docks-command-palette\": DocksCommandPalette;\n }\n}\n","import { contributionRegistry, registerAll, TOOLBAR_MAIN_CENTER, publish } from \"@eclipse-docks/core\";\nimport { t, TOPIC_OPEN_COMMAND_PALETTE } from \"./docks-command-palette\";\nimport { html } from \"@eclipse-docks/core/externals/lit\";\n\nregisterAll({\n command: {\n id: \"commandpalette.open\",\n name: String(t.OPEN_COMMAND_PALETTE),\n description: String(t.OPEN_COMMAND_PALETTE_DESC),\n icon: \"terminal\",\n keyBinding: \"CTRL+SHIFT+P\",\n },\n handler: {\n execute: () => {\n publish(TOPIC_OPEN_COMMAND_PALETTE, null);\n return null;\n },\n },\n});\n\ncontributionRegistry.registerContribution(TOOLBAR_MAIN_CENTER, {\n name: 'commandPalette.toolbar',\n label: \"Command Palette\",\n icon: \"terminal\",\n component: () => html`<docks-command-palette></docks-command-palette>`,\n});\n\n"],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"command-palette-extension-B5XF1D9L.js","names":[],"sources":["../src/docks-command-palette.ts","../src/command-palette-extension.ts"],"sourcesContent":["import { html } from \"lit\";\nimport { css } from \"lit\";\nimport { customElement, state } from \"lit/decorators.js\";\nimport { createRef, ref, type Ref } from \"lit/directives/ref.js\";\nimport { DocksWidget, commandRegistry, type ExecutionContext, i18n, toastError } from \"@eclipse-docks/core\";\n\nexport const t = await i18n(import.meta.glob(\"./commandpalette*.json\"));\n\n// Event topic for opening the command palette\nexport const TOPIC_OPEN_COMMAND_PALETTE = \"commandpalette/open\";\n\n@customElement(\"docks-command-palette\")\nexport class DocksCommandPalette extends DocksWidget {\n @state()\n private inputValue: string = \"\";\n\n @state()\n private filteredCommands: any[] = [];\n\n @state()\n private allCommands: any[] = [];\n\n @state()\n private showParameterPrompt: boolean = false;\n\n @state()\n private selectedCommand: any = null;\n\n @state()\n private parameterValues: { [key: string]: string } = {};\n\n @state()\n private isPaletteOpen: boolean = false;\n\n private inputRef: Ref<any> = createRef();\n private dialogRef: Ref<any> = createRef();\n private boundDocumentClickHandler?: (e: MouseEvent) => void;\n private executionContext: ExecutionContext | undefined;\n\n protected doInitUI() {\n this.subscribe(TOPIC_OPEN_COMMAND_PALETTE, () => {\n this.openPalette();\n });\n\n this.boundDocumentClickHandler = this.handleDocumentClick.bind(this);\n document.addEventListener(\"click\", this.boundDocumentClickHandler);\n }\n\n private async handleDocumentClick(e: MouseEvent) {\n if (!this.isPaletteOpen && !this.showParameterPrompt) return;\n\n await this.updateComplete;\n const target = e.target as Node;\n\n if (this.contains(target)) return;\n\n if (this.dialogRef.value) {\n const dialog = this.dialogRef.value as HTMLElement;\n if (dialog.contains(target)) return;\n }\n\n let element = target as HTMLElement;\n while (element) {\n if (element.tagName === \"WA-DIALOG\") return;\n element = element.parentElement as HTMLElement;\n }\n\n this.closePalette();\n this.closeParameterPrompt();\n }\n\n private handleDialogClick(e: Event) {\n e.stopPropagation();\n }\n\n private handleInputFocus() {\n requestAnimationFrame(() => {\n this.isPaletteOpen = true;\n });\n }\n\n private handleInputClick(e: Event) {\n e.stopPropagation();\n this.openPalette();\n }\n\n private handleInputMouseDown(e: Event) {\n e.stopPropagation();\n }\n\n private updateCommandList() {\n const commands = commandRegistry.listCommands(this.executionContext || {});\n this.allCommands = Object.values(commands)\n .filter((cmd: any) => cmd.id !== \"commandpalette.open\")\n .map((cmd: any) => ({\n id: cmd.id,\n name: cmd.name,\n description: cmd.description,\n icon: cmd.icon,\n keyBinding: cmd.keyBinding,\n }));\n\n this.filteredCommands = [...this.allCommands];\n }\n\n public async openPalette() {\n this.executionContext = commandRegistry.createExecutionContext();\n this.inputValue = \"\";\n this.updateCommandList();\n this.showParameterPrompt = false;\n this.isPaletteOpen = true;\n\n await this.updateComplete;\n\n if (this.inputRef.value) {\n this.inputRef.value.focus();\n }\n }\n\n private closePalette() {\n this.isPaletteOpen = false;\n this.inputValue = \"\";\n this.showParameterPrompt = false;\n this.executionContext = undefined;\n }\n\n private handleInputChange(e: Event) {\n const input = e.target as any;\n this.inputValue = input.value;\n this.filterCommands();\n }\n\n private filterCommands() {\n if (!this.inputValue.trim()) {\n this.filteredCommands = [...this.allCommands];\n } else {\n const searchLower = this.inputValue.toLowerCase();\n this.filteredCommands = this.allCommands.filter(\n (cmd) =>\n cmd.name.toLowerCase().includes(searchLower) ||\n cmd.id.toLowerCase().includes(searchLower) ||\n (cmd.description && cmd.description.toLowerCase().includes(searchLower)),\n );\n }\n }\n\n private handleKeyDown(e: KeyboardEvent) {\n if (e.key === \"Escape\") {\n e.preventDefault();\n this.closePalette();\n }\n }\n\n private handleCommandClick(e: Event, command: any) {\n if (!command) return;\n e.stopPropagation();\n this.inputValue = \"\";\n this.filterCommands();\n this.runCommand(command);\n }\n\n private handleContainerClick(e: Event) {\n e.stopPropagation();\n }\n\n private runCommand(command: any) {\n if (!command) return;\n\n const fullCommand = commandRegistry.getCommand(command.id);\n const hasParameters = fullCommand?.parameters && fullCommand.parameters.length > 0;\n\n if (hasParameters) {\n this.selectedCommand = fullCommand;\n this.parameterValues = {};\n this.showParameterPrompt = true;\n } else {\n void this.executeCommandWithParams(command.id, {});\n }\n }\n\n private async executeCommandWithParams(commandId: string, params: any) {\n try {\n await commandRegistry.execute(commandId, { ...(this.executionContext || {}), params });\n this.closePalette();\n this.closeParameterPrompt();\n } catch (error: any) {\n console.error(\"Failed to execute command:\", error);\n }\n }\n\n private closeParameterPrompt() {\n this.showParameterPrompt = false;\n this.selectedCommand = null;\n this.parameterValues = {};\n }\n\n private handleParameterInput(paramName: string, value: string) {\n this.parameterValues = {\n ...this.parameterValues,\n [paramName]: value,\n };\n }\n\n private executeWithParameters() {\n if (!this.selectedCommand) return;\n\n const missingParams = this.selectedCommand.parameters\n ?.filter((p: any) => p.required && !this.parameterValues[p.name])\n .map((p: any) => p.name);\n\n if (missingParams && missingParams.length > 0) {\n toastError(t.MISSING_REQUIRED_PARAMS({ params: missingParams.join(\", \") }));\n return;\n }\n\n void this.executeCommandWithParams(this.selectedCommand.id, this.parameterValues);\n }\n\n protected render() {\n return html`\n <wa-input\n appearance=\"filled\"\n ${ref(this.inputRef)}\n placeholder=\"${t.PLACEHOLDER}\"\n .value=${this.inputValue}\n @input=${this.handleInputChange}\n @keydown=${this.handleKeyDown}\n @focus=${this.handleInputFocus}\n @click=${this.handleInputClick}\n @mousedown=${this.handleInputMouseDown}\n autocomplete=\"off\"\n size=\"s\"\n >\n <wa-icon slot=\"start\" name=\"terminal\" label=\"Terminal\"></wa-icon>\n </wa-input>\n\n <div class=\"commands-container ${this.isPaletteOpen ? \"open\" : \"\"}\" @click=${this.handleContainerClick}>\n ${this.filteredCommands.length > 0\n ? html`${this.filteredCommands.map(\n (cmd) => html`\n <div class=\"command-item\" @click=${(e: Event) => this.handleCommandClick(e, cmd)}>\n ${cmd.icon\n ? html`<div class=\"command-icon\">\n <wa-icon name=\"${cmd.icon}\" label=\"${cmd.name}\"></wa-icon>\n </div>`\n : html`<div class=\"command-icon\">\n <wa-icon name=\"terminal\" label=\"Command\"></wa-icon>\n </div>`}\n <div class=\"command-info\">\n <div class=\"command-name\">${cmd.name}</div>\n <div class=\"command-id\">${cmd.id}</div>\n ${cmd.description\n ? html`<div class=\"command-description\">${cmd.description}</div>`\n : \"\"}\n </div>\n ${cmd.keyBinding\n ? html`<div class=\"command-keybinding\">${cmd.keyBinding}</div>`\n : \"\"}\n </div>\n `,\n )}`\n : html`<div class=\"no-results\">\n <wa-icon\n name=\"search\"\n label=\"${t.NO_COMMANDS_FOUND}\"\n style=\"font-size: 24px; margin-bottom: 4px; opacity: 0.3;\"\n ></wa-icon>\n <div>${t.NO_COMMANDS_FOUND}</div>\n </div>`}\n </div>\n\n ${this.showParameterPrompt && this.selectedCommand\n ? html`<wa-dialog\n ${ref(this.dialogRef)}\n label=\"${this.selectedCommand.name} - ${t.PARAMETERS}\"\n open\n @wa-request-close=${this.closeParameterPrompt}\n @click=${this.handleDialogClick}\n >\n <div class=\"parameter-prompt-title\">\n ${t.ENTER_PARAMETERS({ commandName: this.selectedCommand.name })}\n </div>\n ${this.selectedCommand.parameters?.map(\n (param: any) => html`<div class=\"parameter-field\">\n <wa-input\n label=\"${param.name}${param.required ? \" *\" : \"\"}\"\n hint=${param.description || \"\"}\n placeholder=${param.description || t.ENTER_PARAM({ paramName: param.name })}\n .value=${this.parameterValues[param.name] || \"\"}\n @input=${(e: Event) => this.handleParameterInput(param.name, (e.target as any).value)}\n ></wa-input>\n </div>`,\n )}\n <div class=\"parameter-actions\">\n <wa-button variant=\"default\" @click=${this.closeParameterPrompt}>${t.CANCEL}</wa-button>\n <wa-button variant=\"primary\" @click=${this.executeWithParameters}>${t.EXECUTE}</wa-button>\n </div>\n </wa-dialog>`\n : \"\"}\n `;\n }\n\n protected doClose() {\n if (this.boundDocumentClickHandler) {\n document.removeEventListener(\"click\", this.boundDocumentClickHandler);\n this.boundDocumentClickHandler = undefined;\n }\n }\n\n static styles = css`\n :host {\n /* inline-flex + no width:100% keeps this on one row with siblings inside wa-button-group (flex-wrap: wrap). */\n display: inline-flex;\n flex-direction: column;\n align-items: stretch;\n width: auto;\n flex: 0 1 auto;\n max-width: 600px;\n min-width: 300px;\n position: relative;\n }\n\n wa-input {\n max-width: 300px;\n }\n\n .commands-container {\n position: absolute;\n top: 100%;\n left: 0;\n right: 0;\n margin-top: 4px;\n background: var(--wa-color-surface-raised);\n border: 1px solid var(--wa-color-surface-border);\n border-radius: 4px;\n max-height: 400px;\n overflow-y: auto;\n z-index: 1000;\n box-shadow: 0 8px 24px var(--wa-color-shadow);\n display: none;\n }\n\n .commands-container.open {\n display: block;\n }\n\n .command-item {\n display: flex;\n align-items: center;\n gap: 12px;\n padding: 10px 16px;\n cursor: pointer;\n transition: background-color 0.15s;\n border-bottom: 1px solid var(--wa-color-neutral-border-quiet);\n }\n\n .command-item:last-child {\n border-bottom: none;\n }\n\n .command-item:hover {\n background: var(--wa-color-neutral-fill-normal);\n }\n\n .command-icon {\n flex-shrink: 0;\n width: 20px;\n height: 20px;\n display: flex;\n align-items: center;\n justify-content: center;\n opacity: 0.7;\n }\n\n .command-info {\n flex: 1;\n min-width: 0;\n }\n\n .command-name {\n font-size: 14px;\n font-weight: 500;\n margin-bottom: 2px;\n }\n\n .command-id {\n font-size: 11px;\n opacity: 0.5;\n font-family: monospace;\n margin-bottom: 2px;\n }\n\n .command-description {\n font-size: 12px;\n opacity: 0.7;\n }\n\n .command-keybinding {\n flex-shrink: 0;\n margin-left: auto;\n padding: 2px 8px;\n background: var(--wa-color-neutral-fill-quiet);\n border: 1px solid var(--wa-color-neutral-border-quiet);\n border-radius: 3px;\n font-size: 11px;\n font-family: monospace;\n opacity: 0.7;\n }\n\n .no-results {\n padding: 20px;\n text-align: center;\n color: var(--wa-color-neutral-text-subtle);\n }\n\n wa-dialog::part(panel) {\n max-width: 600px;\n width: 90vw;\n }\n\n wa-dialog::part(body) {\n padding: 20px;\n }\n\n .parameter-prompt-title {\n font-size: 16px;\n font-weight: 600;\n margin-bottom: 16px;\n }\n\n .parameter-field {\n margin-bottom: 12px;\n }\n\n .parameter-field wa-input {\n width: 100%;\n }\n\n .parameter-actions {\n display: flex;\n gap: 8px;\n justify-content: flex-end;\n margin-top: 20px;\n }\n `;\n}\n\ndeclare global {\n interface HTMLElementTagNameMap {\n \"docks-command-palette\": DocksCommandPalette;\n }\n}\n","import { contributionRegistry, registerAll, TOOLBAR_MAIN_CENTER, publish } from \"@eclipse-docks/core\";\nimport { t, TOPIC_OPEN_COMMAND_PALETTE } from \"./docks-command-palette\";\nimport { html } from \"@eclipse-docks/core/externals/lit\";\n\nregisterAll({\n command: {\n id: \"commandpalette.open\",\n name: String(t.OPEN_COMMAND_PALETTE),\n description: String(t.OPEN_COMMAND_PALETTE_DESC),\n icon: \"terminal\",\n keyBinding: \"CTRL+SHIFT+P\",\n },\n handler: {\n execute: () => {\n publish(TOPIC_OPEN_COMMAND_PALETTE, null);\n return null;\n },\n },\n});\n\ncontributionRegistry.registerContribution(TOOLBAR_MAIN_CENTER, {\n name: 'commandPalette.toolbar',\n label: \"Command Palette\",\n icon: \"terminal\",\n component: () => html`<docks-command-palette></docks-command-palette>`,\n});\n\n"],"mappings":"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"}
|
|
@@ -24,4 +24,4 @@ var commandpalette_de_default = {
|
|
|
24
24
|
//#endregion
|
|
25
25
|
export { CANCEL, ENTER_PARAM, ENTER_PARAMETERS, EXECUTE, MISSING_REQUIRED_PARAMS, NO_COMMANDS_FOUND, OPEN_COMMAND_PALETTE, OPEN_COMMAND_PALETTE_DESC, PARAMETERS, PLACEHOLDER, commandpalette_de_default as default };
|
|
26
26
|
|
|
27
|
-
//# sourceMappingURL=commandpalette.de-
|
|
27
|
+
//# sourceMappingURL=commandpalette.de-CfNsMLz3.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"commandpalette.de-
|
|
1
|
+
{"version":3,"file":"commandpalette.de-CfNsMLz3.js","names":[],"sources":["../src/commandpalette.de.json"],"sourcesContent":["{\n \"PLACEHOLDER\": \"Befehlsname eingeben...\",\n \"NO_COMMANDS_FOUND\": \"Keine Befehle gefunden\",\n \"PARAMETERS\": \"Parameter\",\n \"ENTER_PARAMETERS\": \"Parameter für {commandName} eingeben\",\n \"CANCEL\": \"Abbrechen\",\n \"EXECUTE\": \"Ausführen\",\n \"OPEN_COMMAND_PALETTE\": \"Befehls-Palette öffnen\",\n \"OPEN_COMMAND_PALETTE_DESC\": \"Öffnet die Befehls-Palette zum Ausführen von Befehlen\",\n \"MISSING_REQUIRED_PARAMS\": \"Erforderliche Parameter fehlen: {params}\",\n \"ENTER_PARAM\": \"{paramName} eingeben\"\n}\n"],"mappings":""}
|
|
@@ -24,4 +24,4 @@ var commandpalette_en_default = {
|
|
|
24
24
|
//#endregion
|
|
25
25
|
export { CANCEL, ENTER_PARAM, ENTER_PARAMETERS, EXECUTE, MISSING_REQUIRED_PARAMS, NO_COMMANDS_FOUND, OPEN_COMMAND_PALETTE, OPEN_COMMAND_PALETTE_DESC, PARAMETERS, PLACEHOLDER, commandpalette_en_default as default };
|
|
26
26
|
|
|
27
|
-
//# sourceMappingURL=commandpalette.en
|
|
27
|
+
//# sourceMappingURL=commandpalette.en--62LK3F9.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"commandpalette.en
|
|
1
|
+
{"version":3,"file":"commandpalette.en--62LK3F9.js","names":[],"sources":["../src/commandpalette.en.json"],"sourcesContent":["{\n \"PLACEHOLDER\": \"Type a command name...\",\n \"NO_COMMANDS_FOUND\": \"No commands found\",\n \"PARAMETERS\": \"Parameters\",\n \"ENTER_PARAMETERS\": \"Enter parameters for {commandName}\",\n \"CANCEL\": \"Cancel\",\n \"EXECUTE\": \"Execute\",\n \"OPEN_COMMAND_PALETTE\": \"Open Command Palette\",\n \"OPEN_COMMAND_PALETTE_DESC\": \"Opens the command palette to execute commands\",\n \"MISSING_REQUIRED_PARAMS\": \"Missing required parameters: {params}\",\n \"ENTER_PARAM\": \"Enter {paramName}\"\n}\n"],"mappings":""}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"i18n.de-
|
|
1
|
+
{"version":3,"file":"i18n.de-BJqgwiZN.js","names":[],"sources":["../src/i18n.de.json"],"sourcesContent":["{\n \"EXT_COMMANDPALETTE_NAME\": \"Befehls-Palette\",\n \"EXT_COMMANDPALETTE_DESC\": \"VS Code-ähnliche Befehls-Palette oben in der Mitte für schnelle Befehlsausführung (Strg+Umschalt+P)\"\n}\n"],"mappings":""}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"i18n.en-
|
|
1
|
+
{"version":3,"file":"i18n.en-DTH48ZpO.js","names":[],"sources":["../src/i18n.en.json"],"sourcesContent":["{\n \"EXT_COMMANDPALETTE_NAME\": \"Command Palette\",\n \"EXT_COMMANDPALETTE_DESC\": \"VS Code-style command palette at the top center for quick command execution (Ctrl+Shift+P)\"\n}\n"],"mappings":""}
|
package/dist/index.js
CHANGED
|
@@ -1,15 +1,15 @@
|
|
|
1
1
|
import { extensionRegistry, i18n } from "@eclipse-docks/core";
|
|
2
2
|
import pkg from "../package.json";
|
|
3
3
|
//#region src/index.ts
|
|
4
|
-
var t = await i18n(/*
|
|
5
|
-
"./i18n.de.json": () => import("./i18n.de-
|
|
6
|
-
"./i18n.en.json": () => import("./i18n.en-
|
|
4
|
+
var t = await i18n(/* #__PURE__ */ Object.assign({
|
|
5
|
+
"./i18n.de.json": () => import("./i18n.de-BJqgwiZN.js"),
|
|
6
|
+
"./i18n.en.json": () => import("./i18n.en-DTH48ZpO.js")
|
|
7
7
|
}), true);
|
|
8
8
|
extensionRegistry.registerExtension({
|
|
9
9
|
id: pkg.name,
|
|
10
10
|
name: t.EXT_COMMANDPALETTE_NAME,
|
|
11
11
|
description: t.EXT_COMMANDPALETTE_DESC,
|
|
12
|
-
loader: () => import("./command-palette-extension-
|
|
12
|
+
loader: () => import("./command-palette-extension-B5XF1D9L.js"),
|
|
13
13
|
icon: "terminal"
|
|
14
14
|
});
|
|
15
15
|
//#endregion
|
package/dist/index.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","names":[],"sources":["../src/index.ts"],"sourcesContent":["import { extensionRegistry, i18n } from '@eclipse-docks/core';\nimport pkg from '../package.json';\n\nconst t = await i18n(import.meta.glob('./i18n*.json'), true);\n\nextensionRegistry.registerExtension({\n id: pkg.name,\n name: t.EXT_COMMANDPALETTE_NAME,\n description: t.EXT_COMMANDPALETTE_DESC,\n loader: () => import(\"./command-palette-extension\"),\n icon: \"terminal\",\n \n \n});\n"],"mappings":";;;AAGA,IAAM,IAAI,MAAM,KAAK,uBAAA,OAAA;CAAA,wBAAA,OAAA;CAAA,wBAAA,OAAA;CAAA,
|
|
1
|
+
{"version":3,"file":"index.js","names":[],"sources":["../src/index.ts"],"sourcesContent":["import { extensionRegistry, i18n } from '@eclipse-docks/core';\nimport pkg from '../package.json';\n\nconst t = await i18n(import.meta.glob('./i18n*.json'), true);\n\nextensionRegistry.registerExtension({\n id: pkg.name,\n name: t.EXT_COMMANDPALETTE_NAME,\n description: t.EXT_COMMANDPALETTE_DESC,\n loader: () => import(\"./command-palette-extension\"),\n icon: \"terminal\",\n \n \n});\n"],"mappings":";;;AAGA,IAAM,IAAI,MAAM,KAAK,uBAAA,OAAA;CAAA,wBAAA,OAAA;CAAA,wBAAA,OAAA;AAAA,CAAA,GAAkC,IAAI;AAE3D,kBAAkB,kBAAkB;CAClC,IAAI,IAAI;CACR,MAAM,EAAE;CACR,aAAa,EAAE;CACf,cAAc,OAAO;CACrB,MAAM;AAGR,CAAC"}
|