npm package discovery and stats viewer.

Discover Tips

  • General search

    [free text search, go nuts!]

  • Package details

    pkg:[package-name]

  • User packages

    @[username]

Sponsor

Optimize Toolset

I’ve always been into building performant and accessible sites, but lately I’ve been taking it extremely seriously. So much so that I’ve been building a tool to help me optimize and monitor the sites that I build to make sure that I’m making an attempt to offer the best experience to those who visit them. If you’re into performant, accessible and SEO friendly sites, you might like it too! You can check it out at Optimize Toolset.

About

Hi, 👋, I’m Ryan Hefner  and I built this site for me, and you! The goal of this site was to provide an easy way for me to check the stats on my npm packages, both for prioritizing issues and updates, and to give me a little kick in the pants to keep up on stuff.

As I was building it, I realized that I was actually using the tool to build the tool, and figured I might as well put this out there and hopefully others will find it to be a fast and useful way to search and browse npm packages as I have.

If you’re interested in other things I’m working on, follow me on Twitter or check out the open source projects I’ve been publishing on GitHub.

I am also working on a Twitter bot for this site to tweet the most popular, newest, random packages from npm. Please follow that account now and it will start sending out packages soon–ish.

Open Software & Tools

This site wouldn’t be possible without the immense generosity and tireless efforts from the people who make contributions to the world and share their work via open source initiatives. Thank you 🙏

© 2024 – Pkg Stats / Ryan Hefner

@novicell/vue-cta

v0.1.3

Published

This component is a styled call-to-action link used to draw attention to the link. This component uses `@novicell/vue-link` to determine whether to render as a Vue / Nuxt router link or an anchor-tag.

Downloads

7

Readme

Novicell CTA Vue Component

npm npm bundle size

This component is a styled call-to-action link used to draw attention to the link. This component uses @novicell/vue-link to determine whether to render as a Vue / Nuxt router link or an anchor-tag.

Installation

The CTA Vue component can be used in both a browser environment and a self-built single file component. If you are using Vue nad not Nuxt, you will obviously have to configure Vue Router also.

Single File Component

To install the component in your project, run the command:

> npm i @novicell/vue-cta

To import the uncompiled SFC, use the following import statement (Vue will optimize templates when doing this):

import NcCta from '@novicell/vue-cta/dist/nc-cta.vue`

You can also import the esm component with:

import NcCta from '@novicell/vue-cta`

Browser

To reference the component in your project, add the following script tag to your page:

<script src="https://unpkg.com/@novicell/vue-cta"></script>

or

<script src="https://cdn.jsdelivr.net/npm/@novicell/vue-cta/dist/nc-cta.min.js"></script>

The component will automatically register itself if Vue is present on the window object.

Props

The component takes the following props:

alias

The existence of this string determines whether to render inside a wrapper div to easier position with position.

type: String,
required: false

position

This string will be concatenated onto 'text-' to create a positioning class on the outermost div if an alias is set.

type: String,
required: false

url

The endpoint for the cta button to point to (see @novicell/vue-link).

type: String,
required: true

name

The text string that sets the aria-label and title when hovering over the cta button.

type: String,
required: true

target

The text string that sets how the link should be opened. The most common: '_blank' opens in a new tab, '_self' redirects the current tab.

type: String,
default: '_blank'

Styling

Styling is not applied by default. If you want to apply the default styling, these files can be found in the css directory of this package:

├── css
|  ├── index.css
|  └── src
|     └── index.css
├── nc-cta.esm.js
├── nc-cta.min.js
├── nc-cta.min.js
└── nc-cta.vue

css/index.css is the compiled and ready-to-use styling.

css/src/index.css is PostCSS that will need to be compiled with postcss-nested installed in your environment.

Custom styling

To overwrite the default styling (after importing) or simply adding your own styling from scoped styled components, you might need to use deep selectors to style nested components and elements inside the root element. This should, however, only be necessary if you are setting an alias (which will nest .button inside a div, since the icon can also be styled when passing it in as a prop. For example:

<style scoped>
.your-wrapper-class >>> .button {
  background-color: hotpink;
}
</style>

SFC usage

<template>
  <NcCta url="https://google.dk" name="Google" target="_self">
    Google
    <template v-slot:icon>
      <svg>your icon</svg>
    </template>
  </NcCta>
</template>

<script>
import '@novicell/vue-cta/dist/css/index.css'
import NcCta from '@novicell/vue-cta/dist/nc-cta.vue'

export default {
  components: {
    NcCta
  }
}
</script>

Browser usage

<script src="https://unpkg.com/vue/dist/vue.js"></script>
<script src="https://unpkg.com/vue-router/dist/vue-router.js"></script>

<script src="https://cdn.jsdelivr.net/npm/@novicell/vue-cta/dist/nc-cta.min.js"></script>
<script src="https://cdn.jsdelivr.net/npm/@novicell/vue-cta/dist/css/index.css"></script>

<div id="app">
  <nc-cta url="https://google.dk" name="Google" target="_self">
    Google
    <template v-slot:icon>
      <svg>your icon</svg>
    </template>
  </nc-cta>
</div>

<script>
  const app = new Vue({
    el: '#app'
    // I am already a registered component
  })
</script>

Contribution

Looking to contribute something? Here's how you can help. Please take a moment to review our contribution guidelines in order to make the contribution process easy and effective for everyone involved.

License

The Novicell CTA Vue Component is licensed under the MIT license. (http://opensource.org/licenses/MIT)