react-toolbox/components/card
Brock Wills ae09770cd4 Importing PropTypes from prop-types rather than react (#1413) 2017-04-17 16:14:17 +02:00
..
Card.d.ts Restructure typescript definitions (#1114) 2017-01-18 08:37:37 +01:00
Card.js Importing PropTypes from prop-types rather than react (#1413) 2017-04-17 16:14:17 +02:00
CardActions.d.ts Restructure typescript definitions (#1114) 2017-01-18 08:37:37 +01:00
CardActions.js Importing PropTypes from prop-types rather than react (#1413) 2017-04-17 16:14:17 +02:00
CardMedia.d.ts Restructure typescript definitions (#1114) 2017-01-18 08:37:37 +01:00
CardMedia.js Importing PropTypes from prop-types rather than react (#1413) 2017-04-17 16:14:17 +02:00
CardText.d.ts Restructure typescript definitions (#1114) 2017-01-18 08:37:37 +01:00
CardText.js Importing PropTypes from prop-types rather than react (#1413) 2017-04-17 16:14:17 +02:00
CardTitle.d.ts Restructure typescript definitions (#1114) 2017-01-18 08:37:37 +01:00
CardTitle.js Importing PropTypes from prop-types rather than react (#1413) 2017-04-17 16:14:17 +02:00
config.css Migrate styles to PostCSS (#666) 2017-01-05 02:42:18 +01:00
index.d.ts Restructure typescript definitions (#1114) 2017-01-18 08:37:37 +01:00
index.js Update dependencies and linter (#1180) 2017-01-26 18:05:32 +01:00
readme.md fix few missing propTypes 2016-12-19 20:39:07 +01:00
theme.css Fixes #1195 2017-01-31 20:13:41 +01:00

readme.md

Card

A Card is a piece of paper with unique related data that serves as an entry point to more detailed information. For example, a card could contain a photo, text, and a link about a single subject.

Cards are composed of multiple subcomponents in React Toolbox. You can combine each of the subcomponents to create all different Material Design Cards given in the spec.

import { Card, CardMedia, CardTitle, CardText, CardActions } from 'react-toolbox/lib/card';
import {Button} from 'react-toolbox/lib/button';

const dummyText = 'Lorem Ipsum is simply dummy text of the printing and typesetting industry. Lorem Ipsum has been the industry\'s standard dummy text ever since the 1500s, when an unknown printer took a galley of type and scrambled it to make a type specimen book.';

const TestCards = () => (
  <Card style={{width: '350px'}}>
    <CardTitle
      avatar="https://placeimg.com/80/80/animals"
      title="Avatar style title"
      subtitle="Subtitle here"
    />
    <CardMedia
      aspectRatio="wide"
      image="https://placeimg.com/800/450/nature"
    />
    <CardTitle
      title="Title goes here"
      subtitle="Subtitle here"
    />
    <CardText>{dummyText}</CardText>
    <CardActions theme={theme}>
      <Button label="Action 1" />
      <Button label="Action 2" />
    </CardActions>
  </Card>
);

return <TestCards />;

This component and all of its subcomponents are themeable by context using the key RTCard. This component theme can also include class modifiers for Button and Avatar component.

Card

The base card component. This acts as the main card container that all subcomponents are placed within.

Properties

Name Type Default Description
children Any Child components, usually Card subcomponents.
className String Additional class(es) for custom styling.
raised Boolean Increases the shadow depth to appear elevated.

Theme

Name Description
card Class used for the root element.
raised Added to the root element in case the card is raised.

CardTitle

A versatile title block that can be used in various places on the card, including the media area. This component can also display an avatar next to the title content.

Properties

Name Type Default Description
avatar String or Element A string URL or Element to specify an avatar in the left side of the title.
children String, Element or Array Children to pass through the component.
className String Additional class(es) for custom styling.
subtitle String Text used for the sub header of the card.
title String Text used for the title of the card.

Theme

Name Description
cardTitle Class used for the root element.
large Added to the root element when the card has no avatar.
small Added to the root element when the card has avatar.
subtitle Added to the subtitle element.
title Added to the title element.

CardMedia

Used for displaying media such as images or videos on a card. Can also be used with a solid background color instead of an image.

Properties

Name Type Default Description
aspectRatio enum('wide','square') Forces a 16:9 or 1:1 aspect ratio respectively. Unset, the media area will have a flexible height.
children Any Usually an image/video element or a <CardTitle> component.
className String Additional class(es) for custom styling.
color String Sets the background color.
contentOverlay Boolean Creates a dark overlay underneath the child components.
image String, Element Can be used instead of children. Accepts an element or a URL string.

Theme

Name Description
cardMedia Added to the element root.
content Used for the content element.
contentOverlay Added to content element if its overlayed.
square Added to content element if its squared.
wide Added to content element if its wide.

CardText

Basic card content container. Good for small descriptions or other supplementary text.

Properties

Name Type Default Description
children Any Children to pass through the component.
className String Additional class(es) for custom styling.

Theme

Name Description
cardText Used for the main root element.

CardActions

This component is used as a container for supplemental card actions. Supplemental actions within the card are explicitly called out using icons, text, and UI controls, typically placed at the bottom of the card.

Properties

Name Type Default Description
children Any Children to pass through the component.
className String Additional class(es) for custom styling.

Theme

Name Description
cardActions Used for a wrapper around actions as the root element.