Releases: datasketch/monkeytab
Releases · datasketch/monkeytab
v0.6.0
New
- Column coloring (
column.color) — three shapes, same prop. Pass a CSS color string to tint a whole column (every cell + the header) with a soft blend — good for flagging a non-editable column or grouping related columns visually. Pass aColorRule[]({ when: { op, value/values, field? }, color }) for JSON-serializable Google-Sheets-style conditional formatting; rules evaluate top-down and the first match wins. Operators includeequals/notEquals,lt/lte/gt/gte,contains/notContains,empty/notEmpty, andin/notIn; each can optionally compare a different field. For anything the rule array can't express (palettes, numeric interpolation, cross-field math), pass a(row, value, fieldId) => string | undefinedfunction instead — prop-API only. The evaluator is exported asevaluateColorRules(rules, row, value)so the same rules can be reused outside the grid. See BROWSER.md → Column coloring.
Fixed
- Header overflow fade now tints with the column — when a column uses
colorto tint its header, the right-edge fade gradient blends into the tinted background instead of showing a strip of default gray. Symmetric with the row-background fade that already respectedcolorBy.
v0.2.0
First public release.
Added
Core component
<MonkeyTable>React component — embeddable, editable table that runs entirely in the browser- 14 built-in field types: Text, Number, Boolean, Date, SingleSelect, MultiSelect, Email, URL, Phone, Image, Attachment, Rating, Color, Computed
- Inline cell editing with type-aware editors
- Spreadsheet-style keyboard navigation (arrows, Tab, Enter, Escape)
- Cell selection with copy-paste (Cmd+C / Cmd+V)
- Range selection — Shift+Arrow extends a rectangular selection
- Multi-cell paste from TSV (Excel/Google Sheets clipboard format)
- Header range selection with Shift+Click, copy header labels with Cmd+C
- Drag-and-drop column reorder
- Resizable columns
- Search across all visible columns
- Filter builder with per-type operators
- Type-aware sorting (1→9 for numbers, oldest→newest for dates, etc.)
- Pagination —
simple(Previous/Next) orload-more(infinite scroll) modes - Ghost grid — fill viewport with faint placeholder cells
- Virtualized rendering — handles 100k+ rows smoothly via TanStack Table
- Computed fields with built-in math, text, date, and logic functions
Per-column options
editable: false— make individual columns read-only with lock iconwidth,minWidth,maxWidth— column sizingsortable— disable sort per columnalign— cell text alignment
Sorting and pagination
sortBy/sortDirection/onSortChange— controlled sorting for server-side queriestotalRows/page/pageSize/onPageChange— controlled pagination
Selection
onSelectionChange— fires on every checkbox toggleselectedRowIds— controlled selection stateonRowClick— fires when a row body is clickedonCellChange— granular per-cell change callback
Internationalization
- English and Spanish string bundles included
locale,language,translationsprops- Locale-aware number, date, and currency formatting
Extensibility
functionsprop — register custom computed functionsconstraintsprop — register custom field validatorsrenderersprop — override built-in cell rendererseditorsprop — override built-in cell editors- Per-column
renderfunction for one-off custom renderers
File handling
onUploadprop — bring your own file upload (S3, Cloudinary, etc.)- Drag-and-drop and paste support for Image cells