Welcome to mirror list, hosted at ThFree Co, Russian Federation.

github.com/twbs/bootstrap.git - Unnamed repository; edit this file 'description' to name the repository.
summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
Diffstat (limited to 'js/dist/carousel.js.map')
-rw-r--r--js/dist/carousel.js.map2
1 files changed, 1 insertions, 1 deletions
diff --git a/js/dist/carousel.js.map b/js/dist/carousel.js.map
index 9071688cba..62d17feef1 100644
--- a/js/dist/carousel.js.map
+++ b/js/dist/carousel.js.map
@@ -1 +1 @@
-{"version":3,"file":"carousel.js","sources":["../src/carousel.js"],"sourcesContent":["import $ from 'jquery'\nimport Util from './util'\n\n/**\n * --------------------------------------------------------------------------\n * Bootstrap (v4.1.3): carousel.js\n * Licensed under MIT (https://github.com/twbs/bootstrap/blob/master/LICENSE)\n * --------------------------------------------------------------------------\n */\n\nconst Carousel = (($) => {\n /**\n * ------------------------------------------------------------------------\n * Constants\n * ------------------------------------------------------------------------\n */\n\n const NAME = 'carousel'\n const VERSION = '4.1.3'\n const DATA_KEY = 'bs.carousel'\n const EVENT_KEY = `.${DATA_KEY}`\n const DATA_API_KEY = '.data-api'\n const JQUERY_NO_CONFLICT = $.fn[NAME]\n const ARROW_LEFT_KEYCODE = 37 // KeyboardEvent.which value for left arrow key\n const ARROW_RIGHT_KEYCODE = 39 // KeyboardEvent.which value for right arrow key\n const TOUCHEVENT_COMPAT_WAIT = 500 // Time for mouse compat events to fire after touch\n\n const Default = {\n interval : 5000,\n keyboard : true,\n slide : false,\n pause : 'hover',\n wrap : true\n }\n\n const DefaultType = {\n interval : '(number|boolean)',\n keyboard : 'boolean',\n slide : '(boolean|string)',\n pause : '(string|boolean)',\n wrap : 'boolean'\n }\n\n const Direction = {\n NEXT : 'next',\n PREV : 'prev',\n LEFT : 'left',\n RIGHT : 'right'\n }\n\n const 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 TOUCHEND : `touchend${EVENT_KEY}`,\n LOAD_DATA_API : `load${EVENT_KEY}${DATA_API_KEY}`,\n CLICK_DATA_API : `click${EVENT_KEY}${DATA_API_KEY}`\n }\n\n const 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 }\n\n const Selector = {\n ACTIVE : '.active',\n ACTIVE_ITEM : '.active.carousel-item',\n ITEM : '.carousel-item',\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\n /**\n * ------------------------------------------------------------------------\n * Class Definition\n * ------------------------------------------------------------------------\n */\n\n class Carousel {\n constructor(element, config) {\n this._items = null\n this._interval = null\n this._activeElement = null\n\n this._isPaused = false\n this._isSliding = false\n\n this.touchTimeout = null\n\n this._config = this._getConfig(config)\n this._element = $(element)[0]\n this._indicatorsElement = this._element.querySelector(Selector.INDICATORS)\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 _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 if ('ontouchstart' in document.documentElement) {\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 $(this._element).on(Event.TOUCHEND, () => {\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 }\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\n return Carousel\n})($)\n\nexport default Carousel\n"],"names":["Carousel","$","NAME","VERSION","DATA_KEY","EVENT_KEY","DATA_API_KEY","JQUERY_NO_CONFLICT","fn","ARROW_LEFT_KEYCODE","ARROW_RIGHT_KEYCODE","TOUCHEVENT_COMPAT_WAIT","Default","interval","keyboard","slide","pause","wrap","DefaultType","Direction","NEXT","PREV","LEFT","RIGHT","Event","SLIDE","SLID","KEYDOWN","MOUSEENTER","MOUSELEAVE","TOUCHEND","LOAD_DATA_API","CLICK_DATA_API","ClassName","CAROUSEL","ACTIVE","ITEM","Selector","ACTIVE_ITEM","NEXT_PREV","INDICATORS","DATA_SLIDE","DATA_RIDE","element","config","_items","_interval","_activeElement","_isPaused","_isSliding","touchTimeout","_config","_getConfig","_element","_indicatorsElement","querySelector","_addEventListeners","next","_slide","nextWhenVisible","document","hidden","is","css","prev","event","Util","triggerTransitionEnd","cycle","clearInterval","setInterval","visibilityState","bind","to","index","activeIndex","_getItemIndex","length","one","direction","dispose","off","removeData","typeCheckConfig","on","_keydown","documentElement","clearTimeout","setTimeout","test","target","tagName","which","preventDefault","parentNode","slice","call","querySelectorAll","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","Boolean","directionalClassName","orderClassName","hasClass","isDefaultPrevented","slidEvent","reflow","nextElementInterval","parseInt","getAttribute","defaultInterval","transitionDuration","getTransitionDurationFromElement","TRANSITION_END","emulateTransitionEnd","_jQueryInterface","each","data","action","TypeError","_dataApiClickHandler","selector","getSelectorFromElement","slideIndex","window","carousels","i","len","$carousel","Constructor","noConflict"],"mappings":"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"} \ No newline at end of file
+{"version":3,"file":"carousel.js","sources":["../src/carousel.js"],"sourcesContent":["/**\n * --------------------------------------------------------------------------\n * Bootstrap (v4.1.3): 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.1.3'\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 POINTERMOVE : `pointermove${EVENT_KEY}`,\n POINTERUP : `pointerup${EVENT_KEY}`,\n POINTERLEAVE : `pointerleave${EVENT_KEY}`,\n POINTERCANCEL : `pointercancel${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 && (event.originalEvent.pointerType === PointerType.TOUCH || event.originalEvent.pointerType === PointerType.PEN)) {\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 && (event.originalEvent.pointerType === PointerType.TOUCH || event.originalEvent.pointerType === PointerType.PEN)) {\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","POINTERMOVE","POINTERUP","POINTERLEAVE","POINTERCANCEL","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","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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"} \ No newline at end of file