vertx-howtos-jekyll-theme 0.1.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (164) hide show
  1. checksums.yaml +7 -0
  2. data/LICENSE.txt +21 -0
  3. data/README.md +52 -0
  4. data/_layouts/page.html +61 -0
  5. data/_sass/bootstrap/js/dist/alert.js +199 -0
  6. data/_sass/bootstrap/js/dist/alert.js.map +1 -0
  7. data/_sass/bootstrap/js/dist/button.js +187 -0
  8. data/_sass/bootstrap/js/dist/button.js.map +1 -0
  9. data/_sass/bootstrap/js/dist/carousel.js +666 -0
  10. data/_sass/bootstrap/js/dist/carousel.js.map +1 -0
  11. data/_sass/bootstrap/js/dist/collapse.js +428 -0
  12. data/_sass/bootstrap/js/dist/collapse.js.map +1 -0
  13. data/_sass/bootstrap/js/dist/dropdown.js +591 -0
  14. data/_sass/bootstrap/js/dist/dropdown.js.map +1 -0
  15. data/_sass/bootstrap/js/dist/index.js +23 -0
  16. data/_sass/bootstrap/js/dist/index.js.map +1 -0
  17. data/_sass/bootstrap/js/dist/modal.js +644 -0
  18. data/_sass/bootstrap/js/dist/modal.js.map +1 -0
  19. data/_sass/bootstrap/js/dist/popover.js +261 -0
  20. data/_sass/bootstrap/js/dist/popover.js.map +1 -0
  21. data/_sass/bootstrap/js/dist/scrollspy.js +375 -0
  22. data/_sass/bootstrap/js/dist/scrollspy.js.map +1 -0
  23. data/_sass/bootstrap/js/dist/tab.js +266 -0
  24. data/_sass/bootstrap/js/dist/tab.js.map +1 -0
  25. data/_sass/bootstrap/js/dist/toast.js +278 -0
  26. data/_sass/bootstrap/js/dist/toast.js.map +1 -0
  27. data/_sass/bootstrap/js/dist/tooltip.js +745 -0
  28. data/_sass/bootstrap/js/dist/tooltip.js.map +1 -0
  29. data/_sass/bootstrap/js/dist/util.js +168 -0
  30. data/_sass/bootstrap/js/dist/util.js.map +1 -0
  31. data/_sass/bootstrap/js/src/alert.js +179 -0
  32. data/_sass/bootstrap/js/src/button.js +171 -0
  33. data/_sass/bootstrap/js/src/carousel.js +604 -0
  34. data/_sass/bootstrap/js/src/collapse.js +402 -0
  35. data/_sass/bootstrap/js/src/dropdown.js +538 -0
  36. data/_sass/bootstrap/js/src/index.js +52 -0
  37. data/_sass/bootstrap/js/src/modal.js +587 -0
  38. data/_sass/bootstrap/js/src/popover.js +184 -0
  39. data/_sass/bootstrap/js/src/scrollspy.js +326 -0
  40. data/_sass/bootstrap/js/src/tab.js +257 -0
  41. data/_sass/bootstrap/js/src/toast.js +223 -0
  42. data/_sass/bootstrap/js/src/tooltip.js +735 -0
  43. data/_sass/bootstrap/js/src/util.js +173 -0
  44. data/_sass/bootstrap/js/tests/README.md +69 -0
  45. data/_sass/bootstrap/js/tests/browsers.js +82 -0
  46. data/_sass/bootstrap/js/tests/index.html +145 -0
  47. data/_sass/bootstrap/js/tests/integration/bundle.js +8 -0
  48. data/_sass/bootstrap/js/tests/integration/index.html +66 -0
  49. data/_sass/bootstrap/js/tests/integration/rollup.bundle.js +20 -0
  50. data/_sass/bootstrap/js/tests/karma.conf.js +145 -0
  51. data/_sass/bootstrap/js/tests/unit/.eslintrc.json +40 -0
  52. data/_sass/bootstrap/js/tests/unit/alert.js +123 -0
  53. data/_sass/bootstrap/js/tests/unit/button.js +222 -0
  54. data/_sass/bootstrap/js/tests/unit/carousel.js +1273 -0
  55. data/_sass/bootstrap/js/tests/unit/collapse.js +892 -0
  56. data/_sass/bootstrap/js/tests/unit/dropdown.js +1364 -0
  57. data/_sass/bootstrap/js/tests/unit/modal.js +796 -0
  58. data/_sass/bootstrap/js/tests/unit/popover.js +471 -0
  59. data/_sass/bootstrap/js/tests/unit/scrollspy.js +728 -0
  60. data/_sass/bootstrap/js/tests/unit/tab.js +462 -0
  61. data/_sass/bootstrap/js/tests/unit/toast.js +239 -0
  62. data/_sass/bootstrap/js/tests/unit/tooltip.js +1072 -0
  63. data/_sass/bootstrap/js/tests/unit/util.js +164 -0
  64. data/_sass/bootstrap/js/tests/visual/alert.html +58 -0
  65. data/_sass/bootstrap/js/tests/visual/button.html +51 -0
  66. data/_sass/bootstrap/js/tests/visual/carousel.html +66 -0
  67. data/_sass/bootstrap/js/tests/visual/collapse.html +78 -0
  68. data/_sass/bootstrap/js/tests/visual/dropdown.html +212 -0
  69. data/_sass/bootstrap/js/tests/visual/modal.html +268 -0
  70. data/_sass/bootstrap/js/tests/visual/popover.html +46 -0
  71. data/_sass/bootstrap/js/tests/visual/scrollspy.html +95 -0
  72. data/_sass/bootstrap/js/tests/visual/tab.html +234 -0
  73. data/_sass/bootstrap/js/tests/visual/toast.html +72 -0
  74. data/_sass/bootstrap/js/tests/visual/tooltip.html +106 -0
  75. data/_sass/bootstrap/scss/_alert.scss +51 -0
  76. data/_sass/bootstrap/scss/_badge.scss +53 -0
  77. data/_sass/bootstrap/scss/_breadcrumb.scss +41 -0
  78. data/_sass/bootstrap/scss/_button-group.scss +163 -0
  79. data/_sass/bootstrap/scss/_buttons.scss +140 -0
  80. data/_sass/bootstrap/scss/_card.scss +310 -0
  81. data/_sass/bootstrap/scss/_carousel.scss +198 -0
  82. data/_sass/bootstrap/scss/_close.scss +44 -0
  83. data/_sass/bootstrap/scss/_code.scss +48 -0
  84. data/_sass/bootstrap/scss/_custom-forms.scss +507 -0
  85. data/_sass/bootstrap/scss/_dropdown.scss +191 -0
  86. data/_sass/bootstrap/scss/_forms.scss +334 -0
  87. data/_sass/bootstrap/scss/_functions.scss +86 -0
  88. data/_sass/bootstrap/scss/_grid.scss +52 -0
  89. data/_sass/bootstrap/scss/_images.scss +42 -0
  90. data/_sass/bootstrap/scss/_input-group.scss +193 -0
  91. data/_sass/bootstrap/scss/_jumbotron.scss +16 -0
  92. data/_sass/bootstrap/scss/_list-group.scss +121 -0
  93. data/_sass/bootstrap/scss/_media.scss +8 -0
  94. data/_sass/bootstrap/scss/_mixins.scss +41 -0
  95. data/_sass/bootstrap/scss/_modal.scss +186 -0
  96. data/_sass/bootstrap/scss/_nav.scss +120 -0
  97. data/_sass/bootstrap/scss/_navbar.scss +299 -0
  98. data/_sass/bootstrap/scss/_pagination.scss +78 -0
  99. data/_sass/bootstrap/scss/_popover.scss +183 -0
  100. data/_sass/bootstrap/scss/_print.scss +141 -0
  101. data/_sass/bootstrap/scss/_progress.scss +34 -0
  102. data/_sass/bootstrap/scss/_reboot.scss +462 -0
  103. data/_sass/bootstrap/scss/_root.scss +19 -0
  104. data/_sass/bootstrap/scss/_spinners.scss +53 -0
  105. data/_sass/bootstrap/scss/_tables.scss +187 -0
  106. data/_sass/bootstrap/scss/_toasts.scss +43 -0
  107. data/_sass/bootstrap/scss/_tooltip.scss +115 -0
  108. data/_sass/bootstrap/scss/_transitions.scss +22 -0
  109. data/_sass/bootstrap/scss/_type.scss +125 -0
  110. data/_sass/bootstrap/scss/_utilities.scss +16 -0
  111. data/_sass/bootstrap/scss/_variables.scss +1091 -0
  112. data/_sass/bootstrap/scss/bootstrap-grid.scss +29 -0
  113. data/_sass/bootstrap/scss/bootstrap-reboot.scss +12 -0
  114. data/_sass/bootstrap/scss/bootstrap.scss +44 -0
  115. data/_sass/bootstrap/scss/mixins/_alert.scss +13 -0
  116. data/_sass/bootstrap/scss/mixins/_background-variant.scss +21 -0
  117. data/_sass/bootstrap/scss/mixins/_badge.scss +11 -0
  118. data/_sass/bootstrap/scss/mixins/_border-radius.scss +35 -0
  119. data/_sass/bootstrap/scss/mixins/_box-shadow.scss +5 -0
  120. data/_sass/bootstrap/scss/mixins/_breakpoints.scss +123 -0
  121. data/_sass/bootstrap/scss/mixins/_buttons.scss +111 -0
  122. data/_sass/bootstrap/scss/mixins/_caret.scss +62 -0
  123. data/_sass/bootstrap/scss/mixins/_clearfix.scss +7 -0
  124. data/_sass/bootstrap/scss/mixins/_float.scss +11 -0
  125. data/_sass/bootstrap/scss/mixins/_forms.scss +198 -0
  126. data/_sass/bootstrap/scss/mixins/_gradients.scss +45 -0
  127. data/_sass/bootstrap/scss/mixins/_grid-framework.scss +66 -0
  128. data/_sass/bootstrap/scss/mixins/_grid.scss +51 -0
  129. data/_sass/bootstrap/scss/mixins/_hover.scss +37 -0
  130. data/_sass/bootstrap/scss/mixins/_image.scss +36 -0
  131. data/_sass/bootstrap/scss/mixins/_list-group.scss +21 -0
  132. data/_sass/bootstrap/scss/mixins/_lists.scss +7 -0
  133. data/_sass/bootstrap/scss/mixins/_nav-divider.scss +10 -0
  134. data/_sass/bootstrap/scss/mixins/_pagination.scss +22 -0
  135. data/_sass/bootstrap/scss/mixins/_reset-text.scss +17 -0
  136. data/_sass/bootstrap/scss/mixins/_resize.scss +6 -0
  137. data/_sass/bootstrap/scss/mixins/_screen-reader.scss +33 -0
  138. data/_sass/bootstrap/scss/mixins/_size.scss +6 -0
  139. data/_sass/bootstrap/scss/mixins/_table-row.scss +39 -0
  140. data/_sass/bootstrap/scss/mixins/_text-emphasis.scss +14 -0
  141. data/_sass/bootstrap/scss/mixins/_text-hide.scss +13 -0
  142. data/_sass/bootstrap/scss/mixins/_text-truncate.scss +8 -0
  143. data/_sass/bootstrap/scss/mixins/_transition.scss +16 -0
  144. data/_sass/bootstrap/scss/mixins/_visibility.scss +7 -0
  145. data/_sass/bootstrap/scss/utilities/_align.scss +8 -0
  146. data/_sass/bootstrap/scss/utilities/_background.scss +19 -0
  147. data/_sass/bootstrap/scss/utilities/_borders.scss +63 -0
  148. data/_sass/bootstrap/scss/utilities/_clearfix.scss +3 -0
  149. data/_sass/bootstrap/scss/utilities/_display.scss +38 -0
  150. data/_sass/bootstrap/scss/utilities/_embed.scss +39 -0
  151. data/_sass/bootstrap/scss/utilities/_flex.scss +51 -0
  152. data/_sass/bootstrap/scss/utilities/_float.scss +9 -0
  153. data/_sass/bootstrap/scss/utilities/_overflow.scss +5 -0
  154. data/_sass/bootstrap/scss/utilities/_position.scss +32 -0
  155. data/_sass/bootstrap/scss/utilities/_screenreaders.scss +11 -0
  156. data/_sass/bootstrap/scss/utilities/_shadows.scss +6 -0
  157. data/_sass/bootstrap/scss/utilities/_sizing.scss +20 -0
  158. data/_sass/bootstrap/scss/utilities/_spacing.scss +73 -0
  159. data/_sass/bootstrap/scss/utilities/_text.scss +67 -0
  160. data/_sass/bootstrap/scss/utilities/_visibility.scss +11 -0
  161. data/_sass/custom.scss +1 -0
  162. data/assets/css/style.scss +65 -0
  163. data/assets/images/vertx-square.svg +1 -0
  164. metadata +248 -0
