@coreui/coreui 4.1.6 → 4.2.2
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/LICENSE +2 -2
- package/README.md +62 -10
- package/dist/css/coreui-grid.css +22 -4
- package/dist/css/coreui-grid.css.map +1 -1
- package/dist/css/coreui-grid.min.css +2 -2
- package/dist/css/coreui-grid.min.css.map +1 -1
- package/dist/css/coreui-grid.rtl.css +23 -5
- package/dist/css/coreui-grid.rtl.css.map +1 -1
- package/dist/css/coreui-grid.rtl.min.css +3 -3
- package/dist/css/coreui-grid.rtl.min.css.map +1 -1
- package/dist/css/coreui-reboot.css +34 -41
- package/dist/css/coreui-reboot.css.map +1 -1
- package/dist/css/coreui-reboot.min.css +2 -2
- package/dist/css/coreui-reboot.min.css.map +1 -1
- package/dist/css/coreui-reboot.rtl.css +34 -42
- package/dist/css/coreui-reboot.rtl.css.map +1 -1
- package/dist/css/coreui-reboot.rtl.min.css +3 -3
- package/dist/css/coreui-reboot.rtl.min.css.map +1 -1
- package/dist/css/coreui-utilities.css +278 -163
- package/dist/css/coreui-utilities.css.map +1 -1
- package/dist/css/coreui-utilities.min.css +2 -2
- package/dist/css/coreui-utilities.min.css.map +1 -1
- package/dist/css/coreui-utilities.rtl.css +273 -164
- package/dist/css/coreui-utilities.rtl.css.map +1 -1
- package/dist/css/coreui-utilities.rtl.min.css +3 -3
- package/dist/css/coreui-utilities.rtl.min.css.map +1 -1
- package/dist/css/coreui.css +2177 -1240
- package/dist/css/coreui.css.map +1 -1
- package/dist/css/coreui.min.css +2 -2
- package/dist/css/coreui.min.css.map +1 -1
- package/dist/css/coreui.rtl.css +2159 -1228
- package/dist/css/coreui.rtl.css.map +1 -1
- package/dist/css/coreui.rtl.min.css +3 -3
- package/dist/css/coreui.rtl.min.css.map +1 -1
- package/dist/js/coreui.bundle.js +2095 -1906
- package/dist/js/coreui.bundle.js.map +1 -1
- package/dist/js/coreui.bundle.min.js +2 -2
- package/dist/js/coreui.bundle.min.js.map +1 -1
- package/dist/js/coreui.esm.js +2098 -1909
- package/dist/js/coreui.esm.js.map +1 -1
- package/dist/js/coreui.esm.min.js +2 -2
- package/dist/js/coreui.esm.min.js.map +1 -1
- package/dist/js/coreui.js +2099 -1910
- package/dist/js/coreui.js.map +1 -1
- package/dist/js/coreui.min.js +2 -2
- package/dist/js/coreui.min.js.map +1 -1
- package/js/dist/alert.js +10 -148
- package/js/dist/alert.js.map +1 -1
- package/js/dist/base-component.js +36 -122
- package/js/dist/base-component.js.map +1 -1
- package/js/dist/button.js +9 -76
- package/js/dist/button.js.map +1 -1
- package/js/dist/carousel.js +212 -507
- package/js/dist/carousel.js.map +1 -1
- package/js/dist/collapse.js +64 -251
- package/js/dist/collapse.js.map +1 -1
- package/js/dist/dom/data.js +2 -4
- package/js/dist/dom/data.js.map +1 -1
- package/js/dist/dom/event-handler.js +82 -133
- package/js/dist/dom/event-handler.js.map +1 -1
- package/js/dist/dom/manipulator.js +22 -26
- package/js/dist/dom/manipulator.js.map +1 -1
- package/js/dist/dom/selector-engine.js +16 -81
- package/js/dist/dom/selector-engine.js.map +1 -1
- package/js/dist/dropdown.js +99 -338
- package/js/dist/dropdown.js.map +1 -1
- package/js/dist/modal.js +106 -774
- package/js/dist/modal.js.map +1 -1
- package/js/dist/navigation.js +309 -0
- package/js/dist/navigation.js.map +1 -0
- package/js/dist/offcanvas.js +88 -680
- package/js/dist/offcanvas.js.map +1 -1
- package/js/dist/popover.js +35 -120
- package/js/dist/popover.js.map +1 -1
- package/js/dist/scrollspy.js +178 -264
- package/js/dist/scrollspy.js.map +1 -1
- package/js/dist/sidebar.js +347 -0
- package/js/dist/sidebar.js.map +1 -0
- package/js/dist/tab.js +226 -216
- package/js/dist/tab.js.map +1 -1
- package/js/dist/toast.js +27 -216
- package/js/dist/toast.js.map +1 -1
- package/js/dist/tooltip.js +271 -618
- package/js/dist/tooltip.js.map +1 -1
- package/js/dist/util/backdrop.js +166 -0
- package/js/dist/util/backdrop.js.map +1 -0
- package/js/dist/util/component-functions.js +47 -0
- package/js/dist/util/component-functions.js.map +1 -0
- package/js/dist/util/config.js +80 -0
- package/js/dist/util/config.js.map +1 -0
- package/js/dist/util/focustrap.js +130 -0
- package/js/dist/util/focustrap.js.map +1 -0
- package/js/dist/util/index.js +354 -0
- package/js/dist/util/index.js.map +1 -0
- package/js/dist/util/sanitizer.js +126 -0
- package/js/dist/util/sanitizer.js.map +1 -0
- package/js/dist/util/scrollbar.js +139 -0
- package/js/dist/util/scrollbar.js.map +1 -0
- package/js/dist/util/swipe.js +156 -0
- package/js/dist/util/swipe.js.map +1 -0
- package/js/dist/util/template-factory.js +178 -0
- package/js/dist/util/template-factory.js.map +1 -0
- package/js/src/alert.js +3 -15
- package/js/src/base-component.js +28 -18
- package/js/src/button.js +3 -15
- package/js/src/carousel.js +203 -320
- package/js/src/collapse.js +61 -94
- package/js/src/dom/data.js +1 -3
- package/js/src/dom/event-handler.js +74 -107
- package/js/src/dom/manipulator.js +22 -31
- package/js/src/dom/selector-engine.js +10 -19
- package/js/src/dropdown.js +84 -138
- package/js/src/modal.js +94 -158
- package/js/src/navigation.js +12 -13
- package/js/src/offcanvas.js +71 -60
- package/js/src/popover.js +31 -62
- package/js/src/scrollspy.js +166 -171
- package/js/src/sidebar.js +5 -8
- package/js/src/tab.js +201 -110
- package/js/src/toast.js +19 -41
- package/js/src/tooltip.js +264 -374
- package/js/src/util/backdrop.js +55 -36
- package/js/src/util/component-functions.js +1 -1
- package/js/src/util/config.js +66 -0
- package/js/src/util/focustrap.js +38 -28
- package/js/src/util/index.js +41 -57
- package/js/src/util/sanitizer.js +9 -17
- package/js/src/util/scrollbar.js +47 -30
- package/js/src/util/swipe.js +146 -0
- package/js/src/util/template-factory.js +160 -0
- package/package.json +37 -37
- package/scss/_accordion.scss +53 -25
- package/scss/_alert.scss +29 -9
- package/scss/_badge.scss +15 -6
- package/scss/_breadcrumb.scss +23 -11
- package/scss/_button-group.scss +3 -0
- package/scss/_buttons.scss +77 -50
- package/scss/_callout.scss +18 -6
- package/scss/_card.scss +55 -37
- package/scss/_carousel.scss +6 -6
- package/scss/_close.scss +4 -4
- package/scss/_containers.scss +1 -1
- package/scss/_dropdown.scss +86 -64
- package/scss/_footer.scss +15 -5
- package/scss/_functions.scss +11 -24
- package/scss/_grid.scss +3 -3
- package/scss/_header.scss +59 -34
- package/scss/_helpers.scss +1 -0
- package/scss/_images.scss +3 -3
- package/scss/_list-group.scss +47 -29
- package/scss/_maps.scss +54 -0
- package/scss/_modal.scss +70 -43
- package/scss/_nav.scss +53 -20
- package/scss/_navbar.scss +84 -94
- package/scss/_offcanvas.scss +120 -60
- package/scss/_pagination.scss +66 -21
- package/scss/_popover.scss +90 -52
- package/scss/_progress.scss +20 -9
- package/scss/_reboot.scss +31 -58
- package/scss/_root.scss +41 -19
- package/scss/_spinners.scss +37 -21
- package/scss/_subheader.scss +9 -9
- package/scss/_tables.scss +34 -36
- package/scss/_toasts.scss +35 -19
- package/scss/_tooltip.scss +61 -56
- package/scss/_utilities.scss +42 -25
- package/scss/_variables.scss +169 -148
- package/scss/coreui-grid.rtl.scss +1 -1
- package/scss/coreui-grid.scss +2 -1
- package/scss/coreui-reboot.rtl.scss +1 -1
- package/scss/coreui-reboot.scss +1 -1
- package/scss/coreui-utilities.rtl.scss +1 -1
- package/scss/coreui-utilities.scss +2 -1
- package/scss/coreui.rtl.scss +1 -1
- package/scss/coreui.scss +2 -1
- package/scss/forms/_floating-labels.scss +14 -3
- package/scss/forms/_form-check.scss +41 -18
- package/scss/forms/_form-control.scss +25 -50
- package/scss/forms/_form-range.scss +8 -8
- package/scss/forms/_form-select.scss +8 -8
- package/scss/forms/_form-text.scss +1 -1
- package/scss/forms/_input-group.scss +3 -3
- package/scss/forms/_labels.scss +2 -2
- package/scss/helpers/_color-bg.scss +10 -0
- package/scss/helpers/_colored-links.scss +2 -2
- package/scss/helpers/_position.scss +7 -1
- package/scss/helpers/_ratio.scss +2 -2
- package/scss/helpers/_vr.scss +1 -0
- package/scss/mixins/_alert.scss +10 -10
- package/scss/mixins/_breakpoints.scss +8 -8
- package/scss/mixins/_buttons.scss +45 -47
- package/scss/mixins/_container.scss +4 -2
- package/scss/mixins/_css-vars.scss +47 -47
- package/scss/mixins/_forms.scss +8 -0
- package/scss/mixins/_gradients.scss +1 -1
- package/scss/mixins/_grid.scss +11 -11
- package/scss/mixins/_list-group.scss +7 -9
- package/scss/mixins/_pagination.scss +4 -25
- package/scss/mixins/_table-variants.scss +20 -12
- package/scss/mixins/_utilities.scss +8 -3
- package/scss/sidebar/_sidebar-narrow.scss +10 -10
- package/scss/sidebar/_sidebar-nav.scss +37 -32
- package/scss/sidebar/_sidebar.scss +110 -56
package/js/dist/carousel.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"carousel.js","sources":["../src/util/index.js","../src/carousel.js"],"sourcesContent":["/**\n * --------------------------------------------------------------------------\n * CoreUI (v4.1.6): alert.js\n * Licensed under MIT (https://coreui.io/license)\n *\n * This component is a modified version of the Bootstrap's util/index.js\n * Licensed under MIT (https://github.com/twbs/bootstrap/blob/main/LICENSE)\n * --------------------------------------------------------------------------\n */\n\nconst MAX_UID = 1_000_000\nconst MILLISECONDS_MULTIPLIER = 1000\nconst TRANSITION_END = 'transitionend'\n\n// Shoutout AngusCroll (https://goo.gl/pxwQGp)\nconst toType = object => {\n if (object === null || object === undefined) {\n return `${object}`\n }\n\n return Object.prototype.toString.call(object).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-coreui-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 => {\n if (!obj || typeof obj !== 'object') {\n return false\n }\n\n if (typeof obj.jquery !== 'undefined') {\n obj = obj[0]\n }\n\n return typeof obj.nodeType !== 'undefined'\n}\n\nconst getElement = obj => {\n if (isElement(obj)) { // it's a jQuery object or a node element\n return obj.jquery ? obj[0] : obj\n }\n\n if (typeof obj === 'string' && obj.length > 0) {\n return document.querySelector(obj)\n }\n\n return null\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()}: Option \"${property}\" provided type \"${valueType}\" but expected type \"${expectedTypes}\".`\n )\n }\n })\n}\n\nconst isVisible = element => {\n if (!isElement(element) || element.getClientRects().length === 0) {\n return false\n }\n\n const elementIsVisible = getComputedStyle(element).getPropertyValue('visibility') === 'visible'\n // Handle `details` element as its content may falsie appear visible when it is closed\n const closedDetails = element.closest('details:not([open])')\n\n if (!closedDetails) {\n return elementIsVisible\n }\n\n if (closedDetails !== element) {\n const summary = element.closest('summary')\n if (summary && summary.parentNode !== closedDetails) {\n return false\n }\n\n if (summary === null) {\n return false\n }\n }\n\n return elementIsVisible\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 = () => {}\n\n/**\n * Trick to restart an element's animation\n *\n * @param {HTMLElement} element\n * @return void\n *\n * @see https://www.charistheo.io/blog/2021/02/restart-a-css-animation-with-javascript/#restarting-a-css-animation\n */\nconst reflow = element => {\n // eslint-disable-next-line no-unused-expressions\n element.offsetHeight\n}\n\nconst getjQuery = () => {\n const { jQuery } = window\n\n if (jQuery && !document.body.hasAttribute('data-coreui-no-jquery')) {\n return jQuery\n }\n\n return null\n}\n\nconst DOMContentLoadedCallbacks = []\n\nconst onDOMContentLoaded = callback => {\n if (document.readyState === 'loading') {\n // add listener on the first call when the document is in loading state\n if (!DOMContentLoadedCallbacks.length) {\n document.addEventListener('DOMContentLoaded', () => {\n DOMContentLoadedCallbacks.forEach(callback => callback())\n })\n }\n\n DOMContentLoadedCallbacks.push(callback)\n } else {\n callback()\n }\n}\n\nconst isRTL = () => document.documentElement.dir === 'rtl'\n\nconst defineJQueryPlugin = plugin => {\n onDOMContentLoaded(() => {\n const $ = getjQuery()\n /* istanbul ignore if */\n if ($) {\n const name = plugin.NAME\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\nconst execute = callback => {\n if (typeof callback === 'function') {\n callback()\n }\n}\n\nconst executeAfterTransition = (callback, transitionElement, waitForTransition = true) => {\n if (!waitForTransition) {\n execute(callback)\n return\n }\n\n const durationPadding = 5\n const emulatedDuration = getTransitionDurationFromElement(transitionElement) + durationPadding\n\n let called = false\n\n const handler = ({ target }) => {\n if (target !== transitionElement) {\n return\n }\n\n called = true\n transitionElement.removeEventListener(TRANSITION_END, handler)\n execute(callback)\n }\n\n transitionElement.addEventListener(TRANSITION_END, handler)\n setTimeout(() => {\n if (!called) {\n triggerTransitionEnd(transitionElement)\n }\n }, emulatedDuration)\n}\n\n/**\n * Return the previous/next element of a list.\n *\n * @param {array} list The list of elements\n * @param activeElement The active element\n * @param shouldGetNext Choose to get next or previous element\n * @param isCycleAllowed\n * @return {Element|elem} The proper element\n */\nconst getNextActiveElement = (list, activeElement, shouldGetNext, isCycleAllowed) => {\n let index = list.indexOf(activeElement)\n\n // if the element does not exist in the list return an element depending on the direction and if cycle is allowed\n if (index === -1) {\n return list[!shouldGetNext && isCycleAllowed ? list.length - 1 : 0]\n }\n\n const listLength = list.length\n\n index += shouldGetNext ? 1 : -1\n\n if (isCycleAllowed) {\n index = (index + listLength) % listLength\n }\n\n return list[Math.max(0, Math.min(index, listLength - 1))]\n}\n\nexport {\n getElement,\n getUID,\n getSelectorFromElement,\n getElementFromSelector,\n getTransitionDurationFromElement,\n triggerTransitionEnd,\n isElement,\n typeCheckConfig,\n isVisible,\n isDisabled,\n findShadowRoot,\n noop,\n getNextActiveElement,\n reflow,\n getjQuery,\n onDOMContentLoaded,\n isRTL,\n defineJQueryPlugin,\n execute,\n executeAfterTransition\n}\n","/**\n * --------------------------------------------------------------------------\n * CoreUI (v4.1.6): carousel.js\n * Licensed under MIT (https://coreui.io/license)\n *\n * This component is a modified version of the Bootstrap's carousel.js\n * Licensed under MIT (https://github.com/twbs/bootstrap/blob/main/LICENSE)\n * --------------------------------------------------------------------------\n */\n\nimport {\n defineJQueryPlugin,\n getElementFromSelector,\n isRTL,\n isVisible,\n getNextActiveElement,\n reflow,\n triggerTransitionEnd,\n typeCheckConfig\n} from './util/index'\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 = 'coreui.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 KEY_TO_DIRECTION = {\n [ARROW_LEFT_KEY]: DIRECTION_RIGHT,\n [ARROW_RIGHT_KEY]: DIRECTION_LEFT\n}\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-coreui-target]'\nconst SELECTOR_DATA_SLIDE = '[data-coreui-slide], [data-coreui-slide-to]'\nconst SELECTOR_DATA_RIDE = '[data-coreui-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 NAME() {\n return NAME\n }\n\n // Public\n\n next() {\n this._slide(ORDER_NEXT)\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 this._slide(ORDER_PREV)\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 // Private\n\n _getConfig(config) {\n config = {\n ...Default,\n ...Manipulator.getDataAttributes(this._element),\n ...(typeof config === 'object' ? 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 hasPointerPenTouch = event => {\n return this._pointerEvent &&\n (event.pointerType === POINTER_TYPE_PEN || event.pointerType === POINTER_TYPE_TOUCH)\n }\n\n const start = event => {\n if (hasPointerPenTouch(event)) {\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 (hasPointerPenTouch(event)) {\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, event => event.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 const direction = KEY_TO_DIRECTION[event.key]\n if (direction) {\n event.preventDefault()\n this._slide(direction)\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 return getNextActiveElement(this._items, activeElement, isNext, this._config.wrap)\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 // eslint-disable-next-line unicorn/no-for-loop\n for (let i = 0; i < indicators.length; i++) {\n if (Number.parseInt(indicators[i].getAttribute('data-coreui-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-coreui-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 if (this._isSliding) {\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 const triggerSlidEvent = () => {\n EventHandler.trigger(this._element, EVENT_SLID, {\n relatedTarget: nextElement,\n direction: eventDirectionName,\n from: activeElementIndex,\n to: nextElementIndex\n })\n }\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 completeCallBack = () => {\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(triggerSlidEvent, 0)\n }\n\n this._queueCallback(completeCallBack, activeElement, true)\n } else {\n activeElement.classList.remove(CLASS_NAME_ACTIVE)\n nextElement.classList.add(CLASS_NAME_ACTIVE)\n\n this._isSliding = false\n triggerSlidEvent()\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_LEFT ? ORDER_PREV : ORDER_NEXT\n }\n\n return direction === DIRECTION_LEFT ? 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_PREV ? DIRECTION_LEFT : DIRECTION_RIGHT\n }\n\n return order === ORDER_PREV ? DIRECTION_RIGHT : DIRECTION_LEFT\n }\n\n // Static\n\n static carouselInterface(element, config) {\n const data = Carousel.getOrCreateInstance(element, config)\n\n let { _config } = data\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 (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-coreui-slide-to')\n\n if (slideIndex) {\n config.interval = false\n }\n\n Carousel.carouselInterface(target, config)\n\n if (slideIndex) {\n Carousel.getInstance(target).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], Carousel.getInstance(carousels[i]))\n }\n})\n\n/**\n * ------------------------------------------------------------------------\n * jQuery\n * ------------------------------------------------------------------------\n * add .Carousel to jQuery only if jQuery is present\n */\n\ndefineJQueryPlugin(Carousel)\n\nexport default Carousel\n"],"names":["TRANSITION_END","toType","object","undefined","Object","prototype","toString","call","match","toLowerCase","getSelector","element","selector","getAttribute","hrefAttr","includes","startsWith","split","trim","getElementFromSelector","document","querySelector","triggerTransitionEnd","dispatchEvent","Event","isElement","obj","jquery","nodeType","typeCheckConfig","componentName","config","configTypes","keys","forEach","property","expectedTypes","value","valueType","RegExp","test","TypeError","toUpperCase","isVisible","getClientRects","length","elementIsVisible","getComputedStyle","getPropertyValue","closedDetails","closest","summary","parentNode","reflow","offsetHeight","getjQuery","jQuery","window","body","hasAttribute","DOMContentLoadedCallbacks","onDOMContentLoaded","callback","readyState","addEventListener","push","isRTL","documentElement","dir","defineJQueryPlugin","plugin","$","name","NAME","JQUERY_NO_CONFLICT","fn","jQueryInterface","Constructor","noConflict","getNextActiveElement","list","activeElement","shouldGetNext","isCycleAllowed","index","indexOf","listLength","Math","max","min","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","KEY_TO_DIRECTION","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","activeIndex","_getItemIndex","EventHandler","one","order","Manipulator","getDataAttributes","_handleSwipe","absDeltax","abs","direction","on","_keydown","_addTouchEventListeners","hasPointerPenTouch","pointerType","start","clientX","touches","move","end","clearTimeout","setTimeout","find","itemImg","preventDefault","classList","add","target","tagName","key","_getItemByOrder","isNext","_triggerSlideEvent","relatedTarget","eventDirectionName","targetIndex","fromIndex","trigger","from","_setActiveIndicatorElement","activeIndicator","remove","removeAttribute","indicators","i","Number","parseInt","setAttribute","elementInterval","defaultInterval","directionOrOrder","_directionToOrder","activeElementIndex","nextElement","nextElementIndex","isCycling","directionalClassName","orderClassName","_orderToDirection","contains","slideEvent","defaultPrevented","triggerSlidEvent","completeCallBack","_queueCallback","carouselInterface","data","getOrCreateInstance","action","ride","each","dataApiClickHandler","slideIndex","getInstance","carousels","len"],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"carousel.js","sources":["../src/carousel.js"],"sourcesContent":["/**\n * --------------------------------------------------------------------------\n * CoreUI (v4.2.2): carousel.js\n * Licensed under MIT (https://coreui.io/license)\n *\n * This component is a modified version of the Bootstrap's carousel.js\n * Licensed under MIT (https://github.com/twbs/bootstrap/blob/main/LICENSE)\n * --------------------------------------------------------------------------\n */\n\nimport {\n defineJQueryPlugin,\n getElementFromSelector,\n getNextActiveElement,\n isRTL,\n isVisible,\n reflow,\n triggerTransitionEnd\n} from './util/index'\nimport EventHandler from './dom/event-handler'\nimport Manipulator from './dom/manipulator'\nimport SelectorEngine from './dom/selector-engine'\nimport Swipe from './util/swipe'\nimport BaseComponent from './base-component'\n\n/**\n * Constants\n */\n\nconst NAME = 'carousel'\nconst DATA_KEY = 'coreui.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\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_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'\n\nconst SELECTOR_ACTIVE = '.active'\nconst SELECTOR_ITEM = '.carousel-item'\nconst SELECTOR_ACTIVE_ITEM = SELECTOR_ACTIVE + SELECTOR_ITEM\nconst SELECTOR_ITEM_IMG = '.carousel-item img'\nconst SELECTOR_INDICATORS = '.carousel-indicators'\nconst SELECTOR_DATA_SLIDE = '[data-coreui-slide], [data-coreui-slide-to]'\nconst SELECTOR_DATA_RIDE = '[data-coreui-ride=\"carousel\"]'\n\nconst KEY_TO_DIRECTION = {\n [ARROW_LEFT_KEY]: DIRECTION_RIGHT,\n [ARROW_RIGHT_KEY]: DIRECTION_LEFT\n}\n\nconst Default = {\n interval: 5000,\n keyboard: true,\n pause: 'hover',\n ride: false,\n touch: true,\n wrap: true\n}\n\nconst DefaultType = {\n interval: '(number|boolean)', // TODO:v6 remove boolean support\n keyboard: 'boolean',\n pause: '(string|boolean)',\n ride: '(boolean|string)',\n touch: 'boolean',\n wrap: 'boolean'\n}\n\n/**\n * Class definition\n */\n\nclass Carousel extends BaseComponent {\n constructor(element, config) {\n super(element, config)\n\n this._interval = null\n this._activeElement = null\n this._isSliding = false\n this.touchTimeout = null\n this._swipeHelper = null\n\n this._indicatorsElement = SelectorEngine.findOne(SELECTOR_INDICATORS, this._element)\n this._addEventListeners()\n\n if (this._config.ride === CLASS_NAME_CAROUSEL) {\n this.cycle()\n }\n }\n\n // Getters\n static get Default() {\n return Default\n }\n\n static get DefaultType() {\n return DefaultType\n }\n\n static get NAME() {\n return NAME\n }\n\n // Public\n next() {\n this._slide(ORDER_NEXT)\n }\n\n nextWhenVisible() {\n // FIXME TODO use `document.visibilityState`\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 this._slide(ORDER_PREV)\n }\n\n pause() {\n if (this._isSliding) {\n triggerTransitionEnd(this._element)\n }\n\n this._clearInterval()\n }\n\n cycle() {\n this._clearInterval()\n this._updateInterval()\n\n this._interval = setInterval(() => this.nextWhenVisible(), this._config.interval)\n }\n\n _maybeEnableCycle() {\n if (!this._config.ride) {\n return\n }\n\n if (this._isSliding) {\n EventHandler.one(this._element, EVENT_SLID, () => this.cycle())\n return\n }\n\n this.cycle()\n }\n\n to(index) {\n const items = this._getItems()\n if (index > 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 const activeIndex = this._getItemIndex(this._getActive())\n if (activeIndex === index) {\n return\n }\n\n const order = index > activeIndex ? ORDER_NEXT : ORDER_PREV\n\n this._slide(order, items[index])\n }\n\n dispose() {\n if (this._swipeHelper) {\n this._swipeHelper.dispose()\n }\n\n super.dispose()\n }\n\n // Private\n _configAfterMerge(config) {\n config.defaultInterval = config.interval\n return config\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, () => this.pause())\n EventHandler.on(this._element, EVENT_MOUSELEAVE, () => this._maybeEnableCycle())\n }\n\n if (this._config.touch && Swipe.isSupported()) {\n this._addTouchEventListeners()\n }\n }\n\n _addTouchEventListeners() {\n for (const img of SelectorEngine.find(SELECTOR_ITEM_IMG, this._element)) {\n EventHandler.on(img, EVENT_DRAG_START, event => event.preventDefault())\n }\n\n const endCallBack = () => {\n if (this._config.pause !== 'hover') {\n return\n }\n\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(() => this._maybeEnableCycle(), TOUCHEVENT_COMPAT_WAIT + this._config.interval)\n }\n\n const swipeConfig = {\n leftCallback: () => this._slide(this._directionToOrder(DIRECTION_LEFT)),\n rightCallback: () => this._slide(this._directionToOrder(DIRECTION_RIGHT)),\n endCallback: endCallBack\n }\n\n this._swipeHelper = new Swipe(this._element, swipeConfig)\n }\n\n _keydown(event) {\n if (/input|textarea/i.test(event.target.tagName)) {\n return\n }\n\n const direction = KEY_TO_DIRECTION[event.key]\n if (direction) {\n event.preventDefault()\n this._slide(this._directionToOrder(direction))\n }\n }\n\n _getItemIndex(element) {\n return this._getItems().indexOf(element)\n }\n\n _setActiveIndicatorElement(index) {\n if (!this._indicatorsElement) {\n return\n }\n\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 newActiveIndicator = SelectorEngine.findOne(`[data-coreui-slide-to=\"${index}\"]`, this._indicatorsElement)\n\n if (newActiveIndicator) {\n newActiveIndicator.classList.add(CLASS_NAME_ACTIVE)\n newActiveIndicator.setAttribute('aria-current', 'true')\n }\n }\n\n _updateInterval() {\n const element = this._activeElement || this._getActive()\n\n if (!element) {\n return\n }\n\n const elementInterval = Number.parseInt(element.getAttribute('data-coreui-interval'), 10)\n\n this._config.interval = elementInterval || this._config.defaultInterval\n }\n\n _slide(order, element = null) {\n if (this._isSliding) {\n return\n }\n\n const activeElement = this._getActive()\n const isNext = order === ORDER_NEXT\n const nextElement = element || getNextActiveElement(this._getItems(), activeElement, isNext, this._config.wrap)\n\n if (nextElement === activeElement) {\n return\n }\n\n const nextElementIndex = this._getItemIndex(nextElement)\n\n const triggerEvent = eventName => {\n return EventHandler.trigger(this._element, eventName, {\n relatedTarget: nextElement,\n direction: this._orderToDirection(order),\n from: this._getItemIndex(activeElement),\n to: nextElementIndex\n })\n }\n\n const slideEvent = triggerEvent(EVENT_SLIDE)\n\n if (slideEvent.defaultPrevented) {\n return\n }\n\n if (!activeElement || !nextElement) {\n // Some weirdness is happening, so we bail\n // todo: change tests that use empty divs to avoid this check\n return\n }\n\n const isCycling = Boolean(this._interval)\n this.pause()\n\n this._isSliding = true\n\n this._setActiveIndicatorElement(nextElementIndex)\n this._activeElement = nextElement\n\n const directionalClassName = isNext ? CLASS_NAME_START : CLASS_NAME_END\n const orderClassName = isNext ? CLASS_NAME_NEXT : CLASS_NAME_PREV\n\n nextElement.classList.add(orderClassName)\n\n reflow(nextElement)\n\n activeElement.classList.add(directionalClassName)\n nextElement.classList.add(directionalClassName)\n\n const completeCallBack = () => {\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 triggerEvent(EVENT_SLID)\n }\n\n this._queueCallback(completeCallBack, activeElement, this._isAnimated())\n\n if (isCycling) {\n this.cycle()\n }\n }\n\n _isAnimated() {\n return this._element.classList.contains(CLASS_NAME_SLIDE)\n }\n\n _getActive() {\n return SelectorEngine.findOne(SELECTOR_ACTIVE_ITEM, this._element)\n }\n\n _getItems() {\n return SelectorEngine.find(SELECTOR_ITEM, this._element)\n }\n\n _clearInterval() {\n if (this._interval) {\n clearInterval(this._interval)\n this._interval = null\n }\n }\n\n _directionToOrder(direction) {\n if (isRTL()) {\n return direction === DIRECTION_LEFT ? ORDER_PREV : ORDER_NEXT\n }\n\n return direction === DIRECTION_LEFT ? ORDER_NEXT : ORDER_PREV\n }\n\n _orderToDirection(order) {\n if (isRTL()) {\n return order === ORDER_PREV ? DIRECTION_LEFT : DIRECTION_RIGHT\n }\n\n return order === ORDER_PREV ? DIRECTION_RIGHT : DIRECTION_LEFT\n }\n\n // Static\n static jQueryInterface(config) {\n return this.each(function () {\n const data = Carousel.getOrCreateInstance(this, config)\n\n if (typeof config === 'number') {\n data.to(config)\n return\n }\n\n if (typeof config === 'string') {\n if (data[config] === undefined || config.startsWith('_') || config === 'constructor') {\n throw new TypeError(`No method named \"${config}\"`)\n }\n\n data[config]()\n }\n })\n }\n}\n\n/**\n * Data API implementation\n */\n\nEventHandler.on(document, EVENT_CLICK_DATA_API, SELECTOR_DATA_SLIDE, function (event) {\n const target = getElementFromSelector(this)\n\n if (!target || !target.classList.contains(CLASS_NAME_CAROUSEL)) {\n return\n }\n\n event.preventDefault()\n\n const carousel = Carousel.getOrCreateInstance(target)\n const slideIndex = this.getAttribute('data-coreui-slide-to')\n\n if (slideIndex) {\n carousel.to(slideIndex)\n carousel._maybeEnableCycle()\n return\n }\n\n if (Manipulator.getDataAttribute(this, 'slide') === 'next') {\n carousel.next()\n carousel._maybeEnableCycle()\n return\n }\n\n carousel.prev()\n carousel._maybeEnableCycle()\n})\n\nEventHandler.on(window, EVENT_LOAD_DATA_API, () => {\n const carousels = SelectorEngine.find(SELECTOR_DATA_RIDE)\n\n for (const carousel of carousels) {\n Carousel.getOrCreateInstance(carousel)\n }\n})\n\n/**\n * jQuery\n */\n\ndefineJQueryPlugin(Carousel)\n\nexport default Carousel\n"],"names":["NAME","DATA_KEY","EVENT_KEY","DATA_API_KEY","ARROW_LEFT_KEY","ARROW_RIGHT_KEY","TOUCHEVENT_COMPAT_WAIT","ORDER_NEXT","ORDER_PREV","DIRECTION_LEFT","DIRECTION_RIGHT","EVENT_SLIDE","EVENT_SLID","EVENT_KEYDOWN","EVENT_MOUSEENTER","EVENT_MOUSELEAVE","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","SELECTOR_ACTIVE","SELECTOR_ITEM","SELECTOR_ACTIVE_ITEM","SELECTOR_ITEM_IMG","SELECTOR_INDICATORS","SELECTOR_DATA_SLIDE","SELECTOR_DATA_RIDE","KEY_TO_DIRECTION","Default","interval","keyboard","pause","ride","touch","wrap","DefaultType","Carousel","BaseComponent","constructor","element","config","_interval","_activeElement","_isSliding","touchTimeout","_swipeHelper","_indicatorsElement","SelectorEngine","findOne","_element","_addEventListeners","_config","cycle","next","_slide","nextWhenVisible","document","hidden","isVisible","prev","triggerTransitionEnd","_clearInterval","_updateInterval","setInterval","_maybeEnableCycle","EventHandler","one","to","index","items","_getItems","length","activeIndex","_getItemIndex","_getActive","order","dispose","_configAfterMerge","defaultInterval","on","event","_keydown","Swipe","isSupported","_addTouchEventListeners","img","find","preventDefault","endCallBack","clearTimeout","setTimeout","swipeConfig","leftCallback","_directionToOrder","rightCallback","endCallback","test","target","tagName","direction","key","indexOf","_setActiveIndicatorElement","activeIndicator","classList","remove","removeAttribute","newActiveIndicator","add","setAttribute","elementInterval","Number","parseInt","getAttribute","activeElement","isNext","nextElement","getNextActiveElement","nextElementIndex","triggerEvent","eventName","trigger","relatedTarget","_orderToDirection","from","slideEvent","defaultPrevented","isCycling","Boolean","directionalClassName","orderClassName","reflow","completeCallBack","_queueCallback","_isAnimated","contains","clearInterval","isRTL","jQueryInterface","each","data","getOrCreateInstance","undefined","startsWith","TypeError","getElementFromSelector","carousel","slideIndex","Manipulator","getDataAttribute","window","carousels","defineJQueryPlugin"],"mappings":"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"}
|
package/js/dist/collapse.js
CHANGED
|
@@ -1,181 +1,23 @@
|
|
|
1
1
|
/*!
|
|
2
|
-
* CoreUI collapse.js v4.
|
|
2
|
+
* CoreUI collapse.js v4.2.2 (https://coreui.io)
|
|
3
3
|
* Copyright 2022 The CoreUI Team (https://github.com/orgs/coreui/people)
|
|
4
4
|
* Licensed under MIT (https://coreui.io)
|
|
5
5
|
*/
|
|
6
6
|
(function (global, factory) {
|
|
7
|
-
typeof exports === 'object' && typeof module !== 'undefined' ? module.exports = factory(require('./
|
|
8
|
-
typeof define === 'function' && define.amd ? define(['./
|
|
9
|
-
(global = typeof globalThis !== 'undefined' ? globalThis : global || self, global.Collapse = factory(global.
|
|
10
|
-
})(this, (function (
|
|
7
|
+
typeof exports === 'object' && typeof module !== 'undefined' ? module.exports = factory(require('./util/index'), require('./dom/event-handler'), require('./dom/selector-engine'), require('./base-component')) :
|
|
8
|
+
typeof define === 'function' && define.amd ? define(['./util/index', './dom/event-handler', './dom/selector-engine', './base-component'], factory) :
|
|
9
|
+
(global = typeof globalThis !== 'undefined' ? globalThis : global || self, global.Collapse = factory(global.Index, global.EventHandler, global.SelectorEngine, global.BaseComponent));
|
|
10
|
+
})(this, (function (index, EventHandler, SelectorEngine, BaseComponent) { 'use strict';
|
|
11
11
|
|
|
12
12
|
const _interopDefaultLegacy = e => e && typeof e === 'object' && 'default' in e ? e : { default: e };
|
|
13
13
|
|
|
14
|
-
const Data__default = /*#__PURE__*/_interopDefaultLegacy(Data);
|
|
15
14
|
const EventHandler__default = /*#__PURE__*/_interopDefaultLegacy(EventHandler);
|
|
16
|
-
const Manipulator__default = /*#__PURE__*/_interopDefaultLegacy(Manipulator);
|
|
17
15
|
const SelectorEngine__default = /*#__PURE__*/_interopDefaultLegacy(SelectorEngine);
|
|
18
16
|
const BaseComponent__default = /*#__PURE__*/_interopDefaultLegacy(BaseComponent);
|
|
19
17
|
|
|
20
18
|
/**
|
|
21
19
|
* --------------------------------------------------------------------------
|
|
22
|
-
* CoreUI (v4.
|
|
23
|
-
* Licensed under MIT (https://coreui.io/license)
|
|
24
|
-
*
|
|
25
|
-
* This component is a modified version of the Bootstrap's util/index.js
|
|
26
|
-
* Licensed under MIT (https://github.com/twbs/bootstrap/blob/main/LICENSE)
|
|
27
|
-
* --------------------------------------------------------------------------
|
|
28
|
-
*/
|
|
29
|
-
|
|
30
|
-
const toType = object => {
|
|
31
|
-
if (object === null || object === undefined) {
|
|
32
|
-
return `${object}`;
|
|
33
|
-
}
|
|
34
|
-
|
|
35
|
-
return Object.prototype.toString.call(object).match(/\s([a-z]+)/i)[1].toLowerCase();
|
|
36
|
-
};
|
|
37
|
-
|
|
38
|
-
const getSelector = element => {
|
|
39
|
-
let selector = element.getAttribute('data-coreui-target');
|
|
40
|
-
|
|
41
|
-
if (!selector || selector === '#') {
|
|
42
|
-
let hrefAttr = element.getAttribute('href'); // The only valid content that could double as a selector are IDs or classes,
|
|
43
|
-
// so everything starting with `#` or `.`. If a "real" URL is used as the selector,
|
|
44
|
-
// `document.querySelector` will rightfully complain it is invalid.
|
|
45
|
-
// See https://github.com/twbs/bootstrap/issues/32273
|
|
46
|
-
|
|
47
|
-
if (!hrefAttr || !hrefAttr.includes('#') && !hrefAttr.startsWith('.')) {
|
|
48
|
-
return null;
|
|
49
|
-
} // Just in case some CMS puts out a full URL with the anchor appended
|
|
50
|
-
|
|
51
|
-
|
|
52
|
-
if (hrefAttr.includes('#') && !hrefAttr.startsWith('#')) {
|
|
53
|
-
hrefAttr = `#${hrefAttr.split('#')[1]}`;
|
|
54
|
-
}
|
|
55
|
-
|
|
56
|
-
selector = hrefAttr && hrefAttr !== '#' ? hrefAttr.trim() : null;
|
|
57
|
-
}
|
|
58
|
-
|
|
59
|
-
return selector;
|
|
60
|
-
};
|
|
61
|
-
|
|
62
|
-
const getSelectorFromElement = element => {
|
|
63
|
-
const selector = getSelector(element);
|
|
64
|
-
|
|
65
|
-
if (selector) {
|
|
66
|
-
return document.querySelector(selector) ? selector : null;
|
|
67
|
-
}
|
|
68
|
-
|
|
69
|
-
return null;
|
|
70
|
-
};
|
|
71
|
-
|
|
72
|
-
const getElementFromSelector = element => {
|
|
73
|
-
const selector = getSelector(element);
|
|
74
|
-
return selector ? document.querySelector(selector) : null;
|
|
75
|
-
};
|
|
76
|
-
|
|
77
|
-
const isElement = obj => {
|
|
78
|
-
if (!obj || typeof obj !== 'object') {
|
|
79
|
-
return false;
|
|
80
|
-
}
|
|
81
|
-
|
|
82
|
-
if (typeof obj.jquery !== 'undefined') {
|
|
83
|
-
obj = obj[0];
|
|
84
|
-
}
|
|
85
|
-
|
|
86
|
-
return typeof obj.nodeType !== 'undefined';
|
|
87
|
-
};
|
|
88
|
-
|
|
89
|
-
const getElement = obj => {
|
|
90
|
-
if (isElement(obj)) {
|
|
91
|
-
// it's a jQuery object or a node element
|
|
92
|
-
return obj.jquery ? obj[0] : obj;
|
|
93
|
-
}
|
|
94
|
-
|
|
95
|
-
if (typeof obj === 'string' && obj.length > 0) {
|
|
96
|
-
return document.querySelector(obj);
|
|
97
|
-
}
|
|
98
|
-
|
|
99
|
-
return null;
|
|
100
|
-
};
|
|
101
|
-
|
|
102
|
-
const typeCheckConfig = (componentName, config, configTypes) => {
|
|
103
|
-
Object.keys(configTypes).forEach(property => {
|
|
104
|
-
const expectedTypes = configTypes[property];
|
|
105
|
-
const value = config[property];
|
|
106
|
-
const valueType = value && isElement(value) ? 'element' : toType(value);
|
|
107
|
-
|
|
108
|
-
if (!new RegExp(expectedTypes).test(valueType)) {
|
|
109
|
-
throw new TypeError(`${componentName.toUpperCase()}: Option "${property}" provided type "${valueType}" but expected type "${expectedTypes}".`);
|
|
110
|
-
}
|
|
111
|
-
});
|
|
112
|
-
};
|
|
113
|
-
/**
|
|
114
|
-
* Trick to restart an element's animation
|
|
115
|
-
*
|
|
116
|
-
* @param {HTMLElement} element
|
|
117
|
-
* @return void
|
|
118
|
-
*
|
|
119
|
-
* @see https://www.charistheo.io/blog/2021/02/restart-a-css-animation-with-javascript/#restarting-a-css-animation
|
|
120
|
-
*/
|
|
121
|
-
|
|
122
|
-
|
|
123
|
-
const reflow = element => {
|
|
124
|
-
// eslint-disable-next-line no-unused-expressions
|
|
125
|
-
element.offsetHeight;
|
|
126
|
-
};
|
|
127
|
-
|
|
128
|
-
const getjQuery = () => {
|
|
129
|
-
const {
|
|
130
|
-
jQuery
|
|
131
|
-
} = window;
|
|
132
|
-
|
|
133
|
-
if (jQuery && !document.body.hasAttribute('data-coreui-no-jquery')) {
|
|
134
|
-
return jQuery;
|
|
135
|
-
}
|
|
136
|
-
|
|
137
|
-
return null;
|
|
138
|
-
};
|
|
139
|
-
|
|
140
|
-
const DOMContentLoadedCallbacks = [];
|
|
141
|
-
|
|
142
|
-
const onDOMContentLoaded = callback => {
|
|
143
|
-
if (document.readyState === 'loading') {
|
|
144
|
-
// add listener on the first call when the document is in loading state
|
|
145
|
-
if (!DOMContentLoadedCallbacks.length) {
|
|
146
|
-
document.addEventListener('DOMContentLoaded', () => {
|
|
147
|
-
DOMContentLoadedCallbacks.forEach(callback => callback());
|
|
148
|
-
});
|
|
149
|
-
}
|
|
150
|
-
|
|
151
|
-
DOMContentLoadedCallbacks.push(callback);
|
|
152
|
-
} else {
|
|
153
|
-
callback();
|
|
154
|
-
}
|
|
155
|
-
};
|
|
156
|
-
|
|
157
|
-
const defineJQueryPlugin = plugin => {
|
|
158
|
-
onDOMContentLoaded(() => {
|
|
159
|
-
const $ = getjQuery();
|
|
160
|
-
/* istanbul ignore if */
|
|
161
|
-
|
|
162
|
-
if ($) {
|
|
163
|
-
const name = plugin.NAME;
|
|
164
|
-
const JQUERY_NO_CONFLICT = $.fn[name];
|
|
165
|
-
$.fn[name] = plugin.jQueryInterface;
|
|
166
|
-
$.fn[name].Constructor = plugin;
|
|
167
|
-
|
|
168
|
-
$.fn[name].noConflict = () => {
|
|
169
|
-
$.fn[name] = JQUERY_NO_CONFLICT;
|
|
170
|
-
return plugin.jQueryInterface;
|
|
171
|
-
};
|
|
172
|
-
}
|
|
173
|
-
});
|
|
174
|
-
};
|
|
175
|
-
|
|
176
|
-
/**
|
|
177
|
-
* --------------------------------------------------------------------------
|
|
178
|
-
* CoreUI (v4.1.6): collapse.js
|
|
20
|
+
* CoreUI (v4.2.2): collapse.js
|
|
179
21
|
* Licensed under MIT (https://coreui.io/license)
|
|
180
22
|
*
|
|
181
23
|
* This component is a modified version of the Bootstrap's collapse.js
|
|
@@ -183,23 +25,13 @@
|
|
|
183
25
|
* --------------------------------------------------------------------------
|
|
184
26
|
*/
|
|
185
27
|
/**
|
|
186
|
-
* ------------------------------------------------------------------------
|
|
187
28
|
* Constants
|
|
188
|
-
* ------------------------------------------------------------------------
|
|
189
29
|
*/
|
|
190
30
|
|
|
191
31
|
const NAME = 'collapse';
|
|
192
32
|
const DATA_KEY = 'coreui.collapse';
|
|
193
33
|
const EVENT_KEY = `.${DATA_KEY}`;
|
|
194
34
|
const DATA_API_KEY = '.data-api';
|
|
195
|
-
const Default = {
|
|
196
|
-
toggle: true,
|
|
197
|
-
parent: null
|
|
198
|
-
};
|
|
199
|
-
const DefaultType = {
|
|
200
|
-
toggle: 'boolean',
|
|
201
|
-
parent: '(null|element)'
|
|
202
|
-
};
|
|
203
35
|
const EVENT_SHOW = `show${EVENT_KEY}`;
|
|
204
36
|
const EVENT_SHOWN = `shown${EVENT_KEY}`;
|
|
205
37
|
const EVENT_HIDE = `hide${EVENT_KEY}`;
|
|
@@ -215,28 +47,30 @@
|
|
|
215
47
|
const HEIGHT = 'height';
|
|
216
48
|
const SELECTOR_ACTIVES = '.collapse.show, .collapse.collapsing';
|
|
217
49
|
const SELECTOR_DATA_TOGGLE = '[data-coreui-toggle="collapse"]';
|
|
50
|
+
const Default = {
|
|
51
|
+
parent: null,
|
|
52
|
+
toggle: true
|
|
53
|
+
};
|
|
54
|
+
const DefaultType = {
|
|
55
|
+
parent: '(null|element)',
|
|
56
|
+
toggle: 'boolean'
|
|
57
|
+
};
|
|
218
58
|
/**
|
|
219
|
-
*
|
|
220
|
-
* Class Definition
|
|
221
|
-
* ------------------------------------------------------------------------
|
|
59
|
+
* Class definition
|
|
222
60
|
*/
|
|
223
61
|
|
|
224
62
|
class Collapse extends BaseComponent__default.default {
|
|
225
63
|
constructor(element, config) {
|
|
226
|
-
super(element);
|
|
64
|
+
super(element, config);
|
|
227
65
|
this._isTransitioning = false;
|
|
228
|
-
this._config = this._getConfig(config);
|
|
229
66
|
this._triggerArray = [];
|
|
230
67
|
const toggleList = SelectorEngine__default.default.find(SELECTOR_DATA_TOGGLE);
|
|
231
68
|
|
|
232
|
-
for (
|
|
233
|
-
const
|
|
234
|
-
const
|
|
235
|
-
const filterElement = SelectorEngine__default.default.find(selector).filter(foundElem => foundElem === this._element);
|
|
69
|
+
for (const elem of toggleList) {
|
|
70
|
+
const selector = index.getSelectorFromElement(elem);
|
|
71
|
+
const filterElement = SelectorEngine__default.default.find(selector).filter(foundElement => foundElement === this._element);
|
|
236
72
|
|
|
237
73
|
if (selector !== null && filterElement.length) {
|
|
238
|
-
this._selector = selector;
|
|
239
|
-
|
|
240
74
|
this._triggerArray.push(elem);
|
|
241
75
|
}
|
|
242
76
|
}
|
|
@@ -257,6 +91,10 @@
|
|
|
257
91
|
return Default;
|
|
258
92
|
}
|
|
259
93
|
|
|
94
|
+
static get DefaultType() {
|
|
95
|
+
return DefaultType;
|
|
96
|
+
}
|
|
97
|
+
|
|
260
98
|
static get NAME() {
|
|
261
99
|
return NAME;
|
|
262
100
|
} // Public
|
|
@@ -275,23 +113,16 @@
|
|
|
275
113
|
return;
|
|
276
114
|
}
|
|
277
115
|
|
|
278
|
-
let
|
|
279
|
-
let activesData;
|
|
116
|
+
let activeChildren = []; // find active children
|
|
280
117
|
|
|
281
118
|
if (this._config.parent) {
|
|
282
|
-
|
|
283
|
-
|
|
119
|
+
activeChildren = this._getFirstLevelChildren(SELECTOR_ACTIVES).filter(element => element !== this._element).map(element => Collapse.getOrCreateInstance(element, {
|
|
120
|
+
toggle: false
|
|
121
|
+
}));
|
|
284
122
|
}
|
|
285
123
|
|
|
286
|
-
|
|
287
|
-
|
|
288
|
-
if (actives.length) {
|
|
289
|
-
const tempActiveData = actives.find(elem => container !== elem);
|
|
290
|
-
activesData = tempActiveData ? Collapse.getInstance(tempActiveData) : null;
|
|
291
|
-
|
|
292
|
-
if (activesData && activesData._isTransitioning) {
|
|
293
|
-
return;
|
|
294
|
-
}
|
|
124
|
+
if (activeChildren.length && activeChildren[0]._isTransitioning) {
|
|
125
|
+
return;
|
|
295
126
|
}
|
|
296
127
|
|
|
297
128
|
const startEvent = EventHandler__default.default.trigger(this._element, EVENT_SHOW);
|
|
@@ -300,17 +131,9 @@
|
|
|
300
131
|
return;
|
|
301
132
|
}
|
|
302
133
|
|
|
303
|
-
|
|
304
|
-
|
|
305
|
-
|
|
306
|
-
toggle: false
|
|
307
|
-
}).hide();
|
|
308
|
-
}
|
|
309
|
-
|
|
310
|
-
if (!activesData) {
|
|
311
|
-
Data__default.default.set(elemActive, DATA_KEY, null);
|
|
312
|
-
}
|
|
313
|
-
});
|
|
134
|
+
for (const activeInstance of activeChildren) {
|
|
135
|
+
activeInstance.hide();
|
|
136
|
+
}
|
|
314
137
|
|
|
315
138
|
const dimension = this._getDimension();
|
|
316
139
|
|
|
@@ -357,19 +180,16 @@
|
|
|
357
180
|
const dimension = this._getDimension();
|
|
358
181
|
|
|
359
182
|
this._element.style[dimension] = `${this._element.getBoundingClientRect()[dimension]}px`;
|
|
360
|
-
reflow(this._element);
|
|
183
|
+
index.reflow(this._element);
|
|
361
184
|
|
|
362
185
|
this._element.classList.add(CLASS_NAME_COLLAPSING);
|
|
363
186
|
|
|
364
187
|
this._element.classList.remove(CLASS_NAME_COLLAPSE, CLASS_NAME_SHOW);
|
|
365
188
|
|
|
366
|
-
const
|
|
367
|
-
|
|
368
|
-
for (let i = 0; i < triggerArrayLength; i++) {
|
|
369
|
-
const trigger = this._triggerArray[i];
|
|
370
|
-
const elem = getElementFromSelector(trigger);
|
|
189
|
+
for (const trigger of this._triggerArray) {
|
|
190
|
+
const element = index.getElementFromSelector(trigger);
|
|
371
191
|
|
|
372
|
-
if (
|
|
192
|
+
if (element && !this._isShown(element)) {
|
|
373
193
|
this._addAriaAndCollapsedClass([trigger], false);
|
|
374
194
|
}
|
|
375
195
|
}
|
|
@@ -396,15 +216,10 @@
|
|
|
396
216
|
} // Private
|
|
397
217
|
|
|
398
218
|
|
|
399
|
-
|
|
400
|
-
config = { ...Default,
|
|
401
|
-
...Manipulator__default.default.getDataAttributes(this._element),
|
|
402
|
-
...config
|
|
403
|
-
};
|
|
219
|
+
_configAfterMerge(config) {
|
|
404
220
|
config.toggle = Boolean(config.toggle); // Coerce string values
|
|
405
221
|
|
|
406
|
-
config.parent = getElement(config.parent);
|
|
407
|
-
typeCheckConfig(NAME, config, DefaultType);
|
|
222
|
+
config.parent = index.getElement(config.parent);
|
|
408
223
|
return config;
|
|
409
224
|
}
|
|
410
225
|
|
|
@@ -417,14 +232,21 @@
|
|
|
417
232
|
return;
|
|
418
233
|
}
|
|
419
234
|
|
|
420
|
-
const children =
|
|
421
|
-
|
|
422
|
-
|
|
235
|
+
const children = this._getFirstLevelChildren(SELECTOR_DATA_TOGGLE);
|
|
236
|
+
|
|
237
|
+
for (const element of children) {
|
|
238
|
+
const selected = index.getElementFromSelector(element);
|
|
423
239
|
|
|
424
240
|
if (selected) {
|
|
425
241
|
this._addAriaAndCollapsedClass([element], this._isShown(selected));
|
|
426
242
|
}
|
|
427
|
-
}
|
|
243
|
+
}
|
|
244
|
+
}
|
|
245
|
+
|
|
246
|
+
_getFirstLevelChildren(selector) {
|
|
247
|
+
const children = SelectorEngine__default.default.find(CLASS_NAME_DEEPER_CHILDREN, this._config.parent); // remove children if greater depth
|
|
248
|
+
|
|
249
|
+
return SelectorEngine__default.default.find(selector, this._config.parent).filter(element => !children.includes(element));
|
|
428
250
|
}
|
|
429
251
|
|
|
430
252
|
_addAriaAndCollapsedClass(triggerArray, isOpen) {
|
|
@@ -432,26 +254,21 @@
|
|
|
432
254
|
return;
|
|
433
255
|
}
|
|
434
256
|
|
|
435
|
-
|
|
436
|
-
|
|
437
|
-
|
|
438
|
-
|
|
439
|
-
elem.classList.add(CLASS_NAME_COLLAPSED);
|
|
440
|
-
}
|
|
441
|
-
|
|
442
|
-
elem.setAttribute('aria-expanded', isOpen);
|
|
443
|
-
});
|
|
257
|
+
for (const element of triggerArray) {
|
|
258
|
+
element.classList.toggle(CLASS_NAME_COLLAPSED, !isOpen);
|
|
259
|
+
element.setAttribute('aria-expanded', isOpen);
|
|
260
|
+
}
|
|
444
261
|
} // Static
|
|
445
262
|
|
|
446
263
|
|
|
447
264
|
static jQueryInterface(config) {
|
|
448
|
-
|
|
449
|
-
const _config = {};
|
|
265
|
+
const _config = {};
|
|
450
266
|
|
|
451
|
-
|
|
452
|
-
|
|
453
|
-
|
|
267
|
+
if (typeof config === 'string' && /show|hide/.test(config)) {
|
|
268
|
+
_config.toggle = false;
|
|
269
|
+
}
|
|
454
270
|
|
|
271
|
+
return this.each(function () {
|
|
455
272
|
const data = Collapse.getOrCreateInstance(this, _config);
|
|
456
273
|
|
|
457
274
|
if (typeof config === 'string') {
|
|
@@ -466,9 +283,7 @@
|
|
|
466
283
|
|
|
467
284
|
}
|
|
468
285
|
/**
|
|
469
|
-
*
|
|
470
|
-
* Data Api implementation
|
|
471
|
-
* ------------------------------------------------------------------------
|
|
286
|
+
* Data API implementation
|
|
472
287
|
*/
|
|
473
288
|
|
|
474
289
|
|
|
@@ -478,22 +293,20 @@
|
|
|
478
293
|
event.preventDefault();
|
|
479
294
|
}
|
|
480
295
|
|
|
481
|
-
const selector = getSelectorFromElement(this);
|
|
296
|
+
const selector = index.getSelectorFromElement(this);
|
|
482
297
|
const selectorElements = SelectorEngine__default.default.find(selector);
|
|
483
|
-
|
|
298
|
+
|
|
299
|
+
for (const element of selectorElements) {
|
|
484
300
|
Collapse.getOrCreateInstance(element, {
|
|
485
301
|
toggle: false
|
|
486
302
|
}).toggle();
|
|
487
|
-
}
|
|
303
|
+
}
|
|
488
304
|
});
|
|
489
305
|
/**
|
|
490
|
-
* ------------------------------------------------------------------------
|
|
491
306
|
* jQuery
|
|
492
|
-
* ------------------------------------------------------------------------
|
|
493
|
-
* add .Collapse to jQuery only if jQuery is present
|
|
494
307
|
*/
|
|
495
308
|
|
|
496
|
-
defineJQueryPlugin(Collapse);
|
|
309
|
+
index.defineJQueryPlugin(Collapse);
|
|
497
310
|
|
|
498
311
|
return Collapse;
|
|
499
312
|
|