@eclipse-docks/extension-command-palette 0.7.112 → 0.7.113
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-DiaN6znP.js → command-palette-extension-am2W7u9d.js} +9 -32
- package/dist/{command-palette-extension-DiaN6znP.js.map → command-palette-extension-am2W7u9d.js.map} +1 -1
- package/dist/docks-command-palette.d.ts.map +1 -1
- package/dist/index.js +1 -1
- package/package.json +1 -1
package/dist/{command-palette-extension-DiaN6znP.js → command-palette-extension-am2W7u9d.js}
RENAMED
|
@@ -254,22 +254,16 @@ var DocksCommandPalette = class DocksCommandPalette extends DocksWidget {
|
|
|
254
254
|
left: 0;
|
|
255
255
|
right: 0;
|
|
256
256
|
margin-top: 4px;
|
|
257
|
-
background: var(--wa-color-
|
|
258
|
-
border: 1px solid var(--wa-color-
|
|
257
|
+
background: var(--wa-color-surface-raised);
|
|
258
|
+
border: 1px solid var(--wa-color-surface-border);
|
|
259
259
|
border-radius: 4px;
|
|
260
260
|
max-height: 400px;
|
|
261
261
|
overflow-y: auto;
|
|
262
262
|
z-index: 1000;
|
|
263
|
-
box-shadow: 0 8px 24px
|
|
263
|
+
box-shadow: 0 8px 24px var(--wa-color-shadow);
|
|
264
264
|
display: none;
|
|
265
265
|
}
|
|
266
266
|
|
|
267
|
-
:host-context(.wa-light) .commands-container {
|
|
268
|
-
background: var(--wa-color-neutral-95);
|
|
269
|
-
border: 1px solid var(--wa-color-neutral-75);
|
|
270
|
-
box-shadow: 0 8px 24px rgba(0, 0, 0, 0.2);
|
|
271
|
-
}
|
|
272
|
-
|
|
273
267
|
.commands-container.open {
|
|
274
268
|
display: block;
|
|
275
269
|
}
|
|
@@ -281,11 +275,7 @@ var DocksCommandPalette = class DocksCommandPalette extends DocksWidget {
|
|
|
281
275
|
padding: 10px 16px;
|
|
282
276
|
cursor: pointer;
|
|
283
277
|
transition: background-color 0.15s;
|
|
284
|
-
border-bottom: 1px solid var(--wa-color-neutral-
|
|
285
|
-
}
|
|
286
|
-
|
|
287
|
-
:host-context(.wa-light) .command-item {
|
|
288
|
-
border-bottom: 1px solid var(--wa-color-neutral-85);
|
|
278
|
+
border-bottom: 1px solid var(--wa-color-neutral-border-quiet);
|
|
289
279
|
}
|
|
290
280
|
|
|
291
281
|
.command-item:last-child {
|
|
@@ -293,11 +283,7 @@ var DocksCommandPalette = class DocksCommandPalette extends DocksWidget {
|
|
|
293
283
|
}
|
|
294
284
|
|
|
295
285
|
.command-item:hover {
|
|
296
|
-
background: var(--wa-color-neutral-
|
|
297
|
-
}
|
|
298
|
-
|
|
299
|
-
:host-context(.wa-light) .command-item:hover {
|
|
300
|
-
background: var(--wa-color-neutral-80);
|
|
286
|
+
background: var(--wa-color-neutral-fill-normal);
|
|
301
287
|
}
|
|
302
288
|
|
|
303
289
|
.command-icon {
|
|
@@ -337,27 +323,18 @@ var DocksCommandPalette = class DocksCommandPalette extends DocksWidget {
|
|
|
337
323
|
flex-shrink: 0;
|
|
338
324
|
margin-left: auto;
|
|
339
325
|
padding: 2px 8px;
|
|
340
|
-
background: var(--wa-color-neutral-
|
|
341
|
-
border: 1px solid var(--wa-color-neutral-
|
|
326
|
+
background: var(--wa-color-neutral-fill-quiet);
|
|
327
|
+
border: 1px solid var(--wa-color-neutral-border-quiet);
|
|
342
328
|
border-radius: 3px;
|
|
343
329
|
font-size: 11px;
|
|
344
330
|
font-family: monospace;
|
|
345
331
|
opacity: 0.7;
|
|
346
332
|
}
|
|
347
333
|
|
|
348
|
-
:host-context(.wa-light) .command-keybinding {
|
|
349
|
-
background: var(--wa-color-neutral-85);
|
|
350
|
-
border: 1px solid var(--wa-color-neutral-75);
|
|
351
|
-
}
|
|
352
|
-
|
|
353
334
|
.no-results {
|
|
354
335
|
padding: 20px;
|
|
355
336
|
text-align: center;
|
|
356
|
-
color: var(--wa-color-neutral-
|
|
357
|
-
}
|
|
358
|
-
|
|
359
|
-
:host-context(.wa-light) .no-results {
|
|
360
|
-
color: var(--wa-color-neutral-40);
|
|
337
|
+
color: var(--wa-color-neutral-text-subtle);
|
|
361
338
|
}
|
|
362
339
|
|
|
363
340
|
wa-dialog::part(panel) {
|
|
@@ -423,4 +400,4 @@ contributionRegistry.registerContribution(TOOLBAR_MAIN_CENTER, {
|
|
|
423
400
|
});
|
|
424
401
|
//#endregion
|
|
425
402
|
|
|
426
|
-
//# sourceMappingURL=command-palette-extension-
|
|
403
|
+
//# sourceMappingURL=command-palette-extension-am2W7u9d.js.map
|
package/dist/{command-palette-extension-DiaN6znP.js.map → command-palette-extension-am2W7u9d.js.map}
RENAMED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"command-palette-extension-DiaN6znP.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=\"small\"\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-neutral-05);\n border: 1px solid var(--wa-color-neutral-25);\n border-radius: 4px;\n max-height: 400px;\n overflow-y: auto;\n z-index: 1000;\n box-shadow: 0 8px 24px rgba(0, 0, 0, 0.8);\n display: none;\n }\n\n :host-context(.wa-light) .commands-container {\n background: var(--wa-color-neutral-95);\n border: 1px solid var(--wa-color-neutral-75);\n box-shadow: 0 8px 24px rgba(0, 0, 0, 0.2);\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-15);\n }\n\n :host-context(.wa-light) .command-item {\n border-bottom: 1px solid var(--wa-color-neutral-85);\n }\n\n .command-item:last-child {\n border-bottom: none;\n }\n\n .command-item:hover {\n background: var(--wa-color-neutral-20);\n }\n\n :host-context(.wa-light) .command-item:hover {\n background: var(--wa-color-neutral-80);\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-15);\n border: 1px solid var(--wa-color-neutral-25);\n border-radius: 3px;\n font-size: 11px;\n font-family: monospace;\n opacity: 0.7;\n }\n\n :host-context(.wa-light) .command-keybinding {\n background: var(--wa-color-neutral-85);\n border: 1px solid var(--wa-color-neutral-75);\n }\n\n .no-results {\n padding: 20px;\n text-align: center;\n color: var(--wa-color-neutral-60);\n }\n\n :host-context(.wa-light) .no-results {\n color: var(--wa-color-neutral-40);\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: t.OPEN_COMMAND_PALETTE,\n description: 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-am2W7u9d.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=\"small\"\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: t.OPEN_COMMAND_PALETTE,\n description: 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 +1 @@
|
|
|
1
|
-
{"version":3,"file":"docks-command-palette.d.ts","sourceRoot":"","sources":["../src/docks-command-palette.ts"],"names":[],"mappings":"AAIA,OAAO,EAAE,WAAW,EAA4D,MAAM,qBAAqB,CAAC;AAE5G,eAAO,MAAM,CAAC;;CAAyD,CAAC;AAGxE,eAAO,MAAM,0BAA0B,wBAAwB,CAAC;AAEhE,qBACa,mBAAoB,SAAQ,WAAW;IAElD,OAAO,CAAC,UAAU,CAAc;IAGhC,OAAO,CAAC,gBAAgB,CAAa;IAGrC,OAAO,CAAC,WAAW,CAAa;IAGhC,OAAO,CAAC,mBAAmB,CAAkB;IAG7C,OAAO,CAAC,eAAe,CAAa;IAGpC,OAAO,CAAC,eAAe,CAAiC;IAGxD,OAAO,CAAC,aAAa,CAAkB;IAEvC,OAAO,CAAC,QAAQ,CAAyB;IACzC,OAAO,CAAC,SAAS,CAAyB;IAC1C,OAAO,CAAC,yBAAyB,CAAC,CAA0B;IAC5D,OAAO,CAAC,gBAAgB,CAA+B;IAEvD,SAAS,CAAC,QAAQ;YASJ,mBAAmB;IAuBjC,OAAO,CAAC,iBAAiB;IAIzB,OAAO,CAAC,gBAAgB;IAMxB,OAAO,CAAC,gBAAgB;IAKxB,OAAO,CAAC,oBAAoB;IAI5B,OAAO,CAAC,iBAAiB;IAeZ,WAAW;IAcxB,OAAO,CAAC,YAAY;IAOpB,OAAO,CAAC,iBAAiB;IAMzB,OAAO,CAAC,cAAc;IActB,OAAO,CAAC,aAAa;IAOrB,OAAO,CAAC,kBAAkB;IAQ1B,OAAO,CAAC,oBAAoB;IAI5B,OAAO,CAAC,UAAU;YAeJ,wBAAwB;IAUtC,OAAO,CAAC,oBAAoB;IAM5B,OAAO,CAAC,oBAAoB;IAO5B,OAAO,CAAC,qBAAqB;IAe7B,SAAS,CAAC,MAAM;IAoFhB,SAAS,CAAC,OAAO;IAOjB,MAAM,CAAC,MAAM,
|
|
1
|
+
{"version":3,"file":"docks-command-palette.d.ts","sourceRoot":"","sources":["../src/docks-command-palette.ts"],"names":[],"mappings":"AAIA,OAAO,EAAE,WAAW,EAA4D,MAAM,qBAAqB,CAAC;AAE5G,eAAO,MAAM,CAAC;;CAAyD,CAAC;AAGxE,eAAO,MAAM,0BAA0B,wBAAwB,CAAC;AAEhE,qBACa,mBAAoB,SAAQ,WAAW;IAElD,OAAO,CAAC,UAAU,CAAc;IAGhC,OAAO,CAAC,gBAAgB,CAAa;IAGrC,OAAO,CAAC,WAAW,CAAa;IAGhC,OAAO,CAAC,mBAAmB,CAAkB;IAG7C,OAAO,CAAC,eAAe,CAAa;IAGpC,OAAO,CAAC,eAAe,CAAiC;IAGxD,OAAO,CAAC,aAAa,CAAkB;IAEvC,OAAO,CAAC,QAAQ,CAAyB;IACzC,OAAO,CAAC,SAAS,CAAyB;IAC1C,OAAO,CAAC,yBAAyB,CAAC,CAA0B;IAC5D,OAAO,CAAC,gBAAgB,CAA+B;IAEvD,SAAS,CAAC,QAAQ;YASJ,mBAAmB;IAuBjC,OAAO,CAAC,iBAAiB;IAIzB,OAAO,CAAC,gBAAgB;IAMxB,OAAO,CAAC,gBAAgB;IAKxB,OAAO,CAAC,oBAAoB;IAI5B,OAAO,CAAC,iBAAiB;IAeZ,WAAW;IAcxB,OAAO,CAAC,YAAY;IAOpB,OAAO,CAAC,iBAAiB;IAMzB,OAAO,CAAC,cAAc;IActB,OAAO,CAAC,aAAa;IAOrB,OAAO,CAAC,kBAAkB;IAQ1B,OAAO,CAAC,oBAAoB;IAI5B,OAAO,CAAC,UAAU;YAeJ,wBAAwB;IAUtC,OAAO,CAAC,oBAAoB;IAM5B,OAAO,CAAC,oBAAoB;IAO5B,OAAO,CAAC,qBAAqB;IAe7B,SAAS,CAAC,MAAM;IAoFhB,SAAS,CAAC,OAAO;IAOjB,MAAM,CAAC,MAAM,0BAuIX;CACH;AAED,OAAO,CAAC,MAAM,CAAC;IACb,UAAU,qBAAqB;QAC7B,uBAAuB,EAAE,mBAAmB,CAAC;KAC9C;CACF"}
|
package/dist/index.js
CHANGED
|
@@ -9,7 +9,7 @@ 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-am2W7u9d.js"),
|
|
13
13
|
icon: "terminal"
|
|
14
14
|
});
|
|
15
15
|
//#endregion
|