3.4.0 • Published 1 year ago

@justeat/f-card-with-content v3.4.0

Weekly downloads
-
License
Apache-2.0
Repository
github
Last release
1 year ago

f-card-with-content

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:

DependencyCommand to installStyles to include
f-buttonyarn add @justeat/f-buttonimport '@justeat/f-button/dist/f-button.css';
f-cardyarn add @justeat/f-cardimport '@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):

PropTypeDefaultDescription
cardHeadingString''If given, will render an h1 tag within the card.
cardDescriptionString''If given, will render a p tag below the heading.
primaryButtonObjectnullIf 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.
secondaryButtonObjectnullIf 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):

EventDescription
primary-button-clickEmitted when the primary button is clicked.
secondary-button-clickEmitted when the secondary button is clicked.

Slots

The available slots are:

Slot nameDescription
iconFor 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.

3.4.0

1 year ago

3.3.0

3 years ago

3.2.0

3 years ago

3.1.0

3 years ago

3.0.0

3 years ago

2.0.0

3 years ago

1.1.1

3 years ago

1.1.0

3 years ago

1.0.0

4 years ago

0.2.1

4 years ago

0.2.0

4 years ago

0.1.0

4 years ago