{"version":3,"file":"pfe-modal.min.js","sources":["../_temp/polyfills--pfe-modal.js","../_temp/pfe-modal.js"],"sourcesContent":["// @POLYFILL  Array.prototype.filter\n// https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Array/filter\nif (!Array.prototype.filter) {\n  Array.prototype.filter = function (func, thisArg) {\n    \"use strict\";\n    if (!((typeof func === \"Function\" || typeof func === \"function\") && this)) throw new TypeError();\n\n    var len = this.length >>> 0,\n      res = new Array(len), // preallocate array\n      t = this,\n      c = 0,\n      i = -1;\n\n    var kValue;\n    if (thisArg === undefined) {\n      while (++i !== len) {\n        // checks to see if the key was set\n        if (i in this) {\n          kValue = t[i]; // in case t is changed in callback\n          if (func(t[i], i, t)) {\n            res[c++] = kValue;\n          }\n        }\n      }\n    } else {\n      while (++i !== len) {\n        // checks to see if the key was set\n        if (i in this) {\n          kValue = t[i];\n          if (func.call(thisArg, t[i], i, t)) {\n            res[c++] = kValue;\n          }\n        }\n      }\n    }\n\n    res.length = c; // shrink down array to proper size\n    return res;\n  };\n}\n","/*!\n * PatternFly Elements: PfeModal 1.12.2\n * @license\n * Copyright 2021 Red Hat, Inc.\n * \n * Permission is hereby granted, free of charge, to any person obtaining a copy\n * of this software and associated documentation files (the \"Software\"), to deal\n * in the Software without restriction, including without limitation the rights\n * to use, copy, modify, merge, publish, distribute, sublicense, and/or sell\n * copies of the Software, and to permit persons to whom the Software is\n * furnished to do so, subject to the following conditions:\n * \n * The above copyright notice and this permission notice shall be included in\n * all copies or substantial portions of the Software.\n * \n * THE SOFTWARE IS PROVIDED \"AS IS\", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR\n * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,\n * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE\n * AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER\n * LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,\n * OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE\n * SOFTWARE.\n * \n*/\n\n// Import polyfills: filter\nimport \"./polyfills--pfe-modal.js\";\n\nimport PFElement from \"../../pfelement/dist/pfelement.js\";\n\nclass PfeModal extends PFElement {\n\n  // Injected at build-time\n  static get version() {\n    return \"1.12.2\";\n  }\n\n  // Injected at build-time\n  get html() {\n    return `\n<style>.pfe-modal__close{background-color:transparent;border:none;margin:0;padding:0;text-align:left}:host{display:block;position:relative}.pfe-modal__outer{display:-webkit-box;display:-webkit-flex;display:-ms-flexbox;display:flex;position:fixed;height:100%;width:100%;top:0;left:0;-webkit-box-orient:vertical;-webkit-box-direction:normal;-webkit-flex-direction:column;-ms-flex-direction:column;flex-direction:column;-webkit-box-align:center;-webkit-align-items:center;-ms-flex-align:center;align-items:center;-webkit-box-pack:center;-webkit-justify-content:center;-ms-flex-pack:center;justify-content:center;z-index:99;z-index:var(--pfe-theme--zindex--modal,99)}.pfe-modal__outer[hidden]{display:none}.pfe-modal__overlay{position:fixed;height:100%;width:100%;top:0;left:0;background-color:rgba(21,21,21,.5);background-color:var(--pfe-modal__overlay--BackgroundColor,var(--pfe-theme--color--overlay,rgba(21,21,21,.5)));cursor:pointer}.pfe-modal__overlay[hidden]{display:none}.pfe-modal__window{--context:var(--pfe-modal--context, light);--pfe-broadcasted--text:var(--pfe-theme--color--text, #151515);--pfe-broadcasted--text--muted:var(--pfe-theme--color--text--muted, #6a6e73);--pfe-broadcasted--link:var(--pfe-theme--color--link, #06c);--pfe-broadcasted--link--hover:var(--pfe-theme--color--link--hover, #004080);--pfe-broadcasted--link--focus:var(--pfe-theme--color--link--focus, #004080);--pfe-broadcasted--link--visited:var(--pfe-theme--color--link--visited, #6753ac);--pfe-broadcasted--link-decoration:var(--pfe-theme--link-decoration, none);--pfe-broadcasted--link-decoration--hover:var(--pfe-theme--link-decoration--hover, underline);--pfe-broadcasted--link-decoration--focus:var(--pfe-theme--link-decoration--focus, underline);--pfe-broadcasted--link-decoration--visited:var(--pfe-theme--link-decoration--visited, none);position:relative;max-width:94vw;max-width:var(--pfe-modal--MaxWidth--mobile,94vw);min-width:0;min-width:var(--pfe-modal--MinWidth,0);max-height:90vh;max-height:var(--pfe-modal--MaxHeight,90vh);margin:0 auto;-webkit-box-shadow:0 .1875rem .4375rem .1875rem rgba(3,3,3,.13),0 .6875rem 1.5rem 1rem rgba(3,3,3,.12);box-shadow:0 .1875rem .4375rem .1875rem rgba(3,3,3,.13),0 .6875rem 1.5rem 1rem rgba(3,3,3,.12);-webkit-box-shadow:var(--pfe-theme--box-shadow--lg,0 .1875rem .4375rem .1875rem rgba(3,3,3,.13),0 .6875rem 1.5rem 1rem rgba(3,3,3,.12));box-shadow:var(--pfe-theme--box-shadow--lg,0 .1875rem .4375rem .1875rem rgba(3,3,3,.13),0 .6875rem 1.5rem 1rem rgba(3,3,3,.12));background-color:#fff;background-color:var(--pfe-theme--color--surface--lightest,#fff);color:#151515;color:var(--pfe-theme--color--text,#151515);border-radius:2px;border-radius:var(--pfe-theme--ui--border-radius,2px)}@media screen and (min-width:640px){.pfe-modal__window{max-width:min(70rem,94vw);max-width:var(--pfe-modal-width,var(--pfe-modal--MaxWidth--large,min(70rem,94vw)))}}:host([width=small]) .pfe-modal__window{max-width:min(35rem,94vw);max-width:var(--pfe-modal--MaxWidth--small,min(35rem,94vw))}:host([width=medium]) .pfe-modal__window{max-width:min(52.5rem,94vw);max-width:var(--pfe-modal--MaxWidth--medium,min(52.5rem,94vw))}:host([width=large]) .pfe-modal__window{max-width:min(70rem,94vw);max-width:var(--pfe-modal--MaxWidth--large,min(70rem,94vw))}.pfe-modal__container{position:relative;max-height:inherit}.pfe-modal__container[hidden]{display:none}.pfe-modal__content{overflow-y:auto;-ms-scroll-chaining:none;overscroll-behavior:contain;max-height:90vh;max-height:var(--pfe-modal--MaxHeight,90vh);padding:calc(1rem * 2) calc(1rem * 3.5) calc(1rem * 2) calc(1rem * 2);padding:var(--pfe-modal--Padding,calc(var(--pfe-theme--container-padding,1rem) * 2) calc(var(--pfe-theme--container-padding,1rem) * 3.5) calc(var(--pfe-theme--container-padding,1rem) * 2) calc(var(--pfe-theme--container-padding,1rem) * 2));-webkit-box-sizing:border-box;box-sizing:border-box}@media screen and (max-height:640px){.pfe-modal__content{padding:1rem calc(1rem * 3) 1rem 1rem;padding:var(--pfe-modal--Padding,var(--pfe-theme--container-padding,1rem) calc(var(--pfe-theme--container-padding,1rem) * 3) var(--pfe-theme--container-padding,1rem) var(--pfe-theme--container-padding,1rem))}}:host(:not([has_header])) .pfe-modal__content ::slotted(:nth-child(1)),:host(:not([has_header])) .pfe-modal__content ::slotted(:nth-child(2)){margin-top:0!important}.pfe-modal__content ::slotted([slot=pfe-modal--header]){margin-top:0!important}.pfe-modal__close{position:absolute;top:calc(1rem * .25);top:calc(var(--pfe-theme--container-padding,1rem) * .25);right:calc(1rem * .25);right:calc(var(--pfe-theme--container-padding,1rem) * .25);cursor:pointer;line-height:.5;padding:1rem;padding:var(--pfe-theme--container-padding,1rem)}@media screen and (min-width:640px){.pfe-modal__close{top:1rem;top:var(--pfe-theme--container-padding,1rem);right:1rem;right:var(--pfe-theme--container-padding,1rem)}}@media screen and (max-height:640px) and (min-width:640px){.pfe-modal__close{top:calc(1rem / 2);top:calc(var(--pfe-theme--container-padding,1rem)/ 2);right:calc(1rem / 2);right:calc(var(--pfe-theme--container-padding,1rem)/ 2)}}.pfe-modal__close>svg{fill:#151515;fill:var(--pfe-theme--color--text,#151515);height:20px;height:var(--pfe-theme--ui--element--size,20px);width:20px;width:var(--pfe-theme--ui--element--size,20px);height:calc(20px - 4px);height:var(--pfe-modal__close--size,calc(var(--pfe-theme--ui--element--size,20px) - 4px));width:calc(20px - 4px);width:var(--pfe-modal__close--size,calc(var(--pfe-theme--ui--element--size,20px) - 4px))} /*# sourceMappingURL=pfe-modal.min.css.map */</style>\n<slot name=\"pfe-modal--trigger\"></slot>\n<section class=\"pfe-modal__outer\" hidden>\n\t<div class=\"pfe-modal__overlay\"></div>\n\t<div class=\"pfe-modal__window\" tabindex=\"0\" role=\"dialog\" hidden>\n\t\t<div class=\"pfe-modal__container\">\n\t\t\t<div class=\"pfe-modal__content\">\n\t\t\t\t<slot name=\"pfe-modal--header\"></slot>\n\t\t\t\t<slot></slot>\n\t\t\t</div>\n\t\t\t<button class=\"pfe-modal__close\" aria-label=\"Close dialog\">\n\t\t\t\t<svg version=\"1.1\" xmlns=\"http://www.w3.org/2000/svg\" xmlns:xlink=\"http://www.w3.org/1999/xlink\" width=\"32\" height=\"32\" viewBox=\"-11 11 22 23\">\n\t\t\t\t\t<path d=\"M30 16.669v-1.331c0-0.363-0.131-0.675-0.394-0.938s-0.575-0.394-0.938-0.394h-10.669v-10.65c0-0.362-0.131-0.675-0.394-0.938s-0.575-0.394-0.938-0.394h-1.331c-0.363 0-0.675 0.131-0.938 0.394s-0.394 0.575-0.394 0.938v10.644h-10.675c-0.362 0-0.675 0.131-0.938 0.394s-0.394 0.575-0.394 0.938v1.331c0 0.363 0.131 0.675 0.394 0.938s0.575 0.394 0.938 0.394h10.669v10.644c0 0.363 0.131 0.675 0.394 0.938 0.262 0.262 0.575 0.394 0.938 0.394h1.331c0.363 0 0.675-0.131 0.938-0.394s0.394-0.575 0.394-0.938v-10.637h10.669c0.363 0 0.675-0.131 0.938-0.394 0.269-0.262 0.4-0.575 0.4-0.938z\" transform=\"rotate(45)\"/>\n\t\t\t\t</svg>\n\t\t\t</button>\n\t\t</div>\n\t</div>\n</section>`;\n  }\n\n  // Injected at build-time\n  static get slots() {\n    return {\"trigger\":{\"title\":\"Trigger\",\"type\":\"array\",\"namedSlot\":true,\"items\":{\"oneOf\":[{\"$ref\":\"raw\"}]}},\"header\":{\"title\":\"Header\",\"type\":\"array\",\"namedSlot\":true,\"items\":{\"oneOf\":[{\"$ref\":\"raw\"}]}},\"body\":{\"title\":\"Body\",\"type\":\"array\",\"namedSlot\":false,\"items\":{\"oneOf\":[{\"$ref\":\"raw\"}]}}};\n  }\n\n  static get tag() {\n    return \"pfe-modal\";\n  }\n\n  get templateUrl() {\n    return \"pfe-modal.html\";\n  }\n\n  get schemaUrl() {\n    return \"pfe-modal.json\";\n  }\n\n  get styleUrl() {\n    return \"pfe-modal.scss\";\n  }\n\n  // Declare the type of this component\n  static get PfeType() {\n    return PFElement.PfeTypes.Container;\n  }\n\n  static get events() {\n    return {\n      open: `${this.tag}:open`,\n      close: `${this.tag}:close`,\n    };\n  }\n\n  constructor() {\n    super(PfeModal, { type: PfeModal.PfeType });\n\n    this.header_id = this.randomId;\n    this.isOpen = false;\n\n    this._keydownHandler = this._keydownHandler.bind(this);\n    this.toggle = this.toggle.bind(this);\n\n    // These fire custom events\n    this.open = this.open.bind(this);\n    this.close = this.close.bind(this);\n    this._init = this._init.bind(this);\n\n    this._modalWindow = this.shadowRoot.querySelector(`.${this.tag}__window`);\n    this._modalCloseButton = this.shadowRoot.querySelector(`.${this.tag}__close`);\n    this._overlay = this.shadowRoot.querySelector(`.${this.tag}__overlay`);\n    this._container = this.shadowRoot.querySelector(`.${this.tag}__container`);\n    this._outer = this.shadowRoot.querySelector(`.${this.tag}__outer`);\n\n    this._observer = new MutationObserver(this._init);\n  }\n\n  connectedCallback() {\n    super.connectedCallback();\n\n    this._init();\n\n    this.addEventListener(\"keydown\", this._keydownHandler);\n    this._modalCloseButton.addEventListener(\"keydown\", this._keydownHandler);\n    this._modalCloseButton.addEventListener(\"click\", this.close);\n    this._overlay.addEventListener(\"click\", this.close);\n\n    this._observer.observe(this, { childList: true });\n  }\n\n  disconnectedCallback() {\n    super.disconnectedCallback();\n\n    this.removeEventListener(\"keydown\", this._keydownHandler);\n    this._modalCloseButton.removeEventListener(\"click\", this.close);\n    this._modalCloseButton.removeEventListener(\"click\", this.close);\n    this._overlay.removeEventListener(\"click\", this.close);\n\n    if (this.trigger) {\n      this.trigger.removeEventListener(\"click\", this.open);\n    }\n\n    this._observer.disconnect();\n  }\n\n  _init() {\n    if (window.ShadyCSS) this._observer.disconnect();\n\n    this.trigger = this.querySelector(`[slot=\"${this.tag}--trigger\"]`);\n    this.header = this.querySelector(`[slot=\"${this.tag}--header\"]`);\n    this.body = [...this.querySelectorAll(`*:not([slot])`)];\n\n    if (this.trigger) {\n      this.trigger.addEventListener(\"click\", this.open);\n      this.removeAttribute(\"hidden\");\n    }\n\n    if (this.header) {\n      this.header.id = this.header_id;\n      this._modalWindow.setAttribute(\"aria-labelledby\", this.header_id);\n    } else {\n      // Get the first heading in the modal if it exists\n      const headings = this.body.filter((el) => el.tagName.slice(0, 1) === \"H\");\n      if (headings.length > 0) {\n        headings[0].id = this.header_id;\n        this._modalWindow.setAttribute(\"aria-labelledby\", this.header_id);\n      } else if (this.trigger) {\n        this._modalWindow.setAttribute(\"aria-label\", this.trigger.innerText);\n      }\n    }\n\n    if (window.ShadyCSS) this._observer.observe(this, { childList: true });\n  }\n\n  _keydownHandler(event) {\n    let target = event.target || window.event.srcElement;\n    let key = event.key || event.keyCode;\n    switch (key) {\n      case \"Tab\":\n      case 9:\n        if (target === this._modalCloseButton) {\n          event.preventDefault();\n          this._modalWindow.focus();\n        }\n        return;\n      case \"Escape\":\n      case \"Esc\":\n      case 27:\n        this.close(event);\n        return;\n      case \"Enter\":\n      case 13:\n        if (target === this.trigger) {\n          this.open(event);\n        }\n        return;\n    }\n  }\n\n  toggle(event) {\n    this.isOpen ? this.close(event) : this.open(event);\n    return this;\n  }\n\n  open(event) {\n    if (event) {\n      event.preventDefault();\n      this.trigger = event ? event.target : window.event.srcElement;\n    }\n\n    const detail = {\n      open: true,\n    };\n\n    if (event && this.trigger) {\n      detail.trigger = this.trigger;\n    }\n\n    this.isOpen = true;\n    // Reveal the container and overlay\n    this._modalWindow.removeAttribute(\"hidden\");\n    this._overlay.removeAttribute(\"hidden\");\n    this._outer.removeAttribute(\"hidden\");\n    // This prevents background scroll\n    document.body.style.overflow = \"hidden\";\n    // Set the focus to the container\n    this._modalWindow.focus();\n\n    this.emitEvent(PfeModal.events.open, { detail });\n\n    return this;\n  }\n\n  close(event) {\n    if (event) {\n      event.preventDefault();\n    }\n\n    this.isOpen = false;\n    // Hide the container and overlay\n    this._modalWindow.setAttribute(\"hidden\", true);\n    this._overlay.setAttribute(\"hidden\", true);\n    this._outer.setAttribute(\"hidden\", true);\n    // Return scrollability\n    document.body.style.overflow = \"auto\";\n\n    if (this.trigger) {\n      // Move focus back to the trigger element\n      this.trigger.focus();\n      this.trigger = null;\n    }\n\n    this.emitEvent(PfeModal.events.close, {\n      detail: {\n        open: false,\n      },\n    });\n\n    return this;\n  }\n}\n\nPFElement.create(PfeModal);\n\nexport default PfeModal;\n"],"names":["Array","prototype","filter","func","thisArg","this","TypeError","kValue","len","length","res","t","c","i","undefined","call","PfeModal","PFElement","version","html","slots","trigger","title","type","namedSlot","items","oneOf","$ref","header","body","tag","templateUrl","schemaUrl","styleUrl","PfeType","PfeTypes","Container","events","open","close","[object Object]","super","header_id","randomId","isOpen","_keydownHandler","bind","toggle","_init","_modalWindow","shadowRoot","querySelector","_modalCloseButton","_overlay","_container","_outer","_observer","MutationObserver","connectedCallback","addEventListener","observe","childList","disconnectedCallback","removeEventListener","disconnect","window","ShadyCSS","querySelectorAll","removeAttribute","id","setAttribute","headings","el","tagName","slice","innerText","event","target","srcElement","key","keyCode","preventDefault","focus","detail","document","style","overflow","emitEvent","create"],"mappings":"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"}