All Versions
76
Latest Version
Avg Release Cycle
13 days
Latest Release
1251 days ago

Changelog History
Page 3

  • v7.0.4 Changes

    April 02, 2020
    • ๐Ÿ›  Fixed a regression where @scarf/scarf was somehow removed from the package dependencies
  • v7.0.3 Changes

    April 02, 2020
    • ๐Ÿ›  Fixed an issue where unnecessary documentation dependencies were added when installing the library
    • ๐Ÿ›  Fixed an issue where the scripts directory was not added to the npm package on build
  • v7.0.2 Changes

    May 12, 2020
    • ๐Ÿ›  Fixed an issue where the internal flexRenderer would not work correctly in production due to the strangest friggin' minification bug I've ever encountered. ๐Ÿคทโ€โ™‚๏ธ
  • v7.0.1 Changes

    April 01, 2020
    • โž• Added the value property to cell renderers so that destructurin the value from the cell property is now not necessary. This should help with people migrating from v6 and also just to cut down on noise in cell renderers
    • ๐Ÿ›  Fixed an issue where rollup would not build correctly
    • ๐Ÿ›  Fixed an issue where a page index of -1 would result in an error
  • v7.0.0 Changes

    March 10, 2020

    React Table v7 marks the culmination of over a years worth of work to refactor the entire library to a hooks-only UI/Style/Markup agnostic table building utility.

    ๐Ÿ’… This latest version is a collection of React hooks and plugins (which are also hooks!) that help you flexibly compose logical features of the most complex data grids into a single API returned by the primary useTable hook. This API is performant, extensible, and unopinionated about markup, styles or rendering.

    ๐Ÿ“š From the new Concepts documentation page:

    ๐Ÿ’ป React Table v7 is a headless utility, which means out of the box, it doesn't render or supply any actual UI elements. You are in charge of utilizing the state and callbacks of the hooks provided by this library to render your own table markup. Read this article to understand why React Table is built this way. If you don't want to, then here's a quick rundown anyway:

    • ๐Ÿ’ป Separation of Concerns - Not that superficial kind you read about all the time. The real kind. React Table as a library honestly has no business being in charge of your UI. The look, feel, and overall experience of your table is what makes your app or product great. The less React Table gets in the way of that, the better!
    • โšก๏ธ Maintenance - By removing the massive (and seemingly endless) API surface area required to support every UI use-case, React Table can remain small, easy-to-use and simple to update/maintain.
    • ๐Ÿ’ป Extensibility - UI presents countless edge cases for a library simply because it's a creative medium, and one where every developer does things differently. By not dictating UI concerns, React Table empowers the developer to design and extend the UI based on their unique use-case.

    ๐Ÿ”‹ Features from the README:

    • Lightweight (5kb - 14kb+ depending on features used and tree-shaking)
    • ๐Ÿ’ป Headless (100% customizable, Bring-your-own-UI)
    • Auto out of the box, fully controllable API
    • Sorting (Multi and Stable)
    • Filters
    • Pivoting & Aggregation
    • Row Selection
    • Row Expansion
    • Column Ordering
    • Animatable
    • Virtualizable
    • Resizable
    • Server-side/controlled data/state
    • ๐Ÿ”Œ Extensible via hook-based plugin system

    A special thanks!

    With the help of many contributors and awesome sponsors, React Table has become a very powerful tool that will continue to support the React ecosystem for many years to come.

    Well, what are you waiting for!

    ๐Ÿ“„ Go get started!

  • v7.0.0-rc.9 Changes

    December 11, 2019
    • ๐Ÿ›  Fixed an issue where dependency hooks were not being reduced properly, thus the table would rerender unnecessarily
    • ๐Ÿ“‡ Renamed toggleRowSelectedAll to toggleAllRowsSelected. Duh...
    • โž• Added an indeterminate boolean prop to the default props for row selection toggle prop getters
    • ๐Ÿ“‡ Renamed selectedRowPaths to selectedRowIds, which also no longer contains paths, but row IDs
    • Grouped or nested row selection actions and state are now derived, instead of tracked in state.
    • Rows now have a new property called id, which existed before and was derived from the getRowId option
    • Rows now also have an isSomeSelected prop when using the useRowSelect hook, which denotes that at least one subRow is selected (if applicable)
    • ๐Ÿ—„ Rows' path property has been deprecated in favor of id
    • Expanded state is now tracked with row IDs instead of paths
    • RowState is now tracked with row IDs instead of paths
    • toggleExpandedByPath has been renamed to toggleExpandedById, and thus accepts a row ID now, instead of a row path
  • v7.0.0-rc.8 Changes

    December 10, 2019
    • ๐Ÿ›  Fix an issue where useResizeColumns would crash when using the resizer prop getter
    • ๐Ÿ›  Fix an issue where useBlockLayout was clobbering props sent to headers
  • v7.0.0-rc.7 Changes

    December 10, 2019

    โœ‚ Removed:

    • ๐Ÿ—„ applyHooks (exported but undocumented) function has been deprecated. Please use either reduceHooks or loopHooks utilities in your custom plugins now.
    • ๐Ÿ—„ applyPropHooks (exported but undocumented) function has been deprecated. Please use the makePropGetter utility in your custom plugins now.

    โž• Added:

    • reduceHooks exported utility which is used to reduce a value through a collection of hooks. Each hook must return a value (mutation is discouraged)
    • loopHooks exported utility which is used to loop over a collection of hooks. Hooks are not allowed to return a value (mutation is encouraged)
    • makePropGetter exported utility which is used to create prop getters from a prop getter hook.
    • ๐Ÿ”Œ useOptions plugin hook, which allows a plugin to reduce/modify the initial options being passed to the table
    • ๐Ÿ”Œ useFinalInstance plugin hook, which allows a plugin access to the final table instance before it is returned to the user.

    Modified:

    • ๐Ÿ’… Prop-getter hook functions now support returning an array (in addition to the typical object of props). When an array is returned, each item in the array is smart-merged into a new props object (meaning it will intelligently compose and override styles and className)
    • Prop-getter function supplied to the table have 2 new overloaded options (in addition to the typical object of props):
      • Function(props, instance, ...row/col/context) => Array<props> | props - If a function is passed to a prop getter function, it will receive the previous props, the table instance, and potentially more context arguments. It is then be expected to return either an array of new props (to be smart-merged with styles and classes, the latest values taking priority over the previous values) or a props object (which will replace all previous props)
      • Array<props> - If an array is passed to a prop getter function, each prop object in the array will be smart-merged with styles and classes into the props from previous hooks (with the latest values taking priority over the previous values).
    • 0๏ธโƒฃ Extracted default hooks into separate file.
    • โœ… Converted almost all usages of instanceRef.current to use useGetLatest(instanceRef.current) to help with avoiding memory leaks and to be more terse.
    • Converted all previous prop-getter definitions to use the new makePropGetter
    • ๐Ÿ”Œ Reorganized plugin hooks to declare as many hooks in the main plugin function as opposed to in the useInstance hook.
    • ๐Ÿ”„ Changed the useInstanceBeforeDimensions hook to be a loopHooks call instead of a reducer. An error will be thrown now if any of these hook functions returns a value (to encourage mutation of the instance)
    • ๐Ÿ”„ Changed the useInstance hook to be a loopHooks call instead of a reducer. An error will be thrown now if any of these hook functions returns a value (to encourage mutation of the instance)
    • ๐Ÿ”„ Change the prepareRow hook to be a loopHooks call instead of a reducer. An error will be thrown now if any of these hook functions returns a value (to encourage mutation of the row)
  • v7.0.0-rc.6 Changes

    December 09, 2019
    • ๐Ÿ‘ The columnsBeforeHeaderGroups and columnsBeforeHeaderGroupsDeps hooks have been renamed to flatColumns and flatColumnsDeps respectively, which better reflects what they are used for, rather than their order, which can remain implicit.
    • โž• Added headerGroups and headerGroupDeps hooks, which, similar to flatColumns, allow you to decorate (and trigger) the memoized header group generation.
    • โž• Added columns and columnsDeps hooks, which, similar to flatColumns and headerGroups, allow you to decorate (and trigger) the memoized column generation/decoration.
    • The new hook order is as follows: columns/columnsDeps => flatColumns/flatColumnsDeps => headerGroups/headerGroupsDeps
    • useColumnVisibility now uses the new headerGroupsDeps hook to trigger header group regeneration when visibility changes
  • v7.0.0-rc.5 Changes

    December 09, 2019
    • ๐Ÿ›  Fixed an issue where the exported useAsyncDebounce method would crash if its promise throw an error.