Extend UI Svelte

Docs / Viewers / CSV/TSV Viewer

CSV/TSV Viewer

Svelte 5 port of the Extend UI csv-viewer. Parsing runs on the client with papaparse.

CSV with search

Open the search button, type a value, then use next/previous (or Enter / Shift+Enter) to step through matches.

0 rows

No data to preview

Pass delimited text with the data prop.

TSV in dark mode

0 rows

No data to preview

Pass delimited text with the data prop.

Long CSV (2,000 rows)

0 rows

No data to preview

Pass delimited text with the data prop.

Empty input

0 rows

No data to preview

Pass delimited text with the data prop.

Differences from upstream

Also exported as CsvViewer, the upstream name.

  • Dark mode is controlled by the parent through isDark (onIsDarkChange is accepted but never called). Upstream reads the .dark class from the document.
  • The grid is a native table windowed locally instead of glide-data-grid. Search works like upstream: a find popover that steps through matches, selects the active match's cell and scrolls it into view, and closes on an outside click or when the data changes.
  • Added props: delimiter, isDark, onIsDarkChange, rowHeight, height, overscan. The toolbar shows a row count.
  • Not ported: zoom, upload, download, cell selection, and column resize.

Back to all components