@@ -0,0 +1 @@
1
+ {"version":3,"file":"dropdown.js","sources":["../src/dropdown.js"],"sourcesContent":["/**\n * --------------------------------------------------------------------------\n * Bootstrap (v4.2.1): dropdown.js\n * Licensed under MIT (https://github.com/twbs/bootstrap/blob/master/LICENSE)\n * --------------------------------------------------------------------------\n */\n\nimport $ from 'jquery'\nimport Popper from 'popper.js'\nimport Util from './util'\n\n/**\n * ------------------------------------------------------------------------\n * Constants\n * ------------------------------------------------------------------------\n */\n\nconst NAME = 'dropdown'\nconst VERSION = '4.2.1'\nconst DATA_KEY = 'bs.dropdown'\nconst EVENT_KEY = `.${DATA_KEY}`\nconst DATA_API_KEY = '.data-api'\nconst JQUERY_NO_CONFLICT = $.fn[NAME]\nconst ESCAPE_KEYCODE = 27 // KeyboardEvent.which value for Escape (Esc) key\nconst SPACE_KEYCODE = 32 // KeyboardEvent.which value for space key\nconst TAB_KEYCODE = 9 // KeyboardEvent.which value for tab key\nconst ARROW_UP_KEYCODE = 38 // KeyboardEvent.which value for up arrow key\nconst ARROW_DOWN_KEYCODE = 40 // KeyboardEvent.which value for down arrow key\nconst RIGHT_MOUSE_BUTTON_WHICH = 3 // MouseEvent.which value for the right button (assuming a right-handed mouse)\nconst REGEXP_KEYDOWN = new RegExp(`${ARROW_UP_KEYCODE}|${ARROW_DOWN_KEYCODE}|${ESCAPE_KEYCODE}`)\n\nconst Event = {\n HIDE : `hide${EVENT_KEY}`,\n HIDDEN : `hidden${EVENT_KEY}`,\n SHOW : `show${EVENT_KEY}`,\n SHOWN : `shown${EVENT_KEY}`,\n CLICK : `click${EVENT_KEY}`,\n CLICK_DATA_API : `click${EVENT_KEY}${DATA_API_KEY}`,\n KEYDOWN_DATA_API : `keydown${EVENT_KEY}${DATA_API_KEY}`,\n KEYUP_DATA_API : `keyup${EVENT_KEY}${DATA_API_KEY}`\n}\n\nconst ClassName = {\n DISABLED : 'disabled',\n SHOW : 'show',\n DROPUP : 'dropup',\n DROPRIGHT : 'dropright',\n DROPLEFT : 'dropleft',\n MENURIGHT : 'dropdown-menu-right',\n MENULEFT : 'dropdown-menu-left',\n POSITION_STATIC : 'position-static'\n}\n\nconst Selector = {\n DATA_TOGGLE : '[data-toggle=\"dropdown\"]',\n FORM_CHILD : '.dropdown form',\n MENU : '.dropdown-menu',\n NAVBAR_NAV : '.navbar-nav',\n VISIBLE_ITEMS : '.dropdown-menu .dropdown-item:not(.disabled):not(:disabled)'\n}\n\nconst AttachmentMap = {\n TOP : 'top-start',\n TOPEND : 'top-end',\n BOTTOM : 'bottom-start',\n BOTTOMEND : 'bottom-end',\n RIGHT : 'right-start',\n RIGHTEND : 'right-end',\n LEFT : 'left-start',\n LEFTEND : 'left-end'\n}\n\nconst Default = {\n offset : 0,\n flip : true,\n boundary : 'scrollParent',\n reference : 'toggle',\n display : 'dynamic'\n}\n\nconst DefaultType = {\n offset : '(number|string|function)',\n flip : 'boolean',\n boundary : '(string|element)',\n reference : '(string|element)',\n display : 'string'\n}\n\n/**\n * ------------------------------------------------------------------------\n * Class Definition\n * ------------------------------------------------------------------------\n */\n\nclass Dropdown {\n constructor(element, config) {\n this._element = element\n this._popper = null\n this._config = this._getConfig(config)\n this._menu = this._getMenuElement()\n this._inNavbar = this._detectNavbar()\n\n this._addEventListeners()\n }\n\n // Getters\n\n static get VERSION() {\n return VERSION\n }\n\n static get Default() {\n return Default\n }\n\n static get DefaultType() {\n return DefaultType\n }\n\n // Public\n\n toggle() {\n if (this._element.disabled || $(this._element).hasClass(ClassName.DISABLED)) {\n return\n }\n\n const parent = Dropdown._getParentFromElement(this._element)\n const isActive = $(this._menu).hasClass(ClassName.SHOW)\n\n Dropdown._clearMenus()\n\n if (isActive) {\n return\n }\n\n const relatedTarget = {\n relatedTarget: this._element\n }\n const showEvent = $.Event(Event.SHOW, relatedTarget)\n\n $(parent).trigger(showEvent)\n\n if (showEvent.isDefaultPrevented()) {\n return\n }\n\n // Disable totally Popper.js for Dropdown in Navbar\n if (!this._inNavbar) {\n /**\n * Check for Popper dependency\n * Popper - https://popper.js.org\n */\n if (typeof Popper === 'undefined') {\n throw new TypeError('Bootstrap\\'s dropdowns require Popper.js (https://popper.js.org/)')\n }\n\n let referenceElement = this._element\n\n if (this._config.reference === 'parent') {\n referenceElement = parent\n } else if (Util.isElement(this._config.reference)) {\n referenceElement = this._config.reference\n\n // Check if it's jQuery element\n if (typeof this._config.reference.jquery !== 'undefined') {\n referenceElement = this._config.reference[0]\n }\n }\n\n // If boundary is not `scrollParent`, then set position to `static`\n // to allow the menu to \"escape\" the scroll parent's boundaries\n // https://github.com/twbs/bootstrap/issues/24251\n if (this._config.boundary !== 'scrollParent') {\n $(parent).addClass(ClassName.POSITION_STATIC)\n }\n this._popper = new Popper(referenceElement, this._menu, this._getPopperConfig())\n }\n\n // If this is a touch-enabled device we add extra\n // empty mouseover listeners to the body's immediate children;\n // only needed because of broken event delegation on iOS\n // https://www.quirksmode.org/blog/archives/2014/02/mouse_event_bub.html\n if ('ontouchstart' in document.documentElement &&\n $(parent).closest(Selector.NAVBAR_NAV).length === 0) {\n $(document.body).children().on('mouseover', null, $.noop)\n }\n\n this._element.focus()\n this._element.setAttribute('aria-expanded', true)\n\n $(this._menu).toggleClass(ClassName.SHOW)\n $(parent)\n .toggleClass(ClassName.SHOW)\n .trigger($.Event(Event.SHOWN, relatedTarget))\n }\n\n show() {\n if (this._element.disabled || $(this._element).hasClass(ClassName.DISABLED) || $(this._menu).hasClass(ClassName.SHOW)) {\n return\n }\n\n const relatedTarget = {\n relatedTarget: this._element\n }\n const showEvent = $.Event(Event.SHOW, relatedTarget)\n const parent = Dropdown._getParentFromElement(this._element)\n\n $(parent).trigger(showEvent)\n\n if (showEvent.isDefaultPrevented()) {\n return\n }\n\n $(this._menu).toggleClass(ClassName.SHOW)\n $(parent)\n .toggleClass(ClassName.SHOW)\n .trigger($.Event(Event.SHOWN, relatedTarget))\n }\n\n hide() {\n if (this._element.disabled || $(this._element).hasClass(ClassName.DISABLED) || !$(this._menu).hasClass(ClassName.SHOW)) {\n return\n }\n\n const relatedTarget = {\n relatedTarget: this._element\n }\n const hideEvent = $.Event(Event.HIDE, relatedTarget)\n const parent = Dropdown._getParentFromElement(this._element)\n\n $(parent).trigger(hideEvent)\n\n if (hideEvent.isDefaultPrevented()) {\n return\n }\n\n $(this._menu).toggleClass(ClassName.SHOW)\n $(parent)\n .toggleClass(ClassName.SHOW)\n .trigger($.Event(Event.HIDDEN, relatedTarget))\n }\n\n dispose() {\n $.removeData(this._element, DATA_KEY)\n $(this._element).off(EVENT_KEY)\n this._element = null\n this._menu = null\n if (this._popper !== null) {\n this._popper.destroy()\n this._popper = null\n }\n }\n\n update() {\n this._inNavbar = this._detectNavbar()\n if (this._popper !== null) {\n this._popper.scheduleUpdate()\n }\n }\n\n // Private\n\n _addEventListeners() {\n $(this._element).on(Event.CLICK, (event) => {\n event.preventDefault()\n event.stopPropagation()\n this.toggle()\n })\n }\n\n _getConfig(config) {\n config = {\n ...this.constructor.Default,\n ...$(this._element).data(),\n ...config\n }\n\n Util.typeCheckConfig(\n NAME,\n config,\n this.constructor.DefaultType\n )\n\n return config\n }\n\n _getMenuElement() {\n if (!this._menu) {\n const parent = Dropdown._getParentFromElement(this._element)\n\n if (parent) {\n this._menu = parent.querySelector(Selector.MENU)\n }\n }\n return this._menu\n }\n\n _getPlacement() {\n const $parentDropdown = $(this._element.parentNode)\n let placement = AttachmentMap.BOTTOM\n\n // Handle dropup\n if ($parentDropdown.hasClass(ClassName.DROPUP)) {\n placement = AttachmentMap.TOP\n if ($(this._menu).hasClass(ClassName.MENURIGHT)) {\n placement = AttachmentMap.TOPEND\n }\n } else if ($parentDropdown.hasClass(ClassName.DROPRIGHT)) {\n placement = AttachmentMap.RIGHT\n } else if ($parentDropdown.hasClass(ClassName.DROPLEFT)) {\n placement = AttachmentMap.LEFT\n } else if ($(this._menu).hasClass(ClassName.MENURIGHT)) {\n placement = AttachmentMap.BOTTOMEND\n }\n return placement\n }\n\n _detectNavbar() {\n return $(this._element).closest('.navbar').length > 0\n }\n\n _getPopperConfig() {\n const offsetConf = {}\n if (typeof this._config.offset === 'function') {\n offsetConf.fn = (data) => {\n data.offsets = {\n ...data.offsets,\n ...this._config.offset(data.offsets) || {}\n }\n return data\n }\n } else {\n offsetConf.offset = this._config.offset\n }\n\n const popperConfig = {\n placement: this._getPlacement(),\n modifiers: {\n offset: offsetConf,\n flip: {\n enabled: this._config.flip\n },\n preventOverflow: {\n boundariesElement: this._config.boundary\n }\n }\n }\n\n // Disable Popper.js if we have a static display\n if (this._config.display === 'static') {\n popperConfig.modifiers.applyStyle = {\n enabled: false\n }\n }\n return popperConfig\n }\n\n // Static\n\n static _jQueryInterface(config) {\n return this.each(function () {\n let data = $(this).data(DATA_KEY)\n const _config = typeof config === 'object' ? config : null\n\n if (!data) {\n data = new Dropdown(this, _config)\n $(this).data(DATA_KEY, data)\n }\n\n if (typeof config === 'string') {\n if (typeof data[config] === 'undefined') {\n throw new TypeError(`No method named \"${config}\"`)\n }\n data[config]()\n }\n })\n }\n\n static _clearMenus(event) {\n if (event && (event.which === RIGHT_MOUSE_BUTTON_WHICH ||\n event.type === 'keyup' && event.which !== TAB_KEYCODE)) {\n return\n }\n\n const toggles = [].slice.call(document.querySelectorAll(Selector.DATA_TOGGLE))\n\n for (let i = 0, len = toggles.length; i < len; i++) {\n const parent = Dropdown._getParentFromElement(toggles[i])\n const context = $(toggles[i]).data(DATA_KEY)\n const relatedTarget = {\n relatedTarget: toggles[i]\n }\n\n if (event && event.type === 'click') {\n relatedTarget.clickEvent = event\n }\n\n if (!context) {\n continue\n }\n\n const dropdownMenu = context._menu\n if (!$(parent).hasClass(ClassName.SHOW)) {\n continue\n }\n\n if (event && (event.type === 'click' &&\n /input|textarea/i.test(event.target.tagName) || event.type === 'keyup' && event.which === TAB_KEYCODE) &&\n $.contains(parent, event.target)) {\n continue\n }\n\n const hideEvent = $.Event(Event.HIDE, relatedTarget)\n $(parent).trigger(hideEvent)\n if (hideEvent.isDefaultPrevented()) {\n continue\n }\n\n // If this is a touch-enabled device we remove the extra\n // empty mouseover listeners we added for iOS support\n if ('ontouchstart' in document.documentElement) {\n $(document.body).children().off('mouseover', null, $.noop)\n }\n\n toggles[i].setAttribute('aria-expanded', 'false')\n\n $(dropdownMenu).removeClass(ClassName.SHOW)\n $(parent)\n .removeClass(ClassName.SHOW)\n .trigger($.Event(Event.HIDDEN, relatedTarget))\n }\n }\n\n static _getParentFromElement(element) {\n let parent\n const selector = Util.getSelectorFromElement(element)\n\n if (selector) {\n parent = document.querySelector(selector)\n }\n\n return parent || element.parentNode\n }\n\n // eslint-disable-next-line complexity\n static _dataApiKeydownHandler(event) {\n // If not input/textarea:\n // - And not a key in REGEXP_KEYDOWN => not a dropdown command\n // If input/textarea:\n // - If space key => not a dropdown command\n // - If key is other than escape\n // - If key is not up or down => not a dropdown command\n // - If trigger inside the menu => not a dropdown command\n if (/input|textarea/i.test(event.target.tagName)\n ? event.which === SPACE_KEYCODE || event.which !== ESCAPE_KEYCODE &&\n (event.which !== ARROW_DOWN_KEYCODE && event.which !== ARROW_UP_KEYCODE ||\n $(event.target).closest(Selector.MENU).length) : !REGEXP_KEYDOWN.test(event.which)) {\n return\n }\n\n event.preventDefault()\n event.stopPropagation()\n\n if (this.disabled || $(this).hasClass(ClassName.DISABLED)) {\n return\n }\n\n const parent = Dropdown._getParentFromElement(this)\n const isActive = $(parent).hasClass(ClassName.SHOW)\n\n if (!isActive || isActive && (event.which === ESCAPE_KEYCODE || event.which === SPACE_KEYCODE)) {\n if (event.which === ESCAPE_KEYCODE) {\n const toggle = parent.querySelector(Selector.DATA_TOGGLE)\n $(toggle).trigger('focus')\n }\n\n $(this).trigger('click')\n return\n }\n\n const items = [].slice.call(parent.querySelectorAll(Selector.VISIBLE_ITEMS))\n\n if (items.length === 0) {\n return\n }\n\n let index = items.indexOf(event.target)\n\n if (event.which === ARROW_UP_KEYCODE && index > 0) { // Up\n index--\n }\n\n if (event.which === ARROW_DOWN_KEYCODE && index < items.length - 1) { // Down\n index++\n }\n\n if (index < 0) {\n index = 0\n }\n\n items[index].focus()\n }\n}\n\n/**\n * ------------------------------------------------------------------------\n * Data Api implementation\n * ------------------------------------------------------------------------\n */\n\n$(document)\n .on(Event.KEYDOWN_DATA_API, Selector.DATA_TOGGLE, Dropdown._dataApiKeydownHandler)\n .on(Event.KEYDOWN_DATA_API, Selector.MENU, Dropdown._dataApiKeydownHandler)\n .on(`${Event.CLICK_DATA_API} ${Event.KEYUP_DATA_API}`, Dropdown._clearMenus)\n .on(Event.CLICK_DATA_API, Selector.DATA_TOGGLE, function (event) {\n event.preventDefault()\n event.stopPropagation()\n Dropdown._jQueryInterface.call($(this), 'toggle')\n })\n .on(Event.CLICK_DATA_API, Selector.FORM_CHILD, (e) => {\n e.stopPropagation()\n })\n\n/**\n * ------------------------------------------------------------------------\n * jQuery\n * ------------------------------------------------------------------------\n */\n\n$.fn[NAME] = Dropdown._jQueryInterface\n$.fn[NAME].Constructor = Dropdown\n$.fn[NAME].noConflict = () => {\n $.fn[NAME] = JQUERY_NO_CONFLICT\n return Dropdown._jQueryInterface\n}\n\n\nexport default Dropdown\n"],"names":["NAME","VERSION","DATA_KEY","EVENT_KEY","DATA_API_KEY","JQUERY_NO_CONFLICT","$","fn","ESCAPE_KEYCODE","SPACE_KEYCODE","TAB_KEYCODE","ARROW_UP_KEYCODE","ARROW_DOWN_KEYCODE","RIGHT_MOUSE_BUTTON_WHICH","REGEXP_KEYDOWN","RegExp","Event","HIDE","HIDDEN","SHOW","SHOWN","CLICK","CLICK_DATA_API","KEYDOWN_DATA_API","KEYUP_DATA_API","ClassName","DISABLED","DROPUP","DROPRIGHT","DROPLEFT","MENURIGHT","MENULEFT","POSITION_STATIC","Selector","DATA_TOGGLE","FORM_CHILD","MENU","NAVBAR_NAV","VISIBLE_ITEMS","AttachmentMap","TOP","TOPEND","BOTTOM","BOTTOMEND","RIGHT","RIGHTEND","LEFT","LEFTEND","Default","offset","flip","boundary","reference","display","DefaultType","Dropdown","element","config","_element","_popper","_config","_getConfig","_menu","_getMenuElement","_inNavbar","_detectNavbar","_addEventListeners","toggle","disabled","hasClass","parent","_getParentFromElement","isActive","_clearMenus","relatedTarget","showEvent","trigger","isDefaultPrevented","Popper","TypeError","referenceElement","Util","isElement","jquery","addClass","_getPopperConfig","document","documentElement","closest","length","body","children","on","noop","focus","setAttribute","toggleClass","show","hide","hideEvent","dispose","removeData","off","destroy","update","scheduleUpdate","event","preventDefault","stopPropagation","constructor","data","typeCheckConfig","querySelector","_getPlacement","$parentDropdown","parentNode","placement","offsetConf","offsets","popperConfig","modifiers","enabled","preventOverflow","boundariesElement","applyStyle","_jQueryInterface","each","which","type","toggles","slice","call","querySelectorAll","i","len","context","clickEvent","dropdownMenu","test","target","tagName","contains","removeClass","selector","getSelectorFromElement","_dataApiKeydownHandler","items","index","indexOf","e","Constructor","noConflict"],"mappings":"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"}
@@ -0,0 +1,23 @@
1
+ /**
2
+ * --------------------------------------------------------------------------
3
+ * Bootstrap (v4.2.1): index.js
4
+ * Licensed under MIT (https://github.com/twbs/bootstrap/blob/master/LICENSE)
5
+ * --------------------------------------------------------------------------
6
+ */
7
+ (function ($) {
8
+ if (typeof $ === 'undefined') {
9
+ throw new TypeError('Bootstrap\'s JavaScript requires jQuery. jQuery must be included before Bootstrap\'s JavaScript.');
10
+ }
11
+
12
+ var version = $.fn.jquery.split(' ')[0].split('.');
13
+ var minMajor = 1;
14
+ var ltMajor = 2;
15
+ var minMinor = 9;
16
+ var minPatch = 1;
17
+ var maxMajor = 4;
18
+
19
+ if (version[0] < ltMajor && version[1] < minMinor || version[0] === minMajor && version[1] === minMinor && version[2] < minPatch || version[0] >= maxMajor) {
20
+ throw new Error('Bootstrap\'s JavaScript requires at least jQuery v1.9.1 but less than v4.0.0');
21
+ }
22
+ })($);
23
+ //# sourceMappingURL=index.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"sources":["../src/index.js"],"names":["$","TypeError","version","fn","jquery","split","minMajor","ltMajor","minMinor","minPatch","maxMajor","Error"],"mappings":"AAaA;;;;;;AAOA,CAAC,UAACA,CAAD,EAAO;AACN,MAAI,OAAOA,CAAP,KAAa,WAAjB,EAA8B;AAC5B,UAAM,IAAIC,SAAJ,CAAc,kGAAd,CAAN;AACD;;AAED,MAAMC,UAAUF,EAAEG,EAAF,CAAKC,MAAL,CAAYC,KAAZ,CAAkB,GAAlB,EAAuB,CAAvB,EAA0BA,KAA1B,CAAgC,GAAhC,CAAhB;AACA,MAAMC,WAAW,CAAjB;AACA,MAAMC,UAAU,CAAhB;AACA,MAAMC,WAAW,CAAjB;AACA,MAAMC,WAAW,CAAjB;AACA,MAAMC,WAAW,CAAjB;;AAEA,MAAIR,QAAQ,CAAR,IAAaK,OAAb,IAAwBL,QAAQ,CAAR,IAAaM,QAArC,IAAiDN,QAAQ,CAAR,MAAeI,QAAf,IAA2BJ,QAAQ,CAAR,MAAeM,QAA1C,IAAsDN,QAAQ,CAAR,IAAaO,QAApH,IAAgIP,QAAQ,CAAR,KAAcQ,QAAlJ,EAA4J;AAC1J,UAAM,IAAIC,KAAJ,CAAU,8EAAV,CAAN;AACD;AACF,CAfD,EAeGX,CAfH","sourcesContent":["import $ from 'jquery'\nimport Alert from './alert'\nimport Button from './button'\nimport Carousel from './carousel'\nimport Collapse from './collapse'\nimport Dropdown from './dropdown'\nimport Modal from './modal'\nimport Popover from './popover'\nimport Scrollspy from './scrollspy'\nimport Tab from './tab'\nimport Tooltip from './tooltip'\nimport Util from './util'\n\n/**\n * --------------------------------------------------------------------------\n * Bootstrap (v4.1.2): index.js\n * Licensed under MIT (https://github.com/twbs/bootstrap/blob/master/LICENSE)\n * --------------------------------------------------------------------------\n */\n\n(($) => {\n if (typeof $ === 'undefined') {\n throw new TypeError('Bootstrap\\'s JavaScript requires jQuery. jQuery must be included before Bootstrap\\'s JavaScript.')\n }\n\n const version = $.fn.jquery.split(' ')[0].split('.')\n const minMajor = 1\n const ltMajor = 2\n const minMinor = 9\n const minPatch = 1\n const maxMajor = 4\n\n if (version[0] < ltMajor && version[1] < minMinor || version[0] === minMajor && version[1] === minMinor && version[2] < minPatch || version[0] >= maxMajor) {\n throw new Error('Bootstrap\\'s JavaScript requires at least jQuery v1.9.1 but less than v4.0.0')\n }\n})($)\n\nexport {\n Util,\n Alert,\n Button,\n Carousel,\n Collapse,\n Dropdown,\n Modal,\n Popover,\n Scrollspy,\n Tab,\n Tooltip\n}\n"],"file":"index.js"}
@@ -0,0 +1,644 @@
1
+ /*!
2
+ * Bootstrap modal.js v4.2.1 (https://getbootstrap.com/)
3
+ * Copyright 2011-2018 The Bootstrap Authors (https://github.com/twbs/bootstrap/graphs/contributors)
4
+ * Licensed under MIT (https://github.com/twbs/bootstrap/blob/master/LICENSE)
5
+ */
6
+ (function (global, factory) {
7
+ typeof exports === 'object' && typeof module !== 'undefined' ? module.exports = factory(require('jquery'), require('./util.js')) :
8
+ typeof define === 'function' && define.amd ? define(['jquery', './util.js'], factory) :
9
+ (global.Modal = factory(global.jQuery,global.Util));
10
+ }(this, (function ($,Util) { 'use strict';
11
+
12
+ $ = $ && $.hasOwnProperty('default') ? $['default'] : $;
13
+ Util = Util && Util.hasOwnProperty('default') ? Util['default'] : Util;
14
+
15
+ function _defineProperties(target, props) {
16
+ for (var i = 0; i < props.length; i++) {
17
+ var descriptor = props[i];
18
+ descriptor.enumerable = descriptor.enumerable || false;
19
+ descriptor.configurable = true;
20
+ if ("value" in descriptor) descriptor.writable = true;
21
+ Object.defineProperty(target, descriptor.key, descriptor);
22
+ }
23
+ }
24
+
25
+ function _createClass(Constructor, protoProps, staticProps) {
26
+ if (protoProps) _defineProperties(Constructor.prototype, protoProps);
27
+ if (staticProps) _defineProperties(Constructor, staticProps);
28
+ return Constructor;
29
+ }
30
+
31
+ function _defineProperty(obj, key, value) {
32
+ if (key in obj) {
33
+ Object.defineProperty(obj, key, {
34
+ value: value,
35
+ enumerable: true,
36
+ configurable: true,
37
+ writable: true
38
+ });
39
+ } else {
40
+ obj[key] = value;
41
+ }
42
+
43
+ return obj;
44
+ }
45
+
46
+ function _objectSpread(target) {
47
+ for (var i = 1; i < arguments.length; i++) {
48
+ var source = arguments[i] != null ? arguments[i] : {};
49
+ var ownKeys = Object.keys(source);
50
+
51
+ if (typeof Object.getOwnPropertySymbols === 'function') {
52
+ ownKeys = ownKeys.concat(Object.getOwnPropertySymbols(source).filter(function (sym) {
53
+ return Object.getOwnPropertyDescriptor(source, sym).enumerable;
54
+ }));
55
+ }
56
+
57
+ ownKeys.forEach(function (key) {
58
+ _defineProperty(target, key, source[key]);
59
+ });
60
+ }
61
+
62
+ return target;
63
+ }
64
+
65
+ /**
66
+ * ------------------------------------------------------------------------
67
+ * Constants
68
+ * ------------------------------------------------------------------------
69
+ */
70
+
71
+ var NAME = 'modal';
72
+ var VERSION = '4.2.1';
73
+ var DATA_KEY = 'bs.modal';
74
+ var EVENT_KEY = "." + DATA_KEY;
75
+ var DATA_API_KEY = '.data-api';
76
+ var JQUERY_NO_CONFLICT = $.fn[NAME];
77
+ var ESCAPE_KEYCODE = 27; // KeyboardEvent.which value for Escape (Esc) key
78
+
79
+ var Default = {
80
+ backdrop: true,
81
+ keyboard: true,
82
+ focus: true,
83
+ show: true
84
+ };
85
+ var DefaultType = {
86
+ backdrop: '(boolean|string)',
87
+ keyboard: 'boolean',
88
+ focus: 'boolean',
89
+ show: 'boolean'
90
+ };
91
+ var Event = {
92
+ HIDE: "hide" + EVENT_KEY,
93
+ HIDDEN: "hidden" + EVENT_KEY,
94
+ SHOW: "show" + EVENT_KEY,
95
+ SHOWN: "shown" + EVENT_KEY,
96
+ FOCUSIN: "focusin" + EVENT_KEY,
97
+ RESIZE: "resize" + EVENT_KEY,
98
+ CLICK_DISMISS: "click.dismiss" + EVENT_KEY,
99
+ KEYDOWN_DISMISS: "keydown.dismiss" + EVENT_KEY,
100
+ MOUSEUP_DISMISS: "mouseup.dismiss" + EVENT_KEY,
101
+ MOUSEDOWN_DISMISS: "mousedown.dismiss" + EVENT_KEY,
102
+ CLICK_DATA_API: "click" + EVENT_KEY + DATA_API_KEY
103
+ };
104
+ var ClassName = {
105
+ SCROLLBAR_MEASURER: 'modal-scrollbar-measure',
106
+ BACKDROP: 'modal-backdrop',
107
+ OPEN: 'modal-open',
108
+ FADE: 'fade',
109
+ SHOW: 'show'
110
+ };
111
+ var Selector = {
112
+ DIALOG: '.modal-dialog',
113
+ DATA_TOGGLE: '[data-toggle="modal"]',
114
+ DATA_DISMISS: '[data-dismiss="modal"]',
115
+ FIXED_CONTENT: '.fixed-top, .fixed-bottom, .is-fixed, .sticky-top',
116
+ STICKY_CONTENT: '.sticky-top'
117
+ /**
118
+ * ------------------------------------------------------------------------
119
+ * Class Definition
120
+ * ------------------------------------------------------------------------
121
+ */
122
+
123
+ };
124
+
125
+ var Modal =
126
+ /*#__PURE__*/
127
+ function () {
128
+ function Modal(element, config) {
129
+ this._config = this._getConfig(config);
130
+ this._element = element;
131
+ this._dialog = element.querySelector(Selector.DIALOG);
132
+ this._backdrop = null;
133
+ this._isShown = false;
134
+ this._isBodyOverflowing = false;
135
+ this._ignoreBackdropClick = false;
136
+ this._isTransitioning = false;
137
+ this._scrollbarWidth = 0;
138
+ } // Getters
139
+
140
+
141
+ var _proto = Modal.prototype;
142
+
143
+ // Public
144
+ _proto.toggle = function toggle(relatedTarget) {
145
+ return this._isShown ? this.hide() : this.show(relatedTarget);
146
+ };
147
+
148
+ _proto.show = function show(relatedTarget) {
149
+ var _this = this;
150
+
151
+ if (this._isShown || this._isTransitioning) {
152
+ return;
153
+ }
154
+
155
+ if ($(this._element).hasClass(ClassName.FADE)) {
156
+ this._isTransitioning = true;
157
+ }
158
+
159
+ var showEvent = $.Event(Event.SHOW, {
160
+ relatedTarget: relatedTarget
161
+ });
162
+ $(this._element).trigger(showEvent);
163
+
164
+ if (this._isShown || showEvent.isDefaultPrevented()) {
165
+ return;
166
+ }
167
+
168
+ this._isShown = true;
169
+
170
+ this._checkScrollbar();
171
+
172
+ this._setScrollbar();
173
+
174
+ this._adjustDialog();
175
+
176
+ this._setEscapeEvent();
177
+
178
+ this._setResizeEvent();
179
+
180
+ $(this._element).on(Event.CLICK_DISMISS, Selector.DATA_DISMISS, function (event) {
181
+ return _this.hide(event);
182
+ });
183
+ $(this._dialog).on(Event.MOUSEDOWN_DISMISS, function () {
184
+ $(_this._element).one(Event.MOUSEUP_DISMISS, function (event) {
185
+ if ($(event.target).is(_this._element)) {
186
+ _this._ignoreBackdropClick = true;
187
+ }
188
+ });
189
+ });
190
+
191
+ this._showBackdrop(function () {
192
+ return _this._showElement(relatedTarget);
193
+ });
194
+ };
195
+
196
+ _proto.hide = function hide(event) {
197
+ var _this2 = this;
198
+
199
+ if (event) {
200
+ event.preventDefault();
201
+ }
202
+
203
+ if (!this._isShown || this._isTransitioning) {
204
+ return;
205
+ }
206
+
207
+ var hideEvent = $.Event(Event.HIDE);
208
+ $(this._element).trigger(hideEvent);
209
+
210
+ if (!this._isShown || hideEvent.isDefaultPrevented()) {
211
+ return;
212
+ }
213
+
214
+ this._isShown = false;
215
+ var transition = $(this._element).hasClass(ClassName.FADE);
216
+
217
+ if (transition) {
218
+ this._isTransitioning = true;
219
+ }
220
+
221
+ this._setEscapeEvent();
222
+
223
+ this._setResizeEvent();
224
+
225
+ $(document).off(Event.FOCUSIN);
226
+ $(this._element).removeClass(ClassName.SHOW);
227
+ $(this._element).off(Event.CLICK_DISMISS);
228
+ $(this._dialog).off(Event.MOUSEDOWN_DISMISS);
229
+
230
+ if (transition) {
231
+ var transitionDuration = Util.getTransitionDurationFromElement(this._element);
232
+ $(this._element).one(Util.TRANSITION_END, function (event) {
233
+ return _this2._hideModal(event);
234
+ }).emulateTransitionEnd(transitionDuration);
235
+ } else {
236
+ this._hideModal();
237
+ }
238
+ };
239
+
240
+ _proto.dispose = function dispose() {
241
+ [window, this._element, this._dialog].forEach(function (htmlElement) {
242
+ return $(htmlElement).off(EVENT_KEY);
243
+ });
244
+ /**
245
+ * `document` has 2 events `Event.FOCUSIN` and `Event.CLICK_DATA_API`
246
+ * Do not move `document` in `htmlElements` array
247
+ * It will remove `Event.CLICK_DATA_API` event that should remain
248
+ */
249
+
250
+ $(document).off(Event.FOCUSIN);
251
+ $.removeData(this._element, DATA_KEY);
252
+ this._config = null;
253
+ this._element = null;
254
+ this._dialog = null;
255
+ this._backdrop = null;
256
+ this._isShown = null;
257
+ this._isBodyOverflowing = null;
258
+ this._ignoreBackdropClick = null;
259
+ this._isTransitioning = null;
260
+ this._scrollbarWidth = null;
261
+ };
262
+
263
+ _proto.handleUpdate = function handleUpdate() {
264
+ this._adjustDialog();
265
+ }; // Private
266
+
267
+
268
+ _proto._getConfig = function _getConfig(config) {
269
+ config = _objectSpread({}, Default, config);
270
+ Util.typeCheckConfig(NAME, config, DefaultType);
271
+ return config;
272
+ };
273
+
274
+ _proto._showElement = function _showElement(relatedTarget) {
275
+ var _this3 = this;
276
+
277
+ var transition = $(this._element).hasClass(ClassName.FADE);
278
+
279
+ if (!this._element.parentNode || this._element.parentNode.nodeType !== Node.ELEMENT_NODE) {
280
+ // Don't move modal's DOM position
281
+ document.body.appendChild(this._element);
282
+ }
283
+
284
+ this._element.style.display = 'block';
285
+
286
+ this._element.removeAttribute('aria-hidden');
287
+
288
+ this._element.setAttribute('aria-modal', true);
289
+
290
+ this._element.scrollTop = 0;
291
+
292
+ if (transition) {
293
+ Util.reflow(this._element);
294
+ }
295
+
296
+ $(this._element).addClass(ClassName.SHOW);
297
+
298
+ if (this._config.focus) {
299
+ this._enforceFocus();
300
+ }
301
+
302
+ var shownEvent = $.Event(Event.SHOWN, {
303
+ relatedTarget: relatedTarget
304
+ });
305
+
306
+ var transitionComplete = function transitionComplete() {
307
+ if (_this3._config.focus) {
308
+ _this3._element.focus();
309
+ }
310
+
311
+ _this3._isTransitioning = false;
312
+ $(_this3._element).trigger(shownEvent);
313
+ };
314
+
315
+ if (transition) {
316
+ var transitionDuration = Util.getTransitionDurationFromElement(this._dialog);
317
+ $(this._dialog).one(Util.TRANSITION_END, transitionComplete).emulateTransitionEnd(transitionDuration);
318
+ } else {
319
+ transitionComplete();
320
+ }
321
+ };
322
+
323
+ _proto._enforceFocus = function _enforceFocus() {
324
+ var _this4 = this;
325
+
326
+ $(document).off(Event.FOCUSIN) // Guard against infinite focus loop
327
+ .on(Event.FOCUSIN, function (event) {
328
+ if (document !== event.target && _this4._element !== event.target && $(_this4._element).has(event.target).length === 0) {
329
+ _this4._element.focus();
330
+ }
331
+ });
332
+ };
333
+
334
+ _proto._setEscapeEvent = function _setEscapeEvent() {
335
+ var _this5 = this;
336
+
337
+ if (this._isShown && this._config.keyboard) {
338
+ $(this._element).on(Event.KEYDOWN_DISMISS, function (event) {
339
+ if (event.which === ESCAPE_KEYCODE) {
340
+ event.preventDefault();
341
+
342
+ _this5.hide();
343
+ }
344
+ });
345
+ } else if (!this._isShown) {
346
+ $(this._element).off(Event.KEYDOWN_DISMISS);
347
+ }
348
+ };
349
+
350
+ _proto._setResizeEvent = function _setResizeEvent() {
351
+ var _this6 = this;
352
+
353
+ if (this._isShown) {
354
+ $(window).on(Event.RESIZE, function (event) {
355
+ return _this6.handleUpdate(event);
356
+ });
357
+ } else {
358
+ $(window).off(Event.RESIZE);
359
+ }
360
+ };
361
+
362
+ _proto._hideModal = function _hideModal() {
363
+ var _this7 = this;
364
+
365
+ this._element.style.display = 'none';
366
+
367
+ this._element.setAttribute('aria-hidden', true);
368
+
369
+ this._element.removeAttribute('aria-modal');
370
+
371
+ this._isTransitioning = false;
372
+
373
+ this._showBackdrop(function () {
374
+ $(document.body).removeClass(ClassName.OPEN);
375
+
376
+ _this7._resetAdjustments();
377
+
378
+ _this7._resetScrollbar();
379
+
380
+ $(_this7._element).trigger(Event.HIDDEN);
381
+ });
382
+ };
383
+
384
+ _proto._removeBackdrop = function _removeBackdrop() {
385
+ if (this._backdrop) {
386
+ $(this._backdrop).remove();
387
+ this._backdrop = null;
388
+ }
389
+ };
390
+
391
+ _proto._showBackdrop = function _showBackdrop(callback) {
392
+ var _this8 = this;
393
+
394
+ var animate = $(this._element).hasClass(ClassName.FADE) ? ClassName.FADE : '';
395
+
396
+ if (this._isShown && this._config.backdrop) {
397
+ this._backdrop = document.createElement('div');
398
+ this._backdrop.className = ClassName.BACKDROP;
399
+
400
+ if (animate) {
401
+ this._backdrop.classList.add(animate);
402
+ }
403
+
404
+ $(this._backdrop).appendTo(document.body);
405
+ $(this._element).on(Event.CLICK_DISMISS, function (event) {
406
+ if (_this8._ignoreBackdropClick) {
407
+ _this8._ignoreBackdropClick = false;
408
+ return;
409
+ }
410
+
411
+ if (event.target !== event.currentTarget) {
412
+ return;
413
+ }
414
+
415
+ if (_this8._config.backdrop === 'static') {
416
+ _this8._element.focus();
417
+ } else {
418
+ _this8.hide();
419
+ }
420
+ });
421
+
422
+ if (animate) {
423
+ Util.reflow(this._backdrop);
424
+ }
425
+
426
+ $(this._backdrop).addClass(ClassName.SHOW);
427
+
428
+ if (!callback) {
429
+ return;
430
+ }
431
+
432
+ if (!animate) {
433
+ callback();
434
+ return;
435
+ }
436
+
437
+ var backdropTransitionDuration = Util.getTransitionDurationFromElement(this._backdrop);
438
+ $(this._backdrop).one(Util.TRANSITION_END, callback).emulateTransitionEnd(backdropTransitionDuration);
439
+ } else if (!this._isShown && this._backdrop) {
440
+ $(this._backdrop).removeClass(ClassName.SHOW);
441
+
442
+ var callbackRemove = function callbackRemove() {
443
+ _this8._removeBackdrop();
444
+
445
+ if (callback) {
446
+ callback();
447
+ }
448
+ };
449
+
450
+ if ($(this._element).hasClass(ClassName.FADE)) {
451
+ var _backdropTransitionDuration = Util.getTransitionDurationFromElement(this._backdrop);
452
+
453
+ $(this._backdrop).one(Util.TRANSITION_END, callbackRemove).emulateTransitionEnd(_backdropTransitionDuration);
454
+ } else {
455
+ callbackRemove();
456
+ }
457
+ } else if (callback) {
458
+ callback();
459
+ }
460
+ }; // ----------------------------------------------------------------------
461
+ // the following methods are used to handle overflowing modals
462
+ // todo (fat): these should probably be refactored out of modal.js
463
+ // ----------------------------------------------------------------------
464
+
465
+
466
+ _proto._adjustDialog = function _adjustDialog() {
467
+ var isModalOverflowing = this._element.scrollHeight > document.documentElement.clientHeight;
468
+
469
+ if (!this._isBodyOverflowing && isModalOverflowing) {
470
+ this._element.style.paddingLeft = this._scrollbarWidth + "px";
471
+ }
472
+
473
+ if (this._isBodyOverflowing && !isModalOverflowing) {
474
+ this._element.style.paddingRight = this._scrollbarWidth + "px";
475
+ }
476
+ };
477
+
478
+ _proto._resetAdjustments = function _resetAdjustments() {
479
+ this._element.style.paddingLeft = '';
480
+ this._element.style.paddingRight = '';
481
+ };
482
+
483
+ _proto._checkScrollbar = function _checkScrollbar() {
484
+ var rect = document.body.getBoundingClientRect();
485
+ this._isBodyOverflowing = rect.left + rect.right < window.innerWidth;
486
+ this._scrollbarWidth = this._getScrollbarWidth();
487
+ };
488
+
489
+ _proto._setScrollbar = function _setScrollbar() {
490
+ var _this9 = this;
491
+
492
+ if (this._isBodyOverflowing) {
493
+ // Note: DOMNode.style.paddingRight returns the actual value or '' if not set
494
+ // while $(DOMNode).css('padding-right') returns the calculated value or 0 if not set
495
+ var fixedContent = [].slice.call(document.querySelectorAll(Selector.FIXED_CONTENT));
496
+ var stickyContent = [].slice.call(document.querySelectorAll(Selector.STICKY_CONTENT)); // Adjust fixed content padding
497
+
498
+ $(fixedContent).each(function (index, element) {
499
+ var actualPadding = element.style.paddingRight;
500
+ var calculatedPadding = $(element).css('padding-right');
501
+ $(element).data('padding-right', actualPadding).css('padding-right', parseFloat(calculatedPadding) + _this9._scrollbarWidth + "px");
502
+ }); // Adjust sticky content margin
503
+
504
+ $(stickyContent).each(function (index, element) {
505
+ var actualMargin = element.style.marginRight;
506
+ var calculatedMargin = $(element).css('margin-right');
507
+ $(element).data('margin-right', actualMargin).css('margin-right', parseFloat(calculatedMargin) - _this9._scrollbarWidth + "px");
508
+ }); // Adjust body padding
509
+
510
+ var actualPadding = document.body.style.paddingRight;
511
+ var calculatedPadding = $(document.body).css('padding-right');
512
+ $(document.body).data('padding-right', actualPadding).css('padding-right', parseFloat(calculatedPadding) + this._scrollbarWidth + "px");
513
+ }
514
+
515
+ $(document.body).addClass(ClassName.OPEN);
516
+ };
517
+
518
+ _proto._resetScrollbar = function _resetScrollbar() {
519
+ // Restore fixed content padding
520
+ var fixedContent = [].slice.call(document.querySelectorAll(Selector.FIXED_CONTENT));
521
+ $(fixedContent).each(function (index, element) {
522
+ var padding = $(element).data('padding-right');
523
+ $(element).removeData('padding-right');
524
+ element.style.paddingRight = padding ? padding : '';
525
+ }); // Restore sticky content
526
+
527
+ var elements = [].slice.call(document.querySelectorAll("" + Selector.STICKY_CONTENT));
528
+ $(elements).each(function (index, element) {
529
+ var margin = $(element).data('margin-right');
530
+
531
+ if (typeof margin !== 'undefined') {
532
+ $(element).css('margin-right', margin).removeData('margin-right');
533
+ }
534
+ }); // Restore body padding
535
+
536
+ var padding = $(document.body).data('padding-right');
537
+ $(document.body).removeData('padding-right');
538
+ document.body.style.paddingRight = padding ? padding : '';
539
+ };
540
+
541
+ _proto._getScrollbarWidth = function _getScrollbarWidth() {
542
+ // thx d.walsh
543
+ var scrollDiv = document.createElement('div');
544
+ scrollDiv.className = ClassName.SCROLLBAR_MEASURER;
545
+ document.body.appendChild(scrollDiv);
546
+ var scrollbarWidth = scrollDiv.getBoundingClientRect().width - scrollDiv.clientWidth;
547
+ document.body.removeChild(scrollDiv);
548
+ return scrollbarWidth;
549
+ }; // Static
550
+
551
+
552
+ Modal._jQueryInterface = function _jQueryInterface(config, relatedTarget) {
553
+ return this.each(function () {
554
+ var data = $(this).data(DATA_KEY);
555
+
556
+ var _config = _objectSpread({}, Default, $(this).data(), typeof config === 'object' && config ? config : {});
557
+
558
+ if (!data) {
559
+ data = new Modal(this, _config);
560
+ $(this).data(DATA_KEY, data);
561
+ }
562
+
563
+ if (typeof config === 'string') {
564
+ if (typeof data[config] === 'undefined') {
565
+ throw new TypeError("No method named \"" + config + "\"");
566
+ }
567
+
568
+ data[config](relatedTarget);
569
+ } else if (_config.show) {
570
+ data.show(relatedTarget);
571
+ }
572
+ });
573
+ };
574
+
575
+ _createClass(Modal, null, [{
576
+ key: "VERSION",
577
+ get: function get() {
578
+ return VERSION;
579
+ }
580
+ }, {
581
+ key: "Default",
582
+ get: function get() {
583
+ return Default;
584
+ }
585
+ }]);
586
+
587
+ return Modal;
588
+ }();
589
+ /**
590
+ * ------------------------------------------------------------------------
591
+ * Data Api implementation
592
+ * ------------------------------------------------------------------------
593
+ */
594
+
595
+
596
+ $(document).on(Event.CLICK_DATA_API, Selector.DATA_TOGGLE, function (event) {
597
+ var _this10 = this;
598
+
599
+ var target;
600
+ var selector = Util.getSelectorFromElement(this);
601
+
602
+ if (selector) {
603
+ target = document.querySelector(selector);
604
+ }
605
+
606
+ var config = $(target).data(DATA_KEY) ? 'toggle' : _objectSpread({}, $(target).data(), $(this).data());
607
+
608
+ if (this.tagName === 'A' || this.tagName === 'AREA') {
609
+ event.preventDefault();
610
+ }
611
+
612
+ var $target = $(target).one(Event.SHOW, function (showEvent) {
613
+ if (showEvent.isDefaultPrevented()) {
614
+ // Only register focus restorer if modal will actually get shown
615
+ return;
616
+ }
617
+
618
+ $target.one(Event.HIDDEN, function () {
619
+ if ($(_this10).is(':visible')) {
620
+ _this10.focus();
621
+ }
622
+ });
623
+ });
624
+
625
+ Modal._jQueryInterface.call($(target), config, this);
626
+ });
627
+ /**
628
+ * ------------------------------------------------------------------------
629
+ * jQuery
630
+ * ------------------------------------------------------------------------
631
+ */
632
+
633
+ $.fn[NAME] = Modal._jQueryInterface;
634
+ $.fn[NAME].Constructor = Modal;
635
+
636
+ $.fn[NAME].noConflict = function () {
637
+ $.fn[NAME] = JQUERY_NO_CONFLICT;
638
+ return Modal._jQueryInterface;
639
+ };
640
+
641
+ return Modal;
642
+
643
+ })));
644
+ //# sourceMappingURL=modal.js.map