@coreui/coreui 5.3.2 → 5.4.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.
Files changed (129) hide show
  1. package/README.md +21 -4
  2. package/dist/css/coreui-grid.css +1 -1
  3. package/dist/css/coreui-grid.css.map +1 -1
  4. package/dist/css/coreui-grid.min.css +1 -1
  5. package/dist/css/coreui-grid.min.css.map +1 -1
  6. package/dist/css/coreui-grid.rtl.css +1 -1
  7. package/dist/css/coreui-grid.rtl.css.map +1 -1
  8. package/dist/css/coreui-grid.rtl.min.css +1 -1
  9. package/dist/css/coreui-grid.rtl.min.css.map +1 -1
  10. package/dist/css/coreui-reboot.css +1 -1
  11. package/dist/css/coreui-reboot.css.map +1 -1
  12. package/dist/css/coreui-reboot.min.css +1 -1
  13. package/dist/css/coreui-reboot.min.css.map +1 -1
  14. package/dist/css/coreui-reboot.rtl.css +1 -1
  15. package/dist/css/coreui-reboot.rtl.css.map +1 -1
  16. package/dist/css/coreui-reboot.rtl.min.css +1 -1
  17. package/dist/css/coreui-reboot.rtl.min.css.map +1 -1
  18. package/dist/css/coreui-utilities.css +5 -1
  19. package/dist/css/coreui-utilities.css.map +1 -1
  20. package/dist/css/coreui-utilities.min.css +2 -2
  21. package/dist/css/coreui-utilities.min.css.map +1 -1
  22. package/dist/css/coreui-utilities.rtl.css +5 -1
  23. package/dist/css/coreui-utilities.rtl.css.map +1 -1
  24. package/dist/css/coreui-utilities.rtl.min.css +2 -2
  25. package/dist/css/coreui-utilities.rtl.min.css.map +1 -1
  26. package/dist/css/coreui.css +83 -9
  27. package/dist/css/coreui.css.map +1 -1
  28. package/dist/css/coreui.min.css +2 -2
  29. package/dist/css/coreui.min.css.map +1 -1
  30. package/dist/css/coreui.rtl.css +83 -9
  31. package/dist/css/coreui.rtl.css.map +1 -1
  32. package/dist/css/coreui.rtl.min.css +2 -2
  33. package/dist/css/coreui.rtl.min.css.map +1 -1
  34. package/dist/css/themes/bootstrap/bootstrap.css +83 -9
  35. package/dist/css/themes/bootstrap/bootstrap.css.map +1 -1
  36. package/dist/css/themes/bootstrap/bootstrap.min.css +2 -2
  37. package/dist/css/themes/bootstrap/bootstrap.min.css.map +1 -1
  38. package/dist/css/themes/bootstrap/bootstrap.rtl.css +83 -9
  39. package/dist/css/themes/bootstrap/bootstrap.rtl.css.map +1 -1
  40. package/dist/css/themes/bootstrap/bootstrap.rtl.min.css +2 -2
  41. package/dist/css/themes/bootstrap/bootstrap.rtl.min.css.map +1 -1
  42. package/dist/js/bootstrap.bundle.js +7 -6
  43. package/dist/js/bootstrap.bundle.js.map +1 -1
  44. package/dist/js/bootstrap.bundle.min.js +2 -2
  45. package/dist/js/bootstrap.bundle.min.js.map +1 -1
  46. package/dist/js/bootstrap.esm.js +7 -6
  47. package/dist/js/bootstrap.esm.js.map +1 -1
  48. package/dist/js/bootstrap.esm.min.js +2 -2
  49. package/dist/js/bootstrap.esm.min.js.map +1 -1
  50. package/dist/js/bootstrap.js +7 -6
  51. package/dist/js/bootstrap.js.map +1 -1
  52. package/dist/js/bootstrap.min.js +2 -2
  53. package/dist/js/bootstrap.min.js.map +1 -1
  54. package/dist/js/coreui.bundle.js +6 -5
  55. package/dist/js/coreui.bundle.js.map +1 -1
  56. package/dist/js/coreui.bundle.min.js +2 -2
  57. package/dist/js/coreui.bundle.min.js.map +1 -1
  58. package/dist/js/coreui.esm.js +6 -5
  59. package/dist/js/coreui.esm.js.map +1 -1
  60. package/dist/js/coreui.esm.min.js +2 -2
  61. package/dist/js/coreui.esm.min.js.map +1 -1
  62. package/dist/js/coreui.js +6 -5
  63. package/dist/js/coreui.js.map +1 -1
  64. package/dist/js/coreui.min.js +2 -2
  65. package/dist/js/coreui.min.js.map +1 -1
  66. package/js/dist/alert.js +1 -1
  67. package/js/dist/alert.js.map +1 -1
  68. package/js/dist/base-component.js +4 -2
  69. package/js/dist/base-component.js.map +1 -1
  70. package/js/dist/button.js +1 -1
  71. package/js/dist/button.js.map +1 -1
  72. package/js/dist/carousel.js +1 -1
  73. package/js/dist/carousel.js.map +1 -1
  74. package/js/dist/collapse.js +3 -3
  75. package/js/dist/collapse.js.map +1 -1
  76. package/js/dist/dom/data.js +1 -1
  77. package/js/dist/dom/event-handler.js +1 -1
  78. package/js/dist/dom/event-handler.js.map +1 -1
  79. package/js/dist/dom/manipulator.js +1 -1
  80. package/js/dist/dom/manipulator.js.map +1 -1
  81. package/js/dist/dom/selector-engine.js +1 -1
  82. package/js/dist/dom/selector-engine.js.map +1 -1
  83. package/js/dist/dropdown.js +1 -1
  84. package/js/dist/dropdown.js.map +1 -1
  85. package/js/dist/modal.js +1 -1
  86. package/js/dist/modal.js.map +1 -1
  87. package/js/dist/navigation.js +1 -1
  88. package/js/dist/navigation.js.map +1 -1
  89. package/js/dist/offcanvas.js +1 -1
  90. package/js/dist/offcanvas.js.map +1 -1
  91. package/js/dist/popover.js +1 -1
  92. package/js/dist/popover.js.map +1 -1
  93. package/js/dist/scrollspy.js +1 -1
  94. package/js/dist/scrollspy.js.map +1 -1
  95. package/js/dist/sidebar.js +1 -1
  96. package/js/dist/sidebar.js.map +1 -1
  97. package/js/dist/tab.js +1 -1
  98. package/js/dist/tab.js.map +1 -1
  99. package/js/dist/toast.js +1 -2
  100. package/js/dist/toast.js.map +1 -1
  101. package/js/dist/tooltip.js +1 -1
  102. package/js/dist/tooltip.js.map +1 -1
  103. package/js/dist/util/backdrop.js +1 -1
  104. package/js/dist/util/backdrop.js.map +1 -1
  105. package/js/dist/util/component-functions.js +1 -1
  106. package/js/dist/util/component-functions.js.map +1 -1
  107. package/js/dist/util/config.js +1 -1
  108. package/js/dist/util/config.js.map +1 -1
  109. package/js/dist/util/focustrap.js +1 -1
  110. package/js/dist/util/focustrap.js.map +1 -1
  111. package/js/dist/util/index.js +1 -1
  112. package/js/dist/util/index.js.map +1 -1
  113. package/js/dist/util/sanitizer.js +1 -1
  114. package/js/dist/util/scrollbar.js +1 -1
  115. package/js/dist/util/scrollbar.js.map +1 -1
  116. package/js/dist/util/swipe.js +1 -1
  117. package/js/dist/util/swipe.js.map +1 -1
  118. package/js/dist/util/template-factory.js +1 -1
  119. package/js/src/base-component.js +2 -1
  120. package/js/src/collapse.js +1 -1
  121. package/js/src/toast.js +0 -1
  122. package/package.json +32 -26
  123. package/scss/_banner.scss +1 -1
  124. package/scss/_buttons.scss +32 -0
  125. package/scss/_card.scss +8 -8
  126. package/scss/_mixins.scss +0 -2
  127. package/scss/_nav.scss +54 -0
  128. package/scss/_variables.scss +36 -0
  129. package/scss/mixins/_visually-hidden.scss +5 -0
