Opens a modal with a text field supporting autocomplete of column
names. Enter comma-separated column names in priority order;
rows are sorted ascending using locale-aware numeric comparison,
first by the first column, then by the second, and so on.
Autocomplete filters to matching headers, excludes already-chosen
columns, and supports keyboard navigation (arrows + enter).
Co-authored-by: Shelley <shelley@exe.dev>
- Cap cell and header max-width to 150px (was 200px for best-fit)
- Bump header z-index to 10 (row-number corner to 11) so sticky
headers stay above data cells when scrolling horizontally
- Remove position:relative and z-index from cursor-cell so it no
longer creates a stacking context that overlaps sticky headers
- Sort command palette entries alphabetically (case-insensitive)
Co-authored-by: Shelley <shelley@exe.dev>
Features:
- Spreadsheet-like table with cell navigation (arrow keys)
- Formula bar for editing cell values
- Click and drag cell selection with Shift+Arrow extend
- Column resize by dragging header borders, double-click for best fit
- Editable headers via double-click
- Command palette (Cmd+P) with 12 commands
- Copy/Cut/Paste with CSV, Markdown, and Jira formats
- Insert rows/columns above/below/left/right
- File drag-and-drop to open CSV files
- Native Open/Save dialogs
- Go backend for CSV parsing, formatting, and file I/O
- Vanilla JS frontend, no frameworks
Co-authored-by: Shelley <shelley@exe.dev>