diff options
author | Mark Otto <markdotto@gmail.com> | 2016-12-08 07:46:17 +0300 |
---|---|---|
committer | Mark Otto <markdotto@gmail.com> | 2016-12-08 07:46:17 +0300 |
commit | cd76a6775de677210c25608f4d359ce429df995b (patch) | |
tree | db5c36a8b92a8740c007d4f3c8ef17a7454d0c99 /js/dist | |
parent | ede925d79bf92d5983a4508c6ed6fda9310e1e8b (diff) |
grunt
Diffstat (limited to 'js/dist')
-rw-r--r-- | js/dist/carousel.js | 40 | ||||
-rw-r--r-- | js/dist/carousel.js.map | 2 |
2 files changed, 29 insertions, 13 deletions
diff --git a/js/dist/carousel.js b/js/dist/carousel.js index 60803b9fc3..b0af32d6bd 100644 --- a/js/dist/carousel.js +++ b/js/dist/carousel.js @@ -47,7 +47,9 @@ var Carousel = function ($) { var Direction = { NEXT: 'next', - PREVIOUS: 'prev' + PREV: 'prev', + LEFT: 'left', + RIGHT: 'right' }; var Event = { @@ -64,8 +66,10 @@ var Carousel = function ($) { CAROUSEL: 'carousel', ACTIVE: 'active', SLIDE: 'slide', - RIGHT: 'right', - LEFT: 'left', + RIGHT: 'carousel-item-right', + LEFT: 'carousel-item-left', + NEXT: 'carousel-item-next', + PREV: 'carousel-item-prev', ITEM: 'carousel-item' }; @@ -73,7 +77,7 @@ var Carousel = function ($) { ACTIVE: '.active', ACTIVE_ITEM: '.active.carousel-item', ITEM: '.carousel-item', - NEXT_PREV: '.next, .prev', + NEXT_PREV: '.carousel-item-next, .carousel-item-prev', INDICATORS: '.carousel-indicators', DATA_SLIDE: '[data-slide], [data-slide-to]', DATA_RIDE: '[data-ride="carousel"]' @@ -266,10 +270,10 @@ var Carousel = function ($) { return itemIndex === -1 ? this._items[this._items.length - 1] : this._items[itemIndex]; }; - Carousel.prototype._triggerSlideEvent = function _triggerSlideEvent(relatedTarget, directionalClassname) { + Carousel.prototype._triggerSlideEvent = function _triggerSlideEvent(relatedTarget, eventDirectionName) { var slideEvent = $.Event(Event.SLIDE, { relatedTarget: relatedTarget, - direction: directionalClassname + direction: eventDirectionName }); $(this._element).trigger(slideEvent); @@ -297,14 +301,26 @@ var Carousel = function ($) { var isCycling = Boolean(this._interval); - var directionalClassName = direction === Direction.NEXT ? ClassName.LEFT : ClassName.RIGHT; + var directionalClassName = void 0; + var orderClassName = void 0; + var eventDirectionName = void 0; + + if (direction === Direction.NEXT) { + directionalClassName = ClassName.LEFT; + orderClassName = ClassName.NEXT; + eventDirectionName = Direction.LEFT; + } else { + directionalClassName = ClassName.RIGHT; + orderClassName = ClassName.PREV; + eventDirectionName = Direction.RIGHT; + } if (nextElement && $(nextElement).hasClass(ClassName.ACTIVE)) { this._isSliding = false; return; } - var slideEvent = this._triggerSlideEvent(nextElement, directionalClassName); + var slideEvent = this._triggerSlideEvent(nextElement, eventDirectionName); if (slideEvent.isDefaultPrevented()) { return; } @@ -324,12 +340,12 @@ var Carousel = function ($) { var slidEvent = $.Event(Event.SLID, { relatedTarget: nextElement, - direction: directionalClassName + direction: eventDirectionName }); if (Util.supportsTransitionEnd() && $(this._element).hasClass(ClassName.SLIDE)) { - $(nextElement).addClass(direction); + $(nextElement).addClass(orderClassName); Util.reflow(nextElement); @@ -337,9 +353,9 @@ var Carousel = function ($) { $(nextElement).addClass(directionalClassName); $(activeElement).one(Util.TRANSITION_END, function () { - $(nextElement).removeClass(directionalClassName + ' ' + direction).addClass(ClassName.ACTIVE); + $(nextElement).removeClass(directionalClassName + ' ' + orderClassName).addClass(ClassName.ACTIVE); - $(activeElement).removeClass(ClassName.ACTIVE + ' ' + direction + ' ' + directionalClassName); + $(activeElement).removeClass(ClassName.ACTIVE + ' ' + orderClassName + ' ' + directionalClassName); _this3._isSliding = false; diff --git a/js/dist/carousel.js.map b/js/dist/carousel.js.map index 2648860db3..37c3855b13 100644 --- a/js/dist/carousel.js.map +++ b/js/dist/carousel.js.map @@ -1 +1 @@ -{"version":3,"sources":["../src/carousel.js"],"names":["Carousel","$","NAME","VERSION","DATA_KEY","EVENT_KEY","DATA_API_KEY","JQUERY_NO_CONFLICT","fn","TRANSITION_DURATION","ARROW_LEFT_KEYCODE","ARROW_RIGHT_KEYCODE","Default","interval","keyboard","slide","pause","wrap","DefaultType","Direction","NEXT","PREVIOUS","Event","SLIDE","SLID","KEYDOWN","MOUSEENTER","MOUSELEAVE","LOAD_DATA_API","CLICK_DATA_API","ClassName","CAROUSEL","ACTIVE","RIGHT","LEFT","ITEM","Selector","ACTIVE_ITEM","NEXT_PREV","INDICATORS","DATA_SLIDE","DATA_RIDE","element","config","_items","_interval","_activeElement","_isPaused","_isSliding","_config","_getConfig","_element","_indicatorsElement","find","_addEventListeners","next","Error","_slide","nextWhenVisible","document","hidden","prev","event","Util","supportsTransitionEnd","triggerTransitionEnd","cycle","clearInterval","setInterval","visibilityState","bind","to","index","activeIndex","_getItemIndex","length","one","direction","dispose","off","removeData","extend","typeCheckConfig","on","_keydown","documentElement","test","target","tagName","preventDefault","which","makeArray","parent","indexOf","_getItemByDirection","activeElement","isNextDirection","isPrevDirection","lastItemIndex","isGoingToWrap","delta","itemIndex","_triggerSlideEvent","relatedTarget","directionalClassname","slideEvent","trigger","_setActiveIndicatorElement","removeClass","nextIndicator","children","addClass","nextElement","isCycling","Boolean","directionalClassName","hasClass","isDefaultPrevented","slidEvent","reflow","TRANSITION_END","setTimeout","emulateTransitionEnd","_jQueryInterface","each","data","action","undefined","_dataApiClickHandler","selector","getSelectorFromElement","slideIndex","getAttribute","call","window","$carousel","Constructor","noConflict","jQuery"],"mappings":"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","file":"carousel.js","sourcesContent":["import Util from './util'\n\n\n/**\n * --------------------------------------------------------------------------\n * Bootstrap (v4.0.0-alpha.5): carousel.js\n * Licensed under MIT (https://github.com/twbs/bootstrap/blob/master/LICENSE)\n * --------------------------------------------------------------------------\n */\n\nconst Carousel = (($) => {\n\n\n /**\n * ------------------------------------------------------------------------\n * Constants\n * ------------------------------------------------------------------------\n */\n\n const NAME = 'carousel'\n const VERSION = '4.0.0-alpha.5'\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 TRANSITION_DURATION = 600\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\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 PREVIOUS : 'prev'\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 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 : 'right',\n LEFT : 'left',\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 : '.next, .prev',\n INDICATORS : '.carousel-indicators',\n DATA_SLIDE : '[data-slide], [data-slide-to]',\n DATA_RIDE : '[data-ride=\"carousel\"]'\n }\n\n\n /**\n * ------------------------------------------------------------------------\n * Class Definition\n * ------------------------------------------------------------------------\n */\n\n class Carousel {\n\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._config = this._getConfig(config)\n this._element = $(element)[0]\n this._indicatorsElement = $(this._element).find(Selector.INDICATORS)[0]\n\n this._addEventListeners()\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\n // public\n\n next() {\n if (this._isSliding) {\n throw new Error('Carousel is sliding')\n }\n this._slide(Direction.NEXT)\n }\n\n nextWhenVisible() {\n // Don't call next when the page isn't visible\n if (!document.hidden) {\n this.next()\n }\n }\n\n prev() {\n if (this._isSliding) {\n throw new Error('Carousel is sliding')\n }\n this._slide(Direction.PREVIOUS)\n }\n\n pause(event) {\n if (!event) {\n this._isPaused = true\n }\n\n if ($(this._element).find(Selector.NEXT_PREV)[0] &&\n Util.supportsTransitionEnd()) {\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).find(Selector.ACTIVE_ITEM)[0]\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.PREVIOUS\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\n // private\n\n _getConfig(config) {\n config = $.extend({}, Default, config)\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 !('ontouchstart' in document.documentElement)) {\n $(this._element)\n .on(Event.MOUSEENTER, (event) => this.pause(event))\n .on(Event.MOUSELEAVE, (event) => this.cycle(event))\n }\n }\n\n _keydown(event) {\n if (/input|textarea/i.test(event.target.tagName)) {\n return\n }\n event.preventDefault()\n\n switch (event.which) {\n case ARROW_LEFT_KEYCODE:\n this.prev()\n break\n case ARROW_RIGHT_KEYCODE:\n this.next()\n break\n default:\n return\n }\n }\n\n _getItemIndex(element) {\n this._items = $.makeArray($(element).parent().find(Selector.ITEM))\n return this._items.indexOf(element)\n }\n\n _getItemByDirection(direction, activeElement) {\n const isNextDirection = direction === Direction.NEXT\n const isPrevDirection = direction === Direction.PREVIOUS\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.PREVIOUS ? -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\n _triggerSlideEvent(relatedTarget, directionalClassname) {\n const slideEvent = $.Event(Event.SLIDE, {\n relatedTarget,\n direction: directionalClassname\n })\n\n $(this._element).trigger(slideEvent)\n\n return slideEvent\n }\n\n _setActiveIndicatorElement(element) {\n if (this._indicatorsElement) {\n $(this._indicatorsElement)\n .find(Selector.ACTIVE)\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).find(Selector.ACTIVE_ITEM)[0]\n const nextElement = element || activeElement &&\n this._getItemByDirection(direction, activeElement)\n\n const isCycling = Boolean(this._interval)\n\n const directionalClassName = direction === Direction.NEXT ?\n ClassName.LEFT :\n ClassName.RIGHT\n\n if (nextElement && $(nextElement).hasClass(ClassName.ACTIVE)) {\n this._isSliding = false\n return\n }\n\n const slideEvent = this._triggerSlideEvent(nextElement, directionalClassName)\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: directionalClassName\n })\n\n if (Util.supportsTransitionEnd() &&\n $(this._element).hasClass(ClassName.SLIDE)) {\n\n $(nextElement).addClass(direction)\n\n Util.reflow(nextElement)\n\n $(activeElement).addClass(directionalClassName)\n $(nextElement).addClass(directionalClassName)\n\n $(activeElement)\n .one(Util.TRANSITION_END, () => {\n $(nextElement)\n .removeClass(`${directionalClassName} ${direction}`)\n .addClass(ClassName.ACTIVE)\n\n $(activeElement).removeClass(`${ClassName.ACTIVE} ${direction} ${directionalClassName}`)\n\n this._isSliding = false\n\n setTimeout(() => $(this._element).trigger(slidEvent), 0)\n\n })\n .emulateTransitionEnd(TRANSITION_DURATION)\n\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\n // static\n\n static _jQueryInterface(config) {\n return this.each(function () {\n let data = $(this).data(DATA_KEY)\n const _config = $.extend({}, Default, $(this).data())\n\n if (typeof config === 'object') {\n $.extend(_config, config)\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 (data[action] === undefined) {\n throw new Error(`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 = $.extend({}, $(target).data(), $(this).data())\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 /**\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 $(Selector.DATA_RIDE).each(function () {\n const $carousel = $(this)\n Carousel._jQueryInterface.call($carousel, $carousel.data())\n })\n })\n\n\n /**\n * ------------------------------------------------------------------------\n * jQuery\n * ------------------------------------------------------------------------\n */\n\n $.fn[NAME] = Carousel._jQueryInterface\n $.fn[NAME].Constructor = Carousel\n $.fn[NAME].noConflict = function () {\n $.fn[NAME] = JQUERY_NO_CONFLICT\n return Carousel._jQueryInterface\n }\n\n return Carousel\n\n})(jQuery)\n\nexport default Carousel\n"]}
\ No newline at end of file +{"version":3,"sources":["../src/carousel.js"],"names":["Carousel","$","NAME","VERSION","DATA_KEY","EVENT_KEY","DATA_API_KEY","JQUERY_NO_CONFLICT","fn","TRANSITION_DURATION","ARROW_LEFT_KEYCODE","ARROW_RIGHT_KEYCODE","Default","interval","keyboard","slide","pause","wrap","DefaultType","Direction","NEXT","PREV","LEFT","RIGHT","Event","SLIDE","SLID","KEYDOWN","MOUSEENTER","MOUSELEAVE","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","_config","_getConfig","_element","_indicatorsElement","find","_addEventListeners","next","Error","_slide","nextWhenVisible","document","hidden","prev","PREVIOUS","event","Util","supportsTransitionEnd","triggerTransitionEnd","cycle","clearInterval","setInterval","visibilityState","bind","to","index","activeIndex","_getItemIndex","length","one","direction","dispose","off","removeData","extend","typeCheckConfig","on","_keydown","documentElement","test","target","tagName","preventDefault","which","makeArray","parent","indexOf","_getItemByDirection","activeElement","isNextDirection","isPrevDirection","lastItemIndex","isGoingToWrap","delta","itemIndex","_triggerSlideEvent","relatedTarget","eventDirectionName","slideEvent","trigger","_setActiveIndicatorElement","removeClass","nextIndicator","children","addClass","nextElement","isCycling","Boolean","directionalClassName","orderClassName","hasClass","isDefaultPrevented","slidEvent","reflow","TRANSITION_END","setTimeout","emulateTransitionEnd","_jQueryInterface","each","data","action","undefined","_dataApiClickHandler","selector","getSelectorFromElement","slideIndex","getAttribute","call","window","$carousel","Constructor","noConflict","jQuery"],"mappings":"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","file":"carousel.js","sourcesContent":["import Util from './util'\n\n\n/**\n * --------------------------------------------------------------------------\n * Bootstrap (v4.0.0-alpha.5): carousel.js\n * Licensed under MIT (https://github.com/twbs/bootstrap/blob/master/LICENSE)\n * --------------------------------------------------------------------------\n */\n\nconst Carousel = (($) => {\n\n\n /**\n * ------------------------------------------------------------------------\n * Constants\n * ------------------------------------------------------------------------\n */\n\n const NAME = 'carousel'\n const VERSION = '4.0.0-alpha.5'\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 TRANSITION_DURATION = 600\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\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 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 * ------------------------------------------------------------------------\n * Class Definition\n * ------------------------------------------------------------------------\n */\n\n class Carousel {\n\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._config = this._getConfig(config)\n this._element = $(element)[0]\n this._indicatorsElement = $(this._element).find(Selector.INDICATORS)[0]\n\n this._addEventListeners()\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\n // public\n\n next() {\n if (this._isSliding) {\n throw new Error('Carousel is sliding')\n }\n this._slide(Direction.NEXT)\n }\n\n nextWhenVisible() {\n // Don't call next when the page isn't visible\n if (!document.hidden) {\n this.next()\n }\n }\n\n prev() {\n if (this._isSliding) {\n throw new Error('Carousel is sliding')\n }\n this._slide(Direction.PREVIOUS)\n }\n\n pause(event) {\n if (!event) {\n this._isPaused = true\n }\n\n if ($(this._element).find(Selector.NEXT_PREV)[0] &&\n Util.supportsTransitionEnd()) {\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).find(Selector.ACTIVE_ITEM)[0]\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.PREVIOUS\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\n // private\n\n _getConfig(config) {\n config = $.extend({}, Default, config)\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 !('ontouchstart' in document.documentElement)) {\n $(this._element)\n .on(Event.MOUSEENTER, (event) => this.pause(event))\n .on(Event.MOUSELEAVE, (event) => this.cycle(event))\n }\n }\n\n _keydown(event) {\n if (/input|textarea/i.test(event.target.tagName)) {\n return\n }\n event.preventDefault()\n\n switch (event.which) {\n case ARROW_LEFT_KEYCODE:\n this.prev()\n break\n case ARROW_RIGHT_KEYCODE:\n this.next()\n break\n default:\n return\n }\n }\n\n _getItemIndex(element) {\n this._items = $.makeArray($(element).parent().find(Selector.ITEM))\n return this._items.indexOf(element)\n }\n\n _getItemByDirection(direction, activeElement) {\n const isNextDirection = direction === Direction.NEXT\n const isPrevDirection = direction === Direction.PREVIOUS\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.PREVIOUS ? -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\n _triggerSlideEvent(relatedTarget, eventDirectionName) {\n const slideEvent = $.Event(Event.SLIDE, {\n relatedTarget,\n direction: eventDirectionName\n })\n\n $(this._element).trigger(slideEvent)\n\n return slideEvent\n }\n\n _setActiveIndicatorElement(element) {\n if (this._indicatorsElement) {\n $(this._indicatorsElement)\n .find(Selector.ACTIVE)\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).find(Selector.ACTIVE_ITEM)[0]\n const nextElement = element || activeElement &&\n this._getItemByDirection(direction, activeElement)\n\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 })\n\n if (Util.supportsTransitionEnd() &&\n $(this._element).hasClass(ClassName.SLIDE)) {\n\n $(nextElement).addClass(orderClassName)\n\n Util.reflow(nextElement)\n\n $(activeElement).addClass(directionalClassName)\n $(nextElement).addClass(directionalClassName)\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 })\n .emulateTransitionEnd(TRANSITION_DURATION)\n\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\n // static\n\n static _jQueryInterface(config) {\n return this.each(function () {\n let data = $(this).data(DATA_KEY)\n const _config = $.extend({}, Default, $(this).data())\n\n if (typeof config === 'object') {\n $.extend(_config, config)\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 (data[action] === undefined) {\n throw new Error(`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 = $.extend({}, $(target).data(), $(this).data())\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 /**\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 $(Selector.DATA_RIDE).each(function () {\n const $carousel = $(this)\n Carousel._jQueryInterface.call($carousel, $carousel.data())\n })\n })\n\n\n /**\n * ------------------------------------------------------------------------\n * jQuery\n * ------------------------------------------------------------------------\n */\n\n $.fn[NAME] = Carousel._jQueryInterface\n $.fn[NAME].Constructor = Carousel\n $.fn[NAME].noConflict = function () {\n $.fn[NAME] = JQUERY_NO_CONFLICT\n return Carousel._jQueryInterface\n }\n\n return Carousel\n\n})(jQuery)\n\nexport default Carousel\n"]}
\ No newline at end of file |