@@ -1 +1 @@
1
- {"version":3,"file":"dropdown.js","sources":["../src/dropdown.js"],"sourcesContent":["/**\n * --------------------------------------------------------------------------\n * CoreUI dropdown.js\n * Licensed under MIT (https://github.com/coreui/coreui/blob/main/LICENSE)\n *\n * This component is a modified version of the Bootstrap's dropdown.js\n * Licensed under MIT (https://github.com/twbs/bootstrap/blob/main/LICENSE)\n * --------------------------------------------------------------------------\n */\n\nimport * as Popper from '@popperjs/core'\nimport BaseComponent from './base-component.js'\nimport EventHandler from './dom/event-handler.js'\nimport Manipulator from './dom/manipulator.js'\nimport SelectorEngine from './dom/selector-engine.js'\nimport {\n defineJQueryPlugin,\n execute,\n getElement,\n getNextActiveElement,\n isDisabled,\n isElement,\n isRTL,\n isVisible,\n noop\n} from './util/index.js'\n\n/**\n * Constants\n */\n\nconst NAME = 'dropdown'\nconst DATA_KEY = 'coreui.dropdown'\nconst EVENT_KEY = `.${DATA_KEY}`\nconst DATA_API_KEY = '.data-api'\n\nconst ESCAPE_KEY = 'Escape'\nconst TAB_KEY = 'Tab'\nconst ARROW_UP_KEY = 'ArrowUp'\nconst ARROW_DOWN_KEY = 'ArrowDown'\nconst RIGHT_MOUSE_BUTTON = 2 // MouseEvent.button value for the secondary button, usually the right button\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}`\nconst EVENT_KEYDOWN_DATA_API = `keydown${EVENT_KEY}${DATA_API_KEY}`\nconst EVENT_KEYUP_DATA_API = `keyup${EVENT_KEY}${DATA_API_KEY}`\n\nconst CLASS_NAME_SHOW = 'show'\nconst CLASS_NAME_DROPUP = 'dropup'\nconst CLASS_NAME_DROPEND = 'dropend'\nconst CLASS_NAME_DROPSTART = 'dropstart'\nconst CLASS_NAME_DROPUP_CENTER = 'dropup-center'\nconst CLASS_NAME_DROPDOWN_CENTER = 'dropdown-center'\n\nconst SELECTOR_DATA_TOGGLE = '[data-coreui-toggle=\"dropdown\"]:not(.disabled):not(:disabled)'\nconst SELECTOR_DATA_TOGGLE_SHOWN = `${SELECTOR_DATA_TOGGLE}.${CLASS_NAME_SHOW}`\nconst SELECTOR_MENU = '.dropdown-menu'\nconst SELECTOR_NAVBAR = '.navbar'\nconst SELECTOR_NAVBAR_NAV = '.navbar-nav'\nconst SELECTOR_VISIBLE_ITEMS = '.dropdown-menu .dropdown-item:not(.disabled):not(:disabled)'\n\nconst PLACEMENT_TOP = isRTL() ? 'top-end' : 'top-start'\nconst PLACEMENT_TOPEND = isRTL() ? 'top-start' : 'top-end'\nconst PLACEMENT_BOTTOM = isRTL() ? 'bottom-end' : 'bottom-start'\nconst PLACEMENT_BOTTOMEND = isRTL() ? 'bottom-start' : 'bottom-end'\nconst PLACEMENT_RIGHT = isRTL() ? 'left-start' : 'right-start'\nconst PLACEMENT_LEFT = isRTL() ? 'right-start' : 'left-start'\nconst PLACEMENT_TOPCENTER = 'top'\nconst PLACEMENT_BOTTOMCENTER = 'bottom'\n\nconst Default = {\n autoClose: true,\n boundary: 'clippingParents',\n display: 'dynamic',\n offset: [0, 2],\n popperConfig: null,\n reference: 'toggle'\n}\n\nconst DefaultType = {\n autoClose: '(boolean|string)',\n boundary: '(string|element)',\n display: 'string',\n offset: '(array|string|function)',\n popperConfig: '(null|object|function)',\n reference: '(string|element|object)'\n}\n\n/**\n * Class definition\n */\n\nclass Dropdown extends BaseComponent {\n constructor(element, config) {\n super(element, config)\n\n this._popper = null\n this._parent = this._element.parentNode // dropdown wrapper\n // TODO: v6 revert #37011 & change markup https://getbootstrap.com/docs/5.3/forms/input-group/\n this._menu = SelectorEngine.next(this._element, SELECTOR_MENU)[0] ||\n SelectorEngine.prev(this._element, SELECTOR_MENU)[0] ||\n SelectorEngine.findOne(SELECTOR_MENU, this._parent)\n this._inNavbar = this._detectNavbar()\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 toggle() {\n return this._isShown() ? this.hide() : this.show()\n }\n\n show() {\n if (isDisabled(this._element) || this._isShown()) {\n return\n }\n\n const relatedTarget = {\n relatedTarget: this._element\n }\n\n const showEvent = EventHandler.trigger(this._element, EVENT_SHOW, relatedTarget)\n\n if (showEvent.defaultPrevented) {\n return\n }\n\n this._createPopper()\n\n // If this is a touch-enabled device we add extra\n // empty mouseover listeners to the body's immediate children;\n // only needed because of broken event delegation on iOS\n // https://www.quirksmode.org/blog/archives/2014/02/mouse_event_bub.html\n if ('ontouchstart' in document.documentElement && !this._parent.closest(SELECTOR_NAVBAR_NAV)) {\n for (const element of [].concat(...document.body.children)) {\n EventHandler.on(element, 'mouseover', noop)\n }\n }\n\n this._element.focus()\n this._element.setAttribute('aria-expanded', true)\n\n this._menu.classList.add(CLASS_NAME_SHOW)\n this._element.classList.add(CLASS_NAME_SHOW)\n EventHandler.trigger(this._element, EVENT_SHOWN, relatedTarget)\n }\n\n hide() {\n if (isDisabled(this._element) || !this._isShown()) {\n return\n }\n\n const relatedTarget = {\n relatedTarget: this._element\n }\n\n this._completeHide(relatedTarget)\n }\n\n dispose() {\n if (this._popper) {\n this._popper.destroy()\n }\n\n super.dispose()\n }\n\n update() {\n this._inNavbar = this._detectNavbar()\n if (this._popper) {\n this._popper.update()\n }\n }\n\n // Private\n _completeHide(relatedTarget) {\n const hideEvent = EventHandler.trigger(this._element, EVENT_HIDE, relatedTarget)\n if (hideEvent.defaultPrevented) {\n return\n }\n\n // If this is a touch-enabled device we remove the extra\n // empty mouseover listeners we added for iOS support\n if ('ontouchstart' in document.documentElement) {\n for (const element of [].concat(...document.body.children)) {\n EventHandler.off(element, 'mouseover', noop)\n }\n }\n\n if (this._popper) {\n this._popper.destroy()\n }\n\n this._menu.classList.remove(CLASS_NAME_SHOW)\n this._element.classList.remove(CLASS_NAME_SHOW)\n this._element.setAttribute('aria-expanded', 'false')\n Manipulator.removeDataAttribute(this._menu, 'popper')\n EventHandler.trigger(this._element, EVENT_HIDDEN, relatedTarget)\n }\n\n _getConfig(config) {\n config = super._getConfig(config)\n\n if (typeof config.reference === 'object' && !isElement(config.reference) &&\n typeof config.reference.getBoundingClientRect !== 'function'\n ) {\n // Popper virtual elements require a getBoundingClientRect method\n throw new TypeError(`${NAME.toUpperCase()}: Option \"reference\" provided type \"object\" without a required \"getBoundingClientRect\" method.`)\n }\n\n return config\n }\n\n _createPopper() {\n if (typeof Popper === 'undefined') {\n throw new TypeError('CoreUI\\'s dropdowns require Popper (https://popper.js.org/docs/v2/)')\n }\n\n let referenceElement = this._element\n\n if (this._config.reference === 'parent') {\n referenceElement = this._parent\n } else if (isElement(this._config.reference)) {\n referenceElement = getElement(this._config.reference)\n } else if (typeof this._config.reference === 'object') {\n referenceElement = this._config.reference\n }\n\n const popperConfig = this._getPopperConfig()\n this._popper = Popper.createPopper(referenceElement, this._menu, popperConfig)\n }\n\n _isShown() {\n return this._menu.classList.contains(CLASS_NAME_SHOW)\n }\n\n _getPlacement() {\n const parentDropdown = this._parent\n\n if (parentDropdown.classList.contains(CLASS_NAME_DROPEND)) {\n return PLACEMENT_RIGHT\n }\n\n if (parentDropdown.classList.contains(CLASS_NAME_DROPSTART)) {\n return PLACEMENT_LEFT\n }\n\n if (parentDropdown.classList.contains(CLASS_NAME_DROPUP_CENTER)) {\n return PLACEMENT_TOPCENTER\n }\n\n if (parentDropdown.classList.contains(CLASS_NAME_DROPDOWN_CENTER)) {\n return PLACEMENT_BOTTOMCENTER\n }\n\n // We need to trim the value because custom properties can also include spaces\n const isEnd = getComputedStyle(this._menu).getPropertyValue('--cui-position').trim() === 'end'\n\n if (parentDropdown.classList.contains(CLASS_NAME_DROPUP)) {\n return isEnd ? PLACEMENT_TOPEND : PLACEMENT_TOP\n }\n\n return isEnd ? PLACEMENT_BOTTOMEND : PLACEMENT_BOTTOM\n }\n\n _detectNavbar() {\n return this._element.closest(SELECTOR_NAVBAR) !== null\n }\n\n _getOffset() {\n const { offset } = this._config\n\n if (typeof offset === 'string') {\n return offset.split(',').map(value => Number.parseInt(value, 10))\n }\n\n if (typeof offset === 'function') {\n return popperData => offset(popperData, this._element)\n }\n\n return offset\n }\n\n _getPopperConfig() {\n const defaultBsPopperConfig = {\n placement: this._getPlacement(),\n modifiers: [{\n name: 'preventOverflow',\n options: {\n boundary: this._config.boundary\n }\n },\n {\n name: 'offset',\n options: {\n offset: this._getOffset()\n }\n }]\n }\n\n // Disable Popper if we have a static display or Dropdown is in Navbar\n if (this._inNavbar || this._config.display === 'static') {\n Manipulator.setDataAttribute(this._menu, 'popper', 'static') // TODO: v6 remove\n defaultBsPopperConfig.modifiers = [{\n name: 'applyStyles',\n enabled: false\n }]\n }\n\n return {\n ...defaultBsPopperConfig,\n ...execute(this._config.popperConfig, [undefined, defaultBsPopperConfig])\n }\n }\n\n _selectMenuItem({ key, target }) {\n const items = SelectorEngine.find(SELECTOR_VISIBLE_ITEMS, this._menu).filter(element => isVisible(element))\n\n if (!items.length) {\n return\n }\n\n // if target isn't included in items (e.g. when expanding the dropdown)\n // allow cycling to get the last item in case key equals ARROW_UP_KEY\n getNextActiveElement(items, target, key === ARROW_DOWN_KEY, !items.includes(target)).focus()\n }\n\n // Static\n static jQueryInterface(config) {\n return this.each(function () {\n const data = Dropdown.getOrCreateInstance(this, config)\n\n if (typeof config !== 'string') {\n return\n }\n\n if (typeof data[config] === 'undefined') {\n throw new TypeError(`No method named \"${config}\"`)\n }\n\n data[config]()\n })\n }\n\n static clearMenus(event) {\n if (event.button === RIGHT_MOUSE_BUTTON || (event.type === 'keyup' && event.key !== TAB_KEY)) {\n return\n }\n\n const openToggles = SelectorEngine.find(SELECTOR_DATA_TOGGLE_SHOWN)\n\n for (const toggle of openToggles) {\n const context = Dropdown.getInstance(toggle)\n if (!context || context._config.autoClose === false) {\n continue\n }\n\n const composedPath = event.composedPath()\n const isMenuTarget = composedPath.includes(context._menu)\n if (\n composedPath.includes(context._element) ||\n (context._config.autoClose === 'inside' && !isMenuTarget) ||\n (context._config.autoClose === 'outside' && isMenuTarget)\n ) {\n continue\n }\n\n // Tab navigation through the dropdown menu or events from contained inputs shouldn't close the menu\n if (context._menu.contains(event.target) && ((event.type === 'keyup' && event.key === TAB_KEY) || /input|select|option|textarea|form/i.test(event.target.tagName))) {\n continue\n }\n\n const relatedTarget = { relatedTarget: context._element }\n\n if (event.type === 'click') {\n relatedTarget.clickEvent = event\n }\n\n context._completeHide(relatedTarget)\n }\n }\n\n static dataApiKeydownHandler(event) {\n // If not an UP | DOWN | ESCAPE key => not a dropdown command\n // If input/textarea && if key is other than ESCAPE => not a dropdown command\n\n const isInput = /input|textarea/i.test(event.target.tagName)\n const isEscapeEvent = event.key === ESCAPE_KEY\n const isUpOrDownEvent = [ARROW_UP_KEY, ARROW_DOWN_KEY].includes(event.key)\n\n if (!isUpOrDownEvent && !isEscapeEvent) {\n return\n }\n\n if (isInput && !isEscapeEvent) {\n return\n }\n\n event.preventDefault()\n\n // TODO: v6 revert #37011 & change markup https://getbootstrap.com/docs/5.3/forms/input-group/\n const getToggleButton = this.matches(SELECTOR_DATA_TOGGLE) ?\n this :\n (SelectorEngine.prev(this, SELECTOR_DATA_TOGGLE)[0] ||\n SelectorEngine.next(this, SELECTOR_DATA_TOGGLE)[0] ||\n SelectorEngine.findOne(SELECTOR_DATA_TOGGLE, event.delegateTarget.parentNode))\n\n const instance = Dropdown.getOrCreateInstance(getToggleButton)\n\n if (isUpOrDownEvent) {\n event.stopPropagation()\n instance.show()\n instance._selectMenuItem(event)\n return\n }\n\n if (instance._isShown()) { // else is escape and we check if it is shown\n event.stopPropagation()\n instance.hide()\n getToggleButton.focus()\n }\n }\n}\n\n/**\n * Data API implementation\n */\n\nEventHandler.on(document, EVENT_KEYDOWN_DATA_API, SELECTOR_DATA_TOGGLE, Dropdown.dataApiKeydownHandler)\nEventHandler.on(document, EVENT_KEYDOWN_DATA_API, SELECTOR_MENU, Dropdown.dataApiKeydownHandler)\nEventHandler.on(document, EVENT_CLICK_DATA_API, Dropdown.clearMenus)\nEventHandler.on(document, EVENT_KEYUP_DATA_API, Dropdown.clearMenus)\nEventHandler.on(document, EVENT_CLICK_DATA_API, SELECTOR_DATA_TOGGLE, function (event) {\n event.preventDefault()\n Dropdown.getOrCreateInstance(this).toggle()\n})\n\n/**\n * jQuery\n */\n\ndefineJQueryPlugin(Dropdown)\n\nexport default Dropdown\n"],"names":["NAME","DATA_KEY","EVENT_KEY","DATA_API_KEY","ESCAPE_KEY","TAB_KEY","ARROW_UP_KEY","ARROW_DOWN_KEY","RIGHT_MOUSE_BUTTON","EVENT_HIDE","EVENT_HIDDEN","EVENT_SHOW","EVENT_SHOWN","EVENT_CLICK_DATA_API","EVENT_KEYDOWN_DATA_API","EVENT_KEYUP_DATA_API","CLASS_NAME_SHOW","CLASS_NAME_DROPUP","CLASS_NAME_DROPEND","CLASS_NAME_DROPSTART","CLASS_NAME_DROPUP_CENTER","CLASS_NAME_DROPDOWN_CENTER","SELECTOR_DATA_TOGGLE","SELECTOR_DATA_TOGGLE_SHOWN","SELECTOR_MENU","SELECTOR_NAVBAR","SELECTOR_NAVBAR_NAV","SELECTOR_VISIBLE_ITEMS","PLACEMENT_TOP","isRTL","PLACEMENT_TOPEND","PLACEMENT_BOTTOM","PLACEMENT_BOTTOMEND","PLACEMENT_RIGHT","PLACEMENT_LEFT","PLACEMENT_TOPCENTER","PLACEMENT_BOTTOMCENTER","Default","autoClose","boundary","display","offset","popperConfig","reference","DefaultType","Dropdown","BaseComponent","constructor","element","config","_popper","_parent","_element","parentNode","_menu","SelectorEngine","next","prev","findOne","_inNavbar","_detectNavbar","toggle","_isShown","hide","show","isDisabled","relatedTarget","showEvent","EventHandler","trigger","defaultPrevented","_createPopper","document","documentElement","closest","concat","body","children","on","noop","focus","setAttribute","classList","add","_completeHide","dispose","destroy","update","hideEvent","off","remove","Manipulator","removeDataAttribute","_getConfig","isElement","getBoundingClientRect","TypeError","toUpperCase","Popper","referenceElement","_config","getElement","_getPopperConfig","createPopper","contains","_getPlacement","parentDropdown","isEnd","getComputedStyle","getPropertyValue","trim","_getOffset","split","map","value","Number","parseInt","popperData","defaultBsPopperConfig","placement","modifiers","name","options","setDataAttribute","enabled","execute","undefined","_selectMenuItem","key","target","items","find","filter","isVisible","length","getNextActiveElement","includes","jQueryInterface","each","data","getOrCreateInstance","clearMenus","event","button","type","openToggles","context","getInstance","composedPath","isMenuTarget","test","tagName","clickEvent","dataApiKeydownHandler","isInput","isEscapeEvent","isUpOrDownEvent","preventDefault","getToggleButton","matches","delegateTarget","instance","stopPropagation","defineJQueryPlugin"],"mappings":"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"}
1
+ {"version":3,"file":"dropdown.js","sources":["../src/dropdown.js"],"sourcesContent":["/**\n * --------------------------------------------------------------------------\n * CoreUI dropdown.js\n * Licensed under MIT (https://github.com/coreui/coreui/blob/main/LICENSE)\n *\n * This component is a modified version of the Bootstrap's dropdown.js\n * Licensed under MIT (https://github.com/twbs/bootstrap/blob/main/LICENSE)\n * --------------------------------------------------------------------------\n */\n\nimport * as Popper from '@popperjs/core'\nimport BaseComponent from './base-component.js'\nimport EventHandler from './dom/event-handler.js'\nimport Manipulator from './dom/manipulator.js'\nimport SelectorEngine from './dom/selector-engine.js'\nimport {\n defineJQueryPlugin,\n execute,\n getElement,\n getNextActiveElement,\n isDisabled,\n isElement,\n isRTL,\n isVisible,\n noop\n} from './util/index.js'\n\n/**\n * Constants\n */\n\nconst NAME = 'dropdown'\nconst DATA_KEY = 'coreui.dropdown'\nconst EVENT_KEY = `.${DATA_KEY}`\nconst DATA_API_KEY = '.data-api'\n\nconst ESCAPE_KEY = 'Escape'\nconst TAB_KEY = 'Tab'\nconst ARROW_UP_KEY = 'ArrowUp'\nconst ARROW_DOWN_KEY = 'ArrowDown'\nconst RIGHT_MOUSE_BUTTON = 2 // MouseEvent.button value for the secondary button, usually the right button\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}`\nconst EVENT_KEYDOWN_DATA_API = `keydown${EVENT_KEY}${DATA_API_KEY}`\nconst EVENT_KEYUP_DATA_API = `keyup${EVENT_KEY}${DATA_API_KEY}`\n\nconst CLASS_NAME_SHOW = 'show'\nconst CLASS_NAME_DROPUP = 'dropup'\nconst CLASS_NAME_DROPEND = 'dropend'\nconst CLASS_NAME_DROPSTART = 'dropstart'\nconst CLASS_NAME_DROPUP_CENTER = 'dropup-center'\nconst CLASS_NAME_DROPDOWN_CENTER = 'dropdown-center'\n\nconst SELECTOR_DATA_TOGGLE = '[data-coreui-toggle=\"dropdown\"]:not(.disabled):not(:disabled)'\nconst SELECTOR_DATA_TOGGLE_SHOWN = `${SELECTOR_DATA_TOGGLE}.${CLASS_NAME_SHOW}`\nconst SELECTOR_MENU = '.dropdown-menu'\nconst SELECTOR_NAVBAR = '.navbar'\nconst SELECTOR_NAVBAR_NAV = '.navbar-nav'\nconst SELECTOR_VISIBLE_ITEMS = '.dropdown-menu .dropdown-item:not(.disabled):not(:disabled)'\n\nconst PLACEMENT_TOP = isRTL() ? 'top-end' : 'top-start'\nconst PLACEMENT_TOPEND = isRTL() ? 'top-start' : 'top-end'\nconst PLACEMENT_BOTTOM = isRTL() ? 'bottom-end' : 'bottom-start'\nconst PLACEMENT_BOTTOMEND = isRTL() ? 'bottom-start' : 'bottom-end'\nconst PLACEMENT_RIGHT = isRTL() ? 'left-start' : 'right-start'\nconst PLACEMENT_LEFT = isRTL() ? 'right-start' : 'left-start'\nconst PLACEMENT_TOPCENTER = 'top'\nconst PLACEMENT_BOTTOMCENTER = 'bottom'\n\nconst Default = {\n autoClose: true,\n boundary: 'clippingParents',\n display: 'dynamic',\n offset: [0, 2],\n popperConfig: null,\n reference: 'toggle'\n}\n\nconst DefaultType = {\n autoClose: '(boolean|string)',\n boundary: '(string|element)',\n display: 'string',\n offset: '(array|string|function)',\n popperConfig: '(null|object|function)',\n reference: '(string|element|object)'\n}\n\n/**\n * Class definition\n */\n\nclass Dropdown extends BaseComponent {\n constructor(element, config) {\n super(element, config)\n\n this._popper = null\n this._parent = this._element.parentNode // dropdown wrapper\n // TODO: v6 revert #37011 & change markup https://getbootstrap.com/docs/5.3/forms/input-group/\n this._menu = SelectorEngine.next(this._element, SELECTOR_MENU)[0] ||\n SelectorEngine.prev(this._element, SELECTOR_MENU)[0] ||\n SelectorEngine.findOne(SELECTOR_MENU, this._parent)\n this._inNavbar = this._detectNavbar()\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 toggle() {\n return this._isShown() ? this.hide() : this.show()\n }\n\n show() {\n if (isDisabled(this._element) || this._isShown()) {\n return\n }\n\n const relatedTarget = {\n relatedTarget: this._element\n }\n\n const showEvent = EventHandler.trigger(this._element, EVENT_SHOW, relatedTarget)\n\n if (showEvent.defaultPrevented) {\n return\n }\n\n this._createPopper()\n\n // If this is a touch-enabled device we add extra\n // empty mouseover listeners to the body's immediate children;\n // only needed because of broken event delegation on iOS\n // https://www.quirksmode.org/blog/archives/2014/02/mouse_event_bub.html\n if ('ontouchstart' in document.documentElement && !this._parent.closest(SELECTOR_NAVBAR_NAV)) {\n for (const element of [].concat(...document.body.children)) {\n EventHandler.on(element, 'mouseover', noop)\n }\n }\n\n this._element.focus()\n this._element.setAttribute('aria-expanded', true)\n\n this._menu.classList.add(CLASS_NAME_SHOW)\n this._element.classList.add(CLASS_NAME_SHOW)\n EventHandler.trigger(this._element, EVENT_SHOWN, relatedTarget)\n }\n\n hide() {\n if (isDisabled(this._element) || !this._isShown()) {\n return\n }\n\n const relatedTarget = {\n relatedTarget: this._element\n }\n\n this._completeHide(relatedTarget)\n }\n\n dispose() {\n if (this._popper) {\n this._popper.destroy()\n }\n\n super.dispose()\n }\n\n update() {\n this._inNavbar = this._detectNavbar()\n if (this._popper) {\n this._popper.update()\n }\n }\n\n // Private\n _completeHide(relatedTarget) {\n const hideEvent = EventHandler.trigger(this._element, EVENT_HIDE, relatedTarget)\n if (hideEvent.defaultPrevented) {\n return\n }\n\n // If this is a touch-enabled device we remove the extra\n // empty mouseover listeners we added for iOS support\n if ('ontouchstart' in document.documentElement) {\n for (const element of [].concat(...document.body.children)) {\n EventHandler.off(element, 'mouseover', noop)\n }\n }\n\n if (this._popper) {\n this._popper.destroy()\n }\n\n this._menu.classList.remove(CLASS_NAME_SHOW)\n this._element.classList.remove(CLASS_NAME_SHOW)\n this._element.setAttribute('aria-expanded', 'false')\n Manipulator.removeDataAttribute(this._menu, 'popper')\n EventHandler.trigger(this._element, EVENT_HIDDEN, relatedTarget)\n }\n\n _getConfig(config) {\n config = super._getConfig(config)\n\n if (typeof config.reference === 'object' && !isElement(config.reference) &&\n typeof config.reference.getBoundingClientRect !== 'function'\n ) {\n // Popper virtual elements require a getBoundingClientRect method\n throw new TypeError(`${NAME.toUpperCase()}: Option \"reference\" provided type \"object\" without a required \"getBoundingClientRect\" method.`)\n }\n\n return config\n }\n\n _createPopper() {\n if (typeof Popper === 'undefined') {\n throw new TypeError('CoreUI\\'s dropdowns require Popper (https://popper.js.org/docs/v2/)')\n }\n\n let referenceElement = this._element\n\n if (this._config.reference === 'parent') {\n referenceElement = this._parent\n } else if (isElement(this._config.reference)) {\n referenceElement = getElement(this._config.reference)\n } else if (typeof this._config.reference === 'object') {\n referenceElement = this._config.reference\n }\n\n const popperConfig = this._getPopperConfig()\n this._popper = Popper.createPopper(referenceElement, this._menu, popperConfig)\n }\n\n _isShown() {\n return this._menu.classList.contains(CLASS_NAME_SHOW)\n }\n\n _getPlacement() {\n const parentDropdown = this._parent\n\n if (parentDropdown.classList.contains(CLASS_NAME_DROPEND)) {\n return PLACEMENT_RIGHT\n }\n\n if (parentDropdown.classList.contains(CLASS_NAME_DROPSTART)) {\n return PLACEMENT_LEFT\n }\n\n if (parentDropdown.classList.contains(CLASS_NAME_DROPUP_CENTER)) {\n return PLACEMENT_TOPCENTER\n }\n\n if (parentDropdown.classList.contains(CLASS_NAME_DROPDOWN_CENTER)) {\n return PLACEMENT_BOTTOMCENTER\n }\n\n // We need to trim the value because custom properties can also include spaces\n const isEnd = getComputedStyle(this._menu).getPropertyValue('--cui-position').trim() === 'end'\n\n if (parentDropdown.classList.contains(CLASS_NAME_DROPUP)) {\n return isEnd ? PLACEMENT_TOPEND : PLACEMENT_TOP\n }\n\n return isEnd ? PLACEMENT_BOTTOMEND : PLACEMENT_BOTTOM\n }\n\n _detectNavbar() {\n return this._element.closest(SELECTOR_NAVBAR) !== null\n }\n\n _getOffset() {\n const { offset } = this._config\n\n if (typeof offset === 'string') {\n return offset.split(',').map(value => Number.parseInt(value, 10))\n }\n\n if (typeof offset === 'function') {\n return popperData => offset(popperData, this._element)\n }\n\n return offset\n }\n\n _getPopperConfig() {\n const defaultBsPopperConfig = {\n placement: this._getPlacement(),\n modifiers: [{\n name: 'preventOverflow',\n options: {\n boundary: this._config.boundary\n }\n },\n {\n name: 'offset',\n options: {\n offset: this._getOffset()\n }\n }]\n }\n\n // Disable Popper if we have a static display or Dropdown is in Navbar\n if (this._inNavbar || this._config.display === 'static') {\n Manipulator.setDataAttribute(this._menu, 'popper', 'static') // TODO: v6 remove\n defaultBsPopperConfig.modifiers = [{\n name: 'applyStyles',\n enabled: false\n }]\n }\n\n return {\n ...defaultBsPopperConfig,\n ...execute(this._config.popperConfig, [undefined, defaultBsPopperConfig])\n }\n }\n\n _selectMenuItem({ key, target }) {\n const items = SelectorEngine.find(SELECTOR_VISIBLE_ITEMS, this._menu).filter(element => isVisible(element))\n\n if (!items.length) {\n return\n }\n\n // if target isn't included in items (e.g. when expanding the dropdown)\n // allow cycling to get the last item in case key equals ARROW_UP_KEY\n getNextActiveElement(items, target, key === ARROW_DOWN_KEY, !items.includes(target)).focus()\n }\n\n // Static\n static jQueryInterface(config) {\n return this.each(function () {\n const data = Dropdown.getOrCreateInstance(this, config)\n\n if (typeof config !== 'string') {\n return\n }\n\n if (typeof data[config] === 'undefined') {\n throw new TypeError(`No method named \"${config}\"`)\n }\n\n data[config]()\n })\n }\n\n static clearMenus(event) {\n if (event.button === RIGHT_MOUSE_BUTTON || (event.type === 'keyup' && event.key !== TAB_KEY)) {\n return\n }\n\n const openToggles = SelectorEngine.find(SELECTOR_DATA_TOGGLE_SHOWN)\n\n for (const toggle of openToggles) {\n const context = Dropdown.getInstance(toggle)\n if (!context || context._config.autoClose === false) {\n continue\n }\n\n const composedPath = event.composedPath()\n const isMenuTarget = composedPath.includes(context._menu)\n if (\n composedPath.includes(context._element) ||\n (context._config.autoClose === 'inside' && !isMenuTarget) ||\n (context._config.autoClose === 'outside' && isMenuTarget)\n ) {\n continue\n }\n\n // Tab navigation through the dropdown menu or events from contained inputs shouldn't close the menu\n if (context._menu.contains(event.target) && ((event.type === 'keyup' && event.key === TAB_KEY) || /input|select|option|textarea|form/i.test(event.target.tagName))) {\n continue\n }\n\n const relatedTarget = { relatedTarget: context._element }\n\n if (event.type === 'click') {\n relatedTarget.clickEvent = event\n }\n\n context._completeHide(relatedTarget)\n }\n }\n\n static dataApiKeydownHandler(event) {\n // If not an UP | DOWN | ESCAPE key => not a dropdown command\n // If input/textarea && if key is other than ESCAPE => not a dropdown command\n\n const isInput = /input|textarea/i.test(event.target.tagName)\n const isEscapeEvent = event.key === ESCAPE_KEY\n const isUpOrDownEvent = [ARROW_UP_KEY, ARROW_DOWN_KEY].includes(event.key)\n\n if (!isUpOrDownEvent && !isEscapeEvent) {\n return\n }\n\n if (isInput && !isEscapeEvent) {\n return\n }\n\n event.preventDefault()\n\n // TODO: v6 revert #37011 & change markup https://getbootstrap.com/docs/5.3/forms/input-group/\n const getToggleButton = this.matches(SELECTOR_DATA_TOGGLE) ?\n this :\n (SelectorEngine.prev(this, SELECTOR_DATA_TOGGLE)[0] ||\n SelectorEngine.next(this, SELECTOR_DATA_TOGGLE)[0] ||\n SelectorEngine.findOne(SELECTOR_DATA_TOGGLE, event.delegateTarget.parentNode))\n\n const instance = Dropdown.getOrCreateInstance(getToggleButton)\n\n if (isUpOrDownEvent) {\n event.stopPropagation()\n instance.show()\n instance._selectMenuItem(event)\n return\n }\n\n if (instance._isShown()) { // else is escape and we check if it is shown\n event.stopPropagation()\n instance.hide()\n getToggleButton.focus()\n }\n }\n}\n\n/**\n * Data API implementation\n */\n\nEventHandler.on(document, EVENT_KEYDOWN_DATA_API, SELECTOR_DATA_TOGGLE, Dropdown.dataApiKeydownHandler)\nEventHandler.on(document, EVENT_KEYDOWN_DATA_API, SELECTOR_MENU, Dropdown.dataApiKeydownHandler)\nEventHandler.on(document, EVENT_CLICK_DATA_API, Dropdown.clearMenus)\nEventHandler.on(document, EVENT_KEYUP_DATA_API, Dropdown.clearMenus)\nEventHandler.on(document, EVENT_CLICK_DATA_API, SELECTOR_DATA_TOGGLE, function (event) {\n event.preventDefault()\n Dropdown.getOrCreateInstance(this).toggle()\n})\n\n/**\n * jQuery\n */\n\ndefineJQueryPlugin(Dropdown)\n\nexport default Dropdown\n"],"names":["NAME","DATA_KEY","EVENT_KEY","DATA_API_KEY","ESCAPE_KEY","TAB_KEY","ARROW_UP_KEY","ARROW_DOWN_KEY","RIGHT_MOUSE_BUTTON","EVENT_HIDE","EVENT_HIDDEN","EVENT_SHOW","EVENT_SHOWN","EVENT_CLICK_DATA_API","EVENT_KEYDOWN_DATA_API","EVENT_KEYUP_DATA_API","CLASS_NAME_SHOW","CLASS_NAME_DROPUP","CLASS_NAME_DROPEND","CLASS_NAME_DROPSTART","CLASS_NAME_DROPUP_CENTER","CLASS_NAME_DROPDOWN_CENTER","SELECTOR_DATA_TOGGLE","SELECTOR_DATA_TOGGLE_SHOWN","SELECTOR_MENU","SELECTOR_NAVBAR","SELECTOR_NAVBAR_NAV","SELECTOR_VISIBLE_ITEMS","PLACEMENT_TOP","isRTL","PLACEMENT_TOPEND","PLACEMENT_BOTTOM","PLACEMENT_BOTTOMEND","PLACEMENT_RIGHT","PLACEMENT_LEFT","PLACEMENT_TOPCENTER","PLACEMENT_BOTTOMCENTER","Default","autoClose","boundary","display","offset","popperConfig","reference","DefaultType","Dropdown","BaseComponent","constructor","element","config","_popper","_parent","_element","parentNode","_menu","SelectorEngine","next","prev","findOne","_inNavbar","_detectNavbar","toggle","_isShown","hide","show","isDisabled","relatedTarget","showEvent","EventHandler","trigger","defaultPrevented","_createPopper","document","documentElement","closest","concat","body","children","on","noop","focus","setAttribute","classList","add","_completeHide","dispose","destroy","update","hideEvent","off","remove","Manipulator","removeDataAttribute","_getConfig","isElement","getBoundingClientRect","TypeError","toUpperCase","Popper","referenceElement","_config","getElement","_getPopperConfig","createPopper","contains","_getPlacement","parentDropdown","isEnd","getComputedStyle","getPropertyValue","trim","_getOffset","split","map","value","Number","parseInt","popperData","defaultBsPopperConfig","placement","modifiers","name","options","setDataAttribute","enabled","execute","undefined","_selectMenuItem","key","target","items","find","filter","isVisible","length","getNextActiveElement","includes","jQueryInterface","each","data","getOrCreateInstance","clearMenus","event","button","type","openToggles","context","getInstance","composedPath","isMenuTarget","test","tagName","clickEvent","dataApiKeydownHandler","isInput","isEscapeEvent","isUpOrDownEvent","preventDefault","getToggleButton","matches","delegateTarget","instance","stopPropagation","defineJQueryPlugin"],"mappings":"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"}
package/js/dist/modal.js CHANGED
@@ -1,5 +1,5 @@
1
1
  /*!
2
- * CoreUI modal.js v5.3.2 (https://coreui.io)
2
+ * CoreUI modal.js v5.4.1 (https://coreui.io)
3
3
  * Copyright 2025 The CoreUI Team (https://github.com/orgs/coreui/people)
4
4
  * Licensed under MIT (https://github.com/coreui/coreui/blob/main/LICENSE)
5
5
  */
