diff options
| author | Patrick H. Lauke <[email protected]> | 2021-05-04 12:46:06 +0100 |
|---|---|---|
| committer | GitHub <[email protected]> | 2021-05-04 12:46:06 +0100 |
| commit | 8865a8ab1c7157ab81bf49afa62b75f36daee46d (patch) | |
| tree | 97ef78f2ea8e07aab50014176d061fe3c1d49134 /js/dist/carousel.js.map | |
| parent | 018ee6a3b50b958ddb49657086cd9168abf5a485 (diff) | |
| parent | 7ea6578773cb1b7f5cfb8fb41321b3fa10349daf (diff) | |
| download | bootstrap-jo-docs-thanks-page.tar.xz bootstrap-jo-docs-thanks-page.zip | |
Merge branch 'main' into jo-docs-thanks-pagejo-docs-thanks-page
Diffstat (limited to 'js/dist/carousel.js.map')
| -rw-r--r-- | js/dist/carousel.js.map | 2 |
1 files changed, 1 insertions, 1 deletions
diff --git a/js/dist/carousel.js.map b/js/dist/carousel.js.map index e000b5a72..669020835 100644 --- a/js/dist/carousel.js.map +++ b/js/dist/carousel.js.map @@ -1 +1 @@ -{"version":3,"file":"carousel.js","sources":["../src/util/index.js","../src/base-component.js","../src/carousel.js"],"sourcesContent":["/**\n * --------------------------------------------------------------------------\n * Bootstrap (v5.0.0-alpha3): util/index.js\n * Licensed under MIT (https://github.com/twbs/bootstrap/blob/main/LICENSE)\n * --------------------------------------------------------------------------\n */\n\nconst MAX_UID = 1000000\nconst MILLISECONDS_MULTIPLIER = 1000\nconst TRANSITION_END = 'transitionend'\n\n// Shoutout AngusCroll (https://goo.gl/pxwQGp)\nconst toType = obj => {\n if (obj === null || obj === undefined) {\n return `${obj}`\n }\n\n return {}.toString.call(obj).match(/\\s([a-z]+)/i)[1].toLowerCase()\n}\n\n/**\n * --------------------------------------------------------------------------\n * Public Util Api\n * --------------------------------------------------------------------------\n */\n\nconst getUID = prefix => {\n do {\n prefix += Math.floor(Math.random() * MAX_UID)\n } while (document.getElementById(prefix))\n\n return prefix\n}\n\nconst getSelector = element => {\n let selector = element.getAttribute('data-bs-target')\n\n if (!selector || selector === '#') {\n const hrefAttr = element.getAttribute('href')\n\n selector = hrefAttr && hrefAttr !== '#' ? hrefAttr.trim() : null\n }\n\n return selector\n}\n\nconst getSelectorFromElement = element => {\n const selector = getSelector(element)\n\n if (selector) {\n return document.querySelector(selector) ? selector : null\n }\n\n return null\n}\n\nconst getElementFromSelector = element => {\n const selector = getSelector(element)\n\n return selector ? document.querySelector(selector) : null\n}\n\nconst getTransitionDurationFromElement = element => {\n if (!element) {\n return 0\n }\n\n // Get transition-duration of the element\n let { transitionDuration, transitionDelay } = window.getComputedStyle(element)\n\n const floatTransitionDuration = Number.parseFloat(transitionDuration)\n const floatTransitionDelay = Number.parseFloat(transitionDelay)\n\n // Return 0 if element or transition duration is not found\n if (!floatTransitionDuration && !floatTransitionDelay) {\n return 0\n }\n\n // If multiple durations are defined, take the first\n transitionDuration = transitionDuration.split(',')[0]\n transitionDelay = transitionDelay.split(',')[0]\n\n return (Number.parseFloat(transitionDuration) + Number.parseFloat(transitionDelay)) * MILLISECONDS_MULTIPLIER\n}\n\nconst triggerTransitionEnd = element => {\n element.dispatchEvent(new Event(TRANSITION_END))\n}\n\nconst isElement = obj => (obj[0] || obj).nodeType\n\nconst emulateTransitionEnd = (element, duration) => {\n let called = false\n const durationPadding = 5\n const emulatedDuration = duration + durationPadding\n\n function listener() {\n called = true\n element.removeEventListener(TRANSITION_END, listener)\n }\n\n element.addEventListener(TRANSITION_END, listener)\n setTimeout(() => {\n if (!called) {\n triggerTransitionEnd(element)\n }\n }, emulatedDuration)\n}\n\nconst typeCheckConfig = (componentName, config, configTypes) => {\n Object.keys(configTypes).forEach(property => {\n const expectedTypes = configTypes[property]\n const value = config[property]\n const valueType = value && isElement(value) ?\n 'element' :\n toType(value)\n\n if (!new RegExp(expectedTypes).test(valueType)) {\n throw new Error(\n `${componentName.toUpperCase()}: ` +\n `Option \"${property}\" provided type \"${valueType}\" ` +\n `but expected type \"${expectedTypes}\".`)\n }\n })\n}\n\nconst isVisible = element => {\n if (!element) {\n return false\n }\n\n if (element.style && element.parentNode && element.parentNode.style) {\n const elementStyle = getComputedStyle(element)\n const parentNodeStyle = getComputedStyle(element.parentNode)\n\n return elementStyle.display !== 'none' &&\n parentNodeStyle.display !== 'none' &&\n elementStyle.visibility !== 'hidden'\n }\n\n return false\n}\n\nconst findShadowRoot = element => {\n if (!document.documentElement.attachShadow) {\n return null\n }\n\n // Can find the shadow root otherwise it'll return the document\n if (typeof element.getRootNode === 'function') {\n const root = element.getRootNode()\n return root instanceof ShadowRoot ? root : null\n }\n\n if (element instanceof ShadowRoot) {\n return element\n }\n\n // when we don't find a shadow root\n if (!element.parentNode) {\n return null\n }\n\n return findShadowRoot(element.parentNode)\n}\n\nconst noop = () => function () {}\n\nconst reflow = element => element.offsetHeight\n\nconst getjQuery = () => {\n const { jQuery } = window\n\n if (jQuery && !document.body.hasAttribute('data-bs-no-jquery')) {\n return jQuery\n }\n\n return null\n}\n\nconst onDOMContentLoaded = callback => {\n if (document.readyState === 'loading') {\n document.addEventListener('DOMContentLoaded', callback)\n } else {\n callback()\n }\n}\n\nconst isRTL = document.documentElement.dir === 'rtl'\n\nexport {\n TRANSITION_END,\n getUID,\n getSelectorFromElement,\n getElementFromSelector,\n getTransitionDurationFromElement,\n triggerTransitionEnd,\n isElement,\n emulateTransitionEnd,\n typeCheckConfig,\n isVisible,\n findShadowRoot,\n noop,\n reflow,\n getjQuery,\n onDOMContentLoaded,\n isRTL\n}\n","/**\n * --------------------------------------------------------------------------\n * Bootstrap (v5.0.0-alpha3): base-component.js\n * Licensed under MIT (https://github.com/twbs/bootstrap/blob/main/LICENSE)\n * --------------------------------------------------------------------------\n */\n\nimport Data from './dom/data'\n\n/**\n * ------------------------------------------------------------------------\n * Constants\n * ------------------------------------------------------------------------\n */\n\nconst VERSION = '5.0.0-alpha3'\n\nclass BaseComponent {\n constructor(element) {\n if (!element) {\n return\n }\n\n this._element = element\n Data.setData(element, this.constructor.DATA_KEY, this)\n }\n\n dispose() {\n Data.removeData(this._element, this.constructor.DATA_KEY)\n this._element = null\n }\n\n /** Static */\n\n static getInstance(element) {\n return Data.getData(element, this.DATA_KEY)\n }\n\n static get VERSION() {\n return VERSION\n }\n}\n\nexport default BaseComponent\n","/**\n * --------------------------------------------------------------------------\n * Bootstrap (v5.0.0-alpha3): carousel.js\n * Licensed under MIT (https://github.com/twbs/bootstrap/blob/main/LICENSE)\n * --------------------------------------------------------------------------\n */\n\nimport {\n getjQuery,\n onDOMContentLoaded,\n TRANSITION_END,\n emulateTransitionEnd,\n getElementFromSelector,\n getTransitionDurationFromElement,\n isVisible,\n reflow,\n triggerTransitionEnd,\n typeCheckConfig\n} from './util/index'\nimport Data from './dom/data'\nimport EventHandler from './dom/event-handler'\nimport Manipulator from './dom/manipulator'\nimport SelectorEngine from './dom/selector-engine'\nimport BaseComponent from './base-component'\n\n/**\n * ------------------------------------------------------------------------\n * Constants\n * ------------------------------------------------------------------------\n */\n\nconst NAME = 'carousel'\nconst DATA_KEY = 'bs.carousel'\nconst EVENT_KEY = `.${DATA_KEY}`\nconst DATA_API_KEY = '.data-api'\n\nconst ARROW_LEFT_KEY = 'ArrowLeft'\nconst ARROW_RIGHT_KEY = 'ArrowRight'\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_NEXT = 'next'\nconst DIRECTION_PREV = 'prev'\nconst DIRECTION_LEFT = 'left'\nconst DIRECTION_RIGHT = 'right'\n\nconst EVENT_SLIDE = `slide${EVENT_KEY}`\nconst EVENT_SLID = `slid${EVENT_KEY}`\nconst EVENT_KEYDOWN = `keydown${EVENT_KEY}`\nconst EVENT_MOUSEENTER = `mouseenter${EVENT_KEY}`\nconst EVENT_MOUSELEAVE = `mouseleave${EVENT_KEY}`\nconst EVENT_TOUCHSTART = `touchstart${EVENT_KEY}`\nconst EVENT_TOUCHMOVE = `touchmove${EVENT_KEY}`\nconst EVENT_TOUCHEND = `touchend${EVENT_KEY}`\nconst EVENT_POINTERDOWN = `pointerdown${EVENT_KEY}`\nconst EVENT_POINTERUP = `pointerup${EVENT_KEY}`\nconst EVENT_DRAG_START = `dragstart${EVENT_KEY}`\nconst EVENT_LOAD_DATA_API = `load${EVENT_KEY}${DATA_API_KEY}`\nconst EVENT_CLICK_DATA_API = `click${EVENT_KEY}${DATA_API_KEY}`\n\nconst CLASS_NAME_CAROUSEL = 'carousel'\nconst CLASS_NAME_ACTIVE = 'active'\nconst CLASS_NAME_SLIDE = 'slide'\nconst CLASS_NAME_END = 'carousel-item-end'\nconst CLASS_NAME_START = 'carousel-item-start'\nconst CLASS_NAME_NEXT = 'carousel-item-next'\nconst CLASS_NAME_PREV = 'carousel-item-prev'\nconst CLASS_NAME_POINTER_EVENT = 'pointer-event'\n\nconst SELECTOR_ACTIVE = '.active'\nconst SELECTOR_ACTIVE_ITEM = '.active.carousel-item'\nconst SELECTOR_ITEM = '.carousel-item'\nconst SELECTOR_ITEM_IMG = '.carousel-item img'\nconst SELECTOR_NEXT_PREV = '.carousel-item-next, .carousel-item-prev'\nconst SELECTOR_INDICATORS = '.carousel-indicators'\nconst SELECTOR_DATA_SLIDE = '[data-bs-slide], [data-bs-slide-to]'\nconst SELECTOR_DATA_RIDE = '[data-bs-ride=\"carousel\"]'\n\nconst PointerType = {\n TOUCH: 'touch',\n PEN: 'pen'\n}\n\n/**\n * ------------------------------------------------------------------------\n * Class Definition\n * ------------------------------------------------------------------------\n */\nclass Carousel extends BaseComponent {\n constructor(element, config) {\n super(element)\n\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._indicatorsElement = SelectorEngine.findOne(SELECTOR_INDICATORS, this._element)\n this._touchSupported = 'ontouchstart' in document.documentElement || navigator.maxTouchPoints > 0\n this._pointerEvent = Boolean(window.PointerEvent)\n\n this._addEventListeners()\n }\n\n // Getters\n\n static get Default() {\n return Default\n }\n\n static get DATA_KEY() {\n return DATA_KEY\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 && isVisible(this._element)) {\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 (SelectorEngine.findOne(SELECTOR_NEXT_PREV, this._element)) {\n 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 && this._config.interval && !this._isPaused) {\n this._updateInterval()\n\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 = SelectorEngine.findOne(SELECTOR_ACTIVE_ITEM, this._element)\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 EventHandler.one(this._element, 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 super.dispose()\n EventHandler.off(this._element, EVENT_KEY)\n\n this._items = null\n this._config = 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 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 this.touchDeltaX = 0\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 EventHandler.on(this._element, EVENT_KEYDOWN, event => this._keydown(event))\n }\n\n if (this._config.pause === 'hover') {\n EventHandler.on(this._element, EVENT_MOUSEENTER, event => this.pause(event))\n EventHandler.on(this._element, EVENT_MOUSELEAVE, event => this.cycle(event))\n }\n\n if (this._config.touch && this._touchSupported) {\n this._addTouchEventListeners()\n }\n }\n\n _addTouchEventListeners() {\n const start = event => {\n if (this._pointerEvent && PointerType[event.pointerType.toUpperCase()]) {\n this.touchStartX = event.clientX\n } else if (!this._pointerEvent) {\n this.touchStartX = event.touches[0].clientX\n }\n }\n\n const move = event => {\n // ensure swiping with one touch and not pinching\n if (event.touches && event.touches.length > 1) {\n this.touchDeltaX = 0\n } else {\n this.touchDeltaX = event.touches[0].clientX - this.touchStartX\n }\n }\n\n const end = event => {\n if (this._pointerEvent && PointerType[event.pointerType.toUpperCase()]) {\n this.touchDeltaX = event.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\n this.touchTimeout = setTimeout(event => this.cycle(event), TOUCHEVENT_COMPAT_WAIT + this._config.interval)\n }\n }\n\n SelectorEngine.find(SELECTOR_ITEM_IMG, this._element).forEach(itemImg => {\n EventHandler.on(itemImg, EVENT_DRAG_START, e => e.preventDefault())\n })\n\n if (this._pointerEvent) {\n EventHandler.on(this._element, EVENT_POINTERDOWN, event => start(event))\n EventHandler.on(this._element, EVENT_POINTERUP, event => end(event))\n\n this._element.classList.add(CLASS_NAME_POINTER_EVENT)\n } else {\n EventHandler.on(this._element, EVENT_TOUCHSTART, event => start(event))\n EventHandler.on(this._element, EVENT_TOUCHMOVE, event => move(event))\n EventHandler.on(this._element, 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.key) {\n case ARROW_LEFT_KEY:\n event.preventDefault()\n this.prev()\n break\n case ARROW_RIGHT_KEY:\n event.preventDefault()\n this.next()\n break\n default:\n }\n }\n\n _getItemIndex(element) {\n this._items = element && element.parentNode ?\n SelectorEngine.find(SELECTOR_ITEM, element.parentNode) :\n []\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] :\n this._items[itemIndex]\n }\n\n _triggerSlideEvent(relatedTarget, eventDirectionName) {\n const targetIndex = this._getItemIndex(relatedTarget)\n const fromIndex = this._getItemIndex(SelectorEngine.findOne(SELECTOR_ACTIVE_ITEM, this._element))\n\n return EventHandler.trigger(this._element, EVENT_SLIDE, {\n relatedTarget,\n direction: eventDirectionName,\n from: fromIndex,\n to: targetIndex\n })\n }\n\n _setActiveIndicatorElement(element) {\n if (this._indicatorsElement) {\n const indicators = SelectorEngine.find(SELECTOR_ACTIVE, this._indicatorsElement)\n\n for (let i = 0; i < indicators.length; i++) {\n indicators[i].classList.remove(CLASS_NAME_ACTIVE)\n }\n\n const nextIndicator = this._indicatorsElement.children[\n this._getItemIndex(element)\n ]\n\n if (nextIndicator) {\n nextIndicator.classList.add(CLASS_NAME_ACTIVE)\n }\n }\n }\n\n _updateInterval() {\n const element = this._activeElement || SelectorEngine.findOne(SELECTOR_ACTIVE_ITEM, this._element)\n\n if (!element) {\n return\n }\n\n const elementInterval = Number.parseInt(element.getAttribute('data-bs-interval'), 10)\n\n if (elementInterval) {\n this._config.defaultInterval = this._config.defaultInterval || this._config.interval\n this._config.interval = elementInterval\n } else {\n this._config.interval = this._config.defaultInterval || this._config.interval\n }\n }\n\n _slide(direction, element) {\n const activeElement = SelectorEngine.findOne(SELECTOR_ACTIVE_ITEM, this._element)\n const activeElementIndex = this._getItemIndex(activeElement)\n const nextElement = element || (activeElement && this._getItemByDirection(direction, activeElement))\n\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 = CLASS_NAME_START\n orderClassName = CLASS_NAME_NEXT\n eventDirectionName = DIRECTION_LEFT\n } else {\n directionalClassName = CLASS_NAME_END\n orderClassName = CLASS_NAME_PREV\n eventDirectionName = DIRECTION_RIGHT\n }\n\n if (nextElement && nextElement.classList.contains(CLASS_NAME_ACTIVE)) {\n this._isSliding = false\n return\n }\n\n const slideEvent = this._triggerSlideEvent(nextElement, eventDirectionName)\n if (slideEvent.defaultPrevented) {\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 this._activeElement = nextElement\n\n if (this._element.classList.contains(CLASS_NAME_SLIDE)) {\n nextElement.classList.add(orderClassName)\n\n reflow(nextElement)\n\n activeElement.classList.add(directionalClassName)\n nextElement.classList.add(directionalClassName)\n\n const transitionDuration = getTransitionDurationFromElement(activeElement)\n\n EventHandler.one(activeElement, TRANSITION_END, () => {\n nextElement.classList.remove(directionalClassName, orderClassName)\n nextElement.classList.add(CLASS_NAME_ACTIVE)\n\n activeElement.classList.remove(CLASS_NAME_ACTIVE, orderClassName, directionalClassName)\n\n this._isSliding = false\n\n setTimeout(() => {\n EventHandler.trigger(this._element, EVENT_SLID, {\n relatedTarget: nextElement,\n direction: eventDirectionName,\n from: activeElementIndex,\n to: nextElementIndex\n })\n }, 0)\n })\n\n emulateTransitionEnd(activeElement, transitionDuration)\n } else {\n activeElement.classList.remove(CLASS_NAME_ACTIVE)\n nextElement.classList.add(CLASS_NAME_ACTIVE)\n\n this._isSliding = false\n EventHandler.trigger(this._element, EVENT_SLID, {\n relatedTarget: nextElement,\n direction: eventDirectionName,\n from: activeElementIndex,\n to: nextElementIndex\n })\n }\n\n if (isCycling) {\n this.cycle()\n }\n }\n\n // Static\n\n static carouselInterface(element, config) {\n let data = Data.getData(element, DATA_KEY)\n let _config = {\n ...Default,\n ...Manipulator.getDataAttributes(element)\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(element, _config)\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\n data[action]()\n } else if (_config.interval && _config.ride) {\n data.pause()\n data.cycle()\n }\n }\n\n static jQueryInterface(config) {\n return this.each(function () {\n Carousel.carouselInterface(this, config)\n })\n }\n\n static dataApiClickHandler(event) {\n const target = getElementFromSelector(this)\n\n if (!target || !target.classList.contains(CLASS_NAME_CAROUSEL)) {\n return\n }\n\n const config = {\n ...Manipulator.getDataAttributes(target),\n ...Manipulator.getDataAttributes(this)\n }\n const slideIndex = this.getAttribute('data-bs-slide-to')\n\n if (slideIndex) {\n config.interval = false\n }\n\n Carousel.carouselInterface(target, config)\n\n if (slideIndex) {\n Data.getData(target, DATA_KEY).to(slideIndex)\n }\n\n event.preventDefault()\n }\n}\n\n/**\n * ------------------------------------------------------------------------\n * Data Api implementation\n * ------------------------------------------------------------------------\n */\n\nEventHandler.on(document, EVENT_CLICK_DATA_API, SELECTOR_DATA_SLIDE, Carousel.dataApiClickHandler)\n\nEventHandler.on(window, EVENT_LOAD_DATA_API, () => {\n const carousels = SelectorEngine.find(SELECTOR_DATA_RIDE)\n\n for (let i = 0, len = carousels.length; i < len; i++) {\n Carousel.carouselInterface(carousels[i], Data.getData(carousels[i], DATA_KEY))\n }\n})\n\n/**\n * ------------------------------------------------------------------------\n * jQuery\n * ------------------------------------------------------------------------\n * add .Carousel to jQuery only if jQuery is present\n */\n\nonDOMContentLoaded(() => {\n const $ = getjQuery()\n /* istanbul ignore if */\n if ($) {\n const JQUERY_NO_CONFLICT = $.fn[NAME]\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})\n\nexport default Carousel\n"],"names":["MILLISECONDS_MULTIPLIER","TRANSITION_END","toType","obj","undefined","toString","call","match","toLowerCase","getSelector","element","selector","getAttribute","hrefAttr","trim","getElementFromSelector","document","querySelector","getTransitionDurationFromElement","window","getComputedStyle","transitionDuration","transitionDelay","floatTransitionDuration","Number","parseFloat","floatTransitionDelay","split","triggerTransitionEnd","dispatchEvent","Event","isElement","nodeType","emulateTransitionEnd","duration","called","durationPadding","emulatedDuration","listener","removeEventListener","addEventListener","setTimeout","typeCheckConfig","componentName","config","configTypes","Object","keys","forEach","property","expectedTypes","value","valueType","RegExp","test","Error","toUpperCase","isVisible","style","parentNode","elementStyle","parentNodeStyle","display","visibility","reflow","offsetHeight","getjQuery","jQuery","body","hasAttribute","onDOMContentLoaded","callback","readyState","isRTL","documentElement","dir","VERSION","BaseComponent","_element","Data","setData","constructor","DATA_KEY","dispose","removeData","getInstance","getData","NAME","EVENT_KEY","DATA_API_KEY","ARROW_LEFT_KEY","ARROW_RIGHT_KEY","TOUCHEVENT_COMPAT_WAIT","SWIPE_THRESHOLD","Default","interval","keyboard","slide","pause","wrap","touch","DefaultType","DIRECTION_NEXT","DIRECTION_PREV","DIRECTION_LEFT","DIRECTION_RIGHT","EVENT_SLIDE","EVENT_SLID","EVENT_KEYDOWN","EVENT_MOUSEENTER","EVENT_MOUSELEAVE","EVENT_TOUCHSTART","EVENT_TOUCHMOVE","EVENT_TOUCHEND","EVENT_POINTERDOWN","EVENT_POINTERUP","EVENT_DRAG_START","EVENT_LOAD_DATA_API","EVENT_CLICK_DATA_API","CLASS_NAME_CAROUSEL","CLASS_NAME_ACTIVE","CLASS_NAME_SLIDE","CLASS_NAME_END","CLASS_NAME_START","CLASS_NAME_NEXT","CLASS_NAME_PREV","CLASS_NAME_POINTER_EVENT","SELECTOR_ACTIVE","SELECTOR_ACTIVE_ITEM","SELECTOR_ITEM","SELECTOR_ITEM_IMG","SELECTOR_NEXT_PREV","SELECTOR_INDICATORS","SELECTOR_DATA_SLIDE","SELECTOR_DATA_RIDE","PointerType","TOUCH","PEN","Carousel","_items","_interval","_activeElement","_isPaused","_isSliding","touchTimeout","touchStartX","touchDeltaX","_config","_getConfig","_indicatorsElement","SelectorEngine","findOne","_touchSupported","navigator","maxTouchPoints","_pointerEvent","Boolean","PointerEvent","_addEventListeners","next","_slide","nextWhenVisible","hidden","prev","event","cycle","clearInterval","_updateInterval","setInterval","visibilityState","bind","to","index","activeIndex","_getItemIndex","length","EventHandler","one","direction","off","_handleSwipe","absDeltax","Math","abs","on","_keydown","_addTouchEventListeners","start","pointerType","clientX","touches","move","end","clearTimeout","find","itemImg","e","preventDefault","classList","add","target","tagName","key","indexOf","_getItemByDirection","activeElement","isNextDirection","isPrevDirection","lastItemIndex","isGoingToWrap","delta","itemIndex","_triggerSlideEvent","relatedTarget","eventDirectionName","targetIndex","fromIndex","trigger","from","_setActiveIndicatorElement","indicators","i","remove","nextIndicator","children","elementInterval","parseInt","defaultInterval","activeElementIndex","nextElement","nextElementIndex","isCycling","directionalClassName","orderClassName","contains","slideEvent","defaultPrevented","carouselInterface","data","Manipulator","getDataAttributes","action","TypeError","ride","jQueryInterface","each","dataApiClickHandler","slideIndex","carousels","len","$","JQUERY_NO_CONFLICT","fn","Constructor","noConflict"],"mappings":"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"}
\ No newline at end of file +{"version":3,"file":"carousel.js","sources":["../src/util/index.js","../src/carousel.js"],"sourcesContent":["/**\n * --------------------------------------------------------------------------\n * Bootstrap (v5.0.0-beta3): util/index.js\n * Licensed under MIT (https://github.com/twbs/bootstrap/blob/main/LICENSE)\n * --------------------------------------------------------------------------\n */\n\nconst MAX_UID = 1000000\nconst MILLISECONDS_MULTIPLIER = 1000\nconst TRANSITION_END = 'transitionend'\n\n// Shoutout AngusCroll (https://goo.gl/pxwQGp)\nconst toType = obj => {\n if (obj === null || obj === undefined) {\n return `${obj}`\n }\n\n return {}.toString.call(obj).match(/\\s([a-z]+)/i)[1].toLowerCase()\n}\n\n/**\n * --------------------------------------------------------------------------\n * Public Util Api\n * --------------------------------------------------------------------------\n */\n\nconst getUID = prefix => {\n do {\n prefix += Math.floor(Math.random() * MAX_UID)\n } while (document.getElementById(prefix))\n\n return prefix\n}\n\nconst getSelector = element => {\n let selector = element.getAttribute('data-bs-target')\n\n if (!selector || selector === '#') {\n let hrefAttr = element.getAttribute('href')\n\n // The only valid content that could double as a selector are IDs or classes,\n // so everything starting with `#` or `.`. If a \"real\" URL is used as the selector,\n // `document.querySelector` will rightfully complain it is invalid.\n // See https://github.com/twbs/bootstrap/issues/32273\n if (!hrefAttr || (!hrefAttr.includes('#') && !hrefAttr.startsWith('.'))) {\n return null\n }\n\n // Just in case some CMS puts out a full URL with the anchor appended\n if (hrefAttr.includes('#') && !hrefAttr.startsWith('#')) {\n hrefAttr = '#' + hrefAttr.split('#')[1]\n }\n\n selector = hrefAttr && hrefAttr !== '#' ? hrefAttr.trim() : null\n }\n\n return selector\n}\n\nconst getSelectorFromElement = element => {\n const selector = getSelector(element)\n\n if (selector) {\n return document.querySelector(selector) ? selector : null\n }\n\n return null\n}\n\nconst getElementFromSelector = element => {\n const selector = getSelector(element)\n\n return selector ? document.querySelector(selector) : null\n}\n\nconst getTransitionDurationFromElement = element => {\n if (!element) {\n return 0\n }\n\n // Get transition-duration of the element\n let { transitionDuration, transitionDelay } = window.getComputedStyle(element)\n\n const floatTransitionDuration = Number.parseFloat(transitionDuration)\n const floatTransitionDelay = Number.parseFloat(transitionDelay)\n\n // Return 0 if element or transition duration is not found\n if (!floatTransitionDuration && !floatTransitionDelay) {\n return 0\n }\n\n // If multiple durations are defined, take the first\n transitionDuration = transitionDuration.split(',')[0]\n transitionDelay = transitionDelay.split(',')[0]\n\n return (Number.parseFloat(transitionDuration) + Number.parseFloat(transitionDelay)) * MILLISECONDS_MULTIPLIER\n}\n\nconst triggerTransitionEnd = element => {\n element.dispatchEvent(new Event(TRANSITION_END))\n}\n\nconst isElement = obj => (obj[0] || obj).nodeType\n\nconst emulateTransitionEnd = (element, duration) => {\n let called = false\n const durationPadding = 5\n const emulatedDuration = duration + durationPadding\n\n function listener() {\n called = true\n element.removeEventListener(TRANSITION_END, listener)\n }\n\n element.addEventListener(TRANSITION_END, listener)\n setTimeout(() => {\n if (!called) {\n triggerTransitionEnd(element)\n }\n }, emulatedDuration)\n}\n\nconst typeCheckConfig = (componentName, config, configTypes) => {\n Object.keys(configTypes).forEach(property => {\n const expectedTypes = configTypes[property]\n const value = config[property]\n const valueType = value && isElement(value) ? 'element' : toType(value)\n\n if (!new RegExp(expectedTypes).test(valueType)) {\n throw new TypeError(\n `${componentName.toUpperCase()}: ` +\n `Option \"${property}\" provided type \"${valueType}\" ` +\n `but expected type \"${expectedTypes}\".`\n )\n }\n })\n}\n\nconst isVisible = element => {\n if (!element) {\n return false\n }\n\n if (element.style && element.parentNode && element.parentNode.style) {\n const elementStyle = getComputedStyle(element)\n const parentNodeStyle = getComputedStyle(element.parentNode)\n\n return elementStyle.display !== 'none' &&\n parentNodeStyle.display !== 'none' &&\n elementStyle.visibility !== 'hidden'\n }\n\n return false\n}\n\nconst isDisabled = element => {\n if (!element || element.nodeType !== Node.ELEMENT_NODE) {\n return true\n }\n\n if (element.classList.contains('disabled')) {\n return true\n }\n\n if (typeof element.disabled !== 'undefined') {\n return element.disabled\n }\n\n return element.hasAttribute('disabled') && element.getAttribute('disabled') !== 'false'\n}\n\nconst findShadowRoot = element => {\n if (!document.documentElement.attachShadow) {\n return null\n }\n\n // Can find the shadow root otherwise it'll return the document\n if (typeof element.getRootNode === 'function') {\n const root = element.getRootNode()\n return root instanceof ShadowRoot ? root : null\n }\n\n if (element instanceof ShadowRoot) {\n return element\n }\n\n // when we don't find a shadow root\n if (!element.parentNode) {\n return null\n }\n\n return findShadowRoot(element.parentNode)\n}\n\nconst noop = () => function () {}\n\nconst reflow = element => element.offsetHeight\n\nconst getjQuery = () => {\n const { jQuery } = window\n\n if (jQuery && !document.body.hasAttribute('data-bs-no-jquery')) {\n return jQuery\n }\n\n return null\n}\n\nconst onDOMContentLoaded = callback => {\n if (document.readyState === 'loading') {\n document.addEventListener('DOMContentLoaded', callback)\n } else {\n callback()\n }\n}\n\nconst isRTL = () => document.documentElement.dir === 'rtl'\n\nconst defineJQueryPlugin = (name, plugin) => {\n onDOMContentLoaded(() => {\n const $ = getjQuery()\n /* istanbul ignore if */\n if ($) {\n const JQUERY_NO_CONFLICT = $.fn[name]\n $.fn[name] = plugin.jQueryInterface\n $.fn[name].Constructor = plugin\n $.fn[name].noConflict = () => {\n $.fn[name] = JQUERY_NO_CONFLICT\n return plugin.jQueryInterface\n }\n }\n })\n}\n\nexport {\n getUID,\n getSelectorFromElement,\n getElementFromSelector,\n getTransitionDurationFromElement,\n triggerTransitionEnd,\n isElement,\n emulateTransitionEnd,\n typeCheckConfig,\n isVisible,\n isDisabled,\n findShadowRoot,\n noop,\n reflow,\n getjQuery,\n onDOMContentLoaded,\n isRTL,\n defineJQueryPlugin\n}\n","/**\n * --------------------------------------------------------------------------\n * Bootstrap (v5.0.0-beta3): carousel.js\n * Licensed under MIT (https://github.com/twbs/bootstrap/blob/main/LICENSE)\n * --------------------------------------------------------------------------\n */\n\nimport {\n defineJQueryPlugin,\n emulateTransitionEnd,\n getElementFromSelector,\n getTransitionDurationFromElement,\n isRTL,\n isVisible,\n reflow,\n triggerTransitionEnd,\n typeCheckConfig\n} from './util/index'\nimport Data from './dom/data'\nimport EventHandler from './dom/event-handler'\nimport Manipulator from './dom/manipulator'\nimport SelectorEngine from './dom/selector-engine'\nimport BaseComponent from './base-component'\n\n/**\n * ------------------------------------------------------------------------\n * Constants\n * ------------------------------------------------------------------------\n */\n\nconst NAME = 'carousel'\nconst DATA_KEY = 'bs.carousel'\nconst EVENT_KEY = `.${DATA_KEY}`\nconst DATA_API_KEY = '.data-api'\n\nconst ARROW_LEFT_KEY = 'ArrowLeft'\nconst ARROW_RIGHT_KEY = 'ArrowRight'\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 ORDER_NEXT = 'next'\nconst ORDER_PREV = 'prev'\nconst DIRECTION_LEFT = 'left'\nconst DIRECTION_RIGHT = 'right'\n\nconst EVENT_SLIDE = `slide${EVENT_KEY}`\nconst EVENT_SLID = `slid${EVENT_KEY}`\nconst EVENT_KEYDOWN = `keydown${EVENT_KEY}`\nconst EVENT_MOUSEENTER = `mouseenter${EVENT_KEY}`\nconst EVENT_MOUSELEAVE = `mouseleave${EVENT_KEY}`\nconst EVENT_TOUCHSTART = `touchstart${EVENT_KEY}`\nconst EVENT_TOUCHMOVE = `touchmove${EVENT_KEY}`\nconst EVENT_TOUCHEND = `touchend${EVENT_KEY}`\nconst EVENT_POINTERDOWN = `pointerdown${EVENT_KEY}`\nconst EVENT_POINTERUP = `pointerup${EVENT_KEY}`\nconst EVENT_DRAG_START = `dragstart${EVENT_KEY}`\nconst EVENT_LOAD_DATA_API = `load${EVENT_KEY}${DATA_API_KEY}`\nconst EVENT_CLICK_DATA_API = `click${EVENT_KEY}${DATA_API_KEY}`\n\nconst CLASS_NAME_CAROUSEL = 'carousel'\nconst CLASS_NAME_ACTIVE = 'active'\nconst CLASS_NAME_SLIDE = 'slide'\nconst CLASS_NAME_END = 'carousel-item-end'\nconst CLASS_NAME_START = 'carousel-item-start'\nconst CLASS_NAME_NEXT = 'carousel-item-next'\nconst CLASS_NAME_PREV = 'carousel-item-prev'\nconst CLASS_NAME_POINTER_EVENT = 'pointer-event'\n\nconst SELECTOR_ACTIVE = '.active'\nconst SELECTOR_ACTIVE_ITEM = '.active.carousel-item'\nconst SELECTOR_ITEM = '.carousel-item'\nconst SELECTOR_ITEM_IMG = '.carousel-item img'\nconst SELECTOR_NEXT_PREV = '.carousel-item-next, .carousel-item-prev'\nconst SELECTOR_INDICATORS = '.carousel-indicators'\nconst SELECTOR_INDICATOR = '[data-bs-target]'\nconst SELECTOR_DATA_SLIDE = '[data-bs-slide], [data-bs-slide-to]'\nconst SELECTOR_DATA_RIDE = '[data-bs-ride=\"carousel\"]'\n\nconst POINTER_TYPE_TOUCH = 'touch'\nconst POINTER_TYPE_PEN = 'pen'\n\n/**\n * ------------------------------------------------------------------------\n * Class Definition\n * ------------------------------------------------------------------------\n */\nclass Carousel extends BaseComponent {\n constructor(element, config) {\n super(element)\n\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._indicatorsElement = SelectorEngine.findOne(SELECTOR_INDICATORS, this._element)\n this._touchSupported = 'ontouchstart' in document.documentElement || navigator.maxTouchPoints > 0\n this._pointerEvent = Boolean(window.PointerEvent)\n\n this._addEventListeners()\n }\n\n // Getters\n\n static get Default() {\n return Default\n }\n\n static get DATA_KEY() {\n return DATA_KEY\n }\n\n // Public\n\n next() {\n if (!this._isSliding) {\n this._slide(ORDER_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 && isVisible(this._element)) {\n this.next()\n }\n }\n\n prev() {\n if (!this._isSliding) {\n this._slide(ORDER_PREV)\n }\n }\n\n pause(event) {\n if (!event) {\n this._isPaused = true\n }\n\n if (SelectorEngine.findOne(SELECTOR_NEXT_PREV, this._element)) {\n 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 && this._config.interval && !this._isPaused) {\n this._updateInterval()\n\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 = SelectorEngine.findOne(SELECTOR_ACTIVE_ITEM, this._element)\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 EventHandler.one(this._element, 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 order = index > activeIndex ?\n ORDER_NEXT :\n ORDER_PREV\n\n this._slide(order, this._items[index])\n }\n\n dispose() {\n EventHandler.off(this._element, EVENT_KEY)\n\n this._items = null\n this._config = null\n this._interval = null\n this._isPaused = null\n this._isSliding = null\n this._activeElement = null\n this._indicatorsElement = null\n\n super.dispose()\n }\n\n // Private\n\n _getConfig(config) {\n config = {\n ...Default,\n ...config\n }\n 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 this.touchDeltaX = 0\n\n if (!direction) {\n return\n }\n\n this._slide(direction > 0 ? DIRECTION_RIGHT : DIRECTION_LEFT)\n }\n\n _addEventListeners() {\n if (this._config.keyboard) {\n EventHandler.on(this._element, EVENT_KEYDOWN, event => this._keydown(event))\n }\n\n if (this._config.pause === 'hover') {\n EventHandler.on(this._element, EVENT_MOUSEENTER, event => this.pause(event))\n EventHandler.on(this._element, EVENT_MOUSELEAVE, event => this.cycle(event))\n }\n\n if (this._config.touch && this._touchSupported) {\n this._addTouchEventListeners()\n }\n }\n\n _addTouchEventListeners() {\n const start = event => {\n if (this._pointerEvent && (event.pointerType === POINTER_TYPE_PEN || event.pointerType === POINTER_TYPE_TOUCH)) {\n this.touchStartX = event.clientX\n } else if (!this._pointerEvent) {\n this.touchStartX = event.touches[0].clientX\n }\n }\n\n const move = event => {\n // ensure swiping with one touch and not pinching\n this.touchDeltaX = event.touches && event.touches.length > 1 ?\n 0 :\n event.touches[0].clientX - this.touchStartX\n }\n\n const end = event => {\n if (this._pointerEvent && (event.pointerType === POINTER_TYPE_PEN || event.pointerType === POINTER_TYPE_TOUCH)) {\n this.touchDeltaX = event.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\n this.touchTimeout = setTimeout(event => this.cycle(event), TOUCHEVENT_COMPAT_WAIT + this._config.interval)\n }\n }\n\n SelectorEngine.find(SELECTOR_ITEM_IMG, this._element).forEach(itemImg => {\n EventHandler.on(itemImg, EVENT_DRAG_START, e => e.preventDefault())\n })\n\n if (this._pointerEvent) {\n EventHandler.on(this._element, EVENT_POINTERDOWN, event => start(event))\n EventHandler.on(this._element, EVENT_POINTERUP, event => end(event))\n\n this._element.classList.add(CLASS_NAME_POINTER_EVENT)\n } else {\n EventHandler.on(this._element, EVENT_TOUCHSTART, event => start(event))\n EventHandler.on(this._element, EVENT_TOUCHMOVE, event => move(event))\n EventHandler.on(this._element, 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 if (event.key === ARROW_LEFT_KEY) {\n event.preventDefault()\n this._slide(DIRECTION_LEFT)\n } else if (event.key === ARROW_RIGHT_KEY) {\n event.preventDefault()\n this._slide(DIRECTION_RIGHT)\n }\n }\n\n _getItemIndex(element) {\n this._items = element && element.parentNode ?\n SelectorEngine.find(SELECTOR_ITEM, element.parentNode) :\n []\n\n return this._items.indexOf(element)\n }\n\n _getItemByOrder(order, activeElement) {\n const isNext = order === ORDER_NEXT\n const isPrev = order === ORDER_PREV\n const activeIndex = this._getItemIndex(activeElement)\n const lastItemIndex = this._items.length - 1\n const isGoingToWrap = (isPrev && activeIndex === 0) || (isNext && activeIndex === lastItemIndex)\n\n if (isGoingToWrap && !this._config.wrap) {\n return activeElement\n }\n\n const delta = isPrev ? -1 : 1\n const itemIndex = (activeIndex + delta) % this._items.length\n\n return itemIndex === -1 ?\n this._items[this._items.length - 1] :\n this._items[itemIndex]\n }\n\n _triggerSlideEvent(relatedTarget, eventDirectionName) {\n const targetIndex = this._getItemIndex(relatedTarget)\n const fromIndex = this._getItemIndex(SelectorEngine.findOne(SELECTOR_ACTIVE_ITEM, this._element))\n\n return EventHandler.trigger(this._element, EVENT_SLIDE, {\n relatedTarget,\n direction: eventDirectionName,\n from: fromIndex,\n to: targetIndex\n })\n }\n\n _setActiveIndicatorElement(element) {\n if (this._indicatorsElement) {\n const activeIndicator = SelectorEngine.findOne(SELECTOR_ACTIVE, this._indicatorsElement)\n\n activeIndicator.classList.remove(CLASS_NAME_ACTIVE)\n activeIndicator.removeAttribute('aria-current')\n\n const indicators = SelectorEngine.find(SELECTOR_INDICATOR, this._indicatorsElement)\n\n for (let i = 0; i < indicators.length; i++) {\n if (Number.parseInt(indicators[i].getAttribute('data-bs-slide-to'), 10) === this._getItemIndex(element)) {\n indicators[i].classList.add(CLASS_NAME_ACTIVE)\n indicators[i].setAttribute('aria-current', 'true')\n break\n }\n }\n }\n }\n\n _updateInterval() {\n const element = this._activeElement || SelectorEngine.findOne(SELECTOR_ACTIVE_ITEM, this._element)\n\n if (!element) {\n return\n }\n\n const elementInterval = Number.parseInt(element.getAttribute('data-bs-interval'), 10)\n\n if (elementInterval) {\n this._config.defaultInterval = this._config.defaultInterval || this._config.interval\n this._config.interval = elementInterval\n } else {\n this._config.interval = this._config.defaultInterval || this._config.interval\n }\n }\n\n _slide(directionOrOrder, element) {\n const order = this._directionToOrder(directionOrOrder)\n const activeElement = SelectorEngine.findOne(SELECTOR_ACTIVE_ITEM, this._element)\n const activeElementIndex = this._getItemIndex(activeElement)\n const nextElement = element || this._getItemByOrder(order, activeElement)\n\n const nextElementIndex = this._getItemIndex(nextElement)\n const isCycling = Boolean(this._interval)\n\n const isNext = order === ORDER_NEXT\n const directionalClassName = isNext ? CLASS_NAME_START : CLASS_NAME_END\n const orderClassName = isNext ? CLASS_NAME_NEXT : CLASS_NAME_PREV\n const eventDirectionName = this._orderToDirection(order)\n\n if (nextElement && nextElement.classList.contains(CLASS_NAME_ACTIVE)) {\n this._isSliding = false\n return\n }\n\n const slideEvent = this._triggerSlideEvent(nextElement, eventDirectionName)\n if (slideEvent.defaultPrevented) {\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 this._activeElement = nextElement\n\n if (this._element.classList.contains(CLASS_NAME_SLIDE)) {\n nextElement.classList.add(orderClassName)\n\n reflow(nextElement)\n\n activeElement.classList.add(directionalClassName)\n nextElement.classList.add(directionalClassName)\n\n const transitionDuration = getTransitionDurationFromElement(activeElement)\n\n EventHandler.one(activeElement, 'transitionend', () => {\n nextElement.classList.remove(directionalClassName, orderClassName)\n nextElement.classList.add(CLASS_NAME_ACTIVE)\n\n activeElement.classList.remove(CLASS_NAME_ACTIVE, orderClassName, directionalClassName)\n\n this._isSliding = false\n\n setTimeout(() => {\n EventHandler.trigger(this._element, EVENT_SLID, {\n relatedTarget: nextElement,\n direction: eventDirectionName,\n from: activeElementIndex,\n to: nextElementIndex\n })\n }, 0)\n })\n\n emulateTransitionEnd(activeElement, transitionDuration)\n } else {\n activeElement.classList.remove(CLASS_NAME_ACTIVE)\n nextElement.classList.add(CLASS_NAME_ACTIVE)\n\n this._isSliding = false\n EventHandler.trigger(this._element, EVENT_SLID, {\n relatedTarget: nextElement,\n direction: eventDirectionName,\n from: activeElementIndex,\n to: nextElementIndex\n })\n }\n\n if (isCycling) {\n this.cycle()\n }\n }\n\n _directionToOrder(direction) {\n if (![DIRECTION_RIGHT, DIRECTION_LEFT].includes(direction)) {\n return direction\n }\n\n if (isRTL()) {\n return direction === DIRECTION_RIGHT ? ORDER_PREV : ORDER_NEXT\n }\n\n return direction === DIRECTION_RIGHT ? ORDER_NEXT : ORDER_PREV\n }\n\n _orderToDirection(order) {\n if (![ORDER_NEXT, ORDER_PREV].includes(order)) {\n return order\n }\n\n if (isRTL()) {\n return order === ORDER_NEXT ? DIRECTION_LEFT : DIRECTION_RIGHT\n }\n\n return order === ORDER_NEXT ? DIRECTION_RIGHT : DIRECTION_LEFT\n }\n\n // Static\n\n static carouselInterface(element, config) {\n let data = Data.get(element, DATA_KEY)\n let _config = {\n ...Default,\n ...Manipulator.getDataAttributes(element)\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(element, _config)\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\n data[action]()\n } else if (_config.interval && _config.ride) {\n data.pause()\n data.cycle()\n }\n }\n\n static jQueryInterface(config) {\n return this.each(function () {\n Carousel.carouselInterface(this, config)\n })\n }\n\n static dataApiClickHandler(event) {\n const target = getElementFromSelector(this)\n\n if (!target || !target.classList.contains(CLASS_NAME_CAROUSEL)) {\n return\n }\n\n const config = {\n ...Manipulator.getDataAttributes(target),\n ...Manipulator.getDataAttributes(this)\n }\n const slideIndex = this.getAttribute('data-bs-slide-to')\n\n if (slideIndex) {\n config.interval = false\n }\n\n Carousel.carouselInterface(target, config)\n\n if (slideIndex) {\n Data.get(target, DATA_KEY).to(slideIndex)\n }\n\n event.preventDefault()\n }\n}\n\n/**\n * ------------------------------------------------------------------------\n * Data Api implementation\n * ------------------------------------------------------------------------\n */\n\nEventHandler.on(document, EVENT_CLICK_DATA_API, SELECTOR_DATA_SLIDE, Carousel.dataApiClickHandler)\n\nEventHandler.on(window, EVENT_LOAD_DATA_API, () => {\n const carousels = SelectorEngine.find(SELECTOR_DATA_RIDE)\n\n for (let i = 0, len = carousels.length; i < len; i++) {\n Carousel.carouselInterface(carousels[i], Data.get(carousels[i], DATA_KEY))\n }\n})\n\n/**\n * ------------------------------------------------------------------------\n * jQuery\n * ------------------------------------------------------------------------\n * add .Carousel to jQuery only if jQuery is present\n */\n\ndefineJQueryPlugin(NAME, Carousel)\n\nexport default Carousel\n"],"names":["MILLISECONDS_MULTIPLIER","TRANSITION_END","toType","obj","undefined","toString","call","match","toLowerCase","getSelector","element","selector","getAttribute","hrefAttr","includes","startsWith","split","trim","getElementFromSelector","document","querySelector","getTransitionDurationFromElement","transitionDuration","transitionDelay","window","getComputedStyle","floatTransitionDuration","Number","parseFloat","floatTransitionDelay","triggerTransitionEnd","dispatchEvent","Event","isElement","nodeType","emulateTransitionEnd","duration","called","durationPadding","emulatedDuration","listener","removeEventListener","addEventListener","setTimeout","typeCheckConfig","componentName","config","configTypes","Object","keys","forEach","property","expectedTypes","value","valueType","RegExp","test","TypeError","toUpperCase","isVisible","style","parentNode","elementStyle","parentNodeStyle","display","visibility","reflow","offsetHeight","getjQuery","jQuery","body","hasAttribute","onDOMContentLoaded","callback","readyState","isRTL","documentElement","dir","defineJQueryPlugin","name","plugin","$","JQUERY_NO_CONFLICT","fn","jQueryInterface","Constructor","noConflict","NAME","DATA_KEY","EVENT_KEY","DATA_API_KEY","ARROW_LEFT_KEY","ARROW_RIGHT_KEY","TOUCHEVENT_COMPAT_WAIT","SWIPE_THRESHOLD","Default","interval","keyboard","slide","pause","wrap","touch","DefaultType","ORDER_NEXT","ORDER_PREV","DIRECTION_LEFT","DIRECTION_RIGHT","EVENT_SLIDE","EVENT_SLID","EVENT_KEYDOWN","EVENT_MOUSEENTER","EVENT_MOUSELEAVE","EVENT_TOUCHSTART","EVENT_TOUCHMOVE","EVENT_TOUCHEND","EVENT_POINTERDOWN","EVENT_POINTERUP","EVENT_DRAG_START","EVENT_LOAD_DATA_API","EVENT_CLICK_DATA_API","CLASS_NAME_CAROUSEL","CLASS_NAME_ACTIVE","CLASS_NAME_SLIDE","CLASS_NAME_END","CLASS_NAME_START","CLASS_NAME_NEXT","CLASS_NAME_PREV","CLASS_NAME_POINTER_EVENT","SELECTOR_ACTIVE","SELECTOR_ACTIVE_ITEM","SELECTOR_ITEM","SELECTOR_ITEM_IMG","SELECTOR_NEXT_PREV","SELECTOR_INDICATORS","SELECTOR_INDICATOR","SELECTOR_DATA_SLIDE","SELECTOR_DATA_RIDE","POINTER_TYPE_TOUCH","POINTER_TYPE_PEN","Carousel","BaseComponent","constructor","_items","_interval","_activeElement","_isPaused","_isSliding","touchTimeout","touchStartX","touchDeltaX","_config","_getConfig","_indicatorsElement","SelectorEngine","findOne","_element","_touchSupported","navigator","maxTouchPoints","_pointerEvent","Boolean","PointerEvent","_addEventListeners","next","_slide","nextWhenVisible","hidden","prev","event","cycle","clearInterval","_updateInterval","setInterval","visibilityState","bind","to","index","activeIndex","_getItemIndex","length","EventHandler","one","order","dispose","off","_handleSwipe","absDeltax","Math","abs","direction","on","_keydown","_addTouchEventListeners","start","pointerType","clientX","touches","move","end","clearTimeout","find","itemImg","e","preventDefault","classList","add","target","tagName","key","indexOf","_getItemByOrder","activeElement","isNext","isPrev","lastItemIndex","isGoingToWrap","delta","itemIndex","_triggerSlideEvent","relatedTarget","eventDirectionName","targetIndex","fromIndex","trigger","from","_setActiveIndicatorElement","activeIndicator","remove","removeAttribute","indicators","i","parseInt","setAttribute","elementInterval","defaultInterval","directionOrOrder","_directionToOrder","activeElementIndex","nextElement","nextElementIndex","isCycling","directionalClassName","orderClassName","_orderToDirection","contains","slideEvent","defaultPrevented","carouselInterface","data","Data","get","Manipulator","getDataAttributes","action","ride","each","dataApiClickHandler","slideIndex","carousels","len"],"mappings":"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"}
\ No newline at end of file |
