2.3.0 • Published 3 years ago
todovue-hero v2.3.0
TODOvue Hero
Table of Contents
Installation
Install with npm or yarn as development dependency
npm install todovue-heroyarn add todovue-heroImport
import { TvHero } from 'todovue-hero'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 TvHero from "todovue-hero";
const app = createApp(App);
app.component("TvHero", TvHero);
app.mount("#app");Usage
<template>
<tv-hero
:configHero="configHero"
@click-button="handleClick"
/>
</template>
<script>
import { ref } from "vue";
export default {
setup() {
const configHero = ref({
alt: "TODOvue Logo",
button: "View all blogs",
description: "Introducing my Vue.js blog!...",
image: "https://todovue.com/logo.png",
title: "TODOvue Blog",
});
const handleClick = () => {
console.log("click button");
}
return {
configHero,
handleClick,
}
}
}
</script>Props
| Name | Type | Default | Description | Required |
|---|---|---|---|---|
| configHero | Object | See below | Hero configuration | true |
| customHero | Object | See below | Custom hero configuration | false |
| isEntry | Boolean | false | Change the hero's style to display it in blog posts | false |
configHero
| Name | Type | Default | Description | Required |
|---|---|---|---|---|
| alt | String | "" | Image alt | false |
| button | String | "" | Button text | true |
| description | String | "" | Hero description | true |
| image | String | "" | Image url | false |
| title | String | "" | Hero title | true |
| buttonSecondary | String | "" | Secondary button text | false |
customHero
| Name | Type | Default | Description | Required |
|---|---|---|---|---|
| bgBody | String | #0E131F | Background color body | false |
| colorBody | String | #F4FAFF | Color body | false |
| bgButton | String | #Ef233C | Background color button | false |
| buttonText | String | #F4FAFF | Color button | false |
| bgButtonSecondary | String | transparent | Background color secondary button | false |
| buttonSecondaryText | String | #EF233C | Color secondary button | false |
Customize
You can customize the hero by passing the customHero prop, which accepts an object with the following properties:
const customHero = ({
bgBody: "#0E131F",
colorBody: "#F4FAFF",
bgButton: "#Ef233C",
buttonText: "#F4FAFF",
bgButtonSecondary: "transparent",
buttonSecondaryText: "#EF233C",
});<template>
<tv-hero
:configHero="configHero"
:customHero="customHero"
@click-button="handleClick"
@click-secondary-button="handleClickSecondary"
/>
</template>
<script>
import { ref } from "vue";
export default {
setup() {
const configHero = ref({
alt: "TODOvue Logo",
buttonSecondary: "View last blog",
button: "View all blogs",
description: "Introducing my Vue.js blog!...",
image: "https://todovue.com/logo.png",
title: "TODOvue Blog",
});
const customHero = ref({
bgBody: "#1e1d23",
bgButton: "#8673a1",
bgButtonSecondary: "#79308d",
buttonSecondaryText: "#e1e2dc",
buttonText: "#e1e2dc",
colorBody: "#e1e2dc",
});
const handleClick = () => {
console.log("click button");
}
const handleClickSecondary = () => {
console.log("click secondary button");
}
return {
configHero,
customHero,
handleClick,
handleClickSecondary,
}
}
}
</script>Development
Clone the repository and install the dependencies
git clone https://github.com/TODOvue/todovue-hero.gitcd todovue-heroInstall 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
MIT(https://github.com/TODOvue/todovue-hero /blob/master/LICENSE)