diff --git a/modules/rflows/components/folk-flows-app.ts b/modules/rflows/components/folk-flows-app.ts index b049995..f48f61f 100644 --- a/modules/rflows/components/folk-flows-app.ts +++ b/modules/rflows/components/folk-flows-app.ts @@ -2727,10 +2727,15 @@ class FolkFlowsApp extends HTMLElement { this.openTransakWidget(flowId, sd.walletAddress); }); - // Click-outside handler + // Click-outside handler — use composedPath() to see through shadow DOM const clickOutsideHandler = (e: PointerEvent) => { - const target = e.target as Element; - if (!target.closest(`[data-node-id="${node.id}"]`)) { + const path = e.composedPath(); + const hitNode = path.some((el) => { + const elem = el as HTMLElement; + return elem.dataset?.nodeId === node.id || + elem.classList?.contains?.("inline-config-panel"); + }); + if (!hitNode) { this.exitInlineEdit(); document.removeEventListener("pointerdown", clickOutsideHandler as EventListener, true); }