/svelte-modal

Primary LanguageJavaScriptCreative Commons Zero v1.0 UniversalCC0-1.0

svelte-modal

A vanilla JS basic popup modal made with Svelte. Use this as the base component for making nice, useful modals, like svelte-dialog.

View the demo.

install

$ npm install svelte-modal

TODO

example

import Modal from 'svelte-modal'

const content = document.createElement('p')
content.textContent = 'Modal content.'

const modal = new Modal({
  center: false, // false => aligned to top, true => aligned to center
  zIndexBase: 1, // adjust the relative z-index of the modal
  transitionDuration: 225, // duration of transition in and out
  pressScrimToDismiss: true, // press outside the modal to dismiss it
  escapeToDismiss: true, // press escape key to dismiss the modal
  slots: { default: content }
})

modal.on('result', result => {
  result // result of either modal.close or modal.dismiss
})

modal.on('closed', result => {
  result // result that was passed to `modal.close`
})

modal.on('dismissed', result => {
  result // result that was passed to `modal.dismissed`
})

modal.on('hidden', () => {}) // fires when the modal has finished transitioning out

modal.open()

modal.close('foo')
// or
modal.dismiss('bar')