npm package: @paprika/data-table
Description: A virtualized table component.
Author: @paprika
Latest version: 1.3.6

<!-- start: Autogenerated - do not modify -->

# @paprika/data-table

## Description

A virtualized table component.

## Installation

```
yarn add @paprika/data-table
```

or with npm:

```
npm install @paprika/data-table
```

## Props

### DataTable

| Prop                     | Type           | required | default              | Description                                                      |
| ------------------------ | -------------- | -------- | -------------------- | ---------------------------------------------------------------- |
| a11yText                 | string         | true     | -                    | Accessible description of the table                              |
| children                 | ReactReactNode | false    | null                 |                                                                  |
| columns                  | Array          | true     | -                    | Array of column definition                                       |
| data                     | Array          | true     | -                    | Array of data to be stored in the table                          |
| maxHeight                | string         | false    | "100vh"              | The max height of the table in px/vh/calc(xvh+/-xpx)             |
| maxWidth                 | string         | false    | "100vw"              | The max width of the table in px/vw/calc(xvw+/-xpx)              |
| borderType               | BorderType     | false    | gridTypes.HORIZONTAL | Define the look for borders in the table                         |
| getRowHeight             | [unknown,null] | false    | null                 | Function to return the row height for each row                   |
| hasZebraStripes          | boolean        | false    | false                | Add an alternating background on the table rows                  |
| isHeaderSticky           | boolean        | false    | true                 | If the entire table header is sticky or not                      |
| renderRow                | [unknown,null] | false    | null                 | Override the table Column configuration for some particular rows |
| shouldResizeWithViewport | boolean        | false    | true                 | If the table should be resized when the viewport size changed    |
| extraCellProps           | Record         | false    | {}                   | Experimental prop                                                |

### DataTable.InfiniteLoader

| Prop                                                                            | Type      | required | default | Description                                                                                                                                    |
| ------------------------------------------------------------------------------- | --------- | -------- | ------- | ---------------------------------------------------------------------------------------------------------------------------------------------- |
| isItemLoaded                                                                    | signature | true     | -       | Function responsible for tracking the loaded state of each item.                                                                               |
| itemCount                                                                       | number    | true     | -       | Number of rows in list; can be arbitrary high number if actual number is unknown.                                                              |
| loadMoreItems                                                                   | signature | true     | -       | Callback to be invoked when more rows must be loaded.                                                                                          |
| It should return a Promise that is resolved once all data has finished loading. |
| isNextPageLoading                                                               | boolean   | false    | -       | If true, will prevent the InfiniteLoader from asking to load more than once at a time                                                          |
| minimumBatchSize                                                                | number    | false    | -       | Minimum number of rows to be loaded at a time; defaults to 10. This property can be used to batch requests to reduce HTTP requests.            |
| threshold                                                                       | number    | false    | -       | Threshold at which to pre-fetch data; defaults to 15. A threshold of 15 means that data will start loading when a user scrolls within 15 rows. |

<!-- end: Autogenerated - do not modify -->
<!-- content -->

<!-- eoContent -->

## Links

- [Storybook Showcase](https://paprika.highbond.com/?path=/story/table-datatable--showcase)
- [GitHub source code](https://github.com/acl-services/paprika/tree/master/packages/DataTable/src)
- [Create GitHub issue](https://github.com/acl-services/paprika/issues/new?label=[]&title=@paprika/data-table%20[help]:%20your%20short%20description&body=%0A%23%20Help%20wanted%0A%0A%23%23%20Please%20write%20your%20question.%0A*A%20clear%20and%20concise%20description%20of%20what%20the%20question%20is*%0A%0A%23%23%20Additional%20context%0A*Add%20any%20other%20context%20or%20screenshots%20about%20your%20question%20here.*%0A)
- [CHANGELOG](https://github.com/acl-services/paprika/tree/master/packages/DataTable/CHANGELOG.md)