{"version":3,"sources":["jsdelivr-header.js","/npm/modalist@2.1.4/src/index.js"],"names":[],"mappings":"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","file":"/npm/modalist@2.1.4/src/index.js","sourceRoot":"","sourcesContent":["/**\n * Minified by jsDelivr using Terser v5.39.0.\n * Original file: /npm/modalist@2.1.4/src/index.js\n *\n * Do NOT use SRI with dynamically generated files! More information: https://www.jsdelivr.com/using-sri-with-dynamic-files\n */\n","let elements = [];\nclass Modalist {\n  constructor(options = {}) {\n    this._element = options.element || document.querySelector('.modalist');\n    delete options.element;\n    let defaults = {\n      transitionIn: 'fadeIn',\n      transitionOut: 'fadeOut'\n    };\n    this._options = extend({}, defaults, options);\n\n    elements.push(this);\n  }\n\n  get element() {\n    return this._element;\n  }\n  set element(val) {\n    this._element = val;\n  }\n\n  get options() {\n    return this._options;\n  }\n  set options(val) {\n    this._options = val;\n  }\n\n  trigger(element) {\n    let url = element.dataset.modalistUrl || element.getAttribute('href') || null;\n    let form = document.querySelector(element.dataset.modalistForm) || null;\n\n    triggerEvent(document, 'modalist:click', { element: element, url: url, form: form });\n\n    this.open({\n      url: url,\n      form: form,\n      modalIsAlreadyOpen: isDescendant(this.element, element)\n    });\n  }\n  open(options = {}) {\n    options = extend({}, this.options, options);\n\n    if (options.modalIsAlreadyOpen) {\n      this.hideInnerContent();\n    } else {\n      this.showOverlay();\n      this.hideContent();\n    }\n    if (options.form || options.url) {\n      if (!options.modalIsAlreadyOpen)\n        this.showLoader();\n      this.load(options.form || options.url, (status, data) => {\n        if (status >= 200 && status < 400) {\n          this.render(data, { modalIsAlreadyOpen: options.modalIsAlreadyOpen });\n        } else {\n          // this.error(status, data);\n        }\n        if (options.modalIsAlreadyOpen) {\n          triggerEvent(document, 'modalist:load');\n        } else {\n          this.hideLoader();\n          setTimeout(() => {\n            this.show();\n            this.showContent();\n            triggerEvent(document, 'modalist:load');\n          }, 350);\n        }\n      });\n    } else {\n      this.overflow();\n      if (options.modalIsAlreadyOpen) {\n        this.showInnerContent();\n      } else {\n        this.show();\n        this.showContent();\n      }\n      triggerEvent(document, 'modalist:load');\n    }\n  }\n  overflow() {\n    this.element.classList.remove('modalist--overflow');\n    if (this.element.outerHeight + 60 > window.innerHeight)\n      this.element.classList.add('modalist--overflow');\n  }\n  close() {\n    triggerEvent(document, 'modalist:close');\n    this.hide();\n    this.hideOverlay();\n  }\n\n  show() {\n    this.element.classList.remove('animated');\n    this.element.classList.remove(this.options.transitionOut);\n    if (!this.element.classList.contains('modalist--shown')) {\n      this.element.classList.add('modalist--shown');\n      this.element.classList.add('animated');\n      this.element.classList.add(this.options.transitionIn);\n    }\n  }\n  hide() {\n    this.element.classList.remove(this.options.transitionIn);\n    this.element.classList.add(this.options.transitionOut);\n    setTimeout(() => this.element.classList.remove('modalist--shown'), 350);\n  }\n  toggle() {\n    if (this.element.classList.contains('modalist--shown'))\n      this.hide();\n    else\n      this.show();\n  }\n\n  showOverlay() {\n    document.querySelector('.modalist--overlay').classList.add('modalist--shown');\n  }\n  hideOverlay() {\n    document.querySelector('.modalist--overlay').classList.remove('modalist--shown');\n  }\n  toggleOverlay() {\n    if (document.querySelector('.modalist--overlay').classList.contains('modalist--shown'))\n      this.hideOverlay();\n    else\n      this.showOverlay();\n  }\n\n  showLoader() {\n    document.querySelector('.modalist--overlay > .modalist--loader').classList.add('modalist--shown');\n  }\n  hideLoader() {\n    document.querySelector('.modalist--overlay > .modalist--loader').classList.remove('modalist--shown');\n  }\n  toggleLoader() {\n    let loader = this.element.querySelector('.modalist--loader') || document.querySelector('.modalist--overlay > .modalist--loader');\n    if (loader.classList.contains('modalist--shown'))\n      this.hideLoader();\n    else\n      this.showLoader();\n  }\n\n  showContent() {\n    this.element.querySelector('.modalist--content').classList.add('modalist--shown');\n  }\n  hideContent() {\n    this.element.querySelector('.modalist--content').classList.remove('modalist--shown');\n  }\n  toggleContent() {\n    if (this.element.querySelector('.modalist--content').classList.contains('modalist--shown'))\n      this.hideContent();\n    else\n      this.showContent();\n  }\n\n  showInnerContent() {\n    Array.from(this.element.querySelector('.modalist--content').children).forEach((element) => {\n      element.classList.add('animated');\n      element.classList.add('fadeIn');\n      element.classList.remove('fadeOut');\n      element.classList.remove('hidden');\n    });\n  }\n  hideInnerContent() {\n    Array.from(this.element.querySelector('.modalist--content').children).forEach((element) => {\n      element.classList.add('animated');\n      element.classList.add('fadeOut');\n      element.classList.remove('fadeIn');\n    });\n  }\n  toggleInnerContent() {\n    if (this.element.querySelector('.modalist--content').classList.contains('modalist--shown'))\n      this.hideInnerContent();\n    else\n      this.showInnerContent();\n  }\n\n  load(urlOrForm, callback) {\n    triggerEvent(document, 'modalist:request-start');\n\n    let request = new XMLHttpRequest();\n    if (typeof urlOrForm == 'string') {\n      request.open('GET', urlOrForm, true);\n    } else {\n      request.open(urlOrForm.getAttribute('method').toUpperCase, urlOrForm.getAttribute('action'), true);\n      request.setRequestHeader('Content-Type', 'application/x-www-form-urlencoded; charset=UTF-8');\n    }\n    request.setRequestHeader('X-Requested-With', 'XMLHttpRequest');\n    request.onload = function() {\n      triggerEvent(document, 'modalist:request-end');\n      callback(this.status, this.responseText);\n    };\n    request.onerror = function() {\n      triggerEvent(document, 'modalist:request-end');\n      callback(this.status, this.responseText);\n    };\n    if (typeof urlOrForm == 'string')\n      request.send();\n    else\n      request.send(urlOrForm.serialize);\n  }\n  render(data, options = {}) {\n    triggerEvent(document, 'modalist:before-render');\n    this.element.querySelector('.modalist--content').innerHTML = data;\n    if (options.modalIsAlreadyOpen) {\n      Array.from(this.element.querySelector('.modalist--content').children).forEach((element) => element.classList.add('hidden'));\n      this.showInnerContent();\n    }\n    this.overflow();\n    triggerEvent(document, 'modalist:render');\n  }\n  // error(status, response) {\n  //   // Render error message\n  //   console.log(status);\n  //   console.log(response);\n  // }\n\n  static init() {\n    document.querySelectorAll('.modalist--trigger').forEach((element) => {\n      element.removeEventListener('click', trigger);\n      element.addEventListener('click', trigger);\n    });\n    function trigger() {\n      event.preventDefault();\n      Modalist.find(document.querySelector(this.dataset.modalistElement || '.modalist')).trigger(this);\n    }\n    document.querySelectorAll('.modalist--closer').forEach((element) => {\n      element.removeEventListener('click', closeModal);\n      element.addEventListener('click', closeModal);\n    });\n    function closeModal() {\n      Modalist.find(document.querySelector(this.dataset.modalistElement || '.modalist')).close();\n    }\n    document.querySelector('.modalist--overlay').removeEventListener('click', closeOverlay);\n    document.querySelector('.modalist--overlay').addEventListener('click', closeOverlay);\n    function closeOverlay() {\n      elements.forEach((instance) => instance.close());\n    }\n  }\n\n  static find(element) {\n    return elements.filter((instance) => instance.element == element)[0];\n  }\n}\n\nfunction triggerEvent(element, name, data = {}) {\n  if (window.CustomEvent) {\n    let event = new CustomEvent(name, { detail: data });\n    element.dispatchEvent(event);\n  } else {\n    let event = document.createEvent('CustomEvent');\n    event.initCustomEvent(name, true, true, data);\n  }\n}\n\nfunction extend() {\n  for (let i = 1; i < arguments.length; i++)\n    for (let key in arguments[i])\n      if (arguments[i].hasOwnProperty(key))\n        arguments[0][key] = arguments[i][key];\n  return arguments[0];\n}\n\nfunction isDescendant(parent, child) {\n  var node = child.parentNode;\n  while (node != null) {\n    if (node == parent)\n      return true;\n    node = node.parentNode;\n  }\n  return false;\n}\n\nexport default Modalist;\n"]}