@coreui/coreui 4.1.5 → 4.2.1
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 +64 -11
- package/dist/css/coreui-grid.css +23 -949
- package/dist/css/coreui-grid.css.map +1 -1
- package/dist/css/coreui-grid.min.css +3 -3
- package/dist/css/coreui-grid.min.css.map +1 -1
- package/dist/css/coreui-grid.rtl.css +25 -951
- package/dist/css/coreui-grid.rtl.css.map +1 -1
- package/dist/css/coreui-grid.rtl.min.css +5 -5
- package/dist/css/coreui-grid.rtl.min.css.map +1 -1
- package/dist/css/coreui-reboot.css +35 -42
- package/dist/css/coreui-reboot.css.map +1 -1
- package/dist/css/coreui-reboot.min.css +3 -3
- package/dist/css/coreui-reboot.min.css.map +1 -1
- package/dist/css/coreui-reboot.rtl.css +36 -44
- package/dist/css/coreui-reboot.rtl.css.map +1 -1
- package/dist/css/coreui-reboot.rtl.min.css +5 -5
- package/dist/css/coreui-reboot.rtl.min.css.map +1 -1
- package/dist/css/coreui-utilities.css +279 -951
- package/dist/css/coreui-utilities.css.map +1 -1
- package/dist/css/coreui-utilities.min.css +3 -3
- package/dist/css/coreui-utilities.min.css.map +1 -1
- package/dist/css/coreui-utilities.rtl.css +275 -953
- package/dist/css/coreui-utilities.rtl.css.map +1 -1
- package/dist/css/coreui-utilities.rtl.min.css +5 -5
- package/dist/css/coreui-utilities.rtl.min.css.map +1 -1
- package/dist/css/coreui.css +2179 -2259
- package/dist/css/coreui.css.map +1 -1
- package/dist/css/coreui.min.css +3 -3
- package/dist/css/coreui.min.css.map +1 -1
- package/dist/css/coreui.rtl.css +2166 -2253
- package/dist/css/coreui.rtl.css.map +1 -1
- package/dist/css/coreui.rtl.min.css +5 -5
- 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 +40 -40
- 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 -21
- 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 -27
- package/scss/_variables.scss +169 -148
- package/scss/coreui-grid.rtl.scss +2 -2
- package/scss/coreui-grid.scss +3 -2
- package/scss/coreui-reboot.rtl.scss +2 -2
- package/scss/coreui-reboot.scss +2 -2
- package/scss/coreui-utilities.rtl.scss +2 -2
- package/scss/coreui-utilities.scss +3 -2
- package/scss/coreui.rtl.scss +2 -2
- package/scss/coreui.scss +3 -2
- package/scss/forms/_floating-labels.scss +14 -3
- package/scss/forms/_form-check.scss +42 -19
- 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 +33 -32
- package/scss/sidebar/_sidebar.scss +110 -56
package/js/dist/tab.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"tab.js","sources":["../src/util/index.js","../src/tab.js"],"sourcesContent":["/**\n * --------------------------------------------------------------------------\n * CoreUI (v4.1.5): 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.5): tab.js\n * Licensed under MIT (https://coreui.io/license)\n *\n * This component is a modified version of the Bootstrap's tab.js\n * Licensed under MIT (https://github.com/twbs/bootstrap/blob/main/LICENSE)\n * --------------------------------------------------------------------------\n */\n\nimport {\n defineJQueryPlugin,\n getElementFromSelector,\n isDisabled,\n reflow\n} from './util/index'\nimport EventHandler from './dom/event-handler'\nimport SelectorEngine from './dom/selector-engine'\nimport BaseComponent from './base-component'\n\n/**\n * ------------------------------------------------------------------------\n * Constants\n * ------------------------------------------------------------------------\n */\n\nconst NAME = 'tab'\nconst DATA_KEY = 'coreui.tab'\nconst EVENT_KEY = `.${DATA_KEY}`\nconst DATA_API_KEY = '.data-api'\n\nconst EVENT_HIDE = `hide${EVENT_KEY}`\nconst EVENT_HIDDEN = `hidden${EVENT_KEY}`\nconst EVENT_SHOW = `show${EVENT_KEY}`\nconst EVENT_SHOWN = `shown${EVENT_KEY}`\nconst EVENT_CLICK_DATA_API = `click${EVENT_KEY}${DATA_API_KEY}`\n\nconst CLASS_NAME_DROPDOWN_MENU = 'dropdown-menu'\nconst CLASS_NAME_ACTIVE = 'active'\nconst CLASS_NAME_FADE = 'fade'\nconst CLASS_NAME_SHOW = 'show'\n\nconst SELECTOR_DROPDOWN = '.dropdown'\nconst SELECTOR_NAV_LIST_GROUP = '.nav, .list-group'\nconst SELECTOR_ACTIVE = '.active'\nconst SELECTOR_ACTIVE_UL = ':scope > li > .active'\nconst SELECTOR_DATA_TOGGLE = '[data-coreui-toggle=\"tab\"], [data-coreui-toggle=\"pill\"], [data-coreui-toggle=\"list\"]'\nconst SELECTOR_DROPDOWN_TOGGLE = '.dropdown-toggle'\nconst SELECTOR_DROPDOWN_ACTIVE_CHILD = ':scope > .dropdown-menu .active'\n\n/**\n * ------------------------------------------------------------------------\n * Class Definition\n * ------------------------------------------------------------------------\n */\n\nclass Tab extends BaseComponent {\n // Getters\n\n static get NAME() {\n return NAME\n }\n\n // Public\n\n show() {\n if ((this._element.parentNode &&\n this._element.parentNode.nodeType === Node.ELEMENT_NODE &&\n this._element.classList.contains(CLASS_NAME_ACTIVE))) {\n return\n }\n\n let previous\n const target = getElementFromSelector(this._element)\n const listElement = this._element.closest(SELECTOR_NAV_LIST_GROUP)\n\n if (listElement) {\n const itemSelector = listElement.nodeName === 'UL' || listElement.nodeName === 'OL' ? SELECTOR_ACTIVE_UL : SELECTOR_ACTIVE\n previous = SelectorEngine.find(itemSelector, listElement)\n previous = previous[previous.length - 1]\n }\n\n const hideEvent = previous ?\n EventHandler.trigger(previous, EVENT_HIDE, {\n relatedTarget: this._element\n }) :\n null\n\n const showEvent = EventHandler.trigger(this._element, EVENT_SHOW, {\n relatedTarget: previous\n })\n\n if (showEvent.defaultPrevented || (hideEvent !== null && hideEvent.defaultPrevented)) {\n return\n }\n\n this._activate(this._element, listElement)\n\n const complete = () => {\n EventHandler.trigger(previous, EVENT_HIDDEN, {\n relatedTarget: this._element\n })\n EventHandler.trigger(this._element, EVENT_SHOWN, {\n relatedTarget: previous\n })\n }\n\n if (target) {\n this._activate(target, target.parentNode, complete)\n } else {\n complete()\n }\n }\n\n // Private\n\n _activate(element, container, callback) {\n const activeElements = container && (container.nodeName === 'UL' || container.nodeName === 'OL') ?\n SelectorEngine.find(SELECTOR_ACTIVE_UL, container) :\n SelectorEngine.children(container, SELECTOR_ACTIVE)\n\n const active = activeElements[0]\n const isTransitioning = callback && (active && active.classList.contains(CLASS_NAME_FADE))\n\n const complete = () => this._transitionComplete(element, active, callback)\n\n if (active && isTransitioning) {\n active.classList.remove(CLASS_NAME_SHOW)\n this._queueCallback(complete, element, true)\n } else {\n complete()\n }\n }\n\n _transitionComplete(element, active, callback) {\n if (active) {\n active.classList.remove(CLASS_NAME_ACTIVE)\n\n const dropdownChild = SelectorEngine.findOne(SELECTOR_DROPDOWN_ACTIVE_CHILD, active.parentNode)\n\n if (dropdownChild) {\n dropdownChild.classList.remove(CLASS_NAME_ACTIVE)\n }\n\n if (active.getAttribute('role') === 'tab') {\n active.setAttribute('aria-selected', false)\n }\n }\n\n element.classList.add(CLASS_NAME_ACTIVE)\n if (element.getAttribute('role') === 'tab') {\n element.setAttribute('aria-selected', true)\n }\n\n reflow(element)\n\n if (element.classList.contains(CLASS_NAME_FADE)) {\n element.classList.add(CLASS_NAME_SHOW)\n }\n\n let parent = element.parentNode\n if (parent && parent.nodeName === 'LI') {\n parent = parent.parentNode\n }\n\n if (parent && parent.classList.contains(CLASS_NAME_DROPDOWN_MENU)) {\n const dropdownElement = element.closest(SELECTOR_DROPDOWN)\n\n if (dropdownElement) {\n SelectorEngine.find(SELECTOR_DROPDOWN_TOGGLE, dropdownElement)\n .forEach(dropdown => dropdown.classList.add(CLASS_NAME_ACTIVE))\n }\n\n element.setAttribute('aria-expanded', true)\n }\n\n if (callback) {\n callback()\n }\n }\n\n // Static\n\n static jQueryInterface(config) {\n return this.each(function () {\n const data = Tab.getOrCreateInstance(this)\n\n if (typeof config === 'string') {\n if (typeof data[config] === 'undefined') {\n throw new TypeError(`No method named \"${config}\"`)\n }\n\n data[config]()\n }\n })\n }\n}\n\n/**\n * ------------------------------------------------------------------------\n * Data Api implementation\n * ------------------------------------------------------------------------\n */\n\nEventHandler.on(document, EVENT_CLICK_DATA_API, SELECTOR_DATA_TOGGLE, function (event) {\n if (['A', 'AREA'].includes(this.tagName)) {\n event.preventDefault()\n }\n\n if (isDisabled(this)) {\n return\n }\n\n const data = Tab.getOrCreateInstance(this)\n data.show()\n})\n\n/**\n * ------------------------------------------------------------------------\n * jQuery\n * ------------------------------------------------------------------------\n * add .Tab to jQuery only if jQuery is present\n */\n\ndefineJQueryPlugin(Tab)\n\nexport default Tab\n"],"names":["getSelector","element","selector","getAttribute","hrefAttr","includes","startsWith","split","trim","getElementFromSelector","document","querySelector","isDisabled","nodeType","Node","ELEMENT_NODE","classList","contains","disabled","hasAttribute","reflow","offsetHeight","getjQuery","jQuery","window","body","DOMContentLoadedCallbacks","onDOMContentLoaded","callback","readyState","length","addEventListener","forEach","push","defineJQueryPlugin","plugin","$","name","NAME","JQUERY_NO_CONFLICT","fn","jQueryInterface","Constructor","noConflict","DATA_KEY","EVENT_KEY","DATA_API_KEY","EVENT_HIDE","EVENT_HIDDEN","EVENT_SHOW","EVENT_SHOWN","EVENT_CLICK_DATA_API","CLASS_NAME_DROPDOWN_MENU","CLASS_NAME_ACTIVE","CLASS_NAME_FADE","CLASS_NAME_SHOW","SELECTOR_DROPDOWN","SELECTOR_NAV_LIST_GROUP","SELECTOR_ACTIVE","SELECTOR_ACTIVE_UL","SELECTOR_DATA_TOGGLE","SELECTOR_DROPDOWN_TOGGLE","SELECTOR_DROPDOWN_ACTIVE_CHILD","Tab","BaseComponent","show","_element","parentNode","previous","target","listElement","closest","itemSelector","nodeName","SelectorEngine","find","hideEvent","EventHandler","trigger","relatedTarget","showEvent","defaultPrevented","_activate","complete","container","activeElements","children","active","isTransitioning","_transitionComplete","remove","_queueCallback","dropdownChild","findOne","setAttribute","add","parent","dropdownElement","dropdown","config","each","data","getOrCreateInstance","TypeError","on","event","tagName","preventDefault"],"mappings":";;;;;;;;;;;;;;;;;EAAA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;;EA6BA,MAAMA,WAAW,GAAGC,OAAO,IAAI;EAC7B,EAAA,IAAIC,QAAQ,GAAGD,OAAO,CAACE,YAAR,CAAqB,oBAArB,CAAf,CAAA;;EAEA,EAAA,IAAI,CAACD,QAAD,IAAaA,QAAQ,KAAK,GAA9B,EAAmC;MACjC,IAAIE,QAAQ,GAAGH,OAAO,CAACE,YAAR,CAAqB,MAArB,CAAf,CADiC;EAIjC;EACA;EACA;;EACA,IAAA,IAAI,CAACC,QAAD,IAAc,CAACA,QAAQ,CAACC,QAAT,CAAkB,GAAlB,CAAD,IAA2B,CAACD,QAAQ,CAACE,UAAT,CAAoB,GAApB,CAA9C,EAAyE;EACvE,MAAA,OAAO,IAAP,CAAA;EACD,KATgC;;;EAYjC,IAAA,IAAIF,QAAQ,CAACC,QAAT,CAAkB,GAAlB,CAAA,IAA0B,CAACD,QAAQ,CAACE,UAAT,CAAoB,GAApB,CAA/B,EAAyD;QACvDF,QAAQ,GAAI,CAAGA,CAAAA,EAAAA,QAAQ,CAACG,KAAT,CAAe,GAAf,CAAA,CAAoB,CAApB,CAAuB,CAAtC,CAAA,CAAA;EACD,KAAA;;EAEDL,IAAAA,QAAQ,GAAGE,QAAQ,IAAIA,QAAQ,KAAK,GAAzB,GAA+BA,QAAQ,CAACI,IAAT,EAA/B,GAAiD,IAA5D,CAAA;EACD,GAAA;;EAED,EAAA,OAAON,QAAP,CAAA;EACD,CAvBD,CAAA;;EAmCA,MAAMO,sBAAsB,GAAGR,OAAO,IAAI;EACxC,EAAA,MAAMC,QAAQ,GAAGF,WAAW,CAACC,OAAD,CAA5B,CAAA;IAEA,OAAOC,QAAQ,GAAGQ,QAAQ,CAACC,aAAT,CAAuBT,QAAvB,CAAH,GAAsC,IAArD,CAAA;EACD,CAJD,CAAA;;EAkGA,MAAMU,UAAU,GAAGX,OAAO,IAAI;IAC5B,IAAI,CAACA,OAAD,IAAYA,OAAO,CAACY,QAAR,KAAqBC,IAAI,CAACC,YAA1C,EAAwD;EACtD,IAAA,OAAO,IAAP,CAAA;EACD,GAAA;;IAED,IAAId,OAAO,CAACe,SAAR,CAAkBC,QAAlB,CAA2B,UAA3B,CAAJ,EAA4C;EAC1C,IAAA,OAAO,IAAP,CAAA;EACD,GAAA;;EAED,EAAA,IAAI,OAAOhB,OAAO,CAACiB,QAAf,KAA4B,WAAhC,EAA6C;MAC3C,OAAOjB,OAAO,CAACiB,QAAf,CAAA;EACD,GAAA;;EAED,EAAA,OAAOjB,OAAO,CAACkB,YAAR,CAAqB,UAArB,CAAA,IAAoClB,OAAO,CAACE,YAAR,CAAqB,UAArB,CAAA,KAAqC,OAAhF,CAAA;EACD,CAdD,CAAA;EAyCA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;;;EACA,MAAMiB,MAAM,GAAGnB,OAAO,IAAI;EACxB;EACAA,EAAAA,OAAO,CAACoB,YAAR,CAAA;EACD,CAHD,CAAA;;EAKA,MAAMC,SAAS,GAAG,MAAM;IACtB,MAAM;EAAEC,IAAAA,MAAAA;EAAF,GAAA,GAAaC,MAAnB,CAAA;;IAEA,IAAID,MAAM,IAAI,CAACb,QAAQ,CAACe,IAAT,CAAcN,YAAd,CAA2B,uBAA3B,CAAf,EAAoE;EAClE,IAAA,OAAOI,MAAP,CAAA;EACD,GAAA;;EAED,EAAA,OAAO,IAAP,CAAA;EACD,CARD,CAAA;;EAUA,MAAMG,yBAAyB,GAAG,EAAlC,CAAA;;EAEA,MAAMC,kBAAkB,GAAGC,QAAQ,IAAI;EACrC,EAAA,IAAIlB,QAAQ,CAACmB,UAAT,KAAwB,SAA5B,EAAuC;EACrC;EACA,IAAA,IAAI,CAACH,yBAAyB,CAACI,MAA/B,EAAuC;EACrCpB,MAAAA,QAAQ,CAACqB,gBAAT,CAA0B,kBAA1B,EAA8C,MAAM;EAClDL,QAAAA,yBAAyB,CAACM,OAA1B,CAAkCJ,QAAQ,IAAIA,QAAQ,EAAtD,CAAA,CAAA;SADF,CAAA,CAAA;EAGD,KAAA;;MAEDF,yBAAyB,CAACO,IAA1B,CAA+BL,QAA/B,CAAA,CAAA;EACD,GATD,MASO;MACLA,QAAQ,EAAA,CAAA;EACT,GAAA;EACF,CAbD,CAAA;;EAiBA,MAAMM,kBAAkB,GAAGC,MAAM,IAAI;EACnCR,EAAAA,kBAAkB,CAAC,MAAM;MACvB,MAAMS,CAAC,GAAGd,SAAS,EAAnB,CAAA;EACA;;EACA,IAAA,IAAIc,CAAJ,EAAO;EACL,MAAA,MAAMC,IAAI,GAAGF,MAAM,CAACG,IAApB,CAAA;EACA,MAAA,MAAMC,kBAAkB,GAAGH,CAAC,CAACI,EAAF,CAAKH,IAAL,CAA3B,CAAA;EACAD,MAAAA,CAAC,CAACI,EAAF,CAAKH,IAAL,CAAaF,GAAAA,MAAM,CAACM,eAApB,CAAA;EACAL,MAAAA,CAAC,CAACI,EAAF,CAAKH,IAAL,CAAWK,CAAAA,WAAX,GAAyBP,MAAzB,CAAA;;EACAC,MAAAA,CAAC,CAACI,EAAF,CAAKH,IAAL,CAAWM,CAAAA,UAAX,GAAwB,MAAM;EAC5BP,QAAAA,CAAC,CAACI,EAAF,CAAKH,IAAL,IAAaE,kBAAb,CAAA;UACA,OAAOJ,MAAM,CAACM,eAAd,CAAA;SAFF,CAAA;EAID,KAAA;EACF,GAbiB,CAAlB,CAAA;EAcD,CAfD;;EC7PA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EAYA;EACA;EACA;EACA;EACA;;EAEA,MAAMH,IAAI,GAAG,KAAb,CAAA;EACA,MAAMM,QAAQ,GAAG,YAAjB,CAAA;EACA,MAAMC,SAAS,GAAI,CAAGD,CAAAA,EAAAA,QAAS,CAA/B,CAAA,CAAA;EACA,MAAME,YAAY,GAAG,WAArB,CAAA;EAEA,MAAMC,UAAU,GAAI,CAAMF,IAAAA,EAAAA,SAAU,CAApC,CAAA,CAAA;EACA,MAAMG,YAAY,GAAI,CAAQH,MAAAA,EAAAA,SAAU,CAAxC,CAAA,CAAA;EACA,MAAMI,UAAU,GAAI,CAAMJ,IAAAA,EAAAA,SAAU,CAApC,CAAA,CAAA;EACA,MAAMK,WAAW,GAAI,CAAOL,KAAAA,EAAAA,SAAU,CAAtC,CAAA,CAAA;EACA,MAAMM,oBAAoB,GAAI,CAAA,KAAA,EAAON,SAAU,CAAA,EAAEC,YAAa,CAA9D,CAAA,CAAA;EAEA,MAAMM,wBAAwB,GAAG,eAAjC,CAAA;EACA,MAAMC,iBAAiB,GAAG,QAA1B,CAAA;EACA,MAAMC,eAAe,GAAG,MAAxB,CAAA;EACA,MAAMC,eAAe,GAAG,MAAxB,CAAA;EAEA,MAAMC,iBAAiB,GAAG,WAA1B,CAAA;EACA,MAAMC,uBAAuB,GAAG,mBAAhC,CAAA;EACA,MAAMC,eAAe,GAAG,SAAxB,CAAA;EACA,MAAMC,kBAAkB,GAAG,uBAA3B,CAAA;EACA,MAAMC,oBAAoB,GAAG,sFAA7B,CAAA;EACA,MAAMC,wBAAwB,GAAG,kBAAjC,CAAA;EACA,MAAMC,8BAA8B,GAAG,iCAAvC,CAAA;EAEA;EACA;EACA;EACA;EACA;;EAEA,MAAMC,GAAN,SAAkBC,8BAAlB,CAAgC;EAC9B;EAEe,EAAA,WAAJ1B,IAAI,GAAG;EAChB,IAAA,OAAOA,IAAP,CAAA;EACD,GAL6B;;;EAS9B2B,EAAAA,IAAI,GAAG;MACL,IAAK,IAAA,CAAKC,QAAL,CAAcC,UAAd,IACH,KAAKD,QAAL,CAAcC,UAAd,CAAyBtD,QAAzB,KAAsCC,IAAI,CAACC,YADxC,IAEH,IAAA,CAAKmD,QAAL,CAAclD,SAAd,CAAwBC,QAAxB,CAAiCoC,iBAAjC,CAFF,EAEwD;EACtD,MAAA,OAAA;EACD,KAAA;;EAED,IAAA,IAAIe,QAAJ,CAAA;EACA,IAAA,MAAMC,MAAM,GAAG5D,sBAAsB,CAAC,IAAA,CAAKyD,QAAN,CAArC,CAAA;;MACA,MAAMI,WAAW,GAAG,IAAKJ,CAAAA,QAAL,CAAcK,OAAd,CAAsBd,uBAAtB,CAApB,CAAA;;EAEA,IAAA,IAAIa,WAAJ,EAAiB;EACf,MAAA,MAAME,YAAY,GAAGF,WAAW,CAACG,QAAZ,KAAyB,IAAzB,IAAiCH,WAAW,CAACG,QAAZ,KAAyB,IAA1D,GAAiEd,kBAAjE,GAAsFD,eAA3G,CAAA;QACAU,QAAQ,GAAGM,+BAAc,CAACC,IAAf,CAAoBH,YAApB,EAAkCF,WAAlC,CAAX,CAAA;QACAF,QAAQ,GAAGA,QAAQ,CAACA,QAAQ,CAACtC,MAAT,GAAkB,CAAnB,CAAnB,CAAA;EACD,KAAA;;MAED,MAAM8C,SAAS,GAAGR,QAAQ,GACxBS,6BAAY,CAACC,OAAb,CAAqBV,QAArB,EAA+BrB,UAA/B,EAA2C;EACzCgC,MAAAA,aAAa,EAAE,IAAKb,CAAAA,QAAAA;OADtB,CADwB,GAIxB,IAJF,CAAA;MAMA,MAAMc,SAAS,GAAGH,6BAAY,CAACC,OAAb,CAAqB,IAAKZ,CAAAA,QAA1B,EAAoCjB,UAApC,EAAgD;EAChE8B,MAAAA,aAAa,EAAEX,QAAAA;EADiD,KAAhD,CAAlB,CAAA;;MAIA,IAAIY,SAAS,CAACC,gBAAV,IAA+BL,SAAS,KAAK,IAAd,IAAsBA,SAAS,CAACK,gBAAnE,EAAsF;EACpF,MAAA,OAAA;EACD,KAAA;;EAED,IAAA,IAAA,CAAKC,SAAL,CAAe,IAAKhB,CAAAA,QAApB,EAA8BI,WAA9B,CAAA,CAAA;;MAEA,MAAMa,QAAQ,GAAG,MAAM;EACrBN,MAAAA,6BAAY,CAACC,OAAb,CAAqBV,QAArB,EAA+BpB,YAA/B,EAA6C;EAC3C+B,QAAAA,aAAa,EAAE,IAAKb,CAAAA,QAAAA;SADtB,CAAA,CAAA;EAGAW,MAAAA,6BAAY,CAACC,OAAb,CAAqB,KAAKZ,QAA1B,EAAoChB,WAApC,EAAiD;EAC/C6B,QAAAA,aAAa,EAAEX,QAAAA;SADjB,CAAA,CAAA;OAJF,CAAA;;EASA,IAAA,IAAIC,MAAJ,EAAY;QACV,IAAKa,CAAAA,SAAL,CAAeb,MAAf,EAAuBA,MAAM,CAACF,UAA9B,EAA0CgB,QAA1C,CAAA,CAAA;EACD,KAFD,MAEO;QACLA,QAAQ,EAAA,CAAA;EACT,KAAA;EACF,GAxD6B;;;EA4D9BD,EAAAA,SAAS,CAACjF,OAAD,EAAUmF,SAAV,EAAqBxD,QAArB,EAA+B;EACtC,IAAA,MAAMyD,cAAc,GAAGD,SAAS,KAAKA,SAAS,CAACX,QAAV,KAAuB,IAAvB,IAA+BW,SAAS,CAACX,QAAV,KAAuB,IAA3D,CAAT,GACrBC,+BAAc,CAACC,IAAf,CAAoBhB,kBAApB,EAAwCyB,SAAxC,CADqB,GAErBV,+BAAc,CAACY,QAAf,CAAwBF,SAAxB,EAAmC1B,eAAnC,CAFF,CAAA;EAIA,IAAA,MAAM6B,MAAM,GAAGF,cAAc,CAAC,CAAD,CAA7B,CAAA;EACA,IAAA,MAAMG,eAAe,GAAG5D,QAAQ,IAAK2D,MAAM,IAAIA,MAAM,CAACvE,SAAP,CAAiBC,QAAjB,CAA0BqC,eAA1B,CAA/C,CAAA;;MAEA,MAAM6B,QAAQ,GAAG,MAAM,IAAKM,CAAAA,mBAAL,CAAyBxF,OAAzB,EAAkCsF,MAAlC,EAA0C3D,QAA1C,CAAvB,CAAA;;MAEA,IAAI2D,MAAM,IAAIC,eAAd,EAA+B;EAC7BD,MAAAA,MAAM,CAACvE,SAAP,CAAiB0E,MAAjB,CAAwBnC,eAAxB,CAAA,CAAA;;EACA,MAAA,IAAA,CAAKoC,cAAL,CAAoBR,QAApB,EAA8BlF,OAA9B,EAAuC,IAAvC,CAAA,CAAA;EACD,KAHD,MAGO;QACLkF,QAAQ,EAAA,CAAA;EACT,KAAA;EACF,GAAA;;EAEDM,EAAAA,mBAAmB,CAACxF,OAAD,EAAUsF,MAAV,EAAkB3D,QAAlB,EAA4B;EAC7C,IAAA,IAAI2D,MAAJ,EAAY;EACVA,MAAAA,MAAM,CAACvE,SAAP,CAAiB0E,MAAjB,CAAwBrC,iBAAxB,CAAA,CAAA;QAEA,MAAMuC,aAAa,GAAGlB,+BAAc,CAACmB,OAAf,CAAuB/B,8BAAvB,EAAuDyB,MAAM,CAACpB,UAA9D,CAAtB,CAAA;;EAEA,MAAA,IAAIyB,aAAJ,EAAmB;EACjBA,QAAAA,aAAa,CAAC5E,SAAd,CAAwB0E,MAAxB,CAA+BrC,iBAA/B,CAAA,CAAA;EACD,OAAA;;EAED,MAAA,IAAIkC,MAAM,CAACpF,YAAP,CAAoB,MAApB,CAAA,KAAgC,KAApC,EAA2C;EACzCoF,QAAAA,MAAM,CAACO,YAAP,CAAoB,eAApB,EAAqC,KAArC,CAAA,CAAA;EACD,OAAA;EACF,KAAA;;EAED7F,IAAAA,OAAO,CAACe,SAAR,CAAkB+E,GAAlB,CAAsB1C,iBAAtB,CAAA,CAAA;;EACA,IAAA,IAAIpD,OAAO,CAACE,YAAR,CAAqB,MAArB,CAAA,KAAiC,KAArC,EAA4C;EAC1CF,MAAAA,OAAO,CAAC6F,YAAR,CAAqB,eAArB,EAAsC,IAAtC,CAAA,CAAA;EACD,KAAA;;MAED1E,MAAM,CAACnB,OAAD,CAAN,CAAA;;MAEA,IAAIA,OAAO,CAACe,SAAR,CAAkBC,QAAlB,CAA2BqC,eAA3B,CAAJ,EAAiD;EAC/CrD,MAAAA,OAAO,CAACe,SAAR,CAAkB+E,GAAlB,CAAsBxC,eAAtB,CAAA,CAAA;EACD,KAAA;;EAED,IAAA,IAAIyC,MAAM,GAAG/F,OAAO,CAACkE,UAArB,CAAA;;EACA,IAAA,IAAI6B,MAAM,IAAIA,MAAM,CAACvB,QAAP,KAAoB,IAAlC,EAAwC;QACtCuB,MAAM,GAAGA,MAAM,CAAC7B,UAAhB,CAAA;EACD,KAAA;;MAED,IAAI6B,MAAM,IAAIA,MAAM,CAAChF,SAAP,CAAiBC,QAAjB,CAA0BmC,wBAA1B,CAAd,EAAmE;EACjE,MAAA,MAAM6C,eAAe,GAAGhG,OAAO,CAACsE,OAAR,CAAgBf,iBAAhB,CAAxB,CAAA;;EAEA,MAAA,IAAIyC,eAAJ,EAAqB;EACnBvB,QAAAA,+BAAc,CAACC,IAAf,CAAoBd,wBAApB,EAA8CoC,eAA9C,EACGjE,OADH,CACWkE,QAAQ,IAAIA,QAAQ,CAAClF,SAAT,CAAmB+E,GAAnB,CAAuB1C,iBAAvB,CADvB,CAAA,CAAA;EAED,OAAA;;EAEDpD,MAAAA,OAAO,CAAC6F,YAAR,CAAqB,eAArB,EAAsC,IAAtC,CAAA,CAAA;EACD,KAAA;;EAED,IAAA,IAAIlE,QAAJ,EAAc;QACZA,QAAQ,EAAA,CAAA;EACT,KAAA;EACF,GA3H6B;;;IA+HR,OAAfa,eAAe,CAAC0D,MAAD,EAAS;MAC7B,OAAO,IAAA,CAAKC,IAAL,CAAU,YAAY;EAC3B,MAAA,MAAMC,IAAI,GAAGtC,GAAG,CAACuC,mBAAJ,CAAwB,IAAxB,CAAb,CAAA;;EAEA,MAAA,IAAI,OAAOH,MAAP,KAAkB,QAAtB,EAAgC;EAC9B,QAAA,IAAI,OAAOE,IAAI,CAACF,MAAD,CAAX,KAAwB,WAA5B,EAAyC;EACvC,UAAA,MAAM,IAAII,SAAJ,CAAe,CAAmBJ,iBAAAA,EAAAA,MAAO,GAAzC,CAAN,CAAA;EACD,SAAA;;UAEDE,IAAI,CAACF,MAAD,CAAJ,EAAA,CAAA;EACD,OAAA;EACF,KAVM,CAAP,CAAA;EAWD,GAAA;;EA3I6B,CAAA;EA8IhC;EACA;EACA;EACA;EACA;;;AAEAtB,+BAAY,CAAC2B,EAAb,CAAgB9F,QAAhB,EAA0ByC,oBAA1B,EAAgDS,oBAAhD,EAAsE,UAAU6C,KAAV,EAAiB;IACrF,IAAI,CAAC,GAAD,EAAM,MAAN,CAAA,CAAcpG,QAAd,CAAuB,IAAA,CAAKqG,OAA5B,CAAJ,EAA0C;EACxCD,IAAAA,KAAK,CAACE,cAAN,EAAA,CAAA;EACD,GAAA;;EAED,EAAA,IAAI/F,UAAU,CAAC,IAAD,CAAd,EAAsB;EACpB,IAAA,OAAA;EACD,GAAA;;EAED,EAAA,MAAMyF,IAAI,GAAGtC,GAAG,CAACuC,mBAAJ,CAAwB,IAAxB,CAAb,CAAA;EACAD,EAAAA,IAAI,CAACpC,IAAL,EAAA,CAAA;EACD,CAXD,CAAA,CAAA;EAaA;EACA;EACA;EACA;EACA;EACA;;EAEA/B,kBAAkB,CAAC6B,GAAD,CAAlB;;;;;;;;"}
|
|
1
|
+
{"version":3,"file":"tab.js","sources":["../src/tab.js"],"sourcesContent":["/**\n * --------------------------------------------------------------------------\n * CoreUI (v4.2.1): tab.js\n * Licensed under MIT (https://coreui.io/license)\n *\n * This component is a modified version of the Bootstrap's tab.js\n * Licensed under MIT (https://github.com/twbs/bootstrap/blob/main/LICENSE)\n * --------------------------------------------------------------------------\n */\n\nimport { defineJQueryPlugin, getElementFromSelector, getNextActiveElement, isDisabled } from './util/index'\nimport EventHandler from './dom/event-handler'\nimport SelectorEngine from './dom/selector-engine'\nimport BaseComponent from './base-component'\n\n/**\n * Constants\n */\n\nconst NAME = 'tab'\nconst DATA_KEY = 'coreui.tab'\nconst EVENT_KEY = `.${DATA_KEY}`\n\nconst EVENT_HIDE = `hide${EVENT_KEY}`\nconst EVENT_HIDDEN = `hidden${EVENT_KEY}`\nconst EVENT_SHOW = `show${EVENT_KEY}`\nconst EVENT_SHOWN = `shown${EVENT_KEY}`\nconst EVENT_CLICK_DATA_API = `click${EVENT_KEY}`\nconst EVENT_KEYDOWN = `keydown${EVENT_KEY}`\nconst EVENT_LOAD_DATA_API = `load${EVENT_KEY}`\n\nconst ARROW_LEFT_KEY = 'ArrowLeft'\nconst ARROW_RIGHT_KEY = 'ArrowRight'\nconst ARROW_UP_KEY = 'ArrowUp'\nconst ARROW_DOWN_KEY = 'ArrowDown'\n\nconst CLASS_NAME_ACTIVE = 'active'\nconst CLASS_NAME_FADE = 'fade'\nconst CLASS_NAME_SHOW = 'show'\nconst CLASS_DROPDOWN = 'dropdown'\n\nconst SELECTOR_DROPDOWN_TOGGLE = '.dropdown-toggle'\nconst SELECTOR_DROPDOWN_MENU = '.dropdown-menu'\nconst SELECTOR_DROPDOWN_ITEM = '.dropdown-item'\nconst NOT_SELECTOR_DROPDOWN_TOGGLE = ':not(.dropdown-toggle)'\n\nconst SELECTOR_TAB_PANEL = '.list-group, .nav, [role=\"tablist\"]'\nconst SELECTOR_OUTER = '.nav-item, .list-group-item'\nconst SELECTOR_INNER = `.nav-link${NOT_SELECTOR_DROPDOWN_TOGGLE}, .list-group-item${NOT_SELECTOR_DROPDOWN_TOGGLE}, [role=\"tab\"]${NOT_SELECTOR_DROPDOWN_TOGGLE}`\nconst SELECTOR_DATA_TOGGLE = '[data-coreui-toggle=\"tab\"], [data-coreui-toggle=\"pill\"], [data-coreui-toggle=\"list\"]' // todo:v6: could be only `tab`\nconst SELECTOR_INNER_ELEM = `${SELECTOR_INNER}, ${SELECTOR_DATA_TOGGLE}`\n\nconst SELECTOR_DATA_TOGGLE_ACTIVE = `.${CLASS_NAME_ACTIVE}[data-coreui-toggle=\"tab\"], .${CLASS_NAME_ACTIVE}[data-coreui-toggle=\"pill\"], .${CLASS_NAME_ACTIVE}[data-coreui-toggle=\"list\"]`\n\n/**\n * Class definition\n */\n\nclass Tab extends BaseComponent {\n constructor(element) {\n super(element)\n this._parent = this._element.closest(SELECTOR_TAB_PANEL)\n\n if (!this._parent) {\n return\n // todo: should Throw exception on v6\n // throw new TypeError(`${element.outerHTML} has not a valid parent ${SELECTOR_INNER_ELEM}`)\n }\n\n // Set up initial aria attributes\n this._setInitialAttributes(this._parent, this._getChildren())\n\n EventHandler.on(this._element, EVENT_KEYDOWN, event => this._keydown(event))\n }\n\n // Getters\n static get NAME() {\n return NAME\n }\n\n // Public\n show() { // Shows this elem and deactivate the active sibling if exists\n const innerElem = this._element\n if (this._elemIsActive(innerElem)) {\n return\n }\n\n // Search for active tab on same parent to deactivate it\n const active = this._getActiveElem()\n\n const hideEvent = active ?\n EventHandler.trigger(active, EVENT_HIDE, { relatedTarget: innerElem }) :\n null\n\n const showEvent = EventHandler.trigger(innerElem, EVENT_SHOW, { relatedTarget: active })\n\n if (showEvent.defaultPrevented || (hideEvent && hideEvent.defaultPrevented)) {\n return\n }\n\n this._deactivate(active, innerElem)\n this._activate(innerElem, active)\n }\n\n // Private\n _activate(element, relatedElem) {\n if (!element) {\n return\n }\n\n element.classList.add(CLASS_NAME_ACTIVE)\n\n this._activate(getElementFromSelector(element)) // Search and activate/show the proper section\n\n const isAnimated = element.classList.contains(CLASS_NAME_FADE)\n const complete = () => {\n if (isAnimated) { // todo: maybe is redundant\n element.classList.add(CLASS_NAME_SHOW)\n }\n\n if (element.getAttribute('role') !== 'tab') {\n return\n }\n\n element.focus()\n element.removeAttribute('tabindex')\n element.setAttribute('aria-selected', true)\n this._toggleDropDown(element, true)\n EventHandler.trigger(element, EVENT_SHOWN, {\n relatedTarget: relatedElem\n })\n }\n\n this._queueCallback(complete, element, isAnimated)\n }\n\n _deactivate(element, relatedElem) {\n if (!element) {\n return\n }\n\n element.classList.remove(CLASS_NAME_ACTIVE)\n element.blur()\n\n this._deactivate(getElementFromSelector(element)) // Search and deactivate the shown section too\n\n const isAnimated = element.classList.contains(CLASS_NAME_FADE)\n const complete = () => {\n if (isAnimated) { // todo maybe is redundant\n element.classList.remove(CLASS_NAME_SHOW)\n }\n\n if (element.getAttribute('role') !== 'tab') {\n return\n }\n\n element.setAttribute('aria-selected', false)\n element.setAttribute('tabindex', '-1')\n this._toggleDropDown(element, false)\n EventHandler.trigger(element, EVENT_HIDDEN, { relatedTarget: relatedElem })\n }\n\n this._queueCallback(complete, element, isAnimated)\n }\n\n _keydown(event) {\n if (!([ARROW_LEFT_KEY, ARROW_RIGHT_KEY, ARROW_UP_KEY, ARROW_DOWN_KEY].includes(event.key))) {\n return\n }\n\n event.stopPropagation()// stopPropagation/preventDefault both added to support up/down keys without scrolling the page\n event.preventDefault()\n const isNext = [ARROW_RIGHT_KEY, ARROW_DOWN_KEY].includes(event.key)\n const nextActiveElement = getNextActiveElement(this._getChildren().filter(element => !isDisabled(element)), event.target, isNext, true)\n\n if (nextActiveElement) {\n Tab.getOrCreateInstance(nextActiveElement).show()\n }\n }\n\n _getChildren() { // collection of inner elements\n return SelectorEngine.find(SELECTOR_INNER_ELEM, this._parent)\n }\n\n _getActiveElem() {\n return this._getChildren().find(child => this._elemIsActive(child)) || null\n }\n\n _setInitialAttributes(parent, children) {\n this._setAttributeIfNotExists(parent, 'role', 'tablist')\n\n for (const child of children) {\n this._setInitialAttributesOnChild(child)\n }\n }\n\n _setInitialAttributesOnChild(child) {\n child = this._getInnerElement(child)\n const isActive = this._elemIsActive(child)\n const outerElem = this._getOuterElement(child)\n child.setAttribute('aria-selected', isActive)\n\n if (outerElem !== child) {\n this._setAttributeIfNotExists(outerElem, 'role', 'presentation')\n }\n\n if (!isActive) {\n child.setAttribute('tabindex', '-1')\n }\n\n this._setAttributeIfNotExists(child, 'role', 'tab')\n\n // set attributes to the related panel too\n this._setInitialAttributesOnTargetPanel(child)\n }\n\n _setInitialAttributesOnTargetPanel(child) {\n const target = getElementFromSelector(child)\n\n if (!target) {\n return\n }\n\n this._setAttributeIfNotExists(target, 'role', 'tabpanel')\n\n if (child.id) {\n this._setAttributeIfNotExists(target, 'aria-labelledby', `#${child.id}`)\n }\n }\n\n _toggleDropDown(element, open) {\n const outerElem = this._getOuterElement(element)\n if (!outerElem.classList.contains(CLASS_DROPDOWN)) {\n return\n }\n\n const toggle = (selector, className) => {\n const element = SelectorEngine.findOne(selector, outerElem)\n if (element) {\n element.classList.toggle(className, open)\n }\n }\n\n toggle(SELECTOR_DROPDOWN_TOGGLE, CLASS_NAME_ACTIVE)\n toggle(SELECTOR_DROPDOWN_MENU, CLASS_NAME_SHOW)\n toggle(SELECTOR_DROPDOWN_ITEM, CLASS_NAME_ACTIVE)\n outerElem.setAttribute('aria-expanded', open)\n }\n\n _setAttributeIfNotExists(element, attribute, value) {\n if (!element.hasAttribute(attribute)) {\n element.setAttribute(attribute, value)\n }\n }\n\n _elemIsActive(elem) {\n return elem.classList.contains(CLASS_NAME_ACTIVE)\n }\n\n // Try to get the inner element (usually the .nav-link)\n _getInnerElement(elem) {\n return elem.matches(SELECTOR_INNER_ELEM) ? elem : SelectorEngine.findOne(SELECTOR_INNER_ELEM, elem)\n }\n\n // Try to get the outer element (usually the .nav-item)\n _getOuterElement(elem) {\n return elem.closest(SELECTOR_OUTER) || elem\n }\n\n // Static\n static jQueryInterface(config) {\n return this.each(function () {\n const data = Tab.getOrCreateInstance(this)\n\n if (typeof config !== 'string') {\n return\n }\n\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 * Data API implementation\n */\n\nEventHandler.on(document, EVENT_CLICK_DATA_API, SELECTOR_DATA_TOGGLE, function (event) {\n if (['A', 'AREA'].includes(this.tagName)) {\n event.preventDefault()\n }\n\n if (isDisabled(this)) {\n return\n }\n\n Tab.getOrCreateInstance(this).show()\n})\n\n/**\n * Initialize on focus\n */\nEventHandler.on(window, EVENT_LOAD_DATA_API, () => {\n for (const element of SelectorEngine.find(SELECTOR_DATA_TOGGLE_ACTIVE)) {\n Tab.getOrCreateInstance(element)\n }\n})\n/**\n * jQuery\n */\n\ndefineJQueryPlugin(Tab)\n\nexport default Tab\n"],"names":["NAME","DATA_KEY","EVENT_KEY","EVENT_HIDE","EVENT_HIDDEN","EVENT_SHOW","EVENT_SHOWN","EVENT_CLICK_DATA_API","EVENT_KEYDOWN","EVENT_LOAD_DATA_API","ARROW_LEFT_KEY","ARROW_RIGHT_KEY","ARROW_UP_KEY","ARROW_DOWN_KEY","CLASS_NAME_ACTIVE","CLASS_NAME_FADE","CLASS_NAME_SHOW","CLASS_DROPDOWN","SELECTOR_DROPDOWN_TOGGLE","SELECTOR_DROPDOWN_MENU","SELECTOR_DROPDOWN_ITEM","NOT_SELECTOR_DROPDOWN_TOGGLE","SELECTOR_TAB_PANEL","SELECTOR_OUTER","SELECTOR_INNER","SELECTOR_DATA_TOGGLE","SELECTOR_INNER_ELEM","SELECTOR_DATA_TOGGLE_ACTIVE","Tab","BaseComponent","constructor","element","_parent","_element","closest","_setInitialAttributes","_getChildren","EventHandler","on","event","_keydown","show","innerElem","_elemIsActive","active","_getActiveElem","hideEvent","trigger","relatedTarget","showEvent","defaultPrevented","_deactivate","_activate","relatedElem","classList","add","getElementFromSelector","isAnimated","contains","complete","getAttribute","focus","removeAttribute","setAttribute","_toggleDropDown","_queueCallback","remove","blur","includes","key","stopPropagation","preventDefault","isNext","nextActiveElement","getNextActiveElement","filter","isDisabled","target","getOrCreateInstance","SelectorEngine","find","child","parent","children","_setAttributeIfNotExists","_setInitialAttributesOnChild","_getInnerElement","isActive","outerElem","_getOuterElement","_setInitialAttributesOnTargetPanel","id","open","toggle","selector","className","findOne","attribute","value","hasAttribute","elem","matches","jQueryInterface","config","each","data","undefined","startsWith","TypeError","document","tagName","window","defineJQueryPlugin"],"mappings":"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"}
|
package/js/dist/toast.js
CHANGED
|
@@ -1,198 +1,22 @@
|
|
|
1
1
|
/*!
|
|
2
|
-
* CoreUI toast.js v4.1
|
|
2
|
+
* CoreUI toast.js v4.2.1 (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.Toast = factory(global.EventHandler, global.
|
|
10
|
-
})(this, (function (EventHandler,
|
|
7
|
+
typeof exports === 'object' && typeof module !== 'undefined' ? module.exports = factory(require('./util/index'), require('./dom/event-handler'), require('./base-component'), require('./util/component-functions')) :
|
|
8
|
+
typeof define === 'function' && define.amd ? define(['./util/index', './dom/event-handler', './base-component', './util/component-functions'], factory) :
|
|
9
|
+
(global = typeof globalThis !== 'undefined' ? globalThis : global || self, global.Toast = factory(global.Index, global.EventHandler, global.BaseComponent, global.ComponentFunctions));
|
|
10
|
+
})(this, (function (index, EventHandler, BaseComponent, componentFunctions) { 'use strict';
|
|
11
11
|
|
|
12
12
|
const _interopDefaultLegacy = e => e && typeof e === 'object' && 'default' in e ? e : { default: e };
|
|
13
13
|
|
|
14
14
|
const EventHandler__default = /*#__PURE__*/_interopDefaultLegacy(EventHandler);
|
|
15
|
-
const Manipulator__default = /*#__PURE__*/_interopDefaultLegacy(Manipulator);
|
|
16
15
|
const BaseComponent__default = /*#__PURE__*/_interopDefaultLegacy(BaseComponent);
|
|
17
16
|
|
|
18
17
|
/**
|
|
19
18
|
* --------------------------------------------------------------------------
|
|
20
|
-
* CoreUI (v4.1
|
|
21
|
-
* Licensed under MIT (https://coreui.io/license)
|
|
22
|
-
*
|
|
23
|
-
* This component is a modified version of the Bootstrap's util/index.js
|
|
24
|
-
* Licensed under MIT (https://github.com/twbs/bootstrap/blob/main/LICENSE)
|
|
25
|
-
* --------------------------------------------------------------------------
|
|
26
|
-
*/
|
|
27
|
-
|
|
28
|
-
const toType = object => {
|
|
29
|
-
if (object === null || object === undefined) {
|
|
30
|
-
return `${object}`;
|
|
31
|
-
}
|
|
32
|
-
|
|
33
|
-
return Object.prototype.toString.call(object).match(/\s([a-z]+)/i)[1].toLowerCase();
|
|
34
|
-
};
|
|
35
|
-
|
|
36
|
-
const getSelector = element => {
|
|
37
|
-
let selector = element.getAttribute('data-coreui-target');
|
|
38
|
-
|
|
39
|
-
if (!selector || selector === '#') {
|
|
40
|
-
let hrefAttr = element.getAttribute('href'); // The only valid content that could double as a selector are IDs or classes,
|
|
41
|
-
// so everything starting with `#` or `.`. If a "real" URL is used as the selector,
|
|
42
|
-
// `document.querySelector` will rightfully complain it is invalid.
|
|
43
|
-
// See https://github.com/twbs/bootstrap/issues/32273
|
|
44
|
-
|
|
45
|
-
if (!hrefAttr || !hrefAttr.includes('#') && !hrefAttr.startsWith('.')) {
|
|
46
|
-
return null;
|
|
47
|
-
} // Just in case some CMS puts out a full URL with the anchor appended
|
|
48
|
-
|
|
49
|
-
|
|
50
|
-
if (hrefAttr.includes('#') && !hrefAttr.startsWith('#')) {
|
|
51
|
-
hrefAttr = `#${hrefAttr.split('#')[1]}`;
|
|
52
|
-
}
|
|
53
|
-
|
|
54
|
-
selector = hrefAttr && hrefAttr !== '#' ? hrefAttr.trim() : null;
|
|
55
|
-
}
|
|
56
|
-
|
|
57
|
-
return selector;
|
|
58
|
-
};
|
|
59
|
-
|
|
60
|
-
const getElementFromSelector = element => {
|
|
61
|
-
const selector = getSelector(element);
|
|
62
|
-
return selector ? document.querySelector(selector) : null;
|
|
63
|
-
};
|
|
64
|
-
|
|
65
|
-
const isElement = obj => {
|
|
66
|
-
if (!obj || typeof obj !== 'object') {
|
|
67
|
-
return false;
|
|
68
|
-
}
|
|
69
|
-
|
|
70
|
-
if (typeof obj.jquery !== 'undefined') {
|
|
71
|
-
obj = obj[0];
|
|
72
|
-
}
|
|
73
|
-
|
|
74
|
-
return typeof obj.nodeType !== 'undefined';
|
|
75
|
-
};
|
|
76
|
-
|
|
77
|
-
const typeCheckConfig = (componentName, config, configTypes) => {
|
|
78
|
-
Object.keys(configTypes).forEach(property => {
|
|
79
|
-
const expectedTypes = configTypes[property];
|
|
80
|
-
const value = config[property];
|
|
81
|
-
const valueType = value && isElement(value) ? 'element' : toType(value);
|
|
82
|
-
|
|
83
|
-
if (!new RegExp(expectedTypes).test(valueType)) {
|
|
84
|
-
throw new TypeError(`${componentName.toUpperCase()}: Option "${property}" provided type "${valueType}" but expected type "${expectedTypes}".`);
|
|
85
|
-
}
|
|
86
|
-
});
|
|
87
|
-
};
|
|
88
|
-
|
|
89
|
-
const isDisabled = element => {
|
|
90
|
-
if (!element || element.nodeType !== Node.ELEMENT_NODE) {
|
|
91
|
-
return true;
|
|
92
|
-
}
|
|
93
|
-
|
|
94
|
-
if (element.classList.contains('disabled')) {
|
|
95
|
-
return true;
|
|
96
|
-
}
|
|
97
|
-
|
|
98
|
-
if (typeof element.disabled !== 'undefined') {
|
|
99
|
-
return element.disabled;
|
|
100
|
-
}
|
|
101
|
-
|
|
102
|
-
return element.hasAttribute('disabled') && element.getAttribute('disabled') !== 'false';
|
|
103
|
-
};
|
|
104
|
-
/**
|
|
105
|
-
* Trick to restart an element's animation
|
|
106
|
-
*
|
|
107
|
-
* @param {HTMLElement} element
|
|
108
|
-
* @return void
|
|
109
|
-
*
|
|
110
|
-
* @see https://www.charistheo.io/blog/2021/02/restart-a-css-animation-with-javascript/#restarting-a-css-animation
|
|
111
|
-
*/
|
|
112
|
-
|
|
113
|
-
|
|
114
|
-
const reflow = element => {
|
|
115
|
-
// eslint-disable-next-line no-unused-expressions
|
|
116
|
-
element.offsetHeight;
|
|
117
|
-
};
|
|
118
|
-
|
|
119
|
-
const getjQuery = () => {
|
|
120
|
-
const {
|
|
121
|
-
jQuery
|
|
122
|
-
} = window;
|
|
123
|
-
|
|
124
|
-
if (jQuery && !document.body.hasAttribute('data-coreui-no-jquery')) {
|
|
125
|
-
return jQuery;
|
|
126
|
-
}
|
|
127
|
-
|
|
128
|
-
return null;
|
|
129
|
-
};
|
|
130
|
-
|
|
131
|
-
const DOMContentLoadedCallbacks = [];
|
|
132
|
-
|
|
133
|
-
const onDOMContentLoaded = callback => {
|
|
134
|
-
if (document.readyState === 'loading') {
|
|
135
|
-
// add listener on the first call when the document is in loading state
|
|
136
|
-
if (!DOMContentLoadedCallbacks.length) {
|
|
137
|
-
document.addEventListener('DOMContentLoaded', () => {
|
|
138
|
-
DOMContentLoadedCallbacks.forEach(callback => callback());
|
|
139
|
-
});
|
|
140
|
-
}
|
|
141
|
-
|
|
142
|
-
DOMContentLoadedCallbacks.push(callback);
|
|
143
|
-
} else {
|
|
144
|
-
callback();
|
|
145
|
-
}
|
|
146
|
-
};
|
|
147
|
-
|
|
148
|
-
const defineJQueryPlugin = plugin => {
|
|
149
|
-
onDOMContentLoaded(() => {
|
|
150
|
-
const $ = getjQuery();
|
|
151
|
-
/* istanbul ignore if */
|
|
152
|
-
|
|
153
|
-
if ($) {
|
|
154
|
-
const name = plugin.NAME;
|
|
155
|
-
const JQUERY_NO_CONFLICT = $.fn[name];
|
|
156
|
-
$.fn[name] = plugin.jQueryInterface;
|
|
157
|
-
$.fn[name].Constructor = plugin;
|
|
158
|
-
|
|
159
|
-
$.fn[name].noConflict = () => {
|
|
160
|
-
$.fn[name] = JQUERY_NO_CONFLICT;
|
|
161
|
-
return plugin.jQueryInterface;
|
|
162
|
-
};
|
|
163
|
-
}
|
|
164
|
-
});
|
|
165
|
-
};
|
|
166
|
-
|
|
167
|
-
/**
|
|
168
|
-
* --------------------------------------------------------------------------
|
|
169
|
-
* Bootstrap (v5.1.3): util/component-functions.js
|
|
170
|
-
* Licensed under MIT (https://github.com/twbs/bootstrap/blob/main/LICENSE)
|
|
171
|
-
* --------------------------------------------------------------------------
|
|
172
|
-
*/
|
|
173
|
-
|
|
174
|
-
const enableDismissTrigger = (component, method = 'hide') => {
|
|
175
|
-
const clickEvent = `click.dismiss${component.EVENT_KEY}`;
|
|
176
|
-
const name = component.NAME;
|
|
177
|
-
EventHandler__default.default.on(document, clickEvent, `[data-coreui-dismiss="${name}"]`, function (event) {
|
|
178
|
-
if (['A', 'AREA'].includes(this.tagName)) {
|
|
179
|
-
event.preventDefault();
|
|
180
|
-
}
|
|
181
|
-
|
|
182
|
-
if (isDisabled(this)) {
|
|
183
|
-
return;
|
|
184
|
-
}
|
|
185
|
-
|
|
186
|
-
const target = getElementFromSelector(this) || this.closest(`.${name}`);
|
|
187
|
-
const instance = component.getOrCreateInstance(target); // Method argument is left, for Alert and only, as it doesn't implement the 'hide' method
|
|
188
|
-
|
|
189
|
-
instance[method]();
|
|
190
|
-
});
|
|
191
|
-
};
|
|
192
|
-
|
|
193
|
-
/**
|
|
194
|
-
* --------------------------------------------------------------------------
|
|
195
|
-
* CoreUI (v4.1.5): toast.js
|
|
19
|
+
* CoreUI (v4.2.1): toast.js
|
|
196
20
|
* Licensed under MIT (https://coreui.io/license)
|
|
197
21
|
*
|
|
198
22
|
* This component is a modified version of the Bootstrap's toast.js
|
|
@@ -200,9 +24,7 @@
|
|
|
200
24
|
* --------------------------------------------------------------------------
|
|
201
25
|
*/
|
|
202
26
|
/**
|
|
203
|
-
* ------------------------------------------------------------------------
|
|
204
27
|
* Constants
|
|
205
|
-
* ------------------------------------------------------------------------
|
|
206
28
|
*/
|
|
207
29
|
|
|
208
30
|
const NAME = 'toast';
|
|
@@ -232,15 +54,12 @@
|
|
|
232
54
|
delay: 5000
|
|
233
55
|
};
|
|
234
56
|
/**
|
|
235
|
-
*
|
|
236
|
-
* Class Definition
|
|
237
|
-
* ------------------------------------------------------------------------
|
|
57
|
+
* Class definition
|
|
238
58
|
*/
|
|
239
59
|
|
|
240
60
|
class Toast extends BaseComponent__default.default {
|
|
241
61
|
constructor(element, config) {
|
|
242
|
-
super(element);
|
|
243
|
-
this._config = this._getConfig(config);
|
|
62
|
+
super(element, config);
|
|
244
63
|
this._timeout = null;
|
|
245
64
|
this._hasMouseInteraction = false;
|
|
246
65
|
this._hasKeyboardInteraction = false;
|
|
@@ -249,14 +68,14 @@
|
|
|
249
68
|
} // Getters
|
|
250
69
|
|
|
251
70
|
|
|
252
|
-
static get DefaultType() {
|
|
253
|
-
return DefaultType;
|
|
254
|
-
}
|
|
255
|
-
|
|
256
71
|
static get Default() {
|
|
257
72
|
return Default;
|
|
258
73
|
}
|
|
259
74
|
|
|
75
|
+
static get DefaultType() {
|
|
76
|
+
return DefaultType;
|
|
77
|
+
}
|
|
78
|
+
|
|
260
79
|
static get NAME() {
|
|
261
80
|
return NAME;
|
|
262
81
|
} // Public
|
|
@@ -286,17 +105,15 @@
|
|
|
286
105
|
this._element.classList.remove(CLASS_NAME_HIDE); // @deprecated
|
|
287
106
|
|
|
288
107
|
|
|
289
|
-
reflow(this._element);
|
|
290
|
-
|
|
291
|
-
this._element.classList.add(CLASS_NAME_SHOW);
|
|
108
|
+
index.reflow(this._element);
|
|
292
109
|
|
|
293
|
-
this._element.classList.add(CLASS_NAME_SHOWING);
|
|
110
|
+
this._element.classList.add(CLASS_NAME_SHOW, CLASS_NAME_SHOWING);
|
|
294
111
|
|
|
295
112
|
this._queueCallback(complete, this._element, this._config.animation);
|
|
296
113
|
}
|
|
297
114
|
|
|
298
115
|
hide() {
|
|
299
|
-
if (!this.
|
|
116
|
+
if (!this.isShown()) {
|
|
300
117
|
return;
|
|
301
118
|
}
|
|
302
119
|
|
|
@@ -310,9 +127,7 @@
|
|
|
310
127
|
this._element.classList.add(CLASS_NAME_HIDE); // @deprecated
|
|
311
128
|
|
|
312
129
|
|
|
313
|
-
this._element.classList.remove(CLASS_NAME_SHOWING);
|
|
314
|
-
|
|
315
|
-
this._element.classList.remove(CLASS_NAME_SHOW);
|
|
130
|
+
this._element.classList.remove(CLASS_NAME_SHOWING, CLASS_NAME_SHOW);
|
|
316
131
|
|
|
317
132
|
EventHandler__default.default.trigger(this._element, EVENT_HIDDEN);
|
|
318
133
|
};
|
|
@@ -325,22 +140,17 @@
|
|
|
325
140
|
dispose() {
|
|
326
141
|
this._clearTimeout();
|
|
327
142
|
|
|
328
|
-
if (this.
|
|
143
|
+
if (this.isShown()) {
|
|
329
144
|
this._element.classList.remove(CLASS_NAME_SHOW);
|
|
330
145
|
}
|
|
331
146
|
|
|
332
147
|
super.dispose();
|
|
333
|
-
}
|
|
148
|
+
}
|
|
334
149
|
|
|
150
|
+
isShown() {
|
|
151
|
+
return this._element.classList.contains(CLASS_NAME_SHOW);
|
|
152
|
+
} // Private
|
|
335
153
|
|
|
336
|
-
_getConfig(config) {
|
|
337
|
-
config = { ...Default,
|
|
338
|
-
...Manipulator__default.default.getDataAttributes(this._element),
|
|
339
|
-
...(typeof config === 'object' && config ? config : {})
|
|
340
|
-
};
|
|
341
|
-
typeCheckConfig(NAME, config, this.constructor.DefaultType);
|
|
342
|
-
return config;
|
|
343
|
-
}
|
|
344
154
|
|
|
345
155
|
_maybeScheduleHide() {
|
|
346
156
|
if (!this._config.autohide) {
|
|
@@ -412,16 +222,17 @@
|
|
|
412
222
|
}
|
|
413
223
|
|
|
414
224
|
}
|
|
225
|
+
/**
|
|
226
|
+
* Data API implementation
|
|
227
|
+
*/
|
|
228
|
+
|
|
415
229
|
|
|
416
|
-
enableDismissTrigger(Toast);
|
|
230
|
+
componentFunctions.enableDismissTrigger(Toast);
|
|
417
231
|
/**
|
|
418
|
-
* ------------------------------------------------------------------------
|
|
419
232
|
* jQuery
|
|
420
|
-
* ------------------------------------------------------------------------
|
|
421
|
-
* add .Toast to jQuery only if jQuery is present
|
|
422
233
|
*/
|
|
423
234
|
|
|
424
|
-
defineJQueryPlugin(Toast);
|
|
235
|
+
index.defineJQueryPlugin(Toast);
|
|
425
236
|
|
|
426
237
|
return Toast;
|
|
427
238
|
|
package/js/dist/toast.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"toast.js","sources":["../src/util/index.js","../src/util/component-functions.js","../src/toast.js"],"sourcesContent":["/**\n * --------------------------------------------------------------------------\n * CoreUI (v4.1.5): 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 * Bootstrap (v5.1.3): util/component-functions.js\n * Licensed under MIT (https://github.com/twbs/bootstrap/blob/main/LICENSE)\n * --------------------------------------------------------------------------\n */\n\nimport EventHandler from '../dom/event-handler'\nimport { getElementFromSelector, isDisabled } from './index'\n\nconst enableDismissTrigger = (component, method = 'hide') => {\n const clickEvent = `click.dismiss${component.EVENT_KEY}`\n const name = component.NAME\n\n EventHandler.on(document, clickEvent, `[data-coreui-dismiss=\"${name}\"]`, function (event) {\n if (['A', 'AREA'].includes(this.tagName)) {\n event.preventDefault()\n }\n\n if (isDisabled(this)) {\n return\n }\n\n const target = getElementFromSelector(this) || this.closest(`.${name}`)\n const instance = component.getOrCreateInstance(target)\n\n // Method argument is left, for Alert and only, as it doesn't implement the 'hide' method\n instance[method]()\n })\n}\n\nexport {\n enableDismissTrigger\n}\n","/**\n * --------------------------------------------------------------------------\n * CoreUI (v4.1.5): toast.js\n * Licensed under MIT (https://coreui.io/license)\n *\n * This component is a modified version of the Bootstrap's toast.js\n * Licensed under MIT (https://github.com/twbs/bootstrap/blob/main/LICENSE)\n * --------------------------------------------------------------------------\n */\n\nimport {\n defineJQueryPlugin,\n reflow,\n typeCheckConfig\n} from './util/index'\nimport EventHandler from './dom/event-handler'\nimport Manipulator from './dom/manipulator'\nimport BaseComponent from './base-component'\nimport { enableDismissTrigger } from './util/component-functions'\n\n/**\n * ------------------------------------------------------------------------\n * Constants\n * ------------------------------------------------------------------------\n */\n\nconst NAME = 'toast'\nconst DATA_KEY = 'coreui.toast'\nconst EVENT_KEY = `.${DATA_KEY}`\n\nconst EVENT_MOUSEOVER = `mouseover${EVENT_KEY}`\nconst EVENT_MOUSEOUT = `mouseout${EVENT_KEY}`\nconst EVENT_FOCUSIN = `focusin${EVENT_KEY}`\nconst EVENT_FOCUSOUT = `focusout${EVENT_KEY}`\nconst EVENT_HIDE = `hide${EVENT_KEY}`\nconst EVENT_HIDDEN = `hidden${EVENT_KEY}`\nconst EVENT_SHOW = `show${EVENT_KEY}`\nconst EVENT_SHOWN = `shown${EVENT_KEY}`\n\nconst CLASS_NAME_FADE = 'fade'\nconst CLASS_NAME_HIDE = 'hide' // @deprecated - kept here only for backwards compatibility\nconst CLASS_NAME_SHOW = 'show'\nconst CLASS_NAME_SHOWING = 'showing'\n\nconst DefaultType = {\n animation: 'boolean',\n autohide: 'boolean',\n delay: 'number'\n}\n\nconst Default = {\n animation: true,\n autohide: true,\n delay: 5000\n}\n\n/**\n * ------------------------------------------------------------------------\n * Class Definition\n * ------------------------------------------------------------------------\n */\n\nclass Toast extends BaseComponent {\n constructor(element, config) {\n super(element)\n\n this._config = this._getConfig(config)\n this._timeout = null\n this._hasMouseInteraction = false\n this._hasKeyboardInteraction = false\n this._setListeners()\n }\n\n // Getters\n\n static get DefaultType() {\n return DefaultType\n }\n\n static get Default() {\n return Default\n }\n\n static get NAME() {\n return NAME\n }\n\n // Public\n\n show() {\n const showEvent = EventHandler.trigger(this._element, EVENT_SHOW)\n\n if (showEvent.defaultPrevented) {\n return\n }\n\n this._clearTimeout()\n\n if (this._config.animation) {\n this._element.classList.add(CLASS_NAME_FADE)\n }\n\n const complete = () => {\n this._element.classList.remove(CLASS_NAME_SHOWING)\n EventHandler.trigger(this._element, EVENT_SHOWN)\n\n this._maybeScheduleHide()\n }\n\n this._element.classList.remove(CLASS_NAME_HIDE) // @deprecated\n reflow(this._element)\n this._element.classList.add(CLASS_NAME_SHOW)\n this._element.classList.add(CLASS_NAME_SHOWING)\n\n this._queueCallback(complete, this._element, this._config.animation)\n }\n\n hide() {\n if (!this._element.classList.contains(CLASS_NAME_SHOW)) {\n return\n }\n\n const hideEvent = EventHandler.trigger(this._element, EVENT_HIDE)\n\n if (hideEvent.defaultPrevented) {\n return\n }\n\n const complete = () => {\n this._element.classList.add(CLASS_NAME_HIDE) // @deprecated\n this._element.classList.remove(CLASS_NAME_SHOWING)\n this._element.classList.remove(CLASS_NAME_SHOW)\n EventHandler.trigger(this._element, EVENT_HIDDEN)\n }\n\n this._element.classList.add(CLASS_NAME_SHOWING)\n this._queueCallback(complete, this._element, this._config.animation)\n }\n\n dispose() {\n this._clearTimeout()\n\n if (this._element.classList.contains(CLASS_NAME_SHOW)) {\n this._element.classList.remove(CLASS_NAME_SHOW)\n }\n\n super.dispose()\n }\n\n // Private\n\n _getConfig(config) {\n config = {\n ...Default,\n ...Manipulator.getDataAttributes(this._element),\n ...(typeof config === 'object' && config ? config : {})\n }\n\n typeCheckConfig(NAME, config, this.constructor.DefaultType)\n\n return config\n }\n\n _maybeScheduleHide() {\n if (!this._config.autohide) {\n return\n }\n\n if (this._hasMouseInteraction || this._hasKeyboardInteraction) {\n return\n }\n\n this._timeout = setTimeout(() => {\n this.hide()\n }, this._config.delay)\n }\n\n _onInteraction(event, isInteracting) {\n switch (event.type) {\n case 'mouseover':\n case 'mouseout':\n this._hasMouseInteraction = isInteracting\n break\n case 'focusin':\n case 'focusout':\n this._hasKeyboardInteraction = isInteracting\n break\n default:\n break\n }\n\n if (isInteracting) {\n this._clearTimeout()\n return\n }\n\n const nextElement = event.relatedTarget\n if (this._element === nextElement || this._element.contains(nextElement)) {\n return\n }\n\n this._maybeScheduleHide()\n }\n\n _setListeners() {\n EventHandler.on(this._element, EVENT_MOUSEOVER, event => this._onInteraction(event, true))\n EventHandler.on(this._element, EVENT_MOUSEOUT, event => this._onInteraction(event, false))\n EventHandler.on(this._element, EVENT_FOCUSIN, event => this._onInteraction(event, true))\n EventHandler.on(this._element, EVENT_FOCUSOUT, event => this._onInteraction(event, false))\n }\n\n _clearTimeout() {\n clearTimeout(this._timeout)\n this._timeout = null\n }\n\n // Static\n\n static jQueryInterface(config) {\n return this.each(function () {\n const data = Toast.getOrCreateInstance(this, config)\n\n if (typeof config === 'string') {\n if (typeof data[config] === 'undefined') {\n throw new TypeError(`No method named \"${config}\"`)\n }\n\n data[config](this)\n }\n })\n }\n}\n\nenableDismissTrigger(Toast)\n\n/**\n * ------------------------------------------------------------------------\n * jQuery\n * ------------------------------------------------------------------------\n * add .Toast to jQuery only if jQuery is present\n */\n\ndefineJQueryPlugin(Toast)\n\nexport default Toast\n"],"names":["toType","object","undefined","Object","prototype","toString","call","match","toLowerCase","getSelector","element","selector","getAttribute","hrefAttr","includes","startsWith","split","trim","getElementFromSelector","document","querySelector","isElement","obj","jquery","nodeType","typeCheckConfig","componentName","config","configTypes","keys","forEach","property","expectedTypes","value","valueType","RegExp","test","TypeError","toUpperCase","isDisabled","Node","ELEMENT_NODE","classList","contains","disabled","hasAttribute","reflow","offsetHeight","getjQuery","jQuery","window","body","DOMContentLoadedCallbacks","onDOMContentLoaded","callback","readyState","length","addEventListener","push","defineJQueryPlugin","plugin","$","name","NAME","JQUERY_NO_CONFLICT","fn","jQueryInterface","Constructor","noConflict","enableDismissTrigger","component","method","clickEvent","EVENT_KEY","EventHandler","on","event","tagName","preventDefault","target","closest","instance","getOrCreateInstance","DATA_KEY","EVENT_MOUSEOVER","EVENT_MOUSEOUT","EVENT_FOCUSIN","EVENT_FOCUSOUT","EVENT_HIDE","EVENT_HIDDEN","EVENT_SHOW","EVENT_SHOWN","CLASS_NAME_FADE","CLASS_NAME_HIDE","CLASS_NAME_SHOW","CLASS_NAME_SHOWING","DefaultType","animation","autohide","delay","Default","Toast","BaseComponent","constructor","_config","_getConfig","_timeout","_hasMouseInteraction","_hasKeyboardInteraction","_setListeners","show","showEvent","trigger","_element","defaultPrevented","_clearTimeout","add","complete","remove","_maybeScheduleHide","_queueCallback","hide","hideEvent","dispose","Manipulator","getDataAttributes","setTimeout","_onInteraction","isInteracting","type","nextElement","relatedTarget","clearTimeout","each","data"],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"toast.js","sources":["../src/toast.js"],"sourcesContent":["/**\n * --------------------------------------------------------------------------\n * CoreUI (v4.2.1): toast.js\n * Licensed under MIT (https://coreui.io/license)\n *\n * This component is a modified version of the Bootstrap's toast.js\n * Licensed under MIT (https://github.com/twbs/bootstrap/blob/main/LICENSE)\n * --------------------------------------------------------------------------\n */\n\nimport { defineJQueryPlugin, reflow } from './util/index'\nimport EventHandler from './dom/event-handler'\nimport BaseComponent from './base-component'\nimport { enableDismissTrigger } from './util/component-functions'\n\n/**\n * Constants\n */\n\nconst NAME = 'toast'\nconst DATA_KEY = 'coreui.toast'\nconst EVENT_KEY = `.${DATA_KEY}`\n\nconst EVENT_MOUSEOVER = `mouseover${EVENT_KEY}`\nconst EVENT_MOUSEOUT = `mouseout${EVENT_KEY}`\nconst EVENT_FOCUSIN = `focusin${EVENT_KEY}`\nconst EVENT_FOCUSOUT = `focusout${EVENT_KEY}`\nconst EVENT_HIDE = `hide${EVENT_KEY}`\nconst EVENT_HIDDEN = `hidden${EVENT_KEY}`\nconst EVENT_SHOW = `show${EVENT_KEY}`\nconst EVENT_SHOWN = `shown${EVENT_KEY}`\n\nconst CLASS_NAME_FADE = 'fade'\nconst CLASS_NAME_HIDE = 'hide' // @deprecated - kept here only for backwards compatibility\nconst CLASS_NAME_SHOW = 'show'\nconst CLASS_NAME_SHOWING = 'showing'\n\nconst DefaultType = {\n animation: 'boolean',\n autohide: 'boolean',\n delay: 'number'\n}\n\nconst Default = {\n animation: true,\n autohide: true,\n delay: 5000\n}\n\n/**\n * Class definition\n */\n\nclass Toast extends BaseComponent {\n constructor(element, config) {\n super(element, config)\n\n this._timeout = null\n this._hasMouseInteraction = false\n this._hasKeyboardInteraction = false\n this._setListeners()\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 show() {\n const showEvent = EventHandler.trigger(this._element, EVENT_SHOW)\n\n if (showEvent.defaultPrevented) {\n return\n }\n\n this._clearTimeout()\n\n if (this._config.animation) {\n this._element.classList.add(CLASS_NAME_FADE)\n }\n\n const complete = () => {\n this._element.classList.remove(CLASS_NAME_SHOWING)\n EventHandler.trigger(this._element, EVENT_SHOWN)\n\n this._maybeScheduleHide()\n }\n\n this._element.classList.remove(CLASS_NAME_HIDE) // @deprecated\n reflow(this._element)\n this._element.classList.add(CLASS_NAME_SHOW, CLASS_NAME_SHOWING)\n\n this._queueCallback(complete, this._element, this._config.animation)\n }\n\n hide() {\n if (!this.isShown()) {\n return\n }\n\n const hideEvent = EventHandler.trigger(this._element, EVENT_HIDE)\n\n if (hideEvent.defaultPrevented) {\n return\n }\n\n const complete = () => {\n this._element.classList.add(CLASS_NAME_HIDE) // @deprecated\n this._element.classList.remove(CLASS_NAME_SHOWING, CLASS_NAME_SHOW)\n EventHandler.trigger(this._element, EVENT_HIDDEN)\n }\n\n this._element.classList.add(CLASS_NAME_SHOWING)\n this._queueCallback(complete, this._element, this._config.animation)\n }\n\n dispose() {\n this._clearTimeout()\n\n if (this.isShown()) {\n this._element.classList.remove(CLASS_NAME_SHOW)\n }\n\n super.dispose()\n }\n\n isShown() {\n return this._element.classList.contains(CLASS_NAME_SHOW)\n }\n\n // Private\n\n _maybeScheduleHide() {\n if (!this._config.autohide) {\n return\n }\n\n if (this._hasMouseInteraction || this._hasKeyboardInteraction) {\n return\n }\n\n this._timeout = setTimeout(() => {\n this.hide()\n }, this._config.delay)\n }\n\n _onInteraction(event, isInteracting) {\n switch (event.type) {\n case 'mouseover':\n case 'mouseout':\n this._hasMouseInteraction = isInteracting\n break\n case 'focusin':\n case 'focusout':\n this._hasKeyboardInteraction = isInteracting\n break\n default:\n break\n }\n\n if (isInteracting) {\n this._clearTimeout()\n return\n }\n\n const nextElement = event.relatedTarget\n if (this._element === nextElement || this._element.contains(nextElement)) {\n return\n }\n\n this._maybeScheduleHide()\n }\n\n _setListeners() {\n EventHandler.on(this._element, EVENT_MOUSEOVER, event => this._onInteraction(event, true))\n EventHandler.on(this._element, EVENT_MOUSEOUT, event => this._onInteraction(event, false))\n EventHandler.on(this._element, EVENT_FOCUSIN, event => this._onInteraction(event, true))\n EventHandler.on(this._element, EVENT_FOCUSOUT, event => this._onInteraction(event, false))\n }\n\n _clearTimeout() {\n clearTimeout(this._timeout)\n this._timeout = null\n }\n\n // Static\n static jQueryInterface(config) {\n return this.each(function () {\n const data = Toast.getOrCreateInstance(this, config)\n\n if (typeof config === 'string') {\n if (typeof data[config] === 'undefined') {\n throw new TypeError(`No method named \"${config}\"`)\n }\n\n data[config](this)\n }\n })\n }\n}\n\n/**\n * Data API implementation\n */\n\nenableDismissTrigger(Toast)\n\n/**\n * jQuery\n */\n\ndefineJQueryPlugin(Toast)\n\nexport default Toast\n"],"names":["NAME","DATA_KEY","EVENT_KEY","EVENT_MOUSEOVER","EVENT_MOUSEOUT","EVENT_FOCUSIN","EVENT_FOCUSOUT","EVENT_HIDE","EVENT_HIDDEN","EVENT_SHOW","EVENT_SHOWN","CLASS_NAME_FADE","CLASS_NAME_HIDE","CLASS_NAME_SHOW","CLASS_NAME_SHOWING","DefaultType","animation","autohide","delay","Default","Toast","BaseComponent","constructor","element","config","_timeout","_hasMouseInteraction","_hasKeyboardInteraction","_setListeners","show","showEvent","EventHandler","trigger","_element","defaultPrevented","_clearTimeout","_config","classList","add","complete","remove","_maybeScheduleHide","reflow","_queueCallback","hide","isShown","hideEvent","dispose","contains","setTimeout","_onInteraction","event","isInteracting","type","nextElement","relatedTarget","on","clearTimeout","jQueryInterface","each","data","getOrCreateInstance","TypeError","enableDismissTrigger","defineJQueryPlugin"],"mappings":"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"}
|