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

empower-category-menu

v0.1.5

Published

--- ### Installation --- ``` npm i empower-category-menu ``` ### Usage ``` Include in the component:

Downloads

4

Readme

Empower Category Menu


Installation


npm i empower-category-menu

Usage

Include in the component:

import CategoryMenu from 'empower-category-menu';

Properties

title - Title of the Category Menu
data - object composed of label,action,status,icon and subdata
label - The label for each category
action - This is the called action upon clicking the categories
status - Status of category (e.g. in-progress,locked,completed,standard)
icon - The icon that will be displayed beside the category label, preferably svg
subData - If the category has sub category, this should have data sets same as the data props 
button - object composed of label,icon
label - The label of the action above the categories.
icon - Optional, an action button icon above the categories.
selected - this is the current selected category, this value should be the same value of action of the category
preSelected - Same as the selected but upon initializing, this will be the active category if it is set
inner - If this is set to true, the category will have a classname of 'category-menu-inner' and empty if its false.
isStepper - This is a boolean, if you want broken lines connecting to each categories, make this option as true, if not, make it false.
loaded - This is the identifier if the category menu will be display or still on loading as some of the category            might be from an external api return.
getActions - this is the function that will be called upon clicking each category

Example


const sampleProps = {
  title: 'Test Menu',
  data: [
          {
              label: 'Menu 1',
              action: 'menu-1',
              status: 'in-progress',
              icon: SVG_DOCUMENT,
              subData: [
                {
                  label: 'Menu 1 Sub Menu 1',
                  action: 'menu-1-sub-menu-1',
                  status: 'in-progress',
                  icon: SVG_DOCUMENT,
                },
                {
                  label: 'Menu 1 Sub Menu 2',
                  action: 'menu-1-sub-menu-2',
                  status: 'in-progress',
                  icon: SVG_DOCUMENT,
                },
              ],
          },
          {
            label: 'Menu 2',
            action: 'menu-2',
            status: 'locked',
            icon: SVG_DOCUMENT
          },
          {
            label: 'Menu 3',
            action: 'menu-3',
            status: 'completed',
            icon: SVG_DOCUMENT
          },
          {
            label: 'Menu 4',
            action: 'menu-4',
            status: 'standard',
            icon: SVG_DOCUMENT
          },
          {
            label: 'Menu 5',
            action: 'menu-5',
            status: 'pending',
            icon: SVG_DOCUMENT
          },
  ],
  selected: 'menu-1-sub-menu-1',
  inner: true,
  loaded: true,
};

const App = () => {

  let getCategoryMenuActions = (action, value) => {
    console.log(action,value);
    // this will handle the selected action
  }

  return (
    <div className="sample-div">
      <CategoryMenu
        {...sampleProps}
        preSelected={'menu-1-sub-menu-1'}
        getActions={(action, value) => getCategoryMenuActions(action, value)}
      />
    </div>
  );
}

export default App;