@@ -1 +1 @@
1
- {"version":3,"file":"modal.js","sources":["../src/modal.js"],"sourcesContent":["/**\n * --------------------------------------------------------------------------\n * CoreUI modal.js\n * Licensed under MIT (https://github.com/coreui/coreui/blob/main/LICENSE)\n *\n * This component is a modified version of the Bootstrap's modal.js\n * Licensed under MIT (https://github.com/twbs/bootstrap/blob/main/LICENSE)\n * --------------------------------------------------------------------------\n */\n\nimport BaseComponent from './base-component.js'\nimport EventHandler from './dom/event-handler.js'\nimport SelectorEngine from './dom/selector-engine.js'\nimport Backdrop from './util/backdrop.js'\nimport { enableDismissTrigger } from './util/component-functions.js'\nimport FocusTrap from './util/focustrap.js'\nimport {\n defineJQueryPlugin, isRTL, isVisible, reflow\n} from './util/index.js'\nimport ScrollBarHelper from './util/scrollbar.js'\n\n/**\n * Constants\n */\n\nconst NAME = 'modal'\nconst DATA_KEY = 'coreui.modal'\nconst EVENT_KEY = `.${DATA_KEY}`\nconst DATA_API_KEY = '.data-api'\nconst ESCAPE_KEY = 'Escape'\n\nconst EVENT_HIDE = `hide${EVENT_KEY}`\nconst EVENT_HIDE_PREVENTED = `hidePrevented${EVENT_KEY}`\nconst EVENT_HIDDEN = `hidden${EVENT_KEY}`\nconst EVENT_SHOW = `show${EVENT_KEY}`\nconst EVENT_SHOWN = `shown${EVENT_KEY}`\nconst EVENT_RESIZE = `resize${EVENT_KEY}`\nconst EVENT_CLICK_DISMISS = `click.dismiss${EVENT_KEY}`\nconst EVENT_MOUSEDOWN_DISMISS = `mousedown.dismiss${EVENT_KEY}`\nconst EVENT_KEYDOWN_DISMISS = `keydown.dismiss${EVENT_KEY}`\nconst EVENT_CLICK_DATA_API = `click${EVENT_KEY}${DATA_API_KEY}`\n\nconst CLASS_NAME_OPEN = 'modal-open'\nconst CLASS_NAME_FADE = 'fade'\nconst CLASS_NAME_SHOW = 'show'\nconst CLASS_NAME_STATIC = 'modal-static'\n\nconst OPEN_SELECTOR = '.modal.show'\nconst SELECTOR_DIALOG = '.modal-dialog'\nconst SELECTOR_MODAL_BODY = '.modal-body'\nconst SELECTOR_DATA_TOGGLE = '[data-coreui-toggle=\"modal\"]'\n\nconst Default = {\n backdrop: true,\n focus: true,\n keyboard: true\n}\n\nconst DefaultType = {\n backdrop: '(boolean|string)',\n focus: 'boolean',\n keyboard: 'boolean'\n}\n\n/**\n * Class definition\n */\n\nclass Modal extends BaseComponent {\n constructor(element, config) {\n super(element, config)\n\n this._dialog = SelectorEngine.findOne(SELECTOR_DIALOG, this._element)\n this._backdrop = this._initializeBackDrop()\n this._focustrap = this._initializeFocusTrap()\n this._isShown = false\n this._isTransitioning = false\n this._scrollBar = new ScrollBarHelper()\n\n this._addEventListeners()\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 toggle(relatedTarget) {\n return this._isShown ? this.hide() : this.show(relatedTarget)\n }\n\n show(relatedTarget) {\n if (this._isShown || this._isTransitioning) {\n return\n }\n\n const showEvent = EventHandler.trigger(this._element, EVENT_SHOW, {\n relatedTarget\n })\n\n if (showEvent.defaultPrevented) {\n return\n }\n\n this._isShown = true\n this._isTransitioning = true\n\n this._scrollBar.hide()\n\n document.body.classList.add(CLASS_NAME_OPEN)\n\n this._adjustDialog()\n\n this._backdrop.show(() => this._showElement(relatedTarget))\n }\n\n hide() {\n if (!this._isShown || this._isTransitioning) {\n return\n }\n\n const hideEvent = EventHandler.trigger(this._element, EVENT_HIDE)\n\n if (hideEvent.defaultPrevented) {\n return\n }\n\n this._isShown = false\n this._isTransitioning = true\n this._focustrap.deactivate()\n\n this._element.classList.remove(CLASS_NAME_SHOW)\n\n this._queueCallback(() => this._hideModal(), this._element, this._isAnimated())\n }\n\n dispose() {\n EventHandler.off(window, EVENT_KEY)\n EventHandler.off(this._dialog, EVENT_KEY)\n\n this._backdrop.dispose()\n this._focustrap.deactivate()\n\n super.dispose()\n }\n\n handleUpdate() {\n this._adjustDialog()\n }\n\n // Private\n _initializeBackDrop() {\n return new Backdrop({\n isVisible: Boolean(this._config.backdrop), // 'static' option will be translated to true, and booleans will keep their value,\n isAnimated: this._isAnimated()\n })\n }\n\n _initializeFocusTrap() {\n return new FocusTrap({\n trapElement: this._element\n })\n }\n\n _showElement(relatedTarget) {\n // try to append dynamic modal\n if (!document.body.contains(this._element)) {\n document.body.append(this._element)\n }\n\n this._element.style.display = 'block'\n this._element.removeAttribute('aria-hidden')\n this._element.setAttribute('aria-modal', true)\n this._element.setAttribute('role', 'dialog')\n this._element.scrollTop = 0\n\n const modalBody = SelectorEngine.findOne(SELECTOR_MODAL_BODY, this._dialog)\n if (modalBody) {\n modalBody.scrollTop = 0\n }\n\n reflow(this._element)\n\n this._element.classList.add(CLASS_NAME_SHOW)\n\n const transitionComplete = () => {\n if (this._config.focus) {\n this._focustrap.activate()\n }\n\n this._isTransitioning = false\n EventHandler.trigger(this._element, EVENT_SHOWN, {\n relatedTarget\n })\n }\n\n this._queueCallback(transitionComplete, this._dialog, this._isAnimated())\n }\n\n _addEventListeners() {\n EventHandler.on(this._element, EVENT_KEYDOWN_DISMISS, event => {\n if (event.key !== ESCAPE_KEY) {\n return\n }\n\n if (this._config.keyboard) {\n this.hide()\n return\n }\n\n this._triggerBackdropTransition()\n })\n\n EventHandler.on(window, EVENT_RESIZE, () => {\n if (this._isShown && !this._isTransitioning) {\n this._adjustDialog()\n }\n })\n\n EventHandler.on(this._element, EVENT_MOUSEDOWN_DISMISS, event => {\n // a bad trick to segregate clicks that may start inside dialog but end outside, and avoid listen to scrollbar clicks\n EventHandler.one(this._element, EVENT_CLICK_DISMISS, event2 => {\n if (this._element !== event.target || this._element !== event2.target) {\n return\n }\n\n if (this._config.backdrop === 'static') {\n this._triggerBackdropTransition()\n return\n }\n\n if (this._config.backdrop) {\n this.hide()\n }\n })\n })\n }\n\n _hideModal() {\n this._element.style.display = 'none'\n this._element.setAttribute('aria-hidden', true)\n this._element.removeAttribute('aria-modal')\n this._element.removeAttribute('role')\n this._isTransitioning = false\n\n this._backdrop.hide(() => {\n document.body.classList.remove(CLASS_NAME_OPEN)\n this._resetAdjustments()\n this._scrollBar.reset()\n EventHandler.trigger(this._element, EVENT_HIDDEN)\n })\n }\n\n _isAnimated() {\n return this._element.classList.contains(CLASS_NAME_FADE)\n }\n\n _triggerBackdropTransition() {\n const hideEvent = EventHandler.trigger(this._element, EVENT_HIDE_PREVENTED)\n if (hideEvent.defaultPrevented) {\n return\n }\n\n const isModalOverflowing = this._element.scrollHeight > document.documentElement.clientHeight\n const initialOverflowY = this._element.style.overflowY\n // return if the following background transition hasn't yet completed\n if (initialOverflowY === 'hidden' || this._element.classList.contains(CLASS_NAME_STATIC)) {\n return\n }\n\n if (!isModalOverflowing) {\n this._element.style.overflowY = 'hidden'\n }\n\n this._element.classList.add(CLASS_NAME_STATIC)\n this._queueCallback(() => {\n this._element.classList.remove(CLASS_NAME_STATIC)\n this._queueCallback(() => {\n this._element.style.overflowY = initialOverflowY\n }, this._dialog)\n }, this._dialog)\n\n this._element.focus()\n }\n\n /**\n * The following methods are used to handle overflowing modals\n */\n\n _adjustDialog() {\n const isModalOverflowing = this._element.scrollHeight > document.documentElement.clientHeight\n const scrollbarWidth = this._scrollBar.getWidth()\n const isBodyOverflowing = scrollbarWidth > 0\n\n if (isBodyOverflowing && !isModalOverflowing) {\n const property = isRTL() ? 'paddingLeft' : 'paddingRight'\n this._element.style[property] = `${scrollbarWidth}px`\n }\n\n if (!isBodyOverflowing && isModalOverflowing) {\n const property = isRTL() ? 'paddingRight' : 'paddingLeft'\n this._element.style[property] = `${scrollbarWidth}px`\n }\n }\n\n _resetAdjustments() {\n this._element.style.paddingLeft = ''\n this._element.style.paddingRight = ''\n }\n\n // Static\n static jQueryInterface(config, relatedTarget) {\n return this.each(function () {\n const data = Modal.getOrCreateInstance(this, config)\n\n if (typeof config !== 'string') {\n return\n }\n\n if (typeof data[config] === 'undefined') {\n throw new TypeError(`No method named \"${config}\"`)\n }\n\n data[config](relatedTarget)\n })\n }\n}\n\n/**\n * Data API implementation\n */\n\nEventHandler.on(document, EVENT_CLICK_DATA_API, SELECTOR_DATA_TOGGLE, function (event) {\n const target = SelectorEngine.getElementFromSelector(this)\n\n if (['A', 'AREA'].includes(this.tagName)) {\n event.preventDefault()\n }\n\n EventHandler.one(target, EVENT_SHOW, showEvent => {\n if (showEvent.defaultPrevented) {\n // only register focus restorer if modal will actually get shown\n return\n }\n\n EventHandler.one(target, EVENT_HIDDEN, () => {\n if (isVisible(this)) {\n this.focus()\n }\n })\n })\n\n // avoid conflict when clicking modal toggler while another one is open\n const alreadyOpen = SelectorEngine.findOne(OPEN_SELECTOR)\n if (alreadyOpen) {\n Modal.getInstance(alreadyOpen).hide()\n }\n\n const data = Modal.getOrCreateInstance(target)\n\n data.toggle(this)\n})\n\nenableDismissTrigger(Modal)\n\n/**\n * jQuery\n */\n\ndefineJQueryPlugin(Modal)\n\nexport default Modal\n"],"names":["NAME","DATA_KEY","EVENT_KEY","DATA_API_KEY","ESCAPE_KEY","EVENT_HIDE","EVENT_HIDE_PREVENTED","EVENT_HIDDEN","EVENT_SHOW","EVENT_SHOWN","EVENT_RESIZE","EVENT_CLICK_DISMISS","EVENT_MOUSEDOWN_DISMISS","EVENT_KEYDOWN_DISMISS","EVENT_CLICK_DATA_API","CLASS_NAME_OPEN","CLASS_NAME_FADE","CLASS_NAME_SHOW","CLASS_NAME_STATIC","OPEN_SELECTOR","SELECTOR_DIALOG","SELECTOR_MODAL_BODY","SELECTOR_DATA_TOGGLE","Default","backdrop","focus","keyboard","DefaultType","Modal","BaseComponent","constructor","element","config","_dialog","SelectorEngine","findOne","_element","_backdrop","_initializeBackDrop","_focustrap","_initializeFocusTrap","_isShown","_isTransitioning","_scrollBar","ScrollBarHelper","_addEventListeners","toggle","relatedTarget","hide","show","showEvent","EventHandler","trigger","defaultPrevented","document","body","classList","add","_adjustDialog","_showElement","hideEvent","deactivate","remove","_queueCallback","_hideModal","_isAnimated","dispose","off","window","handleUpdate","Backdrop","isVisible","Boolean","_config","isAnimated","FocusTrap","trapElement","contains","append","style","display","removeAttribute","setAttribute","scrollTop","modalBody","reflow","transitionComplete","activate","on","event","key","_triggerBackdropTransition","one","event2","target","_resetAdjustments","reset","isModalOverflowing","scrollHeight","documentElement","clientHeight","initialOverflowY","overflowY","scrollbarWidth","getWidth","isBodyOverflowing","property","isRTL","paddingLeft","paddingRight","jQueryInterface","each","data","getOrCreateInstance","TypeError","getElementFromSelector","includes","tagName","preventDefault","alreadyOpen","getInstance","enableDismissTrigger","defineJQueryPlugin"],"mappings":"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"}
1
+ {"version":3,"file":"modal.js","sources":["../src/modal.js"],"sourcesContent":["/**\n * --------------------------------------------------------------------------\n * CoreUI modal.js\n * Licensed under MIT (https://github.com/coreui/coreui/blob/main/LICENSE)\n *\n * This component is a modified version of the Bootstrap's modal.js\n * Licensed under MIT (https://github.com/twbs/bootstrap/blob/main/LICENSE)\n * --------------------------------------------------------------------------\n */\n\nimport BaseComponent from './base-component.js'\nimport EventHandler from './dom/event-handler.js'\nimport SelectorEngine from './dom/selector-engine.js'\nimport Backdrop from './util/backdrop.js'\nimport { enableDismissTrigger } from './util/component-functions.js'\nimport FocusTrap from './util/focustrap.js'\nimport {\n defineJQueryPlugin, isRTL, isVisible, reflow\n} from './util/index.js'\nimport ScrollBarHelper from './util/scrollbar.js'\n\n/**\n * Constants\n */\n\nconst NAME = 'modal'\nconst DATA_KEY = 'coreui.modal'\nconst EVENT_KEY = `.${DATA_KEY}`\nconst DATA_API_KEY = '.data-api'\nconst ESCAPE_KEY = 'Escape'\n\nconst EVENT_HIDE = `hide${EVENT_KEY}`\nconst EVENT_HIDE_PREVENTED = `hidePrevented${EVENT_KEY}`\nconst EVENT_HIDDEN = `hidden${EVENT_KEY}`\nconst EVENT_SHOW = `show${EVENT_KEY}`\nconst EVENT_SHOWN = `shown${EVENT_KEY}`\nconst EVENT_RESIZE = `resize${EVENT_KEY}`\nconst EVENT_CLICK_DISMISS = `click.dismiss${EVENT_KEY}`\nconst EVENT_MOUSEDOWN_DISMISS = `mousedown.dismiss${EVENT_KEY}`\nconst EVENT_KEYDOWN_DISMISS = `keydown.dismiss${EVENT_KEY}`\nconst EVENT_CLICK_DATA_API = `click${EVENT_KEY}${DATA_API_KEY}`\n\nconst CLASS_NAME_OPEN = 'modal-open'\nconst CLASS_NAME_FADE = 'fade'\nconst CLASS_NAME_SHOW = 'show'\nconst CLASS_NAME_STATIC = 'modal-static'\n\nconst OPEN_SELECTOR = '.modal.show'\nconst SELECTOR_DIALOG = '.modal-dialog'\nconst SELECTOR_MODAL_BODY = '.modal-body'\nconst SELECTOR_DATA_TOGGLE = '[data-coreui-toggle=\"modal\"]'\n\nconst Default = {\n backdrop: true,\n focus: true,\n keyboard: true\n}\n\nconst DefaultType = {\n backdrop: '(boolean|string)',\n focus: 'boolean',\n keyboard: 'boolean'\n}\n\n/**\n * Class definition\n */\n\nclass Modal extends BaseComponent {\n constructor(element, config) {\n super(element, config)\n\n this._dialog = SelectorEngine.findOne(SELECTOR_DIALOG, this._element)\n this._backdrop = this._initializeBackDrop()\n this._focustrap = this._initializeFocusTrap()\n this._isShown = false\n this._isTransitioning = false\n this._scrollBar = new ScrollBarHelper()\n\n this._addEventListeners()\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 toggle(relatedTarget) {\n return this._isShown ? this.hide() : this.show(relatedTarget)\n }\n\n show(relatedTarget) {\n if (this._isShown || this._isTransitioning) {\n return\n }\n\n const showEvent = EventHandler.trigger(this._element, EVENT_SHOW, {\n relatedTarget\n })\n\n if (showEvent.defaultPrevented) {\n return\n }\n\n this._isShown = true\n this._isTransitioning = true\n\n this._scrollBar.hide()\n\n document.body.classList.add(CLASS_NAME_OPEN)\n\n this._adjustDialog()\n\n this._backdrop.show(() => this._showElement(relatedTarget))\n }\n\n hide() {\n if (!this._isShown || this._isTransitioning) {\n return\n }\n\n const hideEvent = EventHandler.trigger(this._element, EVENT_HIDE)\n\n if (hideEvent.defaultPrevented) {\n return\n }\n\n this._isShown = false\n this._isTransitioning = true\n this._focustrap.deactivate()\n\n this._element.classList.remove(CLASS_NAME_SHOW)\n\n this._queueCallback(() => this._hideModal(), this._element, this._isAnimated())\n }\n\n dispose() {\n EventHandler.off(window, EVENT_KEY)\n EventHandler.off(this._dialog, EVENT_KEY)\n\n this._backdrop.dispose()\n this._focustrap.deactivate()\n\n super.dispose()\n }\n\n handleUpdate() {\n this._adjustDialog()\n }\n\n // Private\n _initializeBackDrop() {\n return new Backdrop({\n isVisible: Boolean(this._config.backdrop), // 'static' option will be translated to true, and booleans will keep their value,\n isAnimated: this._isAnimated()\n })\n }\n\n _initializeFocusTrap() {\n return new FocusTrap({\n trapElement: this._element\n })\n }\n\n _showElement(relatedTarget) {\n // try to append dynamic modal\n if (!document.body.contains(this._element)) {\n document.body.append(this._element)\n }\n\n this._element.style.display = 'block'\n this._element.removeAttribute('aria-hidden')\n this._element.setAttribute('aria-modal', true)\n this._element.setAttribute('role', 'dialog')\n this._element.scrollTop = 0\n\n const modalBody = SelectorEngine.findOne(SELECTOR_MODAL_BODY, this._dialog)\n if (modalBody) {\n modalBody.scrollTop = 0\n }\n\n reflow(this._element)\n\n this._element.classList.add(CLASS_NAME_SHOW)\n\n const transitionComplete = () => {\n if (this._config.focus) {\n this._focustrap.activate()\n }\n\n this._isTransitioning = false\n EventHandler.trigger(this._element, EVENT_SHOWN, {\n relatedTarget\n })\n }\n\n this._queueCallback(transitionComplete, this._dialog, this._isAnimated())\n }\n\n _addEventListeners() {\n EventHandler.on(this._element, EVENT_KEYDOWN_DISMISS, event => {\n if (event.key !== ESCAPE_KEY) {\n return\n }\n\n if (this._config.keyboard) {\n this.hide()\n return\n }\n\n this._triggerBackdropTransition()\n })\n\n EventHandler.on(window, EVENT_RESIZE, () => {\n if (this._isShown && !this._isTransitioning) {\n this._adjustDialog()\n }\n })\n\n EventHandler.on(this._element, EVENT_MOUSEDOWN_DISMISS, event => {\n // a bad trick to segregate clicks that may start inside dialog but end outside, and avoid listen to scrollbar clicks\n EventHandler.one(this._element, EVENT_CLICK_DISMISS, event2 => {\n if (this._element !== event.target || this._element !== event2.target) {\n return\n }\n\n if (this._config.backdrop === 'static') {\n this._triggerBackdropTransition()\n return\n }\n\n if (this._config.backdrop) {\n this.hide()\n }\n })\n })\n }\n\n _hideModal() {\n this._element.style.display = 'none'\n this._element.setAttribute('aria-hidden', true)\n this._element.removeAttribute('aria-modal')\n this._element.removeAttribute('role')\n this._isTransitioning = false\n\n this._backdrop.hide(() => {\n document.body.classList.remove(CLASS_NAME_OPEN)\n this._resetAdjustments()\n this._scrollBar.reset()\n EventHandler.trigger(this._element, EVENT_HIDDEN)\n })\n }\n\n _isAnimated() {\n return this._element.classList.contains(CLASS_NAME_FADE)\n }\n\n _triggerBackdropTransition() {\n const hideEvent = EventHandler.trigger(this._element, EVENT_HIDE_PREVENTED)\n if (hideEvent.defaultPrevented) {\n return\n }\n\n const isModalOverflowing = this._element.scrollHeight > document.documentElement.clientHeight\n const initialOverflowY = this._element.style.overflowY\n // return if the following background transition hasn't yet completed\n if (initialOverflowY === 'hidden' || this._element.classList.contains(CLASS_NAME_STATIC)) {\n return\n }\n\n if (!isModalOverflowing) {\n this._element.style.overflowY = 'hidden'\n }\n\n this._element.classList.add(CLASS_NAME_STATIC)\n this._queueCallback(() => {\n this._element.classList.remove(CLASS_NAME_STATIC)\n this._queueCallback(() => {\n this._element.style.overflowY = initialOverflowY\n }, this._dialog)\n }, this._dialog)\n\n this._element.focus()\n }\n\n /**\n * The following methods are used to handle overflowing modals\n */\n\n _adjustDialog() {\n const isModalOverflowing = this._element.scrollHeight > document.documentElement.clientHeight\n const scrollbarWidth = this._scrollBar.getWidth()\n const isBodyOverflowing = scrollbarWidth > 0\n\n if (isBodyOverflowing && !isModalOverflowing) {\n const property = isRTL() ? 'paddingLeft' : 'paddingRight'\n this._element.style[property] = `${scrollbarWidth}px`\n }\n\n if (!isBodyOverflowing && isModalOverflowing) {\n const property = isRTL() ? 'paddingRight' : 'paddingLeft'\n this._element.style[property] = `${scrollbarWidth}px`\n }\n }\n\n _resetAdjustments() {\n this._element.style.paddingLeft = ''\n this._element.style.paddingRight = ''\n }\n\n // Static\n static jQueryInterface(config, relatedTarget) {\n return this.each(function () {\n const data = Modal.getOrCreateInstance(this, config)\n\n if (typeof config !== 'string') {\n return\n }\n\n if (typeof data[config] === 'undefined') {\n throw new TypeError(`No method named \"${config}\"`)\n }\n\n data[config](relatedTarget)\n })\n }\n}\n\n/**\n * Data API implementation\n */\n\nEventHandler.on(document, EVENT_CLICK_DATA_API, SELECTOR_DATA_TOGGLE, function (event) {\n const target = SelectorEngine.getElementFromSelector(this)\n\n if (['A', 'AREA'].includes(this.tagName)) {\n event.preventDefault()\n }\n\n EventHandler.one(target, EVENT_SHOW, showEvent => {\n if (showEvent.defaultPrevented) {\n // only register focus restorer if modal will actually get shown\n return\n }\n\n EventHandler.one(target, EVENT_HIDDEN, () => {\n if (isVisible(this)) {\n this.focus()\n }\n })\n })\n\n // avoid conflict when clicking modal toggler while another one is open\n const alreadyOpen = SelectorEngine.findOne(OPEN_SELECTOR)\n if (alreadyOpen) {\n Modal.getInstance(alreadyOpen).hide()\n }\n\n const data = Modal.getOrCreateInstance(target)\n\n data.toggle(this)\n})\n\nenableDismissTrigger(Modal)\n\n/**\n * jQuery\n */\n\ndefineJQueryPlugin(Modal)\n\nexport default Modal\n"],"names":["NAME","DATA_KEY","EVENT_KEY","DATA_API_KEY","ESCAPE_KEY","EVENT_HIDE","EVENT_HIDE_PREVENTED","EVENT_HIDDEN","EVENT_SHOW","EVENT_SHOWN","EVENT_RESIZE","EVENT_CLICK_DISMISS","EVENT_MOUSEDOWN_DISMISS","EVENT_KEYDOWN_DISMISS","EVENT_CLICK_DATA_API","CLASS_NAME_OPEN","CLASS_NAME_FADE","CLASS_NAME_SHOW","CLASS_NAME_STATIC","OPEN_SELECTOR","SELECTOR_DIALOG","SELECTOR_MODAL_BODY","SELECTOR_DATA_TOGGLE","Default","backdrop","focus","keyboard","DefaultType","Modal","BaseComponent","constructor","element","config","_dialog","SelectorEngine","findOne","_element","_backdrop","_initializeBackDrop","_focustrap","_initializeFocusTrap","_isShown","_isTransitioning","_scrollBar","ScrollBarHelper","_addEventListeners","toggle","relatedTarget","hide","show","showEvent","EventHandler","trigger","defaultPrevented","document","body","classList","add","_adjustDialog","_showElement","hideEvent","deactivate","remove","_queueCallback","_hideModal","_isAnimated","dispose","off","window","handleUpdate","Backdrop","isVisible","Boolean","_config","isAnimated","FocusTrap","trapElement","contains","append","style","display","removeAttribute","setAttribute","scrollTop","modalBody","reflow","transitionComplete","activate","on","event","key","_triggerBackdropTransition","one","event2","target","_resetAdjustments","reset","isModalOverflowing","scrollHeight","documentElement","clientHeight","initialOverflowY","overflowY","scrollbarWidth","getWidth","isBodyOverflowing","property","isRTL","paddingLeft","paddingRight","jQueryInterface","each","data","getOrCreateInstance","TypeError","getElementFromSelector","includes","tagName","preventDefault","alreadyOpen","getInstance","enableDismissTrigger","defineJQueryPlugin"],"mappings":"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"}
@@ -1,5 +1,5 @@
1
1
  /*!
2
- * CoreUI navigation.js v5.3.2 (https://coreui.io)
2
+ * CoreUI navigation.js v5.4.1 (https://coreui.io)
3
3
  * Copyright 2025 The CoreUI Team (https://github.com/orgs/coreui/people)
4
4
  * Licensed under MIT (https://github.com/coreui/coreui/blob/main/LICENSE)
5
5
  */
