diff --git a/packages/editor/src/editor/ContextMenu.tsx b/packages/editor/src/editor/ContextMenu.tsx index ee8e973..8bee67b 100644 --- a/packages/editor/src/editor/ContextMenu.tsx +++ b/packages/editor/src/editor/ContextMenu.tsx @@ -54,7 +54,13 @@ export function ContextMenu(props: { }; const close = () => onClose(); - const onAnyPointerDown = () => close(); + + const onAnyPointerDown = (e: PointerEvent) => { + // Allow right-click to open another context menu without closing first. + // (Browsers fire pointerdown before contextmenu.) + if (e.button === 2) return; + close(); + }; const onAnyWheel = () => close(); const onScroll = () => close(); const onBlur = () => close(); diff --git a/packages/sdk/src/core/widgets/urlLike.ts b/packages/sdk/src/core/widgets/urlLike.ts index fa2a021..2746332 100644 --- a/packages/sdk/src/core/widgets/urlLike.ts +++ b/packages/sdk/src/core/widgets/urlLike.ts @@ -45,6 +45,9 @@ function pickUrlLikeInner(input: unknown, depth: number): string { 'srcUrl', 'sourceUrl', 'playUrl', + 'file', + 'fileUrl', + 'fileSrc', // iframe-ish 'iframeUrl', 'iframeSrc', @@ -97,6 +100,9 @@ function pickUrlLikeInner(input: unknown, depth: number): string { 'sources', 'sourceList', 'urlList', + 'srcList', + 'playList', + 'playlist', // widget-ish wrappers seen in exports 'iframe', 'video',