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

everest_modal

v1.0.1

Published

A simple React modal that uses the HTML `<dialog>` element.

Downloads

9

Readme

Everest Modal

About

Everest Modal is a simple React modal that uses the HTML <dialog> element and relies on MUI and Material Icons for styling.

Installation

npm i everest_modal

How to use

import { EverestModal } from "everest_modal"
import "everest_modal/dist/style.css"

const App = () => {
  const [isEverestModalOpen, setIsEverestModalOpen] = useState(false)

  return (
    <>
      <button onClick={() => setIsEverestModalOpen(true)}>Open Modal</button>
      <EverestModal 
        isOpen={isEverestModalOpen} 
        setIsOpen={setIsEverestModalOpen}
      />
    </>
  )
}

export default App

How to use: in detail

Everest Modal relies on React's state paradigm to function. Therefore, to use Everest Modal in your project you need to set up state management with React's useState() hook in the component that you want to handle Everest Modal's state. The state of Everest Modal is very simple: a boolean that determines whether the modal is open or closed, and a state-setter function for setting this boolean value based on user interactions with the interface. The initial state should be set to false:

const [isEverestModalOpen, setIsEverestModalOpen] = useState(false)

The stateful variable isEverestModalOpen and the state-setter function setIsEverestModalOpen must be passed into the component instance via props. This is a required step:

<EverestModal 
  isOpen={isEverestModalOpen} 
  setIsOpen={setIsEverestModalOpen}
/>

Everest Modal can be used without any CSS styling, but you can choose to use the styles that come with the Everest Modal package by importing the everest_modal/dist/style.css file into the component that uses Everest Modal:

import "everest_modal/dist/style.css"

Props

Everest Modal can be customized in several ways using props.

isOpen (required) - boolean

Controls the visibility of the modal.

setIsOpen (required) - function

The is a state-setter function that you pass to your Everest Modal instance from the component that manages the modal's state.

headingText - string [default: null]

The text that appears in the header section of the modal. If not provided, the heading element in the modal will not render at all.

bodyText - string [default: null]

The text that appears in the body section of the modal. If not provided, the paragraph element in the modal will render without inner content (a tag without content).

closeButtonType - string [default: "button"]

Switches button type between a regular button with text and a button with a cross icon.

closeButtonText - string [default: "Close"]

This option only applies if the closeButtonType is set to "button". The modal is rendered with a button that closes it on click. This property allows to customize the text inside this button.

Other features

The modal can be closed by pressing the ESC key.