1.0.0 • Published 8 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/tvcarddyarn add @todovue/tvcardImport
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.gitcd todovue-cardInstall the dependencies
yarn installRun the project
yarn demoRun the tests
yarn test:unitRun the linter
yarn lintRun the build It is not necessary to generate build, since it is generated when you do PR to the master branch
yarn buildLicense
1.0.0
8 months ago