A react component for building really responsive table. The built tables can be used for form (hell yeah!) and can wrap to multiples lines on small devices.
Inspiration : https://hashnode.com/post/really-responsive-tables-using-css3-flexbox-cijzbxd8n00pwvm53sl4l42cx
npm i react-responsive-table --save
You will need also react (of course) and react-style-proptype (used to validate the style properties).
npm i react, react-style-proptype, react-responsive-table --save
Once installed, just require and use the components:
import React from `react`;
import { Table, Row, Cell } from 'react-responsive-table';
React.render(<Table>
<Row>
<Cell thead minWidthPx={100}>Head-1-1</Cell>
<Cell thead minWidthPx={100}>Head-1-2</Cell>
</Row>
<Row>
<Cell minWidthPx={100}>Col-1-1</Cell>
<Cell minWidthPx={100}>Long text for Col-1-2</Cell>
</Row>
<Row>
<Cell minWidthPx={100}>Col-2-1</Cell>
<Cell minWidthPx={100}>Col-2-2</Cell>
</Row>
<Row>
<Cell minWidthPx={100}>Long text for Col-3-1</Cell>
<Cell minWidthPx={100}>Col-3-2</Cell>
</Row>
</Table>, document.querySelector('#main'));
Props | Options | Default | Description |
---|---|---|---|
material | Boolean | false | if true, it apply material-ui styles to the table |
Props | Options | Default | Description |
---|---|---|---|
striped | Boolean | false | if true, it strip the color of the row acording to the pair/impair index |
index | Number | null | The row index (used by the striped fonctionality). It is supposed to be set automatically by the Table parent but, with redux-connect or other middle component you may have to set it manually. |
material | Boolean | false | if true, it apply material-ui styles to the table. It is supposed to be set automatically by the Table parent but, with redux-connect or other middle component you may have to set it manually. |
Props | Options | Default | Description |
---|---|---|---|
header | Boolean | false | if true, it apply a table header style to this cell |
minWidthPx | Number | null | The minimum with in px of the Cell |
material | Boolean | false | if true, it apply material-ui styles to the table. It is supposed to be set automatically by the Table parent but, with redux-connect or other middle component you may have to set it manually. |
This lib is designed to integrate with material-ui. It uses natively the selected theme for every supported functionalities.
npm run build
npm test
NOTE: The source code for the component is in src
. A transpiled CommonJS version (generated with Babel) is available in lib
for use with node.js, browserify and webpack. A UMD bundle is also built to dist
, which can be included without the need for any build system.
To build, watch and serve the examples (which will also watch the component source), run npm start
.
Examples are available here : https://jtassin.github.io/react-responsive-table/
Julien TASSIN |
MIT, see LICENSE for details.