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 🙏

© 2026 – Pkg Stats / Ryan Hefner

vue-event-card

v0.1.4-1

Published

A Vue.js interactive card design component to show essentials and description for an event.

Readme

A Vue.js interactive card design component to show essentials and description for an event.


The Vue Event Card is a fluid and modern design to showcase your events in a clean and interactive way, and handling user actions. Completely responsive and easy to use, making sure both desgin and setup are minimal. Created for Vue.js by Dhruv Misra

Live Demo

A live demo can be found here.

Installation

npm i --save vue-event-card

This package in also dependent on the vue-router

npm i --save vue-router or vue add router

Global Usage

Register the component globally using the Vue.use() method.

// main.js
import Vue from 'vue'
import App from './App.vue'
import router from './router'
//Import the plugin
import CardGrid from 'vue-event-card'

//Use the plugin
Vue.use(CardGrid);

Vue.config.productionTip = false

new Vue({
  router,
  render: h => h(App)
}).$mount('#app')

Local Usage

Import the component and register it locally in the components option

<script>
  import CardGrid from 'vue-event-card'

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

Once registered, you can use the component by passing an array of events:

<CardGrid :events="events" buttonText="Know More" hideTitle />

Props

| Prop | Type | Default | Description | |-------------- |------------------ |------------ |------------------------------------------------------------------------- | | events | Array (Required) | - | The array of event objects | | buttonText | String | "Register" | The text which appears inside the button | | hideTitle | Boolean | false | Hide the title on collapsed card (Will show in the expanded state) | | hideButton | Boolean | false | Hide button in the expanded state |

Emits

| Emitted Action | Description | |----------------- |------------------------------------------------------------------------ | | buttonClicked | Fired when the user clicks the button. Used to handle the click event. |

Events Array

The events array should be an array of objects. Individual objects should contain the following fields:

events: [
  {
    name: "Event name",
    date: "October 11, 2019",
    description: "Blah blah blah blah",
    html: '<p>This is some valid <br> HTML</p>',
    outerImage: "assets/images/event.jpg",
    innerImage: "https://i.imgflip.com/3cjfgr.jpg",
    details: {
      'Team Size': '2',
      'Time': '10AM - 1PM'
    }
  },
  ...
]

Event Object

| Name | Type | Description | |--------------- |--------------------- |------------------------------------------------------------------------------------------------------------------- | | name | String (Required) | Name of the event (Should be unique) | | date | String | Date of the event | | description | String | ...you know. | | html | String | Valid HTML code to render inside the card. | | outerImage | String (Image path) | The image appearing in the card in it's collapsed state. Also the image in the background in expanded state. | | innerImage | String (Image path) | The image appearing inside the card in expanded state. | | details | Object | Key-value pairs to show essential details on hovering the card. |

Things to keep in mind

Image paths

Image paths can be defined for images in the project relative to src folder

outerImage: 'assets/images/marvel.jpg'  //converts to: /src/assets/images/marvel.jpg

How these paths works?

The given image path is prefixed with @/ and then the image is imported using require() to get the webpack relative path.

Image paths can also be a URL

outerImage: 'https://i.imgflip.com/3cjfgr.jpg'  //should start with https:// or http://

Details Object

This object should contain key-value pairs for the information to be shown on hover

details: {
  'Field A': 'Value A',
  'Field B': 'Value B',
  'Field C': 'Value C',
  ...
}

This will have this affect:

Hover effect

Date Field

Preferred format for the date string:

[Month] [Date], [Year]

The comma (,) is important as the component takes the first part of the string before comma to display. I am planning to switch to UNIX timestamps or maybe another slight animation for the year.