react-fluid-table
Version:
A React table inspired by @tanstack/react-virtual
435 lines (247 loc) • 8.76 kB
Markdown
# CHANGELOG
## 1.5.1
_2025-06-16_
### Bugfix
- added `hasMoreData` so users can have more control over when loading needs to occur
## 1.5.0
_2025-06-11_
### Features
- added `onLoadRows` prop, which enables infinite loading
- added `endComponent` prop, which enables a component to be displayed at the end of the table
## 1.4.3
_2025-05-09_
### Bugfix
- there should be slightly less renders when the window changes size
## 1.4.2
_2025-04-18_
### Bugfix
- revert `box-sizing`. This was causing an infinite loop in certain dialogs. Instead we multiply border height by two to fix vertical scroll bars appearing when borders are present and maxTableHeight is specified.
## 1.4.1
_2025-04-18_
### Bugfix
- set `box-sizing: content-box` on `.rft`. Should fix vertical scroll bars appearing when borders are present and maxTableHeight is specified.
## 1.4.0
_2025-04-18_
### Breaking
- removed `rowRenderer` functionality.
- removed `.rft-row-container`, `.rft-outer-container`, and `.rft-inner-container`. as css class names.
### Bugfix
- on certain devices, the background color of the row did not fill the table. This should be resolved.
- no need for `isHorizontalScroll` hack
## 1.3.0
_2025-04-01_
### Features
- added `estimatedRowHeight` back
### Bugix
- isHorizontalScroll uses a scroll bar heuristic of 17
- should handle maxTableHeight a bit better. There _should_ be less jitter
## 1.2.7
_2025-03-31_
### Bugix
- isHorizontalScroll is always false for now
## 1.2.6
_2025-03-31_
### Bugix
- move heuristic
## 1.2.5
_2025-03-31_
### Bugix
- on window resize, added padding to help with scroll flicker
## 1.2.4
_2025-03-19_
### Features
- no forcing rft-sizer height
## 1.2.3
_2025-03-19_
### Features
- bumps dependencies
- adds more class names, and makes the auto sizer fill to height 100%
## 1.2.2
_2024-12-19_
### Features
- explicit support for React 19
- fixes horizontal scroll bug on iOS
- fixes `footerComponent` regression
## 1.2.1
_2024-12-19_
### Features
- on initial render, the widths of the column are initialized correctly.
- small typescript changes to remove usage of `any`
## 1.2.0
_2024-12-18_
### Features
- **BREAKING:** instead of taking just the `index`, the following functions all also take in the row as well: `expandedRows`, `rowStyle`, and `rowClassname`.
- (docs) added `contentClassname`, `contentStyle`
## 1.1.0
_2024-12-13_
### Features
- **BREAKING:** `headerCellClassname` and `contentCellClassname` are renamed to `headerClassname` and `contentClassname`.
- For columns, added `headerStyle` and `contentStyle`
- (chore)Fix index.d.ts typos
## 1.0.3
_2024-12-12_
### Bugix
- fix `expandedRows` regression
## 1.0.2
_2024-12-12_
### Bugfix
- `rowHeight` is now respected (again)
## 1.0.1
_2024-12-12_
### Bugfix
- `rowHeight` is now respected
- when there is overflow-x, borders should remain
## 1.0.0
_2024-12-12_
### Features
- **BREAKING:** Removed the following props: `borders`, `rowContainerStyle`, `rowContainerClassname`, `forceReset`, `ref`.
- **BREAKING:** Renamed the following props: `tableStyle` -> `style`.
- no more need for `clearSizeCache` in CellProps or SubComponentProps
- `onExpandRow` now includes the mouse event as an optional parameter
- all jitter should be removed
## 0.6.4
_2024-12-09_
### Bugfix
- Force the sticky header to be the size of the rendered header
- Make sure footer width is 0 when not present
## 0.6.3
_2024-12-04_
### Bugfix
- if the header resizes, the list should re-render
## 0.6.2
_2024-06-19_
### Bugfix
- (Docs) updated types
## 0.6.1
_2024-06-17_
### Bugfix
- `headerHeight` is now passed down appropriately
- less opinionated header styles
## 0.6.0
_2024-06-74_
### Features
- **BREAKING:** `clearSizeCache` signature has changed. The second argument is now an optional object that takes a `forceUpdate` boolean and a `timeout`. Both are optional.
- For columns, added `headerCellClassname` and `contentCellClassname`
- when `headerHeight` is set, the header's height will actually be that height
- _DOCS:_ removed `styled-components` and `semantic`
## 0.5.7
_2024-06-14_
### Bugfix
- `arrayMatch` is now null-safe
## 0.5.6
_2024-06-14_
### Bugfix
- Whenever `columns` changes, the `pixelWidths` are re-calculated
## 0.5.5
_2024-06-13_
### Features
- Update `onRowClick` signature to include the event in one argument
## 0.5.4
_2024-06-13_
### Features
- **BREAKING:** decouples the CSS. Now, at the top of your file, add this:
```jsx
import "react-fluid-table/dist/index.css";
```
## 0.5.3
_2024-06-13_
### Features
- adds `row` and `index` as properties when using `expander`
- adds `onExpandRow` to allow row expansion to be controlled
- adds ability to calculate `expanded` by using a function
## 0.5.2
_2024-05-30_
### Features
- adds `rowContainerStyle` and `rowContainerClassname`
## 0.5.1
_2023-10-04_
### Features
- adds the ability to freeze columns by adding the `frozen` property
## 0.5.0
_2023-10-02_
### Features
- uses a wrapper library to handle observing the table container for width/height changes
- initial flicker for variable-row-size tables should be mitigated
- more typescript specifications
## 0.4.10
_2023-09-30_
### Features
- added ability to specify the `footerHeight`
- removed some typescript warnings
- slight performance tweaks
## 0.4.7
_2023-09-28_
### Features
- added a `footer` prop to each `column` object in the `columns` array. allows the user to create footer cell columns.
- `footerComponent` will still provide a more customizable footer experience
- hopefully fix issues with the auto-calculation of tables when `minTableHeight` and/or `maxTableHeight` is used.
- slimmed down some of the opinionated CSS, giving the user more control over header and body styles
## 0.4.6
_2023-09-28_
### Features
- added `minTableHeight` and `maxTableHeight`
- added footer styling with `footerStyle` and `footerClassname`
- expose column widths to `footerComponent` to help expose widths
## 0.4.5
_2023-09-27_
### Features
- Added the ability to provide a footer using the `footerComponent` property
- If `footerComponent` is defined, can also provide a `stickyFooter` prop to make the footer sticky.
- Since the last deploy, upgraded all the dependencies to fix Dependabot alerts
- Can provide classNames to several different properties to make it more Tailwind friendly
- The example site is powered by Vite as opposed to create-react-app
- The example site is now in Typescript
## 0.4.2
_2020-09-07_
### Bugfix
- Moved the `RowContainer` to its own component. This should resolve the issue of the table cell re-rendering on resize.
## 0.4.1
_2020-09-06_
### Features
- Added the ability to pass in a `ref` to the component in order to access the `scrollTo` and `scrollToItem` functions.
## 0.4.0
_2020-05-05_
### BREAKING
A few changes were made in order to support increased customization, with more to come in future releases.
- The `cell` property in the columns array has been changed. `cell` now renders the entire cell, as opposed to just the contents inside of the cell. This is now an advanced feature.
- `cell` now expects a component that takes in the `style` prop as well. `style` will contain the correct widths of the cell.
```jsx
{
key: 'id',
header: 'ID',
cell: ({ row, style }) => (
<div style={style}>
{row.id}
</div>
)
}
```
### Features
- Added the `content` property. This property functions exactly how `cell` used to function in previous releases. `content` renders a custom component inside of the default cell.
```jsx
{
key: 'id',
header: 'ID',
content: ({ row }) => row.id
}
```
- For simplicity, added an `onRowClick` property that takes an event and the index of the row that was clicked.
```typescript
type onRowClick = (e: Event, { index }: { index: number }) => void;
```
- Added a `rowRenderer`, which also takes a `style` prop. This is useful if you want to customize the wrapper around the cells in a row.
## 0.3.8
_2020-04-26_
### Features
- added the props `rowStyle`, `tableStyle`, and `headerStyle` to allow for more customization options. Since the Table component does take a `className`, you can still do things using libraries such as `styled-components` if you prefer.
## 0.3.7
_2020-04-19_
### Bug Fixes
- less `setState` calls when updating the default size.
## 0.3.6
_2020-04-19_
### BREAKING
- `estimatedRowHeight` is no longer in use. For tables with no specified `rowHeight`, the median of the rendered row heights is used as a default if the row had not been rendered before.
### Bug Fixes
- Uses memoization in more places.
- reduces row flicker issue when resizing.