diff --git a/packages/hub-ui/src/client/components/dock/DockEmbedded.vue b/packages/hub-ui/src/client/components/dock/DockEmbedded.vue index 1e97e1ad..2d014063 100644 --- a/packages/hub-ui/src/client/components/dock/DockEmbedded.vue +++ b/packages/hub-ui/src/client/components/dock/DockEmbedded.vue @@ -40,6 +40,8 @@ useEventListener(window, 'mousedown', (e: MouseEvent) => { const el = _el as HTMLElement return [...(el.classList || [])].some(c => c.startsWith('devframes-')) || el.id?.startsWith('devframes-') + // Portaled menus share the dock's shadow root, outside the panel element. + || el.tagName?.toLowerCase() === 'devframes-dock-embedded' || el.tagName?.toLowerCase() === 'iframe' }) diff --git a/packages/hub-ui/uno.config.ts b/packages/hub-ui/uno.config.ts index bd61b33a..176efd80 100644 --- a/packages/hub-ui/uno.config.ts +++ b/packages/hub-ui/uno.config.ts @@ -39,6 +39,8 @@ export default mergeConfigs([ 'z-viewframe-resizer': 'z-[30]', 'z-floating-dock': 'z-[50]', 'z-floating-anchor': 'z-[2147483644]', + /** Portaled menus sit above the dock shell and below the command palette. */ + 'z-dropdown': 'z-[2147483645]', 'z-floating-tooltip': 'z-[2147483645]', 'z-command-palette': 'z-[2147483646]', /**