@@ -1 +1 @@
1
- {"version":3,"file":"navigation.js","sources":["../src/navigation.js"],"sourcesContent":["/**\n * --------------------------------------------------------------------------\n * CoreUI navigation.js\n * Licensed under MIT (https://github.com/coreui/coreui/blob/main/LICENSE)\n * --------------------------------------------------------------------------\n */\n\nimport BaseComponent from './base-component.js'\nimport Data from './dom/data.js'\nimport EventHandler from './dom/event-handler.js'\nimport SelectorEngine from './dom/selector-engine.js'\nimport { defineJQueryPlugin } from './util/index.js'\n\n/**\n * ------------------------------------------------------------------------\n * Constants\n * ------------------------------------------------------------------------\n */\n\nconst NAME = 'navigation'\nconst DATA_KEY = 'coreui.navigation'\nconst EVENT_KEY = `.${DATA_KEY}`\nconst DATA_API_KEY = '.data-api'\n\nconst Default = {\n activeLinksExact: true,\n groupsAutoCollapse: true\n}\n\nconst DefaultType = {\n activeLinksExact: 'boolean',\n groupsAutoCollapse: '(string|boolean)'\n}\n\nconst CLASS_NAME_ACTIVE = 'active'\nconst CLASS_NAME_SHOW = 'show'\n\nconst CLASS_NAME_NAV_GROUP = 'nav-group'\nconst CLASS_NAME_NAV_GROUP_TOGGLE = 'nav-group-toggle'\n\nconst EVENT_CLICK_DATA_API = `click${EVENT_KEY}${DATA_API_KEY}`\nconst EVENT_LOAD_DATA_API = `load${EVENT_KEY}${DATA_API_KEY}`\n\nconst SELECTOR_NAV_GROUP = '.nav-group'\nconst SELECTOR_NAV_GROUP_ITEMS = '.nav-group-items'\nconst SELECTOR_NAV_GROUP_TOGGLE = '.nav-group-toggle'\nconst SELECTOR_NAV_LINK = '.nav-link'\nconst SELECTOR_DATA_NAVIGATION = '[data-coreui=\"navigation\"]'\n\n/**\n * ------------------------------------------------------------------------\n * Class Definition\n * ------------------------------------------------------------------------\n */\n\nclass Navigation extends BaseComponent {\n constructor(element, config) {\n super(element)\n this._config = this._getConfig(config)\n this._setActiveLink()\n this._addEventListeners()\n\n Data.set(element, DATA_KEY, this)\n }\n // Getters\n\n static get Default() {\n return Default\n }\n\n static get DATA_KEY() {\n return DATA_KEY\n }\n\n static get DefaultType() {\n return DefaultType\n }\n\n static get NAME() {\n return NAME\n }\n\n // Private\n\n _setActiveLink() {\n for (const element of Array.from(this._element.querySelectorAll(SELECTOR_NAV_LINK))) {\n if (element.classList.contains(CLASS_NAME_NAV_GROUP_TOGGLE)) {\n continue\n }\n\n let currentUrl = String(window.location)\n\n const urlHasParams = /\\?.*=/\n const urlHasQueryString = /\\?./\n const urlHasHash = /#./\n\n if (urlHasParams.test(currentUrl) || urlHasQueryString.test(currentUrl)) {\n currentUrl = currentUrl.split('?')[0]\n }\n\n if (urlHasHash.test(currentUrl)) {\n currentUrl = currentUrl.split('#')[0]\n }\n\n if (this._config.activeLinksExact && element.href === currentUrl) {\n element.classList.add(CLASS_NAME_ACTIVE)\n // eslint-disable-next-line unicorn/no-array-for-each\n Array.from(this._getParents(element, SELECTOR_NAV_GROUP)).forEach(element => {\n element.classList.add(CLASS_NAME_SHOW)\n element.setAttribute('aria-expanded', true)\n })\n }\n\n if (!this._config.activeLinksExact && currentUrl.startsWith(element.href)) {\n element.classList.add(CLASS_NAME_ACTIVE)\n // eslint-disable-next-line unicorn/no-array-for-each\n Array.from(this._getParents(element, SELECTOR_NAV_GROUP)).forEach(element => {\n element.classList.add(CLASS_NAME_SHOW)\n element.setAttribute('aria-expanded', true)\n })\n }\n }\n }\n\n _getParents(element, selector) {\n // Setup parents array\n const parents = []\n\n // Get matching parent elements\n for (; element && element !== document; element = element.parentNode) {\n // Add matching parents to array\n if (selector) {\n if (element.matches(selector)) {\n parents.push(element)\n }\n } else {\n parents.push(element)\n }\n }\n\n return parents\n }\n\n _getAllSiblings(element, filter) {\n const siblings = []\n element = element.parentNode.firstChild\n do {\n if (element.nodeType === 3) {\n continue // text node\n }\n\n if (element.nodeType === 8) {\n continue // comment node\n }\n\n if (!filter || filter(element)) {\n siblings.push(element)\n }\n\n // eslint-disable-next-line no-cond-assign\n } while (element = element.nextSibling)\n\n return siblings\n }\n\n _getChildren(n, skipMe) {\n const children = []\n for (; n; n = n.nextSibling) {\n if (n.nodeType === 1 && n !== skipMe) {\n children.push(n)\n }\n }\n\n return children\n }\n\n _getSiblings(element, filter) {\n const siblings = this._getChildren(element.parentNode.firstChild, element).filter(filter)\n return siblings\n }\n\n _slideDown(element) {\n element.style.height = 'auto'\n const height = element.clientHeight\n element.style.height = '0px'\n setTimeout(() => {\n element.style.height = `${height}px`\n }, 0)\n\n this._queueCallback(() => {\n element.style.height = 'auto'\n }, element, true)\n }\n\n _slideUp(element, callback) {\n const height = element.clientHeight\n element.style.height = `${height}px`\n setTimeout(() => {\n element.style.height = '0px'\n }, 0)\n\n this._queueCallback(() => {\n if (typeof callback === 'function') {\n callback()\n }\n }, element, true)\n }\n\n _toggleGroupItems(event) {\n let toggler = event.target\n if (!toggler.classList.contains(CLASS_NAME_NAV_GROUP_TOGGLE)) {\n toggler = toggler.closest(SELECTOR_NAV_GROUP_TOGGLE)\n }\n\n const filter = element => Boolean(element.classList.contains(CLASS_NAME_NAV_GROUP) && element.classList.contains(CLASS_NAME_SHOW))\n\n // Close other groups\n if (this._config.groupsAutoCollapse === true) {\n for (const element of this._getSiblings(toggler.parentNode, filter)) {\n this._slideUp(SelectorEngine.findOne(SELECTOR_NAV_GROUP_ITEMS, element), () => {\n element.classList.remove(CLASS_NAME_SHOW)\n element.setAttribute('aria-expanded', false)\n })\n }\n }\n\n if (toggler.parentNode.classList.contains(CLASS_NAME_SHOW)) {\n this._slideUp(SelectorEngine.findOne(SELECTOR_NAV_GROUP_ITEMS, toggler.parentNode), () => {\n toggler.parentNode.classList.remove(CLASS_NAME_SHOW)\n toggler.parentNode.setAttribute('aria-expanded', false)\n })\n return\n }\n\n toggler.parentNode.classList.add(CLASS_NAME_SHOW)\n toggler.parentNode.setAttribute('aria-expanded', true)\n this._slideDown(SelectorEngine.findOne(SELECTOR_NAV_GROUP_ITEMS, toggler.parentNode))\n }\n\n _addEventListeners() {\n EventHandler.on(this._element, EVENT_CLICK_DATA_API, SELECTOR_NAV_GROUP_TOGGLE, event => {\n event.preventDefault()\n this._toggleGroupItems(event, this)\n })\n }\n\n // Static\n\n static navigationInterface(element, config) {\n const data = Navigation.getOrCreateInstance(element, 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]()\n }\n }\n\n static jQueryInterface(config) {\n return this.each(function () {\n Navigation.navigationInterface(this, config)\n })\n }\n}\n\n/**\n * ------------------------------------------------------------------------\n * Data Api implementation\n * ------------------------------------------------------------------------\n */\nEventHandler.on(window, EVENT_LOAD_DATA_API, () => {\n for (const element of Array.from(document.querySelectorAll(SELECTOR_DATA_NAVIGATION))) {\n Navigation.navigationInterface(element)\n }\n})\n\n/**\n * ------------------------------------------------------------------------\n * jQuery\n * ------------------------------------------------------------------------\n * add .Navigation to jQuery only if jQuery is present\n */\n\ndefineJQueryPlugin(Navigation)\n\nexport default Navigation\n"],"names":["NAME","DATA_KEY","EVENT_KEY","DATA_API_KEY","Default","activeLinksExact","groupsAutoCollapse","DefaultType","CLASS_NAME_ACTIVE","CLASS_NAME_SHOW","CLASS_NAME_NAV_GROUP","CLASS_NAME_NAV_GROUP_TOGGLE","EVENT_CLICK_DATA_API","EVENT_LOAD_DATA_API","SELECTOR_NAV_GROUP","SELECTOR_NAV_GROUP_ITEMS","SELECTOR_NAV_GROUP_TOGGLE","SELECTOR_NAV_LINK","SELECTOR_DATA_NAVIGATION","Navigation","BaseComponent","constructor","element","config","_config","_getConfig","_setActiveLink","_addEventListeners","Data","set","Array","from","_element","querySelectorAll","classList","contains","currentUrl","String","window","location","urlHasParams","urlHasQueryString","urlHasHash","test","split","href","add","_getParents","forEach","setAttribute","startsWith","selector","parents","document","parentNode","matches","push","_getAllSiblings","filter","siblings","firstChild","nodeType","nextSibling","_getChildren","n","skipMe","children","_getSiblings","_slideDown","style","height","clientHeight","setTimeout","_queueCallback","_slideUp","callback","_toggleGroupItems","event","toggler","target","closest","Boolean","SelectorEngine","findOne","remove","EventHandler","on","preventDefault","navigationInterface","data","getOrCreateInstance","TypeError","jQueryInterface","each","defineJQueryPlugin"],"mappings":"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"}
1
+ {"version":3,"file":"navigation.js","sources":["../src/navigation.js"],"sourcesContent":["/**\n * --------------------------------------------------------------------------\n * CoreUI navigation.js\n * Licensed under MIT (https://github.com/coreui/coreui/blob/main/LICENSE)\n * --------------------------------------------------------------------------\n */\n\nimport BaseComponent from './base-component.js'\nimport Data from './dom/data.js'\nimport EventHandler from './dom/event-handler.js'\nimport SelectorEngine from './dom/selector-engine.js'\nimport { defineJQueryPlugin } from './util/index.js'\n\n/**\n * ------------------------------------------------------------------------\n * Constants\n * ------------------------------------------------------------------------\n */\n\nconst NAME = 'navigation'\nconst DATA_KEY = 'coreui.navigation'\nconst EVENT_KEY = `.${DATA_KEY}`\nconst DATA_API_KEY = '.data-api'\n\nconst Default = {\n activeLinksExact: true,\n groupsAutoCollapse: true\n}\n\nconst DefaultType = {\n activeLinksExact: 'boolean',\n groupsAutoCollapse: '(string|boolean)'\n}\n\nconst CLASS_NAME_ACTIVE = 'active'\nconst CLASS_NAME_SHOW = 'show'\n\nconst CLASS_NAME_NAV_GROUP = 'nav-group'\nconst CLASS_NAME_NAV_GROUP_TOGGLE = 'nav-group-toggle'\n\nconst EVENT_CLICK_DATA_API = `click${EVENT_KEY}${DATA_API_KEY}`\nconst EVENT_LOAD_DATA_API = `load${EVENT_KEY}${DATA_API_KEY}`\n\nconst SELECTOR_NAV_GROUP = '.nav-group'\nconst SELECTOR_NAV_GROUP_ITEMS = '.nav-group-items'\nconst SELECTOR_NAV_GROUP_TOGGLE = '.nav-group-toggle'\nconst SELECTOR_NAV_LINK = '.nav-link'\nconst SELECTOR_DATA_NAVIGATION = '[data-coreui=\"navigation\"]'\n\n/**\n * ------------------------------------------------------------------------\n * Class Definition\n * ------------------------------------------------------------------------\n */\n\nclass Navigation extends BaseComponent {\n constructor(element, config) {\n super(element)\n this._config = this._getConfig(config)\n this._setActiveLink()\n this._addEventListeners()\n\n Data.set(element, DATA_KEY, this)\n }\n // Getters\n\n static get Default() {\n return Default\n }\n\n static get DATA_KEY() {\n return DATA_KEY\n }\n\n static get DefaultType() {\n return DefaultType\n }\n\n static get NAME() {\n return NAME\n }\n\n // Private\n\n _setActiveLink() {\n for (const element of Array.from(this._element.querySelectorAll(SELECTOR_NAV_LINK))) {\n if (element.classList.contains(CLASS_NAME_NAV_GROUP_TOGGLE)) {\n continue\n }\n\n let currentUrl = String(window.location)\n\n const urlHasParams = /\\?.*=/\n const urlHasQueryString = /\\?./\n const urlHasHash = /#./\n\n if (urlHasParams.test(currentUrl) || urlHasQueryString.test(currentUrl)) {\n currentUrl = currentUrl.split('?')[0]\n }\n\n if (urlHasHash.test(currentUrl)) {\n currentUrl = currentUrl.split('#')[0]\n }\n\n if (this._config.activeLinksExact && element.href === currentUrl) {\n element.classList.add(CLASS_NAME_ACTIVE)\n // eslint-disable-next-line unicorn/no-array-for-each\n Array.from(this._getParents(element, SELECTOR_NAV_GROUP)).forEach(element => {\n element.classList.add(CLASS_NAME_SHOW)\n element.setAttribute('aria-expanded', true)\n })\n }\n\n if (!this._config.activeLinksExact && currentUrl.startsWith(element.href)) {\n element.classList.add(CLASS_NAME_ACTIVE)\n // eslint-disable-next-line unicorn/no-array-for-each\n Array.from(this._getParents(element, SELECTOR_NAV_GROUP)).forEach(element => {\n element.classList.add(CLASS_NAME_SHOW)\n element.setAttribute('aria-expanded', true)\n })\n }\n }\n }\n\n _getParents(element, selector) {\n // Setup parents array\n const parents = []\n\n // Get matching parent elements\n for (; element && element !== document; element = element.parentNode) {\n // Add matching parents to array\n if (selector) {\n if (element.matches(selector)) {\n parents.push(element)\n }\n } else {\n parents.push(element)\n }\n }\n\n return parents\n }\n\n _getAllSiblings(element, filter) {\n const siblings = []\n element = element.parentNode.firstChild\n do {\n if (element.nodeType === 3) {\n continue // text node\n }\n\n if (element.nodeType === 8) {\n continue // comment node\n }\n\n if (!filter || filter(element)) {\n siblings.push(element)\n }\n\n // eslint-disable-next-line no-cond-assign\n } while (element = element.nextSibling)\n\n return siblings\n }\n\n _getChildren(n, skipMe) {\n const children = []\n for (; n; n = n.nextSibling) {\n if (n.nodeType === 1 && n !== skipMe) {\n children.push(n)\n }\n }\n\n return children\n }\n\n _getSiblings(element, filter) {\n const siblings = this._getChildren(element.parentNode.firstChild, element).filter(filter)\n return siblings\n }\n\n _slideDown(element) {\n element.style.height = 'auto'\n const height = element.clientHeight\n element.style.height = '0px'\n setTimeout(() => {\n element.style.height = `${height}px`\n }, 0)\n\n this._queueCallback(() => {\n element.style.height = 'auto'\n }, element, true)\n }\n\n _slideUp(element, callback) {\n const height = element.clientHeight\n element.style.height = `${height}px`\n setTimeout(() => {\n element.style.height = '0px'\n }, 0)\n\n this._queueCallback(() => {\n if (typeof callback === 'function') {\n callback()\n }\n }, element, true)\n }\n\n _toggleGroupItems(event) {\n let toggler = event.target\n if (!toggler.classList.contains(CLASS_NAME_NAV_GROUP_TOGGLE)) {\n toggler = toggler.closest(SELECTOR_NAV_GROUP_TOGGLE)\n }\n\n const filter = element => Boolean(element.classList.contains(CLASS_NAME_NAV_GROUP) && element.classList.contains(CLASS_NAME_SHOW))\n\n // Close other groups\n if (this._config.groupsAutoCollapse === true) {\n for (const element of this._getSiblings(toggler.parentNode, filter)) {\n this._slideUp(SelectorEngine.findOne(SELECTOR_NAV_GROUP_ITEMS, element), () => {\n element.classList.remove(CLASS_NAME_SHOW)\n element.setAttribute('aria-expanded', false)\n })\n }\n }\n\n if (toggler.parentNode.classList.contains(CLASS_NAME_SHOW)) {\n this._slideUp(SelectorEngine.findOne(SELECTOR_NAV_GROUP_ITEMS, toggler.parentNode), () => {\n toggler.parentNode.classList.remove(CLASS_NAME_SHOW)\n toggler.parentNode.setAttribute('aria-expanded', false)\n })\n return\n }\n\n toggler.parentNode.classList.add(CLASS_NAME_SHOW)\n toggler.parentNode.setAttribute('aria-expanded', true)\n this._slideDown(SelectorEngine.findOne(SELECTOR_NAV_GROUP_ITEMS, toggler.parentNode))\n }\n\n _addEventListeners() {\n EventHandler.on(this._element, EVENT_CLICK_DATA_API, SELECTOR_NAV_GROUP_TOGGLE, event => {\n event.preventDefault()\n this._toggleGroupItems(event, this)\n })\n }\n\n // Static\n\n static navigationInterface(element, config) {\n const data = Navigation.getOrCreateInstance(element, 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]()\n }\n }\n\n static jQueryInterface(config) {\n return this.each(function () {\n Navigation.navigationInterface(this, config)\n })\n }\n}\n\n/**\n * ------------------------------------------------------------------------\n * Data Api implementation\n * ------------------------------------------------------------------------\n */\nEventHandler.on(window, EVENT_LOAD_DATA_API, () => {\n for (const element of Array.from(document.querySelectorAll(SELECTOR_DATA_NAVIGATION))) {\n Navigation.navigationInterface(element)\n }\n})\n\n/**\n * ------------------------------------------------------------------------\n * jQuery\n * ------------------------------------------------------------------------\n * add .Navigation to jQuery only if jQuery is present\n */\n\ndefineJQueryPlugin(Navigation)\n\nexport default Navigation\n"],"names":["NAME","DATA_KEY","EVENT_KEY","DATA_API_KEY","Default","activeLinksExact","groupsAutoCollapse","DefaultType","CLASS_NAME_ACTIVE","CLASS_NAME_SHOW","CLASS_NAME_NAV_GROUP","CLASS_NAME_NAV_GROUP_TOGGLE","EVENT_CLICK_DATA_API","EVENT_LOAD_DATA_API","SELECTOR_NAV_GROUP","SELECTOR_NAV_GROUP_ITEMS","SELECTOR_NAV_GROUP_TOGGLE","SELECTOR_NAV_LINK","SELECTOR_DATA_NAVIGATION","Navigation","BaseComponent","constructor","element","config","_config","_getConfig","_setActiveLink","_addEventListeners","Data","set","Array","from","_element","querySelectorAll","classList","contains","currentUrl","String","window","location","urlHasParams","urlHasQueryString","urlHasHash","test","split","href","add","_getParents","forEach","setAttribute","startsWith","selector","parents","document","parentNode","matches","push","_getAllSiblings","filter","siblings","firstChild","nodeType","nextSibling","_getChildren","n","skipMe","children","_getSiblings","_slideDown","style","height","clientHeight","setTimeout","_queueCallback","_slideUp","callback","_toggleGroupItems","event","toggler","target","closest","Boolean","SelectorEngine","findOne","remove","EventHandler","on","preventDefault","navigationInterface","data","getOrCreateInstance","TypeError","jQueryInterface","each","defineJQueryPlugin"],"mappings":"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"}
@@ -1,5 +1,5 @@
1
1
  /*!
2
- * CoreUI offcanvas.js v5.3.2 (https://coreui.io)
2
+ * CoreUI offcanvas.js v5.4.1 (https://coreui.io)
3
3
  * Copyright 2025 The CoreUI Team (https://github.com/orgs/coreui/people)
4
4
  * Licensed under MIT (https://github.com/coreui/coreui/blob/main/LICENSE)
5
5
  */
