react-responsive-cards-table
TypeScript icon, indicating that this package has built-in type declarations

0.3.0 • Public • Published

React Responsive Cards Table

Responsive table that automatically switches between table (wide) and card (narrow) views. It uses javascript to calculate the width of the actual content

Demo Image

Installation

Using yarn:

yarn add react-responsive-cards-table

or npm:

npm i --save react-responsive-cards-table

Example usage

Demo

Demo Source Code

Typical use case would be a table component that will need to collapse into list of cards. Here is basic example of how to do that:

import React from 'react'
import { map } from 'lodash'
import { ResponsiveCardTable, Content } from 'react-responsive-cards-table'
 
import planets from './planets.json'
 
const App = () => (
    <ResponsiveCardTable>
      {({ isCard }) => {
        if (isCard) {
          return (
            <Content>
              {map(planets, (planet, i) => (
                <PlanetCard key={i}>
                  ...
                </PlanetCard>
              ))}
            </Content>
          )
        }
    
        return (
          <Content>
            <table>
              <tbody>
                <tr>
                ...
                </tr>
                {map(planets, (planet, i) => (
                  <tr key={i}>
                  ...
                  </tr>
                ))}
              </tbody>
            </table>
          </Content>
        )
      }}
    </ResponsiveCardTable>
)
 
export default App

API

Both Content and Container components expose styles property that will override default styles.

Readme

Keywords

none

Package Sidebar

Install

npm i react-responsive-cards-table

Weekly Downloads

277

Version

0.3.0

License

MIT

Unpacked Size

374 kB

Total Files

16

Last publish

Collaborators

  • ayankovsky