Releases: t92345era/react-masume-grid
Releases · t92345era/react-masume-grid
Release list
v0.8.2 — Stylesheet import and CSS specificity docs
- Documentation only — no change to the library. The usage snippet now imports
react-masume-grid/styles.cssoutright: the built package never references its own stylesheet, so "CSS loads automatically" was wrong in every bundler rather than only some. ThegetCellPropsand theming examples are also corrected — a single class name such as.cell-errorties with the library's own.masume-grid-cell/.masume-grid, leaving stylesheet order to decide whether the rule applies at all
v0.8.1 — Docs and npm metadata
- Documentation and package metadata only — no change to the library. The README gained badges and a corrected bundle size (12.5KB of JS plus 1.8KB of CSS, gzipped; the previous "~5KB" dated from 0.1.0), links that survive being read on the npm page, and a sharper npm description and keyword list
v0.8.0 — Paste past the last row grows the data
- A paste that runs past the last row now grows the data when
appendBlankRowis on, instead of being clipped at the trailing blank row: paste 200 rows into a 3-row grid andonChangereceives 200 rows, with a fresh blank row below them. The rows the paste adds always land at the end ofdata, including while the grid is sorted or filtered. Rows widen the same way whencolumnsis omitted (the column count then follows the longest row); with an explicitcolumnsarray there is no definition — type, width, header — for the extra cells, so a paste still clips at the last column. See Trailing blank row ⚠️ Breaking: withappendBlankRow, a paste no longer stops at the last row. Grids that relied on that clipping to bound their data need to bound it themselves. WithoutappendBlankRownothing changes
v0.7.1 — Header templates and the funnel icon
- The header filter button now shows a funnel (outline, filled while filtering) instead of
▽/▼, which read as another sort control next to the sort arrows. Drawn as an inline SVG in the library, so nothing is added to the dependencies or to the license file
Also in 0.7.0, which this release supersedes
- Header templates (
ColumnDef.headerTemplate): render a column caption with your own component, on any column type, while the sort indicator, filter button and resize handle keep working. See Header templates ⚠️ Breaking:ColumnDef.filterableis renamed toColumnDef.searchable. It only ever controlled the type-to-narrow behavior of a select column's dropdown, which read as row filtering next to thefilteroptions added in 0.6.0. Rename the property; the behavior and default (true) are unchanged
0.7.0 was tagged but never published to npm; its changes reached users in 0.7.1.
v0.6.0 — Header filtering
- Header filtering (
filterable,defaultFilters,onFilterChange,filterTexts,ColumnDef.filter/filterLabel/filterMatch): an Excel-style value checklist with a search box, or a keyword box per column, narrowing the view without touchingdata. See Filtering onSelectionChange'sviewToDataargument is now non-nullwhile filtered as well as while sorted
v0.5.0 — Sorting and the trailing blank row
- Header-click sorting (
sortable,defaultSort,onSortChange,ColumnDef.sortable,ColumnDef.compare): ascending → descending → unsorted per click, sorting the view without reorderingdata. Type-aware default ordering, empty cells last, always-visible right-edge indicator,aria-sort. See Sorting - Trailing blank row (
appendBlankRow): a spreadsheet-style "new record" row that turns into a real row once a value is committed, and pasting past the last row grows the data. See Trailing blank row onSelectionChangenow receives a secondviewToDataargument mapping display rows to data rows while sorted (nullwhen unsorted)
v0.4.0 — ARIA semantics and per-cell overrides
- ARIA grid semantics:
grid/row/gridcell/columnheader/rowheader/rowgrouproles, 1-based row/column indices that survive row virtualization,aria-multiselectable/aria-readonly/aria-activedescendant getCellProps(row, col, value)for per-cellreadOnly/className/styleoverrides. See Per-cell overridesColumnDef.formatfor display-only formatting, plus the exportedformatThousandshelper. See Display formatting
v0.3.0 — Template cells and marching ants
templatecell type: render any React component in a cell, with interactive elements receiving clicks natively. See Template cells- Marching-ants outline on the copied/cut range, cleared by Escape, paste or the next edit
v0.2.0 — Checkbox cells
checkboxcell type: click or Space to toggle (Space toggles every selected checkbox cell), with Excel-compatible paste normalization (TRUE/FALSE,1/0,yes/no)ColumnDef.filterablefor select columns (falsekeeps the full option list and jumps the highlight to the first prefix match) — renamed tosearchablein 0.7.0- Exported
normalizeCheckboxInput/isCheckboxChecked
v0.1.0 — Initial release
- Initial release: virtualized grid, IME-friendly cell editing,
text/number/select/datecell types, range selection (drag, Shift, Ctrl(⌘) multi-range, row/column headers), Excel-compatible TSV copy & paste, drag-to-resize columns