2.3.0 • Published 12 months ago
todovue-hero v2.3.0
TODOvue Hero
Table of Contents
Installation
Install with npm or yarn as development dependency
npm install todovue-hero
yarn add todovue-hero
Import
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.git
cd todovue-hero
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
MIT(https://github.com/TODOvue/todovue-hero /blob/master/LICENSE)