@justeat/f-card-with-content

3.4.0 • Public • Published

f-card-with-content

Fozzie Bear

A page content card which can contain an image, heading, text, and (primary and secondary) buttons. The purpose of this component is to offer a reusable card with a common layout. This may also potentially prevent the need for a consuming component to directly reference f-card, f-button, and define the layout itself.

The icon can be any image but it is recommended to use an icon from f-vue-icons, e.g., one of the bag icons.


npm version CircleCI Coverage Status Known Vulnerabilities


Usage

Installation

Install the module using npm or Yarn:

yarn add @justeat/f-card-with-content
npm install @justeat/f-card-with-content

The package also has dependencies that need to be installed by consuming components/applications:

Dependency Command to install Styles to include
f-button yarn add @justeat/f-button import '@justeat/f-button/dist/f-button.css';
f-card yarn add @justeat/f-card import '@justeat/f-card/dist/f-card.css';

Vue Applications

You can import it in your Vue SFC like this (please note that styles have to be imported separately):

import CardWithContent from '@justeat/f-card-with-content';
import '@justeat/f-card-with-content/dist/f-card-with-content.css';

export default {
    components: {
        CardWithContent
    }
}

If you are using Webpack, you can import the component dynamically to separate the card-with-content bundle from the main bundle.client.js:

import '@justeat/f-card-with-content/dist/f-card-with-content.css';

export default {
    components: {
        // …
        CardWithContent: () => import(/* webpackChunkName: "card-with-content" */ '@justeat/f-card-with-content')
    }
}

Configuration

Props

There may be props that allow you to customise its functionality.

The props that can be defined are as follows (if any):

Prop Type Default Description
cardHeading String '' If given, will render an h1 tag within the card.
cardDescription String '' If given, will render a p tag below the heading.
primaryButton Object null If given, and contains the property text, will render a primary button below the description. Also supports href/to for using the button as an anchor or router-link.
secondaryButton Object null If given, and contains the property text, will render a secondary button below the primary. Also supports href/to for using the button as an anchor or router-link.

Events

The events that can be subscribed to are as follows (if any):

Event Description
primary-button-click Emitted when the primary button is clicked.
secondary-button-click Emitted when the secondary button is clicked.

Slots

The available slots are:

Slot name Description
icon For displaying an icon at the top of the card.

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-with-content package:

$ cd packages/components/molecules/f-card-with-content

Testing

To test all components, run from root directory. To test only f-card-with-content, run from the ./fozzie-components/packages/components/molecules/f-card-with-content directory.

Unit and Integration tests

yarn test

Component and Accessibility Tests

# Note: Ensure Storybook is running when running the following commands
cd ./fozzie-components

yarn storybook:build
yarn storybook:serve-static

yarn test-component:chrome

### Accessibility tests
```bash
yarn test-a11y:chrome

Documentation to be completed once module is in stable state.

Dependencies (0)

    Dev Dependencies (4)

    Package Sidebar

    Install

    npm i @justeat/f-card-with-content

    Weekly Downloads

    1

    Version

    3.4.0

    License

    Apache-2.0

    Unpacked Size

    140 kB

    Total Files

    13

    Last publish

    Collaborators

    • ilia.chikmarev
    • fidel.montesino
    • anastasiia.horban
    • raouf.sawehli
    • mmakwe-onyeka
    • gregory.palaci
    • arielfdr
    • dawidchar
    • roberto.santana
    • lizzie.turney
    • davidpn.11
    • dandel10n
    • mwh1989
    • kevinrodrigues
    • fozzie-bot
    • ashleynolan
    • simonsje
    • xander-marjoram
    • sergii.semenkiv
    • thomaswilliammcclean
    • benrwhite
    • robertellison
    • zlatin.ivanov
    • joshuang2332
    • oliversweb
    • andymayje
    • jamieomaguire
    • adammorr
    • lsphillips