e.key === 'Enter' && props.renaming !== node.path && click()} oncontextmenu={(e) => { e.stopPropagation(); props.onContext(e, node); }} ondragstart={(e) => e.dataTransfer?.setData('text/x-papure-path', node.path)} ondragover={(e) => { if (node.kind !== 'folder') return; e.preventDefault(); e.stopPropagation(); dragOver = true; }} ondragleave={() => (dragOver = false)} ondrop={(e) => { if (node.kind !== 'folder') return; e.preventDefault(); e.stopPropagation(); dragOver = false; props.onDrop(node.path, e.dataTransfer?.getData('text/x-papure-path') ?? ''); }} > {#if node.kind === 'folder'} {/if} {#if props.renaming === node.path} e.stopPropagation()} onblur={(e) => props.onRename(node.path, node.kind, e.currentTarget.value)} /> {:else} {node.name} {/if}
{#if node.kind === 'folder' && isOpen}
{#each node.children as child (child.path)} {/each}
{/if}