@@ -1 +1 @@
1
- {"version":3,"file":"offcanvas.js","sources":["../src/offcanvas.js"],"sourcesContent":["/**\n * --------------------------------------------------------------------------\n * CoreUI offcanvas.js\n * Licensed under MIT (https://github.com/coreui/coreui/blob/main/LICENSE)\n *\n * This component is a modified version of the Bootstrap's offcanvas.js\n * Licensed under MIT (https://github.com/twbs/bootstrap/blob/master/LICENSE)\n * --------------------------------------------------------------------------\n */\n\nimport BaseComponent from './base-component.js'\nimport EventHandler from './dom/event-handler.js'\nimport SelectorEngine from './dom/selector-engine.js'\nimport Backdrop from './util/backdrop.js'\nimport { enableDismissTrigger } from './util/component-functions.js'\nimport FocusTrap from './util/focustrap.js'\nimport {\n defineJQueryPlugin,\n isDisabled,\n isVisible\n} from './util/index.js'\nimport ScrollBarHelper from './util/scrollbar.js'\n\n/**\n * Constants\n */\n\nconst NAME = 'offcanvas'\nconst DATA_KEY = 'coreui.offcanvas'\nconst EVENT_KEY = `.${DATA_KEY}`\nconst DATA_API_KEY = '.data-api'\nconst EVENT_LOAD_DATA_API = `load${EVENT_KEY}${DATA_API_KEY}`\nconst ESCAPE_KEY = 'Escape'\n\nconst CLASS_NAME_SHOW = 'show'\nconst CLASS_NAME_SHOWING = 'showing'\nconst CLASS_NAME_HIDING = 'hiding'\nconst CLASS_NAME_BACKDROP = 'offcanvas-backdrop'\nconst OPEN_SELECTOR = '.offcanvas.show'\n\nconst EVENT_SHOW = `show${EVENT_KEY}`\nconst EVENT_SHOWN = `shown${EVENT_KEY}`\nconst EVENT_HIDE = `hide${EVENT_KEY}`\nconst EVENT_HIDE_PREVENTED = `hidePrevented${EVENT_KEY}`\nconst EVENT_HIDDEN = `hidden${EVENT_KEY}`\nconst EVENT_RESIZE = `resize${EVENT_KEY}`\nconst EVENT_CLICK_DATA_API = `click${EVENT_KEY}${DATA_API_KEY}`\nconst EVENT_KEYDOWN_DISMISS = `keydown.dismiss${EVENT_KEY}`\n\nconst SELECTOR_DATA_TOGGLE = '[data-coreui-toggle=\"offcanvas\"]'\n\nconst Default = {\n backdrop: true,\n keyboard: true,\n scroll: false\n}\n\nconst DefaultType = {\n backdrop: '(boolean|string)',\n keyboard: 'boolean',\n scroll: 'boolean'\n}\n\n/**\n * Class definition\n */\n\nclass Offcanvas extends BaseComponent {\n constructor(element, config) {\n super(element, config)\n\n this._isShown = false\n this._backdrop = this._initializeBackDrop()\n this._focustrap = this._initializeFocusTrap()\n this._addEventListeners()\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 toggle(relatedTarget) {\n return this._isShown ? this.hide() : this.show(relatedTarget)\n }\n\n show(relatedTarget) {\n if (this._isShown) {\n return\n }\n\n const showEvent = EventHandler.trigger(this._element, EVENT_SHOW, { relatedTarget })\n\n if (showEvent.defaultPrevented) {\n return\n }\n\n this._isShown = true\n this._backdrop.show()\n\n if (!this._config.scroll) {\n new ScrollBarHelper().hide()\n }\n\n this._element.setAttribute('aria-modal', true)\n this._element.setAttribute('role', 'dialog')\n this._element.classList.add(CLASS_NAME_SHOWING)\n\n const completeCallBack = () => {\n if (!this._config.scroll || this._config.backdrop) {\n this._focustrap.activate()\n }\n\n this._element.classList.add(CLASS_NAME_SHOW)\n this._element.classList.remove(CLASS_NAME_SHOWING)\n EventHandler.trigger(this._element, EVENT_SHOWN, { relatedTarget })\n }\n\n this._queueCallback(completeCallBack, this._element, true)\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 this._focustrap.deactivate()\n this._element.blur()\n this._isShown = false\n this._element.classList.add(CLASS_NAME_HIDING)\n this._backdrop.hide()\n\n const completeCallback = () => {\n this._element.classList.remove(CLASS_NAME_SHOW, CLASS_NAME_HIDING)\n this._element.removeAttribute('aria-modal')\n this._element.removeAttribute('role')\n\n if (!this._config.scroll) {\n new ScrollBarHelper().reset()\n }\n\n EventHandler.trigger(this._element, EVENT_HIDDEN)\n }\n\n this._queueCallback(completeCallback, this._element, true)\n }\n\n dispose() {\n this._backdrop.dispose()\n this._focustrap.deactivate()\n super.dispose()\n }\n\n // Private\n _initializeBackDrop() {\n const clickCallback = () => {\n if (this._config.backdrop === 'static') {\n EventHandler.trigger(this._element, EVENT_HIDE_PREVENTED)\n return\n }\n\n this.hide()\n }\n\n // 'static' option will be translated to true, and booleans will keep their value\n const isVisible = Boolean(this._config.backdrop)\n\n return new Backdrop({\n className: CLASS_NAME_BACKDROP,\n isVisible,\n isAnimated: true,\n rootElement: this._element.parentNode,\n clickCallback: isVisible ? clickCallback : null\n })\n }\n\n _initializeFocusTrap() {\n return new FocusTrap({\n trapElement: this._element\n })\n }\n\n _addEventListeners() {\n EventHandler.on(this._element, EVENT_KEYDOWN_DISMISS, event => {\n if (event.key !== ESCAPE_KEY) {\n return\n }\n\n if (this._config.keyboard) {\n this.hide()\n return\n }\n\n EventHandler.trigger(this._element, EVENT_HIDE_PREVENTED)\n })\n }\n\n // Static\n static jQueryInterface(config) {\n return this.each(function () {\n const data = Offcanvas.getOrCreateInstance(this, config)\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](this)\n })\n }\n}\n\n/**\n * Data API implementation\n */\n\nEventHandler.on(document, EVENT_CLICK_DATA_API, SELECTOR_DATA_TOGGLE, function (event) {\n const target = SelectorEngine.getElementFromSelector(this)\n\n if (['A', 'AREA'].includes(this.tagName)) {\n event.preventDefault()\n }\n\n if (isDisabled(this)) {\n return\n }\n\n EventHandler.one(target, EVENT_HIDDEN, () => {\n // focus on trigger when it is closed\n if (isVisible(this)) {\n this.focus()\n }\n })\n\n // avoid conflict when clicking a toggler of an offcanvas, while another is open\n const alreadyOpen = SelectorEngine.findOne(OPEN_SELECTOR)\n if (alreadyOpen && alreadyOpen !== target) {\n Offcanvas.getInstance(alreadyOpen).hide()\n }\n\n const data = Offcanvas.getOrCreateInstance(target)\n data.toggle(this)\n})\n\nEventHandler.on(window, EVENT_LOAD_DATA_API, () => {\n for (const selector of SelectorEngine.find(OPEN_SELECTOR)) {\n Offcanvas.getOrCreateInstance(selector).show()\n }\n})\n\nEventHandler.on(window, EVENT_RESIZE, () => {\n for (const element of SelectorEngine.find('[aria-modal][class*=show][class*=offcanvas-]')) {\n if (getComputedStyle(element).position !== 'fixed') {\n Offcanvas.getOrCreateInstance(element).hide()\n }\n }\n})\n\nenableDismissTrigger(Offcanvas)\n\n/**\n * jQuery\n */\n\ndefineJQueryPlugin(Offcanvas)\n\nexport default Offcanvas\n"],"names":["NAME","DATA_KEY","EVENT_KEY","DATA_API_KEY","EVENT_LOAD_DATA_API","ESCAPE_KEY","CLASS_NAME_SHOW","CLASS_NAME_SHOWING","CLASS_NAME_HIDING","CLASS_NAME_BACKDROP","OPEN_SELECTOR","EVENT_SHOW","EVENT_SHOWN","EVENT_HIDE","EVENT_HIDE_PREVENTED","EVENT_HIDDEN","EVENT_RESIZE","EVENT_CLICK_DATA_API","EVENT_KEYDOWN_DISMISS","SELECTOR_DATA_TOGGLE","Default","backdrop","keyboard","scroll","DefaultType","Offcanvas","BaseComponent","constructor","element","config","_isShown","_backdrop","_initializeBackDrop","_focustrap","_initializeFocusTrap","_addEventListeners","toggle","relatedTarget","hide","show","showEvent","EventHandler","trigger","_element","defaultPrevented","_config","ScrollBarHelper","setAttribute","classList","add","completeCallBack","activate","remove","_queueCallback","hideEvent","deactivate","blur","completeCallback","removeAttribute","reset","dispose","clickCallback","isVisible","Boolean","Backdrop","className","isAnimated","rootElement","parentNode","FocusTrap","trapElement","on","event","key","jQueryInterface","each","data","getOrCreateInstance","undefined","startsWith","TypeError","document","target","SelectorEngine","getElementFromSelector","includes","tagName","preventDefault","isDisabled","one","focus","alreadyOpen","findOne","getInstance","window","selector","find","getComputedStyle","position","enableDismissTrigger","defineJQueryPlugin"],"mappings":"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"}
1
+ {"version":3,"file":"offcanvas.js","sources":["../src/offcanvas.js"],"sourcesContent":["/**\n * --------------------------------------------------------------------------\n * CoreUI offcanvas.js\n * Licensed under MIT (https://github.com/coreui/coreui/blob/main/LICENSE)\n *\n * This component is a modified version of the Bootstrap's offcanvas.js\n * Licensed under MIT (https://github.com/twbs/bootstrap/blob/master/LICENSE)\n * --------------------------------------------------------------------------\n */\n\nimport BaseComponent from './base-component.js'\nimport EventHandler from './dom/event-handler.js'\nimport SelectorEngine from './dom/selector-engine.js'\nimport Backdrop from './util/backdrop.js'\nimport { enableDismissTrigger } from './util/component-functions.js'\nimport FocusTrap from './util/focustrap.js'\nimport {\n defineJQueryPlugin,\n isDisabled,\n isVisible\n} from './util/index.js'\nimport ScrollBarHelper from './util/scrollbar.js'\n\n/**\n * Constants\n */\n\nconst NAME = 'offcanvas'\nconst DATA_KEY = 'coreui.offcanvas'\nconst EVENT_KEY = `.${DATA_KEY}`\nconst DATA_API_KEY = '.data-api'\nconst EVENT_LOAD_DATA_API = `load${EVENT_KEY}${DATA_API_KEY}`\nconst ESCAPE_KEY = 'Escape'\n\nconst CLASS_NAME_SHOW = 'show'\nconst CLASS_NAME_SHOWING = 'showing'\nconst CLASS_NAME_HIDING = 'hiding'\nconst CLASS_NAME_BACKDROP = 'offcanvas-backdrop'\nconst OPEN_SELECTOR = '.offcanvas.show'\n\nconst EVENT_SHOW = `show${EVENT_KEY}`\nconst EVENT_SHOWN = `shown${EVENT_KEY}`\nconst EVENT_HIDE = `hide${EVENT_KEY}`\nconst EVENT_HIDE_PREVENTED = `hidePrevented${EVENT_KEY}`\nconst EVENT_HIDDEN = `hidden${EVENT_KEY}`\nconst EVENT_RESIZE = `resize${EVENT_KEY}`\nconst EVENT_CLICK_DATA_API = `click${EVENT_KEY}${DATA_API_KEY}`\nconst EVENT_KEYDOWN_DISMISS = `keydown.dismiss${EVENT_KEY}`\n\nconst SELECTOR_DATA_TOGGLE = '[data-coreui-toggle=\"offcanvas\"]'\n\nconst Default = {\n backdrop: true,\n keyboard: true,\n scroll: false\n}\n\nconst DefaultType = {\n backdrop: '(boolean|string)',\n keyboard: 'boolean',\n scroll: 'boolean'\n}\n\n/**\n * Class definition\n */\n\nclass Offcanvas extends BaseComponent {\n constructor(element, config) {\n super(element, config)\n\n this._isShown = false\n this._backdrop = this._initializeBackDrop()\n this._focustrap = this._initializeFocusTrap()\n this._addEventListeners()\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 toggle(relatedTarget) {\n return this._isShown ? this.hide() : this.show(relatedTarget)\n }\n\n show(relatedTarget) {\n if (this._isShown) {\n return\n }\n\n const showEvent = EventHandler.trigger(this._element, EVENT_SHOW, { relatedTarget })\n\n if (showEvent.defaultPrevented) {\n return\n }\n\n this._isShown = true\n this._backdrop.show()\n\n if (!this._config.scroll) {\n new ScrollBarHelper().hide()\n }\n\n this._element.setAttribute('aria-modal', true)\n this._element.setAttribute('role', 'dialog')\n this._element.classList.add(CLASS_NAME_SHOWING)\n\n const completeCallBack = () => {\n if (!this._config.scroll || this._config.backdrop) {\n this._focustrap.activate()\n }\n\n this._element.classList.add(CLASS_NAME_SHOW)\n this._element.classList.remove(CLASS_NAME_SHOWING)\n EventHandler.trigger(this._element, EVENT_SHOWN, { relatedTarget })\n }\n\n this._queueCallback(completeCallBack, this._element, true)\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 this._focustrap.deactivate()\n this._element.blur()\n this._isShown = false\n this._element.classList.add(CLASS_NAME_HIDING)\n this._backdrop.hide()\n\n const completeCallback = () => {\n this._element.classList.remove(CLASS_NAME_SHOW, CLASS_NAME_HIDING)\n this._element.removeAttribute('aria-modal')\n this._element.removeAttribute('role')\n\n if (!this._config.scroll) {\n new ScrollBarHelper().reset()\n }\n\n EventHandler.trigger(this._element, EVENT_HIDDEN)\n }\n\n this._queueCallback(completeCallback, this._element, true)\n }\n\n dispose() {\n this._backdrop.dispose()\n this._focustrap.deactivate()\n super.dispose()\n }\n\n // Private\n _initializeBackDrop() {\n const clickCallback = () => {\n if (this._config.backdrop === 'static') {\n EventHandler.trigger(this._element, EVENT_HIDE_PREVENTED)\n return\n }\n\n this.hide()\n }\n\n // 'static' option will be translated to true, and booleans will keep their value\n const isVisible = Boolean(this._config.backdrop)\n\n return new Backdrop({\n className: CLASS_NAME_BACKDROP,\n isVisible,\n isAnimated: true,\n rootElement: this._element.parentNode,\n clickCallback: isVisible ? clickCallback : null\n })\n }\n\n _initializeFocusTrap() {\n return new FocusTrap({\n trapElement: this._element\n })\n }\n\n _addEventListeners() {\n EventHandler.on(this._element, EVENT_KEYDOWN_DISMISS, event => {\n if (event.key !== ESCAPE_KEY) {\n return\n }\n\n if (this._config.keyboard) {\n this.hide()\n return\n }\n\n EventHandler.trigger(this._element, EVENT_HIDE_PREVENTED)\n })\n }\n\n // Static\n static jQueryInterface(config) {\n return this.each(function () {\n const data = Offcanvas.getOrCreateInstance(this, config)\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](this)\n })\n }\n}\n\n/**\n * Data API implementation\n */\n\nEventHandler.on(document, EVENT_CLICK_DATA_API, SELECTOR_DATA_TOGGLE, function (event) {\n const target = SelectorEngine.getElementFromSelector(this)\n\n if (['A', 'AREA'].includes(this.tagName)) {\n event.preventDefault()\n }\n\n if (isDisabled(this)) {\n return\n }\n\n EventHandler.one(target, EVENT_HIDDEN, () => {\n // focus on trigger when it is closed\n if (isVisible(this)) {\n this.focus()\n }\n })\n\n // avoid conflict when clicking a toggler of an offcanvas, while another is open\n const alreadyOpen = SelectorEngine.findOne(OPEN_SELECTOR)\n if (alreadyOpen && alreadyOpen !== target) {\n Offcanvas.getInstance(alreadyOpen).hide()\n }\n\n const data = Offcanvas.getOrCreateInstance(target)\n data.toggle(this)\n})\n\nEventHandler.on(window, EVENT_LOAD_DATA_API, () => {\n for (const selector of SelectorEngine.find(OPEN_SELECTOR)) {\n Offcanvas.getOrCreateInstance(selector).show()\n }\n})\n\nEventHandler.on(window, EVENT_RESIZE, () => {\n for (const element of SelectorEngine.find('[aria-modal][class*=show][class*=offcanvas-]')) {\n if (getComputedStyle(element).position !== 'fixed') {\n Offcanvas.getOrCreateInstance(element).hide()\n }\n }\n})\n\nenableDismissTrigger(Offcanvas)\n\n/**\n * jQuery\n */\n\ndefineJQueryPlugin(Offcanvas)\n\nexport default Offcanvas\n"],"names":["NAME","DATA_KEY","EVENT_KEY","DATA_API_KEY","EVENT_LOAD_DATA_API","ESCAPE_KEY","CLASS_NAME_SHOW","CLASS_NAME_SHOWING","CLASS_NAME_HIDING","CLASS_NAME_BACKDROP","OPEN_SELECTOR","EVENT_SHOW","EVENT_SHOWN","EVENT_HIDE","EVENT_HIDE_PREVENTED","EVENT_HIDDEN","EVENT_RESIZE","EVENT_CLICK_DATA_API","EVENT_KEYDOWN_DISMISS","SELECTOR_DATA_TOGGLE","Default","backdrop","keyboard","scroll","DefaultType","Offcanvas","BaseComponent","constructor","element","config","_isShown","_backdrop","_initializeBackDrop","_focustrap","_initializeFocusTrap","_addEventListeners","toggle","relatedTarget","hide","show","showEvent","EventHandler","trigger","_element","defaultPrevented","_config","ScrollBarHelper","setAttribute","classList","add","completeCallBack","activate","remove","_queueCallback","hideEvent","deactivate","blur","completeCallback","removeAttribute","reset","dispose","clickCallback","isVisible","Boolean","Backdrop","className","isAnimated","rootElement","parentNode","FocusTrap","trapElement","on","event","key","jQueryInterface","each","data","getOrCreateInstance","undefined","startsWith","TypeError","document","target","SelectorEngine","getElementFromSelector","includes","tagName","preventDefault","isDisabled","one","focus","alreadyOpen","findOne","getInstance","window","selector","find","getComputedStyle","position","enableDismissTrigger","defineJQueryPlugin"],"mappings":";;;;;;;;;;;EAAA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;;;EAeA;EACA;EACA;;EAEA,MAAMA,IAAI,GAAG,WAAW;EACxB,MAAMC,QAAQ,GAAG,kBAAkB;EACnC,MAAMC,SAAS,GAAG,CAAA,CAAA,EAAID,QAAQ,CAAA,CAAE;EAChC,MAAME,YAAY,GAAG,WAAW;EAChC,MAAMC,mBAAmB,GAAG,CAAA,IAAA,EAAOF,SAAS,CAAA,EAAGC,YAAY,CAAA,CAAE;EAC7D,MAAME,UAAU,GAAG,QAAQ;EAE3B,MAAMC,eAAe,GAAG,MAAM;EAC9B,MAAMC,kBAAkB,GAAG,SAAS;EACpC,MAAMC,iBAAiB,GAAG,QAAQ;EAClC,MAAMC,mBAAmB,GAAG,oBAAoB;EAChD,MAAMC,aAAa,GAAG,iBAAiB;EAEvC,MAAMC,UAAU,GAAG,CAAA,IAAA,EAAOT,SAAS,CAAA,CAAE;EACrC,MAAMU,WAAW,GAAG,CAAA,KAAA,EAAQV,SAAS,CAAA,CAAE;EACvC,MAAMW,UAAU,GAAG,CAAA,IAAA,EAAOX,SAAS,CAAA,CAAE;EACrC,MAAMY,oBAAoB,GAAG,CAAA,aAAA,EAAgBZ,SAAS,CAAA,CAAE;EACxD,MAAMa,YAAY,GAAG,CAAA,MAAA,EAASb,SAAS,CAAA,CAAE;EACzC,MAAMc,YAAY,GAAG,CAAA,MAAA,EAASd,SAAS,CAAA,CAAE;EACzC,MAAMe,oBAAoB,GAAG,CAAA,KAAA,EAAQf,SAAS,CAAA,EAAGC,YAAY,CAAA,CAAE;EAC/D,MAAMe,qBAAqB,GAAG,CAAA,eAAA,EAAkBhB,SAAS,CAAA,CAAE;EAE3D,MAAMiB,oBAAoB,GAAG,kCAAkC;EAE/D,MAAMC,OAAO,GAAG;EACdC,EAAAA,QAAQ,EAAE,IAAI;EACdC,EAAAA,QAAQ,EAAE,IAAI;EACdC,EAAAA,MAAM,EAAE;EACV,CAAC;EAED,MAAMC,WAAW,GAAG;EAClBH,EAAAA,QAAQ,EAAE,kBAAkB;EAC5BC,EAAAA,QAAQ,EAAE,SAAS;EACnBC,EAAAA,MAAM,EAAE;EACV,CAAC;;EAED;EACA;EACA;;EAEA,MAAME,SAAS,SAASC,aAAa,CAAC;EACpCC,EAAAA,WAAWA,CAACC,OAAO,EAAEC,MAAM,EAAE;EAC3B,IAAA,KAAK,CAACD,OAAO,EAAEC,MAAM,CAAC;MAEtB,IAAI,CAACC,QAAQ,GAAG,KAAK;EACrB,IAAA,IAAI,CAACC,SAAS,GAAG,IAAI,CAACC,mBAAmB,EAAE;EAC3C,IAAA,IAAI,CAACC,UAAU,GAAG,IAAI,CAACC,oBAAoB,EAAE;MAC7C,IAAI,CAACC,kBAAkB,EAAE;EAC3B;;EAEA;IACA,WAAWf,OAAOA,GAAG;EACnB,IAAA,OAAOA,OAAO;EAChB;IAEA,WAAWI,WAAWA,GAAG;EACvB,IAAA,OAAOA,WAAW;EACpB;IAEA,WAAWxB,IAAIA,GAAG;EAChB,IAAA,OAAOA,IAAI;EACb;;EAEA;IACAoC,MAAMA,CAACC,aAAa,EAAE;EACpB,IAAA,OAAO,IAAI,CAACP,QAAQ,GAAG,IAAI,CAACQ,IAAI,EAAE,GAAG,IAAI,CAACC,IAAI,CAACF,aAAa,CAAC;EAC/D;IAEAE,IAAIA,CAACF,aAAa,EAAE;MAClB,IAAI,IAAI,CAACP,QAAQ,EAAE;EACjB,MAAA;EACF;MAEA,MAAMU,SAAS,GAAGC,YAAY,CAACC,OAAO,CAAC,IAAI,CAACC,QAAQ,EAAEhC,UAAU,EAAE;EAAE0B,MAAAA;EAAc,KAAC,CAAC;MAEpF,IAAIG,SAAS,CAACI,gBAAgB,EAAE;EAC9B,MAAA;EACF;MAEA,IAAI,CAACd,QAAQ,GAAG,IAAI;EACpB,IAAA,IAAI,CAACC,SAAS,CAACQ,IAAI,EAAE;EAErB,IAAA,IAAI,CAAC,IAAI,CAACM,OAAO,CAACtB,MAAM,EAAE;EACxB,MAAA,IAAIuB,eAAe,EAAE,CAACR,IAAI,EAAE;EAC9B;MAEA,IAAI,CAACK,QAAQ,CAACI,YAAY,CAAC,YAAY,EAAE,IAAI,CAAC;MAC9C,IAAI,CAACJ,QAAQ,CAACI,YAAY,CAAC,MAAM,EAAE,QAAQ,CAAC;MAC5C,IAAI,CAACJ,QAAQ,CAACK,SAAS,CAACC,GAAG,CAAC1C,kBAAkB,CAAC;MAE/C,MAAM2C,gBAAgB,GAAGA,MAAM;EAC7B,MAAA,IAAI,CAAC,IAAI,CAACL,OAAO,CAACtB,MAAM,IAAI,IAAI,CAACsB,OAAO,CAACxB,QAAQ,EAAE;EACjD,QAAA,IAAI,CAACY,UAAU,CAACkB,QAAQ,EAAE;EAC5B;QAEA,IAAI,CAACR,QAAQ,CAACK,SAAS,CAACC,GAAG,CAAC3C,eAAe,CAAC;QAC5C,IAAI,CAACqC,QAAQ,CAACK,SAAS,CAACI,MAAM,CAAC7C,kBAAkB,CAAC;QAClDkC,YAAY,CAACC,OAAO,CAAC,IAAI,CAACC,QAAQ,EAAE/B,WAAW,EAAE;EAAEyB,QAAAA;EAAc,OAAC,CAAC;OACpE;MAED,IAAI,CAACgB,cAAc,CAACH,gBAAgB,EAAE,IAAI,CAACP,QAAQ,EAAE,IAAI,CAAC;EAC5D;EAEAL,EAAAA,IAAIA,GAAG;EACL,IAAA,IAAI,CAAC,IAAI,CAACR,QAAQ,EAAE;EAClB,MAAA;EACF;MAEA,MAAMwB,SAAS,GAAGb,YAAY,CAACC,OAAO,CAAC,IAAI,CAACC,QAAQ,EAAE9B,UAAU,CAAC;MAEjE,IAAIyC,SAAS,CAACV,gBAAgB,EAAE;EAC9B,MAAA;EACF;EAEA,IAAA,IAAI,CAACX,UAAU,CAACsB,UAAU,EAAE;EAC5B,IAAA,IAAI,CAACZ,QAAQ,CAACa,IAAI,EAAE;MACpB,IAAI,CAAC1B,QAAQ,GAAG,KAAK;MACrB,IAAI,CAACa,QAAQ,CAACK,SAAS,CAACC,GAAG,CAACzC,iBAAiB,CAAC;EAC9C,IAAA,IAAI,CAACuB,SAAS,CAACO,IAAI,EAAE;MAErB,MAAMmB,gBAAgB,GAAGA,MAAM;QAC7B,IAAI,CAACd,QAAQ,CAACK,SAAS,CAACI,MAAM,CAAC9C,eAAe,EAAEE,iBAAiB,CAAC;EAClE,MAAA,IAAI,CAACmC,QAAQ,CAACe,eAAe,CAAC,YAAY,CAAC;EAC3C,MAAA,IAAI,CAACf,QAAQ,CAACe,eAAe,CAAC,MAAM,CAAC;EAErC,MAAA,IAAI,CAAC,IAAI,CAACb,OAAO,CAACtB,MAAM,EAAE;EACxB,QAAA,IAAIuB,eAAe,EAAE,CAACa,KAAK,EAAE;EAC/B;QAEAlB,YAAY,CAACC,OAAO,CAAC,IAAI,CAACC,QAAQ,EAAE5B,YAAY,CAAC;OAClD;MAED,IAAI,CAACsC,cAAc,CAACI,gBAAgB,EAAE,IAAI,CAACd,QAAQ,EAAE,IAAI,CAAC;EAC5D;EAEAiB,EAAAA,OAAOA,GAAG;EACR,IAAA,IAAI,CAAC7B,SAAS,CAAC6B,OAAO,EAAE;EACxB,IAAA,IAAI,CAAC3B,UAAU,CAACsB,UAAU,EAAE;MAC5B,KAAK,CAACK,OAAO,EAAE;EACjB;;EAEA;EACA5B,EAAAA,mBAAmBA,GAAG;MACpB,MAAM6B,aAAa,GAAGA,MAAM;EAC1B,MAAA,IAAI,IAAI,CAAChB,OAAO,CAACxB,QAAQ,KAAK,QAAQ,EAAE;UACtCoB,YAAY,CAACC,OAAO,CAAC,IAAI,CAACC,QAAQ,EAAE7B,oBAAoB,CAAC;EACzD,QAAA;EACF;QAEA,IAAI,CAACwB,IAAI,EAAE;OACZ;;EAED;MACA,MAAMwB,SAAS,GAAGC,OAAO,CAAC,IAAI,CAAClB,OAAO,CAACxB,QAAQ,CAAC;MAEhD,OAAO,IAAI2C,QAAQ,CAAC;EAClBC,MAAAA,SAAS,EAAExD,mBAAmB;QAC9BqD,SAAS;EACTI,MAAAA,UAAU,EAAE,IAAI;EAChBC,MAAAA,WAAW,EAAE,IAAI,CAACxB,QAAQ,CAACyB,UAAU;EACrCP,MAAAA,aAAa,EAAEC,SAAS,GAAGD,aAAa,GAAG;EAC7C,KAAC,CAAC;EACJ;EAEA3B,EAAAA,oBAAoBA,GAAG;MACrB,OAAO,IAAImC,SAAS,CAAC;QACnBC,WAAW,EAAE,IAAI,CAAC3B;EACpB,KAAC,CAAC;EACJ;EAEAR,EAAAA,kBAAkBA,GAAG;MACnBM,YAAY,CAAC8B,EAAE,CAAC,IAAI,CAAC5B,QAAQ,EAAEzB,qBAAqB,EAAEsD,KAAK,IAAI;EAC7D,MAAA,IAAIA,KAAK,CAACC,GAAG,KAAKpE,UAAU,EAAE;EAC5B,QAAA;EACF;EAEA,MAAA,IAAI,IAAI,CAACwC,OAAO,CAACvB,QAAQ,EAAE;UACzB,IAAI,CAACgB,IAAI,EAAE;EACX,QAAA;EACF;QAEAG,YAAY,CAACC,OAAO,CAAC,IAAI,CAACC,QAAQ,EAAE7B,oBAAoB,CAAC;EAC3D,KAAC,CAAC;EACJ;;EAEA;IACA,OAAO4D,eAAeA,CAAC7C,MAAM,EAAE;EAC7B,IAAA,OAAO,IAAI,CAAC8C,IAAI,CAAC,YAAY;QAC3B,MAAMC,IAAI,GAAGnD,SAAS,CAACoD,mBAAmB,CAAC,IAAI,EAAEhD,MAAM,CAAC;EAExD,MAAA,IAAI,OAAOA,MAAM,KAAK,QAAQ,EAAE;EAC9B,QAAA;EACF;EAEA,MAAA,IAAI+C,IAAI,CAAC/C,MAAM,CAAC,KAAKiD,SAAS,IAAIjD,MAAM,CAACkD,UAAU,CAAC,GAAG,CAAC,IAAIlD,MAAM,KAAK,aAAa,EAAE;EACpF,QAAA,MAAM,IAAImD,SAAS,CAAC,CAAA,iBAAA,EAAoBnD,MAAM,GAAG,CAAC;EACpD;EAEA+C,MAAAA,IAAI,CAAC/C,MAAM,CAAC,CAAC,IAAI,CAAC;EACpB,KAAC,CAAC;EACJ;EACF;;EAEA;EACA;EACA;;EAEAY,YAAY,CAAC8B,EAAE,CAACU,QAAQ,EAAEhE,oBAAoB,EAAEE,oBAAoB,EAAE,UAAUqD,KAAK,EAAE;EACrF,EAAA,MAAMU,MAAM,GAAGC,cAAc,CAACC,sBAAsB,CAAC,IAAI,CAAC;EAE1D,EAAA,IAAI,CAAC,GAAG,EAAE,MAAM,CAAC,CAACC,QAAQ,CAAC,IAAI,CAACC,OAAO,CAAC,EAAE;MACxCd,KAAK,CAACe,cAAc,EAAE;EACxB;EAEA,EAAA,IAAIC,mBAAU,CAAC,IAAI,CAAC,EAAE;EACpB,IAAA;EACF;EAEA/C,EAAAA,YAAY,CAACgD,GAAG,CAACP,MAAM,EAAEnE,YAAY,EAAE,MAAM;EAC3C;EACA,IAAA,IAAI+C,kBAAS,CAAC,IAAI,CAAC,EAAE;QACnB,IAAI,CAAC4B,KAAK,EAAE;EACd;EACF,GAAC,CAAC;;EAEF;EACA,EAAA,MAAMC,WAAW,GAAGR,cAAc,CAACS,OAAO,CAAClF,aAAa,CAAC;EACzD,EAAA,IAAIiF,WAAW,IAAIA,WAAW,KAAKT,MAAM,EAAE;MACzCzD,SAAS,CAACoE,WAAW,CAACF,WAAW,CAAC,CAACrD,IAAI,EAAE;EAC3C;EAEA,EAAA,MAAMsC,IAAI,GAAGnD,SAAS,CAACoD,mBAAmB,CAACK,MAAM,CAAC;EAClDN,EAAAA,IAAI,CAACxC,MAAM,CAAC,IAAI,CAAC;EACnB,CAAC,CAAC;EAEFK,YAAY,CAAC8B,EAAE,CAACuB,MAAM,EAAE1F,mBAAmB,EAAE,MAAM;IACjD,KAAK,MAAM2F,QAAQ,IAAIZ,cAAc,CAACa,IAAI,CAACtF,aAAa,CAAC,EAAE;MACzDe,SAAS,CAACoD,mBAAmB,CAACkB,QAAQ,CAAC,CAACxD,IAAI,EAAE;EAChD;EACF,CAAC,CAAC;EAEFE,YAAY,CAAC8B,EAAE,CAACuB,MAAM,EAAE9E,YAAY,EAAE,MAAM;IAC1C,KAAK,MAAMY,OAAO,IAAIuD,cAAc,CAACa,IAAI,CAAC,8CAA8C,CAAC,EAAE;MACzF,IAAIC,gBAAgB,CAACrE,OAAO,CAAC,CAACsE,QAAQ,KAAK,OAAO,EAAE;QAClDzE,SAAS,CAACoD,mBAAmB,CAACjD,OAAO,CAAC,CAACU,IAAI,EAAE;EAC/C;EACF;EACF,CAAC,CAAC;AAEF6D,4CAAoB,CAAC1E,SAAS,CAAC;;EAE/B;EACA;EACA;;AAEA2E,6BAAkB,CAAC3E,SAAS,CAAC;;;;;;;;"}
@@ -1,5 +1,5 @@
1
1
  /*!
2
- * CoreUI popover.js v5.3.2 (https://coreui.io)
2
+ * CoreUI popover.js v5.4.1 (https://coreui.io)
3
3
  * Copyright 2025 The CoreUI Team (https://github.com/orgs/coreui/people)
4
4
  * Licensed under MIT (https://github.com/coreui/coreui/blob/main/LICENSE)
5
5
  */
