@unsanity/spreadsheet

Headless package

@unsanity/spreadsheet is the published npm package: Zustand store, virtualized grid, formula bar primitive, sheet tabs API, hooks, and bundled CSS.

Provider

Spreadsheet replaces the old SpreadsheetProvider. Static parts: Spreadsheet.Grid, Spreadsheet.FormulaBar, Spreadsheet.SheetTabs.

Hooks

  • useUndoRedo — undo / redo
  • useSpreadsheetClipboard — cut, copy, paste
  • useSpreadsheetView — formula bar, gridlines, freeze
  • useSpreadsheetRowActions / useSpreadsheetColumnActions
  • useSelectionFormatState — cell formatting from selection
  • usePersistenceActions — document new/open/save
  • useSpreadsheetImport — CSV/TSV import
  • useSpreadsheetSheetTabs — sheet list CRUD

Styling

import "@unsanity/spreadsheet/styles.css";

Grid and formula bar use monospace in bundled CSS. Theme via shadcn CSS variables and optional data-* attributes on cells and headers.