@southmedia/popup

1.0.3 • Public • Published

Popup

Lightweight JavaScript popup library

Installation and Usage

Install the library with npm install @southmedia/popup or yarn @southmedia/popup

ES6

import Popup from "@southmedia/popup"

Example

new Popup({
  popupSelector: "[data-popup-example]",
  triggerSelector: "[data-popup-example-trigger]",
  offsetElementsSelector: "[data-offset-popup]",
  beforeOpen: (event) => {
    console.log("before open", event.detail);
    const popup = event.detail.popup;
    const trigger = event.detail.trigger;
  },
  afterOpen: (event) => {
    console.log("after open", event.detail);
  },
  beforeClose: (event) => {
    console.log("before close", event.detail);
  },
  afterClose: (event) => {
    console.log("after close", event.detail);
  }
})

Options

Name Type Default Description
activeClass string "opened" Opened popup active class
bodyClass string - Body class then popup opened
popupSelector string - Popup selector. Required
triggerSelector string - Element selector click on will open popup
closeSelector string "[data-popup-close]" Element selector click on will close popup
lockScroll boolean true If enabled: lock scroll on window and add margin by scrollbar width to prevent shaking
offsetElementsSelector string - Element selector to add right by scrollbar width. Useless when lockScroll: false.
animationDuration number 600 Transition duration (in ms)
animationManual boolean false If enabled: animation will need to be set manually

Events

Name Description
beforeOpen Event will be fired right before opened
afterOpen Event will be fired right after opened
beforeClose Event will be fired right before closed
afterClose Event will be fired right after closed

Events have an argument "event", that contains popup and trigger that fired popup.

event.detail = {
  popup: element,
  trigger: element
}

Maintainers

Package Sidebar

Install

npm i @southmedia/popup

Weekly Downloads

0

Version

1.0.3

License

MIT

Unpacked Size

11.6 kB

Total Files

6

Last publish

Collaborators

  • southmedia