{"version":3,"sources":["jsdelivr-header.js","/npm/onoffcanvas@3.0.1/lib/onoffcanvas.js"],"names":[],"mappings":"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","file":"/npm/onoffcanvas@3.0.1/lib/onoffcanvas.js","sourceRoot":"","sourcesContent":["/**\n * Minified by jsDelivr using Terser v5.39.0.\n * Original file: /npm/onoffcanvas@3.0.1/lib/onoffcanvas.js\n *\n * Do NOT use SRI with dynamically generated files! More information: https://www.jsdelivr.com/using-sri-with-dynamic-files\n */\n","const u = \"onoffcanvas\", c = `.${u}`, d = {\n  HIDE: `hide${c}`,\n  SHOW: `show${c}`\n}, r = {\n  SHOW: \"is-open\"\n}, l = {\n  DATA_TOGGLE: '[data-toggle=\"onoffcanvas\"]'\n}, h = {\n  createDrawer: !0,\n  hideByEsc: !0\n};\nfunction m(n) {\n  let e = n.getAttribute(\"data-target\");\n  (!e || e === \"#\") && (e = n.getAttribute(\"href\") || \"\");\n  try {\n    return document.querySelectorAll(e).length > 0 ? e : null;\n  } catch {\n    throw new Error(\"Target Not Found!\");\n  }\n}\nfunction E(n) {\n  return n.map((e) => m(e));\n}\nfunction g(n) {\n  return !!n.classList;\n}\nclass o {\n  static attachTo(e, t) {\n    return new o(e, t);\n  }\n  /**\n   * Auto init all OnoffCanvas elements\n   */\n  static autoinit(e = h) {\n    const t = document.querySelectorAll(`${l.DATA_TOGGLE}`), i = E([...t]);\n    [...new Set(i)].filter((a) => a !== null).forEach((a) => {\n      o.attachTo(a, e);\n    });\n  }\n  element;\n  config;\n  triggerElements;\n  drawer;\n  lastActiveElement = null;\n  // Bound handlers for proper event removal\n  handleEscapeKeyBound;\n  handleDrawerClickBound;\n  handleTriggerClickBound;\n  /**\n   * Creates an instance of OnoffCanvas.\n   */\n  constructor(e, t) {\n    const i = g(e) ? e : document.querySelector(e);\n    if (!i)\n      throw new Error(\"Target Element Not Found!\");\n    this.element = i, this.config = { ...h, ...t }, this.triggerElements = Array.from(\n      document.querySelectorAll(\n        `${l.DATA_TOGGLE}[href=\"#${this.element.id}\"],${l.DATA_TOGGLE}[data-target=\"#${this.element.id}\"]`\n      )\n    ), this.handleEscapeKeyBound = this.handleEscapeKey.bind(this), this.handleDrawerClickBound = this.hide.bind(this), this.handleTriggerClickBound = (s) => {\n      s.currentTarget.tagName === \"A\" && s.preventDefault(), this.toggle();\n    }, this.addAriaExpanded(this.triggerElements), this.triggerElements.forEach((s) => {\n      s.addEventListener(\"click\", this.handleTriggerClickBound);\n    }), this.drawer = document.createElement(\"div\"), this.drawer.classList.add(\"onoffcanvas-drawer\"), this.drawer.setAttribute(\"aria-hidden\", \"true\");\n  }\n  on(e, t) {\n    return this.listen(e, t), this;\n  }\n  /**\n   * Show/Hide OnoffCanvas element\n   */\n  toggle() {\n    this.element.classList.contains(r.SHOW) ? this.hide() : this.show();\n  }\n  /**\n   * Show OnoffCanvas element\n   */\n  show() {\n    this.element.classList.contains(r.SHOW) || (this.lastActiveElement = document.activeElement, this.element.classList.add(r.SHOW), this.addAriaExpanded(this.triggerElements), this.emit(d.SHOW, { instance: this, element: this.element }), this.config.createDrawer && (document.body.appendChild(this.drawer), requestAnimationFrame(() => {\n      this.drawer.classList.add(\"is-open\");\n    }), this.drawer.addEventListener(\"click\", this.handleDrawerClickBound)), this.config.hideByEsc && window.addEventListener(\"keydown\", this.handleEscapeKeyBound), this.element.setAttribute(\"aria-hidden\", \"false\"), this.element.focus());\n  }\n  /**\n   * Hide OnoffCanvas element\n   */\n  hide() {\n    this.element.classList.contains(r.SHOW) && (this.config.createDrawer && (this.drawer.classList.remove(\"is-open\"), this.drawer.removeEventListener(\"click\", this.handleDrawerClickBound), setTimeout(() => {\n      this.drawer.parentNode && document.body.removeChild(this.drawer);\n    }, 300)), this.config.hideByEsc && window.removeEventListener(\"keydown\", this.handleEscapeKeyBound), this.element.classList.remove(r.SHOW), this.element.setAttribute(\"aria-hidden\", \"true\"), this.addAriaExpanded(this.triggerElements), this.emit(d.HIDE, { instance: this, element: this.element }), this.lastActiveElement && this.lastActiveElement.focus());\n  }\n  /**\n   * Completely destroy the instance and clean up listeners\n   */\n  destroy() {\n    this.hide(), this.triggerElements.forEach((e) => {\n      e.removeEventListener(\"click\", this.handleTriggerClickBound);\n    }), this.triggerElements = [], this.element = null;\n  }\n  handleEscapeKey(e) {\n    e.key === \"Escape\" && this.hide();\n  }\n  listen(e, t) {\n    return this.element.addEventListener(e, t, !1), this;\n  }\n  emit(e, t, i = !1) {\n    const s = new CustomEvent(e, {\n      detail: t,\n      bubbles: i\n    });\n    return this.element.dispatchEvent(s), this;\n  }\n  addAriaExpanded(e) {\n    const t = this.element.classList.contains(r.SHOW);\n    e.forEach((i) => {\n      i.setAttribute(\"aria-expanded\", t.toString());\n    });\n  }\n}\nexport {\n  r as ClassName,\n  c as EVENT_KEY,\n  d as EventName,\n  u as NAME,\n  h as OcDefault,\n  o as Onoffcanvas,\n  l as Selector,\n  o as default,\n  m as getSelectorFromElement,\n  g as isElement,\n  E as selectorArray\n};\n"]}