{
if (!interactive || event.target !== event.currentTarget) return;
// The surrounding bits-ui ContextMenu.Trigger opens on the bubbling
// contextmenu event and prevents the native menu itself. Calling
// preventDefault() here makes the trigger treat the event as handled
// (it bails when defaultPrevented is set), leaving no menu at all.
oncontext?.(undefined, event);
}}
>
{#snippet maskedLayer(element: ThemeV2Element, depth: number)}
{@const masks = maskedAncestors(element)}
{#if depth < masks.length}
event.stopPropagation()}
oncontextmenu={(event) => {
if (!interactive) return;
// Let the event bubble so the editor's ContextMenu.Trigger opens.
const target =
event.target instanceof Element
? event.target.closest('[data-group-id]')
: null;
oncontextgroup?.(target?.dataset.groupId ?? hover.group.id, event);
}}
>
{#each breadcrumb as group, index (group.id)}
{#if index > 0}
{/if}
{/each}