@@ -1 +1 @@
1
- {"version":3,"file":"popover.js","sources":["../src/popover.js"],"sourcesContent":["/**\n * --------------------------------------------------------------------------\n * CoreUI popover.js\n * Licensed under MIT (https://github.com/coreui/coreui/blob/main/LICENSE)\n *\n * This component is a modified version of the Bootstrap's popover.js\n * Licensed under MIT (https://github.com/twbs/bootstrap/blob/main/LICENSE)\n * --------------------------------------------------------------------------\n */\n\nimport Tooltip from './tooltip.js'\nimport { defineJQueryPlugin } from './util/index.js'\n\n/**\n * Constants\n */\n\nconst NAME = 'popover'\n\nconst SELECTOR_TITLE = '.popover-header'\nconst SELECTOR_CONTENT = '.popover-body'\n\nconst Default = {\n ...Tooltip.Default,\n content: '',\n offset: [0, 8],\n placement: 'right',\n template: '<div class=\"popover\" role=\"tooltip\">' +\n '<div class=\"popover-arrow\"></div>' +\n '<h3 class=\"popover-header\"></h3>' +\n '<div class=\"popover-body\"></div>' +\n '</div>',\n trigger: 'click'\n}\n\nconst DefaultType = {\n ...Tooltip.DefaultType,\n content: '(null|string|element|function)'\n}\n\n/**\n * Class definition\n */\n\nclass Popover extends Tooltip {\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 // Overrides\n _isWithContent() {\n return this._getTitle() || this._getContent()\n }\n\n // Private\n _getContentForTemplate() {\n return {\n [SELECTOR_TITLE]: this._getTitle(),\n [SELECTOR_CONTENT]: this._getContent()\n }\n }\n\n _getContent() {\n return this._resolvePossibleFunction(this._config.content)\n }\n\n // Static\n static jQueryInterface(config) {\n return this.each(function () {\n const data = Popover.getOrCreateInstance(this, config)\n\n if (typeof config !== 'string') {\n return\n }\n\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 * jQuery\n */\n\ndefineJQueryPlugin(Popover)\n\nexport default Popover\n"],"names":["NAME","SELECTOR_TITLE","SELECTOR_CONTENT","Default","Tooltip","content","offset","placement","template","trigger","DefaultType","Popover","_isWithContent","_getTitle","_getContent","_getContentForTemplate","_resolvePossibleFunction","_config","jQueryInterface","config","each","data","getOrCreateInstance","TypeError","defineJQueryPlugin"],"mappings":";;;;;;;;;;;EAAA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;;;EAKA;EACA;EACA;;EAEA,MAAMA,IAAI,GAAG,SAAS;EAEtB,MAAMC,cAAc,GAAG,iBAAiB;EACxC,MAAMC,gBAAgB,GAAG,eAAe;EAExC,MAAMC,OAAO,GAAG;IACd,GAAGC,OAAO,CAACD,OAAO;EAClBE,EAAAA,OAAO,EAAE,EAAE;EACXC,EAAAA,MAAM,EAAE,CAAC,CAAC,EAAE,CAAC,CAAC;EACdC,EAAAA,SAAS,EAAE,OAAO;IAClBC,QAAQ,EAAE,sCAAsC,GAC9C,mCAAmC,GACnC,kCAAkC,GAClC,kCAAkC,GAClC,QAAQ;EACVC,EAAAA,OAAO,EAAE;EACX,CAAC;EAED,MAAMC,WAAW,GAAG;IAClB,GAAGN,OAAO,CAACM,WAAW;EACtBL,EAAAA,OAAO,EAAE;EACX,CAAC;;EAED;EACA;EACA;;EAEA,MAAMM,OAAO,SAASP,OAAO,CAAC;EAC5B;IACA,WAAWD,OAAOA,GAAG;EACnB,IAAA,OAAOA,OAAO;EAChB;IAEA,WAAWO,WAAWA,GAAG;EACvB,IAAA,OAAOA,WAAW;EACpB;IAEA,WAAWV,IAAIA,GAAG;EAChB,IAAA,OAAOA,IAAI;EACb;;EAEA;EACAY,EAAAA,cAAcA,GAAG;MACf,OAAO,IAAI,CAACC,SAAS,EAAE,IAAI,IAAI,CAACC,WAAW,EAAE;EAC/C;;EAEA;EACAC,EAAAA,sBAAsBA,GAAG;MACvB,OAAO;EACL,MAAA,CAACd,cAAc,GAAG,IAAI,CAACY,SAAS,EAAE;EAClC,MAAA,CAACX,gBAAgB,GAAG,IAAI,CAACY,WAAW;OACrC;EACH;EAEAA,EAAAA,WAAWA,GAAG;MACZ,OAAO,IAAI,CAACE,wBAAwB,CAAC,IAAI,CAACC,OAAO,CAACZ,OAAO,CAAC;EAC5D;;EAEA;IACA,OAAOa,eAAeA,CAACC,MAAM,EAAE;EAC7B,IAAA,OAAO,IAAI,CAACC,IAAI,CAAC,YAAY;QAC3B,MAAMC,IAAI,GAAGV,OAAO,CAACW,mBAAmB,CAAC,IAAI,EAAEH,MAAM,CAAC;EAEtD,MAAA,IAAI,OAAOA,MAAM,KAAK,QAAQ,EAAE;EAC9B,QAAA;EACF;EAEA,MAAA,IAAI,OAAOE,IAAI,CAACF,MAAM,CAAC,KAAK,WAAW,EAAE;EACvC,QAAA,MAAM,IAAII,SAAS,CAAC,CAAoBJ,iBAAAA,EAAAA,MAAM,GAAG,CAAC;EACpD;EAEAE,MAAAA,IAAI,CAACF,MAAM,CAAC,EAAE;EAChB,KAAC,CAAC;EACJ;EACF;;EAEA;EACA;EACA;;AAEAK,6BAAkB,CAACb,OAAO,CAAC;;;;;;;;"}
1
+ {"version":3,"file":"popover.js","sources":["../src/popover.js"],"sourcesContent":["/**\n * --------------------------------------------------------------------------\n * CoreUI popover.js\n * Licensed under MIT (https://github.com/coreui/coreui/blob/main/LICENSE)\n *\n * This component is a modified version of the Bootstrap's popover.js\n * Licensed under MIT (https://github.com/twbs/bootstrap/blob/main/LICENSE)\n * --------------------------------------------------------------------------\n */\n\nimport Tooltip from './tooltip.js'\nimport { defineJQueryPlugin } from './util/index.js'\n\n/**\n * Constants\n */\n\nconst NAME = 'popover'\n\nconst SELECTOR_TITLE = '.popover-header'\nconst SELECTOR_CONTENT = '.popover-body'\n\nconst Default = {\n ...Tooltip.Default,\n content: '',\n offset: [0, 8],\n placement: 'right',\n template: '<div class=\"popover\" role=\"tooltip\">' +\n '<div class=\"popover-arrow\"></div>' +\n '<h3 class=\"popover-header\"></h3>' +\n '<div class=\"popover-body\"></div>' +\n '</div>',\n trigger: 'click'\n}\n\nconst DefaultType = {\n ...Tooltip.DefaultType,\n content: '(null|string|element|function)'\n}\n\n/**\n * Class definition\n */\n\nclass Popover extends Tooltip {\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 // Overrides\n _isWithContent() {\n return this._getTitle() || this._getContent()\n }\n\n // Private\n _getContentForTemplate() {\n return {\n [SELECTOR_TITLE]: this._getTitle(),\n [SELECTOR_CONTENT]: this._getContent()\n }\n }\n\n _getContent() {\n return this._resolvePossibleFunction(this._config.content)\n }\n\n // Static\n static jQueryInterface(config) {\n return this.each(function () {\n const data = Popover.getOrCreateInstance(this, config)\n\n if (typeof config !== 'string') {\n return\n }\n\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 * jQuery\n */\n\ndefineJQueryPlugin(Popover)\n\nexport default Popover\n"],"names":["NAME","SELECTOR_TITLE","SELECTOR_CONTENT","Default","Tooltip","content","offset","placement","template","trigger","DefaultType","Popover","_isWithContent","_getTitle","_getContent","_getContentForTemplate","_resolvePossibleFunction","_config","jQueryInterface","config","each","data","getOrCreateInstance","TypeError","defineJQueryPlugin"],"mappings":";;;;;;;;;;;EAAA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;;;EAKA;EACA;EACA;;EAEA,MAAMA,IAAI,GAAG,SAAS;EAEtB,MAAMC,cAAc,GAAG,iBAAiB;EACxC,MAAMC,gBAAgB,GAAG,eAAe;EAExC,MAAMC,OAAO,GAAG;IACd,GAAGC,OAAO,CAACD,OAAO;EAClBE,EAAAA,OAAO,EAAE,EAAE;EACXC,EAAAA,MAAM,EAAE,CAAC,CAAC,EAAE,CAAC,CAAC;EACdC,EAAAA,SAAS,EAAE,OAAO;IAClBC,QAAQ,EAAE,sCAAsC,GAC9C,mCAAmC,GACnC,kCAAkC,GAClC,kCAAkC,GAClC,QAAQ;EACVC,EAAAA,OAAO,EAAE;EACX,CAAC;EAED,MAAMC,WAAW,GAAG;IAClB,GAAGN,OAAO,CAACM,WAAW;EACtBL,EAAAA,OAAO,EAAE;EACX,CAAC;;EAED;EACA;EACA;;EAEA,MAAMM,OAAO,SAASP,OAAO,CAAC;EAC5B;IACA,WAAWD,OAAOA,GAAG;EACnB,IAAA,OAAOA,OAAO;EAChB;IAEA,WAAWO,WAAWA,GAAG;EACvB,IAAA,OAAOA,WAAW;EACpB;IAEA,WAAWV,IAAIA,GAAG;EAChB,IAAA,OAAOA,IAAI;EACb;;EAEA;EACAY,EAAAA,cAAcA,GAAG;MACf,OAAO,IAAI,CAACC,SAAS,EAAE,IAAI,IAAI,CAACC,WAAW,EAAE;EAC/C;;EAEA;EACAC,EAAAA,sBAAsBA,GAAG;MACvB,OAAO;EACL,MAAA,CAACd,cAAc,GAAG,IAAI,CAACY,SAAS,EAAE;EAClC,MAAA,CAACX,gBAAgB,GAAG,IAAI,CAACY,WAAW;OACrC;EACH;EAEAA,EAAAA,WAAWA,GAAG;MACZ,OAAO,IAAI,CAACE,wBAAwB,CAAC,IAAI,CAACC,OAAO,CAACZ,OAAO,CAAC;EAC5D;;EAEA;IACA,OAAOa,eAAeA,CAACC,MAAM,EAAE;EAC7B,IAAA,OAAO,IAAI,CAACC,IAAI,CAAC,YAAY;QAC3B,MAAMC,IAAI,GAAGV,OAAO,CAACW,mBAAmB,CAAC,IAAI,EAAEH,MAAM,CAAC;EAEtD,MAAA,IAAI,OAAOA,MAAM,KAAK,QAAQ,EAAE;EAC9B,QAAA;EACF;EAEA,MAAA,IAAI,OAAOE,IAAI,CAACF,MAAM,CAAC,KAAK,WAAW,EAAE;EACvC,QAAA,MAAM,IAAII,SAAS,CAAC,CAAA,iBAAA,EAAoBJ,MAAM,GAAG,CAAC;EACpD;EAEAE,MAAAA,IAAI,CAACF,MAAM,CAAC,EAAE;EAChB,KAAC,CAAC;EACJ;EACF;;EAEA;EACA;EACA;;AAEAK,6BAAkB,CAACb,OAAO,CAAC;;;;;;;;"}
@@ -1,5 +1,5 @@
1
1
  /*!
2
- * CoreUI scrollspy.js v5.3.2 (https://coreui.io)
2
+ * CoreUI scrollspy.js v5.4.1 (https://coreui.io)
3
3
  * Copyright 2025 The CoreUI Team (https://github.com/orgs/coreui/people)
4
4
  * Licensed under MIT (https://github.com/coreui/coreui/blob/main/LICENSE)
5
5
  */