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

@paprika/overflow-menu

v5.0.1

Published

OverflowMenu component displays a trigger button, which when clicked displays a list of items in a dropdown menu format. These items can be raw content, Links or actions such as Delete, which will prompt a confirmation panel to be displayed.

Downloads

9,087

Readme

@paprika/overflow-menu

Description

OverflowMenu component displays a trigger button, which when clicked displays a list of items in a dropdown menu format. These items can be raw content, Links or actions such as Delete, which will prompt a confirmation panel to be displayed.

Installation

yarn add @paprika/overflow-menu

or with npm:

npm install @paprika/overflow-menu

Props

OverflowMenu

| Prop | Type | required | default | Description | | --------- | ----------------------------------------------------------------------------------------------------------- | -------- | -------------------------- | ----------------------------------------------------------------------------------------- | | align | [ Popover.types.align.TOP, Popover.types.align.RIGHT, Popover.types.align.BOTTOM, Popover.types.align.LEFT] | false | Popover.types.align.BOTTOM | Where the popover content is positioned relative to the trigger or getPositioningElement. | | children | node | true | - | Children should consist of <OverflowMenu.Item /> | | edge | [ Popover.types.align.LEFT, Popover.types.align.RIGHT, null] | false | null | If provided, will align Popover to specified edge of Trigger | | isOpen | bool | false | null | Control if the overflow menu popover open. | | maxHeight | [number,string] | false | 300 | The maximum height of the OverflowMenu content | | onClose | func | false | null | If provided, will fire when the Popover is closed | | zIndex | number | false | zValue(1) | The z-index for the popover / confirmation |

OverflowMenu.Item

| Prop | Type | required | default | Description | | ------------------ | ---- | -------- | -------- | ------------------------------------------------------------- | | children | node | true | - | HTML for each item | | isDestructive | bool | false | false | If the item is destructive. | | onClick | func | false | () => {} | Callback to be executed when button is clicked | | onKeyDown | func | false | () => {} | Callback to be executed when key is pressed | | onClose | func | false | () => {} | Callback to be executed when overflow menu needs to be closed | | onShowConfirmation | func | false | () => {} | Callback to be executed when delete item is clicked | | renderConfirmation | func | false | null | Render prop to render the replacement node |

OverflowMenu.LinkItem

| Prop | Type | required | default | Description | | ---------- | ------ | -------- | -------- | ------------------------------------------- | | children | node | true | - | HTML for each LinkItem | | link | string | true | - | The url for the href | | onKeyDown | func | false | () => {} | Callback to be executed when key is pressed | | isExternal | bool | false | false | Should the link open content in a new tab |

OverflowMenu.Trigger

| Prop | Type | required | default | Description | | ---------- | ----------------------------------------------------------------------------------- | -------- | --------------------------- | ----------------------------------- | | children | node | false | null | | | buttonType | [ Trigger.types.button.ICON, Trigger.types.button.RAW, Trigger.types.button.SIMPLE] | false | Trigger.types.button.SIMPLE | Determine the styling of the button | | isOpen | bool | false | false | | | menuRefId | string | false | "" | | | onClick | func | false | () => {} | | | onOpenMenu | func | false | () => {} | | | triggerRef | custom | false | null | |

Usage

import OverflowMenu from "@paprika/overflow-menu";
import Confirmation from "@paprika/confirmation";

<OverflowMenu>
  <OverflowMenu.Trigger>Trigger</OverflowMenu.Trigger>
  <OverflowMenu.Content className="my-popover-classname" />
  <OverflowMenu.Item onClick={() => {}}>Edit</OverflowMenu.Item>
  <OverflowMenu.LinkItem isExternal link="http://www.wegalvanize.com">
    External link
  </OverflowMenu.LinkItem>
  <OverflowMenu.Item isDisabled onClick={() => {}}>
    Disabled Item
  </OverflowMenu.Item>
  <OverflowMenu.Divider />
  <OverflowMenu.Item
    isDestructive
    renderConfirmation={onCloseMenu => {
      return (
        <Confirmation
          body="Lorem ipsum dolor amet vexillologist tacos selvage narwhal butcher twee ethical hot chicken."
          confirmLabel="Delete filter"
          defaultIsOpen
          heading="Delete filter?"
          onConfirm={handleConfirm}
          onClose={handleCloseConfirm(onCloseMenu)}
        />
      );
    }}
  >
    Delete filter
  </OverflowMenu.Item>
</OverflowMenu>;

Links