mirror of
https://github.com/twbs/bootstrap.git
synced 2024-12-12 00:08:59 +01:00
1 line
28 KiB
Plaintext
1 line
28 KiB
Plaintext
{"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","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","find","_addEventListeners","next","_slide","nextWhenVisible","document","hidden","is","css","prev","event","Util","supportsTransitionEnd","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","makeArray","parent","indexOf","_getItemByDirection","activeElement","isNextDirection","isPrevDirection","lastItemIndex","isGoingToWrap","delta","itemIndex","_triggerSlideEvent","relatedTarget","eventDirectionName","targetIndex","fromIndex","slideEvent","from","trigger","_setActiveIndicatorElement","removeClass","nextIndicator","children","addClass","activeElementIndex","nextElement","nextElementIndex","isCycling","Boolean","directionalClassName","orderClassName","hasClass","isDefaultPrevented","slidEvent","reflow","TRANSITION_END","emulateTransitionEnd","_jQueryInterface","each","data","action","Error","_dataApiClickHandler","selector","getSelectorFromElement","slideIndex","getAttribute","call","window","$carousel","Constructor","noConflict"],"mappings":"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","file":"carousel.js","sourcesContent":["import $ from 'jquery'\nimport Util from './util'\n\n\n/**\n * --------------------------------------------------------------------------\n * Bootstrap (v4.0.0-beta.2): 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-beta.2'\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 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 * ------------------------------------------------------------------------\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.touchTimeout = null\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 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).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.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\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 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.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\n _triggerSlideEvent(relatedTarget, eventDirectionName) {\n const targetIndex = this._getItemIndex(relatedTarget)\n const fromIndex = this._getItemIndex($(this._element).find(Selector.ACTIVE_ITEM)[0])\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 $(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 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 (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 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 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 = {\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 /**\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})($)\n\nexport default Carousel\n"]} |