diff --git a/dist/rmodal.js b/dist/rmodal.js index 40775a5..b658022 100644 --- a/dist/rmodal.js +++ b/dist/rmodal.js @@ -192,8 +192,8 @@ RModal.prototype.keydown = function keydown (ev) { } }; -RModal.prototype.version = '1.0.34'; -RModal.version = '1.0.34'; +RModal.prototype.version = '1.0.35'; +RModal.version = '1.0.35'; return RModal; diff --git a/dist/rmodal.js.map b/dist/rmodal.js.map index 6ddb31e..a658f4b 100644 --- a/dist/rmodal.js.map +++ b/dist/rmodal.js.map @@ -1 +1 @@ -{"version":3,"file":"rmodal.js","sources":["rmodal.js"],"sourcesContent":["const is = (obj, type) => Object.prototype.toString.call(obj).toLowerCase() === `[object ${type}]`;\r\n\r\nconst addClass = (el, cls) => {\r\n const arr = el.className\r\n .split(/\\s+/)\r\n .filter((c) => !!c && c == cls);\r\n\r\n if (!arr.length) {\r\n el.className += ` ${cls}`;\r\n }\r\n};\r\n\r\nconst removeClass = (el, cls) => {\r\n el.className = el.className\r\n .split(/\\s+/)\r\n .filter((c) => !!c && c != cls)\r\n .join(' ');\r\n};\r\n\r\nclass RModal {\r\n constructor(el, opts) {\r\n this.opened = false;\r\n\r\n this.opts = {\r\n bodyClass: 'modal-open'\r\n , dialogClass: 'modal-dialog'\r\n , dialogOpenClass: 'bounceInDown'\r\n , dialogCloseClass: 'bounceOutUp'\r\n\r\n , focus: true\r\n , focusElements: [\r\n 'a[href]', 'area[href]', 'input:not([disabled]):not([type=hidden])'\r\n , 'button:not([disabled])', 'select:not([disabled])'\r\n , 'textarea:not([disabled])', 'iframe', 'object', 'embed'\r\n , '*[tabindex]', '*[contenteditable]'\r\n ]\r\n\r\n , escapeClose: true\r\n , content: null\r\n , closeTimeout: 500\r\n };\r\n\r\n Object.keys(opts || {})\r\n .forEach((key) => {\r\n /* istanbul ignore else */\r\n if (opts[key] !== undefined) {\r\n this.opts[key] = opts[key];\r\n }\r\n });\r\n\r\n this.overlay = el;\r\n this.dialog = el.querySelector(`.${this.opts.dialogClass}`);\r\n\r\n if (this.opts.content) {\r\n this.content(this.opts.content);\r\n }\r\n }\r\n\r\n open(content) {\r\n this.content(content);\r\n\r\n if (!is(this.opts.beforeOpen, 'function')) {\r\n return this._doOpen();\r\n }\r\n\r\n this.opts.beforeOpen(() => {\r\n this._doOpen();\r\n });\r\n }\r\n\r\n _doOpen() {\r\n addClass(document.body, this.opts.bodyClass);\r\n\r\n removeClass(this.dialog, this.opts.dialogCloseClass);\r\n addClass(this.dialog, this.opts.dialogOpenClass);\r\n\r\n this.overlay.style.display = 'block';\r\n\r\n if (this.opts.focus) {\r\n this.focusOutElement = document.activeElement;\r\n this.focus();\r\n }\r\n\r\n if (is(this.opts.afterOpen, 'function')) {\r\n this.opts.afterOpen();\r\n }\r\n this.opened = true;\r\n }\r\n\r\n close() {\r\n if (!is(this.opts.beforeClose, 'function')) {\r\n return this._doClose();\r\n }\r\n\r\n this.opts.beforeClose(() => {\r\n this._doClose();\r\n });\r\n }\r\n\r\n _doClose() {\r\n removeClass(this.dialog, this.opts.dialogOpenClass);\r\n addClass(this.dialog, this.opts.dialogCloseClass);\r\n\r\n removeClass(document.body, this.opts.bodyClass);\r\n\r\n if (this.opts.focus) {\r\n this.focus(this.focusOutElement);\r\n }\r\n\r\n setTimeout(() => {\r\n this.overlay.style.display = 'none';\r\n\r\n if (is(this.opts.afterClose, 'function')) {\r\n this.opts.afterClose();\r\n }\r\n this.opened = false;\r\n }, this.opts.closeTimeout);\r\n }\r\n\r\n content(html) {\r\n if (html === undefined) {\r\n return this.dialog.innerHTML;\r\n }\r\n\r\n this.dialog.innerHTML = html;\r\n }\r\n\r\n elements(selector, fallback) {\r\n fallback = fallback || window.navigator.appVersion.indexOf('MSIE 9.0') > -1;\r\n selector = is(selector, 'array') ? selector.join(',') : selector;\r\n\r\n return [].filter.call(\r\n this.dialog.querySelectorAll(selector)\r\n , (element) => {\r\n if (fallback) {\r\n const style = window.getComputedStyle(element);\r\n return style.display !== 'none' && style.visibility !== 'hidden';\r\n }\r\n\r\n return element.offsetParent !== null;\r\n }\r\n );\r\n }\r\n\r\n focus(el) {\r\n el = el || this.elements(this.opts.focusElements)[0] || this.dialog.firstChild;\r\n\r\n if (el && is(el.focus, 'function')) {\r\n el.focus();\r\n }\r\n }\r\n\r\n keydown(ev) {\r\n if (this.opts.escapeClose && ev.which == 27) {\r\n this.close();\r\n }\r\n\r\n const stopEvent = () => {\r\n ev.preventDefault();\r\n ev.stopPropagation();\r\n }\r\n\r\n if (this.opened && ev.which == 9 && this.dialog.contains(ev.target)) {\r\n const elements = this.elements(this.opts.focusElements)\r\n , first = elements[0]\r\n , last = elements[elements.length - 1];\r\n\r\n if (first == last) {\r\n stopEvent();\r\n }\r\n else if (ev.target == first && ev.shiftKey) {\r\n stopEvent();\r\n last.focus();\r\n }\r\n else if (ev.target == last && !ev.shiftKey) {\r\n stopEvent();\r\n first.focus();\r\n }\r\n }\r\n }\r\n}\r\n\r\nRModal.prototype.version = '@@VERSION@@';\r\nRModal.version = '@@VERSION@@';\r\n\r\nexport default RModal;\r\n"],"names":["const","this"],"mappings":"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","preExistingComment":"//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjpudWxsLCJzb3VyY2VzIjpbIkQ6L1N0b3JhZ2UvTmV3IGZvbGRlci9ybW9kYWwuanMvc3JjL3Jtb2RhbC5qcyJdLCJzb3VyY2VzQ29udGVudCI6WyJjb25zdCBpcyA9IChvYmosIHR5cGUpID0+IE9iamVjdC5wcm90b3R5cGUudG9TdHJpbmcuY2FsbChvYmopLnRvTG93ZXJDYXNlKCkgPT09IGBbb2JqZWN0ICR7dHlwZX1dYDtcclxuXHJcbmNvbnN0IGFkZENsYXNzID0gKGVsLCBjbHMpID0+IHtcclxuICAgIGNvbnN0IGFyciA9IGVsLmNsYXNzTmFtZVxyXG4gICAgLnNwbGl0KC9cXHMrLylcclxuICAgIC5maWx0ZXIoKGMpID0+ICEhYyAmJiBjID09IGNscyk7XHJcblxyXG4gICAgaWYgKCFhcnIubGVuZ3RoKSB7XHJcbiAgICAgICAgZWwuY2xhc3NOYW1lICs9IGAgJHtjbHN9YDtcclxuICAgIH1cclxufTtcclxuXHJcbmNvbnN0IHJlbW92ZUNsYXNzID0gKGVsLCBjbHMpID0+IHtcclxuICAgIGVsLmNsYXNzTmFtZSA9IGVsLmNsYXNzTmFtZVxyXG4gICAgLnNwbGl0KC9cXHMrLylcclxuICAgIC5maWx0ZXIoKGMpID0+ICEhYyAmJiBjICE9IGNscylcclxuICAgIC5qb2luKCcgJyk7XHJcbn07XHJcblxyXG5jbGFzcyBSTW9kYWwge1xyXG4gICAgY29uc3RydWN0b3IoZWwsIG9wdHMpIHtcclxuICAgICAgICB0aGlzLm9wZW5lZCA9IGZhbHNlO1xyXG5cclxuICAgICAgICB0aGlzLm9wdHMgPSB7XHJcbiAgICAgICAgICAgIGJvZHlDbGFzczogJ21vZGFsLW9wZW4nXHJcbiAgICAgICAgICAgICwgZGlhbG9nQ2xhc3M6ICdtb2RhbC1kaWFsb2cnXHJcbiAgICAgICAgICAgICwgZGlhbG9nT3BlbkNsYXNzOiAnYm91bmNlSW5Eb3duJ1xyXG4gICAgICAgICAgICAsIGRpYWxvZ0Nsb3NlQ2xhc3M6ICdib3VuY2VPdXRVcCdcclxuXHJcbiAgICAgICAgICAgICwgZm9jdXM6IHRydWVcclxuICAgICAgICAgICAgLCBmb2N1c0VsZW1lbnRzOiBbXHJcbiAgICAgICAgICAgICAgICAnYVtocmVmXScsICdhcmVhW2hyZWZdJywgJ2lucHV0Om5vdChbZGlzYWJsZWRdKTpub3QoW3R5cGU9aGlkZGVuXSknXHJcbiAgICAgICAgICAgICAgICAsICdidXR0b246bm90KFtkaXNhYmxlZF0pJywgJ3NlbGVjdDpub3QoW2Rpc2FibGVkXSknXHJcbiAgICAgICAgICAgICAgICAsICd0ZXh0YXJlYTpub3QoW2Rpc2FibGVkXSknLCAnaWZyYW1lJywgJ29iamVjdCcsICdlbWJlZCdcclxuICAgICAgICAgICAgICAgICwgJypbdGFiaW5kZXhdJywgJypbY29udGVudGVkaXRhYmxlXSdcclxuICAgICAgICAgICAgXVxyXG5cclxuICAgICAgICAgICAgLCBlc2NhcGVDbG9zZTogdHJ1ZVxyXG4gICAgICAgICAgICAsIGNvbnRlbnQ6IG51bGxcclxuICAgICAgICAgICAgLCBjbG9zZVRpbWVvdXQ6IDUwMFxyXG4gICAgICAgIH07XHJcblxyXG4gICAgICAgIE9iamVjdC5rZXlzKG9wdHMgfHwge30pXHJcbiAgICAgICAgLmZvckVhY2goKGtleSkgPT4ge1xyXG4gICAgICAgICAgICAvKiBpc3RhbmJ1bCBpZ25vcmUgZWxzZSAqL1xyXG4gICAgICAgICAgICBpZiAob3B0c1trZXldICE9PSB1bmRlZmluZWQpIHtcclxuICAgICAgICAgICAgICAgIHRoaXMub3B0c1trZXldID0gb3B0c1trZXldO1xyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgfSk7XHJcblxyXG4gICAgICAgIHRoaXMub3ZlcmxheSA9IGVsO1xyXG4gICAgICAgIHRoaXMuZGlhbG9nID0gZWwucXVlcnlTZWxlY3RvcihgLiR7dGhpcy5vcHRzLmRpYWxvZ0NsYXNzfWApO1xyXG5cclxuICAgICAgICBpZiAodGhpcy5vcHRzLmNvbnRlbnQpIHtcclxuICAgICAgICAgICAgdGhpcy5jb250ZW50KHRoaXMub3B0cy5jb250ZW50KTtcclxuICAgICAgICB9XHJcbiAgICB9XHJcblxyXG4gICAgb3Blbihjb250ZW50KSB7XHJcbiAgICAgICAgdGhpcy5jb250ZW50KGNvbnRlbnQpO1xyXG5cclxuICAgICAgICBpZiAoIWlzKHRoaXMub3B0cy5iZWZvcmVPcGVuLCAnZnVuY3Rpb24nKSkge1xyXG4gICAgICAgICAgICByZXR1cm4gdGhpcy5fZG9PcGVuKCk7XHJcbiAgICAgICAgfVxyXG5cclxuICAgICAgICB0aGlzLm9wdHMuYmVmb3JlT3BlbigoKSA9PiB7XHJcbiAgICAgICAgICAgIHRoaXMuX2RvT3BlbigpO1xyXG4gICAgICAgIH0pO1xyXG4gICAgfVxyXG5cclxuICAgIF9kb09wZW4oKSB7XHJcbiAgICAgICAgYWRkQ2xhc3MoZG9jdW1lbnQuYm9keSwgdGhpcy5vcHRzLmJvZHlDbGFzcyk7XHJcblxyXG4gICAgICAgIHJlbW92ZUNsYXNzKHRoaXMuZGlhbG9nLCB0aGlzLm9wdHMuZGlhbG9nQ2xvc2VDbGFzcyk7XHJcbiAgICAgICAgYWRkQ2xhc3ModGhpcy5kaWFsb2csIHRoaXMub3B0cy5kaWFsb2dPcGVuQ2xhc3MpO1xyXG5cclxuICAgICAgICB0aGlzLm92ZXJsYXkuc3R5bGUuZGlzcGxheSA9ICdibG9jayc7XHJcblxyXG4gICAgICAgIGlmICh0aGlzLm9wdHMuZm9jdXMpIHtcclxuICAgICAgICAgICAgdGhpcy5mb2N1c091dEVsZW1lbnQgPSBkb2N1bWVudC5hY3RpdmVFbGVtZW50O1xyXG4gICAgICAgICAgICB0aGlzLmZvY3VzKCk7XHJcbiAgICAgICAgfVxyXG5cclxuICAgICAgICBpZiAoaXModGhpcy5vcHRzLmFmdGVyT3BlbiwgJ2Z1bmN0aW9uJykpIHtcclxuICAgICAgICAgICAgdGhpcy5vcHRzLmFmdGVyT3BlbigpO1xyXG4gICAgICAgIH1cclxuICAgICAgICB0aGlzLm9wZW5lZCA9IHRydWU7XHJcbiAgICB9XHJcblxyXG4gICAgY2xvc2UoKSB7XHJcbiAgICAgICAgaWYgKCFpcyh0aGlzLm9wdHMuYmVmb3JlQ2xvc2UsICdmdW5jdGlvbicpKSB7XHJcbiAgICAgICAgICAgIHJldHVybiB0aGlzLl9kb0Nsb3NlKCk7XHJcbiAgICAgICAgfVxyXG5cclxuICAgICAgICB0aGlzLm9wdHMuYmVmb3JlQ2xvc2UoKCkgPT4ge1xyXG4gICAgICAgICAgICB0aGlzLl9kb0Nsb3NlKCk7XHJcbiAgICAgICAgfSk7XHJcbiAgICB9XHJcblxyXG4gICAgX2RvQ2xvc2UoKSB7XHJcbiAgICAgICAgcmVtb3ZlQ2xhc3ModGhpcy5kaWFsb2csIHRoaXMub3B0cy5kaWFsb2dPcGVuQ2xhc3MpO1xyXG4gICAgICAgIGFkZENsYXNzKHRoaXMuZGlhbG9nLCB0aGlzLm9wdHMuZGlhbG9nQ2xvc2VDbGFzcyk7XHJcblxyXG4gICAgICAgIHJlbW92ZUNsYXNzKGRvY3VtZW50LmJvZHksIHRoaXMub3B0cy5ib2R5Q2xhc3MpO1xyXG5cclxuICAgICAgICBpZiAodGhpcy5vcHRzLmZvY3VzKSB7XHJcbiAgICAgICAgICAgIHRoaXMuZm9jdXModGhpcy5mb2N1c091dEVsZW1lbnQpO1xyXG4gICAgICAgIH1cclxuXHJcbiAgICAgICAgc2V0VGltZW91dCgoKSA9PiB7XHJcbiAgICAgICAgICAgIHRoaXMub3ZlcmxheS5zdHlsZS5kaXNwbGF5ID0gJ25vbmUnO1xyXG5cclxuICAgICAgICAgICAgaWYgKGlzKHRoaXMub3B0cy5hZnRlckNsb3NlLCAnZnVuY3Rpb24nKSkge1xyXG4gICAgICAgICAgICAgICAgdGhpcy5vcHRzLmFmdGVyQ2xvc2UoKTtcclxuICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICB0aGlzLm9wZW5lZCA9IGZhbHNlO1xyXG4gICAgICAgIH0sIHRoaXMub3B0cy5jbG9zZVRpbWVvdXQpO1xyXG4gICAgfVxyXG5cclxuICAgIGNvbnRlbnQoaHRtbCkge1xyXG4gICAgICAgIGlmIChodG1sID09PSB1bmRlZmluZWQpIHtcclxuICAgICAgICAgICAgcmV0dXJuIHRoaXMuZGlhbG9nLmlubmVySFRNTDtcclxuICAgICAgICB9XHJcblxyXG4gICAgICAgIHRoaXMuZGlhbG9nLmlubmVySFRNTCA9IGh0bWw7XHJcbiAgICB9XHJcblxyXG4gICAgZWxlbWVudHMoc2VsZWN0b3IsIGZhbGxiYWNrKSB7XHJcbiAgICAgICAgZmFsbGJhY2sgPSBmYWxsYmFjayB8fCB3aW5kb3cubmF2aWdhdG9yLmFwcFZlcnNpb24uaW5kZXhPZignTVNJRSA5LjAnKSA+IC0xO1xyXG4gICAgICAgIHNlbGVjdG9yID0gaXMoc2VsZWN0b3IsICdhcnJheScpID8gc2VsZWN0b3Iuam9pbignLCcpIDogc2VsZWN0b3I7XHJcblxyXG4gICAgICAgIHJldHVybiBbXS5maWx0ZXIuY2FsbChcclxuICAgICAgICAgICAgdGhpcy5kaWFsb2cucXVlcnlTZWxlY3RvckFsbChzZWxlY3RvcilcclxuICAgICAgICAgICAgLCAoZWxlbWVudCkgPT4ge1xyXG4gICAgICAgICAgICAgICAgaWYgKGZhbGxiYWNrKSB7XHJcbiAgICAgICAgICAgICAgICAgICAgY29uc3Qgc3R5bGUgPSB3aW5kb3cuZ2V0Q29tcHV0ZWRTdHlsZShlbGVtZW50KTtcclxuICAgICAgICAgICAgICAgICAgICByZXR1cm4gc3R5bGUuZGlzcGxheSAhPT0gJ25vbmUnICYmIHN0eWxlLnZpc2liaWxpdHkgIT09ICdoaWRkZW4nO1xyXG4gICAgICAgICAgICAgICAgfVxyXG5cclxuICAgICAgICAgICAgICAgIHJldHVybiBlbGVtZW50Lm9mZnNldFBhcmVudCAhPT0gbnVsbDtcclxuICAgICAgICAgICAgfVxyXG4gICAgICAgICk7XHJcbiAgICB9XHJcblxyXG4gICAgZm9jdXMoZWwpIHtcclxuICAgICAgICBlbCA9IGVsIHx8IHRoaXMuZWxlbWVudHModGhpcy5vcHRzLmZvY3VzRWxlbWVudHMpWzBdIHx8IHRoaXMuZGlhbG9nLmZpcnN0Q2hpbGQ7XHJcblxyXG4gICAgICAgIGlmIChlbCAmJiBpcyhlbC5mb2N1cywgJ2Z1bmN0aW9uJykpIHtcclxuICAgICAgICAgICAgZWwuZm9jdXMoKTtcclxuICAgICAgICB9XHJcbiAgICB9XHJcblxyXG4gICAga2V5ZG93bihldikge1xyXG4gICAgICAgIGlmICh0aGlzLm9wdHMuZXNjYXBlQ2xvc2UgJiYgZXYud2hpY2ggPT0gMjcpIHtcclxuICAgICAgICAgICAgdGhpcy5jbG9zZSgpO1xyXG4gICAgICAgIH1cclxuXHJcbiAgICAgICAgY29uc3Qgc3RvcEV2ZW50ID0gKCkgPT4ge1xyXG4gICAgICAgICAgICBldi5wcmV2ZW50RGVmYXVsdCgpO1xyXG4gICAgICAgICAgICBldi5zdG9wUHJvcGFnYXRpb24oKTtcclxuICAgICAgICB9XHJcblxyXG4gICAgICAgIGlmICh0aGlzLm9wZW5lZCAmJiBldi53aGljaCA9PSA5ICYmIHRoaXMuZGlhbG9nLmNvbnRhaW5zKGV2LnRhcmdldCkpIHtcclxuICAgICAgICAgICAgY29uc3QgZWxlbWVudHMgPSB0aGlzLmVsZW1lbnRzKHRoaXMub3B0cy5mb2N1c0VsZW1lbnRzKVxyXG4gICAgICAgICAgICAgICAgLCBmaXJzdCA9IGVsZW1lbnRzWzBdXHJcbiAgICAgICAgICAgICAgICAsIGxhc3QgPSBlbGVtZW50c1tlbGVtZW50cy5sZW5ndGggLSAxXTtcclxuXHJcbiAgICAgICAgICAgIGlmIChmaXJzdCA9PSBsYXN0KSB7XHJcbiAgICAgICAgICAgICAgICBzdG9wRXZlbnQoKTtcclxuICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICBlbHNlIGlmIChldi50YXJnZXQgPT0gZmlyc3QgJiYgZXYuc2hpZnRLZXkpIHtcclxuICAgICAgICAgICAgICAgIHN0b3BFdmVudCgpO1xyXG4gICAgICAgICAgICAgICAgbGFzdC5mb2N1cygpO1xyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgICAgIGVsc2UgaWYgKGV2LnRhcmdldCA9PSBsYXN0ICYmICFldi5zaGlmdEtleSkge1xyXG4gICAgICAgICAgICAgICAgc3RvcEV2ZW50KCk7XHJcbiAgICAgICAgICAgICAgICBmaXJzdC5mb2N1cygpO1xyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgfVxyXG4gICAgfVxyXG59XHJcblxyXG5STW9kYWwucHJvdG90eXBlLnZlcnNpb24gPSAnQEBWRVJTSU9OQEAnO1xyXG5STW9kYWwudmVyc2lvbiA9ICdAQFZFUlNJT05AQCc7XHJcblxyXG5leHBvcnQgZGVmYXVsdCBSTW9kYWw7XHJcbiJdLCJuYW1lcyI6WyJjb25zdCIsInRoaXMiXSwibWFwcGluZ3MiOiI7Ozs7OztBQUFBQSxJQUFNLEVBQUUsYUFBSSxHQUFHLEVBQUUsSUFBSSxFQUFFLFNBQUcsTUFBTSxDQUFDLFNBQVMsQ0FBQyxRQUFRLENBQUMsSUFBSSxDQUFDLEdBQUcsQ0FBQyxDQUFDLFdBQVcsRUFBRSxtQkFBZ0IsSUFBSSxVQUFHLENBQUM7O0FBRW5HQSxJQUFNLFFBQVEsYUFBSSxFQUFFLEVBQUUsR0FBRyxFQUFFO0lBQ3ZCQSxJQUFNLEdBQUcsR0FBRyxFQUFFLENBQUMsU0FBUztLQUN2QixLQUFLLENBQUMsS0FBSyxDQUFDO0tBQ1osTUFBTSxXQUFFLENBQUMsRUFBRSxTQUFHLENBQUMsQ0FBQyxDQUFDLElBQUksQ0FBQyxJQUFJLE1BQUcsQ0FBQyxDQUFDOztJQUVoQyxJQUFJLENBQUMsR0FBRyxDQUFDLE1BQU0sRUFBRTtRQUNiLEVBQUUsQ0FBQyxTQUFTLElBQUksTUFBSSxHQUFHLENBQUc7S0FDN0I7Q0FDSixDQUFDOztBQUVGQSxJQUFNLFdBQVcsYUFBSSxFQUFFLEVBQUUsR0FBRyxFQUFFO0lBQzFCLEVBQUUsQ0FBQyxTQUFTLEdBQUcsRUFBRSxDQUFDLFNBQVM7S0FDMUIsS0FBSyxDQUFDLEtBQUssQ0FBQztLQUNaLE1BQU0sV0FBRSxDQUFDLEVBQUUsU0FBRyxDQUFDLENBQUMsQ0FBQyxJQUFJLENBQUMsSUFBSSxNQUFHLENBQUM7S0FDOUIsSUFBSSxDQUFDLEdBQUcsQ0FBQyxDQUFDO0NBQ2QsQ0FBQzs7QUFFRixJQUFNLE1BQU0sR0FDUixlQUFXLENBQUMsRUFBRSxFQUFFLElBQUksRUFBRTs7O0lBQ3RCLElBQVEsQ0FB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"} \ No newline at end of file +{"version":3,"file":"rmodal.js","sources":["rmodal.js"],"sourcesContent":["const is = (obj, type) => Object.prototype.toString.call(obj).toLowerCase() === `[object ${type}]`;\n\nconst addClass = (el, cls) => {\n const arr = el.className\n .split(/\\s+/)\n .filter((c) => !!c && c == cls);\n\n if (!arr.length) {\n el.className += ` ${cls}`;\n }\n};\n\nconst removeClass = (el, cls) => {\n el.className = el.className\n .split(/\\s+/)\n .filter((c) => !!c && c != cls)\n .join(' ');\n};\n\nclass RModal {\n constructor(el, opts) {\n this.opened = false;\n\n this.opts = {\n bodyClass: 'modal-open'\n , dialogClass: 'modal-dialog'\n , dialogOpenClass: 'bounceInDown'\n , dialogCloseClass: 'bounceOutUp'\n\n , focus: true\n , focusElements: [\n 'a[href]', 'area[href]', 'input:not([disabled]):not([type=hidden])'\n , 'button:not([disabled])', 'select:not([disabled])'\n , 'textarea:not([disabled])', 'iframe', 'object', 'embed'\n , '*[tabindex]', '*[contenteditable]'\n ]\n\n , escapeClose: true\n , content: null\n , closeTimeout: 500\n };\n\n Object.keys(opts || {})\n .forEach((key) => {\n /* istanbul ignore else */\n if (opts[key] !== undefined) {\n this.opts[key] = opts[key];\n }\n });\n\n this.overlay = el;\n this.dialog = el.querySelector(`.${this.opts.dialogClass}`);\n\n if (this.opts.content) {\n this.content(this.opts.content);\n }\n }\n\n open(content) {\n this.content(content);\n\n if (!is(this.opts.beforeOpen, 'function')) {\n return this._doOpen();\n }\n\n this.opts.beforeOpen(() => {\n this._doOpen();\n });\n }\n\n _doOpen() {\n addClass(document.body, this.opts.bodyClass);\n\n removeClass(this.dialog, this.opts.dialogCloseClass);\n addClass(this.dialog, this.opts.dialogOpenClass);\n\n this.overlay.style.display = 'block';\n\n if (this.opts.focus) {\n this.focusOutElement = document.activeElement;\n this.focus();\n }\n\n if (is(this.opts.afterOpen, 'function')) {\n this.opts.afterOpen();\n }\n this.opened = true;\n }\n\n close() {\n if (!is(this.opts.beforeClose, 'function')) {\n return this._doClose();\n }\n\n this.opts.beforeClose(() => {\n this._doClose();\n });\n }\n\n _doClose() {\n removeClass(this.dialog, this.opts.dialogOpenClass);\n addClass(this.dialog, this.opts.dialogCloseClass);\n\n removeClass(document.body, this.opts.bodyClass);\n\n if (this.opts.focus) {\n this.focus(this.focusOutElement);\n }\n\n setTimeout(() => {\n this.overlay.style.display = 'none';\n\n if (is(this.opts.afterClose, 'function')) {\n this.opts.afterClose();\n }\n this.opened = false;\n }, this.opts.closeTimeout);\n }\n\n content(html) {\n if (html === undefined) {\n return this.dialog.innerHTML;\n }\n\n this.dialog.innerHTML = html;\n }\n\n elements(selector, fallback) {\n fallback = fallback || window.navigator.appVersion.indexOf('MSIE 9.0') > -1;\n selector = is(selector, 'array') ? selector.join(',') : selector;\n\n return [].filter.call(\n this.dialog.querySelectorAll(selector)\n , (element) => {\n if (fallback) {\n const style = window.getComputedStyle(element);\n return style.display !== 'none' && style.visibility !== 'hidden';\n }\n\n return element.offsetParent !== null;\n }\n );\n }\n\n focus(el) {\n el = el || this.elements(this.opts.focusElements)[0] || this.dialog.firstChild;\n\n if (el && is(el.focus, 'function')) {\n el.focus();\n }\n }\n\n keydown(ev) {\n if (this.opts.escapeClose && ev.which == 27) {\n this.close();\n }\n\n const stopEvent = () => {\n ev.preventDefault();\n ev.stopPropagation();\n }\n\n if (this.opened && ev.which == 9 && this.dialog.contains(ev.target)) {\n const elements = this.elements(this.opts.focusElements)\n , first = elements[0]\n , last = elements[elements.length - 1];\n\n if (first == last) {\n stopEvent();\n }\n else if (ev.target == first && ev.shiftKey) {\n stopEvent();\n last.focus();\n }\n else if (ev.target == last && !ev.shiftKey) {\n stopEvent();\n first.focus();\n }\n }\n }\n}\n\nRModal.prototype.version = '@@VERSION@@';\nRModal.version = '@@VERSION@@';\n\nexport default RModal;\n"],"names":["const","this"],"mappings":"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","preExistingComment":"//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjpudWxsLCJzb3VyY2VzIjpbIi9Vc2Vycy93aXNoL0Rlc2t0b3Avcm1vZGFsLmpzL3NyYy9ybW9kYWwuanMiXSwic291cmNlc0NvbnRlbnQiOlsiY29uc3QgaXMgPSAob2JqLCB0eXBlKSA9PiBPYmplY3QucHJvdG90eXBlLnRvU3RyaW5nLmNhbGwob2JqKS50b0xvd2VyQ2FzZSgpID09PSBgW29iamVjdCAke3R5cGV9XWA7XG5cbmNvbnN0IGFkZENsYXNzID0gKGVsLCBjbHMpID0+IHtcbiAgICBjb25zdCBhcnIgPSBlbC5jbGFzc05hbWVcbiAgICAuc3BsaXQoL1xccysvKVxuICAgIC5maWx0ZXIoKGMpID0+ICEhYyAmJiBjID09IGNscyk7XG5cbiAgICBpZiAoIWFyci5sZW5ndGgpIHtcbiAgICAgICAgZWwuY2xhc3NOYW1lICs9IGAgJHtjbHN9YDtcbiAgICB9XG59O1xuXG5jb25zdCByZW1vdmVDbGFzcyA9IChlbCwgY2xzKSA9PiB7XG4gICAgZWwuY2xhc3NOYW1lID0gZWwuY2xhc3NOYW1lXG4gICAgLnNwbGl0KC9cXHMrLylcbiAgICAuZmlsdGVyKChjKSA9PiAhIWMgJiYgYyAhPSBjbHMpXG4gICAgLmpvaW4oJyAnKTtcbn07XG5cbmNsYXNzIFJNb2RhbCB7XG4gICAgY29uc3RydWN0b3IoZWwsIG9wdHMpIHtcbiAgICAgICAgdGhpcy5vcGVuZWQgPSBmYWxzZTtcblxuICAgICAgICB0aGlzLm9wdHMgPSB7XG4gICAgICAgICAgICBib2R5Q2xhc3M6ICdtb2RhbC1vcGVuJ1xuICAgICAgICAgICAgLCBkaWFsb2dDbGFzczogJ21vZGFsLWRpYWxvZydcbiAgICAgICAgICAgICwgZGlhbG9nT3BlbkNsYXNzOiAnYm91bmNlSW5Eb3duJ1xuICAgICAgICAgICAgLCBkaWFsb2dDbG9zZUNsYXNzOiAnYm91bmNlT3V0VXAnXG5cbiAgICAgICAgICAgICwgZm9jdXM6IHRydWVcbiAgICAgICAgICAgICwgZm9jdXNFbGVtZW50czogW1xuICAgICAgICAgICAgICAgICdhW2hyZWZdJywgJ2FyZWFbaHJlZl0nLCAnaW5wdXQ6bm90KFtkaXNhYmxlZF0pOm5vdChbdHlwZT1oaWRkZW5dKSdcbiAgICAgICAgICAgICAgICAsICdidXR0b246bm90KFtkaXNhYmxlZF0pJywgJ3NlbGVjdDpub3QoW2Rpc2FibGVkXSknXG4gICAgICAgICAgICAgICAgLCAndGV4dGFyZWE6bm90KFtkaXNhYmxlZF0pJywgJ2lmcmFtZScsICdvYmplY3QnLCAnZW1iZWQnXG4gICAgICAgICAgICAgICAgLCAnKlt0YWJpbmRleF0nLCAnKltjb250ZW50ZWRpdGFibGVdJ1xuICAgICAgICAgICAgXVxuXG4gICAgICAgICAgICAsIGVzY2FwZUNsb3NlOiB0cnVlXG4gICAgICAgICAgICAsIGNvbnRlbnQ6IG51bGxcbiAgICAgICAgICAgICwgY2xvc2VUaW1lb3V0OiA1MDBcbiAgICAgICAgfTtcblxuICAgICAgICBPYmplY3Qua2V5cyhvcHRzIHx8IHt9KVxuICAgICAgICAuZm9yRWFjaCgoa2V5KSA9PiB7XG4gICAgICAgICAgICAvKiBpc3RhbmJ1bCBpZ25vcmUgZWxzZSAqL1xuICAgICAgICAgICAgaWYgKG9wdHNba2V5XSAhPT0gdW5kZWZpbmVkKSB7XG4gICAgICAgICAgICAgICAgdGhpcy5vcHRzW2tleV0gPSBvcHRzW2tleV07XG4gICAgICAgICAgICB9XG4gICAgICAgIH0pO1xuXG4gICAgICAgIHRoaXMub3ZlcmxheSA9IGVsO1xuICAgICAgICB0aGlzLmRpYWxvZyA9IGVsLnF1ZXJ5U2VsZWN0b3IoYC4ke3RoaXMub3B0cy5kaWFsb2dDbGFzc31gKTtcblxuICAgICAgICBpZiAodGhpcy5vcHRzLmNvbnRlbnQpIHtcbiAgICAgICAgICAgIHRoaXMuY29udGVudCh0aGlzLm9wdHMuY29udGVudCk7XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICBvcGVuKGNvbnRlbnQpIHtcbiAgICAgICAgdGhpcy5jb250ZW50KGNvbnRlbnQpO1xuXG4gICAgICAgIGlmICghaXModGhpcy5vcHRzLmJlZm9yZU9wZW4sICdmdW5jdGlvbicpKSB7XG4gICAgICAgICAgICByZXR1cm4gdGhpcy5fZG9PcGVuKCk7XG4gICAgICAgIH1cblxuICAgICAgICB0aGlzLm9wdHMuYmVmb3JlT3BlbigoKSA9PiB7XG4gICAgICAgICAgICB0aGlzLl9kb09wZW4oKTtcbiAgICAgICAgfSk7XG4gICAgfVxuXG4gICAgX2RvT3BlbigpIHtcbiAgICAgICAgYWRkQ2xhc3MoZG9jdW1lbnQuYm9keSwgdGhpcy5vcHRzLmJvZHlDbGFzcyk7XG5cbiAgICAgICAgcmVtb3ZlQ2xhc3ModGhpcy5kaWFsb2csIHRoaXMub3B0cy5kaWFsb2dDbG9zZUNsYXNzKTtcbiAgICAgICAgYWRkQ2xhc3ModGhpcy5kaWFsb2csIHRoaXMub3B0cy5kaWFsb2dPcGVuQ2xhc3MpO1xuXG4gICAgICAgIHRoaXMub3ZlcmxheS5zdHlsZS5kaXNwbGF5ID0gJ2Jsb2NrJztcblxuICAgICAgICBpZiAodGhpcy5vcHRzLmZvY3VzKSB7XG4gICAgICAgICAgICB0aGlzLmZvY3VzT3V0RWxlbWVudCA9IGRvY3VtZW50LmFjdGl2ZUVsZW1lbnQ7XG4gICAgICAgICAgICB0aGlzLmZvY3VzKCk7XG4gICAgICAgIH1cblxuICAgICAgICBpZiAoaXModGhpcy5vcHRzLmFmdGVyT3BlbiwgJ2Z1bmN0aW9uJykpIHtcbiAgICAgICAgICAgIHRoaXMub3B0cy5hZnRlck9wZW4oKTtcbiAgICAgICAgfVxuICAgICAgICB0aGlzLm9wZW5lZCA9IHRydWU7XG4gICAgfVxuXG4gICAgY2xvc2UoKSB7XG4gICAgICAgIGlmICghaXModGhpcy5vcHRzLmJlZm9yZUNsb3NlLCAnZnVuY3Rpb24nKSkge1xuICAgICAgICAgICAgcmV0dXJuIHRoaXMuX2RvQ2xvc2UoKTtcbiAgICAgICAgfVxuXG4gICAgICAgIHRoaXMub3B0cy5iZWZvcmVDbG9zZSgoKSA9PiB7XG4gICAgICAgICAgICB0aGlzLl9kb0Nsb3NlKCk7XG4gICAgICAgIH0pO1xuICAgIH1cblxuICAgIF9kb0Nsb3NlKCkge1xuICAgICAgICByZW1vdmVDbGFzcyh0aGlzLmRpYWxvZywgdGhpcy5vcHRzLmRpYWxvZ09wZW5DbGFzcyk7XG4gICAgICAgIGFkZENsYXNzKHRoaXMuZGlhbG9nLCB0aGlzLm9wdHMuZGlhbG9nQ2xvc2VDbGFzcyk7XG5cbiAgICAgICAgcmVtb3ZlQ2xhc3MoZG9jdW1lbnQuYm9keSwgdGhpcy5vcHRzLmJvZHlDbGFzcyk7XG5cbiAgICAgICAgaWYgKHRoaXMub3B0cy5mb2N1cykge1xuICAgICAgICAgICAgdGhpcy5mb2N1cyh0aGlzLmZvY3VzT3V0RWxlbWVudCk7XG4gICAgICAgIH1cblxuICAgICAgICBzZXRUaW1lb3V0KCgpID0+IHtcbiAgICAgICAgICAgIHRoaXMub3ZlcmxheS5zdHlsZS5kaXNwbGF5ID0gJ25vbmUnO1xuXG4gICAgICAgICAgICBpZiAoaXModGhpcy5vcHRzLmFmdGVyQ2xvc2UsICdmdW5jdGlvbicpKSB7XG4gICAgICAgICAgICAgICAgdGhpcy5vcHRzLmFmdGVyQ2xvc2UoKTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgICAgIHRoaXMub3BlbmVkID0gZmFsc2U7XG4gICAgICAgIH0sIHRoaXMub3B0cy5jbG9zZVRpbWVvdXQpO1xuICAgIH1cblxuICAgIGNvbnRlbnQoaHRtbCkge1xuICAgICAgICBpZiAoaHRtbCA9PT0gdW5kZWZpbmVkKSB7XG4gICAgICAgICAgICByZXR1cm4gdGhpcy5kaWFsb2cuaW5uZXJIVE1MO1xuICAgICAgICB9XG5cbiAgICAgICAgdGhpcy5kaWFsb2cuaW5uZXJIVE1MID0gaHRtbDtcbiAgICB9XG5cbiAgICBlbGVtZW50cyhzZWxlY3RvciwgZmFsbGJhY2spIHtcbiAgICAgICAgZmFsbGJhY2sgPSBmYWxsYmFjayB8fCB3aW5kb3cubmF2aWdhdG9yLmFwcFZlcnNpb24uaW5kZXhPZignTVNJRSA5LjAnKSA+IC0xO1xuICAgICAgICBzZWxlY3RvciA9IGlzKHNlbGVjdG9yLCAnYXJyYXknKSA/IHNlbGVjdG9yLmpvaW4oJywnKSA6IHNlbGVjdG9yO1xuXG4gICAgICAgIHJldHVybiBbXS5maWx0ZXIuY2FsbChcbiAgICAgICAgICAgIHRoaXMuZGlhbG9nLnF1ZXJ5U2VsZWN0b3JBbGwoc2VsZWN0b3IpXG4gICAgICAgICAgICAsIChlbGVtZW50KSA9PiB7XG4gICAgICAgICAgICAgICAgaWYgKGZhbGxiYWNrKSB7XG4gICAgICAgICAgICAgICAgICAgIGNvbnN0IHN0eWxlID0gd2luZG93LmdldENvbXB1dGVkU3R5bGUoZWxlbWVudCk7XG4gICAgICAgICAgICAgICAgICAgIHJldHVybiBzdHlsZS5kaXNwbGF5ICE9PSAnbm9uZScgJiYgc3R5bGUudmlzaWJpbGl0eSAhPT0gJ2hpZGRlbic7XG4gICAgICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICAgICAgcmV0dXJuIGVsZW1lbnQub2Zmc2V0UGFyZW50ICE9PSBudWxsO1xuICAgICAgICAgICAgfVxuICAgICAgICApO1xuICAgIH1cblxuICAgIGZvY3VzKGVsKSB7XG4gICAgICAgIGVsID0gZWwgfHwgdGhpcy5lbGVtZW50cyh0aGlzLm9wdHMuZm9jdXNFbGVtZW50cylbMF0gfHwgdGhpcy5kaWFsb2cuZmlyc3RDaGlsZDtcblxuICAgICAgICBpZiAoZWwgJiYgaXMoZWwuZm9jdXMsICdmdW5jdGlvbicpKSB7XG4gICAgICAgICAgICBlbC5mb2N1cygpO1xuICAgICAgICB9XG4gICAgfVxuXG4gICAga2V5ZG93bihldikge1xuICAgICAgICBpZiAodGhpcy5vcHRzLmVzY2FwZUNsb3NlICYmIGV2LndoaWNoID09IDI3KSB7XG4gICAgICAgICAgICB0aGlzLmNsb3NlKCk7XG4gICAgICAgIH1cblxuICAgICAgICBjb25zdCBzdG9wRXZlbnQgPSAoKSA9PiB7XG4gICAgICAgICAgICBldi5wcmV2ZW50RGVmYXVsdCgpO1xuICAgICAgICAgICAgZXYuc3RvcFByb3BhZ2F0aW9uKCk7XG4gICAgICAgIH1cblxuICAgICAgICBpZiAodGhpcy5vcGVuZWQgJiYgZXYud2hpY2ggPT0gOSAmJiB0aGlzLmRpYWxvZy5jb250YWlucyhldi50YXJnZXQpKSB7XG4gICAgICAgICAgICBjb25zdCBlbGVtZW50cyA9IHRoaXMuZWxlbWVudHModGhpcy5vcHRzLmZvY3VzRWxlbWVudHMpXG4gICAgICAgICAgICAgICAgLCBmaXJzdCA9IGVsZW1lbnRzWzBdXG4gICAgICAgICAgICAgICAgLCBsYXN0ID0gZWxlbWVudHNbZWxlbWVudHMubGVuZ3RoIC0gMV07XG5cbiAgICAgICAgICAgIGlmIChmaXJzdCA9PSBsYXN0KSB7XG4gICAgICAgICAgICAgICAgc3RvcEV2ZW50KCk7XG4gICAgICAgICAgICB9XG4gICAgICAgICAgICBlbHNlIGlmIChldi50YXJnZXQgPT0gZmlyc3QgJiYgZXYuc2hpZnRLZXkpIHtcbiAgICAgICAgICAgICAgICBzdG9wRXZlbnQoKTtcbiAgICAgICAgICAgICAgICBsYXN0LmZvY3VzKCk7XG4gICAgICAgICAgICB9XG4gICAgICAgICAgICBlbHNlIGlmIChldi50YXJnZXQgPT0gbGFzdCAmJiAhZXYuc2hpZnRLZXkpIHtcbiAgICAgICAgICAgICAgICBzdG9wRXZlbnQoKTtcbiAgICAgICAgICAgICAgICBmaXJzdC5mb2N1cygpO1xuICAgICAgICAgICAgfVxuICAgICAgICB9XG4gICAgfVxufVxuXG5STW9kYWwucHJvdG90eXBlLnZlcnNpb24gPSAnQEBWRVJTSU9OQEAnO1xuUk1vZGFsLnZlcnNpb24gPSAnQEBWRVJTSU9OQEAnO1xuXG5leHBvcnQgZGVmYXVsdCBSTW9kYWw7XG4iXSwibmFtZXMiOlsiY29uc3QiLCJ0aGlzIl0sIm1hcHBpbmdzIjoiOzs7Ozs7QUFBQUEsSUFBTSxFQUFFLGFBQUksR0FBRyxFQUFFLElBQUksRUFBRSxTQUFHLE1BQU0sQ0FBQyxTQUFTLENBQUMsUUFBUSxDQUFDLElBQUksQ0FBQyxHQUFHLENBQUMsQ0FBQyxXQUFXLEVBQUUsbUJBQWdCLElBQUksVUFBRyxDQUFDOztBQUVuR0EsSUFBTSxRQUFRLGFBQUksRUFBRSxFQUFFLEdB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"} \ No newline at end of file diff --git a/dist/rmodal.min.js b/dist/rmodal.min.js index c4623a1..dcf8a97 100644 --- a/dist/rmodal.min.js +++ b/dist/rmodal.min.js @@ -1,2 +1,2 @@ -!function(t,o){"object"==typeof exports&&"undefined"!=typeof module?module.exports=o():"function"==typeof define&&define.amd?define(o):t.RModal=o()}(this,function(){"use strict";var s=function(t,o){return Object.prototype.toString.call(t).toLowerCase()==="[object "+o+"]"},o=function(t,o){t.className.split(/\s+/).filter(function(t){return!!t&&t==o}).length||(t.className+=" "+o)},e=function(t,o){t.className=t.className.split(/\s+/).filter(function(t){return!!t&&t!=o}).join(" ")},t=function(t,o){var e=this;this.opened=!1,this.opts={bodyClass:"modal-open",dialogClass:"modal-dialog",dialogOpenClass:"bounceInDown",dialogCloseClass:"bounceOutUp",focus:!0,focusElements:["a[href]","area[href]","input:not([disabled]):not([type=hidden])","button:not([disabled])","select:not([disabled])","textarea:not([disabled])","iframe","object","embed","*[tabindex]","*[contenteditable]"],escapeClose:!0,content:null,closeTimeout:500},Object.keys(o||{}).forEach(function(t){void 0!==o[t]&&(e.opts[t]=o[t])}),this.overlay=t,this.dialog=t.querySelector("."+this.opts.dialogClass),this.opts.content&&this.content(this.opts.content)};return t.prototype.open=function(t){var o=this;if(this.content(t),!s(this.opts.beforeOpen,"function"))return this._doOpen();this.opts.beforeOpen(function(){o._doOpen()})},t.prototype._doOpen=function(){o(document.body,this.opts.bodyClass),e(this.dialog,this.opts.dialogCloseClass),o(this.dialog,this.opts.dialogOpenClass),this.overlay.style.display="block",this.opts.focus&&(this.focusOutElement=document.activeElement,this.focus()),s(this.opts.afterOpen,"function")&&this.opts.afterOpen(),this.opened=!0},t.prototype.close=function(){var t=this;if(!s(this.opts.beforeClose,"function"))return this._doClose();this.opts.beforeClose(function(){t._doClose()})},t.prototype._doClose=function(){var t=this;e(this.dialog,this.opts.dialogOpenClass),o(this.dialog,this.opts.dialogCloseClass),e(document.body,this.opts.bodyClass),this.opts.focus&&this.focus(this.focusOutElement),setTimeout(function(){t.overlay.style.display="none",s(t.opts.afterClose,"function")&&t.opts.afterClose(),t.opened=!1},this.opts.closeTimeout)},t.prototype.content=function(t){if(void 0===t)return this.dialog.innerHTML;this.dialog.innerHTML=t},t.prototype.elements=function(t,e){return e=e||-1 Object.prototype.toString.call(obj).toLowerCase() === `[object ${type}]`;\r\n\r\nconst addClass = (el, cls) => {\r\n const arr = el.className\r\n .split(/\\s+/)\r\n .filter((c) => !!c && c == cls);\r\n\r\n if (!arr.length) {\r\n el.className += ` ${cls}`;\r\n }\r\n};\r\n\r\nconst removeClass = (el, cls) => {\r\n el.className = el.className\r\n .split(/\\s+/)\r\n .filter((c) => !!c && c != cls)\r\n .join(' ');\r\n};\r\n\r\nclass RModal {\r\n constructor(el, opts) {\r\n this.opened = false;\r\n\r\n this.opts = {\r\n bodyClass: 'modal-open'\r\n , dialogClass: 'modal-dialog'\r\n , dialogOpenClass: 'bounceInDown'\r\n , dialogCloseClass: 'bounceOutUp'\r\n\r\n , focus: true\r\n , focusElements: [\r\n 'a[href]', 'area[href]', 'input:not([disabled]):not([type=hidden])'\r\n , 'button:not([disabled])', 'select:not([disabled])'\r\n , 'textarea:not([disabled])', 'iframe', 'object', 'embed'\r\n , '*[tabindex]', '*[contenteditable]'\r\n ]\r\n\r\n , escapeClose: true\r\n , content: null\r\n , closeTimeout: 500\r\n };\r\n\r\n Object.keys(opts || {})\r\n .forEach((key) => {\r\n /* istanbul ignore else */\r\n if (opts[key] !== undefined) {\r\n this.opts[key] = opts[key];\r\n }\r\n });\r\n\r\n this.overlay = el;\r\n this.dialog = el.querySelector(`.${this.opts.dialogClass}`);\r\n\r\n if (this.opts.content) {\r\n this.content(this.opts.content);\r\n }\r\n }\r\n\r\n open(content) {\r\n this.content(content);\r\n\r\n if (!is(this.opts.beforeOpen, 'function')) {\r\n return this._doOpen();\r\n }\r\n\r\n this.opts.beforeOpen(() => {\r\n this._doOpen();\r\n });\r\n }\r\n\r\n _doOpen() {\r\n addClass(document.body, this.opts.bodyClass);\r\n\r\n removeClass(this.dialog, this.opts.dialogCloseClass);\r\n addClass(this.dialog, this.opts.dialogOpenClass);\r\n\r\n this.overlay.style.display = 'block';\r\n\r\n if (this.opts.focus) {\r\n this.focusOutElement = document.activeElement;\r\n this.focus();\r\n }\r\n\r\n if (is(this.opts.afterOpen, 'function')) {\r\n this.opts.afterOpen();\r\n }\r\n this.opened = true;\r\n }\r\n\r\n close() {\r\n if (!is(this.opts.beforeClose, 'function')) {\r\n return this._doClose();\r\n }\r\n\r\n this.opts.beforeClose(() => {\r\n this._doClose();\r\n });\r\n }\r\n\r\n _doClose() {\r\n removeClass(this.dialog, this.opts.dialogOpenClass);\r\n addClass(this.dialog, this.opts.dialogCloseClass);\r\n\r\n removeClass(document.body, this.opts.bodyClass);\r\n\r\n if (this.opts.focus) {\r\n this.focus(this.focusOutElement);\r\n }\r\n\r\n setTimeout(() => {\r\n this.overlay.style.display = 'none';\r\n\r\n if (is(this.opts.afterClose, 'function')) {\r\n this.opts.afterClose();\r\n }\r\n this.opened = false;\r\n }, this.opts.closeTimeout);\r\n }\r\n\r\n content(html) {\r\n if (html === undefined) {\r\n return this.dialog.innerHTML;\r\n }\r\n\r\n this.dialog.innerHTML = html;\r\n }\r\n\r\n elements(selector, fallback) {\r\n fallback = fallback || window.navigator.appVersion.indexOf('MSIE 9.0') > -1;\r\n selector = is(selector, 'array') ? selector.join(',') : selector;\r\n\r\n return [].filter.call(\r\n this.dialog.querySelectorAll(selector)\r\n , (element) => {\r\n if (fallback) {\r\n const style = window.getComputedStyle(element);\r\n return style.display !== 'none' && style.visibility !== 'hidden';\r\n }\r\n\r\n return element.offsetParent !== null;\r\n }\r\n );\r\n }\r\n\r\n focus(el) {\r\n el = el || this.elements(this.opts.focusElements)[0] || this.dialog.firstChild;\r\n\r\n if (el && is(el.focus, 'function')) {\r\n el.focus();\r\n }\r\n }\r\n\r\n keydown(ev) {\r\n if (this.opts.escapeClose && ev.which == 27) {\r\n this.close();\r\n }\r\n\r\n const stopEvent = () => {\r\n ev.preventDefault();\r\n ev.stopPropagation();\r\n }\r\n\r\n if (this.opened && ev.which == 9 && this.dialog.contains(ev.target)) {\r\n const elements = this.elements(this.opts.focusElements)\r\n , first = elements[0]\r\n , last = elements[elements.length - 1];\r\n\r\n if (first == last) {\r\n stopEvent();\r\n }\r\n else if (ev.target == first && ev.shiftKey) {\r\n stopEvent();\r\n last.focus();\r\n }\r\n else if (ev.target == last && !ev.shiftKey) {\r\n stopEvent();\r\n first.focus();\r\n }\r\n }\r\n }\r\n}\r\n\r\nRModal.prototype.version = '@@VERSION@@';\r\nRModal.version = '@@VERSION@@';\r\n\r\nexport default RModal;\r\n"]} \ No newline at end of file +{"version":3,"sources":["rmodal.js"],"names":["const","is","obj","type","Object","prototype","toString","call","toLowerCase","addClass","el","cls","className","split","filter","c","length","removeClass","join","RModal","opts","this","opened","bodyClass","dialogClass","dialogOpenClass","dialogCloseClass","focus","focusElements","escapeClose","content","closeTimeout","keys","forEach","key","undefined","this$1","overlay","dialog","querySelector","open","beforeOpen","_doOpen","document","body","style","display","focusOutElement","activeElement","afterOpen","close","beforeClose","_doClose","setTimeout","afterClose","html","innerHTML","elements","selector","fallback","window","navigator","appVersion","indexOf","querySelectorAll","element","getComputedStyle","visibility","offsetParent","firstChild","keydown","ev","which","stopEvent","preventDefault","stopPropagation","contains","target","first","last","shiftKey","version"],"mappings":"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","file":"rmodal.min.js","sourcesContent":["const is = (obj, type) => Object.prototype.toString.call(obj).toLowerCase() === `[object ${type}]`;\n\nconst addClass = (el, cls) => {\n const arr = el.className\n .split(/\\s+/)\n .filter((c) => !!c && c == cls);\n\n if (!arr.length) {\n el.className += ` ${cls}`;\n }\n};\n\nconst removeClass = (el, cls) => {\n el.className = el.className\n .split(/\\s+/)\n .filter((c) => !!c && c != cls)\n .join(' ');\n};\n\nclass RModal {\n constructor(el, opts) {\n this.opened = false;\n\n this.opts = {\n bodyClass: 'modal-open'\n , dialogClass: 'modal-dialog'\n , dialogOpenClass: 'bounceInDown'\n , dialogCloseClass: 'bounceOutUp'\n\n , focus: true\n , focusElements: [\n 'a[href]', 'area[href]', 'input:not([disabled]):not([type=hidden])'\n , 'button:not([disabled])', 'select:not([disabled])'\n , 'textarea:not([disabled])', 'iframe', 'object', 'embed'\n , '*[tabindex]', '*[contenteditable]'\n ]\n\n , escapeClose: true\n , content: null\n , closeTimeout: 500\n };\n\n Object.keys(opts || {})\n .forEach((key) => {\n /* istanbul ignore else */\n if (opts[key] !== undefined) {\n this.opts[key] = opts[key];\n }\n });\n\n this.overlay = el;\n this.dialog = el.querySelector(`.${this.opts.dialogClass}`);\n\n if (this.opts.content) {\n this.content(this.opts.content);\n }\n }\n\n open(content) {\n this.content(content);\n\n if (!is(this.opts.beforeOpen, 'function')) {\n return this._doOpen();\n }\n\n this.opts.beforeOpen(() => {\n this._doOpen();\n });\n }\n\n _doOpen() {\n addClass(document.body, this.opts.bodyClass);\n\n removeClass(this.dialog, this.opts.dialogCloseClass);\n addClass(this.dialog, this.opts.dialogOpenClass);\n\n this.overlay.style.display = 'block';\n\n if (this.opts.focus) {\n this.focusOutElement = document.activeElement;\n this.focus();\n }\n\n if (is(this.opts.afterOpen, 'function')) {\n this.opts.afterOpen();\n }\n this.opened = true;\n }\n\n close() {\n if (!is(this.opts.beforeClose, 'function')) {\n return this._doClose();\n }\n\n this.opts.beforeClose(() => {\n this._doClose();\n });\n }\n\n _doClose() {\n removeClass(this.dialog, this.opts.dialogOpenClass);\n addClass(this.dialog, this.opts.dialogCloseClass);\n\n removeClass(document.body, this.opts.bodyClass);\n\n if (this.opts.focus) {\n this.focus(this.focusOutElement);\n }\n\n setTimeout(() => {\n this.overlay.style.display = 'none';\n\n if (is(this.opts.afterClose, 'function')) {\n this.opts.afterClose();\n }\n this.opened = false;\n }, this.opts.closeTimeout);\n }\n\n content(html) {\n if (html === undefined) {\n return this.dialog.innerHTML;\n }\n\n this.dialog.innerHTML = html;\n }\n\n elements(selector, fallback) {\n fallback = fallback || window.navigator.appVersion.indexOf('MSIE 9.0') > -1;\n selector = is(selector, 'array') ? selector.join(',') : selector;\n\n return [].filter.call(\n this.dialog.querySelectorAll(selector)\n , (element) => {\n if (fallback) {\n const style = window.getComputedStyle(element);\n return style.display !== 'none' && style.visibility !== 'hidden';\n }\n\n return element.offsetParent !== null;\n }\n );\n }\n\n focus(el) {\n el = el || this.elements(this.opts.focusElements)[0] || this.dialog.firstChild;\n\n if (el && is(el.focus, 'function')) {\n el.focus();\n }\n }\n\n keydown(ev) {\n if (this.opts.escapeClose && ev.which == 27) {\n this.close();\n }\n\n const stopEvent = () => {\n ev.preventDefault();\n ev.stopPropagation();\n }\n\n if (this.opened && ev.which == 9 && this.dialog.contains(ev.target)) {\n const elements = this.elements(this.opts.focusElements)\n , first = elements[0]\n , last = elements[elements.length - 1];\n\n if (first == last) {\n stopEvent();\n }\n else if (ev.target == first && ev.shiftKey) {\n stopEvent();\n last.focus();\n }\n else if (ev.target == last && !ev.shiftKey) {\n stopEvent();\n first.focus();\n }\n }\n }\n}\n\nRModal.prototype.version = '@@VERSION@@';\nRModal.version = '@@VERSION@@';\n\nexport default RModal;\n"]} \ No newline at end of file diff --git a/index.es.js b/index.es.js index 8ec060a..3e661aa 100644 --- a/index.es.js +++ b/index.es.js @@ -186,8 +186,8 @@ RModal.prototype.keydown = function keydown (ev) { } }; -RModal.prototype.version = '1.0.34'; -RModal.version = '1.0.34'; +RModal.prototype.version = '1.0.35'; +RModal.version = '1.0.35'; export default RModal; //# sourceMappingURL=index.es.js.map diff --git a/index.es.js.map b/index.es.js.map index 2699b37..00d0f7c 100644 --- a/index.es.js.map +++ b/index.es.js.map @@ -1 +1 @@ -{"version":3,"file":"index.es.js","sources":["rmodal.js"],"sourcesContent":["const is = (obj, type) => Object.prototype.toString.call(obj).toLowerCase() === `[object ${type}]`;\r\n\r\nconst addClass = (el, cls) => {\r\n const arr = el.className\r\n .split(/\\s+/)\r\n .filter((c) => !!c && c == cls);\r\n\r\n if (!arr.length) {\r\n el.className += ` ${cls}`;\r\n }\r\n};\r\n\r\nconst removeClass = (el, cls) => {\r\n el.className = el.className\r\n .split(/\\s+/)\r\n .filter((c) => !!c && c != cls)\r\n .join(' ');\r\n};\r\n\r\nclass RModal {\r\n constructor(el, opts) {\r\n this.opened = false;\r\n\r\n this.opts = {\r\n bodyClass: 'modal-open'\r\n , dialogClass: 'modal-dialog'\r\n , dialogOpenClass: 'bounceInDown'\r\n , dialogCloseClass: 'bounceOutUp'\r\n\r\n , focus: true\r\n , focusElements: [\r\n 'a[href]', 'area[href]', 'input:not([disabled]):not([type=hidden])'\r\n , 'button:not([disabled])', 'select:not([disabled])'\r\n , 'textarea:not([disabled])', 'iframe', 'object', 'embed'\r\n , '*[tabindex]', '*[contenteditable]'\r\n ]\r\n\r\n , escapeClose: true\r\n , content: null\r\n , closeTimeout: 500\r\n };\r\n\r\n Object.keys(opts || {})\r\n .forEach((key) => {\r\n /* istanbul ignore else */\r\n if (opts[key] !== undefined) {\r\n this.opts[key] = opts[key];\r\n }\r\n });\r\n\r\n this.overlay = el;\r\n this.dialog = el.querySelector(`.${this.opts.dialogClass}`);\r\n\r\n if (this.opts.content) {\r\n this.content(this.opts.content);\r\n }\r\n }\r\n\r\n open(content) {\r\n this.content(content);\r\n\r\n if (!is(this.opts.beforeOpen, 'function')) {\r\n return this._doOpen();\r\n }\r\n\r\n this.opts.beforeOpen(() => {\r\n this._doOpen();\r\n });\r\n }\r\n\r\n _doOpen() {\r\n addClass(document.body, this.opts.bodyClass);\r\n\r\n removeClass(this.dialog, this.opts.dialogCloseClass);\r\n addClass(this.dialog, this.opts.dialogOpenClass);\r\n\r\n this.overlay.style.display = 'block';\r\n\r\n if (this.opts.focus) {\r\n this.focusOutElement = document.activeElement;\r\n this.focus();\r\n }\r\n\r\n if (is(this.opts.afterOpen, 'function')) {\r\n this.opts.afterOpen();\r\n }\r\n this.opened = true;\r\n }\r\n\r\n close() {\r\n if (!is(this.opts.beforeClose, 'function')) {\r\n return this._doClose();\r\n }\r\n\r\n this.opts.beforeClose(() => {\r\n this._doClose();\r\n });\r\n }\r\n\r\n _doClose() {\r\n removeClass(this.dialog, this.opts.dialogOpenClass);\r\n addClass(this.dialog, this.opts.dialogCloseClass);\r\n\r\n removeClass(document.body, this.opts.bodyClass);\r\n\r\n if (this.opts.focus) {\r\n this.focus(this.focusOutElement);\r\n }\r\n\r\n setTimeout(() => {\r\n this.overlay.style.display = 'none';\r\n\r\n if (is(this.opts.afterClose, 'function')) {\r\n this.opts.afterClose();\r\n }\r\n this.opened = false;\r\n }, this.opts.closeTimeout);\r\n }\r\n\r\n content(html) {\r\n if (html === undefined) {\r\n return this.dialog.innerHTML;\r\n }\r\n\r\n this.dialog.innerHTML = html;\r\n }\r\n\r\n elements(selector, fallback) {\r\n fallback = fallback || window.navigator.appVersion.indexOf('MSIE 9.0') > -1;\r\n selector = is(selector, 'array') ? selector.join(',') : selector;\r\n\r\n return [].filter.call(\r\n this.dialog.querySelectorAll(selector)\r\n , (element) => {\r\n if (fallback) {\r\n const style = window.getComputedStyle(element);\r\n return style.display !== 'none' && style.visibility !== 'hidden';\r\n }\r\n\r\n return element.offsetParent !== null;\r\n }\r\n );\r\n }\r\n\r\n focus(el) {\r\n el = el || this.elements(this.opts.focusElements)[0] || this.dialog.firstChild;\r\n\r\n if (el && is(el.focus, 'function')) {\r\n el.focus();\r\n }\r\n }\r\n\r\n keydown(ev) {\r\n if (this.opts.escapeClose && ev.which == 27) {\r\n this.close();\r\n }\r\n\r\n const stopEvent = () => {\r\n ev.preventDefault();\r\n ev.stopPropagation();\r\n }\r\n\r\n if (this.opened && ev.which == 9 && this.dialog.contains(ev.target)) {\r\n const elements = this.elements(this.opts.focusElements)\r\n , first = elements[0]\r\n , last = elements[elements.length - 1];\r\n\r\n if (first == last) {\r\n stopEvent();\r\n }\r\n else if (ev.target == first && ev.shiftKey) {\r\n stopEvent();\r\n last.focus();\r\n }\r\n else if (ev.target == last && !ev.shiftKey) {\r\n stopEvent();\r\n first.focus();\r\n }\r\n }\r\n }\r\n}\r\n\r\nRModal.prototype.version = '@@VERSION@@';\r\nRModal.version = '@@VERSION@@';\r\n\r\nexport default RModal;\r\n"],"names":["const","this"],"mappings":"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","preExistingComment":"//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjpudWxsLCJzb3VyY2VzIjpbIkQ6L1N0b3JhZ2UvTmV3IGZvbGRlci9ybW9kYWwuanMvc3JjL3Jtb2RhbC5qcyJdLCJzb3VyY2VzQ29udGVudCI6WyJjb25zdCBpcyA9IChvYmosIHR5cGUpID0+IE9iamVjdC5wcm90b3R5cGUudG9TdHJpbmcuY2FsbChvYmopLnRvTG93ZXJDYXNlKCkgPT09IGBbb2JqZWN0ICR7dHlwZX1dYDtcclxuXHJcbmNvbnN0IGFkZENsYXNzID0gKGVsLCBjbHMpID0+IHtcclxuICAgIGNvbnN0IGFyciA9IGVsLmNsYXNzTmFtZVxyXG4gICAgLnNwbGl0KC9cXHMrLylcclxuICAgIC5maWx0ZXIoKGMpID0+ICEhYyAmJiBjID09IGNscyk7XHJcblxyXG4gICAgaWYgKCFhcnIubGVuZ3RoKSB7XHJcbiAgICAgICAgZWwuY2xhc3NOYW1lICs9IGAgJHtjbHN9YDtcclxuICAgIH1cclxufTtcclxuXHJcbmNvbnN0IHJlbW92ZUNsYXNzID0gKGVsLCBjbHMpID0+IHtcclxuICAgIGVsLmNsYXNzTmFtZSA9IGVsLmNsYXNzTmFtZVxyXG4gICAgLnNwbGl0KC9cXHMrLylcclxuICAgIC5maWx0ZXIoKGMpID0+ICEhYyAmJiBjICE9IGNscylcclxuICAgIC5qb2luKCcgJyk7XHJcbn07XHJcblxyXG5jbGFzcyBSTW9kYWwge1xyXG4gICAgY29uc3RydWN0b3IoZWwsIG9wdHMpIHtcclxuICAgICAgICB0aGlzLm9wZW5lZCA9IGZhbHNlO1xyXG5cclxuICAgICAgICB0aGlzLm9wdHMgPSB7XHJcbiAgICAgICAgICAgIGJvZHlDbGFzczogJ21vZGFsLW9wZW4nXHJcbiAgICAgICAgICAgICwgZGlhbG9nQ2xhc3M6ICdtb2RhbC1kaWFsb2cnXHJcbiAgICAgICAgICAgICwgZGlhbG9nT3BlbkNsYXNzOiAnYm91bmNlSW5Eb3duJ1xyXG4gICAgICAgICAgICAsIGRpYWxvZ0Nsb3NlQ2xhc3M6ICdib3VuY2VPdXRVcCdcclxuXHJcbiAgICAgICAgICAgICwgZm9jdXM6IHRydWVcclxuICAgICAgICAgICAgLCBmb2N1c0VsZW1lbnRzOiBbXHJcbiAgICAgICAgICAgICAgICAnYVtocmVmXScsICdhcmVhW2hyZWZdJywgJ2lucHV0Om5vdChbZGlzYWJsZWRdKTpub3QoW3R5cGU9aGlkZGVuXSknXHJcbiAgICAgICAgICAgICAgICAsICdidXR0b246bm90KFtkaXNhYmxlZF0pJywgJ3NlbGVjdDpub3QoW2Rpc2FibGVkXSknXHJcbiAgICAgICAgICAgICAgICAsICd0ZXh0YXJlYTpub3QoW2Rpc2FibGVkXSknLCAnaWZyYW1lJywgJ29iamVjdCcsICdlbWJlZCdcclxuICAgICAgICAgICAgICAgICwgJypbdGFiaW5kZXhdJywgJypbY29udGVudGVkaXRhYmxlXSdcclxuICAgICAgICAgICAgXVxyXG5cclxuICAgICAgICAgICAgLCBlc2NhcGVDbG9zZTogdHJ1ZVxyXG4gICAgICAgICAgICAsIGNvbnRlbnQ6IG51bGxcclxuICAgICAgICAgICAgLCBjbG9zZVRpbWVvdXQ6IDUwMFxyXG4gICAgICAgIH07XHJcblxyXG4gICAgICAgIE9iamVjdC5rZXlzKG9wdHMgfHwge30pXHJcbiAgICAgICAgLmZvckVhY2goKGtleSkgPT4ge1xyXG4gICAgICAgICAgICAvKiBpc3RhbmJ1bCBpZ25vcmUgZWxzZSAqL1xyXG4gICAgICAgICAgICBpZiAob3B0c1trZXldICE9PSB1bmRlZmluZWQpIHtcclxuICAgICAgICAgICAgICAgIHRoaXMub3B0c1trZXldID0gb3B0c1trZXldO1xyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgfSk7XHJcblxyXG4gICAgICAgIHRoaXMub3ZlcmxheSA9IGVsO1xyXG4gICAgICAgIHRoaXMuZGlhbG9nID0gZWwucXVlcnlTZWxlY3RvcihgLiR7dGhpcy5vcHRzLmRpYWxvZ0NsYXNzfWApO1xyXG5cclxuICAgICAgICBpZiAodGhpcy5vcHRzLmNvbnRlbnQpIHtcclxuICAgICAgICAgICAgdGhpcy5jb250ZW50KHRoaXMub3B0cy5jb250ZW50KTtcclxuICAgICAgICB9XHJcbiAgICB9XHJcblxyXG4gICAgb3Blbihjb250ZW50KSB7XHJcbiAgICAgICAgdGhpcy5jb250ZW50KGNvbnRlbnQpO1xyXG5cclxuICAgICAgICBpZiAoIWlzKHRoaXMub3B0cy5iZWZvcmVPcGVuLCAnZnVuY3Rpb24nKSkge1xyXG4gICAgICAgICAgICByZXR1cm4gdGhpcy5fZG9PcGVuKCk7XHJcbiAgICAgICAgfVxyXG5cclxuICAgICAgICB0aGlzLm9wdHMuYmVmb3JlT3BlbigoKSA9PiB7XHJcbiAgICAgICAgICAgIHRoaXMuX2RvT3BlbigpO1xyXG4gICAgICAgIH0pO1xyXG4gICAgfVxyXG5cclxuICAgIF9kb09wZW4oKSB7XHJcbiAgICAgICAgYWRkQ2xhc3MoZG9jdW1lbnQuYm9keSwgdGhpcy5vcHRzLmJvZHlDbGFzcyk7XHJcblxyXG4gICAgICAgIHJlbW92ZUNsYXNzKHRoaXMuZGlhbG9nLCB0aGlzLm9wdHMuZGlhbG9nQ2xvc2VDbGFzcyk7XHJcbiAgICAgICAgYWRkQ2xhc3ModGhpcy5kaWFsb2csIHRoaXMub3B0cy5kaWFsb2dPcGVuQ2xhc3MpO1xyXG5cclxuICAgICAgICB0aGlzLm92ZXJsYXkuc3R5bGUuZGlzcGxheSA9ICdibG9jayc7XHJcblxyXG4gICAgICAgIGlmICh0aGlzLm9wdHMuZm9jdXMpIHtcclxuICAgICAgICAgICAgdGhpcy5mb2N1c091dEVsZW1lbnQgPSBkb2N1bWVudC5hY3RpdmVFbGVtZW50O1xyXG4gICAgICAgICAgICB0aGlzLmZvY3VzKCk7XHJcbiAgICAgICAgfVxyXG5cclxuICAgICAgICBpZiAoaXModGhpcy5vcHRzLmFmdGVyT3BlbiwgJ2Z1bmN0aW9uJykpIHtcclxuICAgICAgICAgICAgdGhpcy5vcHRzLmFmdGVyT3BlbigpO1xyXG4gICAgICAgIH1cclxuICAgICAgICB0aGlzLm9wZW5lZCA9IHRydWU7XHJcbiAgICB9XHJcblxyXG4gICAgY2xvc2UoKSB7XHJcbiAgICAgICAgaWYgKCFpcyh0aGlzLm9wdHMuYmVmb3JlQ2xvc2UsICdmdW5jdGlvbicpKSB7XHJcbiAgICAgICAgICAgIHJldHVybiB0aGlzLl9kb0Nsb3NlKCk7XHJcbiAgICAgICAgfVxyXG5cclxuICAgICAgICB0aGlzLm9wdHMuYmVmb3JlQ2xvc2UoKCkgPT4ge1xyXG4gICAgICAgICAgICB0aGlzLl9kb0Nsb3NlKCk7XHJcbiAgICAgICAgfSk7XHJcbiAgICB9XHJcblxyXG4gICAgX2RvQ2xvc2UoKSB7XHJcbiAgICAgICAgcmVtb3ZlQ2xhc3ModGhpcy5kaWFsb2csIHRoaXMub3B0cy5kaWFsb2dPcGVuQ2xhc3MpO1xyXG4gICAgICAgIGFkZENsYXNzKHRoaXMuZGlhbG9nLCB0aGlzLm9wdHMuZGlhbG9nQ2xvc2VDbGFzcyk7XHJcblxyXG4gICAgICAgIHJlbW92ZUNsYXNzKGRvY3VtZW50LmJvZHksIHRoaXMub3B0cy5ib2R5Q2xhc3MpO1xyXG5cclxuICAgICAgICBpZiAodGhpcy5vcHRzLmZvY3VzKSB7XHJcbiAgICAgICAgICAgIHRoaXMuZm9jdXModGhpcy5mb2N1c091dEVsZW1lbnQpO1xyXG4gICAgICAgIH1cclxuXHJcbiAgICAgICAgc2V0VGltZW91dCgoKSA9PiB7XHJcbiAgICAgICAgICAgIHRoaXMub3ZlcmxheS5zdHlsZS5kaXNwbGF5ID0gJ25vbmUnO1xyXG5cclxuICAgICAgICAgICAgaWYgKGlzKHRoaXMub3B0cy5hZnRlckNsb3NlLCAnZnVuY3Rpb24nKSkge1xyXG4gICAgICAgICAgICAgICAgdGhpcy5vcHRzLmFmdGVyQ2xvc2UoKTtcclxuICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICB0aGlzLm9wZW5lZCA9IGZhbHNlO1xyXG4gICAgICAgIH0sIHRoaXMub3B0cy5jbG9zZVRpbWVvdXQpO1xyXG4gICAgfVxyXG5cclxuICAgIGNvbnRlbnQoaHRtbCkge1xyXG4gICAgICAgIGlmIChodG1sID09PSB1bmRlZmluZWQpIHtcclxuICAgICAgICAgICAgcmV0dXJuIHRoaXMuZGlhbG9nLmlubmVySFRNTDtcclxuICAgICAgICB9XHJcblxyXG4gICAgICAgIHRoaXMuZGlhbG9nLmlubmVySFRNTCA9IGh0bWw7XHJcbiAgICB9XHJcblxyXG4gICAgZWxlbWVudHMoc2VsZWN0b3IsIGZhbGxiYWNrKSB7XHJcbiAgICAgICAgZmFsbGJhY2sgPSBmYWxsYmFjayB8fCB3aW5kb3cubmF2aWdhdG9yLmFwcFZlcnNpb24uaW5kZXhPZignTVNJRSA5LjAnKSA+IC0xO1xyXG4gICAgICAgIHNlbGVjdG9yID0gaXMoc2VsZWN0b3IsICdhcnJheScpID8gc2VsZWN0b3Iuam9pbignLCcpIDogc2VsZWN0b3I7XHJcblxyXG4gICAgICAgIHJldHVybiBbXS5maWx0ZXIuY2FsbChcclxuICAgICAgICAgICAgdGhpcy5kaWFsb2cucXVlcnlTZWxlY3RvckFsbChzZWxlY3RvcilcclxuICAgICAgICAgICAgLCAoZWxlbWVudCkgPT4ge1xyXG4gICAgICAgICAgICAgICAgaWYgKGZhbGxiYWNrKSB7XHJcbiAgICAgICAgICAgICAgICAgICAgY29uc3Qgc3R5bGUgPSB3aW5kb3cuZ2V0Q29tcHV0ZWRTdHlsZShlbGVtZW50KTtcclxuICAgICAgICAgICAgICAgICAgICByZXR1cm4gc3R5bGUuZGlzcGxheSAhPT0gJ25vbmUnICYmIHN0eWxlLnZpc2liaWxpdHkgIT09ICdoaWRkZW4nO1xyXG4gICAgICAgICAgICAgICAgfVxyXG5cclxuICAgICAgICAgICAgICAgIHJldHVybiBlbGVtZW50Lm9mZnNldFBhcmVudCAhPT0gbnVsbDtcclxuICAgICAgICAgICAgfVxyXG4gICAgICAgICk7XHJcbiAgICB9XHJcblxyXG4gICAgZm9jdXMoZWwpIHtcclxuICAgICAgICBlbCA9IGVsIHx8IHRoaXMuZWxlbWVudHModGhpcy5vcHRzLmZvY3VzRWxlbWVudHMpWzBdIHx8IHRoaXMuZGlhbG9nLmZpcnN0Q2hpbGQ7XHJcblxyXG4gICAgICAgIGlmIChlbCAmJiBpcyhlbC5mb2N1cywgJ2Z1bmN0aW9uJykpIHtcclxuICAgICAgICAgICAgZWwuZm9jdXMoKTtcclxuICAgICAgICB9XHJcbiAgICB9XHJcblxyXG4gICAga2V5ZG93bihldikge1xyXG4gICAgICAgIGlmICh0aGlzLm9wdHMuZXNjYXBlQ2xvc2UgJiYgZXYud2hpY2ggPT0gMjcpIHtcclxuICAgICAgICAgICAgdGhpcy5jbG9zZSgpO1xyXG4gICAgICAgIH1cclxuXHJcbiAgICAgICAgY29uc3Qgc3RvcEV2ZW50ID0gKCkgPT4ge1xyXG4gICAgICAgICAgICBldi5wcmV2ZW50RGVmYXVsdCgpO1xyXG4gICAgICAgICAgICBldi5zdG9wUHJvcGFnYXRpb24oKTtcclxuICAgICAgICB9XHJcblxyXG4gICAgICAgIGlmICh0aGlzLm9wZW5lZCAmJiBldi53aGljaCA9PSA5ICYmIHRoaXMuZGlhbG9nLmNvbnRhaW5zKGV2LnRhcmdldCkpIHtcclxuICAgICAgICAgICAgY29uc3QgZWxlbWVudHMgPSB0aGlzLmVsZW1lbnRzKHRoaXMub3B0cy5mb2N1c0VsZW1lbnRzKVxyXG4gICAgICAgICAgICAgICAgLCBmaXJzdCA9IGVsZW1lbnRzWzBdXHJcbiAgICAgICAgICAgICAgICAsIGxhc3QgPSBlbGVtZW50c1tlbGVtZW50cy5sZW5ndGggLSAxXTtcclxuXHJcbiAgICAgICAgICAgIGlmIChmaXJzdCA9PSBsYXN0KSB7XHJcbiAgICAgICAgICAgICAgICBzdG9wRXZlbnQoKTtcclxuICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICBlbHNlIGlmIChldi50YXJnZXQgPT0gZmlyc3QgJiYgZXYuc2hpZnRLZXkpIHtcclxuICAgICAgICAgICAgICAgIHN0b3BFdmVudCgpO1xyXG4gICAgICAgICAgICAgICAgbGFzdC5mb2N1cygpO1xyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgICAgIGVsc2UgaWYgKGV2LnRhcmdldCA9PSBsYXN0ICYmICFldi5zaGlmdEtleSkge1xyXG4gICAgICAgICAgICAgICAgc3RvcEV2ZW50KCk7XHJcbiAgICAgICAgICAgICAgICBmaXJzdC5mb2N1cygpO1xyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgfVxyXG4gICAgfVxyXG59XHJcblxyXG5STW9kYWwucHJvdG90eXBlLnZlcnNpb24gPSAnQEBWRVJTSU9OQEAnO1xyXG5STW9kYWwudmVyc2lvbiA9ICdAQFZFUlNJT05AQCc7XHJcblxyXG5leHBvcnQgZGVmYXVsdCBSTW9kYWw7XHJcbiJdLCJuYW1lcyI6WyJjb25zdCIsInRoaXMiXSwibWFwcGluZ3MiOiJBQUFBQSxJQUFNLEVBQUUsYUFBSSxHQUFHLEVBQUUsSUFBSSxFQUFFLFNBQUcsTUFBTSxDQUFDLFNBQVMsQ0FBQyxRQUFRLENBQUMsSUFBSSxDQUFDLEdBQUcsQ0FBQyxDQUFDLFdBQVcsRUFBRSxtQkFBZ0IsSUFBSSxVQUFHLENBQUM7O0FBRW5HQSxJQUFNLFFBQVEsYUFBSSxFQUFFLEVBQUUsR0FBRyxFQUFFO0lBQ3ZCQSxJQUFNLEdBQUcsR0FBRyxFQUFFLENBQUMsU0FBUztLQUN2QixLQUFLLENBQUMsS0FBSyxDQUFDO0tBQ1osTUFBTSxXQUFFLENBQUMsRUFBRSxTQUFHLENBQUMsQ0FBQyxDQUFDLElBQUksQ0FBQyxJQUFJLE1BQUcsQ0FBQyxDQUFDOztJQUVoQyxJQUFJLENBQUMsR0FBRyxDQUFDLE1BQU0sRUFBRTtRQUNiLEVBQUUsQ0FBQyxTQUFTLElBQUksTUFBSSxHQUFHLENBQUc7S0FDN0I7Q0FDSixDQUFDOztBQUVGQSxJQUFNLFdBQVcsYUFBSSxFQUFFLEVBQUUsR0FBRyxFQUFFO0lBQzFCLEVBQUUsQ0FBQyxTQUFTLEdBQUcsRUFBRSxDQUFDLFNBQVM7S0FDMUIsS0FBSyxDQUFDLEtBQUssQ0FBQztLQUNaLE1BQU0sV0FBRSxDQUFDLEVBQUUsU0FBRyxDQUFDLENBQUMsQ0FBQyxJQUFJLENBQUMsSUFBSSxNQUFHLENBQUM7S0FDOUIsSUFBSSxDQUFDLEdBQUcsQ0FBQyxDQUFDO0NBQ2QsQ0FBQzs7QUFFRixJQUFNLE1BQU0sR0FDUixlQUFXLENBQUMsRUFBRSxFQUFFLElBQUksRUFBRTs7O0lBQ3RCLElBQVEsQ0FBQyxNQUFN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"} \ No newline at end of file +{"version":3,"file":"index.es.js","sources":["rmodal.js"],"sourcesContent":["const is = (obj, type) => Object.prototype.toString.call(obj).toLowerCase() === `[object ${type}]`;\n\nconst addClass = (el, cls) => {\n const arr = el.className\n .split(/\\s+/)\n .filter((c) => !!c && c == cls);\n\n if (!arr.length) {\n el.className += ` ${cls}`;\n }\n};\n\nconst removeClass = (el, cls) => {\n el.className = el.className\n .split(/\\s+/)\n .filter((c) => !!c && c != cls)\n .join(' ');\n};\n\nclass RModal {\n constructor(el, opts) {\n this.opened = false;\n\n this.opts = {\n bodyClass: 'modal-open'\n , dialogClass: 'modal-dialog'\n , dialogOpenClass: 'bounceInDown'\n , dialogCloseClass: 'bounceOutUp'\n\n , focus: true\n , focusElements: [\n 'a[href]', 'area[href]', 'input:not([disabled]):not([type=hidden])'\n , 'button:not([disabled])', 'select:not([disabled])'\n , 'textarea:not([disabled])', 'iframe', 'object', 'embed'\n , '*[tabindex]', '*[contenteditable]'\n ]\n\n , escapeClose: true\n , content: null\n , closeTimeout: 500\n };\n\n Object.keys(opts || {})\n .forEach((key) => {\n /* istanbul ignore else */\n if (opts[key] !== undefined) {\n this.opts[key] = opts[key];\n }\n });\n\n this.overlay = el;\n this.dialog = el.querySelector(`.${this.opts.dialogClass}`);\n\n if (this.opts.content) {\n this.content(this.opts.content);\n }\n }\n\n open(content) {\n this.content(content);\n\n if (!is(this.opts.beforeOpen, 'function')) {\n return this._doOpen();\n }\n\n this.opts.beforeOpen(() => {\n this._doOpen();\n });\n }\n\n _doOpen() {\n addClass(document.body, this.opts.bodyClass);\n\n removeClass(this.dialog, this.opts.dialogCloseClass);\n addClass(this.dialog, this.opts.dialogOpenClass);\n\n this.overlay.style.display = 'block';\n\n if (this.opts.focus) {\n this.focusOutElement = document.activeElement;\n this.focus();\n }\n\n if (is(this.opts.afterOpen, 'function')) {\n this.opts.afterOpen();\n }\n this.opened = true;\n }\n\n close() {\n if (!is(this.opts.beforeClose, 'function')) {\n return this._doClose();\n }\n\n this.opts.beforeClose(() => {\n this._doClose();\n });\n }\n\n _doClose() {\n removeClass(this.dialog, this.opts.dialogOpenClass);\n addClass(this.dialog, this.opts.dialogCloseClass);\n\n removeClass(document.body, this.opts.bodyClass);\n\n if (this.opts.focus) {\n this.focus(this.focusOutElement);\n }\n\n setTimeout(() => {\n this.overlay.style.display = 'none';\n\n if (is(this.opts.afterClose, 'function')) {\n this.opts.afterClose();\n }\n this.opened = false;\n }, this.opts.closeTimeout);\n }\n\n content(html) {\n if (html === undefined) {\n return this.dialog.innerHTML;\n }\n\n this.dialog.innerHTML = html;\n }\n\n elements(selector, fallback) {\n fallback = fallback || window.navigator.appVersion.indexOf('MSIE 9.0') > -1;\n selector = is(selector, 'array') ? selector.join(',') : selector;\n\n return [].filter.call(\n this.dialog.querySelectorAll(selector)\n , (element) => {\n if (fallback) {\n const style = window.getComputedStyle(element);\n return style.display !== 'none' && style.visibility !== 'hidden';\n }\n\n return element.offsetParent !== null;\n }\n );\n }\n\n focus(el) {\n el = el || this.elements(this.opts.focusElements)[0] || this.dialog.firstChild;\n\n if (el && is(el.focus, 'function')) {\n el.focus();\n }\n }\n\n keydown(ev) {\n if (this.opts.escapeClose && ev.which == 27) {\n this.close();\n }\n\n const stopEvent = () => {\n ev.preventDefault();\n ev.stopPropagation();\n }\n\n if (this.opened && ev.which == 9 && this.dialog.contains(ev.target)) {\n const elements = this.elements(this.opts.focusElements)\n , first = elements[0]\n , last = elements[elements.length - 1];\n\n if (first == last) {\n stopEvent();\n }\n else if (ev.target == first && ev.shiftKey) {\n stopEvent();\n last.focus();\n }\n else if (ev.target == last && !ev.shiftKey) {\n stopEvent();\n first.focus();\n }\n }\n }\n}\n\nRModal.prototype.version = '@@VERSION@@';\nRModal.version = '@@VERSION@@';\n\nexport default RModal;\n"],"names":["const","this"],"mappings":"AAAAA,IAAM,EAAE,aAAI,GAAG,EAAE,IAAI,EAAE,SAAG,MAAM,CAAC,SAAS,CAAC,QAAQ,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,WAAW,EAAE,mBAAgB,IAAI,UAAG,CAAC;;AAEnGA,IAAM,QAAQ,aAAI,EAAE,EAAE,GAAG,EAAE;IACvBA,IAAM,GAAG,GAAG,EAAE,CAAC,SAAS;KACvB,KAAK,CAAC,KAAK,CAAC;KACZ,MAAM,WAAE,CAAC,EAAE,SAAG,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,MAAG,CAAC,CAAC;;IAEhC,IAAI,CAAC,GAAG,CAAC,MAAM,EAAE;QACb,EAAE,CAAC,SAAS,IAAI,MAAI,GAAG,CAAG;KAC7B;CACJ,CAAC;;AAEFA,IAAM,WAAW,aAAI,EAAE,EAAE,GAAG,EAAE;IAC1B,EAAE,CAAC,SAAS,GAAG,EAAE,CAAC,SAAS;KAC1B,KAAK,CAAC,KAAK,CAAC;KACZ,MAAM,WAAE,CAAC,EAAE,SAAG,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,MAAG,CAAC;KAC9B,IAAI,CAAC,GAAG,CAAC,CAAC;CACd,CAAC;;AAEF,IAAM,MAAM,GACR,eAAW,CAAC,EAAE,EAAE,IAAI,EAAE;;;IACtB,IAAQ,CAAC,MAAM,GAAG,KAAK,CAAC;;IAExB,IAAQ,CAAC,IAAI,GAAG;QACZ,SAAa,EAAE,YAAY;UACrB,WAAW,EAAE,cAAc;UAC3B,eAAe,EAAE,cAAc;UAC/B,gBAAgB,EAAE,aAAa;;UAE/B,KAAK,EAAE,IAAI;UACX,aAAa,EAAE;YACjB,SAAa,EAAE,YAAY,EAAE,0CAA0C;cACjE,wBAAwB,EAAE,wBAAwB;cAClD,0BAA0B,EAAE,QAAQ,EAAE,QAAQ,EAAE,OAAO;cACvD,aAAa,EAAE,oBAAoB;SACxC;;UAEC,WAAW,EAAE,IAAI;UACjB,OAAO,EAAE,IAAI;UACb,YAAY,EAAE,GAAG;KACtB,CAAC;;IAEN,MAAU,CAAC,IAAI,CAAC,IAAI,IAAI,EAAE,CAAC;KACtB,OAAO,WAAE,GAAG,EAAE;;QAEf,IAAQ,IAAI,CAAC,GAAG,CAAC,KAAK,SAAS,EAAE;YAC7B,MAAQ,CAAC,IAAI,CAAC,GAAG,CAAC,GAAG,IAAI,CAAC,GAAG,CAAC,CAAC;SAC9B;KACJ,CAAC,CAAC;;IAEP,IAAQ,CAAC,OAAO,GAAG,EAAE,CAAC;IACtB,IAAQ,CAAC,MAAM,GAAG,EAAE,CAAC,aAAa,SAAK,IAAI,CAAC,IAAI,CAAC,WAAW,GAAG,CAAC;;IAEhE,IAAQ,IAAI,CAAC,IAAI,CAAC,OAAO,EAAE;QACvB,IAAQ,CAAC,OAAO,CAAC,IAAI,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC;KACnC;EACJ;;AAEL,iBAAI,sBAAK,OAAO,EAAE;;;IACd,IAAQ,CAAC,OAAO,CAAC,OAAO,CAAC,CAAC;;IAE1B,IAAQ,CAAC,EAAE,CAAC,IAAI,CAAC,IAAI,CAAC,UAAU,EAAE,UAAU,CAAC,EAAE;QAC3C,OAAW,IAAI,CAAC,OAAO,EAAE,CAAC;KACzB;;IAEL,IAAQ,CAAC,IAAI,CAAC,UAAU,aAAI;QACxB,MAAQ,CAAC,OAAO,EAAE,CAAC;KAClB,CAAC,CAAC;EACN;;AAEL,iBAAI,8BAAU;IACV,QAAY,CAAC,QAAQ,CAAC,IAAI,EAAE,IAAI,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC;;IAEjD,WAAe,CAAC,IAAI,CAAC,MAAM,EAAE,IAAI,CAAC,IAAI,CAAC,gBAAgB,CAAC,CAAC;IACzD,QAAY,CAAC,IAAI,CAAC,MAAM,EAAE,IAAI,CAAC,IAAI,CAAC,eAAe,CAAC,CAAC;;IAErD,IAAQ,CAAC,OAAO,CAAC,KAAK,CAAC,OAAO,GAAG,OAAO,CAAC;;IAEzC,IAAQ,IAAI,CAAC,IAAI,CAAC,KAAK,EAAE;QACrB,IAAQ,CAAC,eAAe,GAAG,QAAQ,CAAC,aAAa,CAAC;QAClD,IAAQ,CAAC,KAAK,EAAE,CAAC;KAChB;;IAEL,IAAQ,EAAE,CAAC,IAAI,CAAC,IAAI,CAAC,SAAS,EAAE,UAAU,CAAC,EAAE;QACzC,IAAQ,CAAC,IAAI,CAAC,SAAS,EAAE,CAAC;KACzB;IACL,IAAQ,CAAC,MAAM,GAAG,IAAI,CAAC;EACtB;;AAEL,iBAAI,0BAAQ;;;IACR,IAAQ,CAAC,EAAE,CAAC,IAAI,CAAC,IAAI,CAAC,WAAW,EAAE,UAAU,CAAC,EAAE;QAC5C,OAAW,IAAI,CAAC,QAAQ,EAAE,CAAC;KAC1B;;IAEL,IAAQ,CAAC,IAAI,CAAC,WAAW,aAAI;QACzB,MAAQ,CAAC,QAAQ,EAAE,CAAC;KACnB,CAAC,CAAC;EACN;;AAEL,iBAAI,gCAAW;;;IACX,WAAe,CAAC,IAAI,CAAC,MAAM,EAAE,IAAI,CAAC,IAAI,CAAC,eAAe,CAAC,CAAC;IACxD,QAAY,CAAC,IAAI,CAAC,MAAM,EAAE,IAAI,CAAC,IAAI,CAAC,gBAAgB,CAAC,CAAC;;IAEtD,WAAe,CAAC,QAAQ,CAAC,IAAI,EAAE,IAAI,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC;;IAEpD,IAAQ,IAAI,CAAC,IAAI,CAAC,KAAK,EAAE;QACrB,IAAQ,CAAC,KAAK,CAAC,IAAI,CAAC,eAAe,CAAC,CAAC;KACpC;;IAEL,UAAc,aAAI;QACd,MAAQ,CAAC,OAAO,CAAC,KAAK,CAAC,OAAO,GAAG,MAAM,CAAC;;QAExC,IAAQ,EAAE,CAACC,MAAI,CAAC,IAAI,CAAC,UAAU,EAAE,UAAU,CAAC,EAAE;YAC1C,MAAQ,CAAC,IAAI,CAAC,UAAU,EAAE,CAAC;SAC1B;QACL,MAAQ,CAAC,MAAM,GAAG,KAAK,CAAC;KACvB,EAAE,IAAI,CAAC,IAAI,CAAC,YAAY,CAAC,CAAC;EAC9B;;AAEL,iBAAI,4BAAQ,IAAI,EAAE;IACd,IAAQ,IAAI,KAAK,SAAS,EAAE;QACxB,OAAW,IAAI,CAAC,MAAM,CAAC,SAAS,CAAC;KAChC;;IAEL,IAAQ,CAAC,MAAM,CAAC,SAAS,GAAG,IAAI,CAAC;EAChC;;AAEL,iBAAI,8BAAS,QAAQ,EAAE,QAAQ,EAAE;IAC7B,QAAY,GAAG,QAAQ,IAAI,MAAM,CAAC,SAAS,CAAC,UAAU,CAAC,OAAO,CAAC,UAAU,CAAC,GAAG,CAAC,CAAC,CAAC;IAChF,QAAY,GAAG,EAAE,CAAC,QAAQ,EAAE,OAAO,CAAC,GAAG,QAAQ,CAAC,IAAI,CAAC,GAAG,CAAC,GAAG,QAAQ,CAAC;;IAErE,OAAW,EAAE,CAAC,MAAM,CAAC,IAAI;QACrB,IAAQ,CAAC,MAAM,CAAC,gBAAgB,CAAC,QAAQ,CAAC;oBACnC,OAAO,EAAE;YACZ,IAAQ,QAAQ,EAAE;gBACd,IAAU,KAAK,GAAG,MAAM,CAAC,gBAAgB,CAAC,OAAO,CAAC,CAAC;gBACnD,OAAW,KAAK,CAAC,OAAO,KAAK,MAAM,IAAI,KAAK,CAAC,UAAU,KAAK,QAAQ,CAAC;aACpE;;YAEL,OAAW,OAAO,CAAC,YAAY,KAAK,IAAI,CAAC;SACxC;KACJ,CAAC;EACL;;AAEL,iBAAI,wBAAM,EAAE,EAAE;IACV,EAAM,GAAG,EAAE,IAAI,IAAI,CAAC,QAAQ,CAAC,IAAI,CAAC,IAAI,CAAC,aAAa,CAAC,CAAC,CAAC,CAAC,IAAI,IAAI,CAAC,MAAM,CAAC,UAAU,CAAC;;IAEnF,IAAQ,EAAE,IAAI,EAAE,CAAC,EAAE,CAAC,KAAK,EAAE,UAAU,CAAC,EAAE;QACpC,EAAM,CAAC,KAAK,EAAE,CAAC;KACd;EACJ;;AAEL,iBAAI,4BAAQ,EAAE,EAAE;IACZ,IAAQ,IAAI,CAAC,IAAI,CAAC,WAAW,IAAI,EAAE,CAAC,KAAK,IAAI,EAAE,EAAE;QAC7C,IAAQ,CAAC,KAAK,EAAE,CAAC;KAChB;;IAEL,IAAU,SAAS,eAAM;QACrB,EAAM,CAAC,cAAc,EAAE,CAAC;QACxB,EAAM,CAAC,eAAe,EAAE,CAAC;MACxB;;IAEL,IAAQ,IAAI,CAAC,MAAM,IAAI,EAAE,CAAC,KAAK,IAAI,CAAC,IAAI,IAAI,CAAC,MAAM,CAAC,QAAQ,CAAC,EAAE,CAAC,MAAM,CAAC,EAAE;QACrE,IAAU,QAAQ,GAAG,IAAI,CAAC,QAAQ,CAAC,IAAI,CAAC,IAAI,CAAC,aAAa,CAAC;cACjD,KAAK,GAAG,QAAQ,CAAC,CAAC,CAAC;cACnB,IAAI,GAAG,QAAQ,CAAC,QAAQ,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC;;QAE/C,IAAQ,KAAK,IAAI,IAAI,EAAE;YACnB,SAAa,EAAE,CAAC;SACf;aACI,IAAI,EAAE,CAAC,MAAM,IAAI,KAAK,IAAI,EAAE,CAAC,QAAQ,EAAE;YAC5C,SAAa,EAAE,CAAC;YAChB,IAAQ,CAAC,KAAK,EAAE,CAAC;SAChB;aACI,IAAI,EAAE,CAAC,MAAM,IAAI,IAAI,IAAI,CAAC,EAAE,CAAC,QAAQ,EAAE;YAC5C,SAAa,EAAE,CAAC;YAChB,KAAS,CAAC,KAAK,EAAE,CAAC;SACjB;KACJ;CACJ,CACJ;;AAED,MAAM,CAAC,SAAS,CAAC,OAAO,GAAG,aAAa,CAAC;AACzC,MAAM,CAAC,OAAO,GAAG,aAAa,CAAC;;;;","preExistingComment":"//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjpudWxsLCJzb3VyY2VzIjpbIi9Vc2Vycy93aXNoL0Rlc2t0b3Avcm1vZGFsLmpzL3NyYy9ybW9kYWwuanMiXSwic291cmNlc0NvbnRlbnQiOlsiY29uc3QgaXMgPSAob2JqLCB0eXBlKSA9PiBPYmplY3QucHJvdG90eXBlLnRvU3RyaW5nLmNhbGwob2JqKS50b0xvd2VyQ2FzZSgpID09PSBgW29iamVjdCAke3R5cGV9XWA7XG5cbmNvbnN0IGFkZENsYXNzID0gKGVsLCBjbHMpID0+IHtcbiAgICBjb25zdCBhcnIgPSBlbC5jbGFzc05hbWVcbiAgICAuc3BsaXQoL1xccysvKVxuICAgIC5maWx0ZXIoKGMpID0+ICEhYyAmJiBjID09IGNscyk7XG5cbiAgICBpZiAoIWFyci5sZW5ndGgpIHtcbiAgICAgICAgZWwuY2xhc3NOYW1lICs9IGAgJHtjbHN9YDtcbiAgICB9XG59O1xuXG5jb25zdCByZW1vdmVDbGFzcyA9IChlbCwgY2xzKSA9PiB7XG4gICAgZWwuY2xhc3NOYW1lID0gZWwuY2xhc3NOYW1lXG4gICAgLnNwbGl0KC9cXHMrLylcbiAgICAuZmlsdGVyKChjKSA9PiAhIWMgJiYgYyAhPSBjbHMpXG4gICAgLmpvaW4oJyAnKTtcbn07XG5cbmNsYXNzIFJNb2RhbCB7XG4gICAgY29uc3RydWN0b3IoZWwsIG9wdHMpIHtcbiAgICAgICAgdGhpcy5vcGVuZWQgPSBmYWxzZTtcblxuICAgICAgICB0aGlzLm9wdHMgPSB7XG4gICAgICAgICAgICBib2R5Q2xhc3M6ICdtb2RhbC1vcGVuJ1xuICAgICAgICAgICAgLCBkaWFsb2dDbGFzczogJ21vZGFsLWRpYWxvZydcbiAgICAgICAgICAgICwgZGlhbG9nT3BlbkNsYXNzOiAnYm91bmNlSW5Eb3duJ1xuICAgICAgICAgICAgLCBkaWFsb2dDbG9zZUNsYXNzOiAnYm91bmNlT3V0VXAnXG5cbiAgICAgICAgICAgICwgZm9jdXM6IHRydWVcbiAgICAgICAgICAgICwgZm9jdXNFbGVtZW50czogW1xuICAgICAgICAgICAgICAgICdhW2hyZWZdJywgJ2FyZWFbaHJlZl0nLCAnaW5wdXQ6bm90KFtkaXNhYmxlZF0pOm5vdChbdHlwZT1oaWRkZW5dKSdcbiAgICAgICAgICAgICAgICAsICdidXR0b246bm90KFtkaXNhYmxlZF0pJywgJ3NlbGVjdDpub3QoW2Rpc2FibGVkXSknXG4gICAgICAgICAgICAgICAgLCAndGV4dGFyZWE6bm90KFtkaXNhYmxlZF0pJywgJ2lmcmFtZScsICdvYmplY3QnLCAnZW1iZWQnXG4gICAgICAgICAgICAgICAgLCAnKlt0YWJpbmRleF0nLCAnKltjb250ZW50ZWRpdGFibGVdJ1xuICAgICAgICAgICAgXVxuXG4gICAgICAgICAgICAsIGVzY2FwZUNsb3NlOiB0cnVlXG4gICAgICAgICAgICAsIGNvbnRlbnQ6IG51bGxcbiAgICAgICAgICAgICwgY2xvc2VUaW1lb3V0OiA1MDBcbiAgICAgICAgfTtcblxuICAgICAgICBPYmplY3Qua2V5cyhvcHRzIHx8IHt9KVxuICAgICAgICAuZm9yRWFjaCgoa2V5KSA9PiB7XG4gICAgICAgICAgICAvKiBpc3RhbmJ1bCBpZ25vcmUgZWxzZSAqL1xuICAgICAgICAgICAgaWYgKG9wdHNba2V5XSAhPT0gdW5kZWZpbmVkKSB7XG4gICAgICAgICAgICAgICAgdGhpcy5vcHRzW2tleV0gPSBvcHRzW2tleV07XG4gICAgICAgICAgICB9XG4gICAgICAgIH0pO1xuXG4gICAgICAgIHRoaXMub3ZlcmxheSA9IGVsO1xuICAgICAgICB0aGlzLmRpYWxvZyA9IGVsLnF1ZXJ5U2VsZWN0b3IoYC4ke3RoaXMub3B0cy5kaWFsb2dDbGFzc31gKTtcblxuICAgICAgICBpZiAodGhpcy5vcHRzLmNvbnRlbnQpIHtcbiAgICAgICAgICAgIHRoaXMuY29udGVudCh0aGlzLm9wdHMuY29udGVudCk7XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICBvcGVuKGNvbnRlbnQpIHtcbiAgICAgICAgdGhpcy5jb250ZW50KGNvbnRlbnQpO1xuXG4gICAgICAgIGlmICghaXModGhpcy5vcHRzLmJlZm9yZU9wZW4sICdmdW5jdGlvbicpKSB7XG4gICAgICAgICAgICByZXR1cm4gdGhpcy5fZG9PcGVuKCk7XG4gICAgICAgIH1cblxuICAgICAgICB0aGlzLm9wdHMuYmVmb3JlT3BlbigoKSA9PiB7XG4gICAgICAgICAgICB0aGlzLl9kb09wZW4oKTtcbiAgICAgICAgfSk7XG4gICAgfVxuXG4gICAgX2RvT3BlbigpIHtcbiAgICAgICAgYWRkQ2xhc3MoZG9jdW1lbnQuYm9keSwgdGhpcy5vcHRzLmJvZHlDbGFzcyk7XG5cbiAgICAgICAgcmVtb3ZlQ2xhc3ModGhpcy5kaWFsb2csIHRoaXMub3B0cy5kaWFsb2dDbG9zZUNsYXNzKTtcbiAgICAgICAgYWRkQ2xhc3ModGhpcy5kaWFsb2csIHRoaXMub3B0cy5kaWFsb2dPcGVuQ2xhc3MpO1xuXG4gICAgICAgIHRoaXMub3ZlcmxheS5zdHlsZS5kaXNwbGF5ID0gJ2Jsb2NrJztcblxuICAgICAgICBpZiAodGhpcy5vcHRzLmZvY3VzKSB7XG4gICAgICAgICAgICB0aGlzLmZvY3VzT3V0RWxlbWVudCA9IGRvY3VtZW50LmFjdGl2ZUVsZW1lbnQ7XG4gICAgICAgICAgICB0aGlzLmZvY3VzKCk7XG4gICAgICAgIH1cblxuICAgICAgICBpZiAoaXModGhpcy5vcHRzLmFmdGVyT3BlbiwgJ2Z1bmN0aW9uJykpIHtcbiAgICAgICAgICAgIHRoaXMub3B0cy5hZnRlck9wZW4oKTtcbiAgICAgICAgfVxuICAgICAgICB0aGlzLm9wZW5lZCA9IHRydWU7XG4gICAgfVxuXG4gICAgY2xvc2UoKSB7XG4gICAgICAgIGlmICghaXModGhpcy5vcHRzLmJlZm9yZUNsb3NlLCAnZnVuY3Rpb24nKSkge1xuICAgICAgICAgICAgcmV0dXJuIHRoaXMuX2RvQ2xvc2UoKTtcbiAgICAgICAgfVxuXG4gICAgICAgIHRoaXMub3B0cy5iZWZvcmVDbG9zZSgoKSA9PiB7XG4gICAgICAgICAgICB0aGlzLl9kb0Nsb3NlKCk7XG4gICAgICAgIH0pO1xuICAgIH1cblxuICAgIF9kb0Nsb3NlKCkge1xuICAgICAgICByZW1vdmVDbGFzcyh0aGlzLmRpYWxvZywgdGhpcy5vcHRzLmRpYWxvZ09wZW5DbGFzcyk7XG4gICAgICAgIGFkZENsYXNzKHRoaXMuZGlhbG9nLCB0aGlzLm9wdHMuZGlhbG9nQ2xvc2VDbGFzcyk7XG5cbiAgICAgICAgcmVtb3ZlQ2xhc3MoZG9jdW1lbnQuYm9keSwgdGhpcy5vcHRzLmJvZHlDbGFzcyk7XG5cbiAgICAgICAgaWYgKHRoaXMub3B0cy5mb2N1cykge1xuICAgICAgICAgICAgdGhpcy5mb2N1cyh0aGlzLmZvY3VzT3V0RWxlbWVudCk7XG4gICAgICAgIH1cblxuICAgICAgICBzZXRUaW1lb3V0KCgpID0+IHtcbiAgICAgICAgICAgIHRoaXMub3ZlcmxheS5zdHlsZS5kaXNwbGF5ID0gJ25vbmUnO1xuXG4gICAgICAgICAgICBpZiAoaXModGhpcy5vcHRzLmFmdGVyQ2xvc2UsICdmdW5jdGlvbicpKSB7XG4gICAgICAgICAgICAgICAgdGhpcy5vcHRzLmFmdGVyQ2xvc2UoKTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgICAgIHRoaXMub3BlbmVkID0gZmFsc2U7XG4gICAgICAgIH0sIHRoaXMub3B0cy5jbG9zZVRpbWVvdXQpO1xuICAgIH1cblxuICAgIGNvbnRlbnQoaHRtbCkge1xuICAgICAgICBpZiAoaHRtbCA9PT0gdW5kZWZpbmVkKSB7XG4gICAgICAgICAgICByZXR1cm4gdGhpcy5kaWFsb2cuaW5uZXJIVE1MO1xuICAgICAgICB9XG5cbiAgICAgICAgdGhpcy5kaWFsb2cuaW5uZXJIVE1MID0gaHRtbDtcbiAgICB9XG5cbiAgICBlbGVtZW50cyhzZWxlY3RvciwgZmFsbGJhY2spIHtcbiAgICAgICAgZmFsbGJhY2sgPSBmYWxsYmFjayB8fCB3aW5kb3cubmF2aWdhdG9yLmFwcFZlcnNpb24uaW5kZXhPZignTVNJRSA5LjAnKSA+IC0xO1xuICAgICAgICBzZWxlY3RvciA9IGlzKHNlbGVjdG9yLCAnYXJyYXknKSA/IHNlbGVjdG9yLmpvaW4oJywnKSA6IHNlbGVjdG9yO1xuXG4gICAgICAgIHJldHVybiBbXS5maWx0ZXIuY2FsbChcbiAgICAgICAgICAgIHRoaXMuZGlhbG9nLnF1ZXJ5U2VsZWN0b3JBbGwoc2VsZWN0b3IpXG4gICAgICAgICAgICAsIChlbGVtZW50KSA9PiB7XG4gICAgICAgICAgICAgICAgaWYgKGZhbGxiYWNrKSB7XG4gICAgICAgICAgICAgICAgICAgIGNvbnN0IHN0eWxlID0gd2luZG93LmdldENvbXB1dGVkU3R5bGUoZWxlbWVudCk7XG4gICAgICAgICAgICAgICAgICAgIHJldHVybiBzdHlsZS5kaXNwbGF5ICE9PSAnbm9uZScgJiYgc3R5bGUudmlzaWJpbGl0eSAhPT0gJ2hpZGRlbic7XG4gICAgICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICAgICAgcmV0dXJuIGVsZW1lbnQub2Zmc2V0UGFyZW50ICE9PSBudWxsO1xuICAgICAgICAgICAgfVxuICAgICAgICApO1xuICAgIH1cblxuICAgIGZvY3VzKGVsKSB7XG4gICAgICAgIGVsID0gZWwgfHwgdGhpcy5lbGVtZW50cyh0aGlzLm9wdHMuZm9jdXNFbGVtZW50cylbMF0gfHwgdGhpcy5kaWFsb2cuZmlyc3RDaGlsZDtcblxuICAgICAgICBpZiAoZWwgJiYgaXMoZWwuZm9jdXMsICdmdW5jdGlvbicpKSB7XG4gICAgICAgICAgICBlbC5mb2N1cygpO1xuICAgICAgICB9XG4gICAgfVxuXG4gICAga2V5ZG93bihldikge1xuICAgICAgICBpZiAodGhpcy5vcHRzLmVzY2FwZUNsb3NlICYmIGV2LndoaWNoID09IDI3KSB7XG4gICAgICAgICAgICB0aGlzLmNsb3NlKCk7XG4gICAgICAgIH1cblxuICAgICAgICBjb25zdCBzdG9wRXZlbnQgPSAoKSA9PiB7XG4gICAgICAgICAgICBldi5wcmV2ZW50RGVmYXVsdCgpO1xuICAgICAgICAgICAgZXYuc3RvcFByb3BhZ2F0aW9uKCk7XG4gICAgICAgIH1cblxuICAgICAgICBpZiAodGhpcy5vcGVuZWQgJiYgZXYud2hpY2ggPT0gOSAmJiB0aGlzLmRpYWxvZy5jb250YWlucyhldi50YXJnZXQpKSB7XG4gICAgICAgICAgICBjb25zdCBlbGVtZW50cyA9IHRoaXMuZWxlbWVudHModGhpcy5vcHRzLmZvY3VzRWxlbWVudHMpXG4gICAgICAgICAgICAgICAgLCBmaXJzdCA9IGVsZW1lbnRzWzBdXG4gICAgICAgICAgICAgICAgLCBsYXN0ID0gZWxlbWVudHNbZWxlbWVudHMubGVuZ3RoIC0gMV07XG5cbiAgICAgICAgICAgIGlmIChmaXJzdCA9PSBsYXN0KSB7XG4gICAgICAgICAgICAgICAgc3RvcEV2ZW50KCk7XG4gICAgICAgICAgICB9XG4gICAgICAgICAgICBlbHNlIGlmIChldi50YXJnZXQgPT0gZmlyc3QgJiYgZXYuc2hpZnRLZXkpIHtcbiAgICAgICAgICAgICAgICBzdG9wRXZlbnQoKTtcbiAgICAgICAgICAgICAgICBsYXN0LmZvY3VzKCk7XG4gICAgICAgICAgICB9XG4gICAgICAgICAgICBlbHNlIGlmIChldi50YXJnZXQgPT0gbGFzdCAmJiAhZXYuc2hpZnRLZXkpIHtcbiAgICAgICAgICAgICAgICBzdG9wRXZlbnQoKTtcbiAgICAgICAgICAgICAgICBmaXJzdC5mb2N1cygpO1xuICAgICAgICAgICAgfVxuICAgICAgICB9XG4gICAgfVxufVxuXG5STW9kYWwucHJvdG90eXBlLnZlcnNpb24gPSAnQEBWRVJTSU9OQEAnO1xuUk1vZGFsLnZlcnNpb24gPSAnQEBWRVJTSU9OQEAnO1xuXG5leHBvcnQgZGVmYXVsdCBSTW9kYWw7XG4iXSwibmFtZXMiOlsiY29uc3QiLCJ0aGlzIl0sIm1hcHBpbmdzIjoiQUFBQUEsSUFBTSxFQUFFLGFBQUksR0FBRyxFQUFFLElBQUksRUFBRSxTQUFHLE1BQU0sQ0FBQyxTQUFTLENBQUMsUUFBUSxDQUFDLElBQUksQ0FBQyxHQUFHLENBQUMsQ0FBQyxXQUFXLEVBQUUsbUJBQWdCLElBQUksVUFBRyxDQUFDOztBQUVuR0EsSUFBTSxRQUFRLGFBQUksRUFBRSxFQUFFLEdBQUcsRUFB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"} \ No newline at end of file diff --git a/index.js b/index.js index 457364b..0764a60 100644 --- a/index.js +++ b/index.js @@ -188,8 +188,8 @@ RModal.prototype.keydown = function keydown (ev) { } }; -RModal.prototype.version = '1.0.34'; -RModal.version = '1.0.34'; +RModal.prototype.version = '1.0.35'; +RModal.version = '1.0.35'; module.exports = RModal; //# sourceMappingURL=index.js.map diff --git a/index.js.map b/index.js.map index d3c1b18..797eb39 100644 --- a/index.js.map +++ b/index.js.map @@ -1 +1 @@ -{"version":3,"file":"index.js","sources":["rmodal.js"],"sourcesContent":["const is = (obj, type) => Object.prototype.toString.call(obj).toLowerCase() === `[object ${type}]`;\r\n\r\nconst addClass = (el, cls) => {\r\n const arr = el.className\r\n .split(/\\s+/)\r\n .filter((c) => !!c && c == cls);\r\n\r\n if (!arr.length) {\r\n el.className += ` ${cls}`;\r\n }\r\n};\r\n\r\nconst removeClass = (el, cls) => {\r\n el.className = el.className\r\n .split(/\\s+/)\r\n .filter((c) => !!c && c != cls)\r\n .join(' ');\r\n};\r\n\r\nclass RModal {\r\n constructor(el, opts) {\r\n this.opened = false;\r\n\r\n this.opts = {\r\n bodyClass: 'modal-open'\r\n , dialogClass: 'modal-dialog'\r\n , dialogOpenClass: 'bounceInDown'\r\n , dialogCloseClass: 'bounceOutUp'\r\n\r\n , focus: true\r\n , focusElements: [\r\n 'a[href]', 'area[href]', 'input:not([disabled]):not([type=hidden])'\r\n , 'button:not([disabled])', 'select:not([disabled])'\r\n , 'textarea:not([disabled])', 'iframe', 'object', 'embed'\r\n , '*[tabindex]', '*[contenteditable]'\r\n ]\r\n\r\n , escapeClose: true\r\n , content: null\r\n , closeTimeout: 500\r\n };\r\n\r\n Object.keys(opts || {})\r\n .forEach((key) => {\r\n /* istanbul ignore else */\r\n if (opts[key] !== undefined) {\r\n this.opts[key] = opts[key];\r\n }\r\n });\r\n\r\n this.overlay = el;\r\n this.dialog = el.querySelector(`.${this.opts.dialogClass}`);\r\n\r\n if (this.opts.content) {\r\n this.content(this.opts.content);\r\n }\r\n }\r\n\r\n open(content) {\r\n this.content(content);\r\n\r\n if (!is(this.opts.beforeOpen, 'function')) {\r\n return this._doOpen();\r\n }\r\n\r\n this.opts.beforeOpen(() => {\r\n this._doOpen();\r\n });\r\n }\r\n\r\n _doOpen() {\r\n addClass(document.body, this.opts.bodyClass);\r\n\r\n removeClass(this.dialog, this.opts.dialogCloseClass);\r\n addClass(this.dialog, this.opts.dialogOpenClass);\r\n\r\n this.overlay.style.display = 'block';\r\n\r\n if (this.opts.focus) {\r\n this.focusOutElement = document.activeElement;\r\n this.focus();\r\n }\r\n\r\n if (is(this.opts.afterOpen, 'function')) {\r\n this.opts.afterOpen();\r\n }\r\n this.opened = true;\r\n }\r\n\r\n close() {\r\n if (!is(this.opts.beforeClose, 'function')) {\r\n return this._doClose();\r\n }\r\n\r\n this.opts.beforeClose(() => {\r\n this._doClose();\r\n });\r\n }\r\n\r\n _doClose() {\r\n removeClass(this.dialog, this.opts.dialogOpenClass);\r\n addClass(this.dialog, this.opts.dialogCloseClass);\r\n\r\n removeClass(document.body, this.opts.bodyClass);\r\n\r\n if (this.opts.focus) {\r\n this.focus(this.focusOutElement);\r\n }\r\n\r\n setTimeout(() => {\r\n this.overlay.style.display = 'none';\r\n\r\n if (is(this.opts.afterClose, 'function')) {\r\n this.opts.afterClose();\r\n }\r\n this.opened = false;\r\n }, this.opts.closeTimeout);\r\n }\r\n\r\n content(html) {\r\n if (html === undefined) {\r\n return this.dialog.innerHTML;\r\n }\r\n\r\n this.dialog.innerHTML = html;\r\n }\r\n\r\n elements(selector, fallback) {\r\n fallback = fallback || window.navigator.appVersion.indexOf('MSIE 9.0') > -1;\r\n selector = is(selector, 'array') ? selector.join(',') : selector;\r\n\r\n return [].filter.call(\r\n this.dialog.querySelectorAll(selector)\r\n , (element) => {\r\n if (fallback) {\r\n const style = window.getComputedStyle(element);\r\n return style.display !== 'none' && style.visibility !== 'hidden';\r\n }\r\n\r\n return element.offsetParent !== null;\r\n }\r\n );\r\n }\r\n\r\n focus(el) {\r\n el = el || this.elements(this.opts.focusElements)[0] || this.dialog.firstChild;\r\n\r\n if (el && is(el.focus, 'function')) {\r\n el.focus();\r\n }\r\n }\r\n\r\n keydown(ev) {\r\n if (this.opts.escapeClose && ev.which == 27) {\r\n this.close();\r\n }\r\n\r\n const stopEvent = () => {\r\n ev.preventDefault();\r\n ev.stopPropagation();\r\n }\r\n\r\n if (this.opened && ev.which == 9 && this.dialog.contains(ev.target)) {\r\n const elements = this.elements(this.opts.focusElements)\r\n , first = elements[0]\r\n , last = elements[elements.length - 1];\r\n\r\n if (first == last) {\r\n stopEvent();\r\n }\r\n else if (ev.target == first && ev.shiftKey) {\r\n stopEvent();\r\n last.focus();\r\n }\r\n else if (ev.target == last && !ev.shiftKey) {\r\n stopEvent();\r\n first.focus();\r\n }\r\n }\r\n }\r\n}\r\n\r\nRModal.prototype.version = '@@VERSION@@';\r\nRModal.version = '@@VERSION@@';\r\n\r\nexport default RModal;\r\n"],"names":["const","this"],"mappings":"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","preExistingComment":"//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjpudWxsLCJzb3VyY2VzIjpbIkQ6L1N0b3JhZ2UvTmV3IGZvbGRlci9ybW9kYWwuanMvc3JjL3Jtb2RhbC5qcyJdLCJzb3VyY2VzQ29udGVudCI6WyJjb25zdCBpcyA9IChvYmosIHR5cGUpID0+IE9iamVjdC5wcm90b3R5cGUudG9TdHJpbmcuY2FsbChvYmopLnRvTG93ZXJDYXNlKCkgPT09IGBbb2JqZWN0ICR7dHlwZX1dYDtcclxuXHJcbmNvbnN0IGFkZENsYXNzID0gKGVsLCBjbHMpID0+IHtcclxuICAgIGNvbnN0IGFyciA9IGVsLmNsYXNzTmFtZVxyXG4gICAgLnNwbGl0KC9cXHMrLylcclxuICAgIC5maWx0ZXIoKGMpID0+ICEhYyAmJiBjID09IGNscyk7XHJcblxyXG4gICAgaWYgKCFhcnIubGVuZ3RoKSB7XHJcbiAgICAgICAgZWwuY2xhc3NOYW1lICs9IGAgJHtjbHN9YDtcclxuICAgIH1cclxufTtcclxuXHJcbmNvbnN0IHJlbW92ZUNsYXNzID0gKGVsLCBjbHMpID0+IHtcclxuICAgIGVsLmNsYXNzTmFtZSA9IGVsLmNsYXNzTmFtZVxyXG4gICAgLnNwbGl0KC9cXHMrLylcclxuICAgIC5maWx0ZXIoKGMpID0+ICEhYyAmJiBjICE9IGNscylcclxuICAgIC5qb2luKCcgJyk7XHJcbn07XHJcblxyXG5jbGFzcyBSTW9kYWwge1xyXG4gICAgY29uc3RydWN0b3IoZWwsIG9wdHMpIHtcclxuICAgICAgICB0aGlzLm9wZW5lZCA9IGZhbHNlO1xyXG5cclxuICAgICAgICB0aGlzLm9wdHMgPSB7XHJcbiAgICAgICAgICAgIGJvZHlDbGFzczogJ21vZGFsLW9wZW4nXHJcbiAgICAgICAgICAgICwgZGlhbG9nQ2xhc3M6ICdtb2RhbC1kaWFsb2cnXHJcbiAgICAgICAgICAgICwgZGlhbG9nT3BlbkNsYXNzOiAnYm91bmNlSW5Eb3duJ1xyXG4gICAgICAgICAgICAsIGRpYWxvZ0Nsb3NlQ2xhc3M6ICdib3VuY2VPdXRVcCdcclxuXHJcbiAgICAgICAgICAgICwgZm9jdXM6IHRydWVcclxuICAgICAgICAgICAgLCBmb2N1c0VsZW1lbnRzOiBbXHJcbiAgICAgICAgICAgICAgICAnYVtocmVmXScsICdhcmVhW2hyZWZdJywgJ2lucHV0Om5vdChbZGlzYWJsZWRdKTpub3QoW3R5cGU9aGlkZGVuXSknXHJcbiAgICAgICAgICAgICAgICAsICdidXR0b246bm90KFtkaXNhYmxlZF0pJywgJ3NlbGVjdDpub3QoW2Rpc2FibGVkXSknXHJcbiAgICAgICAgICAgICAgICAsICd0ZXh0YXJlYTpub3QoW2Rpc2FibGVkXSknLCAnaWZyYW1lJywgJ29iamVjdCcsICdlbWJlZCdcclxuICAgICAgICAgICAgICAgICwgJypbdGFiaW5kZXhdJywgJypbY29udGVudGVkaXRhYmxlXSdcclxuICAgICAgICAgICAgXVxyXG5cclxuICAgICAgICAgICAgLCBlc2NhcGVDbG9zZTogdHJ1ZVxyXG4gICAgICAgICAgICAsIGNvbnRlbnQ6IG51bGxcclxuICAgICAgICAgICAgLCBjbG9zZVRpbWVvdXQ6IDUwMFxyXG4gICAgICAgIH07XHJcblxyXG4gICAgICAgIE9iamVjdC5rZXlzKG9wdHMgfHwge30pXHJcbiAgICAgICAgLmZvckVhY2goKGtleSkgPT4ge1xyXG4gICAgICAgICAgICAvKiBpc3RhbmJ1bCBpZ25vcmUgZWxzZSAqL1xyXG4gICAgICAgICAgICBpZiAob3B0c1trZXldICE9PSB1bmRlZmluZWQpIHtcclxuICAgICAgICAgICAgICAgIHRoaXMub3B0c1trZXldID0gb3B0c1trZXldO1xyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgfSk7XHJcblxyXG4gICAgICAgIHRoaXMub3ZlcmxheSA9IGVsO1xyXG4gICAgICAgIHRoaXMuZGlhbG9nID0gZWwucXVlcnlTZWxlY3RvcihgLiR7dGhpcy5vcHRzLmRpYWxvZ0NsYXNzfWApO1xyXG5cclxuICAgICAgICBpZiAodGhpcy5vcHRzLmNvbnRlbnQpIHtcclxuICAgICAgICAgICAgdGhpcy5jb250ZW50KHRoaXMub3B0cy5jb250ZW50KTtcclxuICAgICAgICB9XHJcbiAgICB9XHJcblxyXG4gICAgb3Blbihjb250ZW50KSB7XHJcbiAgICAgICAgdGhpcy5jb250ZW50KGNvbnRlbnQpO1xyXG5cclxuICAgICAgICBpZiAoIWlzKHRoaXMub3B0cy5iZWZvcmVPcGVuLCAnZnVuY3Rpb24nKSkge1xyXG4gICAgICAgICAgICByZXR1cm4gdGhpcy5fZG9PcGVuKCk7XHJcbiAgICAgICAgfVxyXG5cclxuICAgICAgICB0aGlzLm9wdHMuYmVmb3JlT3BlbigoKSA9PiB7XHJcbiAgICAgICAgICAgIHRoaXMuX2RvT3BlbigpO1xyXG4gICAgICAgIH0pO1xyXG4gICAgfVxyXG5cclxuICAgIF9kb09wZW4oKSB7XHJcbiAgICAgICAgYWRkQ2xhc3MoZG9jdW1lbnQuYm9keSwgdGhpcy5vcHRzLmJvZHlDbGFzcyk7XHJcblxyXG4gICAgICAgIHJlbW92ZUNsYXNzKHRoaXMuZGlhbG9nLCB0aGlzLm9wdHMuZGlhbG9nQ2xvc2VDbGFzcyk7XHJcbiAgICAgICAgYWRkQ2xhc3ModGhpcy5kaWFsb2csIHRoaXMub3B0cy5kaWFsb2dPcGVuQ2xhc3MpO1xyXG5cclxuICAgICAgICB0aGlzLm92ZXJsYXkuc3R5bGUuZGlzcGxheSA9ICdibG9jayc7XHJcblxyXG4gICAgICAgIGlmICh0aGlzLm9wdHMuZm9jdXMpIHtcclxuICAgICAgICAgICAgdGhpcy5mb2N1c091dEVsZW1lbnQgPSBkb2N1bWVudC5hY3RpdmVFbGVtZW50O1xyXG4gICAgICAgICAgICB0aGlzLmZvY3VzKCk7XHJcbiAgICAgICAgfVxyXG5cclxuICAgICAgICBpZiAoaXModGhpcy5vcHRzLmFmdGVyT3BlbiwgJ2Z1bmN0aW9uJykpIHtcclxuICAgICAgICAgICAgdGhpcy5vcHRzLmFmdGVyT3BlbigpO1xyXG4gICAgICAgIH1cclxuICAgICAgICB0aGlzLm9wZW5lZCA9IHRydWU7XHJcbiAgICB9XHJcblxyXG4gICAgY2xvc2UoKSB7XHJcbiAgICAgICAgaWYgKCFpcyh0aGlzLm9wdHMuYmVmb3JlQ2xvc2UsICdmdW5jdGlvbicpKSB7XHJcbiAgICAgICAgICAgIHJldHVybiB0aGlzLl9kb0Nsb3NlKCk7XHJcbiAgICAgICAgfVxyXG5cclxuICAgICAgICB0aGlzLm9wdHMuYmVmb3JlQ2xvc2UoKCkgPT4ge1xyXG4gICAgICAgICAgICB0aGlzLl9kb0Nsb3NlKCk7XHJcbiAgICAgICAgfSk7XHJcbiAgICB9XHJcblxyXG4gICAgX2RvQ2xvc2UoKSB7XHJcbiAgICAgICAgcmVtb3ZlQ2xhc3ModGhpcy5kaWFsb2csIHRoaXMub3B0cy5kaWFsb2dPcGVuQ2xhc3MpO1xyXG4gICAgICAgIGFkZENsYXNzKHRoaXMuZGlhbG9nLCB0aGlzLm9wdHMuZGlhbG9nQ2xvc2VDbGFzcyk7XHJcblxyXG4gICAgICAgIHJlbW92ZUNsYXNzKGRvY3VtZW50LmJvZHksIHRoaXMub3B0cy5ib2R5Q2xhc3MpO1xyXG5cclxuICAgICAgICBpZiAodGhpcy5vcHRzLmZvY3VzKSB7XHJcbiAgICAgICAgICAgIHRoaXMuZm9jdXModGhpcy5mb2N1c091dEVsZW1lbnQpO1xyXG4gICAgICAgIH1cclxuXHJcbiAgICAgICAgc2V0VGltZW91dCgoKSA9PiB7XHJcbiAgICAgICAgICAgIHRoaXMub3ZlcmxheS5zdHlsZS5kaXNwbGF5ID0gJ25vbmUnO1xyXG5cclxuICAgICAgICAgICAgaWYgKGlzKHRoaXMub3B0cy5hZnRlckNsb3NlLCAnZnVuY3Rpb24nKSkge1xyXG4gICAgICAgICAgICAgICAgdGhpcy5vcHRzLmFmdGVyQ2xvc2UoKTtcclxuICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICB0aGlzLm9wZW5lZCA9IGZhbHNlO1xyXG4gICAgICAgIH0sIHRoaXMub3B0cy5jbG9zZVRpbWVvdXQpO1xyXG4gICAgfVxyXG5cclxuICAgIGNvbnRlbnQoaHRtbCkge1xyXG4gICAgICAgIGlmIChodG1sID09PSB1bmRlZmluZWQpIHtcclxuICAgICAgICAgICAgcmV0dXJuIHRoaXMuZGlhbG9nLmlubmVySFRNTDtcclxuICAgICAgICB9XHJcblxyXG4gICAgICAgIHRoaXMuZGlhbG9nLmlubmVySFRNTCA9IGh0bWw7XHJcbiAgICB9XHJcblxyXG4gICAgZWxlbWVudHMoc2VsZWN0b3IsIGZhbGxiYWNrKSB7XHJcbiAgICAgICAgZmFsbGJhY2sgPSBmYWxsYmFjayB8fCB3aW5kb3cubmF2aWdhdG9yLmFwcFZlcnNpb24uaW5kZXhPZignTVNJRSA5LjAnKSA+IC0xO1xyXG4gICAgICAgIHNlbGVjdG9yID0gaXMoc2VsZWN0b3IsICdhcnJheScpID8gc2VsZWN0b3Iuam9pbignLCcpIDogc2VsZWN0b3I7XHJcblxyXG4gICAgICAgIHJldHVybiBbXS5maWx0ZXIuY2FsbChcclxuICAgICAgICAgICAgdGhpcy5kaWFsb2cucXVlcnlTZWxlY3RvckFsbChzZWxlY3RvcilcclxuICAgICAgICAgICAgLCAoZWxlbWVudCkgPT4ge1xyXG4gICAgICAgICAgICAgICAgaWYgKGZhbGxiYWNrKSB7XHJcbiAgICAgICAgICAgICAgICAgICAgY29uc3Qgc3R5bGUgPSB3aW5kb3cuZ2V0Q29tcHV0ZWRTdHlsZShlbGVtZW50KTtcclxuICAgICAgICAgICAgICAgICAgICByZXR1cm4gc3R5bGUuZGlzcGxheSAhPT0gJ25vbmUnICYmIHN0eWxlLnZpc2liaWxpdHkgIT09ICdoaWRkZW4nO1xyXG4gICAgICAgICAgICAgICAgfVxyXG5cclxuICAgICAgICAgICAgICAgIHJldHVybiBlbGVtZW50Lm9mZnNldFBhcmVudCAhPT0gbnVsbDtcclxuICAgICAgICAgICAgfVxyXG4gICAgICAgICk7XHJcbiAgICB9XHJcblxyXG4gICAgZm9jdXMoZWwpIHtcclxuICAgICAgICBlbCA9IGVsIHx8IHRoaXMuZWxlbWVudHModGhpcy5vcHRzLmZvY3VzRWxlbWVudHMpWzBdIHx8IHRoaXMuZGlhbG9nLmZpcnN0Q2hpbGQ7XHJcblxyXG4gICAgICAgIGlmIChlbCAmJiBpcyhlbC5mb2N1cywgJ2Z1bmN0aW9uJykpIHtcclxuICAgICAgICAgICAgZWwuZm9jdXMoKTtcclxuICAgICAgICB9XHJcbiAgICB9XHJcblxyXG4gICAga2V5ZG93bihldikge1xyXG4gICAgICAgIGlmICh0aGlzLm9wdHMuZXNjYXBlQ2xvc2UgJiYgZXYud2hpY2ggPT0gMjcpIHtcclxuICAgICAgICAgICAgdGhpcy5jbG9zZSgpO1xyXG4gICAgICAgIH1cclxuXHJcbiAgICAgICAgY29uc3Qgc3RvcEV2ZW50ID0gKCkgPT4ge1xyXG4gICAgICAgICAgICBldi5wcmV2ZW50RGVmYXVsdCgpO1xyXG4gICAgICAgICAgICBldi5zdG9wUHJvcGFnYXRpb24oKTtcclxuICAgICAgICB9XHJcblxyXG4gICAgICAgIGlmICh0aGlzLm9wZW5lZCAmJiBldi53aGljaCA9PSA5ICYmIHRoaXMuZGlhbG9nLmNvbnRhaW5zKGV2LnRhcmdldCkpIHtcclxuICAgICAgICAgICAgY29uc3QgZWxlbWVudHMgPSB0aGlzLmVsZW1lbnRzKHRoaXMub3B0cy5mb2N1c0VsZW1lbnRzKVxyXG4gICAgICAgICAgICAgICAgLCBmaXJzdCA9IGVsZW1lbnRzWzBdXHJcbiAgICAgICAgICAgICAgICAsIGxhc3QgPSBlbGVtZW50c1tlbGVtZW50cy5sZW5ndGggLSAxXTtcclxuXHJcbiAgICAgICAgICAgIGlmIChmaXJzdCA9PSBsYXN0KSB7XHJcbiAgICAgICAgICAgICAgICBzdG9wRXZlbnQoKTtcclxuICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICBlbHNlIGlmIChldi50YXJnZXQgPT0gZmlyc3QgJiYgZXYuc2hpZnRLZXkpIHtcclxuICAgICAgICAgICAgICAgIHN0b3BFdmVudCgpO1xyXG4gICAgICAgICAgICAgICAgbGFzdC5mb2N1cygpO1xyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgICAgIGVsc2UgaWYgKGV2LnRhcmdldCA9PSBsYXN0ICYmICFldi5zaGlmdEtleSkge1xyXG4gICAgICAgICAgICAgICAgc3RvcEV2ZW50KCk7XHJcbiAgICAgICAgICAgICAgICBmaXJzdC5mb2N1cygpO1xyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgfVxyXG4gICAgfVxyXG59XHJcblxyXG5STW9kYWwucHJvdG90eXBlLnZlcnNpb24gPSAnQEBWRVJTSU9OQEAnO1xyXG5STW9kYWwudmVyc2lvbiA9ICdAQFZFUlNJT05AQCc7XHJcblxyXG5leHBvcnQgZGVmYXVsdCBSTW9kYWw7XHJcbiJdLCJuYW1lcyI6WyJjb25zdCIsInRoaXMiXSwibWFwcGluZ3MiOiI7O0FBQUFBLElBQU0sRUFBRSxhQUFJLEdBQUcsRUFBRSxJQUFJLEVBQUUsU0FBRyxNQUFNLENBQUMsU0FBUyxDQUFDLFFBQVEsQ0FBQyxJQUFJLENBQUMsR0FBRyxDQUFDLENBQUMsV0FBVyxFQUFFLG1CQUFnQixJQUFJLFVBQUcsQ0FBQzs7QUFFbkdBLElBQU0sUUFBUSxhQUFJLEVBQUUsRUFBRSxHQUFHLEVBQUU7SUFDdkJBLElBQU0sR0FBRyxHQUFHLEVBQUUsQ0FBQyxTQUFTO0tBQ3ZCLEtBQUssQ0FBQyxLQUFLLENBQUM7S0FDWixNQUFNLFdBQUUsQ0FBQyxFQUFFLFNBQUcsQ0FBQyxDQUFDLENBQUMsSUFBSSxDQUFDLElBQUksTUFBRyxDQUFDLENBQUM7O0lBRWhDLElBQUksQ0FBQyxHQUFHLENBQUMsTUFBTSxFQUFFO1FBQ2IsRUFBRSxDQUFDLFNBQVMsSUFBSSxNQUFJLEdBQUcsQ0FBRztLQUM3QjtDQUNKLENBQUM7O0FBRUZBLElBQU0sV0FBVyxhQUFJLEVBQUUsRUFBRSxHQUFHLEVBQUU7SUFDMUIsRUFBRSxDQUFDLFNBQVMsR0FBRyxFQUFFLENBQUMsU0FBUztLQUMxQixLQUFLLENBQUMsS0FBSyxDQUFDO0tBQ1osTUFBTSxXQUFFLENBQUMsRUFBRSxTQUFHLENBQUMsQ0FBQyxDQUFDLElBQUksQ0FBQyxJQUFJLE1BQUcsQ0FBQztLQUM5QixJQUFJLENBQUMsR0FBRyxDQUFDLENBQUM7Q0FDZCxDQUFDOztBQUVGLElBQU0sTUFBTSxHQUNSLGVBQVcsQ0FBQyxFQUFFLEVBQUUsSUFBSSxFQUFFOzs7SUFDdEIsSUFBUSxDQUFDLE1B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"} \ No newline at end of file +{"version":3,"file":"index.js","sources":["rmodal.js"],"sourcesContent":["const is = (obj, type) => Object.prototype.toString.call(obj).toLowerCase() === `[object ${type}]`;\n\nconst addClass = (el, cls) => {\n const arr = el.className\n .split(/\\s+/)\n .filter((c) => !!c && c == cls);\n\n if (!arr.length) {\n el.className += ` ${cls}`;\n }\n};\n\nconst removeClass = (el, cls) => {\n el.className = el.className\n .split(/\\s+/)\n .filter((c) => !!c && c != cls)\n .join(' ');\n};\n\nclass RModal {\n constructor(el, opts) {\n this.opened = false;\n\n this.opts = {\n bodyClass: 'modal-open'\n , dialogClass: 'modal-dialog'\n , dialogOpenClass: 'bounceInDown'\n , dialogCloseClass: 'bounceOutUp'\n\n , focus: true\n , focusElements: [\n 'a[href]', 'area[href]', 'input:not([disabled]):not([type=hidden])'\n , 'button:not([disabled])', 'select:not([disabled])'\n , 'textarea:not([disabled])', 'iframe', 'object', 'embed'\n , '*[tabindex]', '*[contenteditable]'\n ]\n\n , escapeClose: true\n , content: null\n , closeTimeout: 500\n };\n\n Object.keys(opts || {})\n .forEach((key) => {\n /* istanbul ignore else */\n if (opts[key] !== undefined) {\n this.opts[key] = opts[key];\n }\n });\n\n this.overlay = el;\n this.dialog = el.querySelector(`.${this.opts.dialogClass}`);\n\n if (this.opts.content) {\n this.content(this.opts.content);\n }\n }\n\n open(content) {\n this.content(content);\n\n if (!is(this.opts.beforeOpen, 'function')) {\n return this._doOpen();\n }\n\n this.opts.beforeOpen(() => {\n this._doOpen();\n });\n }\n\n _doOpen() {\n addClass(document.body, this.opts.bodyClass);\n\n removeClass(this.dialog, this.opts.dialogCloseClass);\n addClass(this.dialog, this.opts.dialogOpenClass);\n\n this.overlay.style.display = 'block';\n\n if (this.opts.focus) {\n this.focusOutElement = document.activeElement;\n this.focus();\n }\n\n if (is(this.opts.afterOpen, 'function')) {\n this.opts.afterOpen();\n }\n this.opened = true;\n }\n\n close() {\n if (!is(this.opts.beforeClose, 'function')) {\n return this._doClose();\n }\n\n this.opts.beforeClose(() => {\n this._doClose();\n });\n }\n\n _doClose() {\n removeClass(this.dialog, this.opts.dialogOpenClass);\n addClass(this.dialog, this.opts.dialogCloseClass);\n\n removeClass(document.body, this.opts.bodyClass);\n\n if (this.opts.focus) {\n this.focus(this.focusOutElement);\n }\n\n setTimeout(() => {\n this.overlay.style.display = 'none';\n\n if (is(this.opts.afterClose, 'function')) {\n this.opts.afterClose();\n }\n this.opened = false;\n }, this.opts.closeTimeout);\n }\n\n content(html) {\n if (html === undefined) {\n return this.dialog.innerHTML;\n }\n\n this.dialog.innerHTML = html;\n }\n\n elements(selector, fallback) {\n fallback = fallback || window.navigator.appVersion.indexOf('MSIE 9.0') > -1;\n selector = is(selector, 'array') ? selector.join(',') : selector;\n\n return [].filter.call(\n this.dialog.querySelectorAll(selector)\n , (element) => {\n if (fallback) {\n const style = window.getComputedStyle(element);\n return style.display !== 'none' && style.visibility !== 'hidden';\n }\n\n return element.offsetParent !== null;\n }\n );\n }\n\n focus(el) {\n el = el || this.elements(this.opts.focusElements)[0] || this.dialog.firstChild;\n\n if (el && is(el.focus, 'function')) {\n el.focus();\n }\n }\n\n keydown(ev) {\n if (this.opts.escapeClose && ev.which == 27) {\n this.close();\n }\n\n const stopEvent = () => {\n ev.preventDefault();\n ev.stopPropagation();\n }\n\n if (this.opened && ev.which == 9 && this.dialog.contains(ev.target)) {\n const elements = this.elements(this.opts.focusElements)\n , first = elements[0]\n , last = elements[elements.length - 1];\n\n if (first == last) {\n stopEvent();\n }\n else if (ev.target == first && ev.shiftKey) {\n stopEvent();\n last.focus();\n }\n else if (ev.target == last && !ev.shiftKey) {\n stopEvent();\n first.focus();\n }\n }\n }\n}\n\nRModal.prototype.version = '@@VERSION@@';\nRModal.version = '@@VERSION@@';\n\nexport default RModal;\n"],"names":["const","this"],"mappings":"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","preExistingComment":"//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjpudWxsLCJzb3VyY2VzIjpbIi9Vc2Vycy93aXNoL0Rlc2t0b3Avcm1vZGFsLmpzL3NyYy9ybW9kYWwuanMiXSwic291cmNlc0NvbnRlbnQiOlsiY29uc3QgaXMgPSAob2JqLCB0eXBlKSA9PiBPYmplY3QucHJvdG90eXBlLnRvU3RyaW5nLmNhbGwob2JqKS50b0xvd2VyQ2FzZSgpID09PSBgW29iamVjdCAke3R5cGV9XWA7XG5cbmNvbnN0IGFkZENsYXNzID0gKGVsLCBjbHMpID0+IHtcbiAgICBjb25zdCBhcnIgPSBlbC5jbGFzc05hbWVcbiAgICAuc3BsaXQoL1xccysvKVxuICAgIC5maWx0ZXIoKGMpID0+ICEhYyAmJiBjID09IGNscyk7XG5cbiAgICBpZiAoIWFyci5sZW5ndGgpIHtcbiAgICAgICAgZWwuY2xhc3NOYW1lICs9IGAgJHtjbHN9YDtcbiAgICB9XG59O1xuXG5jb25zdCByZW1vdmVDbGFzcyA9IChlbCwgY2xzKSA9PiB7XG4gICAgZWwuY2xhc3NOYW1lID0gZWwuY2xhc3NOYW1lXG4gICAgLnNwbGl0KC9cXHMrLylcbiAgICAuZmlsdGVyKChjKSA9PiAhIWMgJiYgYyAhPSBjbHMpXG4gICAgLmpvaW4oJyAnKTtcbn07XG5cbmNsYXNzIFJNb2RhbCB7XG4gICAgY29uc3RydWN0b3IoZWwsIG9wdHMpIHtcbiAgICAgICAgdGhpcy5vcGVuZWQgPSBmYWxzZTtcblxuICAgICAgICB0aGlzLm9wdHMgPSB7XG4gICAgICAgICAgICBib2R5Q2xhc3M6ICdtb2RhbC1vcGVuJ1xuICAgICAgICAgICAgLCBkaWFsb2dDbGFzczogJ21vZGFsLWRpYWxvZydcbiAgICAgICAgICAgICwgZGlhbG9nT3BlbkNsYXNzOiAnYm91bmNlSW5Eb3duJ1xuICAgICAgICAgICAgLCBkaWFsb2dDbG9zZUNsYXNzOiAnYm91bmNlT3V0VXAnXG5cbiAgICAgICAgICAgICwgZm9jdXM6IHRydWVcbiAgICAgICAgICAgICwgZm9jdXNFbGVtZW50czogW1xuICAgICAgICAgICAgICAgICdhW2hyZWZdJywgJ2FyZWFbaHJlZl0nLCAnaW5wdXQ6bm90KFtkaXNhYmxlZF0pOm5vdChbdHlwZT1oaWRkZW5dKSdcbiAgICAgICAgICAgICAgICAsICdidXR0b246bm90KFtkaXNhYmxlZF0pJywgJ3NlbGVjdDpub3QoW2Rpc2FibGVkXSknXG4gICAgICAgICAgICAgICAgLCAndGV4dGFyZWE6bm90KFtkaXNhYmxlZF0pJywgJ2lmcmFtZScsICdvYmplY3QnLCAnZW1iZWQnXG4gICAgICAgICAgICAgICAgLCAnKlt0YWJpbmRleF0nLCAnKltjb250ZW50ZWRpdGFibGVdJ1xuICAgICAgICAgICAgXVxuXG4gICAgICAgICAgICAsIGVzY2FwZUNsb3NlOiB0cnVlXG4gICAgICAgICAgICAsIGNvbnRlbnQ6IG51bGxcbiAgICAgICAgICAgICwgY2xvc2VUaW1lb3V0OiA1MDBcbiAgICAgICAgfTtcblxuICAgICAgICBPYmplY3Qua2V5cyhvcHRzIHx8IHt9KVxuICAgICAgICAuZm9yRWFjaCgoa2V5KSA9PiB7XG4gICAgICAgICAgICAvKiBpc3RhbmJ1bCBpZ25vcmUgZWxzZSAqL1xuICAgICAgICAgICAgaWYgKG9wdHNba2V5XSAhPT0gdW5kZWZpbmVkKSB7XG4gICAgICAgICAgICAgICAgdGhpcy5vcHRzW2tleV0gPSBvcHRzW2tleV07XG4gICAgICAgICAgICB9XG4gICAgICAgIH0pO1xuXG4gICAgICAgIHRoaXMub3ZlcmxheSA9IGVsO1xuICAgICAgICB0aGlzLmRpYWxvZyA9IGVsLnF1ZXJ5U2VsZWN0b3IoYC4ke3RoaXMub3B0cy5kaWFsb2dDbGFzc31gKTtcblxuICAgICAgICBpZiAodGhpcy5vcHRzLmNvbnRlbnQpIHtcbiAgICAgICAgICAgIHRoaXMuY29udGVudCh0aGlzLm9wdHMuY29udGVudCk7XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICBvcGVuKGNvbnRlbnQpIHtcbiAgICAgICAgdGhpcy5jb250ZW50KGNvbnRlbnQpO1xuXG4gICAgICAgIGlmICghaXModGhpcy5vcHRzLmJlZm9yZU9wZW4sICdmdW5jdGlvbicpKSB7XG4gICAgICAgICAgICByZXR1cm4gdGhpcy5fZG9PcGVuKCk7XG4gICAgICAgIH1cblxuICAgICAgICB0aGlzLm9wdHMuYmVmb3JlT3BlbigoKSA9PiB7XG4gICAgICAgICAgICB0aGlzLl9kb09wZW4oKTtcbiAgICAgICAgfSk7XG4gICAgfVxuXG4gICAgX2RvT3BlbigpIHtcbiAgICAgICAgYWRkQ2xhc3MoZG9jdW1lbnQuYm9keSwgdGhpcy5vcHRzLmJvZHlDbGFzcyk7XG5cbiAgICAgICAgcmVtb3ZlQ2xhc3ModGhpcy5kaWFsb2csIHRoaXMub3B0cy5kaWFsb2dDbG9zZUNsYXNzKTtcbiAgICAgICAgYWRkQ2xhc3ModGhpcy5kaWFsb2csIHRoaXMub3B0cy5kaWFsb2dPcGVuQ2xhc3MpO1xuXG4gICAgICAgIHRoaXMub3ZlcmxheS5zdHlsZS5kaXNwbGF5ID0gJ2Jsb2NrJztcblxuICAgICAgICBpZiAodGhpcy5vcHRzLmZvY3VzKSB7XG4gICAgICAgICAgICB0aGlzLmZvY3VzT3V0RWxlbWVudCA9IGRvY3VtZW50LmFjdGl2ZUVsZW1lbnQ7XG4gICAgICAgICAgICB0aGlzLmZvY3VzKCk7XG4gICAgICAgIH1cblxuICAgICAgICBpZiAoaXModGhpcy5vcHRzLmFmdGVyT3BlbiwgJ2Z1bmN0aW9uJykpIHtcbiAgICAgICAgICAgIHRoaXMub3B0cy5hZnRlck9wZW4oKTtcbiAgICAgICAgfVxuICAgICAgICB0aGlzLm9wZW5lZCA9IHRydWU7XG4gICAgfVxuXG4gICAgY2xvc2UoKSB7XG4gICAgICAgIGlmICghaXModGhpcy5vcHRzLmJlZm9yZUNsb3NlLCAnZnVuY3Rpb24nKSkge1xuICAgICAgICAgICAgcmV0dXJuIHRoaXMuX2RvQ2xvc2UoKTtcbiAgICAgICAgfVxuXG4gICAgICAgIHRoaXMub3B0cy5iZWZvcmVDbG9zZSgoKSA9PiB7XG4gICAgICAgICAgICB0aGlzLl9kb0Nsb3NlKCk7XG4gICAgICAgIH0pO1xuICAgIH1cblxuICAgIF9kb0Nsb3NlKCkge1xuICAgICAgICByZW1vdmVDbGFzcyh0aGlzLmRpYWxvZywgdGhpcy5vcHRzLmRpYWxvZ09wZW5DbGFzcyk7XG4gICAgICAgIGFkZENsYXNzKHRoaXMuZGlhbG9nLCB0aGlzLm9wdHMuZGlhbG9nQ2xvc2VDbGFzcyk7XG5cbiAgICAgICAgcmVtb3ZlQ2xhc3MoZG9jdW1lbnQuYm9keSwgdGhpcy5vcHRzLmJvZHlDbGFzcyk7XG5cbiAgICAgICAgaWYgKHRoaXMub3B0cy5mb2N1cykge1xuICAgICAgICAgICAgdGhpcy5mb2N1cyh0aGlzLmZvY3VzT3V0RWxlbWVudCk7XG4gICAgICAgIH1cblxuICAgICAgICBzZXRUaW1lb3V0KCgpID0+IHtcbiAgICAgICAgICAgIHRoaXMub3ZlcmxheS5zdHlsZS5kaXNwbGF5ID0gJ25vbmUnO1xuXG4gICAgICAgICAgICBpZiAoaXModGhpcy5vcHRzLmFmdGVyQ2xvc2UsICdmdW5jdGlvbicpKSB7XG4gICAgICAgICAgICAgICAgdGhpcy5vcHRzLmFmdGVyQ2xvc2UoKTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgICAgIHRoaXMub3BlbmVkID0gZmFsc2U7XG4gICAgICAgIH0sIHRoaXMub3B0cy5jbG9zZVRpbWVvdXQpO1xuICAgIH1cblxuICAgIGNvbnRlbnQoaHRtbCkge1xuICAgICAgICBpZiAoaHRtbCA9PT0gdW5kZWZpbmVkKSB7XG4gICAgICAgICAgICByZXR1cm4gdGhpcy5kaWFsb2cuaW5uZXJIVE1MO1xuICAgICAgICB9XG5cbiAgICAgICAgdGhpcy5kaWFsb2cuaW5uZXJIVE1MID0gaHRtbDtcbiAgICB9XG5cbiAgICBlbGVtZW50cyhzZWxlY3RvciwgZmFsbGJhY2spIHtcbiAgICAgICAgZmFsbGJhY2sgPSBmYWxsYmFjayB8fCB3aW5kb3cubmF2aWdhdG9yLmFwcFZlcnNpb24uaW5kZXhPZignTVNJRSA5LjAnKSA+IC0xO1xuICAgICAgICBzZWxlY3RvciA9IGlzKHNlbGVjdG9yLCAnYXJyYXknKSA/IHNlbGVjdG9yLmpvaW4oJywnKSA6IHNlbGVjdG9yO1xuXG4gICAgICAgIHJldHVybiBbXS5maWx0ZXIuY2FsbChcbiAgICAgICAgICAgIHRoaXMuZGlhbG9nLnF1ZXJ5U2VsZWN0b3JBbGwoc2VsZWN0b3IpXG4gICAgICAgICAgICAsIChlbGVtZW50KSA9PiB7XG4gICAgICAgICAgICAgICAgaWYgKGZhbGxiYWNrKSB7XG4gICAgICAgICAgICAgICAgICAgIGNvbnN0IHN0eWxlID0gd2luZG93LmdldENvbXB1dGVkU3R5bGUoZWxlbWVudCk7XG4gICAgICAgICAgICAgICAgICAgIHJldHVybiBzdHlsZS5kaXNwbGF5ICE9PSAnbm9uZScgJiYgc3R5bGUudmlzaWJpbGl0eSAhPT0gJ2hpZGRlbic7XG4gICAgICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICAgICAgcmV0dXJuIGVsZW1lbnQub2Zmc2V0UGFyZW50ICE9PSBudWxsO1xuICAgICAgICAgICAgfVxuICAgICAgICApO1xuICAgIH1cblxuICAgIGZvY3VzKGVsKSB7XG4gICAgICAgIGVsID0gZWwgfHwgdGhpcy5lbGVtZW50cyh0aGlzLm9wdHMuZm9jdXNFbGVtZW50cylbMF0gfHwgdGhpcy5kaWFsb2cuZmlyc3RDaGlsZDtcblxuICAgICAgICBpZiAoZWwgJiYgaXMoZWwuZm9jdXMsICdmdW5jdGlvbicpKSB7XG4gICAgICAgICAgICBlbC5mb2N1cygpO1xuICAgICAgICB9XG4gICAgfVxuXG4gICAga2V5ZG93bihldikge1xuICAgICAgICBpZiAodGhpcy5vcHRzLmVzY2FwZUNsb3NlICYmIGV2LndoaWNoID09IDI3KSB7XG4gICAgICAgICAgICB0aGlzLmNsb3NlKCk7XG4gICAgICAgIH1cblxuICAgICAgICBjb25zdCBzdG9wRXZlbnQgPSAoKSA9PiB7XG4gICAgICAgICAgICBldi5wcmV2ZW50RGVmYXVsdCgpO1xuICAgICAgICAgICAgZXYuc3RvcFByb3BhZ2F0aW9uKCk7XG4gICAgICAgIH1cblxuICAgICAgICBpZiAodGhpcy5vcGVuZWQgJiYgZXYud2hpY2ggPT0gOSAmJiB0aGlzLmRpYWxvZy5jb250YWlucyhldi50YXJnZXQpKSB7XG4gICAgICAgICAgICBjb25zdCBlbGVtZW50cyA9IHRoaXMuZWxlbWVudHModGhpcy5vcHRzLmZvY3VzRWxlbWVudHMpXG4gICAgICAgICAgICAgICAgLCBmaXJzdCA9IGVsZW1lbnRzWzBdXG4gICAgICAgICAgICAgICAgLCBsYXN0ID0gZWxlbWVudHNbZWxlbWVudHMubGVuZ3RoIC0gMV07XG5cbiAgICAgICAgICAgIGlmIChmaXJzdCA9PSBsYXN0KSB7XG4gICAgICAgICAgICAgICAgc3RvcEV2ZW50KCk7XG4gICAgICAgICAgICB9XG4gICAgICAgICAgICBlbHNlIGlmIChldi50YXJnZXQgPT0gZmlyc3QgJiYgZXYuc2hpZnRLZXkpIHtcbiAgICAgICAgICAgICAgICBzdG9wRXZlbnQoKTtcbiAgICAgICAgICAgICAgICBsYXN0LmZvY3VzKCk7XG4gICAgICAgICAgICB9XG4gICAgICAgICAgICBlbHNlIGlmIChldi50YXJnZXQgPT0gbGFzdCAmJiAhZXYuc2hpZnRLZXkpIHtcbiAgICAgICAgICAgICAgICBzdG9wRXZlbnQoKTtcbiAgICAgICAgICAgICAgICBmaXJzdC5mb2N1cygpO1xuICAgICAgICAgICAgfVxuICAgICAgICB9XG4gICAgfVxufVxuXG5STW9kYWwucHJvdG90eXBlLnZlcnNpb24gPSAnQEBWRVJTSU9OQEAnO1xuUk1vZGFsLnZlcnNpb24gPSAnQEBWRVJTSU9OQEAnO1xuXG5leHBvcnQgZGVmYXVsdCBSTW9kYWw7XG4iXSwibmFtZXMiOlsiY29uc3QiLCJ0aGlzIl0sIm1hcHBpbmdzIjoiOztBQUFBQSxJQUFNLEVBQUUsYUFBSSxHQUFHLEVBQUUsSUFBSSxFQUFFLFNBQUcsTUFBTSxDQUFDLFNBQVMsQ0FBQyxRQUFRLENBQUMsSUFBSSxDQUFDLEdBQUcsQ0FBQyxDQUFDLFdBQVcsRUFBRSxtQkFBZ0IsSUFBSSxVQUFHLENBQUM7O0FBRW5HQSxJQUFNLFFBQVEsYUFBSSxFQUFFLEVBQUUsR0FBRyxF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"} \ No newline at end of file diff --git a/package-lock.json b/package-lock.json index 50324ac..35a0424 100644 --- a/package-lock.json +++ b/package-lock.json @@ -1,6 +1,6 @@ { "name": "rmodal", - "version": "1.0.34", + "version": "1.0.35", "lockfileVersion": 1, "requires": true, "dependencies": { diff --git a/package.json b/package.json index 2152b7a..7c05426 100644 --- a/package.json +++ b/package.json @@ -1,6 +1,6 @@ { "name": "rmodal", - "version": "1.0.34", + "version": "1.0.35", "description": "A simple modal dialog with no external dependencies. IE9+ supported.", "main": "index.js", "module": "index.es.js",