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":"modal.js","sources":["../src/modal.js"],"sourcesContent":["/**\n * --------------------------------------------------------------------------\n * Bootstrap (v4.2.1): modal.js\n * Licensed under MIT (https://github.com/twbs/bootstrap/blob/master/LICENSE)\n * --------------------------------------------------------------------------\n */\n\nimport $ from 'jquery'\nimport Util from './util'\n\n/**\n * ------------------------------------------------------------------------\n * Constants\n * ------------------------------------------------------------------------\n */\n\nconst NAME = 'modal'\nconst VERSION = '4.2.1'\nconst DATA_KEY = 'bs.modal'\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\n\nconst Default = {\n backdrop : true,\n keyboard : true,\n focus : true,\n show : true\n}\n\nconst DefaultType = {\n backdrop : '(boolean|string)',\n keyboard : 'boolean',\n focus : 'boolean',\n show : 'boolean'\n}\n\nconst Event = {\n HIDE : `hide${EVENT_KEY}`,\n HIDDEN : `hidden${EVENT_KEY}`,\n SHOW : `show${EVENT_KEY}`,\n SHOWN : `shown${EVENT_KEY}`,\n FOCUSIN : `focusin${EVENT_KEY}`,\n RESIZE : `resize${EVENT_KEY}`,\n CLICK_DISMISS : `click.dismiss${EVENT_KEY}`,\n KEYDOWN_DISMISS : `keydown.dismiss${EVENT_KEY}`,\n MOUSEUP_DISMISS : `mouseup.dismiss${EVENT_KEY}`,\n MOUSEDOWN_DISMISS : `mousedown.dismiss${EVENT_KEY}`,\n CLICK_DATA_API : `click${EVENT_KEY}${DATA_API_KEY}`\n}\n\nconst ClassName = {\n SCROLLBAR_MEASURER : 'modal-scrollbar-measure',\n BACKDROP : 'modal-backdrop',\n OPEN : 'modal-open',\n FADE : 'fade',\n SHOW : 'show'\n}\n\nconst Selector = {\n DIALOG : '.modal-dialog',\n DATA_TOGGLE : '[data-toggle=\"modal\"]',\n DATA_DISMISS : '[data-dismiss=\"modal\"]',\n FIXED_CONTENT : '.fixed-top, .fixed-bottom, .is-fixed, .sticky-top',\n STICKY_CONTENT : '.sticky-top'\n}\n\n/**\n * ------------------------------------------------------------------------\n * Class Definition\n * ------------------------------------------------------------------------\n */\n\nclass Modal {\n constructor(element, config) {\n this._config = this._getConfig(config)\n this._element = element\n this._dialog = element.querySelector(Selector.DIALOG)\n this._backdrop = null\n this._isShown = false\n this._isBodyOverflowing = false\n this._ignoreBackdropClick = false\n this._isTransitioning = false\n this._scrollbarWidth = 0\n }\n\n // Getters\n\n static get VERSION() {\n return VERSION\n }\n\n static get Default() {\n return Default\n }\n\n // Public\n\n toggle(relatedTarget) {\n return this._isShown ? this.hide() : this.show(relatedTarget)\n }\n\n show(relatedTarget) {\n if (this._isShown || this._isTransitioning) {\n return\n }\n\n if ($(this._element).hasClass(ClassName.FADE)) {\n this._isTransitioning = true\n }\n\n const showEvent = $.Event(Event.SHOW, {\n relatedTarget\n })\n\n $(this._element).trigger(showEvent)\n\n if (this._isShown || showEvent.isDefaultPrevented()) {\n return\n }\n\n this._isShown = true\n\n this._checkScrollbar()\n this._setScrollbar()\n\n this._adjustDialog()\n\n this._setEscapeEvent()\n this._setResizeEvent()\n\n $(this._element).on(\n Event.CLICK_DISMISS,\n Selector.DATA_DISMISS,\n (event) => this.hide(event)\n )\n\n $(this._dialog).on(Event.MOUSEDOWN_DISMISS, () => {\n $(this._element).one(Event.MOUSEUP_DISMISS, (event) => {\n if ($(event.target).is(this._element)) {\n this._ignoreBackdropClick = true\n }\n })\n })\n\n this._showBackdrop(() => this._showElement(relatedTarget))\n }\n\n hide(event) {\n if (event) {\n event.preventDefault()\n }\n\n if (!this._isShown || this._isTransitioning) {\n return\n }\n\n const hideEvent = $.Event(Event.HIDE)\n\n $(this._element).trigger(hideEvent)\n\n if (!this._isShown || hideEvent.isDefaultPrevented()) {\n return\n }\n\n this._isShown = false\n const transition = $(this._element).hasClass(ClassName.FADE)\n\n if (transition) {\n this._isTransitioning = true\n }\n\n this._setEscapeEvent()\n this._setResizeEvent()\n\n $(document).off(Event.FOCUSIN)\n\n $(this._element).removeClass(ClassName.SHOW)\n\n $(this._element).off(Event.CLICK_DISMISS)\n $(this._dialog).off(Event.MOUSEDOWN_DISMISS)\n\n\n if (transition) {\n const transitionDuration = Util.getTransitionDurationFromElement(this._element)\n\n $(this._element)\n .one(Util.TRANSITION_END, (event) => this._hideModal(event))\n .emulateTransitionEnd(transitionDuration)\n } else {\n this._hideModal()\n }\n }\n\n dispose() {\n [window, this._element, this._dialog]\n .forEach((htmlElement) => $(htmlElement).off(EVENT_KEY))\n\n /**\n * `document` has 2 events `Event.FOCUSIN` and `Event.CLICK_DATA_API`\n * Do not move `document` in `htmlElements` array\n * It will remove `Event.CLICK_DATA_API` event that should remain\n */\n $(document).off(Event.FOCUSIN)\n\n $.removeData(this._element, DATA_KEY)\n\n this._config = null\n this._element = null\n this._dialog = null\n this._backdrop = null\n this._isShown = null\n this._isBodyOverflowing = null\n this._ignoreBackdropClick = null\n this._isTransitioning = null\n this._scrollbarWidth = null\n }\n\n handleUpdate() {\n this._adjustDialog()\n }\n\n // Private\n\n _getConfig(config) {\n config = {\n ...Default,\n ...config\n }\n Util.typeCheckConfig(NAME, config, DefaultType)\n return config\n }\n\n _showElement(relatedTarget) {\n const transition = $(this._element).hasClass(ClassName.FADE)\n\n if (!this._element.parentNode ||\n this._element.parentNode.nodeType !== Node.ELEMENT_NODE) {\n // Don't move modal's DOM position\n document.body.appendChild(this._element)\n }\n\n this._element.style.display = 'block'\n this._element.removeAttribute('aria-hidden')\n this._element.setAttribute('aria-modal', true)\n this._element.scrollTop = 0\n\n if (transition) {\n Util.reflow(this._element)\n }\n\n $(this._element).addClass(ClassName.SHOW)\n\n if (this._config.focus) {\n this._enforceFocus()\n }\n\n const shownEvent = $.Event(Event.SHOWN, {\n relatedTarget\n })\n\n const transitionComplete = () => {\n if (this._config.focus) {\n this._element.focus()\n }\n this._isTransitioning = false\n $(this._element).trigger(shownEvent)\n }\n\n if (transition) {\n const transitionDuration = Util.getTransitionDurationFromElement(this._dialog)\n\n $(this._dialog)\n .one(Util.TRANSITION_END, transitionComplete)\n .emulateTransitionEnd(transitionDuration)\n } else {\n transitionComplete()\n }\n }\n\n _enforceFocus() {\n $(document)\n .off(Event.FOCUSIN) // Guard against infinite focus loop\n .on(Event.FOCUSIN, (event) => {\n if (document !== event.target &&\n this._element !== event.target &&\n $(this._element).has(event.target).length === 0) {\n this._element.focus()\n }\n })\n }\n\n _setEscapeEvent() {\n if (this._isShown && this._config.keyboard) {\n $(this._element).on(Event.KEYDOWN_DISMISS, (event) => {\n if (event.which === ESCAPE_KEYCODE) {\n event.preventDefault()\n this.hide()\n }\n })\n } else if (!this._isShown) {\n $(this._element).off(Event.KEYDOWN_DISMISS)\n }\n }\n\n _setResizeEvent() {\n if (this._isShown) {\n $(window).on(Event.RESIZE, (event) => this.handleUpdate(event))\n } else {\n $(window).off(Event.RESIZE)\n }\n }\n\n _hideModal() {\n this._element.style.display = 'none'\n this._element.setAttribute('aria-hidden', true)\n this._element.removeAttribute('aria-modal')\n this._isTransitioning = false\n this._showBackdrop(() => {\n $(document.body).removeClass(ClassName.OPEN)\n this._resetAdjustments()\n this._resetScrollbar()\n $(this._element).trigger(Event.HIDDEN)\n })\n }\n\n _removeBackdrop() {\n if (this._backdrop) {\n $(this._backdrop).remove()\n this._backdrop = null\n }\n }\n\n _showBackdrop(callback) {\n const animate = $(this._element).hasClass(ClassName.FADE)\n ? ClassName.FADE : ''\n\n if (this._isShown && this._config.backdrop) {\n this._backdrop = document.createElement('div')\n this._backdrop.className = ClassName.BACKDROP\n\n if (animate) {\n this._backdrop.classList.add(animate)\n }\n\n $(this._backdrop).appendTo(document.body)\n\n $(this._element).on(Event.CLICK_DISMISS, (event) => {\n if (this._ignoreBackdropClick) {\n this._ignoreBackdropClick = false\n return\n }\n if (event.target !== event.currentTarget) {\n return\n }\n if (this._config.backdrop === 'static') {\n this._element.focus()\n } else {\n this.hide()\n }\n })\n\n if (animate) {\n Util.reflow(this._backdrop)\n }\n\n $(this._backdrop).addClass(ClassName.SHOW)\n\n if (!callback) {\n return\n }\n\n if (!animate) {\n callback()\n return\n }\n\n const backdropTransitionDuration = Util.getTransitionDurationFromElement(this._backdrop)\n\n $(this._backdrop)\n .one(Util.TRANSITION_END, callback)\n .emulateTransitionEnd(backdropTransitionDuration)\n } else if (!this._isShown && this._backdrop) {\n $(this._backdrop).removeClass(ClassName.SHOW)\n\n const callbackRemove = () => {\n this._removeBackdrop()\n if (callback) {\n callback()\n }\n }\n\n if ($(this._element).hasClass(ClassName.FADE)) {\n const backdropTransitionDuration = Util.getTransitionDurationFromElement(this._backdrop)\n\n $(this._backdrop)\n .one(Util.TRANSITION_END, callbackRemove)\n .emulateTransitionEnd(backdropTransitionDuration)\n } else {\n callbackRemove()\n }\n } else if (callback) {\n callback()\n }\n }\n\n // ----------------------------------------------------------------------\n // the following methods are used to handle overflowing modals\n // todo (fat): these should probably be refactored out of modal.js\n // ----------------------------------------------------------------------\n\n _adjustDialog() {\n const isModalOverflowing =\n this._element.scrollHeight > document.documentElement.clientHeight\n\n if (!this._isBodyOverflowing && isModalOverflowing) {\n this._element.style.paddingLeft = `${this._scrollbarWidth}px`\n }\n\n if (this._isBodyOverflowing && !isModalOverflowing) {\n this._element.style.paddingRight = `${this._scrollbarWidth}px`\n }\n }\n\n _resetAdjustments() {\n this._element.style.paddingLeft = ''\n this._element.style.paddingRight = ''\n }\n\n _checkScrollbar() {\n const rect = document.body.getBoundingClientRect()\n this._isBodyOverflowing = rect.left + rect.right < window.innerWidth\n this._scrollbarWidth = this._getScrollbarWidth()\n }\n\n _setScrollbar() {\n if (this._isBodyOverflowing) {\n // Note: DOMNode.style.paddingRight returns the actual value or '' if not set\n // while $(DOMNode).css('padding-right') returns the calculated value or 0 if not set\n const fixedContent = [].slice.call(document.querySelectorAll(Selector.FIXED_CONTENT))\n const stickyContent = [].slice.call(document.querySelectorAll(Selector.STICKY_CONTENT))\n\n // Adjust fixed content padding\n $(fixedContent).each((index, element) => {\n const actualPadding = element.style.paddingRight\n const calculatedPadding = $(element).css('padding-right')\n $(element)\n .data('padding-right', actualPadding)\n .css('padding-right', `${parseFloat(calculatedPadding) + this._scrollbarWidth}px`)\n })\n\n // Adjust sticky content margin\n $(stickyContent).each((index, element) => {\n const actualMargin = element.style.marginRight\n const calculatedMargin = $(element).css('margin-right')\n $(element)\n .data('margin-right', actualMargin)\n .css('margin-right', `${parseFloat(calculatedMargin) - this._scrollbarWidth}px`)\n })\n\n // Adjust body padding\n const actualPadding = document.body.style.paddingRight\n const calculatedPadding = $(document.body).css('padding-right')\n $(document.body)\n .data('padding-right', actualPadding)\n .css('padding-right', `${parseFloat(calculatedPadding) + this._scrollbarWidth}px`)\n }\n\n $(document.body).addClass(ClassName.OPEN)\n }\n\n _resetScrollbar() {\n // Restore fixed content padding\n const fixedContent = [].slice.call(document.querySelectorAll(Selector.FIXED_CONTENT))\n $(fixedContent).each((index, element) => {\n const padding = $(element).data('padding-right')\n $(element).removeData('padding-right')\n element.style.paddingRight = padding ? padding : ''\n })\n\n // Restore sticky content\n const elements = [].slice.call(document.querySelectorAll(`${Selector.STICKY_CONTENT}`))\n $(elements).each((index, element) => {\n const margin = $(element).data('margin-right')\n if (typeof margin !== 'undefined') {\n $(element).css('margin-right', margin).removeData('margin-right')\n }\n })\n\n // Restore body padding\n const padding = $(document.body).data('padding-right')\n $(document.body).removeData('padding-right')\n document.body.style.paddingRight = padding ? padding : ''\n }\n\n _getScrollbarWidth() { // thx d.walsh\n const scrollDiv = document.createElement('div')\n scrollDiv.className = ClassName.SCROLLBAR_MEASURER\n document.body.appendChild(scrollDiv)\n const scrollbarWidth = scrollDiv.getBoundingClientRect().width - scrollDiv.clientWidth\n document.body.removeChild(scrollDiv)\n return scrollbarWidth\n }\n\n // Static\n\n static _jQueryInterface(config, relatedTarget) {\n return this.each(function () {\n let data = $(this).data(DATA_KEY)\n const _config = {\n ...Default,\n ...$(this).data(),\n ...typeof config === 'object' && config ? config : {}\n }\n\n if (!data) {\n data = new Modal(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](relatedTarget)\n } else if (_config.show) {\n data.show(relatedTarget)\n }\n })\n }\n}\n\n/**\n * ------------------------------------------------------------------------\n * Data Api implementation\n * ------------------------------------------------------------------------\n */\n\n$(document).on(Event.CLICK_DATA_API, Selector.DATA_TOGGLE, function (event) {\n let target\n const selector = Util.getSelectorFromElement(this)\n\n if (selector) {\n target = document.querySelector(selector)\n }\n\n const config = $(target).data(DATA_KEY)\n ? 'toggle' : {\n ...$(target).data(),\n ...$(this).data()\n }\n\n if (this.tagName === 'A' || this.tagName === 'AREA') {\n event.preventDefault()\n }\n\n const $target = $(target).one(Event.SHOW, (showEvent) => {\n if (showEvent.isDefaultPrevented()) {\n // Only register focus restorer if modal will actually get shown\n return\n }\n\n $target.one(Event.HIDDEN, () => {\n if ($(this).is(':visible')) {\n this.focus()\n }\n })\n })\n\n Modal._jQueryInterface.call($(target), config, this)\n})\n\n/**\n * ------------------------------------------------------------------------\n * jQuery\n * ------------------------------------------------------------------------\n */\n\n$.fn[NAME] = Modal._jQueryInterface\n$.fn[NAME].Constructor = Modal\n$.fn[NAME].noConflict = () => {\n $.fn[NAME] = JQUERY_NO_CONFLICT\n return Modal._jQueryInterface\n}\n\nexport default Modal\n"],"names":["NAME","VERSION","DATA_KEY","EVENT_KEY","DATA_API_KEY","JQUERY_NO_CONFLICT","$","fn","ESCAPE_KEYCODE","Default","backdrop","keyboard","focus","show","DefaultType","Event","HIDE","HIDDEN","SHOW","SHOWN","FOCUSIN","RESIZE","CLICK_DISMISS","KEYDOWN_DISMISS","MOUSEUP_DISMISS","MOUSEDOWN_DISMISS","CLICK_DATA_API","ClassName","SCROLLBAR_MEASURER","BACKDROP","OPEN","FADE","Selector","DIALOG","DATA_TOGGLE","DATA_DISMISS","FIXED_CONTENT","STICKY_CONTENT","Modal","element","config","_config","_getConfig","_element","_dialog","querySelector","_backdrop","_isShown","_isBodyOverflowing","_ignoreBackdropClick","_isTransitioning","_scrollbarWidth","toggle","relatedTarget","hide","hasClass","showEvent","trigger","isDefaultPrevented","_checkScrollbar","_setScrollbar","_adjustDialog","_setEscapeEvent","_setResizeEvent","on","event","one","target","is","_showBackdrop","_showElement","preventDefault","hideEvent","transition","document","off","removeClass","transitionDuration","Util","getTransitionDurationFromElement","TRANSITION_END","_hideModal","emulateTransitionEnd","dispose","window","forEach","htmlElement","removeData","handleUpdate","typeCheckConfig","parentNode","nodeType","Node","ELEMENT_NODE","body","appendChild","style","display","removeAttribute","setAttribute","scrollTop","reflow","addClass","_enforceFocus","shownEvent","transitionComplete","has","length","which","_resetAdjustments","_resetScrollbar","_removeBackdrop","remove","callback","animate","createElement","className","classList","add","appendTo","currentTarget","backdropTransitionDuration","callbackRemove","isModalOverflowing","scrollHeight","documentElement","clientHeight","paddingLeft","paddingRight","rect","getBoundingClientRect","left","right","innerWidth","_getScrollbarWidth","fixedContent","slice","call","querySelectorAll","stickyContent","each","index","actualPadding","calculatedPadding","css","data","parseFloat","actualMargin","marginRight","calculatedMargin","padding","elements","margin","scrollDiv","scrollbarWidth","width","clientWidth","removeChild","_jQueryInterface","TypeError","selector","getSelectorFromElement","tagName","$target","Constructor","noConflict"],"mappings":"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"}
@@ -0,0 +1,261 @@
1
+ /*!
2
+ * Bootstrap popover.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('./tooltip.js')) :
8
+ typeof define === 'function' && define.amd ? define(['jquery', './tooltip.js'], factory) :
9
+ (global.Popover = factory(global.jQuery,global.Tooltip));
10
+ }(this, (function ($,Tooltip) { 'use strict';
11
+
12
+ $ = $ && $.hasOwnProperty('default') ? $['default'] : $;
13
+ Tooltip = Tooltip && Tooltip.hasOwnProperty('default') ? Tooltip['default'] : Tooltip;
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
+ function _inheritsLoose(subClass, superClass) {
66
+ subClass.prototype = Object.create(superClass.prototype);
67
+ subClass.prototype.constructor = subClass;
68
+ subClass.__proto__ = superClass;
69
+ }
70
+
71
+ /**
72
+ * ------------------------------------------------------------------------
73
+ * Constants
74
+ * ------------------------------------------------------------------------
75
+ */
76
+
77
+ var NAME = 'popover';
78
+ var VERSION = '4.2.1';
79
+ var DATA_KEY = 'bs.popover';
80
+ var EVENT_KEY = "." + DATA_KEY;
81
+ var JQUERY_NO_CONFLICT = $.fn[NAME];
82
+ var CLASS_PREFIX = 'bs-popover';
83
+ var BSCLS_PREFIX_REGEX = new RegExp("(^|\\s)" + CLASS_PREFIX + "\\S+", 'g');
84
+
85
+ var Default = _objectSpread({}, Tooltip.Default, {
86
+ placement: 'right',
87
+ trigger: 'click',
88
+ content: '',
89
+ template: '<div class="popover" role="tooltip">' + '<div class="arrow"></div>' + '<h3 class="popover-header"></h3>' + '<div class="popover-body"></div></div>'
90
+ });
91
+
92
+ var DefaultType = _objectSpread({}, Tooltip.DefaultType, {
93
+ content: '(string|element|function)'
94
+ });
95
+
96
+ var ClassName = {
97
+ FADE: 'fade',
98
+ SHOW: 'show'
99
+ };
100
+ var Selector = {
101
+ TITLE: '.popover-header',
102
+ CONTENT: '.popover-body'
103
+ };
104
+ var Event = {
105
+ HIDE: "hide" + EVENT_KEY,
106
+ HIDDEN: "hidden" + EVENT_KEY,
107
+ SHOW: "show" + EVENT_KEY,
108
+ SHOWN: "shown" + EVENT_KEY,
109
+ INSERTED: "inserted" + EVENT_KEY,
110
+ CLICK: "click" + EVENT_KEY,
111
+ FOCUSIN: "focusin" + EVENT_KEY,
112
+ FOCUSOUT: "focusout" + EVENT_KEY,
113
+ MOUSEENTER: "mouseenter" + EVENT_KEY,
114
+ MOUSELEAVE: "mouseleave" + EVENT_KEY
115
+ /**
116
+ * ------------------------------------------------------------------------
117
+ * Class Definition
118
+ * ------------------------------------------------------------------------
119
+ */
120
+
121
+ };
122
+
123
+ var Popover =
124
+ /*#__PURE__*/
125
+ function (_Tooltip) {
126
+ _inheritsLoose(Popover, _Tooltip);
127
+
128
+ function Popover() {
129
+ return _Tooltip.apply(this, arguments) || this;
130
+ }
131
+
132
+ var _proto = Popover.prototype;
133
+
134
+ // Overrides
135
+ _proto.isWithContent = function isWithContent() {
136
+ return this.getTitle() || this._getContent();
137
+ };
138
+
139
+ _proto.addAttachmentClass = function addAttachmentClass(attachment) {
140
+ $(this.getTipElement()).addClass(CLASS_PREFIX + "-" + attachment);
141
+ };
142
+
143
+ _proto.getTipElement = function getTipElement() {
144
+ this.tip = this.tip || $(this.config.template)[0];
145
+ return this.tip;
146
+ };
147
+
148
+ _proto.setContent = function setContent() {
149
+ var $tip = $(this.getTipElement()); // We use append for html objects to maintain js events
150
+
151
+ this.setElementContent($tip.find(Selector.TITLE), this.getTitle());
152
+
153
+ var content = this._getContent();
154
+
155
+ if (typeof content === 'function') {
156
+ content = content.call(this.element);
157
+ }
158
+
159
+ this.setElementContent($tip.find(Selector.CONTENT), content);
160
+ $tip.removeClass(ClassName.FADE + " " + ClassName.SHOW);
161
+ }; // Private
162
+
163
+
164
+ _proto._getContent = function _getContent() {
165
+ return this.element.getAttribute('data-content') || this.config.content;
166
+ };
167
+
168
+ _proto._cleanTipClass = function _cleanTipClass() {
169
+ var $tip = $(this.getTipElement());
170
+ var tabClass = $tip.attr('class').match(BSCLS_PREFIX_REGEX);
171
+
172
+ if (tabClass !== null && tabClass.length > 0) {
173
+ $tip.removeClass(tabClass.join(''));
174
+ }
175
+ }; // Static
176
+
177
+
178
+ Popover._jQueryInterface = function _jQueryInterface(config) {
179
+ return this.each(function () {
180
+ var data = $(this).data(DATA_KEY);
181
+
182
+ var _config = typeof config === 'object' ? config : null;
183
+
184
+ if (!data && /dispose|hide/.test(config)) {
185
+ return;
186
+ }
187
+
188
+ if (!data) {
189
+ data = new Popover(this, _config);
190
+ $(this).data(DATA_KEY, data);
191
+ }
192
+
193
+ if (typeof config === 'string') {
194
+ if (typeof data[config] === 'undefined') {
195
+ throw new TypeError("No method named \"" + config + "\"");
196
+ }
197
+
198
+ data[config]();
199
+ }
200
+ });
201
+ };
202
+
203
+ _createClass(Popover, null, [{
204
+ key: "VERSION",
205
+ // Getters
206
+ get: function get() {
207
+ return VERSION;
208
+ }
209
+ }, {
210
+ key: "Default",
211
+ get: function get() {
212
+ return Default;
213
+ }
214
+ }, {
215
+ key: "NAME",
216
+ get: function get() {
217
+ return NAME;
218
+ }
219
+ }, {
220
+ key: "DATA_KEY",
221
+ get: function get() {
222
+ return DATA_KEY;
223
+ }
224
+ }, {
225
+ key: "Event",
226
+ get: function get() {
227
+ return Event;
228
+ }
229
+ }, {
230
+ key: "EVENT_KEY",
231
+ get: function get() {
232
+ return EVENT_KEY;
233
+ }
234
+ }, {
235
+ key: "DefaultType",
236
+ get: function get() {
237
+ return DefaultType;
238
+ }
239
+ }]);
240
+
241
+ return Popover;
242
+ }(Tooltip);
243
+ /**
244
+ * ------------------------------------------------------------------------
245
+ * jQuery
246
+ * ------------------------------------------------------------------------
247
+ */
248
+
249
+
250
+ $.fn[NAME] = Popover._jQueryInterface;
251
+ $.fn[NAME].Constructor = Popover;
252
+
253
+ $.fn[NAME].noConflict = function () {
254
+ $.fn[NAME] = JQUERY_NO_CONFLICT;
255
+ return Popover._jQueryInterface;
256
+ };
257
+
258
+ return Popover;
259
+
260
+ })));
261
+ //# sourceMappingURL=popover.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"popover.js","sources":["../src/popover.js"],"sourcesContent":["/**\n * --------------------------------------------------------------------------\n * Bootstrap (v4.2.1): popover.js\n * Licensed under MIT (https://github.com/twbs/bootstrap/blob/master/LICENSE)\n * --------------------------------------------------------------------------\n */\n\nimport $ from 'jquery'\nimport Tooltip from './tooltip'\n\n/**\n * ------------------------------------------------------------------------\n * Constants\n * ------------------------------------------------------------------------\n */\n\nconst NAME = 'popover'\nconst VERSION = '4.2.1'\nconst DATA_KEY = 'bs.popover'\nconst EVENT_KEY = `.${DATA_KEY}`\nconst JQUERY_NO_CONFLICT = $.fn[NAME]\nconst CLASS_PREFIX = 'bs-popover'\nconst BSCLS_PREFIX_REGEX = new RegExp(`(^|\\\\s)${CLASS_PREFIX}\\\\S+`, 'g')\n\nconst Default = {\n ...Tooltip.Default,\n placement : 'right',\n trigger : 'click',\n content : '',\n template : '<div class=\"popover\" role=\"tooltip\">' +\n '<div class=\"arrow\"></div>' +\n '<h3 class=\"popover-header\"></h3>' +\n '<div class=\"popover-body\"></div></div>'\n}\n\nconst DefaultType = {\n ...Tooltip.DefaultType,\n content : '(string|element|function)'\n}\n\nconst ClassName = {\n FADE : 'fade',\n SHOW : 'show'\n}\n\nconst Selector = {\n TITLE : '.popover-header',\n CONTENT : '.popover-body'\n}\n\nconst Event = {\n HIDE : `hide${EVENT_KEY}`,\n HIDDEN : `hidden${EVENT_KEY}`,\n SHOW : `show${EVENT_KEY}`,\n SHOWN : `shown${EVENT_KEY}`,\n INSERTED : `inserted${EVENT_KEY}`,\n CLICK : `click${EVENT_KEY}`,\n FOCUSIN : `focusin${EVENT_KEY}`,\n FOCUSOUT : `focusout${EVENT_KEY}`,\n MOUSEENTER : `mouseenter${EVENT_KEY}`,\n MOUSELEAVE : `mouseleave${EVENT_KEY}`\n}\n\n/**\n * ------------------------------------------------------------------------\n * Class Definition\n * ------------------------------------------------------------------------\n */\n\nclass Popover extends Tooltip {\n // Getters\n\n static get VERSION() {\n return VERSION\n }\n\n static get Default() {\n return Default\n }\n\n static get NAME() {\n return NAME\n }\n\n static get DATA_KEY() {\n return DATA_KEY\n }\n\n static get Event() {\n return Event\n }\n\n static get EVENT_KEY() {\n return EVENT_KEY\n }\n\n static get DefaultType() {\n return DefaultType\n }\n\n // Overrides\n\n isWithContent() {\n return this.getTitle() || this._getContent()\n }\n\n addAttachmentClass(attachment) {\n $(this.getTipElement()).addClass(`${CLASS_PREFIX}-${attachment}`)\n }\n\n getTipElement() {\n this.tip = this.tip || $(this.config.template)[0]\n return this.tip\n }\n\n setContent() {\n const $tip = $(this.getTipElement())\n\n // We use append for html objects to maintain js events\n this.setElementContent($tip.find(Selector.TITLE), this.getTitle())\n let content = this._getContent()\n if (typeof content === 'function') {\n content = content.call(this.element)\n }\n this.setElementContent($tip.find(Selector.CONTENT), content)\n\n $tip.removeClass(`${ClassName.FADE} ${ClassName.SHOW}`)\n }\n\n // Private\n\n _getContent() {\n return this.element.getAttribute('data-content') ||\n this.config.content\n }\n\n _cleanTipClass() {\n const $tip = $(this.getTipElement())\n const tabClass = $tip.attr('class').match(BSCLS_PREFIX_REGEX)\n if (tabClass !== null && tabClass.length > 0) {\n $tip.removeClass(tabClass.join(''))\n }\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 && /dispose|hide/.test(config)) {\n return\n }\n\n if (!data) {\n data = new Popover(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\n/**\n * ------------------------------------------------------------------------\n * jQuery\n * ------------------------------------------------------------------------\n */\n\n$.fn[NAME] = Popover._jQueryInterface\n$.fn[NAME].Constructor = Popover\n$.fn[NAME].noConflict = () => {\n $.fn[NAME] = JQUERY_NO_CONFLICT\n return Popover._jQueryInterface\n}\n\nexport default Popover\n"],"names":["NAME","VERSION","DATA_KEY","EVENT_KEY","JQUERY_NO_CONFLICT","$","fn","CLASS_PREFIX","BSCLS_PREFIX_REGEX","RegExp","Default","Tooltip","placement","trigger","content","template","DefaultType","ClassName","FADE","SHOW","Selector","TITLE","CONTENT","Event","HIDE","HIDDEN","SHOWN","INSERTED","CLICK","FOCUSIN","FOCUSOUT","MOUSEENTER","MOUSELEAVE","Popover","isWithContent","getTitle","_getContent","addAttachmentClass","attachment","getTipElement","addClass","tip","config","setContent","$tip","setElementContent","find","call","element","removeClass","getAttribute","_cleanTipClass","tabClass","attr","match","length","join","_jQueryInterface","each","data","_config","test","TypeError","Constructor","noConflict"],"mappings":"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"}
@@ -0,0 +1,375 @@
1
+ /*!
2
+ * Bootstrap scrollspy.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.ScrollSpy = 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 = 'scrollspy';
72
+ var VERSION = '4.2.1';
73
+ var DATA_KEY = 'bs.scrollspy';
74
+ var EVENT_KEY = "." + DATA_KEY;
75
+ var DATA_API_KEY = '.data-api';
76
+ var JQUERY_NO_CONFLICT = $.fn[NAME];
77
+ var Default = {
78
+ offset: 10,
79
+ method: 'auto',
80
+ target: ''
81
+ };
82
+ var DefaultType = {
83
+ offset: 'number',
84
+ method: 'string',
85
+ target: '(string|element)'
86
+ };
87
+ var Event = {
88
+ ACTIVATE: "activate" + EVENT_KEY,
89
+ SCROLL: "scroll" + EVENT_KEY,
90
+ LOAD_DATA_API: "load" + EVENT_KEY + DATA_API_KEY
91
+ };
92
+ var ClassName = {
93
+ DROPDOWN_ITEM: 'dropdown-item',
94
+ DROPDOWN_MENU: 'dropdown-menu',
95
+ ACTIVE: 'active'
96
+ };
97
+ var Selector = {
98
+ DATA_SPY: '[data-spy="scroll"]',
99
+ ACTIVE: '.active',
100
+ NAV_LIST_GROUP: '.nav, .list-group',
101
+ NAV_LINKS: '.nav-link',
102
+ NAV_ITEMS: '.nav-item',
103
+ LIST_ITEMS: '.list-group-item',
104
+ DROPDOWN: '.dropdown',
105
+ DROPDOWN_ITEMS: '.dropdown-item',
106
+ DROPDOWN_TOGGLE: '.dropdown-toggle'
107
+ };
108
+ var OffsetMethod = {
109
+ OFFSET: 'offset',
110
+ POSITION: 'position'
111
+ /**
112
+ * ------------------------------------------------------------------------
113
+ * Class Definition
114
+ * ------------------------------------------------------------------------
115
+ */
116
+
117
+ };
118
+
119
+ var ScrollSpy =
120
+ /*#__PURE__*/
121
+ function () {
122
+ function ScrollSpy(element, config) {
123
+ var _this = this;
124
+
125
+ this._element = element;
126
+ this._scrollElement = element.tagName === 'BODY' ? window : element;
127
+ this._config = this._getConfig(config);
128
+ this._selector = this._config.target + " " + Selector.NAV_LINKS + "," + (this._config.target + " " + Selector.LIST_ITEMS + ",") + (this._config.target + " " + Selector.DROPDOWN_ITEMS);
129
+ this._offsets = [];
130
+ this._targets = [];
131
+ this._activeTarget = null;
132
+ this._scrollHeight = 0;
133
+ $(this._scrollElement).on(Event.SCROLL, function (event) {
134
+ return _this._process(event);
135
+ });
136
+ this.refresh();
137
+
138
+ this._process();
139
+ } // Getters
140
+
141
+
142
+ var _proto = ScrollSpy.prototype;
143
+
144
+ // Public
145
+ _proto.refresh = function refresh() {
146
+ var _this2 = this;
147
+
148
+ var autoMethod = this._scrollElement === this._scrollElement.window ? OffsetMethod.OFFSET : OffsetMethod.POSITION;
149
+ var offsetMethod = this._config.method === 'auto' ? autoMethod : this._config.method;
150
+ var offsetBase = offsetMethod === OffsetMethod.POSITION ? this._getScrollTop() : 0;
151
+ this._offsets = [];
152
+ this._targets = [];
153
+ this._scrollHeight = this._getScrollHeight();
154
+ var targets = [].slice.call(document.querySelectorAll(this._selector));
155
+ targets.map(function (element) {
156
+ var target;
157
+ var targetSelector = Util.getSelectorFromElement(element);
158
+
159
+ if (targetSelector) {
160
+ target = document.querySelector(targetSelector);
161
+ }
162
+
163
+ if (target) {
164
+ var targetBCR = target.getBoundingClientRect();
165
+
166
+ if (targetBCR.width || targetBCR.height) {
167
+ // TODO (fat): remove sketch reliance on jQuery position/offset
168
+ return [$(target)[offsetMethod]().top + offsetBase, targetSelector];
169
+ }
170
+ }
171
+
172
+ return null;
173
+ }).filter(function (item) {
174
+ return item;
175
+ }).sort(function (a, b) {
176
+ return a[0] - b[0];
177
+ }).forEach(function (item) {
178
+ _this2._offsets.push(item[0]);
179
+
180
+ _this2._targets.push(item[1]);
181
+ });
182
+ };
183
+
184
+ _proto.dispose = function dispose() {
185
+ $.removeData(this._element, DATA_KEY);
186
+ $(this._scrollElement).off(EVENT_KEY);
187
+ this._element = null;
188
+ this._scrollElement = null;
189
+ this._config = null;
190
+ this._selector = null;
191
+ this._offsets = null;
192
+ this._targets = null;
193
+ this._activeTarget = null;
194
+ this._scrollHeight = null;
195
+ }; // Private
196
+
197
+
198
+ _proto._getConfig = function _getConfig(config) {
199
+ config = _objectSpread({}, Default, typeof config === 'object' && config ? config : {});
200
+
201
+ if (typeof config.target !== 'string') {
202
+ var id = $(config.target).attr('id');
203
+
204
+ if (!id) {
205
+ id = Util.getUID(NAME);
206
+ $(config.target).attr('id', id);
207
+ }
208
+
209
+ config.target = "#" + id;
210
+ }
211
+
212
+ Util.typeCheckConfig(NAME, config, DefaultType);
213
+ return config;
214
+ };
215
+
216
+ _proto._getScrollTop = function _getScrollTop() {
217
+ return this._scrollElement === window ? this._scrollElement.pageYOffset : this._scrollElement.scrollTop;
218
+ };
219
+
220
+ _proto._getScrollHeight = function _getScrollHeight() {
221
+ return this._scrollElement.scrollHeight || Math.max(document.body.scrollHeight, document.documentElement.scrollHeight);
222
+ };
223
+
224
+ _proto._getOffsetHeight = function _getOffsetHeight() {
225
+ return this._scrollElement === window ? window.innerHeight : this._scrollElement.getBoundingClientRect().height;
226
+ };
227
+
228
+ _proto._process = function _process() {
229
+ var scrollTop = this._getScrollTop() + this._config.offset;
230
+
231
+ var scrollHeight = this._getScrollHeight();
232
+
233
+ var maxScroll = this._config.offset + scrollHeight - this._getOffsetHeight();
234
+
235
+ if (this._scrollHeight !== scrollHeight) {
236
+ this.refresh();
237
+ }
238
+
239
+ if (scrollTop >= maxScroll) {
240
+ var target = this._targets[this._targets.length - 1];
241
+
242
+ if (this._activeTarget !== target) {
243
+ this._activate(target);
244
+ }
245
+
246
+ return;
247
+ }
248
+
249
+ if (this._activeTarget && scrollTop < this._offsets[0] && this._offsets[0] > 0) {
250
+ this._activeTarget = null;
251
+
252
+ this._clear();
253
+
254
+ return;
255
+ }
256
+
257
+ var offsetLength = this._offsets.length;
258
+
259
+ for (var i = offsetLength; i--;) {
260
+ var isActiveTarget = this._activeTarget !== this._targets[i] && scrollTop >= this._offsets[i] && (typeof this._offsets[i + 1] === 'undefined' || scrollTop < this._offsets[i + 1]);
261
+
262
+ if (isActiveTarget) {
263
+ this._activate(this._targets[i]);
264
+ }
265
+ }
266
+ };
267
+
268
+ _proto._activate = function _activate(target) {
269
+ this._activeTarget = target;
270
+
271
+ this._clear();
272
+
273
+ var queries = this._selector.split(',').map(function (selector) {
274
+ return selector + "[data-target=\"" + target + "\"]," + selector + "[href=\"" + target + "\"]";
275
+ });
276
+
277
+ var $link = $([].slice.call(document.querySelectorAll(queries.join(','))));
278
+
279
+ if ($link.hasClass(ClassName.DROPDOWN_ITEM)) {
280
+ $link.closest(Selector.DROPDOWN).find(Selector.DROPDOWN_TOGGLE).addClass(ClassName.ACTIVE);
281
+ $link.addClass(ClassName.ACTIVE);
282
+ } else {
283
+ // Set triggered link as active
284
+ $link.addClass(ClassName.ACTIVE); // Set triggered links parents as active
285
+ // With both <ul> and <nav> markup a parent is the previous sibling of any nav ancestor
286
+
287
+ $link.parents(Selector.NAV_LIST_GROUP).prev(Selector.NAV_LINKS + ", " + Selector.LIST_ITEMS).addClass(ClassName.ACTIVE); // Handle special case when .nav-link is inside .nav-item
288
+
289
+ $link.parents(Selector.NAV_LIST_GROUP).prev(Selector.NAV_ITEMS).children(Selector.NAV_LINKS).addClass(ClassName.ACTIVE);
290
+ }
291
+
292
+ $(this._scrollElement).trigger(Event.ACTIVATE, {
293
+ relatedTarget: target
294
+ });
295
+ };
296
+
297
+ _proto._clear = function _clear() {
298
+ [].slice.call(document.querySelectorAll(this._selector)).filter(function (node) {
299
+ return node.classList.contains(ClassName.ACTIVE);
300
+ }).forEach(function (node) {
301
+ return node.classList.remove(ClassName.ACTIVE);
302
+ });
303
+ }; // Static
304
+
305
+
306
+ ScrollSpy._jQueryInterface = function _jQueryInterface(config) {
307
+ return this.each(function () {
308
+ var data = $(this).data(DATA_KEY);
309
+
310
+ var _config = typeof config === 'object' && config;
311
+
312
+ if (!data) {
313
+ data = new ScrollSpy(this, _config);
314
+ $(this).data(DATA_KEY, data);
315
+ }
316
+
317
+ if (typeof config === 'string') {
318
+ if (typeof data[config] === 'undefined') {
319
+ throw new TypeError("No method named \"" + config + "\"");
320
+ }
321
+
322
+ data[config]();
323
+ }
324
+ });
325
+ };
326
+
327
+ _createClass(ScrollSpy, null, [{
328
+ key: "VERSION",
329
+ get: function get() {
330
+ return VERSION;
331
+ }
332
+ }, {
333
+ key: "Default",
334
+ get: function get() {
335
+ return Default;
336
+ }
337
+ }]);
338
+
339
+ return ScrollSpy;
340
+ }();
341
+ /**
342
+ * ------------------------------------------------------------------------
343
+ * Data Api implementation
344
+ * ------------------------------------------------------------------------
345
+ */
346
+
347
+
348
+ $(window).on(Event.LOAD_DATA_API, function () {
349
+ var scrollSpys = [].slice.call(document.querySelectorAll(Selector.DATA_SPY));
350
+ var scrollSpysLength = scrollSpys.length;
351
+
352
+ for (var i = scrollSpysLength; i--;) {
353
+ var $spy = $(scrollSpys[i]);
354
+
355
+ ScrollSpy._jQueryInterface.call($spy, $spy.data());
356
+ }
357
+ });
358
+ /**
359
+ * ------------------------------------------------------------------------
360
+ * jQuery
361
+ * ------------------------------------------------------------------------
362
+ */
363
+
364
+ $.fn[NAME] = ScrollSpy._jQueryInterface;
365
+ $.fn[NAME].Constructor = ScrollSpy;
366
+
367
+ $.fn[NAME].noConflict = function () {
368
+ $.fn[NAME] = JQUERY_NO_CONFLICT;
369
+ return ScrollSpy._jQueryInterface;
370
+ };
371
+
372
+ return ScrollSpy;
373
+
374
+ })));
375
+ //# sourceMappingURL=scrollspy.js.map