onopen(entry) : undefined}
onkeydown={onopen ? (e) => e.key === 'Enter' && onopen(entry) : undefined}
oncontextmenu={contextActions?.length ? (e) => openContext(e, entry) : undefined}
>
{#if selectable}
e.stopPropagation()}>
toggleSelected(entry.id)}
/>
{/if}
{entry.name}
{#if showOwner}
{#if entry.ownerId}
{:else}
{entry.ownerName ?? '—'}
{/if}
{/if}
{#if showPath}
{entry.path ?? ''}
{/if}
{#if showType}
{entry.typeLabel ?? ''}
{/if}
{#if showSize}
{entry.size != null ? formatBytes(entry.size) : '—'}
{/if}
{#if showDate}
{#if dateCell}{@render dateCell(entry)}{:else}{formatDate(entry.date)}{/if}
{/if}
{#if showDate && dateCell}{@render dateCell(entry)}{/if}
{#if entry.size != null}{formatBytes(entry.size)}{/if}
{#if entry.date != null}{formatDate(entry.date)}{/if}
{#if onfavorite}
{/if}
{#if actions}
{@render actions(entry)}
{/if}
{/snippet}
{#if selectable && selected.size > 0 && batchToolbar}
{#if grouped}
{@render listHeader()}
{#each sections as section (section.key)}
{#each section.rows as entry (entry.id)}
{@render row(entry)}
{/each}
{/each}
{:else if filesStore.viewMode === 'list'}
{@render listHeader()}
e.id} {row} />
{:else}
e.id}
{row}
/>
{/if}
{#if hasMore}
{/if}
{/if}
{#snippet listHeader()}
{/snippet}
{#if ctxOpen && ctxEntry && contextActions}