2.1.0 • Published 3 years ago

@idot-digital/popup v2.1.0

Weekly downloads
-
License
UNLICENSED
Repository
-
Last release
3 years ago

popup

Overlay premade or custom popups

NPM JavaScript Style Guide

Install

npm install --save popup
import { PopupManager, PopupContextProvider } from 'popup'
import 'popup/dist/index.css'

// Wrap PopupManager around your main App, passing a Provider used later on
export const PopupManagerProvider = React.createContext(PopupContextProvider)

ReactDOM.render(
  <PopupManager context={PopupManagerProvider}>
    <App />
  </PopupManager>,
  document.getElementById('root')
)

Usage

import React, { Component } from 'react'

import Popup from 'popup'
import { PopupManagerProvider } from './index'

function FunctionalExample() {
  // Either use dispatch events from PopupManagerProvider
  const {
    setPopup,
    setCloseOnEdgePress,
    setOnClose,
    setOnOpen
  } = React.useContext(PopupManagerProvider)

  // or use the premade popup manager,
  const popup = new Popup(React.useContext(PopupManagerProvider))

  return (
    <div
      onClick={() => {
        // to manually change settings (setPopup rerenders and applies settings)
        setOnClose(() => () => console.log('closed'))
        setOnOpen(() => () => console.log('opnened'))
        setCloseOnEdgePress(() => true)
        setPopup(() => <div>Some manual popup content</div>)
        // or use generic popups, handling events and inputs.
        popup.createCustomPopup({
          element: <div>Some popup content</div>,
          onClose: () => console.log('closed'),
          onOpen: () => console.log('opened')
        })
      }}
    >
      your component
    </div>
  )
}

License

UNLICENSED © @idot-digital

2.1.0

3 years ago

2.0.3

3 years ago

2.0.2

3 years ago

1.1.0

3 years ago

2.0.1

3 years ago

2.0.0

3 years ago

1.0.1

3 years ago

1.0.0

3 years ago