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.
- checksums.yaml +7 -0
- data/LICENSE.txt +21 -0
- data/README.md +52 -0
- data/_layouts/page.html +61 -0
- data/_sass/bootstrap/js/dist/alert.js +199 -0
- data/_sass/bootstrap/js/dist/alert.js.map +1 -0
- data/_sass/bootstrap/js/dist/button.js +187 -0
- data/_sass/bootstrap/js/dist/button.js.map +1 -0
- data/_sass/bootstrap/js/dist/carousel.js +666 -0
- data/_sass/bootstrap/js/dist/carousel.js.map +1 -0
- data/_sass/bootstrap/js/dist/collapse.js +428 -0
- data/_sass/bootstrap/js/dist/collapse.js.map +1 -0
- data/_sass/bootstrap/js/dist/dropdown.js +591 -0
- data/_sass/bootstrap/js/dist/dropdown.js.map +1 -0
- data/_sass/bootstrap/js/dist/index.js +23 -0
- data/_sass/bootstrap/js/dist/index.js.map +1 -0
- data/_sass/bootstrap/js/dist/modal.js +644 -0
- data/_sass/bootstrap/js/dist/modal.js.map +1 -0
- data/_sass/bootstrap/js/dist/popover.js +261 -0
- data/_sass/bootstrap/js/dist/popover.js.map +1 -0
- data/_sass/bootstrap/js/dist/scrollspy.js +375 -0
- data/_sass/bootstrap/js/dist/scrollspy.js.map +1 -0
- data/_sass/bootstrap/js/dist/tab.js +266 -0
- data/_sass/bootstrap/js/dist/tab.js.map +1 -0
- data/_sass/bootstrap/js/dist/toast.js +278 -0
- data/_sass/bootstrap/js/dist/toast.js.map +1 -0
- data/_sass/bootstrap/js/dist/tooltip.js +745 -0
- data/_sass/bootstrap/js/dist/tooltip.js.map +1 -0
- data/_sass/bootstrap/js/dist/util.js +168 -0
- data/_sass/bootstrap/js/dist/util.js.map +1 -0
- data/_sass/bootstrap/js/src/alert.js +179 -0
- data/_sass/bootstrap/js/src/button.js +171 -0
- data/_sass/bootstrap/js/src/carousel.js +604 -0
- data/_sass/bootstrap/js/src/collapse.js +402 -0
- data/_sass/bootstrap/js/src/dropdown.js +538 -0
- data/_sass/bootstrap/js/src/index.js +52 -0
- data/_sass/bootstrap/js/src/modal.js +587 -0
- data/_sass/bootstrap/js/src/popover.js +184 -0
- data/_sass/bootstrap/js/src/scrollspy.js +326 -0
- data/_sass/bootstrap/js/src/tab.js +257 -0
- data/_sass/bootstrap/js/src/toast.js +223 -0
- data/_sass/bootstrap/js/src/tooltip.js +735 -0
- data/_sass/bootstrap/js/src/util.js +173 -0
- data/_sass/bootstrap/js/tests/README.md +69 -0
- data/_sass/bootstrap/js/tests/browsers.js +82 -0
- data/_sass/bootstrap/js/tests/index.html +145 -0
- data/_sass/bootstrap/js/tests/integration/bundle.js +8 -0
- data/_sass/bootstrap/js/tests/integration/index.html +66 -0
- data/_sass/bootstrap/js/tests/integration/rollup.bundle.js +20 -0
- data/_sass/bootstrap/js/tests/karma.conf.js +145 -0
- data/_sass/bootstrap/js/tests/unit/.eslintrc.json +40 -0
- data/_sass/bootstrap/js/tests/unit/alert.js +123 -0
- data/_sass/bootstrap/js/tests/unit/button.js +222 -0
- data/_sass/bootstrap/js/tests/unit/carousel.js +1273 -0
- data/_sass/bootstrap/js/tests/unit/collapse.js +892 -0
- data/_sass/bootstrap/js/tests/unit/dropdown.js +1364 -0
- data/_sass/bootstrap/js/tests/unit/modal.js +796 -0
- data/_sass/bootstrap/js/tests/unit/popover.js +471 -0
- data/_sass/bootstrap/js/tests/unit/scrollspy.js +728 -0
- data/_sass/bootstrap/js/tests/unit/tab.js +462 -0
- data/_sass/bootstrap/js/tests/unit/toast.js +239 -0
- data/_sass/bootstrap/js/tests/unit/tooltip.js +1072 -0
- data/_sass/bootstrap/js/tests/unit/util.js +164 -0
- data/_sass/bootstrap/js/tests/visual/alert.html +58 -0
- data/_sass/bootstrap/js/tests/visual/button.html +51 -0
- data/_sass/bootstrap/js/tests/visual/carousel.html +66 -0
- data/_sass/bootstrap/js/tests/visual/collapse.html +78 -0
- data/_sass/bootstrap/js/tests/visual/dropdown.html +212 -0
- data/_sass/bootstrap/js/tests/visual/modal.html +268 -0
- data/_sass/bootstrap/js/tests/visual/popover.html +46 -0
- data/_sass/bootstrap/js/tests/visual/scrollspy.html +95 -0
- data/_sass/bootstrap/js/tests/visual/tab.html +234 -0
- data/_sass/bootstrap/js/tests/visual/toast.html +72 -0
- data/_sass/bootstrap/js/tests/visual/tooltip.html +106 -0
- data/_sass/bootstrap/scss/_alert.scss +51 -0
- data/_sass/bootstrap/scss/_badge.scss +53 -0
- data/_sass/bootstrap/scss/_breadcrumb.scss +41 -0
- data/_sass/bootstrap/scss/_button-group.scss +163 -0
- data/_sass/bootstrap/scss/_buttons.scss +140 -0
- data/_sass/bootstrap/scss/_card.scss +310 -0
- data/_sass/bootstrap/scss/_carousel.scss +198 -0
- data/_sass/bootstrap/scss/_close.scss +44 -0
- data/_sass/bootstrap/scss/_code.scss +48 -0
- data/_sass/bootstrap/scss/_custom-forms.scss +507 -0
- data/_sass/bootstrap/scss/_dropdown.scss +191 -0
- data/_sass/bootstrap/scss/_forms.scss +334 -0
- data/_sass/bootstrap/scss/_functions.scss +86 -0
- data/_sass/bootstrap/scss/_grid.scss +52 -0
- data/_sass/bootstrap/scss/_images.scss +42 -0
- data/_sass/bootstrap/scss/_input-group.scss +193 -0
- data/_sass/bootstrap/scss/_jumbotron.scss +16 -0
- data/_sass/bootstrap/scss/_list-group.scss +121 -0
- data/_sass/bootstrap/scss/_media.scss +8 -0
- data/_sass/bootstrap/scss/_mixins.scss +41 -0
- data/_sass/bootstrap/scss/_modal.scss +186 -0
- data/_sass/bootstrap/scss/_nav.scss +120 -0
- data/_sass/bootstrap/scss/_navbar.scss +299 -0
- data/_sass/bootstrap/scss/_pagination.scss +78 -0
- data/_sass/bootstrap/scss/_popover.scss +183 -0
- data/_sass/bootstrap/scss/_print.scss +141 -0
- data/_sass/bootstrap/scss/_progress.scss +34 -0
- data/_sass/bootstrap/scss/_reboot.scss +462 -0
- data/_sass/bootstrap/scss/_root.scss +19 -0
- data/_sass/bootstrap/scss/_spinners.scss +53 -0
- data/_sass/bootstrap/scss/_tables.scss +187 -0
- data/_sass/bootstrap/scss/_toasts.scss +43 -0
- data/_sass/bootstrap/scss/_tooltip.scss +115 -0
- data/_sass/bootstrap/scss/_transitions.scss +22 -0
- data/_sass/bootstrap/scss/_type.scss +125 -0
- data/_sass/bootstrap/scss/_utilities.scss +16 -0
- data/_sass/bootstrap/scss/_variables.scss +1091 -0
- data/_sass/bootstrap/scss/bootstrap-grid.scss +29 -0
- data/_sass/bootstrap/scss/bootstrap-reboot.scss +12 -0
- data/_sass/bootstrap/scss/bootstrap.scss +44 -0
- data/_sass/bootstrap/scss/mixins/_alert.scss +13 -0
- data/_sass/bootstrap/scss/mixins/_background-variant.scss +21 -0
- data/_sass/bootstrap/scss/mixins/_badge.scss +11 -0
- data/_sass/bootstrap/scss/mixins/_border-radius.scss +35 -0
- data/_sass/bootstrap/scss/mixins/_box-shadow.scss +5 -0
- data/_sass/bootstrap/scss/mixins/_breakpoints.scss +123 -0
- data/_sass/bootstrap/scss/mixins/_buttons.scss +111 -0
- data/_sass/bootstrap/scss/mixins/_caret.scss +62 -0
- data/_sass/bootstrap/scss/mixins/_clearfix.scss +7 -0
- data/_sass/bootstrap/scss/mixins/_float.scss +11 -0
- data/_sass/bootstrap/scss/mixins/_forms.scss +198 -0
- data/_sass/bootstrap/scss/mixins/_gradients.scss +45 -0
- data/_sass/bootstrap/scss/mixins/_grid-framework.scss +66 -0
- data/_sass/bootstrap/scss/mixins/_grid.scss +51 -0
- data/_sass/bootstrap/scss/mixins/_hover.scss +37 -0
- data/_sass/bootstrap/scss/mixins/_image.scss +36 -0
- data/_sass/bootstrap/scss/mixins/_list-group.scss +21 -0
- data/_sass/bootstrap/scss/mixins/_lists.scss +7 -0
- data/_sass/bootstrap/scss/mixins/_nav-divider.scss +10 -0
- data/_sass/bootstrap/scss/mixins/_pagination.scss +22 -0
- data/_sass/bootstrap/scss/mixins/_reset-text.scss +17 -0
- data/_sass/bootstrap/scss/mixins/_resize.scss +6 -0
- data/_sass/bootstrap/scss/mixins/_screen-reader.scss +33 -0
- data/_sass/bootstrap/scss/mixins/_size.scss +6 -0
- data/_sass/bootstrap/scss/mixins/_table-row.scss +39 -0
- data/_sass/bootstrap/scss/mixins/_text-emphasis.scss +14 -0
- data/_sass/bootstrap/scss/mixins/_text-hide.scss +13 -0
- data/_sass/bootstrap/scss/mixins/_text-truncate.scss +8 -0
- data/_sass/bootstrap/scss/mixins/_transition.scss +16 -0
- data/_sass/bootstrap/scss/mixins/_visibility.scss +7 -0
- data/_sass/bootstrap/scss/utilities/_align.scss +8 -0
- data/_sass/bootstrap/scss/utilities/_background.scss +19 -0
- data/_sass/bootstrap/scss/utilities/_borders.scss +63 -0
- data/_sass/bootstrap/scss/utilities/_clearfix.scss +3 -0
- data/_sass/bootstrap/scss/utilities/_display.scss +38 -0
- data/_sass/bootstrap/scss/utilities/_embed.scss +39 -0
- data/_sass/bootstrap/scss/utilities/_flex.scss +51 -0
- data/_sass/bootstrap/scss/utilities/_float.scss +9 -0
- data/_sass/bootstrap/scss/utilities/_overflow.scss +5 -0
- data/_sass/bootstrap/scss/utilities/_position.scss +32 -0
- data/_sass/bootstrap/scss/utilities/_screenreaders.scss +11 -0
- data/_sass/bootstrap/scss/utilities/_shadows.scss +6 -0
- data/_sass/bootstrap/scss/utilities/_sizing.scss +20 -0
- data/_sass/bootstrap/scss/utilities/_spacing.scss +73 -0
- data/_sass/bootstrap/scss/utilities/_text.scss +67 -0
- data/_sass/bootstrap/scss/utilities/_visibility.scss +11 -0
- data/_sass/custom.scss +1 -0
- data/assets/css/style.scss +65 -0
- data/assets/images/vertx-square.svg +1 -0
- metadata +248 -0
@@ -0,0 +1 @@
|
|
1
|
+
{"version":3,"file":"carousel.js","sources":["../src/carousel.js"],"sourcesContent":["/**\n * --------------------------------------------------------------------------\n * Bootstrap (v4.2.1): carousel.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 = 'carousel'\nconst VERSION = '4.2.1'\nconst DATA_KEY = 'bs.carousel'\nconst EVENT_KEY = `.${DATA_KEY}`\nconst DATA_API_KEY = '.data-api'\nconst JQUERY_NO_CONFLICT = $.fn[NAME]\nconst ARROW_LEFT_KEYCODE = 37 // KeyboardEvent.which value for left arrow key\nconst ARROW_RIGHT_KEYCODE = 39 // KeyboardEvent.which value for right arrow key\nconst TOUCHEVENT_COMPAT_WAIT = 500 // Time for mouse compat events to fire after touch\nconst SWIPE_THRESHOLD = 40\n\nconst Default = {\n interval : 5000,\n keyboard : true,\n slide : false,\n pause : 'hover',\n wrap : true,\n touch : true\n}\n\nconst DefaultType = {\n interval : '(number|boolean)',\n keyboard : 'boolean',\n slide : '(boolean|string)',\n pause : '(string|boolean)',\n wrap : 'boolean',\n touch : 'boolean'\n}\n\nconst Direction = {\n NEXT : 'next',\n PREV : 'prev',\n LEFT : 'left',\n RIGHT : 'right'\n}\n\nconst Event = {\n SLIDE : `slide${EVENT_KEY}`,\n SLID : `slid${EVENT_KEY}`,\n KEYDOWN : `keydown${EVENT_KEY}`,\n MOUSEENTER : `mouseenter${EVENT_KEY}`,\n MOUSELEAVE : `mouseleave${EVENT_KEY}`,\n TOUCHSTART : `touchstart${EVENT_KEY}`,\n TOUCHMOVE : `touchmove${EVENT_KEY}`,\n TOUCHEND : `touchend${EVENT_KEY}`,\n POINTERDOWN : `pointerdown${EVENT_KEY}`,\n POINTERUP : `pointerup${EVENT_KEY}`,\n DRAG_START : `dragstart${EVENT_KEY}`,\n LOAD_DATA_API : `load${EVENT_KEY}${DATA_API_KEY}`,\n CLICK_DATA_API : `click${EVENT_KEY}${DATA_API_KEY}`\n}\n\nconst ClassName = {\n CAROUSEL : 'carousel',\n ACTIVE : 'active',\n SLIDE : 'slide',\n RIGHT : 'carousel-item-right',\n LEFT : 'carousel-item-left',\n NEXT : 'carousel-item-next',\n PREV : 'carousel-item-prev',\n ITEM : 'carousel-item',\n POINTER_EVENT : 'pointer-event'\n}\n\nconst Selector = {\n ACTIVE : '.active',\n ACTIVE_ITEM : '.active.carousel-item',\n ITEM : '.carousel-item',\n ITEM_IMG : '.carousel-item img',\n NEXT_PREV : '.carousel-item-next, .carousel-item-prev',\n INDICATORS : '.carousel-indicators',\n DATA_SLIDE : '[data-slide], [data-slide-to]',\n DATA_RIDE : '[data-ride=\"carousel\"]'\n}\n\nconst PointerType = {\n TOUCH : 'touch',\n PEN : 'pen'\n}\n\n/**\n * ------------------------------------------------------------------------\n * Class Definition\n * ------------------------------------------------------------------------\n */\nclass Carousel {\n constructor(element, config) {\n this._items = null\n this._interval = null\n this._activeElement = null\n this._isPaused = false\n this._isSliding = false\n this.touchTimeout = null\n this.touchStartX = 0\n this.touchDeltaX = 0\n\n this._config = this._getConfig(config)\n this._element = element\n this._indicatorsElement = this._element.querySelector(Selector.INDICATORS)\n this._touchSupported = 'ontouchstart' in document.documentElement || navigator.maxTouchPoints > 0\n this._pointerEvent = Boolean(window.PointerEvent || window.MSPointerEvent)\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 // Public\n\n next() {\n if (!this._isSliding) {\n this._slide(Direction.NEXT)\n }\n }\n\n nextWhenVisible() {\n // Don't call next when the page isn't visible\n // or the carousel or its parent isn't visible\n if (!document.hidden &&\n ($(this._element).is(':visible') && $(this._element).css('visibility') !== 'hidden')) {\n this.next()\n }\n }\n\n prev() {\n if (!this._isSliding) {\n this._slide(Direction.PREV)\n }\n }\n\n pause(event) {\n if (!event) {\n this._isPaused = true\n }\n\n if (this._element.querySelector(Selector.NEXT_PREV)) {\n Util.triggerTransitionEnd(this._element)\n this.cycle(true)\n }\n\n clearInterval(this._interval)\n this._interval = null\n }\n\n cycle(event) {\n if (!event) {\n this._isPaused = false\n }\n\n if (this._interval) {\n clearInterval(this._interval)\n this._interval = null\n }\n\n if (this._config.interval && !this._isPaused) {\n this._interval = setInterval(\n (document.visibilityState ? this.nextWhenVisible : this.next).bind(this),\n this._config.interval\n )\n }\n }\n\n to(index) {\n this._activeElement = this._element.querySelector(Selector.ACTIVE_ITEM)\n\n const activeIndex = this._getItemIndex(this._activeElement)\n\n if (index > this._items.length - 1 || index < 0) {\n return\n }\n\n if (this._isSliding) {\n $(this._element).one(Event.SLID, () => this.to(index))\n return\n }\n\n if (activeIndex === index) {\n this.pause()\n this.cycle()\n return\n }\n\n const direction = index > activeIndex\n ? Direction.NEXT\n : Direction.PREV\n\n this._slide(direction, this._items[index])\n }\n\n dispose() {\n $(this._element).off(EVENT_KEY)\n $.removeData(this._element, DATA_KEY)\n\n this._items = null\n this._config = null\n this._element = null\n this._interval = null\n this._isPaused = null\n this._isSliding = null\n this._activeElement = null\n this._indicatorsElement = null\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 _handleSwipe() {\n const absDeltax = Math.abs(this.touchDeltaX)\n\n if (absDeltax <= SWIPE_THRESHOLD) {\n return\n }\n\n const direction = absDeltax / this.touchDeltaX\n\n // swipe left\n if (direction > 0) {\n this.prev()\n }\n\n // swipe right\n if (direction < 0) {\n this.next()\n }\n }\n\n _addEventListeners() {\n if (this._config.keyboard) {\n $(this._element)\n .on(Event.KEYDOWN, (event) => this._keydown(event))\n }\n\n if (this._config.pause === 'hover') {\n $(this._element)\n .on(Event.MOUSEENTER, (event) => this.pause(event))\n .on(Event.MOUSELEAVE, (event) => this.cycle(event))\n }\n\n this._addTouchEventListeners()\n }\n\n _addTouchEventListeners() {\n if (!this._touchSupported) {\n return\n }\n\n const start = (event) => {\n if (this._pointerEvent && PointerType[event.originalEvent.pointerType.toUpperCase()]) {\n this.touchStartX = event.originalEvent.clientX\n } else if (!this._pointerEvent) {\n this.touchStartX = event.originalEvent.touches[0].clientX\n }\n }\n\n const move = (event) => {\n // ensure swiping with one touch and not pinching\n if (event.originalEvent.touches && event.originalEvent.touches.length > 1) {\n this.touchDeltaX = 0\n } else {\n this.touchDeltaX = event.originalEvent.touches[0].clientX - this.touchStartX\n }\n }\n\n const end = (event) => {\n if (this._pointerEvent && PointerType[event.originalEvent.pointerType.toUpperCase()]) {\n this.touchDeltaX = event.originalEvent.clientX - this.touchStartX\n }\n\n this._handleSwipe()\n if (this._config.pause === 'hover') {\n // If it's a touch-enabled device, mouseenter/leave are fired as\n // part of the mouse compatibility events on first tap - the carousel\n // would stop cycling until user tapped out of it;\n // here, we listen for touchend, explicitly pause the carousel\n // (as if it's the second time we tap on it, mouseenter compat event\n // is NOT fired) and after a timeout (to allow for mouse compatibility\n // events to fire) we explicitly restart cycling\n\n this.pause()\n if (this.touchTimeout) {\n clearTimeout(this.touchTimeout)\n }\n this.touchTimeout = setTimeout((event) => this.cycle(event), TOUCHEVENT_COMPAT_WAIT + this._config.interval)\n }\n }\n\n $(this._element.querySelectorAll(Selector.ITEM_IMG)).on(Event.DRAG_START, (e) => e.preventDefault())\n if (this._pointerEvent) {\n $(this._element).on(Event.POINTERDOWN, (event) => start(event))\n $(this._element).on(Event.POINTERUP, (event) => end(event))\n\n this._element.classList.add(ClassName.POINTER_EVENT)\n } else {\n $(this._element).on(Event.TOUCHSTART, (event) => start(event))\n $(this._element).on(Event.TOUCHMOVE, (event) => move(event))\n $(this._element).on(Event.TOUCHEND, (event) => end(event))\n }\n }\n\n _keydown(event) {\n if (/input|textarea/i.test(event.target.tagName)) {\n return\n }\n\n switch (event.which) {\n case ARROW_LEFT_KEYCODE:\n event.preventDefault()\n this.prev()\n break\n case ARROW_RIGHT_KEYCODE:\n event.preventDefault()\n this.next()\n break\n default:\n }\n }\n\n _getItemIndex(element) {\n this._items = element && element.parentNode\n ? [].slice.call(element.parentNode.querySelectorAll(Selector.ITEM))\n : []\n return this._items.indexOf(element)\n }\n\n _getItemByDirection(direction, activeElement) {\n const isNextDirection = direction === Direction.NEXT\n const isPrevDirection = direction === Direction.PREV\n const activeIndex = this._getItemIndex(activeElement)\n const lastItemIndex = this._items.length - 1\n const isGoingToWrap = isPrevDirection && activeIndex === 0 ||\n isNextDirection && activeIndex === lastItemIndex\n\n if (isGoingToWrap && !this._config.wrap) {\n return activeElement\n }\n\n const delta = direction === Direction.PREV ? -1 : 1\n const itemIndex = (activeIndex + delta) % this._items.length\n\n return itemIndex === -1\n ? this._items[this._items.length - 1] : this._items[itemIndex]\n }\n\n _triggerSlideEvent(relatedTarget, eventDirectionName) {\n const targetIndex = this._getItemIndex(relatedTarget)\n const fromIndex = this._getItemIndex(this._element.querySelector(Selector.ACTIVE_ITEM))\n const slideEvent = $.Event(Event.SLIDE, {\n relatedTarget,\n direction: eventDirectionName,\n from: fromIndex,\n to: targetIndex\n })\n\n $(this._element).trigger(slideEvent)\n\n return slideEvent\n }\n\n _setActiveIndicatorElement(element) {\n if (this._indicatorsElement) {\n const indicators = [].slice.call(this._indicatorsElement.querySelectorAll(Selector.ACTIVE))\n $(indicators)\n .removeClass(ClassName.ACTIVE)\n\n const nextIndicator = this._indicatorsElement.children[\n this._getItemIndex(element)\n ]\n\n if (nextIndicator) {\n $(nextIndicator).addClass(ClassName.ACTIVE)\n }\n }\n }\n\n _slide(direction, element) {\n const activeElement = this._element.querySelector(Selector.ACTIVE_ITEM)\n const activeElementIndex = this._getItemIndex(activeElement)\n const nextElement = element || activeElement &&\n this._getItemByDirection(direction, activeElement)\n const nextElementIndex = this._getItemIndex(nextElement)\n const isCycling = Boolean(this._interval)\n\n let directionalClassName\n let orderClassName\n let eventDirectionName\n\n if (direction === Direction.NEXT) {\n directionalClassName = ClassName.LEFT\n orderClassName = ClassName.NEXT\n eventDirectionName = Direction.LEFT\n } else {\n directionalClassName = ClassName.RIGHT\n orderClassName = ClassName.PREV\n eventDirectionName = Direction.RIGHT\n }\n\n if (nextElement && $(nextElement).hasClass(ClassName.ACTIVE)) {\n this._isSliding = false\n return\n }\n\n const slideEvent = this._triggerSlideEvent(nextElement, eventDirectionName)\n if (slideEvent.isDefaultPrevented()) {\n return\n }\n\n if (!activeElement || !nextElement) {\n // Some weirdness is happening, so we bail\n return\n }\n\n this._isSliding = true\n\n if (isCycling) {\n this.pause()\n }\n\n this._setActiveIndicatorElement(nextElement)\n\n const slidEvent = $.Event(Event.SLID, {\n relatedTarget: nextElement,\n direction: eventDirectionName,\n from: activeElementIndex,\n to: nextElementIndex\n })\n\n if ($(this._element).hasClass(ClassName.SLIDE)) {\n $(nextElement).addClass(orderClassName)\n\n Util.reflow(nextElement)\n\n $(activeElement).addClass(directionalClassName)\n $(nextElement).addClass(directionalClassName)\n\n const nextElementInterval = parseInt(nextElement.getAttribute('data-interval'), 10)\n if (nextElementInterval) {\n this._config.defaultInterval = this._config.defaultInterval || this._config.interval\n this._config.interval = nextElementInterval\n } else {\n this._config.interval = this._config.defaultInterval || this._config.interval\n }\n\n const transitionDuration = Util.getTransitionDurationFromElement(activeElement)\n\n $(activeElement)\n .one(Util.TRANSITION_END, () => {\n $(nextElement)\n .removeClass(`${directionalClassName} ${orderClassName}`)\n .addClass(ClassName.ACTIVE)\n\n $(activeElement).removeClass(`${ClassName.ACTIVE} ${orderClassName} ${directionalClassName}`)\n\n this._isSliding = false\n\n setTimeout(() => $(this._element).trigger(slidEvent), 0)\n })\n .emulateTransitionEnd(transitionDuration)\n } else {\n $(activeElement).removeClass(ClassName.ACTIVE)\n $(nextElement).addClass(ClassName.ACTIVE)\n\n this._isSliding = false\n $(this._element).trigger(slidEvent)\n }\n\n if (isCycling) {\n this.cycle()\n }\n }\n\n // Static\n\n static _jQueryInterface(config) {\n return this.each(function () {\n let data = $(this).data(DATA_KEY)\n let _config = {\n ...Default,\n ...$(this).data()\n }\n\n if (typeof config === 'object') {\n _config = {\n ..._config,\n ...config\n }\n }\n\n const action = typeof config === 'string' ? config : _config.slide\n\n if (!data) {\n data = new Carousel(this, _config)\n $(this).data(DATA_KEY, data)\n }\n\n if (typeof config === 'number') {\n data.to(config)\n } else if (typeof action === 'string') {\n if (typeof data[action] === 'undefined') {\n throw new TypeError(`No method named \"${action}\"`)\n }\n data[action]()\n } else if (_config.interval) {\n data.pause()\n data.cycle()\n }\n })\n }\n\n static _dataApiClickHandler(event) {\n const selector = Util.getSelectorFromElement(this)\n\n if (!selector) {\n return\n }\n\n const target = $(selector)[0]\n\n if (!target || !$(target).hasClass(ClassName.CAROUSEL)) {\n return\n }\n\n const config = {\n ...$(target).data(),\n ...$(this).data()\n }\n const slideIndex = this.getAttribute('data-slide-to')\n\n if (slideIndex) {\n config.interval = false\n }\n\n Carousel._jQueryInterface.call($(target), config)\n\n if (slideIndex) {\n $(target).data(DATA_KEY).to(slideIndex)\n }\n\n event.preventDefault()\n }\n}\n\n/**\n * ------------------------------------------------------------------------\n * Data Api implementation\n * ------------------------------------------------------------------------\n */\n\n$(document)\n .on(Event.CLICK_DATA_API, Selector.DATA_SLIDE, Carousel._dataApiClickHandler)\n\n$(window).on(Event.LOAD_DATA_API, () => {\n const carousels = [].slice.call(document.querySelectorAll(Selector.DATA_RIDE))\n for (let i = 0, len = carousels.length; i < len; i++) {\n const $carousel = $(carousels[i])\n Carousel._jQueryInterface.call($carousel, $carousel.data())\n }\n})\n\n/**\n * ------------------------------------------------------------------------\n * jQuery\n * ------------------------------------------------------------------------\n */\n\n$.fn[NAME] = Carousel._jQueryInterface\n$.fn[NAME].Constructor = Carousel\n$.fn[NAME].noConflict = () => {\n $.fn[NAME] = JQUERY_NO_CONFLICT\n return Carousel._jQueryInterface\n}\n\nexport default Carousel\n"],"names":["NAME","VERSION","DATA_KEY","EVENT_KEY","DATA_API_KEY","JQUERY_NO_CONFLICT","$","fn","ARROW_LEFT_KEYCODE","ARROW_RIGHT_KEYCODE","TOUCHEVENT_COMPAT_WAIT","SWIPE_THRESHOLD","Default","interval","keyboard","slide","pause","wrap","touch","DefaultType","Direction","NEXT","PREV","LEFT","RIGHT","Event","SLIDE","SLID","KEYDOWN","MOUSEENTER","MOUSELEAVE","TOUCHSTART","TOUCHMOVE","TOUCHEND","POINTERDOWN","POINTERUP","DRAG_START","LOAD_DATA_API","CLICK_DATA_API","ClassName","CAROUSEL","ACTIVE","ITEM","POINTER_EVENT","Selector","ACTIVE_ITEM","ITEM_IMG","NEXT_PREV","INDICATORS","DATA_SLIDE","DATA_RIDE","PointerType","TOUCH","PEN","Carousel","element","config","_items","_interval","_activeElement","_isPaused","_isSliding","touchTimeout","touchStartX","touchDeltaX","_config","_getConfig","_element","_indicatorsElement","querySelector","_touchSupported","document","documentElement","navigator","maxTouchPoints","_pointerEvent","Boolean","window","PointerEvent","MSPointerEvent","_addEventListeners","next","_slide","nextWhenVisible","hidden","is","css","prev","event","Util","triggerTransitionEnd","cycle","clearInterval","setInterval","visibilityState","bind","to","index","activeIndex","_getItemIndex","length","one","direction","dispose","off","removeData","typeCheckConfig","_handleSwipe","absDeltax","Math","abs","on","_keydown","_addTouchEventListeners","start","originalEvent","pointerType","toUpperCase","clientX","touches","move","end","clearTimeout","setTimeout","querySelectorAll","e","preventDefault","classList","add","test","target","tagName","which","parentNode","slice","call","indexOf","_getItemByDirection","activeElement","isNextDirection","isPrevDirection","lastItemIndex","isGoingToWrap","delta","itemIndex","_triggerSlideEvent","relatedTarget","eventDirectionName","targetIndex","fromIndex","slideEvent","from","trigger","_setActiveIndicatorElement","indicators","removeClass","nextIndicator","children","addClass","activeElementIndex","nextElement","nextElementIndex","isCycling","directionalClassName","orderClassName","hasClass","isDefaultPrevented","slidEvent","reflow","nextElementInterval","parseInt","getAttribute","defaultInterval","transitionDuration","getTransitionDurationFromElement","TRANSITION_END","emulateTransitionEnd","_jQueryInterface","each","data","action","TypeError","_dataApiClickHandler","selector","getSelectorFromElement","slideIndex","carousels","i","len","$carousel","Constructor","noConflict"],"mappings":"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"}
|
@@ -0,0 +1,428 @@
|
|
1
|
+
/*!
|
2
|
+
* Bootstrap collapse.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.Collapse = 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 = 'collapse';
|
72
|
+
var VERSION = '4.2.1';
|
73
|
+
var DATA_KEY = 'bs.collapse';
|
74
|
+
var EVENT_KEY = "." + DATA_KEY;
|
75
|
+
var DATA_API_KEY = '.data-api';
|
76
|
+
var JQUERY_NO_CONFLICT = $.fn[NAME];
|
77
|
+
var Default = {
|
78
|
+
toggle: true,
|
79
|
+
parent: ''
|
80
|
+
};
|
81
|
+
var DefaultType = {
|
82
|
+
toggle: 'boolean',
|
83
|
+
parent: '(string|element)'
|
84
|
+
};
|
85
|
+
var Event = {
|
86
|
+
SHOW: "show" + EVENT_KEY,
|
87
|
+
SHOWN: "shown" + EVENT_KEY,
|
88
|
+
HIDE: "hide" + EVENT_KEY,
|
89
|
+
HIDDEN: "hidden" + EVENT_KEY,
|
90
|
+
CLICK_DATA_API: "click" + EVENT_KEY + DATA_API_KEY
|
91
|
+
};
|
92
|
+
var ClassName = {
|
93
|
+
SHOW: 'show',
|
94
|
+
COLLAPSE: 'collapse',
|
95
|
+
COLLAPSING: 'collapsing',
|
96
|
+
COLLAPSED: 'collapsed'
|
97
|
+
};
|
98
|
+
var Dimension = {
|
99
|
+
WIDTH: 'width',
|
100
|
+
HEIGHT: 'height'
|
101
|
+
};
|
102
|
+
var Selector = {
|
103
|
+
ACTIVES: '.show, .collapsing',
|
104
|
+
DATA_TOGGLE: '[data-toggle="collapse"]'
|
105
|
+
/**
|
106
|
+
* ------------------------------------------------------------------------
|
107
|
+
* Class Definition
|
108
|
+
* ------------------------------------------------------------------------
|
109
|
+
*/
|
110
|
+
|
111
|
+
};
|
112
|
+
|
113
|
+
var Collapse =
|
114
|
+
/*#__PURE__*/
|
115
|
+
function () {
|
116
|
+
function Collapse(element, config) {
|
117
|
+
this._isTransitioning = false;
|
118
|
+
this._element = element;
|
119
|
+
this._config = this._getConfig(config);
|
120
|
+
this._triggerArray = [].slice.call(document.querySelectorAll("[data-toggle=\"collapse\"][href=\"#" + element.id + "\"]," + ("[data-toggle=\"collapse\"][data-target=\"#" + element.id + "\"]")));
|
121
|
+
var toggleList = [].slice.call(document.querySelectorAll(Selector.DATA_TOGGLE));
|
122
|
+
|
123
|
+
for (var i = 0, len = toggleList.length; i < len; i++) {
|
124
|
+
var elem = toggleList[i];
|
125
|
+
var selector = Util.getSelectorFromElement(elem);
|
126
|
+
var filterElement = [].slice.call(document.querySelectorAll(selector)).filter(function (foundElem) {
|
127
|
+
return foundElem === element;
|
128
|
+
});
|
129
|
+
|
130
|
+
if (selector !== null && filterElement.length > 0) {
|
131
|
+
this._selector = selector;
|
132
|
+
|
133
|
+
this._triggerArray.push(elem);
|
134
|
+
}
|
135
|
+
}
|
136
|
+
|
137
|
+
this._parent = this._config.parent ? this._getParent() : null;
|
138
|
+
|
139
|
+
if (!this._config.parent) {
|
140
|
+
this._addAriaAndCollapsedClass(this._element, this._triggerArray);
|
141
|
+
}
|
142
|
+
|
143
|
+
if (this._config.toggle) {
|
144
|
+
this.toggle();
|
145
|
+
}
|
146
|
+
} // Getters
|
147
|
+
|
148
|
+
|
149
|
+
var _proto = Collapse.prototype;
|
150
|
+
|
151
|
+
// Public
|
152
|
+
_proto.toggle = function toggle() {
|
153
|
+
if ($(this._element).hasClass(ClassName.SHOW)) {
|
154
|
+
this.hide();
|
155
|
+
} else {
|
156
|
+
this.show();
|
157
|
+
}
|
158
|
+
};
|
159
|
+
|
160
|
+
_proto.show = function show() {
|
161
|
+
var _this = this;
|
162
|
+
|
163
|
+
if (this._isTransitioning || $(this._element).hasClass(ClassName.SHOW)) {
|
164
|
+
return;
|
165
|
+
}
|
166
|
+
|
167
|
+
var actives;
|
168
|
+
var activesData;
|
169
|
+
|
170
|
+
if (this._parent) {
|
171
|
+
actives = [].slice.call(this._parent.querySelectorAll(Selector.ACTIVES)).filter(function (elem) {
|
172
|
+
if (typeof _this._config.parent === 'string') {
|
173
|
+
return elem.getAttribute('data-parent') === _this._config.parent;
|
174
|
+
}
|
175
|
+
|
176
|
+
return elem.classList.contains(ClassName.COLLAPSE);
|
177
|
+
});
|
178
|
+
|
179
|
+
if (actives.length === 0) {
|
180
|
+
actives = null;
|
181
|
+
}
|
182
|
+
}
|
183
|
+
|
184
|
+
if (actives) {
|
185
|
+
activesData = $(actives).not(this._selector).data(DATA_KEY);
|
186
|
+
|
187
|
+
if (activesData && activesData._isTransitioning) {
|
188
|
+
return;
|
189
|
+
}
|
190
|
+
}
|
191
|
+
|
192
|
+
var startEvent = $.Event(Event.SHOW);
|
193
|
+
$(this._element).trigger(startEvent);
|
194
|
+
|
195
|
+
if (startEvent.isDefaultPrevented()) {
|
196
|
+
return;
|
197
|
+
}
|
198
|
+
|
199
|
+
if (actives) {
|
200
|
+
Collapse._jQueryInterface.call($(actives).not(this._selector), 'hide');
|
201
|
+
|
202
|
+
if (!activesData) {
|
203
|
+
$(actives).data(DATA_KEY, null);
|
204
|
+
}
|
205
|
+
}
|
206
|
+
|
207
|
+
var dimension = this._getDimension();
|
208
|
+
|
209
|
+
$(this._element).removeClass(ClassName.COLLAPSE).addClass(ClassName.COLLAPSING);
|
210
|
+
this._element.style[dimension] = 0;
|
211
|
+
|
212
|
+
if (this._triggerArray.length) {
|
213
|
+
$(this._triggerArray).removeClass(ClassName.COLLAPSED).attr('aria-expanded', true);
|
214
|
+
}
|
215
|
+
|
216
|
+
this.setTransitioning(true);
|
217
|
+
|
218
|
+
var complete = function complete() {
|
219
|
+
$(_this._element).removeClass(ClassName.COLLAPSING).addClass(ClassName.COLLAPSE).addClass(ClassName.SHOW);
|
220
|
+
_this._element.style[dimension] = '';
|
221
|
+
|
222
|
+
_this.setTransitioning(false);
|
223
|
+
|
224
|
+
$(_this._element).trigger(Event.SHOWN);
|
225
|
+
};
|
226
|
+
|
227
|
+
var capitalizedDimension = dimension[0].toUpperCase() + dimension.slice(1);
|
228
|
+
var scrollSize = "scroll" + capitalizedDimension;
|
229
|
+
var transitionDuration = Util.getTransitionDurationFromElement(this._element);
|
230
|
+
$(this._element).one(Util.TRANSITION_END, complete).emulateTransitionEnd(transitionDuration);
|
231
|
+
this._element.style[dimension] = this._element[scrollSize] + "px";
|
232
|
+
};
|
233
|
+
|
234
|
+
_proto.hide = function hide() {
|
235
|
+
var _this2 = this;
|
236
|
+
|
237
|
+
if (this._isTransitioning || !$(this._element).hasClass(ClassName.SHOW)) {
|
238
|
+
return;
|
239
|
+
}
|
240
|
+
|
241
|
+
var startEvent = $.Event(Event.HIDE);
|
242
|
+
$(this._element).trigger(startEvent);
|
243
|
+
|
244
|
+
if (startEvent.isDefaultPrevented()) {
|
245
|
+
return;
|
246
|
+
}
|
247
|
+
|
248
|
+
var dimension = this._getDimension();
|
249
|
+
|
250
|
+
this._element.style[dimension] = this._element.getBoundingClientRect()[dimension] + "px";
|
251
|
+
Util.reflow(this._element);
|
252
|
+
$(this._element).addClass(ClassName.COLLAPSING).removeClass(ClassName.COLLAPSE).removeClass(ClassName.SHOW);
|
253
|
+
var triggerArrayLength = this._triggerArray.length;
|
254
|
+
|
255
|
+
if (triggerArrayLength > 0) {
|
256
|
+
for (var i = 0; i < triggerArrayLength; i++) {
|
257
|
+
var trigger = this._triggerArray[i];
|
258
|
+
var selector = Util.getSelectorFromElement(trigger);
|
259
|
+
|
260
|
+
if (selector !== null) {
|
261
|
+
var $elem = $([].slice.call(document.querySelectorAll(selector)));
|
262
|
+
|
263
|
+
if (!$elem.hasClass(ClassName.SHOW)) {
|
264
|
+
$(trigger).addClass(ClassName.COLLAPSED).attr('aria-expanded', false);
|
265
|
+
}
|
266
|
+
}
|
267
|
+
}
|
268
|
+
}
|
269
|
+
|
270
|
+
this.setTransitioning(true);
|
271
|
+
|
272
|
+
var complete = function complete() {
|
273
|
+
_this2.setTransitioning(false);
|
274
|
+
|
275
|
+
$(_this2._element).removeClass(ClassName.COLLAPSING).addClass(ClassName.COLLAPSE).trigger(Event.HIDDEN);
|
276
|
+
};
|
277
|
+
|
278
|
+
this._element.style[dimension] = '';
|
279
|
+
var transitionDuration = Util.getTransitionDurationFromElement(this._element);
|
280
|
+
$(this._element).one(Util.TRANSITION_END, complete).emulateTransitionEnd(transitionDuration);
|
281
|
+
};
|
282
|
+
|
283
|
+
_proto.setTransitioning = function setTransitioning(isTransitioning) {
|
284
|
+
this._isTransitioning = isTransitioning;
|
285
|
+
};
|
286
|
+
|
287
|
+
_proto.dispose = function dispose() {
|
288
|
+
$.removeData(this._element, DATA_KEY);
|
289
|
+
this._config = null;
|
290
|
+
this._parent = null;
|
291
|
+
this._element = null;
|
292
|
+
this._triggerArray = null;
|
293
|
+
this._isTransitioning = null;
|
294
|
+
}; // Private
|
295
|
+
|
296
|
+
|
297
|
+
_proto._getConfig = function _getConfig(config) {
|
298
|
+
config = _objectSpread({}, Default, config);
|
299
|
+
config.toggle = Boolean(config.toggle); // Coerce string values
|
300
|
+
|
301
|
+
Util.typeCheckConfig(NAME, config, DefaultType);
|
302
|
+
return config;
|
303
|
+
};
|
304
|
+
|
305
|
+
_proto._getDimension = function _getDimension() {
|
306
|
+
var hasWidth = $(this._element).hasClass(Dimension.WIDTH);
|
307
|
+
return hasWidth ? Dimension.WIDTH : Dimension.HEIGHT;
|
308
|
+
};
|
309
|
+
|
310
|
+
_proto._getParent = function _getParent() {
|
311
|
+
var _this3 = this;
|
312
|
+
|
313
|
+
var parent;
|
314
|
+
|
315
|
+
if (Util.isElement(this._config.parent)) {
|
316
|
+
parent = this._config.parent; // It's a jQuery object
|
317
|
+
|
318
|
+
if (typeof this._config.parent.jquery !== 'undefined') {
|
319
|
+
parent = this._config.parent[0];
|
320
|
+
}
|
321
|
+
} else {
|
322
|
+
parent = document.querySelector(this._config.parent);
|
323
|
+
}
|
324
|
+
|
325
|
+
var selector = "[data-toggle=\"collapse\"][data-parent=\"" + this._config.parent + "\"]";
|
326
|
+
var children = [].slice.call(parent.querySelectorAll(selector));
|
327
|
+
$(children).each(function (i, element) {
|
328
|
+
_this3._addAriaAndCollapsedClass(Collapse._getTargetFromElement(element), [element]);
|
329
|
+
});
|
330
|
+
return parent;
|
331
|
+
};
|
332
|
+
|
333
|
+
_proto._addAriaAndCollapsedClass = function _addAriaAndCollapsedClass(element, triggerArray) {
|
334
|
+
var isOpen = $(element).hasClass(ClassName.SHOW);
|
335
|
+
|
336
|
+
if (triggerArray.length) {
|
337
|
+
$(triggerArray).toggleClass(ClassName.COLLAPSED, !isOpen).attr('aria-expanded', isOpen);
|
338
|
+
}
|
339
|
+
}; // Static
|
340
|
+
|
341
|
+
|
342
|
+
Collapse._getTargetFromElement = function _getTargetFromElement(element) {
|
343
|
+
var selector = Util.getSelectorFromElement(element);
|
344
|
+
return selector ? document.querySelector(selector) : null;
|
345
|
+
};
|
346
|
+
|
347
|
+
Collapse._jQueryInterface = function _jQueryInterface(config) {
|
348
|
+
return this.each(function () {
|
349
|
+
var $this = $(this);
|
350
|
+
var data = $this.data(DATA_KEY);
|
351
|
+
|
352
|
+
var _config = _objectSpread({}, Default, $this.data(), typeof config === 'object' && config ? config : {});
|
353
|
+
|
354
|
+
if (!data && _config.toggle && /show|hide/.test(config)) {
|
355
|
+
_config.toggle = false;
|
356
|
+
}
|
357
|
+
|
358
|
+
if (!data) {
|
359
|
+
data = new Collapse(this, _config);
|
360
|
+
$this.data(DATA_KEY, data);
|
361
|
+
}
|
362
|
+
|
363
|
+
if (typeof config === 'string') {
|
364
|
+
if (typeof data[config] === 'undefined') {
|
365
|
+
throw new TypeError("No method named \"" + config + "\"");
|
366
|
+
}
|
367
|
+
|
368
|
+
data[config]();
|
369
|
+
}
|
370
|
+
});
|
371
|
+
};
|
372
|
+
|
373
|
+
_createClass(Collapse, null, [{
|
374
|
+
key: "VERSION",
|
375
|
+
get: function get() {
|
376
|
+
return VERSION;
|
377
|
+
}
|
378
|
+
}, {
|
379
|
+
key: "Default",
|
380
|
+
get: function get() {
|
381
|
+
return Default;
|
382
|
+
}
|
383
|
+
}]);
|
384
|
+
|
385
|
+
return Collapse;
|
386
|
+
}();
|
387
|
+
/**
|
388
|
+
* ------------------------------------------------------------------------
|
389
|
+
* Data Api implementation
|
390
|
+
* ------------------------------------------------------------------------
|
391
|
+
*/
|
392
|
+
|
393
|
+
|
394
|
+
$(document).on(Event.CLICK_DATA_API, Selector.DATA_TOGGLE, function (event) {
|
395
|
+
// preventDefault only for <a> elements (which change the URL) not inside the collapsible element
|
396
|
+
if (event.currentTarget.tagName === 'A') {
|
397
|
+
event.preventDefault();
|
398
|
+
}
|
399
|
+
|
400
|
+
var $trigger = $(this);
|
401
|
+
var selector = Util.getSelectorFromElement(this);
|
402
|
+
var selectors = [].slice.call(document.querySelectorAll(selector));
|
403
|
+
$(selectors).each(function () {
|
404
|
+
var $target = $(this);
|
405
|
+
var data = $target.data(DATA_KEY);
|
406
|
+
var config = data ? 'toggle' : $trigger.data();
|
407
|
+
|
408
|
+
Collapse._jQueryInterface.call($target, config);
|
409
|
+
});
|
410
|
+
});
|
411
|
+
/**
|
412
|
+
* ------------------------------------------------------------------------
|
413
|
+
* jQuery
|
414
|
+
* ------------------------------------------------------------------------
|
415
|
+
*/
|
416
|
+
|
417
|
+
$.fn[NAME] = Collapse._jQueryInterface;
|
418
|
+
$.fn[NAME].Constructor = Collapse;
|
419
|
+
|
420
|
+
$.fn[NAME].noConflict = function () {
|
421
|
+
$.fn[NAME] = JQUERY_NO_CONFLICT;
|
422
|
+
return Collapse._jQueryInterface;
|
423
|
+
};
|
424
|
+
|
425
|
+
return Collapse;
|
426
|
+
|
427
|
+
})));
|
428
|
+
//# sourceMappingURL=collapse.js.map
|
@@ -0,0 +1 @@
|
|
1
|
+
{"version":3,"file":"collapse.js","sources":["../src/collapse.js"],"sourcesContent":["/**\n * --------------------------------------------------------------------------\n * Bootstrap (v4.2.1): collapse.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 = 'collapse'\nconst VERSION = '4.2.1'\nconst DATA_KEY = 'bs.collapse'\nconst EVENT_KEY = `.${DATA_KEY}`\nconst DATA_API_KEY = '.data-api'\nconst JQUERY_NO_CONFLICT = $.fn[NAME]\n\nconst Default = {\n toggle : true,\n parent : ''\n}\n\nconst DefaultType = {\n toggle : 'boolean',\n parent : '(string|element)'\n}\n\nconst Event = {\n SHOW : `show${EVENT_KEY}`,\n SHOWN : `shown${EVENT_KEY}`,\n HIDE : `hide${EVENT_KEY}`,\n HIDDEN : `hidden${EVENT_KEY}`,\n CLICK_DATA_API : `click${EVENT_KEY}${DATA_API_KEY}`\n}\n\nconst ClassName = {\n SHOW : 'show',\n COLLAPSE : 'collapse',\n COLLAPSING : 'collapsing',\n COLLAPSED : 'collapsed'\n}\n\nconst Dimension = {\n WIDTH : 'width',\n HEIGHT : 'height'\n}\n\nconst Selector = {\n ACTIVES : '.show, .collapsing',\n DATA_TOGGLE : '[data-toggle=\"collapse\"]'\n}\n\n/**\n * ------------------------------------------------------------------------\n * Class Definition\n * ------------------------------------------------------------------------\n */\n\nclass Collapse {\n constructor(element, config) {\n this._isTransitioning = false\n this._element = element\n this._config = this._getConfig(config)\n this._triggerArray = [].slice.call(document.querySelectorAll(\n `[data-toggle=\"collapse\"][href=\"#${element.id}\"],` +\n `[data-toggle=\"collapse\"][data-target=\"#${element.id}\"]`\n ))\n\n const toggleList = [].slice.call(document.querySelectorAll(Selector.DATA_TOGGLE))\n for (let i = 0, len = toggleList.length; i < len; i++) {\n const elem = toggleList[i]\n const selector = Util.getSelectorFromElement(elem)\n const filterElement = [].slice.call(document.querySelectorAll(selector))\n .filter((foundElem) => foundElem === element)\n\n if (selector !== null && filterElement.length > 0) {\n this._selector = selector\n this._triggerArray.push(elem)\n }\n }\n\n this._parent = this._config.parent ? this._getParent() : null\n\n if (!this._config.parent) {\n this._addAriaAndCollapsedClass(this._element, this._triggerArray)\n }\n\n if (this._config.toggle) {\n this.toggle()\n }\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() {\n if ($(this._element).hasClass(ClassName.SHOW)) {\n this.hide()\n } else {\n this.show()\n }\n }\n\n show() {\n if (this._isTransitioning ||\n $(this._element).hasClass(ClassName.SHOW)) {\n return\n }\n\n let actives\n let activesData\n\n if (this._parent) {\n actives = [].slice.call(this._parent.querySelectorAll(Selector.ACTIVES))\n .filter((elem) => {\n if (typeof this._config.parent === 'string') {\n return elem.getAttribute('data-parent') === this._config.parent\n }\n\n return elem.classList.contains(ClassName.COLLAPSE)\n })\n\n if (actives.length === 0) {\n actives = null\n }\n }\n\n if (actives) {\n activesData = $(actives).not(this._selector).data(DATA_KEY)\n if (activesData && activesData._isTransitioning) {\n return\n }\n }\n\n const startEvent = $.Event(Event.SHOW)\n $(this._element).trigger(startEvent)\n if (startEvent.isDefaultPrevented()) {\n return\n }\n\n if (actives) {\n Collapse._jQueryInterface.call($(actives).not(this._selector), 'hide')\n if (!activesData) {\n $(actives).data(DATA_KEY, null)\n }\n }\n\n const dimension = this._getDimension()\n\n $(this._element)\n .removeClass(ClassName.COLLAPSE)\n .addClass(ClassName.COLLAPSING)\n\n this._element.style[dimension] = 0\n\n if (this._triggerArray.length) {\n $(this._triggerArray)\n .removeClass(ClassName.COLLAPSED)\n .attr('aria-expanded', true)\n }\n\n this.setTransitioning(true)\n\n const complete = () => {\n $(this._element)\n .removeClass(ClassName.COLLAPSING)\n .addClass(ClassName.COLLAPSE)\n .addClass(ClassName.SHOW)\n\n this._element.style[dimension] = ''\n\n this.setTransitioning(false)\n\n $(this._element).trigger(Event.SHOWN)\n }\n\n const capitalizedDimension = dimension[0].toUpperCase() + dimension.slice(1)\n const scrollSize = `scroll${capitalizedDimension}`\n const transitionDuration = Util.getTransitionDurationFromElement(this._element)\n\n $(this._element)\n .one(Util.TRANSITION_END, complete)\n .emulateTransitionEnd(transitionDuration)\n\n this._element.style[dimension] = `${this._element[scrollSize]}px`\n }\n\n hide() {\n if (this._isTransitioning ||\n !$(this._element).hasClass(ClassName.SHOW)) {\n return\n }\n\n const startEvent = $.Event(Event.HIDE)\n $(this._element).trigger(startEvent)\n if (startEvent.isDefaultPrevented()) {\n return\n }\n\n const dimension = this._getDimension()\n\n this._element.style[dimension] = `${this._element.getBoundingClientRect()[dimension]}px`\n\n Util.reflow(this._element)\n\n $(this._element)\n .addClass(ClassName.COLLAPSING)\n .removeClass(ClassName.COLLAPSE)\n .removeClass(ClassName.SHOW)\n\n const triggerArrayLength = this._triggerArray.length\n if (triggerArrayLength > 0) {\n for (let i = 0; i < triggerArrayLength; i++) {\n const trigger = this._triggerArray[i]\n const selector = Util.getSelectorFromElement(trigger)\n\n if (selector !== null) {\n const $elem = $([].slice.call(document.querySelectorAll(selector)))\n if (!$elem.hasClass(ClassName.SHOW)) {\n $(trigger).addClass(ClassName.COLLAPSED)\n .attr('aria-expanded', false)\n }\n }\n }\n }\n\n this.setTransitioning(true)\n\n const complete = () => {\n this.setTransitioning(false)\n $(this._element)\n .removeClass(ClassName.COLLAPSING)\n .addClass(ClassName.COLLAPSE)\n .trigger(Event.HIDDEN)\n }\n\n this._element.style[dimension] = ''\n const transitionDuration = Util.getTransitionDurationFromElement(this._element)\n\n $(this._element)\n .one(Util.TRANSITION_END, complete)\n .emulateTransitionEnd(transitionDuration)\n }\n\n setTransitioning(isTransitioning) {\n this._isTransitioning = isTransitioning\n }\n\n dispose() {\n $.removeData(this._element, DATA_KEY)\n\n this._config = null\n this._parent = null\n this._element = null\n this._triggerArray = null\n this._isTransitioning = null\n }\n\n // Private\n\n _getConfig(config) {\n config = {\n ...Default,\n ...config\n }\n config.toggle = Boolean(config.toggle) // Coerce string values\n Util.typeCheckConfig(NAME, config, DefaultType)\n return config\n }\n\n _getDimension() {\n const hasWidth = $(this._element).hasClass(Dimension.WIDTH)\n return hasWidth ? Dimension.WIDTH : Dimension.HEIGHT\n }\n\n _getParent() {\n let parent\n\n if (Util.isElement(this._config.parent)) {\n parent = this._config.parent\n\n // It's a jQuery object\n if (typeof this._config.parent.jquery !== 'undefined') {\n parent = this._config.parent[0]\n }\n } else {\n parent = document.querySelector(this._config.parent)\n }\n\n const selector =\n `[data-toggle=\"collapse\"][data-parent=\"${this._config.parent}\"]`\n\n const children = [].slice.call(parent.querySelectorAll(selector))\n $(children).each((i, element) => {\n this._addAriaAndCollapsedClass(\n Collapse._getTargetFromElement(element),\n [element]\n )\n })\n\n return parent\n }\n\n _addAriaAndCollapsedClass(element, triggerArray) {\n const isOpen = $(element).hasClass(ClassName.SHOW)\n\n if (triggerArray.length) {\n $(triggerArray)\n .toggleClass(ClassName.COLLAPSED, !isOpen)\n .attr('aria-expanded', isOpen)\n }\n }\n\n // Static\n\n static _getTargetFromElement(element) {\n const selector = Util.getSelectorFromElement(element)\n return selector ? document.querySelector(selector) : null\n }\n\n static _jQueryInterface(config) {\n return this.each(function () {\n const $this = $(this)\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 && _config.toggle && /show|hide/.test(config)) {\n _config.toggle = false\n }\n\n if (!data) {\n data = new Collapse(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 * Data Api implementation\n * ------------------------------------------------------------------------\n */\n\n$(document).on(Event.CLICK_DATA_API, Selector.DATA_TOGGLE, function (event) {\n // preventDefault only for <a> elements (which change the URL) not inside the collapsible element\n if (event.currentTarget.tagName === 'A') {\n event.preventDefault()\n }\n\n const $trigger = $(this)\n const selector = Util.getSelectorFromElement(this)\n const selectors = [].slice.call(document.querySelectorAll(selector))\n\n $(selectors).each(function () {\n const $target = $(this)\n const data = $target.data(DATA_KEY)\n const config = data ? 'toggle' : $trigger.data()\n Collapse._jQueryInterface.call($target, config)\n })\n})\n\n/**\n * ------------------------------------------------------------------------\n * jQuery\n * ------------------------------------------------------------------------\n */\n\n$.fn[NAME] = Collapse._jQueryInterface\n$.fn[NAME].Constructor = Collapse\n$.fn[NAME].noConflict = () => {\n $.fn[NAME] = JQUERY_NO_CONFLICT\n return Collapse._jQueryInterface\n}\n\nexport default Collapse\n"],"names":["NAME","VERSION","DATA_KEY","EVENT_KEY","DATA_API_KEY","JQUERY_NO_CONFLICT","$","fn","Default","toggle","parent","DefaultType","Event","SHOW","SHOWN","HIDE","HIDDEN","CLICK_DATA_API","ClassName","COLLAPSE","COLLAPSING","COLLAPSED","Dimension","WIDTH","HEIGHT","Selector","ACTIVES","DATA_TOGGLE","Collapse","element","config","_isTransitioning","_element","_config","_getConfig","_triggerArray","slice","call","document","querySelectorAll","id","toggleList","i","len","length","elem","selector","Util","getSelectorFromElement","filterElement","filter","foundElem","_selector","push","_parent","_getParent","_addAriaAndCollapsedClass","hasClass","hide","show","actives","activesData","getAttribute","classList","contains","not","data","startEvent","trigger","isDefaultPrevented","_jQueryInterface","dimension","_getDimension","removeClass","addClass","style","attr","setTransitioning","complete","capitalizedDimension","toUpperCase","scrollSize","transitionDuration","getTransitionDurationFromElement","one","TRANSITION_END","emulateTransitionEnd","getBoundingClientRect","reflow","triggerArrayLength","$elem","isTransitioning","dispose","removeData","Boolean","typeCheckConfig","hasWidth","isElement","jquery","querySelector","children","each","_getTargetFromElement","triggerArray","isOpen","toggleClass","$this","test","TypeError","on","event","currentTarget","tagName","preventDefault","$trigger","selectors","$target","Constructor","noConflict"],"mappings":"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"}
|
@@ -0,0 +1,591 @@
|
|
1
|
+
/*!
|
2
|
+
* Bootstrap dropdown.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('popper.js'), require('./util.js')) :
|
8
|
+
typeof define === 'function' && define.amd ? define(['jquery', 'popper.js', './util.js'], factory) :
|
9
|
+
(global.Dropdown = factory(global.jQuery,global.Popper,global.Util));
|
10
|
+
}(this, (function ($,Popper,Util) { 'use strict';
|
11
|
+
|
12
|
+
$ = $ && $.hasOwnProperty('default') ? $['default'] : $;
|
13
|
+
Popper = Popper && Popper.hasOwnProperty('default') ? Popper['default'] : Popper;
|
14
|
+
Util = Util && Util.hasOwnProperty('default') ? Util['default'] : Util;
|
15
|
+
|
16
|
+
function _defineProperties(target, props) {
|
17
|
+
for (var i = 0; i < props.length; i++) {
|
18
|
+
var descriptor = props[i];
|
19
|
+
descriptor.enumerable = descriptor.enumerable || false;
|
20
|
+
descriptor.configurable = true;
|
21
|
+
if ("value" in descriptor) descriptor.writable = true;
|
22
|
+
Object.defineProperty(target, descriptor.key, descriptor);
|
23
|
+
}
|
24
|
+
}
|
25
|
+
|
26
|
+
function _createClass(Constructor, protoProps, staticProps) {
|
27
|
+
if (protoProps) _defineProperties(Constructor.prototype, protoProps);
|
28
|
+
if (staticProps) _defineProperties(Constructor, staticProps);
|
29
|
+
return Constructor;
|
30
|
+
}
|
31
|
+
|
32
|
+
function _defineProperty(obj, key, value) {
|
33
|
+
if (key in obj) {
|
34
|
+
Object.defineProperty(obj, key, {
|
35
|
+
value: value,
|
36
|
+
enumerable: true,
|
37
|
+
configurable: true,
|
38
|
+
writable: true
|
39
|
+
});
|
40
|
+
} else {
|
41
|
+
obj[key] = value;
|
42
|
+
}
|
43
|
+
|
44
|
+
return obj;
|
45
|
+
}
|
46
|
+
|
47
|
+
function _objectSpread(target) {
|
48
|
+
for (var i = 1; i < arguments.length; i++) {
|
49
|
+
var source = arguments[i] != null ? arguments[i] : {};
|
50
|
+
var ownKeys = Object.keys(source);
|
51
|
+
|
52
|
+
if (typeof Object.getOwnPropertySymbols === 'function') {
|
53
|
+
ownKeys = ownKeys.concat(Object.getOwnPropertySymbols(source).filter(function (sym) {
|
54
|
+
return Object.getOwnPropertyDescriptor(source, sym).enumerable;
|
55
|
+
}));
|
56
|
+
}
|
57
|
+
|
58
|
+
ownKeys.forEach(function (key) {
|
59
|
+
_defineProperty(target, key, source[key]);
|
60
|
+
});
|
61
|
+
}
|
62
|
+
|
63
|
+
return target;
|
64
|
+
}
|
65
|
+
|
66
|
+
/**
|
67
|
+
* ------------------------------------------------------------------------
|
68
|
+
* Constants
|
69
|
+
* ------------------------------------------------------------------------
|
70
|
+
*/
|
71
|
+
|
72
|
+
var NAME = 'dropdown';
|
73
|
+
var VERSION = '4.2.1';
|
74
|
+
var DATA_KEY = 'bs.dropdown';
|
75
|
+
var EVENT_KEY = "." + DATA_KEY;
|
76
|
+
var DATA_API_KEY = '.data-api';
|
77
|
+
var JQUERY_NO_CONFLICT = $.fn[NAME];
|
78
|
+
var ESCAPE_KEYCODE = 27; // KeyboardEvent.which value for Escape (Esc) key
|
79
|
+
|
80
|
+
var SPACE_KEYCODE = 32; // KeyboardEvent.which value for space key
|
81
|
+
|
82
|
+
var TAB_KEYCODE = 9; // KeyboardEvent.which value for tab key
|
83
|
+
|
84
|
+
var ARROW_UP_KEYCODE = 38; // KeyboardEvent.which value for up arrow key
|
85
|
+
|
86
|
+
var ARROW_DOWN_KEYCODE = 40; // KeyboardEvent.which value for down arrow key
|
87
|
+
|
88
|
+
var RIGHT_MOUSE_BUTTON_WHICH = 3; // MouseEvent.which value for the right button (assuming a right-handed mouse)
|
89
|
+
|
90
|
+
var REGEXP_KEYDOWN = new RegExp(ARROW_UP_KEYCODE + "|" + ARROW_DOWN_KEYCODE + "|" + ESCAPE_KEYCODE);
|
91
|
+
var Event = {
|
92
|
+
HIDE: "hide" + EVENT_KEY,
|
93
|
+
HIDDEN: "hidden" + EVENT_KEY,
|
94
|
+
SHOW: "show" + EVENT_KEY,
|
95
|
+
SHOWN: "shown" + EVENT_KEY,
|
96
|
+
CLICK: "click" + EVENT_KEY,
|
97
|
+
CLICK_DATA_API: "click" + EVENT_KEY + DATA_API_KEY,
|
98
|
+
KEYDOWN_DATA_API: "keydown" + EVENT_KEY + DATA_API_KEY,
|
99
|
+
KEYUP_DATA_API: "keyup" + EVENT_KEY + DATA_API_KEY
|
100
|
+
};
|
101
|
+
var ClassName = {
|
102
|
+
DISABLED: 'disabled',
|
103
|
+
SHOW: 'show',
|
104
|
+
DROPUP: 'dropup',
|
105
|
+
DROPRIGHT: 'dropright',
|
106
|
+
DROPLEFT: 'dropleft',
|
107
|
+
MENURIGHT: 'dropdown-menu-right',
|
108
|
+
MENULEFT: 'dropdown-menu-left',
|
109
|
+
POSITION_STATIC: 'position-static'
|
110
|
+
};
|
111
|
+
var Selector = {
|
112
|
+
DATA_TOGGLE: '[data-toggle="dropdown"]',
|
113
|
+
FORM_CHILD: '.dropdown form',
|
114
|
+
MENU: '.dropdown-menu',
|
115
|
+
NAVBAR_NAV: '.navbar-nav',
|
116
|
+
VISIBLE_ITEMS: '.dropdown-menu .dropdown-item:not(.disabled):not(:disabled)'
|
117
|
+
};
|
118
|
+
var AttachmentMap = {
|
119
|
+
TOP: 'top-start',
|
120
|
+
TOPEND: 'top-end',
|
121
|
+
BOTTOM: 'bottom-start',
|
122
|
+
BOTTOMEND: 'bottom-end',
|
123
|
+
RIGHT: 'right-start',
|
124
|
+
RIGHTEND: 'right-end',
|
125
|
+
LEFT: 'left-start',
|
126
|
+
LEFTEND: 'left-end'
|
127
|
+
};
|
128
|
+
var Default = {
|
129
|
+
offset: 0,
|
130
|
+
flip: true,
|
131
|
+
boundary: 'scrollParent',
|
132
|
+
reference: 'toggle',
|
133
|
+
display: 'dynamic'
|
134
|
+
};
|
135
|
+
var DefaultType = {
|
136
|
+
offset: '(number|string|function)',
|
137
|
+
flip: 'boolean',
|
138
|
+
boundary: '(string|element)',
|
139
|
+
reference: '(string|element)',
|
140
|
+
display: 'string'
|
141
|
+
/**
|
142
|
+
* ------------------------------------------------------------------------
|
143
|
+
* Class Definition
|
144
|
+
* ------------------------------------------------------------------------
|
145
|
+
*/
|
146
|
+
|
147
|
+
};
|
148
|
+
|
149
|
+
var Dropdown =
|
150
|
+
/*#__PURE__*/
|
151
|
+
function () {
|
152
|
+
function Dropdown(element, config) {
|
153
|
+
this._element = element;
|
154
|
+
this._popper = null;
|
155
|
+
this._config = this._getConfig(config);
|
156
|
+
this._menu = this._getMenuElement();
|
157
|
+
this._inNavbar = this._detectNavbar();
|
158
|
+
|
159
|
+
this._addEventListeners();
|
160
|
+
} // Getters
|
161
|
+
|
162
|
+
|
163
|
+
var _proto = Dropdown.prototype;
|
164
|
+
|
165
|
+
// Public
|
166
|
+
_proto.toggle = function toggle() {
|
167
|
+
if (this._element.disabled || $(this._element).hasClass(ClassName.DISABLED)) {
|
168
|
+
return;
|
169
|
+
}
|
170
|
+
|
171
|
+
var parent = Dropdown._getParentFromElement(this._element);
|
172
|
+
|
173
|
+
var isActive = $(this._menu).hasClass(ClassName.SHOW);
|
174
|
+
|
175
|
+
Dropdown._clearMenus();
|
176
|
+
|
177
|
+
if (isActive) {
|
178
|
+
return;
|
179
|
+
}
|
180
|
+
|
181
|
+
var relatedTarget = {
|
182
|
+
relatedTarget: this._element
|
183
|
+
};
|
184
|
+
var showEvent = $.Event(Event.SHOW, relatedTarget);
|
185
|
+
$(parent).trigger(showEvent);
|
186
|
+
|
187
|
+
if (showEvent.isDefaultPrevented()) {
|
188
|
+
return;
|
189
|
+
} // Disable totally Popper.js for Dropdown in Navbar
|
190
|
+
|
191
|
+
|
192
|
+
if (!this._inNavbar) {
|
193
|
+
/**
|
194
|
+
* Check for Popper dependency
|
195
|
+
* Popper - https://popper.js.org
|
196
|
+
*/
|
197
|
+
if (typeof Popper === 'undefined') {
|
198
|
+
throw new TypeError('Bootstrap\'s dropdowns require Popper.js (https://popper.js.org/)');
|
199
|
+
}
|
200
|
+
|
201
|
+
var referenceElement = this._element;
|
202
|
+
|
203
|
+
if (this._config.reference === 'parent') {
|
204
|
+
referenceElement = parent;
|
205
|
+
} else if (Util.isElement(this._config.reference)) {
|
206
|
+
referenceElement = this._config.reference; // Check if it's jQuery element
|
207
|
+
|
208
|
+
if (typeof this._config.reference.jquery !== 'undefined') {
|
209
|
+
referenceElement = this._config.reference[0];
|
210
|
+
}
|
211
|
+
} // If boundary is not `scrollParent`, then set position to `static`
|
212
|
+
// to allow the menu to "escape" the scroll parent's boundaries
|
213
|
+
// https://github.com/twbs/bootstrap/issues/24251
|
214
|
+
|
215
|
+
|
216
|
+
if (this._config.boundary !== 'scrollParent') {
|
217
|
+
$(parent).addClass(ClassName.POSITION_STATIC);
|
218
|
+
}
|
219
|
+
|
220
|
+
this._popper = new Popper(referenceElement, this._menu, this._getPopperConfig());
|
221
|
+
} // If this is a touch-enabled device we add extra
|
222
|
+
// empty mouseover listeners to the body's immediate children;
|
223
|
+
// only needed because of broken event delegation on iOS
|
224
|
+
// https://www.quirksmode.org/blog/archives/2014/02/mouse_event_bub.html
|
225
|
+
|
226
|
+
|
227
|
+
if ('ontouchstart' in document.documentElement && $(parent).closest(Selector.NAVBAR_NAV).length === 0) {
|
228
|
+
$(document.body).children().on('mouseover', null, $.noop);
|
229
|
+
}
|
230
|
+
|
231
|
+
this._element.focus();
|
232
|
+
|
233
|
+
this._element.setAttribute('aria-expanded', true);
|
234
|
+
|
235
|
+
$(this._menu).toggleClass(ClassName.SHOW);
|
236
|
+
$(parent).toggleClass(ClassName.SHOW).trigger($.Event(Event.SHOWN, relatedTarget));
|
237
|
+
};
|
238
|
+
|
239
|
+
_proto.show = function show() {
|
240
|
+
if (this._element.disabled || $(this._element).hasClass(ClassName.DISABLED) || $(this._menu).hasClass(ClassName.SHOW)) {
|
241
|
+
return;
|
242
|
+
}
|
243
|
+
|
244
|
+
var relatedTarget = {
|
245
|
+
relatedTarget: this._element
|
246
|
+
};
|
247
|
+
var showEvent = $.Event(Event.SHOW, relatedTarget);
|
248
|
+
|
249
|
+
var parent = Dropdown._getParentFromElement(this._element);
|
250
|
+
|
251
|
+
$(parent).trigger(showEvent);
|
252
|
+
|
253
|
+
if (showEvent.isDefaultPrevented()) {
|
254
|
+
return;
|
255
|
+
}
|
256
|
+
|
257
|
+
$(this._menu).toggleClass(ClassName.SHOW);
|
258
|
+
$(parent).toggleClass(ClassName.SHOW).trigger($.Event(Event.SHOWN, relatedTarget));
|
259
|
+
};
|
260
|
+
|
261
|
+
_proto.hide = function hide() {
|
262
|
+
if (this._element.disabled || $(this._element).hasClass(ClassName.DISABLED) || !$(this._menu).hasClass(ClassName.SHOW)) {
|
263
|
+
return;
|
264
|
+
}
|
265
|
+
|
266
|
+
var relatedTarget = {
|
267
|
+
relatedTarget: this._element
|
268
|
+
};
|
269
|
+
var hideEvent = $.Event(Event.HIDE, relatedTarget);
|
270
|
+
|
271
|
+
var parent = Dropdown._getParentFromElement(this._element);
|
272
|
+
|
273
|
+
$(parent).trigger(hideEvent);
|
274
|
+
|
275
|
+
if (hideEvent.isDefaultPrevented()) {
|
276
|
+
return;
|
277
|
+
}
|
278
|
+
|
279
|
+
$(this._menu).toggleClass(ClassName.SHOW);
|
280
|
+
$(parent).toggleClass(ClassName.SHOW).trigger($.Event(Event.HIDDEN, relatedTarget));
|
281
|
+
};
|
282
|
+
|
283
|
+
_proto.dispose = function dispose() {
|
284
|
+
$.removeData(this._element, DATA_KEY);
|
285
|
+
$(this._element).off(EVENT_KEY);
|
286
|
+
this._element = null;
|
287
|
+
this._menu = null;
|
288
|
+
|
289
|
+
if (this._popper !== null) {
|
290
|
+
this._popper.destroy();
|
291
|
+
|
292
|
+
this._popper = null;
|
293
|
+
}
|
294
|
+
};
|
295
|
+
|
296
|
+
_proto.update = function update() {
|
297
|
+
this._inNavbar = this._detectNavbar();
|
298
|
+
|
299
|
+
if (this._popper !== null) {
|
300
|
+
this._popper.scheduleUpdate();
|
301
|
+
}
|
302
|
+
}; // Private
|
303
|
+
|
304
|
+
|
305
|
+
_proto._addEventListeners = function _addEventListeners() {
|
306
|
+
var _this = this;
|
307
|
+
|
308
|
+
$(this._element).on(Event.CLICK, function (event) {
|
309
|
+
event.preventDefault();
|
310
|
+
event.stopPropagation();
|
311
|
+
|
312
|
+
_this.toggle();
|
313
|
+
});
|
314
|
+
};
|
315
|
+
|
316
|
+
_proto._getConfig = function _getConfig(config) {
|
317
|
+
config = _objectSpread({}, this.constructor.Default, $(this._element).data(), config);
|
318
|
+
Util.typeCheckConfig(NAME, config, this.constructor.DefaultType);
|
319
|
+
return config;
|
320
|
+
};
|
321
|
+
|
322
|
+
_proto._getMenuElement = function _getMenuElement() {
|
323
|
+
if (!this._menu) {
|
324
|
+
var parent = Dropdown._getParentFromElement(this._element);
|
325
|
+
|
326
|
+
if (parent) {
|
327
|
+
this._menu = parent.querySelector(Selector.MENU);
|
328
|
+
}
|
329
|
+
}
|
330
|
+
|
331
|
+
return this._menu;
|
332
|
+
};
|
333
|
+
|
334
|
+
_proto._getPlacement = function _getPlacement() {
|
335
|
+
var $parentDropdown = $(this._element.parentNode);
|
336
|
+
var placement = AttachmentMap.BOTTOM; // Handle dropup
|
337
|
+
|
338
|
+
if ($parentDropdown.hasClass(ClassName.DROPUP)) {
|
339
|
+
placement = AttachmentMap.TOP;
|
340
|
+
|
341
|
+
if ($(this._menu).hasClass(ClassName.MENURIGHT)) {
|
342
|
+
placement = AttachmentMap.TOPEND;
|
343
|
+
}
|
344
|
+
} else if ($parentDropdown.hasClass(ClassName.DROPRIGHT)) {
|
345
|
+
placement = AttachmentMap.RIGHT;
|
346
|
+
} else if ($parentDropdown.hasClass(ClassName.DROPLEFT)) {
|
347
|
+
placement = AttachmentMap.LEFT;
|
348
|
+
} else if ($(this._menu).hasClass(ClassName.MENURIGHT)) {
|
349
|
+
placement = AttachmentMap.BOTTOMEND;
|
350
|
+
}
|
351
|
+
|
352
|
+
return placement;
|
353
|
+
};
|
354
|
+
|
355
|
+
_proto._detectNavbar = function _detectNavbar() {
|
356
|
+
return $(this._element).closest('.navbar').length > 0;
|
357
|
+
};
|
358
|
+
|
359
|
+
_proto._getPopperConfig = function _getPopperConfig() {
|
360
|
+
var _this2 = this;
|
361
|
+
|
362
|
+
var offsetConf = {};
|
363
|
+
|
364
|
+
if (typeof this._config.offset === 'function') {
|
365
|
+
offsetConf.fn = function (data) {
|
366
|
+
data.offsets = _objectSpread({}, data.offsets, _this2._config.offset(data.offsets) || {});
|
367
|
+
return data;
|
368
|
+
};
|
369
|
+
} else {
|
370
|
+
offsetConf.offset = this._config.offset;
|
371
|
+
}
|
372
|
+
|
373
|
+
var popperConfig = {
|
374
|
+
placement: this._getPlacement(),
|
375
|
+
modifiers: {
|
376
|
+
offset: offsetConf,
|
377
|
+
flip: {
|
378
|
+
enabled: this._config.flip
|
379
|
+
},
|
380
|
+
preventOverflow: {
|
381
|
+
boundariesElement: this._config.boundary
|
382
|
+
}
|
383
|
+
} // Disable Popper.js if we have a static display
|
384
|
+
|
385
|
+
};
|
386
|
+
|
387
|
+
if (this._config.display === 'static') {
|
388
|
+
popperConfig.modifiers.applyStyle = {
|
389
|
+
enabled: false
|
390
|
+
};
|
391
|
+
}
|
392
|
+
|
393
|
+
return popperConfig;
|
394
|
+
}; // Static
|
395
|
+
|
396
|
+
|
397
|
+
Dropdown._jQueryInterface = function _jQueryInterface(config) {
|
398
|
+
return this.each(function () {
|
399
|
+
var data = $(this).data(DATA_KEY);
|
400
|
+
|
401
|
+
var _config = typeof config === 'object' ? config : null;
|
402
|
+
|
403
|
+
if (!data) {
|
404
|
+
data = new Dropdown(this, _config);
|
405
|
+
$(this).data(DATA_KEY, data);
|
406
|
+
}
|
407
|
+
|
408
|
+
if (typeof config === 'string') {
|
409
|
+
if (typeof data[config] === 'undefined') {
|
410
|
+
throw new TypeError("No method named \"" + config + "\"");
|
411
|
+
}
|
412
|
+
|
413
|
+
data[config]();
|
414
|
+
}
|
415
|
+
});
|
416
|
+
};
|
417
|
+
|
418
|
+
Dropdown._clearMenus = function _clearMenus(event) {
|
419
|
+
if (event && (event.which === RIGHT_MOUSE_BUTTON_WHICH || event.type === 'keyup' && event.which !== TAB_KEYCODE)) {
|
420
|
+
return;
|
421
|
+
}
|
422
|
+
|
423
|
+
var toggles = [].slice.call(document.querySelectorAll(Selector.DATA_TOGGLE));
|
424
|
+
|
425
|
+
for (var i = 0, len = toggles.length; i < len; i++) {
|
426
|
+
var parent = Dropdown._getParentFromElement(toggles[i]);
|
427
|
+
|
428
|
+
var context = $(toggles[i]).data(DATA_KEY);
|
429
|
+
var relatedTarget = {
|
430
|
+
relatedTarget: toggles[i]
|
431
|
+
};
|
432
|
+
|
433
|
+
if (event && event.type === 'click') {
|
434
|
+
relatedTarget.clickEvent = event;
|
435
|
+
}
|
436
|
+
|
437
|
+
if (!context) {
|
438
|
+
continue;
|
439
|
+
}
|
440
|
+
|
441
|
+
var dropdownMenu = context._menu;
|
442
|
+
|
443
|
+
if (!$(parent).hasClass(ClassName.SHOW)) {
|
444
|
+
continue;
|
445
|
+
}
|
446
|
+
|
447
|
+
if (event && (event.type === 'click' && /input|textarea/i.test(event.target.tagName) || event.type === 'keyup' && event.which === TAB_KEYCODE) && $.contains(parent, event.target)) {
|
448
|
+
continue;
|
449
|
+
}
|
450
|
+
|
451
|
+
var hideEvent = $.Event(Event.HIDE, relatedTarget);
|
452
|
+
$(parent).trigger(hideEvent);
|
453
|
+
|
454
|
+
if (hideEvent.isDefaultPrevented()) {
|
455
|
+
continue;
|
456
|
+
} // If this is a touch-enabled device we remove the extra
|
457
|
+
// empty mouseover listeners we added for iOS support
|
458
|
+
|
459
|
+
|
460
|
+
if ('ontouchstart' in document.documentElement) {
|
461
|
+
$(document.body).children().off('mouseover', null, $.noop);
|
462
|
+
}
|
463
|
+
|
464
|
+
toggles[i].setAttribute('aria-expanded', 'false');
|
465
|
+
$(dropdownMenu).removeClass(ClassName.SHOW);
|
466
|
+
$(parent).removeClass(ClassName.SHOW).trigger($.Event(Event.HIDDEN, relatedTarget));
|
467
|
+
}
|
468
|
+
};
|
469
|
+
|
470
|
+
Dropdown._getParentFromElement = function _getParentFromElement(element) {
|
471
|
+
var parent;
|
472
|
+
var selector = Util.getSelectorFromElement(element);
|
473
|
+
|
474
|
+
if (selector) {
|
475
|
+
parent = document.querySelector(selector);
|
476
|
+
}
|
477
|
+
|
478
|
+
return parent || element.parentNode;
|
479
|
+
}; // eslint-disable-next-line complexity
|
480
|
+
|
481
|
+
|
482
|
+
Dropdown._dataApiKeydownHandler = function _dataApiKeydownHandler(event) {
|
483
|
+
// If not input/textarea:
|
484
|
+
// - And not a key in REGEXP_KEYDOWN => not a dropdown command
|
485
|
+
// If input/textarea:
|
486
|
+
// - If space key => not a dropdown command
|
487
|
+
// - If key is other than escape
|
488
|
+
// - If key is not up or down => not a dropdown command
|
489
|
+
// - If trigger inside the menu => not a dropdown command
|
490
|
+
if (/input|textarea/i.test(event.target.tagName) ? event.which === SPACE_KEYCODE || event.which !== ESCAPE_KEYCODE && (event.which !== ARROW_DOWN_KEYCODE && event.which !== ARROW_UP_KEYCODE || $(event.target).closest(Selector.MENU).length) : !REGEXP_KEYDOWN.test(event.which)) {
|
491
|
+
return;
|
492
|
+
}
|
493
|
+
|
494
|
+
event.preventDefault();
|
495
|
+
event.stopPropagation();
|
496
|
+
|
497
|
+
if (this.disabled || $(this).hasClass(ClassName.DISABLED)) {
|
498
|
+
return;
|
499
|
+
}
|
500
|
+
|
501
|
+
var parent = Dropdown._getParentFromElement(this);
|
502
|
+
|
503
|
+
var isActive = $(parent).hasClass(ClassName.SHOW);
|
504
|
+
|
505
|
+
if (!isActive || isActive && (event.which === ESCAPE_KEYCODE || event.which === SPACE_KEYCODE)) {
|
506
|
+
if (event.which === ESCAPE_KEYCODE) {
|
507
|
+
var toggle = parent.querySelector(Selector.DATA_TOGGLE);
|
508
|
+
$(toggle).trigger('focus');
|
509
|
+
}
|
510
|
+
|
511
|
+
$(this).trigger('click');
|
512
|
+
return;
|
513
|
+
}
|
514
|
+
|
515
|
+
var items = [].slice.call(parent.querySelectorAll(Selector.VISIBLE_ITEMS));
|
516
|
+
|
517
|
+
if (items.length === 0) {
|
518
|
+
return;
|
519
|
+
}
|
520
|
+
|
521
|
+
var index = items.indexOf(event.target);
|
522
|
+
|
523
|
+
if (event.which === ARROW_UP_KEYCODE && index > 0) {
|
524
|
+
// Up
|
525
|
+
index--;
|
526
|
+
}
|
527
|
+
|
528
|
+
if (event.which === ARROW_DOWN_KEYCODE && index < items.length - 1) {
|
529
|
+
// Down
|
530
|
+
index++;
|
531
|
+
}
|
532
|
+
|
533
|
+
if (index < 0) {
|
534
|
+
index = 0;
|
535
|
+
}
|
536
|
+
|
537
|
+
items[index].focus();
|
538
|
+
};
|
539
|
+
|
540
|
+
_createClass(Dropdown, null, [{
|
541
|
+
key: "VERSION",
|
542
|
+
get: function get() {
|
543
|
+
return VERSION;
|
544
|
+
}
|
545
|
+
}, {
|
546
|
+
key: "Default",
|
547
|
+
get: function get() {
|
548
|
+
return Default;
|
549
|
+
}
|
550
|
+
}, {
|
551
|
+
key: "DefaultType",
|
552
|
+
get: function get() {
|
553
|
+
return DefaultType;
|
554
|
+
}
|
555
|
+
}]);
|
556
|
+
|
557
|
+
return Dropdown;
|
558
|
+
}();
|
559
|
+
/**
|
560
|
+
* ------------------------------------------------------------------------
|
561
|
+
* Data Api implementation
|
562
|
+
* ------------------------------------------------------------------------
|
563
|
+
*/
|
564
|
+
|
565
|
+
|
566
|
+
$(document).on(Event.KEYDOWN_DATA_API, Selector.DATA_TOGGLE, Dropdown._dataApiKeydownHandler).on(Event.KEYDOWN_DATA_API, Selector.MENU, Dropdown._dataApiKeydownHandler).on(Event.CLICK_DATA_API + " " + Event.KEYUP_DATA_API, Dropdown._clearMenus).on(Event.CLICK_DATA_API, Selector.DATA_TOGGLE, function (event) {
|
567
|
+
event.preventDefault();
|
568
|
+
event.stopPropagation();
|
569
|
+
|
570
|
+
Dropdown._jQueryInterface.call($(this), 'toggle');
|
571
|
+
}).on(Event.CLICK_DATA_API, Selector.FORM_CHILD, function (e) {
|
572
|
+
e.stopPropagation();
|
573
|
+
});
|
574
|
+
/**
|
575
|
+
* ------------------------------------------------------------------------
|
576
|
+
* jQuery
|
577
|
+
* ------------------------------------------------------------------------
|
578
|
+
*/
|
579
|
+
|
580
|
+
$.fn[NAME] = Dropdown._jQueryInterface;
|
581
|
+
$.fn[NAME].Constructor = Dropdown;
|
582
|
+
|
583
|
+
$.fn[NAME].noConflict = function () {
|
584
|
+
$.fn[NAME] = JQUERY_NO_CONFLICT;
|
585
|
+
return Dropdown._jQueryInterface;
|
586
|
+
};
|
587
|
+
|
588
|
+
return Dropdown;
|
589
|
+
|
590
|
+
})));
|
591
|
+
//# sourceMappingURL=dropdown.js.map
|