1.0.0 • Published 5 months ago
@todovue/tvcard v1.0.0
TvCard
The TvCard is a component that allows you to display a card with a title, a subtitle, a description, an image and a button.
Table of Contents
Installation
Install with npm or yarn
npm install @todovue/tvcardd
yarn add @todovue/tvcard
Import
import { TvCard } from '@todovue/tvcard'
You can also import it directly in the main.js file, so you don't have to import it in the pages
import { createApp } from "vue";
import App from "./App.vue";
import { TvCard } from "@todovue/tvcard"
const app = createApp(App);
app.component("TvCard", TvCard);
app.mount("#app");
Usage
<template>
<tv-card
@click-button="handleButton"
:configCard="configCard"
/>
</template>
<script setup>
import { ref } from "vue";
import { TvCard } from "@todovue/tvcard"
const configCard = ref({
title: "Create Vue.js",
description: "Vue.js (commonly known as Vue; pronounced /vjuː/...",
alt: "Card Image",
image: "https://todovue.com/vue.webp",
primaryButtonText: "View more",
});
const handleButton = () => {
console.log("Button clicked");
}
</script>
Props
Name | Type | Default | Description |
---|---|---|---|
configCard | Object | See below | Object with the card configuration |
configCard
Name | Type | Default | Description | required |
---|---|---|---|---|
title | String | "" | Card title | true |
description | String | "" | Card description | true |
image | String | "" | Card image | true |
alt | String | "" | Card image alt | true |
primaryButtonText | String | "" | Card primary button text | true |
secondaryButtonText | String | "" | Card secondary button text | false |
labels | Array | [] | Card labels | false |
limitLabels | Number | 3 | Card limit labels | false |
backgroundColor | String | #0E131F | Card custom background color | false |
color | String | #AFDEDC | Card custom color | false |
backgroundButtonColor | String | #EF233C | Card custom background primary button color | false |
buttonColor | String | #F4FAFF | Card custom primary button color | false |
backgroundButtonSecondaryColor | String | #2F80ED | Card custom background secondary button color | false |
colorButtonSecondary | String | #F4FAFF | Card custom secondary button color | false |
Events
Name | Description |
---|---|
clickButton | Event emitted when the primary button is clicked, returns the button's value |
clickSecondaryButton | Event emitted when the secondary button is clicked, returns the button's value |
clickLabel | Event emitted when the label is clicked, returns the label's value |
Customize
You can customize the card by cardConfig, you can see the props section to see the available options
const configCard = ref({
backgroundColor: "#000000", // Card custom background color
color: "#ffffff", // Card custom color
backgroundButtonColor: "#ffffff", // Card custom background primary button color
buttonColor: "#000000", // Card custom primary button color
backgroundButtonSecondaryColor: "#ffffff", // Card custom background secondary button color
colorButtonSecondary: "#000000", // Card custom secondary button color
});
<template>
<tv-card
@click-button="handleButton"
:configCard="configCard"
/>
</template>
<script setup>
import { ref } from "vue";
import { TvCard } from "@todovue/tvcard"
const configCard = ref({
title: "Create Vue.js",
description: "Vue.js (commonly known as Vue; pronounced /vjuː/...",
alt: "Card Image",
image: "https://todovue.com/vue.webp",
primaryButtonText: "View more",
backgroundColor: "#000000",
color: "#ffffff",
backgroundButtonColor: "#ffffff",
buttonColor: "#000000",
});
const handleButton = () => {
console.log("Button clicked");
}
</script>
Development
Clone the repository and install the dependencies
git clone https://github.com/TODOvue/todovue-card.git
cd todovue-card
Install the dependencies
yarn install
Run the project
yarn demo
Run the tests
yarn test:unit
Run the linter
yarn lint
Run the build It is not necessary to generate build, since it is generated when you do PR to the master branch
yarn build
License
1.0.0
5 months ago