2.3.0 • Published 12 months ago

todovue-hero v2.3.0

Weekly downloads
-
License
MIT
Repository
github
Last release
12 months ago

TODOvue Hero

npm Netlify Status Pipeline npm npm GitHub GitHub Release Date

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

NameTypeDefaultDescriptionRequired
configHeroObjectSee belowHero configurationtrue
customHeroObjectSee belowCustom hero configurationfalse
isEntryBooleanfalseChange the hero's style to display it in blog postsfalse

configHero

NameTypeDefaultDescriptionRequired
altString""Image altfalse
buttonString""Button texttrue
descriptionString""Hero descriptiontrue
imageString""Image urlfalse
titleString""Hero titletrue
buttonSecondaryString""Secondary button textfalse

customHero

NameTypeDefaultDescriptionRequired
bgBodyString#0E131FBackground color bodyfalse
colorBodyString#F4FAFFColor bodyfalse
bgButtonString#Ef233CBackground color buttonfalse
buttonTextString#F4FAFFColor buttonfalse
bgButtonSecondaryStringtransparentBackground color secondary buttonfalse
buttonSecondaryTextString#EF233CColor secondary buttonfalse

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)