f-card
Card Component – Used for providing wrapper card styling to an element (or group of elements).
Usage
Installation
This package can be installed using npm or yarn:
yarn add @justeat/f-card
npm install @justeat/f-card
Vue Applications
You can import it in your Vue SFC like this (please note that styles have to be imported separately):
import CardComponent from '@justeat/f-card';
import '@justeat/f-card/dist/f-card.css';
export default {
components: {
CardComponent
}
}
If you are using Webpack, you can import the component dynamically to separate the f-card
bundle from the main bundle.client.js
:
import '@justeat/f-card/dist/f-card.css';
export default {
components: {
...
CardComponent: () => import( '@justeat/f-card')
}
}
Props
f-card
has a number of props that allow you to customise its functionality.
The props that can be defined are as follows:
Prop | Type | Required | Default | Description |
---|
cardHeadingPosition | String | No | left | Sets the text alignment of the card component's heading.
When set to left the heading will aligned to the left. When set to center the heading will be centrally aligned. When set to right the heading will be aligned to the right. |
cardHeading | String | No | '' | When set, will add a heading to the top of the card component. |
cardHeadingTag | String | No | 'h1' | Sets the tag for the card component's heading.
Allowed values are h1 , h2 , h3 , h4 , h5 and h6 |
hasOutline | Boolean | No | false | When set to true , an outline is applied to the card component. |
isPageContentWrapper | Boolean | No | false | When set to true , applies styles to make the card act like a page content wrapper.
The card will be full width on narrow devices, and then a fixed width above a certain breakpoint width (about 480px), when the card will be centred on the page. |
isRounded | Boolean | No | false | When set to true , rounded corners are applied to the card component. |
hasFullWidthFooter | Boolean | No | false | When set to true , named slot full-width-bottom-element can be passed to render full width content at the bottom of the card without card paddings. |
CSS Classes
f-card
has its own styles which are scoped to the component using CSS modules to prevent conflicts with existing styles on the page.
Development
Start by cloning the repository and installing the required dependencies:
$ git clone git@github.com:justeat/fozzie-components.git
$ cd fozzie-components
$ yarn
Change directory to the f-card
package:
$ cd packages/components/atoms/f-card
Running storybook
Storybook can be used to develop new and existing components.
To start storybook:
Please ensure you are in the f-card directory as outlined in the above instructions.
$ cd ../../../storybook
$ yarn storybook:serve
This will build and serve storybook at http://localhost:8080.