todovue-hero
v2.3.0
Published
Component hero created for the TodoVue blog
Downloads
2
Maintainers
Readme
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)